about summary refs log tree commit diff
path: root/nixpkgs
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs')
-rw-r--r--nixpkgs/.github/CODEOWNERS5
-rw-r--r--nixpkgs/.github/ISSUE_TEMPLATE/bug_report.md19
-rw-r--r--nixpkgs/.github/PULL_REQUEST_TEMPLATE.md13
-rw-r--r--nixpkgs/.github/labeler.yml1
-rw-r--r--nixpkgs/.github/workflows/backport.yml4
-rw-r--r--nixpkgs/.github/workflows/manual-nixos.yml2
-rw-r--r--nixpkgs/.github/workflows/manual-nixpkgs.yml2
-rw-r--r--nixpkgs/.github/workflows/periodic-merge-24h.yml2
-rw-r--r--nixpkgs/.github/workflows/periodic-merge-6h.yml2
-rw-r--r--nixpkgs/CONTRIBUTING.md2
-rw-r--r--nixpkgs/README.md3
-rw-r--r--nixpkgs/doc/builders/packages/emacs.section.md2
-rw-r--r--nixpkgs/doc/builders/packages/firefox.section.md7
-rw-r--r--nixpkgs/doc/contributing/coding-conventions.chapter.md53
-rw-r--r--nixpkgs/doc/functions/library/attrsets.xml2
-rw-r--r--nixpkgs/doc/languages-frameworks/beam.section.md153
-rw-r--r--nixpkgs/doc/languages-frameworks/coq.section.md1
-rw-r--r--nixpkgs/doc/languages-frameworks/go.section.md26
-rw-r--r--nixpkgs/doc/languages-frameworks/index.xml2
-rw-r--r--nixpkgs/doc/languages-frameworks/javascript.section.md256
-rw-r--r--nixpkgs/doc/languages-frameworks/lua.section.md8
-rw-r--r--nixpkgs/doc/languages-frameworks/node.section.md51
-rw-r--r--nixpkgs/doc/languages-frameworks/perl.section.md2
-rw-r--r--nixpkgs/doc/languages-frameworks/python.section.md30
-rw-r--r--nixpkgs/doc/languages-frameworks/rust.section.md12
-rw-r--r--nixpkgs/doc/languages-frameworks/vim.section.md2
-rw-r--r--nixpkgs/doc/stdenv/meta.chapter.md29
-rw-r--r--nixpkgs/doc/stdenv/stdenv.chapter.md2
-rw-r--r--nixpkgs/lib/attrsets.nix21
-rw-r--r--nixpkgs/lib/default.nix4
-rw-r--r--nixpkgs/lib/deprecated.nix10
-rw-r--r--nixpkgs/lib/fixed-points.nix10
-rw-r--r--nixpkgs/lib/flake.nix2
-rw-r--r--nixpkgs/lib/generators.nix2
-rw-r--r--nixpkgs/lib/licenses.nix302
-rw-r--r--nixpkgs/lib/modules.nix1
-rw-r--r--nixpkgs/lib/options.nix3
-rw-r--r--nixpkgs/lib/strings.nix2
-rw-r--r--nixpkgs/lib/systems/doubles.nix17
-rw-r--r--nixpkgs/lib/systems/examples.nix8
-rw-r--r--nixpkgs/lib/systems/inspect.nix3
-rw-r--r--nixpkgs/lib/systems/parse.nix11
-rw-r--r--nixpkgs/lib/systems/platforms.nix8
-rw-r--r--nixpkgs/lib/tests/maintainers.nix4
-rw-r--r--nixpkgs/lib/tests/misc.nix10
-rw-r--r--nixpkgs/lib/tests/release.nix2
-rw-r--r--nixpkgs/lib/tests/systems.nix4
-rw-r--r--nixpkgs/lib/trivial.nix7
-rw-r--r--nixpkgs/lib/types.nix7
-rw-r--r--nixpkgs/maintainers/maintainer-list.nix296
-rwxr-xr-xnixpkgs/maintainers/scripts/haskell/mark-broken.sh7
-rwxr-xr-xnixpkgs/maintainers/scripts/haskell/upload-nixos-package-list-to-hackage.sh21
-rw-r--r--nixpkgs/maintainers/scripts/luarocks-packages.csv173
-rw-r--r--nixpkgs/maintainers/scripts/pluginupdate.py189
-rwxr-xr-xnixpkgs/maintainers/scripts/update-luarocks-packages332
-rw-r--r--nixpkgs/maintainers/scripts/update-luarocks-shell.nix7
-rwxr-xr-xnixpkgs/maintainers/scripts/update-ruby-packages5
-rw-r--r--nixpkgs/maintainers/team-list.nix23
-rw-r--r--nixpkgs/nixos/doc/manual/default.nix2
-rw-r--r--nixpkgs/nixos/doc/manual/development/building-nixos.chapter.md40
-rw-r--r--nixpkgs/nixos/doc/manual/development/linking-nixos-tests-to-packages.section.md6
-rw-r--r--nixpkgs/nixos/doc/manual/development/nixos-tests.xml1
-rw-r--r--nixpkgs/nixos/doc/manual/development/running-nixos-tests-interactively.section.md13
-rw-r--r--nixpkgs/nixos/doc/manual/from_md/development/building-nixos.chapter.xml85
-rw-r--r--nixpkgs/nixos/doc/manual/from_md/development/linking-nixos-tests-to-packages.section.xml10
-rw-r--r--nixpkgs/nixos/doc/manual/from_md/development/running-nixos-tests-interactively.section.xml15
-rw-r--r--nixpkgs/nixos/doc/manual/from_md/release-notes/rl-2105.section.xml2
-rw-r--r--nixpkgs/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml508
-rw-r--r--nixpkgs/nixos/doc/manual/installation/installing.xml47
-rw-r--r--nixpkgs/nixos/doc/manual/release-notes/rl-2105.section.md2
-rw-r--r--nixpkgs/nixos/doc/manual/release-notes/rl-2111.section.md169
-rw-r--r--nixpkgs/nixos/lib/make-zfs-image.nix333
-rwxr-xr-x[-rw-r--r--]nixpkgs/nixos/lib/test-driver/test-driver.py152
-rw-r--r--nixpkgs/nixos/lib/testing-python.nix44
-rw-r--r--nixpkgs/nixos/lib/utils.nix2
-rw-r--r--nixpkgs/nixos/maintainers/scripts/ec2/amazon-image-zfs.nix12
-rw-r--r--nixpkgs/nixos/maintainers/scripts/ec2/amazon-image.nix119
-rw-r--r--nixpkgs/nixos/modules/config/fonts/fontconfig.nix18
-rw-r--r--nixpkgs/nixos/modules/config/fonts/fonts.nix70
-rw-r--r--nixpkgs/nixos/modules/config/ldap.nix2
-rw-r--r--nixpkgs/nixos/modules/config/networking.nix2
-rw-r--r--nixpkgs/nixos/modules/config/nsswitch.nix4
-rw-r--r--nixpkgs/nixos/modules/config/swap.nix11
-rw-r--r--nixpkgs/nixos/modules/config/system-environment.nix70
-rw-r--r--nixpkgs/nixos/modules/config/users-groups.nix15
-rw-r--r--nixpkgs/nixos/modules/hardware/all-firmware.nix15
-rw-r--r--nixpkgs/nixos/modules/hardware/onlykey.udev4
-rw-r--r--nixpkgs/nixos/modules/hardware/onlykey/default.nix (renamed from nixpkgs/nixos/modules/hardware/onlykey.nix)0
-rw-r--r--nixpkgs/nixos/modules/hardware/onlykey/onlykey.udev18
-rw-r--r--nixpkgs/nixos/modules/hardware/openrazer.nix23
-rw-r--r--nixpkgs/nixos/modules/hardware/sensor/iio.nix2
-rw-r--r--nixpkgs/nixos/modules/hardware/video/hidpi.nix1
-rw-r--r--nixpkgs/nixos/modules/hardware/video/nvidia.nix26
-rw-r--r--nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-base.nix5
-rw-r--r--nixpkgs/nixos/modules/installer/cd-dvd/iso-image.nix94
-rw-r--r--nixpkgs/nixos/modules/installer/netboot/netboot.nix8
-rw-r--r--nixpkgs/nixos/modules/installer/tools/nix-fallback-paths.nix10
-rw-r--r--nixpkgs/nixos/modules/misc/crashdump.nix2
-rw-r--r--nixpkgs/nixos/modules/misc/documentation.nix3
-rw-r--r--nixpkgs/nixos/modules/misc/ids.nix9
-rw-r--r--nixpkgs/nixos/modules/misc/nixpkgs.nix2
-rw-r--r--nixpkgs/nixos/modules/misc/version.nix5
-rw-r--r--nixpkgs/nixos/modules/module-list.nix29
-rw-r--r--nixpkgs/nixos/modules/profiles/headless.nix2
-rw-r--r--nixpkgs/nixos/modules/profiles/installation-device.nix6
-rw-r--r--nixpkgs/nixos/modules/programs/calls.nix25
-rw-r--r--nixpkgs/nixos/modules/programs/captive-browser.nix14
-rw-r--r--nixpkgs/nixos/modules/programs/neovim.nix13
-rw-r--r--nixpkgs/nixos/modules/programs/ssh.nix2
-rw-r--r--nixpkgs/nixos/modules/programs/udevil.nix3
-rw-r--r--nixpkgs/nixos/modules/programs/zsh/zsh.nix5
-rw-r--r--nixpkgs/nixos/modules/security/acme.nix54
-rw-r--r--nixpkgs/nixos/modules/security/apparmor/includes.nix2
-rw-r--r--nixpkgs/nixos/modules/security/pam.nix14
-rw-r--r--nixpkgs/nixos/modules/security/polkit.nix2
-rw-r--r--nixpkgs/nixos/modules/services/admin/meshcentral.nix53
-rw-r--r--nixpkgs/nixos/modules/services/amqp/rabbitmq.nix40
-rw-r--r--nixpkgs/nixos/modules/services/audio/hqplayerd.nix142
-rw-r--r--nixpkgs/nixos/modules/services/audio/navidrome.nix71
-rw-r--r--nixpkgs/nixos/modules/services/audio/networkaudiod.nix19
-rw-r--r--nixpkgs/nixos/modules/services/audio/roon-bridge.nix14
-rw-r--r--nixpkgs/nixos/modules/services/audio/roon-server.nix14
-rw-r--r--nixpkgs/nixos/modules/services/backup/borgbackup.nix2
-rw-r--r--nixpkgs/nixos/modules/services/backup/postgresql-backup.nix45
-rw-r--r--nixpkgs/nixos/modules/services/backup/sanoid.nix221
-rw-r--r--nixpkgs/nixos/modules/services/backup/syncoid.nix524
-rw-r--r--nixpkgs/nixos/modules/services/backup/znapzend.nix2
-rw-r--r--nixpkgs/nixos/modules/services/blockchain/ethereum/geth.nix4
-rw-r--r--nixpkgs/nixos/modules/services/cluster/kubernetes/addon-manager.nix3
-rw-r--r--nixpkgs/nixos/modules/services/cluster/kubernetes/addons/dns.nix54
-rw-r--r--nixpkgs/nixos/modules/services/cluster/kubernetes/apiserver.nix11
-rw-r--r--nixpkgs/nixos/modules/services/cluster/kubernetes/controller-manager.nix3
-rw-r--r--nixpkgs/nixos/modules/services/cluster/kubernetes/flannel.nix4
-rw-r--r--nixpkgs/nixos/modules/services/cluster/kubernetes/kubelet.nix3
-rw-r--r--nixpkgs/nixos/modules/services/cluster/kubernetes/pki.nix2
-rw-r--r--nixpkgs/nixos/modules/services/cluster/kubernetes/proxy.nix3
-rw-r--r--nixpkgs/nixos/modules/services/cluster/kubernetes/scheduler.nix3
-rw-r--r--nixpkgs/nixos/modules/services/continuous-integration/github-runner.nix12
-rw-r--r--nixpkgs/nixos/modules/services/continuous-integration/gitlab-runner.nix8
-rw-r--r--nixpkgs/nixos/modules/services/continuous-integration/jenkins/default.nix2
-rw-r--r--nixpkgs/nixos/modules/services/databases/influxdb2.nix53
-rw-r--r--nixpkgs/nixos/modules/services/databases/postgresql.nix3
-rw-r--r--nixpkgs/nixos/modules/services/databases/redis.nix2
-rw-r--r--nixpkgs/nixos/modules/services/databases/victoriametrics.nix8
-rw-r--r--nixpkgs/nixos/modules/services/desktops/bamf.nix4
-rw-r--r--nixpkgs/nixos/modules/services/desktops/geoclue2.nix4
-rw-r--r--nixpkgs/nixos/modules/services/desktops/pipewire/bluez-hardware.conf.json46
-rw-r--r--nixpkgs/nixos/modules/services/desktops/pipewire/jack.conf.json12
-rw-r--r--nixpkgs/nixos/modules/services/desktops/pipewire/media-session.conf.json1
-rw-r--r--nixpkgs/nixos/modules/services/desktops/pipewire/pipewire-pulse.conf.json1
-rw-r--r--nixpkgs/nixos/modules/services/desktops/pipewire/pipewire.nix2
-rw-r--r--nixpkgs/nixos/modules/services/desktops/tumbler.nix4
-rw-r--r--nixpkgs/nixos/modules/services/desktops/zeitgeist.nix4
-rw-r--r--nixpkgs/nixos/modules/services/development/distccd.nix155
-rw-r--r--nixpkgs/nixos/modules/services/development/hoogle.nix2
-rw-r--r--nixpkgs/nixos/modules/services/hardware/sane.nix27
-rw-r--r--nixpkgs/nixos/modules/services/mail/dovecot.nix5
-rw-r--r--nixpkgs/nixos/modules/services/mail/nullmailer.nix2
-rw-r--r--nixpkgs/nixos/modules/services/mail/postfix.nix4
-rw-r--r--nixpkgs/nixos/modules/services/mail/postfixadmin.nix199
-rw-r--r--nixpkgs/nixos/modules/services/mail/rspamd.nix5
-rw-r--r--nixpkgs/nixos/modules/services/misc/airsonic.nix23
-rw-r--r--nixpkgs/nixos/modules/services/misc/gitea.nix14
-rw-r--r--nixpkgs/nixos/modules/services/misc/gitlab.nix6
-rw-r--r--nixpkgs/nixos/modules/services/misc/home-assistant.nix3
-rw-r--r--nixpkgs/nixos/modules/services/misc/klipper.nix11
-rw-r--r--nixpkgs/nixos/modules/services/misc/libreddit.nix66
-rw-r--r--nixpkgs/nixos/modules/services/misc/matrix-appservice-irc.nix2
-rw-r--r--nixpkgs/nixos/modules/services/misc/matrix-synapse.nix5
-rw-r--r--nixpkgs/nixos/modules/services/misc/mautrix-telegram.nix2
-rw-r--r--nixpkgs/nixos/modules/services/misc/moonraker.nix135
-rw-r--r--nixpkgs/nixos/modules/services/misc/mx-puppet-discord.nix120
-rw-r--r--nixpkgs/nixos/modules/services/misc/nitter.nix351
-rw-r--r--nixpkgs/nixos/modules/services/misc/nix-daemon.nix2
-rw-r--r--nixpkgs/nixos/modules/services/misc/nzbget.nix54
-rw-r--r--nixpkgs/nixos/modules/services/misc/octoprint.nix3
-rw-r--r--nixpkgs/nixos/modules/services/misc/paperless-ng.nix308
-rw-r--r--nixpkgs/nixos/modules/services/misc/paperless.nix183
-rw-r--r--nixpkgs/nixos/modules/services/misc/sourcehut/builds.nix4
-rw-r--r--nixpkgs/nixos/modules/services/misc/uhub.nix238
-rw-r--r--nixpkgs/nixos/modules/services/monitoring/grafana.nix4
-rw-r--r--nixpkgs/nixos/modules/services/monitoring/nagios.nix4
-rw-r--r--nixpkgs/nixos/modules/services/monitoring/prometheus/default.nix4
-rw-r--r--nixpkgs/nixos/modules/services/monitoring/prometheus/exporters.nix1
-rw-r--r--nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/influxdb.nix34
-rw-r--r--nixpkgs/nixos/modules/services/monitoring/thanos.nix2
-rw-r--r--nixpkgs/nixos/modules/services/network-filesystems/ipfs.nix114
-rw-r--r--nixpkgs/nixos/modules/services/network-filesystems/litestream/default.nix100
-rw-r--r--nixpkgs/nixos/modules/services/network-filesystems/litestream/litestream.xml65
-rw-r--r--nixpkgs/nixos/modules/services/networking/autossh.nix2
-rw-r--r--nixpkgs/nixos/modules/services/networking/avahi-daemon.nix4
-rw-r--r--nixpkgs/nixos/modules/services/networking/bird.nix4
-rw-r--r--nixpkgs/nixos/modules/services/networking/cjdns.nix2
-rw-r--r--nixpkgs/nixos/modules/services/networking/connman.nix1
-rw-r--r--nixpkgs/nixos/modules/services/networking/epmd.nix19
-rw-r--r--nixpkgs/nixos/modules/services/networking/firewall.nix4
-rw-r--r--nixpkgs/nixos/modules/services/networking/i2pd.nix4
-rw-r--r--nixpkgs/nixos/modules/services/networking/iwd.nix32
-rw-r--r--nixpkgs/nixos/modules/services/networking/kea.nix16
-rw-r--r--nixpkgs/nixos/modules/services/networking/mullvad-vpn.nix6
-rw-r--r--nixpkgs/nixos/modules/services/networking/nats.nix159
-rw-r--r--nixpkgs/nixos/modules/services/networking/networkmanager.nix13
-rw-r--r--nixpkgs/nixos/modules/services/networking/nftables.nix1
-rw-r--r--nixpkgs/nixos/modules/services/networking/ntp/chrony.nix31
-rw-r--r--nixpkgs/nixos/modules/services/networking/nylon.nix2
-rw-r--r--nixpkgs/nixos/modules/services/networking/quicktun.nix2
-rw-r--r--nixpkgs/nixos/modules/services/networking/shout.nix2
-rw-r--r--nixpkgs/nixos/modules/services/networking/soju.nix113
-rw-r--r--nixpkgs/nixos/modules/services/networking/ssh/sshd.nix12
-rw-r--r--nixpkgs/nixos/modules/services/networking/syncplay.nix2
-rw-r--r--nixpkgs/nixos/modules/services/networking/syncthing.nix656
-rw-r--r--nixpkgs/nixos/modules/services/networking/tinc.nix7
-rw-r--r--nixpkgs/nixos/modules/services/networking/unifi.nix35
-rw-r--r--nixpkgs/nixos/modules/services/networking/v2ray.nix4
-rw-r--r--nixpkgs/nixos/modules/services/networking/wakeonlan.nix16
-rw-r--r--nixpkgs/nixos/modules/services/networking/wpa_supplicant.nix296
-rw-r--r--nixpkgs/nixos/modules/services/networking/zeronet.nix4
-rw-r--r--nixpkgs/nixos/modules/services/search/elasticsearch.nix20
-rw-r--r--nixpkgs/nixos/modules/services/system/uptimed.nix10
-rw-r--r--nixpkgs/nixos/modules/services/torrent/deluge.nix9
-rw-r--r--nixpkgs/nixos/modules/services/video/replay-sorcery.nix70
-rw-r--r--nixpkgs/nixos/modules/services/wayland/cage.nix2
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/discourse.nix1
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/discourse.xml13
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/fluidd.nix64
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/isso.nix69
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/keycloak.nix4
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/miniflux.nix23
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/moodle.nix2
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/nextcloud.nix3
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/nextcloud.xml124
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/node-red.nix148
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/tt-rss.nix181
-rw-r--r--nixpkgs/nixos/modules/services/web-servers/apache-httpd/default.nix13
-rw-r--r--nixpkgs/nixos/modules/services/web-servers/apache-httpd/vhost-options.nix21
-rw-r--r--nixpkgs/nixos/modules/services/web-servers/caddy/default.nix (renamed from nixpkgs/nixos/modules/services/web-servers/caddy.nix)93
-rw-r--r--nixpkgs/nixos/modules/services/web-servers/caddy/vhost-options.nix28
-rw-r--r--nixpkgs/nixos/modules/services/web-servers/minio.nix10
-rw-r--r--nixpkgs/nixos/modules/services/web-servers/nginx/default.nix43
-rw-r--r--nixpkgs/nixos/modules/services/web-servers/nginx/vhost-options.nix19
-rw-r--r--nixpkgs/nixos/modules/services/x11/desktop-managers/gnome.nix7
-rw-r--r--nixpkgs/nixos/modules/services/x11/desktop-managers/plasma5.nix3
-rw-r--r--nixpkgs/nixos/modules/services/x11/display-managers/account-service-util.nix2
-rw-r--r--nixpkgs/nixos/modules/services/x11/display-managers/default.nix1
-rw-r--r--nixpkgs/nixos/modules/services/x11/display-managers/gdm.nix7
-rw-r--r--nixpkgs/nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix4
-rw-r--r--nixpkgs/nixos/modules/services/x11/display-managers/lightdm.nix6
-rw-r--r--nixpkgs/nixos/modules/services/x11/display-managers/sddm.nix2
-rwxr-xr-xnixpkgs/nixos/modules/services/x11/display-managers/set-session.py3
-rw-r--r--nixpkgs/nixos/modules/services/x11/display-managers/sx.nix37
-rw-r--r--nixpkgs/nixos/modules/services/x11/window-managers/awesome.nix2
-rw-r--r--nixpkgs/nixos/modules/services/x11/window-managers/clfswm.nix16
-rw-r--r--nixpkgs/nixos/modules/services/x11/window-managers/default.nix1
-rw-r--r--nixpkgs/nixos/modules/services/x11/window-managers/mlvwm.nix41
-rw-r--r--nixpkgs/nixos/modules/services/x11/window-managers/qtile.nix2
-rw-r--r--nixpkgs/nixos/modules/services/x11/xserver.nix9
-rw-r--r--nixpkgs/nixos/modules/system/activation/switch-to-configuration.pl10
-rw-r--r--nixpkgs/nixos/modules/system/activation/top-level.nix2
-rw-r--r--nixpkgs/nixos/modules/system/boot/binfmt.nix4
-rw-r--r--nixpkgs/nixos/modules/system/boot/kexec.nix6
-rw-r--r--nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix4
-rw-r--r--nixpkgs/nixos/modules/system/boot/loader/grub/install-grub.pl31
-rw-r--r--nixpkgs/nixos/modules/system/boot/resolved.nix3
-rw-r--r--nixpkgs/nixos/modules/system/boot/stage-1-init.sh2
-rw-r--r--nixpkgs/nixos/modules/system/boot/stage-1.nix2
-rw-r--r--nixpkgs/nixos/modules/system/boot/systemd.nix14
-rw-r--r--nixpkgs/nixos/modules/system/etc/etc.nix73
-rw-r--r--nixpkgs/nixos/modules/system/etc/make-etc.sh45
-rw-r--r--nixpkgs/nixos/modules/tasks/encrypted-devices.nix2
-rw-r--r--nixpkgs/nixos/modules/tasks/filesystems.nix29
-rw-r--r--nixpkgs/nixos/modules/tasks/filesystems/exfat.nix8
-rw-r--r--nixpkgs/nixos/modules/tasks/filesystems/zfs.nix100
-rw-r--r--nixpkgs/nixos/modules/tasks/network-interfaces-systemd.nix3
-rw-r--r--nixpkgs/nixos/modules/tasks/network-interfaces.nix12
-rw-r--r--nixpkgs/nixos/modules/virtualisation/amazon-image.nix36
-rw-r--r--nixpkgs/nixos/modules/virtualisation/amazon-options.nix54
-rw-r--r--nixpkgs/nixos/modules/virtualisation/containerd.nix1
-rw-r--r--nixpkgs/nixos/modules/virtualisation/google-compute-image.nix11
-rw-r--r--nixpkgs/nixos/modules/virtualisation/podman.nix2
-rw-r--r--nixpkgs/nixos/modules/virtualisation/virtualbox-image.nix8
-rw-r--r--nixpkgs/nixos/release.nix14
-rw-r--r--nixpkgs/nixos/tests/acme.nix8
-rw-r--r--nixpkgs/nixos/tests/all-tests.nix27
-rw-r--r--nixpkgs/nixos/tests/bazarr.nix2
-rw-r--r--nixpkgs/nixos/tests/caddy.nix90
-rw-r--r--nixpkgs/nixos/tests/chromium.nix19
-rw-r--r--nixpkgs/nixos/tests/cntr.nix63
-rw-r--r--nixpkgs/nixos/tests/common/ec2.nix1
-rw-r--r--nixpkgs/nixos/tests/cryptpad.nix18
-rw-r--r--nixpkgs/nixos/tests/deluge.nix35
-rw-r--r--nixpkgs/nixos/tests/discourse.nix4
-rw-r--r--nixpkgs/nixos/tests/doas.nix7
-rw-r--r--nixpkgs/nixos/tests/firefox.nix9
-rw-r--r--nixpkgs/nixos/tests/fluidd.nix21
-rw-r--r--nixpkgs/nixos/tests/gitlab.nix15
-rw-r--r--nixpkgs/nixos/tests/graylog.nix2
-rw-r--r--nixpkgs/nixos/tests/grocy.nix2
-rw-r--r--nixpkgs/nixos/tests/hardened.nix28
-rw-r--r--nixpkgs/nixos/tests/hockeypuck.nix2
-rw-r--r--nixpkgs/nixos/tests/isso.nix30
-rw-r--r--nixpkgs/nixos/tests/kafka.nix5
-rw-r--r--nixpkgs/nixos/tests/kbd-update-search-paths-patch.nix19
-rw-r--r--nixpkgs/nixos/tests/kernel-generic.nix40
-rw-r--r--nixpkgs/nixos/tests/kubernetes/default.nix18
-rw-r--r--nixpkgs/nixos/tests/libreddit.nix19
-rw-r--r--nixpkgs/nixos/tests/litestream.nix93
-rw-r--r--nixpkgs/nixos/tests/matrix-synapse.nix105
-rw-r--r--nixpkgs/nixos/tests/mod_perl.nix53
-rw-r--r--nixpkgs/nixos/tests/mpv.nix28
-rw-r--r--nixpkgs/nixos/tests/nats.nix65
-rw-r--r--nixpkgs/nixos/tests/navidrome.nix12
-rw-r--r--nixpkgs/nixos/tests/networking.nix18
-rw-r--r--nixpkgs/nixos/tests/nextcloud/basic.nix1
-rw-r--r--nixpkgs/nixos/tests/nexus.nix2
-rw-r--r--nixpkgs/nixos/tests/nitter.nix18
-rw-r--r--nixpkgs/nixos/tests/node-red.nix31
-rw-r--r--nixpkgs/nixos/tests/nsd.nix1
-rw-r--r--nixpkgs/nixos/tests/nzbget.nix18
-rw-r--r--nixpkgs/nixos/tests/paperless-ng.nix46
-rw-r--r--nixpkgs/nixos/tests/paperless.nix36
-rw-r--r--nixpkgs/nixos/tests/pleroma.nix5
-rw-r--r--nixpkgs/nixos/tests/postfixadmin.nix31
-rw-r--r--nixpkgs/nixos/tests/postgresql.nix37
-rw-r--r--nixpkgs/nixos/tests/prometheus-exporters.nix21
-rw-r--r--nixpkgs/nixos/tests/rabbitmq.nix8
-rw-r--r--nixpkgs/nixos/tests/sanoid.nix17
-rw-r--r--nixpkgs/nixos/tests/shattered-pixel-dungeon.nix1
-rw-r--r--nixpkgs/nixos/tests/signal-desktop.nix26
-rw-r--r--nixpkgs/nixos/tests/slurm.nix2
-rw-r--r--nixpkgs/nixos/tests/soapui.nix24
-rw-r--r--nixpkgs/nixos/tests/syncthing-init.nix16
-rw-r--r--nixpkgs/nixos/tests/syncthing.nix4
-rw-r--r--nixpkgs/nixos/tests/traefik.nix2
-rw-r--r--nixpkgs/nixos/tests/turbovnc-headless-server.nix1
-rw-r--r--nixpkgs/nixos/tests/tuxguitar.nix24
-rw-r--r--nixpkgs/nixos/tests/unbound.nix2
-rw-r--r--nixpkgs/nixos/tests/wireguard/wg-quick.nix2
-rw-r--r--nixpkgs/nixos/tests/xautolock.nix2
-rw-r--r--nixpkgs/nixos/tests/xmpp/prosody.nix4
-rw-r--r--nixpkgs/nixos/tests/xss-lock.nix2
-rw-r--r--nixpkgs/nixos/tests/yabar.nix2
-rw-r--r--nixpkgs/pkgs/applications/accessibility/svkbd/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/axoloti/libusb1.nix13
-rw-r--r--nixpkgs/pkgs/applications/audio/bambootracker/default.nix34
-rw-r--r--nixpkgs/pkgs/applications/audio/boops/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/carla/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/cozy/default.nix (renamed from nixpkgs/pkgs/applications/audio/cozy-audiobooks/default.nix)15
-rw-r--r--nixpkgs/pkgs/applications/audio/cyanrip/default.nix34
-rw-r--r--nixpkgs/pkgs/applications/audio/deadbeef/plugins/statusnotifier.nix39
-rw-r--r--nixpkgs/pkgs/applications/audio/dfasma/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/audio/drumkv1/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/easyeffects/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/faustPhysicalModeling/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/fmit/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/audio/friture/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/audio/friture/factorial.patch13
-rw-r--r--nixpkgs/pkgs/applications/audio/friture/unlock_constraints.patch36
-rw-r--r--nixpkgs/pkgs/applications/audio/gpodder/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/audio/helvum/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/audio/hqplayer-desktop/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/iannix/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/audio/kid3/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/mimms/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/mixxx/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/audio/mopidy/iris.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/mopidy/mopidy.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/mopidy/spotify.nix16
-rw-r--r--nixpkgs/pkgs/applications/audio/mpdevil/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/mpg123/default.nix46
-rw-r--r--nixpkgs/pkgs/applications/audio/musescore/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/audio/mympd/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/ncspot/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/audio/praat/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/pt2-clone/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/ptcollab/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/radiotray-ng/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/rosegarden/default.nix36
-rw-r--r--nixpkgs/pkgs/applications/audio/scream/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/sidplayfp/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/songrec/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/audio/soundtracker/default.nix36
-rw-r--r--nixpkgs/pkgs/applications/audio/spectmorph/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/audio/spotify-qt/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/spotify-tui/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/audio/sublime-music/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/tageditor/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/audio/tagutil/default.nix40
-rw-r--r--nixpkgs/pkgs/applications/audio/vocal/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/audio/x42-plugins/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/zita-njbridge/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/zynaddsubfx/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/backup/vorta/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/blockchains/bisq-desktop/default.nix69
-rwxr-xr-xnixpkgs/pkgs/applications/blockchains/bisq-desktop/update.sh22
-rw-r--r--nixpkgs/pkgs/applications/blockchains/bitcoin-abc/default.nix (renamed from nixpkgs/pkgs/applications/blockchains/bitcoin-abc.nix)52
-rw-r--r--nixpkgs/pkgs/applications/blockchains/bitcoin-abc/fix-bitcoin-qt-build.patch (renamed from nixpkgs/pkgs/applications/blockchains/fix-bitcoin-qt-build.patch)0
-rw-r--r--nixpkgs/pkgs/applications/blockchains/bitcoin-classic/default.nix (renamed from nixpkgs/pkgs/applications/blockchains/bitcoin-classic.nix)50
-rw-r--r--nixpkgs/pkgs/applications/blockchains/bitcoin-gold/default.nix (renamed from nixpkgs/pkgs/applications/blockchains/bitcoin-gold.nix)0
-rw-r--r--nixpkgs/pkgs/applications/blockchains/bitcoin-knots/default.nix (renamed from nixpkgs/pkgs/applications/blockchains/bitcoin-knots.nix)0
-rw-r--r--nixpkgs/pkgs/applications/blockchains/bitcoin-unlimited/default.nix (renamed from nixpkgs/pkgs/applications/blockchains/bitcoin-unlimited.nix)4
-rw-r--r--nixpkgs/pkgs/applications/blockchains/bitcoin/default.nix (renamed from nixpkgs/pkgs/applications/blockchains/bitcoin.nix)2
-rw-r--r--nixpkgs/pkgs/applications/blockchains/btcpayserver/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/blockchains/btcpayserver/deps.nix76
-rw-r--r--nixpkgs/pkgs/applications/blockchains/charge-lnd/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/blockchains/chia-plotter/default.nix65
-rw-r--r--nixpkgs/pkgs/applications/blockchains/chia-plotter/dont_fetch_dependencies.patch50
-rw-r--r--nixpkgs/pkgs/applications/blockchains/chia/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/blockchains/clightning/default.nix (renamed from nixpkgs/pkgs/applications/blockchains/clightning.nix)4
-rw-r--r--nixpkgs/pkgs/applications/blockchains/crypto-org-wallet/default.nix (renamed from nixpkgs/pkgs/applications/blockchains/crypto-org-wallet.nix)0
-rw-r--r--nixpkgs/pkgs/applications/blockchains/cryptop/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/blockchains/dashpay/default.nix (renamed from nixpkgs/pkgs/applications/blockchains/dashpay.nix)0
-rw-r--r--nixpkgs/pkgs/applications/blockchains/dcrd/default.nix (renamed from nixpkgs/pkgs/applications/blockchains/dcrd.nix)0
-rw-r--r--nixpkgs/pkgs/applications/blockchains/dcrwallet/default.nix (renamed from nixpkgs/pkgs/applications/blockchains/dcrwallet.nix)0
-rw-r--r--nixpkgs/pkgs/applications/blockchains/dero/default.nix (renamed from nixpkgs/pkgs/applications/blockchains/dero.nix)0
-rw-r--r--nixpkgs/pkgs/applications/blockchains/digibyte/default.nix (renamed from nixpkgs/pkgs/applications/blockchains/digibyte.nix)0
-rw-r--r--nixpkgs/pkgs/applications/blockchains/dogecoin/default.nix (renamed from nixpkgs/pkgs/applications/blockchains/dogecoin.nix)0
-rw-r--r--nixpkgs/pkgs/applications/blockchains/eclair/default.nix (renamed from nixpkgs/pkgs/applications/blockchains/eclair.nix)0
-rw-r--r--nixpkgs/pkgs/applications/blockchains/electrs/default.nix (renamed from nixpkgs/pkgs/applications/blockchains/electrs.nix)0
-rw-r--r--nixpkgs/pkgs/applications/blockchains/elements/default.nix (renamed from nixpkgs/pkgs/applications/blockchains/elements.nix)0
-rw-r--r--nixpkgs/pkgs/applications/blockchains/erigon.nix34
-rw-r--r--nixpkgs/pkgs/applications/blockchains/exodus/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/blockchains/go-ethereum/default.nix (renamed from nixpkgs/pkgs/applications/blockchains/go-ethereum.nix)8
-rw-r--r--nixpkgs/pkgs/applications/blockchains/ledger-live-desktop/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/blockchains/lightning-loop/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/blockchains/litecoin/default.nix (renamed from nixpkgs/pkgs/applications/blockchains/litecoin.nix)0
-rw-r--r--nixpkgs/pkgs/applications/blockchains/lnd/default.nix (renamed from nixpkgs/pkgs/applications/blockchains/lnd.nix)0
-rw-r--r--nixpkgs/pkgs/applications/blockchains/lndconnect/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/blockchains/lndmanage/default.nix (renamed from nixpkgs/pkgs/applications/blockchains/lndmanage.nix)4
-rw-r--r--nixpkgs/pkgs/applications/blockchains/masari/default.nix (renamed from nixpkgs/pkgs/applications/blockchains/masari.nix)0
-rw-r--r--nixpkgs/pkgs/applications/blockchains/namecoin/default.nix (renamed from nixpkgs/pkgs/applications/blockchains/namecoin.nix)4
-rw-r--r--nixpkgs/pkgs/applications/blockchains/nano-wallet/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/blockchains/nbxplorer/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/blockchains/nbxplorer/deps.nix16
-rw-r--r--nixpkgs/pkgs/applications/blockchains/openethereum/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/blockchains/particl-core/default.nix (renamed from nixpkgs/pkgs/applications/blockchains/particl/particl-core.nix)0
-rw-r--r--nixpkgs/pkgs/applications/blockchains/pivx/default.nix (renamed from nixpkgs/pkgs/applications/blockchains/pivx.nix)53
-rw-r--r--nixpkgs/pkgs/applications/blockchains/polkadot/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/blockchains/quorum/default.nix (renamed from nixpkgs/pkgs/applications/blockchains/quorum.nix)0
-rw-r--r--nixpkgs/pkgs/applications/blockchains/stellar-core/default.nix (renamed from nixpkgs/pkgs/applications/blockchains/stellar-core.nix)0
-rw-r--r--nixpkgs/pkgs/applications/blockchains/sumokoin/default.nix (renamed from nixpkgs/pkgs/applications/blockchains/sumokoin.nix)0
-rw-r--r--nixpkgs/pkgs/applications/blockchains/tessera/default.nix (renamed from nixpkgs/pkgs/applications/blockchains/tessera.nix)0
-rw-r--r--nixpkgs/pkgs/applications/blockchains/turbo-geth.nix30
-rw-r--r--nixpkgs/pkgs/applications/blockchains/vertcoin/default.nix (renamed from nixpkgs/pkgs/applications/blockchains/vertcoin.nix)0
-rw-r--r--nixpkgs/pkgs/applications/blockchains/wasabiwallet/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/blockchains/whirlpool-gui/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/blockchains/wownero/default.nix (renamed from nixpkgs/pkgs/applications/blockchains/wownero.nix)0
-rw-r--r--nixpkgs/pkgs/applications/display-managers/lightdm/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/display-managers/ly/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/editors/android-studio/common.nix15
-rw-r--r--nixpkgs/pkgs/applications/editors/android-studio/default.nix13
-rw-r--r--nixpkgs/pkgs/applications/editors/aseprite/skia.nix11
-rw-r--r--nixpkgs/pkgs/applications/editors/bluej/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/editors/cudatext/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/editors/cudatext/deps.json28
-rw-r--r--nixpkgs/pkgs/applications/editors/eclipse/build-eclipse.nix6
-rw-r--r--nixpkgs/pkgs/applications/editors/emacs/elisp-packages/ebuild-mode/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix173
-rw-r--r--nixpkgs/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix48
-rw-r--r--nixpkgs/pkgs/applications/editors/emacs/elisp-packages/emacspeak/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/editors/emacs/elisp-packages/fetchelpa.nix21
-rw-r--r--nixpkgs/pkgs/applications/editors/emacs/elisp-packages/font-lock-plus/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix98
-rw-r--r--nixpkgs/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix109
-rw-r--r--nixpkgs/pkgs/applications/editors/emacs/elisp-packages/nongnu-packages.nix7
-rw-r--r--nixpkgs/pkgs/applications/editors/emacs/elisp-packages/org-generated.nix12
-rw-r--r--nixpkgs/pkgs/applications/editors/emacs/elisp-packages/org-mac-link/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/editors/emacs/elisp-packages/perl-completion/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json5088
-rw-r--r--nixpkgs/pkgs/applications/editors/emacs/elisp-packages/rect-mark/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/editors/focuswriter/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/editors/glow/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/editors/helix/default.nix19
-rw-r--r--nixpkgs/pkgs/applications/editors/jetbrains/common.nix6
-rw-r--r--nixpkgs/pkgs/applications/editors/jetbrains/default.nix51
-rwxr-xr-xnixpkgs/pkgs/applications/editors/jetbrains/update.pl12
-rw-r--r--nixpkgs/pkgs/applications/editors/jupyter-kernels/clojupyter/default.nix73
-rw-r--r--nixpkgs/pkgs/applications/editors/jupyter-kernels/clojupyter/deps.edn1
-rw-r--r--nixpkgs/pkgs/applications/editors/jupyter-kernels/clojupyter/deps.nix1107
-rwxr-xr-xnixpkgs/pkgs/applications/editors/jupyter-kernels/clojupyter/update.sh16
-rw-r--r--nixpkgs/pkgs/applications/editors/kakoune/default.nix16
-rwxr-xr-xnixpkgs/pkgs/applications/editors/kakoune/plugins/update.py79
-rw-r--r--nixpkgs/pkgs/applications/editors/kdevelop5/kdev-php.nix4
-rw-r--r--nixpkgs/pkgs/applications/editors/kdevelop5/kdev-python.nix4
-rw-r--r--nixpkgs/pkgs/applications/editors/kdevelop5/kdevelop.nix4
-rw-r--r--nixpkgs/pkgs/applications/editors/micro/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/editors/music/tuxguitar/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/editors/ne/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/editors/neovim/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/editors/neovim/neovide/default.nix30
-rw-r--r--nixpkgs/pkgs/applications/editors/neovim/neovim-qt.nix3
-rw-r--r--nixpkgs/pkgs/applications/editors/neovim/tests.nix11
-rw-r--r--nixpkgs/pkgs/applications/editors/neovim/utils.nix11
-rw-r--r--nixpkgs/pkgs/applications/editors/quilter/default.nix55
-rw-r--r--nixpkgs/pkgs/applications/editors/rednotebook/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/editors/rehex/default.nix29
-rw-r--r--nixpkgs/pkgs/applications/editors/standardnotes/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/editors/texmaker/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/editors/thonny/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/editors/tiled/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/editors/uivonim/yarn.nix2
-rw-r--r--nixpkgs/pkgs/applications/editors/vim/vimacs.nix2
-rw-r--r--nixpkgs/pkgs/applications/editors/vscode/generic.nix11
-rw-r--r--nixpkgs/pkgs/applications/editors/vscode/vscode.nix15
-rw-r--r--nixpkgs/pkgs/applications/editors/vscode/vscodium.nix10
-rw-r--r--nixpkgs/pkgs/applications/editors/vscode/with-extensions.nix28
-rw-r--r--nixpkgs/pkgs/applications/gis/qgis/unwrapped.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/ImageMagick/6.x.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/ImageMagick/7.0.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/akira/default.nix13
-rw-r--r--nixpkgs/pkgs/applications/graphics/cloudcompare/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/graphics/djv/default.nix152
-rw-r--r--nixpkgs/pkgs/applications/graphics/dosage/default.nix30
-rw-r--r--nixpkgs/pkgs/applications/graphics/drawpile/default.nix13
-rw-r--r--nixpkgs/pkgs/applications/graphics/feh/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/fondo/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/geeqie/default.nix13
-rw-r--r--nixpkgs/pkgs/applications/graphics/gimp/plugins/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/graphics/glimpse/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/goxel/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/gscan2pdf/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/gthumb/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/graphics/hydrus/default.nix54
-rw-r--r--nixpkgs/pkgs/applications/graphics/imv/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/k3d/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/ktikz/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/lightburn/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/megapixels/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/graphics/meh/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/graphics/nomacs/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/openimageio/2.x.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/openscad/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/paraview/default.nix68
-rw-r--r--nixpkgs/pkgs/applications/graphics/pdfcpu/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/qview/default.nix13
-rw-r--r--nixpkgs/pkgs/applications/graphics/renderdoc/default.nix15
-rw-r--r--nixpkgs/pkgs/applications/graphics/rx/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/graphics/sane/backends/default.nix16
-rw-r--r--nixpkgs/pkgs/applications/graphics/sane/drivers.nix13
-rw-r--r--nixpkgs/pkgs/applications/graphics/scantailor/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/shutter/default.nix116
-rw-r--r--nixpkgs/pkgs/applications/graphics/timelapse-deflicker/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/xfig/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/xournalpp/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/graphics/yacreader/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/kde/bomber.nix2
-rw-r--r--nixpkgs/pkgs/applications/logging/humioctl/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/misc/1password/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/misc/anytype/default.nix37
-rw-r--r--nixpkgs/pkgs/applications/misc/appeditor/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/misc/appeditor/fix-build-vala-0.46.patch22
-rw-r--r--nixpkgs/pkgs/applications/misc/archivebox/default.nix56
-rw-r--r--nixpkgs/pkgs/applications/misc/archiver/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/misc/archivy/default.nix76
-rw-r--r--nixpkgs/pkgs/applications/misc/audio/wavesurfer/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/audio/wavrsocvt/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/ausweisapp2/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/authy/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/avrdudess/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/misc/azuredatastudio/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/bemenu/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/bibletime/default.nix17
-rw-r--r--nixpkgs/pkgs/applications/misc/bklk/default.nix29
-rw-r--r--nixpkgs/pkgs/applications/misc/blender/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/bottles/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/calibre/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/misc/charm/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/cherrytree/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/chrysalis/default.nix24
-rw-r--r--nixpkgs/pkgs/applications/misc/clight/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/cointop/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/coreaction/default.nix41
-rw-r--r--nixpkgs/pkgs/applications/misc/corectrl/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/corefm/default.nix32
-rw-r--r--nixpkgs/pkgs/applications/misc/coregarage/default.nix33
-rw-r--r--nixpkgs/pkgs/applications/misc/corehunt/default.nix31
-rw-r--r--nixpkgs/pkgs/applications/misc/coretoppings/0001-fix-install-phase.patch8
-rw-r--r--nixpkgs/pkgs/applications/misc/coretoppings/default.nix62
-rw-r--r--nixpkgs/pkgs/applications/misc/coursera-dl/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/misc/crow-translate/default.nix27
-rw-r--r--nixpkgs/pkgs/applications/misc/crow-translate/dont-fetch-external-libs.patch28
-rw-r--r--nixpkgs/pkgs/applications/misc/dasel/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/misc/dbeaver/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/misc/dstask/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/misc/electrum/default.nix21
-rw-r--r--nixpkgs/pkgs/applications/misc/elogind/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/emem/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/etesync-dav/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/expenses/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/fbmenugen/0001-Fix-paths.patch29
-rw-r--r--nixpkgs/pkgs/applications/misc/fbmenugen/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/fetchmail/default.nix18
-rw-r--r--nixpkgs/pkgs/applications/misc/firestarter/default.nix81
-rw-r--r--nixpkgs/pkgs/applications/misc/fluidd/default.nix34
-rw-r--r--nixpkgs/pkgs/applications/misc/fnott/default.nix58
-rw-r--r--nixpkgs/pkgs/applications/misc/free42/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/freeplane/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/fuzzel/default.nix69
-rw-r--r--nixpkgs/pkgs/applications/misc/gallery-dl/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/ganttproject-bin/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/genact/default.nix22
-rw-r--r--nixpkgs/pkgs/applications/misc/geoipupdate/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/gollum/Gemfile6
-rw-r--r--nixpkgs/pkgs/applications/misc/gollum/Gemfile.lock22
-rw-r--r--nixpkgs/pkgs/applications/misc/gollum/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/gollum/gemset.nix92
-rw-r--r--nixpkgs/pkgs/applications/misc/gpu-burn/default.nix45
-rw-r--r--nixpkgs/pkgs/applications/misc/gpxsee/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/gramps/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/haxor-news/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/hello-unfree/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/houdini/default.nix41
-rw-r--r--nixpkgs/pkgs/applications/misc/houdini/runtime.nix76
-rw-r--r--nixpkgs/pkgs/applications/misc/hubstaff/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/hugo/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/misc/ikiwiki/default.nix47
-rw-r--r--nixpkgs/pkgs/applications/misc/joplin-desktop/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/misc/josm/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/misc/keepass/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/khal/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/kile-wl/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/misc/klayout/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/kratos/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/misc/latte-dock/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/lenmus/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/logseq/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/lsd2dsl/default.nix20
-rw-r--r--nixpkgs/pkgs/applications/misc/lutris/fhsenv.nix8
-rw-r--r--nixpkgs/pkgs/applications/misc/lyx/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/mapproxy/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/markets/default.nix42
-rw-r--r--nixpkgs/pkgs/applications/misc/megasync/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/menumaker/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/merkaartor/default.nix28
-rw-r--r--nixpkgs/pkgs/applications/misc/minder/default.nix61
-rw-r--r--nixpkgs/pkgs/applications/misc/minergate-cli/default.nix36
-rw-r--r--nixpkgs/pkgs/applications/misc/minergate/default.nix36
-rw-r--r--nixpkgs/pkgs/applications/misc/mkgmap/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/mkgmap/splitter/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/mkgmap/splitter/testinputs.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/mkgmap/testinputs.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/mob/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/moonlight-embedded/default.nix18
-rw-r--r--nixpkgs/pkgs/applications/misc/mucommander/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/misc/mupdf/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/misc/nix-tour/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/nixnote2/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/nnn/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/notejot/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/nwg-drawer/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/nwg-launchers/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/nwg-menu/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/misc/nwg-panel/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/nwg-wrapper/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/obsidian/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/octoprint/default.nix94
-rw-r--r--nixpkgs/pkgs/applications/misc/octoprint/ffmpeg-path.patch41
-rw-r--r--nixpkgs/pkgs/applications/misc/octoprint/pip-path.patch12
-rw-r--r--nixpkgs/pkgs/applications/misc/octoprint/plugins.nix69
-rw-r--r--nixpkgs/pkgs/applications/misc/octoprint/printtimegenius-logging.patch17
-rw-r--r--nixpkgs/pkgs/applications/misc/olifant/default.nix69
-rw-r--r--nixpkgs/pkgs/applications/misc/openbrf/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/opentx/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/misc/phoc/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/misc/premid/default.nix92
-rw-r--r--nixpkgs/pkgs/applications/misc/privacyidea/default.nix13
-rw-r--r--nixpkgs/pkgs/applications/misc/prusa-slicer/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/pueue/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/pwsafe/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/qlcplus/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/qtpass/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/remarkable/remarkable-mouse/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/rofi-file-browser/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/rofi/default.nix55
-rw-r--r--nixpkgs/pkgs/applications/misc/rtv/default.nix46
-rw-r--r--nixpkgs/pkgs/applications/misc/sequeler/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/sfm/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/slides/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/smos/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/misc/snixembed/default.nix28
-rw-r--r--nixpkgs/pkgs/applications/misc/stretchly/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/subsurface/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/surface-control/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/sweethome3d/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/sweethome3d/editors.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/tabula-java/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/taizen/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/taskwarrior-tui/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/terminal-colors/default.nix55
-rw-r--r--nixpkgs/pkgs/applications/misc/ticker/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/misc/tint2/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/topydo/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/ttyper/default.nix22
-rw-r--r--nixpkgs/pkgs/applications/misc/tut/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/ulauncher/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/unipicker/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/misc/upwork/default.nix21
-rw-r--r--nixpkgs/pkgs/applications/misc/usql/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/misc/vym/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/waybar/default.nix34
-rw-r--r--nixpkgs/pkgs/applications/misc/wbg/default.nix58
-rw-r--r--nixpkgs/pkgs/applications/misc/wmname/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/worker/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/writefreely/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/misc/wtf/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/misc/xkbmon/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/xmenu/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/xmind/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/xmrig/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/xmrig/moneroocean.nix21
-rw-r--r--nixpkgs/pkgs/applications/misc/xmrig/proxy.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/xplr/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/xrandr-invert-colors/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/yambar/default.nix41
-rw-r--r--nixpkgs/pkgs/applications/misc/zathura/core/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/zathura/pdf-mupdf/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/zola/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/networking/aether/default.nix115
-rw-r--r--nixpkgs/pkgs/applications/networking/apache-directory-studio/default.nix28
-rw-r--r--nixpkgs/pkgs/applications/networking/bee/bee.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/asuka/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/brave/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/captive-browser/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/chromium/browser.nix15
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/chromium/common.nix189
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/chromium/default.nix40
-rwxr-xr-xnixpkgs/pkgs/applications/networking/browsers/chromium/get-commit-message.py25
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/chromium/patches/closure_compiler-Use-the-Java-binary-from-the-system.patch31
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/chromium/ungoogled.nix2
-rwxr-xr-xnixpkgs/pkgs/applications/networking/browsers/chromium/update.py55
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/chromium/upstream-info.json58
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/firefox-bin/default.nix13
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix788
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/firefox-bin/update.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/firefox/common.nix59
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/firefox/packages.nix42
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/firefox/wrapper.nix75
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/google-chrome/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/icecat-bin/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/lagrange/default.nix21
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/lynx/default.nix27
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/palemoon/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/qtchan/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/qutebrowser/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/telescope/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/vieb/yarn.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/vivaldi/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/vivaldi/widevine.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/yandex-browser/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/calls/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/networking/cloudflared/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/argo/default.nix17
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/argocd/default.nix17
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/assign-lb-ip/default.nix22
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/bosh-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/cilium/default.nix23
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/cloudfoundry-cli/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/cni/plugins.nix9
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/dnsname-cni/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/docker-machine/xhyve.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/flink/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/fluxcd/default.nix13
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/fluxctl/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/hadoop/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/helm/chart-testing/default.nix40
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/helm/plugins/helm-secrets.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/helm/wrapper.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/helmfile/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/hetzner-kube/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/istioctl/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/jx/default.nix13
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/k3s/default.nix53
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/k9s/default.nix17
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/kops/default.nix13
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/kpt/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/kube-capacity/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/kube-router/default.nix15
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/kube3d/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/kubebuilder/default.nix19
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/kubectl/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/kubeless/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/kubelogin/default.nix15
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/kubernetes/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/kubeseal/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/kuttl/default.nix15
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/lens/default.nix15
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/linkerd/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/minikube/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/minishift/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/multus-cni/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/nerdctl/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/node-problem-detector/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/nomad-autoscaler/default.nix112
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/nomad-driver-podman/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/nomad/0.12.nix11
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/nomad/1.0.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/nomad/1.1.nix11
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/nomad/generic.nix11
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/nomad/genericModule.nix54
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/octant/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/octant/desktop.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/octant/plugins/starboard-octant-plugin.nix12
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/pgo-client/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/pig/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/popeye/default.nix17
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/qbec/default.nix19
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/sonobuoy/default.nix22
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/starboard/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/stern/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/tanka/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/temporal/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/terraform-docs/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/terraform-providers/cloudfoundry/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/terraform-providers/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/terraform-providers/providers.json87
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/terraform/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/terragrunt/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/tfswitch/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/tilt/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/velero/default.nix30
-rw-r--r--nixpkgs/pkgs/applications/networking/dnscontrol/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/feedreaders/rss2email/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/feedreaders/rssguard/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/flent/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/flexget/default.nix18
-rw-r--r--nixpkgs/pkgs/applications/networking/ftp/filezilla/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/ftp/taxi/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/networking/gftp/default.nix56
-rw-r--r--nixpkgs/pkgs/applications/networking/gns3/gui.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/gns3/server.nix22
-rw-r--r--nixpkgs/pkgs/applications/networking/hydroxide/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/hyprspace/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/ids/daq/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/networking/ids/zeek/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/bitlbee/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/bluejeans/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/chatty/default.nix79
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/deltachat-cursed/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix110
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/deltachat-desktop/package.json58
-rwxr-xr-xnixpkgs/pkgs/applications/networking/instant-messengers/deltachat-desktop/update.sh42
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/deltachat-electron/default.nix40
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/discord/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json45
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/element/element-desktop-yarndeps.nix3554
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/element/element-desktop.nix48
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/element/element-web.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/element/keytar/default.nix46
-rwxr-xr-xnixpkgs/pkgs/applications/networking/instant-messengers/element/keytar/update.sh19
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/element/keytar/yarn.lock2531
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/element/keytar/yarn.nix2869
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/element/seshat/default.nix46
-rwxr-xr-xnixpkgs/pkgs/applications/networking/instant-messengers/element/seshat/update.sh16
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/element/seshat/yarn.nix4557
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/gajim/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/gtmess/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/jitsi-meet-electron/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/kdeltachat/default.nix15
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/linphone/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/pantalaimon/default.nix18
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/msn-pecan/default.nix15
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/otr/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-indicator/default.nix33
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-osd/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-facebook/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-plugin-pack/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-xmpp-http-upload/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/skype4pidgin/default.nix41
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/pond/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/rambox/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/rambox/rambox.nix5
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/ratox/default.nix3
-rwxr-xr-xnixpkgs/pkgs/applications/networking/instant-messengers/ripcord/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/signal-cli/default.nix4
-rwxr-xr-xnixpkgs/pkgs/applications/networking/instant-messengers/signal-desktop/db-reencryption-wrapper.py92
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix19
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/silc-client/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/slack/default.nix18
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix163
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/telegram/tdesktop/tg_owt.nix22
-rwxr-xr-xnixpkgs/pkgs/applications/networking/instant-messengers/telegram/tdesktop/update.py4
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/telegram/telegram-cli/default.nix49
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/telepathy/gabble/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/telepathy/haze/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/telepathy/salut/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/tensor/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/viber/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/vk-cli/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/whatsapp-for-linux/default.nix21
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/zoom-us/default.nix28
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/zulip/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/insync/v3.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/ipfs-cluster/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/networking/ipfs-cluster/test.patch12
-rw-r--r--nixpkgs/pkgs/applications/networking/ipfs/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/networking/ipget/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/networking/iptraf/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/networking/irc/catgirl/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/networking/irc/communi/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/irc/convos/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/irc/ii/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/networking/irc/irssi/fish/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/networking/irc/quassel/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/irc/tiny/default.nix16
-rw-r--r--nixpkgs/pkgs/applications/networking/irc/tiny/fix-Cargo.lock.patch13
-rw-r--r--nixpkgs/pkgs/applications/networking/irc/weechat/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/irc/weechat/scripts/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/irc/weechat/scripts/url_hint/default.nix28
-rw-r--r--nixpkgs/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix-bridge/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/networking/juju/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/listadmin/default.nix48
-rw-r--r--nixpkgs/pkgs/applications/networking/maestral-qt/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/astroid/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/mmh/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/msgviewer/default.nix15
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/mutt/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/notmuch-bower/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/notmuch/default.nix48
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix544
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/D124361.diff22
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/default.nix358
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/no-buildconfig-78.patch13
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/no-buildconfig-90.patch13
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/no-buildconfig.patch37
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/packages.nix72
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/update.nix7
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/wrapper.nix23
-rw-r--r--nixpkgs/pkgs/applications/networking/mumble/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/mumble/overlay.nix5
-rw-r--r--nixpkgs/pkgs/applications/networking/nextcloud-client/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/nextdns/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/networking/offrss/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/networking/onionshare/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/networking/opsdroid/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/p2p/deluge/1.nix42
-rw-r--r--nixpkgs/pkgs/applications/networking/p2p/freenet/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/p2p/frostwire/frostwire-bin.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/p2p/gnunet/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/p2p/opentracker/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/networking/p2p/tremc/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/networking/pcloud/default.nix25
-rw-r--r--nixpkgs/pkgs/applications/networking/powerdns-admin/yarndeps.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/protonmail-bridge/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/remote/citrix-workspace/generic.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/remote/freerdp/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/remote/putty/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/remote/x2goclient/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/seaweedfs/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/shellhub-agent/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/sieve-connect/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/networking/siproxd/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/networking/sniffers/etherape/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/networking/sniffers/sngrep/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/sniffers/wireshark/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/soapui/default.nix13
-rw-r--r--nixpkgs/pkgs/applications/networking/sync/onedrive/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/sync/rclone/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/networking/sync/rsync/base.nix9
-rw-r--r--nixpkgs/pkgs/applications/networking/sync/rsync/default.nix68
-rw-r--r--nixpkgs/pkgs/applications/networking/sync/rsync/rrsync.nix9
-rw-r--r--nixpkgs/pkgs/applications/networking/sync/unison/default.nix75
-rw-r--r--nixpkgs/pkgs/applications/networking/syncplay/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/syncthing/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/termius/default.nix43
-rw-r--r--nixpkgs/pkgs/applications/networking/zerobin/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/networking/znc/modules.nix20
-rw-r--r--nixpkgs/pkgs/applications/office/aesop/default.nix53
-rw-r--r--nixpkgs/pkgs/applications/office/agenda/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/atlassian-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/autokey/default.nix53
-rw-r--r--nixpkgs/pkgs/applications/office/calligra/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/office/elementary-planner/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/office/envelope/default.nix81
-rw-r--r--nixpkgs/pkgs/applications/office/flexibee/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/foliate/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/office/gnucash/default.nix18
-rw-r--r--nixpkgs/pkgs/applications/office/grisbi/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/homebank/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/office/libreoffice/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/office/libreoffice/src-fresh/download.nix16
-rw-r--r--nixpkgs/pkgs/applications/office/libreoffice/src-fresh/override.nix1
-rw-r--r--nixpkgs/pkgs/applications/office/libreoffice/src-fresh/primary.nix8
-rw-r--r--nixpkgs/pkgs/applications/office/libreoffice/src-still/override.nix1
-rw-r--r--nixpkgs/pkgs/applications/office/minetime/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/notes-up/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/office/onlyoffice-bin/default.nix13
-rw-r--r--nixpkgs/pkgs/applications/office/onlyoffice-bin/update.sh5
-rw-r--r--nixpkgs/pkgs/applications/office/osmo/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/office/paperless-ng/default.nix195
-rw-r--r--nixpkgs/pkgs/applications/office/paperless/default.nix168
-rw-r--r--nixpkgs/pkgs/applications/office/paperless/python-modules/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/office/paperless/python-modules/django-crispy-forms.nix39
-rw-r--r--nixpkgs/pkgs/applications/office/paperless/python-modules/django-filter.nix26
-rw-r--r--nixpkgs/pkgs/applications/office/paperless/withConfig.nix68
-rw-r--r--nixpkgs/pkgs/applications/office/pdfmixtool/default.nix42
-rw-r--r--nixpkgs/pkgs/applications/office/portfolio/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/pympress/default.nix24
-rw-r--r--nixpkgs/pkgs/applications/office/skrooge/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/office/todoman/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/office/trilium/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/office/zim/default.nix16
-rw-r--r--nixpkgs/pkgs/applications/office/zotero/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/radio/chirp/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/radio/fldigi/default.nix46
-rw-r--r--nixpkgs/pkgs/applications/radio/fllog/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/radio/flmsg/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/radio/multimon-ng/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/radio/qradiolink/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/radio/qsstv/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/radio/sdrangel/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/radio/soapysdr/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/radio/unixcw/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/radio/urh/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/radio/wsjtx/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/radio/xlog/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/biology/bedops/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/biology/bowtie/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/science/biology/bowtie2/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/biology/cd-hit/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/science/biology/fastp/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/biology/minimap2/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/biology/mosdepth/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/biology/mrbayes/builder.sh9
-rw-r--r--nixpkgs/pkgs/applications/science/biology/mrbayes/default.nix23
-rw-r--r--nixpkgs/pkgs/applications/science/biology/neuron/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/biology/picard-tools/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/science/biology/stacks/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/science/biology/varscan/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/science/chemistry/avogadro2/default.nix37
-rw-r--r--nixpkgs/pkgs/applications/science/chemistry/cp2k/default.nix117
-rw-r--r--nixpkgs/pkgs/applications/science/chemistry/ergoscf/default.nix40
-rw-r--r--nixpkgs/pkgs/applications/science/chemistry/ergoscf/math-constants.patch19
-rw-r--r--nixpkgs/pkgs/applications/science/chemistry/jmol/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/chemistry/openmolcas/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/science/chemistry/pymol/default.nix28
-rw-r--r--nixpkgs/pkgs/applications/science/electronics/eagle/eagle.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/electronics/eagle/eagle7.nix2
-rw-r--r--nixpkgs/pkgs/applications/science/electronics/kicad/base.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/electronics/lepton-eda/default.nix61
-rw-r--r--nixpkgs/pkgs/applications/science/electronics/openhantek6022/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/electronics/openroad/default.nix94
-rw-r--r--nixpkgs/pkgs/applications/science/electronics/verilator/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/electronics/vhd2vl/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/science/geometry/gama/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/logic/bitwuzla/default.nix67
-rw-r--r--nixpkgs/pkgs/applications/science/logic/cadical/default.nix26
-rw-r--r--nixpkgs/pkgs/applications/science/logic/elan/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/science/logic/lean/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/science/logic/logisim-evolution/default.nix46
-rw-r--r--nixpkgs/pkgs/applications/science/logic/logisim/default.nix30
-rw-r--r--nixpkgs/pkgs/applications/science/logic/opensmt/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/logic/poly/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/logic/saw-tools/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/science/logic/tlaplus/tlaps.nix18
-rw-r--r--nixpkgs/pkgs/applications/science/logic/tlaplus/toolbox.nix17
-rw-r--r--nixpkgs/pkgs/applications/science/logic/verifast/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/science/logic/why3/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/logic/why3/with-provers.nix31
-rw-r--r--nixpkgs/pkgs/applications/science/logic/workcraft/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/machine-learning/finalfusion-utils/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/science/machine-learning/nengo-gui/default.nix26
-rw-r--r--nixpkgs/pkgs/applications/science/machine-learning/vowpal-wabbit/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/math/R/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/science/math/R/fix-failing-test.patch25
-rw-r--r--nixpkgs/pkgs/applications/science/math/R/skip-check-for-aarch64.patch11
-rw-r--r--nixpkgs/pkgs/applications/science/math/colpack/default.nix28
-rw-r--r--nixpkgs/pkgs/applications/science/math/ginac/default.nix18
-rw-r--r--nixpkgs/pkgs/applications/science/math/lp_solve/default.nix63
-rw-r--r--nixpkgs/pkgs/applications/science/math/lp_solve/isnan.patch13
-rw-r--r--nixpkgs/pkgs/applications/science/math/maxima/default.nix25
-rw-r--r--nixpkgs/pkgs/applications/science/math/nasc/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/science/math/nauty/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/science/math/polymake/default.nix31
-rw-r--r--nixpkgs/pkgs/applications/science/math/pynac/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/science/math/qalculate-gtk/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/math/sage/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/math/sage/patches/do-not-test-find-library.patch18
-rw-r--r--nixpkgs/pkgs/applications/science/math/sage/patches/ignore-cmp-deprecation.patch24
-rw-r--r--nixpkgs/pkgs/applications/science/math/sage/sage-src.nix97
-rw-r--r--nixpkgs/pkgs/applications/science/math/sage/sagelib.nix2
-rw-r--r--nixpkgs/pkgs/applications/science/math/scilab-bin/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/science/math/wxmaxima/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/medicine/dcmtk/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/science/misc/cwltool/default.nix41
-rw-r--r--nixpkgs/pkgs/applications/science/misc/openmodelica/combined/default.nix30
-rw-r--r--nixpkgs/pkgs/applications/science/misc/openmodelica/default.nix70
-rw-r--r--nixpkgs/pkgs/applications/science/misc/openmodelica/fakegit.nix81
-rw-r--r--nixpkgs/pkgs/applications/science/misc/openmodelica/mkderivation/default.nix101
-rw-r--r--nixpkgs/pkgs/applications/science/misc/openmodelica/mkderivation/src-main.nix7
-rw-r--r--nixpkgs/pkgs/applications/science/misc/openmodelica/omcompiler/default.nix63
-rw-r--r--nixpkgs/pkgs/applications/science/misc/openmodelica/omedit/default.nix38
-rw-r--r--nixpkgs/pkgs/applications/science/misc/openmodelica/omlibrary/default.nix37
-rw-r--r--nixpkgs/pkgs/applications/science/misc/openmodelica/omlibrary/fakegit.nix49
-rw-r--r--nixpkgs/pkgs/applications/science/misc/openmodelica/omlibrary/src-libs.nix83
-rwxr-xr-xnixpkgs/pkgs/applications/science/misc/openmodelica/omlibrary/update-src-libs.sh39
-rw-r--r--nixpkgs/pkgs/applications/science/misc/openmodelica/omparser/Makefile.in.patch22
-rw-r--r--nixpkgs/pkgs/applications/science/misc/openmodelica/omparser/default.nix28
-rw-r--r--nixpkgs/pkgs/applications/science/misc/openmodelica/omplot/default.nix34
-rw-r--r--nixpkgs/pkgs/applications/science/misc/openmodelica/omshell/default.nix40
-rw-r--r--nixpkgs/pkgs/applications/science/misc/openmodelica/omsimulator/default.nix26
-rw-r--r--nixpkgs/pkgs/applications/science/misc/openmodelica/src-libs-git.nix71
-rw-r--r--nixpkgs/pkgs/applications/science/misc/openmodelica/src-libs-svn.nix5
-rw-r--r--nixpkgs/pkgs/applications/science/misc/openmodelica/src-main.nix6
-rwxr-xr-xnixpkgs/pkgs/applications/science/misc/openmodelica/update-src-libs-git.sh64
-rwxr-xr-xnixpkgs/pkgs/applications/science/misc/openmodelica/update-src-libs-svn.sh50
-rw-r--r--nixpkgs/pkgs/applications/science/misc/snakemake/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/physics/quantomatic/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/science/physics/sherpa/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/science/physics/xflr5/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/science/programming/plm/default.nix18
-rw-r--r--nixpkgs/pkgs/applications/science/robotics/apmplanner2/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/science/robotics/mavproxy/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/robotics/qgroundcontrol/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/system/glances/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/terminal-emulators/alacritty/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/terminal-emulators/aminal/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/terminal-emulators/cool-retro-term/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/terminal-emulators/foot/default.nix26
-rw-r--r--nixpkgs/pkgs/applications/terminal-emulators/hyper/default.nix32
-rw-r--r--nixpkgs/pkgs/applications/terminal-emulators/iterm2/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/terminal-emulators/kitty/default.nix16
-rw-r--r--nixpkgs/pkgs/applications/terminal-emulators/sakura/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/terminal-emulators/terminus/default.nix44
-rw-r--r--nixpkgs/pkgs/applications/terminal-emulators/termonad/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/terminal-emulators/wezterm/default.nix94
-rw-r--r--nixpkgs/pkgs/applications/terminal-emulators/xterm/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/terminal-emulators/xtermcontrol/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/bcompare/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/blackbox/default.nix58
-rw-r--r--nixpkgs/pkgs/applications/version-management/cvs-fast-export/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/danger-gitlab/Gemfile (renamed from nixpkgs/pkgs/tools/text/bcat/Gemfile)2
-rw-r--r--nixpkgs/pkgs/applications/version-management/danger-gitlab/Gemfile.lock92
-rw-r--r--nixpkgs/pkgs/applications/version-management/danger-gitlab/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/version-management/danger-gitlab/gemset.nix388
-rw-r--r--nixpkgs/pkgs/applications/version-management/fossil/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/bfg-repo-cleaner/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/cgit/default.nix13
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/gh/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/ghorg/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/ghq/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-annex-remote-googledrive/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-annex-remote-rclone/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-branchless/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-bug/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-chglog/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-delete-merged-branches/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-filter-repo/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-hub/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-machete/default.nix17
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-sync/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/gitstatus/default.nix30
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/gitstatus/romkatv_libgit2.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/gitui/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/glab/default.nix16
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/gst/default.nix56
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/hub/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/lab/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/radicle-upstream/default.nix85
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-lfs/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitea/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitkraken/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab-triage/Gemfile.lock22
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab-triage/gemset.nix62
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/data.json14
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/gitaly/Gemfile6
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock56
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/gitaly/default.nix17
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/gitaly/gemset.nix54
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile62
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock230
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix429
-rwxr-xr-xnixpkgs/pkgs/applications/version-management/gitlab/update.py1
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/yarnPkgs.nix530
-rw-r--r--nixpkgs/pkgs/applications/version-management/gogs/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/monotone/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/version-management/monotone/monotone-1.1-adapt-to-botan2.patch15
-rw-r--r--nixpkgs/pkgs/applications/version-management/nbstripout/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/pijul/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/version-management/redmine/Gemfile3
-rw-r--r--nixpkgs/pkgs/applications/version-management/redmine/Gemfile.lock118
-rw-r--r--nixpkgs/pkgs/applications/version-management/redmine/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/redmine/gemset.nix116
-rw-r--r--nixpkgs/pkgs/applications/version-management/sourcehut/core.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/sourcehut/meta.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/sublime-merge/common.nix2
-rw-r--r--nixpkgs/pkgs/applications/video/avidemux/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/video/catt/default.nix13
-rw-r--r--nixpkgs/pkgs/applications/video/ccextractor/default.nix43
-rw-r--r--nixpkgs/pkgs/applications/video/corrscope/default.nix35
-rw-r--r--nixpkgs/pkgs/applications/video/droidcam/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/epgstation/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/video/filebot/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/go-chromecast/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/video/jellyfin-media-player/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/video/kazam/default.nix59
-rw-r--r--nixpkgs/pkgs/applications/video/kodi-packages/inputstream-adaptive/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/kodi-packages/requests-cache/default.nix29
-rw-r--r--nixpkgs/pkgs/applications/video/kodi-packages/routing/default.nix25
-rw-r--r--nixpkgs/pkgs/applications/video/kodi-packages/steam-library/default.nix27
-rw-r--r--nixpkgs/pkgs/applications/video/lightworks/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/video/makemkv/default.nix19
-rw-r--r--nixpkgs/pkgs/applications/video/manim/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/video/mkvtoolnix/default.nix138
-rw-r--r--nixpkgs/pkgs/applications/video/mpv/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/video/mpv/scripts/mpv-playlistmanager.nix6
-rw-r--r--nixpkgs/pkgs/applications/video/mpv/scripts/simple-mpv-webui.nix6
-rw-r--r--nixpkgs/pkgs/applications/video/mpv/wrapper.nix3
-rw-r--r--nixpkgs/pkgs/applications/video/obs-studio/default.nix22
-rw-r--r--nixpkgs/pkgs/applications/video/obs-studio/plugins/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-multi-rtmp.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-nvfbc.nix25
-rw-r--r--nixpkgs/pkgs/applications/video/openshot-qt/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/plex-mpv-shim/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/qarte/default.nix18
-rw-r--r--nixpkgs/pkgs/applications/video/qmplay2/default.nix20
-rw-r--r--nixpkgs/pkgs/applications/video/shotcut/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/video/srtrelay/default.nix25
-rw-r--r--nixpkgs/pkgs/applications/video/streamlink-twitch-gui/bin.nix18
-rw-r--r--nixpkgs/pkgs/applications/video/streamlink/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/video/tartube/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/vdr/wrapper.nix2
-rw-r--r--nixpkgs/pkgs/applications/video/vlc/default.nix13
-rw-r--r--nixpkgs/pkgs/applications/video/webtorrent_desktop/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/video/xplayer/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/xscast/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/virtualization/8086tiny/builder.sh30
-rw-r--r--nixpkgs/pkgs/applications/virtualization/8086tiny/default.nix43
-rw-r--r--nixpkgs/pkgs/applications/virtualization/OVMF/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/virtualization/bochs/bochs-2.6.11-glibc-2.26.patch13
-rw-r--r--nixpkgs/pkgs/applications/virtualization/bochs/bochs_fix_narrowing_conv_warning.patch29
-rw-r--r--nixpkgs/pkgs/applications/virtualization/bochs/default.nix30
-rw-r--r--nixpkgs/pkgs/applications/virtualization/bochs/fix-build-smp.patch21
-rw-r--r--nixpkgs/pkgs/applications/virtualization/cloud-hypervisor/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/virtualization/cntr/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/virtualization/containerd/1.4.nix51
-rw-r--r--nixpkgs/pkgs/applications/virtualization/containerd/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/virtualization/cri-o/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/virtualization/crun/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/virtualization/docker-slim/default.nix13
-rw-r--r--nixpkgs/pkgs/applications/virtualization/docker/buildx.nix4
-rw-r--r--nixpkgs/pkgs/applications/virtualization/docker/default.nix22
-rw-r--r--nixpkgs/pkgs/applications/virtualization/docker/proxy.nix2
-rw-r--r--nixpkgs/pkgs/applications/virtualization/driver/win-qemu/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/virtualization/driver/win-signed-gplpv-drivers/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/virtualization/driver/win-spice/default.nix50
-rw-r--r--nixpkgs/pkgs/applications/virtualization/driver/win-virtio/default.nix18
-rw-r--r--nixpkgs/pkgs/applications/virtualization/firecracker/default.nix24
-rw-r--r--nixpkgs/pkgs/applications/virtualization/imgcrypt/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/virtualization/lima/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/virtualization/lkl/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/virtualization/nvidia-container-runtime/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/virtualization/nvidia-container-toolkit/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/virtualization/podman/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/virtualization/podman/wrapper.nix2
-rw-r--r--nixpkgs/pkgs/applications/virtualization/qemu/default.nix120
-rw-r--r--nixpkgs/pkgs/applications/virtualization/runc/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/virtualization/seabios/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/virtualization/singularity/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/virtualization/tiny8086/default.nix68
-rw-r--r--nixpkgs/pkgs/applications/virtualization/umoci/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/virtualization/virt-what/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/virtualization/virtualbox/default.nix21
-rw-r--r--nixpkgs/pkgs/applications/virtualization/virtualbox/extpack.nix2
-rw-r--r--nixpkgs/pkgs/applications/virtualization/virtualbox/fix-configure-pkgconfig-qt.patch11
-rw-r--r--nixpkgs/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/virtualization/vpcs/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/virtualization/x11docker/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/virtualization/xen/generic.nix4
-rw-r--r--nixpkgs/pkgs/applications/window-managers/hikari/default.nix20
-rw-r--r--nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix8
-rw-r--r--nixpkgs/pkgs/applications/window-managers/i3/wmfocus.nix6
-rw-r--r--nixpkgs/pkgs/applications/window-managers/icewm/default.nix17
-rw-r--r--nixpkgs/pkgs/applications/window-managers/labwc/default.nix32
-rw-r--r--nixpkgs/pkgs/applications/window-managers/mlvwm/default.nix53
-rw-r--r--nixpkgs/pkgs/applications/window-managers/phosh/default.nix34
-rw-r--r--nixpkgs/pkgs/applications/window-managers/qtile/0001-Substitution-vars-for-absolute-paths.patch31
-rw-r--r--nixpkgs/pkgs/applications/window-managers/qtile/0002-Restore-PATH-and-PYTHONPATH.patch71
-rw-r--r--nixpkgs/pkgs/applications/window-managers/qtile/0003-Restart-executable.patch13
-rw-r--r--nixpkgs/pkgs/applications/window-managers/qtile/default.nix108
-rw-r--r--nixpkgs/pkgs/applications/window-managers/river/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/window-managers/stalonetray/default.nix50
-rw-r--r--nixpkgs/pkgs/applications/window-managers/sway/bg.nix1
-rw-r--r--nixpkgs/pkgs/applications/window-managers/sway/idle.nix9
-rw-r--r--nixpkgs/pkgs/applications/window-managers/wayfire/wrapper.nix4
-rw-r--r--nixpkgs/pkgs/build-support/agda/default.nix6
-rw-r--r--nixpkgs/pkgs/build-support/bintools-wrapper/add-hardening.sh2
-rw-r--r--nixpkgs/pkgs/build-support/bintools-wrapper/default.nix2
-rw-r--r--nixpkgs/pkgs/build-support/build-fhs-userenv/chrootenv/chrootenv.c2
-rw-r--r--nixpkgs/pkgs/build-support/build-fhs-userenv/env.nix12
-rw-r--r--nixpkgs/pkgs/build-support/cc-wrapper/default.nix7
-rw-r--r--nixpkgs/pkgs/build-support/coq/default.nix10
-rw-r--r--nixpkgs/pkgs/build-support/dhall-to-nix.nix4
-rw-r--r--nixpkgs/pkgs/build-support/docker/default.nix1004
-rw-r--r--nixpkgs/pkgs/build-support/docker/examples.nix2
-rw-r--r--nixpkgs/pkgs/build-support/docker/tarsum.nix42
-rw-r--r--nixpkgs/pkgs/build-support/emacs/elpa.nix2
-rw-r--r--nixpkgs/pkgs/build-support/emacs/wrapper.nix2
-rwxr-xr-xnixpkgs/pkgs/build-support/fetchgit/nix-prefetch-git9
-rw-r--r--nixpkgs/pkgs/build-support/fetchgitlab/default.nix28
-rw-r--r--nixpkgs/pkgs/build-support/fetchgx/default.nix4
-rw-r--r--nixpkgs/pkgs/build-support/fetchurl/mirrors.nix50
-rw-r--r--nixpkgs/pkgs/build-support/fetchzip/default.nix13
-rw-r--r--nixpkgs/pkgs/build-support/kernel/make-initrd.nix2
-rw-r--r--nixpkgs/pkgs/build-support/kernel/make-initrd.sh4
-rw-r--r--nixpkgs/pkgs/build-support/libredirect/default.nix13
-rw-r--r--nixpkgs/pkgs/build-support/libredirect/libredirect.c9
-rw-r--r--nixpkgs/pkgs/build-support/libredirect/test.c15
-rw-r--r--nixpkgs/pkgs/build-support/nuget-to-nix/default.nix5
-rwxr-xr-xnixpkgs/pkgs/build-support/nuget-to-nix/nuget-to-nix.sh23
-rw-r--r--nixpkgs/pkgs/build-support/replace-secret/replace-secret.nix7
-rw-r--r--nixpkgs/pkgs/build-support/rust/build-rust-crate/default.nix586
-rw-r--r--nixpkgs/pkgs/build-support/rust/default-crate-overrides.nix42
-rw-r--r--nixpkgs/pkgs/build-support/rust/default.nix2
-rw-r--r--nixpkgs/pkgs/build-support/setup-hooks/auto-patchelf.sh1
-rw-r--r--nixpkgs/pkgs/build-support/skaware/build-skaware-man-pages.nix51
-rw-r--r--nixpkgs/pkgs/build-support/skaware/build-skaware-package.nix4
-rw-r--r--nixpkgs/pkgs/build-support/templaterpm/default.nix2
-rw-r--r--nixpkgs/pkgs/build-support/trivial-builders.nix9
-rw-r--r--nixpkgs/pkgs/build-support/vm/default.nix4
-rw-r--r--nixpkgs/pkgs/build-support/vm/test.nix4
-rw-r--r--nixpkgs/pkgs/build-support/writers/default.nix45
-rw-r--r--nixpkgs/pkgs/build-support/writers/test.nix26
-rw-r--r--nixpkgs/pkgs/data/documentation/execline-man-pages/default.nix10
-rw-r--r--nixpkgs/pkgs/data/documentation/s6-man-pages/default.nix10
-rw-r--r--nixpkgs/pkgs/data/documentation/s6-networking-man-pages/default.nix10
-rw-r--r--nixpkgs/pkgs/data/documentation/stdman/default.nix4
-rw-r--r--nixpkgs/pkgs/data/fonts/comfortaa/default.nix21
-rw-r--r--nixpkgs/pkgs/data/fonts/fira-mono/default.nix9
-rw-r--r--nixpkgs/pkgs/data/fonts/helvetica-neue-lt-std/default.nix16
-rw-r--r--nixpkgs/pkgs/data/fonts/iosevka/bin.nix2
-rw-r--r--nixpkgs/pkgs/data/fonts/iosevka/variants.nix116
-rw-r--r--nixpkgs/pkgs/data/fonts/jetbrains-mono/default.nix4
-rw-r--r--nixpkgs/pkgs/data/fonts/julia-mono/default.nix4
-rw-r--r--nixpkgs/pkgs/data/fonts/libertinus/default.nix28
-rw-r--r--nixpkgs/pkgs/data/fonts/noto-fonts/default.nix4
-rw-r--r--nixpkgs/pkgs/data/fonts/open-sans/default.nix2
-rw-r--r--nixpkgs/pkgs/data/fonts/overpass/default.nix12
-rw-r--r--nixpkgs/pkgs/data/fonts/powerline-symbols/default.nix4
-rw-r--r--nixpkgs/pkgs/data/fonts/recursive/default.nix4
-rw-r--r--nixpkgs/pkgs/data/fonts/rubik/default.nix103
-rw-r--r--nixpkgs/pkgs/data/fonts/scheherazade/default.nix4
-rw-r--r--nixpkgs/pkgs/data/fonts/tempora-lgc/default.nix1
-rw-r--r--nixpkgs/pkgs/data/fonts/terminus-font-ttf/default.nix4
-rw-r--r--nixpkgs/pkgs/data/fonts/unifont/default.nix10
-rw-r--r--nixpkgs/pkgs/data/fonts/unifont_upper/default.nix8
-rw-r--r--nixpkgs/pkgs/data/fonts/vista-fonts-cht/default.nix41
-rw-r--r--nixpkgs/pkgs/data/fonts/vista-fonts-cht/no-op.conf9
-rw-r--r--nixpkgs/pkgs/data/fonts/weather-icons/default.nix6
-rw-r--r--nixpkgs/pkgs/data/icons/kora-icon-theme/default.nix4
-rw-r--r--nixpkgs/pkgs/data/icons/luna-icons/default.nix4
-rw-r--r--nixpkgs/pkgs/data/icons/papirus-icon-theme/default.nix4
-rw-r--r--nixpkgs/pkgs/data/misc/ddccontrol-db/default.nix4
-rw-r--r--nixpkgs/pkgs/data/misc/hackage/pin.json8
-rw-r--r--nixpkgs/pkgs/data/misc/mailcap/default.nix4
-rw-r--r--nixpkgs/pkgs/data/misc/spdx-license-list-data/default.nix4
-rw-r--r--nixpkgs/pkgs/data/misc/wireless-regdb/default.nix4
-rw-r--r--nixpkgs/pkgs/data/misc/xorg-rgb/default.nix20
-rw-r--r--nixpkgs/pkgs/data/themes/adwaita-qt/default.nix4
-rw-r--r--nixpkgs/pkgs/data/themes/flat-remix-gnome/default.nix6
-rw-r--r--nixpkgs/pkgs/data/themes/marwaita-manjaro/default.nix7
-rw-r--r--nixpkgs/pkgs/data/themes/marwaita-peppermint/default.nix9
-rw-r--r--nixpkgs/pkgs/data/themes/marwaita-pop_os/default.nix7
-rw-r--r--nixpkgs/pkgs/data/themes/marwaita/default.nix6
-rw-r--r--nixpkgs/pkgs/data/themes/matcha/default.nix4
-rw-r--r--nixpkgs/pkgs/data/themes/mojave/default.nix67
-rw-r--r--nixpkgs/pkgs/data/themes/nordic/default.nix34
-rw-r--r--nixpkgs/pkgs/data/themes/obsidian2/default.nix4
-rw-r--r--nixpkgs/pkgs/data/themes/orchis-theme/default.nix4
-rw-r--r--nixpkgs/pkgs/data/themes/plata/default.nix19
-rw-r--r--nixpkgs/pkgs/data/themes/qogir/default.nix4
-rw-r--r--nixpkgs/pkgs/data/themes/vimix/default.nix24
-rw-r--r--nixpkgs/pkgs/data/themes/whitesur/default.nix9
-rw-r--r--nixpkgs/pkgs/data/themes/yaru/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/arcan/arcan.nix6
-rw-r--r--nixpkgs/pkgs/desktops/arcan/wrapper.nix5
-rw-r--r--nixpkgs/pkgs/desktops/cinnamon/cinnamon-common/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/cinnamon/xapps/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/cinnamon/xviewer/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/enlightenment/enlightenment/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-2/desktop/mail-notification/default.nix54
-rw-r--r--nixpkgs/pkgs/desktops/gnome/apps/cheese/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/gnome/apps/gnome-maps/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome/apps/seahorse/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/baobab/default.nix16
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/caribou/default.nix14
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/epiphany/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/evolution-data-server/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/gdm/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/gnome-shell/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/gnome-software/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/mutter/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/simple-scan/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/sushi/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/totem/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/yelp/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome/extensions/collisions.json33
-rw-r--r--nixpkgs/pkgs/desktops/gnome/extensions/dash-to-dock/default.nix11
-rw-r--r--nixpkgs/pkgs/desktops/gnome/extensions/extensionRenames.nix19
-rw-r--r--nixpkgs/pkgs/desktops/gnome/extensions/extensions.json375
-rw-r--r--nixpkgs/pkgs/desktops/gnome/extensions/gsconnect/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome/games/gnome-sudoku/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome/games/tali/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome/misc/gnome-autoar/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/mate/atril/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/mate/caja-dropbox/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/mate/caja-extensions/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/mate/caja/caja-extension-dirs.patch46
-rw-r--r--nixpkgs/pkgs/desktops/mate/caja/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/mate/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/mate/engrampa/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/mate/eom/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/mate/libmatekbd/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/mate/libmatemixer/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/mate/libmateweather/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/mate/marco/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-applets/default.nix26
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-backgrounds/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-calc/default.nix10
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-common/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-control-center/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-desktop/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-icon-theme/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-indicator-applet/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-media/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-menus/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-netbook/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-notification-daemon/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-panel/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-polkit/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-power-manager/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-screensaver/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-sensors-applet/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-session-manager/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-settings-daemon/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-system-monitor/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-terminal/default.nix32
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-user-guide/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-user-share/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-utils/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/mate/mozo/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/mate/pluma/default.nix20
-rw-r--r--nixpkgs/pkgs/desktops/mate/python-caja/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/appcenter/default.nix18
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/granite/default.nix7
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/3rdparty/addons/krunner-symbols.nix2
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/fetch.sh2
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/kdeplasma-addons.nix4
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/kscreenlocker.nix3
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/ksysguard.nix17
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/ksystemstats.nix11
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/kwin/0001-NixOS-Unwrap-executable-name-for-.desktop-search.patch8
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/kwin/0001-follow-symlinks.patch8
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/kwin/0002-xwayland.patch8
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/kwin/0003-plugins-qpa-allow-using-nixos-wrapper.patch8
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/layer-shell-qt.nix10
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/libksysguard/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/plasma-desktop/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/plasma-vault/encfs-path.patch17
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/srcs.nix426
-rw-r--r--nixpkgs/pkgs/desktops/xfce/applications/catfish/default.nix7
-rw-r--r--nixpkgs/pkgs/desktops/xfce/applications/mousepad/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/xfce/applications/xfdashboard/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/xfce/core/thunar/wrapper.nix2
-rw-r--r--nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin/default.nix4
-rw-r--r--nixpkgs/pkgs/development/beam-modules/build-mix.nix9
-rw-r--r--nixpkgs/pkgs/development/beam-modules/default.nix2
-rw-r--r--nixpkgs/pkgs/development/beam-modules/elixir-ls/default.nix (renamed from nixpkgs/pkgs/development/beam-modules/elixir_ls.nix)7
-rwxr-xr-xnixpkgs/pkgs/development/beam-modules/elixir-ls/update.sh32
-rw-r--r--nixpkgs/pkgs/development/beam-modules/erlang-ls/default.nix30
-rw-r--r--nixpkgs/pkgs/development/beam-modules/erlang-ls/rebar-deps.nix2
-rw-r--r--nixpkgs/pkgs/development/beam-modules/fetch-hex.nix14
-rw-r--r--nixpkgs/pkgs/development/beam-modules/fetch-rebar-deps.nix19
-rwxr-xr-xnixpkgs/pkgs/development/beam-modules/mix-configure-hook.sh18
-rw-r--r--nixpkgs/pkgs/development/beam-modules/mix-release.nix1
-rw-r--r--nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/jdk-darwin-base.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/adoptopenjdk-icedtea-web/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/aldor/default.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/algol68g/0001-plotutils-png-support.diff27
-rw-r--r--nixpkgs/pkgs/development/compilers/algol68g/default.nix55
-rw-r--r--nixpkgs/pkgs/development/compilers/aliceml/default.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/avra/default.nix5
-rw-r--r--nixpkgs/pkgs/development/compilers/bigloo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/binaryen/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/bluespec/default.nix105
-rw-r--r--nixpkgs/pkgs/development/compilers/bupc/default.nix5
-rw-r--r--nixpkgs/pkgs/development/compilers/c3c/default.nix47
-rw-r--r--nixpkgs/pkgs/development/compilers/clasp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/closure/default.nix10
-rw-r--r--nixpkgs/pkgs/development/compilers/cmdstan/default.nix7
-rw-r--r--nixpkgs/pkgs/development/compilers/cone/default.nix42
-rw-r--r--nixpkgs/pkgs/development/compilers/dictu/0001-force-sqlite-to-be-found.patch46
-rw-r--r--nixpkgs/pkgs/development/compilers/dictu/default.nix84
-rw-r--r--nixpkgs/pkgs/development/compilers/dtc/default.nix10
-rw-r--r--nixpkgs/pkgs/development/compilers/ecl/16.1.2.nix44
-rw-r--r--nixpkgs/pkgs/development/compilers/ecl/default.nix34
-rw-r--r--nixpkgs/pkgs/development/compilers/edk2/default.nix1
-rw-r--r--nixpkgs/pkgs/development/compilers/emscripten/0001-emulate-clang-sysroot-include-logic.patch42
-rw-r--r--nixpkgs/pkgs/development/compilers/emscripten/default.nix43
-rw-r--r--nixpkgs/pkgs/development/compilers/emscripten/package.json18
-rw-r--r--nixpkgs/pkgs/development/compilers/emscripten/yarn.lock800
-rw-r--r--nixpkgs/pkgs/development/compilers/emscripten/yarn.nix874
-rw-r--r--nixpkgs/pkgs/development/compilers/fennel/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/fstar/default.nix55
-rw-r--r--nixpkgs/pkgs/development/compilers/gcc-arm-embedded/10/default.nix18
-rw-r--r--nixpkgs/pkgs/development/compilers/gcc-arm-embedded/6/default.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/gcc-arm-embedded/7/default.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/gcc-arm-embedded/8/default.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/gcc-arm-embedded/9/default.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/gcc/10/default.nix5
-rw-r--r--nixpkgs/pkgs/development/compilers/gcc/11/default.nix5
-rw-r--r--nixpkgs/pkgs/development/compilers/gcc/6/default.nix5
-rw-r--r--nixpkgs/pkgs/development/compilers/gcc/9/default.nix5
-rw-r--r--nixpkgs/pkgs/development/compilers/gcc/common/configure-flags.nix18
-rw-r--r--nixpkgs/pkgs/development/compilers/ghc/8.10.2-binary.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/ghc/8.10.7-binary.nix391
-rw-r--r--nixpkgs/pkgs/development/compilers/ghc/8.10.7.nix (renamed from nixpkgs/pkgs/development/compilers/ghc/8.10.4.nix)23
-rw-r--r--nixpkgs/pkgs/development/compilers/ghc/8.6.5-binary.nix1
-rw-r--r--nixpkgs/pkgs/development/compilers/ghc/8.8.4.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/ghc/9.0.1.nix10
-rw-r--r--nixpkgs/pkgs/development/compilers/ghc/9.2.1.nix320
-rw-r--r--nixpkgs/pkgs/development/compilers/ghc/head.nix19
-rw-r--r--nixpkgs/pkgs/development/compilers/gnatboot/default.nix8
-rw-r--r--nixpkgs/pkgs/development/compilers/go/1.14.nix284
-rw-r--r--nixpkgs/pkgs/development/compilers/go/1.15.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/go/1.16.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/go/go_no_vendor_checks-1_14.patch23
-rw-r--r--nixpkgs/pkgs/development/compilers/go/remove-test-pie-1.14.patch34
-rw-r--r--nixpkgs/pkgs/development/compilers/go/skip-external-network-tests.patch26
-rw-r--r--nixpkgs/pkgs/development/compilers/go/ssl-cert-file-1.13.patch64
-rw-r--r--nixpkgs/pkgs/development/compilers/gprolog/default.nix13
-rw-r--r--nixpkgs/pkgs/development/compilers/graalvm/community-edition.nix285
-rw-r--r--nixpkgs/pkgs/development/compilers/graalvm/community-edition/default.nix21
-rw-r--r--nixpkgs/pkgs/development/compilers/graalvm/community-edition/repository.nix271
-rw-r--r--nixpkgs/pkgs/development/compilers/hop/default.nix7
-rw-r--r--nixpkgs/pkgs/development/compilers/iasl/default.nix30
-rw-r--r--nixpkgs/pkgs/development/compilers/intel-graphics-compiler/default.nix32
-rw-r--r--nixpkgs/pkgs/development/compilers/jetbrains-jdk/default.nix8
-rw-r--r--nixpkgs/pkgs/development/compilers/jwasm/default.nix43
-rw-r--r--nixpkgs/pkgs/development/compilers/kotlin/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/10/compiler-rt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/10/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/11/compiler-rt/default.nix7
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/11/default.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/11/llvm/default.nix1
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/12/compiler-rt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/12/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/12/llvm/default.nix1
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/13/bintools/default.nix29
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/13/clang/default.nix122
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/13/clang/gnu-install-dirs.patch235
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/13/clang/purity.patch28
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/13/compiler-rt/X86-support-extension.patch21
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/13/compiler-rt/armv7l.patch32
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/13/compiler-rt/codesign.patch33
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/13/compiler-rt/darwin-targetconditionals.patch71
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/13/compiler-rt/default.nix116
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/13/compiler-rt/normalize-var.patch16
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/13/compiler-rt/sanitizers-nongnu.patch412
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/13/default.nix267
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/13/libcxx/default.nix55
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/13/libcxx/gnu-install-dirs.patch82
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/13/libcxxabi/default.nix76
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/13/libcxxabi/gnu-install-dirs.patch37
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/13/libcxxabi/wasm.patch16
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/13/libunwind/default.nix33
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/13/libunwind/gnu-install-dirs.patch36
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/13/lld/default.nix44
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/13/lld/gnu-install-dirs.patch68
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/13/lldb/default.nix139
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/13/lldb/gnu-install-dirs.patch91
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/13/lldb/procfs.patch31
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/13/lldb/resource-dir.patch13
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/13/llvm/default.nix224
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/13/llvm/gnu-install-dirs-polly.patch105
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/13/llvm/gnu-install-dirs.patch381
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/13/llvm/outputs.patch26
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/13/openmp/default.nix39
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/5/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/6/compiler-rt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/6/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/7/compiler-rt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/7/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/8/compiler-rt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/8/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/compiler-rt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/git/clang/default.nix11
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/git/compiler-rt/X86-support-extension.patch4
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/git/compiler-rt/codesign.patch10
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/git/compiler-rt/darwin-targetconditionals.patch71
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/git/compiler-rt/default.nix7
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/git/compiler-rt/gnu-install-dirs.patch129
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/git/default.nix21
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/git/libcxx/gnu-install-dirs.patch43
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/git/libcxxabi/gnu-install-dirs.patch23
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/git/libunwind/gnu-install-dirs.patch22
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/git/lldb/default.nix14
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/git/lldb/gnu-install-dirs.patch26
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/rocm/clang.nix4
-rwxr-xr-xnixpkgs/pkgs/development/compilers/llvm/update-git.py6
-rwxr-xr-xnixpkgs/pkgs/development/compilers/llvm/update.sh33
-rw-r--r--nixpkgs/pkgs/development/compilers/marst/default.nix54
-rw-r--r--nixpkgs/pkgs/development/compilers/meta-environment/meta-build-env/default.nix8
-rw-r--r--nixpkgs/pkgs/development/compilers/mezzo/default.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/mit-scheme/default.nix73
-rw-r--r--nixpkgs/pkgs/development/compilers/mkcl/default.nix23
-rw-r--r--nixpkgs/pkgs/development/compilers/mlkit/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/mono/6.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/nextpnr/default.nix10
-rw-r--r--nixpkgs/pkgs/development/compilers/ocaml/4.13.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/ocaml/generic.nix42
-rw-r--r--nixpkgs/pkgs/development/compilers/opendylan/default.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/openjdk/darwin/11.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/openjdk/darwin/default.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/openjdk/jre_minimal_test1.nix16
-rw-r--r--nixpkgs/pkgs/development/compilers/openjdk/openjfx/11.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/osl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/ponyc/pony-corral.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/purescript/purescript/default.nix14
-rwxr-xr-xnixpkgs/pkgs/development/compilers/purescript/purescript/update.sh43
-rw-r--r--nixpkgs/pkgs/development/compilers/rgbds/default.nix12
-rw-r--r--nixpkgs/pkgs/development/compilers/rust/default.nix5
-rw-r--r--nixpkgs/pkgs/development/compilers/sbcl/common.nix10
-rw-r--r--nixpkgs/pkgs/development/compilers/scala-runners/default.nix9
-rw-r--r--nixpkgs/pkgs/development/compilers/scala/2.x.nix8
-rw-r--r--nixpkgs/pkgs/development/compilers/sdcc/default.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/seexpr/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/stalin/default.nix15
-rw-r--r--nixpkgs/pkgs/development/compilers/swift/default.nix290
-rw-r--r--nixpkgs/pkgs/development/compilers/swift/patches/0001-build-presets-linux-don-t-require-using-Ninja.patch8
-rw-r--r--nixpkgs/pkgs/development/compilers/swift/patches/0002-build-presets-linux-allow-custom-install-prefix.patch8
-rw-r--r--nixpkgs/pkgs/development/compilers/swift/patches/0003-build-presets-linux-don-t-build-extra-libs.patch12
-rw-r--r--nixpkgs/pkgs/development/compilers/swift/patches/0004-build-presets-linux-plumb-extra-cmake-options.patch6
-rw-r--r--nixpkgs/pkgs/development/compilers/swift/patches/0005-clang-toolchain-dir.patch13
-rw-r--r--nixpkgs/pkgs/development/compilers/swift/patches/0006-clang-purity.patch16
-rw-r--r--nixpkgs/pkgs/development/compilers/swift/patches/glibc-arch-headers.patch13
-rw-r--r--nixpkgs/pkgs/development/compilers/swift/patches/llvm-toolchain-dir.patch24
-rw-r--r--nixpkgs/pkgs/development/compilers/swift/patches/swift-llvm.patch48
-rw-r--r--nixpkgs/pkgs/development/compilers/swift/patches/swift-package-manager-glibc-2.30.patch25
-rw-r--r--nixpkgs/pkgs/development/compilers/swift/purity.patch18
-rw-r--r--nixpkgs/pkgs/development/compilers/terra/default.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/vala/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/vlang/default.nix24
-rw-r--r--nixpkgs/pkgs/development/compilers/vyper/default.nix7
-rw-r--r--nixpkgs/pkgs/development/compilers/yosys/default.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/yosys/plugins/bluespec.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/zulu/8.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/zulu/default.nix13
-rw-r--r--nixpkgs/pkgs/development/coq-modules/QuickChick/default.nix19
-rw-r--r--nixpkgs/pkgs/development/coq-modules/VST/default.nix21
-rw-r--r--nixpkgs/pkgs/development/coq-modules/addition-chains/default.nix33
-rw-r--r--nixpkgs/pkgs/development/coq-modules/category-theory/default.nix3
-rw-r--r--nixpkgs/pkgs/development/coq-modules/coqeal/default.nix2
-rw-r--r--nixpkgs/pkgs/development/coq-modules/corn/default.nix2
-rw-r--r--nixpkgs/pkgs/development/coq-modules/gaia/default.nix24
-rw-r--r--nixpkgs/pkgs/development/coq-modules/graph-theory/default.nix33
-rw-r--r--nixpkgs/pkgs/development/coq-modules/hydra-battles/default.nix24
-rw-r--r--nixpkgs/pkgs/development/coq-modules/interval/default.nix15
-rw-r--r--nixpkgs/pkgs/development/coq-modules/mathcomp/default.nix2
-rw-r--r--nixpkgs/pkgs/development/coq-modules/multinomials/default.nix3
-rw-r--r--nixpkgs/pkgs/development/coq-modules/serapi/default.nix72
-rw-r--r--nixpkgs/pkgs/development/coq-modules/topology/default.nix9
-rw-r--r--nixpkgs/pkgs/development/coq-modules/zorns-lemma/default.nix7
-rw-r--r--nixpkgs/pkgs/development/em-modules/generic/default.nix6
-rw-r--r--nixpkgs/pkgs/development/embedded/arduino/arduino-ci/default.nix (renamed from nixpkgs/pkgs/development/arduino/arduino-ci/default.nix)0
-rw-r--r--nixpkgs/pkgs/development/embedded/arduino/arduino-cli/default.nix (renamed from nixpkgs/pkgs/development/arduino/arduino-cli/default.nix)4
-rw-r--r--nixpkgs/pkgs/development/embedded/arduino/arduino-core/default.nix (renamed from nixpkgs/pkgs/development/arduino/arduino-core/default.nix)0
-rw-r--r--nixpkgs/pkgs/development/embedded/arduino/arduino-core/downloads.nix (renamed from nixpkgs/pkgs/development/arduino/arduino-core/downloads.nix)0
-rw-r--r--nixpkgs/pkgs/development/embedded/arduino/arduino-mk/default.nix (renamed from nixpkgs/pkgs/development/arduino/arduino-mk/default.nix)0
-rw-r--r--nixpkgs/pkgs/development/embedded/arduino/ino/default.nix (renamed from nixpkgs/pkgs/development/arduino/ino/default.nix)6
-rw-r--r--nixpkgs/pkgs/development/embedded/avrdude/default.nix (renamed from nixpkgs/pkgs/development/tools/misc/avrdude/default.nix)0
-rw-r--r--nixpkgs/pkgs/development/embedded/blackmagic/default.nix (renamed from nixpkgs/pkgs/development/tools/misc/blackmagic/default.nix)0
-rwxr-xr-xnixpkgs/pkgs/development/embedded/blackmagic/helper.sh (renamed from nixpkgs/pkgs/development/tools/misc/blackmagic/helper.sh)0
-rw-r--r--nixpkgs/pkgs/development/embedded/bossa/bin2c.c (renamed from nixpkgs/pkgs/development/tools/misc/bossa/bin2c.c)0
-rw-r--r--nixpkgs/pkgs/development/embedded/bossa/bossa-no-applet-build.patch (renamed from nixpkgs/pkgs/development/tools/misc/bossa/bossa-no-applet-build.patch)0
-rw-r--r--nixpkgs/pkgs/development/embedded/bossa/default.nix (renamed from nixpkgs/pkgs/development/tools/misc/bossa/default.nix)0
-rw-r--r--nixpkgs/pkgs/development/embedded/cc-tool/default.nix (renamed from nixpkgs/pkgs/development/tools/misc/cc-tool/default.nix)0
-rw-r--r--nixpkgs/pkgs/development/embedded/easypdkprog/default.nix (renamed from nixpkgs/pkgs/development/tools/misc/easypdkprog/default.nix)0
-rw-r--r--nixpkgs/pkgs/development/embedded/fpga/apio/default.nix69
-rw-r--r--nixpkgs/pkgs/development/embedded/fpga/ecpdap/default.nix (renamed from nixpkgs/pkgs/development/tools/ecpdap/default.nix)0
-rw-r--r--nixpkgs/pkgs/development/embedded/fpga/fujprog/default.nix (renamed from nixpkgs/pkgs/development/tools/misc/fujprog/default.nix)0
-rw-r--r--nixpkgs/pkgs/development/embedded/fpga/icestorm/default.nix (renamed from nixpkgs/pkgs/development/tools/icestorm/default.nix)0
-rw-r--r--nixpkgs/pkgs/development/embedded/fpga/lattice-diamond/default.nix (renamed from nixpkgs/pkgs/development/tools/lattice-diamond/default.nix)2
-rw-r--r--nixpkgs/pkgs/development/embedded/fpga/openfpgaloader/default.nix (renamed from nixpkgs/pkgs/development/tools/misc/openfpgaloader/default.nix)4
-rw-r--r--nixpkgs/pkgs/development/embedded/fpga/tinyprog/default.nix (renamed from nixpkgs/pkgs/development/tools/misc/tinyprog/default.nix)0
-rw-r--r--nixpkgs/pkgs/development/embedded/fpga/trellis/default.nix (renamed from nixpkgs/pkgs/development/tools/trellis/default.nix)38
-rw-r--r--nixpkgs/pkgs/development/embedded/gputils/default.nix (renamed from nixpkgs/pkgs/development/tools/misc/gputils/default.nix)0
-rw-r--r--nixpkgs/pkgs/development/embedded/openocd/default.nix (renamed from nixpkgs/pkgs/development/tools/misc/openocd/default.nix)0
-rw-r--r--nixpkgs/pkgs/development/embedded/platformio/chrootenv.nix (renamed from nixpkgs/pkgs/development/arduino/platformio/chrootenv.nix)0
-rw-r--r--nixpkgs/pkgs/development/embedded/platformio/core.nix (renamed from nixpkgs/pkgs/development/arduino/platformio/core.nix)10
-rw-r--r--nixpkgs/pkgs/development/embedded/platformio/default.nix (renamed from nixpkgs/pkgs/development/arduino/platformio/default.nix)0
-rw-r--r--nixpkgs/pkgs/development/embedded/platformio/fix-searchpath.patch (renamed from nixpkgs/pkgs/development/arduino/platformio/fix-searchpath.patch)0
-rw-r--r--nixpkgs/pkgs/development/embedded/platformio/missing-udev-rules-nixos.patch (renamed from nixpkgs/pkgs/development/arduino/platformio/missing-udev-rules-nixos.patch)0
-rw-r--r--nixpkgs/pkgs/development/embedded/platformio/use-local-spdx-license-list.patch (renamed from nixpkgs/pkgs/development/arduino/platformio/use-local-spdx-license-list.patch)0
-rw-r--r--nixpkgs/pkgs/development/embedded/rshell/default.nix (renamed from nixpkgs/pkgs/development/tools/rshell/default.nix)0
-rw-r--r--nixpkgs/pkgs/development/embedded/stm32/betaflight/default.nix (renamed from nixpkgs/pkgs/development/misc/stm32/betaflight/default.nix)0
-rw-r--r--nixpkgs/pkgs/development/embedded/stm32/inav/default.nix (renamed from nixpkgs/pkgs/development/misc/stm32/inav/default.nix)0
-rw-r--r--nixpkgs/pkgs/development/embedded/stm32/stm32cubemx/default.nix (renamed from nixpkgs/pkgs/development/tools/misc/stm32cubemx/default.nix)0
-rw-r--r--nixpkgs/pkgs/development/embedded/stm32/stm32flash/default.nix (renamed from nixpkgs/pkgs/development/tools/misc/stm32flash/default.nix)4
-rw-r--r--nixpkgs/pkgs/development/embedded/teensy-loader-cli/default.nix (renamed from nixpkgs/pkgs/development/tools/misc/teensy-loader-cli/default.nix)29
-rw-r--r--nixpkgs/pkgs/development/embedded/uisp/default.nix (renamed from nixpkgs/pkgs/development/tools/misc/uisp/default.nix)0
-rw-r--r--nixpkgs/pkgs/development/embedded/xc3sprog/default.nix (renamed from nixpkgs/pkgs/development/tools/misc/xc3sprog/default.nix)0
-rw-r--r--nixpkgs/pkgs/development/go-modules/generic/default.nix39
-rw-r--r--nixpkgs/pkgs/development/go-packages/generic/default.nix11
-rw-r--r--nixpkgs/pkgs/development/guile-modules/guile-lib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/HACKING.md39
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/cabal2nix-unstable.nix6
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/configuration-arm.nix5
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/configuration-common.nix198
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/configuration-darwin.nix86
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix4
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix4
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix11
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix115
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml63
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml238
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml198
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml74
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/configuration-nix.nix45
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/hackage-packages.nix6673
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/non-hackage-packages.nix17
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/package-list.nix19
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/patches/SDL-image-darwin-hsc.patch9
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/patches/SDL-ttf-darwin-hsc.patch9
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/patches/graphql-engine-mapkeys.patch33
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/patches/hasura-884-compat.patch26
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/patches/readline-fix-for-cabal-3.patch8
-rw-r--r--nixpkgs/pkgs/development/interpreters/acl2/0001-Fix-some-paths-for-Nix-build.patch128
-rw-r--r--nixpkgs/pkgs/development/interpreters/acl2/0002-Restrict-RDTSC-to-x86.patch29
-rw-r--r--nixpkgs/pkgs/development/interpreters/acl2/default.nix58
-rw-r--r--nixpkgs/pkgs/development/interpreters/acl2/libipasirglucose4/default.nix17
-rw-r--r--nixpkgs/pkgs/development/interpreters/bic/default.nix42
-rw-r--r--nixpkgs/pkgs/development/interpreters/ceptre/default.nix3
-rw-r--r--nixpkgs/pkgs/development/interpreters/cling/default.nix3
-rw-r--r--nixpkgs/pkgs/development/interpreters/clojure/babashka.nix36
-rw-r--r--nixpkgs/pkgs/development/interpreters/clojure/default.nix7
-rw-r--r--nixpkgs/pkgs/development/interpreters/elixir/1.12.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/erlang/R23.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/erlang/R24.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/evcxr/default.nix6
-rw-r--r--nixpkgs/pkgs/development/interpreters/io/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/joker/default.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/lua-5/build-lua-package.nix28
-rw-r--r--nixpkgs/pkgs/development/interpreters/lua-5/default.nix5
-rw-r--r--nixpkgs/pkgs/development/interpreters/luajit/2.0.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/luajit/2.1.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/luajit/default.nix6
-rw-r--r--nixpkgs/pkgs/development/interpreters/luajit/openresty.nix10
-rw-r--r--nixpkgs/pkgs/development/interpreters/octave/default.nix8
-rw-r--r--nixpkgs/pkgs/development/interpreters/perl/default.nix8
-rw-r--r--nixpkgs/pkgs/development/interpreters/pixie/dust.nix24
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/cpython/default.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/default.nix21
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/tests/test_nix_pythonprefix/default.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/racket/default.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/racket/minimal.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/rakudo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/rakudo/moarvm.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/rakudo/nqp.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/rakudo/zef.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/ruby/rubygems/default.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/s9fes/default.nix35
-rw-r--r--nixpkgs/pkgs/development/interpreters/scsh/default.nix3
-rw-r--r--nixpkgs/pkgs/development/interpreters/supercollider/default.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/yabasic/default.nix6
-rw-r--r--nixpkgs/pkgs/development/java-modules/build-maven-package.nix2
-rw-r--r--nixpkgs/pkgs/development/java-modules/m2install.nix4
-rw-r--r--nixpkgs/pkgs/development/java-modules/postgresql_jdbc/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/SDL2_image/default.nix14
-rw-r--r--nixpkgs/pkgs/development/libraries/SDL_Pango/default.nix1
-rw-r--r--nixpkgs/pkgs/development/libraries/a52dec/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/ace/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/ada/gnatcoll/bindings.nix88
-rw-r--r--nixpkgs/pkgs/development/libraries/ada/gnatcoll/core.nix47
-rw-r--r--nixpkgs/pkgs/development/libraries/ada/gnatcoll/db.nix110
-rw-r--r--nixpkgs/pkgs/development/libraries/ada/gnatcoll/gnatcoll-db-sqlite-static-external.patch18
-rw-r--r--nixpkgs/pkgs/development/libraries/ada/gnatcoll/omp-setup-text-mode.patch23
-rw-r--r--nixpkgs/pkgs/development/libraries/ada/xmlada/default.nix35
-rw-r--r--nixpkgs/pkgs/development/libraries/aften/default.nix13
-rw-r--r--nixpkgs/pkgs/development/libraries/aften/simd-fallback.patch25
-rw-r--r--nixpkgs/pkgs/development/libraries/agda/agda-categories/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/agda/agda-prelude/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/agda/cubical/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/agda/functional-linear-algebra/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/agda/generic/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/alkimia/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/allegro/5.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/alure/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/amdvlk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/apache-activemq/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/appstream-glib/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/aqbanking/sources.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/arb/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/armadillo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/arpa2common/default.nix58
-rw-r--r--nixpkgs/pkgs/development/libraries/arrow-cpp/default.nix16
-rw-r--r--nixpkgs/pkgs/development/libraries/aspell/default.nix9
-rw-r--r--nixpkgs/pkgs/development/libraries/aspell/dictionaries.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/at-spi2-core/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/attr/default.nix9
-rw-r--r--nixpkgs/pkgs/development/libraries/attr/syscall.patch120
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/libgme/default.nix3
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/lvtk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/aws-c-common/default.nix12
-rw-r--r--nixpkgs/pkgs/development/libraries/aws-c-io/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/aws-sdk-cpp/default.nix13
-rw-r--r--nixpkgs/pkgs/development/libraries/bctoolbox/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/bobcat/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/boolstuff/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/boost/1.67.nix39
-rw-r--r--nixpkgs/pkgs/development/libraries/boost/1.71.nix15
-rw-r--r--nixpkgs/pkgs/development/libraries/boost/generic.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/bzrtp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/caf/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/cairo/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/capnproto/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/catch2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/cglm/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/cimg/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/cjson/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/cmark/default.nix18
-rw-r--r--nixpkgs/pkgs/development/libraries/codec2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/cpp-utilities/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/csfml/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/dqlite/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/drogon/default.nix23
-rw-r--r--nixpkgs/pkgs/development/libraries/drumstick/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/duckdb/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/dyncall/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/eigen/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/eigen/include-dir.patch13
-rw-r--r--nixpkgs/pkgs/development/libraries/embree/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/enchant/2.x.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/entt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/ethash/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/eventlog/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/faudio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/fcft/default.nix23
-rw-r--r--nixpkgs/pkgs/development/libraries/fdk-aac/default.nix20
-rw-r--r--nixpkgs/pkgs/development/libraries/ffmpeg-full/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/fftw/default.nix19
-rw-r--r--nixpkgs/pkgs/development/libraries/flatbuffers/1.12.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/flint/default.nix24
-rw-r--r--nixpkgs/pkgs/development/libraries/folly/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/freetds/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/freetype/default.nix48
-rw-r--r--nixpkgs/pkgs/development/libraries/frei0r/default.nix20
-rw-r--r--nixpkgs/pkgs/development/libraries/ftxui/default.nix33
-rw-r--r--nixpkgs/pkgs/development/libraries/gbenchmark/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/gcab/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/gdal/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/gdcm/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/gensio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/git2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/gjs/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/goocanvas/3.x.nix49
-rw-r--r--nixpkgs/pkgs/development/libraries/gpgme/default.nix16
-rw-r--r--nixpkgs/pkgs/development/libraries/graphene-hardened-malloc/default.nix77
-rw-r--r--nixpkgs/pkgs/development/libraries/grilo/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/grpc/default.nix52
-rw-r--r--nixpkgs/pkgs/development/libraries/gsettings-desktop-schemas/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/default.nix22
-rw-r--r--nixpkgs/pkgs/development/libraries/gtest/default.nix11
-rw-r--r--nixpkgs/pkgs/development/libraries/gtk/3.x.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/gtkextra/default.nix42
-rw-r--r--nixpkgs/pkgs/development/libraries/gusb/default.nix13
-rw-r--r--nixpkgs/pkgs/development/libraries/gusb/fix-python-path.patch14
-rw-r--r--nixpkgs/pkgs/development/libraries/half/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/hamlib/4.nix64
-rw-r--r--nixpkgs/pkgs/development/libraries/hamlib/default.nix50
-rw-r--r--nixpkgs/pkgs/development/libraries/harfbuzz/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/hivex/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/howard-hinnant-date/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/hunspell/dictionaries.nix9
-rw-r--r--nixpkgs/pkgs/development/libraries/imath/default.nix27
-rw-r--r--nixpkgs/pkgs/development/libraries/imlib2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/intel-gmmlib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/intel-media-driver/default.nix18
-rw-r--r--nixpkgs/pkgs/development/libraries/intel-media-sdk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/itk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/java/commons/compress/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/java/hsqldb/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/java/lombok/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/kddockwidgets/default.nix29
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/baloo.nix1
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/fetch.sh2
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/kimageformats.nix15
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/kpackage/0002-QDirIterator-follow-symlinks.patch31
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/kwindowsystem/0001-platform-plugins-path.patch2
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/srcs.nix664
-rw-r--r--nixpkgs/pkgs/development/libraries/kdsoap/default.nix36
-rw-r--r--nixpkgs/pkgs/development/libraries/kerberos/heimdal.nix3
-rw-r--r--nixpkgs/pkgs/development/libraries/khronos-ocl-icd-loader/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/kmsxx/default.nix32
-rw-r--r--nixpkgs/pkgs/development/libraries/kquickimageedit/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/lemon-graph/default.nix28
-rw-r--r--nixpkgs/pkgs/development/libraries/leptonica/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/lib3mf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libantlr3c/default.nix12
-rw-r--r--nixpkgs/pkgs/development/libraries/libaom/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libarchive-qt/default.nix33
-rw-r--r--nixpkgs/pkgs/development/libraries/libargs/default.nix22
-rw-r--r--nixpkgs/pkgs/development/libraries/libaudec/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libayatana-appindicator/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/libayatana-indicator/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libbluray/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libbytesize/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libcamera/default.nix76
-rw-r--r--nixpkgs/pkgs/development/libraries/libcanberra/default.nix23
-rw-r--r--nixpkgs/pkgs/development/libraries/libcef/default.nix34
-rw-r--r--nixpkgs/pkgs/development/libraries/libcouchbase/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libcprime/0001-fix-application-dirs.patch29
-rw-r--r--nixpkgs/pkgs/development/libraries/libcprime/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libcsys/default.nix31
-rw-r--r--nixpkgs/pkgs/development/libraries/libdeltachat/default.nix30
-rw-r--r--nixpkgs/pkgs/development/libraries/libdeltachat/no-static-lib.patch39
-rw-r--r--nixpkgs/pkgs/development/libraries/libdvdcss/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libdvdread/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libe57format/default.nix34
-rw-r--r--nixpkgs/pkgs/development/libraries/libebur128/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libedit/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libelf/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/libelfin/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libemf2svg/default.nix31
-rw-r--r--nixpkgs/pkgs/development/libraries/liberfa/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libffcall/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libffi/default.nix12
-rw-r--r--nixpkgs/pkgs/development/libraries/libfilezilla/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libfm/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libfprint/default.nix13
-rw-r--r--nixpkgs/pkgs/development/libraries/libfreeaptx/default.nix31
-rw-r--r--nixpkgs/pkgs/development/libraries/libgnurl/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/libgpg-error/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/libgpg-error/fix-1.42-cross-compilation.patch142
-rw-r--r--nixpkgs/pkgs/development/libraries/libgrss/default.nix18
-rw-r--r--nixpkgs/pkgs/development/libraries/libguestfs/default.nix46
-rw-r--r--nixpkgs/pkgs/development/libraries/libguestfs/ocaml-4.12.patch11
-rw-r--r--nixpkgs/pkgs/development/libraries/libhdhomerun/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libidn/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libidn2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libint/default.nix156
-rw-r--r--nixpkgs/pkgs/development/libraries/libiscsi/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/libite/default.nix4
-rwxr-xr-xnixpkgs/pkgs/development/libraries/libjpeg/builder.sh25
-rw-r--r--nixpkgs/pkgs/development/libraries/libjpeg/default.nix20
-rw-r--r--nixpkgs/pkgs/development/libraries/liblouis/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/liblscp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libmwaw/default.nix1
-rw-r--r--nixpkgs/pkgs/development/libraries/libnbd/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libndp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libnetfilter_acct/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libnetfilter_cthelper/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libnetfilter_queue/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libnfnetlink/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libopus/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libpg_query/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libpqxx/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libqalculate/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libquotient/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libraspberrypi/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/librdf/raptor.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/librdf/raptor2.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/librdf/rasqal.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/librdf/redland.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/librelp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libressl/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/libroxml/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/librsync/0.9.nix26
-rw-r--r--nixpkgs/pkgs/development/libraries/libsodium/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/libsodium/mingw-no-fortify.patch15
-rw-r--r--nixpkgs/pkgs/development/libraries/libspf2/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/libsystemtap/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libtgvoip/default.nix48
-rw-r--r--nixpkgs/pkgs/development/libraries/libtins/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/liburcu/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libuv/default.nix15
-rw-r--r--nixpkgs/pkgs/development/libraries/libvarlink/default.nix43
-rw-r--r--nixpkgs/pkgs/development/libraries/libvisio2svg/default.nix34
-rw-r--r--nixpkgs/pkgs/development/libraries/libvmi/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libwebsockets/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libxlsxwriter/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libyaml-cpp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/lime/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/live555/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/mapnik/default.nix16
-rw-r--r--nixpkgs/pkgs/development/libraries/mbedtls/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/mesa-glu/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/mesa/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/microsoft_gsl/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/miniball/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/mlt/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/mlt/qt-5.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/msgpack/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/nco/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/ndi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/ndpi/default.nix18
-rw-r--r--nixpkgs/pkgs/development/libraries/netcdf/default.nix17
-rw-r--r--nixpkgs/pkgs/development/libraries/notcurses/default.nix50
-rw-r--r--nixpkgs/pkgs/development/libraries/nspr/default.nix18
-rw-r--r--nixpkgs/pkgs/development/libraries/nss/3.53.nix148
-rw-r--r--nixpkgs/pkgs/development/libraries/nss/default.nix160
-rw-r--r--nixpkgs/pkgs/development/libraries/nss_wrapper/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/nuraft/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/nuspell/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/odpic/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/oneDNN/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/opendht/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/openexr/3.nix32
-rw-r--r--nixpkgs/pkgs/development/libraries/openimagedenoise/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/openssl/1.0.2/darwin64-arm64.patch12
-rw-r--r--nixpkgs/pkgs/development/libraries/openssl/1.1/macos-yosemite-compat.patch56
-rw-r--r--nixpkgs/pkgs/development/libraries/openssl/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/openxr-loader/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/optparse-bash/default.nix63
-rw-r--r--nixpkgs/pkgs/development/libraries/orcania/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/p11-kit/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/pcl/default.nix20
-rw-r--r--nixpkgs/pkgs/development/libraries/pdal/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/phonon/backends/vlc.nix20
-rw-r--r--nixpkgs/pkgs/development/libraries/physics/fastnlo_toolkit/default.nix43
-rw-r--r--nixpkgs/pkgs/development/libraries/pipewire/default.nix32
-rw-r--r--nixpkgs/pkgs/development/libraries/plasma-wayland-protocols/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/portaudio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/portmidi/default.nix58
-rw-r--r--nixpkgs/pkgs/development/libraries/portmidi/remove-darwin-variables.diff52
-rw-r--r--nixpkgs/pkgs/development/libraries/precice/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/pugixml/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/pupnp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/qgnomeplatform/default.nix25
-rw-r--r--nixpkgs/pkgs/development/libraries/qgnomeplatform/hardcode-gsettings.patch15
-rw-r--r--nixpkgs/pkgs/development/libraries/qmlbox2d/default.nix1
-rw-r--r--nixpkgs/pkgs/development/libraries/qmltermwidget/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/qpdf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/qrcodegen/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/qscintilla/default.nix1
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-4.x/4.8/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.12/default.nix103
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.14/default.nix103
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.15/default.nix134
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/modules/qt3d.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/modules/qtbase.nix484
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/modules/qtdeclarative.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/modules/qtmultimedia.nix21
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/modules/qtserialport.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/modules/qttools.nix11
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/modules/qtwebengine.nix150
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/modules/qtwebkit.nix47
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/modules/qtwebview.nix12
-rw-r--r--nixpkgs/pkgs/development/libraries/qtinstaller/default.nix1
-rw-r--r--nixpkgs/pkgs/development/libraries/qtkeychain/0001-Fixes-build-with-Qt4.patch25
-rw-r--r--nixpkgs/pkgs/development/libraries/qtkeychain/default.nix23
-rw-r--r--nixpkgs/pkgs/development/libraries/qtstyleplugin-kvantum/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/raft-canonical/default.nix9
-rw-r--r--nixpkgs/pkgs/development/libraries/range-v3/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/raylib/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/rdkafka/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/reproc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/rocksdb/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/rustc-demangle/add-Cargo.lock.patch73
-rw-r--r--nixpkgs/pkgs/development/libraries/rustc-demangle/default.nix34
-rw-r--r--nixpkgs/pkgs/development/libraries/s2n-tls/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/science/biology/mirtk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/science/chemistry/avogadrolibs/default.nix68
-rw-r--r--nixpkgs/pkgs/development/libraries/science/chemistry/libmsym/default.nix23
-rw-r--r--nixpkgs/pkgs/development/libraries/science/chemistry/mmtf-cpp/default.nix25
-rw-r--r--nixpkgs/pkgs/development/libraries/science/chemistry/molequeue/default.nix33
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/liblapack/default.nix23
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/openspecfun/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/petsc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/science/networking/ns-3/default.nix13
-rw-r--r--nixpkgs/pkgs/development/libraries/sentencepiece/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/sentry-native/default.nix28
-rw-r--r--nixpkgs/pkgs/development/libraries/silgraphite/graphite2.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/simdjson/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/simgear/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/snack/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/sope/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/spglib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/sqlcipher/default.nix9
-rw-r--r--nixpkgs/pkgs/development/libraries/subunit/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/t1lib/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/talloc/default.nix18
-rw-r--r--nixpkgs/pkgs/development/libraries/tclap/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/tdb/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/tezos-rust-libs/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/thrift/0.10.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/thrift/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/tiledb/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/tinyobjloader/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/tkrzw/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/tllist/default.nix11
-rw-r--r--nixpkgs/pkgs/development/libraries/totem-pl-parser/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/tracker-miners/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/trompeloeil/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/ucx/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/unicorn/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/unixODBC/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/usbredir/default.nix48
-rw-r--r--nixpkgs/pkgs/development/libraries/vulkan-headers/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/vulkan-loader/default.nix24
-rw-r--r--nixpkgs/pkgs/development/libraries/webkitgtk/default.nix26
-rw-r--r--nixpkgs/pkgs/development/libraries/wolfssl/default.nix37
-rw-r--r--nixpkgs/pkgs/development/libraries/wxsqlite3/default.nix16
-rw-r--r--nixpkgs/pkgs/development/libraries/xmlsec/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/xvidcore/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/yder/default.nix18
-rw-r--r--nixpkgs/pkgs/development/libraries/yubico-pam/default.nix22
-rw-r--r--nixpkgs/pkgs/development/libraries/zchunk/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/zeroc-ice/3.6.nix26
-rw-r--r--nixpkgs/pkgs/development/libraries/zeroc-ice/default.nix31
-rw-r--r--nixpkgs/pkgs/development/libraries/zeroc-ice/uninitialized-variable-warning.patch20
-rw-r--r--nixpkgs/pkgs/development/libraries/zlib-ng/default.nix4
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/clwrapper/default.nix2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/shell.nix25
-rw-r--r--nixpkgs/pkgs/development/lua-modules/generated-packages.nix1735
-rw-r--r--nixpkgs/pkgs/development/lua-modules/generic/default.nix2
-rw-r--r--nixpkgs/pkgs/development/lua-modules/overrides.nix28
-rw-r--r--nixpkgs/pkgs/development/misc/avr8-burn-omat/default.nix2
-rw-r--r--nixpkgs/pkgs/development/misc/haskell/hasura/ci-info.nix (renamed from nixpkgs/pkgs/development/misc/haskell/hasura/ci-info/default.nix)7
-rw-r--r--nixpkgs/pkgs/development/misc/haskell/hasura/ekg-core.nix34
-rw-r--r--nixpkgs/pkgs/development/misc/haskell/hasura/ekg-json.nix22
-rw-r--r--nixpkgs/pkgs/development/misc/haskell/hasura/graphql-engine.nix81
-rw-r--r--nixpkgs/pkgs/development/misc/haskell/hasura/graphql-engine/default.nix75
-rw-r--r--nixpkgs/pkgs/development/misc/haskell/hasura/graphql-parser.nix33
-rw-r--r--nixpkgs/pkgs/development/misc/haskell/hasura/graphql-parser/default.nix36
-rw-r--r--nixpkgs/pkgs/development/misc/haskell/hasura/pg-client.nix36
-rw-r--r--nixpkgs/pkgs/development/misc/haskell/hasura/pg-client/default.nix30
-rw-r--r--nixpkgs/pkgs/development/misc/haskell/hasura/pool.nix24
-rwxr-xr-xnixpkgs/pkgs/development/misc/haskell/hasura/update.sh85
-rw-r--r--nixpkgs/pkgs/development/misc/rpiboot/default.nix (renamed from nixpkgs/pkgs/development/misc/rpiboot/unstable.nix)10
-rw-r--r--nixpkgs/pkgs/development/mobile/androidenv/compose-android-packages.nix4
-rw-r--r--nixpkgs/pkgs/development/mobile/androidenv/repo.json444
-rw-r--r--nixpkgs/pkgs/development/mobile/cocoapods/Gemfile-beta.lock66
-rw-r--r--nixpkgs/pkgs/development/mobile/cocoapods/Gemfile.lock35
-rw-r--r--nixpkgs/pkgs/development/mobile/cocoapods/gemset-beta.nix80
-rw-r--r--nixpkgs/pkgs/development/mobile/cocoapods/gemset.nix58
-rw-r--r--nixpkgs/pkgs/development/mobile/gomobile/default.nix17
-rw-r--r--nixpkgs/pkgs/development/mobile/gomobile/resolve-nix-android-sdk.patch15
-rw-r--r--nixpkgs/pkgs/development/node-packages/README.md2
-rw-r--r--nixpkgs/pkgs/development/node-packages/default.nix14
-rwxr-xr-xnixpkgs/pkgs/development/node-packages/generate.sh4
-rw-r--r--nixpkgs/pkgs/development/node-packages/node-packages.json22
-rw-r--r--nixpkgs/pkgs/development/node-packages/node-packages.nix19293
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ca-certs-nss/default.nix6
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/callipyge/default.nix36
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/carton/default.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/chacha/default.nix41
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/checkseum/default.nix8
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/checkseum/makefile-no-opam.patch12
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/cudf/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/decompress/default.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/dolmen/default.nix35
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/dose3/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/eliom/default.nix20
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/graphql_ppx/default.nix25
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/hack_parallel/default.nix26
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/imagelib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/integers/default.nix13
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/irmin/ppx.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/janestreet/0.14.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/lens/default.nix17
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/llvm/default.nix9
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/luv/default.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/lwt-dllist/default.nix13
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/lwt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/macaddr/default.nix6
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/mirage-crypto/default.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/mirage/runtime.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/mparser/default.nix28
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/mparser/pcre.nix12
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/noise/default.nix60
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ocaml-lsp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ocaml-lsp/lsp.nix6
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ocaml-print-intf/default.nix31
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ocsigen-server/default.nix45
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ocsigen-start/default.nix19
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ocsigen-toolkit/default.nix12
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/odoc-parser/default.nix25
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/opam-repository/download-tool.patch20
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/otoml/default.nix32
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ounit/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/parany/default.nix9
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/pecu/default.nix14
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/pp/default.nix28
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ppx_cstubs/default.nix7
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ppx_tools/default.nix17
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/rfc7748/default.nix43
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/sedlex/2.nix12
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tcpip/default.nix16
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tcpip/makefile-no-opam.patch12
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/base.nix33
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/clic.nix25
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/crypto.nix38
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/error-monad.nix30
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/event-logging.nix22
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/lmdb.nix51
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/lwt-result-stdlib.nix32
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/micheline.nix28
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/p2p-services.nix18
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/p2p.nix25
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-008-PtEdo2Zk-parameters.nix19
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-008-PtEdo2Zk.nix23
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-compiler.nix29
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-demo-noops.nix18
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-environment-packer.nix15
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-environment-sigs.nix30
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-environment-structs.nix20
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-environment.nix33
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/requester.nix27
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/rpc.nix22
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/sapling.nix31
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/shell-services.nix22
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/stdlib-unix.nix30
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/stdlib.nix53
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/test-services.nix20
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/version.nix18
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/workers.nix18
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/torch/default.nix7
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/uunf/default.nix3
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/vlq/default.nix25
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/x509/default.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/z3/default.nix2
-rw-r--r--nixpkgs/pkgs/development/perl-modules/mod_perl2-PL_hash_seed.patch13
-rw-r--r--nixpkgs/pkgs/development/php-packages/box/default.nix3
-rw-r--r--nixpkgs/pkgs/development/php-packages/composer/default.nix4
-rw-r--r--nixpkgs/pkgs/development/php-packages/couchbase/default.nix4
-rw-r--r--nixpkgs/pkgs/development/php-packages/php-cs-fixer/default.nix3
-rw-r--r--nixpkgs/pkgs/development/php-packages/phpcbf/default.nix3
-rw-r--r--nixpkgs/pkgs/development/php-packages/phpcs/default.nix3
-rw-r--r--nixpkgs/pkgs/development/php-packages/phpmd/default.nix3
-rw-r--r--nixpkgs/pkgs/development/php-packages/phpstan/default.nix3
-rw-r--r--nixpkgs/pkgs/development/php-packages/psalm/default.nix3
-rw-r--r--nixpkgs/pkgs/development/php-packages/psysh/default.nix3
-rw-r--r--nixpkgs/pkgs/development/php-packages/swoole/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/GitPython/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/WSME/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/Wand/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/adax/default.nix37
-rw-r--r--nixpkgs/pkgs/development/python-modules/agate-sql/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ailment/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioambient/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioconsole/default.nix37
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioesphomeapi/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioextensions/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiofiles/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiohomekit/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiohttp-jinja2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiohue/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioitertools/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiokafka/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiolifx/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiolip/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiomusiccast/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aionotion/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioprocessing/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiorecollect/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiorpcx/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiorun/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiosmb/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioswitcher/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiotractive/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiowinreg/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/alectryon/default.nix37
-rw-r--r--nixpkgs/pkgs/development/python-modules/amcrest/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/amqtt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/angr/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/angrop/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ansible/base.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ansible/collections.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/ansible/core.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/ansible/legacy.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/anyascii/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/anybadge/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/anyio/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/apache-airflow/default.nix1
-rw-r--r--nixpkgs/pkgs/development/python-modules/apache-airflow/yarn.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/apispec/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/apprise/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/arcam-fmj/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/archinfo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/assertpy/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/astroid/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/async-dns/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/async-upnp-client/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/asyncio-dgram/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/asyncpg/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/asysocks/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/authlib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/autologging/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/awesomeversion/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aws-lambda-builders/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aws-sam-translator/default.nix44
-rw-r--r--nixpkgs/pkgs/development/python-modules/awslambdaric/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-batch/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-eventgrid/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-identity/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-apimanagement/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-batch/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-compute/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-containerinstance/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-containerregistry/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-containerservice/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-datamigration/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-iothub/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-loganalytics/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-media/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-redis/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-resource/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-servicebus/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-sql/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-web/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-servicebus/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-synapse-accesscontrol/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-synapse-artifacts/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-synapse-spark/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/b2sdk/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/babelfish/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/backoff/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bagit/default.nix39
-rw-r--r--nixpkgs/pkgs/development/python-modules/bellows/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/bids-validator/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bimmer-connected/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/binwalk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bitarray/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bitstring/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/black/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/bleach/default.nix37
-rw-r--r--nixpkgs/pkgs/development/python-modules/blspy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/blspy/dont_fetch_dependencies.patch2
-rw-r--r--nixpkgs/pkgs/development/python-modules/bond-api/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/boost-histogram/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bootstrapped-pip/2.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bootstrapped-pip/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/brotlicffi/default.nix44
-rw-r--r--nixpkgs/pkgs/development/python-modules/buildbot/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/buildbot/pkg.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/buildbot/plugins.nix10
-rwxr-xr-xnixpkgs/pkgs/development/python-modules/buildbot/update.sh12
-rw-r--r--nixpkgs/pkgs/development/python-modules/buildbot/worker.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/cachelib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cassandra-driver/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/catalogue/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/cattrs/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/cbor2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/celery/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/censys/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/certauth/default.nix39
-rw-r--r--nixpkgs/pkgs/development/python-modules/certbot/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cfgv/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cfn-lint/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/chalice/default.nix66
-rw-r--r--nixpkgs/pkgs/development/python-modules/channels/default.nix38
-rw-r--r--nixpkgs/pkgs/development/python-modules/chess/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/chiapos/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/chiapos/dont_fetch_dependencies.patch3
-rw-r--r--nixpkgs/pkgs/development/python-modules/cirq-google/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/claripy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cle/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/clevercsv/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/click-help-colors/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/click-repl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/clickhouse-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/clintermission/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/clize/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/cloudsplaining/default.nix55
-rw-r--r--nixpkgs/pkgs/development/python-modules/cma/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cmd2/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/coapthon3/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/coconut/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/codecov/default.nix46
-rw-r--r--nixpkgs/pkgs/development/python-modules/connexion/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/coqpit/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/coveralls/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/crytic-compile/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cucumber-tag-expressions/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cvxpy/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/dash-core-components/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dash-html-components/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dash-table/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dash/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/databases/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/databricks-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/databricks-connect/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dataclasses-json/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/datasets/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/datasette-template-sql/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/dateutil/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dbus-next/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/dbutils/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/debian/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/debugpy/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/debugpy/hardcode-gdb.patch4
-rw-r--r--nixpkgs/pkgs/development/python-modules/deemix/default.nix49
-rw-r--r--nixpkgs/pkgs/development/python-modules/deezer-py/default.nix30
-rw-r--r--nixpkgs/pkgs/development/python-modules/defcon/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dependency-injector/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/deskcon/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/desktop-notifier/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/detect-secrets/default.nix (renamed from nixpkgs/pkgs/development/tools/detect-secrets/default.nix)6
-rw-r--r--nixpkgs/pkgs/development/python-modules/diagrams/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/dipy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-auth-ldap/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-haystack/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-ipware/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-jinja2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-q/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-versatileimagefield/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-webpack-loader/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django_redis/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/django_reversion/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/djangoql/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/doc8/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dockerspawner/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/docopt-ng/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/dogpile.cache/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dotmap/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dpath/default.nix30
-rw-r--r--nixpkgs/pkgs/development/python-modules/dpkt/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/dropbox/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/dsmr-parser/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dufte/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/dulwich/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/elasticsearch-dsl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/elasticsearch/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/elementpath/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/embrace/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/emcee/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/emoji/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/env-canada/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/environmental-override/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/envisage/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/eth-hash/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/eth-typing/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/eventlet/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/exchangelib/default.nix75
-rw-r--r--nixpkgs/pkgs/development/python-modules/exdown/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/exifread/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/fakeredis/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/fastapi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/fastecdsa/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/fastparquet/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/feedgenerator/default.nix37
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-jwt-extended/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/flexmock/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/flower/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/flowlogs_reader/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/flufl/bounce.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/flufl/i18n.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/fontparts/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/forecast-solar/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/frilouz/default.nix38
-rw-r--r--nixpkgs/pkgs/development/python-modules/fritzconnection/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/fritzprofiles/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/fs-s3fs/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/fsspec/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/ftfy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/furo/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/fx2/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/gast/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/gcsfs/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/gensim/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/geoalchemy2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/geocachingapi/default.nix44
-rw-r--r--nixpkgs/pkgs/development/python-modules/geomet/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/gios/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/gipc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-api-core/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-api-python-client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-auth-oauthlib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-auth/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-access-context-manager/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-appengine-logging/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-asset/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-audit-log/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-automl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-bigquery-logging/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-bigquery/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-bigtable/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-container/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-core/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-datacatalog/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-dataproc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-datastore/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-dlp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-dns/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-error-reporting/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-firestore/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-iam-logging/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-iam/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-iot/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-kms/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-language/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-logging/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-monitoring/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-org-policy/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-os-config/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-pubsub/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-redis/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-resource-manager/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-runtimeconfig/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-secret-manager/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-securitycenter/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-spanner/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-speech/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-storage/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-tasks/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-testutils/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-texttospeech/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-trace/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-translate/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-videointelligence/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-vision/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-websecurityscanner/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-re2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-resumable-media/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/googlemaps/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/gpsoauth/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/gradient-utils/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/graphqlclient/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/graphviz/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/graphviz/hardcode-graphviz-path.patch26
-rw-r--r--nixpkgs/pkgs/development/python-modules/gremlinpython/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/growattserver/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/grpc-google-iam-v1/default.nix (renamed from nixpkgs/pkgs/development/python-modules/grpc_google_iam_v1/default.nix)12
-rw-r--r--nixpkgs/pkgs/development/python-modules/gspread/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/gudhi/default.nix64
-rw-r--r--nixpkgs/pkgs/development/python-modules/gudhi/remove_explicit_PYTHONPATH.patch174
-rw-r--r--nixpkgs/pkgs/development/python-modules/gym/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/ha-philipsjs/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/hap-python/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/hass-nabucasa/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/hatasmota/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/haversine/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/hcloud/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/hg-evolve/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/hijri-converter/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/hiredis/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/hmmlearn/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/holidays/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/holoviews/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/homematicip/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/howdoi/default.nix56
-rw-r--r--nixpkgs/pkgs/development/python-modules/hstspreload/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/httpx-ntlm/default.nix36
-rw-r--r--nixpkgs/pkgs/development/python-modules/httpx-socks/default.nix57
-rw-r--r--nixpkgs/pkgs/development/python-modules/httpx/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/hvac/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/hvplot/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/hy/default.nix52
-rw-r--r--nixpkgs/pkgs/development/python-modules/hydra/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/iaqualink/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/icecream/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/icmplib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/identify/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ignite/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/imap-tools/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/immutabledict/default.nix45
-rw-r--r--nixpkgs/pkgs/development/python-modules/immutables/default.nix30
-rw-r--r--nixpkgs/pkgs/development/python-modules/influxdb-client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/inform/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/inifile/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/inotify-simple/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/inotifyrecursive/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/internetarchive/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ipython/5.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ipython/7.16.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ipython/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ipyvuetify/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/iso8601/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/itemadapter/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/jc/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/jeepney/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jellyfish/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jenkins-job-builder/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jinja2-git/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/joblib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jq/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/junos-eznc/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyter-repo2docker/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyter_console/5.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyter_console/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyter_server/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyterhub/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyterlab/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyterlab_server/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jwcrypto/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/karton-dashboard/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/klein/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/leb128/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/ledgerblue/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ledgerwallet/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/lektor/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/libagent/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/limnoria/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/loca/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/locationsharinglib/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/luddite/default.nix37
-rw-r--r--nixpkgs/pkgs/development/python-modules/lupa/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/lz4/default.nix (renamed from nixpkgs/pkgs/development/python-modules/python-lz4/default.nix)0
-rw-r--r--nixpkgs/pkgs/development/python-modules/maestral/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/mailmanclient/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/markdown-it-py/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/markdown2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/matrix-client/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/mautrix/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mayavi/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/mcstatus/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/md-toc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mdformat/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mecab-python3/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mechanize/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/memory-allocator/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/meshio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/micawber/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/micloud/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/millheater/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/motioneye-client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mpldatacursor/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/msal/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/msldap/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/multimethod/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/mutesync/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/mutf8/default.nix38
-rw-r--r--nixpkgs/pkgs/development/python-modules/mwparserfromhell/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/nad-receiver/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/nbsphinx/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/nbxmpp/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/neo/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/netcdf4/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/networkx/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/nexia/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/nose-cov/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/notebook/2.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/notebook/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/notmuch/2.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/nplusone/default.nix69
-rw-r--r--nixpkgs/pkgs/development/python-modules/ntc-templates/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/numcodecs/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/nvchecker/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/oauthenticator/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/omegaconf/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/onlykey-solo-python/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/onnx/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/open-garage/default.nix37
-rw-r--r--nixpkgs/pkgs/development/python-modules/openapi-core/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/openrazer/daemon.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/opensimplex/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/owslib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/palace/default.nix40
-rw-r--r--nixpkgs/pkgs/development/python-modules/pandas-datareader/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/papis/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/param/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/parameterized/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/parse-type/default.nix45
-rw-r--r--nixpkgs/pkgs/development/python-modules/parsedatetime/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/pdf2image/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pdftotext/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pefile/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pelican/default.nix93
-rw-r--r--nixpkgs/pkgs/development/python-modules/perfplot/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/pex/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pg8000/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/pglast/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/phonenumbers/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/phonopy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pikepdf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pip-tools/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pip/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pipdate/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/platformdirs/default.nix44
-rw-r--r--nixpkgs/pkgs/development/python-modules/playsound/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/plexapi/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/plugwise/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/policy-sentry/default.nix45
-rw-r--r--nixpkgs/pkgs/development/python-modules/policyuniverse/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/pooch/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/poppler-qt5/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/portalocker/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pot/default.nix55
-rw-r--r--nixpkgs/pkgs/development/python-modules/praw/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/prawcore/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pre-commit/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/premailer/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/progress/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/prometheus-client/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/prometheus-flask-exporter/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/prometheus_client/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/prompt-toolkit/1.nix (renamed from nixpkgs/pkgs/development/python-modules/prompt_toolkit/1.nix)23
-rw-r--r--nixpkgs/pkgs/development/python-modules/prompt-toolkit/default.nix (renamed from nixpkgs/pkgs/development/python-modules/prompt_toolkit/default.nix)22
-rw-r--r--nixpkgs/pkgs/development/python-modules/proto-plus/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/protonup/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/ptpython/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/pubnub/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pulp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pweave/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/py-air-control-exporter/default.nix49
-rw-r--r--nixpkgs/pkgs/development/python-modules/py3status/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyTelegramBotAPI/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyacoustid/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyairvisual/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyaml/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyarrow/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyatmo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyatv/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pybase64/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/pybids/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/pybind11/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/pybotvac/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pybtex-docutils/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycdio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyclipper/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycm/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycuda/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycurl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pydeconz/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pydmd/default.nix39
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyee/default.nix39
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyenchant/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyezviz/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyfaidx/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyfakewebcam/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyfantom/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyfireservicerota/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyflume/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyflunearyou/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyfma/default.nix30
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyfronius/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyftdi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pygame/default.nix53
-rw-r--r--nixpkgs/pkgs/development/python-modules/pygame/fix-dependency-finding.patch64
-rw-r--r--nixpkgs/pkgs/development/python-modules/pygit2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyglet/default.nix47
-rw-r--r--nixpkgs/pkgs/development/python-modules/pygmt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyhaversion/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyhomematic/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyinsteon/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyintesishome/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyiqvia/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/pykoplenti/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pylev/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/pylint/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pylitterbot/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyls-flake8/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyls-isort/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pylutron/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pylzma/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymanopt/default.nix39
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymata-express/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymatgen/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymazda/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymbolic/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymemcache/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymeteireann/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymodbus/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymunk/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymupdf/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymyq/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/pynacl/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/pynamodb/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pynetbox/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pynvml/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyodbc/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyopencl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyopenuv/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/pypck/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyppeteer/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyprosegur/default.nix39
-rw-r--r--nixpkgs/pkgs/development/python-modules/pypykatz/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyqtgraph/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyrad/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyrituals/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyro-ppl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyroma/default.nix44
-rw-r--r--nixpkgs/pkgs/development/python-modules/pysaml2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyscreenshot/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pysma/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pysmappee/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/pysonos/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pysyncthru/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytenable/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytesseract/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytesseract/tesseract-binary.patch6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-astropy/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-dependency/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-filter-subpackage/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-httpserver/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-httpx/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-mockservers/default.nix57
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-mpl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-qt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-resource-path/default.nix49
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-sanic/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-socket/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-testmon/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-box/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-engineio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-gammu/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-gitlab/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-json-logger/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-lsp-server/default.nix45
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-magic/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-magic/libmagic-path.patch41
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-mapnik/default.nix45
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-miio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-socketio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-uinput/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pythondialog/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytile/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytools/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytorch/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytube/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytwitchapi/default.nix41
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyupgrade/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyuseragents/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyverilog/default.nix46
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyvex/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyvicare/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyviz-comms/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pywebpush/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pywemo/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/qcelemental/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/qrcode/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/qtawesome/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/qtconsole/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/quantities/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/questionary/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/rapidfuzz/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/regenmaschine/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/remarshal/default.nix (renamed from nixpkgs/pkgs/development/tools/remarshal/default.nix)14
-rw-r--r--nixpkgs/pkgs/development/python-modules/requests-cache/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/requests-pkcs12/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/requests-unixsocket/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/resolvelib/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/responses/default.nix42
-rw-r--r--nixpkgs/pkgs/development/python-modules/respx/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/restfly/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/rich/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ring-doorbell/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ripser/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/rising/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/robotframework/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/rokuecp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/roonapi/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/rq/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/rstcheck/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/runway-python/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/s3fs/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/sacn/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sagemaker/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/schema-salad/default.nix45
-rw-r--r--nixpkgs/pkgs/development/python-modules/scikit-build/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/scikit-fmm/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/scikit-hep-testdata/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/scikit-survival/default.nix70
-rw-r--r--nixpkgs/pkgs/development/python-modules/scipy/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/scramp/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/scrapy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/seaborn/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sendgrid/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sentry-sdk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/setuptools/44.0.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/setuptools/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/shellescape/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/simplejson/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/simplisafe-python/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/slack-sdk/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/slither-analyzer/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/smart-meter-texas/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/smart-open/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/smbprotocol/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/snowflake-connector-python/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/snowflake-sqlalchemy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/soco/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/softlayer/default.nix58
-rw-r--r--nixpkgs/pkgs/development/python-modules/solax/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/solc-select/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/somajo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sopel/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/sounddevice/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/spacy/models.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/sparse/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/spectral-cube/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinx-inline-tabs/default.nix34
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinxcontrib-plantuml/default.nix (renamed from nixpkgs/pkgs/development/python-modules/sphinxcontrib_plantuml/default.nix)2
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinxext-opengraph/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/spotipy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sqlalchemy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sqlmap/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/staticjinja/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/stevedore/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/stravalib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/streaming-form-data/default.nix34
-rw-r--r--nixpkgs/pkgs/development/python-modules/strictyaml/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/stripe/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/stumpy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/subarulink/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/subprocess-tee/default.nix37
-rw-r--r--nixpkgs/pkgs/development/python-modules/subunit/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/sunpy/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/surepy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/synergy/default.nix43
-rw-r--r--nixpkgs/pkgs/development/python-modules/systembridge/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/telethon/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tenacity/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tensorboard-data-server/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/tensorboardx/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tensorflow-tensorboard/default.nix42
-rw-r--r--nixpkgs/pkgs/development/python-modules/tensorflow/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/testfixtures/default.nix43
-rw-r--r--nixpkgs/pkgs/development/python-modules/threadpoolctl/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/tika/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/time-machine/default.nix50
-rw-r--r--nixpkgs/pkgs/development/python-modules/tinydb/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/titlecase/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/tldextract/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/todoist/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/tokenizers/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/tomli/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/torchvision/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/torrequest/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/total-connect-client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/trackpy/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/transitions/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/translatepy/default.nix42
-rw-r--r--nixpkgs/pkgs/development/python-modules/transmission-rpc/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/trezor/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/trimesh/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/ttp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tubes/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/twisted/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/txtorcon/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/typecode/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/typed-settings/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/typer/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-decorator/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-pytz/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-requests/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ufonormalizer/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ujson/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/unidiff/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/versioneer/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/versiontag/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/virtualenv-clone/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/vispy/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/webdavclient3/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/websocket-client/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/websockify/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/webtest/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/werkzeug/1.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/west/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/whisper/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/whitenoise/default.nix46
-rw-r--r--nixpkgs/pkgs/development/python-modules/wled/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/wrapio/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/wurlitzer/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/xdis/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/xknx/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/xml-marshaller/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/xmlschema/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/xstatic-jquery-file-upload/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/yalesmartalarmclient/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/yalexs/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/yamale/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/yamllint/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/yara-python/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/yeelight/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/yfinance/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/youtube-search-python/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/youtube-transcript-api/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/zarr/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zeep/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/zeroc-ice/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/zeroconf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zigpy-deconz/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zigpy-znp/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/zigpy/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/zipstream-new/default.nix39
-rw-r--r--nixpkgs/pkgs/development/python-modules/zwave-js-server-python/default.nix4
-rw-r--r--nixpkgs/pkgs/development/r-modules/cran-packages.nix2
-rw-r--r--nixpkgs/pkgs/development/r-modules/default.nix116
-rwxr-xr-xnixpkgs/pkgs/development/r-modules/generate-r-packages.R3
-rw-r--r--nixpkgs/pkgs/development/r-modules/patches/Rhdf5lib.patch10
-rw-r--r--nixpkgs/pkgs/development/ruby-modules/gem-config/default.nix4
-rw-r--r--nixpkgs/pkgs/development/ruby-modules/with-packages/Gemfile2
-rw-r--r--nixpkgs/pkgs/development/tools/ammonite/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/cargo-tarpaulin/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/checkstyle/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/codeql/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/dotenv-linter/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/flow/default.nix12
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/frama-c/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/hotspot/default.nix53
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/nix-linter/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/radare2/default.nix18
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/randoop/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/sparse/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/tflint/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/tfsec/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/apksigcopier/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/apksigner/default.nix15
-rw-r--r--nixpkgs/pkgs/development/tools/apktool/default.nix19
-rw-r--r--nixpkgs/pkgs/development/tools/async-profiler/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/aws-sam-cli/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/backblaze-b2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/bacon/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/bazelisk/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/buf/default.nix27
-rw-r--r--nixpkgs/pkgs/development/tools/buf/skip_test_requiring_dotgit.patch14
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/apache-maven/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/arpa2cm/default.nix24
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bazel/buildtools/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bear/default.nix9
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/cmake/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/gprbuild/boot.nix90
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/gprbuild/default.nix65
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/gprbuild/gpr-project-path-hook.sh8
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/gprbuild/nixpkgs-gnat.xml56
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/gradle/default.nix36
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/mage/default.nix3
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/msbuild/default.nix31
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/msbuild/deps.nix1054
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/qbs/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/rebar3/default.nix16
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/sbt-extras/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/sbt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/scons/common.nix10
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/scons/default.nix10
-rw-r--r--nixpkgs/pkgs/development/tools/buildah/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/buildkit/default.nix19
-rw-r--r--nixpkgs/pkgs/development/tools/buildpack/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/butane/default.nix10
-rw-r--r--nixpkgs/pkgs/development/tools/cloud-nuke/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/comby/default.nix77
-rw-r--r--nixpkgs/pkgs/development/tools/conftest/default.nix11
-rw-r--r--nixpkgs/pkgs/development/tools/container-linux-config-transpiler/default.nix7
-rw-r--r--nixpkgs/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/continuous-integration/buildkite-cli/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/continuous-integration/drone-cli/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/continuous-integration/drone/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/continuous-integration/fly/default.nix13
-rw-r--r--nixpkgs/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix19
-rw-r--r--nixpkgs/pkgs/development/tools/continuous-integration/jenkins/default.nix9
-rw-r--r--nixpkgs/pkgs/development/tools/cue/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/database/dbmate/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/database/liquibase/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/database/litecli/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/database/pg_activity/default.nix31
-rw-r--r--nixpkgs/pkgs/development/tools/database/pgcli/default.nix10
-rw-r--r--nixpkgs/pkgs/development/tools/database/shmig/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/database/sqlfluff/default.nix9
-rw-r--r--nixpkgs/pkgs/development/tools/database/sqlitebrowser/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/database/timescaledb-tune/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/database/webdis/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/dep/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/dive/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/dockfmt/default.nix31
-rw-r--r--nixpkgs/pkgs/development/tools/dockle/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/doctl/default.nix17
-rw-r--r--nixpkgs/pkgs/development/tools/dprint/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/dt-schema/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/earthly/default.nix22
-rw-r--r--nixpkgs/pkgs/development/tools/efm-langserver/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/electron/default.nix60
-rw-r--r--nixpkgs/pkgs/development/tools/esbuild/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/evans/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/fdroidserver/default.nix14
-rw-r--r--nixpkgs/pkgs/development/tools/fission/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/flawfinder/default.nix5
-rw-r--r--nixpkgs/pkgs/development/tools/flyway/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/fnlfmt/default.nix41
-rw-r--r--nixpkgs/pkgs/development/tools/fnm/default.nix35
-rw-r--r--nixpkgs/pkgs/development/tools/fprettify/default.nix28
-rw-r--r--nixpkgs/pkgs/development/tools/frugal/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/github/bump/default.nix5
-rw-r--r--nixpkgs/pkgs/development/tools/glide/default.nix7
-rw-r--r--nixpkgs/pkgs/development/tools/go-containerregistry/default.nix9
-rw-r--r--nixpkgs/pkgs/development/tools/go-minimock/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/go-protobuf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/go-swagger/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/go-task/default.nix10
-rw-r--r--nixpkgs/pkgs/development/tools/go-tools/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/gokart/default.nix28
-rw-r--r--nixpkgs/pkgs/development/tools/golangci-lint/default.nix12
-rw-r--r--nixpkgs/pkgs/development/tools/gomplate/default.nix3
-rw-r--r--nixpkgs/pkgs/development/tools/gopkgs/deps.nix21
-rw-r--r--nixpkgs/pkgs/development/tools/gopls/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/gore/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/gosec/default.nix3
-rw-r--r--nixpkgs/pkgs/development/tools/gotestsum/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/haskell/vaultenv/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/hcloud/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/ijq/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/inferno/default.nix31
-rw-r--r--nixpkgs/pkgs/development/tools/java/java-language-server/default.nix96
-rw-r--r--nixpkgs/pkgs/development/tools/java/visualvm/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/jbang/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/jq/default.nix18
-rw-r--r--nixpkgs/pkgs/development/tools/jsduck/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/jsonnet-bundler/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/just/default.nix16
-rw-r--r--nixpkgs/pkgs/development/tools/kafkacat/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/kind/default.nix5
-rw-r--r--nixpkgs/pkgs/development/tools/kind/kernel-module-path.patch47
-rw-r--r--nixpkgs/pkgs/development/tools/knightos/regenkfs/default.nix23
-rw-r--r--nixpkgs/pkgs/development/tools/knightos/remkrom/default.nix22
-rw-r--r--nixpkgs/pkgs/development/tools/ko/default.nix28
-rw-r--r--nixpkgs/pkgs/development/tools/konstraint/default.nix32
-rw-r--r--nixpkgs/pkgs/development/tools/krankerl/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/ktlint/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/kube-aws/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/kubeprompt/default.nix10
-rw-r--r--nixpkgs/pkgs/development/tools/kubepug/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/kustomize/default.nix18
-rw-r--r--nixpkgs/pkgs/development/tools/kustomize/kustomize-sops.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/lazygit/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/libsigrok/default.nix23
-rw-r--r--nixpkgs/pkgs/development/tools/libsigrokdecode/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/luaformatter/default.nix31
-rw-r--r--nixpkgs/pkgs/development/tools/luaformatter/fix-lib-paths.patch67
-rw-r--r--nixpkgs/pkgs/development/tools/mars-mips/default.nix49
-rw-r--r--nixpkgs/pkgs/development/tools/mdk/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/metals/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/minizinc/ide.nix1
-rw-r--r--nixpkgs/pkgs/development/tools/misc/act/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/misc/automake/automake-1.16.x.nix1
-rw-r--r--nixpkgs/pkgs/development/tools/misc/aviator/default.nix23
-rw-r--r--nixpkgs/pkgs/development/tools/misc/binutils/bfd-elf-Dont-read-non-existing-secondary-relocs.patch26
-rw-r--r--nixpkgs/pkgs/development/tools/misc/binutils/default.nix9
-rw-r--r--nixpkgs/pkgs/development/tools/misc/c2ffi/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/misc/ccache/default.nix22
-rw-r--r--nixpkgs/pkgs/development/tools/misc/chruby/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/circleci-cli/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/misc/coccinelle/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/cproto/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/ddd/default.nix12
-rw-r--r--nixpkgs/pkgs/development/tools/misc/distcc/masq.nix3
-rw-r--r--nixpkgs/pkgs/development/tools/misc/dwz/default.nix23
-rw-r--r--nixpkgs/pkgs/development/tools/misc/editorconfig-checker/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/grpc-tools/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/misc/hydra/common.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/hydra/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/misc/jiq/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/misc/k2tf/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/kibana/7.x.nix22
-rw-r--r--nixpkgs/pkgs/development/tools/misc/linuxkit/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/lttng-tools/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/misc/lttng-ust/default.nix13
-rw-r--r--nixpkgs/pkgs/development/tools/misc/luarocks/default.nix10
-rw-r--r--nixpkgs/pkgs/development/tools/misc/luarocks/luarocks-nix.nix7
-rw-r--r--nixpkgs/pkgs/development/tools/misc/mkcert/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/misc/msitools/default.nix3
-rw-r--r--nixpkgs/pkgs/development/tools/misc/pwndbg/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/qtspim/default.nix61
-rw-r--r--nixpkgs/pkgs/development/tools/misc/remarkable/remarkable-toolchain/default.nix12
-rw-r--r--nixpkgs/pkgs/development/tools/misc/remarkable/remarkable2-toolchain/default.nix24
-rw-r--r--nixpkgs/pkgs/development/tools/misc/reviewdog/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/misc/saleae-logic-2/default.nix27
-rw-r--r--nixpkgs/pkgs/development/tools/misc/spruce/default.nix23
-rw-r--r--nixpkgs/pkgs/development/tools/misc/strace/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/terracognita/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/misc/terraform-ls/default.nix31
-rw-r--r--nixpkgs/pkgs/development/tools/misc/terraform-lsp/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/terraformer/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/misc/unused/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/misc/usbsdmux/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/watson-ruby/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/xspim/default.nix49
-rw-r--r--nixpkgs/pkgs/development/tools/misc/xxgdb/default.nix43
-rw-r--r--nixpkgs/pkgs/development/tools/misc/xxgdb/xxgdb-pty.patch84
-rw-r--r--nixpkgs/pkgs/development/tools/misc/yodl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/mockgen/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/mold/default.nix16
-rw-r--r--nixpkgs/pkgs/development/tools/mustache-go/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/node-webkit/nw12.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/nwjs/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/ocaml/camlidl/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/ocaml/dune-release/default.nix26
-rw-r--r--nixpkgs/pkgs/development/tools/ocaml/ocamlformat/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/ocaml/ocamlformat/generic.nix20
-rw-r--r--nixpkgs/pkgs/development/tools/ocaml/ocp-index/default.nix13
-rw-r--r--nixpkgs/pkgs/development/tools/ocaml/omake/0.9.8.6-rc1.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/ocaml/opam/default.nix103
-rw-r--r--nixpkgs/pkgs/development/tools/ocaml/opam/opam-shebangs.patch5
-rwxr-xr-xnixpkgs/pkgs/development/tools/ocaml/opam/opam.nix.pl8
-rw-r--r--nixpkgs/pkgs/development/tools/ocaml/utop/default.nix2
-rwxr-xr-xnixpkgs/pkgs/development/tools/omnisharp-roslyn/create-deps.sh1
-rw-r--r--nixpkgs/pkgs/development/tools/omnisharp-roslyn/default.nix10
-rw-r--r--nixpkgs/pkgs/development/tools/omnisharp-roslyn/deps.nix136
-rw-r--r--nixpkgs/pkgs/development/tools/open-policy-agent/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/operator-sdk/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/oq/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/osslsigncode/default.nix14
-rw-r--r--nixpkgs/pkgs/development/tools/packer/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/parse-cli-bin/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/byacc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/flex/2.5.35.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/flex/2.6.1.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/flex/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/hammer/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/lemon/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/ragel/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-comment.json10
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cpp.json8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-fish.json10
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-haskell.json8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-html.json8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-javascript.json8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-latex.json8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-lua.json8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-nix.json8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-php.json8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scala.json8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-typescript.json8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/update.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/pgtop/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/phantomjs2/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/editable.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/fetch_from_legacy.py29
-rw-r--r--nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/hooks/pip-build-hook.sh2
-rw-r--r--nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix16
-rw-r--r--nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix86
-rw-r--r--nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/pep508.nix3
-rw-r--r--nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/default.nix11
-rw-r--r--nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/poetry.lock394
-rw-r--r--nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/pyproject.toml4
-rw-r--r--nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/src.json4
-rwxr-xr-xnixpkgs/pkgs/development/tools/poetry2nix/update2
-rw-r--r--nixpkgs/pkgs/development/tools/postiats-utilities/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/profiling/systemtap/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/protoc-gen-grpc-web/default.nix40
-rw-r--r--nixpkgs/pkgs/development/tools/pscale/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/py-spy/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/pypi-mirror/default.nix24
-rw-r--r--nixpkgs/pkgs/development/tools/qtcreator/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/rakkess/default.nix32
-rw-r--r--nixpkgs/pkgs/development/tools/react-native-debugger/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/renderizer/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/rgp/default.nix15
-rw-r--r--nixpkgs/pkgs/development/tools/rnix-lsp/default.nix3
-rw-r--r--nixpkgs/pkgs/development/tools/ronn/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/roswell/0001-get-image-from-environment.patch25
-rw-r--r--nixpkgs/pkgs/development/tools/roswell/default.nix14
-rw-r--r--nixpkgs/pkgs/development/tools/rust/bindgen/default.nix19
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-criterion/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-embed/default.nix13
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-expand/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-flash/default.nix3
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-msrv/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-watch/default.nix10
-rw-r--r--nixpkgs/pkgs/development/tools/rust/probe-run/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/rust/racer/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/rust/rust-analyzer/default.nix16
-rw-r--r--nixpkgs/pkgs/development/tools/rust/rust-analyzer/ignore-git-and-rustfmt-tests.patch18
-rwxr-xr-xnixpkgs/pkgs/development/tools/rust/rust-analyzer/update.sh26
-rw-r--r--nixpkgs/pkgs/development/tools/rust/sqlx-cli/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/scalafix/default.nix9
-rw-r--r--nixpkgs/pkgs/development/tools/scalafmt/default.nix19
-rw-r--r--nixpkgs/pkgs/development/tools/sd-local/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/sentry-cli/default.nix17
-rw-r--r--nixpkgs/pkgs/development/tools/skaffold/default.nix19
-rw-r--r--nixpkgs/pkgs/development/tools/skopeo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/so/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/stylua/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/sumneko-lua-language-server/default.nix13
-rw-r--r--nixpkgs/pkgs/development/tools/symfony-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/tabnine/default.nix33
-rw-r--r--nixpkgs/pkgs/development/tools/taplo-cli/default.nix26
-rw-r--r--nixpkgs/pkgs/development/tools/taplo-lsp/default.nix28
-rw-r--r--nixpkgs/pkgs/development/tools/tf2pulumi/default.nix12
-rw-r--r--nixpkgs/pkgs/development/tools/thrust/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/toxiproxy/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/tracy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/treefmt/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/turbogit/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/tychus/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/uftrace/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/unityhub/default.nix26
-rw-r--r--nixpkgs/pkgs/development/tools/vagrant/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/vagrant/gemset.nix14
-rw-r--r--nixpkgs/pkgs/development/tools/vendir/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/vulkan-validation-layers/default.nix84
-rw-r--r--nixpkgs/pkgs/development/tools/vultr-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/wasm-bindgen-cli/Cargo.lock840
-rw-r--r--nixpkgs/pkgs/development/tools/wasm-bindgen-cli/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/wrangler/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/yarn/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix30
-rw-r--r--nixpkgs/pkgs/development/tools/yarn2nix-moretea/yarn2nix/lib/generateNix.js4
-rw-r--r--nixpkgs/pkgs/development/tools/yarn2nix-moretea/yarn2nix/yarn.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/yj/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/yq-go/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/ytt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/web/cypress/default.nix4
-rw-r--r--nixpkgs/pkgs/development/web/deno/default.nix6
-rw-r--r--nixpkgs/pkgs/development/web/deno/librusty_v8.nix10
-rw-r--r--nixpkgs/pkgs/development/web/flyctl/default.nix8
-rw-r--r--nixpkgs/pkgs/development/web/kore/default.nix4
-rw-r--r--nixpkgs/pkgs/development/web/minify/default.nix8
-rw-r--r--nixpkgs/pkgs/development/web/nodejs/disable-darwin-v8-system-instrumentation.patch16
-rw-r--r--nixpkgs/pkgs/development/web/nodejs/v12.nix4
-rw-r--r--nixpkgs/pkgs/development/web/nodejs/v14.nix4
-rw-r--r--nixpkgs/pkgs/development/web/nodejs/v16.nix5
-rw-r--r--nixpkgs/pkgs/development/web/now-cli/default.nix87
-rw-r--r--nixpkgs/pkgs/development/web/postman/default.nix7
-rw-r--r--nixpkgs/pkgs/development/web/remarkjs/node-packages.nix2
-rw-r--r--nixpkgs/pkgs/development/web/twitter-bootstrap/default.nix4
-rw-r--r--nixpkgs/pkgs/games/0ad/data.nix2
-rw-r--r--nixpkgs/pkgs/games/0ad/game.nix4
-rw-r--r--nixpkgs/pkgs/games/0ad/wrapper.nix5
-rw-r--r--nixpkgs/pkgs/games/90secondportraits/default.nix2
-rw-r--r--nixpkgs/pkgs/games/alephone/marathon/default.nix7
-rw-r--r--nixpkgs/pkgs/games/angband/default.nix6
-rw-r--r--nixpkgs/pkgs/games/anki/bin.nix29
-rw-r--r--nixpkgs/pkgs/games/anki/default.nix2
-rw-r--r--nixpkgs/pkgs/games/antsimulator/default.nix17
-rw-r--r--nixpkgs/pkgs/games/atanks/default.nix4
-rw-r--r--nixpkgs/pkgs/games/ballerburg/default.nix56
-rw-r--r--nixpkgs/pkgs/games/banner/default.nix2
-rw-r--r--nixpkgs/pkgs/games/bitsnbots/default.nix37
-rw-r--r--nixpkgs/pkgs/games/blackshades/default.nix13
-rw-r--r--nixpkgs/pkgs/games/brutalmaze/default.nix30
-rw-r--r--nixpkgs/pkgs/games/cataclysm-dda/common.nix2
-rw-r--r--nixpkgs/pkgs/games/cataclysm-dda/stable.nix9
-rw-r--r--nixpkgs/pkgs/games/cbonsai/default.nix2
-rw-r--r--nixpkgs/pkgs/games/cgoban/default.nix38
-rw-r--r--nixpkgs/pkgs/games/crawl/default.nix4
-rw-r--r--nixpkgs/pkgs/games/crispy-doom/default.nix4
-rw-r--r--nixpkgs/pkgs/games/dhewm3/default.nix17
-rw-r--r--nixpkgs/pkgs/games/duckmarines/default.nix2
-rw-r--r--nixpkgs/pkgs/games/dwarf-fortress/soundsense.nix1
-rw-r--r--nixpkgs/pkgs/games/dwarf-fortress/twbt/default.nix4
-rw-r--r--nixpkgs/pkgs/games/ecwolf/default.nix54
-rw-r--r--nixpkgs/pkgs/games/eduke32/default.nix10
-rw-r--r--nixpkgs/pkgs/games/egoboo/default.nix11
-rw-r--r--nixpkgs/pkgs/games/factorio/versions.json48
-rw-r--r--nixpkgs/pkgs/games/fheroes2/default.nix4
-rw-r--r--nixpkgs/pkgs/games/flare/default.nix2
-rw-r--r--nixpkgs/pkgs/games/flare/engine.nix4
-rw-r--r--nixpkgs/pkgs/games/flare/game.nix4
-rw-r--r--nixpkgs/pkgs/games/flightgear/default.nix2
-rw-r--r--nixpkgs/pkgs/games/freeciv/default.nix36
-rw-r--r--nixpkgs/pkgs/games/freedroidrpg/default.nix2
-rw-r--r--nixpkgs/pkgs/games/freeorion/default.nix6
-rw-r--r--nixpkgs/pkgs/games/gnonograms/default.nix64
-rw-r--r--nixpkgs/pkgs/games/gnuchess/default.nix4
-rw-r--r--nixpkgs/pkgs/games/grapejuice/default.nix9
-rw-r--r--nixpkgs/pkgs/games/gzdoom/default.nix17
-rw-r--r--nixpkgs/pkgs/games/ja2-stracciatella/default.nix4
-rw-r--r--nixpkgs/pkgs/games/lgogdownloader/default.nix4
-rw-r--r--nixpkgs/pkgs/games/liberation-circuit/default.nix71
-rw-r--r--nixpkgs/pkgs/games/manaplus/default.nix4
-rw-r--r--nixpkgs/pkgs/games/mari0/default.nix2
-rw-r--r--nixpkgs/pkgs/games/minecraft-server/default.nix8
-rw-r--r--nixpkgs/pkgs/games/mrrescue/default.nix2
-rw-r--r--nixpkgs/pkgs/games/multimc/default.nix5
-rw-r--r--nixpkgs/pkgs/games/nottetris2/default.nix2
-rw-r--r--nixpkgs/pkgs/games/oh-my-git/default.nix2
-rw-r--r--nixpkgs/pkgs/games/onscripter-en/default.nix3
-rw-r--r--nixpkgs/pkgs/games/openmw/default.nix5
-rw-r--r--nixpkgs/pkgs/games/openrct2/default.nix4
-rw-r--r--nixpkgs/pkgs/games/osu-lazer/bypass-tamper-detection.patch23
-rw-r--r--nixpkgs/pkgs/games/osu-lazer/default.nix7
-rw-r--r--nixpkgs/pkgs/games/osu-lazer/deps.nix2144
-rwxr-xr-xnixpkgs/pkgs/games/osu-lazer/update.sh18
-rw-r--r--nixpkgs/pkgs/games/pioneer/default.nix2
-rw-r--r--nixpkgs/pkgs/games/pokerth/default.nix2
-rw-r--r--nixpkgs/pkgs/games/qgo/default.nix2
-rw-r--r--nixpkgs/pkgs/games/quake3/ioquake/default.nix6
-rw-r--r--nixpkgs/pkgs/games/quakespasm/default.nix12
-rw-r--r--nixpkgs/pkgs/games/quakespasm/vulkan.nix4
-rw-r--r--nixpkgs/pkgs/games/randtype/default.nix31
-rw-r--r--nixpkgs/pkgs/games/rimshot/default.nix2
-rw-r--r--nixpkgs/pkgs/games/rott/default.nix54
-rw-r--r--nixpkgs/pkgs/games/rpg-cli/default.nix6
-rw-r--r--nixpkgs/pkgs/games/scid-vs-pc/default.nix4
-rw-r--r--nixpkgs/pkgs/games/scrolls/default.nix1
-rw-r--r--nixpkgs/pkgs/games/shattered-pixel-dungeon/default.nix15
-rw-r--r--nixpkgs/pkgs/games/sienna/default.nix2
-rw-r--r--nixpkgs/pkgs/games/spring/default.nix8
-rw-r--r--nixpkgs/pkgs/games/tcl2048/default.nix2
-rw-r--r--nixpkgs/pkgs/games/terraria-server/default.nix10
-rw-r--r--nixpkgs/pkgs/games/the-powder-toy/default.nix2
-rw-r--r--nixpkgs/pkgs/games/ultimatestunts/default.nix4
-rw-r--r--nixpkgs/pkgs/games/vapor/default.nix2
-rw-r--r--nixpkgs/pkgs/games/vassal/default.nix4
-rw-r--r--nixpkgs/pkgs/games/vintagestory/default.nix85
-rw-r--r--nixpkgs/pkgs/games/warzone2100/default.nix4
-rw-r--r--nixpkgs/pkgs/games/wesnoth/default.nix6
-rw-r--r--nixpkgs/pkgs/games/xonotic/default.nix32
-rw-r--r--nixpkgs/pkgs/misc/cups/drivers/brgenml1cupswrapper/default.nix5
-rw-r--r--nixpkgs/pkgs/misc/cups/drivers/brgenml1lpr/default.nix5
-rw-r--r--nixpkgs/pkgs/misc/cups/drivers/canon/default.nix37
-rw-r--r--nixpkgs/pkgs/misc/cups/drivers/cups-bjnp/default.nix5
-rw-r--r--nixpkgs/pkgs/misc/cups/drivers/estudio/default.nix4
-rw-r--r--nixpkgs/pkgs/misc/cups/drivers/mfcl2700dncupswrapper/default.nix2
-rw-r--r--nixpkgs/pkgs/misc/cups/drivers/mfcl2700dnlpr/default.nix2
-rw-r--r--nixpkgs/pkgs/misc/cups/drivers/mfcl2720dwcupswrapper/default.nix2
-rw-r--r--nixpkgs/pkgs/misc/cups/drivers/mfcl2720dwlpr/default.nix2
-rw-r--r--nixpkgs/pkgs/misc/cups/drivers/mfcl8690cdwcupswrapper/default.nix2
-rw-r--r--nixpkgs/pkgs/misc/cups/drivers/mfcl8690cdwlpr/default.nix2
-rw-r--r--nixpkgs/pkgs/misc/cups/drivers/splix/default.nix11
-rw-r--r--nixpkgs/pkgs/misc/drivers/epson-escpr/default.nix8
-rw-r--r--nixpkgs/pkgs/misc/drivers/epson-escpr2/default.nix21
-rw-r--r--nixpkgs/pkgs/misc/drivers/epson-workforce-635-nx625-series/default.nix12
-rw-r--r--nixpkgs/pkgs/misc/drivers/foomatic-filters/default.nix5
-rw-r--r--nixpkgs/pkgs/misc/drivers/gutenprint/bin.nix4
-rw-r--r--nixpkgs/pkgs/misc/drivers/gutenprint/default.nix5
-rw-r--r--nixpkgs/pkgs/misc/drivers/m33-linux/default.nix3
-rw-r--r--nixpkgs/pkgs/misc/drivers/postscript-lexmark/default.nix2
-rw-r--r--nixpkgs/pkgs/misc/drivers/sundtek/default.nix7
-rw-r--r--nixpkgs/pkgs/misc/drivers/xboxdrv/default.nix2
-rw-r--r--nixpkgs/pkgs/misc/drivers/xwiimote/default.nix6
-rw-r--r--nixpkgs/pkgs/misc/emulators/blastem/default.nix4
-rw-r--r--nixpkgs/pkgs/misc/emulators/bsnes-hd/default.nix55
-rw-r--r--nixpkgs/pkgs/misc/emulators/bsnes-hd/macos-copy-app-to-prefix.patch18
-rw-r--r--nixpkgs/pkgs/misc/emulators/bsnes-hd/macos-replace-sips-with-png2icns.patch13
-rw-r--r--nixpkgs/pkgs/misc/emulators/bsod/default.nix7
-rw-r--r--nixpkgs/pkgs/misc/emulators/cdemu/analyzer.nix4
-rw-r--r--nixpkgs/pkgs/misc/emulators/cdemu/base.nix4
-rw-r--r--nixpkgs/pkgs/misc/emulators/cdemu/client.nix4
-rw-r--r--nixpkgs/pkgs/misc/emulators/cdemu/daemon.nix4
-rw-r--r--nixpkgs/pkgs/misc/emulators/cdemu/gui.nix4
-rw-r--r--nixpkgs/pkgs/misc/emulators/cdemu/libmirage.nix4
-rw-r--r--nixpkgs/pkgs/misc/emulators/cdemu/vhba.nix10
-rw-r--r--nixpkgs/pkgs/misc/emulators/dosbox/default.nix5
-rw-r--r--nixpkgs/pkgs/misc/emulators/fakenes/default.nix8
-rw-r--r--nixpkgs/pkgs/misc/emulators/fceux/default.nix42
-rw-r--r--nixpkgs/pkgs/misc/emulators/firebird-emu/default.nix2
-rw-r--r--nixpkgs/pkgs/misc/emulators/fuse-emulator/default.nix4
-rw-r--r--nixpkgs/pkgs/misc/emulators/gens-gs/default.nix7
-rw-r--r--nixpkgs/pkgs/misc/emulators/mgba/default.nix33
-rw-r--r--nixpkgs/pkgs/misc/emulators/openmsx/default.nix59
-rw-r--r--nixpkgs/pkgs/misc/emulators/proton-caller/default.nix6
-rw-r--r--nixpkgs/pkgs/misc/emulators/retroarch/wrapper.nix2
-rw-r--r--nixpkgs/pkgs/misc/emulators/ryujinx/deps.nix1344
-rwxr-xr-xnixpkgs/pkgs/misc/emulators/ryujinx/updater.sh18
-rw-r--r--nixpkgs/pkgs/misc/emulators/sameboy/default.nix4
-rw-r--r--nixpkgs/pkgs/misc/emulators/stella/default.nix4
-rw-r--r--nixpkgs/pkgs/misc/emulators/uae/default.nix5
-rw-r--r--nixpkgs/pkgs/misc/emulators/uxn/default.nix54
-rw-r--r--nixpkgs/pkgs/misc/emulators/vice/default.nix5
-rw-r--r--nixpkgs/pkgs/misc/emulators/wine/sources.nix13
-rw-r--r--nixpkgs/pkgs/misc/emulators/wxmupen64plus/default.nix8
-rw-r--r--nixpkgs/pkgs/misc/emulators/yuzu/default.nix4
-rw-r--r--nixpkgs/pkgs/misc/emulators/zsnes/default.nix3
-rw-r--r--nixpkgs/pkgs/misc/lilypond/fonts.nix2
-rw-r--r--nixpkgs/pkgs/misc/logging/beats/7.x.nix54
-rw-r--r--nixpkgs/pkgs/misc/mxt-app/default.nix4
-rw-r--r--nixpkgs/pkgs/misc/screensavers/betterlockscreen/default.nix49
-rw-r--r--nixpkgs/pkgs/misc/screensavers/betterlockscreen/replace-i3lock.patch14
-rw-r--r--nixpkgs/pkgs/misc/screensavers/slock/default.nix5
-rw-r--r--nixpkgs/pkgs/misc/screensavers/vlock/default.nix11
-rw-r--r--nixpkgs/pkgs/misc/screensavers/xlockmore/default.nix5
-rw-r--r--nixpkgs/pkgs/misc/screensavers/xscreensaver/default.nix4
-rw-r--r--nixpkgs/pkgs/misc/screensavers/xss-lock/default.nix3
-rw-r--r--nixpkgs/pkgs/misc/screensavers/xtrlock-pam/default.nix3
-rw-r--r--nixpkgs/pkgs/misc/sndio/default.nix8
-rw-r--r--nixpkgs/pkgs/misc/solfege/default.nix5
-rw-r--r--nixpkgs/pkgs/misc/tmux-plugins/default.nix27
-rw-r--r--nixpkgs/pkgs/misc/vim-plugins/build-vim-plugin.nix20
-rw-r--r--nixpkgs/pkgs/misc/vim-plugins/default.nix18
-rw-r--r--nixpkgs/pkgs/misc/vim-plugins/deprecated.json12
-rw-r--r--nixpkgs/pkgs/misc/vim-plugins/generated.nix2347
-rw-r--r--nixpkgs/pkgs/misc/vim-plugins/overrides.nix48
-rw-r--r--nixpkgs/pkgs/misc/vim-plugins/update-shell.nix13
-rwxr-xr-xnixpkgs/pkgs/misc/vim-plugins/update.py61
-rw-r--r--nixpkgs/pkgs/misc/vim-plugins/vim-gen-doc-hook.sh31
-rw-r--r--nixpkgs/pkgs/misc/vim-plugins/vim-plugin-names64
-rw-r--r--nixpkgs/pkgs/misc/vim-plugins/vim-utils.nix59
-rw-r--r--nixpkgs/pkgs/misc/vscode-extensions/default.nix110
-rw-r--r--nixpkgs/pkgs/misc/vscode-extensions/ms-vsliveshare-vsliveshare/default.nix4
-rw-r--r--nixpkgs/pkgs/misc/vscode-extensions/remote-ssh/default.nix4
-rw-r--r--nixpkgs/pkgs/misc/vscode-extensions/rust-analyzer/build-deps/package.json31
-rw-r--r--nixpkgs/pkgs/misc/vscode-extensions/rust-analyzer/default.nix41
-rw-r--r--nixpkgs/pkgs/misc/vscode-extensions/terraform/default.nix6
-rw-r--r--nixpkgs/pkgs/misc/vscode-extensions/terraform/fix-terraform-ls.patch60
-rw-r--r--nixpkgs/pkgs/misc/vscode-extensions/vscode-lldb/default.nix3
-rw-r--r--nixpkgs/pkgs/os-specific/bsd/netbsd/default.nix27
-rw-r--r--nixpkgs/pkgs/os-specific/bsd/setup-hook.sh8
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/apple-sdk-11.0/apple_sdk.nix9
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/apple-sdk-11.0/frameworks.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/apple-source-releases/libunwind/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/binutils/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/signing-utils/auto-sign-hook.sh13
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/smimesign/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/xattr/default.nix73
-rw-r--r--nixpkgs/pkgs/os-specific/linux/acpi-call/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/akvcam/default.nix18
-rw-r--r--nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-topology-conf/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/apparmor/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/blktrace/default.nix16
-rw-r--r--nixpkgs/pkgs/os-specific/linux/bluez/default.nix7
-rw-r--r--nixpkgs/pkgs/os-specific/linux/cramfsswap/default.nix13
-rw-r--r--nixpkgs/pkgs/os-specific/linux/ddcci/default.nix9
-rw-r--r--nixpkgs/pkgs/os-specific/linux/dpdk/default.nix10
-rw-r--r--nixpkgs/pkgs/os-specific/linux/evdi/default.nix21
-rw-r--r--nixpkgs/pkgs/os-specific/linux/extrace/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/firmware/b43-firmware/5.1.138.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/firmware/b43-firmware/6.30.163.46.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/firmware/broadcom-bt-firmware/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/firmware/facetimehd-firmware/default.nix3
-rw-r--r--nixpkgs/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix8
-rw-r--r--nixpkgs/pkgs/os-specific/linux/firmware/fwupd/default.nix5
-rw-r--r--nixpkgs/pkgs/os-specific/linux/firmware/intel2200BGFirmware/default.nix23
-rw-r--r--nixpkgs/pkgs/os-specific/linux/firmware/libreelec-dvb-firmware/default.nix31
-rw-r--r--nixpkgs/pkgs/os-specific/linux/firmware/openelec-dvb-firmware/default.nix26
-rw-r--r--nixpkgs/pkgs/os-specific/linux/firmware/raspberrypi-wireless/default.nix8
-rw-r--r--nixpkgs/pkgs/os-specific/linux/firmware/raspberrypi/armstubs.nix12
-rw-r--r--nixpkgs/pkgs/os-specific/linux/firmware/raspberrypi/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/firmware/rtl8192su-firmware/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/firmware/rtl8723bs-firmware/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/firmware/sof-firmware/default.nix1
-rw-r--r--nixpkgs/pkgs/os-specific/linux/firmware/system76-firmware/default.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/firmware/zd1211/default.nix26
-rw-r--r--nixpkgs/pkgs/os-specific/linux/fwts/default.nix21
-rw-r--r--nixpkgs/pkgs/os-specific/linux/i810switch/default.nix12
-rw-r--r--nixpkgs/pkgs/os-specific/linux/iotop-c/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/ipset/default.nix8
-rw-r--r--nixpkgs/pkgs/os-specific/linux/iptables/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/iputils/default.nix16
-rw-r--r--nixpkgs/pkgs/os-specific/linux/isgx/default.nix23
-rw-r--r--nixpkgs/pkgs/os-specific/linux/jool/source.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kbd/default.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kbd/search-paths.patch85
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/common-config.nix7
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/generic.nix16
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/hardened/config.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/hardened/patches.json32
-rwxr-xr-xnixpkgs/pkgs/os-specific/linux/kernel/hardened/update.py6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-4.14.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-4.19.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-4.4.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-4.9.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-5.10.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-5.13.nix7
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-5.14.nix (renamed from nixpkgs/pkgs/os-specific/linux/kernel/linux-5.12.nix)8
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-5.4.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-libre.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-lqx.nix8
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-rpi.nix13
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-testing.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-xanmod.nix15
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-zen.nix23
-rwxr-xr-xnixpkgs/pkgs/os-specific/linux/kernel/update-zen.sh21
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kexec-tools/default.nix (renamed from nixpkgs/pkgs/os-specific/linux/kexectools/default.nix)0
-rw-r--r--nixpkgs/pkgs/os-specific/linux/libcap/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/libfabric/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/lttng-modules/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/lvm2/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/mcelog/default.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/musl/default.nix1
-rw-r--r--nixpkgs/pkgs/os-specific/linux/net-tools/default.nix1
-rw-r--r--nixpkgs/pkgs/os-specific/linux/nftables/default.nix4
-rwxr-xr-xnixpkgs/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh5
-rwxr-xr-xnixpkgs/pkgs/os-specific/linux/nvidia-x11/builder.sh10
-rw-r--r--nixpkgs/pkgs/os-specific/linux/nvidia-x11/default.nix8
-rw-r--r--nixpkgs/pkgs/os-specific/linux/nvidia-x11/generic.nix7
-rw-r--r--nixpkgs/pkgs/os-specific/linux/nvidia-x11/persistenced.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/nvidia-x11/settings.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/odp-dpdk/default.nix7
-rw-r--r--nixpkgs/pkgs/os-specific/linux/ofp/default.nix41
-rw-r--r--nixpkgs/pkgs/os-specific/linux/openrazer/driver.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/openvswitch/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/pcm/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/ply/default.nix18
-rw-r--r--nixpkgs/pkgs/os-specific/linux/powertop/default.nix17
-rw-r--r--nixpkgs/pkgs/os-specific/linux/psftools/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/raspberrypi-eeprom/default.nix27
-rw-r--r--nixpkgs/pkgs/os-specific/linux/rdma-core/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/restool/default.nix42
-rw-r--r--nixpkgs/pkgs/os-specific/linux/rewritefs/default.nix13
-rw-r--r--nixpkgs/pkgs/os-specific/linux/rtl8188eus-aircrack/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/rtl8812au/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/rtl8814au/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/rtl8821au/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/rtl8821ce/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/rtl8821cu/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/rtl88x2bu/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/rtl88xxau-aircrack/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/rtw88/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/s6-linux-init/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/systemd/default.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/sysvinit/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/tuigreet/default.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/tuxedo-keyboard/default.nix9
-rw-r--r--nixpkgs/pkgs/os-specific/linux/uclibc/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/usbutils/default.nix10
-rw-r--r--nixpkgs/pkgs/os-specific/linux/v4l2loopback/default.nix13
-rw-r--r--nixpkgs/pkgs/os-specific/linux/wireguard/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/wooting-udev-rules/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/wooting-udev-rules/wooting.rules5
-rw-r--r--nixpkgs/pkgs/os-specific/linux/xmm7360-pci/default.nix1
-rw-r--r--nixpkgs/pkgs/os-specific/linux/zenmonitor/default.nix12
-rw-r--r--nixpkgs/pkgs/os-specific/linux/zenpower/default.nix12
-rw-r--r--nixpkgs/pkgs/os-specific/linux/zenstates/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/zfs/default.nix25
-rw-r--r--nixpkgs/pkgs/os-specific/windows/jom/default.nix2
-rw-r--r--nixpkgs/pkgs/pkgs-lib/formats.nix33
-rw-r--r--nixpkgs/pkgs/pkgs-lib/tests/formats.nix28
-rw-r--r--nixpkgs/pkgs/servers/adguardhome/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/amqp/rabbitmq-server/default.nix68
-rw-r--r--nixpkgs/pkgs/servers/apache-kafka/default.nix22
-rw-r--r--nixpkgs/pkgs/servers/apcupsd/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/asterisk/default.nix54
-rwxr-xr-xnixpkgs/pkgs/servers/asterisk/update.py36
-rw-r--r--nixpkgs/pkgs/servers/asterisk/versions.json18
-rw-r--r--nixpkgs/pkgs/servers/atlassian/crowd.nix2
-rw-r--r--nixpkgs/pkgs/servers/bazarr/default.nix29
-rw-r--r--nixpkgs/pkgs/servers/blockbook/default.nix11
-rw-r--r--nixpkgs/pkgs/servers/caddy/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/cayley/default.nix7
-rw-r--r--nixpkgs/pkgs/servers/computing/slurm-spank-x11/default.nix7
-rw-r--r--nixpkgs/pkgs/servers/computing/slurm/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/consul/default.nix17
-rw-r--r--nixpkgs/pkgs/servers/corosync/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/dendrite/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/dex/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/dict/dictd-db-collector.nix135
-rw-r--r--nixpkgs/pkgs/servers/dict/wiktionary/builder.sh8
-rw-r--r--nixpkgs/pkgs/servers/dict/wiktionary/default.nix20
-rw-r--r--nixpkgs/pkgs/servers/dns/knot-dns/default.nix18
-rw-r--r--nixpkgs/pkgs/servers/dns/knot-resolver/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/dns/nsd/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/domoticz/default.nix32
-rw-r--r--nixpkgs/pkgs/servers/elasticmq-server-bin/default.nix56
-rw-r--r--nixpkgs/pkgs/servers/elasticmq-server-bin/elasticmq-test.nix47
-rw-r--r--nixpkgs/pkgs/servers/felix/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/filtron/default.nix26
-rw-r--r--nixpkgs/pkgs/servers/fingerd/bsd-fingerd/default.nix7
-rw-r--r--nixpkgs/pkgs/servers/ftp/bftpd/default.nix11
-rw-r--r--nixpkgs/pkgs/servers/ftp/pure-ftpd/default.nix5
-rw-r--r--nixpkgs/pkgs/servers/ftp/vsftpd/default.nix5
-rw-r--r--nixpkgs/pkgs/servers/gerbera/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/gonic/default.nix14
-rw-r--r--nixpkgs/pkgs/servers/gotify/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/gotify/ui.nix2
-rw-r--r--nixpkgs/pkgs/servers/gotify/yarndeps.nix2
-rw-r--r--nixpkgs/pkgs/servers/gpm/default.nix5
-rw-r--r--nixpkgs/pkgs/servers/gpsd/default.nix80
-rw-r--r--nixpkgs/pkgs/servers/grocy/0001-Define-configs-with-env-vars.patch40
-rw-r--r--nixpkgs/pkgs/servers/grocy/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/hashi-ui/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/hasura/cli.nix14
-rw-r--r--nixpkgs/pkgs/servers/headscale/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/heisenbridge/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/holochain-go/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/home-assistant/component-packages.nix59
-rw-r--r--nixpkgs/pkgs/servers/home-assistant/default.nix100
-rw-r--r--nixpkgs/pkgs/servers/home-assistant/frontend.nix4
-rwxr-xr-xnixpkgs/pkgs/servers/home-assistant/update.sh4
-rw-r--r--nixpkgs/pkgs/servers/hqplayerd/default.nix21
-rw-r--r--nixpkgs/pkgs/servers/http/apache-modules/mod_auth_mellon/default.nix10
-rw-r--r--nixpkgs/pkgs/servers/http/apache-modules/mod_auth_mellon/fixdeps.patch34
-rw-r--r--nixpkgs/pkgs/servers/http/apache-modules/mod_fastcgi/default.nix14
-rw-r--r--nixpkgs/pkgs/servers/http/apache-modules/mod_perl/default.nix9
-rw-r--r--nixpkgs/pkgs/servers/http/apache-modules/mod_wsgi/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/http/gitlab-pages/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/http/jboss/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/http/jboss/jdbc/mysql/default.nix3
-rw-r--r--nixpkgs/pkgs/servers/http/micro-httpd/default.nix3
-rw-r--r--nixpkgs/pkgs/servers/http/nginx/modules.nix2
-rw-r--r--nixpkgs/pkgs/servers/http/pomerium/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/http/ran/default.nix47
-rw-r--r--nixpkgs/pkgs/servers/http/redstore/default.nix5
-rw-r--r--nixpkgs/pkgs/servers/http/tomcat/jdbc/mysql/default.nix3
-rw-r--r--nixpkgs/pkgs/servers/http/unit/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/icecast/default.nix5
-rw-r--r--nixpkgs/pkgs/servers/icingaweb2/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/icingaweb2/ipl.nix4
-rw-r--r--nixpkgs/pkgs/servers/icingaweb2/theme-april/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/icingaweb2/theme-lsd/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/icingaweb2/theme-particles/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/icingaweb2/theme-snow/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/icingaweb2/theme-spring/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/icingaweb2/theme-unicorn/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/interlock/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/irc/charybdis/default.nix5
-rw-r--r--nixpkgs/pkgs/servers/irc/ircd-hybrid/default.nix7
-rw-r--r--nixpkgs/pkgs/servers/isso/default.nix25
-rw-r--r--nixpkgs/pkgs/servers/isso/node-env.nix573
-rw-r--r--nixpkgs/pkgs/servers/isso/node-packages.nix558
-rw-r--r--nixpkgs/pkgs/servers/isso/package.json15
-rw-r--r--nixpkgs/pkgs/servers/jackett/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/jellyfin/nuget-deps.nix2719
-rwxr-xr-xnixpkgs/pkgs/servers/jellyfin/update.sh19
-rw-r--r--nixpkgs/pkgs/servers/keycloak/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/klipper/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/ldap/389/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/libreddit/default.nix34
-rw-r--r--nixpkgs/pkgs/servers/livepeer/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/maddy/default.nix8
-rw-r--r--nixpkgs/pkgs/servers/mail/dovecot/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/mail/mailhog/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/mail/postfix/default.nix18
-rw-r--r--nixpkgs/pkgs/servers/mail/postsrsd/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/mastodon/update.nix1
-rw-r--r--nixpkgs/pkgs/servers/mastodon/yarn.nix2
-rw-r--r--nixpkgs/pkgs/servers/matrix-appservice-discord/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/matrix-appservice-discord/yarn-dependencies.nix6
-rw-r--r--nixpkgs/pkgs/servers/matrix-corporal/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/matrix-synapse/0001-setup-add-homeserver-as-console-script.patch33
-rw-r--r--nixpkgs/pkgs/servers/matrix-synapse/default.nix9
-rw-r--r--nixpkgs/pkgs/servers/matrix-synapse/homeserver-script.patch23
-rw-r--r--nixpkgs/pkgs/servers/matrix-synapse/matrix-appservice-irc/default.nix1
-rwxr-xr-xnixpkgs/pkgs/servers/matrix-synapse/matrix-appservice-irc/update.sh24
-rw-r--r--nixpkgs/pkgs/servers/matterbridge/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/mattermost/default.nix7
-rw-r--r--nixpkgs/pkgs/servers/mattermost/matterircd.nix4
-rw-r--r--nixpkgs/pkgs/servers/mautrix-signal/default.nix8
-rw-r--r--nixpkgs/pkgs/servers/mautrix-telegram/default.nix20
-rw-r--r--nixpkgs/pkgs/servers/mautrix-whatsapp/default.nix12
-rw-r--r--nixpkgs/pkgs/servers/miniflux/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/minio/default.nix18
-rw-r--r--nixpkgs/pkgs/servers/misc/gobgpd/default.nix11
-rw-r--r--nixpkgs/pkgs/servers/misc/navidrome/default.nix8
-rw-r--r--nixpkgs/pkgs/servers/misc/subsonic/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/monitoring/alertmanager-bot/default.nix8
-rw-r--r--nixpkgs/pkgs/servers/monitoring/alertmanager-irc-relay/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/monitoring/cadvisor/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/monitoring/do-agent/default.nix7
-rw-r--r--nixpkgs/pkgs/servers/monitoring/grafana-agent/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/monitoring/grafana-image-renderer/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/monitoring/grafana-image-renderer/yarn.nix2
-rw-r--r--nixpkgs/pkgs/servers/monitoring/grafana/default.nix16
-rw-r--r--nixpkgs/pkgs/servers/monitoring/grafana/plugins/grafadruid-druid-datasource/default.nix13
-rw-r--r--nixpkgs/pkgs/servers/monitoring/grafana/plugins/grafana-polystat-panel/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/monitoring/grafana/plugins/plugins.nix1
-rw-r--r--nixpkgs/pkgs/servers/monitoring/heapster/default.nix3
-rw-r--r--nixpkgs/pkgs/servers/monitoring/icinga2/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/monitoring/loki/default.nix21
-rw-r--r--nixpkgs/pkgs/servers/monitoring/mackerel-agent/default.nix15
-rw-r--r--nixpkgs/pkgs/servers/monitoring/mtail/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/monitoring/munin/default.nix10
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/alertmanager.nix17
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/artifactory-exporter.nix15
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/bitcoin-exporter.nix2
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/default.nix42
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/fritzbox-exporter-deps.nix93
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/fritzbox-exporter.nix19
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/influxdb-exporter.nix35
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/jmx-httpserver.nix13
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/kea-exporter.nix2
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/knot-exporter.nix19
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/mysqld-exporter.nix9
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/nginx-exporter.nix4
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/node-exporter.nix21
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/openldap-exporter.nix15
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/postfix-exporter.nix2
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/postgres-exporter.nix6
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/promscale.nix8
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/pushgateway.nix17
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/redis-exporter.nix11
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/smokeping-prober.nix4
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/tor-exporter.nix4
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/webui-yarndeps.nix2
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/xmpp-alerts.nix2
-rw-r--r--nixpkgs/pkgs/servers/monitoring/riemann/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/monitoring/sensu-go/default.nix17
-rw-r--r--nixpkgs/pkgs/servers/monitoring/seyren/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/monitoring/telegraf/default.nix13
-rw-r--r--nixpkgs/pkgs/servers/monitoring/thanos/default.nix21
-rw-r--r--nixpkgs/pkgs/servers/monitoring/unifi-poller/default.nix14
-rw-r--r--nixpkgs/pkgs/servers/moonraker/default.nix44
-rw-r--r--nixpkgs/pkgs/servers/mpd/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/mqtt/mosquitto/default.nix14
-rw-r--r--nixpkgs/pkgs/servers/nas/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/nats-server/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/nats-streaming-server/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/neard/default.nix15
-rw-r--r--nixpkgs/pkgs/servers/networkaudiod/default.nix71
-rw-r--r--nixpkgs/pkgs/servers/news/leafnode/default.nix3
-rw-r--r--nixpkgs/pkgs/servers/nextcloud/default.nix12
-rw-r--r--nixpkgs/pkgs/servers/nextcloud/news-updater.nix2
-rw-r--r--nixpkgs/pkgs/servers/nitter/default.nix136
-rw-r--r--nixpkgs/pkgs/servers/nosql/aerospike/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/nosql/cassandra/generic.nix4
-rw-r--r--nixpkgs/pkgs/servers/nosql/influxdb/default.nix8
-rw-r--r--nixpkgs/pkgs/servers/nosql/influxdb2/default.nix8
-rw-r--r--nixpkgs/pkgs/servers/nosql/influxdb2/influx-ui-yarndeps.nix2
-rw-r--r--nixpkgs/pkgs/servers/nosql/mongodb/mongodb.nix7
-rw-r--r--nixpkgs/pkgs/servers/nosql/victoriametrics/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/oauth2-proxy/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/ombi/default.nix8
-rw-r--r--nixpkgs/pkgs/servers/openafs/1.8/module.nix47
-rw-r--r--nixpkgs/pkgs/servers/openafs/1.8/srcs.nix6
-rw-r--r--nixpkgs/pkgs/servers/pg_featureserv/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/pg_tileserv/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/pleroma/default.nix18
-rw-r--r--nixpkgs/pkgs/servers/pleroma/mix.nix43
-rw-r--r--nixpkgs/pkgs/servers/plex/raw.nix6
-rw-r--r--nixpkgs/pkgs/servers/postfixadmin/default.nix28
-rw-r--r--nixpkgs/pkgs/servers/pounce/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/pulseaudio/default.nix5
-rw-r--r--nixpkgs/pkgs/servers/reproxy/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/rippled/data-api.nix2
-rw-r--r--nixpkgs/pkgs/servers/roon-bridge/default.nix21
-rw-r--r--nixpkgs/pkgs/servers/roon-server/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/routinator/default.nix8
-rw-r--r--nixpkgs/pkgs/servers/rpiplay/default.nix49
-rw-r--r--nixpkgs/pkgs/servers/rtsp-simple-server/default.nix12
-rw-r--r--nixpkgs/pkgs/servers/samba/4.x.nix46
-rw-r--r--nixpkgs/pkgs/servers/samba/build-find-pre-built-heimdal-build-tools-in-case-of-.patch87
-rw-r--r--nixpkgs/pkgs/servers/search/elasticsearch/6.x.nix4
-rw-r--r--nixpkgs/pkgs/servers/search/elasticsearch/7.x.nix24
-rw-r--r--nixpkgs/pkgs/servers/search/elasticsearch/plugins.nix87
-rw-r--r--nixpkgs/pkgs/servers/search/groonga/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/search/meilisearch/Cargo.nix11200
-rw-r--r--nixpkgs/pkgs/servers/search/meilisearch/crate-hashes.json13
-rw-r--r--nixpkgs/pkgs/servers/search/meilisearch/default.nix55
-rw-r--r--nixpkgs/pkgs/servers/search/meilisearch/unify-pest-dependency-version.patch74
-rw-r--r--nixpkgs/pkgs/servers/serviio/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/shishi/default.nix5
-rw-r--r--nixpkgs/pkgs/servers/silc-server/default.nix5
-rw-r--r--nixpkgs/pkgs/servers/sip/sipwitch/default.nix5
-rw-r--r--nixpkgs/pkgs/servers/smcroute/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/sozu/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/sql/dolt/default.nix35
-rw-r--r--nixpkgs/pkgs/servers/sql/materialize/default.nix10
-rw-r--r--nixpkgs/pkgs/servers/sql/mysql/5.7.x.nix2
-rw-r--r--nixpkgs/pkgs/servers/sql/mysql/8.0.x.nix8
-rw-r--r--nixpkgs/pkgs/servers/sql/mysql/jdbc/builder.sh9
-rw-r--r--nixpkgs/pkgs/servers/sql/mysql/jdbc/default.nix24
-rw-r--r--nixpkgs/pkgs/servers/sql/postgresql/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/sql/postgresql/ext/pg_similarity.nix3
-rw-r--r--nixpkgs/pkgs/servers/sql/postgresql/ext/timescaledb.nix7
-rw-r--r--nixpkgs/pkgs/servers/sql/sqlite/jdbc/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/sql/virtuoso/6.x.nix7
-rw-r--r--nixpkgs/pkgs/servers/sql/virtuoso/7.x.nix7
-rw-r--r--nixpkgs/pkgs/servers/squid/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/swego/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/tailscale/default.nix23
-rw-r--r--nixpkgs/pkgs/servers/tautulli/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/tegola/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/teleport/default.nix43
-rw-r--r--nixpkgs/pkgs/servers/teleport/test.patch13
-rw-r--r--nixpkgs/pkgs/servers/tracing/tempo/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/traefik/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/tt-rss/default.nix17
-rw-r--r--nixpkgs/pkgs/servers/tt-rss/plugin-auth-ldap/default.nix5
-rw-r--r--nixpkgs/pkgs/servers/tt-rss/theme-feedly/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/tvheadend/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/uhub/default.nix43
-rw-r--r--nixpkgs/pkgs/servers/uhub/plugin-dir.patch19
-rw-r--r--nixpkgs/pkgs/servers/unifi/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/unpackerr/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/urserver/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/varnish/default.nix16
-rw-r--r--nixpkgs/pkgs/servers/varnish/digest.nix10
-rw-r--r--nixpkgs/pkgs/servers/varnish/dynamic.nix10
-rw-r--r--nixpkgs/pkgs/servers/varnish/modules.nix2
-rw-r--r--nixpkgs/pkgs/servers/varnish/packages.nix35
-rw-r--r--nixpkgs/pkgs/servers/vouch-proxy/default.nix31
-rw-r--r--nixpkgs/pkgs/servers/web-apps/bookstack/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/web-apps/cryptpad/bower-packages.nix24
-rw-r--r--nixpkgs/pkgs/servers/web-apps/cryptpad/default.nix53
-rwxr-xr-xnixpkgs/pkgs/servers/web-apps/cryptpad/generate.sh15
-rw-r--r--nixpkgs/pkgs/servers/web-apps/cryptpad/node-packages-generated.nix98
-rw-r--r--nixpkgs/pkgs/servers/web-apps/cryptpad/node-packages.json2
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/auto_generated_path.patch13
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/default.nix44
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/all-plugins.nix5
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/Gemfile8
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/Gemfile.lock27
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/default.nix18
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/gemset.nix76
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-canned-replies/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-checklist/default.nix17
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-data-explorer/default.nix17
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile.lock10
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix24
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-ldap-auth/Gemfile8
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-ldap-auth/Gemfile.lock28
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-ldap-auth/default.nix18
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-ldap-auth/gemset.nix74
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/Gemfile6
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/Gemfile.lock15
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/default.nix18
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/gemset.nix (renamed from nixpkgs/pkgs/tools/text/bcat/gemset.nix)13
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix4
-rwxr-xr-xnixpkgs/pkgs/servers/web-apps/discourse/update.py79
-rw-r--r--nixpkgs/pkgs/servers/web-apps/galene/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/web-apps/hedgedoc/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/web-apps/hedgedoc/yarn.nix14
-rw-r--r--nixpkgs/pkgs/servers/web-apps/lemmy/default.nix8
-rw-r--r--nixpkgs/pkgs/servers/web-apps/matomo/default.nix10
-rw-r--r--nixpkgs/pkgs/servers/web-apps/moodle/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/web-apps/plausible/default.nix1
-rw-r--r--nixpkgs/pkgs/servers/web-apps/plausible/yarn.nix2
-rw-r--r--nixpkgs/pkgs/servers/web-apps/sogo/default.nix14
-rw-r--r--nixpkgs/pkgs/servers/web-apps/whitebophir/node-packages-generated.nix318
-rw-r--r--nixpkgs/pkgs/servers/web-apps/whitebophir/node-packages.json2
-rw-r--r--nixpkgs/pkgs/servers/web-apps/wordpress/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/x11/xorg/default.nix34
-rwxr-xr-xnixpkgs/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl9
-rw-r--r--nixpkgs/pkgs/servers/x11/xorg/overrides.nix4
-rw-r--r--nixpkgs/pkgs/servers/x11/xorg/tarballs.list10
-rw-r--r--nixpkgs/pkgs/servers/x11/xquartz/default.nix3
-rw-r--r--nixpkgs/pkgs/servers/xandikos/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/xinetd/default.nix5
-rw-r--r--nixpkgs/pkgs/servers/zookeeper/default.nix2
-rw-r--r--nixpkgs/pkgs/shells/bash/bash-5.1-patches.nix4
-rwxr-xr-xnixpkgs/pkgs/shells/bash/update-patch-set.sh28
-rw-r--r--nixpkgs/pkgs/shells/bash/yarn-completion/default.nix34
-rw-r--r--nixpkgs/pkgs/shells/elvish/default.nix9
-rw-r--r--nixpkgs/pkgs/shells/fish/oh-my-fish/default.nix60
-rw-r--r--nixpkgs/pkgs/shells/nushell/default.nix22
-rw-r--r--nixpkgs/pkgs/shells/nushell/use-system-zstd-lib.diff32
-rw-r--r--nixpkgs/pkgs/shells/oil/default.nix4
-rw-r--r--nixpkgs/pkgs/shells/powershell/default.nix6
-rw-r--r--nixpkgs/pkgs/shells/tcsh/default.nix16
-rw-r--r--nixpkgs/pkgs/shells/xonsh/default.nix56
-rw-r--r--nixpkgs/pkgs/shells/zsh/antibody/default.nix2
-rw-r--r--nixpkgs/pkgs/shells/zsh/default.nix5
-rw-r--r--nixpkgs/pkgs/shells/zsh/oh-my-zsh/default.nix6
-rw-r--r--nixpkgs/pkgs/shells/zsh/pure-prompt/default.nix4
-rw-r--r--nixpkgs/pkgs/shells/zsh/spaceship-prompt/default.nix4
-rw-r--r--nixpkgs/pkgs/shells/zsh/tz_completion.patch14
-rw-r--r--nixpkgs/pkgs/shells/zsh/zsh-fzf-tab/default.nix6
-rw-r--r--nixpkgs/pkgs/shells/zsh/zsh-nix-shell/default.nix4
-rw-r--r--nixpkgs/pkgs/stdenv/adapters.nix125
-rw-r--r--nixpkgs/pkgs/stdenv/generic/check-meta.nix1
-rw-r--r--nixpkgs/pkgs/stdenv/generic/default.nix8
-rw-r--r--nixpkgs/pkgs/stdenv/generic/make-derivation.nix802
-rw-r--r--nixpkgs/pkgs/stdenv/generic/setup.sh3
-rw-r--r--nixpkgs/pkgs/test/cuda/cuda-library-samples/generic.nix1
-rw-r--r--nixpkgs/pkgs/test/texlive/default.nix16
-rw-r--r--nixpkgs/pkgs/tools/X11/arandr/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/X11/ckbcomp/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/X11/imwheel/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/X11/inputplug/default.nix35
-rw-r--r--nixpkgs/pkgs/tools/X11/keynav/default.nix47
-rw-r--r--nixpkgs/pkgs/tools/X11/ksuperkey/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/X11/opentabletdriver/deps.nix552
-rw-r--r--nixpkgs/pkgs/tools/X11/opentabletdriver/shell.nix1
-rwxr-xr-xnixpkgs/pkgs/tools/X11/opentabletdriver/update.sh16
-rw-r--r--nixpkgs/pkgs/tools/X11/x2vnc/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/X11/x2x/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/X11/xbrightness/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/X11/xcalib/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/X11/xchainkeys/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/X11/xdg-user-dirs/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/X11/xdotool/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/X11/xkbset/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/X11/xmagnify/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/X11/xosview2/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/X11/xplugd/default.nix30
-rw-r--r--nixpkgs/pkgs/tools/X11/xrestop/default.nix17
-rw-r--r--nixpkgs/pkgs/tools/X11/xwallpaper/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/admin/acme.sh/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/admin/afterburn/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/admin/aws-vault/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/admin/awscli2/default.nix17
-rw-r--r--nixpkgs/pkgs/tools/admin/awsweeper/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/admin/chamber/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/admin/clair/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/admin/credhub-cli/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/admin/daemontools/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/admin/drawterm/default.nix37
-rw-r--r--nixpkgs/pkgs/tools/admin/eksctl/default.nix15
-rw-r--r--nixpkgs/pkgs/tools/admin/exoscale-cli/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/admin/fioctl/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/admin/google-cloud-sdk/cloud_sql_proxy_path.patch6
-rw-r--r--nixpkgs/pkgs/tools/admin/google-cloud-sdk/default.nix20
-rw-r--r--nixpkgs/pkgs/tools/admin/iamy/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/admin/lego/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/admin/lxd/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/admin/meshcentral/default.nix37
-rw-r--r--nixpkgs/pkgs/tools/admin/meshcentral/package.json123
-rwxr-xr-xnixpkgs/pkgs/tools/admin/meshcentral/update.sh50
-rw-r--r--nixpkgs/pkgs/tools/admin/meshcentral/yarn.lock7365
-rw-r--r--nixpkgs/pkgs/tools/admin/meshcentral/yarn.nix8021
-rw-r--r--nixpkgs/pkgs/tools/admin/mycli/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/admin/nomachine-client/default.nix11
-rw-r--r--nixpkgs/pkgs/tools/admin/ossutil/default.nix33
-rw-r--r--nixpkgs/pkgs/tools/admin/procs/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/admin/pulumi/data.nix90
-rwxr-xr-xnixpkgs/pkgs/tools/admin/pulumi/update.sh22
-rw-r--r--nixpkgs/pkgs/tools/admin/realvnc-vnc-viewer/default.nix51
-rw-r--r--nixpkgs/pkgs/tools/admin/salt/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/admin/sec/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/admin/ssmsh/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/admin/stripe-cli/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/admin/tightvnc/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/admin/trivy/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/archivers/atool/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/archivers/cabextract/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/archivers/corearchiver/default.nix33
-rw-r--r--nixpkgs/pkgs/tools/archivers/cromfs/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/archivers/innoextract/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/archivers/maxcso/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/archivers/pxattr/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/archivers/wimlib/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/audio/abcm2ps/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/audio/audiowaveform/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/audio/beets/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/audio/darkice/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/audio/gvolicon/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/audio/midicsv/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/audio/mididings/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/audio/mpdsync/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/audio/pa-applet/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/audio/picotts/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/audio/spotdl/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/audio/tts/default.nix27
-rw-r--r--nixpkgs/pkgs/tools/audio/yabridge/default.nix19
-rw-r--r--nixpkgs/pkgs/tools/audio/yabridge/hardcode-wine.patch6
-rw-r--r--nixpkgs/pkgs/tools/audio/yabridgectl/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/backup/btar/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/backup/bupstash/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/backup/dirvish/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/backup/discordchatexporter-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/backup/discordchatexporter-cli/deps.nix84
-rwxr-xr-xnixpkgs/pkgs/tools/backup/discordchatexporter-cli/updater.sh18
-rw-r--r--nixpkgs/pkgs/tools/backup/duplicati/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/backup/duplicity/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/backup/gphotos-sync/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/backup/kopia/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/backup/monolith/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/backup/mt-st/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/backup/mtx/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/backup/partimage/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/backup/restic/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/backup/rsnapshot/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/backup/s3ql/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/backup/sanoid/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/backup/tarsnapper/default.nix42
-rw-r--r--nixpkgs/pkgs/tools/backup/tsm-client/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/backup/wal-g/default.nix13
-rw-r--r--nixpkgs/pkgs/tools/bluetooth/blueman/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/bluetooth/obex-data-server/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/bluetooth/obexd/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/bluetooth/obexfs/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/bluetooth/obexftp/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/bluetooth/openobex/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/cd-dvd/ccd2iso/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/cd-dvd/cdrdao/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/cd-dvd/cdrkit/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/cd-dvd/uif2iso/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/cd-dvd/unetbootin/default.nix51
-rw-r--r--nixpkgs/pkgs/tools/cd-dvd/vobcopy/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/cd-dvd/vobsub2srt/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/cd-dvd/xorriso/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/compression/lzham/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/compression/mozlz4a/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/compression/ouch/add-Cargo.lock.patch434
-rw-r--r--nixpkgs/pkgs/tools/compression/ouch/default.nix28
-rw-r--r--nixpkgs/pkgs/tools/compression/xdelta/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/compression/zstd/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/filesystems/9pfs/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/filesystems/aefs/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/filesystems/archivemount/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/filesystems/bonnie/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/filesystems/btrfs-progs/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/catcli/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/ceph-csi/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/ceph/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/ciopfs/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/filesystems/davfs2/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/filesystems/duperemove/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/fsfs/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/filesystems/fuse-overlayfs/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/gcsfuse/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/filesystems/genext2fs/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/filesystems/gfs2-utils/default.nix32
-rw-r--r--nixpkgs/pkgs/tools/filesystems/gocryptfs/default.nix17
-rw-r--r--nixpkgs/pkgs/tools/filesystems/httpfs/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/filesystems/jfsutils/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/filesystems/mergerfs/tools.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/moosefs/default.nix13
-rw-r--r--nixpkgs/pkgs/tools/filesystems/mtdutils/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/filesystems/mtools/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/mtpfs/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/filesystems/netatalk/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/filesystems/ntfs-3g/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/filesystems/s3fs/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/squashfs-tools-ng/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/squashfs/0001-Mksquashfs-add-no-hardlinks-option.patch76
-rw-r--r--nixpkgs/pkgs/tools/filesystems/squashfs/4k-align.patch62
-rw-r--r--nixpkgs/pkgs/tools/filesystems/squashfs/darwin.patch56
-rw-r--r--nixpkgs/pkgs/tools/filesystems/squashfs/default.nix20
-rw-r--r--nixpkgs/pkgs/tools/filesystems/tar2ext4/default.nix22
-rw-r--r--nixpkgs/pkgs/tools/games/ajour/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/games/joystickwake/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/graphics/agi/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/graphics/appleseed/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/graphics/argyllcms/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/graphics/astc-encoder/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/graphics/dcraw/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/graphics/diagrams-builder/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/graphics/editres/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/graphics/escrotum/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/graphics/exif/default.nix24
-rw-r--r--nixpkgs/pkgs/tools/graphics/exiftags/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/graphics/fgallery/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/graphics/goverlay/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/graphics/goverlay/find-xdg-data-files.patch10
-rw-r--r--nixpkgs/pkgs/tools/graphics/graphviz/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/graphics/icoutils/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/graphics/jbig2enc/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/graphics/leela/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/graphics/lsix/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/graphics/netpbm/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/graphics/nifskope/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/graphics/nip2/default.nix41
-rw-r--r--nixpkgs/pkgs/tools/graphics/optipng/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/graphics/pdfread/default.nix51
-rw-r--r--nixpkgs/pkgs/tools/graphics/pikchr/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/graphics/plotutils/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/graphics/pngcheck/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/graphics/pngcrush/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/graphics/pngnq/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/graphics/pngout/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/graphics/pngtoico/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/graphics/pstoedit/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/graphics/puppeteer-cli/yarn.nix2
-rw-r--r--nixpkgs/pkgs/tools/graphics/resvg/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/graphics/svgbob/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/graphics/transfig/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/graphics/vips/default.nix77
-rw-r--r--nixpkgs/pkgs/tools/graphics/vulkan-extension-layer/default.nix15
-rw-r--r--nixpkgs/pkgs/tools/graphics/vulkan-tools-lunarg/default.nix36
-rw-r--r--nixpkgs/pkgs/tools/graphics/vulkan-tools/default.nix30
-rw-r--r--nixpkgs/pkgs/tools/graphics/waifu2x-converter-cpp/default.nix20
-rw-r--r--nixpkgs/pkgs/tools/graphics/waifu2x-converter-cpp/waifu2x_darwin_build.diff15
-rw-r--r--nixpkgs/pkgs/tools/graphics/xcftools/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/graphics/xcolor/default.nix39
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/anthy/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/emote/default.nix56
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/footswitch/default.nix35
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-bamboo/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/lisgd/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/m17n-db/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/m17n-lib/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/nabi/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/remote-touchpad/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/android-tools/default.nix34
-rw-r--r--nixpkgs/pkgs/tools/misc/arch-install-scripts/default.nix68
-rw-r--r--nixpkgs/pkgs/tools/misc/bat/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/misc/bdf2psf/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/betterdiscord-installer/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/broot/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/misc/calamares/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/chezmoi/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/misc/cicero-tui/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/cloud-sql-proxy/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/complete-alias/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/convbin/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/cope/default.nix28
-rw-r--r--nixpkgs/pkgs/tools/misc/coreboot-utils/default.nix22
-rw-r--r--nixpkgs/pkgs/tools/misc/coreshot/default.nix32
-rw-r--r--nixpkgs/pkgs/tools/misc/coreutils/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/misc/cpufetch/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/czkawka/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/dashing/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/dateutils/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/dialog/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/misc/diffoscope/default.nix38
-rw-r--r--nixpkgs/pkgs/tools/misc/disfetch/default.nix16
-rw-r--r--nixpkgs/pkgs/tools/misc/diskonaut/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/misc/dua/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/duf/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/dust/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/dutree/default.nix27
-rw-r--r--nixpkgs/pkgs/tools/misc/elfcat/Cargo.lock7
-rw-r--r--nixpkgs/pkgs/tools/misc/elfcat/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/entr/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/misc/envdir-go/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/misc/esphome/dashboard.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/esphome/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/etcher/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/misc/ethminer/add-global-context.patch25
-rw-r--r--nixpkgs/pkgs/tools/misc/ethminer/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/misc/ethtool/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/misc/exa/default.nix11
-rw-r--r--nixpkgs/pkgs/tools/misc/fend/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/file/default.nix13
-rw-r--r--nixpkgs/pkgs/tools/misc/file/webassembly-format-fix.patch13
-rw-r--r--nixpkgs/pkgs/tools/misc/findutils/default.nix15
-rw-r--r--nixpkgs/pkgs/tools/misc/findutils/fix-gnulib-tests-arm.patch45
-rw-r--r--nixpkgs/pkgs/tools/misc/flameshot/default.nix20
-rw-r--r--nixpkgs/pkgs/tools/misc/flexoptix-app/default.nix29
-rw-r--r--nixpkgs/pkgs/tools/misc/fontforge/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/misc/fwup/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/fzf/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/geekbench/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/gh-ost/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/git-town/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/misc/goreleaser/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/misc/goss/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/gotify-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/graylog/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/grc/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/hdf5/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/hdfview/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/infracost/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/interactsh/default.nix39
-rw-r--r--nixpkgs/pkgs/tools/misc/kepubify/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/misc/kermit/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/less/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/lf/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/lifecycled/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/linuxquota/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/lnav/0001-Forcefully-disable-docs-build.patch38
-rw-r--r--nixpkgs/pkgs/tools/misc/lnav/default.nix19
-rw-r--r--nixpkgs/pkgs/tools/misc/logstash/7.x.nix104
-rw-r--r--nixpkgs/pkgs/tools/misc/lokalise2-cli/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/lrzsz/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/misc/macchina/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/maker-panel/default.nix37
-rw-r--r--nixpkgs/pkgs/tools/misc/markdown-anki-decks/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/misc/mathpix-snipping-tool/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/mc/default.nix11
-rw-r--r--nixpkgs/pkgs/tools/misc/mcfly/default.nix17
-rw-r--r--nixpkgs/pkgs/tools/misc/mdbtools/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/mdr/default.nix30
-rw-r--r--nixpkgs/pkgs/tools/misc/me_cleaner/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/microplane/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/misc/mimeo/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/miniserve/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/mmv-go/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/mrtg/default.nix17
-rw-r--r--nixpkgs/pkgs/tools/misc/neo-cowsay/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/noti/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/notify/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/ntfy-webpush/default.nix34
-rw-r--r--nixpkgs/pkgs/tools/misc/ntfy/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/misc/opentelemetry-collector/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/misc/osm2pgsql/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/ostree/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/parallel/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/pcb2gcode/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/peep/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/pferd/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/pgcenter/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/misc/pgmetrics/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/misc/phoronix-test-suite/tests.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/pick/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/misc/pipelight/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/misc/pipelight/wine-6.13-new-args.patch42
-rw-r--r--nixpkgs/pkgs/tools/misc/pistol/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/piston-cli/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/plantuml/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/profile-cleaner/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/pspg/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/qt5ct/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/recutils/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/misc/remind/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/rlwrap/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/shadowenv/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/silicon/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/smenu/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/starship/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/staruml/default.nix49
-rw-r--r--nixpkgs/pkgs/tools/misc/svtplay-dl/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/systrayhelper/default.nix14
-rwxr-xr-xnixpkgs/pkgs/tools/misc/szyszka/default.nix45
-rw-r--r--nixpkgs/pkgs/tools/misc/t1utils/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/misc/tagref/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/tea/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/tealdeer/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/misc/teleconsole/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/misc/tfk8s/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/misc/thefuck/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/tmux-mem-cpu-load/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/toybox/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/traefik-certs-dumper/default.nix23
-rw-r--r--nixpkgs/pkgs/tools/misc/trash-cli/default.nix27
-rw-r--r--nixpkgs/pkgs/tools/misc/triehash/default.nix48
-rw-r--r--nixpkgs/pkgs/tools/misc/twurl/Gemfile3
-rw-r--r--nixpkgs/pkgs/tools/misc/twurl/Gemfile.lock (renamed from nixpkgs/pkgs/tools/text/bcat/Gemfile.lock)8
-rw-r--r--nixpkgs/pkgs/tools/misc/twurl/default.nix17
-rw-r--r--nixpkgs/pkgs/tools/misc/twurl/gemset.nix23
-rw-r--r--nixpkgs/pkgs/tools/misc/vector/default.nix19
-rw-r--r--nixpkgs/pkgs/tools/misc/vial/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/vsh/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/wimboot/default.nix29
-rw-r--r--nixpkgs/pkgs/tools/misc/wlc/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/woeusb/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/yad/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/yle-dl/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/you-get/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/yt-dlp/default.nix74
-rw-r--r--nixpkgs/pkgs/tools/misc/ytmdl/default.nix37
-rw-r--r--nixpkgs/pkgs/tools/misc/yubikey-manager-qt/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/yubikey-manager/default.nix17
-rw-r--r--nixpkgs/pkgs/tools/misc/z-lua/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/zoxide/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/ahcpd/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/networking/aircrack-ng/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/networking/aria2/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/arpoison/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/networking/assh/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/bandwhich/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/networking/bgpdump/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/networking/bgpq4/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/boundary/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/networking/brook/default.nix15
-rw-r--r--nixpkgs/pkgs/tools/networking/brook/deps.nix165
-rw-r--r--nixpkgs/pkgs/tools/networking/bsd-finger/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/networking/burpsuite/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/bwm-ng/default.nix83
-rw-r--r--nixpkgs/pkgs/tools/networking/cadaver/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/networking/carddav-util/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/cassowary/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/cbftp/default.nix46
-rw-r--r--nixpkgs/pkgs/tools/networking/changetower/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/networking/chisel/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/cksfv/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/networking/clash/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/networking/cmst/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/corerad/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/croc/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/curl-unix-socket/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/networking/dd-agent/integrations-core.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/dhcpcd/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/dhcpdump/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/networking/dnschef/default.nix27
-rw-r--r--nixpkgs/pkgs/tools/networking/dnscrypt-proxy2/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/dnsproxy/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/dnstop/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/networking/dropbear/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/networking/eggdrop/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/email/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/networking/filegive/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/networking/findomain/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/flvstreamer/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/fping/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/networking/frp/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/gftp/default.nix24
-rw-r--r--nixpkgs/pkgs/tools/networking/ghostunnel/default.nix31
-rw-r--r--nixpkgs/pkgs/tools/networking/gobgp/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/networking/goimapnotify/default.nix18
-rw-r--r--nixpkgs/pkgs/tools/networking/grpcui/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/grpcurl/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/networking/gvproxy/default.nix34
-rw-r--r--nixpkgs/pkgs/tools/networking/haproxy/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/hp2p/default.nix38
-rw-r--r--nixpkgs/pkgs/tools/networking/hp2p/python3.patch120
-rw-r--r--nixpkgs/pkgs/tools/networking/http-prompt/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/hurl/default.nix40
-rw-r--r--nixpkgs/pkgs/tools/networking/hyenae/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/networking/iftop/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/networking/imapproxy/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/networking/imapsync/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/inadyn/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/inetutils/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/networking/inetutils/service-name.patch11
-rw-r--r--nixpkgs/pkgs/tools/networking/inetutils/whois-Update-Canadian-TLD-server.patch27
-rw-r--r--nixpkgs/pkgs/tools/networking/innernet/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/ipcalc/default.nix46
-rw-r--r--nixpkgs/pkgs/tools/networking/iperf/2.nix7
-rw-r--r--nixpkgs/pkgs/tools/networking/iperf/3.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/ipinfo/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/isync/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/jnettop/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/networking/jwhois/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/networking/kea/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/libreswan/default.nix17
-rw-r--r--nixpkgs/pkgs/tools/networking/lsh/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/maildrop/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/networking/minio-client/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/miniupnpd/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/networking/modem-manager/default.nix15
-rw-r--r--nixpkgs/pkgs/tools/networking/mpack/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/networking/mu/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/mubeng/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/nbd/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/networking/ndisc6/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/networking/nebula/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/netboot/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/netcat/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/networking/netkit/tftp/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/networking/networkmanager/applet/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/networkmanager/default.nix154
-rw-r--r--nixpkgs/pkgs/tools/networking/networkmanager/fix-paths.patch126
-rw-r--r--nixpkgs/pkgs/tools/networking/nfdump/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/ngrok-1/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/noip/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/networking/nss-mdns/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/networking/ntopng/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/networking/ntp/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/networking/nttcp/default.nix27
-rw-r--r--nixpkgs/pkgs/tools/networking/nttcp/format-security.patch12
-rw-r--r--nixpkgs/pkgs/tools/networking/nylon/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/networking/nzbget/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/networking/oapi-codegen/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/offlineimap/default.nix49
-rw-r--r--nixpkgs/pkgs/tools/networking/ofono/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/networking/oneshot/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/openapi-generator-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/opensm/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/openssh/copyid.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/p2p/azureus/builder.sh19
-rw-r--r--nixpkgs/pkgs/tools/networking/p2p/azureus/default.nix16
-rw-r--r--nixpkgs/pkgs/tools/networking/p2p/tahoe-lafs/default.nix42
-rw-r--r--nixpkgs/pkgs/tools/networking/pcapfix/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/networking/pdnsd/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/networking/pdsh/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/networking/polygraph/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/networking/proxify/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/proxychains/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/rdrview/default.nix16
-rw-r--r--nixpkgs/pkgs/tools/networking/s5cmd/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/shadowfox/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/sish/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/slirp4netns/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/snmpcheck/default.nix30
-rw-r--r--nixpkgs/pkgs/tools/networking/socat/2.x.nix24
-rw-r--r--nixpkgs/pkgs/tools/networking/socat/libressl-fixes.patch173
-rw-r--r--nixpkgs/pkgs/tools/networking/sockperf/default.nix31
-rw-r--r--nixpkgs/pkgs/tools/networking/spoofer/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/srelay/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/networking/sshpass/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/ssldump/default.nix48
-rw-r--r--nixpkgs/pkgs/tools/networking/ssmtp/default.nix31
-rw-r--r--nixpkgs/pkgs/tools/networking/strongswan/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/networking/stunnel/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/surfraw/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/networking/swec/default.nix11
-rw-r--r--nixpkgs/pkgs/tools/networking/telepresence2/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/networking/tendermint/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/termshark/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/networking/toxvpn/default.nix35
-rw-r--r--nixpkgs/pkgs/tools/networking/trickle/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/networking/ucspi-tcp/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/networking/udptunnel/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/networking/unbound/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/networking/unbound/python.nix51
-rw-r--r--nixpkgs/pkgs/tools/networking/uwimap/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/networking/v2ray/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/networking/vde2/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/networking/vlan/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/networking/vpnc/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/networking/vtun/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/networking/wakelan/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/networking/webalizer/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/networking/whois/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/wifite2/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/networking/wireguard-go/0001-Fix-darwin-build.patch26
-rw-r--r--nixpkgs/pkgs/tools/networking/wireguard-go/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/networking/wireguard-go/deps.nix1774
-rw-r--r--nixpkgs/pkgs/tools/networking/wireguard-tools/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/networking/x11-ssh-askpass/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/networking/xh/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/xl2tpd/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/xnbd/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/networking/yggdrasil/default.nix11
-rw-r--r--nixpkgs/pkgs/tools/networking/ytcc/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/nix/nixos-generators/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/nix/nixos-install-tools/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/nix/nixos-option/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/package-management/akku/default.nix41
-rw-r--r--nixpkgs/pkgs/tools/package-management/akku/hardcode-libcurl.patch18
-rw-r--r--nixpkgs/pkgs/tools/package-management/apk-tools/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/package-management/apt/default.nix80
-rw-r--r--nixpkgs/pkgs/tools/package-management/cargo-kcov/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/package-management/cargo-release/default.nix13
-rw-r--r--nixpkgs/pkgs/tools/package-management/checkinstall/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/package-management/conda/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/package-management/disnix/DisnixWebService/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/package-management/disnix/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/package-management/disnix/disnixos/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/package-management/disnix/dysnomia/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/package-management/holo-build/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/package-management/libdnf/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/package-management/librepo/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/package-management/micromamba/default.nix41
-rw-r--r--nixpkgs/pkgs/tools/package-management/morph/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/package-management/morph/deps.nix66
-rw-r--r--nixpkgs/pkgs/tools/package-management/nfpm/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/package-management/nix-prefetch-scripts/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/package-management/nix-serve/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/package-management/nix-simple-deploy/default.nix16
-rw-r--r--nixpkgs/pkgs/tools/package-management/nix-update/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/package-management/nix/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/package-management/nixpkgs-review/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/package-management/opkg-utils/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/security/apg/apg.patch44
-rw-r--r--nixpkgs/pkgs/tools/security/apg/default.nix29
-rw-r--r--nixpkgs/pkgs/tools/security/apg/phony-install-target.patch11
-rw-r--r--nixpkgs/pkgs/tools/security/aws-iam-authenticator/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/aws-okta/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/b3sum/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/bettercap/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/bpb/default.nix29
-rw-r--r--nixpkgs/pkgs/tools/security/ccid/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/ccrypt/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/security/cfssl/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/security/chaps/default.nix18
-rw-r--r--nixpkgs/pkgs/tools/security/chrome-token-signing/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/cloudlist/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/security/cosign/default.nix15
-rw-r--r--nixpkgs/pkgs/tools/security/dalfox/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/security/dirmngr/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/security/dnspeep/Cargo.lock660
-rw-r--r--nixpkgs/pkgs/tools/security/dnspeep/default.nix32
-rw-r--r--nixpkgs/pkgs/tools/security/dnsrecon/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/dnsx/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/doas/0001-add-NixOS-specific-dirs-to-safe-PATH.patch2
-rw-r--r--nixpkgs/pkgs/tools/security/doas/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/security/doppler/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/security/echidna/default.nix62
-rw-r--r--nixpkgs/pkgs/tools/security/eid-mw/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/security/enum4linux-ng/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/exploitdb/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/fail2ban/default.nix33
-rw-r--r--nixpkgs/pkgs/tools/security/fido2luks/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/fprintd/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/fulcio/default.nix21
-rw-r--r--nixpkgs/pkgs/tools/security/gitleaks/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/security/gopass/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/security/gopass/git-credential.nix8
-rw-r--r--nixpkgs/pkgs/tools/security/gopass/jsonapi.nix8
-rw-r--r--nixpkgs/pkgs/tools/security/gotestwaf/default.nix30
-rw-r--r--nixpkgs/pkgs/tools/security/gpg-tui/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/grype/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/security/hakrawler/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/security/hashcat/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/hologram/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/security/httpx/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/ic-keysmith/default.nix22
-rw-r--r--nixpkgs/pkgs/tools/security/keybase/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/keybase/gui.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/keybase/kbfs.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/keycard-cli/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/security/kiterunner/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/lethe/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/lynis/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/mbox/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/security/meo/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/security/metabigor/default.nix28
-rw-r--r--nixpkgs/pkgs/tools/security/metasploit/Gemfile2
-rw-r--r--nixpkgs/pkgs/tools/security/metasploit/Gemfile.lock56
-rw-r--r--nixpkgs/pkgs/tools/security/metasploit/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/metasploit/gemset.nix84
-rw-r--r--nixpkgs/pkgs/tools/security/minica/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/security/minio-certgen/default.nix22
-rw-r--r--nixpkgs/pkgs/tools/security/mkrand/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/security/mktemp/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/security/munge/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/security/nmap-formatter/default.nix31
-rw-r--r--nixpkgs/pkgs/tools/security/nmap-unfree/default.nix65
-rw-r--r--nixpkgs/pkgs/tools/security/nmap/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/nuclei/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/onlykey-agent/default.nix61
-rw-r--r--nixpkgs/pkgs/tools/security/onlykey-cli/default.nix18
-rw-r--r--nixpkgs/pkgs/tools/security/onlykey/default.nix63
-rwxr-xr-xnixpkgs/pkgs/tools/security/onlykey/generate.sh5
-rw-r--r--nixpkgs/pkgs/tools/security/onlykey/node-packages.nix7716
-rw-r--r--nixpkgs/pkgs/tools/security/onlykey/onlykey.nix17
-rw-r--r--nixpkgs/pkgs/tools/security/onlykey/package.json3
-rw-r--r--nixpkgs/pkgs/tools/security/opensc/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/otpauth/default.nix27
-rw-r--r--nixpkgs/pkgs/tools/security/pamtester/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/security/pass2csv/default.nix30
-rw-r--r--nixpkgs/pkgs/tools/security/pinentry/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/proxmark3/proxmark3-rrg.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/prs/default.nix16
-rw-r--r--nixpkgs/pkgs/tools/security/pwgen/default.nix31
-rw-r--r--nixpkgs/pkgs/tools/security/quill-qr/default.nix45
-rw-r--r--nixpkgs/pkgs/tools/security/quill/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/regexploit/default.nix35
-rw-r--r--nixpkgs/pkgs/tools/security/rekor/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/security/rnp/cmake_nogit.patch51
-rw-r--r--nixpkgs/pkgs/tools/security/rnp/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/safe/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/saml2aws/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/security/scorecard/default.nix53
-rw-r--r--nixpkgs/pkgs/tools/security/sequoia/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/ssh-audit/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/step-ca/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/security/step-cli/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/subjs/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/sudo/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/super/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/security/sx-go/default.nix35
-rw-r--r--nixpkgs/pkgs/tools/security/teler/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/terrascan/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/tor/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/tpm2-tools/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/vault/default.nix19
-rw-r--r--nixpkgs/pkgs/tools/security/vault/vault-bin.nix14
-rw-r--r--nixpkgs/pkgs/tools/security/vaultwarden/vault.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/verifpal/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/security/wapiti/default.nix31
-rw-r--r--nixpkgs/pkgs/tools/security/xcat/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/yara/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/yubikey-agent/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/system/acct/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/system/acpica-tools/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/system/actkbd/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/system/bar/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/system/battop/battery.patch588
-rw-r--r--nixpkgs/pkgs/tools/system/battop/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/system/collectd/plugins.nix377
-rw-r--r--nixpkgs/pkgs/tools/system/cron/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/system/ctop/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/system/dcfldd/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/system/ddrescue/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/system/ddrescueview/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/dog/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/system/fdisk/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/system/gdmap/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/system/gdu/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/system/gt5/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/system/hostctl/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/system/htop/default.nix31
-rw-r--r--nixpkgs/pkgs/tools/system/idle3tools/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/system/incron/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/system/ipmitool/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/system/kmon/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/system/loadwatch/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/system/localtime/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/system/mcron/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/system/minijail/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/system/monit/default.nix30
-rw-r--r--nixpkgs/pkgs/tools/system/natscli/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/system/netdata/go.d.plugin.nix2
-rw-r--r--nixpkgs/pkgs/tools/system/nvtop/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/opencl-info/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/system/openipmi/default.nix29
-rw-r--r--nixpkgs/pkgs/tools/system/openipmi/fix-collectd-assertion.diff11
-rw-r--r--nixpkgs/pkgs/tools/system/pciutils/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/system/plan9port/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/rowhammer-test/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/system/rsyslog/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/s6-rc/default.nix23
-rw-r--r--nixpkgs/pkgs/tools/system/safecopy/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/system/sg3_utils/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/system/sleuthkit/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/smartmontools/default.nix40
-rw-r--r--nixpkgs/pkgs/tools/system/stress-ng/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/stress/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/system/thermald/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/throttled/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/ts/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/system/undaemonize/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/uptimed/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/text/a2ps/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/text/angle-grinder/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/text/bcat/default.nix17
-rw-r--r--nixpkgs/pkgs/tools/text/catdoc/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/text/choose/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/text/crowdin-cli/default.nix45
-rw-r--r--nixpkgs/pkgs/tools/text/difftastic/default.nix23
-rw-r--r--nixpkgs/pkgs/tools/text/enscript/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/text/epubcheck/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/gawk/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/text/glogg/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/text/gnupatch/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/text/gucci/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/text/hck/default.nix23
-rw-r--r--nixpkgs/pkgs/tools/text/hottext/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/ispell/default.nix26
-rw-r--r--nixpkgs/pkgs/tools/text/ispell/patches/0007-Use-termios.patch188
-rw-r--r--nixpkgs/pkgs/tools/text/ispell/patches/0008-Tex-backslash.patch48
-rw-r--r--nixpkgs/pkgs/tools/text/ispell/patches/0009-Fix-FTBFS-on-glibc.patch23
-rw-r--r--nixpkgs/pkgs/tools/text/ispell/patches/0011-Missing-prototypes.patch84
-rw-r--r--nixpkgs/pkgs/tools/text/ispell/patches/0012-Fix-getline.patch62
-rw-r--r--nixpkgs/pkgs/tools/text/ispell/patches/0013-Fix-man-pages.patch227
-rw-r--r--nixpkgs/pkgs/tools/text/ispell/patches/0021-Fix-gcc-warnings.patch57
-rw-r--r--nixpkgs/pkgs/tools/text/ispell/patches/0023-Exclusive-options.patch38
-rw-r--r--nixpkgs/pkgs/tools/text/ispell/patches/0024-Check-tempdir-creation.patch69
-rw-r--r--nixpkgs/pkgs/tools/text/ispell/patches/0025-Languages.patch81
-rw-r--r--nixpkgs/pkgs/tools/text/ispell/patches/0030-Display-whole-multibyte-character.patch35
-rw-r--r--nixpkgs/pkgs/tools/text/jumanpp/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/text/ledger2beancount/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/mark/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/text/mdbook-mermaid/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/text/mdbook/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/text/pinyin-tool/default.nix24
-rw-r--r--nixpkgs/pkgs/tools/text/poedit/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/text/popfile/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/text/recode/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/rst2html5/default.nix21
-rw-r--r--nixpkgs/pkgs/tools/text/runiq/default.nix20
-rw-r--r--nixpkgs/pkgs/tools/text/ruplacer/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/text/shfmt/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/text/silver-searcher/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/text/snippetpixie/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/transifex-client/default.nix18
-rw-r--r--nixpkgs/pkgs/tools/text/ugrep/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/vale/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/text/vgrep/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/text/xidel/default.nix116
-rw-r--r--nixpkgs/pkgs/tools/text/xurls/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/typesetting/asciidoc/default.nix32
-rw-r--r--nixpkgs/pkgs/tools/typesetting/bibclean/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/typesetting/docbook2odf/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/typesetting/lowdown/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/typesetting/lowdown/shared.patch3
-rw-r--r--nixpkgs/pkgs/tools/typesetting/pdfchain/default.nix56
-rw-r--r--nixpkgs/pkgs/tools/typesetting/soupault/default.nix41
-rw-r--r--nixpkgs/pkgs/tools/typesetting/tex/nix/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/typesetting/tex/texlive/default.nix3
-rwxr-xr-xnixpkgs/pkgs/tools/typesetting/tex/texlive/fixHashes.awk2
-rw-r--r--nixpkgs/pkgs/tools/typesetting/tex/texlive/fixedHashes.nix18186
-rw-r--r--nixpkgs/pkgs/tools/video/atomicparsley/default.nix21
-rw-r--r--nixpkgs/pkgs/tools/video/bento4/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/video/dvgrab/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/video/mjpegtools/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/video/replay-sorcery/default.nix62
-rw-r--r--nixpkgs/pkgs/tools/video/replay-sorcery/fix-global-config.patch13
-rw-r--r--nixpkgs/pkgs/tools/video/replay-sorcery/hardcode-libnotify.patch25
-rw-r--r--nixpkgs/pkgs/tools/video/rtmpdump/default.nix29
-rw-r--r--nixpkgs/pkgs/tools/video/swfmill/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/video/swftools/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/video/vnc2flv/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/video/vncrec/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/virtualization/aws/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/virtualization/cloud-init/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/virtualization/cri-tools/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/virtualization/distrobuilder/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/virtualization/distrobuilder/deps.nix228
-rw-r--r--nixpkgs/pkgs/tools/virtualization/ec2-api-tools/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/virtualization/google-compute-engine/default.nix91
-rw-r--r--nixpkgs/pkgs/tools/virtualization/linode-cli/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/virtualization/reg/default.nix26
-rw-r--r--nixpkgs/pkgs/tools/virtualization/shipyard/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/virtualization/udocker/default.nix49
-rw-r--r--nixpkgs/pkgs/tools/wayland/sirula/default.nix32
-rw-r--r--nixpkgs/pkgs/tools/wayland/swayr/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/wayland/wob/default.nix4
-rw-r--r--nixpkgs/pkgs/top-level/aliases.nix102
-rw-r--r--nixpkgs/pkgs/top-level/all-packages.nix1374
-rw-r--r--nixpkgs/pkgs/top-level/beam-packages.nix21
-rw-r--r--nixpkgs/pkgs/top-level/coq-packages.nix4
-rw-r--r--nixpkgs/pkgs/top-level/darwin-packages.nix2
-rw-r--r--nixpkgs/pkgs/top-level/emacs-packages.nix23
-rw-r--r--nixpkgs/pkgs/top-level/emscripten-packages.nix9
-rw-r--r--nixpkgs/pkgs/top-level/haskell-packages.nix81
-rw-r--r--nixpkgs/pkgs/top-level/kodi-packages.nix6
-rw-r--r--nixpkgs/pkgs/top-level/lua-packages.nix6
-rw-r--r--nixpkgs/pkgs/top-level/nixpkgs-basic-release-checks.nix2
-rw-r--r--nixpkgs/pkgs/top-level/ocaml-packages.nix56
-rw-r--r--nixpkgs/pkgs/top-level/packages-config.nix61
-rw-r--r--nixpkgs/pkgs/top-level/perl-packages.nix377
-rw-r--r--nixpkgs/pkgs/top-level/python-aliases.nix6
-rw-r--r--nixpkgs/pkgs/top-level/python-packages.nix220
-rw-r--r--nixpkgs/pkgs/top-level/python2-packages.nix4
-rw-r--r--nixpkgs/pkgs/top-level/qt5-packages.nix2
-rw-r--r--nixpkgs/pkgs/top-level/release-haskell.nix170
-rw-r--r--nixpkgs/pkgs/top-level/release.nix3
-rw-r--r--nixpkgs/pkgs/top-level/ruby-packages.nix575
-rw-r--r--nixpkgs/pkgs/top-level/stage.nix14
-rw-r--r--nixpkgs/pkgs/top-level/static.nix24
-rw-r--r--nixpkgs/pkgs/top-level/unixtools.nix4
4773 files changed, 148103 insertions, 62404 deletions
diff --git a/nixpkgs/.github/CODEOWNERS b/nixpkgs/.github/CODEOWNERS
index 64719a7bc3a8..ec4222a0d4fb 100644
--- a/nixpkgs/.github/CODEOWNERS
+++ b/nixpkgs/.github/CODEOWNERS
@@ -46,7 +46,6 @@
 /nixos/default.nix          @nbp @infinisil
 /nixos/lib/from-env.nix     @nbp @infinisil
 /nixos/lib/eval-config.nix  @nbp @infinisil
-/nixos/doc @ryantm
 /nixos/doc/manual/configuration/abstractions.xml      @nbp
 /nixos/doc/manual/configuration/config-file.xml       @nbp
 /nixos/doc/manual/configuration/config-syntax.xml     @nbp
@@ -96,8 +95,8 @@
 /pkgs/development/perl-modules      @volth @stigtsp
 
 # R
-/pkgs/applications/science/math/R   @peti
-/pkgs/development/r-modules         @peti
+/pkgs/applications/science/math/R   @jbedo @bcdarwin
+/pkgs/development/r-modules         @jbedo @bcdarwin
 
 # Ruby
 /pkgs/development/interpreters/ruby @marsam
diff --git a/nixpkgs/.github/ISSUE_TEMPLATE/bug_report.md b/nixpkgs/.github/ISSUE_TEMPLATE/bug_report.md
index 4d3c8888f3a2..fa1140a7e335 100644
--- a/nixpkgs/.github/ISSUE_TEMPLATE/bug_report.md
+++ b/nixpkgs/.github/ISSUE_TEMPLATE/bug_report.md
@@ -7,33 +7,38 @@ assignees: ''
 
 ---
 
-**Describe the bug**
+### Describe the bug
 A clear and concise description of what the bug is.
 
-**To Reproduce**
+### Steps To Reproduce
 Steps to reproduce the behavior:
 1. ...
 2. ...
 3. ...
 
-**Expected behavior**
+### Expected behavior
 A clear and concise description of what you expected to happen.
 
-**Screenshots**
+### Screenshots
 If applicable, add screenshots to help explain your problem.
 
-**Additional context**
+### Additional context
 Add any other context about the problem here.
 
-**Notify maintainers**
+### Notify maintainers
 <!--
 Please @ people who are in the `meta.maintainers` list of the offending package or module.
 If in doubt, check `git blame` for whoever last touched something.
 -->
 
-**Metadata**
+### Metadata
 Please run `nix-shell -p nix-info --run "nix-info -m"` and paste the result.
 
+```console
+[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
+output here
+```
+
 Maintainer information:
 ```yaml
 # a list of nixpkgs attributes affected by the problem
diff --git a/nixpkgs/.github/PULL_REQUEST_TEMPLATE.md b/nixpkgs/.github/PULL_REQUEST_TEMPLATE.md
index 27d959410b61..bfc07096aa95 100644
--- a/nixpkgs/.github/PULL_REQUEST_TEMPLATE.md
+++ b/nixpkgs/.github/PULL_REQUEST_TEMPLATE.md
@@ -15,15 +15,16 @@ Reviewing guidelines: https://nixos.org/manual/nixpkgs/unstable/#chap-reviewing-
 
 <!-- Please check what applies. Note that these are not hard requirements but merely serve as information for reviewers. -->
 
-- [ ] Tested using sandboxing ([nix.useSandbox](https://nixos.org/nixos/manual/options.html#opt-nix.useSandbox) on NixOS, or option `sandbox` in [`nix.conf`](https://nixos.org/nix/manual/#sec-conf-file) on non-NixOS linux)
 - Built on platform(s)
-   - [ ] NixOS
-   - [ ] macOS
-   - [ ] other Linux distributions
+  - [ ] x86_64-linux
+  - [ ] aarch64-linux
+  - [ ] x86_64-darwin
+  - [ ] aarch64-darwin
+- [ ] For non-Linux: Is `sandbox = true` set in `nix.conf`? (See [Nix manual](https://nixos.org/manual/nix/stable/#sec-conf-file))
 - [ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside [nixos/tests](https://github.com/NixOS/nixpkgs/blob/master/nixos/tests))
-- [ ] Tested compilation of all pkgs that depend on this change using `nix-shell -p nixpkgs-review --run "nixpkgs-review wip"`
+- [ ] Tested compilation of all packages that depend on this change using `nix-shell -p nixpkgs-review --run "nixpkgs-review wip"`
 - [ ] Tested execution of all binary files (usually in `./result/bin/`)
-- [21.11 Release Notes (or backporting 21.05 Relase notes)](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md#generating-2111-release-notes)
+- [21.11 Release Notes (or backporting 21.05 Release notes)](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md#generating-2111-release-notes)
   - [ ] (Package updates) Added a release notes entry if the change is major or breaking
   - [ ] (Module updates) Added a release notes entry if the change is significant
   - [ ] (Module addition) Added a release notes entry if adding a new NixOS module
diff --git a/nixpkgs/.github/labeler.yml b/nixpkgs/.github/labeler.yml
index 5dd885552d62..ff831042461c 100644
--- a/nixpkgs/.github/labeler.yml
+++ b/nixpkgs/.github/labeler.yml
@@ -70,6 +70,7 @@
 
 "6.topic: nixos":
   - nixos/**/*
+  - pkgs/os-specific/linux/nixos-rebuild/**/*
 
 "6.topic: ocaml":
   - doc/languages-frameworks/ocaml.section.md
diff --git a/nixpkgs/.github/workflows/backport.yml b/nixpkgs/.github/workflows/backport.yml
index bea970f02d40..0e3f315bb0de 100644
--- a/nixpkgs/.github/workflows/backport.yml
+++ b/nixpkgs/.github/workflows/backport.yml
@@ -15,13 +15,13 @@ jobs:
           ref: ${{ github.event.pull_request.head.sha }}
       - name: Create backport PRs
         # should be kept in sync with `version`
-        uses: zeebe-io/backport-action@2b994724142df0774855690db56bc6308fb99ffa
+        uses: zeebe-io/backport-action@v0.0.5
         with:
           # Config README: https://github.com/zeebe-io/backport-action#backport-action
           github_token: ${{ secrets.GITHUB_TOKEN }}
           github_workspace: ${{ github.workspace }}
           # should be kept in sync with `uses`
-          version: 2b994724142df0774855690db56bc6308fb99ffa
+          version: v0.0.5
           pull_description: |-
             Bot-based backport to `${target_branch}`, triggered by a label in #${pull_number}.
 
diff --git a/nixpkgs/.github/workflows/manual-nixos.yml b/nixpkgs/.github/workflows/manual-nixos.yml
index 032a456569d3..edd2755302a1 100644
--- a/nixpkgs/.github/workflows/manual-nixos.yml
+++ b/nixpkgs/.github/workflows/manual-nixos.yml
@@ -22,7 +22,7 @@ jobs:
         with:
           # explicitly enable sandbox
           extra_nix_config: sandbox = true
-      - uses: cachix/cachix-action@v9
+      - uses: cachix/cachix-action@v10
         with:
           # This cache is for the nixos/nixpkgs manual builds and should not be trusted or used elsewhere.
           name: nixpkgs-ci
diff --git a/nixpkgs/.github/workflows/manual-nixpkgs.yml b/nixpkgs/.github/workflows/manual-nixpkgs.yml
index 77655c494e06..e27a281a9332 100644
--- a/nixpkgs/.github/workflows/manual-nixpkgs.yml
+++ b/nixpkgs/.github/workflows/manual-nixpkgs.yml
@@ -22,7 +22,7 @@ jobs:
         with:
           # explicitly enable sandbox
           extra_nix_config: sandbox = true
-      - uses: cachix/cachix-action@v9
+      - uses: cachix/cachix-action@v10
         with:
           # This cache is for the nixos/nixpkgs manual builds and should not be trusted or used elsewhere.
           name: nixpkgs-ci
diff --git a/nixpkgs/.github/workflows/periodic-merge-24h.yml b/nixpkgs/.github/workflows/periodic-merge-24h.yml
index 341656d93925..81c5694f43d8 100644
--- a/nixpkgs/.github/workflows/periodic-merge-24h.yml
+++ b/nixpkgs/.github/workflows/periodic-merge-24h.yml
@@ -33,7 +33,7 @@ jobs:
       - uses: actions/checkout@v2
 
       - name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
-        uses: devmasx/merge-branch@v1.3.1
+        uses: devmasx/merge-branch@1.4.0
         with:
           type: now
           from_branch: ${{ matrix.pairs.from }}
diff --git a/nixpkgs/.github/workflows/periodic-merge-6h.yml b/nixpkgs/.github/workflows/periodic-merge-6h.yml
index 8ec4da1d8773..68fde857f888 100644
--- a/nixpkgs/.github/workflows/periodic-merge-6h.yml
+++ b/nixpkgs/.github/workflows/periodic-merge-6h.yml
@@ -39,7 +39,7 @@ jobs:
       - uses: actions/checkout@v2
 
       - name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
-        uses: devmasx/merge-branch@v1.3.1
+        uses: devmasx/merge-branch@1.4.0
         with:
           type: now
           from_branch: ${{ matrix.pairs.from }}
diff --git a/nixpkgs/CONTRIBUTING.md b/nixpkgs/CONTRIBUTING.md
index 5cf674ab10a2..0219aec7f528 100644
--- a/nixpkgs/CONTRIBUTING.md
+++ b/nixpkgs/CONTRIBUTING.md
@@ -1,7 +1,7 @@
 # How to contribute
 
 Note: contributing implies licensing those contributions
-under the terms of [COPYING](../COPYING), which is an MIT-like license.
+under the terms of [COPYING](COPYING), which is an MIT-like license.
 
 ## Opening issues
 
diff --git a/nixpkgs/README.md b/nixpkgs/README.md
index 4519e85b2a87..0b76b4bcdcae 100644
--- a/nixpkgs/README.md
+++ b/nixpkgs/README.md
@@ -97,7 +97,8 @@ Foundation](https://nixos.org/nixos/foundation.html). To ensure the
 continuity and expansion of the NixOS infrastructure, we are looking
 for donations to our organization.
 
-You can donate to the NixOS foundation by using Open Collective:
+You can donate to the NixOS foundation through [SEPA bank
+transfers](https://nixos.org/donate.html) or by using Open Collective:
 
 <a href="https://opencollective.com/nixos#support"><img src="https://opencollective.com/nixos/tiers/supporter.svg?width=890" /></a>
 
diff --git a/nixpkgs/doc/builders/packages/emacs.section.md b/nixpkgs/doc/builders/packages/emacs.section.md
index 93a819bc79bf..577f1a23ce0e 100644
--- a/nixpkgs/doc/builders/packages/emacs.section.md
+++ b/nixpkgs/doc/builders/packages/emacs.section.md
@@ -110,7 +110,7 @@ overrides = self: super: rec {
   haskell-mode = self.melpaPackages.haskell-mode;
   ...
 };
-((emacsPackagesFor emacs).overrideScope' overrides).emacs.pkgs.withPackages
+((emacsPackagesFor emacs).overrideScope' overrides).withPackages
   (p: with p; [
     # here both these package will use haskell-mode of our own choice
     ghc-mod
diff --git a/nixpkgs/doc/builders/packages/firefox.section.md b/nixpkgs/doc/builders/packages/firefox.section.md
index b7c430db232d..d6426981da7d 100644
--- a/nixpkgs/doc/builders/packages/firefox.section.md
+++ b/nixpkgs/doc/builders/packages/firefox.section.md
@@ -2,11 +2,12 @@
 
 ## Build wrapped Firefox with extensions and policies {#build-wrapped-firefox-with-extensions-and-policies}
 
-The `wrapFirefox` function allows to pass policies, preferences and extension that are available to firefox. With the help of `fetchFirefoxAddon` this allows build a firefox version that already comes with addons pre-installed:
+The `wrapFirefox` function allows to pass policies, preferences and extension that are available to Firefox. With the help of `fetchFirefoxAddon` this allows build a Firefox version that already comes with addons pre-installed:
 
 ```nix
 {
-  myFirefox = wrapFirefox firefox-unwrapped {
+  # Nix firefox addons only work with the firefox-esr package.
+  myFirefox = wrapFirefox firefox-esr-unwrapped {
     nixExtensions = [
       (fetchFirefoxAddon {
         name = "ublock"; # Has to be unique!
@@ -45,5 +46,7 @@ or type into the Firefox url bar: `about:policies#documentation`.
 Nix installed addons do not have a valid signature, which is why signature verification is disabled. This does not compromise security because downloaded addons are checksumed and manual addons can't be installed. Also make sure that the `name` field of fetchFirefoxAddon is unique. If you remove an addon from the nixExtensions array, rebuild and start Firefox the removed addon will be completly removed with all of its settings.
 
 ## Troubleshooting {#sec-firefox-troubleshooting}
+If addons are marked as broken or the signature is invalid, make sure you have Firefox ESR installed. Normal Firefox does not provide the ability anymore to disable signature verification for addons thus nix addons get disabled by the normal Firefox binary.
+
 If addons do not appear installed although they have been defined in your nix configuration file reset the local addon state of your Firefox profile by clicking `help -> restart with addons disabled -> restart -> refresh firefox`. This can happen if you switch from manual addon mode to nix addon mode and then back to manual mode and then again to nix addon mode.
 
diff --git a/nixpkgs/doc/contributing/coding-conventions.chapter.md b/nixpkgs/doc/contributing/coding-conventions.chapter.md
index e42ba512b98f..85c8626bd99c 100644
--- a/nixpkgs/doc/contributing/coding-conventions.chapter.md
+++ b/nixpkgs/doc/contributing/coding-conventions.chapter.md
@@ -520,7 +520,7 @@ If you do need to do create this sort of patch file, one way to do so is with gi
 4. Use git to create a diff, and pipe the output to a patch file:
 
     ```ShellSession
-    $ git diff > nixpkgs/pkgs/the/package/0001-changes.patch
+    $ git diff -a > nixpkgs/pkgs/the/package/0001-changes.patch
     ```
 
 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`:
@@ -537,9 +537,34 @@ Note that because the checksum is computed after applying these effects, using o
 
 Tests are important to ensure quality and make reviews and automatic updates easy.
 
-Nix package tests are a lightweight alternative to [NixOS module tests](https://nixos.org/manual/nixos/stable/#sec-nixos-tests). They can be used to create simple integration tests for packages while the module tests are used to test services or programs with a graphical user interface on a NixOS VM. Unittests that are included in the source code of a package should be executed in the `checkPhase`.
+The following types of tests exists:
 
-### Writing package tests {#ssec-package-tests-writing}
+* [NixOS **module tests**](https://nixos.org/manual/nixos/stable/#sec-nixos-tests), which spawn one or more NixOS VMs. They exercise both NixOS modules and the packaged programs used within them. For example, a NixOS module test can start a web server VM running the `nginx` module, and a client VM running `curl` or a graphical `firefox`, and test that they can talk to each other and display the correct content.
+* Nix **package tests** are a lightweight alternative to NixOS module tests. They should be used to create simple integration tests for packages, but cannot test NixOS services, and some programs with graphical user interfaces may also be difficult to test with them.
+* The **`checkPhase` of a package**, which should execute the unit tests that are included in the source code of a package.
+
+Here in the nixpkgs manual we describe mostly _package tests_; for _module tests_ head over to the corresponding [section in the NixOS manual](https://nixos.org/manual/nixos/stable/#sec-nixos-tests).
+
+### Writing inline package tests {#ssec-inline-package-tests-writing}
+
+For very simple tests, they can be written inline:
+
+```nix
+{ …, yq-go }:
+
+buildGoModule rec {
+  …
+
+  passthru.tests = {
+    simple = runCommand "${pname}-test" {} ''
+      echo "test: 1" | ${yq-go}/bin/yq eval -j > $out
+      [ "$(cat $out | tr -d $'\n ')" = '{"test":1}' ]
+    '';
+  };
+}
+```
+
+### Writing larger package tests {#ssec-package-tests-writing}
 
 This is an example using the `phoronix-test-suite` package with the current best practices.
 
@@ -568,7 +593,7 @@ let
   inherit (phoronix-test-suite) pname version;
 in
 
-runCommand "${pname}-tests" { meta.timeout = 3; }
+runCommand "${pname}-tests" { meta.timeout = 60; }
   ''
     # automatic initial setup to prevent interactive questions
     ${phoronix-test-suite}/bin/phoronix-test-suite enterprise-setup >/dev/null
@@ -602,3 +627,23 @@ Here are examples of package tests:
 - [Spacy annotation test](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/python-modules/spacy/annotation-test/default.nix)
 - [Libtorch test](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/libraries/science/math/libtorch/test/default.nix)
 - [Multiple tests for nanopb](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/libraries/nanopb/default.nix)
+
+### Linking NixOS module tests to a package {#ssec-nixos-tests-linking}
+
+Like [package tests](#ssec-package-tests-writing) as shown above, [NixOS module tests](https://nixos.org/manual/nixos/stable/#sec-nixos-tests) can also be linked to a package, so that the tests can be easily run when changing the related package.
+
+For example, assuming we're packaging `nginx`, we can link its module test via `passthru.tests`:
+
+```nix
+{ stdenv, lib, nixosTests }:
+
+stdenv.mkDerivation {
+  ...
+
+  passthru.tests = {
+    nginx = nixosTests.nginx;
+  };
+
+  ...
+}
+```
diff --git a/nixpkgs/doc/functions/library/attrsets.xml b/nixpkgs/doc/functions/library/attrsets.xml
index ef132514da11..9d36becd496c 100644
--- a/nixpkgs/doc/functions/library/attrsets.xml
+++ b/nixpkgs/doc/functions/library/attrsets.xml
@@ -772,7 +772,7 @@ nameValuePair "some" 6
    <title>Modifying each value of an attribute set</title>
 <programlisting><![CDATA[
 lib.attrsets.mapAttrs
-  (name: value: name + "-" value)
+  (name: value: name + "-" + value)
   { x = "foo"; y = "bar"; }
 => { x = "x-foo"; y = "y-bar"; }
 ]]></programlisting>
diff --git a/nixpkgs/doc/languages-frameworks/beam.section.md b/nixpkgs/doc/languages-frameworks/beam.section.md
index 934e6cdca121..fb608932dfc3 100644
--- a/nixpkgs/doc/languages-frameworks/beam.section.md
+++ b/nixpkgs/doc/languages-frameworks/beam.section.md
@@ -68,74 +68,128 @@ Erlang.mk functions similarly to Rebar3, except we use `buildErlangMk` instead o
 
 `mixRelease` is used to make a release in the mix sense. Dependencies will need to be fetched with `fetchMixDeps` and passed to it.
 
-#### mixRelease - Elixir Phoenix example {#mixrelease---elixir-phoenix-example}
+#### mixRelease - Elixir Phoenix example {#mix-release-elixir-phoenix-example}
 
-Here is how your `default.nix` file would look.
+there are 3 steps, frontend dependencies (javascript), backend dependencies (elixir) and the final derivation that puts both of those together
+
+##### mixRelease - Frontend dependencies (javascript) {#mix-release-javascript-deps}
+
+for phoenix projects, inside of nixpkgs you can either use yarn2nix (mkYarnModule) or node2nix. An example with yarn2nix can be found [here](https://github.com/NixOS/nixpkgs/blob/master/pkgs/servers/web-apps/plausible/default.nix#L39). An example with node2nix will follow. To package something outside of nixpkgs, you have alternatives like [npmlock2nix](https://github.com/nix-community/npmlock2nix) or [nix-npm-buildpackage](https://github.com/serokell/nix-npm-buildpackage)
+
+##### mixRelease - backend dependencies (mix) {#mix-release-mix-deps}
+
+There are 2 ways to package backend dependencies. With mix2nix and with a fixed-output-derivation (FOD).
+
+###### mix2nix {#mix2nix}
+
+mix2nix is a cli tool available in nixpkgs. it will generate a nix expression from a mix.lock file. It is quite standard in the 2nix tool series.
+
+Note that currently mix2nix can't handle git dependencies inside the mix.lock file. If you have git dependencies, you can either add them manually (see [example](https://github.com/NixOS/nixpkgs/blob/master/pkgs/servers/pleroma/default.nix#L20)) or use the FOD method.
+
+The advantage of using mix2nix is that nix will know your whole dependency graph. On a dependency update, this won't trigger a full rebuild and download of all the dependencies, where FOD will do so.
+
+practical steps:
+
+- run `mix2nix > mix_deps.nix` in the upstream repo.
+- pass `mixNixDeps = with pkgs; import ./mix_deps.nix { inherit lib beamPackages; };` as an argument to mixRelease.
+
+If there are git depencencies.
+
+- You'll need to fix the version artificially in mix.exs and regenerate the mix.lock with fixed version (on upstream). This will enable you to run `mix2nix > mix_deps.nix`.
+- From the mix_deps.nix file, remove the dependencies that had git versions and pass them as an override to the import function.
 
 ```nix
-with import <nixpkgs> { };
+  mixNixDeps = import ./mix.nix {
+    inherit beamPackages lib;
+    overrides = (final: prev: {
+      # mix2nix does not support git dependencies yet,
+      # so we need to add them manually
+      prometheus_ex = beamPackages.buildMix rec {
+        name = "prometheus_ex";
+        version = "3.0.5";
+
+        # Change the argument src with the git src that you actually need
+        src = fetchFromGitLab {
+          domain = "git.pleroma.social";
+          group = "pleroma";
+          owner = "elixir-libraries";
+          repo = "prometheus.ex";
+          rev = "a4e9beb3c1c479d14b352fd9d6dd7b1f6d7deee5";
+          sha256 = "1v0q4bi7sb253i8q016l7gwlv5562wk5zy3l2sa446csvsacnpjk";
+        };
+        # you can re-use the same beamDeps argument as generated
+        beamDeps = with final; [ prometheus ];
+      };
+  });
+};
+```
 
-let
-  packages = beam.packagesWith beam.interpreters.erlang;
-  src = builtins.fetchgit {
-    url = "ssh://git@github.com/your_id/your_repo";
-    rev = "replace_with_your_commit";
-  };
+You will need to run the build process once to fix the sha256 to correspond to your new git src.
 
-  pname = "your_project";
-  version = "0.0.1";
-  mixEnv = "prod";
+###### FOD {#fixed-output-derivation}
 
-  mixFodDeps = packages.fetchMixDeps {
+A fixed output derivation will download mix dependencies from the internet. To ensure reproducibility, a hash will be supplied. Note that mix is relatively reproducible. An FOD generating a different hash on each run hasn't been observed (as opposed to npm where the chances are relatively high). See [elixir_ls](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/beam-modules/elixir_ls.nix) for a usage example of FOD.
+
+Practical steps
+
+- start with the following argument to mixRelease
+
+```nix
+  mixFodDeps = fetchMixDeps {
     pname = "mix-deps-${pname}";
-    inherit src mixEnv version;
-    # nix will complain and tell you the right value to replace this with
+    inherit src version;
     sha256 = lib.fakeSha256;
-    # if you have build time environment variables add them here
-    MY_ENV_VAR="my_value";
   };
+```
 
-  nodeDependencies = (pkgs.callPackage ./assets/default.nix { }).shell.nodeDependencies;
+The first build will complain about the sha256 value, you can replace with the suggested value after that.
 
-  frontEndFiles = stdenvNoCC.mkDerivation {
-    pname = "frontend-${pname}";
+Note that if after you've replaced the value, nix suggests another sha256, then mix is not fetching the dependencies reproducibly. An FOD will not work in that case and you will have to use mix2nix.
 
-    nativeBuildInputs = [ nodejs ];
+##### mixRelease - example {#mix-release-example}
 
-    inherit version src;
+Here is how your `default.nix` file would look for a phoenix project.
 
-    buildPhase = ''
-      cp -r ./assets $TEMPDIR
+```nix
+with import <nixpkgs> { };
 
-      mkdir -p $TEMPDIR/assets/node_modules/.cache
-      cp -r ${nodeDependencies}/lib/node_modules $TEMPDIR/assets
-      export PATH="${nodeDependencies}/bin:$PATH"
+let
+  # beam.interpreters.erlangR23 is available if you need a particular version
+  packages = beam.packagesWith beam.interpreters.erlang;
 
-      cd $TEMPDIR/assets
-      webpack --config ./webpack.config.js
-      cd ..
-    '';
+  pname = "your_project";
+  version = "0.0.1";
 
-    installPhase = ''
-      cp -r ./priv/static $out/
-    '';
+  src = builtins.fetchgit {
+    url = "ssh://git@github.com/your_id/your_repo";
+    rev = "replace_with_your_commit";
+  };
 
-    outputHashAlgo = "sha256";
-    outputHashMode = "recursive";
+  # if using mix2nix you can use the mixNixDeps attribute
+  mixFodDeps = packages.fetchMixDeps {
+    pname = "mix-deps-${pname}";
+    inherit src version;
     # nix will complain and tell you the right value to replace this with
-    outputHash = lib.fakeSha256;
-
-    impureEnvVars = lib.fetchers.proxyImpureEnvVars;
+    sha256 = lib.fakeSha256;
+    # if you have build time environment variables add them here
+    MY_ENV_VAR="my_value";
   };
 
+  nodeDependencies = (pkgs.callPackage ./assets/default.nix { }).shell.nodeDependencies;
 
 in packages.mixRelease {
-  inherit src pname version mixEnv mixFodDeps;
+  inherit src pname version mixFodDeps;
   # if you have build time environment variables add them here
   MY_ENV_VAR="my_value";
-  preInstall = ''
-    mkdir -p ./priv/static
-    cp -r ${frontEndFiles} ./priv/static
+
+  postBuild = ''
+    ln -sf ${nodeDependencies}/lib/node_modules assets/node_modules
+    npm run deploy --prefix ./assets
+
+    # for external task you need a workaround for the no deps check flag
+    # https://github.com/phoenixframework/phoenix/issues/2690
+    mix do deps.loadpaths --no-deps-check, phx.digest
+    mix phx.digest --no-deps-check
   '';
 }
 ```
@@ -165,6 +219,8 @@ in
   systemd.services.${release_name} = {
     wantedBy = [ "multi-user.target" ];
     after = [ "network.target" "postgresql.service" ];
+    # note that if you are connecting to a postgres instance on a different host
+    # postgresql.service should not be included in the requires.
     requires = [ "network-online.target" "postgresql.service" ];
     description = "my app";
     environment = {
@@ -201,6 +257,7 @@ in
     path = [ pkgs.bash ];
   };
 
+  # in case you have migration scripts or you want to use a remote shell
   environment.systemPackages = [ release ];
 }
 ```
@@ -212,19 +269,14 @@ in
 Usually, we need to create a `shell.nix` file and do our development inside of the environment specified therein. Just install your version of Erlang and any other interpreters, and then use your normal build tools. As an example with Elixir:
 
 ```nix
-{ pkgs ? import "<nixpkgs"> {} }:
+{ pkgs ? import <nixpkgs> {} }:
 
 with pkgs;
-
 let
-
-  elixir = beam.packages.erlangR22.elixir_1_9;
-
+  elixir = beam.packages.erlangR24.elixir_1_12;
 in
 mkShell {
   buildInputs = [ elixir ];
-
-  ERL_INCLUDE_PATH="${erlang}/lib/erlang/usr/include";
 }
 ```
 
@@ -264,6 +316,7 @@ let
     # TODO: not sure how to make hex available without installing it afterwards.
     mix local.hex --if-missing
     export LANG=en_US.UTF-8
+    # keep your shell history in iex
     export ERL_AFLAGS="-kernel shell_history enabled"
 
     # postges related
diff --git a/nixpkgs/doc/languages-frameworks/coq.section.md b/nixpkgs/doc/languages-frameworks/coq.section.md
index 0674c5a4702e..39b60d83ac7d 100644
--- a/nixpkgs/doc/languages-frameworks/coq.section.md
+++ b/nixpkgs/doc/languages-frameworks/coq.section.md
@@ -33,6 +33,7 @@ The recommended way of defining a derivation for a Coq library, is to use the `c
 * `mlPlugin` (optional, defaults to `false`). Some extensions (plugins) might require OCaml and sometimes other OCaml packages. Standard dependencies can be added by setting the current option to `true`. For a finer grain control, the `coq.ocamlPackages` attribute can be used in `extraBuildInputs` to depend on the same package set Coq was built against.
 * `useDune2ifVersion` (optional, default to `(x: false)` uses Dune2 to build the package if the provided predicate evaluates to true on the version, e.g. `useDune2if = versions.isGe "1.1"`  will use dune if the version of the package is greater or equal to `"1.1"`,
 * `useDune2` (optional, defaults to `false`) uses Dune2 to build the package if set to true, the presence of this attribute overrides the behavior of the previous one.
+* `opam-name` (optional, defaults to `coq-` followed by the value of `pname`), name of the Dune package to build.
 * `enableParallelBuilding` (optional, defaults to `true`), since it is activated by default, we provide a way to disable it.
 * `extraInstallFlags` (optional), allows to extend `installFlags` which initializes the variable `COQMF_COQLIB` so as to install in the proper subdirectory. Indeed Coq libraries should be installed in `$(out)/lib/coq/${coq.coq-version}/user-contrib/`. Such directories are automatically added to the `$COQPATH` environment variable by the hook defined in the Coq derivation.
 * `setCOQBIN` (optional, defaults to `true`), by default, the environment variable `$COQBIN` is set to the current Coq's binary, but one can disable this behavior by setting it to `false`,
diff --git a/nixpkgs/doc/languages-frameworks/go.section.md b/nixpkgs/doc/languages-frameworks/go.section.md
index b20a8d0c3549..45d85f1f99ec 100644
--- a/nixpkgs/doc/languages-frameworks/go.section.md
+++ b/nixpkgs/doc/languages-frameworks/go.section.md
@@ -13,6 +13,7 @@ In the following is an example expression using `buildGoModule`, the following a
 
 - `vendorSha256`: is the hash of the output of the intermediate fetcher derivation. `vendorSha256` can also take `null` as an input. When `null` is used as a value, rather than fetching the dependencies and vendoring them, we use the vendoring included within the source repo. If you'd like to not have to update this field on dependency changes, run `go mod vendor` in your source repo and set `vendorSha256 = null;`
 - `runVend`: runs the vend command to generate the vendor directory. This is useful if your code depends on c code and go mod tidy does not include the needed sources to build.
+- `proxyVendor`: Fetches (go mod download) and proxies the vendor directory. This is useful if any dependency has case-insensitive conflicts which will produce platform dependant `vendorSha256` checksums.
 
 ```nix
 pet = buildGoModule rec {
@@ -112,16 +113,6 @@ done
 
 Both `buildGoModule` and `buildGoPackage` can be tweaked to behave slightly differently, if the following attributes are used:
 
-### `buildFlagsArray` and `buildFlags`: {#ex-goBuildFlags-noarray}
-
-These attributes set build flags supported by `go build`. We recommend using `buildFlagsArray`.
-
-```nix
-  buildFlagsArray = [
-    "-tags=release"
-  ];
-```
-
 ### `ldflags` {#var-go-ldflags}
 
 Arguments to pass to the Go linker tool via the `-ldflags` argument of `go build`. The most common use case for this argument is to make the resulting executable aware of its own version. For example:
@@ -134,6 +125,21 @@ Arguments to pass to the Go linker tool via the `-ldflags` argument of `go build
   ];
 ```
 
+### `tags` {#var-go-tags}
+
+Arguments to pass to the Go via the `-tags` argument of `go build`. For example:
+
+```nix
+  tags = [
+    "production"
+    "sqlite"
+  ];
+```
+
+```nix
+  tags = [ "production" ] ++ lib.optionals withSqlite [ "sqlite" ];
+```
+
 ### `deleteVendor` {#var-go-deleteVendor}
 
 Removes the pre-existing vendor directory. This should only be used if the dependencies included in the vendor folder are broken or incomplete.
diff --git a/nixpkgs/doc/languages-frameworks/index.xml b/nixpkgs/doc/languages-frameworks/index.xml
index 516bddf67fd4..49cdf94a44ab 100644
--- a/nixpkgs/doc/languages-frameworks/index.xml
+++ b/nixpkgs/doc/languages-frameworks/index.xml
@@ -20,9 +20,9 @@
  <xi:include href="idris.section.xml" />
  <xi:include href="ios.section.xml" />
  <xi:include href="java.section.xml" />
+ <xi:include href="javascript.section.xml" />
  <xi:include href="lua.section.xml" />
  <xi:include href="maven.section.xml" />
- <xi:include href="node.section.xml" />
  <xi:include href="ocaml.section.xml" />
  <xi:include href="perl.section.xml" />
  <xi:include href="php.section.xml" />
diff --git a/nixpkgs/doc/languages-frameworks/javascript.section.md b/nixpkgs/doc/languages-frameworks/javascript.section.md
new file mode 100644
index 000000000000..bf5742d6855e
--- /dev/null
+++ b/nixpkgs/doc/languages-frameworks/javascript.section.md
@@ -0,0 +1,256 @@
+# Javascript {#language-javascript}
+
+## Introduction {#javascript-introduction}
+
+This contains instructions on how to package javascript applications.
+
+The various tools available will be listed in the [tools-overview](#javascript-tools-overview). Some general principles for packaging will follow. Finally some tool specific instructions will be given.
+
+## Getting unstuck / finding code examples
+
+If you find you are lacking inspiration for packing javascript applications, the links below might prove useful.
+Searching online for prior art can be helpful if you are running into solved problems.
+
+### Github
+
+- Searching Nix files for `mkYarnPackage`: <https://github.com/search?q=mkYarnPackage+language%3ANix&type=code>
+
+- Searching just `flake.nix` files for `mkYarnPackage`: <https://github.com/search?q=mkYarnPackage+filename%3Aflake.nix&type=code>
+
+### Gitlab
+
+- Searching Nix files for `mkYarnPackage`: <https://gitlab.com/search?scope=blobs&search=mkYarnPackage+extension%3Anix>
+
+- Searching just `flake.nix` files for `mkYarnPackage`: <https://gitlab.com/search?scope=blobs&search=mkYarnPackage+filename%3Aflake.nix>
+
+## Tools overview {#javascript-tools-overview}
+
+## General principles {#javascript-general-principles}
+
+The following principles are given in order of importance with potential exceptions.
+
+### Try to use the same node version used upstream {#javascript-upstream-node-version}
+
+It is often not documented which node version is used upstream, but if it is, try to use the same version when packaging.
+
+This can be a problem if upstream is using the latest and greatest and you are trying to use an earlier version of node. Some cryptic errors regarding V8 may appear.
+
+An exception to this:
+
+### Try to respect the package manager originally used by upstream (and use the upstream lock file) {#javascript-upstream-package-manager}
+
+A lock file (package-lock.json, yarn.lock...) is supposed to make reproducible installations of node_modules for each tool.
+
+Guidelines of package managers, recommend to commit those lock files to the repos. If a particular lock file is present, it is a strong indication of which package manager is used upstream.
+
+It's better to try to use a nix tool that understand the lock file. Using a different tool might give you hard to understand error because different packages have been installed. An example of problems that could arise can be found [here](https://github.com/NixOS/nixpkgs/pull/126629). Upstream uses npm, but this is an attempt to package it with yarn2nix (that uses yarn.lock)
+
+Using a different tool forces to commit a lock file to the repository. Those files are fairly large, so when packaging for nixpkgs, this approach does not scale well.
+
+Exceptions to this rule are:
+
+- when you encounter one of the bugs from a nix tool. In each of the tool specific instructions, known problems will be detailed. If you have a problem with a particular tool, then it's best to try another tool, even if this means you will have to recreate a lock file and commit it to nixpkgs. In general yarn2nix has less known problems and so a simple search in nixpkgs will reveal many yarn.lock files committed
+- Some lock files contain particular version of a package that has been pulled off npm for some reason. In that case, you can recreate upstream lock (by removing the original and `npm install`, `yarn`, ...) and commit this to nixpkgs.
+- The only tool that supports workspaces (a feature of npm that helps manage sub-directories with different package.json from a single top level package.json) is yarn2nix. If upstream has workspaces you should try yarn2nix.
+
+### Try to use upstream package.json {#javascript-upstream-package-json}
+
+Exceptions to this rule are
+
+- Sometimes the upstream repo assumes some dependencies be installed globally. In that case you can add them manually to the upstream package.json (`yarn add xxx` or `npm install xxx`, ...). Dependencies that are installed locally can be executed with `npx` for cli tools. (e.g. `npx postcss ...`, this is how you can call those dependencies in the phases).
+- Sometimes there is a version conflict between some dependency requirements. In that case you can fix a version (by removing the `^`).
+- Sometimes the script defined in the package.json does not work as is. Some scripts for example use cli tools that might not be available, or cd in directory with a different package.json (for workspaces notably). In that case, it's perfectly fine to look at what the particular script is doing and break this down in the phases. In the build script you can see `build:*` calling in turns several other build scripts like `build:ui` or `build:server`. If one of those fails, you can try to separate those into:
+
+```Shell
+yarn build:ui
+yarn build:server
+# OR
+npm run build:ui
+npm run build:server
+```
+
+when you need to override a package.json. It's nice to use the one from the upstream src and do some explicit override. Here is an example.
+
+```nix
+patchedPackageJSON = final.runCommand "package.json" { } ''
+  ${jq}/bin/jq '.version = "0.4.0" |
+    .devDependencies."@jsdoc/cli" = "^0.2.5"
+    ${sonar-src}/package.json > $out
+'';
+```
+
+you will still need to commit the modified version of the lock files, but at least the overrides are explicit for everyone to see.
+
+### Using node_modules directly {#javascript-using-node_modules}
+
+each tool has an abstraction to just build the node_modules (dependencies) directory. you can always use the stdenv.mkDerivation with the node_modules to build the package (symlink the node_modules directory and then use the package build command). the node_modules abstraction can be also used to build some web framework frontends. For an example of this see how [plausible](https://github.com/NixOS/nixpkgs/blob/master/pkgs/servers/web-apps/plausible/default.nix) is built. mkYarnModules to make the derivation containing node_modules. Then when building the frontend you can just symlink the node_modules directory
+
+## javascript packages inside nixpkgs {#javascript-packages-nixpkgs}
+
+The `pkgs/development/node-packages` folder contains a generated collection of
+[NPM packages](https://npmjs.com/) that can be installed with the Nix package
+manager.
+
+As a rule of thumb, the package set should only provide _end user_ software
+packages, such as command-line utilities. Libraries should only be added to the
+package set if there is a non-NPM package that requires it.
+
+When it is desired to use NPM libraries in a development project, use the
+`node2nix` generator directly on the `package.json` configuration file of the
+project.
+
+The package set provides support for the official stable Node.js versions.
+The latest stable LTS release in `nodePackages`, as well as the latest stable
+Current release in `nodePackages_latest`.
+
+If your package uses native addons, you need to examine what kind of native
+build system it uses. Here are some examples:
+
+- `node-gyp`
+- `node-gyp-builder`
+- `node-pre-gyp`
+
+After you have identified the correct system, you need to override your package
+expression while adding in build system as a build input. For example, `dat`
+requires `node-gyp-build`, so [we override](https://github.com/NixOS/nixpkgs/blob/32f5e5da4a1b3f0595527f5195ac3a91451e9b56/pkgs/development/node-packages/default.nix#L37-L40) its expression in [`default.nix`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/node-packages/default.nix):
+
+```nix
+    dat = super.dat.override {
+      buildInputs = [ self.node-gyp-build pkgs.libtool pkgs.autoconf pkgs.automake ];
+      meta.broken = since "12";
+    };
+```
+
+To add a package from NPM to nixpkgs:
+
+1. Modify `pkgs/development/node-packages/node-packages.json` to add, update
+    or remove package entries to have it included in `nodePackages` and
+    `nodePackages_latest`.
+2. Run the script: `cd pkgs/development/node-packages && ./generate.sh`.
+3. Build your new package to test your changes:
+    `cd /path/to/nixpkgs && nix-build -A nodePackages.<new-or-updated-package>`.
+    To build against the latest stable Current Node.js version (e.g. 14.x):
+    `nix-build -A nodePackages_latest.<new-or-updated-package>`
+4. Add and commit all modified and generated files.
+
+For more information about the generation process, consult the
+[README.md](https://github.com/svanderburg/node2nix) file of the `node2nix`
+tool.
+
+## Tool specific instructions {#javascript-tool-specific}
+
+### node2nix {#javascript-node2nix}
+
+#### Preparation {#javascript-node2nix-preparation}
+
+you will need to generate a nix expression for the dependencies
+
+- don't forget the `-l package-lock.json` if there is a lock file
+- Most probably you will need the `--development` to include the `devDependencies`
+
+so the command will most likely be
+`node2nix --development -l package-lock.json`
+
+[link to the doc in the repo](https://github.com/svanderburg/node2nix)
+
+#### Pitfalls {#javascript-node2nix-pitfalls}
+
+- if upstream package.json does not have a "version" attribute, node2nix will crash. You will need to add it like shown in [the package.json section](#javascript-upstream-package-json)
+- node2nix has some [bugs](https://github.com/svanderburg/node2nix/issues/238). related to working with lock files from npm distributed with nodejs-16_x
+- node2nix does not like missing packages from npm. If you see something like `Cannot resolve version: vue-loader-v16@undefined` then you might want to try another tool. The package might have been pulled off of npm.
+
+### yarn2nix {#javascript-yarn2nix}
+
+#### Preparation {#javascript-yarn2nix-preparation}
+
+you will need at least a yarn.lock and yarn.nix file
+
+- generate a yarn.lock in upstream if it is not already there
+- `yarn2nix > yarn.nix` will generate the dependencies in a nix format
+
+#### mkYarnPackage {#javascript-yarn2nix-mkYarnPackage}
+
+this will by default try to generate a binary. For package only generating static assets (Svelte, Vue, React...), you will need to explicitly override the build step with your instructions. It's important to use the `--offline` flag. For example if you script is `"build": "something"` in package.json use
+
+```nix
+buildPhase = ''
+  yarn build --offline
+'';
+```
+
+The dist phase is also trying to build a binary, the only way to override it is with
+
+```nix
+distPhase = "true";
+```
+
+the configure phase can sometimes fail because it tries to be too clever.
+One common override is
+
+```nix
+configurePhase = "ln -s $node_modules node_modules";
+```
+
+#### mkYarnModules {#javascript-yarn2nix-mkYarnModules}
+
+this will generate a derivation including the node_modules. If you have to build a derivation for an integrated web framework (rails, phoenix..), this is probably the easiest way. [Plausible](https://github.com/NixOS/nixpkgs/blob/master/pkgs/servers/web-apps/plausible/default.nix#L39) offers a good example of how to do this.
+
+#### Overriding dependency behavior
+
+In the `mkYarnPackage` record the property `pkgConfig` can be used to override packages when you encounter problems building.
+
+For instance, say your package is throwing errors when trying to invoke node-sass: `ENOENT: no such file or directory, scandir '/build/source/node_modules/node-sass/vendor'`
+
+To fix this we will specify different versions of build inputs to use, as well as some post install steps to get the software built the way we want:
+
+```nix
+mkYarnPackage rec {
+  pkgConfig = {
+    node-sass = {
+      buildInputs = with final;[ python libsass pkg-config ];
+      postInstall = ''
+        LIBSASS_EXT=auto yarn --offline run build
+        rm build/config.gypi
+      '';
+    };
+  };
+}
+```
+
+#### Pitfalls {#javascript-yarn2nix-pitfalls}
+
+- if version is missing from upstream package.json, yarn will silently install nothing. In that case, you will need to override package.json as shown in the [package.json section](#javascript-upstream-package-json)
+
+- having trouble with node-gyp? Try adding these lines to the `yarnPreBuild` steps:
+
+  ```nix
+  yarnPreBuild = ''
+    mkdir -p $HOME/.node-gyp/${nodejs.version}
+    echo 9 > $HOME/.node-gyp/${nodejs.version}/installVersion
+    ln -sfv ${nodejs}/include $HOME/.node-gyp/${nodejs.version}
+    export npm_config_nodedir=${nodejs}
+  '';
+  ```
+
+  - The `echo 9` steps comes from this answer: <https://stackoverflow.com/a/49139496>
+  - Exporting the headers in `npm_config_nodedir` comes from this issue: <https://github.com/nodejs/node-gyp/issues/1191#issuecomment-301243919>
+
+## Outside of nixpkgs {#javascript-outside-nixpkgs}
+
+There are some other options available that can't be used inside nixpkgs. Those other options are written in nix. Importing them in nixpkgs will require moving the source code into nixpkgs. Using [Import From Derivation](https://nixos.wiki/wiki/Import_From_Derivation) is not allowed in hydra at present. If you are packaging something outside nixpkgs, those can be considered
+
+### npmlock2nix {#javascript-npmlock2nix}
+
+[npmlock2nix](https://github.com/nix-community/npmlock2nix) aims at building node_modules without code generation. It hasn't reached v1 yet, the api might be subject to change.
+
+#### Pitfalls {#javascript-npmlock2nix-pitfalls}
+
+- there are some [problems with npm v7](https://github.com/tweag/npmlock2nix/issues/45).
+
+### nix-npm-buildpackage {#javascript-nix-npm-buildpackage}
+
+[nix-npm-buildpackage](https://github.com/serokell/nix-npm-buildpackage) aims at building node_modules without code generation. It hasn't reached v1 yet, the api might change. It supports both package-lock.json and yarn.lock.
+
+#### Pitfalls {#javascript-nix-npm-buildpackage-pitfalls}
+
+- there are some [problems with npm v7](https://github.com/serokell/nix-npm-buildpackage/issues/33).
diff --git a/nixpkgs/doc/languages-frameworks/lua.section.md b/nixpkgs/doc/languages-frameworks/lua.section.md
index ea893ce3a4a7..41fe0de04b4d 100644
--- a/nixpkgs/doc/languages-frameworks/lua.section.md
+++ b/nixpkgs/doc/languages-frameworks/lua.section.md
@@ -139,11 +139,9 @@ the whitelist maintainers/scripts/luarocks-packages.csv and updated by running m
 [luarocks2nix](https://github.com/nix-community/luarocks) is a tool capable of generating nix derivations from both rockspec and src.rock (and favors the src.rock).
 The automation only goes so far though and some packages need to be customized.
 These customizations go in `pkgs/development/lua-modules/overrides.nix`.
-For instance if the rockspec defines `external_dependencies`, these need to be manually added in its rockspec file then it won't work.
+For instance if the rockspec defines `external_dependencies`, these need to be manually added to the overrides.nix.
 
 You can try converting luarocks packages to nix packages with the command `nix-shell -p luarocks-nix` and then `luarocks nix PKG_NAME`.
-Nix rely on luarocks to install lua packages, basically it runs:
-`luarocks make --deps-mode=none --tree $out`
 
 #### Packaging a library manually {#packaging-a-library-manually}
 
@@ -161,8 +159,8 @@ are not packaged for luarocks. You can see a few examples at `pkgs/top-level/lua
 
 ### Lua interpreters {#lua-interpreters}
 
-Versions 5.1, 5.2 and 5.3 of the lua interpreter are available as
-respectively `lua5_1`, `lua5_2` and `lua5_3`. Luajit is available too.
+Versions 5.1, 5.2, 5.3 and 5.4 of the lua interpreter are available as
+respectively `lua5_1`, `lua5_2`, `lua5_3` and `lua5_4`. Luajit is available too.
 The Nix expressions for the interpreters can be found in `pkgs/development/interpreters/lua-5`.
 
 #### Attributes on lua interpreters packages {#attributes-on-lua-interpreters-packages}
diff --git a/nixpkgs/doc/languages-frameworks/node.section.md b/nixpkgs/doc/languages-frameworks/node.section.md
deleted file mode 100644
index 847db22941fd..000000000000
--- a/nixpkgs/doc/languages-frameworks/node.section.md
+++ /dev/null
@@ -1,51 +0,0 @@
-# Node.js {#node.js}
-
-The `pkgs/development/node-packages` folder contains a generated collection of
-[NPM packages](https://npmjs.com/) that can be installed with the Nix package
-manager.
-
-As a rule of thumb, the package set should only provide *end user* software
-packages, such as command-line utilities. Libraries should only be added to the
-package set if there is a non-NPM package that requires it.
-
-When it is desired to use NPM libraries in a development project, use the
-`node2nix` generator directly on the `package.json` configuration file of the
-project.
-
-The package set provides support for the official stable Node.js versions.
-The latest stable LTS release in `nodePackages`, as well as the latest stable
-Current release in `nodePackages_latest`.
-
-If your package uses native addons, you need to examine what kind of native
-build system it uses. Here are some examples:
-
-* `node-gyp`
-* `node-gyp-builder`
-* `node-pre-gyp`
-
-After you have identified the correct system, you need to override your package
-expression while adding in build system as a build input. For example, `dat`
-requires `node-gyp-build`, so [we override](https://github.com/NixOS/nixpkgs/blob/32f5e5da4a1b3f0595527f5195ac3a91451e9b56/pkgs/development/node-packages/default.nix#L37-L40) its expression in [`default.nix`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/node-packages/default.nix):
-
-```nix
-    dat = super.dat.override {
-      buildInputs = [ self.node-gyp-build pkgs.libtool pkgs.autoconf pkgs.automake ];
-      meta.broken = since "12";
-    };
-```
-
-To add a package from NPM to nixpkgs:
-
- 1. Modify `pkgs/development/node-packages/node-packages.json` to add, update
-    or remove package entries to have it included in `nodePackages` and
-    `nodePackages_latest`.
- 2. Run the script: `(cd pkgs/development/node-packages && ./generate.sh)`.
- 3. Build your new package to test your changes:
-    `cd /path/to/nixpkgs && nix-build -A nodePackages.<new-or-updated-package>`.
-    To build against the latest stable Current Node.js version (e.g. 14.x):
-    `nix-build -A nodePackages_latest.<new-or-updated-package>`
- 4. Add and commit all modified and generated files.
-
-For more information about the generation process, consult the
-[README.md](https://github.com/svanderburg/node2nix) file of the `node2nix`
-tool.
diff --git a/nixpkgs/doc/languages-frameworks/perl.section.md b/nixpkgs/doc/languages-frameworks/perl.section.md
index dcb7dcb77b65..c992b9d658bb 100644
--- a/nixpkgs/doc/languages-frameworks/perl.section.md
+++ b/nixpkgs/doc/languages-frameworks/perl.section.md
@@ -122,7 +122,7 @@ ImageExifTool = buildPerlPackage {
   };
 
   buildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
-  postInstall = lib.optional stdenv.isDarwin ''
+  postInstall = lib.optionalString stdenv.isDarwin ''
     shortenPerlShebang $out/bin/exiftool
   '';
 };
diff --git a/nixpkgs/doc/languages-frameworks/python.section.md b/nixpkgs/doc/languages-frameworks/python.section.md
index 53df328f8d48..987ea1af9daa 100644
--- a/nixpkgs/doc/languages-frameworks/python.section.md
+++ b/nixpkgs/doc/languages-frameworks/python.section.md
@@ -1602,3 +1602,33 @@ The following rules are desired to be respected:
   If necessary, `pname` has to be given a different value within `fetchPypi`.
 * Attribute names in `python-packages.nix` should be sorted alphanumerically to
   avoid merge conflicts and ease locating attributes.
+
+## Package set maintenance
+
+The whole Python package set has a lot of packages that do not see regular
+updates, because they either are a very fragile component in the Python
+ecosystem, like for example the `hypothesis` package, or packages that have
+no maintainer, so maintenance falls back to the package set maintainers.
+
+### Updating packages in bulk
+
+There is a tool to update alot of python libraries in bulk, it exists at
+`maintainers/scripts/update-python-libraries` with this repository.
+
+It can quickly update minor or major versions for all packages selected
+and create update commits, and supports the `fetchPypi`, `fetchurl` and
+`fetchFromGitHub` fetchers. When updating lots of packages that are
+hosted on GitHub, exporting a `GITHUB_API_TOKEN` is highly recommended.
+
+Updating packages in bulk leads to lots of breakages, which is why a
+stabilization period on the `python-unstable` branch is required.
+
+Once the branch is sufficiently stable it should normally be merged
+into the `staging` branch.
+
+An exemplary call to update all python libraries between minor versions
+would be:
+
+```ShellSession
+$ maintainers/scripts/update-python-libraries --target minor --commit --use-pkgs-prefix pkgs/development/python-modules/**/default.nix
+```
diff --git a/nixpkgs/doc/languages-frameworks/rust.section.md b/nixpkgs/doc/languages-frameworks/rust.section.md
index f5c664bec20e..9de9a06465f8 100644
--- a/nixpkgs/doc/languages-frameworks/rust.section.md
+++ b/nixpkgs/doc/languages-frameworks/rust.section.md
@@ -129,7 +129,15 @@ rustPlatform.buildRustPackage rec {
 ```
 
 This will retrieve the dependencies using fixed-output derivations from
-the specified lockfile.
+the specified lockfile. Note that setting `cargoLock.lockFile` doesn't
+add a `Cargo.lock` to your `src`, and a `Cargo.lock` is still required
+to build a rust package. A simple fix is to use:
+
+```nix
+postPatch = ''
+  cp ${./Cargo.lock} Cargo.lock
+'';
+```
 
 The output hash of each dependency that uses a git source must be
 specified in the `outputHashes` attribute. For example:
@@ -144,7 +152,7 @@ rustPlatform.buildRustPackage rec {
     outputHashes = {
       "finalfusion-0.14.0" = "17f4bsdzpcshwh74w5z119xjy2if6l2wgyjy56v621skr2r8y904";
     };
-  }
+  };
 
   # ...
 }
diff --git a/nixpkgs/doc/languages-frameworks/vim.section.md b/nixpkgs/doc/languages-frameworks/vim.section.md
index 26a01a89aa51..cb5311fc95f1 100644
--- a/nixpkgs/doc/languages-frameworks/vim.section.md
+++ b/nixpkgs/doc/languages-frameworks/vim.section.md
@@ -309,7 +309,7 @@ Sample output2:
 
 ## Adding new plugins to nixpkgs {#adding-new-plugins-to-nixpkgs}
 
-Nix expressions for Vim plugins are stored in [pkgs/misc/vim-plugins](/pkgs/misc/vim-plugins). For the vast majority of plugins, Nix expressions are automatically generated by running [`./update.py`](/pkgs/misc/vim-plugins/update.py). This creates a [generated.nix](/pkgs/misc/vim-plugins/generated.nix) file based on the plugins listed in [vim-plugin-names](/pkgs/misc/vim-plugins/vim-plugin-names). Plugins are listed in alphabetical order in `vim-plugin-names` using the format `[github username]/[repository]`. For example https://github.com/scrooloose/nerdtree becomes `scrooloose/nerdtree`.
+Nix expressions for Vim plugins are stored in [pkgs/misc/vim-plugins](/pkgs/misc/vim-plugins). For the vast majority of plugins, Nix expressions are automatically generated by running [`./update.py`](/pkgs/misc/vim-plugins/update.py). This creates a [generated.nix](/pkgs/misc/vim-plugins/generated.nix) file based on the plugins listed in [vim-plugin-names](/pkgs/misc/vim-plugins/vim-plugin-names). Plugins are listed in alphabetical order in `vim-plugin-names` using the format `[github username]/[repository]@[gitref]`. For example https://github.com/scrooloose/nerdtree becomes `scrooloose/nerdtree`.
 
 Some plugins require overrides in order to function properly. Overrides are placed in [overrides.nix](/pkgs/misc/vim-plugins/overrides.nix). Overrides are most often required when a plugin requires some dependencies, or extra steps are required during the build process. For example `deoplete-fish` requires both `deoplete-nvim` and `vim-fish`, and so the following override was added:
 
diff --git a/nixpkgs/doc/stdenv/meta.chapter.md b/nixpkgs/doc/stdenv/meta.chapter.md
index f226a725480c..ac518cee524c 100644
--- a/nixpkgs/doc/stdenv/meta.chapter.md
+++ b/nixpkgs/doc/stdenv/meta.chapter.md
@@ -114,6 +114,10 @@ For details, see [Licenses](#sec-meta-license).
 
 A list of the maintainers of this Nix expression. Maintainers are defined in [`nixpkgs/maintainers/maintainer-list.nix`](https://github.com/NixOS/nixpkgs/blob/master/maintainers/maintainer-list.nix). There is no restriction to becoming a maintainer, just add yourself to that list in a separate commit titled “maintainers: add alice”, and reference maintainers with `maintainers = with lib.maintainers; [ alice bob ]`.
 
+### `mainProgram` {#var-meta-mainProgram}
+
+The name of the main binary for the package. This effects the binary `nix run` executes and falls back to the name of the package. Example: `"rg"`
+
 ### `priority` {#var-meta-priority}
 
 The *priority* of the package, used by `nix-env` to resolve file name conflicts between packages. See the Nix manual page for `nix-env` for details. Example: `"10"` (a low-priority package).
@@ -134,7 +138,28 @@ Attribute Set `lib.platforms` defines [various common lists](https://github.com/
 This attribute is special in that it is not actually under the `meta` attribute set but rather under the `passthru` attribute set. This is due to how `meta` attributes work, and the fact that they are supposed to contain only metadata, not derivations.
 :::
 
-An attribute set with as values tests. A test is a derivation, which builds successfully when the test passes, and fails to build otherwise. A derivation that is a test needs to have `meta.timeout` defined.
+An attribute set with tests as values. A test is a derivation that builds when the test passes and fails to build otherwise.
+
+You can run these tests with:
+
+```ShellSession
+$ cd path/to/nixpkgs
+$ nix-build -A your-package.tests
+```
+
+#### Package tests
+
+Tests that are part of the source package are often executed in the `installCheckPhase`.
+
+Prefer `passthru.tests` for tests that are introduced in nixpkgs because:
+
+* `passthru.tests` tests the 'real' package, independently from the environment in which it was built
+* we can run `passthru.tests` independently
+* `installCheckPhase` adds overhead to each build
+
+For more on how to write and run package tests, see <xref linkend="sec-package-tests"/>.
+
+#### NixOS tests
 
 The NixOS tests are available as `nixosTests` in parameters of derivations. For instance, the OpenSMTPD derivation includes lines similar to:
 
@@ -148,6 +173,8 @@ The NixOS tests are available as `nixosTests` in parameters of derivations. For
 }
 ```
 
+NixOS tests run in a VM, so they are slower than regular package tests. For more information see [NixOS module tests](https://nixos.org/manual/nixos/stable/#sec-nixos-tests).
+
 ### `timeout` {#var-meta-timeout}
 
 A timeout (in seconds) for building the derivation. If the derivation takes longer than this time to build, it can fail due to breaking the timeout. However, all computers do not have the same computing power, hence some builders may decide to apply a multiplicative factor to this value. When filling this value in, try to keep it approximately consistent with other values already present in `nixpkgs`.
diff --git a/nixpkgs/doc/stdenv/stdenv.chapter.md b/nixpkgs/doc/stdenv/stdenv.chapter.md
index e3e7b4c850be..9befcaa51a9a 100644
--- a/nixpkgs/doc/stdenv/stdenv.chapter.md
+++ b/nixpkgs/doc/stdenv/stdenv.chapter.md
@@ -714,6 +714,8 @@ to `~/.gdbinit`. GDB will then be able to find debug information installed via `
 
 The installCheck phase checks whether the package was installed correctly by running its test suite against the installed directories. The default `installCheck` calls `make installcheck`.
 
+It is often better to add tests that are not part of the source distribution to `passthru.tests` (see <xref linkend="var-meta-tests"/>). This avoids adding overhead to every build and enables us to run them independently.
+
 #### Variables controlling the installCheck phase {#variables-controlling-the-installcheck-phase}
 
 ##### `doInstallCheck` {#var-stdenv-doInstallCheck}
diff --git a/nixpkgs/lib/attrsets.nix b/nixpkgs/lib/attrsets.nix
index 5c787940cb0c..31fddc59e20e 100644
--- a/nixpkgs/lib/attrsets.nix
+++ b/nixpkgs/lib/attrsets.nix
@@ -5,7 +5,7 @@ let
   inherit (builtins) head tail length;
   inherit (lib.trivial) and;
   inherit (lib.strings) concatStringsSep sanitizeDerivationName;
-  inherit (lib.lists) fold concatMap concatLists;
+  inherit (lib.lists) foldr foldl' concatMap concatLists elemAt;
 in
 
 rec {
@@ -55,10 +55,13 @@ rec {
        => { a = { b = 3; }; }
   */
   setAttrByPath = attrPath: value:
-    if attrPath == [] then value
-    else listToAttrs
-      [ { name = head attrPath; value = setAttrByPath (tail attrPath) value; } ];
-
+    let
+      len = length attrPath;
+      atDepth = n:
+        if n == len
+        then value
+        else { ${elemAt attrPath n} = atDepth (n + 1); };
+    in atDepth 0;
 
   /* Like `attrByPath' without a default value. If it doesn't find the
      path it will throw.
@@ -152,8 +155,8 @@ rec {
        => { a = [ 2 3 ]; }
   */
   foldAttrs = op: nul: list_of_attrs:
-    fold (n: a:
-        fold (name: o:
+    foldr (n: a:
+        foldr (name: o:
           o // { ${name} = op n.${name} (a.${name} or nul); }
         ) a (attrNames n)
     ) {} list_of_attrs;
@@ -195,7 +198,7 @@ rec {
          ]
   */
   cartesianProductOfSets = attrsOfLists:
-    lib.foldl' (listOfAttrs: attrName:
+    foldl' (listOfAttrs: attrName:
       concatMap (attrs:
         map (listValue: attrs // { ${attrName} = listValue; }) attrsOfLists.${attrName}
       ) listOfAttrs
@@ -455,7 +458,7 @@ rec {
        => true
    */
   matchAttrs = pattern: attrs: assert isAttrs pattern;
-    fold and true (attrValues (zipAttrsWithNames (attrNames pattern) (n: values:
+    foldr and true (attrValues (zipAttrsWithNames (attrNames pattern) (n: values:
       let pat = head values; val = head (tail values); in
       if length values == 1 then false
       else if isAttrs pat then isAttrs val && matchAttrs pat val
diff --git a/nixpkgs/lib/default.nix b/nixpkgs/lib/default.nix
index 8e29ef5c4201..bb99a1be8a8c 100644
--- a/nixpkgs/lib/default.nix
+++ b/nixpkgs/lib/default.nix
@@ -91,7 +91,7 @@ let
       concatImapStringsSep makeSearchPath makeSearchPathOutput
       makeLibraryPath makeBinPath optionalString
       hasInfix hasPrefix hasSuffix stringToCharacters stringAsChars escape
-      escapeShellArg escapeShellArgs replaceChars lowerChars
+      escapeShellArg escapeShellArgs escapeRegex replaceChars lowerChars
       upperChars toLower toUpper addContextFrom splitString
       removePrefix removeSuffix versionOlder versionAtLeast
       getName getVersion
@@ -115,7 +115,7 @@ let
       mergeModules' mergeOptionDecls evalOptionValue mergeDefinitions
       pushDownProperties dischargeProperties filterOverrides
       sortProperties fixupOptionType mkIf mkAssert mkMerge mkOverride
-      mkOptionDefault mkDefault mkForce mkVMOverride
+      mkOptionDefault mkDefault mkImageMediaOverride mkForce mkVMOverride
       mkFixStrictness mkOrder mkBefore mkAfter mkAliasDefinitions
       mkAliasAndWrapDefinitions fixMergeModules mkRemovedOptionModule
       mkRenamedOptionModule mkMergedOptionModule mkChangedOptionModule
diff --git a/nixpkgs/lib/deprecated.nix b/nixpkgs/lib/deprecated.nix
index be0ef904c66d..ddce69f160cc 100644
--- a/nixpkgs/lib/deprecated.nix
+++ b/nixpkgs/lib/deprecated.nix
@@ -77,11 +77,11 @@ rec {
   # Output : are reqs satisfied? It's asserted.
   checkReqs = attrSet: argList: condList:
   (
-    fold lib.and true
+    foldr lib.and true
       (map (x: let name = (head x); in
 
         ((checkFlag attrSet name) ->
-        (fold lib.and true
+        (foldr lib.and true
         (map (y: let val=(getValue attrSet argList y); in
                 (val!=null) && (val!=false))
         (tail x))))) condList));
@@ -177,7 +177,7 @@ rec {
   # merge attributes with custom function handling the case that the attribute
   # exists in both sets
   mergeAttrsWithFunc = f: set1: set2:
-    fold (n: set: if set ? ${n}
+    foldr (n: set: if set ? ${n}
                         then setAttr set n (f set.${n} set2.${n})
                         else set )
            (set2 // set1) (attrNames set2);
@@ -196,7 +196,7 @@ rec {
   mergeAttrsNoOverride = { mergeLists ? ["buildInputs" "propagatedBuildInputs"],
                            overrideSnd ? [ "buildPhase" ]
                          }: attrs1: attrs2:
-    fold (n: set:
+    foldr (n: set:
         setAttr set n ( if set ? ${n}
             then # merge
               if elem n mergeLists # attribute contains list, merge them by concatenating
@@ -224,7 +224,7 @@ rec {
           mergeAttrBy2 = { mergeAttrBy = lib.mergeAttrs; }
                       // (maybeAttr "mergeAttrBy" {} x)
                       // (maybeAttr "mergeAttrBy" {} y); in
-    fold lib.mergeAttrs {} [
+    foldr lib.mergeAttrs {} [
       x y
       (mapAttrs ( a: v: # merge special names using given functions
           if x ? ${a}
diff --git a/nixpkgs/lib/fixed-points.nix b/nixpkgs/lib/fixed-points.nix
index f998bc74e1db..bf1567a22a66 100644
--- a/nixpkgs/lib/fixed-points.nix
+++ b/nixpkgs/lib/fixed-points.nix
@@ -72,10 +72,10 @@ rec {
   # into one where changes made in the first are available in the
   # 'super' of the second
   composeExtensions =
-    f: g: self: super:
-      let fApplied = f self super;
-          super' = super // fApplied;
-      in fApplied // g self super';
+    f: g: final: prev:
+      let fApplied = f final prev;
+          prev' = prev // fApplied;
+      in fApplied // g final prev';
 
   # Compose several extending functions of the type expected by 'extends' into
   # one where changes made in preceding functions are made available to
@@ -84,7 +84,7 @@ rec {
   # composeManyExtensions : [packageSet -> packageSet -> packageSet] -> packageSet -> packageSet -> packageSet
   #                          ^final        ^prev         ^overrides     ^final        ^prev         ^overrides
   composeManyExtensions =
-    lib.foldr (x: y: composeExtensions x y) (self: super: {});
+    lib.foldr (x: y: composeExtensions x y) (final: prev: {});
 
   # Create an overridable, recursive attribute set. For example:
   #
diff --git a/nixpkgs/lib/flake.nix b/nixpkgs/lib/flake.nix
index f05bd40960a8..0b5e54d547c5 100644
--- a/nixpkgs/lib/flake.nix
+++ b/nixpkgs/lib/flake.nix
@@ -1,5 +1,5 @@
 {
   description = "Library of low-level helper functions for nix expressions.";
 
-  outputs = { self }: { lib = import ./lib; };
+  outputs = { self }: { lib = import ./.; };
 }
diff --git a/nixpkgs/lib/generators.nix b/nixpkgs/lib/generators.nix
index c8144db50ac8..bcb0f371a9b5 100644
--- a/nixpkgs/lib/generators.nix
+++ b/nixpkgs/lib/generators.nix
@@ -248,7 +248,7 @@ rec {
          then v.__pretty v.val
       else if v == {} then "{ }"
       else if v ? type && v.type == "derivation" then
-        "<derivation ${v.drvPath}>"
+        "<derivation ${v.drvPath or "???"}>"
       else "{" + introSpace
           + libStr.concatStringsSep introSpace (libAttr.mapAttrsToList
               (name: value:
diff --git a/nixpkgs/lib/licenses.nix b/nixpkgs/lib/licenses.nix
index 4792f1cb5925..772985f9509d 100644
--- a/nixpkgs/lib/licenses.nix
+++ b/nixpkgs/lib/licenses.nix
@@ -1,44 +1,56 @@
 { lib }:
-let
 
-  spdx = lic: lic // {
-    url = "https://spdx.org/licenses/${lic.spdxId}.html";
-  };
-
-in
-
-lib.mapAttrs (n: v: v // { shortName = n; }) ({
+lib.mapAttrs (lname: lset: let
+  defaultLicense = rec {
+    shortName = lname;
+    free = true; # Most of our licenses are Free, explicitly declare unfree additions as such!
+    deprecated = false;
+  };
+
+  mkLicense = licenseDeclaration: let
+    applyDefaults = license: defaultLicense // license;
+    applySpdx = license:
+      if license ? spdxId
+      then license // { url = "https://spdx.org/licenses/${license.spdxId}.html"; }
+      else license;
+    applyRedistributable = license: { redistributable = license.free; } // license;
+  in lib.pipe licenseDeclaration [
+    applyDefaults
+    applySpdx
+    applyRedistributable
+  ];
+in mkLicense lset) ({
   /* License identifiers from spdx.org where possible.
    * If you cannot find your license here, then look for a similar license or
    * add it to this list. The URL mentioned above is a good source for inspiration.
    */
 
-  abstyles = spdx {
+  abstyles = {
     spdxId = "Abstyles";
     fullName = "Abstyles License";
   };
 
-  afl20 = spdx {
+  afl20 = {
     spdxId = "AFL-2.0";
     fullName = "Academic Free License v2.0";
   };
 
-  afl21 = spdx {
+  afl21 = {
     spdxId = "AFL-2.1";
     fullName = "Academic Free License v2.1";
   };
 
-  afl3 = spdx {
+  afl3 = {
     spdxId = "AFL-3.0";
     fullName = "Academic Free License v3.0";
   };
 
-  agpl3Only = spdx {
+  agpl3Only = {
     spdxId = "AGPL-3.0-only";
     fullName = "GNU Affero General Public License v3.0 only";
   };
 
-  agpl3Plus = spdx {
+  agpl3Plus = {
     spdxId = "AGPL-3.0-or-later";
     fullName = "GNU Affero General Public License v3.0 or later";
   };
@@ -55,7 +67,7 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
     free = false;
   };
 
-  apsl20 = spdx {
+  apsl20 = {
     spdxId = "APSL-2.0";
     fullName = "Apple Public Source License 2.0";
   };
@@ -65,72 +77,72 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
     url = "https://www.freedesktop.org/wiki/Arphic_Public_License/";
   };
 
-  artistic1 = spdx {
+  artistic1 = {
     spdxId = "Artistic-1.0";
     fullName = "Artistic License 1.0";
   };
 
-  artistic2 = spdx {
+  artistic2 = {
     spdxId = "Artistic-2.0";
     fullName = "Artistic License 2.0";
   };
 
-  asl20 = spdx {
+  asl20 = {
     spdxId = "Apache-2.0";
     fullName = "Apache License 2.0";
   };
 
-  boost = spdx {
+  boost = {
     spdxId = "BSL-1.0";
     fullName = "Boost Software License 1.0";
   };
 
-  beerware = spdx {
+  beerware = {
     spdxId = "Beerware";
     fullName = "Beerware License";
   };
 
-  blueOak100 = spdx {
+  blueOak100 = {
     spdxId = "BlueOak-1.0.0";
     fullName = "Blue Oak Model License 1.0.0";
   };
 
-  bsd0 = spdx {
+  bsd0 = {
     spdxId = "0BSD";
     fullName = "BSD Zero Clause License";
   };
 
-  bsd1 = spdx {
+  bsd1 = {
     spdxId = "BSD-1-Clause";
     fullName = "BSD 1-Clause License";
   };
 
-  bsd2 = spdx {
+  bsd2 = {
     spdxId = "BSD-2-Clause";
     fullName = ''BSD 2-clause "Simplified" License'';
   };
 
-  bsd2Patent = spdx {
+  bsd2Patent = {
     spdxId = "BSD-2-Clause-Patent";
     fullName = "BSD-2-Clause Plus Patent License";
   };
 
-  bsd3 = spdx {
+  bsd3 = {
     spdxId = "BSD-3-Clause";
     fullName = ''BSD 3-clause "New" or "Revised" License'';
   };
 
-  bsdOriginal = spdx {
+  bsdOriginal = {
     spdxId = "BSD-4-Clause";
     fullName = ''BSD 4-clause "Original" or "Old" License'';
   };
 
-  bsdOriginalUC = spdx {
+  bsdOriginalUC = {
     spdxId = "BSD-4-Clause-UC";
     fullName = "BSD 4-Clause University of California-Specific";
   };
 
-  bsdProtection = spdx {
+  bsdProtection = {
     spdxId = "BSD-Protection";
     fullName = "BSD Protection License";
   };
@@ -141,119 +153,119 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
     free = false;
   };
 
-  clArtistic = spdx {
+  clArtistic = {
     spdxId = "ClArtistic";
     fullName = "Clarified Artistic License";
   };
 
-  cc0 = spdx {
+  cc0 = {
     spdxId = "CC0-1.0";
     fullName = "Creative Commons Zero v1.0 Universal";
   };
 
-  cc-by-nc-sa-20 = spdx {
+  cc-by-nc-sa-20 = {
     spdxId = "CC-BY-NC-SA-2.0";
     fullName = "Creative Commons Attribution Non Commercial Share Alike 2.0";
     free = false;
   };
 
-  cc-by-nc-sa-25 = spdx {
+  cc-by-nc-sa-25 = {
     spdxId = "CC-BY-NC-SA-2.5";
     fullName = "Creative Commons Attribution Non Commercial Share Alike 2.5";
     free = false;
   };
 
-  cc-by-nc-sa-30 = spdx {
+  cc-by-nc-sa-30 = {
     spdxId = "CC-BY-NC-SA-3.0";
     fullName = "Creative Commons Attribution Non Commercial Share Alike 3.0";
     free = false;
   };
 
-  cc-by-nc-sa-40 = spdx {
+  cc-by-nc-sa-40 = {
     spdxId = "CC-BY-NC-SA-4.0";
     fullName = "Creative Commons Attribution Non Commercial Share Alike 4.0";
     free = false;
   };
 
-  cc-by-nc-30 = spdx {
+  cc-by-nc-30 = {
     spdxId = "CC-BY-NC-3.0";
     fullName = "Creative Commons Attribution Non Commercial 3.0 Unported";
     free = false;
   };
 
-  cc-by-nc-40 = spdx {
+  cc-by-nc-40 = {
     spdxId = "CC-BY-NC-4.0";
     fullName = "Creative Commons Attribution Non Commercial 4.0 International";
     free = false;
   };
 
-  cc-by-nd-30 = spdx {
+  cc-by-nd-30 = {
     spdxId = "CC-BY-ND-3.0";
     fullName = "Creative Commons Attribution-No Derivative Works v3.00";
     free = false;
   };
 
-  cc-by-sa-25 = spdx {
+  cc-by-sa-25 = {
     spdxId = "CC-BY-SA-2.5";
     fullName = "Creative Commons Attribution Share Alike 2.5";
   };
 
-  cc-by-30 = spdx {
+  cc-by-30 = {
     spdxId = "CC-BY-3.0";
     fullName = "Creative Commons Attribution 3.0";
   };
 
-  cc-by-sa-30 = spdx {
+  cc-by-sa-30 = {
     spdxId = "CC-BY-SA-3.0";
     fullName = "Creative Commons Attribution Share Alike 3.0";
   };
 
-  cc-by-40 = spdx {
+  cc-by-40 = {
     spdxId = "CC-BY-4.0";
     fullName = "Creative Commons Attribution 4.0";
   };
 
-  cc-by-sa-40 = spdx {
+  cc-by-sa-40 = {
     spdxId = "CC-BY-SA-4.0";
     fullName = "Creative Commons Attribution Share Alike 4.0";
   };
 
-  cddl = spdx {
+  cddl = {
     spdxId = "CDDL-1.0";
     fullName = "Common Development and Distribution License 1.0";
   };
 
-  cecill20 = spdx {
+  cecill20 = {
     spdxId = "CECILL-2.0";
     fullName = "CeCILL Free Software License Agreement v2.0";
   };
 
-  cecill-b = spdx {
+  cecill-b = {
     spdxId = "CECILL-B";
     fullName  = "CeCILL-B Free Software License Agreement";
   };
 
-  cecill-c = spdx {
+  cecill-c = {
     spdxId = "CECILL-C";
     fullName  = "CeCILL-C Free Software License Agreement";
   };
 
-  cpal10 = spdx {
+  cpal10 = {
     spdxId = "CPAL-1.0";
     fullName = "Common Public Attribution License 1.0";
   };
 
-  cpl10 = spdx {
+  cpl10 = {
     spdxId = "CPL-1.0";
     fullName = "Common Public License 1.0";
   };
 
-  curl = spdx {
+  curl = {
     spdxId = "curl";
     fullName = "curl License";
   };
 
-  doc = spdx {
+  doc = {
     spdxId = "DOC";
     fullName = "DOC License";
   };
@@ -264,12 +276,12 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
     free = false;
   };
 
-  efl10 = spdx {
+  efl10 = {
     spdxId = "EFL-1.0";
     fullName = "Eiffel Forum License v1.0";
   };
 
-  efl20 = spdx {
+  efl20 = {
     spdxId = "EFL-2.0";
     fullName = "Eiffel Forum License v2.0";
   };
@@ -280,12 +292,12 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
     free = false;
   };
 
-  epl10 = spdx {
+  epl10 = {
     spdxId = "EPL-1.0";
     fullName = "Eclipse Public License 1.0";
   };
 
-  epl20 = spdx {
+  epl20 = {
     spdxId = "EPL-2.0";
     fullName = "Eclipse Public License 2.0";
   };
@@ -296,42 +308,42 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
     free = false;
   };
 
-  eupl11 = spdx {
+  eupl11 = {
     spdxId = "EUPL-1.1";
     fullName = "European Union Public License 1.1";
   };
 
-  eupl12 = spdx {
+  eupl12 = {
     spdxId = "EUPL-1.2";
     fullName = "European Union Public License 1.2";
   };
 
-  fdl11Only = spdx {
+  fdl11Only = {
     spdxId = "GFDL-1.1-only";
     fullName = "GNU Free Documentation License v1.1 only";
   };
 
-  fdl11Plus = spdx {
+  fdl11Plus = {
     spdxId = "GFDL-1.1-or-later";
     fullName = "GNU Free Documentation License v1.1 or later";
   };
 
-  fdl12Only = spdx {
+  fdl12Only = {
     spdxId = "GFDL-1.2-only";
     fullName = "GNU Free Documentation License v1.2 only";
   };
 
-  fdl12Plus = spdx {
+  fdl12Plus = {
     spdxId = "GFDL-1.2-or-later";
     fullName = "GNU Free Documentation License v1.2 or later";
   };
 
-  fdl13Only = spdx {
+  fdl13Only = {
     spdxId = "GFDL-1.3-only";
     fullName = "GNU Free Documentation License v1.3 only";
   };
 
-  fdl13Plus = spdx {
+  fdl13Plus = {
     spdxId = "GFDL-1.3-or-later";
     fullName = "GNU Free Documentation License v1.3 or later";
   };
@@ -346,7 +358,7 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
     fullName = "Unspecified free software license";
   };
 
-  ftl = spdx {
+  ftl = {
     spdxId = "FTL";
     fullName = "Freetype Project License";
   };
@@ -362,22 +374,22 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
     free = false;
   };
 
-  gpl1Only = spdx {
+  gpl1Only = {
     spdxId = "GPL-1.0-only";
     fullName = "GNU General Public License v1.0 only";
   };
 
-  gpl1Plus = spdx {
+  gpl1Plus = {
     spdxId = "GPL-1.0-or-later";
     fullName = "GNU General Public License v1.0 or later";
   };
 
-  gpl2Only = spdx {
+  gpl2Only = {
     spdxId = "GPL-2.0-only";
     fullName = "GNU General Public License v2.0 only";
   };
 
-  gpl2Classpath = spdx {
+  gpl2Classpath = {
     spdxId = "GPL-2.0-with-classpath-exception";
     fullName = "GNU General Public License v2.0 only (with Classpath exception)";
   };
@@ -392,17 +404,17 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
     url = "https://www.mysql.com/about/legal/licensing/foss-exception";
   };
 
-  gpl2Plus = spdx {
+  gpl2Plus = {
     spdxId = "GPL-2.0-or-later";
     fullName = "GNU General Public License v2.0 or later";
   };
 
-  gpl3Only = spdx {
+  gpl3Only = {
     spdxId = "GPL-3.0-only";
     fullName = "GNU General Public License v3.0 only";
   };
 
-  gpl3Plus = spdx {
+  gpl3Plus = {
     spdxId = "GPL-3.0-or-later";
     fullName = "GNU General Public License v3.0 or later";
   };
@@ -412,12 +424,12 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
     url = "https://fedoraproject.org/wiki/Licensing/GPL_Classpath_Exception";
   };
 
-  hpnd = spdx {
+  hpnd = {
     spdxId = "HPND";
     fullName = "Historic Permission Notice and Disclaimer";
   };
 
-  hpndSellVariant = spdx {
+  hpndSellVariant = {
     fullName = "Historical Permission Notice and Disclaimer - sell variant";
     spdxId = "HPND-sell-variant";
   };
@@ -428,39 +440,39 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
     url = "https://old.calculate-linux.org/packages/licenses/iASL";
   };
 
-  ijg = spdx {
+  ijg = {
     spdxId = "IJG";
     fullName = "Independent JPEG Group License";
   };
 
-  imagemagick = spdx {
+  imagemagick = {
     fullName = "ImageMagick License";
     spdxId = "imagemagick";
   };
 
   inria-compcert = {
     fullName  = "INRIA Non-Commercial License Agreement for the CompCert verified compiler";
-    url       = "http://compcert.inria.fr/doc/LICENSE"; # https is broken
+    url       = "https://compcert.org/doc/LICENSE.txt";
     free      = false;
   };
 
   inria-icesl = {
     fullName = "INRIA Non-Commercial License Agreement for IceSL";
-    url      = "http://shapeforge.loria.fr/icesl/EULA_IceSL_binary.pdf"; # https is broken
+    url      = "https://icesl.loria.fr/assets/pdf/EULA_IceSL_binary.pdf";
     free     = false;
   };
 
-  ipa = spdx {
+  ipa = {
     spdxId = "IPA";
     fullName = "IPA Font License";
   };
 
-  ipl10 = spdx {
+  ipl10 = {
     spdxId = "IPL-1.0";
     fullName = "IBM Public License v1.0";
   };
 
-  isc = spdx {
+  isc = {
     spdxId = "ISC";
     fullName = "ISC License";
   };
@@ -478,52 +490,52 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
     free = false;
   };
 
-  lgpl2Only = spdx {
+  lgpl2Only = {
     spdxId = "LGPL-2.0-only";
     fullName = "GNU Library General Public License v2 only";
   };
 
-  lgpl2Plus = spdx {
+  lgpl2Plus = {
     spdxId = "LGPL-2.0-or-later";
     fullName = "GNU Library General Public License v2 or later";
   };
 
-  lgpl21Only = spdx {
+  lgpl21Only = {
     spdxId = "LGPL-2.1-only";
     fullName = "GNU Lesser General Public License v2.1 only";
   };
 
-  lgpl21Plus = spdx {
+  lgpl21Plus = {
     spdxId = "LGPL-2.1-or-later";
     fullName = "GNU Lesser General Public License v2.1 or later";
   };
 
-  lgpl3Only = spdx {
+  lgpl3Only = {
     spdxId = "LGPL-3.0-only";
     fullName = "GNU Lesser General Public License v3.0 only";
   };
 
-  lgpl3Plus = spdx {
+  lgpl3Plus = {
     spdxId = "LGPL-3.0-or-later";
     fullName = "GNU Lesser General Public License v3.0 or later";
   };
 
-  lgpllr = spdx {
+  lgpllr = {
     spdxId = "LGPLLR";
     fullName = "Lesser General Public License For Linguistic Resources";
   };
 
-  libpng = spdx {
+  libpng = {
     spdxId = "Libpng";
     fullName = "libpng License";
   };
 
-  libpng2 = spdx {
+  libpng2 = {
     spdxId = "libpng-2.0"; # Used since libpng 1.6.36.
     fullName = "PNG Reference Library version 2";
   };
 
-  libtiff = spdx {
+  libtiff = {
     spdxId = "libtiff";
     fullName = "libtiff License";
   };
@@ -533,22 +545,22 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
     url = "https://opensource.franz.com/preamble.html";
   };
 
-  llvm-exception = spdx {
+  llvm-exception = {
     spdxId = "LLVM-exception";
     fullName = "LLVM Exception"; # LLVM exceptions to the Apache 2.0 License
   };
 
-  lppl12 = spdx {
+  lppl12 = {
     spdxId = "LPPL-1.2";
     fullName = "LaTeX Project Public License v1.2";
   };
 
-  lppl13c = spdx {
+  lppl13c = {
     spdxId = "LPPL-1.3c";
     fullName = "LaTeX Project Public License v1.3c";
   };
 
-  lpl-102 = spdx {
+  lpl-102 = {
     spdxId = "LPL-1.02";
     fullName = "Lucent Public License v1.02";
   };
@@ -560,43 +572,43 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
 
   # spdx.org does not (yet) differentiate between the X11 and Expat versions
   # for details see https://en.wikipedia.org/wiki/MIT_License#Various_versions
-  mit = spdx {
+  mit = {
     spdxId = "MIT";
     fullName = "MIT License";
   };
 
-  mpl10 = spdx {
+  mpl10 = {
     spdxId = "MPL-1.0";
     fullName = "Mozilla Public License 1.0";
   };
 
-  mpl11 = spdx {
+  mpl11 = {
     spdxId = "MPL-1.1";
     fullName = "Mozilla Public License 1.1";
   };
 
-  mpl20 = spdx {
+  mpl20 = {
     spdxId = "MPL-2.0";
     fullName = "Mozilla Public License 2.0";
   };
 
-  mspl = spdx {
+  mspl = {
     spdxId = "MS-PL";
     fullName = "Microsoft Public License";
   };
 
-  nasa13 = spdx {
+  nasa13 = {
     spdxId = "NASA-1.3";
     fullName = "NASA Open Source Agreement 1.3";
     free = false;
   };
 
-  ncsa = spdx {
+  ncsa = {
     spdxId = "NCSA";
     fullName  = "University of Illinois/NCSA Open Source License";
   };
 
-  nposl3 = spdx {
+  nposl3 = {
     spdxId = "NPOSL-3.0";
     fullName = "Non-Profit Open Software License 3.0";
   };
@@ -613,53 +625,53 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
     free = false;
   };
 
-  odbl = spdx {
+  odbl = {
     spdxId = "ODbL-1.0";
     fullName = "Open Data Commons Open Database License v1.0";
   };
 
-  ofl = spdx {
+  ofl = {
     spdxId = "OFL-1.1";
     fullName = "SIL Open Font License 1.1";
   };
 
-  openldap = spdx {
+  openldap = {
     spdxId = "OLDAP-2.8";
     fullName = "Open LDAP Public License v2.8";
   };
 
-  openssl = spdx {
+  openssl = {
     spdxId = "OpenSSL";
     fullName = "OpenSSL License";
   };
 
-  osl2 = spdx {
+  osl2 = {
     spdxId = "OSL-2.0";
     fullName = "Open Software License 2.0";
   };
 
-  osl21 = spdx {
+  osl21 = {
     spdxId = "OSL-2.1";
     fullName = "Open Software License 2.1";
   };
 
-  osl3 = spdx {
+  osl3 = {
     spdxId = "OSL-3.0";
     fullName = "Open Software License 3.0";
   };
 
-  parity70 = spdx {
+  parity70 = {
     spdxId = "Parity-7.0.0";
     fullName = "Parity Public License 7.0.0";
     url = "https://paritylicense.com/versions/7.0.0.html";
   };
 
-  php301 = spdx {
+  php301 = {
     spdxId = "PHP-3.01";
     fullName = "PHP License v3.01";
   };
 
-  postgresql = spdx {
+  postgresql = {
     spdxId = "PostgreSQL";
     fullName = "PostgreSQL License";
   };
@@ -670,7 +682,7 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
     free = false;
   };
 
-  psfl = spdx {
+  psfl = {
     spdxId = "Python-2.0";
     fullName = "Python Software Foundation License version 2";
     url = "https://docs.python.org/license.html";
@@ -691,12 +703,12 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
     url = "https://prosperitylicense.com/versions/3.0.0.html";
   };
 
-  qhull = spdx {
+  qhull = {
     spdxId = "Qhull";
     fullName = "Qhull License";
   };
 
-  qpl = spdx {
+  qpl = {
     spdxId = "QPL-1.0";
     fullName = "Q Public License 1.0";
   };
@@ -706,22 +718,22 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
     url = "https://qwt.sourceforge.io/qwtlicense.html";
   };
 
-  ruby = spdx {
+  ruby = {
     spdxId = "Ruby";
     fullName = "Ruby License";
   };
 
-  sendmail = spdx {
+  sendmail = {
     spdxId = "Sendmail";
     fullName = "Sendmail License";
   };
 
-  sgi-b-20 = spdx {
+  sgi-b-20 = {
     spdxId = "SGI-B-2.0";
     fullName = "SGI Free Software License B v2.0";
   };
 
-  sleepycat = spdx {
+  sleepycat = {
     spdxId = "Sleepycat";
     fullName = "Sleepycat License";
   };
@@ -737,6 +749,10 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
     fullName = "Server Side Public License";
     url = "https://www.mongodb.com/licensing/server-side-public-license";
     free = false;
+    # NOTE Debatable.
+    # The license a slightly modified AGPL but still considered unfree by the
+    # OSI for what seem like political reasons
+    redistributable = true; # Definitely redistributable though, it's an AGPL derivative
   };
 
   stk = {
@@ -745,7 +761,7 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
     url = "https://github.com/thestk/stk/blob/master/LICENSE";
   };
 
-  tcltk = spdx {
+  tcltk = {
     spdxId = "TCL";
     fullName = "TCL/TK License";
   };
@@ -763,25 +779,27 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
   unfreeRedistributable = {
     fullName = "Unfree redistributable";
     free = false;
+    redistributable = true;
   };
 
   unfreeRedistributableFirmware = {
     fullName = "Unfree redistributable firmware";
+    redistributable = true;
     # Note: we currently consider these "free" for inclusion in the
     # channel and NixOS images.
   };
 
-  unicode-dfs-2015 = spdx {
+  unicode-dfs-2015 = {
     spdxId = "Unicode-DFS-2015";
     fullName = "Unicode License Agreement - Data Files and Software (2015)";
   };
 
-  unicode-dfs-2016 = spdx {
+  unicode-dfs-2016 = {
     spdxId = "Unicode-DFS-2016";
     fullName = "Unicode License Agreement - Data Files and Software (2016)";
   };
 
-  unlicense = spdx {
+  unlicense = {
     spdxId = "Unlicense";
     fullName = "The Unlicense";
   };
@@ -791,7 +809,7 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
     url = "https://oss.oracle.com/licenses/upl/";
   };
 
-  vim = spdx {
+  vim = {
     spdxId = "Vim";
     fullName = "Vim License";
   };
@@ -802,17 +820,17 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
     free = false;
   };
 
-  vsl10 = spdx {
+  vsl10 = {
     spdxId = "VSL-1.0";
     fullName = "Vovida Software License v1.0";
   };
 
-  watcom = spdx {
+  watcom = {
     spdxId = "Watcom-1.0";
     fullName = "Sybase Open Watcom Public License 1.0";
   };
 
-  w3c = spdx {
+  w3c = {
     spdxId = "W3C";
     fullName = "W3C Software Notice and License";
   };
@@ -822,12 +840,12 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
     url = "https://fedoraproject.org/wiki/Licensing:Wadalab?rd=Licensing/Wadalab";
   };
 
-  wtfpl = spdx {
+  wtfpl = {
     spdxId = "WTFPL";
     fullName = "Do What The F*ck You Want To Public License";
   };
 
-  wxWindows = spdx {
+  wxWindows = {
     spdxId = "wxWindows";
     fullName = "wxWindows Library Licence, Version 3.1";
   };
@@ -837,68 +855,68 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
     url = "http://mcj.sourceforge.net/authors.html#xfig"; # https is broken
   };
 
-  zlib = spdx {
+  zlib = {
     spdxId = "Zlib";
     fullName = "zlib License";
   };
 
-  zpl20 = spdx {
+  zpl20 = {
     spdxId = "ZPL-2.0";
     fullName = "Zope Public License 2.0";
   };
 
-  zpl21 = spdx {
+  zpl21 = {
     spdxId = "ZPL-2.1";
     fullName = "Zope Public License 2.1";
   };
 } // {
   # TODO: remove legacy aliases
-  agpl3 = spdx {
+  agpl3 = {
     spdxId = "AGPL-3.0";
     fullName = "GNU Affero General Public License v3.0";
     deprecated = true;
   };
-  fdl11 = spdx {
+  fdl11 = {
     spdxId = "GFDL-1.1";
     fullName = "GNU Free Documentation License v1.1";
     deprecated = true;
   };
-  fdl12 = spdx {
+  fdl12 = {
     spdxId = "GFDL-1.2";
     fullName = "GNU Free Documentation License v1.2";
     deprecated = true;
   };
-  fdl13 = spdx {
+  fdl13 = {
     spdxId = "GFDL-1.3";
     fullName = "GNU Free Documentation License v1.3";
     deprecated = true;
   };
-  gpl1 = spdx {
+  gpl1 = {
     spdxId = "GPL-1.0";
     fullName = "GNU General Public License v1.0";
     deprecated = true;
   };
-  gpl2 = spdx {
+  gpl2 = {
     spdxId = "GPL-2.0";
     fullName = "GNU General Public License v2.0";
     deprecated = true;
   };
-  gpl3 = spdx {
+  gpl3 = {
     spdxId = "GPL-3.0";
     fullName = "GNU General Public License v3.0";
     deprecated = true;
   };
-  lgpl2 = spdx {
+  lgpl2 = {
     spdxId = "LGPL-2.0";
     fullName = "GNU Library General Public License v2";
     deprecated = true;
   };
-  lgpl21 = spdx {
+  lgpl21 = {
     spdxId = "LGPL-2.1";
     fullName = "GNU Lesser General Public License v2.1";
     deprecated = true;
   };
-  lgpl3 = spdx {
+  lgpl3 = {
     spdxId = "LGPL-3.0";
     fullName = "GNU Lesser General Public License v3.0";
     deprecated = true;
diff --git a/nixpkgs/lib/modules.nix b/nixpkgs/lib/modules.nix
index ab2bc4f7f8e2..b124ea000a2e 100644
--- a/nixpkgs/lib/modules.nix
+++ b/nixpkgs/lib/modules.nix
@@ -710,6 +710,7 @@ rec {
 
   mkOptionDefault = mkOverride 1500; # priority of option defaults
   mkDefault = mkOverride 1000; # used in config sections of non-user modules to set a default
+  mkImageMediaOverride = mkOverride 60; # image media profiles can be derived by inclusion into host config, hence needing to override host config, but do allow user to mkForce
   mkForce = mkOverride 50;
   mkVMOverride = mkOverride 10; # used by ‘nixos-rebuild build-vm’
 
diff --git a/nixpkgs/lib/options.nix b/nixpkgs/lib/options.nix
index 87cd8b797969..204c86df9f51 100644
--- a/nixpkgs/lib/options.nix
+++ b/nixpkgs/lib/options.nix
@@ -11,6 +11,7 @@ let
     filter
     foldl'
     head
+    tail
     isAttrs
     isBool
     isDerivation
@@ -144,7 +145,7 @@ rec {
       if def.value != first.value then
         throw "The option `${showOption loc}' has conflicting definition values:${showDefs [ first def ]}"
       else
-        first) (head defs) defs).value;
+        first) (head defs) (tail defs)).value;
 
   /* Extracts values of all "value" keys of the given list.
 
diff --git a/nixpkgs/lib/strings.nix b/nixpkgs/lib/strings.nix
index 86c92bdaa15b..a111e1e2597b 100644
--- a/nixpkgs/lib/strings.nix
+++ b/nixpkgs/lib/strings.nix
@@ -89,7 +89,7 @@ rec {
         => "usr/local/bin"
   */
   concatStringsSep = builtins.concatStringsSep or (separator: list:
-    concatStrings (intersperse separator list));
+    lib.foldl' (x: y: x + y) "" (intersperse separator list));
 
   /* Maps a function over a list of strings and then concatenates the
      result with the specified separator interspersed between
diff --git a/nixpkgs/lib/systems/doubles.nix b/nixpkgs/lib/systems/doubles.nix
index 61ba7dad7cc7..e577059687b0 100644
--- a/nixpkgs/lib/systems/doubles.nix
+++ b/nixpkgs/lib/systems/doubles.nix
@@ -26,21 +26,22 @@ let
 
     # Linux
     "aarch64-linux" "armv5tel-linux" "armv6l-linux" "armv7a-linux"
-    "armv7l-linux" "i686-linux" "mipsel-linux" "powerpc64-linux"
-    "powerpc64le-linux" "riscv32-linux" "riscv64-linux" "x86_64-linux"
+    "armv7l-linux" "i686-linux" "m68k-linux" "mipsel-linux"
+    "powerpc64-linux" "powerpc64le-linux" "riscv32-linux"
+    "riscv64-linux" "s390-linux" "x86_64-linux"
 
     # MMIXware
     "mmix-mmixware"
 
     # NetBSD
     "aarch64-netbsd" "armv6l-netbsd" "armv7a-netbsd" "armv7l-netbsd"
-    "i686-netbsd" "mipsel-netbsd" "powerpc-netbsd" "riscv32-netbsd"
-    "riscv64-netbsd" "x86_64-netbsd"
+    "i686-netbsd" "m68k-netbsd" "mipsel-netbsd" "powerpc-netbsd"
+    "riscv32-netbsd" "riscv64-netbsd" "x86_64-netbsd"
 
     # none
-    "aarch64-none" "arm-none" "armv6l-none" "avr-none" "i686-none" "msp430-none"
-    "or1k-none" "powerpc-none" "riscv32-none" "riscv64-none" "vc4-none"
-    "x86_64-none"
+    "aarch64-none" "arm-none" "armv6l-none" "avr-none" "i686-none"
+    "msp430-none" "or1k-none" "m68k-none" "powerpc-none"
+    "riscv32-none" "riscv64-none" "s390-none" "vc4-none" "x86_64-none"
 
     # OpenBSD
     "i686-openbsd" "x86_64-openbsd"
@@ -74,6 +75,8 @@ in {
   riscv         = filterDoubles predicates.isRiscV;
   vc4           = filterDoubles predicates.isVc4;
   or1k          = filterDoubles predicates.isOr1k;
+  m68k          = filterDoubles predicates.isM68k;
+  s390          = filterDoubles predicates.isS390;
   js            = filterDoubles predicates.isJavaScript;
 
   bigEndian     = filterDoubles predicates.isBigEndian;
diff --git a/nixpkgs/lib/systems/examples.nix b/nixpkgs/lib/systems/examples.nix
index 6a8f4e091aae..32b236d6960c 100644
--- a/nixpkgs/lib/systems/examples.nix
+++ b/nixpkgs/lib/systems/examples.nix
@@ -144,6 +144,14 @@ rec {
     libc = "newlib";
   };
 
+  m68k = {
+    config = "m68k-unknown-linux-gnu";
+  };
+
+  s390 = {
+    config = "s390-unknown-linux-gnu";
+  };
+
   arm-embedded = {
     config = "arm-none-eabi";
     libc = "newlib";
diff --git a/nixpkgs/lib/systems/inspect.nix b/nixpkgs/lib/systems/inspect.nix
index d2b7271210cd..718954e0839a 100644
--- a/nixpkgs/lib/systems/inspect.nix
+++ b/nixpkgs/lib/systems/inspect.nix
@@ -26,6 +26,8 @@ rec {
     isAvr          = { cpu = { family = "avr"; }; };
     isAlpha        = { cpu = { family = "alpha"; }; };
     isOr1k         = { cpu = { family = "or1k"; }; };
+    isM68k         = { cpu = { family = "m68k"; }; };
+    isS390         = { cpu = { family = "s390"; }; };
     isJavaScript   = { cpu = cpuTypes.js; };
 
     is32bit        = { cpu = { bits = 32; }; };
@@ -54,6 +56,7 @@ rec {
     isNone         = { kernel = kernels.none; };
 
     isAndroid      = [ { abi = abis.android; } { abi = abis.androideabi; } ];
+    isGnu          = with abis; map (a: { abi = a; }) [ gnuabi64 gnu gnueabi gnueabihf ];
     isMusl         = with abis; map (a: { abi = a; }) [ musl musleabi musleabihf ];
     isUClibc       = with abis; map (a: { abi = a; }) [ uclibc uclibceabi uclibceabihf ];
 
diff --git a/nixpkgs/lib/systems/parse.nix b/nixpkgs/lib/systems/parse.nix
index 2b789fd8ecb3..77e941a913cf 100644
--- a/nixpkgs/lib/systems/parse.nix
+++ b/nixpkgs/lib/systems/parse.nix
@@ -95,6 +95,8 @@ rec {
 
     mmix     = { bits = 64; significantByte = bigEndian;    family = "mmix"; };
 
+    m68k     = { bits = 32; significantByte = bigEndian; family = "m68k"; };
+
     powerpc  = { bits = 32; significantByte = bigEndian;    family = "power"; };
     powerpc64 = { bits = 64; significantByte = bigEndian; family = "power"; };
     powerpc64le = { bits = 64; significantByte = littleEndian; family = "power"; };
@@ -103,6 +105,8 @@ rec {
     riscv32  = { bits = 32; significantByte = littleEndian; family = "riscv"; };
     riscv64  = { bits = 64; significantByte = littleEndian; family = "riscv"; };
 
+    s390     = { bits = 32; significantByte = bigEndian; family = "s390"; };
+
     sparc    = { bits = 32; significantByte = bigEndian;    family = "sparc"; };
     sparc64  = { bits = 64; significantByte = bigEndian;    family = "sparc"; };
 
@@ -123,9 +127,10 @@ rec {
 
   # GNU build systems assume that older NetBSD architectures are using a.out.
   gnuNetBSDDefaultExecFormat = cpu:
-    if (cpu.family == "x86" && cpu.bits == 32) ||
-       (cpu.family == "arm" && cpu.bits == 32) ||
-       (cpu.family == "sparc" && cpu.bits == 32)
+    if (cpu.family == "arm" && cpu.bits == 32) ||
+       (cpu.family == "sparc" && cpu.bits == 32) ||
+       (cpu.family == "m68k" && cpu.bits == 32) ||
+       (cpu.family == "x86" && cpu.bits == 32)
     then execFormats.aout
     else execFormats.elf;
 
diff --git a/nixpkgs/lib/systems/platforms.nix b/nixpkgs/lib/systems/platforms.nix
index 92285346f754..2a5f630c3de9 100644
--- a/nixpkgs/lib/systems/platforms.nix
+++ b/nixpkgs/lib/systems/platforms.nix
@@ -233,7 +233,7 @@ rec {
     };
   };
 
-  scaleway-c1 = lib.recursiveUpdate armv7l-hf-multiplatform {
+  scaleway-c1 = armv7l-hf-multiplatform // {
     gcc = {
       cpu = "cortex-a9";
       fpu = "vfpv3";
@@ -315,6 +315,12 @@ rec {
         # Disable OABI to have seccomp_filter (required for systemd)
         # https://github.com/raspberrypi/firmware/issues/651
         OABI_COMPAT n
+
+        # >=5.12 fails with:
+        # drivers/net/ethernet/micrel/ks8851_common.o: in function `ks8851_probe_common':
+        # ks8851_common.c:(.text+0x179c): undefined reference to `__this_module'
+        # See: https://lore.kernel.org/netdev/20210116164828.40545-1-marex@denx.de/T/
+        KS8851_MLL y
       '';
     };
     gcc = {
diff --git a/nixpkgs/lib/tests/maintainers.nix b/nixpkgs/lib/tests/maintainers.nix
index d3ed398c80a1..2408a20af4b7 100644
--- a/nixpkgs/lib/tests/maintainers.nix
+++ b/nixpkgs/lib/tests/maintainers.nix
@@ -61,9 +61,9 @@ let
 
   missingGithubIds = lib.concatLists (lib.mapAttrsToList checkMaintainer lib.maintainers);
 
-  success = pkgs.runCommandNoCC "checked-maintainers-success" {} ">$out";
+  success = pkgs.runCommand "checked-maintainers-success" {} ">$out";
 
-  failure = pkgs.runCommandNoCC "checked-maintainers-failure" {
+  failure = pkgs.runCommand "checked-maintainers-failure" {
     nativeBuildInputs = [ pkgs.curl pkgs.jq ];
     outputHash = "sha256:${lib.fakeSha256}";
     outputHAlgo = "sha256";
diff --git a/nixpkgs/lib/tests/misc.nix b/nixpkgs/lib/tests/misc.nix
index 0d249968402d..4b2e5afc1d60 100644
--- a/nixpkgs/lib/tests/misc.nix
+++ b/nixpkgs/lib/tests/misc.nix
@@ -132,6 +132,16 @@ runTests {
     expected = [ 1 1 0 ];
   };
 
+  testFunctionArgsFunctor = {
+    expr = functionArgs { __functor = self: { a, b }: null; };
+    expected = { a = false; b = false; };
+  };
+
+  testFunctionArgsSetFunctionArgs = {
+    expr = functionArgs (setFunctionArgs (args: args.x) { x = false; });
+    expected = { x = false; };
+  };
+
 # STRINGS
 
   testConcatMapStrings = {
diff --git a/nixpkgs/lib/tests/release.nix b/nixpkgs/lib/tests/release.nix
index c3b05251f709..77e0e1af7555 100644
--- a/nixpkgs/lib/tests/release.nix
+++ b/nixpkgs/lib/tests/release.nix
@@ -3,7 +3,7 @@
   pkgs ? import ../.. {} // { lib = throw "pkgs.lib accessed, but the lib tests should use nixpkgs' lib path directly!"; }
 }:
 
-pkgs.runCommandNoCC "nixpkgs-lib-tests" {
+pkgs.runCommand "nixpkgs-lib-tests" {
   buildInputs = [
     pkgs.nix
     (import ./check-eval.nix)
diff --git a/nixpkgs/lib/tests/systems.nix b/nixpkgs/lib/tests/systems.nix
index 36f82b783b41..661b9bc8690c 100644
--- a/nixpkgs/lib/tests/systems.nix
+++ b/nixpkgs/lib/tests/systems.nix
@@ -28,8 +28,8 @@ with lib.systems.doubles; lib.runTests {
   testredox = mseteq redox [ "x86_64-redox" ];
   testgnu = mseteq gnu (linux /* ++ kfreebsd ++ ... */);
   testillumos = mseteq illumos [ "x86_64-solaris" ];
-  testlinux = mseteq linux [ "aarch64-linux" "armv5tel-linux" "armv6l-linux" "armv7a-linux" "armv7l-linux" "i686-linux" "mipsel-linux" "riscv32-linux" "riscv64-linux" "x86_64-linux" "powerpc64-linux" "powerpc64le-linux" ];
-  testnetbsd = mseteq netbsd [ "aarch64-netbsd" "armv6l-netbsd" "armv7a-netbsd" "armv7l-netbsd" "i686-netbsd" "mipsel-netbsd" "powerpc-netbsd" "riscv32-netbsd" "riscv64-netbsd" "x86_64-netbsd" ];
+  testlinux = mseteq linux [ "aarch64-linux" "armv5tel-linux" "armv6l-linux" "armv7a-linux" "armv7l-linux" "i686-linux" "mipsel-linux" "riscv32-linux" "riscv64-linux" "x86_64-linux" "powerpc64-linux" "powerpc64le-linux" "m68k-linux" "s390-linux" ];
+  testnetbsd = mseteq netbsd [ "aarch64-netbsd" "armv6l-netbsd" "armv7a-netbsd" "armv7l-netbsd" "i686-netbsd" "m68k-netbsd" "mipsel-netbsd" "powerpc-netbsd" "riscv32-netbsd" "riscv64-netbsd" "x86_64-netbsd" ];
   testopenbsd = mseteq openbsd [ "i686-openbsd" "x86_64-openbsd" ];
   testwindows = mseteq windows [ "i686-cygwin" "x86_64-cygwin" "i686-windows" "x86_64-windows" ];
   testunix = mseteq unix (linux ++ darwin ++ freebsd ++ openbsd ++ netbsd ++ illumos ++ cygwin ++ redox);
diff --git a/nixpkgs/lib/trivial.nix b/nixpkgs/lib/trivial.nix
index e1581f1e91d6..7956ba4bde6f 100644
--- a/nixpkgs/lib/trivial.nix
+++ b/nixpkgs/lib/trivial.nix
@@ -308,7 +308,7 @@ rec {
 
   info = msg: builtins.trace "INFO: ${msg}";
 
-  showWarnings = warnings: res: lib.fold (w: x: warn w x) res warnings;
+  showWarnings = warnings: res: lib.foldr (w: x: warn w x) res warnings;
 
   ## Function annotations
 
@@ -334,7 +334,10 @@ rec {
      has the same return type and semantics as builtins.functionArgs.
      setFunctionArgs : (a → b) → Map String Bool.
   */
-  functionArgs = f: f.__functionArgs or (builtins.functionArgs f);
+  functionArgs = f:
+    if f ? __functor
+    then f.__functionArgs or (lib.functionArgs (f.__functor f))
+    else builtins.functionArgs f;
 
   /* Check whether something is a function or something
      annotated with function args.
diff --git a/nixpkgs/lib/types.nix b/nixpkgs/lib/types.nix
index c35f055e17f5..a0be2ff3a452 100644
--- a/nixpkgs/lib/types.nix
+++ b/nixpkgs/lib/types.nix
@@ -287,6 +287,13 @@ rec {
       merge = mergeEqualOption;
     };
 
+    nonEmptyStr = mkOptionType {
+      name = "nonEmptyStr";
+      description = "non-empty string";
+      check = x: str.check x && builtins.match "[ \t\n]*" x == null;
+      inherit (str) merge;
+    };
+
     strMatching = pattern: mkOptionType {
       name = "strMatching ${escapeNixString pattern}";
       description = "string matching the pattern ${pattern}";
diff --git a/nixpkgs/maintainers/maintainer-list.nix b/nixpkgs/maintainers/maintainer-list.nix
index f6bc656610f8..09c65a77fde0 100644
--- a/nixpkgs/maintainers/maintainer-list.nix
+++ b/nixpkgs/maintainers/maintainer-list.nix
@@ -80,6 +80,12 @@
     githubId = 791309;
     name = "Jan Hrnko";
   };
+  _1000teslas = {
+    name = "Kevin Tran";
+    email = "47207223+1000teslas@users.noreply.github.com";
+    github = "1000teslas";
+    githubId = 47207223;
+  };
   _3699n = {
     email = "nicholas@nvk.pm";
     github = "3699n";
@@ -390,6 +396,12 @@
     githubId = 1318982;
     name = "Anders Claesson";
   };
+  akho = {
+    name = "Alexander Khodyrev";
+    email = "a@akho.name";
+    github = "akho";
+    githubId = 104951;
+  };
   akru = {
     email = "mail@akru.me";
     github = "akru";
@@ -1312,6 +1324,12 @@
     githubId = 7346933;
     name = "betaboon";
   };
+  bew = {
+    email = "benoit.dechezelles@gmail.com";
+    github = "bew";
+    githubId = 9730330;
+    name = "Benoit de Chezelles";
+  };
   bfortz = {
     email = "bernard.fortz@gmail.com";
     github = "bfortz";
@@ -1412,6 +1430,12 @@
     githubId = 10221570;
     name = "Bo Bakker";
   };
+  bobby285271 = {
+    name = "Bobby Rong";
+    email = "rjl931189261@126.com";
+    github = "bobby285271";
+    githubId = 20080233;
+  };
   bobvanderlinden = {
     email = "bobvanderlinden@gmail.com";
     github = "bobvanderlinden";
@@ -1530,6 +1554,12 @@
     githubId = 1111035;
     name = "Break Yang";
   };
+  brecht = {
+    email = "brecht.savelkoul@alumni.lse.ac.uk";
+    github = "brechtcs";
+    githubId = 6107054;
+    name = "Brecht Savelkoul";
+  };
   brettlyons = {
     email = "blyons@fastmail.com";
     github = "brettlyons";
@@ -1899,6 +1929,12 @@
     githubId = 811527;
     name = "Christopher Jefferson";
   };
+  chrispickard = {
+    email = "chrispickard9@gmail.com";
+    github = "chrispickard";
+    githubId = 1438690;
+    name = "Chris Pickard";
+  };
   chrisrosset = {
     email = "chris@rosset.org.uk";
     github = "chrisrosset";
@@ -2265,6 +2301,12 @@
       fingerprint = "1C4E F4FE 7F8E D8B7 1E88 CCDF BAB1 D15F B7B4 D4CE";
     }];
   };
+  d-xo = {
+    email = "hi@d-xo.org";
+    github = "d-xo";
+    githubId = 6689924;
+    name = "David Terry";
+  };
   dadada = {
     name = "dadada";
     email = "dadada@dadada.li";
@@ -3219,6 +3261,12 @@
       fingerprint = "2D37 1AD2 7E2B BC77 97E1  B759 6C79 278F 3FCD CC02";
     }];
   };
+  ereslibre = {
+    email = "ereslibre@ereslibre.es";
+    github = "ereslibre";
+    githubId = 8706;
+    name = "Rafael Fernández López";
+  };
   ericbmerritt = {
     email = "eric@afiniate.com";
     github = "ericbmerritt";
@@ -3383,6 +3431,12 @@
     githubId = 454695;
     name = "Artur Taranchiev";
   };
+  exarkun = {
+    email = "exarkun@twistedmatrix.com";
+    github = "exarkun";
+    githubId = 254565;
+    name = "Jean-Paul Calderone";
+  };
   exfalso = {
     email = "0slemi0@gmail.com";
     github = "exfalso";
@@ -3441,6 +3495,12 @@
       fingerprint = "2F6C 930F D3C4 7E38 6AFA  4EB4 E23C D2DD 36A4 397F";
     }];
   };
+  fabiangd = {
+    email = "fabian.g.droege@gmail.com";
+    name = "Fabian G. Dröge";
+    github = "FabianGD";
+    githubId = 40316600;
+  };
   fabianhauser = {
     email = "fabian.nixos@fh2.ch";
     github = "fabianhauser";
@@ -3573,6 +3633,12 @@
       fingerprint = "2F93 661D AC17 EA98 A104  F780 ECC7 55EE 583C 1672";
     }];
   };
+  flexagoon = {
+    email = "flexagoon@pm.me";
+    github = "flexagoon";
+    githubId = 66178592;
+    name = "Pavel Zolotarevskiy";
+  };
   flexw = {
     email = "felix.weilbach@t-online.de";
     github = "FlexW";
@@ -3989,6 +4055,16 @@
       fingerprint = "5214 2D39 A7CE F8FA 872B  CA7F DE62 E1E2 A614 5556";
     }];
   };
+  gpanders = {
+    name = "Gregory Anders";
+    email = "greg@gpanders.com";
+    github = "gpanders";
+    githubId = 8965202;
+    keys = [{
+      longkeyid = "rsa2048/0x56E93C2FB6B08BDB";
+      fingerprint = "B9D5 0EDF E95E ECD0 C135  00A9 56E9 3C2F B6B0 8BDB";
+    }];
+  };
   gpyh = {
     email = "yacine.hmito@gmail.com";
     github = "yacinehmito";
@@ -4195,6 +4271,16 @@
     githubId = 147689;
     name = "Hans-Christian Esperer";
   };
+  hdhog = {
+    name = "Serg Larchenko";
+    email = "hdhog@hdhog.ru";
+    github = "hdhog";
+    githubId = 386666;
+    keys = [{
+      longkeyid = "rsa496/952EACB76703BA63";
+      fingerprint = "A25F 6321 AAB4 4151 4085  9924 952E ACB7 6703 BA63";
+    }];
+  };
   hectorj = {
     email = "hector.jusforgues+nixos@gmail.com";
     github = "hectorj";
@@ -4249,6 +4335,12 @@
     githubId = 131599;
     name = "Martin Weinelt";
   };
+  hexagonal-sun = {
+    email = "dev@mattleach.net";
+    github = "hexagonal-sun";
+    githubId = 222664;
+    name = "Matthew Leach";
+  };
   hh = {
     email = "hh@m-labs.hk";
     github = "HarryMakes";
@@ -4529,6 +4621,12 @@
     githubId = 592849;
     name = "Ilya Kolpakov";
   };
+  ilyakooo0 = {
+    name = "Ilya Kostyuchenko";
+    email = "ilyakooo0@gmail.com";
+    github = "ilyakooo0";
+    githubId = 6209627;
+  };
   imalison = {
     email = "IvanMalison@gmail.com";
     github = "IvanMalison";
@@ -4697,6 +4795,12 @@
     githubId = 40566146;
     name = "Jonas Braun";
   };
+  j-hui = {
+    email = "j-hui@cs.columbia.edu";
+    github = "j-hui";
+    githubId = 11800204;
+    name = "John Hui";
+  };
   j-keck = {
     email = "jhyphenkeck@gmail.com";
     github = "j-keck";
@@ -4857,6 +4961,12 @@
     github = "jduan";
     githubId = 452450;
   };
+  jecaro = {
+    email = "jeancharles.quillet@gmail.com";
+    github = "jecaro";
+    githubId = 17029738;
+    name = "Jean-Charles Quillet";
+  };
   jefdaj = {
     email = "jefdaj@gmail.com";
     github = "jefdaj";
@@ -4927,6 +5037,12 @@
       fingerprint = "7EB1 C02A B62B B464 6D7C  E4AE D1D0 9DE1 69EA 19A0";
     }];
   };
+  jgart = {
+    email = "jgart@dismail.de";
+    github = "jgarte";
+    githubId = 47760695;
+    name = "Jorge Gomez";
+  };
   jgeerds = {
     email = "jascha@geerds.org";
     github = "jgeerds";
@@ -5216,6 +5332,12 @@
     githubId = 20675;
     name = "Joël Perras";
   };
+  jpetrucciani = {
+    email = "j@cobi.dev";
+    github = "jpetrucciani";
+    githubId = 8117202;
+    name = "Jacobi Petrucciani";
+  };
   jpierre03 = {
     email = "nix@prunetwork.fr";
     github = "jpierre03";
@@ -5282,7 +5404,7 @@
   };
   juaningan = {
     email = "juaningan@gmail.com";
-    github = "juaningan";
+    github = "uningan";
     githubId = 810075;
     name = "Juan Rodal";
   };
@@ -5592,6 +5714,16 @@
     githubId = 148352;
     name = "Jim Fowler";
   };
+  kittywitch = {
+    email = "kat@kittywit.ch";
+    github = "kittywitch";
+    githubId = 67870215;
+    name = "kat witch";
+    keys = [{
+      longkeyid = "rsa4096/0x7248991EFA8EFBEE";
+      fingerprint = "01F5 0A29 D4AA 9117 5A11  BDB1 7248 991E FA8E FBEE";
+     }];
+  };
   kiwi = {
     email = "envy1988@gmail.com";
     github = "Kiwi";
@@ -5791,6 +5923,12 @@
     githubId = 278013;
     name = "Tomasz Kontusz";
   };
+  kurnevsky = {
+    email = "kurnevsky@gmail.com";
+    github = "kurnevsky";
+    githubId = 2943605;
+    name = "Evgeny Kurnevsky";
+  };
   kuznero = {
     email = "roman@kuznero.com";
     github = "kuznero";
@@ -5918,6 +6056,12 @@
     githubId = 1104419;
     name = "Lucas Hoffmann";
   };
+  lde = {
+    email = "lilian.deloche@puck.fr";
+    github = "lde";
+    githubId = 1447020;
+    name = "Lilian Deloche";
+  };
   ldelelis = {
     email = "ldelelis@est.frba.utn.edu.ar";
     github = "ldelelis";
@@ -6568,6 +6712,22 @@
     githubId = 775189;
     name = "Jordi Masip";
   };
+  MaskedBelgian = {
+    email = "michael.colicchia@imio.be";
+    github = "MaskedBelgian";
+    githubId = 29855073;
+    name = "Michael Colicchia";
+  };
+  matdsoupe = {
+    github = "matdsoupe";
+    githubId = 44469426;
+    name = "Matheus de Souza Pessanha";
+    email = "matheus_pessanha2001@outlook.com";
+    keys = [{
+      longkeyid = "rsa4096/0x2671964AB1E06A08";
+      fingerprint = "2F32 CFEF E11A D73B A740  FA47 2671 964A B1E0 6A08";
+    }];
+  };
   matejc = {
     email = "cotman.matej@gmail.com";
     github = "matejc";
@@ -6646,6 +6806,12 @@
     githubId = 35892750;
     name = "Maxine Aubrey";
   };
+  maxhille = {
+    email = "mh@lambdasoup.com";
+    github = "maxhille";
+    githubId = 693447;
+    name = "Max Hille";
+  };
   maxhbr = {
     email = "nixos@maxhbr.dev";
     github = "maxhbr";
@@ -6768,16 +6934,6 @@
       fingerprint = "D709 03C8 0BE9 ACDC 14F0  3BFB 77BF E531 397E DE94";
     }];
   };
-  mdsp = {
-    github = "Mdsp9070";
-    githubId = 44469426;
-    name = "Matheus de Souza Pessanha";
-    email = "matheus_pessanha2001@outlook.com";
-    keys = [{
-      longkeyid = "rsa4096/6DFD656220A3B849";
-      fingerprint = "2D4D 488F 17FB FF75 664E  C016 6DFD 6562 20A3 B849";
-    }];
-  };
   meatcar = {
     email = "nixpkgs@denys.me";
     github = "meatcar";
@@ -6901,6 +7057,12 @@
       fingerprint = "3DEE 1C55 6E1C 3DC5 54F5  875A 003F 2096 411B 5F92";
     }];
   };
+  michaeladler = {
+    email = "therisen06@gmail.com";
+    github = "michaeladler";
+    githubId = 1575834;
+    name = "Michael Adler";
+  };
   michaelpj = {
     email = "michaelpj@gmail.com";
     github = "michaelpj";
@@ -7307,6 +7469,16 @@
     name = "Maxim Schuwalow";
     email = "maxim.schuwalow@gmail.com";
   };
+  msfjarvis = {
+    github = "msfjarvis";
+    githubId = 3348378;
+    name = "Harsh Shandilya";
+    email = "nixos@msfjarvis.dev";
+    keys = [{
+      longkeyid = "rsa4096/0xB7843F823355E9B9";
+      fingerprint = "8F87 050B 0F9C B841 1515  7399 B784 3F82 3355 E9B9";
+    }];
+  };
   msiedlarek = {
     email = "mikolaj@siedlarek.pl";
     github = "msiedlarek";
@@ -7447,6 +7619,12 @@
     email = "natedevv@gmail.com";
     name = "Nathan Moore";
   };
+  nathanruiz = {
+    email = "nathanruiz@protonmail.com";
+    github = "nathanruiz";
+    githubId = 18604892;
+    name = "Nathan Ruiz";
+  };
   nathan-gs = {
     email = "nathan@nathan.gs";
     github = "nathan-gs";
@@ -7511,6 +7689,12 @@
     githubId = 628342;
     name = "Tim Steinbach";
   };
+  nerdypepper = {
+    email = "nerdy@peppe.rs";
+    github = "nerdypepper";
+    githubId = 23743547;
+    name = "Akshay Oppiliappan";
+  };
   nessdoor = {
     name = "Tomas Antonio Lopez";
     email = "entropy.overseer@protonmail.com";
@@ -7802,6 +7986,12 @@
     githubId = 1839979;
     name = "Niklas Thörne";
   };
+  nukaduka = {
+    email = "ksgokte@gmail.com";
+    github = "NukaDuka";
+    githubId = 22592293;
+    name = "Kartik Gokte";
+  };
   nullx76 = {
     email = "nix@xirion.net";
     github = "NULLx76";
@@ -8492,6 +8682,12 @@
     github = "polygon";
     githubId = 51489;
   };
+  polykernel = {
+    email = "81340136+polykernel@users.noreply.github.com";
+    github = "polykernel";
+    githubId = 81340136;
+    name = "polykernel";
+  };
   polyrod = {
     email = "dc1mdp@gmail.com";
     github = "polyrod";
@@ -8662,6 +8858,12 @@
     githubId = 5636;
     name = "Steve Purcell";
   };
+  putchar = {
+    email = "slim.cadoux@gmail.com";
+    github = "putchar";
+    githubId = 8208767;
+    name = "Slim Cadoux";
+  };
   puzzlewolf = {
     email = "nixos@nora.pink";
     github = "puzzlewolf";
@@ -9574,6 +9776,18 @@
     githubId = 1567527;
     name = "Sebastian Hyberts";
   };
+  sebbel = {
+    email = "hej@sebastian-ball.de";
+    github = "sebbel";
+    githubId = 1940568;
+    name = "Sebastian Ball";
+  };
+  sebtm = {
+    email = "mail@sebastian-sellmeier.de";
+    github = "sebtm";
+    githubId = 17243347;
+    name = "Sebastian Sellmeier";
+  };
   sellout = {
     email = "greg@technomadic.org";
     github = "sellout";
@@ -9894,6 +10108,12 @@
       fingerprint = "6F8A 18AE 4101 103F 3C54  24B9 6AA2 3A11 93B7 064B";
     }];
   };
+  smancill = {
+    email = "smancill@smancill.dev";
+    github = "smancill";
+    githubId = 238528;
+    name = "Sebastián Mancilla";
+  };
   smaret = {
     email = "sebastien.maret@icloud.com";
     github = "smaret";
@@ -10064,6 +10284,12 @@
     githubId = 8668915;
     name = "Stephane Schitter";
   };
+  staccato = {
+    name = "staccato";
+    email = "moveq@riseup.net";
+    github = "staccato";
+    githubId = 86573128;
+  };
   steell = {
     email = "steve@steellworks.com";
     github = "Steell";
@@ -10128,6 +10354,12 @@
     githubId = 1829294;
     name = "Steve Chávez";
   };
+  stevebob = {
+    email = "stephen@sherra.tt";
+    github = "stevebob";
+    githubId = 417118;
+    name = "Stephen Sherratt";
+  };
   steveej = {
     email = "mail@stefanjunker.de";
     github = "steveej";
@@ -10964,6 +11196,12 @@
       fingerprint = "E631 8869 586F 99B4 F6E6  D785 5942 58F0 389D 2802";
     }];
   };
+  twitchyliquid64 = {
+    name = "Tom";
+    email = "twitchyliquid64@ciphersink.net";
+    github = "twitchyliquid64";
+    githubId = 6328589;
+  };
   typetetris = {
     email = "ericwolf42@mail.com";
     github = "typetetris";
@@ -11153,7 +11391,7 @@
   };
   vel = {
     email = "llathasa@outlook.com";
-    github = "llathasa-veleth";
+    github = "q60";
     githubId = 61933599;
     name = "vel";
   };
@@ -11175,6 +11413,12 @@
     githubId = 335406;
     name = "David Asabina";
   };
+  vidister = {
+    email = "v@vidister.de";
+    github = "vidister";
+    githubId = 11413574;
+    name = "Fiona Weber";
+  };
   vifino = {
     email = "vifino@tty.sh";
     github = "vifino";
@@ -11286,10 +11530,6 @@
     githubId = 3413119;
     name = "Vonfry";
   };
-  vozz = {
-    email = "oliver.huntuk@gmail.com";
-    name = "Oliver Hunt";
-  };
   vq = {
     email = "vq@erq.se";
     name = "Daniel Nilsson";
@@ -11620,12 +11860,6 @@
     githubId = 1962985;
     name = "Vincenzo Mantova";
   };
-  xwvvvvwx = {
-    email = "davidterry@posteo.de";
-    github = "xwvvvvwx";
-    githubId = 6689924;
-    name = "David Terry";
-  };
   xzfc = {
     email = "xzfcpw@gmail.com";
     github = "xzfc";
@@ -11650,6 +11884,12 @@
     githubId = 3705333;
     name = "Dmitry V.";
   };
+  yayayayaka = {
+    email = "nixpkgs@uwu.is";
+    github = "yayayayaka";
+    githubId = 73759599;
+    name = "Lara A.";
+  };
   yegortimoshenko = {
     email = "yegortimoshenko@riseup.net";
     github = "yegortimoshenko";
@@ -11668,6 +11908,12 @@
     githubId = 26011724;
     name = "Burim Augustin Berisa";
   };
+  yl3dy = {
+    email = "aleksandr.kiselyov@gmail.com";
+    github = "yl3dy";
+    githubId = 1311192;
+    name = "Alexander Kiselyov";
+  };
   yochai = {
     email = "yochai@titat.info";
     github = "yochai";
@@ -12178,4 +12424,10 @@
     github = "zupo";
     githubId = 311580;
   };
+  rski = {
+    name = "rski";
+    email = "rom.skiad+nix@gmail.com";
+    github = "rski";
+    githubId = 2960312;
+  };
 }
diff --git a/nixpkgs/maintainers/scripts/haskell/mark-broken.sh b/nixpkgs/maintainers/scripts/haskell/mark-broken.sh
index 71568ef6f200..97dd5be8aaa6 100755
--- a/nixpkgs/maintainers/scripts/haskell/mark-broken.sh
+++ b/nixpkgs/maintainers/scripts/haskell/mark-broken.sh
@@ -30,9 +30,10 @@ EOF
 
 # clear environment here to avoid things like allowing broken builds in
 sort -iu "$tmpfile" >> "$broken_config"
-env -i maintainers/scripts/haskell/regenerate-hackage-packages.sh
-env -i maintainers/scripts/haskell/regenerate-transitive-broken-packages.sh
-env -i maintainers/scripts/haskell/regenerate-hackage-packages.sh
+clear="env -u HOME -u NIXPKGS_CONFIG"
+$clear maintainers/scripts/haskell/regenerate-hackage-packages.sh
+$clear maintainers/scripts/haskell/regenerate-transitive-broken-packages.sh
+$clear maintainers/scripts/haskell/regenerate-hackage-packages.sh
 
 if [[ "${1:-}" == "--do-commit" ]]; then
 git add $broken_config
diff --git a/nixpkgs/maintainers/scripts/haskell/upload-nixos-package-list-to-hackage.sh b/nixpkgs/maintainers/scripts/haskell/upload-nixos-package-list-to-hackage.sh
new file mode 100755
index 000000000000..9e243052f25a
--- /dev/null
+++ b/nixpkgs/maintainers/scripts/haskell/upload-nixos-package-list-to-hackage.sh
@@ -0,0 +1,21 @@
+#! /usr/bin/env nix-shell
+#! nix-shell -i bash -p nix curl gnused -I nixpkgs=.
+
+# On Hackage every package description shows a category "Distributions" which
+# lists a "NixOS" version.
+# This script uploads a csv to hackage which will update the displayed versions
+# based on the current versions in nixpkgs. This happens with a simple http
+# request.
+
+# For authorization you just need to have any valid hackage account. This
+# script uses the `username` and `password-command` field from your
+# ~/.cabal/config file.
+
+# e.g. username: maralorn
+#      password-command: pass hackage.haskell.org (this can be any command, but not an arbitrary shell expression. Like cabal we only read the first output line and ignore the rest.)
+# Those fields are specified under `upload` on the `cabal` man page.
+
+package_list="$(nix-build -A haskell.package-list)/nixos-hackage-packages.csv"
+username=$(grep "^username:" ~/.cabal/config | sed "s/^username: //")
+password_command=$(grep "^password-command:" ~/.cabal/config | sed "s/^password-command: //")
+curl -u "$username:$($password_command | head -n1)" --digest -H "Content-type: text/csv" -T "$package_list" http://hackage.haskell.org/distro/NixOS/packages.csv
diff --git a/nixpkgs/maintainers/scripts/luarocks-packages.csv b/nixpkgs/maintainers/scripts/luarocks-packages.csv
index a387430245ab..1cb6a83d42ae 100644
--- a/nixpkgs/maintainers/scripts/luarocks-packages.csv
+++ b/nixpkgs/maintainers/scripts/luarocks-packages.csv
@@ -1,87 +1,86 @@
-# nix name, luarocks name, server, version,luaversion,maintainers
-alt-getopt,,,,,arobyn
-ansicolors,,,,,
-argparse,,,,,
-basexx,,,,,
-binaryheap,,,,,vcunat
-bit32,,,,lua5_1,lblasc
-busted,,,,,
-cassowary,,,,,marsam alerque
-cjson,lua-cjson,,,,
-compat53,,,,,vcunat
-cosmo,,,,,marsam
-coxpcall,,,1.17.0-1,,
-cqueues,,,,,vcunat
-cyrussasl,,,,,
-digestif,,,,lua5_3,
-dkjson,,,,,
-fifo,,,,,
-http,,,,,vcunat
-inspect,,,,,
-ldbus,,http://luarocks.org/dev,,,
-ldoc,,,,,
-lgi,,,,,
-linenoise,,,,,
-ljsyscall,,,,lua5_1,lblasc
-lpeg,,,,,vyp
-lpeg_patterns,,,,,
-lpeglabel,,,,,
-lpty,,,,,
-lrexlib-gnu,,,,,
-lrexlib-pcre,,,,,vyp
-lrexlib-posix,,,,,
-ltermbox,,,,,
-lua-cmsgpack,,,,,
-lua-iconv,,,,,
-lua-lsp,,http://luarocks.org/dev,,,
-lua-messagepack,,,,,
-lua-resty-http,,,,,
-lua-resty-jwt,,,,,
-lua-resty-openidc,,,,,
-lua-resty-openssl,,,,,
-lua-resty-session,,,,,
-lua-term,,,,,
-lua-toml,,,,,
-lua-zlib,,,,,koral
-lua_cliargs,,,,,
-luabitop,,,,,
-luacheck,,,,,
-luacov,,,,,
-luadbi,,,,,
-luadbi-mysql,,,,,
-luadbi-postgresql,,,,,
-luadbi-sqlite3,,,,,
-luadoc,,,,,
-luaepnf,,,,,
-luaevent,,,,,
-luaexpat,,,1.3.0-1,,arobyn flosse
-luaffi,,http://luarocks.org/dev,,,
-luafilesystem,,,1.7.0-2,,flosse
-lualogging,,,,,
-luaossl,,,,lua5_1,
-luaposix,,,,,vyp lblasc
-luarepl,,,,,
-luasec,,,,,flosse
-luasocket,,,,,
-luasql-sqlite3,,,,,vyp
-luassert,,,,,
-luasystem,,,,,
-luautf8,,,,,pstn
-luazip,,,,,
-lua-yajl,,,,,pstn
-luuid,,,,,
-luv,,,,,
-lyaml,,,,,lblasc
-markdown,,,,,
-mediator_lua,,,,,
-mpack,,,,,
-moonscript,,,,,arobyn
-nvim-client,,,,,
-penlight,,,,,
-rapidjson,,,,,
-readline,,,,,
-say,,,,,
-std__debug,std._debug,,,,
-std_normalize,std.normalize,,,,
-stdlib,,,,,vyp
-vstruct,,,,,
+name,src,ref,server,version,luaversion,maintainers
+alt-getopt,,,,,,arobyn
+bit32,,,,5.3.0-1,lua5_1,lblasc
+argparse,https://github.com/luarocks/argparse.git,,,,,
+basexx,https://github.com/teto/basexx.git,,,,,
+binaryheap,https://github.com/Tieske/binaryheap.lua,,,,,vcunat
+busted,,,,,,
+cassowary,,,,,,marsam alerque
+compat53,,,,0.7-1,,vcunat
+cosmo,,,,,,marsam
+coxpcall,,,,1.17.0-1,,
+cqueues,,,,,,vcunat
+cyrussasl,https://github.com/JorjBauer/lua-cyrussasl.git,,,,,
+digestif,https://github.com/astoff/digestif.git,,,0.2-1,lua5_3,
+dkjson,,,,,,
+fifo,,,,,,
+gitsigns.nvim,https://github.com/lewis6991/gitsigns.nvim.git,,,,lua5_1,
+http,,,,0.3-0,,vcunat
+inspect,,,,,,
+ldbus,,,http://luarocks.org/dev,,,
+ldoc,https://github.com/stevedonovan/LDoc.git,,,,,
+lgi,,,,,,
+linenoise,https://github.com/hoelzro/lua-linenoise.git,,,,,
+ljsyscall,,,,,lua5_1,lblasc
+lpeg,,,,,,vyp
+lpeg_patterns,,,,,,
+lpeglabel,,,,,,
+lpty,,,,,,
+lrexlib-gnu,,,,,,
+lrexlib-pcre,,,,,,vyp
+lrexlib-posix,,,,,,
+lua-cjson,,,,,,
+lua-cmsgpack,,,,,,
+lua-iconv,,,,,,
+lua-lsp,,,,,,
+lua-messagepack,,,,,,
+lua-resty-http,,,,,,
+lua-resty-jwt,,,,,,
+lua-resty-openidc,,,,,,
+lua-resty-openssl,,,,,,
+lua-resty-session,,,,,,
+lua-term,,,,,,
+lua-toml,,,,,,
+lua-zlib,,,,,,koral
+lua_cliargs,https://github.com/amireh/lua_cliargs.git,,,,,
+luabitop,https://github.com/teto/luabitop.git,,,,,
+luacheck,,,,,,
+luacov,,,,,,
+luadbi,,,,,,
+luadbi-mysql,,,,,,
+luadbi-postgresql,,,,,,
+luadbi-sqlite3,,,,,,
+luaepnf,,,,,,
+luaevent,,,,,,
+luaexpat,,,,1.3.0-1,,arobyn flosse
+luaffi,,,http://luarocks.org/dev,,,
+luafilesystem,,,,1.7.0-2,,flosse
+lualogging,,,,,,
+luaossl,,,,,lua5_1,
+luaposix,,,,34.1.1-1,,vyp lblasc
+luarepl,,,,,,
+luasec,,,,,,flosse
+luasocket,,,,,,
+luasql-sqlite3,,,,,,vyp
+luassert,,,,,,
+luasystem,,,,,,
+luautf8,,,,,,pstn
+luazip,,,,,,
+lua-yajl,,,,,,pstn
+luuid,,,,,,
+luv,,,,1.30.0-0,,
+lyaml,,,,,,lblasc
+markdown,,,,,,
+mediator_lua,,,,,,
+mpack,,,,,,
+moonscript,,,,,,arobyn
+nvim-client,https://github.com/neovim/lua-client.git,,,,,
+penlight,https://github.com/Tieske/Penlight.git,,,,,
+plenary.nvim,https://github.com/nvim-lua/plenary.nvim.git,,,,lua5_1,
+rapidjson,https://github.com/xpol/lua-rapidjson.git,,,,,
+readline,,,,,,
+say,https://github.com/Olivine-Labs/say.git,,,,,
+std._debug,https://github.com/lua-stdlib/_debug.git,,,,,
+std.normalize,git://github.com/lua-stdlib/normalize.git,,,,,
+stdlib,,,,41.2.2,,vyp
+vstruct,https://github.com/ToxicFrog/vstruct.git,,,,,
diff --git a/nixpkgs/maintainers/scripts/pluginupdate.py b/nixpkgs/maintainers/scripts/pluginupdate.py
index 91c5214d1539..2a9a2d4c0a23 100644
--- a/nixpkgs/maintainers/scripts/pluginupdate.py
+++ b/nixpkgs/maintainers/scripts/pluginupdate.py
@@ -28,6 +28,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
 
 import git
 
@@ -41,8 +42,6 @@ LOG_LEVELS = {
 }
 
 log = logging.getLogger()
-log.addHandler(logging.StreamHandler())
-
 
 def retry(ExceptionToCheck: Any, tries: int = 4, delay: float = 3, backoff: float = 2):
     """Retry calling the decorated function using an exponential backoff.
@@ -82,6 +81,13 @@ def make_request(url: str) -> urllib.request.Request:
         headers["Authorization"] = f"token {token}"
     return urllib.request.Request(url, headers=headers)
 
+@dataclass
+class PluginDesc:
+    owner: str
+    repo: str
+    branch: str
+    alias: Optional[str]
+
 
 class Repo:
     def __init__(
@@ -195,21 +201,92 @@ class Editor:
         name: str,
         root: Path,
         get_plugins: str,
-        generate_nix: Callable[[List[Tuple[str, str, Plugin]], str], None],
         default_in: Optional[Path] = None,
         default_out: Optional[Path] = None,
         deprecated: Optional[Path] = None,
         cache_file: Optional[str] = None,
     ):
+        log.debug("get_plugins:", get_plugins)
         self.name = name
         self.root = root
         self.get_plugins = get_plugins
-        self.generate_nix = generate_nix
         self.default_in = default_in or root.joinpath(f"{name}-plugin-names")
         self.default_out = default_out or root.joinpath("generated.nix")
         self.deprecated = deprecated or root.joinpath("deprecated.json")
         self.cache_file = cache_file or f"{name}-plugin-cache.json"
 
+    def get_current_plugins(self):
+        """To fill the cache"""
+        return get_current_plugins(self)
+
+    def load_plugin_spec(self, plugin_file) -> List[PluginDesc]:
+        return load_plugin_spec(plugin_file)
+
+    def generate_nix(self, plugins, outfile: str):
+        '''Returns nothing for now, writes directly to outfile'''
+        raise NotImplementedError()
+
+    def get_update(self, input_file: str, outfile: str, proc: int):
+        return get_update(input_file, outfile, proc, editor=self)
+
+    @property
+    def attr_path(self):
+        return self.name + "Plugins"
+
+    def get_drv_name(self, name: str):
+        return self.attr_path + "." + name
+
+    def rewrite_input(self, *args, **kwargs):
+        return rewrite_input(*args, **kwargs)
+
+    def create_parser(self):
+        parser = argparse.ArgumentParser(
+            description=(
+                f"Updates nix derivations for {self.name} plugins"
+                f"By default from {self.default_in} to {self.default_out}"
+            )
+        )
+        parser.add_argument(
+            "--add",
+            dest="add_plugins",
+            default=[],
+            action="append",
+            help=f"Plugin to add to {self.attr_path} from Github in the form owner/repo",
+        )
+        parser.add_argument(
+            "--input-names",
+            "-i",
+            dest="input_file",
+            default=self.default_in,
+            help="A list of plugins in the form owner/repo",
+        )
+        parser.add_argument(
+            "--out",
+            "-o",
+            dest="outfile",
+            default=self.default_out,
+            help="Filename to save generated nix code",
+        )
+        parser.add_argument(
+            "--proc",
+            "-p",
+            dest="proc",
+            type=int,
+            default=30,
+            help="Number of concurrent processes to spawn.",
+        )
+        parser.add_argument(
+            "--no-commit", "-n", action="store_true", default=False,
+            help="Whether to autocommit changes"
+        )
+        parser.add_argument(
+            "--debug", "-d", choices=LOG_LEVELS.keys(),
+            default=logging.getLevelName(logging.WARN),
+            help="Adjust log level"
+        )
+        return parser
+
+
 
 class CleanEnvironment(object):
     def __enter__(self) -> None:
@@ -228,7 +305,9 @@ class CleanEnvironment(object):
 
 def get_current_plugins(editor: Editor) -> List[Plugin]:
     with CleanEnvironment():
-        out = subprocess.check_output(["nix", "eval", "--json", editor.get_plugins])
+        cmd = ["nix", "eval", "--json", editor.get_plugins]
+        log.debug("Running command %s", cmd)
+        out = subprocess.check_output(cmd)
     data = json.loads(out)
     plugins = []
     for name, attr in data.items():
@@ -238,18 +317,17 @@ def get_current_plugins(editor: Editor) -> List[Plugin]:
 
 
 def prefetch_plugin(
-    user: str,
-    repo_name: str,
-    branch: str,
-    alias: Optional[str],
+    p: PluginDesc,
     cache: "Optional[Cache]" = None,
 ) -> Tuple[Plugin, Dict[str, str]]:
-    log.info("Prefetching plugin %s", repo_name)
+    user, repo_name, branch, alias = p.owner, p.repo, p.branch, p.alias
+    log.info(f"Fetching last commit for plugin {user}/{repo_name}@{branch}")
     repo = Repo(user, repo_name, branch, alias)
     commit, date = repo.latest_commit()
     has_submodules = repo.has_submodules()
     cached_plugin = cache[commit] if cache else None
     if cached_plugin is not None:
+        log.debug("Cache hit !")
         cached_plugin.name = alias or repo_name
         cached_plugin.date = date
         return cached_plugin, repo.redirect
@@ -267,7 +345,7 @@ def prefetch_plugin(
 
 
 def fetch_plugin_from_pluginline(plugin_line: str) -> Plugin:
-    plugin, _ = prefetch_plugin(*parse_plugin_line(plugin_line))
+    plugin, _ = prefetch_plugin(parse_plugin_line(plugin_line))
     return plugin
 
 
@@ -306,8 +384,7 @@ def check_results(
 
         sys.exit(1)
 
-
-def parse_plugin_line(line: str) -> Tuple[str, str, str, Optional[str]]:
+def parse_plugin_line(line: str) -> PluginDesc:
     branch = "master"
     alias = None
     name, repo = line.split("/")
@@ -317,15 +394,15 @@ def parse_plugin_line(line: str) -> Tuple[str, str, str, Optional[str]]:
     if "@" in repo:
         repo, branch = repo.split("@")
 
-    return (name.strip(), repo.strip(), branch.strip(), alias)
+    return PluginDesc(name.strip(), repo.strip(), branch.strip(), alias)
 
 
-def load_plugin_spec(plugin_file: str) -> List[Tuple[str, str, str, Optional[str]]]:
+def load_plugin_spec(plugin_file: str) -> List[PluginDesc]:
     plugins = []
     with open(plugin_file) as f:
         for line in f:
             plugin = parse_plugin_line(line)
-            if not plugin[0]:
+            if not plugin.owner:
                 msg = f"Invalid repository {line}, must be in the format owner/repo[ as alias]"
                 print(msg, file=sys.stderr)
                 sys.exit(1)
@@ -387,12 +464,11 @@ class Cache:
 
 
 def prefetch(
-    args: Tuple[str, str, str, Optional[str]], cache: Cache
+    pluginDesc: PluginDesc, cache: Cache
 ) -> Tuple[str, str, Union[Exception, Plugin], dict]:
-    assert len(args) == 4
-    owner, repo, branch, alias = args
+    owner, repo = pluginDesc.owner, pluginDesc.repo
     try:
-        plugin, redirect = prefetch_plugin(owner, repo, branch, alias, cache)
+        plugin, redirect = prefetch_plugin(pluginDesc, cache)
         cache[plugin.commit] = plugin
         return (owner, repo, plugin, redirect)
     except Exception as e:
@@ -434,54 +510,6 @@ def rewrite_input(
         f.writelines(lines)
 
 
-def parse_args(editor: Editor):
-    parser = argparse.ArgumentParser(
-        description=(
-            f"Updates nix derivations for {editor.name} plugins"
-            f"By default from {editor.default_in} to {editor.default_out}"
-        )
-    )
-    parser.add_argument(
-        "--add",
-        dest="add_plugins",
-        default=[],
-        action="append",
-        help=f"Plugin to add to {editor.name}Plugins from Github in the form owner/repo",
-    )
-    parser.add_argument(
-        "--input-names",
-        "-i",
-        dest="input_file",
-        default=editor.default_in,
-        help="A list of plugins in the form owner/repo",
-    )
-    parser.add_argument(
-        "--out",
-        "-o",
-        dest="outfile",
-        default=editor.default_out,
-        help="Filename to save generated nix code",
-    )
-    parser.add_argument(
-        "--proc",
-        "-p",
-        dest="proc",
-        type=int,
-        default=30,
-        help="Number of concurrent processes to spawn.",
-    )
-    parser.add_argument(
-        "--no-commit", "-n", action="store_true", default=False,
-        help="Whether to autocommit changes"
-    )
-    parser.add_argument(
-        "--debug", "-d", choices=LOG_LEVELS.keys(),
-        default=logging.getLevelName(logging.WARN),
-        help="Adjust log level"
-    )
-    return parser.parse_args()
-
-
 def commit(repo: git.Repo, message: str, files: List[Path]) -> None:
     repo.index.add([str(f.resolve()) for f in files])
 
@@ -493,11 +521,11 @@ def commit(repo: git.Repo, message: str, files: List[Path]) -> None:
 
 
 def get_update(input_file: str, outfile: str, proc: int, editor: Editor):
-    cache: Cache = Cache(get_current_plugins(editor), editor.cache_file)
+    cache: Cache = Cache(editor.get_current_plugins(), editor.cache_file)
     _prefetch = functools.partial(prefetch, cache=cache)
 
     def update() -> dict:
-        plugin_names = load_plugin_spec(input_file)
+        plugin_names = editor.load_plugin_spec(input_file)
 
         try:
             pool = Pool(processes=proc)
@@ -514,42 +542,41 @@ def get_update(input_file: str, outfile: str, proc: int, editor: Editor):
     return update
 
 
-def update_plugins(editor: Editor):
+def update_plugins(editor: Editor, args):
     """The main entry function of this module. All input arguments are grouped in the `Editor`."""
 
-    args = parse_args(editor)
     log.setLevel(LOG_LEVELS[args.debug])
-
     log.info("Start updating plugins")
-    nixpkgs_repo = git.Repo(editor.root, search_parent_directories=True)
-    update = get_update(args.input_file, args.outfile, args.proc, editor)
+    update = editor.get_update(args.input_file, args.outfile, args.proc)
 
     redirects = update()
-    rewrite_input(args.input_file, editor.deprecated, redirects)
+    editor.rewrite_input(args.input_file, editor.deprecated, redirects)
 
     autocommit = not args.no_commit
 
     if autocommit:
-        commit(nixpkgs_repo, f"{editor.name}Plugins: update", [args.outfile])
+        nixpkgs_repo = git.Repo(editor.root, search_parent_directories=True)
+        commit(nixpkgs_repo, f"{editor.attr_path}: update", [args.outfile])
 
     if redirects:
         update()
         if autocommit:
             commit(
                 nixpkgs_repo,
-                f"{editor.name}Plugins: resolve github repository redirects",
+                f"{editor.attr_path}: resolve github repository redirects",
                 [args.outfile, args.input_file, editor.deprecated],
             )
 
     for plugin_line in args.add_plugins:
-        rewrite_input(args.input_file, editor.deprecated, append=(plugin_line + "\n",))
+        editor.rewrite_input(args.input_file, editor.deprecated, append=(plugin_line + "\n",))
         update()
         plugin = fetch_plugin_from_pluginline(plugin_line)
         if autocommit:
             commit(
                 nixpkgs_repo,
-                "{editor}Plugins.{name}: init at {version}".format(
-                    editor=editor.name, name=plugin.normalized_name, version=plugin.version
+                "{drv_name}: init at {version}".format(
+                    drv_name=editor.get_drv_name(plugin.normalized_name),
+                    version=plugin.version
                 ),
                 [args.outfile, args.input_file],
             )
diff --git a/nixpkgs/maintainers/scripts/update-luarocks-packages b/nixpkgs/maintainers/scripts/update-luarocks-packages
index da4d224bd330..a465031b9112 100755
--- a/nixpkgs/maintainers/scripts/update-luarocks-packages
+++ b/nixpkgs/maintainers/scripts/update-luarocks-packages
@@ -1,136 +1,222 @@
 #!/usr/bin/env nix-shell
-#!nix-shell update-luarocks-shell.nix -i bash
-
-# You'll likely want to use
-# ``
-# nixpkgs $ maintainers/scripts/update-luarocks-packages pkgs/development/lua-modules/generated-packages.nix
-# ``
-# to update all libraries in that folder.
-# to debug, redirect stderr to stdout with 2>&1
-
-# stop the script upon C-C
-set -eu -o pipefail
-
-CSV_FILE="maintainers/scripts/luarocks-packages.csv"
+#!nix-shell update-luarocks-shell.nix -i python3
+
+# format:
+# $ nix run nixpkgs.python3Packages.black -c black update.py
+# type-check:
+# $ nix run nixpkgs.python3Packages.mypy -c mypy update.py
+# linted:
+# $ nix run nixpkgs.python3Packages.flake8 -c flake8 --ignore E501,E265,E402 update.py
+
+import inspect
+import os
+import tempfile
+import shutil
+from dataclasses import dataclass
+import subprocess
+import csv
+import logging
+import textwrap
+from multiprocessing.dummy import Pool
+
+from typing import List, Tuple, Optional
+from pathlib import Path
+
+log = logging.getLogger()
+log.addHandler(logging.StreamHandler())
+
+ROOT = Path(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))).parent.parent
+from pluginupdate import Editor, update_plugins, PluginDesc, CleanEnvironment, LOG_LEVELS, Cache
+
+PKG_LIST="maintainers/scripts/luarocks-packages.csv"
 TMP_FILE="$(mktemp)"
-# Set in the update-luarocks-shell.nix
-NIXPKGS_PATH="$LUAROCKS_NIXPKGS_PATH"
-export LUAROCKS_CONFIG="$NIXPKGS_PATH/maintainers/scripts/luarocks-config.lua"
+GENERATED_NIXFILE="pkgs/development/lua-modules/generated-packages.nix"
+LUAROCKS_CONFIG="$NIXPKGS_PATH/maintainers/scripts/luarocks-config.lua"
 
-# 10 is a pretty arbitrary number of simultaneous jobs, but it is generally
-# impolite to hit a webserver with *too* many simultaneous connections :)
-PARALLEL_JOBS=1
-
-exit_trap() {
-    local lc="$BASH_COMMAND" rc=$?
-    test $rc -eq 0 || echo -e "*** error $rc: $lc.\nGenerated temporary file in $TMP_FILE" >&2
-}
-
-print_help() {
-    echo "Usage: $0 <GENERATED_FILE>"
-    echo "(most likely pkgs/development/lua-modules/generated-packages.nix)"
-    echo ""
-    echo " -c <CSV_FILE> to set the list of luarocks package to generate"
-    exit 1
-}
-
-if [ $# -lt 1 ]; then
-    print_help
-    exit 1
-fi
-
-trap exit_trap EXIT
-
-while getopts ":hc:" opt; do
-    case $opt in
-    h)
-        print_help
-        ;;
-    c)
-        echo "Loading package list from $OPTARG !" >&2
-        CSV_FILE="$OPTARG"
-        ;;
-    \?)
-        echo "Invalid option: -$OPTARG" >&2
-        ;;
-    esac
-    shift $((OPTIND - 1))
-done
-
-GENERATED_NIXFILE="$1"
-
-HEADER="
-/* ${GENERATED_NIXFILE} is an auto-generated file -- DO NOT EDIT!
+HEADER = """
+/* {GENERATED_NIXFILE} is an auto-generated file -- DO NOT EDIT!
 Regenerate it with:
-nixpkgs$ ${0} ${GENERATED_NIXFILE}
+nixpkgs$ ./maintainers/scripts/update-luarocks-packages
 
-These packages are manually refined in lua-overrides.nix
+You can customize the generated packages in pkgs/development/lua-modules/overrides.nix
 */
-{ self, stdenv, lib, fetchurl, fetchgit, pkgs, ... } @ args:
-self: super:
-with self;
-{
-"
+""".format(GENERATED_NIXFILE=GENERATED_NIXFILE)
 
-FOOTER="
-}
-/* GENERATED */
-"
-
-function convert_pkg() {
-    nix_pkg_name="$1"
-    lua_pkg_name="$2"
-    server="$3"
-    pkg_version="$4"
-    lua_version="$5"
-    maintainers="$6"
-
-    if [ "${nix_pkg_name:0:1}" == "#" ]; then
-        echo "Skipping comment ${*}" >&2
-        return
-    fi
-    if [ -z "$lua_pkg_name" ]; then
-        echo "Using nix_name as lua_pkg_name for '$nix_pkg_name'" >&2
-        lua_pkg_name="$nix_pkg_name"
-    fi
-
-    echo "Building expression for $lua_pkg_name (version $pkg_version) from server [$server]" >&2
-    luarocks_args=(nix)
-    if [[ -n $server ]]; then
-        luarocks_args+=("--only-server=$server")
-    fi
-    if [[ -n $maintainers ]]; then
-        luarocks_args+=("--maintainers=$maintainers")
-    fi
-    if [[ -n $lua_version ]]; then
-        lua_drv_path=$(nix-build --no-out-link "$NIXPKGS_PATH" -A "$lua_version")
-        luarocks_args+=("--lua-dir=$lua_drv_path/bin")
-    fi
-    luarocks_args+=("$lua_pkg_name")
-    if [[ -n $pkg_version ]]; then
-        luarocks_args+=("$pkg_version")
-    fi
-    echo "Running 'luarocks ${luarocks_args[*]}'" >&2
-    if drv="$nix_pkg_name = $(luarocks "${luarocks_args[@]}")"; then
-        echo "$drv"
-    else
-        echo "Failed to convert $nix_pkg_name" >&2
-        return 1
-    fi
+FOOTER="""
 }
+/* GENERATED - do not edit this file */
+"""
+
+@dataclass
+class LuaPlugin:
+    name: str
+    '''Name of the plugin, as seen on luarocks.org'''
+    src: str
+    '''address to the git repository'''
+    ref: Optional[str]
+    '''git reference (branch name/tag)'''
+    version: Optional[str]
+    '''Set it to pin a package '''
+    server: Optional[str]
+    '''luarocks.org registers packages under different manifests.
+    Its value can be 'http://luarocks.org/dev'
+    '''
+    luaversion: Optional[str]
+    '''Attribue of the lua interpreter if a package is available only for a specific lua version'''
+    maintainers: Optional[str]
+    ''' Optional string listing maintainers separated by spaces'''
+
+    @property
+    def normalized_name(self) -> str:
+        return self.name.replace(".", "-")
+
+# rename Editor to LangUpdate/ EcosystemUpdater
+class LuaEditor(Editor):
+    def get_current_plugins(self):
+        return []
+
+    def load_plugin_spec(self, input_file) -> List[LuaPlugin]:
+        luaPackages = []
+        csvfilename=input_file
+        log.info("Loading package descriptions from %s", csvfilename)
+
+        with open(csvfilename, newline='') as csvfile:
+            reader = csv.DictReader(csvfile,)
+            for row in reader:
+                # name,server,version,luaversion,maintainers
+                plugin = LuaPlugin(**row)
+                luaPackages.append(plugin)
+        return luaPackages
+
+    def generate_nix(
+        self,
+        results: List[Tuple[LuaPlugin, str]],
+        outfilename: str
+        ):
+
+        with tempfile.NamedTemporaryFile("w+") as f:
+            f.write(HEADER)
+            header2 = textwrap.dedent(
+            # header2 = inspect.cleandoc(
+            """
+                { self, stdenv, lib, fetchurl, fetchgit, ... } @ args:
+                self: super:
+                with self;
+                {
+            """)
+            f.write(header2)
+            for (plugin, nix_expr) in results:
+                f.write(f"{plugin.normalized_name} = {nix_expr}")
+            f.write(FOOTER)
+            f.flush()
+
+            # if everything went fine, move the generated file to its destination
+            # using copy since move doesn't work across disks
+            shutil.copy(f.name, outfilename)
+
+        print(f"updated {outfilename}")
+
+    @property
+    def attr_path(self):
+        return "luaPackages"
+
+    def get_update(self, input_file: str, outfile: str, proc: int):
+        _prefetch = generate_pkg_nix
+
+        def update() -> dict:
+            plugin_specs = self.load_plugin_spec(input_file)
+            sorted_plugin_specs = sorted(plugin_specs, key=lambda v: v.name.lower())
+
+            try:
+                pool = Pool(processes=proc)
+                results = pool.map(_prefetch, sorted_plugin_specs)
+            finally:
+                pass
+
+            self.generate_nix(results, outfile)
+
+            redirects = []
+            return redirects
+
+        return update
+
+    def rewrite_input(self, input_file: str, *args, **kwargs):
+        # vim plugin reads the file before update but that shouldn't be our case
+        # not implemented yet
+        # fieldnames = ['name', 'server', 'version', 'luaversion', 'maintainers']
+        # input_file = "toto.csv"
+        # with open(input_file, newline='') as csvfile:
+        #     writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
+        #     writer.writeheader()
+        #     for row in reader:
+        #         # name,server,version,luaversion,maintainers
+        #         plugin = LuaPlugin(**row)
+        #         luaPackages.append(plugin)
+        pass
+
+def generate_pkg_nix(plug: LuaPlugin):
+    '''
+    Generate nix expression for a luarocks package
+    Our cache key associates "p.name-p.version" to its rockspec
+    '''
+    log.debug("Generating nix expression for %s", plug.name)
+    cmd = [ "luarocks", "nix"]
+
+
+    if plug.maintainers:
+        cmd.append(f"--maintainers={plug.maintainers}")
+
+    # updates plugin directly from its repository
+    print("server: [%s]" % plug.server)
+    # if plug.server == "src":
+    if plug.src != "":
+        if plug.src is None:
+            msg = "src must be set when 'version' is set to \"src\" for package %s" % plug.name
+            log.error(msg)
+            raise RuntimeError(msg)
+        log.debug("Updating from source %s", plug.src)
+        cmd.append(plug.src)
+    # update the plugin from luarocks
+    else:
+        cmd.append(plug.name)
+        if plug.version and plug.version != "src":
+
+            cmd.append(plug.version)
+
+    #
+    if plug.server != "src" and plug.server:
+        cmd.append(f"--only-server={plug.server}")
+
+
+    if plug.luaversion:
+        with CleanEnvironment():
+            local_pkgs = str(ROOT.resolve())
+            cmd2 = ["nix-build", "--no-out-link", local_pkgs, "-A", f"{plug.luaversion}"]
+
+            log.debug("running %s", ' '.join(cmd2))
+            lua_drv_path=subprocess.check_output(cmd2, text=True).strip()
+            cmd.append(f"--lua-dir={lua_drv_path}/bin")
+
+    log.debug("running %s", ' '.join(cmd))
+    output = subprocess.check_output(cmd, text=True)
+    return (plug, output)
+
+def main():
+
+    editor = LuaEditor("lua", ROOT, '',
+        default_in = ROOT.joinpath(PKG_LIST),
+        default_out = ROOT.joinpath(GENERATED_NIXFILE)
+        )
 
-# params needed when called via callPackage
-echo "$HEADER" | tee "$TMP_FILE"
+    parser = editor.create_parser()
+    args = parser.parse_args()
+    log.setLevel(LOG_LEVELS[args.debug])
 
-# Ensure parallel can run our bash function
-export -f convert_pkg
-export SHELL=bash
-# Read each line in the csv file and run convert_pkg for each, in parallel
-parallel --group --keep-order --halt now,fail=1 --jobs "$PARALLEL_JOBS" --colsep ',' convert_pkg {} <"$CSV_FILE" | tee -a "$TMP_FILE"
+    update_plugins(editor, args)
 
-# close the set
-echo "$FOOTER" | tee -a "$TMP_FILE"
 
-cp "$TMP_FILE" "$GENERATED_NIXFILE"
+if __name__ == "__main__":
+
+    main()
 
-# vim: set ts=4 sw=4 ft=sh:
+#  vim: set ft=python noet fdm=manual fenc=utf-8 ff=unix sts=0 sw=4 ts=4 :
diff --git a/nixpkgs/maintainers/scripts/update-luarocks-shell.nix b/nixpkgs/maintainers/scripts/update-luarocks-shell.nix
index d3f342b07a96..a58674fca8d3 100644
--- a/nixpkgs/maintainers/scripts/update-luarocks-shell.nix
+++ b/nixpkgs/maintainers/scripts/update-luarocks-shell.nix
@@ -1,12 +1,13 @@
 { nixpkgs ? import ../.. { }
 }:
 with nixpkgs;
+let
+  pyEnv = python3.withPackages(ps: [ ps.GitPython ]);
+in
 mkShell {
   packages = [
-    bash
+    pyEnv
     luarocks-nix
     nix-prefetch-scripts
-    parallel
   ];
-  LUAROCKS_NIXPKGS_PATH = toString nixpkgs.path;
 }
diff --git a/nixpkgs/maintainers/scripts/update-ruby-packages b/nixpkgs/maintainers/scripts/update-ruby-packages
index fef6b75ded08..60da1a1b5938 100755
--- a/nixpkgs/maintainers/scripts/update-ruby-packages
+++ b/nixpkgs/maintainers/scripts/update-ruby-packages
@@ -6,7 +6,10 @@ set -euf -o pipefail
 (
   cd pkgs/development/ruby-modules/with-packages
   rm -f gemset.nix Gemfile.lock
-  bundle lock
+  # Since bundler 2+, the lock command generates a platform-dependent
+  # Gemfile.lock, hence causing to bundix to generate a gemset tied to the
+  # platform from where it was executed.
+  BUNDLE_FORCE_RUBY_PLATFORM=1 bundle lock
   bundix
   mv gemset.nix ../../../top-level/ruby-packages.nix
   rm -f Gemfile.lock
diff --git a/nixpkgs/maintainers/team-list.nix b/nixpkgs/maintainers/team-list.nix
index 939cf159212f..a86af02d2357 100644
--- a/nixpkgs/maintainers/team-list.nix
+++ b/nixpkgs/maintainers/team-list.nix
@@ -114,8 +114,9 @@ with lib.maintainers; {
 
   haskell = {
     members = [
-      maralorn
       cdepillabout
+      expipiplus1
+      maralorn
       sternenseemann
     ];
     scope = "Maintain Haskell packages and infrastructure.";
@@ -131,6 +132,17 @@ with lib.maintainers; {
     scope = "Maintain the Home Assistant ecosystem";
   };
 
+  iog = {
+    members = [
+      cleverca22
+      disassembler
+      jonringer
+      maveru
+      nrdxp
+    ];
+    scope = "Input-Output Global employees, which maintain critical software";
+  };
+
   jitsi = {
     members = [
       petabyteboy
@@ -161,10 +173,19 @@ with lib.maintainers; {
       ralith
       mjlbach
       dandellion
+      sumnerevans
     ];
     scope = "Maintain the ecosystem around Matrix, a decentralized messenger.";
   };
 
+  pantheon = {
+    members = [
+      davidak
+      bobby285271
+    ];
+    scope = "Maintain Pantheon desktop environment and platform.";
+  };
+
   php = {
     members = [
       aanderse
diff --git a/nixpkgs/nixos/doc/manual/default.nix b/nixpkgs/nixos/doc/manual/default.nix
index af7a2e08220c..151743d9fb58 100644
--- a/nixpkgs/nixos/doc/manual/default.nix
+++ b/nixpkgs/nixos/doc/manual/default.nix
@@ -12,7 +12,7 @@ let
   # E.g. if some `options` came from modules in ${pkgs.customModules}/nix,
   # you'd need to include `extraSources = [ pkgs.customModules ]`
   prefixesToStrip = map (p: "${toString p}/") ([ ../../.. ] ++ extraSources);
-  stripAnyPrefixes = lib.flip (lib.fold lib.removePrefix) prefixesToStrip;
+  stripAnyPrefixes = lib.flip (lib.foldr lib.removePrefix) prefixesToStrip;
 
   optionsDoc = buildPackages.nixosOptionsDoc {
     inherit options revision;
diff --git a/nixpkgs/nixos/doc/manual/development/building-nixos.chapter.md b/nixpkgs/nixos/doc/manual/development/building-nixos.chapter.md
index 699a75f41152..3310dee98f96 100644
--- a/nixpkgs/nixos/doc/manual/development/building-nixos.chapter.md
+++ b/nixpkgs/nixos/doc/manual/development/building-nixos.chapter.md
@@ -1,7 +1,22 @@
-# Building Your Own NixOS CD {#sec-building-cd}
-Building a NixOS CD is as easy as configuring your own computer. The idea is to use another module which will replace your `configuration.nix` to configure the system that would be installed on the CD.
+# Building a NixOS (Live) ISO {#sec-building-image}
 
-Default CD/DVD configurations are available inside `nixos/modules/installer/cd-dvd`
+Default live installer configurations are available inside `nixos/modules/installer/cd-dvd`.
+For building other system images, [nixos-generators] is a good place to start looking at.
+
+You have two options:
+
+- Use any of those default configurations as is
+- Combine them with (any of) your host config(s)
+
+System images, such as the live installer ones, know how to enforce configuration settings
+on wich they immediately depend in order to work correctly.
+
+However, if you are confident, you can opt to override those
+enforced values with `mkForce`.
+
+[nixos-generators]: https://github.com/nix-community/nixos-generators
+
+## Practical Instructions {#sec-building-image-instructions}
 
 ```ShellSession
 $ git clone https://github.com/NixOS/nixpkgs.git
@@ -9,10 +24,23 @@ $ cd nixpkgs/nixos
 $ nix-build -A config.system.build.isoImage -I nixos-config=modules/installer/cd-dvd/installation-cd-minimal.nix default.nix
 ```
 
-Before burning your CD/DVD, you can check the content of the image by mounting anywhere like suggested by the following command:
+To check the content of an ISO image, mount it like so:
 
 ```ShellSession
-# mount -o loop -t iso9660 ./result/iso/cd.iso /mnt/iso</screen>
+# mount -o loop -t iso9660 ./result/iso/cd.iso /mnt/iso
 ```
 
-If you want to customize your NixOS CD in more detail, or generate other kinds of images, you might want to check out [nixos-generators](https://github.com/nix-community/nixos-generators). This can also be a good starting point when you want to use Nix to build a 'minimal' image that doesn't include a NixOS installation.
+## Technical Notes {#sec-building-image-tech-notes}
+
+The config value enforcement is implemented via `mkImageMediaOverride = mkOverride 60;`
+and therefore primes over simple value assignments, but also yields to `mkForce`.
+
+This property allows image designers to implement in semantically correct ways those
+configuration values upon which the correct functioning of the image depends.
+
+For example, the iso base image overrides those file systems which it needs at a minimum
+for correct functioning, while the installer base image overrides the entire file system
+layout because there can't be any other guarantees on a live medium than those given
+by the live medium itself. The latter is especially true befor formatting the target
+block device(s). On the other hand, the netboot iso only overrides its minimum dependencies
+since netboot images are always made-to-target.
diff --git a/nixpkgs/nixos/doc/manual/development/linking-nixos-tests-to-packages.section.md b/nixpkgs/nixos/doc/manual/development/linking-nixos-tests-to-packages.section.md
new file mode 100644
index 000000000000..38a64027f7c5
--- /dev/null
+++ b/nixpkgs/nixos/doc/manual/development/linking-nixos-tests-to-packages.section.md
@@ -0,0 +1,6 @@
+# Linking NixOS tests to packages {#sec-linking-nixos-tests-to-packages}
+
+You can link NixOS module tests to the packages that they exercised,
+so that the tests can be run automatically during code review when the package gets changed.
+This is
+[described in the nixpkgs manual](https://nixos.org/manual/nixpkgs/stable/#ssec-nixos-tests-linking).
diff --git a/nixpkgs/nixos/doc/manual/development/nixos-tests.xml b/nixpkgs/nixos/doc/manual/development/nixos-tests.xml
index 702fc03f6686..67dc09fc715f 100644
--- a/nixpkgs/nixos/doc/manual/development/nixos-tests.xml
+++ b/nixpkgs/nixos/doc/manual/development/nixos-tests.xml
@@ -16,4 +16,5 @@ xlink:href="https://github.com/NixOS/nixpkgs/tree/master/nixos/tests">nixos/test
  <xi:include href="../from_md/development/writing-nixos-tests.section.xml" />
  <xi:include href="../from_md/development/running-nixos-tests.section.xml" />
  <xi:include href="../from_md/development/running-nixos-tests-interactively.section.xml" />
+ <xi:include href="../from_md/development/linking-nixos-tests-to-packages.section.xml" />
 </chapter>
diff --git a/nixpkgs/nixos/doc/manual/development/running-nixos-tests-interactively.section.md b/nixpkgs/nixos/doc/manual/development/running-nixos-tests-interactively.section.md
index 3ba4e16e77f4..f87298201791 100644
--- a/nixpkgs/nixos/doc/manual/development/running-nixos-tests-interactively.section.md
+++ b/nixpkgs/nixos/doc/manual/development/running-nixos-tests-interactively.section.md
@@ -5,7 +5,7 @@ when developing or debugging a test:
 
 ```ShellSession
 $ nix-build nixos/tests/login.nix -A driverInteractive
-$ ./result/bin/nixos-test-driver
+$ ./result/bin/nixos-test-driver --interactive
 starting VDE switch for network 1
 >
 ```
@@ -24,20 +24,11 @@ back into the test driver command line upon its completion. This allows
 you to inspect the state of the VMs after the test (e.g. to debug the
 test script).
 
-To just start and experiment with the VMs, run:
-
-```ShellSession
-$ nix-build nixos/tests/login.nix -A driverInteractive
-$ ./result/bin/nixos-run-vms
-```
-
-The script `nixos-run-vms` starts the virtual machines defined by test.
-
 You can re-use the VM states coming from a previous run by setting the
 `--keep-vm-state` flag.
 
 ```ShellSession
-$ ./result/bin/nixos-run-vms --keep-vm-state
+$ ./result/bin/nixos-test-driver --interactive --keep-vm-state
 ```
 
 The machine state is stored in the `$TMPDIR/vm-state-machinename`
diff --git a/nixpkgs/nixos/doc/manual/from_md/development/building-nixos.chapter.xml b/nixpkgs/nixos/doc/manual/from_md/development/building-nixos.chapter.xml
index ceb744447dab..ad9349da0686 100644
--- a/nixpkgs/nixos/doc/manual/from_md/development/building-nixos.chapter.xml
+++ b/nixpkgs/nixos/doc/manual/from_md/development/building-nixos.chapter.xml
@@ -1,33 +1,72 @@
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="sec-building-cd">
-  <title>Building Your Own NixOS CD</title>
+<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="sec-building-image">
+  <title>Building a NixOS (Live) ISO</title>
   <para>
-    Building a NixOS CD is as easy as configuring your own computer. The
-    idea is to use another module which will replace your
-    <literal>configuration.nix</literal> to configure the system that
-    would be installed on the CD.
+    Default live installer configurations are available inside
+    <literal>nixos/modules/installer/cd-dvd</literal>. For building
+    other system images,
+    <link xlink:href="https://github.com/nix-community/nixos-generators">nixos-generators</link>
+    is a good place to start looking at.
   </para>
   <para>
-    Default CD/DVD configurations are available inside
-    <literal>nixos/modules/installer/cd-dvd</literal>
+    You have two options:
   </para>
-  <programlisting>
+  <itemizedlist spacing="compact">
+    <listitem>
+      <para>
+        Use any of those default configurations as is
+      </para>
+    </listitem>
+    <listitem>
+      <para>
+        Combine them with (any of) your host config(s)
+      </para>
+    </listitem>
+  </itemizedlist>
+  <para>
+    System images, such as the live installer ones, know how to enforce
+    configuration settings on wich they immediately depend in order to
+    work correctly.
+  </para>
+  <para>
+    However, if you are confident, you can opt to override those
+    enforced values with <literal>mkForce</literal>.
+  </para>
+  <section xml:id="sec-building-image-instructions">
+    <title>Practical Instructions</title>
+    <programlisting>
 $ git clone https://github.com/NixOS/nixpkgs.git
 $ cd nixpkgs/nixos
 $ nix-build -A config.system.build.isoImage -I nixos-config=modules/installer/cd-dvd/installation-cd-minimal.nix default.nix
 </programlisting>
-  <para>
-    Before burning your CD/DVD, you can check the content of the image
-    by mounting anywhere like suggested by the following command:
-  </para>
-  <programlisting>
-# mount -o loop -t iso9660 ./result/iso/cd.iso /mnt/iso&lt;/screen&gt;
+    <para>
+      To check the content of an ISO image, mount it like so:
+    </para>
+    <programlisting>
+# mount -o loop -t iso9660 ./result/iso/cd.iso /mnt/iso
 </programlisting>
-  <para>
-    If you want to customize your NixOS CD in more detail, or generate
-    other kinds of images, you might want to check out
-    <link xlink:href="https://github.com/nix-community/nixos-generators">nixos-generators</link>.
-    This can also be a good starting point when you want to use Nix to
-    build a <quote>minimal</quote> image that doesn’t include a NixOS
-    installation.
-  </para>
+  </section>
+  <section xml:id="sec-building-image-tech-notes">
+    <title>Technical Notes</title>
+    <para>
+      The config value enforcement is implemented via
+      <literal>mkImageMediaOverride = mkOverride 60;</literal> and
+      therefore primes over simple value assignments, but also yields to
+      <literal>mkForce</literal>.
+    </para>
+    <para>
+      This property allows image designers to implement in semantically
+      correct ways those configuration values upon which the correct
+      functioning of the image depends.
+    </para>
+    <para>
+      For example, the iso base image overrides those file systems which
+      it needs at a minimum for correct functioning, while the installer
+      base image overrides the entire file system layout because there
+      can’t be any other guarantees on a live medium than those given by
+      the live medium itself. The latter is especially true befor
+      formatting the target block device(s). On the other hand, the
+      netboot iso only overrides its minimum dependencies since netboot
+      images are always made-to-target.
+    </para>
+  </section>
 </chapter>
diff --git a/nixpkgs/nixos/doc/manual/from_md/development/linking-nixos-tests-to-packages.section.xml b/nixpkgs/nixos/doc/manual/from_md/development/linking-nixos-tests-to-packages.section.xml
new file mode 100644
index 000000000000..666bbec6162b
--- /dev/null
+++ b/nixpkgs/nixos/doc/manual/from_md/development/linking-nixos-tests-to-packages.section.xml
@@ -0,0 +1,10 @@
+<section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="sec-linking-nixos-tests-to-packages">
+  <title>Linking NixOS tests to packages</title>
+  <para>
+    You can link NixOS module tests to the packages that they exercised,
+    so that the tests can be run automatically during code review when
+    the package gets changed. This is
+    <link xlink:href="https://nixos.org/manual/nixpkgs/stable/#ssec-nixos-tests-linking">described
+    in the nixpkgs manual</link>.
+  </para>
+</section>
diff --git a/nixpkgs/nixos/doc/manual/from_md/development/running-nixos-tests-interactively.section.xml b/nixpkgs/nixos/doc/manual/from_md/development/running-nixos-tests-interactively.section.xml
index a2030e9c0739..17003cbcbfdc 100644
--- a/nixpkgs/nixos/doc/manual/from_md/development/running-nixos-tests-interactively.section.xml
+++ b/nixpkgs/nixos/doc/manual/from_md/development/running-nixos-tests-interactively.section.xml
@@ -6,7 +6,7 @@
   </para>
   <programlisting>
 $ nix-build nixos/tests/login.nix -A driverInteractive
-$ ./result/bin/nixos-test-driver
+$ ./result/bin/nixos-test-driver --interactive
 starting VDE switch for network 1
 &gt;
 </programlisting>
@@ -26,22 +26,11 @@ starting VDE switch for network 1
     the test (e.g. to debug the test script).
   </para>
   <para>
-    To just start and experiment with the VMs, run:
-  </para>
-  <programlisting>
-$ nix-build nixos/tests/login.nix -A driverInteractive
-$ ./result/bin/nixos-run-vms
-</programlisting>
-  <para>
-    The script <literal>nixos-run-vms</literal> starts the virtual
-    machines defined by test.
-  </para>
-  <para>
     You can re-use the VM states coming from a previous run by setting
     the <literal>--keep-vm-state</literal> flag.
   </para>
   <programlisting>
-$ ./result/bin/nixos-run-vms --keep-vm-state
+$ ./result/bin/nixos-test-driver --interactive --keep-vm-state
 </programlisting>
   <para>
     The machine state is stored in the
diff --git a/nixpkgs/nixos/doc/manual/from_md/release-notes/rl-2105.section.xml b/nixpkgs/nixos/doc/manual/from_md/release-notes/rl-2105.section.xml
index f4155d6f8ce6..fb11b19229e2 100644
--- a/nixpkgs/nixos/doc/manual/from_md/release-notes/rl-2105.section.xml
+++ b/nixpkgs/nixos/doc/manual/from_md/release-notes/rl-2105.section.xml
@@ -84,7 +84,7 @@
       </listitem>
       <listitem>
         <para>
-          The linux_latest kernel was updated to the 5.12 series. It
+          The linux_latest kernel was updated to the 5.13 series. It
           currently is not officially supported for use with the zfs
           filesystem. If you use zfs, you should use a different kernel
           version (either the LTS kernel, or track a specific one).
diff --git a/nixpkgs/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml b/nixpkgs/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
index ae9f97c139b4..1b0371a0179a 100644
--- a/nixpkgs/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
+++ b/nixpkgs/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
@@ -22,7 +22,7 @@
       </listitem>
       <listitem>
         <para>
-          kOps now defaults to 1.21.0, which uses containerd as the
+          kOps now defaults to 1.21.1, which uses containerd as the
           default runtime.
         </para>
       </listitem>
@@ -32,6 +32,11 @@
           from Python 3.8.
         </para>
       </listitem>
+      <listitem>
+        <para>
+          PostgreSQL now defaults to major version 13.
+        </para>
+      </listitem>
     </itemizedlist>
   </section>
   <section xml:id="sec-release-21.11-new-services">
@@ -120,6 +125,102 @@
           <link linkend="opt-services.prometheus.exporters.buildkite-agent.enable">services.prometheus.exporters.buildkite-agent</link>.
         </para>
       </listitem>
+      <listitem>
+        <para>
+          <link xlink:href="https://github.com/prometheus/influxdb_exporter">influxdb-exporter</link>
+          a Prometheus exporter that exports metrics received on an
+          InfluxDB compatible endpoint is now available as
+          <link linkend="opt-services.prometheus.exporters.influxdb.enable">services.prometheus.exporters.influxdb</link>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <link xlink:href="https://github.com/matrix-discord/mx-puppet-discord">mx-puppet-discord</link>,
+          a discord puppeting bridge for matrix. Available as
+          <link linkend="opt-services.mx-puppet-discord.enable">services.mx-puppet-discord</link>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <link xlink:href="https://www.meshcommander.com/meshcentral2/overview">MeshCentral</link>,
+          a remote administration service (<quote>TeamViewer but
+          self-hosted and with more features</quote>) is now available
+          with a package and a module:
+          <link linkend="opt-services.meshcentral.enable">services.meshcentral.enable</link>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <link xlink:href="https://github.com/Arksine/moonraker">moonraker</link>,
+          an API web server for Klipper. Available as
+          <link linkend="opt-services.moonraker.enable">moonraker</link>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <link xlink:href="https://github.com/influxdata/influxdb">influxdb2</link>,
+          a Scalable datastore for metrics, events, and real-time
+          analytics. Available as
+          <link linkend="opt-services.influxdb2.enable">services.influxdb2</link>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <link xlink:href="https://posativ.org/isso/">isso</link>, a
+          commenting server similar to Disqus. Available as
+          <link linkend="opt-services.isso.enable">isso</link>
+        </para>
+      </listitem>
+    </itemizedlist>
+    <itemizedlist spacing="compact">
+      <listitem>
+        <para>
+          <link xlink:href="https://www.navidrome.org/">navidrome</link>,
+          a personal music streaming server with subsonic-compatible
+          api. Available as
+          <link linkend="opt-services.navidrome.enable">navidrome</link>.
+        </para>
+      </listitem>
+    </itemizedlist>
+    <itemizedlist>
+      <listitem>
+        <para>
+          <link xlink:href="https://docs.fluidd.xyz/">fluidd</link>, a
+          Klipper web interface for managing 3d printers using
+          moonraker. Available as
+          <link linkend="opt-services.fluidd.enable">fluidd</link>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <link xlink:href="https://github.com/earnestly/sx">sx</link>,
+          a simple alternative to both xinit and startx for starting a
+          Xorg server. Available as
+          <link linkend="opt-services.xserver.displayManager.sx.enable">services.xserver.displayManager.sx</link>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <link xlink:href="https://postfixadmin.sourceforge.io/">postfixadmin</link>,
+          a web based virtual user administration interface for Postfix
+          mail servers. Available as
+          <link linkend="opt-services.postfixadmin.enable">postfixadmin</link>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <link xlink:href="https://sr.ht/~emersion/soju">soju</link>, a
+          user-friendly IRC bouncer. Available as
+          <link xlink:href="options.html#opt-services.soju.enable">services.soju</link>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <link xlink:href="https://nats.io/">nats</link>, a high
+          performance cloud and edge messaging system. Available as
+          <link linkend="opt-services.nats.enable">services.nats</link>.
+        </para>
+      </listitem>
     </itemizedlist>
   </section>
   <section xml:id="sec-release-21.11-incompatibilities">
@@ -127,8 +228,114 @@
     <itemizedlist>
       <listitem>
         <para>
+          The <literal>paperless</literal> module and package have been
+          removed. All users should migrate to the successor
+          <literal>paperless-ng</literal> instead. The Paperless project
+          <link xlink:href="https://github.com/the-paperless-project/paperless/commit/9b0063c9731f7c5f65b1852cb8caff97f5e40ba4">has
+          been archived</link> and advises all users to use
+          <literal>paperless-ng</literal> instead.
+        </para>
+        <para>
+          Users can use the <literal>services.paperless-ng</literal>
+          module as a replacement while noting the following
+          incompatibilities:
+        </para>
+        <itemizedlist spacing="compact">
+          <listitem>
+            <para>
+              <literal>services.paperless.ocrLanguages</literal> has no
+              replacement. Users should migrate to
+              <link xlink:href="options.html#opt-services.paperless-ng.extraConfig"><literal>services.paperless-ng.extraConfig</literal></link>
+              instead:
+            </para>
+          </listitem>
+        </itemizedlist>
+        <programlisting language="bash">
+{
+  services.paperless-ng.extraConfig = {
+    # Provide languages as ISO 639-2 codes
+    # separated by a plus (+) sign.
+    # https://en.wikipedia.org/wiki/List_of_ISO_639-2_codes
+    PAPERLESS_OCR_LANGUAGE = &quot;deu+eng+jpn&quot;; # German &amp; English &amp; Japanse
+  };
+}
+</programlisting>
+        <itemizedlist>
+          <listitem>
+            <para>
+              If you previously specified
+              <literal>PAPERLESS_CONSUME_MAIL_*</literal> settings in
+              <literal>services.paperless.extraConfig</literal> you
+              should remove those options now. You now
+              <emphasis>must</emphasis> define those settings in the
+              admin interface of paperless-ng.
+            </para>
+          </listitem>
+          <listitem>
+            <para>
+              Option <literal>services.paperless.manage</literal> no
+              longer exists. Use the script at
+              <literal>${services.paperless-ng.dataDir}/paperless-ng-manage</literal>
+              instead. Note that this script only exists after the
+              <literal>paperless-ng</literal> service has been started
+              at least once.
+            </para>
+          </listitem>
+          <listitem>
+            <para>
+              After switching to the new system configuration you should
+              run the Django management command to reindex your
+              documents and optionally create a user, if you don’t have
+              one already.
+            </para>
+            <para>
+              To do so, enter the data directory (the value of
+              <literal>services.paperless-ng.dataDir</literal>,
+              <literal>/var/lib/paperless</literal> by default), switch
+              to the paperless user and execute the management command
+              like below:
+            </para>
+            <programlisting>
+$ cd /var/lib/paperless
+$ su paperless -s /bin/sh
+$ ./paperless-ng-manage document_index reindex
+# if not already done create a user account, paperless-ng requires a login
+$ ./paperless-ng-manage createsuperuser
+Username (leave blank to use 'paperless'): my-user-name
+Email address: me@example.com
+Password: **********
+Password (again): **********
+Superuser created successfully.
+</programlisting>
+          </listitem>
+        </itemizedlist>
+      </listitem>
+      <listitem>
+        <para>
           The <literal>staticjinja</literal> package has been upgraded
-          from 1.0.4 to 3.0.1
+          from 1.0.4 to 4.1.0
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          Firefox v91 does not support addons with invalid signature
+          anymore. Firefox ESR needs to be used for nix addon support.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          The <literal>erigon</literal> ethereum node has moved to a new
+          database format in <literal>2021-05-04</literal>, and requires
+          a full resync
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          The <literal>erigon</literal> ethereum node has moved it’s
+          database location in <literal>2021-08-03</literal>, users
+          upgrading must manually move their chaindata (see
+          <link xlink:href="https://github.com/ledgerwatch/erigon/releases/tag/v2021.08.03">release
+          notes</link>).
         </para>
       </listitem>
       <listitem>
@@ -550,6 +757,158 @@
           6.0.0 to 9.0.0
         </para>
       </listitem>
+      <listitem>
+        <para>
+          <literal>tt-rss</literal> was upgraded to the commit on
+          2021-06-21, which has breaking changes. If you use
+          <literal>services.tt-rss.extraConfig</literal> you should
+          migrate to the <literal>putenv</literal>-style configuration.
+          See
+          <link xlink:href="https://community.tt-rss.org/t/rip-config-php-hello-classes-config-php/4337">this
+          Discourse post</link> in the tt-rss forums for more details.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          The following Visual Studio Code extensions were renamed to
+          keep the naming convention uniform.
+        </para>
+        <itemizedlist spacing="compact">
+          <listitem>
+            <para>
+              <literal>bbenoist.Nix</literal> -&gt;
+              <literal>bbenoist.nix</literal>
+            </para>
+          </listitem>
+          <listitem>
+            <para>
+              <literal>CoenraadS.bracket-pair-colorizer</literal> -&gt;
+              <literal>coenraads.bracket-pair-colorizer</literal>
+            </para>
+          </listitem>
+          <listitem>
+            <para>
+              <literal>golang.Go</literal> -&gt;
+              <literal>golang.go</literal>
+            </para>
+          </listitem>
+        </itemizedlist>
+      </listitem>
+      <listitem>
+        <para>
+          <literal>services.uptimed</literal> now uses
+          <literal>/var/lib/uptimed</literal> as its stateDirectory
+          instead of <literal>/var/spool/uptimed</literal>. Make sure to
+          move all files to the new directory.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          Deprecated package aliases in <literal>emacs.pkgs.*</literal>
+          have been removed. These aliases were remnants of the old
+          Emacs package infrastructure. We now use exact upstream names
+          wherever possible.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <literal>programs.neovim.runtime</literal> switched to a
+          <literal>linkFarm</literal> internally, making it impossible
+          to use wildcards in the <literal>source</literal> argument.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          The <literal>openrazer</literal> and
+          <literal>openrazer-daemon</literal> packages as well as the
+          <literal>hardware.openrazer</literal> module now require users
+          to be members of the <literal>openrazer</literal> group
+          instead of <literal>plugdev</literal>. With this change, users
+          no longer need be granted the entire set of
+          <literal>plugdev</literal> group permissions, which can
+          include permissions other than those required by
+          <literal>openrazer</literal>. This is desirable from a
+          security point of view. The setting
+          <link xlink:href="options.html#opt-services.hardware.openrazer.users"><literal>harware.openrazer.users</literal></link>
+          can be used to add users to the <literal>openrazer</literal>
+          group.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          The fontconfig service’s dpi option has been removed.
+          Fontconfig should use Xft settings by default so there’s no
+          need to override one value in multiple places. The user can
+          set DPI via ~/.Xresources properly, or at the system level per
+          monitor, or as a last resort at the system level with
+          <literal>services.xserver.dpi</literal>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          The <literal>yambar</literal> package has been split into
+          <literal>yambar</literal> and
+          <literal>yambar-wayland</literal>, corresponding to the xorg
+          and wayland backend respectively. Please switch to
+          <literal>yambar-wayland</literal> if you are on wayland.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          The <literal>services.minio</literal> module gained an
+          additional option <literal>consoleAddress</literal>, that
+          configures the address and port the web UI is listening, it
+          defaults to <literal>:9001</literal>. To be able to access the
+          web UI this port needs to be opened in the firewall.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          The <literal>varnish</literal> package was upgraded from 6.3.x
+          to 6.5.x. <literal>varnish60</literal> for the last LTS
+          release is also still available.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          The <literal>kubernetes</literal> package was upgraded to
+          1.22. The <literal>kubernetes.apiserver.kubeletHttps</literal>
+          option was removed and HTTPS is always used.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          The attribute <literal>linuxPackages_latest_hardened</literal>
+          was dropped because the hardened patches lag behind the
+          upstream kernel which made version bumps harder. If you want
+          to use a hardened kernel, please pin it explicitly with a
+          versioned attribute such as
+          <literal>linuxPackages_5_10_hardened</literal>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          The <literal>nomad</literal> package now defaults to a 1.1.x
+          release instead of 1.0.x
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          If <literal>exfat</literal> is included in
+          <literal>boot.supportedFilesystems</literal> and when using
+          kernel 5.7 or later, the <literal>exfatprogs</literal>
+          user-space utilities are used instead of
+          <literal>exfat</literal>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          The <literal>todoman</literal> package was upgraded from 3.9.0
+          to 4.0.0. This introduces breaking changes in the
+          <link xlink:href="https://todoman.readthedocs.io/en/stable/configure.html#configuration-file">configuration
+          file</link> format.
+        </para>
+      </listitem>
     </itemizedlist>
   </section>
   <section xml:id="sec-release-21.11-notable-changes">
@@ -595,6 +954,14 @@
       </listitem>
       <listitem>
         <para>
+          <literal>qtile</literal> hase been updated from
+          <quote>0.16.0</quote> to <quote>0.18.0</quote>, please check
+          <link xlink:href="https://github.com/qtile/qtile/blob/master/CHANGELOG">qtile
+          changelog</link> for changes.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           The <literal>claws-mail</literal> package now references the
           new GTK+ 3 release branch, major version 4. To use the GTK+ 2
           releases, one can install the
@@ -617,6 +984,143 @@
           be removed in 22.05.
         </para>
       </listitem>
+      <listitem>
+        <para>
+          The order of NSS (host) modules has been brought in line with
+          upstream recommendations:
+        </para>
+        <itemizedlist spacing="compact">
+          <listitem>
+            <para>
+              The <literal>myhostname</literal> module is placed before
+              the <literal>resolve</literal> (optional) and
+              <literal>dns</literal> entries, but after
+              <literal>file</literal> (to allow overriding via
+              <literal>/etc/hosts</literal> /
+              <literal>networking.extraHosts</literal>, and prevent ISPs
+              with catchall-DNS resolvers from hijacking
+              <literal>.localhost</literal> domains)
+            </para>
+          </listitem>
+          <listitem>
+            <para>
+              The <literal>mymachines</literal> module, which provides
+              hostname resolution for local containers (registered with
+              <literal>systemd-machined</literal>) is placed to the
+              front, to make sure its mappings are preferred over other
+              resolvers.
+            </para>
+          </listitem>
+          <listitem>
+            <para>
+              If systemd-networkd is enabled, the
+              <literal>resolve</literal> module is placed before
+              <literal>files</literal> and
+              <literal>myhostname</literal>, as it provides the same
+              logic internally, with caching.
+            </para>
+          </listitem>
+          <listitem>
+            <para>
+              The <literal>mdns(_minimal)</literal> module has been
+              updated to the new priorities.
+            </para>
+          </listitem>
+        </itemizedlist>
+        <para>
+          If you use your own NSS host modules, make sure to update your
+          priorities according to these rules:
+        </para>
+        <itemizedlist spacing="compact">
+          <listitem>
+            <para>
+              NSS modules which should be queried before
+              <literal>resolved</literal> DNS resolution should use
+              mkBefore.
+            </para>
+          </listitem>
+          <listitem>
+            <para>
+              NSS modules which should be queried after
+              <literal>resolved</literal>, <literal>files</literal> and
+              <literal>myhostname</literal>, but before
+              <literal>dns</literal> should use the default priority
+            </para>
+          </listitem>
+          <listitem>
+            <para>
+              NSS modules which should come after <literal>dns</literal>
+              should use mkAfter.
+            </para>
+          </listitem>
+        </itemizedlist>
+      </listitem>
+      <listitem>
+        <para>
+          The
+          <link xlink:href="options.html#opt-networking.wireless.iwd.enable">networking.wireless.iwd</link>
+          module has a new
+          <link xlink:href="options.html#opt-networking.wireless.iwd.settings">networking.wireless.iwd.settings</link>
+          option.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          The
+          <link xlink:href="options.html#opt-services.syncoid.enable">services.syncoid.enable</link>
+          module now properly drops ZFS permissions after usage. Before
+          it delegated permissions to whole pools instead of datasets
+          and didn’t clean up after execution. You can manually look
+          this up for your pools by running
+          <literal>zfs allow your-pool-name</literal> and use
+          <literal>zfs unallow syncoid your-pool-name</literal> to clean
+          this up.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          Zfs: <literal>latestCompatibleLinuxPackages</literal> is now
+          exported on the zfs package. One can use
+          <literal>boot.kernelPackages = config.boot.zfs.package.latestCompatibleLinuxPackages;</literal>
+          to always track the latest compatible kernel with a given
+          version of zfs.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          Nginx will use the value of
+          <literal>sslTrustedCertificate</literal> if provided for a
+          virtual host, even if <literal>enableACME</literal> is set.
+          This is useful for providers not using the same certificate to
+          sign OCSP responses and server certificates.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <literal>lib.formats.yaml</literal>’s
+          <literal>generate</literal> will not generate JSON anymore,
+          but instead use more of the YAML-specific syntax.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          GNOME desktop environment now enables
+          <literal>QGnomePlatform</literal> as the Qt platform theme,
+          which should avoid crashes when opening file chooser dialogs
+          in Qt apps by using XDG desktop portal. Additionally, it will
+          make the apps fit better visually.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <literal>rofi</literal> has been updated from
+          <quote>1.6.1</quote> to <quote>1.7.0</quote>, one important
+          thing is the removal of the old xresources based configuration
+          setup. Read more
+          <link xlink:href="https://github.com/davatorium/rofi/blob/cb12e6fc058f4a0f4f/Changelog#L1">in
+          rofi’s changelog</link>.
+        </para>
+      </listitem>
     </itemizedlist>
   </section>
 </section>
diff --git a/nixpkgs/nixos/doc/manual/installation/installing.xml b/nixpkgs/nixos/doc/manual/installation/installing.xml
index d019bb318096..ff2425e725e8 100644
--- a/nixpkgs/nixos/doc/manual/installation/installing.xml
+++ b/nixpkgs/nixos/doc/manual/installation/installing.xml
@@ -64,14 +64,51 @@
    </para>
 
    <para>
-    To manually configure the network on the graphical installer, first disable
-    network-manager with <command>systemctl stop NetworkManager</command>.
+    On the graphical installer, you can configure the network, wifi included,
+    through NetworkManager. Using the <command>nmtui</command> program, you
+    can do so even in a non-graphical session. If you prefer to configure the
+    network manually, disable NetworkManager with
+    <command>systemctl stop NetworkManager</command>.
    </para>
 
    <para>
-    To manually configure the wifi on the minimal installer, run
-    <command>wpa_supplicant -B -i interface -c &lt;(wpa_passphrase 'SSID'
-    'key')</command>.
+    On the minimal installer, NetworkManager is not available, so configuration
+    must be perfomed manually. To configure the wifi, first start wpa_supplicant
+    with <command>sudo systemctl start wpa_supplicant</command>, then run
+    <command>wpa_cli</command>. For most home networks, you need to type
+    in the following commands:
+    <programlisting>
+<prompt>&gt; </prompt>add_network
+0
+<prompt>&gt; </prompt>set_network 0 ssid "myhomenetwork"
+OK
+<prompt>&gt; </prompt>set_network 0 psk "mypassword"
+OK
+<prompt>&gt; </prompt>set_network 0 key_mgmt WPA-PSK
+OK
+<prompt>&gt; </prompt>enable_network 0
+OK
+    </programlisting>
+    For enterprise networks, for example <emphasis>eduroam</emphasis>, instead do:
+    <programlisting>
+<prompt>&gt; </prompt>add_network
+0
+<prompt>&gt; </prompt>set_network 0 ssid "eduroam"
+OK
+<prompt>&gt; </prompt>set_network 0 identity "myname@example.com"
+OK
+<prompt>&gt; </prompt>set_network 0 password "mypassword"
+OK
+<prompt>&gt; </prompt>set_network 0 key_mgmt WPA-EAP
+OK
+<prompt>&gt; </prompt>enable_network 0
+OK
+    </programlisting>
+    When successfully connected, you should see a line such as this one
+    <programlisting>
+&lt;3&gt;CTRL-EVENT-CONNECTED - Connection to 32:85:ab:ef:24:5c completed [id=0 id_str=]
+    </programlisting>
+    you can now leave <command>wpa_cli</command> by typing <command>quit</command>.
    </para>
 
    <para>
diff --git a/nixpkgs/nixos/doc/manual/release-notes/rl-2105.section.md b/nixpkgs/nixos/doc/manual/release-notes/rl-2105.section.md
index 49b97c203fe6..359f2e5b2e58 100644
--- a/nixpkgs/nixos/doc/manual/release-notes/rl-2105.section.md
+++ b/nixpkgs/nixos/doc/manual/release-notes/rl-2105.section.md
@@ -30,7 +30,7 @@ In addition to numerous new and upgraded packages, this release has the followin
 
   - Python optimizations were disabled again. Builds with optimizations enabled are not reproducible. Optimizations can now be enabled with an option.
 
-- The linux_latest kernel was updated to the 5.12 series. It currently is not officially supported for use with the zfs filesystem. If you use zfs, you should use a different kernel version (either the LTS kernel, or track a specific one).
+- The linux_latest kernel was updated to the 5.13 series. It currently is not officially supported for use with the zfs filesystem. If you use zfs, you should use a different kernel version (either the LTS kernel, or track a specific one).
 
 ## New Services {#sec-release-21.05-new-services}
 
diff --git a/nixpkgs/nixos/doc/manual/release-notes/rl-2111.section.md b/nixpkgs/nixos/doc/manual/release-notes/rl-2111.section.md
index 172fe9bbcadc..3df77d21d827 100644
--- a/nixpkgs/nixos/doc/manual/release-notes/rl-2111.section.md
+++ b/nixpkgs/nixos/doc/manual/release-notes/rl-2111.section.md
@@ -7,10 +7,13 @@ In addition to numerous new and upgraded packages, this release has the followin
 ## Highlights {#sec-release-21.11-highlights}
 
 - PHP now defaults to PHP 8.0, updated from 7.4.
-- kOps now defaults to 1.21.0, which uses containerd as the default runtime.
+
+- kOps now defaults to 1.21.1, which uses containerd as the default runtime.
 
 - `python3` now defaults to Python 3.9, updated from Python 3.8.
 
+- PostgreSQL now defaults to major version 13.
+
 ## New Services {#sec-release-21.11-new-services}
 
 - [btrbk](https://digint.ch/btrbk/index.html), a backup tool for btrfs subvolumes, taking advantage of btrfs specific capabilities to create atomic snapshots and transfer them incrementally to your backup locations. Available as [services.btrbk](options.html#opt-services.brtbk.instances).
@@ -37,9 +40,90 @@ pt-services.clipcat.enable).
 
 - [buildkite-agent-metrics](https://github.com/buildkite/buildkite-agent-metrics), a command-line tool for collecting Buildkite agent metrics, now has a Prometheus exporter available as [services.prometheus.exporters.buildkite-agent](#opt-services.prometheus.exporters.buildkite-agent.enable).
 
+- [influxdb-exporter](https://github.com/prometheus/influxdb_exporter) a Prometheus exporter that exports metrics received on an InfluxDB compatible endpoint is now available as [services.prometheus.exporters.influxdb](#opt-services.prometheus.exporters.influxdb.enable).
+
+- [mx-puppet-discord](https://github.com/matrix-discord/mx-puppet-discord), a discord puppeting bridge for matrix. Available as [services.mx-puppet-discord](#opt-services.mx-puppet-discord.enable).
+
+- [MeshCentral](https://www.meshcommander.com/meshcentral2/overview), a remote administration service ("TeamViewer but self-hosted and with more features") is now available with a package and a module: [services.meshcentral.enable](#opt-services.meshcentral.enable)
+
+- [moonraker](https://github.com/Arksine/moonraker), an API web server for Klipper.
+  Available as [moonraker](#opt-services.moonraker.enable).
+
+- [influxdb2](https://github.com/influxdata/influxdb), a Scalable datastore for metrics, events, and real-time analytics. Available as [services.influxdb2](#opt-services.influxdb2.enable).
+
+- [isso](https://posativ.org/isso/), a commenting server similar to Disqus.
+  Available as [isso](#opt-services.isso.enable)
+
+* [navidrome](https://www.navidrome.org/), a personal music streaming server with
+subsonic-compatible api. Available as [navidrome](#opt-services.navidrome.enable).
+
+- [fluidd](https://docs.fluidd.xyz/), a Klipper web interface for managing 3d printers using moonraker. Available as [fluidd](#opt-services.fluidd.enable).
+
+- [sx](https://github.com/earnestly/sx), a simple alternative to both xinit and startx for starting a Xorg server. Available as [services.xserver.displayManager.sx](#opt-services.xserver.displayManager.sx.enable)
+
+- [postfixadmin](https://postfixadmin.sourceforge.io/), a web based virtual user administration interface for Postfix mail servers. Available as [postfixadmin](#opt-services.postfixadmin.enable).
+
+- [soju](https://sr.ht/~emersion/soju), a user-friendly IRC bouncer. Available as [services.soju](options.html#opt-services.soju.enable).
+
+- [nats](https://nats.io/), a high performance cloud and edge messaging system. Available as [services.nats](#opt-services.nats.enable).
+
 ## Backward Incompatibilities {#sec-release-21.11-incompatibilities}
 
-- The `staticjinja` package has been upgraded from 1.0.4 to 3.0.1
+
+- The `paperless` module and package have been removed. All users should migrate to the
+  successor `paperless-ng` instead. The Paperless project [has been
+  archived](https://github.com/the-paperless-project/paperless/commit/9b0063c9731f7c5f65b1852cb8caff97f5e40ba4)
+  and advises all users to use `paperless-ng` instead.
+
+  Users can use the `services.paperless-ng` module as a replacement while noting the following incompatibilities:
+    - `services.paperless.ocrLanguages` has no replacement. Users should migrate to [`services.paperless-ng.extraConfig`](options.html#opt-services.paperless-ng.extraConfig) instead:
+     ```nix
+     {
+       services.paperless-ng.extraConfig = {
+         # Provide languages as ISO 639-2 codes
+         # separated by a plus (+) sign.
+         # https://en.wikipedia.org/wiki/List_of_ISO_639-2_codes
+         PAPERLESS_OCR_LANGUAGE = "deu+eng+jpn"; # German & English & Japanse
+       };
+     }
+     ```
+
+    - If you previously specified `PAPERLESS_CONSUME_MAIL_*` settings in
+      `services.paperless.extraConfig` you should remove those options now. You
+      now *must* define those settings in the admin interface of paperless-ng.
+
+    - Option `services.paperless.manage` no longer exists.
+      Use the script at `${services.paperless-ng.dataDir}/paperless-ng-manage` instead.
+      Note that this script only exists after the `paperless-ng` service has been
+      started at least once.
+
+    - After switching to the new system configuration you should run the Django
+      management command to reindex your documents and optionally create a user,
+      if you don't have one already.
+
+      To do so, enter the data directory (the value of
+      `services.paperless-ng.dataDir`, `/var/lib/paperless` by default), switch
+      to the paperless user and execute the management command like below:
+      ```
+      $ cd /var/lib/paperless
+      $ su paperless -s /bin/sh
+      $ ./paperless-ng-manage document_index reindex
+      # if not already done create a user account, paperless-ng requires a login
+      $ ./paperless-ng-manage createsuperuser
+      Username (leave blank to use 'paperless'): my-user-name
+      Email address: me@example.com
+      Password: **********
+      Password (again): **********
+      Superuser created successfully.
+      ```
+
+- The `staticjinja` package has been upgraded from 1.0.4 to 4.1.0
+
+- Firefox v91 does not support addons with invalid signature anymore. Firefox ESR needs to be used for nix addon support.
+
+- The `erigon` ethereum node has moved to a new database format in `2021-05-04`, and requires a full resync
+
+- The `erigon` ethereum node has moved it's database location in `2021-08-03`, users upgrading must manually move their chaindata (see [release notes](https://github.com/ledgerwatch/erigon/releases/tag/v2021.08.03)).
 
 - `services.geoip-updater` was broken and has been replaced by [services.geoipupdate](options.html#opt-services.geoipupdate.enable).
 
@@ -140,6 +224,47 @@ pt-services.clipcat.enable).
 
 - the `mingw-64` package has been upgraded from 6.0.0 to 9.0.0
 
+- `tt-rss` was upgraded to the commit on 2021-06-21, which has breaking changes. If you use `services.tt-rss.extraConfig` you should migrate to the `putenv`-style configuration. See [this Discourse post](https://community.tt-rss.org/t/rip-config-php-hello-classes-config-php/4337) in the tt-rss forums for more details.
+
+- The following Visual Studio Code extensions were renamed to keep the naming convention uniform.
+  - `bbenoist.Nix` -> `bbenoist.nix`
+  - `CoenraadS.bracket-pair-colorizer` -> `coenraads.bracket-pair-colorizer`
+  - `golang.Go` -> `golang.go`
+
+- `services.uptimed` now uses `/var/lib/uptimed` as its stateDirectory instead of `/var/spool/uptimed`. Make sure to move all files to the new directory.
+
+- Deprecated package aliases in `emacs.pkgs.*` have been removed. These aliases were remnants of the old Emacs package infrastructure. We now use exact upstream names wherever possible.
+
+- `programs.neovim.runtime` switched to a `linkFarm` internally, making it impossible to use wildcards in the `source` argument.
+
+- The `openrazer` and `openrazer-daemon` packages as well as the `hardware.openrazer` module now require users to be members of the `openrazer` group instead of `plugdev`. With this change, users no longer need be granted the entire set of `plugdev` group permissions, which can include permissions other than those required by `openrazer`. This is desirable from a security point of view. The setting [`harware.openrazer.users`](options.html#opt-services.hardware.openrazer.users) can be used to add users to the `openrazer` group.
+
+- The fontconfig service's dpi option has been removed.
+  Fontconfig should use Xft settings by default so there's no need to override one value in multiple places.
+  The user can set DPI via ~/.Xresources properly, or at the system level per monitor, or as a last resort at the system level with `services.xserver.dpi`.
+
+- The `yambar` package has been split into `yambar` and `yambar-wayland`, corresponding to the xorg and wayland backend respectively. Please switch to `yambar-wayland` if you are on wayland.
+
+- The `services.minio` module gained an additional option `consoleAddress`, that
+configures the address and port the web UI is listening, it defaults to `:9001`.
+To be able to access the web UI this port needs to be opened in the firewall.
+
+- The `varnish` package was upgraded from 6.3.x to 6.5.x. `varnish60` for the last LTS release is also still available.
+
+- The `kubernetes` package was upgraded to 1.22.  The `kubernetes.apiserver.kubeletHttps` option was removed and HTTPS is always used.
+
+- The attribute `linuxPackages_latest_hardened` was dropped because the hardened patches
+  lag behind the upstream kernel which made version bumps harder. If you want to use
+  a hardened kernel, please pin it explicitly with a versioned attribute such as
+  `linuxPackages_5_10_hardened`.
+
+- The `nomad` package now defaults to a 1.1.x release instead of 1.0.x
+
+- If `exfat` is included in `boot.supportedFilesystems` and when using kernel 5.7
+  or later, the `exfatprogs` user-space utilities are used instead of `exfat`.
+
+- The `todoman` package was upgraded from 3.9.0 to 4.0.0. This introduces breaking changes in the [configuration file](https://todoman.readthedocs.io/en/stable/configure.html#configuration-file) format.
+
 ## Other Notable Changes {#sec-release-21.11-notable-changes}
 
 - The setting [`services.openssh.logLevel`](options.html#opt-services.openssh.logLevel) `"VERBOSE"` `"INFO"`. This brings NixOS in line with upstream and other Linux distributions, and reduces log spam on servers due to bruteforcing botnets.
@@ -150,8 +275,48 @@ pt-services.clipcat.enable).
 
 - `python3` now defaults to Python 3.9. Python 3.9 introduces many deprecation warnings, please look at the [What's New In Python 3.9 post](https://docs.python.org/3/whatsnew/3.9.html) for more information.
 
+- `qtile` hase been updated from '0.16.0' to '0.18.0', please check [qtile changelog](https://github.com/qtile/qtile/blob/master/CHANGELOG) for changes.
+
 - The `claws-mail` package now references the new GTK+ 3 release branch, major version 4. To use the GTK+ 2 releases, one can install the `claws-mail-gtk2` package.
 
 - The wordpress module provides a new interface which allows to use different webservers with the new option [`services.wordpress.webserver`](options.html#opt-services.wordpress.webserver).  Currently `httpd` and `nginx` are supported. The definitions of wordpress sites should now be set in [`services.wordpress.sites`](options.html#opt-services.wordpress.sites).
 
   Sites definitions that use the old interface are automatically migrated in the new option. This backward compatibility will be removed in 22.05.
+
+- The order of NSS (host) modules has been brought in line with upstream
+  recommendations:
+
+  - The `myhostname` module is placed before the `resolve` (optional) and `dns`
+    entries, but after `file` (to allow overriding via `/etc/hosts` /
+    `networking.extraHosts`, and prevent ISPs with catchall-DNS resolvers from
+    hijacking `.localhost` domains)
+  - The `mymachines` module, which provides hostname resolution for local
+    containers (registered with `systemd-machined`) is placed to the front, to
+    make sure its mappings are preferred over other resolvers.
+  - If systemd-networkd is enabled, the `resolve` module is placed before
+    `files` and `myhostname`, as it provides the same logic internally, with
+    caching.
+  - The `mdns(_minimal)` module has been updated to the new priorities.
+
+  If you use your own NSS host modules, make sure to update your priorities
+  according to these rules:
+
+  - NSS modules which should be queried before `resolved` DNS resolution should
+    use mkBefore.
+  - NSS modules which should be queried after `resolved`, `files` and
+    `myhostname`, but before `dns` should use the default priority
+  - NSS modules which should come after `dns` should use mkAfter.
+
+- The [networking.wireless.iwd](options.html#opt-networking.wireless.iwd.enable) module has a new [networking.wireless.iwd.settings](options.html#opt-networking.wireless.iwd.settings) option.
+
+- The [services.syncoid.enable](options.html#opt-services.syncoid.enable) module now properly drops ZFS permissions after usage. Before it delegated permissions to whole pools instead of datasets and didn't clean up after execution. You can manually look this up for your pools by running `zfs allow your-pool-name` and use `zfs unallow syncoid your-pool-name` to clean this up.
+
+- Zfs: `latestCompatibleLinuxPackages` is now exported on the zfs package. One can use `boot.kernelPackages = config.boot.zfs.package.latestCompatibleLinuxPackages;` to always track the latest compatible kernel with a given version of zfs.
+
+- Nginx will use the value of `sslTrustedCertificate` if provided for a virtual host, even if `enableACME` is set. This is useful for providers not using the same certificate to sign OCSP responses and server certificates.
+
+- `lib.formats.yaml`'s `generate` will not generate JSON anymore, but instead use more of the YAML-specific syntax.
+
+- GNOME desktop environment now enables `QGnomePlatform` as the Qt platform theme, which should avoid crashes when opening file chooser dialogs in Qt apps by using XDG desktop portal. Additionally, it will make the apps fit better visually.
+
+- `rofi` has been updated from '1.6.1' to '1.7.0', one important thing is the removal of the old xresources based configuration setup. Read more [in rofi's changelog](https://github.com/davatorium/rofi/blob/cb12e6fc058f4a0f4f/Changelog#L1).
diff --git a/nixpkgs/nixos/lib/make-zfs-image.nix b/nixpkgs/nixos/lib/make-zfs-image.nix
new file mode 100644
index 000000000000..40648ca24d4d
--- /dev/null
+++ b/nixpkgs/nixos/lib/make-zfs-image.nix
@@ -0,0 +1,333 @@
+# Note: This is a private API, internal to NixOS. Its interface is subject
+# to change without notice.
+#
+# The result of this builder is two disk images:
+#
+#  * `boot` - a small disk formatted with FAT to be used for /boot. FAT is
+#    chosen to support EFI.
+#  * `root` - a larger disk with a zpool taking the entire disk.
+#
+# This two-disk approach is taken to satisfy ZFS's requirements for
+# autoexpand.
+#
+# # Why doesn't autoexpand work with ZFS in a partition?
+#
+# When ZFS owns the whole disk doesn’t really use a partition: it has
+# a marker partition at the start and a marker partition at the end of
+# the disk.
+#
+# If ZFS is constrained to a partition, ZFS leaves expanding the partition
+# up to the user. Obviously, the user may not choose to do so.
+#
+# Once the user expands the partition, calling zpool online -e expands the
+# vdev to use the whole partition. It doesn’t happen automatically
+# presumably because zed doesn’t get an event saying it’s partition grew,
+# whereas it can and does get an event saying the whole disk it is on is
+# now larger.
+{ lib
+, pkgs
+, # The NixOS configuration to be installed onto the disk image.
+  config
+
+, # size of the FAT boot disk, in megabytes.
+  bootSize ? 1024
+
+, # The size of the root disk, in megabytes.
+  rootSize ? 2048
+
+, # The name of the ZFS pool
+  rootPoolName ? "tank"
+
+, # zpool properties
+  rootPoolProperties ? {
+    autoexpand = "on";
+  }
+, # pool-wide filesystem properties
+  rootPoolFilesystemProperties ? {
+    acltype = "posixacl";
+    atime = "off";
+    compression = "on";
+    mountpoint = "legacy";
+    xattr = "sa";
+  }
+
+, # datasets, with per-attribute options:
+  # mount: (optional) mount point in the VM
+  # properties: (optional) ZFS properties on the dataset, like filesystemProperties
+  # Notes:
+  # 1. datasets will be created from shorter to longer names as a simple topo-sort
+  # 2. you should define a root's dataset's mount for `/`
+  datasets ? { }
+
+, # The files and directories to be placed in the target file system.
+  # This is a list of attribute sets {source, target} where `source'
+  # is the file system object (regular file or directory) to be
+  # grafted in the file system at path `target'.
+  contents ? []
+
+, # The initial NixOS configuration file to be copied to
+  # /etc/nixos/configuration.nix. This configuration will be embedded
+  # inside a configuration which includes the described ZFS fileSystems.
+  configFile ? null
+
+, # Shell code executed after the VM has finished.
+  postVM ? ""
+
+, name ? "nixos-disk-image"
+
+, # Disk image format, one of qcow2, qcow2-compressed, vdi, vpc, raw.
+  format ? "raw"
+
+, # Include a copy of Nixpkgs in the disk image
+  includeChannel ? true
+}:
+let
+  formatOpt = if format == "qcow2-compressed" then "qcow2" else format;
+
+  compress = lib.optionalString (format == "qcow2-compressed") "-c";
+
+  filenameSuffix = "." + {
+    qcow2 = "qcow2";
+    vdi = "vdi";
+    vpc = "vhd";
+    raw = "img";
+  }.${formatOpt} or formatOpt;
+  bootFilename = "nixos.boot${filenameSuffix}";
+  rootFilename = "nixos.root${filenameSuffix}";
+
+  # FIXME: merge with channel.nix / make-channel.nix.
+  channelSources =
+    let
+      nixpkgs = lib.cleanSource pkgs.path;
+    in
+      pkgs.runCommand "nixos-${config.system.nixos.version}" {} ''
+        mkdir -p $out
+        cp -prd ${nixpkgs.outPath} $out/nixos
+        chmod -R u+w $out/nixos
+        if [ ! -e $out/nixos/nixpkgs ]; then
+          ln -s . $out/nixos/nixpkgs
+        fi
+        rm -rf $out/nixos/.git
+        echo -n ${config.system.nixos.versionSuffix} > $out/nixos/.version-suffix
+      '';
+
+  closureInfo = pkgs.closureInfo {
+    rootPaths = [ config.system.build.toplevel ]
+    ++ (lib.optional includeChannel channelSources);
+  };
+
+  modulesTree = pkgs.aggregateModules
+    (with config.boot.kernelPackages; [ kernel zfs ]);
+
+  tools = lib.makeBinPath (
+    with pkgs; [
+      config.system.build.nixos-enter
+      config.system.build.nixos-install
+      dosfstools
+      e2fsprogs
+      gptfdisk
+      nix
+      parted
+      utillinux
+      zfs
+    ]
+  );
+
+  hasDefinedMount  = disk: ((disk.mount or null) != null);
+
+  stringifyProperties = prefix: properties: lib.concatStringsSep " \\\n" (
+    lib.mapAttrsToList
+      (
+        property: value: "${prefix} ${lib.escapeShellArg property}=${lib.escapeShellArg value}"
+      )
+      properties
+  );
+
+  featuresToProperties = features:
+    lib.listToAttrs
+      (builtins.map (feature: {
+        name = "feature@${feature}";
+        value = "enabled";
+      }) features);
+
+  createDatasets =
+    let
+      datasetlist = lib.mapAttrsToList lib.nameValuePair datasets;
+      sorted = lib.sort (left: right: (lib.stringLength left.name) < (lib.stringLength right.name)) datasetlist;
+      cmd = { name, value }:
+        let
+          properties = stringifyProperties "-o" (value.properties or {});
+        in
+          "zfs create -p ${properties} ${name}";
+    in
+      lib.concatMapStringsSep "\n" cmd sorted;
+
+  mountDatasets =
+    let
+      datasetlist = lib.mapAttrsToList lib.nameValuePair datasets;
+      mounts = lib.filter ({ value, ... }: hasDefinedMount value) datasetlist;
+      sorted = lib.sort (left: right: (lib.stringLength left.value.mount) < (lib.stringLength right.value.mount)) mounts;
+      cmd = { name, value }:
+        ''
+          mkdir -p /mnt${lib.escapeShellArg value.mount}
+          mount -t zfs ${name} /mnt${lib.escapeShellArg value.mount}
+        '';
+    in
+      lib.concatMapStringsSep "\n" cmd sorted;
+
+  unmountDatasets =
+    let
+      datasetlist = lib.mapAttrsToList lib.nameValuePair datasets;
+      mounts = lib.filter ({ value, ... }: hasDefinedMount value) datasetlist;
+      sorted = lib.sort (left: right: (lib.stringLength left.value.mount) > (lib.stringLength right.value.mount)) mounts;
+      cmd = { name, value }:
+        ''
+          umount /mnt${lib.escapeShellArg value.mount}
+        '';
+    in
+      lib.concatMapStringsSep "\n" cmd sorted;
+
+
+  fileSystemsCfgFile =
+    let
+      mountable = lib.filterAttrs (_: value: hasDefinedMount value) datasets;
+    in
+      pkgs.runCommand "filesystem-config.nix" {
+        buildInputs = with pkgs; [ jq nixpkgs-fmt ];
+        filesystems = builtins.toJSON {
+          fileSystems = lib.mapAttrs'
+            (
+              dataset: attrs:
+                {
+                  name = attrs.mount;
+                  value = {
+                    fsType = "zfs";
+                    device = "${dataset}";
+                  };
+                }
+            )
+            mountable;
+        };
+        passAsFile = [ "filesystems" ];
+      } ''
+      (
+        echo "builtins.fromJSON '''"
+        jq . < "$filesystemsPath"
+        echo "'''"
+      ) > $out
+
+      nixpkgs-fmt $out
+    '';
+
+  mergedConfig =
+    if configFile == null
+    then fileSystemsCfgFile
+    else
+      pkgs.runCommand "configuration.nix" {
+        buildInputs = with pkgs; [ nixpkgs-fmt ];
+      }
+        ''
+          (
+            echo '{ imports = ['
+            printf "(%s)\n" "$(cat ${fileSystemsCfgFile})";
+            printf "(%s)\n" "$(cat ${configFile})";
+            echo ']; }'
+          ) > $out
+
+          nixpkgs-fmt $out
+        '';
+
+  image = (
+    pkgs.vmTools.override {
+      rootModules =
+        [ "zfs" "9p" "9pnet_virtio" "virtio_pci" "virtio_blk" ] ++
+          (pkgs.lib.optional (pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64) "rtc_cmos");
+      kernel = modulesTree;
+    }
+  ).runInLinuxVM (
+    pkgs.runCommand name
+      {
+        QEMU_OPTS = "-drive file=$bootDiskImage,if=virtio,cache=unsafe,werror=report"
+         + " -drive file=$rootDiskImage,if=virtio,cache=unsafe,werror=report";
+        preVM = ''
+          PATH=$PATH:${pkgs.qemu_kvm}/bin
+          mkdir $out
+          bootDiskImage=boot.raw
+          qemu-img create -f raw $bootDiskImage ${toString bootSize}M
+
+          rootDiskImage=root.raw
+          qemu-img create -f raw $rootDiskImage ${toString rootSize}M
+        '';
+
+        postVM = ''
+          ${if formatOpt == "raw" then ''
+          mv $bootDiskImage $out/${bootFilename}
+          mv $rootDiskImage $out/${rootFilename}
+        '' else ''
+          ${pkgs.qemu}/bin/qemu-img convert -f raw -O ${formatOpt} ${compress} $bootDiskImage $out/${bootFilename}
+          ${pkgs.qemu}/bin/qemu-img convert -f raw -O ${formatOpt} ${compress} $rootDiskImage $out/${rootFilename}
+        ''}
+          bootDiskImage=$out/${bootFilename}
+          rootDiskImage=$out/${rootFilename}
+          set -x
+          ${postVM}
+        '';
+      } ''
+      export PATH=${tools}:$PATH
+      set -x
+
+      cp -sv /dev/vda /dev/sda
+      cp -sv /dev/vda /dev/xvda
+
+      parted --script /dev/vda -- \
+        mklabel gpt \
+        mkpart no-fs 1MiB 2MiB \
+        set 1 bios_grub on \
+        align-check optimal 1 \
+        mkpart ESP fat32 2MiB -1MiB \
+        align-check optimal 2 \
+        print
+
+      sfdisk --dump /dev/vda
+
+
+      zpool create \
+        ${stringifyProperties "  -o" rootPoolProperties} \
+        ${stringifyProperties "  -O" rootPoolFilesystemProperties} \
+        ${rootPoolName} /dev/vdb
+      parted --script /dev/vdb -- print
+
+      ${createDatasets}
+      ${mountDatasets}
+
+      mkdir -p /mnt/boot
+      mkfs.vfat -n ESP /dev/vda2
+      mount /dev/vda2 /mnt/boot
+
+      mount
+
+      # Install a configuration.nix
+      mkdir -p /mnt/etc/nixos
+      # `cat` so it is mutable on the fs
+      cat ${mergedConfig} > /mnt/etc/nixos/configuration.nix
+
+      export NIX_STATE_DIR=$TMPDIR/state
+      nix-store --load-db < ${closureInfo}/registration
+
+      nixos-install \
+        --root /mnt \
+        --no-root-passwd \
+        --system ${config.system.build.toplevel} \
+        --substituters "" \
+        ${lib.optionalString includeChannel ''--channel ${channelSources}''}
+
+      df -h
+
+      umount /mnt/boot
+      ${unmountDatasets}
+
+      zpool export ${rootPoolName}
+    ''
+  );
+in
+image
diff --git a/nixpkgs/nixos/lib/test-driver/test-driver.py b/nixpkgs/nixos/lib/test-driver/test-driver.py
index 2a3e4d94b948..f8502188bde8 100644..100755
--- a/nixpkgs/nixos/lib/test-driver/test-driver.py
+++ b/nixpkgs/nixos/lib/test-driver/test-driver.py
@@ -24,7 +24,6 @@ import sys
 import telnetlib
 import tempfile
 import time
-import traceback
 import unicodedata
 
 CHAR_TO_KEY = {
@@ -90,9 +89,7 @@ CHAR_TO_KEY = {
     ")": "shift-0x0B",
 }
 
-# Forward references
-log: "Logger"
-machines: "List[Machine]"
+global log, machines, test_script
 
 
 def eprint(*args: object, **kwargs: Any) -> None:
@@ -104,7 +101,6 @@ def make_command(args: list) -> str:
 
 
 def create_vlan(vlan_nr: str) -> Tuple[str, str, "subprocess.Popen[bytes]", Any]:
-    global log
     log.log("starting VDE switch for network {}".format(vlan_nr))
     vde_socket = tempfile.mkdtemp(
         prefix="nixos-test-vde-", suffix="-vde{}.ctl".format(vlan_nr)
@@ -247,6 +243,9 @@ def _perform_ocr_on_screenshot(
 
 
 class Machine:
+    def __repr__(self) -> str:
+        return f"<Machine '{self.name}'>"
+
     def __init__(self, args: Dict[str, Any]) -> None:
         if "name" in args:
             self.name = args["name"]
@@ -911,60 +910,66 @@ class Machine:
 
 
 def create_machine(args: Dict[str, Any]) -> Machine:
-    global log
     args["log"] = log
     return Machine(args)
 
 
 def start_all() -> None:
-    global machines
     with log.nested("starting all VMs"):
         for machine in machines:
             machine.start()
 
 
 def join_all() -> None:
-    global machines
     with log.nested("waiting for all VMs to finish"):
         for machine in machines:
             machine.wait_for_shutdown()
 
 
-def test_script() -> None:
-    exec(os.environ["testScript"])
-
-
-def run_tests() -> None:
-    global machines
-    tests = os.environ.get("tests", None)
-    if tests is not None:
-        with log.nested("running the VM test script"):
-            try:
-                exec(tests, globals())
-            except Exception as e:
-                eprint("error: ")
-                traceback.print_exc()
-                sys.exit(1)
+def run_tests(interactive: bool = False) -> None:
+    if interactive:
+        ptpython.repl.embed(test_symbols(), {})
     else:
-        ptpython.repl.embed(locals(), globals())
-
-    # TODO: Collect coverage data
-
-    for machine in machines:
-        if machine.is_up():
-            machine.execute("sync")
+        test_script()
+        # TODO: Collect coverage data
+        for machine in machines:
+            if machine.is_up():
+                machine.execute("sync")
 
 
 def serial_stdout_on() -> None:
-    global log
     log._print_serial_logs = True
 
 
 def serial_stdout_off() -> None:
-    global log
     log._print_serial_logs = False
 
 
+class EnvDefault(argparse.Action):
+    """An argpars Action that takes values from the specified
+    environment variable as the flags default value.
+    """
+
+    def __init__(self, envvar, required=False, default=None, nargs=None, **kwargs):  # type: ignore
+        if not default and envvar:
+            if envvar in os.environ:
+                if nargs is not None and (nargs.isdigit() or nargs in ["*", "+"]):
+                    default = os.environ[envvar].split()
+                else:
+                    default = os.environ[envvar]
+                kwargs["help"] = (
+                    kwargs["help"] + f" (default from environment: {default})"
+                )
+        if required and default:
+            required = False
+        super(EnvDefault, self).__init__(
+            default=default, required=required, nargs=nargs, **kwargs
+        )
+
+    def __call__(self, parser, namespace, values, option_string=None):  # type: ignore
+        setattr(namespace, self.dest, values)
+
+
 @contextmanager
 def subtest(name: str) -> Iterator[None]:
     with log.nested(name):
@@ -978,6 +983,39 @@ def subtest(name: str) -> Iterator[None]:
     return False
 
 
+def _test_symbols() -> Dict[str, Any]:
+    general_symbols = dict(
+        start_all=start_all,
+        test_script=globals().get("test_script"),  # same
+        machines=globals().get("machines"),  # without being initialized
+        log=globals().get("log"),  # extracting those symbol keys
+        os=os,
+        create_machine=create_machine,
+        subtest=subtest,
+        run_tests=run_tests,
+        join_all=join_all,
+        retry=retry,
+        serial_stdout_off=serial_stdout_off,
+        serial_stdout_on=serial_stdout_on,
+        Machine=Machine,  # for typing
+    )
+    return general_symbols
+
+
+def test_symbols() -> Dict[str, Any]:
+
+    general_symbols = _test_symbols()
+
+    machine_symbols = {m.name: machines[idx] for idx, m in enumerate(machines)}
+    print(
+        "additionally exposed symbols:\n    "
+        + ", ".join(map(lambda m: m.name, machines))
+        + ",\n    "
+        + ", ".join(list(general_symbols.keys()))
+    )
+    return {**general_symbols, **machine_symbols}
+
+
 if __name__ == "__main__":
     arg_parser = argparse.ArgumentParser(prog="nixos-test-driver")
     arg_parser.add_argument(
@@ -986,18 +1024,50 @@ if __name__ == "__main__":
         help="re-use a VM state coming from a previous run",
         action="store_true",
     )
-    (cli_args, vm_scripts) = arg_parser.parse_known_args()
+    arg_parser.add_argument(
+        "-I",
+        "--interactive",
+        help="drop into a python repl and run the tests interactively",
+        action="store_true",
+    )
+    arg_parser.add_argument(
+        "--start-scripts",
+        metavar="START-SCRIPT",
+        action=EnvDefault,
+        envvar="startScripts",
+        nargs="*",
+        help="start scripts for participating virtual machines",
+    )
+    arg_parser.add_argument(
+        "--vlans",
+        metavar="VLAN",
+        action=EnvDefault,
+        envvar="vlans",
+        nargs="*",
+        help="vlans to span by the driver",
+    )
+    arg_parser.add_argument(
+        "testscript",
+        action=EnvDefault,
+        envvar="testScript",
+        help="the test script to run",
+        type=pathlib.Path,
+    )
+
+    args = arg_parser.parse_args()
+    testscript = pathlib.Path(args.testscript).read_text()
+
+    global log, machines, test_script
 
     log = Logger()
 
-    vlan_nrs = list(dict.fromkeys(os.environ.get("VLANS", "").split()))
-    vde_sockets = [create_vlan(v) for v in vlan_nrs]
+    vde_sockets = [create_vlan(v) for v in args.vlans]
     for nr, vde_socket, _, _ in vde_sockets:
         os.environ["QEMU_VDE_SOCKET_{}".format(nr)] = vde_socket
 
     machines = [
-        create_machine({"startCommand": s, "keepVmState": cli_args.keep_vm_state})
-        for s in vm_scripts
+        create_machine({"startCommand": s, "keepVmState": args.keep_vm_state})
+        for s in args.start_scripts
     ]
     machine_eval = [
         "{0} = machines[{1}]".format(m.name, idx) for idx, m in enumerate(machines)
@@ -1016,7 +1086,13 @@ if __name__ == "__main__":
                 process.terminate()
         log.close()
 
+    def test_script() -> None:
+        with log.nested("running the VM test script"):
+            symbols = test_symbols()  # call eagerly
+            exec(testscript, symbols, None)
+
+    interactive = args.interactive or (not bool(testscript))
     tic = time.time()
-    run_tests()
+    run_tests(interactive)
     toc = time.time()
     print("test script finished in {:.2f}s".format(toc - tic))
diff --git a/nixpkgs/nixos/lib/testing-python.nix b/nixpkgs/nixos/lib/testing-python.nix
index 768f1dc2a170..43b4f9b159b2 100644
--- a/nixpkgs/nixos/lib/testing-python.nix
+++ b/nixpkgs/nixos/lib/testing-python.nix
@@ -42,7 +42,9 @@ rec {
         python <<EOF
         from pydoc import importfile
         with open('driver-symbols', 'w') as fp:
-          fp.write(','.join(dir(importfile('${testDriverScript}'))))
+          t = importfile('${testDriverScript}')
+          test_symbols = t._test_symbols()
+          fp.write(','.join(test_symbols.keys()))
         EOF
       '';
 
@@ -83,7 +85,10 @@ rec {
         ''
           mkdir -p $out
 
-          LOGFILE=/dev/null tests='exec(os.environ["testScript"])' ${driver}/bin/nixos-test-driver
+          # effectively mute the XMLLogger
+          export LOGFILE=/dev/null
+
+          ${driver}/bin/nixos-test-driver
         '';
 
       passthru = driver.passthru // {
@@ -130,9 +135,12 @@ rec {
 
       nodeHostNames = map (c: c.config.system.name) (lib.attrValues nodes);
 
+      # TODO: This is an implementation error and needs fixing
+      # the testing famework cannot legitimately restrict hostnames further
+      # beyond RFC1035
       invalidNodeNames = lib.filter
         (node: builtins.match "^[A-z_]([A-z0-9_]+)?$" node == null)
-        (builtins.attrNames nodes);
+        nodeHostNames;
 
       testScript' =
         # Call the test script with the computed nodes.
@@ -146,7 +154,9 @@ rec {
         Cannot create machines out of (${lib.concatStringsSep ", " invalidNodeNames})!
         All machines are referenced as python variables in the testing framework which will break the
         script when special characters are used.
-        Please stick to alphanumeric chars and underscores as separation.
+
+        This is an IMPLEMENTATION ERROR and needs to be fixed. Meanwhile,
+        please stick to alphanumeric chars and underscores as separation.
       ''
     else lib.warnIf skipLint "Linting is disabled" (runCommand testDriverName
       {
@@ -161,7 +171,10 @@ rec {
       ''
         mkdir -p $out/bin
 
+        vmStartScripts=($(for i in ${toString vms}; do echo $i/bin/run-*-vm; done))
         echo -n "$testScript" > $out/test-script
+        ln -s ${testDriver}/bin/nixos-test-driver $out/bin/nixos-test-driver
+
         ${lib.optionalString (!skipLint) ''
           PYFLAKES_BUILTINS="$(
             echo -n ${lib.escapeShellArg (lib.concatStringsSep "," nodeHostNames)},
@@ -169,17 +182,20 @@ rec {
           )" ${python3Packages.pyflakes}/bin/pyflakes $out/test-script
         ''}
 
-        ln -s ${testDriver}/bin/nixos-test-driver $out/bin/
-        vms=($(for i in ${toString vms}; do echo $i/bin/run-*-vm; done))
+        # set defaults through environment
+        # see: ./test-driver/test-driver.py argparse implementation
         wrapProgram $out/bin/nixos-test-driver \
-          --add-flags "''${vms[*]}" \
-          --run "export testScript=\"\$(${coreutils}/bin/cat $out/test-script)\"" \
-          --set VLANS '${toString vlans}'
-        ln -s ${testDriver}/bin/nixos-test-driver $out/bin/nixos-run-vms
-        wrapProgram $out/bin/nixos-run-vms \
-          --add-flags "''${vms[*]}" \
-          --set tests 'start_all(); join_all();' \
-          --set VLANS '${toString vlans}'
+          --set startScripts "''${vmStartScripts[*]}" \
+          --set testScript "$out/test-script" \
+          --set vlans '${toString vlans}'
+
+        ${lib.optionalString (testScript == "") ''
+          ln -s ${testDriver}/bin/nixos-test-driver $out/bin/nixos-run-vms
+          wrapProgram $out/bin/nixos-run-vms \
+            --set startScripts "''${vmStartScripts[*]}" \
+            --set testScript "${pkgs.writeText "start-all" "start_all(); join_all();"}" \
+            --set vlans '${toString vlans}'
+        ''}
       '');
 
   # Make a full-blown test
diff --git a/nixpkgs/nixos/lib/utils.nix b/nixpkgs/nixos/lib/utils.nix
index f1332ab55930..7fe812424f85 100644
--- a/nixpkgs/nixos/lib/utils.nix
+++ b/nixpkgs/nixos/lib/utils.nix
@@ -3,7 +3,7 @@ pkgs: with pkgs.lib;
 rec {
 
   # Copy configuration files to avoid having the entire sources in the system closure
-  copyFile = filePath: pkgs.runCommandNoCC (builtins.unsafeDiscardStringContext (builtins.baseNameOf filePath)) {} ''
+  copyFile = filePath: pkgs.runCommand (builtins.unsafeDiscardStringContext (builtins.baseNameOf filePath)) {} ''
     cp ${filePath} $out
   '';
 
diff --git a/nixpkgs/nixos/maintainers/scripts/ec2/amazon-image-zfs.nix b/nixpkgs/nixos/maintainers/scripts/ec2/amazon-image-zfs.nix
new file mode 100644
index 000000000000..32dd96a7cb7e
--- /dev/null
+++ b/nixpkgs/nixos/maintainers/scripts/ec2/amazon-image-zfs.nix
@@ -0,0 +1,12 @@
+{
+  imports = [ ./amazon-image.nix ];
+  ec2.zfs = {
+    enable = true;
+    datasets = {
+      "tank/system/root".mount = "/";
+      "tank/system/var".mount = "/var";
+      "tank/local/nix".mount = "/nix";
+      "tank/user/home".mount = "/home";
+    };
+  };
+}
diff --git a/nixpkgs/nixos/maintainers/scripts/ec2/amazon-image.nix b/nixpkgs/nixos/maintainers/scripts/ec2/amazon-image.nix
index 677aff4421e0..6942b58f236e 100644
--- a/nixpkgs/nixos/maintainers/scripts/ec2/amazon-image.nix
+++ b/nixpkgs/nixos/maintainers/scripts/ec2/amazon-image.nix
@@ -4,6 +4,7 @@ with lib;
 
 let
   cfg = config.amazonImage;
+
 in {
 
   imports = [ ../../../modules/virtualisation/amazon-image.nix ];
@@ -53,15 +54,7 @@ in {
     };
   };
 
-  config.system.build.amazonImage = import ../../../lib/make-disk-image.nix {
-    inherit lib config;
-    inherit (cfg) contents format name;
-    pkgs = import ../../../.. { inherit (pkgs) system; }; # ensure we use the regular qemu-kvm package
-    partitionTableType = if config.ec2.efi then "efi"
-                         else if config.ec2.hvm then "legacy+gpt"
-                         else "none";
-    diskSize = cfg.sizeMB;
-    fsType = "ext4";
+  config.system.build.amazonImage = let
     configFile = pkgs.writeText "configuration.nix"
       ''
         { modulesPath, ... }: {
@@ -72,24 +65,96 @@ in {
           ${optionalString config.ec2.efi ''
             ec2.efi = true;
           ''}
+          ${optionalString config.ec2.zfs.enable ''
+            ec2.zfs.enable = true;
+            networking.hostId = "${config.networking.hostId}";
+          ''}
         }
       '';
-    postVM = ''
-      extension=''${diskImage##*.}
-      friendlyName=$out/${cfg.name}.$extension
-      mv "$diskImage" "$friendlyName"
-      diskImage=$friendlyName
-
-      mkdir -p $out/nix-support
-      echo "file ${cfg.format} $diskImage" >> $out/nix-support/hydra-build-products
-
-      ${pkgs.jq}/bin/jq -n \
-        --arg label ${lib.escapeShellArg config.system.nixos.label} \
-        --arg system ${lib.escapeShellArg pkgs.stdenv.hostPlatform.system} \
-        --arg logical_bytes "$(${pkgs.qemu}/bin/qemu-img info --output json "$diskImage" | ${pkgs.jq}/bin/jq '."virtual-size"')" \
-        --arg file "$diskImage" \
-        '$ARGS.named' \
-        > $out/nix-support/image-info.json
-    '';
-  };
+
+    zfsBuilder = import ../../../lib/make-zfs-image.nix {
+      inherit lib config configFile;
+      inherit (cfg) contents format name;
+      pkgs = import ../../../.. { inherit (pkgs) system; }; # ensure we use the regular qemu-kvm package
+
+      includeChannel = true;
+
+      bootSize = 1000; # 1G is the minimum EBS volume
+
+      rootSize = cfg.sizeMB;
+      rootPoolProperties = {
+        ashift = 12;
+        autoexpand = "on";
+      };
+
+      datasets = config.ec2.zfs.datasets;
+
+      postVM = ''
+        extension=''${rootDiskImage##*.}
+        friendlyName=$out/${cfg.name}
+        rootDisk="$friendlyName.root.$extension"
+        bootDisk="$friendlyName.boot.$extension"
+        mv "$rootDiskImage" "$rootDisk"
+        mv "$bootDiskImage" "$bootDisk"
+
+        mkdir -p $out/nix-support
+        echo "file ${cfg.format} $bootDisk" >> $out/nix-support/hydra-build-products
+        echo "file ${cfg.format} $rootDisk" >> $out/nix-support/hydra-build-products
+
+       ${pkgs.jq}/bin/jq -n \
+         --arg system_label ${lib.escapeShellArg config.system.nixos.label} \
+         --arg system ${lib.escapeShellArg pkgs.stdenv.hostPlatform.system} \
+         --arg root_logical_bytes "$(${pkgs.qemu}/bin/qemu-img info --output json "$bootDisk" | ${pkgs.jq}/bin/jq '."virtual-size"')" \
+         --arg boot_logical_bytes "$(${pkgs.qemu}/bin/qemu-img info --output json "$rootDisk" | ${pkgs.jq}/bin/jq '."virtual-size"')" \
+         --arg root "$rootDisk" \
+         --arg boot "$bootDisk" \
+        '{}
+          | .label = $system_label
+          | .system = $system
+          | .disks.boot.logical_bytes = $boot_logical_bytes
+          | .disks.boot.file = $boot
+          | .disks.root.logical_bytes = $root_logical_bytes
+          | .disks.root.file = $root
+          ' > $out/nix-support/image-info.json
+      '';
+    };
+
+    extBuilder = import ../../../lib/make-disk-image.nix {
+      inherit lib config configFile;
+
+      inherit (cfg) contents format name;
+      pkgs = import ../../../.. { inherit (pkgs) system; }; # ensure we use the regular qemu-kvm package
+
+      fsType = "ext4";
+      partitionTableType = if config.ec2.efi then "efi"
+                           else if config.ec2.hvm then "legacy+gpt"
+                           else "none";
+
+      diskSize = cfg.sizeMB;
+
+      postVM = ''
+        extension=''${diskImage##*.}
+        friendlyName=$out/${cfg.name}.$extension
+        mv "$diskImage" "$friendlyName"
+        diskImage=$friendlyName
+
+        mkdir -p $out/nix-support
+        echo "file ${cfg.format} $diskImage" >> $out/nix-support/hydra-build-products
+
+       ${pkgs.jq}/bin/jq -n \
+         --arg system_label ${lib.escapeShellArg config.system.nixos.label} \
+         --arg system ${lib.escapeShellArg pkgs.stdenv.hostPlatform.system} \
+         --arg logical_bytes "$(${pkgs.qemu}/bin/qemu-img info --output json "$diskImage" | ${pkgs.jq}/bin/jq '."virtual-size"')" \
+         --arg file "$diskImage" \
+          '{}
+          | .label = $system_label
+          | .system = $system
+          | .logical_bytes = $logical_bytes
+          | .file = $file
+          | .disks.root.logical_bytes = $logical_bytes
+          | .disks.root.file = $file
+          ' > $out/nix-support/image-info.json
+      '';
+    };
+  in if config.ec2.zfs.enable then zfsBuilder else extBuilder;
 }
diff --git a/nixpkgs/nixos/modules/config/fonts/fontconfig.nix b/nixpkgs/nixos/modules/config/fonts/fontconfig.nix
index 72827c5abaae..1e68fef7ce74 100644
--- a/nixpkgs/nixos/modules/config/fonts/fontconfig.nix
+++ b/nixpkgs/nixos/modules/config/fonts/fontconfig.nix
@@ -78,14 +78,6 @@ let
         </edit>
       </match>
 
-      ${optionalString (cfg.dpi != 0) ''
-      <match target="pattern">
-        <edit name="dpi" mode="assign">
-          <double>${toString cfg.dpi}</double>
-        </edit>
-      </match>
-      ''}
-
     </fontconfig>
   '';
 
@@ -237,6 +229,7 @@ in
     (mkRemovedOptionModule [ "fonts" "fontconfig" "hinting" "style" ] "")
     (mkRemovedOptionModule [ "fonts" "fontconfig" "forceAutohint" ] "")
     (mkRemovedOptionModule [ "fonts" "fontconfig" "renderMonoTTFAsBitmap" ] "")
+    (mkRemovedOptionModule [ "fonts" "fontconfig" "dpi" ] "Use display server-specific options")
   ] ++ lib.forEach [ "enable" "substitutions" "preset" ]
      (opt: lib.mkRemovedOptionModule [ "fonts" "fontconfig" "ultimate" "${opt}" ] ''
        The fonts.fontconfig.ultimate module and configuration is obsolete.
@@ -282,15 +275,6 @@ in
           '';
         };
 
-        dpi = mkOption {
-          type = types.int;
-          default = 0;
-          description = ''
-            Force DPI setting. Setting to <literal>0</literal> disables DPI
-            forcing; the DPI detected for the display will be used.
-          '';
-        };
-
         localConf = mkOption {
           type = types.lines;
           default = "";
diff --git a/nixpkgs/nixos/modules/config/fonts/fonts.nix b/nixpkgs/nixos/modules/config/fonts/fonts.nix
index 3911196c1013..f87e61e3ef9f 100644
--- a/nixpkgs/nixos/modules/config/fonts/fonts.nix
+++ b/nixpkgs/nixos/modules/config/fonts/fonts.nix
@@ -2,6 +2,52 @@
 
 with lib;
 
+let
+  # A scalable variant of the X11 "core" cursor
+  #
+  # If not running a fancy desktop environment, the cursor is likely set to
+  # the default `cursor.pcf` bitmap font. This is 17px wide, so it's very
+  # small and almost invisible on 4K displays.
+  fontcursormisc_hidpi = pkgs.xorg.fontxfree86type1.overrideAttrs (old:
+    let
+      # The scaling constant is 230/96: the scalable `left_ptr` glyph at
+      # about 23 points is rendered as 17px, on a 96dpi display.
+      # Note: the XLFD font size is in decipoints.
+      size = 2.39583 * config.services.xserver.dpi;
+      sizeString = builtins.head (builtins.split "\\." (toString size));
+    in
+    {
+      postInstall = ''
+        alias='cursor -xfree86-cursor-medium-r-normal--0-${sizeString}-0-0-p-0-adobe-fontspecific'
+        echo "$alias" > $out/lib/X11/fonts/Type1/fonts.alias
+      '';
+    });
+
+  hasHidpi =
+    config.hardware.video.hidpi.enable &&
+    config.services.xserver.dpi != null;
+
+  defaultFonts =
+    [ pkgs.dejavu_fonts
+      pkgs.freefont_ttf
+      pkgs.gyre-fonts # TrueType substitutes for standard PostScript fonts
+      pkgs.liberation_ttf
+      pkgs.unifont
+      pkgs.noto-fonts-emoji
+    ];
+
+  defaultXFonts =
+    [ (if hasHidpi then fontcursormisc_hidpi else pkgs.xorg.fontcursormisc)
+      pkgs.xorg.fontmiscmisc
+    ] ++ optionals (config.nixpkgs.config.allowUnfree or false)
+    [ # these are unfree, and will make usage with xserver fail
+      pkgs.xorg.fontbhlucidatypewriter100dpi
+      pkgs.xorg.fontbhlucidatypewriter75dpi
+      pkgs.xorg.fontbh100dpi
+    ];
+
+in
+
 {
   imports = [
     (mkRemovedOptionModule [ "fonts" "enableCoreFonts" ] "Use fonts.fonts = [ pkgs.corefonts ]; instead.")
@@ -32,25 +78,9 @@ with lib;
 
   };
 
-  config = {
-
-    fonts.fonts = mkIf config.fonts.enableDefaultFonts
-      ([
-        pkgs.dejavu_fonts
-        pkgs.freefont_ttf
-        pkgs.gyre-fonts # TrueType substitutes for standard PostScript fonts
-        pkgs.liberation_ttf
-        pkgs.xorg.fontmiscmisc
-        pkgs.xorg.fontcursormisc
-        pkgs.unifont
-        pkgs.noto-fonts-emoji
-      ] ++ lib.optionals (config.nixpkgs.config.allowUnfree or false) [
-        # these are unfree, and will make usage with xserver fail
-        pkgs.xorg.fontbhlucidatypewriter100dpi
-        pkgs.xorg.fontbhlucidatypewriter75dpi
-        pkgs.xorg.fontbh100dpi
-      ]);
-
-  };
+  config = mkMerge [
+    { fonts.fonts = mkIf config.fonts.enableDefaultFonts defaultFonts; }
+    { fonts.fonts = mkIf config.services.xserver.enable defaultXFonts; }
+  ];
 
 }
diff --git a/nixpkgs/nixos/modules/config/ldap.nix b/nixpkgs/nixos/modules/config/ldap.nix
index 35813c168fd8..85cad8b93d8c 100644
--- a/nixpkgs/nixos/modules/config/ldap.nix
+++ b/nixpkgs/nixos/modules/config/ldap.nix
@@ -42,7 +42,7 @@ let
   # nslcd normally reads configuration from /etc/nslcd.conf.
   # this file might contain secrets. We append those at runtime,
   # so redirect its location to something more temporary.
-  nslcdWrapped = runCommandNoCC "nslcd-wrapped" { nativeBuildInputs = [ makeWrapper ]; } ''
+  nslcdWrapped = runCommand "nslcd-wrapped" { nativeBuildInputs = [ makeWrapper ]; } ''
     mkdir -p $out/bin
     makeWrapper ${nss_pam_ldapd}/sbin/nslcd $out/bin/nslcd \
       --set LD_PRELOAD    "${pkgs.libredirect}/lib/libredirect.so" \
diff --git a/nixpkgs/nixos/modules/config/networking.nix b/nixpkgs/nixos/modules/config/networking.nix
index dba8977e482c..8c4eec510e5d 100644
--- a/nixpkgs/nixos/modules/config/networking.nix
+++ b/nixpkgs/nixos/modules/config/networking.nix
@@ -190,7 +190,7 @@ in
         protocols.source  = pkgs.iana-etc + "/etc/protocols";
 
         # /etc/hosts: Hostname-to-IP mappings.
-        hosts.source = pkgs.runCommandNoCC "hosts" {} ''
+        hosts.source = pkgs.runCommand "hosts" {} ''
           cat ${escapeShellArgs cfg.hostFiles} > $out
         '';
 
diff --git a/nixpkgs/nixos/modules/config/nsswitch.nix b/nixpkgs/nixos/modules/config/nsswitch.nix
index d19d35a48906..91a36cef10e6 100644
--- a/nixpkgs/nixos/modules/config/nsswitch.nix
+++ b/nixpkgs/nixos/modules/config/nsswitch.nix
@@ -124,8 +124,8 @@ with lib;
       group = mkBefore [ "files" ];
       shadow = mkBefore [ "files" ];
       hosts = mkMerge [
-        (mkBefore [ "files" ])
-        (mkAfter [ "dns" ])
+        (mkOrder 998 [ "files" ])
+        (mkOrder 1499 [ "dns" ])
       ];
       services = mkBefore [ "files" ];
     };
diff --git a/nixpkgs/nixos/modules/config/swap.nix b/nixpkgs/nixos/modules/config/swap.nix
index a37b46b8c468..ff2ae1da31bd 100644
--- a/nixpkgs/nixos/modules/config/swap.nix
+++ b/nixpkgs/nixos/modules/config/swap.nix
@@ -127,6 +127,15 @@ let
         '';
       };
 
+      options = mkOption {
+        default = [ "defaults" ];
+        example = [ "nofail" ];
+        type = types.listOf types.nonEmptyStr;
+        description = ''
+          Options used to mount the swap.
+        '';
+      };
+
       deviceName = mkOption {
         type = types.str;
         internal = true;
@@ -215,7 +224,7 @@ in
                   fi
                 ''}
                 ${optionalString sw.randomEncryption.enable ''
-                  cryptsetup plainOpen -c ${sw.randomEncryption.cipher} -d ${sw.randomEncryption.source} ${sw.device} ${sw.deviceName}
+                  cryptsetup plainOpen -c ${sw.randomEncryption.cipher} -d ${sw.randomEncryption.source} ${optionalString (sw.discardPolicy != null) "--allow-discards"} ${sw.device} ${sw.deviceName}
                   mkswap ${sw.realDevice}
                 ''}
               '';
diff --git a/nixpkgs/nixos/modules/config/system-environment.nix b/nixpkgs/nixos/modules/config/system-environment.nix
index 4888740ba3d5..d2a66b8d932d 100644
--- a/nixpkgs/nixos/modules/config/system-environment.nix
+++ b/nixpkgs/nixos/modules/config/system-environment.nix
@@ -65,42 +65,40 @@ in
   };
 
   config = {
-
-    system.build.pamEnvironment =
-      let
-        suffixedVariables =
-          flip mapAttrs cfg.profileRelativeSessionVariables (envVar: suffixes:
-            flip concatMap cfg.profiles (profile:
-              map (suffix: "${profile}${suffix}") suffixes
-            )
-          );
-
-        # We're trying to use the same syntax for PAM variables and env variables.
-        # That means we need to map the env variables that people might use to their
-        # equivalent PAM variable.
-        replaceEnvVars = replaceStrings ["$HOME" "$USER"] ["@{HOME}" "@{PAM_USER}"];
-
-        pamVariable = n: v:
-          ''${n}   DEFAULT="${concatStringsSep ":" (map replaceEnvVars (toList v))}"'';
-
-        pamVariables =
-          concatStringsSep "\n"
-          (mapAttrsToList pamVariable
-          (zipAttrsWith (n: concatLists)
-            [
-              # Make sure security wrappers are prioritized without polluting
-              # shell environments with an extra entry. Sessions which depend on
-              # pam for its environment will otherwise have eg. broken sudo. In
-              # particular Gnome Shell sometimes fails to source a proper
-              # environment from a shell.
-              { PATH = [ config.security.wrapperDir ]; }
-
-              (mapAttrs (n: toList) cfg.sessionVariables)
-              suffixedVariables
-            ]));
-      in
-        pkgs.writeText "pam-environment" "${pamVariables}\n";
-
+    environment.etc."pam/environment".text = let
+      suffixedVariables =
+        flip mapAttrs cfg.profileRelativeSessionVariables (envVar: suffixes:
+          flip concatMap cfg.profiles (profile:
+            map (suffix: "${profile}${suffix}") suffixes
+          )
+        );
+
+      # We're trying to use the same syntax for PAM variables and env variables.
+      # That means we need to map the env variables that people might use to their
+      # equivalent PAM variable.
+      replaceEnvVars = replaceStrings ["$HOME" "$USER"] ["@{HOME}" "@{PAM_USER}"];
+
+      pamVariable = n: v:
+        ''${n}   DEFAULT="${concatStringsSep ":" (map replaceEnvVars (toList v))}"'';
+
+      pamVariables =
+        concatStringsSep "\n"
+        (mapAttrsToList pamVariable
+        (zipAttrsWith (n: concatLists)
+          [
+            # Make sure security wrappers are prioritized without polluting
+            # shell environments with an extra entry. Sessions which depend on
+            # pam for its environment will otherwise have eg. broken sudo. In
+            # particular Gnome Shell sometimes fails to source a proper
+            # environment from a shell.
+            { PATH = [ config.security.wrapperDir ]; }
+
+            (mapAttrs (n: toList) cfg.sessionVariables)
+            suffixedVariables
+          ]));
+    in ''
+      ${pamVariables}
+    '';
   };
 
 }
diff --git a/nixpkgs/nixos/modules/config/users-groups.nix b/nixpkgs/nixos/modules/config/users-groups.nix
index 567a8b6f3b97..f86be3be2c65 100644
--- a/nixpkgs/nixos/modules/config/users-groups.nix
+++ b/nixpkgs/nixos/modules/config/users-groups.nix
@@ -324,7 +324,7 @@ let
 
   };
 
-  groupOpts = { name, ... }: {
+  groupOpts = { name, config, ... }: {
 
     options = {
 
@@ -358,6 +358,10 @@ let
 
     config = {
       name = mkDefault name;
+
+      members = mapAttrsToList (n: u: u.name) (
+        filterAttrs (n: u: elem config.name u.extraGroups) cfg.users
+      );
     };
 
   };
@@ -396,7 +400,7 @@ let
     };
   };
 
-  idsAreUnique = set: idAttr: !(fold (name: args@{ dup, acc }:
+  idsAreUnique = set: idAttr: !(foldr (name: args@{ dup, acc }:
     let
       id = builtins.toString (builtins.getAttr idAttr (builtins.getAttr name set));
       exists = builtins.hasAttr id acc;
@@ -419,12 +423,7 @@ let
           initialPassword initialHashedPassword;
         shell = utils.toShellPath u.shell;
       }) cfg.users;
-    groups = mapAttrsToList (n: g:
-      { inherit (g) name gid;
-        members = g.members ++ (mapAttrsToList (n: u: u.name) (
-          filterAttrs (n: u: elem g.name u.extraGroups) cfg.users
-        ));
-      }) cfg.groups;
+    groups = attrValues cfg.groups;
   });
 
   systemShells =
diff --git a/nixpkgs/nixos/modules/hardware/all-firmware.nix b/nixpkgs/nixos/modules/hardware/all-firmware.nix
index 3e88a4c20adc..bdf90816740c 100644
--- a/nixpkgs/nixos/modules/hardware/all-firmware.nix
+++ b/nixpkgs/nixos/modules/hardware/all-firmware.nix
@@ -35,6 +35,14 @@ in {
       '';
     };
 
+    hardware.wirelessRegulatoryDatabase = mkOption {
+      default = false;
+      type = types.bool;
+      description = ''
+        Load the wireless regulatory database at boot.
+      '';
+    };
+
   };
 
 
@@ -50,14 +58,16 @@ in {
         rtl8723bs-firmware
         rtl8761b-firmware
         rtw88-firmware
+        rtw89-firmware
         zd1211fw
         alsa-firmware
         sof-firmware
-        openelec-dvb-firmware
+        libreelec-dvb-firmware
       ] ++ optional (pkgs.stdenv.hostPlatform.isAarch32 || pkgs.stdenv.hostPlatform.isAarch64) raspberrypiWirelessFirmware
         ++ optionals (versionOlder config.boot.kernelPackages.kernel.version "4.13") [
         rtl8723bs-firmware
       ];
+      hardware.wirelessRegulatoryDatabase = true;
     })
     (mkIf cfg.enableAllFirmware {
       assertions = [{
@@ -75,5 +85,8 @@ in {
         b43FirmwareCutter
       ] ++ optional (pkgs.stdenv.hostPlatform.isi686 || pkgs.stdenv.hostPlatform.isx86_64) facetimehd-firmware;
     })
+    (mkIf cfg.wirelessRegulatoryDatabase {
+      hardware.firmware = [ pkgs.wireless-regdb ];
+    })
   ];
 }
diff --git a/nixpkgs/nixos/modules/hardware/onlykey.udev b/nixpkgs/nixos/modules/hardware/onlykey.udev
deleted file mode 100644
index 6583530e5684..000000000000
--- a/nixpkgs/nixos/modules/hardware/onlykey.udev
+++ /dev/null
@@ -1,4 +0,0 @@
-ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789B]?", ENV{ID_MM_DEVICE_IGNORE}="1"
-ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789A]?", ENV{MTP_NO_PROBE}="1"
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789ABCD]?", GROUP+="plugdev"
-KERNEL=="ttyACM*", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789B]?", GROUP+="plugdev"
diff --git a/nixpkgs/nixos/modules/hardware/onlykey.nix b/nixpkgs/nixos/modules/hardware/onlykey/default.nix
index 07358c8a8782..07358c8a8782 100644
--- a/nixpkgs/nixos/modules/hardware/onlykey.nix
+++ b/nixpkgs/nixos/modules/hardware/onlykey/default.nix
diff --git a/nixpkgs/nixos/modules/hardware/onlykey/onlykey.udev b/nixpkgs/nixos/modules/hardware/onlykey/onlykey.udev
new file mode 100644
index 000000000000..61e3ee4e8828
--- /dev/null
+++ b/nixpkgs/nixos/modules/hardware/onlykey/onlykey.udev
@@ -0,0 +1,18 @@
+# UDEV Rules for OnlyKey, https://docs.crp.to/linux.html
+ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="60fc", ENV{ID_MM_DEVICE_IGNORE}="1"
+ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="60fc", ENV{MTP_NO_PROBE}="1"
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="60fc", MODE:="0666"
+KERNEL=="ttyACM*", ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="60fc", MODE:="0666"
+
+
+# The udev rules were updated upstream without an explanation as you can
+# see in [this comment][commit]. Assuming that hey have changed the
+# idVendor/idProduct, I've kept the old values.
+# TODO: Contact them upstream.
+#
+# [commit]: https://github.com/trustcrypto/trustcrypto.github.io/commit/0bcf928adaea559e75efa02ebd1040f0a15f611d
+#
+ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789B]?", ENV{ID_MM_DEVICE_IGNORE}="1"
+ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789A]?", ENV{MTP_NO_PROBE}="1"
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789ABCD]?", GROUP+="plugdev"
+KERNEL=="ttyACM*", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789B]?", GROUP+="plugdev"
diff --git a/nixpkgs/nixos/modules/hardware/openrazer.nix b/nixpkgs/nixos/modules/hardware/openrazer.nix
index b5c3d6744142..bd9fc485e17e 100644
--- a/nixpkgs/nixos/modules/hardware/openrazer.nix
+++ b/nixpkgs/nixos/modules/hardware/openrazer.nix
@@ -49,7 +49,9 @@ in
 {
   options = {
     hardware.openrazer = {
-      enable = mkEnableOption "OpenRazer drivers and userspace daemon";
+      enable = mkEnableOption ''
+        OpenRazer drivers and userspace daemon.
+      '';
 
       verboseLogging = mkOption {
         type = types.bool;
@@ -92,6 +94,15 @@ in
           generate a heatmap.
         '';
       };
+
+      users = mkOption {
+        type = with types; listOf str;
+        default = [];
+        description = ''
+          Usernames to be added to the "openrazer" group, so that they
+          can start and interact with the OpenRazer userspace daemon.
+        '';
+      };
     };
   };
 
@@ -106,10 +117,12 @@ in
     services.udev.packages = [ kernelPackages.openrazer ];
     services.dbus.packages = [ dbusServiceFile ];
 
-    # A user must be a member of the plugdev group in order to start
-    # the openrazer-daemon. Therefore we make sure that the plugdev
-    # group exists.
-    users.groups.plugdev = {};
+    # A user must be a member of the openrazer group in order to start
+    # the openrazer-daemon. Therefore we make sure that the group
+    # exists.
+    users.groups.openrazer = {
+      members = cfg.users;
+    };
 
     systemd.user.services.openrazer-daemon = {
       description = "Daemon to manage razer devices in userspace";
diff --git a/nixpkgs/nixos/modules/hardware/sensor/iio.nix b/nixpkgs/nixos/modules/hardware/sensor/iio.nix
index 4c359c3b1725..8b3ba87a7d9c 100644
--- a/nixpkgs/nixos/modules/hardware/sensor/iio.nix
+++ b/nixpkgs/nixos/modules/hardware/sensor/iio.nix
@@ -9,7 +9,7 @@ with lib;
     hardware.sensor.iio = {
       enable = mkOption {
         description = ''
-          Enable this option to support IIO sensors.
+          Enable this option to support IIO sensors with iio-sensor-proxy.
 
           IIO sensors are used for orientation and ambient light
           sensors on some mobile devices.
diff --git a/nixpkgs/nixos/modules/hardware/video/hidpi.nix b/nixpkgs/nixos/modules/hardware/video/hidpi.nix
index ac72b652504e..c480cc481dfc 100644
--- a/nixpkgs/nixos/modules/hardware/video/hidpi.nix
+++ b/nixpkgs/nixos/modules/hardware/video/hidpi.nix
@@ -12,5 +12,6 @@ with lib;
     boot.loader.systemd-boot.consoleMode = mkDefault "1";
 
     # TODO Find reasonable defaults X11 & wayland
+    services.xserver.dpi = lib.mkDefault 192;
   };
 }
diff --git a/nixpkgs/nixos/modules/hardware/video/nvidia.nix b/nixpkgs/nixos/modules/hardware/video/nvidia.nix
index 2be9da8f42a1..cf87ca5377dd 100644
--- a/nixpkgs/nixos/modules/hardware/video/nvidia.nix
+++ b/nixpkgs/nixos/modules/hardware/video/nvidia.nix
@@ -23,6 +23,7 @@ let
   offloadCfg = pCfg.offload;
   primeEnabled = syncCfg.enable || offloadCfg.enable;
   nvidiaPersistencedEnabled =  cfg.nvidiaPersistenced;
+  nvidiaSettings = cfg.nvidiaSettings;
 in
 
 {
@@ -143,6 +144,15 @@ in
       '';
     };
 
+    hardware.nvidia.nvidiaSettings = mkOption {
+      default = true;
+      type = types.bool;
+      description = ''
+        Whether to add nvidia-settings, NVIDIA's GUI configuration tool, to
+        systemPackages.
+      '';
+    };
+
     hardware.nvidia.nvidiaPersistenced = mkOption {
       default = false;
       type = types.bool;
@@ -179,28 +189,41 @@ in
           You cannot configure both an Intel iGPU and an AMD APU. Pick the one corresponding to your processor.
         '';
       }
+
       {
         assertion = primeEnabled -> pCfg.nvidiaBusId != "" && (pCfg.intelBusId != "" || pCfg.amdgpuBusId != "");
         message = ''
           When NVIDIA PRIME is enabled, the GPU bus IDs must configured.
         '';
       }
+
       {
         assertion = offloadCfg.enable -> versionAtLeast nvidia_x11.version "435.21";
         message = "NVIDIA PRIME render offload is currently only supported on versions >= 435.21.";
       }
+
       {
         assertion = !(syncCfg.enable && offloadCfg.enable);
         message = "Only one NVIDIA PRIME solution may be used at a time.";
       }
+
       {
         assertion = !(syncCfg.enable && cfg.powerManagement.finegrained);
         message = "Sync precludes powering down the NVIDIA GPU.";
       }
+
       {
         assertion = cfg.powerManagement.enable -> offloadCfg.enable;
         message = "Fine-grained power management requires offload to be enabled.";
       }
+
+      {
+        assertion = cfg.powerManagement.enable -> (
+          builtins.pathExists (cfg.package.out + "/bin/nvidia-sleep.sh") &&
+          builtins.pathExists (cfg.package.out + "/lib/systemd/system-sleep/nvidia")
+        );
+        message = "Required files for driver based power management don't exist.";
+      }
     ];
 
     # If Optimus/PRIME is enabled, we:
@@ -266,7 +289,8 @@ in
     hardware.opengl.extraPackages = optional offloadCfg.enable nvidia_x11.out;
     hardware.opengl.extraPackages32 = optional offloadCfg.enable nvidia_x11.lib32;
 
-    environment.systemPackages = [ nvidia_x11.bin nvidia_x11.settings ]
+    environment.systemPackages = [ nvidia_x11.bin ]
+      ++ optionals nvidiaSettings [ nvidia_x11.settings ]
       ++ optionals nvidiaPersistencedEnabled [ nvidia_x11.persistenced ];
 
     systemd.packages = optional cfg.powerManagement.enable nvidia_x11.out;
diff --git a/nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-base.nix b/nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-base.nix
index aecb65b8c576..618057618d0c 100644
--- a/nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-base.nix
+++ b/nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-base.nix
@@ -30,6 +30,11 @@ with lib;
   # Add Memtest86+ to the CD.
   boot.loader.grub.memtest86.enable = true;
 
+  # An installation media cannot tolerate a host config defined file
+  # system layout on a fresh machine, before it has been formatted.
+  swapDevices = mkImageMediaOverride [ ];
+  fileSystems = mkImageMediaOverride config.lib.isoFileSystems;
+
   boot.postBootCommands = ''
     for o in $(</proc/cmdline); do
       case "$o" in
diff --git a/nixpkgs/nixos/modules/installer/cd-dvd/iso-image.nix b/nixpkgs/nixos/modules/installer/cd-dvd/iso-image.nix
index d94af0b5bf74..78cbf14bbaf6 100644
--- a/nixpkgs/nixos/modules/installer/cd-dvd/iso-image.nix
+++ b/nixpkgs/nixos/modules/installer/cd-dvd/iso-image.nix
@@ -615,53 +615,19 @@ in
 
   };
 
-  config = {
-    assertions = [
+  # store them in lib so we can mkImageMediaOverride the
+  # entire file system layout in installation media (only)
+  config.lib.isoFileSystems = {
+    "/" = mkImageMediaOverride
       {
-        assertion = !(stringLength config.isoImage.volumeID > 32);
-        # https://wiki.osdev.org/ISO_9660#The_Primary_Volume_Descriptor
-        # Volume Identifier can only be 32 bytes
-        message = let
-          length = stringLength config.isoImage.volumeID;
-          howmany = toString length;
-          toomany = toString (length - 32);
-        in
-        "isoImage.volumeID ${config.isoImage.volumeID} is ${howmany} characters. That is ${toomany} characters longer than the limit of 32.";
-      }
-    ];
-
-    boot.loader.grub.version = 2;
-
-    # Don't build the GRUB menu builder script, since we don't need it
-    # here and it causes a cyclic dependency.
-    boot.loader.grub.enable = false;
-
-    environment.systemPackages =  [ grubPkgs.grub2 grubPkgs.grub2_efi ]
-      ++ optional canx86BiosBoot pkgs.syslinux
-    ;
-
-    # In stage 1 of the boot, mount the CD as the root FS by label so
-    # that we don't need to know its device.  We pass the label of the
-    # root filesystem on the kernel command line, rather than in
-    # `fileSystems' below.  This allows CD-to-USB converters such as
-    # UNetbootin to rewrite the kernel command line to pass the label or
-    # UUID of the USB stick.  It would be nicer to write
-    # `root=/dev/disk/by-label/...' here, but UNetbootin doesn't
-    # recognise that.
-    boot.kernelParams =
-      [ "root=LABEL=${config.isoImage.volumeID}"
-        "boot.shell_on_fail"
-      ];
-
-    fileSystems."/" =
-      { fsType = "tmpfs";
+        fsType = "tmpfs";
         options = [ "mode=0755" ];
       };
 
     # Note that /dev/root is a symlink to the actual root device
     # specified on the kernel command line, created in the stage 1
     # init script.
-    fileSystems."/iso" =
+    "/iso" = mkImageMediaOverride
       { device = "/dev/root";
         neededForBoot = true;
         noCheck = true;
@@ -669,20 +635,20 @@ in
 
     # In stage 1, mount a tmpfs on top of /nix/store (the squashfs
     # image) to make this a live CD.
-    fileSystems."/nix/.ro-store" =
+    "/nix/.ro-store" = mkImageMediaOverride
       { fsType = "squashfs";
         device = "/iso/nix-store.squashfs";
         options = [ "loop" ];
         neededForBoot = true;
       };
 
-    fileSystems."/nix/.rw-store" =
+    "/nix/.rw-store" = mkImageMediaOverride
       { fsType = "tmpfs";
         options = [ "mode=0755" ];
         neededForBoot = true;
       };
 
-    fileSystems."/nix/store" =
+    "/nix/store" = mkImageMediaOverride
       { fsType = "overlay";
         device = "overlay";
         options = [
@@ -690,13 +656,53 @@ in
           "upperdir=/nix/.rw-store/store"
           "workdir=/nix/.rw-store/work"
         ];
-
         depends = [
           "/nix/.ro-store"
           "/nix/.rw-store/store"
           "/nix/.rw-store/work"
         ];
       };
+  };
+
+  config = {
+    assertions = [
+      {
+        assertion = !(stringLength config.isoImage.volumeID > 32);
+        # https://wiki.osdev.org/ISO_9660#The_Primary_Volume_Descriptor
+        # Volume Identifier can only be 32 bytes
+        message = let
+          length = stringLength config.isoImage.volumeID;
+          howmany = toString length;
+          toomany = toString (length - 32);
+        in
+        "isoImage.volumeID ${config.isoImage.volumeID} is ${howmany} characters. That is ${toomany} characters longer than the limit of 32.";
+      }
+    ];
+
+    boot.loader.grub.version = 2;
+
+    # Don't build the GRUB menu builder script, since we don't need it
+    # here and it causes a cyclic dependency.
+    boot.loader.grub.enable = false;
+
+    environment.systemPackages =  [ grubPkgs.grub2 grubPkgs.grub2_efi ]
+      ++ optional canx86BiosBoot pkgs.syslinux
+    ;
+
+    # In stage 1 of the boot, mount the CD as the root FS by label so
+    # that we don't need to know its device.  We pass the label of the
+    # root filesystem on the kernel command line, rather than in
+    # `fileSystems' below.  This allows CD-to-USB converters such as
+    # UNetbootin to rewrite the kernel command line to pass the label or
+    # UUID of the USB stick.  It would be nicer to write
+    # `root=/dev/disk/by-label/...' here, but UNetbootin doesn't
+    # recognise that.
+    boot.kernelParams =
+      [ "root=LABEL=${config.isoImage.volumeID}"
+        "boot.shell_on_fail"
+      ];
+
+    fileSystems = config.lib.isoFileSystems;
 
     boot.initrd.availableKernelModules = [ "squashfs" "iso9660" "uas" "overlay" ];
 
diff --git a/nixpkgs/nixos/modules/installer/netboot/netboot.nix b/nixpkgs/nixos/modules/installer/netboot/netboot.nix
index 238ab6d0617b..28b6c39b29df 100644
--- a/nixpkgs/nixos/modules/installer/netboot/netboot.nix
+++ b/nixpkgs/nixos/modules/installer/netboot/netboot.nix
@@ -29,27 +29,27 @@ with lib;
           then []
           else [ pkgs.grub2 pkgs.syslinux ]);
 
-    fileSystems."/" =
+    fileSystems."/" = mkImageMediaOverride
       { fsType = "tmpfs";
         options = [ "mode=0755" ];
       };
 
     # In stage 1, mount a tmpfs on top of /nix/store (the squashfs
     # image) to make this a live CD.
-    fileSystems."/nix/.ro-store" =
+    fileSystems."/nix/.ro-store" = mkImageMediaOverride
       { fsType = "squashfs";
         device = "../nix-store.squashfs";
         options = [ "loop" ];
         neededForBoot = true;
       };
 
-    fileSystems."/nix/.rw-store" =
+    fileSystems."/nix/.rw-store" = mkImageMediaOverride
       { fsType = "tmpfs";
         options = [ "mode=0755" ];
         neededForBoot = true;
       };
 
-    fileSystems."/nix/store" =
+    fileSystems."/nix/store" = mkImageMediaOverride
       { fsType = "overlay";
         device = "overlay";
         options = [
diff --git a/nixpkgs/nixos/modules/installer/tools/nix-fallback-paths.nix b/nixpkgs/nixos/modules/installer/tools/nix-fallback-paths.nix
index e3576074a5b7..15c76287e34e 100644
--- a/nixpkgs/nixos/modules/installer/tools/nix-fallback-paths.nix
+++ b/nixpkgs/nixos/modules/installer/tools/nix-fallback-paths.nix
@@ -1,7 +1,7 @@
 {
-  x86_64-linux = "/nix/store/qsgz2hhn6mzlzp53a7pwf9z2pq3l5z6h-nix-2.3.14";
-  i686-linux = "/nix/store/1yw40bj04lykisw2jilq06lir3k9ga4a-nix-2.3.14";
-  aarch64-linux = "/nix/store/32yzwmynmjxfrkb6y6l55liaqdrgkj4a-nix-2.3.14";
-  x86_64-darwin = "/nix/store/06j0vi2d13w4l0p3jsigq7lk4x6gkycj-nix-2.3.14";
-  aarch64-darwin = "/nix/store/77wi7vpbrghw5rgws25w30bwb8yggnk9-nix-2.3.14";
+  x86_64-linux = "/nix/store/jhbxh1jwjc3hjhzs9y2hifdn0rmnfwaj-nix-2.3.15";
+  i686-linux = "/nix/store/9pspwnkdrgzma1l4xlv7arhwa56y16di-nix-2.3.15";
+  aarch64-linux = "/nix/store/72aqi5g7f4fhgvgafbcqwcpqjgnczj48-nix-2.3.15";
+  x86_64-darwin = "/nix/store/6p6qwp73dgfkqhynmxrzbx1lcfgfpqal-nix-2.3.15";
+  aarch64-darwin = "/nix/store/dmq2vksdhssgfl822shd0ky3x5x0klh4-nix-2.3.15";
 }
diff --git a/nixpkgs/nixos/modules/misc/crashdump.nix b/nixpkgs/nixos/modules/misc/crashdump.nix
index 796078d7ef8c..b0f75d9caaa3 100644
--- a/nixpkgs/nixos/modules/misc/crashdump.nix
+++ b/nixpkgs/nixos/modules/misc/crashdump.nix
@@ -50,7 +50,7 @@ in
     boot = {
       postBootCommands = ''
         echo "loading crashdump kernel...";
-        ${pkgs.kexectools}/sbin/kexec -p /run/current-system/kernel \
+        ${pkgs.kexec-tools}/sbin/kexec -p /run/current-system/kernel \
         --initrd=/run/current-system/initrd \
         --reset-vga --console-vga \
         --command-line="init=$(readlink -f /run/current-system/init) irqpoll maxcpus=1 reset_devices ${kernelParams}"
diff --git a/nixpkgs/nixos/modules/misc/documentation.nix b/nixpkgs/nixos/modules/misc/documentation.nix
index 13f8007cd626..f00d58369a72 100644
--- a/nixpkgs/nixos/modules/misc/documentation.nix
+++ b/nixpkgs/nixos/modules/misc/documentation.nix
@@ -269,8 +269,7 @@ in
 
       environment.systemPackages = []
         ++ optional cfg.man.enable manual.manpages
-        ++ optionals cfg.doc.enable ([ manual.manualHTML nixos-help ]
-           ++ optionals config.services.xserver.enable [ pkgs.nixos-icons ]);
+        ++ optionals cfg.doc.enable [ manual.manualHTML nixos-help ];
 
       services.getty.helpLine = mkIf cfg.doc.enable (
           "\nRun 'nixos-help' for the NixOS manual."
diff --git a/nixpkgs/nixos/modules/misc/ids.nix b/nixpkgs/nixos/modules/misc/ids.nix
index fe6e563d7ee5..93ea73f303cb 100644
--- a/nixpkgs/nixos/modules/misc/ids.nix
+++ b/nixpkgs/nixos/modules/misc/ids.nix
@@ -178,7 +178,7 @@ in
       radvd = 139;
       zookeeper = 140;
       dnsmasq = 141;
-      uhub = 142;
+      #uhub = 142; # unused
       yandexdisk = 143;
       mxisd = 144; # was once collectd
       consul = 145;
@@ -187,6 +187,7 @@ in
       #seeks = 148; # removed 2020-06-21
       prosody = 149;
       i2pd = 150;
+      systemd-coredump = 151;
       systemd-network = 152;
       systemd-resolve = 153;
       systemd-timesync = 154;
@@ -347,6 +348,9 @@ in
       #mailman = 316;  # removed 2019-08-30
       zigbee2mqtt = 317;
       # shadow = 318; # unused
+      hqplayer = 319;
+      moonraker = 320;
+      distcc = 321;
 
       # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
 
@@ -649,6 +653,9 @@ in
       #mailman = 316;  # removed 2019-08-30
       zigbee2mqtt = 317;
       shadow = 318;
+      hqplayer = 319;
+      moonraker = 320;
+      distcc = 321;
 
       # When adding a gid, make sure it doesn't match an existing
       # uid. Users and groups with the same name should have equal
diff --git a/nixpkgs/nixos/modules/misc/nixpkgs.nix b/nixpkgs/nixos/modules/misc/nixpkgs.nix
index 8160bfef4a3c..a2ac5c58528a 100644
--- a/nixpkgs/nixos/modules/misc/nixpkgs.nix
+++ b/nixpkgs/nixos/modules/misc/nixpkgs.nix
@@ -39,7 +39,7 @@ let
             if c x then true
             else lib.traceSeqN 1 x false;
       in traceXIfNot isConfig;
-    merge = args: fold (def: mergeConfig def.value) {};
+    merge = args: foldr (def: mergeConfig def.value) {};
   };
 
   overlayType = mkOptionType {
diff --git a/nixpkgs/nixos/modules/misc/version.nix b/nixpkgs/nixos/modules/misc/version.nix
index a6fffb76f6e8..8f246a9278b7 100644
--- a/nixpkgs/nixos/modules/misc/version.nix
+++ b/nixpkgs/nixos/modules/misc/version.nix
@@ -103,9 +103,10 @@ in
       ''
         NAME=NixOS
         ID=nixos
-        VERSION="${cfg.version} (${cfg.codeName})"
+        VERSION="${cfg.release} (${cfg.codeName})"
         VERSION_CODENAME=${toLower cfg.codeName}
-        VERSION_ID="${cfg.version}"
+        VERSION_ID="${cfg.release}"
+        BUILD_ID="${cfg.version}"
         PRETTY_NAME="NixOS ${cfg.release} (${cfg.codeName})"
         LOGO="nix-snowflake"
         HOME_URL="https://nixos.org/"
diff --git a/nixpkgs/nixos/modules/module-list.nix b/nixpkgs/nixos/modules/module-list.nix
index 0ae556cea138..b8a7c35626e7 100644
--- a/nixpkgs/nixos/modules/module-list.nix
+++ b/nixpkgs/nixos/modules/module-list.nix
@@ -72,7 +72,7 @@
   ./hardware/tuxedo-keyboard.nix
   ./hardware/ubertooth.nix
   ./hardware/usb-wwan.nix
-  ./hardware/onlykey.nix
+  ./hardware/onlykey/default.nix
   ./hardware/opentabletdriver.nix
   ./hardware/sata.nix
   ./hardware/wooting.nix
@@ -121,6 +121,7 @@
   ./programs/bash-my-aws.nix
   ./programs/bcc.nix
   ./programs/browserpass.nix
+  ./programs/calls.nix
   ./programs/captive-browser.nix
   ./programs/ccache.nix
   ./programs/cdemu.nix
@@ -236,6 +237,7 @@
   ./security/doas.nix
   ./security/systemd-confinement.nix
   ./security/tpm2.nix
+  ./services/admin/meshcentral.nix
   ./services/admin/oxidized.nix
   ./services/admin/salt/master.nix
   ./services/admin/salt/minion.nix
@@ -243,13 +245,17 @@
   ./services/amqp/rabbitmq.nix
   ./services/audio/alsa.nix
   ./services/audio/botamusique.nix
-  ./services/audio/jack.nix
+  ./services/audio/hqplayerd.nix
   ./services/audio/icecast.nix
+  ./services/audio/jack.nix
   ./services/audio/jmusicbot.nix
   ./services/audio/liquidsoap.nix
   ./services/audio/mpd.nix
   ./services/audio/mpdscribble.nix
   ./services/audio/mopidy.nix
+  ./services/audio/networkaudiod.nix
+  ./services/audio/roon-bridge.nix
+  ./services/audio/navidrome.nix
   ./services/audio/roon-server.nix
   ./services/audio/slimserver.nix
   ./services/audio/snapserver.nix
@@ -317,6 +323,7 @@
   ./services/databases/foundationdb.nix
   ./services/databases/hbase.nix
   ./services/databases/influxdb.nix
+  ./services/databases/influxdb2.nix
   ./services/databases/memcached.nix
   ./services/databases/monetdb.nix
   ./services/databases/mongodb.nix
@@ -367,6 +374,7 @@
   ./services/desktops/zeitgeist.nix
   ./services/development/bloop.nix
   ./services/development/blackfire.nix
+  ./services/development/distccd.nix
   ./services/development/hoogle.nix
   ./services/development/jupyter/default.nix
   ./services/development/jupyterhub/default.nix
@@ -455,6 +463,7 @@
   ./services/mail/opensmtpd.nix
   ./services/mail/pfix-srsd.nix
   ./services/mail/postfix.nix
+  ./services/mail/postfixadmin.nix
   ./services/mail/postsrsd.nix
   ./services/mail/postgrey.nix
   ./services/mail/public-inbox.nix
@@ -521,6 +530,7 @@
   ./services/misc/logkeys.nix
   ./services/misc/leaps.nix
   ./services/misc/lidarr.nix
+  ./services/misc/libreddit.nix
   ./services/misc/lifecycled.nix
   ./services/misc/mame.nix
   ./services/misc/matrix-appservice-discord.nix
@@ -530,8 +540,11 @@
   ./services/misc/mbpfan.nix
   ./services/misc/mediatomb.nix
   ./services/misc/metabase.nix
+  ./services/misc/moonraker.nix
   ./services/misc/mwlib.nix
+  ./services/misc/mx-puppet-discord.nix
   ./services/misc/n8n.nix
+  ./services/misc/nitter.nix
   ./services/misc/nix-daemon.nix
   ./services/misc/nix-gc.nix
   ./services/misc/nix-optimise.nix
@@ -543,7 +556,7 @@
   ./services/misc/ombi.nix
   ./services/misc/osrm.nix
   ./services/misc/packagekit.nix
-  ./services/misc/paperless.nix
+  ./services/misc/paperless-ng.nix
   ./services/misc/parsoid.nix
   ./services/misc/plex.nix
   ./services/misc/plikd.nix
@@ -635,6 +648,7 @@
   ./services/network-filesystems/glusterfs.nix
   ./services/network-filesystems/kbfs.nix
   ./services/network-filesystems/ipfs.nix
+  ./services/network-filesystems/litestream/default.nix
   ./services/network-filesystems/netatalk.nix
   ./services/network-filesystems/nfsd.nix
   ./services/network-filesystems/openafs/client.nix
@@ -758,6 +772,7 @@
   ./services/networking/namecoind.nix
   ./services/networking/nar-serve.nix
   ./services/networking/nat.nix
+  ./services/networking/nats.nix
   ./services/networking/ndppd.nix
   ./services/networking/nebula.nix
   ./services/networking/networkmanager.nix
@@ -821,6 +836,7 @@
   ./services/networking/smokeping.nix
   ./services/networking/softether.nix
   ./services/networking/solanum.nix
+  ./services/networking/soju.nix
   ./services/networking/spacecookie.nix
   ./services/networking/spiped.nix
   ./services/networking/squid.nix
@@ -931,6 +947,7 @@
   ./services/wayland/cage.nix
   ./services/video/epgstation/default.nix
   ./services/video/mirakurun.nix
+  ./services/video/replay-sorcery.nix
   ./services/web-apps/atlassian/confluence.nix
   ./services/web-apps/atlassian/crowd.nix
   ./services/web-apps/atlassian/jira.nix
@@ -942,6 +959,7 @@
   ./services/web-apps/documize.nix
   ./services/web-apps/dokuwiki.nix
   ./services/web-apps/engelsystem.nix
+  ./services/web-apps/fluidd.nix
   ./services/web-apps/galene.nix
   ./services/web-apps/gerrit.nix
   ./services/web-apps/gotify-server.nix
@@ -951,6 +969,7 @@
   ./services/web-apps/icingaweb2/icingaweb2.nix
   ./services/web-apps/icingaweb2/module-monitoring.nix
   ./services/web-apps/ihatemoney
+  ./services/web-apps/isso.nix
   ./services/web-apps/jirafeau.nix
   ./services/web-apps/jitsi-meet.nix
   ./services/web-apps/keycloak.nix
@@ -962,6 +981,7 @@
   ./services/web-apps/moodle.nix
   ./services/web-apps/nextcloud.nix
   ./services/web-apps/nexus.nix
+  ./services/web-apps/node-red.nix
   ./services/web-apps/plantuml-server.nix
   ./services/web-apps/plausible.nix
   ./services/web-apps/pgpkeyserver-lite.nix
@@ -983,7 +1003,7 @@
   ./services/web-apps/youtrack.nix
   ./services/web-apps/zabbix.nix
   ./services/web-servers/apache-httpd/default.nix
-  ./services/web-servers/caddy.nix
+  ./services/web-servers/caddy/default.nix
   ./services/web-servers/darkhttpd.nix
   ./services/web-servers/fcgiwrap.nix
   ./services/web-servers/hitch/default.nix
@@ -1022,6 +1042,7 @@
   ./services/x11/display-managers/sddm.nix
   ./services/x11/display-managers/slim.nix
   ./services/x11/display-managers/startx.nix
+  ./services/x11/display-managers/sx.nix
   ./services/x11/display-managers/xpra.nix
   ./services/x11/fractalart.nix
   ./services/x11/hardware/libinput.nix
diff --git a/nixpkgs/nixos/modules/profiles/headless.nix b/nixpkgs/nixos/modules/profiles/headless.nix
index 46a9b6a7d8d5..c17cb287b72b 100644
--- a/nixpkgs/nixos/modules/profiles/headless.nix
+++ b/nixpkgs/nixos/modules/profiles/headless.nix
@@ -9,7 +9,7 @@ with lib;
   boot.vesa = false;
 
   # Don't start a tty on the serial consoles.
-  systemd.services."serial-getty@ttyS0".enable = false;
+  systemd.services."serial-getty@ttyS0".enable = lib.mkDefault false;
   systemd.services."serial-getty@hvc0".enable = false;
   systemd.services."getty@tty1".enable = false;
   systemd.services."autovt@".enable = false;
diff --git a/nixpkgs/nixos/modules/profiles/installation-device.nix b/nixpkgs/nixos/modules/profiles/installation-device.nix
index 8e3aa20daa65..3c503fba2a39 100644
--- a/nixpkgs/nixos/modules/profiles/installation-device.nix
+++ b/nixpkgs/nixos/modules/profiles/installation-device.nix
@@ -54,7 +54,12 @@ with lib;
       An ssh daemon is running. You then must set a password
       for either "root" or "nixos" with `passwd` or add an ssh key
       to /home/nixos/.ssh/authorized_keys be able to login.
+
+      If you need a wireless connection, type
+      `sudo systemctl start wpa_supplicant` and configure a
+      network using `wpa_cli`. See the NixOS manual for details.
     '' + optionalString config.services.xserver.enable ''
+
       Type `sudo systemctl start display-manager' to
       start the graphical user interface.
     '';
@@ -71,6 +76,7 @@ with lib;
 
     # Enable wpa_supplicant, but don't start it by default.
     networking.wireless.enable = mkDefault true;
+    networking.wireless.userControlled.enable = true;
     systemd.services.wpa_supplicant.wantedBy = mkOverride 50 [];
 
     # Tell the Nix evaluator to garbage collect more aggressively.
diff --git a/nixpkgs/nixos/modules/programs/calls.nix b/nixpkgs/nixos/modules/programs/calls.nix
new file mode 100644
index 000000000000..59961625e5d9
--- /dev/null
+++ b/nixpkgs/nixos/modules/programs/calls.nix
@@ -0,0 +1,25 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.programs.calls;
+in {
+  options = {
+    programs.calls = {
+      enable = mkEnableOption ''
+        Whether to enable GNOME calls: a phone dialer and call handler.
+      '';
+    };
+  };
+
+  config = mkIf cfg.enable {
+    environment.systemPackages = [
+      pkgs.calls
+    ];
+
+    services.dbus.packages = [
+      pkgs.callaudiod
+    ];
+  };
+}
diff --git a/nixpkgs/nixos/modules/programs/captive-browser.nix b/nixpkgs/nixos/modules/programs/captive-browser.nix
index 1f223e2475ce..d7684d08c6c7 100644
--- a/nixpkgs/nixos/modules/programs/captive-browser.nix
+++ b/nixpkgs/nixos/modules/programs/captive-browser.nix
@@ -27,6 +27,7 @@ in
       browser = mkOption {
         type = types.str;
         default = concatStringsSep " " [
+          ''env XDG_CONFIG_HOME="$PREV_CONFIG_HOME"''
           ''${pkgs.chromium}/bin/chromium''
           ''--user-data-dir=''${XDG_DATA_HOME:-$HOME/.local/share}/chromium-captive''
           ''--proxy-server="socks5://$PROXY"''
@@ -84,18 +85,18 @@ in
 
     programs.captive-browser.dhcp-dns =
       let
-        iface = prefix:
-          optionalString cfg.bindInterface (concatStringsSep " " (map escapeShellArg [ prefix cfg.interface ]));
+        iface = prefixes:
+          optionalString cfg.bindInterface (escapeShellArgs (prefixes ++ [ cfg.interface ]));
       in
       mkOptionDefault (
         if config.networking.networkmanager.enable then
-          "${pkgs.networkmanager}/bin/nmcli dev show ${iface ""} | ${pkgs.gnugrep}/bin/fgrep IP4.DNS"
+          "${pkgs.networkmanager}/bin/nmcli dev show ${iface []} | ${pkgs.gnugrep}/bin/fgrep IP4.DNS"
         else if config.networking.dhcpcd.enable then
-          "${pkgs.dhcpcd}/bin/dhcpcd ${iface "-U"} | ${pkgs.gnugrep}/bin/fgrep domain_name_servers"
+          "${pkgs.dhcpcd}/bin/dhcpcd ${iface ["-U"]} | ${pkgs.gnugrep}/bin/fgrep domain_name_servers"
         else if config.networking.useNetworkd then
-          "${cfg.package}/bin/systemd-networkd-dns ${iface ""}"
+          "${cfg.package}/bin/systemd-networkd-dns ${iface []}"
         else
-          "${config.security.wrapperDir}/udhcpc --quit --now -f ${iface "-i"} -O dns --script ${
+          "${config.security.wrapperDir}/udhcpc --quit --now -f ${iface ["-i"]} -O dns --script ${
           pkgs.writeShellScript "udhcp-script" ''
             if [ "$1" = bound ]; then
               echo "$dns"
@@ -111,6 +112,7 @@ in
     security.wrappers.captive-browser = {
       capabilities = "cap_net_raw+p";
       source = pkgs.writeShellScript "captive-browser" ''
+        export PREV_CONFIG_HOME="$XDG_CONFIG_HOME"
         export XDG_CONFIG_HOME=${pkgs.writeTextDir "captive-browser.toml" ''
                                   browser = """${cfg.browser}"""
                                   dhcp-dns = """${cfg.dhcp-dns}"""
diff --git a/nixpkgs/nixos/modules/programs/neovim.nix b/nixpkgs/nixos/modules/programs/neovim.nix
index 0a1a2ac2b752..781c31d2b0ce 100644
--- a/nixpkgs/nixos/modules/programs/neovim.nix
+++ b/nixpkgs/nixos/modules/programs/neovim.nix
@@ -7,18 +7,7 @@ let
 
   runtime' = filter (f: f.enable) (attrValues cfg.runtime);
 
-  # taken from the etc module
-  runtime = pkgs.stdenvNoCC.mkDerivation {
-    name = "runtime";
-
-    builder = ../system/etc/make-etc.sh;
-
-    preferLocalBuild = true;
-    allowSubstitutes = false;
-
-    sources = map (x: x.source) runtime';
-    targets = map (x: x.target) runtime';
-  };
+  runtime = pkgs.linkFarm "neovim-runtime" (map (x: { name = x.target; path = x.source; }) runtime');
 
 in {
   options.programs.neovim = {
diff --git a/nixpkgs/nixos/modules/programs/ssh.nix b/nixpkgs/nixos/modules/programs/ssh.nix
index d4a7769bbd6d..795f1a9f7b44 100644
--- a/nixpkgs/nixos/modules/programs/ssh.nix
+++ b/nixpkgs/nixos/modules/programs/ssh.nix
@@ -14,7 +14,7 @@ let
     ''
       #! ${pkgs.runtimeShell} -e
       export DISPLAY="$(systemctl --user show-environment | ${pkgs.gnused}/bin/sed 's/^DISPLAY=\(.*\)/\1/; t; d')"
-      exec ${askPassword}
+      exec ${askPassword} "$@"
     '';
 
   knownHosts = map (h: getAttr h cfg.knownHosts) (attrNames cfg.knownHosts);
diff --git a/nixpkgs/nixos/modules/programs/udevil.nix b/nixpkgs/nixos/modules/programs/udevil.nix
index 25975d88ec86..ba5670f9dfe9 100644
--- a/nixpkgs/nixos/modules/programs/udevil.nix
+++ b/nixpkgs/nixos/modules/programs/udevil.nix
@@ -10,8 +10,5 @@ in {
 
   config = mkIf cfg.enable {
     security.wrappers.udevil.source = "${lib.getBin pkgs.udevil}/bin/udevil";
-
-    systemd.packages = [ pkgs.udevil ];
-    systemd.services."devmon@".wantedBy = [ "multi-user.target" ];
   };
 }
diff --git a/nixpkgs/nixos/modules/programs/zsh/zsh.nix b/nixpkgs/nixos/modules/programs/zsh/zsh.nix
index 6c824a692b75..dc6c958ca88b 100644
--- a/nixpkgs/nixos/modules/programs/zsh/zsh.nix
+++ b/nixpkgs/nixos/modules/programs/zsh/zsh.nix
@@ -278,7 +278,10 @@ in
         fi
       '';
 
-    environment.etc.zinputrc.source = ./zinputrc;
+    # Bug in nix flakes:
+    # If we use `.source` here the path is garbage collected also we point to it with a symlink
+    # see https://github.com/NixOS/nixpkgs/issues/132732
+    environment.etc.zinputrc.text = builtins.readFile ./zinputrc;
 
     environment.systemPackages =
       let
diff --git a/nixpkgs/nixos/modules/security/acme.nix b/nixpkgs/nixos/modules/security/acme.nix
index 22bf34198a30..bcbd17d8e10e 100644
--- a/nixpkgs/nixos/modules/security/acme.nix
+++ b/nixpkgs/nixos/modules/security/acme.nix
@@ -21,15 +21,51 @@ let
   # The Group can vary depending on what the user has specified in
   # security.acme.certs.<cert>.group on some of the services.
   commonServiceConfig = {
-      Type = "oneshot";
-      User = "acme";
-      Group = mkDefault "acme";
-      UMask = 0022;
-      StateDirectoryMode = 750;
-      ProtectSystem = "full";
-      PrivateTmp = true;
-
-      WorkingDirectory = "/tmp";
+    Type = "oneshot";
+    User = "acme";
+    Group = mkDefault "acme";
+    UMask = 0022;
+    StateDirectoryMode = 750;
+    ProtectSystem = "strict";
+    ReadWritePaths = [
+      "/var/lib/acme"
+    ];
+    PrivateTmp = true;
+
+    WorkingDirectory = "/tmp";
+
+    CapabilityBoundingSet = [ "" ];
+    DevicePolicy = "closed";
+    LockPersonality = true;
+    MemoryDenyWriteExecute = true;
+    NoNewPrivileges = true;
+    PrivateDevices = true;
+    ProtectClock = true;
+    ProtectHome = true;
+    ProtectHostname = true;
+    ProtectControlGroups = true;
+    ProtectKernelLogs = true;
+    ProtectKernelModules = true;
+    ProtectKernelTunables = true;
+    ProtectProc = "invisible";
+    ProcSubset = "pid";
+    RemoveIPC = true;
+    RestrictAddressFamilies = [
+      "AF_INET"
+      "AF_INET6"
+    ];
+    RestrictNamespaces = true;
+    RestrictRealtime = true;
+    RestrictSUIDSGID = true;
+    SystemCallArchitectures = "native";
+    SystemCallFilter = [
+      # 1. allow a reasonable set of syscalls
+      "@system-service"
+      # 2. and deny unreasonable ones
+      "~@privileged @resources"
+      # 3. then allow the required subset within denied groups
+      "@chown"
+    ];
   };
 
   # In order to avoid race conditions creating the CA for selfsigned certs,
diff --git a/nixpkgs/nixos/modules/security/apparmor/includes.nix b/nixpkgs/nixos/modules/security/apparmor/includes.nix
index e3dd410b3bb5..f290e95a296d 100644
--- a/nixpkgs/nixos/modules/security/apparmor/includes.nix
+++ b/nixpkgs/nixos/modules/security/apparmor/includes.nix
@@ -95,7 +95,7 @@ config.security.apparmor.includes = {
      include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/consoles"
   '';
   "abstractions/cups-client" = ''
-    include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/cpus-client"
+    include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/cups-client"
     ${etcRule "cups/cups-client.conf"}
   '';
   "abstractions/dbus-session-strict" = ''
diff --git a/nixpkgs/nixos/modules/security/pam.nix b/nixpkgs/nixos/modules/security/pam.nix
index 5699025601f5..163d75d7caf2 100644
--- a/nixpkgs/nixos/modules/security/pam.nix
+++ b/nixpkgs/nixos/modules/security/pam.nix
@@ -406,7 +406,7 @@ let
           ${let oath = config.security.pam.oath; in optionalString cfg.oathAuth
               "auth requisite ${pkgs.oathToolkit}/lib/security/pam_oath.so window=${toString oath.window} usersfile=${toString oath.usersFile} digits=${toString oath.digits}"}
           ${let yubi = config.security.pam.yubico; in optionalString cfg.yubicoAuth
-              "auth ${yubi.control} ${pkgs.yubico-pam}/lib/security/pam_yubico.so mode=${toString yubi.mode} ${optionalString (yubi.mode == "client") "id=${toString yubi.id}"} ${optionalString yubi.debug "debug"}"}
+              "auth ${yubi.control} ${pkgs.yubico-pam}/lib/security/pam_yubico.so mode=${toString yubi.mode} ${optionalString (yubi.challengeResponsePath != null) "chalresp_path=${yubi.challengeResponsePath}"} ${optionalString (yubi.mode == "client") "id=${toString yubi.id}"} ${optionalString yubi.debug "debug"}"}
           ${optionalString cfg.fprintAuth
               "auth sufficient ${pkgs.fprintd}/lib/security/pam_fprintd.so"}
         '' +
@@ -475,7 +475,7 @@ let
 
           # Session management.
           ${optionalString cfg.setEnvironment ''
-            session required pam_env.so conffile=${config.system.build.pamEnvironment} readenv=0
+            session required pam_env.so conffile=/etc/pam/environment readenv=0
           ''}
           session required pam_unix.so
           ${optionalString cfg.setLoginUid
@@ -826,6 +826,16 @@ in
           xlink:href="https://developers.yubico.com/yubico-pam/Authentication_Using_Challenge-Response.html">here</link>.
         '';
       };
+      challengeResponsePath = mkOption {
+        default = null;
+        type = types.nullOr types.path;
+        description = ''
+          If not null, set the path used by yubico pam module where the challenge expected response is stored.
+
+          More information can be found <link
+          xlink:href="https://developers.yubico.com/yubico-pam/Authentication_Using_Challenge-Response.html">here</link>.
+        '';
+      };
     };
 
     security.pam.enableEcryptfs = mkEnableOption "eCryptfs PAM module (mounting ecryptfs home directory on login)";
diff --git a/nixpkgs/nixos/modules/security/polkit.nix b/nixpkgs/nixos/modules/security/polkit.nix
index a6724bd75832..f556cca23cdc 100644
--- a/nixpkgs/nixos/modules/security/polkit.nix
+++ b/nixpkgs/nixos/modules/security/polkit.nix
@@ -96,8 +96,10 @@ in
     users.users.polkituser = {
       description = "PolKit daemon";
       uid = config.ids.uids.polkituser;
+      group = "polkituser";
     };
 
+    users.groups.polkituser = {};
   };
 
 }
diff --git a/nixpkgs/nixos/modules/services/admin/meshcentral.nix b/nixpkgs/nixos/modules/services/admin/meshcentral.nix
new file mode 100644
index 000000000000..ae7b6edda7d5
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/admin/meshcentral.nix
@@ -0,0 +1,53 @@
+{ config, pkgs, lib, ... }:
+let
+  cfg = config.services.meshcentral;
+  configFormat = pkgs.formats.json {};
+  configFile = configFormat.generate "meshcentral-config.json" cfg.settings;
+in with lib; {
+  options.services.meshcentral = with types; {
+    enable = mkEnableOption "MeshCentral computer management server";
+    package = mkOption {
+      description = "MeshCentral package to use. Replacing this may be necessary to add dependencies for extra functionality.";
+      type = types.package;
+      default = pkgs.meshcentral;
+      defaultText = "pkgs.meshcentral";
+    };
+    settings = mkOption {
+      description = ''
+        Settings for MeshCentral. Refer to upstream documentation for details:
+
+        <itemizedlist>
+          <listitem><para><link xlink:href="https://github.com/Ylianst/MeshCentral/blob/master/meshcentral-config-schema.json">JSON Schema definition</link></para></listitem>
+          <listitem><para><link xlink:href="https://github.com/Ylianst/MeshCentral/blob/master/sample-config.json">simple sample configuration</link></para></listitem>
+          <listitem><para><link xlink:href="https://github.com/Ylianst/MeshCentral/blob/master/sample-config-advanced.json">complex sample configuration</link></para></listitem>
+          <listitem><para><link xlink:href="https://www.meshcommander.com/meshcentral2">Old homepage) with documentation link</link></para></listitem>
+        </itemizedlist>
+      '';
+      type = types.submodule {
+        freeformType = configFormat.type;
+      };
+      example = {
+        settings = {
+          WANonly = true;
+          Cert = "meshcentral.example.com";
+          TlsOffload = "10.0.0.2,fd42::2";
+          Port = 4430;
+        };
+        domains."".certUrl = "https://meshcentral.example.com/";
+      };
+    };
+  };
+  config = mkIf cfg.enable {
+    services.meshcentral.settings.settings.autoBackup.backupPath = lib.mkDefault "/var/lib/meshcentral/backups";
+    systemd.services.meshcentral = {
+      wantedBy = ["multi-user.target"];
+      serviceConfig = {
+        ExecStart = "${cfg.package}/bin/meshcentral --datapath /var/lib/meshcentral --configfile ${configFile}";
+        DynamicUser = true;
+        StateDirectory = "meshcentral";
+        CacheDirectory = "meshcentral";
+      };
+    };
+  };
+  meta.maintainers = [ maintainers.lheckemann ];
+}
diff --git a/nixpkgs/nixos/modules/services/amqp/rabbitmq.nix b/nixpkgs/nixos/modules/services/amqp/rabbitmq.nix
index fc8a1bc3c23c..8fdfda9a66d8 100644
--- a/nixpkgs/nixos/modules/services/amqp/rabbitmq.nix
+++ b/nixpkgs/nixos/modules/services/amqp/rabbitmq.nix
@@ -7,12 +7,13 @@ let
 
   inherit (builtins) concatStringsSep;
 
-  config_file_content = lib.generators.toKeyValue {} cfg.configItems;
+  config_file_content = lib.generators.toKeyValue { } cfg.configItems;
   config_file = pkgs.writeText "rabbitmq.conf" config_file_content;
 
   advanced_config_file = pkgs.writeText "advanced.config" cfg.config;
 
-in {
+in
+{
   ###### interface
   options = {
     services.rabbitmq = {
@@ -79,7 +80,7 @@ in {
       };
 
       configItems = mkOption {
-        default = {};
+        default = { };
         type = types.attrsOf types.str;
         example = literalExample ''
           {
@@ -123,16 +124,38 @@ in {
       };
 
       plugins = mkOption {
-        default = [];
+        default = [ ];
         type = types.listOf types.str;
         description = "The names of plugins to enable";
       };
 
       pluginDirs = mkOption {
-        default = [];
+        default = [ ];
         type = types.listOf types.path;
         description = "The list of directories containing external plugins";
       };
+
+      managementPlugin = mkOption {
+        description = "The options to run the management plugin";
+        type = types.submodule {
+          options = {
+            enable = mkOption {
+              default = false;
+              type = types.bool;
+              description = ''
+                Whether to enable the management plugin
+              '';
+            };
+            port = mkOption {
+              default = 15672;
+              type = types.port;
+              description = ''
+                On which port to run the management plugin
+              '';
+            };
+          };
+        };
+      };
     };
   };
 
@@ -157,8 +180,13 @@ in {
 
     services.rabbitmq.configItems = {
       "listeners.tcp.1" = mkDefault "${cfg.listenAddress}:${toString cfg.port}";
+    } // optionalAttrs cfg.managementPlugin.enable {
+      "management.tcp.port" = toString cfg.managementPlugin.port;
+      "management.tcp.ip" = cfg.listenAddress;
     };
 
+    services.rabbitmq.plugins = optional cfg.managementPlugin.enable "rabbitmq_management";
+
     systemd.services.rabbitmq = {
       description = "RabbitMQ Server";
 
@@ -180,7 +208,7 @@ in {
         RABBITMQ_ENABLED_PLUGINS_FILE = pkgs.writeText "enabled_plugins" ''
           [ ${concatStringsSep "," cfg.plugins} ].
         '';
-      } //  optionalAttrs (cfg.config != "") { RABBITMQ_ADVANCED_CONFIG_FILE = advanced_config_file; };
+      } // optionalAttrs (cfg.config != "") { RABBITMQ_ADVANCED_CONFIG_FILE = advanced_config_file; };
 
       serviceConfig = {
         ExecStart = "${cfg.package}/sbin/rabbitmq-server";
diff --git a/nixpkgs/nixos/modules/services/audio/hqplayerd.nix b/nixpkgs/nixos/modules/services/audio/hqplayerd.nix
new file mode 100644
index 000000000000..d549ac77e0e5
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/audio/hqplayerd.nix
@@ -0,0 +1,142 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.hqplayerd;
+  pkg = pkgs.hqplayerd;
+  # XXX: This is hard-coded in the distributed binary, don't try to change it.
+  stateDir = "/var/lib/hqplayer";
+  configDir = "/etc/hqplayer";
+in
+{
+  options = {
+    services.hqplayerd = {
+      enable = mkEnableOption "HQPlayer Embedded";
+
+      auth = {
+        username = mkOption {
+          type = types.nullOr types.str;
+          default = null;
+          description = ''
+            Username used for HQPlayer's WebUI.
+
+            Without this you will need to manually create the credentials after
+            first start by going to http://your.ip/8088/auth
+          '';
+        };
+
+        password = mkOption {
+          type = types.nullOr types.str;
+          default = null;
+          description = ''
+            Password used for HQPlayer's WebUI.
+
+            Without this you will need to manually create the credentials after
+            first start by going to http://your.ip/8088/auth
+          '';
+        };
+      };
+
+      licenseFile = mkOption {
+        type = types.nullOr types.path;
+        default = null;
+        description = ''
+          Path to the HQPlayer license key file.
+
+          Without this, the service will run in trial mode and restart every 30
+          minutes.
+        '';
+      };
+
+      openFirewall = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Opens ports needed for the WebUI and controller API.
+        '';
+      };
+
+      config = mkOption {
+        type = types.nullOr types.lines;
+        default = null;
+        description = ''
+          HQplayer daemon configuration, written to /etc/hqplayer/hqplayerd.xml.
+
+          Refer to ${pkg}/share/doc/hqplayerd/readme.txt for possible values.
+        '';
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    assertions = [
+      {
+        assertion = (cfg.auth.username != null -> cfg.auth.password != null)
+                 && (cfg.auth.password != null -> cfg.auth.username != null);
+        message = "You must set either both services.hqplayer.auth.username and password, or neither.";
+      }
+    ];
+
+    environment = {
+      etc = {
+        "hqplayer/hqplayerd.xml" = mkIf (cfg.config != null) { source = pkgs.writeText "hqplayerd.xml" cfg.config; };
+        "hqplayer/hqplayerd4-key.xml" = mkIf (cfg.licenseFile != null) { source = cfg.licenseFile; };
+        "modules-load.d/taudio2.conf".source = "${pkg}/etc/modules-load.d/taudio2.conf";
+      };
+      systemPackages = [ pkg ];
+    };
+
+    networking.firewall = mkIf cfg.openFirewall {
+      allowedTCPPorts = [ 8088 4321 ];
+    };
+
+    services.udev.packages = [ pkg ];
+
+    systemd = {
+      tmpfiles.rules = [
+        "d ${configDir}      0755 hqplayer hqplayer - -"
+        "d ${stateDir}       0755 hqplayer hqplayer - -"
+        "d ${stateDir}/home  0755 hqplayer hqplayer - -"
+      ];
+
+      packages = [ pkg ];
+
+      services.hqplayerd = {
+        wantedBy = [ "multi-user.target" ];
+        after = [ "systemd-tmpfiles-setup.service" ];
+
+        environment.HOME = "${stateDir}/home";
+
+        unitConfig.ConditionPathExists = [ configDir stateDir ];
+
+        restartTriggers = optionals (cfg.config != null) [ config.environment.etc."hqplayer/hqplayerd.xml".source ];
+
+        preStart = ''
+          cp -r "${pkg}/var/lib/hqplayer/web" "${stateDir}"
+          chmod -R u+wX "${stateDir}/web"
+
+          if [ ! -f "${configDir}/hqplayerd.xml" ]; then
+            echo "creating initial config file"
+            install -m 0644 "${pkg}/etc/hqplayer/hqplayerd.xml" "${configDir}/hqplayerd.xml"
+          fi
+        '' + optionalString (cfg.auth.username != null && cfg.auth.password != null) ''
+          ${pkg}/bin/hqplayerd -s ${cfg.auth.username} ${cfg.auth.password}
+        '';
+      };
+    };
+
+    users.groups = {
+      hqplayer.gid = config.ids.gids.hqplayer;
+    };
+
+    users.users = {
+      hqplayer = {
+        description = "hqplayer daemon user";
+        extraGroups = [ "audio" ];
+        group = "hqplayer";
+        uid = config.ids.uids.hqplayer;
+      };
+    };
+  };
+}
diff --git a/nixpkgs/nixos/modules/services/audio/navidrome.nix b/nixpkgs/nixos/modules/services/audio/navidrome.nix
new file mode 100644
index 000000000000..c2fe429f9844
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/audio/navidrome.nix
@@ -0,0 +1,71 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.navidrome;
+  settingsFormat = pkgs.formats.json {};
+in {
+  options = {
+    services.navidrome = {
+
+      enable = mkEnableOption pkgs.navidrome.meta.description;
+
+      settings = mkOption rec {
+        type = settingsFormat.type;
+        apply = recursiveUpdate default;
+        default = {
+          Address = "127.0.0.1";
+          Port = 4533;
+        };
+        example = {
+          MusicFolder = "/mnt/music";
+        };
+        description = ''
+          Configuration for Navidrome, see <link xlink:href="https://www.navidrome.org/docs/usage/configuration-options/"/> for supported values.
+        '';
+      };
+
+    };
+  };
+
+  config = mkIf cfg.enable {
+    systemd.services.navidrome = {
+      description = "Navidrome Media Server";
+      after = [ "network.target" ];
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig = {
+        ExecStart = ''
+          ${pkgs.navidrome}/bin/navidrome --configfile ${settingsFormat.generate "navidrome.json" cfg.settings}
+        '';
+        DynamicUser = true;
+        StateDirectory = "navidrome";
+        WorkingDirectory = "/var/lib/navidrome";
+        RuntimeDirectory = "navidrome";
+        RootDirectory = "/run/navidrome";
+        ReadWritePaths = "";
+        BindReadOnlyPaths = [
+          builtins.storeDir
+        ] ++ lib.optional (cfg.settings ? MusicFolder) cfg.settings.MusicFolder;
+        CapabilityBoundingSet = "";
+        RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" ];
+        RestrictNamespaces = true;
+        PrivateDevices = true;
+        PrivateUsers = true;
+        ProtectClock = true;
+        ProtectControlGroups = true;
+        ProtectHome = true;
+        ProtectKernelLogs = true;
+        ProtectKernelModules = true;
+        ProtectKernelTunables = true;
+        SystemCallArchitectures = "native";
+        SystemCallFilter = [ "@system-service" "~@privileged" "~@resources" ];
+        RestrictRealtime = true;
+        LockPersonality = true;
+        MemoryDenyWriteExecute = true;
+        UMask = "0066";
+        ProtectHostname = true;
+      };
+    };
+  };
+}
diff --git a/nixpkgs/nixos/modules/services/audio/networkaudiod.nix b/nixpkgs/nixos/modules/services/audio/networkaudiod.nix
new file mode 100644
index 000000000000..265a4e1d95d6
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/audio/networkaudiod.nix
@@ -0,0 +1,19 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  name = "networkaudiod";
+  cfg = config.services.networkaudiod;
+in {
+  options = {
+    services.networkaudiod = {
+      enable = mkEnableOption "Networkaudiod (NAA)";
+    };
+  };
+
+  config = mkIf cfg.enable {
+    systemd.packages = [ pkgs.networkaudiod ];
+    systemd.services.networkaudiod.wantedBy = [ "multi-user.target" ];
+  };
+}
diff --git a/nixpkgs/nixos/modules/services/audio/roon-bridge.nix b/nixpkgs/nixos/modules/services/audio/roon-bridge.nix
index 85273a2039c3..e08f8a4f9e7a 100644
--- a/nixpkgs/nixos/modules/services/audio/roon-bridge.nix
+++ b/nixpkgs/nixos/modules/services/audio/roon-bridge.nix
@@ -14,9 +14,6 @@ in {
         default = false;
         description = ''
           Open ports in the firewall for the bridge.
-
-          UDP: 9003
-          TCP: 9100 - 9200
         '';
       };
       user = mkOption {
@@ -54,10 +51,15 @@ in {
     };
 
     networking.firewall = mkIf cfg.openFirewall {
-      allowedTCPPortRanges = [
-        { from = 9100; to = 9200; }
-      ];
+      allowedTCPPortRanges = [{ from = 9100; to = 9200; }];
       allowedUDPPorts = [ 9003 ];
+      extraCommands = ''
+        iptables -A INPUT -s 224.0.0.0/4 -j ACCEPT
+        iptables -A INPUT -d 224.0.0.0/4 -j ACCEPT
+        iptables -A INPUT -s 240.0.0.0/5 -j ACCEPT
+        iptables -A INPUT -m pkttype --pkt-type multicast -j ACCEPT
+        iptables -A INPUT -m pkttype --pkt-type broadcast -j ACCEPT
+      '';
     };
 
 
diff --git a/nixpkgs/nixos/modules/services/audio/roon-server.nix b/nixpkgs/nixos/modules/services/audio/roon-server.nix
index eceb65044c5b..42da5a100170 100644
--- a/nixpkgs/nixos/modules/services/audio/roon-server.nix
+++ b/nixpkgs/nixos/modules/services/audio/roon-server.nix
@@ -14,9 +14,6 @@ in {
         default = false;
         description = ''
           Open ports in the firewall for the server.
-
-          UDP: 9003
-          TCP: 9100 - 9200
         '';
       };
       user = mkOption {
@@ -54,10 +51,15 @@ in {
     };
 
     networking.firewall = mkIf cfg.openFirewall {
-      allowedTCPPortRanges = [
-        { from = 9100; to = 9200; }
-      ];
+      allowedTCPPortRanges = [{ from = 9100; to = 9200; }];
       allowedUDPPorts = [ 9003 ];
+      extraCommands = ''
+        iptables -A INPUT -s 224.0.0.0/4 -j ACCEPT
+        iptables -A INPUT -d 224.0.0.0/4 -j ACCEPT
+        iptables -A INPUT -s 240.0.0.0/5 -j ACCEPT
+        iptables -A INPUT -m pkttype --pkt-type multicast -j ACCEPT
+        iptables -A INPUT -m pkttype --pkt-type broadcast -j ACCEPT
+      '';
     };
 
 
diff --git a/nixpkgs/nixos/modules/services/backup/borgbackup.nix b/nixpkgs/nixos/modules/services/backup/borgbackup.nix
index 18fb29fd72a5..ccbc7726392d 100644
--- a/nixpkgs/nixos/modules/services/backup/borgbackup.nix
+++ b/nixpkgs/nixos/modules/services/backup/borgbackup.nix
@@ -102,7 +102,7 @@ let
   mkWrapperDrv = {
       original, name, set ? {}
     }:
-    pkgs.runCommandNoCC "${name}-wrapper" {
+    pkgs.runCommand "${name}-wrapper" {
       buildInputs = [ pkgs.makeWrapper ];
     } (with lib; ''
       makeWrapper "${original}" "$out/bin/${name}" \
diff --git a/nixpkgs/nixos/modules/services/backup/postgresql-backup.nix b/nixpkgs/nixos/modules/services/backup/postgresql-backup.nix
index f658eb756f7b..bcc135005e16 100644
--- a/nixpkgs/nixos/modules/services/backup/postgresql-backup.nix
+++ b/nixpkgs/nixos/modules/services/backup/postgresql-backup.nix
@@ -7,28 +7,49 @@ let
   cfg = config.services.postgresqlBackup;
 
   postgresqlBackupService = db: dumpCmd:
-    {
+    let
+      compressSuffixes = {
+        "none" = "";
+        "gzip" = ".gz";
+        "zstd" = ".zstd";
+      };
+      compressSuffix = getAttr cfg.compression compressSuffixes;
+
+      compressCmd = getAttr cfg.compression {
+        "none" = "cat";
+        "gzip" = "${pkgs.gzip}/bin/gzip -c";
+        "zstd" = "${pkgs.zstd}/bin/zstd -c";
+      };
+
+      mkSqlPath = prefix: suffix: "${cfg.location}/${db}${prefix}.sql${suffix}";
+      curFile = mkSqlPath "" compressSuffix;
+      prevFile = mkSqlPath ".prev" compressSuffix;
+      prevFiles = map (mkSqlPath ".prev") (attrValues compressSuffixes);
+      inProgressFile = mkSqlPath ".in-progress" compressSuffix;
+    in {
       enable = true;
 
       description = "Backup of ${db} database(s)";
 
       requires = [ "postgresql.service" ];
 
-      path = [ pkgs.coreutils pkgs.gzip config.services.postgresql.package ];
+      path = [ pkgs.coreutils config.services.postgresql.package ];
 
       script = ''
         set -e -o pipefail
 
         umask 0077 # ensure backup is only readable by postgres user
 
-        if [ -e ${cfg.location}/${db}.sql.gz ]; then
-          mv ${cfg.location}/${db}.sql.gz ${cfg.location}/${db}.prev.sql.gz
+        if [ -e ${curFile} ]; then
+          rm -f ${toString prevFiles}
+          mv ${curFile} ${prevFile}
         fi
 
-        ${dumpCmd} | \
-          gzip -c > ${cfg.location}/${db}.in-progress.sql.gz
+        ${dumpCmd} \
+          | ${compressCmd} \
+          > ${inProgressFile}
 
-        mv ${cfg.location}/${db}.in-progress.sql.gz ${cfg.location}/${db}.sql.gz
+        mv ${inProgressFile} ${curFile}
       '';
 
       serviceConfig = {
@@ -87,7 +108,7 @@ in {
         default = "/var/backup/postgresql";
         type = types.path;
         description = ''
-          Location to put the gzipped PostgreSQL database dumps.
+          Path of directory where the PostgreSQL database dumps will be placed.
         '';
       };
 
@@ -101,6 +122,14 @@ in {
           when no databases where specified.
         '';
       };
+
+      compression = mkOption {
+        type = types.enum ["none" "gzip" "zstd"];
+        default = "gzip";
+        description = ''
+          The type of compression to use on the generated database dump.
+        '';
+      };
     };
 
   };
diff --git a/nixpkgs/nixos/modules/services/backup/sanoid.nix b/nixpkgs/nixos/modules/services/backup/sanoid.nix
index abc4def1c61f..41d0e2e1df68 100644
--- a/nixpkgs/nixos/modules/services/backup/sanoid.nix
+++ b/nixpkgs/nixos/modules/services/backup/sanoid.nix
@@ -52,7 +52,7 @@ let
     use_template = mkOption {
       description = "Names of the templates to use for this dataset.";
       type = types.listOf (types.enum (attrNames cfg.templates));
-      default = [];
+      default = [ ];
     };
     useTemplate = use_template;
 
@@ -70,116 +70,127 @@ let
     processChildrenOnly = process_children_only;
   };
 
-  # Extract pool names from configured datasets
-  pools = unique (map (d: head (builtins.match "([^/]+).*" d)) (attrNames cfg.datasets));
-
-  configFile = let
-    mkValueString = v:
-      if builtins.isList v then concatStringsSep "," v
-      else generators.mkValueStringDefault {} v;
-
-    mkKeyValue = k: v: if v == null then ""
-      else if k == "processChildrenOnly" then ""
-      else if k == "useTemplate" then ""
-      else generators.mkKeyValueDefault { inherit mkValueString; } "=" k v;
-  in generators.toINI { inherit mkKeyValue; } cfg.settings;
-
-in {
-
-    # Interface
-
-    options.services.sanoid = {
-      enable = mkEnableOption "Sanoid ZFS snapshotting service";
-
-      interval = mkOption {
-        type = types.str;
-        default = "hourly";
-        example = "daily";
-        description = ''
-          Run sanoid at this interval. The default is to run hourly.
-
-          The format is described in
-          <citerefentry><refentrytitle>systemd.time</refentrytitle>
-          <manvolnum>7</manvolnum></citerefentry>.
-        '';
-      };
+  # Extract unique dataset names
+  datasets = unique (attrNames cfg.datasets);
+
+  # Function to build "zfs allow" and "zfs unallow" commands for the
+  # filesystems we've delegated permissions to.
+  buildAllowCommand = zfsAction: permissions: dataset: lib.escapeShellArgs [
+    # Here we explicitly use the booted system to guarantee the stable API needed by ZFS
+    "-+/run/booted-system/sw/bin/zfs"
+    zfsAction
+    "sanoid"
+    (concatStringsSep "," permissions)
+    dataset
+  ];
+
+  configFile =
+    let
+      mkValueString = v:
+        if builtins.isList v then concatStringsSep "," v
+        else generators.mkValueStringDefault { } v;
+
+      mkKeyValue = k: v:
+        if v == null then ""
+        else if k == "processChildrenOnly" then ""
+        else if k == "useTemplate" then ""
+        else generators.mkKeyValueDefault { inherit mkValueString; } "=" k v;
+    in
+    generators.toINI { inherit mkKeyValue; } cfg.settings;
+
+in
+{
+
+  # Interface
+
+  options.services.sanoid = {
+    enable = mkEnableOption "Sanoid ZFS snapshotting service";
+
+    interval = mkOption {
+      type = types.str;
+      default = "hourly";
+      example = "daily";
+      description = ''
+        Run sanoid at this interval. The default is to run hourly.
+
+        The format is described in
+        <citerefentry><refentrytitle>systemd.time</refentrytitle>
+        <manvolnum>7</manvolnum></citerefentry>.
+      '';
+    };
 
-      datasets = mkOption {
-        type = types.attrsOf (types.submodule ({config, options, ...}: {
-          freeformType = datasetSettingsType;
-          options = commonOptions // datasetOptions;
-          config.use_template = mkAliasDefinitions (mkDefault options.useTemplate or {});
-          config.process_children_only = mkAliasDefinitions (mkDefault options.processChildrenOnly or {});
-        }));
-        default = {};
-        description = "Datasets to snapshot.";
-      };
+    datasets = mkOption {
+      type = types.attrsOf (types.submodule ({ config, options, ... }: {
+        freeformType = datasetSettingsType;
+        options = commonOptions // datasetOptions;
+        config.use_template = mkAliasDefinitions (mkDefault options.useTemplate or { });
+        config.process_children_only = mkAliasDefinitions (mkDefault options.processChildrenOnly or { });
+      }));
+      default = { };
+      description = "Datasets to snapshot.";
+    };
 
-      templates = mkOption {
-        type = types.attrsOf (types.submodule {
-          freeformType = datasetSettingsType;
-          options = commonOptions;
-        });
-        default = {};
-        description = "Templates for datasets.";
-      };
+    templates = mkOption {
+      type = types.attrsOf (types.submodule {
+        freeformType = datasetSettingsType;
+        options = commonOptions;
+      });
+      default = { };
+      description = "Templates for datasets.";
+    };
 
-      settings = mkOption {
-        type = types.attrsOf datasetSettingsType;
-        description = ''
-          Free-form settings written directly to the config file. See
-          <link xlink:href="https://github.com/jimsalterjrs/sanoid/blob/master/sanoid.defaults.conf"/>
-          for allowed values.
-        '';
-      };
+    settings = mkOption {
+      type = types.attrsOf datasetSettingsType;
+      description = ''
+        Free-form settings written directly to the config file. See
+        <link xlink:href="https://github.com/jimsalterjrs/sanoid/blob/master/sanoid.defaults.conf"/>
+        for allowed values.
+      '';
+    };
 
-      extraArgs = mkOption {
-        type = types.listOf types.str;
-        default = [];
-        example = [ "--verbose" "--readonly" "--debug" ];
-        description = ''
-          Extra arguments to pass to sanoid. See
-          <link xlink:href="https://github.com/jimsalterjrs/sanoid/#sanoid-command-line-options"/>
-          for allowed options.
-        '';
-      };
+    extraArgs = mkOption {
+      type = types.listOf types.str;
+      default = [ ];
+      example = [ "--verbose" "--readonly" "--debug" ];
+      description = ''
+        Extra arguments to pass to sanoid. See
+        <link xlink:href="https://github.com/jimsalterjrs/sanoid/#sanoid-command-line-options"/>
+        for allowed options.
+      '';
     };
+  };
 
-    # Implementation
-
-    config = mkIf cfg.enable {
-      services.sanoid.settings = mkMerge [
-        (mapAttrs' (d: v: nameValuePair ("template_" + d) v) cfg.templates)
-        (mapAttrs (d: v: v) cfg.datasets)
-      ];
-
-      systemd.services.sanoid = {
-        description = "Sanoid snapshot service";
-        serviceConfig = {
-          ExecStartPre = map (pool: lib.escapeShellArgs [
-            "+/run/booted-system/sw/bin/zfs" "allow"
-            "sanoid" "snapshot,mount,destroy" pool
-          ]) pools;
-          ExecStart = lib.escapeShellArgs ([
-            "${pkgs.sanoid}/bin/sanoid"
-            "--cron"
-            "--configdir" (pkgs.writeTextDir "sanoid.conf" configFile)
-          ] ++ cfg.extraArgs);
-          ExecStopPost = map (pool: lib.escapeShellArgs [
-            "+/run/booted-system/sw/bin/zfs" "unallow" "sanoid" pool
-          ]) pools;
-          User = "sanoid";
-          Group = "sanoid";
-          DynamicUser = true;
-          RuntimeDirectory = "sanoid";
-          CacheDirectory = "sanoid";
-        };
-        # Prevents missing snapshots during DST changes
-        environment.TZ = "UTC";
-        after = [ "zfs.target" ];
-        startAt = cfg.interval;
+  # Implementation
+
+  config = mkIf cfg.enable {
+    services.sanoid.settings = mkMerge [
+      (mapAttrs' (d: v: nameValuePair ("template_" + d) v) cfg.templates)
+      (mapAttrs (d: v: v) cfg.datasets)
+    ];
+
+    systemd.services.sanoid = {
+      description = "Sanoid snapshot service";
+      serviceConfig = {
+        ExecStartPre = (map (buildAllowCommand "allow" [ "snapshot" "mount" "destroy" ]) datasets);
+        ExecStopPost = (map (buildAllowCommand "unallow" [ "snapshot" "mount" "destroy" ]) datasets);
+        ExecStart = lib.escapeShellArgs ([
+          "${pkgs.sanoid}/bin/sanoid"
+          "--cron"
+          "--configdir"
+          (pkgs.writeTextDir "sanoid.conf" configFile)
+        ] ++ cfg.extraArgs);
+        User = "sanoid";
+        Group = "sanoid";
+        DynamicUser = true;
+        RuntimeDirectory = "sanoid";
+        CacheDirectory = "sanoid";
       };
+      # Prevents missing snapshots during DST changes
+      environment.TZ = "UTC";
+      after = [ "zfs.target" ];
+      startAt = cfg.interval;
     };
+  };
 
-    meta.maintainers = with maintainers; [ lopsided98 ];
-  }
+  meta.maintainers = with maintainers; [ lopsided98 ];
+}
diff --git a/nixpkgs/nixos/modules/services/backup/syncoid.nix b/nixpkgs/nixos/modules/services/backup/syncoid.nix
index b764db1f14e4..3ad8d279a36d 100644
--- a/nixpkgs/nixos/modules/services/backup/syncoid.nix
+++ b/nixpkgs/nixos/modules/services/backup/syncoid.nix
@@ -5,212 +5,366 @@ with lib;
 let
   cfg = config.services.syncoid;
 
-  # Extract pool names of local datasets (ones that don't contain "@") that
-  # have the specified type (either "source" or "target")
-  getPools = type: unique (map (d: head (builtins.match "([^/]+).*" d)) (
-    # Filter local datasets
-    filter (d: !hasInfix "@" d)
-    # Get datasets of the specified type
-    (catAttrs type (attrValues cfg.commands))
-  ));
-in {
-
-    # Interface
-
-    options.services.syncoid = {
-      enable = mkEnableOption "Syncoid ZFS synchronization service";
-
-      interval = mkOption {
-        type = types.str;
-        default = "hourly";
-        example = "*-*-* *:15:00";
-        description = ''
-          Run syncoid at this interval. The default is to run hourly.
-
-          The format is described in
-          <citerefentry><refentrytitle>systemd.time</refentrytitle>
-          <manvolnum>7</manvolnum></citerefentry>.
-        '';
-      };
+  # Extract local dasaset names (so no datasets containing "@")
+  localDatasetName = d: optionals (d != null) (
+    let m = builtins.match "([^/@]+[^@]*)" d; in
+    optionals (m != null) m
+  );
 
-      user = mkOption {
-        type = types.str;
-        default = "syncoid";
-        example = "backup";
-        description = ''
-          The user for the service. ZFS privilege delegation will be
-          automatically configured for any local pools used by syncoid if this
-          option is set to a user other than root. The user will be given the
-          "hold" and "send" privileges on any pool that has datasets being sent
-          and the "create", "mount", "receive", and "rollback" privileges on
-          any pool that has datasets being received.
-        '';
-      };
+  # Escape as required by: https://www.freedesktop.org/software/systemd/man/systemd.unit.html
+  escapeUnitName = name:
+    lib.concatMapStrings (s: if lib.isList s then "-" else s)
+      (builtins.split "[^a-zA-Z0-9_.\\-]+" name);
 
-      group = mkOption {
-        type = types.str;
-        default = "syncoid";
-        example = "backup";
-        description = "The group for the service.";
-      };
+  # Function to build "zfs allow" and "zfs unallow" commands for the
+  # filesystems we've delegated permissions to.
+  buildAllowCommand = zfsAction: permissions: dataset: lib.escapeShellArgs [
+    # Here we explicitly use the booted system to guarantee the stable API needed by ZFS
+    "-+/run/booted-system/sw/bin/zfs"
+    zfsAction
+    cfg.user
+    (concatStringsSep "," permissions)
+    dataset
+  ];
+in
+{
 
-      sshKey = mkOption {
-        type = types.nullOr types.path;
-        # Prevent key from being copied to store
-        apply = mapNullable toString;
-        default = null;
-        description = ''
-          SSH private key file to use to login to the remote system. Can be
-          overridden in individual commands.
-        '';
-      };
+  # Interface
 
-      commonArgs = mkOption {
-        type = types.listOf types.str;
-        default = [];
-        example = [ "--no-sync-snap" ];
-        description = ''
-          Arguments to add to every syncoid command, unless disabled for that
-          command. See
-          <link xlink:href="https://github.com/jimsalterjrs/sanoid/#syncoid-command-line-options"/>
-          for available options.
-        '';
-      };
+  options.services.syncoid = {
+    enable = mkEnableOption "Syncoid ZFS synchronization service";
 
-      commands = mkOption {
-        type = types.attrsOf (types.submodule ({ name, ... }: {
-          options = {
-            source = mkOption {
-              type = types.str;
-              example = "pool/dataset";
-              description = ''
-                Source ZFS dataset. Can be either local or remote. Defaults to
-                the attribute name.
-              '';
-            };
+    interval = mkOption {
+      type = types.str;
+      default = "hourly";
+      example = "*-*-* *:15:00";
+      description = ''
+        Run syncoid at this interval. The default is to run hourly.
 
-            target = mkOption {
-              type = types.str;
-              example = "user@server:pool/dataset";
-              description = ''
-                Target ZFS dataset. Can be either local
-                (<replaceable>pool/dataset</replaceable>) or remote
-                (<replaceable>user@server:pool/dataset</replaceable>).
-              '';
-            };
+        The format is described in
+        <citerefentry><refentrytitle>systemd.time</refentrytitle>
+        <manvolnum>7</manvolnum></citerefentry>.
+      '';
+    };
 
-            recursive = mkOption {
-              type = types.bool;
-              default = false;
-              description = ''
-                Whether to also transfer child datasets.
-              '';
-            };
+    user = mkOption {
+      type = types.str;
+      default = "syncoid";
+      example = "backup";
+      description = ''
+        The user for the service. ZFS privilege delegation will be
+        automatically configured for any local pools used by syncoid if this
+        option is set to a user other than root. The user will be given the
+        "hold" and "send" privileges on any pool that has datasets being sent
+        and the "create", "mount", "receive", and "rollback" privileges on
+        any pool that has datasets being received.
+      '';
+    };
 
-            sshKey = mkOption {
-              type = types.nullOr types.path;
-              # Prevent key from being copied to store
-              apply = mapNullable toString;
-              description = ''
-                SSH private key file to use to login to the remote system.
-                Defaults to <option>services.syncoid.sshKey</option> option.
-              '';
-            };
+    group = mkOption {
+      type = types.str;
+      default = "syncoid";
+      example = "backup";
+      description = "The group for the service.";
+    };
 
-            sendOptions = mkOption {
-              type = types.separatedString " ";
-              default = "";
-              example = "Lc e";
-              description = ''
-                Advanced options to pass to zfs send. Options are specified
-                without their leading dashes and separated by spaces.
-              '';
-            };
+    sshKey = mkOption {
+      type = types.nullOr types.path;
+      # Prevent key from being copied to store
+      apply = mapNullable toString;
+      default = null;
+      description = ''
+        SSH private key file to use to login to the remote system. Can be
+        overridden in individual commands.
+      '';
+    };
 
-            recvOptions = mkOption {
-              type = types.separatedString " ";
-              default = "";
-              example = "ux recordsize o compression=lz4";
-              description = ''
-                Advanced options to pass to zfs recv. Options are specified
-                without their leading dashes and separated by spaces.
-              '';
-            };
+    localSourceAllow = mkOption {
+      type = types.listOf types.str;
+      # Permissions snapshot and destroy are in case --no-sync-snap is not used
+      default = [ "bookmark" "hold" "send" "snapshot" "destroy" ];
+      description = ''
+        Permissions granted for the <option>services.syncoid.user</option> user
+        for local source datasets. See
+        <link xlink:href="https://openzfs.github.io/openzfs-docs/man/8/zfs-allow.8.html"/>
+        for available permissions.
+      '';
+    };
 
-            useCommonArgs = mkOption {
-              type = types.bool;
-              default = true;
-              description = ''
-                Whether to add the configured common arguments to this command.
-              '';
-            };
+    localTargetAllow = mkOption {
+      type = types.listOf types.str;
+      default = [ "change-key" "compression" "create" "mount" "mountpoint" "receive" "rollback" ];
+      example = [ "create" "mount" "receive" "rollback" ];
+      description = ''
+        Permissions granted for the <option>services.syncoid.user</option> user
+        for local target datasets. See
+        <link xlink:href="https://openzfs.github.io/openzfs-docs/man/8/zfs-allow.8.html"/>
+        for available permissions.
+        Make sure to include the <literal>change-key</literal> permission if you send raw encrypted datasets,
+        the <literal>compression</literal> permission if you send raw compressed datasets, and so on.
+        For remote target datasets you'll have to set your remote user permissions by yourself.
+      '';
+    };
 
-            extraArgs = mkOption {
-              type = types.listOf types.str;
-              default = [];
-              example = [ "--sshport 2222" ];
-              description = "Extra syncoid arguments for this command.";
-            };
+    commonArgs = mkOption {
+      type = types.listOf types.str;
+      default = [ ];
+      example = [ "--no-sync-snap" ];
+      description = ''
+        Arguments to add to every syncoid command, unless disabled for that
+        command. See
+        <link xlink:href="https://github.com/jimsalterjrs/sanoid/#syncoid-command-line-options"/>
+        for available options.
+      '';
+    };
+
+    service = mkOption {
+      type = types.attrs;
+      default = { };
+      description = ''
+        Systemd configuration common to all syncoid services.
+      '';
+    };
+
+    commands = mkOption {
+      type = types.attrsOf (types.submodule ({ name, ... }: {
+        options = {
+          source = mkOption {
+            type = types.str;
+            example = "pool/dataset";
+            description = ''
+              Source ZFS dataset. Can be either local or remote. Defaults to
+              the attribute name.
+            '';
           };
-          config = {
-            source = mkDefault name;
-            sshKey = mkDefault cfg.sshKey;
+
+          target = mkOption {
+            type = types.str;
+            example = "user@server:pool/dataset";
+            description = ''
+              Target ZFS dataset. Can be either local
+              (<replaceable>pool/dataset</replaceable>) or remote
+              (<replaceable>user@server:pool/dataset</replaceable>).
+            '';
           };
-        }));
-        default = {};
-        example = literalExample ''
-          {
-            "pool/test".target = "root@target:pool/test";
-          }
-        '';
-        description = "Syncoid commands to run.";
-      };
-    };
 
-    # Implementation
+          recursive = mkEnableOption ''the transfer of child datasets'';
+
+          sshKey = mkOption {
+            type = types.nullOr types.path;
+            # Prevent key from being copied to store
+            apply = mapNullable toString;
+            description = ''
+              SSH private key file to use to login to the remote system.
+              Defaults to <option>services.syncoid.sshKey</option> option.
+            '';
+          };
 
-    config = mkIf cfg.enable {
-      users =  {
-        users = mkIf (cfg.user == "syncoid") {
-          syncoid = {
-            group = cfg.group;
-            isSystemUser = true;
+          localSourceAllow = mkOption {
+            type = types.listOf types.str;
+            description = ''
+              Permissions granted for the <option>services.syncoid.user</option> user
+              for local source datasets. See
+              <link xlink:href="https://openzfs.github.io/openzfs-docs/man/8/zfs-allow.8.html"/>
+              for available permissions.
+              Defaults to <option>services.syncoid.localSourceAllow</option> option.
+            '';
+          };
+
+          localTargetAllow = mkOption {
+            type = types.listOf types.str;
+            description = ''
+              Permissions granted for the <option>services.syncoid.user</option> user
+              for local target datasets. See
+              <link xlink:href="https://openzfs.github.io/openzfs-docs/man/8/zfs-allow.8.html"/>
+              for available permissions.
+              Make sure to include the <literal>change-key</literal> permission if you send raw encrypted datasets,
+              the <literal>compression</literal> permission if you send raw compressed datasets, and so on.
+              For remote target datasets you'll have to set your remote user permissions by yourself.
+            '';
+          };
+
+          sendOptions = mkOption {
+            type = types.separatedString " ";
+            default = "";
+            example = "Lc e";
+            description = ''
+              Advanced options to pass to zfs send. Options are specified
+              without their leading dashes and separated by spaces.
+            '';
+          };
+
+          recvOptions = mkOption {
+            type = types.separatedString " ";
+            default = "";
+            example = "ux recordsize o compression=lz4";
+            description = ''
+              Advanced options to pass to zfs recv. Options are specified
+              without their leading dashes and separated by spaces.
+            '';
+          };
+
+          useCommonArgs = mkOption {
+            type = types.bool;
+            default = true;
+            description = ''
+              Whether to add the configured common arguments to this command.
+            '';
+          };
+
+          service = mkOption {
+            type = types.attrs;
+            default = { };
+            description = ''
+              Systemd configuration specific to this syncoid service.
+            '';
+          };
+
+          extraArgs = mkOption {
+            type = types.listOf types.str;
+            default = [ ];
+            example = [ "--sshport 2222" ];
+            description = "Extra syncoid arguments for this command.";
           };
         };
-        groups = mkIf (cfg.group == "syncoid") {
-          syncoid = {};
+        config = {
+          source = mkDefault name;
+          sshKey = mkDefault cfg.sshKey;
+          localSourceAllow = mkDefault cfg.localSourceAllow;
+          localTargetAllow = mkDefault cfg.localTargetAllow;
         };
-      };
+      }));
+      default = { };
+      example = literalExample ''
+        {
+          "pool/test".target = "root@target:pool/test";
+        }
+      '';
+      description = "Syncoid commands to run.";
+    };
+  };
+
+  # Implementation
 
-      systemd.services.syncoid = {
-        description = "Syncoid ZFS synchronization service";
-        script = concatMapStringsSep "\n" (c: lib.escapeShellArgs
-          ([ "${pkgs.sanoid}/bin/syncoid" ]
-            ++ (optionals c.useCommonArgs cfg.commonArgs)
-            ++ (optional c.recursive "-r")
-            ++ (optionals (c.sshKey != null) [ "--sshkey" c.sshKey ])
-            ++ c.extraArgs
-            ++ [ "--sendoptions" c.sendOptions
-                 "--recvoptions" c.recvOptions
-                 "--no-privilege-elevation"
-                 c.source c.target
-               ])) (attrValues cfg.commands);
-        after = [ "zfs.target" ];
-        serviceConfig = {
-          ExecStartPre = let
-            allowCmd = permissions: pool: lib.escapeShellArgs [
-              "+/run/booted-system/sw/bin/zfs" "allow"
-              cfg.user (concatStringsSep "," permissions) pool
-            ];
-          in
-            (map (allowCmd [ "hold" "send" "snapshot" "destroy" ]) (getPools "source")) ++
-            (map (allowCmd [ "create" "mount" "receive" "rollback" ]) (getPools "target"));
-          User = cfg.user;
-          Group = cfg.group;
+  config = mkIf cfg.enable {
+    users = {
+      users = mkIf (cfg.user == "syncoid") {
+        syncoid = {
+          group = cfg.group;
+          isSystemUser = true;
+          # For syncoid to be able to create /var/lib/syncoid/.ssh/
+          # and to use custom ssh_config or known_hosts.
+          home = "/var/lib/syncoid";
+          createHome = false;
         };
-        startAt = cfg.interval;
+      };
+      groups = mkIf (cfg.group == "syncoid") {
+        syncoid = { };
       };
     };
 
-    meta.maintainers = with maintainers; [ lopsided98 ];
-  }
+    systemd.services = mapAttrs'
+      (name: c:
+        nameValuePair "syncoid-${escapeUnitName name}" (mkMerge [
+          {
+            description = "Syncoid ZFS synchronization from ${c.source} to ${c.target}";
+            after = [ "zfs.target" ];
+            startAt = cfg.interval;
+            # syncoid may need zpool to get feature@extensible_dataset
+            path = [ "/run/booted-system/sw/bin/" ];
+            serviceConfig = {
+              ExecStartPre =
+                (map (buildAllowCommand "allow" c.localSourceAllow) (localDatasetName c.source)) ++
+                (map (buildAllowCommand "allow" c.localTargetAllow) (localDatasetName c.target));
+              ExecStopPost =
+                (map (buildAllowCommand "unallow" c.localSourceAllow) (localDatasetName c.source)) ++
+                (map (buildAllowCommand "unallow" c.localTargetAllow) (localDatasetName c.target));
+              ExecStart = lib.escapeShellArgs ([ "${pkgs.sanoid}/bin/syncoid" ]
+                ++ optionals c.useCommonArgs cfg.commonArgs
+                ++ optional c.recursive "-r"
+                ++ optionals (c.sshKey != null) [ "--sshkey" c.sshKey ]
+                ++ c.extraArgs
+                ++ [
+                "--sendoptions"
+                c.sendOptions
+                "--recvoptions"
+                c.recvOptions
+                "--no-privilege-elevation"
+                c.source
+                c.target
+              ]);
+              User = cfg.user;
+              Group = cfg.group;
+              StateDirectory = [ "syncoid" ];
+              StateDirectoryMode = "700";
+              # Prevent SSH control sockets of different syncoid services from interfering
+              PrivateTmp = true;
+              # Permissive access to /proc because syncoid
+              # calls ps(1) to detect ongoing `zfs receive`.
+              ProcSubset = "all";
+              ProtectProc = "default";
+
+              # The following options are only for optimizing:
+              # systemd-analyze security | grep syncoid-'*'
+              AmbientCapabilities = "";
+              CapabilityBoundingSet = "";
+              DeviceAllow = [ "/dev/zfs" ];
+              LockPersonality = true;
+              MemoryDenyWriteExecute = true;
+              NoNewPrivileges = true;
+              PrivateDevices = true;
+              PrivateMounts = true;
+              PrivateNetwork = mkDefault false;
+              PrivateUsers = true;
+              ProtectClock = true;
+              ProtectControlGroups = true;
+              ProtectHome = true;
+              ProtectHostname = true;
+              ProtectKernelLogs = true;
+              ProtectKernelModules = true;
+              ProtectKernelTunables = true;
+              ProtectSystem = "strict";
+              RemoveIPC = true;
+              RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" ];
+              RestrictNamespaces = true;
+              RestrictRealtime = true;
+              RestrictSUIDSGID = true;
+              RootDirectory = "/run/syncoid/${escapeUnitName name}";
+              RootDirectoryStartOnly = true;
+              BindPaths = [ "/dev/zfs" ];
+              BindReadOnlyPaths = [ builtins.storeDir "/etc" "/run" "/bin/sh" ];
+              # Avoid useless mounting of RootDirectory= in the own RootDirectory= of ExecStart='s mount namespace.
+              InaccessiblePaths = [ "-+/run/syncoid/${escapeUnitName name}" ];
+              MountAPIVFS = true;
+              # Create RootDirectory= in the host's mount namespace.
+              RuntimeDirectory = [ "syncoid/${escapeUnitName name}" ];
+              RuntimeDirectoryMode = "700";
+              SystemCallFilter = [
+                "@system-service"
+                # Groups in @system-service which do not contain a syscall listed by:
+                # perf stat -x, 2>perf.log -e 'syscalls:sys_enter_*' syncoid …
+                # awk >perf.syscalls -F "," '$1 > 0 {sub("syscalls:sys_enter_","",$3); print $3}' perf.log
+                # systemd-analyze syscall-filter | grep -v -e '#' | sed -e ':loop; /^[^ ]/N; s/\n //; t loop' | grep $(printf ' -e \\<%s\\>' $(cat perf.syscalls)) | cut -f 1 -d ' '
+                "~@aio"
+                "~@chown"
+                "~@keyring"
+                "~@memlock"
+                "~@privileged"
+                "~@resources"
+                "~@setuid"
+                "~@timer"
+              ];
+              SystemCallArchitectures = "native";
+              # This is for BindPaths= and BindReadOnlyPaths=
+              # to allow traversal of directories they create in RootDirectory=.
+              UMask = "0066";
+            };
+          }
+          cfg.service
+          c.service
+        ]))
+      cfg.commands;
+  };
+
+  meta.maintainers = with maintainers; [ julm lopsided98 ];
+}
diff --git a/nixpkgs/nixos/modules/services/backup/znapzend.nix b/nixpkgs/nixos/modules/services/backup/znapzend.nix
index 0ca71b413cee..debb2a397050 100644
--- a/nixpkgs/nixos/modules/services/backup/znapzend.nix
+++ b/nixpkgs/nixos/modules/services/backup/znapzend.nix
@@ -279,7 +279,7 @@ let
     src_plan = plan;
     tsformat = timestampFormat;
     zend_delay = toString sendDelay;
-  } // fold (a: b: a // b) {} (
+  } // foldr (a: b: a // b) {} (
     map mkDestAttrs (builtins.attrValues destinations)
   );
 
diff --git a/nixpkgs/nixos/modules/services/blockchain/ethereum/geth.nix b/nixpkgs/nixos/modules/services/blockchain/ethereum/geth.nix
index be3f40f6bd86..6c2df95886e7 100644
--- a/nixpkgs/nixos/modules/services/blockchain/ethereum/geth.nix
+++ b/nixpkgs/nixos/modules/services/blockchain/ethereum/geth.nix
@@ -83,8 +83,8 @@ let
       };
 
       syncmode = mkOption {
-        type = types.enum [ "fast" "full" "light" ];
-        default = "fast";
+        type = types.enum [ "snap" "fast" "full" "light" ];
+        default = "snap";
         description = "Blockchain sync mode.";
       };
 
diff --git a/nixpkgs/nixos/modules/services/cluster/kubernetes/addon-manager.nix b/nixpkgs/nixos/modules/services/cluster/kubernetes/addon-manager.nix
index 1378b5ccfb7a..821f1aa54604 100644
--- a/nixpkgs/nixos/modules/services/cluster/kubernetes/addon-manager.nix
+++ b/nixpkgs/nixos/modules/services/cluster/kubernetes/addon-manager.nix
@@ -84,6 +84,9 @@ in
         Restart = "on-failure";
         RestartSec = 10;
       };
+      unitConfig = {
+        StartLimitIntervalSec = 0;
+      };
     };
 
     services.kubernetes.addonManager.bootstrapAddons = mkIf isRBACEnabled
diff --git a/nixpkgs/nixos/modules/services/cluster/kubernetes/addons/dns.nix b/nixpkgs/nixos/modules/services/cluster/kubernetes/addons/dns.nix
index 24d86628b211..8f937a13231b 100644
--- a/nixpkgs/nixos/modules/services/cluster/kubernetes/addons/dns.nix
+++ b/nixpkgs/nixos/modules/services/cluster/kubernetes/addons/dns.nix
@@ -60,6 +60,45 @@ in {
         sha256 = "02r440xcdsgi137k5lmmvp0z5w5fmk8g9mysq5pnysq1wl8sj6mw";
       };
     };
+
+    corefile = mkOption {
+      description = ''
+        Custom coredns corefile configuration.
+
+        See: <link xlink:href="https://coredns.io/manual/toc/#configuration"/>.
+      '';
+      type = types.str;
+      default = ''
+        .:${toString ports.dns} {
+          errors
+          health :${toString ports.health}
+          kubernetes ${cfg.clusterDomain} in-addr.arpa ip6.arpa {
+            pods insecure
+            fallthrough in-addr.arpa ip6.arpa
+          }
+          prometheus :${toString ports.metrics}
+          forward . /etc/resolv.conf
+          cache 30
+          loop
+          reload
+          loadbalance
+        }'';
+      defaultText = ''
+        .:${toString ports.dns} {
+          errors
+          health :${toString ports.health}
+          kubernetes ''${config.services.kubernetes.addons.dns.clusterDomain} in-addr.arpa ip6.arpa {
+            pods insecure
+            fallthrough in-addr.arpa ip6.arpa
+          }
+          prometheus :${toString ports.metrics}
+          forward . /etc/resolv.conf
+          cache 30
+          loop
+          reload
+          loadbalance
+        }'';
+    };
   };
 
   config = mkIf cfg.enable {
@@ -151,20 +190,7 @@ in {
           namespace = "kube-system";
         };
         data = {
-          Corefile = ".:${toString ports.dns} {
-            errors
-            health :${toString ports.health}
-            kubernetes ${cfg.clusterDomain} in-addr.arpa ip6.arpa {
-              pods insecure
-              fallthrough in-addr.arpa ip6.arpa
-            }
-            prometheus :${toString ports.metrics}
-            forward . /etc/resolv.conf
-            cache 30
-            loop
-            reload
-            loadbalance
-          }";
+          Corefile = cfg.corefile;
         };
       };
 
diff --git a/nixpkgs/nixos/modules/services/cluster/kubernetes/apiserver.nix b/nixpkgs/nixos/modules/services/cluster/kubernetes/apiserver.nix
index f1531caa7544..2c89310beb5a 100644
--- a/nixpkgs/nixos/modules/services/cluster/kubernetes/apiserver.nix
+++ b/nixpkgs/nixos/modules/services/cluster/kubernetes/apiserver.nix
@@ -190,12 +190,6 @@ in
       type = nullOr path;
     };
 
-    kubeletHttps = mkOption {
-      description = "Whether to use https for connections to kubelet.";
-      default = true;
-      type = bool;
-    };
-
     preferredAddressTypes = mkOption {
       description = "List of the preferred NodeAddressTypes to use for kubelet connections.";
       type = nullOr str;
@@ -365,7 +359,6 @@ in
                 "--feature-gates=${concatMapStringsSep "," (feature: "${feature}=true") cfg.featureGates}"} \
               ${optionalString (cfg.basicAuthFile != null)
                 "--basic-auth-file=${cfg.basicAuthFile}"} \
-              --kubelet-https=${boolToString cfg.kubeletHttps} \
               ${optionalString (cfg.kubeletClientCaFile != null)
                 "--kubelet-certificate-authority=${cfg.kubeletClientCaFile}"} \
               ${optionalString (cfg.kubeletClientCertFile != null)
@@ -405,6 +398,10 @@ in
             Restart = "on-failure";
             RestartSec = 5;
           };
+
+          unitConfig = {
+            StartLimitIntervalSec = 0;
+          };
         };
 
         services.etcd = {
diff --git a/nixpkgs/nixos/modules/services/cluster/kubernetes/controller-manager.nix b/nixpkgs/nixos/modules/services/cluster/kubernetes/controller-manager.nix
index 0c81fa9ae492..7128b5f70b1a 100644
--- a/nixpkgs/nixos/modules/services/cluster/kubernetes/controller-manager.nix
+++ b/nixpkgs/nixos/modules/services/cluster/kubernetes/controller-manager.nix
@@ -146,6 +146,9 @@ in
         User = "kubernetes";
         Group = "kubernetes";
       };
+      unitConfig = {
+        StartLimitIntervalSec = 0;
+      };
       path = top.path;
     };
 
diff --git a/nixpkgs/nixos/modules/services/cluster/kubernetes/flannel.nix b/nixpkgs/nixos/modules/services/cluster/kubernetes/flannel.nix
index 3f55719027f0..fecea7a15f3d 100644
--- a/nixpkgs/nixos/modules/services/cluster/kubernetes/flannel.nix
+++ b/nixpkgs/nixos/modules/services/cluster/kubernetes/flannel.nix
@@ -58,7 +58,7 @@ in
     services.kubernetes.addonManager.bootstrapAddons = mkIf ((storageBackend == "kubernetes") && (elem "RBAC" top.apiserver.authorizationMode)) {
 
       flannel-cr = {
-        apiVersion = "rbac.authorization.k8s.io/v1beta1";
+        apiVersion = "rbac.authorization.k8s.io/v1";
         kind = "ClusterRole";
         metadata = { name = "flannel"; };
         rules = [{
@@ -79,7 +79,7 @@ in
       };
 
       flannel-crb = {
-        apiVersion = "rbac.authorization.k8s.io/v1beta1";
+        apiVersion = "rbac.authorization.k8s.io/v1";
         kind = "ClusterRoleBinding";
         metadata = { name = "flannel"; };
         roleRef = {
diff --git a/nixpkgs/nixos/modules/services/cluster/kubernetes/kubelet.nix b/nixpkgs/nixos/modules/services/cluster/kubernetes/kubelet.nix
index fcfcc8435477..08f5cdfdf334 100644
--- a/nixpkgs/nixos/modules/services/cluster/kubernetes/kubelet.nix
+++ b/nixpkgs/nixos/modules/services/cluster/kubernetes/kubelet.nix
@@ -337,6 +337,9 @@ in
           '';
           WorkingDirectory = top.dataDir;
         };
+        unitConfig = {
+          StartLimitIntervalSec = 0;
+        };
       };
 
       # Allways include cni plugins
diff --git a/nixpkgs/nixos/modules/services/cluster/kubernetes/pki.nix b/nixpkgs/nixos/modules/services/cluster/kubernetes/pki.nix
index d9311d3e3a04..faf951d81574 100644
--- a/nixpkgs/nixos/modules/services/cluster/kubernetes/pki.nix
+++ b/nixpkgs/nixos/modules/services/cluster/kubernetes/pki.nix
@@ -189,7 +189,7 @@ in
         # manually paste it in place. Just symlink.
         # otherwise, create the target file, ready for users to insert the token
 
-        mkdir -p $(dirname ${certmgrAPITokenPath})
+        mkdir -p "$(dirname "${certmgrAPITokenPath}")"
         if [ -f "${cfsslAPITokenPath}" ]; then
           ln -fs "${cfsslAPITokenPath}" "${certmgrAPITokenPath}"
         else
diff --git a/nixpkgs/nixos/modules/services/cluster/kubernetes/proxy.nix b/nixpkgs/nixos/modules/services/cluster/kubernetes/proxy.nix
index 42729f54643b..a92043d52597 100644
--- a/nixpkgs/nixos/modules/services/cluster/kubernetes/proxy.nix
+++ b/nixpkgs/nixos/modules/services/cluster/kubernetes/proxy.nix
@@ -77,6 +77,9 @@ in
         Restart = "on-failure";
         RestartSec = 5;
       };
+      unitConfig = {
+        StartLimitIntervalSec = 0;
+      };
     };
 
     services.kubernetes.proxy.hostname = with config.networking; mkDefault hostName;
diff --git a/nixpkgs/nixos/modules/services/cluster/kubernetes/scheduler.nix b/nixpkgs/nixos/modules/services/cluster/kubernetes/scheduler.nix
index 454c689759df..1b0c22a11426 100644
--- a/nixpkgs/nixos/modules/services/cluster/kubernetes/scheduler.nix
+++ b/nixpkgs/nixos/modules/services/cluster/kubernetes/scheduler.nix
@@ -79,6 +79,9 @@ in
         Restart = "on-failure";
         RestartSec = 5;
       };
+      unitConfig = {
+        StartLimitIntervalSec = 0;
+      };
     };
 
     services.kubernetes.pki.certs = {
diff --git a/nixpkgs/nixos/modules/services/continuous-integration/github-runner.nix b/nixpkgs/nixos/modules/services/continuous-integration/github-runner.nix
index 9627b723f8f1..f951c1553235 100644
--- a/nixpkgs/nixos/modules/services/continuous-integration/github-runner.nix
+++ b/nixpkgs/nixos/modules/services/continuous-integration/github-runner.nix
@@ -98,6 +98,14 @@ in
       '';
       default = [ ];
     };
+
+    package = mkOption {
+      type = types.package;
+      description = ''
+        Which github-runner derivation to use.
+      '';
+      default = pkgs.github-runner;
+    };
   };
 
   config = mkIf cfg.enable {
@@ -131,7 +139,7 @@ in
       ] ++ cfg.extraPackages;
 
       serviceConfig = rec {
-        ExecStart = "${pkgs.github-runner}/bin/runsvc.sh";
+        ExecStart = "${cfg.package}/bin/runsvc.sh";
 
         # Does the following, sequentially:
         # - Copy the current and the previous `tokenFile` to the $RUNTIME_DIRECTORY
@@ -208,7 +216,7 @@ in
               if [[ -z "$empty" ]]; then
                 echo "Configuring GitHub Actions Runner"
                 token=$(< "$RUNTIME_DIRECTORY"/${newConfigTokenFilename})
-                RUNNER_ROOT="$STATE_DIRECTORY" ${pkgs.github-runner}/bin/config.sh \
+                RUNNER_ROOT="$STATE_DIRECTORY" ${cfg.package}/bin/config.sh \
                   --unattended \
                   --work "$RUNTIME_DIRECTORY" \
                   --url ${escapeShellArg cfg.url} \
diff --git a/nixpkgs/nixos/modules/services/continuous-integration/gitlab-runner.nix b/nixpkgs/nixos/modules/services/continuous-integration/gitlab-runner.nix
index 2c6d9530a6b8..15c37c2bc76d 100644
--- a/nixpkgs/nixos/modules/services/continuous-integration/gitlab-runner.nix
+++ b/nixpkgs/nixos/modules/services/continuous-integration/gitlab-runner.nix
@@ -339,6 +339,9 @@ in
               <literal>CI_SERVER_URL=&lt;CI server URL&gt;</literal>
 
               <literal>REGISTRATION_TOKEN=&lt;registration secret&gt;</literal>
+
+              WARNING: make sure to use quoted absolute path,
+              or it is going to be copied to Nix Store.
             '';
           };
           registrationFlags = mkOption {
@@ -523,7 +526,10 @@ in
     };
   };
   config = mkIf cfg.enable {
-    warnings = optional (cfg.configFile != null) "services.gitlab-runner.`configFile` is deprecated, please use services.gitlab-runner.`services`.";
+    warnings = (mapAttrsToList
+      (n: v: "services.gitlab-runner.services.${n}.`registrationConfigFile` points to a file in Nix Store. You should use quoted absolute path to prevent this.")
+      (filterAttrs (n: v: isStorePath v.registrationConfigFile) cfg.services))
+    ++ optional (cfg.configFile != null) "services.gitlab-runner.`configFile` is deprecated, please use services.gitlab-runner.`services`.";
     environment.systemPackages = [ cfg.package ];
     systemd.services.gitlab-runner = {
       description = "Gitlab Runner";
diff --git a/nixpkgs/nixos/modules/services/continuous-integration/jenkins/default.nix b/nixpkgs/nixos/modules/services/continuous-integration/jenkins/default.nix
index 889688a26853..98ef1e2c691b 100644
--- a/nixpkgs/nixos/modules/services/continuous-integration/jenkins/default.nix
+++ b/nixpkgs/nixos/modules/services/continuous-integration/jenkins/default.nix
@@ -61,7 +61,7 @@ in {
 
       port = mkOption {
         default = 8080;
-        type = types.int;
+        type = types.port;
         description = ''
           Specifies port number on which the jenkins HTTP interface listens.
           The default is 8080.
diff --git a/nixpkgs/nixos/modules/services/databases/influxdb2.nix b/nixpkgs/nixos/modules/services/databases/influxdb2.nix
new file mode 100644
index 000000000000..df7bac4261b5
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/databases/influxdb2.nix
@@ -0,0 +1,53 @@
+{ config, lib, pkgs, ... }:
+with lib;
+let
+  format = pkgs.formats.json { };
+  cfg = config.services.influxdb2;
+  configFile = format.generate "config.json" cfg.settings;
+in
+{
+  options = {
+    services.influxdb2 = {
+      enable = mkEnableOption "the influxdb2 server";
+      package = mkOption {
+        default = pkgs.influxdb2;
+        defaultText = "pkgs.influxdb2";
+        description = "influxdb2 derivation to use.";
+        type = types.package;
+      };
+      settings = mkOption {
+        default = { };
+        description = "configuration options for influxdb2, see https://docs.influxdata.com/influxdb/v2.0/reference/config-options for details.";
+        type = format.type;
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    assertions = [{
+      assertion = !(builtins.hasAttr "bolt-path" cfg.settings) && !(builtins.hasAttr "engine-path" cfg.settings);
+      message = "services.influxdb2.config: bolt-path and engine-path should not be set as they are managed by systemd";
+    }];
+    systemd.services.influxdb2 = {
+      description = "InfluxDB is an open-source, distributed, time series database";
+      documentation = [ "https://docs.influxdata.com/influxdb/" ];
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" ];
+      environment = {
+        INFLUXD_CONFIG_PATH = "${configFile}";
+      };
+      serviceConfig = {
+        ExecStart = "${cfg.package}/bin/influxd --bolt-path \${STATE_DIRECTORY}/influxd.bolt --engine-path \${STATE_DIRECTORY}/engine";
+        StateDirectory = "influxdb2";
+        DynamicUser = true;
+        CapabilityBoundingSet = "";
+        SystemCallFilter = "@system-service";
+        LimitNOFILE = 65536;
+        KillMode = "control-group";
+        Restart = "on-failure";
+      };
+    };
+  };
+
+  meta.maintainers = with lib.maintainers; [ nickcao ];
+}
diff --git a/nixpkgs/nixos/modules/services/databases/postgresql.nix b/nixpkgs/nixos/modules/services/databases/postgresql.nix
index effc9182472e..fd4a195787f3 100644
--- a/nixpkgs/nixos/modules/services/databases/postgresql.nix
+++ b/nixpkgs/nixos/modules/services/databases/postgresql.nix
@@ -293,7 +293,8 @@ in
       # Note: when changing the default, make it conditional on
       # ‘system.stateVersion’ to maintain compatibility with existing
       # systems!
-      mkDefault (if versionAtLeast config.system.stateVersion "20.03" then pkgs.postgresql_11
+      mkDefault (if versionAtLeast config.system.stateVersion "21.11" then pkgs.postgresql_13
+            else if versionAtLeast config.system.stateVersion "20.03" then pkgs.postgresql_11
             else if versionAtLeast config.system.stateVersion "17.09" then pkgs.postgresql_9_6
             else throw "postgresql_9_5 was removed, please upgrade your postgresql version.");
 
diff --git a/nixpkgs/nixos/modules/services/databases/redis.nix b/nixpkgs/nixos/modules/services/databases/redis.nix
index 9c0740f28c9b..8873f6d00e0b 100644
--- a/nixpkgs/nixos/modules/services/databases/redis.nix
+++ b/nixpkgs/nixos/modules/services/databases/redis.nix
@@ -272,7 +272,7 @@ in {
       }
       (mkIf (cfg.bind != null) { bind = cfg.bind; })
       (mkIf (cfg.unixSocket != null) { unixsocket = cfg.unixSocket; unixsocketperm = "${toString cfg.unixSocketPerm}"; })
-      (mkIf (cfg.slaveOf != null) { slaveof = "${cfg.slaveOf.ip} ${cfg.slaveOf.port}"; })
+      (mkIf (cfg.slaveOf != null) { slaveof = "${cfg.slaveOf.ip} ${toString cfg.slaveOf.port}"; })
       (mkIf (cfg.masterAuth != null) { masterauth = cfg.masterAuth; })
       (mkIf (cfg.requirePass != null) { requirepass = cfg.requirePass; })
     ];
diff --git a/nixpkgs/nixos/modules/services/databases/victoriametrics.nix b/nixpkgs/nixos/modules/services/databases/victoriametrics.nix
index 5b09115bb2fb..9e2c79e61a39 100644
--- a/nixpkgs/nixos/modules/services/databases/victoriametrics.nix
+++ b/nixpkgs/nixos/modules/services/databases/victoriametrics.nix
@@ -53,6 +53,14 @@ let cfg = config.services.victoriametrics; in
               -retentionPeriod ${toString cfg.retentionPeriod} \
               ${lib.escapeShellArgs cfg.extraOptions}
         '';
+        # victoriametrics 1.59 with ~7GB of data seems to eventually panic when merging files and then
+        # begins restart-looping forever. Set LimitNOFILE= to a large number to work around this issue.
+        #
+        # panic: FATAL: unrecoverable error when merging small parts in the partition "/var/lib/victoriametrics/data/small/2021_08":
+        # cannot open source part for merging: cannot open values file in stream mode:
+        # cannot open file "/var/lib/victoriametrics/data/small/2021_08/[...]/values.bin":
+        # open /var/lib/victoriametrics/data/small/2021_08/[...]/values.bin: too many open files
+        LimitNOFILE = 1048576;
       };
       wantedBy = [ "multi-user.target" ];
 
diff --git a/nixpkgs/nixos/modules/services/desktops/bamf.nix b/nixpkgs/nixos/modules/services/desktops/bamf.nix
index 37121c219a37..13de3a44328f 100644
--- a/nixpkgs/nixos/modules/services/desktops/bamf.nix
+++ b/nixpkgs/nixos/modules/services/desktops/bamf.nix
@@ -5,8 +5,8 @@
 with lib;
 
 {
-  meta = {
-    maintainers = with maintainers; [ ];
+  meta = with lib; {
+    maintainers = with maintainers; [ ] ++ teams.pantheon.members;
   };
 
   ###### interface
diff --git a/nixpkgs/nixos/modules/services/desktops/geoclue2.nix b/nixpkgs/nixos/modules/services/desktops/geoclue2.nix
index e9ec787e5ada..cb5c948ecf78 100644
--- a/nixpkgs/nixos/modules/services/desktops/geoclue2.nix
+++ b/nixpkgs/nixos/modules/services/desktops/geoclue2.nix
@@ -266,5 +266,7 @@ in
       } // mapAttrs' appConfigToINICompatible cfg.appConfig);
   };
 
-  meta.maintainers = with lib.maintainers; [ ];
+  meta = with lib; {
+    maintainers = with maintainers; [ ] ++ teams.pantheon.members;
+  };
 }
diff --git a/nixpkgs/nixos/modules/services/desktops/pipewire/bluez-hardware.conf.json b/nixpkgs/nixos/modules/services/desktops/pipewire/bluez-hardware.conf.json
index 7c527b292158..46697ece4483 100644
--- a/nixpkgs/nixos/modules/services/desktops/pipewire/bluez-hardware.conf.json
+++ b/nixpkgs/nixos/modules/services/desktops/pipewire/bluez-hardware.conf.json
@@ -28,6 +28,12 @@
       ]
     },
     {
+      "name": "BAA 100",
+      "no-features": [
+        "hw-volume"
+      ]
+    },
+    {
       "name": "JBL Endurance RUN BT",
       "no-features": [
         "msbc-alt1",
@@ -191,6 +197,46 @@
       ]
     },
     {
+      "sysname": "Linux",
+      "release": "~^5\\.10\\.(1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|41|42|43|44|45|46|47|48|49|50)($|[^0-9])"
+    },
+    {
+      "sysname": "Linux",
+      "release": "~^5\\.10\\.",
+      "no-features": [
+        "msbc-alt1"
+      ]
+    },
+    {
+      "sysname": "Linux",
+      "release": "~^5\\.12\\.(1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17)($|[^0-9])"
+    },
+    {
+      "sysname": "Linux",
+      "release": "~^5\\.12\\.",
+      "no-features": [
+        "msbc-alt1"
+      ]
+    },
+    {
+      "sysname": "Linux",
+      "release": "~^5\\.13\\.(1|2)($|[^0-9])"
+    },
+    {
+      "sysname": "Linux",
+      "release": "~^5\\.13\\.",
+      "no-features": [
+        "msbc-alt1"
+      ]
+    },
+    {
+      "sysname": "Linux",
+      "release": "~^5\\.14\\.",
+      "no-features": [
+        "msbc-alt1"
+      ]
+    },
+    {
       "no-features": []
     }
   ]
diff --git a/nixpkgs/nixos/modules/services/desktops/pipewire/jack.conf.json b/nixpkgs/nixos/modules/services/desktops/pipewire/jack.conf.json
index e36e04fffcf2..128178bfa027 100644
--- a/nixpkgs/nixos/modules/services/desktops/pipewire/jack.conf.json
+++ b/nixpkgs/nixos/modules/services/desktops/pipewire/jack.conf.json
@@ -24,5 +24,15 @@
       "name": "libpipewire-module-metadata"
     }
   ],
-  "jack.properties": {}
+  "jack.properties": {},
+  "jack.rules": [
+    {
+      "matches": [
+        {}
+      ],
+      "actions": {
+        "update-props": {}
+      }
+    }
+  ]
 }
diff --git a/nixpkgs/nixos/modules/services/desktops/pipewire/media-session.conf.json b/nixpkgs/nixos/modules/services/desktops/pipewire/media-session.conf.json
index 24906e767d6d..4b4e302af387 100644
--- a/nixpkgs/nixos/modules/services/desktops/pipewire/media-session.conf.json
+++ b/nixpkgs/nixos/modules/services/desktops/pipewire/media-session.conf.json
@@ -59,6 +59,7 @@
     "with-pulseaudio": [
       "with-audio",
       "bluez5",
+      "bluez5-autoswitch",
       "logind",
       "restore-stream",
       "streams-follow-default"
diff --git a/nixpkgs/nixos/modules/services/desktops/pipewire/pipewire-pulse.conf.json b/nixpkgs/nixos/modules/services/desktops/pipewire/pipewire-pulse.conf.json
index 17bbbdef1179..3ed994f11145 100644
--- a/nixpkgs/nixos/modules/services/desktops/pipewire/pipewire-pulse.conf.json
+++ b/nixpkgs/nixos/modules/services/desktops/pipewire/pipewire-pulse.conf.json
@@ -37,5 +37,6 @@
       }
     }
   ],
+  "context.exec": [],
   "stream.properties": {}
 }
diff --git a/nixpkgs/nixos/modules/services/desktops/pipewire/pipewire.nix b/nixpkgs/nixos/modules/services/desktops/pipewire/pipewire.nix
index dbd6c5d87e1a..bc75aa2717a9 100644
--- a/nixpkgs/nixos/modules/services/desktops/pipewire/pipewire.nix
+++ b/nixpkgs/nixos/modules/services/desktops/pipewire/pipewire.nix
@@ -194,7 +194,7 @@ in {
     };
 
     environment.sessionVariables.LD_LIBRARY_PATH =
-      lib.optional cfg.jack.enable "/run/current-system/sw/lib/pipewire";
+      lib.optional cfg.jack.enable "${cfg.package.jack}/lib";
 
     # https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/464#note_723554
     systemd.user.services.pipewire.environment."PIPEWIRE_LINK_PASSIVE" = "1";
diff --git a/nixpkgs/nixos/modules/services/desktops/tumbler.nix b/nixpkgs/nixos/modules/services/desktops/tumbler.nix
index 8d9248cb9839..f5341df2f7a4 100644
--- a/nixpkgs/nixos/modules/services/desktops/tumbler.nix
+++ b/nixpkgs/nixos/modules/services/desktops/tumbler.nix
@@ -18,8 +18,8 @@ in
       "")
   ];
 
-  meta = {
-    maintainers = with maintainers; [ ];
+  meta = with lib; {
+    maintainers = with maintainers; [ ] ++ teams.pantheon.members;
   };
 
   ###### interface
diff --git a/nixpkgs/nixos/modules/services/desktops/zeitgeist.nix b/nixpkgs/nixos/modules/services/desktops/zeitgeist.nix
index fb0218da3045..297fd1d3ff2f 100644
--- a/nixpkgs/nixos/modules/services/desktops/zeitgeist.nix
+++ b/nixpkgs/nixos/modules/services/desktops/zeitgeist.nix
@@ -6,8 +6,8 @@ with lib;
 
 {
 
-  meta = {
-    maintainers = with maintainers; [ ];
+  meta = with lib; {
+    maintainers = with maintainers; [ ] ++ teams.pantheon.members;
   };
 
   ###### interface
diff --git a/nixpkgs/nixos/modules/services/development/distccd.nix b/nixpkgs/nixos/modules/services/development/distccd.nix
new file mode 100644
index 000000000000..8790ea08d0c1
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/development/distccd.nix
@@ -0,0 +1,155 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.distccd;
+in
+{
+  options = {
+    services.distccd = {
+      enable = mkEnableOption "distccd";
+
+      allowedClients = mkOption {
+        type = types.listOf types.str;
+        default = [ "127.0.0.1" ];
+        example = [ "127.0.0.1" "192.168.0.0/24" "10.0.0.0/24" ];
+        description = ''
+          Client IPs which are allowed to connect to distccd in CIDR notation.
+
+          Anyone who can connect to the distccd server can run arbitrary
+          commands on that system as the distcc user, therefore you should use
+          this judiciously.
+        '';
+      };
+
+      jobTimeout = mkOption {
+        type = types.nullOr types.int;
+        default = null;
+        description = ''
+          Maximum duration, in seconds, of a single compilation request.
+        '';
+      };
+
+      logLevel = mkOption {
+        type = types.nullOr (types.enum [ "critical" "error" "warning" "notice" "info" "debug" ]);
+        default = "warning";
+        description = ''
+          Set the minimum severity of error that will be included in the log
+          file. Useful if you only want to see error messages rather than an
+          entry for each connection.
+        '';
+      };
+
+      maxJobs = mkOption {
+        type = types.nullOr types.int;
+        default = null;
+        description = ''
+          Maximum number of tasks distccd should execute at any time.
+        '';
+      };
+
+
+      nice = mkOption {
+        type = types.nullOr types.int;
+        default = null;
+        description = ''
+          Niceness of the compilation tasks.
+        '';
+      };
+
+      openFirewall = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Opens the specified TCP port for distcc.
+        '';
+      };
+
+      package = mkOption {
+        type = types.package;
+        default = pkgs.distcc;
+        example = "pkgs.distcc";
+        description = ''
+          The distcc package to use.
+        '';
+      };
+
+      port = mkOption {
+        type = types.port;
+        default = 3632;
+        description = ''
+          The TCP port which distccd will listen on.
+        '';
+      };
+
+      stats = {
+        enable = mkEnableOption "statistics reporting via HTTP server";
+        port = mkOption {
+          type = types.port;
+          default = 3633;
+          description = ''
+            The TCP port which the distccd statistics HTTP server will listen
+            on.
+          '';
+        };
+      };
+
+      zeroconf = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to register via mDNS/DNS-SD
+        '';
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    networking.firewall = mkIf cfg.openFirewall {
+      allowedTCPPorts = [ cfg.port ]
+        ++ optionals cfg.stats.enable [ cfg.stats.port ];
+    };
+
+    systemd.services.distccd = {
+      after = [ "network.target" ];
+      wantedBy = [ "multi-user.target" ];
+
+      description = "Distributed C, C++ and Objective-C compiler";
+      documentation = [ "man:distccd(1)" ];
+
+      serviceConfig = {
+        User = "distcc";
+        Group = "distcc";
+        # FIXME: I'd love to get rid of `--enable-tcp-insecure` here, but I'm
+        # not sure how I'm supposed to get distccd to "accept" running a binary
+        # (the compiler) that's outside of /usr/lib.
+        ExecStart = pkgs.writeShellScript "start-distccd" ''
+          export PATH="${pkgs.distccMasquerade}/bin"
+          ${cfg.package}/bin/distccd \
+            --no-detach \
+            --daemon \
+            --enable-tcp-insecure \
+            --port ${toString cfg.port} \
+            ${optionalString (cfg.jobTimeout != null) "--job-lifetime ${toString cfg.jobTimeout}"} \
+            ${optionalString (cfg.logLevel != null) "--log-level ${cfg.logLevel}"} \
+            ${optionalString (cfg.maxJobs != null) "--jobs ${toString cfg.maxJobs}"} \
+            ${optionalString (cfg.nice != null) "--nice ${toString cfg.nice}"} \
+            ${optionalString cfg.stats.enable "--stats"} \
+            ${optionalString cfg.stats.enable "--stats-port ${toString cfg.stats.port}"} \
+            ${optionalString cfg.zeroconf "--zeroconf"} \
+            ${concatMapStrings (c: "--allow ${c} ") cfg.allowedClients}
+        '';
+      };
+    };
+
+    users = {
+      groups.distcc.gid = config.ids.gids.distcc;
+      users.distcc = {
+        description = "distccd user";
+        group = "distcc";
+        uid = config.ids.uids.distcc;
+      };
+    };
+  };
+}
diff --git a/nixpkgs/nixos/modules/services/development/hoogle.nix b/nixpkgs/nixos/modules/services/development/hoogle.nix
index 6d6c88b9b2aa..a6693013b73c 100644
--- a/nixpkgs/nixos/modules/services/development/hoogle.nix
+++ b/nixpkgs/nixos/modules/services/development/hoogle.nix
@@ -17,7 +17,7 @@ in {
     enable = mkEnableOption "Haskell documentation server";
 
     port = mkOption {
-      type = types.int;
+      type = types.port;
       default = 8080;
       description = ''
         Port number Hoogle will be listening to.
diff --git a/nixpkgs/nixos/modules/services/hardware/sane.nix b/nixpkgs/nixos/modules/services/hardware/sane.nix
index 8c1bde7b4158..ccf726bd182b 100644
--- a/nixpkgs/nixos/modules/services/hardware/sane.nix
+++ b/nixpkgs/nixos/modules/services/hardware/sane.nix
@@ -4,7 +4,10 @@ with lib;
 
 let
 
-  pkg = pkgs.sane-backends;
+  pkg = pkgs.sane-backends.override {
+    scanSnapDriversUnfree = config.hardware.sane.drivers.scanSnap.enable;
+    scanSnapDriversPackage = config.hardware.sane.drivers.scanSnap.package;
+  };
 
   sanedConf = pkgs.writeTextFile {
     name = "saned.conf";
@@ -98,6 +101,28 @@ in
       '';
     };
 
+    hardware.sane.drivers.scanSnap.enable = mkOption {
+      type = types.bool;
+      default = false;
+      example = true;
+      description = ''
+        Whether to enable drivers for the Fujitsu ScanSnap scanners.
+
+        The driver files are unfree and extracted from the Windows driver image.
+      '';
+    };
+
+    hardware.sane.drivers.scanSnap.package = mkOption {
+      type = types.package;
+      default = pkgs.sane-drivers.epjitsu;
+      description = ''
+        Epjitsu driver package to use. Useful if you want to extract the driver files yourself.
+
+        The process is described in the <literal>/etc/sane.d/epjitsu.conf</literal> file in
+        the <literal>sane-backends</literal> package.
+      '';
+    };
+
     services.saned.enable = mkOption {
       type = types.bool;
       default = false;
diff --git a/nixpkgs/nixos/modules/services/mail/dovecot.nix b/nixpkgs/nixos/modules/services/mail/dovecot.nix
index 1ccfb357750b..f3500f46e355 100644
--- a/nixpkgs/nixos/modules/services/mail/dovecot.nix
+++ b/nixpkgs/nixos/modules/services/mail/dovecot.nix
@@ -429,6 +429,7 @@ in
 
       startLimitIntervalSec = 60;  # 1 min
       serviceConfig = {
+        Type = "notify";
         ExecStart = "${dovecotPkg}/sbin/dovecot -F";
         ExecReload = "${dovecotPkg}/sbin/doveadm reload";
         Restart = "on-failure";
@@ -468,10 +469,6 @@ in
 
     assertions = [
       {
-        assertion = intersectLists cfg.protocols [ "pop3" "imap" ] != [];
-        message = "dovecot needs at least one of the IMAP or POP3 listeners enabled";
-      }
-      {
         assertion = (cfg.sslServerCert == null) == (cfg.sslServerKey == null)
         && (cfg.sslCACert != null -> !(cfg.sslServerCert == null || cfg.sslServerKey == null));
         message = "dovecot needs both sslServerCert and sslServerKey defined for working crypto";
diff --git a/nixpkgs/nixos/modules/services/mail/nullmailer.nix b/nixpkgs/nixos/modules/services/mail/nullmailer.nix
index 09874ca0ed75..f9c345669978 100644
--- a/nixpkgs/nixos/modules/services/mail/nullmailer.nix
+++ b/nixpkgs/nixos/modules/services/mail/nullmailer.nix
@@ -220,7 +220,7 @@ with lib;
       after = [ "network.target" ];
 
       preStart = ''
-        mkdir -p /var/spool/nullmailer/{queue,tmp}
+        mkdir -p /var/spool/nullmailer/{queue,tmp,failed}
         rm -f /var/spool/nullmailer/trigger && mkfifo -m 660 /var/spool/nullmailer/trigger
       '';
 
diff --git a/nixpkgs/nixos/modules/services/mail/postfix.nix b/nixpkgs/nixos/modules/services/mail/postfix.nix
index 35639e1bbc83..9b0a5bba2feb 100644
--- a/nixpkgs/nixos/modules/services/mail/postfix.nix
+++ b/nixpkgs/nixos/modules/services/mail/postfix.nix
@@ -194,7 +194,7 @@ let
       # We need to handle the last column specially here, because it's
       # open-ended (command + args).
       lines = [ labels labelDefaults ] ++ (map (l: init l ++ [""]) masterCf);
-    in fold foldLine (genList (const 0) (length labels)) lines;
+    in foldr foldLine (genList (const 0) (length labels)) lines;
 
     # Pad a string with spaces from the right (opposite of fixedWidthString).
     pad = width: str: let
@@ -203,7 +203,7 @@ let
     in str + optionalString (padWidth > 0) padding;
 
     # It's + 2 here, because that's the amount of spacing between columns.
-    fullWidth = fold (width: acc: acc + width + 2) 0 maxWidths;
+    fullWidth = foldr (width: acc: acc + width + 2) 0 maxWidths;
 
     formatLine = line: concatStringsSep "  " (zipListsWith pad maxWidths line);
 
diff --git a/nixpkgs/nixos/modules/services/mail/postfixadmin.nix b/nixpkgs/nixos/modules/services/mail/postfixadmin.nix
new file mode 100644
index 000000000000..f5c8efb3076c
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/mail/postfixadmin.nix
@@ -0,0 +1,199 @@
+{ lib, config, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.postfixadmin;
+  fpm = config.services.phpfpm.pools.postfixadmin;
+  localDB = cfg.database.host == "localhost";
+  user = if localDB then cfg.database.username else "nginx";
+in
+{
+  options.services.postfixadmin = {
+    enable = mkOption {
+      type = types.bool;
+      default = false;
+      description = ''
+        Whether to enable postfixadmin.
+
+        Also enables nginx virtual host management.
+        Further nginx configuration can be done by adapting <literal>services.nginx.virtualHosts.&lt;name&gt;</literal>.
+        See <xref linkend="opt-services.nginx.virtualHosts"/> for further information.
+      '';
+    };
+
+    hostName = mkOption {
+      type = types.str;
+      example = "postfixadmin.example.com";
+      description = "Hostname to use for the nginx vhost";
+    };
+
+    adminEmail = mkOption {
+      type = types.str;
+      example = "postmaster@example.com";
+      description = ''
+        Defines the Site Admin's email address.
+        This will be used to send emails from to create mailboxes and
+        from Send Email / Broadcast message pages.
+      '';
+    };
+
+    setupPasswordFile = mkOption {
+      type = types.path;
+      description = ''
+        Password file for the admin.
+        Generate with <literal>php -r "echo password_hash('some password here', PASSWORD_DEFAULT);"</literal>
+      '';
+    };
+
+    database = {
+      username = mkOption {
+        type = types.str;
+        default = "postfixadmin";
+        description = ''
+          Username for the postgresql connection.
+          If <literal>database.host</literal> is set to <literal>localhost</literal>, a unix user and group of the same name will be created as well.
+        '';
+      };
+      host = mkOption {
+        type = types.str;
+        default = "localhost";
+        description = ''
+          Host of the postgresql server. If this is not set to
+          <literal>localhost</literal>, you have to create the
+          postgresql user and database yourself, with appropriate
+          permissions.
+        '';
+      };
+      passwordFile = mkOption {
+        type = types.path;
+        description = "Password file for the postgresql connection. Must be readable by user <literal>nginx</literal>.";
+      };
+      dbname = mkOption {
+        type = types.str;
+        default = "postfixadmin";
+        description = "Name of the postgresql database";
+      };
+    };
+
+    extraConfig = mkOption {
+      type = types.lines;
+      default = "";
+      description = "Extra configuration for the postfixadmin instance, see postfixadmin's config.inc.php for available options.";
+    };
+  };
+
+  config = mkIf cfg.enable {
+    environment.etc."postfixadmin/config.local.php".text = ''
+      <?php
+
+      $CONF['setup_password'] = file_get_contents('${cfg.setupPasswordFile}');
+
+      $CONF['database_type'] = 'pgsql';
+      $CONF['database_host'] = ${if localDB then "null" else "'${cfg.database.host}'"};
+      ${optionalString localDB "$CONF['database_user'] = '${cfg.database.username}';"}
+      $CONF['database_password'] = ${if localDB then "'dummy'" else "file_get_contents('${cfg.database.passwordFile}')"};
+      $CONF['database_name'] = '${cfg.database.dbname}';
+      $CONF['configured'] = true;
+
+      ${cfg.extraConfig}
+    '';
+
+    systemd.tmpfiles.rules = [ "d /var/cache/postfixadmin/templates_c 700 ${user} ${user}" ];
+
+    services.nginx = {
+      enable = true;
+      virtualHosts = {
+        ${cfg.hostName} = {
+          forceSSL = mkDefault true;
+          enableACME = mkDefault true;
+          locations."/" = {
+            root = "${pkgs.postfixadmin}/public";
+            index = "index.php";
+            extraConfig = ''
+              location ~* \.php$ {
+                fastcgi_split_path_info ^(.+\.php)(/.+)$;
+                fastcgi_pass unix:${fpm.socket};
+                include ${pkgs.nginx}/conf/fastcgi_params;
+                include ${pkgs.nginx}/conf/fastcgi.conf;
+              }
+            '';
+          };
+        };
+      };
+    };
+
+    services.postgresql = mkIf localDB {
+      enable = true;
+      ensureUsers = [ {
+        name = cfg.database.username;
+      } ];
+    };
+    # The postgresql module doesn't currently support concepts like
+    # objects owners and extensions; for now we tack on what's needed
+    # here.
+    systemd.services.postfixadmin-postgres = let pgsql = config.services.postgresql; in mkIf localDB {
+      after = [ "postgresql.service" ];
+      bindsTo = [ "postgresql.service" ];
+      wantedBy = [ "multi-user.target" ];
+      path = [
+        pgsql.package
+        pkgs.util-linux
+      ];
+      script = ''
+        set -eu
+
+        PSQL() {
+            psql --port=${toString pgsql.port} "$@"
+        }
+
+        PSQL -tAc "SELECT 1 FROM pg_database WHERE datname = '${cfg.database.dbname}'" | grep -q 1 || PSQL -tAc 'CREATE DATABASE "${cfg.database.dbname}" OWNER "${cfg.database.username}"'
+        current_owner=$(PSQL -tAc "SELECT pg_catalog.pg_get_userbyid(datdba) FROM pg_catalog.pg_database WHERE datname = '${cfg.database.dbname}'")
+        if [[ "$current_owner" != "${cfg.database.username}" ]]; then
+            PSQL -tAc 'ALTER DATABASE "${cfg.database.dbname}" OWNER TO "${cfg.database.username}"'
+            if [[ -e "${config.services.postgresql.dataDir}/.reassigning_${cfg.database.dbname}" ]]; then
+                echo "Reassigning ownership of database ${cfg.database.dbname} to user ${cfg.database.username} failed on last boot. Failing..."
+                exit 1
+            fi
+            touch "${config.services.postgresql.dataDir}/.reassigning_${cfg.database.dbname}"
+            PSQL "${cfg.database.dbname}" -tAc "REASSIGN OWNED BY \"$current_owner\" TO \"${cfg.database.username}\""
+            rm "${config.services.postgresql.dataDir}/.reassigning_${cfg.database.dbname}"
+        fi
+      '';
+
+      serviceConfig = {
+        User = pgsql.superUser;
+        Type = "oneshot";
+        RemainAfterExit = true;
+      };
+    };
+
+    users.users.${user} = mkIf localDB {
+      group = user;
+      isSystemUser = true;
+      createHome = false;
+    };
+    users.groups.${user} = mkIf localDB {};
+
+    services.phpfpm.pools.postfixadmin = {
+      user = user;
+      phpPackage = pkgs.php74;
+      phpOptions = ''
+        error_log = 'stderr'
+        log_errors = on
+      '';
+      settings = mapAttrs (name: mkDefault) {
+        "listen.owner" = "nginx";
+        "listen.group" = "nginx";
+        "listen.mode" = "0660";
+        "pm" = "dynamic";
+        "pm.max_children" = 75;
+        "pm.start_servers" = 2;
+        "pm.min_spare_servers" = 1;
+        "pm.max_spare_servers" = 20;
+        "pm.max_requests" = 500;
+        "catch_workers_output" = true;
+      };
+    };
+  };
+}
diff --git a/nixpkgs/nixos/modules/services/mail/rspamd.nix b/nixpkgs/nixos/modules/services/mail/rspamd.nix
index 473ddd52357d..c78f464235aa 100644
--- a/nixpkgs/nixos/modules/services/mail/rspamd.nix
+++ b/nixpkgs/nixos/modules/services/mail/rspamd.nix
@@ -371,8 +371,9 @@ in
     };
     services.postfix.config = mkIf cfg.postfix.enable cfg.postfix.config;
 
-    systemd.services.postfix.serviceConfig.SupplementaryGroups =
-      mkIf cfg.postfix.enable [ postfixCfg.group ];
+    systemd.services.postfix = mkIf cfg.postfix.enable {
+      serviceConfig.SupplementaryGroups = [ postfixCfg.group ];
+    };
 
     # Allow users to run 'rspamc' and 'rspamadm'.
     environment.systemPackages = [ pkgs.rspamd ];
diff --git a/nixpkgs/nixos/modules/services/misc/airsonic.nix b/nixpkgs/nixos/modules/services/misc/airsonic.nix
index a572f1f6d6f5..490f6c5a5c06 100644
--- a/nixpkgs/nixos/modules/services/misc/airsonic.nix
+++ b/nixpkgs/nixos/modules/services/misc/airsonic.nix
@@ -82,6 +82,25 @@ in {
         '';
       };
 
+      jre = mkOption {
+        type = types.package;
+        default = pkgs.jre8;
+        defaultText = literalExample "pkgs.jre8";
+        description = ''
+          JRE package to use.
+
+          Airsonic only supports Java 8, airsonic-advanced requires at least
+          Java 11.
+        '';
+      };
+
+      war = mkOption {
+        type = types.path;
+        default = "${pkgs.airsonic}/webapps/airsonic.war";
+        defaultText = "\${pkgs.airsonic}/webapps/airsonic.war";
+        description = "Airsonic war file to use.";
+      };
+
       jvmOptions = mkOption {
         description = ''
           Extra command line options for the JVM running AirSonic.
@@ -118,7 +137,7 @@ in {
       '';
       serviceConfig = {
         ExecStart = ''
-          ${pkgs.jre8}/bin/java -Xmx${toString cfg.maxMemory}m \
+          ${cfg.jre}/bin/java -Xmx${toString cfg.maxMemory}m \
           -Dairsonic.home=${cfg.home} \
           -Dserver.address=${cfg.listenAddress} \
           -Dserver.port=${toString cfg.port} \
@@ -128,7 +147,7 @@ in {
             "-Dserver.use-forward-headers=true"} \
           ${toString cfg.jvmOptions} \
           -verbose:gc \
-          -jar ${pkgs.airsonic}/webapps/airsonic.war
+          -jar ${cfg.war}
         '';
         Restart = "always";
         User = "airsonic";
diff --git a/nixpkgs/nixos/modules/services/misc/gitea.nix b/nixpkgs/nixos/modules/services/misc/gitea.nix
index b6c1ca3e61a9..8322b7c09022 100644
--- a/nixpkgs/nixos/modules/services/misc/gitea.nix
+++ b/nixpkgs/nixos/modules/services/misc/gitea.nix
@@ -522,20 +522,16 @@ in
           (umask 027; gitea_setup)
         ''}
 
+        # run migrations/init the database
+        ${gitea}/bin/gitea migrate
+
         # update all hooks' binary paths
-        HOOKS=$(find ${cfg.repositoryRoot} -mindepth 4 -maxdepth 6 -type f -wholename "*git/hooks/*")
-        if [ "$HOOKS" ]
-        then
-          sed -ri 's,/nix/store/[a-z0-9.-]+/bin/gitea,${gitea}/bin/gitea,g' $HOOKS
-          sed -ri 's,/nix/store/[a-z0-9.-]+/bin/env,${pkgs.coreutils}/bin/env,g' $HOOKS
-          sed -ri 's,/nix/store/[a-z0-9.-]+/bin/bash,${pkgs.bash}/bin/bash,g' $HOOKS
-          sed -ri 's,/nix/store/[a-z0-9.-]+/bin/perl,${pkgs.perl}/bin/perl,g' $HOOKS
-        fi
+        ${gitea}/bin/gitea admin regenerate hooks
 
         # update command option in authorized_keys
         if [ -r ${cfg.stateDir}/.ssh/authorized_keys ]
         then
-          sed -ri 's,/nix/store/[a-z0-9.-]+/bin/gitea,${gitea}/bin/gitea,g' ${cfg.stateDir}/.ssh/authorized_keys
+          ${gitea}/bin/gitea admin regenerate keys
         fi
       '';
 
diff --git a/nixpkgs/nixos/modules/services/misc/gitlab.nix b/nixpkgs/nixos/modules/services/misc/gitlab.nix
index 1514cc0665df..805deeee0c04 100644
--- a/nixpkgs/nixos/modules/services/misc/gitlab.nix
+++ b/nixpkgs/nixos/modules/services/misc/gitlab.nix
@@ -117,6 +117,7 @@ let
       shared.path = "${cfg.statePath}/shared";
       gitaly.client_path = "${cfg.packages.gitaly}/bin";
       backup = {
+        gitaly_backup_path = "${cfg.packages.gitaly}/bin/gitaly-backup";
         path = cfg.backup.path;
         keep_time = cfg.backup.keepTime;
       } // (optionalAttrs (cfg.backup.uploadOptions != {}) {
@@ -1299,7 +1300,7 @@ in {
         Restart = "on-failure";
         WorkingDirectory = gitlabEnv.HOME;
         ExecStart =
-          "${cfg.packages.gitlab-workhorse}/bin/gitlab-workhorse "
+          "${cfg.packages.gitlab-workhorse}/bin/workhorse "
           + "-listenUmask 0 "
           + "-listenNetwork unix "
           + "-listenAddr /run/gitlab/gitlab-workhorse.socket "
@@ -1352,9 +1353,8 @@ in {
         procps
         gnupg
       ];
-
       serviceConfig = {
-        Type = "simple";
+        Type = "notify";
         User = cfg.user;
         Group = cfg.group;
         TimeoutSec = "infinity";
diff --git a/nixpkgs/nixos/modules/services/misc/home-assistant.nix b/nixpkgs/nixos/modules/services/misc/home-assistant.nix
index dcd825bba433..73ec3b9a17a2 100644
--- a/nixpkgs/nixos/modules/services/misc/home-assistant.nix
+++ b/nixpkgs/nixos/modules/services/misc/home-assistant.nix
@@ -78,7 +78,7 @@ in {
 
     port = mkOption {
       default = 8123;
-      type = types.int;
+      type = types.port;
       description = "The port on which to listen.";
     };
 
@@ -285,6 +285,7 @@ in {
           "alarmdecoder"
           "arduino"
           "blackbird"
+          "deconz"
           "dsmr"
           "edl21"
           "elkm1"
diff --git a/nixpkgs/nixos/modules/services/misc/klipper.nix b/nixpkgs/nixos/modules/services/misc/klipper.nix
index 4930648ba8e3..e6b9dd234a9b 100644
--- a/nixpkgs/nixos/modules/services/misc/klipper.nix
+++ b/nixpkgs/nixos/modules/services/misc/klipper.nix
@@ -2,7 +2,13 @@
 with lib;
 let
   cfg = config.services.klipper;
-  format = pkgs.formats.ini { mkKeyValue = generators.mkKeyValueDefault {} ":"; };
+  format = pkgs.formats.ini {
+    # https://github.com/NixOS/nixpkgs/pull/121613#issuecomment-885241996
+    listToValue = l:
+      if builtins.length l == 1 then generators.mkValueStringDefault {} (head l)
+      else lib.concatMapStrings (s: "\n  ${generators.mkValueStringDefault {} s}") l;
+    mkKeyValue = generators.mkKeyValueDefault {} ":";
+  };
 in
 {
   ##### interface
@@ -24,8 +30,7 @@ in
 
       apiSocket = mkOption {
         type = types.nullOr types.path;
-        default = null;
-        example = "/run/klipper/api";
+        default = "/run/klipper/api";
         description = "Path of the API socket to create.";
       };
 
diff --git a/nixpkgs/nixos/modules/services/misc/libreddit.nix b/nixpkgs/nixos/modules/services/misc/libreddit.nix
new file mode 100644
index 000000000000..77b34a856204
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/misc/libreddit.nix
@@ -0,0 +1,66 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+  let
+    cfg = config.services.libreddit;
+
+    args = concatStringsSep " " ([
+      "--port ${toString cfg.port}"
+      "--address ${cfg.address}"
+    ] ++ optional cfg.redirect "--redirect-https");
+
+in
+{
+  options = {
+    services.libreddit = {
+      enable = mkEnableOption "Private front-end for Reddit";
+
+      address = mkOption {
+        default = "0.0.0.0";
+        example = "127.0.0.1";
+        type =  types.str;
+        description = "The address to listen on";
+      };
+
+      port = mkOption {
+        default = 8080;
+        example = 8000;
+        type = types.port;
+        description = "The port to listen on";
+      };
+
+      redirect = mkOption {
+        type = types.bool;
+        default = false;
+        description = "Enable the redirecting to HTTPS";
+      };
+
+      openFirewall = mkOption {
+        type = types.bool;
+        default = false;
+        description = "Open ports in the firewall for the libreddit web interface";
+      };
+
+    };
+  };
+
+  config = mkIf cfg.enable {
+    systemd.services.libreddit = {
+        description = "Private front-end for Reddit";
+        wantedBy = [ "multi-user.target" ];
+        after = [ "network.target" ];
+        serviceConfig = {
+          DynamicUser = true;
+          ExecStart = "${pkgs.libreddit}/bin/libreddit ${args}";
+          AmbientCapabilities = lib.mkIf (cfg.port < 1024) [ "CAP_NET_BIND_SERVICE" ];
+          Restart = "on-failure";
+          RestartSec = "2s";
+        };
+    };
+
+    networking.firewall = mkIf cfg.openFirewall {
+      allowedTCPPorts = [ cfg.port ];
+    };
+  };
+}
diff --git a/nixpkgs/nixos/modules/services/misc/matrix-appservice-irc.nix b/nixpkgs/nixos/modules/services/misc/matrix-appservice-irc.nix
index a0a5973d30f2..02627e51c932 100644
--- a/nixpkgs/nixos/modules/services/misc/matrix-appservice-irc.nix
+++ b/nixpkgs/nixos/modules/services/misc/matrix-appservice-irc.nix
@@ -10,7 +10,7 @@ let
 
   jsonType = (pkgs.formats.json {}).type;
 
-  configFile = pkgs.runCommandNoCC "matrix-appservice-irc.yml" {
+  configFile = pkgs.runCommand "matrix-appservice-irc.yml" {
     # Because this program will be run at build time, we need `nativeBuildInputs`
     nativeBuildInputs = [ (pkgs.python3.withPackages (ps: [ ps.pyyaml ps.jsonschema ])) ];
     preferLocalBuild = true;
diff --git a/nixpkgs/nixos/modules/services/misc/matrix-synapse.nix b/nixpkgs/nixos/modules/services/misc/matrix-synapse.nix
index 3c734a948198..e150a1aaaad1 100644
--- a/nixpkgs/nixos/modules/services/misc/matrix-synapse.nix
+++ b/nixpkgs/nixos/modules/services/misc/matrix-synapse.nix
@@ -221,9 +221,10 @@ in {
         default = config.networking.hostName;
         description = ''
           The domain name of the server, with optional explicit port.
-          This is used by remote servers to connect to this server,
-          e.g. matrix.org, localhost:8080, etc.
+          This is used by remote servers to look up the server address.
           This is also the last part of your UserID.
+
+          The server_name cannot be changed later so it is important to configure this correctly before you start Synapse.
         '';
       };
       public_baseurl = mkOption {
diff --git a/nixpkgs/nixos/modules/services/misc/mautrix-telegram.nix b/nixpkgs/nixos/modules/services/misc/mautrix-telegram.nix
index 0ae5797fea04..717cf7936ead 100644
--- a/nixpkgs/nixos/modules/services/misc/mautrix-telegram.nix
+++ b/nixpkgs/nixos/modules/services/misc/mautrix-telegram.nix
@@ -128,7 +128,7 @@ in {
         # https://github.com/tulir/mautrix-telegram/issues/584
         [ -f ${settingsFile} ] && rm -f ${settingsFile}
         old_umask=$(umask)
-        umask 0277
+        umask 0177
         ${pkgs.envsubst}/bin/envsubst \
           -o ${settingsFile} \
           -i ${settingsFileUnsubstituted}
diff --git a/nixpkgs/nixos/modules/services/misc/moonraker.nix b/nixpkgs/nixos/modules/services/misc/moonraker.nix
new file mode 100644
index 000000000000..de8668a0c066
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/misc/moonraker.nix
@@ -0,0 +1,135 @@
+{ config, lib, pkgs, ... }:
+with lib;
+let
+  pkg = pkgs.moonraker;
+  cfg = config.services.moonraker;
+  format = pkgs.formats.ini {
+    # https://github.com/NixOS/nixpkgs/pull/121613#issuecomment-885241996
+    listToValue = l:
+      if builtins.length l == 1 then generators.mkValueStringDefault {} (head l)
+      else lib.concatMapStrings (s: "\n  ${generators.mkValueStringDefault {} s}") l;
+    mkKeyValue = generators.mkKeyValueDefault {} ":";
+  };
+in {
+  options = {
+    services.moonraker = {
+      enable = mkEnableOption "Moonraker, an API web server for Klipper";
+
+      klipperSocket = mkOption {
+        type = types.path;
+        default = config.services.klipper.apiSocket;
+        description = "Path to Klipper's API socket.";
+      };
+
+      stateDir = mkOption {
+        type = types.path;
+        default = "/var/lib/moonraker";
+        description = "The directory containing the Moonraker databases.";
+      };
+
+      configDir = mkOption {
+        type = types.path;
+        default = cfg.stateDir + "/config";
+        description = ''
+          The directory containing client-writable configuration files.
+
+          Clients will be able to edit files in this directory via the API. This directory must be writable.
+        '';
+      };
+
+      user = mkOption {
+        type = types.str;
+        default = "moonraker";
+        description = "User account under which Moonraker runs.";
+      };
+
+      group = mkOption {
+        type = types.str;
+        default = "moonraker";
+        description = "Group account under which Moonraker runs.";
+      };
+
+      address = mkOption {
+        type = types.str;
+        default = "127.0.0.1";
+        example = "0.0.0.0";
+        description = "The IP or host to listen on.";
+      };
+
+      port = mkOption {
+        type = types.ints.unsigned;
+        default = 7125;
+        description = "The port to listen on.";
+      };
+
+      settings = mkOption {
+        type = format.type;
+        default = { };
+        example = {
+          authorization = {
+            trusted_clients = [ "10.0.0.0/24" ];
+            cors_domains = [ "https://app.fluidd.xyz" ];
+          };
+        };
+        description = ''
+          Configuration for Moonraker. See the <link xlink:href="https://moonraker.readthedocs.io/en/latest/configuration/">documentation</link>
+          for supported values.
+        '';
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    warnings = optional (cfg.settings ? update_manager)
+      ''Enabling update_manager is not supported on NixOS and will lead to non-removable warnings in some clients.'';
+
+    users.users = optionalAttrs (cfg.user == "moonraker") {
+      moonraker = {
+        group = cfg.group;
+        uid = config.ids.uids.moonraker;
+      };
+    };
+
+    users.groups = optionalAttrs (cfg.group == "moonraker") {
+      moonraker.gid = config.ids.gids.moonraker;
+    };
+
+    environment.etc."moonraker.cfg".source = let
+      forcedConfig = {
+        server = {
+          host = cfg.address;
+          port = cfg.port;
+          klippy_uds_address = cfg.klipperSocket;
+          config_path = cfg.configDir;
+          database_path = "${cfg.stateDir}/database";
+        };
+      };
+      fullConfig = recursiveUpdate cfg.settings forcedConfig;
+    in format.generate "moonraker.cfg" fullConfig;
+
+    systemd.tmpfiles.rules = [
+      "d '${cfg.stateDir}' - ${cfg.user} ${cfg.group} - -"
+      "d '${cfg.configDir}' - ${cfg.user} ${cfg.group} - -"
+    ];
+
+    systemd.services.moonraker = {
+      description = "Moonraker, an API web server for Klipper";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" ]
+        ++ optional config.services.klipper.enable "klipper.service";
+
+      # Moonraker really wants its own config to be writable...
+      script = ''
+        cp /etc/moonraker.cfg ${cfg.configDir}/moonraker-temp.cfg
+        chmod u+w ${cfg.configDir}/moonraker-temp.cfg
+        exec ${pkg}/bin/moonraker -c ${cfg.configDir}/moonraker-temp.cfg
+      '';
+
+      serviceConfig = {
+        WorkingDirectory = cfg.stateDir;
+        Group = cfg.group;
+        User = cfg.user;
+      };
+    };
+  };
+}
diff --git a/nixpkgs/nixos/modules/services/misc/mx-puppet-discord.nix b/nixpkgs/nixos/modules/services/misc/mx-puppet-discord.nix
new file mode 100644
index 000000000000..11116f7c3489
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/misc/mx-puppet-discord.nix
@@ -0,0 +1,120 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+let
+  dataDir = "/var/lib/mx-puppet-discord";
+  registrationFile = "${dataDir}/discord-registration.yaml";
+  cfg = config.services.mx-puppet-discord;
+  settingsFormat = pkgs.formats.json {};
+  settingsFile = settingsFormat.generate "mx-puppet-discord-config.json" cfg.settings;
+
+in {
+  options = {
+    services.mx-puppet-discord = {
+      enable = mkEnableOption ''
+        mx-puppet-discord is a discord puppeting bridge for matrix.
+        It handles bridging private and group DMs, as well as Guilds (servers)
+      '';
+
+      settings = mkOption rec {
+        apply = recursiveUpdate default;
+        inherit (settingsFormat) type;
+        default = {
+          bridge.port = 8434;
+          presence = {
+            enabled = true;
+            interval = 500;
+          };
+          provisioning.whitelist = [ ];
+          relay.whitelist = [ ];
+
+          # variables are preceded by a colon.
+          namePatterns = {
+            user = ":name";
+            userOverride = ":displayname";
+            room = ":name";
+            group = ":name";
+          };
+
+          #defaults to sqlite but can be configured to use postgresql with
+          #connstring
+          database.filename = "${dataDir}/mx-puppet-discord/database.db";
+          logging = {
+            console = "info";
+            lineDateFormat = "MMM-D HH:mm:ss.SSS";
+          };
+        };
+        example = literalExample ''
+          {
+            bridge = {
+              bindAddress = "localhost";
+              domain = "example.com";
+              homeserverUrl = "https://example.com";
+            };
+
+            provisioning.whitelist = [ "@admin:example.com" ];
+            relay.whitelist = [ "@.*:example.com" ];
+          }
+        '';
+        description = ''
+          <filename>config.yaml</filename> configuration as a Nix attribute set.
+          Configuration options should match those described in
+          <link xlink:href="https://github.com/matrix-discord/mx-puppet-discord/blob/master/sample.config.yaml">
+          sample.config.yaml</link>.
+        '';
+      };
+      serviceDependencies = mkOption {
+        type = with types; listOf str;
+        default = optional config.services.matrix-synapse.enable "matrix-synapse.service";
+        description = ''
+          List of Systemd services to require and wait for when starting the application service.
+        '';
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    systemd.services.mx-puppet-discord = {
+      description = ''
+        mx-puppet-discord is a discord puppeting bridge for matrix.
+        It handles bridging private and group DMs, as well as Guilds (servers).
+      '';
+
+      wantedBy = [ "multi-user.target" ];
+      wants = [ "network-online.target" ] ++ cfg.serviceDependencies;
+      after = [ "network-online.target" ] ++ cfg.serviceDependencies;
+
+      preStart = ''
+        # generate the appservice's registration file if absent
+        if [ ! -f '${registrationFile}' ]; then
+          ${pkgs.mx-puppet-discord}/bin/mx-puppet-discord -r -c ${settingsFile} \
+          -f ${registrationFile}
+        fi
+      '';
+
+      serviceConfig = {
+        Type = "simple";
+        Restart = "always";
+
+        ProtectSystem = "strict";
+        ProtectHome = true;
+        ProtectKernelTunables = true;
+        ProtectKernelModules = true;
+        ProtectControlGroups = true;
+
+        DynamicUser = true;
+        PrivateTmp = true;
+        WorkingDirectory = pkgs.mx-puppet-discord;
+        StateDirectory = baseNameOf dataDir;
+        UMask = 0027;
+
+        ExecStart = ''
+          ${pkgs.mx-puppet-discord}/bin/mx-puppet-discord -c ${settingsFile}
+        '';
+      };
+    };
+  };
+
+  meta.maintainers = with maintainers; [ govanify ];
+}
diff --git a/nixpkgs/nixos/modules/services/misc/nitter.nix b/nixpkgs/nixos/modules/services/misc/nitter.nix
new file mode 100644
index 000000000000..301af76c336a
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/misc/nitter.nix
@@ -0,0 +1,351 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.nitter;
+  configFile = pkgs.writeText "nitter.conf" ''
+    ${generators.toINI {
+      # String values need to be quoted
+      mkKeyValue = generators.mkKeyValueDefault {
+        mkValueString = v:
+          if isString v then "\"" + (strings.escape ["\""] (toString v)) + "\""
+          else generators.mkValueStringDefault {} v;
+      } " = ";
+    } (lib.recursiveUpdate {
+      Server = cfg.server;
+      Cache = cfg.cache;
+      Config = cfg.config // { hmacKey = "@hmac@"; };
+      Preferences = cfg.preferences;
+    } cfg.settings)}
+  '';
+  # `hmac` is a secret used for cryptographic signing of video URLs.
+  # Generate it on first launch, then copy configuration and replace
+  # `@hmac@` with this value.
+  # We are not using sed as it would leak the value in the command line.
+  preStart = pkgs.writers.writePython3 "nitter-prestart" {} ''
+    import os
+    import secrets
+
+    state_dir = os.environ.get("STATE_DIRECTORY")
+    if not os.path.isfile(f"{state_dir}/hmac"):
+        # Generate hmac on first launch
+        hmac = secrets.token_hex(32)
+        with open(f"{state_dir}/hmac", "w") as f:
+            f.write(hmac)
+    else:
+        # Load previously generated hmac
+        with open(f"{state_dir}/hmac", "r") as f:
+            hmac = f.read()
+
+    configFile = "${configFile}"
+    with open(configFile, "r") as f_in:
+        with open(f"{state_dir}/nitter.conf", "w") as f_out:
+            f_out.write(f_in.read().replace("@hmac@", hmac))
+  '';
+in
+{
+  options = {
+    services.nitter = {
+      enable = mkEnableOption "If enabled, start Nitter.";
+
+      server = {
+        address = mkOption {
+          type =  types.str;
+          default = "0.0.0.0";
+          example = "127.0.0.1";
+          description = "The address to listen on.";
+        };
+
+        port = mkOption {
+          type = types.port;
+          default = 8080;
+          example = 8000;
+          description = "The port to listen on.";
+        };
+
+        https = mkOption {
+          type = types.bool;
+          default = false;
+          description = "Set secure attribute on cookies. Keep it disabled to enable cookies when not using HTTPS.";
+        };
+
+        httpMaxConnections = mkOption {
+          type = types.int;
+          default = 100;
+          description = "Maximum number of HTTP connections.";
+        };
+
+        staticDir = mkOption {
+          type = types.path;
+          default = "${pkgs.nitter}/share/nitter/public";
+          defaultText = "\${pkgs.nitter}/share/nitter/public";
+          description = "Path to the static files directory.";
+        };
+
+        title = mkOption {
+          type = types.str;
+          default = "nitter";
+          description = "Title of the instance.";
+        };
+
+        hostname = mkOption {
+          type = types.str;
+          default = "localhost";
+          example = "nitter.net";
+          description = "Hostname of the instance.";
+        };
+      };
+
+      cache = {
+        listMinutes = mkOption {
+          type = types.int;
+          default = 240;
+          description = "How long to cache list info (not the tweets, so keep it high).";
+        };
+
+        rssMinutes = mkOption {
+          type = types.int;
+          default = 10;
+          description = "How long to cache RSS queries.";
+        };
+
+        redisHost = mkOption {
+          type = types.str;
+          default = "localhost";
+          description = "Redis host.";
+        };
+
+        redisPort = mkOption {
+          type = types.port;
+          default = 6379;
+          description = "Redis port.";
+        };
+
+        redisConnections = mkOption {
+          type = types.int;
+          default = 20;
+          description = "Redis connection pool size.";
+        };
+
+        redisMaxConnections = mkOption {
+          type = types.int;
+          default = 30;
+          description = ''
+            Maximum number of connections to Redis.
+
+            New connections are opened when none are available, but if the
+            pool size goes above this, they are closed when released, do not
+            worry about this unless you receive tons of requests per second.
+          '';
+        };
+      };
+
+      config = {
+        base64Media = mkOption {
+          type = types.bool;
+          default = false;
+          description = "Use base64 encoding for proxied media URLs.";
+        };
+
+        tokenCount = mkOption {
+          type = types.int;
+          default = 10;
+          description = ''
+            Minimum amount of usable tokens.
+
+            Tokens are used to authorize API requests, but they expire after
+            ~1 hour, and have a limit of 187 requests. The limit gets reset
+            every 15 minutes, and the pool is filled up so there is always at
+            least tokenCount usable tokens. Only increase this if you receive
+            major bursts all the time.
+          '';
+        };
+      };
+
+      preferences = {
+        replaceTwitter = mkOption {
+          type = types.str;
+          default = "";
+          example = "nitter.net";
+          description = "Replace Twitter links with links to this instance (blank to disable).";
+        };
+
+        replaceYouTube = mkOption {
+          type = types.str;
+          default = "";
+          example = "piped.kavin.rocks";
+          description = "Replace YouTube links with links to this instance (blank to disable).";
+        };
+
+        replaceInstagram = mkOption {
+          type = types.str;
+          default = "";
+          description = "Replace Instagram links with links to this instance (blank to disable).";
+        };
+
+        mp4Playback = mkOption {
+          type = types.bool;
+          default = true;
+          description = "Enable MP4 video playback.";
+        };
+
+        hlsPlayback = mkOption {
+          type = types.bool;
+          default = false;
+          description = "Enable HLS video streaming (requires JavaScript).";
+        };
+
+        proxyVideos = mkOption {
+          type = types.bool;
+          default = true;
+          description = "Proxy video streaming through the server (might be slow).";
+        };
+
+        muteVideos = mkOption {
+          type = types.bool;
+          default = false;
+          description = "Mute videos by default.";
+        };
+
+        autoplayGifs = mkOption {
+          type = types.bool;
+          default = true;
+          description = "Autoplay GIFs.";
+        };
+
+        theme = mkOption {
+          type = types.str;
+          default = "Nitter";
+          description = "Instance theme.";
+        };
+
+        infiniteScroll = mkOption {
+          type = types.bool;
+          default = false;
+          description = "Infinite scrolling (requires JavaScript, experimental!).";
+        };
+
+        stickyProfile = mkOption {
+          type = types.bool;
+          default = true;
+          description = "Make profile sidebar stick to top.";
+        };
+
+        bidiSupport = mkOption {
+          type = types.bool;
+          default = false;
+          description = "Support bidirectional text (makes clicking on tweets harder).";
+        };
+
+        hideTweetStats = mkOption {
+          type = types.bool;
+          default = false;
+          description = "Hide tweet stats (replies, retweets, likes).";
+        };
+
+        hideBanner = mkOption {
+          type = types.bool;
+          default = false;
+          description = "Hide profile banner.";
+        };
+
+        hidePins = mkOption {
+          type = types.bool;
+          default = false;
+          description = "Hide pinned tweets.";
+        };
+
+        hideReplies = mkOption {
+          type = types.bool;
+          default = false;
+          description = "Hide tweet replies.";
+        };
+      };
+
+      settings = mkOption {
+        type = types.attrs;
+        default = {};
+        description = ''
+          Add settings here to override NixOS module generated settings.
+
+          Check the official repository for the available settings:
+          https://github.com/zedeus/nitter/blob/master/nitter.conf
+        '';
+      };
+
+      redisCreateLocally = mkOption {
+        type = types.bool;
+        default = true;
+        description = "Configure local Redis server for Nitter.";
+      };
+
+      openFirewall = mkOption {
+        type = types.bool;
+        default = false;
+        description = "Open ports in the firewall for Nitter web interface.";
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    assertions = [
+      {
+        assertion = !cfg.redisCreateLocally || (cfg.cache.redisHost == "localhost" && cfg.cache.redisPort == 6379);
+        message = "When services.nitter.redisCreateLocally is enabled, you need to use localhost:6379 as a cache server.";
+      }
+    ];
+
+    systemd.services.nitter = {
+        description = "Nitter (An alternative Twitter front-end)";
+        wantedBy = [ "multi-user.target" ];
+        after = [ "syslog.target" "network.target" ];
+        serviceConfig = {
+          DynamicUser = true;
+          StateDirectory = "nitter";
+          Environment = [ "NITTER_CONF_FILE=/var/lib/nitter/nitter.conf" ];
+          # Some parts of Nitter expect `public` folder in working directory,
+          # see https://github.com/zedeus/nitter/issues/414
+          WorkingDirectory = "${pkgs.nitter}/share/nitter";
+          ExecStart = "${pkgs.nitter}/bin/nitter";
+          ExecStartPre = "${preStart}";
+          AmbientCapabilities = lib.mkIf (cfg.server.port < 1024) [ "CAP_NET_BIND_SERVICE" ];
+          Restart = "on-failure";
+          RestartSec = "5s";
+          # Hardening
+          CapabilityBoundingSet = if (cfg.server.port < 1024) then [ "CAP_NET_BIND_SERVICE" ] else [ "" ];
+          DeviceAllow = [ "" ];
+          LockPersonality = true;
+          MemoryDenyWriteExecute = true;
+          PrivateDevices = true;
+          # A private user cannot have process capabilities on the host's user
+          # namespace and thus CAP_NET_BIND_SERVICE has no effect.
+          PrivateUsers = (cfg.server.port >= 1024);
+          ProcSubset = "pid";
+          ProtectClock = true;
+          ProtectControlGroups = true;
+          ProtectHome = true;
+          ProtectHostname = true;
+          ProtectKernelLogs = true;
+          ProtectKernelModules = true;
+          ProtectKernelTunables = true;
+          ProtectProc = "invisible";
+          RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ];
+          RestrictNamespaces = true;
+          RestrictRealtime = true;
+          RestrictSUIDSGID = true;
+          SystemCallArchitectures = "native";
+          SystemCallFilter = [ "@system-service" "~@privileged" "~@resources" ];
+          UMask = "0077";
+        };
+    };
+
+    services.redis = lib.mkIf (cfg.redisCreateLocally) {
+      enable = true;
+    };
+
+    networking.firewall = mkIf cfg.openFirewall {
+      allowedTCPPorts = [ cfg.server.port ];
+    };
+  };
+}
diff --git a/nixpkgs/nixos/modules/services/misc/nix-daemon.nix b/nixpkgs/nixos/modules/services/misc/nix-daemon.nix
index 133e96da0ec8..70b27b7d3d09 100644
--- a/nixpkgs/nixos/modules/services/misc/nix-daemon.nix
+++ b/nixpkgs/nixos/modules/services/misc/nix-daemon.nix
@@ -458,7 +458,7 @@ in
                 description = "The flake reference to which <option>from></option> is to be rewritten.";
               };
               flake = mkOption {
-                type = types.unspecified;
+                type = types.nullOr types.attrs;
                 default = null;
                 example = literalExample "nixpkgs";
                 description = ''
diff --git a/nixpkgs/nixos/modules/services/misc/nzbget.nix b/nixpkgs/nixos/modules/services/misc/nzbget.nix
index 715ec891cd68..27c5f2e395f6 100644
--- a/nixpkgs/nixos/modules/services/misc/nzbget.nix
+++ b/nixpkgs/nixos/modules/services/misc/nzbget.nix
@@ -7,24 +7,12 @@ let
   pkg = pkgs.nzbget;
   stateDir = "/var/lib/nzbget";
   configFile = "${stateDir}/nzbget.conf";
-  configOpts = concatStringsSep " " (mapAttrsToList (name: value: "-o ${name}=${value}") nixosOpts);
-
-  nixosOpts = {
-    # allows nzbget to run as a "simple" service
-    OutputMode = "loggable";
-    # use journald for logging
-    WriteLog = "none";
-    ErrorTarget = "screen";
-    WarningTarget = "screen";
-    InfoTarget = "screen";
-    DetailTarget = "screen";
-    # required paths
-    ConfigTemplate = "${pkg}/share/nzbget/nzbget.conf";
-    WebDir = "${pkg}/share/nzbget/webui";
-    # nixos handles package updates
-    UpdateCheck = "none";
-  };
-
+  configOpts = concatStringsSep " " (mapAttrsToList (name: value: "-o ${name}=${escapeShellArg (toStr value)}") cfg.settings);
+  toStr = v:
+    if v == true then "yes"
+    else if v == false then "no"
+    else if isInt v then toString v
+    else v;
 in
 {
   imports = [
@@ -50,12 +38,41 @@ in
         default = "nzbget";
         description = "Group under which NZBGet runs";
       };
+
+      settings = mkOption {
+        type = with types; attrsOf (oneOf [ bool int str ]);
+        default = {};
+        description = ''
+          NZBGet configuration, passed via command line using switch -o. Refer to
+          <link xlink:href="https://github.com/nzbget/nzbget/blob/master/nzbget.conf"/>
+          for details on supported values.
+        '';
+        example = {
+          MainDir = "/data";
+        };
+      };
     };
   };
 
   # implementation
 
   config = mkIf cfg.enable {
+    services.nzbget.settings = {
+      # allows nzbget to run as a "simple" service
+      OutputMode = "loggable";
+      # use journald for logging
+      WriteLog = "none";
+      ErrorTarget = "screen";
+      WarningTarget = "screen";
+      InfoTarget = "screen";
+      DetailTarget = "screen";
+      # required paths
+      ConfigTemplate = "${pkg}/share/nzbget/nzbget.conf";
+      WebDir = "${pkg}/share/nzbget/webui";
+      # nixos handles package updates
+      UpdateCheck = "none";
+    };
+
     systemd.services.nzbget = {
       description = "NZBGet Daemon";
       after = [ "network.target" ];
@@ -64,6 +81,7 @@ in
         unrar
         p7zip
       ];
+
       preStart = ''
         if [ ! -f ${configFile} ]; then
           ${pkgs.coreutils}/bin/install -m 0700 ${pkg}/share/nzbget/nzbget.conf ${configFile}
diff --git a/nixpkgs/nixos/modules/services/misc/octoprint.nix b/nixpkgs/nixos/modules/services/misc/octoprint.nix
index c926d889b37a..7129ac69527f 100644
--- a/nixpkgs/nixos/modules/services/misc/octoprint.nix
+++ b/nixpkgs/nixos/modules/services/misc/octoprint.nix
@@ -122,6 +122,9 @@ in
         ExecStart = "${pluginsEnv}/bin/octoprint serve -b ${cfg.stateDir}";
         User = cfg.user;
         Group = cfg.group;
+        SupplementaryGroups = [
+          "dialout"
+        ];
       };
     };
 
diff --git a/nixpkgs/nixos/modules/services/misc/paperless-ng.nix b/nixpkgs/nixos/modules/services/misc/paperless-ng.nix
new file mode 100644
index 000000000000..4b7087e17f96
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/misc/paperless-ng.nix
@@ -0,0 +1,308 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+let
+  cfg = config.services.paperless-ng;
+
+  defaultUser = "paperless";
+
+  env = {
+    PAPERLESS_DATA_DIR = cfg.dataDir;
+    PAPERLESS_MEDIA_ROOT = cfg.mediaDir;
+    PAPERLESS_CONSUMPTION_DIR = cfg.consumptionDir;
+    GUNICORN_CMD_ARGS = "--bind=${cfg.address}:${toString cfg.port}";
+  } // lib.mapAttrs (_: toString) cfg.extraConfig;
+
+  manage = let
+    setupEnv = lib.concatStringsSep "\n" (mapAttrsToList (name: val: "export ${name}=\"${val}\"") env);
+  in pkgs.writeShellScript "manage" ''
+    ${setupEnv}
+    exec ${cfg.package}/bin/paperless-ng "$@"
+  '';
+
+  # Secure the services
+  defaultServiceConfig = {
+    TemporaryFileSystem = "/:ro";
+    BindReadOnlyPaths = [
+      "/nix/store"
+      "-/etc/resolv.conf"
+      "-/etc/nsswitch.conf"
+      "-/etc/hosts"
+      "-/etc/localtime"
+      "-/run/postgresql"
+    ];
+    BindPaths = [
+      cfg.consumptionDir
+      cfg.dataDir
+      cfg.mediaDir
+    ];
+    CapabilityBoundingSet = "";
+    # ProtectClock adds DeviceAllow=char-rtc r
+    DeviceAllow = "";
+    LockPersonality = true;
+    MemoryDenyWriteExecute = true;
+    NoNewPrivileges = true;
+    PrivateDevices = true;
+    PrivateMounts = true;
+    # Needs to connect to redis
+    # PrivateNetwork = true;
+    PrivateTmp = true;
+    PrivateUsers = true;
+    ProcSubset = "pid";
+    ProtectClock = true;
+    # Breaks if the home dir of the user is in /home
+    # Also does not add much value in combination with the TemporaryFileSystem.
+    # ProtectHome = true;
+    ProtectHostname = true;
+    # Would re-mount paths ignored by temporary root
+    #ProtectSystem = "strict";
+    ProtectControlGroups = true;
+    ProtectKernelLogs = true;
+    ProtectKernelModules = true;
+    ProtectKernelTunables = true;
+    ProtectProc = "invisible";
+    RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" ];
+    RestrictNamespaces = true;
+    RestrictRealtime = true;
+    RestrictSUIDSGID = true;
+    SystemCallArchitectures = "native";
+    SystemCallFilter = [ "@system-service" "~@privileged @resources @setuid @keyring" ];
+    # Does not work well with the temporary root
+    #UMask = "0066";
+  };
+in
+{
+  meta.maintainers = with maintainers; [ earvstedt Flakebi ];
+
+  imports = [
+    (mkRemovedOptionModule [ "services" "paperless"] ''
+      The paperless module has been removed as the upstream project died.
+      Users should migrate to the paperless-ng module (services.paperless-ng).
+      More information can be found in the NixOS 21.11 release notes.
+    '')
+  ];
+
+  options.services.paperless-ng = {
+    enable = mkOption {
+      type = lib.types.bool;
+      default = false;
+      description = ''
+        Enable Paperless-ng.
+
+        When started, the Paperless database is automatically created if it doesn't
+        exist and updated if the Paperless package has changed.
+        Both tasks are achieved by running a Django migration.
+
+        A script to manage the Paperless instance (by wrapping Django's manage.py) is linked to
+        <literal>''${dataDir}/paperless-ng-manage</literal>.
+      '';
+    };
+
+    dataDir = mkOption {
+      type = types.str;
+      default = "/var/lib/paperless";
+      description = "Directory to store the Paperless data.";
+    };
+
+    mediaDir = mkOption {
+      type = types.str;
+      default = "${cfg.dataDir}/media";
+      defaultText = "\${dataDir}/consume";
+      description = "Directory to store the Paperless documents.";
+    };
+
+    consumptionDir = mkOption {
+      type = types.str;
+      default = "${cfg.dataDir}/consume";
+      defaultText = "\${dataDir}/consume";
+      description = "Directory from which new documents are imported.";
+    };
+
+    consumptionDirIsPublic = mkOption {
+      type = types.bool;
+      default = false;
+      description = "Whether all users can write to the consumption dir.";
+    };
+
+    passwordFile = mkOption {
+      type = types.nullOr types.path;
+      default = null;
+      example = "/run/keys/paperless-ng-password";
+      description = ''
+        A file containing the superuser password.
+
+        A superuser is required to access the web interface.
+        If unset, you can create a superuser manually by running
+        <literal>''${dataDir}/paperless-ng-manage createsuperuser</literal>.
+
+        The default superuser name is <literal>admin</literal>. To change it, set
+        option <option>extraConfig.PAPERLESS_ADMIN_USER</option>.
+        WARNING: When changing the superuser name after the initial setup, the old superuser
+        will continue to exist.
+
+        To disable login for the web interface, set the following:
+        <literal>extraConfig.PAPERLESS_AUTO_LOGIN_USERNAME = "admin";</literal>.
+        WARNING: Only use this on a trusted system without internet access to Paperless.
+      '';
+    };
+
+    address = mkOption {
+      type = types.str;
+      default = "localhost";
+      description = "Web interface address.";
+    };
+
+    port = mkOption {
+      type = types.port;
+      default = 28981;
+      description = "Web interface port.";
+    };
+
+    extraConfig = mkOption {
+      type = types.attrs;
+      default = {};
+      description = ''
+        Extra paperless-ng config options.
+
+        See <link xlink:href="https://paperless-ng.readthedocs.io/en/latest/configuration.html">the documentation</link>
+        for available options.
+      '';
+      example = literalExample ''
+        {
+          PAPERLESS_OCR_LANGUAGE = "deu+eng";
+        }
+      '';
+    };
+
+    user = mkOption {
+      type = types.str;
+      default = defaultUser;
+      description = "User under which Paperless runs.";
+    };
+
+    package = mkOption {
+      type = types.package;
+      default = pkgs.paperless-ng;
+      defaultText = "pkgs.paperless-ng";
+      description = "The Paperless package to use.";
+    };
+  };
+
+  config = mkIf cfg.enable {
+    # Enable redis if no special url is set
+    services.redis.enable = mkIf (!hasAttr "PAPERLESS_REDIS" env) true;
+
+    systemd.tmpfiles.rules = [
+      "d '${cfg.dataDir}' - ${cfg.user} ${config.users.users.${cfg.user}.group} - -"
+      "d '${cfg.mediaDir}' - ${cfg.user} ${config.users.users.${cfg.user}.group} - -"
+      (if cfg.consumptionDirIsPublic then
+        "d '${cfg.consumptionDir}' 777 - - - -"
+      else
+        "d '${cfg.consumptionDir}' - ${cfg.user} ${config.users.users.${cfg.user}.group} - -"
+      )
+    ];
+
+    systemd.services.paperless-ng-server = {
+      description = "Paperless document server";
+      serviceConfig = defaultServiceConfig // {
+        User = cfg.user;
+        ExecStart = "${cfg.package}/bin/paperless-ng qcluster";
+        Restart = "on-failure";
+      };
+      environment = env;
+      wantedBy = [ "multi-user.target" ];
+      wants = [ "paperless-ng-consumer.service" "paperless-ng-web.service" ];
+
+      preStart = ''
+        ln -sf ${manage} ${cfg.dataDir}/paperless-ng-manage
+
+        # Auto-migrate on first run or if the package has changed
+        versionFile="${cfg.dataDir}/src-version"
+        if [[ $(cat "$versionFile" 2>/dev/null) != ${cfg.package} ]]; then
+          ${cfg.package}/bin/paperless-ng migrate
+          echo ${cfg.package} > "$versionFile"
+        fi
+      ''
+      + optionalString (cfg.passwordFile != null) ''
+        export PAPERLESS_ADMIN_USER="''${PAPERLESS_ADMIN_USER:-admin}"
+        export PAPERLESS_ADMIN_PASSWORD=$(cat "${cfg.dataDir}/superuser-password")
+        superuserState="$PAPERLESS_ADMIN_USER:$PAPERLESS_ADMIN_PASSWORD"
+        superuserStateFile="${cfg.dataDir}/superuser-state"
+
+        if [[ $(cat "$superuserStateFile" 2>/dev/null) != $superuserState ]]; then
+          ${cfg.package}/bin/paperless-ng manage_superuser
+          echo "$superuserState" > "$superuserStateFile"
+        fi
+      '';
+    };
+
+    # Password copying can't be implemented as a privileged preStart script
+    # in 'paperless-ng-server' because 'defaultServiceConfig' limits the filesystem
+    # paths accessible by the service.
+    systemd.services.paperless-ng-copy-password = mkIf (cfg.passwordFile != null) {
+      requiredBy = [ "paperless-ng-server.service" ];
+      before = [ "paperless-ng-server.service" ];
+      serviceConfig = {
+        ExecStart = ''
+          ${pkgs.coreutils}/bin/install --mode 600 --owner '${cfg.user}' --compare \
+            '${cfg.passwordFile}' '${cfg.dataDir}/superuser-password'
+        '';
+        Type = "oneshot";
+      };
+    };
+
+    systemd.services.paperless-ng-consumer = {
+      description = "Paperless document consumer";
+      serviceConfig = defaultServiceConfig // {
+        User = cfg.user;
+        ExecStart = "${cfg.package}/bin/paperless-ng document_consumer";
+        Restart = "on-failure";
+      };
+      environment = env;
+      # Bind to `paperless-ng-server` so that the consumer never runs
+      # during migrations
+      bindsTo = [ "paperless-ng-server.service" ];
+      after = [ "paperless-ng-server.service" ];
+    };
+
+    systemd.services.paperless-ng-web = {
+      description = "Paperless web server";
+      serviceConfig = defaultServiceConfig // {
+        User = cfg.user;
+        ExecStart = ''
+          ${pkgs.python3Packages.gunicorn}/bin/gunicorn \
+            -c ${cfg.package}/lib/paperless-ng/gunicorn.conf.py paperless.asgi:application
+        '';
+        Restart = "on-failure";
+
+        AmbientCapabilities = "CAP_NET_BIND_SERVICE";
+        CapabilityBoundingSet = "CAP_NET_BIND_SERVICE";
+        # gunicorn needs setuid
+        SystemCallFilter = defaultServiceConfig.SystemCallFilter ++ [ "@setuid" ];
+      };
+      environment = env // {
+        PATH = mkForce cfg.package.path;
+        PYTHONPATH = "${cfg.package.pythonPath}:${cfg.package}/lib/paperless-ng/src";
+      };
+      # Allow the web interface to access the private /tmp directory of the server.
+      # This is required to support uploading files via the web interface.
+      unitConfig.JoinsNamespaceOf = "paperless-ng-server.service";
+      # Bind to `paperless-ng-server` so that the web server never runs
+      # during migrations
+      bindsTo = [ "paperless-ng-server.service" ];
+      after = [ "paperless-ng-server.service" ];
+    };
+
+    users = optionalAttrs (cfg.user == defaultUser) {
+      users.${defaultUser} = {
+        group = defaultUser;
+        uid = config.ids.uids.paperless;
+        home = cfg.dataDir;
+      };
+
+      groups.${defaultUser} = {
+        gid = config.ids.gids.paperless;
+      };
+    };
+  };
+}
diff --git a/nixpkgs/nixos/modules/services/misc/paperless.nix b/nixpkgs/nixos/modules/services/misc/paperless.nix
deleted file mode 100644
index 43730b80eb2c..000000000000
--- a/nixpkgs/nixos/modules/services/misc/paperless.nix
+++ /dev/null
@@ -1,183 +0,0 @@
-{ config, pkgs, lib, ... }:
-
-with lib;
-let
-  cfg = config.services.paperless;
-
-  defaultUser = "paperless";
-
-  manage = cfg.package.withConfig {
-    config = {
-      PAPERLESS_CONSUMPTION_DIR = cfg.consumptionDir;
-      PAPERLESS_INLINE_DOC = "true";
-      PAPERLESS_DISABLE_LOGIN = "true";
-    } // cfg.extraConfig;
-    inherit (cfg) dataDir ocrLanguages;
-    paperlessPkg = cfg.package;
-  };
-in
-{
-  options.services.paperless = {
-    enable = mkOption {
-      type = lib.types.bool;
-      default = false;
-      description = ''
-        Enable Paperless.
-
-        When started, the Paperless database is automatically created if it doesn't
-        exist and updated if the Paperless package has changed.
-        Both tasks are achieved by running a Django migration.
-      '';
-    };
-
-    dataDir = mkOption {
-      type = types.str;
-      default = "/var/lib/paperless";
-      description = "Directory to store the Paperless data.";
-    };
-
-    consumptionDir = mkOption {
-      type = types.str;
-      default = "${cfg.dataDir}/consume";
-      defaultText = "\${dataDir}/consume";
-      description = "Directory from which new documents are imported.";
-    };
-
-    consumptionDirIsPublic = mkOption {
-      type = types.bool;
-      default = false;
-      description = "Whether all users can write to the consumption dir.";
-    };
-
-    ocrLanguages = mkOption {
-      type = with types; nullOr (listOf str);
-      default = null;
-      description = ''
-        Languages available for OCR via Tesseract, specified as
-        <literal>ISO 639-2/T</literal> language codes.
-        If unset, defaults to all available languages.
-      '';
-      example = [ "eng" "spa" "jpn" ];
-    };
-
-    address = mkOption {
-      type = types.str;
-      default = "localhost";
-      description = "Server listening address.";
-    };
-
-    port = mkOption {
-      type = types.port;
-      default = 28981;
-      description = "Server port to listen on.";
-    };
-
-    extraConfig = mkOption {
-      type = types.attrs;
-      default = {};
-      description = ''
-        Extra paperless config options.
-
-        The config values are evaluated as double-quoted Bash string literals.
-
-        See <literal>paperless-src/paperless.conf.example</literal> for available options.
-
-        To enable user authentication, set <literal>PAPERLESS_DISABLE_LOGIN = "false"</literal>
-        and run the shell command <literal>$dataDir/paperless-manage createsuperuser</literal>.
-
-        To define secret options without storing them in /nix/store, use the following pattern:
-        <literal>PAPERLESS_PASSPHRASE = "$(&lt; /etc/my_passphrase_file)"</literal>
-      '';
-      example = literalExample ''
-        {
-          PAPERLESS_OCR_LANGUAGE = "deu";
-        }
-      '';
-    };
-
-    user = mkOption {
-      type = types.str;
-      default = defaultUser;
-      description = "User under which Paperless runs.";
-    };
-
-    package = mkOption {
-      type = types.package;
-      default = pkgs.paperless;
-      defaultText = "pkgs.paperless";
-      description = "The Paperless package to use.";
-    };
-
-    manage = mkOption {
-      type = types.package;
-      readOnly = true;
-      default = manage;
-      description = ''
-        A script to manage the Paperless instance.
-        It wraps Django's manage.py and is also available at
-        <literal>$dataDir/manage-paperless</literal>
-      '';
-    };
-  };
-
-  config = mkIf cfg.enable {
-
-    systemd.tmpfiles.rules = [
-      "d '${cfg.dataDir}' - ${cfg.user} ${config.users.users.${cfg.user}.group} - -"
-    ] ++ (optional cfg.consumptionDirIsPublic
-      "d '${cfg.consumptionDir}' 777 - - - -"
-      # If the consumption dir is not created here, it's automatically created by
-      # 'manage' with the default permissions.
-    );
-
-    systemd.services.paperless-consumer = {
-      description = "Paperless document consumer";
-      serviceConfig = {
-        User = cfg.user;
-        ExecStart = "${manage} document_consumer";
-        Restart = "always";
-      };
-      after = [ "systemd-tmpfiles-setup.service" ];
-      wantedBy = [ "multi-user.target" ];
-      preStart = ''
-        if [[ $(readlink ${cfg.dataDir}/paperless-manage) != ${manage} ]]; then
-          ln -sf ${manage} ${cfg.dataDir}/paperless-manage
-        fi
-
-        ${manage.setupEnv}
-        # Auto-migrate on first run or if the package has changed
-        versionFile="$PAPERLESS_DBDIR/src-version"
-        if [[ $(cat "$versionFile" 2>/dev/null) != ${cfg.package} ]]; then
-          python $paperlessSrc/manage.py migrate
-          echo ${cfg.package} > "$versionFile"
-        fi
-      '';
-    };
-
-    systemd.services.paperless-server = {
-      description = "Paperless document server";
-      serviceConfig = {
-        User = cfg.user;
-        ExecStart = "${manage} runserver --noreload ${cfg.address}:${toString cfg.port}";
-        Restart = "always";
-      };
-      # Bind to `paperless-consumer` so that the server never runs
-      # during migrations
-      bindsTo = [ "paperless-consumer.service" ];
-      after = [ "paperless-consumer.service" ];
-      wantedBy = [ "multi-user.target" ];
-    };
-
-    users = optionalAttrs (cfg.user == defaultUser) {
-      users.${defaultUser} = {
-        group = defaultUser;
-        uid = config.ids.uids.paperless;
-        home = cfg.dataDir;
-      };
-
-      groups.${defaultUser} = {
-        gid = config.ids.gids.paperless;
-      };
-    };
-  };
-}
diff --git a/nixpkgs/nixos/modules/services/misc/sourcehut/builds.nix b/nixpkgs/nixos/modules/services/misc/sourcehut/builds.nix
index a17a1010dbf7..e446f08284f7 100644
--- a/nixpkgs/nixos/modules/services/misc/sourcehut/builds.nix
+++ b/nixpkgs/nixos/modules/services/misc/sourcehut/builds.nix
@@ -84,7 +84,7 @@ in
             (rev: archs:
               lib.attrsets.mapAttrsToList
                 (arch: image:
-                  pkgs.runCommandNoCC "buildsrht-images" { } ''
+                  pkgs.runCommand "buildsrht-images" { } ''
                     mkdir -p $out/${distro}/${rev}/${arch}
                     ln -s ${image}/*.qcow2 $out/${distro}/${rev}/${arch}/root.img.qcow2
                   '')
@@ -97,7 +97,7 @@ in
         "${pkgs.sourcehut.buildsrht}/lib/images"
       ];
     };
-    image_dir = pkgs.runCommandNoCC "builds.sr.ht-worker-images" { } ''
+    image_dir = pkgs.runCommand "builds.sr.ht-worker-images" { } ''
       mkdir -p $out/images
       cp -Lr ${image_dir_pre}/* $out/images
     '';
diff --git a/nixpkgs/nixos/modules/services/misc/uhub.nix b/nixpkgs/nixos/modules/services/misc/uhub.nix
index d1b388310280..da2613e6db17 100644
--- a/nixpkgs/nixos/modules/services/misc/uhub.nix
+++ b/nixpkgs/nixos/modules/services/misc/uhub.nix
@@ -3,178 +3,110 @@
 with lib;
 
 let
-
-  cfg = config.services.uhub;
-
-  uhubPkg = pkgs.uhub.override { tlsSupport = cfg.enableTLS; };
-
-  pluginConfig = ""
-  + optionalString cfg.plugins.authSqlite.enable ''
-    plugin ${uhubPkg.mod_auth_sqlite}/mod_auth_sqlite.so "file=${cfg.plugins.authSqlite.file}"
-  ''
-  + optionalString cfg.plugins.logging.enable ''
-    plugin ${uhubPkg.mod_logging}/mod_logging.so ${if cfg.plugins.logging.syslog then "syslog=true" else "file=${cfg.plugins.logging.file}"}
-  ''
-  + optionalString cfg.plugins.welcome.enable ''
-    plugin ${uhubPkg.mod_welcome}/mod_welcome.so "motd=${pkgs.writeText "motd.txt"  cfg.plugins.welcome.motd} rules=${pkgs.writeText "rules.txt" cfg.plugins.welcome.rules}"
-  ''
-  + optionalString cfg.plugins.history.enable ''
-    plugin ${uhubPkg.mod_chat_history}/mod_chat_history.so "history_max=${toString cfg.plugins.history.max} history_default=${toString cfg.plugins.history.default} history_connect=${toString cfg.plugins.history.connect}"
-  '';
-
-  uhubConfigFile = pkgs.writeText "uhub.conf" ''
-    file_acl=${pkgs.writeText "users.conf" cfg.aclConfig}
-    file_plugins=${pkgs.writeText "plugins.conf" pluginConfig}
-    server_bind_addr=${cfg.address}
-    server_port=${toString cfg.port}
-    ${lib.optionalString cfg.enableTLS "tls_enable=yes"}
-    ${cfg.hubConfig}
-  '';
-
-in
-
-{
+  settingsFormat = {
+    type = with lib.types; attrsOf (oneOf [ bool int str ]);
+    generate = name: attrs:
+      pkgs.writeText name (lib.strings.concatStringsSep "\n"
+        (lib.attrsets.mapAttrsToList
+          (key: value: "${key}=${builtins.toJSON value}") attrs));
+  };
+in {
   options = {
 
-    services.uhub = {
-
-      enable = mkOption {
-        type = types.bool;
-        default = false;
-        description = "Whether to enable the uhub ADC hub.";
-      };
-
-      port = mkOption {
-        type = types.int;
-        default = 1511;
-        description = "TCP port to bind the hub to.";
-      };
-
-      address = mkOption {
-        type = types.str;
-        default = "any";
-        description = "Address to bind the hub to.";
-      };
-
-      enableTLS = mkOption {
-        type = types.bool;
-        default = false;
-        description = "Whether to enable TLS support.";
-      };
+    services.uhub = mkOption {
+      default = { };
+      description = "Uhub ADC hub instances";
+      type = types.attrsOf (types.submodule {
+        options = {
 
-      hubConfig = mkOption {
-        type = types.lines;
-        default = "";
-        description = "Contents of uhub configuration file.";
-      };
+          enable = mkEnableOption "hub instance" // { default = true; };
 
-      aclConfig = mkOption {
-        type = types.lines;
-        default = "";
-        description = "Contents of user ACL configuration file.";
-      };
-
-      plugins = {
-
-        authSqlite = {
-          enable = mkOption {
+          enableTLS = mkOption {
             type = types.bool;
             default = false;
-            description = "Whether to enable the Sqlite authentication database plugin";
-          };
-          file = mkOption {
-            type = types.path;
-            example = "/var/db/uhub-users";
-            description = "Path to user database. Use the uhub-passwd utility to create the database and add/remove users.";
+            description = "Whether to enable TLS support.";
           };
-        };
 
-        logging = {
-          enable = mkOption {
-            type = types.bool;
-            default = false;
-            description = "Whether to enable the logging plugin.";
-          };
-          file = mkOption {
-            type = types.str;
-            default = "";
-            description = "Path of log file.";
-          };
-          syslog = mkOption {
-            type = types.bool;
-            default = false;
-            description = "If true then the system log is used instead of writing to file.";
-          };
-        };
-
-        welcome = {
-          enable = mkOption {
-            type = types.bool;
-            default = false;
-            description = "Whether to enable the welcome plugin.";
-          };
-          motd = mkOption {
-            default = "";
-            type = types.lines;
+          settings = mkOption {
+            inherit (settingsFormat) type;
             description = ''
-              Welcome message displayed to clients after connecting
-              and with the <literal>!motd</literal> command.
+              Configuration of uhub.
+              See https://www.uhub.org/doc/config.php for a list of options.
             '';
+            default = { };
+            example = {
+              server_bind_addr = "any";
+              server_port = 1511;
+              hub_name = "My Public Hub";
+              hub_description = "Yet another ADC hub";
+              max_users = 150;
+            };
           };
-          rules = mkOption {
-            default = "";
-            type = types.lines;
-            description = ''
-              Rules message, displayed to clients with the <literal>!rules</literal> command.
-            '';
-          };
-        };
 
-        history = {
-          enable = mkOption {
-            type = types.bool;
-            default = false;
-            description = "Whether to enable the history plugin.";
+          plugins = mkOption {
+            description = "Uhub plugin configuration.";
+            type = with types;
+              listOf (submodule {
+                options = {
+                  plugin = mkOption {
+                    type = path;
+                    example = literalExample
+                      "$${pkgs.uhub}/plugins/mod_auth_sqlite.so";
+                    description = "Path to plugin file.";
+                  };
+                  settings = mkOption {
+                    description = "Settings specific to this plugin.";
+                    type = with types; attrsOf str;
+                    example = { file = "/etc/uhub/users.db"; };
+                  };
+                };
+              });
+            default = [ ];
           };
-          max = mkOption {
-            type = types.int;
-            default = 200;
-            description = "The maximum number of messages to keep in history";
-          };
-          default = mkOption {
-            type = types.int;
-            default = 10;
-            description = "When !history is provided without arguments, then this default number of messages are returned.";
-          };
-          connect = mkOption {
-            type = types.int;
-            default = 5;
-            description = "The number of chat history messages to send when users connect (0 = do not send any history).";
-          };
-        };
 
-      };
+        };
+      });
     };
 
   };
 
-  config = mkIf cfg.enable {
-
-    users = {
-      users.uhub.uid = config.ids.uids.uhub;
-      groups.uhub.gid = config.ids.gids.uhub;
-    };
-
-    systemd.services.uhub = {
-      description = "high performance peer-to-peer hub for the ADC network";
-      after = [ "network.target" ];
-      wantedBy = [ "multi-user.target" ];
-      serviceConfig = {
-        Type = "notify";
-        ExecStart  = "${uhubPkg}/bin/uhub -c ${uhubConfigFile} -u uhub -g uhub -L";
-        ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
+  config = let
+    hubs = lib.attrsets.filterAttrs (_: cfg: cfg.enable) config.services.uhub;
+  in {
+
+    environment.etc = lib.attrsets.mapAttrs' (name: cfg:
+      let
+        settings' = cfg.settings // {
+          tls_enable = cfg.enableTLS;
+          file_plugins = pkgs.writeText "uhub-plugins.conf"
+            (lib.strings.concatStringsSep "\n" (map ({ plugin, settings }:
+              "plugin ${plugin} ${
+                toString
+                (lib.attrsets.mapAttrsToList (key: value: ''"${key}=${value}"'')
+                  settings)
+              }") cfg.plugins));
+        };
+      in {
+        name = "uhub/${name}.conf";
+        value.source = settingsFormat.generate "uhub-${name}.conf" settings';
+      }) hubs;
+
+    systemd.services = lib.attrsets.mapAttrs' (name: cfg: {
+      name = "uhub-${name}";
+      value = let pkg = pkgs.uhub.override { tlsSupport = cfg.enableTLS; };
+      in {
+        description = "high performance peer-to-peer hub for the ADC network";
+        after = [ "network.target" ];
+        wantedBy = [ "multi-user.target" ];
+        reloadIfChanged = true;
+        serviceConfig = {
+          Type = "notify";
+          ExecStart = "${pkg}/bin/uhub -c /etc/uhub/${name}.conf -L";
+          ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
+          DynamicUser = true;
+        };
       };
-    };
+    }) hubs;
   };
 
 }
diff --git a/nixpkgs/nixos/modules/services/monitoring/grafana.nix b/nixpkgs/nixos/modules/services/monitoring/grafana.nix
index e0b2624b6cac..fb67bbfb8420 100644
--- a/nixpkgs/nixos/modules/services/monitoring/grafana.nix
+++ b/nixpkgs/nixos/modules/services/monitoring/grafana.nix
@@ -6,6 +6,8 @@ let
   cfg = config.services.grafana;
   opt = options.services.grafana;
   declarativePlugins = pkgs.linkFarm "grafana-plugins" (builtins.map (pkg: { name = pkg.pname; path = pkg; }) cfg.declarativePlugins);
+  useMysql = cfg.database.type == "mysql";
+  usePostgresql = cfg.database.type == "postgres";
 
   envOptions = {
     PATHS_DATA = cfg.dataDir;
@@ -635,7 +637,7 @@ in {
     systemd.services.grafana = {
       description = "Grafana Service Daemon";
       wantedBy = ["multi-user.target"];
-      after = ["networking.target"];
+      after = ["networking.target"] ++ lib.optional usePostgresql "postgresql.service" ++ lib.optional useMysql "mysql.service";
       environment = {
         QT_QPA_PLATFORM = "offscreen";
       } // mapAttrs' (n: v: nameValuePair "GF_${n}" (toString v)) envOptions;
diff --git a/nixpkgs/nixos/modules/services/monitoring/nagios.nix b/nixpkgs/nixos/modules/services/monitoring/nagios.nix
index 61214508a9c6..0afaefe04e18 100644
--- a/nixpkgs/nixos/modules/services/monitoring/nagios.nix
+++ b/nixpkgs/nixos/modules/services/monitoring/nagios.nix
@@ -102,8 +102,8 @@ in
 
       plugins = mkOption {
         type = types.listOf types.package;
-        default = with pkgs; [ nagiosPluginsOfficial ssmtp mailutils ];
-        defaultText = "[pkgs.nagiosPluginsOfficial pkgs.ssmtp pkgs.mailutils]";
+        default = with pkgs; [ monitoring-plugins ssmtp mailutils ];
+        defaultText = "[pkgs.monitoring-plugins pkgs.ssmtp pkgs.mailutils]";
         description = "
           Packages to be added to the Nagios <envar>PATH</envar>.
           Typically used to add plugins, but can be anything.
diff --git a/nixpkgs/nixos/modules/services/monitoring/prometheus/default.nix b/nixpkgs/nixos/modules/services/monitoring/prometheus/default.nix
index 3be247ffb24e..1161d18ab14b 100644
--- a/nixpkgs/nixos/modules/services/monitoring/prometheus/default.nix
+++ b/nixpkgs/nixos/modules/services/monitoring/prometheus/default.nix
@@ -10,7 +10,7 @@ let
   # a wrapper that verifies that the configuration is valid
   promtoolCheck = what: name: file:
     if cfg.checkConfig then
-      pkgs.runCommandNoCCLocal
+      pkgs.runCommandLocal
         "${name}-${replaceStrings [" "] [""] what}-checked"
         { buildInputs = [ cfg.package ]; } ''
       ln -s ${file} $out
@@ -19,7 +19,7 @@ let
 
   # Pretty-print JSON to a file
   writePrettyJSON = name: x:
-    pkgs.runCommandNoCCLocal name {} ''
+    pkgs.runCommandLocal name {} ''
       echo '${builtins.toJSON x}' | ${pkgs.jq}/bin/jq . > $out
     '';
 
diff --git a/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters.nix b/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters.nix
index d648de6a4148..9182c2f2ed87 100644
--- a/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters.nix
+++ b/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters.nix
@@ -33,6 +33,7 @@ let
     "domain"
     "dovecot"
     "fritzbox"
+    "influxdb"
     "json"
     "jitsi"
     "kea"
diff --git a/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/influxdb.nix b/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/influxdb.nix
new file mode 100644
index 000000000000..ba45173e946a
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/influxdb.nix
@@ -0,0 +1,34 @@
+{ config, lib, pkgs, options }:
+
+with lib;
+
+let
+  cfg = config.services.prometheus.exporters.influxdb;
+in
+{
+  port = 9122;
+  extraOpts = {
+    sampleExpiry = mkOption {
+      type = types.str;
+      default = "5m";
+      example = "10m";
+      description = "How long a sample is valid for";
+    };
+    udpBindAddress = mkOption {
+      type = types.str;
+      default = ":9122";
+      example = "192.0.2.1:9122";
+      description = "Address on which to listen for udp packets";
+    };
+  };
+  serviceOpts = {
+    serviceConfig = {
+      RuntimeDirectory = "prometheus-influxdb-exporter";
+      ExecStart = ''
+        ${pkgs.prometheus-influxdb-exporter}/bin/influxdb_exporter \
+        --web.listen-address ${cfg.listenAddress}:${toString cfg.port} \
+        --influxdb.sample-expiry ${cfg.sampleExpiry} ${concatStringsSep " " cfg.extraFlags}
+      '';
+    };
+  };
+}
diff --git a/nixpkgs/nixos/modules/services/monitoring/thanos.nix b/nixpkgs/nixos/modules/services/monitoring/thanos.nix
index 474ea4b25054..96addf392bd7 100644
--- a/nixpkgs/nixos/modules/services/monitoring/thanos.nix
+++ b/nixpkgs/nixos/modules/services/monitoring/thanos.nix
@@ -63,7 +63,7 @@ let
     };
   };
 
-  toYAML = name: attrs: pkgs.runCommandNoCC name {
+  toYAML = name: attrs: pkgs.runCommand name {
     preferLocalBuild = true;
     json = builtins.toFile "${name}.json" (builtins.toJSON attrs);
     nativeBuildInputs = [ pkgs.remarshal ];
diff --git a/nixpkgs/nixos/modules/services/network-filesystems/ipfs.nix b/nixpkgs/nixos/modules/services/network-filesystems/ipfs.nix
index 2748571be1f7..57f5f6b006c8 100644
--- a/nixpkgs/nixos/modules/services/network-filesystems/ipfs.nix
+++ b/nixpkgs/nixos/modules/services/network-filesystems/ipfs.nix
@@ -5,36 +5,41 @@ let
   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.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);
 
   splitMulitaddr = addrRaw: lib.tail (lib.splitString "/" addrRaw);
 
-  multiaddrToListenStream = addrRaw: let
+  multiaddrToListenStream = addrRaw:
+    let
       addr = splitMulitaddr addrRaw;
       s = builtins.elemAt addr;
-    in if s 0 == "ip4" && s 2 == "tcp"
-      then "${s 1}:${s 3}"
+    in
+    if s 0 == "ip4" && s 2 == "tcp"
+    then "${s 1}:${s 3}"
     else if s 0 == "ip6" && s 2 == "tcp"
-      then "[${s 1}]:${s 3}"
+    then "[${s 1}]:${s 3}"
     else if s 0 == "unix"
-      then "/${lib.concatStringsSep "/" (lib.tail addr)}"
+    then "/${lib.concatStringsSep "/" (lib.tail addr)}"
     else null; # not valid for listen stream, skip
 
-  multiaddrToListenDatagram = addrRaw: let
+  multiaddrToListenDatagram = addrRaw:
+    let
       addr = splitMulitaddr addrRaw;
       s = builtins.elemAt addr;
-    in if s 0 == "ip4" && s 2 == "udp"
-      then "${s 1}:${s 3}"
+    in
+    if s 0 == "ip4" && s 2 == "udp"
+    then "${s 1}:${s 3}"
     else if s 0 == "ip6" && s 2 == "udp"
-      then "[${s 1}]:${s 3}"
+    then "[${s 1}]:${s 3}"
     else null; # not valid for listen datagram, skip
 
-in {
+in
+{
 
   ###### interface
 
@@ -65,9 +70,10 @@ in {
 
       dataDir = mkOption {
         type = types.str;
-        default = if versionAtLeast config.system.stateVersion "17.09"
-                  then "/var/lib/ipfs"
-                  else "/var/lib/ipfs/.ipfs";
+        default =
+          if versionAtLeast config.system.stateVersion "17.09"
+          then "/var/lib/ipfs"
+          else "/var/lib/ipfs/.ipfs";
         description = "The data dir for IPFS";
       };
 
@@ -83,6 +89,12 @@ in {
         description = "Whether IPFS should try to mount /ipfs and /ipns at startup.";
       };
 
+      autoMigrate = mkOption {
+        type = types.bool;
+        default = true;
+        description = "Whether IPFS should try to run the fs-repo-migration at startup.";
+      };
+
       ipfsMountDir = mkOption {
         type = types.str;
         default = "/ipfs";
@@ -137,7 +149,7 @@ in {
           These are applied last, so may override configuration set by other options in this module.
           Keep in mind that this configuration is stateful; i.e., unsetting anything in here does not reset the value to the default!
         '';
-        default = {};
+        default = { };
         example = {
           Datastore.StorageMax = "100GB";
           Discovery.MDNS.Enabled = false;
@@ -153,7 +165,7 @@ in {
       extraFlags = mkOption {
         type = types.listOf types.str;
         description = "Extra flags passed to the IPFS daemon";
-        default = [];
+        default = [ ];
       };
 
       localDiscovery = mkOption {
@@ -168,7 +180,7 @@ in {
         type = types.nullOr types.int;
         default = null;
         description = "The fdlimit for the IPFS systemd unit or <literal>null</literal> to have the daemon attempt to manage it";
-        example = 64*1024;
+        example = 64 * 1024;
       };
 
       startWhenNeeded = mkOption {
@@ -186,6 +198,9 @@ in {
     environment.systemPackages = [ cfg.package ];
     environment.variables.IPFS_PATH = cfg.dataDir;
 
+    # https://github.com/lucas-clemente/quic-go/wiki/UDP-Receive-Buffer-Size
+    boot.kernel.sysctl."net.core.rmem_max" = mkDefault 2500000;
+
     programs.fuse = mkIf cfg.autoMount {
       userAllowOther = true;
     };
@@ -226,33 +241,36 @@ in {
             ${optionalString (! cfg.localDiscovery) "--profile=server"}
         else
           ${if cfg.localDiscovery
-            then "ipfs config profile apply local-discovery"
-            else "ipfs config profile apply server"
+            then "ipfs --offline config profile apply local-discovery"
+            else "ipfs --offline config profile apply server"
           }
         fi
       '' + optionalString cfg.autoMount ''
         ipfs --offline config Mounts.FuseAllowOther --json true
         ipfs --offline config Mounts.IPFS ${cfg.ipfsMountDir}
         ipfs --offline config Mounts.IPNS ${cfg.ipnsMountDir}
+      '' + optionalString cfg.autoMigrate ''
+        ${pkgs.ipfs-migrator}/bin/fs-repo-migrations -y
       '' + concatStringsSep "\n" (collect
-            isString
-            (mapAttrsRecursive
-              (path: value:
-              # Using heredoc below so that the value is never improperly quoted
-              ''
-                read value <<EOF
-                ${builtins.toJSON value}
-                EOF
-                ipfs --offline config --json "${concatStringsSep "." path}" "$value"
-              '')
-              ({ Addresses.API = cfg.apiAddress;
-                 Addresses.Gateway = cfg.gatewayAddress;
-                 Addresses.Swarm = cfg.swarmAddress;
-              } //
-              cfg.extraConfig))
-          );
+        isString
+        (mapAttrsRecursive
+          (path: value:
+            # Using heredoc below so that the value is never improperly quoted
+            ''
+              read value <<EOF
+              ${builtins.toJSON value}
+              EOF
+              ipfs --offline config --json "${concatStringsSep "." path}" "$value"
+            '')
+          ({
+            Addresses.API = cfg.apiAddress;
+            Addresses.Gateway = cfg.gatewayAddress;
+            Addresses.Swarm = cfg.swarmAddress;
+          } //
+          cfg.extraConfig))
+      );
       serviceConfig = {
-        ExecStart = ["" "${cfg.package}/bin/ipfs daemon ${ipfsFlags}"];
+        ExecStart = [ "" "${cfg.package}/bin/ipfs daemon ${ipfsFlags}" ];
         User = cfg.user;
         Group = cfg.group;
       } // optionalAttrs (cfg.serviceFdlimit != null) { LimitNOFILE = cfg.serviceFdlimit; };
@@ -263,12 +281,16 @@ in {
     systemd.sockets.ipfs-gateway = {
       wantedBy = [ "sockets.target" ];
       socketConfig = {
-        ListenStream = let
+        ListenStream =
+          let
             fromCfg = multiaddrToListenStream cfg.gatewayAddress;
-          in [ "" ] ++ lib.optional (fromCfg != null) fromCfg;
-        ListenDatagram = let
+          in
+          [ "" ] ++ lib.optional (fromCfg != null) fromCfg;
+        ListenDatagram =
+          let
             fromCfg = multiaddrToListenDatagram cfg.gatewayAddress;
-          in [ "" ] ++ lib.optional (fromCfg != null) fromCfg;
+          in
+          [ "" ] ++ lib.optional (fromCfg != null) fromCfg;
       };
     };
 
@@ -276,9 +298,11 @@ in {
       wantedBy = [ "sockets.target" ];
       # We also include "%t/ipfs.sock" because there is no way to put the "%t"
       # in the multiaddr.
-      socketConfig.ListenStream = let
+      socketConfig.ListenStream =
+        let
           fromCfg = multiaddrToListenStream cfg.apiAddress;
-        in [ "" "%t/ipfs.sock" ] ++ lib.optional (fromCfg != null) fromCfg;
+        in
+        [ "" "%t/ipfs.sock" ] ++ lib.optional (fromCfg != null) fromCfg;
     };
 
   };
diff --git a/nixpkgs/nixos/modules/services/network-filesystems/litestream/default.nix b/nixpkgs/nixos/modules/services/network-filesystems/litestream/default.nix
new file mode 100644
index 000000000000..f1806c5af0a9
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/network-filesystems/litestream/default.nix
@@ -0,0 +1,100 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.litestream;
+  settingsFormat = pkgs.formats.yaml {};
+in
+{
+  options.services.litestream = {
+    enable = mkEnableOption "litestream";
+
+    package = mkOption {
+      description = "Package to use.";
+      default = pkgs.litestream;
+      defaultText = "pkgs.litestream";
+      type = types.package;
+    };
+
+    settings = mkOption {
+      description = ''
+        See the <link xlink:href="https://litestream.io/reference/config/">documentation</link>.
+      '';
+      type = settingsFormat.type;
+      example = {
+        dbs = [
+          {
+            path = "/var/lib/db1";
+            replicas = [
+              {
+                url = "s3://mybkt.litestream.io/db1";
+              }
+            ];
+          }
+        ];
+      };
+    };
+
+    environmentFile = mkOption {
+      type = types.nullOr types.path;
+      default = null;
+      example = "/run/secrets/litestream";
+      description = ''
+        Environment file as defined in <citerefentry>
+        <refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum>
+        </citerefentry>.
+
+        Secrets may be passed to the service without adding them to the
+        world-readable Nix store, by specifying placeholder variables as
+        the option value in Nix and setting these variables accordingly in the
+        environment file.
+
+        By default, Litestream will perform environment variable expansion
+        within the config file before reading it. Any references to ''$VAR or
+        ''${VAR} formatted variables will be replaced with their environment
+        variable values. If no value is set then it will be replaced with an
+        empty string.
+
+        <programlisting>
+          # Content of the environment file
+          LITESTREAM_ACCESS_KEY_ID=AKIAxxxxxxxxxxxxxxxx
+          LITESTREAM_SECRET_ACCESS_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxx
+        </programlisting>
+
+        Note that this file needs to be available on the host on which
+        this exporter is running.
+      '';
+    };
+  };
+
+  config = mkIf cfg.enable {
+    environment.systemPackages = [ cfg.package ];
+    environment.etc = {
+      "litestream.yml" = {
+        source = settingsFormat.generate "litestream-config.yaml" cfg.settings;
+      };
+    };
+
+    systemd.services.litestream = {
+      description = "Litestream";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "networking.target" ];
+      serviceConfig = {
+        EnvironmentFile = mkIf (cfg.environmentFile != null) cfg.environmentFile;
+        ExecStart = "${cfg.package}/bin/litestream replicate";
+        Restart = "always";
+        User = "litestream";
+        Group = "litestream";
+      };
+    };
+
+    users.users.litestream = {
+      description = "Litestream user";
+      group = "litestream";
+      isSystemUser = true;
+    };
+    users.groups.litestream = {};
+  };
+  meta.doc = ./litestream.xml;
+}
diff --git a/nixpkgs/nixos/modules/services/network-filesystems/litestream/litestream.xml b/nixpkgs/nixos/modules/services/network-filesystems/litestream/litestream.xml
new file mode 100644
index 000000000000..598f9be8cf63
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/network-filesystems/litestream/litestream.xml
@@ -0,0 +1,65 @@
+<chapter xmlns="http://docbook.org/ns/docbook"
+         xmlns:xlink="http://www.w3.org/1999/xlink"
+         xmlns:xi="http://www.w3.org/2001/XInclude"
+         version="5.0"
+         xml:id="module-services-litestream">
+ <title>Litestream</title>
+ <para>
+  <link xlink:href="https://litestream.io/">Litestream</link> is a standalone streaming
+  replication tool for SQLite.
+ </para>
+
+ <section xml:id="module-services-litestream-configuration">
+  <title>Configuration</title>
+
+  <para>
+   Litestream service is managed by a dedicated user named <literal>litestream</literal>
+   which needs permission to the database file. Here's an example config which gives
+   required permissions to access <link linkend="opt-services.grafana.database.path">
+   grafana database</link>:
+<programlisting>
+{ pkgs, ... }:
+{
+  users.users.litestream.extraGroups = [ "grafana" ];
+
+  systemd.services.grafana.serviceConfig.ExecStartPost = "+" + pkgs.writeShellScript "grant-grafana-permissions" ''
+    timeout=10
+
+    while [ ! -f /var/lib/grafana/data/grafana.db ];
+    do
+      if [ "$timeout" == 0 ]; then
+        echo "ERROR: Timeout while waiting for /var/lib/grafana/data/grafana.db."
+        exit 1
+      fi
+
+      sleep 1
+
+      ((timeout--))
+    done
+
+    find /var/lib/grafana -type d -exec chmod -v 775 {} \;
+    find /var/lib/grafana -type f -exec chmod -v 660 {} \;
+  '';
+
+  services.litestream = {
+    enable = true;
+
+    environmentFile = "/run/secrets/litestream";
+
+    settings = {
+      dbs = [
+        {
+          path = "/var/lib/grafana/data/grafana.db";
+          replicas = [{
+            url = "s3://mybkt.litestream.io/grafana";
+          }];
+        }
+      ];
+    };
+  };
+}
+</programlisting>
+  </para>
+ </section>
+
+</chapter>
diff --git a/nixpkgs/nixos/modules/services/networking/autossh.nix b/nixpkgs/nixos/modules/services/networking/autossh.nix
index a8d9a027e9fa..245f2bfc2cf3 100644
--- a/nixpkgs/nixos/modules/services/networking/autossh.nix
+++ b/nixpkgs/nixos/modules/services/networking/autossh.nix
@@ -79,7 +79,7 @@ in
 
     systemd.services =
 
-      lib.fold ( s : acc : acc //
+      lib.foldr ( s : acc : acc //
         {
           "autossh-${s.name}" =
             let
diff --git a/nixpkgs/nixos/modules/services/networking/avahi-daemon.nix b/nixpkgs/nixos/modules/services/networking/avahi-daemon.nix
index 0b7d5575c11f..020a817f2596 100644
--- a/nixpkgs/nixos/modules/services/networking/avahi-daemon.nix
+++ b/nixpkgs/nixos/modules/services/networking/avahi-daemon.nix
@@ -240,8 +240,8 @@ in
 
     system.nssModules = optional cfg.nssmdns pkgs.nssmdns;
     system.nssDatabases.hosts = optionals cfg.nssmdns (mkMerge [
-      (mkOrder 900 [ "mdns_minimal [NOTFOUND=return]" ]) # must be before resolve
-      (mkOrder 1501 [ "mdns" ]) # 1501 to ensure it's after dns
+      (mkBefore [ "mdns_minimal [NOTFOUND=return]" ]) # before resolve
+      (mkAfter [ "mdns" ]) # after dns
     ]);
 
     environment.systemPackages = [ pkgs.avahi ];
diff --git a/nixpkgs/nixos/modules/services/networking/bird.nix b/nixpkgs/nixos/modules/services/networking/bird.nix
index 1923afdf83f2..c14adbda3c5a 100644
--- a/nixpkgs/nixos/modules/services/networking/bird.nix
+++ b/nixpkgs/nixos/modules/services/networking/bird.nix
@@ -10,8 +10,8 @@ let
       birdBin = if variant == "bird6" then "bird6" else "bird";
       birdc = if variant == "bird6" then "birdc6" else "birdc";
       descr =
-        { bird = "1.9.x with IPv4 suport";
-          bird6 = "1.9.x with IPv6 suport";
+        { bird = "1.6.x with IPv4 support";
+          bird6 = "1.6.x with IPv6 support";
           bird2 = "2.x";
         }.${variant};
     in {
diff --git a/nixpkgs/nixos/modules/services/networking/cjdns.nix b/nixpkgs/nixos/modules/services/networking/cjdns.nix
index f1a504b3e3f4..ca95d00c2ff8 100644
--- a/nixpkgs/nixos/modules/services/networking/cjdns.nix
+++ b/nixpkgs/nixos/modules/services/networking/cjdns.nix
@@ -39,7 +39,7 @@ let
   };
 
   # Additional /etc/hosts entries for peers with an associated hostname
-  cjdnsExtraHosts = pkgs.runCommandNoCC "cjdns-hosts" {} ''
+  cjdnsExtraHosts = pkgs.runCommand "cjdns-hosts" {} ''
     exec >$out
     ${concatStringsSep "\n" (mapAttrsToList (k: v:
         optionalString (v.hostname != "")
diff --git a/nixpkgs/nixos/modules/services/networking/connman.nix b/nixpkgs/nixos/modules/services/networking/connman.nix
index 11f66b05df12..608672c6446c 100644
--- a/nixpkgs/nixos/modules/services/networking/connman.nix
+++ b/nixpkgs/nixos/modules/services/networking/connman.nix
@@ -150,6 +150,7 @@ in {
       useDHCP = false;
       wireless = {
         enable = mkIf (!enableIwd) true;
+        dbusControlled = true;
         iwd = mkIf enableIwd {
           enable = true;
         };
diff --git a/nixpkgs/nixos/modules/services/networking/epmd.nix b/nixpkgs/nixos/modules/services/networking/epmd.nix
index f7cdc0fe79c0..3899d164f16a 100644
--- a/nixpkgs/nixos/modules/services/networking/epmd.nix
+++ b/nixpkgs/nixos/modules/services/networking/epmd.nix
@@ -4,9 +4,7 @@ with lib;
 
 let
   cfg = config.services.epmd;
-
 in
-
 {
   ###### interface
   options.services.epmd = {
@@ -27,16 +25,31 @@ in
         an Erlang runtime that is already installed for other purposes.
       '';
     };
+    listenStream = mkOption
+      {
+        type = types.str;
+        default = "[::]:4369";
+        description = ''
+          the listenStream used by the systemd socket.
+          see https://www.freedesktop.org/software/systemd/man/systemd.socket.html#ListenStream= for more informations.
+          use this to change the port epmd will run on.
+          if not defined, epmd will use "[::]:4369"
+        '';
+      };
   };
 
   ###### implementation
   config = mkIf cfg.enable {
+    assertions = [{
+      assertion = cfg.listenStream == "[::]:4369" -> config.networking.enableIPv6;
+      message = "epmd listens by default on ipv6, enable ipv6 or change config.services.epmd.listenStream";
+    }];
     systemd.sockets.epmd = rec {
       description = "Erlang Port Mapper Daemon Activation Socket";
       wantedBy = [ "sockets.target" ];
       before = wantedBy;
       socketConfig = {
-        ListenStream = "4369";
+        ListenStream = cfg.listenStream;
         Accept = "false";
       };
     };
diff --git a/nixpkgs/nixos/modules/services/networking/firewall.nix b/nixpkgs/nixos/modules/services/networking/firewall.nix
index cdc3a172ea70..f982621e2328 100644
--- a/nixpkgs/nixos/modules/services/networking/firewall.nix
+++ b/nixpkgs/nixos/modules/services/networking/firewall.nix
@@ -339,6 +339,8 @@ in
         description =
           ''
             Whether to log rejected or dropped incoming connections.
+            Note: The logs are found in the kernel logs, i.e. dmesg
+            or journalctl -k.
           '';
       };
 
@@ -350,6 +352,8 @@ in
             Whether to log all rejected or dropped incoming packets.
             This tends to give a lot of log messages, so it's mostly
             useful for debugging.
+            Note: The logs are found in the kernel logs, i.e. dmesg
+            or journalctl -k.
           '';
       };
 
diff --git a/nixpkgs/nixos/modules/services/networking/i2pd.nix b/nixpkgs/nixos/modules/services/networking/i2pd.nix
index 93a21fd4c97e..fba0d817006e 100644
--- a/nixpkgs/nixos/modules/services/networking/i2pd.nix
+++ b/nixpkgs/nixos/modules/services/networking/i2pd.nix
@@ -32,9 +32,9 @@ let
       description = "Bind address for ${name} endpoint.";
     };
     port = mkOption {
-      type = types.int;
+      type = types.port;
       default = port;
-      description = "Bind port for ${name} endoint.";
+      description = "Bind port for ${name} endpoint.";
     };
   };
 
diff --git a/nixpkgs/nixos/modules/services/networking/iwd.nix b/nixpkgs/nixos/modules/services/networking/iwd.nix
index 99e5e78badd2..8835f7f9372d 100644
--- a/nixpkgs/nixos/modules/services/networking/iwd.nix
+++ b/nixpkgs/nixos/modules/services/networking/iwd.nix
@@ -4,8 +4,31 @@ with lib;
 
 let
   cfg = config.networking.wireless.iwd;
+  ini = pkgs.formats.ini { };
+  configFile = ini.generate "main.conf" cfg.settings;
 in {
-  options.networking.wireless.iwd.enable = mkEnableOption "iwd";
+  options.networking.wireless.iwd = {
+    enable = mkEnableOption "iwd";
+
+    settings = mkOption {
+      type = ini.type;
+      default = { };
+
+      example = {
+        Settings.AutoConnect = true;
+
+        Network = {
+          EnableIPv6 = true;
+          RoutePriorityOffset = 300;
+        };
+      };
+
+      description = ''
+        Options passed to iwd.
+        See <link xlink:href="https://iwd.wiki.kernel.org/networkconfigurationsettings">here</link> for supported options.
+      '';
+    };
+  };
 
   config = mkIf cfg.enable {
     assertions = [{
@@ -15,6 +38,8 @@ in {
       '';
     }];
 
+    environment.etc."iwd/main.conf".source = configFile;
+
     # for iwctl
     environment.systemPackages =  [ pkgs.iwd ];
 
@@ -27,7 +52,10 @@ in {
       linkConfig.NamePolicy = "keep kernel";
     };
 
-    systemd.services.iwd.wantedBy = [ "multi-user.target" ];
+    systemd.services.iwd = {
+      wantedBy = [ "multi-user.target" ];
+      restartTriggers = [ configFile ];
+    };
   };
 
   meta.maintainers = with lib.maintainers; [ mic92 dtzWill ];
diff --git a/nixpkgs/nixos/modules/services/networking/kea.nix b/nixpkgs/nixos/modules/services/networking/kea.nix
index 72773b83a496..b11402204aec 100644
--- a/nixpkgs/nixos/modules/services/networking/kea.nix
+++ b/nixpkgs/nixos/modules/services/networking/kea.nix
@@ -238,6 +238,10 @@ in
         KEA_PIDFILE_DIR = "/run/kea";
       };
 
+      restartTriggers = [
+        ctrlAgentConfig
+      ];
+
       serviceConfig = {
         ExecStart = "${package}/bin/kea-ctrl-agent -c /etc/kea/ctrl-agent.conf ${lib.escapeShellArgs cfg.dhcp4.extraArgs}";
         KillMode = "process";
@@ -269,6 +273,10 @@ in
         KEA_PIDFILE_DIR = "/run/kea";
       };
 
+      restartTriggers = [
+        dhcp4Config
+      ];
+
       serviceConfig = {
         ExecStart = "${package}/bin/kea-dhcp4 -c /etc/kea/dhcp4-server.conf ${lib.escapeShellArgs cfg.dhcp4.extraArgs}";
         # Kea does not request capabilities by itself
@@ -307,6 +315,10 @@ in
         KEA_PIDFILE_DIR = "/run/kea";
       };
 
+      restartTriggers = [
+        dhcp6Config
+      ];
+
       serviceConfig = {
         ExecStart = "${package}/bin/kea-dhcp6 -c /etc/kea/dhcp6-server.conf ${lib.escapeShellArgs cfg.dhcp6.extraArgs}";
         # Kea does not request capabilities by itself
@@ -343,6 +355,10 @@ in
         KEA_PIDFILE_DIR = "/run/kea";
       };
 
+      restartTriggers = [
+        dhcpDdnsConfig
+      ];
+
       serviceConfig = {
         ExecStart = "${package}/bin/kea-dhcp-ddns -c /etc/kea/dhcp-ddns.conf ${lib.escapeShellArgs cfg.dhcp-ddns.extraArgs}";
         AmbientCapabilites = [
diff --git a/nixpkgs/nixos/modules/services/networking/mullvad-vpn.nix b/nixpkgs/nixos/modules/services/networking/mullvad-vpn.nix
index 8ce71f26b3ee..9ec1ddc929e1 100644
--- a/nixpkgs/nixos/modules/services/networking/mullvad-vpn.nix
+++ b/nixpkgs/nixos/modules/services/networking/mullvad-vpn.nix
@@ -9,6 +9,7 @@ with lib;
     default = false;
     description = ''
       This option enables Mullvad VPN daemon.
+      This sets <option>networking.firewall.checkReversePath</option> to "loose", which might be undesirable for security.
     '';
   };
 
@@ -18,6 +19,9 @@ with lib;
     # mullvad-daemon writes to /etc/iproute2/rt_tables
     networking.iproute2.enable = true;
 
+    # See https://github.com/NixOS/nixpkgs/issues/113589
+    networking.firewall.checkReversePath = "loose";
+
     systemd.services.mullvad-daemon = {
       description = "Mullvad VPN daemon";
       wantedBy = [ "multi-user.target" ];
@@ -42,5 +46,5 @@ with lib;
     };
   };
 
-  meta.maintainers = [ maintainers.xfix ];
+  meta.maintainers = with maintainers; [ ymarkus ];
 }
diff --git a/nixpkgs/nixos/modules/services/networking/nats.nix b/nixpkgs/nixos/modules/services/networking/nats.nix
new file mode 100644
index 000000000000..eb0c65bc6561
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/networking/nats.nix
@@ -0,0 +1,159 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+  cfg = config.services.nats;
+
+  format = pkgs.formats.json { };
+
+  configFile = format.generate "nats.conf" cfg.settings;
+
+in {
+
+  ### Interface
+
+  options = {
+    services.nats = {
+      enable = mkEnableOption "NATS messaging system";
+
+      user = mkOption {
+        type = types.str;
+        default = "nats";
+        description = "User account under which NATS runs.";
+      };
+
+      group = mkOption {
+        type = types.str;
+        default = "nats";
+        description = "Group under which NATS runs.";
+      };
+
+      serverName = mkOption {
+        default = "nats";
+        example = "n1-c3";
+        type = types.str;
+        description = ''
+          Name of the NATS server, must be unique if clustered.
+        '';
+      };
+
+      jetstream = mkEnableOption "JetStream";
+
+      port = mkOption {
+        default = 4222;
+        example = 4222;
+        type = types.port;
+        description = ''
+          Port on which to listen.
+        '';
+      };
+
+      dataDir = mkOption {
+        default = "/var/lib/nats";
+        type = types.path;
+        description = ''
+          The NATS data directory. Only used if JetStream is enabled, for
+          storing stream metadata and messages.
+
+          If left as the default value this directory will automatically be
+          created before the NATS server starts, otherwise the sysadmin is
+          responsible for ensuring the directory exists with appropriate
+          ownership and permissions.
+        '';
+      };
+
+      settings = mkOption {
+        default = { };
+        type = format.type;
+        example = literalExample ''
+          {
+            jetstream = {
+              max_mem = "1G";
+              max_file = "10G";
+            };
+          };
+        '';
+        description = ''
+          Declarative NATS configuration. See the
+          <link xlink:href="https://docs.nats.io/nats-server/configuration">
+          NATS documentation</link> for a list of options.
+        '';
+      };
+    };
+  };
+
+  ### Implementation
+
+  config = mkIf cfg.enable {
+    services.nats.settings = {
+      server_name = cfg.serverName;
+      port = cfg.port;
+      jetstream = optionalAttrs cfg.jetstream { store_dir = cfg.dataDir; };
+    };
+
+    systemd.services.nats = {
+      description = "NATS messaging system";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" ];
+
+      serviceConfig = mkMerge [
+        (mkIf (cfg.dataDir == "/var/lib/nats") {
+          StateDirectory = "nats";
+          StateDirectoryMode = "0750";
+        })
+        {
+          Type = "simple";
+          ExecStart = "${pkgs.nats-server}/bin/nats-server -c ${configFile}";
+          ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
+          ExecStop = "${pkgs.coreutils}/bin/kill -SIGINT $MAINPID";
+          Restart = "on-failure";
+
+          User = cfg.user;
+          Group = cfg.group;
+
+          # Hardening
+          CapabilityBoundingSet = "";
+          LimitNOFILE = 800000; # JetStream requires 2 FDs open per stream.
+          LockPersonality = true;
+          MemoryDenyWriteExecute = true;
+          NoNewPrivileges = true;
+          PrivateDevices = true;
+          PrivateTmp = true;
+          PrivateUsers = true;
+          ProcSubset = "pid";
+          ProtectClock = true;
+          ProtectControlGroups = true;
+          ProtectHome = true;
+          ProtectHostname = true;
+          ProtectKernelLogs = true;
+          ProtectKernelModules = true;
+          ProtectKernelTunables = true;
+          ProtectProc = "invisible";
+          ProtectSystem = "strict";
+          ReadOnlyPaths = [ ];
+          ReadWritePaths = [ cfg.dataDir ];
+          RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ];
+          RestrictNamespaces = true;
+          RestrictRealtime = true;
+          RestrictSUIDSGID = true;
+          SystemCallFilter = [ "@system-service" "~@privileged" "~@resources" ];
+          UMask = "0077";
+        }
+      ];
+    };
+
+    users.users = mkIf (cfg.user == "nats") {
+      nats = {
+        description = "NATS daemon user";
+        isSystemUser = true;
+        group = cfg.group;
+        home = cfg.dataDir;
+      };
+    };
+
+    users.groups = mkIf (cfg.group == "nats") { nats = { }; };
+  };
+
+}
diff --git a/nixpkgs/nixos/modules/services/networking/networkmanager.nix b/nixpkgs/nixos/modules/services/networking/networkmanager.nix
index 064018057cdb..c8861171dd6c 100644
--- a/nixpkgs/nixos/modules/services/networking/networkmanager.nix
+++ b/nixpkgs/nixos/modules/services/networking/networkmanager.nix
@@ -6,7 +6,6 @@ let
   cfg = config.networking.networkmanager;
 
   basePackages = with pkgs; [
-    crda
     modemmanager
     networkmanager
     networkmanager-fortisslvpn
@@ -49,6 +48,7 @@ let
       rc-manager =
         if config.networking.resolvconf.enable then "resolvconf"
         else "unmanaged";
+      firewall-backend = cfg.firewallBackend;
     })
     (mkSection "keyfile" {
       unmanaged-devices =
@@ -244,6 +244,15 @@ in {
         '';
       };
 
+      firewallBackend = mkOption {
+        type = types.enum [ "iptables" "nftables" "none" ];
+        default = "iptables";
+        description = ''
+          Which firewall backend should be used for configuring masquerading with shared mode.
+          If set to none, NetworkManager doesn't manage the configuration at all.
+        '';
+      };
+
       logLevel = mkOption {
         type = types.enum [ "OFF" "ERR" "WARN" "INFO" "DEBUG" "TRACE" ];
         default = "WARN";
@@ -404,6 +413,8 @@ in {
       }
     ];
 
+    hardware.wirelessRegulatoryDatabase = true;
+
     environment.etc = with pkgs; {
       "NetworkManager/NetworkManager.conf".source = configFile;
 
diff --git a/nixpkgs/nixos/modules/services/networking/nftables.nix b/nixpkgs/nixos/modules/services/networking/nftables.nix
index cb75142965ea..72f37c32253e 100644
--- a/nixpkgs/nixos/modules/services/networking/nftables.nix
+++ b/nixpkgs/nixos/modules/services/networking/nftables.nix
@@ -103,6 +103,7 @@ in
     }];
     boot.blacklistedKernelModules = [ "ip_tables" ];
     environment.systemPackages = [ pkgs.nftables ];
+    networking.networkmanager.firewallBackend = mkDefault "nftables";
     systemd.services.nftables = {
       description = "nftables firewall";
       before = [ "network-pre.target" ];
diff --git a/nixpkgs/nixos/modules/services/networking/ntp/chrony.nix b/nixpkgs/nixos/modules/services/networking/ntp/chrony.nix
index 96c6444c23a1..ed61c178c685 100644
--- a/nixpkgs/nixos/modules/services/networking/ntp/chrony.nix
+++ b/nixpkgs/nixos/modules/services/networking/ntp/chrony.nix
@@ -81,17 +81,26 @@ in
         '';
       };
 
-      initstepslew = mkOption {
-        type = types.attrsOf (types.either types.bool types.int);
-        default = {
-          enabled = true;
-          threshold = 1000; # by default, same threshold as 'ntpd -g' (1000s)
+      initstepslew = {
+        enabled = mkOption {
+          type = types.bool;
+          default = true;
+          description = ''
+            Allow chronyd to make a rapid measurement of the system clock error
+            at boot time, and to correct the system clock by stepping before
+            normal operation begins.
+          '';
+        };
+
+        threshold = mkOption {
+          type = types.either types.float types.int;
+          default = 1000; # by default, same threshold as 'ntpd -g' (1000s)
+          description = ''
+            The threshold of system clock error (in seconds) above which the
+            clock will be stepped. If the correction required is less than the
+            threshold, a slew is used instead.
+          '';
         };
-        description = ''
-          Allow chronyd to make a rapid measurement of the system clock error at
-          boot time, and to correct the system clock by stepping before normal
-          operation begins.
-        '';
       };
 
       directory = mkOption {
@@ -148,7 +157,7 @@ in
         wantedBy = [ "multi-user.target" ];
         wants    = [ "time-sync.target" ];
         before   = [ "time-sync.target" ];
-        after    = [ "network.target" ];
+        after    = [ "network.target" "nss-lookup.target" ];
         conflicts = [ "ntpd.service" "systemd-timesyncd.service" ];
 
         path = [ chronyPkg ];
diff --git a/nixpkgs/nixos/modules/services/networking/nylon.nix b/nixpkgs/nixos/modules/services/networking/nylon.nix
index bfc358cb12fb..a20fa615af80 100644
--- a/nixpkgs/nixos/modules/services/networking/nylon.nix
+++ b/nixpkgs/nixos/modules/services/networking/nylon.nix
@@ -160,7 +160,7 @@ in
 
     users.groups.nylon.gid = config.ids.gids.nylon;
 
-    systemd.services = fold (a: b: a // b) {} nylonUnits;
+    systemd.services = foldr (a: b: a // b) {} nylonUnits;
 
   };
 }
diff --git a/nixpkgs/nixos/modules/services/networking/quicktun.nix b/nixpkgs/nixos/modules/services/networking/quicktun.nix
index fb783c836464..438e67d5ebb6 100644
--- a/nixpkgs/nixos/modules/services/networking/quicktun.nix
+++ b/nixpkgs/nixos/modules/services/networking/quicktun.nix
@@ -87,7 +87,7 @@ with lib;
   };
 
   config = mkIf (cfg != []) {
-    systemd.services = fold (a: b: a // b) {} (
+    systemd.services = foldr (a: b: a // b) {} (
       mapAttrsToList (name: qtcfg: {
         "quicktun-${name}" = {
           wantedBy = [ "multi-user.target" ];
diff --git a/nixpkgs/nixos/modules/services/networking/shout.nix b/nixpkgs/nixos/modules/services/networking/shout.nix
index a808a7f39d05..405808491ea4 100644
--- a/nixpkgs/nixos/modules/services/networking/shout.nix
+++ b/nixpkgs/nixos/modules/services/networking/shout.nix
@@ -41,7 +41,7 @@ in {
     };
 
     port = mkOption {
-      type = types.int;
+      type = types.port;
       default = 9000;
       description = "TCP port to listen on for http connections.";
     };
diff --git a/nixpkgs/nixos/modules/services/networking/soju.nix b/nixpkgs/nixos/modules/services/networking/soju.nix
new file mode 100644
index 000000000000..68a33e9dccba
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/networking/soju.nix
@@ -0,0 +1,113 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.soju;
+  stateDir = "/var/lib/soju";
+  listenCfg = concatMapStringsSep "\n" (l: "listen ${l}") cfg.listen;
+  tlsCfg = optionalString (cfg.tlsCertificate != null)
+    "tls ${cfg.tlsCertificate} ${cfg.tlsCertificateKey}";
+  logCfg = optionalString cfg.enableMessageLogging
+    "log fs ${stateDir}/logs";
+
+  configFile = pkgs.writeText "soju.conf" ''
+    ${listenCfg}
+    hostname ${cfg.hostName}
+    ${tlsCfg}
+    db sqlite3 ${stateDir}/soju.db
+    ${logCfg}
+    http-origin ${concatStringsSep " " cfg.httpOrigins}
+    accept-proxy-ip ${concatStringsSep " " cfg.acceptProxyIP}
+
+    ${cfg.extraConfig}
+  '';
+in
+{
+  ###### interface
+
+  options.services.soju = {
+    enable = mkEnableOption "soju";
+
+    listen = mkOption {
+      type = types.listOf types.str;
+      default = [ ":6697" ];
+      description = ''
+        Where soju should listen for incoming connections. See the
+        <literal>listen</literal> directive in
+        <citerefentry><refentrytitle>soju</refentrytitle>
+        <manvolnum>1</manvolnum></citerefentry>.
+      '';
+    };
+
+    hostName = mkOption {
+      type = types.str;
+      default = config.networking.hostName;
+      description = "Server hostname.";
+    };
+
+    tlsCertificate = mkOption {
+      type = types.nullOr types.path;
+      example = "/var/host.cert";
+      description = "Path to server TLS certificate.";
+    };
+
+    tlsCertificateKey = mkOption {
+      type = types.nullOr types.path;
+      example = "/var/host.key";
+      description = "Path to server TLS certificate key.";
+    };
+
+    enableMessageLogging = mkOption {
+      type = types.bool;
+      default = true;
+      description = "Whether to enable message logging.";
+    };
+
+    httpOrigins = mkOption {
+      type = types.listOf types.str;
+      default = [];
+      description = ''
+        List of allowed HTTP origins for WebSocket listeners. The parameters are
+        interpreted as shell patterns, see
+        <citerefentry><refentrytitle>glob</refentrytitle>
+        <manvolnum>7</manvolnum></citerefentry>.
+      '';
+    };
+
+    acceptProxyIP = mkOption {
+      type = types.listOf types.str;
+      default = [];
+      description = ''
+        Allow the specified IPs to act as a proxy. Proxys have the ability to
+        overwrite the remote and local connection addresses (via the X-Forwarded-\*
+        HTTP header fields). The special name "localhost" accepts the loopback
+        addresses 127.0.0.0/8 and ::1/128. By default, all IPs are rejected.
+      '';
+    };
+
+    extraConfig = mkOption {
+      type = types.lines;
+      default = "";
+      description = "Lines added verbatim to the configuration file.";
+    };
+  };
+
+  ###### implementation
+
+  config = mkIf cfg.enable {
+    systemd.services.soju = {
+      description = "soju IRC bouncer";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network-online.target" ];
+      serviceConfig = {
+        DynamicUser = true;
+        Restart = "always";
+        ExecStart = "${pkgs.soju}/bin/soju -config ${configFile}";
+        StateDirectory = "soju";
+      };
+    };
+  };
+
+  meta.maintainers = with maintainers; [ malvo ];
+}
diff --git a/nixpkgs/nixos/modules/services/networking/ssh/sshd.nix b/nixpkgs/nixos/modules/services/networking/ssh/sshd.nix
index d804c017f5d6..04879eb7d82d 100644
--- a/nixpkgs/nixos/modules/services/networking/ssh/sshd.nix
+++ b/nixpkgs/nixos/modules/services/networking/ssh/sshd.nix
@@ -531,11 +531,7 @@ in
             XAuthLocation ${pkgs.xorg.xauth}/bin/xauth
         ''}
 
-        ${if cfg.forwardX11 then ''
-          X11Forwarding yes
-        '' else ''
-          X11Forwarding no
-        ''}
+        X11Forwarding ${if cfg.forwardX11 then "yes" else "no"}
 
         ${optionalString cfg.allowSFTP ''
           Subsystem sftp ${cfg.sftpServerExecutable} ${concatStringsSep " " cfg.sftpFlags}
@@ -568,11 +564,7 @@ in
 
         LogLevel ${cfg.logLevel}
 
-        ${if cfg.useDns then ''
-          UseDNS yes
-        '' else ''
-          UseDNS no
-        ''}
+        UseDNS ${if cfg.useDns then "yes" else "no"}
 
         StrictModes ${if cfg.strictModes then "yes" else "no"}
 
diff --git a/nixpkgs/nixos/modules/services/networking/syncplay.nix b/nixpkgs/nixos/modules/services/networking/syncplay.nix
index e3147c10502c..27a16fb2e29f 100644
--- a/nixpkgs/nixos/modules/services/networking/syncplay.nix
+++ b/nixpkgs/nixos/modules/services/networking/syncplay.nix
@@ -21,7 +21,7 @@ in
       };
 
       port = mkOption {
-        type = types.int;
+        type = types.port;
         default = 8999;
         description = ''
           TCP port to bind to.
diff --git a/nixpkgs/nixos/modules/services/networking/syncthing.nix b/nixpkgs/nixos/modules/services/networking/syncthing.nix
index 28348c7893a0..ebe4d89a0e7f 100644
--- a/nixpkgs/nixos/modules/services/networking/syncthing.nix
+++ b/nixpkgs/nixos/modules/services/networking/syncthing.nix
@@ -5,15 +5,16 @@ with lib;
 let
   cfg = config.services.syncthing;
   defaultUser = "syncthing";
+  defaultGroup = defaultUser;
 
   devices = mapAttrsToList (name: device: {
     deviceID = device.id;
-    inherit (device) name addresses introducer;
-  }) cfg.declarative.devices;
+    inherit (device) name addresses introducer autoAcceptFolders;
+  }) cfg.devices;
 
   folders = mapAttrsToList ( _: folder: {
     inherit (folder) path id label type;
-    devices = map (device: { deviceId = cfg.declarative.devices.${device}.id; }) folder.devices;
+    devices = map (device: { deviceId = cfg.devices.${device}.id; }) folder.devices;
     rescanIntervalS = folder.rescanInterval;
     fsWatcherEnabled = folder.watch;
     fsWatcherDelayS = folder.watchDelay;
@@ -23,215 +24,227 @@ let
   }) (filterAttrs (
     _: folder:
     folder.enable
-  ) cfg.declarative.folders);
-
-  # get the api key by parsing the config.xml
-  getApiKey = pkgs.writers.writeDash "getAPIKey" ''
-    ${pkgs.libxml2}/bin/xmllint \
-      --xpath 'string(configuration/gui/apikey)'\
-      ${cfg.configDir}/config.xml
-  '';
+  ) cfg.folders);
 
   updateConfig = pkgs.writers.writeDash "merge-syncthing-config" ''
     set -efu
-    # wait for syncthing port to open
-    until ${pkgs.curl}/bin/curl -Ss ${cfg.guiAddress} -o /dev/null; do
-      sleep 1
-    done
-
-    API_KEY=$(${getApiKey})
-    OLD_CFG=$(${pkgs.curl}/bin/curl -Ss \
-      -H "X-API-Key: $API_KEY" \
-      ${cfg.guiAddress}/rest/system/config)
-
-    # generate the new config by merging with the nixos config options
-    NEW_CFG=$(echo "$OLD_CFG" | ${pkgs.jq}/bin/jq -s '.[] as $in | $in * {
-      "devices": (${builtins.toJSON devices}${optionalString (! cfg.declarative.overrideDevices) " + $in.devices"}),
-      "folders": (${builtins.toJSON folders}${optionalString (! cfg.declarative.overrideFolders) " + $in.folders"})
-    }')
-
-    # POST the new config to syncthing
-    echo "$NEW_CFG" | ${pkgs.curl}/bin/curl -Ss \
-      -H "X-API-Key: $API_KEY" \
-      ${cfg.guiAddress}/rest/system/config -d @-
-
-    # restart syncthing after sending the new config
-    ${pkgs.curl}/bin/curl -Ss \
-      -H "X-API-Key: $API_KEY" \
-      -X POST \
-      ${cfg.guiAddress}/rest/system/restart
+
+    # get the api key by parsing the config.xml
+    while
+        ! api_key=$(${pkgs.libxml2}/bin/xmllint \
+            --xpath 'string(configuration/gui/apikey)' \
+            ${cfg.configDir}/config.xml)
+    do sleep 1; done
+
+    curl() {
+        ${pkgs.curl}/bin/curl -sSLk -H "X-API-Key: $api_key" \
+            --retry 1000 --retry-delay 1 --retry-all-errors \
+            "$@"
+    }
+
+    # query the old config
+    old_cfg=$(curl ${cfg.guiAddress}/rest/config)
+
+    # generate the new config by merging with the NixOS config options
+    new_cfg=$(printf '%s\n' "$old_cfg" | ${pkgs.jq}/bin/jq -c '. * {
+        "devices": (${builtins.toJSON devices}${optionalString (! cfg.overrideDevices) " + .devices"}),
+        "folders": (${builtins.toJSON folders}${optionalString (! cfg.overrideFolders) " + .folders"})
+    } * ${builtins.toJSON cfg.extraOptions}')
+
+    # send the new config
+    curl -X PUT -d "$new_cfg" ${cfg.guiAddress}/rest/config
+
+    # restart Syncthing if required
+    if curl ${cfg.guiAddress}/rest/config/restart-required |
+       ${pkgs.jq}/bin/jq -e .requiresRestart > /dev/null; then
+        curl -X POST ${cfg.guiAddress}/rest/system/restart
+    fi
   '';
 in {
   ###### interface
   options = {
     services.syncthing = {
 
-      enable = mkEnableOption ''
-        Syncthing - the self-hosted open-source alternative
-        to Dropbox and Bittorrent Sync. Initial interface will be
-        available on http://127.0.0.1:8384/.
-      '';
-
-      declarative = {
-        cert = mkOption {
-          type = types.nullOr types.str;
-          default = null;
-          description = ''
-            Path to users cert.pem file, will be copied into the syncthing's
-            <literal>configDir</literal>
-          '';
-        };
+      enable = mkEnableOption
+        "Syncthing, a self-hosted open-source alternative to Dropbox and Bittorrent Sync";
 
-        key = mkOption {
-          type = types.nullOr types.str;
-          default = null;
-          description = ''
-            Path to users key.pem file, will be copied into the syncthing's
-            <literal>configDir</literal>
-          '';
-        };
+      cert = mkOption {
+        type = types.nullOr types.str;
+        default = null;
+        description = ''
+          Path to the <literal>cert.pem</literal> file, which will be copied into Syncthing's
+          <link linkend="opt-services.syncthing.configDir">configDir</link>.
+        '';
+      };
 
-        overrideDevices = mkOption {
-          type = types.bool;
-          default = true;
-          description = ''
-            Whether to delete the devices which are not configured via the
-            <literal>declarative.devices</literal> option.
-            If set to false, devices added via the webinterface will
-            persist but will have to be deleted manually.
-          '';
+      key = mkOption {
+        type = types.nullOr types.str;
+        default = null;
+        description = ''
+          Path to the <literal>key.pem</literal> file, which will be copied into Syncthing's
+          <link linkend="opt-services.syncthing.configDir">configDir</link>.
+        '';
+      };
+
+      overrideDevices = mkOption {
+        type = types.bool;
+        default = true;
+        description = ''
+          Whether to delete the devices which are not configured via the
+          <link linkend="opt-services.syncthing.devices">devices</link> option.
+          If set to <literal>false</literal>, devices added via the web
+          interface will persist and will have to be deleted manually.
+        '';
+      };
+
+      devices = mkOption {
+        default = {};
+        description = ''
+          Peers/devices which Syncthing should communicate with.
+
+          Note that you can still add devices manually, but those changes
+          will be reverted on restart if <link linkend="opt-services.syncthing.overrideDevices">overrideDevices</link>
+          is enabled.
+        '';
+        example = {
+          bigbox = {
+            id = "7CFNTQM-IMTJBHJ-3UWRDIU-ZGQJFR6-VCXZ3NB-XUH3KZO-N52ITXR-LAIYUAU";
+            addresses = [ "tcp://192.168.0.10:51820" ];
+          };
         };
+        type = types.attrsOf (types.submodule ({ name, ... }: {
+          options = {
+
+            name = mkOption {
+              type = types.str;
+              default = name;
+              description = ''
+                The name of the device.
+              '';
+            };
 
-        devices = mkOption {
-          default = {};
-          description = ''
-            Peers/devices which syncthing should communicate with.
-          '';
-          example = {
-            bigbox = {
-              id = "7CFNTQM-IMTJBHJ-3UWRDIU-ZGQJFR6-VCXZ3NB-XUH3KZO-N52ITXR-LAIYUAU";
-              addresses = [ "tcp://192.168.0.10:51820" ];
+            addresses = mkOption {
+              type = types.listOf types.str;
+              default = [];
+              description = ''
+                The addresses used to connect to the device.
+                If this is left empty, dynamic configuration is attempted.
+              '';
+            };
+
+            id = mkOption {
+              type = types.str;
+              description = ''
+                The device ID. See <link xlink:href="https://docs.syncthing.net/dev/device-ids.html"/>.
+              '';
+            };
+
+            introducer = mkOption {
+              type = types.bool;
+              default = false;
+              description = ''
+                Whether the device should act as an introducer and be allowed
+                to add folders on this computer.
+                See <link xlink:href="https://docs.syncthing.net/users/introducer.html"/>.
+              '';
             };
+
+            autoAcceptFolders = mkOption {
+              type = types.bool;
+              default = false;
+              description = ''
+                Automatically create or share folders that this device advertises at the default path.
+                See <link xlink:href="https://docs.syncthing.net/users/config.html?highlight=autoaccept#config-file-format"/>.
+              '';
+            };
+
           };
-          type = types.attrsOf (types.submodule ({ name, ... }: {
-            options = {
-
-              name = mkOption {
-                type = types.str;
-                default = name;
-                description = ''
-                  Name of the device
-                '';
-              };
-
-              addresses = mkOption {
-                type = types.listOf types.str;
-                default = [];
-                description = ''
-                  The addresses used to connect to the device.
-                  If this is let empty, dynamic configuration is attempted
-                '';
-              };
-
-              id = mkOption {
-                type = types.str;
-                description = ''
-                  The id of the other peer, this is mandatory. It's documented at
-                  https://docs.syncthing.net/dev/device-ids.html
-                '';
-              };
-
-              introducer = mkOption {
-                type = types.bool;
-                default = false;
-                description = ''
-                  If the device should act as an introducer and be allowed
-                  to add folders on this computer.
-                '';
-              };
+        }));
+      };
 
+      overrideFolders = mkOption {
+        type = types.bool;
+        default = true;
+        description = ''
+          Whether to delete the folders which are not configured via the
+          <link linkend="opt-services.syncthing.folders">folders</link> option.
+          If set to <literal>false</literal>, folders added via the web
+          interface will persist and will have to be deleted manually.
+        '';
+      };
+
+      folders = mkOption {
+        default = {};
+        description = ''
+          Folders which should be shared by Syncthing.
+
+          Note that you can still add devices manually, but those changes
+          will be reverted on restart if <link linkend="opt-services.syncthing.overrideDevices">overrideDevices</link>
+          is enabled.
+        '';
+        example = literalExample ''
+          {
+            "/home/user/sync" = {
+              id = "syncme";
+              devices = [ "bigbox" ];
+            };
+          }
+        '';
+        type = types.attrsOf (types.submodule ({ name, ... }: {
+          options = {
+
+            enable = mkOption {
+              type = types.bool;
+              default = true;
+              description = ''
+                Whether to share this folder.
+                This option is useful when you want to define all folders
+                in one place, but not every machine should share all folders.
+              '';
             };
-          }));
-        };
 
-        overrideFolders = mkOption {
-          type = types.bool;
-          default = true;
-          description = ''
-            Whether to delete the folders which are not configured via the
-            <literal>declarative.folders</literal> option.
-            If set to false, folders added via the webinterface will persist
-            but will have to be deleted manually.
-          '';
-        };
+            path = mkOption {
+              type = types.str;
+              default = name;
+              description = ''
+                The path to the folder which should be shared.
+              '';
+            };
 
-        folders = mkOption {
-          default = {};
-          description = ''
-            folders which should be shared by syncthing.
-          '';
-          example = literalExample ''
-            {
-              "/home/user/sync" = {
-                id = "syncme";
-                devices = [ "bigbox" ];
-              };
-            }
-          '';
-          type = types.attrsOf (types.submodule ({ name, ... }: {
-            options = {
-
-              enable = mkOption {
-                type = types.bool;
-                default = true;
-                description = ''
-                  share this folder.
-                  This option is useful when you want to define all folders
-                  in one place, but not every machine should share all folders.
-                '';
-              };
-
-              path = mkOption {
-                type = types.str;
-                default = name;
-                description = ''
-                  The path to the folder which should be shared.
-                '';
-              };
-
-              id = mkOption {
-                type = types.str;
-                default = name;
-                description = ''
-                  The id of the folder. Must be the same on all devices.
-                '';
-              };
-
-              label = mkOption {
-                type = types.str;
-                default = name;
-                description = ''
-                  The label of the folder.
-                '';
-              };
-
-              devices = mkOption {
-                type = types.listOf types.str;
-                default = [];
-                description = ''
-                  The devices this folder should be shared with. Must be defined
-                  in the <literal>declarative.devices</literal> attribute.
-                '';
-              };
-
-              versioning = mkOption {
-                default = null;
-                description = ''
-                  How to keep changed/deleted files with syncthing.
-                  There are 4 different types of versioning with different parameters.
-                  See https://docs.syncthing.net/users/versioning.html
-                '';
-                example = [
+            id = mkOption {
+              type = types.str;
+              default = name;
+              description = ''
+                The ID of the folder. Must be the same on all devices.
+              '';
+            };
+
+            label = mkOption {
+              type = types.str;
+              default = name;
+              description = ''
+                The label of the folder.
+              '';
+            };
+
+            devices = mkOption {
+              type = types.listOf types.str;
+              default = [];
+              description = ''
+                The devices this folder should be shared with. Each device must
+                be defined in the <link linkend="opt-services.syncthing.devices">devices</link> option.
+              '';
+            };
+
+            versioning = mkOption {
+              default = null;
+              description = ''
+                How to keep changed/deleted files with Syncthing.
+                There are 4 different types of versioning with different parameters.
+                See <link xlink:href="https://docs.syncthing.net/users/versioning.html"/>.
+              '';
+              example = literalExample ''
+                [
                   {
                     versioning = {
                       type = "simple";
@@ -257,87 +270,99 @@ in {
                   {
                     versioning = {
                       type = "external";
-                      params.versionsPath = pkgs.writers.writeBash "backup" ''
+                      params.versionsPath = pkgs.writers.writeBash "backup" '''
                         folderpath="$1"
                         filepath="$2"
                         rm -rf "$folderpath/$filepath"
-                      '';
+                      ''';
                     };
                   }
-                ];
-                type = with types; nullOr (submodule {
-                  options = {
-                    type = mkOption {
-                      type = enum [ "external" "simple" "staggered" "trashcan" ];
-                      description = ''
-                        Type of versioning.
-                        See https://docs.syncthing.net/users/versioning.html
-                      '';
-                    };
-                    params = mkOption {
-                      type = attrsOf (either str path);
-                      description = ''
-                        Parameters for versioning. Structure depends on versioning.type.
-                        See https://docs.syncthing.net/users/versioning.html
-                      '';
-                    };
+                ]
+              '';
+              type = with types; nullOr (submodule {
+                options = {
+                  type = mkOption {
+                    type = enum [ "external" "simple" "staggered" "trashcan" ];
+                    description = ''
+                      The type of versioning.
+                      See <link xlink:href="https://docs.syncthing.net/users/versioning.html"/>.
+                    '';
+                  };
+                  params = mkOption {
+                    type = attrsOf (either str path);
+                    description = ''
+                      The parameters for versioning. Structure depends on
+                      <link linkend="opt-services.syncthing.folders._name_.versioning.type">versioning.type</link>.
+                      See <link xlink:href="https://docs.syncthing.net/users/versioning.html"/>.
+                    '';
                   };
-                });
-              };
-
-              rescanInterval = mkOption {
-                type = types.int;
-                default = 3600;
-                description = ''
-                  How often the folders should be rescaned for changes.
-                '';
-              };
-
-              type = mkOption {
-                type = types.enum [ "sendreceive" "sendonly" "receiveonly" ];
-                default = "sendreceive";
-                description = ''
-                  Whether to send only changes from this folder, only receive them
-                  or propagate both.
-                '';
-              };
-
-              watch = mkOption {
-                type = types.bool;
-                default = true;
-                description = ''
-                  Whether the folder should be watched for changes by inotify.
-                '';
-              };
-
-              watchDelay = mkOption {
-                type = types.int;
-                default = 10;
-                description = ''
-                  The delay after an inotify event is triggered.
-                '';
-              };
-
-              ignorePerms = mkOption {
-                type = types.bool;
-                default = true;
-                description = ''
-                  Whether to propagate permission changes.
-                '';
-              };
-
-              ignoreDelete = mkOption {
-                type = types.bool;
-                default = false;
-                description = ''
-                  Whether to delete files in destination. See <link
-                  xlink:href="https://docs.syncthing.net/advanced/folder-ignoredelete.html">
-                  upstream's docs</link>.
-                '';
-              };
+                };
+              });
+            };
+
+            rescanInterval = mkOption {
+              type = types.int;
+              default = 3600;
+              description = ''
+                How often the folder should be rescanned for changes.
+              '';
+            };
 
+            type = mkOption {
+              type = types.enum [ "sendreceive" "sendonly" "receiveonly" ];
+              default = "sendreceive";
+              description = ''
+                Whether to only send changes for this folder, only receive them
+                or both.
+              '';
             };
-          }));
+
+            watch = mkOption {
+              type = types.bool;
+              default = true;
+              description = ''
+                Whether the folder should be watched for changes by inotify.
+              '';
+            };
+
+            watchDelay = mkOption {
+              type = types.int;
+              default = 10;
+              description = ''
+                The delay after an inotify event is triggered.
+              '';
+            };
+
+            ignorePerms = mkOption {
+              type = types.bool;
+              default = true;
+              description = ''
+                Whether to ignore permission changes.
+              '';
+            };
+
+            ignoreDelete = mkOption {
+              type = types.bool;
+              default = false;
+              description = ''
+                Whether to skip deleting files that are deleted by peers.
+                See <link xlink:href="https://docs.syncthing.net/advanced/folder-ignoredelete.html"/>.
+              '';
+            };
+          };
+        }));
+      };
+
+      extraOptions = mkOption {
+        type = types.addCheck (pkgs.formats.json {}).type isAttrs;
+        default = {};
+        description = ''
+          Extra configuration options for Syncthing.
+          See <link xlink:href="https://docs.syncthing.net/users/config.html"/>.
+        '';
+        example = {
+          options.localAnnounceEnabled = false;
+          gui.theme = "black";
         };
       };
 
@@ -345,31 +370,35 @@ in {
         type = types.str;
         default = "127.0.0.1:8384";
         description = ''
-          Address to serve the GUI.
+          The address to serve the web interface at.
         '';
       };
 
       systemService = mkOption {
         type = types.bool;
         default = true;
-        description = "Auto launch Syncthing as a system service.";
+        description = ''
+          Whether to auto-launch Syncthing as a system service.
+        '';
       };
 
       user = mkOption {
         type = types.str;
         default = defaultUser;
+        example = "yourUser";
         description = ''
-          Syncthing will be run under this user (user will be created if it doesn't exist.
-          This can be your user name).
+          The user to run Syncthing as.
+          By default, a user named <literal>${defaultUser}</literal> will be created.
         '';
       };
 
       group = mkOption {
         type = types.str;
-        default = defaultUser;
+        default = defaultGroup;
+        example = "yourGroup";
         description = ''
-          Syncthing will be run under this group (group will not be created if it doesn't exist.
-          This can be your user name).
+          The group to run Syncthing under.
+          By default, a group named <literal>${defaultGroup}</literal> will be created.
         '';
       };
 
@@ -378,63 +407,76 @@ in {
         default = null;
         example = "socks5://address.com:1234";
         description = ''
-          Overwrites all_proxy environment variable for the syncthing process to
-          the given value. This is normaly used to let relay client connect
-          through SOCKS5 proxy server.
+          Overwrites the all_proxy environment variable for the Syncthing process to
+          the given value. This is normally used to let Syncthing connect
+          through a SOCKS5 proxy server.
+          See <link xlink:href="https://docs.syncthing.net/users/proxying.html"/>.
         '';
       };
 
       dataDir = mkOption {
         type = types.path;
         default = "/var/lib/syncthing";
+        example = "/home/yourUser";
         description = ''
-          Path where synced directories will exist.
+          The path where synchronised directories will exist.
         '';
       };
 
-      configDir = mkOption {
+      configDir = let
+        cond = versionAtLeast config.system.stateVersion "19.03";
+      in mkOption {
         type = types.path;
         description = ''
-          Path where the settings and keys will exist.
+          The path where the settings and keys will exist.
+        '';
+        default = cfg.dataDir + (optionalString cond "/.config/syncthing");
+        defaultText = literalExample "dataDir${optionalString cond " + \"/.config/syncthing\""}";
+      };
+
+      extraFlags = mkOption {
+        type = types.listOf types.str;
+        default = [];
+        example = [ "--reset-deltas" ];
+        description = ''
+          Extra flags passed to the syncthing command in the service definition.
         '';
-        default =
-          let
-            nixos = config.system.stateVersion;
-            cond  = versionAtLeast nixos "19.03";
-          in cfg.dataDir + (optionalString cond "/.config/syncthing");
       };
 
       openDefaultPorts = mkOption {
         type = types.bool;
         default = false;
-        example = literalExample "true";
+        example = true;
         description = ''
-          Open the default ports in the firewall:
-            - TCP 22000 for transfers
-            - UDP 21027 for discovery
-          If multiple users are running syncthing on this machine, you will need to manually open a set of ports for each instance and leave this disabled.
-          Alternatively, if are running only a single instance on this machine using the default ports, enable this.
+          Whether to open the default ports in the firewall: TCP 22000 for transfers
+          and UDP 21027 for discovery.
+
+          If multiple users are running Syncthing on this machine, you will need
+          to manually open a set of ports for each instance and leave this disabled.
+          Alternatively, if you are running only a single instance on this machine
+          using the default ports, enable this.
         '';
       };
 
       package = mkOption {
         type = types.package;
         default = pkgs.syncthing;
-        defaultText = "pkgs.syncthing";
-        example = literalExample "pkgs.syncthing";
+        defaultText = literalExample "pkgs.syncthing";
         description = ''
-          Syncthing package to use.
+          The Syncthing package to use.
         '';
       };
     };
   };
 
   imports = [
-    (mkRemovedOptionModule ["services" "syncthing" "useInotify"] ''
-      This option was removed because syncthing now has the inotify functionality included under the name "fswatcher".
-      It can be enabled on a per-folder basis through the webinterface.
+    (mkRemovedOptionModule [ "services" "syncthing" "useInotify" ] ''
+      This option was removed because Syncthing now has the inotify functionality included under the name "fswatcher".
+      It can be enabled on a per-folder basis through the web interface.
     '')
-  ];
+  ] ++ map (o:
+    mkRenamedOptionModule [ "services" "syncthing" "declarative" o ] [ "services" "syncthing" o ]
+  ) [ "cert" "key" "devices" "folders" "overrideDevices" "overrideFolders" "extraOptions"];
 
   ###### implementation
 
@@ -457,8 +499,8 @@ in {
         };
     };
 
-    users.groups = mkIf (cfg.systemService && cfg.group == defaultUser) {
-      ${defaultUser}.gid =
+    users.groups = mkIf (cfg.systemService && cfg.group == defaultGroup) {
+      ${defaultGroup}.gid =
         config.ids.gids.syncthing;
     };
 
@@ -478,14 +520,14 @@ in {
           RestartForceExitStatus="3 4";
           User = cfg.user;
           Group = cfg.group;
-          ExecStartPre = mkIf (cfg.declarative.cert != null || cfg.declarative.key != null)
+          ExecStartPre = mkIf (cfg.cert != null || cfg.key != null)
             "+${pkgs.writers.writeBash "syncthing-copy-keys" ''
               install -dm700 -o ${cfg.user} -g ${cfg.group} ${cfg.configDir}
-              ${optionalString (cfg.declarative.cert != null) ''
-                install -Dm400 -o ${cfg.user} -g ${cfg.group} ${toString cfg.declarative.cert} ${cfg.configDir}/cert.pem
+              ${optionalString (cfg.cert != null) ''
+                install -Dm400 -o ${cfg.user} -g ${cfg.group} ${toString cfg.cert} ${cfg.configDir}/cert.pem
               ''}
-              ${optionalString (cfg.declarative.key != null) ''
-                install -Dm400 -o ${cfg.user} -g ${cfg.group} ${toString cfg.declarative.key} ${cfg.configDir}/key.pem
+              ${optionalString (cfg.key != null) ''
+                install -Dm400 -o ${cfg.user} -g ${cfg.group} ${toString cfg.key} ${cfg.configDir}/key.pem
               ''}
             ''}"
           ;
@@ -493,7 +535,7 @@ in {
             ${cfg.package}/bin/syncthing \
               -no-browser \
               -gui-address=${cfg.guiAddress} \
-              -home=${cfg.configDir}
+              -home=${cfg.configDir} ${escapeShellArgs cfg.extraFlags}
           '';
           MemoryDenyWriteExecute = true;
           NoNewPrivileges = true;
@@ -516,8 +558,10 @@ in {
         };
       };
       syncthing-init = mkIf (
-        cfg.declarative.devices != {} || cfg.declarative.folders != {}
+        cfg.devices != {} || cfg.folders != {} || cfg.extraOptions != {}
       ) {
+        description = "Syncthing configuration updater";
+        requisite = [ "syncthing.service" ];
         after = [ "syncthing.service" ];
         wantedBy = [ "multi-user.target" ];
 
diff --git a/nixpkgs/nixos/modules/services/networking/tinc.nix b/nixpkgs/nixos/modules/services/networking/tinc.nix
index b6afd83a9abd..22caf9f4ec56 100644
--- a/nixpkgs/nixos/modules/services/networking/tinc.nix
+++ b/nixpkgs/nixos/modules/services/networking/tinc.nix
@@ -351,7 +351,7 @@ in
 
   config = mkIf (cfg.networks != { }) {
 
-    environment.etc = fold (a: b: a // b) { }
+    environment.etc = foldr (a: b: a // b) { }
       (flip mapAttrsToList cfg.networks (network: data:
         flip mapAttrs' data.hosts (host: text: nameValuePair
           ("tinc/${network}/hosts/${host}")
@@ -427,9 +427,12 @@ in
       nameValuePair ("tinc.${network}") ({
         description = "Tinc daemon user for ${network}";
         isSystemUser = true;
+        group = "tinc.${network}";
       })
     );
-
+    users.groups = flip mapAttrs' cfg.networks (network: _:
+      nameValuePair "tinc.${network}" {}
+    );
   };
 
   meta.maintainers = with maintainers; [ minijackson ];
diff --git a/nixpkgs/nixos/modules/services/networking/unifi.nix b/nixpkgs/nixos/modules/services/networking/unifi.nix
index 62bcf7a14972..2e320378cc9a 100644
--- a/nixpkgs/nixos/modules/services/networking/unifi.nix
+++ b/nixpkgs/nixos/modules/services/networking/unifi.nix
@@ -173,6 +173,41 @@ in
         User = "unifi";
         UMask = "0077";
         WorkingDirectory = "${stateDir}";
+
+        # Hardening
+        AmbientCapabilities = "";
+        CapabilityBoundingSet = "";
+        # ProtectClock= adds DeviceAllow=char-rtc r
+        DeviceAllow = "";
+        DevicePolicy = "closed";
+        LockPersonality = true;
+        NoNewPrivileges = true;
+        PrivateDevices = true;
+        PrivateMounts = true;
+        PrivateTmp = true;
+        PrivateUsers = true;
+        ProtectClock = true;
+        ProtectControlGroups = true;
+        ProtectHome = true;
+        ProtectHostname = true;
+        ProtectKernelLogs = true;
+        ProtectKernelModules = true;
+        ProtectKernelTunables = true;
+        ProtectSystem = "strict";
+        RemoveIPC = true;
+        RestrictNamespaces = true;
+        RestrictRealtime = true;
+        RestrictSUIDSGID = true;
+        SystemCallErrorNumber = "EPERM";
+        SystemCallFilter = [ "@system-service" ];
+
+        # Required for ProtectSystem=strict
+        BindPaths = [ stateDir ];
+
+        # Needs network access
+        PrivateNetwork = false;
+        # Cannot be true due to OpenJDK
+        MemoryDenyWriteExecute = false;
       };
     };
 
diff --git a/nixpkgs/nixos/modules/services/networking/v2ray.nix b/nixpkgs/nixos/modules/services/networking/v2ray.nix
index 6a924a16449a..0b8b5b56e25b 100644
--- a/nixpkgs/nixos/modules/services/networking/v2ray.nix
+++ b/nixpkgs/nixos/modules/services/networking/v2ray.nix
@@ -25,7 +25,7 @@ with lib;
 
           Either <literal>configFile</literal> or <literal>config</literal> must be specified.
 
-          See <link xlink:href="https://v2ray.com/en/configuration/overview.html"/>.
+          See <link xlink:href="https://www.v2fly.org/en_US/config/overview.html"/>.
         '';
       };
 
@@ -47,7 +47,7 @@ with lib;
 
           Either `configFile` or `config` must be specified.
 
-          See <link xlink:href="https://v2ray.com/en/configuration/overview.html"/>.
+          See <link xlink:href="https://www.v2fly.org/en_US/config/overview.html"/>.
         '';
       };
     };
diff --git a/nixpkgs/nixos/modules/services/networking/wakeonlan.nix b/nixpkgs/nixos/modules/services/networking/wakeonlan.nix
index 35ff67937fc7..c6291366b0f1 100644
--- a/nixpkgs/nixos/modules/services/networking/wakeonlan.nix
+++ b/nixpkgs/nixos/modules/services/networking/wakeonlan.nix
@@ -19,7 +19,7 @@ let
     ${ethtool} -s ${interface} ${methodParameter {inherit method password;}}
   '';
 
-  concatStrings = fold (x: y: x + y) "";
+  concatStrings = foldr (x: y: x + y) "";
   lines = concatStrings (map (l: line l) interfaces);
 
 in
@@ -31,6 +31,20 @@ in
 
     services.wakeonlan.interfaces = mkOption {
       default = [ ];
+      type = types.listOf (types.submodule { options = {
+        interface = mkOption {
+          type = types.str;
+          description = "Interface to enable for Wake-On-Lan.";
+        };
+        method = mkOption {
+          type = types.enum [ "magicpacket" "password"];
+          description = "Wake-On-Lan method for this interface.";
+        };
+        password = mkOption {
+          type = types.strMatching "[a-fA-F0-9]{2}:([a-fA-F0-9]{2}:){4}[a-fA-F0-9]{2}";
+          description = "The password has the shape of six bytes in hexadecimal separated by a colon each.";
+        };
+      };});
       example = [
         {
           interface = "eth0";
diff --git a/nixpkgs/nixos/modules/services/networking/wpa_supplicant.nix b/nixpkgs/nixos/modules/services/networking/wpa_supplicant.nix
index c0a4ce40760a..155c6fdd0ab0 100644
--- a/nixpkgs/nixos/modules/services/networking/wpa_supplicant.nix
+++ b/nixpkgs/nixos/modules/services/networking/wpa_supplicant.nix
@@ -8,28 +8,108 @@ let
     else pkgs.wpa_supplicant;
 
   cfg = config.networking.wireless;
-  configFile = if cfg.networks != {} || cfg.extraConfig != "" || cfg.userControlled.enable then pkgs.writeText "wpa_supplicant.conf" ''
-    ${optionalString cfg.userControlled.enable ''
-      ctrl_interface=DIR=/run/wpa_supplicant GROUP=${cfg.userControlled.group}
-      update_config=1''}
-    ${cfg.extraConfig}
-    ${concatStringsSep "\n" (mapAttrsToList (ssid: config: with config; let
-      key = if psk != null
-        then ''"${psk}"''
-        else pskRaw;
-      baseAuth = if key != null
-        then "psk=${key}"
-        else "key_mgmt=NONE";
-    in ''
-      network={
-        ssid="${ssid}"
-        ${optionalString (priority != null) ''priority=${toString priority}''}
-        ${optionalString hidden "scan_ssid=1"}
-        ${if (auth != null) then auth else baseAuth}
-        ${extraConfig}
-      }
-    '') cfg.networks)}
-  '' else "/etc/wpa_supplicant.conf";
+
+  # Content of wpa_supplicant.conf
+  generatedConfig = concatStringsSep "\n" (
+    (mapAttrsToList mkNetwork cfg.networks)
+    ++ optional cfg.userControlled.enable (concatStringsSep "\n"
+      [ "ctrl_interface=/run/wpa_supplicant"
+        "ctrl_interface_group=${cfg.userControlled.group}"
+        "update_config=1"
+      ])
+    ++ optional cfg.scanOnLowSignal ''bgscan="simple:30:-70:3600"''
+    ++ optional (cfg.extraConfig != "") cfg.extraConfig);
+
+  configFile =
+    if cfg.networks != {} || cfg.extraConfig != "" || cfg.userControlled.enable
+      then pkgs.writeText "wpa_supplicant.conf" generatedConfig
+      else "/etc/wpa_supplicant.conf";
+
+  # Creates a network block for wpa_supplicant.conf
+  mkNetwork = ssid: opts:
+  let
+    quote = x: ''"${x}"'';
+    indent = x: "  " + x;
+
+    pskString = if opts.psk != null
+      then quote opts.psk
+      else opts.pskRaw;
+
+    options = [
+      "ssid=${quote ssid}"
+      (if pskString != null || opts.auth != null
+        then "key_mgmt=${concatStringsSep " " opts.authProtocols}"
+        else "key_mgmt=NONE")
+    ] ++ optional opts.hidden "scan_ssid=1"
+      ++ optional (pskString != null) "psk=${pskString}"
+      ++ optionals (opts.auth != null) (filter (x: x != "") (splitString "\n" opts.auth))
+      ++ optional (opts.priority != null) "priority=${toString opts.priority}"
+      ++ optional (opts.extraConfig != "") opts.extraConfig;
+  in ''
+    network={
+    ${concatMapStringsSep "\n" indent options}
+    }
+  '';
+
+  # Creates a systemd unit for wpa_supplicant bound to a given (or any) interface
+  mkUnit = iface:
+    let
+      deviceUnit = optional (iface != null) "sys-subsystem-net-devices-${utils.escapeSystemdPath iface}.device";
+      configStr = if cfg.allowAuxiliaryImperativeNetworks
+        then "-c /etc/wpa_supplicant.conf -I ${configFile}"
+        else "-c ${configFile}";
+    in {
+      description = "WPA Supplicant instance" + optionalString (iface != null) " for interface ${iface}";
+
+      after = deviceUnit;
+      before = [ "network.target" ];
+      wants = [ "network.target" ];
+      requires = deviceUnit;
+      wantedBy = [ "multi-user.target" ];
+      stopIfChanged = false;
+
+      path = [ package ];
+
+      script =
+      ''
+        if [ -f /etc/wpa_supplicant.conf -a "/etc/wpa_supplicant.conf" != "${configFile}" ]; then
+          echo >&2 "<3>/etc/wpa_supplicant.conf present but ignored. Generated ${configFile} is used instead."
+        fi
+
+        iface_args="-s ${optionalString cfg.dbusControlled "-u"} -D${cfg.driver} ${configStr}"
+
+        ${if iface == null then ''
+          # detect interfaces automatically
+
+          # check if there are no wireless interfaces
+          if ! find -H /sys/class/net/* -name wireless | grep -q .; then
+            # if so, wait until one appears
+            echo "Waiting for wireless interfaces"
+            grep -q '^ACTION=add' < <(stdbuf -oL -- udevadm monitor -s net/wlan -pu)
+            # Note: the above line has been carefully written:
+            # 1. The process substitution avoids udevadm hanging (after grep has quit)
+            #    until it tries to write to the pipe again. Not even pipefail works here.
+            # 2. stdbuf is needed because udevadm output is buffered by default and grep
+            #    may hang until more udev events enter the pipe.
+          fi
+
+          # add any interface found to the daemon arguments
+          for name in $(find -H /sys/class/net/* -name wireless | cut -d/ -f 5); do
+            echo "Adding interface $name"
+            args+="''${args:+ -N} -i$name $iface_args"
+          done
+        '' else ''
+          # add known interface to the daemon arguments
+          args="-i${iface} $iface_args"
+        ''}
+
+        # finally start daemon
+        exec wpa_supplicant $args
+      '';
+    };
+
+  systemctl = "/run/current-system/systemd/bin/systemctl";
+
 in {
   options = {
     networking.wireless = {
@@ -42,11 +122,10 @@ in {
         description = ''
           The interfaces <command>wpa_supplicant</command> will use. If empty, it will
           automatically use all wireless interfaces.
-          <warning><para>
-            The automatic discovery of interfaces does not work reliably on boot:
-            it may fail and leave the system without network. When possible, specify
-            a known interface name.
-          </para></warning>
+
+          <note><para>
+            A separate wpa_supplicant instance will be started for each interface.
+          </para></note>
         '';
       };
 
@@ -66,6 +145,16 @@ in {
         '';
       };
 
+      scanOnLowSignal = mkOption {
+        type = types.bool;
+        default = true;
+        description = ''
+          Whether to periodically scan for (better) networks when the signal of
+          the current one is low. This will make roaming between access points
+          faster, but will consume more power.
+        '';
+      };
+
       networks = mkOption {
         type = types.attrsOf (types.submodule {
           options = {
@@ -94,11 +183,52 @@ in {
               '';
             };
 
+            authProtocols = mkOption {
+              default = [
+                # WPA2 and WPA3
+                "WPA-PSK" "WPA-EAP" "SAE"
+                # 802.11r variants of the above
+                "FT-PSK" "FT-EAP" "FT-SAE"
+              ];
+              # The list can be obtained by running this command
+              # awk '
+              #   /^# key_mgmt: /{ run=1 }
+              #   /^#$/{ run=0 }
+              #   /^# [A-Z0-9-]{2,}/{ if(run){printf("\"%s\"\n", $2)} }
+              # ' /run/current-system/sw/share/doc/wpa_supplicant/wpa_supplicant.conf.example
+              type = types.listOf (types.enum [
+                "WPA-PSK"
+                "WPA-EAP"
+                "IEEE8021X"
+                "NONE"
+                "WPA-NONE"
+                "FT-PSK"
+                "FT-EAP"
+                "FT-EAP-SHA384"
+                "WPA-PSK-SHA256"
+                "WPA-EAP-SHA256"
+                "SAE"
+                "FT-SAE"
+                "WPA-EAP-SUITE-B"
+                "WPA-EAP-SUITE-B-192"
+                "OSEN"
+                "FILS-SHA256"
+                "FILS-SHA384"
+                "FT-FILS-SHA256"
+                "FT-FILS-SHA384"
+                "OWE"
+                "DPP"
+              ]);
+              description = ''
+                The list of authentication protocols accepted by this network.
+                This corresponds to the <literal>key_mgmt</literal> option in wpa_supplicant.
+              '';
+            };
+
             auth = mkOption {
               type = types.nullOr types.str;
               default = null;
               example = ''
-                key_mgmt=WPA-EAP
                 eap=PEAP
                 identity="user@example.com"
                 password="secret"
@@ -205,6 +335,16 @@ in {
           description = "Members of this group can control wpa_supplicant.";
         };
       };
+
+      dbusControlled = mkOption {
+        type = types.bool;
+        default = lib.length cfg.interfaces < 2;
+        description = ''
+          Whether to enable the DBus control interface.
+          This is only needed when using NetworkManager or connman.
+        '';
+      };
+
       extraConfig = mkOption {
         type = types.str;
         default = "";
@@ -228,73 +368,47 @@ in {
     assertions = flip mapAttrsToList cfg.networks (name: cfg: {
       assertion = with cfg; count (x: x != null) [ psk pskRaw auth ] <= 1;
       message = ''options networking.wireless."${name}".{psk,pskRaw,auth} are mutually exclusive'';
-    });
+    }) ++ [
+      {
+        assertion = length cfg.interfaces > 1 -> !cfg.dbusControlled;
+        message =
+          let daemon = if config.networking.networkmanager.enable then "NetworkManager" else
+                       if config.services.connman.enable then "connman" else null;
+              n = toString (length cfg.interfaces);
+          in ''
+            It's not possible to run multiple wpa_supplicant instances with DBus support.
+            Note: you're seeing this error because `networking.wireless.interfaces` has
+            ${n} entries, implying an equal number of wpa_supplicant instances.
+          '' + optionalString (daemon != null) ''
+            You don't need to change `networking.wireless.interfaces` when using ${daemon}:
+            in this case the interfaces will be configured automatically for you.
+          '';
+      }
+    ];
 
-    warnings =
-      optional (cfg.interfaces == [] && config.systemd.services.wpa_supplicant.wantedBy != [])
-      ''
-        No network interfaces for wpa_supplicant have been configured: the service
-        may randomly fail to start at boot. You should specify at least one using the option
-        networking.wireless.interfaces.
-      '';
+    hardware.wirelessRegulatoryDatabase = true;
 
     environment.systemPackages = [ package ];
-
-    services.dbus.packages = [ package ];
-    services.udev.packages = [ pkgs.crda ];
-
-    # FIXME: start a separate wpa_supplicant instance per interface.
-    systemd.services.wpa_supplicant = let
-      ifaces = cfg.interfaces;
-      deviceUnit = interface: [ "sys-subsystem-net-devices-${utils.escapeSystemdPath interface}.device" ];
-    in {
-      description = "WPA Supplicant";
-
-      after = lib.concatMap deviceUnit ifaces;
-      before = [ "network.target" ];
-      wants = [ "network.target" ];
-      requires = lib.concatMap deviceUnit ifaces;
-      wantedBy = [ "multi-user.target" ];
-      stopIfChanged = false;
-
-      path = [ package ];
-
-      script = let
-        configStr = if cfg.allowAuxiliaryImperativeNetworks
-          then "-c /etc/wpa_supplicant.conf -I ${configFile}"
-          else "-c ${configFile}";
-      in ''
-        if [ -f /etc/wpa_supplicant.conf -a "/etc/wpa_supplicant.conf" != "${configFile}" ]
-        then echo >&2 "<3>/etc/wpa_supplicant.conf present but ignored. Generated ${configFile} is used instead."
-        fi
-        iface_args="-s -u -D${cfg.driver} ${configStr}"
-        ${if ifaces == [] then ''
-          for i in $(cd /sys/class/net && echo *); do
-            DEVTYPE=
-            UEVENT_PATH=/sys/class/net/$i/uevent
-            if [ -e "$UEVENT_PATH" ]; then
-              source "$UEVENT_PATH"
-              if [ "$DEVTYPE" = "wlan" -o -e /sys/class/net/$i/wireless ]; then
-                args+="''${args:+ -N} -i$i $iface_args"
-              fi
-            fi
-          done
-        '' else ''
-          args="${concatMapStringsSep " -N " (i: "-i${i} $iface_args") ifaces}"
-        ''}
-        exec wpa_supplicant $args
-      '';
-    };
-
-    powerManagement.resumeCommands = ''
-      /run/current-system/systemd/bin/systemctl try-restart wpa_supplicant
-    '';
-
-    # Restart wpa_supplicant when a wlan device appears or disappears.
-    services.udev.extraRules = ''
-      ACTION=="add|remove", SUBSYSTEM=="net", ENV{DEVTYPE}=="wlan", RUN+="/run/current-system/systemd/bin/systemctl try-restart wpa_supplicant.service"
+    services.dbus.packages = optional cfg.dbusControlled package;
+
+    systemd.services =
+      if cfg.interfaces == []
+        then { wpa_supplicant = mkUnit null; }
+        else listToAttrs (map (i: nameValuePair "wpa_supplicant-${i}" (mkUnit i)) cfg.interfaces);
+
+    # Restart wpa_supplicant after resuming from sleep
+    powerManagement.resumeCommands = concatStringsSep "\n" (
+      optional (cfg.interfaces == []) "${systemctl} try-restart wpa_supplicant"
+      ++ map (i: "${systemctl} try-restart wpa_supplicant-${i}") cfg.interfaces
+    );
+
+    # Restart wpa_supplicant when a wlan device appears or disappears. This is
+    # only needed when an interface hasn't been specified by the user.
+    services.udev.extraRules = optionalString (cfg.interfaces == []) ''
+      ACTION=="add|remove", SUBSYSTEM=="net", ENV{DEVTYPE}=="wlan", \
+      RUN+="${systemctl} try-restart wpa_supplicant.service"
     '';
   };
 
-  meta.maintainers = with lib.maintainers; [ globin ];
+  meta.maintainers = with lib.maintainers; [ globin rnhmjoj ];
 }
diff --git a/nixpkgs/nixos/modules/services/networking/zeronet.nix b/nixpkgs/nixos/modules/services/networking/zeronet.nix
index f354a9d42c79..a34b2d871541 100644
--- a/nixpkgs/nixos/modules/services/networking/zeronet.nix
+++ b/nixpkgs/nixos/modules/services/networking/zeronet.nix
@@ -32,7 +32,7 @@ in with lib; {
     };
 
     port = mkOption {
-      type = types.int;
+      type = types.port;
       default = 43110;
       example = 43110;
       description = "Optional zeronet web UI port.";
@@ -41,7 +41,7 @@ in with lib; {
     fileserverPort = mkOption {
       # Not optional: when absent zeronet tries to write one to the
       # read-only config file and crashes
-      type = types.int;
+      type = types.port;
       default = 12261;
       example = 12261;
       description = "Zeronet fileserver port.";
diff --git a/nixpkgs/nixos/modules/services/search/elasticsearch.nix b/nixpkgs/nixos/modules/services/search/elasticsearch.nix
index 91d8f544e16b..440f34b3dc5c 100644
--- a/nixpkgs/nixos/modules/services/search/elasticsearch.nix
+++ b/nixpkgs/nixos/modules/services/search/elasticsearch.nix
@@ -5,8 +5,6 @@ with lib;
 let
   cfg = config.services.elasticsearch;
 
-  es6 = builtins.compareVersions cfg.package.version "6" >= 0;
-
   esConfig = ''
     network.host: ${cfg.listenAddress}
     cluster.name: ${cfg.cluster_name}
@@ -36,7 +34,8 @@ let
     postBuild = "${pkgs.coreutils}/bin/mkdir -p $out/plugins";
   };
 
-in {
+in
+{
 
   ###### interface
 
@@ -116,20 +115,20 @@ in {
 
     extraCmdLineOptions = mkOption {
       description = "Extra command line options for the elasticsearch launcher.";
-      default = [];
+      default = [ ];
       type = types.listOf types.str;
     };
 
     extraJavaOptions = mkOption {
       description = "Extra command line options for Java.";
-      default = [];
+      default = [ ];
       type = types.listOf types.str;
       example = [ "-Djava.net.preferIPv4Stack=true" ];
     };
 
     plugins = mkOption {
       description = "Extra elasticsearch plugins";
-      default = [];
+      default = [ ];
       type = types.listOf types.package;
       example = lib.literalExample "[ pkgs.elasticsearchPlugins.discovery-ec2 ]";
     };
@@ -146,9 +145,7 @@ in {
       path = [ pkgs.inetutils ];
       environment = {
         ES_HOME = cfg.dataDir;
-        ES_JAVA_OPTS = toString ( optional (!es6) [ "-Des.path.conf=${configDir}" ]
-                                  ++ cfg.extraJavaOptions);
-      } // optionalAttrs es6 {
+        ES_JAVA_OPTS = toString cfg.extraJavaOptions;
         ES_PATH_CONF = configDir;
       };
       serviceConfig = {
@@ -187,7 +184,10 @@ in {
         rm -f "${configDir}/logging.yml"
         cp ${loggingConfigFile} ${configDir}/${loggingConfigFilename}
         mkdir -p ${configDir}/scripts
-        ${optionalString es6 "cp ${cfg.package}/config/jvm.options ${configDir}/jvm.options"}
+        cp ${cfg.package}/config/jvm.options ${configDir}/jvm.options
+        # redirect jvm logs to the data directory
+        mkdir -m 0700 -p ${cfg.dataDir}/logs
+        ${pkgs.sd}/bin/sd 'logs/gc.log' '${cfg.dataDir}/logs/gc.log' ${configDir}/jvm.options \
 
         if [ "$(id -u)" = 0 ]; then chown -R elasticsearch:elasticsearch ${cfg.dataDir}; fi
       '';
diff --git a/nixpkgs/nixos/modules/services/system/uptimed.nix b/nixpkgs/nixos/modules/services/system/uptimed.nix
index 1e256c51408e..67a03876e19f 100644
--- a/nixpkgs/nixos/modules/services/system/uptimed.nix
+++ b/nixpkgs/nixos/modules/services/system/uptimed.nix
@@ -4,7 +4,7 @@ with lib;
 
 let
   cfg = config.services.uptimed;
-  stateDir = "/var/spool/uptimed";
+  stateDir = "/var/lib/uptimed";
 in
 {
   options = {
@@ -21,12 +21,16 @@ in
   };
 
   config = mkIf cfg.enable {
+
+    environment.systemPackages = [ pkgs.uptimed ];
+
     users.users.uptimed = {
       description = "Uptimed daemon user";
       home        = stateDir;
-      createHome  = true;
       uid         = config.ids.uids.uptimed;
+      group       = "uptimed";
     };
+    users.groups.uptimed = {};
 
     systemd.services.uptimed = {
       unitConfig.Documentation = "man:uptimed(8) man:uprecords(1)";
@@ -41,7 +45,7 @@ in
         PrivateTmp              = "yes";
         PrivateNetwork          = "yes";
         NoNewPrivileges         = "yes";
-        ReadWriteDirectories    = stateDir;
+        StateDirectory          = [ "uptimed" ];
         InaccessibleDirectories = "/home";
         ExecStart               = "${pkgs.uptimed}/sbin/uptimed -f -p ${stateDir}/pid";
       };
diff --git a/nixpkgs/nixos/modules/services/torrent/deluge.nix b/nixpkgs/nixos/modules/services/torrent/deluge.nix
index 7ca4fdcf64d4..151a1dd638d1 100644
--- a/nixpkgs/nixos/modules/services/torrent/deluge.nix
+++ b/nixpkgs/nixos/modules/services/torrent/deluge.nix
@@ -149,7 +149,7 @@ in {
 
         package = mkOption {
           type = types.package;
-          example = literalExample "pkgs.deluge-1_x";
+          example = literalExample "pkgs.deluge-2_x";
           description = ''
             Deluge package to use.
           '';
@@ -184,6 +184,13 @@ in {
       if versionAtLeast config.system.stateVersion "20.09" then
         pkgs.deluge-2_x
       else
+        # deluge-1_x is no longer packaged and this will resolve to an error
+        # thanks to the alias for this name.  This is left here so that anyone
+        # using NixOS older than 20.09 receives that error when they upgrade
+        # and is forced to make an intentional choice to switch to deluge-2_x.
+        # That might be slightly inconvenient but there is no path to
+        # downgrade from 2.x to 1.x so NixOS should not automatically perform
+        # this state migration.
         pkgs.deluge-1_x
     );
 
diff --git a/nixpkgs/nixos/modules/services/video/replay-sorcery.nix b/nixpkgs/nixos/modules/services/video/replay-sorcery.nix
new file mode 100644
index 000000000000..d78e782c7968
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/video/replay-sorcery.nix
@@ -0,0 +1,70 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.replay-sorcery;
+  configFile = generators.toKeyValue {} cfg.settings;
+in
+{
+  options = with types; {
+    services.replay-sorcery = {
+      enable = mkEnableOption "the ReplaySorcery service for instant-replays";
+
+      enableSysAdminCapability = mkEnableOption ''
+        the system admin capability to support hardware accelerated
+        video capture. This is equivalent to running ReplaySorcery as
+        root, so use with caution'';
+
+      autoStart = mkOption {
+        type = bool;
+        default = false;
+        description = "Automatically start ReplaySorcery when graphical-session.target starts.";
+      };
+
+      settings = mkOption {
+        type = attrsOf (oneOf [ str int ]);
+        default = {};
+        description = "System-wide configuration for ReplaySorcery (/etc/replay-sorcery.conf).";
+        example = literalExample ''
+          {
+            videoInput = "hwaccel"; # requires `services.replay-sorcery.enableSysAdminCapability = true`
+            videoFramerate = 60;
+          }
+        '';
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    environment = {
+      systemPackages = [ pkgs.replay-sorcery ];
+      etc."replay-sorcery.conf".text = configFile;
+    };
+
+    security.wrappers = mkIf cfg.enableSysAdminCapability {
+      replay-sorcery = {
+        source = "${pkgs.replay-sorcery}/bin/replay-sorcery";
+        capabilities = "cap_sys_admin+ep";
+      };
+    };
+
+    systemd = {
+      packages = [ pkgs.replay-sorcery ];
+      user.services.replay-sorcery = {
+        wantedBy = mkIf cfg.autoStart [ "graphical-session.target" ];
+        partOf = mkIf cfg.autoStart [ "graphical-session.target" ];
+        serviceConfig = {
+          ExecStart = mkIf cfg.enableSysAdminCapability [
+            "" # Tell systemd to clear the existing ExecStart list, to prevent appending to it.
+            "${config.security.wrapperDir}/replay-sorcery"
+          ];
+        };
+      };
+    };
+  };
+
+  meta = {
+    maintainers = with maintainers; [ kira-bruneau ];
+  };
+}
diff --git a/nixpkgs/nixos/modules/services/wayland/cage.nix b/nixpkgs/nixos/modules/services/wayland/cage.nix
index 2e71abb69fc4..bd97a674eb86 100644
--- a/nixpkgs/nixos/modules/services/wayland/cage.nix
+++ b/nixpkgs/nixos/modules/services/wayland/cage.nix
@@ -82,7 +82,7 @@ in {
       auth    required pam_unix.so nullok
       account required pam_unix.so
       session required pam_unix.so
-      session required pam_env.so conffile=${config.system.build.pamEnvironment} readenv=0
+      session required pam_env.so conffile=/etc/pam/environment readenv=0
       session required ${pkgs.systemd}/lib/security/pam_systemd.so
     '';
 
diff --git a/nixpkgs/nixos/modules/services/web-apps/discourse.nix b/nixpkgs/nixos/modules/services/web-apps/discourse.nix
index 8d5302ba267b..050e4ee3d329 100644
--- a/nixpkgs/nixos/modules/services/web-apps/discourse.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/discourse.nix
@@ -771,7 +771,6 @@ in
           "tmp"
           "assets/javascripts/plugins"
           "public"
-          "plugins"
           "sockets"
         ];
         RuntimeDirectoryMode = 0750;
diff --git a/nixpkgs/nixos/modules/services/web-apps/discourse.xml b/nixpkgs/nixos/modules/services/web-apps/discourse.xml
index 1d6866e7b352..184c9c6363e5 100644
--- a/nixpkgs/nixos/modules/services/web-apps/discourse.xml
+++ b/nixpkgs/nixos/modules/services/web-apps/discourse.xml
@@ -284,12 +284,23 @@ services.discourse = {
       Ruby dependencies are listed in its
       <filename>plugin.rb</filename> file as function calls to
       <literal>gem</literal>. To construct the corresponding
-      <filename>Gemfile</filename>, run <command>bundle
+      <filename>Gemfile</filename> manually, run <command>bundle
       init</command>, then add the <literal>gem</literal> lines to it
       verbatim.
     </para>
 
     <para>
+      Much of the packaging can be done automatically by the
+      <filename>nixpkgs/pkgs/servers/web-apps/discourse/update.py</filename>
+      script - just add the plugin to the <literal>plugins</literal>
+      list in the <function>update_plugins</function> function and run
+      the script:
+      <programlisting language="bash">
+./update.py update-plugins
+</programlisting>.
+    </para>
+
+    <para>
       Some plugins provide <link
       linkend="module-services-discourse-site-settings">site
       settings</link>. Their defaults can be configured using <xref
diff --git a/nixpkgs/nixos/modules/services/web-apps/fluidd.nix b/nixpkgs/nixos/modules/services/web-apps/fluidd.nix
new file mode 100644
index 000000000000..c632b8ff7199
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/web-apps/fluidd.nix
@@ -0,0 +1,64 @@
+{ config, lib, pkgs, ... }:
+with lib;
+let
+  cfg = config.services.fluidd;
+  moonraker = config.services.moonraker;
+in
+{
+  options.services.fluidd = {
+    enable = mkEnableOption "Fluidd, a Klipper web interface for managing your 3d printer";
+
+    package = mkOption {
+      type = types.package;
+      description = "Fluidd package to be used in the module";
+      default = pkgs.fluidd;
+      defaultText = "pkgs.fluidd";
+    };
+
+    hostName = mkOption {
+      type = types.str;
+      default = "localhost";
+      description = "Hostname to serve fluidd on";
+    };
+
+    nginx = mkOption {
+      type = types.submodule
+        (import ../web-servers/nginx/vhost-options.nix { inherit config lib; });
+      default = { };
+      example = {
+        serverAliases = [ "fluidd.\${config.networking.domain}" ];
+      };
+      description = "Extra configuration for the nginx virtual host of fluidd.";
+    };
+  };
+
+  config = mkIf cfg.enable {
+    services.nginx = {
+      enable = true;
+      upstreams.fluidd-apiserver.servers."${moonraker.address}:${toString moonraker.port}" = { };
+      virtualHosts."${cfg.hostName}" = mkMerge [
+        cfg.nginx
+        {
+          root = mkForce "${cfg.package}/share/fluidd/htdocs";
+          locations = {
+            "/" = {
+              index = "index.html";
+              tryFiles = "$uri $uri/ /index.html";
+            };
+            "/index.html".extraConfig = ''
+              add_header Cache-Control "no-store, no-cache, must-revalidate";
+            '';
+            "/websocket" = {
+              proxyWebsockets = true;
+              proxyPass = "http://fluidd-apiserver/websocket";
+            };
+            "~ ^/(printer|api|access|machine|server)/" = {
+              proxyWebsockets = true;
+              proxyPass = "http://fluidd-apiserver$request_uri";
+            };
+          };
+        }
+      ];
+    };
+  };
+}
diff --git a/nixpkgs/nixos/modules/services/web-apps/isso.nix b/nixpkgs/nixos/modules/services/web-apps/isso.nix
new file mode 100644
index 000000000000..d05a99a3eedc
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/web-apps/isso.nix
@@ -0,0 +1,69 @@
+{ config, lib, pkgs, ... }:
+
+let
+  inherit (lib) mkEnableOption mkIf mkOption types literalExample;
+
+  cfg = config.services.isso;
+
+  settingsFormat = pkgs.formats.ini { };
+  configFile = settingsFormat.generate "isso.conf" cfg.settings;
+in {
+
+  options = {
+    services.isso = {
+      enable = mkEnableOption ''
+        A commenting server similar to Disqus.
+
+        Note: The application's author suppose to run isso behind a reverse proxy.
+        The embedded solution offered by NixOS is also only suitable for small installations
+        below 20 requests per second.
+      '';
+
+      settings = mkOption {
+        description = ''
+          Configuration for <package>isso</package>.
+
+          See <link xlink:href="https://posativ.org/isso/docs/configuration/server/">Isso Server Configuration</link>
+          for supported values.
+        '';
+
+        type = types.submodule {
+          freeformType = settingsFormat.type;
+        };
+
+        example = literalExample ''
+          {
+            general = {
+              host = "http://localhost";
+            };
+          }
+        '';
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    services.isso.settings.general.dbpath = lib.mkDefault "/var/lib/isso/comments.db";
+
+    systemd.services.isso = {
+      description = "isso, a commenting server similar to Disqus";
+      wantedBy = [ "multi-user.target" ];
+
+      serviceConfig = {
+        User = "isso";
+        Group = "isso";
+
+        DynamicUser = true;
+
+        StateDirectory = "isso";
+
+        ExecStart = ''
+          ${pkgs.isso}/bin/isso -c ${configFile}
+        '';
+
+        Restart = "on-failure";
+        RestartSec = 1;
+      };
+    };
+  };
+}
diff --git a/nixpkgs/nixos/modules/services/web-apps/keycloak.nix b/nixpkgs/nixos/modules/services/web-apps/keycloak.nix
index dc66c2966564..b1bea222c7f7 100644
--- a/nixpkgs/nixos/modules/services/web-apps/keycloak.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/keycloak.nix
@@ -281,7 +281,7 @@ in
       createLocalPostgreSQL = databaseActuallyCreateLocally && cfg.database.type == "postgresql";
       createLocalMySQL = databaseActuallyCreateLocally && cfg.database.type == "mysql";
 
-      mySqlCaKeystore = pkgs.runCommandNoCC "mysql-ca-keystore" {} ''
+      mySqlCaKeystore = pkgs.runCommand "mysql-ca-keystore" {} ''
         ${pkgs.jre}/bin/keytool -importcert -trustcacerts -alias MySQLCACert -file ${cfg.database.caCert} -keystore $out -storepass notsosecretpassword -noprompt
       '';
 
@@ -553,7 +553,7 @@ in
 
       jbossCliScript = pkgs.writeText "jboss-cli-script" (mkJbossScript keycloakConfig');
 
-      keycloakConfig = pkgs.runCommandNoCC "keycloak-config" {
+      keycloakConfig = pkgs.runCommand "keycloak-config" {
         nativeBuildInputs = [ cfg.package ];
       } ''
         export JBOSS_BASE_DIR="$(pwd -P)";
diff --git a/nixpkgs/nixos/modules/services/web-apps/miniflux.nix b/nixpkgs/nixos/modules/services/web-apps/miniflux.nix
index 01710b1bd59c..1bbadafa2078 100644
--- a/nixpkgs/nixos/modules/services/web-apps/miniflux.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/miniflux.nix
@@ -98,6 +98,29 @@ in
         EnvironmentFile = if cfg.adminCredentialsFile == null
         then defaultCredentials
         else cfg.adminCredentialsFile;
+        # Hardening
+        CapabilityBoundingSet = [ "" ];
+        DeviceAllow = [ "" ];
+        LockPersonality = true;
+        MemoryDenyWriteExecute = true;
+        PrivateDevices = true;
+        PrivateUsers = true;
+        ProcSubset = "pid";
+        ProtectClock = true;
+        ProtectControlGroups = true;
+        ProtectHome = true;
+        ProtectHostname = true;
+        ProtectKernelLogs = true;
+        ProtectKernelModules = true;
+        ProtectKernelTunables = true;
+        ProtectProc = "invisible";
+        RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ];
+        RestrictNamespaces = true;
+        RestrictRealtime = true;
+        RestrictSUIDSGID = true;
+        SystemCallArchitectures = "native";
+        SystemCallFilter = [ "@system-service" "~@privileged" "~@resources" ];
+        UMask = "0077";
       };
 
       environment = cfg.config;
diff --git a/nixpkgs/nixos/modules/services/web-apps/moodle.nix b/nixpkgs/nixos/modules/services/web-apps/moodle.nix
index ad1e55d62d1d..c854e084e14d 100644
--- a/nixpkgs/nixos/modules/services/web-apps/moodle.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/moodle.nix
@@ -56,7 +56,7 @@ let
   mysqlLocal = cfg.database.createLocally && cfg.database.type == "mysql";
   pgsqlLocal = cfg.database.createLocally && cfg.database.type == "pgsql";
 
-  phpExt = pkgs.php.withExtensions
+  phpExt = pkgs.php74.withExtensions
         ({ enabled, all }: with all; [ iconv mbstring curl openssl tokenizer xmlrpc soap ctype zip gd simplexml dom  intl json sqlite3 pgsql pdo_sqlite pdo_pgsql pdo_odbc pdo_mysql pdo mysqli session zlib xmlreader fileinfo filter ]);
 in
 {
diff --git a/nixpkgs/nixos/modules/services/web-apps/nextcloud.nix b/nixpkgs/nixos/modules/services/web-apps/nextcloud.nix
index 111b31734696..ba5f6582cbec 100644
--- a/nixpkgs/nixos/modules/services/web-apps/nextcloud.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/nextcloud.nix
@@ -502,8 +502,6 @@ in {
               ${if c.dbport != null then "--database-port" else null} = ''"${toString c.dbport}"'';
               ${if c.dbuser != null then "--database-user" else null} = ''"${c.dbuser}"'';
               "--database-pass" = dbpass;
-              ${if c.dbtableprefix != null
-                then "--database-table-prefix" else null} = ''"${toString c.dbtableprefix}"'';
               "--admin-user" = ''"${c.adminuser}"'';
               "--admin-pass" = adminpass;
               "--data-dir" = ''"${cfg.home}/data"'';
@@ -699,7 +697,6 @@ in {
         };
         extraConfig = ''
           index index.php index.html /index.php$request_uri;
-          expires 1m;
           add_header X-Content-Type-Options nosniff;
           add_header X-XSS-Protection "1; mode=block";
           add_header X-Robots-Tag none;
diff --git a/nixpkgs/nixos/modules/services/web-apps/nextcloud.xml b/nixpkgs/nixos/modules/services/web-apps/nextcloud.xml
index 3af37b15dd56..ed84487d233a 100644
--- a/nixpkgs/nixos/modules/services/web-apps/nextcloud.xml
+++ b/nixpkgs/nixos/modules/services/web-apps/nextcloud.xml
@@ -84,47 +84,93 @@
 </para>
 
  </section>
- <section xml:id="module-services-nextcloud-pitfalls-during-upgrade">
-  <title>Pitfalls</title>
-
-  <para>
-   Unfortunately Nextcloud appears to be very stateful when it comes to
-   managing its own configuration. The config file lives in the home directory
-   of the <literal>nextcloud</literal> user (by default
-   <literal>/var/lib/nextcloud/config/config.php</literal>) and is also used to
-   track several states of the application (e.g. whether installed or not).
-  </para>
 
-  <para>
-   All configuration parameters are also stored in
-   <literal>/var/lib/nextcloud/config/override.config.php</literal> which is generated by
-   the module and linked from the store to ensure that all values from <literal>config.php</literal>
-   can be modified by the module.
-   However <literal>config.php</literal> manages the application's state and shouldn't be touched
-   manually because of that.
-  </para>
-
-  <warning>
-   <para>Don't delete <literal>config.php</literal>! This file
-   tracks the application's state and a deletion can cause unwanted
-   side-effects!</para>
-  </warning>
-
-  <warning>
-   <para>Don't rerun <literal>nextcloud-occ
-   maintenance:install</literal>! This command tries to install the application
-   and can cause unwanted side-effects!</para>
-  </warning>
+ <section xml:id="module-services-nextcloud-pitfalls-during-upgrade">
+  <title>Common problems</title>
+  <itemizedlist>
+   <listitem>
+    <formalpara>
+     <title>General notes</title>
+     <para>
+      Unfortunately Nextcloud appears to be very stateful when it comes to
+      managing its own configuration. The config file lives in the home directory
+      of the <literal>nextcloud</literal> user (by default
+      <literal>/var/lib/nextcloud/config/config.php</literal>) and is also used to
+      track several states of the application (e.g., whether installed or not).
+     </para>
+    </formalpara>
+    <para>
+     All configuration parameters are also stored in
+     <filename>/var/lib/nextcloud/config/override.config.php</filename> which is generated by
+     the module and linked from the store to ensure that all values from
+     <filename>config.php</filename> can be modified by the module.
+     However <filename>config.php</filename> manages the application's state and shouldn't be
+     touched manually because of that.
+    </para>
+    <warning>
+     <para>Don't delete <filename>config.php</filename>! This file
+     tracks the application's state and a deletion can cause unwanted
+     side-effects!</para>
+    </warning>
 
-  <para>
-   Nextcloud doesn't allow to move more than one major-version forward. If you're e.g. on
-   <literal>v16</literal>, you cannot upgrade to <literal>v18</literal>, you need to upgrade to
-   <literal>v17</literal> first. This is ensured automatically as long as the
-   <link linkend="opt-system.stateVersion">stateVersion</link> is declared properly. In that case
-   the oldest version available (one major behind the one from the previous NixOS
-   release) will be selected by default and the module will generate a warning that reminds
-   the user to upgrade to latest Nextcloud <emphasis>after</emphasis> that deploy.
-  </para>
+    <warning>
+     <para>Don't rerun <literal>nextcloud-occ
+     maintenance:install</literal>! This command tries to install the application
+     and can cause unwanted side-effects!</para>
+    </warning>
+   </listitem>
+   <listitem>
+    <formalpara>
+     <title>Multiple version upgrades</title>
+     <para>
+      Nextcloud doesn't allow to move more than one major-version forward. E.g., if you're on
+      <literal>v16</literal>, you cannot upgrade to <literal>v18</literal>, you need to upgrade to
+      <literal>v17</literal> first. This is ensured automatically as long as the
+      <link linkend="opt-system.stateVersion">stateVersion</link> is declared properly. In that case
+      the oldest version available (one major behind the one from the previous NixOS
+      release) will be selected by default and the module will generate a warning that reminds
+      the user to upgrade to latest Nextcloud <emphasis>after</emphasis> that deploy.
+     </para>
+    </formalpara>
+   </listitem>
+   <listitem>
+    <formalpara>
+     <title><literal>Error: Command "upgrade" is not defined.</literal></title>
+     <para>
+      This error usually occurs if the initial installation
+      (<command>nextcloud-occ maintenance:install</command>) has failed. After that, the application
+      is not installed, but the upgrade is attempted to be executed. Further context can
+      be found in <link xlink:href="https://github.com/NixOS/nixpkgs/issues/111175">NixOS/nixpkgs#111175</link>.
+     </para>
+    </formalpara>
+    <para>
+     First of all, it makes sense to find out what went wrong by looking at the logs
+     of the installation via <command>journalctl -u nextcloud-setup</command> and try to fix
+     the underlying issue.
+    </para>
+    <itemizedlist>
+     <listitem>
+      <para>
+       If this occurs on an <emphasis>existing</emphasis> setup, this is most likely because
+       the maintenance mode is active. It can be deactivated by running
+       <command>nextcloud-occ maintenance:mode --off</command>. It's advisable though to
+       check the logs first on why the maintenance mode was activated.
+      </para>
+     </listitem>
+     <listitem>
+      <warning><para>Only perform the following measures on
+      <emphasis>freshly installed instances!</emphasis></para></warning>
+      <para>
+       A re-run of the installer can be forced by <emphasis>deleting</emphasis>
+       <filename>/var/lib/nextcloud/config/config.php</filename>. This is the only time
+       advisable because the fresh install doesn't have any state that can be lost.
+       In case that doesn't help, an entire re-creation can be forced via
+       <command>rm -rf ~nextcloud/</command>.
+      </para>
+     </listitem>
+    </itemizedlist>
+   </listitem>
+  </itemizedlist>
  </section>
 
  <section xml:id="module-services-nextcloud-httpd">
diff --git a/nixpkgs/nixos/modules/services/web-apps/node-red.nix b/nixpkgs/nixos/modules/services/web-apps/node-red.nix
new file mode 100644
index 000000000000..4f6850ace214
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/web-apps/node-red.nix
@@ -0,0 +1,148 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.node-red;
+  defaultUser = "node-red";
+  finalPackage = if cfg.withNpmAndGcc then node-red_withNpmAndGcc else cfg.package;
+  node-red_withNpmAndGcc = pkgs.runCommand "node-red" {
+    nativeBuildInputs = [ pkgs.makeWrapper ];
+  }
+  ''
+    mkdir -p $out/bin
+    makeWrapper ${pkgs.nodePackages.node-red}/bin/node-red $out/bin/node-red \
+      --set PATH '${lib.makeBinPath [ pkgs.nodePackages.npm pkgs.gcc ]}:$PATH' \
+  '';
+in
+{
+  options.services.node-red = {
+    enable = mkEnableOption "the Node-RED service";
+
+    package = mkOption {
+      default = pkgs.nodePackages.node-red;
+      defaultText = "pkgs.nodePackages.node-red";
+      type = types.package;
+      description = "Node-RED package to use.";
+    };
+
+    openFirewall = mkOption {
+      type = types.bool;
+      default = false;
+      description = ''
+        Open ports in the firewall for the server.
+      '';
+    };
+
+    withNpmAndGcc = mkOption {
+      type = types.bool;
+      default = false;
+      description = ''
+        Give Node-RED access to NPM and GCC at runtime, so 'Nodes' can be
+        downloaded and managed imperatively via the 'Palette Manager'.
+      '';
+    };
+
+    configFile = mkOption {
+      type = types.path;
+      default = "${cfg.package}/lib/node_modules/node-red/settings.js";
+      defaultText = "\${cfg.package}/lib/node_modules/node-red/settings.js";
+      description = ''
+        Path to the JavaScript configuration file.
+        See <link
+        xlink:href="https://github.com/node-red/node-red/blob/master/packages/node_modules/node-red/settings.js"/>
+        for a configuration example.
+      '';
+    };
+
+    port = mkOption {
+      type = types.port;
+      default = 1880;
+      description = "Listening port.";
+    };
+
+    user = mkOption {
+      type = types.str;
+      default = defaultUser;
+      description = ''
+        User under which Node-RED runs.If left as the default value this user
+        will automatically be created on system activation, otherwise the
+        sysadmin is responsible for ensuring the user exists.
+      '';
+    };
+
+    group = mkOption {
+      type = types.str;
+      default = defaultUser;
+      description = ''
+        Group under which Node-RED runs.If left as the default value this group
+        will automatically be created on system activation, otherwise the
+        sysadmin is responsible for ensuring the group exists.
+      '';
+    };
+
+    userDir = mkOption {
+      type = types.path;
+      default = "/var/lib/node-red";
+      description = ''
+        The directory to store all user data, such as flow and credential files and all library data. If left
+        as the default value this directory will automatically be created before the node-red service starts,
+        otherwise the sysadmin is responsible for ensuring the directory exists with appropriate ownership
+        and permissions.
+      '';
+    };
+
+    safe = mkOption {
+      type = types.bool;
+      default = false;
+      description = "Whether to launch Node-RED in --safe mode.";
+    };
+
+    define = mkOption {
+      type = types.attrs;
+      default = {};
+      description = "List of settings.js overrides to pass via -D to Node-RED.";
+      example = literalExample ''
+        {
+          "logging.console.level" = "trace";
+        }
+      '';
+    };
+  };
+
+  config = mkIf cfg.enable {
+    users.users = optionalAttrs (cfg.user == defaultUser) {
+      ${defaultUser} = {
+        isSystemUser = true;
+      };
+    };
+
+    users.groups = optionalAttrs (cfg.group == defaultUser) {
+      ${defaultUser} = { };
+    };
+
+    networking.firewall = mkIf cfg.openFirewall {
+      allowedTCPPorts = [ cfg.port ];
+    };
+
+    systemd.services.node-red = {
+      description = "Node-RED Service";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "networking.target" ];
+      environment = {
+        HOME = cfg.userDir;
+      };
+      serviceConfig = mkMerge [
+        {
+          User = cfg.user;
+          Group = cfg.group;
+          ExecStart = "${finalPackage}/bin/node-red ${pkgs.lib.optionalString cfg.safe "--safe"} --settings ${cfg.configFile} --port ${toString cfg.port} --userDir ${cfg.userDir} ${concatStringsSep " " (mapAttrsToList (name: value: "-D ${name}=${value}") cfg.define)}";
+          PrivateTmp = true;
+          Restart = "always";
+          WorkingDirectory = cfg.userDir;
+        }
+        (mkIf (cfg.userDir == "/var/lib/node-red") { StateDirectory = "node-red"; })
+      ];
+    };
+  };
+}
diff --git a/nixpkgs/nixos/modules/services/web-apps/tt-rss.nix b/nixpkgs/nixos/modules/services/web-apps/tt-rss.nix
index b78487cc9281..bc18c824f394 100644
--- a/nixpkgs/nixos/modules/services/web-apps/tt-rss.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/tt-rss.nix
@@ -6,10 +6,6 @@ let
 
   configVersion = 26;
 
-  cacheDir = "cache";
-  lockDir = "lock";
-  feedIconsDir = "feed-icons";
-
   dbPort = if cfg.database.port == null
     then (if cfg.database.type == "pgsql" then 5432 else 3306)
     else cfg.database.port;
@@ -19,86 +15,104 @@ let
   mysqlLocal = cfg.database.createLocally && cfg.database.type == "mysql";
   pgsqlLocal = cfg.database.createLocally && cfg.database.type == "pgsql";
 
-  tt-rss-config = pkgs.writeText "config.php" ''
+  tt-rss-config = let
+    password =
+      if (cfg.database.password != null) then
+        "${(escape ["'" "\\"] cfg.database.password)}"
+      else if (cfg.database.passwordFile != null) then
+        "file_get_contents('${cfg.database.passwordFile}'"
+      else
+        ""
+      ;
+  in pkgs.writeText "config.php" ''
     <?php
+      putenv('TTRSS_PHP_EXECUTABLE=${pkgs.php}/bin/php');
 
-      define('PHP_EXECUTABLE', '${pkgs.php}/bin/php');
-
-      define('LOCK_DIRECTORY', '${lockDir}');
-      define('CACHE_DIR', '${cacheDir}');
-      define('ICONS_DIR', '${feedIconsDir}');
-      define('ICONS_URL', '${feedIconsDir}');
-      define('SELF_URL_PATH', '${cfg.selfUrlPath}');
+      putenv('TTRSS_LOCK_DIRECTORY=${cfg.root}/lock');
+      putenv('TTRSS_CACHE_DIR=${cfg.root}/cache');
+      putenv('TTRSS_ICONS_DIR=${cfg.root}/feed-icons');
+      putenv('TTRSS_ICONS_URL=feed-icons');
+      putenv('TTRSS_SELF_URL_PATH=${cfg.selfUrlPath}');
 
-      define('MYSQL_CHARSET', 'UTF8');
+      putenv('TTRSS_MYSQL_CHARSET=UTF8');
 
-      define('DB_TYPE', '${cfg.database.type}');
-      define('DB_HOST', '${optionalString (cfg.database.host != null) cfg.database.host}');
-      define('DB_USER', '${cfg.database.user}');
-      define('DB_NAME', '${cfg.database.name}');
-      define('DB_PASS', ${
-        if (cfg.database.password != null) then
-          "'${(escape ["'" "\\"] cfg.database.password)}'"
-        else if (cfg.database.passwordFile != null) then
-          "file_get_contents('${cfg.database.passwordFile}')"
-        else
-          "''"
-      });
-      define('DB_PORT', '${toString dbPort}');
+      putenv('TTRSS_DB_TYPE=${cfg.database.type}');
+      putenv('TTRSS_DB_HOST=${optionalString (cfg.database.host != null) cfg.database.host}');
+      putenv('TTRSS_DB_USER=${cfg.database.user}');
+      putenv('TTRSS_DB_NAME=${cfg.database.name}');
+      putenv('TTRSS_DB_PASS=${password}');
+      putenv('TTRSS_DB_PORT=${toString dbPort}');
 
-      define('AUTH_AUTO_CREATE', ${boolToString cfg.auth.autoCreate});
-      define('AUTH_AUTO_LOGIN', ${boolToString cfg.auth.autoLogin});
+      putenv('TTRSS_AUTH_AUTO_CREATE=${boolToString cfg.auth.autoCreate}');
+      putenv('TTRSS_AUTH_AUTO_LOGIN=${boolToString cfg.auth.autoLogin}');
 
-      define('FEED_CRYPT_KEY', '${escape ["'" "\\"] cfg.feedCryptKey}');
+      putenv('TTRSS_FEED_CRYPT_KEY=${escape ["'" "\\"] cfg.feedCryptKey}');
 
 
-      define('SINGLE_USER_MODE', ${boolToString cfg.singleUserMode});
+      putenv('TTRSS_SINGLE_USER_MODE=${boolToString cfg.singleUserMode}');
 
-      define('SIMPLE_UPDATE_MODE', ${boolToString cfg.simpleUpdateMode});
+      putenv('TTRSS_SIMPLE_UPDATE_MODE=${boolToString cfg.simpleUpdateMode}');
 
-      // Never check for updates - the running version of the code should be
-      // controlled entirely by the version of TT-RSS active in the current Nix
-      // profile. If TT-RSS updates itself to a version requiring a database
-      // schema upgrade, and then the SystemD tt-rss.service is restarted, the
-      // old code copied from the Nix store will overwrite the updated version,
-      // causing the code to detect the need for a schema "upgrade" (since the
-      // schema version in the database is different than in the code), but the
-      // update schema operation in TT-RSS will do nothing because the schema
-      // version in the database is newer than that in the code.
-      define('CHECK_FOR_UPDATES', false);
+      # Never check for updates - the running version of the code should
+      # be controlled entirely by the version of TT-RSS active in the
+      # current Nix profile. If TT-RSS updates itself to a version
+      # requiring a database schema upgrade, and then the SystemD
+      # tt-rss.service is restarted, the old code copied from the Nix
+      # store will overwrite the updated version, causing the code to
+      # detect the need for a schema "upgrade" (since the schema version
+      # in the database is different than in the code), but the update
+      # schema operation in TT-RSS will do nothing because the schema
+      # version in the database is newer than that in the code.
+      putenv('TTRSS_CHECK_FOR_UPDATES=false');
 
-      define('FORCE_ARTICLE_PURGE', ${toString cfg.forceArticlePurge});
-      define('SESSION_COOKIE_LIFETIME', ${toString cfg.sessionCookieLifetime});
-      define('ENABLE_GZIP_OUTPUT', ${boolToString cfg.enableGZipOutput});
+      putenv('TTRSS_FORCE_ARTICLE_PURGE=${toString cfg.forceArticlePurge}');
+      putenv('TTRSS_SESSION_COOKIE_LIFETIME=${toString cfg.sessionCookieLifetime}');
+      putenv('TTRSS_ENABLE_GZIP_OUTPUT=${boolToString cfg.enableGZipOutput}');
 
-      define('PLUGINS', '${builtins.concatStringsSep "," cfg.plugins}');
+      putenv('TTRSS_PLUGINS=${builtins.concatStringsSep "," cfg.plugins}');
 
-      define('LOG_DESTINATION', '${cfg.logDestination}');
-      define('CONFIG_VERSION', ${toString configVersion});
+      putenv('TTRSS_LOG_DESTINATION=${cfg.logDestination}');
+      putenv('TTRSS_CONFIG_VERSION=${toString configVersion}');
 
 
-      define('PUBSUBHUBBUB_ENABLED', ${boolToString cfg.pubSubHubbub.enable});
-      define('PUBSUBHUBBUB_HUB', '${cfg.pubSubHubbub.hub}');
+      putenv('TTRSS_PUBSUBHUBBUB_ENABLED=${boolToString cfg.pubSubHubbub.enable}');
+      putenv('TTRSS_PUBSUBHUBBUB_HUB=${cfg.pubSubHubbub.hub}');
 
-      define('SPHINX_SERVER', '${cfg.sphinx.server}');
-      define('SPHINX_INDEX', '${builtins.concatStringsSep "," cfg.sphinx.index}');
+      putenv('TTRSS_SPHINX_SERVER=${cfg.sphinx.server}');
+      putenv('TTRSS_SPHINX_INDEX=${builtins.concatStringsSep "," cfg.sphinx.index}');
 
-      define('ENABLE_REGISTRATION', ${boolToString cfg.registration.enable});
-      define('REG_NOTIFY_ADDRESS', '${cfg.registration.notifyAddress}');
-      define('REG_MAX_USERS', ${toString cfg.registration.maxUsers});
+      putenv('TTRSS_ENABLE_REGISTRATION=${boolToString cfg.registration.enable}');
+      putenv('TTRSS_REG_NOTIFY_ADDRESS=${cfg.registration.notifyAddress}');
+      putenv('TTRSS_REG_MAX_USERS=${toString cfg.registration.maxUsers}');
 
-      define('SMTP_SERVER', '${cfg.email.server}');
-      define('SMTP_LOGIN', '${cfg.email.login}');
-      define('SMTP_PASSWORD', '${escape ["'" "\\"] cfg.email.password}');
-      define('SMTP_SECURE', '${cfg.email.security}');
+      putenv('TTRSS_SMTP_SERVER=${cfg.email.server}');
+      putenv('TTRSS_SMTP_LOGIN=${cfg.email.login}');
+      putenv('TTRSS_SMTP_PASSWORD=${escape ["'" "\\"] cfg.email.password}');
+      putenv('TTRSS_SMTP_SECURE=${cfg.email.security}');
 
-      define('SMTP_FROM_NAME', '${escape ["'" "\\"] cfg.email.fromName}');
-      define('SMTP_FROM_ADDRESS', '${escape ["'" "\\"] cfg.email.fromAddress}');
-      define('DIGEST_SUBJECT', '${escape ["'" "\\"] cfg.email.digestSubject}');
+      putenv('TTRSS_SMTP_FROM_NAME=${escape ["'" "\\"] cfg.email.fromName}');
+      putenv('TTRSS_SMTP_FROM_ADDRESS=${escape ["'" "\\"] cfg.email.fromAddress}');
+      putenv('TTRSS_DIGEST_SUBJECT=${escape ["'" "\\"] cfg.email.digestSubject}');
 
       ${cfg.extraConfig}
   '';
 
+  # tt-rss and plugins and themes and config.php
+  servedRoot = pkgs.runCommand "tt-rss-served-root" {} ''
+    cp --no-preserve=mode -r ${pkgs.tt-rss} $out
+    cp ${tt-rss-config} $out/config.php
+    ${optionalString (cfg.pluginPackages != []) ''
+    for plugin in ${concatStringsSep " " cfg.pluginPackages}; do
+    cp -r "$plugin"/* "$out/plugins.local/"
+    done
+    ''}
+    ${optionalString (cfg.themePackages != []) ''
+    for theme in ${concatStringsSep " " cfg.themePackages}; do
+    cp -r "$theme"/* "$out/themes.local/"
+    done
+    ''}
+  '';
+
  in {
 
   ###### interface
@@ -542,12 +556,16 @@ let
       enable = true;
       virtualHosts = {
         ${cfg.virtualHost} = {
-          root = "${cfg.root}";
+          root = "${cfg.root}/www";
 
           locations."/" = {
             index = "index.php";
           };
 
+          locations."^~ /feed-icons" = {
+            root = "${cfg.root}";
+          };
+
           locations."~ \\.php$" = {
             extraConfig = ''
               fastcgi_split_path_info ^(.+\.php)(/.+)$;
@@ -560,13 +578,22 @@ let
     };
 
     systemd.tmpfiles.rules = [
-      "d '${cfg.root}' 0755 ${cfg.user} tt_rss - -"
-      "Z '${cfg.root}' 0755 ${cfg.user} tt_rss - -"
+      "d '${cfg.root}' 0555 ${cfg.user} tt_rss - -"
+      "d '${cfg.root}/lock' 0755 ${cfg.user} tt_rss - -"
+      "d '${cfg.root}/cache' 0755 ${cfg.user} tt_rss - -"
+      "d '${cfg.root}/cache/upload' 0755 ${cfg.user} tt_rss - -"
+      "d '${cfg.root}/cache/images' 0755 ${cfg.user} tt_rss - -"
+      "d '${cfg.root}/cache/export' 0755 ${cfg.user} tt_rss - -"
+      "d '${cfg.root}/feed-icons' 0755 ${cfg.user} tt_rss - -"
+      "L+ '${cfg.root}/www' - - - - ${servedRoot}"
     ];
 
-    systemd.services.tt-rss =
-      {
+    systemd.services = {
+      phpfpm-tt-rss = mkIf (cfg.pool == "${poolName}") {
+        restartTriggers = [ servedRoot ];
+      };
 
+      tt-rss = {
         description = "Tiny Tiny RSS feeds update daemon";
 
         preStart = let
@@ -589,24 +616,7 @@ let
 
               else "";
 
-        in ''
-          rm -rf "${cfg.root}/*"
-          cp -r "${pkgs.tt-rss}/"* "${cfg.root}"
-          ${optionalString (cfg.pluginPackages != []) ''
-            for plugin in ${concatStringsSep " " cfg.pluginPackages}; do
-              cp -r "$plugin"/* "${cfg.root}/plugins.local/"
-            done
-          ''}
-          ${optionalString (cfg.themePackages != []) ''
-            for theme in ${concatStringsSep " " cfg.themePackages}; do
-              cp -r "$theme"/* "${cfg.root}/themes.local/"
-            done
-          ''}
-          ln -sf "${tt-rss-config}" "${cfg.root}/config.php"
-          chmod -R 755 "${cfg.root}"
-        ''
-
-        + (optionalString (cfg.database.type == "pgsql") ''
+        in (optionalString (cfg.database.type == "pgsql") ''
           exists=$(${callSql "select count(*) > 0 from pg_tables where tableowner = user"} \
           | tail -n+3 | head -n-2 | sed -e 's/[ \n\t]*//')
 
@@ -631,7 +641,7 @@ let
         serviceConfig = {
           User = "${cfg.user}";
           Group = "tt_rss";
-          ExecStart = "${pkgs.php}/bin/php ${cfg.root}/update.php --daemon --quiet";
+          ExecStart = "${pkgs.php}/bin/php ${cfg.root}/www/update.php --daemon --quiet";
           Restart = "on-failure";
           RestartSec = "60";
           SyslogIdentifier = "tt-rss";
@@ -640,6 +650,7 @@ let
         wantedBy = [ "multi-user.target" ];
         requires = optional mysqlLocal "mysql.service" ++ optional pgsqlLocal "postgresql.service";
         after = [ "network.target" ] ++ optional mysqlLocal "mysql.service" ++ optional pgsqlLocal "postgresql.service";
+      };
     };
 
     services.mysql = mkIf mysqlLocal {
diff --git a/nixpkgs/nixos/modules/services/web-servers/apache-httpd/default.nix b/nixpkgs/nixos/modules/services/web-servers/apache-httpd/default.nix
index df7035c03cc2..ceb199870975 100644
--- a/nixpkgs/nixos/modules/services/web-servers/apache-httpd/default.nix
+++ b/nixpkgs/nixos/modules/services/web-servers/apache-httpd/default.nix
@@ -36,11 +36,12 @@ let
   dependentCertNames = unique (map (hostOpts: hostOpts.certName) acmeEnabledVhosts);
 
   mkListenInfo = hostOpts:
-    if hostOpts.listen != [] then hostOpts.listen
-    else (
-      optional (hostOpts.onlySSL || hostOpts.addSSL || hostOpts.forceSSL) { ip = "*"; port = 443; ssl = true; } ++
-      optional (!hostOpts.onlySSL) { ip = "*"; port = 80; ssl = false; }
-    );
+    if hostOpts.listen != [] then
+      hostOpts.listen
+    else
+      optionals (hostOpts.onlySSL || hostOpts.addSSL || hostOpts.forceSSL) (map (addr: { ip = addr; port = 443; ssl = true; }) hostOpts.listenAddresses) ++
+      optionals (!hostOpts.onlySSL) (map (addr: { ip = addr; port = 80; ssl = false; }) hostOpts.listenAddresses)
+    ;
 
   listenInfo = unique (concatMap mkListenInfo vhosts);
 
@@ -462,7 +463,7 @@ in
         default = "common";
         example = "combined";
         description = ''
-          Log format for log files. Possible values are: combined, common, referer, agent.
+          Log format for log files. Possible values are: combined, common, referer, agent, none.
           See <link xlink:href="https://httpd.apache.org/docs/2.4/logs.html"/> for more details.
         '';
       };
diff --git a/nixpkgs/nixos/modules/services/web-servers/apache-httpd/vhost-options.nix b/nixpkgs/nixos/modules/services/web-servers/apache-httpd/vhost-options.nix
index 394f9a305546..3f732a5c9f33 100644
--- a/nixpkgs/nixos/modules/services/web-servers/apache-httpd/vhost-options.nix
+++ b/nixpkgs/nixos/modules/services/web-servers/apache-httpd/vhost-options.nix
@@ -47,10 +47,27 @@ in
       ];
       description = ''
         Listen addresses and ports for this virtual host.
-        <note><para>
+        <note>
+        <para>
           This option overrides <literal>addSSL</literal>, <literal>forceSSL</literal> and <literal>onlySSL</literal>.
-        </para></note>
+        </para>
+        <para>
+          If you only want to set the addresses manually and not the ports, take a look at <literal>listenAddresses</literal>.
+        </para>
+        </note>
+      '';
+    };
+
+    listenAddresses = mkOption {
+      type = with types; nonEmptyListOf str;
+
+      description = ''
+        Listen addresses for this virtual host.
+        Compared to <literal>listen</literal> this only sets the addreses
+        and the ports are chosen automatically.
       '';
+      default = [ "*" ];
+      example = [ "127.0.0.1" ];
     };
 
     enableSSL = mkOption {
diff --git a/nixpkgs/nixos/modules/services/web-servers/caddy.nix b/nixpkgs/nixos/modules/services/web-servers/caddy/default.nix
index 955b9756406d..fd7102096343 100644
--- a/nixpkgs/nixos/modules/services/web-servers/caddy.nix
+++ b/nixpkgs/nixos/modules/services/web-servers/caddy/default.nix
@@ -4,42 +4,57 @@ with lib;
 
 let
   cfg = config.services.caddy;
-  configFile = pkgs.writeText "Caddyfile" cfg.config;
+  vhostToConfig = vhostName: vhostAttrs: ''
+    ${vhostName} ${builtins.concatStringsSep " " vhostAttrs.serverAliases} {
+      ${vhostAttrs.extraConfig}
+    }
+  '';
+  configFile = pkgs.writeText "Caddyfile" (builtins.concatStringsSep "\n"
+    ([ cfg.config ] ++ (mapAttrsToList vhostToConfig cfg.virtualHosts)));
+
+  formattedConfig = pkgs.runCommand "formattedCaddyFile" { } ''
+    ${cfg.package}/bin/caddy fmt ${configFile} > $out
+  '';
 
   tlsConfig = {
     apps.tls.automation.policies = [{
-      issuer = {
+      issuers = [{
         inherit (cfg) ca email;
         module = "acme";
-      };
+      }];
     }];
   };
 
   adaptedConfig = pkgs.runCommand "caddy-config-adapted.json" { } ''
     ${cfg.package}/bin/caddy adapt \
-      --config ${configFile} --adapter ${cfg.adapter} > $out
+      --config ${formattedConfig} --adapter ${cfg.adapter} > $out
   '';
   tlsJSON = pkgs.writeText "tls.json" (builtins.toJSON tlsConfig);
 
   # merge the TLS config options we expose with the ones originating in the Caddyfile
   configJSON =
-    let tlsConfigMerge = ''
-      {"apps":
-        {"tls":
-          {"automation":
-            {"policies":
-              (if .[0].apps.tls.automation.policies == .[1]?.apps.tls.automation.policies
-               then .[0].apps.tls.automation.policies
-               else (.[0].apps.tls.automation.policies + .[1]?.apps.tls.automation.policies)
-               end)
+    if cfg.ca != null then
+      let tlsConfigMerge = ''
+        {"apps":
+          {"tls":
+            {"automation":
+              {"policies":
+                (if .[0].apps.tls.automation.policies == .[1]?.apps.tls.automation.policies
+                 then .[0].apps.tls.automation.policies
+                 else (.[0].apps.tls.automation.policies + .[1]?.apps.tls.automation.policies)
+                 end)
+              }
             }
           }
-        }
-      }'';
-    in pkgs.runCommand "caddy-config.json" { } ''
-    ${pkgs.jq}/bin/jq -s '.[0] * ${tlsConfigMerge}' ${adaptedConfig} ${tlsJSON} > $out
-  '';
-in {
+        }'';
+      in
+      pkgs.runCommand "caddy-config.json" { } ''
+        ${pkgs.jq}/bin/jq -s '.[0] * ${tlsConfigMerge}' ${adaptedConfig} ${tlsJSON} > $out
+      ''
+    else
+      adaptedConfig;
+in
+{
   imports = [
     (mkRemovedOptionModule [ "services" "caddy" "agree" ] "this option is no longer necessary for Caddy 2")
   ];
@@ -63,6 +78,27 @@ in {
       '';
     };
 
+    virtualHosts = mkOption {
+      type = types.attrsOf (types.submodule (import ./vhost-options.nix {
+        inherit config lib;
+      }));
+      default = { };
+      example = literalExample ''
+        {
+          "hydra.example.com" = {
+            serverAliases = [ "www.hydra.example.com" ];
+            extraConfig = ''''''
+              encode gzip
+              log
+              root /srv/http
+            '''''';
+          };
+        };
+      '';
+      description = "Declarative vhost config";
+    };
+
+
     user = mkOption {
       default = "caddy";
       type = types.str;
@@ -85,11 +121,24 @@ in {
       '';
     };
 
+    resume = mkOption {
+      default = false;
+      type = types.bool;
+      description = ''
+        Use saved config, if any (and prefer over configuration passed with <option>services.caddy.config</option>).
+      '';
+    };
+
     ca = mkOption {
       default = "https://acme-v02.api.letsencrypt.org/directory";
       example = "https://acme-staging-v02.api.letsencrypt.org/directory";
-      type = types.str;
-      description = "Certificate authority ACME server. The default (Let's Encrypt production server) should be fine for most people.";
+      type = types.nullOr types.str;
+      description = ''
+        Certificate authority ACME server. The default (Let's Encrypt
+        production server) should be fine for most people. Set it to null if
+        you don't want to include any authority (or if you want to write a more
+        fine-graned configuration manually)
+      '';
     };
 
     email = mkOption {
@@ -132,7 +181,7 @@ in {
       startLimitIntervalSec = 14400;
       startLimitBurst = 10;
       serviceConfig = {
-        ExecStart = "${cfg.package}/bin/caddy run --config ${configJSON}";
+        ExecStart = "${cfg.package}/bin/caddy run ${optionalString cfg.resume "--resume"} --config ${configJSON}";
         ExecReload = "${cfg.package}/bin/caddy reload --config ${configJSON}";
         Type = "simple";
         User = cfg.user;
diff --git a/nixpkgs/nixos/modules/services/web-servers/caddy/vhost-options.nix b/nixpkgs/nixos/modules/services/web-servers/caddy/vhost-options.nix
new file mode 100644
index 000000000000..1f74295fc9a2
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/web-servers/caddy/vhost-options.nix
@@ -0,0 +1,28 @@
+# This file defines the options that can be used both for the Nginx
+# main server configuration, and for the virtual hosts.  (The latter
+# has additional options that affect the web server as a whole, like
+# the user/group to run under.)
+
+{ lib, ... }:
+
+with lib;
+{
+  options = {
+    serverAliases = mkOption {
+      type = types.listOf types.str;
+      default = [ ];
+      example = [ "www.example.org" "example.org" ];
+      description = ''
+        Additional names of virtual hosts served by this virtual host configuration.
+      '';
+    };
+
+    extraConfig = mkOption {
+      type = types.lines;
+      default = "";
+      description = ''
+        These lines go into the vhost verbatim
+      '';
+    };
+  };
+}
diff --git a/nixpkgs/nixos/modules/services/web-servers/minio.nix b/nixpkgs/nixos/modules/services/web-servers/minio.nix
index d075449012f7..6b10afad4991 100644
--- a/nixpkgs/nixos/modules/services/web-servers/minio.nix
+++ b/nixpkgs/nixos/modules/services/web-servers/minio.nix
@@ -19,7 +19,13 @@ in
     listenAddress = mkOption {
       default = ":9000";
       type = types.str;
-      description = "Listen on a specific IP address and port.";
+      description = "IP address and port of the server.";
+    };
+
+    consoleAddress = mkOption {
+      default = ":9001";
+      type = types.str;
+      description = "IP address and port of the web UI (console).";
     };
 
     dataDir = mkOption {
@@ -99,7 +105,7 @@ in
       after = [ "network.target" ];
       wantedBy = [ "multi-user.target" ];
       serviceConfig = {
-        ExecStart = "${cfg.package}/bin/minio server --json --address ${cfg.listenAddress} --config-dir=${cfg.configDir} ${toString cfg.dataDir}";
+        ExecStart = "${cfg.package}/bin/minio server --json --address ${cfg.listenAddress} --console-address ${cfg.consoleAddress} --config-dir=${cfg.configDir} ${toString cfg.dataDir}";
         Type = "simple";
         User = "minio";
         Group = "minio";
diff --git a/nixpkgs/nixos/modules/services/web-servers/nginx/default.nix b/nixpkgs/nixos/modules/services/web-servers/nginx/default.nix
index ebb3c38d6c25..6682472fdb8e 100644
--- a/nixpkgs/nixos/modules/services/web-servers/nginx/default.nix
+++ b/nixpkgs/nixos/modules/services/web-servers/nginx/default.nix
@@ -22,7 +22,9 @@ let
     } // (optionalAttrs (vhostConfig.enableACME || vhostConfig.useACMEHost != null) {
       sslCertificate = "${certs.${certName}.directory}/fullchain.pem";
       sslCertificateKey = "${certs.${certName}.directory}/key.pem";
-      sslTrustedCertificate = "${certs.${certName}.directory}/chain.pem";
+      sslTrustedCertificate = if vhostConfig.sslTrustedCertificate != null
+                              then vhostConfig.sslTrustedCertificate
+                              else "${certs.${certName}.directory}/chain.pem";
     })
   ) cfg.virtualHosts;
   enableIPv6 = config.networking.enableIPv6;
@@ -169,6 +171,14 @@ let
         map_hash_max_size ${toString cfg.mapHashMaxSize};
       ''}
 
+      ${optionalString (cfg.serverNamesHashBucketSize != null) ''
+        server_names_hash_bucket_size ${toString cfg.serverNamesHashBucketSize};
+      ''}
+
+      ${optionalString (cfg.serverNamesHashMaxSize != null) ''
+        server_names_hash_max_size ${toString cfg.serverNamesHashMaxSize};
+      ''}
+
       # $connection_upgrade is used for websocket proxying
       map $http_upgrade $connection_upgrade {
           default upgrade;
@@ -230,13 +240,13 @@ let
 
         defaultListen =
           if vhost.listen != [] then vhost.listen
-          else optionals (hasSSL || vhost.rejectSSL) (
-            singleton { addr = "0.0.0.0"; port = 443; ssl = true; }
-            ++ optional enableIPv6 { addr = "[::]"; port = 443; ssl = true; }
-          ) ++ optionals (!onlySSL) (
-            singleton { addr = "0.0.0.0"; port = 80; ssl = false; }
-            ++ optional enableIPv6 { addr = "[::]"; port = 80; ssl = false; }
-          );
+          else
+            let addrs = if vhost.listenAddresses != [] then vhost.listenAddresses else (
+              [ "0.0.0.0" ] ++ optional enableIPv6 "[::0]"
+            );
+            in
+          optionals (hasSSL || vhost.rejectSSL) (map (addr: { inherit addr; port = 443; ssl = true; }) addrs)
+          ++ optionals (!onlySSL) (map (addr: { inherit addr; port = 80; ssl = false; }) addrs);
 
         hostListen =
           if vhost.forceSSL
@@ -641,6 +651,23 @@ in
           '';
       };
 
+      serverNamesHashBucketSize = mkOption {
+        type = types.nullOr types.ints.positive;
+        default = null;
+        description = ''
+            Sets the bucket size for the server names hash tables. Default
+            value depends on the processor’s cache line size.
+          '';
+      };
+
+      serverNamesHashMaxSize = mkOption {
+        type = types.nullOr types.ints.positive;
+        default = null;
+        description = ''
+            Sets the maximum size of the server names hash tables.
+          '';
+      };
+
       resolver = mkOption {
         type = types.submodule {
           options = {
diff --git a/nixpkgs/nixos/modules/services/web-servers/nginx/vhost-options.nix b/nixpkgs/nixos/modules/services/web-servers/nginx/vhost-options.nix
index bc18bcaa7b34..94645e927f86 100644
--- a/nixpkgs/nixos/modules/services/web-servers/nginx/vhost-options.nix
+++ b/nixpkgs/nixos/modules/services/web-servers/nginx/vhost-options.nix
@@ -43,7 +43,24 @@ with lib;
         IPv6 addresses must be enclosed in square brackets.
         Note: this option overrides <literal>addSSL</literal>
         and <literal>onlySSL</literal>.
+
+        If you only want to set the addresses manually and not
+        the ports, take a look at <literal>listenAddresses</literal>
+      '';
+    };
+
+    listenAddresses = mkOption {
+      type = with types; listOf str;
+
+      description = ''
+        Listen addresses for this virtual host.
+        Compared to <literal>listen</literal> this only sets the addreses
+        and the ports are choosen automatically.
+
+        Note: This option overrides <literal>enableIPv6</literal>
       '';
+      default = [];
+      example = [ "127.0.0.1" "::1" ];
     };
 
     enableACME = mkOption {
@@ -145,7 +162,7 @@ with lib;
     sslTrustedCertificate = mkOption {
       type = types.nullOr types.path;
       default = null;
-      example = "/var/root.cert";
+      example = "\${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt";
       description = "Path to root SSL certificate for stapling and client certificates.";
     };
 
diff --git a/nixpkgs/nixos/modules/services/x11/desktop-managers/gnome.nix b/nixpkgs/nixos/modules/services/x11/desktop-managers/gnome.nix
index b0859321a525..4bc42525906c 100644
--- a/nixpkgs/nixos/modules/services/x11/desktop-managers/gnome.nix
+++ b/nixpkgs/nixos/modules/services/x11/desktop-managers/gnome.nix
@@ -372,6 +372,13 @@ in
       xdg.portal.enable = true;
       xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
 
+      # Harmonize Qt5 application style and also make them use the portal for file chooser dialog.
+      qt5 = {
+        enable = mkDefault true;
+        platformTheme = mkDefault "gnome";
+        style = mkDefault "adwaita";
+      };
+
       networking.networkmanager.enable = mkDefault true;
 
       services.xserver.updateDbusEnvironment = true;
diff --git a/nixpkgs/nixos/modules/services/x11/desktop-managers/plasma5.nix b/nixpkgs/nixos/modules/services/x11/desktop-managers/plasma5.nix
index b6be524aea66..aac905fea437 100644
--- a/nixpkgs/nixos/modules/services/x11/desktop-managers/plasma5.nix
+++ b/nixpkgs/nixos/modules/services/x11/desktop-managers/plasma5.nix
@@ -271,13 +271,14 @@ in
           kmenuedit
           kscreen
           kscreenlocker
-          ksysguard
+          ksystemstats
           kwayland
           kwin
           kwrited
           libkscreen
           libksysguard
           milou
+          plasma-systemmonitor
           plasma-browser-integration
           plasma-integration
           polkit-kde-agent
diff --git a/nixpkgs/nixos/modules/services/x11/display-managers/account-service-util.nix b/nixpkgs/nixos/modules/services/x11/display-managers/account-service-util.nix
index dec5c06cb3ca..861976d1186f 100644
--- a/nixpkgs/nixos/modules/services/x11/display-managers/account-service-util.nix
+++ b/nixpkgs/nixos/modules/services/x11/display-managers/account-service-util.nix
@@ -39,6 +39,6 @@ python3.pkgs.buildPythonApplication {
   '';
 
   meta = with lib; {
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ ] ++ teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/nixos/modules/services/x11/display-managers/default.nix b/nixpkgs/nixos/modules/services/x11/display-managers/default.nix
index e04fcdaf4145..584dfb63c4dc 100644
--- a/nixpkgs/nixos/modules/services/x11/display-managers/default.nix
+++ b/nixpkgs/nixos/modules/services/x11/display-managers/default.nix
@@ -18,7 +18,6 @@ let
 
   fontconfig = config.fonts.fontconfig;
   xresourcesXft = pkgs.writeText "Xresources-Xft" ''
-    ${optionalString (fontconfig.dpi != 0) ''Xft.dpi: ${toString fontconfig.dpi}''}
     Xft.antialias: ${if fontconfig.antialias then "1" else "0"}
     Xft.rgba: ${fontconfig.subpixel.rgba}
     Xft.lcdfilter: lcd${fontconfig.subpixel.lcdfilter}
diff --git a/nixpkgs/nixos/modules/services/x11/display-managers/gdm.nix b/nixpkgs/nixos/modules/services/x11/display-managers/gdm.nix
index ef9ec438cc1c..5c4c6c67fd02 100644
--- a/nixpkgs/nixos/modules/services/x11/display-managers/gdm.nix
+++ b/nixpkgs/nixos/modules/services/x11/display-managers/gdm.nix
@@ -164,6 +164,11 @@ in
     systemd.packages = with pkgs.gnome; [ gdm gnome-session gnome-shell ];
     environment.systemPackages = [ pkgs.gnome.adwaita-icon-theme ];
 
+    # We dont use the upstream gdm service
+    # it has to be disabled since the gdm package has it
+    # https://github.com/NixOS/nixpkgs/issues/108672
+    systemd.services.gdm.enable = false;
+
     systemd.services.display-manager.wants = [
       # Because sd_login_monitor_new requires /run/systemd/machines
       "systemd-machined.service"
@@ -309,7 +314,7 @@ in
         password required       pam_deny.so
 
         session  required       pam_succeed_if.so audit quiet_success user = gdm
-        session  required       pam_env.so conffile=${config.system.build.pamEnvironment} readenv=0
+        session  required       pam_env.so conffile=/etc/pam/environment readenv=0
         session  optional       ${pkgs.systemd}/lib/security/pam_systemd.so
         session  optional       pam_keyinit.so force revoke
         session  optional       pam_permit.so
diff --git a/nixpkgs/nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix b/nixpkgs/nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix
index 76f16646cf5e..f18e4a914e57 100644
--- a/nixpkgs/nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix
+++ b/nixpkgs/nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix
@@ -10,8 +10,8 @@ let
 
 in
 {
-  meta = {
-    maintainers = with maintainers; [ ];
+  meta = with lib; {
+    maintainers = with maintainers; [ ] ++ teams.pantheon.members;
   };
 
   options = {
diff --git a/nixpkgs/nixos/modules/services/x11/display-managers/lightdm.nix b/nixpkgs/nixos/modules/services/x11/display-managers/lightdm.nix
index 3d497c9f25ee..41c1b635f5d6 100644
--- a/nixpkgs/nixos/modules/services/x11/display-managers/lightdm.nix
+++ b/nixpkgs/nixos/modules/services/x11/display-managers/lightdm.nix
@@ -69,8 +69,8 @@ let
 
 in
 {
-  meta = {
-    maintainers = with maintainers; [ ];
+  meta = with lib; {
+    maintainers = with maintainers; [ ] ++ teams.pantheon.members;
   };
 
   # Note: the order in which lightdm greeter modules are imported
@@ -284,7 +284,7 @@ in
         password required       pam_deny.so
 
         session  required       pam_succeed_if.so audit quiet_success user = lightdm
-        session  required       pam_env.so conffile=${config.system.build.pamEnvironment} readenv=0
+        session  required       pam_env.so conffile=/etc/pam/environment readenv=0
         session  optional       ${pkgs.systemd}/lib/security/pam_systemd.so
         session  optional       pam_keyinit.so force revoke
         session  optional       pam_permit.so
diff --git a/nixpkgs/nixos/modules/services/x11/display-managers/sddm.nix b/nixpkgs/nixos/modules/services/x11/display-managers/sddm.nix
index 116994db1c14..d79b3cda2fcc 100644
--- a/nixpkgs/nixos/modules/services/x11/display-managers/sddm.nix
+++ b/nixpkgs/nixos/modules/services/x11/display-managers/sddm.nix
@@ -229,7 +229,7 @@ in
         password required       pam_deny.so
 
         session  required       pam_succeed_if.so audit quiet_success user = sddm
-        session  required       pam_env.so conffile=${config.system.build.pamEnvironment} readenv=0
+        session  required       pam_env.so conffile=/etc/pam/environment readenv=0
         session  optional       ${pkgs.systemd}/lib/security/pam_systemd.so
         session  optional       pam_keyinit.so force revoke
         session  optional       pam_permit.so
diff --git a/nixpkgs/nixos/modules/services/x11/display-managers/set-session.py b/nixpkgs/nixos/modules/services/x11/display-managers/set-session.py
index 0cca80af44e8..75940efe32b4 100755
--- a/nixpkgs/nixos/modules/services/x11/display-managers/set-session.py
+++ b/nixpkgs/nixos/modules/services/x11/display-managers/set-session.py
@@ -72,11 +72,14 @@ def main():
                     f"Setting session name: {session}, as we found the existing wayland-session: {session_file}"
                 )
                 user.set_session(session)
+                user.set_session_type("wayland")
             elif is_session_xsession(session_file):
                 logging.debug(
                     f"Setting session name: {session}, as we found the existing xsession: {session_file}"
                 )
                 user.set_x_session(session)
+                user.set_session(session)
+                user.set_session_type("x11")
             else:
                 logging.error(f"Couldn't figure out session type for {session_file}")
                 sys.exit(1)
diff --git a/nixpkgs/nixos/modules/services/x11/display-managers/sx.nix b/nixpkgs/nixos/modules/services/x11/display-managers/sx.nix
new file mode 100644
index 000000000000..132531c0ddc0
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/x11/display-managers/sx.nix
@@ -0,0 +1,37 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let cfg = config.services.xserver.displayManager.sx;
+
+in {
+  options = {
+    services.xserver.displayManager.sx = {
+      enable = mkEnableOption "sx pseudo-display manager" // {
+        description = ''
+          Whether to enable the "sx" pseudo-display manager, which allows users
+          to start manually via the "sx" command from a vt shell. The X server
+          runs under the user's id, not as root. The user must provide a
+          ~/.config/sx/sxrc file containing session startup commands, see
+          sx(1). This is not automatically generated from the desktopManager
+          and windowManager settings. sx doesn't have a way to directly set
+          X server flags, but it can be done by overriding its xorgserver
+          dependency.
+        '';
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    environment.systemPackages = [ pkgs.sx ];
+    services.xserver = {
+      exportConfiguration = true;
+      displayManager = {
+        job.execCmd = "";
+        lightdm.enable = mkForce false;
+      };
+      logFile = mkDefault null;
+    };
+    systemd.services.display-manager.enable = false;
+  };
+}
diff --git a/nixpkgs/nixos/modules/services/x11/window-managers/awesome.nix b/nixpkgs/nixos/modules/services/x11/window-managers/awesome.nix
index 089e9f769f0a..37a14e34f57e 100644
--- a/nixpkgs/nixos/modules/services/x11/window-managers/awesome.nix
+++ b/nixpkgs/nixos/modules/services/x11/window-managers/awesome.nix
@@ -27,7 +27,7 @@ in
         default = [];
         type = types.listOf types.package;
         description = "List of lua packages available for being used in the Awesome configuration.";
-        example = literalExample "[ luaPackages.oocairo ]";
+        example = literalExample "[ pkgs.luaPackages.vicious ]";
       };
 
       package = mkOption {
diff --git a/nixpkgs/nixos/modules/services/x11/window-managers/clfswm.nix b/nixpkgs/nixos/modules/services/x11/window-managers/clfswm.nix
index 171660c53ac3..5015852db69f 100644
--- a/nixpkgs/nixos/modules/services/x11/window-managers/clfswm.nix
+++ b/nixpkgs/nixos/modules/services/x11/window-managers/clfswm.nix
@@ -8,17 +8,27 @@ in
 
 {
   options = {
-    services.xserver.windowManager.clfswm.enable = mkEnableOption "clfswm";
+    services.xserver.windowManager.clfswm = {
+      enable = mkEnableOption "clfswm";
+      package = mkOption {
+        type        = types.package;
+        default     = pkgs.lispPackages.clfswm;
+        defaultText = "pkgs.lispPackages.clfswm";
+        description = ''
+          clfswm package to use.
+        '';
+      };
+    };
   };
 
   config = mkIf cfg.enable {
     services.xserver.windowManager.session = singleton {
       name = "clfswm";
       start = ''
-        ${pkgs.lispPackages.clfswm}/bin/clfswm &
+        ${cfg.package}/bin/clfswm &
         waitPID=$!
       '';
     };
-    environment.systemPackages = [ pkgs.lispPackages.clfswm ];
+    environment.systemPackages = [ cfg.package ];
   };
 }
diff --git a/nixpkgs/nixos/modules/services/x11/window-managers/default.nix b/nixpkgs/nixos/modules/services/x11/window-managers/default.nix
index 53285fbce877..d71738ea633f 100644
--- a/nixpkgs/nixos/modules/services/x11/window-managers/default.nix
+++ b/nixpkgs/nixos/modules/services/x11/window-managers/default.nix
@@ -26,6 +26,7 @@ in
     ./leftwm.nix
     ./lwm.nix
     ./metacity.nix
+    ./mlvwm.nix
     ./mwm.nix
     ./openbox.nix
     ./pekwm.nix
diff --git a/nixpkgs/nixos/modules/services/x11/window-managers/mlvwm.nix b/nixpkgs/nixos/modules/services/x11/window-managers/mlvwm.nix
new file mode 100644
index 000000000000..08dd04020296
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/x11/window-managers/mlvwm.nix
@@ -0,0 +1,41 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let cfg = config.services.xserver.windowManager.mlvwm;
+
+in
+{
+
+  options.services.xserver.windowManager.mlvwm = {
+    enable = mkEnableOption "Macintosh-like Virtual Window Manager";
+
+    configFile = mkOption {
+      default = null;
+      type = with types; nullOr path;
+      description = ''
+        Path to the mlvwm configuration file.
+        If left at the default value, $HOME/.mlvwmrc will be used.
+      '';
+    };
+  };
+
+  config = mkIf cfg.enable {
+
+    services.xserver.windowManager.session = [{
+      name = "mlvwm";
+      start = ''
+        ${pkgs.mlvwm}/bin/mlvwm ${optionalString (cfg.configFile != null)
+          "-f /etc/mlvwm/mlvwmrc"
+        } &
+        waitPID=$!
+      '';
+    }];
+
+    environment.etc."mlvwm/mlvwmrc" = mkIf (cfg.configFile != null) {
+      source = cfg.configFile;
+    };
+
+    environment.systemPackages = [ pkgs.mlvwm ];
+  };
+}
diff --git a/nixpkgs/nixos/modules/services/x11/window-managers/qtile.nix b/nixpkgs/nixos/modules/services/x11/window-managers/qtile.nix
index cadc316bbc4f..835b41d4ada9 100644
--- a/nixpkgs/nixos/modules/services/x11/window-managers/qtile.nix
+++ b/nixpkgs/nixos/modules/services/x11/window-managers/qtile.nix
@@ -15,7 +15,7 @@ in
     services.xserver.windowManager.session = [{
       name = "qtile";
       start = ''
-        ${pkgs.qtile}/bin/qtile &
+        ${pkgs.qtile}/bin/qtile start &
         waitPID=$!
       '';
     }];
diff --git a/nixpkgs/nixos/modules/services/x11/xserver.nix b/nixpkgs/nixos/modules/services/x11/xserver.nix
index 37e004ae80a7..ad9bd88f98aa 100644
--- a/nixpkgs/nixos/modules/services/x11/xserver.nix
+++ b/nixpkgs/nixos/modules/services/x11/xserver.nix
@@ -297,7 +297,11 @@ in
       dpi = mkOption {
         type = types.nullOr types.int;
         default = null;
-        description = "DPI resolution to use for X server.";
+        description = ''
+          Force global DPI resolution to use for X server. It's recommended to
+          use this only when DPI is detected incorrectly; also consider using
+          <literal>Monitor</literal> section in configuration file instead.
+        '';
       };
 
       updateDbusEnvironment = mkOption {
@@ -657,6 +661,7 @@ in
         pkgs.xterm
         pkgs.xdg-utils
         xorg.xf86inputevdev.out # get evdev.4 man page
+        pkgs.nixos-icons # needed for gnome and pantheon about dialog, nixos-manual and maybe more
       ]
       ++ optional (elem "virtualbox" cfg.videoDrivers) xorg.xrefresh;
 
@@ -680,7 +685,7 @@ in
     systemd.services.display-manager =
       { description = "X11 Server";
 
-        after = [ "acpid.service" "systemd-logind.service" ];
+        after = [ "acpid.service" "systemd-logind.service" "systemd-user-sessions.service" ];
 
         restartIfChanged = false;
 
diff --git a/nixpkgs/nixos/modules/system/activation/switch-to-configuration.pl b/nixpkgs/nixos/modules/system/activation/switch-to-configuration.pl
index 8bd85465472f..dd391c8b5d78 100644
--- a/nixpkgs/nixos/modules/system/activation/switch-to-configuration.pl
+++ b/nixpkgs/nixos/modules/system/activation/switch-to-configuration.pl
@@ -243,9 +243,13 @@ while (my ($unit, $state) = each %{$activePrev}) {
                             foreach my $socket (@sockets) {
                                 if (defined $activePrev->{$socket}) {
                                     $unitsToStop{$socket} = 1;
-                                    $unitsToStart{$socket} = 1;
-                                    recordUnit($startListFile, $socket);
-                                    $socketActivated = 1;
+                                    # Only restart sockets that actually
+                                    # exist in new configuration:
+                                    if (-e "$out/etc/systemd/system/$socket") {
+                                        $unitsToStart{$socket} = 1;
+                                        recordUnit($startListFile, $socket);
+                                        $socketActivated = 1;
+                                    }
                                 }
                             }
                         }
diff --git a/nixpkgs/nixos/modules/system/activation/top-level.nix b/nixpkgs/nixos/modules/system/activation/top-level.nix
index 4e2f25cd27fc..d3e4923a993f 100644
--- a/nixpkgs/nixos/modules/system/activation/top-level.nix
+++ b/nixpkgs/nixos/modules/system/activation/top-level.nix
@@ -125,7 +125,7 @@ let
     else showWarnings config.warnings baseSystem;
 
   # Replace runtime dependencies
-  system = fold ({ oldDependency, newDependency }: drv:
+  system = foldr ({ oldDependency, newDependency }: drv:
       pkgs.replaceDependency { inherit oldDependency newDependency drv; }
     ) baseSystemAssertWarn config.system.replaceRuntimeDependencies;
 
diff --git a/nixpkgs/nixos/modules/system/boot/binfmt.nix b/nixpkgs/nixos/modules/system/boot/binfmt.nix
index cbdf581d73a7..2408ecc80d22 100644
--- a/nixpkgs/nixos/modules/system/boot/binfmt.nix
+++ b/nixpkgs/nixos/modules/system/boot/binfmt.nix
@@ -1,6 +1,6 @@
 { config, lib, pkgs, ... }:
 let
-  inherit (lib) mkOption types optionalString;
+  inherit (lib) mkOption types optionalString stringAfter;
 
   cfg = config.boot.binfmt;
 
@@ -270,7 +270,7 @@ in {
 
     environment.etc."binfmt.d/nixos.conf".source = builtins.toFile "binfmt_nixos.conf"
       (lib.concatStringsSep "\n" (lib.mapAttrsToList makeBinfmtLine config.boot.binfmt.registrations));
-    system.activationScripts.binfmt = ''
+    system.activationScripts.binfmt = stringAfter [ "specialfs" ] ''
       mkdir -p -m 0755 /run/binfmt
       ${lib.concatStringsSep "\n" (lib.mapAttrsToList activationSnippet config.boot.binfmt.registrations)}
     '';
diff --git a/nixpkgs/nixos/modules/system/boot/kexec.nix b/nixpkgs/nixos/modules/system/boot/kexec.nix
index 03312aa26edc..02c2713ede11 100644
--- a/nixpkgs/nixos/modules/system/boot/kexec.nix
+++ b/nixpkgs/nixos/modules/system/boot/kexec.nix
@@ -1,8 +1,8 @@
 { pkgs, lib, ... }:
 
 {
-  config = lib.mkIf (lib.meta.availableOn pkgs.stdenv.hostPlatform pkgs.kexectools) {
-    environment.systemPackages = [ pkgs.kexectools ];
+  config = lib.mkIf (lib.meta.availableOn pkgs.stdenv.hostPlatform pkgs.kexec-tools) {
+    environment.systemPackages = [ pkgs.kexec-tools ];
 
     systemd.services.prepare-kexec =
       { description = "Preparation for kexec";
@@ -10,7 +10,7 @@
         before = [ "systemd-kexec.service" ];
         unitConfig.DefaultDependencies = false;
         serviceConfig.Type = "oneshot";
-        path = [ pkgs.kexectools ];
+        path = [ pkgs.kexec-tools ];
         script =
           ''
             # Don't load the current system profile if we already have a kernel loaded
diff --git a/nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix b/nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix
index c6ec9acd54c1..1be663670384 100644
--- a/nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix
+++ b/nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix
@@ -75,7 +75,7 @@ let
              else "${convertedFont}");
     });
 
-  bootDeviceCounters = fold (device: attr: attr // { ${device} = (attr.${device} or 0) + 1; }) {}
+  bootDeviceCounters = foldr (device: attr: attr // { ${device} = (attr.${device} or 0) + 1; }) {}
     (concatMap (args: args.devices) cfg.mirroredBoots);
 
   convertedFont = (pkgs.runCommand "grub-font-converted.pf2" {}
@@ -553,6 +553,8 @@ in
         apply = toString;
         description = ''
           Index of the default menu item to be booted.
+          Can also be set to "saved", which will make GRUB select
+          the menu item that was used at the last boot.
         '';
       };
 
diff --git a/nixpkgs/nixos/modules/system/boot/loader/grub/install-grub.pl b/nixpkgs/nixos/modules/system/boot/loader/grub/install-grub.pl
index e0167654748e..4d8537d4c327 100644
--- a/nixpkgs/nixos/modules/system/boot/loader/grub/install-grub.pl
+++ b/nixpkgs/nixos/modules/system/boot/loader/grub/install-grub.pl
@@ -85,6 +85,7 @@ my $bootloaderId = get("bootloaderId");
 my $forceInstall = get("forceInstall");
 my $font = get("font");
 my $theme = get("theme");
+my $saveDefault = $defaultEntry eq "saved";
 $ENV{'PATH'} = get("path");
 
 die "unsupported GRUB version\n" if $grubVersion != 1 && $grubVersion != 2;
@@ -250,6 +251,8 @@ if ($copyKernels == 0) {
 my $conf .= "# Automatically generated.  DO NOT EDIT THIS FILE!\n";
 
 if ($grubVersion == 1) {
+    # $defaultEntry might be "saved", indicating that we want to use the last selected configuration as default.
+    # Incidentally this is already the correct value for the grub 1 config to achieve this behaviour.
     $conf .= "
     default $defaultEntry
     timeout $timeout
@@ -305,6 +308,10 @@ else {
         " . $grubStore->search;
     }
     # FIXME: should use grub-mkconfig.
+    my $defaultEntryText = $defaultEntry;
+    if ($saveDefault) {
+        $defaultEntryText = "\"\${saved_entry}\"";
+    }
     $conf .= "
     " . $grubBoot->search . "
     if [ -s \$prefix/grubenv ]; then
@@ -318,11 +325,19 @@ else {
     set next_entry=
     save_env next_entry
     set timeout=1
+    set boot_once=true
     else
-    set default=$defaultEntry
+    set default=$defaultEntryText
     set timeout=$timeout
     fi
 
+    function savedefault {
+        if [ -z \"\${boot_once}\"]; then
+        saved_entry=\"\${chosen}\"
+        save_env saved_entry
+        fi
+    }
+
     # Setup the graphics stack for bios and efi systems
     if [ \"\${grub_platform}\" = \"efi\" ]; then
     insmod efi_gop
@@ -468,9 +483,16 @@ sub addEntry {
         $conf .= "  $extraPerEntryConfig\n" if $extraPerEntryConfig;
         $conf .= "  kernel $xen $xenParams\n" if $xen;
         $conf .= "  " . ($xen ? "module" : "kernel") . " $kernel $kernelParams\n";
-        $conf .= "  " . ($xen ? "module" : "initrd") . " $initrd\n\n";
+        $conf .= "  " . ($xen ? "module" : "initrd") . " $initrd\n";
+        if ($saveDefault) {
+            $conf .= "  savedefault\n";
+        }
+        $conf .= "\n";
     } else {
         $conf .= "menuentry \"$name\" " . ($options||"") . " {\n";
+        if ($saveDefault) {
+            $conf .= "  savedefault\n";
+        }
         $conf .= $grubBoot->search . "\n";
         if ($copyKernels == 0) {
             $conf .= $grubStore->search . "\n";
@@ -605,6 +627,11 @@ my $efiTarget = getEfiTarget();
 
 # Append entries detected by os-prober
 if (get("useOSProber") eq "true") {
+    if ($saveDefault) {
+        # os-prober will read this to determine if "savedefault" should be added to generated entries
+        $ENV{'GRUB_SAVEDEFAULT'} = "true";
+    }
+
     my $targetpackage = ($efiTarget eq "no") ? $grub : $grubEfi;
     system(get("shell"), "-c", "pkgdatadir=$targetpackage/share/grub $targetpackage/etc/grub.d/30_os-prober >> $tmpFile");
 }
diff --git a/nixpkgs/nixos/modules/system/boot/resolved.nix b/nixpkgs/nixos/modules/system/boot/resolved.nix
index 84bc9b78076c..a6fc07da0abb 100644
--- a/nixpkgs/nixos/modules/system/boot/resolved.nix
+++ b/nixpkgs/nixos/modules/system/boot/resolved.nix
@@ -140,7 +140,8 @@ in
 
     # add resolve to nss hosts database if enabled and nscd enabled
     # system.nssModules is configured in nixos/modules/system/boot/systemd.nix
-    system.nssDatabases.hosts = optional config.services.nscd.enable "resolve [!UNAVAIL=return]";
+    # added with order 501 to allow modules to go before with mkBefore
+    system.nssDatabases.hosts = (mkOrder 501 ["resolve [!UNAVAIL=return]"]);
 
     systemd.additionalUpstreamSystemUnits = [
       "systemd-resolved.service"
diff --git a/nixpkgs/nixos/modules/system/boot/stage-1-init.sh b/nixpkgs/nixos/modules/system/boot/stage-1-init.sh
index ddaf985878e0..3dfcc010b64e 100644
--- a/nixpkgs/nixos/modules/system/boot/stage-1-init.sh
+++ b/nixpkgs/nixos/modules/system/boot/stage-1-init.sh
@@ -542,7 +542,7 @@ while read -u 3 mountPoint; do
     # If copytoram is enabled: skip mounting the ISO and copy its content to a tmpfs.
     if [ -n "$copytoram" ] && [ "$device" = /dev/root ] && [ "$mountPoint" = /iso ]; then
       fsType=$(blkid -o value -s TYPE "$device")
-      fsSize=$(blockdev --getsize64 "$device")
+      fsSize=$(blockdev --getsize64 "$device" || stat -Lc '%s' "$device")
 
       mkdir -p /tmp-iso
       mount -t "$fsType" /dev/root /tmp-iso
diff --git a/nixpkgs/nixos/modules/system/boot/stage-1.nix b/nixpkgs/nixos/modules/system/boot/stage-1.nix
index d606d473d91e..03133fa1bc43 100644
--- a/nixpkgs/nixos/modules/system/boot/stage-1.nix
+++ b/nixpkgs/nixos/modules/system/boot/stage-1.nix
@@ -375,7 +375,7 @@ let
         }
         trap cleanup EXIT
 
-        tmp=$(mktemp -d initrd-secrets.XXXXXXXXXX)
+        tmp=$(mktemp -d ''${TMPDIR:-/tmp}/initrd-secrets.XXXXXXXXXX)
 
         ${lib.concatStringsSep "\n" (mapAttrsToList (dest: source:
             let source' = if source == null then dest else toString source; in
diff --git a/nixpkgs/nixos/modules/system/boot/systemd.nix b/nixpkgs/nixos/modules/system/boot/systemd.nix
index adc226d89913..644ee9d2e46a 100644
--- a/nixpkgs/nixos/modules/system/boot/systemd.nix
+++ b/nixpkgs/nixos/modules/system/boot/systemd.nix
@@ -70,7 +70,10 @@ let
 
       # Journal.
       "systemd-journald.socket"
+      "systemd-journald@.socket"
+      "systemd-journald-varlink@.socket"
       "systemd-journald.service"
+      "systemd-journald@.service"
       "systemd-journal-flush.service"
       "systemd-journal-catalog-update.service"
       ] ++ (optional (!config.boot.isContainer) "systemd-journald-audit.socket") ++ [
@@ -925,9 +928,8 @@ in
     system.nssModules = [ systemd.out ];
     system.nssDatabases = {
       hosts = (mkMerge [
-        [ "mymachines" ]
-        (mkOrder 1600 [ "myhostname" ] # 1600 to ensure it's always the last
-      )
+        (mkOrder 400 ["mymachines"]) # 400 to ensure it comes before resolve (which is mkBefore'd)
+        (mkOrder 999 ["myhostname"]) # after files (which is 998), but before regular nss modules
       ]);
       passwd = (mkMerge [
         (mkAfter [ "systemd" ])
@@ -1045,7 +1047,7 @@ in
           done
         '' + concatMapStrings (name: optionalString (hasPrefix "tmpfiles.d/" name) ''
           rm -f $out/${removePrefix "tmpfiles.d/" name}
-        '') config.system.build.etc.targets;
+        '') config.system.build.etc.passthru.targets;
       }) + "/*";
 
       "systemd/system-generators" = { source = hooks "generators" cfg.generators; };
@@ -1054,6 +1056,7 @@ in
 
     services.dbus.enable = true;
 
+    users.users.systemd-coredump.uid = config.ids.uids.systemd-coredump;
     users.users.systemd-network.uid = config.ids.uids.systemd-network;
     users.groups.systemd-network.gid = config.ids.gids.systemd-network;
     users.users.systemd-resolve.uid = config.ids.uids.systemd-resolve;
@@ -1130,6 +1133,7 @@ in
 
     users.groups.systemd-journal.gid = config.ids.gids.systemd-journal;
     users.users.systemd-journal-gateway.uid = config.ids.uids.systemd-journal-gateway;
+    users.users.systemd-journal-gateway.group = "systemd-journal-gateway";
     users.groups.systemd-journal-gateway.gid = config.ids.gids.systemd-journal-gateway;
 
     # Generate timer units for all services that have a ‘startAt’ value.
@@ -1182,6 +1186,8 @@ in
     systemd.services."user-runtime-dir@".restartIfChanged = false;
     systemd.services.systemd-journald.restartTriggers = [ config.environment.etc."systemd/journald.conf".source ];
     systemd.services.systemd-journald.stopIfChanged = false;
+    systemd.services."systemd-journald@".restartTriggers = [ config.environment.etc."systemd/journald.conf".source ];
+    systemd.services."systemd-journald@".stopIfChanged = false;
     systemd.targets.local-fs.unitConfig.X-StopOnReconfiguration = true;
     systemd.targets.remote-fs.unitConfig.X-StopOnReconfiguration = true;
     systemd.targets.network-online.wantedBy = [ "multi-user.target" ];
diff --git a/nixpkgs/nixos/modules/system/etc/etc.nix b/nixpkgs/nixos/modules/system/etc/etc.nix
index a450f303572e..84468ea31f74 100644
--- a/nixpkgs/nixos/modules/system/etc/etc.nix
+++ b/nixpkgs/nixos/modules/system/etc/etc.nix
@@ -6,23 +6,62 @@ with lib;
 
 let
 
-  etc' = filter (f: f.enable) (attrValues config.environment.etc);
-
-  etc = pkgs.stdenvNoCC.mkDerivation {
-    name = "etc";
-
-    builder = ./make-etc.sh;
-
-    preferLocalBuild = true;
-    allowSubstitutes = false;
-
-    /* !!! Use toXML. */
-    sources = map (x: x.source) etc';
-    targets = map (x: x.target) etc';
-    modes = map (x: x.mode) etc';
-    users  = map (x: x.user) etc';
-    groups  = map (x: x.group) etc';
-  };
+  # if the source is a local file, it should be imported to the store
+  localToStore = mapAttrs (name: value: if name == "source" then "${value}" else value);
+  etc' = map localToStore (filter (f: f.enable) (attrValues config.environment.etc));
+
+  etc = pkgs.runCommandLocal "etc" {
+    # This is needed for the systemd module
+    passthru.targets = map (x: x.target) etc';
+  } /* sh */ ''
+    set -euo pipefail
+
+    makeEtcEntry() {
+      src="$1"
+      target="$2"
+      mode="$3"
+      user="$4"
+      group="$5"
+
+      if [[ "$src" = *'*'* ]]; then
+        # If the source name contains '*', perform globbing.
+        mkdir -p "$out/etc/$target"
+        for fn in $src; do
+            ln -s "$fn" "$out/etc/$target/"
+        done
+      else
+
+        mkdir -p "$out/etc/$(dirname "$target")"
+        if ! [ -e "$out/etc/$target" ]; then
+          ln -s "$src" "$out/etc/$target"
+        else
+          echo "duplicate entry $target -> $src"
+          if [ "$(readlink "$out/etc/$target")" != "$src" ]; then
+            echo "mismatched duplicate entry $(readlink "$out/etc/$target") <-> $src"
+            ret=1
+
+            continue
+          fi
+        fi
+
+        if [ "$mode" != symlink ]; then
+          echo "$mode" > "$out/etc/$target.mode"
+          echo "$user" > "$out/etc/$target.uid"
+          echo "$group" > "$out/etc/$target.gid"
+        fi
+      fi
+    }
+
+    mkdir -p "$out/etc"
+    ${concatMapStringsSep "\n" (etcEntry: escapeShellArgs [
+      "makeEtcEntry"
+      etcEntry.source
+      etcEntry.target
+      etcEntry.mode
+      etcEntry.user
+      etcEntry.group
+    ]) etc'}
+  '';
 
 in
 
diff --git a/nixpkgs/nixos/modules/system/etc/make-etc.sh b/nixpkgs/nixos/modules/system/etc/make-etc.sh
deleted file mode 100644
index aabfb5e88a65..000000000000
--- a/nixpkgs/nixos/modules/system/etc/make-etc.sh
+++ /dev/null
@@ -1,45 +0,0 @@
-source $stdenv/setup
-
-mkdir -p $out/etc
-
-set -f
-sources_=($sources)
-targets_=($targets)
-modes_=($modes)
-users_=($users)
-groups_=($groups)
-set +f
-
-for ((i = 0; i < ${#targets_[@]}; i++)); do
-    source="${sources_[$i]}"
-    target="${targets_[$i]}"
-
-    if [[ "$source" =~ '*' ]]; then
-
-        # If the source name contains '*', perform globbing.
-        mkdir -p $out/etc/$target
-        for fn in $source; do
-            ln -s "$fn" $out/etc/$target/
-        done
-
-    else
-
-        mkdir -p $out/etc/$(dirname $target)
-        if ! [ -e $out/etc/$target ]; then
-            ln -s $source $out/etc/$target
-        else
-            echo "duplicate entry $target -> $source"
-            if test "$(readlink $out/etc/$target)" != "$source"; then
-                echo "mismatched duplicate entry $(readlink $out/etc/$target) <-> $source"
-                exit 1
-            fi
-        fi
-
-        if test "${modes_[$i]}" != symlink; then
-            echo "${modes_[$i]}"  > $out/etc/$target.mode
-            echo "${users_[$i]}"  > $out/etc/$target.uid
-            echo "${groups_[$i]}" > $out/etc/$target.gid
-        fi
-
-    fi
-done
diff --git a/nixpkgs/nixos/modules/tasks/encrypted-devices.nix b/nixpkgs/nixos/modules/tasks/encrypted-devices.nix
index dd337de98698..06117d19af46 100644
--- a/nixpkgs/nixos/modules/tasks/encrypted-devices.nix
+++ b/nixpkgs/nixos/modules/tasks/encrypted-devices.nix
@@ -8,7 +8,7 @@ let
   keyedEncDevs = filter (dev: dev.encrypted.keyFile != null) encDevs;
   keylessEncDevs = filter (dev: dev.encrypted.keyFile == null) encDevs;
   anyEncrypted =
-    fold (j: v: v || j.encrypted.enable) false encDevs;
+    foldr (j: v: v || j.encrypted.enable) false encDevs;
 
   encryptedFSOptions = {
 
diff --git a/nixpkgs/nixos/modules/tasks/filesystems.nix b/nixpkgs/nixos/modules/tasks/filesystems.nix
index d274a38a270f..4f56504f45e7 100644
--- a/nixpkgs/nixos/modules/tasks/filesystems.nix
+++ b/nixpkgs/nixos/modules/tasks/filesystems.nix
@@ -255,7 +255,7 @@ in
         # https://wiki.archlinux.org/index.php/fstab#Filepath_spaces
         escape = string: builtins.replaceStrings [ " " "\t" ] [ "\\040" "\\011" ] string;
         swapOptions = sw: concatStringsSep "," (
-          [ "defaults" ]
+          sw.options
           ++ optional (sw.priority != null) "pri=${toString sw.priority}"
           ++ optional (sw.discardPolicy != null) "discard${optionalString (sw.discardPolicy != "both") "=${toString sw.discardPolicy}"}"
         );
@@ -264,6 +264,8 @@ in
         #
         # To make changes, edit the fileSystems and swapDevices NixOS options
         # in your /etc/nixos/configuration.nix file.
+        #
+        # <file system> <mount point>   <type>  <options>       <dump>  <pass>
 
         # Filesystems.
         ${concatMapStrings (fs:
@@ -324,28 +326,33 @@ in
       in listToAttrs (map formatDevice (filter (fs: fs.autoFormat) 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.
-    # Since the pstore filesystem is usually empty right after mounting because the backend isn't registered yet, and a path unit cannot detect files inside of it, the same service waits for that to happen. systemd's restart mechanism can't be used here because the first failure also fails all dependent units.
         "mount-pstore" = {
           serviceConfig = {
             Type = "oneshot";
-            ExecStart = "${pkgs.util-linux}/bin/mount -t pstore -o nosuid,noexec,nodev pstore /sys/fs/pstore";
-            ExecStartPost = pkgs.writeShellScript "wait-for-pstore.sh" ''
+            # skip on kernels without the pstore module
+            ExecCondition = "${pkgs.kmod}/bin/modprobe -b pstore";
+            ExecStart = pkgs.writeShellScript "mount-pstore.sh" ''
               set -eu
-              TRIES=0
-              while [ $TRIES -lt 20 ] && [ "$(cat /sys/module/pstore/parameters/backend)" = "(null)" ]; do
-                sleep 0.1
-                TRIES=$((TRIES+1))
+              # if the pstore module is builtin it will have mounted the persistent store automatically. it may also be already mounted for other reasons.
+              ${pkgs.util-linux}/bin/mountpoint -q /sys/fs/pstore || ${pkgs.util-linux}/bin/mount -t pstore -o nosuid,noexec,nodev pstore /sys/fs/pstore
+              # wait up to 1.5 seconds for the backend to be registered and the files to appear. a systemd path unit cannot detect this happening; and succeeding after a restart would not start dependent units.
+              TRIES=15
+              while [ "$(cat /sys/module/pstore/parameters/backend)" = "(null)" ]; do
+                if (( $TRIES )); then
+                  sleep 0.1
+                  TRIES=$((TRIES-1))
+                else
+                  echo "Persistent Storage backend was not registered in time." >&2
+                  break
+                fi
               done
             '';
             RemainAfterExit = true;
           };
           unitConfig = {
-            ConditionPathIsMountPoint = "!/sys/fs/pstore";
             ConditionVirtualization = "!container";
             DefaultDependencies = false; # needed to prevent a cycle
           };
-          after = [ "modprobe@pstore.service" ];
-          requires = [ "modprobe@pstore.service" ];
           before = [ "systemd-pstore.service" ];
           wantedBy = [ "systemd-pstore.service" ];
         };
diff --git a/nixpkgs/nixos/modules/tasks/filesystems/exfat.nix b/nixpkgs/nixos/modules/tasks/filesystems/exfat.nix
index 1527f993fdd4..540b9b91c3ec 100644
--- a/nixpkgs/nixos/modules/tasks/filesystems/exfat.nix
+++ b/nixpkgs/nixos/modules/tasks/filesystems/exfat.nix
@@ -4,8 +4,10 @@ with lib;
 
 {
   config = mkIf (any (fs: fs == "exfat") config.boot.supportedFilesystems) {
-
-    system.fsPackages = [ pkgs.exfat ];
-
+    system.fsPackages = if config.boot.kernelPackages.kernelOlder "5.7" then [
+      pkgs.exfat # FUSE
+    ] else [
+      pkgs.exfatprogs # non-FUSE
+    ];
   };
 }
diff --git a/nixpkgs/nixos/modules/tasks/filesystems/zfs.nix b/nixpkgs/nixos/modules/tasks/filesystems/zfs.nix
index 376d6530f363..cb0e66402476 100644
--- a/nixpkgs/nixos/modules/tasks/filesystems/zfs.nix
+++ b/nixpkgs/nixos/modules/tasks/filesystems/zfs.nix
@@ -8,6 +8,7 @@ with lib;
 let
 
   cfgZfs = config.boot.zfs;
+  cfgExpandOnBoot = config.services.zfs.expandOnBoot;
   cfgSnapshots = config.services.zfs.autoSnapshot;
   cfgSnapFlags = cfgSnapshots.flags;
   cfgScrub = config.services.zfs.autoScrub;
@@ -200,7 +201,6 @@ in
           an interactive prompt (keylocation=prompt) and from a file (keylocation=file://).
         '';
       };
-
     };
 
     services.zfs.autoSnapshot = {
@@ -327,6 +327,23 @@ in
       };
     };
 
+    services.zfs.expandOnBoot = mkOption {
+      type = types.either (types.enum [ "disabled" "all" ]) (types.listOf types.str);
+      default = "disabled";
+      example = [ "tank" "dozer" ];
+      description = ''
+        After importing, expand each device in the specified pools.
+
+        Set the value to the plain string "all" to expand all pools on boot:
+
+            services.zfs.expandOnBoot = "all";
+
+        or set the value to a list of pools to expand the disks of specific pools:
+
+            services.zfs.expandOnBoot = [ "tank" "dozer" ];
+      '';
+    };
+
     services.zfs.zed = {
       enableMail = mkEnableOption "ZED's ability to send emails" // {
         default = cfgZfs.package.enableMail;
@@ -586,6 +603,7 @@ in
               ${cfgZfs.package}/sbin/zfs set nixos:shutdown-time="$(date)" "${pool}"
             '';
           };
+
         createZfsService = serv:
           nameValuePair serv {
             after = [ "systemd-modules-load.service" ];
@@ -609,6 +627,86 @@ in
       systemd.targets.zfs.wantedBy = [ "multi-user.target" ];
     })
 
+    (mkIf (cfgZfs.enabled && cfgExpandOnBoot != "disabled") {
+      systemd.services."zpool-expand@" = {
+        description = "Expand ZFS pools";
+        after = [ "zfs.target" ];
+
+        serviceConfig = {
+          Type = "oneshot";
+          RemainAfterExit = true;
+        };
+
+        scriptArgs = "%i";
+        path = [ pkgs.gawk cfgZfs.package ];
+
+        # ZFS has no way of enumerating just devices in a pool in a way
+        # that 'zpool online -e' supports. Thus, we've implemented a
+        # bit of a strange approach of highlighting just devices.
+        # See: https://github.com/openzfs/zfs/issues/12505
+        script = let
+          # This UUID has been chosen at random and is to provide a
+          # collision-proof, predictable token to search for
+          magicIdentifier = "NIXOS-ZFS-ZPOOL-DEVICE-IDENTIFIER-37108bec-aff6-4b58-9e5e-53c7c9766f05";
+          zpoolScripts = pkgs.writeShellScriptBin "device-highlighter" ''
+            echo "${magicIdentifier}"
+          '';
+        in ''
+          pool=$1
+
+          echo "Expanding all devices for $pool."
+
+          # Put our device-highlighter script it to the PATH
+          export ZPOOL_SCRIPTS_PATH=${zpoolScripts}/bin
+
+          # Enable running our precisely specified zpool script as root
+          export ZPOOL_SCRIPTS_AS_ROOT=1
+
+          devices() (
+            zpool status -c device-highlighter "$pool" \
+             | awk '($2 == "ONLINE" && $6 == "${magicIdentifier}") { print $1; }'
+          )
+
+          for device in $(devices); do
+            echo "Attempting to expand $device of $pool..."
+            if ! zpool online -e "$pool" "$device"; then
+              echo "Failed to expand '$device' of '$pool'."
+            fi
+          done
+        '';
+      };
+
+      systemd.services."zpool-expand-pools" =
+        let
+          # Create a string, to be interpolated in a bash script
+          # which enumerates all of the pools to expand.
+          # If the `pools` option is `true`, we want to dynamically
+          # expand every pool. Otherwise we want to enumerate
+          # just the specifically provided list of pools.
+          poolListProvider = if cfgExpandOnBoot == "all"
+            then "$(zpool list -H | awk '{print $1}')"
+            else lib.escapeShellArgs cfgExpandOnBoot;
+        in
+        {
+          description = "Expand specified ZFS pools";
+          wantedBy = [ "default.target" ];
+          after = [ "zfs.target" ];
+
+          serviceConfig = {
+            Type = "oneshot";
+            RemainAfterExit = true;
+          };
+
+          path = [ pkgs.gawk cfgZfs.package ];
+
+          script = ''
+            for pool in ${poolListProvider}; do
+              systemctl start --no-block "zpool-expand@$pool"
+            done
+          '';
+        };
+    })
+
     (mkIf (cfgZfs.enabled && cfgSnapshots.enable) {
       systemd.services = let
                            descr = name: if name == "frequent" then "15 mins"
diff --git a/nixpkgs/nixos/modules/tasks/network-interfaces-systemd.nix b/nixpkgs/nixos/modules/tasks/network-interfaces-systemd.nix
index 1c145e8ff477..225f9dc67fcc 100644
--- a/nixpkgs/nixos/modules/tasks/network-interfaces-systemd.nix
+++ b/nixpkgs/nixos/modules/tasks/network-interfaces-systemd.nix
@@ -33,9 +33,6 @@ in
       assertion = cfg.defaultGatewayWindowSize == null;
       message = "networking.defaultGatewayWindowSize is not supported by networkd.";
     } {
-      assertion = cfg.vswitches == {};
-      message = "networking.vswitches are not supported by networkd.";
-    } {
       assertion = cfg.defaultGateway == null || cfg.defaultGateway.interface == null;
       message = "networking.defaultGateway.interface is not supported by networkd.";
     } {
diff --git a/nixpkgs/nixos/modules/tasks/network-interfaces.nix b/nixpkgs/nixos/modules/tasks/network-interfaces.nix
index 879f077332e3..8f9c66b01572 100644
--- a/nixpkgs/nixos/modules/tasks/network-interfaces.nix
+++ b/nixpkgs/nixos/modules/tasks/network-interfaces.nix
@@ -1296,14 +1296,14 @@ in
             '';
 
             # Udev script to execute for a new WLAN interface. The script configures the new WLAN interface.
-            newInterfaceScript = device: new: pkgs.writeScript "udev-run-script-wlan-interfaces-${new._iName}.sh" ''
+            newInterfaceScript = new: pkgs.writeScript "udev-run-script-wlan-interfaces-${new._iName}.sh" ''
               #!${pkgs.runtimeShell}
               # Configure the new interface
               ${pkgs.iw}/bin/iw dev ${new._iName} set type ${new.type}
-              ${optionalString (new.type == "mesh" && new.meshID!=null) "${pkgs.iw}/bin/iw dev ${device} set meshid ${new.meshID}"}
-              ${optionalString (new.type == "monitor" && new.flags!=null) "${pkgs.iw}/bin/iw dev ${device} set monitor ${new.flags}"}
-              ${optionalString (new.type == "managed" && new.fourAddr!=null) "${pkgs.iw}/bin/iw dev ${device} set 4addr ${if new.fourAddr then "on" else "off"}"}
-              ${optionalString (new.mac != null) "${pkgs.iproute2}/bin/ip link set dev ${device} address ${new.mac}"}
+              ${optionalString (new.type == "mesh" && new.meshID!=null) "${pkgs.iw}/bin/iw dev ${new._iName} set meshid ${new.meshID}"}
+              ${optionalString (new.type == "monitor" && new.flags!=null) "${pkgs.iw}/bin/iw dev ${new._iName} set monitor ${new.flags}"}
+              ${optionalString (new.type == "managed" && new.fourAddr!=null) "${pkgs.iw}/bin/iw dev ${new._iName} set 4addr ${if new.fourAddr then "on" else "off"}"}
+              ${optionalString (new.mac != null) "${pkgs.iproute2}/bin/ip link set dev ${new._iName} address ${new.mac}"}
             '';
 
             # Udev attributes for systemd to name the device and to create a .device target.
@@ -1318,7 +1318,7 @@ in
             # It is important to have that rule first as overwriting the NAME attribute also prevents the
             # next rules from matching.
             ${flip (concatMapStringsSep "\n") (wlanListDeviceFirst device wlanDeviceInterfaces.${device}) (interface:
-            ''ACTION=="add", SUBSYSTEM=="net", ENV{DEVTYPE}=="wlan", ENV{INTERFACE}=="${interface._iName}", ${systemdAttrs interface._iName}, RUN+="${newInterfaceScript device interface}"'')}
+            ''ACTION=="add", SUBSYSTEM=="net", ENV{DEVTYPE}=="wlan", ENV{INTERFACE}=="${interface._iName}", ${systemdAttrs interface._iName}, RUN+="${newInterfaceScript interface}"'')}
 
             # Add the required, new WLAN interfaces to the default WLAN interface with the
             # persistent, default name as assigned by udev.
diff --git a/nixpkgs/nixos/modules/virtualisation/amazon-image.nix b/nixpkgs/nixos/modules/virtualisation/amazon-image.nix
index 26297a7d0f1f..fe248a94488b 100644
--- a/nixpkgs/nixos/modules/virtualisation/amazon-image.nix
+++ b/nixpkgs/nixos/modules/virtualisation/amazon-image.nix
@@ -18,7 +18,15 @@ let
 in
 
 {
-  imports = [ ../profiles/headless.nix ./ec2-data.nix ./amazon-init.nix ];
+  imports = [
+    ../profiles/headless.nix
+    # Note: While we do use the headless profile, we also explicitly
+    # turn on the serial console on ttyS0 below. This is because
+    # AWS does support accessing the serial console:
+    # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configure-access-to-serial-console.html
+    ./ec2-data.nix
+    ./amazon-init.nix
+  ];
 
   config = {
 
@@ -33,23 +41,29 @@ in
 
     boot.growPartition = cfg.hvm;
 
-    fileSystems."/" = {
+    fileSystems."/" = mkIf (!cfg.zfs.enable) {
       device = "/dev/disk/by-label/nixos";
       fsType = "ext4";
       autoResize = true;
     };
 
-    fileSystems."/boot" = mkIf cfg.efi {
+    fileSystems."/boot" = mkIf (cfg.efi || cfg.zfs.enable) {
+      # The ZFS image uses a partition labeled ESP whether or not we're
+      # booting with EFI.
       device = "/dev/disk/by-label/ESP";
       fsType = "vfat";
     };
 
+    services.zfs.expandOnBoot = mkIf cfg.zfs.enable "all";
+
+    boot.zfs.devNodes = mkIf cfg.zfs.enable "/dev/";
+
     boot.extraModulePackages = [
       config.boot.kernelPackages.ena
     ];
     boot.initrd.kernelModules = [ "xen-blkfront" "xen-netfront" ];
     boot.initrd.availableKernelModules = [ "ixgbevf" "ena" "nvme" ];
-    boot.kernelParams = mkIf cfg.hvm [ "console=ttyS0" "random.trust_cpu=on" ];
+    boot.kernelParams = mkIf cfg.hvm [ "console=ttyS0,115200n8" "random.trust_cpu=on" ];
 
     # Prevent the nouveau kernel module from being loaded, as it
     # interferes with the nvidia/nvidia-uvm modules needed for CUDA.
@@ -63,7 +77,12 @@ in
     boot.loader.grub.extraPerEntryConfig = mkIf (!cfg.hvm) "root (hd0)";
     boot.loader.grub.efiSupport = cfg.efi;
     boot.loader.grub.efiInstallAsRemovable = cfg.efi;
-    boot.loader.timeout = 0;
+    boot.loader.timeout = 1;
+    boot.loader.grub.extraConfig = ''
+      serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1
+      terminal_output console serial
+      terminal_input console serial
+    '';
 
     boot.initrd.network.enable = true;
 
@@ -127,15 +146,14 @@ in
         copy_bin_and_libs ${pkgs.util-linux}/sbin/swapon
       '';
 
-    # Don't put old configurations in the GRUB menu.  The user has no
-    # way to select them anyway.
-    boot.loader.grub.configurationLimit = 0;
-
     # Allow root logins only using the SSH key that the user specified
     # at instance creation time.
     services.openssh.enable = true;
     services.openssh.permitRootLogin = "prohibit-password";
 
+    # Enable the serial console on ttyS0
+    systemd.services."serial-getty@ttyS0".enable = true;
+
     # Creates symlinks for block device names.
     services.udev.packages = [ pkgs.ec2-utils ];
 
diff --git a/nixpkgs/nixos/modules/virtualisation/amazon-options.nix b/nixpkgs/nixos/modules/virtualisation/amazon-options.nix
index 2e807131e938..698edcd835a6 100644
--- a/nixpkgs/nixos/modules/virtualisation/amazon-options.nix
+++ b/nixpkgs/nixos/modules/virtualisation/amazon-options.nix
@@ -1,7 +1,46 @@
 { config, lib, pkgs, ... }:
-{
+let
+  inherit (lib) types;
+in {
   options = {
     ec2 = {
+      zfs = {
+        enable = lib.mkOption {
+          default = false;
+          internal = true;
+          description = ''
+            Whether the EC2 instance uses a ZFS root.
+          '';
+        };
+
+        datasets = lib.mkOption {
+          description = ''
+            Datasets to create under the `tank` and `boot` zpools.
+
+            **NOTE:** This option is used only at image creation time, and
+            does not attempt to declaratively create or manage datasets
+            on an existing system.
+          '';
+
+          default = {};
+
+          type = types.attrsOf (types.submodule {
+            options = {
+              mount = lib.mkOption {
+                description = "Where to mount this dataset.";
+                type = types.nullOr types.string;
+                default = null;
+              };
+
+              properties = lib.mkOption {
+                description = "Properties to set on this dataset.";
+                type = types.attrsOf types.string;
+                default = {};
+              };
+            };
+          });
+        };
+      };
       hvm = lib.mkOption {
         default = lib.versionAtLeast config.system.stateVersion "17.03";
         internal = true;
@@ -18,4 +57,17 @@
       };
     };
   };
+
+  config = lib.mkIf config.ec2.zfs.enable {
+    networking.hostId = lib.mkDefault "00000000";
+
+    fileSystems = let
+      mountable = lib.filterAttrs (_: value: ((value.mount or null) != null)) config.ec2.zfs.datasets;
+    in lib.mapAttrs'
+      (dataset: opts: lib.nameValuePair opts.mount {
+        device = dataset;
+        fsType = "zfs";
+      })
+      mountable;
+  };
 }
diff --git a/nixpkgs/nixos/modules/virtualisation/containerd.nix b/nixpkgs/nixos/modules/virtualisation/containerd.nix
index c7ceb816a311..43cb6273f253 100644
--- a/nixpkgs/nixos/modules/virtualisation/containerd.nix
+++ b/nixpkgs/nixos/modules/virtualisation/containerd.nix
@@ -86,6 +86,7 @@ in
 
         StateDirectory = "containerd";
         RuntimeDirectory = "containerd";
+        RuntimeDirectoryPreserve = "yes";
       };
       unitConfig = {
         StartLimitBurst = "16";
diff --git a/nixpkgs/nixos/modules/virtualisation/google-compute-image.nix b/nixpkgs/nixos/modules/virtualisation/google-compute-image.nix
index 79c3921669ed..0c72696f802b 100644
--- a/nixpkgs/nixos/modules/virtualisation/google-compute-image.nix
+++ b/nixpkgs/nixos/modules/virtualisation/google-compute-image.nix
@@ -36,6 +36,14 @@ in
         `<nixpkgs/nixos/modules/virtualisation/google-compute-image.nix>`.
       '';
     };
+
+    virtualisation.googleComputeImage.compressionLevel = mkOption {
+      type = types.int;
+      default = 6;
+      description = ''
+        GZIP compression level of the resulting disk image (1-9).
+      '';
+    };
   };
 
   #### implementation
@@ -47,7 +55,8 @@ in
         PATH=$PATH:${with pkgs; lib.makeBinPath [ gnutar gzip ]}
         pushd $out
         mv $diskImage disk.raw
-        tar -Szcf nixos-image-${config.system.nixos.label}-${pkgs.stdenv.hostPlatform.system}.raw.tar.gz disk.raw
+        tar -Sc disk.raw | gzip -${toString cfg.compressionLevel} > \
+          nixos-image-${config.system.nixos.label}-${pkgs.stdenv.hostPlatform.system}.raw.tar.gz
         rm $out/disk.raw
         popd
       '';
diff --git a/nixpkgs/nixos/modules/virtualisation/podman.nix b/nixpkgs/nixos/modules/virtualisation/podman.nix
index e245004e04a6..893afee4c32d 100644
--- a/nixpkgs/nixos/modules/virtualisation/podman.nix
+++ b/nixpkgs/nixos/modules/virtualisation/podman.nix
@@ -9,7 +9,7 @@ let
   podmanPackage = (pkgs.podman.override { inherit (cfg) extraPackages; });
 
   # Provides a fake "docker" binary mapping to podman
-  dockerCompat = pkgs.runCommandNoCC "${podmanPackage.pname}-docker-compat-${podmanPackage.version}" {
+  dockerCompat = pkgs.runCommand "${podmanPackage.pname}-docker-compat-${podmanPackage.version}" {
     outputs = [ "out" "man" ];
     inherit (podmanPackage) meta;
   } ''
diff --git a/nixpkgs/nixos/modules/virtualisation/virtualbox-image.nix b/nixpkgs/nixos/modules/virtualisation/virtualbox-image.nix
index 272c696807aa..1a0c4df42cb3 100644
--- a/nixpkgs/nixos/modules/virtualisation/virtualbox-image.nix
+++ b/nixpkgs/nixos/modules/virtualisation/virtualbox-image.nix
@@ -18,6 +18,13 @@ in {
           The size of the VirtualBox base image in MiB.
         '';
       };
+      baseImageFreeSpace = mkOption {
+        type = with types; int;
+        default = 30 * 1024;
+        description = ''
+          Free space in the VirtualBox base image in MiB.
+        '';
+      };
       memorySize = mkOption {
         type = types.int;
         default = 1536;
@@ -129,6 +136,7 @@ in {
       inherit pkgs lib config;
       partitionTableType = "legacy";
       diskSize = cfg.baseImageSize;
+      additionalSpace = "${toString cfg.baseImageFreeSpace}M";
 
       postVM =
         ''
diff --git a/nixpkgs/nixos/release.nix b/nixpkgs/nixos/release.nix
index 2367e79e4ad0..264d82bacc8a 100644
--- a/nixpkgs/nixos/release.nix
+++ b/nixpkgs/nixos/release.nix
@@ -217,6 +217,20 @@ in rec {
     }).config.system.build.amazonImage)
 
   );
+  amazonImageZfs = forMatchingSystems [ "x86_64-linux" "aarch64-linux" ] (system:
+
+    with import ./.. { inherit system; };
+
+    hydraJob ((import lib/eval-config.nix {
+      inherit system;
+      modules =
+        [ configuration
+          versionModule
+          ./maintainers/scripts/ec2/amazon-image-zfs.nix
+        ];
+    }).config.system.build.amazonImage)
+
+  );
 
 
   # Test job for https://github.com/NixOS/nixpkgs/issues/121354 to test
diff --git a/nixpkgs/nixos/tests/acme.nix b/nixpkgs/nixos/tests/acme.nix
index 6532fc4ac1d4..72b7bb8a396a 100644
--- a/nixpkgs/nixos/tests/acme.nix
+++ b/nixpkgs/nixos/tests/acme.nix
@@ -105,9 +105,9 @@ in import ./make-test-python.nix ({ lib, ... }: {
         security.acme.certs."a.example.test".keyType = "ec384";
         security.acme.certs."a.example.test".postRun = ''
           set -euo pipefail
-          touch test
-          chown root:root test
-          echo testing > test
+          touch /home/test
+          chown root:root /home/test
+          echo testing > /home/test
         '';
       };
 
@@ -383,7 +383,7 @@ in import ./make-test-python.nix ({ lib, ... }: {
           switch_to(webserver, "cert-change")
           webserver.wait_for_unit("acme-finished-a.example.test.target")
           check_connection_key_bits(client, "a.example.test", "384")
-          webserver.succeed("grep testing /var/lib/acme/a.example.test/test")
+          webserver.succeed("grep testing /home/test")
           # Clean to remove the testing file (and anything else messy we did)
           webserver.succeed("systemctl clean acme-a.example.test.service --what=state")
 
diff --git a/nixpkgs/nixos/tests/all-tests.nix b/nixpkgs/nixos/tests/all-tests.nix
index 0e2104a20e2d..6baa986b2bda 100644
--- a/nixpkgs/nixos/tests/all-tests.nix
+++ b/nixpkgs/nixos/tests/all-tests.nix
@@ -69,6 +69,7 @@ in
   cjdns = handleTest ./cjdns.nix {};
   clickhouse = handleTest ./clickhouse.nix {};
   cloud-init = handleTest ./cloud-init.nix {};
+  cntr = handleTest ./cntr.nix {};
   cockroachdb = handleTestOn ["x86_64-linux"] ./cockroachdb.nix {};
   consul = handleTest ./consul.nix {};
   containers-bridge = handleTest ./containers-bridge.nix {};
@@ -93,6 +94,7 @@ in
   cri-o = handleTestOn ["x86_64-linux"] ./cri-o.nix {};
   custom-ca = handleTest ./custom-ca.nix {};
   croc = handleTest ./croc.nix {};
+  cryptpad = handleTest ./cryptpad.nix {};
   deluge = handleTest ./deluge.nix {};
   dendrite = handleTest ./dendrite.nix {};
   dhparams = handleTest ./dhparams.nix {};
@@ -125,13 +127,16 @@ in
   fancontrol = handleTest ./fancontrol.nix {};
   fcitx = handleTest ./fcitx {};
   ferm = handleTest ./ferm.nix {};
-  firefox = handleTest ./firefox.nix {};
-  firefox-esr = handleTest ./firefox.nix { esr = true; };
+  firefox = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox; };
+  firefox-esr    = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox-esr; }; # used in `tested` job
+  firefox-esr-78 = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox-esr-78; };
+  firefox-esr-91 = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox-esr-91; };
   firejail = handleTest ./firejail.nix {};
   firewall = handleTest ./firewall.nix {};
   fish = handleTest ./fish.nix {};
   flannel = handleTestOn ["x86_64-linux"] ./flannel.nix {};
   fluentd = handleTest ./fluentd.nix {};
+  fluidd = handleTest ./fluidd.nix {};
   fontconfig-default-fonts = handleTest ./fontconfig-default-fonts.nix {};
   freeswitch = handleTest ./freeswitch.nix {};
   fsck = handleTest ./fsck.nix {};
@@ -204,6 +209,7 @@ in
   k3s = handleTest ./k3s.nix {};
   kafka = handleTest ./kafka.nix {};
   kbd-setfont-decompress = handleTest ./kbd-setfont-decompress.nix {};
+  kbd-update-search-paths-patch = handleTest ./kbd-update-search-paths-patch.nix {};
   kea = handleTest ./kea.nix {};
   keepalived = handleTest ./keepalived.nix {};
   keepassxc = handleTest ./keepassxc.nix {};
@@ -215,17 +221,16 @@ in
   knot = handleTest ./knot.nix {};
   krb5 = discoverTests (import ./krb5 {});
   ksm = handleTest ./ksm.nix {};
-  kubernetes.dns = handleTestOn ["x86_64-linux"] ./kubernetes/dns.nix {};
-  # kubernetes.e2e should eventually replace kubernetes.rbac when it works
-  #kubernetes.e2e = handleTestOn ["x86_64-linux"] ./kubernetes/e2e.nix {};
-  kubernetes.rbac = handleTestOn ["x86_64-linux"] ./kubernetes/rbac.nix {};
+  kubernetes = handleTestOn ["x86_64-linux"] ./kubernetes {};
   latestKernel.hardened = handleTest ./hardened.nix { latestKernel = true; };
   latestKernel.login = handleTest ./login.nix { latestKernel = true; };
   leaps = handleTest ./leaps.nix {};
+  libreddit = handleTest ./libreddit.nix {};
   lidarr = handleTest ./lidarr.nix {};
   libreswan = handleTest ./libreswan.nix {};
   lightdm = handleTest ./lightdm.nix {};
   limesurvey = handleTest ./limesurvey.nix {};
+  litestream = handleTest ./litestream.nix {};
   locate = handleTest ./locate.nix {};
   login = handleTest ./login.nix {};
   loki = handleTest ./loki.nix {};
@@ -252,12 +257,14 @@ in
   miniflux = handleTest ./miniflux.nix {};
   minio = handleTest ./minio.nix {};
   misc = handleTest ./misc.nix {};
+  mod_perl = handleTest ./mod_perl.nix {};
   moinmoin = handleTest ./moinmoin.nix {};
   mongodb = handleTest ./mongodb.nix {};
   moodle = handleTest ./moodle.nix {};
   morty = handleTest ./morty.nix {};
   mosquitto = handleTest ./mosquitto.nix {};
   mpd = handleTest ./mpd.nix {};
+  mpv = handleTest ./mpv.nix {};
   mumble = handleTest ./mumble.nix {};
   musescore = handleTest ./musescore.nix {};
   munin = handleTest ./munin.nix {};
@@ -274,6 +281,8 @@ in
   nat.firewall = handleTest ./nat.nix { withFirewall = true; };
   nat.firewall-conntrack = handleTest ./nat.nix { withFirewall = true; withConntrackHelpers = true; };
   nat.standalone = handleTest ./nat.nix { withFirewall = false; };
+  nats = handleTest ./nats.nix {};
+  navidrome = handleTest ./navidrome.nix {};
   ncdns = handleTest ./ncdns.nix {};
   ndppd = handleTest ./ndppd.nix {};
   nebula = handleTest ./nebula.nix {};
@@ -297,9 +306,11 @@ in
   nginx-sandbox = handleTestOn ["x86_64-linux"] ./nginx-sandbox.nix {};
   nginx-sso = handleTest ./nginx-sso.nix {};
   nginx-variants = handleTest ./nginx-variants.nix {};
+  nitter = handleTest ./nitter.nix {};
   nix-serve = handleTest ./nix-ssh-serve.nix {};
   nix-ssh-serve = handleTest ./nix-ssh-serve.nix {};
   nixos-generate-config = handleTest ./nixos-generate-config.nix {};
+  node-red = handleTest ./node-red.nix {};
   nomad = handleTest ./nomad.nix {};
   novacomd = handleTestOn ["x86_64-linux"] ./novacomd.nix {};
   nsd = handleTest ./nsd.nix {};
@@ -324,7 +335,7 @@ in
   pam-oath-login = handleTest ./pam-oath-login.nix {};
   pam-u2f = handleTest ./pam-u2f.nix {};
   pantheon = handleTest ./pantheon.nix {};
-  paperless = handleTest ./paperless.nix {};
+  paperless-ng = handleTest ./paperless-ng.nix {};
   pdns-recursor = handleTest ./pdns-recursor.nix {};
   peerflix = handleTest ./peerflix.nix {};
   pgjwt = handleTest ./pgjwt.nix {};
@@ -345,6 +356,7 @@ in
   pomerium = handleTestOn ["x86_64-linux"] ./pomerium.nix {};
   postfix = handleTest ./postfix.nix {};
   postfix-raise-smtpd-tls-security-level = handleTest ./postfix-raise-smtpd-tls-security-level.nix {};
+  postfixadmin = handleTest ./postfixadmin.nix {};
   postgis = handleTest ./postgis.nix {};
   postgresql = handleTest ./postgresql.nix {};
   postgresql-wal-receiver = handleTest ./postgresql-wal-receiver.nix {};
@@ -440,6 +452,7 @@ in
   txredisapi = handleTest ./txredisapi.nix {};
   tuptime = handleTest ./tuptime.nix {};
   turbovnc-headless-server = handleTest ./turbovnc-headless-server.nix {};
+  tuxguitar = handleTest ./tuxguitar.nix {};
   ucarp = handleTest ./ucarp.nix {};
   ucg = handleTest ./ucg.nix {};
   udisks2 = handleTest ./udisks2.nix {};
diff --git a/nixpkgs/nixos/tests/bazarr.nix b/nixpkgs/nixos/tests/bazarr.nix
index b8cd8ef38b42..c3337611aa29 100644
--- a/nixpkgs/nixos/tests/bazarr.nix
+++ b/nixpkgs/nixos/tests/bazarr.nix
@@ -7,7 +7,7 @@ let
 in
 {
   name = "bazarr";
-  meta.maintainers = with maintainers; [ xwvvvvwx ];
+  meta.maintainers = with maintainers; [ d-xo ];
 
   nodes.machine =
     { pkgs, ... }:
diff --git a/nixpkgs/nixos/tests/caddy.nix b/nixpkgs/nixos/tests/caddy.nix
index 063f83a2f3d3..0902904b2086 100644
--- a/nixpkgs/nixos/tests/caddy.nix
+++ b/nixpkgs/nixos/tests/caddy.nix
@@ -43,49 +43,65 @@ import ./make-test-python.nix ({ pkgs, ... }: {
           }
         '';
       };
+      specialisation.multiple-configs.configuration = {
+        services.caddy.virtualHosts = {
+          "http://localhost:8080" = { };
+          "http://localhost:8081" = { };
+        };
+      };
     };
   };
 
-  testScript = { nodes, ... }: let
-    etagSystem = "${nodes.webserver.config.system.build.toplevel}/specialisation/etag";
-    justReloadSystem = "${nodes.webserver.config.system.build.toplevel}/specialisation/config-reload";
-  in ''
-    url = "http://localhost/example.html"
-    webserver.wait_for_unit("caddy")
-    webserver.wait_for_open_port("80")
+  testScript = { nodes, ... }:
+    let
+      etagSystem = "${nodes.webserver.config.system.build.toplevel}/specialisation/etag";
+      justReloadSystem = "${nodes.webserver.config.system.build.toplevel}/specialisation/config-reload";
+      multipleConfigs = "${nodes.webserver.config.system.build.toplevel}/specialisation/multiple-configs";
+    in
+    ''
+      url = "http://localhost/example.html"
+      webserver.wait_for_unit("caddy")
+      webserver.wait_for_open_port("80")
+
 
+      def check_etag(url):
+          etag = webserver.succeed(
+              "curl --fail -v '{}' 2>&1 | sed -n -e \"s/^< [Ee][Tt][Aa][Gg]: *//p\"".format(
+                  url
+              )
+          )
+          etag = etag.replace("\r\n", " ")
+          http_code = webserver.succeed(
+              "curl --fail --silent --show-error -o /dev/null -w \"%{{http_code}}\" --head -H 'If-None-Match: {}' {}".format(
+                  etag, url
+              )
+          )
+          assert int(http_code) == 304, "HTTP code is {}, expected 304".format(http_code)
+          return etag
 
-    def check_etag(url):
-        etag = webserver.succeed(
-            "curl --fail -v '{}' 2>&1 | sed -n -e \"s/^< [Ee][Tt][Aa][Gg]: *//p\"".format(
-                url
-            )
-        )
-        etag = etag.replace("\r\n", " ")
-        http_code = webserver.succeed(
-            "curl --fail --silent --show-error -o /dev/null -w \"%{{http_code}}\" --head -H 'If-None-Match: {}' {}".format(
-                etag, url
-            )
-        )
-        assert int(http_code) == 304, "HTTP code is {}, expected 304".format(http_code)
-        return etag
 
+      with subtest("check ETag if serving Nix store paths"):
+          old_etag = check_etag(url)
+          webserver.succeed(
+              "${etagSystem}/bin/switch-to-configuration test >&2"
+          )
+          webserver.sleep(1)
+          new_etag = check_etag(url)
+          assert old_etag != new_etag, "Old ETag {} is the same as {}".format(
+              old_etag, new_etag
+          )
 
-    with subtest("check ETag if serving Nix store paths"):
-        old_etag = check_etag(url)
-        webserver.succeed(
-            "${etagSystem}/bin/switch-to-configuration test >&2"
-        )
-        webserver.sleep(1)
-        new_etag = check_etag(url)
-        assert old_etag != new_etag, "Old ETag {} is the same as {}".format(
-            old_etag, new_etag
-        )
+      with subtest("config is reloaded on nixos-rebuild switch"):
+          webserver.succeed(
+              "${justReloadSystem}/bin/switch-to-configuration test >&2"
+          )
+          webserver.wait_for_open_port("8080")
 
-    with subtest("config is reloaded on nixos-rebuild switch"):
-        webserver.succeed(
-            "${justReloadSystem}/bin/switch-to-configuration test >&2"
-        )
-        webserver.wait_for_open_port("8080")
-  '';
+      with subtest("multiple configs are correctly merged"):
+          webserver.succeed(
+              "${multipleConfigs}/bin/switch-to-configuration test >&2"
+          )
+          webserver.wait_for_open_port("8080")
+          webserver.wait_for_open_port("8081")
+    '';
 })
diff --git a/nixpkgs/nixos/tests/chromium.nix b/nixpkgs/nixos/tests/chromium.nix
index c4ad73679b7e..ea9e19cefbc9 100644
--- a/nixpkgs/nixos/tests/chromium.nix
+++ b/nixpkgs/nixos/tests/chromium.nix
@@ -80,12 +80,8 @@ mapAttrs (channel: chromiumPkg: makeTest rec {
             binary = pname
         # Add optional CLI options:
         options = []
-        major_version = "${versions.major (getVersion chromiumPkg.name)}"
-        if major_version > "91" and pname.startswith("google-chrome"):
-            # To avoid a GPU crash:
-            options += ["--use-gl=angle", "--use-angle=swiftshader"]
-        options.append("file://${startupHTML}")
         # Launch the process:
+        options.append("file://${startupHTML}")
         machine.succeed(ru(f'ulimit -c unlimited; {binary} {shlex.join(options)} & disown'))
         if binary.startswith("google-chrome"):
             # Need to click away the first window:
@@ -239,7 +235,18 @@ mapAttrs (channel: chromiumPkg: makeTest rec {
 
 
     with test_new_win("gpu_info", "chrome://gpu", "chrome://gpu"):
-        pass
+        # To check the text rendering (catches regressions like #131074):
+        machine.wait_for_text("Graphics Feature Status")
+
+
+    with test_new_win("version_info", "chrome://version", "About Version") as clipboard:
+        filters = [
+            r"${chromiumPkg.version} \(Official Build",
+        ]
+        if not all(
+            re.search(filter, clipboard) for filter in filters
+        ):
+            assert False, "Version info not correct."
 
 
     machine.shutdown()
diff --git a/nixpkgs/nixos/tests/cntr.nix b/nixpkgs/nixos/tests/cntr.nix
new file mode 100644
index 000000000000..8cffd97459d0
--- /dev/null
+++ b/nixpkgs/nixos/tests/cntr.nix
@@ -0,0 +1,63 @@
+# Test for cntr tool
+{ system ? builtins.currentSystem, config ? { }
+, pkgs ? import ../.. { inherit system config; }, lib ? pkgs.lib }:
+
+let
+  inherit (import ../lib/testing-python.nix { inherit system pkgs; }) makeTest;
+
+  mkOCITest = backend:
+    makeTest {
+      name = "cntr-${backend}";
+
+      meta = { maintainers = with lib.maintainers; [ srk mic92 ]; };
+
+      nodes = {
+        ${backend} = { pkgs, ... }: {
+          environment.systemPackages = [ pkgs.cntr ];
+          virtualisation.oci-containers = {
+            inherit backend;
+            containers.nginx = {
+              image = "nginx-container";
+              imageFile = pkgs.dockerTools.examples.nginx;
+              ports = [ "8181:80" ];
+            };
+          };
+        };
+      };
+
+      testScript = ''
+        start_all()
+        ${backend}.wait_for_unit("${backend}-nginx.service")
+        result = ${backend}.wait_until_succeeds(
+            "cntr attach -t ${backend} nginx sh -- -c 'curl localhost | grep Hello'"
+        )
+        assert "Hello" in result
+      '';
+    };
+
+  mkContainersTest = makeTest {
+    name = "cntr-containers";
+
+    meta = with pkgs.lib.maintainers; { maintainers = [ sorki mic92 ]; };
+
+    machine = { lib, ... }: {
+      environment.systemPackages = [ pkgs.cntr ];
+      containers.test = {
+        autoStart = true;
+        privateNetwork = true;
+        hostAddress = "172.16.0.1";
+        localAddress = "172.16.0.2";
+        config = { };
+      };
+    };
+
+    testScript = ''
+      machine.start()
+      machine.wait_for_unit("container@test.service")
+      machine.succeed("cntr attach test sh -- -c 'ping -c5 172.16.0.1'")
+    '';
+  };
+in {
+  nixos-container = mkContainersTest;
+} // (lib.foldl' (attrs: backend: attrs // { ${backend} = mkOCITest backend; })
+  { } [ "docker" "podman" ])
diff --git a/nixpkgs/nixos/tests/common/ec2.nix b/nixpkgs/nixos/tests/common/ec2.nix
index 52d0310ac722..64b0a91ac1f7 100644
--- a/nixpkgs/nixos/tests/common/ec2.nix
+++ b/nixpkgs/nixos/tests/common/ec2.nix
@@ -23,6 +23,7 @@ with pkgs.lib;
       testScript = ''
         import os
         import subprocess
+        import tempfile
 
         image_dir = os.path.join(
             os.environ.get("TMPDIR", tempfile.gettempdir()), "tmp", "vm-state-machine"
diff --git a/nixpkgs/nixos/tests/cryptpad.nix b/nixpkgs/nixos/tests/cryptpad.nix
new file mode 100644
index 000000000000..895f291abaca
--- /dev/null
+++ b/nixpkgs/nixos/tests/cryptpad.nix
@@ -0,0 +1,18 @@
+import ./make-test-python.nix ({ lib, ... }:
+
+with lib;
+
+{
+  name = "cryptpad";
+  meta.maintainers = with maintainers; [ davhau ];
+
+  nodes.machine =
+    { pkgs, ... }:
+    { services.cryptpad.enable = true; };
+
+  testScript = ''
+    machine.wait_for_unit("cryptpad.service")
+    machine.wait_for_open_port("3000")
+    machine.succeed("curl -L --fail http://localhost:3000/sheet")
+  '';
+})
diff --git a/nixpkgs/nixos/tests/deluge.nix b/nixpkgs/nixos/tests/deluge.nix
index 300bc0a1157b..f673ec2db5a7 100644
--- a/nixpkgs/nixos/tests/deluge.nix
+++ b/nixpkgs/nixos/tests/deluge.nix
@@ -5,41 +5,6 @@ import ./make-test-python.nix ({ pkgs, ...} : {
   };
 
   nodes = {
-    simple1 = {
-      services.deluge = {
-        enable = true;
-        package = pkgs.deluge-1_x;
-        web = {
-          enable = true;
-          openFirewall = true;
-        };
-      };
-    };
-
-    declarative1 = {
-      services.deluge = {
-        enable = true;
-        package = pkgs.deluge-1_x;
-        openFirewall = true;
-        declarative = true;
-        config = {
-          allow_remote = true;
-          download_location = "/var/lib/deluge/my-download";
-          daemon_port = 58846;
-          listen_ports = [ 6881 6889 ];
-        };
-        web = {
-          enable = true;
-          port =  3142;
-        };
-        authFile = pkgs.writeText "deluge-auth" ''
-          localclient:a7bef72a890:10
-          andrew:password:10
-          user3:anotherpass:5
-        '';
-      };
-    };
-
     simple2 = {
       services.deluge = {
         enable = true;
diff --git a/nixpkgs/nixos/tests/discourse.nix b/nixpkgs/nixos/tests/discourse.nix
index 2ed6fb957c20..7dd39085a007 100644
--- a/nixpkgs/nixos/tests/discourse.nix
+++ b/nixpkgs/nixos/tests/discourse.nix
@@ -4,7 +4,7 @@
 #  3. replying to that message via email.
 
 import ./make-test-python.nix (
-  { pkgs, lib, ... }:
+  { pkgs, lib, package ? pkgs.discourse, ... }:
   let
     certs = import ./common/acme/server/snakeoil-certs.nix;
     clientDomain = "client.fake.domain";
@@ -55,7 +55,7 @@ import ./make-test-python.nix (
 
         services.discourse = {
           enable = true;
-          inherit admin;
+          inherit admin package;
           hostname = discourseDomain;
           sslCertificate = "${certs.${discourseDomain}.cert}";
           sslCertificateKey = "${certs.${discourseDomain}.key}";
diff --git a/nixpkgs/nixos/tests/doas.nix b/nixpkgs/nixos/tests/doas.nix
index 9c0a4bdc7563..5e9ce4b2c799 100644
--- a/nixpkgs/nixos/tests/doas.nix
+++ b/nixpkgs/nixos/tests/doas.nix
@@ -78,6 +78,13 @@ import ./make-test-python.nix (
               'su - test7 -c "SSH_AUTH_SOCK=HOLEY doas env"'
           ):
               raise Exception("failed to exclude SSH_AUTH_SOCK")
+
+      # Test that the doas setuid wrapper precedes the unwrapped version in PATH after
+      # calling doas.
+      # The PATH set by doas is defined in
+      # ../../pkgs/tools/security/doas/0001-add-NixOS-specific-dirs-to-safe-PATH.patch
+      with subtest("recursive calls to doas from subprocesses should succeed"):
+          machine.succeed('doas -u test0 sh -c "doas -u test0 true"')
     '';
   }
 )
diff --git a/nixpkgs/nixos/tests/firefox.nix b/nixpkgs/nixos/tests/firefox.nix
index 2e27ac302af5..4ad45c022407 100644
--- a/nixpkgs/nixos/tests/firefox.nix
+++ b/nixpkgs/nixos/tests/firefox.nix
@@ -1,4 +1,4 @@
-import ./make-test-python.nix ({ pkgs, esr ? false, ... }: {
+import ./make-test-python.nix ({ pkgs, firefoxPackage, ... }: {
   name = "firefox";
   meta = with pkgs.lib.maintainers; {
     maintainers = [ eelco shlevy ];
@@ -8,9 +8,10 @@ import ./make-test-python.nix ({ pkgs, esr ? false, ... }: {
     { pkgs, ... }:
 
     { imports = [ ./common/x11.nix ];
-      environment.systemPackages =
-        (if esr then [ pkgs.firefox-esr ] else [ pkgs.firefox ])
-        ++ [ pkgs.xdotool ];
+      environment.systemPackages = [
+        firefoxPackage
+        pkgs.xdotool
+      ];
 
       # Need some more memory to record audio.
       virtualisation.memorySize = "500";
diff --git a/nixpkgs/nixos/tests/fluidd.nix b/nixpkgs/nixos/tests/fluidd.nix
new file mode 100644
index 000000000000..f49a4110d714
--- /dev/null
+++ b/nixpkgs/nixos/tests/fluidd.nix
@@ -0,0 +1,21 @@
+import ./make-test-python.nix ({ lib, ... }:
+
+with lib;
+
+{
+  name = "fluidd";
+  meta.maintainers = with maintainers; [ vtuan10 ];
+
+  nodes.machine = { pkgs, ... }: {
+    services.fluidd = {
+      enable = true;
+    };
+  };
+
+  testScript = ''
+    machine.start()
+    machine.wait_for_unit("nginx.service")
+    machine.wait_for_open_port(80)
+    machine.succeed("curl -sSfL http://localhost/ | grep 'fluidd'")
+  '';
+})
diff --git a/nixpkgs/nixos/tests/gitlab.nix b/nixpkgs/nixos/tests/gitlab.nix
index 696ebabb5806..3e9feeb0769d 100644
--- a/nixpkgs/nixos/tests/gitlab.nix
+++ b/nixpkgs/nixos/tests/gitlab.nix
@@ -51,10 +51,11 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : with lib; {
             host = "localhost";
             port = 143;
           };
-          pages = {
-            enabled = true;
-            host = "localhost";
-          };
+          # https://github.com/NixOS/nixpkgs/issues/132295
+          # pages = {
+          #   enabled = true;
+          #   host = "localhost";
+          # };
         };
         secrets = {
           secretFile = pkgs.writeText "secret" "Aig5zaic";
@@ -90,7 +91,8 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : with lib; {
       waitForServices = ''
         gitlab.wait_for_unit("gitaly.service")
         gitlab.wait_for_unit("gitlab-workhorse.service")
-        gitlab.wait_for_unit("gitlab-pages.service")
+        # https://github.com/NixOS/nixpkgs/issues/132295
+        # gitlab.wait_for_unit("gitlab-pages.service")
         gitlab.wait_for_unit("gitlab-mailroom.service")
         gitlab.wait_for_unit("gitlab.service")
         gitlab.wait_for_unit("gitlab-sidekiq.service")
@@ -143,7 +145,8 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : with lib; {
       )
       gitlab.succeed("systemd-tmpfiles --create")
       gitlab.succeed("rm -rf ${nodes.gitlab.config.services.postgresql.dataDir}")
-      gitlab.systemctl("start gitlab-config.service gitlab-postgresql.service")
+      gitlab.systemctl("start gitlab-config.service gitaly.service gitlab-postgresql.service")
+      gitlab.wait_for_file("${nodes.gitlab.config.services.gitlab.statePath}/tmp/sockets/gitaly.socket")
       gitlab.succeed(
           "sudo -u gitlab -H gitlab-rake gitlab:backup:restore RAILS_ENV=production BACKUP=dump force=yes"
       )
diff --git a/nixpkgs/nixos/tests/graylog.nix b/nixpkgs/nixos/tests/graylog.nix
index 2d22012fa7c0..572904f60d57 100644
--- a/nixpkgs/nixos/tests/graylog.nix
+++ b/nixpkgs/nixos/tests/graylog.nix
@@ -1,6 +1,6 @@
 import ./make-test-python.nix ({ pkgs, lib, ... }: {
   name = "graylog";
-  meta.maintainers = with lib.maintainers; [ ma27 ];
+  meta.maintainers = with lib.maintainers; [ ];
 
   machine = { pkgs, ... }: {
     virtualisation.memorySize = 4096;
diff --git a/nixpkgs/nixos/tests/grocy.nix b/nixpkgs/nixos/tests/grocy.nix
index 220c55b1f634..2be5c24ecb55 100644
--- a/nixpkgs/nixos/tests/grocy.nix
+++ b/nixpkgs/nixos/tests/grocy.nix
@@ -40,7 +40,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
 
     assert task_name == "Test Task"
 
-    machine.succeed("curl -sSfI http://localhost/api/tasks 2>&1 | grep '401 Unauthorized'")
+    machine.succeed("curl -sSI http://localhost/api/tasks 2>&1 | grep '401 Unauthorized'")
 
     machine.shutdown()
   '';
diff --git a/nixpkgs/nixos/tests/hardened.nix b/nixpkgs/nixos/tests/hardened.nix
index 485efc0fb78c..a0b629086b5a 100644
--- a/nixpkgs/nixos/tests/hardened.nix
+++ b/nixpkgs/nixos/tests/hardened.nix
@@ -33,18 +33,7 @@ import ./make-test-python.nix ({ pkgs, latestKernel ? false, ... } : {
 
   testScript =
     let
-      hardened-malloc-tests = pkgs.stdenv.mkDerivation {
-        name = "hardened-malloc-tests-${pkgs.graphene-hardened-malloc.version}";
-        src = pkgs.graphene-hardened-malloc.src;
-        buildPhase = ''
-          cd test/simple-memory-corruption
-          make -j4
-        '';
-
-        installPhase = ''
-          find . -type f -executable -exec install -Dt $out/bin '{}' +
-        '';
-      };
+      hardened-malloc-tests = pkgs.graphene-hardened-malloc.ld-preload-tests;
     in
     ''
       machine.wait_for_unit("multi-user.target")
@@ -107,20 +96,7 @@ import ./make-test-python.nix ({ pkgs, latestKernel ? false, ... } : {
           machine.fail("systemctl kexec")
 
 
-      # Test hardened memory allocator
-      def runMallocTestProg(prog_name, error_text):
-          text = "fatal allocator error: " + error_text
-          if not text in machine.fail(
-              "${hardened-malloc-tests}/bin/"
-              + prog_name
-              + " 2>&1"
-          ):
-              raise Exception("Hardened malloc does not work for {}".format(error_text))
-
-
       with subtest("The hardened memory allocator works"):
-          runMallocTestProg("double_free_large", "invalid free")
-          runMallocTestProg("unaligned_free_small", "invalid unaligned free")
-          runMallocTestProg("write_after_free_small", "detected write after free")
+          machine.succeed("${hardened-malloc-tests}/bin/run-tests")
     '';
 })
diff --git a/nixpkgs/nixos/tests/hockeypuck.nix b/nixpkgs/nixos/tests/hockeypuck.nix
index 79313f314fd2..19df9dee3d31 100644
--- a/nixpkgs/nixos/tests/hockeypuck.nix
+++ b/nixpkgs/nixos/tests/hockeypuck.nix
@@ -1,6 +1,6 @@
 import ./make-test-python.nix ({ lib, pkgs, ... }:
 let
-  gpgKeyring = (pkgs.runCommandNoCC "gpg-keyring" { buildInputs = [ pkgs.gnupg ]; } ''
+  gpgKeyring = (pkgs.runCommand "gpg-keyring" { buildInputs = [ pkgs.gnupg ]; } ''
     mkdir -p $out
     export GNUPGHOME=$out
     cat > foo <<EOF
diff --git a/nixpkgs/nixos/tests/isso.nix b/nixpkgs/nixos/tests/isso.nix
new file mode 100644
index 000000000000..99dc8009ae06
--- /dev/null
+++ b/nixpkgs/nixos/tests/isso.nix
@@ -0,0 +1,30 @@
+import ./make-test-python.nix ({ pkgs, ... }: {
+  name = "isso";
+  meta = with pkgs.lib.maintainers; {
+    maintainers = [ asbachb ];
+  };
+
+  machine = { config, pkgs, ... }: {
+    services.isso = {
+      enable = true;
+      settings = {
+        general = {
+          dbpath = "/var/lib/isso/comments.db";
+          host = "http://localhost";
+        };
+      };
+    };
+  };
+
+  testScript = let
+    port = 8080;
+  in
+  ''
+    machine.wait_for_unit("isso.service")
+
+    machine.wait_for_open_port("${toString port}")
+
+    machine.succeed("curl --fail http://localhost:${toString port}/?uri")
+    machine.succeed("curl --fail http://localhost:${toString port}/js/embed.min.js")
+  '';
+})
diff --git a/nixpkgs/nixos/tests/kafka.nix b/nixpkgs/nixos/tests/kafka.nix
index 034601c815b9..95711808a2c3 100644
--- a/nixpkgs/nixos/tests/kafka.nix
+++ b/nixpkgs/nixos/tests/kafka.nix
@@ -75,7 +75,6 @@ let
   }) { inherit system; });
 
 in with pkgs; {
-  kafka_2_4  = makeKafkaTest "kafka_2_4"  apacheKafka_2_4;
-  kafka_2_5  = makeKafkaTest "kafka_2_5"  apacheKafka_2_5;
-  kafka_2_6  = makeKafkaTest "kafka_2_6"  apacheKafka_2_6;
+  kafka_2_7  = makeKafkaTest "kafka_2_7"  apacheKafka_2_7;
+  kafka_2_8  = makeKafkaTest "kafka_2_8"  apacheKafka_2_8;
 }
diff --git a/nixpkgs/nixos/tests/kbd-update-search-paths-patch.nix b/nixpkgs/nixos/tests/kbd-update-search-paths-patch.nix
new file mode 100644
index 000000000000..2cdb12340b1b
--- /dev/null
+++ b/nixpkgs/nixos/tests/kbd-update-search-paths-patch.nix
@@ -0,0 +1,19 @@
+import ./make-test-python.nix ({ pkgs, ... }: {
+  name = "kbd-update-search-paths-patch";
+
+  machine = { pkgs, options, ... }: {
+    console = {
+      packages = options.console.packages.default ++ [ pkgs.terminus_font ];
+    };
+  };
+
+  testScript = ''
+    command = "${pkgs.kbd}/bin/setfont ter-112n 2>&1"
+    (status, out) = machine.execute(command)
+    import re
+    pattern = re.compile(r".*Unable to find file:.*")
+    match = pattern.match(out)
+    if match:
+        raise Exception("command `{}` failed".format(command))
+  '';
+})
diff --git a/nixpkgs/nixos/tests/kernel-generic.nix b/nixpkgs/nixos/tests/kernel-generic.nix
index cd32049dff46..391a93e36981 100644
--- a/nixpkgs/nixos/tests/kernel-generic.nix
+++ b/nixpkgs/nixos/tests/kernel-generic.nix
@@ -6,10 +6,10 @@
 with pkgs.lib;
 
 let
-  makeKernelTest = version: linuxPackages: (import ./make-test-python.nix ({ pkgs, ... }: {
-    name = "kernel-${version}";
+  testsForLinuxPackages = linuxPackages: (import ./make-test-python.nix ({ pkgs, ... }: {
+    name = "kernel-${linuxPackages.kernel.version}";
     meta = with pkgs.lib.maintainers; {
-      maintainers = [ nequissimus ];
+      maintainers = [ nequissimus atemu ];
     };
 
     machine = { ... }:
@@ -23,16 +23,26 @@ let
         assert "${linuxPackages.kernel.modDirVersion}" in machine.succeed("uname -a")
       '';
   }) args);
-in
-with pkgs; {
-  linux_4_4 = makeKernelTest "4.4" linuxPackages_4_4;
-  linux_4_9 = makeKernelTest "4.9" linuxPackages_4_9;
-  linux_4_14 = makeKernelTest "4.14" linuxPackages_4_14;
-  linux_4_19 = makeKernelTest "4.19" linuxPackages_4_19;
-  linux_5_4 = makeKernelTest "5.4" linuxPackages_5_4;
-  linux_5_10 = makeKernelTest "5.10" linuxPackages_5_10;
-  linux_5_12 = makeKernelTest "5.12" linuxPackages_5_12;
-  linux_5_13 = makeKernelTest "5.13" linuxPackages_5_13;
-
-  linux_testing = makeKernelTest "testing" linuxPackages_testing;
+  kernels = {
+    inherit (pkgs)
+      linuxPackages_4_4
+      linuxPackages_4_9
+      linuxPackages_4_14
+      linuxPackages_4_19
+      linuxPackages_5_4
+      linuxPackages_5_10
+      linuxPackages_5_13
+
+      linuxPackages_4_14_hardened
+      linuxPackages_4_19_hardened
+      linuxPackages_5_4_hardened
+      linuxPackages_5_10_hardened
+
+      linuxPackages_testing;
+  };
+
+in mapAttrs (_: lP: testsForLinuxPackages lP) kernels // {
+  inherit testsForLinuxPackages;
+
+  testsForKernel = kernel: testsForLinuxPackages (pkgs.linuxPackagesFor kernel);
 }
diff --git a/nixpkgs/nixos/tests/kubernetes/default.nix b/nixpkgs/nixos/tests/kubernetes/default.nix
index a801759bf582..90b73c68a76d 100644
--- a/nixpkgs/nixos/tests/kubernetes/default.nix
+++ b/nixpkgs/nixos/tests/kubernetes/default.nix
@@ -1,7 +1,15 @@
-{ system ? builtins.currentSystem }:
+{ system ? builtins.currentSystem
+, pkgs ? import <nixpkgs> { inherit system; }
+}:
+let
+  dns = import ./dns.nix { inherit system pkgs; };
+  rbac = import ./rbac.nix { inherit system pkgs; };
+  # TODO kubernetes.e2e should eventually replace kubernetes.rbac when it works
+  # e2e = import ./e2e.nix { inherit system pkgs; };
+in
 {
-  dns = import ./dns.nix { inherit system; };
-  # e2e = import ./e2e.nix { inherit system; };  # TODO: make it pass
-  # the following test(s) can be removed when e2e is working:
-  rbac = import ./rbac.nix { inherit system; };
+  dns-single-node = dns.singlenode.test;
+  dns-multi-node = dns.multinode.test;
+  rbac-single-node = rbac.singlenode.test;
+  rbac-multi-node = rbac.multinode.test;
 }
diff --git a/nixpkgs/nixos/tests/libreddit.nix b/nixpkgs/nixos/tests/libreddit.nix
new file mode 100644
index 000000000000..f7ef701d0865
--- /dev/null
+++ b/nixpkgs/nixos/tests/libreddit.nix
@@ -0,0 +1,19 @@
+import ./make-test-python.nix ({ lib, ... }:
+
+with lib;
+
+{
+  name = "libreddit";
+  meta.maintainers = with maintainers; [ fab ];
+
+  nodes.machine =
+    { pkgs, ... }:
+    { services.libreddit.enable = true; };
+
+  testScript = ''
+    machine.wait_for_unit("libreddit.service")
+    machine.wait_for_open_port("8080")
+    # The service wants to get data from https://www.reddit.com
+    machine.succeed("curl http://localhost:8080/")
+  '';
+})
diff --git a/nixpkgs/nixos/tests/litestream.nix b/nixpkgs/nixos/tests/litestream.nix
new file mode 100644
index 000000000000..886fbfef9cf5
--- /dev/null
+++ b/nixpkgs/nixos/tests/litestream.nix
@@ -0,0 +1,93 @@
+import ./make-test-python.nix ({ pkgs, ...} : {
+  name = "litestream";
+  meta = with pkgs.lib.maintainers; {
+    maintainers = [ jwygoda ];
+  };
+
+  machine =
+    { pkgs, ... }:
+    { services.litestream = {
+        enable = true;
+        settings = {
+          dbs = [
+            {
+              path = "/var/lib/grafana/data/grafana.db";
+              replicas = [{
+                url = "sftp://foo:bar@127.0.0.1:22/home/foo/grafana";
+              }];
+            }
+          ];
+        };
+      };
+      systemd.services.grafana.serviceConfig.ExecStartPost = "+" + pkgs.writeShellScript "grant-grafana-permissions" ''
+        timeout=10
+
+        while [ ! -f /var/lib/grafana/data/grafana.db ];
+        do
+          if [ "$timeout" == 0 ]; then
+            echo "ERROR: Timeout while waiting for /var/lib/grafana/data/grafana.db."
+            exit 1
+          fi
+
+          sleep 1
+
+          ((timeout--))
+        done
+
+        find /var/lib/grafana -type d -exec chmod -v 775 {} \;
+        find /var/lib/grafana -type f -exec chmod -v 660 {} \;
+      '';
+      services.openssh = {
+        enable = true;
+        allowSFTP = true;
+        listenAddresses = [ { addr = "127.0.0.1"; port = 22; } ];
+      };
+      services.grafana = {
+        enable = true;
+        security = {
+          adminUser = "admin";
+          adminPassword = "admin";
+        };
+        addr = "localhost";
+        port = 3000;
+        extraOptions = {
+          DATABASE_URL = "sqlite3:///var/lib/grafana/data/grafana.db?cache=private&mode=rwc&_journal_mode=WAL";
+        };
+      };
+      users.users.foo = {
+        isNormalUser = true;
+        password = "bar";
+      };
+      users.users.litestream.extraGroups = [ "grafana" ];
+    };
+
+  testScript = ''
+    start_all()
+    machine.wait_until_succeeds("test -d /home/foo/grafana")
+    machine.wait_for_open_port(3000)
+    machine.succeed("""
+        curl -sSfN -X PUT -H "Content-Type: application/json" -d '{
+          "oldPassword": "admin",
+          "newPassword": "newpass",
+          "confirmNew": "newpass"
+        }' http://admin:admin@127.0.0.1:3000/api/user/password
+    """)
+    # https://litestream.io/guides/systemd/#simulating-a-disaster
+    machine.systemctl("stop litestream.service")
+    machine.succeed(
+        "rm -f /var/lib/grafana/data/grafana.db "
+        "/var/lib/grafana/data/grafana.db-shm "
+        "/var/lib/grafana/data/grafana.db-wal"
+    )
+    machine.succeed(
+        "litestream restore /var/lib/grafana/data/grafana.db "
+        "&& chown grafana:grafana /var/lib/grafana/data/grafana.db "
+        "&& chmod 660 /var/lib/grafana/data/grafana.db"
+    )
+    machine.systemctl("restart grafana.service")
+    machine.wait_for_open_port(3000)
+    machine.succeed(
+        "curl -sSfN -u admin:newpass http://127.0.0.1:3000/api/org/users | grep admin\@localhost"
+    )
+  '';
+})
diff --git a/nixpkgs/nixos/tests/matrix-synapse.nix b/nixpkgs/nixos/tests/matrix-synapse.nix
index 9a1ff8a0d3ed..21e8c24e4713 100644
--- a/nixpkgs/nixos/tests/matrix-synapse.nix
+++ b/nixpkgs/nixos/tests/matrix-synapse.nix
@@ -26,6 +26,13 @@ import ./make-test-python.nix ({ pkgs, ... } : let
       -days 365
   '';
 
+
+  mailerCerts = import ./common/acme/server/snakeoil-certs.nix;
+  mailerDomain = mailerCerts.domain;
+  registrationSharedSecret = "unsecure123";
+  testUser = "alice";
+  testPassword = "alicealice";
+  testEmail = "alice@example.com";
 in {
 
   name = "matrix-synapse";
@@ -35,7 +42,10 @@ in {
 
   nodes = {
     # Since 0.33.0, matrix-synapse doesn't allow underscores in server names
-    serverpostgres = { pkgs, ... }: {
+    serverpostgres = { pkgs, nodes, ... }: let
+      mailserverIP = nodes.mailserver.config.networking.primaryIPAddress;
+    in
+    {
       services.matrix-synapse = {
         enable = true;
         database_type = "psycopg2";
@@ -44,6 +54,16 @@ in {
         database_args = {
           password = "synapse";
         };
+        registration_shared_secret = registrationSharedSecret;
+        public_baseurl = "https://example.com";
+        extraConfig = ''
+          email:
+            smtp_host: "${mailerDomain}"
+            smtp_port: 25
+            require_transport_security: true
+            notif_from: "matrix <matrix@${mailerDomain}>"
+            app_name: "Matrix"
+        '';
       };
       services.postgresql = {
         enable = true;
@@ -61,6 +81,85 @@ in {
             LC_CTYPE = "C";
         '';
       };
+
+      networking.extraHosts = ''
+        ${mailserverIP} ${mailerDomain}
+      '';
+
+      security.pki.certificateFiles = [
+        mailerCerts.ca.cert ca_pem
+      ];
+
+      environment.systemPackages = let
+        sendTestMailStarttls = pkgs.writeScriptBin "send-testmail-starttls" ''
+          #!${pkgs.python3.interpreter}
+          import smtplib
+          import ssl
+
+          ctx = ssl.create_default_context()
+
+          with smtplib.SMTP('${mailerDomain}') as smtp:
+            smtp.ehlo()
+            smtp.starttls(context=ctx)
+            smtp.ehlo()
+            smtp.sendmail('matrix@${mailerDomain}', '${testEmail}', 'Subject: Test STARTTLS\n\nTest data.')
+            smtp.quit()
+         '';
+
+        obtainTokenAndRegisterEmail = let
+          # adding the email through the API is quite complicated as it involves more than one step and some
+          # client-side calculation
+          insertEmailForAlice = pkgs.writeText "alice-email.sql" ''
+            INSERT INTO user_threepids (user_id, medium, address, validated_at, added_at) VALUES ('${testUser}@serverpostgres', 'email', '${testEmail}', '1629149927271', '1629149927270');
+          '';
+        in
+        pkgs.writeScriptBin "obtain-token-and-register-email" ''
+          #!${pkgs.runtimeShell}
+          set -o errexit
+          set -o pipefail
+          set -o nounset
+          su postgres -c "psql -d matrix-synapse -f ${insertEmailForAlice}"
+          curl --fail -XPOST 'https://localhost:8448/_matrix/client/r0/account/password/email/requestToken' -d '{"email":"${testEmail}","client_secret":"foobar","send_attempt":1}' -v
+        '';
+        in [ sendTestMailStarttls pkgs.matrix-synapse obtainTokenAndRegisterEmail ];
+    };
+
+    # test mail delivery
+    mailserver = args: let
+    in
+    {
+      security.pki.certificateFiles = [
+        mailerCerts.ca.cert
+      ];
+
+      networking.firewall.enable = false;
+
+      services.postfix = {
+        enable = true;
+        hostname = "${mailerDomain}";
+        # open relay for subnet
+        networksStyle = "subnet";
+        enableSubmission = true;
+        tlsTrustedAuthorities = "${mailerCerts.ca.cert}";
+        sslCert = "${mailerCerts.${mailerDomain}.cert}";
+        sslKey = "${mailerCerts.${mailerDomain}.key}";
+
+        # blackhole transport
+        transport = "example.com discard:silently";
+
+        config = {
+          debug_peer_level = "10";
+          smtpd_relay_restrictions = [
+            "permit_mynetworks" "reject_unauth_destination"
+          ];
+
+          # disable obsolete protocols, something old versions of twisted are still using
+          smtpd_tls_protocols = "TLSv1.3, TLSv1.2, !TLSv1.1, !TLSv1, !SSLv2, !SSLv3";
+          smtp_tls_protocols = "TLSv1.3, TLSv1.2, !TLSv1.1, !TLSv1, !SSLv2, !SSLv3";
+          smtpd_tls_mandatory_protocols = "TLSv1.3, TLSv1.2, !TLSv1.1, !TLSv1, !SSLv2, !SSLv3";
+          smtp_tls_mandatory_protocols = "TLSv1.3, TLSv1.2, !TLSv1.1, !TLSv1, !SSLv2, !SSLv3";
+        };
+      };
     };
 
     serversqlite = args: {
@@ -75,11 +174,15 @@ in {
 
   testScript = ''
     start_all()
+    mailserver.wait_for_unit("postfix.service")
+    serverpostgres.succeed("send-testmail-starttls")
     serverpostgres.wait_for_unit("matrix-synapse.service")
     serverpostgres.wait_until_succeeds(
         "curl --fail -L --cacert ${ca_pem} https://localhost:8448/"
     )
     serverpostgres.require_unit_state("postgresql.service")
+    serverpostgres.succeed("register_new_matrix_user -u ${testUser} -p ${testPassword} -a -k ${registrationSharedSecret} ")
+    serverpostgres.succeed("obtain-token-and-register-email")
     serversqlite.wait_for_unit("matrix-synapse.service")
     serversqlite.wait_until_succeeds(
         "curl --fail -L --cacert ${ca_pem} https://localhost:8448/"
diff --git a/nixpkgs/nixos/tests/mod_perl.nix b/nixpkgs/nixos/tests/mod_perl.nix
new file mode 100644
index 000000000000..29a1eb6503fd
--- /dev/null
+++ b/nixpkgs/nixos/tests/mod_perl.nix
@@ -0,0 +1,53 @@
+import ./make-test-python.nix ({ pkgs, lib, ... }: {
+  name = "mod_perl";
+
+  meta = with pkgs.lib.maintainers; {
+    maintainers = [ sgo ];
+  };
+
+  machine = { config, lib, pkgs, ... }: {
+    services.httpd = {
+      enable = true;
+      adminAddr = "admin@localhost";
+      virtualHosts."modperl" =
+        let
+          inc = pkgs.writeTextDir "ModPerlTest.pm" ''
+            package ModPerlTest;
+            use strict;
+            use Apache2::RequestRec ();
+            use Apache2::RequestIO ();
+            use Apache2::Const -compile => qw(OK);
+            sub handler {
+              my $r = shift;
+              $r->content_type('text/plain');
+              print "Hello mod_perl!\n";
+              return Apache2::Const::OK;
+            }
+            1;
+          '';
+          startup = pkgs.writeScript "startup.pl" ''
+            use lib "${inc}",
+              split ":","${with pkgs.perl.pkgs; makeFullPerlPath ([ mod_perl2 ])}";
+            1;
+          '';
+        in
+        {
+          extraConfig = ''
+            PerlRequire ${startup}
+          '';
+          locations."/modperl" = {
+            extraConfig = ''
+              SetHandler perl-script
+              PerlResponseHandler ModPerlTest
+            '';
+          };
+        };
+      enablePerl = true;
+    };
+  };
+  testScript = { ... }: ''
+    machine.wait_for_unit("httpd.service")
+    response = machine.succeed("curl -fvvv -s http://127.0.0.1:80/modperl")
+    assert "Hello mod_perl!" in response, "/modperl handler did not respond"
+  '';
+})
diff --git a/nixpkgs/nixos/tests/mpv.nix b/nixpkgs/nixos/tests/mpv.nix
new file mode 100644
index 000000000000..bcfc17cf3328
--- /dev/null
+++ b/nixpkgs/nixos/tests/mpv.nix
@@ -0,0 +1,28 @@
+import ./make-test-python.nix ({ lib, ... }:
+
+with lib;
+
+let
+  port = toString 4321;
+in
+{
+  name = "mpv";
+  meta.maintainers = with maintainers; [ zopieux ];
+
+  nodes.machine =
+    { pkgs, ... }:
+    {
+      environment.systemPackages = [
+        pkgs.curl
+        (pkgs.mpv-with-scripts.override {
+          scripts = [ pkgs.mpvScripts.simple-mpv-webui ];
+        })
+      ];
+    };
+
+  testScript = ''
+    machine.execute("set -m; mpv --script-opts=webui-port=${port} --idle=yes &")
+    machine.wait_for_open_port(${port})
+    assert "<title>simple-mpv-webui" in machine.succeed("curl -s localhost:${port}")
+  '';
+})
diff --git a/nixpkgs/nixos/tests/nats.nix b/nixpkgs/nixos/tests/nats.nix
new file mode 100644
index 000000000000..bee36f262f4c
--- /dev/null
+++ b/nixpkgs/nixos/tests/nats.nix
@@ -0,0 +1,65 @@
+let
+
+  port = 4222;
+  username = "client";
+  password = "password";
+  topic = "foo.bar";
+
+in import ./make-test-python.nix ({ pkgs, lib, ... }: {
+  name = "nats";
+  meta = with pkgs.lib; { maintainers = with maintainers; [ c0deaddict ]; };
+
+  nodes = let
+    client = { pkgs, ... }: {
+      environment.systemPackages = with pkgs; [ natscli ];
+    };
+  in {
+    server = { pkgs, ... }: {
+      networking.firewall.allowedTCPPorts = [ port ];
+      services.nats = {
+        inherit port;
+        enable = true;
+        settings = {
+          authorization = {
+            users = [{
+              user = username;
+              inherit password;
+            }];
+          };
+        };
+      };
+    };
+
+    client1 = client;
+    client2 = client;
+  };
+
+  testScript = let file = "/tmp/msg";
+  in ''
+    def nats_cmd(*args):
+        return (
+            "nats "
+            "--server=nats://server:${toString port} "
+            "--user=${username} "
+            "--password=${password} "
+            "{}"
+        ).format(" ".join(args))
+
+    start_all()
+    server.wait_for_unit("nats.service")
+
+    client1.fail("test -f ${file}")
+
+    # Subscribe on topic on client1 and echo messages to file.
+    client1.execute("({} | tee ${file} &)".format(nats_cmd("sub", "--raw", "${topic}")))
+
+    # Give client1 some time to subscribe.
+    client1.execute("sleep 2")
+
+    # Publish message on client2.
+    client2.execute(nats_cmd("pub", "${topic}", "hello"))
+
+    # Check if message has been received.
+    client1.succeed("grep -q hello ${file}")
+  '';
+})
diff --git a/nixpkgs/nixos/tests/navidrome.nix b/nixpkgs/nixos/tests/navidrome.nix
new file mode 100644
index 000000000000..42e14720b2ed
--- /dev/null
+++ b/nixpkgs/nixos/tests/navidrome.nix
@@ -0,0 +1,12 @@
+import ./make-test-python.nix ({ pkgs, ... }: {
+  name = "navidrome";
+
+  machine = { ... }: {
+    services.navidrome.enable = true;
+  };
+
+  testScript = ''
+    machine.wait_for_unit("navidrome")
+    machine.wait_for_open_port("4533")
+  '';
+})
diff --git a/nixpkgs/nixos/tests/networking.nix b/nixpkgs/nixos/tests/networking.nix
index c8756207f27b..22f7ca5a9b82 100644
--- a/nixpkgs/nixos/tests/networking.nix
+++ b/nixpkgs/nixos/tests/networking.nix
@@ -721,6 +721,24 @@ let
         assert "mtu 1442" in client.succeed("ip l show dummy0")
       '';
     };
+    wlanInterface = let
+      testMac = "06:00:00:00:02:00";
+    in {
+      name = "WlanInterface";
+      machine = { pkgs, ... }: {
+        boot.kernelModules = [ "mac80211_hwsim" ];
+        networking.wlanInterfaces = {
+          wlan0 = { device = "wlan0"; };
+          wap0 = { device = "wlan0"; mac = testMac; };
+        };
+      };
+      testScript = ''
+        machine.start()
+        machine.wait_for_unit("network.target")
+        machine.wait_until_succeeds("ip address show wap0 | grep -q ${testMac}")
+        machine.fail("ip address show wlan0 | grep -q ${testMac}")
+      '';
+    };
   };
 
 in mapAttrs (const (attrs: makeTest (attrs // {
diff --git a/nixpkgs/nixos/tests/nextcloud/basic.nix b/nixpkgs/nixos/tests/nextcloud/basic.nix
index 76f7f68dc960..c4ce34748ace 100644
--- a/nixpkgs/nixos/tests/nextcloud/basic.nix
+++ b/nixpkgs/nixos/tests/nextcloud/basic.nix
@@ -37,6 +37,7 @@ in {
         config = {
           # Don't inherit adminuser since "root" is supposed to be the default
           inherit adminpass;
+          dbtableprefix = "nixos_";
         };
         autoUpdateApps = {
           enable = true;
diff --git a/nixpkgs/nixos/tests/nexus.nix b/nixpkgs/nixos/tests/nexus.nix
index 2a30a4eb2cc8..87bb4d2eb58a 100644
--- a/nixpkgs/nixos/tests/nexus.nix
+++ b/nixpkgs/nixos/tests/nexus.nix
@@ -6,7 +6,7 @@
 import ./make-test-python.nix ({ pkgs, ...} : {
   name = "nexus";
   meta = with pkgs.lib.maintainers; {
-    maintainers = [ ironpinguin ma27 ];
+    maintainers = [ ironpinguin ];
   };
 
   nodes = {
diff --git a/nixpkgs/nixos/tests/nitter.nix b/nixpkgs/nixos/tests/nitter.nix
new file mode 100644
index 000000000000..0e1a6d150f38
--- /dev/null
+++ b/nixpkgs/nixos/tests/nitter.nix
@@ -0,0 +1,18 @@
+import ./make-test-python.nix ({ pkgs, ... }:
+
+{
+  name = "nitter";
+  meta.maintainers = with pkgs.lib.maintainers; [ erdnaxe ];
+
+  nodes.machine = {
+    services.nitter.enable = true;
+    # Test CAP_NET_BIND_SERVICE
+    services.nitter.server.port = 80;
+  };
+
+  testScript = ''
+    machine.wait_for_unit("nitter.service")
+    machine.wait_for_open_port("80")
+    machine.succeed("curl --fail http://localhost:80/")
+  '';
+})
diff --git a/nixpkgs/nixos/tests/node-red.nix b/nixpkgs/nixos/tests/node-red.nix
new file mode 100644
index 000000000000..7660bc32f4c9
--- /dev/null
+++ b/nixpkgs/nixos/tests/node-red.nix
@@ -0,0 +1,31 @@
+import ./make-test-python.nix ({ pkgs, ... }: {
+  name = "nodered";
+  meta = with pkgs.lib.maintainers; {
+    maintainers = [ matthewcroughan ];
+  };
+
+  nodes = {
+    client = { config, pkgs, ... }: {
+      environment.systemPackages = [ pkgs.curl ];
+    };
+    nodered = { config, pkgs, ... }: {
+      services.node-red = {
+        enable = true;
+        openFirewall = true;
+      };
+    };
+  };
+
+  testScript = ''
+    start_all()
+    nodered.wait_for_unit("node-red.service")
+    nodered.wait_for_open_port("1880")
+
+    client.wait_for_unit("multi-user.target")
+
+    with subtest("Check that the Node-RED webserver can be reached."):
+        assert "<title>Node-RED</title>" in client.succeed(
+            "curl -sSf http:/nodered:1880/ | grep title"
+        )
+  '';
+})
diff --git a/nixpkgs/nixos/tests/nsd.nix b/nixpkgs/nixos/tests/nsd.nix
index 7387f4f1dfa1..eea5a82f6f92 100644
--- a/nixpkgs/nixos/tests/nsd.nix
+++ b/nixpkgs/nixos/tests/nsd.nix
@@ -85,6 +85,7 @@ in import ./make-test-python.nix ({ pkgs, ...} : {
         self = clientv4 if type == 4 else clientv6
         out = self.succeed(f"host -{type} -t {rr} {query}").rstrip()
         self.log(f"output: {out}")
+        import re
         assert re.search(
             expected, out
         ), f"DNS IPv{type} query on {query} gave '{out}' instead of '{expected}'"
diff --git a/nixpkgs/nixos/tests/nzbget.nix b/nixpkgs/nixos/tests/nzbget.nix
index d6111ba079c8..fe5a4bc3df91 100644
--- a/nixpkgs/nixos/tests/nzbget.nix
+++ b/nixpkgs/nixos/tests/nzbget.nix
@@ -8,13 +8,21 @@ import ./make-test-python.nix ({ pkgs, ...} : {
     server = { ... }: {
       services.nzbget.enable = true;
 
+      # provide some test settings
+      services.nzbget.settings = {
+        "MainDir" = "/var/lib/nzbget";
+        "DirectRename" = true;
+        "DiskSpace" = 0;
+        "Server1.Name" = "this is a test";
+      };
+
       # hack, don't add (unfree) unrar to nzbget's path,
       # so we can run this test in CI
       systemd.services.nzbget.path = pkgs.lib.mkForce [ pkgs.p7zip ];
     };
   };
 
-  testScript = ''
+  testScript = { nodes, ... }: ''
     start_all()
 
     server.wait_for_unit("nzbget.service")
@@ -26,5 +34,13 @@ import ./make-test-python.nix ({ pkgs, ...} : {
     server.succeed(
         "${pkgs.nzbget}/bin/nzbget -n -o Control_iP=127.0.0.1 -o Control_port=6789 -o Control_password=tegbzn6789 -V"
     )
+
+    config = server.succeed("${nodes.server.config.systemd.services.nzbget.serviceConfig.ExecStart} --printconfig")
+
+    # confirm the test settings are applied
+    assert 'MainDir = "/var/lib/nzbget"' in config
+    assert 'DirectRename = "yes"' in config
+    assert 'DiskSpace = "0"' in config
+    assert 'Server1.Name = "this is a test"' in config
   '';
 })
diff --git a/nixpkgs/nixos/tests/paperless-ng.nix b/nixpkgs/nixos/tests/paperless-ng.nix
new file mode 100644
index 000000000000..a4b2f348ec32
--- /dev/null
+++ b/nixpkgs/nixos/tests/paperless-ng.nix
@@ -0,0 +1,46 @@
+import ./make-test-python.nix ({ lib, ... }: {
+  name = "paperless-ng";
+  meta.maintainers = with lib.maintainers; [ earvstedt Flakebi ];
+
+  nodes.machine = { pkgs, ... }: {
+    environment.systemPackages = with pkgs; [ imagemagick jq ];
+    services.paperless-ng = {
+      enable = true;
+      passwordFile = builtins.toFile "password" "admin";
+    };
+    virtualisation.memorySize = 1024;
+  };
+
+  testScript = ''
+    machine.wait_for_unit("paperless-ng-consumer.service")
+
+    with subtest("Create test doc"):
+        machine.succeed(
+            "convert -size 400x40 xc:white -font 'DejaVu-Sans' -pointsize 20 -fill black "
+            "-annotate +5+20 'hello world 16-10-2005' /var/lib/paperless/consume/doc.png"
+        )
+
+    with subtest("Web interface gets ready"):
+        machine.wait_for_unit("paperless-ng-web.service")
+        # Wait until server accepts connections
+        machine.wait_until_succeeds("curl -fs localhost:28981")
+
+    with subtest("Create web test doc"):
+        machine.succeed(
+            "convert -size 400x40 xc:white -font 'DejaVu-Sans' -pointsize 20 -fill black "
+            "-annotate +5+20 'hello web 16-10-2005' /tmp/webdoc.png"
+        )
+        machine.wait_until_succeeds("curl -u admin:admin -F document=@/tmp/webdoc.png -fs localhost:28981/api/documents/post_document/")
+
+    with subtest("Documents are consumed"):
+        machine.wait_until_succeeds(
+            "(($(curl -u admin:admin -fs localhost:28981/api/documents/ | jq .count) == 2))"
+        )
+        assert "2005-10-16" in machine.succeed(
+            "curl -u admin:admin -fs localhost:28981/api/documents/ | jq '.results | .[0] | .created'"
+        )
+        assert "2005-10-16" in machine.succeed(
+            "curl -u admin:admin -fs localhost:28981/api/documents/ | jq '.results | .[1] | .created'"
+        )
+  '';
+})
diff --git a/nixpkgs/nixos/tests/paperless.nix b/nixpkgs/nixos/tests/paperless.nix
deleted file mode 100644
index fb83e6f976de..000000000000
--- a/nixpkgs/nixos/tests/paperless.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-import ./make-test-python.nix ({ lib, ... } : {
-  name = "paperless";
-  meta = with lib.maintainers; {
-    maintainers = [ earvstedt ];
-  };
-
-  machine = { pkgs, ... }: {
-    environment.systemPackages = with pkgs; [ imagemagick jq ];
-    services.paperless = {
-      enable = true;
-      ocrLanguages = [ "eng" ];
-    };
-  };
-
-  testScript = ''
-    machine.wait_for_unit("paperless-consumer.service")
-
-    # Create test doc
-    machine.succeed(
-        "convert -size 400x40 xc:white -font 'DejaVu-Sans' -pointsize 20 -fill black -annotate +5+20 'hello world 16-10-2005' /var/lib/paperless/consume/doc.png"
-    )
-
-    with subtest("Service gets ready"):
-        machine.wait_for_unit("paperless-server.service")
-        # Wait until server accepts connections
-        machine.wait_until_succeeds("curl -fs localhost:28981")
-
-    with subtest("Test document is consumed"):
-        machine.wait_until_succeeds(
-            "(($(curl -fs localhost:28981/api/documents/ | jq .count) == 1))"
-        )
-        assert "2005-10-16" in machine.succeed(
-            "curl -fs localhost:28981/api/documents/ | jq '.results | .[0] | .created'"
-        )
-  '';
-})
diff --git a/nixpkgs/nixos/tests/pleroma.nix b/nixpkgs/nixos/tests/pleroma.nix
index 797cac44f956..d0ae1488d134 100644
--- a/nixpkgs/nixos/tests/pleroma.nix
+++ b/nixpkgs/nixos/tests/pleroma.nix
@@ -162,8 +162,8 @@ import ./make-test-python.nix ({ pkgs, ... }:
     pleroma_ctl user new jamy jamy@nixos.test --password 'jamy-password' --moderator --admin -y
   '';
 
-  tls-cert = pkgs.runCommandNoCC "selfSignedCerts" { buildInputs = [ pkgs.openssl ]; } ''
-    openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes -subj '/CN=pleroma.nixos.test'
+  tls-cert = pkgs.runCommand "selfSignedCerts" { buildInputs = [ pkgs.openssl ]; } ''
+    openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes -subj '/CN=pleroma.nixos.test' -days 36500
     mkdir -p $out
     cp key.pem cert.pem $out
   '';
@@ -202,6 +202,7 @@ import ./make-test-python.nix ({ pkgs, ... }:
       security.pki.certificateFiles = [ "${tls-cert}/cert.pem" ];
       networking.extraHosts = hosts nodes;
       networking.firewall.enable = false;
+      virtualisation.memorySize = 512;
       environment.systemPackages = with pkgs; [
         provision-db
         provision-secrets
diff --git a/nixpkgs/nixos/tests/postfixadmin.nix b/nixpkgs/nixos/tests/postfixadmin.nix
new file mode 100644
index 000000000000..aba5e3eed102
--- /dev/null
+++ b/nixpkgs/nixos/tests/postfixadmin.nix
@@ -0,0 +1,31 @@
+import ./make-test-python.nix ({ pkgs, ...} : {
+  name = "postfixadmin";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ globin ];
+  };
+
+  nodes = {
+    postfixadmin = { config, pkgs, ... }: {
+      services.postfixadmin = {
+        enable = true;
+        hostName = "postfixadmin";
+        setupPasswordFile = pkgs.writeText "insecure-test-setup-pw-file" "$2y$10$r0p63YCjd9rb9nHrV9UtVuFgGTmPDLKu.0UIJoQTkWCZZze2iuB1m";
+      };
+      services.nginx.virtualHosts.postfixadmin = {
+        forceSSL = false;
+        enableACME = false;
+      };
+    };
+  };
+
+  testScript = ''
+    postfixadmin.start
+    postfixadmin.wait_for_unit("postgresql.service")
+    postfixadmin.wait_for_unit("phpfpm-postfixadmin.service")
+    postfixadmin.wait_for_unit("nginx.service")
+    postfixadmin.succeed(
+        "curl -sSfL http://postfixadmin/setup.php -X POST -F 'setup_password=not production'"
+    )
+    postfixadmin.succeed("curl -sSfL http://postfixadmin/ | grep 'Mail admins login here'")
+  '';
+})
diff --git a/nixpkgs/nixos/tests/postgresql.nix b/nixpkgs/nixos/tests/postgresql.nix
index 0369a0707190..2b487c20a625 100644
--- a/nixpkgs/nixos/tests/postgresql.nix
+++ b/nixpkgs/nixos/tests/postgresql.nix
@@ -43,6 +43,7 @@ let
     testScript = let
       backupName = if backup-all then "all" else "postgres";
       backupService = if backup-all then "postgresqlBackup" else "postgresqlBackup-postgres";
+      backupFileBase = "/var/backup/postgresql/${backupName}";
     in ''
       def check_count(statement, lines):
           return 'test $(sudo -u postgres psql postgres -tAc "{}"|wc -l) -eq {}'.format(
@@ -60,6 +61,7 @@ let
 
       with subtest("Postgresql survives restart (bug #1735)"):
           machine.shutdown()
+          import time
           time.sleep(2)
           machine.start()
           machine.wait_for_unit("postgresql")
@@ -72,9 +74,32 @@ let
       with subtest("Backup service works"):
           machine.succeed(
               "systemctl start ${backupService}.service",
-              "zcat /var/backup/postgresql/${backupName}.sql.gz | grep '<test>ok</test>'",
+              "zcat ${backupFileBase}.sql.gz | grep '<test>ok</test>'",
               "ls -hal /var/backup/postgresql/ >/dev/console",
-              "stat -c '%a' /var/backup/postgresql/${backupName}.sql.gz | grep 600",
+              "stat -c '%a' ${backupFileBase}.sql.gz | grep 600",
+          )
+      with subtest("Backup service removes prev files"):
+          machine.succeed(
+              # Create dummy prev files.
+              "touch ${backupFileBase}.prev.sql{,.gz,.zstd}",
+              "chown postgres:postgres ${backupFileBase}.prev.sql{,.gz,.zstd}",
+
+              # Run backup.
+              "systemctl start ${backupService}.service",
+              "ls -hal /var/backup/postgresql/ >/dev/console",
+
+              # Since nothing has changed in the database, the cur and prev files
+              # should match.
+              "zcat ${backupFileBase}.sql.gz | grep '<test>ok</test>'",
+              "cmp ${backupFileBase}.sql.gz ${backupFileBase}.prev.sql.gz",
+
+              # The prev files with unused suffix should be removed.
+              "[ ! -f '${backupFileBase}.prev.sql' ]",
+              "[ ! -f '${backupFileBase}.prev.sql.zstd' ]",
+
+              # Both cur and prev file should only be accessible by the postgres user.
+              "stat -c '%a' ${backupFileBase}.sql.gz | grep 600",
+              "stat -c '%a' '${backupFileBase}.prev.sql.gz' | grep 600",
           )
       with subtest("Backup service fails gracefully"):
           # Sabotage the backup process
@@ -84,8 +109,8 @@ let
           )
           machine.succeed(
               "ls -hal /var/backup/postgresql/ >/dev/console",
-              "zcat /var/backup/postgresql/${backupName}.prev.sql.gz | grep '<test>ok</test>'",
-              "stat /var/backup/postgresql/${backupName}.in-progress.sql.gz",
+              "zcat ${backupFileBase}.prev.sql.gz | grep '<test>ok</test>'",
+              "stat ${backupFileBase}.in-progress.sql.gz",
           )
           # In a previous version, the second run would overwrite prev.sql.gz,
           # so we test a second run as well.
@@ -93,8 +118,8 @@ let
               "systemctl start ${backupService}.service",
           )
           machine.succeed(
-              "stat /var/backup/postgresql/${backupName}.in-progress.sql.gz",
-              "zcat /var/backup/postgresql/${backupName}.prev.sql.gz | grep '<test>ok</test>'",
+              "stat ${backupFileBase}.in-progress.sql.gz",
+              "zcat ${backupFileBase}.prev.sql.gz | grep '<test>ok</test>'",
           )
 
 
diff --git a/nixpkgs/nixos/tests/prometheus-exporters.nix b/nixpkgs/nixos/tests/prometheus-exporters.nix
index e8bc6339ecfd..c6e8fa5a9ee1 100644
--- a/nixpkgs/nixos/tests/prometheus-exporters.nix
+++ b/nixpkgs/nixos/tests/prometheus-exporters.nix
@@ -273,6 +273,26 @@ let
       '';
     };
 
+    influxdb = {
+      exporterConfig = {
+        enable = true;
+        sampleExpiry = "3s";
+      };
+      exporterTest = ''
+        wait_for_unit("prometheus-influxdb-exporter.service")
+        succeed(
+          "curl -XPOST http://localhost:9122/write --data-binary 'influxdb_exporter,distro=nixos,added_in=21.09 value=1'"
+        )
+        succeed(
+          "curl -sSf http://localhost:9122/metrics | grep 'nixos'"
+        )
+        execute("sleep 5")
+        fail(
+          "curl -sSf http://localhost:9122/metrics | grep 'nixos'"
+        )
+      '';
+    };
+
     jitsi = {
       exporterConfig = {
         enable = true;
@@ -340,7 +360,6 @@ let
         systemd.services.prometheus-kea-exporter.after = [ "kea-dhcp6-server.service" ];
 
         services.kea = {
-          enable = true;
           dhcp6 = {
             enable = true;
             settings = {
diff --git a/nixpkgs/nixos/tests/rabbitmq.nix b/nixpkgs/nixos/tests/rabbitmq.nix
index 8a7fcc0e8991..03f1fa46d29e 100644
--- a/nixpkgs/nixos/tests/rabbitmq.nix
+++ b/nixpkgs/nixos/tests/rabbitmq.nix
@@ -7,7 +7,12 @@ import ./make-test-python.nix ({ pkgs, ... }: {
   };
 
   machine = {
-    services.rabbitmq.enable = true;
+    services.rabbitmq = {
+      enable = true;
+      managementPlugin.enable = true;
+    };
+    # Ensure there is sufficient extra disk space for rabbitmq to be happy
+    virtualisation.diskSize = 1024;
   };
 
   testScript = ''
@@ -17,5 +22,6 @@ import ./make-test-python.nix ({ pkgs, ... }: {
     machine.wait_until_succeeds(
         'su -s ${pkgs.runtimeShell} rabbitmq -c "rabbitmqctl status"'
     )
+    machine.wait_for_open_port("15672")
   '';
 })
diff --git a/nixpkgs/nixos/tests/sanoid.nix b/nixpkgs/nixos/tests/sanoid.nix
index 1983945915fe..3bdbe0a8d8db 100644
--- a/nixpkgs/nixos/tests/sanoid.nix
+++ b/nixpkgs/nixos/tests/sanoid.nix
@@ -44,7 +44,7 @@ in {
           # Sync snapshot taken by sanoid
           "pool/sanoid" = {
             target = "root@target:pool/sanoid";
-            extraArgs = [ "--no-sync-snap" ];
+            extraArgs = [ "--no-sync-snap" "--create-bookmark" ];
           };
           # Take snapshot and sync
           "pool/syncoid".target = "root@target:pool/syncoid";
@@ -85,15 +85,28 @@ in {
         "chown -R syncoid:syncoid /var/lib/syncoid/",
     )
 
+    assert len(source.succeed("zfs allow pool")) == 0, "Pool shouldn't have delegated permissions set before snapshotting"
+    assert len(source.succeed("zfs allow pool/sanoid")) == 0, "Sanoid dataset shouldn't have delegated permissions set before snapshotting"
+    assert len(source.succeed("zfs allow pool/syncoid")) == 0, "Syncoid dataset shouldn't have delegated permissions set before snapshotting"
+
     # Take snapshot with sanoid
     source.succeed("touch /mnt/pool/sanoid/test.txt")
     source.systemctl("start --wait sanoid.service")
 
+    assert len(source.succeed("zfs allow pool")) == 0, "Pool shouldn't have delegated permissions set after snapshotting"
+    assert len(source.succeed("zfs allow pool/sanoid")) == 0, "Sanoid dataset shouldn't have delegated permissions set after snapshotting"
+    assert len(source.succeed("zfs allow pool/syncoid")) == 0, "Syncoid dataset shouldn't have delegated permissions set after snapshotting"
+
     # Sync snapshots
     target.wait_for_open_port(22)
     source.succeed("touch /mnt/pool/syncoid/test.txt")
-    source.systemctl("start --wait syncoid.service")
+    source.systemctl("start --wait syncoid-pool-sanoid.service")
     target.succeed("cat /mnt/pool/sanoid/test.txt")
+    source.systemctl("start --wait syncoid-pool-syncoid.service")
     target.succeed("cat /mnt/pool/syncoid/test.txt")
+
+    assert len(source.succeed("zfs allow pool")) == 0, "Pool shouldn't have delegated permissions set after syncing snapshots"
+    assert len(source.succeed("zfs allow pool/sanoid")) == 0, "Sanoid dataset shouldn't have delegated permissions set after syncing snapshots"
+    assert len(source.succeed("zfs allow pool/syncoid")) == 0, "Syncoid dataset shouldn't have delegated permissions set after syncing snapshots"
   '';
 })
diff --git a/nixpkgs/nixos/tests/shattered-pixel-dungeon.nix b/nixpkgs/nixos/tests/shattered-pixel-dungeon.nix
index cf6ee8db80b2..d8c4b44819e4 100644
--- a/nixpkgs/nixos/tests/shattered-pixel-dungeon.nix
+++ b/nixpkgs/nixos/tests/shattered-pixel-dungeon.nix
@@ -10,6 +10,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
     ];
 
     services.xserver.enable = true;
+    sound.enable = true;
     environment.systemPackages = [ pkgs.shattered-pixel-dungeon ];
   };
 
diff --git a/nixpkgs/nixos/tests/signal-desktop.nix b/nixpkgs/nixos/tests/signal-desktop.nix
index 42485cd0da7e..379af4d3912b 100644
--- a/nixpkgs/nixos/tests/signal-desktop.nix
+++ b/nixpkgs/nixos/tests/signal-desktop.nix
@@ -1,6 +1,16 @@
 import ./make-test-python.nix ({ pkgs, ...} :
 
-{
+let
+  sqlcipher-signal = pkgs.writeShellScriptBin "sqlcipher" ''
+    set -eu
+
+    readonly CFG=~/.config/Signal/config.json
+    readonly KEY="$(${pkgs.jq}/bin/jq --raw-output '.key' $CFG)"
+    readonly DB="$1"
+    readonly SQL="SELECT * FROM sqlite_master where type='table'"
+    ${pkgs.sqlcipher}/bin/sqlcipher "$DB" "PRAGMA key = \"x'$KEY'\"; $SQL"
+  '';
+in {
   name = "signal-desktop";
   meta = with pkgs.lib.maintainers; {
     maintainers = [ flokli primeos ];
@@ -16,7 +26,9 @@ import ./make-test-python.nix ({ pkgs, ...} :
 
     services.xserver.enable = true;
     test-support.displayManager.auto.user = "alice";
-    environment.systemPackages = with pkgs; [ signal-desktop file ];
+    environment.systemPackages = with pkgs; [
+      signal-desktop file sqlite sqlcipher-signal
+    ];
     virtualisation.memorySize = 1024;
   };
 
@@ -44,11 +56,15 @@ import ./make-test-python.nix ({ pkgs, ...} :
     # - https://github.com/NixOS/nixpkgs/issues/108772
     # - https://github.com/NixOS/nixpkgs/pull/117555
     print(machine.succeed("su - alice -c 'file ~/.config/Signal/sql/db.sqlite'"))
-    machine.succeed(
-        "su - alice -c 'file ~/.config/Signal/sql/db.sqlite' | grep 'db.sqlite: data'"
-    )
     machine.fail(
         "su - alice -c 'file ~/.config/Signal/sql/db.sqlite' | grep -e SQLite -e database"
     )
+    # Only SQLCipher should be able to read the encrypted DB:
+    machine.fail(
+        "su - alice -c 'sqlite3 ~/.config/Signal/sql/db.sqlite .databases'"
+    )
+    print(machine.succeed(
+        "su - alice -c 'sqlcipher ~/.config/Signal/sql/db.sqlite'"
+    ))
   '';
 })
diff --git a/nixpkgs/nixos/tests/slurm.nix b/nixpkgs/nixos/tests/slurm.nix
index 3702d243b486..a6b02e970b0c 100644
--- a/nixpkgs/nixos/tests/slurm.nix
+++ b/nixpkgs/nixos/tests/slurm.nix
@@ -43,7 +43,7 @@ let
           return EXIT_SUCCESS;
         }
       '';
-    in pkgs.runCommandNoCC "mpitest" {} ''
+    in pkgs.runCommand "mpitest" {} ''
       mkdir -p $out/bin
       ${pkgs.openmpi}/bin/mpicc ${mpitestC} -o $out/bin/mpitest
     '';
diff --git a/nixpkgs/nixos/tests/soapui.nix b/nixpkgs/nixos/tests/soapui.nix
new file mode 100644
index 000000000000..205128df91f4
--- /dev/null
+++ b/nixpkgs/nixos/tests/soapui.nix
@@ -0,0 +1,24 @@
+import ./make-test-python.nix ({ pkgs, ... }: {
+  name = "soapui";
+  meta = with pkgs.lib.maintainers; {
+    maintainers = [ asbachb ];
+  };
+
+  machine = { config, pkgs, ... }: {
+    imports = [
+      ./common/x11.nix
+    ];
+
+    services.xserver.enable = true;
+
+    environment.systemPackages = [ pkgs.soapui ];
+  };
+
+  testScript = ''
+    machine.wait_for_x()
+    machine.succeed("soapui &")
+    machine.wait_for_window(r"SoapUI \d+\.\d+\.\d+")
+    machine.sleep(1)
+    machine.screenshot("soapui")
+  '';
+})
diff --git a/nixpkgs/nixos/tests/syncthing-init.nix b/nixpkgs/nixos/tests/syncthing-init.nix
index 4581e3fd4fbe..8b60ad7faf09 100644
--- a/nixpkgs/nixos/tests/syncthing-init.nix
+++ b/nixpkgs/nixos/tests/syncthing-init.nix
@@ -9,15 +9,14 @@ in {
   machine = {
     services.syncthing = {
       enable = true;
-      declarative = {
-        devices.testDevice = {
-          id = testId;
-        };
-        folders.testFolder = {
-          path = "/tmp/test";
-          devices = [ "testDevice" ];
-        };
+      devices.testDevice = {
+        id = testId;
       };
+      folders.testFolder = {
+        path = "/tmp/test";
+        devices = [ "testDevice" ];
+      };
+      extraOptions.gui.user = "guiUser";
     };
   };
 
@@ -27,5 +26,6 @@ in {
 
     assert "testFolder" in config
     assert "${testId}" in config
+    assert "guiUser" in config
   '';
 })
diff --git a/nixpkgs/nixos/tests/syncthing.nix b/nixpkgs/nixos/tests/syncthing.nix
index 5536b7055cc9..aff1d8744130 100644
--- a/nixpkgs/nixos/tests/syncthing.nix
+++ b/nixpkgs/nixos/tests/syncthing.nix
@@ -25,7 +25,7 @@ import ./make-test-python.nix ({ lib, pkgs, ... }: {
             "xmllint --xpath 'string(configuration/gui/apikey)' %s/config.xml" % confdir
         ).strip()
         oldConf = host.succeed(
-            "curl -Ssf -H 'X-API-Key: %s' 127.0.0.1:8384/rest/system/config" % APIKey
+            "curl -Ssf -H 'X-API-Key: %s' 127.0.0.1:8384/rest/config" % APIKey
         )
         conf = json.loads(oldConf)
         conf["devices"].append({"deviceID": deviceID, "id": name})
@@ -39,7 +39,7 @@ import ./make-test-python.nix ({ lib, pkgs, ... }: {
         )
         newConf = json.dumps(conf)
         host.succeed(
-            "curl -Ssf -H 'X-API-Key: %s' 127.0.0.1:8384/rest/system/config -d %s"
+            "curl -Ssf -H 'X-API-Key: %s' 127.0.0.1:8384/rest/config -X PUT -d %s"
             % (APIKey, shlex.quote(newConf))
         )
 
diff --git a/nixpkgs/nixos/tests/traefik.nix b/nixpkgs/nixos/tests/traefik.nix
index f27f6e1e6d69..1d6c0a479ef6 100644
--- a/nixpkgs/nixos/tests/traefik.nix
+++ b/nixpkgs/nixos/tests/traefik.nix
@@ -74,6 +74,8 @@ import ./make-test-python.nix ({ pkgs, ... }: {
 
     client.wait_for_unit("multi-user.target")
 
+    client.wait_until_succeeds("curl -sSf -H Host:nginx.traefik.test http://traefik/")
+
     with subtest("Check that a container can be reached via Traefik"):
         assert "Hello from NGINX" in client.succeed(
             "curl -sSf -H Host:nginx.traefik.test http://traefik/"
diff --git a/nixpkgs/nixos/tests/turbovnc-headless-server.nix b/nixpkgs/nixos/tests/turbovnc-headless-server.nix
index 35da9a53d2db..dfa17d65f85e 100644
--- a/nixpkgs/nixos/tests/turbovnc-headless-server.nix
+++ b/nixpkgs/nixos/tests/turbovnc-headless-server.nix
@@ -57,6 +57,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
             else:
                 if check_success():
                     return
+            import time
             time.sleep(retry_sleep)
 
         if not check_success():
diff --git a/nixpkgs/nixos/tests/tuxguitar.nix b/nixpkgs/nixos/tests/tuxguitar.nix
new file mode 100644
index 000000000000..6586132d3cd4
--- /dev/null
+++ b/nixpkgs/nixos/tests/tuxguitar.nix
@@ -0,0 +1,24 @@
+import ./make-test-python.nix ({ pkgs, ... }: {
+  name = "tuxguitar";
+  meta = with pkgs.lib.maintainers; {
+    maintainers = [ asbachb ];
+  };
+
+  machine = { config, pkgs, ... }: {
+    imports = [
+      ./common/x11.nix
+    ];
+
+    services.xserver.enable = true;
+
+    environment.systemPackages = [ pkgs.tuxguitar ];
+  };
+
+  testScript = ''
+    machine.wait_for_x()
+    machine.succeed("tuxguitar &")
+    machine.wait_for_window("TuxGuitar - Untitled.tg")
+    machine.sleep(1)
+    machine.screenshot("tuxguitar")
+  '';
+})
diff --git a/nixpkgs/nixos/tests/unbound.nix b/nixpkgs/nixos/tests/unbound.nix
index fcfa222299c8..58a717f98a16 100644
--- a/nixpkgs/nixos/tests/unbound.nix
+++ b/nixpkgs/nixos/tests/unbound.nix
@@ -33,7 +33,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
       };
     };
 
-    cert = pkgs.runCommandNoCC "selfSignedCerts" { buildInputs = [ pkgs.openssl ]; } ''
+    cert = pkgs.runCommand "selfSignedCerts" { buildInputs = [ pkgs.openssl ]; } ''
       openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes -subj '/CN=dns.example.local'
       mkdir -p $out
       cp key.pem cert.pem $out
diff --git a/nixpkgs/nixos/tests/wireguard/wg-quick.nix b/nixpkgs/nixos/tests/wireguard/wg-quick.nix
index 8cf8c307de38..961c2e15c30f 100644
--- a/nixpkgs/nixos/tests/wireguard/wg-quick.nix
+++ b/nixpkgs/nixos/tests/wireguard/wg-quick.nix
@@ -8,7 +8,7 @@ import ../make-test-python.nix ({ pkgs, lib, ... }:
   {
     name = "wg-quick";
     meta = with pkgs.lib.maintainers; {
-      maintainers = [ xwvvvvwx ];
+      maintainers = [ d-xo ];
     };
 
     nodes = {
diff --git a/nixpkgs/nixos/tests/xautolock.nix b/nixpkgs/nixos/tests/xautolock.nix
index 2d29f80b3fee..529567e07971 100644
--- a/nixpkgs/nixos/tests/xautolock.nix
+++ b/nixpkgs/nixos/tests/xautolock.nix
@@ -4,7 +4,7 @@ with lib;
 
 {
   name = "xautolock";
-  meta.maintainers = with pkgs.lib.maintainers; [ ma27 ];
+  meta.maintainers = with pkgs.lib.maintainers; [ ];
 
   nodes.machine = {
     imports = [ ./common/x11.nix ./common/user-account.nix ];
diff --git a/nixpkgs/nixos/tests/xmpp/prosody.nix b/nixpkgs/nixos/tests/xmpp/prosody.nix
index 2eb06d88287f..c343b580879a 100644
--- a/nixpkgs/nixos/tests/xmpp/prosody.nix
+++ b/nixpkgs/nixos/tests/xmpp/prosody.nix
@@ -1,6 +1,6 @@
 let
-  cert = pkgs: pkgs.runCommandNoCC "selfSignedCerts" { buildInputs = [ pkgs.openssl ]; } ''
-    openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes -subj '/CN=example.com/CN=uploads.example.com/CN=conference.example.com'
+  cert = pkgs: pkgs.runCommand "selfSignedCerts" { buildInputs = [ pkgs.openssl ]; } ''
+    openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes -subj '/CN=example.com/CN=uploads.example.com/CN=conference.example.com' -days 36500
     mkdir -p $out
     cp key.pem cert.pem $out
   '';
diff --git a/nixpkgs/nixos/tests/xss-lock.nix b/nixpkgs/nixos/tests/xss-lock.nix
index 71f56e32c58a..c927d9274e65 100644
--- a/nixpkgs/nixos/tests/xss-lock.nix
+++ b/nixpkgs/nixos/tests/xss-lock.nix
@@ -4,7 +4,7 @@ with lib;
 
 {
   name = "xss-lock";
-  meta.maintainers = with pkgs.lib.maintainers; [ ma27 ];
+  meta.maintainers = with pkgs.lib.maintainers; [ ];
 
   nodes = {
     simple = {
diff --git a/nixpkgs/nixos/tests/yabar.nix b/nixpkgs/nixos/tests/yabar.nix
index 545fe544d534..c2431e556c37 100644
--- a/nixpkgs/nixos/tests/yabar.nix
+++ b/nixpkgs/nixos/tests/yabar.nix
@@ -5,7 +5,7 @@ with lib;
 {
   name = "yabar";
   meta = with pkgs.lib.maintainers; {
-    maintainers = [ ma27 ];
+    maintainers = [ ];
   };
 
   machine = {
diff --git a/nixpkgs/pkgs/applications/accessibility/svkbd/default.nix b/nixpkgs/pkgs/applications/accessibility/svkbd/default.nix
index 57e6cdba5ae8..eb9ddb091693 100644
--- a/nixpkgs/pkgs/applications/accessibility/svkbd/default.nix
+++ b/nixpkgs/pkgs/applications/accessibility/svkbd/default.nix
@@ -15,11 +15,11 @@
 
 stdenv.mkDerivation rec {
   pname = "svkbd";
-  version = "0.3";
+  version = "0.4";
 
   src = fetchurl {
     url = "https://dl.suckless.org/tools/svkbd-${version}.tar.gz";
-    sha256 = "108khx665d7dlzs04iy4g1nw3fyqpy6kd0afrwiapaibgv4xhfsk";
+    sha256 = "sha256-j9RW5/4cb8l3FK9jpFf206l1rQhCR5H/WMiu7I6rzV8=";
   };
 
   inherit patches;
diff --git a/nixpkgs/pkgs/applications/audio/axoloti/libusb1.nix b/nixpkgs/pkgs/applications/audio/axoloti/libusb1.nix
index b6c2a1b1ae6e..820a8998f0bd 100644
--- a/nixpkgs/pkgs/applications/audio/axoloti/libusb1.nix
+++ b/nixpkgs/pkgs/applications/audio/axoloti/libusb1.nix
@@ -1,19 +1,19 @@
-{ stdenv, lib, fetchurl, pkg-config, systemd ? null, libobjc, IOKit, fetchpatch }:
+{ stdenv, lib, fetchurl, pkg-config, systemd, libobjc, IOKit, fetchpatch }:
 
 stdenv.mkDerivation rec {
-  name = "libusb-1.0.19";
+  pname = "libusb";
+  version = "1.0.19";
 
   src = fetchurl {
-    url = "mirror://sourceforge/libusb/${name}.tar.bz2";
+    url = "mirror://sourceforge/libusb/libusb-${version}.tar.bz2";
     sha256 = "0h38p9rxfpg9vkrbyb120i1diq57qcln82h5fr7hvy82c20jql3c";
   };
 
   outputs = [ "out" "dev" ]; # get rid of propagating systemd closure
 
   buildInputs = [ pkg-config ];
-  propagatedBuildInputs =
-    lib.optional stdenv.isLinux systemd ++
-    lib.optionals stdenv.isDarwin [ libobjc IOKit ];
+  propagatedBuildInputs = lib.optional stdenv.isLinux systemd
+    ++ lib.optionals stdenv.isDarwin [ libobjc IOKit ];
 
   patches = [
     (fetchpatch {
@@ -32,6 +32,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "http://www.libusb.info";
     description = "User-space USB library";
+    maintainers = with maintainers; [ ];
     platforms = platforms.unix;
     license = licenses.lgpl21;
   };
diff --git a/nixpkgs/pkgs/applications/audio/bambootracker/default.nix b/nixpkgs/pkgs/applications/audio/bambootracker/default.nix
index 09be8faa8a0f..591c14c1adfa 100644
--- a/nixpkgs/pkgs/applications/audio/bambootracker/default.nix
+++ b/nixpkgs/pkgs/applications/audio/bambootracker/default.nix
@@ -2,7 +2,6 @@
 , stdenv
 , lib
 , fetchFromGitHub
-, fetchpatch
 , qmake
 , pkg-config
 , qttools
@@ -13,25 +12,16 @@
 
 mkDerivation rec {
   pname = "bambootracker";
-  version = "0.4.6";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
-    owner = "rerrahkr";
+    owner = "BambooTracker";
     repo = "BambooTracker";
     rev = "v${version}";
-    sha256 = "0iddqfw951dw9xpl4w7310sl4z544507ppb12i8g4fzvlxfw2ifc";
+    fetchSubmodules = true;
+    sha256 = "1mpbvhsmrn0wdmxfp3n5dwv4474qlhy47r3vwc2jwdslq6vgl1fa";
   };
 
-  # TODO Remove when updating past 0.4.6
-  # Fixes build failure on darwin
-  patches = [
-    (fetchpatch {
-      name = "bambootracker-Add_braces_in_initialization_of_std-array.patch";
-      url = "https://github.com/rerrahkr/BambooTracker/commit/0fc96c60c7ae6c2504ee696bb7dec979ac19717d.patch";
-      sha256 = "1z28af46mqrgnyrr4i8883gp3wablkk8rijnj0jvpq01s4m2sfjn";
-    })
-  ];
-
   nativeBuildInputs = [ qmake qttools pkg-config ];
 
   buildInputs = [ qtbase rtaudio rtmidi ];
@@ -40,18 +30,20 @@ mkDerivation rec {
 
   postConfigure = "make qmake_all";
 
-  # installs app bundle on darwin, re-extract the binary
-  # wrapQtAppsHook fails to wrap mach-o binaries, manually call wrapper (https://github.com/NixOS/nixpkgs/issues/102044)
+  # 1. installs app bundle on darwin, move to app bundle dir & link binary to bin
+  # 2. wrapQtAppsHook fails to wrap mach-o binaries automatically, manually call wrapper
+  #    (see https://github.com/NixOS/nixpkgs/issues/102044)
   postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
-    mv $out/bin/BambooTracker{.app/Contents/MacOS/BambooTracker,}
-    rm -r $out/bin/BambooTracker.app
-    wrapQtApp $out/bin/BambooTracker
+    mkdir -p $out/Applications
+    mv $out/{bin,Applications}/BambooTracker.app
+    wrapQtApp $out/Applications/BambooTracker.app/Contents/MacOS/BambooTracker
+    ln -s $out/{Applications/BambooTracker.app/Contents/MacOS,bin}/BambooTracker
   '';
 
   meta = with lib; {
     description = "A tracker for YM2608 (OPNA) which was used in NEC PC-8801/9801 series computers";
-    homepage = "https://rerrahkr.github.io/BambooTracker";
-    license = licenses.gpl2Only;
+    homepage = "https://bambootracker.github.io/BambooTracker/";
+    license = licenses.gpl2Plus;
     platforms = platforms.all;
     maintainers = with maintainers; [ OPNA2608 ];
   };
diff --git a/nixpkgs/pkgs/applications/audio/boops/default.nix b/nixpkgs/pkgs/applications/audio/boops/default.nix
index b1b91aaf9de0..de766f14dbc5 100644
--- a/nixpkgs/pkgs/applications/audio/boops/default.nix
+++ b/nixpkgs/pkgs/applications/audio/boops/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "boops";
-  version = "1.6.0";
+  version = "1.6.4";
 
   src = fetchFromGitHub {
     owner = "sjaehn";
     repo = "BOops";
     rev = version;
-    sha256 = "sha256-7eNvt8PxIZCp83Y5XX5fBolBon4j+HPtu8wrgG8Miok=";
+    sha256 = "sha256-rljUb0fj231MQh+7jTpjAsZm1QkNzfdSpcI1cS5fs/c=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/nixpkgs/pkgs/applications/audio/carla/default.nix b/nixpkgs/pkgs/applications/audio/carla/default.nix
index 38514e40d000..af43e40e2c13 100644
--- a/nixpkgs/pkgs/applications/audio/carla/default.nix
+++ b/nixpkgs/pkgs/applications/audio/carla/default.nix
@@ -15,13 +15,13 @@ assert withGtk3 -> gtk3 != null;
 
 stdenv.mkDerivation rec {
   pname = "carla";
-  version = "2.3.0";
+  version = "2.4.0";
 
   src = fetchFromGitHub {
     owner = "falkTX";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-724EFBpbmPMuU1m3T0XMaeohURJA5JcxHfUPYbZ/2LE=";
+    sha256 = "sha256-WxhG9X6jVcu10bl5p0f61+SYZmJw4W7DYvezbpAlNjg=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/audio/cozy-audiobooks/default.nix b/nixpkgs/pkgs/applications/audio/cozy/default.nix
index 5eb71cbe04f3..afceca2a54ba 100644
--- a/nixpkgs/pkgs/applications/audio/cozy-audiobooks/default.nix
+++ b/nixpkgs/pkgs/applications/audio/cozy/default.nix
@@ -8,11 +8,13 @@
 , gtk3
 , gst_all_1
 , gobject-introspection
+, libhandy
+, libdazzle
 , python3Packages
-, file
 , cairo
 , gettext
 , gnome
+, pantheon
 }:
 
 python3Packages.buildPythonApplication rec {
@@ -20,7 +22,7 @@ python3Packages.buildPythonApplication rec {
   format = "other"; # no setup.py
 
   pname = "cozy";
-  version = "0.7.2";
+  version = "1.1.2";
 
   # Temporary fix
   # See https://github.com/NixOS/nixpkgs/issues/57029
@@ -31,7 +33,7 @@ python3Packages.buildPythonApplication rec {
     owner = "geigi";
     repo = pname;
     rev = version;
-    sha256 = "0fmbddi4ga0bppwg3rm3yjmf7jgqc6zfslmavnr1pglbzkjhy9fs";
+    sha256 = "sha256-QENn8mFMk06/Uj8QJo0mJQ7frJNcv5RVNJwDB+H/LkI=";
   };
 
   nativeBuildInputs = [
@@ -47,11 +49,15 @@ python3Packages.buildPythonApplication rec {
     cairo
     gettext
     gnome.adwaita-icon-theme
+    libdazzle
+    libhandy
+    pantheon.granite
   ] ++ (with gst_all_1; [
     gstreamer
     gst-plugins-good
     gst-plugins-ugly
     gst-plugins-base
+    gst-plugins-bad
   ]);
 
   propagatedBuildInputs = with python3Packages; [
@@ -70,8 +76,7 @@ python3Packages.buildPythonApplication rec {
   ];
 
   postPatch = ''
-    chmod +x meson/post_install.py
-    patchShebangs meson/post_install.py
+    patchShebangs meson/*.py
   '';
 
   postInstall = ''
diff --git a/nixpkgs/pkgs/applications/audio/cyanrip/default.nix b/nixpkgs/pkgs/applications/audio/cyanrip/default.nix
new file mode 100644
index 000000000000..3338fe40bf17
--- /dev/null
+++ b/nixpkgs/pkgs/applications/audio/cyanrip/default.nix
@@ -0,0 +1,34 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, meson
+, ninja
+, pkg-config
+, ffmpeg
+, libcdio
+, libcdio-paranoia
+, libmusicbrainz5
+, curl
+}:
+stdenv.mkDerivation rec {
+  pname = "cyanrip";
+  version = "0.7.0";
+
+  src = fetchFromGitHub {
+    owner = "cyanreg";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0lgb92sfpf4w3nj5vlj6j7931mj2q3cmcx1app9snf853jk9ahmw";
+  };
+
+  nativeBuildInputs = [ meson ninja pkg-config ];
+  buildInputs = [ ffmpeg libcdio libcdio-paranoia libmusicbrainz5 curl ];
+
+  meta = with lib; {
+    homepage = "https://github.com/cyanreg/cyanrip";
+    description = "Bule-ish CD ripper";
+    license = licenses.lgpl3Plus;
+    platforms = platforms.all;
+    maintainers = [ maintainers.zane ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/audio/deadbeef/plugins/statusnotifier.nix b/nixpkgs/pkgs/applications/audio/deadbeef/plugins/statusnotifier.nix
new file mode 100644
index 000000000000..a1ca052f9c6b
--- /dev/null
+++ b/nixpkgs/pkgs/applications/audio/deadbeef/plugins/statusnotifier.nix
@@ -0,0 +1,39 @@
+{ lib, stdenv, fetchFromGitHub, pkg-config, deadbeef, gtk3, perl
+, libdbusmenu-glib }:
+
+stdenv.mkDerivation rec {
+  pname = "deadbeef-statusnotifier-plugin";
+  version = "1.6";
+
+  src = fetchFromGitHub {
+    owner = "vovochka404";
+    repo = "deadbeef-statusnotifier-plugin";
+    rev = "v${version}";
+    sha256 = "sha256-6WEbY59vPNrL3W5GUwFQJimmSS+td8Ob+G46fPAxfV4=";
+  };
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ deadbeef gtk3 libdbusmenu-glib ];
+
+  buildFlags = [ "gtk3" ];
+
+  postPatch = ''
+    substituteInPlace tools/glib-mkenums \
+      --replace /usr/bin/perl "${perl}/bin/perl"
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/lib/deadbeef
+    cp build/sni_gtk3.so $out/lib/deadbeef
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "DeaDBeeF StatusNotifier Plugin";
+    homepage = "https://github.com/vovochka404/deadbeef-statusnotifier-plugin";
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.kurnevsky ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/audio/dfasma/default.nix b/nixpkgs/pkgs/applications/audio/dfasma/default.nix
index 3d4e5e5e5b9a..97870c478ebb 100644
--- a/nixpkgs/pkgs/applications/audio/dfasma/default.nix
+++ b/nixpkgs/pkgs/applications/audio/dfasma/default.nix
@@ -47,8 +47,6 @@ in mkDerivation rec {
     substituteInPlace dfasma.pro --replace "CONFIG += file_sdif" "";
   '';
 
-  enableParallelBuilding = true;
-
   meta = with lib; {
     description = "Analyse and compare audio files in time and frequency";
     longDescription = ''
diff --git a/nixpkgs/pkgs/applications/audio/drumkv1/default.nix b/nixpkgs/pkgs/applications/audio/drumkv1/default.nix
index e15e4550e0e5..30d6328b5758 100644
--- a/nixpkgs/pkgs/applications/audio/drumkv1/default.nix
+++ b/nixpkgs/pkgs/applications/audio/drumkv1/default.nix
@@ -2,11 +2,11 @@
 
 mkDerivation rec {
   pname = "drumkv1";
-  version = "0.9.18";
+  version = "0.9.23";
 
   src = fetchurl {
     url = "mirror://sourceforge/drumkv1/${pname}-${version}.tar.gz";
-    sha256 = "1bzkaz7sqx1pvirja8zm7i2ckzl5ad6xspr4840389ik3l8qpnr5";
+    sha256 = "sha256-gNscsqGpEfU1CNJDlBAzum9M0vzJSm6Wx5b/zhOt+sk=";
   };
 
   buildInputs = [ libjack2 alsa-lib libsndfile liblo lv2 qt5.qtbase qt5.qttools ];
diff --git a/nixpkgs/pkgs/applications/audio/easyeffects/default.nix b/nixpkgs/pkgs/applications/audio/easyeffects/default.nix
index ee4d16d6b36d..1e85d57c3f79 100644
--- a/nixpkgs/pkgs/applications/audio/easyeffects/default.nix
+++ b/nixpkgs/pkgs/applications/audio/easyeffects/default.nix
@@ -32,13 +32,13 @@
 
 stdenv.mkDerivation rec {
   pname = "easyeffects";
-  version = "6.0.0";
+  version = "6.0.3";
 
   src = fetchFromGitHub {
     owner = "wwmm";
     repo = "easyeffects";
     rev = "v${version}";
-    hash = "sha256:1m3jamnhgpx3z51nfc8xg7adhf5x7dirvw0wf129hzxx4fjl7rch";
+    sha256 = "sha256-GzqPC/m/HMthLMamhJ4EXX6fxZYscdX1QmXgqHOPEcg=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/audio/faustPhysicalModeling/default.nix b/nixpkgs/pkgs/applications/audio/faustPhysicalModeling/default.nix
index f55cee957c77..6f827cea9564 100644
--- a/nixpkgs/pkgs/applications/audio/faustPhysicalModeling/default.nix
+++ b/nixpkgs/pkgs/applications/audio/faustPhysicalModeling/default.nix
@@ -1,13 +1,13 @@
 { stdenv, lib, fetchFromGitHub, faust2jaqt, faust2lv2 }:
 stdenv.mkDerivation rec {
   pname = "faustPhysicalModeling";
-  version = "2.20.2";
+  version = "2.30.5";
 
   src = fetchFromGitHub {
     owner = "grame-cncm";
     repo = "faust";
     rev = version;
-    sha256 = "1mm93ba26b7q69hvabzalg30dh8pl858nj4m2bb57pznnp09lq9a";
+    sha256 = "sha256-hfpMeUhv6FC9lnPCfdWnAFCaKiteplyrS/o3Lf7cQY4=";
   };
 
   buildInputs = [ faust2jaqt faust2lv2 ];
diff --git a/nixpkgs/pkgs/applications/audio/fmit/default.nix b/nixpkgs/pkgs/applications/audio/fmit/default.nix
index 967c984bc50d..7e376c89d36a 100644
--- a/nixpkgs/pkgs/applications/audio/fmit/default.nix
+++ b/nixpkgs/pkgs/applications/audio/fmit/default.nix
@@ -38,8 +38,6 @@ mkDerivation rec {
       PREFIXSHORTCUT=$out"
   '';
 
-  enableParallelBuilding = true;
-
   meta = {
     description = "Free Musical Instrument Tuner";
     longDescription = ''
diff --git a/nixpkgs/pkgs/applications/audio/friture/default.nix b/nixpkgs/pkgs/applications/audio/friture/default.nix
index e4bd79a08e31..8383bdbebc67 100644
--- a/nixpkgs/pkgs/applications/audio/friture/default.nix
+++ b/nixpkgs/pkgs/applications/audio/friture/default.nix
@@ -4,13 +4,13 @@ let
   py = python3Packages;
 in py.buildPythonApplication rec {
   pname = "friture";
-  version = "unstable-2020-02-16";
+  version = "0.47";
 
   src = fetchFromGitHub {
     owner = "tlecomte";
     repo = pname;
-    rev = "4460b4e72a9c55310d6438f294424b5be74fc0aa";
-    sha256 = "1pmxzq78ibifby3gbir1ah30mgsqv0y7zladf5qf3sl5r1as0yym";
+    rev = "v${version}";
+    sha256 = "1qcsvmgdz9hhv5gaa918147wvng6manc4iq8ci6yr761ljqrgwjx";
   };
 
   nativeBuildInputs = (with py; [ numpy cython scipy ]) ++
@@ -38,7 +38,7 @@ in py.buildPythonApplication rec {
 
   meta = with lib; {
     description = "A real-time audio analyzer";
-    homepage = "http://friture.org/";
+    homepage = "https://friture.org/";
     license = licenses.gpl3;
     platforms = platforms.linux; # fails on Darwin
     maintainers = [ maintainers.laikq ];
diff --git a/nixpkgs/pkgs/applications/audio/friture/factorial.patch b/nixpkgs/pkgs/applications/audio/friture/factorial.patch
deleted file mode 100644
index de053802932d..000000000000
--- a/nixpkgs/pkgs/applications/audio/friture/factorial.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/friture/filter_design.py b/friture/filter_design.py
-index 9876c43..1cc749a 100644
---- a/friture/filter_design.py
-+++ b/friture/filter_design.py
-@@ -2,7 +2,7 @@
- from numpy import pi, exp, arange, cos, sin, sqrt, zeros, ones, log, arange, set_printoptions
- # the three following lines are a workaround for a bug with scipy and py2exe
- # together. See http://www.pyinstaller.org/ticket/83 for reference.
--from scipy.misc import factorial
-+from scipy.special import factorial
- import scipy
- scipy.factorial = factorial
- 
diff --git a/nixpkgs/pkgs/applications/audio/friture/unlock_constraints.patch b/nixpkgs/pkgs/applications/audio/friture/unlock_constraints.patch
index ab53f948a485..6ee474794b2b 100644
--- a/nixpkgs/pkgs/applications/audio/friture/unlock_constraints.patch
+++ b/nixpkgs/pkgs/applications/audio/friture/unlock_constraints.patch
@@ -1,34 +1,34 @@
 diff --git a/setup.py b/setup.py
-index f31eeec..ac0927b 100644
+index 4092388..6cb7dac 100644
 --- a/setup.py
 +++ b/setup.py
 @@ -50,19 +50,19 @@ ext_modules = [LateIncludeExtension("friture_extensions.exp_smoothing_conv",
  # these will be installed when calling 'pip install friture'
  # they are also retrieved by 'requirements.txt'
  install_requires = [
--    "sounddevice==0.3.14",
--    "rtmixer==0.1.0",
--    "PyOpenGL==3.1.4",
--    "PyOpenGL-accelerate==3.1.4",
--    "docutils==0.15.2",
--    "numpy==1.17.4",
--    "PyQt5==5.13.2",
--    "appdirs==1.4.3",
+-    "sounddevice==0.4.2",
+-    "rtmixer==0.1.3",
+-    "PyOpenGL==3.1.5",
+-    "PyOpenGL-accelerate==3.1.5",
+-    "docutils==0.17.1",
+-    "numpy==1.21.1",
+-    "PyQt5==5.15.4",
+-    "appdirs==1.4.4",
 -    "pyrr==0.10.3",
-+    "sounddevice>=0.3.14",
-+    "rtmixer>=0.1.0",
++    "sounddevice>=0.4.1",
++    "rtmixer>=0.1.1",
 +    "PyOpenGL>=3.1.4",
-+    "PyOpenGL-accelerate>=3.1.4",
-+    "docutils>=0.15.2",
-+    "numpy>=1.17.4",
-+    "PyQt5>=5.13.2",
-+    "appdirs>=1.4.3",
++    "PyOpenGL-accelerate>=3.1.5",
++    "docutils>=0.17.1",
++    "numpy>=1.20.3",
++    "PyQt5>=5.15.4",
++    "appdirs>=1.4.4",
 +    "pyrr>=0.10.3",
  ]
  
  # Cython and numpy are needed when running setup.py, to build extensions
--setup_requires=["numpy==1.17.4", "Cython==0.29.14"]
-+setup_requires=["numpy>=1.17.4", "Cython>=0.29.14"]
+-setup_requires=["numpy==1.21.1", "Cython==0.29.24"]
++setup_requires=["numpy>=1.20.3", "Cython>=0.29.22"]
  
  with open(join(dirname(__file__), 'README.rst')) as f:
      long_description = f.read()
diff --git a/nixpkgs/pkgs/applications/audio/gpodder/default.nix b/nixpkgs/pkgs/applications/audio/gpodder/default.nix
index 681c6ffe2810..cd5e476b8845 100644
--- a/nixpkgs/pkgs/applications/audio/gpodder/default.nix
+++ b/nixpkgs/pkgs/applications/audio/gpodder/default.nix
@@ -29,8 +29,14 @@ python3Packages.buildPythonApplication rec {
     glibcLocales
   ];
 
+  # as of 2021-07, the gobject-introspection setup hook does not
+  # work with `strictDeps` enabled, thus for proper `wrapGAppsHook`
+  # it needs to be disabled explicitly. https://github.com/NixOS/nixpkgs/issues/56943
+  strictDeps = false;
+
   buildInputs = [
     python3
+    gtk3
     gobject-introspection
     gnome.adwaita-icon-theme
   ];
@@ -49,7 +55,6 @@ python3Packages.buildPythonApplication rec {
     eyeD3
     podcastparser
     html5lib
-    gtk3
   ];
 
   makeFlags = [
diff --git a/nixpkgs/pkgs/applications/audio/helvum/default.nix b/nixpkgs/pkgs/applications/audio/helvum/default.nix
index cc98e9fb359c..39c8a3b3184c 100644
--- a/nixpkgs/pkgs/applications/audio/helvum/default.nix
+++ b/nixpkgs/pkgs/applications/audio/helvum/default.nix
@@ -13,17 +13,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "helvum";
-  version = "0.2.1";
+  version = "0.3.0";
 
   src = fetchFromGitLab {
     domain = "gitlab.freedesktop.org";
     owner = "ryuukyu";
     repo = pname;
     rev = version;
-    sha256 = "sha256-ZnpdGXK8N8c/s4qC2NXcn0Pdqrqr47iOWvVwXD9pn1A=";
+    sha256 = "sha256-AlHCK4pWaoNjR0eflxHBsuVaaily/RvCbgJv/ByQZK4=";
   };
 
-  cargoSha256 = "sha256-2v2L20rUWftXdhhuE3wiRrDIuSg6VFxfpWYMRaMUyTU=";
+  cargoSha256 = "sha256-mAhh12rGvQjs2xtm+OrtVv0fgG6qni/QM/oRYoFR7U8=";
 
   nativeBuildInputs = [ clang copyDesktopItems pkg-config ];
   buildInputs = [ glib gtk4 pipewire ];
diff --git a/nixpkgs/pkgs/applications/audio/hqplayer-desktop/default.nix b/nixpkgs/pkgs/applications/audio/hqplayer-desktop/default.nix
index a0443aa9a6ae..38b7e0406038 100644
--- a/nixpkgs/pkgs/applications/audio/hqplayer-desktop/default.nix
+++ b/nixpkgs/pkgs/applications/audio/hqplayer-desktop/default.nix
@@ -18,11 +18,11 @@
 
 mkDerivation rec {
   pname = "hqplayer-desktop";
-  version = "4.12.2-36";
+  version = "4.13.1-38";
 
   src = fetchurl {
     url = "https://www.signalyst.eu/bins/hqplayer/fc34/hqplayer4desktop-${version}.fc34.x86_64.rpm";
-    sha256 = "sha256-ng0Tkx6CSnzTxuunStaBhUYjxUmzx31ZaOY2gBWnH6Q=";
+    sha256 = "sha256-DEZWEGk5SfhcNQddehCBVbfeTH8KfVCdaxQ+F3MrRe8=";
   };
 
   unpackPhase = ''
diff --git a/nixpkgs/pkgs/applications/audio/iannix/default.nix b/nixpkgs/pkgs/applications/audio/iannix/default.nix
index f37150994fc4..31f0bbbb4c7d 100644
--- a/nixpkgs/pkgs/applications/audio/iannix/default.nix
+++ b/nixpkgs/pkgs/applications/audio/iannix/default.nix
@@ -19,8 +19,6 @@ mkDerivation rec {
 
   installFlags = [ "INSTALL_ROOT=$(out)" ];
 
-  enableParallelBuilding = true;
-
   meta = with lib; {
     description = "Graphical open-source sequencer";
     homepage = "https://www.iannix.org/";
diff --git a/nixpkgs/pkgs/applications/audio/kid3/default.nix b/nixpkgs/pkgs/applications/audio/kid3/default.nix
index 7f8015e71437..7dd5594a9a93 100644
--- a/nixpkgs/pkgs/applications/audio/kid3/default.nix
+++ b/nixpkgs/pkgs/applications/audio/kid3/default.nix
@@ -28,11 +28,11 @@
 
 stdenv.mkDerivation rec {
   pname = "kid3";
-  version = "3.8.6";
+  version = "3.8.7";
 
   src = fetchurl {
     url = "https://download.kde.org/stable/${pname}/${version}/${pname}-${version}.tar.xz";
-    hash = "sha256-R4gAWlCw8RezhYbw1XDo+wdp797IbLoM3wqHwr+ul6k=";
+    sha256 = "sha256-Dr+NLh5ajG42jRKt1Swq6mccPfuAXRvhhoTNuO8lnI0=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/audio/mimms/default.nix b/nixpkgs/pkgs/applications/audio/mimms/default.nix
index 9811998c3685..28ec09eba9ca 100644
--- a/nixpkgs/pkgs/applications/audio/mimms/default.nix
+++ b/nixpkgs/pkgs/applications/audio/mimms/default.nix
@@ -1,6 +1,6 @@
-{ fetchurl, lib, pythonPackages, libmms }:
+{ fetchurl, lib, python2Packages, libmms }:
 
-pythonPackages.buildPythonApplication rec {
+python2Packages.buildPythonApplication rec {
   pname = "mimms";
   version = "3.2";
 
diff --git a/nixpkgs/pkgs/applications/audio/mixxx/default.nix b/nixpkgs/pkgs/applications/audio/mixxx/default.nix
index 60591f42e816..518c54dc48aa 100644
--- a/nixpkgs/pkgs/applications/audio/mixxx/default.nix
+++ b/nixpkgs/pkgs/applications/audio/mixxx/default.nix
@@ -111,8 +111,6 @@ mkDerivation rec {
     wavpack
   ];
 
-  enableParallelBuilding = true;
-
   qtWrapperArgs = [
     "--set LOCALE_ARCHIVE ${glibcLocales}/lib/locale/locale-archive"
   ];
diff --git a/nixpkgs/pkgs/applications/audio/mopidy/iris.nix b/nixpkgs/pkgs/applications/audio/mopidy/iris.nix
index c2171d4cecc4..131b2c680b9b 100644
--- a/nixpkgs/pkgs/applications/audio/mopidy/iris.nix
+++ b/nixpkgs/pkgs/applications/audio/mopidy/iris.nix
@@ -2,11 +2,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "Mopidy-Iris";
-  version = "3.54.0";
+  version = "3.58.0";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "0qnshn77dv7fl6smwnpnbq67mbc1vic9gf85skiqnqy8v8w5829f";
+    sha256 = "1bsmc4p7b6v4mm8fi9zsy0knzdccnz1dc6ckrdr18kw2ji0hiyx2";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/audio/mopidy/mopidy.nix b/nixpkgs/pkgs/applications/audio/mopidy/mopidy.nix
index d53bfee9efd2..5dc6af60c234 100644
--- a/nixpkgs/pkgs/applications/audio/mopidy/mopidy.nix
+++ b/nixpkgs/pkgs/applications/audio/mopidy/mopidy.nix
@@ -4,13 +4,13 @@
 
 pythonPackages.buildPythonApplication rec {
   pname = "mopidy";
-  version = "3.1.1";
+  version = "3.2.0";
 
   src = fetchFromGitHub {
     owner = "mopidy";
     repo = "mopidy";
     rev = "v${version}";
-    sha256 = "14m80z9spi2vhfs2bbff7ky80mr6bksl4550y17hwd7zpkid60za";
+    sha256 = "1l1rya48ykiq156spm8pfsm6li8apz66ppz7gs4s91fv7g7l5x2f";
   };
 
   nativeBuildInputs = [ wrapGAppsHook ];
diff --git a/nixpkgs/pkgs/applications/audio/mopidy/spotify.nix b/nixpkgs/pkgs/applications/audio/mopidy/spotify.nix
index e44b9f35daaf..ed68769f6650 100644
--- a/nixpkgs/pkgs/applications/audio/mopidy/spotify.nix
+++ b/nixpkgs/pkgs/applications/audio/mopidy/spotify.nix
@@ -1,12 +1,14 @@
-{ lib, fetchurl, pythonPackages, mopidy }:
+{ lib, fetchFromGitHub, pythonPackages, mopidy }:
 
 pythonPackages.buildPythonApplication rec {
   pname = "mopidy-spotify";
-  version = "4.0.1";
+  version = "4.1.1";
 
-  src = fetchurl {
-    url = "https://github.com/mopidy/mopidy-spotify/archive/v${version}.tar.gz";
-    sha256 = "1ac8r8050i5r3ag1hlblbcyskqjqz7wgamndbzsmw52qi6hxk44f";
+  src = fetchFromGitHub {
+    owner = "mopidy";
+    repo = "mopidy-spotify";
+    rev = "v${version}";
+    sha256 = "1qsac2yy26cdlsmxd523v8ayacs0s6jj9x79sngwap781i63zqrm";
   };
 
   propagatedBuildInputs = [ mopidy pythonPackages.pyspotify ];
@@ -17,7 +19,7 @@ pythonPackages.buildPythonApplication rec {
     homepage = "https://www.mopidy.com/";
     description = "Mopidy extension for playing music from Spotify";
     license = licenses.asl20;
-    maintainers = [];
-    hydraPlatforms = [];
+    maintainers = with maintainers; [ rski ];
+    hydraPlatforms = [ ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/mpdevil/default.nix b/nixpkgs/pkgs/applications/audio/mpdevil/default.nix
index 09256911f872..6dd9b07bdb2a 100644
--- a/nixpkgs/pkgs/applications/audio/mpdevil/default.nix
+++ b/nixpkgs/pkgs/applications/audio/mpdevil/default.nix
@@ -6,13 +6,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "mpdevil";
-  version = "1.1.1";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "SoongNoonien";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0l7mqv7ys05al2hds4icb32hf14fqi3n7b0f5v1yx54cbl9cqfap";
+    sha256 = "1wa5wkkv8kvzlxrhqmmhjmrzcm5v2dij516dk4vlpv9sazc6gzkm";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/audio/mpg123/default.nix b/nixpkgs/pkgs/applications/audio/mpg123/default.nix
index 44788467d8f6..6f55a82e13b8 100644
--- a/nixpkgs/pkgs/applications/audio/mpg123/default.nix
+++ b/nixpkgs/pkgs/applications/audio/mpg123/default.nix
@@ -1,30 +1,52 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchurl
 , makeWrapper
-, alsa-lib
+, pkg-config
 , perl
-, withConplay ? !stdenv.targetPlatform.isWindows
+, withAlsa ? stdenv.hostPlatform.isLinux
+, alsa-lib
+, withPulse ? stdenv.hostPlatform.isLinux
+, libpulseaudio
+, withCoreAudio ? stdenv.hostPlatform.isDarwin
+, AudioUnit
+, AudioToolbox
+, withJack ? stdenv.hostPlatform.isUnix
+, jack
+, withConplay ? !stdenv.hostPlatform.isWindows
 }:
 
 stdenv.mkDerivation rec {
   pname = "mpg123";
-  version = "1.26.5";
+  version = "1.28.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-UCqX4Nk1vn432YczgCHY8wG641wohPKoPVnEtSRm7wY=";
+    sha256 = "006v44nz4nkpgvxz1k2vbbrfpa2m47hyydscs0wf3iysiyvd9vvy";
   };
 
   outputs = [ "out" ] ++ lib.optionals withConplay [ "conplay" ];
 
-  nativeBuildInputs = lib.optionals withConplay [ makeWrapper ];
+  nativeBuildInputs = lib.optionals withConplay [ makeWrapper ]
+    ++ lib.optionals (withPulse || withJack) [ pkg-config ];
 
   buildInputs = lib.optionals withConplay [ perl ]
-    ++ lib.optionals (!stdenv.isDarwin && !stdenv.targetPlatform.isWindows) [ alsa-lib ];
+    ++ lib.optionals withAlsa [ alsa-lib ]
+    ++ lib.optionals withPulse [ libpulseaudio ]
+    ++ lib.optionals withCoreAudio [ AudioUnit AudioToolbox ]
+    ++ lib.optionals withJack [ jack ];
+
+  configureFlags = [
+    "--with-audio=${lib.strings.concatStringsSep "," (
+      lib.optional withJack "jack"
+      ++ lib.optional withPulse "pulse"
+      ++ lib.optional withAlsa "alsa"
+      ++ lib.optional withCoreAudio "coreaudio"
+      ++ [ "dummy" ]
+    )}"
+  ] ++ lib.optional (stdenv.hostPlatform ? mpg123) "--with-cpu=${stdenv.hostPlatform.mpg123.cpu}";
 
-  configureFlags = lib.optional
-    (stdenv.hostPlatform ? mpg123)
-    "--with-cpu=${stdenv.hostPlatform.mpg123.cpu}";
+  enableParallelBuilding = true;
 
   postInstall = lib.optionalString withConplay ''
     mkdir -p $conplay/bin
@@ -43,8 +65,8 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Fast console MPEG Audio Player and decoder library";
     homepage = "https://mpg123.org";
-    license = licenses.lgpl21;
-    maintainers = [ maintainers.ftrvxmtrx ];
+    license = licenses.lgpl21Only;
+    maintainers = with maintainers; [ ftrvxmtrx ];
     platforms = platforms.all;
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/musescore/default.nix b/nixpkgs/pkgs/applications/audio/musescore/default.nix
index c2a2e7b96031..4b784272c35b 100644
--- a/nixpkgs/pkgs/applications/audio/musescore/default.nix
+++ b/nixpkgs/pkgs/applications/audio/musescore/default.nix
@@ -27,6 +27,8 @@ mkDerivation rec {
   ];
 
   qtWrapperArgs = [
+    # MuseScore JACK backend loads libjack at runtime.
+    "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libjack2 ]}"
     # Work around crash on update from 3.4.2 to 3.5.0
     # https://bugreports.qt.io/browse/QTBUG-85967
     "--set QML_DISABLE_DISK_CACHE 1"
diff --git a/nixpkgs/pkgs/applications/audio/mympd/default.nix b/nixpkgs/pkgs/applications/audio/mympd/default.nix
index 03d0556326a7..e6027eef06af 100644
--- a/nixpkgs/pkgs/applications/audio/mympd/default.nix
+++ b/nixpkgs/pkgs/applications/audio/mympd/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mympd";
-  version = "7.0.2";
+  version = "8.0.4";
 
   src = fetchFromGitHub {
     owner = "jcorporation";
     repo = "myMPD";
     rev = "v${version}";
-    sha256 = "sha256-2V3LbgnJfTIO71quZ+hfLnw/lNLYxXt19jw2Od6BVvM=";
+    sha256 = "sha256-hpUoXqblhHreDZg8fDD5S4UG+ltptIbzP9LKyQ/WbX0=";
   };
 
   nativeBuildInputs = [ pkg-config cmake ];
diff --git a/nixpkgs/pkgs/applications/audio/ncspot/default.nix b/nixpkgs/pkgs/applications/audio/ncspot/default.nix
index 0a887ebaf3db..012315a7d723 100644
--- a/nixpkgs/pkgs/applications/audio/ncspot/default.nix
+++ b/nixpkgs/pkgs/applications/audio/ncspot/default.nix
@@ -14,16 +14,16 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "ncspot";
-  version = "0.7.3";
+  version = "0.8.2";
 
   src = fetchFromGitHub {
     owner = "hrkfdn";
     repo = "ncspot";
     rev = "v${version}";
-    sha256 = "0lfly3d8pag78pabmna4i6xjwzi65dx1mwfmsk7nx64brq3iypbq";
+    sha256 = "1rs1jy7zzfgqzr64ld8whn0wlw8n7rk1svxx0xfxm3ynmgc7sd68";
   };
 
-  cargoSha256 = "0a6d41ll90fza6k3lixjqzwxim98q6zbkqa3zvxvs7q5ydzg8nsp";
+  cargoSha256 = "10g7gdi1iz751wa60vr4fs0cvfsgs3pfcp8pnywicl0vsdp25fmc";
 
   cargoBuildFlags = [ "--no-default-features" "--features" "${lib.concatStringsSep "," features}" ];
 
diff --git a/nixpkgs/pkgs/applications/audio/praat/default.nix b/nixpkgs/pkgs/applications/audio/praat/default.nix
index 66a14fa05b28..83456dcb7c8b 100644
--- a/nixpkgs/pkgs/applications/audio/praat/default.nix
+++ b/nixpkgs/pkgs/applications/audio/praat/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "praat";
-  version = "6.1.50";
+  version = "6.1.51";
 
   src = fetchFromGitHub {
     owner = "praat";
     repo = "praat";
     rev = "v${version}";
-    sha256 = "11cw4292pml71hdnfy8y91blwyh45dyam1ywr09355zk44c5njpq";
+    sha256 = "sha256-4goZRNKNFrfKRbGODJMhN6DyOh8U3+nWRDF1VMT7I1E=";
   };
 
   configurePhase = ''
diff --git a/nixpkgs/pkgs/applications/audio/pt2-clone/default.nix b/nixpkgs/pkgs/applications/audio/pt2-clone/default.nix
index 9092ae0b91fe..2724f8893372 100644
--- a/nixpkgs/pkgs/applications/audio/pt2-clone/default.nix
+++ b/nixpkgs/pkgs/applications/audio/pt2-clone/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pt2-clone";
-  version = "1.31";
+  version = "1.32";
 
   src = fetchFromGitHub {
     owner = "8bitbubsy";
     repo = "pt2-clone";
     rev = "v${version}";
-    sha256 = "sha256-hIm9HWKBTFmxU9jI41PfScZIHpZOZpjvV2jgaMX/KSg=";
+    sha256 = "sha256-U1q4xCOzV7n31WgCTGlEXvZaUT/TP797cOAHkecQaLo=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/applications/audio/ptcollab/default.nix b/nixpkgs/pkgs/applications/audio/ptcollab/default.nix
index c5b9f2b804e8..2738a865346e 100644
--- a/nixpkgs/pkgs/applications/audio/ptcollab/default.nix
+++ b/nixpkgs/pkgs/applications/audio/ptcollab/default.nix
@@ -13,13 +13,13 @@
 
 mkDerivation rec {
   pname = "ptcollab";
-  version = "0.4.1";
+  version = "0.4.2";
 
   src = fetchFromGitHub {
     owner = "yuxshao";
     repo = "ptcollab";
     rev = "v${version}";
-    sha256 = "sha256-98v9it9M5FXCsOpWvO10uKYmEH15v1FEH1hH73XHa7w=";
+    sha256 = "sha256-AeIjc+FoFsTcyWl261GvyySIHP107rL4JkuMXFhnPbk=";
   };
 
   nativeBuildInputs = [ qmake pkg-config ];
diff --git a/nixpkgs/pkgs/applications/audio/radiotray-ng/default.nix b/nixpkgs/pkgs/applications/audio/radiotray-ng/default.nix
index 5730bcdcaab1..dd3ba17e6334 100644
--- a/nixpkgs/pkgs/applications/audio/radiotray-ng/default.nix
+++ b/nixpkgs/pkgs/applications/audio/radiotray-ng/default.nix
@@ -40,13 +40,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "radiotray-ng";
-  version = "0.2.7";
+  version = "0.2.8";
 
   src = fetchFromGitHub {
     owner = "ebruck";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1v2nsz7s0jj0wmqabzk6akcf1353rachm1lfq77hxbq9z5pw8pgb";
+    sha256 = "sha256-/0GlQdSsIPKGrDT9CgxvaH8TpAbqxFduwL2A2+BSrEI=";
   };
 
   nativeBuildInputs = [ cmake pkg-config wrapGAppsHook makeWrapper ];
diff --git a/nixpkgs/pkgs/applications/audio/rosegarden/default.nix b/nixpkgs/pkgs/applications/audio/rosegarden/default.nix
index 38d8a8769628..dd0112d82162 100644
--- a/nixpkgs/pkgs/applications/audio/rosegarden/default.nix
+++ b/nixpkgs/pkgs/applications/audio/rosegarden/default.nix
@@ -1,22 +1,40 @@
-{ lib, stdenv, fetchurl, cmake, makedepend, perl, pkg-config, qttools, wrapQtAppsHook
-, dssi, fftwSinglePrec, ladspaH, ladspaPlugins, libjack2, alsa-lib
-, liblo, libsamplerate, libsndfile, lirc ? null, lrdf, qtbase }:
+{ lib
+, stdenv
+, fetchurl
+, cmake
+, makedepend
+, perl
+, pkg-config
+, qttools
+, wrapQtAppsHook
+, dssi
+, fftwSinglePrec
+, ladspaH
+, ladspaPlugins
+, libjack2
+, alsa-lib
+, liblo
+, libsamplerate
+, libsndfile
+, lirc
+, lrdf
+, qtbase
+}:
 
-stdenv.mkDerivation (rec {
-  version = "20.12";
+stdenv.mkDerivation rec {
   pname = "rosegarden";
+  version = "20.12";
 
   src = fetchurl {
     url = "mirror://sourceforge/rosegarden/${pname}-${version}.tar.bz2";
     sha256 = "sha256-iGaEr8WFipV4I00fhFGI2xMBFPf784IIxNXs2hUTHFs=";
   };
 
-  patchPhase = ''
+  postPhase = ''
     substituteInPlace src/CMakeLists.txt --replace svnheader svnversion
   '';
 
-  nativeBuildInputs =
-    [ cmake makedepend perl pkg-config qttools wrapQtAppsHook ];
+  nativeBuildInputs = [ cmake makedepend perl pkg-config qttools wrapQtAppsHook ];
 
   buildInputs = [
     dssi
@@ -49,4 +67,4 @@ stdenv.mkDerivation (rec {
     license = licenses.lgpl2Plus;
     platforms = platforms.linux;
   };
-})
+}
diff --git a/nixpkgs/pkgs/applications/audio/scream/default.nix b/nixpkgs/pkgs/applications/audio/scream/default.nix
index c9eef3ff540a..d14193592465 100644
--- a/nixpkgs/pkgs/applications/audio/scream/default.nix
+++ b/nixpkgs/pkgs/applications/audio/scream/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "scream";
-  version = "3.7";
+  version = "3.8";
 
   src = fetchFromGitHub {
     owner = "duncanthrax";
     repo = pname;
     rev = version;
-    sha256 = "0d9abrw62cd08lcg4il415b7ap89iggbljvbl5jqv2y23il0pvyz";
+    sha256 = "sha256-7UzwEoZujTN8i056Wf+0QtjyU+/UZlqcSompiAGHT54=";
   };
 
   buildInputs = lib.optional pulseSupport libpulseaudio
diff --git a/nixpkgs/pkgs/applications/audio/sidplayfp/default.nix b/nixpkgs/pkgs/applications/audio/sidplayfp/default.nix
index b27593626efb..18bd8170f1db 100644
--- a/nixpkgs/pkgs/applications/audio/sidplayfp/default.nix
+++ b/nixpkgs/pkgs/applications/audio/sidplayfp/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sidplayfp";
-  version = "2.2.0";
+  version = "2.2.1";
 
   src = fetchFromGitHub {
     owner = "libsidplayfp";
     repo = "sidplayfp";
     rev = "v${version}";
-    sha256 = "sha256-hN7225lhuYyo4wPDiiEc9FaPg90pZ13mLw93V8tb/P0=";
+    sha256 = "sha256-IlPZmZpWxMaArkRnqu6JCGxiHU7JczRxiySqzAopfxc=";
   };
 
   nativeBuildInputs = [ autoreconfHook perl pkg-config ];
diff --git a/nixpkgs/pkgs/applications/audio/songrec/default.nix b/nixpkgs/pkgs/applications/audio/songrec/default.nix
index ccedb4c069ec..e9944bc0da34 100644
--- a/nixpkgs/pkgs/applications/audio/songrec/default.nix
+++ b/nixpkgs/pkgs/applications/audio/songrec/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "songrec";
-  version = "0.1.8";
+  version = "0.1.9";
 
   src = fetchFromGitHub {
     owner = "marin-m";
     repo = pname;
     rev = version;
-    sha256 = "sha256-6siGLegNgvLdP7engwpKmhzWYqBXcMsfaXhJJ1tIqJg=";
+    sha256 = "sha256-2n6bj/JlbOTs3AyQKItacutUl1nmb6YsrXvRSp9C+BA=";
   };
 
-  cargoSha256 = "sha256-H4qJYcFjip71EVTGw50goj0HjKN9fmjQZqQDhaSKlaQ=";
+  cargoSha256 = "sha256-3sr7Rtp34Y2oCI+/6mE6C7jRx0xloiljuP0nlYACfMY=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/nixpkgs/pkgs/applications/audio/soundtracker/default.nix b/nixpkgs/pkgs/applications/audio/soundtracker/default.nix
index 3dc9089b241f..251725ea6b29 100644
--- a/nixpkgs/pkgs/applications/audio/soundtracker/default.nix
+++ b/nixpkgs/pkgs/applications/audio/soundtracker/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv
 , fetchurl
 , pkg-config
-, autoconf
+, autoreconfHook
 , gtk2
 , alsa-lib
 , SDL
@@ -12,21 +12,43 @@
 
 stdenv.mkDerivation rec {
   pname = "soundtracker";
-  version = "1.0.1";
+  version = "1.0.2.1";
 
   src = fetchurl {
     # Past releases get moved to the "old releases" directory.
     # Only the latest release is at the top level.
     # Nonetheless, only the name of the file seems to affect which file is
     # downloaded, so this path should be fine both for old and current releases.
-    url = "mirror://sourceforge/soundtracker/soundtracker-${version}.tar.bz2";
-    sha256 = "0m5iiqccch6w53khpvdldz59zymw13vmwqc5ggx3sn41riwbd6ks";
+    url = "mirror://sourceforge/soundtracker/soundtracker-${version}.tar.xz";
+    sha256 = "0nh0dwz8nldc040q6n06vlazhss8ms42r2dffhjcrqj3hbrvfx82";
   };
 
+  postPatch = lib.optionalString stdenv.hostPlatform.isDarwin ''
+    # Darwin binutils don't support D option for ar
+    # ALSA macros are missing on Darwin, causing error
+    substituteInPlace configure.ac \
+      --replace ARFLAGS=crD ARFLAGS=cru \
+      --replace AM_PATH_ALSA '#AM_PATH_ALSA'
+    # Avoid X11-specific workaround code on more than just Windows
+    substituteInPlace app/keys.c \
+      --replace '!defined(_WIN32)' '!defined(_WIN32) && !defined(__APPLE__)'
+    # "The application with bundle ID (null) is running setugid(), which is not allowed."
+    sed -i -e '/seteuid/d' -e '/setegid/d' app/main.c
+  '';
+
+  configureFlags = [
+    "--with-graphics-backend=gdk"
+  ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
+    "--disable-alsa"
+  ];
+
+  enableParallelBuilding = true;
+
   nativeBuildInputs = [
     pkg-config
-    autoconf
+    autoreconfHook
   ];
+
   buildInputs = [
     gtk2
     SDL
@@ -35,8 +57,6 @@ stdenv.mkDerivation rec {
     goocanvas
   ] ++ lib.optional stdenv.isLinux alsa-lib;
 
-  hardeningDisable = [ "format" ];
-
   meta = with lib; {
     description = "A music tracking tool similar in design to the DOS program FastTracker and the Amiga legend ProTracker";
     longDescription = ''
@@ -51,7 +71,5 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ fgaz ];
     platforms = platforms.all;
-    # gdk/gdkx.h not found
-    broken = stdenv.isDarwin;
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/spectmorph/default.nix b/nixpkgs/pkgs/applications/audio/spectmorph/default.nix
index 6292d771a512..9b549e02f77d 100644
--- a/nixpkgs/pkgs/applications/audio/spectmorph/default.nix
+++ b/nixpkgs/pkgs/applications/audio/spectmorph/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   pname = "spectmorph";
   version = "0.5.2";
   src = fetchurl {
-    url = "http://spectmorph.org/files/releases/${pname}-${version}.tar.bz2";
+    url = "https://spectmorph.org/files/releases/${pname}-${version}.tar.bz2";
     sha256 = "0yrq7mknhk096wfsx0q3b6wwa2w5la0rxa113di26rrrw136xl1f";
   };
 
diff --git a/nixpkgs/pkgs/applications/audio/spotify-qt/default.nix b/nixpkgs/pkgs/applications/audio/spotify-qt/default.nix
index 629cc4bd1160..70acbd4c31a2 100644
--- a/nixpkgs/pkgs/applications/audio/spotify-qt/default.nix
+++ b/nixpkgs/pkgs/applications/audio/spotify-qt/default.nix
@@ -9,13 +9,13 @@
 
 mkDerivation rec {
    pname = "spotify-qt";
-   version = "3.6";
+   version = "3.7";
 
    src = fetchFromGitHub {
       owner = "kraxarn";
       repo = pname;
       rev = "v${version}";
-      sha256 = "mKHyE6ZffMYYRLMpzMX53chyJyWxhTAaGvtBI3l6wkI=";
+      sha256 = "sha256-oRrgZtSDebbUVPc+hxE9GJ2n1AmGvZt/2aWrBMmRtNA=";
    };
 
    buildInputs = [ libxcb qtbase qtsvg ];
diff --git a/nixpkgs/pkgs/applications/audio/spotify-tui/default.nix b/nixpkgs/pkgs/applications/audio/spotify-tui/default.nix
index 783c15674a29..7395ca85d9f6 100644
--- a/nixpkgs/pkgs/applications/audio/spotify-tui/default.nix
+++ b/nixpkgs/pkgs/applications/audio/spotify-tui/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "spotify-tui";
-  version = "0.24.0";
+  version = "0.25.0";
 
   src = fetchFromGitHub {
     owner = "Rigellute";
     repo = "spotify-tui";
     rev = "v${version}";
-    sha256 = "1vi6b22ygi6nwydjwqirph9k18akbw81m3bci134nrbnrb30glla";
+    sha256 = "sha256-L5gg6tjQuYoAC89XfKE38KCFONwSAwfNoFEUPH4jNAI=";
   };
 
-  cargoSha256 = "1l91xcgr3hcjaphns1hs0i8w1ynxqwx7rbgpl0i5xnyrkw0gn9lj";
+  cargoSha256 = "sha256-iucI4/iMF+uXRlnMttobu4xo3IQXq7tGiSSN8eCrLM0=";
 
   nativeBuildInputs = [ installShellFiles ] ++ lib.optionals stdenv.isLinux [ pkg-config python3 ];
   buildInputs = [ ]
diff --git a/nixpkgs/pkgs/applications/audio/sublime-music/default.nix b/nixpkgs/pkgs/applications/audio/sublime-music/default.nix
index 3d25ec3cdbb0..5c9250b45e03 100644
--- a/nixpkgs/pkgs/applications/audio/sublime-music/default.nix
+++ b/nixpkgs/pkgs/applications/audio/sublime-music/default.nix
@@ -15,14 +15,14 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "sublime-music";
-  version = "0.11.12";
+  version = "0.11.13";
   format = "pyproject";
 
   src = fetchFromGitLab {
     owner = "sublime-music";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-fcEdpht+xKJRTaD3gKoRdf6O2SAPlZHZ61Jy8bdTKjs=";
+    sha256 = "sha256-NzbQtRcsRVppyuG1UuS3IidSnniUOavf5YoAf/kcZqw=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/audio/tageditor/default.nix b/nixpkgs/pkgs/applications/audio/tageditor/default.nix
index 02e23084cf53..320a26b8172d 100644
--- a/nixpkgs/pkgs/applications/audio/tageditor/default.nix
+++ b/nixpkgs/pkgs/applications/audio/tageditor/default.nix
@@ -45,8 +45,6 @@ stdenv.mkDerivation rec {
     tagparser
   ];
 
-  enableParallelBuilding = true;
-
   meta = with pkgs.lib; {
     homepage = "https://github.com/Martchus/tageditor";
     description = "A tag editor with Qt GUI and command-line interface supporting MP4/M4A/AAC (iTunes), ID3, Vorbis, Opus, FLAC and Matroska";
diff --git a/nixpkgs/pkgs/applications/audio/tagutil/default.nix b/nixpkgs/pkgs/applications/audio/tagutil/default.nix
new file mode 100644
index 000000000000..802cd00087a8
--- /dev/null
+++ b/nixpkgs/pkgs/applications/audio/tagutil/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, lib, fetchFromGitHub
+, pkg-config, cmake, libyaml
+, jansson, libvorbis, taglib
+, zlib
+}:
+
+stdenv.mkDerivation rec {
+  pname = "tagutil";
+  version = "3.1";
+
+  src = fetchFromGitHub {
+    owner = "kaworu";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-oY1aGl5CKVtpOfh8Wskio/huWYMiPuxWPqxlooTutcw=";
+  };
+
+  sourceRoot = "source/src";
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+  ];
+
+  buildInputs = [
+    libvorbis
+    libyaml
+    jansson
+    taglib
+    zlib
+  ];
+
+  meta = with lib; {
+    description = "Scriptable music files tags tool and editor";
+    homepage = "https://github.com/kaworu/tagutil";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ dan4ik605743 ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/audio/vocal/default.nix b/nixpkgs/pkgs/applications/audio/vocal/default.nix
index f06f950f13fc..a2fea468de9d 100644
--- a/nixpkgs/pkgs/applications/audio/vocal/default.nix
+++ b/nixpkgs/pkgs/applications/audio/vocal/default.nix
@@ -86,7 +86,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = "https://github.com/needle-and-thread/vocal";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ ] ++ teams.pantheon.members;
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/x42-plugins/default.nix b/nixpkgs/pkgs/applications/audio/x42-plugins/default.nix
index dba9dcc5e55a..557802a8a0fb 100644
--- a/nixpkgs/pkgs/applications/audio/x42-plugins/default.nix
+++ b/nixpkgs/pkgs/applications/audio/x42-plugins/default.nix
@@ -3,12 +3,12 @@
 , libGLU, lv2, gtk2, cairo, pango, fftwFloat, zita-convolver }:
 
 stdenv.mkDerivation rec {
-  version = "20210114";
+  version = "20210714";
   pname = "x42-plugins";
 
   src = fetchurl {
     url = "https://gareus.org/misc/x42-plugins/${pname}-${version}.tar.xz";
-    sha256 = "sha256-xUiA/k5ZbI/SkY8a20FsyRwqPxxMteiFdEhFF/8e2OA=";
+    sha256 = "sha256-X389bA+cf3N5eJpAlpDn/CJQ6xM4qzrBQ47fYPIyIHk=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/nixpkgs/pkgs/applications/audio/zita-njbridge/default.nix b/nixpkgs/pkgs/applications/audio/zita-njbridge/default.nix
index 142f9bc4d09b..01a2ddf47b52 100644
--- a/nixpkgs/pkgs/applications/audio/zita-njbridge/default.nix
+++ b/nixpkgs/pkgs/applications/audio/zita-njbridge/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchurl, libjack2, zita-resampler }:
 
 stdenv.mkDerivation rec {
-  version = "0.4.4";
+  version = "0.4.8";
   pname = "zita-njbridge";
 
   src = fetchurl {
     url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/${pname}-${version}.tar.bz2";
-    sha256 = "1l8rszdjhp0gq7mr54sdgfs6y6cmw11ssmqb1v9yrkrz5rmwzg8j";
+    sha256 = "sha256-EBF2oL1AfKt7/9Mm6NaIbBtlshK8M/LvuXsD+SbEeQc=";
   };
 
   buildInputs = [ libjack2 zita-resampler ];
diff --git a/nixpkgs/pkgs/applications/audio/zynaddsubfx/default.nix b/nixpkgs/pkgs/applications/audio/zynaddsubfx/default.nix
index 986e3215b93f..4b3cbb171bd0 100644
--- a/nixpkgs/pkgs/applications/audio/zynaddsubfx/default.nix
+++ b/nixpkgs/pkgs/applications/audio/zynaddsubfx/default.nix
@@ -91,7 +91,7 @@ in stdenv.mkDerivation rec {
 
   # When building with zest GUI, patch plugins
   # and standalone executable to properly locate zest
-  postFixup = lib.optional (guiModule == "zest") ''
+  postFixup = lib.optionalString (guiModule == "zest") ''
     patchelf --set-rpath "${mruby-zest}:$(patchelf --print-rpath "$out/lib/lv2/ZynAddSubFX.lv2/ZynAddSubFX_ui.so")" \
       "$out/lib/lv2/ZynAddSubFX.lv2/ZynAddSubFX_ui.so"
 
diff --git a/nixpkgs/pkgs/applications/backup/vorta/default.nix b/nixpkgs/pkgs/applications/backup/vorta/default.nix
index dc02e65bb7bc..675ebf7d349b 100644
--- a/nixpkgs/pkgs/applications/backup/vorta/default.nix
+++ b/nixpkgs/pkgs/applications/backup/vorta/default.nix
@@ -8,13 +8,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "vorta";
-  version = "0.7.7";
+  version = "0.7.8";
 
   src = fetchFromGitHub {
     owner = "borgbase";
     repo = "vorta";
     rev = "v${version}";
-    sha256 = "sha256-AH9CvoWAaNLPLC+NL+VXtYq9CNCMt0AFtC1ZGXSlcHQ=";
+    sha256 = "sha256-qNBswy1dsCE6TEQLr/r7nnZWegDD8BD9pMkcpcuT7Q0=";
   };
 
   nativeBuildInputs = [ wrapQtAppsHook ];
diff --git a/nixpkgs/pkgs/applications/blockchains/bisq-desktop/default.nix b/nixpkgs/pkgs/applications/blockchains/bisq-desktop/default.nix
index ffc19765d4f6..16bcc71653bd 100644
--- a/nixpkgs/pkgs/applications/blockchains/bisq-desktop/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/bisq-desktop/default.nix
@@ -8,61 +8,50 @@
 , openjdk11
 , dpkg
 , writeScript
-, coreutils
 , bash
 , tor
-, psmisc
+, gnutar
+, zip
+, xz
 }:
+
 let
   bisq-launcher = writeScript "bisq-launcher" ''
     #! ${bash}/bin/bash
 
-    # Setup a temporary Tor instance
-    TMPDIR=$(${coreutils}/bin/mktemp -d)
-    CONTROLPORT=$(${coreutils}/bin/shuf -i 9100-9499 -n 1)
-    SOCKSPORT=$(${coreutils}/bin/shuf -i 9500-9999 -n 1)
-    ${coreutils}/bin/head -c 1024 < /dev/urandom > $TMPDIR/cookie
-
-    ${tor}/bin/tor --SocksPort $SOCKSPORT --ControlPort $CONTROLPORT \
-      --ControlPortWriteToFile $TMPDIR/port --CookieAuthFile $TMPDIR/cookie \
-      --CookieAuthentication 1 >$TMPDIR/tor.log --RunAsDaemon 1
+    # This is just a comment to convince Nix that Tor is a
+    # runtime dependency; The Tor binary is in a *.jar file,
+    # whereas Nix only scans for hashes in uncompressed text.
+    # ${bisq-tor}
 
-    torpid=$(${psmisc}/bin/fuser $CONTROLPORT/tcp)
-
-    echo Temp directory: $TMPDIR
-    echo Tor PID: $torpid
-    echo Tor control port: $CONTROLPORT
-    echo Tor SOCKS port: $SOCKSPORT
-    echo Tor log: $TMPDIR/tor.log
-    echo Bisq log file: $TMPDIR/bisq.log
+    JAVA_TOOL_OPTIONS="-XX:+UseG1GC -XX:MaxHeapFreeRatio=10 -XX:MinHeapFreeRatio=5 -XX:+UseStringDeduplication" bisq-desktop-wrapped "$@"
+  '';
 
-    JAVA_TOOL_OPTIONS="-XX:MaxRAM=4g" bisq-desktop-wrapped \
-      --torControlCookieFile=$TMPDIR/cookie \
-      --torControlUseSafeCookieAuth \
-      --torControlPort $CONTROLPORT "$@" > $TMPDIR/bisq.log
+  bisq-tor = writeScript "bisq-tor" ''
+    #! ${bash}/bin/bash
 
-    echo Bisq exited. Killing Tor...
-    kill $torpid
+    exec ${tor}/bin/tor "$@"
   '';
 in
 stdenv.mkDerivation rec {
-  version = "1.7.0";
   pname = "bisq-desktop";
-  nativeBuildInputs = [ makeWrapper copyDesktopItems dpkg ];
+  version = "1.7.2";
 
   src = fetchurl {
     url = "https://github.com/bisq-network/bisq/releases/download/v${version}/Bisq-64bit-${version}.deb";
-    sha256 = "0crry5k7crmrqn14wxiyrnhk09ac8a9ksqrwwky7jsnyah0bx5k4";
+    sha256 = "0b2rh9sphc9wffkawprrl20frgv0rah7y2k5sfxpjc3shgkqsw80";
   };
 
+  nativeBuildInputs = [ makeWrapper copyDesktopItems imagemagick dpkg gnutar zip xz ];
+
   desktopItems = [
     (makeDesktopItem {
       name = "Bisq";
       exec = "bisq-desktop";
       icon = "bisq";
-      desktopName = "Bisq";
+      desktopName = "Bisq ${version}";
       genericName = "Decentralized bitcoin exchange";
-      categories = "Network;Utility;";
+      categories = "Network;P2P;";
     })
   ];
 
@@ -70,7 +59,19 @@ stdenv.mkDerivation rec {
     dpkg -x $src .
   '';
 
+  buildPhase = ''
+    # Replace the embedded Tor binary (which is in a Tar archive)
+    # with one from Nixpkgs.
+
+    mkdir -p native/linux/x64/
+    cp ${bisq-tor} ./tor
+    tar -cJf native/linux/x64/tor.tar.xz tor
+    zip -r opt/bisq/lib/app/desktop-${version}-all.jar native
+  '';
+
   installPhase = ''
+    runHook preInstall
+
     mkdir -p $out/lib $out/bin
     cp opt/bisq/lib/app/desktop-${version}-all.jar $out/lib
 
@@ -80,15 +81,17 @@ stdenv.mkDerivation rec {
     makeWrapper ${bisq-launcher} $out/bin/bisq-desktop \
       --prefix PATH : $out/bin
 
-    copyDesktopItems
-
     for n in 16 24 32 48 64 96 128 256; do
       size=$n"x"$n
-      ${imagemagick}/bin/convert opt/bisq/lib/Bisq.png -resize $size bisq.png
+      convert opt/bisq/lib/Bisq.png -resize $size bisq.png
       install -Dm644 -t $out/share/icons/hicolor/$size/apps bisq.png
     done;
+
+    runHook postInstall
   '';
 
+  passthru.updateScript = ./update.sh;
+
   meta = with lib; {
     description = "A decentralized bitcoin exchange network";
     homepage = "https://bisq.network";
diff --git a/nixpkgs/pkgs/applications/blockchains/bisq-desktop/update.sh b/nixpkgs/pkgs/applications/blockchains/bisq-desktop/update.sh
new file mode 100755
index 000000000000..393447834bba
--- /dev/null
+++ b/nixpkgs/pkgs/applications/blockchains/bisq-desktop/update.sh
@@ -0,0 +1,22 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p curl jq gnused gnupg common-updater-scripts
+
+set -eu -o pipefail
+
+version="$(curl -s https://api.github.com/repos/bisq-network/bisq/releases| jq '.[] | {name,prerelease} | select(.prerelease==false) | limit(1;.[])' | sed 's/[\"v]//g' | head -n 1)"
+depname="Bisq-64bit-$version.deb"
+src="https://github.com/bisq-network/bisq/releases/download/v$version/$depname"
+signature="$src.asc"
+key="CB36 D7D2 EBB2 E35D 9B75 500B CD5D C1C5 29CD FD3B"
+
+pushd $(mktemp -d --suffix=-bisq-updater)
+export GNUPGHOME=$PWD/gnupg
+mkdir -m 700 -p "$GNUPGHOME"
+curl -L -o "$depname" -- "$src"
+curl -L -o signature.asc -- "$signature"
+gpg --batch --recv-keys "$key"
+gpg --batch --verify signature.asc "$depname"
+sha256=$(nix-prefetch-url --type sha256 "file://$PWD/$depname")
+popd
+
+update-source-version bisq-desktop "$version" "$sha256"
diff --git a/nixpkgs/pkgs/applications/blockchains/bitcoin-abc.nix b/nixpkgs/pkgs/applications/blockchains/bitcoin-abc/default.nix
index 446aafab8cee..6f1734bbc135 100644
--- a/nixpkgs/pkgs/applications/blockchains/bitcoin-abc.nix
+++ b/nixpkgs/pkgs/applications/blockchains/bitcoin-abc/default.nix
@@ -1,12 +1,28 @@
-{ lib, stdenv, mkDerivation, fetchFromGitHub, pkg-config, cmake, openssl, db53, boost
-, zlib, miniupnpc, qtbase ? null , qttools ? null, util-linux, protobuf, qrencode, libevent
-, withGui, python3, jemalloc, zeromq4 }:
-
-with lib;
+{ lib
+, stdenv
+, mkDerivation
+, fetchFromGitHub
+, pkg-config
+, cmake
+, openssl
+, db53
+, boost
+, zlib
+, miniupnpc
+, qtbase ? null
+, qttools ? null
+, util-linux
+, protobuf
+, qrencode
+, libevent
+, withGui
+, python3
+, jemalloc
+, zeromq4
+}:
 
 mkDerivation rec {
-
-  name = "bitcoin" + (toString (optional (!withGui) "d")) + "-abc-" + version;
+  pname = "bitcoin" + lib.optionalString (!withGui) "d" + "-abc";
   version = "0.21.13";
 
   src = fetchFromGitHub {
@@ -19,11 +35,21 @@ mkDerivation rec {
   patches = [ ./fix-bitcoin-qt-build.patch ];
 
   nativeBuildInputs = [ pkg-config cmake ];
-  buildInputs = [ openssl db53 boost zlib python3 jemalloc zeromq4
-                  miniupnpc util-linux protobuf libevent ]
-                  ++ optionals withGui [ qtbase qttools qrencode ];
+  buildInputs = [
+    openssl
+    db53
+    boost
+    zlib
+    python3
+    jemalloc
+    zeromq4
+    miniupnpc
+    util-linux
+    protobuf
+    libevent
+  ] ++ lib.optionals withGui [ qtbase qttools qrencode ];
 
-  cmakeFlags = optionals (!withGui) [
+  cmakeFlags = lib.optionals (!withGui) [
     "-DBUILD_BITCOIN_QT=OFF"
   ];
 
@@ -32,9 +58,9 @@ mkDerivation rec {
     find ./. -type f -iname "*.sh" -exec chmod +x {} \;
   '';
 
-  meta = {
+  meta = with lib; {
     description = "Peer-to-peer electronic cash system (Cash client)";
-    longDescription= ''
+    longDescription = ''
       Bitcoin ABC is the name of open source software which enables the use of Bitcoin.
       It is designed to facilite a hard fork to increase Bitcoin's block size limit.
       "ABC" stands for "Adjustable Blocksize Cap".
diff --git a/nixpkgs/pkgs/applications/blockchains/fix-bitcoin-qt-build.patch b/nixpkgs/pkgs/applications/blockchains/bitcoin-abc/fix-bitcoin-qt-build.patch
index c49bbc432519..c49bbc432519 100644
--- a/nixpkgs/pkgs/applications/blockchains/fix-bitcoin-qt-build.patch
+++ b/nixpkgs/pkgs/applications/blockchains/bitcoin-abc/fix-bitcoin-qt-build.patch
diff --git a/nixpkgs/pkgs/applications/blockchains/bitcoin-classic.nix b/nixpkgs/pkgs/applications/blockchains/bitcoin-classic/default.nix
index f578313323c0..533e3c7dca6e 100644
--- a/nixpkgs/pkgs/applications/blockchains/bitcoin-classic.nix
+++ b/nixpkgs/pkgs/applications/blockchains/bitcoin-classic/default.nix
@@ -1,12 +1,24 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook, openssl, db48, boost
-, zlib, miniupnpc, qtbase ? null, qttools ? null, util-linux, protobuf, qrencode, libevent
-, withGui }:
-
-with lib;
+{ lib
+, stdenv
+, fetchFromGitHub
+, pkg-config
+, autoreconfHook
+, openssl
+, db48
+, boost
+, zlib
+, miniupnpc
+, qtbase ? null
+, qttools ? null
+, util-linux
+, protobuf
+, qrencode
+, libevent
+, withGui
+}:
 
 stdenv.mkDerivation rec {
-
-  name = "bitcoin" + (toString (optional (!withGui) "d")) + "-classic-" + version;
+  pname = "bitcoin" + lib.optionalString (!withGui) "d" + "-classic";
   version = "1.3.8uahf";
 
   src = fetchFromGitHub {
@@ -17,22 +29,30 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkg-config autoreconfHook ];
-  buildInputs = [ openssl db48 boost zlib
-                  miniupnpc util-linux protobuf libevent ]
-                  ++ optionals withGui [ qtbase qttools qrencode ];
+  buildInputs = [
+    openssl
+    db48
+    boost
+    zlib
+    miniupnpc
+    util-linux
+    protobuf
+    libevent
+  ] ++ lib.optionals withGui [ qtbase qttools qrencode ];
 
   configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
-                     ++ optionals withGui [ "--with-gui=qt5"
-                                            "--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin"
-                                          ];
+    ++ lib.optionals withGui [
+    "--with-gui=qt5"
+    "--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin"
+  ];
 
   enableParallelBuilding = true;
 
   dontWrapQtApps = true;
 
-  meta = {
+  meta = with lib; {
     description = "Peer-to-peer electronic cash system (Classic client)";
-    longDescription= ''
+    longDescription = ''
       Bitcoin is a free open source peer-to-peer electronic cash system that is
       completely decentralized, without the need for a central server or trusted
       parties. Users hold the crypto keys to their own money and transact directly
diff --git a/nixpkgs/pkgs/applications/blockchains/bitcoin-gold.nix b/nixpkgs/pkgs/applications/blockchains/bitcoin-gold/default.nix
index 5d6775f729aa..5d6775f729aa 100644
--- a/nixpkgs/pkgs/applications/blockchains/bitcoin-gold.nix
+++ b/nixpkgs/pkgs/applications/blockchains/bitcoin-gold/default.nix
diff --git a/nixpkgs/pkgs/applications/blockchains/bitcoin-knots.nix b/nixpkgs/pkgs/applications/blockchains/bitcoin-knots/default.nix
index eea836ac62d3..eea836ac62d3 100644
--- a/nixpkgs/pkgs/applications/blockchains/bitcoin-knots.nix
+++ b/nixpkgs/pkgs/applications/blockchains/bitcoin-knots/default.nix
diff --git a/nixpkgs/pkgs/applications/blockchains/bitcoin-unlimited.nix b/nixpkgs/pkgs/applications/blockchains/bitcoin-unlimited/default.nix
index f1825b0cbda8..802a19167a97 100644
--- a/nixpkgs/pkgs/applications/blockchains/bitcoin-unlimited.nix
+++ b/nixpkgs/pkgs/applications/blockchains/bitcoin-unlimited/default.nix
@@ -7,13 +7,13 @@ with lib;
 
 stdenv.mkDerivation rec {
   name = "bitcoin" + (toString (optional (!withGui) "d")) + "-unlimited-" + version;
-  version = "1.9.1.1";
+  version = "1.9.2.0";
 
   src = fetchFromGitHub {
     owner = "bitcoinunlimited";
     repo = "bitcoinunlimited";
     rev = "BCHunlimited${version}";
-    sha256 = "sha256-K15SI1F/xI4SkX4a41QHLn89YaHCgrlv+wcbkpwGKhI=";
+    sha256 = "sha256-qUf/GWZHpI57ATTlvRhjDtAjRa8a4uvUb0G9Xcf0j7w=";
   };
 
   nativeBuildInputs = [ pkg-config autoreconfHook python3 ]
diff --git a/nixpkgs/pkgs/applications/blockchains/bitcoin.nix b/nixpkgs/pkgs/applications/blockchains/bitcoin/default.nix
index 00727d294df2..8bbeda2e0d4e 100644
--- a/nixpkgs/pkgs/applications/blockchains/bitcoin.nix
+++ b/nixpkgs/pkgs/applications/blockchains/bitcoin/default.nix
@@ -53,7 +53,7 @@ stdenv.mkDerivation rec {
     ++ optionals withWallet [ db48 sqlite ]
     ++ optionals withGui [ qrencode qtbase qttools ];
 
-  postInstall = optional withGui ''
+  postInstall = optionalString withGui ''
     install -Dm644 ${desktop} $out/share/applications/bitcoin-qt.desktop
     substituteInPlace $out/share/applications/bitcoin-qt.desktop --replace "Icon=bitcoin128" "Icon=bitcoin"
     install -Dm644 share/pixmaps/bitcoin256.png $out/share/pixmaps/bitcoin.png
diff --git a/nixpkgs/pkgs/applications/blockchains/btcpayserver/default.nix b/nixpkgs/pkgs/applications/blockchains/btcpayserver/default.nix
index ba029aedeeb2..8d549c96c345 100644
--- a/nixpkgs/pkgs/applications/blockchains/btcpayserver/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/btcpayserver/default.nix
@@ -15,13 +15,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "btcpayserver";
-  version = "1.1.2";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-A9XIKCw1dL4vUQYSu6WdmpR82dAbtKVTyjllquyRGgs=";
+    sha256 = "sha256-pRc0oud8k6ulC6tVXv6Mr7IEC2a/+FhkMDyxz1zFKTE=";
   };
 
   nativeBuildInputs = [ dotnetSdk dotnetPackages.Nuget makeWrapper ];
diff --git a/nixpkgs/pkgs/applications/blockchains/btcpayserver/deps.nix b/nixpkgs/pkgs/applications/blockchains/btcpayserver/deps.nix
index 8884dc2fe140..38ce61302297 100644
--- a/nixpkgs/pkgs/applications/blockchains/btcpayserver/deps.nix
+++ b/nixpkgs/pkgs/applications/blockchains/btcpayserver/deps.nix
@@ -26,53 +26,48 @@
   })
   (fetchNuGet {
     name = "BTCPayServer.Hwi";
-    version = "1.1.3";
-    sha256 = "1c8hfnrjh2ad8qh75d63gsl170q8czf3j1hk8sv8fnbgnxdnkm7a";
+    version = "2.0.1";
+    sha256 = "18pp3f0z10c0q1bbllxi2j6ix8f0x58d0dndi5faf9p3hb58ly9k";
   })
   (fetchNuGet {
     name = "BTCPayServer.Lightning.All";
-    version = "1.2.7";
-    sha256 = "0jzmzvlpf6iba2fsc6cyi69vlaim9slqm2sapknmd7drl3gcn2zj";
+    version = "1.2.10";
+    sha256 = "0c3bi5r7sckzml44bqy0j1cd6l3xc29cdyf6rib52b5gmgrvcam2";
   })
   (fetchNuGet {
     name = "BTCPayServer.Lightning.Charge";
-    version = "1.2.3";
-    sha256 = "1rdrwmijx0v4z0xsq4acyvdcj7hv6arfh3hwjy89rqnkkznrzgwv";
+    version = "1.2.5";
+    sha256 = "02mf7yhr9lfy5368c5mn1wgxxka52f0s5vx31w97sdkpc5pivng5";
   })
   (fetchNuGet {
     name = "BTCPayServer.Lightning.CLightning";
-    version = "1.2.3";
-    sha256 = "02197rh03q8d0mv40zf67wp1rd2gbxi5l8krd2rzj84n267bcfvc";
-  })
-  (fetchNuGet {
-    name = "BTCPayServer.Lightning.Common";
-    version = "1.2.0";
-    sha256 = "17di8ndkw8z0ci0zk15mcrqpmganwkz9ys2snr2rqpw5mrlhpwa0";
+    version = "1.2.6";
+    sha256 = "1p4bzbrd2d0izjd9q06mnagl31q50hpz5jla9gfja1bhn3xqvwsy";
   })
   (fetchNuGet {
     name = "BTCPayServer.Lightning.Common";
-    version = "1.2.2";
-    sha256 = "07xb7fsqvfjmcawxylriw60i73h0cvfb765aznhp9ffyrmjaql7z";
+    version = "1.2.4";
+    sha256 = "1bdj1cdf6sirwm19hq1k2fmh2jiqkcyzrqms6q9d0wqba9xggwyn";
   })
   (fetchNuGet {
     name = "BTCPayServer.Lightning.Eclair";
-    version = "1.2.2";
-    sha256 = "03dymhwxb5s28kb187g5h4aysnz2xzml89p47nmwz9lkg2h4s73h";
+    version = "1.2.4";
+    sha256 = "1l68sc9g4ffsi1bbgrbbx8zmqw811hjq17761q1han9gsykl5rr1";
   })
   (fetchNuGet {
     name = "BTCPayServer.Lightning.LND";
-    version = "1.2.4";
-    sha256 = "0qnj5rsp6hnybsr58zny9dfbsxksg1674q0z9944jwkzm7pcqyg4";
+    version = "1.2.6";
+    sha256 = "16wipkzzfrcjhi3whqxdfjq7qxnwjzf4gckpf1qjgdxbzggh6l3d";
   })
   (fetchNuGet {
     name = "BTCPayServer.Lightning.Ptarmigan";
-    version = "1.2.2";
-    sha256 = "17yl85vqfp7l12bv3f3w1b861hm41i7cfhs78gaq04s4drvcnj6k";
+    version = "1.2.4";
+    sha256 = "1j80m4pb3nn4dnqmxda13lp87pgviwxai456pki097rmc0vmqj83";
   })
   (fetchNuGet {
     name = "BuildBundlerMinifier";
-    version = "3.2.435";
-    sha256 = "0y1p226dbvs7q2ngm9w4mpkhfrhw2y122plv1yff7lx5m84ia02l";
+    version = "3.2.449";
+    sha256 = "1dcjlfl5w2vfppx2hq3jj6xy24id2x3hcajwylhphlz9jw2bnhsv";
   })
   (fetchNuGet {
     name = "BundlerMinifier.Core";
@@ -761,18 +756,8 @@
   })
   (fetchNuGet {
     name = "NBitcoin.Altcoins";
-    version = "2.0.31";
-    sha256 = "13gcfsxpfq8slmsvgzf6iv581x7n535zq0p9c88bqs5p88r6lygm";
-  })
-  (fetchNuGet {
-    name = "NBitcoin";
-    version = "5.0.33";
-    sha256 = "030q609b9lhapq4wfl1w3impjw5m40kz2rg1s9jn3bn8yjfmsi4a";
-  })
-  (fetchNuGet {
-    name = "NBitcoin";
-    version = "5.0.4";
-    sha256 = "04iafda61izzxb691brk72qs01m5dadqb4970nw5ayck6275s71i";
+    version = "3.0.3";
+    sha256 = "0129mgnyyb55haz68d8z694g1q2rlc0qylx08d5qnfpq1r03cdqd";
   })
   (fetchNuGet {
     name = "NBitcoin";
@@ -786,13 +771,18 @@
   })
   (fetchNuGet {
     name = "NBitcoin";
-    version = "5.0.73";
-    sha256 = "0vqgcb0ws5fnkrdzqfkyh78041c6q4l22b93rr0006dd4bmqrmg1";
+    version = "5.0.81";
+    sha256 = "1fba94kc8yzykb1m5lvpx1hm63mpycpww9cz5zfp85phs1spdn8x";
+  })
+  (fetchNuGet {
+    name = "NBitcoin";
+    version = "6.0.3";
+    sha256 = "1kfq1q86844ssp8myy5vmvg33h3x0p9gqrlc99fl9gm1vzjc723f";
   })
   (fetchNuGet {
     name = "NBitcoin";
-    version = "5.0.77";
-    sha256 = "0ykz4ii6lh6gdlz6z264wnib5pfnmq9q617qqbg0f04mq654jygb";
+    version = "6.0.7";
+    sha256 = "0mk8n8isrrww0240x63rx3zx12nz5v08i3w62qp1n18mmdw3rdy6";
   })
   (fetchNuGet {
     name = "NBitpayClient";
@@ -801,8 +791,8 @@
   })
   (fetchNuGet {
     name = "NBXplorer.Client";
-    version = "3.0.21";
-    sha256 = "1asri2wsjq3ljf2p4r4x52ba9cirh8ccc5ysxpnv4cvladkdazbi";
+    version = "4.0.3";
+    sha256 = "0x9iggc5cyv06gnwnwrk3riv2j3g0833imdf3jx8ghmrxvim88b3";
   })
   (fetchNuGet {
     name = "Nethereum.ABI";
@@ -1116,8 +1106,8 @@
   })
   (fetchNuGet {
     name = "Selenium.WebDriver.ChromeDriver";
-    version = "88.0.4324.9600";
-    sha256 = "0jm8dpfp329xsrg69lzq2m6x9yin1m43qgrhs15cz2qx9f02pdx9";
+    version = "90.0.4430.2400";
+    sha256 = "18gjm92nzzvxf0hk7c0nnabs0vmh6yyzq3m4si7p21m6xa3bqiga";
   })
   (fetchNuGet {
     name = "Selenium.WebDriver";
diff --git a/nixpkgs/pkgs/applications/blockchains/charge-lnd/default.nix b/nixpkgs/pkgs/applications/blockchains/charge-lnd/default.nix
index b2d28ed8942b..c76da7ae7464 100644
--- a/nixpkgs/pkgs/applications/blockchains/charge-lnd/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/charge-lnd/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "charge-lnd";
-  version = "0.2.2";
+  version = "0.2.3";
 
   src = fetchFromGitHub {
     owner = "accumulator";
     repo = pname;
     rev = "v${version}";
-    sha256 = "087y60hpld17bg2ya5nlh4m4sam4s6mx8vrqhm48idj1rmlcpfws";
+    sha256 = "1cj8ggahnbn55wlkxzf5b9n8rvm30mc95vgcw8b60pzs47q6vncp";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/nixpkgs/pkgs/applications/blockchains/chia-plotter/default.nix b/nixpkgs/pkgs/applications/blockchains/chia-plotter/default.nix
new file mode 100644
index 000000000000..39f2e3cb0edc
--- /dev/null
+++ b/nixpkgs/pkgs/applications/blockchains/chia-plotter/default.nix
@@ -0,0 +1,65 @@
+{ lib
+, fetchFromGitHub
+, stdenv
+, libsodium
+, cmake
+, substituteAll
+, pythonPackages
+}:
+
+stdenv.mkDerivation {
+  pname = "chia-plotter";
+  version = "unstable-2021-07-12";
+
+  src = fetchFromGitHub {
+    owner = "madMAx43v3r";
+    repo = "chia-plotter";
+    rev = "974d6e5f1440f68c48492122ca33828a98864dfc";
+    sha256 = "0dliswvqmi3wq9w8jp0sb0z74n5k37608sig6r60z206g2bwhjja";
+    fetchSubmodules = true;
+  };
+
+  patches = [
+    # prevent CMake from trying to get libraries on the Internet
+    (substituteAll {
+      src = ./dont_fetch_dependencies.patch;
+      pybind11_src = pythonPackages.pybind11.src;
+      relic_src = fetchFromGitHub {
+        owner = "relic-toolkit";
+        repo = "relic";
+        rev = "1885ae3b681c423c72b65ce1fe70910142cf941c";
+        hash = "sha256-tsSZTcssl8t7Nqdex4BesgQ+ACPgTdtHnJFvS9josN0=";
+      };
+    })
+  ];
+
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = [ libsodium ];
+
+  # These flags come from the upstream build script:
+  # https://github.com/madMAx43v3r/chia-plotter/blob/974d6e5f1440f68c48492122ca33828a98864dfc/make_devel.sh#L7
+  CXXFLAGS = "-O3 -fmax-errors=1";
+  cmakeFlags = [
+    "-DARITH=easy"
+    "-DBUILD_BLS_PYTHON_BINDINGS=false"
+    "-DBUILD_BLS_TESTS=false"
+    "-DBUILD_BLS_BENCHMARKS=false"
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    install -D -m 755 chia_plot $out/bin/chia_plot
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/madMAx43v3r/chia-plotter";
+    description = "New implementation of a chia plotter which is designed as a processing pipeline";
+    license = licenses.gpl3Only;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ ilyakooo0 ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/blockchains/chia-plotter/dont_fetch_dependencies.patch b/nixpkgs/pkgs/applications/blockchains/chia-plotter/dont_fetch_dependencies.patch
new file mode 100644
index 000000000000..05486473eef5
--- /dev/null
+++ b/nixpkgs/pkgs/applications/blockchains/chia-plotter/dont_fetch_dependencies.patch
@@ -0,0 +1,50 @@
+diff --git a/lib/bls-signatures/python-bindings/CMakeLists.txt b/lib/bls-signatures/python-bindings/CMakeLists.txt
+index 255e3bb..5f99c3a 100644
+--- a/lib/bls-signatures/python-bindings/CMakeLists.txt
++++ b/lib/bls-signatures/python-bindings/CMakeLists.txt
+@@ -6,8 +6,7 @@ include(FetchContent)
+ 
+ FetchContent_Declare(
+   pybind11
+-  GIT_REPOSITORY https://github.com/pybind/pybind11.git
+-  GIT_TAG        v2.6.2
++  SOURCE_DIR @pybind11_src@
+ )
+ FetchContent_MakeAvailable(pybind11 relic)
+ 
+diff --git a/lib/bls-signatures/src/CMakeLists.txt b/lib/bls-signatures/src/CMakeLists.txt
+index b762b5d..e06073b 100644
+--- a/lib/bls-signatures/src/CMakeLists.txt
++++ b/lib/bls-signatures/src/CMakeLists.txt
+@@ -4,18 +4,11 @@ set (CMAKE_CXX_STANDARD 17)
+ # CMake 3.14+
+ include(FetchContent)
+ 
+-if (DEFINED ENV{RELIC_MAIN})
+-  set(RELIC_GIT_TAG "origin/main")
+-else ()
+-  set(RELIC_GIT_TAG "1885ae3b681c423c72b65ce1fe70910142cf941c")
+-endif ()
+-
+ message(STATUS "Relic will be built from: ${RELIC_GIT_TAG}")
+ 
+ FetchContent_Declare(
+   relic
+-  GIT_REPOSITORY https://github.com/relic-toolkit/relic.git
+-  GIT_TAG        ${RELIC_GIT_TAG}
++  SOURCE_DIR @relic_src@
+ )
+ FetchContent_MakeAvailable(relic)
+ 
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 970ec74..948441a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -38,6 +38,7 @@ include_directories(
+ 	${BLAKE3_PATH}
+ 	${CMAKE_BINARY_DIR}/_deps/relic-src/include
+ 	${CMAKE_BINARY_DIR}/_deps/relic-build/include
++     @relic_src@/include
+ )
+ 
+ IF (WIN32)
diff --git a/nixpkgs/pkgs/applications/blockchains/chia/default.nix b/nixpkgs/pkgs/applications/blockchains/chia/default.nix
index f6ec6a0ec698..7e44fc80dc3b 100644
--- a/nixpkgs/pkgs/applications/blockchains/chia/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/chia/default.nix
@@ -1,4 +1,5 @@
 { lib
+, cacert
 , fetchFromGitHub
 , fetchpatch
 , python3Packages
@@ -6,13 +7,14 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "chia";
-  version = "1.2.2";
+  version = "1.2.3";
 
   src = fetchFromGitHub {
     owner = "Chia-Network";
     repo = "chia-blockchain";
     rev = version;
-    sha256 = "sha256-ZYncyaX9gqBhDKiC87A2xI7VeU0zGsmm3Sx45lwgnrg=";
+    fetchSubmodules = true;
+    sha256 = "sha256-nK/Zk2zgIdrRtw3+VkUXQWfI9j29XFDOR95Dvbn07eA=";
   };
 
   patches = [
@@ -72,6 +74,9 @@ python3Packages.buildPythonApplication rec {
       --replace "click==7.1.2" "click>=7.1.2" \
       --replace "clvm_rs==0.1.8" "clvm_rs>=0.1.8" \
       --replace "clvm==0.9.7" "clvm>=0.9.7" \
+      --replace "bitstring==3.1.7" "bitstring>=3.1.9" \
+
+    ln -sf ${cacert}/etc/ssl/certs/ca-bundle.crt mozilla-ca/cacert.pem
   '';
 
   preCheck = ''
diff --git a/nixpkgs/pkgs/applications/blockchains/clightning.nix b/nixpkgs/pkgs/applications/blockchains/clightning/default.nix
index 44ed4d1541c0..0cec96b7a6ee 100644
--- a/nixpkgs/pkgs/applications/blockchains/clightning.nix
+++ b/nixpkgs/pkgs/applications/blockchains/clightning/default.nix
@@ -20,11 +20,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "clightning";
-  version = "0.10.0";
+  version = "0.10.1";
 
   src = fetchurl {
     url = "https://github.com/ElementsProject/lightning/releases/download/v${version}/clightning-v${version}.zip";
-    sha256 = "5154e67780dddbf12f64c4b1994c3ee3834236f05b6462adf25e8a5f3fa407ea";
+    sha256 = "9271e9e89d60332b66afedbf8d6eab2a4a488782ab400ee1f60667d73c5a9a96";
   };
 
   nativeBuildInputs = [ autogen autoconf automake gettext libtool pkg-config py3 unzip which ];
diff --git a/nixpkgs/pkgs/applications/blockchains/crypto-org-wallet.nix b/nixpkgs/pkgs/applications/blockchains/crypto-org-wallet/default.nix
index 7b0a895f4a1a..7b0a895f4a1a 100644
--- a/nixpkgs/pkgs/applications/blockchains/crypto-org-wallet.nix
+++ b/nixpkgs/pkgs/applications/blockchains/crypto-org-wallet/default.nix
diff --git a/nixpkgs/pkgs/applications/blockchains/cryptop/default.nix b/nixpkgs/pkgs/applications/blockchains/cryptop/default.nix
index f0bcda579301..d93a10436fc3 100644
--- a/nixpkgs/pkgs/applications/blockchains/cryptop/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/cryptop/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonApplication, fetchPypi, requests, requests-cache }:
+{ lib, buildPythonApplication, fetchPypi, requests, requests-cache, setuptools }:
 
 buildPythonApplication rec {
   pname = "cryptop";
@@ -9,7 +9,7 @@ buildPythonApplication rec {
     sha256 = "0akrrz735vjfrm78plwyg84vabj0x3qficq9xxmy9kr40fhdkzpb";
   };
 
-  propagatedBuildInputs = [ requests requests-cache ];
+  propagatedBuildInputs = [ setuptools requests requests-cache ];
 
   # No tests in archive
   doCheck = false;
diff --git a/nixpkgs/pkgs/applications/blockchains/dashpay.nix b/nixpkgs/pkgs/applications/blockchains/dashpay/default.nix
index ca1dd13e4251..ca1dd13e4251 100644
--- a/nixpkgs/pkgs/applications/blockchains/dashpay.nix
+++ b/nixpkgs/pkgs/applications/blockchains/dashpay/default.nix
diff --git a/nixpkgs/pkgs/applications/blockchains/dcrd.nix b/nixpkgs/pkgs/applications/blockchains/dcrd/default.nix
index e959eca48aeb..e959eca48aeb 100644
--- a/nixpkgs/pkgs/applications/blockchains/dcrd.nix
+++ b/nixpkgs/pkgs/applications/blockchains/dcrd/default.nix
diff --git a/nixpkgs/pkgs/applications/blockchains/dcrwallet.nix b/nixpkgs/pkgs/applications/blockchains/dcrwallet/default.nix
index 2266a1e4c260..2266a1e4c260 100644
--- a/nixpkgs/pkgs/applications/blockchains/dcrwallet.nix
+++ b/nixpkgs/pkgs/applications/blockchains/dcrwallet/default.nix
diff --git a/nixpkgs/pkgs/applications/blockchains/dero.nix b/nixpkgs/pkgs/applications/blockchains/dero/default.nix
index 6b15cbd0a168..6b15cbd0a168 100644
--- a/nixpkgs/pkgs/applications/blockchains/dero.nix
+++ b/nixpkgs/pkgs/applications/blockchains/dero/default.nix
diff --git a/nixpkgs/pkgs/applications/blockchains/digibyte.nix b/nixpkgs/pkgs/applications/blockchains/digibyte/default.nix
index acf0b355e640..acf0b355e640 100644
--- a/nixpkgs/pkgs/applications/blockchains/digibyte.nix
+++ b/nixpkgs/pkgs/applications/blockchains/digibyte/default.nix
diff --git a/nixpkgs/pkgs/applications/blockchains/dogecoin.nix b/nixpkgs/pkgs/applications/blockchains/dogecoin/default.nix
index 9985113b08a8..9985113b08a8 100644
--- a/nixpkgs/pkgs/applications/blockchains/dogecoin.nix
+++ b/nixpkgs/pkgs/applications/blockchains/dogecoin/default.nix
diff --git a/nixpkgs/pkgs/applications/blockchains/eclair.nix b/nixpkgs/pkgs/applications/blockchains/eclair/default.nix
index 7b74512a388a..7b74512a388a 100644
--- a/nixpkgs/pkgs/applications/blockchains/eclair.nix
+++ b/nixpkgs/pkgs/applications/blockchains/eclair/default.nix
diff --git a/nixpkgs/pkgs/applications/blockchains/electrs.nix b/nixpkgs/pkgs/applications/blockchains/electrs/default.nix
index cf2f4d3d47eb..cf2f4d3d47eb 100644
--- a/nixpkgs/pkgs/applications/blockchains/electrs.nix
+++ b/nixpkgs/pkgs/applications/blockchains/electrs/default.nix
diff --git a/nixpkgs/pkgs/applications/blockchains/elements.nix b/nixpkgs/pkgs/applications/blockchains/elements/default.nix
index c44f2078dae3..c44f2078dae3 100644
--- a/nixpkgs/pkgs/applications/blockchains/elements.nix
+++ b/nixpkgs/pkgs/applications/blockchains/elements/default.nix
diff --git a/nixpkgs/pkgs/applications/blockchains/erigon.nix b/nixpkgs/pkgs/applications/blockchains/erigon.nix
new file mode 100644
index 000000000000..cfd3d5da9323
--- /dev/null
+++ b/nixpkgs/pkgs/applications/blockchains/erigon.nix
@@ -0,0 +1,34 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "erigon";
+  version = "2021.08.05";
+
+  src = fetchFromGitHub {
+    owner = "ledgerwatch";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-bCREY3UbMgSTu1nVytrYFsGgdMEaMLy5ZGrLqDNu9YM=";
+  };
+
+  vendorSha256 = "0a0d6n2c0anp36z7kvkadd6zvxzvsywfpk5qv6aq4ji4qd0hlq8q";
+  runVend = true;
+
+  # Build errors in mdbx when format hardening is enabled:
+  #   cc1: error: '-Wformat-security' ignored without '-Wformat' [-Werror=format-security]
+  hardeningDisable = [ "format" ];
+
+  subPackages = [
+    "cmd/erigon"
+    "cmd/evm"
+    "cmd/rpcdaemon"
+    "cmd/rlpdump"
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/ledgerwatch/erigon/";
+    description = "Ethereum node implementation focused on scalability and modularity";
+    license = with licenses; [ lgpl3Plus gpl3Plus ];
+    maintainers = with maintainers; [ d-xo ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/blockchains/exodus/default.nix b/nixpkgs/pkgs/applications/blockchains/exodus/default.nix
index 08eeac760c0f..149b20d0dd21 100644
--- a/nixpkgs/pkgs/applications/blockchains/exodus/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/exodus/default.nix
@@ -4,11 +4,11 @@ cups, vivaldi-ffmpeg-codecs, libpulseaudio, at-spi2-core, libxkbcommon, mesa }:
 
 stdenv.mkDerivation rec {
   pname = "exodus";
-  version = "21.1.29";
+  version = "21.8.19";
 
   src = fetchurl {
     url = "https://downloads.exodus.io/releases/${pname}-linux-x64-${version}.zip";
-    sha256 = "sha256-Qdiyjutzt8r1tIfcW7/AtSuOpf1Un5TeHoeZx5uQthM=";
+    sha256 = "1ssacadx5hdxq0cljb869ds3d11i4fyy3qd5hzh8wk5mlpdnba6k";
   };
 
   sourceRoot = ".";
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     ln -s $out/bin/Exodus $out/bin/exodus
     ln -s $out/exodus.desktop $out/share/applications
     substituteInPlace $out/share/applications/exodus.desktop \
-          --replace 'Exec=bash -c "cd `dirname %k` && ./Exodus"' "Exec=Exodus"
+          --replace 'Exec=bash -c "cd \`dirname %k\` && ./Exodus %u"' "Exec=Exodus %u"
   '';
 
   dontPatchELF = true;
@@ -49,6 +49,7 @@ stdenv.mkDerivation rec {
       xorg.libXfixes
       xorg.libXi
       xorg.libXrender
+      xorg.libxshmfence
       xorg.libXtst
       xorg_sys_opengl
       util-linux
diff --git a/nixpkgs/pkgs/applications/blockchains/go-ethereum.nix b/nixpkgs/pkgs/applications/blockchains/go-ethereum/default.nix
index cdd2a41f0136..b9f31a3e7fa7 100644
--- a/nixpkgs/pkgs/applications/blockchains/go-ethereum.nix
+++ b/nixpkgs/pkgs/applications/blockchains/go-ethereum/default.nix
@@ -9,17 +9,17 @@ let
 
 in buildGoModule rec {
   pname = "go-ethereum";
-  version = "1.10.5";
+  version = "1.10.8";
 
   src = fetchFromGitHub {
     owner = "ethereum";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256:1226picbgnph71fk2y0n1hyfrh6m8sh54kgn3pmikydnw176k9j1";
+    sha256 = "sha256-r4ifLa4CMZvp0MaCkxWo5rWLEnFdX//mYlC08hndXhQ=";
   };
 
   runVend = true;
-  vendorSha256 = "sha256:1nf2gamamlgr2sl5ibib5wai1pipj66xhbhnb4s4480j5pbv9a76";
+  vendorSha256 = "sha256-e8aKQMVEEf0BzpdljkOBxznj5P1Go/6EbY9mdhDLyrw=";
 
   doCheck = false;
 
@@ -55,6 +55,6 @@ in buildGoModule rec {
     homepage = "https://geth.ethereum.org/";
     description = "Official golang implementation of the Ethereum protocol";
     license = with licenses; [ lgpl3Plus gpl3Plus ];
-    maintainers = with maintainers; [ adisbladis lionello xrelkd RaghavSood ];
+    maintainers = with maintainers; [ adisbladis lionello RaghavSood ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/blockchains/ledger-live-desktop/default.nix b/nixpkgs/pkgs/applications/blockchains/ledger-live-desktop/default.nix
index 1c6c41a0e721..4b3ba00fb960 100644
--- a/nixpkgs/pkgs/applications/blockchains/ledger-live-desktop/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/ledger-live-desktop/default.nix
@@ -2,12 +2,12 @@
 
 let
   pname = "ledger-live-desktop";
-  version = "2.30.0";
+  version = "2.32.2";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://github.com/LedgerHQ/${pname}/releases/download/v${version}/${pname}-${version}-linux-x86_64.AppImage";
-    sha256 = "0xh28m3slzg6bp0fm183m62ydzqkvj384j4dwsfalgz4ndwvy595";
+    sha256 = "14agkl6xf0f9s5qldla6p6kzl8zlx61q5m8qy63lq215hrzh9d50";
   };
 
   appimageContents = appimageTools.extractType2 {
@@ -30,7 +30,7 @@ in appimageTools.wrapType2 rec {
     description = "Wallet app for Ledger Nano S and Ledger Blue";
     homepage = "https://www.ledger.com/live";
     license = licenses.mit;
-    maintainers = with maintainers; [ thedavidmeister nyanloutre RaghavSood th0rgal ];
+    maintainers = with maintainers; [ andresilva thedavidmeister nyanloutre RaghavSood th0rgal ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/blockchains/lightning-loop/default.nix b/nixpkgs/pkgs/applications/blockchains/lightning-loop/default.nix
index f14af0ae7969..f33b005cdd93 100644
--- a/nixpkgs/pkgs/applications/blockchains/lightning-loop/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/lightning-loop/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "lightning-loop";
-  version = "0.14.2-beta";
+  version = "0.15.0-beta";
 
   src = fetchFromGitHub {
     owner = "lightninglabs";
     repo = "loop";
     rev = "v${version}";
-    sha256 = "02ndln0n5k2pin9pngjcmn3wak761ml923111fyqb379zcfscrfv";
+    sha256 = "1yjc04jiam3836w7vn3b1jqj1dq1k8wwfnccir0vh29cn6v0cf63";
   };
 
-  vendorSha256 = "1izdd9i4bqzmwagq0ilz2s37jajvzf1xwx3hmmbd1k3ss7mjm72r";
+  vendorSha256 = "0c3ly0s438sr9iql2ps4biaswphp7dfxshddyw5fcm0ajqzvhrmw";
 
   subPackages = [ "cmd/loop" "cmd/loopd" ];
 
diff --git a/nixpkgs/pkgs/applications/blockchains/litecoin.nix b/nixpkgs/pkgs/applications/blockchains/litecoin/default.nix
index c80ef342c752..c80ef342c752 100644
--- a/nixpkgs/pkgs/applications/blockchains/litecoin.nix
+++ b/nixpkgs/pkgs/applications/blockchains/litecoin/default.nix
diff --git a/nixpkgs/pkgs/applications/blockchains/lnd.nix b/nixpkgs/pkgs/applications/blockchains/lnd/default.nix
index c956bca9a1a5..c956bca9a1a5 100644
--- a/nixpkgs/pkgs/applications/blockchains/lnd.nix
+++ b/nixpkgs/pkgs/applications/blockchains/lnd/default.nix
diff --git a/nixpkgs/pkgs/applications/blockchains/lndconnect/default.nix b/nixpkgs/pkgs/applications/blockchains/lndconnect/default.nix
index 0d6f33ca3ac8..64a8da8b9714 100644
--- a/nixpkgs/pkgs/applications/blockchains/lndconnect/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/lndconnect/default.nix
@@ -18,7 +18,7 @@ buildGoPackage rec {
     description = "Generate QRCode to connect apps to lnd Resources";
     license = licenses.mit;
     homepage = "https://github.com/LN-Zap/lndconnect";
-    maintainers = [ maintainers.xwvvvvwx ];
+    maintainers = [ maintainers.d-xo ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/blockchains/lndmanage.nix b/nixpkgs/pkgs/applications/blockchains/lndmanage/default.nix
index 56db469ff453..450d9b4d4441 100644
--- a/nixpkgs/pkgs/applications/blockchains/lndmanage.nix
+++ b/nixpkgs/pkgs/applications/blockchains/lndmanage/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "lndmanage";
-  version = "0.11.0";
+  version = "0.13.0";
 
   src = fetchFromGitHub {
     owner = "bitromortac";
     repo = pname;
     rev = "v${version}";
-    sha256 = "19sqf7cjslwpfzcdbyq182dx7gnn9hii77sahbnh88v69qxgwzvb";
+    sha256 = "1vnv03k2d11rw6mry6fmspiy3hqsza8y3daxnn4lp038gw1y0f4z";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/nixpkgs/pkgs/applications/blockchains/masari.nix b/nixpkgs/pkgs/applications/blockchains/masari/default.nix
index bf995da36afa..bf995da36afa 100644
--- a/nixpkgs/pkgs/applications/blockchains/masari.nix
+++ b/nixpkgs/pkgs/applications/blockchains/masari/default.nix
diff --git a/nixpkgs/pkgs/applications/blockchains/namecoin.nix b/nixpkgs/pkgs/applications/blockchains/namecoin/default.nix
index dccee1dc0561..37a57fac5b10 100644
--- a/nixpkgs/pkgs/applications/blockchains/namecoin.nix
+++ b/nixpkgs/pkgs/applications/blockchains/namecoin/default.nix
@@ -3,14 +3,14 @@
 
 with lib;
 stdenv.mkDerivation rec {
-  version = "nc0.20.1";
+  version = "nc0.21.1";
   name = "namecoin" + toString (optional (!withGui) "d") + "-" + version;
 
   src = fetchFromGitHub {
     owner = "namecoin";
     repo = "namecoin-core";
     rev = version;
-    sha256 = "1wpfp9y95lmfg2nk1xqzchwck1wk6gwkya1rj07mf5in9jngxk9z";
+    sha256 = "sha256-dA4BGhxHm0EdvqMq27zzWp2vOPyKbCgV1i1jt17TVxU=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/blockchains/nano-wallet/default.nix b/nixpkgs/pkgs/applications/blockchains/nano-wallet/default.nix
index 8e8d3da92bea..e13a77c7d241 100644
--- a/nixpkgs/pkgs/applications/blockchains/nano-wallet/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/nano-wallet/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub, cmake, pkg-config, wrapQtAppsHook, boost, libGL
-, qtbase, python }:
+, qtbase, python3 }:
 
 stdenv.mkDerivation rec {
 
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = let
     options = {
-      PYTHON_EXECUTABLE = "${python}/bin/python";
+      PYTHON_EXECUTABLE = "${python3.interpreter}";
       NANO_SHARED_BOOST = "ON";
       BOOST_ROOT = boost;
       RAIBLOCKS_GUI = "ON";
@@ -32,6 +32,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ];
   buildInputs = [ boost libGL qtbase ];
 
+  strictDeps = true;
+
   buildPhase = ''
     runHook preBuild
     make nano_wallet
diff --git a/nixpkgs/pkgs/applications/blockchains/nbxplorer/default.nix b/nixpkgs/pkgs/applications/blockchains/nbxplorer/default.nix
index 40deef62c2ce..65d845988f93 100644
--- a/nixpkgs/pkgs/applications/blockchains/nbxplorer/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/nbxplorer/default.nix
@@ -15,13 +15,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "nbxplorer";
-  version = "2.1.52";
+  version = "2.1.58";
 
   src = fetchFromGitHub {
     owner = "dgarage";
     repo = "NBXplorer";
     rev = "v${version}";
-    sha256 = "sha256-+BP71TQ8BTGZ/SbS7CrI4D7hcQaVLt+hCpInbOdU5GY=";
+    sha256 = "sha256-rhD0owLEx7WxZnGPNaq4QpZopMsFQDOTnA0fs539Wxg=";
   };
 
   nativeBuildInputs = [ dotnetSdk dotnetPackages.Nuget makeWrapper ];
diff --git a/nixpkgs/pkgs/applications/blockchains/nbxplorer/deps.nix b/nixpkgs/pkgs/applications/blockchains/nbxplorer/deps.nix
index b7b01b14bff5..f5ab743e138a 100644
--- a/nixpkgs/pkgs/applications/blockchains/nbxplorer/deps.nix
+++ b/nixpkgs/pkgs/applications/blockchains/nbxplorer/deps.nix
@@ -181,23 +181,23 @@
   })
   (fetchNuGet {
     name = "NBitcoin.Altcoins";
-    version = "2.0.33";
-    sha256 = "12r4w89247xzrl2g01iv13kg1wl7gzfz1zikimx6dyhr4iipbmgf";
+    version = "3.0.3";
+    sha256 = "0129mgnyyb55haz68d8z694g1q2rlc0qylx08d5qnfpq1r03cdqd";
   })
   (fetchNuGet {
     name = "NBitcoin.TestFramework";
-    version = "2.0.23";
-    sha256 = "03jw3gay7brm7s7jwn4zbk1n1sq7gck523cx3ckx87v3wi2062lx";
+    version = "3.0.3";
+    sha256 = "1j3ajj4jrwqzlhzhkg7vicwab0aq2y50x53rindd8cq09jxvzk62";
   })
   (fetchNuGet {
     name = "NBitcoin";
-    version = "5.0.78";
-    sha256 = "1mfn045l489bm2xgjhvddhfy4xxcy42q6jhq4nyd6fnxg4scxyg9";
+    version = "6.0.6";
+    sha256 = "1kf2rjrnh97zlh00affsv95f94bwgr2h7b00njqac4qgv9cac7sa";
   })
   (fetchNuGet {
     name = "NBitcoin";
-    version = "5.0.81";
-    sha256 = "1fba94kc8yzykb1m5lvpx1hm63mpycpww9cz5zfp85phs1spdn8x";
+    version = "6.0.8";
+    sha256 = "1f90zyrd35fzx0vgvd83jhd6hczd4037h2k198xiyxj04l4m3wm5";
   })
   (fetchNuGet {
     name = "NETStandard.Library";
diff --git a/nixpkgs/pkgs/applications/blockchains/openethereum/default.nix b/nixpkgs/pkgs/applications/blockchains/openethereum/default.nix
index be2373941b32..39f35f211f90 100644
--- a/nixpkgs/pkgs/applications/blockchains/openethereum/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/openethereum/default.nix
@@ -44,7 +44,7 @@ rustPlatform.buildRustPackage rec {
     description = "Fast, light, robust Ethereum implementation";
     homepage = "http://parity.io/ethereum";
     license = licenses.gpl3;
-    maintainers = with maintainers; [ akru xrelkd ];
+    maintainers = with maintainers; [ akru ];
     platforms = lib.platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/applications/blockchains/particl/particl-core.nix b/nixpkgs/pkgs/applications/blockchains/particl-core/default.nix
index 99bc49e8db33..99bc49e8db33 100644
--- a/nixpkgs/pkgs/applications/blockchains/particl/particl-core.nix
+++ b/nixpkgs/pkgs/applications/blockchains/particl-core/default.nix
diff --git a/nixpkgs/pkgs/applications/blockchains/pivx.nix b/nixpkgs/pkgs/applications/blockchains/pivx/default.nix
index 58986a106763..fd562edf93f1 100644
--- a/nixpkgs/pkgs/applications/blockchains/pivx.nix
+++ b/nixpkgs/pkgs/applications/blockchains/pivx/default.nix
@@ -1,38 +1,57 @@
-{ fetchFromGitHub, lib, stdenv, pkg-config, autoreconfHook, wrapQtAppsHook ? null
-, openssl, db48, boost, zlib, miniupnpc, gmp
-, qrencode, glib, protobuf, yasm, libevent
-, util-linux, qtbase ? null, qttools ? null
+{ fetchFromGitHub
+, lib
+, stdenv
+, pkg-config
+, autoreconfHook
+, wrapQtAppsHook
+, openssl
+, db48
+, boost
+, zlib
+, miniupnpc
+, gmp
+, qrencode
+, glib
+, protobuf
+, yasm
+, libevent
+, util-linux
+, qtbase
+, qttools
 , enableUpnp ? false
 , disableWallet ? false
 , disableDaemon ? false
-, withGui ? false }:
+, withGui ? false
+}:
 
-with lib;
 stdenv.mkDerivation rec {
-  name = "pivx-${version}";
+  pname = "pivx";
   version = "4.1.1";
 
   src = fetchFromGitHub {
     owner = "PIVX-Project";
-    repo= "PIVX";
+    repo = "PIVX";
     rev = "v${version}";
     sha256 = "03ndk46h6093v8s18d5iffz48zhlshq7jrk6vgpjfs6z2iqgd2sy";
   };
 
-  nativeBuildInputs = [ pkg-config autoreconfHook ] ++ optionals withGui [ wrapQtAppsHook ];
+  nativeBuildInputs = [ pkg-config autoreconfHook ]
+    ++ lib.optionals withGui [ wrapQtAppsHook ];
+
   buildInputs = [ glib gmp openssl db48 yasm boost zlib libevent miniupnpc protobuf util-linux ]
-                  ++ optionals withGui [ qtbase qttools qrencode ];
+    ++ lib.optionals withGui [ qtbase qttools qrencode ];
 
   configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
-                    ++ optional enableUpnp "--enable-upnp-default"
-                    ++ optional disableWallet "--disable-wallet"
-                    ++ optional disableDaemon "--disable-daemon"
-                    ++ optionals withGui [ "--with-gui=yes"
-                                           "--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin"
-                                         ];
+    ++ lib.optional enableUpnp "--enable-upnp-default"
+    ++ lib.optional disableWallet "--disable-wallet"
+    ++ lib.optional disableDaemon "--disable-daemon"
+    ++ lib.optionals withGui [
+    "--with-gui=yes"
+    "--with-qt-bindir=${lib.getDev qtbase}/bin:${lib.getDev qttools}/bin"
+  ];
 
   enableParallelBuilding = true;
-  doChecks = true;
+  doCheck = true;
   postBuild = ''
     mkdir -p $out/share/applications $out/share/icons
     cp contrib/debian/pivx-qt.desktop $out/share/applications/
diff --git a/nixpkgs/pkgs/applications/blockchains/polkadot/default.nix b/nixpkgs/pkgs/applications/blockchains/polkadot/default.nix
index a1f0b17b2020..656c5974bead 100644
--- a/nixpkgs/pkgs/applications/blockchains/polkadot/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/polkadot/default.nix
@@ -7,16 +7,16 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "polkadot";
-  version = "0.9.8";
+  version = "0.9.9-1";
 
   src = fetchFromGitHub {
     owner = "paritytech";
     repo = "polkadot";
     rev = "v${version}";
-    sha256 = "sha256-5PNogoahAZUjIlQsVXwm7j5OmP3/uEEdV0vrIDXXBx8=";
+    sha256 = "sha256-EmnrwBMHb9jpEZAG393yyMaFRRQJ6YYDRvsp+ATT7MY=";
   };
 
-  cargoSha256 = "0iikys90flzmnnb6l2wzag8mp91p6z9y7rjzym2sd6m7xhgbc1x6";
+  cargoHash = "sha256-WzsaUrqe7F4x+ShqG14kq78MTSWIxIMRa3pdr3RXrwk=";
 
   nativeBuildInputs = [ clang ];
 
diff --git a/nixpkgs/pkgs/applications/blockchains/quorum.nix b/nixpkgs/pkgs/applications/blockchains/quorum/default.nix
index 1424ddc9516f..1424ddc9516f 100644
--- a/nixpkgs/pkgs/applications/blockchains/quorum.nix
+++ b/nixpkgs/pkgs/applications/blockchains/quorum/default.nix
diff --git a/nixpkgs/pkgs/applications/blockchains/stellar-core.nix b/nixpkgs/pkgs/applications/blockchains/stellar-core/default.nix
index 6ecc4e241cb4..6ecc4e241cb4 100644
--- a/nixpkgs/pkgs/applications/blockchains/stellar-core.nix
+++ b/nixpkgs/pkgs/applications/blockchains/stellar-core/default.nix
diff --git a/nixpkgs/pkgs/applications/blockchains/sumokoin.nix b/nixpkgs/pkgs/applications/blockchains/sumokoin/default.nix
index ee817b581953..ee817b581953 100644
--- a/nixpkgs/pkgs/applications/blockchains/sumokoin.nix
+++ b/nixpkgs/pkgs/applications/blockchains/sumokoin/default.nix
diff --git a/nixpkgs/pkgs/applications/blockchains/tessera.nix b/nixpkgs/pkgs/applications/blockchains/tessera/default.nix
index 5b1392525534..5b1392525534 100644
--- a/nixpkgs/pkgs/applications/blockchains/tessera.nix
+++ b/nixpkgs/pkgs/applications/blockchains/tessera/default.nix
diff --git a/nixpkgs/pkgs/applications/blockchains/turbo-geth.nix b/nixpkgs/pkgs/applications/blockchains/turbo-geth.nix
deleted file mode 100644
index b1548212a694..000000000000
--- a/nixpkgs/pkgs/applications/blockchains/turbo-geth.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ lib, buildGoModule, fetchFromGitHub }:
-
-buildGoModule rec {
-  pname = "turbo-geth";
-  version = "2021.05.02";
-
-  src = fetchFromGitHub {
-    owner = "ledgerwatch";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-7sTRAAlKZOdwi/LRbIEDKWpBe1ol8pZfEf2KIC4s0xk=";
-  };
-
-  vendorSha256 = "1d0ahdb2b5v8nxq3kdxw151phnyv6habb8kr8qjaq3kyhcnyk6ng";
-  runVend = true;
-
-  subPackages = [
-    "cmd/tg"
-    "cmd/evm"
-    "cmd/rpcdaemon"
-    "cmd/rlpdump"
-  ];
-
-  meta = with lib; {
-    homepage = "https://github.com/ledgerwatch/turbo-geth/";
-    description = "Ethereum node and geth fork focused on scalability and modularity";
-    license = with licenses; [ lgpl3Plus gpl3Plus ];
-    maintainers = with maintainers; [ xwvvvvwx ];
-  };
-}
diff --git a/nixpkgs/pkgs/applications/blockchains/vertcoin.nix b/nixpkgs/pkgs/applications/blockchains/vertcoin/default.nix
index acb02298e116..acb02298e116 100644
--- a/nixpkgs/pkgs/applications/blockchains/vertcoin.nix
+++ b/nixpkgs/pkgs/applications/blockchains/vertcoin/default.nix
diff --git a/nixpkgs/pkgs/applications/blockchains/wasabiwallet/default.nix b/nixpkgs/pkgs/applications/blockchains/wasabiwallet/default.nix
index e86d145bdf41..2fe128f1d294 100644
--- a/nixpkgs/pkgs/applications/blockchains/wasabiwallet/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/wasabiwallet/default.nix
@@ -24,11 +24,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "wasabiwallet";
-  version = "1.1.12.5";
+  version = "1.1.12.9";
 
   src = fetchurl {
     url = "https://github.com/zkSNACKs/WalletWasabi/releases/download/v${version}/Wasabi-${version}.tar.gz";
-    sha256 = "sha256-6KIsSsCAyZ6uYSbDBIKdtM4adGOttvJ78obCptcd57s=";
+    sha256 = "sha256-DtoLQbRXyR4xGm+M0xg9uj8wcbh1dOBJUG430OS8AS4=";
   };
 
   dontBuild = true;
diff --git a/nixpkgs/pkgs/applications/blockchains/whirlpool-gui/default.nix b/nixpkgs/pkgs/applications/blockchains/whirlpool-gui/default.nix
index c26270beef61..62c7c3b3da47 100644
--- a/nixpkgs/pkgs/applications/blockchains/whirlpool-gui/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/whirlpool-gui/default.nix
@@ -19,7 +19,7 @@ in stdenv.mkDerivation rec {
   yarnCache = stdenv.mkDerivation {
     name = "${pname}-${version}-${system}-yarn-cache";
     inherit src;
-    phases = [ "unpackPhase" "buildPhase" ];
+    dontInstall = true;
     nativeBuildInputs = [ yarn ];
     buildPhase = ''
       export HOME=$NIX_BUILD_ROOT
diff --git a/nixpkgs/pkgs/applications/blockchains/wownero.nix b/nixpkgs/pkgs/applications/blockchains/wownero/default.nix
index bc020de8be49..bc020de8be49 100644
--- a/nixpkgs/pkgs/applications/blockchains/wownero.nix
+++ b/nixpkgs/pkgs/applications/blockchains/wownero/default.nix
diff --git a/nixpkgs/pkgs/applications/display-managers/lightdm/default.nix b/nixpkgs/pkgs/applications/display-managers/lightdm/default.nix
index 7ca4da69d077..d49dd646fc53 100644
--- a/nixpkgs/pkgs/applications/display-managers/lightdm/default.nix
+++ b/nixpkgs/pkgs/applications/display-managers/lightdm/default.nix
@@ -142,6 +142,6 @@ stdenv.mkDerivation rec {
     description = "A cross-desktop display manager";
     platforms = platforms.linux;
     license = licenses.gpl3;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ ] ++ teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/applications/display-managers/ly/default.nix b/nixpkgs/pkgs/applications/display-managers/ly/default.nix
index d36c54189326..f7081bba4fcb 100644
--- a/nixpkgs/pkgs/applications/display-managers/ly/default.nix
+++ b/nixpkgs/pkgs/applications/display-managers/ly/default.nix
@@ -24,6 +24,6 @@ stdenv.mkDerivation rec {
     description = "TUI display manager";
     license = licenses.wtfpl;
     homepage = "https://github.com/cylgom/ly";
-    maintainers = [ maintainers.spacekookie ];
+    maintainers = [ maintainers.vidister ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/editors/android-studio/common.nix b/nixpkgs/pkgs/applications/editors/android-studio/common.nix
index 42e3b7588afb..8062d26b2843 100644
--- a/nixpkgs/pkgs/applications/editors/android-studio/common.nix
+++ b/nixpkgs/pkgs/applications/editors/android-studio/common.nix
@@ -1,4 +1,4 @@
-{ channel, pname, version, build ? null, sha256Hash }:
+{ channel, pname, version, sha256Hash }:
 
 { alsa-lib
 , bash
@@ -55,7 +55,7 @@
 
 let
   drvName = "android-studio-${channel}-${version}";
-  filename = "android-studio-" + (if (build != null) then "ide-${build}" else version) + "-linux.tar.gz";
+  filename = "android-studio-${version}-linux.tar.gz";
 
   androidStudio = stdenv.mkDerivation {
     name = "${drvName}-unwrapped";
@@ -65,10 +65,14 @@ let
       sha256 = sha256Hash;
     };
 
-    nativeBuildInputs = [ unzip ];
-    buildInputs = [
+    nativeBuildInputs = [
+      unzip
       makeWrapper
     ];
+
+    # Causes the shebangs in interpreter scripts deployed to mobile devices to be patched, which Android does not understand
+    dontPatchShebangs = true;
+
     installPhase = ''
       cp -r . $out
       wrapProgram $out/bin/studio.sh \
@@ -152,9 +156,6 @@ let
     '';
   };
 
-  # Causes the shebangs in interpreter scripts deployed to mobile devices to be patched, which Android does not understand
-  dontPatchShebangs = true;
-
   desktopItem = makeDesktopItem {
     name = drvName;
     exec = pname;
diff --git a/nixpkgs/pkgs/applications/editors/android-studio/default.nix b/nixpkgs/pkgs/applications/editors/android-studio/default.nix
index 0ead5ff670c2..f31265c2e4c1 100644
--- a/nixpkgs/pkgs/applications/editors/android-studio/default.nix
+++ b/nixpkgs/pkgs/applications/editors/android-studio/default.nix
@@ -9,17 +9,16 @@ let
     inherit buildFHSUserEnv;
   };
   stableVersion = {
-    version = "4.2.2.0"; # "Android Studio 4.2.2"
-    build = "202.7486908";
-    sha256Hash = "18zc9xr2xmphj6m6a1ilwripmvqzplp2583afq1pzzz3cv5h8fvk";
+    version = "2020.3.1.23"; # "Android Studio Arctic Fox (2020.3.1)"
+    sha256Hash = "06xjdibb5lxiga3jg9akmvbazjwk11akyhy3g4pc562hcifsa5sk";
   };
   betaVersion = {
-    version = "2020.3.1.20"; # "Android Studio Arctic Fox (2020.3.1) Beta 5"
-    sha256Hash = "0swcsjx29ar4b0c8yhbynshqdn2sv94ga58h2nrc99927vp17g85";
+    version = "2020.3.1.21"; # "Android Studio Arctic Fox (2020.3.1) RC 1"
+    sha256Hash = "04k7c328bl8ixi8bvp2mm33q2hmv40yc9p5dff5cghyycarwpd3f";
   };
   latestVersion = { # canary & dev
-    version = "2021.1.1.3"; # "Android Studio Bumblebee (2021.1.1) Canary 3"
-    sha256Hash = "1n8iahaqhmzvpps9vhv93n3yabb26vl78yndd6gid028r8r90y4x";
+    version = "2021.1.1.5"; # "Android Studio Bumblebee (2021.1.1) Canary 5"
+    sha256Hash = "0fx6nnazg4548rhb11wzaccm5c2si57mj8qwyl5j17x4k5r3m7nh";
   };
 in {
   # Attributes are named by their corresponding release channels
diff --git a/nixpkgs/pkgs/applications/editors/aseprite/skia.nix b/nixpkgs/pkgs/applications/editors/aseprite/skia.nix
index 141d51bed0f8..2de61c7e20f1 100644
--- a/nixpkgs/pkgs/applications/editors/aseprite/skia.nix
+++ b/nixpkgs/pkgs/applications/editors/aseprite/skia.nix
@@ -16,7 +16,8 @@ let
   });
 in
 stdenv.mkDerivation {
-  name = "skia-aseprite-m71";
+  pname = "skia";
+  version = "aseprite-m71";
 
   src = fetchFromGitHub {
     owner = "aseprite";
@@ -73,4 +74,12 @@ stdenv.mkDerivation {
       third_party/externals/angle2/include \
       third_party/skcms/**/*.h
   '';
+
+  meta = with lib; {
+    description = "Skia is a complete 2D graphic library for drawing Text, Geometries, and Images";
+    homepage = "https://skia.org/";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ ];
+    platforms = platforms.all;
+  };
 }
diff --git a/nixpkgs/pkgs/applications/editors/bluej/default.nix b/nixpkgs/pkgs/applications/editors/bluej/default.nix
index a34d6983b2f4..100178f7daf1 100644
--- a/nixpkgs/pkgs/applications/editors/bluej/default.nix
+++ b/nixpkgs/pkgs/applications/editors/bluej/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "bluej";
-  version = "5.0.1";
+  version = "5.0.2";
   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-KhNhJ2xsw1g2yemwP6NQmJvk4cxZAQQNPEUBuLso5qM=";
+    sha256 = "sha256-9sWfVQF/wCiVDKBmesMpM+5BHjFUPszm6U1SgJNQ8lE=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/applications/editors/cudatext/default.nix b/nixpkgs/pkgs/applications/editors/cudatext/default.nix
index bab29597c76c..ad06c80f3a40 100644
--- a/nixpkgs/pkgs/applications/editors/cudatext/default.nix
+++ b/nixpkgs/pkgs/applications/editors/cudatext/default.nix
@@ -38,13 +38,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "cudatext";
-  version = "1.137.2";
+  version = "1.142.0";
 
   src = fetchFromGitHub {
     owner = "Alexey-T";
     repo = "CudaText";
     rev = version;
-    sha256 = "sha256-OiLYXx1sBkEJpMPTa/45QPHLtmeI6ZLles7GfjEBGtQ=";
+    sha256 = "sha256-4kVi921dromMqiAuFjm2EOCDXCq4oT+ijko4/uT4LLs=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/applications/editors/cudatext/deps.json b/nixpkgs/pkgs/applications/editors/cudatext/deps.json
index 8ca09925058a..49dfd7e8dfe0 100644
--- a/nixpkgs/pkgs/applications/editors/cudatext/deps.json
+++ b/nixpkgs/pkgs/applications/editors/cudatext/deps.json
@@ -11,33 +11,33 @@
   },
   "ATFlatControls": {
     "owner": "Alexey-T",
-    "rev": "2021.07.09",
-    "sha256": "sha256-hVoHH29JLPy3qq73e5EV4bxERcizocO4RBgvqD+VhWo="
+    "rev": "2021.07.22",
+    "sha256": "sha256-sAF/klzPa8fCKKBtpj0h9B+zoGDvA80uL4u4VTikUaI="
   },
   "ATSynEdit": {
     "owner": "Alexey-T",
-    "rev": "0cf6e09f673beb3a25d6957c97eeeee37024617b",
-    "sha256": "sha256-oqxzORNva7tZXNlI/mSe722p6Tbkf7Ie6GPL3TxjV98="
+    "rev": "2021.08.20",
+    "sha256": "sha256-cVl1HJHLsYTFKQ/Ov+rcP6UAwRJPp7rtmLlZC9S+Jek="
   },
   "ATSynEdit_Cmp": {
     "owner": "Alexey-T",
-    "rev": "2021.07.09",
-    "sha256": "sha256-w5f1s8yjkYfDqAcKISRgJd3fe+f2NyO3ZtFLLfiBm2Q="
+    "rev": "2021.08.20",
+    "sha256": "sha256-PZtP/J4tJN2Egk/Bp/5DtHlV46yRjhcZL9xhDk6xjBk="
   },
   "EControl": {
     "owner": "Alexey-T",
-    "rev": "2021.07.02",
-    "sha256": "sha256-PndvBiqdqw681AC6q33UWdzUvcYHxj1WuYsVFi2HK7c="
+    "rev": "2021.08.12",
+    "sha256": "sha256-Ht7jfFGlvb7khLD0OekuBvkU9ROyDiyUSe+lLI/Rm64="
   },
   "ATSynEdit_Ex": {
     "owner": "Alexey-T",
-    "rev": "2021.07.09",
-    "sha256": "sha256-QCG9i26m3v9J4uO1I1BiDwBerH4iX1rAJuNqx+gHLnA="
+    "rev": "2021.07.29",
+    "sha256": "sha256-mCT3F0GPC+Hl7WOtYznxErMTyr9cH4ghaanYMum+3Fg="
   },
   "Python-for-Lazarus": {
     "owner": "Alexey-T",
-    "rev": "2021.04.16",
-    "sha256": "sha256-HN3Lr3uDCyNk+8+J09ivyC0LZxQ6x6SaUH4swZJBFkM="
+    "rev": "2021.07.27",
+    "sha256": "sha256-izCyBNRLRCizSjR7v9RhcLrQ6+aQA4eejCHFUzJ0IpE="
   },
   "Emmet-Pascal": {
     "owner": "Alexey-T",
@@ -46,8 +46,8 @@
   },
   "CudaText-lexers": {
     "owner": "Alexey-T",
-    "rev": "2021.02.01",
-    "sha256": "051jnrhfpl9n5pgrssf68lj732zxhvjbvna4746ngmdyxvw6dqfd"
+    "rev": "2021.07.09",
+    "sha256": "sha256-OyC85mTMi9m5kbtx8TAK2V4voL1i+J+TFoLVwxlHiD4="
   },
   "bgrabitmap": {
     "owner": "bgrabitmap",
diff --git a/nixpkgs/pkgs/applications/editors/eclipse/build-eclipse.nix b/nixpkgs/pkgs/applications/editors/eclipse/build-eclipse.nix
index 1ddb67071109..c52e43373c17 100644
--- a/nixpkgs/pkgs/applications/editors/eclipse/build-eclipse.nix
+++ b/nixpkgs/pkgs/applications/editors/eclipse/build-eclipse.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, makeDesktopItem, freetype, fontconfig, libX11, libXrender
-, zlib, jdk, glib, gtk, libXtst, gsettings-desktop-schemas, webkitgtk
+, zlib, jdk, glib, gtk, libXtst, libsecret, gsettings-desktop-schemas, webkitgtk
 , makeWrapper, perl, ... }:
 
 { name, src ? builtins.getAttr stdenv.hostPlatform.system sources, sources ? null, description }:
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     fontconfig freetype glib gsettings-desktop-schemas gtk jdk libX11
-    libXrender libXtst makeWrapper zlib
+    libXrender libXtst libsecret makeWrapper zlib
   ] ++ lib.optional (webkitgtk != null) webkitgtk;
 
   buildCommand = ''
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
 
     makeWrapper $out/eclipse/eclipse $out/bin/eclipse \
       --prefix PATH : ${jdk}/bin \
-      --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath ([ glib gtk libXtst ] ++ lib.optional (webkitgtk != null) webkitgtk)} \
+      --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath ([ glib gtk libXtst libsecret ] ++ lib.optional (webkitgtk != null) webkitgtk)} \
       --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \
       --add-flags "-configuration \$HOME/.eclipse/''${productId}_$productVersion/configuration"
 
diff --git a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/ebuild-mode/default.nix b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/ebuild-mode/default.nix
index f3adf4b9ea79..3202e5f5ac5f 100644
--- a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/ebuild-mode/default.nix
+++ b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/ebuild-mode/default.nix
@@ -2,11 +2,11 @@
 
 trivialBuild rec {
   pname = "ebuild-mode";
-  version = "1.52";
+  version = "1.53";
 
   src = fetchurl {
     url = "https://dev.gentoo.org/~ulm/emacs/${pname}-${version}.tar.xz";
-    sha256 = "10nikbbwh612qlnms2i31963a0h3ccyg85vrxlizdpsqs4cjpg6h";
+    sha256 = "1l740qp71df9ids0c49kvp942rk8k1rfkg1hyv7ysfns5shk7b9l";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix
index 10a4a2cab5ef..31ef6a3e4f03 100644
--- a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix
+++ b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix
@@ -39,10 +39,10 @@
       elpaBuild {
         pname = "ada-mode";
         ename = "ada-mode";
-        version = "7.1.4";
+        version = "7.1.8";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/ada-mode-7.1.4.tar";
-          sha256 = "13zcs7kn7rca82c80qshbdpmmmgkf5phr88hf7p5nwxqhkazy9cd";
+          url = "https://elpa.gnu.org/packages/ada-mode-7.1.8.tar";
+          sha256 = "0gggzjj58bxp7n4xdvhqwaxk6z79bbiqs59cc36mxk4gqyzf41xh";
         };
         packageRequires = [ emacs uniquify-files wisi ];
         meta = {
@@ -234,10 +234,10 @@
       elpaBuild {
         pname = "auctex";
         ename = "auctex";
-        version = "13.0.12";
+        version = "13.0.13";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/auctex-13.0.12.tar";
-          sha256 = "0fx3l6yyq63mlnapxiqpdhi5l314r3aj63404nly6hcdvc28g9nm";
+          url = "https://elpa.gnu.org/packages/auctex-13.0.13.tar";
+          sha256 = "06cb9jphqd0nysc60b4x24zmdryljb168cw66adl7b2x7sdzpkmn";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -636,10 +636,10 @@
       elpaBuild {
         pname = "consult";
         ename = "consult";
-        version = "0.9";
+        version = "0.11";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/consult-0.9.tar";
-          sha256 = "1n3bnvgj92fjd9dai9f95wvyfb20yhaw7b722lkqjg42i10jqzfn";
+          url = "https://elpa.gnu.org/packages/consult-0.11.tar";
+          sha256 = "14zjhsfhq5g9257maivyzpj5qxi1kprcsdk1qalwybyylyb4q4kk";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -666,10 +666,10 @@
       elpaBuild {
         pname = "corfu";
         ename = "corfu";
-        version = "0.10";
+        version = "0.11";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/corfu-0.10.tar";
-          sha256 = "0sqr4cld84vgfnf0fjgvbbix1p23s0n2xsszfap6d8a2xzzpp044";
+          url = "https://elpa.gnu.org/packages/corfu-0.11.tar";
+          sha256 = "1sf7ll25ry7vwff4bvqgdh84zviqj6wifmqdb2z8hf12awz63icz";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -722,6 +722,21 @@
           license = lib.licenses.free;
         };
       }) {};
+    csharp-mode = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
+      elpaBuild {
+        pname = "csharp-mode";
+        ename = "csharp-mode";
+        version = "1.0.0";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/csharp-mode-1.0.0.tar";
+          sha256 = "0vhm443fkcjsj95r4rs9r0mz9vzfk92883nxhyi35d3jaf112gm1";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/csharp-mode.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     csv-mode = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
       elpaBuild {
         pname = "csv-mode";
@@ -1007,16 +1022,16 @@
           license = lib.licenses.free;
         };
       }) {};
-    ebdb = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib, seq }:
+    ebdb = callPackage ({ elpaBuild, emacs, fetchurl, lib, seq }:
       elpaBuild {
         pname = "ebdb";
         ename = "ebdb";
-        version = "0.7";
+        version = "0.8.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/ebdb-0.7.tar";
-          sha256 = "0q4ywgh87d6hjac3031s21w91gld2hh7s8nbva94dnzwn6y9d0v1";
+          url = "https://elpa.gnu.org/packages/ebdb-0.8.2.tar";
+          sha256 = "1idwih5v287q9vdhsnr1bsibdv4h61vmy3b82svf2x9aik1a7vir";
         };
-        packageRequires = [ cl-lib emacs seq ];
+        packageRequires = [ emacs seq ];
         meta = {
           homepage = "https://elpa.gnu.org/packages/ebdb.html";
           license = lib.licenses.free;
@@ -1071,10 +1086,10 @@
       elpaBuild {
         pname = "eev";
         ename = "eev";
-        version = "20210710";
+        version = "20210822";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/eev-20210710.tar";
-          sha256 = "19k5yncyjg7afvkx54k9mplm86jyr3svjjyprrj1frdi219i5piw";
+          url = "https://elpa.gnu.org/packages/eev-20210822.tar";
+          sha256 = "1682hl8s15snz9vq2r0q7jfpf81gbhlyxp55l2alsmxll4qq72wh";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1194,10 +1209,10 @@
       elpaBuild {
         pname = "emms";
         ename = "emms";
-        version = "7.5";
+        version = "7.6";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/emms-7.5.tar";
-          sha256 = "0d7nsx2idzbp6d5im5rrsnwppbr2cimvxgx31bhwsm2aq3ya5v2j";
+          url = "https://elpa.gnu.org/packages/emms-7.6.tar";
+          sha256 = "03cp6mr0kxy41dg4ri5ymbzpkw7bd8zg7hx0a2rb4axiss5qmx7i";
         };
         packageRequires = [ cl-lib nadvice seq ];
         meta = {
@@ -1375,6 +1390,21 @@
           license = lib.licenses.free;
         };
       }) {};
+    flymake-proselint = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
+      elpaBuild {
+        pname = "flymake-proselint";
+        ename = "flymake-proselint";
+        version = "0.2.1";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/flymake-proselint-0.2.1.tar";
+          sha256 = "08hbz8k3idr1gb98q3ssmzsdya5afjxl25l9xzqp9q2w5krc8433";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/flymake-proselint.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     frame-tabs = callPackage ({ elpaBuild, fetchurl, lib }:
       elpaBuild {
         pname = "frame-tabs";
@@ -1420,6 +1450,21 @@
           license = lib.licenses.free;
         };
       }) {};
+    ftable = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
+      elpaBuild {
+        pname = "ftable";
+        ename = "ftable";
+        version = "1.0";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/ftable-1.0.tar";
+          sha256 = "1qi0fxw94hb7p2s8n2dzbziialbjbjxgpwx2m4mvrmicrq375r5p";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/ftable.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     gcmh = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
       elpaBuild {
         pname = "gcmh";
@@ -1964,16 +2009,16 @@
           license = lib.licenses.free;
         };
       }) {};
-    kiwix = callPackage ({ elpaBuild, emacs, fetchurl, lib, request }:
+    kiwix = callPackage ({ elpaBuild, elquery, emacs, fetchurl, lib, request }:
       elpaBuild {
         pname = "kiwix";
         ename = "kiwix";
-        version = "1.0.3";
+        version = "1.1.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/kiwix-1.0.3.tar";
-          sha256 = "061b816xp8ykqd56z0nvc69aql9y4mba42p6x6vc0j6gr9n3c1j6";
+          url = "https://elpa.gnu.org/packages/kiwix-1.1.0.tar";
+          sha256 = "1clp0q34bs395d0hrqdyvm9ds665hgf5qrdiqa14k31h4lbv2wsn";
         };
-        packageRequires = [ emacs request ];
+        packageRequires = [ elquery emacs request ];
         meta = {
           homepage = "https://elpa.gnu.org/packages/kiwix.html";
           license = lib.licenses.free;
@@ -2133,10 +2178,10 @@
       elpaBuild {
         pname = "map";
         ename = "map";
-        version = "3.0";
+        version = "3.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/map-3.0.tar";
-          sha256 = "00wf8lgh1b1i5l838y6di8194rf5gf5djklkhmxj1nlikz66j2ls";
+          url = "https://elpa.gnu.org/packages/map-3.1.tar";
+          sha256 = "1akkp34psm71ylbf1i02m56ga1dkswhz069j98amixrhw20hq4nx";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2148,10 +2193,10 @@
       elpaBuild {
         pname = "marginalia";
         ename = "marginalia";
-        version = "0.7";
+        version = "0.8";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/marginalia-0.7.tar";
-          sha256 = "1nz55nx6xp72nahs4g6asl5y5yrlnlnza58bjrlwwzmwsf7daz18";
+          url = "https://elpa.gnu.org/packages/marginalia-0.8.tar";
+          sha256 = "0afry11i7kgfa0q83p63hmahl7jzsqhn4sl1rnkjy98pnikwv9kd";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2780,10 +2825,10 @@
       elpaBuild {
         pname = "phps-mode";
         ename = "phps-mode";
-        version = "0.4.3";
+        version = "0.4.6";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/phps-mode-0.4.3.tar";
-          sha256 = "0yvwfaj7l4z3zgycvnf1j0r5jx4lryaapljbw2sqvwqpbgyiw0y0";
+          url = "https://elpa.gnu.org/packages/phps-mode-0.4.6.tar";
+          sha256 = "0mfwyz9rwnrs0xcd1jmq1ngdhbwygm6hbfhyr14djywxx0b4hpm5";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2840,10 +2885,10 @@
       elpaBuild {
         pname = "project";
         ename = "project";
-        version = "0.6.0";
+        version = "0.6.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/project-0.6.0.tar";
-          sha256 = "0m0r1xgz1ffx6mi2gjz1dkgrn89sh4y5ysi0gj6p1w05bf8p0lc0";
+          url = "https://elpa.gnu.org/packages/project-0.6.1.tar";
+          sha256 = "174fli3swbn67qcs9isv70vwrf6r41mak6dbs98gia89rlb71c8v";
         };
         packageRequires = [ emacs xref ];
         meta = {
@@ -2885,10 +2930,10 @@
       elpaBuild {
         pname = "pyim";
         ename = "pyim";
-        version = "3.9.2";
+        version = "3.9.4";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/pyim-3.9.2.tar";
-          sha256 = "18m5wni1zns8fad2ll9flbfgxfy14gi03apnycajdbqxsqfp65j9";
+          url = "https://elpa.gnu.org/packages/pyim-3.9.4.tar";
+          sha256 = "0ggnl2jidcklyhqd5av5kk1f855gsq29wq2nhvp1yjzn35hz6xij";
         };
         packageRequires = [ async emacs xr ];
         meta = {
@@ -3255,10 +3300,10 @@
       elpaBuild {
         pname = "rt-liberation";
         ename = "rt-liberation";
-        version = "2.3";
+        version = "2.4";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/rt-liberation-2.3.tar";
-          sha256 = "0sqq5zfzx9dir6d6zvg7vj5v629b508bbxsp7j0sp21rr4fw9nn0";
+          url = "https://elpa.gnu.org/packages/rt-liberation-2.4.tar";
+          sha256 = "1yqcrgfn9lbv26729x5d9qx4zyp1k05r4f63ikrnk8lhqpjs5i00";
         };
         packageRequires = [];
         meta = {
@@ -3351,10 +3396,10 @@
       elpaBuild {
         pname = "setup";
         ename = "setup";
-        version = "0.2.1";
+        version = "1.0.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/setup-0.2.1.tar";
-          sha256 = "15paand086g33w2vb6jkyxd3i2pmpp84f31y3j5v8w9ia68pjzms";
+          url = "https://elpa.gnu.org/packages/setup-1.0.0.tar";
+          sha256 = "05k65r5mgkpbj6f84qscgq4gjbj4wyn7c60b9xjvadw9b55yvfxk";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3381,10 +3426,10 @@
       elpaBuild {
         pname = "shell-command-plus";
         ename = "shell-command+";
-        version = "2.2.0";
+        version = "2.2.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/shell-command+-2.2.0.tar";
-          sha256 = "1ms2xk7xfgd3ngwm90hnmlxwpvyb167bislc2wr3ilfrirbbw476";
+          url = "https://elpa.gnu.org/packages/shell-command+-2.2.1.tar";
+          sha256 = "1dmi7fn4g55va5ljpyswr3dpgj471747kkdixfyp8zpsbhvr5yf6";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3501,10 +3546,10 @@
       elpaBuild {
         pname = "so-long";
         ename = "so-long";
-        version = "1.0";
+        version = "1.1.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/so-long-1.0.el";
-          sha256 = "00z9gnxz32rakd0k7lqaj050fwmqzq5vr9d6rb7ji3fn01rjp7kj";
+          url = "https://elpa.gnu.org/packages/so-long-1.1.1.tar";
+          sha256 = "0qgdnkb702mkm886v0zv0hnm5y7zlifgx9ji6xmdsxycpsfkjz1f";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3775,10 +3820,10 @@
       elpaBuild {
         pname = "tramp";
         ename = "tramp";
-        version = "2.5.1";
+        version = "2.5.1.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/tramp-2.5.1.tar";
-          sha256 = "1r7wifhzy2ipdlc4fqnx6549fnx45ggz57wh0cp7s6y25761si7q";
+          url = "https://elpa.gnu.org/packages/tramp-2.5.1.1.tar";
+          sha256 = "0v3rvvhjcnyvg6l4vyxz6513mxzvv9n0skkmr62ry8yi5x9wnqp1";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4026,10 +4071,10 @@
       elpaBuild {
         pname = "vertico";
         ename = "vertico";
-        version = "0.12";
+        version = "0.14";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/vertico-0.12.tar";
-          sha256 = "14qlc438bysg23wfj04zpvpraqzzi4jlz3r11vc56vd0k2hfmvmn";
+          url = "https://elpa.gnu.org/packages/vertico-0.14.tar";
+          sha256 = "1lvfvrmfi6f1jcf356rj1zl2bcbqxas7wi3yb93mxpn37l22l8mi";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4224,10 +4269,10 @@
       elpaBuild {
         pname = "wisi";
         ename = "wisi";
-        version = "3.1.3";
+        version = "3.1.5";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/wisi-3.1.3.tar";
-          sha256 = "0cbjcm35lp164wd06mn3clikga07qxfsfnkvadswsapsd0cn2b4k";
+          url = "https://elpa.gnu.org/packages/wisi-3.1.5.tar";
+          sha256 = "07jc8x6xdhpjv9hlghmvk7ga4gwww33nj5pizlx5scvpp0qvikpy";
         };
         packageRequires = [ emacs seq ];
         meta = {
diff --git a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix
index 69db13fec19e..495a3cbfd0f5 100644
--- a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix
+++ b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix
@@ -21,7 +21,7 @@ formats commits for you.
 
 */
 
-{ lib, stdenv, texinfo, writeText, gcc }:
+{ lib, stdenv, texinfo, writeText, gcc, pkgs, buildPackages }:
 
 self: let
 
@@ -41,7 +41,10 @@ self: let
   }: let
 
     imported = import generated {
-      inherit (self) callPackage;
+      callPackage = pkgs: args: self.callPackage pkgs (args // {
+        # Use custom elpa url fetcher with fallback/uncompress
+        fetchurl = buildPackages.callPackage ./fetchelpa.nix { };
+      });
     };
 
     super = removeAttrs imported [ "dash" ];
@@ -57,6 +60,47 @@ self: let
       project = if lib.versionAtLeast self.emacs.version "28"
                 then null
                 else super.project;
+      # Compilation instructions for the Ada executables:
+      # https://www.nongnu.org/ada-mode/ada-mode.html#Ada-executables
+      ada-mode = super.ada-mode.overrideAttrs (old: {
+        # actually unpack source of ada-mode and wisi
+        # which are both needed to compile the tools
+        # we need at runtime
+        dontUnpack = false;
+        srcs = [
+          super.ada-mode.src
+          # ada-mode needs a specific version of wisi, check NEWS or ada-mode's
+          # package-requires to find the version to use.
+          (pkgs.fetchurl {
+            url = "https://elpa.gnu.org/packages/wisi-3.1.3.tar.lz";
+            sha256 = "18dwcc0crds7aw466vslqicidlzamf8avn59gqi2g7y2x9k5q0as";
+          })
+        ];
+
+        sourceRoot = "ada-mode-${self.ada-mode.version}";
+
+        nativeBuildInputs = [
+          buildPackages.gnat
+          buildPackages.gprbuild
+          buildPackages.lzip
+        ];
+
+        buildInputs = [
+          pkgs.gnatcoll-xref
+        ];
+
+        preInstall = ''
+          ./build.sh -j$NIX_BUILD_CORES
+        '';
+
+        postInstall = ''
+          ./install.sh --prefix=$out
+        '';
+
+        meta = old.meta // {
+          maintainers = [ lib.maintainers.sternenseemann ];
+        };
+      });
     };
 
     elpaPackages = super // overrides;
diff --git a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/emacspeak/default.nix b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/emacspeak/default.nix
index f2ae3712cac4..577f5136326c 100644
--- a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/emacspeak/default.nix
+++ b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/emacspeak/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "emacspeak";
-  version = "51.0";
+  version = "54.0";
 
   src = fetchurl {
     url = "https://github.com/tvraman/emacspeak/releases/download/${version}/${pname}-${version}.tar.bz2";
-    sha256 = "09a0ywxlqa8jmc0wmvhaf7bdydnkyhy9nqfsdqcpbsgdzj6qpg90";
+    sha256 = "sha256-wsIqiW4UtgdAhqPqgCKgF37+hAtmAelAEnme1W9PKes=";
   };
 
   nativeBuildInputs = [ makeWrapper emacs ];
diff --git a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/fetchelpa.nix b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/fetchelpa.nix
new file mode 100644
index 000000000000..f4524f3b7a95
--- /dev/null
+++ b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/fetchelpa.nix
@@ -0,0 +1,21 @@
+# Elpa only serves the latest version of a given package uncompressed.
+# Once that release is no longer the latest & greatest it gets archived and compressed
+# meaning that both the URL and the hash changes.
+#
+# To work around this issue we fall back to the URL with the .lz suffix and if that's the
+# one we downloaded we uncompress the file to ensure the hash matches regardless of compression.
+
+{ fetchurl, lzip }:
+
+{ url, ... }@args: fetchurl ((removeAttrs args [ "url" ]) // {
+  urls = [
+    url
+    (url + ".lz")
+  ];
+  postFetch = ''
+    if [[ $url == *.lz ]]; then
+      ${lzip}/bin/lzip -c -d $out > uncompressed
+      mv uncompressed $out
+    fi
+  '';
+})
diff --git a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/font-lock-plus/default.nix b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/font-lock-plus/default.nix
index fdb28f447192..3cea9ae4ef09 100644
--- a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/font-lock-plus/default.nix
+++ b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/font-lock-plus/default.nix
@@ -1,6 +1,6 @@
-{ fetchurl, lib, melpaBuild, writeText }:
+{ fetchurl, lib, trivialBuild, writeText }:
 
-melpaBuild {
+trivialBuild {
   pname = "font-lock+";
   version = "20180101.25";
 
@@ -10,8 +10,6 @@ melpaBuild {
     name = "font-lock+.el";
   };
 
-  recipe = writeText "recipe" "(font-lock+ :fetcher github :repo \"\")";
-
   meta = {
     homepage = "https://melpa.org/#/font-lock+";
     license = lib.licenses.gpl2Plus;
diff --git a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix
index b2a66c92aea2..015a8e27f8e1 100644
--- a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix
+++ b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix
@@ -1,25 +1,33 @@
 { lib, pkgs }: self: with self; with lib.licenses; {
 
-  elisp-ffi = melpaBuild rec {
+  elisp-ffi = let
+    rev = "da37c516a0e59bdce63fb2dc006a231dee62a1d9";
+  in melpaBuild {
     pname = "elisp-ffi";
-    version = "1.0.0";
+    version = "20170518.0";
+
+    commit = rev;
 
     src = pkgs.fetchFromGitHub {
       owner = "skeeto";
       repo = "elisp-ffi";
-      rev = version;
-      sha256 = "0z2n3h5l5fj8wl8i1ilfzv11l3zba14sgph6gz7dx7q12cnp9j22";
+      inherit rev;
+      sha256 = "sha256-StOezQEnNTjRmjY02ub5FRh59aL6gWfw+qgboz0wF94=";
     };
 
+    nativeBuildInputs = [ pkgs.pkg-config ];
+
     buildInputs = [ pkgs.libffi ];
 
-    preBuild = "make";
+    preBuild = ''
+      mv ffi.el elisp-ffi.el
+      make
+    '';
 
     recipe = pkgs.writeText "recipe" ''
       (elisp-ffi
       :repo "skeeto/elisp-ffi"
-      :fetcher github
-      :files ("ffi-glue" "ffi.el"))
+      :fetcher github)
     '';
 
     meta = {
@@ -38,7 +46,7 @@
     pname = "agda-mode";
     version = pkgs.haskellPackages.Agda.version;
 
-    phases = [ "buildPhase" "installPhase" ];
+    dontUnpack = true;
 
     # already byte-compiled by Agda builder
     buildPhase = ''
@@ -94,19 +102,23 @@
 
   git-undo = callPackage ./git-undo { };
 
-  haskell-unicode-input-method = melpaBuild {
-    pname = "emacs-haskell-unicode-input-method";
+  haskell-unicode-input-method = let
+    rev = "d8d168148c187ed19350bb7a1a190217c2915a63";
+  in melpaBuild {
+    pname = "haskell-unicode-input-method";
     version = "20110905.2307";
 
+    commit = rev;
+
     src = pkgs.fetchFromGitHub {
       owner = "roelvandijk";
       repo = "emacs-haskell-unicode-input-method";
-      rev = "d8d168148c187ed19350bb7a1a190217c2915a63";
+      inherit rev;
       sha256 = "09b7bg2s9aa4s8f2kdqs4xps3jxkq5wsvbi87ih8b6id38blhf78";
     };
 
     recipe = pkgs.writeText "recipe" ''
-      (emacs-haskell-unicode-input-method
+      (haskell-unicode-input-method
        :repo "roelvandijk/emacs-haskell-unicode-input-method"
        :fetcher github)
     '';
@@ -134,14 +146,19 @@
     };
   };
 
-  matrix-client = melpaBuild {
+  matrix-client = let
+    rev = "d2ac55293c96d4c95971ed8e2a3f6f354565c5ed";
+  in melpaBuild
+  {
     pname = "matrix-client";
     version = "0.3.0";
 
+    commit = rev;
+
     src = pkgs.fetchFromGitHub {
       owner = "alphapapa";
       repo = "matrix-client.el";
-      rev = "d2ac55293c96d4c95971ed8e2a3f6f354565c5ed";
+      inherit rev;
       sha256 = "1scfv1502yg7x4bsl253cpr6plml1j4d437vci2ggs764sh3rcqq";
     };
 
@@ -197,6 +214,25 @@
     };
   };
 
+  urweb-mode = self.trivialBuild {
+    pname = "urweb-mode";
+
+    inherit (pkgs.urweb) src version;
+
+    packageRequires = [
+      self.cl-lib
+      self.flycheck
+    ];
+
+    postUnpack = "sourceRoot=$sourceRoot/src/elisp";
+
+    meta = {
+      description = "Major mode for editing Ur/Web";
+      inherit (pkgs.urweb.meta) license homepage;
+      maintainers = [ lib.maintainers.sternenseemann ];
+    };
+  };
+
   # Packages made the classical callPackage way
 
   ebuild-mode = callPackage ./ebuild-mode { };
@@ -250,38 +286,4 @@
   rectMark = rect-mark;
   sunriseCommander = sunrise-commander;
 
-  # Legacy aliases, these try to mostly map to melpa stable because it's
-  # closer to the old outdated package infra.
-  #
-  # Ideally this should be dropped some time during/after 20.03
-
-  autoComplete = self.melpaStablePackages.auto-complete;
-  bbdb3 = self.melpaStablePackages.bbdb;
-  colorTheme = self.color-theme;
-  cryptol = self.melpaStablePackages.cryptol-mode;
-  d = self.melpaStablePackages.d-mode;
-  emacsw3m = self.w3m;
-  erlangMode = self.melpaStablePackages.erlang;
-  flymakeCursor = self.melpaStablePackages.flymake-cursor;
-  graphvizDot = self.melpaStablePackages.graphviz-dot-mode;
-  haskellMode = self.melpaStablePackages.haskell-mode;
-  hsc3Mode = self.hsc3-mode;
-  idris = self.melpaStablePackages.idris-mode;
-  jade = self.jade-mode;
-  js2 = self.melpaStablePackages.js2-mode;
-  loremIpsum = self.lorem-ipsum;
-  markdownMode = self.melpaStablePackages.markdown-mode;
-  maudeMode = self.maude-mode;
-  phpMode = self.melpaStablePackages.php-mode;
-  prologMode = self.prolog-mode;
-  proofgeneral = self.melpaStablePackages.proof-general;
-  proofgeneral_HEAD = self.proof-general;
-  rainbowDelimiters = self.melpaStablePackages.rainbow-delimiters;
-  sbtMode = self.melpaStablePackages.sbt-mode;
-  scalaMode1 = self.melpaStablePackages.scala-mode;
-  # scalaMode2 = null;  # No clear mapping as of now
-  structuredHaskellMode = self.melpaStablePackages.shm;
-  tuaregMode = self.melpaStablePackages.tuareg;
-  writeGood = self.melpaStablePackages.writegood-mode;
-  xmlRpc = self.melpaStablePackages.xml-rpc;
 }
diff --git a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix
index 051759cb8c74..1e13c8bcaa10 100644
--- a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix
+++ b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix
@@ -70,7 +70,48 @@ let
         )
       );
 
-      overrides = {
+      overrides = lib.optionalAttrs (variant == "stable") {
+
+        # upstream issue: missing file header
+        speech-tagger = markBroken super.speech-tagger;
+
+        # upstream issue: missing file header
+        textmate = markBroken super.textmate;
+
+        # upstream issue: missing file header
+        window-numbering = markBroken super.window-numbering;
+
+        # upstream issue: missing file header
+        voca-builder = markBroken super.voca-builder;
+
+        # upstream issue: missing file header
+        initsplit = markBroken super.initsplit;
+
+        # upstream issue: missing file header
+        jsfmt = markBroken super.jsfmt;
+
+        # upstream issue: missing file header
+        maxframe = markBroken super.maxframe;
+
+        # upstream issue: missing file header
+        connection = markBroken super.connection;
+
+        # upstream issue: missing file header
+        dictionary = markBroken super.dictionary;
+
+        # upstream issue: missing file header
+        link = markBroken super.link;
+
+        # upstream issue: missing file header
+        bufshow = markBroken super.bufshow;
+
+        # upstream issue: missing file header
+        elmine = markBroken super.elmine;
+
+        # upstream issue: missing file header
+        ido-complete-space-or-hyphen = markBroken super.ido-complete-space-or-hyphen;
+
+      } // {
         # Expects bash to be at /bin/bash
         ac-rtags = fix-rtags super.ac-rtags;
 
@@ -325,14 +366,6 @@ let
           buildInputs = old.buildInputs ++ [ pkgs.tdlib ];
           nativeBuildInputs = [ pkgs.pkg-config ];
 
-          patches = [
-            (pkgs.fetchpatch {
-              name = "telega-server-bin-store-prefer.patch";
-              url = "https://github.com/zevlg/telega.el/commit/72550f984ca869309d197203ef7de99182d71729.patch";
-              sha256 = "18xvz53bygksak6h5f8cz79y83p2va15i8qz7n4s3g9gsklmkj2p";
-            })
-          ];
-
           postPatch = ''
             substituteInPlace telega-customize.el \
               --replace 'defcustom telega-server-command "telega-server"' \
@@ -400,32 +433,8 @@ let
         rect-plus = super."rect+";
 
         # upstream issue: missing file header
-        bufshow = markBroken super.bufshow;
-
-        # upstream issue: missing file header
-        connection = markBroken super.connection;
-
-        # upstream issue: missing file header
-        dictionary = markBroken super.dictionary;
-
-        # upstream issue: missing file header
-        elmine = markBroken super.elmine;
-
-        # upstream issue: missing file header
-        ido-complete-space-or-hyphen = markBroken super.ido-complete-space-or-hyphen;
-
-        # upstream issue: missing file header
-        initsplit = markBroken super.initsplit;
-
-        # upstream issue: missing file header
         instapaper = markBroken super.instapaper;
 
-        # upstream issue: missing file header
-        jsfmt = markBroken super.jsfmt;
-
-        # upstream issue: missing file header
-        maxframe = markBroken super.maxframe;
-
         # upstream issue: doesn't build
         magit-stgit = markBroken super.magit-stgit;
 
@@ -442,23 +451,8 @@ let
         qiita = markBroken super.qiita;
 
         # upstream issue: missing file header
-        speech-tagger = markBroken super.speech-tagger;
-
-        # upstream issue: missing file header
         sql-presto = markBroken super.sql-presto;
 
-        # upstream issue: missing file header
-        textmate = markBroken super.textmate;
-
-        # upstream issue: missing file header
-        link = markBroken super.link;
-
-        # upstream issue: missing file header
-        voca-builder = markBroken super.voca-builder;
-
-        # upstream issue: missing file header
-        window-numbering = markBroken super.window-numbering;
-
         editorconfig = super.editorconfig.overrideAttrs (attrs: {
           propagatedUserEnvPkgs = [ pkgs.editorconfig-core-c ];
         });
@@ -517,24 +511,7 @@ let
         });
       };
 
-      # Deprecated legacy aliases for backwards compat
-      aliases = lib.listToAttrs (lib.attrValues (lib.mapAttrs (n: v: { name = v; value = builtins.trace "Melpa attribute '${v}' is a legacy alias that will be removed in 21.05, use '${n}' instead" melpaPackages.${n}; }) (lib.filterAttrs (n: v: lib.hasAttr n melpaPackages) {
-        "auto-complete-clang-async" = "emacsClangCompleteAsync";
-        "vterm" = "emacs-libvterm";
-        "0xc" = "_0xc";
-        "2048-game" = "_2048-game";
-        "4clojure" = "_4clojure";
-        "@" = "at";
-        "term+" = "term-plus";
-        "term+key-intercept" = "term-plus-key-intercept";
-        "term+mux" = "term-plus-mux";
-        "xml+" = "xml-plus";
-      })));
-
-      melpaPackages = lib.mapAttrs (n: v: if lib.hasAttr n overrides then overrides.${n} else v) super;
-
-    in
-    melpaPackages // aliases);
+    in lib.mapAttrs (n: v: if lib.hasAttr n overrides then overrides.${n} else v) super);
 
 in
 generateMelpa { }
diff --git a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/nongnu-packages.nix b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/nongnu-packages.nix
index c3459448c281..66ca61499d96 100644
--- a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/nongnu-packages.nix
+++ b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/nongnu-packages.nix
@@ -10,7 +10,7 @@ To update the list of packages from nongnu (ELPA),
 
 */
 
-{ lib }:
+{ lib, buildPackages }:
 
 self: let
 
@@ -19,7 +19,10 @@ self: let
   }: let
 
     imported = import generated {
-      inherit (self) callPackage;
+      callPackage = pkgs: args: self.callPackage pkgs (args // {
+        # Use custom elpa url fetcher with fallback/uncompress
+        fetchurl = buildPackages.callPackage ./fetchelpa.nix { };
+      });
     };
 
     super = imported;
diff --git a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/org-generated.nix b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/org-generated.nix
index 5d043f9de9a1..10c63bc0b887 100644
--- a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/org-generated.nix
+++ b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/org-generated.nix
@@ -4,10 +4,10 @@
       elpaBuild {
         pname = "org";
         ename = "org";
-        version = "20210712";
+        version = "20210823";
         src = fetchurl {
-          url = "https://orgmode.org/elpa/org-20210712.tar";
-          sha256 = "0xdxzfk7hvsmlyivn61ivci6hy2alxg2ysdm5xad4xxz337jrj7x";
+          url = "https://orgmode.org/elpa/org-20210823.tar";
+          sha256 = "0yd2ydkkfy9lmlnb0lpsm8ywbk88sq9n4i7dasfzslv7czgccyh7";
         };
         packageRequires = [];
         meta = {
@@ -19,10 +19,10 @@
       elpaBuild {
         pname = "org-plus-contrib";
         ename = "org-plus-contrib";
-        version = "20210712";
+        version = "20210823";
         src = fetchurl {
-          url = "https://orgmode.org/elpa/org-plus-contrib-20210712.tar";
-          sha256 = "1cdpwsfjmjplyik1r9kl4lvd5lm52zrixlfg2ml1mhh28s680k0q";
+          url = "https://orgmode.org/elpa/org-plus-contrib-20210823.tar";
+          sha256 = "17lyhsi22wg3l3j4k67glvq9p12r3nlc7fs6ka5jr2xrvfypb5aj";
         };
         packageRequires = [];
         meta = {
diff --git a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/org-mac-link/default.nix b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/org-mac-link/default.nix
index 600e44eb8abe..a1328d8e8f42 100644
--- a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/org-mac-link/default.nix
+++ b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/org-mac-link/default.nix
@@ -1,14 +1,15 @@
 { lib, stdenv, fetchurl, emacs }:
 
 stdenv.mkDerivation {
-  name = "org-mac-link-1.2";
+  pname = "org-mac-link";
+  version = "1.2";
 
   src = fetchurl {
     url = "https://raw.githubusercontent.com/stuartsierra/org-mode/master/contrib/lisp/org-mac-link.el";
     sha256 = "1gkzlfbhg289r1hbqd25szan1wizgk6s99h9xxjip5bjv0jywcx5";
   };
 
-  phases = [ "buildPhase" "installPhase"];
+  dontUnpack = true;
 
   buildInputs = [ emacs ];
 
diff --git a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/perl-completion/default.nix b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/perl-completion/default.nix
index e14e5ed8cc23..515254a42a98 100644
--- a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/perl-completion/default.nix
+++ b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/perl-completion/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
     sha256 = "0x6qsgs4hm87k0z9q3g4p6508kc3y123j5jayll3jf3lcl2vm6ks";
   };
 
-  phases = [ "installPhase"];
+  dontUnpack = true;
 
   installPhase = ''
     install -d $out/share/emacs/site-lisp
diff --git a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json
index 5581a52fed47..2d2044ded8d4 100644
--- a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json
+++ b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json
@@ -1044,8 +1044,8 @@
     "auto-complete",
     "yasnippet"
    ],
-   "commit": "8a0dc9888de87ea3aace06628bff52ed32f3ca2b",
-   "sha256": "1xcsm72by6jiqr9y9fyk70nshsj5dj494faz9734m67fmxq45pfj"
+   "commit": "e29075f810af73f6bf7803eebf15d96bffee7154",
+   "sha256": "08vfdp7q6x5fk2nn5dl884cyysxrl2gw8f16g7wqvf7v24jmx71d"
   },
   "stable": {
    "version": [
@@ -1070,8 +1070,8 @@
   "repo": "xcwen/ac-php",
   "unstable": {
    "version": [
-    20210617,
-    949
+    20210820,
+    1000
    ],
    "deps": [
     "dash",
@@ -1081,8 +1081,8 @@
     "s",
     "xcscope"
    ],
-   "commit": "8a0dc9888de87ea3aace06628bff52ed32f3ca2b",
-   "sha256": "1xcsm72by6jiqr9y9fyk70nshsj5dj494faz9734m67fmxq45pfj"
+   "commit": "e29075f810af73f6bf7803eebf15d96bffee7154",
+   "sha256": "08vfdp7q6x5fk2nn5dl884cyysxrl2gw8f16g7wqvf7v24jmx71d"
   },
   "stable": {
    "version": [
@@ -1148,8 +1148,8 @@
     "auto-complete",
     "rtags"
    ],
-   "commit": "65113e2a137baa9f85dc2157b893291470788dc4",
-   "sha256": "1qc4hy6r2sz59nb28xrrqiad91xbmsrr9jzhi4k915qgds6m029h"
+   "commit": "3a057f127b931c683288f8731f05ba5e2aab4133",
+   "sha256": "1brf05grh0xdcjllaiixpjxmcg2j130gcrxkqm5v4ryb1w9fki7g"
   },
   "stable": {
    "version": [
@@ -1489,15 +1489,15 @@
   "repo": "cute-jumper/ace-pinyin",
   "unstable": {
    "version": [
-    20190917,
-    318
+    20210806,
+    316
    ],
    "deps": [
     "avy",
     "pinyinlib"
    ],
-   "commit": "8b2e9335b02486730ea4ceee790130cc5328f9ea",
-   "sha256": "1p2h4bva0v8yad075is1zkhn69x78ddwa8ncdfm0zzysddw5w8bq"
+   "commit": "4dc565807a9b74ba637122f746d1614c60f92af8",
+   "sha256": "1q1s2xwa4wb0h3r255j9wy37yzim6fa1kl42gnxlg5zwgcb2la9w"
   },
   "stable": {
    "version": [
@@ -1528,8 +1528,8 @@
    "deps": [
     "avy-menu"
    ],
-   "commit": "594a305704be8ca0ef79a12b787bdb59bc6077c0",
-   "sha256": "1ykpb4l29iw5bxmip9cn6irgiak2hwb79kg1k5m32wc9p6b4kbjf"
+   "commit": "bc3524eaa28b21725287b59b903c03624cbd5316",
+   "sha256": "1d5mkkdd67kkas7vl2dc98lm2dlgx10mb35zfdnz2rzcygi5brs7"
   },
   "stable": {
    "version": [
@@ -1600,8 +1600,8 @@
   "repo": "chumpage/ack-menu",
   "unstable": {
    "version": [
-    20130107,
-    640
+    20150504,
+    2022
    ],
    "deps": [
     "mag-menu"
@@ -1878,14 +1878,25 @@
   "repo": "minad/affe",
   "unstable": {
    "version": [
-    20210603,
-    1139
+    20210812,
+    1934
    ],
    "deps": [
     "consult"
    ],
-   "commit": "dee51350e1d7d3cfbfb12069dea9246454a3df31",
-   "sha256": "1dpzwwbkwxmkh430hk3w9p6z1rwns5znzbar071h95gi7phyhm2x"
+   "commit": "cc63708913fc5d16073bcb96f483c2e207151032",
+   "sha256": "10764rcakd5v9x2xz0cbv8wnvd1b5m9cwjb75gvbgnhfaxqnxb8n"
+  },
+  "stable": {
+   "version": [
+    0,
+    2
+   ],
+   "deps": [
+    "consult"
+   ],
+   "commit": "be08c4ec49681474cbebaf0957568f27e42c4b3c",
+   "sha256": "0lpqpy33bmsh84ib1i278sr8ldn8y9ydqdikch1xi56via4ic2x2"
   }
  },
  {
@@ -1944,15 +1955,15 @@
   "repo": "agda/agda",
   "unstable": {
    "version": [
-    20210619,
-    545
+    20210809,
+    721
    ],
    "deps": [
     "annotation",
     "eri"
    ],
-   "commit": "3543ef3df19228012a1ac5be766cc38fd2f65f6a",
-   "sha256": "0wlqrl8ikqc7q61i2qzmwp6h0mrv9kn5229pbsrb1ris7gxgi13b"
+   "commit": "2bab72d99ae3330cbf3a94450a647158838a1d1b",
+   "sha256": "1xb1rawj2hl12xmpn9xk2zw69wpvx2ssd3wj4k32dhgi2vcg2rck"
   },
   "stable": {
    "version": [
@@ -2183,15 +2194,15 @@
   "repo": "alan-platform/AlanForEmacs",
   "unstable": {
    "version": [
-    20200723,
-    1405
+    20210802,
+    1950
    ],
    "deps": [
     "flycheck",
     "s"
    ],
-   "commit": "fc1fc0312b3e7f868f95b917a66719afb96f0c9a",
-   "sha256": "1cadc2v8mdlz5di7cwhc9qqhrkwgl3gxyw5v4il895r44rcdifgq"
+   "commit": "9e66137860d05e9c8e1d70a087bfd9cb5ca5ec07",
+   "sha256": "1xnb2n77bj3ynrgrl13pwdjbbka9s6gwdskz99cjdky2m7z1xh0z"
   },
   "stable": {
    "version": [
@@ -2293,7 +2304,7 @@
     0
    ],
    "commit": "97c20b1fd9ad3f138e1100e3a837d05108c4c564",
-   "sha256": "1wsvs756cbwbxlaxij352kman7196m39684m6sqnfb685cfrwzdj"
+   "sha256": "1x4apig2hrvvy6pjciklmz5afpq5l4rmfjahc2wvyzs79abh0icx"
   }
  },
  {
@@ -2327,26 +2338,26 @@
   "repo": "cpitclaudel/alectryon",
   "unstable": {
    "version": [
-    20210518,
-    1550
+    20210817,
+    49
    ],
    "deps": [
     "flycheck"
    ],
-   "commit": "3fad996473200fa07b0381cd66179089d10fcc6f",
-   "sha256": "0qj4cjra1kyiw8h2qm024wgy9fy3xjwik7sr1mfkhk1gbndl8m3w"
+   "commit": "95a31c4232e71047a64956976622969df9226381",
+   "sha256": "09rhs337cnb24blf9qcxc3hgg8s9h4rsyiwpnkqd2by4kkhdyign"
   },
   "stable": {
    "version": [
     1,
-    2,
+    3,
     1
    ],
    "deps": [
     "flycheck"
    ],
-   "commit": "7b7041fd58c2b1893e4b65b18045880ecc7a1c73",
-   "sha256": "1lvhzi6fxnmpcr7xac6ri3904cqbp016ivziih3nfchdzznmzljj"
+   "commit": "ef9b4d4653c95388b9e0b242bc24fea9922cfcbb",
+   "sha256": "0w6p5qy3cdlngrn1nv79gbgv97idkpxmw47xfcw8fn615wa5j9q4"
   }
  },
  {
@@ -2441,11 +2452,11 @@
   "repo": "domtronn/all-the-icons.el",
   "unstable": {
    "version": [
-    20210703,
-    2203
+    20210817,
+    2252
    ],
-   "commit": "9d97c074b08000eacefc03ebc5dadbdc33888cc2",
-   "sha256": "06ya21isl47cfs4fsl8k3qzh7d27gss0snxv7mmv8a0c7rgjyx7j"
+   "commit": "b43d2b32f6de83c0dc7792a957f64e8444e59beb",
+   "sha256": "066kldj7wz6s1qdvkxifv2zx0wimxncgh11r0pchfrji4b0h6pyh"
   },
   "stable": {
    "version": [
@@ -2458,6 +2469,24 @@
   }
  },
  {
+  "ename": "all-the-icons-completion",
+  "commit": "966b1292537834b4b3582a2c093ff810c44cbcc6",
+  "sha256": "0wn542h8rymb8g86zn6si5dvars4d9h3kwv1b1w00jl44kxsii8n",
+  "fetcher": "github",
+  "repo": "iyefrat/all-the-icons-completion",
+  "unstable": {
+   "version": [
+    20210728,
+    2119
+   ],
+   "deps": [
+    "all-the-icons"
+   ],
+   "commit": "96500418541b7376cd0b3e4583b9509c0dd92b27",
+   "sha256": "0sn5jxmhdpnnjn8x99vc9m9d31kw9alkkdr0xc345aa0ssjlkf6f"
+  }
+ },
+ {
   "ename": "all-the-icons-dired",
   "commit": "26f650e465b22a0afdb77318aebfcfbdb832c9ce",
   "sha256": "0qa2x3c9j779yr1q0kfi4696zhbgc1drafskl7rymdpia3vqkwd0",
@@ -2513,14 +2542,14 @@
   "repo": "seagle0128/all-the-icons-ibuffer",
   "unstable": {
    "version": [
-    20210325,
-    512
+    20210727,
+    808
    ],
    "deps": [
     "all-the-icons"
    ],
-   "commit": "f304d283cbb815cd28b86c1cbe74b706c0678e25",
-   "sha256": "1afjcv94p8za3ri9c324j1wdg4klpcaippby3r1avwnjy5l9qpav"
+   "commit": "165f1702f6f49f4fc2fb15534ede141102657aef",
+   "sha256": "0k985lg08dml5cpw9piqhwrh27bbxwqgsy4zcj4f40niaallk6fy"
   },
   "stable": {
    "version": [
@@ -2575,28 +2604,28 @@
   "repo": "seagle0128/all-the-icons-ivy-rich",
   "unstable": {
    "version": [
-    20210626,
-    1956
+    20210823,
+    1544
    ],
    "deps": [
     "all-the-icons",
     "ivy-rich"
    ],
-   "commit": "78ee2fb4eb43c970e12a91949f7efd26ca1834d5",
-   "sha256": "04pgr5xjk84kksck7f1y9gpvxxnsy803zq252hg1pzg1pl6bx3ga"
+   "commit": "09b887c01aeb33d715a1f8269f45c38594614d93",
+   "sha256": "0l6brqdqqgcijd2jfycy3i2n39bwcq7m12km8hg3kx4bv0zmn00g"
   },
   "stable": {
    "version": [
     1,
     6,
-    2
+    3
    ],
    "deps": [
     "all-the-icons",
     "ivy-rich"
    ],
-   "commit": "07b8c5271719afa6a4c598c2a19f4a096ca6efe8",
-   "sha256": "1blr46w08s9f3wrcarqds09is9akdsq8faghshby5fnk9s5srkq3"
+   "commit": "66824c6468cbe256d7e5012f516f6840b5ab1de9",
+   "sha256": "19i7gnkwa7v6balx1qhd68rl1bxghl2fy442ymcaxl3yykc2hx9d"
   }
  },
  {
@@ -3175,11 +3204,11 @@
   "repo": "bastibe/annotate.el",
   "unstable": {
    "version": [
-    20210620,
-    751
+    20210819,
+    1443
    ],
-   "commit": "9aba6305fef54f32b085a56ce2b843b3d8194ac2",
-   "sha256": "1n2pgvc4fw8r22ck2r3jmkrrh1vlwv1r35ljy5g3b95zjh11w7g4"
+   "commit": "4ae1d4f2a6b6d7e598285c6a43ae1785d44147e5",
+   "sha256": "0i1ldw5iz61p3sp8anihf3a16z56jqgznrwphgf0b1kl0sdsq6lq"
   },
   "stable": {
    "version": [
@@ -3217,8 +3246,8 @@
     20200914,
     644
    ],
-   "commit": "3543ef3df19228012a1ac5be766cc38fd2f65f6a",
-   "sha256": "0wlqrl8ikqc7q61i2qzmwp6h0mrv9kn5229pbsrb1ris7gxgi13b"
+   "commit": "2bab72d99ae3330cbf3a94450a647158838a1d1b",
+   "sha256": "1xb1rawj2hl12xmpn9xk2zw69wpvx2ssd3wj4k32dhgi2vcg2rck"
   },
   "stable": {
    "version": [
@@ -3538,11 +3567,11 @@
   "repo": "dieter-wilhelm/apdl-mode",
   "unstable": {
    "version": [
-    20210423,
-    1115
+    20210819,
+    2136
    ],
-   "commit": "5e9de43494cc307a3b43b0eebf774c03670a4582",
-   "sha256": "00lz9mcxcmlgnnbc05b49arxa2fcckjhsxdcqi66v66zn9h8kr13"
+   "commit": "9e80feb61a173d776495f8a36545b966acac21f2",
+   "sha256": "00wihhzn779rqmhb41n1f2wd69cfcqq5z86l5hmcyx7lhn0nykyj"
   },
   "stable": {
    "version": [
@@ -3668,11 +3697,11 @@
   "repo": "emacsorphanage/applescript-mode",
   "unstable": {
    "version": [
-    20210223,
-    1539
+    20210802,
+    1715
    ],
-   "commit": "267a1453f58a6a6577a1d5752c876fdaa2896a6d",
-   "sha256": "0l5nfj5wz9cjpl9906w8q3p6ciwr6imf4nqh8i2s4dzip4n9w6nl"
+   "commit": "00c141bbff46c89a96598b605dee05dd1d89f624",
+   "sha256": "1d3ssyp90k26282p46c91wj1bvqxpvghcsicp14bnh78llwninvc"
   },
   "stable": {
    "version": [
@@ -3714,11 +3743,11 @@
   "repo": "waymondo/apropospriate-theme",
   "unstable": {
    "version": [
-    20210514,
-    1710
+    20210809,
+    1934
    ],
-   "commit": "b17a8ce0686848ffd7c6d20aa66bf2e97b7ce3e5",
-   "sha256": "0lba49k05kvx63yxcc3nqmiy2bbp7cl81zfap346kwgwss9fbgx5"
+   "commit": "e84255cf485004b6b2cb37ce9e0be62fd6512f8b",
+   "sha256": "06rcf08f8qm068ck2mxqbg03vkr0hf5nnsbzpwmn7i6qqw23x6jd"
   },
   "stable": {
    "version": [
@@ -4101,11 +4130,11 @@
   "repo": "jwiegley/emacs-async",
   "unstable": {
    "version": [
-    20210501,
-    1536
+    20210823,
+    528
    ],
-   "commit": "9a8cd0c3d5c120bfa03187c54dba6e33f6e3ca19",
-   "sha256": "1s2gdilaf38m2dg6nm4kcz5n4n455a9127pl4cbz9lg7mp3l2pg5"
+   "commit": "d834cd90fe6f1d87dab86b637d23958241cadac3",
+   "sha256": "00n9w9qh84fp60swcpccimch4lq0rcwqm7aqjym5hqmkc1ncz2bp"
   },
   "stable": {
    "version": [
@@ -4212,11 +4241,11 @@
   "repo": "jcs-elpa/atl-markup",
   "unstable": {
    "version": [
-    20200810,
-    845
+    20210731,
+    609
    ],
-   "commit": "67b67de68f3d878f98c96ea7e340344aed6e6e46",
-   "sha256": "0qg04bn50s2chnwk7krdfkhq6y944fbgbwxs507qgmg4n0iyzkln"
+   "commit": "e586473d49acbb16c092017e3e65bf8798c397dc",
+   "sha256": "0xpbxzv5rc3260bl3d54n7r3r14r1pkvwz48p2nl15hr2fzxaass"
   },
   "stable": {
    "version": [
@@ -4604,14 +4633,14 @@
   "repo": "emacscollective/auto-compile",
   "unstable": {
    "version": [
-    20210615,
-    1457
+    20210820,
+    1353
    ],
    "deps": [
     "packed"
    ],
-   "commit": "0f3afc6b057f9c9a3b60966f36e34cb46008cf61",
-   "sha256": "0grb9y7v7ibbcjv1yhssnavz43cij16ys5c68my8mv12wg5ld86z"
+   "commit": "ff21de70f3523afa2976d1e787e2febefeba2653",
+   "sha256": "1pwj7zc870vxvgbq7vzz924b6a0jhx0fkn0igkgz2piiyic627b6"
   },
   "stable": {
    "version": [
@@ -5116,11 +5145,11 @@
   "repo": "jcs-elpa/auto-rename-tag",
   "unstable": {
    "version": [
-    20210629,
-    1537
+    20210805,
+    1344
    ],
-   "commit": "9511446c4359100d0b6433579e663852bf8f36ef",
-   "sha256": "0gkkgkqvs7sq5s43srzzi8s5xm4pj53x9lifg79cad15a6i9a8sc"
+   "commit": "0967cc8e5aeaf7f6a36793e2d36717fd125647a8",
+   "sha256": "0y1hwwk2rijfpjkagn9c3rfvf350d8nas9g3lqgc7baq9jragizi"
   },
   "stable": {
    "version": [
@@ -5324,11 +5353,11 @@
   "url": "https://git.sr.ht/~pkal/autocrypt",
   "unstable": {
    "version": [
-    20210709,
-    1230
+    20210720,
+    1810
    ],
-   "commit": "32786dc552569c7cc9970628f580b0b7b8e0b03d",
-   "sha256": "0vs8kwgxvmbr1yy1f8jvxpixy4jfxpdk17mq0gfvlcmnqb560gdr"
+   "commit": "b2c8d431f89788d1e01d42c55e65612e6fc11b44",
+   "sha256": "05378j4pyxb9s8wpffmmrcn09inxjipiw1sy8jqgc5cslpd1jl3g"
   }
  },
  {
@@ -5532,8 +5561,8 @@
     "avy",
     "embark"
    ],
-   "commit": "acbe1cba548832d295449da348719f69b9685c6f",
-   "sha256": "0c1zqfrn2va2m9z6rw3i2h6dwm2vc0asbha4d9r0gss4b7519pf2"
+   "commit": "ca517fdabd182b0b905d0ef0cb380facb6697670",
+   "sha256": "1pb6rarb86x9bl064jqick3d7znl0a7ibx27yx30nivi5plrkb3j"
   },
   "stable": {
    "version": [
@@ -5582,8 +5611,8 @@
    "deps": [
     "avy"
    ],
-   "commit": "2c5e0c08d6cb27c213a8eda5c7033e3ff2aa9661",
-   "sha256": "11sa9a5vh546dpnxmrhxps77c225vkrfqsb6qlsnli2kmp5cxj48"
+   "commit": "18bb320f395b7e412f7e377cf4c46d205d4b4e1a",
+   "sha256": "0p96kxyq1pk9cnwxis80vr6xnklcg2n8gp7pj8z41kz1i2fn960m"
   },
   "stable": {
    "version": [
@@ -5720,8 +5749,8 @@
   "repo": "cniles/axe",
   "unstable": {
    "version": [
-    20201113,
-    2237
+    20210816,
+    1530
    ],
    "deps": [
     "dash",
@@ -5731,8 +5760,8 @@
     "s",
     "xmlgen"
    ],
-   "commit": "f6fb37f6035605755be41d018ca8b70caa2bc75a",
-   "sha256": "10sb1a5r3ip1p7rckc2lzxbc5wv1fa3r10jqrsaz5y218rx3c2j6"
+   "commit": "eb4a5b3b06c3cbed521e2c0e0985941c367f4e74",
+   "sha256": "125bqkakk0k6cs0bmhc46xba3if6zl0k7f8l4d07dbnzdinijc8x"
   }
  },
  {
@@ -6094,11 +6123,11 @@
   "repo": "belak/base16-emacs",
   "unstable": {
    "version": [
-    20210710,
-    1645
+    20210805,
+    1401
    ],
-   "commit": "7f1db3df9bb6f4a3c9f4d3c10b9a6cf231752547",
-   "sha256": "0ycxj4lmmkbpmb8yizys25rdh0zrmw4sbgj19wb6zp2d30xk32qf"
+   "commit": "9836cc26c2f8ed9d809feee2bfd8c082cfdbd033",
+   "sha256": "146fmjkib6d05xyz88yc903w8wla19f0vy3f91yr4qj7ab74frxf"
   },
   "stable": {
    "version": [
@@ -6117,11 +6146,11 @@
   "repo": "szermatt/emacs-bash-completion",
   "unstable": {
    "version": [
-    20210615,
-    1601
+    20210821,
+    1941
    ],
-   "commit": "d9c97b741db389ceb127b0f0180b2087cb24d0ef",
-   "sha256": "15m7gbwq1lmca2rlfb2ik86ibmvjnj58yajbp5d23xn03qqd6x6c"
+   "commit": "c5eaeed156ab906190c662d491269230967104b1",
+   "sha256": "0r221iirqsbz13s76r68i496izbirrvcw8ql3wsh205zmxa3jqg1"
   },
   "stable": {
    "version": [
@@ -6187,7 +6216,7 @@
     "flycheck"
    ],
    "commit": "5bfd5f91b9f91e46158e0419c6bb5c350e7684a1",
-   "sha256": "0nb6dbk8aclkq7jki52y4lwgbxg61xh1598l08yfv2l1ykhgg0n0"
+   "sha256": "0mb85g7bydd0nv3hjzvqb3d01cs4hg5846ibcznaqhsqk93pgm2h"
   }
  },
  {
@@ -6312,11 +6341,11 @@
   "repo": "bazelbuild/emacs-bazel-mode",
   "unstable": {
    "version": [
-    20210715,
-    2325
+    20210804,
+    1431
    ],
-   "commit": "3b0a3a2200cd93497563812d4026c4d67b13e91a",
-   "sha256": "0pgn1j6fpj2qjns2zvzaswk5l65mkd6sxs08l6z0q2926gb7dpx9"
+   "commit": "c4292f69c3bf4faa8393438489a3820c1d52b6ee",
+   "sha256": "0pk8j1vang644rpy8ch126lnxjpj5hz0qyy511q43q5fnx9fi30d"
   }
  },
  {
@@ -7038,14 +7067,15 @@
   "repo": "bdarcus/bibtex-actions",
   "unstable": {
    "version": [
-    20210714,
-    1030
+    20210825,
+    1743
    ],
    "deps": [
-    "bibtex-completion"
+    "bibtex-completion",
+    "parsebib"
    ],
-   "commit": "f5b73bce4fcc31d55044d17949569b35dc50283b",
-   "sha256": "06wv37ck15i4m90lwksyc4zq9pwx4ljr90g8yqjmmracpgbm967y"
+   "commit": "f4d9af720d3854ce0e746312061372ae30e2cc97",
+   "sha256": "0lynllvkyy9svi9c5gsqs5vyp0fgyq43a83drf67x0x14lfhdr1a"
   },
   "stable": {
    "version": [
@@ -7067,8 +7097,8 @@
   "repo": "tmalsburg/helm-bibtex",
   "unstable": {
    "version": [
-    20210408,
-    1649
+    20210725,
+    1459
    ],
    "deps": [
     "biblio",
@@ -7078,8 +7108,8 @@
     "parsebib",
     "s"
    ],
-   "commit": "9f6ea920a49457d85096caa0e61f086a42b2908e",
-   "sha256": "0dqf2anmjlgcz7xn4q2pw8cfmhwdhdg4fm8q41vhrp60ymbc6dik"
+   "commit": "12079bb09f203dda5cc2dd003bd60a6ad490f762",
+   "sha256": "11y1yif6z26cc502s72p310z9m6130p5kyqb2py74r3x0k0nc61s"
   },
   "stable": {
    "version": [
@@ -7965,15 +7995,15 @@
   "repo": "emacscollective/borg",
   "unstable": {
    "version": [
-    20210618,
-    2112
+    20210812,
+    1005
    ],
    "deps": [
     "epkg",
     "magit"
    ],
-   "commit": "6ea061f30065493e206132ff3f7a2d8febb859d0",
-   "sha256": "0m7c512r789pbx2qgzx1zgbr2w4y6ma8l7zhvslji57hzhcvj10y"
+   "commit": "018d5334b4c9af297799f0644e09946a13d55edd",
+   "sha256": "03h5cgsk3wxpw6g946ia0dbzazlbpip93zhirjh7vxcqp4wwyvcf"
   },
   "stable": {
    "version": [
@@ -8701,17 +8731,18 @@
   "repo": "alphapapa/bufler.el",
   "unstable": {
    "version": [
-    20210716,
-    1006
+    20210722,
+    1703
    ],
    "deps": [
     "dash",
     "f",
     "magit-section",
+    "map",
     "pretty-hydra"
    ],
-   "commit": "d466eac6c4b2ee25c765e7f31e44beb38dd44e4b",
-   "sha256": "00gyqpm0g437z71vbfd4kmih23vh6909dvygng133vxzly9k4f24"
+   "commit": "b951e621bc4a4bb07babf8b32dc318d91ae261c9",
+   "sha256": "14d2mcx6ppjzkpv63m7iir0j2dn549gkxr30bxx8qvc1v7r7r6wn"
   },
   "stable": {
    "version": [
@@ -8926,14 +8957,14 @@
   "repo": "alphapapa/burly.el",
   "unstable": {
    "version": [
-    20210709,
-    415
+    20210726,
+    125
    ],
    "deps": [
     "map"
    ],
-   "commit": "a67a026db0937b26c0b7a2fcf81bf44498ad2dd1",
-   "sha256": "0xck02i9l0yw7yzy6sgzg17k2hyqaj9lvafp7r229xzw8rdzl8cr"
+   "commit": "59fa9e92abdf1e730f8f3908d5a42852c10c5e2b",
+   "sha256": "1jbfsr28fhf945lhhbds89a9g5c8rbpmykwg8z5adp8ncfj6pw99"
   },
   "stable": {
    "version": [
@@ -9615,8 +9646,8 @@
   "repo": "beacoder/call-graph",
   "unstable": {
    "version": [
-    20210311,
-    830
+    20210728,
+    802
    ],
    "deps": [
     "anaconda-mode",
@@ -9625,8 +9656,8 @@
     "ivy",
     "tree-mode"
    ],
-   "commit": "3e5c510c51dd8b3491a32a1d67ad6268033348ee",
-   "sha256": "1jj8bj9a05dq0igxd2ddf0p9gc9sbffcn0wy3b26qlcspcvbpm1h"
+   "commit": "7a40f9ddb16a6ce9345e0bd632109b7e2048baa1",
+   "sha256": "18as7vq8cmhxkxgh0p8qlifyvza66n6xf9a2fi07wc4acp2gpn55"
   },
   "stable": {
    "version": [
@@ -9698,11 +9729,11 @@
   "repo": "ocaml/caml-mode",
   "unstable": {
    "version": [
-    20190413,
-    1205
+    20210825,
+    649
    ],
-   "commit": "38ebde12d3d529e6ef8078967997d32226e69e82",
-   "sha256": "13gz0s7bnjsnab7wn8mk0zva7756hf68izqp9agd8vqnm0c75nlp"
+   "commit": "3b6913ee6af31139bdee2c236ce2b3a10eabc74b",
+   "sha256": "0gsbhwymr2c3fy6mzrvk70q874r9yxf46vlkyljwp1srw095xi7x"
   },
   "stable": {
    "version": [
@@ -9749,6 +9780,30 @@
   }
  },
  {
+  "ename": "capnp-mode",
+  "commit": "7981e5108f449a52631699439724712cba1d2a40",
+  "sha256": "04idy13yzb5khzycsh394j8m4cchvnl7j75cw7ms1kdxzx6w2k4b",
+  "fetcher": "github",
+  "repo": "capnproto/capnproto",
+  "unstable": {
+   "version": [
+    20210707,
+    2310
+   ],
+   "commit": "86ae7e69e2d07d5dfe9eac66c2b359d098c682a3",
+   "sha256": "0kvadcjrrj60p3ijbz6f51f2ziapig06zzmkycaahailhf9v1s0b"
+  },
+  "stable": {
+   "version": [
+    0,
+    9,
+    0
+   ],
+   "commit": "7f554a89784d3455970fe1edfb9f0044ac570aeb",
+   "sha256": "038i40apywn8sg95kwld4mg9p9m08izcw5xj7mwkmshycmqw65na"
+  }
+ },
+ {
   "ename": "capture",
   "commit": "bdfe43be6c5f77845e82745534a1b1a9eb190466",
   "sha256": "1hxrvyq8my5886q7wj5w3mhyja7d6cf19gyclap492ci7kmrkdk2",
@@ -9786,14 +9841,14 @@
   "repo": "kwrooijen/cargo.el",
   "unstable": {
    "version": [
-    20210615,
-    1543
+    20210813,
+    721
    ],
    "deps": [
     "markdown-mode"
    ],
-   "commit": "1dd9771853b4327ed161232b65520c13ffe3c0c6",
-   "sha256": "12pwlww471s6n4vy367m3z8gscxpapi7q6sz5siyis9vjwz3ql2y"
+   "commit": "794f902bb84437afcc5d677d4a7a996c1f98359b",
+   "sha256": "0df3ldjwrk0kdyv417k1aq4nph749cgip48af56pq7rcffccdyk2"
   },
   "stable": {
    "version": [
@@ -9895,8 +9950,8 @@
   "repo": "cask/cask",
   "unstable": {
    "version": [
-    20210621,
-    1830
+    20210801,
+    1509
    ],
    "deps": [
     "ansi",
@@ -9907,8 +9962,8 @@
     "s",
     "shut-up"
    ],
-   "commit": "9fbc15dfe8b0739082e7bbff65f226dfe74ac9dd",
-   "sha256": "16pc37b6qaaar8gb4b6rzx7bwdj1lamg34a0nlqw6bkp0wzv1d4v"
+   "commit": "09c3851c118d2e850314e7f3b9efa786932a145b",
+   "sha256": "1fdnphlg9ip9cwvl1cxjhvlvgd9hxd5c466r79hrzq81vzn076cg"
   },
   "stable": {
    "version": [
@@ -10087,11 +10142,11 @@
   "repo": "xuchunyang/cc-cedict.el",
   "unstable": {
    "version": [
-    20200705,
-    443
+    20210814,
+    819
    ],
-   "commit": "6bb9481e48b889503626b4e3cb7cfec8d14cbf4b",
-   "sha256": "0nxq8p7hafpl1xq9daf5lcyk8ragdgnwsfxxd2d0rnzmyflgw5wi"
+   "commit": "03fbe7d1589d36f627ef9fe7b86f9fe6f623cbb3",
+   "sha256": "0lp5n3ar1k0scn8xzjylp7mgzf637ibbzai039n72z68nx2drilk"
   }
  },
  {
@@ -10166,11 +10221,11 @@
   "repo": "cdominik/cdlatex",
   "unstable": {
    "version": [
-    20210621,
-    654
+    20210804,
+    452
    ],
-   "commit": "614a8d94f67cdc1eeef8371f7b6b90aef8a78158",
-   "sha256": "1i9la8rh1sgvnk1kwd180x3daaglh3xzlbbfirnjsiqn3yyl9flk"
+   "commit": "f215b70c5cb02bbc43f5a7d5c8e5e3460ff82428",
+   "sha256": "0gf4xjzf3afcg88cvjmxq87pqci8s8y2av4phbh3bgd00myjmhfw"
   },
   "stable": {
    "version": [
@@ -10424,8 +10479,8 @@
     20171115,
     2108
    ],
-   "commit": "d87317f360d64b5f68809a564d03436d2b07e96a",
-   "sha256": "1g2q4fg95wpg1d77zrk80923553w2sgsby3ylrrq92y11ks4yiq5"
+   "commit": "90bf324af47e6c607a4d7312a1c69701c2b180fb",
+   "sha256": "0s3sdvv3r93bz62sk7bk6bdrj5gx6qb9mqd7fd1gkcrryhwb05np"
   },
   "stable": {
    "version": [
@@ -10501,7 +10556,7 @@
     "yaml-mode"
    ],
    "commit": "f3462930067de8f79c3d2e8da14d1924f609d3ab",
-   "sha256": "15ndphxz1jy4wbk52f6l3hk67b29844ljmmxd8wmahmi6c8nh3si"
+   "sha256": "0ggq4q2c1xi26m4rlvjm8f51wlj7h351pp6m20k6l25856858vhi"
   }
  },
  {
@@ -10658,8 +10713,8 @@
    "deps": [
     "avy-menu"
    ],
-   "commit": "d77c4d64fc8acc386a0fb9727d346c838e75f011",
-   "sha256": "11hls33r3lq46griyvpfnwkgwfwa4adfjzd03hcx2dn5ji0x0yxb"
+   "commit": "16e9ce0380a7661c6dae9ccec1172fe4757df682",
+   "sha256": "0cbs6lpljldz62vy2qqb3bdp3yarx84qpnmayyyah128snb9ic8v"
   },
   "stable": {
    "version": [
@@ -11215,8 +11270,8 @@
   "repo": "clojure-emacs/cider",
   "unstable": {
    "version": [
-    20210706,
-    1151
+    20210825,
+    1937
    ],
    "deps": [
     "clojure-mode",
@@ -11227,8 +11282,8 @@
     "sesman",
     "spinner"
    ],
-   "commit": "fe8cf244fd3426261f9f630c981a6296afd433a4",
-   "sha256": "02xj7g6jnwd9vjr8jipqvwy89zadkzsak08pq8418hz2af26bvaf"
+   "commit": "fd5232d03f62c2304daebbdbdf99f6ad860fa702",
+   "sha256": "1aj289145kza226xlg2zqi8m9wfrpr05xx6b6dvv1g9508jhxvw6"
   },
   "stable": {
    "version": [
@@ -11419,14 +11474,14 @@
   "repo": "emacs-circe/circe",
   "unstable": {
    "version": [
-    20210713,
-    1609
+    20210717,
+    1041
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "07d6d82cba864b1e38d3bd46654f2e1928a997c2",
-   "sha256": "04h60s6ig43sj144s7dlip1saf9kdwvzlfys8qwwx48003rbs0dp"
+   "commit": "77e16de3b9fbaa0417b56a9acc70a9bca17c4ad0",
+   "sha256": "1ww04kfz4kkbhrbd78r4dpylhayb5hl72qcjv8wm0mhgfwmbb358"
   },
   "stable": {
    "version": [
@@ -11497,36 +11552,37 @@
   "repo": "andras-simonyi/citeproc-el",
   "unstable": {
    "version": [
-    20210709,
-    602
+    20210822,
+    1949
    ],
    "deps": [
     "dash",
     "f",
     "org",
+    "parsebib",
     "queue",
     "s",
     "string-inflection"
    ],
-   "commit": "dc118772ad4585c0511f4f8f25c81faf69952038",
-   "sha256": "0v8z6fhrsi9kszqcbrm1ggvin0jff744byaiw06d3id1hc428iq5"
+   "commit": "299e52b2dda37960d609efa78c40e255001d163a",
+   "sha256": "0dqnyff2vfncw3ais2ml7k7lsdsrwjvw3kpynw9mb5si88sxh24b"
   },
   "stable": {
    "version": [
     0,
-    1,
-    2
+    9
    ],
    "deps": [
     "dash",
     "f",
     "org",
+    "parsebib",
     "queue",
     "s",
     "string-inflection"
    ],
-   "commit": "80b395b8a0c7fc92290f0d1bfd1b5520ffd415fd",
-   "sha256": "1b918gjzds9jzs0ywfr41wd069l234pshpa9rn8srkzlpj5lac4d"
+   "commit": "15034f1706cc9eb0ef97dfeeb7884da2a43b88a9",
+   "sha256": "1m5j1abyk68f3d1v781yrx2xkg42vyfgfckbj2yk2lgk6d7rz0p1"
   }
  },
  {
@@ -11547,8 +11603,8 @@
     "org",
     "org-ref"
    ],
-   "commit": "22a759c4f0ec80075014dcc594baa4d1b470d995",
-   "sha256": "1j7jdc2as87zycbfhz2nav97dqnx3xnq321dbjswmidg5fbhsr7q"
+   "commit": "0fb4c96f48b3055a59a397af24d3f1a82cf77b66",
+   "sha256": "1n69016gds7kmf3253w36i40rf26g3qvgac7n0z67im9jvjfa6a7"
   },
   "stable": {
    "version": [
@@ -11575,20 +11631,20 @@
   "repo": "universal-ctags/citre",
   "unstable": {
    "version": [
-    20210716,
-    403
+    20210823,
+    1603
    ],
-   "commit": "813e8c32a41f84ff099feddb5a4d5a51c5c200b5",
-   "sha256": "02482ln1458hb6z1x89b7294q4bwwdqi08h6m0mmvgd3vz2nwmqs"
+   "commit": "9a0dcc5dad0b0796c8febba1470db49b3e845f2b",
+   "sha256": "13zl0bxnxqm6cq71lj02d906mpmmd1xpwji3d23fvy80nkxzrm86"
   },
   "stable": {
    "version": [
     0,
     1,
-    0
+    1
    ],
-   "commit": "dcb5ec12d077c9a8f1c165a0868f98098494f78c",
-   "sha256": "1mf0d9avyhz83kb5fz2flwwn1knrbgrs0245q0layda9bya5i5yk"
+   "commit": "b74147e2a166e27c7c6074ffeaa5f273d4f938bf",
+   "sha256": "04vpcn8x188kl43pra3y57n1kky1fm96q1ym8f8kq93qnbjz0b9x"
   }
  },
  {
@@ -11599,11 +11655,11 @@
   "repo": "alvinfrancis/cl-format",
   "unstable": {
    "version": [
-    20160413,
-    45
+    20210824,
+    2016
    ],
-   "commit": "4380cb8009c47cc6d9098b383082b93b1aefa460",
-   "sha256": "108s96viral3s62a77jfgvjam08hdk97frfmxjg3xpp2ifccjs7h"
+   "commit": "a391d7696bea972ad9a968426e712feddc284ef4",
+   "sha256": "191jkjka1pv2ssggk138gni38ckbndjlk344px3r1p0mnv3gmfaq"
   },
   "stable": {
    "version": [
@@ -11830,26 +11886,20 @@
   "repo": "redguardtoo/cliphist",
   "unstable": {
    "version": [
-    20210426,
-    245
-   ],
-   "deps": [
-    "ivy"
+    20210813,
+    750
    ],
-   "commit": "0d02d72fb63453ff5623b26234a63f66090da7ac",
-   "sha256": "033z367nmfh6mc1k8kv2m3xsxjw44hnvgiai2n7fp4h9jdv5j8h8"
+   "commit": "a794c95e2f70a9b042af7bd07e2483fde75f2a2e",
+   "sha256": "0rbgg6vrvsmjlgwq0v450g41qx4gx9ixx4j30aa4i78ryxz4d76r"
   },
   "stable": {
    "version": [
     0,
-    5,
-    7
-   ],
-   "deps": [
-    "ivy"
+    6,
+    2
    ],
-   "commit": "1ef50459fa6044c4d571cec0009368948bcf5fc5",
-   "sha256": "0xba2gxwy1y8zl9nvga186873icvwfi0yan3qbw2vdkpzry5ifhk"
+   "commit": "a794c95e2f70a9b042af7bd07e2483fde75f2a2e",
+   "sha256": "0rbgg6vrvsmjlgwq0v450g41qx4gx9ixx4j30aa4i78ryxz4d76r"
   }
  },
  {
@@ -12197,11 +12247,11 @@
   "repo": "clojure-emacs/clojure-mode",
   "unstable": {
    "version": [
-    20210706,
-    1318
+    20210821,
+    2010
    ],
-   "commit": "3e426b3a479f479963f2c7d1147cc826ed1a0ee1",
-   "sha256": "16smnr1hlbv347wnzhncasz5ihy0sb4fcpx5dw9v8az5r3q8xpak"
+   "commit": "e1dc7caee76d117a366f8b8b1c2da7e6400636a8",
+   "sha256": "101fallqv90dgjdiq24hc63yw2a3df12y5cclcg9p4hk8rinc80x"
   },
   "stable": {
    "version": [
@@ -12227,8 +12277,8 @@
    "deps": [
     "clojure-mode"
    ],
-   "commit": "3e426b3a479f479963f2c7d1147cc826ed1a0ee1",
-   "sha256": "16smnr1hlbv347wnzhncasz5ihy0sb4fcpx5dw9v8az5r3q8xpak"
+   "commit": "e1dc7caee76d117a366f8b8b1c2da7e6400636a8",
+   "sha256": "101fallqv90dgjdiq24hc63yw2a3df12y5cclcg9p4hk8rinc80x"
   },
   "stable": {
    "version": [
@@ -12530,17 +12580,17 @@
     20210104,
     1831
    ],
-   "commit": "4e17e90988e9f23dece4c04f574d456309d7a50c",
-   "sha256": "1gqbgs8zxn9dcpxmbykz0mrqy6p229b0pdz3hnk0kncqkk004lx1"
+   "commit": "e0a34750f8b7a014d021fbde0e860de5a5073473",
+   "sha256": "16nmp6arjdgd9s1jj2cnj5dak0sf5ass2w894d6xdqhk9mz8g1gi"
   },
   "stable": {
    "version": [
     3,
     21,
-    0
+    2
    ],
-   "commit": "ff7a2e37bfff23ce1751a93b3eba179fbf32a9b6",
-   "sha256": "061cjj5mni91p6b0mpp6a2zrkrmw1hc3l4cci6lcqbx733y192fq"
+   "commit": "31c5700d4322ecfa169db2fccf385d6eced4e737",
+   "sha256": "0vjrv831qjc0fkayd096nmb0l0q3aphbd8gp5c6xk1hckpgzgwl0"
   }
  },
  {
@@ -13499,11 +13549,11 @@
   "repo": "company-mode/company-mode",
   "unstable": {
    "version": [
-    20210709,
-    1110
+    20210825,
+    1508
    ],
-   "commit": "d77184094b9a45b204813d824918e1ec2aac8504",
-   "sha256": "09f59ipp6c2b1xpnmk82ygxcfkfhh36h4g1c07dmxf7m3z1hwlgi"
+   "commit": "c7234a9df0b1a624ae0633d3a7d08f92109ff85a",
+   "sha256": "0i5xvi21gmqk2abpll761cz6g0g2i7s2gy63hvi2y3ac611fww2z"
   },
   "stable": {
    "version": [
@@ -13782,14 +13832,14 @@
   "repo": "redguardtoo/company-ctags",
   "unstable": {
    "version": [
-    20210629,
-    1038
+    20210723,
+    1322
    ],
    "deps": [
     "company"
    ],
-   "commit": "cf7bfdbfedc8ca4ee134c8d66e70eb6035185174",
-   "sha256": "0ysf3gd3fk74j203y2zg3rq41jx42wgk1y1fn2g5giawazi7ym2x"
+   "commit": "ff813c58e930d01fb55ee2f57fe810896a12c51b",
+   "sha256": "0v5a7aaqj1p2c6ci34v31r4jb1wd29rff7n779n3klaqjbkg3b6h"
   },
   "stable": {
    "version": [
@@ -13943,6 +13993,40 @@
   }
  },
  {
+  "ename": "company-emojify",
+  "commit": "a83aa15fa8c6fa2e8fd22c8368be18714d97861f",
+  "sha256": "07rnpz30k38cmh20r1gf6zimch4y8kxyhrl5bk03x887hwkrwc4y",
+  "fetcher": "github",
+  "repo": "jcs-elpa/company-emojify",
+  "unstable": {
+   "version": [
+    20210718,
+    424
+   ],
+   "deps": [
+    "company",
+    "emojify",
+    "ht"
+   ],
+   "commit": "cebfff07a21f885f87a692ec4d5e7f84468c6565",
+   "sha256": "1ishjn1biv9irm3ih96b0larsz6jq81lxd7jjkh4nqjs1207gcij"
+  },
+  "stable": {
+   "version": [
+    0,
+    1,
+    0
+   ],
+   "deps": [
+    "company",
+    "emojify",
+    "ht"
+   ],
+   "commit": "015dc2cee7c9713794efd44d398a12eb62a94185",
+   "sha256": "0w1pvknlnbz9q9v9krq4cvfjmk1mzhcvyh61qqn5m9srgc3hdkg3"
+  }
+ },
+ {
   "ename": "company-erlang",
   "commit": "ca96ed0b5d6f8aea4de56ddeaa003b9c81d96219",
   "sha256": "0qlc89c05523kjzsb7j3yfi022la47kgixl74ggkafhn60scwdm7",
@@ -14352,15 +14436,15 @@
   "repo": "vspinu/company-math",
   "unstable": {
    "version": [
-    20200131,
-    2337
+    20210731,
+    2019
    ],
    "deps": [
     "company",
     "math-symbol-lists"
    ],
-   "commit": "a796053590012e6a15c8b527b521ffc15d137bd0",
-   "sha256": "1y1fw926insgdl7ib9ynxjrxf3p6wfjkfxvf5vgdca7267cvcll1"
+   "commit": "45778f5731c97a21a83e3b965cbde42018709afd",
+   "sha256": "0s3jnslsd2licgav26s0nawwhhs4yrmz9chl0ghkngplichnp9mk"
   },
   "stable": {
    "version": [
@@ -14391,8 +14475,8 @@
     "maxima",
     "seq"
    ],
-   "commit": "74e10d5dedb16f74efc28299c98dd7db9a4392d6",
-   "sha256": "1r04mbn33y515b9fwr2x9rcbkvriz753dc0rasb8ca59klp1p5cv"
+   "commit": "ce5fd160c193e387d9e2bacdba4065c4b4262cb1",
+   "sha256": "18bjr4n1m1y76kh0pp6ci7ywklrmw611ka3avrj23lb0wwrljf86"
   },
   "stable": {
    "version": [
@@ -14406,7 +14490,7 @@
     "seq"
    ],
    "commit": "8d643a1776523ef1a6e0bff0bb0a390772fcc77d",
-   "sha256": "17m9x3yy0k63j59vx1sf25jcfb6b9yj0ggp2jiq1mih4b62rp97d"
+   "sha256": "1r04mbn33y515b9fwr2x9rcbkvriz753dc0rasb8ca59klp1p5cv"
   }
  },
  {
@@ -14541,15 +14625,15 @@
   "repo": "xenodium/company-org-block",
   "unstable": {
    "version": [
-    20210623,
-    731
+    20210825,
+    2107
    ],
    "deps": [
     "company",
     "org"
    ],
-   "commit": "4fd9a9c673225196e211bb3ced411d0ef9ff2f88",
-   "sha256": "1nsgkamrq54vm88imdyhl4326fxl9hvkfp0prckgjcg2r37pkxar"
+   "commit": "115af0a3625f4669358eca568466d468cacc78bd",
+   "sha256": "13kdwi4d1pvba6wv9yn1s0dl4cnq61zwf3j647d1s5ybqlrw5f4r"
   }
  },
  {
@@ -14568,8 +14652,8 @@
     "cl-lib",
     "company"
    ],
-   "commit": "8a0dc9888de87ea3aace06628bff52ed32f3ca2b",
-   "sha256": "1xcsm72by6jiqr9y9fyk70nshsj5dj494faz9734m67fmxq45pfj"
+   "commit": "e29075f810af73f6bf7803eebf15d96bffee7154",
+   "sha256": "08vfdp7q6x5fk2nn5dl884cyysxrl2gw8f16g7wqvf7v24jmx71d"
   },
   "stable": {
    "version": [
@@ -14651,7 +14735,7 @@
     "s"
    ],
    "commit": "0e6941e1832faafb2176238339667edd482acd95",
-   "sha256": "1ri022shrwiw10gdydm66c2xya1qxl449r5f8qadals7m4crczp2"
+   "sha256": "0xw475spfwq32nn5qz3gk22cggj1f5y245da9030vzi2jfb9vvid"
   }
  },
  {
@@ -14741,8 +14825,8 @@
     "company",
     "prescient"
    ],
-   "commit": "4a0f5405798cfcb98ea005078ef2e2d490e922c4",
-   "sha256": "04rz8mypgslb0la4wgj3na5c8p28s9lghq4nykcb28nhcxwfvz8n"
+   "commit": "027c2137a8d9e01a1d4c7b5e5d98da017dd2d48e",
+   "sha256": "04hwfqia53bk2fi7kw1pzwi5v0rgimr15kw6mmjlvcmwk0c1mghr"
   },
   "stable": {
    "version": [
@@ -14930,8 +15014,8 @@
     "company",
     "rtags"
    ],
-   "commit": "65113e2a137baa9f85dc2157b893291470788dc4",
-   "sha256": "1qc4hy6r2sz59nb28xrrqiad91xbmsrr9jzhi4k915qgds6m029h"
+   "commit": "3a057f127b931c683288f8731f05ba5e2aab4133",
+   "sha256": "1brf05grh0xdcjllaiixpjxmcg2j130gcrxkqm5v4ryb1w9fki7g"
   },
   "stable": {
    "version": [
@@ -14996,8 +15080,8 @@
     "company",
     "solidity-mode"
    ],
-   "commit": "5f6ef3156fadae5af6f381d674d20535529a20e4",
-   "sha256": "02rmc7naspjfl757k7zdfg9xd6nvfpsiqfcxkj6ywc7mnndpq2c0"
+   "commit": "6f7bd1641e5282ec5163188d8b8c2f6dfddc2e36",
+   "sha256": "0rkw21pic9nypv7vz06chyn9mjl560a4dayb84gj5w6v8gfznrcw"
   },
   "stable": {
    "version": [
@@ -15531,8 +15615,8 @@
   "repo": "necaris/conda.el",
   "unstable": {
    "version": [
-    20210409,
-    37
+    20210818,
+    103
    ],
    "deps": [
     "dash",
@@ -15540,8 +15624,8 @@
     "pythonic",
     "s"
    ],
-   "commit": "6db0720b6dc8880d7d6e7dc2953b4769ca6bbf71",
-   "sha256": "1p44pnjy9gyjhnqg986ab5qv4dm1cfz3mr7n6r4kvy0xkilk8ikx"
+   "commit": "4de6eccda5ffa1a15c6f2695d93234047a127d88",
+   "sha256": "1mk8511zx429970k5l4mqjazr883mnz63hzk9h9jb17fvhv38d3i"
   },
   "stable": {
    "version": [
@@ -15590,24 +15674,6 @@
   }
  },
  {
-  "ename": "confluence",
-  "commit": "30de78c9cf83de30093a5647976eeaf552d4b2cb",
-  "sha256": "0xa2g168mm31kh5h7smhx35cjsk1js88nzs19yakjljf56b1khlf",
-  "fetcher": "github",
-  "repo": "emacsorphanage/confluence",
-  "unstable": {
-   "version": [
-    20151021,
-    128
-   ],
-   "deps": [
-    "xml-rpc"
-   ],
-   "commit": "4518d270a07760644c4204985c83d234ece4738b",
-   "sha256": "1lrq23cxlp2vkyv7g56r06bp7chhw10kii3ymkydf24y4pyn1zpg"
-  }
- },
- {
   "ename": "conkeror-minor-mode",
   "commit": "1e6aed365c42987d64d0cd9a8a6178339b1b39e8",
   "sha256": "1ch108f20k7xbf79azsp31hh4wmw7iycsxddcszgxkbm7pj11933",
@@ -15713,19 +15779,70 @@
   "repo": "minad/consult",
   "unstable": {
    "version": [
-    20210716,
-    1219
+    20210818,
+    1128
    ],
-   "commit": "5fb6248c8e12630ce1247985c67ea28ae4077e4f",
-   "sha256": "1cgk144alm3pbig9acm62q3r7479x69ig76q3z6agamdvf91ay29"
+   "commit": "105a1ac50169382368a36ed53d7af908d02ffa07",
+   "sha256": "01kx3zg858bqyajglamxn319qabycnabzj73kl4x7sd55p2yi179"
   },
   "stable": {
    "version": [
     0,
-    9
+    11
+   ],
+   "commit": "105a1ac50169382368a36ed53d7af908d02ffa07",
+   "sha256": "01kx3zg858bqyajglamxn319qabycnabzj73kl4x7sd55p2yi179"
+  }
+ },
+ {
+  "ename": "consult-dir",
+  "commit": "461a4fc1ea3fcfac1a10e8004d7a917b14a0b771",
+  "sha256": "13fnx3ryrb7p220haa7nj9227aqvxggjdrxznfsacyjb1skpl6r1",
+  "fetcher": "github",
+  "repo": "karthink/consult-dir",
+  "unstable": {
+   "version": [
+    20210820,
+    339
+   ],
+   "deps": [
+    "consult",
+    "project"
+   ],
+   "commit": "e87362a89c91b33fa683f58ee05947ae4565fda3",
+   "sha256": "11zrwchwdzbrq97dvi2kk8ff1mic3nx8pl103w3i4c8h2w6a51nx"
+  }
+ },
+ {
+  "ename": "consult-eglot",
+  "commit": "ac5f82428f771a5642312a970ec31dd196139dc7",
+  "sha256": "06pfr848irdgqppksxc4xsa5icj6m8naggpmd0mzlc3dlz0f9lkq",
+  "fetcher": "github",
+  "repo": "mohkale/consult-eglot",
+  "unstable": {
+   "version": [
+    20210822,
+    1829
    ],
-   "commit": "ee58941308d83a717728f056ea753e80f68cfbc0",
-   "sha256": "0iy6lrqbpi4lv7141rdawpn278rxinfxspwb81n04azyxrk28vlw"
+   "deps": [
+    "consult",
+    "eglot"
+   ],
+   "commit": "a6aeb6fa078cc7ea6537793868f606b55ac63088",
+   "sha256": "11cwz2259i6fj4xckcvx8q8h3sgwxddjkddgiv7406d88m6ma72m"
+  },
+  "stable": {
+   "version": [
+    0,
+    1,
+    0
+   ],
+   "deps": [
+    "consult",
+    "eglot"
+   ],
+   "commit": "2d0e08e92bccc5ed247d4e9244c5c9ee69207e2c",
+   "sha256": "01bjgabrw7kq6xy6m3b4assn7g5paq74m253pxrjzqa86rqh44sx"
   }
  },
  {
@@ -15832,27 +15949,27 @@
   "url": "https://codeberg.org/jao/consult-notmuch.git",
   "unstable": {
    "version": [
-    20210701,
-    422
+    20210815,
+    1919
    ],
    "deps": [
     "consult",
     "notmuch"
    ],
-   "commit": "9e65c421cf54ca12234acad727818fa0fe60fa3e",
-   "sha256": "19flyh3v1xm2zswzjkvjbijvpbq5r8isafza4fd0yicvqbjyklhx"
+   "commit": "5e5f42faaae3e0d372f103b9de276d1f7f1c18e0",
+   "sha256": "1q8ynrrii92x0wv6hm8zcy0nydshg6jqibm7a85vhbnanh161qx1"
   },
   "stable": {
    "version": [
     0,
-    3
+    4
    ],
    "deps": [
     "consult",
     "notmuch"
    ],
-   "commit": "9e65c421cf54ca12234acad727818fa0fe60fa3e",
-   "sha256": "19flyh3v1xm2zswzjkvjbijvpbq5r8isafza4fd0yicvqbjyklhx"
+   "commit": "a5133b9e1f19b6d51e51dd5c5e3a4f236ca29b57",
+   "sha256": "0x2lz2df1rjq3vdxvqqnxqxh257hq5iyx1w3yc85w7lmnb59gbvy"
   }
  },
  {
@@ -15863,14 +15980,14 @@
   "url": "https://codeberg.org/jao/consult-recoll.git",
   "unstable": {
    "version": [
-    20210620,
-    1955
+    20210807,
+    1613
    ],
    "deps": [
     "consult"
    ],
-   "commit": "7b54edb8ac011015ccb43c9d6193e455b4405425",
-   "sha256": "1qz0r36nv5d52g9i4g9lcrp9gh1kf16q8lgjwgxxqi0qrq2h99z0"
+   "commit": "fe7a09b99d1497a30e11a2f86b6415adde00788a",
+   "sha256": "1bqmr686ncn46fbbq000mpbqrhf76sc9npbyg85053rhnwjdkk84"
   }
  },
  {
@@ -16205,15 +16322,15 @@
   "repo": "abo-abo/swiper",
   "unstable": {
    "version": [
-    20210509,
-    830
+    20210819,
+    1455
    ],
    "deps": [
     "ivy",
     "swiper"
    ],
-   "commit": "56139df678d9886d0612c0a192cce2cf6f156628",
-   "sha256": "0xjjdq3vmpm3fpvmd3g57m4ldixx8j73in0nmdx4vvnzvh0n904g"
+   "commit": "7cdde66c95d5205287e88010bc7a3a978c931db0",
+   "sha256": "0pvgh4krym43vcyiq4bsjl63gg795jlqh6kaa6llsv1awvywfqww"
   },
   "stable": {
    "version": [
@@ -16373,16 +16490,16 @@
   "repo": "tyler-dodge/counsel-edit-mode",
   "unstable": {
    "version": [
-    20210103,
-    1508
+    20210824,
+    1504
    ],
    "deps": [
     "counsel",
     "ht",
     "s"
    ],
-   "commit": "82234306562f47ec50db212888dbcf21ef0b70f8",
-   "sha256": "0jfl33npvw6rqk734ml87bfvnjrsgzim0z397j1bg7klva60j7q6"
+   "commit": "413047aedb20e85555785123dbd54eb8e91f6014",
+   "sha256": "02ni7lmm1mpxwha39cnbqjwzgdff55af1d9b05dkl0n01q9vglfg"
   },
   "stable": {
    "version": [
@@ -16407,26 +16524,26 @@
   "repo": "redguardtoo/counsel-etags",
   "unstable": {
    "version": [
-    20210608,
-    206
+    20210725,
+    821
    ],
    "deps": [
     "counsel"
    ],
-   "commit": "2c1f2161d36f70e0034e29abecfcb8878b30b6ac",
-   "sha256": "1hcsz773i67i82crzczm4csjkl9qj430m73lpvqkh7if543bs030"
+   "commit": "84fff26b0f207131c2e6669bd7f510eac43973aa",
+   "sha256": "07445bbr68q1pnwpj5bwqmml9ky1gq67g24zswv8fylnzjkhy9wc"
   },
   "stable": {
    "version": [
     1,
     9,
-    16
+    17
    ],
    "deps": [
     "counsel"
    ],
-   "commit": "894cd7e25a2f96e29b70897ab799e7dd9e4f85fd",
-   "sha256": "01si554r0s6m7ypx1m2n0z6j6q6yihifz76dha6q6v56ixdlv626"
+   "commit": "84fff26b0f207131c2e6669bd7f510eac43973aa",
+   "sha256": "07445bbr68q1pnwpj5bwqmml9ky1gq67g24zswv8fylnzjkhy9wc"
   }
  },
  {
@@ -17271,26 +17388,26 @@
   "repo": "bbatsov/crux",
   "unstable": {
    "version": [
-    20210309,
-    838
+    20210811,
+    436
    ],
    "deps": [
     "seq"
    ],
-   "commit": "20c07848049716a0e1aa2560e23b5f4149f2a74f",
-   "sha256": "0v65zy9f5wsq9vpibfccyyv6ww4fwgyx3vc38vz83j0c5b2c9r6n"
+   "commit": "6bfd212a7f7ae32e455802fde1f9e3f4fba932a0",
+   "sha256": "01727k1fxiq1v2q6slp23gc98yqhflp6dcy3yr0yn9ibqx3pi93q"
   },
   "stable": {
    "version": [
     0,
-    3,
+    4,
     0
    ],
    "deps": [
     "seq"
    ],
-   "commit": "5b3c8155a9e9fe6f189645d175976026a2dc7b8d",
-   "sha256": "0809pb8626i6z1dics3i1cs30p4qd8bzqcgr20lx9k3yq2abq2k7"
+   "commit": "3445e7e027592c50505c5237ed1484715d2a3892",
+   "sha256": "1h28chpyq61k72qh749r5kqq1y70wx3xw9c3zyfzmy750wlw6nyj"
   }
  },
  {
@@ -17382,25 +17499,20 @@
   "repo": "emacs-csharp/csharp-mode",
   "unstable": {
    "version": [
-    20210624,
-    1320
-   ],
-   "deps": [
-    "tree-sitter",
-    "tree-sitter-indent",
-    "tree-sitter-langs"
+    20210821,
+    1939
    ],
-   "commit": "093f0f21a9d04d79a380de145cbc42693ef8c76f",
-   "sha256": "1150s8zz9z6pmr9m8jny7g8qrhxdnpbk4nzrlyddhaf9hkw9nfi9"
+   "commit": "45fee1a8ae2595a57ecdfbd7ba708c488652173f",
+   "sha256": "0nl3jsrp7b280h8mw54gcxc8jbn4jgbsp5qc05d41k20akfskwx8"
   },
   "stable": {
    "version": [
+    1,
     0,
-    11,
-    0
+    1
    ],
-   "commit": "84664285a6d215998da763dc5d286d4f941df81e",
-   "sha256": "0aq6ln92jr3hcrd1592n4s5cb079fly7qaj2hm510p9zckyfx230"
+   "commit": "45fee1a8ae2595a57ecdfbd7ba708c488652173f",
+   "sha256": "0nl3jsrp7b280h8mw54gcxc8jbn4jgbsp5qc05d41k20akfskwx8"
   }
  },
  {
@@ -17451,6 +17563,14 @@
    ],
    "commit": "a7f0f4610c976a28c41b9b8299892f88b5d0336c",
    "sha256": "0j8m7rhkf98zqkg6zydcks6qs4msw6vz51nbqya23hka2wpz7f81"
+  },
+  "stable": {
+   "version": [
+    0,
+    1
+   ],
+   "commit": "a7f0f4610c976a28c41b9b8299892f88b5d0336c",
+   "sha256": "0j8m7rhkf98zqkg6zydcks6qs4msw6vz51nbqya23hka2wpz7f81"
   }
  },
  {
@@ -17628,11 +17748,11 @@
   "repo": "raxod502/ctrlf",
   "unstable": {
    "version": [
-    20210418,
-    2044
+    20210724,
+    126
    ],
-   "commit": "dbe83710d06bc39315f1455f6f21479f3747c0aa",
-   "sha256": "0nl7mh1i9pw039gd0ma6xrv499aw2vs3a1fm1bxz71hh13jmbd4c"
+   "commit": "b78e129a8a4fabfebba8cdd5ef51278d0d57e0f4",
+   "sha256": "0j3rsax644x8753hginn0cd8sm86wf521p1rjqspdhgpi4dv0cdq"
   },
   "stable": {
    "version": [
@@ -17880,6 +18000,21 @@
   }
  },
  {
+  "ename": "cursor-flash",
+  "commit": "6a269e5187fd244f67adb83b940eedcbd643a0c2",
+  "sha256": "0y7ngpxwid83rgw1fbmrp7xifkkvf04a9s6wdfd2l8jdyh0jvn65",
+  "fetcher": "github",
+  "repo": "Boruch-Baum/emacs-cursor-flash",
+  "unstable": {
+   "version": [
+    20210722,
+    445
+   ],
+   "commit": "6bb54a1e2e1bf9df80926718b1b8b9ee49080484",
+   "sha256": "1zav30zkf7ir5zwy9625wldg4kaf8bk3mn1py5sidihpn299319b"
+  }
+ },
+ {
   "ename": "cursor-test",
   "commit": "6439f7561cfab4f6f3beb132d2a65e94b3deba9e",
   "sha256": "1c1d5xq4alamlwyqxjx557aykz5dw87acp0lyglsrzzkdynbwlb1",
@@ -18018,11 +18153,11 @@
   "repo": "mrkkrp/cyphejor",
   "unstable": {
    "version": [
-    20210319,
-    1423
+    20210816,
+    1607
    ],
-   "commit": "cf580995f891e339a9485ba91d6cb81a2abd61e4",
-   "sha256": "1k0zwgr80figw0xkni2ih87bi566q3j4009dhicq4ldv2lyaybl9"
+   "commit": "576d237a46be79449a22e3a7912a3464d7b0c233",
+   "sha256": "1jlyfzqmysbp83nhgldlri86mpsg9ch4amwdjm8li597w9g08fd0"
   },
   "stable": {
    "version": [
@@ -18060,8 +18195,8 @@
     20190111,
     2150
    ],
-   "commit": "5bf5aa63d6b6742144071a2af896067c21b3752a",
-   "sha256": "1nnyca4bagdbpmzy64pqy95vxbj3dx7lfbapvs120zbpxj193p7a"
+   "commit": "8af0271186cc642436306274564986888d5e64c8",
+   "sha256": "0mffl15acpqv3n2hi73nav8jidr74lbps5mhl8vg5c6h3qm2y54l"
   },
   "stable": {
    "version": [
@@ -18158,11 +18293,11 @@
   "repo": "cbowdon/daemons.el",
   "unstable": {
    "version": [
-    20200421,
-    912
+    20210728,
+    1514
    ],
-   "commit": "a26155d04cec399ffe25b88f71cbfa4ada784569",
-   "sha256": "0bvfcrr3blyz0861ysfw2qbfh1iq8nfdh1kw9wz4m7g6big27qgd"
+   "commit": "cbab674d995022c1c223bfccf13d8009c7c4e2ba",
+   "sha256": "0h08k9g746j1kg4138am3v7lv9w6fg7yrz2hzm7x737qmg852chn"
   },
   "stable": {
    "version": [
@@ -18268,8 +18403,8 @@
   "repo": "emacs-lsp/dap-mode",
   "unstable": {
    "version": [
-    20210711,
-    1427
+    20210812,
+    619
    ],
    "deps": [
     "bui",
@@ -18281,8 +18416,8 @@
     "posframe",
     "s"
    ],
-   "commit": "685168efc72e61bca2a248155bace7ec633269a5",
-   "sha256": "1mwy92rj9jj4ziflhzpy774vrp5m7zwzy2x1iyj33mn2rmykwl2w"
+   "commit": "8ec7e98986ea46e3c36b7ecbdf9a6562c90c7632",
+   "sha256": "01lh0yy3zi87cjma2m1wch0ks45b0v6d05anxqsrpn4bladp8plg"
   },
   "stable": {
    "version": [
@@ -18338,7 +18473,7 @@
     0
    ],
    "commit": "2ecd466ffa7a3157b9ddcd7545b6fb8ad308c976",
-   "sha256": "1h5lssnc1am54hkprnp61bsj5fnm8j556q2gbhljfjgrdwnqv8ky"
+   "sha256": "1y8rsc63nl4n43pvn283f1vcpqyjnv6xl60fwyscwrqaz19bsnl1"
   }
  },
  {
@@ -18638,11 +18773,11 @@
   "repo": "emacs-dashboard/emacs-dashboard",
   "unstable": {
    "version": [
-    20210714,
-    305
+    20210815,
+    445
    ],
-   "commit": "09932ef488b47c6b645a081fee4a82be437f98d8",
-   "sha256": "1kfsc5f37i4k4j8rqmi70cd6yvwxhhq2q513gby8qj2bqsgiwkhb"
+   "commit": "3926b1b756fb0be5f84776f578a05d31a244d5d4",
+   "sha256": "146bddpj6w70i1579bh3qdx0lphyfq2zhlhal5mmbcalrd6c785h"
   },
   "stable": {
    "version": [
@@ -18963,7 +19098,7 @@
     "ht"
    ],
    "commit": "5123477396a562fae350a89fbed79464cc498bc9",
-   "sha256": "0xd94cpqpv0yw70ajrvs69ygds62m40fk0m4s59zvdn5qs7ivj4k"
+   "sha256": "1bkiwg1wp3l904159gycdr83xkb3i0h2k0da7akzkwc957abvp8w"
   }
  },
  {
@@ -19032,8 +19167,8 @@
     "s",
     "spinner"
    ],
-   "commit": "83e7812cda2673884b3d4d218757c7489f817fbb",
-   "sha256": "1fiwr55s4aq38kyai9k77lb7j0kk53bcrrhd8sw0yqb65a1n363i"
+   "commit": "341331918cc83b6cabf7ae91e8dba5b0de57b285",
+   "sha256": "15x0v6s67wz7bql5z57xy2wbklc8b6nb166yswdzfdvrv5301ri1"
   },
   "stable": {
    "version": [
@@ -19060,8 +19195,8 @@
     20201011,
     1543
    ],
-   "commit": "4fd5547a54ee931f4a16adde1d3b52bf01ce045a",
-   "sha256": "07yar2b0h8d16j3q55cw2mdk88akvsab6z7bpkzavyqalgvd061b"
+   "commit": "6f09126b2e97b2e195145204caba11d0d4f871df",
+   "sha256": "0qrjy3zs2xjf54b7kcwxbds99il76zxlx219c5d1siq6bkv0z0k4"
   },
   "stable": {
    "version": [
@@ -19403,14 +19538,14 @@
   "repo": "liblit/demangle-mode",
   "unstable": {
    "version": [
-    20200926,
-    2014
+    20210822,
+    2210
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "aaef0bd77a3ea9ce9132e9a53ac021b0f5d33e12",
-   "sha256": "0pz49zn81bwszcaq24x9p3kkybrl47xl3ndj5xalg4ifw7nw0ygb"
+   "commit": "04f545adab066708d6151f13da65aaf519f8ac4e",
+   "sha256": "0jkw3n7fp0fd1pmaxszncx2lvb5g3hszsm2n6axbvy8waqxydz2w"
   },
   "stable": {
    "version": [
@@ -19642,11 +19777,11 @@
   "repo": "astoff/devdocs.el",
   "unstable": {
    "version": [
-    20210625,
-    1617
+    20210818,
+    1622
    ],
-   "commit": "f7c57d1878d78f076e2a2ef1c97129dc8aa4da15",
-   "sha256": "0fgyv5g23by8gddaai6q7dwv0f87fam91avpd0fx8klckyz3i5ww"
+   "commit": "19f897f03296fba882a7697d438f0e13529718ad",
+   "sha256": "0vygmqb7xwlmsl9in0qxnfrl0gjkjaxxg9xnxg55y55k1sf4wlbc"
   }
  },
  {
@@ -19657,11 +19792,11 @@
   "repo": "blahgeek/emacs-devdocs-browser",
   "unstable": {
    "version": [
-    20210703,
-    306
+    20210815,
+    1600
    ],
-   "commit": "f8572f208d58b2122df63ffef87fdd5112d83233",
-   "sha256": "10ywfkkczi6hzcz4hnjqxr77708hi22hgrvrykmwrh4lsfxl0iyq"
+   "commit": "4d81e4db165671ba3e7326dec72f950b26df4dde",
+   "sha256": "0jfrsqvlfv1xh8ss0c9pk4b5dffrxq8i3vp08ckigbdbk31fsvmx"
   }
  },
  {
@@ -19848,7 +19983,7 @@
     0
    ],
    "commit": "6d0c4203eb192d73d89261b3a9bad52951e394af",
-   "sha256": "1rdmhsrlqn19a140i3099fp7f9wnlglp760rnrjp5p840wzfm74q"
+   "sha256": "0a89bp9vz8lzg5klhmzpfmc0mhqmx667ivr86ckkjhiwr2mmzq0s"
   }
  },
  {
@@ -19874,14 +20009,14 @@
   "repo": "dgutov/diff-hl",
   "unstable": {
    "version": [
-    20210615,
-    1539
+    20210811,
+    28
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "d225def4a473a16ac994124e063695ef9cef3308",
-   "sha256": "1wizqf5qj0bxx9b5d0j726in1alqv0wy508y5ivaw7hcyggkg9i7"
+   "commit": "dbd46bf23c2efc466a640a7e398ca39a51c1145e",
+   "sha256": "003ks20f0n1w5h8vzsqknzbddrfih036is6q1n43zgqdnh3mlzld"
   },
   "stable": {
    "version": [
@@ -20272,14 +20407,14 @@
   "repo": "tilmanrassy/emacs-dir-treeview",
   "unstable": {
    "version": [
-    20201003,
-    2206
+    20210625,
+    2358
    ],
    "deps": [
     "treeview"
    ],
-   "commit": "53dc9dae71d1be3a7a925332a53e72d2bd05366b",
-   "sha256": "0hgcargxbl58f4im57c1zqwnfxl52lfv78s8l69njjggvdki0hz1"
+   "commit": "c48b0e12eb02ae046cf6dc97fe006db31ded3f2b",
+   "sha256": "07hhy41h1qx38rrf6f9b2r13chs3v4mzyplhpx1r6wjrj0nmh2pv"
   }
  },
  {
@@ -20305,11 +20440,11 @@
   "repo": "HKey/dired-atool",
   "unstable": {
    "version": [
-    20210706,
-    1456
+    20210719,
+    404
    ],
-   "commit": "c01e0a79c952a29db17c262c9ce8a90632b04b3a",
-   "sha256": "1r44s3f29p70li6k6646xcby3ypz1ljgd4j1fhdd0x4d7a09zl0v"
+   "commit": "01416fd5961b901c50686c91cb59b3833adc831b",
+   "sha256": "0dx829jlxr84mylcr0l7wgbkbhajmb2yg2dcnyd1gi768fgh7jdj"
   },
   "stable": {
    "version": [
@@ -20569,7 +20704,7 @@
     5
    ],
    "commit": "dbace8d2250f84487d31b39050fcdc260fcde804",
-   "sha256": "1d9105ibaw858gqp19rx2m6xm3hl57vzsmdqir883cy46qpvwhki"
+   "sha256": "0r9qmr2l5kjwh1frp0k87nyaf13f7f9fjjf9yf9z92djqapfm9dd"
   }
  },
  {
@@ -20627,11 +20762,11 @@
   "repo": "thomp/dired-launch",
   "unstable": {
    "version": [
-    20210510,
-    2137
+    20210818,
+    2257
    ],
-   "commit": "757c82e888d80e5746ccb8654ba58389fa7dc0eb",
-   "sha256": "0la6xgl3lr5pjs3x5y0l1g66cjdilnw6m0h526chgq140265yg3l"
+   "commit": "d54f661c8b3477f342c6c3b3c6c9a500cde595a9",
+   "sha256": "1p7pvl8fp043cv9b0gzbrilnk0k54s7jana39xyvb1zrch99zx2s"
   }
  },
  {
@@ -20752,7 +20887,7 @@
     "hydra"
    ],
    "commit": "79e422be55c72bfe36d2ec8a838f19d1cc8d101a",
-   "sha256": "14hb3d76y4n8qvfl74v9hzgl6774bqdcmsa0npv3gs144fbx9prk"
+   "sha256": "01zdha3p7wsf98yayvwgpd4arcs7yhz62yk1nyq9n13hvmqg7dvk"
   }
  },
  {
@@ -20854,15 +20989,15 @@
   "repo": "stsquad/dired-rsync",
   "unstable": {
    "version": [
-    20201224,
-    2214
+    20210806,
+    850
    ],
    "deps": [
     "dash",
     "s"
    ],
-   "commit": "fb0f161ac3cce1b224f52547f5bc7e1dcd283191",
-   "sha256": "0c92cqdsllly2dqrgfa9x8nmdyia1p9gkzyaf4427m1wd08dnfra"
+   "commit": "7940d9154d0a908693999b0e1ea351a6d365c93d",
+   "sha256": "0fhbpy9y89jm03hjqp317h0aj9iasbdan0h829rhjhga11x8rw2y"
   },
   "stable": {
    "version": [
@@ -21005,15 +21140,15 @@
   "repo": "ShuguangSun/dired-view-data",
   "unstable": {
    "version": [
-    20210529,
-    600
+    20210810,
+    1533
    ],
    "deps": [
     "ess",
     "ess-view-data"
    ],
-   "commit": "c865c34536d9c3140ce647f03c8b7498b46e935c",
-   "sha256": "0xca6kjr9qf7w9hz63hfai2hl055cdp5gm8nldr1xjv5gk42765h"
+   "commit": "75d5f961926392feb408049d416ed5c4c2213f07",
+   "sha256": "19ygbq9gibl0pj9663r77w3y00wpw7dpr1zh983w5nj57fa0im3p"
   },
   "stable": {
    "version": [
@@ -21883,8 +22018,8 @@
   "repo": "Silex/docker.el",
   "unstable": {
    "version": [
-    20210624,
-    1359
+    20210804,
+    1308
    ],
    "deps": [
     "dash",
@@ -21894,8 +22029,8 @@
     "tablist",
     "transient"
    ],
-   "commit": "9bcefbe54dbed4d364286fe65a87872e763ff7dc",
-   "sha256": "184dsvaa60b4j6w8s6146x81l5d2a6hkxjqp69gwiixpyjyvcj6n"
+   "commit": "a13ff981746fc69b0b0607e55346ef85207d6ea7",
+   "sha256": "12b1ha8rk8fs3234qvpbc0sp7qa6lbfpf78fvrv7yb1213kxs133"
   },
   "stable": {
    "version": [
@@ -21999,14 +22134,14 @@
   "repo": "emacs-pe/docker-tramp.el",
   "unstable": {
    "version": [
-    20210526,
-    748
+    20210729,
+    508
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "aaee11cedf7b4c31700f24a1fd88dcef9c2a7c3d",
-   "sha256": "120sxrifn82hhrqhqdy0dhnni353vwzkkd5x7inqg1wpzsxjwhzl"
+   "commit": "7bfbb55417e7d2aac53adf92cb0e3fd329c495c1",
+   "sha256": "078hqc8rqw27v5li8dgmh9sspfrypha6h7hx4iagjwndb2llg2ix"
   },
   "stable": {
    "version": [
@@ -22089,14 +22224,14 @@
   "repo": "jcs-elpa/docstr",
   "unstable": {
    "version": [
-    20210417,
-    1315
+    20210801,
+    643
    ],
    "deps": [
     "s"
    ],
-   "commit": "5b80126a71662a4bcd3dff7cfbcf70954610092e",
-   "sha256": "0ywm29gfqfb8dhv3mwwb8fx1vl363gkhba9vdkx0w3r2wvh17l80"
+   "commit": "aa8c20d162d5e0b3a8677f2f4f3519ce6fdbe2e5",
+   "sha256": "1vlvxjfw7f3dsa69gg952fv68vswsh3wkxcwz4irwkk0pfcbyxbf"
   },
   "stable": {
    "version": [
@@ -22119,11 +22254,29 @@
   "repo": "progfolio/doct",
   "unstable": {
    "version": [
-    20210329,
-    2337
+    20210825,
+    453
    ],
-   "commit": "67fc46c8a68989b932bce879fbaa62c6a2456a1f",
-   "sha256": "0ax7lhfk98vmlf5ll7jdm0lb0axckvhji461aa3whccwjgbinif8"
+   "commit": "c7c8687ae8a7f1230732eaebc89ea668b4f7a37d",
+   "sha256": "1cylpcjgd8v8kp93x5w1nal5m66bb8j44c7rsm6qwl099br3pa72"
+  }
+ },
+ {
+  "ename": "dogears",
+  "commit": "2a551c7b122dbaca845a0bc0a86137b37521c59e",
+  "sha256": "04p2ild2kniji0q8gr1c24qwzrvmwbkkrkzpgxs3y8hxa1gb9ync",
+  "fetcher": "github",
+  "repo": "alphapapa/dogears.el",
+  "unstable": {
+   "version": [
+    20210819,
+    59
+   ],
+   "deps": [
+    "map"
+   ],
+   "commit": "c0fa3f6318c660234e77b108f8486dfc39869071",
+   "sha256": "0bafs58xrlwk2f8swykwhvs1wilvbm2593gjmvdrwhy4hwg0n6f2"
   }
  },
  {
@@ -22238,16 +22391,16 @@
   "repo": "seagle0128/doom-modeline",
   "unstable": {
    "version": [
-    20210706,
-    604
+    20210823,
+    1606
    ],
    "deps": [
     "all-the-icons",
     "dash",
     "shrink-path"
    ],
-   "commit": "06606e0b8b3c19fbe56e25702e2a664deec593c3",
-   "sha256": "0akyzih955j2ijnrvfnajwpml5xb3v9pg9wbn4z8nkcw33hvxgk9"
+   "commit": "16c654c1212e97a1441cac45fee2dc5cda022103",
+   "sha256": "1r75kbmzrr3m5rx8nwp0v2cs4aim6pr2p42i3774012q3hi333kv"
   },
   "stable": {
    "version": [
@@ -22291,14 +22444,14 @@
   "repo": "hlissner/emacs-doom-themes",
   "unstable": {
    "version": [
-    20210714,
-    1511
+    20210731,
+    818
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "b7995ac041f8dadb021cd2445e85d29c9bf718ae",
-   "sha256": "09hhplhb0832ja9nnsq3d4p6g0fdw2sp9kl2y4n2kk6zq909ar54"
+   "commit": "65fb964f36939cf412d03b3fe410618caf99c494",
+   "sha256": "0nrgy82l9jffsgd12kx6z2amc8z9d9i9clqc3gvdzx6g0nlnyfli"
   },
   "stable": {
    "version": [
@@ -22495,8 +22648,8 @@
    "deps": [
     "debian-el"
    ],
-   "commit": "0f2a8257788a2f99e87326e52402f69e3f534903",
-   "sha256": "1hkabhnbiwygcx3blv3hc819m3bckkcngsf280pfg2y1xmd9n7b2"
+   "commit": "458f5230d02b15c94e94eca1af4eabaec30f45db",
+   "sha256": "0cdsi18vn3la9yaq4nbpvvhrblr36x0lc54wp7gv75rlg23fbl5a"
   },
   "stable": {
    "version": [
@@ -22542,11 +22695,11 @@
   "repo": "dracula/emacs",
   "unstable": {
    "version": [
-    20210627,
-    1011
+    20210730,
+    1158
    ],
-   "commit": "99ef8ef438e8e11a4486a20c353508b5e20d010e",
-   "sha256": "0hrqbggmfizl7wcwjcnpgs7ykns6iqwai51mqv61k7m2m37slf6k"
+   "commit": "62c960dbfe9cadc72784878c1cff20389895e193",
+   "sha256": "0wks8jcdfbahlv98v41h5jv8slc0c9aqyza9s2lmyi9a0xglp6i7"
   },
   "stable": {
    "version": [
@@ -22955,8 +23108,8 @@
     20210715,
     548
    ],
-   "commit": "48bd29decb847bd9357aceeca9ad1c916f199913",
-   "sha256": "02fy271d8s77l2g4rykgpnqvy4sq2ri88xz97ink00r1r12cdvk9"
+   "commit": "d6e490c24dfb4607080b6a41930bb9d378bc2a43",
+   "sha256": "1kq8griallh81wkn91j6kr0gi9y417gakhhfrzzby5gi998lijyb"
   },
   "stable": {
    "version": [
@@ -23474,20 +23627,20 @@
   "repo": "redguardtoo/eacl",
   "unstable": {
    "version": [
-    20201112,
-    820
+    20210801,
+    843
    ],
-   "commit": "527df13dcfb11f7a059ca9e8e4d31ab79423d896",
-   "sha256": "0ylmd42z0lczliafwhw0ga80y7j1njdypzmfkmnblhlxyiwjxwxk"
+   "commit": "e7e4be6d2590a9e433817f6ce7420d44f0095235",
+   "sha256": "14sy7abn8aq5daw7jzfjf21zrcxqni7arzgsr0ns5vr8yjc4m7y0"
   },
   "stable": {
    "version": [
     2,
-    0,
-    4
+    1,
+    0
    ],
-   "commit": "85a76fa17ebd304392ec9b1dd87d223fdd8fa09f",
-   "sha256": "0fxb2lv4cqdjxarqhzjgfc43sncc1c6m96n0aflm8l4gdmm090kq"
+   "commit": "478abf3c72176b8887035921270e254202ff9a0f",
+   "sha256": "0n1vlzvq5mv7z1yffjjqm9ixd3r0cljr60kg55l9pj9kp72a4iv8"
   }
  },
  {
@@ -23528,15 +23681,15 @@
   "repo": "masasam/emacs-easy-hugo",
   "unstable": {
    "version": [
-    20210303,
-    2352
+    20210815,
+    2059
    ],
    "deps": [
     "popup",
     "request"
    ],
-   "commit": "b3c9ca2a4e1d90013a7d990056d56cdf2bdf8e40",
-   "sha256": "1g48c2142yqs8ir2872q0zdl46qprx2mhhhd9jvcscakm4xv3cdf"
+   "commit": "be19464f1e4487414a29650b7dc46e984d3f73cf",
+   "sha256": "1cdg98303b3k5am7lqyjffx4n09qr49v9fsip8w3p6m357ls7wqw"
   },
   "stable": {
    "version": [
@@ -23706,26 +23859,26 @@
   "repo": "joostkremers/ebib",
   "unstable": {
    "version": [
-    20210607,
-    2206
+    20210809,
+    1349
    ],
    "deps": [
     "parsebib"
    ],
-   "commit": "7e49d7e1eaeca755c0086a81967673eb5b45d175",
-   "sha256": "0n6p460nmy6h6sc29j1nmhb6zcbbk7qczab6pz96hyxp1cj9g5gy"
+   "commit": "831ffcca35601e169c0778035688c5d17d138b58",
+   "sha256": "04kw0akp35r2ibrcav4kaf34d1xs8pckjiygv7h1nqpv6dmrgfq7"
   },
   "stable": {
    "version": [
     2,
     32,
-    1
+    2
    ],
    "deps": [
     "parsebib"
    ],
-   "commit": "3142de8d64789c611e553667cac3bb84428d004c",
-   "sha256": "1xgpdw0sxl2c9dn6x6fk0rqpqlqxsjlj0vyag611blj600br7dqr"
+   "commit": "831ffcca35601e169c0778035688c5d17d138b58",
+   "sha256": "04kw0akp35r2ibrcav4kaf34d1xs8pckjiygv7h1nqpv6dmrgfq7"
   }
  },
  {
@@ -24195,27 +24348,28 @@
   "repo": "editorconfig/editorconfig-emacs",
   "unstable": {
    "version": [
-    20210407,
-    407
+    20210813,
+    1301
    ],
    "deps": [
     "cl-lib",
     "nadvice"
    ],
-   "commit": "e10fa22b1304c5801b026c10cc5d65a97ccc0a48",
-   "sha256": "15a0269qbymkvbqgdmv5d4pb7bhw1cplbwra4ydhgwnvwv5c5q9v"
+   "commit": "375418d1d63f6ec780876593181b6d39054919da",
+   "sha256": "1lqxgc24gr67yhi64i9v4w2dcjhpx99jg1kr25gr2byqkkdldkz0"
   },
   "stable": {
    "version": [
     0,
     8,
-    1
+    2
    ],
    "deps": [
-    "cl-lib"
+    "cl-lib",
+    "nadvice"
    ],
-   "commit": "0b65d5316bcab4d76b5823ea6ecf8f5880f460d2",
-   "sha256": "1djlhkap7zddknzvjsjz0agpfsms1ih05zcpg1bikid2vs4gddyr"
+   "commit": "375418d1d63f6ec780876593181b6d39054919da",
+   "sha256": "1lqxgc24gr67yhi64i9v4w2dcjhpx99jg1kr25gr2byqkkdldkz0"
   }
  },
  {
@@ -24407,6 +24561,21 @@
   }
  },
  {
+  "ename": "efar",
+  "commit": "9616dbf81e8cc089d4816f2f652f6913989379be",
+  "sha256": "1fnibs05dl9q29icblsykacsw48fj3ivxza784z4sj01v49n39xz",
+  "fetcher": "github",
+  "repo": "suntsov/efar",
+  "unstable": {
+   "version": [
+    20210604,
+    503
+   ],
+   "commit": "afc19e212a6f1227b5747b42407226b8222f92c5",
+   "sha256": "04ld4sk52hm6w4bqlsfd5b1633nb7waf0cmm6rpkgidnzlwv4fxm"
+  }
+ },
+ {
   "ename": "efire",
   "commit": "4150455d424326667390f72f6edd22b274d9fa01",
   "sha256": "0dhgms6s0c889xx75khn1mqfn8i32z4rjlx2w7i0chm2abxbgd3m",
@@ -24554,8 +24723,8 @@
   "repo": "joaotavora/eglot",
   "unstable": {
    "version": [
-    20210611,
-    2249
+    20210817,
+    912
    ],
    "deps": [
     "eldoc",
@@ -24564,8 +24733,8 @@
     "project",
     "xref"
    ],
-   "commit": "5cc8df63d86a6c43134dd6e4e3ae26cfae14e66a",
-   "sha256": "0whplm1858d3mv4af6qk0jr5dk9ym1yzp4zsslrrfpyi54vy96yx"
+   "commit": "a697084d8dfe29783985f298d38863ea5d59c632",
+   "sha256": "10x0jnhdn7565nkp134jmadcdgq36436rvd5zbc8187hc9j90396"
   },
   "stable": {
    "version": [
@@ -24599,8 +24768,8 @@
     "fsharp-mode",
     "jsonrpc"
    ],
-   "commit": "93b1fbc31d73286a18640a36fc2be87d1736e0f2",
-   "sha256": "0lq1izdlrkwp5xiqjp71adi12jy0xj3fsmn6fg2sv0451bwxghra"
+   "commit": "c90d762c0692cc43032291d37b8ca3201c3d49bd",
+   "sha256": "1zavk5aykd04143jqsyygnlxn4n86qvjcg267h9kiihsr8wh108r"
   },
   "stable": {
    "version": [
@@ -24715,8 +24884,8 @@
   "repo": "millejoh/emacs-ipython-notebook",
   "unstable": {
    "version": [
-    20210522,
-    1036
+    20210809,
+    2101
    ],
    "deps": [
     "anaphora",
@@ -24727,8 +24896,8 @@
     "websocket",
     "with-editor"
    ],
-   "commit": "09af85821e4fce64675d5287fe9f3a6847d1c5d2",
-   "sha256": "12b8idh2mpd37nrc8ricr4s4hz4wgnp7cy1298qcpxl00xx99dqw"
+   "commit": "0600c286bd7b0812f4908d7df1be279b6b65923f",
+   "sha256": "0cwqngw05fg8rs6vz65wzji6h4fv2smp7xlh1xjbw03nrrz41bc2"
   },
   "stable": {
    "version": [
@@ -24753,24 +24922,6 @@
   }
  },
  {
-  "ename": "ein-mumamo",
-  "commit": "bd8fcf7f6332f94dc37697f9412c8043da8d4f76",
-  "sha256": "029sk90xz9fhv2s56f5hp0aks1d6ybz517009vv4892bbzkpjv1w",
-  "fetcher": "github",
-  "repo": "millejoh/ein-mumamo",
-  "unstable": {
-   "version": [
-    20150302,
-    28
-   ],
-   "deps": [
-    "ein"
-   ],
-   "commit": "028fefec499598add1a87b92ed991891f38f0c7b",
-   "sha256": "1w0b3giy9ca35pp2ni4afnqas64a2vriilab7jiw9anp3ryh6570"
-  }
- },
- {
   "ename": "eink-theme",
   "commit": "a1349c3f93ab60983f77c28f97048fa258b612a6",
   "sha256": "0z437cpf1b8bqyi7bv0w0dnc52q4f5g17530lwdcxjkr38s9b1zn",
@@ -24894,8 +25045,8 @@
     20210613,
     1418
    ],
-   "commit": "463f5e985fc53300f87ab7eb054d1738fc6ac93b",
-   "sha256": "122xbfag9ykvcwq549r3aglrdip1nk68abgqlzhm5mqfpqi0l8a8"
+   "commit": "ec47ecf257bf010cf1f3061e2061c26f78e61540",
+   "sha256": "0l7z9dn5gpscvpizj0pvqcn36jhjcr7s1xr4x6fg72alw2bg71dk"
   },
   "stable": {
    "version": [
@@ -25545,8 +25696,8 @@
     20210606,
     1130
    ],
-   "commit": "243add9e74003cd5718f33482b7bb8b4fe140fb5",
-   "sha256": "1lw8g9narlygqd7ypgbyvm4n12qxigzywglsjw6yjcry70p00kl3"
+   "commit": "162d7d545ed41c27967d108c04aa31f5a61c8e16",
+   "sha256": "0v49l289wiral01pvgm30wyv79h5d3ly3i05dmcw1q93g4z4l56d"
   },
   "stable": {
    "version": [
@@ -25604,14 +25755,14 @@
   "repo": "Manoj321/elfeed-dashboard",
   "unstable": {
    "version": [
-    20201218,
-    347
+    20210727,
+    603
    ],
    "deps": [
     "elfeed"
    ],
-   "commit": "9e8e212da9ea471bdc58bc0a1f5932833029bb38",
-   "sha256": "182kr8nqrnf1lpiqbl04qm6871yvk0z53dxxdjc2y9xnh6dvx460"
+   "commit": "b143f8453aed2053e8fc6f05cef6233797408546",
+   "sha256": "1yvr3fg5dx0z6h7jbv3fvn5ccw5grpcaj2ynp7zri5y388g160ql"
   }
  },
  {
@@ -25699,26 +25850,26 @@
   "repo": "sp1ff/elfeed-score",
   "unstable": {
    "version": [
-    20210605,
-    2212
+    20210805,
+    1535
    ],
    "deps": [
     "elfeed"
    ],
-   "commit": "dd4a0ceded6200fe2367a2de7b0e45d7fb5b4909",
-   "sha256": "17hf6b5db4d0cm1996z4sl00y4c8gl3rga97xxp2bmwbhdr7kaxw"
+   "commit": "53d4154c7d993ea5424535b3f0c4e9e75388e36e",
+   "sha256": "0ffv2adqnnyvwc6axxi1j32l36q35iddmcazpczh2js2hzp2gw51"
   },
   "stable": {
    "version": [
     0,
-    7,
-    9
+    8,
+    4
    ],
    "deps": [
     "elfeed"
    ],
-   "commit": "dd4a0ceded6200fe2367a2de7b0e45d7fb5b4909",
-   "sha256": "17hf6b5db4d0cm1996z4sl00y4c8gl3rga97xxp2bmwbhdr7kaxw"
+   "commit": "1842f26d7ab520acbc6f491bc8e064af67be7a6b",
+   "sha256": "1whf7nxfpb003wk9v15ib4xy1a7dfygdkg7jf3ly5z5l81607ap8"
   }
  },
  {
@@ -25736,8 +25887,8 @@
     "elfeed",
     "simple-httpd"
    ],
-   "commit": "243add9e74003cd5718f33482b7bb8b4fe140fb5",
-   "sha256": "1lw8g9narlygqd7ypgbyvm4n12qxigzywglsjw6yjcry70p00kl3"
+   "commit": "162d7d545ed41c27967d108c04aa31f5a61c8e16",
+   "sha256": "0v49l289wiral01pvgm30wyv79h5d3ly3i05dmcw1q93g4z4l56d"
   },
   "stable": {
    "version": [
@@ -26279,11 +26430,21 @@
   "repo": "jcaw/elnode",
   "unstable": {
    "version": [
-    20190608,
-    1623
+    20190702,
+    1509
    ],
-   "commit": "305c532b6e59f58c4afcfb76466dbfbdc4e58b9c",
-   "sha256": "1214216wrdhfw3lbf59vnddk28hi4g3s1ksdi5walksihd3gh7my"
+   "deps": [
+    "creole",
+    "dash",
+    "db",
+    "fakir",
+    "kv",
+    "noflet",
+    "s",
+    "web"
+   ],
+   "commit": "29ef0f51a65a24fca7fdcdb4140d2e4556e4bb29",
+   "sha256": "1bks7aakhvdab56gbsa44ca9kbilajisdd9bns485d9wr62d2lgj"
   }
  },
  {
@@ -26441,20 +26602,20 @@
   "url": "https://thelambdalab.xyz/git/elpher.git",
   "unstable": {
    "version": [
-    20210716,
-    1445
+    20210823,
+    941
    ],
-   "commit": "7e0919bd74952fb229862f1280e01817721b7fc2",
-   "sha256": "13fjp20hf4jv3325ipnjrzqvxa122sfhs44dgsr52g9mkhhc6kbm"
+   "commit": "0d65ffa3ab238529a11d5c1a5d2dea5a6c27e9b4",
+   "sha256": "1s6mh7a9r3s0b2nk019pdzzp646ny43mihjd68yq1m2yad7d6y5x"
   },
   "stable": {
    "version": [
+    3,
     2,
-    10,
     2
    ],
-   "commit": "1edbaec565d413a9c7d4c55e9356c38b2037e0f5",
-   "sha256": "0xqiisirpvw4ka9417pq4r73x937wl3qbf8cpn2i03akm8d58smd"
+   "commit": "7b52709ddf798fe53db3855eef52ca8862e7700d",
+   "sha256": "0fzqm5gpadqzsl71r1bq72ki8dw8125v4nmhdd3b4rz9jy1rqm2g"
   }
  },
  {
@@ -26793,11 +26954,11 @@
   "repo": "emacscollective/elx",
   "unstable": {
    "version": [
-    20210615,
-    1503
+    20210819,
+    2127
    ],
-   "commit": "ef6dfa8e598b2761d0a481526e98e254123a20f6",
-   "sha256": "0p7c2mnwz85klliy1af96knkdja6q9k9j11r0hfka7g4fak0qi6d"
+   "commit": "5aa6369b58e72ef2348a5d6ca6bdf32299329c58",
+   "sha256": "056hb1mss84d4m7fb052c10bfmshf00x772rlpck671n83fi14li"
   },
   "stable": {
    "version": [
@@ -26823,8 +26984,8 @@
    "deps": [
     "cl-lib"
    ],
-   "commit": "64ba2e3f3096f48928f7be06ed690069b96add22",
-   "sha256": "1cjzrckbxcl1ahhnnk78778yxsrhwb725cwjbx6i8y6jxwbddpqj"
+   "commit": "da88fa2d04e37397c519e8b1181163f06a350e2f",
+   "sha256": "02g42xccwbhgq0wf4v2sd3khyvvsvigixxjb2rdqw70h4j1k8mya"
   }
  },
  {
@@ -27031,7 +27192,7 @@
     0
    ],
    "commit": "f0add6820d250875f7d7c21aa5d813dc73dbcf96",
-   "sha256": "18bnw6yb41ki1xvkhi07v7fqx3var928majgd6613ra9nirnyqnj"
+   "sha256": "0zg52b3hl0rp9hjz04546kngssxs0l64dm01bwp9hapy7pichbci"
   }
  },
  {
@@ -27114,11 +27275,11 @@
   "repo": "oantolin/embark",
   "unstable": {
    "version": [
-    20210615,
-    1833
+    20210823,
+    1719
    ],
-   "commit": "acbe1cba548832d295449da348719f69b9685c6f",
-   "sha256": "0c1zqfrn2va2m9z6rw3i2h6dwm2vc0asbha4d9r0gss4b7519pf2"
+   "commit": "ca517fdabd182b0b905d0ef0cb380facb6697670",
+   "sha256": "1pb6rarb86x9bl064jqick3d7znl0a7ibx27yx30nivi5plrkb3j"
   },
   "stable": {
    "version": [
@@ -27137,15 +27298,15 @@
   "repo": "oantolin/embark",
   "unstable": {
    "version": [
-    20210525,
-    1515
+    20210816,
+    1819
    ],
    "deps": [
     "consult",
     "embark"
    ],
-   "commit": "acbe1cba548832d295449da348719f69b9685c6f",
-   "sha256": "0c1zqfrn2va2m9z6rw3i2h6dwm2vc0asbha4d9r0gss4b7519pf2"
+   "commit": "ca517fdabd182b0b905d0ef0cb380facb6697670",
+   "sha256": "1pb6rarb86x9bl064jqick3d7znl0a7ibx27yx30nivi5plrkb3j"
   },
   "stable": {
    "version": [
@@ -27288,11 +27449,11 @@
   "repo": "smihica/emmet-mode",
   "unstable": {
    "version": [
-    20180613,
-    341
+    20210820,
+    1124
    ],
-   "commit": "1acb821e0142136344ccf40c1e5fb664d7db2e70",
-   "sha256": "1p25h191bm0h5b3w5apg7wks51k7pb7h4dlww4jbl9ri4d33fzcl"
+   "commit": "6b2e554f7fd27f732810f4b14ea01e3c54b7b3da",
+   "sha256": "0ymd865b73m402cd4nc64n2wy0qn17aal69rc8vnc7cxyilc9v1c"
   },
   "stable": {
    "version": [
@@ -27312,29 +27473,29 @@
   "url": "https://git.savannah.gnu.org/git/emms.git",
   "unstable": {
    "version": [
-    20210619,
-    1246
+    20210825,
+    1456
    ],
    "deps": [
     "cl-lib",
     "nadvice",
     "seq"
    ],
-   "commit": "6e0aaaf4c5598826b24c3079b80bf8af000a77c6",
-   "sha256": "016y0w1gy8z1gdri54njas20l3kw99jg5bjyrmcbmgzjmb1jq0y8"
+   "commit": "b582a75d033e5a21090c854f58abeefdd238798f",
+   "sha256": "1gmgh9llriqgq8kjdffmyjw5gb9k385fbh258bf7n5yvgpd3bbsn"
   },
   "stable": {
    "version": [
     7,
-    5
+    6
    ],
    "deps": [
     "cl-lib",
     "nadvice",
     "seq"
    ],
-   "commit": "144c49ac2931b6e57e265cc6139b7c9718f1297e",
-   "sha256": "0j9qh781zr348qx49zvr59rdpmh4204fqx9sm3mfh3kg6kbc7v8x"
+   "commit": "8b32529950e5a2e1dd7afed8757ff6bc923c95e2",
+   "sha256": "0pcs95nmdbxahwsqp1fz0m8pgwsxycvf7xixh40sfjgifvbq0a21"
   }
  },
  {
@@ -27754,8 +27915,8 @@
   "repo": "rejeep/enclose.el",
   "unstable": {
    "version": [
-    20120618,
-    2019
+    20121008,
+    1614
    ],
    "commit": "2747653e84af39017f503064bc66ed1812a77259",
    "sha256": "0dz5xm05d7irh1j8iy08jk521p19cjai1kw68z2nngnyf1az7cim"
@@ -27895,7 +28056,7 @@
   "unstable": {
    "version": [
     20130407,
-    1236
+    1348
    ],
    "commit": "7fd2f48ef4ff32c8f013c634ea2dd6b1d1409f80",
    "sha256": "0v5p97dvzrk3j59yjc6iny71j3fdw9bb8737wnnzm098ff42dfmd"
@@ -27931,13 +28092,14 @@
   "stable": {
    "version": [
     0,
-    2
+    4
    ],
    "deps": [
+    "inheritenv",
     "seq"
    ],
-   "commit": "d1b991f19a4c4781e73bbc3badd368727fae942c",
-   "sha256": "0ssf9i6iym2rb530k2w5aj392qa73i6p5y0vwrs5qhkv9lagqq7p"
+   "commit": "8a9a142cf9d35e62a70d9d100a946f78fe0b066a",
+   "sha256": "0nqqx4qlw75lmbn0v927sg3xyjkk86ihw1q3rdbbn59va41grds4"
   }
  },
  {
@@ -28062,14 +28224,14 @@
   "repo": "emacscollective/epkg",
   "unstable": {
    "version": [
-    20210616,
-    2229
+    20210806,
+    1315
    ],
    "deps": [
     "closql"
    ],
-   "commit": "44b7b2519f84056ee94a6c4ce21fce146532174c",
-   "sha256": "0z9sz9ydfjzhawh4qip41h3vid1lslaf0h14hkjz9kx8fkrzib8a"
+   "commit": "23045743150f9a50ccc164a710c4d495820de803",
+   "sha256": "0v5v7iw9qyp8ckh9ana61r0fbhffbpsmhjr2yx88kc6ia59vn561"
   },
   "stable": {
    "version": [
@@ -28085,6 +28247,24 @@
   }
  },
  {
+  "ename": "epkg-marginalia",
+  "commit": "c29882cf057db2895a8ef680f9aea32f6bab1f64",
+  "sha256": "11s2giwhl21irg0h39n2p4r8f33ldc5ydmh5g49kzlqlz6cgmrrg",
+  "fetcher": "github",
+  "repo": "emacscollective/epkg-marginalia",
+  "unstable": {
+   "version": [
+    20210802,
+    1740
+   ],
+   "deps": [
+    "epkg"
+   ],
+   "commit": "0879f5b2cf87fff17dcfb74009d289d6a89c9816",
+   "sha256": "11sbf363qy3i87hppv4admqd2sy0kwpvjgih51hn3rbimbswkwab"
+  }
+ },
+ {
   "ename": "epl",
   "commit": "9c6cf24e86d8865bd2e4b405466118de1894851f",
   "sha256": "0zr3r2hn9jaxscrl83hyixznb8l5dzfr6fsac76aa8x12xgsc5hn",
@@ -28202,14 +28382,14 @@
   "repo": "emacsomancer/equake",
   "unstable": {
    "version": [
-    20200824,
-    1549
+    20210731,
+    2016
    ],
    "deps": [
     "dash"
    ],
-   "commit": "b0a5e334a7ccf69b837656c8a91c2e9e254e4c76",
-   "sha256": "1m6p148pcgcfywqzgc0v5wyf1k4knz7kwidf76qhvcff8z9fd5j5"
+   "commit": "831fcaced262a9dd650bc80241c8214d57de4cdc",
+   "sha256": "1rgkczdz4ppi0h87vbx10h574xfqn1ba09j3cswhvkxm6w1hram4"
   }
  },
  {
@@ -28333,11 +28513,11 @@
   "repo": "alexmurray/erc-matterircd",
   "unstable": {
    "version": [
-    20210701,
-    32
+    20210804,
+    504
    ],
-   "commit": "6e9698310f5df5193bccb334839bca29e4bbfe30",
-   "sha256": "0cwq1ljgb0ga1b8f8gks9c4y8rqjfawpr4l0fi0p3y674a76z33f"
+   "commit": "e3a59267c044474f9ca066d36517e9a3d872759c",
+   "sha256": "1iqyyhaz8zypgj9ij8ivqym0xry10zzyi8qf16fzg2ppxl47bc5i"
   }
  },
  {
@@ -28367,7 +28547,7 @@
     "switch-buffer-functions"
    ],
    "commit": "7539654e4a72edcc5bba07a101961e5bf0a9d449",
-   "sha256": "11zpqwh1mlfifbgnvhc63bvnhg340jgxssm3m43hr1sxsyb52lh6"
+   "sha256": "0pfnp7gw75hfhsy7jizp622s6yv61h3k2s0l2g33i801ar6abwm5"
   }
  },
  {
@@ -28699,8 +28879,8 @@
     20200914,
     644
    ],
-   "commit": "3543ef3df19228012a1ac5be766cc38fd2f65f6a",
-   "sha256": "0wlqrl8ikqc7q61i2qzmwp6h0mrv9kn5229pbsrb1ris7gxgi13b"
+   "commit": "2bab72d99ae3330cbf3a94450a647158838a1d1b",
+   "sha256": "1xb1rawj2hl12xmpn9xk2zw69wpvx2ssd3wj4k32dhgi2vcg2rck"
   },
   "stable": {
    "version": [
@@ -28723,17 +28903,17 @@
     20210315,
     1640
    ],
-   "commit": "81c6d94625a04f6550e77a068489ca6378cabfee",
-   "sha256": "1kkjyradh316xcqsh9pn4l1nvz1krn8cm3zch0vfp47dkkg54w1y"
+   "commit": "988e8112a6db6f5e16380df30f1aa52b1b233662",
+   "sha256": "0j3b9cd2hzf2i8lzi2xy39bj2q2fqgcsrsim4viknqsv6awqw04y"
   },
   "stable": {
    "version": [
     24,
     0,
-    3
+    5
    ],
-   "commit": "0a887ba078f6faadea128b51a98e928dcb0e79a4",
-   "sha256": "0hirfg5y53gj5smf2rqxiadj02ad761hgq3yqcz4j1ldnm50hlr9"
+   "commit": "a29aeb16660f2a91aaa24c474d57c6ee7754ee0a",
+   "sha256": "153kg6351yrkilr4gwg1jh7ifxpz9ar664mz7vdax9sy31q9i771"
   }
  },
  {
@@ -28944,8 +29124,8 @@
   "repo": "dakrone/es-mode",
   "unstable": {
    "version": [
-    20201112,
-    2317
+    20201125,
+    2059
    ],
    "deps": [
     "cl-lib",
@@ -29223,15 +29403,15 @@
   "repo": "xuchunyang/eshell-git-prompt",
   "unstable": {
    "version": [
-    20200109,
-    2250
+    20210817,
+    553
    ],
    "deps": [
     "cl-lib",
     "dash"
    ],
-   "commit": "48ee35774c9b8d0e2d96110e3ae84bac60f43dfd",
-   "sha256": "1w0drk4sfljshcnlvvn028v4lzqznglfx8ly0mfridsm85xws3pw"
+   "commit": "f638ba32b661d15895e767305f59f41eb01197ae",
+   "sha256": "1hn05bgznc1az4fb4grg8d9acwpmwr4bp6ibch901c79hp79qlkv"
   },
   "stable": {
    "version": [
@@ -29420,14 +29600,14 @@
   "repo": "aaronjensen/eslintd-fix",
   "unstable": {
    "version": [
-    20210513,
-    425
+    20210731,
+    1649
    ],
    "deps": [
     "dash"
    ],
-   "commit": "5488db4436fc312386fdb123289d7fc5f099702b",
-   "sha256": "1pipb0l1l3rp3jf1bcd1h3k02ckh2x8x2h9y4bn4cq8xm6bsygvy"
+   "commit": "3897d8a679a6e98e3f5054aaefe07f6b55f8f128",
+   "sha256": "0wx0mca7xykjkbyhix2mhqf2l9zc46l14hdy4krnr3xdyb5ibmkr"
   },
   "stable": {
    "version": [
@@ -29585,11 +29765,11 @@
   "repo": "emacs-ess/ESS",
   "unstable": {
    "version": [
-    20210707,
-    917
+    20210818,
+    843
    ],
-   "commit": "4fefd0feaae688e28d6a0c36c9eaa219c448903f",
-   "sha256": "0m9w0l6x67s5mx76ixgh42abblzi8jbp9xpps4flv08jhz1lkc5i"
+   "commit": "a7ce81bb768d7cc410885711cf99bad0f8941ac3",
+   "sha256": "0kz9diqb26ksrgnfqdcdgf48sqjapvfg6z1fjk9ib2q2si6nv0yx"
   },
   "stable": {
    "version": [
@@ -29815,15 +29995,15 @@
   "repo": "tali713/esxml",
   "unstable": {
    "version": [
-    20210323,
-    1102
+    20210722,
+    1345
    ],
    "deps": [
     "cl-lib",
     "kv"
    ],
-   "commit": "9f96449f6059cb75491dc812ddeb1b6200ec6740",
-   "sha256": "1xzxmgsg0j72sf1vjh9gjswz3c29js0kqhm7r3jrqrh3a5agdnml"
+   "commit": "701ccc285f3748d94c12f85636fecaa88858c178",
+   "sha256": "1ig5i3h5ldsdmxas4nvxrdbdmawgpa10kwq3mmzczp5qwp5a3vq8"
   },
   "stable": {
    "version": [
@@ -30180,15 +30360,15 @@
   "repo": "emacs-evil/evil",
   "unstable": {
    "version": [
-    20210715,
-    1839
+    20210810,
+    844
    ],
    "deps": [
     "cl-lib",
     "goto-chg"
    ],
-   "commit": "070abb16620653fb343980fb85a13c4d55e1070b",
-   "sha256": "0pcr471snnmhycvvgczs1gbil45w6lf1bdmg7w19vh2a0dq4pqi9"
+   "commit": "dceb73603d397f7e42a541976d8ec0711248d38c",
+   "sha256": "1jwah95cnlgsdqkk56d0jhshcxydz5w3x5dsxnxckipddrs3ncfm"
   },
   "stable": {
    "version": [
@@ -30332,15 +30512,15 @@
   "repo": "wbolster/emacs-evil-colemak-basics",
   "unstable": {
    "version": [
-    20200630,
-    1936
+    20210818,
+    1228
    ],
    "deps": [
     "evil",
     "evil-snipe"
    ],
-   "commit": "584f8f9496bf5250a439c9c9fee1d94f3b4883f0",
-   "sha256": "0hv8068yaiqwswzhiikrlyl53w43yqi35m9xypvq6v9dwisrqg00"
+   "commit": "db01118a76112c61b7617aa44aa8c438d8f1871f",
+   "sha256": "15ihz0wwc7gzqsmzbrr48zzh3rw3bmbf2ghnhcy13pdq42wridcv"
   },
   "stable": {
    "version": [
@@ -30382,15 +30562,15 @@
   "repo": "emacs-evil/evil-collection",
   "unstable": {
    "version": [
-    20210715,
-    1552
+    20210823,
+    2212
    ],
    "deps": [
     "annalist",
     "evil"
    ],
-   "commit": "3bd5e90accbb3a12d924bb7b4220221493675591",
-   "sha256": "1nikhz4l01zi884dwyjfsaralc1pd6y70fvd36i4qn477xinsvk4"
+   "commit": "0a836facbc1f917c863699eea3eaecc78ac81686",
+   "sha256": "0zrg4yj62vfpkffz0219ibwqi1yyadj9aaa6qlyz8z6bjg0d7vjz"
   },
   "stable": {
    "version": [
@@ -30948,26 +31128,26 @@
   "repo": "redguardtoo/evil-matchit",
   "unstable": {
    "version": [
-    20210609,
-    1311
+    20210819,
+    5
    ],
    "deps": [
     "evil"
    ],
-   "commit": "d7ad7f712b98aa64b7cc4fb16354b32666739c77",
-   "sha256": "1x7wpq0lgkp016yik6sc7b2abhixgcwk0mxx29dyycsjjkdlhp3a"
+   "commit": "24a95751f48fb64246de15278734e0179c9f622f",
+   "sha256": "0gdfnpzzy6y9626nqia7rs5l37bl31nndn1m71dnm0qns5cqfngk"
   },
   "stable": {
    "version": [
     2,
     3,
-    12
+    13
    ],
    "deps": [
     "evil"
    ],
-   "commit": "9cd0ddaacb3476221d37344715c759ed3cb538d7",
-   "sha256": "0l4ash907d91vccqdxjz1v5spd8f4va0vrdri6h9y1qc67mjlsph"
+   "commit": "80dc731ab736545541546ca64187e850bf0e39c8",
+   "sha256": "1j1p4z6ps58nbsh55l9h30gxbkrzwzkjpq7zl50q6yfc84z7byzk"
   }
  },
  {
@@ -30978,15 +31158,15 @@
   "repo": "gabesoft/evil-mc",
   "unstable": {
    "version": [
-    20210206,
-    1941
+    20210730,
+    1752
    ],
    "deps": [
     "cl-lib",
     "evil"
    ],
-   "commit": "f04fb17f35f2722f2ac93c862b4450bb8e5b739a",
-   "sha256": "1d7mdqw4bx6p8y3c843n40g21099pmvras3bf9il5nhg4i3b12z8"
+   "commit": "246aecc17481dd23c172a9b845f02a9d9e322c7f",
+   "sha256": "0d3d72q908rdnd4g03aakraij2himw6q4qqrf9wsr3c846q3bvrn"
   },
   "stable": {
    "version": [
@@ -31083,20 +31263,20 @@
   "repo": "redguardtoo/evil-nerd-commenter",
   "unstable": {
    "version": [
-    20210624,
-    1122
+    20210719,
+    1305
    ],
-   "commit": "118bebd02a489ddf5eee3ab6fb55b3ef37ebe6d4",
-   "sha256": "15phgj1x2k7i6wnhq3lbrjldrc7xr18z4sgsmklwwgr4blx9ql1s"
+   "commit": "6bc41317ba4b8710d713a62e1b78047c3cc2d2d5",
+   "sha256": "14s2zrl2rpnqpfp647naa80qzb2x4c6jflvs1nhxsvn43s0gdfj9"
   },
   "stable": {
    "version": [
     3,
     5,
-    4
+    5
    ],
-   "commit": "b8ac35fe019df5602c31912f65303a3d8ad0066c",
-   "sha256": "1vyl8lidhjph7k86n8q09mwqpasaxsmwb8vi5i2gcd6klds9hg0d"
+   "commit": "8b0d9654ecf8f3f1d88db6be8238aaf76afa8a94",
+   "sha256": "1qrlg4cxlsd4cf1z8j2662pfb9p6pnqpsyb74flja9cqv6g5ylp8"
   }
  },
  {
@@ -31122,14 +31302,14 @@
   "repo": "juliapath/evil-numbers",
   "unstable": {
    "version": [
-    20210605,
-    431
+    20210808,
+    1424
    ],
    "deps": [
     "evil"
    ],
-   "commit": "cd23a7b458d73dc49434a3cf90d3d0caceb5811d",
-   "sha256": "1naxciaq1ci1ajs4if45wjy5qf8bgkxazyvl1kywrj299wi2qdv9"
+   "commit": "8ce0066fa4889c9a43db5917d116baa9497837b7",
+   "sha256": "04dls5fmr4a8b8j3802nm0cf4rngr01bgpsa25rgdq1cdv9x9zb6"
   },
   "stable": {
    "version": [
@@ -31708,8 +31888,8 @@
    "deps": [
     "evil"
    ],
-   "commit": "070abb16620653fb343980fb85a13c4d55e1070b",
-   "sha256": "0pcr471snnmhycvvgczs1gbil45w6lf1bdmg7w19vh2a0dq4pqi9"
+   "commit": "dceb73603d397f7e42a541976d8ec0711248d38c",
+   "sha256": "1jwah95cnlgsdqkk56d0jhshcxydz5w3x5dsxnxckipddrs3ncfm"
   },
   "stable": {
    "version": [
@@ -31732,15 +31912,15 @@
   "repo": "iyefrat/evil-tex",
   "unstable": {
    "version": [
-    20210510,
-    1809
+    20210731,
+    927
    ],
    "deps": [
     "auctex",
     "evil"
    ],
-   "commit": "87445d4d2339436179e792609bfbff0eaf056a9c",
-   "sha256": "014bwsnry6v07n9cv194gsiwny0jp6rxs5gl4dhqfwq9hbj74p84"
+   "commit": "aa0ddf8e768a24cda6d50d07f04c8e7813a2dccd",
+   "sha256": "1n4xg1c2ia1k6vf3rybzx6afsdq47i8jf57x94fkwfm9wvnf9g4r"
   },
   "stable": {
    "version": [
@@ -31893,6 +32073,25 @@
   }
  },
  {
+  "ename": "evil-textobj-treesitter",
+  "commit": "949eb5d82e26e37685c3155b22b329e387f0fd59",
+  "sha256": "1mxx6fcj7k1k9gnjgcs316x92jdicsrx6l584vkzx09h7fz2p4da",
+  "fetcher": "github",
+  "repo": "meain/evil-textobj-treesitter",
+  "unstable": {
+   "version": [
+    20210816,
+    355
+   ],
+   "deps": [
+    "evil",
+    "tree-sitter"
+   ],
+   "commit": "461195b882b2179a0e6f8efcd37835ab2a0ed5e2",
+   "sha256": "1yndxnxx842mhfjqs39i5wz1khm1sha2dr1nhzhi60mz4ywyqyl3"
+  }
+ },
+ {
   "ename": "evil-traces",
   "commit": "29f1f13a99b065f4510f6967d0cfce37eaa59178",
   "sha256": "1h8mi0qa5aaahhlkaf91ynsddj5fm11yimkqj14xmjyig1m98yyd",
@@ -32770,21 +32969,21 @@
  },
  {
   "ename": "ez-query-replace",
-  "commit": "c40808c7687ace84e4c59bf8c25332c94b6fdd76",
-  "sha256": "1h9ijr1qagwp9vvikh7ajby0dqgfypjgc45s7d93zb9jrg2n5cgx",
+  "commit": "170b95e0c183368a5074440c1ac22abf746392f9",
+  "sha256": "1nlik4qq0slbksmxcpc2xmpzj1mw6yrlpmqagvik97vixmm5lny4",
   "fetcher": "github",
-  "repo": "Wilfred/ez-query-replace.el",
+  "repo": "Wilfred/ez-query-replace",
   "unstable": {
    "version": [
-    20210525,
-    2222
+    20210724,
+    2247
    ],
    "deps": [
     "dash",
     "s"
    ],
-   "commit": "3202cf4644ed3b6549284c3816b90bb230970a5b",
-   "sha256": "1xsvwf7g7c3v4p59svmahhn9pkr6zgp6vyr6dyvfy24mgaqw4jzv"
+   "commit": "2b68472f4007a73908c3b242e83ac5a7587967ff",
+   "sha256": "0zdgdqd9zi9fz6rn2z24jmpr83rzwbgxq0q38ynmskkd7n42a8ds"
   },
   "stable": {
    "version": [
@@ -32931,14 +33130,11 @@
   "url": "https://git.sr.ht/~pkal/face-shift",
   "unstable": {
    "version": [
-    20210707,
-    1127
-   ],
-   "deps": [
-    "cl-lib"
+    20210725,
+    2146
    ],
-   "commit": "0170ab2993211eb0f514f7d1ce14e8194a11f6b2",
-   "sha256": "0zj9h3nmswpc7q02a76rrzw3ypjwn1lwq5mkm6s28q0xrdpmrgq3"
+   "commit": "14dce79fc42116c49eb4c8a4ab7ca3c4bd7cbf6f",
+   "sha256": "0k10dskv9fzs1y05h7mq0z798kpwgkwwhh9dd9d7hdk70vkvlg66"
   },
   "stable": {
    "version": [
@@ -33084,14 +33280,14 @@
   "repo": "jrosdahl/fancy-dabbrev",
   "unstable": {
    "version": [
-    20200129,
-    1933
+    20210823,
+    1838
    ],
    "deps": [
     "popup"
    ],
-   "commit": "158e1e54055cafe5da9122a59519e8b3ed1057cf",
-   "sha256": "06616lzvv6vdc2i37gy47zw3rb4yjml83vn5py2k30ck8gl4fhs2"
+   "commit": "f3b05ad56688f2ca13db053e090a1273cf2deed0",
+   "sha256": "1hj15wi9jxwjamz345jssx9gd4m9cbdisvmq7mg5vhk89k4h0mvd"
   }
  },
  {
@@ -33142,6 +33338,24 @@
   }
  },
  {
+  "ename": "fanyi",
+  "commit": "f3cb0a07efb7a279f3e7a5d3ba5e6eed8daf88d2",
+  "sha256": "1yzqasw5wdnshd6s4w6rg5xk6rbd99ryqqj9vzxsnv71s59y5wyy",
+  "fetcher": "github",
+  "repo": "condy0919/fanyi.el",
+  "unstable": {
+   "version": [
+    20210820,
+    423
+   ],
+   "deps": [
+    "s"
+   ],
+   "commit": "5f4fd0dbee514bada012ab3ecc9c767b8910828e",
+   "sha256": "1lzmhn0bn6qjyq441bp39gq4wd1xvrcygzrfm6v6srywb6s34dm1"
+  }
+ },
+ {
   "ename": "farmhouse-theme",
   "commit": "3b0d427db8ab66d2fe323366b0837595b3b59afa",
   "sha256": "0hbqdrw6x25b331qhbg3yaaa45c2b896wknsjm0a1kg142klq229",
@@ -33356,11 +33570,11 @@
   "repo": "yqrashawn/fd-dired",
   "unstable": {
    "version": [
-    20210605,
-    1057
+    20210723,
+    549
    ],
-   "commit": "c223aee30af7dc7f52fb20045226ed9f49f4ec49",
-   "sha256": "14dzn3ggq8vb6qb5babngrpgsb29k6y8ficgzwwd9wfd5npynrpa"
+   "commit": "458464771bb220b6eb87ccfd4c985c436e57dc7e",
+   "sha256": "0253r4fbi9b8vk5akp1wz0krvik500jhy1hclwp1p0bwrq2irlml"
   },
   "stable": {
    "version": [
@@ -33478,11 +33692,11 @@
   "repo": "technomancy/fennel-mode",
   "unstable": {
    "version": [
-    20210713,
-    2129
+    20210817,
+    1612
    ],
-   "commit": "0f83112e70c1cd13a8b98e9e75b2291fcdf3d57f",
-   "sha256": "1n1f9bn8447aq3666q9lj7idzj9nwkmknfzybk3is98m03cjki3z"
+   "commit": "47152970a98734723b5086b5c774f50da34c0488",
+   "sha256": "1p9fi5rrqlcx9gg5gljdndmi318x0z5zzxryi1kbqkkc8119kbsg"
   },
   "stable": {
    "version": [
@@ -33491,7 +33705,7 @@
     0
    ],
    "commit": "ea8564a2cc4f7e10b3fc13faf26a4f098b159f00",
-   "sha256": "1qnmcysrl2zxiid4v1h1hq1nax3a7sxs2dmag54sfifm149lf7f3"
+   "sha256": "03z3f60qsn6k9wg1km49ad4xlwp82114r5pzibnxly2n0vmmdsyb"
   }
  },
  {
@@ -33819,20 +34033,20 @@
   "repo": "redguardtoo/find-file-in-project",
   "unstable": {
    "version": [
-    20210427,
-    1205
+    20210813,
+    657
    ],
-   "commit": "680ec93808176442a2c78b91b18bb4256d81d340",
-   "sha256": "1af30i3nsms1s2gwq3wx0xbmjxd95hipai63icw3jpwc3pmw3g2n"
+   "commit": "f26f081f835165bfb05e247afbfbcbddf53236a5",
+   "sha256": "13vsmi02v1rv5h2m62s36dw21781nxsj9dj4hlaxfz2v5avmp00c"
   },
   "stable": {
    "version": [
     6,
-    0,
-    7
+    1,
+    1
    ],
-   "commit": "2f44af320b4e62053c5b6b523f69a8f16eaaa1c9",
-   "sha256": "1qkfijqr839y605ssyalr2v9n6b86hr64mxikc96lx6nzdyjyyl0"
+   "commit": "f26f081f835165bfb05e247afbfbcbddf53236a5",
+   "sha256": "13vsmi02v1rv5h2m62s36dw21781nxsj9dj4hlaxfz2v5avmp00c"
   }
  },
  {
@@ -34158,7 +34372,7 @@
     4
    ],
    "commit": "ba63f0591c3be1644ee7ee972430c74b5d346579",
-   "sha256": "014vbzxz1jmm83a5mg4zsyxm8nw96n8s2l7h3myhrn880d9xnqgg"
+   "sha256": "1yjfvb2vn5pmrq5fw4sfx1lfkbnkwlc160izpvkrf9ww9xsas6al"
   }
  },
  {
@@ -34172,8 +34386,8 @@
     20210320,
     1244
    ],
-   "commit": "10b3aebc3d4411e6889f3428e8f097c0fbf8585c",
-   "sha256": "0c850rc9nnbvwf1sbp66xk6p246ylrfpqqhh6bcl7lm8b8v0kfzh"
+   "commit": "b611a8b269d28d226ed1e78fcc7a3120df20f74c",
+   "sha256": "0w2h538ljsccnw3a66dz1wpq2jxlq8mdgal2qlzx1dw7kdnxhx9n"
   },
   "stable": {
    "version": [
@@ -34222,8 +34436,8 @@
    "deps": [
     "cl-lib"
    ],
-   "commit": "80cf4529915c34d2d39b4d3410781a19ef264e9f",
-   "sha256": "193bwcsj42w07aj8k32zl895yp0kw4rgrphn10dd81jv5411r6ij"
+   "commit": "e967dd4ac98d777deeede8b497d6337634c06df4",
+   "sha256": "1hs51fb5m9asrzalkyldwlcnw7w6rhdwsspn846yc8s2yprphjz0"
   },
   "stable": {
    "version": [
@@ -34815,8 +35029,8 @@
   "repo": "flycheck/flycheck",
   "unstable": {
    "version": [
-    20210708,
-    1337
+    20210825,
+    1804
    ],
    "deps": [
     "dash",
@@ -34824,8 +35038,8 @@
     "pkg-info",
     "seq"
    ],
-   "commit": "21d52264aa80bfa4ede94c59e37a20fb6d033b0c",
-   "sha256": "1k2fqiy0aw30za8d8bhia996ab168j61m8h1s9zi7d5y32q1csnh"
+   "commit": "784f184cdd9f9cb4e3dbb997c09d93e954142842",
+   "sha256": "137zsivwh3i4b757hzwf5mhv5sg8j2jg7kg0cjphplwasqk70qm7"
   },
   "stable": {
    "version": [
@@ -35013,7 +35227,7 @@
     "flycheck"
    ],
    "commit": "b4ffad5cabea7e858c66dc824d545653b1cdcb70",
-   "sha256": "1la7qhczg9bgs1klinwj21mjywsg1nm3sxd5cyc09bxjzbflzzz6"
+   "sha256": "0ggq4q2c1xi26m4rlvjm8f51wlj7h351pp6m20k6l25856858vhi"
   }
  },
  {
@@ -35030,8 +35244,8 @@
    "deps": [
     "flycheck"
    ],
-   "commit": "2e386775f1a0eb5d80e5d70e98474ee32ecafb24",
-   "sha256": "1ai4p0s6wh4sp972fxkjlc4mn6ai1zc27zh4vm63rfrayri1g31z"
+   "commit": "53598158fa8b74d2e7efea6210edb274e1f0273c",
+   "sha256": "1gad7i7mw8yh3cg6d5gn1d5jbsnc73v7rcw2sjvif566x8k7n18z"
   },
   "stable": {
    "version": [
@@ -35789,8 +36003,8 @@
    "deps": [
     "flycheck"
    ],
-   "commit": "061ce63d217b7cd165c487d81331843dea5bc11c",
-   "sha256": "088g4vi01xanjm5dyzlw483h8w3dyijjccla37zfa55cg0nksdd3"
+   "commit": "59b37e09923290da1c8458e507da43f403f555d2",
+   "sha256": "1l0rq2g9dn90xr75cjz64cyai90m5cayr2b2fdrkkrz70g00pqlr"
   },
   "stable": {
    "version": [
@@ -35812,15 +36026,16 @@
   "repo": "emacs-grammarly/flycheck-grammarly",
   "unstable": {
    "version": [
-    20210405,
-    1319
+    20210814,
+    1627
    ],
    "deps": [
     "flycheck",
-    "grammarly"
+    "grammarly",
+    "s"
    ],
-   "commit": "abab9e6fadccd6e239f3f7efd91b155c9d5cd716",
-   "sha256": "1y6v3d4xnlfqcvl5hc4b0y6san1mnf2mx6hcvlbxdphhf12hp560"
+   "commit": "c4b3c5b4889ee719b6dd0800305f9be869cfd7ec",
+   "sha256": "0sb8fvkzhc1f1p28mmplj2ld97v8lkpwz4frf62hn3jg21fzj7pk"
   },
   "stable": {
    "version": [
@@ -36052,7 +36267,7 @@
     "flycheck"
    ],
    "commit": "54744a78d06373404933fedc3ca836916e83de51",
-   "sha256": "1zdvan6l2s97s7swnccq21z1ja8vl64l757j3hg50ipq8j5yy9dl"
+   "sha256": "1vvsswadiks9mpb49vz2q8z69wq0jalsvgalhn10k3pyz7p0abnd"
   }
  },
  {
@@ -36361,8 +36576,8 @@
    "deps": [
     "flycheck"
    ],
-   "commit": "2f5f7502c1e422c1df5b347b8142d67d5cd5caa7",
-   "sha256": "11bhblr96s8a19sb7lnzrwgihqjcwdnajxr6kiplgqd0wsh2h07v"
+   "commit": "67d6216229337c9c020a8aecd6ae2417de29b5e8",
+   "sha256": "1hmh7pzv55c53n46ajvqc1r3sfkz60pa1iz7nms3fc97m7rnc1j8"
   },
   "stable": {
    "version": [
@@ -36929,14 +37144,14 @@
   "repo": "Raku/flycheck-raku",
   "unstable": {
    "version": [
-    20210316,
-    820
+    20210814,
+    903
    ],
    "deps": [
     "flycheck"
    ],
-   "commit": "4163c0dcc1447bc98bb20b835eb23cb68a638ba9",
-   "sha256": "0z19zz5dq0pjkzrjg2fbrh9szlgd0lq2j9wmkf4pzkrcb519kchn"
+   "commit": "50ac228e658a7f86efc298ee3ebd0b9706f083d0",
+   "sha256": "18wyd7w26wkdpvr76rhblh368dqly7dldkcd71ddjkdi10zas493"
   }
  },
  {
@@ -36985,8 +37200,8 @@
     "flycheck",
     "rtags"
    ],
-   "commit": "65113e2a137baa9f85dc2157b893291470788dc4",
-   "sha256": "1qc4hy6r2sz59nb28xrrqiad91xbmsrr9jzhi4k915qgds6m029h"
+   "commit": "3a057f127b931c683288f8731f05ba5e2aab4133",
+   "sha256": "1brf05grh0xdcjllaiixpjxmcg2j130gcrxkqm5v4ryb1w9fki7g"
   },
   "stable": {
    "version": [
@@ -37737,14 +37952,15 @@
   "repo": "emacs-grammarly/flymake-grammarly",
   "unstable": {
    "version": [
-    20210403,
-    1349
+    20210814,
+    1628
    ],
    "deps": [
-    "grammarly"
+    "grammarly",
+    "s"
    ],
-   "commit": "06ba82495614f1dfaffb8894f57789156586448c",
-   "sha256": "1lc3nv7km5m19l673agh9rxv9afllf7sz4sv0brgp1sbmks1il3b"
+   "commit": "28888bc8d1c795e1b2d798fb5c6cdcc16571c73e",
+   "sha256": "0vm10sx3w3y110s0qkdiabqnf5fvfjixgnq456rbh8v30y1wgrkc"
   },
   "stable": {
    "version": [
@@ -37945,14 +38161,11 @@
   "repo": "turbo-cafe/flymake-kondor",
   "unstable": {
    "version": [
-    20200925,
-    1539
-   ],
-   "deps": [
-    "flymake-quickdef"
+    20210814,
+    1303
    ],
-   "commit": "72052b5ba827faf357608cf720a70221192a8282",
-   "sha256": "0h8dqk35r10pxx2w4swb3kij4y2vi17j9wfk978x8lf0wd3h3hsy"
+   "commit": "0058ef5167142a521825e824aced6229e4898ae9",
+   "sha256": "09f2xn309gyn0nrsf9hcpwprjyliiqlli3ll406gibgs5nh88hds"
   },
   "stable": {
    "version": [
@@ -38224,21 +38437,6 @@
   }
  },
  {
-  "ename": "flymake-proselint",
-  "commit": "481c3e415dd731b06747f8b2ee86ccc2536cfca2",
-  "sha256": "115x8syar7f3crw2pfdcmv60q92i9d270dxw0m251w3906rqhdj2",
-  "fetcher": "github",
-  "repo": "manuel-uberti/flymake-proselint",
-  "unstable": {
-   "version": [
-    20210621,
-    929
-   ],
-   "commit": "adf1ce7daf1380cb50f365a36548165fe4a32423",
-   "sha256": "1mmwq4b4idhbsygwjmn3fj67idixx4gaap9zfa0v4didahjsjsjh"
-  }
- },
- {
   "ename": "flymake-puppet",
   "commit": "302dbe34e7949da9c65e9c7bf2ab924db91b968f",
   "sha256": "1izq6s33p74dy4wzfnjii8wjs723bm5ggl0w6hkvzgbmyjc01hxv",
@@ -38536,11 +38734,11 @@
   "repo": "d12frosted/flyspell-correct",
   "unstable": {
    "version": [
-    20210124,
-    1143
+    20210724,
+    1042
    ],
-   "commit": "404233604439117301562deadc952fe82cb02120",
-   "sha256": "131yv9524yl7bwn9pd86pfjwjphv66lakfa9d293m4pq9mmg87s6"
+   "commit": "00357953a736e21d0a1c8d76f5605820990544fe",
+   "sha256": "1jf1jd0y6pn61czgsb9bccj3zxwjyglv0cgvyjjkadk1biaz0chj"
   },
   "stable": {
    "version": [
@@ -38567,8 +38765,8 @@
     "avy-menu",
     "flyspell-correct"
    ],
-   "commit": "404233604439117301562deadc952fe82cb02120",
-   "sha256": "131yv9524yl7bwn9pd86pfjwjphv66lakfa9d293m4pq9mmg87s6"
+   "commit": "00357953a736e21d0a1c8d76f5605820990544fe",
+   "sha256": "1jf1jd0y6pn61czgsb9bccj3zxwjyglv0cgvyjjkadk1biaz0chj"
   },
   "stable": {
    "version": [
@@ -38599,8 +38797,8 @@
     "flyspell-correct",
     "helm"
    ],
-   "commit": "404233604439117301562deadc952fe82cb02120",
-   "sha256": "131yv9524yl7bwn9pd86pfjwjphv66lakfa9d293m4pq9mmg87s6"
+   "commit": "00357953a736e21d0a1c8d76f5605820990544fe",
+   "sha256": "1jf1jd0y6pn61czgsb9bccj3zxwjyglv0cgvyjjkadk1biaz0chj"
   },
   "stable": {
    "version": [
@@ -38631,8 +38829,8 @@
     "flyspell-correct",
     "ivy"
    ],
-   "commit": "404233604439117301562deadc952fe82cb02120",
-   "sha256": "131yv9524yl7bwn9pd86pfjwjphv66lakfa9d293m4pq9mmg87s6"
+   "commit": "00357953a736e21d0a1c8d76f5605820990544fe",
+   "sha256": "1jf1jd0y6pn61czgsb9bccj3zxwjyglv0cgvyjjkadk1biaz0chj"
   },
   "stable": {
    "version": [
@@ -38663,8 +38861,8 @@
     "flyspell-correct",
     "popup"
    ],
-   "commit": "404233604439117301562deadc952fe82cb02120",
-   "sha256": "131yv9524yl7bwn9pd86pfjwjphv66lakfa9d293m4pq9mmg87s6"
+   "commit": "00357953a736e21d0a1c8d76f5605820990544fe",
+   "sha256": "1jf1jd0y6pn61czgsb9bccj3zxwjyglv0cgvyjjkadk1biaz0chj"
   },
   "stable": {
    "version": [
@@ -39136,8 +39334,8 @@
   "repo": "magit/forge",
   "unstable": {
    "version": [
-    20210716,
-    1447
+    20210822,
+    840
    ],
    "deps": [
     "closql",
@@ -39150,8 +39348,8 @@
     "transient",
     "yaml"
    ],
-   "commit": "49da45ac4515d7442ebd606f4ad4922a3e1439ff",
-   "sha256": "1vqhxckmkfbkvpnsigdb1625b5n0fpry2hxkympqnxspcccnijks"
+   "commit": "a3e6f8aab16a8213cd389fe79d8c02300d26cab7",
+   "sha256": "0n6p63kfibpz4161wb2f6516ncv3h9algxlgdgrd5lsnn0ympr26"
   },
   "stable": {
    "version": [
@@ -39205,28 +39403,28 @@
   "repo": "lassik/emacs-format-all-the-code",
   "unstable": {
    "version": [
-    20210708,
-    1728
+    20210824,
+    1659
    ],
    "deps": [
     "inheritenv",
     "language-id"
    ],
-   "commit": "d60a763eaf716d17bf6b8dbff1cc8f54337bfeab",
-   "sha256": "12gvyr73ab6x4p5iadxdi61d3hwwfbxd9wm6vkja92glyqs2vvbf"
+   "commit": "06d4d9ee6dd79941d26798cc9754b9c9be87e932",
+   "sha256": "1bcqj4v5zrqs1ysvvnvar422c3xh1n5yvl1mg7rfwybd0l5pzc80"
   },
   "stable": {
    "version": [
     0,
-    4,
+    5,
     0
    ],
    "deps": [
     "inheritenv",
     "language-id"
    ],
-   "commit": "caa0269ce89789a702823041ca7b309ddaffb5ce",
-   "sha256": "1y5a704xbnvb46rp1ra9cjjazzs795hvh3p0di2hr5jsql0a0zwa"
+   "commit": "b18ed67a81b4d81d77f3bd7cf6e004e4e412b630",
+   "sha256": "1qy4qdvxsagzp8pav2jx29bz37xiwvm5lbwyfp8jlg59715z4cxq"
   }
  },
  {
@@ -39350,26 +39548,26 @@
   "repo": "rnkn/fountain-mode",
   "unstable": {
    "version": [
-    20210611,
-    1228
+    20210807,
+    106
    ],
    "deps": [
     "seq"
    ],
-   "commit": "ede8a254fe1bfb125b52ea71252b863cf80eee18",
-   "sha256": "0s2qlnx5lq5ni53r0i4fja6qfxxbg6apq5madgkiyz5d1bay551g"
+   "commit": "7de7159a58e0594c0120d66af78f65264f61ea5f",
+   "sha256": "0y7dd6qq4b95scj7fay4zzhkf0g0x89npylc4v1hz59b1yyylfqy"
   },
   "stable": {
    "version": [
     3,
     5,
-    0
+    1
    ],
    "deps": [
     "seq"
    ],
-   "commit": "91f4ad083fa620e6e6202460decc3280bd8e4e71",
-   "sha256": "0xlg5b0sa4qbv68sza23fr5khv36860jbhzfbcqcw1d420xllryx"
+   "commit": "7de7159a58e0594c0120d66af78f65264f61ea5f",
+   "sha256": "0y7dd6qq4b95scj7fay4zzhkf0g0x89npylc4v1hz59b1yyylfqy"
   }
  },
  {
@@ -39511,20 +39709,20 @@
   "repo": "tarsius/frameshot",
   "unstable": {
    "version": [
-    20200103,
-    1238
+    20210819,
+    2123
    ],
-   "commit": "1b5974f0cc7c2a34e5f9fab6b25578dad7df3dbf",
-   "sha256": "1rcx0la0njg3ij0xgw7l1wl8nlvdd0bj40v51wvmdybyiba7cdx6"
+   "commit": "029df561ef6572b1ab034490ac48d909d037ac1d",
+   "sha256": "1b6frjhv4gkix0yj6ibvjgaf4y2b94xq0x4y021v086sp5ifsh3g"
   },
   "stable": {
    "version": [
     0,
     2,
-    4
+    5
    ],
-   "commit": "1b5974f0cc7c2a34e5f9fab6b25578dad7df3dbf",
-   "sha256": "1rcx0la0njg3ij0xgw7l1wl8nlvdd0bj40v51wvmdybyiba7cdx6"
+   "commit": "029df561ef6572b1ab034490ac48d909d037ac1d",
+   "sha256": "1b6frjhv4gkix0yj6ibvjgaf4y2b94xq0x4y021v086sp5ifsh3g"
   }
  },
  {
@@ -39637,11 +39835,11 @@
   "repo": "rnkn/freeze-it",
   "unstable": {
    "version": [
-    20210201,
-    731
+    20210727,
+    1535
    ],
-   "commit": "d5dc811fc892d78e042394bb4a1342dea2480b5c",
-   "sha256": "0n1w3rycc5cpqvhw6d1dzkwjdy1xx7bps7d994l4hcpdfx5c25lx"
+   "commit": "151d264a0d0593b413b5a984b391023e905a190b",
+   "sha256": "04cv6p9df7h6w9h2ina3y3mmkp0y1rs6d9wmzari0cbm7q50hz4l"
   },
   "stable": {
    "version": [
@@ -39833,16 +40031,16 @@
   "repo": "waymondo/frog-jump-buffer",
   "unstable": {
    "version": [
-    20210308,
-    2316
+    20210809,
+    1702
    ],
    "deps": [
     "avy",
     "dash",
     "frog-menu"
    ],
-   "commit": "3481626cccea8e77e4eee79b05f99c9171559f7b",
-   "sha256": "1v7p3ln8jw3qm2ka0jl55wq9smal5k31rzsina9i8c5mcslml1l2"
+   "commit": "bed6c483445017698a1ec27fc61edeffefc004b2",
+   "sha256": "0yriw08f9crl2basr1a06m73kln8qk1w0n1ljcr4zr6j7ya1fcdf"
   }
  },
  {
@@ -39901,14 +40099,14 @@
   "repo": "fsharp/emacs-fsharp-mode",
   "unstable": {
    "version": [
-    20210331,
-    1931
+    20210807,
+    1417
    ],
    "deps": [
     "s"
    ],
-   "commit": "93b1fbc31d73286a18640a36fc2be87d1736e0f2",
-   "sha256": "0lq1izdlrkwp5xiqjp71adi12jy0xj3fsmn6fg2sv0451bwxghra"
+   "commit": "c90d762c0692cc43032291d37b8ca3201c3d49bd",
+   "sha256": "1zavk5aykd04143jqsyygnlxn4n86qvjcg267h9kiihsr8wh108r"
   },
   "stable": {
    "version": [
@@ -39974,8 +40172,8 @@
    "deps": [
     "cl-lib"
    ],
-   "commit": "5b1c814d84714b0c94c5a7b4aeb3f44d2a4d5998",
-   "sha256": "1sw7abwli4hjwbyqmkc8vfg4sgil59gkygvk3f4p6gdihnfqynwp"
+   "commit": "7b451bb813d242dbc0cd6c29d071e0b320f2200e",
+   "sha256": "0wvbjc40f3bph7vhkixnrqa7k18f5jl81zdvdrr3fplkqnm3vxwj"
   },
   "stable": {
    "version": [
@@ -40128,14 +40326,14 @@
   "repo": "diku-dk/futhark-mode",
   "unstable": {
    "version": [
-    20200823,
-    1521
+    20210803,
+    1401
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "88e7bb1eefbe01f781cc4958bc0431fea90b7d93",
-   "sha256": "1srb3a7p0zgsjgbrdsyx7ql68ygg9h8y93781v4zjmzq4z9qfl8x"
+   "commit": "17f048c76bd1dc7f5893b04a14db2b850471f399",
+   "sha256": "0a8gdr0qh985jai75zqb81yjws6lxlfm811wxk939fsglafbxmxx"
   }
  },
  {
@@ -40574,19 +40772,19 @@
   "repo": "emacs-geiser/geiser",
   "unstable": {
    "version": [
-    20210428,
-    1942
+    20210808,
+    16
    ],
-   "commit": "4099dce8f5f17cce8f292cdf0bc1bf2e5cb6975c",
-   "sha256": "0s02443pxi49c8hmkk3g489ngb5bl95inraq3jabb6dh7gyxgkag"
+   "commit": "77d4c3a91c0acdb16cefa8a3e0efac3435aebdc0",
+   "sha256": "07g1zlf9kmfish2wa6m376xba0nv6n4spw8wbmr90a56xj0qpswc"
   },
   "stable": {
    "version": [
     0,
-    16
+    17
    ],
-   "commit": "803dfeb9414ed7b99c5d567170f32c97cafa1114",
-   "sha256": "16jqni4s2yxszhkbb83fkgflygbxzx01cmq2qq40p4ihbvwm0gb0"
+   "commit": "77d4c3a91c0acdb16cefa8a3e0efac3435aebdc0",
+   "sha256": "07g1zlf9kmfish2wa6m376xba0nv6n4spw8wbmr90a56xj0qpswc"
   }
  },
  {
@@ -40713,8 +40911,8 @@
   "repo": "emacs-geiser/gauche",
   "unstable": {
    "version": [
-    20200801,
-    2337
+    20200802,
+    1300
    ],
    "deps": [
     "geiser"
@@ -40873,7 +41071,7 @@
     "geiser"
    ],
    "commit": "0e3a0570354c03c0cfa25da82fb34ad2e81c1981",
-   "sha256": "1g31cibl88g1vjfvw4z80ywxpnxy5lijhs754qdcnx36maragh07"
+   "sha256": "1dyzpr9i5pxi2p2hg3ndryh7x4y0r9bra88pd1l904vdfsxdxv5z"
   }
  },
  {
@@ -41301,15 +41499,15 @@
   "repo": "magit/ghub",
   "unstable": {
    "version": [
-    20210619,
-    1405
+    20210727,
+    1414
    ],
    "deps": [
     "let-alist",
     "treepy"
    ],
-   "commit": "865424d4faf66048bfb3752856ac0cf68e1c6efe",
-   "sha256": "0kqjxwkm3n6r9zg6pi015g9ix4pyz7b2rngcmmrindcjb5h292a4"
+   "commit": "00a77b79c28e22db1b151c3f7857073ccbeff726",
+   "sha256": "0qrp2n53fhvwr5ndnmfzh841g88hzmcgz3i54hbcqq1gj6vwqd7f"
   },
   "stable": {
    "version": [
@@ -41367,8 +41565,8 @@
     20210401,
     656
    ],
-   "commit": "8ab9c88a2b8cccd3c092e155f84b1b19930d0719",
-   "sha256": "1jiglrlhrph57p5kkm1qlqihwl6z7h9qh16qmmd5783ynksnbxp3"
+   "commit": "5517a557a17d8016c9e26b0acb74197550f829b9",
+   "sha256": "0n0gd4k1c1s8xj7p1yg7irnkaxw9f91jmjp5www5hrwhi3mbmpb8"
   },
   "stable": {
    "version": [
@@ -41376,7 +41574,7 @@
     2
    ],
    "commit": "fa81e915c256271fa10b807a2935d5eaa4700dff",
-   "sha256": "1yf6yipvhhna29mzaan5vb3d5qvbrkp2awr5diyf381mvxgk8akh"
+   "sha256": "1jiglrlhrph57p5kkm1qlqihwl6z7h9qh16qmmd5783ynksnbxp3"
   }
  },
  {
@@ -41661,27 +41859,27 @@
  },
  {
   "ename": "git-commit",
-  "commit": "cec5af50ae7634cc566adfbfdf0f95c3e2951c0c",
-  "sha256": "1i7122fydqga68cilgzir80xfq77hnrw75zrvn52mjymfli6aza2",
+  "commit": "2571aed58ce9c4df998588cbcffdde704f4dce54",
+  "sha256": "171spbjdgnphv1d108y2ivf09yaqfpg61sjc7gs62cwld4krk4l6",
   "fetcher": "github",
   "repo": "magit/magit",
   "unstable": {
    "version": [
-    20210702,
-    822
+    20210806,
+    1607
    ],
    "deps": [
     "dash",
     "transient",
     "with-editor"
    ],
-   "commit": "bf9cc19a3287f6a3cc5c1836312f0d18b38b6e45",
-   "sha256": "0zjcvhjp4c01ibb1hshpqkib7fvjkmvh9xf06qfsm5ybdc04xik5"
+   "commit": "5a0cf9aaa9acf53c68c0fe98883c081aa5e29dd3",
+   "sha256": "16ihqh9aqjgjs14p5i17bw0wrcc1kpzvj62fn7bk8almdy6ph4dn"
   },
   "stable": {
    "version": [
     3,
-    1,
+    2,
     1
    ],
    "deps": [
@@ -41689,8 +41887,8 @@
     "transient",
     "with-editor"
    ],
-   "commit": "143d95cced1ee793106d16da3a182dcc2dd01e88",
-   "sha256": "0sn4iiicmqfqmvi7zwii6qdp35k09kqn36rpalv0w1i4jcm6j9kk"
+   "commit": "b70f660e36c024fa9319ea0e2977e45ef3c6f3ac",
+   "sha256": "179mgh8l5p7fhfmbg5rz810mhbzsxqsxd66jdb2a68vsazs1jw2m"
   }
  },
  {
@@ -41726,7 +41924,7 @@
     "s"
    ],
    "commit": "8a403005ea7f7611bb1bfd829eeefe5a4f10bb40",
-   "sha256": "0w5xl9r7sbhlwxzg391x50pnsjmjjakn761v3qg0lj6xhv23sdl5"
+   "sha256": "02hag6jd55mqf0n90p0hvihmqjvd0cdlpm5knsxk3cll7fp0kkkr"
   }
  },
  {
@@ -41770,11 +41968,11 @@
   "repo": "emacsorphanage/git-gutter",
   "unstable": {
    "version": [
-    20210703,
-    1007
+    20210730,
+    429
    ],
-   "commit": "35aa068bc2bd6ad8b0070d9f3948d30b76c2e939",
-   "sha256": "020hnz41hwwr7kr2d1cs8vhlzn2i8p1hvd8v9z79v7a54f7573b9"
+   "commit": "1003c8cbe2367482ad02422ace0a85a7d56d01d3",
+   "sha256": "1w2rlxn731jly7v8ks0w670i6351darkh75dvczic50116hfnwnv"
   },
   "stable": {
    "version": [
@@ -41887,16 +42085,16 @@
   "repo": "akirak/git-identity.el",
   "unstable": {
    "version": [
-    20210430,
-    1603
+    20210730,
+    1037
    ],
    "deps": [
     "dash",
     "f",
     "hydra"
    ],
-   "commit": "5b1191f79f1845d7144bd2a49ad25c49866456aa",
-   "sha256": "06ybkpaqicx3q5hdjz99v3isj1jhrpmg55wf054dzx6wpjy8na21"
+   "commit": "07f0846fcc92b6c2fdd61db8aa959effd0e23d9d",
+   "sha256": "1bk1cvll02348d7dwq6dzdm0ykbxf63p16jq8j07q148qm07yf0h"
   },
   "stable": {
    "version": [
@@ -41949,7 +42147,7 @@
     0
    ],
    "commit": "ea49e2e005af977a08331f8caa8f64d102b3b932",
-   "sha256": "0prx0xbnhhp46c09nnzpz07jgr3s5ngrw8zjksf48abr8acwywfv"
+   "sha256": "05bkpg7xz8644np9imsj5ms821sbsb784ap5fjdnnn69kllz0d33"
   }
  },
  {
@@ -41960,11 +42158,11 @@
   "repo": "sshaw/git-link",
   "unstable": {
    "version": [
-    20210504,
-    2207
+    20210815,
+    55
    ],
-   "commit": "0d2fd02c160cf2a09ca4b5b4ffa544833df5afed",
-   "sha256": "1ryb5hfdfv5iaakv74h5wnwislbc4b9ihjc32cy9sc4gizjvrrmp"
+   "commit": "c4cb0edc92013ae4e3660f94c0c0d4d13fca6ee6",
+   "sha256": "03gh9rgw5j4m1clsv97jj02ibmfwz0s4dhr0567g1jhavqm7ibl3"
   },
   "stable": {
    "version": [
@@ -42089,7 +42287,7 @@
     "transient"
    ],
    "commit": "391eb61050de321101e631fcf373fc70ec6e7700",
-   "sha256": "1pz4l1xnq6s67w5yq9107vm8dg7rqf8n9dmbn90jys97c722g70n"
+   "sha256": "05pyjhi26charkjy0mhvigd72rvb4s1s8imycfynf0fmjy7f7n7x"
   }
  },
  {
@@ -42328,11 +42526,11 @@
   "repo": "TxGVNN/github-explorer",
   "unstable": {
    "version": [
-    20210402,
-    1246
+    20210825,
+    1440
    ],
-   "commit": "633b7371a6a00660422e195795c4b79f16bf29ae",
-   "sha256": "1wqnar0y6migb5n4hkz98r5bpxxx9m4qn15wg9cz213jpnykfkyy"
+   "commit": "cd1186fb6ca7728c1cf2478ad3878a6401c65246",
+   "sha256": "0zfnqsw3918rfcfapzgfalrd5w6rhy01ym6ykdswrlv38zd9kjk6"
   },
   "stable": {
    "version": [
@@ -42539,11 +42737,11 @@
   "repo": "xuchunyang/gitignore-templates.el",
   "unstable": {
    "version": [
-    20200228,
-    1419
+    20210814,
+    144
    ],
-   "commit": "b147d1930645dda76dbd48fb6f4f7f790353de26",
-   "sha256": "17g66y8swy8pjkrv0in9bb1qbaq04ixn5wp6h7r54nfvjlnl1rza"
+   "commit": "d28cd1cec00242b688861648d36d086818b06099",
+   "sha256": "0x4pg4jpgmbvfw854ps9w3xgp8bgm7n7vmcvk3kp7h2s56l8s2xb"
   },
   "stable": {
    "version": [
@@ -42617,7 +42815,7 @@
     "yaml-mode"
    ],
    "commit": "2651e831aed84ee2512245952fac94901b086549",
-   "sha256": "16fb4r3vq8xkzl911v7gaky95w1agfxjlpaxpjmidwx48rbcar59"
+   "sha256": "0yd6s5vy5afkigm87xyh1nnwljplx1wdn5h02224ica0py48fzhd"
   }
  },
  {
@@ -42648,7 +42846,7 @@
     "gitlab-ci-mode"
    ],
    "commit": "30ea0eab74b24818f187242b079845785035e967",
-   "sha256": "0awv24znkxs0h8pkj4b5jwjajxkf1agam09m5glr8zn5g3xbj798"
+   "sha256": "1w1simnlffg56j79gal1qf1nlav9f8fmr2zfswfrmcv6cac6fhj9"
   }
  },
  {
@@ -42710,7 +42908,7 @@
     "helm"
    ],
    "commit": "5fe0a66642da6f4e7ba9e1e3a96572c7f1876e37",
-   "sha256": "1c5js19zyb1z61hapvbfcl5jhrjqij46cxldgqij6al0scw44dga"
+   "sha256": "1mxkcnjgazc1pyjbqqfnhc9phpyrgah960avm2fmi7m9n5v8cf0w"
   }
  },
  {
@@ -42881,11 +43079,11 @@
   "repo": "jimhourihan/glsl-mode",
   "unstable": {
    "version": [
-    20200501,
-    2304
+    20210808,
+    1945
    ],
-   "commit": "b07112016436d9634cd4ef747f9af6b01366d136",
-   "sha256": "0bav9ipfm0vy26n74ngsmjzc7fsyqz6xmriadzx55s44h8p5dn1s"
+   "commit": "9b2e5f28e489a1f73c4aed734105618ac0dc0c43",
+   "sha256": "101y46bdxxgp58li66pwqn6c3skww72gkfmhxpps2v2ijxcvqkl9"
   }
  },
  {
@@ -43171,7 +43369,7 @@
     "gnus"
    ],
    "commit": "210c70f0021ee78e724f1d8e00ca96e1e99928ca",
-   "sha256": "08j8x0iaz5s9q0b68d8h3153w0z6vak5l8qgw3dd1drz5p9xnvyw"
+   "sha256": "0h7w5wrkrd0jw8nmgbkzq8wam7ynvy7flhjg4frphzmimlhysli2"
   }
  },
  {
@@ -43577,14 +43775,14 @@
   "repo": "s-kostyaev/go-gen-test",
   "unstable": {
    "version": [
-    20171023,
-    358
+    20210816,
+    1215
    ],
    "deps": [
     "s"
    ],
-   "commit": "44c202ac97e728e93a35cee028a0ea8dd6e4292c",
-   "sha256": "1vi5xsf0xbcbvapi20hsjangwyp38cbgi8kiccpmingnq2kp8ghs"
+   "commit": "35df36dcd555233ee1a618c0f6a58ce6db4154d9",
+   "sha256": "1r0cdpfrrz3lgkd7xzkw77c48w11l9maydm32rz27zpjgzgpakdp"
   }
  },
  {
@@ -43994,8 +44192,8 @@
     20210102,
     515
    ],
-   "commit": "1d7d647bb53a49fce03486eba90e97ccf35cf85a",
-   "sha256": "14ysgyg1cqn83ly6fkwpq7ysibz9pgwcmn9x6lzk38ynkwdwjyz2"
+   "commit": "d7e933095041aa32033d29f2c87d201b5b43c3b3",
+   "sha256": "1sa735x8m6c9a1wsavv1w2a3arkx3z7hyp9rkzqz55p2vn0z82vg"
   },
   "stable": {
    "version": [
@@ -44176,20 +44374,20 @@
   "repo": "io12/good-scroll.el",
   "unstable": {
    "version": [
-    20210712,
-    1206
+    20210820,
+    633
    ],
-   "commit": "fac87dd390ad2aabe48afaef950f7a2d9b3ce283",
-   "sha256": "0kmiv013aqc4ayap39xlx7swrx2m8m12dzpvy2fa035aaj42ylvr"
+   "commit": "bd369750d3aeb7e210c1c033569a53d0fda898c9",
+   "sha256": "0dkqipsbl7sl6j6asqv7y0md2kxx91n1k4hms7d4jbj4shka7hnz"
   },
   "stable": {
    "version": [
     2,
     0,
-    0
+    1
    ],
-   "commit": "fac87dd390ad2aabe48afaef950f7a2d9b3ce283",
-   "sha256": "0kmiv013aqc4ayap39xlx7swrx2m8m12dzpvy2fa035aaj42ylvr"
+   "commit": "8530d6697b1534de0146275c80faccae35fa36fa",
+   "sha256": "0x7ym7bgyr3qdw3bygbp47q4ybah6769y9zzj7c3dfxyqnihmnpv"
   }
  },
  {
@@ -44218,8 +44416,8 @@
     20180130,
     1736
    ],
-   "commit": "4044bbd5ca4434b8cecd23a4da8ae173c1e0d58e",
-   "sha256": "0nym4c4j0awxzpj2qkds1fxppc7jzzazwj0j8qx6vr5yfp7iry51"
+   "commit": "d88a5b7b59948d23977942ee62037e8912ff68ce",
+   "sha256": "1k29za2g3b10jy3nlkg09h5jn8d25w9yghrmz8cvm8zghxkqi2m7"
   }
  },
  {
@@ -44578,14 +44776,14 @@
     "magit-popup",
     "s"
    ],
-   "commit": "7822b34eb5d359ddae2f93d356c78c5ea05784d5",
-   "sha256": "0qkznd0a6cc32mwnmsa28lr8zji2nsi87kzcn467hq542zr61nz6"
+   "commit": "ec5a4a7c63275875655d0fb57962ccefd68d39e5",
+   "sha256": "0zmam6s2vpdl88qd3h863gzy25m0g6bkmzrgib00807sj2i42704"
   },
   "stable": {
    "version": [
     0,
     26,
-    0
+    1
    ],
    "deps": [
     "dash",
@@ -44593,8 +44791,8 @@
     "magit-popup",
     "s"
    ],
-   "commit": "34586b6650fb19689755570628a558ca9ea7946a",
-   "sha256": "0a7bnw01j4fbhga5x00v5bbk38j2q7mg7ablz6kswlmarqwr4fm6"
+   "commit": "ec5a4a7c63275875655d0fb57962ccefd68d39e5",
+   "sha256": "0zmam6s2vpdl88qd3h863gzy25m0g6bkmzrgib00807sj2i42704"
   }
  },
  {
@@ -44960,28 +45158,28 @@
   "repo": "ifitzpatrick/graphql-doc.el",
   "unstable": {
    "version": [
-    20210530,
-    221
+    20210808,
+    8
    ],
    "deps": [
     "promise",
     "request"
    ],
-   "commit": "a60a646413fce528ecf42be3ee111b3f92d9f95b",
-   "sha256": "168yqaygyvrw05kip10azdcjsczahrsflg43vl6ki7ii6x595b5s"
+   "commit": "6ba7961fc9c5c9818bd60abce6ba9dfef2dad452",
+   "sha256": "0hb6nxyiz36r3ii8iava76cv0k4nckslli20q2iw8s1nszgwbxky"
   },
   "stable": {
    "version": [
     0,
     2,
-    0
+    1
    ],
    "deps": [
     "promise",
     "request"
    ],
-   "commit": "1623cdd887846057200579cfddc0fa1815d1af9c",
-   "sha256": "0nqx88ng72vvz1vl7hj1m77ncf9i0d4l3n1bab0kp90fmrgxa69p"
+   "commit": "6ba7961fc9c5c9818bd60abce6ba9dfef2dad452",
+   "sha256": "0hb6nxyiz36r3ii8iava76cv0k4nckslli20q2iw8s1nszgwbxky"
   }
  },
  {
@@ -45223,11 +45421,11 @@
   "repo": "seagle0128/grip-mode",
   "unstable": {
    "version": [
-    20210609,
-    1305
+    20210818,
+    623
    ],
-   "commit": "c0ca78990395245e5f742166047b04eeff63cf6a",
-   "sha256": "1pyi6l08j19d30dk66ign0gpjh9wv1l42jnbsapb5migghas558z"
+   "commit": "1c82e27beec629514a8039e22f4f7c649e77ee2b",
+   "sha256": "1hgwqk991cnvslqgmvpwgxavm6nhvgn2cig3r8jpwvmfyjlcbyql"
   },
   "stable": {
    "version": [
@@ -45362,8 +45560,8 @@
     20210617,
     1028
    ],
-   "commit": "b1d873cb6186e08c6f7ec782df989b01e955fb4d",
-   "sha256": "1rsixglxvc5a25v1pbyz23bngql84nvjn8673lmkhdcqcvd3s1hg"
+   "commit": "7efb041b826f15b10aa9cfb67b971fdc41064980",
+   "sha256": "175gfhi1621pclwvhbz2a8rramfb47v353x5hxjys1b0p848yk1l"
   },
   "stable": {
    "version": [
@@ -45717,6 +45915,21 @@
   }
  },
  {
+  "ename": "gumshoe",
+  "commit": "8683873034caef2ed9ee2a1f9f7753049929c8a4",
+  "sha256": "1xxlb0kkvbr7j1ic5c9vsg2qfy1w4bm7fmiby7pg1b6c6chaa8r7",
+  "fetcher": "github",
+  "repo": "Overdr0ne/gumshoe",
+  "unstable": {
+   "version": [
+    20210812,
+    1631
+   ],
+   "commit": "35a4b0f45437309a10e2c72e523012c2e2eded07",
+   "sha256": "16h691h1078m5gm1xqypiapr671i7phsc3kl196m8n3dqypwjj9m"
+  }
+ },
+ {
   "ename": "guru-mode",
   "commit": "e60af6ccb902d8ef00cfecbb13cafebbe3b00d89",
   "sha256": "0j25nxs3ndybq1ik36qyqdprmhav4ba8ny7v2z61s23id8hz3xjs",
@@ -46000,7 +46213,7 @@
     5
    ],
    "commit": "fd37f013c2f2619a88d3ed5311a9d1308cc82614",
-   "sha256": "196ydb57h4mjagjaiflvb20my561i6mdc6v6694ibdik2yns2inm"
+   "sha256": "1nykpp8afa0c0wiax1qn8wf5hfjaixk5kn4yhcw40z00pb8i2z5f"
   }
  },
  {
@@ -46296,11 +46509,11 @@
   "repo": "haskell/haskell-mode",
   "unstable": {
    "version": [
-    20210622,
-    2049
+    20210816,
+    716
    ],
-   "commit": "98ba3922360199d5260d47f417f096730ad057c5",
-   "sha256": "1k7zs7vlbpyhizv4ff1mhagz1mvazmm4bvq215z9f871hhf6l7ff"
+   "commit": "333205066754348b3dd47c5ce834757dd1bbdf48",
+   "sha256": "1dd79bhvqcz2jwwki6q99815a99agadqk2dbbn7ib4s135xy4fyb"
   },
   "stable": {
    "version": [
@@ -46630,16 +46843,16 @@
   "repo": "emacs-helm/helm",
   "unstable": {
    "version": [
-    20210714,
-    1600
+    20210822,
+    1700
    ],
    "deps": [
     "async",
     "helm-core",
     "popup"
    ],
-   "commit": "60db46905443c87f324440202bd0735d57c5c201",
-   "sha256": "10rkyy63vqqf9s4i8rs409d22iwhxrhz3qikagmfyvvr1n6czcnp"
+   "commit": "64b8def85cab9550db0cff3eebaec09d80793a8c",
+   "sha256": "0bv0mb2dmw84jgmjr79r60276xcxw5lszw3k4a70d1fshmsc0sds"
   },
   "stable": {
    "version": [
@@ -46924,16 +47137,16 @@
   "repo": "tmalsburg/helm-bibtex",
   "unstable": {
    "version": [
-    20201214,
-    2111
+    20210725,
+    1510
    ],
    "deps": [
     "bibtex-completion",
     "cl-lib",
     "helm"
    ],
-   "commit": "9f6ea920a49457d85096caa0e61f086a42b2908e",
-   "sha256": "0dqf2anmjlgcz7xn4q2pw8cfmhwdhdg4fm8q41vhrp60ymbc6dik"
+   "commit": "12079bb09f203dda5cc2dd003bd60a6ad490f762",
+   "sha256": "11y1yif6z26cc502s72p310z9m6130p5kyqb2py74r3x0k0nc61s"
   },
   "stable": {
    "version": [
@@ -47101,8 +47314,8 @@
     "bufler",
     "helm"
    ],
-   "commit": "d466eac6c4b2ee25c765e7f31e44beb38dd44e4b",
-   "sha256": "00gyqpm0g437z71vbfd4kmih23vh6909dvygng133vxzly9k4f24"
+   "commit": "b951e621bc4a4bb07babf8b32dc318d91ae261c9",
+   "sha256": "14d2mcx6ppjzkpv63m7iir0j2dn549gkxr30bxx8qvc1v7r7r6wn"
   },
   "stable": {
    "version": [
@@ -47538,14 +47751,14 @@
   "repo": "emacs-helm/helm",
   "unstable": {
    "version": [
-    20210714,
-    1600
+    20210822,
+    952
    ],
    "deps": [
     "async"
    ],
-   "commit": "60db46905443c87f324440202bd0735d57c5c201",
-   "sha256": "10rkyy63vqqf9s4i8rs409d22iwhxrhz3qikagmfyvvr1n6czcnp"
+   "commit": "64b8def85cab9550db0cff3eebaec09d80793a8c",
+   "sha256": "0bv0mb2dmw84jgmjr79r60276xcxw5lszw3k4a70d1fshmsc0sds"
   },
   "stable": {
    "version": [
@@ -47832,6 +48045,25 @@
   }
  },
  {
+  "ename": "helm-dogears",
+  "commit": "2a551c7b122dbaca845a0bc0a86137b37521c59e",
+  "sha256": "184l6s2j2fr2z68d275bwgm9rcfz46y1svbwlghran9m7f114518",
+  "fetcher": "github",
+  "repo": "alphapapa/dogears.el",
+  "unstable": {
+   "version": [
+    20210822,
+    2106
+   ],
+   "deps": [
+    "dogears",
+    "helm"
+   ],
+   "commit": "c0fa3f6318c660234e77b108f8486dfc39869071",
+   "sha256": "0bafs58xrlwk2f8swykwhvs1wilvbm2593gjmvdrwhy4hwg0n6f2"
+  }
+ },
+ {
   "ename": "helm-emmet",
   "commit": "acbc5e9fab159ad2d63b10c0fa6ac18636bb2379",
   "sha256": "1dkn9qa3dv2im11lm19wfh5jwwwp42sv7jc0p6qg35rhzwdpfg03",
@@ -48391,26 +48623,26 @@
   "repo": "masutaka/emacs-helm-ghq",
   "unstable": {
    "version": [
-    20190526,
-    1409
+    20210724,
+    744
    ],
    "deps": [
     "helm"
    ],
-   "commit": "d0d6aa0f407388e7012f0443df8ae657ece01779",
-   "sha256": "08884pk0d6xplsn1z9slaf4b9mmam6s9dg4dcxi1na1inpi6y082"
+   "commit": "7b47ac91e42762f2ecbbceeaadc05b86c9fe5f14",
+   "sha256": "0a4piipqnsj0rnwmqz3vj674ljmy1bl33qr9hv959pw5b3jzqfh0"
   },
   "stable": {
    "version": [
     1,
     8,
-    0
+    1
    ],
    "deps": [
     "helm"
    ],
-   "commit": "d0d6aa0f407388e7012f0443df8ae657ece01779",
-   "sha256": "08884pk0d6xplsn1z9slaf4b9mmam6s9dg4dcxi1na1inpi6y082"
+   "commit": "7b47ac91e42762f2ecbbceeaadc05b86c9fe5f14",
+   "sha256": "0a4piipqnsj0rnwmqz3vj674ljmy1bl33qr9hv959pw5b3jzqfh0"
   }
  },
  {
@@ -48719,26 +48951,26 @@
   "repo": "masutaka/emacs-helm-hatena-bookmark",
   "unstable": {
    "version": [
-    20190609,
-    1455
+    20210724,
+    732
    ],
    "deps": [
     "helm"
    ],
-   "commit": "10b8bfbd7fc4c3f503b2bc01f0c062dac128059e",
-   "sha256": "17f7y7bw15y3x30j7b3ymp3gpnszfvnf8hmlgc1mkwafxvzv06i1"
+   "commit": "a6a2b37370ac84ca2cae5ef65b2b144a010b1584",
+   "sha256": "0zwngldnh6ys9m7v0fc4nwk1bcrwqvip08114vn4dcv8kl3lnxvv"
   },
   "stable": {
    "version": [
     2,
     4,
-    3
+    4
    ],
    "deps": [
     "helm"
    ],
-   "commit": "10b8bfbd7fc4c3f503b2bc01f0c062dac128059e",
-   "sha256": "17f7y7bw15y3x30j7b3ymp3gpnszfvnf8hmlgc1mkwafxvzv06i1"
+   "commit": "a6a2b37370ac84ca2cae5ef65b2b144a010b1584",
+   "sha256": "0zwngldnh6ys9m7v0fc4nwk1bcrwqvip08114vn4dcv8kl3lnxvv"
   }
  },
  {
@@ -49130,8 +49362,8 @@
   "repo": "julienXX/helm-lobste.rs",
   "unstable": {
    "version": [
-    20150211,
-    2214
+    20150213,
+    1546
    ],
    "deps": [
     "cl-lib",
@@ -49149,14 +49381,14 @@
   "repo": "emacs-helm/helm-ls-git",
   "unstable": {
    "version": [
-    20210324,
-    1515
+    20210729,
+    911
    ],
    "deps": [
     "helm"
    ],
-   "commit": "48696448e52d266f5b2cb5ee1390071dab4d16e8",
-   "sha256": "1nhza9af2xfwq1idk4g69kr4wyyf9samk3vi40jvkfnwap4w3ip4"
+   "commit": "d861fb407d72470db41ac458447b92c6d9b00206",
+   "sha256": "13hxglh5w70w5y7x4r7rqpa7npj4lfrajjjic8vizn71752cndkg"
   },
   "stable": {
    "version": [
@@ -49419,14 +49651,14 @@
   "repo": "emacs-helm/helm-mu",
   "unstable": {
    "version": [
-    20210104,
-    1214
+    20210816,
+    913
    ],
    "deps": [
     "helm"
    ],
-   "commit": "392a8c11ab27b625d9f863cdde14e09893401b15",
-   "sha256": "1l7l75g6sg8fhsd98pfc5qw6w05qq08ilvy6bpaxfz50g81saypg"
+   "commit": "b85019d01815a4b58d6016c3a30fefa60d8363f2",
+   "sha256": "0dld66r7z525y1b22liq2j8fz248ghj8pxfid66508jpxhh71np3"
   }
  },
  {
@@ -50380,8 +50612,8 @@
     "helm",
     "rtags"
    ],
-   "commit": "65113e2a137baa9f85dc2157b893291470788dc4",
-   "sha256": "1qc4hy6r2sz59nb28xrrqiad91xbmsrr9jzhi4k915qgds6m029h"
+   "commit": "3a057f127b931c683288f8731f05ba5e2aab4133",
+   "sha256": "1brf05grh0xdcjllaiixpjxmcg2j130gcrxkqm5v4ryb1w9fki7g"
   },
   "stable": {
    "version": [
@@ -51279,6 +51511,24 @@
   }
  },
  {
+  "ename": "help-find",
+  "commit": "2635dfe9bb83463c2d05bb8b59e714f5df0f61aa",
+  "sha256": "0zmrs414djazm3kzzqqj56ama2iids4m166d9h09xdj6nxm00zrq",
+  "fetcher": "github",
+  "repo": "duncanburke/help-find",
+  "unstable": {
+   "version": [
+    20210822,
+    1704
+   ],
+   "deps": [
+    "dash"
+   ],
+   "commit": "b1d15676c5bc348821256ffa5aaea308f6f28ad4",
+   "sha256": "0pz6wxw0p4d5zfz2mb9f7mg6k25iqhik428yia3n77ra80jx8ncr"
+  }
+ },
+ {
   "ename": "help-find-org-mode",
   "commit": "572003398d1bba572fa9f6332b25ade9306bf718",
   "sha256": "149rd61bcvgrwhnhlqriw6fn6fr4pwr4ynmj2bwcp558nwf0py0b",
@@ -51886,20 +52136,20 @@
   "url": "https://git.sr.ht/~tsdh/highlight-parentheses.el",
   "unstable": {
    "version": [
-    20210420,
-    1924
+    20210821,
+    1957
    ],
-   "commit": "891538de31524956136e1419e1206af0c8befe02",
-   "sha256": "08l5gb73ibs1mmfifnks5gxrcg8x8azw9g10jj2f8vn8viwwa7m0"
+   "commit": "98178e79a92515fcacd278fb486702dedde0bed3",
+   "sha256": "02psp4sfirvab6bv9nylfqqfrmmz87wv8x1sf8bmrrqqk0rwn37p"
   },
   "stable": {
    "version": [
     2,
     0,
-    3
+    4
    ],
-   "commit": "891538de31524956136e1419e1206af0c8befe02",
-   "sha256": "08l5gb73ibs1mmfifnks5gxrcg8x8azw9g10jj2f8vn8viwwa7m0"
+   "commit": "8d43acc799328023ea1ca687122bbf8f068b4989",
+   "sha256": "0i3fcrkkwalgcb9whw6gjcl5f4yr7vd4vp450i8lj9nab22p7mqc"
   }
  },
  {
@@ -52566,15 +52816,15 @@
   "repo": "dunn/homebrew-mode",
   "unstable": {
    "version": [
-    20200205,
-    224
+    20210820,
+    1735
    ],
    "deps": [
     "dash",
     "inf-ruby"
    ],
-   "commit": "8c04b040656dc99719efd7663c10f26f74df4a47",
-   "sha256": "0hqpj9fqq0b4nj7ya93jgkagafixqkinyr7qj8dsy2j1q458ynzf"
+   "commit": "78e20613674247a65483f89a7912111e3ce4b9b0",
+   "sha256": "0snclyby8y2k7ps1qrbb18sx3d8h3dkw0d81sg1kxhlwddpp6n8y"
   },
   "stable": {
    "version": [
@@ -52671,6 +52921,21 @@
   }
  },
  {
+  "ename": "hotfuzz",
+  "commit": "8dfb52c062e2195ba51b5670114980bf108aee8b",
+  "sha256": "04w3cw5h741dsx5xlqkdisw6kr6l7939x1vf2kns2k143qdcjxqf",
+  "fetcher": "github",
+  "repo": "axelf4/hotfuzz",
+  "unstable": {
+   "version": [
+    20210731,
+    821
+   ],
+   "commit": "c09ee50c337a56114834b66ab3475985e3099d06",
+   "sha256": "1bl99zr75cbknvx1iilw7zjzzmpcv3h541jsz7cz8si1s4dcyhcq"
+  }
+ },
+ {
   "ename": "hound",
   "commit": "90cfc34eb4e8be7bf887533b85feba91131a435b",
   "sha256": "0qri6bddd3c4sqvaqvmqw6xg46vwlfi1by3gc9i3izpq4xl1cr1v",
@@ -52755,16 +53020,16 @@
   "repo": "thanhvg/emacs-howdoyou",
   "unstable": {
    "version": [
-    20210707,
-    1513
+    20210816,
+    507
    ],
    "deps": [
     "org",
     "promise",
     "request"
    ],
-   "commit": "4943a4ef8d242952ade64903a05c13094de2fbf0",
-   "sha256": "1fgg1jcnihx3akp7r0fvwdx71ldl2apbw6xa591f6r5slvh179gn"
+   "commit": "4f3d70009c1368174355ca7a5eb1259f18ec5f34",
+   "sha256": "0j8i6c21jzdc88bvdsbshxgv62wvl95kham5w6kfkrlj0ld8i8yg"
   }
  },
  {
@@ -52931,19 +53196,19 @@
   "repo": "hniksic/emacs-htmlize",
   "unstable": {
    "version": [
-    20200816,
-    746
+    20210825,
+    2150
    ],
-   "commit": "49205105898ba8993b5253beec55d8bddd820a70",
-   "sha256": "0caw0wwbscfr4a9ynfabrpkvgibf0hlrkwisib82nhcqcaanf962"
+   "commit": "dd27bc3f26efd728f2b1f01f9e4ac4f61f2ffbf9",
+   "sha256": "0kzkspq9cqdz9z6vibx39kpci07fpwm399nl9bpykc1vbj8cm44f"
   },
   "stable": {
    "version": [
     1,
-    55
+    56
    ],
-   "commit": "682edbf751f5c255bfd4af0eb714a8bce0737cec",
-   "sha256": "0gi3xshscpa53qrj8yplfsqahcilc2ybcc2p7gnh5nbnf2n1n97x"
+   "commit": "ed220b1f3be1f898e3cfd628196b16d25a65cb5f",
+   "sha256": "14m8si49br62lgx7asdyp9jysq0v6midrfk32sxy521ydqmqr3c1"
   }
  },
  {
@@ -53139,11 +53404,19 @@
   "repo": "humanoid-colors/emacs-humanoid-themes",
   "unstable": {
    "version": [
-    20210525,
-    2259
+    20210819,
+    811
+   ],
+   "commit": "3a157bab0493fe0654de0324ec59eef9b3d15202",
+   "sha256": "0jm81nax0r4h82gd7pbvxpf2nb7ynmxq099103y0s5xhy1cx6v8l"
+  },
+  "stable": {
+   "version": [
+    0,
+    2
    ],
-   "commit": "9b4587417f2583c503f84f3b1e994d7934e57bdd",
-   "sha256": "1dpanfa8qpy9l2i2pw5w95lqsw06944qbcz8c9fgpj2s3nchhkpi"
+   "commit": "d140638360a3eb1bf8f17877bd888f898df63ec0",
+   "sha256": "1lybjbbcjsry20p6jzmkg2h7am7hcgfhjkdmby9pk4whnhk9l4lh"
   }
  },
  {
@@ -53257,11 +53530,11 @@
   "repo": "Riyyi/emacs-hybrid-reverse",
   "unstable": {
    "version": [
-    20210630,
-    1155
+    20210806,
+    1955
    ],
-   "commit": "e59c8392938235ca8d95306aa1c3f1591a43fb45",
-   "sha256": "0vrdd4w9v07g6092sva8br0n3dlf1n9gj8y56k13a1wn9hwi2wp3"
+   "commit": "cb784a69e60938efe14b48130558f1bb1af92d3c",
+   "sha256": "06wibm3xc5mbpq2ha3ssiwczq7c2660dqwkmpbnsqarx2s4v2km5"
   }
  },
  {
@@ -54270,15 +54543,15 @@
   "repo": "idris-hackers/idris-mode",
   "unstable": {
    "version": [
-    20210614,
-    1212
+    20210728,
+    846
    ],
    "deps": [
     "cl-lib",
     "prop-menu"
    ],
-   "commit": "f52ad0b4770403561b40f1d0499ecaca70da886c",
-   "sha256": "1ai5ha67650ryj7mdxx6b86hlm2v13h7kipisgvxj5dss3j9j7lv"
+   "commit": "3cc9361b4c0ca88fd3ba218633ea1edeae18d6fe",
+   "sha256": "04zj69lwjcwz0dmmwz84lfr3w0cdca94pv69ldvik4qh685cd0n9"
   },
   "stable": {
    "version": [
@@ -54316,11 +54589,11 @@
   "repo": "victorhge/iedit",
   "unstable": {
    "version": [
-    20210612,
-    546
+    20210812,
+    735
    ],
-   "commit": "3247f3029a4e309c71a5b066fa4299d4cbb79fbc",
-   "sha256": "1w6apgfs4zgcqpcn3qgf0ncx46m6sz7vr4ln00s626ll0c4lhnys"
+   "commit": "2f504c966e7f640dcd6ecbf40a6a1a05ea286de0",
+   "sha256": "08lgv18584ksgkz0r39vc6xfjid93v0z3wbds38iynaayimr3p68"
   },
   "stable": {
    "version": [
@@ -54574,8 +54847,8 @@
     20210423,
     731
    ],
-   "commit": "01bf1e1101ac9cd34bfda7016ce0f82f97a3de35",
-   "sha256": "08w76awwg1g7n67b2rvbwg0i366zshqnhvlp6zyfagjg2bz5gdmf"
+   "commit": "a90183954522876ebbf1ce96d88b80e6a31b9d34",
+   "sha256": "1dwa6gvq17p7cj09rf0zwgg6bydny4g7i8mqymfic20vjw2pbmn1"
   }
  },
  {
@@ -55137,26 +55410,26 @@
   "repo": "clojure-emacs/inf-clojure",
   "unstable": {
    "version": [
-    20210322,
-    1421
+    20210811,
+    645
    ],
    "deps": [
     "clojure-mode"
    ],
-   "commit": "a2cebf5362fe583538dda8dcf6348a8d73b462a2",
-   "sha256": "0sfn6x08i7sd2k6z4swpd8hxaab3ly0gfyapcaq768chi0grr0gw"
+   "commit": "38e7dc1829646b93473c31d704bda0dee6644a38",
+   "sha256": "1g2dacwf8dnm289y7cpy3vpdyp6qndwg52nvgdxzsbg9xx7wdz72"
   },
   "stable": {
    "version": [
     3,
-    0,
+    1,
     0
    ],
    "deps": [
     "clojure-mode"
    ],
-   "commit": "2c8e46b584be71fe1a585c9072da86382710dc59",
-   "sha256": "13rk3g58vaizp67c1plhfc80vsshdvvsz81wsf3076xp35p05w9b"
+   "commit": "c23c55e662c16ec94e684b2ec9611e78531921a8",
+   "sha256": "070h1j2axc40c3j8q6kji4avjpns65hj5kjb8a7pv5xiac9j50cy"
   }
  },
  {
@@ -55197,11 +55470,11 @@
   "repo": "J3RN/inf-elixir",
   "unstable": {
    "version": [
-    20210629,
-    40
+    20210731,
+    2030
    ],
-   "commit": "ec87ecaab5a10e79034f77d553e7fefbf60b9f97",
-   "sha256": "1p6r0iwqcaf9bp123ccwafmzlf8hgwvap0cqwgy33cks6bhcbzb9"
+   "commit": "404f88530975e3540f357f6a4f96c864bd19065b",
+   "sha256": "14hz77f4sjq0pjr22fp77sk5kh6074qs493aiwc900b1apzh47jk"
   },
   "stable": {
    "version": [
@@ -55896,8 +56169,8 @@
   "repo": "dcjohnson/inverse-acme-theme",
   "unstable": {
    "version": [
-    20170615,
-    1337
+    20210204,
+    1640
    ],
    "deps": [
     "autothemer",
@@ -56417,11 +56690,11 @@
   "repo": "abo-abo/swiper",
   "unstable": {
    "version": [
-    20210602,
-    1349
+    20210730,
+    1743
    ],
-   "commit": "56139df678d9886d0612c0a192cce2cf6f156628",
-   "sha256": "0xjjdq3vmpm3fpvmd3g57m4ldixx8j73in0nmdx4vvnzvh0n904g"
+   "commit": "7cdde66c95d5205287e88010bc7a3a978c931db0",
+   "sha256": "0pvgh4krym43vcyiq4bsjl63gg795jlqh6kaa6llsv1awvywfqww"
   },
   "stable": {
    "version": [
@@ -56448,8 +56721,8 @@
     "avy",
     "ivy"
    ],
-   "commit": "56139df678d9886d0612c0a192cce2cf6f156628",
-   "sha256": "0xjjdq3vmpm3fpvmd3g57m4ldixx8j73in0nmdx4vvnzvh0n904g"
+   "commit": "7cdde66c95d5205287e88010bc7a3a978c931db0",
+   "sha256": "0pvgh4krym43vcyiq4bsjl63gg795jlqh6kaa6llsv1awvywfqww"
   },
   "stable": {
    "version": [
@@ -56481,8 +56754,8 @@
     "cl-lib",
     "swiper"
    ],
-   "commit": "9f6ea920a49457d85096caa0e61f086a42b2908e",
-   "sha256": "0dqf2anmjlgcz7xn4q2pw8cfmhwdhdg4fm8q41vhrp60ymbc6dik"
+   "commit": "12079bb09f203dda5cc2dd003bd60a6ad490f762",
+   "sha256": "11y1yif6z26cc502s72p310z9m6130p5kyqb2py74r3x0k0nc61s"
   },
   "stable": {
    "version": [
@@ -56584,15 +56857,15 @@
   "repo": "franburstall/ivy-emms",
   "unstable": {
    "version": [
-    20200629,
-    801
+    20210817,
+    1300
    ],
    "deps": [
     "emms",
     "ivy"
    ],
-   "commit": "6f547f9f3dcbf0d5b88595760b3505c7195dc96b",
-   "sha256": "0bqn0hqdrw8psc8r6xcx6dxrjy7llkfpm0fd1k6ra4ybncgaznfg"
+   "commit": "dfde98c3bdad8136709eac8382ba048fafdcc6ac",
+   "sha256": "0h7f9yj2dx36pjqdf6n803xhv7m96xgj11hi59kh1rvr8d28pgm0"
   }
  },
  {
@@ -56816,8 +57089,8 @@
     "hydra",
     "ivy"
    ],
-   "commit": "56139df678d9886d0612c0a192cce2cf6f156628",
-   "sha256": "0xjjdq3vmpm3fpvmd3g57m4ldixx8j73in0nmdx4vvnzvh0n904g"
+   "commit": "7cdde66c95d5205287e88010bc7a3a978c931db0",
+   "sha256": "0pvgh4krym43vcyiq4bsjl63gg795jlqh6kaa6llsv1awvywfqww"
   },
   "stable": {
    "version": [
@@ -57024,8 +57297,8 @@
     "ivy",
     "prescient"
    ],
-   "commit": "4a0f5405798cfcb98ea005078ef2e2d490e922c4",
-   "sha256": "04rz8mypgslb0la4wgj3na5c8p28s9lghq4nykcb28nhcxwfvz8n"
+   "commit": "027c2137a8d9e01a1d4c7b5e5d98da017dd2d48e",
+   "sha256": "04hwfqia53bk2fi7kw1pzwi5v0rgimr15kw6mmjlvcmwk0c1mghr"
   },
   "stable": {
    "version": [
@@ -57116,8 +57389,8 @@
     "ivy",
     "rtags"
    ],
-   "commit": "65113e2a137baa9f85dc2157b893291470788dc4",
-   "sha256": "1qc4hy6r2sz59nb28xrrqiad91xbmsrr9jzhi4k915qgds6m029h"
+   "commit": "3a057f127b931c683288f8731f05ba5e2aab4133",
+   "sha256": "1brf05grh0xdcjllaiixpjxmcg2j130gcrxkqm5v4ryb1w9fki7g"
   },
   "stable": {
    "version": [
@@ -58168,8 +58441,8 @@
     20210512,
     2301
    ],
-   "commit": "c3548cac4c4d2caffb750391b2d7d88c3892d139",
-   "sha256": "06328yfj7g575dyxa7a17hwbas3ly45hikrax6qzy64zsakp9gx2"
+   "commit": "c5cc024a06684b91da9bb05fecf681426596af5e",
+   "sha256": "1qkkqqq4r5j10s4q17r2r4ryim0gpknr5h512jj9yk52a77q1g7d"
   }
  },
  {
@@ -58900,14 +59173,14 @@
   "repo": "tminor/jsonnet-mode",
   "unstable": {
    "version": [
-    20210627,
-    1451
+    20210726,
+    1251
    ],
    "deps": [
     "dash"
    ],
-   "commit": "404ebe3ca964fde99b7a6d89d2840ce53376d80a",
-   "sha256": "1ddkljjmvbm35gdw6wnys2na19826wxxgydlikn52nvchvr5z5z9"
+   "commit": "63c0f44fe7b5a333173235db7102ef8c2ae0b006",
+   "sha256": "1l7v5ibbl52ylbnz92ipw10ds8ahj3s2q4yxansnj8xy19kpjchz"
   },
   "stable": {
    "version": [
@@ -58985,11 +59258,11 @@
   "repo": "JuliaEditorSupport/julia-emacs",
   "unstable": {
    "version": [
-    20210323,
-    612
+    20210824,
+    747
    ],
-   "commit": "fe6f6f7a80f8d60ecffa5b2cb43667bb9dc11705",
-   "sha256": "0afgdga2p7ipdimvi2xncmqxv87x2khg603iifyylfq26wyxscr7"
+   "commit": "a1ba9a03a4b18a0d9536753efee623ab7afca596",
+   "sha256": "0czmvm7nm91n9kg5cv6rc5wcw6vwyqfq2fr8lrm4dfzrwvf99204"
   },
   "stable": {
    "version": [
@@ -59056,8 +59329,8 @@
   "repo": "gcv/julia-snail",
   "unstable": {
    "version": [
-    20210715,
-    1359
+    20210818,
+    310
    ],
    "deps": [
     "dash",
@@ -59066,16 +59339,14 @@
     "spinner",
     "vterm"
    ],
-   "commit": "a71a536fc1f194bc329e2c33eed5eab542c00cab",
-   "sha256": "0cnhv37m8hcl3lfbiivy3yk338x60q8fglm5nibhfr55ln52jjc4"
+   "commit": "5b95b278772de8339ac198fe6eaadb0427d680fb",
+   "sha256": "11spibld7dyggr38hzkrd05lmdf847d57cc9qyk01mb3bli21vxd"
   },
   "stable": {
    "version": [
     1,
-    0,
-    0,
-    -1,
-    6
+    1,
+    4
    ],
    "deps": [
     "dash",
@@ -59084,8 +59355,8 @@
     "spinner",
     "vterm"
    ],
-   "commit": "03b4296ba7151963eb3c850f3314b02644101f51",
-   "sha256": "1jgs0pz8bzqg8116kyw3z7jwbf6karrl89ks028q091ylc00nm8b"
+   "commit": "5b95b278772de8339ac198fe6eaadb0427d680fb",
+   "sha256": "11spibld7dyggr38hzkrd05lmdf847d57cc9qyk01mb3bli21vxd"
   }
  },
  {
@@ -59285,20 +59556,20 @@
   "repo": "leon-barrett/just-mode.el",
   "unstable": {
    "version": [
-    20210311,
-    2359
+    20210818,
+    1526
    ],
-   "commit": "45c248fe72d4a15c5a9f26bc0b27adb874265f53",
-   "sha256": "065nnm4r6n83lbsn47idrxn3j1vpwnik683fgc4afhi5mm4ij89b"
+   "commit": "8cf9e686c8c7bb725c724b5220a4a3ed17d005d0",
+   "sha256": "0i280w7nv6zdzpwsyc9njlz5n75awqgpmmh3wklzrfh7mh1vzp89"
   },
   "stable": {
    "version": [
     0,
     1,
-    4
+    5
    ],
-   "commit": "8c0d9bec38f717be1549e74839360e35587739e0",
-   "sha256": "1568fwh6y9584lyx57iq9ncw0xn4j1ywdbq38sk9hlpgbpsy8ln4"
+   "commit": "8cf9e686c8c7bb725c724b5220a4a3ed17d005d0",
+   "sha256": "0i280w7nv6zdzpwsyc9njlz5n75awqgpmmh3wklzrfh7mh1vzp89"
   }
  },
  {
@@ -59630,28 +59901,28 @@
   "repo": "ogdenwebb/emacs-kaolin-themes",
   "unstable": {
    "version": [
-    20210605,
-    1117
+    20210814,
+    1741
    ],
    "deps": [
     "autothemer",
     "cl-lib"
    ],
-   "commit": "7eb08e47bc5f227c72c318ff327c689ab54a7620",
-   "sha256": "181vnz6ancqhb13w9890pbplnw6lzbzcx3xkg4li9fk10lab72zk"
+   "commit": "716aae7e64637e1a7fdeed8ef5b278512b8076f9",
+   "sha256": "0h7ipf2n9bbp6k1qda1g634gvjx2p3x2g4nkf8473iihk8960k1p"
   },
   "stable": {
    "version": [
     1,
     6,
-    4
+    5
    ],
    "deps": [
     "autothemer",
     "cl-lib"
    ],
-   "commit": "c50bc11fdd42dc98ff806d1fc7cd94619c0ab7bb",
-   "sha256": "08ypmv43vjk1l409n894jxplnja6nicn2k3qwhwaf9qxhz0yxpjr"
+   "commit": "1e6d02784a1c1e9f537b45aa487ee16885283b60",
+   "sha256": "1prs055mx64ck6dhwsj5xx0pk90mhw0vbinxwr2chn68zkzyvf6g"
   }
  },
  {
@@ -59756,11 +60027,11 @@
   "repo": "ifosch/keepass-mode",
   "unstable": {
    "version": [
-    20210628,
-    729
+    20210110,
+    630
    ],
-   "commit": "fd7d380b762c888f25435d0c241012cdabf6e288",
-   "sha256": "1623hqlyk7qlvb5kigkyiji98a2vp39y0v6smag2mnqa3r89jq7l"
+   "commit": "515343a7667b2bf4253309449f65a6eb94933df7",
+   "sha256": "0hrq521swki0l3m81wk9p7pkc5j99li441fb75h7107v6z0p102c"
   },
   "stable": {
    "version": [
@@ -59828,11 +60099,11 @@
   "repo": "Boruch-Baum/emacs-key-assist",
   "unstable": {
    "version": [
-    20210415,
-    227
+    20210722,
+    758
    ],
-   "commit": "fae7ce265db3bcfd1c6153eb051afd8789e61a4b",
-   "sha256": "16gi43wgqqjqljnmjwap8lng1p4davv8prvpip034qw9v6vjmm2p"
+   "commit": "8e5cd089e0b2fedec57c55eeff74cdb6121441aa",
+   "sha256": "0lg8v6lsa62zhnlrz47hlda65ra6yfqijgz4jcl5vxcx2hgks8g8"
   },
   "stable": {
    "version": [
@@ -59982,10 +60253,10 @@
    "version": [
     1,
     1,
-    0
+    1
    ],
-   "commit": "a12ef1fb480b56c34c92f48fc7f7aa8a1d7c4c4b",
-   "sha256": "0093v1c5nl2bh1lvccqq6fzpgjald3yypp87dsim982aywl2vlv1"
+   "commit": "04ba7519f34421c235bac458f0192c130f732f12",
+   "sha256": "09xr0h2ag3pzlz455gv5h915vn1dz56gqx61jx3n7fc4a794pqxw"
   }
  },
  {
@@ -60327,8 +60598,8 @@
    "deps": [
     "cl-lib"
    ],
-   "commit": "388067e764bf3922234196e2e9dd9e8f664c634d",
-   "sha256": "0rxzl3rsa45jq8b8bjirsc6yry95zxlyp81v5r4hkvgyxqhcp3c1"
+   "commit": "534300796d5dc528462e2d5deb4c7a8932936909",
+   "sha256": "1kf4vbv2n2n5jp1qk1hh4f744h26h5283k0x6arpdpx5z7n9acqm"
   },
   "stable": {
    "version": [
@@ -60439,8 +60710,8 @@
     20210318,
     2106
    ],
-   "commit": "143ba31a0a5c23d8c1a8d6fb1972d94cc1d7f31c",
-   "sha256": "1daisqp687p0bpjk8mj7c3sxq9clwi25byzbk7yx8l15rcr1bhr5"
+   "commit": "49ef9ff24bf8f545243a30b1e49192d73c1b41f7",
+   "sha256": "0hs4d5fw1ic8vvzqiq7skb8ag2rdshmz71m2swl38s1bkhnbjbac"
   },
   "stable": {
    "version": [
@@ -60460,26 +60731,26 @@
   "repo": "stardiviner/kiwix.el",
   "unstable": {
    "version": [
-    20210219,
-    51
+    20210811,
+    31
    ],
    "deps": [
     "request"
    ],
-   "commit": "0c5e1619f079df822686cf42af5859111b6afd44",
-   "sha256": "179wsr1ffsl4hm4vnb0zzbw338jni5pz8ndgkfq21jppgzk8mlna"
+   "commit": "7d6039fa5d5d7561f42c4c2a93c698468ed34e70",
+   "sha256": "0g99qkch22ws3d8qwp91v0mysjh295bag1ak3bdl8q7rl015p9ik"
   },
   "stable": {
    "version": [
     1,
-    0,
-    0
+    1,
+    3
    ],
    "deps": [
-    "cl-lib"
+    "request"
    ],
-   "commit": "c662f3dc5d924a4b64b7af4af28f15f27b7cea1e",
-   "sha256": "0i11sfnqvjqqb625cgfzibs6yszx891y4dy7fd6wzmdpclcyzr8z"
+   "commit": "7d6039fa5d5d7561f42c4c2a93c698468ed34e70",
+   "sha256": "0g99qkch22ws3d8qwp91v0mysjh295bag1ak3bdl8q7rl015p9ik"
   }
  },
  {
@@ -60790,16 +61061,18 @@
   "repo": "kubernetes-el/kubernetes-el",
   "unstable": {
    "version": [
-    20210714,
-    1307
+    20210825,
+    1458
    ],
    "deps": [
     "dash",
     "magit-popup",
-    "magit-section"
+    "magit-section",
+    "transient",
+    "with-editor"
    ],
-   "commit": "ffdae05d4d0e83be5c6884326b69a8ca83f2ae2b",
-   "sha256": "1fjrl2w3gp5mbdg6mkw23h9zfn2h8rdmxgyw80p0jpm0b31yq1i0"
+   "commit": "96d9a6f1ab673a014fa9d84763ab6568ef2b9849",
+   "sha256": "06smpnwv5jj335fx2acgh28dlpa2h631l9qwmd3gi47q5x6yyshq"
   },
   "stable": {
    "version": [
@@ -60824,15 +61097,15 @@
   "repo": "kubernetes-el/kubernetes-el",
   "unstable": {
    "version": [
-    20210628,
-    2003
+    20210825,
+    258
    ],
    "deps": [
     "evil",
     "kubernetes"
    ],
-   "commit": "ffdae05d4d0e83be5c6884326b69a8ca83f2ae2b",
-   "sha256": "1fjrl2w3gp5mbdg6mkw23h9zfn2h8rdmxgyw80p0jpm0b31yq1i0"
+   "commit": "96d9a6f1ab673a014fa9d84763ab6568ef2b9849",
+   "sha256": "06smpnwv5jj335fx2acgh28dlpa2h631l9qwmd3gi47q5x6yyshq"
   },
   "stable": {
    "version": [
@@ -60964,14 +61237,14 @@
   "stable": {
    "version": [
     0,
-    1,
+    2,
     0
    ],
    "deps": [
     "seq"
    ],
-   "commit": "518203abc6cee13c73c2d91282354ed59f00f15e",
-   "sha256": "1s3fndzjhz0xvbhdb0y7raa7zqrpws1xm79blgfcxcrv2fbmbzan"
+   "commit": "02b1afad2c5649221abada2d938ef3736e020a96",
+   "sha256": "0idzyx6pxn8s78my9b4qjxz6561w6bzjvbp3yv267piyjgvwnzpc"
   }
  },
  {
@@ -60982,16 +61255,16 @@
   "repo": "tecosaur/LaTeX-auto-activating-snippets",
   "unstable": {
    "version": [
-    20210607,
-    1851
+    20210819,
+    1935
    ],
    "deps": [
     "aas",
     "auctex",
     "yasnippet"
    ],
-   "commit": "9d6f4448347fcf48d0fed51eba16423c9254c212",
-   "sha256": "0kfivjdjhlrbrn1z6i51y36s6f4qj386iy1jpcbvv33xa0lh5ksi"
+   "commit": "af78f6a6eec6f2f1096ed9b72fc0570458365423",
+   "sha256": "1aw534hw7s0iijsyzzf4k496xjrx983whxvy13n7yqdmzqp728fz"
   },
   "stable": {
    "version": [
@@ -61092,8 +61365,8 @@
     "highlight",
     "math-symbol-lists"
    ],
-   "commit": "138e6794122f8601e58731a365930bd7cf5791ea",
-   "sha256": "0zj3i612h0sih7lyy4zvzldcrgqmsqcvr4y42zv75r81s0l6gddz"
+   "commit": "4cf69db45aeeb01feb6b38c88b6aa2d01ae4da13",
+   "sha256": "1ihs24dqnbzj37y9zrwdwzwnr1xrxcs4qxm0z3d1bjalffai2x13"
   }
  },
  {
@@ -61218,25 +61491,25 @@
   "repo": "lassik/emacs-language-id",
   "unstable": {
    "version": [
-    20210708,
-    1719
+    20210822,
+    412
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "5ac941a38b193d680df6bb9e96b0508a33bb3133",
-   "sha256": "0vxvlvw6zmr2cn6vhci22yyn77n22pr2r4wmscm8j4693kdcqbdj"
+   "commit": "9efcd0f699bd7f1a55db7a62c8f1b547c6aeddb6",
+   "sha256": "1r2krv7a0gz5xpss17a15cdj004s0g4qrlqm4qascc1f5p9fgd9x"
   },
   "stable": {
    "version": [
     0,
-    14
+    16
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "5ac941a38b193d680df6bb9e96b0508a33bb3133",
-   "sha256": "0vxvlvw6zmr2cn6vhci22yyn77n22pr2r4wmscm8j4693kdcqbdj"
+   "commit": "9efcd0f699bd7f1a55db7a62c8f1b547c6aeddb6",
+   "sha256": "1r2krv7a0gz5xpss17a15cdj004s0g4qrlqm4qascc1f5p9fgd9x"
   }
  },
  {
@@ -61247,26 +61520,26 @@
   "repo": "PillFall/Emacs-LanguageTool.el",
   "unstable": {
    "version": [
-    20210621,
-    453
+    20210722,
+    702
    ],
    "deps": [
     "request"
    ],
-   "commit": "feea3f9271ce920490a0d9dcd11e669e3eaad1d0",
-   "sha256": "0vxq945x1yn86kpw7qbb686vb3pzyk7wma8g0dbval2m4hsbrn26"
+   "commit": "d3665a97cc87577f434a7476e1194b43f35408a8",
+   "sha256": "0gpnczvdwrcvvd162mi9nf55b0vzbpfmbhan1bqzc84rbjw0bzql"
   },
   "stable": {
    "version": [
     0,
     4,
-    2
+    3
    ],
    "deps": [
     "request"
    ],
-   "commit": "feea3f9271ce920490a0d9dcd11e669e3eaad1d0",
-   "sha256": "0vxq945x1yn86kpw7qbb686vb3pzyk7wma8g0dbval2m4hsbrn26"
+   "commit": "d3665a97cc87577f434a7476e1194b43f35408a8",
+   "sha256": "0gpnczvdwrcvvd162mi9nf55b0vzbpfmbhan1bqzc84rbjw0bzql"
   }
  },
  {
@@ -61623,16 +61896,16 @@
   "repo": "conao3/leaf-convert.el",
   "unstable": {
    "version": [
-    20201012,
-    41
+    20210816,
+    1103
    ],
    "deps": [
     "leaf",
     "leaf-keywords",
     "ppp"
    ],
-   "commit": "c5bce825e4a171076c8f93692111979bcb428cdc",
-   "sha256": "09g4ibd0afdv54cim45ab69cc7zsmx8n0100wqwakmhvpq8g4kf6"
+   "commit": "da86654f1021445cc42c1a5a9195f15097352209",
+   "sha256": "14pvdkknbng44frlf8accpqd1bc9j99x7xjymgrdbyczbq2srv4n"
   }
  },
  {
@@ -61662,14 +61935,14 @@
   "repo": "conao3/leaf-keywords.el",
   "unstable": {
    "version": [
-    20210711,
-    156
+    20210816,
+    1107
    ],
    "deps": [
     "leaf"
    ],
-   "commit": "f46311f8e7e5ce0d5af928fea99111b3c86de7ce",
-   "sha256": "1qlg6n5yaagq97x3c2r58pcblk0gz4bysg3cgm5iq3sq9lpf3h2n"
+   "commit": "849b579f87c263e2f1d7fb7eda93b6ce441f217e",
+   "sha256": "00fnkk6hl9l64dgmkhsqibhna7gdpazs4j28f7833n1dmg626ki6"
   },
   "stable": {
    "version": [
@@ -61814,11 +62087,11 @@
   "repo": "pfitaxel/learn-ocaml.el",
   "unstable": {
    "version": [
-    20210527,
-    1449
+    20210820,
+    2243
    ],
-   "commit": "b8ba2a0bf56b751f077f13137a1904d66061a4d0",
-   "sha256": "0cc9s00flbih3kkbkan7xfqlv5qq9j4cz52ljj4xyxbf51r2lh0z"
+   "commit": "bcc48c818e34d518a0513e9d2c26fd92b3989c27",
+   "sha256": "1bv57ymdfs848347ckcl0c7jxdjzs12hpg7mcdih04yrlbvxrhq1"
   }
  },
  {
@@ -61966,8 +62239,8 @@
   "repo": "phillord/lentic",
   "unstable": {
    "version": [
-    20190102,
-    2124
+    20210727,
+    1247
    ],
    "deps": [
     "dash",
@@ -61975,8 +62248,8 @@
     "m-buffer",
     "s"
    ],
-   "commit": "e6d013bf570bb235817f6c8f0abdd31d3b456d53",
-   "sha256": "0ksmb5mvcpa699bw62fkhrx1i8adgrzsbc2fivfsimq54y25rdd7"
+   "commit": "36861bdf9c1d88492648da553f66529e3a879880",
+   "sha256": "0cj19czxmrxw1id1ym1ai3k7sv9shl3lz4fqj8qyg73j4kj1gbn0"
   },
   "stable": {
    "version": [
@@ -62150,15 +62423,30 @@
   "repo": "tecosaur/lexic",
   "unstable": {
    "version": [
-    20210318,
-    1315
+    20210729,
+    1808
+   ],
+   "commit": "25c8d839cf78332c15b5762024ccb5f7c90b7a11",
+   "sha256": "14x4a6dw9ywzl16f4blg7bmb0rvvik5jjldilshjdxf4zpvy80fd"
+  }
+ },
+ {
+  "ename": "lf",
+  "commit": "8073246c85cf632c01c14c48c453e1fd80d49569",
+  "sha256": "1rs5lik11xqpm624p6l02vdmf0zsmlz422s0d1wlz3f5hnchv7p2",
+  "fetcher": "github",
+  "repo": "alhassy/lf",
+  "unstable": {
+   "version": [
+    20210808,
+    1921
    ],
    "deps": [
     "dash",
-    "visual-fill-column"
+    "s"
    ],
-   "commit": "4ded6be2ce3e8dadc5635a534827181a8c8ab602",
-   "sha256": "116qjizqa83zy6xas5cah58sf22ha05pps2004wfgng487ln9n59"
+   "commit": "35db92ca765a0544721fdeea036d77b7d192d083",
+   "sha256": "0c22347dfrjdrn0cn4bqqsw8gd1663hkgycxkfivpyg0d734g5nq"
   }
  },
  {
@@ -62172,8 +62460,8 @@
     20210603,
     1241
    ],
-   "commit": "8b73426766029eb541b69f49cc49b9dfa1c616be",
-   "sha256": "101mpzj38w6cng09aq5rq4ly4a0p9zgr8jmbvlkf12i8k03lsfsv"
+   "commit": "f39ec6a9b93f09e1a49ee84405d1e03e04adc7cf",
+   "sha256": "0ri06q30z699amw7a94a14ccf83zx547przviqw0wla3l2xaw26j"
   },
   "stable": {
    "version": [
@@ -62253,8 +62541,8 @@
   "repo": "merrickluo/liberime",
   "unstable": {
    "version": [
-    20200915,
-    542
+    20210526,
+    623
    ],
    "commit": "4a6da0f6ab9b43651f3fcc73412e3480b9403caa",
    "sha256": "04ag7icqqdhz40fi91fx4bxx8j6vw2774gw1fbppbks3sasimyy0"
@@ -62324,6 +62612,24 @@
   }
  },
  {
+  "ename": "librera-sync",
+  "commit": "94c396858f0958e0c211de01aaa8971f2c09d398",
+  "sha256": "03vqm8rkjcgdzk8ywyvkxrxvpijrg2938zwp955rlgc0blbbra14",
+  "fetcher": "github",
+  "repo": "jumper047/librera-sync",
+  "unstable": {
+   "version": [
+    20210810,
+    529
+   ],
+   "deps": [
+    "f"
+   ],
+   "commit": "b36ab4f3d8c9df1ed28d78b7d517e90195c97244",
+   "sha256": "0qmpk52j4fq5rp2kmsm9z8i97x6p458h2xvb53kv03r69ncxc595"
+  }
+ },
+ {
   "ename": "lice",
   "commit": "2508699ebfc846742940c5e4356b095b540e2405",
   "sha256": "1hv2hz3153x0gk7f2js18dbx5pyprfdf2pfxb658fj16vxpp7y6x",
@@ -62420,17 +62726,17 @@
     20210303,
     1751
    ],
-   "commit": "4a785dbbf4f906584716bb14c92230beda5081ed",
-   "sha256": "0vkqp8ck21hhwfnfvmxfwrb3dnkqk4072n4jr7w6ivvhs555srdd"
+   "commit": "c66377f83a7b178b6e6d8bef5c844420c47ecbdd",
+   "sha256": "083a97h9ir3qqc39z7dg03k75rg3knza1lzarp6fagxbxl25cprg"
   },
   "stable": {
    "version": [
     0,
-    20,
+    23,
     0
    ],
-   "commit": "89c2f0ad779b8d15581a3607beb55855b0da8737",
-   "sha256": "0vkqp8ck21hhwfnfvmxfwrb3dnkqk4072n4jr7w6ivvhs555srdd"
+   "commit": "f3a1d941a08443d034a6c2e090b82ca5c28bdd86",
+   "sha256": "083a97h9ir3qqc39z7dg03k75rg3knza1lzarp6fagxbxl25cprg"
   }
  },
  {
@@ -62581,14 +62887,14 @@
   "repo": "noctuid/link-hint.el",
   "unstable": {
    "version": [
-    20150922,
-    451
+    20210727,
+    1302
    ],
    "deps": [
     "avy"
    ],
-   "commit": "9fbf196d155016d9b8471a99318ed67a086cf257",
-   "sha256": "0v2g9gzf2v88ag59q1pf5vhd4qjnz3g4i6gzl27k6fi7pvlxdn39"
+   "commit": "d3c5bacc9c697c4cf8b14616c4199210f9267068",
+   "sha256": "1d25lf556c9idr0slzakcks93rcw032bp1hbbcqffrljqzapxz4x"
   }
  },
  {
@@ -62785,8 +63091,8 @@
   "repo": "abo-abo/lispy",
   "unstable": {
    "version": [
-    20210702,
-    1206
+    20210809,
+    1001
    ],
    "deps": [
     "ace-window",
@@ -62795,8 +63101,8 @@
     "iedit",
     "zoutline"
    ],
-   "commit": "e9731aa95581951ab2cbfaed28f0ac7d71124ac0",
-   "sha256": "12vvh1z72bhvh4yhm0r7c3wl3iplf45qkdqk92xc0mp3zf9w6c5g"
+   "commit": "5ef2e8967f1015e3936ee7a5bf3d3c4b93d5c3a7",
+   "sha256": "0a5gj6sa49lbn753r6b3xvxxjy2f2c2jv53y79g7mqgr7w6dcx40"
   },
   "stable": {
    "version": [
@@ -62843,11 +63149,11 @@
   "repo": "dgtized/list-environment.el",
   "unstable": {
    "version": [
-    20151227,
-    256
+    20210810,
+    1612
    ],
-   "commit": "b7ca30b05905047be2e55199a6475f8d98ce318b",
-   "sha256": "1szbs16jlxfj71986dbg0d3j5raaxcwz0xq5ar352731r5mdcqw4"
+   "commit": "a07dc2d2da83ac13abf59eb3de941e5069e9a1e9",
+   "sha256": "1wq3mxp3pl3gs2a6n9lh22wv2x4kaflghr03jbh4ahj42n0hnzv4"
   }
  },
  {
@@ -62935,6 +63241,32 @@
   }
  },
  {
+  "ename": "lister",
+  "commit": "944fe22bd0f893334afb8f60aa1a8bec1158849d",
+  "sha256": "0r9lqp32bd487l90jglxlgrxyqbxmlhavhmlnys835p13wdrzpnp",
+  "fetcher": "github",
+  "repo": "publicimageltd/lister",
+  "unstable": {
+   "version": [
+    20210812,
+    1729
+   ],
+   "commit": "a8cc3c5d1f0f4b710e15e76477eae40a99a79ad7",
+   "sha256": "0n6xiyx9syxxq7867ir1nrm5bzjilrp7vcjch279754v238lgcpf"
+  },
+  "stable": {
+   "version": [
+    0,
+    7
+   ],
+   "deps": [
+    "seq"
+   ],
+   "commit": "06eac24b6d229eb559eb7f8e6097614e647b4dab",
+   "sha256": "1mdmpm9iv0zfv64sjnfvx8pqm7vi8v053f2rpj7glkgm8nmms5lb"
+  }
+ },
+ {
   "ename": "lit-mode",
   "commit": "7a6a1c79c9bba7b17c150ea0663bc61936f15d83",
   "sha256": "05rf7ki060nqnvircn0dkpdrg7xbh7phb8bqgsab89ycc7l9vv59",
@@ -63209,8 +63541,8 @@
     20210701,
     1955
    ],
-   "commit": "db1f98cc470972f92d72f40b78db4baff5768edd",
-   "sha256": "1wgqcb4m5nzkbxkvdx801h9d1wqswlqmqbar4282wabgnw78zwwy"
+   "commit": "21fcb1a86167e93bf847d60f4f1b4e99eb2f1641",
+   "sha256": "0rl1cmlx1g07ncyksj1ydi5mvy58ax67jnzdfq6c3s5jlc93kxwd"
   },
   "stable": {
    "version": [
@@ -63350,11 +63682,11 @@
   "url": "https://hg.serna.eu/emacs/lms",
   "unstable": {
    "version": [
-    20201214,
-    1852
+    20210820,
+    2200
    ],
-   "commit": "e6dae7465423a5304d0e38e92625383d07fe6f52",
-   "sha256": "1axxfh96pl2s0c301ak1gjh10k744wafnza3qx4sqaxcka5f6hc9"
+   "commit": "05c8fd16ff94590393b6b0a9cb193ec9572a9c97",
+   "sha256": "1aihvp446aci9pxg44ii4pickm04qf6k80mczn2xv8dddjh731sf"
   }
  },
  {
@@ -63590,6 +63922,40 @@
   }
  },
  {
+  "ename": "logms",
+  "commit": "bd2169076b021407552523282ba1df0ae1aec311",
+  "sha256": "1jrqya88ii3l4p9044w8x9nbnfm7gpw9kq0ycsclwyap3n71fm0r",
+  "fetcher": "github",
+  "repo": "jcs-elpa/logms",
+  "unstable": {
+   "version": [
+    20210721,
+    349
+   ],
+   "deps": [
+    "f",
+    "ht",
+    "s"
+   ],
+   "commit": "497eb1fa71340a8d7758dd7c8115de05ab452129",
+   "sha256": "1c5psadb590wbcqab0bjdfdsfd3rninbahr42pbi8gvdg0ay9qws"
+  },
+  "stable": {
+   "version": [
+    0,
+    3,
+    1
+   ],
+   "deps": [
+    "f",
+    "ht",
+    "s"
+   ],
+   "commit": "68bab96a13d64efdf4f5951d931d0862e6861fb5",
+   "sha256": "137z22qyfz0d58iqb8w3lcz5cr2ddi0h2xdns90r979b68lhsj56"
+  }
+ },
+ {
   "ename": "lognav-mode",
   "commit": "a5b0dadc609d13737d56657c17a945f10e840222",
   "sha256": "1fg2j63f6yaf4011vla36p1p0pjixzisff4wj80vh634yqvwp4ys",
@@ -63775,6 +64141,30 @@
   }
  },
  {
+  "ename": "loophole",
+  "commit": "7e7fc46019643eb495bee45efa91fad01c6afc76",
+  "sha256": "0ff9cidkx9slz34shxn5hs6j3ql7pfl0yf6dc01lsdc76mmw2kk9",
+  "fetcher": "github",
+  "repo": "0x60df/loophole",
+  "unstable": {
+   "version": [
+    20210825,
+    1323
+   ],
+   "commit": "9127dd0876567c8db306793e9c5e8151b9ab392c",
+   "sha256": "00mvvxrbz0qd73a5jqdlfd1s1mxkw63lcyy5mklp5amfrznwp6m6"
+  },
+  "stable": {
+   "version": [
+    0,
+    6,
+    4
+   ],
+   "commit": "5f280e036cad9617212f68348ab5bed159740970",
+   "sha256": "1ks5hm67100ri0v9mxsgs057laadmkpv01f7g0bn3f3d8kpkizda"
+  }
+ },
+ {
   "ename": "loopy",
   "commit": "7f4e68f6feb5d0082580cc28f6184a6091e7c117",
   "sha256": "1w4416vjbbba80bhcalpvr9ram1ijk3y9687525p3wicrfylx9s3",
@@ -63782,14 +64172,14 @@
   "repo": "okamsn/loopy",
   "unstable": {
    "version": [
-    20210710,
-    228
+    20210811,
+    244
    ],
    "deps": [
     "map"
    ],
-   "commit": "f3f81affc88e6cb9efbc5440b26e081cffddd311",
-   "sha256": "0ibag71yz92abhbxsry3sby7g5361n4y7qac5myav2rj4bcjsl0n"
+   "commit": "c37b669a12337fa04c3dad96bd52e9ae961f14e8",
+   "sha256": "038440d1ki353nkkiphp46z19y9n8q3l4f4fw01wgi21mdai2y7w"
   }
  },
  {
@@ -63800,15 +64190,15 @@
   "repo": "okamsn/loopy",
   "unstable": {
    "version": [
-    20210705,
-    2006
+    20210810,
+    307
    ],
    "deps": [
     "dash",
     "loopy"
    ],
-   "commit": "f3f81affc88e6cb9efbc5440b26e081cffddd311",
-   "sha256": "0ibag71yz92abhbxsry3sby7g5361n4y7qac5myav2rj4bcjsl0n"
+   "commit": "c37b669a12337fa04c3dad96bd52e9ae961f14e8",
+   "sha256": "038440d1ki353nkkiphp46z19y9n8q3l4f4fw01wgi21mdai2y7w"
   }
  },
  {
@@ -63875,8 +64265,8 @@
   "repo": "emacs-lsp/lsp-dart",
   "unstable": {
    "version": [
-    20210715,
-    1659
+    20210819,
+    106
    ],
    "deps": [
     "dap-mode",
@@ -63887,14 +64277,14 @@
     "lsp-treemacs",
     "pkg-info"
    ],
-   "commit": "8481da68a9df4061bc2cd884a3b73c14e8fb4bea",
-   "sha256": "1accwvgwjp6j82i26788g3k9zc4al9xjw700cpdgsxw7mn6lkw8n"
+   "commit": "ac52f45742fa5862611b3af04ac679076f100144",
+   "sha256": "13h2qmhlva5i64n2ybgar71mxnrvxzybh6gwb8xv02zjbbdy9im7"
   },
   "stable": {
    "version": [
     1,
     19,
-    1
+    2
    ],
    "deps": [
     "dap-mode",
@@ -63905,8 +64295,8 @@
     "lsp-treemacs",
     "pkg-info"
    ],
-   "commit": "8481da68a9df4061bc2cd884a3b73c14e8fb4bea",
-   "sha256": "1accwvgwjp6j82i26788g3k9zc4al9xjw700cpdgsxw7mn6lkw8n"
+   "commit": "ac52f45742fa5862611b3af04ac679076f100144",
+   "sha256": "13h2qmhlva5i64n2ybgar71mxnrvxzybh6gwb8xv02zjbbdy9im7"
   }
  },
  {
@@ -63924,8 +64314,8 @@
     "dash",
     "lsp-mode"
    ],
-   "commit": "49a6bab0b1ad88d220305dbe3a0a14d368f62354",
-   "sha256": "1i3gywik5m9j797c69ng70bs28qdww9662sjl6y232rw19rya93b"
+   "commit": "7039afe9507467e0b1c1fba485f26a7892463bc5",
+   "sha256": "1f0k76ic6cv6kdszy38jfi5wbv1i9qqp3gnn63j4p0f0xj0ppsgw"
   }
  },
  {
@@ -64006,15 +64396,15 @@
   "repo": "emacs-lsp/lsp-haskell",
   "unstable": {
    "version": [
-    20210621,
-    1334
+    20210813,
+    1040
    ],
    "deps": [
     "haskell-mode",
     "lsp-mode"
    ],
-   "commit": "eb37ac4a6a43277263bbb17aed6a862a0992ae8e",
-   "sha256": "04pcwcw5bq6hs0zr553sf9isbslp4pbahbch0yb0l472ihlbcxwh"
+   "commit": "4e62cf897dd9e9fcef25c6e8e483490a07a5d439",
+   "sha256": "027j70422h4r82hnqkamxl84n0844hlf0fvh3h3ah7f751hynylb"
   }
  },
  {
@@ -64076,8 +64466,8 @@
   "repo": "emacs-lsp/lsp-java",
   "unstable": {
    "version": [
-    20210710,
-    1757
+    20210806,
+    1842
    ],
    "deps": [
     "dap-mode",
@@ -64089,8 +64479,8 @@
     "request",
     "treemacs"
    ],
-   "commit": "b66a075bcb1edf57b09a0e1c73c3a399596d4760",
-   "sha256": "1s47y8hd9mnvz858h3sbdbdgrv3d1kdxag8flm44jla4yhgish7g"
+   "commit": "2a7d27e899edf7ad221a546ed67711ef5487f3ec",
+   "sha256": "0w5rq9g3gr5miqkhbj400r7gazsxs4lf9906y7a3p2avr400h930"
   },
   "stable": {
    "version": [
@@ -64201,14 +64591,14 @@
   "repo": "ROCKTAKEY/lsp-latex",
   "unstable": {
    "version": [
-    20210608,
-    1330
+    20210815,
+    1426
    ],
    "deps": [
     "lsp-mode"
    ],
-   "commit": "d1da153dbc762c5262f6e2a10264cc9075ebb6fc",
-   "sha256": "06vb7dxmjdc86zmv1i4qckx1isv0kvp5h0av2b4cnaci76bjh3s3"
+   "commit": "3f6b2ac9585682828eef81f895757f74cfba7309",
+   "sha256": "0da1fyw0h95hzjippqng9h68kykd0610a074wp4cwlsa4xffhjji"
   },
   "stable": {
    "version": [
@@ -64231,15 +64621,15 @@
   "repo": "emacs-languagetool/lsp-ltex",
   "unstable": {
    "version": [
-    20210715,
-    942
+    20210813,
+    916
    ],
    "deps": [
     "f",
     "lsp-mode"
    ],
-   "commit": "b9a930757c71f7eb30a0828a502a237bfd882b43",
-   "sha256": "1hsq4jjz79bb1wl8m65n2zmx10mr8zc7dmg5sp6z6sprgyb3vndh"
+   "commit": "d9148a65961432b6ea8a4cd20c225f8c188e6dbe",
+   "sha256": "0v5q51jxkxmm6pipvq9jf2s33mnrf8679ymx5fg51pk1hv0svcih"
   },
   "stable": {
    "version": [
@@ -64262,8 +64652,8 @@
   "repo": "emacs-lsp/lsp-metals",
   "unstable": {
    "version": [
-    20210615,
-    1413
+    20210815,
+    929
    ],
    "deps": [
     "dap-mode",
@@ -64275,8 +64665,8 @@
     "scala-mode",
     "treemacs"
    ],
-   "commit": "9f82ebee48d32cd7bbc3e64b84d1ef5b0926195b",
-   "sha256": "1l4sxkmlif6dlh6j11fgy6z7hs4739jdcazm0y35cbhq9bspxsnx"
+   "commit": "ca927e5a837c4e613727c804a14d9c8d36ecfcdc",
+   "sha256": "0yz4z53iwrz7kz45fqsy3921badcszn6c8zwxsnzgw2qd191hwy1"
   },
   "stable": {
    "version": [
@@ -64306,8 +64696,8 @@
   "repo": "emacs-lsp/lsp-mode",
   "unstable": {
    "version": [
-    20210715,
-    1320
+    20210825,
+    1531
    ],
    "deps": [
     "dash",
@@ -64317,8 +64707,8 @@
     "markdown-mode",
     "spinner"
    ],
-   "commit": "cd47168035c98c6ebf9177705b9b7da53fcc9f5f",
-   "sha256": "1q1isn2g09pdczqdvbk5hjirym6106ip1z6klg1m2d5b9d8vx0l2"
+   "commit": "0b4bfd43474b5e317e617834261a2b528e3f8ed4",
+   "sha256": "1flzknh7mls1fg4w72iv36k77lrpkaysxdd0z922xqsg6x48znb9"
   },
   "stable": {
    "version": [
@@ -64474,8 +64864,8 @@
     "ht",
     "lsp-mode"
    ],
-   "commit": "71a79760938d2132923fbff58dc25301892b1654",
-   "sha256": "0si9qca8lml2hd8zj420dmks4cwzfidq14h3xfczhvrshhsc0mny"
+   "commit": "72fd57643d2e8eccb9a55058ec0c89bdc04dba7d",
+   "sha256": "1p90d85bm51fjxy4q3fxjc4xj2vzabyi9db1bjl2j0q9pr2yphsz"
   }
  },
  {
@@ -64492,8 +64882,8 @@
    "deps": [
     "lsp-mode"
    ],
-   "commit": "4eb78c43046fceb53a66ccd24c85601bdb87ed17",
-   "sha256": "10d949gb3v7flnkb5khk11dcmfnlr4h02yfj8g3b0ihr1zr7c958"
+   "commit": "4061bc25aaddacb2fb848df08dd8bbbc12975814",
+   "sha256": "1ds19l8gvilc6bkqh7s1b5f1v4p79xkdjrq3kln0zawqsszr2crs"
   },
   "stable": {
    "version": [
@@ -64535,16 +64925,16 @@
   "repo": "emacs-lsp/lsp-sonarlint",
   "unstable": {
    "version": [
-    20200821,
-    1703
+    20210820,
+    2044
    ],
    "deps": [
     "dash",
     "ht",
     "lsp-mode"
    ],
-   "commit": "ef32b6f734323698fc8ba28646a07515aaafea44",
-   "sha256": "0mgz6y4x6wy4afh15ara8iv0irk8hkbf8gq2aj9gdandh86iq048"
+   "commit": "3af97828f9c08d782fb2086e3a73bda5759e6788",
+   "sha256": "1d1yfgvdyas6vbg992f5s4sayaxjxs33gh13z629x67hx6p22n3r"
   },
   "stable": {
    "version": [
@@ -64643,16 +65033,16 @@
   "repo": "emacs-lsp/lsp-ui",
   "unstable": {
    "version": [
-    20210708,
-    134
+    20210820,
+    1331
    ],
    "deps": [
     "dash",
     "lsp-mode",
     "markdown-mode"
    ],
-   "commit": "1ee371765612b7aaa6046aabdc2f65bcfcb93b11",
-   "sha256": "051hc6310zzn9qpvd9k8cj7ibzsk1k19l2485c5wra0fvm2lfa6x"
+   "commit": "5d643fbb0c4ef5fc4ee93d9894bf68388095160a",
+   "sha256": "0005kcj9kr76d5cgviyyfjm9mm13ncra08p8s903b50sm2hsxpp8"
   },
   "stable": {
    "version": [
@@ -64678,18 +65068,18 @@
   "repo": "immerrr/lua-mode",
   "unstable": {
    "version": [
-    20210619,
-    652
+    20210809,
+    1320
    ],
-   "commit": "2bd9077dd0405efc9276f612e24a345698c539c4",
-   "sha256": "0ldk6v7c3xamyhq6zwp2l79iyxfan0qmlycsvj39z3fljaz953z0"
+   "commit": "5a9bee8d5fc978dc64fcb677167417010321ba65",
+   "sha256": "1w67k5wlyz9cyxgxka4ffgzszam45dxy4164xalwr16cgyhpnx05"
   },
   "stable": {
    "version": [
-    20201010
+    20210802
    ],
-   "commit": "345ebfc1e236d9676e7e9f7364493785e7756348",
-   "sha256": "0yx0h5kir8r3mi9vqpwsz8nsh1b1w7zk0hahn9003j3dxzi755lv"
+   "commit": "7ee3febab01aeacfd33357124e7f605e1e110d99",
+   "sha256": "0qb46p91l0pcrjswr49qvq4z8cjwz56zywz35qdb5x7q90hwczak"
   }
  },
  {
@@ -65006,15 +65396,15 @@
   "repo": "nbfalcon/macrostep-geiser",
   "unstable": {
    "version": [
-    20210324,
-    2141
+    20210717,
+    801
    ],
    "deps": [
     "geiser",
     "macrostep"
    ],
-   "commit": "8600fca05fd12a2e0ffe63238ddbfcb37c285dac",
-   "sha256": "1912hxbb7mbra91vjw1fnzbb4fd9ri59lc1hcrw196c7a4hzgv0y"
+   "commit": "f6a2d5bb96ade4f23df557649af87ebd0cc45125",
+   "sha256": "0dykvwcvg8n24z3fkx6rv3l1mhzmca4cxj0gsvvqsg9wp0az1fc7"
   }
  },
  {
@@ -65106,11 +65496,11 @@
   "repo": "roadrunner1776/magik",
   "unstable": {
    "version": [
-    20200304,
-    1323
+    20210728,
+    1354
    ],
-   "commit": "e54f934952cde3f96d6a131968295d993b3cf624",
-   "sha256": "1yivbgbcy5qvs55dn5lx08mbkmsd4mriymas9jgh7rn6hl14x8hj"
+   "commit": "d221002128b7954fb5705c37b974223514a9c4f0",
+   "sha256": "0h04i2xif8iqlrp85kp3p34snzhfcgqcf65asd1qblh0qlhp37gn"
   },
   "stable": {
    "version": [
@@ -65130,8 +65520,8 @@
   "repo": "magit/magit",
   "unstable": {
    "version": [
-    20210716,
-    1440
+    20210822,
+    529
    ],
    "deps": [
     "dash",
@@ -65140,13 +65530,13 @@
     "transient",
     "with-editor"
    ],
-   "commit": "bf9cc19a3287f6a3cc5c1836312f0d18b38b6e45",
-   "sha256": "0zjcvhjp4c01ibb1hshpqkib7fvjkmvh9xf06qfsm5ybdc04xik5"
+   "commit": "5a0cf9aaa9acf53c68c0fe98883c081aa5e29dd3",
+   "sha256": "16ihqh9aqjgjs14p5i17bw0wrcc1kpzvj62fn7bk8almdy6ph4dn"
   },
   "stable": {
    "version": [
     3,
-    1,
+    2,
     1
    ],
    "deps": [
@@ -65156,8 +65546,8 @@
     "transient",
     "with-editor"
    ],
-   "commit": "143d95cced1ee793106d16da3a182dcc2dd01e88",
-   "sha256": "0sn4iiicmqfqmvi7zwii6qdp35k09kqn36rpalv0w1i4jcm6j9kk"
+   "commit": "b70f660e36c024fa9319ea0e2977e45ef3c6f3ac",
+   "sha256": "179mgh8l5p7fhfmbg5rz810mhbzsxqsxd66jdb2a68vsazs1jw2m"
   }
  },
  {
@@ -65168,15 +65558,15 @@
   "repo": "magit/magit-annex",
   "unstable": {
    "version": [
-    20210525,
-    2331
+    20210817,
+    2049
    ],
    "deps": [
     "cl-lib",
     "magit"
    ],
-   "commit": "17e5e60b59eac3cf5938c1b22c29458c0d694b0a",
-   "sha256": "0ak4chfn95p2vj3y0wiyimj609a4jfzrfpsc1kn0is1jv3dlkl6c"
+   "commit": "4271a086635ef2e1ca54b81afeda896b65b3ac25",
+   "sha256": "10wfd113js54zykmsm84z1h4hn10hnb5a7wl9x5770g9asg0dnqa"
   },
   "stable": {
    "version": [
@@ -65320,26 +65710,27 @@
   "repo": "emacsorphanage/magit-gerrit",
   "unstable": {
    "version": [
-    20210414,
-    1334
+    20210817,
+    1949
    ],
    "deps": [
     "magit",
     "transient"
    ],
-   "commit": "31f5ce30e374716818df7deb0cdbf462ef67e679",
-   "sha256": "08pwdjknd7407922w7gli76ji87zqj9j87sinhzjc38cnlhvm77n"
+   "commit": "45ed8559171a6392d305f6626d0a8228341f88b2",
+   "sha256": "0ghcxhi7zwk44lyckbs8n4g7ip9ab8n5bgv45r3xv49snnv5glpx"
   },
   "stable": {
    "version": [
     0,
-    3
+    4
    ],
    "deps": [
-    "magit"
+    "magit",
+    "transient"
    ],
-   "commit": "699c5c39c6dbdc8d730721eaf1491f982dd78142",
-   "sha256": "0ym24gjd6c04zry08abcb09zvjbgj8nc1j12q0r51fhzzadxcxbb"
+   "commit": "4f6212e1b19d65e422da1a3c8f54a1a5ab396a2c",
+   "sha256": "1q4kcr2ha2kir7pj0cshmgllgq51543syxkkk5jk3ksfiaba4crj"
   }
  },
  {
@@ -65480,28 +65871,28 @@
   "repo": "magit/magit",
   "unstable": {
    "version": [
-    20210702,
-    819
+    20210806,
+    1607
    ],
    "deps": [
     "libgit",
     "magit"
    ],
-   "commit": "bf9cc19a3287f6a3cc5c1836312f0d18b38b6e45",
-   "sha256": "0zjcvhjp4c01ibb1hshpqkib7fvjkmvh9xf06qfsm5ybdc04xik5"
+   "commit": "5a0cf9aaa9acf53c68c0fe98883c081aa5e29dd3",
+   "sha256": "16ihqh9aqjgjs14p5i17bw0wrcc1kpzvj62fn7bk8almdy6ph4dn"
   },
   "stable": {
    "version": [
     3,
-    1,
+    2,
     1
    ],
    "deps": [
     "libgit",
     "magit"
    ],
-   "commit": "143d95cced1ee793106d16da3a182dcc2dd01e88",
-   "sha256": "0sn4iiicmqfqmvi7zwii6qdp35k09kqn36rpalv0w1i4jcm6j9kk"
+   "commit": "b70f660e36c024fa9319ea0e2977e45ef3c6f3ac",
+   "sha256": "179mgh8l5p7fhfmbg5rz810mhbzsxqsxd66jdb2a68vsazs1jw2m"
   }
  },
  {
@@ -65649,26 +66040,26 @@
   "repo": "magit/magit",
   "unstable": {
    "version": [
-    20210702,
-    822
+    20210819,
+    1119
    ],
    "deps": [
     "dash"
    ],
-   "commit": "bf9cc19a3287f6a3cc5c1836312f0d18b38b6e45",
-   "sha256": "0zjcvhjp4c01ibb1hshpqkib7fvjkmvh9xf06qfsm5ybdc04xik5"
+   "commit": "5a0cf9aaa9acf53c68c0fe98883c081aa5e29dd3",
+   "sha256": "16ihqh9aqjgjs14p5i17bw0wrcc1kpzvj62fn7bk8almdy6ph4dn"
   },
   "stable": {
    "version": [
     3,
-    1,
+    2,
     1
    ],
    "deps": [
     "dash"
    ],
-   "commit": "143d95cced1ee793106d16da3a182dcc2dd01e88",
-   "sha256": "0sn4iiicmqfqmvi7zwii6qdp35k09kqn36rpalv0w1i4jcm6j9kk"
+   "commit": "b70f660e36c024fa9319ea0e2977e45ef3c6f3ac",
+   "sha256": "179mgh8l5p7fhfmbg5rz810mhbzsxqsxd66jdb2a68vsazs1jw2m"
   }
  },
  {
@@ -65765,8 +66156,8 @@
   "repo": "alphapapa/magit-todos",
   "unstable": {
    "version": [
-    20201101,
-    2240
+    20210811,
+    459
    ],
    "deps": [
     "async",
@@ -65775,10 +66166,11 @@
     "hl-todo",
     "magit",
     "pcre2el",
-    "s"
+    "s",
+    "transient"
    ],
-   "commit": "78d24cf419138b543460f40509c8c1a168b52ca0",
-   "sha256": "0jwi7hz7gpz4sg7n38apwpnga6haqad8pshyvl0d8imlz2a0hkpi"
+   "commit": "60152d5c4e4b73e72e15f23ca16e8cc7734906bc",
+   "sha256": "1ri53hnhamp3b9nh9dld6wxjvsxrk883kw900gglvw962ndimx5x"
   },
   "stable": {
    "version": [
@@ -66450,19 +66842,19 @@
   "repo": "minad/marginalia",
   "unstable": {
    "version": [
-    20210716,
-    1252
+    20210823,
+    1004
    ],
-   "commit": "b5893884abeb6a355233edf54e0f63d04bc32ce2",
-   "sha256": "0cjabw0ia9rnb3idmv9s6i4izgklxkiax8zn5xw1c6n8ls5iwbqj"
+   "commit": "207eb405706f5415dd0daf490925648fd058cc42",
+   "sha256": "0sgb4682kz6qyrj4il551yvcz7kbnblh8yxbysjw4psn3aayyam0"
   },
   "stable": {
    "version": [
     0,
-    7
+    8
    ],
-   "commit": "9796fada769f44cb8e05914bd6be3fcc15d791e2",
-   "sha256": "0yn6dybvsdhr37hnadmbfqi7pf7scxr9z6a6ghsqbrghycddd0mc"
+   "commit": "b65d66e9301f9a0e3012568ca6721ae4ec276ebc",
+   "sha256": "1d6xbidxcxd5gxs5cjxbx1i1wdcmgdnn3hh7fxz0sgf1gaxyp5kv"
   }
  },
  {
@@ -66570,11 +66962,11 @@
   "repo": "jrblevin/markdown-mode",
   "unstable": {
    "version": [
-    20210710,
-    1646
+    20210819,
+    57
    ],
-   "commit": "359347b2bb15f8d7ef819692ac79759ccfe2c85d",
-   "sha256": "1naqcg0a5shzcg0rlqs6w5mlr7sn0b8b2hmhs07qawvpxln8j628"
+   "commit": "0839d0709e116584bd070305e4a0d28bd03bc547",
+   "sha256": "04xsls7lffvhxif9c5z3ycq80yf0l31z9znmj9m3z132k7rz3bs4"
   },
   "stable": {
    "version": [
@@ -66913,15 +67305,15 @@
   "repo": "matsievskiysv/math-preview",
   "unstable": {
    "version": [
-    20210219,
-    1431
+    20210729,
+    1842
    ],
    "deps": [
     "dash",
     "s"
    ],
-   "commit": "08aa7c47ffc85c9cba1c9812e1c14250cc4192e4",
-   "sha256": "1z371v68aw92iaj5mbsk47mfr44scgkwazbf9i6gzygq84fdm6dh"
+   "commit": "b6f54d7a53d2ed5c71fc9ab6d65da63103c799bc",
+   "sha256": "0hzchn5m5r0iv0im43paxbpd00fyv4m1rv53asp1fg2h27zg7xfz"
   }
  },
  {
@@ -66970,11 +67362,11 @@
   "url": "https://git.code.sf.net/p/matlab-emacs/src",
   "unstable": {
    "version": [
-    20210716,
-    1247
+    20210726,
+    858
    ],
-   "commit": "3fbc97b3f29c72b01812739536ed416e3e07e3c1",
-   "sha256": "0fhsp1g8mlh4ias1xgx0yjvh0g1khdy91pl474b2g0ffrml5ab73"
+   "commit": "c25894b91225ccdf0044f04020adf97cb41e73e4",
+   "sha256": "0kns1f5kg4z5wqi26mql4ja2lm1rm8zji4sjiqqlbrnk800iic55"
   }
  },
  {
@@ -67060,8 +67452,8 @@
     "s",
     "test-simple"
    ],
-   "commit": "74e10d5dedb16f74efc28299c98dd7db9a4392d6",
-   "sha256": "1r04mbn33y515b9fwr2x9rcbkvriz753dc0rasb8ca59klp1p5cv"
+   "commit": "ce5fd160c193e387d9e2bacdba4065c4b4262cb1",
+   "sha256": "18bjr4n1m1y76kh0pp6ci7ywklrmw611ka3avrj23lb0wwrljf86"
   },
   "stable": {
    "version": [
@@ -67074,7 +67466,7 @@
     "test-simple"
    ],
    "commit": "8d643a1776523ef1a6e0bff0bb0a390772fcc77d",
-   "sha256": "17m9x3yy0k63j59vx1sf25jcfb6b9yj0ggp2jiq1mih4b62rp97d"
+   "sha256": "1r04mbn33y515b9fwr2x9rcbkvriz753dc0rasb8ca59klp1p5cv"
   }
  },
  {
@@ -67491,16 +67883,16 @@
   "repo": "DogLooksGood/meow",
   "unstable": {
    "version": [
-    20210622,
-    931
+    20210825,
+    1800
    ],
    "deps": [
     "cl-lib",
     "dash",
     "s"
    ],
-   "commit": "174cb2fb5f1ae674a405667ed432cd6601f53656",
-   "sha256": "0ix0ph82j12v1x5bi9w643q0a9cik4yd02bmk5c919wnyfz1syy7"
+   "commit": "56f0365dca1dbb3e97a32cf3da65f817598731b2",
+   "sha256": "10qp7s84p0j9byrwsfwbr1vyvad8v5y28v8dv7x7mm05pkcr9vv1"
   }
  },
  {
@@ -67511,21 +67903,22 @@
   "repo": "ocaml/merlin",
   "unstable": {
    "version": [
-    20210707,
-    901
+    20210720,
+    950
    ],
-   "commit": "7c4c0a7018109b2b1bcbc3f6c1486961b223e658",
-   "sha256": "13cissjjkhfab7sgmwwmdcl3d5kn3qd2d6w9nmcw0yb8c59r1c0l"
+   "commit": "5ca4857302c2d2d329fd01d0db6a22fa5922b42a",
+   "sha256": "1007z1dr45b588sifb77a7q5g6l0q8mxr4p5scbrbb9f75cpsy9g"
   },
   "stable": {
    "version": [
     4,
-    2,
+    3,
+    1,
     -4,
     412
    ],
-   "commit": "fe7380bb13ff91f8ed5cfbfea6a6ca01ee1ef88c",
-   "sha256": "0dlrxss3i1z584l0dack8v3pf02bimx8bydqkj3bfiljqsi912v1"
+   "commit": "ba8ec63cf40b8999238c4639d111ca3bdb1e34cf",
+   "sha256": "1icd08irnj927d9hs5bzqjfdgc789829xy7032hs946ng44xkcg3"
   }
  },
  {
@@ -67543,13 +67936,14 @@
     "auto-complete",
     "merlin"
    ],
-   "commit": "7c4c0a7018109b2b1bcbc3f6c1486961b223e658",
-   "sha256": "13cissjjkhfab7sgmwwmdcl3d5kn3qd2d6w9nmcw0yb8c59r1c0l"
+   "commit": "5ca4857302c2d2d329fd01d0db6a22fa5922b42a",
+   "sha256": "1007z1dr45b588sifb77a7q5g6l0q8mxr4p5scbrbb9f75cpsy9g"
   },
   "stable": {
    "version": [
     4,
-    2,
+    3,
+    1,
     -4,
     412
    ],
@@ -67557,8 +67951,8 @@
     "auto-complete",
     "merlin"
    ],
-   "commit": "fe7380bb13ff91f8ed5cfbfea6a6ca01ee1ef88c",
-   "sha256": "0dlrxss3i1z584l0dack8v3pf02bimx8bydqkj3bfiljqsi912v1"
+   "commit": "ba8ec63cf40b8999238c4639d111ca3bdb1e34cf",
+   "sha256": "1icd08irnj927d9hs5bzqjfdgc789829xy7032hs946ng44xkcg3"
   }
  },
  {
@@ -67576,13 +67970,14 @@
     "company",
     "merlin"
    ],
-   "commit": "7c4c0a7018109b2b1bcbc3f6c1486961b223e658",
-   "sha256": "13cissjjkhfab7sgmwwmdcl3d5kn3qd2d6w9nmcw0yb8c59r1c0l"
+   "commit": "5ca4857302c2d2d329fd01d0db6a22fa5922b42a",
+   "sha256": "1007z1dr45b588sifb77a7q5g6l0q8mxr4p5scbrbb9f75cpsy9g"
   },
   "stable": {
    "version": [
     4,
-    2,
+    3,
+    1,
     -4,
     412
    ],
@@ -67590,8 +67985,8 @@
     "company",
     "merlin"
    ],
-   "commit": "fe7380bb13ff91f8ed5cfbfea6a6ca01ee1ef88c",
-   "sha256": "0dlrxss3i1z584l0dack8v3pf02bimx8bydqkj3bfiljqsi912v1"
+   "commit": "ba8ec63cf40b8999238c4639d111ca3bdb1e34cf",
+   "sha256": "1icd08irnj927d9hs5bzqjfdgc789829xy7032hs946ng44xkcg3"
   }
  },
  {
@@ -67638,13 +68033,14 @@
     "iedit",
     "merlin"
    ],
-   "commit": "7c4c0a7018109b2b1bcbc3f6c1486961b223e658",
-   "sha256": "13cissjjkhfab7sgmwwmdcl3d5kn3qd2d6w9nmcw0yb8c59r1c0l"
+   "commit": "5ca4857302c2d2d329fd01d0db6a22fa5922b42a",
+   "sha256": "1007z1dr45b588sifb77a7q5g6l0q8mxr4p5scbrbb9f75cpsy9g"
   },
   "stable": {
    "version": [
     4,
-    2,
+    3,
+    1,
     -4,
     412
    ],
@@ -67652,8 +68048,8 @@
     "iedit",
     "merlin"
    ],
-   "commit": "fe7380bb13ff91f8ed5cfbfea6a6ca01ee1ef88c",
-   "sha256": "0dlrxss3i1z584l0dack8v3pf02bimx8bydqkj3bfiljqsi912v1"
+   "commit": "ba8ec63cf40b8999238c4639d111ca3bdb1e34cf",
+   "sha256": "1icd08irnj927d9hs5bzqjfdgc789829xy7032hs946ng44xkcg3"
   }
  },
  {
@@ -67682,11 +68078,11 @@
   "repo": "wentasah/meson-mode",
   "unstable": {
    "version": [
-    20210513,
-    1354
+    20210820,
+    905
    ],
-   "commit": "69fdb63b59ec7d1acd427cb7de7219c18af46f40",
-   "sha256": "1q2p31nv7xr1s8w54yyyz7vlflbnb4p63jx6960vrk2c9ppi43d8"
+   "commit": "1a2e2abb098c9288c2cdb3affbad76edd98abf59",
+   "sha256": "1bpy0iw5h7vrd3vwzk12bq6b134812dwbxxwsbsmbsk0ji4xyyq3"
   },
   "stable": {
    "version": [
@@ -68211,14 +68607,14 @@
   "repo": "kiennq/emacs-mini-modeline",
   "unstable": {
    "version": [
-    20210312,
-    452
+    20210725,
+    900
    ],
    "deps": [
     "dash"
    ],
-   "commit": "3e67b8e59d46659df4b37dedf75485a366c93600",
-   "sha256": "1iqdbm90qj90a522qmssbqn5im0kxdw1kxq7z821ss3fag960xw8"
+   "commit": "fb2fc8661b4a32a40b3f5777ae1d69654c263ff0",
+   "sha256": "1bv06p6m5xygqcpwxngds2hral58h23jvp3di5dq3ac2hkf2m92l"
   },
   "stable": {
    "version": [
@@ -68534,7 +68930,7 @@
     1
    ],
    "commit": "beb22e85f6073a930f7338a78bd186e3090abdd7",
-   "sha256": "1dhljrh44dsnixd8hbb11k6dgap8r8n7jknhfy2afdzq889fih74"
+   "sha256": "1yf21gm4ziplmgx8yn7jqq45mwfiindbrman7fc5b9ifq78x9ryn"
   }
  },
  {
@@ -68566,8 +68962,8 @@
     20210601,
     2158
    ],
-   "commit": "5ad0fd71634ac9dc6f97f653bc748f9fb58d80e4",
-   "sha256": "0fxk860dv8xqd5rfp4bw1pspm58c71mhac2xp2cxi1i2jrg272dn"
+   "commit": "cc19df172e2e20a76861ac75ead3616f2f7eb870",
+   "sha256": "10ca4q7j83kvk2rv5dghqs56lilkdxsq0zfz0ycvdk41r26cr10z"
   },
   "stable": {
    "version": [
@@ -68652,8 +69048,8 @@
    "deps": [
     "cl-lib"
    ],
-   "commit": "05cdbb643469676b91a44badecf84deccb50f262",
-   "sha256": "09zlqx9xrcj80vdd07yz9gzq5p8mayjlqkrcv7c8vm5wn5dl3gnq"
+   "commit": "e5cd2b4d0967758471fd2753f78120bdeb93a781",
+   "sha256": "05647fhsn4qlh8fyijrsni3zfvy2flivyij2rwd8q31h5k2gip3w"
   },
   "stable": {
    "version": [
@@ -68811,8 +69207,8 @@
     20210318,
     1748
    ],
-   "commit": "0accefac11451b9c9196a56223b5fe1e26d75e6e",
-   "sha256": "04i776arnyg2gzzhiifarb73dr4w3sg38kw9cwp1bl1x5w49x47x"
+   "commit": "3d7f652d06c8e39cfe252ece804868a20730df07",
+   "sha256": "1ysfr02mc11sfcxngcki74zbyj4sa9mlk4v0liqk2bv1wx2cpdb5"
   },
   "stable": {
    "version": [
@@ -69005,20 +69401,20 @@
   "repo": "SidharthArya/modular-config.el",
   "unstable": {
    "version": [
-    20210629,
-    2319
+    20210726,
+    1614
    ],
-   "commit": "222ed4aab718ebcc2944c6cca87ebc3370d5ac3c",
-   "sha256": "0bdh5akywlj3grwclkl4vk82iij2jlvinmcp3xbi973n7y9i4s49"
+   "commit": "2bd77193fa3a7ec0541db284b4034821a8f59fea",
+   "sha256": "1bbycd4cr280vl643kvnzyml44mg63yh4i28bbszmj2yrkxy0frj"
   },
   "stable": {
    "version": [
     0,
     0,
-    3
+    5
    ],
-   "commit": "222ed4aab718ebcc2944c6cca87ebc3370d5ac3c",
-   "sha256": "0bdh5akywlj3grwclkl4vk82iij2jlvinmcp3xbi973n7y9i4s49"
+   "commit": "3c78fde6b7c53857c712408691427536d3c891bc",
+   "sha256": "057lhrlnyhl0hdp419lvl0fqpkkp3msmzn7gynvqmjig756dra7p"
   }
  },
  {
@@ -69029,11 +69425,11 @@
   "repo": "protesilaos/modus-themes",
   "unstable": {
    "version": [
-    20210716,
-    431
+    20210804,
+    1453
    ],
-   "commit": "9521dcec6c012d3776e3d05692720dd24922218b",
-   "sha256": "1m5ifpql8p0w4qk79n2n8wyrq1s7ys0yc8y0a09w1yyxjk6ay12k"
+   "commit": "52532a1ac2f3b707e79ba67ada8bf36846e45048",
+   "sha256": "1y12c9xjs6liwgwbfvy5w8sm9kn6ww8imqgkji8nncpjy3vp81vs"
   },
   "stable": {
    "version": [
@@ -69042,7 +69438,7 @@
     0
    ],
    "commit": "b6fb7cda01a665f9369f2c6a29f3bf26c8cc8019",
-   "sha256": "1m5ifpql8p0w4qk79n2n8wyrq1s7ys0yc8y0a09w1yyxjk6ay12k"
+   "sha256": "1yz5yr3acc601xcms7vr2jbj4bq6dqz8n5ymyfyxldid0n5ykzy4"
   }
  },
  {
@@ -69304,11 +69700,11 @@
   "repo": "sanel/monroe",
   "unstable": {
    "version": [
-    20201013,
-    1754
+    20210824,
+    2348
    ],
-   "commit": "cae86f640df5faf44690bfac591ad464981293a0",
-   "sha256": "08r36wibg2rsiwjy7wd63w50sq9qfhzrapzrpcfzc9wz7wz26zka"
+   "commit": "d140512781bda5160b4786f591694a569639b9ad",
+   "sha256": "1qcdh7b02yyaqdjw815mgjpmrns15alr27ac0cwy3sm0alk5zshk"
   },
   "stable": {
    "version": [
@@ -69376,20 +69772,20 @@
   "repo": "tarsius/moody",
   "unstable": {
    "version": [
-    20210615,
-    1511
+    20210729,
+    1215
    ],
-   "commit": "9d8b2f758098d19781c7c5cdaeda5785e41be039",
-   "sha256": "1z9pspjrpclxznc9d16lix1zc0yx520jx1nqjbxj3kcwfxzkbbl4"
+   "commit": "9b679400ca885b8ff51bcfd75b87f79d66c0ee26",
+   "sha256": "14x3hd0z0nh0dyfi434vqywi7aawfxhlqj6sp7m17np56zq32yhi"
   },
   "stable": {
    "version": [
     0,
-    5,
-    5
+    6,
+    0
    ],
-   "commit": "392c77174ace6c57921f237f41eaa4c3a83ac303",
-   "sha256": "0b4kg4dxy4ywwin96vz6x3rpvgr718y5rgrdarmwym9wv1qz0a0c"
+   "commit": "9b679400ca885b8ff51bcfd75b87f79d66c0ee26",
+   "sha256": "14x3hd0z0nh0dyfi434vqywi7aawfxhlqj6sp7m17np56zq32yhi"
   }
  },
  {
@@ -69735,8 +70131,8 @@
     20210306,
     1053
    ],
-   "commit": "515b4f47c7f43816fce82cdf555107614e9e7edd",
-   "sha256": "1q39iy7g4f11nzhlsa1j8shrvhmg3ip2h43rxawhmypfwd95vzk1"
+   "commit": "fed70bc909ef2a67d907d1ac89bbcd042d277da5",
+   "sha256": "05jw43ajq404dq62kykw9ryh5kl0lhl9alxyqq3gixpyds3r2205"
   },
   "stable": {
    "version": [
@@ -69862,8 +70258,8 @@
   "repo": "mpdel/mpdel",
   "unstable": {
    "version": [
-    20201026,
-    1123
+    20210107,
+    1303
    ],
    "deps": [
     "libmpdel",
@@ -70164,6 +70560,29 @@
   }
  },
  {
+  "ename": "mu4e-column-faces",
+  "commit": "0c86d677b53584c2ce611dcbf362b8c46c3ed640",
+  "sha256": "0rzz9sdkixb4zlppr3qsagk2qg714mwq2y547qm6yyvxm15w0ba8",
+  "fetcher": "github",
+  "repo": "Alexander-Miller/mu4e-column-faces",
+  "unstable": {
+   "version": [
+    20210812,
+    1721
+   ],
+   "commit": "34b9b3cbe50eaf48a636f2e05a3496111429b265",
+   "sha256": "02hqz71ds2alb95y65iii6b9rj0r7a9ymib7yv5321ys25j5bqzl"
+  },
+  "stable": {
+   "version": [
+    1,
+    0
+   ],
+   "commit": "2f903099073a863fb9b827d3d10c439237925548",
+   "sha256": "03szkxv565pdkam60wxcfqv0bcxjbidww53diid6w42b9y8ks54r"
+  }
+ },
+ {
   "ename": "mu4e-conversation",
   "commit": "7638aecc7a2cd4b1646c6e32fe83e18ef212bbaa",
   "sha256": "16vhjaxjhshw7ch9ihk35r99549xlbmvybwjx0p9mzyqi30dn3s6",
@@ -70287,16 +70706,16 @@
   "repo": "lordpretzel/mu4e-views",
   "unstable": {
    "version": [
-    20210709,
-    150
+    20210729,
+    1158
    ],
    "deps": [
     "esxml",
     "ht",
     "xwidgets-reuse"
    ],
-   "commit": "9fbe402dc5931ba9cafec581ac3e6d86e9a9f2da",
-   "sha256": "0a73izknp2nkzklkhf9wyxy38fnw4f1jyimdcnh14m1v5bcw2wal"
+   "commit": "f3f454c7f92e8a9eecb5501af9ca81a547fd1841",
+   "sha256": "137r0kbd386954ydiwz6g9ff3j5289nqfzkvhp13rjjkrs668332"
   },
   "stable": {
    "version": [
@@ -70334,8 +70753,8 @@
   "repo": "mihaiolteanu/mugur",
   "unstable": {
    "version": [
-    20210503,
-    1516
+    20210719,
+    722
    ],
    "deps": [
     "anaphora",
@@ -70343,8 +70762,8 @@
     "dash",
     "s"
    ],
-   "commit": "b84752c391c5fe515960f77c80d08f313df57f33",
-   "sha256": "0la8lqr3wgizmnwnpys9mwrj1qi0al0gx6kxhlfwf9jr5gbdg9np"
+   "commit": "267e0594790a5f34e474a5b480015f0f216a6865",
+   "sha256": "079pqjgq1gkd0mwhzdns5gw3l1xs8qxs0w59njxc8yp8p4ngzcq4"
   },
   "stable": {
    "version": [
@@ -70447,11 +70866,11 @@
   "url": "https://hg.osdn.net/view/multi-project/multi-project",
   "unstable": {
    "version": [
-    20210105,
-    1229
+    20210814,
+    1656
    ],
-   "commit": "f71a56978a57ee5b08e75d01a5d6ec75f20cedba",
-   "sha256": "10fvwrd0l05lv05shrdl0cw1bg231djkz6gxlgccmdr97d01qwkl"
+   "commit": "151b4fc935b6f4b286249ce52d6473440fb8d1c5",
+   "sha256": "0jqfb7kdm5ajdxvy5fmrp240zjlrf8mzhv77hyvipg1yzkka99gb"
   }
  },
  {
@@ -70462,8 +70881,8 @@
   "repo": "sagarjha/multi-run",
   "unstable": {
    "version": [
-    20190507,
-    2349
+    20210108,
+    336
    ],
    "deps": [
     "window-layout"
@@ -70513,15 +70932,15 @@
   "repo": "suonlight/multi-vterm",
   "unstable": {
    "version": [
-    20201203,
-    1500
+    20210727,
+    1050
    ],
    "deps": [
     "project",
     "vterm"
    ],
-   "commit": "934397efd2e78a6b83d2b06ef4e4c281c0ae3c65",
-   "sha256": "0cz3zs9xd2zbyb9g9r4r893kl9nqk8i9l0zy66s500iy5522vcnh"
+   "commit": "a3df7218c1ecadef779e2c47815201052283f9ea",
+   "sha256": "0z6321994c4c8f5iya240pzvhirci9idlc110wjjwsm4pzdrrppj"
   }
  },
  {
@@ -70592,8 +71011,8 @@
    "deps": [
     "cl-lib"
    ],
-   "commit": "616fbdd3696f99d85660ad57ebbb0c44d6c7f426",
-   "sha256": "10raq8p881zzz7si3wfpcgdnwyl8y7y9rgw28akyigjyq8knl6kf"
+   "commit": "588daf8c520f4545323e36b8900f02693ddcf5d3",
+   "sha256": "0yinp3148sa72ckmaycgfy7sw3pccz6h5bl7kiz5j54hfk66hsxk"
   },
   "stable": {
    "version": [
@@ -71678,6 +72097,35 @@
   }
  },
  {
+  "ename": "netease-cloud-music",
+  "commit": "07f4c49aff1e2d476fdca80d39b1be8bc7e34ee7",
+  "sha256": "19xvy5jbwbgf7lg7lzhjrms5s336cc29cnxamv1a75bwrix04k1b",
+  "fetcher": "github",
+  "repo": "SpringHan/netease-cloud-music.el",
+  "unstable": {
+   "version": [
+    20210817,
+    1148
+   ],
+   "deps": [
+    "request"
+   ],
+   "commit": "e228a3e8646d4d66f61eb91e306b8bc1cfa9861a",
+   "sha256": "1wckcxjwj4bx31akxjpbzj3fdbhym0lr29sqq05c8xjbxza8dmkh"
+  },
+  "stable": {
+   "version": [
+    2,
+    0
+   ],
+   "deps": [
+    "request"
+   ],
+   "commit": "7cfa76d79b8432b0edb4c188c7a9b6634b78fe53",
+   "sha256": "0ikkg9llch1rh0infwcwf4104ahckxbsrhpbmy01p928rjkhvl3q"
+  }
+ },
+ {
   "ename": "netease-music",
   "commit": "ca3d4a8f8d9080e26a8fe2c38c0001d5cfc3c88c",
   "sha256": "1vb81f1l45v6rny91rcqvnhzqh5ybdr0r39yrcaih8zhvamk685z",
@@ -72058,8 +72506,8 @@
     20181024,
     1439
    ],
-   "commit": "c8f8f2a9e3016ab7a9ecb2e8b084cf441f3ae88e",
-   "sha256": "1nj7w0dgvhmqy5hkdn0idf468x7s2h2y5372j13w3x1fkdcnyln8"
+   "commit": "e90dfd3c7528b9c620eab29121a3591af7bf035e",
+   "sha256": "052shini6g1a5zjqqrwxvjk92c597qxfkar21pdzs4na0sij7szw"
   },
   "stable": {
    "version": [
@@ -72157,14 +72605,14 @@
   "repo": "NixOS/nix-mode",
   "unstable": {
    "version": [
-    20210706,
-    2217
+    20210809,
+    1724
    ],
    "deps": [
     "f"
    ],
-   "commit": "3cca5b6527a69c4701394f424726282a1462ede3",
-   "sha256": "1cf88v8hbcn2kcyh4bv74yhpp7jf4r80zf3pzfw6cqvrgx19px2k"
+   "commit": "56748ac556d0406cc6c574f7347fe37decd8381e",
+   "sha256": "1lgakfj8dar3517rl6k6vxjijkdywq05wg7fjjmnv3a0h8ppjjz4"
   },
   "stable": {
    "version": [
@@ -72339,8 +72787,8 @@
   "repo": "dickmao/nndiscourse",
   "unstable": {
    "version": [
-    20210219,
-    1949
+    20210820,
+    1503
    ],
    "deps": [
     "anaphora",
@@ -72348,8 +72796,8 @@
     "json-rpc",
     "rbenv"
    ],
-   "commit": "c6074af3b60ef7af7d9c45b8ad1daa21296a5e04",
-   "sha256": "0hx8sg6wa688f2bzddbzl81b553vjv8aaafizns9r8icsws7acc0"
+   "commit": "1b064aa49da9ab24fb36d208ec35a40c29d9e5b3",
+   "sha256": "0sp807drgl8hmxwhz12r0zr371x8x5f5amp2aap4b4irf665dd22"
   }
  },
  {
@@ -72360,16 +72808,16 @@
   "repo": "dickmao/nnhackernews",
   "unstable": {
    "version": [
-    20210219,
-    1948
+    20210729,
+    953
    ],
    "deps": [
     "anaphora",
     "dash",
     "request"
    ],
-   "commit": "b5a221b63c8b311d50807fdfab4ae6b965844f06",
-   "sha256": "1lq3rh52x0f059lxk0cczins2vggiwjs5m1drj7dkb8lmlxc41y4"
+   "commit": "3a2fc7da6c6cfaba15fabcf1f3c9cf57b016c362",
+   "sha256": "1z91i6kl0bpsk87rl0ysfm8wifb3a196r82bxb6wlk6lkxlqr8jq"
   }
  },
  {
@@ -72453,14 +72901,14 @@
   "repo": "emacscollective/no-littering",
   "unstable": {
    "version": [
-    20210619,
-    2158
+    20210825,
+    356
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "b12a85a5afff7b5d60f889c1c2e8f5deab7fdbae",
-   "sha256": "193kyvj2f3zgb39shhcf2qk33rzbp8qp9mkc9p0cvnrc517h6y5r"
+   "commit": "dcc96cbf5f018a91d406926d3b69715847ef665a",
+   "sha256": "1c6nq2sykbsjy30zakfpny503644bbwgb4pxhfsd4wywj5yyzw66"
   },
   "stable": {
    "version": [
@@ -72651,8 +73099,8 @@
   "repo": "esessoms/nofrils-theme",
   "unstable": {
    "version": [
-    20180227,
-    2153
+    20180620,
+    1248
    ],
    "commit": "98ad7bfaff1d85b33dc162645670285b067c6f92",
    "sha256": "0f8s7mhcs1ym4an8d4dabfvhin30xs2d0c5gv875hsgz8p3asgxs"
@@ -72664,7 +73112,7 @@
     0
    ],
    "commit": "7825f88cb881a84eaa5cd1689772819a18eb2943",
-   "sha256": "009did3i3i8yi0virq606l02w1mw0gdyiqablqg7m368gx0gfvh5"
+   "sha256": "0f8s7mhcs1ym4an8d4dabfvhin30xs2d0c5gv875hsgz8p3asgxs"
   }
  },
  {
@@ -72751,6 +73199,21 @@
   }
  },
  {
+  "ename": "notink-theme",
+  "commit": "b4aa0fed8fcb8b4b671d13d403d10f705426c5e5",
+  "sha256": "07h6ls2ikvx1aw67sln43qm8rll9w3hqaqc4xq81k0swsfm2y5fm",
+  "fetcher": "github",
+  "repo": "MetroWind/notink-theme",
+  "unstable": {
+   "version": [
+    20210816,
+    2337
+   ],
+   "commit": "ede878ee06d4f94b5819ed3ccffe121823fbcf44",
+   "sha256": "0iyxdbdgv1d3hflndfrbp3zbafa2zn3kpwj2lp32rm9sh3bcp79c"
+  }
+ },
+ {
   "ename": "notmuch",
   "commit": "d05fbde3aabfec4efdd19a33fd2b1297905acb5a",
   "sha256": "0pznpl0aqybdg4b2qypq6k4jac64sssqhgz6rvk9g2nkqhkds1x7",
@@ -72758,20 +73221,50 @@
   "url": "https://git.notmuchmail.org/git/notmuch",
   "unstable": {
    "version": [
-    20210713,
-    1255
+    20210822,
+    1412
    ],
-   "commit": "d8a5fba4fe1efd7d0d652ead6d55371bc4078a9d",
-   "sha256": "138wxhawdp8nllpvmrgll4nvn5by3hsp0zy4gywf6nalr0d1wdld"
+   "commit": "84347ffcad24b48390c622e5a96c31c97c094daa",
+   "sha256": "1zn9j0sc49g7gj1fx2n1lvgcixcvjcc3kg9jlvzwniygqnncwcw2"
   },
   "stable": {
    "version": [
     0,
     32,
-    2
+    3
    ],
-   "commit": "af56f3bcdc8a644564a1182f58bd311907193a4a",
-   "sha256": "1f0xccc51z2fijj4cyx4pcxmam9pygq0z1rb4zrybz1vpsr7zrvk"
+   "commit": "3f30ee65efec7c35e56af36eaa49af5c2e220d8f",
+   "sha256": "005nc800cr7f32w7vdpr1bqh65ffflsm8ss6x010i5c79ndfli4n"
+  }
+ },
+ {
+  "ename": "notmuch-addr",
+  "commit": "3cb3070c7bb697c1a4bae1a04ca59873b18e1f33",
+  "sha256": "0grvncdmy3qp27m1jch995zsjqy90k4hmzl3r6pp3smanrvkdwwp",
+  "fetcher": "git",
+  "url": "https://git.sr.ht/~tarsius/notmuch-addr",
+  "unstable": {
+   "version": [
+    20210615,
+    1512
+   ],
+   "deps": [
+    "notmuch"
+   ],
+   "commit": "c447ddb94b3c2a473ec1762fc083794acd6057f0",
+   "sha256": "0x6vvi3j27xi2gkgd9mf7mfprmymdhc4zvna9gn71padpaqf9v50"
+  },
+  "stable": {
+   "version": [
+    0,
+    2,
+    0
+   ],
+   "deps": [
+    "notmuch"
+   ],
+   "commit": "55ef94d7d3a6eb224950975b4ceb885851e2d93a",
+   "sha256": "1iwr1fya1n5vqj1g91sbxjr4ayaklc50fsap21i5af79jcrz80q6"
   }
  },
  {
@@ -72864,6 +73357,36 @@
   }
  },
  {
+  "ename": "notmuch-transient",
+  "commit": "4b80cb36063a910a659fd435f2495a67780dc74b",
+  "sha256": "0ndgp4avxc9l064a34bk39bw1jp2n5b18n1ha4q9mbkdmm78ahy2",
+  "fetcher": "git",
+  "url": "https://git.sr.ht/~tarsius/notmuch-transient",
+  "unstable": {
+   "version": [
+    20210703,
+    2133
+   ],
+   "deps": [
+    "notmuch"
+   ],
+   "commit": "d43ac12e397e1f014deef6c76aaf9b187b17ba5b",
+   "sha256": "1hv3p124wg8lc9jzb8llp47q9x3c9bwy7k6zvsncb1p513n7z8di"
+  },
+  "stable": {
+   "version": [
+    0,
+    1,
+    0
+   ],
+   "deps": [
+    "notmuch"
+   ],
+   "commit": "d43ac12e397e1f014deef6c76aaf9b187b17ba5b",
+   "sha256": "1hv3p124wg8lc9jzb8llp47q9x3c9bwy7k6zvsncb1p513n7z8di"
+  }
+ },
+ {
   "ename": "nov",
   "commit": "20b2cc78b41a26e434b984943681fea774fd3c50",
   "sha256": "1w4il2jbn0x6v11y3rnz5w5vs0d0hhlqqzzxdpkpmrq9ycbq58hw",
@@ -72942,8 +73465,8 @@
   "repo": "shaneikennedy/npm.el",
   "unstable": {
    "version": [
-    20200812,
-    1850
+    20210601,
+    1122
    ],
    "deps": [
     "jest",
@@ -73123,20 +73646,19 @@
   "repo": "joostkremers/nswbuff",
   "unstable": {
    "version": [
-    20210129,
-    850
+    20210721,
+    741
    ],
-   "commit": "2aa3a96abbc76f007923f3fbb19a5246e29ae500",
-   "sha256": "0lhl49cs0sdr7p22spxf83sixp1pzjiq11plmxc8i0lqv735b9sn"
+   "commit": "fa9dcf131697ea7af066e11a1edcc881c397e07f",
+   "sha256": "0bkx7mwy3zbb0ixawvn4cysxk3jjc7ahssvdprvw19ls9xx3wbsp"
   },
   "stable": {
    "version": [
     1,
-    2,
-    1
+    3
    ],
-   "commit": "71e241763ca0a4a1d1b432e172d46bed4f44dbe7",
-   "sha256": "1sswhr52rp8c4v4fv30sww1gadbdrlk3l35j8xmqfw6hbgzxb5dn"
+   "commit": "fa9dcf131697ea7af066e11a1edcc881c397e07f",
+   "sha256": "0bkx7mwy3zbb0ixawvn4cysxk3jjc7ahssvdprvw19ls9xx3wbsp"
   }
  },
  {
@@ -73262,27 +73784,27 @@
   "repo": "douglasdavis/numpydoc.el",
   "unstable": {
    "version": [
-    20210616,
-    1532
+    20210811,
+    1458
    ],
    "deps": [
     "dash",
     "s"
    ],
-   "commit": "9209d52ddf43eddc983763b77f6932be61982475",
-   "sha256": "1sx7jj9w20gxxsqx5wa9m6da0971qp8mgp76hpdc1crqrx1mj55b"
+   "commit": "2d280dd704a1a54bcb3e8091f06656c3311894bc",
+   "sha256": "1hqagy3ailigy2r43vhk2aayxxlr3qs4xk18mnx2r6bgmnbrzr5m"
   },
   "stable": {
    "version": [
     0,
-    4
+    5
    ],
    "deps": [
     "dash",
     "s"
    ],
-   "commit": "b8efad7723a0c1d5738d74c7ce56ea962726a74f",
-   "sha256": "11y73fwn4ca6pll5vb1p04l08z48kj2ldks3qavqj4pamdcm698d"
+   "commit": "99e955f9fb2cea3f361004d48436e603bfc966bc",
+   "sha256": "1v908k5xcxx90gppkv06fmi0l0b46hw2a1p5a80qb2ybf5xdl6dy"
   }
  },
  {
@@ -74179,14 +74701,14 @@
   "repo": "alf/ob-restclient.el",
   "unstable": {
    "version": [
-    20200316,
-    759
+    20210718,
+    2008
    ],
    "deps": [
     "restclient"
    ],
-   "commit": "0ebfc7c5ebf96d2fe1a476439831363a5a43b9b6",
-   "sha256": "0sc6rljlzm7g4v4l4ziqrr0ydbsyypbq0h19f9xafvnb2pn40j84"
+   "commit": "bfbc4d8e8a348c140f9328542daf5d979f0993e2",
+   "sha256": "0nq5w2gankvb7ix8rv33814j7qvhiawd9r15b9i6syn1i5k5pxhj"
   }
  },
  {
@@ -74579,8 +75101,8 @@
     20210617,
     1726
    ],
-   "commit": "ba67af28ddca8718ef8816b2b0dc1e5b2f5e9591",
-   "sha256": "0dp4pkznz9yvqx9gxwbid1z2b8ajkr8i27zay9ghx69624hz3i4z"
+   "commit": "25ac57f10acae37f21ab3b0959d8c9b3125c4e3e",
+   "sha256": "0c4cvny8anx4p1i136vl881g6dsy0mrd02xzbgv860g9ix5nzvsx"
   },
   "stable": {
    "version": [
@@ -74773,26 +75295,26 @@
   "repo": "oer/oer-reveal",
   "unstable": {
    "version": [
-    20210623,
-    653
+    20210819,
+    850
    ],
    "deps": [
     "org-re-reveal"
    ],
-   "commit": "e828f86ee607de487cb60393b41c6919d0b66356",
-   "sha256": "0m3s68n31whryzwjz8iyd9mdzvdm2r9rh9cwlw8br5qh40jbl67b"
+   "commit": "aa1db964a25f99df945c308fba983de6f044aa8e",
+   "sha256": "05b3sc2kmmqc82ahky09ilkf6gj2alanpki7ixfa06lydhfg5iby"
   },
   "stable": {
    "version": [
     3,
-    20,
+    21,
     2
    ],
    "deps": [
     "org-re-reveal"
    ],
-   "commit": "26d6d8946ddd5f71954564f26e63f6b5f1e9c0aa",
-   "sha256": "0m3s68n31whryzwjz8iyd9mdzvdm2r9rh9cwlw8br5qh40jbl67b"
+   "commit": "aa1db964a25f99df945c308fba983de6f044aa8e",
+   "sha256": "05b3sc2kmmqc82ahky09ilkf6gj2alanpki7ixfa06lydhfg5iby"
   }
  },
  {
@@ -74929,20 +75451,20 @@
   "repo": "rnkn/olivetti",
   "unstable": {
    "version": [
-    20210510,
-    100
+    20210823,
+    1054
    ],
-   "commit": "4a0719021625ece4def8f18d28f86a681bee7d28",
-   "sha256": "1qggyq7yxg25k9iyyx5bsv8zmh1z14gdybc1d4qkyc905395jn0l"
+   "commit": "08611268bb19509ec087ec416f4a7f76ebae0518",
+   "sha256": "0nx16w2d1wrqa5cgpbwqfy2al49b9nx2pr9zygiz5qa8jdlzw86l"
   },
   "stable": {
    "version": [
-    1,
-    11,
-    4
+    2,
+    0,
+    2
    ],
-   "commit": "6902410cd857385a3c1aa20ba391901a78d2740b",
-   "sha256": "1pw1zc0pdwwi9dv8fypfxgn6xbfvm88qzhss880lspialff1wcxn"
+   "commit": "08611268bb19509ec087ec416f4a7f76ebae0518",
+   "sha256": "0nx16w2d1wrqa5cgpbwqfy2al49b9nx2pr9zygiz5qa8jdlzw86l"
   }
  },
  {
@@ -75139,8 +75661,8 @@
   "repo": "OmniSharp/omnisharp-emacs",
   "unstable": {
    "version": [
-    20201220,
-    906
+    20210725,
+    1955
    ],
    "deps": [
     "auto-complete",
@@ -75152,8 +75674,8 @@
     "popup",
     "s"
    ],
-   "commit": "5fad6835bee15792774183164dd423ba18cf1e01",
-   "sha256": "1ww202j6bh8ycw2wfngy9rw1hv5qrjg66bgp2yj28j12ag1qxn2r"
+   "commit": "e276ff140666057c6d6848f9cfc84a82e3a7650c",
+   "sha256": "0aicn5s368s6ks4dq5b8xga0ifijd4lkqawzs0a4y58z8s922h69"
   },
   "stable": {
    "version": [
@@ -75502,14 +76024,14 @@
   "repo": "abo-abo/orca",
   "unstable": {
    "version": [
-    20210105,
-    1749
+    20210809,
+    1401
    ],
    "deps": [
     "zoutline"
    ],
-   "commit": "c50b98da70d08b27ad1751c57bc7edcf27cd1d79",
-   "sha256": "19kgyxq3dci44hayzli3z528vs3mxfpsa5443wxf5pfgr7lkc9c0"
+   "commit": "1eaf09e31d440f781ba87d0aaa4defa5568a8f48",
+   "sha256": "0nh3aivgjzcb8vqbwdvvhkk0lww3x1ry52ac8h9cw2k9hdr37ks1"
   }
  },
  {
@@ -75520,11 +76042,11 @@
   "repo": "oantolin/orderless",
   "unstable": {
    "version": [
-    20210613,
-    1723
+    20210812,
+    2035
    ],
-   "commit": "2646dad28c0819fbe9ee521d39efb9ae40e03982",
-   "sha256": "0vxfinsx69fqpcgbsv6g26klim3yasds3ha9v3xkk32y9sb783lr"
+   "commit": "1a7011ac9c476dbb083c5ead88462a5f520ef8aa",
+   "sha256": "0gmlxfn14gdb241ari4ix3wf9wxg2vpq2kg55h46fchs22wwqyal"
   },
   "stable": {
    "version": [
@@ -75683,26 +76205,26 @@
   "repo": "eyeinsky/org-anki",
   "unstable": {
    "version": [
-    20210628,
-    2141
+    20210816,
+    2047
    ],
    "deps": [
     "request"
    ],
-   "commit": "8cc47ecef5d90d4f0f2bba669bbd89f88fda4be1",
-   "sha256": "11a44kfbpa2w54kqqc9mg3bzz0p0jrdjsz8l9sn11irl8xlgrm67"
+   "commit": "4e70c6869181f020c6989f91f5e916e085ba73df",
+   "sha256": "12iwllz9mbcv7q652v4bc1wkaml065wr7gvqm08kjds8hmc6f1pl"
   },
   "stable": {
    "version": [
     0,
     0,
-    3
+    6
    ],
    "deps": [
     "request"
    ],
-   "commit": "8cc47ecef5d90d4f0f2bba669bbd89f88fda4be1",
-   "sha256": "11a44kfbpa2w54kqqc9mg3bzz0p0jrdjsz8l9sn11irl8xlgrm67"
+   "commit": "c86394d5fd8933d1b6cafbc1dbc36bf61bcc871e",
+   "sha256": "0jg00hw5k6n7jf19vz1gf9599ad7skm399ng115hpywhas9ly01i"
   }
  },
  {
@@ -75713,14 +76235,26 @@
   "repo": "awth13/org-appear",
   "unstable": {
    "version": [
-    20210709,
-    949
+    20210822,
+    39
+   ],
+   "deps": [
+    "org"
+   ],
+   "commit": "a1aa8496f2fd61305e43e03e6eeee2ff92aa9e24",
+   "sha256": "0sfz8rpvc9hidjj81wlc48vi7ii90mssgvfnp2z215phv67npbzp"
+  },
+  "stable": {
+   "version": [
+    0,
+    2,
+    4
    ],
    "deps": [
     "org"
    ],
-   "commit": "148aa124901ae598f69320e3dcada6325cdc2cf0",
-   "sha256": "0scj53w5kk62k294s7pfr15wqiiwvlprxhnmkrjmfx2gwyb1yh9i"
+   "commit": "a1aa8496f2fd61305e43e03e6eeee2ff92aa9e24",
+   "sha256": "0sfz8rpvc9hidjj81wlc48vi7ii90mssgvfnp2z215phv67npbzp"
   }
  },
  {
@@ -75776,11 +76310,11 @@
   "repo": "calvinwyoung/org-autolist",
   "unstable": {
    "version": [
-    20170924,
-    1901
+    20210810,
+    2215
    ],
-   "commit": "c82d1e83e982b5f0c106b8800e5b0cfd5f73fdc1",
-   "sha256": "0ykiafbdjb2iy0s1gr6l51gddjbk08iwj4v13hgm8b675bl0cw56"
+   "commit": "943de3a76a16acd54d924392f86e8ef04f1cb086",
+   "sha256": "1i6sa7pavgk4gal7fppd68brr8vm4jxma6nbkqwcb1djys1vg21b"
   },
   "stable": {
    "version": [
@@ -76399,7 +76933,7 @@
     "seq"
    ],
    "commit": "4c114489e682e514e79701045d541ab6f3dc3fb4",
-   "sha256": "13y302lyscdqrba1sfx60yf5ji2xi7fbsvjsjbw7hiz63kg6rccy"
+   "sha256": "079x6rcz50rpw0vdq5q2kjpixz95k9f3j9dwk91r5111vvr428w3"
   }
  },
  {
@@ -76583,32 +77117,30 @@
   "repo": "GuiltyDolphin/org-evil",
   "unstable": {
    "version": [
-    20180620,
-    1517
+    20210809,
+    1724
    ],
    "deps": [
     "dash",
     "evil",
-    "monitor",
     "org"
    ],
-   "commit": "3b4620edc606412ef75c0b5aa637af22486eb126",
-   "sha256": "0aqya9l9s55h5wd728iz15f53p5xajrfk8pn9gjxnw0i8m4d09sd"
+   "commit": "981b0931d043d3b0eb61fcab6258b5a88cc74d15",
+   "sha256": "05y8k7r9yc8x11v344fnnpc3iq4lcanwhpgy5xnczbbxxlc8x3pk"
   },
   "stable": {
    "version": [
     0,
-    5,
+    6,
     0
    ],
    "deps": [
     "dash",
     "evil",
-    "monitor",
     "org"
    ],
-   "commit": "3b4620edc606412ef75c0b5aa637af22486eb126",
-   "sha256": "0aqya9l9s55h5wd728iz15f53p5xajrfk8pn9gjxnw0i8m4d09sd"
+   "commit": "981b0931d043d3b0eb61fcab6258b5a88cc74d15",
+   "sha256": "05y8k7r9yc8x11v344fnnpc3iq4lcanwhpgy5xnczbbxxlc8x3pk"
   }
  },
  {
@@ -76634,20 +77166,20 @@
   "repo": "io12/org-fragtog",
   "unstable": {
    "version": [
-    20210713,
-    551
+    20210815,
+    2349
    ],
-   "commit": "479e0a1c3610dfe918d89a5f5a92c8aec37f131d",
-   "sha256": "02g4a5lsmalc5mcybimx7ils43w3ac6269n9kzcnw59bj0i5kkcj"
+   "commit": "15861261a437aca2ec858317de71603d2957b423",
+   "sha256": "0ra4sfy48p8pm1c7h8wlmbl68r4s0f4qc49xapvs550pm4mf3hiq"
   },
   "stable": {
    "version": [
     0,
-    3,
-    3
+    4,
+    0
    ],
-   "commit": "479e0a1c3610dfe918d89a5f5a92c8aec37f131d",
-   "sha256": "02g4a5lsmalc5mcybimx7ils43w3ac6269n9kzcnw59bj0i5kkcj"
+   "commit": "15861261a437aca2ec858317de71603d2957b423",
+   "sha256": "0ra4sfy48p8pm1c7h8wlmbl68r4s0f4qc49xapvs550pm4mf3hiq"
   }
  },
  {
@@ -76673,8 +77205,8 @@
   "repo": "kidd/org-gcal.el",
   "unstable": {
    "version": [
-    20210421,
-    2203
+    20210805,
+    2225
    ],
    "deps": [
     "alert",
@@ -76682,8 +77214,8 @@
     "request",
     "request-deferred"
    ],
-   "commit": "4c2616a4f85adc77b91aa054bb10e76b06f706d5",
-   "sha256": "0isw9inxbdrf5rwqhjasbbz8av9sn56nwz7xxksr69nk5mv7zm17"
+   "commit": "80e6f9501fc883f29d26b0c7fea25f8b101512bd",
+   "sha256": "0bx2smlls1mfsk4c9c9h3f3xy6fxm78damh96rcmgqk0y6mnvzph"
   },
   "stable": {
    "version": [
@@ -76883,30 +77415,30 @@
   "repo": "marcIhm/org-index",
   "unstable": {
    "version": [
-    20210709,
-    1801
+    20210820,
+    519
    ],
    "deps": [
     "dash",
     "org",
     "s"
    ],
-   "commit": "4abf3a90503d1837782a35759066ffa7ec7dea55",
-   "sha256": "0409n80whcpkgcmhqrywgcj5d6fhqv67dyw4spg54hv9dn1p47zd"
+   "commit": "7bc78ebf7c1c334e8cc73af44793a7eaffb66a99",
+   "sha256": "0g1ahvsn50kr79q9bbrmgf78j1wfcibjp0j57qv7kxiqc71s7s19"
   },
   "stable": {
    "version": [
     7,
-    3,
-    0
+    4,
+    2
    ],
    "deps": [
     "dash",
     "org",
     "s"
    ],
-   "commit": "4abf3a90503d1837782a35759066ffa7ec7dea55",
-   "sha256": "0409n80whcpkgcmhqrywgcj5d6fhqv67dyw4spg54hv9dn1p47zd"
+   "commit": "7bc78ebf7c1c334e8cc73af44793a7eaffb66a99",
+   "sha256": "0g1ahvsn50kr79q9bbrmgf78j1wfcibjp0j57qv7kxiqc71s7s19"
   }
  },
  {
@@ -76966,16 +77498,16 @@
   "repo": "ahungry/org-jira",
   "unstable": {
    "version": [
-    20210622,
-    130
+    20210813,
+    1834
    ],
    "deps": [
     "cl-lib",
     "dash",
     "request"
    ],
-   "commit": "f4599dd5dfd7f97a22ca98502f809a8d14551c09",
-   "sha256": "0i8rqila62qamv3mxh66g678kbang3sxjbf3x70nmrx7fyy2m2jv"
+   "commit": "9de4310c3e853f76aa47bc5bf2dc404d4cf3226b",
+   "sha256": "1vd49wxdj8r228xk9hpqig1f68m0iv5rsrj24ya4rdlf3z4671p4"
   },
   "stable": {
    "version": [
@@ -77000,14 +77532,14 @@
   "repo": "bastibe/org-journal",
   "unstable": {
    "version": [
-    20210714,
-    911
+    20210812,
+    1749
    ],
    "deps": [
     "org"
    ],
-   "commit": "6c3a2fdb6c85253a32992a29edb976407bad4d77",
-   "sha256": "0rxrsqj3a8qchjhm9kb37zd9h1h1lcqfg2gwsgab74rfyfgf9ryd"
+   "commit": "9757996ca058029800c4801fba315b1d1614dcb2",
+   "sha256": "1h7b165y4z2p7qqbndqh2jyw4fgq50hqxmj2xv24shbjyqg350dh"
   },
   "stable": {
    "version": [
@@ -77119,14 +77651,14 @@
   "repo": "stardiviner/org-link-beautify",
   "unstable": {
    "version": [
-    20210704,
-    2214
+    20210822,
+    322
    ],
    "deps": [
     "all-the-icons"
    ],
-   "commit": "40d40c1e6187ec9c13292beb3f7f319f189264d8",
-   "sha256": "0253i9hvq9yki97jmdrvbv82xbgdrq76l73frq6xbbzzhw6615m6"
+   "commit": "c26ea28e6093d23621b9ec20e811986f604c192e",
+   "sha256": "05zjjsmavpj7klb814xyd58nszladc9wfkybzr8pqfk304bdv0yx"
   }
  },
  {
@@ -77248,26 +77780,20 @@
   "repo": "org-mime/org-mime",
   "unstable": {
    "version": [
-    20210309,
-    1028
-   ],
-   "deps": [
-    "cl-lib"
+    20210821,
+    341
    ],
-   "commit": "eb21c02ba8f97fe69c14dc657a7883b982664649",
-   "sha256": "0bgrp39mi8pqfr8hfd2lgjil3br55bgilhj09hy3v6klzypbdviy"
+   "commit": "21692f16ce436d9d2a546230f1e124beec0be7ee",
+   "sha256": "0gvir8c8b2m5z784ml5h957f7mxgp3vn7v91p6igaq5bjf5xcfpp"
   },
   "stable": {
    "version": [
     0,
     2,
-    1
-   ],
-   "deps": [
-    "cl-lib"
+    2
    ],
-   "commit": "3974bd41902a810d18a787e49f07cddd7849c693",
-   "sha256": "0vchyd80ybvr6317dwm50nxcgxfrpc0bz6259vnrh24p5sb8shbj"
+   "commit": "21692f16ce436d9d2a546230f1e124beec0be7ee",
+   "sha256": "0gvir8c8b2m5z784ml5h957f7mxgp3vn7v91p6igaq5bjf5xcfpp"
   }
  },
  {
@@ -77312,15 +77838,15 @@
    "version": [
     5,
     7,
-    0
+    1
    ],
    "deps": [
     "dash",
     "org",
     "s"
    ],
-   "commit": "e14205312c54a1c97491c7f847d296b09f5f57b0",
-   "sha256": "030fsgdp8cg2h8mlxq6769l158pqcwnv4r3bl36lpjs950lv9pas"
+   "commit": "4435cd5fc94c00f6e6054324a3e022ad0e37ae0f",
+   "sha256": "0vk9zv6zx7s1wryfhjwzmpj5asdlkn7zlwwvk9hvf5cv9injf1wx"
   }
  },
  {
@@ -77373,14 +77899,14 @@
   "repo": "jeremy-compostella/org-msg",
   "unstable": {
    "version": [
-    20210518,
-    2355
+    20210729,
+    2144
    ],
    "deps": [
     "htmlize"
    ],
-   "commit": "4c92c627b6cfb234fd257b714a5dbfc72d7af8d2",
-   "sha256": "0mln6324jb8p77pkbiaflmdj8h9m9wvmabgadhi6kh2jp4dhijql"
+   "commit": "eb01f60b1ddc132f616d2c1f4038c23f42fc3847",
+   "sha256": "01xhhq0r36hkfhhacvwm7nwajvl7j8v3qbpn1xhi3vyy3zabhpzp"
   }
  },
  {
@@ -77785,8 +78311,8 @@
    "deps": [
     "org"
    ],
-   "commit": "5010b90fd09f484268f731b855d394deb8b5fc3d",
-   "sha256": "0k8l7qmxbxbzc4g0xh4ipssls78fky0cq2lg3864qdli820wzy5b"
+   "commit": "7414e406326622dbfb5aaf2905c4ac9f6696d6ed",
+   "sha256": "0cq2j0fcjlg7zvqim7hkbdsnlzw247vaba847d5n0d1yxl0527b6"
   }
  },
  {
@@ -77829,7 +78355,7 @@
     2
    ],
    "commit": "549fa6969660dcf0cf9bca5b7341d0cb48ec3b77",
-   "sha256": "12s74if74vw8q5awgrk0d1244ysfgb9kw3dxhypsccsbf413jmii"
+   "sha256": "0ksj6hssyr44qnvb32qj9lrq825ivvndhck9gzx4h7gbxmvq12a4"
   }
  },
  {
@@ -78069,28 +78595,28 @@
   "repo": "oer/org-re-reveal",
   "unstable": {
    "version": [
-    20210507,
-    1615
+    20210811,
+    710
    ],
    "deps": [
     "htmlize",
     "org"
    ],
-   "commit": "cf000894f6e5d0627151e2bec5b1a54a311ad53e",
-   "sha256": "1lfvhc4gly06rq5i2fgjydg4rsy7vgksa8hpydsvklr0ypvc1hcc"
+   "commit": "ee712db65782ddc2bffe19c60cdc40b72ce56769",
+   "sha256": "0bnb8h13wpgw1i91zc701agbcdar1ns81b0kqpl8raczr9mg5dvf"
   },
   "stable": {
    "version": [
     3,
-    9,
+    10,
     0
    ],
    "deps": [
     "htmlize",
     "org"
    ],
-   "commit": "4538c06fab9a7259aa1fb40e93a43dcfacef27c1",
-   "sha256": "1w6zvgfcyjqlxy4s13h7w66vv0fcid57s6vigzgnzi666w86fdyh"
+   "commit": "95c5ad99bc1180d23b69156abc2fb4a95592048c",
+   "sha256": "0bnb8h13wpgw1i91zc701agbcdar1ns81b0kqpl8raczr9mg5dvf"
   }
  },
  {
@@ -78122,7 +78648,7 @@
     "org-ref"
    ],
    "commit": "abcd622e4edaa5e4480bcd1e7e4953f67c90e036",
-   "sha256": "08ia6gn0x0yydl28dhghifyxz0mrn0asllqg4s449gaz729cxqkd"
+   "sha256": "1467vskijg2n8k7fa2jj2hz8xr2s04r8a89521wmz54cza21g5j4"
   }
  },
  {
@@ -78201,8 +78727,8 @@
   "repo": "jkitchin/org-ref",
   "unstable": {
    "version": [
-    20210510,
-    1614
+    20210823,
+    27
    ],
    "deps": [
     "bibtex-completion",
@@ -78217,28 +78743,30 @@
     "pdf-tools",
     "s"
    ],
-   "commit": "8aa2bb45268f660956151547533689d4ec30378d",
-   "sha256": "0ihjjmysldxx8n3q7mi06p5ydxknxy347c9lf3gnlgzcc776a49v"
+   "commit": "37b64e6cc1068c1b7ffe579851a345aa57772333",
+   "sha256": "0xd1qp8dfy8n8b2n3rsdzm8vrfl7dii142kw330s8jp3pavww1f6"
   },
   "stable": {
    "version": [
-    1,
-    1,
-    1
+    2,
+    0,
+    0
    ],
    "deps": [
+    "bibtex-completion",
     "dash",
     "f",
     "helm",
     "helm-bibtex",
+    "htmlize",
     "hydra",
     "ivy",
     "key-chord",
     "pdf-tools",
     "s"
    ],
-   "commit": "db6c52f41faba686a378a8c57356a563f5cef496",
-   "sha256": "0kx6w3zz5gmlmr9bx1mdq1k8ykkbnll6m91z90p6f2xm96j627j6"
+   "commit": "37b64e6cc1068c1b7ffe579851a345aa57772333",
+   "sha256": "0xd1qp8dfy8n8b2n3rsdzm8vrfl7dii142kw330s8jp3pavww1f6"
   }
  },
  {
@@ -78338,42 +78866,42 @@
  },
  {
   "ename": "org-roam",
-  "commit": "6358b4fe160432cee80e6c15eac26764a92aac8a",
-  "sha256": "16xab5rz98bavk3vjmb5bxl4r5kpynnw40m0ahy1kl6cax51kx0y",
+  "commit": "27c8b4c527d17203d6b30a92838c1784a0bcc5fb",
+  "sha256": "1cb7w656w8z126fz171ikwh0aliyb87k4912kpf54rm22ck8c33s",
   "fetcher": "github",
   "repo": "org-roam/org-roam",
   "unstable": {
    "version": [
-    20210609,
-    1221
+    20210825,
+    1600
    ],
    "deps": [
     "dash",
     "emacsql",
-    "emacsql-sqlite3",
+    "emacsql-sqlite",
     "f",
-    "org",
-    "s"
+    "magit-section",
+    "org"
    ],
-   "commit": "756f6215b672e267f986a3d6e494f5309825b91a",
-   "sha256": "16rjqzj872y1240w15gawxcwj5gg1cds162wq1hswzplmx8wp9d1"
+   "commit": "74a6fd598a03d8d981c21267e9aa25e73d125bcd",
+   "sha256": "0mm3d8zbnamscnbqmdkqqsj6qy30j83gqdlgwacw1r8n1ncwx8sa"
   },
   "stable": {
    "version": [
-    1,
     2,
-    4
+    1,
+    0
    ],
    "deps": [
     "dash",
     "emacsql",
-    "emacsql-sqlite3",
+    "emacsql-sqlite",
     "f",
-    "org",
-    "s"
+    "magit-section",
+    "org"
    ],
-   "commit": "9065f6a999b98d4b495e3d8fa1fa4424eddd25a8",
-   "sha256": "10jrnjq65lpg1x8d7lqc537yai9m6pdnfbzwr87fcyv6f8yii8xn"
+   "commit": "f819720c510185af713522c592833ec9f2934251",
+   "sha256": "092xn0sqc7b7f6pdf7m6c3giqqbh6fq02mfz8qrg0wmx4ds1isqp"
   }
  },
  {
@@ -78384,71 +78912,30 @@
   "repo": "org-roam/org-roam-bibtex",
   "unstable": {
    "version": [
-    20210602,
-    2113
+    20210810,
+    1626
    ],
    "deps": [
     "bibtex-completion",
     "org-ref",
     "org-roam"
    ],
-   "commit": "c9865196efe7cfdfcced0d47ea3e5b39bdddd162",
-   "sha256": "0c9y76r1bagz39m74kb2jcxqsc2q461407bbsib3f512sdf93lyg"
+   "commit": "c13a05b2c855ba1516241d8a1de33bf2c689d6e4",
+   "sha256": "0m1mr0c6wmiw54qiqz6dm74l1cn0khywndyqfdmss3l52sipzc9x"
   },
   "stable": {
    "version": [
     0,
     6,
-    0,
-    -1
+    0
    ],
    "deps": [
     "bibtex-completion",
     "org-ref",
     "org-roam"
    ],
-   "commit": "03b3a843fdbba428b29faa932661bc74fd66e29b",
-   "sha256": "17ds31cdq4prlknbjhhcjz17sim26yx8iws1scg4xcffxnb1s39r"
-  }
- },
- {
-  "ename": "org-roam-server",
-  "commit": "40932819ae514a015f998a687d3cf651b30a79a1",
-  "sha256": "1bizzzmi1bx996n9g9rmkvpm229ipmpdacmh2jd3pvn8kx6252bm",
-  "fetcher": "github",
-  "repo": "org-roam/org-roam-server",
-  "unstable": {
-   "version": [
-    20210521,
-    1055
-   ],
-   "deps": [
-    "dash",
-    "f",
-    "org",
-    "org-roam",
-    "s",
-    "simple-httpd"
-   ],
-   "commit": "a0f82bf41e318d4ef606a26f54054262ed6c3441",
-   "sha256": "06j8wabbxay9h8ca4pbv5xgjygfzbb3kbk4icni3lrfj6izsp3i4"
-  },
-  "stable": {
-   "version": [
-    1,
-    1,
-    2
-   ],
-   "deps": [
-    "dash",
-    "f",
-    "org",
-    "org-roam",
-    "s",
-    "simple-httpd"
-   ],
-   "commit": "2093ea5a1a1f2d128dd377778472a481913717b4",
-   "sha256": "1jp8mkqx1l3w166b16l2d5zsqjcc836bkclplgjk4laysb6msry8"
+   "commit": "eea7469fc32eddc9d74621b7ecc1f36832b7efd3",
+   "sha256": "04vc2w7x2lyamp0qa1y274smsf9x2qxr1igrpz9f4y5ha5332px5"
   }
  },
  {
@@ -78477,8 +78964,8 @@
   "repo": "tyler-dodge/org-runbook",
   "unstable": {
    "version": [
-    20210502,
-    1732
+    20210825,
+    1544
    ],
    "deps": [
     "dash",
@@ -78489,8 +78976,8 @@
     "s",
     "seq"
    ],
-   "commit": "3206b4ea40614ba87a1b12f66ad0f84354bcdafb",
-   "sha256": "0b2gs6hm8k25539m7hxbhh5jza37mdfv3z763r130fxj3b646v01"
+   "commit": "db59e2e9d4230997cca4cbf3a5bb1a89fd38f87f",
+   "sha256": "1444qsf3fyygw0bpl805fqfyh2mygc821iy2i6cpfyaibrz0n6hj"
   },
   "stable": {
    "version": [
@@ -78635,16 +79122,16 @@
   "repo": "alhassy/org-special-block-extras",
   "unstable": {
    "version": [
-    20210228,
-    212
+    20210806,
+    154
    ],
    "deps": [
     "dash",
     "org",
     "s"
    ],
-   "commit": "143146d5bab10e32d4a24f4c3e5e30905b0f3176",
-   "sha256": "1wbb5isfm1ixv2zbys75cn276zcr2927j3h2crb081acygm78qqv"
+   "commit": "8b7bbcb239cb08ca96a950cf59bb5e9617bee2cc",
+   "sha256": "11qni2i00ck0kh2x334gahhr4lhnh03mvn69bzvivnx8rlk6w1f7"
   },
   "stable": {
    "version": [
@@ -78830,8 +79317,8 @@
     "s",
     "ts"
    ],
-   "commit": "f5e80e4d0da6b2eeda9ba21e021838fa6a495376",
-   "sha256": "18q1af3hjjbsny9lxqjsq68qjzzpdjqgx7npg7pl7k3hzdjaj42f"
+   "commit": "a5557ea4f51571ee9def3cd9a1ab1c38f1a27af7",
+   "sha256": "1xbdkscg32pqpwzs50igdwkyi2k2mgi01wkqm7rc6bhrpgsk9gkw"
   },
   "stable": {
    "version": [
@@ -78887,8 +79374,8 @@
   "repo": "arbox/org-sync",
   "unstable": {
    "version": [
-    20181203,
-    2242
+    20181204,
+    23
    ],
    "deps": [
     "cl-lib",
@@ -78992,15 +79479,15 @@
   "repo": "stardiviner/org-tag-beautify",
   "unstable": {
    "version": [
-    20210527,
-    1130
+    20210729,
+    929
    ],
    "deps": [
     "all-the-icons",
     "org-pretty-tags"
    ],
-   "commit": "20193bf9b07efba03fdd5ffb2852cd43fcd88051",
-   "sha256": "0diccvg4gx9djayihd1hp39q5n2s8cahck93s5r58vk0d4jlcyyk"
+   "commit": "69e7dcb50278ff0d7b220cda9562d4fe7e4db0ec",
+   "sha256": "0wyqjzb2ph7092ghrnq0gxaf4r57mvcm0007kqpzqvknc3byd38d"
   }
  },
  {
@@ -79497,16 +79984,16 @@
   "repo": "marcIhm/org-working-set",
   "unstable": {
    "version": [
-    20210320,
-    1019
+    20210802,
+    1435
    ],
    "deps": [
     "dash",
     "org",
     "s"
    ],
-   "commit": "f5512304dccc152816f9957f5627c814bcb0f683",
-   "sha256": "0kg2bjwp66fml3836zfr15aadh5d7srg8ai69g0nxk1kmalbxkdv"
+   "commit": "bced50755c45047565a3ab395c3b5e59ab15cc8e",
+   "sha256": "155gxp0ysfwgiykw0zjzrm86pd9f2nz5whlcjm51apqd0439jjv9"
   },
   "stable": {
    "version": [
@@ -79816,14 +80303,14 @@
    "version": [
     1,
     7,
-    0
+    1
    ],
    "deps": [
     "magit",
     "org"
    ],
-   "commit": "26242895ef1642bf30c63683fb224fdba25e0853",
-   "sha256": "1xd58yqqsb79lgxkhxs4s50jq8f3639k6fhlza9hsy53apfczkal"
+   "commit": "f956d802f19ea495efa95af6c673588afeb3adc5",
+   "sha256": "0mbcr98xq3zim01dk1fbyc1vajnjwx90k62mygv343rhrd05v44m"
   }
  },
  {
@@ -79941,11 +80428,11 @@
   "repo": "tgbugs/orgstrap",
   "unstable": {
    "version": [
-    20201129,
-    604
+    20210722,
+    737
    ],
-   "commit": "5bd7ee9d9e23ce37fd004054071026ff51445654",
-   "sha256": "1qblj2m7bhykm58i63r5ywvpz6hr0vyzx7fa0s6rwlkjzbdn77g6"
+   "commit": "6bb7deaea9ca01137e7cbd74ff23559e6a4d85e7",
+   "sha256": "0kq5fa3dkz6a8y8zyf588032hlmpvjl7mn7y6m2mjsamf7fxnh3h"
   },
   "stable": {
    "version": [
@@ -79965,11 +80452,11 @@
   "repo": "tbanel/orgaggregate",
   "unstable": {
    "version": [
-    20210315,
-    1415
+    20210819,
+    1739
    ],
-   "commit": "639ec296ccca4e2f7405e9ef72506fad609f2167",
-   "sha256": "0nkm6y851sm1bp8ch9d7dxi1z07qs1254ab8zjv16hvq8arp0s6c"
+   "commit": "141577373600e7be16a5b67284165f54e8743505",
+   "sha256": "0nhaigi53nygw0fvmj335sd2kin3rlhh501sx4asdvdlhm28n2hr"
   }
  },
  {
@@ -80113,10 +80600,11 @@
   "stable": {
    "version": [
     1,
-    3
+    3,
+    2
    ],
-   "commit": "bcb858f607b0d833e1581e0630446ecc576eefd6",
-   "sha256": "1b6ms822j075fciijpwywzn675hbqqbaylz5iy3czlwypjg1slhh"
+   "commit": "c0ba49bb01d037ce8800aa04db06f454ef043cb6",
+   "sha256": "07ck6slz0z484lywdymh719pfmxhvfsb1cvk2bdbrx4xq89sqwq6"
   }
  },
  {
@@ -80825,11 +81313,11 @@
   "url": "https://git.sr.ht/~abrahms/ox-gemini",
   "unstable": {
    "version": [
-    20210102,
-    1517
+    20210819,
+    437
    ],
-   "commit": "d88c10bcb10fc463fa5a2f6e29c8c94b75a314c0",
-   "sha256": "1f8kbg5vjd1k7fak3v56b77yk612j6vmzx4xzx3m2vq3f0nyxq29"
+   "commit": "b69e7418fdd12c6228079886d42c12fe1342727c",
+   "sha256": "0z011ipycqr4rvf305z2fdd7zhgqaak4hx7kgzh0yap20h6xqlww"
   }
  },
  {
@@ -80910,14 +81398,14 @@
   "repo": "kaushalmodi/ox-hugo",
   "unstable": {
    "version": [
-    20210518,
-    108
+    20210727,
+    117
    ],
    "deps": [
     "org"
    ],
-   "commit": "290b5d6b659addf99cb96a316fb24caa90ad0e77",
-   "sha256": "04isqw4wfn5hq772sf0szq2rc3b8finhgjc5cna2sw7bhfgycywb"
+   "commit": "6ec3d054ddadbca1f5effb961c1db583e377ca35",
+   "sha256": "1vhyq9hbvbny9lj0h8fw7xk2i0fxcwn3v8rhwh6fjns86m7zy0lj"
   },
   "stable": {
    "version": [
@@ -81273,14 +81761,14 @@
   "repo": "yjwen/org-reveal",
   "unstable": {
    "version": [
-    20210705,
-    2321
+    20210815,
+    907
    ],
    "deps": [
     "org"
    ],
-   "commit": "014561540bdc5dc6fe68671cadcc3793a65f6b54",
-   "sha256": "1hha8f9vb6pmszpz0xx4lj2imm2nh81mgrvsblvbm92k4qvmk6z4"
+   "commit": "8eae719acc18592a916715e74984e9222bb6d5fa",
+   "sha256": "12r4s8xkmyiyv8pcf0zy2jh2dp582rx41pggnfh44cd27skafd30"
   }
  },
  {
@@ -81538,16 +82026,16 @@
   "repo": "LaurenceWarne/ox-yaow.el",
   "unstable": {
    "version": [
-    20210706,
-    1059
+    20210815,
+    1957
    ],
    "deps": [
     "dash",
     "f",
     "s"
    ],
-   "commit": "c7eca0130c35b3a8adcade637a35d1474368f4e9",
-   "sha256": "1k8vr1z9h6qywl037fh5p7ji0k78zm18r4qg996jghdk9sfxasfx"
+   "commit": "e20e52ef2968323d26a2e6cd0843c9b36195a1ff",
+   "sha256": "0q5k38raqq7ms4wdxqwxhc0pga31wn3v35dc0cv8dr687i9ck0s5"
   },
   "stable": {
    "version": [
@@ -81710,14 +82198,14 @@
   "repo": "melpa/package-build",
   "unstable": {
    "version": [
-    20210707,
-    1424
+    20210724,
+    1143
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "eea82edcbcc95e9cd35e33243d77adeb88ec7edc",
-   "sha256": "018pihaz1msmizhfjqwsp4d1aa9idiri4nrf6ifkpp6v6j8k7mva"
+   "commit": "01246e739da2eded6e007631861cada633302faa",
+   "sha256": "03w5yaivh2zc8c42zrfqmrlcc8lkmg3jjxa7sf223bwq1v9xypdj"
   },
   "stable": {
    "version": [
@@ -81814,11 +82302,11 @@
   "repo": "tttuuu888/package-loading-notifier",
   "unstable": {
    "version": [
-    20210608,
-    1406
+    20210724,
+    1700
    ],
-   "commit": "1e30d097de8939c4aa380915d3ba3060a87ce3c6",
-   "sha256": "0wmf3pfjvxrv86mpvbkn5n4drc20yc12fwm4k6a613br0bs75gan"
+   "commit": "895ab23f970f954349ccb6c89d397ad7d86087f8",
+   "sha256": "0maa3w06wx54f482z2k6d0vq8mr01j75nnbb7d0mjw15d6qi7pbk"
   }
  },
  {
@@ -82179,15 +82667,15 @@
   "repo": "joostkremers/pandoc-mode",
   "unstable": {
    "version": [
-    20210317,
-    2340
+    20210819,
+    1141
    ],
    "deps": [
     "dash",
     "hydra"
    ],
-   "commit": "2ad3cfa3045e0a3bcbdee02819c6fd356a8bc40c",
-   "sha256": "1m6c5y95asrw7fkn9sah6a38glr66vb35d3g6gc8lcvh2ikmgjn1"
+   "commit": "39167ff0e9293b4632cf162a32c9d0b6990a371d",
+   "sha256": "1rbn8vj1aazwzzzs79455qcd5w04l82xw4y00xn199mch95rim5d"
   },
   "stable": {
    "version": [
@@ -82558,20 +83046,20 @@
   "repo": "joostkremers/parsebib",
   "unstable": {
    "version": [
-    20210108,
-    1525
+    20210809,
+    2049
    ],
-   "commit": "25ea94f57c6f3531dd8383f8c5a45ee8d81272bd",
-   "sha256": "1d3ysh82gh5mg07hlz3ll782lldnaj0xmyabv18jln4y2xd7ncni"
+   "commit": "8d7cf64badde2b14baac277cac85e83777da9409",
+   "sha256": "1hd6izpb4irinjmfy7zxy8fqnr1fm4iw2sipvl9261nm68dzha6z"
   },
   "stable": {
    "version": [
-    2,
-    4,
+    3,
+    0,
     1
    ],
-   "commit": "25ea94f57c6f3531dd8383f8c5a45ee8d81272bd",
-   "sha256": "1d3ysh82gh5mg07hlz3ll782lldnaj0xmyabv18jln4y2xd7ncni"
+   "commit": "8d7cf64badde2b14baac277cac85e83777da9409",
+   "sha256": "1hd6izpb4irinjmfy7zxy8fqnr1fm4iw2sipvl9261nm68dzha6z"
   }
  },
  {
@@ -82618,8 +83106,8 @@
    "deps": [
     "a"
    ],
-   "commit": "eff941126859bc9e949eae5cd6c2592e731629f2",
-   "sha256": "0fr8giy750nr2mzl61sk0z2c7544q2pyglj4xwz1gk3gxm1b4jay"
+   "commit": "1bb3800f8f2417b0b881f57448ccb4acd1fe5b8d",
+   "sha256": "0894vhyx1phq8mdynnnqflcgi2a54hi926f4dk8slawzx1cb9xxb"
   },
   "stable": {
    "version": [
@@ -82642,15 +83130,15 @@
   "repo": "clojure-emacs/parseedn",
   "unstable": {
    "version": [
-    20200419,
-    1124
+    20210729,
+    1657
    ],
    "deps": [
     "a",
     "parseclj"
    ],
-   "commit": "90cfe3df51b96f85e346f336c0a0ee6bf7fee508",
-   "sha256": "0fhmxj8qjhpqzmj07phf1njkjryc6d2qqqcl4f515b6hly1l41kz"
+   "commit": "7b9ca20b398ca0ca0e3005e84c16f23aab49b667",
+   "sha256": "0knv5m6w7v9zi94b6qi861r271l49pxzmwzp4nm595c33lxagqj2"
   },
   "stable": {
    "version": [
@@ -83138,11 +83626,20 @@
   "repo": "JonWaltman/pcmpl-args.el",
   "unstable": {
    "version": [
-    20210625,
-    2116
+    20210805,
+    1537
    ],
-   "commit": "e6957896b065e2fda80a8258dfebb86b49742c15",
-   "sha256": "0fx7v5b3v7y9qxr8n8pm6449rdf4ljc0fb6kp0vpdzfzc4yzgdni"
+   "commit": "5f2943fd70d94065496c52d21f05eb89028637cc",
+   "sha256": "19xwwpfcf0l9jh7xixyjd5adivj27jw00zvxb7n1240k5p332pzi"
+  },
+  "stable": {
+   "version": [
+    0,
+    1,
+    3
+   ],
+   "commit": "5f2943fd70d94065496c52d21f05eb89028637cc",
+   "sha256": "19xwwpfcf0l9jh7xixyjd5adivj27jw00zvxb7n1240k5p332pzi"
   }
  },
  {
@@ -83732,25 +84229,25 @@
   "repo": "nex3/perspective-el",
   "unstable": {
    "version": [
-    20210709,
-    2353
+    20210821,
+    259
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "b55aec612db791a1720232df0e2df0d3597d850b",
-   "sha256": "01bh8cs54mnikzrbhxc03588mrx8wsn2vqgb12j47g4lmg93759w"
+   "commit": "1c257f35ccabaa807d3a79f6daed7b6a5872d27b",
+   "sha256": "0rgkajcw7fismqmww1r0yy84hnqripx5dwklf2mfm042whn9bqgf"
   },
   "stable": {
    "version": [
     2,
-    15
+    16
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "dd2a380ac71edf1321a6462f14668baf99879e80",
-   "sha256": "0l9i7ky25d9ii04w2brgxc8dk2rky50naba8lbfqi7hcc34z8pp6"
+   "commit": "c052ab2ce23f969ad2b7853ba0b3cbd4a5954c47",
+   "sha256": "0hg4rj3v748f6k4fwa21g683vs3bfya0wg9r9xdg216kdhfdk5j7"
   }
  },
  {
@@ -84147,14 +84644,14 @@
   "repo": "OVYA/php-cs-fixer",
   "unstable": {
    "version": [
-    20201126,
-    1538
+    20210729,
+    1022
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "c5b5d8a4986b31bade5e2a57131469bf90630db8",
-   "sha256": "0v6nhyrkcb4nw1b0d30wlns0f82h5a8i7wf5jsb0wjlbqgxabx4b"
+   "commit": "cc9a3624dcdc72d748d91e3d7cdb8544a1d85a51",
+   "sha256": "1iiazmyzr6gxwsdpx687j0zp3s1zs0rk4kgv4hicl9mjda2f7dmz"
   },
   "stable": {
    "version": [
@@ -84191,11 +84688,11 @@
   "repo": "emacs-php/php-mode",
   "unstable": {
    "version": [
-    20210714,
-    1700
+    20210808,
+    1745
    ],
-   "commit": "4b0e9f84d063c476b211ec89b2a17bddac138911",
-   "sha256": "0jw2c8fmj0m39xms301diid7l1wkhcpxh6mw2mrdla8as31vgygv"
+   "commit": "8212f415fc5de2dedfc74d797b3951b2cbfb6f58",
+   "sha256": "1r9arl0v33rqgvi98xz63pf56kb7d8j1j1p74ky89g5zk8zzivd3"
   },
   "stable": {
    "version": [
@@ -84215,20 +84712,20 @@
   "repo": "vpxyz/php-quickhelp",
   "unstable": {
    "version": [
-    20201108,
-    1132
+    20210819,
+    2025
    ],
-   "commit": "e36fc61a7061044ab7984421997566b97776f722",
-   "sha256": "1zkql9zy35apidxrd29w479600nccbrzn350f0xjsq2wzmk64ci2"
+   "commit": "d5e11b7a6bad64550521e8822139a33218b8c9bb",
+   "sha256": "1d9rg699wl67qkb93r4qnjn0ng4xn9c2g6kc98zaiy2v0v2wcv8g"
   },
   "stable": {
    "version": [
     0,
     5,
-    1
+    5
    ],
-   "commit": "e36fc61a7061044ab7984421997566b97776f722",
-   "sha256": "1zkql9zy35apidxrd29w479600nccbrzn350f0xjsq2wzmk64ci2"
+   "commit": "d5e11b7a6bad64550521e8822139a33218b8c9bb",
+   "sha256": "1d9rg699wl67qkb93r4qnjn0ng4xn9c2g6kc98zaiy2v0v2wcv8g"
   }
  },
  {
@@ -84484,11 +84981,11 @@
   "repo": "johanclaesson/picpocket",
   "unstable": {
    "version": [
-    20210103,
-    2315
+    20210806,
+    1135
    ],
-   "commit": "fa3a49f011b5ae139728548fec7375743f61c7c7",
-   "sha256": "1vb358jyfs3px70ah60dmlz5azdfkva9xrw3mgrr4060vcy7w4q1"
+   "commit": "7e30e96c26b1ff0d374612534c3e09d309426252",
+   "sha256": "0sx4493sxgw0fd7b48h8biygnd10k5bl69hhsd69a4yc7yq1zbnm"
   }
  },
  {
@@ -84891,6 +85388,21 @@
   }
  },
  {
+  "ename": "pkg-overview",
+  "commit": "5d4cf5e09d33a4fe22ebf36ed2b5d487cefbf5c6",
+  "sha256": "0m6q602yp9xlj2hikyjhc616017q42a39v6p64f6l7v1gk8ri61n",
+  "fetcher": "github",
+  "repo": "Boruch-Baum/emacs-pkg-overview",
+  "unstable": {
+   "version": [
+    20210802,
+    1509
+   ],
+   "commit": "9b2e416758a6c107bb8cc670ec4d2627f82d5590",
+   "sha256": "1p15jyjpiikx5y3syvhrdxabhhl898af88dv3fi95gm8v39n35i0"
+  }
+ },
+ {
   "ename": "pkgbuild-mode",
   "commit": "ca7bf43ef8893bf04e9658390e306ef69e80a156",
   "sha256": "1lp7frjahcpr4xnzxz77qj5hbpxbxm2g28apkixrnc1xjha66v3x",
@@ -85460,8 +85972,8 @@
   "repo": "alphapapa/pocket-reader.el",
   "unstable": {
    "version": [
-    20200828,
-    9
+    20210824,
+    658
    ],
    "deps": [
     "dash",
@@ -85473,8 +85985,8 @@
     "rainbow-identifiers",
     "s"
    ],
-   "commit": "dbb7b043edb42341b7f48ce0d81ba08c3c676076",
-   "sha256": "1xkhk8zb84c8jdgc5yjizzfyf265gk110fv8adww270sqg71la9v"
+   "commit": "0a177d4a3b4b2532be7f0775e5cc41e6382a45d4",
+   "sha256": "00ik1lgz9gzpx6701z26y0m064gf574ir4hjf1b2a052917gi97a"
   },
   "stable": {
    "version": [
@@ -86734,11 +87246,11 @@
   "repo": "raxod502/prescient.el",
   "unstable": {
    "version": [
-    20210425,
-    1720
+    20210724,
+    1756
    ],
-   "commit": "4a0f5405798cfcb98ea005078ef2e2d490e922c4",
-   "sha256": "04rz8mypgslb0la4wgj3na5c8p28s9lghq4nykcb28nhcxwfvz8n"
+   "commit": "027c2137a8d9e01a1d4c7b5e5d98da017dd2d48e",
+   "sha256": "04hwfqia53bk2fi7kw1pzwi5v0rgimr15kw6mmjlvcmwk0c1mghr"
   },
   "stable": {
    "version": [
@@ -86803,14 +87315,14 @@
   "unstable": {
    "version": [
     20210606,
-    1150
+    1152
    ],
    "deps": [
     "iter2",
     "nvm"
    ],
-   "commit": "85c9349de2730b71c5796e342d67efee34faa9ed",
-   "sha256": "06gcqnd6wwcxqij4gx06y16kcqsh5znhs7hi5kwhzrbvqvqvrki8"
+   "commit": "e38d21a885e234af9ea6b03f499c487175570571",
+   "sha256": "1c7n43xi1sjprqn0xhd1hfdr39ipqiw1r8w76qbm3xx04h9bccy8"
   },
   "stable": {
    "version": [
@@ -86953,14 +87465,14 @@
   "repo": "alphapapa/prism.el",
   "unstable": {
    "version": [
-    20201228,
-    141
+    20210804,
+    417
    ],
    "deps": [
     "dash"
    ],
-   "commit": "e746822cd7d8a0dcf56902d32fbadb3297690590",
-   "sha256": "09pskvha06picdlgclvwijng712s3xd5mr3kxxpp6gb02qsiy3yy"
+   "commit": "b0cbdaf4916c1cf348a8f0e4f6158e040a627562",
+   "sha256": "1h5fca47kinwr5qy58nh0bqn259vcj540013wb7kwki6ab33l809"
   },
   "stable": {
    "version": [
@@ -87382,26 +87894,20 @@
   "repo": "bbatsov/projectile",
   "unstable": {
    "version": [
-    20210701,
-    441
-   ],
-   "deps": [
-    "pkg-info"
+    20210825,
+    649
    ],
-   "commit": "da08a9103b5ba3b38ef031a9627a19436eb318b5",
-   "sha256": "08y36qvr20888jc2b5172qgah0xpp9bc3iwp38w8clfrjfd28g2s"
+   "commit": "db5748ea4a6428136769e7e50c6d0a12aa7acd8f",
+   "sha256": "0zfvv7iyb0n61hd3q1jk0bldpfwhw49kd61c5wd44g437vr7jm6x"
   },
   "stable": {
    "version": [
     2,
-    4,
+    5,
     0
    ],
-   "deps": [
-    "pkg-info"
-   ],
-   "commit": "bbb7b8d4c498e88046e4e6227990626f2b5dbe1b",
-   "sha256": "0w2s1mxbi8qqv0k34q0jj368n0p764rz72grdzzrmdlc96bbd03s"
+   "commit": "a2a1aba8aa12d0ff0e044c4336a5c2598c259720",
+   "sha256": "0wyq23xsfwpzfzncs2wr5ap4x2jh9r95qnhlzr8igq3325vm0b4f"
   }
  },
  {
@@ -87462,8 +87968,8 @@
   "repo": "asok/projectile-rails",
   "unstable": {
    "version": [
-    20210625,
-    708
+    20210810,
+    1303
    ],
    "deps": [
     "dash",
@@ -87473,8 +87979,8 @@
     "projectile",
     "rake"
    ],
-   "commit": "6a18ada3566ab2cb795129e3dfca2a32cc413fb8",
-   "sha256": "1xr6ha5jkczpbdqpxf8s4qggvx4arwky6mfwaji2kjnkk0ajjyda"
+   "commit": "30828afbfa7b0e07970e3e668e975e7916b824c4",
+   "sha256": "1m1n1rvna9qhq3dl4sd90lnkzvk7vaz2832r3zhfyg6l5d7dybh6"
   },
   "stable": {
    "version": [
@@ -87795,11 +88301,11 @@
   "repo": "ProofGeneral/PG",
   "unstable": {
    "version": [
-    20210607,
-    1422
+    20210820,
+    2321
    ],
-   "commit": "bc86736abb728ec0d28abc90ef0adae21d29a66a",
-   "sha256": "00cga3n9nj2xa3ivb0fdkkdx3k11fp4879y188738631yd1x2lsa"
+   "commit": "f84e634c99d0c6bad17e8840baf7b6173563188f",
+   "sha256": "07gr1czqh23kz0nw29vdg60vrc5yj9p4rymlplb6xbkq91lncnrd"
   },
   "stable": {
    "version": [
@@ -87902,17 +88408,19 @@
     20200619,
     1742
    ],
-   "commit": "b90ec9c242b303e90811deebaa2e3e684b63de91",
-   "sha256": "11n9ybjxfc8x58fwp2f67nc6mg4qkj8m9c7ldjlp77m01k0qrij1"
+   "commit": "38f6e15e77a4e33a669d5d37efd87edfa15c7c04",
+   "sha256": "1n6xp8yk7vkvgigy46ybvzd3a9597c6qg0zyc9bbhqk93vhwxqkk"
   },
   "stable": {
    "version": [
     3,
-    17,
-    3
+    18,
+    0,
+    -1,
+    1
    ],
-   "commit": "909a0f36a10075c4b4bc70fdee2c7e32dd612a72",
-   "sha256": "08644kaxhpjs38q5q4fp01yr0wakg1ijha4g3lzp2ifg7y3c465d"
+   "commit": "1a1710b19de57c6f68ebe599a6a22de2392e6018",
+   "sha256": "0v006kvgmy1m4fpkg15pa1pdf1c2xwn4vbr952jrk1z24sfyljdy"
   }
  },
  {
@@ -88203,7 +88711,7 @@
     "unidecode"
    ],
    "commit": "d781870e2f57e40110e07768289ab81d8554f122",
-   "sha256": "17d2v7q6sfafk8j1ish053xsmihi4f1hbk53fkkmhwan6sw9c4sc"
+   "sha256": "154lkpipi5wgcwx4j9w6h3zysciw7hblf03an2irr9xgdhs7xs7q"
   }
  },
  {
@@ -88271,7 +88779,7 @@
     8
    ],
    "commit": "708cae8e67dbae293c7c4be0ca5e49d76fac6714",
-   "sha256": "1v48i37iqrrwbyy3bscicfq66vbbml4sg0f0n950bnk0qagjx8py"
+   "sha256": "1bkkgs2agy00wivilljkj3a9fsb2ba935icjmhbk46zjc6yf3y6q"
   }
  },
  {
@@ -88756,16 +89264,18 @@
   "repo": "dwcoates/pygn-mode",
   "unstable": {
    "version": [
-    20210714,
-    1304
+    20210824,
+    1323
    ],
    "deps": [
     "ivy",
     "nav-flash",
+    "tree-sitter",
+    "tree-sitter-langs",
     "uci-mode"
    ],
-   "commit": "321c14c195cd2f8a31b9bf99dd318a552fbbcd6d",
-   "sha256": "1sz8riry4c4lf5n0nsd3msw5kch3ifwg5psrf4y866b0wlya7yk2"
+   "commit": "f3d6b5c6c8f74d7c54808759f71ff26c91c0b7e6",
+   "sha256": "1v5gisi22d2syb5vd9plydncjlz3hqyx9fhzamxjcmpybdzss80m"
   },
   "stable": {
    "version": [
@@ -88790,15 +89300,15 @@
   "repo": "tumashu/pyim",
   "unstable": {
    "version": [
-    20210714,
-    231
+    20210803,
+    226
    ],
    "deps": [
     "async",
     "xr"
    ],
-   "commit": "ebd3175c4c5e7845c52dddf71a806826a80df89d",
-   "sha256": "0p52a4bp4gmgwfpai8cwq3frp0fyhp9ma5a0idxdiamr8xjiwjz0"
+   "commit": "c2604a549b26b7a2125f986e9d34f0b58353336d",
+   "sha256": "1ikvg9qk4zzp3ch5glihdzhwhijs3vhrn6y1wc2d68h17j7li1gl"
   },
   "stable": {
    "version": [
@@ -88881,14 +89391,14 @@
   "repo": "tumashu/pyim-wbdict",
   "unstable": {
    "version": [
-    20210504,
-    1144
+    20210719,
+    38
    ],
    "deps": [
     "pyim"
    ],
-   "commit": "da51e226bca9be2ed6175298489be64e45492759",
-   "sha256": "0nl1yi3zf4pp7cksprmigm119dcp1d2477k4jdm10z7zfcq2p6r0"
+   "commit": "4812f93ee00196b8fee9f434aa5cd77fabcf90d1",
+   "sha256": "1wvzgyf3mq3wy0sdnx5jhscr5x28pgbvw8dmfyn18741xnsn26fb"
   },
   "stable": {
    "version": [
@@ -88960,17 +89470,17 @@
     20210411,
     1931
    ],
-   "commit": "6c29598ce446dc441a8095b83c82390249df3693",
-   "sha256": "0l5dg9snp4p6x3nlyl0civ50kdl1q6zr0hmx9hcp2c72hm22dqi5"
+   "commit": "23488352bc0dbdfa519abb527af3d676244b7106",
+   "sha256": "0gfig5fnmsvqbfcxd973v31zhvrdldma9grxliy83p7jzphs5kgp"
   },
   "stable": {
    "version": [
     2,
-    9,
-    3
+    10,
+    2
    ],
-   "commit": "aa688de05e469e33a20478144013946ccb752736",
-   "sha256": "0r2xp90bwwqnya3gq0q0gh2qdn7i9fcsq8ab890bnd0b44ivx0nk"
+   "commit": "591a23adcfdd2fe20b8cfdb9e4e07772c8f454f8",
+   "sha256": "06xrv79ns4bsk819iqrhjcb36k925yl2zi93l6sv7r228y0y8jl6"
   }
  },
  {
@@ -89241,11 +89751,11 @@
   "repo": "python-mode-devs/python-mode",
   "unstable": {
    "version": [
-    20210620,
-    1854
+    20210809,
+    1849
    ],
-   "commit": "3f0be5ace492d2ddd8405f4b5186ef89caee762e",
-   "sha256": "17clkgs94dgq5nsjlwkr52m5s446ibfss3qc8a8m0zaz6j4f8l1m"
+   "commit": "f43ab088af83ec20c5a70acc3559980c94ed2910",
+   "sha256": "0bflpbjv5j9q15qhm9q0yaaw0sfncx3dw5najvsj2rhiw5i47xx3"
   },
   "stable": {
    "version": [
@@ -89254,7 +89764,7 @@
     0
    ],
    "commit": "906b0a107f7bcfe6e32bcfedb977e6f0f99fda59",
-   "sha256": "1vym8nlpwv9ym7yixldjxp999b26a9pr4z0pka28fldxykfccwq0"
+   "sha256": "17clkgs94dgq5nsjlwkr52m5s446ibfss3qc8a8m0zaz6j4f8l1m"
   }
  },
  {
@@ -89353,7 +89863,7 @@
     "python"
    ],
    "commit": "e606469aafec2e6beda8c589540b88a5a6f6f33f",
-   "sha256": "00i7cc4r7275l22k3708xi4hqw2j44yivdb1madzrpf314v3kabr"
+   "sha256": "0vyipfsppissa87pdnbksamdby0yl2q8nzawqivv6smn33jp6vsn"
   }
  },
  {
@@ -89427,29 +89937,6 @@
   }
  },
  {
-  "ename": "ql",
-  "commit": "475bd8fd66c6d5b5c7e74aa2c4e094d313cc8303",
-  "sha256": "0wxjblqacs5nx2hyh7r6rlv1yngbhn6phn5rni4dw2dms98zj34z",
-  "fetcher": "github",
-  "repo": "ieure/ql-el",
-  "unstable": {
-   "version": [
-    20180418,
-    2020
-   ],
-   "commit": "d976414ba6aa576ad524b5ee5bfa620efd072258",
-   "sha256": "138h4ndnzpphsmi4b8yw53mxc3rnqrj1c3jp8njx5pkmiqkp1q00"
-  },
-  "stable": {
-   "version": [
-    1,
-    1
-   ],
-   "commit": "d976414ba6aa576ad524b5ee5bfa620efd072258",
-   "sha256": "138h4ndnzpphsmi4b8yw53mxc3rnqrj1c3jp8njx5pkmiqkp1q00"
-  }
- },
- {
   "ename": "qml-mode",
   "commit": "f3abc88ddbb6b8ecafa45e75ceba9a1294ad88d4",
   "sha256": "123mlibviplzra558x87da4zx0kpbhsgfigjjgjgp3mdg897084n",
@@ -89885,15 +90372,15 @@
   "repo": "greghendershott/racket-mode",
   "unstable": {
    "version": [
-    20210715,
-    2107
+    20210727,
+    1545
    ],
    "deps": [
     "faceup",
     "pos-tip"
    ],
-   "commit": "c7aca6f1b4c34a48314bc7812c2d7edc849e3dba",
-   "sha256": "1pcxicz7kg6s9j9gsdb8pba3j3n5522gclc5qq95ch2q3i5phg91"
+   "commit": "ef9a3fed943495ec2b0c8258f8e00307d6434b17",
+   "sha256": "0rkhkhpjpnp4h3c60ms9637737sfz6nfjlvlgvw0wfa51bvmzimd"
   }
  },
  {
@@ -90006,14 +90493,14 @@
   "repo": "stardiviner/emacs-rainbow-fart",
   "unstable": {
    "version": [
-    20210202,
-    846
+    20210803,
+    922
    ],
    "deps": [
     "flycheck"
    ],
-   "commit": "61acc77535720f7ed3b8f680fa9d9a1871832f11",
-   "sha256": "063a76lvyx83h7smplghcg5zxkncx017kjc25y74diwsda16sn0z"
+   "commit": "57fe85c0f03917f6867833636a5617cbfa663a29",
+   "sha256": "1y97a876gsva2pr75b4psfs8hd26vd2drfsbfg79hazcqvr51c5j"
   }
  },
  {
@@ -90312,11 +90799,11 @@
   "repo": "thiagoa/rbtagger",
   "unstable": {
    "version": [
-    20200911,
-    2209
+    20210814,
+    1656
    ],
-   "commit": "32d1df138a9b70530ec7a71dc85aa6e133a6cd95",
-   "sha256": "0bcd54pfy6sw95nc344ahpd2m7a7w6x2qf7badda2sil3bk6fcd1"
+   "commit": "1cc5e965a221a5987ce0e075825d8002f0862f33",
+   "sha256": "03drdmjkmzsz1cd78k2crlzcvvqqx43dj892n9z52z8ia3c36dvk"
   },
   "stable": {
    "version": [
@@ -90550,11 +91037,11 @@
   "repo": "pfchen/read-only-cfg",
   "unstable": {
    "version": [
-    20210608,
-    1259
+    20210717,
+    205
    ],
-   "commit": "a02395b37a68b2e20e365c2e3752f966c71d4c02",
-   "sha256": "0jihqc16knvws5w2y5djdir4h52mpwk86nbjlap47lh2r18qk6q6"
+   "commit": "a4e50d4fbf48970e98b2464e13f46e51a4c43c37",
+   "sha256": "1mbnyp2xknymfs2nrcw572plrwxgjacrysxaf5szr75vn2vh11nl"
   }
  },
  {
@@ -90842,7 +91329,7 @@
   "unstable": {
    "version": [
     20210513,
-    1453
+    2237
    ],
    "deps": [
     "load-relative",
@@ -90922,11 +91409,11 @@
   "repo": "nickdrozd/reazon",
   "unstable": {
    "version": [
-    20180921,
-    1437
+    20210815,
+    1519
    ],
-   "commit": "020be6467a83957adcbdcb192b61f2c76a94079b",
-   "sha256": "18la2g0srybr10vm1dajgbxi67j1l0cs08mr696hxb6m558yxdv5"
+   "commit": "1bfce512612eb679d06356b5c070e6f8743fd0dc",
+   "sha256": "1059dqsj19k7yb2lw2vy1s6pdhbl0l4vmsfd2lscwsa6kw42kjp0"
   },
   "stable": {
    "version": [
@@ -90948,8 +91435,8 @@
     20180324,
     821
    ],
-   "commit": "9ac0c71c2858b76dc5499f62c7c7fb7f9e8f16bc",
-   "sha256": "0a0qf118gj2fag3j57zmli47939rn1jayvs2fwa4l280ipfvp2m7"
+   "commit": "4b8b5aae9099185e07c2b4cac4943c7f66a3f003",
+   "sha256": "0y2kcs6zgi3dijagyz6lxbv6gi2mih8m943fhjrzkj35wfvjmhsz"
   },
   "stable": {
    "version": [
@@ -91856,11 +92343,11 @@
   "repo": "tkf/emacs-request",
   "unstable": {
    "version": [
-    20210410,
-    2218
+    20210816,
+    200
    ],
-   "commit": "f3a5b4352e9f444ace2a332939abff504b573887",
-   "sha256": "0jdha6qjc1ngprmi4nqj8d8hs1dsjkpa39rk85z2132yhaca6lga"
+   "commit": "2b68b3ca543f1dfbebb43a44f20601c3947bd729",
+   "sha256": "0b8h93jac2rn0zpm50zmjdz0klhhvhyw1apgpngvzfvq4agx457s"
   },
   "stable": {
    "version": [
@@ -91887,8 +92374,8 @@
     "deferred",
     "request"
    ],
-   "commit": "f3a5b4352e9f444ace2a332939abff504b573887",
-   "sha256": "0jdha6qjc1ngprmi4nqj8d8hs1dsjkpa39rk85z2132yhaca6lga"
+   "commit": "2b68b3ca543f1dfbebb43a44f20601c3947bd729",
+   "sha256": "0b8h93jac2rn0zpm50zmjdz0klhhvhyw1apgpngvzfvq4agx457s"
   },
   "stable": {
    "version": [
@@ -92031,11 +92518,11 @@
   "repo": "pashky/restclient.el",
   "unstable": {
    "version": [
-    20210511,
-    1331
+    20210813,
+    841
    ],
-   "commit": "2cc1fd3496f57288de3f97c27a5f018284db2d23",
-   "sha256": "0zpdkrj2kka85x56qh266vd1rc1kxh4cwv1gbdxcfpkpckn3xg0l"
+   "commit": "176d9cb6552f04d98c33e29fc673862bdf3bca03",
+   "sha256": "108znxclz80rgymx1kmw107afay6sr0042yfyy207b5ki36vghl1"
   }
  },
  {
@@ -92053,8 +92540,8 @@
     "helm",
     "restclient"
    ],
-   "commit": "2cc1fd3496f57288de3f97c27a5f018284db2d23",
-   "sha256": "0zpdkrj2kka85x56qh266vd1rc1kxh4cwv1gbdxcfpkpckn3xg0l"
+   "commit": "176d9cb6552f04d98c33e29fc673862bdf3bca03",
+   "sha256": "108znxclz80rgymx1kmw107afay6sr0042yfyy207b5ki36vghl1"
   }
  },
  {
@@ -92452,7 +92939,7 @@
     0
    ],
    "commit": "c7c6b726806df7e8cb25a41b213a207850c91cb7",
-   "sha256": "0p044wg9d4i6f5x7bdshmisgwvw424y16lixac93q6v5bh3xmab5"
+   "sha256": "18rba101m9vmjl4mf3x0k7wvbgn6qmay9la745vzpr3lx1f4nn98"
   }
  },
  {
@@ -92487,8 +92974,8 @@
   "repo": "DogLooksGood/emacs-rime",
   "unstable": {
    "version": [
-    20210628,
-    1648
+    20210723,
+    1236
    ],
    "deps": [
     "cl-lib",
@@ -92496,8 +92983,8 @@
     "popup",
     "posframe"
    ],
-   "commit": "b93e761209211f8a6de1bb4b8f1d36651564a8d9",
-   "sha256": "0z0iwsqr92g8ykxb51gkawwxwzx0faw0027zgdi7c38ngjqld237"
+   "commit": "1d9bcc6dad4182e9b6a5839f8261b260e57be2fc",
+   "sha256": "157hndsslfxyi4n927y67shnk2xwhwz0idxwkdhcd4zl9jjzwpqr"
   },
   "stable": {
    "version": [
@@ -92646,7 +93133,7 @@
     "web-mode"
    ],
    "commit": "6cf58cf04fee933113857af07414b3f27c24b505",
-   "sha256": "0s3hs0w6hz8vx4172mfraiqfjhd1a9h1w61ra6fklc5fjf3y8pn8"
+   "sha256": "0b3gqs1lsk80shirsc41zajzjbg1sgzksmnfazffx88h612p7ygd"
   }
  },
  {
@@ -92687,11 +93174,11 @@
   "repo": "jgkamat/rmsbolt",
   "unstable": {
    "version": [
-    20210624,
-    417
+    20210824,
+    110
    ],
-   "commit": "ff496660cc52a6dd33d358ef0acc6d4bb70cc340",
-   "sha256": "05i0101238yy1da6z543nr9x5gpvgdxrrdn3sw5dibcn6z62ml3p"
+   "commit": "9b1a5abbdf461e6d4bfee50f71e3c85d00da1c0c",
+   "sha256": "1lmddhaabxq8kzyb54d944xwmdkcb9a6s4gi5wn3dp7sld7yvn4a"
   }
  },
  {
@@ -92702,14 +93189,14 @@
   "repo": "dgutov/robe",
   "unstable": {
    "version": [
-    20210626,
-    137
+    20210818,
+    2338
    ],
    "deps": [
     "inf-ruby"
    ],
-   "commit": "e1304d123d729aa063671d0ca526b01e72f0f5ed",
-   "sha256": "1ghwjymcmmr99z060l1shm9sqbjxxdgq6b7ayn8s9mldcqm5pa3q"
+   "commit": "9e3805c5c7fadcba0da31a59985a8daeeb8a7b0d",
+   "sha256": "1bmp317cacl5hmmr5rm7jimxw4k0ggrz80c0vfygb5fx02s5jy0w"
   },
   "stable": {
    "version": [
@@ -92829,7 +93316,7 @@
     4
    ],
    "commit": "71e475ab35555e0a1eca26d73acf1ced911e422e",
-   "sha256": "0x3mmf4gq4d0cqfqbkrrpwhayvmplacck0zc9nlzcn35y17jzpcz"
+   "sha256": "0y18i4ly61jyvxymvgjr99arhxfn5y5s659jnqf4gvyp3d671dkf"
   }
  },
  {
@@ -92840,11 +93327,11 @@
   "repo": "DerBeutlin/ros.el",
   "unstable": {
    "version": [
-    20200109,
-    1940
+    20210730,
+    844
    ],
-   "commit": "0babdd3bbc038ee7436db0cc869df35752456268",
-   "sha256": "1f0bxbm1rgvf68q6qbsf63mzr44541aapk4237rs7pkxk81nnrrl"
+   "commit": "63d46cefa8552b59556dcb4af0849253dc501ee9",
+   "sha256": "0imwdapwfj8qn7zqc4842bvxwip7j8gw9bip7mc05l4c9v2v73r0"
   }
  },
  {
@@ -92952,8 +93439,8 @@
     20210313,
     1541
    ],
-   "commit": "65113e2a137baa9f85dc2157b893291470788dc4",
-   "sha256": "1qc4hy6r2sz59nb28xrrqiad91xbmsrr9jzhi4k915qgds6m029h"
+   "commit": "3a057f127b931c683288f8731f05ba5e2aab4133",
+   "sha256": "1brf05grh0xdcjllaiixpjxmcg2j130gcrxkqm5v4ryb1w9fki7g"
   },
   "stable": {
    "version": [
@@ -92972,14 +93459,14 @@
   "repo": "Andersbakken/rtags",
   "unstable": {
    "version": [
-    20200310,
-    1909
+    20210721,
+    2314
    ],
    "deps": [
     "rtags"
    ],
-   "commit": "65113e2a137baa9f85dc2157b893291470788dc4",
-   "sha256": "1qc4hy6r2sz59nb28xrrqiad91xbmsrr9jzhi4k915qgds6m029h"
+   "commit": "3a057f127b931c683288f8731f05ba5e2aab4133",
+   "sha256": "1brf05grh0xdcjllaiixpjxmcg2j130gcrxkqm5v4ryb1w9fki7g"
   },
   "stable": {
    "version": [
@@ -93512,8 +93999,8 @@
   "repo": "brotzeit/rustic",
   "unstable": {
    "version": [
-    20210609,
-    1900
+    20210805,
+    1755
    ],
    "deps": [
     "dash",
@@ -93526,8 +94013,27 @@
     "spinner",
     "xterm-color"
    ],
-   "commit": "6ca73bb3cce4d1db3c4f91efb83b63227eb712d1",
-   "sha256": "12arrvvp3idq11a4ham77zxqp2d1026qz89ywgd3i9k1cbj852wi"
+   "commit": "1941f52d34e7e4752e1e465e5636b21ef7ad42b9",
+   "sha256": "16vis13axbk9d4pnr7588wx527hsr6kcbjxnppc23wpd54j7sgh2"
+  }
+ },
+ {
+  "ename": "rutils",
+  "commit": "3bbcad6b15e81543e750c754574504a26e5d1c7e",
+  "sha256": "16rky6zhpfvcd3pwi5hbw8mmnrcvv7snyxskcfj618f27c97zm50",
+  "fetcher": "github",
+  "repo": "ShuguangSun/rutils.el",
+  "unstable": {
+   "version": [
+    20210805,
+    608
+   ],
+   "deps": [
+    "ess",
+    "transient"
+   ],
+   "commit": "e216db63a2ccd50fe5c80679fc5b929dd2c114e8",
+   "sha256": "0ldbrx7xchy4p26ggs0hmazwfw9cbv97mzl4f02whblq3zkx7h5j"
   }
  },
  {
@@ -93834,8 +94340,8 @@
   "repo": "djcb/sauron",
   "unstable": {
    "version": [
-    20201011,
-    905
+    20201015,
+    836
    ],
    "commit": "5daade4836da5b1b2ab26d84128d6c38328a5d52",
    "sha256": "0fkq8knq023zm538ls4zxghlkn9zf4rfccpmmgfcpad6bdm00cpc"
@@ -93997,8 +94503,8 @@
     20200830,
     301
    ],
-   "commit": "cff035686cc9505d114115646e4d98edac307512",
-   "sha256": "0w5bzlsbs5zdk3h8ij019yj7861ggg0a4wcqwq7dm7rwf1bshsl2"
+   "commit": "4a02387d997b0b4d20b24e9a17a68270692219ad",
+   "sha256": "1k2382v1srcx7qc4rqxghqd87lx7c6jrls7wxgqq1warvklxfx87"
   }
  },
  {
@@ -94497,8 +95003,8 @@
   "repo": "t-e-r-m/sculpture-themes",
   "unstable": {
    "version": [
-    20210524,
-    354
+    20210530,
+    624
    ],
    "commit": "1da2b3501f3732b4a58d28b502e356226a43a96f",
    "sha256": "198rjkyv876h7mbs73h8dq4lx5xhl66p7xrpvb23v0vk4vw0q5vz"
@@ -94642,7 +95148,7 @@
     "s"
    ],
    "commit": "91c56311b48a26aa6ef5a113b0a828e174059b0a",
-   "sha256": "1iyq8m75gzyx2ww919i4zl63gajsaczgwax214a1jgf8x91j590k"
+   "sha256": "10ikd6ksz5adpldyx9h8s3qnwc488rqixzwnd0rjjwqigmllj9lb"
   }
  },
  {
@@ -94819,8 +95325,8 @@
     20210707,
     1827
    ],
-   "commit": "48ea51aa5b6959ea2a134e36cd21f727047b0677",
-   "sha256": "0lini8hdih1qakf3hg981diw9gmzxjkd6rnjq3lddyqg6dvj9hhw"
+   "commit": "97693d0aea2c548197e9d1de3bdedf8e703775a4",
+   "sha256": "0d03sw0w2yhhmnpdn7xc0sm2n3lk11ffhkbz59kzdkcqqi7ppv04"
   },
   "stable": {
    "version": [
@@ -94839,15 +95345,15 @@
   "repo": "raxod502/prescient.el",
   "unstable": {
    "version": [
-    20210425,
-    1720
+    20210724,
+    1756
    ],
    "deps": [
     "prescient",
     "selectrum"
    ],
-   "commit": "4a0f5405798cfcb98ea005078ef2e2d490e922c4",
-   "sha256": "04rz8mypgslb0la4wgj3na5c8p28s9lghq4nykcb28nhcxwfvz8n"
+   "commit": "027c2137a8d9e01a1d4c7b5e5d98da017dd2d48e",
+   "sha256": "04hwfqia53bk2fi7kw1pzwi5v0rgimr15kw6mmjlvcmwk0c1mghr"
   },
   "stable": {
    "version": [
@@ -95270,6 +95776,24 @@
   }
  },
  {
+  "ename": "session-async",
+  "commit": "37ad0e564b1eda4a4286b2315f71266b36664013",
+  "sha256": "15v12aq5zj478q3gxqilx5spk4k1shksn1rdb207aq06184dzjvs",
+  "fetcher": "git",
+  "url": "https://codeberg.org/FelipeLema/session-async.el.git",
+  "unstable": {
+   "version": [
+    20210817,
+    2218
+   ],
+   "deps": [
+    "jsonrpc"
+   ],
+   "commit": "e2ff39bdd60da67214d07900582b1049f74d03fc",
+   "sha256": "0b05smmgcxn5144wcsxlhi4bpliv9ffk21m02fh3l32mc5h24b30"
+  }
+ },
+ {
   "ename": "seti-theme",
   "commit": "088924b78575359996cf30745497b287cfb11f37",
   "sha256": "1mwkx3hynabwr0a2rm1bh91h7xf38a11h1fb6ys8s3mnr68csd9z",
@@ -95787,14 +96311,14 @@
   "repo": "purcell/emacs-shfmt",
   "unstable": {
    "version": [
-    20200421,
-    103
+    20210803,
+    222
    ],
    "deps": [
     "reformatter"
    ],
-   "commit": "49c9e11567874bc4c5c4b3578a6b8f6b1948c691",
-   "sha256": "002y0ci1hh55qhyyp1m6gw5d9ncbcfk9bhk6qg30s3x1g1dhq2bi"
+   "commit": "8496b0df2209cf6792c5197b924dd55807f0cffd",
+   "sha256": "1sb9zdig0ypr3c0dmm26cysc6dsij5vxf3zypqpjdh77si5asx24"
   },
   "stable": {
    "version": [
@@ -95858,11 +96382,11 @@
   "repo": "emacs-w3m/emacs-w3m",
   "unstable": {
    "version": [
-    20210714,
-    111
+    20210825,
+    707
    ],
-   "commit": "ccdd3681b9e7d8b6a758f2aa61a0ae8eab21240b",
-   "sha256": "1ynl1kwnhp5xqvmi8p37lprshk96xi8q78rsjmd9f8pkb8ayqbf3"
+   "commit": "d7166799bd93cf90f77cb9e4c59cb691bb3a1b8c",
+   "sha256": "1ins9lykfycv5nrm4lz66cfm2ny6mc338pblyw6jbxmnx7q300xv"
   }
  },
  {
@@ -96102,7 +96626,7 @@
     "s"
    ],
    "commit": "9b8cfb59a2dcee8b39b680ab9adad5ecb1f53c0b",
-   "sha256": "0kx0c4syd7k6ff9j463bib32pz4wq0rzjlg6b0yqnymlzfr1mbki"
+   "sha256": "1xnby24gpxij1z03wvx89s459jw0f8bwhgi80xvdq8gxhbbz2w7a"
   }
  },
  {
@@ -96509,14 +97033,14 @@
   "repo": "andreas-roehler/simple-paren",
   "unstable": {
    "version": [
-    20210206,
-    2015
+    20210806,
+    1022
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "7b17fcc467e485dce5550be901d26223b8ad3f23",
-   "sha256": "1ksckai0hr2345vpjsahv0kzk8h52vrg2wki290v5aj64iy2nw76"
+   "commit": "2281065d00ff8f78a03c1a66fc168fdb198f3d89",
+   "sha256": "19x12bw75sizc8b04i930zv5f5jypvmhw45frb0z79m7rw41pbs4"
   }
  },
  {
@@ -96716,11 +97240,11 @@
   "repo": "dawranliou/sketch-themes",
   "unstable": {
    "version": [
-    20210325,
-    1700
+    20210719,
+    2212
    ],
-   "commit": "407094c03e934043aa6d70369bf3e1bd841d1c91",
-   "sha256": "1glm8cxd91kq6910rrzgh3xaas67fylvgqxq2ld6gzcgmxzhv8yl"
+   "commit": "8c4b4ef49fbb059ad00ab9fb76f22c2cdd780e7c",
+   "sha256": "0lvjdcsx3gvg7lk22l5c8jmdqk9s38figlr5zcbbk7fgjpf4q0p2"
   },
   "stable": {
    "version": [
@@ -96935,15 +97459,15 @@
   "repo": "slime/slime",
   "unstable": {
    "version": [
-    20210709,
-    2051
+    20210802,
+    2231
    ],
    "deps": [
     "cl-lib",
     "macrostep"
    ],
-   "commit": "68f5623f13c9a0d3d47ce70cf56928e00483d9d6",
-   "sha256": "1hybxng81ra3zqj07xp5vpzd5mx15sfvqa4wydg1kxi9ics6m9i6"
+   "commit": "8aa055b9ad4a8b5f1b24ff29c9c7009e9475ee2c",
+   "sha256": "126ji049i5s8dikzyccj12vsqy31qy32g4rns7zx0szqqjiwzin6"
   },
   "stable": {
    "version": [
@@ -97175,11 +97699,11 @@
   "repo": "joaotavora/sly",
   "unstable": {
    "version": [
-    20210629,
-    2009
+    20210729,
+    1613
    ],
-   "commit": "41f4d650485217aa1f2afa7c159418f103a09231",
-   "sha256": "0cq1a19d1przjizp7d4vjl8khp09j6jcwavhrpja1saqhwavhv7c"
+   "commit": "540a8c5b9a04af0a6907e07cb070f1fed8a76f48",
+   "sha256": "13m15gcsqmagxmjvn28kd5rhh0ly7d4p4malhg5m7cbbms4svv68"
   },
   "stable": {
    "version": [
@@ -97683,15 +98207,15 @@
   "repo": "Fuco1/smartparens",
   "unstable": {
    "version": [
-    20210529,
-    1129
+    20210817,
+    1912
    ],
    "deps": [
     "cl-lib",
     "dash"
    ],
-   "commit": "911cc896a0f2eb8b5fbdd6fc8331523ad9889a3a",
-   "sha256": "12g7q86ncawikvxr87p7vda21pbfiwi3kr3rgkm7b1lx3zabwcai"
+   "commit": "22794b5b3773504610127c5f011629402dfec20c",
+   "sha256": "14b65bfsh4fglm65cvzgp412na8ykqkcwaqg84hvw6j6lqrvpg6v"
   },
   "stable": {
    "version": [
@@ -98195,15 +98719,15 @@
   "repo": "SpringHan/sniem",
   "unstable": {
    "version": [
-    20210708,
-    1128
+    20210825,
+    1510
    ],
    "deps": [
     "dash",
     "s"
    ],
-   "commit": "1b3071974b55c7f2046bd20a052b8fc795d2c940",
-   "sha256": "16k64k4mzjaiyq264crcpnmccj7aza2zlr9jg6l7ggjssly3fw5c"
+   "commit": "212e7c1492a9d208ece2a85e64bd352e9cd53c89",
+   "sha256": "13afcxy5vs38xzx2mi5xpszwiabyc5hiwq1r9vy6jx6pgsb7pkhc"
   }
  },
  {
@@ -98268,11 +98792,11 @@
   "repo": "alphapapa/snow.el",
   "unstable": {
    "version": [
-    20201231,
-    1632
+    20210813,
+    1902
    ],
-   "commit": "7ca25adc94148f182ac58c9f5d35f576a8a3131c",
-   "sha256": "1bpq8611yqvi7w58qylbyd2k7va6cbg12xyj6md7ipnq79wpfy4j"
+   "commit": "4cd41a703b730a6b59827853f06b98d91405df5a",
+   "sha256": "0c770mgxav92j562knmzxdjlabvyhvhqjrgnk3pa13c5rs08800h"
   }
  },
  {
@@ -98409,14 +98933,11 @@
   "repo": "bbatsov/solarized-emacs",
   "unstable": {
    "version": [
-    20210112,
-    1050
-   ],
-   "deps": [
-    "dash"
+    20210823,
+    609
    ],
-   "commit": "8271679a627148c96ad894f960cec9b1abfb1e6c",
-   "sha256": "1xrya65z54si9cf64whllq7vhw5dnafal9q2m4jf62jvxmbjdfsi"
+   "commit": "48158887c0a605b7cc1ffdbeb937f182b299f4db",
+   "sha256": "1l9ylidix4l8979d4wzvd9fpsxvjxb6nii09s1g90rsli4av8ps2"
   },
   "stable": {
    "version": [
@@ -98448,8 +98969,8 @@
     "flycheck",
     "solidity-mode"
    ],
-   "commit": "5f6ef3156fadae5af6f381d674d20535529a20e4",
-   "sha256": "02rmc7naspjfl757k7zdfg9xd6nvfpsiqfcxkj6ywc7mnndpq2c0"
+   "commit": "6f7bd1641e5282ec5163188d8b8c2f6dfddc2e36",
+   "sha256": "0rkw21pic9nypv7vz06chyn9mjl560a4dayb84gj5w6v8gfznrcw"
   },
   "stable": {
    "version": [
@@ -98473,11 +98994,11 @@
   "repo": "ethereum/emacs-solidity",
   "unstable": {
    "version": [
-    20210622,
-    931
+    20210717,
+    844
    ],
-   "commit": "5f6ef3156fadae5af6f381d674d20535529a20e4",
-   "sha256": "02rmc7naspjfl757k7zdfg9xd6nvfpsiqfcxkj6ywc7mnndpq2c0"
+   "commit": "6f7bd1641e5282ec5163188d8b8c2f6dfddc2e36",
+   "sha256": "0rkw21pic9nypv7vz06chyn9mjl560a4dayb84gj5w6v8gfznrcw"
   },
   "stable": {
    "version": [
@@ -98595,20 +99116,20 @@
   "repo": "mssola/soria",
   "unstable": {
    "version": [
-    20210426,
-    1433
+    20210813,
+    912
    ],
-   "commit": "12d3472e6823ff1bdc1591984367e2ed769afcb7",
-   "sha256": "1vyg73svawi8g1mq6v5y5g9hw0vnks2nhbwdkbn6d53b7bcr0hpx"
+   "commit": "cc225f51ea724d8767f97249d8c6b3fc5182d331",
+   "sha256": "0k73skf3wmfzbiv6lfb7dlyb6icsk36q0sfz4zwq2fpr4s3qzp73"
   },
   "stable": {
    "version": [
     0,
     4,
-    0
+    1
    ],
-   "commit": "bca7a42db1245543d81373e67d71278a0e3135a2",
-   "sha256": "1i1hb5xg97frkhpmv608dlqs8wclwf78sq9q3sy9776m5zfdhcxl"
+   "commit": "0b30ee125571a715d069846b4dafc5de8923cedd",
+   "sha256": "1vqhnajljx104yw11q6r1ywdxhdwsz5cf314wmq718zc58w68xrg"
   }
  },
  {
@@ -99093,11 +99614,11 @@
   "repo": "condy0919/spdx.el",
   "unstable": {
    "version": [
-    20210629,
-    1739
+    20210810,
+    1723
    ],
-   "commit": "b915b063f9de2eff4b9a37c04559a3f2fbfdba84",
-   "sha256": "1skwcsv8cvjfsgncgd4hybkhjdf6clb65pnpqfh9jxc866aw9n39"
+   "commit": "1a623ea518c4fa7af37181eb15b8afd6197e3d93",
+   "sha256": "05cln85y978sv5fg9mqir14wz3ksyxxcxly8kp1a32mmkj5j1bvi"
   }
  },
  {
@@ -99224,11 +99745,11 @@
   "repo": "ideasman42/emacs-spell-fu",
   "unstable": {
    "version": [
-    20210617,
-    426
+    20210814,
+    748
    ],
-   "commit": "1abcb5594e1bfe35716d29e64523e4cebdce737c",
-   "sha256": "0hk3cly374sgiwdf3crjj45afr8nv4jq4bda1vkdb9yqjla0xw8s"
+   "commit": "10823ae58f88874aff2a6a35f2da75c8503e726e",
+   "sha256": "0s7d1fgjk6cc27y37qlqfcjrrpqa0fxagr92qxzcn0mp2lb7pnhc"
   }
  },
  {
@@ -99812,11 +100333,11 @@
   "repo": "srfi-explorations/emacs-srfi",
   "unstable": {
    "version": [
-    20210701,
-    23
+    20210825,
+    1823
    ],
-   "commit": "a92d2a4f748f124910d406a9386979688f7f28a5",
-   "sha256": "1gfqskdng23dpacvmypyc2jsrw15hrrwq84qmlnwyibf0g0pjj1f"
+   "commit": "a6bbe36afa229b88aa5b406b9ef6e6393d9b2d5d",
+   "sha256": "102fhdhr3xa9jvdl5i715p07x0lgd3wxkhkh3li91p7gncxhrvyd"
   },
   "stable": {
    "version": [
@@ -99929,11 +100450,11 @@
   "repo": "jhgorrell/ssh-config-mode-el",
   "unstable": {
    "version": [
-    20210714,
+    20210724,
     951
    ],
-   "commit": "1c8f8779f20479e55f9d3d1151f1f68c1dff56f2",
-   "sha256": "0vcs6bz3qzw06c7bs253m9q2l43k8nppzdv7hqbybcdh4fakp8xw"
+   "commit": "2642659aa4cb882d95d84f780e8f8bf5e3a9114b",
+   "sha256": "1fivfpadw14cw9f78jpjhn7zl1b9sh3jhh7g8lh7f62kjv2p0a9m"
   }
  },
  {
@@ -100093,11 +100614,11 @@
   "repo": "lueck/standoff-mode",
   "unstable": {
    "version": [
-    20171115,
-    1731
+    20210810,
+    1814
    ],
-   "commit": "76cc8122a39a3ef5947d706377b007ef53a354fe",
-   "sha256": "034h6mrz8nh42k3dsw7lcaackg95xqa9khkdwl6pj0i3z4rhgph8"
+   "commit": "c78a04c5cf00320c0e1e6646295e20425537bf9e",
+   "sha256": "01ifxzzrn31d1gaq7yr88dciwylhy5q6lz4kvwkq6smqmvp3x80w"
   }
  },
  {
@@ -100240,8 +100761,8 @@
     20200606,
     1308
    ],
-   "commit": "ba12f620074b5a6e6615e2963bdc79fbba6060eb",
-   "sha256": "1gjmzm8lx8fas9phkbvy3rz9dyzqgdjs2ddd3l9biqqggwka0pa0"
+   "commit": "c9761ab0439ed1430b635c97cbf7fae7d3019a15",
+   "sha256": "07g40r27s7qv68qzrplsvjdkrli7jibmak1a7fnbhsgngq9q9ily"
   },
   "stable": {
    "version": [
@@ -100249,7 +100770,7 @@
     1
    ],
    "commit": "68f949852ab7f0e8bb52c6a6fc2ece2a74ded824",
-   "sha256": "129mms7gd0kxqcg3gb2rp5f61420ldlhb0iwslkm7iv64kbxzww1"
+   "sha256": "09d69q9m4k4pwhl2k5r7d7lqd4cj0qf22cys94zjkrsyw5gggd36"
   }
  },
  {
@@ -100350,6 +100871,24 @@
   }
  },
  {
+  "ename": "streamlink",
+  "commit": "e6674aefa0082fc5754c888538e447037f3618f8",
+  "sha256": "17r4dkpap72yz62nk9pr3l48qgpm5hidffmdfnbx7bwl07wzk6cb",
+  "fetcher": "github",
+  "repo": "benediktbroich/streamlink",
+  "unstable": {
+   "version": [
+    20210811,
+    1429
+   ],
+   "deps": [
+    "s"
+   ],
+   "commit": "c265dc61c02ad29ec01dfd8b5cbe3bac60fbf097",
+   "sha256": "1v6xr9x82m7f43zd228158pr6cwy90lfg8i68w67n6svj2gx19vp"
+  }
+ },
+ {
   "ename": "strie",
   "commit": "7fabdb05de9b8ec18a3a566f99688b50443b6b44",
   "sha256": "1ngvpbws7laqxk6mm023r5295msap12h8bh9zrsbr05yxfzhlx83",
@@ -100405,20 +100944,20 @@
   "repo": "akicho8/string-inflection",
   "unstable": {
    "version": [
-    20210712,
-    755
+    20210729,
+    658
    ],
-   "commit": "bf60b0c943cc0934aa188ada7c1c16053517df07",
-   "sha256": "077qxldhya397ka96786w0876bwa77x0il3zwixa9pcbqmqsg8qd"
+   "commit": "73b9a35e80e09ba744f2c364db4291f2d6f0a17a",
+   "sha256": "0g4lm384380q03pdspqzv8rb2gppb77m354r0xzw71340w8xh3hd"
   },
   "stable": {
    "version": [
     1,
     0,
-    13
+    14
    ],
-   "commit": "96a9baf4936df43b9f46804629384b79238691c3",
-   "sha256": "1v8h05m7iwxqp7lypdngib2620z0x23zc715vxqpqys79djwh9yh"
+   "commit": "73b9a35e80e09ba744f2c364db4291f2d6f0a17a",
+   "sha256": "0g4lm384380q03pdspqzv8rb2gppb77m354r0xzw71340w8xh3hd"
   }
  },
  {
@@ -100598,11 +101137,11 @@
   "repo": "PythonNut/su.el",
   "unstable": {
    "version": [
-    20210626,
-    2025
+    20210721,
+    1816
    ],
-   "commit": "36db018de8423a6e380a49d4e602d376a0740f6d",
-   "sha256": "08vma290dxzjxyn4df2i1kjzm24myxvsll9cxky277asbb8ja74z"
+   "commit": "1ecf7a7bbf9d88708eb2215e940753f8d6bccc92",
+   "sha256": "1994ypxz5zgrpdd5v61znf41c0dn4favab560wkgfnhhzrc1jgkf"
   }
  },
  {
@@ -100712,14 +101251,14 @@
   "url": "https://git.sr.ht/~amk/subsonic.el",
   "unstable": {
    "version": [
-    20210331,
-    1845
+    20210808,
+    1328
    ],
    "deps": [
     "transient"
    ],
-   "commit": "9764405dede46791e411cdcc7963808f76201529",
-   "sha256": "1d4yda1vv1sfjc36b5aaf811jmlcifc8labglmkx1xvjmc7bggsp"
+   "commit": "42c2e0b5b81c78741c069c8cfdb9e5d494157dc8",
+   "sha256": "08q6sccdkad4y3vv9h8bxkdn66dc4b2wxzhf7z87i70v7bw1xnwa"
   }
  },
  {
@@ -101013,8 +101552,8 @@
     20210222,
     1037
    ],
-   "commit": "25d0018036f44ff9bd685a1c9a76d8ba57c1024d",
-   "sha256": "070i3k5djw2m1763ihqngpxfmdxq7gs058fvjaaf62dpkqy9vv3a"
+   "commit": "839f579fa881467149e77d0e096a4a4a6c5d9878",
+   "sha256": "18hhl6x3xg5lykfq01iw2p03lj248x7rqaygq8nj64hbw46nzn0v"
   }
  },
  {
@@ -101230,16 +101769,16 @@
   "repo": "danielmartin/swift-helpful",
   "unstable": {
    "version": [
-    20210405,
-    1727
+    20210801,
+    2036
    ],
    "deps": [
     "dash",
     "lsp-mode",
     "swift-mode"
    ],
-   "commit": "ed36ea3d8cd80159f7f90b144c4503411b74ae3e",
-   "sha256": "0bcrnslqhgz122mv6br6w848a3x3g4jkz1pkdpb4726xssfzz8zk"
+   "commit": "75f2fc6bd4530a230946ae7cc9eaf67a36fa3ee4",
+   "sha256": "0z6prh1xrc8ddq57kas6kvp6n4pia25aps5pg3aq78cwfchzzrk0"
   },
   "stable": {
    "version": [
@@ -101263,14 +101802,14 @@
   "repo": "swift-emacs/swift-mode",
   "unstable": {
    "version": [
-    20210613,
-    543
+    20210810,
+    757
    ],
    "deps": [
     "seq"
    ],
-   "commit": "1b47a09f1c0e15c543e0551e7f1e643f437e7711",
-   "sha256": "1f12rmsxzjz0ixrzvi37gj6kqkjp08mym0qvnxdmqiackagxp2rq"
+   "commit": "800efe2910e0a8517ac720c8bd0e0714fef142eb",
+   "sha256": "10b475axhqdqighfisnq505m2lk66bpcq1qgry0fd6iq4m8jkia6"
   },
   "stable": {
    "version": [
@@ -101353,8 +101892,8 @@
    "deps": [
     "ivy"
    ],
-   "commit": "56139df678d9886d0612c0a192cce2cf6f156628",
-   "sha256": "0xjjdq3vmpm3fpvmd3g57m4ldixx8j73in0nmdx4vvnzvh0n904g"
+   "commit": "7cdde66c95d5205287e88010bc7a3a978c931db0",
+   "sha256": "0pvgh4krym43vcyiq4bsjl63gg795jlqh6kaa6llsv1awvywfqww"
   },
   "stable": {
    "version": [
@@ -101448,11 +101987,11 @@
   "repo": "dimitri/switch-window",
   "unstable": {
    "version": [
-    20210331,
-    911
+    20210808,
+    742
    ],
-   "commit": "2801d9b3a9d7bf0b64cd8b2f2e572124ed2ff9ad",
-   "sha256": "0x9sz14m433fi77slkwir9b0dwaglswckygk8vfkckcraxw14dhh"
+   "commit": "8d9fe251d8d38b223d643df975876356ddfc1b98",
+   "sha256": "0qc004gpyzf0hpsjr1xhsnfnn0g2jkpfxzvysa05p9nwglfpsn09"
   },
   "stable": {
    "version": [
@@ -101564,14 +102103,14 @@
   "url": "https://tildegit.org/contrapunctus/sxiv",
   "unstable": {
    "version": [
-    20210713,
-    1845
+    20210514,
+    918
    ],
    "deps": [
     "dash"
    ],
-   "commit": "14057b156dd57610edf101403e653be874a342bb",
-   "sha256": "14wh7fw45w5cfdqibrcfzahsf4cwbi97xp16jd773ynkcf049cjs"
+   "commit": "028409c3a9ff7ba33a1cc2158abfc1793ed50717",
+   "sha256": "0zscfz1f6sgf4b9arfj9bmyvxqlpphm7q36k73zn5hn28kzd9di4"
   },
   "stable": {
    "version": [
@@ -101684,8 +102223,8 @@
   "repo": "countvajhula/symex.el",
   "unstable": {
    "version": [
-    20210630,
-    1816
+    20210820,
+    2202
    ],
    "deps": [
     "evil",
@@ -101697,8 +102236,8 @@
     "seq",
     "undo-tree"
    ],
-   "commit": "740d80599c0a1ff0882e231e46c61ba16c83cd84",
-   "sha256": "1zfjdrm88c16czmi4i6rm87nafpyrjpjkj79cg44l9cizyv5198q"
+   "commit": "4561214b453e551253e9a273ef57c84c12c7cd8b",
+   "sha256": "1adzvdp54l1d6awcbfrbqx41kh40lqk5009h1gpj315l3zq3vhpx"
   },
   "stable": {
    "version": [
@@ -101931,27 +102470,28 @@
   "repo": "vapniks/syslog-mode",
   "unstable": {
    "version": [
-    20210714,
-    1932
+    20210825,
+    116
    ],
    "deps": [
     "hide-lines",
+    "hsluv",
     "ov"
    ],
-   "commit": "ff1ab94c0f65e9891656d78d84f71614e0b9a597",
-   "sha256": "1x0xlbiisq8wngxhznkhxavhrhbc1w5p5w1qgfxib16fr09aqyc5"
+   "commit": "7773a8488db88424e5e86cf4268c9bbe0b94085a",
+   "sha256": "0cph14cc3dzv3dp8aq6ifs3m92rq8jr4b2rpdjgc8pbcjrs9hvyb"
   },
   "stable": {
    "version": [
-    2,
-    3
+    3,
+    0
    ],
    "deps": [
     "hide-lines",
     "ov"
    ],
-   "commit": "18f441bf57dd70cdd48a71f1f4566ab35facdb35",
-   "sha256": "1xl6immya0i5xjpls3vqdqj9rr5jxp5srny8l9j4qxf8kp75byqa"
+   "commit": "014d78269daa99937fb4fa8f5d34e2b3eb368a5f",
+   "sha256": "03id3zjiq15nyw0by4fari837c8362fscl7y329gn9ikf7z6hxd9"
   }
  },
  {
@@ -101975,7 +102515,7 @@
     11
    ],
    "commit": "3ad6d52072f0bd043dced40ba7bd422fd9c00a7b",
-   "sha256": "0pxkyys2lgn16rhf4mzqlh27vs9aw6g083z2vr2agr7bmbavd2fp"
+   "sha256": "0n4qr5qqy6hbc1hg4wi1d2ckdl870v5mf9xhv5m9vrlwaphvnnjr"
   }
  },
  {
@@ -102315,11 +102855,11 @@
   "repo": "tmalsburg/tango-plus-theme",
   "unstable": {
    "version": [
-    20210615,
-    1229
+    20210804,
+    1943
    ],
-   "commit": "6ad64d82c8bd8c559b9023cd70b1c2d0c18e9060",
-   "sha256": "0ig8ng5ycdf256phigh3fzalvd0ncvs54f7kfpq0gp43ky9sgvz0"
+   "commit": "0460aff3638b7c9e290f28be8eb2b90887a74eed",
+   "sha256": "1vdr5wsq1bw30zpgmgy0sm7kls0qkn6zs800hf95mixh21l4gzlz"
   }
  },
  {
@@ -102345,11 +102885,11 @@
   "repo": "11111000000/tao-theme-emacs",
   "unstable": {
    "version": [
-    20210417,
-    626
+    20210726,
+    1827
    ],
-   "commit": "d5ccf6f53d65e80083acdfb0bced6bcd678c6ea9",
-   "sha256": "1wgk0xngamwgh242wfmxizi5r1ji5dxmr8s542g3p7rgfv5w0qs8"
+   "commit": "f35b97823f27e8d0f378bbd18b79a61f9e34cc55",
+   "sha256": "097zvklc90dy90p62fbk5khnysijzmb6knvzyi8m6wba2g32v4mh"
   },
   "stable": {
    "version": [
@@ -102372,8 +102912,8 @@
     20210415,
     1322
    ],
-   "commit": "1c0028d6c406cf4884e6aa35313e82041b7e857f",
-   "sha256": "0gv1iychm7xzdf99l1kiyvqfdhl9s8g900jjq7bj2kkd3r3c22ki"
+   "commit": "daf9920a8ecb230045f4b07834b3a6f45676f1ce",
+   "sha256": "0lh90x5hqxm3pyqiy4qb10nxs5ga7w4hc7k6xkax41yhi41bgd58"
   },
   "stable": {
    "version": [
@@ -102560,28 +103100,28 @@
   "repo": "zevlg/telega.el",
   "unstable": {
    "version": [
-    20210711,
-    1323
+    20210825,
+    2144
    ],
    "deps": [
     "rainbow-identifiers",
     "visual-fill-column"
    ],
-   "commit": "377531fc19063b490b842e779df9b07195e8c496",
-   "sha256": "0gmjfw6kz5cflvj3zmyhw9qad850ckvq14k5vys62603yvm53qgw"
+   "commit": "08d652fd85fdb799e5b68caddc64bbbdcb08205b",
+   "sha256": "1f5vhxw34qbgxc99zz7m3lml18xw59qdrgdfmxa79nxfrqczabcd"
   },
   "stable": {
    "version": [
     0,
     7,
-    25
+    30
    ],
    "deps": [
     "rainbow-identifiers",
     "visual-fill-column"
    ],
-   "commit": "f979ac79070c39a4c483c08df96080763287ce4e",
-   "sha256": "1fdvghwpmja94d65p02j7wa09lwjs3ah1kfb1v17b6l9qd5g80nc"
+   "commit": "26fee82fac70d55ade55381b475e865d99dde496",
+   "sha256": "1g29v5fgkqx43wsvh1npx0g3hj00n37lxgvxjvy85fs4h9226gl9"
   }
  },
  {
@@ -102615,16 +103155,16 @@
   "repo": "dbordak/telephone-line",
   "unstable": {
    "version": [
-    20210322,
-    2248
+    20210724,
+    1411
    ],
    "deps": [
     "cl-generic",
     "cl-lib",
     "seq"
    ],
-   "commit": "aebac4658e553902369a3bf465bacc1f07a01106",
-   "sha256": "1kbxhrlg3pddg10zb9h3ky72f6l67nb5cziv17i3d0shx2z0sw17"
+   "commit": "ff5fcb2181cf1d52bfc5fb8d76ac37f9cad22ce2",
+   "sha256": "15l5w4avs3y6mj22k6c1vfvk7az69wiws0yym4vyqmfpdpsmwab2"
   },
   "stable": {
    "version": [
@@ -102699,11 +103239,11 @@
   "repo": "clarete/templatel",
   "unstable": {
    "version": [
-    20210425,
-    2215
+    20210802,
+    249
    ],
-   "commit": "3ee3761d9dd30b1c6af74dc393d43b9a91a75951",
-   "sha256": "1c58m2x4frwqxbi8n884c4l69pfwzdxsrig8p35y7mbywlwf1s2l"
+   "commit": "23c9bce8c1e3866e7cdbe9a69777648e13707357",
+   "sha256": "0rn8d0zn3dlqfvr5m5v687bw96mnv02v6ngq5jvljgykyawh3h58"
   },
   "stable": {
    "version": [
@@ -103508,14 +104048,14 @@
   "repo": "myTerminal/theme-looper",
   "unstable": {
    "version": [
-    20210714,
-    1807
+    20210727,
+    249
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "bb711c4bb992d7a129dd434a41a356cdaf8c387d",
-   "sha256": "09i7w2s594ksyi7a9bwpcycn4j7is19jh9kznrk39ar2kc3m118h"
+   "commit": "32ca76dfa8100a2069ca735e28e19ae87c74f956",
+   "sha256": "184n2r33d99wmzrnscpl0rqqivmvm17k60gfbrw5yjppq5fl55m3"
   },
   "stable": {
    "version": [
@@ -103651,18 +104191,18 @@
     20200212,
     1903
    ],
-   "commit": "b157feff61c3bdefb138753af7636dae5a7b3c08",
-   "sha256": "1dnspcmni98xhcz21604238lskdqn6b4kpv2zllvq58si59q32mw"
+   "commit": "876f7c33782aaac147e88d9063fd286f7a8a46e1",
+   "sha256": "1b2kfqkr9ss9lb5133zpp8sz9w7c77mydv1lvb56fi03lms94a5r"
   },
   "stable": {
    "version": [
     2021,
-    7,
-    12,
+    8,
+    23,
     0
    ],
-   "commit": "faeb22efa9ed948e6096e37e65e6d121c83e329a",
-   "sha256": "1adaqcdzzrrff0186276pdmlqixkv47qfgyxap3by9zdiqwysd50"
+   "commit": "a70658fff6a7cc01e323dd7a4a5b7305906796cc",
+   "sha256": "04r195apvbp4b0nk4j45pxhyl5dl6hr7x35zji548v0q8dgiv5lm"
   }
  },
  {
@@ -103718,8 +104258,8 @@
    "deps": [
     "haskell-mode"
    ],
-   "commit": "95c065a410c20cbeefeaabc3084b2b09d09564c2",
-   "sha256": "02xbzwj1bf0n4lvg1rycmxsbvwi0p0h9a5fqx755kshwx5hngkx3"
+   "commit": "7142775c2039cae4cde9bdd6f68b3e0cbae2de9d",
+   "sha256": "02913lhc08kwx4m0x6hm40bg1yym449y160bndmpfv4n19d92z44"
   },
   "stable": {
    "version": [
@@ -103752,8 +104292,8 @@
     "s",
     "typescript-mode"
    ],
-   "commit": "c593153373d05b56ae56b0ca3a6752ee86708aaa",
-   "sha256": "0mrzk9ngmqg0p9hgirlvs08wxcc9vm3hibpy8khgclb8gzxjrs57"
+   "commit": "1e376e3e9798206ea3e42a5c037a7c00aa64ee00",
+   "sha256": "1g5q70j55qbvsl5ix9hsbmf5xllph1ch27miln7j3y5mi56k0lq9"
   },
   "stable": {
    "version": [
@@ -103967,11 +104507,19 @@
   "repo": "aimebertrand/timu-spacegrey-theme",
   "unstable": {
    "version": [
-    20210710,
-    1950
+    20210819,
+    2241
+   ],
+   "commit": "facb4da1a2ee333a3c66f56009c8dec8e9652dab",
+   "sha256": "0wpam6kjg53j00g4k4ar0zhf0v0nbpp00klk0cbpv06yr4lvswpc"
+  },
+  "stable": {
+   "version": [
+    1,
+    5
    ],
-   "commit": "e0629d59adc92112f51b5f9300e06e714349488d",
-   "sha256": "104zffdf0jlfqh6rlzl7a7ji5gs11pacy63ab4rjs2kx08p3z0y9"
+   "commit": "f3243f0d27988eb4c29215dbe07d35f37031114f",
+   "sha256": "0wpam6kjg53j00g4k4ar0zhf0v0nbpp00klk0cbpv06yr4lvswpc"
   }
  },
  {
@@ -104603,17 +105151,17 @@
  },
  {
   "ename": "tracking",
-  "commit": "a2b295656d53fddc76cacc86b239e5648e49e3a4",
-  "sha256": "096h5bl7jcwz5hpbm2139bf8a784hijfy40vzf42y1c9794al46z",
+  "commit": "f0f88655608fec94c0a218e261cef10436aa8265",
+  "sha256": "1708zilyjwx0x27v2izd6yiqs2lfaxw620ikqiyx2fjfvxrf6794",
   "fetcher": "github",
-  "repo": "jorgenschaefer/circe",
+  "repo": "emacs-circe/circe",
   "unstable": {
    "version": [
     20210713,
     1609
    ],
-   "commit": "07d6d82cba864b1e38d3bd46654f2e1928a997c2",
-   "sha256": "04h60s6ig43sj144s7dlip1saf9kdwvzlfys8qwwx48003rbs0dp"
+   "commit": "77e16de3b9fbaa0417b56a9acc70a9bca17c4ad0",
+   "sha256": "1ww04kfz4kkbhrbd78r4dpylhayb5hl72qcjv8wm0mhgfwmbb358"
   },
   "stable": {
    "version": [
@@ -104716,11 +105264,11 @@
   "repo": "magit/transient",
   "unstable": {
    "version": [
-    20210712,
-    1626
+    20210819,
+    2118
    ],
-   "commit": "e90481000f071e9a26a1cc0f40d347f7d3e2201e",
-   "sha256": "1sw9248cxr3x2hy2rhyzbwik08nvlkglxgig3rbqshc8spnid5h3"
+   "commit": "65f4eac82c564204d20df0a606dc2fcaa72cc41e",
+   "sha256": "1avxr5xdx8awzj63r97a505xd32d49qwjszbjzd0yfs3i5y243li"
   },
   "stable": {
    "version": [
@@ -104957,20 +105505,20 @@
  },
  {
   "ename": "tree-sitter",
-  "commit": "18f57da9ff7c07ce05c9dbd23eba87f2f34e17f3",
-  "sha256": "1jdnsmy1gwz2f6kybmh8lcf9lg7qw58694drz0dmw34w3q7jjwys",
+  "commit": "315cccbfb1a9aadb546a5b62de5c3b681108ba6c",
+  "sha256": "1y7y8qrzc4nr31rh9gi8y3qpgb33jfl8aj8lmbagw5b7pc3v5f11",
   "fetcher": "github",
-  "repo": "ubolonton/emacs-tree-sitter",
+  "repo": "emacs-tree-sitter/elisp-tree-sitter",
   "unstable": {
    "version": [
-    20210328,
-    434
+    20210811,
+    1609
    ],
    "deps": [
     "tsc"
    ],
-   "commit": "7f5d0938002092ec08830a73f64961021303e1e9",
-   "sha256": "17dwr2lmqi0ssg04a0a99igck60hmrk2a566bprwlwqga3cbkrzm"
+   "commit": "a0f259c024fa15587d225e1d5440d71109d7e3f3",
+   "sha256": "1x2p7x7f71kxvayvlg418vr6pa36044fla58saknb9p651hy9rjh"
   },
   "stable": {
    "version": [
@@ -105018,32 +105566,32 @@
  },
  {
   "ename": "tree-sitter-langs",
-  "commit": "4029e21f74841db0c82f4a343a3b51b09cae2f25",
-  "sha256": "0jygxdlh94blfn5gxn949ic2v2x49cvl0rfzmvig3igyfwmm33sp",
+  "commit": "4163e6e43626c5149be06b95ec2e6de55acb85cc",
+  "sha256": "1bkjd5h817dw5zkbfb1dn4yg6cy29m9g0d650ap5ldi2y605zz5v",
   "fetcher": "github",
-  "repo": "ubolonton/tree-sitter-langs",
+  "repo": "emacs-tree-sitter/tree-sitter-langs",
   "unstable": {
    "version": [
-    20210314,
-    1704
+    20210825,
+    1205
    ],
    "deps": [
     "tree-sitter"
    ],
-   "commit": "5d362ce98dcf656d7a55fcad6ae21c0a2caca861",
-   "sha256": "11nfyyzyz9x4w4l4hpz0y27awknlwx3kn9dwvkzdn174jk2kxp9a"
+   "commit": "81adcdc06a9700ecf9659171da275b1c9dcfdfb6",
+   "sha256": "0k067rkzdnxs5h5yf5l7pppbnwc0x6c41d97kygi1z03124s77s6"
   },
   "stable": {
    "version": [
     0,
     10,
-    0
+    4
    ],
    "deps": [
     "tree-sitter"
    ],
-   "commit": "5d362ce98dcf656d7a55fcad6ae21c0a2caca861",
-   "sha256": "11nfyyzyz9x4w4l4hpz0y27awknlwx3kn9dwvkzdn174jk2kxp9a"
+   "commit": "95c8d2869926014351ffb932ad6749f5dfaff033",
+   "sha256": "19rjnqsx7xi4g5dj32nb4x7xlxmbhagrm652khfn1chlwd7z94la"
   }
  },
  {
@@ -105090,8 +105638,8 @@
   "repo": "Alexander-Miller/treemacs",
   "unstable": {
    "version": [
-    20210713,
-    2032
+    20210823,
+    1524
    ],
    "deps": [
     "ace-window",
@@ -105103,8 +105651,8 @@
     "pfuture",
     "s"
    ],
-   "commit": "e4a85e3266581b8a8f526dbf4142c26d6e76d294",
-   "sha256": "1bjjz504a6nyh8ymqj4zbakp7b2006r0ayid5akc6yzpmyrsb4rl"
+   "commit": "f30a2151aec195026bd55affc05259b629fd9006",
+   "sha256": "0qndkwfnqjdkddhrs0gzn9rg2a7fwwrrnya0iz2hjvxpmcdxr37c"
   },
   "stable": {
    "version": [
@@ -105140,8 +105688,8 @@
     "all-the-icons",
     "treemacs"
    ],
-   "commit": "a6f9e9f1cea3502b3ead082fd208c4011a55add0",
-   "sha256": "1g004yj613x6qr06gaffb6rp2n47ximb1w8776l0s6w8d40msyyg"
+   "commit": "f30a2151aec195026bd55affc05259b629fd9006",
+   "sha256": "0qndkwfnqjdkddhrs0gzn9rg2a7fwwrrnya0iz2hjvxpmcdxr37c"
   }
  },
  {
@@ -105152,15 +105700,15 @@
   "repo": "Alexander-Miller/treemacs",
   "unstable": {
    "version": [
-    20210419,
-    1753
+    20210821,
+    1041
    ],
    "deps": [
     "evil",
     "treemacs"
    ],
-   "commit": "e4a85e3266581b8a8f526dbf4142c26d6e76d294",
-   "sha256": "1bjjz504a6nyh8ymqj4zbakp7b2006r0ayid5akc6yzpmyrsb4rl"
+   "commit": "f30a2151aec195026bd55affc05259b629fd9006",
+   "sha256": "0qndkwfnqjdkddhrs0gzn9rg2a7fwwrrnya0iz2hjvxpmcdxr37c"
   },
   "stable": {
    "version": [
@@ -105189,8 +105737,8 @@
    "deps": [
     "treemacs"
    ],
-   "commit": "e4a85e3266581b8a8f526dbf4142c26d6e76d294",
-   "sha256": "1bjjz504a6nyh8ymqj4zbakp7b2006r0ayid5akc6yzpmyrsb4rl"
+   "commit": "f30a2151aec195026bd55affc05259b629fd9006",
+   "sha256": "0qndkwfnqjdkddhrs0gzn9rg2a7fwwrrnya0iz2hjvxpmcdxr37c"
   },
   "stable": {
    "version": [
@@ -105221,8 +105769,8 @@
     "pfuture",
     "treemacs"
    ],
-   "commit": "e4a85e3266581b8a8f526dbf4142c26d6e76d294",
-   "sha256": "1bjjz504a6nyh8ymqj4zbakp7b2006r0ayid5akc6yzpmyrsb4rl"
+   "commit": "f30a2151aec195026bd55affc05259b629fd9006",
+   "sha256": "0qndkwfnqjdkddhrs0gzn9rg2a7fwwrrnya0iz2hjvxpmcdxr37c"
   },
   "stable": {
    "version": [
@@ -105254,8 +105802,8 @@
     "persp-mode",
     "treemacs"
    ],
-   "commit": "e4a85e3266581b8a8f526dbf4142c26d6e76d294",
-   "sha256": "1bjjz504a6nyh8ymqj4zbakp7b2006r0ayid5akc6yzpmyrsb4rl"
+   "commit": "f30a2151aec195026bd55affc05259b629fd9006",
+   "sha256": "0qndkwfnqjdkddhrs0gzn9rg2a7fwwrrnya0iz2hjvxpmcdxr37c"
   },
   "stable": {
    "version": [
@@ -105287,8 +105835,8 @@
     "perspective",
     "treemacs"
    ],
-   "commit": "a6f9e9f1cea3502b3ead082fd208c4011a55add0",
-   "sha256": "1g004yj613x6qr06gaffb6rp2n47ximb1w8776l0s6w8d40msyyg"
+   "commit": "f30a2151aec195026bd55affc05259b629fd9006",
+   "sha256": "0qndkwfnqjdkddhrs0gzn9rg2a7fwwrrnya0iz2hjvxpmcdxr37c"
   }
  },
  {
@@ -105306,8 +105854,8 @@
     "projectile",
     "treemacs"
    ],
-   "commit": "e4a85e3266581b8a8f526dbf4142c26d6e76d294",
-   "sha256": "1bjjz504a6nyh8ymqj4zbakp7b2006r0ayid5akc6yzpmyrsb4rl"
+   "commit": "f30a2151aec195026bd55affc05259b629fd9006",
+   "sha256": "0qndkwfnqjdkddhrs0gzn9rg2a7fwwrrnya0iz2hjvxpmcdxr37c"
   },
   "stable": {
    "version": [
@@ -105354,11 +105902,11 @@
   "repo": "tilmanrassy/emacs-treeview",
   "unstable": {
    "version": [
-    20200921,
-    6
+    20210723,
+    2256
    ],
-   "commit": "e6012303670d112596e00eb3cb505eb0e0d61d84",
-   "sha256": "0drjzjwrk7fkcc6q8qbvzf60dgcbnysm482cdvzikc0phzgjpl9n"
+   "commit": "09c8c1d045c7c8eace61b10b6df9d2f9079de78e",
+   "sha256": "008m6ckrcc0ddnrc5p9b5agbvsma31bq0094yygv5dwg49lh7ly4"
   }
  },
  {
@@ -105515,27 +106063,28 @@
   "repo": "alphapapa/ts.el",
   "unstable": {
    "version": [
-    20210705,
-    341
+    20210813,
+    1617
    ],
    "deps": [
     "dash",
     "s"
    ],
-   "commit": "b6814e7e688781a586a775ef3504b9252af65b93",
-   "sha256": "1bf39qx8k7nn1dj1fp6j47zr1lp28ccrj6ciz7z3dk040rlxnv11"
+   "commit": "3fee71ceefac71ba55eb34829d7e94bb3df37cee",
+   "sha256": "1041zwlslj70rfjmpcxbib4h05rclhykr7i7pckvz7smsh4w3p2i"
   },
   "stable": {
    "version": [
     0,
+    2,
     2
    ],
    "deps": [
     "dash",
     "s"
    ],
-   "commit": "540f6a5adab5d881cc5f50835c0a3fe70e74b992",
-   "sha256": "0hmzc1ppnkkr0lfq5fhzqr6icv6iqz824a6bnns7zr466hhqp3qb"
+   "commit": "0bf2ac9680ae077d6f110ea0629728fbc654e945",
+   "sha256": "0l35gz1hpada2kzascbyqgawa5d3sdyg67gzvak84p9zx62jppn8"
   }
  },
  {
@@ -105555,17 +106104,17 @@
  },
  {
   "ename": "tsc",
-  "commit": "18f57da9ff7c07ce05c9dbd23eba87f2f34e17f3",
-  "sha256": "1ml2cha9xwdsx35n52aymdvp65r09hss3rvy5lqbq9aw57p9infy",
+  "commit": "c44eceafdfe3dd4a98010a8dcac2e9e3ddaeae4c",
+  "sha256": "1gwavabszakqvvyw8yrr17dng7k9w27g8dsaf5zwihp8j46wim27",
   "fetcher": "github",
-  "repo": "ubolonton/emacs-tree-sitter",
+  "repo": "emacs-tree-sitter/elisp-tree-sitter",
   "unstable": {
    "version": [
-    20210320,
-    1052
+    20210825,
+    1402
    ],
-   "commit": "7f5d0938002092ec08830a73f64961021303e1e9",
-   "sha256": "17dwr2lmqi0ssg04a0a99igck60hmrk2a566bprwlwqga3cbkrzm"
+   "commit": "a0f259c024fa15587d225e1d5440d71109d7e3f3",
+   "sha256": "1x2p7x7f71kxvayvlg418vr6pa36044fla58saknb9p651hy9rjh"
   },
   "stable": {
    "version": [
@@ -105644,14 +106193,14 @@
   "repo": "ocaml/tuareg",
   "unstable": {
    "version": [
-    20210709,
-    321
+    20210825,
+    1946
    ],
    "deps": [
     "caml"
    ],
-   "commit": "b59c422759506402f990b089dbaa91c0578e2c2e",
-   "sha256": "1maqyhy82ayfiv95ng4bpgxrvjkkz331pw4ld1x99jpwqljpwqzc"
+   "commit": "d2b38f0249e3db467e9708985571f06ae191edbb",
+   "sha256": "1gaind3zfj1adl6dhk5yrx2fajqhxb8ch38vk66077s81qqzzw7k"
   },
   "stable": {
    "version": [
@@ -105667,6 +106216,24 @@
   }
  },
  {
+  "ename": "tubestatus",
+  "commit": "ac2ece211c8aa3ff514caf99551d1d4a192d984c",
+  "sha256": "1v529wg38m58hqyy3wxq5pkqk9a5yaxkj20s735v5i89wnvndsxz",
+  "fetcher": "github",
+  "repo": "smallwat3r/tubestatus.el",
+  "unstable": {
+   "version": [
+    20210801,
+    1522
+   ],
+   "deps": [
+    "request"
+   ],
+   "commit": "eeda4c2647cfdb910de776398037183f48e3fa72",
+   "sha256": "1fn405rmwcy8y5sa8lh5grq87n5zxbln2b9agxyilfx4jm6rcnpl"
+  }
+ },
+ {
   "ename": "tumble",
   "commit": "579a441d153c4c7d9f8172be94983a632d6fab8f",
   "sha256": "1c9ybq0mb2a0pw15fmm13vfwcnr2h9fb1xsm5nrff1cg7913pgv9",
@@ -105950,8 +106517,8 @@
     "f",
     "mmt"
    ],
-   "commit": "fa125bf43757737fbcf91958b76c38b440d54b4c",
-   "sha256": "1l0qb8gjgsmjjdvxlma7g6fn2z6rj246p2kczrikq8ajg1xh61sr"
+   "commit": "d08ed004bfc13f8d0bdfc13fc54e8f7402876903",
+   "sha256": "02fnq52a1i0dgdyhxgqjf89zif23038n8cm9idv9c515835c10m2"
   },
   "stable": {
    "version": [
@@ -106271,7 +106838,7 @@
     0
    ],
    "commit": "c2f4870aff70efe70a8d1b089e56d3a2d6d048b9",
-   "sha256": "0i6jfr4l7mr8gpavmfblr5d41ck8aqzaf4iv1qk5fyzsb6yi0nla"
+   "sha256": "14ybav1f82m2gsxkciwlc0pm01ihqqaqq6arnjqvgxdnw0z6qniq"
   }
  },
  {
@@ -106329,11 +106896,11 @@
   "repo": "ideasman42/emacs-undo-fu",
   "unstable": {
    "version": [
-    20210418,
-    920
+    20210813,
+    249
    ],
-   "commit": "e0ad06b5ef2ac2733dad2ad48e3957b5c36edfa5",
-   "sha256": "0xix4ghri62xdqlh48pydhih1zsnfsy7ncrk6w2wrnz4fa033pia"
+   "commit": "34b27c01da4c3eb8aa595f3613b7e2e1ed4e54be",
+   "sha256": "1inh3c88l2dbhcpwivvn88zyq37fba41ccpmyjbkcbyjay52927n"
   }
  },
  {
@@ -106856,6 +107423,25 @@
   }
  },
  {
+  "ename": "untappd",
+  "commit": "0d7b1541a317cc253a55696d752ea57453475b8f",
+  "sha256": "10lqrsrg9kx6134mmc6r4vk1bvggdnjg5mi1xm2b057g11qs8afm",
+  "fetcher": "github",
+  "repo": "smallwat3r/untappd.el",
+  "unstable": {
+   "version": [
+    20210815,
+    1544
+   ],
+   "deps": [
+    "emojify",
+    "request"
+   ],
+   "commit": "493d1776d6456b00bf017e71fac9b0721d8cc912",
+   "sha256": "13p0vr9fnkilw6192gsmz6hi5rx3jqh3dsmqx9siywghj9hfn056"
+  }
+ },
+ {
   "ename": "untitled-new-buffer",
   "commit": "a3c6e6adb1a63534275f9d3d3d0fe0f5e85c549b",
   "sha256": "0fqnwas6917338a896yi6y1fnp2yhpmkpk001wrw7fmybfqzw05y",
@@ -107081,7 +107667,7 @@
     "use-package"
    ],
    "commit": "f33c448ed43ecb003b60ff601ee7ef9b08cff947",
-   "sha256": "1wzn3h8k7aydj3hxxws64b0v4cr3b77cf7z128xh3v6xz2w62m4z"
+   "sha256": "1k1dwydqfgx2yvbipahwzk8kyj7v5ih6hkra8ladbn67x013f9rq"
   }
  },
  {
@@ -107764,16 +108350,16 @@
   "repo": "DamienCassou/vdirel",
   "unstable": {
    "version": [
-    20190430,
-    624
+    20210813,
+    754
    ],
    "deps": [
     "helm",
     "org-vcard",
     "seq"
    ],
-   "commit": "a9ef32a70a1f14416e3dc5fee478ce138cc011d3",
-   "sha256": "1r60gp3h7cj34wc5kjvpxzidb01gyqsd04ykmhk7asv91m598vs3"
+   "commit": "dccc51bf68ad3f0066a462b354ec395229bd6a7f",
+   "sha256": "0mlfmigqsqmvn3rzyxnpq5zy6k0xf4vd2ww2qrr7kd2dqyv55hhw"
   },
   "stable": {
    "version": [
@@ -107925,11 +108511,11 @@
   "repo": "federicotdn/verb",
   "unstable": {
    "version": [
-    20210525,
-    2135
+    20210809,
+    2140
    ],
-   "commit": "9e3e8a1edd82f7d056d3744f9e40cf8a5bac4ecc",
-   "sha256": "1kjzglpyrf1vbsb5gjcwmi5b38fvn5rx95yc8fwbizgisx70abkc"
+   "commit": "6f5b454782d5c2ce9d86616c3d015935d3d5dd6b",
+   "sha256": "172520apwczyp6c0apga1bz2vbfzy60jdyiq09sjk34533fymcg4"
   },
   "stable": {
    "version": [
@@ -107949,8 +108535,8 @@
   "repo": "koral/veri-kompass",
   "unstable": {
    "version": [
-    20181103,
-    1246
+    20200213,
+    934
    ],
    "deps": [
     "cl-lib",
@@ -108131,7 +108717,7 @@
     "outshine"
    ],
    "commit": "5202db4c6a511a90a950a723293d11d55ec05264",
-   "sha256": "1ygx8g9cxyyhhpcqan1ca4g741s3dd141bcmp6jjqbjfn2gqraz6"
+   "sha256": "1qfjwsxi3w2gdl258jbk5d3z645gs6zccxx2iah54zbgql17pgj9"
   }
  },
  {
@@ -108537,6 +109123,29 @@
   }
  },
  {
+  "ename": "vline",
+  "commit": "25f776e108d31f8f2e4626cf931c1049e7187a0b",
+  "sha256": "1z14rxi2fgbcdag4fjv9915r210jlskiwivrjq1d4d18zsadaczj",
+  "fetcher": "github",
+  "repo": "buzztaiki/vline",
+  "unstable": {
+   "version": [
+    20210805,
+    1528
+   ],
+   "commit": "f5d7b5743dceca75b81c8c95287cd5b0341debf9",
+   "sha256": "06qqpjaxsacslxb3f2bm790lwygbq6387n9ccn4v9vz9xlyn9dmi"
+  },
+  "stable": {
+   "version": [
+    1,
+    11
+   ],
+   "commit": "bc29e08c8e04845fb0e09155fe8f5212862f0a92",
+   "sha256": "1gcskm7p6f3b29ax41hafxjla38qw8cyvazmnn9xmx3pw0hf0jx0"
+  }
+ },
+ {
   "ename": "vmd-mode",
   "commit": "855ea20024b606314f8590129259747cac0bcc97",
   "sha256": "1xjyl2xh3vig2rzjqm1a4h2ridygbanmal78s4yc32hacy0lfyrx",
@@ -108688,11 +109297,11 @@
   "repo": "ianyepan/vscode-dark-plus-emacs-theme",
   "unstable": {
    "version": [
-    20210530,
-    629
+    20210720,
+    1218
    ],
-   "commit": "bcae11818d74aa0de8e592b8349d90e512444758",
-   "sha256": "1rmdin9z68xkxqjhvhyklbby5mxs3qf4wx9c07945p4ps80w8z5g"
+   "commit": "aadf603bccb51addfcbd1ee4f684f720d56df56f",
+   "sha256": "0zskaz2np8x6wz3zrkqw5bhmwzyq8llvqq5sbwjzlgdl2xph876f"
   },
   "stable": {
    "version": [
@@ -108727,11 +109336,11 @@
   "repo": "akermu/emacs-libvterm",
   "unstable": {
    "version": [
-    20210618,
-    1922
+    20210824,
+    1453
    ],
-   "commit": "d9dfa624679afdd5db6ad25429ef86d3dd91401e",
-   "sha256": "07nk6bw70mi9r3kgs5b11pfwfvfa73xwdl3xgclv8l7k87yysd69"
+   "commit": "9e5a208d8871293a23a2734591fac97a584a41c2",
+   "sha256": "13r9zxivgml610d0hk9cagpyv982596knad6jwq48cpncckwxrvl"
   }
  },
  {
@@ -108870,30 +109479,30 @@
   "repo": "d12frosted/vulpea",
   "unstable": {
    "version": [
-    20210503,
-    624
+    20210821,
+    1625
    ],
    "deps": [
     "org",
     "org-roam",
     "s"
    ],
-   "commit": "0f73528e603b1901cbe36eccd536a9113ef0439d",
-   "sha256": "030aglgmph8p9qi160ws6qv288mkwpyhhj0m946q72y7hmsc5xxp"
+   "commit": "bc0abbc81917edf130476db7007184c015768d05",
+   "sha256": "0wjpvspyg6h0692gy9vfz42wcwsr599y53b8mfkjmnbdkbdwy1i0"
   },
   "stable": {
    "version": [
     0,
-    1,
-    1
+    2,
+    0
    ],
    "deps": [
     "org",
     "org-roam",
     "s"
    ],
-   "commit": "c4f39b853c54cbfab48876812012e040b56838ee",
-   "sha256": "1dgmxbdvyb9vdha2swg4ahai6xvfvlr7d03y3c2c3db2jbr00aw5"
+   "commit": "16f61797090df570c182c8b3aefd6fe6c9768e93",
+   "sha256": "04i55w017d2i3sf49rs7jj4yzv51bppz6dlybk09cy5giwafv9cx"
   }
  },
  {
@@ -108963,11 +109572,11 @@
   "repo": "emacs-w3m/emacs-w3m",
   "unstable": {
    "version": [
-    20210615,
-    103
+    20210817,
+    327
    ],
-   "commit": "ccdd3681b9e7d8b6a758f2aa61a0ae8eab21240b",
-   "sha256": "1ynl1kwnhp5xqvmi8p37lprshk96xi8q78rsjmd9f8pkb8ayqbf3"
+   "commit": "d7166799bd93cf90f77cb9e4c59cb691bb3a1b8c",
+   "sha256": "1ins9lykfycv5nrm4lz66cfm2ny6mc338pblyw6jbxmnx7q300xv"
   }
  },
  {
@@ -109040,11 +109649,11 @@
   "repo": "wakatime/wakatime-mode",
   "unstable": {
    "version": [
-    20200730,
-    240
+    20210818,
+    1556
    ],
-   "commit": "5e6deddda7a70f4b79832e9e8b6636418812e162",
-   "sha256": "195h5dnanicxksag72kp19nvsxsbqb34pr3pk6shki6yca2ks7yg"
+   "commit": "8dfe67c1581a0f3688c572dfdb5f8f71d3f874a0",
+   "sha256": "1rpl2hj1413kcxvxl27jycjl40js8cybf2qrhvjfwfhxncpwacxv"
   }
  },
  {
@@ -109563,26 +110172,26 @@
   "repo": "pzel/weblio",
   "unstable": {
    "version": [
-    20210511,
-    2105
+    20210718,
+    1410
    ],
    "deps": [
     "request"
    ],
-   "commit": "ba0b745c3c11a93eaac826f74232f9eefbbae7a1",
-   "sha256": "00agkipgf6hc1bsrq460lydql8f04y42h4lh764k1fwg7x1a8pm2"
+   "commit": "2b4b0c206440b5c63960214feacfceb0c26231c7",
+   "sha256": "1iy1finnxqjbdivzyn7crpnha87mq1fmd98pkx2r8sk551nfw35s"
   },
   "stable": {
    "version": [
     0,
     3,
-    3
+    4
    ],
    "deps": [
     "request"
    ],
-   "commit": "ba0b745c3c11a93eaac826f74232f9eefbbae7a1",
-   "sha256": "00agkipgf6hc1bsrq460lydql8f04y42h4lh764k1fwg7x1a8pm2"
+   "commit": "2b4b0c206440b5c63960214feacfceb0c26231c7",
+   "sha256": "1iy1finnxqjbdivzyn7crpnha87mq1fmd98pkx2r8sk551nfw35s"
   }
  },
  {
@@ -109611,14 +110220,14 @@
   "repo": "emacs-love/weblorg",
   "unstable": {
    "version": [
-    20210526,
-    129
+    20210822,
+    1937
    ],
    "deps": [
     "templatel"
    ],
-   "commit": "ffea6a93f5d35fed8532f1187463a27eb46bff0a",
-   "sha256": "185crf3dgfqjq58s2bvdmvff5vmy73v4m4l2d17iwjyw3ifji5a8"
+   "commit": "cc095820669c7c2e77b06a86a887ecec70ae4853",
+   "sha256": "0ma5shksdha84yf18ay7a6ss4aacjh94827a5wmyv9bc5za5yvq1"
   },
   "stable": {
    "version": [
@@ -109641,15 +110250,15 @@
   "repo": "etu/webpaste.el",
   "unstable": {
    "version": [
-    20210306,
-    1215
+    20210813,
+    1901
    ],
    "deps": [
     "cl-lib",
     "request"
    ],
-   "commit": "87ea8b15f417037bb1a46ac849b2f60f08c0bfeb",
-   "sha256": "1ixvkxdf8sz2xxdjb28pc9bdnz321m736b1riffhfh4w755z7vzp"
+   "commit": "bbdc5e5b689a787c6b4ae7690751fe9c10d6796e",
+   "sha256": "1pl02jvqnh6710maxxnbwy5cfdrhav61x9b4da76wdxhv9rhzjjr"
   },
   "stable": {
    "version": [
@@ -109679,8 +110288,8 @@
    "deps": [
     "cl-lib"
    ],
-   "commit": "34e11124fdd9d73e431499ba8a6b6a8023519664",
-   "sha256": "066zql1zknnc1dlj9jj4dx7w8y8z2q6i2gnagy3jwwxc8j5pp0c2"
+   "commit": "fda4455333309545c0787a79d73c19ddbeb57980",
+   "sha256": "1ga4m9xgiczb6sv7dhmy4841rd9wxsirrvi8va34srpzlq51iq65"
   },
   "stable": {
    "version": [
@@ -109797,11 +110406,11 @@
   "repo": "jstaursky/weyland-yutani-theme",
   "unstable": {
    "version": [
-    20210530,
-    1418
+    20210802,
+    2251
    ],
-   "commit": "a56c56de048900409d271f91fd08a408fd9bf32e",
-   "sha256": "0nblkcz52qvfkf4q3yb7drv0rbpkqgzv3clwb6vkvwz13s29b6my"
+   "commit": "e89a63a62e071180c9cdd9067679fadc3f7bf796",
+   "sha256": "0gxlz9b7fvbjkqxsyb4l75g7jsxyms0i1vpnb6y499hl115akcaz"
   }
  },
  {
@@ -109971,11 +110580,11 @@
   "repo": "justbur/emacs-which-key",
   "unstable": {
    "version": [
-    20210712,
-    1852
+    20210824,
+    11
    ],
-   "commit": "55fcce0c6143044535bc6825a68f42ca83f58f00",
-   "sha256": "0bap1k6rzaqvqp7njzikw8clhky1fj78mdcx4zah1y57vhszavcw"
+   "commit": "4790a14683a2f3e4f72ade197c78e4c0af1cdd4b",
+   "sha256": "1svz2048qabhy8z9m4p9q5lmdjr5i7vqnaw86x8gmn7vk052h5md"
   },
   "stable": {
    "version": [
@@ -110682,8 +111291,8 @@
     20210405,
     1410
    ],
-   "commit": "c67784cc0c44dc7c590f1f1f5a979a36b1e8c11d",
-   "sha256": "0pisq1b2yjfplv64xn33lw38ymmpr8wah84pfnwvzqnlfsn5s1hs"
+   "commit": "a144cfd1604c308f65f990a1e994ab0d5d7fe244",
+   "sha256": "0q5ivjaxsw9ci40ap7qavziqjfbarlk7fwqivmndcgwnh0is3ddx"
   }
  },
  {
@@ -111044,8 +111653,8 @@
   "repo": "abo-abo/worf",
   "unstable": {
    "version": [
-    20210702,
-    1200
+    20210809,
+    1409
    ],
    "deps": [
     "ace-link",
@@ -111053,8 +111662,8 @@
     "swiper",
     "zoutline"
    ],
-   "commit": "28d381e2603a79340a94a410acbbb8a6b3e237d8",
-   "sha256": "15567bns5kag47d58xapr4z0gfj5py3a8lwfpjlhmzccmarjr7x8"
+   "commit": "e31759db6aae8a951c0843a4c855bccb626348c4",
+   "sha256": "1aziil5gmiyk0qb89ydc7h72zdyr2n71z3ybrqji9ypx3vrrdwdx"
   },
   "stable": {
    "version": [
@@ -111097,8 +111706,8 @@
     20210511,
     1128
    ],
-   "commit": "f74a58f3cfb2e94cee4c4527b2f7aeb8fa5ab46c",
-   "sha256": "0m50xxi5nz08byxjdp5k20d075anv88lsdk1z2q66y2jqaqbxian"
+   "commit": "c310d1ba0e0238e5a22f2a584c966b8b5e7e6616",
+   "sha256": "0k7p39y0lwqr2021nq34asxc4sya4xv3w2nbxqkzjz0ddnyiw2qr"
   },
   "stable": {
    "version": [
@@ -111473,11 +112082,11 @@
   "repo": "xahlee/xah-css-mode",
   "unstable": {
    "version": [
-    20210627,
-    505
+    20210824,
+    120
    ],
-   "commit": "62b7162198ca6659e025feb058e5662c55333ad4",
-   "sha256": "0xk5wa209pgc2sfz0j4dac57apy45si87628bqc21fnf877ga8qv"
+   "commit": "20737b65529ca185db663e709cca412e8d03cb1e",
+   "sha256": "0621vah5xm5zz6mhlgjlbqiccpbq4nssckm3wyqmw30mk2zr29mb"
   }
  },
  {
@@ -111488,11 +112097,11 @@
   "repo": "xahlee/xah-elisp-mode",
   "unstable": {
    "version": [
-    20210627,
-    508
+    20210824,
+    730
    ],
-   "commit": "86ddb3ce73bb2a844a126e42386571ca8e884260",
-   "sha256": "1ks43xdfv287n3sy8n25widkwwx388pm3b8p4r2ld6qz200wqjdq"
+   "commit": "4bd7858dadff5c5320f169ebabde379e29bb7559",
+   "sha256": "0ygqzyc398asczryyr4qz5sljzz0a4l87l1vys32vv49g4z1szih"
   }
  },
  {
@@ -111503,11 +112112,11 @@
   "repo": "xahlee/xah-find",
   "unstable": {
    "version": [
-    20210624,
-    327
+    20210815,
+    201
    ],
-   "commit": "16b8d62ddb1d5548fcd78a0371481434390ebd54",
-   "sha256": "10scxxxg84b38rjlmk0r486r7b1nvla57yq6v1h1ymlbp0addvby"
+   "commit": "88e390e1f7ccee30cd4d5ac112acdf9b4c72780d",
+   "sha256": "1rhivz291580s0wn0syqhhaqdv7p3df0a7vk8zmx6485nm1hy4mh"
   }
  },
  {
@@ -111518,11 +112127,11 @@
   "repo": "xahlee/xah-fly-keys",
   "unstable": {
    "version": [
-    20210715,
-    2014
+    20210823,
+    302
    ],
-   "commit": "95c54a896c1e4af797f0af7cf9de85426c8e11eb",
-   "sha256": "137xv47cij7a0zws8xdw140cwlsnywapyb9y51dqpmn08s1ff2l2"
+   "commit": "c5a510db6aa15de78c809490571a5b2e9d765202",
+   "sha256": "05xzhrbn3y0wkan6cpk290cvb5gn4gdjkh64s0q466hbybm4lnj5"
   }
  },
  {
@@ -111533,11 +112142,11 @@
   "repo": "xahlee/xah-get-thing-or-selection",
   "unstable": {
    "version": [
-    20170821,
-    1053
+    20210813,
+    834
    ],
-   "commit": "e3ef069ea9fea3a092689d45c94c6211b51d0ea4",
-   "sha256": "0z9pflz99p2i7czccpzvw7bkbshfycpb6js9n8a12yhc1ndbz6z0"
+   "commit": "ba818dc7fd90b49b780709be5266733ede86a556",
+   "sha256": "15bjib9n7qakdc70x4xdjaw1q1rm9yz8k55l24mfm848fz62bq30"
   }
  },
  {
@@ -111548,11 +112157,11 @@
   "repo": "xahlee/lookup-word-on-internet",
   "unstable": {
    "version": [
-    20210708,
-    2203
+    20210801,
+    102
    ],
-   "commit": "53044a43db3c803fb3e32003c3106403ecfb8e4b",
-   "sha256": "09x8lrx4sdnx2sr0nkkn19hi7x6hi3gs0ad31xmjx1qgd7bw7as9"
+   "commit": "d69eb2b66eff70ef311967bf774195bf3331cfff",
+   "sha256": "12ssjraw8ymphkiyvzpnmh90k9m2sskvklkjcl2ni7qmjc5774v7"
   }
  },
  {
@@ -111563,11 +112172,11 @@
   "repo": "xahlee/xah-math-input",
   "unstable": {
    "version": [
-    20210419,
-    1833
+    20210815,
+    211
    ],
-   "commit": "6ccd3ca21aa71a2c1f831fabbdfc9e32c02e180d",
-   "sha256": "1bibdx0sawgsdzdiivy4x7rf4s5hnz2ypllwz9sk2fdmjyv8d08c"
+   "commit": "1685bb8652c28a32c6d55fe61bbf4b5cb3f3dcca",
+   "sha256": "11akmsmynrbzadyw502czrvaw0mly06mzlj4zg5adgvy52mpb0ip"
   }
  },
  {
@@ -111593,11 +112202,11 @@
   "repo": "xahlee/xah-replace-pairs",
   "unstable": {
    "version": [
-    20210109,
-    1741
+    20210815,
+    207
    ],
-   "commit": "a051568c21b0bd7907dffebdbe04d0110c038be0",
-   "sha256": "0z3cvajj5cf23h8lxlj10wm8rxh7vjpnsk8svryx5djd26ffpc11"
+   "commit": "b5e4f9ebc9e17916e736af9935bf4e17032edde9",
+   "sha256": "1dy3y27xyprmxymnm43d7vsmsfhdrr1nbbdpvfflqxs9q6hll2xn"
   }
  },
  {
@@ -111691,11 +112300,11 @@
   "repo": "dkogan/xcscope.el",
   "unstable": {
    "version": [
-    20201025,
-    2002
+    20210719,
+    828
    ],
-   "commit": "8e441efab0757778fe3594ff68c378bf90f539f9",
-   "sha256": "0v3jypw0c9m8lbiyq9dv4b7jpqjb1lr0qx619dy9xa48rdj107rh"
+   "commit": "d228d7593d762e457340f678d14b663ef66d7cee",
+   "sha256": "0pr85ywp585imjzswm04647nb4iqqvg8jgmbcs5210qmr9kh0z8d"
   },
   "stable": {
    "version": [
@@ -111730,6 +112339,24 @@
   }
  },
  {
+  "ename": "xhair",
+  "commit": "5a15eb95181ddbb8d37bb23a0c5cbcba8a0a3f03",
+  "sha256": "07sx1yqygnmi2bj917164m3zkgvhli7bb1cccc6n72mw7dhr9wxn",
+  "fetcher": "github",
+  "repo": "Boruch-Baum/emacs-xhair",
+  "unstable": {
+   "version": [
+    20210801,
+    222
+   ],
+   "deps": [
+    "vline"
+   ],
+   "commit": "c7bd7c501c3545aa99dadac386c882fe7c5edd9c",
+   "sha256": "03m15lbspk73x59wvb77wgvnkrmrlq4w6kmnrr2i69jgafqh0421"
+  }
+ },
+ {
   "ename": "xkcd",
   "commit": "855ea20024b606314f8590129259747cac0bcc97",
   "sha256": "0gy2952zg1rq5gl10x7iwbchz5jibfcvikd3chifqbmil80wh6b5",
@@ -111895,19 +112522,19 @@
   "repo": "ndw/xmlunicode",
   "unstable": {
    "version": [
-    20200823,
-    755
+    20210717,
+    1246
    ],
-   "commit": "0c2ee59888042d516f79a7b96526cbeae611c9bc",
-   "sha256": "026srs8nf6d5ksq30s3qy1jx4x65bdnyxz8p8nnsqlf81lbmhwq5"
+   "commit": "7e4c71c30f0d5214c45d4d4d48b149029ddb6b77",
+   "sha256": "0gc9fg95ihqz7lkn3vxc0qaslbxbj5jkhm2ddh41c3v9ym79mblp"
   },
   "stable": {
    "version": [
     1,
-    23
+    24
    ],
-   "commit": "0c2ee59888042d516f79a7b96526cbeae611c9bc",
-   "sha256": "026srs8nf6d5ksq30s3qy1jx4x65bdnyxz8p8nnsqlf81lbmhwq5"
+   "commit": "7e4c71c30f0d5214c45d4d4d48b149029ddb6b77",
+   "sha256": "0gc9fg95ihqz7lkn3vxc0qaslbxbj5jkhm2ddh41c3v9ym79mblp"
   }
  },
  {
@@ -112318,20 +112945,20 @@
   "repo": "zkry/yaml.el",
   "unstable": {
    "version": [
-    20210625,
-    528
+    20210730,
+    143
    ],
-   "commit": "69c699a15af342199d0dbbbe7676a85487781ae7",
-   "sha256": "1j1yqpnpn5k17jnrax56and4yss1bimxck3zigbgy5fpng89l8sb"
+   "commit": "84b88c9ed178af16da18b230c1f61c57cefedf28",
+   "sha256": "13fjxrr7iyfagbm21p5is5jw1zv56ns2mnac145v8lqli6mrr5gx"
   },
   "stable": {
    "version": [
     0,
     3,
-    3
+    4
    ],
-   "commit": "9382bf5a3b1cad1c404bfd13fab8cf6688fe8442",
-   "sha256": "0xm6c4lk62ifwpc03wmn6602r1izfbk9kpyv3wg3p8ksxllvd0ns"
+   "commit": "84b88c9ed178af16da18b230c1f61c57cefedf28",
+   "sha256": "13fjxrr7iyfagbm21p5is5jw1zv56ns2mnac145v8lqli6mrr5gx"
   }
  },
  {
@@ -112372,11 +112999,11 @@
   "repo": "yoshiki/yaml-mode",
   "unstable": {
    "version": [
-    20210508,
-    1641
+    20210808,
+    1122
    ],
-   "commit": "3a57058468211f3cb18e71aecc630dcacb87636b",
-   "sha256": "1p09vzl6miafjhl9aw67day304wc27g72b0vcbr3barfgczypzsa"
+   "commit": "63b637f846411806ae47e63adc06fe9427be1131",
+   "sha256": "1z759sg45ws08bj1c97xvxxbvs5a0fq8lgxrh5j5n7yv4jz4vr1k"
   },
   "stable": {
    "version": [
@@ -112453,11 +113080,11 @@
   "repo": "Kungsgeten/yankpad",
   "unstable": {
    "version": [
-    20210625,
-    1951
+    20210811,
+    1934
    ],
-   "commit": "6f5c7e5171030663ebda4f1f872c30d0e165b6b7",
-   "sha256": "08f5qn1dsikv9dkdvdrb8mmjb3himlnh9bcany2w4pj0apgcwn4d"
+   "commit": "6562d021cfc76b88a7b39b49adc44fcad835bd3f",
+   "sha256": "1xh36s2vy521hni9993ajnqv3apinqsiq09yfhfkz4skw22p891g"
   },
   "stable": {
    "version": [
@@ -112648,14 +113275,14 @@
   "repo": "AndreaCrotti/yasnippet-snippets",
   "unstable": {
    "version": [
-    20210408,
-    1234
+    20210808,
+    1851
    ],
    "deps": [
     "yasnippet"
    ],
-   "commit": "be823d7e1a1a46454d60a9f3dabb16b68b5dd853",
-   "sha256": "0ak0drxlg3m2v4ya5chpgl82rcl7ic2nmnybhpw1qk51mcmv643y"
+   "commit": "8bf33e9e54de0dca1728221b0dda6789d99b7930",
+   "sha256": "1gz4q8knyss9bsz5s5vywi4qvazgwg8ryh7byxkrmbrxibvc9d18"
   },
   "stable": {
    "version": [
@@ -113163,11 +113790,11 @@
   "repo": "bbatsov/zenburn-emacs",
   "unstable": {
    "version": [
-    20201121,
-    1050
+    20210823,
+    504
    ],
-   "commit": "ea9b8f3aedc6640cb0d15d77f7bb5d98830abe97",
-   "sha256": "171kqnjqhj69jl6idnbrnk2gpjv127h4n3y9cplnqpp7wfigzdzi"
+   "commit": "13266182dc51534394bd427840bc78e2a78d01bd",
+   "sha256": "1174b12mqwkl5p16m0rrnswc18blj35jr9pi2l0annvarny3shkj"
   },
   "stable": {
    "version": [
@@ -113277,7 +113904,7 @@
     "pkg-info"
    ],
    "commit": "9adc5cf07a9117d25eaab41867ddde914c6d2f5a",
-   "sha256": "0g2vfscikz8qa0danvcickcjnz99yjm9jgk3sci094gmgwka3j2y"
+   "sha256": "1vl7nyfdpvh4ilxw1bckfkv59d6mxbb7m3z2fvrxs1gss06ks9va"
   }
  },
  {
@@ -113347,15 +113974,15 @@
   "repo": "EFLS/zetteldeft",
   "unstable": {
    "version": [
-    20210713,
-    1855
+    20210819,
+    1048
    ],
    "deps": [
     "ace-window",
     "deft"
    ],
-   "commit": "7dbf608d17786a69019867fd6b2b7d6c6edf849f",
-   "sha256": "1lq80ck08bydl98ka6j4qd6m5iqd1l8cx0y8pa2wq94vj71l65vl"
+   "commit": "910a6607e172ae20347d74e651d29ebedc58ea06",
+   "sha256": "1cccj3y7a353b2b8gvbbs2ami1g3a7961j3dwmcar9lc0yrh3hys"
   },
   "stable": {
    "version": [
@@ -113412,8 +114039,8 @@
     20210605,
     513
    ],
-   "commit": "0babe7ec524f59d57c01e2fc66294d1afa01f5eb",
-   "sha256": "0balv7ggz10izjw7r6z9vx17qq88229jdzpsjas6z37gk61bfngk"
+   "commit": "acf3ee8bbf6b7e49dbfaa8bc82a4c1b9b1f2b531",
+   "sha256": "0wc65hr9y1yvyb5ywswiwhk8jjxswzd0qzr92b7pkfwghmf0z1yp"
   }
  },
  {
@@ -113509,14 +114136,25 @@
   "repo": "sshirokov/ZNC.el",
   "unstable": {
    "version": [
-    20210304,
-    2337
+    20210803,
+    159
+   ],
+   "deps": [
+    "cl-lib"
+   ],
+   "commit": "6f0949c393b7778a96033716787d152ada32f705",
+   "sha256": "0mfx69xgnwhaaj0gq4nrq7j8c0l3i6y4w7nxkjcqq6jg7zbkppai"
+  },
+  "stable": {
+   "version": [
+    0,
+    4
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "57d89fc1e17d94a8e9f3365b0d647a80520cc4a8",
-   "sha256": "0vbpc5lav8pw7caa4442z15a5s1l9wzjv68dgrbjnjvpn6yz3pay"
+   "commit": "2605f78e37a8a759067dc14fa25a82824ba1bacc",
+   "sha256": "1ran86ycnays9s23wk3iczqqgnpbyx0lijiarx65am3jc1yzg5ia"
   }
  },
  {
@@ -113788,8 +114426,8 @@
   "repo": "egh/zotxt-emacs",
   "unstable": {
    "version": [
-    20210129,
-    413
+    20210222,
+    347
    ],
    "deps": [
     "deferred",
@@ -113809,7 +114447,7 @@
     "request"
    ],
    "commit": "98323098c37a444de49cfef44f1506e9386e8c5f",
-   "sha256": "1zr67h0w49rsi84mgf6jdili28h8782q6vjl8za0iq1hcx9zqxyf"
+   "sha256": "18hi6m2ngl9yz599q5bhifafi4vz1adc06bjl0bhb3rs62vbkwk2"
   }
  },
  {
@@ -114000,8 +114638,8 @@
     "avy",
     "cl-lib"
    ],
-   "commit": "18d26571b91a9c56b6a7e0d2a58188e833ab5d0f",
-   "sha256": "0cl76m06cm0wmb8bx6g6xrxaks2vr6zqpibc9d94gbkr5jzccg9k"
+   "commit": "fa87da4ac95a1d7fe8aa9198c5568debee8d5627",
+   "sha256": "03gg15vj2jbd70xjqkxpwgngz340fyhq1jjmd4iasf36fqplxccw"
   },
   "stable": {
    "version": [
diff --git a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/rect-mark/default.nix b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/rect-mark/default.nix
index 1275c51b99e3..2214b1448d30 100644
--- a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/rect-mark/default.nix
+++ b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/rect-mark/default.nix
@@ -1,14 +1,15 @@
 { lib, stdenv, fetchurl, emacs }:
 
 stdenv.mkDerivation {
-  name = "rect-mark-1.4";
+  pname = "rect-mark";
+  version = "1.4";
 
   src = fetchurl {
     url = "http://emacswiki.org/emacs/download/rect-mark.el";
     sha256 = "0pyyg53z9irh5jdfvh2qp4pm8qrml9r7lh42wfmdw6c7f56qryh8";
   };
 
-  phases = [ "buildPhase" "installPhase"];
+  dontUnpack = true;
 
   buildInputs = [ emacs ];
 
@@ -18,8 +19,10 @@ stdenv.mkDerivation {
   '';
 
   installPhase = ''
+    runHook preInstall
     install -d $out/share/emacs/site-lisp
     install rect-mark.el* $out/share/emacs/site-lisp
+    runHook postInstall
   '';
 
   meta = {
diff --git a/nixpkgs/pkgs/applications/editors/focuswriter/default.nix b/nixpkgs/pkgs/applications/editors/focuswriter/default.nix
index d47c315f613a..d39c29dc6a5b 100644
--- a/nixpkgs/pkgs/applications/editors/focuswriter/default.nix
+++ b/nixpkgs/pkgs/applications/editors/focuswriter/default.nix
@@ -12,8 +12,6 @@ mkDerivation rec {
   nativeBuildInputs = [ pkg-config qmake qttools ];
   buildInputs = [ hunspell qtbase qtmultimedia ];
 
-  enableParallelBuilding = true;
-
   qmakeFlags = [ "PREFIX=/" ];
   installFlags = [ "INSTALL_ROOT=$(out)" ];
 
diff --git a/nixpkgs/pkgs/applications/editors/glow/default.nix b/nixpkgs/pkgs/applications/editors/glow/default.nix
index 728f5e54a3c6..dde5083d9c8d 100644
--- a/nixpkgs/pkgs/applications/editors/glow/default.nix
+++ b/nixpkgs/pkgs/applications/editors/glow/default.nix
@@ -15,7 +15,7 @@ buildGoModule rec {
 
   doCheck = false;
 
-  buildFlagsArray = [ "-ldflags= -s -w -X=main.Version=${version}" ];
+  ldflags = [ "-s" "-w" "-X=main.Version=${version}" ];
 
   meta = with lib; {
     description = "Render markdown on the CLI, with pizzazz!";
diff --git a/nixpkgs/pkgs/applications/editors/helix/default.nix b/nixpkgs/pkgs/applications/editors/helix/default.nix
index a36ff1cde464..a46124daab2a 100644
--- a/nixpkgs/pkgs/applications/editors/helix/default.nix
+++ b/nixpkgs/pkgs/applications/editors/helix/default.nix
@@ -1,25 +1,34 @@
-{ fetchFromGitHub, lib, rustPlatform }:
+{ fetchFromGitHub, lib, rustPlatform, makeWrapper }:
 
 rustPlatform.buildRustPackage rec {
   pname = "helix";
-  version = "0.3.0";
+  version = "0.4.1";
 
   src = fetchFromGitHub {
     owner = "helix-editor";
     repo = pname;
     rev = "v${version}";
     fetchSubmodules = true;
-    sha256 = "sha256-dI5yIP5uUmM9pyMpvvdrk8/0jE/REkU/m9BF081LwMU=";
+    sha256 = "sha256-lScMHZ/pLcHkuvv8kSKnYK5AFVxyhOUMFdsu3nlDVD0=";
   };
 
-  cargoSha256 = "sha256-l3Ikr4IyUsHItJIC4BaIZZb6vio3bchumbbPI+nxIjQ=";
+  cargoSha256 = "sha256-N5vlPoYyksHEZsyia8u8qtoEBY6qsXqO9CRBFaTQmiw=";
 
-  cargoBuildFlags = [ "--features embed_runtime" ];
+  nativeBuildInputs = [ makeWrapper ];
+
+  postInstall = ''
+    mkdir -p $out/lib
+    cp -r runtime $out/lib
+  '';
+  postFixup = ''
+    wrapProgram $out/bin/hx --set HELIX_RUNTIME $out/lib/runtime
+  '';
 
   meta = with lib; {
     description = "A post-modern modal text editor";
     homepage = "https://helix-editor.com";
     license = licenses.mpl20;
+    mainProgram = "hx";
     maintainers = with maintainers; [ yusdacra ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/editors/jetbrains/common.nix b/nixpkgs/pkgs/applications/editors/jetbrains/common.nix
index 2e244364dc7e..3992fc5c2ec4 100644
--- a/nixpkgs/pkgs/applications/editors/jetbrains/common.nix
+++ b/nixpkgs/pkgs/applications/editors/jetbrains/common.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, makeDesktopItem, makeWrapper, patchelf, writeText
-, coreutils, gnugrep, which, git, unzip, libsecret, libnotify
+, coreutils, gnugrep, which, git, unzip, libsecret, libnotify, e2fsprogs
 , vmopts ? null
 }:
 
@@ -52,7 +52,7 @@ with stdenv; lib.makeOverridable mkDerivation rec {
       }
 
       interpreter=$(echo ${stdenv.glibc.out}/lib/ld-linux*.so.2)
-      if [ "${stdenv.hostPlatform.system}" == "x86_64-linux" ]; then
+      if [[ "${stdenv.hostPlatform.system}" == "x86_64-linux" && -e bin/fsnotifier64 ]]; then
         target_size=$(get_file_size bin/fsnotifier64)
         patchelf --set-interpreter "$interpreter" bin/fsnotifier64
         munge_size_hack bin/fsnotifier64 $target_size
@@ -78,7 +78,7 @@ with stdenv; lib.makeOverridable mkDerivation rec {
       --prefix PATH : "$out/libexec/${name}:${lib.optionalString (stdenv.isDarwin) "${jdk}/jdk/Contents/Home/bin:"}${lib.makeBinPath [ jdk coreutils gnugrep which git ]}" \
       --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath ([
         # Some internals want libstdc++.so.6
-        stdenv.cc.cc.lib libsecret
+        stdenv.cc.cc.lib libsecret e2fsprogs
         libnotify
       ] ++ extraLdPath)}" \
       --set JDK_HOME "$jdk" \
diff --git a/nixpkgs/pkgs/applications/editors/jetbrains/default.nix b/nixpkgs/pkgs/applications/editors/jetbrains/default.nix
index 4370e9af3eba..bd8751dcf99b 100644
--- a/nixpkgs/pkgs/applications/editors/jetbrains/default.nix
+++ b/nixpkgs/pkgs/applications/editors/jetbrains/default.nix
@@ -242,12 +242,12 @@ in
 
   clion = buildClion rec {
     name = "clion-${version}";
-    version = "2021.1.2"; /* updated by script */
+    version = "2021.2"; /* updated by script */
     description  = "C/C++ IDE. New. Intelligent. Cross-platform";
     license = lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/cpp/CLion-${version}.tar.gz";
-      sha256 = "1zx9qwjx7hwjq25y474yj7sxvp9bqnq9l53afs6d4h6131lhjkcz"; /* updated by script */
+      sha256 = "0im14b52b6hgns964m946q68mvyaq8haldm92s9cn5azh8yg1arc"; /* updated by script */
     };
     wmClass = "jetbrains-clion";
     update-channel = "CLion RELEASE"; # channel's id as in http://www.jetbrains.com/updates/updates.xml
@@ -255,12 +255,12 @@ in
 
   datagrip = buildDataGrip rec {
     name = "datagrip-${version}";
-    version = "2021.1.3"; /* updated by script */
+    version = "2021.2"; /* updated by script */
     description = "Your Swiss Army Knife for Databases and SQL";
     license = lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/datagrip/${name}.tar.gz";
-      sha256 = "0lhi3vwhwb359va4sa17y071i03l4mfwqpsp7haqxjf900dcld7d"; /* updated by script */
+      sha256 = "17fzrn20mkldf74965c7abw3znyxskssdz1k4lciz6q7kn5cvdbf"; /* updated by script */
     };
     wmClass = "jetbrains-datagrip";
     update-channel = "DataGrip RELEASE";
@@ -268,12 +268,12 @@ in
 
   goland = buildGoland rec {
     name = "goland-${version}";
-    version = "2021.1.3"; /* updated by script */
+    version = "2021.2"; /* updated by script */
     description = "Up and Coming Go IDE";
     license = lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/go/${name}.tar.gz";
-      sha256 = "0xy9k90v3kcm9sj48l809qn0vws4ygsxxyqwsg6y9a3r1raqgqxd"; /* updated by script */
+      sha256 = "15pxr9w4gs342g9in7a41x0cpb7z68y28hwsamk9ic7yz2qshps8"; /* updated by script */
     };
     wmClass = "jetbrains-goland";
     update-channel = "GoLand RELEASE";
@@ -281,12 +281,12 @@ in
 
   idea-community = buildIdea rec {
     name = "idea-community-${version}";
-    version = "2021.1.3"; /* updated by script */
+    version = "2021.2"; /* updated by script */
     description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
     license = lib.licenses.asl20;
     src = fetchurl {
       url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
-      sha256 = "1phpfa9i3k7g92ankmibp53c1469ifnb12g6s8gklln7v7xxakmi"; /* updated by script */
+      sha256 = "1zki6myy3wbr1sgp1gli263y32g75gna2r9m7baa06zvc6c7j9vw"; /* updated by script */
     };
     wmClass = "jetbrains-idea-ce";
     update-channel = "IntelliJ IDEA RELEASE";
@@ -294,12 +294,12 @@ in
 
   idea-ultimate = buildIdea rec {
     name = "idea-ultimate-${version}";
-    version = "2021.1.3"; /* updated by script */
+    version = "2021.2"; /* updated by script */
     description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
     license = lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/idea/ideaIU-${version}-no-jbr.tar.gz";
-      sha256 = "13c7a96zbw05w1gy4ds4wzac853hdlnbflww2xaz60jnr1k24gnp"; /* updated by script */
+      sha256 = "0gbx1ngf8i2a0dvysw5g0ikakq4a7gghb4rjk7c99jwzwq9hckjm"; /* updated by script */
     };
     wmClass = "jetbrains-idea";
     update-channel = "IntelliJ IDEA RELEASE";
@@ -307,12 +307,13 @@ in
 
   mps = buildMps rec {
     name = "mps-${version}";
-    version = "2021.1"; /* updated by script */
+    version = "2021.1.1"; /* updated by script */
+    versionMajorMinor = "2021.1"; /* updated by script */
     description = "Create your own domain-specific language";
     license = lib.licenses.asl20;
     src = fetchurl {
-      url = "https://download.jetbrains.com/mps/${version}/MPS-${version}.tar.gz";
-      sha256 = "0fdh8lzsi2zryi0xs961vrf3l8kqk5imlj56dhifywi7xkhs3vwn"; /* updated by script */
+      url = "https://download.jetbrains.com/mps/${versionMajorMinor}/MPS-${version}.tar.gz";
+      sha256 = "1gp9f4b57pr8c20qxcwax4l0d3w13x4lihxpb9z4agdqjafnc9l6"; /* updated by script */
     };
     wmClass = "jetbrains-mps";
     update-channel = "MPS RELEASE";
@@ -320,12 +321,12 @@ in
 
   phpstorm = buildPhpStorm rec {
     name = "phpstorm-${version}";
-    version = "2021.1.4"; /* updated by script */
+    version = "2021.2"; /* updated by script */
     description = "Professional IDE for Web and PHP developers";
     license = lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/webide/PhpStorm-${version}.tar.gz";
-      sha256 = "0p9a8l2bpjm25x4af1hlqhmw5xsirsfajznd6y723yqmjy8hs46l"; /* updated by script */
+      sha256 = "11lm7mja3mc2v329i830j8w1zymlz11sj86qvcg7s4pgc4xwnzd6"; /* updated by script */
     };
     wmClass = "jetbrains-phpstorm";
     update-channel = "PhpStorm RELEASE";
@@ -333,12 +334,12 @@ in
 
   pycharm-community = buildPycharm rec {
     name = "pycharm-community-${version}";
-    version = "2021.1.3"; /* updated by script */
+    version = "2021.2"; /* updated by script */
     description = "PyCharm Community Edition";
     license = lib.licenses.asl20;
     src = fetchurl {
       url = "https://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "0c03grsrjydb6jcnbq1qi4158c14vni3znr7vysnbvldi8al6w8m"; /* updated by script */
+      sha256 = "075lb50g853791hj8ahhi88zbp07cvfs3zrdahvvif2nd121r1mx"; /* updated by script */
     };
     wmClass = "jetbrains-pycharm-ce";
     update-channel = "PyCharm RELEASE";
@@ -346,12 +347,12 @@ in
 
   pycharm-professional = buildPycharm rec {
     name = "pycharm-professional-${version}";
-    version = "2021.1.3"; /* updated by script */
+    version = "2021.2"; /* updated by script */
     description = "PyCharm Professional Edition";
     license = lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "01nwc9nprlyrwyij98px915w66g6vxbznsmmmg56rv3rvjvjp7yl"; /* updated by script */
+      sha256 = "1l83a8wfqz4xddscpzf7v29rhq9ibx32ximcqrj1cw0i9v7qnv9g"; /* updated by script */
     };
     wmClass = "jetbrains-pycharm";
     update-channel = "PyCharm RELEASE";
@@ -359,12 +360,12 @@ in
 
   rider = buildRider rec {
     name = "rider-${version}";
-    version = "2021.1.3"; /* updated by script */
+    version = "2021.1.5"; /* updated by script */
     description = "A cross-platform .NET IDE based on the IntelliJ platform and ReSharper";
     license = lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/rider/JetBrains.Rider-${version}.tar.gz";
-      sha256 = "0k2vpndpachq6g767v2dwfa3xc8mssv0i7wwpm05dgqirpn4n0dw"; /* updated by script */
+      sha256 = "17mxqh6p9jby5qrjqaq5km0j8k1bp8061ch2j059ka3n4ycxy7ph"; /* updated by script */
     };
     wmClass = "jetbrains-rider";
     update-channel = "Rider RELEASE";
@@ -372,12 +373,12 @@ in
 
   ruby-mine = buildRubyMine rec {
     name = "ruby-mine-${version}";
-    version = "2021.1.2"; /* updated by script */
+    version = "2021.2"; /* updated by script */
     description = "The Most Intelligent Ruby and Rails IDE";
     license = lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz";
-      sha256 = "0r80y8y38rdxgc9sim0q2p7bmgxlp4pdxydr0w9gjikwnjxnvz51"; /* updated by script */
+      sha256 = "169jsd34l83n1pnrhzz548yn7ch1dzxpy8xck7vlymjgrxdqciwi"; /* updated by script */
     };
     wmClass = "jetbrains-rubymine";
     update-channel = "RubyMine RELEASE";
@@ -385,12 +386,12 @@ in
 
   webstorm = buildWebStorm rec {
     name = "webstorm-${version}";
-    version = "2021.1.2"; /* updated by script */
+    version = "2021.2"; /* updated by script */
     description = "Professional IDE for Web and JavaScript development";
     license = lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/webstorm/WebStorm-${version}.tar.gz";
-      sha256 = "0q4hn6npm0c30v23d30dnphd6wajif0im1b9vjwa121lqi997l34"; /* updated by script */
+      sha256 = "1whikk1izzvhq1d7kaf2kn4j4qpxn7aq70hlbxr1kb7zs4mzy9x3"; /* updated by script */
     };
     wmClass = "jetbrains-webstorm";
     update-channel = "WebStorm RELEASE";
diff --git a/nixpkgs/pkgs/applications/editors/jetbrains/update.pl b/nixpkgs/pkgs/applications/editors/jetbrains/update.pl
index 7656581a8b4f..201c51094dc3 100755
--- a/nixpkgs/pkgs/applications/editors/jetbrains/update.pl
+++ b/nixpkgs/pkgs/applications/editors/jetbrains/update.pl
@@ -60,17 +60,20 @@ sub update_nix_block {
       } elsif ($only_free && $block =~ /licenses\.unfree/) {
         print("$channel is unfree, skipping\n");
       } else {
-        print("updating $channel: $version -> $latest_versions{$channel}\n");
+        my $version_string = $latest_versions{$channel};
+        my $versionMajorMinor = $version_string =~ s/^([0-9]+[.][0-9]+).*/$1/r;
+
+        print("updating $channel: $version -> $version_string\n");
         my ($url) = $block =~ /url\s*=\s*"([^"]+)"/;
         # try to interpret some nix
         my ($name) = $block =~ /name\s*=\s*"([^"]+)"/;
-        $name =~ s/\$\{version\}/$latest_versions{$channel}/;
+        $name =~ s/\$\{version\}/$version_string/;
         # Some url pattern contain variables more than once
         $url =~ s/\$\{name\}/$name/g;
-        $url =~ s/\$\{version\}/$latest_versions{$channel}/g;
+        $url =~ s/\$\{version\}/$version_string/g;
+        $url =~ s/\$\{versionMajorMinor\}/$versionMajorMinor/g;
         die "$url still has some interpolation" if $url =~ /\$/;
         my ($sha256) = get("$url.sha256") =~ /^([0-9a-f]{64})/;
-        my $version_string = $latest_versions{$channel};
         unless ( $sha256 ) {
           my $full_version = $latest_versions{"full1_" . $channel};
           $url =~ s/$version_string/$full_version/;
@@ -83,6 +86,7 @@ sub update_nix_block {
         print "Jetbrains published SHA256: $sha256\n";
         print "Conversion into base32 yields: $sha256Base32\n";
         $block =~ s#version\s*=\s*"([^"]+)".+$#version = "$version_string"; /* updated by script */#m;
+        $block =~ s#versionMajorMinor\s*=\s*"([^"]+)".+$#versionMajorMinor = "$versionMajorMinor"; /* updated by script */#m;
         $block =~ s#sha256\s*=\s*"([^"]+)".+$#sha256 = "$sha256Base32"; /* updated by script */#m;
       }
     } else {
diff --git a/nixpkgs/pkgs/applications/editors/jupyter-kernels/clojupyter/default.nix b/nixpkgs/pkgs/applications/editors/jupyter-kernels/clojupyter/default.nix
new file mode 100644
index 000000000000..c71b14f17422
--- /dev/null
+++ b/nixpkgs/pkgs/applications/editors/jupyter-kernels/clojupyter/default.nix
@@ -0,0 +1,73 @@
+{ pkgs
+, stdenv
+, lib
+, jre
+, fetchFromGitHub
+, writeShellScript
+, runCommand
+, imagemagick
+}:
+
+# To test:
+# $(nix-build --no-out-link -E 'with import <nixpkgs> {}; jupyter.override { definitions = { clojure = clojupyter.definition; }; }')/bin/jupyter-notebook
+
+let
+  cljdeps = import ./deps.nix { inherit pkgs; };
+  classp  = cljdeps.makeClasspaths {};
+
+  shellScript = writeShellScript "clojupyter" ''
+    ${jre}/bin/java -cp ${classp} clojupyter.kernel.core "$@"
+  '';
+
+  pname = "clojupyter";
+  version = "0.3.2";
+
+  meta = with lib; {
+    description = "A Jupyter kernel for Clojure";
+    homepage = "https://github.com/clojupyter/clojupyter";
+    license = licenses.mit;
+    maintainers = with maintainers; [ thomasjm ];
+    platforms = jre.meta.platforms;
+  };
+
+  sizedLogo = size: stdenv.mkDerivation {
+    name = "clojupyter-logo-${size}x${size}.png";
+
+    src = fetchFromGitHub {
+      owner = "clojupyter";
+      repo = "clojupyter";
+      rev = "0.3.2";
+      sha256 = "1wphc7h74qlm9bcv5f95qhq1rq9gmcm5hvjblb01vffx996vr6jz";
+    };
+
+    buildInputs = [ imagemagick ];
+
+    dontConfigure = true;
+    dontInstall = true;
+
+    buildPhase = ''
+      convert ./resources/clojupyter/assets/logo-64x64.png -resize ${size}x${size} $out
+    '';
+
+    inherit meta;
+  };
+
+in
+
+rec {
+  launcher = runCommand "clojupyter" { inherit pname version meta shellScript; } ''
+    mkdir -p $out/bin
+    ln -s $shellScript $out/bin/clojupyter
+  '';
+
+  definition = {
+    displayName = "Clojure";
+    argv = [
+      "${launcher}/bin/clojupyter"
+      "{connection_file}"
+    ];
+    language = "clojure";
+    logo32 = sizedLogo "32";
+    logo64 = sizedLogo "64";
+  };
+}
diff --git a/nixpkgs/pkgs/applications/editors/jupyter-kernels/clojupyter/deps.edn b/nixpkgs/pkgs/applications/editors/jupyter-kernels/clojupyter/deps.edn
new file mode 100644
index 000000000000..86f489c7300e
--- /dev/null
+++ b/nixpkgs/pkgs/applications/editors/jupyter-kernels/clojupyter/deps.edn
@@ -0,0 +1 @@
+{:deps {clojupyter/clojupyter {:mvn/version "0.3.2"}}}
diff --git a/nixpkgs/pkgs/applications/editors/jupyter-kernels/clojupyter/deps.nix b/nixpkgs/pkgs/applications/editors/jupyter-kernels/clojupyter/deps.nix
new file mode 100644
index 000000000000..729db05b6cc7
--- /dev/null
+++ b/nixpkgs/pkgs/applications/editors/jupyter-kernels/clojupyter/deps.nix
@@ -0,0 +1,1107 @@
+# generated by clj2nix-1.0.5
+{ pkgs ? import <nixpkgs> {} }:
+
+  let repos = [
+        "https://repo1.maven.org/maven2/"
+        "https://repo.clojars.org/"
+        "http://oss.sonatype.org/content/repositories/releases/"
+        "http://oss.sonatype.org/content/repositories/public/"
+        "http://repo.typesafe.com/typesafe/releases/"
+      ];
+
+  in rec {
+      makePaths = {extraClasspaths ? []}: (builtins.map (dep: if builtins.hasAttr "jar" dep.path then dep.path.jar else dep.path) packages) ++ extraClasspaths;
+      makeClasspaths = {extraClasspaths ? []}: builtins.concatStringsSep ":" (makePaths {inherit extraClasspaths;});
+
+      packages = [
+  {
+    name = "javax.inject/javax.inject";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "javax.inject";
+      groupId = "javax.inject";
+      sha512 = "e126b7ccf3e42fd1984a0beef1004a7269a337c202e59e04e8e2af714280d2f2d8d2ba5e6f59481b8dcd34aaf35c966a688d0b48ec7e96f102c274dc0d3b381e";
+      version = "1";
+    };
+  }
+
+  {
+    name = "org.clojure/data.json";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "data.json";
+      groupId = "org.clojure";
+      sha512 = "ce526bef01bedd31b772954d921a61832ae60af06121f29080853f7932326438b33d183240a9cffbe57e00dc3744700220753948da26b8973ee21c30e84227a6";
+      version = "0.2.6";
+    };
+  }
+
+  {
+    name = "org.clojure/clojure";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "clojure";
+      groupId = "org.clojure";
+      sha512 = "f28178179483531862afae13e246386f8fda081afa523d3c4ea3a083ab607d23575d38ecb9ec0ee7f4d65cbe39a119f680e6de4669bc9cf593aa92be0c61562b";
+      version = "1.10.1";
+    };
+  }
+
+  {
+    name = "net.cgrand/sjacket";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "sjacket";
+      groupId = "net.cgrand";
+      sha512 = "34a359a0a633f116147e5bd52d4f4a9cd755636ce0e8abf155da9c3f04b07f93bbbf7c1f8e370db922e14da0efd36a5b127ff9e564141ca7a843f0498a8b860a";
+      version = "0.1.1";
+    };
+  }
+
+  {
+    name = "clojupyter/clojupyter";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "clojupyter";
+      groupId = "clojupyter";
+      sha512 = "3ff95101e9031f0678c1ebd67b0f0d1b50495aa81a69c8f08deb9c2931818bbdd6bcd6f1ef25c407c6714a975c1ef853b4287725641a3fed7b93e1c27ba78709";
+      version = "0.3.2";
+    };
+  }
+
+  {
+    name = "commons-codec/commons-codec";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "commons-codec";
+      groupId = "commons-codec";
+      sha512 = "b65531ead8500493e3dd14a860224851b80f438fc53bf8868b443a0557d839a2b0c868e4fedcf99579ae04b6b2bbd8cdb37f9921ad785983c37569aa9d2e8102";
+      version = "1.9";
+    };
+  }
+
+  {
+    name = "org.clojure/tools.analyzer";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "tools.analyzer";
+      groupId = "org.clojure";
+      sha512 = "9cce94540a6fd0ae0bad915efe9a30c8fb282fbd1e225c4a5a583273e84789b3b5fc605b06f11e19d7dcc212d08bc6138477accfcde5d48839bec97daa874ce6";
+      version = "0.6.9";
+    };
+  }
+
+  {
+    name = "org.codehaus.plexus/plexus-component-annotations";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "plexus-component-annotations";
+      groupId = "org.codehaus.plexus";
+      sha512 = "e20aa9fdb3fda4126f55ef45c36362138c6554ede40fa266ff6b63fe1c3b4d699f9eb95793f26527e096ec7567874aa7af5fe84124815729fdb2d4abaa9ddea8";
+      version = "1.7.1";
+    };
+  }
+
+  {
+    name = "org.apache.commons/commons-compress";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "commons-compress";
+      groupId = "org.apache.commons";
+      sha512 = "f3e077ff7f69992961d744dc513eca93606e472e3733657636808a7f50c17f39e3de8367a1af7972cb158f05725808627b6232585a81f197c0da3eff0336913e";
+      version = "1.8";
+    };
+  }
+
+  {
+    name = "org.apache.commons/commons-lang3";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "commons-lang3";
+      groupId = "org.apache.commons";
+      sha512 = "9e6ff20e891b6835d5926c90f237d55931e75723c8b88d6417926393e077e71013dab006372d34a6b5801e6ca3ce080a00f202cba700cab5aabfc17bbbdcab36";
+      version = "3.5";
+    };
+  }
+
+  {
+    name = "org.clojure/core.specs.alpha";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "core.specs.alpha";
+      groupId = "org.clojure";
+      sha512 = "348c0ea0911bc0dcb08655e61b97ba040649b4b46c32a62aa84d0c29c245a8af5c16d44a4fa5455d6ab076f4bb5bbbe1ad3064a7befe583f13aeb9e32a169bf4";
+      version = "0.2.44";
+    };
+  }
+
+  {
+    name = "org.tukaani/xz";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "xz";
+      groupId = "org.tukaani";
+      sha512 = "c5c130bf22f24f61b57fc0c6243e7f961ca2a8928416e8bb288aec6650c1c1c06ace4383913cd1277fc6785beb9a74458807ea7e3d6b2e09189cfaf2fb9ab7e1";
+      version = "1.5";
+    };
+  }
+
+  {
+    name = "org.zeromq/jeromq";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "jeromq";
+      groupId = "org.zeromq";
+      sha512 = "0965b82a10136a656dfe48268008536a57b26be9190ff2f3d5dbf3fa298e21bc754e70b1e7fae1aca782d25c397c9ce8fa3832783665391142b31dc4a1bd0233";
+      version = "0.5.1";
+    };
+  }
+
+  {
+    name = "org.clojure/spec.alpha";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "spec.alpha";
+      groupId = "org.clojure";
+      sha512 = "18c97fb2b74c0bc2ff4f6dc722a3edec539f882ee85d0addf22bbf7e6fe02605d63f40c2b8a2905868ccd6f96cfc36a65f5fb70ddac31c6ec93da228a456edbd";
+      version = "0.2.176";
+    };
+  }
+
+  {
+    name = "pandect/pandect";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "pandect";
+      groupId = "pandect";
+      sha512 = "8c265289f46a94cf2400f05223cdd3f9faee9a39e6ed5a55a3e89b09334a61e928c0f27e2db834edf3b544e2148a511bccf1ef73132bd9263659bed381abb59a";
+      version = "0.6.1";
+    };
+  }
+
+  {
+    name = "org.clojure/tools.cli";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "tools.cli";
+      groupId = "org.clojure";
+      sha512 = "9baf3fafe2e92b846404ef1bd897a4a335fe4bc1f78a2408ee93c09dc960a630f58a0e863b2d299624783f2851bb5d83f93fa627276d28d66c92764c46f27efe";
+      version = "0.4.2";
+    };
+  }
+
+  {
+    name = "com.taoensso/encore";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "encore";
+      groupId = "com.taoensso";
+      sha512 = "c4928c76378415ac504071ae4812e82efdce3b432c961b0bb9d906a468bb9c51a778f0109ac86641419b1a852ef13ca3d5c54ddde457e5aaec36a2f54f9caf8f";
+      version = "2.91.0";
+    };
+  }
+
+  {
+    name = "org.apache.maven.resolver/maven-resolver-transport-wagon";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "maven-resolver-transport-wagon";
+      groupId = "org.apache.maven.resolver";
+      sha512 = "b7a4dcd2f9bb39bfd561e9b2a8fc087bd9e7e59136ea7787341c173fa22c6b8e9370117ed6c30b0c930dd5b188fab2f2b060042861df19e79772a74c703fcf64";
+      version = "1.0.3";
+    };
+  }
+
+  {
+    name = "org.slf4j/jcl-over-slf4j";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "jcl-over-slf4j";
+      groupId = "org.slf4j";
+      sha512 = "d9c08c3e4cb18b2d69ba8bcd4bbf3955dbc287e20141d244486f6237c36e8e2cf86ae48c295b5dd579219b5c7b1197658153f10fce73d155a4a1d4e6c7943952";
+      version = "1.7.22";
+    };
+  }
+
+  {
+    name = "org.clojure/tools.analyzer.jvm";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "tools.analyzer.jvm";
+      groupId = "org.clojure";
+      sha512 = "ec1cb7638e38dfdca49c88e0b71ecf9c6ea858dccd46a2044bb37d01912ab4709b838cd2f0d1c2f201927ba4eea8f68d4d82e9fdd6da2f9943f7239bf86549f2";
+      version = "0.7.2";
+    };
+  }
+
+  {
+    name = "org.apache.maven.wagon/wagon-provider-api";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "wagon-provider-api";
+      groupId = "org.apache.maven.wagon";
+      sha512 = "4571002ad5bfc0442bb2eaf32ec42675dc0a179413230615475842bba12fb561159ffc0213127cf241088641a218627e84049b715b9e71ed83d960f4f09da985";
+      version = "3.0.0";
+    };
+  }
+
+  {
+    name = "io.pedestal/pedestal.log";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "pedestal.log";
+      groupId = "io.pedestal";
+      sha512 = "f6c4d8e1b202af9ef7950ec6d02b96f0e598e8d1f9ffffe8e5650e8ffdebd6c4919166aa83e34f47407870473024d28e7a49a2a0ad2b9af221514e42c518baae";
+      version = "0.5.7";
+    };
+  }
+
+  {
+    name = "org.clojure/tools.macro";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "tools.macro";
+      groupId = "org.clojure";
+      sha512 = "18fb889ec7f0c8f23084f01587582be3c1baaa475249c40cfa8edc78c75079807ed49f2fb714a5c79b16bcf233142abcf571b12fff4e29cd78850c0016d6b4b9";
+      version = "0.1.1";
+    };
+  }
+
+  {
+    name = "com.fasterxml.jackson.dataformat/jackson-dataformat-cbor";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "jackson-dataformat-cbor";
+      groupId = "com.fasterxml.jackson.dataformat";
+      sha512 = "dd49d4a154b8284620704a364ec54fb94638d68424b4f3eaa1d61cccc70959d399e539162f6ac8dcdd6efb0d3817a2edd2bba12fd2630cabd4722cd2ce9b782a";
+      version = "2.9.6";
+    };
+  }
+
+  {
+    name = "org.flatland/useful";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "useful";
+      groupId = "org.flatland";
+      sha512 = "b97c92692e36be3e4bdfe4a6b1f1ecb2729c960c25884d1cb12218d0b807789dc37120022b4dd0fd5daba1dd16f892ac134576f84ef301c23525ba55cb041e2d";
+      version = "0.11.6";
+    };
+  }
+
+  {
+    name = "org.apache.maven.resolver/maven-resolver-transport-http";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "maven-resolver-transport-http";
+      groupId = "org.apache.maven.resolver";
+      sha512 = "97c23620a57406a8d87a08ab2897355afcce4b53b397ef7d13b4254cb07e965b51f05e21ce2d77ea93c4dbc63f32b3f07ff2171bccfe2b4f21116569968a003e";
+      version = "1.0.3";
+    };
+  }
+
+  {
+    name = "net.cgrand/parsley";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "parsley";
+      groupId = "net.cgrand";
+      sha512 = "e114f9e5709b9a38214aabc2b7bb33984693a4302fd8570bb91956bce2755d69b6ee2eaa7224137e306ab1f830672eee928e030677f50739edc62314429fa1f7";
+      version = "0.9.3";
+    };
+  }
+
+  {
+    name = "funcool/cats";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "cats";
+      groupId = "funcool";
+      sha512 = "83ccb058078c3c380435512e6f92cfc117244fab4819db776eb963d3b488ac92ca70a783b5d3b776d9d4cf06d9de5d3730c07ce6e7013e6717ba28335601ece8";
+      version = "2.3.2";
+    };
+  }
+
+  {
+    name = "org.apache.maven/maven-model-builder";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "maven-model-builder";
+      groupId = "org.apache.maven";
+      sha512 = "6684b58d14e7d037f240ae15ee0456d27354c9dd93a1dc2bdbb66f399b012ffe8ff67a1dd83ee1e45c07fd91af77909a9c19d6b29791002d5b5acf23ca75dcb2";
+      version = "3.5.3";
+    };
+  }
+
+  {
+    name = "io.aviso/pretty";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "pretty";
+      groupId = "io.aviso";
+      sha512 = "2c4df86bb572cf028992a1a321178df65d0e681cbbc699db3a149fd0bcf8ad803643bf4e621a9b7793067f128934819371796468288cf5822924b2218711ccac";
+      version = "0.1.33";
+    };
+  }
+
+  {
+    name = "rewrite-clj/rewrite-clj";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "rewrite-clj";
+      groupId = "rewrite-clj";
+      sha512 = "14018072e5c9466e8cafc08d68633f0d0a410ceb6631bd48cf7d67056e5bc972618f1b3f80ba00c4fdf88ad884fe58b636945ec6f053cbe14aee61ef173e12d3";
+      version = "0.6.1";
+    };
+  }
+
+  {
+    name = "org.codehaus.plexus/plexus-utils";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "plexus-utils";
+      groupId = "org.codehaus.plexus";
+      sha512 = "3805c57b7297459c5e2754d0fd56abd454eee08691974fb930ebb9b79a529fd874f16d40cec66e7fd90d4146c9d1fef45cdb59f9e359fce0c48ac77526fc320d";
+      version = "3.1.0";
+    };
+  }
+
+  {
+    name = "org.apache.maven.resolver/maven-resolver-transport-file";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "maven-resolver-transport-file";
+      groupId = "org.apache.maven.resolver";
+      sha512 = "a83cc067c0857f091787120dcbde00f2df5cd6379a02cca95a091aa243ca22dfbae634406c58373b391caf911dd6db3b4ff4a3d51768f4a61b1081e7c78bb252";
+      version = "1.0.3";
+    };
+  }
+
+  {
+    name = "slingshot/slingshot";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "slingshot";
+      groupId = "slingshot";
+      sha512 = "ff2b2a27b441d230261c7f3ec8c38aa551865e05ab6438a74bd12bfcbc5f6bdc88199d42aaf5932b47df84f3d2700c8f514b9f4e9b5da28d29da7ff6b09a7fb5";
+      version = "0.12.2";
+    };
+  }
+
+  {
+    name = "org.flatland/ordered";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "ordered";
+      groupId = "org.flatland";
+      sha512 = "16ba9c232cefcf363c603af95343db3f86538e3829dce9fba9adce48c3bf2e80c24e4e30a4583750d124aeb9f1031cdbe93d08796366484495b1b22857de3045";
+      version = "1.5.7";
+    };
+  }
+
+  {
+    name = "commons-io/commons-io";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "commons-io";
+      groupId = "commons-io";
+      sha512 = "1f6bfc215da9ae661dbabba80a0f29101a2d5e49c7d0c6ed760d1cafea005b7f0ff177b3b741e75b8e59804b0280fa453a76940b97e52b800ec03042f1692b07";
+      version = "2.5";
+    };
+  }
+
+  {
+    name = "org.apache.maven.wagon/wagon-http-shared";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "wagon-http-shared";
+      groupId = "org.apache.maven.wagon";
+      sha512 = "d4ef092c8ca8efd4295323d7bdb98315fcf574c2e5e227840847b936ab36095217583c5a807a27e21b831ade4cfbaa570278aa0d1a0144e92b90a42099b541f1";
+      version = "3.0.0";
+    };
+  }
+
+  {
+    name = "com.fasterxml.jackson.core/jackson-core";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "jackson-core";
+      groupId = "com.fasterxml.jackson.core";
+      sha512 = "a1b9b68b67d442a47e36b46b37b6b0ad7a10c547a1cf7adb4705baec77356e1080049d310b3b530f66bbd3c0ed05cfe43c041d6ef4ffbbc6731149624df4e699";
+      version = "2.9.6";
+    };
+  }
+
+  {
+    name = "org.yaml/snakeyaml";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "snakeyaml";
+      groupId = "org.yaml";
+      sha512 = "b7ef491ded21c61260d6ad68b1541d0c753f01f3f065b66a31c8e4d8f5f6b5eff31e82a7cc68562567811cc0d540c980e8a42714574f50e7713b4799192f50f9";
+      version = "1.19";
+    };
+  }
+
+  {
+    name = "org.slf4j/jul-to-slf4j";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "jul-to-slf4j";
+      groupId = "org.slf4j";
+      sha512 = "e76ee7ee3e1852be55c18ccb7a8f4a7005807da3cbd97f4b4895632fee92cc64785491d4f6384ae4ebd0f73a1ee4893dc1adf7119da056300f21eb2e7d3f233f";
+      version = "1.7.14";
+    };
+  }
+
+  {
+    name = "org.apache.httpcomponents/httpcore";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "httpcore";
+      groupId = "org.apache.httpcomponents";
+      sha512 = "10814bfb8dcce31034f8fd6822f9da29299529b900616b78d8caf846748cf2b1e093f7b99db26a8580266e3346b822b5edb347004b0d13580e6df85cb327c93c";
+      version = "4.4.6";
+    };
+  }
+
+  {
+    name = "io.pedestal/pedestal.interceptor";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "pedestal.interceptor";
+      groupId = "io.pedestal";
+      sha512 = "9767bb8df4ec3d1ee1468c22afd64adc689bb0ae15e98dfc04ef98e65f237f67ded3ade9c1514d2e44e1dd56dbff6cafbc9795a5c57e166cb924f43175c3be83";
+      version = "0.5.7";
+    };
+  }
+
+  {
+    name = "io.dropwizard.metrics/metrics-core";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "metrics-core";
+      groupId = "io.dropwizard.metrics";
+      sha512 = "4b500efcc88e717dbbfff9629e12db0f23380bc7dbae820039ed730cdaf26fb6d5be6e58434bd6f688ea3d675576e2057ec183472aac99189817fc28b3c3489e";
+      version = "4.1.0";
+    };
+  }
+
+  {
+    name = "com.grammarly/omniconf";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "omniconf";
+      groupId = "com.grammarly";
+      sha512 = "f9b162b98676cb5073310309aac9678725cb4a7eec3fe00803b21ce4abcea3cc1c41df5e970105ed18352619dfab40c0736ae78e9206165f17b0094107b2594b";
+      version = "0.3.2";
+    };
+  }
+
+  {
+    name = "clj-tuple/clj-tuple";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "clj-tuple";
+      groupId = "clj-tuple";
+      sha512 = "dd626944d0aba679a21b164ed0c77ea84449359361496cba810f83b9fdeab751e5889963888098ce4bf8afa112dbda0a46ed60348a9c01ad36a2e255deb7ab6d";
+      version = "0.2.2";
+    };
+  }
+
+  {
+    name = "eu.neilalexander/jnacl";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "jnacl";
+      groupId = "eu.neilalexander";
+      sha512 = "addba1eae1975a71a204557dafb111c5c2aab39d9a7bb6428a26107935d95290139381c0a283b77e67b44e1d8110d3fa3919d7e7fc73e0023771beece4eab994";
+      version = "1.0.0";
+    };
+  }
+
+  {
+    name = "zprint/zprint";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "zprint";
+      groupId = "zprint";
+      sha512 = "379b6f9228ec0b5ae1a24b0cce4c41e273534b456cf356ac67b7f72a7506345eddf7f7ac75c2c200864d5372c1fb0331d2b31bc22a21c496cafdfe839241e9f9";
+      version = "0.4.15";
+    };
+  }
+
+  {
+    name = "com.taoensso/truss";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "truss";
+      groupId = "com.taoensso";
+      sha512 = "601bdac92eb0432de228717d3feb7f8a24f484eaf8b93a98c95ee42a0d57bd3dd7d2929c21dadb3a9b43d5e449821d30bbcf4e5ae198dcb8c62ec9597ff57524";
+      version = "1.5.0";
+    };
+  }
+
+  {
+    name = "org.apache.maven.resolver/maven-resolver-api";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "maven-resolver-api";
+      groupId = "org.apache.maven.resolver";
+      sha512 = "d00cd4ec92bfafe88d9c4f4ce91e6c2d581d416a096743d396c1712a5788239cf2d55f910e1c0024034f7e0d8028ff602339b87c8fd3ad54f665a8b63d142e67";
+      version = "1.1.1";
+    };
+  }
+
+  {
+    name = "hiccup/hiccup";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "hiccup";
+      groupId = "hiccup";
+      sha512 = "034f15be46c35029f41869c912f82cb2929fbbb0524ea64bd98dcdb9cf09875b28c75e926fa5fff53942b0f9e543e85a73a2d03c3f2112eecae30fcef8b148f4";
+      version = "1.0.5";
+    };
+  }
+
+  {
+    name = "io.opentracing/opentracing-api";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "opentracing-api";
+      groupId = "io.opentracing";
+      sha512 = "931197ca33e509570e389cd163af96e277bb3635f019e34e2fc97d3fa9c34bb9042f25b2ba8aa59f8516cc044ec3e9584462601b8aa5f954bbc6ad88e5fbe5cd";
+      version = "0.33.0";
+    };
+  }
+
+  {
+    name = "org.apache.maven/maven-resolver-provider";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "maven-resolver-provider";
+      groupId = "org.apache.maven";
+      sha512 = "ec9e402084886554d247232b3dc5a971f6cbc93206759104ee7f94c7ba3ea2d69a715c68e479d2c64f6fe5045b6d7bd75cc3bb239462464ac608b0db1a5f0db5";
+      version = "3.5.3";
+    };
+  }
+
+  {
+    name = "commons-logging/commons-logging";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "commons-logging";
+      groupId = "commons-logging";
+      sha512 = "ed00dbfabd9ae00efa26dd400983601d076fe36408b7d6520084b447e5d1fa527ce65bd6afdcb58506c3a808323d28e88f26cb99c6f5db9ff64f6525ecdfa557";
+      version = "1.2";
+    };
+  }
+
+  {
+    name = "com.google.guava/guava";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "guava";
+      groupId = "com.google.guava";
+      sha512 = "d8736b5151df2dd052c09548a118af15a8b8b40999954cd093cfd301445accb8b7e9532b36bac8b2fab9234a24e2e05009a33d0a8e149e841ebddbcc733a8e4c";
+      version = "20.0";
+    };
+  }
+
+  {
+    name = "com.fzakaria/slf4j-timbre";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "slf4j-timbre";
+      groupId = "com.fzakaria";
+      sha512 = "93ecc0e133a3f02f521cac125fd8842f94f2c284000b6b9f1cda7ef2841567bd674facea1f8c4e32da2321f414c1f2590ac58abf37f23347f6f551fcd9039339";
+      version = "0.3.14";
+    };
+  }
+
+  {
+    name = "clojure.java-time/clojure.java-time";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "clojure.java-time";
+      groupId = "clojure.java-time";
+      sha512 = "a7111b5c78d7f920d74793d410f81c9ca3c9a8c4d652f132be55eb15f6d03a413cee1ae46bad6d3189c045d422a33c7320fbd02055c351779c379f75db48cbbd";
+      version = "0.3.2";
+    };
+  }
+
+  {
+    name = "org.apache.maven.resolver/maven-resolver-spi";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "maven-resolver-spi";
+      groupId = "org.apache.maven.resolver";
+      sha512 = "bb58083c5ef2b6d3915acb368c80bd55ca6318925c606ad74e3e4ab2fc0066c7fa2480cefa34487c5349f1edff02131bbaa4c3a426f9a52d5a6a66a4a023d452";
+      version = "1.1.1";
+    };
+  }
+
+  {
+    name = "org.clojure/algo.generic";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "algo.generic";
+      groupId = "org.clojure";
+      sha512 = "2ded22096f7bf051fcc649d56fdb0ef2dddcb5490e22ce4d7e6f714d910db0cc7d453862b2180169641c21f0754b799036e4b0e7944c79f29d22dcb4152e384d";
+      version = "0.1.3";
+    };
+  }
+
+  {
+    name = "com.taoensso/timbre";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "timbre";
+      groupId = "com.taoensso";
+      sha512 = "cbb47d1ba312ca5f8ffdb2953401e0b37b308529c49622d4eb57e1d128ae56768051a2e01264c3a3fe8ef1c8a8785fcc29bc9336ccc70e629f2ab432280e6d7f";
+      version = "4.10.0";
+    };
+  }
+
+  {
+    name = "org.clojure/java.jdbc";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "java.jdbc";
+      groupId = "org.clojure";
+      sha512 = "50c263853f0b88d4b46746bf8f5efb8536f38dde2a08c26e5d26c2bd3bd851c0c0f0814d7899019c3879de2667b3b432a23de091bd8f8cea3e28bd00f0b715cb";
+      version = "0.7.9";
+    };
+  }
+
+  {
+    name = "org.apache.maven.wagon/wagon-http";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "wagon-http";
+      groupId = "org.apache.maven.wagon";
+      sha512 = "e565e6541d53a5c2823a211586163707a5dbf5d9b3dd9f4a8d1d9dd2ffc0c8cf3ef2adb78d455235d22ede99d2e4619eb7f94d2a52eb0ffd119b52b33f9d89ba";
+      version = "3.0.0";
+    };
+  }
+
+  {
+    name = "io.opentracing/opentracing-noop";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "opentracing-noop";
+      groupId = "io.opentracing";
+      sha512 = "c727bcf20504fa72bfc07456bdde3b0b50988632d85c7af78df742efd90a431c125f5d644273203fa211a62fc4a282455cf281c7c82b82df4695afbc5488577f";
+      version = "0.33.0";
+    };
+  }
+
+  {
+    name = "net.cgrand/regex";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "regex";
+      groupId = "net.cgrand";
+      sha512 = "f0dfa4727818765364ce1793337597b06a2f95364245ab6c860e2373a98da55771e77a7eb772dcf415a336d8caad35673d5054e18b9494c3e1b9f882fecfb4d9";
+      version = "1.1.0";
+    };
+  }
+
+  {
+    name = "cider/cider-nrepl";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "cider-nrepl";
+      groupId = "cider";
+      sha512 = "2c665aeb6c31eb2d11f257966f19e6127d602546a8fea2ab19eed3352469f93bd870c210250cc3f8b89d68d61f6076a614b87d1792a1ab3a3fd8f3b974842f75";
+      version = "0.21.1";
+    };
+  }
+
+  {
+    name = "com.cemerick/pomegranate";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "pomegranate";
+      groupId = "com.cemerick";
+      sha512 = "a08137b575305aeff9858b93fc1febba92aaff27d9994e884c0e614f43704403cfb7e3e8d819a8151966c6439c178f4fb371003c392591dbc87b9e0fa64788fd";
+      version = "1.1.0";
+    };
+  }
+
+  {
+    name = "org.codehaus.plexus/plexus-interpolation";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "plexus-interpolation";
+      groupId = "org.codehaus.plexus";
+      sha512 = "d9183dc0920fb996901644903194883d1e1d1e8c4863f3c55bd6a9b14de996ee30651849435a92c8c55fc82be0e4524f1b2741957f9464434da292188ffcee70";
+      version = "1.24";
+    };
+  }
+
+  {
+    name = "org.apache.httpcomponents/httpclient";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "httpclient";
+      groupId = "org.apache.httpcomponents";
+      sha512 = "f8d4a960ed235770570afaf793c4596404adfa777e08bdb87ae2db92575db5e11755025fe43969f852ef505a390833e79bdd1fccd5f3fb7dee87625607b504a2";
+      version = "4.5.3";
+    };
+  }
+
+  {
+    name = "cheshire/cheshire";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "cheshire";
+      groupId = "cheshire";
+      sha512 = "46d638d3e261e2debcaae9bdf912abaad4e77218ee0ba25ad0ff71dc040f579e630e593d55cd84dc9815bf84df33650295243cbeb8ff868976854544dd77de2c";
+      version = "5.8.1";
+    };
+  }
+
+  {
+    name = "tigris/tigris";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "tigris";
+      groupId = "tigris";
+      sha512 = "5393fe3f656521a6760d289d9549ffb9e9c1a8a72b69878205d53763802afa8778f1cb8bed6899e0b9721de231a79b8b1254cc601c84f5374467f1cc4780a987";
+      version = "0.1.1";
+    };
+  }
+
+  {
+    name = "org.clojure/core.match";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "core.match";
+      groupId = "org.clojure";
+      sha512 = "d69ed23bad115ed665b402886e1946fcecacbbfd05150f3eb66dce9ffc0381d0e02ed6f41cb390a6dfb74f4f26e3b0f6793dec38f6a4622dc53c0739d79f5f5e";
+      version = "0.3.0";
+    };
+  }
+
+  {
+    name = "org.clojure/tools.reader";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "tools.reader";
+      groupId = "org.clojure";
+      sha512 = "3d6d184a30cead093a158a69feaff8685a24a8089b0245f2b262d26ff46c7fd0be6940bdaccb0b5b06f87cba7ac59e677f74afff1cfbd67dc2b32e2a1ff19541";
+      version = "1.2.2";
+    };
+  }
+
+  {
+    name = "org.tcrawley/dynapath";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "dynapath";
+      groupId = "org.tcrawley";
+      sha512 = "1b0caf390515212e6b151d6c227b1a62e430e682b6c811736edba3cc918344053e35c092e12afd523198ed6244018450931776f8388e61a593f266476b6db19e";
+      version = "1.0.0";
+    };
+  }
+
+  {
+    name = "io.opentracing/opentracing-util";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "opentracing-util";
+      groupId = "io.opentracing";
+      sha512 = "fbba29ff3d6018561077e9539ad9b72876424600eca3addb6a26981a4a3e52cb3dfd30f27945aff2b6c222c42454ce3ba67597171fd809a74c65b920f3a47c7a";
+      version = "0.33.0";
+    };
+  }
+
+  {
+    name = "org.jsoup/jsoup";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "jsoup";
+      groupId = "org.jsoup";
+      sha512 = "8119ec44ee622c75f47a80dedeadf557744208dc49d3d9f579660929a0be3f71d3b8cb4aed64ee31f6bf7488bfc3516fb3980137d2fc63063caf46c9921f19f0";
+      version = "1.7.2";
+    };
+  }
+
+  {
+    name = "nrepl/nrepl";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "nrepl";
+      groupId = "nrepl";
+      sha512 = "f9ffc647820e772428781cb4ccd4f84a7d903afffe64418af55c95bd7bc21e1722591ac425d1be366d8f4f4596debf0c1b006957848473d3c515f4187cd5cb86";
+      version = "0.6.0";
+    };
+  }
+
+  {
+    name = "org.apache.maven.resolver/maven-resolver-connector-basic";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "maven-resolver-connector-basic";
+      groupId = "org.apache.maven.resolver";
+      sha512 = "c8c14480ed89cf5d4cfec5dee7dae366b0b5d003cd835d4b1358add81253b205a53f6a62e5ecc145f09406fc8c57adb5fbf8f4521a044ac3d37b5fa8e67d4e21";
+      version = "1.0.3";
+    };
+  }
+
+  {
+    name = "org.xerial/sqlite-jdbc";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "sqlite-jdbc";
+      groupId = "org.xerial";
+      sha512 = "efd1ea26d7f4f9bc66bf0d5f80234a0c535829bd498e4c5a0cab42873b58ac69133497d8c45689a1d3a39e657a2d0474d6b930c7bc415dd623801ee4a7354ffb";
+      version = "3.25.2";
+    };
+  }
+
+  {
+    name = "org.apache.maven.resolver/maven-resolver-impl";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "maven-resolver-impl";
+      groupId = "org.apache.maven.resolver";
+      sha512 = "3ffcac7ed4a05b2b58669ce05cc348acad627be3e0941ee28a9a665fea43a571d554005dd72ec51130083f792e31894880525df3cd6962d7c95885340abfb7da";
+      version = "1.1.1";
+    };
+  }
+
+  {
+    name = "org.slf4j/slf4j-api";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "slf4j-api";
+      groupId = "org.slf4j";
+      sha512 = "a944468440a883bb3bde1f78d39abe43a90b6091fd9f1a70430ac10ea91b308b2ef035e4836d68ba97afdba2b04f62edece204278aaa416276a5f8596f8688af";
+      version = "1.7.26";
+    };
+  }
+
+  {
+    name = "org.apache.maven/maven-model";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "maven-model";
+      groupId = "org.apache.maven";
+      sha512 = "888a778101774265e0d8dbc96305274053d275c0b261e81c6aae8765f92b13d1e06c5aa8f51c7d53d5267e46041adc9218686e53fc47cc15563a1b178291bc16";
+      version = "3.5.3";
+    };
+  }
+
+  {
+    name = "org.clojure/test.check";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "test.check";
+      groupId = "org.clojure";
+      sha512 = "ba7b5c915c1e7bd5e9e398f8cd9d74340ca3c4846483bae8f2191e40ea42bdd4d8019ec108c2bd64451f418abebed2258cf0ee5be597cc0bc8a02d772c6385ed";
+      version = "0.10.0-RC1";
+    };
+  }
+
+  {
+    name = "org.apache.maven.resolver/maven-resolver-util";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "maven-resolver-util";
+      groupId = "org.apache.maven.resolver";
+      sha512 = "91dcbb8184f06e64da35d40c7b96e854f7311b6232d74b4b6d3489a51e0c05ebbee44f59367ab118974cdb6c5b3747981a41869cc7372691b2c2e1d0daa2ffa3";
+      version = "1.1.1";
+    };
+  }
+
+  {
+    name = "io.dropwizard.metrics/metrics-jmx";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "metrics-jmx";
+      groupId = "io.dropwizard.metrics";
+      sha512 = "706f7428b967923d2792b0587684e972b1404d663a6ac3d661772a57edf096f0de0efac8bbfcead4576c008b096c33f77499e8f193ccbb8b072d7aa6e6d7a40d";
+      version = "4.1.0";
+    };
+  }
+
+  {
+    name = "io.forward/yaml";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "yaml";
+      groupId = "io.forward";
+      sha512 = "561cfe0e92689b95008948a0a8aa839b9932ffd13791fdbd9ce55e0b0e3c895be6441ccd050b62ff671c747373fcba1199246c8bfb4206cb05584d06dea99b7c";
+      version = "1.0.9";
+    };
+  }
+
+  {
+    name = "me.raynes/fs";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "fs";
+      groupId = "me.raynes";
+      sha512 = "b72af0093c1feccf78ea0632ba523eca89436b0575abc0af484e03570011aa89f429f9820a9fc27f60da113d728d2bbc09ba26d3a0cdd63d9d9c7775643f6852";
+      version = "1.4.6";
+    };
+  }
+
+  {
+    name = "org.clojure/core.memoize";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "core.memoize";
+      groupId = "org.clojure";
+      sha512 = "e1c5104ac20a22e670ccb80c085ce225c168802829668e91c316cbea4f8982431a9e2ac7bfa5e8477ef515088e9443763f44496633c8ee1e416f7eb8ddfefb88";
+      version = "0.5.9";
+    };
+  }
+
+  {
+    name = "camel-snake-kebab/camel-snake-kebab";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "camel-snake-kebab";
+      groupId = "camel-snake-kebab";
+      sha512 = "3108a207378e8b6199ae6c71517fcc65dde97d2bab67d533a618c7ff50ea8b849ead3880857d00629d6c269499384b564ed43b631e6b06f283af94e8cae89144";
+      version = "0.4.0";
+    };
+  }
+
+  {
+    name = "org.apache.maven/maven-repository-metadata";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "maven-repository-metadata";
+      groupId = "org.apache.maven";
+      sha512 = "6d898373d483ac7f24ab0256406f4be45035f95a247bb19ac7102ea7f5e336976381c5125b30a7148bc9a8e1df6d27b456d1f8e9b55b99d9688e37dfd03733a3";
+      version = "3.5.3";
+    };
+  }
+
+  {
+    name = "io.simplect/compose";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "compose";
+      groupId = "io.simplect";
+      sha512 = "0aceab86d4a97285ddd6d40abdeb5b9bea16a16b6509ef2fcd80e547d772185041e26abcc12ae11938d7b78fed175850f811d5cb2a2f0590524c2c11975bacd1";
+      version = "0.7.27";
+    };
+  }
+
+  {
+    name = "org.clojure/data.priority-map";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "data.priority-map";
+      groupId = "org.clojure";
+      sha512 = "450e18bddb3962aee3a110398dc3e9c25280202eb15df2f25de6c26e99982e8de5cf535fe609948d190e312a00fad3ffc0b3a78b514ef66369577a4185df0a77";
+      version = "0.0.7";
+    };
+  }
+
+  {
+    name = "org.apache.maven/maven-builder-support";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "maven-builder-support";
+      groupId = "org.apache.maven";
+      sha512 = "1b2ca4427772532cfb93b4d643b17eca5843f1e1a9c4b26089eed8c10028344fb85d593d133fdffaff07b552c3027a9f24e1a92d68ed4696682be04069e84583";
+      version = "3.5.3";
+    };
+  }
+
+  {
+    name = "org.slf4j/log4j-over-slf4j";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "log4j-over-slf4j";
+      groupId = "org.slf4j";
+      sha512 = "d0a13ae82823b921b308c897ec9a11ef86cb1b52dd81343f856224c65851f70eae0890a88550daa3a4ed57e7e2c150018a3cdc2345924a4e489a88827fc639b6";
+      version = "1.7.14";
+    };
+  }
+
+  {
+    name = "org.clojure/core.cache";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "core.cache";
+      groupId = "org.clojure";
+      sha512 = "464c8503229dfcb5aa3c09cd74fa273ae82aff7a8f8daadb5c59a4224c7d675da4552ee9cb28d44627d5413c6f580e64df4dbfdde20d237599a46bb8f9a4bf6e";
+      version = "0.6.5";
+    };
+  }
+
+  {
+    name = "rewrite-cljs/rewrite-cljs";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "rewrite-cljs";
+      groupId = "rewrite-cljs";
+      sha512 = "d87c07d510247e1b13dcb505436b3a43d8bb9a4bfebbd2ae0430249d2c8a859032affe2b2a4cda8f987e983f584fd999a3f9b87944d44b8837cdf4e2560c5ab9";
+      version = "0.4.4";
+    };
+  }
+
+  {
+    name = "org.ow2.asm/asm-all";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "asm-all";
+      groupId = "org.ow2.asm";
+      sha512 = "462f31f8889c5ff07f1ce7bb1d5e9e73b7ec3c31741dc2b3da8d0b1a50df171e8e72289ff13d725e80ecbd9efa7e873b09870f5e8efb547f51f680d2339f290d";
+      version = "4.2";
+    };
+  }
+
+  {
+    name = "org.clojure/core.async";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "core.async";
+      groupId = "org.clojure";
+      sha512 = "f80d61b51b5278c6c8b2b81ed45fa24ebaa42ade10e495fe34c5e1d827713eab33701a86dcc226a76e334365b0bd69d0c9da1e8b337f8752cd490145d3fc98b8";
+      version = "0.4.500";
+    };
+  }
+
+  {
+    name = "com.fasterxml.jackson.dataformat/jackson-dataformat-smile";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "jackson-dataformat-smile";
+      groupId = "com.fasterxml.jackson.dataformat";
+      sha512 = "bc0b293687b9aa6641a6983d4c09d901294010fd0710c8163b0b283f06d044cfd2d7cebdb2590b170fefdde4751406b704955f59312af27d0e1f12f0d6c81ed8";
+      version = "2.9.6";
+    };
+  }
+
+  {
+    name = "org.apache.maven/maven-artifact";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "maven-artifact";
+      groupId = "org.apache.maven";
+      sha512 = "a4cafc89d66c8f074c5c3f9454e5077abc0de6242c29904d8ee5816348af21b1006da67f3118478bc9eb067725c39be9b88e4a019eb8368c936f971f0499c2ca";
+      version = "3.5.3";
+    };
+  }
+
+  {
+    name = "org.clojure/data.codec";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "data.codec";
+      groupId = "org.clojure";
+      sha512 = "cb6910fc0ee47ce6959a442ba3ef456dd91fe8589a576526d20fd661c8d305962f64a8e8ebde69f0bd00082027dbd0ac52b642fcd4950b4f0e5b7a1205f95138";
+      version = "0.1.1";
+    };
+  }
+
+  ];
+  }
diff --git a/nixpkgs/pkgs/applications/editors/jupyter-kernels/clojupyter/update.sh b/nixpkgs/pkgs/applications/editors/jupyter-kernels/clojupyter/update.sh
new file mode 100755
index 000000000000..ba3ed4665757
--- /dev/null
+++ b/nixpkgs/pkgs/applications/editors/jupyter-kernels/clojupyter/update.sh
@@ -0,0 +1,16 @@
+#!/usr/bin/env bash
+
+### To update clj2nix
+# $ nix-prefetch-github hlolli clj2nix
+
+nix-shell --run "clj2nix deps.edn deps.nix" -E '
+with import ../../../../.. { };
+mkShell {
+  buildInputs = [(callPackage (fetchFromGitHub {
+    owner = "hlolli";
+    repo = "clj2nix";
+    rev = "b9a28d4a920d5d680439b1b0d18a1b2c56d52b04";
+    sha256 = "0d8xlja62igwg757lab9ablz1nji8cp9p9x3j0ihqvp1y48w2as3";
+  }) {})];
+}
+'
diff --git a/nixpkgs/pkgs/applications/editors/kakoune/default.nix b/nixpkgs/pkgs/applications/editors/kakoune/default.nix
index 1f3b2685feeb..2562a821b822 100644
--- a/nixpkgs/pkgs/applications/editors/kakoune/default.nix
+++ b/nixpkgs/pkgs/applications/editors/kakoune/default.nix
@@ -1,25 +1,17 @@
-{ lib, stdenv, fetchFromGitHub, ncurses, asciidoc, docbook_xsl, libxslt, pkg-config }:
+{ lib, stdenv, fetchFromGitHub }:
 
 with lib;
 
 stdenv.mkDerivation rec {
   pname = "kakoune-unwrapped";
-  version = "2020.09.01";
+  version = "2021.08.28";
   src = fetchFromGitHub {
     repo = "kakoune";
     owner = "mawww";
     rev = "v${version}";
-    sha256 = "091qzk0qs7hql0q51hix99srgma35mhdnjfd5ncfba1bmc1h8x5i";
+    sha256 = "13kc68vkrzg89khir6ayyxgbnmz16dhippcnw09hhzxivf5ayzpy";
   };
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ ncurses asciidoc docbook_xsl libxslt ];
-  makeFlags = [ "debug=no" ];
-
-  postPatch = ''
-    export PREFIX=$out
-    cd src
-    sed -ie 's#--no-xmllint#--no-xmllint --xsltproc-opts="--nonet"#g' Makefile
-  '';
+  makeFlags = [ "debug=no" "PREFIX=${placeholder "out"}" ];
 
   preConfigure = ''
     export version="v${version}"
diff --git a/nixpkgs/pkgs/applications/editors/kakoune/plugins/update.py b/nixpkgs/pkgs/applications/editors/kakoune/plugins/update.py
index b6a4bfe4f415..40a28d9afe2c 100755
--- a/nixpkgs/pkgs/applications/editors/kakoune/plugins/update.py
+++ b/nixpkgs/pkgs/applications/editors/kakoune/plugins/update.py
@@ -39,52 +39,57 @@ in lib.filterAttrs (n: v: v != null) checksums)"""
 
 HEADER = "# This file has been generated by ./pkgs/applications/editors/kakoune/plugins/update.py. Do not edit!"
 
+class KakouneEditor(pluginupdate.Editor):
 
-def generate_nix(plugins: List[Tuple[str, str, pluginupdate.Plugin]], outfile: str):
-    sorted_plugins = sorted(plugins, key=lambda v: v[2].name.lower())
 
-    with open(outfile, "w+") as f:
-        f.write(HEADER)
-        f.write(
-            """
-{ lib, buildKakounePluginFrom2Nix, fetchFromGitHub, overrides ? (self: super: {}) }:
-let
-  packages = ( self:
-{"""
-        )
-        for owner, repo, plugin in sorted_plugins:
-            if plugin.has_submodules:
-                submodule_attr = "\n      fetchSubmodules = true;"
-            else:
-                submodule_attr = ""
+    def generate_nix(plugins: List[Tuple[str, str, pluginupdate.Plugin]], outfile: str):
+        sorted_plugins = sorted(plugins, key=lambda v: v[2].name.lower())
 
+        with open(outfile, "w+") as f:
+            f.write(HEADER)
             f.write(
-                f"""
-  {plugin.normalized_name} = buildKakounePluginFrom2Nix {{
-    pname = "{plugin.normalized_name}";
-    version = "{plugin.version}";
-    src = fetchFromGitHub {{
-      owner = "{owner}";
-      repo = "{repo}";
-      rev = "{plugin.commit}";
-      sha256 = "{plugin.sha256}";{submodule_attr}
+                """
+    { lib, buildKakounePluginFrom2Nix, fetchFromGitHub, overrides ? (self: super: {}) }:
+    let
+    packages = ( self:
+    {"""
+            )
+            for owner, repo, plugin in sorted_plugins:
+                if plugin.has_submodules:
+                    submodule_attr = "\n      fetchSubmodules = true;"
+                else:
+                    submodule_attr = ""
+
+                f.write(
+                    f"""
+    {plugin.normalized_name} = buildKakounePluginFrom2Nix {{
+        pname = "{plugin.normalized_name}";
+        version = "{plugin.version}";
+        src = fetchFromGitHub {{
+        owner = "{owner}";
+        repo = "{repo}";
+        rev = "{plugin.commit}";
+        sha256 = "{plugin.sha256}";{submodule_attr}
+        }};
+        meta.homepage = "https://github.com/{owner}/{repo}/";
     }};
-    meta.homepage = "https://github.com/{owner}/{repo}/";
-  }};
-"""
+    """
+                )
+            f.write(
+                """
+    });
+    in lib.fix' (lib.extends overrides packages)
+    """
             )
-        f.write(
-            """
-});
-in lib.fix' (lib.extends overrides packages)
-"""
-        )
-    print(f"updated {outfile}")
+        print(f"updated {outfile}")
 
 
 def main():
-    editor = pluginupdate.Editor("kakoune", ROOT, GET_PLUGINS, generate_nix)
-    pluginupdate.update_plugins(editor)
+    editor = KakouneEditor("kakoune", ROOT, GET_PLUGINS)
+    parser = editor.create_parser()
+    args = parser.parse_args()
+
+    pluginupdate.update_plugins(editor, args)
 
 
 if __name__ == "__main__":
diff --git a/nixpkgs/pkgs/applications/editors/kdevelop5/kdev-php.nix b/nixpkgs/pkgs/applications/editors/kdevelop5/kdev-php.nix
index 44b4fd7bc19f..d85d065431fa 100644
--- a/nixpkgs/pkgs/applications/editors/kdevelop5/kdev-php.nix
+++ b/nixpkgs/pkgs/applications/editors/kdevelop5/kdev-php.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "kdev-php";
-  version = "5.6.1";
+  version = "5.6.2";
 
   src = fetchurl {
     url = "https://github.com/KDE/${pname}/archive/v${version}.tar.gz";
-    sha256 = "0xjijkmp3drnfrx4gb4bwf8n1dgwk310c0mssm6drffwix7ljpbz";
+    sha256 = "sha256-P7u/KIf/1YkJ2uWsuVThILP87vaYSbHpx5CtnSR3YbU=";
   };
 
   nativeBuildInputs = [ cmake extra-cmake-modules ];
diff --git a/nixpkgs/pkgs/applications/editors/kdevelop5/kdev-python.nix b/nixpkgs/pkgs/applications/editors/kdevelop5/kdev-python.nix
index 0567ee39d7dd..cdc1a300b798 100644
--- a/nixpkgs/pkgs/applications/editors/kdevelop5/kdev-python.nix
+++ b/nixpkgs/pkgs/applications/editors/kdevelop5/kdev-python.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "kdev-python";
-  version = "5.6.1";
+  version = "5.6.2";
 
   src = fetchurl {
     url = "https://github.com/KDE/${pname}/archive/v${version}.tar.gz";
-    sha256 = "1jma7j70imzxlyz8580m79jycif7zphga3zzfmqimn8syzz917hv";
+    sha256 = "sha256-Iw3puQ3ZS0eNfBvaZ4cxsP49IRqIMX3R+r3OPG771RI=";
   };
 
   cmakeFlags = [
diff --git a/nixpkgs/pkgs/applications/editors/kdevelop5/kdevelop.nix b/nixpkgs/pkgs/applications/editors/kdevelop5/kdevelop.nix
index 8894707643ad..37ede94fa193 100644
--- a/nixpkgs/pkgs/applications/editors/kdevelop5/kdevelop.nix
+++ b/nixpkgs/pkgs/applications/editors/kdevelop5/kdevelop.nix
@@ -10,11 +10,11 @@
 
 mkDerivation rec {
   pname = "kdevelop";
-  version = "5.6.1";
+  version = "5.6.2";
 
   src = fetchurl {
     url = "mirror://kde/stable/${pname}/${version}/src/${pname}-${version}.tar.xz";
-    sha256 = "02ip5r67hjfpywkm3mz86n6wbqcr7996ifzfd2fyzsvm4998hi4y";
+    sha256 = "sha256-D4a8P+U/dhwePj91RFd6DEFDO+i/8xDPLnKfdvQ2O/Y=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/editors/micro/default.nix b/nixpkgs/pkgs/applications/editors/micro/default.nix
index c7cb8be2fa61..c3c42ac24cba 100644
--- a/nixpkgs/pkgs/applications/editors/micro/default.nix
+++ b/nixpkgs/pkgs/applications/editors/micro/default.nix
@@ -2,22 +2,22 @@
 
 buildGoModule rec {
   pname = "micro";
-  version = "2.0.9";
+  version = "2.0.10";
 
   src = fetchFromGitHub {
     owner = "zyedidia";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-8QtucdamxVwHuuhQhVQuvTNbqY5p97LKSB23617p4ow=";
+    sha256 = "sha256-hVFmViwGXuYVAKaCkzK/LHjCi8AtLu0tsPpT61glxys=";
   };
 
   nativeBuildInputs = [ installShellFiles ];
 
   subPackages = [ "cmd/micro" ];
 
-  vendorSha256 = "sha256-bkD125ePdKcVgmNilOMZgUK6A8KWxaBOGKs8AvvIboI=";
+  vendorSha256 = "sha256-YcAKl4keizkbgQLAZGiCG3CGpNTNad8EvOJEXLX2s0s=";
 
-  buildFlagsArray = [ "-ldflags=-s -w -X github.com/zyedidia/micro/v2/internal/util.Version=${version} -X github.com/zyedidia/micro/v2/internal/util.CommitHash=${src.rev}" ];
+  ldflags = [ "-s" "-w" "-X github.com/zyedidia/micro/v2/internal/util.Version=${version}" "-X github.com/zyedidia/micro/v2/internal/util.CommitHash=${src.rev}" ];
 
   postInstall = ''
     installManPage assets/packaging/micro.1
diff --git a/nixpkgs/pkgs/applications/editors/music/tuxguitar/default.nix b/nixpkgs/pkgs/applications/editors/music/tuxguitar/default.nix
index a48b5eae3de3..b76e4fa0a7b5 100644
--- a/nixpkgs/pkgs/applications/editors/music/tuxguitar/default.nix
+++ b/nixpkgs/pkgs/applications/editors/music/tuxguitar/default.nix
@@ -1,16 +1,16 @@
-{ lib, stdenv, fetchurl, swt, jdk, makeWrapper, alsa-lib, jack2, fluidsynth, libpulseaudio }:
+{ lib, stdenv, fetchurl, swt, jre, makeWrapper, alsa-lib, jack2, fluidsynth, libpulseaudio }:
 
 let metadata = assert stdenv.hostPlatform.system == "i686-linux" || stdenv.hostPlatform.system == "x86_64-linux";
   if stdenv.hostPlatform.system == "i686-linux" then
-    { arch = "x86"; sha256 = "27675c358db237df74d20e8676000c25a87b9de0bb0a6d1c325e8d6db807d296"; }
+    { arch = "x86"; sha256 = "afa4b1116aee18e3ddd93132467809d0bcf03715cf9ad55b895f021a13e1cb8a"; }
   else
-    { arch = "x86_64"; sha256 = "298555a249adb3ad72f3aef72a124e30bfa01cd069c7b5d152a738140e7903a2"; };
+    { arch = "x86_64"; sha256 = "55ab653c601727a2077080e7ea4d76fe7a897379934ed9a5b544e20d490f53f9"; };
 in stdenv.mkDerivation rec {
-  version = "1.5.2";
+  version = "1.5.4";
   pname = "tuxguitar";
 
   src = fetchurl {
-    url = "mirror://sourceforge/tuxguitar/${pname}-${version}-linux-${metadata.arch}.tar.gz";
+    url = "mirror://sourceforge/${pname}/${pname}-${version}-linux-${metadata.arch}.tar.gz";
     sha256 = metadata.sha256;
   };
 
@@ -26,7 +26,7 @@ in stdenv.mkDerivation rec {
     ln -s $out/share $out/bin/share
 
     wrapProgram $out/bin/tuxguitar \
-      --set JAVA "${jdk}/bin/java" \
+      --set JAVA "${jre}/bin/java" \
       --prefix LD_LIBRARY_PATH : "$out/lib/:${lib.makeLibraryPath [ swt alsa-lib jack2 fluidsynth libpulseaudio ]}" \
       --prefix CLASSPATH : "${swt}/jars/swt.jar:$out/lib/tuxguitar.jar:$out/lib/itext.jar"
   '';
diff --git a/nixpkgs/pkgs/applications/editors/ne/default.nix b/nixpkgs/pkgs/applications/editors/ne/default.nix
index fde6542f1605..172b30dbb0ff 100644
--- a/nixpkgs/pkgs/applications/editors/ne/default.nix
+++ b/nixpkgs/pkgs/applications/editors/ne/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "The nice editor";
-    homepage = "http://ne.di.unimi.it/";
+    homepage = "https://ne.di.unimi.it/";
     longDescription = ''
       ne is a free (GPL'd) text editor based on the POSIX standard that runs
       (we hope) on almost any UN*X machine.  ne is easy to use for the beginner,
diff --git a/nixpkgs/pkgs/applications/editors/neovim/default.nix b/nixpkgs/pkgs/applications/editors/neovim/default.nix
index f36009afc69a..9e5901cb9416 100644
--- a/nixpkgs/pkgs/applications/editors/neovim/default.nix
+++ b/nixpkgs/pkgs/applications/editors/neovim/default.nix
@@ -50,6 +50,8 @@ in
 
     dontFixCmake = true;
 
+    inherit lua;
+
     buildInputs = [
       gperf
       libtermkey
diff --git a/nixpkgs/pkgs/applications/editors/neovim/neovide/default.nix b/nixpkgs/pkgs/applications/editors/neovim/neovide/default.nix
index 55f75777bee5..75d20a12a0d9 100644
--- a/nixpkgs/pkgs/applications/editors/neovim/neovide/default.nix
+++ b/nixpkgs/pkgs/applications/editors/neovim/neovide/default.nix
@@ -3,13 +3,14 @@
 , lib
 , fetchFromGitHub
 , fetchgit
+, fetchurl
 , makeWrapper
 , pkg-config
 , python2
-, expat
 , openssl
 , SDL2
 , fontconfig
+, freetype
 , ninja
 , gn
 , llvmPackages
@@ -21,16 +22,16 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "neovide";
-  version = "unstable-2021-06-21";
+  version = "unstable-2021-08-08";
 
   src = fetchFromGitHub {
     owner = "Kethku";
     repo = "neovide";
-    rev = "4159c47ff4f30073b92b9d63fc6ab70e07b74b6d";
-    sha256 = "sha256-XwirJGXMGxc/NkpSeHBUc16ppvJ+H4ECnrOVu030Qfg=";
+    rev = "725f12cafd4a26babd0d6bbcbca9a99c181991ac";
+    sha256 = "sha256-ThMobWKe3wHhR15TmmKrI6Gp1wvGVfJ52MzibK0ubkc=";
   };
 
-  cargoSha256 = "sha256-WCk9kt81DtBwpEEdKH9gKQSVxAvH+vkyP2y24tU+vzY=";
+  cargoSha256 = "sha256-5lOGncnyA8DwetY5bU6k2KXNClFgp+xIBEeA0/iwGF0=";
 
   SKIA_SOURCE_DIR =
     let
@@ -38,8 +39,8 @@ rustPlatform.buildRustPackage rec {
         owner = "rust-skia";
         repo = "skia";
         # see rust-skia:skia-bindings/Cargo.toml#package.metadata skia
-        rev = "m90-0.38.3";
-        sha256 = "sha256-l8c4vfO1PELAT8bDyr/yQGZetZsaufAlJ6bBOXz7E1w=";
+        rev = "m91-0.39.4";
+        sha256 = "sha256-ovlR1vEZaQqawwth/UYVUSjFu+kTsywRpRClBaE1CEA=";
       };
       # The externals for skia are taken from skia/DEPS
       externals = lib.mapAttrs (n: v: fetchgit v) (lib.importJSON ./skia-externals.json);
@@ -79,10 +80,20 @@ rustPlatform.buildRustPackage rec {
   doCheck = false;
 
   buildInputs = [
-    expat
     openssl
     SDL2
-    fontconfig
+    (fontconfig.overrideAttrs (old: {
+      propagatedBuildInputs = [
+        # skia is not compatible with freetype 2.11.0
+        (freetype.overrideAttrs (old: rec {
+          version = "2.10.4";
+          src = fetchurl {
+            url = "mirror://savannah/${old.pname}/${old.pname}-${version}.tar.xz";
+            sha256 = "112pyy215chg7f7fmp2l9374chhhpihbh8wgpj5nj6avj3c59a46";
+          };
+        }))
+      ];
+    }))
   ];
 
   postFixup = ''
@@ -105,5 +116,6 @@ rustPlatform.buildRustPackage rec {
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ ck3d ];
     platforms = platforms.linux;
+    mainProgram = "neovide";
   };
 }
diff --git a/nixpkgs/pkgs/applications/editors/neovim/neovim-qt.nix b/nixpkgs/pkgs/applications/editors/neovim/neovim-qt.nix
index 0a4d17d997b5..4d53143ac85c 100644
--- a/nixpkgs/pkgs/applications/editors/neovim/neovim-qt.nix
+++ b/nixpkgs/pkgs/applications/editors/neovim/neovim-qt.nix
@@ -1,5 +1,5 @@
 { lib, mkDerivation, fetchFromGitHub, cmake, doxygen, makeWrapper
-, msgpack, neovim, python3Packages, qtbase }:
+, msgpack, neovim, python3Packages, qtbase, qtsvg }:
 
 mkDerivation rec {
   pname = "neovim-qt-unwrapped";
@@ -20,6 +20,7 @@ mkDerivation rec {
   buildInputs = [
     neovim.unwrapped # only used to generate help tags at build time
     qtbase
+    qtsvg
   ] ++ (with python3Packages; [
     jinja2 python msgpack
   ]);
diff --git a/nixpkgs/pkgs/applications/editors/neovim/tests.nix b/nixpkgs/pkgs/applications/editors/neovim/tests.nix
index f9d0d659b73c..5f4cda714a67 100644
--- a/nixpkgs/pkgs/applications/editors/neovim/tests.nix
+++ b/nixpkgs/pkgs/applications/editors/neovim/tests.nix
@@ -132,4 +132,15 @@ rec {
     extraName = "-pathogen";
     configure.pathogen.pluginNames = [ "vim-nix" ];
   };
+
+  nvimWithLuaPackages = wrapNeovim2 "with-lua-packages" (makeNeovimConfig {
+    extraLuaPackages = ps: [ps.mpack];
+    customRC = ''
+      lua require("mpack")
+    '';
+  });
+
+  nvim_with_lua_packages = runTest nvimWithLuaPackages ''
+    ${nvimWithLuaPackages}/bin/nvim -i NONE --noplugin -es
+  '';
 })
diff --git a/nixpkgs/pkgs/applications/editors/neovim/utils.nix b/nixpkgs/pkgs/applications/editors/neovim/utils.nix
index c753d2cca2c1..837c9a79ffe8 100644
--- a/nixpkgs/pkgs/applications/editors/neovim/utils.nix
+++ b/nixpkgs/pkgs/applications/editors/neovim/utils.nix
@@ -28,6 +28,8 @@ let
     , extraPython3Packages ? (_: [ ])
     , withNodeJs ? false
     , withRuby ? true
+    /* the function you would have passed to lua.withPackages */
+    , extraLuaPackages ? (_: [ ])
 
     # expects a list of plugin configuration
     # expects { plugin=far-vim; config = "let g:far#source='rg'"; optional = false; }
@@ -76,6 +78,8 @@ let
         ++ (extraPython3Packages ps)
         ++ (lib.concatMap (f: f ps) pluginPython3Packages));
 
+      lua = neovim-unwrapped.lua;
+      luaEnv = lua.withPackages(ps: extraLuaPackages ps);
 
       # Mapping a boolean argument to a key that tells us whether to add or not to
       # add to nvim's 'embedded rc' this:
@@ -110,6 +114,9 @@ let
           "--set" "GEM_HOME" "${rubyEnv}/${rubyEnv.ruby.gemPath}"
         ] ++ lib.optionals (binPath != "") [
           "--suffix" "PATH" ":" binPath
+        ] ++ lib.optionals (luaEnv != null) [
+          "--prefix" "LUA_PATH" ";" "${luaEnv}/share/lua/${lua.luaversion}/?.lua"
+          "--prefix" "LUA_CPATH" ";" "${luaEnv}/lib/lua/${lua.luaversion}/?.so"
         ];
 
 
@@ -123,6 +130,7 @@ let
       inherit neovimRcContent;
       inherit manifestRc;
       inherit python3Env;
+      inherit luaEnv;
       inherit withNodeJs;
     } // lib.optionalAttrs withRuby {
       inherit rubyEnv;
@@ -143,6 +151,8 @@ let
     , extraPythonPackages ? (_: [])
     /* the function you would have passed to python.withPackages */
     , withPython3 ? true,  extraPython3Packages ? (_: [])
+    /* the function you would have passed to lua.withPackages */
+    , extraLuaPackages ? (_: [])
     , withNodeJs ? false
     , withRuby ? true
     , vimAlias ? false
@@ -159,6 +169,7 @@ let
       res = makeNeovimConfig {
         inherit withPython3;
         extraPython3Packages = compatFun extraPython3Packages;
+        inherit extraLuaPackages;
         inherit withNodeJs withRuby viAlias vimAlias;
         inherit configure;
         inherit extraName;
diff --git a/nixpkgs/pkgs/applications/editors/quilter/default.nix b/nixpkgs/pkgs/applications/editors/quilter/default.nix
deleted file mode 100644
index 2d04ad1629c0..000000000000
--- a/nixpkgs/pkgs/applications/editors/quilter/default.nix
+++ /dev/null
@@ -1,55 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, nix-update-script, pkg-config, meson, ninja, python3, vala
-, gtk3, desktop-file-utils, gtksourceview, webkitgtk, gtkspell3, pantheon
-, libgee, discount, wrapGAppsHook }:
-
-stdenv.mkDerivation rec {
-  pname = "quilter";
-  version = "2.5.4";
-
-  src = fetchFromGitHub {
-    owner = "lainsce";
-    repo = pname;
-    rev = version;
-    sha256 = "sha256-A8Ov0rITHuMLDYTueeDO89KtxlP0pNk1pA7O4x3Q9fE=";
-  };
-
-  nativeBuildInputs = [
-    desktop-file-utils
-    meson
-    ninja
-    vala
-    pkg-config
-    python3
-    wrapGAppsHook
-  ];
-
-  buildInputs = [
-    discount
-    gtk3
-    gtksourceview
-    gtkspell3
-    libgee
-    pantheon.elementary-icon-theme
-    pantheon.granite
-    webkitgtk
-  ];
-
-  postPatch = ''
-    chmod +x meson/post_install.py
-    patchShebangs meson/post_install.py
-  '';
-
-  passthru = {
-    updateScript = nix-update-script {
-      attrPath = pname;
-    };
-  };
-
-  meta = with lib; {
-    description = "Focus on your writing - designed for elementary OS";
-    homepage = "https://github.com/lainsce/quilter";
-    license = licenses.gpl2Plus;
-    maintainers = pantheon.maintainers;
-    platforms = platforms.linux;
-  };
-}
diff --git a/nixpkgs/pkgs/applications/editors/rednotebook/default.nix b/nixpkgs/pkgs/applications/editors/rednotebook/default.nix
index 698eca91a8ba..4e4835783e46 100644
--- a/nixpkgs/pkgs/applications/editors/rednotebook/default.nix
+++ b/nixpkgs/pkgs/applications/editors/rednotebook/default.nix
@@ -5,13 +5,13 @@
 
 buildPythonApplication rec {
   pname = "rednotebook";
-  version = "2.21";
+  version = "2.22";
 
   src = fetchFromGitHub {
     owner = "jendrikseipp";
     repo = "rednotebook";
     rev = "v${version}";
-    sha256 = "07zm4q9h583sg82ayhn9d0ra3wbsfaqrl5sfw6a1kwhyxxkwp8ad";
+    sha256 = "11n970ad0j57vlll5j30ngkrfyil23v1b29ickbnblcldvjbgwa5";
   };
 
   # We have not packaged tests.
diff --git a/nixpkgs/pkgs/applications/editors/rehex/default.nix b/nixpkgs/pkgs/applications/editors/rehex/default.nix
index df5fed210e68..6a52c7efc27f 100644
--- a/nixpkgs/pkgs/applications/editors/rehex/default.nix
+++ b/nixpkgs/pkgs/applications/editors/rehex/default.nix
@@ -1,36 +1,43 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchFromGitHub
+, pkg-config
 , capstone
 , jansson
-, wxGTK30
-, darwin
+, lua5_3
+, wxGTK31
+, Carbon
+, Cocoa
+, IOKit
 , libicns
 , wxmac
 }:
 
 stdenv.mkDerivation rec {
   pname = "rehex";
-  version = "0.3.1";
+  version = "0.3.92";
 
   src = fetchFromGitHub {
     owner = "solemnwarning";
     repo = pname;
     rev = version;
-    sha256 = "1yj9a63j7534mmz8cl1ifg2wmgkxmk6z75jd8lkmc2sfrjbick32";
+    sha256 = "sha256-yZvJlomUpJwDJOBVSl49lU+JE1YMMs/BSzHepXoFlIY=";
   };
 
-  patchPhase = ''
+  postPatch = ''
     substituteInPlace Makefile.osx --replace 'iconutil -c icns -o $@ $(ICONSET)' \
       'png2icns $@ $(ICONSET)/icon_16x16.png $(ICONSET)/icon_32x32.png $(ICONSET)/icon_128x128.png $(ICONSET)/icon_256x256.png $(ICONSET)/icon_512x512.png'
   '';
 
-  nativeBuildInputs = lib.optionals (stdenv.isDarwin) [ libicns ];
+  nativeBuildInputs = [ pkg-config ]
+    ++ lib.optionals stdenv.isDarwin [ libicns ];
 
-  buildInputs = [ capstone jansson ]
-    ++ (lib.optionals (!stdenv.isDarwin) [ wxGTK30 ])
-    ++ (lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ Carbon Cocoa IOKit wxmac ]));
+  buildInputs = [ capstone jansson lua5_3 ]
+    ++ lib.optionals (!stdenv.isDarwin) [ wxGTK31 ]
+    ++ lib.optionals stdenv.isDarwin [ Carbon Cocoa IOKit wxmac ];
 
-  makeFlags = [ "prefix=$(out)" ] ++ (lib.optionals stdenv.isDarwin [ "-f Makefile.osx" ]);
+  makeFlags = [ "prefix=$(out)" ]
+    ++ lib.optionals stdenv.isDarwin [ "-f Makefile.osx" ];
 
   meta = with lib; {
     description = "Reverse Engineers' Hex Editor";
diff --git a/nixpkgs/pkgs/applications/editors/standardnotes/default.nix b/nixpkgs/pkgs/applications/editors/standardnotes/default.nix
index 0d50c24d3976..d3ff564b8f0d 100644
--- a/nixpkgs/pkgs/applications/editors/standardnotes/default.nix
+++ b/nixpkgs/pkgs/applications/editors/standardnotes/default.nix
@@ -2,18 +2,18 @@
 , fetchurl, libsecret, gtk3, gsettings-desktop-schemas }:
 
 let
-  version = "3.5.18";
+  version = "3.8.18";
   pname = "standardnotes";
   name = "${pname}-${version}";
 
   plat = {
-    i386-linux = "-i386";
+    i386-linux = "i386";
     x86_64-linux = "x86_64";
   }.${stdenv.hostPlatform.system};
 
   sha256 = {
-    i386-linux = "009fnnd7ysxkyykkbmhvr0vn13b21j1j5mzwdvqdkhm9v3c9rbgj";
-    x86_64-linux = "1zrnvvr9x0s2gp948iajsmgn38xm6x0g2dgxrfjis39rpplsrdww";
+    i386-linux = "1xiypsmvpk8i6kab862pipbdfb0y5d5355hdwjmva7v7g26aa7h7";
+    x86_64-linux = "03qlxlgyypnvcr40jh6i4wriyax2jbfhrb798cq0n7qlc1y4pg8r";
   }.${stdenv.hostPlatform.system};
 
   src = fetchurl {
diff --git a/nixpkgs/pkgs/applications/editors/texmaker/default.nix b/nixpkgs/pkgs/applications/editors/texmaker/default.nix
index 75f22da25163..265783fe878f 100644
--- a/nixpkgs/pkgs/applications/editors/texmaker/default.nix
+++ b/nixpkgs/pkgs/applications/editors/texmaker/default.nix
@@ -1,15 +1,15 @@
-{ lib, mkDerivation, fetchurl, qtbase, qtscript, qmake, zlib, pkg-config, poppler }:
+{ lib, mkDerivation, fetchurl, qtbase, qtscript, qtwebengine, qmake, zlib, pkg-config, poppler }:
 
 mkDerivation rec {
   pname = "texmaker";
-  version = "5.0.4";
+  version = "5.1.1";
 
   src = fetchurl {
     url = "http://www.xm1math.net/texmaker/${pname}-${version}.tar.bz2";
-    sha256 = "1qnh5g8zkjpjmw2l8spcynpfgs3wpcfcla5ms2kkgvkbdlzspqqx";
+    sha256 = "sha256-gANJknSWIMN+B0uAOtPil8EbjyWt4E+xOxOseR87Dd4=";
   };
 
-  buildInputs = [ qtbase qtscript poppler zlib ];
+  buildInputs = [ qtbase qtscript poppler zlib qtwebengine ];
   nativeBuildInputs = [ pkg-config poppler qmake ];
   NIX_CFLAGS_COMPILE="-I${poppler.dev}/include/poppler";
 
@@ -19,8 +19,6 @@ mkDerivation rec {
     "METAINFODIR=${placeholder "out"}/share/metainfo"
   ];
 
-  enableParallelBuilding = true;
-
   meta = with lib; {
     description = "TeX and LaTeX editor";
     longDescription=''
diff --git a/nixpkgs/pkgs/applications/editors/thonny/default.nix b/nixpkgs/pkgs/applications/editors/thonny/default.nix
index fa71a612fa8c..fb5cb4b8e4c1 100644
--- a/nixpkgs/pkgs/applications/editors/thonny/default.nix
+++ b/nixpkgs/pkgs/applications/editors/thonny/default.nix
@@ -4,13 +4,13 @@ with python3.pkgs;
 
 buildPythonApplication rec {
   pname = "thonny";
-  version = "3.3.6";
+  version = "3.3.14";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "0ga0pqvq3nglr4jgh8ajv0bv8c7q09h1jh6q6r5cwqa49fawkr02";
+    sha256 = "13l8blq7y6p7a235x2lfiqml1bd4ba2brm3vfvs8wasjh3fvm9g5";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/nixpkgs/pkgs/applications/editors/tiled/default.nix b/nixpkgs/pkgs/applications/editors/tiled/default.nix
index fe32da4a42fa..4a53d585feae 100644
--- a/nixpkgs/pkgs/applications/editors/tiled/default.nix
+++ b/nixpkgs/pkgs/applications/editors/tiled/default.nix
@@ -3,20 +3,18 @@
 
 mkDerivation rec {
   pname = "tiled";
-  version = "1.7.0";
+  version = "1.7.2";
 
   src = fetchFromGitHub {
     owner = "bjorn";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-XVIkyf9cQZXjFuGGCliCSY22X8EkoPEl1EpGCrMTsgY=";
+    sha256 = "sha256-yQWe27zLWOnRQk+MEpuWs8CFP/le3PQ+yziB0ikNang=";
   };
 
   nativeBuildInputs = [ pkg-config qmake ];
   buildInputs = [ python qtbase qttools ];
 
-  enableParallelBuilding = true;
-
   meta = with lib; {
     description = "Free, easy to use and flexible tile map editor";
     homepage = "https://www.mapeditor.org/";
diff --git a/nixpkgs/pkgs/applications/editors/uivonim/yarn.nix b/nixpkgs/pkgs/applications/editors/uivonim/yarn.nix
index aa2b10eac22a..c56dad1e41b9 100644
--- a/nixpkgs/pkgs/applications/editors/uivonim/yarn.nix
+++ b/nixpkgs/pkgs/applications/editors/uivonim/yarn.nix
@@ -1,4 +1,4 @@
-{ fetchurl, fetchgit, linkFarm, runCommandNoCC, gnutar }: rec {
+{ fetchurl, fetchgit, linkFarm, runCommand, gnutar }: rec {
   offline_cache = linkFarm "offline" packages;
   packages = [
     {
diff --git a/nixpkgs/pkgs/applications/editors/vim/vimacs.nix b/nixpkgs/pkgs/applications/editors/vim/vimacs.nix
index 628b4c46cba5..d98e3b37514f 100644
--- a/nixpkgs/pkgs/applications/editors/vim/vimacs.nix
+++ b/nixpkgs/pkgs/applications/editors/vim/vimacs.nix
@@ -4,7 +4,7 @@
 
 stdenv.mkDerivation rec {
   pname = "vimacs";
-  version = vimPackage.version;
+  version = lib.getVersion vimPackage;
   vimPackage = if useMacvim then macvim else vim_configurable;
 
   buildInputs = [ vimPackage vimPlugins.vimacs ];
diff --git a/nixpkgs/pkgs/applications/editors/vscode/generic.nix b/nixpkgs/pkgs/applications/editors/vscode/generic.nix
index a7f9fb328ffe..4363f83ba037 100644
--- a/nixpkgs/pkgs/applications/editors/vscode/generic.nix
+++ b/nixpkgs/pkgs/applications/editors/vscode/generic.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, makeDesktopItem
 , unzip, libsecret, libXScrnSaver, libxshmfence, wrapGAppsHook
 , gtk2, atomEnv, at-spi2-atk, autoPatchelfHook
-, systemd, fontconfig, libdbusmenu, buildFHSUserEnvBubblewrap
+, systemd, fontconfig, libdbusmenu, glib, buildFHSUserEnvBubblewrap
 , writeShellScriptBin
 
 # Populate passthru.tests
@@ -22,7 +22,7 @@ let
     inherit pname version src sourceRoot;
 
     passthru = {
-      inherit executableName tests updateScript;
+      inherit executableName longName tests updateScript;
       fhs = fhs {};
       fhsWithPackages = f: fhs { additionalPkgs = f; };
     };
@@ -101,6 +101,13 @@ let
       runHook postInstall
     '';
 
+    preFixup = ''
+      gappsWrapperArgs+=(
+        # Add gio to PATH so that moving files to the trash works when not using a desktop environment
+        --prefix PATH : ${glib.bin}/bin
+      )
+    '';
+
     inherit meta;
   };
 
diff --git a/nixpkgs/pkgs/applications/editors/vscode/vscode.nix b/nixpkgs/pkgs/applications/editors/vscode/vscode.nix
index 23af04462ba4..e6a5a9d5dca7 100644
--- a/nixpkgs/pkgs/applications/editors/vscode/vscode.nix
+++ b/nixpkgs/pkgs/applications/editors/vscode/vscode.nix
@@ -14,20 +14,19 @@ let
   archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz";
 
   sha256 = {
-    x86_64-linux = "049spg4c1arkw97mg0h046kiirmcrjj97sy4ldiblwldjn510acw";
-    x86_64-darwin = "0g6b1891ag4a6p7rlkfka5v4nbmpr4ckkmibhw8l3wa9zdzs77x6";
-    aarch64-linux = "1qvk6cn5v9bz4vl5ifpdgrba94v6a54xx8s3fxdkj3lqvq27kpd1";
-    aarch64-darwin = "1whgjkxy70ifx1vaddxr8f1xcg651fhca4x7rzidzbyyf3baghy0";
-    armv7l-linux = "1k45s81s4ispc0vz7i17a7gss05d82vpymxgangg6f1yxwz944r4";
+    x86_64-linux = "0g49765pnimh107pw3q7dlgd6jcmr5gagsvxrdx8i93mbxb0xm0c";
+    x86_64-darwin = "1837fcpllblm970jxsal0ahxsnjmsgydy6g6qn51hp7f797gi7zb";
+    aarch64-linux = "1bpmgv6hjyb7jl9v8qyqiyr0brl4xq3wnls2v9hirja6ls1x14cx";
+    aarch64-darwin = "0qksfscbiyr2ynw3j86g8wm7myyabkjwx03ik3z6rrv7dffb5yii";
+    armv7l-linux = "063p2wy1wl57p43f3md0wp2d981nnb650hyqs9rgqm4mlk2s168g";
   }.${system};
 in
   callPackage ./generic.nix rec {
     # Please backport all compatible updates to the stable release.
     # This is important for the extension ecosystem.
-    version = "1.58.2";
+    version = "1.60.0";
     pname = "vscode";
 
-    sourceExecutableName = "code";
     executableName = "code" + lib.optionalString isInsiders "-insiders";
     longName = "Visual Studio Code" + lib.optionalString isInsiders " - Insiders";
     shortName = "Code" + lib.optionalString isInsiders " - Insiders";
@@ -40,7 +39,7 @@ in
 
     sourceRoot = "";
 
-    updateScript = ./update-vscodium.sh;
+    updateScript = ./update-vscode.sh;
 
     meta = with lib; {
       description = ''
diff --git a/nixpkgs/pkgs/applications/editors/vscode/vscodium.nix b/nixpkgs/pkgs/applications/editors/vscode/vscodium.nix
index 000c12bc72c7..a4d40a0b4f64 100644
--- a/nixpkgs/pkgs/applications/editors/vscode/vscodium.nix
+++ b/nixpkgs/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 = "11h4c5ghgn3qrg66jh2par3cl3fqzn9xb7gdniww4badnyajnij8";
-    x86_64-darwin = "0hd3qdxg4cknk3fxv509jlblwmfx65bm2a4arsg255224dpg64n2";
-    aarch64-linux = "0waakj413kqf68sawajd3n24qdbx6b2svyb4lgbn0sy1apc96s3c";
-    armv7l-linux = "1ij2bmsk601f1vjljj6gvxsxrcjqf2m74s9kc006hmcz7czjgk8f";
+    x86_64-linux = "1z8sxdzwbjip8csrili5l36v1kl3iq8fw19dhfnkjs3fl0sn360k";
+    x86_64-darwin = "0sp5k4pk9yjx16c79hqrwn64f2ab82iizm1cy93y9rr2r3px1yga";
+    aarch64-linux = "03qm5008knigsahs6zz5c614g1kid3k0ndg8vb0flfwmdrajrdw3";
+    armv7l-linux = "0sls3m5zwz6w01k7jym0vwbz006bkwv23yba7gf1gg84vbqgpb1x";
   }.${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.58.2";
+    version = "1.59.1";
     pname = "vscodium";
 
     executableName = "codium";
diff --git a/nixpkgs/pkgs/applications/editors/vscode/with-extensions.nix b/nixpkgs/pkgs/applications/editors/vscode/with-extensions.nix
index d2c91f155d53..1c9c4be45631 100644
--- a/nixpkgs/pkgs/applications/editors/vscode/with-extensions.nix
+++ b/nixpkgs/pkgs/applications/editors/vscode/with-extensions.nix
@@ -1,4 +1,4 @@
-{ lib, runCommand, buildEnv, vscode, makeWrapper
+{ lib, stdenv, runCommand, buildEnv, vscode, makeWrapper
 , vscodeExtensions ? [] }:
 
 /*
@@ -11,7 +11,7 @@
 
         # When the extension is already available in the default extensions set.
         vscodeExtensions = with vscode-extensions; [
-          bbenoist.Nix
+          bbenoist.nix
         ]
 
         # Concise version from the vscode market place when not available in the default set.
@@ -42,8 +42,7 @@
 */
 
 let
-
-  inherit (vscode) executableName;
+  inherit (vscode) executableName longName;
   wrappedPkgVersion = lib.getVersion vscode;
   wrappedPkgName = lib.removeSuffix "-${wrappedPkgVersion}" vscode.name;
 
@@ -52,6 +51,9 @@ let
     paths = vscodeExtensions;
   };
 
+  extensionsFlag = lib.optionalString (vscodeExtensions != []) ''
+    --add-flags "--extensions-dir ${combinedExtensionsDrv}/share/vscode/extensions"
+  '';
 in
 
 # When no extensions are requested, we simply redirect to the original
@@ -62,7 +64,17 @@ runCommand "${wrappedPkgName}-with-extensions-${wrappedPkgVersion}" {
   dontPatchELF = true;
   dontStrip = true;
   meta = vscode.meta;
-} ''
+} (if stdenv.isDarwin then ''
+  mkdir -p $out/bin/
+  mkdir -p "$out/Applications/${longName}.app/Contents/MacOS"
+
+  for path in PkgInfo Frameworks Resources _CodeSignature Info.plist; do
+    ln -s "${vscode}/Applications/${longName}.app/Contents/$path" "$out/Applications/${longName}.app/Contents/"
+  done
+
+  makeWrapper "${vscode}/bin/${executableName}" "$out/bin/${executableName}" ${extensionsFlag}
+  makeWrapper "${vscode}/Applications/${longName}.app/Contents/MacOS/Electron" "$out/Applications/${longName}.app/Contents/MacOS/Electron" ${extensionsFlag}
+'' else ''
   mkdir -p "$out/bin"
   mkdir -p "$out/share/applications"
   mkdir -p "$out/share/pixmaps"
@@ -70,7 +82,5 @@ runCommand "${wrappedPkgName}-with-extensions-${wrappedPkgVersion}" {
   ln -sT "${vscode}/share/pixmaps/code.png" "$out/share/pixmaps/code.png"
   ln -sT "${vscode}/share/applications/${executableName}.desktop" "$out/share/applications/${executableName}.desktop"
   ln -sT "${vscode}/share/applications/${executableName}-url-handler.desktop" "$out/share/applications/${executableName}-url-handler.desktop"
-  makeWrapper "${vscode}/bin/${executableName}" "$out/bin/${executableName}" ${lib.optionalString (vscodeExtensions != []) ''
-    --add-flags "--extensions-dir ${combinedExtensionsDrv}/share/vscode/extensions"
-  ''}
-''
+  makeWrapper "${vscode}/bin/${executableName}" "$out/bin/${executableName}" ${extensionsFlag}
+'')
diff --git a/nixpkgs/pkgs/applications/gis/qgis/unwrapped.nix b/nixpkgs/pkgs/applications/gis/qgis/unwrapped.nix
index 3ed11aa8b706..bdd8ace1e3d5 100644
--- a/nixpkgs/pkgs/applications/gis/qgis/unwrapped.nix
+++ b/nixpkgs/pkgs/applications/gis/qgis/unwrapped.nix
@@ -24,7 +24,7 @@ let
     six
   ];
 in mkDerivation rec {
-  version = "3.16.7";
+  version = "3.16.10";
   pname = "qgis";
   name = "${pname}-unwrapped-${version}";
 
@@ -32,7 +32,7 @@ in mkDerivation rec {
     owner = "qgis";
     repo = "QGIS";
     rev = "final-${lib.replaceStrings [ "." ] [ "_" ] version}";
-    sha256 = "0yvb2w83dplh0my72xljglq9a4a7qkfliwslav26lw4yqxr8mr0p";
+    sha256 = "sha256-/lsfyTDlkZNIVHg5qgZW7qfOyTC2+1r3ZbsnQmEdy30=";
   };
 
   passthru = {
diff --git a/nixpkgs/pkgs/applications/graphics/ImageMagick/6.x.nix b/nixpkgs/pkgs/applications/graphics/ImageMagick/6.x.nix
index 4ac4af48aab8..7cb4018f38f4 100644
--- a/nixpkgs/pkgs/applications/graphics/ImageMagick/6.x.nix
+++ b/nixpkgs/pkgs/applications/graphics/ImageMagick/6.x.nix
@@ -16,13 +16,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "imagemagick";
-  version = "6.9.12-17";
+  version = "6.9.12-19";
 
   src = fetchFromGitHub {
     owner = "ImageMagick";
     repo = "ImageMagick6";
     rev = version;
-    sha256 = "sha256-yZXvxl9Tbl3JRBmRcfsjbkaxywtD08SuUnJayKfwk9M=";
+    sha256 = "sha256-8KofT9aNd8SXL0YBQ0RUOTccVxQNacvJL1uYPZiSPkY=";
   };
 
   outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big
diff --git a/nixpkgs/pkgs/applications/graphics/ImageMagick/7.0.nix b/nixpkgs/pkgs/applications/graphics/ImageMagick/7.0.nix
index 0fd76235f528..316110633891 100644
--- a/nixpkgs/pkgs/applications/graphics/ImageMagick/7.0.nix
+++ b/nixpkgs/pkgs/applications/graphics/ImageMagick/7.0.nix
@@ -18,13 +18,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "imagemagick";
-  version = "7.1.0-2";
+  version = "7.1.0-4";
 
   src = fetchFromGitHub {
     owner = "ImageMagick";
     repo = "ImageMagick";
     rev = version;
-    sha256 = "sha256-0nTz9UBspROrNj72amyZmFYK/y9Xg4+qNt4raZiK3AI=";
+    sha256 = "sha256-CvrSeoKaTigR+4egelwLRr2++CQ5OWUePwX9e1/G1GM=";
   };
 
   outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big
diff --git a/nixpkgs/pkgs/applications/graphics/akira/default.nix b/nixpkgs/pkgs/applications/graphics/akira/default.nix
index c2d8a4bda35a..46e4de27547f 100644
--- a/nixpkgs/pkgs/applications/graphics/akira/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/akira/default.nix
@@ -13,23 +13,24 @@
 , wrapGAppsHook
 , cairo
 , glib
-, goocanvas2
+, goocanvas3
 , gtk3
 , gtksourceview3
 , json-glib
 , libarchive
 , libgee
-, libxml2 }:
+, libxml2
+}:
 
 stdenv.mkDerivation rec {
   pname = "akira";
-  version = "0.0.13";
+  version = "0.0.16";
 
   src = fetchFromGitHub {
     owner = "akiraux";
     repo = "Akira";
     rev = "v${version}";
-    sha256 = "1i20q78jagy8xky68nmd0n7mqvh88r98kp626rnlgyzvlc3c22cm";
+    sha256 = "sha256-qrqmSCwA0kQVFD1gzutks9gMr7My7nw/KJs/VPisa0w=";
   };
 
   nativeBuildInputs = [
@@ -47,7 +48,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     cairo
     glib
-    goocanvas2
+    goocanvas3
     pantheon.granite
     gtk3
     gtksourceview3
@@ -67,7 +68,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Native Linux Design application built in Vala and GTK";
     homepage = "https://github.com/akiraux/Akira";
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     maintainers = with maintainers; [ Br1ght0ne neonfuz ] ++ pantheon.maintainers;
     platforms = platforms.linux;
   };
diff --git a/nixpkgs/pkgs/applications/graphics/cloudcompare/default.nix b/nixpkgs/pkgs/applications/graphics/cloudcompare/default.nix
index 26fabc364ba3..9fbe390f5d83 100644
--- a/nixpkgs/pkgs/applications/graphics/cloudcompare/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/cloudcompare/default.nix
@@ -1,6 +1,7 @@
 { lib
 , mkDerivation
 , fetchFromGitHub
+, fetchpatch
 , cmake
 , dxflib
 , eigen
@@ -18,7 +19,7 @@
 
 mkDerivation rec {
   pname = "cloudcompare";
-  version = "2.11.2";
+  version = "2.11.2"; # Remove below patch with the next version bump.
 
   src = fetchFromGitHub {
     owner = "CloudCompare";
@@ -33,6 +34,15 @@ mkDerivation rec {
     fetchSubmodules = true;
   };
 
+  patches = [
+    # TODO: Remove with next CloudCompare release (see https://github.com/CloudCompare/CloudCompare/pull/1478)
+    (fetchpatch {
+      name = "CloudCompare-fix-for-PDAL-2.3.0.patch";
+      url = "https://github.com/CloudCompare/CloudCompare/commit/f3038dcdeb0491c4a653c2ee6fb017326eb676a3.patch";
+      sha256 = "0ca5ry987mcgsdawz5yd4xhbsdb5k44qws30srxymzx2djvamwli";
+    })
+  ];
+
   nativeBuildInputs = [
     cmake
     eigen # header-only
diff --git a/nixpkgs/pkgs/applications/graphics/djv/default.nix b/nixpkgs/pkgs/applications/graphics/djv/default.nix
new file mode 100644
index 000000000000..95a29f243e4a
--- /dev/null
+++ b/nixpkgs/pkgs/applications/graphics/djv/default.nix
@@ -0,0 +1,152 @@
+{ stdenv
+, cmake
+, fetchFromGitHub
+, lib
+, alsa-lib
+, libGL
+, libX11
+, libXinerama
+, libXi
+, zlib
+, rtaudio
+, rapidjson
+, ilmbase
+, glm
+, glfw3
+, libpng
+, opencolorio_1
+, freetype
+}:
+
+let
+
+  # The way third-party dependencies are packaged has changed
+  # significantly from the 2.0.8 release. This means any packaging
+  # effort for the 2.0.8 release would have to be redone for the next
+  # release. Hence we package the git version for now and can easily
+  # jump onto the next release once it's available.
+  djvVersion = "2.0.8-unstable-2021-07-31";
+
+  djvSrc = fetchFromGitHub {
+    owner = "darbyjohnston";
+    repo = "djv";
+    rev = "ae31712c4f2802a874217ac194bde26287993934";
+    sha256 = "1qgia6vqb6fhyfj8w925xl6k6zidrp2gj5f32bpi94lwwhi6p9pd";
+  };
+
+  # DJV's build system tries to automatically pull in FSeq, another
+  # library by the DJV author.
+  #
+  # When updating, check the following file in the DJV source:
+  # etc/SuperBuild/cmake/Modules/BuildFSeq.cmake
+  #
+  # If there is revision or tag specified, DJV wants to use the most
+  # recent master version
+  fseqSrc = fetchFromGitHub {
+    owner = "darbyjohnston";
+    repo = "fseq";
+    rev = "545fac6018100f7fca474b8ee4f1efa7cbf6bf45";
+    sha256 = "0qfhbrzji05hh5kwgd1wvq2lbf81ylbi7v7aqk28aws27f8d2hk0";
+  };
+
+  djv-deps = stdenv.mkDerivation rec {
+    pname = "djv-dependencies";
+    version = djvVersion;
+
+    src = djvSrc;
+
+    sourceRoot = "source/etc/SuperBuild";
+
+    nativeBuildInputs = [ cmake ];
+    buildInputs = [
+      libGL
+    ];
+
+    postPatch = ''
+      chmod -R +w .
+
+      sed -i 's,GIT_REPOSITORY https://github.com/darbyjohnston/FSeq.git,SOURCE_DIR ${fseqSrc},' \
+          cmake/Modules/BuildFSeq.cmake
+
+      # We pull these projects in as normal Nix dependencies. No need
+      # to build them again here.
+
+      sed -i CMakeLists.txt \
+          -e '/list(APPEND DJV_THIRD_PARTY_DEPS RapidJSON)/d' \
+          -e '/list(APPEND DJV_THIRD_PARTY_DEPS RtAudio)/d' \
+          -e '/list(APPEND DJV_THIRD_PARTY_DEPS IlmBase)/d' \
+          -e '/list(APPEND DJV_THIRD_PARTY_DEPS GLM)/d' \
+          -e '/list(APPEND DJV_THIRD_PARTY_DEPS GLFW)/d' \
+          -e '/list(APPEND DJV_THIRD_PARTY_DEPS ZLIB)/d' \
+          -e '/list(APPEND DJV_THIRD_PARTY_DEPS PNG)/d' \
+          -e '/list(APPEND DJV_THIRD_PARTY_DEPS FreeType)/d' \
+          -e '/list(APPEND DJV_THIRD_PARTY_DEPS OCIO)/d'
+
+      # The "SuperBuild" wants to build DJV right here. This is
+      # inconvenient, because then the `make install` target is not generated
+      # by CMake. We build DJV in its own derivation below. This also makes
+      # the build a bit more modular.
+
+      sed -i '/include(BuildDJV)/d' \
+          CMakeLists.txt
+    '';
+
+    cmakeFlags = [
+      "-DDJV_THIRD_PARTY_OpenEXR:BOOL=False"
+      "-DDJV_THIRD_PARTY_JPEG:BOOL=False"
+      "-DDJV_THIRD_PARTY_TIFF:BOOL=False"
+    ];
+
+    dontInstall = true;
+    doCheck = true;
+  };
+
+in
+stdenv.mkDerivation rec {
+  pname = "djv";
+  version = djvVersion;
+
+  src = djvSrc;
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [
+    alsa-lib
+    libGL
+    libX11
+    libXinerama
+    libXi
+    rapidjson
+    rtaudio
+    ilmbase
+    glm
+    glfw3
+    zlib.dev
+    libpng
+    freetype
+    opencolorio_1
+    djv-deps
+  ];
+
+  postPatch = ''
+    chmod -R +w .
+
+    # When linking opencolorio statically this results in failing to
+    # pull in opencolorio's dependencies (tixml and yaml libraries). Avoid
+    # this by linking it statically instead.
+
+    sed -i cmake/Modules/FindOCIO.cmake \
+        -e 's/PATH_SUFFIXES static//' \
+        -e '/OpenColorIO_STATIC/d'
+  '';
+
+  # GLFW requires a working X11 session.
+  doCheck = false;
+
+  meta = with lib; {
+    description = "A professional review software for VFX, animation, and film production";
+    homepage = "https://darbyjohnston.github.io/DJV/";
+    platforms = platforms.linux;
+    maintainers = [ maintainers.blitz ];
+    license = licenses.bsd3;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/graphics/dosage/default.nix b/nixpkgs/pkgs/applications/graphics/dosage/default.nix
index db0012a184be..e5e77dccbbb4 100644
--- a/nixpkgs/pkgs/applications/graphics/dosage/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/dosage/default.nix
@@ -1,28 +1,30 @@
-{ lib, python3Packages, fetchFromGitHub }:
+{ lib, python3Packages }:
 
 python3Packages.buildPythonApplication rec {
   pname = "dosage";
-  version = "2018.04.08";
-  PBR_VERSION = version;
+  version = "2.17";
 
-  src = fetchFromGitHub {
-    owner = "webcomics";
-    repo = "dosage";
-    rev = "b2fdc13feb65b93762928f7e99bac7b1b7b31591";
-    sha256 = "1p6vllqaf9s6crj47xqp97hkglch1kd4y8y4lxvzx3g2shhhk9hh";
+  src = python3Packages.fetchPypi {
+    inherit pname version;
+    sha256 = "0vmxgn9wd3j80hp4gr5iq06jrl4gryz5zgfdd2ah30d12sfcfig0";
   };
-  checkInputs = with python3Packages; [ pytest responses ];
-  propagatedBuildInputs = with python3Packages; [ colorama lxml requests pbr setuptools ];
 
-  disabled = python3Packages.pythonOlder "3.3";
+  checkInputs = with python3Packages; [
+    pytestCheckHook pytest-xdist responses
+  ];
+
+  nativeBuildInputs = with python3Packages; [ setuptools-scm ];
 
-  checkPhase = ''
-    py.test tests/
-  '';
+  propagatedBuildInputs = with python3Packages; [
+    colorama imagesize lxml requests setuptools six
+  ];
+
+  disabled = python3Packages.pythonOlder "3.3";
 
   meta = {
     description = "A comic strip downloader and archiver";
     homepage = "https://dosage.rocks/";
     license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ toonn ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/drawpile/default.nix b/nixpkgs/pkgs/applications/graphics/drawpile/default.nix
index cf37512ad9f5..fb5308921d4e 100644
--- a/nixpkgs/pkgs/applications/graphics/drawpile/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/drawpile/default.nix
@@ -2,7 +2,6 @@
 , lib
 , mkDerivation
 , fetchFromGitHub
-, fetchpatch
 , extra-cmake-modules
 
 # common deps
@@ -69,23 +68,15 @@ let
 
 in mkDerivation rec {
   pname = "drawpile";
-  version = "2.1.17";
+  version = "2.1.19";
 
   src = fetchFromGitHub {
     owner = "drawpile";
     repo = "drawpile";
     rev = version;
-    sha256 = "sha256-AFFY+FcY9ExAur13OoWR9285RZtBe6jnRIrwi5raiCM=";
+    sha256 = "sha256-MNmzcqTHfMms6q3ZilrChE5WoGzGxnAOkB0a75udA1I=";
   };
 
-  patches = [
-    # fix for libmicrohttpd 0.9.71
-    (fetchpatch {
-      url = "https://github.com/drawpile/Drawpile/commit/ed1a75deb113da2d1df91a28f557509c4897130e.diff";
-      sha256 = "sha256-54wabH5F3Hf+6vv9rpCwCRdhjSaUFtuF/mE1/U+CpOA=";
-      name = "mhdfix.patch"; })
-  ];
-
   nativeBuildInputs = [ extra-cmake-modules ];
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/applications/graphics/feh/default.nix b/nixpkgs/pkgs/applications/graphics/feh/default.nix
index 139f29c31506..cd7b6e95d03d 100644
--- a/nixpkgs/pkgs/applications/graphics/feh/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/feh/default.nix
@@ -7,11 +7,11 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "feh";
-  version = "3.7";
+  version = "3.7.1";
 
   src = fetchurl {
     url = "https://feh.finalrewind.org/${pname}-${version}.tar.bz2";
-    sha256 = "0hdvlrlpjxvmhnjvr32nxgpsw0366higg0gh9h37fxrvdh3v3k87";
+    sha256 = "sha256-V6scph9XyWWVh4Bp9VDTb1GFMPiPoxt0zDnNc5+SWLY=";
   };
 
   outputs = [ "out" "man" "doc" ];
diff --git a/nixpkgs/pkgs/applications/graphics/fondo/default.nix b/nixpkgs/pkgs/applications/graphics/fondo/default.nix
index c2cb4c92d47e..19d93cee79b4 100644
--- a/nixpkgs/pkgs/applications/graphics/fondo/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/fondo/default.nix
@@ -62,7 +62,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/calo001/fondo";
     description = "Find the most beautiful wallpapers for your desktop";
     license = licenses.agpl3Plus;
-    maintainers = with maintainers; [ AndersonTorres ];
+    maintainers = with maintainers; [ AndersonTorres ] ++ teams.pantheon.members;
     platforms = platforms.linux;
   };
 
diff --git a/nixpkgs/pkgs/applications/graphics/geeqie/default.nix b/nixpkgs/pkgs/applications/graphics/geeqie/default.nix
index ff1df143141f..5d44c5dceeac 100644
--- a/nixpkgs/pkgs/applications/graphics/geeqie/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/geeqie/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "geeqie";
-  version = "1.5.1";
+  version = "1.6.0";
 
   src = fetchurl {
-    url = "http://geeqie.org/${pname}-${version}.tar.xz";
-    sha256 = "02m1vqaasin249xx792cdj11xyag8lnanwzxd108y7y34g9xam28";
+    url = "https://github.com/BestImageViewer/geeqie/archive/refs/tags/v1.6.tar.gz";
+    sha256 = "0ky248j6n8hszkwwi949i1ypm2l5444byaspaa6564d9rpij01aj";
   };
 
   patches = [
@@ -23,9 +23,10 @@ stdenv.mkDerivation rec {
 
   preConfigure = "./autogen.sh";
 
-  nativeBuildInputs = [ pkg-config autoconf automake gettext intltool
-    wrapGAppsHook
-  ];
+  nativeBuildInputs =
+    [ pkg-config autoconf automake gettext intltool
+      wrapGAppsHook
+    ];
 
   buildInputs = [
     gtk3 lcms2 exiv2 libchamplain clutter-gtk ffmpegthumbnailer fbida
diff --git a/nixpkgs/pkgs/applications/graphics/gimp/plugins/default.nix b/nixpkgs/pkgs/applications/graphics/gimp/plugins/default.nix
index 2b8dbbc4d28d..1715542adce4 100644
--- a/nixpkgs/pkgs/applications/graphics/gimp/plugins/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/gimp/plugins/default.nix
@@ -53,8 +53,13 @@ let
   );
 
   scriptDerivation = {src, ...}@attrs : pluginDerivation ({
-    phases = [ "extraLib" "installPhase" ];
-    installPhase = "installScripts ${src}";
+    prePhases = "extraLib";
+    dontUnpack = true;
+    installPhase = ''
+      runHook preInstall
+      installScripts ${src}
+      runHook postInstall
+    '';
   } // attrs);
 in
 {
diff --git a/nixpkgs/pkgs/applications/graphics/glimpse/default.nix b/nixpkgs/pkgs/applications/graphics/glimpse/default.nix
index de85fb9bf174..01271f53b572 100644
--- a/nixpkgs/pkgs/applications/graphics/glimpse/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/glimpse/default.nix
@@ -51,6 +51,7 @@
 , makeWrapper
 , autoreconfHook
 , gtk-doc
+, graphviz
 }:
 let
   python = python2.withPackages (pp: [ pp.pygtk ]);
@@ -154,7 +155,8 @@ stdenv.mkDerivation rec {
 
   postFixup = ''
     wrapProgram $out/bin/glimpse-${lib.versions.majorMinor version} \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE"
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix PATH ":" ${ lib.makeBinPath [ graphviz ] }
   '';
 
   passthru = rec {
diff --git a/nixpkgs/pkgs/applications/graphics/goxel/default.nix b/nixpkgs/pkgs/applications/graphics/goxel/default.nix
index 64ea533eefd2..325d1bcf083d 100644
--- a/nixpkgs/pkgs/applications/graphics/goxel/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/goxel/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "goxel";
-  version = "0.10.7";
+  version = "0.10.8";
 
   src = fetchFromGitHub {
     owner = "guillaumechereau";
     repo = "goxel";
     rev = "v${version}";
-    sha256 = "1v6m6nhl1if8ik5bmblhq46bip6y2qz18a04s8a9awb4yh9ls039";
+    sha256 = "sha256-M9H9SV8xmU7Jw5rEdV0gfloIEBvWmWSuH+BCrowpf2M=";
   };
 
   patches = [ ./disable-imgui_ini.patch ];
diff --git a/nixpkgs/pkgs/applications/graphics/gscan2pdf/default.nix b/nixpkgs/pkgs/applications/graphics/gscan2pdf/default.nix
index a44d4f6408c6..b279bb0e70cc 100644
--- a/nixpkgs/pkgs/applications/graphics/gscan2pdf/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/gscan2pdf/default.nix
@@ -38,7 +38,7 @@ perlPackages.buildPerlPackage rec {
       ImagePNGLibpng
       ImageSane
       SetIntSpan
-      PerlMagick
+      ImageMagick
       ConfigGeneral
       ListMoreUtils
       HTMLParser
diff --git a/nixpkgs/pkgs/applications/graphics/gthumb/default.nix b/nixpkgs/pkgs/applications/graphics/gthumb/default.nix
index cd3a6f368e9c..50e1babda2ac 100644
--- a/nixpkgs/pkgs/applications/graphics/gthumb/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/gthumb/default.nix
@@ -5,6 +5,7 @@
 , meson
 , ninja
 , exiv2
+, libheif
 , libjpeg
 , libtiff
 , gst_all_1
@@ -32,11 +33,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gthumb";
-  version = "3.11.3";
+  version = "3.11.4";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "11bvcimamdcksgqj1ymh54yzhpwc5j8glda8brqqhwq3h2wj0j9d";
+    sha256 = "sha256-3ZsPiUXX34Ev/a3OyMO94dyXZyMy4AVt5Cp/ELZLIGw=";
   };
 
   nativeBuildInputs = [
@@ -66,6 +67,7 @@ stdenv.mkDerivation rec {
     json-glib
     lcms2
     libchamplain
+    libheif
     libjpeg
     libraw
     librsvg
diff --git a/nixpkgs/pkgs/applications/graphics/hydrus/default.nix b/nixpkgs/pkgs/applications/graphics/hydrus/default.nix
index a3b043adbe5c..db14df2c1ee3 100644
--- a/nixpkgs/pkgs/applications/graphics/hydrus/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/hydrus/default.nix
@@ -1,53 +1,56 @@
 { lib
 , fetchFromGitHub
-, xz
 , wrapQtAppsHook
 , miniupnpc_2
+, ffmpeg
 , enableSwftools ? false
 , swftools
-, pythonPackages
+, python3Packages
 }:
 
-pythonPackages.buildPythonPackage rec {
+python3Packages.buildPythonPackage rec {
   pname = "hydrus";
-  version = "441";
+  version = "452";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "hydrusnetwork";
     repo = "hydrus";
     rev = "v${version}";
-    sha256 = "13h4qcz0iqba4mwyvgmdqh99jy22x7kw20f3g43b5aq3qyk9ca2h";
+    sha256 = "1zzrw1fbbbayq322346dqb3a8bzb3xnx1qmdciq01dmlbc3bmza1";
   };
 
   nativeBuildInputs = [
     wrapQtAppsHook
   ];
 
-  propagatedBuildInputs = with pythonPackages; [
+  propagatedBuildInputs = with python3Packages; [
     beautifulsoup4
+    chardet
+    cloudscraper
     html5lib
     lxml
+    lz4
+    nose
     numpy
     opencv4
     pillow
     psutil
+    pylzma
     pyopenssl
+    pyside2
+    pysocks
+    pythonPackages.mpv
     pyyaml
+    qtpy
     requests
     send2trash
     service-identity
+    six
     twisted
-    lz4
-    xz
-    pysocks
-    matplotlib
-    qtpy
-    pyside2
-    mpv
   ];
 
-  checkInputs = with pythonPackages; [ nose httmock ];
+  checkInputs = with python3Packages; [ nose mock httmock ];
 
   # most tests are failing, presumably because we are not using test.py
   checkPhase = ''
@@ -77,37 +80,34 @@ pythonPackages.buildPythonPackage rec {
 
   outputs = [ "out" "doc" ];
 
-  postPatch = ''
-    sed 's;os\.path\.join(\sHC\.BIN_DIR,.*;"${miniupnpc_2}/bin/upnpc";' \
-      -i ./hydrus/core/networking/HydrusNATPunch.py
-  '' + lib.optionalString enableSwftools ''
-    sed 's;os\.path\.join(\sHC\.BIN_DIR,.*;"${swftools}/bin/swfrender";' \
-      -i ./hydrus/core/HydrusFlashHandling.py
-  '';
-
-  #doCheck = true;
-
   installPhase = ''
     # Move the hydrus module and related directories
-    mkdir -p $out/${pythonPackages.python.sitePackages}
-    mv {hydrus,static} $out/${pythonPackages.python.sitePackages}
+    mkdir -p $out/${python3Packages.python.sitePackages}
+    mv {hydrus,static} $out/${python3Packages.python.sitePackages}
     mv help $out/doc/
 
     # install the hydrus binaries
     mkdir -p $out/bin
     install -m0755 server.py $out/bin/hydrus-server
     install -m0755 client.py $out/bin/hydrus-client
+  '' + lib.optionalString enableSwftools ''
+    mkdir -p $out/${python3Packages.python.sitePackages}/bin
+    # swfrender seems to have to be called sfwrender_linux
+    # not sure if it can be loaded through PATH, but this is simpler
+    # $out/python3Packages.python.sitePackages/bin is correct NOT .../hydrus/bin
+    ln -s ${swftools}/bin/swfrender $out/${python3Packages.python.sitePackages}/bin/swfrender_linux
   '';
 
   dontWrapQtApps = true;
   preFixup = ''
     makeWrapperArgs+=("''${qtWrapperArgs[@]}")
+    makeWrapperArgs+=(--prefix PATH : ${lib.makeBinPath [ ffmpeg miniupnpc_2 ]})
   '';
 
   meta = with lib; {
     description = "Danbooru-like image tagging and searching system for the desktop";
     license = licenses.wtfpl;
     homepage = "https://hydrusnetwork.github.io/hydrus/";
-    maintainers = [ maintainers.evanjs ];
+    maintainers = with maintainers; [ dandellion evanjs ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/imv/default.nix b/nixpkgs/pkgs/applications/graphics/imv/default.nix
index e9488b845f22..04150a1ceb81 100644
--- a/nixpkgs/pkgs/applications/graphics/imv/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/imv/default.nix
@@ -56,13 +56,13 @@ assert builtins.all
 
 stdenv.mkDerivation rec {
   pname = "imv";
-  version = "4.2.0";
+  version = "4.3.0";
 
   src = fetchFromGitHub {
     owner = "eXeC64";
     repo = "imv";
     rev = "v${version}";
-    sha256 = "07pcpppmfvvj0czfvp1cyq03ha0jdj4whl13lzvw37q3vpxs5qqh";
+    sha256 = "sha256-HP9W9US9e3YAXwCqiHV8NVqrO20SfQKcW3a6+r1XrIs=";
   };
 
   mesonFlags = [
diff --git a/nixpkgs/pkgs/applications/graphics/k3d/default.nix b/nixpkgs/pkgs/applications/graphics/k3d/default.nix
index 99e56738dbfa..68e28c5cc886 100644
--- a/nixpkgs/pkgs/applications/graphics/k3d/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/k3d/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub, fetchpatch, ftgl, glew, asciidoc
-, cmake, ninja, libGLU, libGL, zlib, python, expat, libxml2, libsigcxx, libuuid, freetype
+, cmake, ninja, libGLU, libGL, zlib, python2, expat, libxml2, libsigcxx, libuuid, freetype
 , libpng, boost, doxygen, cairomm, pkg-config, libjpeg, libtiff
 , gettext, intltool, perl, gtkmm2, glibmm, gtkglext, libXmu }:
 
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake ninja gettext intltool doxygen pkg-config perl asciidoc ];
 
   buildInputs = [
-     libGLU libGL zlib python expat libxml2 libsigcxx libuuid freetype libpng
+     libGLU libGL zlib python2 expat libxml2 libsigcxx libuuid freetype libpng
      boost cairomm libjpeg libtiff
      ftgl glew gtkmm2 glibmm gtkglext libXmu
     ];
diff --git a/nixpkgs/pkgs/applications/graphics/ktikz/default.nix b/nixpkgs/pkgs/applications/graphics/ktikz/default.nix
index 7cdf32cc8e78..d176ce38f0ad 100644
--- a/nixpkgs/pkgs/applications/graphics/ktikz/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/ktikz/default.nix
@@ -47,7 +47,6 @@ stdenv.mkDerivation rec {
   QT_PLUGIN_PATH = "${qtbase}/${qtbase.qtPluginPrefix}";
 
   buildInputs = [ qtbase poppler ];
-  enableParallelBuilding = true;
 
   qmakeFlags = [
     "DESKTOP_INSTALL_DIR=${placeholder "out"}/share/applications"
diff --git a/nixpkgs/pkgs/applications/graphics/lightburn/default.nix b/nixpkgs/pkgs/applications/graphics/lightburn/default.nix
index 7ff0b77e6fd3..5775ba2a5278 100644
--- a/nixpkgs/pkgs/applications/graphics/lightburn/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/lightburn/default.nix
@@ -6,7 +6,7 @@
 
 stdenv.mkDerivation rec {
   pname = "lightburn";
-  version = "0.9.23";
+  version = "1.0.00";
 
   nativeBuildInputs = [
     p7zip
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://github.com/LightBurnSoftware/deployment/releases/download/${version}/LightBurn-Linux64-v${version}.7z";
-    sha256 = "sha256-OiW9UBophyEF3J0FOSMkbwDJ6d8SEDNrr+H0B4Ndo/Y=";
+    sha256 = "sha256-jNqLykVQjer2lps1gnw4fd2FH+ZQrzqQILAsl4Z5Hqk=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/applications/graphics/megapixels/default.nix b/nixpkgs/pkgs/applications/graphics/megapixels/default.nix
index 1e9540ef95e1..9b1377e520c2 100644
--- a/nixpkgs/pkgs/applications/graphics/megapixels/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/megapixels/default.nix
@@ -26,13 +26,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "megapixels";
-  version = "1.1.0";
+  version = "1.2.0";
 
   src = fetchFromSourcehut {
     owner = "~martijnbraam";
     repo = "megapixels";
     rev = version;
-    sha256 = "0y56c6vchlzidfmp3a3bdc228vbhy7zaxvmhkyxchfb752yzr0n3";
+    sha256 = "0jnfzwvq58p4ksyifma10i158r2fb7fv72ymibgcxbnx596xpjb2";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config wrapGAppsHook ];
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "GTK3 camera application using raw v4l2 and media-requests";
+    description = "GTK4 camera application that knows how to deal with the media request api";
     homepage = "https://sr.ht/~martijnbraam/Megapixels";
     changelog = "https://git.sr.ht/~martijnbraam/megapixels/refs/${version}";
     license = licenses.gpl3Only;
diff --git a/nixpkgs/pkgs/applications/graphics/meh/default.nix b/nixpkgs/pkgs/applications/graphics/meh/default.nix
index 28f307d6cec8..d23176c2518d 100644
--- a/nixpkgs/pkgs/applications/graphics/meh/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/meh/default.nix
@@ -1,18 +1,17 @@
 { lib, stdenv, fetchFromGitHub, libX11, libXext, libjpeg, libpng, giflib }:
 
 stdenv.mkDerivation {
-  name = "meh-unstable-2015-04-11";
+  pname = "meh";
+  version = "unstable-2018-10-22";
 
   src = fetchFromGitHub {
     owner = "jhawthorn";
     repo = "meh";
-    rev = "4ab1c75f97cb70543db388b3ed99bcfb7e94c758";
-    sha256 = "1j1n3m9hjhz4faryai97jq7cr6a322cqrd878gpkm9nrikap3bkk";
+    rev = "69f653a1f16d11b12e5b600e808a740898f3223e";
+    sha256 = "sha256-srSwoaajW4H4+kmE7NQAqVz9d/1q2XQ5ayQaOcGwzI0=";
   };
 
-  installPhase = ''
-    make PREFIX=$out install
-  '';
+  installFlags = [ "PREFIX=${placeholder "out"}" ];
 
   outputs = [ "out" "man" ];
 
diff --git a/nixpkgs/pkgs/applications/graphics/nomacs/default.nix b/nixpkgs/pkgs/applications/graphics/nomacs/default.nix
index 142c76b2f6d5..9f3c1e453f8d 100644
--- a/nixpkgs/pkgs/applications/graphics/nomacs/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/nomacs/default.nix
@@ -8,6 +8,7 @@
 , qtbase
 , qttools
 , qtsvg
+, qtimageformats
 
 , exiv2
 , opencv4
@@ -46,6 +47,7 @@ mkDerivation rec {
   buildInputs = [qtbase
                  qttools
                  qtsvg
+                 qtimageformats
                  exiv2
                  opencv4
                  libraw
diff --git a/nixpkgs/pkgs/applications/graphics/openimageio/2.x.nix b/nixpkgs/pkgs/applications/graphics/openimageio/2.x.nix
index 8c9639e3fd52..17a811aa87f8 100644
--- a/nixpkgs/pkgs/applications/graphics/openimageio/2.x.nix
+++ b/nixpkgs/pkgs/applications/graphics/openimageio/2.x.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "openimageio";
-  version = "2.2.12.0";
+  version = "2.2.17.0";
 
   src = fetchFromGitHub {
     owner = "OpenImageIO";
     repo = "oiio";
     rev = "Release-${version}";
-    sha256 = "16z8lnsqhljbfaarfwx9rc95p0a9wxf4p271j6kxdfknjb88p56i";
+    sha256 = "0jqpb1zci911wdm928addsljxx8zsh0gzbhv9vbw6man4wi93h6h";
   };
 
   outputs = [ "bin" "out" "dev" "doc" ];
diff --git a/nixpkgs/pkgs/applications/graphics/openscad/default.nix b/nixpkgs/pkgs/applications/graphics/openscad/default.nix
index ac41a23f8bb8..c7be99469b05 100644
--- a/nixpkgs/pkgs/applications/graphics/openscad/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/openscad/default.nix
@@ -68,7 +68,7 @@ mkDerivation rec {
     wrapQtApp "$out"/Applications/OpenSCAD.app/Contents/MacOS/OpenSCAD
 
     mv --target-directory=$out/Applications/OpenSCAD.app/Contents/Resources \
-      $out/share/openscad/{examples,color-schemes,locale,libraries,fonts}
+      $out/share/openscad/{examples,color-schemes,locale,libraries,fonts,templates}
 
     rmdir $out/share/openscad
   '';
diff --git a/nixpkgs/pkgs/applications/graphics/paraview/default.nix b/nixpkgs/pkgs/applications/graphics/paraview/default.nix
index 79feab3ab7ae..1a761de6ec08 100644
--- a/nixpkgs/pkgs/applications/graphics/paraview/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/paraview/default.nix
@@ -1,31 +1,46 @@
-{ boost, cmake, fetchFromGitHub, ffmpeg, qtbase, qtx11extras,
-  qttools, qtxmlpatterns, qtsvg, gdal, gfortran, libXt, makeWrapper,
-  mkDerivation, ninja, mpi, python3, lib, tbb, libGLU, libGL }:
+{ lib, stdenv, fetchFromGitLab, fetchurl
+, boost, cmake, ffmpeg, qtbase, qtx11extras
+, qttools, qtxmlpatterns, qtsvg, gdal, gfortran, libXt, makeWrapper
+, mkDerivation, ninja, mpi, python3, tbb, libGLU, libGL
+, withDocs ? true
+}:
 
-mkDerivation rec {
+let
+  version = "5.9.1";
+
+  docFiles = [
+    (fetchurl {
+      url = "https://www.paraview.org/paraview-downloads/download.php?submit=Download&version=v${lib.versions.majorMinor version}&type=data&os=Sources&downloadFile=ParaViewTutorial-${version}.pdf";
+      name = "Tutorial.pdf";
+      sha256 = "1knpirjbz3rv8p8n03p39vv8vi5imvxakjsssqgly09g0cnsikkw";
+    })
+    (fetchurl {
+      url = "https://www.paraview.org/paraview-downloads/download.php?submit=Download&version=v${lib.versions.majorMinor version}&type=data&os=Sources&downloadFile=ParaViewGettingStarted-${version}.pdf";
+      name = "GettingStarted.pdf";
+      sha256 = "14xhlvg7s7d5amqf4qfyamx2a6b66zf4cmlfm3s7iw3jq01x1lx6";
+    })
+    (fetchurl {
+      url = "https://www.paraview.org/paraview-downloads/download.php?submit=Download&version=v${lib.versions.majorMinor version}&type=data&os=Sources&downloadFile=ParaViewCatalystGuide-${version}.pdf";
+      name = "CatalystGuide.pdf";
+      sha256 = "133vcfrbg2nh15igl51ns6gnfn1is20vq6j0rg37wha697pmcr4a";
+    })
+  ];
+
+in mkDerivation rec {
   pname = "paraview";
-  version = "5.8.0";
+  inherit version;
 
-  src = fetchFromGitHub {
-    owner = "Kitware";
-    repo = "ParaView";
+  src = fetchFromGitLab {
+    domain = "gitlab.kitware.com";
+    owner = "paraview";
+    repo = "paraview";
     rev = "v${version}";
-    sha256 = "1mka6wwg9mbkqi3phs29mvxq6qbc44sspbm4awwamqhilh4grhrj";
+    sha256 = "0pzic95br0vr785jnpxqmfxcljw3wk7bhm2xy0jfmwm1dh2b7xac";
     fetchSubmodules = true;
   };
 
-  # Avoid error: format not a string literal and
-  # no format arguments [-Werror=format-security]
-  preConfigure = ''
-    substituteInPlace VTK/Common/Core/vtkLogger.h \
-      --replace 'vtkLogScopeF(verbosity_name, __func__)' 'vtkLogScopeF(verbosity_name, "%s", __func__)'
-
-    substituteInPlace VTK/Common/Core/vtkLogger.h \
-      --replace 'vtkVLogScopeF(level, __func__)' 'vtkVLogScopeF(level, "%s", __func__)'
-  '';
-
   # Find the Qt platform plugin "minimal"
-  patchPhase = ''
+  preConfigure = ''
     export QT_PLUGIN_PATH=${qtbase.bin}/${qtbase.qtPluginPrefix}
   '';
 
@@ -63,7 +78,8 @@ mkDerivation rec {
   ];
 
   buildInputs = [
-    libGLU libGL
+    libGLU
+    libGL
     libXt
     mpi
     tbb
@@ -77,6 +93,14 @@ mkDerivation rec {
     qtsvg
   ];
 
+  postInstall = let docDir = "$out/share/paraview-${lib.versions.majorMinor version}/doc"; in
+    lib.optionalString withDocs ''
+      mkdir -p ${docDir};
+      for docFile in ${lib.concatStringsSep " " docFiles}; do
+        cp $docFile ${docDir}/$(stripHash $docFile);
+      done;
+    '';
+
   propagatedBuildInputs = [
     (python3.withPackages (ps: with ps; [ numpy matplotlib mpi4py ]))
   ];
@@ -84,7 +108,7 @@ mkDerivation rec {
   meta = with lib; {
     homepage = "https://www.paraview.org/";
     description = "3D Data analysis and visualization application";
-    license = licenses.free;
+    license = licenses.bsd3;
     maintainers = with maintainers; [ guibert ];
     platforms = platforms.linux;
   };
diff --git a/nixpkgs/pkgs/applications/graphics/pdfcpu/default.nix b/nixpkgs/pkgs/applications/graphics/pdfcpu/default.nix
index 19d3c63ab3e4..d30437c93184 100644
--- a/nixpkgs/pkgs/applications/graphics/pdfcpu/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/pdfcpu/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "pdfcpu";
-  version = "0.3.11";
+  version = "0.3.12";
 
   src = fetchFromGitHub {
     owner = "pdfcpu";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-kLRxZW89Bm2N/KxFYetIq+auPBW/vFoUnB8uaEcM8Yo=";
+    sha256 = "sha256-Ts4FJWUeWHVfeBEetgACYMGEsDLHm5JOEEn7EtQduPU=";
   };
 
   vendorSha256 = "sha256-p/2Bu5h2P3ebgvSC12jdR2Zpd27xCFwtB/KZV0AULAM=";
diff --git a/nixpkgs/pkgs/applications/graphics/qview/default.nix b/nixpkgs/pkgs/applications/graphics/qview/default.nix
index 001616ab41dd..7f4f4cc1a976 100644
--- a/nixpkgs/pkgs/applications/graphics/qview/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/qview/default.nix
@@ -1,4 +1,11 @@
-{ mkDerivation, lib, fetchFromGitHub, qmake, qtbase }:
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, qmake
+, qtbase
+, qtimageformats
+, qtsvg
+}:
 
 mkDerivation rec {
   pname = "qview";
@@ -15,6 +22,8 @@ mkDerivation rec {
 
   buildInputs = [
     qtbase
+    qtimageformats
+    qtsvg
   ];
 
   patchPhase = ''
@@ -24,7 +33,7 @@ mkDerivation rec {
   meta = with lib; {
     description = "Practical and minimal image viewer";
     homepage = "https://interversehq.com/qview/";
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     maintainers = with maintainers; [ acowley ];
     platforms = platforms.all;
   };
diff --git a/nixpkgs/pkgs/applications/graphics/renderdoc/default.nix b/nixpkgs/pkgs/applications/graphics/renderdoc/default.nix
index d6a2658d8626..771a32d5a736 100644
--- a/nixpkgs/pkgs/applications/graphics/renderdoc/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/renderdoc/default.nix
@@ -2,6 +2,7 @@
 , qtbase, qtx11extras, qtsvg, makeWrapper
 , vulkan-loader, libglvnd, xorg, python3, python3Packages
 , bison, pcre, automake, autoconf, addOpenGLRunpath
+, waylandSupport ? false, wayland
 }:
 let
   custom_swig = fetchFromGitHub {
@@ -10,23 +11,24 @@ let
     rev = "renderdoc-modified-7";
     sha256 = "15r2m5kcs0id64pa2fsw58qll3jyh71jzc04wy20pgsh2326zis6";
   };
-  pythonPackages = python3Packages;
+  cmakeBool = b: if b then "ON" else "OFF";
 in
 mkDerivation rec {
-  version = "1.14";
   pname = "renderdoc";
+  version = "1.15";
 
   src = fetchFromGitHub {
     owner = "baldurk";
     repo = "renderdoc";
     rev = "v${version}";
-    sha256 = "VO7pOLodXI0J7O4Y9b7YSl5BdtsIxmalFG5mqfuiJEw=";
+    sha256 = "HSWl3FC5YDIADO3h6oHxHdwsrFQKKj2zTtH2e3cc5iI=";
   };
 
   buildInputs = [
     qtbase qtsvg xorg.libpthreadstubs xorg.libXdmcp qtx11extras vulkan-loader python3
-  ]; # ++ (with pythonPackages; [pyside2 pyside2-tools shiboken2]);
+  ] # ++ (with python3Packages; [pyside2 pyside2-tools shiboken2])
   # TODO: figure out how to make cmake recognise pyside2
+  ++ lib.optional waylandSupport wayland;
 
   nativeBuildInputs = [ cmake makeWrapper pkg-config bison pcre automake autoconf addOpenGLRunpath ];
 
@@ -42,6 +44,7 @@ mkDerivation rec {
     "-DBUILD_VERSION_DIST_VER=${version}"
     "-DBUILD_VERSION_DIST_CONTACT=https://github.com/NixOS/nixpkgs/tree/master/pkgs/applications/graphics/renderdoc"
     "-DBUILD_VERSION_STABLE=ON"
+    "-DENABLE_WAYLAND=${cmakeBool waylandSupport}"
   ];
 
   # TODO: define these in the above array via placeholders, once those are widely supported
@@ -71,7 +74,7 @@ mkDerivation rec {
       of any application using Vulkan, D3D11, OpenGL or D3D12 across
       Windows 7 - 10, Linux or Android.
     '';
-    maintainers = [maintainers.jansol];
-    platforms = ["i686-linux" "x86_64-linux"];
+    maintainers = [ maintainers.jansol ];
+    platforms = [ "i686-linux" "x86_64-linux" ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/rx/default.nix b/nixpkgs/pkgs/applications/graphics/rx/default.nix
index 55349e8a08d1..fe3d10bae635 100644
--- a/nixpkgs/pkgs/applications/graphics/rx/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/rx/default.nix
@@ -7,16 +7,16 @@ with lib;
 
 rustPlatform.buildRustPackage rec {
   pname = "rx";
-  version = "0.4.0";
+  version = "0.5.2";
 
   src = fetchFromGitHub {
     owner = "cloudhead";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1pln65pqy39ijrld11d06klwzfhhzmrgdaxijpx9q7w9z66zmqb8";
+    sha256 = "sha256-LTpaV/fgYUgA2M6Wz5qLHnTNywh13900g+umhgLvciM=";
   };
 
-  cargoSha256 = "1mb9wx5h729pc9y1b0d0yiapyk0mlbvdmvwq993fcpkziwjvnl44";
+  cargoSha256 = "sha256-4hi1U4jl6QA7H8AKHlU+Hqz5iKGYHRXHDsrcqY7imkU=";
 
   nativeBuildInputs = [ cmake pkg-config makeWrapper ];
 
@@ -29,7 +29,7 @@ rustPlatform.buildRustPackage rec {
   # FIXME: GLFW (X11) requires DISPLAY env variable for all tests
   doCheck = false;
 
-  postInstall = optional stdenv.isLinux ''
+  postInstall = optionalString stdenv.isLinux ''
     mkdir -p $out/share/applications
     cp $src/rx.desktop $out/share/applications
     wrapProgram $out/bin/rx --prefix LD_LIBRARY_PATH : ${libGL}/lib
diff --git a/nixpkgs/pkgs/applications/graphics/sane/backends/default.nix b/nixpkgs/pkgs/applications/graphics/sane/backends/default.nix
index 821a97e35871..27eb174cdf0c 100644
--- a/nixpkgs/pkgs/applications/graphics/sane/backends/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/sane/backends/default.nix
@@ -1,13 +1,17 @@
 { stdenv, lib, fetchurl, runtimeShell
 , gettext, pkg-config, python3
 , avahi, libgphoto2, libieee1284, libjpeg, libpng, libtiff, libusb1, libv4l, net-snmp
-, curl, systemd, libxml2, poppler
+, curl, systemd, libxml2, poppler, gawk
+, sane-drivers
 
 # List of { src name backend } attibute sets - see installFirmware below:
 , extraFirmware ? []
 
 # For backwards compatibility with older setups; use extraFirmware instead:
 , gt68xxFirmware ? null, snapscanFirmware ? null
+
+# Not included by default, scan snap drivers require fetching of unfree binaries.
+, scanSnapDriversUnfree ? false, scanSnapDriversPackage ? sane-drivers.epjitsu
 }:
 
 stdenv.mkDerivation {
@@ -47,6 +51,7 @@ stdenv.mkDerivation {
     systemd
     libxml2
     poppler
+    gawk
   ];
 
   enableParallelBuilding = true;
@@ -88,7 +93,14 @@ stdenv.mkDerivation {
 
     # net.conf conflicts with the file generated by the nixos module
     rm $out/etc/sane.d/net.conf
-  '' + lib.concatStrings (builtins.map installFirmware compatFirmware);
+
+  ''
+  + lib.optionalString scanSnapDriversUnfree ''
+    # the ScanSnap drivers live under the epjitsu subdirectory, which was already created by the build but is empty.
+    rmdir $out/share/sane/epjitsu
+    ln -svT ${scanSnapDriversPackage} $out/share/sane/epjitsu
+  ''
+  + lib.concatStrings (builtins.map installFirmware compatFirmware);
 
   meta = with lib; {
     description = "SANE (Scanner Access Now Easy) backends";
diff --git a/nixpkgs/pkgs/applications/graphics/sane/drivers.nix b/nixpkgs/pkgs/applications/graphics/sane/drivers.nix
new file mode 100644
index 000000000000..9f1a644f4fac
--- /dev/null
+++ b/nixpkgs/pkgs/applications/graphics/sane/drivers.nix
@@ -0,0 +1,13 @@
+{ lib, fetchFromGitHub }:
+
+{
+  # Fujitsu ScanSnap
+  epjitsu = fetchFromGitHub {
+    name = "scansnap-firmware";
+    owner = "stevleibelt";
+    repo = "scansnap-firmware";
+    rev = "96c3a8b2a4e4f1ccc4e5827c5eb5598084fd17c8";
+    sha256 = "1inchnvaqyw9d0skpg8hp5rpn27c09q58lsr42by4bahpbx5qday";
+    meta.license = lib.licenses.unfree;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/graphics/scantailor/default.nix b/nixpkgs/pkgs/applications/graphics/scantailor/default.nix
index 291825770ac7..898cc3336a55 100644
--- a/nixpkgs/pkgs/applications/graphics/scantailor/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/scantailor/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
   buildInputs = [ qt4 libjpeg libtiff boost ];
 
   meta = {
-    homepage = "http://scantailor.org/";
+    homepage = "https://scantailor.org/";
     description = "Interactive post-processing tool for scanned pages";
 
     license = lib.licenses.gpl3Plus;
diff --git a/nixpkgs/pkgs/applications/graphics/shutter/default.nix b/nixpkgs/pkgs/applications/graphics/shutter/default.nix
index 2d2e332977f0..e901ee29bf61 100644
--- a/nixpkgs/pkgs/applications/graphics/shutter/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/shutter/default.nix
@@ -1,39 +1,103 @@
-{ lib, stdenv, fetchurl, perlPackages, makeWrapper, imagemagick, gdk-pixbuf, librsvg
-, hicolor-icon-theme, procps
+{ lib
+, stdenv
+, fetchFromGitHub
+, perlPackages
+, wrapGAppsHook
+, imagemagick
+, gdk-pixbuf
+, librsvg
+, hicolor-icon-theme
+, procps
+, libwnck
+, libappindicator-gtk3
 }:
 
 let
-  perlModules = with perlPackages;
-    [ Gnome2 Gnome2Canvas Gtk2 Glib Pango Gnome2VFS Gnome2Wnck Gtk2ImageView
-      Gtk2Unique FileBaseDir FileWhich FileCopyRecursive XMLSimple NetDBus XMLTwig
-      XMLParser HTTPMessage ProcSimple SortNaturally LocaleGettext
-      ProcProcessTable URI ImageExifTool Gtk2AppIndicator LWP JSON
-      PerlMagick WWWMechanize HTTPDate HTMLForm HTMLParser HTMLTagset JSONMaybeXS
-      commonsense HTTPCookies NetOAuth PathClass GooCanvas X11Protocol Cairo
-      EncodeLocale TryTiny TypesSerialiser LWPMediaTypes
+  perlModules = with perlPackages; [
+      # Not sure if these are needed
+      # Gnome2 Gnome2Canvas Gnome2VFS Gtk2AppIndicator Gtk2Unique
+      ImageMagick
+      Cairo
+      FileBaseDir
+      FileWhich
+      FileCopyRecursive
+      XMLSimple
+      XMLTwig
+      XMLParser
+      SortNaturally
+      LocaleGettext
+      ProcProcessTable
+      X11Protocol
+      ProcSimple
+      ImageExifTool
+      JSON
+      JSONMaybeXS
+      NetOAuth
+      PathClass
+      LWP
+      LWPProtocolHttps
+      NetDBus
+      TryTiny
+      WWWMechanize
+      HTTPMessage
+      HTTPDate
+      HTMLForm
+      HTMLParser
+      HTMLTagset
+      HTTPCookies
+      EncodeLocale
+      URI
+      CarpAlways
+      GlibObjectIntrospection
+      NumberBytesHuman
+      CairoGObject
+      Readonly
+      Gtk3ImageView
+      Gtk3
+      Glib
+      Pango
+      GooCanvas2
+      GooCanvas2CairoTypes
+      commonsense
+      TypesSerialiser
     ];
 in
-stdenv.mkDerivation {
-  name = "shutter-0.94.3";
+stdenv.mkDerivation rec {
+  pname = "shutter";
+  version = "0.98";
 
-  src = fetchurl {
-    url = "https://launchpad.net/shutter/0.9x/0.94.3/+download/shutter-0.94.3.tar.gz";
-    sha256 = "01wv5k6zqfqa2rss461lpdpjxpfk4awzfdc6j2qk6bh4g4zgmgl5";
+  src = fetchFromGitHub {
+    owner = "shutter-project";
+    repo = "shutter";
+    rev = "v${version}";
+    sha256 = "sha256-btJVY7+palstydWt5VCdtHwOj6FTXEcsregjaiXbZ5I=";
   };
 
-  nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ perlPackages.perl procps gdk-pixbuf librsvg ] ++ perlModules;
+  nativeBuildInputs = [ wrapGAppsHook ];
+  buildInputs = [
+    perlPackages.perl
+    procps
+    gdk-pixbuf
+    librsvg
+    libwnck
+    libappindicator-gtk3
+  ] ++ perlModules;
 
-  installPhase = ''
-    mkdir -p "$out"
-    cp -a . "$out"
-    (cd "$out" && mv CHANGES README COPYING "$out/share/doc/shutter")
+  makeFlags = [
+    "prefix=${placeholder "out"}"
+  ];
 
-    wrapProgram $out/bin/shutter \
-      --set PERL5LIB "${perlPackages.makePerlPath perlModules}" \
-      --prefix PATH : "${imagemagick.out}/bin" \
-      --suffix XDG_DATA_DIRS : "${hicolor-icon-theme}/share" \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE"
+  postPatch = ''
+    patchShebangs po2mo.sh
+  '';
+
+  preFixup = ''
+    gappsWrapperArgs+=(
+      --set PERL5LIB ${perlPackages.makePerlPath perlModules} \
+      --prefix PATH : ${lib.makeBinPath [ imagemagick ] } \
+      --suffix XDG_DATA_DIRS : ${hicolor-icon-theme}/share \
+      --set GDK_PIXBUF_MODULE_FILE $GDK_PIXBUF_MODULE_FILE
+    )
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/graphics/timelapse-deflicker/default.nix b/nixpkgs/pkgs/applications/graphics/timelapse-deflicker/default.nix
index f695cb2b0d76..c752d7e3f718 100644
--- a/nixpkgs/pkgs/applications/graphics/timelapse-deflicker/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/timelapse-deflicker/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = with perlPackages; [
     makeWrapper perl
-    PerlMagick TermProgressBar ImageExifTool
+    ImageMagick TermProgressBar ImageExifTool
     FileType ClassMethodMaker
   ];
 
diff --git a/nixpkgs/pkgs/applications/graphics/xfig/default.nix b/nixpkgs/pkgs/applications/graphics/xfig/default.nix
index 3330e3eaefd6..dc98d761bf08 100644
--- a/nixpkgs/pkgs/applications/graphics/xfig/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/xfig/default.nix
@@ -14,11 +14,11 @@
 
 stdenv.mkDerivation rec {
   pname = "xfig";
-  version = "3.2.8a";
+  version = "3.2.8b";
 
   src = fetchurl {
     url = "mirror://sourceforge/mcj/xfig-${version}.tar.xz";
-    sha256 = "0y45i1gqg3r0aq55jk047l1hnv90kqis6ld9lppx6c5jhpmc0hxs";
+    sha256 = "0fndgbm1mkqb1sn2v2kj3nx9mxj70jbp31y2bjvzcmmkry0q3k5j";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/applications/graphics/xournalpp/default.nix b/nixpkgs/pkgs/applications/graphics/xournalpp/default.nix
index 1810a6c6b8eb..16544c85650a 100644
--- a/nixpkgs/pkgs/applications/graphics/xournalpp/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/xournalpp/default.nix
@@ -9,6 +9,7 @@
 , glib
 , gsettings-desktop-schemas
 , gtk3
+, librsvg
 , libsndfile
 , libxml2
 , libzip
@@ -22,13 +23,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xournalpp";
-  version = "1.0.20";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "xournalpp";
     repo = pname;
     rev = version;
-    sha256 = "1c7n03xm3m4lwcwxgplkn25i8c6s3i7rijbkcx86br1j4jadcs3k";
+    sha256 = "sha256-FIIpWgWvq1uo/lIQXpOkUTZ6YJPtOtxKF8VjXSgqrlE=";
   };
 
   nativeBuildInputs = [ cmake gettext pkg-config wrapGAppsHook ];
@@ -36,6 +37,7 @@ stdenv.mkDerivation rec {
     [ glib
       gsettings-desktop-schemas
       gtk3
+      librsvg
       libsndfile
       libxml2
       libzip
diff --git a/nixpkgs/pkgs/applications/graphics/yacreader/default.nix b/nixpkgs/pkgs/applications/graphics/yacreader/default.nix
index 5c727dbbaabf..8fdd805803bc 100644
--- a/nixpkgs/pkgs/applications/graphics/yacreader/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/yacreader/default.nix
@@ -18,8 +18,6 @@ mkDerivation rec {
   buildInputs = [ poppler libunarr libGLU qtmultimedia qtscript ];
   propagatedBuildInputs = [ qtquickcontrols qtgraphicaleffects qtdeclarative ];
 
-  enableParallelBuilding = true;
-
   meta = {
     description = "A comic reader for cross-platform reading and managing your digital comic collection";
     homepage = "http://www.yacreader.com";
diff --git a/nixpkgs/pkgs/applications/kde/bomber.nix b/nixpkgs/pkgs/applications/kde/bomber.nix
index c2a5329ee2a3..d8840e1bfece 100644
--- a/nixpkgs/pkgs/applications/kde/bomber.nix
+++ b/nixpkgs/pkgs/applications/kde/bomber.nix
@@ -6,7 +6,7 @@
 mkDerivation {
   pname = "bomber";
   meta = with lib; {
-    homepage = "https://kde.org/applications/en/games/org.kde.bomber";
+    homepage = "https://apps.kde.org/bomber/";
     description = "A single player arcade game";
     longDescription = ''
       Bomber is a single player arcade game. The player is invading various
diff --git a/nixpkgs/pkgs/applications/logging/humioctl/default.nix b/nixpkgs/pkgs/applications/logging/humioctl/default.nix
index f73c38591f95..b5d0578b1220 100644
--- a/nixpkgs/pkgs/applications/logging/humioctl/default.nix
+++ b/nixpkgs/pkgs/applications/logging/humioctl/default.nix
@@ -1,9 +1,9 @@
 { buildGoModule, fetchFromGitHub, installShellFiles, lib }:
 
 let
-  humioCtlVersion = "0.28.5";
-  sha256 = "sha256-h6zQG9jjHpAxaJUaFoVmRyR1A/bk57CKBIkOGPcdJP0=";
-  vendorSha256 = "sha256-867x33Aq27D2m14NqqsdByC39pjjyJZbfX3jmwVU2yo=";
+  humioCtlVersion = "0.28.6";
+  sha256 = "sha256-15RRoTr+N+DsILYF1KndAwsW329w+UxHfB1VaWnkEFI=";
+  vendorSha256 = "sha256-fgRQ2n5tzj5s4rT65VIqh61wDwu+x/fWhpaKwyr8XWA=";
 in buildGoModule {
     name = "humioctl-${humioCtlVersion}";
     pname = "humioctl";
@@ -20,7 +20,7 @@ in buildGoModule {
       sha256 = sha256;
     };
 
-    buildFlagsArray = "-ldflags=-X main.version=${humioCtlVersion}";
+    ldflags = [ "-X main.version=${humioCtlVersion}" ];
 
     nativeBuildInputs = [ installShellFiles ];
 
diff --git a/nixpkgs/pkgs/applications/misc/1password/default.nix b/nixpkgs/pkgs/applications/misc/1password/default.nix
index afe15949ee82..8f4ea3df18d0 100644
--- a/nixpkgs/pkgs/applications/misc/1password/default.nix
+++ b/nixpkgs/pkgs/applications/misc/1password/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "1password";
-  version = "1.9.1";
+  version = "1.11.2";
   src =
     if stdenv.isLinux then fetchzip {
       url = {
@@ -11,14 +11,14 @@ stdenv.mkDerivation rec {
         "aarch64-linux" = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_arm_v${version}.zip";
       }.${stdenv.hostPlatform.system};
       sha256 = {
-        "i686-linux" = "1x5khnp6yqrjf513x3y6l38rb121nib7d4aiz4cz7fh029kxjhd1";
-        "x86_64-linux" = "1ar8lzkndl7xzcinv93rzg8q25vb23fggbjkhgchgc5x9wkwk8hw";
-        "aarch64-linux" = "1q81pk6qmp96p1dbhx1ijln8f54rac8r81d4ghqx9v756s9szrr1";
+        "i686-linux" = "0rh5bakj9qd43cf6wj5v46a3h98kcwqyc0f1yw72wvcacvjycyjz";
+        "x86_64-linux" = "00nf0cb8cxk1pvzr1wq778wvikzrlzy38r3rzkq44whdpdj50jzx";
+        "aarch64-linux" = "1gv282z49bj3ln5na4wb1z5455a64cyd54fp5i96k8shaxd0apxf";
       }.${stdenv.hostPlatform.system};
       stripRoot = false;
     } else fetchurl {
-      url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_darwin_amd64_v${version}.pkg";
-      sha256 = "0904wwy3wdhfvbkvpdap8141a9gqmn0dw45ikrzsqpg7pv1r2zch";
+      url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_apple_universal_v${version}.pkg";
+      sha256 = "1pqdjr6d23j9fpwgahb0s1ni1bpjv9jajs1hapgq5kdrww2w7nhm";
     };
 
   buildInputs = lib.optionals stdenv.isDarwin [ xar cpio ];
diff --git a/nixpkgs/pkgs/applications/misc/anytype/default.nix b/nixpkgs/pkgs/applications/misc/anytype/default.nix
new file mode 100644
index 000000000000..c479820ba08e
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/anytype/default.nix
@@ -0,0 +1,37 @@
+{ lib, fetchurl, appimageTools }:
+
+let
+  pname = "anytype";
+  version = "0.18.59";
+  name = "Anytype-${version}";
+  nameExecutable = pname;
+  src = fetchurl {
+    url = "https://at9412003.fra1.digitaloceanspaces.com/Anytype-${version}.AppImage";
+    name = "Anytype-${version}.AppImage";
+    sha256 = "sha256-HDhDd23kXhIFXg+QKPNpR2R6QC4oJCnut+gD//qMK1Y=";
+  };
+  appimageContents = appimageTools.extractType2 { inherit name src; };
+in
+appimageTools.wrapType2 {
+  inherit name src;
+
+  extraPkgs = pkgs: (appimageTools.defaultFhsEnvArgs.multiPkgs pkgs)
+    ++ [ pkgs.libsecret ];
+
+  extraInstallCommands = ''
+    mv $out/bin/${name} $out/bin/${pname}
+    install -m 444 -D ${appimageContents}/anytype2.desktop -t $out/share/applications
+    substituteInPlace $out/share/applications/anytype2.desktop \
+      --replace 'Exec=AppRun' 'Exec=${pname}'
+    install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/0x0/apps/anytype2.png \
+      $out/share/icons/hicolor/512x512/apps/anytype2.png
+  '';
+
+  meta = with lib; {
+    description = "P2P note-taking tool";
+    homepage = "https://anytype.io/";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ bbigras ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/appeditor/default.nix b/nixpkgs/pkgs/applications/misc/appeditor/default.nix
index d0db2b12dfdb..a715681ae9f2 100644
--- a/nixpkgs/pkgs/applications/misc/appeditor/default.nix
+++ b/nixpkgs/pkgs/applications/misc/appeditor/default.nix
@@ -11,17 +11,18 @@
 , glib
 , gtk3
 , libgee
-, wrapGAppsHook }:
+, wrapGAppsHook
+}:
 
 stdenv.mkDerivation rec {
   pname = "appeditor";
-  version = "1.1.0";
+  version = "1.1.1";
 
   src = fetchFromGitHub {
     owner = "donadigo";
     repo = "appeditor";
     rev = version;
-    sha256 = "04x2f4x4dp5ca2y3qllqjgirbyl6383pfl4bi9bkcqlg8b5081rg";
+    sha256 = "14ycw1b6v2sa4vljpnx2lpx4w89mparsxk6s8w3yx4dqjglcg5bp";
   };
 
   nativeBuildInputs = [
@@ -41,11 +42,6 @@ stdenv.mkDerivation rec {
     libgee
   ];
 
-  patches = [
-    # See: https://github.com/donadigo/appeditor/issues/88
-    ./fix-build-vala-0.46.patch
-  ];
-
   postPatch = ''
     chmod +x meson/post_install.py
     patchShebangs meson/post_install.py
@@ -62,6 +58,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/donadigo/appeditor";
     maintainers = with maintainers; [ xiorcale ] ++ pantheon.maintainers;
     platforms = platforms.linux;
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/appeditor/fix-build-vala-0.46.patch b/nixpkgs/pkgs/applications/misc/appeditor/fix-build-vala-0.46.patch
deleted file mode 100644
index f6c0b4cfd287..000000000000
--- a/nixpkgs/pkgs/applications/misc/appeditor/fix-build-vala-0.46.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/src/DesktopApp.vala b/src/DesktopApp.vala
-index 0e6fa47..ebcde0c 100644
---- a/src/DesktopApp.vala
-+++ b/src/DesktopApp.vala
-@@ -130,7 +130,7 @@ public class AppEditor.DesktopApp : Object {
- 
-     public unowned string get_path () {
-         if (path == null) {
--            unowned string _path = info.get_string (KeyFileDesktop.KEY_PATH);
-+            string _path = info.get_string (KeyFileDesktop.KEY_PATH);
-             if (_path == null) {
-                 _path = "";
-             }
-@@ -150,7 +150,7 @@ public class AppEditor.DesktopApp : Object {
-     }
- 
-     public bool get_should_show () {
--        return info.should_show () && !get_terminal (); 
-+        return info.should_show () && !get_terminal ();
-     }
- 
-     public string[] get_categories () {
diff --git a/nixpkgs/pkgs/applications/misc/archivebox/default.nix b/nixpkgs/pkgs/applications/misc/archivebox/default.nix
new file mode 100644
index 000000000000..bd1a98ef9cce
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/archivebox/default.nix
@@ -0,0 +1,56 @@
+{ lib
+, buildPythonApplication
+, fetchPypi
+, requests
+, mypy-extensions
+, django_3
+, django_extensions
+, dateparser
+, youtube-dl
+, python-crontab
+, croniter
+, w3lib
+, ipython
+}:
+
+let
+  django_3' = django_3.overridePythonAttrs (old: rec {
+    pname = "Django";
+    version = "3.1.7";
+    src = fetchPypi {
+      inherit pname version;
+      sha256 = "sha256-Ms55Lum2oMu+w0ASPiKayfdl3/jCpK6SR6FLK6OjZac=";
+    };
+  });
+in
+
+buildPythonApplication rec {
+  pname = "archivebox";
+  version = "0.6.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-zHty7lTra6yab9d0q3EqsPG3F+lrnZL6PjQAbL1A2NY=";
+  };
+
+  propagatedBuildInputs = [
+    requests
+    mypy-extensions
+    django_3'
+    django_extensions
+    dateparser
+    youtube-dl
+    python-crontab
+    croniter
+    w3lib
+    ipython
+  ];
+
+  meta = with lib; {
+    description = "Open source self-hosted web archiving";
+    homepage = "https://archivebox.io";
+    license = licenses.mit;
+    maintainers = with maintainers; [ siraben ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/archiver/default.nix b/nixpkgs/pkgs/applications/misc/archiver/default.nix
index 1691ab073610..cf76eda2720c 100644
--- a/nixpkgs/pkgs/applications/misc/archiver/default.nix
+++ b/nixpkgs/pkgs/applications/misc/archiver/default.nix
@@ -16,13 +16,14 @@ buildGoModule rec {
 
   vendorSha256 = "0avnskay23mpl3qkyf1h75rr7szpsxis2bj5pplhwf8q8q0212xf";
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version} -X main.commit=${src.rev} -X main.date=unknown" ];
+  ldflags = [ "-s" "-w" "-X main.version=${version}" "-X main.commit=${src.rev}" "-X main.date=unknown" ];
 
   doCheck = false;
 
   meta = with lib; {
     description = "Easily create & extract archives, and compress & decompress files of various formats";
     homepage = "https://github.com/mholt/archiver";
+    mainProgram = "arc";
     license = licenses.mit;
     maintainers = with maintainers; [ kalbasit ];
   };
diff --git a/nixpkgs/pkgs/applications/misc/archivy/default.nix b/nixpkgs/pkgs/applications/misc/archivy/default.nix
index 0a89e4f47658..fd58ea48e554 100644
--- a/nixpkgs/pkgs/applications/misc/archivy/default.nix
+++ b/nixpkgs/pkgs/applications/misc/archivy/default.nix
@@ -1,23 +1,55 @@
-{ lib
-, buildPythonApplication
-, fetchPypi
-, appdirs
-, attrs
-, beautifulsoup4
-, click-plugins
-, elasticsearch
-, flask-compress
-, flask_login
-, flask_wtf
-, html2text
-, python-dotenv
-, python-frontmatter
-, requests
-, tinydb
-, validators
-, werkzeug
-, wtforms
-}:
+{ lib, stdenv, python3, fetchPypi }:
+
+let
+  defaultOverrides = [
+    (self: super: {
+      flask = super.flask.overridePythonAttrs (oldAttrs: rec {
+        version = "1.1.2";
+        pname = "Flask";
+
+        src = super.fetchPypi {
+          inherit pname version;
+          sha256 = "sha256-Tvoa4tfJhlr0iYbeiuuFBL8yx/PW/ck1PTSyH0sScGA=";
+        };
+
+        checkInputs = [ self.pytest ];
+        propagatedBuildInputs = with self; [ itsdangerous click werkzeug jinja2 ];
+
+        doCheck = false;
+      });
+    })
+
+    (self: super: {
+      flask_login = super.flask_login.overridePythonAttrs (oldAttrs: rec {
+        pname = "Flask";
+        version = "0.5.0";
+
+        src = fetchPypi {
+          inherit pname version;
+          sha256 = "6d33aef15b5bcead780acc339464aae8a6e28f13c90d8b1cf9de8b549d1c0b4b";
+        };
+        doCheck = false;
+      });
+    })
+  ];
+
+  mkOverride = attrname: version: sha256:
+    self: super: {
+      ${attrname} = super.${attrname}.overridePythonAttrs (oldAttrs: {
+        inherit version;
+        src = oldAttrs.src.override {
+          inherit version sha256;
+        };
+      });
+    };
+
+  py = python3.override {
+    # Put packageOverrides at the start so they are applied after defaultOverrides
+    packageOverrides = lib.foldr lib.composeExtensions (self: super: { }) (defaultOverrides);
+  };
+
+in
+with py.pkgs;
 
 buildPythonApplication rec {
   pname = "archivy";
@@ -40,8 +72,7 @@ buildPythonApplication rec {
       --replace 'validators ==' 'validators >=' \
       --replace 'tinydb ==' 'tinydb >=' \
       --replace 'Flask_WTF == 0.14.3' 'Flask_WTF' \
-      --replace 'Werkzeug ==' 'Werkzeug >=' \
-      --replace 'Flask ==' 'Flask >='
+      --replace 'Werkzeug ==' 'Werkzeug >='
   '';
 
   propagatedBuildInputs = [
@@ -57,6 +88,7 @@ buildPythonApplication rec {
     python-dotenv
     python-frontmatter
     requests
+    setuptools
     tinydb
     validators
     werkzeug
diff --git a/nixpkgs/pkgs/applications/misc/audio/wavesurfer/default.nix b/nixpkgs/pkgs/applications/misc/audio/wavesurfer/default.nix
index b7e738cfc125..9c8a99a59347 100644
--- a/nixpkgs/pkgs/applications/misc/audio/wavesurfer/default.nix
+++ b/nixpkgs/pkgs/applications/misc/audio/wavesurfer/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
 
   meta = {
     description = "Tool for recording, playing, editing, viewing and labeling of audio";
-    homepage = "http://www.speech.kth.se/wavesurfer/";
+    homepage = "https://www.speech.kth.se/wavesurfer/";
     license = lib.licenses.bsd0;
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/audio/wavrsocvt/default.nix b/nixpkgs/pkgs/applications/misc/audio/wavrsocvt/default.nix
index 3b32f0d7f30b..6b09a2e38d8c 100644
--- a/nixpkgs/pkgs/applications/misc/audio/wavrsocvt/default.nix
+++ b/nixpkgs/pkgs/applications/misc/audio/wavrsocvt/default.nix
@@ -8,8 +8,6 @@ stdenv.mkDerivation {
     sha256 = "15qlvdfwbiclljj7075ycm78yzqahzrgl4ky8pymix5179acm05h";
   };
 
-  phases = [ "unpackPhase" "installPhase" ];
-
   unpackPhase = ''
     tar -zxf $src
     '';
diff --git a/nixpkgs/pkgs/applications/misc/ausweisapp2/default.nix b/nixpkgs/pkgs/applications/misc/ausweisapp2/default.nix
index bd3194e3fea2..40339b49e27f 100644
--- a/nixpkgs/pkgs/applications/misc/ausweisapp2/default.nix
+++ b/nixpkgs/pkgs/applications/misc/ausweisapp2/default.nix
@@ -3,13 +3,13 @@
 
 mkDerivation rec {
   pname = "AusweisApp2";
-  version = "1.22.0";
+  version = "1.22.2";
 
   src = fetchFromGitHub {
     owner = "Governikus";
     repo = "AusweisApp2";
     rev = version;
-    sha256 = "00isb8xcbm419nvxx2ri0n8x5d403733h2whjqjcd3hmpx3x4q1h";
+    sha256 = "sha256-Oci1y6//45Gep4IS6Ym+v9MPCP5mOswAiWPkXqd+zR0=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/nixpkgs/pkgs/applications/misc/authy/default.nix b/nixpkgs/pkgs/applications/misc/authy/default.nix
index dc8786dcce2b..f242794bff76 100644
--- a/nixpkgs/pkgs/applications/misc/authy/default.nix
+++ b/nixpkgs/pkgs/applications/misc/authy/default.nix
@@ -11,8 +11,8 @@ in
 
 stdenv.mkDerivation rec {
   pname = "authy";
-  version = "1.8.3";
-  rev = "5";
+  version = "1.8.4";
+  rev = "6";
 
   buildInputs = [
     alsa-lib
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://api.snapcraft.io/api/v1/snaps/download/H8ZpNgIoPyvmkgxOWw5MSzsXK1wRZiHn_${rev}.snap";
-    sha256 = "1yfvkmy34mc1dan9am11yka88jv7a4dslsszy4kcc8vap4cjmgpn";
+    sha256 = "07h4mgp229nlvw9ifiiyzph26aa61w4x4f1xya8vw580blrk1ph9";
   };
 
   nativeBuildInputs = [ autoPatchelfHook makeWrapper squashfsTools ];
diff --git a/nixpkgs/pkgs/applications/misc/avrdudess/default.nix b/nixpkgs/pkgs/applications/misc/avrdudess/default.nix
index 14b372d91e59..61cab2b6a2a4 100644
--- a/nixpkgs/pkgs/applications/misc/avrdudess/default.nix
+++ b/nixpkgs/pkgs/applications/misc/avrdudess/default.nix
@@ -10,7 +10,8 @@ stdenv.mkDerivation {
 
   nativeBuildInputs = [ unzip ];
 
-  phases = [ "buildPhase" ];
+  dontUnpack = true;
+  dontInstall = true;
 
   buildPhase = ''
     mkdir -p "$out/avrdudess"
diff --git a/nixpkgs/pkgs/applications/misc/azuredatastudio/default.nix b/nixpkgs/pkgs/applications/misc/azuredatastudio/default.nix
index 56894a29a662..fca1ad12fd1c 100644
--- a/nixpkgs/pkgs/applications/misc/azuredatastudio/default.nix
+++ b/nixpkgs/pkgs/applications/misc/azuredatastudio/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
     at-spi2-atk
   ];
 
-  phases = "unpackPhase fixupPhase";
+  dontInstall = true;
 
   # change this to azuredatastudio-insiders for insiders releases
   edition = "azuredatastudio";
diff --git a/nixpkgs/pkgs/applications/misc/bemenu/default.nix b/nixpkgs/pkgs/applications/misc/bemenu/default.nix
index 371bb3a3ef92..123d839341d6 100644
--- a/nixpkgs/pkgs/applications/misc/bemenu/default.nix
+++ b/nixpkgs/pkgs/applications/misc/bemenu/default.nix
@@ -11,13 +11,13 @@ assert x11Support -> xorg != null;
 
 stdenv.mkDerivation rec {
   pname = "bemenu";
-  version = "0.6.2";
+  version = "0.6.3";
 
   src = fetchFromGitHub {
     owner = "Cloudef";
     repo = pname;
     rev = version;
-    sha256 = "sha256-2xmi/Mh5iU50yc2R1x1yzP8Xaz+mUgLnH73tAeLwxI8=";
+    sha256 = "sha256-U4IMfDvQ0rfEJhE3Uext2c/Cs0mjy1tw+k8uk441Ag8=";
   };
 
   nativeBuildInputs = [ pkg-config pcre ];
diff --git a/nixpkgs/pkgs/applications/misc/bibletime/default.nix b/nixpkgs/pkgs/applications/misc/bibletime/default.nix
index aae4a960a371..3a0cc8ce44f6 100644
--- a/nixpkgs/pkgs/applications/misc/bibletime/default.nix
+++ b/nixpkgs/pkgs/applications/misc/bibletime/default.nix
@@ -3,15 +3,12 @@
 , docbook_xsl_ns }:
 
 mkDerivation rec {
-
-  version = "3.0";
-
   pname = "bibletime";
+  version = "3.0.1";
 
   src = fetchurl {
-    url =
-      "https://github.com/bibletime/bibletime/releases/download/v${version}/${pname}-${version}.tar.xz";
-    sha256 = "08i6nb9a7z0jpsq76q0kr62hw6ph9chqjpjcvkimbcj4mmifzgnn";
+    url = "https://github.com/bibletime/bibletime/releases/download/v${version}/${pname}-${version}.tar.xz";
+    sha256 = "sha256-ay4o8mfgj/m3BBoBMXVgw0NTlaFgJQvLlNYvEZRXSiA=";
   };
 
   nativeBuildInputs = [ cmake pkg-config docbook_xml_dtd_45 ];
@@ -37,11 +34,11 @@ mkDerivation rec {
     "-DBT_DOCBOOK_XSL_PDF_DOCBOOK_XSL=${docbook_xsl_ns}/share/xml/docbook-xsl-ns/html/chunk.xsl"
   ];
 
-  meta = {
+  meta = with lib; {
     description = "A Qt4 Bible study tool";
     homepage = "http://www.bibletime.info/";
-    platforms = lib.platforms.linux;
-    license = lib.licenses.gpl2Plus;
-    maintainers = [ lib.maintainers.piotr ];
+    platforms = platforms.linux;
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.piotr ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/bklk/default.nix b/nixpkgs/pkgs/applications/misc/bklk/default.nix
new file mode 100644
index 000000000000..86b596d395ec
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/bklk/default.nix
@@ -0,0 +1,29 @@
+{ lib, stdenv, fetchFromGitHub, ncurses }:
+
+stdenv.mkDerivation rec {
+  pname = "bklk";
+  version = "unstable-2020-12-29";
+
+  src = fetchFromGitHub {
+    owner = "Ruunyox";
+    repo = pname;
+    rev = "26f3420aa5726e152a745278ddb98dc99c0a935e";
+    sha256 = "sha256-R3H6tv6fzQG41Y2rui0K8fdQ/+Ywnc5hqTPFjktrhF8=";
+  };
+
+  buildInputs = [ ncurses ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp bklk $out/bin
+  '';
+
+  meta = with lib; {
+    description = "Ncurses Binary Clock";
+    longDescription = "bklk is a simple binary clock for your terminal.";
+    homepage = "https://github.com/Ruunyox/bklk";
+    license = licenses.mit;
+    maintainers = with maintainers; [ j0hax ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/blender/default.nix b/nixpkgs/pkgs/applications/misc/blender/default.nix
index 26ca38981341..59de68797830 100644
--- a/nixpkgs/pkgs/applications/misc/blender/default.nix
+++ b/nixpkgs/pkgs/applications/misc/blender/default.nix
@@ -26,11 +26,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "blender";
-  version = "2.93.1";
+  version = "2.93.2";
 
   src = fetchurl {
     url = "https://download.blender.org/source/${pname}-${version}.tar.xz";
-    sha256 = "sha256-IdriOBw/DlpH6B0GKqC1nKnhTZwrIL8U9hkMS20BHNg=";
+    sha256 = "sha256-nG1Kk6UtiCwsQBDz7VELcMRVEovS49QiO3haIpvSfu4=";
   };
 
   patches = lib.optional stdenv.isDarwin ./darwin.patch;
diff --git a/nixpkgs/pkgs/applications/misc/bottles/default.nix b/nixpkgs/pkgs/applications/misc/bottles/default.nix
index 04003f6a9b5c..21e63b8b29bb 100644
--- a/nixpkgs/pkgs/applications/misc/bottles/default.nix
+++ b/nixpkgs/pkgs/applications/misc/bottles/default.nix
@@ -8,13 +8,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "bottles";
-  version = "3.1.6";
+  version = "2021.7.14-treviso";
 
   src = fetchFromGitHub {
     owner = "bottlesdevs";
     repo = pname;
     rev = version;
-    sha256 = "1izks01010akjf83xvi70dr4yzgk6yr84kd0slzz22yq204pdh5m";
+    sha256 = "0xhfk1ll8vacgrr0kkhynq4bryjhfjs29j824bark5mj9b6lkbix";
   };
 
   postPatch = ''
@@ -44,6 +44,8 @@ python3Packages.buildPythonApplication rec {
   ];
 
   propagatedBuildInputs = with python3Packages; [
+    pyyaml
+    requests
     pycairo
     pygobject3
     lxml
diff --git a/nixpkgs/pkgs/applications/misc/calibre/default.nix b/nixpkgs/pkgs/applications/misc/calibre/default.nix
index d27c9c9af653..7ba83e7923e6 100644
--- a/nixpkgs/pkgs/applications/misc/calibre/default.nix
+++ b/nixpkgs/pkgs/applications/misc/calibre/default.nix
@@ -1,6 +1,7 @@
 { lib
 , mkDerivation
 , fetchurl
+, fetchFromGitHub
 , poppler_utils
 , pkg-config
 , libpng
@@ -21,15 +22,16 @@
 , libmtp
 , xdg-utils
 , removeReferencesTo
+, libstemmer
 }:
 
 mkDerivation rec {
   pname = "calibre";
-  version = "5.17.0";
+  version = "5.24.0";
 
   src = fetchurl {
     url = "https://download.calibre-ebook.com/${version}/${pname}-${version}.tar.xz";
-    hash = "sha256-rdiBL3Y3q/0wFfWGE4jGkWakgV8hA9HjDcKXso6tVrs=";
+    hash = "sha256:18dr577nv7ijw3ar6mrk2xrc54mlrqkaj5jrc6s5sirl0710fdfg";
   };
 
   patches = [
@@ -64,6 +66,7 @@ mkDerivation rec {
     libjpeg
     libmtp
     libpng
+    libstemmer
     libusb1
     podofo
     poppler_utils
@@ -72,7 +75,9 @@ mkDerivation rec {
     xdg-utils
   ] ++ (
     with python3Packages; [
-      apsw
+      (apsw.overrideAttrs (oldAttrs: rec {
+        setupPyBuildFlags = [ "--enable=load_extension" ];
+      }))
       beautifulsoup4
       cchardet
       css-parser
@@ -82,6 +87,7 @@ mkDerivation rec {
       feedparser
       html2text
       html5-parser
+      jeepney
       lxml
       markdown
       mechanize
diff --git a/nixpkgs/pkgs/applications/misc/charm/default.nix b/nixpkgs/pkgs/applications/misc/charm/default.nix
index 97e8227e6c96..224336dffabf 100644
--- a/nixpkgs/pkgs/applications/misc/charm/default.nix
+++ b/nixpkgs/pkgs/applications/misc/charm/default.nix
@@ -15,7 +15,7 @@ buildGoModule rec {
 
   doCheck = false;
 
-  buildFlagsArray = [ "-ldflags= -s -w -X=main.Version=${version}" ];
+  ldflags = [ "-s" "-w" "-X=main.Version=${version}" ];
 
   meta = with lib; {
     description = "Manage your charm account on the CLI";
diff --git a/nixpkgs/pkgs/applications/misc/cherrytree/default.nix b/nixpkgs/pkgs/applications/misc/cherrytree/default.nix
index daef73a56796..7458377d42de 100644
--- a/nixpkgs/pkgs/applications/misc/cherrytree/default.nix
+++ b/nixpkgs/pkgs/applications/misc/cherrytree/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cherrytree";
-  version = "0.99.39";
+  version = "0.99.40";
 
   src = fetchFromGitHub {
     owner = "giuspen";
     repo = "cherrytree";
     rev = version;
-    sha256 = "sha256-QSRYtnZxLAaq42PvPd5+LxSzq/Hd/Cz5bquBTiGWnAE=";
+    sha256 = "sha256-K1rf8/7kEpfLOPYJGh5U2eTnr5XCDhuc+seoUAKW7aE=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/misc/chrysalis/default.nix b/nixpkgs/pkgs/applications/misc/chrysalis/default.nix
index 4d6a6943cdeb..55560c50f13f 100644
--- a/nixpkgs/pkgs/applications/misc/chrysalis/default.nix
+++ b/nixpkgs/pkgs/applications/misc/chrysalis/default.nix
@@ -3,12 +3,15 @@
 let
   pname = "chrysalis";
   version = "0.8.4";
-in appimageTools.wrapType2 rec {
+in appimageTools.wrapAppImage rec {
   name = "${pname}-${version}-binary";
 
-  src = fetchurl {
-    url = "https://github.com/keyboardio/${pname}/releases/download/v${version}/${pname}-${version}.AppImage";
-    sha256 = "b41f3e23dac855b1588cff141e3d317f96baff929a0543c79fccee0c6f095bc7";
+  src = appimageTools.extract {
+    inherit name;
+    src = fetchurl {
+      url = "https://github.com/keyboardio/${pname}/releases/download/v${version}/${pname}-${version}.AppImage";
+      sha256 = "b41f3e23dac855b1588cff141e3d317f96baff929a0543c79fccee0c6f095bc7";
+    };
   };
 
   profile = ''
@@ -20,7 +23,18 @@ in appimageTools.wrapType2 rec {
     p.glib
   ];
 
-  extraInstallCommands = "mv $out/bin/${name} $out/bin/${pname}";
+  # Also expose the udev rules here, so it can be used as:
+  #   services.udev.packages = [ pkgs.chrysalis ];
+  # to allow non-root modifications to the keyboards.
+
+  extraInstallCommands = ''
+    mv $out/bin/${name} $out/bin/${pname}
+
+    mkdir -p $out/lib/udev/rules.d
+    ln -s \
+      --target-directory=$out/lib/udev/rules.d \
+      ${src}/resources/static/udev/60-kaleidoscope.rules
+  '';
 
   meta = with lib; {
     description = "A graphical configurator for Kaleidoscope-powered keyboards";
diff --git a/nixpkgs/pkgs/applications/misc/clight/default.nix b/nixpkgs/pkgs/applications/misc/clight/default.nix
index 10ddb2902043..0bed99ab725f 100644
--- a/nixpkgs/pkgs/applications/misc/clight/default.nix
+++ b/nixpkgs/pkgs/applications/misc/clight/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "clight";
-  version = "4.5";
+  version = "4.6";
 
   src = fetchFromGitHub {
     owner = "FedeDP";
     repo = "Clight";
     rev = version;
-    sha256 = "sha256-fvi0JGNNDoxE0iH//HneYwQBBP4mY75AeViLHKQUI30=";
+    sha256 = "sha256-5kFzVHxoiZi8tz42eUprm49JHCeuA4GPwtHvdiS2RJY=";
   };
 
   # dbus-1.pc has datadir=/etc
diff --git a/nixpkgs/pkgs/applications/misc/cointop/default.nix b/nixpkgs/pkgs/applications/misc/cointop/default.nix
index 66d73c94b460..4b2f45c47f4f 100644
--- a/nixpkgs/pkgs/applications/misc/cointop/default.nix
+++ b/nixpkgs/pkgs/applications/misc/cointop/default.nix
@@ -2,18 +2,18 @@
 
 buildGoPackage rec {
   pname = "cointop";
-  version = "1.6.5";
+  version = "1.6.6";
 
   src = fetchFromGitHub {
     owner = "miguelmota";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-pnh4z7vk8xazdBPNbwR5BrKFbi8df8UTM2SOU+KDvsk=";
+    sha256 = "sha256-cn2TtXIxBnEZyWAdtf9ING9I/53z6D8UPVxnFVSkGgo=";
   };
 
   goPackagePath = "github.com/miguelmota/cointop";
 
-  buildFlagsArray = [ "-ldflags=-s -w -X ${goPackagePath}/cointop.version=${version}" ];
+  ldflags = [ "-s" "-w" "-X ${goPackagePath}/cointop.version=${version}" ];
 
   meta = with lib; {
     description = "The fastest and most interactive terminal based UI application for tracking cryptocurrencies";
diff --git a/nixpkgs/pkgs/applications/misc/coreaction/default.nix b/nixpkgs/pkgs/applications/misc/coreaction/default.nix
new file mode 100644
index 000000000000..be9d02bf3393
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/coreaction/default.nix
@@ -0,0 +1,41 @@
+{ mkDerivation, lib, fetchFromGitLab, fetchpatch, qtsvg, qtbase, libcsys, libcprime, cmake, ninja, }:
+
+mkDerivation rec {
+  pname = "coreaction";
+  version = "4.2.0";
+
+  src = fetchFromGitLab {
+    owner = "cubocore/coreapps";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-5qEZNLvbgLoAOXij0wXoVw2iyvytsYZikSJDm6F6ddc=";
+  };
+
+  patches = [
+    ## Fix Plugin Error: "The shared library was not found." "libbatery.so"
+    (fetchpatch {
+      url = "https://gitlab.com/cubocore/coreapps/coreaction/-/commit/1d1307363614a117978723eaad2332e6e8c05b28.patch";
+      sha256 = "039x19rsm23l9vxd5mnbl6gvc3is0igahf47kv54v6apz2q72l3f";
+    })
+  ];
+
+  nativeBuildInputs = [
+    cmake
+    ninja
+  ];
+
+  buildInputs = [
+    qtsvg
+    qtbase
+    libcsys
+    libcprime
+  ];
+
+  meta = with lib; {
+    description = "A side bar for showing widgets from the C Suite";
+    homepage = "https://gitlab.com/cubocore/coreapps/coreaction";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ dan4ik605743 ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/corectrl/default.nix b/nixpkgs/pkgs/applications/misc/corectrl/default.nix
index 32ca4b0e06c4..dc692b67730e 100644
--- a/nixpkgs/pkgs/applications/misc/corectrl/default.nix
+++ b/nixpkgs/pkgs/applications/misc/corectrl/default.nix
@@ -21,13 +21,13 @@
 
 stdenv.mkDerivation rec{
   pname = "corectrl";
-  version = "1.1.3";
+  version = "1.1.4";
 
   src = fetchFromGitLab {
     owner = "corectrl";
     repo = "corectrl";
     rev = "v${version}";
-    sha256 = "sha256-xRyc7FYzG8MnhQ8DjIUHYLeUZCZQdi4j1v1fG7F0+G8=";
+    sha256 = "sha256-o8u9WnkK/6VZ+wlJ9I5Ti6ADjV9VXraRGpSWkDQv5JQ=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/misc/corefm/default.nix b/nixpkgs/pkgs/applications/misc/corefm/default.nix
new file mode 100644
index 000000000000..9ad99e3aa06b
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/corefm/default.nix
@@ -0,0 +1,32 @@
+{ mkDerivation, lib, fetchFromGitLab, qtbase, libcprime, libcsys, cmake, ninja }:
+
+mkDerivation rec {
+  pname = "corefm";
+  version = "4.2.0";
+
+  src = fetchFromGitLab {
+    owner = "cubocore/coreapps";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-PczKIKY9uCD+cAzAC6Gkb+g+cn9KKCQYd3epoZK8bvA=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    ninja
+  ];
+
+  buildInputs = [
+    qtbase
+    libcprime
+    libcsys
+  ];
+
+  meta = with lib; {
+    description = "A lightwight filemanager from the C Suite";
+    homepage = "https://gitlab.com/cubocore/coreapps/corefm";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ dan4ik605743 ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/coregarage/default.nix b/nixpkgs/pkgs/applications/misc/coregarage/default.nix
new file mode 100644
index 000000000000..6d665479764a
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/coregarage/default.nix
@@ -0,0 +1,33 @@
+{ mkDerivation, lib, fetchFromGitLab, qtbase, libarchive, libarchive-qt, libcprime, cmake, ninja }:
+
+mkDerivation rec {
+  pname = "coregarage";
+  version = "4.2.0";
+
+  src = fetchFromGitLab {
+    owner = "cubocore/coreapps";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-2pOQwSj+QKwpHVJp7VCyq6QpVW5wLUf/BE7ReXrJ78s=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    ninja
+  ];
+
+  buildInputs = [
+    qtbase
+    libcprime
+    libarchive
+    libarchive-qt
+  ];
+
+  meta = with lib; {
+    description = "A settings manager for the C Suite";
+    homepage = "https://gitlab.com/cubocore/coreapps/coregarage";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ dan4ik605743 ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/corehunt/default.nix b/nixpkgs/pkgs/applications/misc/corehunt/default.nix
new file mode 100644
index 000000000000..ad1fabb25043
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/corehunt/default.nix
@@ -0,0 +1,31 @@
+{ mkDerivation, lib, fetchFromGitLab, qtbase, libcprime, cmake, ninja }:
+
+mkDerivation rec {
+  pname = "corehunt";
+  version = "4.2.0";
+
+  src = fetchFromGitLab {
+    owner = "cubocore/coreapps";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-KnIqLI8MtLirFycW2YNHAjS7EDfU3dpqb6vVq9Tl6Ow=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    ninja
+  ];
+
+  buildInputs = [
+    qtbase
+    libcprime
+  ];
+
+  meta = with lib; {
+    description = "A file finder utility from the C Suite";
+    homepage = "https://gitlab.com/cubocore/coreapps/corehunt";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ dan4ik605743 ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/coretoppings/0001-fix-install-phase.patch b/nixpkgs/pkgs/applications/misc/coretoppings/0001-fix-install-phase.patch
new file mode 100644
index 000000000000..8a8b0ae40109
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/coretoppings/0001-fix-install-phase.patch
@@ -0,0 +1,8 @@
+--- a/corepkit/CMakeLists.txt
++++ b/corepkit/Cmakelists.txt
+@@ -32,4 +32,4 @@
+ target_link_libraries( corepkit  Qt5::Core )
+ 
+ install( TARGETS corepkit DESTINATION libexec/coreapps/ )
+-install( FILES org.cubocore.coreapps.policy DESTINATION /usr/share/polkit-1/actions/ )
++install( FILES org.cubocore.coreapps.policy DESTINATION ${CMAKE_INSTALL_PREFIX}/usr/share/polkit-1/actions/ )
diff --git a/nixpkgs/pkgs/applications/misc/coretoppings/default.nix b/nixpkgs/pkgs/applications/misc/coretoppings/default.nix
new file mode 100644
index 000000000000..eff253ffcc2e
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/coretoppings/default.nix
@@ -0,0 +1,62 @@
+{ mkDerivation, lib, fetchFromGitLab, libcprime, cmake, ninja
+, ffmpeg, qtbase, qtx11extras, qtconnectivity, v4l-utils, grim, wf-recorder
+, libdbusmenu, playerctl, xorg, iio-sensor-proxy, inotify-tools
+, bluez, networkmanager, connman, redshift, gawk
+, polkit, libnotify, systemd, xdg-utils }:
+
+mkDerivation rec {
+  pname = "coretoppings";
+  version = "4.2.0";
+
+  src = fetchFromGitLab {
+    owner = "cubocore/coreapps";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-DpmzGqjW1swLirRLzd5nblAb40LHAmf8nL+VykQNL3E=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    ninja
+  ];
+
+  patches = [
+    # Fix file cannot create directory: /var/empty/share/polkit-1/actions
+    ./0001-fix-install-phase.patch
+  ];
+
+  buildInputs = [
+    qtbase
+    qtx11extras
+    qtconnectivity
+    libdbusmenu
+    libcprime
+    ffmpeg
+    v4l-utils
+    grim
+    wf-recorder
+    playerctl
+    xorg.xrandr
+    xorg.xinput
+    xorg.libXdamage
+    iio-sensor-proxy
+    inotify-tools
+    bluez
+    networkmanager
+    connman
+    redshift
+    gawk
+    polkit
+    libnotify
+    systemd
+    xdg-utils
+  ];
+
+  meta = with lib; {
+    description = "Additional features,plugins etc for CuboCore Application Suite";
+    homepage = "https://gitlab.com/cubocore/coreapps/coretoppings";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ dan4ik605743 ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/coursera-dl/default.nix b/nixpkgs/pkgs/applications/misc/coursera-dl/default.nix
index 954501c0b7fe..13386699ecbf 100644
--- a/nixpkgs/pkgs/applications/misc/coursera-dl/default.nix
+++ b/nixpkgs/pkgs/applications/misc/coursera-dl/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchFromGitHub, glibcLocales, pandoc, python3 }:
+{ lib, fetchFromGitHub, fetchpatch, glibcLocales, pandoc, python3 }:
 
 let
   pythonPackages = python3.pkgs;
@@ -36,6 +36,13 @@ in pythonPackages.buildPythonApplication rec {
     py.test -k 'not test_get_credentials_with_keyring' .
   '';
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/coursera-dl/coursera-dl/pull/789.patch";
+      sha256 = "sha256:07ca6zdyw3ypv7yzfv2kzmjvv86h0rwzllcg0zky27qppqz917bv";
+    })
+  ];
+
   meta = with lib; {
     description = "CLI for downloading Coursera.org videos and naming them";
     homepage = "https://github.com/coursera-dl/coursera-dl";
diff --git a/nixpkgs/pkgs/applications/misc/crow-translate/default.nix b/nixpkgs/pkgs/applications/misc/crow-translate/default.nix
index 76a5541f6dba..6095a00f6e0f 100644
--- a/nixpkgs/pkgs/applications/misc/crow-translate/default.nix
+++ b/nixpkgs/pkgs/applications/misc/crow-translate/default.nix
@@ -34,31 +34,37 @@ let
   qonlinetranslator = fetchFromGitHub {
     owner = "crow-translate";
     repo = "QOnlineTranslator";
-    rev = "1.4.1";
-    sha256 = "1c6a8mdxms5vh8l7shi2kqdhafbzm50pbz6g1hhgg6qslla0vfn0";
+    rev = "1.4.4";
+    sha256 = "sha256-ogO6ovkQmyvTUPCYAQ4U3AxOju9r3zHB9COnAAfKSKA=";
   };
   circleflags = fetchFromGitHub {
     owner = "HatScripts";
     repo = "circle-flags";
-    rev = "v2.0.0";
-    sha256 = "1xz5b6nhcxxzalcgwnw36npap71i70s50g6b63avjgjkwz1ys5j4";
+    rev = "v2.1.0";
+    sha256 = "sha256-E0iTDjicfdGqK4r+anUZanEII9SBafeEUcMLf7BGdp0=";
+  };
+  we10x = fetchFromGitHub {
+    owner = "yeyushengfan258";
+    repo = "We10X-icon-theme";
+    rev = "bd2c68482a06d38b2641503af1ca127b9e6540db";
+    sha256 = "sha256-T1oPstmjLffnVrIIlmTTpHv38nJHBBGJ070ilRwAjk8=";
   };
 in
 mkDerivation rec {
   pname = "crow-translate";
-  version = "2.8.1";
+  version = "2.8.4";
 
   src = fetchFromGitHub {
     owner = "crow-translate";
-    repo = "crow-translate";
+    repo = pname;
     rev = version;
-    sha256 = "sha256-fmlNUhNorV/MUdfdDXM6puAblTTa6p2slVT/EKy5THg=";
+    sha256 = "sha256-TPJgKTZqsh18BQGFWgp0wsw1ehtI8ydQ7ZCvYNX6pH8=";
   };
 
   patches = [
     (substituteAll {
       src = ./dont-fetch-external-libs.patch;
-      inherit singleapplication qtaskbarcontrol qhotkey qonlinetranslator circleflags;
+      inherit singleapplication qtaskbarcontrol qhotkey qonlinetranslator circleflags we10x;
     })
     (substituteAll {
       # See https://github.com/NixOS/nixpkgs/issues/86054
@@ -67,7 +73,10 @@ mkDerivation rec {
     })
   ];
 
-  postPatch = "cp -r ${circleflags}/flags/* data/icons";
+  postPatch = ''
+    cp -r ${circleflags}/flags/* data/icons
+    cp -r ${we10x}/src/* data/icons
+  '';
 
   nativeBuildInputs = [ cmake extra-cmake-modules qttools ];
 
diff --git a/nixpkgs/pkgs/applications/misc/crow-translate/dont-fetch-external-libs.patch b/nixpkgs/pkgs/applications/misc/crow-translate/dont-fetch-external-libs.patch
index eff303a852c5..116a55a9abdb 100644
--- a/nixpkgs/pkgs/applications/misc/crow-translate/dont-fetch-external-libs.patch
+++ b/nixpkgs/pkgs/applications/misc/crow-translate/dont-fetch-external-libs.patch
@@ -1,26 +1,28 @@
 diff --git i/CMakeLists.txt w/CMakeLists.txt
-index 2576203..26162a0 100644
+index 0cd2140..16e3190 100644
 --- i/CMakeLists.txt
 +++ w/CMakeLists.txt
-@@ -91,12 +91,11 @@ qt5_add_translation(QM_FILES
+@@ -97,13 +97,11 @@ qt5_add_translation(QM_FILES
  )
  
  configure_file(src/cmake.h.in cmake.h)
 -configure_file(data/icons/flags.qrc ${CircleFlags_SOURCE_DIR}/flags/flags.qrc COPYONLY)
+-configure_file(data/icons/we10x.qrc ${We10X_SOURCE_DIR}/src/we10x.qrc COPYONLY)
  
  add_executable(${PROJECT_NAME}
-     ${QM_FILES}
-     data/icons/engines/engines.qrc
 -    ${CircleFlags_SOURCE_DIR}/flags/flags.qrc
 +    data/icons/flags.qrc
+     ${QM_FILES}
+-    ${We10X_SOURCE_DIR}/src/we10x.qrc
++    data/icons/we10x.qrc
+     data/icons/engines/engines.qrc
      src/addlanguagedialog.cpp
      src/addlanguagedialog.ui
-     src/cli.cpp
 diff --git i/cmake/ExternalLibraries.cmake w/cmake/ExternalLibraries.cmake
-index 21eba0a..b613d3e 100644
+index d738716..fb01f3d 100644
 --- i/cmake/ExternalLibraries.cmake
 +++ w/cmake/ExternalLibraries.cmake
-@@ -2,29 +2,24 @@ include(FetchContent)
+@@ -2,34 +2,28 @@ include(FetchContent)
  
  set(QAPPLICATION_CLASS QApplication)
  FetchContent_Declare(SingleApplication
@@ -44,14 +46,20 @@ index 21eba0a..b613d3e 100644
  
  FetchContent_Declare(QOnlineTranslator
 -    GIT_REPOSITORY https://github.com/crow-translate/QOnlineTranslator
--    GIT_TAG 1.4.1
+-    GIT_TAG 1.4.4
 +    SOURCE_DIR @qonlinetranslator@
  )
  
  FetchContent_Declare(CircleFlags
 -    GIT_REPOSITORY https://github.com/HatScripts/circle-flags
--    GIT_TAG v2.0.0
+-    GIT_TAG v2.1.0
 +    SOURCE_DIR @circleflags@
  )
  
- FetchContent_MakeAvailable(SingleApplication QTaskbarControl QHotkey QOnlineTranslator CircleFlags)
+ FetchContent_Declare(We10X
+-    GIT_REPOSITORY https://github.com/yeyushengfan258/We10X-icon-theme
+-    GIT_TAG bd2c68482a06d38b2641503af1ca127b9e6540db
++    SOURCE_DIR @we10x@
+ )
+ 
+ FetchContent_MakeAvailable(SingleApplication QTaskbarControl QHotkey QOnlineTranslator CircleFlags We10X)
diff --git a/nixpkgs/pkgs/applications/misc/dasel/default.nix b/nixpkgs/pkgs/applications/misc/dasel/default.nix
index ded30233d4cb..96042c99b283 100644
--- a/nixpkgs/pkgs/applications/misc/dasel/default.nix
+++ b/nixpkgs/pkgs/applications/misc/dasel/default.nix
@@ -5,20 +5,20 @@
 
 buildGoModule rec {
   pname = "dasel";
-  version = "1.15.0";
+  version = "1.19.0";
 
   src = fetchFromGitHub {
     owner = "TomWright";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-XJSWdXGa1qkkMfETUV8xx9oaMdNVFdO27/GvDvczjG8=";
+    sha256 = "sha256-hV8+j66Z8cs6K1TElM+3ar2C8tSqJJBvBYoU+OWcqcU=";
   };
 
-  vendorSha256 = "sha256-BdX4DO77mIf/+aBdkNVFUzClsIml1UMcgvikDbbdgcY=";
+  vendorSha256 = "sha256-fRG70f2SZr8BOmF+MNLEdJmK1308h+HY4N0kkTpvuPc=";
 
-  buildFlagsArray = ''
-    -ldflags=-s -w -X github.com/tomwright/dasel/internal.Version=${version}
-  '';
+  ldflags = [
+    "-s" "-w" "-X github.com/tomwright/dasel/internal.Version=${version}"
+  ];
 
   doInstallCheck = true;
   installCheckPhase = ''
diff --git a/nixpkgs/pkgs/applications/misc/dbeaver/default.nix b/nixpkgs/pkgs/applications/misc/dbeaver/default.nix
index a15157a9370b..ed3f07713e93 100644
--- a/nixpkgs/pkgs/applications/misc/dbeaver/default.nix
+++ b/nixpkgs/pkgs/applications/misc/dbeaver/default.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dbeaver";
-  version = "21.1.2"; # When updating also update fetchedMavenDeps.sha256
+  version = "21.2.0"; # When updating also update fetchedMavenDeps.sha256
 
   src = fetchFromGitHub {
     owner = "dbeaver";
     repo = "dbeaver";
     rev = version;
-    sha256 = "sha256-3q5LTllyqw7s8unJHTuasBCM4iaJ9lLpwgbXwBGUtIw=";
+    sha256 = "UYLX8oUHHfdsNiby+emunLRPIHo8ht3bfiredXOjkWs=";
   };
 
   fetchedMavenDeps = stdenv.mkDerivation {
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
     dontFixup = true;
     outputHashAlgo = "sha256";
     outputHashMode = "recursive";
-    outputHash = "sha256-QPDnIXP3yB1Dn0LBbBBLvRDbCyguWvG9Zzb1Vjh72UA=";
+    outputHash = "L8kfYkMCbQOZDrSNIfshR/00qYQLTf8WOGQvxmaIwBg=";
   };
 
   nativeBuildInputs = [
@@ -150,6 +150,6 @@ stdenv.mkDerivation rec {
     '';
     license = licenses.asl20;
     platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" ];
-    maintainers = with maintainers; [ jojosch ];
+    maintainers = with maintainers; [ jojosch mkg20001 ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/dstask/default.nix b/nixpkgs/pkgs/applications/misc/dstask/default.nix
index c17ed9b3af5e..4e03059a8cc4 100644
--- a/nixpkgs/pkgs/applications/misc/dstask/default.nix
+++ b/nixpkgs/pkgs/applications/misc/dstask/default.nix
@@ -24,11 +24,11 @@ buildGoModule rec {
   # The other variables are set so that the output of dstask version shows the
   # git ref and the release version from github.
   # Ref <https://github.com/NixOS/nixpkgs/pull/87383#discussion_r432097657>
-  buildFlagsArray = [ ''
-    -ldflags=-w -s
-    -X "github.com/naggie/dstask.VERSION=${version}"
-    -X "github.com/naggie/dstask.GIT_COMMIT=v${version}"
-  '' ];
+  ldflags = [
+    "-w" "-s"
+    "-X github.com/naggie/dstask.VERSION=${version}"
+    "-X github.com/naggie/dstask.GIT_COMMIT=v${version}"
+  ];
 
   subPackages = [ "cmd/dstask.go" ];
 
diff --git a/nixpkgs/pkgs/applications/misc/electrum/default.nix b/nixpkgs/pkgs/applications/misc/electrum/default.nix
index 28c965a72b5c..f722b2315c00 100644
--- a/nixpkgs/pkgs/applications/misc/electrum/default.nix
+++ b/nixpkgs/pkgs/applications/misc/electrum/default.nix
@@ -43,6 +43,20 @@ let
       mv ./all/electrum/tests $out
     '';
   };
+
+  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 +80,7 @@ python3.pkgs.buildPythonApplication {
 
   nativeBuildInputs = lib.optionals enableQt [ wrapQtAppsHook ];
 
-  propagatedBuildInputs = with python3.pkgs; [
+  propagatedBuildInputs = with py.pkgs; [
     aiohttp
     aiohttp-socks
     aiorpcx
@@ -87,7 +101,10 @@ python3.pkgs.buildPythonApplication {
     ckcc-protocol
     keepkey
     trezor
-  ] ++ lib.optionals enableQt [ pyqt5 qdarkstyle ];
+  ] ++ lib.optionals enableQt [
+    pyqt5
+    qdarkstyle
+  ];
 
   preBuild = ''
     sed -i 's,usr_share = .*,usr_share = "'$out'/share",g' setup.py
diff --git a/nixpkgs/pkgs/applications/misc/elogind/default.nix b/nixpkgs/pkgs/applications/misc/elogind/default.nix
index a3919648f749..7ff20b16d79a 100644
--- a/nixpkgs/pkgs/applications/misc/elogind/default.nix
+++ b/nixpkgs/pkgs/applications/misc/elogind/default.nix
@@ -29,13 +29,13 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "elogind";
-  version = "243.7";
+  version = "246.10";
 
   src = fetchFromGitHub {
     owner = "elogind";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0cihdf7blhncm2359qxli24j9l3dkn15gjys5vpjwny80zlym5ma";
+    sha256 = "sha256-+Nv6FL9Yjmfxs24+2mUTP//wbjzGUq4ftgJLfuEqBJg=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/misc/emem/default.nix b/nixpkgs/pkgs/applications/misc/emem/default.nix
index ab718cdffcf2..f82ce53d9746 100644
--- a/nixpkgs/pkgs/applications/misc/emem/default.nix
+++ b/nixpkgs/pkgs/applications/misc/emem/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "18x3s3jrph8k3pc75jgwkfqazygpsx93zjxx68zms58my17cybh1";
   };
 
-  phases = [ "buildPhase" "installPhase" ];
+  dontUnpack = true;
 
   buildPhase = ''
     mkdir -p $out/bin $out/share/java
diff --git a/nixpkgs/pkgs/applications/misc/etesync-dav/default.nix b/nixpkgs/pkgs/applications/misc/etesync-dav/default.nix
index ba3568f862c4..3acb493c1c04 100644
--- a/nixpkgs/pkgs/applications/misc/etesync-dav/default.nix
+++ b/nixpkgs/pkgs/applications/misc/etesync-dav/default.nix
@@ -2,11 +2,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "etesync-dav";
-  version = "0.30.7";
+  version = "0.30.8";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "16b3105834dd6d9e374e976cad0978e1acfed0f0328c5054bc214550aea3e2c5";
+    sha256 = "sha256-HBLQsq3B6TMdcnUt8ukbk3+S0Ed44+gePkpuGZ2AyC4=";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/nixpkgs/pkgs/applications/misc/expenses/default.nix b/nixpkgs/pkgs/applications/misc/expenses/default.nix
index cd40b381cb74..052a7905f5b3 100644
--- a/nixpkgs/pkgs/applications/misc/expenses/default.nix
+++ b/nixpkgs/pkgs/applications/misc/expenses/default.nix
@@ -23,8 +23,8 @@ buildGoModule rec {
 
   buildInputs = [ sqlite ];
 
-  buildFlagsArray = [
-    "-ldflags=-s -w -X github.com/manojkarthick/expenses/cmd.Version=${version}"
+  ldflags = [
+    "-s" "-w" "-X github.com/manojkarthick/expenses/cmd.Version=${version}"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/misc/fbmenugen/0001-Fix-paths.patch b/nixpkgs/pkgs/applications/misc/fbmenugen/0001-Fix-paths.patch
index b52aeafb5f36..1db7aeb738bb 100644
--- a/nixpkgs/pkgs/applications/misc/fbmenugen/0001-Fix-paths.patch
+++ b/nixpkgs/pkgs/applications/misc/fbmenugen/0001-Fix-paths.patch
@@ -1,14 +1,14 @@
-From 76c25147328d71960c70bbdd5a9396aac4a362a2 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= <malaquias@gmail.com>
-Date: Wed, 20 May 2020 14:19:07 -0300
+From b65921873585616c86a591eee9efbc68f84eb3d3 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Jos=C3=A9=20Romildo?= <malaquias@gmail.com>
+Date: Wed, 25 Aug 2021 12:03:09 -0300
 Subject: [PATCH] Fix paths
 
 ---
- fbmenugen | 14 ++++++--------
- 1 file changed, 6 insertions(+), 8 deletions(-)
+ fbmenugen | 11 +++++------
+ 1 file changed, 5 insertions(+), 6 deletions(-)
 
 diff --git a/fbmenugen b/fbmenugen
-index 46a18dc..0c8eb08 100755
+index 241be16..5fc9aea 100755
 --- a/fbmenugen
 +++ b/fbmenugen
 @@ -214,9 +214,7 @@ my %CONFIG = (
@@ -22,15 +22,6 @@ index 46a18dc..0c8eb08 100755
              "$home_dir/.local/share/applications",
          ],
  #>>>
-@@ -232,7 +230,7 @@ my %CONFIG = (
-     force_icon_size  => 0,
-     generic_fallback => 0,
-     locale_support   => 1,
--    use_gtk3         => 0,
-+    use_gtk3         => 1,
- 
-     VERSION => $version,
-              );
 @@ -252,7 +250,7 @@ if (not -e $config_file) {
  }
  
@@ -40,7 +31,7 @@ index 46a18dc..0c8eb08 100755
          require File::Copy;
          File::Copy::copy($etc_schema_file, $schema_file)
            or warn "$0: can't copy file `$etc_schema_file' to `$schema_file': $!\n";
-@@ -570,7 +568,7 @@ EXIT
+@@ -588,7 +586,7 @@ EXIT
          $generated_menu .= begin_category(@{$schema->{fluxbox}}) . <<"FOOTER";
  [config] (Configure)
  [submenu] (System Styles) {Choose a style...}
@@ -49,7 +40,7 @@ index 46a18dc..0c8eb08 100755
  [end]
  [submenu] (User Styles) {Choose a style...}
    [stylesdir] (~/.fluxbox/styles)
-@@ -580,12 +578,12 @@ EXIT
+@@ -598,12 +596,13 @@ EXIT
    [exec] (Screenshot - JPG) {import screenshot.jpg && display -resize 50% screenshot.jpg}
    [exec] (Screenshot - PNG) {import screenshot.png && display -resize 50% screenshot.png}
    [exec] (Run) {fbrun}
@@ -59,11 +50,11 @@ index 46a18dc..0c8eb08 100755
  [commanddialog] (Fluxbox Command)
    [reconfig] (Reload config)
    [restart] (Restart)
--  [exec] (About) {(fluxbox -v; fluxbox -info | sed 1d) | xmessage -file - -center}
+   [exec] (About) {(fluxbox -v; fluxbox -info | sed 1d) | xmessage -file - -center}
 +  [exec] (About) {(@fluxbox@/bin/fluxbox -v; @fluxbox@/bin/fluxbox -info | @gnused@/bin/sed 1d) | @xmessage@/bin/xmessage -file - -center}
    [separator]
    [exit] (Exit)
  [end]
 -- 
-2.26.2
+2.32.0
 
diff --git a/nixpkgs/pkgs/applications/misc/fbmenugen/default.nix b/nixpkgs/pkgs/applications/misc/fbmenugen/default.nix
index 36629179ab58..06d7453ede66 100644
--- a/nixpkgs/pkgs/applications/misc/fbmenugen/default.nix
+++ b/nixpkgs/pkgs/applications/misc/fbmenugen/default.nix
@@ -11,13 +11,13 @@
 
 perlPackages.buildPerlPackage rec {
   pname = "fbmenugen";
-  version = "0.85";
+  version = "0.86";
 
   src = fetchFromGitHub {
     owner = "trizen";
     repo = pname;
     rev = version;
-    sha256 = "1pmms3wzkm8h41a8zrkpn6gq9m9yy5wr5rrzmb84lbacprqq6q7q";
+    sha256 = "0ya7s8b5xbaplz365bnr580szxxsngrs2n7smj8vz8a7kwi0319q";
   };
 
   patches = [
@@ -68,7 +68,7 @@ perlPackages.buildPerlPackage rec {
   meta = with lib; {
     homepage = "https://github.com/trizen/fbmenugen";
     description = "Simple menu generator for the Fluxbox Window Manager";
-    license = licenses.gpl3;
+    license = licenses.gpl3Only;
     platforms = platforms.linux;
     maintainers = [ maintainers.romildo ];
   };
diff --git a/nixpkgs/pkgs/applications/misc/fetchmail/default.nix b/nixpkgs/pkgs/applications/misc/fetchmail/default.nix
index d1659822bb2d..4baa3a094261 100644
--- a/nixpkgs/pkgs/applications/misc/fetchmail/default.nix
+++ b/nixpkgs/pkgs/applications/misc/fetchmail/default.nix
@@ -1,22 +1,19 @@
 { lib, stdenv, fetchurl, openssl }:
 
-let
-  version = "6.4.16";
-in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "fetchmail";
-  inherit version;
+  version = "6.4.21";
 
   src = fetchurl {
     url = "mirror://sourceforge/fetchmail/fetchmail-${version}.tar.xz";
-    sha256 = "sha256-BEuaCsA6+653RJed7+Pi4y45FBvKaP0Mje2i7UCIT7k=";
+    sha256 = "sha256-akWcHK/XodqlzRNxQNpgwYyEtWmc2OckmnnDM0LJnR0=";
   };
 
   buildInputs = [ openssl ];
 
   configureFlags = [ "--with-ssl=${openssl.dev}" ];
 
-  meta = {
+  meta = with lib; {
     homepage = "https://www.fetchmail.info/";
     description = "A full-featured remote-mail retrieval and forwarding utility";
     longDescription = ''
@@ -27,9 +24,8 @@ stdenv.mkDerivation {
       all flavors of IMAP, ETRN, and ODMR. It can even support IPv6 and
       IPSEC.
     '';
-
-    platforms = lib.platforms.unix;
-    maintainers = [ lib.maintainers.peti ];
-    license = lib.licenses.gpl2Plus;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.peti ];
+    license = licenses.gpl2Plus;
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/firestarter/default.nix b/nixpkgs/pkgs/applications/misc/firestarter/default.nix
index 7215cc564490..b2ca9a0cab62 100644
--- a/nixpkgs/pkgs/applications/misc/firestarter/default.nix
+++ b/nixpkgs/pkgs/applications/misc/firestarter/default.nix
@@ -1,32 +1,83 @@
-{ lib, stdenv, fetchFromGitHub, glibc, python3, cudatoolkit,
-  withCuda ? true
+{ stdenv
+, lib
+, fetchFromGitHub
+, fetchzip
+, cmake
+, glibc_multi
+, glibc
+, git
+, pkg-config
+, cudatoolkit
+, withCuda ? false
+, linuxPackages
 }:
 
-with lib;
+let
+  hwloc = stdenv.mkDerivation rec {
+    pname = "hwloc";
+    version = "2.2.0";
+
+    src = fetchzip {
+      url = "https://download.open-mpi.org/release/hwloc/v${lib.versions.majorMinor version}/hwloc-${version}.tar.gz";
+      sha256 = "1ibw14h9ppg8z3mmkwys8vp699n85kymdz20smjd2iq9b67y80b6";
+    };
+
+    configureFlags = [
+      "--enable-static"
+      "--disable-libudev"
+      "--disable-shared"
+      "--disable-doxygen"
+      "--disable-libxml2"
+      "--disable-cairo"
+      "--disable-io"
+      "--disable-pci"
+      "--disable-opencl"
+      "--disable-cuda"
+      "--disable-nvml"
+      "--disable-gl"
+      "--disable-libudev"
+      "--disable-plugin-dlopen"
+      "--disable-plugin-ltdl"
+    ];
+
+    nativeBuildInputs = [ pkg-config ];
+
+    enableParallelBuilding = true;
+
+    outputs = [ "out" "lib" "dev" "doc" "man" ];
+  };
+
+in
 stdenv.mkDerivation rec {
   pname = "firestarter";
-  version = "1.7.4";
+  version = "2.0";
 
   src = fetchFromGitHub {
     owner = "tud-zih-energy";
     repo = "FIRESTARTER";
     rev = "v${version}";
-    sha256 = "0zqfqb7hf48z39g1qhbl1iraf8rz4d629h1q6ikizckpzfq23kd0";
+    sha256 = "1ik6j1lw5nldj4i3lllrywqg54m9i2vxkxsb2zr4q0d2rfywhn23";
+    fetchSubmodules = true;
   };
 
-  nativeBuildInputs = [ python3 ];
-  buildInputs = [ glibc.static ] ++ optionals withCuda [ cudatoolkit ];
-  preBuild = ''
-    mkdir -p build
-    cd build
-    python ../code-generator.py ${optionalString withCuda "--enable-cuda"}
-  '';
-  makeFlags = optionals withCuda [ "LINUX_CUDA_PATH=${cudatoolkit}" ];
-  enableParallelBuilding = true;
+  nativeBuildInputs = [ cmake git pkg-config ];
+
+  buildInputs = [ hwloc ] ++ (if withCuda then
+    [ glibc_multi cudatoolkit linuxPackages.nvidia_x11 ]
+  else
+    [ glibc.static ]);
+
+  cmakeFlags = [
+    "-DFIRESTARTER_BUILD_HWLOC=OFF"
+    "-DCMAKE_C_COMPILER_WORKS=1"
+    "-DCMAKE_CXX_COMPILER_WORKS=1"
+  ] ++ lib.optionals withCuda [
+    "-DFIRESTARTER_BUILD_TYPE=FIRESTARTER_CUDA"
+  ];
 
   installPhase = ''
     mkdir -p $out/bin
-    cp FIRESTARTER $out/bin/firestarter
+    cp src/FIRESTARTER${lib.optionalString withCuda "_CUDA"} $out/bin/
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/misc/fluidd/default.nix b/nixpkgs/pkgs/applications/misc/fluidd/default.nix
new file mode 100644
index 000000000000..eee466650e3d
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/fluidd/default.nix
@@ -0,0 +1,34 @@
+{ lib, stdenvNoCC, fetchurl, unzip }:
+
+stdenvNoCC.mkDerivation rec {
+  pname = "fluidd";
+  version = "1.16.2";
+
+  src = fetchurl {
+    name = "fluidd-v${version}.zip";
+    url = "https://github.com/cadriel/fluidd/releases/download/v${version}/fluidd.zip";
+    sha256 = "1qwj25xvvxvm1fxx216nn2gp7js4d682mm3l4s7ns90fc5ygvc8i";
+  };
+
+  nativeBuildInputs = [ unzip ];
+
+  dontConfigure = true;
+  dontBuild = true;
+
+  unpackPhase = ''
+    mkdir fluidd
+    unzip $src -d fluidd
+  '';
+
+  installPhase = ''
+    mkdir -p $out/share/fluidd
+    cp -r fluidd $out/share/fluidd/htdocs
+  '';
+
+  meta = with lib; {
+    description = "Klipper web interface";
+    homepage = "https://docs.fluidd.xyz";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ zhaofengli ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/fnott/default.nix b/nixpkgs/pkgs/applications/misc/fnott/default.nix
new file mode 100644
index 000000000000..4c2e262c9ae1
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/fnott/default.nix
@@ -0,0 +1,58 @@
+{ stdenv
+, lib
+, fetchFromGitea
+, pkg-config
+, meson
+, ninja
+, scdoc
+, wayland-protocols
+, tllist
+, fontconfig
+, freetype
+, pixman
+, libpng
+, wayland
+, wlroots
+, dbus
+, fcft
+}:
+
+stdenv.mkDerivation rec {
+  pname = "fnott";
+  version = "1.1.0";
+
+  src = fetchFromGitea {
+    domain = "codeberg.org";
+    owner = "dnkl";
+    repo = "fnott";
+    rev = version;
+    sha256 = "sha256-gzU5AqjCIZlhLbnj/xuSGJ69ZhLv9zQxlM0Nn+MIX/U=";
+  };
+
+  nativeBuildInputs = [
+    pkg-config
+    meson
+    ninja
+    scdoc
+    wayland-protocols
+    tllist
+  ];
+  buildInputs = [
+    fontconfig
+    freetype
+    pixman
+    libpng
+    wayland
+    wlroots
+    dbus
+    fcft
+  ];
+
+  meta = with lib; {
+    homepage = "https://codeberg.org/dnkl/fnott";
+    description = "Keyboard driven and lightweight Wayland notification daemon for wlroots-based compositors.";
+    license = licenses.mit;
+    maintainers = with maintainers; [ polykernel ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/free42/default.nix b/nixpkgs/pkgs/applications/misc/free42/default.nix
index 2dd70acb9a73..0aae4ab3baf7 100644
--- a/nixpkgs/pkgs/applications/misc/free42/default.nix
+++ b/nixpkgs/pkgs/applications/misc/free42/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "free42";
-  version = "3.0.5";
+  version = "3.0.6";
 
   src = fetchFromGitHub {
     owner = "thomasokken";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ytRPIBE8KcuM+pyfdKt/b+Vi03x8nowdgZjSt8EddSc=";
+    sha256 = "sha256-PIHokB7GlGtx1A0IqFX9+HA/Vab1CDpVS/qhk/y8Nzk=";
   };
 
   nativeBuildInputs = [ copyDesktopItems pkg-config ];
diff --git a/nixpkgs/pkgs/applications/misc/freeplane/default.nix b/nixpkgs/pkgs/applications/misc/freeplane/default.nix
index f9c04fedfdd9..37c4abb37646 100644
--- a/nixpkgs/pkgs/applications/misc/freeplane/default.nix
+++ b/nixpkgs/pkgs/applications/misc/freeplane/default.nix
@@ -2,13 +2,13 @@
 
 let
   pname = "freeplane";
-  version = "1.8.11";
+  version = "1.9.5";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "release-${version}";
-    sha256 = "07xjx9pf62dvy8lx6vnbwwcn1zqy89cmdmwy792k7gb12wz81nnc";
+    sha256 = "qfhhmF3mePxcL4U8izkEmWaiaOLi4slsaymVnDoO3sY=";
   };
 
   deps = stdenv.mkDerivation {
@@ -31,7 +31,7 @@ let
 
     outputHashAlgo = "sha256";
     outputHashMode = "recursive";
-    outputHash = "0r7f6713m0whh5hlk1id7z9j5v9494r41sivn9fzl63q70kzz92g";
+    outputHash = "xphTzaSXTGpP7vI/t4oIiv1ZpbekG2dFRzyl3ub6qnA=";
   };
 
   # Point to our local deps repo
diff --git a/nixpkgs/pkgs/applications/misc/fuzzel/default.nix b/nixpkgs/pkgs/applications/misc/fuzzel/default.nix
index 1e51f69f1c1f..e43304c5bc18 100644
--- a/nixpkgs/pkgs/applications/misc/fuzzel/default.nix
+++ b/nixpkgs/pkgs/applications/misc/fuzzel/default.nix
@@ -1,22 +1,75 @@
-{ stdenv, lib, fetchzip, pkg-config, meson, ninja, wayland, pixman, cairo, librsvg, wayland-protocols, wlroots, libxkbcommon, scdoc, git, tllist, fcft}:
+{ stdenv
+, lib
+, fetchFromGitea
+, pkg-config
+, meson
+, ninja
+, wayland-scanner
+, wayland
+, pixman
+, wayland-protocols
+, libxkbcommon
+, scdoc
+, tllist
+, fcft
+, enableCairo ? true
+, enablePNG ? true
+, enableSVG ? true
+# Optional dependencies
+, cairo
+, librsvg
+, libpng
+}:
+
+let
+  # Courtesy of sternenseemann and FRidh, commit c9a7fdfcfb420be8e0179214d0d91a34f5974c54
+  mesonFeatureFlag = opt: b: "-D${opt}=${if b then "enabled" else "disabled"}";
+in
 
 stdenv.mkDerivation rec {
   pname = "fuzzel";
-  version = "1.6.0";
+  version = "1.6.1";
 
-  src = fetchzip {
-    url = "https://codeberg.org/dnkl/fuzzel/archive/${version}.tar.gz";
-    sha256 = "sha256-iTpUWvQszDtNc1gDqkPbhvgUVNWydpivhnOCHMJVtSw=";
+  src = fetchFromGitea {
+    domain = "codeberg.org";
+    owner = "dnkl";
+    repo = "fuzzel";
+    rev = version;
+    sha256 = "sha256-JW5sAlTprSRIdFbmSaUreGtNccERgQMGEW+WCSscYQk=";
   };
 
-  nativeBuildInputs = [ pkg-config meson ninja scdoc git ];
-  buildInputs = [ wayland pixman cairo librsvg wayland-protocols  wlroots libxkbcommon tllist fcft ];
+  nativeBuildInputs = [
+    pkg-config
+    wayland-scanner
+    meson
+    ninja
+    scdoc
+  ];
+
+  buildInputs = [
+    wayland
+    pixman
+    wayland-protocols
+    libxkbcommon
+    tllist
+    fcft
+  ] ++ lib.optional enableCairo cairo
+    ++ lib.optional enablePNG libpng
+    ++ lib.optional enableSVG librsvg;
+
+  mesonBuildType = "release";
+
+  mesonFlags = [
+    (mesonFeatureFlag "enable-cairo" enableCairo)
+    (mesonFeatureFlag "enable-png" enablePNG)
+    (mesonFeatureFlag "enable-svg" enableSVG)
+  ];
 
   meta = with lib; {
     description = "Wayland-native application launcher, similar to rofi’s drun mode";
     homepage = "https://codeberg.org/dnkl/fuzzel";
     license = licenses.mit;
-    maintainers = with maintainers; [ fionera ];
+    maintainers = with maintainers; [ fionera polykernel ];
     platforms = with platforms; linux;
     changelog = "https://codeberg.org/dnkl/fuzzel/releases/tag/${version}";
   };
diff --git a/nixpkgs/pkgs/applications/misc/gallery-dl/default.nix b/nixpkgs/pkgs/applications/misc/gallery-dl/default.nix
index b617e7b2ea19..94852aa13851 100644
--- a/nixpkgs/pkgs/applications/misc/gallery-dl/default.nix
+++ b/nixpkgs/pkgs/applications/misc/gallery-dl/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonApplication rec {
   pname = "gallery_dl";
-  version = "1.18.1";
+  version = "1.18.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1e231ed7122a753430d92f8c6240a99defa2b307d57f1a4cc3e48910269331a9";
+    sha256 = "6e058dd25a8a54ead41479579fd73de71472abb980a6254765c5e538b591d162";
   };
 
   propagatedBuildInputs = [ requests ];
diff --git a/nixpkgs/pkgs/applications/misc/ganttproject-bin/default.nix b/nixpkgs/pkgs/applications/misc/ganttproject-bin/default.nix
index 2b4504a1dce2..76a19f5188c8 100644
--- a/nixpkgs/pkgs/applications/misc/ganttproject-bin/default.nix
+++ b/nixpkgs/pkgs/applications/misc/ganttproject-bin/default.nix
@@ -15,8 +15,6 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ jre ];
 
-  phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
-
   installPhase = let
 
     desktopItem = makeDesktopItem {
diff --git a/nixpkgs/pkgs/applications/misc/genact/default.nix b/nixpkgs/pkgs/applications/misc/genact/default.nix
new file mode 100644
index 000000000000..44e4bd2a0b38
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/genact/default.nix
@@ -0,0 +1,22 @@
+{ fetchFromGitHub, lib, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "genact";
+  version = "0.11.0";
+
+  src = fetchFromGitHub {
+    owner = "svenstaro";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1hc4jwk5rr1yw3pfvriash7b03j181k8c9y7m3sglkk8xnff219c";
+  };
+
+  cargoSha256 = "0a5ic6c7fvmg2kh3qprzffnpw40cmrgbscrlhxxs3m7nxfjdh7bc";
+
+  meta = with lib; {
+    description = "A nonsense activity generator";
+    homepage = "https://github.com/svenstaro/genact";
+    license = licenses.mit;
+    maintainers = with maintainers; [ figsoda ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/geoipupdate/default.nix b/nixpkgs/pkgs/applications/misc/geoipupdate/default.nix
index e85ada2253fe..d92c4d049135 100644
--- a/nixpkgs/pkgs/applications/misc/geoipupdate/default.nix
+++ b/nixpkgs/pkgs/applications/misc/geoipupdate/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "geoipupdate";
-  version = "4.7.1";
+  version = "4.8.0";
 
   src = fetchFromGitHub {
     owner = "maxmind";
     repo = "geoipupdate";
     rev = "v${version}";
-    sha256 = "sha256-nshQxr6y3TxKsAVSA9mzL7LJfCtpv0QuuTTqk3/lENc=";
+    sha256 = "sha256-fcz1g17JR6jOpq5zOpCmnI00hyXSYYGHfoFRE8/c8dk=";
   };
 
-  vendorSha256 = "sha256-fqQWFhFeyW4GntRBxEeN6WSOo0G+1hH9vSEZmBKglz8=";
+  vendorSha256 = "sha256-YawWlPZV4bBOsOFDo2nIXKWwcxb5hWy5OiB99MG0HcY=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/applications/misc/gollum/Gemfile b/nixpkgs/pkgs/applications/misc/gollum/Gemfile
index 525f54838b75..a15179970b3d 100644
--- a/nixpkgs/pkgs/applications/misc/gollum/Gemfile
+++ b/nixpkgs/pkgs/applications/misc/gollum/Gemfile
@@ -1,2 +1,8 @@
 source 'https://rubygems.org'
 gem 'gollum'
+
+gem 'asciidoctor'
+gem 'creole'
+gem 'wikicloth'
+gem 'org-ruby'
+gem 'RedCloth'
diff --git a/nixpkgs/pkgs/applications/misc/gollum/Gemfile.lock b/nixpkgs/pkgs/applications/misc/gollum/Gemfile.lock
index 73bc5d068d73..4d0d9adf7725 100644
--- a/nixpkgs/pkgs/applications/misc/gollum/Gemfile.lock
+++ b/nixpkgs/pkgs/applications/misc/gollum/Gemfile.lock
@@ -1,9 +1,14 @@
 GEM
   remote: https://rubygems.org/
   specs:
+    RedCloth (4.3.2)
+    asciidoctor (2.0.15)
+    builder (3.2.4)
     concurrent-ruby (1.1.8)
     crass (1.0.6)
+    creole (0.5.0)
     execjs (2.7.0)
+    expression_parser (0.9.0)
     ffi (1.14.2)
     gemojione (4.3.3)
       json
@@ -36,6 +41,7 @@ GEM
     gollum-rugged_adapter (1.0)
       mime-types (>= 1.15)
       rugged (~> 0.99)
+    htmlentities (4.3.4)
     json (2.5.1)
     kramdown (2.3.0)
       rexml
@@ -59,6 +65,8 @@ GEM
       racc (~> 1.4)
     octicons (12.1.0)
       nokogiri (>= 1.6.3.1)
+    org-ruby (0.9.12)
+      rubypants (~> 0.2)
     racc (1.5.2)
     rack (2.2.3)
     rack-protection (2.1.0)
@@ -71,6 +79,7 @@ GEM
     rss (0.2.9)
       rexml
     ruby2_keywords (0.0.4)
+    rubypants (0.7.1)
     rugged (0.99.0)
     sass (3.7.4)
       sass-listen (~> 4.0.0)
@@ -105,12 +114,23 @@ GEM
       unf_ext
     unf_ext (0.0.7.7)
     useragent (0.16.10)
+    wikicloth (0.8.3)
+      builder
+      expression_parser
+      htmlentities
+      nokogiri
+      twitter-text
 
 PLATFORMS
   ruby
 
 DEPENDENCIES
+  RedCloth
+  asciidoctor
+  creole
   gollum
+  org-ruby
+  wikicloth
 
 BUNDLED WITH
-   2.1.4
+   2.2.20
diff --git a/nixpkgs/pkgs/applications/misc/gollum/default.nix b/nixpkgs/pkgs/applications/misc/gollum/default.nix
index 4a365b5a17ed..cc9f9df0c608 100644
--- a/nixpkgs/pkgs/applications/misc/gollum/default.nix
+++ b/nixpkgs/pkgs/applications/misc/gollum/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, bundlerEnv, ruby, makeWrapper, bundlerUpdateScript
-, git }:
+, git, docutils, perl }:
 
 stdenv.mkDerivation rec {
   pname = "gollum";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ makeWrapper ];
 
-  phases = [ "installPhase" ];
+  dontUnpack = true;
 
   installPhase = let
     env = bundlerEnv {
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   in ''
     mkdir -p $out/bin
     makeWrapper ${env}/bin/gollum $out/bin/gollum \
-      --prefix PATH ":" ${lib.makeBinPath [ git ]}
+      --prefix PATH ":" ${lib.makeBinPath [ git docutils perl]}
     makeWrapper ${env}/bin/gollum-migrate-tags $out/bin/gollum-migrate-tags \
       --prefix PATH ":" ${lib.makeBinPath [ git ]}
   '';
diff --git a/nixpkgs/pkgs/applications/misc/gollum/gemset.nix b/nixpkgs/pkgs/applications/misc/gollum/gemset.nix
index 690eba645dc1..8b0822d9a533 100644
--- a/nixpkgs/pkgs/applications/misc/gollum/gemset.nix
+++ b/nixpkgs/pkgs/applications/misc/gollum/gemset.nix
@@ -1,4 +1,24 @@
 {
+  asciidoctor = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0k3lijm4dmiz977bfmpclk5glj5jwv7bidamwwwywm60ywb0n4n4";
+      type = "gem";
+    };
+    version = "2.0.15";
+  };
+  builder = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "045wzckxpwcqzrjr353cxnyaxgf0qg22jh00dcx7z38cys5g1jlr";
+      type = "gem";
+    };
+    version = "3.2.4";
+  };
   concurrent-ruby = {
     groups = ["default"];
     platforms = [];
@@ -19,6 +39,16 @@
     };
     version = "1.0.6";
   };
+  creole = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "00rcscz16idp6dx0dk5yi5i0fz593i3r6anbn5bg2q07v3i025wm";
+      type = "gem";
+    };
+    version = "0.5.0";
+  };
   execjs = {
     groups = ["default"];
     platforms = [];
@@ -29,6 +59,16 @@
     };
     version = "2.7.0";
   };
+  expression_parser = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1938z3wmmdabqxlh5d5c56xfg1jc6z15p7zjyhvk7364zwydnmib";
+      type = "gem";
+    };
+    version = "0.9.0";
+  };
   ffi = {
     groups = ["default"];
     platforms = [];
@@ -93,6 +133,16 @@
     };
     version = "1.0";
   };
+  htmlentities = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1nkklqsn8ir8wizzlakncfv42i32wc0w9hxp00hvdlgjr7376nhj";
+      type = "gem";
+    };
+    version = "4.3.4";
+  };
   json = {
     groups = ["default"];
     platforms = [];
@@ -231,6 +281,17 @@
     };
     version = "12.1.0";
   };
+  org-ruby = {
+    dependencies = ["rubypants"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0x69s7aysfiwlcpd9hkvksfyld34d8kxr62adb59vjvh8hxfrjwk";
+      type = "gem";
+    };
+    version = "0.9.12";
+  };
   racc = {
     groups = ["default"];
     platforms = [];
@@ -283,6 +344,16 @@
     };
     version = "0.10.1";
   };
+  RedCloth = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0m9dv7ya9q93r8x1pg2gi15rxlbck8m178j1fz7r5v6wr1avrrqy";
+      type = "gem";
+    };
+    version = "4.3.2";
+  };
   rexml = {
     groups = ["default"];
     platforms = [];
@@ -324,6 +395,16 @@
     };
     version = "0.0.4";
   };
+  rubypants = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0kv2way45d2dz3h5b7wxyw36clvlwrz7ydf6699d0za5vm56gsrh";
+      type = "gem";
+    };
+    version = "0.7.1";
+  };
   rugged = {
     groups = ["default"];
     platforms = [];
@@ -484,4 +565,15 @@
     };
     version = "0.16.10";
   };
+  wikicloth = {
+    dependencies = ["builder" "expression_parser" "htmlentities" "nokogiri" "twitter-text"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0c78r1rg93mb5rcrfxl01b162ma9sh46dhjksc4c9dngg62nhbjh";
+      type = "gem";
+    };
+    version = "0.8.3";
+  };
 }
diff --git a/nixpkgs/pkgs/applications/misc/gpu-burn/default.nix b/nixpkgs/pkgs/applications/misc/gpu-burn/default.nix
new file mode 100644
index 000000000000..ad11b734762e
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/gpu-burn/default.nix
@@ -0,0 +1,45 @@
+{ lib, stdenv, fetchFromGitHub, addOpenGLRunpath, cudatoolkit }:
+
+stdenv.mkDerivation rec {
+  pname = "gpu-burn";
+  version = "unstable-2021-04-29";
+
+  src = fetchFromGitHub {
+    owner = "wilicc";
+    repo = "gpu-burn";
+    rev = "1e9a84f4bec3b0835c00daace45d79ed6c488edb";
+    sha256 = "sha256-x+kta81Z08PsBgbf+fzRTXhNXUPBd5w8bST/T5nNiQA=";
+  };
+
+  postPatch = ''
+    substituteInPlace gpu_burn-drv.cpp \
+      --replace "const char *kernelFile = \"compare.ptx\";" \
+                "const char *kernelFile = \"$out/share/compare.ptx\";"
+  '';
+
+  buildInputs = [ cudatoolkit ];
+
+  nativeBuildInputs = [ addOpenGLRunpath ];
+
+  makeFlags = [ "CUDAPATH=${cudatoolkit}" ];
+
+  LDFLAGS = "-L${cudatoolkit}/lib/stubs";
+
+  installPhase = ''
+    mkdir -p $out/{bin,share}
+    cp gpu_burn $out/bin/
+    cp compare.ptx $out/share/
+  '';
+
+  postFixup = ''
+    addOpenGLRunpath $out/bin/gpu_burn
+  '';
+
+  meta = with lib; {
+    homepage = "http://wili.cc/blog/gpu-burn.html";
+    description = "Multi-GPU CUDA stress test";
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ elohmeier ];
+    license = licenses.bsd2;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/gpxsee/default.nix b/nixpkgs/pkgs/applications/misc/gpxsee/default.nix
index a2280e8bb012..4dcad13a10cf 100644
--- a/nixpkgs/pkgs/applications/misc/gpxsee/default.nix
+++ b/nixpkgs/pkgs/applications/misc/gpxsee/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "gpxsee";
-  version = "9.2";
+  version = "9.5";
 
   src = fetchFromGitHub {
     owner = "tumic0";
     repo = "GPXSee";
     rev = version;
-    sha256 = "sha256-pU02Eaq6tB7X6EPOo8YAyryJRbSV3KebQv8VELxXaBw=";
+    sha256 = "sha256-KYw3RXdL/iiE2zFbrDzRWe8jdLYbF6gvOFAGyWgd3GM=";
   };
 
   patches = (substituteAll {
diff --git a/nixpkgs/pkgs/applications/misc/gramps/default.nix b/nixpkgs/pkgs/applications/misc/gramps/default.nix
index 1628f0473fa6..b22a09691bb3 100644
--- a/nixpkgs/pkgs/applications/misc/gramps/default.nix
+++ b/nixpkgs/pkgs/applications/misc/gramps/default.nix
@@ -9,7 +9,7 @@
 let
   inherit (pythonPackages) python buildPythonApplication;
 in buildPythonApplication rec {
-  version = "5.1.3";
+  version = "5.1.4";
   pname = "gramps";
 
   nativeBuildInputs = [ wrapGAppsHook intltool gettext ];
@@ -26,7 +26,7 @@ in buildPythonApplication rec {
     owner = "gramps-project";
     repo = "gramps";
     rev = "v${version}";
-    sha256 = "109dwkswz2h2328xkqk2zj736d117s9pp7rz5cc1qg2vxn1lpm93";
+    sha256 = "00358nzyw686ypqv45imc5k9frcqnhla0hpx9ynna3iy6iz5006x";
   };
 
   pythonPath = with pythonPackages; [ bsddb3 PyICU pygobject3 pycairo ];
diff --git a/nixpkgs/pkgs/applications/misc/haxor-news/default.nix b/nixpkgs/pkgs/applications/misc/haxor-news/default.nix
index fc9607e7be6b..f5a723f59018 100644
--- a/nixpkgs/pkgs/applications/misc/haxor-news/default.nix
+++ b/nixpkgs/pkgs/applications/misc/haxor-news/default.nix
@@ -7,7 +7,7 @@ let
       self = py;
 
       # not compatible with prompt_toolkit >=2.0
-      prompt_toolkit = super.prompt_toolkit.overridePythonAttrs (oldAttrs: rec {
+      prompt-toolkit = super.prompt-toolkit.overridePythonAttrs (oldAttrs: rec {
         name = "${oldAttrs.pname}-${version}";
         version = "1.0.18";
         src = oldAttrs.src.override {
@@ -37,7 +37,7 @@ buildPythonApplication rec {
     colorama
     requests
     pygments
-    prompt_toolkit
+    prompt-toolkit
     six
   ];
 
diff --git a/nixpkgs/pkgs/applications/misc/hello-unfree/default.nix b/nixpkgs/pkgs/applications/misc/hello-unfree/default.nix
index 7c54c3201111..5c9a507fc071 100644
--- a/nixpkgs/pkgs/applications/misc/hello-unfree/default.nix
+++ b/nixpkgs/pkgs/applications/misc/hello-unfree/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   pname = "example-unfree-package";
   version = "1.0";
 
-  phases = [ "installPhase" "fixupPhase" ];
+  dontUnpack = true;
 
   installPhase = ''
     mkdir -p $out/bin
diff --git a/nixpkgs/pkgs/applications/misc/houdini/default.nix b/nixpkgs/pkgs/applications/misc/houdini/default.nix
index db06efd6a2a2..f55752a22923 100644
--- a/nixpkgs/pkgs/applications/misc/houdini/default.nix
+++ b/nixpkgs/pkgs/applications/misc/houdini/default.nix
@@ -1,18 +1,37 @@
-{ callPackage, buildFHSUserEnv, undaemonize, unwrapped ? callPackage ./runtime.nix {} }:
+{ lib, stdenv, writeScript, callPackage, buildFHSUserEnv, undaemonize, unwrapped ? callPackage ./runtime.nix {} }:
 
-let
-  houdini-runtime = callPackage ./runtime.nix { };
-in buildFHSUserEnv {
-  name = "houdini-${houdini-runtime.version}";
+buildFHSUserEnv rec {
+  name = "houdini-${unwrapped.version}";
 
-  extraBuildCommands = ''
-    mkdir -p $out/usr/lib/sesi
-  '';
+  targetPkgs = pkgs: with pkgs; [
+    libGLU libGL alsa-lib fontconfig zlib libpng dbus nss nspr expat pciutils
+    libxkbcommon libudev0-shim tbb
+  ] ++ (with xorg; [
+    libICE libSM libXmu libXi libXext libX11 libXrender libXcursor libXfixes
+    libXrender libXcomposite libXdamage libXtst libxcb libXScrnSaver
+  ]);
 
   passthru = {
-    unwrapped = houdini-runtime;
+    inherit unwrapped;
   };
 
-  runScript = "${undaemonize}/bin/undaemonize ${houdini-runtime}/bin/houdini";
-}
+  extraInstallCommands = let
+    executables = [ "bin/houdini" "bin/hkey" "houdini/sbin/sesinetd" ];
+  in ''
+    WRAPPER=$out/bin/${name}
+    EXECUTABLES="${lib.concatStringsSep " " executables}"
+    for executable in $EXECUTABLES; do
+      mkdir -p $out/$(dirname $executable)
 
+      echo "#!${stdenv.shell}" >> $out/$executable
+      echo "$WRAPPER ${unwrapped}/$executable \$@" >> $out/$executable
+    done
+
+    cd $out
+    chmod +x $EXECUTABLES
+  '';
+
+  runScript = writeScript "${name}-wrapper" ''
+    exec $@
+  '';
+}
diff --git a/nixpkgs/pkgs/applications/misc/houdini/runtime.nix b/nixpkgs/pkgs/applications/misc/houdini/runtime.nix
index 8436b66719f7..4fb2d91b99f4 100644
--- a/nixpkgs/pkgs/applications/misc/houdini/runtime.nix
+++ b/nixpkgs/pkgs/applications/misc/houdini/runtime.nix
@@ -1,50 +1,14 @@
-{ lib, stdenv, requireFile, zlib, libpng, libSM, libICE, fontconfig, xorg, libGLU, libGL, alsa-lib
-, dbus, xkeyboardconfig, nss, nspr, expat, pciutils, libxkbcommon, bc, addOpenGLRunpath
-}:
+{ lib, stdenv, requireFile, bc }:
 
 let
-  # NOTE: Some dependencies only show in errors when run with QT_DEBUG_PLUGINS=1
-  ld_library_path = builtins.concatStringsSep ":" [
-    "${stdenv.cc.cc.lib}/lib64"
-    (lib.makeLibraryPath [
-      libGLU
-      libGL
-      xorg.libXmu
-      xorg.libXi
-      xorg.libXext
-      xorg.libX11
-      xorg.libXrender
-      xorg.libXcursor
-      xorg.libXfixes
-      xorg.libXrender
-      xorg.libXcomposite
-      xorg.libXdamage
-      xorg.libXtst
-      xorg.libxcb
-      xorg.libXScrnSaver
-      alsa-lib
-      fontconfig
-      libSM
-      libICE
-      zlib
-      libpng
-      dbus
-      addOpenGLRunpath.driverLink
-      nss
-      nspr
-      expat
-      pciutils
-      libxkbcommon
-    ])
-  ];
   license_dir = "~/.config/houdini";
 in
 stdenv.mkDerivation rec {
-  version = "18.0.460";
+  version = "18.5.596";
   pname = "houdini-runtime";
   src = requireFile rec {
-    name = "houdini-${version}-linux_x86_64_gcc6.3.tar.gz";
-    sha256 = "18rbwszcks2zfn9zbax62rxmq50z9mc3h39b13jpd39qjqdd3jsd";
+    name = "houdini-py3-${version}-linux_x86_64_gcc6.3.tar.gz";
+    sha256 = "1b1k7rkn7svmciijqdwvi9p00srsf81vkb55grjg6xa7fgyidjx1";
     url = meta.homepage;
   };
 
@@ -52,37 +16,25 @@ stdenv.mkDerivation rec {
   installPhase = ''
     patchShebangs houdini.install
     mkdir -p $out
-    sed -i "s|/usr/lib/sesi|${license_dir}|g" houdini.install
     ./houdini.install --install-houdini \
+                      --install-license \
                       --no-install-menus \
                       --no-install-bin-symlink \
                       --auto-install \
                       --no-root-check \
-                      --accept-EULA \
+                      --accept-EULA 2020-05-05 \
                       $out
-    echo -e "localValidatorDir = ${license_dir}\nlicensingMode = localValidator" > $out/houdini/Licensing.opt
-    sed -i "s|/usr/lib/sesi|${license_dir}|g" $out/houdini/sbin/sesinetd_safe
-    sed -i "s|/usr/lib/sesi|${license_dir}|g" $out/houdini/sbin/sesinetd.startup
-    echo "export LD_LIBRARY_PATH=${ld_library_path}" >> $out/bin/app_init.sh
-    echo "export QT_XKB_CONFIG_ROOT="${xkeyboardconfig}/share/X11/xkb"" >> $out/bin/app_init.sh
-    echo "export LD_LIBRARY_PATH=${ld_library_path}" >> $out/houdini/sbin/app_init.sh
-    echo "export QT_XKB_CONFIG_ROOT="${xkeyboardconfig}/share/X11/xkb"" >> $out/houdini/sbin/app_init.sh
+    echo "licensingMode = localValidator" >> $out/houdini/Licensing.opt
   '';
-  postFixup = ''
-    INTERPRETER="$(cat "$NIX_CC"/nix-support/dynamic-linker)"
-    for BIN in $(find $out/bin -type f -executable); do
-      if patchelf $BIN 2>/dev/null ; then
-        echo "Patching ELF $BIN"
-        patchelf --set-interpreter "$INTERPRETER" "$BIN"
-      fi
-    done
-  '';
-  meta = {
+
+  dontFixup = true;
+
+  meta = with lib; {
     description = "3D animation application software";
     homepage = "https://www.sidefx.com";
-    license = lib.licenses.unfree;
-    platforms = lib.platforms.linux;
+    license = licenses.unfree;
+    platforms = platforms.linux;
     hydraPlatforms = [ ]; # requireFile src's should be excluded
-    maintainers = with lib.maintainers; [ canndrew kwohlfahrt ];
+    maintainers = with maintainers; [ canndrew kwohlfahrt ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/hubstaff/default.nix b/nixpkgs/pkgs/applications/misc/hubstaff/default.nix
index 1bc22b6613d4..b49993ddb9c3 100644
--- a/nixpkgs/pkgs/applications/misc/hubstaff/default.nix
+++ b/nixpkgs/pkgs/applications/misc/hubstaff/default.nix
@@ -4,9 +4,9 @@
 , curl, writeShellScript, common-updater-scripts }:
 
 let
-  url = "https://hubstaff-production.s3.amazonaws.com/downloads/HubstaffClient/Builds/Release/1.5.19-9e79d1da/Hubstaff-1.5.19-9e79d1da.sh";
-  version = "1.5.19-9e79d1da";
-  sha256 = "1l4sq8cblpl1kclkx5pgy0ldfmqa3n8bvdl5qml0n78r0lpk382j";
+  url = "https://hubstaff-production.s3.amazonaws.com/downloads/HubstaffClient/Builds/Release/1.6.0-02e625d8/Hubstaff-1.6.0-02e625d8.sh";
+  version = "1.6.0-02e625d8";
+  sha256 = "1rd4icgy25j9l1xs6djmpv2nc2ilvjpblddv95xvvz39z82sfr29";
 
   rpath = lib.makeLibraryPath
     [ libX11 zlib libSM libICE libXext freetype libXrender fontconfig libXft
diff --git a/nixpkgs/pkgs/applications/misc/hugo/default.nix b/nixpkgs/pkgs/applications/misc/hugo/default.nix
index a0491a09884d..7b3f6122a62b 100644
--- a/nixpkgs/pkgs/applications/misc/hugo/default.nix
+++ b/nixpkgs/pkgs/applications/misc/hugo/default.nix
@@ -2,22 +2,22 @@
 
 buildGoModule rec {
   pname = "hugo";
-  version = "0.85.0";
+  version = "0.88.0";
 
   src = fetchFromGitHub {
     owner = "gohugoio";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-IW41e4imaXKcXJKa7dAB60ulvRrk3qvF1//Lo55TLVI=";
+    sha256 = "sha256-6dJ8H9oJwIW7rY2NrYVKuWDjwrFc9C30Vb0i20+opM0=";
   };
 
-  vendorSha256 = "sha256-ZIGw349m6k8qqrzUN/oYV/HrgBvfOo/ovjo1SUDRmyk=";
+  vendorSha256 = "sha256-VX+oIz5wAyEQ4nky3kXmJZbMF0MvfAKdEAMLnS0hXc8=";
 
   doCheck = false;
 
   runVend = true;
 
-  buildFlags = [ "-tags" "extended" ];
+  tags = [ "extended" ];
 
   subPackages = [ "." ];
 
diff --git a/nixpkgs/pkgs/applications/misc/ikiwiki/default.nix b/nixpkgs/pkgs/applications/misc/ikiwiki/default.nix
index 8865435339c3..135132bd4316 100644
--- a/nixpkgs/pkgs/applications/misc/ikiwiki/default.nix
+++ b/nixpkgs/pkgs/applications/misc/ikiwiki/default.nix
@@ -1,39 +1,28 @@
-{ lib, stdenv, fetchurl, perlPackages, gettext, makeWrapper, PerlMagick, which, highlight
-, gitSupport ? false, git ? null
-, docutilsSupport ? false, python ? null, docutils ? null
-, monotoneSupport ? false, monotone ? null
-, bazaarSupport ? false, breezy ? null
-, cvsSupport ? false, cvs ? null, cvsps ? null
-, subversionSupport ? false, subversion ? null
-, mercurialSupport ? false, mercurial ? null
+{ lib, stdenv, fetchurl, perlPackages, gettext, makeWrapper, ImageMagick, which, highlight
+, gitSupport ? false, git
+, docutilsSupport ? false, python, docutils
+, monotoneSupport ? false, monotone
+, bazaarSupport ? false, breezy
+, cvsSupport ? false, cvs, cvsps
+, subversionSupport ? false, subversion
+, mercurialSupport ? false, mercurial
 , extraUtils ? []
 }:
 
-assert docutilsSupport -> (python != null && docutils != null);
-assert gitSupport -> (git != null);
-assert monotoneSupport -> (monotone != null);
-assert bazaarSupport -> (breezy != null);
-assert cvsSupport -> (cvs != null && cvsps != null && perlPackages.Filechdir != null);
-assert subversionSupport -> (subversion != null);
-assert mercurialSupport -> (mercurial != null);
-
-let
-  name = "ikiwiki";
+stdenv.mkDerivation rec {
+  pname = "ikiwiki";
   version = "3.20200202.3";
-in
-stdenv.mkDerivation {
-  name = "${name}-${version}";
 
   src = fetchurl {
-    url = "mirror://debian/pool/main/i/ikiwiki/${name}_${version}.orig.tar.xz";
+    url = "mirror://debian/pool/main/i/ikiwiki/ikiwiki_${version}.orig.tar.xz";
     sha256 = "0skrc8r4wh4mjfgw1c94awr5sacfb9nfsbm4frikanc9xsy16ksr";
   };
 
   buildInputs = [ which highlight ]
     ++ (with perlPackages; [ perl TextMarkdown URI HTMLParser HTMLScrubber HTMLTemplate
-          TimeDate gettext makeWrapper DBFile CGISession CGIFormBuilder LocaleGettext
-          RpcXML XMLSimple PerlMagick YAML YAMLLibYAML HTMLTree AuthenPassphrase
-          NetOpenIDConsumer LWPxParanoidAgent CryptSSLeay ])
+      TimeDate gettext makeWrapper DBFile CGISession CGIFormBuilder LocaleGettext
+      RpcXML XMLSimple ImageMagick YAML YAMLLibYAML HTMLTree AuthenPassphrase
+      NetOpenIDConsumer LWPxParanoidAgent CryptSSLeay ])
     ++ lib.optionals docutilsSupport [python docutils]
     ++ lib.optionals gitSupport [git]
     ++ lib.optionals monotoneSupport [monotone]
@@ -80,11 +69,11 @@ stdenv.mkDerivation {
   checkTarget = "test";
   doCheck = true;
 
-  meta = {
+  meta = with lib; {
     description = "Wiki compiler, storing pages and history in a RCS";
     homepage = "http://ikiwiki.info/";
-    license = lib.licenses.gpl2Plus;
-    platforms = lib.platforms.linux;
-    maintainers = [ lib.maintainers.peti ];
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.peti ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/joplin-desktop/default.nix b/nixpkgs/pkgs/applications/misc/joplin-desktop/default.nix
index 527c2f3bab11..02e3596e05ee 100644
--- a/nixpkgs/pkgs/applications/misc/joplin-desktop/default.nix
+++ b/nixpkgs/pkgs/applications/misc/joplin-desktop/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "joplin-desktop";
-  version = "2.1.9";
+  version = "2.3.5";
   name = "${pname}-${version}";
 
   inherit (stdenv.hostPlatform) system;
@@ -16,8 +16,8 @@ let
   src = fetchurl {
     url = "https://github.com/laurent22/joplin/releases/download/v${version}/Joplin-${version}.${suffix}";
     sha256 = {
-      x86_64-linux = "1s7zydi90yzafii42m3aaf3niqlmdy2m494j2b3yrz2j26njj4q9";
-      x86_64-darwin = "1pvl08yhcrnrvdybfmkigaidhfrrg42bb6rzv96zyq9w4k0l0lm8";
+      x86_64-linux = "sha256-Qy/CpIEfAZ9735mwcNaJIw+qVmYXVwQ7gJuUj2lpQc4=";
+      x86_64-darwin = "sha256-7I+fhcFFW/WihuUkSE5Pc8RhKszSgByP58H3sKSJbrc=";
     }.${system} or throwSystem;
   };
 
@@ -55,7 +55,8 @@ let
       install -Dm444 ${appimageContents}/@joplinapp-desktop.desktop -t $out/share/applications
       install -Dm444 ${appimageContents}/@joplinapp-desktop.png -t $out/share/pixmaps
       substituteInPlace $out/share/applications/@joplinapp-desktop.desktop \
-        --replace 'Exec=AppRun' 'Exec=${pname}'
+        --replace 'Exec=AppRun' 'Exec=${pname}' \
+        --replace 'Icon=joplin' "Icon=$out/share/pixmaps/@joplinapp-desktop.png"
     '';
   };
 
diff --git a/nixpkgs/pkgs/applications/misc/josm/default.nix b/nixpkgs/pkgs/applications/misc/josm/default.nix
index 96ea01f53740..71d70774b11a 100644
--- a/nixpkgs/pkgs/applications/misc/josm/default.nix
+++ b/nixpkgs/pkgs/applications/misc/josm/default.nix
@@ -3,20 +3,20 @@
 }:
 let
   pname = "josm";
-  version = "17919";
+  version = "18118";
   srcs = {
     jar = fetchurl {
       url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar";
-      sha256 = "sha256-Bj1s3vFSHPiZNTjp7hQhu1X2v8nlynC37Cm6sMNOi3g=";
+      sha256 = "01wcbf1mh1gqxnqkc3j6h64h9sz0yd5wiwpyx4ic4d5fwkh65qym";
     };
     macosx = fetchurl {
       url = "https://josm.openstreetmap.de/download/macosx/josm-macos-${version}-java16.zip";
-      sha256 = "sha256-W+s6ARA5lyRwTuRD89wm4HChb2Up5AXQwh5uk0U7pQk=";
+      sha256 = "0i1vglqg49fd3w2bny01l92wj4hvr3y35rrmd1mdff0lc1zhi397";
     };
     pkg = fetchsvn {
       url = "https://josm.openstreetmap.de/svn/trunk/native/linux/tested";
       rev = version;
-      sha256 = "sha256-IjCFngixh2+7SifrV3Ohi1BjIOP+QSWg/QjeqbbP7aw=";
+      sha256 = "0gyj9kdzl920mjdmqjgiscqxyqhnvh22l6sjicf059ga0fsr3ki1";
     };
   };
 in
diff --git a/nixpkgs/pkgs/applications/misc/keepass/default.nix b/nixpkgs/pkgs/applications/misc/keepass/default.nix
index 843193bba182..f2846de37d3f 100644
--- a/nixpkgs/pkgs/applications/misc/keepass/default.nix
+++ b/nixpkgs/pkgs/applications/misc/keepass/default.nix
@@ -3,11 +3,11 @@
 
 with builtins; buildDotnetPackage rec {
   baseName = "keepass";
-  version = "2.46";
+  version = "2.48.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/keepass/KeePass-${version}-Source.zip";
-    sha256 = "0zyclydgyg8nhwxrzw7x4f82975cqdmp12py33k6sballx6jhgiy";
+    sha256 = "sha256-HkAgKPvf8TUgUlgsGWVgjuYJaRPGi8obOFQEtmzDtLE=";
   };
 
   sourceRoot = ".";
@@ -84,7 +84,7 @@ with builtins; buildDotnetPackage rec {
   # after loading. It is brought into plugins bin/ directory using
   # buildEnv in the plugin derivation. Wrapper below makes sure it
   # is found and does not pollute output path.
-  binPaths = lib.concatStrings (lib.intersperse ":" (map (x: x + "/bin") plugins));
+  binPaths = lib.concatStringsSep ":" (map (x: x + "/bin") plugins);
 
   dynlibPath = lib.makeLibraryPath [ gtk2 ];
 
diff --git a/nixpkgs/pkgs/applications/misc/khal/default.nix b/nixpkgs/pkgs/applications/misc/khal/default.nix
index 8ad7578adebb..c20a5bbf6b29 100644
--- a/nixpkgs/pkgs/applications/misc/khal/default.nix
+++ b/nixpkgs/pkgs/applications/misc/khal/default.nix
@@ -2,11 +2,11 @@
 
 with python3.pkgs; buildPythonApplication rec {
   pname = "khal";
-  version = "0.10.3";
+  version = "0.10.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-L92PwU/ll+Wn1unGPHho2WC07QIbVjxoSnHwcJDtpDI=";
+    sha256 = "3fdb980a9a61c0206d7a82b16f77b408a4f341a2b866b9c9fcf6a641850d129f";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/misc/kile-wl/default.nix b/nixpkgs/pkgs/applications/misc/kile-wl/default.nix
index 9146f38df369..03786a629975 100644
--- a/nixpkgs/pkgs/applications/misc/kile-wl/default.nix
+++ b/nixpkgs/pkgs/applications/misc/kile-wl/default.nix
@@ -2,20 +2,20 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "kile-wl";
-  version = "unstable-2021-06-24";
+  version = "unstable-2021-08-03";
 
   src = fetchFromGitLab {
     owner = "snakedye";
     repo = "kile";
-    rev = "6a306b0b5af0f250135eb88e0e72a5038fccd6a8";
-    sha256 = "sha256-DznIDzI5rNrlKJdXjpOpsLL8IO6tuIvW0pNdRN8N6Go=";
+    rev = "7f0b1578352d935084d3d56ef42487d2a8cfbfe8";
+    sha256 = "sha256-Ir9LNQt7/7TjhCJ69HYx1tBXeq/i7F3ydmenvchZgDI=";
   };
 
   passthru.updateScript = unstableGitUpdater {
     url = "https://gitlab.com/snakedye/kile.git";
   };
 
-  cargoSha256 = "sha256-LFRqhgvziQ7a8OWRzXqNIfziP6bRHTe2oF55N09rFy8=";
+  cargoSha256 = "sha256-195rPxX3BTxJ0xLgye14aWuBd5OuJ30wyUa4wrbQ3Xo=";
 
   nativeBuildInputs = [ scdoc ];
 
diff --git a/nixpkgs/pkgs/applications/misc/klayout/default.nix b/nixpkgs/pkgs/applications/misc/klayout/default.nix
index d1326848d2d6..2d75a9da818d 100644
--- a/nixpkgs/pkgs/applications/misc/klayout/default.nix
+++ b/nixpkgs/pkgs/applications/misc/klayout/default.nix
@@ -5,13 +5,13 @@
 
 mkDerivation rec {
   pname = "klayout";
-  version = "0.26.10";
+  version = "0.27.3";
 
   src = fetchFromGitHub {
     owner = "KLayout";
     repo = "klayout";
     rev = "v${version}";
-    sha256 = "sha256-h2jCmLZ2pRlK8VblQosBX0ZcoHDnn4oYeSqzA3y1Tzg=";
+    sha256 = "sha256-6g/QoR16rhUfxhH4JxL6EERcoPVG/6MOxUlo6K/WoE0=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/applications/misc/kratos/default.nix b/nixpkgs/pkgs/applications/misc/kratos/default.nix
index 65b32c458638..c07dbd456760 100644
--- a/nixpkgs/pkgs/applications/misc/kratos/default.nix
+++ b/nixpkgs/pkgs/applications/misc/kratos/default.nix
@@ -2,20 +2,20 @@
 
 buildGoModule rec {
   pname = "kratos";
-  version = "0.6.0-alpha.2";
+  version = "0.7.1-alpha.1";
 
   src = fetchFromGitHub {
     owner = "ory";
     repo = "kratos";
     rev = "v${version}";
-    sha256 = "0zg6afzqi5fmr7hmy1cd7fknd1bcplz3h0f7z67l75v8k2n73md1";
+    sha256 = "0n0qjnwavr34g8b6vr000wgpbnmyq7n1grcy79cvzdrnc8jxkgxi";
   };
 
-  vendorSha256 = "16qg44k97l6719hib8vbv0j15x6gvs9d6738d2y990a2qiqbsqpw";
+  vendorSha256 = "14x2flimhvd2wdkajvsm5bqbqikgirynzxs27mzlx0bvhliv247s";
 
   subPackages = [ "." ];
 
-  buildFlags = [ "-tags sqlite" ];
+  tags = [ "sqlite" ];
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/applications/misc/latte-dock/default.nix b/nixpkgs/pkgs/applications/misc/latte-dock/default.nix
index 1840804ce739..43e3014db3a1 100644
--- a/nixpkgs/pkgs/applications/misc/latte-dock/default.nix
+++ b/nixpkgs/pkgs/applications/misc/latte-dock/default.nix
@@ -3,11 +3,11 @@
 
 mkDerivation rec {
   pname = "latte-dock";
-  version = "0.9.12";
+  version = "0.10.0";
 
   src = fetchurl {
     url = "https://download.kde.org/stable/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-srivjGnrEizLvph7AP/02dOsnMyTnL3a6f0xm8oGML4=";
+    sha256 = "04kq86qmrjbzidrkknj000pv1b5z0r7nfidhy2zv67ks8fdi4zln";
     name = "${pname}-${version}.tar.xz";
   };
 
diff --git a/nixpkgs/pkgs/applications/misc/lenmus/default.nix b/nixpkgs/pkgs/applications/misc/lenmus/default.nix
index a9aef85753ec..1dac72bd0d74 100644
--- a/nixpkgs/pkgs/applications/misc/lenmus/default.nix
+++ b/nixpkgs/pkgs/applications/misc/lenmus/default.nix
@@ -46,5 +46,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers;  [ ramkromberg ];
     platforms = with platforms; linux;
+    broken = stdenv.hostPlatform.isAarch64;
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/logseq/default.nix b/nixpkgs/pkgs/applications/misc/logseq/default.nix
index 7367d18ddf8b..46e170f4db17 100644
--- a/nixpkgs/pkgs/applications/misc/logseq/default.nix
+++ b/nixpkgs/pkgs/applications/misc/logseq/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "logseq";
-  version = "0.2.6";
+  version = "0.3.3";
 
   src = fetchurl {
     url = "https://github.com/logseq/logseq/releases/download/${version}/logseq-linux-x64-${version}.AppImage";
-    sha256 = "/tpegRGyGPviYpaSbWw7fH9ntvR7vUSD5rmwDMST5+Y=";
+    sha256 = "OweKV+vF8H1QMNhIs0Z9/uUAuu1cCTitH2P7barS0ao=";
     name = "${pname}-${version}.AppImage";
   };
 
diff --git a/nixpkgs/pkgs/applications/misc/lsd2dsl/default.nix b/nixpkgs/pkgs/applications/misc/lsd2dsl/default.nix
index b30d652584f5..8c884305277a 100644
--- a/nixpkgs/pkgs/applications/misc/lsd2dsl/default.nix
+++ b/nixpkgs/pkgs/applications/misc/lsd2dsl/default.nix
@@ -1,23 +1,33 @@
-{ stdenv, mkDerivation, lib, fetchFromGitHub, cmake
+{ lib, stdenv, mkDerivation, fetchFromGitHub
+, makeDesktopItem, copyDesktopItems, cmake
 , boost, libvorbis, libsndfile, minizip, gtest, qtwebkit }:
 
 mkDerivation rec {
   pname = "lsd2dsl";
-  version = "0.5.2";
+  version = "0.5.4";
 
   src = fetchFromGitHub {
     owner = "nongeneric";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0s0la6zkg584is93p4nj1ha3pbnvadq84zgsv8nym3r35n7k8czi";
+    sha256 = "sha256-PLgfsVVrNBTxI4J0ukEOFRoBkbmB55/sLNn5KyiHeAc=";
   };
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [ cmake ] ++ lib.optional stdenv.isLinux copyDesktopItems;
 
   buildInputs = [ boost libvorbis libsndfile minizip gtest qtwebkit ];
 
   NIX_CFLAGS_COMPILE = "-Wno-error=unused-result -Wno-error=missing-braces";
 
+  desktopItems = lib.singleton (makeDesktopItem {
+    name = "lsd2dsl";
+    exec = "lsd2dsl-qtgui";
+    desktopName = "lsd2dsl";
+    genericName = "lsd2dsl";
+    comment = meta.description;
+    categories = "Dictionary;FileTools;Qt;";
+  });
+
   installPhase = ''
     install -Dm755 console/lsd2dsl gui/lsd2dsl-qtgui -t $out/bin
   '' + lib.optionalString stdenv.isDarwin ''
@@ -33,6 +43,6 @@ mkDerivation rec {
     '';
     license = licenses.mit;
     maintainers = with maintainers; [ sikmir ];
-    platforms = with platforms; linux ++ darwin;
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/lutris/fhsenv.nix b/nixpkgs/pkgs/applications/misc/lutris/fhsenv.nix
index 19cb7f6c5526..38513937d01f 100644
--- a/nixpkgs/pkgs/applications/misc/lutris/fhsenv.nix
+++ b/nixpkgs/pkgs/applications/misc/lutris/fhsenv.nix
@@ -1,4 +1,6 @@
 { lib, buildFHSUserEnv, lutris-unwrapped
+, extraPkgs ? pkgs: [ ]
+, extraLibraries ? pkgs: [ ]
 , steamSupport ? true
 }:
 
@@ -87,7 +89,8 @@ in buildFHSUserEnv {
     soundfont-fluid bzip2 game-music-emu
   ] ++ qt5Deps pkgs
     ++ gnomeDeps pkgs
-    ++ lib.optional steamSupport pkgs.steam;
+    ++ lib.optional steamSupport pkgs.steam
+    ++ extraPkgs pkgs;
 
   multiPkgs = pkgs: with pkgs; [
     # Common
@@ -110,7 +113,8 @@ in buildFHSUserEnv {
 
     # Winetricks
     fribidi
-  ] ++ xorgDeps pkgs;
+  ] ++ xorgDeps pkgs
+    ++ extraLibraries pkgs;
 
   extraInstallCommands = ''
     mkdir -p $out/share
diff --git a/nixpkgs/pkgs/applications/misc/lyx/default.nix b/nixpkgs/pkgs/applications/misc/lyx/default.nix
index 7cab86df9671..e736c235c457 100644
--- a/nixpkgs/pkgs/applications/misc/lyx/default.nix
+++ b/nixpkgs/pkgs/applications/misc/lyx/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, lib, mkDerivation, pkg-config, python, file, bc
+{ fetchurl, lib, mkDerivation, pkg-config, python3, file, bc
 , qtbase, qtsvg, hunspell, makeWrapper #, mythes, boost
 }:
 
@@ -14,7 +14,7 @@ mkDerivation rec {
   # LaTeX is used from $PATH, as people often want to have it with extra pkgs
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [
-    qtbase qtsvg python file/*for libmagic*/ bc
+    qtbase qtsvg python3 file/*for libmagic*/ bc
     hunspell makeWrapper # enchant
   ];
 
@@ -31,7 +31,7 @@ mkDerivation rec {
 
   # python is run during runtime to do various tasks
   qtWrapperArgs = [
-    " --prefix PATH : ${python}/bin"
+    " --prefix PATH : ${python3}/bin"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/misc/mapproxy/default.nix b/nixpkgs/pkgs/applications/misc/mapproxy/default.nix
index 48e2a3960ee7..b5ec8424e204 100644
--- a/nixpkgs/pkgs/applications/misc/mapproxy/default.nix
+++ b/nixpkgs/pkgs/applications/misc/mapproxy/default.nix
@@ -6,10 +6,10 @@
 with python3.pkgs;
 buildPythonApplication rec {
   pname = "MapProxy";
-  version = "1.13.0";
+  version = "1.13.2";
   src = fetchPypi {
   inherit pname version;
-  sha256 = "0qi63ap8yi5g2cas33jv4jsmdrl6yv3qp6bh0zxrfpkb704lcng4";
+  sha256 = "1c2ba9424f600f35b7b883366296089cf61ac7c803da5d411a334c7a39ccf84b";
   };
   prePatch = ''
     substituteInPlace mapproxy/util/ext/serving.py --replace "args = [sys.executable] + sys.argv" "args = sys.argv"
diff --git a/nixpkgs/pkgs/applications/misc/markets/default.nix b/nixpkgs/pkgs/applications/misc/markets/default.nix
new file mode 100644
index 000000000000..bd9dd7ac9509
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/markets/default.nix
@@ -0,0 +1,42 @@
+{ lib, stdenv, fetchFromGitHub
+, desktop-file-utils, glib, gtk3, meson, ninja, pkg-config, python3, vala
+, wrapGAppsHook
+, glib-networking, gobject-introspection, json-glib, libgee, libhandy, libsoup
+}:
+
+stdenv.mkDerivation rec {
+  pname = "markets";
+  version = "0.5.2";
+
+  src = fetchFromGitHub {
+    owner = "bitstower";
+    repo = "markets";
+    rev = version;
+    sha256 = "0nk1bs7i6b7r90g5qwd3s2m462vk3kvza0drq7rzb5sdaiz9ccnz";
+  };
+
+  nativeBuildInputs = [
+    desktop-file-utils glib gtk3 meson ninja pkg-config python3 vala
+    wrapGAppsHook
+  ];
+  buildInputs = [
+    glib glib-networking gobject-introspection gtk3 json-glib libgee libhandy
+    libsoup
+  ];
+
+  postPatch = ''
+    patchShebangs build-aux/meson/postinstall.py
+  '';
+
+  postInstall = ''
+    ln -s bitstower-markets $out/bin/markets
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/bitstower/markets";
+    description = "Stock, currency and cryptocurrency tracker";
+    maintainers = with maintainers; [ qyliss ];
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/megasync/default.nix b/nixpkgs/pkgs/applications/misc/megasync/default.nix
index 07dc364fe0bb..438a468afa16 100644
--- a/nixpkgs/pkgs/applications/misc/megasync/default.nix
+++ b/nixpkgs/pkgs/applications/misc/megasync/default.nix
@@ -7,7 +7,7 @@
 , curl
 , doxygen
 , fetchFromGitHub
-  #, ffmpeg
+#, ffmpeg
 , libmediainfo
 , libraw
 , libsodium
@@ -27,13 +27,13 @@
 }:
 mkDerivation rec {
   pname = "megasync";
-  version = "4.4.0.0";
+  version = "4.5.3.0";
 
   src = fetchFromGitHub {
     owner = "meganz";
     repo = "MEGAsync";
     rev = "v${version}_Linux";
-    sha256 = "1xggca7283943070mmpsfhh7c9avy809h0kgmf7497f4ca5zkg2y";
+    sha256 = "1lwjmdbqyxx5wd8nx4mc830fna37jad4h93viwfh5x7sxn104js7";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/applications/misc/menumaker/default.nix b/nixpkgs/pkgs/applications/misc/menumaker/default.nix
index 086db35a5ad5..8d018a67d371 100644
--- a/nixpkgs/pkgs/applications/misc/menumaker/default.nix
+++ b/nixpkgs/pkgs/applications/misc/menumaker/default.nix
@@ -1,6 +1,6 @@
-{ lib, fetchurl, pythonPackages }:
+{ lib, fetchurl, python2Packages }:
 
-pythonPackages.buildPythonApplication rec {
+python2Packages.buildPythonApplication rec {
   pname = "menumaker";
   version = "0.99.12";
 
diff --git a/nixpkgs/pkgs/applications/misc/merkaartor/default.nix b/nixpkgs/pkgs/applications/misc/merkaartor/default.nix
index 010d28eef591..90d91583a26f 100644
--- a/nixpkgs/pkgs/applications/misc/merkaartor/default.nix
+++ b/nixpkgs/pkgs/applications/misc/merkaartor/default.nix
@@ -2,14 +2,13 @@
 , lib
 , stdenv
 , fetchFromGitHub
-, fetchpatch
 , qmake
 , qttools
 , qttranslations
 , gdal
 , proj
 , qtsvg
-, qtwebkit
+, qtwebengine
 , withGeoimage ? true, exiv2
 , withGpsdlib ? (!stdenv.isDarwin), gpsd
 , withLibproxy ? false, libproxy
@@ -18,31 +17,18 @@
 
 mkDerivation rec {
   pname = "merkaartor";
-  version = "0.18.4";
+  version = "0.19.0";
 
   src = fetchFromGitHub {
     owner = "openstreetmap";
     repo = "merkaartor";
     rev = version;
-    sha256 = "vwO4/a7YF9KbpxcFGTFCdG6SfwEyhISlEtcA+rMebUA=";
+    sha256 = "sha256-I3QNCXzwhEFa8aOdwl3UJV8MLZ9caN9wuaaVrGFRvbQ=";
   };
 
-  patches = [
-    # Fix build with Qt 5.15 (missing QPainterPath include)
-    (fetchpatch {
-      url = "https://github.com/openstreetmap/merkaartor/commit/e72553a7ea2c7ba0634cc3afcd27a9f7cfef089c.patch";
-      sha256 = "NAisplnS3xHSlRpX+fH15NpbaD+uM57OCsTYGKlIR7U=";
-    })
-    # Added a condition to use the new timespec_t on gpsd APIs >= 9
-    (fetchpatch {
-      url = "https://github.com/openstreetmap/merkaartor/commit/13b358fa7899bb34e277b32a4c0d92833050f2c6.patch";
-      sha256 = "129fpjm7illz7ngx3shps5ivrxwf14apw55842xhskwwb0rf5szb";
-    })
-  ];
-
   nativeBuildInputs = [ qmake qttools ];
 
-  buildInputs = [ gdal proj qtsvg qtwebkit ]
+  buildInputs = [ gdal proj qtsvg qtwebengine ]
     ++ lib.optional withGeoimage exiv2
     ++ lib.optional withGpsdlib gpsd
     ++ lib.optional withLibproxy libproxy
@@ -52,8 +38,10 @@ mkDerivation rec {
     lrelease src/src.pro
   '';
 
-  qmakeFlags = [ "TRANSDIR_SYSTEM=${qttranslations}/translations" ]
-    ++ lib.optional withGeoimage "GEOIMAGE=1"
+  qmakeFlags = [
+    "TRANSDIR_SYSTEM=${qttranslations}/translations"
+    "USEWEBENGINE=1"
+  ] ++ lib.optional withGeoimage "GEOIMAGE=1"
     ++ lib.optional withGpsdlib "GPSDLIB=1"
     ++ lib.optional withLibproxy "LIBPROXY=1"
     ++ lib.optional withZbar "ZBAR=1";
diff --git a/nixpkgs/pkgs/applications/misc/minder/default.nix b/nixpkgs/pkgs/applications/misc/minder/default.nix
index 16fa17609e1e..607eeb5eaa3c 100644
--- a/nixpkgs/pkgs/applications/misc/minder/default.nix
+++ b/nixpkgs/pkgs/applications/misc/minder/default.nix
@@ -1,24 +1,62 @@
-{ lib, stdenv, fetchFromGitHub
-, pkg-config, meson, ninja, python3
-, wrapGAppsHook, vala, shared-mime-info
-, cairo, pantheon, glib, gtk3, libxml2, libgee, libarchive
-, discount, gtksourceview3
+{ lib
+, stdenv
+, fetchFromGitHub
+, desktop-file-utils
+, meson
+, ninja
+, pkg-config
+, python3
+, shared-mime-info
+, vala
+, wrapGAppsHook
+, cairo
+, discount
+, glib
+, gtk3
+, gtksourceview4
 , hicolor-icon-theme # for setup-hook
+, libarchive
+, libgee
+, libhandy
+, libxml2
+, pantheon
 }:
 
 stdenv.mkDerivation rec {
   pname = "minder";
-  version = "1.11.3";
+  version = "1.13.1";
 
   src = fetchFromGitHub {
     owner = "phase1geo";
     repo = pname;
     rev = version;
-    sha256 = "137kyf82n5a2v0cm9q02rhv8rmbjgnj60h64prq90h0d42prj3gd";
+    sha256 = "07mq595c1vxwsnwkr2zdci0r06yhs75ph2db09mc63k5fjvi8rya";
   };
 
-  nativeBuildInputs = [ pkg-config meson ninja python3 wrapGAppsHook vala shared-mime-info ];
-  buildInputs = [ cairo pantheon.granite glib gtk3 libxml2 libgee libarchive hicolor-icon-theme discount gtksourceview3 ];
+  nativeBuildInputs = [
+    desktop-file-utils
+    meson
+    ninja
+    pkg-config
+    python3
+    shared-mime-info
+    vala
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    cairo
+    discount
+    glib
+    gtk3
+    gtksourceview4
+    hicolor-icon-theme
+    libarchive
+    libgee
+    libhandy
+    libxml2
+    pantheon.granite
+  ];
 
   postPatch = ''
     chmod +x meson/post_install.py
@@ -32,11 +70,10 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "Mind-mapping application for Elementary OS";
+    description = "Mind-mapping application for elementary OS";
     homepage = "https://github.com/phase1geo/Minder";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ dtzWill ];
+    maintainers = with maintainers; [ dtzWill ] ++ teams.pantheon.members;
   };
 }
-
diff --git a/nixpkgs/pkgs/applications/misc/minergate-cli/default.nix b/nixpkgs/pkgs/applications/misc/minergate-cli/default.nix
deleted file mode 100644
index 0fe4103f613c..000000000000
--- a/nixpkgs/pkgs/applications/misc/minergate-cli/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ fetchurl, lib, stdenv, dpkg, makeWrapper, openssl }:
-
-stdenv.mkDerivation {
-  version = "8.2";
-  pname = "minergate-cli";
-  src = fetchurl {
-    url = "https://minergate.com/download/ubuntu-cli";
-    sha256 = "393c5ba236f6f92c449496fcda9509f4bfd3887422df98ffa59b3072124a99d8";
-  };
-
-  nativeBuildInputs = [ dpkg makeWrapper ];
-
-  phases = [ "installPhase" ];
-
-  installPhase = ''
-    dpkg-deb -x $src $out
-    pgm=$out/opt/minergate-cli/minergate-cli
-
-    interpreter=${stdenv.glibc}/lib/ld-linux-x86-64.so.2
-    patchelf --set-interpreter "$interpreter" $pgm
-
-    wrapProgram $pgm --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ openssl stdenv.cc.cc ]}
-
-    rm $out/usr/bin/minergate-cli
-    mkdir -p $out/bin
-    ln -s $pgm $out/bin
-  '';
-
-  meta = with lib; {
-    description = "Minergate CPU/GPU console client mining software";
-    homepage = "https://www.minergate.com/";
-    license = licenses.unfree;
-    maintainers = with maintainers; [ bfortz ];
-    platforms = [ "x86_64-linux" ];
-};
-}
diff --git a/nixpkgs/pkgs/applications/misc/minergate/default.nix b/nixpkgs/pkgs/applications/misc/minergate/default.nix
deleted file mode 100644
index f6ec20b0df7e..000000000000
--- a/nixpkgs/pkgs/applications/misc/minergate/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ fetchurl, lib, stdenv, dpkg, makeWrapper, fontconfig, freetype, openssl, xorg, xkeyboard_config }:
-
-stdenv.mkDerivation {
-  version = "8.1";
-  pname = "minergate";
-  src = fetchurl {
-    url = "https://minergate.com/download/ubuntu";
-    sha256 = "1dbbbb8e0735cde239fca9e82c096dcc882f6cecda20bba7c14720a614c16e13";
-  };
-
-  nativeBuildInputs = [ dpkg makeWrapper ];
-
-  phases = [ "installPhase" ];
-
-  installPhase = ''
-    dpkg-deb -x $src $out
-    pgm=$out/opt/minergate/minergate
-
-    interpreter=${stdenv.glibc}/lib/ld-linux-x86-64.so.2
-    patchelf --set-interpreter "$interpreter" $pgm
-
-    wrapProgram $pgm --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ fontconfig freetype openssl stdenv.cc.cc xorg.libX11 xorg.libxcb ]} --prefix "QT_XKB_CONFIG_ROOT" ":" "${xkeyboard_config}/share/X11/xkb"
-
-    rm $out/usr/bin/minergate
-    mkdir -p $out/bin
-    ln -s $out/opt/minergate/minergate $out/bin
-  '';
-
-  meta = with lib; {
-    description = "Minergate CPU/GPU mining software";
-    homepage = "https://www.minergate.com/";
-    license = licenses.unfree;
-    maintainers = with maintainers; [ bfortz ];
-    platforms = [ "x86_64-linux" ];
-};
-}
diff --git a/nixpkgs/pkgs/applications/misc/mkgmap/default.nix b/nixpkgs/pkgs/applications/misc/mkgmap/default.nix
index f82881eb5bdf..d6fa24c19baf 100644
--- a/nixpkgs/pkgs/applications/misc/mkgmap/default.nix
+++ b/nixpkgs/pkgs/applications/misc/mkgmap/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   version = "4608";
 
   src = fetchurl {
-    url = "http://www.mkgmap.org.uk/download/mkgmap-r${version}-src.tar.gz";
+    url = "https://www.mkgmap.org.uk/download/mkgmap-r${version}-src.tar.gz";
     sha256 = "uj/iZZHML4nqEKdFBQSDdegkalZFJdzEE4xQrOruEp0=";
   };
 
@@ -73,7 +73,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Create maps for Garmin GPS devices from OpenStreetMap (OSM) data";
     homepage = "http://www.mkgmap.org.uk";
-    downloadPage = "http://www.mkgmap.org.uk/download/mkgmap.html";
+    downloadPage = "https://www.mkgmap.org.uk/download/mkgmap.html";
     license = licenses.gpl2Only;
     maintainers = with maintainers; [ sikmir ];
     platforms = platforms.all;
diff --git a/nixpkgs/pkgs/applications/misc/mkgmap/splitter/default.nix b/nixpkgs/pkgs/applications/misc/mkgmap/splitter/default.nix
index c78d81771caa..9e034b58110d 100644
--- a/nixpkgs/pkgs/applications/misc/mkgmap/splitter/default.nix
+++ b/nixpkgs/pkgs/applications/misc/mkgmap/splitter/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   version = "598";
 
   src = fetchurl {
-    url = "http://www.mkgmap.org.uk/download/splitter-r${version}-src.tar.gz";
+    url = "https://www.mkgmap.org.uk/download/splitter-r${version}-src.tar.gz";
     sha256 = "gpbJpDBXA9tmSmx9oKLa7xWtIOHBTYd1iPPgNTC2C2M=";
   };
 
@@ -69,7 +69,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Utility for splitting OpenStreetMap maps into tiles";
     homepage = "http://www.mkgmap.org.uk";
-    downloadPage = "http://www.mkgmap.org.uk/download/splitter.html";
+    downloadPage = "https://www.mkgmap.org.uk/download/splitter.html";
     license = licenses.gpl2Only;
     maintainers = with maintainers; [ sikmir ];
     platforms = platforms.all;
diff --git a/nixpkgs/pkgs/applications/misc/mkgmap/splitter/testinputs.nix b/nixpkgs/pkgs/applications/misc/mkgmap/splitter/testinputs.nix
index ab81b07ed8dd..0d73f9710291 100644
--- a/nixpkgs/pkgs/applications/misc/mkgmap/splitter/testinputs.nix
+++ b/nixpkgs/pkgs/applications/misc/mkgmap/splitter/testinputs.nix
@@ -2,7 +2,7 @@
 let
   fetchTestInput = { res, sha256 }: fetchurl {
     inherit sha256;
-    url = "http://www.mkgmap.org.uk/testinput/${res}";
+    url = "https://www.mkgmap.org.uk/testinput/${res}";
     name = builtins.replaceStrings [ "/" ] [ "__" ] res;
   };
 in
diff --git a/nixpkgs/pkgs/applications/misc/mkgmap/testinputs.nix b/nixpkgs/pkgs/applications/misc/mkgmap/testinputs.nix
index 0c4516190e00..93c858a38895 100644
--- a/nixpkgs/pkgs/applications/misc/mkgmap/testinputs.nix
+++ b/nixpkgs/pkgs/applications/misc/mkgmap/testinputs.nix
@@ -2,7 +2,7 @@
 let
   fetchTestInput = { res, sha256 }: fetchurl {
     inherit sha256;
-    url = "http://www.mkgmap.org.uk/testinput/${res}";
+    url = "https://www.mkgmap.org.uk/testinput/${res}";
     name = builtins.replaceStrings [ "/" ] [ "__" ] res;
   };
 in
diff --git a/nixpkgs/pkgs/applications/misc/mob/default.nix b/nixpkgs/pkgs/applications/misc/mob/default.nix
index 50e95e311729..72aa41d03c26 100644
--- a/nixpkgs/pkgs/applications/misc/mob/default.nix
+++ b/nixpkgs/pkgs/applications/misc/mob/default.nix
@@ -2,14 +2,14 @@
 
 buildGoPackage rec {
   pname = "mob";
-  version = "1.4.0";
+  version = "1.10.0";
   goPackagePath = "github.com/remotemobprogramming/mob";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "remotemobprogramming";
     repo = pname;
-    sha256 = "sha256-JiTRTH8ai27H1xySyKTWiu/MG0C61Tz+hVI6tkSRp+k=";
+    sha256 = "sha256-O732PNmE+RDmETHAX/vlaSF4ZUShmO7P1B41kCw+/cQ=";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/misc/moonlight-embedded/default.nix b/nixpkgs/pkgs/applications/misc/moonlight-embedded/default.nix
index ef8023614802..d711f43ad570 100644
--- a/nixpkgs/pkgs/applications/misc/moonlight-embedded/default.nix
+++ b/nixpkgs/pkgs/applications/misc/moonlight-embedded/default.nix
@@ -1,34 +1,34 @@
 { lib, stdenv, fetchFromGitHub, cmake, perl
 , alsa-lib, libevdev, libopus, udev, SDL2
 , ffmpeg, pkg-config, xorg, libvdpau, libpulseaudio, libcec
-, curl, expat, avahi, enet, libuuid, libva
+, curl, expat, avahi, libuuid, libva
 }:
 
 stdenv.mkDerivation rec {
   pname = "moonlight-embedded";
-  version = "2.4.11";
+  version = "2.5.1";
 
   src = fetchFromGitHub {
-    owner = "irtimmer";
+    owner = "moonlight-stream";
     repo = "moonlight-embedded";
     rev = "v${version}";
-    sha256 = "19wm4gizj8q6j4jwqfcn3bkhms97d8afwxmqjmjnqqxzpd2gxc16";
+    sha256 = "0wn6yjpqyjv52278xsx1ivnqrwca4fnk09a01fwzk4adpry1q9ck";
     fetchSubmodules = true;
   };
 
   outputs = [ "out" "man" ];
 
-  nativeBuildInputs = [ cmake perl ];
+  nativeBuildInputs = [ cmake perl pkg-config ];
   buildInputs = [
     alsa-lib libevdev libopus udev SDL2
-    ffmpeg pkg-config xorg.libxcb libvdpau libpulseaudio libcec
-    xorg.libpthreadstubs curl expat avahi enet libuuid libva
+    ffmpeg xorg.libxcb libvdpau libpulseaudio libcec
+    xorg.libpthreadstubs curl expat avahi libuuid libva
   ];
 
   meta = with lib; {
     description = "Open source implementation of NVIDIA's GameStream";
-    homepage = "https://github.com/irtimmer/moonlight-embedded";
-    license = licenses.gpl3;
+    homepage = "https://github.com/moonlight-stream/moonlight-embedded";
+    license = licenses.gpl3Plus;
     maintainers = [ maintainers.globin ];
     platforms = platforms.linux;
   };
diff --git a/nixpkgs/pkgs/applications/misc/mucommander/default.nix b/nixpkgs/pkgs/applications/misc/mucommander/default.nix
index c42ae1e815b3..648b4951504f 100644
--- a/nixpkgs/pkgs/applications/misc/mucommander/default.nix
+++ b/nixpkgs/pkgs/applications/misc/mucommander/default.nix
@@ -81,9 +81,6 @@ in stdenv.mkDerivation {
     description = "Cross-platform file manager";
     license = licenses.gpl3;
     maintainers = with maintainers; [ volth ];
-    # build is broken on MacOS
-    # https://github.com/NixOS/nixpkgs/pull/105784
-    broken = stdenv.isDarwin;
     platforms = platforms.all;
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/mupdf/default.nix b/nixpkgs/pkgs/applications/misc/mupdf/default.nix
index 21c699da3fac..f23ca82074f6 100644
--- a/nixpkgs/pkgs/applications/misc/mupdf/default.nix
+++ b/nixpkgs/pkgs/applications/misc/mupdf/default.nix
@@ -60,6 +60,11 @@ stdenv.mkDerivation rec {
       url = "http://git.ghostscript.com/?p=mupdf.git;a=patch;h=cee7cefc610d42fd383b3c80c12cbc675443176a";
       sha256 = "18g9jsj90jnqibaff8pqi70a7x8ygc3sh4jl4xnvlv8vr7fxxbh6";
     })
+    (fetchpatch {
+      name = "CVE-2021-37220.patch";
+      url = "http://git.ghostscript.com/?p=mupdf.git;a=patch;h=f5712c9949d026e4b891b25837edd2edc166151f";
+      sha256 = "1zyw6w6zr7k2akpzkyycj2zzw3y5qc7afsn1ysklfj2rvb6cnsx3";
+    })
   ];
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/applications/misc/nix-tour/default.nix b/nixpkgs/pkgs/applications/misc/nix-tour/default.nix
index dda4dcb47e57..57b1b6256906 100644
--- a/nixpkgs/pkgs/applications/misc/nix-tour/default.nix
+++ b/nixpkgs/pkgs/applications/misc/nix-tour/default.nix
@@ -12,8 +12,6 @@ stdenv.mkDerivation rec {
     sha256 = "09b1vxli4zv1nhqnj6c0vrrl51gaira94i8l7ww96fixqxjgdwvb";
   };
 
-  phases = [ "unpackPhase" "installPhase" ];
-
   installPhase = ''
     mkdir -p $out/bin
     mkdir -p $out/share
diff --git a/nixpkgs/pkgs/applications/misc/nixnote2/default.nix b/nixpkgs/pkgs/applications/misc/nixnote2/default.nix
index cbb7a110c4c2..b55497a168ce 100644
--- a/nixpkgs/pkgs/applications/misc/nixnote2/default.nix
+++ b/nixpkgs/pkgs/applications/misc/nixnote2/default.nix
@@ -14,8 +14,6 @@ mkDerivation rec {
 
   buildInputs = [ boost qtbase qtwebkit poppler hunspell ];
 
-  enableParallelBuilding = true;
-
   nativeBuildInputs = [ qmake ];
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/applications/misc/nnn/default.nix b/nixpkgs/pkgs/applications/misc/nnn/default.nix
index d6b121081b42..159ecb9f5526 100644
--- a/nixpkgs/pkgs/applications/misc/nnn/default.nix
+++ b/nixpkgs/pkgs/applications/misc/nnn/default.nix
@@ -20,13 +20,13 @@ assert withNerdIcons -> withIcons == false;
 
 stdenv.mkDerivation rec {
   pname = "nnn";
-  version = "4.1.1";
+  version = "4.2";
 
   src = fetchFromGitHub {
     owner = "jarun";
     repo = pname;
     rev = "v${version}";
-    sha256 = "09z37lv57nbp0l1ax28558jk5jv91lb22bgaclirvdyz2qp47xhj";
+    sha256 = "sha256-ICUF/LJhsbzDz9xZig1VE6TdG3u0C6Jf/61RoAjx3KI=";
   };
 
   configFile = lib.optionalString (conf != null) (builtins.toFile "nnn.h" conf);
diff --git a/nixpkgs/pkgs/applications/misc/notejot/default.nix b/nixpkgs/pkgs/applications/misc/notejot/default.nix
index bd30fa2bb211..e9d63701afa0 100644
--- a/nixpkgs/pkgs/applications/misc/notejot/default.nix
+++ b/nixpkgs/pkgs/applications/misc/notejot/default.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "notejot";
-  version = "3.0.4";
+  version = "3.1.2";
 
   src = fetchFromGitHub {
     owner = "lainsce";
     repo = pname;
     rev = version;
-    hash = "sha256-p8rca3PsnT/3Lp6W30VvqR9aPr6EIuNrH5gsxL0lZ0Q=";
+    hash = "sha256-Exg9HxV3cxySuT8ifVyZgoATQ/FAC8umj3smJ7W/5/Y=";
   };
 
   nativeBuildInputs = [
@@ -54,7 +54,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/lainsce/notejot";
     description = "Stupidly-simple sticky notes applet";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ AndersonTorres ];
+    maintainers = with maintainers; [ AndersonTorres ] ++ teams.pantheon.members;
     platforms = platforms.linux;
   };
 
diff --git a/nixpkgs/pkgs/applications/misc/nwg-drawer/default.nix b/nixpkgs/pkgs/applications/misc/nwg-drawer/default.nix
index 4e6518c6ffd2..efe4740d7737 100644
--- a/nixpkgs/pkgs/applications/misc/nwg-drawer/default.nix
+++ b/nixpkgs/pkgs/applications/misc/nwg-drawer/default.nix
@@ -10,13 +10,13 @@
 
 buildGoModule rec {
   pname = "nwg-drawer";
-  version = "0.1.4";
+  version = "0.1.7";
 
   src = fetchFromGitHub {
     owner = "nwg-piotr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-YjMuXSBAgRh6vZUxKHLTqT2lEU/f+AuI/dX4PHfftZg=";
+    sha256 = "sha256-WUYWS0pkYJwXadhlZDHIl9BuirLTu5TNITZ+cBMArVw=";
   };
 
   vendorSha256 = "sha256-HyrjquJ91ddkyS8JijHd9HjtfwSQykXCufa2wzl8RNk=";
diff --git a/nixpkgs/pkgs/applications/misc/nwg-launchers/default.nix b/nixpkgs/pkgs/applications/misc/nwg-launchers/default.nix
index 2dbcef8779f5..3f82db124229 100644
--- a/nixpkgs/pkgs/applications/misc/nwg-launchers/default.nix
+++ b/nixpkgs/pkgs/applications/misc/nwg-launchers/default.nix
@@ -8,17 +8,18 @@
 , pkg-config
 , swaylock
 , makeWrapper
+, gtk-layer-shell
 }:
 
 stdenv.mkDerivation rec {
   pname = "nwg-launchers";
-  version = "0.4.4";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "nwg-piotr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-krhFtFQZSwfKPHmVxPGNySPL2Y9+kA0fxjZ/D+mNks4=";
+    sha256 = "sha256-ZtlAs7McVQKH626h2iOhjpVaiEHeaqs9ncZ6/KnGibg=";
   };
 
   nativeBuildInputs = [
@@ -32,6 +33,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     gtkmm3
     nlohmann_json
+    gtk-layer-shell
   ];
 
   postInstall = ''
diff --git a/nixpkgs/pkgs/applications/misc/nwg-menu/default.nix b/nixpkgs/pkgs/applications/misc/nwg-menu/default.nix
index 5c4b508bb6bd..7b7706826fcc 100644
--- a/nixpkgs/pkgs/applications/misc/nwg-menu/default.nix
+++ b/nixpkgs/pkgs/applications/misc/nwg-menu/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "nwg-menu";
-  version = "unstable-2021-06-12";
+  version = "0.1.1";
 
   src = fetchFromGitHub {
     owner = "nwg-piotr";
     repo = "nwg-menu";
-    rev = "b0746e26514a047ed9c6b975a71b7263aa39bd56";
-    hash = "sha256-rxyf3CfpfWnRAlIR/pl+s7LGAZbZjdtNWPPK7BecdhQ=";
+    rev = "v${version}";
+    sha256 = "sha256-M948RGU9/PwUtFRmf1Po7KlrGxqRPiOZKfS1Vv3vqW8=";
   };
 
-  vendorSha256 = "sha256-nN5iBleK12SKY9PBiDA+tM4B8FiVGZLXbtJM2+YrEfA=";
+  vendorSha256 = "sha256-AnYtqSe8mq10FQ071GEVh65MaWek5gYlR+9d8yL0RAc=";
 
   runVend = true;
 
diff --git a/nixpkgs/pkgs/applications/misc/nwg-panel/default.nix b/nixpkgs/pkgs/applications/misc/nwg-panel/default.nix
index 4636477c1c51..24697611622a 100644
--- a/nixpkgs/pkgs/applications/misc/nwg-panel/default.nix
+++ b/nixpkgs/pkgs/applications/misc/nwg-panel/default.nix
@@ -13,13 +13,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "nwg-panel";
-  version = "0.3.2";
+  version = "0.4.3";
 
   src = fetchFromGitHub {
     owner = "nwg-piotr";
     repo = "nwg-panel";
     rev = "v${version}";
-    hash = "sha256-x5lGVF6eRhOVXrsBatdsiUiWs/+FxRlCtp79zA206RY=";
+    sha256 = "1ihwrs0h2kcw0jw9zq43a9m1qaxllqmbvz0wyv73sgh9zsid5733";
   };
 
   # No tests
diff --git a/nixpkgs/pkgs/applications/misc/nwg-wrapper/default.nix b/nixpkgs/pkgs/applications/misc/nwg-wrapper/default.nix
index 9567b051f591..043ea23e3a73 100644
--- a/nixpkgs/pkgs/applications/misc/nwg-wrapper/default.nix
+++ b/nixpkgs/pkgs/applications/misc/nwg-wrapper/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonPackage rec {
   pname = "nwg-wrapper";
-  version = "0.0.1";
+  version = "0.0.2";
 
   src = fetchFromGitHub {
     owner = "nwg-piotr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1rpkcjr0chmgsfkan88lsi476bamg9a6y7h0x9zsh60a9rdf7dl8";
+    sha256 = "sha256-LkAB0MrwQxP3X7glfSnI0GZMv8tjaeSOz7WSOW33wuo=";
   };
 
   nativeBuildInputs = [ gobject-introspection wrapGAppsHook ];
diff --git a/nixpkgs/pkgs/applications/misc/obsidian/default.nix b/nixpkgs/pkgs/applications/misc/obsidian/default.nix
index 39044301ec7c..510623433173 100644
--- a/nixpkgs/pkgs/applications/misc/obsidian/default.nix
+++ b/nixpkgs/pkgs/applications/misc/obsidian/default.nix
@@ -30,11 +30,11 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "obsidian";
-  version = "0.12.3";
+  version = "0.12.12";
 
   src = fetchurl {
     url = "https://github.com/obsidianmd/obsidian-releases/releases/download/v${version}/obsidian-${version}.tar.gz";
-    sha256 = "sha256-nwtQp7BkMZwMzfnA5wdcMAhfezM//Lm9cf0pbvnOVZE=";
+    sha256 = "sha256-zvWJvMmb0TlFYXrT2QUgMG6uleT42+y+F4bSZQ2ftnE=";
   };
 
   nativeBuildInputs = [ makeWrapper graphicsmagick ];
diff --git a/nixpkgs/pkgs/applications/misc/octoprint/default.nix b/nixpkgs/pkgs/applications/misc/octoprint/default.nix
index d7393313c151..bc994bf68233 100644
--- a/nixpkgs/pkgs/applications/misc/octoprint/default.nix
+++ b/nixpkgs/pkgs/applications/misc/octoprint/default.nix
@@ -2,7 +2,8 @@
 , stdenv
 , lib
 , fetchFromGitHub
-, python3
+, python38
+, substituteAll
 , nix-update-script
   # To include additional plugins, pass them here as an overlay.
 , packageOverrides ? self: super: {}
@@ -20,18 +21,51 @@ let
     );
   };
 
-  py = python3.override {
+  py = python38.override {
     self = py;
     packageOverrides = lib.foldr lib.composeExtensions (self: super: {}) (
       [
         # the following dependencies are non trivial to update since later versions introduce backwards incompatible
         # changes that might affect plugins, or due to other observed problems
+        (mkOverride "click" "7.1.2" "d2b5255c7c6349bc1bd1e59e08cd12acbbd63ce649f2588755783aa94dfb6b1a")
         (mkOverride "flask-babel" "1.0.0" "0gmb165vkwv5v7dxsxa2i3zhafns0fh938m2zdcrv4d8z5l099yn")
-        (mkOverride "rsa" "4.0" "1a836406405730121ae9823e19c6e806c62bbad73f890574fff50efa4122c487")
+        (mkOverride "itsdangerous" "1.1.0" "321b033d07f2a4136d3ec762eac9f16a10ccd60f53c0c91af90217ace7ba1f19")
+        (mkOverride "jinja2" "2.11.3" "a6d58433de0ae800347cab1fa3043cebbabe8baa9d29e668f1c768cb87a333c6")
         (mkOverride "markdown" "3.1.1" "2e50876bcdd74517e7b71f3e7a76102050edec255b3983403f1a63e7c8a41e7a")
+        (mkOverride "markupsafe" "1.1.1" "29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b")
+        (mkOverride "sarge" "0.1.5.post0" "1c1ll7pys9vra5cfi8jxlgrgaql6c27l6inpy15aprgqhc4ck36s")
         (mkOverride "tornado" "5.1.1" "4e5158d97583502a7e2739951553cbd88a72076f152b4b11b64b9a10c4c49409")
         (mkOverride "unidecode" "0.04.21" "280a6ab88e1f2eb5af79edff450021a0d3f0448952847cd79677e55e58bad051")
-        (mkOverride "sarge" "0.1.5.post0" "1c1ll7pys9vra5cfi8jxlgrgaql6c27l6inpy15aprgqhc4ck36s")
+
+        # Requires flask<2, cannot mkOverride because tests need to be disabled
+        (
+          self: super: {
+            flask = super.flask.overridePythonAttrs (oldAttrs: rec {
+              version = "1.1.2";
+              src = oldAttrs.src.override {
+                inherit version;
+                sha256 = "4efa1ae2d7c9865af48986de8aeb8504bf32c7f3d6fdc9353d34b21f4b127060";
+              };
+              doCheck = false;
+            });
+          }
+        )
+
+        # Requires werkezug<2, cannot mkOverride because tests need to be disabled
+        (
+          self: super: {
+            werkzeug = super.werkzeug.overridePythonAttrs (oldAttrs: rec {
+              version = "1.0.1";
+              src = oldAttrs.src.override {
+                inherit version;
+                sha256 = "6c80b1e5ad3665290ea39320b91e1be1e0d5f60652b964a3070216de83d2e47c";
+              };
+              doCheck= false;
+            });
+          }
+        )
+
+
 
         # Requires websocket-client <1.0, >=0.57. Cannot do mkOverride b/c differing underscore/hyphen in pypi source name
         (
@@ -78,13 +112,13 @@ let
           self: super: {
             octoprint-filecheck = self.buildPythonPackage rec {
               pname = "OctoPrint-FileCheck";
-              version = "2020.08.07";
+              version = "2021.2.23";
 
               src = fetchFromGitHub {
                 owner = "OctoPrint";
                 repo = "OctoPrint-FileCheck";
                 rev = version;
-                sha256 = "05ys05l5x7d2bkg3yqrga6m65v3g5fcnnzbfab7j9w2pzjdapx5b";
+                sha256 = "sha256-e/QGEBa9+pjOdrZq3Zc6ifbSMClIyeTOi0Tji0YdVmI=";
               };
               doCheck = false;
             };
@@ -96,14 +130,34 @@ let
           self: super: {
             octoprint-firmwarecheck = self.buildPythonPackage rec {
               pname = "OctoPrint-FirmwareCheck";
-              version = "2020.09.23";
+              version = "2021.8.11";
 
               src = fetchFromGitHub {
                 owner = "OctoPrint";
                 repo = "OctoPrint-FirmwareCheck";
                 rev = version;
-                sha256 = "1l1ajhnsc39prgk59mp93h90dgl9gh660cci00z5b5gj2h6dv1d1";
+                sha256 = "sha256-WzVjHgjF12iJ642AFaFd86GSU90XyPzKhi1CSreynW4=";
+              };
+              doCheck = false;
+            };
+          }
+        )
+
+        (
+          self: super: {
+            octoprint-pisupport = self.buildPythonPackage rec {
+              pname = "OctoPrint-PiSupport";
+              version = "2021.8.2";
+              format = "setuptools";
+
+              src = fetchFromGitHub {
+                owner = "OctoPrint";
+                repo = "OctoPrint-PiSupport";
+                rev = version;
+                sha256 = "07akx61wadxhs0545pqa9gzjnaz9742bq710f8f4zs5x6sacjzbc";
               };
+
+              # requires octoprint itself during tests
               doCheck = false;
             };
           }
@@ -113,13 +167,13 @@ let
           self: super: {
             octoprint = self.buildPythonPackage rec {
               pname = "OctoPrint";
-              version = "1.5.3";
+              version = "1.6.1";
 
               src = fetchFromGitHub {
                 owner = "OctoPrint";
                 repo = "OctoPrint";
                 rev = version;
-                sha256 = "sha256-ZL/P/YIHynPmP8ssZZUKZDJscBsSsCq3UtOHrTVLpec=";
+                sha256 = "sha256-3b3k9h8H9Spf/P3/pXpCANnSGOgbUw/EWISJbrSoPBM=";
               };
 
               propagatedBuildInputs = with super; [
@@ -136,6 +190,7 @@ let
                 frozendict
                 future
                 itsdangerous
+                immutabledict
                 jinja2
                 markdown
                 markupsafe
@@ -143,7 +198,9 @@ let
                 netifaces
                 octoprint-filecheck
                 octoprint-firmwarecheck
+                octoprint-pisupport
                 pkginfo
+                pip
                 psutil
                 pylru
                 pyserial
@@ -154,6 +211,7 @@ let
                 sarge
                 semantic-version
                 sentry-sdk
+                setuptools
                 tornado
                 unidecode
                 watchdog
@@ -161,13 +219,29 @@ let
                 werkzeug
                 wrapt
                 zeroconf
+                zipstream-new
               ] ++ lib.optionals stdenv.isDarwin [ py.pkgs.appdirs ];
 
               checkInputs = with super; [ pytestCheckHook mock ddt ];
 
+              patches = [
+                # substitute pip and let it find out, that it can't write anywhere
+                (substituteAll {
+                  src = ./pip-path.patch;
+                  pip = "${super.pip}/bin/pip";
+                })
+
+                # hardcore path to ffmpeg and hide related settings
+                (substituteAll {
+                  src = ./ffmpeg-path.patch;
+                  ffmpeg = "${pkgs.ffmpeg}/bin/ffmpeg";
+                })
+              ];
+
               postPatch = let
                 ignoreVersionConstraints = [
                   "emoji"
+                  "immutabledict"
                   "sentry-sdk"
                   "watchdog"
                 ];
diff --git a/nixpkgs/pkgs/applications/misc/octoprint/ffmpeg-path.patch b/nixpkgs/pkgs/applications/misc/octoprint/ffmpeg-path.patch
new file mode 100644
index 000000000000..7ba468ae1a3f
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/octoprint/ffmpeg-path.patch
@@ -0,0 +1,41 @@
+diff --git a/src/octoprint/plugins/corewizard/templates/corewizard_webcam_wizard.jinja2 b/src/octoprint/plugins/corewizard/templates/corewizard_webcam_wizard.jinja2
+index 79342dcd7..6165a4119 100644
+--- a/src/octoprint/plugins/corewizard/templates/corewizard_webcam_wizard.jinja2
++++ b/src/octoprint/plugins/corewizard/templates/corewizard_webcam_wizard.jinja2
+@@ -29,14 +29,3 @@
+     {% include "snippets/settings/webcam/webcamStreamUrl.jinja2" %}
+     {% include "snippets/settings/webcam/webcamSnapshotUrl.jinja2" %}
+ </form>
+-
+-<h4>{{ _('Timelapse Recordings') }}</h4>
+-
+-{% trans %}<p>
+-    To render the snapshots into timelapse recordings, OctoPrint also needs to
+-    know the correct <strong>path to FFMPEG</strong>.
+-</p>{% endtrans %}
+-
+-<form class="form-horizontal" data-bind="with: settingsViewModel" onsubmit="return false;">
+-    {% include "snippets/settings/webcam/ffmpegPath.jinja2" %}
+-</form>
+diff --git a/src/octoprint/server/api/settings.py b/src/octoprint/server/api/settings.py
+index c3e6cea10..ced2f8fa0 100644
+--- a/src/octoprint/server/api/settings.py
++++ b/src/octoprint/server/api/settings.py
+@@ -130,7 +130,7 @@ def getSettings():
+             "snapshotUrl": s.get(["webcam", "snapshot"]),
+             "snapshotTimeout": s.getInt(["webcam", "snapshotTimeout"]),
+             "snapshotSslValidation": s.getBoolean(["webcam", "snapshotSslValidation"]),
+-            "ffmpegPath": s.get(["webcam", "ffmpeg"]),
++            "ffmpegPath": "@ffmpeg@",
+             "ffmpegCommandline": s.get(["webcam", "ffmpegCommandline"]),
+             "bitrate": s.get(["webcam", "bitrate"]),
+             "ffmpegThreads": s.get(["webcam", "ffmpegThreads"]),
+@@ -548,8 +548,6 @@ def _saveSettings(data):
+                 ["webcam", "snapshotSslValidation"],
+                 data["webcam"]["snapshotSslValidation"],
+             )
+-        if "ffmpegPath" in data["webcam"]:
+-            s.set(["webcam", "ffmpeg"], data["webcam"]["ffmpegPath"])
+         if "ffmpegCommandline" in data["webcam"]:
+             commandline = data["webcam"]["ffmpegCommandline"]
+             if not all(
diff --git a/nixpkgs/pkgs/applications/misc/octoprint/pip-path.patch b/nixpkgs/pkgs/applications/misc/octoprint/pip-path.patch
new file mode 100644
index 000000000000..9c6b1c74751d
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/octoprint/pip-path.patch
@@ -0,0 +1,12 @@
+diff --git a/src/octoprint/util/pip.py b/src/octoprint/util/pip.py
+index 53500e5d5..39f76c1e5 100644
+--- a/src/octoprint/util/pip.py
++++ b/src/octoprint/util/pip.py
+@@ -284,6 +284,7 @@ class PipCaller(CommandlineCaller):
+     @classmethod
+     def autodetect_pip(cls):
+         commands = [
++            ["@pip@"],
+             [sys.executable, "-m", "pip"],
+             [
+                 os.path.join(
diff --git a/nixpkgs/pkgs/applications/misc/octoprint/plugins.nix b/nixpkgs/pkgs/applications/misc/octoprint/plugins.nix
index ae2151383bcf..616596ed9b18 100644
--- a/nixpkgs/pkgs/applications/misc/octoprint/plugins.nix
+++ b/nixpkgs/pkgs/applications/misc/octoprint/plugins.nix
@@ -52,13 +52,13 @@ in {
 
   bedlevelvisualizer = buildPlugin rec {
     pname = "BedLevelVisualizer";
-    version = "0.1.15";
+    version = "1.1.0";
 
     src = fetchFromGitHub {
       owner = "jneilliii";
       repo = "OctoPrint-${pname}";
       rev = version;
-      sha256 = "1bq39fnarnpk8phxfbpx6l4n9anf358z1cgid5r89nadmn2a0cny";
+      sha256 = "sha256-SKrhtTGyDuvbDmUCXSx83Y+C83ZzVHA78TwMYwE6tcc=";
     };
 
     propagatedBuildInputs = with super; [ numpy ];
@@ -73,13 +73,13 @@ in {
 
   costestimation = buildPlugin rec {
     pname = "CostEstimation";
-    version = "3.2.0";
+    version = "3.3.0";
 
     src = fetchFromGitHub {
       owner = "OllisGit";
       repo = "OctoPrint-${pname}";
       rev = version;
-      sha256 = "1j476jcw7gh8zqqdc5vddwv5wpjns7cd1hhpn7m9fxq3d5bi077w";
+      sha256 = "sha256-d7miGMCNJD0siaZb6EnoMZCkKot7vnZjxNZX2TunJcs=";
     };
 
     meta = with lib; {
@@ -92,13 +92,13 @@ in {
 
   curaenginelegacy = buildPlugin rec {
     pname = "CuraEngineLegacy";
-    version = "1.1.1";
+    version = "1.1.2";
 
     src = fetchFromGitHub {
       owner = "OctoPrint";
       repo = "OctoPrint-${pname}";
       rev = version;
-      sha256 = "1a7pxlmj1a7blkv97sn1k390pbjcxx2860011pbjcdnli74zpvv5";
+      sha256 = "sha256-54siSmzgPlnCRpkpZhXU9theNQ3hqL3j+Ip4Ie2w2vA=";
     };
 
     meta = with lib; {
@@ -130,13 +130,13 @@ in {
 
   displaylayerprogress = buildPlugin rec {
     pname = "OctoPrint-DisplayLayerProgress";
-    version = "1.24.0";
+    version = "1.26.0";
 
     src = fetchFromGitHub {
       owner = "OllisGit";
       repo = pname;
       rev = version;
-      sha256 = "1lbivg3rcjzv8zqvp8n8gcaczxdm7gvd5ihjb6jq0fgf958lv59n";
+      sha256 = "sha256-hhHc2SPixZCPJzCP8enMMWNYaYbNZAU0lNSx1B0d++4=";
     };
 
     meta = with lib; {
@@ -149,13 +149,13 @@ in {
 
   gcodeeditor = buildPlugin rec {
     pname = "GcodeEditor";
-    version = "0.2.9";
+    version = "0.2.12";
 
     src = fetchFromGitHub {
       owner = "ieatacid";
       repo = "OctoPrint-${pname}";
       rev = version;
-      sha256 = "1yjj9lmxbzmzrn7gahw9lj7554fphalbjjp8ns0rr9py3rshwxkm";
+      sha256 = "sha256-1Sk2ri3DKW8q8VJ/scFjpRsz65Pwt8OEURP1k70aydE=";
     };
 
     meta = with lib; {
@@ -168,13 +168,13 @@ in {
 
   marlingcodedocumentation = buildPlugin rec {
     pname = "MarlinGcodeDocumentation";
-    version = "0.11.0";
+    version = "0.13.0";
 
     src = fetchFromGitHub {
       owner = "costas-basdekis";
       repo = pname;
       rev = "v${version}";
-      sha256 = "0vx06w9hqwy0k4r8g67y8gdckfdx7wl8ghfx6hmxc1s8fgkghfkc";
+      sha256 = "sha256-3ay6iCxZk8QkFM/2Y14VTpPoxr6NXq14BFSHofn3q7I=";
     };
 
     meta = with lib; {
@@ -187,13 +187,13 @@ in {
 
   mqtt = buildPlugin rec {
     pname = "MQTT";
-    version = "0.8.7";
+    version = "0.8.10";
 
     src = fetchFromGitHub {
       owner = "OctoPrint";
       repo = "OctoPrint-MQTT";
       rev = version;
-      sha256 = "0k82h7wafbcqdvk5wjw4dp9lydwszfj1lf8vvymwbqdn7pf5h0dy";
+      sha256 = "sha256-nvEUvN/SdUE1tQkLbxMkZ8xxeUIZiNNirIfWLeH1Kfg=";
     };
 
     propagatedBuildInputs = with super; [ paho-mqtt ];
@@ -208,25 +208,26 @@ in {
 
   printtimegenius = buildPlugin rec {
     pname = "PrintTimeGenius";
-    version = "2.2.6";
+    version = "2.2.8";
 
     src = fetchFromGitHub {
       owner = "eyal0";
       repo = "OctoPrint-${pname}";
       rev = version;
-      sha256 = "04zfgd3x3lbriyzwhpqnwdcfdm19fsqgsb7l2ix5d0ssmqxwg2r6";
+      sha256 = "sha256-Bbpm7y4flzEbUb6Sgkp6hIIHs455A0IsbmzvZwlkbh0=";
     };
 
+    propagatedBuildInputs = with super; [
+      psutil
+      sarge
+    ];
+
     preConfigure = ''
       # PrintTimeGenius ships with marlin-calc binaries for multiple architectures
       rm */analyzers/marlin-calc*
       sed 's@"{}.{}".format(binary_base_name, machine)@"${pkgs.marlin-calc}/bin/marlin-calc"@' -i */analyzers/analyze_progress.py
     '';
 
-    patches = [
-      ./printtimegenius-logging.patch
-    ];
-
     meta = with lib; {
       description = "Better print time estimation for OctoPrint";
       homepage = "https://github.com/eyal0/OctoPrint-PrintTimeGenius";
@@ -237,15 +238,19 @@ in {
 
   psucontrol = buildPlugin rec {
     pname = "PSUControl";
-    version = "0.1.9";
+    version = "1.0.6";
 
     src = fetchFromGitHub {
       owner = "kantlivelong";
       repo = "OctoPrint-${pname}";
       rev = version;
-      sha256 = "1cn009bdgn6c9ba9an5wfj8z02wi0xcsmbhkqggiqlnqy1fq45ca";
+      sha256 = "sha256-S+lPm85+ZEO/3BXYsrxE4FU29EGWzWrSw3y1DLdByrM=";
     };
 
+    propagatedBuildInputs = with super; [
+      python-periphery
+    ];
+
     preConfigure = ''
       # optional; RPi.GPIO is broken on vanilla kernels
       sed /RPi.GPIO/d -i requirements.txt
@@ -261,13 +266,13 @@ in {
 
   simpleemergencystop = buildPlugin rec {
     pname = "SimpleEmergencyStop";
-    version = "1.0.3";
+    version = "1.0.5";
 
     src = fetchFromGitHub {
       owner = "Sebclem";
       repo = "OctoPrint-${pname}";
       rev = version;
-      sha256 = "0hhh5grmn32abkix1b9fr1d0pcpdi2r066iypcxdxcza9qzwjiyi";
+      sha256 = "sha256-MbP3cKa9FPElQ/M8ykYh9kVXl8hNvmGiCHDvjgWvm9k=";
     };
 
     meta = with lib; {
@@ -299,13 +304,13 @@ in {
 
   telegram = buildPlugin rec {
     pname = "Telegram";
-    version = "1.6.4";
+    version = "1.6.5";
 
     src = fetchFromGitHub {
       owner = "fabianonline";
       repo = "OctoPrint-${pname}";
       rev = version;
-      sha256 = "14d9f9a5m1prcikd7y26qks6c2ls6qq4b97amn24q5a8k5hbgl94";
+      sha256 = "sha256-SckJCbPNCflgGYLHFiXy0juCtpvo8YS1BQsFpc1f5rg=";
     };
 
     propagatedBuildInputs = with super; [ pillow ];
@@ -358,13 +363,13 @@ in {
 
   touchui = buildPlugin rec {
     pname = "TouchUI";
-    version = "0.3.16";
+    version = "0.3.18";
 
     src = fetchFromGitHub {
       owner = "BillyBlaze";
       repo = "OctoPrint-${pname}";
       rev = version;
-      sha256 = "1jlqjirc4ygl4k7jp93l2h6b18jap3mzz8sf2g61j9w0kgv9l365";
+      sha256 = "sha256-PNDCjY7FhfnwK7Nd86el9ZQ00G4uMANH2Sk080iMYXw=";
     };
 
     meta = with lib; {
@@ -377,13 +382,13 @@ in {
 
   octoklipper = buildPlugin rec {
     pname = "OctoKlipper";
-    version = "0.3.2";
+    version = "0.3.8.3";
 
     src = fetchFromGitHub {
       owner = "AliceGrey";
       repo = "OctoprintKlipperPlugin";
       rev = version;
-      sha256 = "15yg2blbgqp2gdpsqqm8qiiznq5qaq8wss07jimkl0865vrvlz7l";
+      sha256 = "sha256-6r5jJDSR0DxlDQ/XWmQgYUgeL1otNNBnwurX7bbcThg=";
     };
 
     meta = with lib; {
@@ -396,13 +401,13 @@ in {
 
   octoprint-dashboard = buildPlugin rec {
     pname = "OctoPrint-Dashboard";
-    version = "1.15.2";
+    version = "1.18.3";
 
     src = fetchFromGitHub {
       owner = "StefanCohen";
       repo = pname;
       rev = version;
-      sha256 = "0p94jwd7kagh3sixhcrqmsgbay4aaf9l1pgyi2b45jym8pvld5n4";
+      sha256 = "sha256-hLHT3Uze/6PlOCEICVZ2ieFTyXgcqCvgHOlIIEquujg=";
     };
 
     meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/misc/octoprint/printtimegenius-logging.patch b/nixpkgs/pkgs/applications/misc/octoprint/printtimegenius-logging.patch
deleted file mode 100644
index 66c2e83d62ca..000000000000
--- a/nixpkgs/pkgs/applications/misc/octoprint/printtimegenius-logging.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/setup.py b/setup.py
-index 6a6610e..cc45902 100644
---- a/setup.py
-+++ b/setup.py
-@@ -35,9 +35,9 @@ plugin_license = "AGPLv3"
- # Any additional requirements besides OctoPrint should be listed here
- # For now, require the working release, which is only 1.3.9rc1.
- plugin_requires = ["OctoPrint>=1.3.9rc1", "psutil", "sarge"]
--from sys import version_info
--if version_info[0] < 3:
--    plugin_requires.append("logging")
-+#from sys import version_info
-+#if version_info[0] < 3:
-+#    plugin_requires.append("logging")
- 
- ### --------------------------------------------------------------------------------------------------------------------
- ### More advanced options that you usually shouldn't have to touch follow after this point
diff --git a/nixpkgs/pkgs/applications/misc/olifant/default.nix b/nixpkgs/pkgs/applications/misc/olifant/default.nix
deleted file mode 100644
index bde2ae07c922..000000000000
--- a/nixpkgs/pkgs/applications/misc/olifant/default.nix
+++ /dev/null
@@ -1,69 +0,0 @@
-{ lib, stdenv
-, fetchFromGitHub
-, nix-update-script
-, fetchpatch
-, vala
-, meson
-, ninja
-, pkg-config
-, python3
-, libgee
-, gsettings-desktop-schemas
-, gnome
-, pantheon
-, wrapGAppsHook
-, gtk3
-, json-glib
-, glib
-, glib-networking
-}:
-
-stdenv.mkDerivation rec {
-  pname = "olifant";
-  version = "0.2.1-beta6";
-
-  src = fetchFromGitHub {
-    owner = "cleac";
-    repo = pname;
-    rev = version;
-    sha256 = "sha256-3hnEa4Q1dH0R8Jp+Ew0+dH1PEm3F+56jYwqhJ+vll4M=";
-  };
-
-  nativeBuildInputs = [
-    meson
-    ninja
-    pkg-config
-    python3
-    vala
-    wrapGAppsHook
-  ];
-
-  buildInputs = [
-    glib
-    glib-networking
-    gnome.libsoup
-    gsettings-desktop-schemas
-    gtk3
-    json-glib
-    libgee
-    pantheon.granite
-  ];
-
-  postPatch = ''
-    chmod +x meson/post_install.py
-    patchShebangs meson/post_install.py
-  '';
-
-  passthru = {
-    updateScript = nix-update-script {
-      attrPath = pname;
-    };
-  };
-
-  meta = with lib; {
-    description = "A simple Mastodon client designed for elementary OS, originally developed by @bleakgrey";
-    homepage = "https://github.com/cleac/olifant";
-    license = licenses.gpl3;
-    maintainers = with maintainers; [ ];
-  };
-}
diff --git a/nixpkgs/pkgs/applications/misc/openbrf/default.nix b/nixpkgs/pkgs/applications/misc/openbrf/default.nix
index e815fd7a39f9..663a7bf43eae 100644
--- a/nixpkgs/pkgs/applications/misc/openbrf/default.nix
+++ b/nixpkgs/pkgs/applications/misc/openbrf/default.nix
@@ -13,7 +13,6 @@ mkDerivation {
 
   buildInputs = [ qtbase vcg glew ];
 
-  enableParallelBuilding = true;
   nativeBuildInputs = [ qmake ];
 
   qmakeFlags = [ "openBrf.pro" ];
diff --git a/nixpkgs/pkgs/applications/misc/opentx/default.nix b/nixpkgs/pkgs/applications/misc/opentx/default.nix
index 71bab089601d..d220d5fa2fa1 100644
--- a/nixpkgs/pkgs/applications/misc/opentx/default.nix
+++ b/nixpkgs/pkgs/applications/misc/opentx/default.nix
@@ -6,13 +6,16 @@
 
 mkDerivation rec {
   pname = "opentx";
-  version = "2.3.13";
+  version = "2.3.14";
 
   src = fetchFromGitHub {
     owner = "opentx";
     repo = "opentx";
-    rev = "release/${version}";
-    sha256 = "sha256-Bi/Cz2T2NdtnJZHav8qvo+gErPsR8Ym7K3KcD5APt6Y=";
+    # 2.3.14 release tag points to the commit before the one that updates the
+    # version number.
+    # rev = "release/${version}";
+    rev = "1e09791a1e2fe2a0ca9835019d634a4c6a4fa3bf";
+    sha256 = "0mhzp1j6nmqvkjxg8lv8xa637m1lavdsak30mdlq0g25dhwg6k92";
   };
 
   nativeBuildInputs = [ cmake gcc-arm-embedded python3Packages.pillow ];
@@ -41,7 +44,7 @@ mkDerivation rec {
       running radio simulators.
     '';
     homepage = "https://www.open-tx.org/";
-    license = licenses.gpl2;
+    license = licenses.gpl2Only;
     platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" ];
     maintainers = with maintainers; [ elitak lopsided98 ];
   };
diff --git a/nixpkgs/pkgs/applications/misc/phoc/default.nix b/nixpkgs/pkgs/applications/misc/phoc/default.nix
index aad2a4d0e48c..97613b21957b 100644
--- a/nixpkgs/pkgs/applications/misc/phoc/default.nix
+++ b/nixpkgs/pkgs/applications/misc/phoc/default.nix
@@ -36,14 +36,15 @@ let
   });
 in stdenv.mkDerivation rec {
   pname = "phoc";
-  version = "0.7.1";
+  version = "0.8.0";
 
   src = fetchFromGitLab {
-    domain = "source.puri.sm";
-    owner = "Librem5";
+    domain = "gitlab.gnome.org";
+    group = "World";
+    owner = "Phosh";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0n188xa2pwl4258naxhz45cvipcid8y1zvlbddll9xydrrh9bwqn";
+    sha256 = "sha256-QAnJlpFjWJvwxGyenmN4IaI9VFn2jwdXpa8VqAmH7Xw=";
   };
 
   nativeBuildInputs = [
@@ -76,7 +77,7 @@ in stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Wayland compositor for mobile phones like the Librem 5";
-    homepage = "https://source.puri.sm/Librem5/phoc";
+    homepage = "https://gitlab.gnome.org/World/Phosh/phoc";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ archseer masipcat zhaofengli ];
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/applications/misc/premid/default.nix b/nixpkgs/pkgs/applications/misc/premid/default.nix
new file mode 100644
index 000000000000..98ac0de32680
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/premid/default.nix
@@ -0,0 +1,92 @@
+{ autoPatchelfHook, makeDesktopItem, lib, stdenv, wrapGAppsHook, fetchurl, copyDesktopItems
+, alsa-lib, at-spi2-atk, at-spi2-core, atk, cairo, cups, dbus, expat, fontconfig
+, freetype, gdk-pixbuf, glib, gtk3, libcxx, libdrm, libnotify, libpulseaudio, libuuid
+, libX11, libXScrnSaver, libXcomposite, libXcursor, libXdamage, libXext
+, libXfixes, libXi, libXrandr, libXrender, libXtst, libxcb, libxshmfence
+, mesa, nspr, nss, pango, systemd, libappindicator-gtk3, libdbusmenu
+}:
+
+stdenv.mkDerivation rec {
+  pname = "premid";
+  version = "2.3.2";
+
+  src = fetchurl {
+    url = "https://github.com/premid/Linux/releases/download/v${version}/${pname}.tar.gz";
+    sha256 = "sha256-TuID63cVZkQ2kBl2iZeuVvjRUJYBt62ppPvgffBlOXY=";
+  };
+
+  nativeBuildInputs = [
+    autoPatchelfHook
+    wrapGAppsHook
+    copyDesktopItems
+  ];
+
+  buildInputs = [
+    alsa-lib
+    cups
+    libdrm
+    libuuid
+    libXdamage
+    libX11
+    libXScrnSaver
+    libXtst
+    libxcb
+    libxshmfence
+    mesa
+    nss
+  ];
+
+  dontWrapGApps = true;
+  dontBuild = true;
+  dontConfigure = true;
+
+  libPath = lib.makeLibraryPath [
+    libcxx systemd libpulseaudio libdrm mesa
+    stdenv.cc.cc alsa-lib atk at-spi2-atk at-spi2-core cairo cups dbus expat fontconfig freetype
+    gdk-pixbuf glib gtk3 libnotify libX11 libXcomposite libuuid
+    libXcursor libXdamage libXext libXfixes libXi libXrandr libXrender
+    libXtst nspr nss libxcb pango systemd libXScrnSaver
+    libappindicator-gtk3 libdbusmenu
+   ];
+
+  installPhase = ''
+    mkdir -p $out/{bin,opt/PreMiD,share/pixmaps}
+    mv * $out/opt/PreMiD
+
+    chmod +x $out/opt/PreMiD/${pname}
+    patchelf --set-interpreter ${stdenv.cc.bintools.dynamicLinker} \
+        $out/opt/PreMiD/${pname}
+
+    wrapProgram $out/opt/PreMiD/${pname} \
+        "''${gappsWrapperArgs[@]}" \
+        --prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \
+        --prefix LD_LIBRARY_PATH : ${libPath}:$out/opt/${pname}
+
+    ln -s $out/opt/PreMiD/${pname} $out/bin/
+  '';
+
+  # This is the icon used by the desktop file
+  postInstall = ''
+    ln -s $out/opt/PreMiD/assets/appIcon.png $out/share/pixmaps/${pname}.png
+  '';
+
+  desktopItems = [
+    (makeDesktopItem {
+      name = pname;
+      exec = "PreMiD";
+      icon = pname;
+      desktopName = "PreMiD";
+      genericName = meta.description;
+      mimeType = "x-scheme-handler/premid";
+    })
+  ];
+
+  meta = with lib; {
+    description = "A simple, configurable utility to show your web activity as playing status on Discord";
+    homepage = "https://premid.app";
+    downloadPage = "https://premid.app/downloads";
+    license = licenses.mpl20;
+    maintainers = with maintainers; [ natto1784 ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/privacyidea/default.nix b/nixpkgs/pkgs/applications/misc/privacyidea/default.nix
index 7545253d5066..217ea6f5e6cc 100644
--- a/nixpkgs/pkgs/applications/misc/privacyidea/default.nix
+++ b/nixpkgs/pkgs/applications/misc/privacyidea/default.nix
@@ -12,18 +12,27 @@ let
           sha256 = "ebbb777cbf9312359b897bf81ba00dae0f5cb69fba2a18265dcc18a6f5ef7519";
         };
       });
+      flask_migrate = super.flask_migrate.overridePythonAttrs (oldAttrs: rec {
+        version = "2.7.0";
+        src = oldAttrs.src.override {
+          inherit version;
+          sha256 = "ae2f05671588762dd83a21d8b18c51fe355e86783e24594995ff8d7380dffe38";
+        };
+      });
+      werkzeug = self.callPackage ../../../development/python-modules/werkzeug/1.nix { };
+      flask = self.callPackage ../../../development/python-modules/flask/1.nix { };
     };
   };
 in
 python3'.pkgs.buildPythonPackage rec {
   pname = "privacyIDEA";
-  version = "3.6";
+  version = "3.6.2";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-yywkQ3TdBzRMbJGY0Seaprztgt0JrCAbgqosMQ5fcQM=";
+    sha256 = "sha256-kv6XqsbGkaGEhfNxSOjCe6JbFOJnuqwM8CR/J9lJjks=";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/applications/misc/prusa-slicer/default.nix b/nixpkgs/pkgs/applications/misc/prusa-slicer/default.nix
index a6e81375de55..88086ef13631 100644
--- a/nixpkgs/pkgs/applications/misc/prusa-slicer/default.nix
+++ b/nixpkgs/pkgs/applications/misc/prusa-slicer/default.nix
@@ -4,7 +4,7 @@
 }:
 stdenv.mkDerivation rec {
   pname = "prusa-slicer";
-  version = "2.3.1";
+  version = "2.3.3";
 
   nativeBuildInputs = [
     cmake
@@ -69,7 +69,7 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "prusa3d";
     repo = "PrusaSlicer";
-    sha256 = "1lyaxc9nha1cd8p35iam1k1pikp9kfx0fj1l6vb1xb8pgqp02jnn";
+    sha256 = "0w0synqi3iz9aigsgv6x1c6sg123fasbx19h4w3ic1l48r8qmpwm";
     rev = "version_${version}";
   };
 
diff --git a/nixpkgs/pkgs/applications/misc/pueue/default.nix b/nixpkgs/pkgs/applications/misc/pueue/default.nix
index 8cf8d8286ae3..298307b58f91 100644
--- a/nixpkgs/pkgs/applications/misc/pueue/default.nix
+++ b/nixpkgs/pkgs/applications/misc/pueue/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "pueue";
-  version = "0.12.1";
+  version = "0.12.2";
 
   src = fetchFromGitHub {
     owner = "Nukesor";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-wcOF34GzlB6YKISkjDgYgsaN1NmWBMIntfT23A6byx8=";
+    sha256 = "sha256-umVIMboKG6cZ1JOcfhOEZTQwPLxC2LdlGUa4U6LXh/g=";
   };
 
-  cargoSha256 = "sha256-aW1VliL7QQm9gMeM6N+SroHlgqI3F7MX0EzcuEzcJnQ=";
+  cargoSha256 = "sha256-nppwwO0dBXYG/ZJMNWGnl7J77GDI7+NV8QAmfcbpJD4=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/nixpkgs/pkgs/applications/misc/pwsafe/default.nix b/nixpkgs/pkgs/applications/misc/pwsafe/default.nix
index 6aa1099c35c8..534f6adecdf8 100644
--- a/nixpkgs/pkgs/applications/misc/pwsafe/default.nix
+++ b/nixpkgs/pkgs/applications/misc/pwsafe/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pwsafe";
-  version = "3.55.0";
+  version = "3.56.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "sha256-+Vfwz8xGmSzFNdiN5XYkRqGmFuBVIgexXdH3B+XYY3o=";
+    sha256 = "sha256-ZLX/3cs1cdia5+32QEwE6q3V0uFNkkmiIGboKW6Xej8=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/misc/qlcplus/default.nix b/nixpkgs/pkgs/applications/misc/qlcplus/default.nix
index d387468bcddc..9096a56a4211 100644
--- a/nixpkgs/pkgs/applications/misc/qlcplus/default.nix
+++ b/nixpkgs/pkgs/applications/misc/qlcplus/default.nix
@@ -39,8 +39,6 @@ mkDerivation rec {
       variables.pri
   '';
 
-  enableParallelBuilding = true;
-
   postInstall = ''
     ln -sf $out/lib/*/libqlcplus* $out/lib
   '';
diff --git a/nixpkgs/pkgs/applications/misc/qtpass/default.nix b/nixpkgs/pkgs/applications/misc/qtpass/default.nix
index faa199147490..37fab1403219 100644
--- a/nixpkgs/pkgs/applications/misc/qtpass/default.nix
+++ b/nixpkgs/pkgs/applications/misc/qtpass/default.nix
@@ -24,8 +24,6 @@ mkDerivation rec {
 
   nativeBuildInputs = [ qmake qttools ];
 
-  enableParallelBuilding = true;
-
   patches = [
     # Fix path to pass-otp plugin `/usr/lib/password-store/extensions/otp.bash` being hardcoded.
     # TODO: Remove when https://github.com/IJHack/QtPass/pull/499 is merged and available.
diff --git a/nixpkgs/pkgs/applications/misc/remarkable/remarkable-mouse/default.nix b/nixpkgs/pkgs/applications/misc/remarkable/remarkable-mouse/default.nix
index 800170b314a5..a4012eaed726 100644
--- a/nixpkgs/pkgs/applications/misc/remarkable/remarkable-mouse/default.nix
+++ b/nixpkgs/pkgs/applications/misc/remarkable/remarkable-mouse/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonApplication rec {
   pname = "remarkable-mouse";
-  version = "5.2.1";
+  version = "6.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0k2wjfcgnvb8yqn4c4ddfyyhrvl6hj61kn1ddnyp6ay9vklnw160";
+    sha256 = "46eff5d6a07ca60ed652d09eeee9b4c4566da422be4a3dfa2fcd452a3df65ac1";
   };
 
   propagatedBuildInputs = with python3Packages; [ screeninfo paramiko pynput libevdev ];
diff --git a/nixpkgs/pkgs/applications/misc/rofi-file-browser/default.nix b/nixpkgs/pkgs/applications/misc/rofi-file-browser/default.nix
index 0f9067a7e39d..3de8a94b6264 100644
--- a/nixpkgs/pkgs/applications/misc/rofi-file-browser/default.nix
+++ b/nixpkgs/pkgs/applications/misc/rofi-file-browser/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rofi-file-browser-extended";
-  version = "1.1.1";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "marvinkreis";
     repo = pname;
     rev = version;
-    sha256 = "10wk5sif3bmvsgyk2gdy0qhpv1b37zgzf89n3h0yh7pg195fi2gn";
+    sha256 = "1grcal8ga4gpaj3p1dvx4zmqai93jjz2izpj91lxwj0dbz1gmbdm";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/applications/misc/rofi/default.nix b/nixpkgs/pkgs/applications/misc/rofi/default.nix
index d47d1fe26a61..12daea00cad3 100644
--- a/nixpkgs/pkgs/applications/misc/rofi/default.nix
+++ b/nixpkgs/pkgs/applications/misc/rofi/default.nix
@@ -1,16 +1,35 @@
-{ stdenv, lib, fetchurl
-, autoreconfHook, pkg-config, libxkbcommon, pango, which, git
-, cairo, libxcb, xcbutil, xcbutilwm, xcbutilxrm, libstartup_notification
-, bison, flex, librsvg, check
+{ stdenv
+, lib
+, fetchFromGitHub
+, autoreconfHook
+, pkg-config
+, libxkbcommon
+, pango
+, which
+, git
+, cairo
+, libxcb
+, xcbutil
+, xcbutilwm
+, xcbutilxrm
+, xcb-util-cursor
+, libstartup_notification
+, bison
+, flex
+, librsvg
+, check
 }:
 
 stdenv.mkDerivation rec {
   pname = "rofi-unwrapped";
-  version = "1.6.1";
+  version = "1.7.0";
 
-  src = fetchurl {
-    url = "https://github.com/davatorium/rofi/releases/download/${version}/rofi-${version}.tar.gz";
-    sha256 = "04glljqbf9ckkc6x6fv4x1gqmy468n1agya0kd8rxdvz24wzf7cd";
+  src = fetchFromGitHub {
+    owner = "davatorium";
+    repo = "rofi";
+    rev = version;
+    fetchSubmodules = true;
+    sha256 = "03wdy56b3g8p2czb0qydrddyyhj3x037pirnhyqr5qbfczb9a63v";
   };
 
   preConfigure = ''
@@ -20,8 +39,22 @@ stdenv.mkDerivation rec {
   '';
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
-  buildInputs = [ libxkbcommon pango cairo git bison flex librsvg check
-    libstartup_notification libxcb xcbutil xcbutilwm xcbutilxrm which
+  buildInputs = [
+    libxkbcommon
+    pango
+    cairo
+    git
+    bison
+    flex
+    librsvg
+    check
+    libstartup_notification
+    libxcb
+    xcbutil
+    xcbutilwm
+    xcbutilxrm
+    xcb-util-cursor
+    which
   ];
 
   doCheck = false;
@@ -30,7 +63,7 @@ stdenv.mkDerivation rec {
     description = "Window switcher, run dialog and dmenu replacement";
     homepage = "https://github.com/davatorium/rofi";
     license = licenses.mit;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ bew ];
     platforms = with platforms; linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/rtv/default.nix b/nixpkgs/pkgs/applications/misc/rtv/default.nix
deleted file mode 100644
index be539a37a301..000000000000
--- a/nixpkgs/pkgs/applications/misc/rtv/default.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{ lib, fetchFromGitHub, python3Packages }:
-
-with python3Packages;
-buildPythonApplication rec {
-  version = "1.27.0";
-  pname = "rtv";
-
-  src = fetchFromGitHub {
-    owner = "michael-lazar";
-    repo = "rtv";
-    rev = "v${version}";
-    sha256 = "1hw7xy2kjxq7y3wcibcz4l7zj8icvigialqr17l362xry0y17y5j";
-  };
-
-  # Tests try to access network
-  doCheck = false;
-
-  checkPhase = ''
-    py.test
-  '';
-
-  checkInputs = [
-    coverage
-    coveralls
-    docopt
-    mock
-    pylint
-    pytest
-    vcrpy
-  ];
-
-  propagatedBuildInputs = [
-    beautifulsoup4
-    decorator
-    kitchen
-    requests
-    six
-  ];
-
-  meta = with lib; {
-    homepage = "https://github.com/michael-lazar/rtv";
-    description = "Browse Reddit from your Terminal";
-    license = licenses.mit;
-    maintainers = with maintainers; [ matthiasbeyer wedens ];
-  };
-}
diff --git a/nixpkgs/pkgs/applications/misc/sequeler/default.nix b/nixpkgs/pkgs/applications/misc/sequeler/default.nix
index c8a0e0175fae..5fd5176c95f8 100644
--- a/nixpkgs/pkgs/applications/misc/sequeler/default.nix
+++ b/nixpkgs/pkgs/applications/misc/sequeler/default.nix
@@ -11,13 +11,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "sequeler";
-  version = "0.8.0";
+  version = "0.8.2";
 
   src = fetchFromGitHub {
     owner = "Alecaddd";
     repo = pname;
     rev = "v${version}";
-    sha256 = "090plqnby2wxzr1waq5kz89w3269j363mgxwfz9g7qg55lddaahz";
+    sha256 = "sha256-MsHHTYERe0v+u3KnVtx+jmJTKORJTJ7bNfJMZHV9Ly4=";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config vala gettext wrapGAppsHook python3 desktop-file-utils ];
diff --git a/nixpkgs/pkgs/applications/misc/sfm/default.nix b/nixpkgs/pkgs/applications/misc/sfm/default.nix
index 1d9dc3811aae..355c5915db27 100644
--- a/nixpkgs/pkgs/applications/misc/sfm/default.nix
+++ b/nixpkgs/pkgs/applications/misc/sfm/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sfm";
-  version = "0.2";
+  version = "0.3.1";
 
   src = fetchFromGitHub {
     owner = "afify";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-DwXKrSqcebNI5N9REXyMV16W2kr72IH9+sKSVehc5zw=";
+    hash = "sha256-NmafUezwKK9bYPAWDNhegyjqkb4GY/i1WEtQ9puIaig=";
   };
 
   configFile = lib.optionalString (conf!=null) (writeText "config.def.h" conf);
diff --git a/nixpkgs/pkgs/applications/misc/slides/default.nix b/nixpkgs/pkgs/applications/misc/slides/default.nix
index 491e889f242d..c69971919ee9 100644
--- a/nixpkgs/pkgs/applications/misc/slides/default.nix
+++ b/nixpkgs/pkgs/applications/misc/slides/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "slides";
-  version = "0.4.1";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "maaslalani";
     repo = "slides";
     rev = "v${version}";
-    sha256 = "1cywqrqj199hmx532h4vn0j17ypswq2zkmv8qpxpayvjwimx4pwk";
+    sha256 = "175g823n253d3xg8hxycw3gm1hhqb0vz8zs7xxcbdw5rlpd2hjii";
   };
 
   checkInputs = [
@@ -18,7 +18,7 @@ buildGoModule rec {
     ruby
   ];
 
-  vendorSha256 = "0y6fz9rw702mji571k0gp4kpfx7xbv7rvlnmpfjygy6lmp7wga6f";
+  vendorSha256 = "13kx47amwvzyzc251iijsbwa52s8bpld4xllb4y85qkwllfnmq2g";
 
   ldflags = [
     "-s" "-w"
diff --git a/nixpkgs/pkgs/applications/misc/smos/default.nix b/nixpkgs/pkgs/applications/misc/smos/default.nix
index 7d994a749bd4..aa2f53b5a2c7 100644
--- a/nixpkgs/pkgs/applications/misc/smos/default.nix
+++ b/nixpkgs/pkgs/applications/misc/smos/default.nix
@@ -4,7 +4,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "smos-${version}";
+  pname = "smos";
   version = "0.1.0";
 
   src = fetchurl {
@@ -12,7 +12,8 @@ stdenv.mkDerivation rec {
     sha256 = "sha256:07yavk7xl92yjwwjdig90yq421n8ldv4fjfw7izd4hfpzw849a12";
   };
 
-  phases = [ "unpackPhase" ];
+  dontInstall = true;
+
   unpackCmd = "${unzip}/bin/unzip -d $out $curSrc";
   sourceRoot = ".";
 
diff --git a/nixpkgs/pkgs/applications/misc/snixembed/default.nix b/nixpkgs/pkgs/applications/misc/snixembed/default.nix
new file mode 100644
index 000000000000..1a5391b132b6
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/snixembed/default.nix
@@ -0,0 +1,28 @@
+{ fetchFromSourcehut, gtk3, lib, libdbusmenu-gtk3, pkg-config, stdenv, vala }:
+
+stdenv.mkDerivation rec {
+  pname = "snixembed";
+  version = "0.3.1";
+
+  src = fetchFromSourcehut {
+    owner = "~steef";
+    repo = pname;
+    rev = version;
+    sha256 = "0yy1i4463q43aq98qk4nvvzpw4i6bid2bywwgf6iq545pr3glfj5";
+  };
+
+  nativeBuildInputs = [ pkg-config vala ];
+
+  buildInputs = [ gtk3 libdbusmenu-gtk3 ];
+
+  makeFlags = [ "PREFIX=$(out)" ];
+
+  meta = with lib; {
+    description = "Proxy StatusNotifierItems as XEmbedded systemtray-spec icons";
+    homepage = "https://git.sr.ht/~steef/snixembed";
+    changelog = "https://git.sr.ht/~steef/snixembed/refs/${version}";
+    license = licenses.isc;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ figsoda ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/stretchly/default.nix b/nixpkgs/pkgs/applications/misc/stretchly/default.nix
index 52c5f542b276..9c0cc7d08e7c 100644
--- a/nixpkgs/pkgs/applications/misc/stretchly/default.nix
+++ b/nixpkgs/pkgs/applications/misc/stretchly/default.nix
@@ -11,11 +11,11 @@
 stdenv.mkDerivation rec {
 
   pname = "stretchly";
-  version = "1.6.0";
+  version = "1.7.0";
 
   src = fetchurl {
     url = "https://github.com/hovancik/stretchly/releases/download/v${version}/stretchly-${version}.tar.xz";
-    sha256 = "1q0ihp6cd65lnscbr7xj3yyb06qds77r4s6m1xbk5l9vs2rw923d";
+    sha256 = "sha256-F6p+g0yuDMpNq+cVgA3ZhUwCIiIU1QfYM90lmaNnRWw=";
   };
 
   icon = fetchurl {
diff --git a/nixpkgs/pkgs/applications/misc/subsurface/default.nix b/nixpkgs/pkgs/applications/misc/subsurface/default.nix
index d5a7d6f0fd67..ba3880aa201d 100644
--- a/nixpkgs/pkgs/applications/misc/subsurface/default.nix
+++ b/nixpkgs/pkgs/applications/misc/subsurface/default.nix
@@ -64,8 +64,6 @@ let
       mv lib $out/
     '';
 
-    enableParallelBuilding = true;
-
     meta = with lib; {
       inherit (src.meta) homepage;
       description = "QtLocation plugin for Google maps tile API";
diff --git a/nixpkgs/pkgs/applications/misc/surface-control/default.nix b/nixpkgs/pkgs/applications/misc/surface-control/default.nix
index d78904f59880..e4b354845dde 100644
--- a/nixpkgs/pkgs/applications/misc/surface-control/default.nix
+++ b/nixpkgs/pkgs/applications/misc/surface-control/default.nix
@@ -31,7 +31,7 @@ rustPlatform.buildRustPackage rec {
       "Control various aspects of Microsoft Surface devices on Linux from the Command-Line";
     homepage = "https://github.com/linux-surface/surface-control";
     license = licenses.mit;
-    maintainers = with maintainers; [ winterqt ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/sweethome3d/default.nix b/nixpkgs/pkgs/applications/misc/sweethome3d/default.nix
index 387177a8c4c5..bfe9af768412 100644
--- a/nixpkgs/pkgs/applications/misc/sweethome3d/default.nix
+++ b/nixpkgs/pkgs/applications/misc/sweethome3d/default.nix
@@ -100,13 +100,13 @@ in {
 
   application = mkSweetHome3D rec {
     pname = lib.toLower module + "-application";
-    version = "6.5.2";
+    version = "6.6";
     module = "SweetHome3D";
     description = "Design and visualize your future home";
     license = lib.licenses.gpl2Plus;
     src = fetchurl {
       url = "mirror://sourceforge/sweethome3d/${module}-${version}-src.zip";
-      sha256 = "1j0xm2vmcxxjmf12k8rfnisq9hd7hqaiyxrfbrbjxis9iq3kycp3";
+      sha256 = "sha256-CnVXpmodmyoZdqmt7OgRyzuLeDhkPhrAS/CldFM8SQs=";
     };
     desktopName = "Sweet Home 3D";
     icons = {
diff --git a/nixpkgs/pkgs/applications/misc/sweethome3d/editors.nix b/nixpkgs/pkgs/applications/misc/sweethome3d/editors.nix
index 783ea3e79402..d6ea3fccfa66 100644
--- a/nixpkgs/pkgs/applications/misc/sweethome3d/editors.nix
+++ b/nixpkgs/pkgs/applications/misc/sweethome3d/editors.nix
@@ -99,14 +99,14 @@ in {
   };
 
   furniture-editor = mkEditorProject rec {
-    version = "1.27";
+    version = "1.28";
     module = "FurnitureLibraryEditor";
     pname = module;
     description = "Quickly create SH3F files and edit the properties of the 3D models it contain";
     license = lib.licenses.gpl2;
     src = fetchurl {
       url = "mirror://sourceforge/sweethome3d/${module}-${version}-src.zip";
-      sha256 = "1zxbcn9awgax8lalzkc05f5yfwbgnrayc17fkyv5i19j4qb3r2a0";
+      sha256 = "sha256-r5xJlUctUdcknJfm8rbz+bdzFhqgHsHpHwxEC4mItws=";
     };
     desktopName = "Sweet Home 3D - Furniture Library Editor";
   };
diff --git a/nixpkgs/pkgs/applications/misc/tabula-java/default.nix b/nixpkgs/pkgs/applications/misc/tabula-java/default.nix
index a88a83bc234e..b28b4da7dbef 100644
--- a/nixpkgs/pkgs/applications/misc/tabula-java/default.nix
+++ b/nixpkgs/pkgs/applications/misc/tabula-java/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "tabula-java";
-  version = "1.0.4";
+  version = "1.0.5";
 
   src = fetchurl {
     url = "https://github.com/tabulapdf/tabula-java/releases/download/v${version}/tabula-${version}-jar-with-dependencies.jar";
-    sha256 = "12d0jcc3j0q8jbqv0gzfiif7c8ig37834vb8yq0jnyr0s72k30xw";
+    sha256 = "sha256-IWHj//ZZOdfOCBJHnPnKNoYNtWl/f8H6ARYe1AkqB0U=";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/applications/misc/taizen/default.nix b/nixpkgs/pkgs/applications/misc/taizen/default.nix
index 7974622be7da..405cbe12cc3b 100644
--- a/nixpkgs/pkgs/applications/misc/taizen/default.nix
+++ b/nixpkgs/pkgs/applications/misc/taizen/default.nix
@@ -20,6 +20,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://crates.io/crates/taizen";
     license = licenses.mit;
     description = "curses based mediawiki browser";
-    maintainers = with maintainers; [ ma27 ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/taskwarrior-tui/default.nix b/nixpkgs/pkgs/applications/misc/taskwarrior-tui/default.nix
index 5c32d8622e33..a591a766e1e6 100644
--- a/nixpkgs/pkgs/applications/misc/taskwarrior-tui/default.nix
+++ b/nixpkgs/pkgs/applications/misc/taskwarrior-tui/default.nix
@@ -5,19 +5,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "taskwarrior-tui";
-  version = "0.10.4";
+  version = "0.13.29";
 
   src = fetchFromGitHub {
     owner = "kdheepak";
     repo = "taskwarrior-tui";
     rev = "v${version}";
-    sha256 = "1rs6xpnmqzp45jkdzi8x06i8764gk7zl86sp6s0hiirbfqf7vwsy";
+    sha256 = "sha256-56+/WQESbf31UkJU4xONLY2T+WQVM0bI/x1yLZr3elI=";
   };
 
   # Because there's a test that requires terminal access
   doCheck = false;
 
-  cargoSha256 = "1c9vw1n6h7irwim1zf3mr0g520jnlvfqdy7y9v9g9xpkvbjr7ich";
+  cargoSha256 = "sha256-8am66wP2751AAMbWDBKZ89mAgr2poq3CU+aJF+I8/fs=";
 
   meta = with lib; {
     description = "A terminal user interface for taskwarrior ";
diff --git a/nixpkgs/pkgs/applications/misc/terminal-colors/default.nix b/nixpkgs/pkgs/applications/misc/terminal-colors/default.nix
new file mode 100644
index 000000000000..08e810a13f85
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/terminal-colors/default.nix
@@ -0,0 +1,55 @@
+{ stdenv, lib, help2man, python3, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "terminal-colors";
+  version = "3.0.1";
+  outputs = [ "out" "man" ];
+
+  src = fetchFromGitHub {
+    owner = "eikenb";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-hekt77/FhSTMEARVuck49/Q1dIuqkwbOYmgGD1IItyc=";
+  };
+
+  buildInputs = [ python3 ];
+  nativeBuildInputs = [ help2man ];
+
+  postPatch =
+    # This sed command modifies output of --version command in way that
+    # makes manpage generated by help2man(1) prettier.
+    ''
+      sed -r -i "3s/([0-9.]+)/$pname - \1\\n/" ./$pname
+    ''
+    # Upstream shebang of "terminal-colors" python script uses
+    # /usr/bin/env, which is not present in Nix sandbox, so we need to
+    # patch it before running help2man, otherwise it would fail with "no
+    # such file or directory".
+    + ''
+      patchShebangs ./$pname
+    '';
+
+  buildPhase = ''
+    runHook preBuild
+
+    help2man -n 'display terminal colors' -N ./$pname > $pname.1
+
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    install -D -m755 ./$pname -t $out/bin
+    install -D -m644 ./$pname.1 -t $man/share/man/man1
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Script displaying terminal colors in various formats";
+    homepage = "https://github.com/eikenb/terminal-colors";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ kaction ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/ticker/default.nix b/nixpkgs/pkgs/applications/misc/ticker/default.nix
index a3e2dc11c6f7..4de28e6a861a 100644
--- a/nixpkgs/pkgs/applications/misc/ticker/default.nix
+++ b/nixpkgs/pkgs/applications/misc/ticker/default.nix
@@ -5,20 +5,20 @@
 
 buildGoModule rec {
   pname = "ticker";
-  version = "4.2.0";
+  version = "4.2.1";
 
   src = fetchFromGitHub {
     owner = "achannarasappa";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-FavbBGmChWQ3xySPHlw5HisZwVaNe/NaxA6+InN8fL8=";
+    sha256 = "sha256-T9pApuzATohiOUmWa+GBlLrlTNgKNMwtW6fSPO/NS6Y=";
   };
 
-  vendorSha256 = "sha256-XBfTVd3X3IDxLCAaNnijf6E5bw+AZ94UdOG9w7BOdBU=";
+  vendorSha256 = "sha256-vTB1RPg1LN44bkWrdGEXR6WRlM/Q2EITUO0yt5ar/zg=";
 
-  preBuild = ''
-    buildFlagsArray+=("-ldflags" "-s -w -X github.com/achannarasappa/ticker/cmd.Version=v${version}")
-  '';
+  ldflags = [
+    "-s" "-w" "-X github.com/achannarasappa/ticker/cmd.Version=v${version}"
+  ];
 
   # Tests require internet
   doCheck = false;
diff --git a/nixpkgs/pkgs/applications/misc/tint2/default.nix b/nixpkgs/pkgs/applications/misc/tint2/default.nix
index 847b95c7874f..308fbff1260d 100644
--- a/nixpkgs/pkgs/applications/misc/tint2/default.nix
+++ b/nixpkgs/pkgs/applications/misc/tint2/default.nix
@@ -24,13 +24,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tint2";
-  version = "17.0";
+  version = "17.0.1";
 
   src = fetchFromGitLab {
     owner = "o9000";
     repo = "tint2";
     rev = version;
-    sha256 = "1gy5kki7vqrj43yl47cw5jqwmj45f7a8ppabd5q5p1gh91j7klgm";
+    sha256 = "sha256-yiXdG0qYcdol2pA1L9ii4XiLZyyUAl8/EJop48OLoXs=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/misc/topydo/default.nix b/nixpkgs/pkgs/applications/misc/topydo/default.nix
index 3ea3511308b2..c591c969ca9b 100644
--- a/nixpkgs/pkgs/applications/misc/topydo/default.nix
+++ b/nixpkgs/pkgs/applications/misc/topydo/default.nix
@@ -17,7 +17,7 @@ buildPythonApplication rec {
     arrow
     icalendar
     glibcLocales
-    prompt_toolkit
+    prompt-toolkit
     urwid
     watchdog
   ];
diff --git a/nixpkgs/pkgs/applications/misc/ttyper/default.nix b/nixpkgs/pkgs/applications/misc/ttyper/default.nix
new file mode 100644
index 000000000000..664bf9ba7252
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/ttyper/default.nix
@@ -0,0 +1,22 @@
+{ fetchFromGitHub, lib, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "ttyper";
+  version = "0.2.5";
+
+  src = fetchFromGitHub {
+    owner = "max-niederman";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1fsb77ky92fyv3ll6zrbxbd69gm85xnc6bivj7sc3sv5cxhgr7a5";
+  };
+
+  cargoSha256 = "1sqdql0kfr1vsww6hkrp7yjlzx0mnhfma51z699hkx9c492sf1wk";
+
+  meta = with lib; {
+    description = "Terminal-based typing test";
+    homepage = "https://github.com/max-niederman/ttyper";
+    license = licenses.mit;
+    maintainers = with maintainers; [ figsoda ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/tut/default.nix b/nixpkgs/pkgs/applications/misc/tut/default.nix
index 4901eda54aa6..f3e74fdbe942 100644
--- a/nixpkgs/pkgs/applications/misc/tut/default.nix
+++ b/nixpkgs/pkgs/applications/misc/tut/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "tut";
-  version = "0.0.20";
+  version = "0.0.27";
 
   src = fetchFromGitHub {
     owner = "RasmusLindroth";
     repo = pname;
     rev = version;
-    sha256 = "03jiv5m807z96796fbpi6ny22am3sq4jfni37fxbld05sxdzwcnd";
+    sha256 = "sha256-P5tIu6cmh37haWJodBGmzgE8f0QUTwIQes9AuiaVSxU=";
   };
 
-  vendorSha256 = "1in5b7ixnm5iizkzziqclvgaq87ccdh507amkgfhfy5sxsgbfb1g";
+  vendorSha256 = "1zmwfgl1mayqcqk93368l94d6yah1qb0x11vf9b2x7zbzxzfshg9";
 
   meta = with lib; {
     description = "A TUI for Mastodon with vim inspired keys";
diff --git a/nixpkgs/pkgs/applications/misc/ulauncher/default.nix b/nixpkgs/pkgs/applications/misc/ulauncher/default.nix
index 6d9d9deefa20..f9bf70b661ce 100644
--- a/nixpkgs/pkgs/applications/misc/ulauncher/default.nix
+++ b/nixpkgs/pkgs/applications/misc/ulauncher/default.nix
@@ -20,13 +20,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "ulauncher";
-  version = "5.9.0";
+  version = "5.11.0";
 
   disabled = python3Packages.isPy27;
 
   src = fetchurl {
     url = "https://github.com/Ulauncher/Ulauncher/releases/download/${version}/ulauncher_${version}.tar.gz";
-    sha256 = "sha256-jRCrkJcjUHDd3wF+Hkxg0QaW7YgIh7zM/KZ4TAH84/U=";
+    sha256 = "sha256-xEM7sG0NRWouDu6NxNA94WTycykEhPI4ByjDk2yjHjo=";
   };
 
   nativeBuildInputs = with python3Packages; [
diff --git a/nixpkgs/pkgs/applications/misc/unipicker/default.nix b/nixpkgs/pkgs/applications/misc/unipicker/default.nix
index 7ec284f402d1..26db71e9b483 100644
--- a/nixpkgs/pkgs/applications/misc/unipicker/default.nix
+++ b/nixpkgs/pkgs/applications/misc/unipicker/default.nix
@@ -17,8 +17,12 @@ stdenv.mkDerivation rec {
    ];
 
    preInstall = ''
-      substituteInPlace unipicker --replace "/etc/unipickerrc" "$out/etc/unipickerrc"
-      substituteInPlace unipickerrc --replace "/usr/local" "$out"
+      substituteInPlace unipicker \
+        --replace "/etc/unipickerrc" "$out/etc/unipickerrc" \
+        --replace "fzf" "${fzf}/bin/fzf"
+      substituteInPlace unipickerrc \
+        --replace "/usr/local" "$out" \
+        --replace "fzf" "${fzf}/bin/fzf"
    '';
 
    makeFlags = [
@@ -31,6 +35,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/jeremija/unipicker";
     license = licenses.mit;
     maintainers = with maintainers; [ kiyengar ];
-    platforms = with platforms; unix;
+    platforms = platforms.unix;
    };
 }
diff --git a/nixpkgs/pkgs/applications/misc/upwork/default.nix b/nixpkgs/pkgs/applications/misc/upwork/default.nix
index 976aae781710..e70b875e6f2c 100644
--- a/nixpkgs/pkgs/applications/misc/upwork/default.nix
+++ b/nixpkgs/pkgs/applications/misc/upwork/default.nix
@@ -1,16 +1,16 @@
 { lib, stdenv, fetchurl, dpkg, wrapGAppsHook, autoPatchelfHook
 , alsa-lib, atk, at-spi2-atk, at-spi2-core, cairo, cups, dbus, expat, fontconfig, freetype
-, gdk-pixbuf, glib, gtk3, libnotify, libX11, libXcomposite, libXcursor, libXdamage, libuuid
-, libXext, libXfixes, libXi, libXrandr, libXrender, libXtst, nspr, nss, libxcb
-, pango, systemd, libXScrnSaver, libcxx, libpulseaudio }:
+, gdk-pixbuf, glib, gtk3, libcxx, libdrm, libnotify, libpulseaudio, libuuid, libX11, libxcb
+, libXcomposite, libXcursor, libXdamage, libXext, libXfixes, libXi, libXrandr, libXrender
+, libXScrnSaver, libXtst, mesa, nspr, nss, pango, systemd }:
 
 stdenv.mkDerivation rec {
   pname = "upwork";
-  version = "5.5.0.11";
+  version = "5.6.7.13";
 
   src = fetchurl {
-    url = "https://upwork-usw2-desktopapp.upwork.com/binaries/v5_5_0_11_61df9c99b6df4e7b/${pname}_${version}_amd64.deb";
-    sha256 = "db83d5fb1b5383992c6156284f6f3cd3a6b23f727ce324ba90c82817553fb4f7";
+    url = "https://upwork-usw2-desktopapp.upwork.com/binaries/v5_6_7_13_9f0e0a44a59e4331/${pname}_${version}_amd64.deb";
+    sha256 = "f1d3168cda47f77100192ee97aa629e2452fe62fb364dd59ad361adbc0d1da87";
   };
 
   dontWrapGApps = true;
@@ -23,10 +23,10 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     libcxx systemd libpulseaudio
-    stdenv.cc.cc alsa-lib atk at-spi2-atk at-spi2-core cairo cups dbus expat fontconfig freetype
-    gdk-pixbuf glib gtk3 libnotify libX11 libXcomposite libuuid
-    libXcursor libXdamage libXext libXfixes libXi libXrandr libXrender
-    libXtst nspr nss libxcb pango systemd libXScrnSaver
+    stdenv.cc.cc alsa-lib atk at-spi2-atk at-spi2-core cairo cups
+    dbus expat fontconfig freetype gdk-pixbuf glib gtk3 libdrm libnotify
+    libuuid libX11 libxcb libXcomposite libXcursor libXdamage libXext libXfixes
+    libXi libXrandr libXrender libXScrnSaver libXtst mesa nspr nss pango systemd
   ];
 
   libPath = lib.makeLibraryPath buildInputs;
@@ -40,7 +40,6 @@ stdenv.mkDerivation rec {
     mv usr $out
     mv opt $out
     sed -e "s|/opt/Upwork|$out/bin|g" -i $out/share/applications/upwork.desktop
-
     makeWrapper $out/opt/Upwork/upwork \
       $out/bin/upwork \
       --prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \
diff --git a/nixpkgs/pkgs/applications/misc/usql/default.nix b/nixpkgs/pkgs/applications/misc/usql/default.nix
index 7a83ec05c10a..eec7bee309b1 100644
--- a/nixpkgs/pkgs/applications/misc/usql/default.nix
+++ b/nixpkgs/pkgs/applications/misc/usql/default.nix
@@ -7,22 +7,21 @@
 
 buildGoModule rec {
   pname = "usql";
-  version = "0.9.1";
+  version = "0.9.3";
 
   src = fetchFromGitHub {
     owner = "xo";
     repo = "usql";
     rev = "v${version}";
-    sha256 = "sha256-fcKn4kHIRvMdgGFKDNQg49YxLc0Y5j/8VwKoDLiXbEU=";
+    sha256 = "sha256-NHeJSWrcX4hYBJpZu/UjQ1ZWfcUnWFCV0Meo+XveDOw=";
   };
 
-  vendorSha256 = "sha256-uAV8NLnqXjIDILfnbbkVr2BOIucQ8vX89KI5yIkVtus=";
+  vendorSha256 = "sha256-EsLLBhyOcupx5LrJyWWMu4RAGWDKo3keflyZOASKldE=";
 
   buildInputs = [ unixODBC icu ];
 
   # These tags and flags are copied from build-release.sh
-  buildFlags = [ "-tags" ];
-  buildFlagsArray = [
+  tags = [
     "most"
     "sqlite_app_armor"
     "sqlite_fts5"
diff --git a/nixpkgs/pkgs/applications/misc/vym/default.nix b/nixpkgs/pkgs/applications/misc/vym/default.nix
index 9d820fc4da70..c3941e0b1b96 100644
--- a/nixpkgs/pkgs/applications/misc/vym/default.nix
+++ b/nixpkgs/pkgs/applications/misc/vym/default.nix
@@ -39,8 +39,6 @@ mkDerivation rec {
     install -Dm755 -t $out/share/man/man1 doc/*.1.gz
   '';
 
-  dontGzipMan = true;
-
   meta = with lib; {
     description = "A mind-mapping software";
     longDescription = ''
diff --git a/nixpkgs/pkgs/applications/misc/waybar/default.nix b/nixpkgs/pkgs/applications/misc/waybar/default.nix
index 6a3f33db27e6..a38c1002a01f 100644
--- a/nixpkgs/pkgs/applications/misc/waybar/default.nix
+++ b/nixpkgs/pkgs/applications/misc/waybar/default.nix
@@ -14,30 +14,33 @@
 , scdoc
 , spdlog
 , gtk-layer-shell
-, howard-hinnant-date, cmake
-, traySupport  ? true,  libdbusmenu-gtk3
-, pulseSupport ? true,  libpulseaudio
-, sndioSupport ? true,  sndio
-, nlSupport    ? true,  libnl
-, udevSupport  ? true,  udev
-, swaySupport  ? true,  sway
-, mpdSupport   ? true,  libmpdclient
+, howard-hinnant-date
+, libxkbcommon
+, traySupport     ? true,  libdbusmenu-gtk3
+, pulseSupport    ? true,  libpulseaudio
+, sndioSupport    ? true,  sndio
+, nlSupport       ? true,  libnl
+, udevSupport     ? true,  udev
+, evdevSupport    ? true,  libevdev
+, swaySupport     ? true,  sway
+, mpdSupport      ? true,  libmpdclient
+, rfkillSupport   ? true
 , withMediaPlayer ? false, glib, gobject-introspection, python3, python38Packages, playerctl
 }:
 
 stdenv.mkDerivation rec {
   pname = "waybar";
-  version = "0.9.7";
+  version = "0.9.8";
 
   src = fetchFromGitHub {
     owner = "Alexays";
     repo = "Waybar";
     rev = version;
-    sha256 = "17cn4d3dx92v40jd9vl41smp8hh3gf5chd1j2f7l1lrpfpnllg5x";
+    sha256 = "sha256-XOguhbvlO3iUyk5gWOvimipXV8yqnia0LKoSA1wiKoE=";
   };
 
   nativeBuildInputs = [
-    meson ninja pkg-config scdoc wrapGAppsHook cmake
+    meson ninja pkg-config scdoc wrapGAppsHook
   ] ++ lib.optional withMediaPlayer gobject-introspection;
 
   propagatedBuildInputs = lib.optionals withMediaPlayer [
@@ -48,12 +51,13 @@ stdenv.mkDerivation rec {
   strictDeps = false;
 
   buildInputs = with lib;
-    [ wayland wlroots gtkmm3 libsigcxx jsoncpp fmt spdlog gtk-layer-shell howard-hinnant-date ]
+    [ wayland wlroots gtkmm3 libsigcxx jsoncpp fmt spdlog gtk-layer-shell howard-hinnant-date libxkbcommon ]
     ++ optional  traySupport  libdbusmenu-gtk3
     ++ optional  pulseSupport libpulseaudio
     ++ optional  sndioSupport sndio
     ++ optional  nlSupport    libnl
     ++ optional  udevSupport  udev
+    ++ optional  evdevSupport libevdev
     ++ optional  swaySupport  sway
     ++ optional  mpdSupport   libmpdclient;
 
@@ -66,13 +70,15 @@ stdenv.mkDerivation rec {
       libnl = nlSupport;
       libudev = udevSupport;
       mpd = mpdSupport;
+      rfkill = rfkillSupport;
     }
   ) ++ [
-    "-Dout=${placeholder "out"}"
     "-Dsystemd=disabled"
+    "-Dgtk-layer-shell=enabled"
+    "-Dman-pages=enabled"
   ];
 
-  preFixup = lib.optional withMediaPlayer ''
+  preFixup = lib.optionalString withMediaPlayer ''
       cp $src/resources/custom_modules/mediaplayer.py $out/bin/waybar-mediaplayer.py
 
       wrapProgram $out/bin/waybar-mediaplayer.py \
diff --git a/nixpkgs/pkgs/applications/misc/wbg/default.nix b/nixpkgs/pkgs/applications/misc/wbg/default.nix
index 4f385ef21740..57a1f55392aa 100644
--- a/nixpkgs/pkgs/applications/misc/wbg/default.nix
+++ b/nixpkgs/pkgs/applications/misc/wbg/default.nix
@@ -1,50 +1,64 @@
 { stdenv
 , lib
-, fetchgit
+, fetchFromGitea
+, pkg-config
 , meson
 , ninja
-, pkg-config
-, git
-, scdoc
-, cairo
-, fcft
-, libpng
-, librsvg
-, libxkbcommon
 , pixman
 , tllist
 , wayland
+, wayland-scanner
 , wayland-protocols
-, wlroots
+, enablePNG ? true
+, enableJPEG ? true
+# Optional dependencies
+, libpng
+, libjpeg
 }:
 
+let
+  # Courtesy of sternenseemann and FRidh, commit c9a7fdfcfb420be8e0179214d0d91a34f5974c54
+  mesonFeatureFlag = opt: b: "-D${opt}=${if b then "enabled" else "disabled"}";
+in
+
 stdenv.mkDerivation rec {
   pname = "wbg";
-  version = "unstable-2020-08-01";
+  version = "1.0.2";
 
-  src = fetchgit {
-    url = "https://codeberg.org/dnkl/wbg";
-    rev = "1b05bd80d0f40e3ba1e977002d0653f532649269";
-    sha256 = "0i1j7aqvj0vl2ww5cvffqci1kjqjn0sw6sp2j0ljblaif6qk9asc";
+  src = fetchFromGitea {
+    domain = "codeberg.org";
+    owner = "dnkl";
+    repo = "wbg";
+    rev = version;
+    sha256 = "sha256-PKEOWRcSAB4Uv5TfameQIEZh6s6xCGdyoZ13etL1TKA=";
   };
 
-  nativeBuildInputs = [ pkg-config meson ninja scdoc git ];
+  nativeBuildInputs = [
+    pkg-config
+    meson
+    ninja
+    wayland-scanner
+  ];
+
   buildInputs = [
-    cairo
-    fcft
-    libpng
-    librsvg
-    libxkbcommon
     pixman
     tllist
     wayland
     wayland-protocols
-    wlroots
+  ] ++ lib.optional enablePNG libpng
+    ++ lib.optional enableJPEG libjpeg;
+
+  mesonBuildType = "release";
+
+  mesonFlags = [
+    (mesonFeatureFlag "png" enablePNG)
+    (mesonFeatureFlag "jpeg" enableJPEG)
   ];
 
   meta = with lib; {
     description = "Wallpaper application for Wayland compositors";
     homepage = "https://codeberg.org/dnkl/wbg";
+    changelog = "https://codeberg.org/dnkl/wbg/releases/tag/${version}";
     license = licenses.isc;
     maintainers = with maintainers; [ AndersonTorres ];
     platforms = with platforms; linux;
diff --git a/nixpkgs/pkgs/applications/misc/wmname/default.nix b/nixpkgs/pkgs/applications/misc/wmname/default.nix
index d501869770e0..cb4f5ec34425 100644
--- a/nixpkgs/pkgs/applications/misc/wmname/default.nix
+++ b/nixpkgs/pkgs/applications/misc/wmname/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libX11 ];
 
-  preConfigure = [ ''sed -i "s@PREFIX = /usr/local@PREFIX = $out@g" config.mk'' ];
+  preConfigure = ''sed -i "s@PREFIX = /usr/local@PREFIX = $out@g" config.mk'';
 
   meta = {
     description = "Prints or set the window manager name property of the root window";
diff --git a/nixpkgs/pkgs/applications/misc/worker/default.nix b/nixpkgs/pkgs/applications/misc/worker/default.nix
index 20ed6d55f366..aaadc0cd4b70 100644
--- a/nixpkgs/pkgs/applications/misc/worker/default.nix
+++ b/nixpkgs/pkgs/applications/misc/worker/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "worker";
-  version = "4.7.0";
+  version = "4.8.1";
 
   src = fetchurl {
     url = "http://www.boomerangsworld.de/cms/worker/downloads/${pname}-${version}.tar.gz";
-    sha256 = "sha256-9x/nHd2nUeFSH7a2qH4qlyH4FRH/NfNvTE1LEaMMSwU=";
+    sha256 = "sha256-Cf4vx1f4GgjlhNtGUuXf8174v8PGJapm5L30XUdqbro=";
   };
 
   buildInputs = [ libX11 ];
diff --git a/nixpkgs/pkgs/applications/misc/writefreely/default.nix b/nixpkgs/pkgs/applications/misc/writefreely/default.nix
index 5f38d405cb82..0f9631edbfaa 100644
--- a/nixpkgs/pkgs/applications/misc/writefreely/default.nix
+++ b/nixpkgs/pkgs/applications/misc/writefreely/default.nix
@@ -2,27 +2,27 @@
 
 buildGoModule rec {
   pname = "writefreely";
-  version = "0.12.0";
+  version = "0.13.1";
 
   src = fetchFromGitHub {
     owner = "writeas";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-6LpRfDu3xvE1eIRLfZliKnzsrrG5pjjf2ydxn9HQJJU=";
+    sha256 = "sha256-qYceijC/u8G9vr7uhApWWyWD9P65pLJCTjePEvh+oXA=";
   };
 
-  vendorSha256 = "sha256-U17AkMJQr/OIMED0i2ThcNVw3+aOvRLbpLNP/wEv6k8=";
+  vendorSha256 = "sha256-CBPvtc3K9hr1oEmC+yUe3kPSWx20k6eMRqoxsf3NfCE=";
 
   nativeBuildInputs = [ go-bindata ];
 
   preBuild = ''
     make assets
-    export buildFlagsArray=(
-      "-ldflags=-s -w -X github.com/writeas/writefreely.softwareVer=${version}"
-      "-tags='sqlite'"
-    )
   '';
 
+  ldflags = [ "-s" "-w" "-X github.com/writeas/writefreely.softwareVer=${version}" ];
+
+  tags = [ "sqlite" ];
+
   subPackages = [ "cmd/writefreely" ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/misc/wtf/default.nix b/nixpkgs/pkgs/applications/misc/wtf/default.nix
index 962059600a4c..30ae2d9be0f6 100644
--- a/nixpkgs/pkgs/applications/misc/wtf/default.nix
+++ b/nixpkgs/pkgs/applications/misc/wtf/default.nix
@@ -8,20 +8,20 @@
 
 buildGoModule rec {
   pname = "wtf";
-  version = "0.36.0";
+  version = "0.38.0";
 
   src = fetchFromGitHub {
     owner = "wtfutil";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-JVHcunpS+2/0d7XaUZ95m9QpVHCG1Tq8LJ9KNURSRy8=";
+    sha256 = "sha256-ZKv207pkjgXtCZ6kXGn94i8QtOBHpSkPKo1Sy2Nw9qQ=";
    };
 
-  vendorSha256 = "sha256-4uRhbRPfCRYwFlfucXOYhLruj7hkV4G9Sxjh9yQkDEQ=";
+  vendorSha256 = "sha256-E5sfT7uGnruVUfhhjkZM2mgauXzbmcLWS6s1J85nssE=";
 
   doCheck = false;
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
+  ldflags = [ "-s" "-w" "-X main.version=${version}" ];
 
   subPackages = [ "." ];
 
diff --git a/nixpkgs/pkgs/applications/misc/xkbmon/default.nix b/nixpkgs/pkgs/applications/misc/xkbmon/default.nix
index cd7037872cb7..7c9a24c67173 100644
--- a/nixpkgs/pkgs/applications/misc/xkbmon/default.nix
+++ b/nixpkgs/pkgs/applications/misc/xkbmon/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xkbmon";
-  version = "0.3";
+  version = "0.4";
 
   src = fetchFromGitHub {
     owner = "xkbmon";
     repo = "xkbmon";
     rev = version;
-    sha256 = "03v8f6fijgwagjphyj8w7lgh5hlc8jk0j2n45n7fm0xwy82cxxx9";
+    sha256 = "sha256-EWW6L6NojzXodDOET01LMcQT8/1JIMpOD++MCiM3j1Y=";
   };
 
   buildInputs = [ libX11 ];
diff --git a/nixpkgs/pkgs/applications/misc/xmenu/default.nix b/nixpkgs/pkgs/applications/misc/xmenu/default.nix
index c6a37caf34da..9fe7ddf70b6b 100644
--- a/nixpkgs/pkgs/applications/misc/xmenu/default.nix
+++ b/nixpkgs/pkgs/applications/misc/xmenu/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xmenu";
-  version = "4.5.4";
+  version = "4.5.5";
 
   src = fetchFromGitHub {
     owner = "phillbush";
     repo = "xmenu";
     rev = "v${version}";
-    sha256 = "1dy3aqqczs7d3f8rf6h7xssgr3881g8m5y4waskizjy9z7chs64q";
+    sha256 = "sha256-Gg4hSBBVBOB/wlY44C5bJOuOnLoA/tPvcNZamXae/WE=";
   };
 
   buildInputs = [ imlib2 libX11 libXft libXinerama ];
diff --git a/nixpkgs/pkgs/applications/misc/xmind/default.nix b/nixpkgs/pkgs/applications/misc/xmind/default.nix
index 7629b42c877f..5f71f9099266 100644
--- a/nixpkgs/pkgs/applications/misc/xmind/default.nix
+++ b/nixpkgs/pkgs/applications/misc/xmind/default.nix
@@ -87,6 +87,6 @@ stdenv.mkDerivation rec {
     homepage = "https://www.xmind.net/";
     license = licenses.unfree;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ michalrus ma27 ];
+    maintainers = with maintainers; [ michalrus ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/xmrig/default.nix b/nixpkgs/pkgs/applications/misc/xmrig/default.nix
index 4ac463068678..affce3a71aaa 100644
--- a/nixpkgs/pkgs/applications/misc/xmrig/default.nix
+++ b/nixpkgs/pkgs/applications/misc/xmrig/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xmrig";
-  version = "6.12.2";
+  version = "6.14.0";
 
   src = fetchFromGitHub {
     owner = "xmrig";
     repo = "xmrig";
     rev = "v${version}";
-    sha256 = "1gjwh509cxs8vqz72v97cir0aazcrd9y9l0k1q5ywbl5l3yf6ryf";
+    sha256 = "sha256-h+Y7hXkenoLT83eG0w6YEfOuEocejXgvqRMq1DwWwT0=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/applications/misc/xmrig/moneroocean.nix b/nixpkgs/pkgs/applications/misc/xmrig/moneroocean.nix
new file mode 100644
index 000000000000..fa9f1644b50e
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/xmrig/moneroocean.nix
@@ -0,0 +1,21 @@
+{ fetchFromGitHub, lib, xmrig }:
+
+xmrig.overrideAttrs (oldAttrs: rec {
+  pname = "xmrig-mo";
+  version = "6.14.1-mo2";
+
+  src = fetchFromGitHub {
+    owner = "MoneroOcean";
+    repo = "xmrig";
+    rev = "v${version}";
+    sha256 = "sha256-bfD/zxUo4ZDLRDpFbD/FCAvBISHvhRaYXwwiYFd10No=";
+  };
+
+  meta = with lib; {
+    description = "A fork of the XMRig CPU miner with support for algorithm switching";
+    homepage = "https://github.com/MoneroOcean/xmrig";
+    license = licenses.gpl3Plus;
+    platforms = [ "x86_64-linux" "x86_64-darwin" ];
+    maintainers = with maintainers; [ j0hax ];
+  };
+})
diff --git a/nixpkgs/pkgs/applications/misc/xmrig/proxy.nix b/nixpkgs/pkgs/applications/misc/xmrig/proxy.nix
index 1b8f79415838..22ec54b67b5a 100644
--- a/nixpkgs/pkgs/applications/misc/xmrig/proxy.nix
+++ b/nixpkgs/pkgs/applications/misc/xmrig/proxy.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xmrig-proxy";
-  version = "6.4.0";
+  version = "6.14.0";
 
   src = fetchFromGitHub {
     owner = "xmrig";
     repo = "xmrig-proxy";
     rev = "v${version}";
-    sha256 = "0bcbil9b5z95haqbmdqaslckvjflw7h77fqrcdxc6lrn29575nnf";
+    sha256 = "sha256-QCjXtn7O4jcPybzMsu2j7jQqWoGzeqjwessZC/dG86s=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/applications/misc/xplr/default.nix b/nixpkgs/pkgs/applications/misc/xplr/default.nix
index 3ee90dce51c4..b84da33df40d 100644
--- a/nixpkgs/pkgs/applications/misc/xplr/default.nix
+++ b/nixpkgs/pkgs/applications/misc/xplr/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "xplr";
-  version = "0.14.4";
+  version = "0.14.5";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "1jfclwpip4xvwkvz5g0fb3v04pdnk3ddvkdll0yr7wm0g6p44xfd";
+    sha256 = "00kgxc4pn07p335dl3d53shiyw4f4anw64qc8axz9nspdq734nj5";
   };
 
   buildInputs = lib.optional stdenv.isDarwin libiconv;
 
-  cargoSha256 = "06iwx3s7h6l9kvd17hx0ihy6zrz4jbfjmdlkyij2fs0fhvas110x";
+  cargoSha256 = "1wmc4frjllj8dgcg4yw4cigm4mhq807pmp3l3ysi70q490g24gwh";
 
   meta = with lib; {
     description = "A hackable, minimal, fast TUI file explorer";
diff --git a/nixpkgs/pkgs/applications/misc/xrandr-invert-colors/default.nix b/nixpkgs/pkgs/applications/misc/xrandr-invert-colors/default.nix
index f1a0f7b5ba1d..988bf29f2910 100644
--- a/nixpkgs/pkgs/applications/misc/xrandr-invert-colors/default.nix
+++ b/nixpkgs/pkgs/applications/misc/xrandr-invert-colors/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, lib, stdenv, libXrandr}:
 
 stdenv.mkDerivation rec {
-  version = "0.01";
+  version = "0.02";
   pname = "xrandr-invert-colors";
   src = fetchurl {
     url = "https://github.com/zoltanp/xrandr-invert-colors/archive/v${version}.tar.gz";
-    sha256 = "1z4hxn56rlflvqanb8ncqa1xqawnda85b1b37w6r2iqs8rw52d75";
+    sha256 = "sha256-7rIiBV9zbiLzu5RO5legHfGiqUSU2BuwqOc1dX/7ozA=";
   };
 
   buildInputs = [ libXrandr ];
diff --git a/nixpkgs/pkgs/applications/misc/yambar/default.nix b/nixpkgs/pkgs/applications/misc/yambar/default.nix
index 375b802d5c16..db2f0579d1e8 100644
--- a/nixpkgs/pkgs/applications/misc/yambar/default.nix
+++ b/nixpkgs/pkgs/applications/misc/yambar/default.nix
@@ -1,6 +1,6 @@
 { stdenv
 , lib
-, fetchgit
+, fetchFromGitea
 , pkg-config
 , meson
 , ninja
@@ -9,50 +9,75 @@
 , fcft
 , json_c
 , libmpdclient
-, libxcb
 , libyaml
 , pixman
 , tllist
 , udev
 , wayland
+, wayland-scanner
 , wayland-protocols
+, waylandSupport ? false
+# Xorg backend
+, libxcb
 , xcbutil
 , xcbutilcursor
 , xcbutilerrors
 , xcbutilwm
 }:
 
+let
+  # Courtesy of sternenseemann and FRidh, commit c9a7fdfcfb420be8e0179214d0d91a34f5974c54
+  mesonFeatureFlag = opt: b: "-D${opt}=${if b then "enabled" else "disabled"}";
+in
+
 stdenv.mkDerivation rec {
   pname = "yambar";
-  version = "1.6.1";
+  version = "1.6.2";
 
-  src = fetchgit {
-    url = "https://codeberg.org/dnkl/yambar.git";
+  src = fetchFromGitea {
+    domain = "codeberg.org";
+    owner = "dnkl";
+    repo = "yambar";
     rev = version;
-    sha256 = "p47tFsEWsYNe6IVV65xGG211u6Vm2biRf4pmUDylBOQ=";
+    sha256 = "sha256-GPKR2BYl3ebxxXbVfH/oZLs7639EYwWU4ZsilJn0Ss8=";
   };
 
-  nativeBuildInputs = [ pkg-config meson ninja scdoc ];
+  nativeBuildInputs = [
+    pkg-config
+    meson
+    ninja
+    scdoc
+    wayland-scanner
+  ];
+
   buildInputs = [
     alsa-lib
     fcft
     json_c
     libmpdclient
-    libxcb
     libyaml
     pixman
     tllist
     udev
     wayland
     wayland-protocols
+  ] ++ lib.optionals (!waylandSupport) [
     xcbutil
     xcbutilcursor
     xcbutilerrors
     xcbutilwm
   ];
 
+  mesonBuildType = "release";
+
+  mesonFlags = [
+    (mesonFeatureFlag "backend-x11" (!waylandSupport))
+    (mesonFeatureFlag "backend-wayland" waylandSupport)
+  ];
+
   meta = with lib; {
     homepage = "https://codeberg.org/dnkl/yambar";
+    changelog = "https://codeberg.org/dnkl/yambar/releases/tag/${version}";
     description = "Modular status panel for X11 and Wayland";
     longDescription = ''
       yambar is a lightweight and configurable status panel (bar, for short) for
diff --git a/nixpkgs/pkgs/applications/misc/zathura/core/default.nix b/nixpkgs/pkgs/applications/misc/zathura/core/default.nix
index 0b6a57492c5c..000fc06bbf1b 100644
--- a/nixpkgs/pkgs/applications/misc/zathura/core/default.nix
+++ b/nixpkgs/pkgs/applications/misc/zathura/core/default.nix
@@ -10,11 +10,11 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "zathura";
-  version = "0.4.7";
+  version = "0.4.8";
 
   src = fetchurl {
     url = "https://pwmt.org/projects/${pname}/download/${pname}-${version}.tar.xz";
-    sha256 = "1rx1fk9s556fk59lmqgvhwrmv71ashh89bx9adjq46wq5gzdn4p0";
+    sha256 = "1nr0ym1mi2afk4ycdf1ppmkcv7i7hyzwn4p3r4m0j2qm3nvaiami";
   };
 
   outputs = [ "bin" "man" "dev" "out" ];
diff --git a/nixpkgs/pkgs/applications/misc/zathura/pdf-mupdf/default.nix b/nixpkgs/pkgs/applications/misc/zathura/pdf-mupdf/default.nix
index 05f6c2b6a65e..0da75d323f25 100644
--- a/nixpkgs/pkgs/applications/misc/zathura/pdf-mupdf/default.nix
+++ b/nixpkgs/pkgs/applications/misc/zathura/pdf-mupdf/default.nix
@@ -12,12 +12,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "0.3.6";
+  version = "0.3.7";
   pname = "zathura-pdf-mupdf";
 
   src = fetchurl {
     url = "https://pwmt.org/projects/${pname}/download/${pname}-${version}.tar.xz";
-    sha256 = "1r3v37k9fl2rxipvacgxr36llywvy7n20a25h3ajlyk70697sa66";
+    sha256 = "07d2ds9yqfrl20z3yfgc55vwg10mwmcg2yvpr4j66jjd5mlal01g";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config ];
diff --git a/nixpkgs/pkgs/applications/misc/zola/default.nix b/nixpkgs/pkgs/applications/misc/zola/default.nix
index d669b97c44d1..52e3b9d847df 100644
--- a/nixpkgs/pkgs/applications/misc/zola/default.nix
+++ b/nixpkgs/pkgs/applications/misc/zola/default.nix
@@ -2,17 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "zola";
-  version = "unstable-2021-07-14";
+  version = "0.14.1";
 
   src = fetchFromGitHub {
     owner = "getzola";
     repo = pname;
-    # unstable because the latest release fails to build
-    rev = "312ffcb04c06c5f157b9fd2b944b858703238592";
-    sha256 = "0i5zqs1gwxhvsynb540c3azfi4357igr4i5p0bi3h7ras2asas8w";
+    rev = "v${version}";
+    sha256 = "1cvvxiginwf1rldijzwk9gh63qc0ls5d7j3j8ri7yhk21pz9f6bi";
   };
 
-  cargoSha256 = "0g5z0s837cfwzral2zz0avp0xywyaa3l1adxg520qrnga7z0kbh8";
+  cargoSha256 = "1hg8j9a8c6c3ap24jd96y07rlp4f0s2mkyx5034nlnkm3lj4q42n";
 
   nativeBuildInputs = [ cmake pkg-config installShellFiles];
   buildInputs = [ openssl oniguruma ]
@@ -30,6 +29,7 @@ rustPlatform.buildRustPackage rec {
   meta = with lib; {
     description = "A fast static site generator with everything built-in";
     homepage = "https://www.getzola.org/";
+    changelog = "https://github.com/getzola/zola/raw/v${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ dandellion dywedir _0x4A6F ];
     # set because of unstable-* version
diff --git a/nixpkgs/pkgs/applications/networking/aether/default.nix b/nixpkgs/pkgs/applications/networking/aether/default.nix
new file mode 100644
index 000000000000..ddb137137cf3
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/aether/default.nix
@@ -0,0 +1,115 @@
+{ autoPatchelfHook, makeDesktopItem, lib, stdenv, wrapGAppsHook
+, alsa-lib, at-spi2-atk, at-spi2-core, atk, cairo, cups, dbus, expat, fontconfig
+, freetype, gdk-pixbuf, glib, gtk3, libcxx, libdrm, libnotify, libpulseaudio, libuuid
+, libX11, libXScrnSaver, libXcomposite, libXcursor, libXdamage, libXext
+, libXfixes, libXi, libXrandr, libXrender, libXtst, libxcb, libxshmfence
+, mesa, nspr, nss, pango, systemd, libappindicator-gtk3, libdbusmenu
+, fetchurl, fetchFromGitHub, imagemagick, copyDesktopItems
+}:
+
+let
+  binaryName = "AetherP2P";
+in
+stdenv.mkDerivation rec {
+  pname = "aether";
+  version = "2.0.0-dev.15";
+
+  srcs = [
+    (fetchurl {
+      url = "https://static.getaether.net/Releases/Aether-${version}/2011262249.19338c93/linux/Aether-${version}%2B2011262249.19338c93.tar.gz";
+      sha256 = "1hi8w83zal3ciyzg2m62shkbyh6hj7gwsidg3dn88mhfy68himf7";
+      # % in the url / canonical filename causes an error
+      name = "aether-tarball.tar.gz";
+    })
+    (fetchFromGitHub {
+      owner = "aethereans";
+      repo = "aether-app";
+      rev = "53b6c8b2a9253cbf056ea3ebb077e0e08cbc5b1d";
+      sha256 = "1kgkzh7ih2q9dsckdkinh5dbzvr7gdykf8yz6h8pyhvzyjhk1v0r";
+    })
+  ];
+
+  sourceRoot = "Aether-${version}+2011262249.19338c93";
+
+  # there is no logo in the tarball so we grab it from github and convert it in the build phase
+  buildPhase = ''
+    convert ../source/aether-core/aether/client/src/app/ext_dep/images/Linux-Windows-App-Icon.png -resize 512x512 aether.png
+  '';
+
+  dontWrapGApps = true;
+
+  buildInputs = [
+    alsa-lib
+    cups
+    libdrm
+    libuuid
+    libXdamage
+    libX11
+    libXScrnSaver
+    libXtst
+    libxcb
+    libxshmfence
+    mesa
+    nss
+  ];
+
+  nativeBuildInputs = [
+    imagemagick
+    autoPatchelfHook
+    wrapGAppsHook
+    copyDesktopItems
+  ];
+
+  desktopItems = [
+    (makeDesktopItem {
+      name = pname;
+      exec = binaryName;
+      icon = pname;
+      desktopName = "Aether";
+      genericName = meta.description;
+      categories = "Network;";
+      mimeType = "x-scheme-handler/aether";
+    })
+  ];
+
+  installPhase =
+  let
+    libPath = lib.makeLibraryPath [
+      libcxx systemd libpulseaudio libdrm mesa
+      stdenv.cc.cc alsa-lib atk at-spi2-atk at-spi2-core cairo cups dbus expat fontconfig freetype
+      gdk-pixbuf glib gtk3 libnotify libX11 libXcomposite libuuid
+      libXcursor libXdamage libXext libXfixes libXi libXrandr libXrender
+      libXtst nspr nss libxcb pango systemd libXScrnSaver
+      libappindicator-gtk3 libdbusmenu
+    ];
+  in
+  ''
+    mkdir -p $out/{bin,opt/${binaryName},share/icons/hicolor/512x512/apps}
+    mv * $out/opt/${binaryName}
+
+    chmod +x $out/opt/${binaryName}/${binaryName}
+    patchelf --set-interpreter ${stdenv.cc.bintools.dynamicLinker} \
+        $out/opt/${binaryName}/${binaryName}
+
+    wrapProgram $out/opt/${binaryName}/${binaryName} \
+        "''${gappsWrapperArgs[@]}" \
+        --prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}" \
+        --prefix LD_LIBRARY_PATH : ${libPath}
+
+    ln -s $out/opt/${binaryName}/${binaryName} $out/bin/
+
+    ln -s $out/opt/${binaryName}/aether.png $out/share/icons/hicolor/512x512/apps/
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Peer-to-peer ephemeral public communities";
+    homepage = "https://getaether.net/";
+    downloadPage = "https://getaether.net/download/";
+    license = licenses.agpl3Only;
+    maintainers = with maintainers; [ maxhille ];
+    # other platforms could be supported by building from source
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/apache-directory-studio/default.nix b/nixpkgs/pkgs/applications/networking/apache-directory-studio/default.nix
index 18f9a7990c3e..d9fe26fdbdc4 100644
--- a/nixpkgs/pkgs/applications/networking/apache-directory-studio/default.nix
+++ b/nixpkgs/pkgs/applications/networking/apache-directory-studio/default.nix
@@ -1,30 +1,28 @@
 { lib, stdenv, fetchurl, jdk, makeWrapper, autoPatchelfHook, makeDesktopItem, glib, libsecret }:
 
-let
-  desktopItem = makeDesktopItem {
-    name = "apache-directory-studio";
-    exec = "ApacheDirectoryStudio";
-    icon = "apache-directory-studio";
-    comment = "Eclipse-based LDAP browser and directory client";
-    desktopName = "Apache Directory Studio";
-    genericName = "Apache Directory Studio";
-    categories = "Java;Network";
-  };
-  version = "2.0.0-M15";
-  versionWithDate = "2.0.0.v20200411-M15";
-in
 stdenv.mkDerivation rec {
   pname = "apache-directory-studio";
-  inherit version;
+  version = "2.0.0-M17";
+  versionWithDate = "2.0.0.v20210717-M17";
 
   src =
     if stdenv.hostPlatform.system == "x86_64-linux" then
       fetchurl {
         url = "mirror://apache/directory/studio/${versionWithDate}/ApacheDirectoryStudio-${versionWithDate}-linux.gtk.x86_64.tar.gz";
-        sha256 = "1rkyb0qcsl9hk2qcwp5mwaab69q3sn77v5xyn9mbvi5wg9icbc37";
+        sha256 = "19zdspzv4n3mfgb1g45s3wh0vbvn6a9zjd4xi5x2afmdjkzlwxi4";
       }
     else throw "Unsupported system: ${stdenv.hostPlatform.system}";
 
+  desktopItem = makeDesktopItem {
+    name = "apache-directory-studio";
+    exec = "ApacheDirectoryStudio";
+    icon = "apache-directory-studio";
+    comment = "Eclipse-based LDAP browser and directory client";
+    desktopName = "Apache Directory Studio";
+    genericName = "Apache Directory Studio";
+    categories = "Java;Network";
+  };
+
   buildInputs = [ glib libsecret ];
   nativeBuildInputs = [ makeWrapper autoPatchelfHook ];
 
diff --git a/nixpkgs/pkgs/applications/networking/bee/bee.nix b/nixpkgs/pkgs/applications/networking/bee/bee.nix
index b0d05d928c05..0e269bf9ab3f 100644
--- a/nixpkgs/pkgs/applications/networking/bee/bee.nix
+++ b/nixpkgs/pkgs/applications/networking/bee/bee.nix
@@ -44,8 +44,8 @@ buildGoModule {
   subPackages = [ "cmd/bee" ];
 
   # no symbol table, no debug info, and pass the commit for the version string
-  buildFlags = lib.optionalString ( lib.hasAttr "goVersionString" versionSpec)
-    "-ldflags -s -ldflags -w -ldflags -X=github.com/ethersphere/bee.commit=${versionSpec.goVersionString}";
+  ldflags = lib.optionals ( lib.hasAttr "goVersionString" versionSpec)
+    [ "-s" "-w" "-X=github.com/ethersphere/bee.commit=${versionSpec.goVersionString}" ];
 
   # Mimic the bee Makefile: without disabling CGO, two (transitive and
   # unused) dependencies would fail to compile.
diff --git a/nixpkgs/pkgs/applications/networking/browsers/asuka/default.nix b/nixpkgs/pkgs/applications/networking/browsers/asuka/default.nix
index b0ef9d890d53..54b8a1d31569 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/asuka/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/asuka/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "asuka";
-  version = "0.8.1";
+  version = "0.8.3";
 
   src = fetchFromSourcehut {
     owner = "~julienxx";
     repo = pname;
     rev = version;
-    sha256 = "1y8v4qc5dng3v9k0bky1xlf3qi9pk2vdsi29lff4ha5310467f0k";
+    sha256 = "sha256-l3SgIyApASllHVhAc2yoUYc2x7QtCdzBrMYaXCp65m8=";
   };
 
-  cargoSha256 = "0b8wf12bjsy334g04sv3knw8f177xsmh7lrkyvx9gnn0fax0lmnr";
+  cargoSha256 = "sha256-twECZM1KcWeQptLhlKlIz16r3Q/xMb0e+lBG+EX79mU=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/nixpkgs/pkgs/applications/networking/browsers/brave/default.nix b/nixpkgs/pkgs/applications/networking/browsers/brave/default.nix
index 7bbbbe082d95..fe7cfb6c7b36 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/brave/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/brave/default.nix
@@ -90,11 +90,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "brave";
-  version = "1.26.77";
+  version = "1.28.106";
 
   src = fetchurl {
     url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
-    sha256 = "tV/VseU+IncvM3gdrmqkYLPClbsf2kSvIAZj0Ylz2Rw=";
+    sha256 = "gr8d5Dh6ZHb2kThVOA61BoGo64MB77qF7ualUY2RRq0=";
   };
 
   dontConfigure = true;
@@ -124,9 +124,11 @@ stdenv.mkDerivation rec {
 
       ln -sf $BINARYWRAPPER $out/bin/brave
 
+      for exe in $out/opt/brave.com/brave/{brave,crashpad_handler}; do
       patchelf \
           --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-          --set-rpath "${rpath}" $out/opt/brave.com/brave/brave
+          --set-rpath "${rpath}" $exe
+      done
 
       # Fix paths
       substituteInPlace $out/share/applications/brave-browser.desktop \
diff --git a/nixpkgs/pkgs/applications/networking/browsers/captive-browser/default.nix b/nixpkgs/pkgs/applications/networking/browsers/captive-browser/default.nix
index b302be4e013c..d764f74b614c 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/captive-browser/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/captive-browser/default.nix
@@ -1,21 +1,21 @@
 { lib, fetchFromGitHub, buildGoPackage }:
 
 buildGoPackage rec {
-  name = "captive-browser";
-  version = "2019-04-16";
-  goPackagePath = name;
+  pname = "captive-browser";
+  version = "2021-08-01";
+  goPackagePath = pname;
 
   src = fetchFromGitHub {
     owner  = "FiloSottile";
     repo   = "captive-browser";
-    rev    = "08450562e58bf9564ee98ad64ef7b2800e53338f";
-    sha256 = "17icgjg7h0xm8g4yy38qjhsvlz9pmlmj9kydz01y2nyl0v02i648";
+    rev    = "9c707dc32afc6e4146e19b43a3406329c64b6f3c";
+    sha256 = "sha256-65lPo5tpE0M/VyyvlzlcVSuHX4AhhVuqK0UF4BIAH/Y=";
   };
 
   meta = with lib; {
     description = "Dedicated Chrome instance to log into captive portals without messing with DNS settings";
     homepage = "https://blog.filippo.io/captive-browser";
     license = licenses.mit;
-    maintainers = with maintainers; [ volth ];
+    maintainers = with maintainers; [ volth ma27 ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/browsers/chromium/browser.nix b/nixpkgs/pkgs/applications/networking/browsers/chromium/browser.nix
index 623bc3c33d7e..8b80f8f8a6ef 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/chromium/browser.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/chromium/browser.nix
@@ -1,4 +1,7 @@
-{ lib, mkChromiumDerivation, channel, enableWideVine, ungoogled }:
+{ lib, mkChromiumDerivation
+, channel, chromiumVersionAtLeast
+, enableWideVine, ungoogled
+}:
 
 with lib;
 
@@ -16,6 +19,8 @@ mkChromiumDerivation (base: rec {
     cp -v "$buildPath/"*.so "$buildPath/"*.pak "$buildPath/"*.bin "$libExecPath/"
     cp -v "$buildPath/icudtl.dat" "$libExecPath/"
     cp -vLR "$buildPath/locales" "$buildPath/resources" "$libExecPath/"
+    ${lib.optionalString (!chromiumVersionAtLeast "94") ''cp -v "$buildPath/crashpad_handler" "$libExecPath/"''}
+    ${lib.optionalString (chromiumVersionAtLeast "94") ''cp -v "$buildPath/chrome_crashpad_handler" "$libExecPath/"''}
     cp -v "$buildPath/chrome" "$libExecPath/$packageName"
 
     # Swiftshader
@@ -62,9 +67,7 @@ mkChromiumDerivation (base: rec {
       -e '/\[Desktop Entry\]/a\' \
       -e 'StartupWMClass=chromium-browser' \
       $out/share/applications/chromium-browser.desktop
-  '' + ''
-    cp -v "$buildPath/crashpad_handler" "$libExecPath/"
-  ''; # TODO: Merge
+  '';
 
   passthru = { inherit sandboxExecutableName; };
 
@@ -84,11 +87,11 @@ mkChromiumDerivation (base: rec {
       else "https://www.chromium.org/";
     maintainers = with maintainers; if ungoogled
       then [ squalus primeos ]
-      else [ primeos thefloweringash bendlas ];
+      else [ primeos thefloweringash ];
     license = if enableWideVine then licenses.unfree else licenses.bsd3;
     platforms = platforms.linux;
     mainProgram = "chromium";
-    hydraPlatforms = if (channel == "stable" || channel == "ungoogled-chromium" || channel == "beta")
+    hydraPlatforms = if (channel == "stable" || channel == "ungoogled-chromium")
       then ["aarch64-linux" "x86_64-linux"]
       else [];
     timeout = 172800; # 48 hours (increased from the Hydra default of 10h)
diff --git a/nixpkgs/pkgs/applications/networking/browsers/chromium/common.nix b/nixpkgs/pkgs/applications/networking/browsers/chromium/common.nix
index 6daafc204eb8..be3eff9bd955 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/chromium/common.nix
@@ -1,40 +1,51 @@
-{ stdenv, lib, llvmPackages, gnChromium, ninja, which, nodejs, fetchpatch, fetchurl
-
-# default dependencies
-, gnutar, bzip2, flac, speex, libopus
+{ stdenv, lib, fetchurl, fetchpatch
+# Channel data:
+, channel, upstream-info
+# Helper functions:
+, chromiumVersionAtLeast, versionRange
+
+# Native build inputs:
+, ninja, pkg-config
+, python2, python3, perl
+, gnutar, which
+, llvmPackages
+# postPatch:
+, pkgsBuildHost
+# configurePhase:
+, gnChromium
+
+# Build inputs:
+, libpng
+, bzip2, flac, speex, libopus
 , libevent, expat, libjpeg, snappy
-, libpng, libcap
-, xdg-utils, yasm, nasm, minizip, libwebp
-, libusb1, pciutils, nss, re2
-
-, python2, python3, perl, pkg-config
-, nspr, systemd, libkrb5
+, libcap
+, xdg-utils, minizip, libwebp
+, libusb1, re2
+, ffmpeg, libxslt, libxml2
+, nasm
+, nspr, nss, systemd
 , util-linux, alsa-lib
-, bison, gperf
+, bison, gperf, libkrb5
 , glib, gtk3, dbus-glib
-, glibc
 , libXScrnSaver, libXcursor, libXtst, libxshmfence, libGLU, libGL
-, protobuf, speechd, libXdamage, cups
-, ffmpeg, libxslt, libxml2, at-spi2-core
-, jre8
+, mesa
+, pciutils, protobuf, speechd, libXdamage, at-spi2-core
 , pipewire
 , libva
-, libdrm, wayland, mesa, libxkbcommon # Ozone
+, libdrm, wayland, libxkbcommon # Ozone
 , curl
+# postPatch:
+, glibc # gconv + locale
 
-# optional dependencies
-, libgcrypt ? null # gnomeSupport || cupsSupport
-
-# package customization
+# Package customization:
 , gnomeSupport ? false, gnome2 ? null
 , gnomeKeyringSupport ? false, libgnome-keyring3 ? null
+, cupsSupport ? true, cups ? null
 , proprietaryCodecs ? true
-, cupsSupport ? true
 , pulseSupport ? false, libpulseaudio ? null
 , ungoogled ? false, ungoogled-chromium
-
-, channel
-, upstream-info
+# Optional dependencies:
+, libgcrypt ? null # gnomeSupport || cupsSupport
 }:
 
 buildFun:
@@ -42,7 +53,6 @@ buildFun:
 with lib;
 
 let
-  jre = jre8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
   python2WithPackages = python2.withPackages(ps: with ps; [
     ply jinja2 setuptools
   ]);
@@ -75,15 +85,16 @@ let
     in attrs: concatStringsSep " " (attrValues (mapAttrs toFlag attrs));
 
   # https://source.chromium.org/chromium/chromium/src/+/master:build/linux/unbundle/replace_gn_files.py
-  gnSystemLibraries = [
+  gnSystemLibraries = lib.optionals (!chromiumVersionAtLeast "93") [
     "ffmpeg"
+    "snappy"
+  ] ++ [
     "flac"
     "libjpeg"
     "libpng"
     "libwebp"
     "libxslt"
     "opus"
-    "snappy"
     "zlib"
   ];
 
@@ -91,35 +102,12 @@ let
     withCustomModes = true;
   };
 
-  defaultDependencies = [
-    (libpng.override { apngSupport = false; }) # https://bugs.chromium.org/p/chromium/issues/detail?id=752403
-    bzip2 flac speex opusWithCustomModes
-    libevent expat libjpeg snappy
-    libcap
-    xdg-utils minizip libwebp
-    libusb1 re2
-    ffmpeg libxslt libxml2
-    nasm
-  ];
-
   # build paths and release info
   packageName = extraAttrs.packageName or extraAttrs.name;
   buildType = "Release";
   buildPath = "out/${buildType}";
   libExecPath = "$out/libexec/${packageName}";
 
-  warnObsoleteVersionConditional = min-version: result:
-    let ungoogled-version = (importJSON ./upstream-info.json).ungoogled-chromium.version;
-    in warnIf (versionAtLeast ungoogled-version min-version) "chromium: ungoogled version ${ungoogled-version} is newer than a conditional bounded at ${min-version}. You can safely delete it."
-      result;
-  chromiumVersionAtLeast = min-version:
-    let result = versionAtLeast upstream-info.version min-version;
-    in  warnObsoleteVersionConditional min-version result;
-  versionRange = min-version: upto-version:
-    let inherit (upstream-info) version;
-        result = versionAtLeast version min-version && versionOlder version upto-version;
-    in warnObsoleteVersionConditional upto-version result;
-
   ungoogler = ungoogled-chromium {
     inherit (upstream-info.deps.ungoogled-patches) rev sha256;
   };
@@ -136,14 +124,20 @@ let
 
     nativeBuildInputs = [
       ninja pkg-config
-      python2WithPackages perl nodejs
+      python2WithPackages python3WithPackages perl
       gnutar which
       llvmPackages.bintools
-    ] ++ lib.optionals (chromiumVersionAtLeast "92") [
-      python3WithPackages
     ];
 
-    buildInputs = defaultDependencies ++ [
+    buildInputs = [
+      (libpng.override { apngSupport = false; }) # https://bugs.chromium.org/p/chromium/issues/detail?id=752403
+      bzip2 flac speex opusWithCustomModes
+      libevent expat libjpeg snappy
+      libcap
+      xdg-utils minizip libwebp
+      libusb1 re2
+      ffmpeg libxslt libxml2
+      nasm
       nspr nss systemd
       util-linux alsa-lib
       bison gperf libkrb5
@@ -151,23 +145,23 @@ let
       libXScrnSaver libXcursor libXtst libxshmfence libGLU libGL
       mesa # required for libgbm
       pciutils protobuf speechd libXdamage at-spi2-core
-      jre
       pipewire
       libva
       libdrm wayland mesa.drivers libxkbcommon
       curl
-    ] ++ optional gnomeKeyringSupport libgnome-keyring3
-      ++ optionals gnomeSupport [ gnome2.GConf libgcrypt ]
+    ] ++ optionals gnomeSupport [ gnome2.GConf libgcrypt ]
+      ++ optional gnomeKeyringSupport libgnome-keyring3
       ++ optionals cupsSupport [ libgcrypt cups ]
       ++ optional pulseSupport libpulseaudio;
 
     patches = [
-      ./patches/no-build-timestamps.patch # Optional patch to use SOURCE_DATE_EPOCH in compute_build_timestamp.py (should be upstreamed)
-      ./patches/widevine-79.patch # For bundling Widevine (DRM), might be replaceable via bundle_widevine_cdm=true in gnFlags
+      # Optional patch to use SOURCE_DATE_EPOCH in compute_build_timestamp.py (should be upstreamed):
+      ./patches/no-build-timestamps.patch
+      # For bundling Widevine (DRM), might be replaceable via bundle_widevine_cdm=true in gnFlags:
+      ./patches/widevine-79.patch
+    ] ++ lib.optionals (versionRange "91" "94") [
       # Fix the build by adding a missing dependency (s. https://crbug.com/1197837):
       ./patches/fix-missing-atspi2-dependency.patch
-      ./patches/closure_compiler-Use-the-Java-binary-from-the-system.patch
-    ] ++ lib.optionals (versionRange "91" "94.0.4583.0") [
       # Required as dependency for the next patch:
       (githubPatch {
         # Reland "Reland "Linux sandbox syscall broker: use struct kernel_stat""
@@ -180,14 +174,6 @@ let
         commit = "60d5e803ef2a4874d29799b638754152285e0ed9";
         sha256 = "0apmsqqlfxprmdmi3qzp3kr9jc52mcc4xzps206kwr8kzwv48b70";
       })
-    ] ++ lib.optionals (chromiumVersionAtLeast "93") [
-      # We need to revert this patch to build M93 with LLVM 12.
-      (githubPatch {
-        # Reland "Replace 'blacklist' with 'ignorelist' in ./tools/msan/."
-        commit = "9d080c0934b848ee4a05013c78641e612fcc1e03";
-        sha256 = "1bxdhxmiy6h4acq26lq43x2mxx6rawmfmlgsh5j7w8kyhkw5af0c";
-        revert = true;
-      })
     ];
 
     postPatch = ''
@@ -241,9 +227,10 @@ let
       sed -i -e 's,/usr,/run/current-system/sw,' chrome/common/chrome_paths.cc
 
       patchShebangs .
-      # use our own nodejs
+      # Link to our own Node.js and Java (required during the build):
       mkdir -p third_party/node/linux/node-linux-x64/bin
-      ln -s "$(command -v node)" third_party/node/linux/node-linux-x64/bin/node
+      ln -s "${pkgsBuildHost.nodejs}/bin/node" third_party/node/linux/node-linux-x64/bin/node
+      ln -s "${pkgsBuildHost.jre8}/bin/java" third_party/jdk/current/bin/
 
       # Allow building against system libraries in official builds
       sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' tools/generate_shim_headers/generate_shim_headers.py
@@ -258,35 +245,53 @@ let
     '';
 
     gnFlags = mkGnFlags ({
+      # Main build and toolchain settings:
+      # Create an official and optimized release build (only official builds
+      # should be distributed to users, as non-official builds are intended for
+      # development and may not be configured appropriately for production,
+      # e.g. unsafe developer builds have developer-friendly features that may
+      # weaken or disable security measures like sandboxing or ASLR):
       is_official_build = true;
+      # Build Chromium using the system toolchain (for Linux distributions):
       custom_toolchain = "//build/toolchain/linux/unbundle:default";
       host_toolchain = "//build/toolchain/linux/unbundle:default";
-      system_wayland_scanner_path = "${wayland}/bin/wayland-scanner";
-
+      # Don't build against a sysroot image downloaded from Cloud Storage:
       use_sysroot = false;
-      use_gnome_keyring = gnomeKeyringSupport;
-      use_gio = gnomeSupport;
-      # ninja: error: '../../native_client/toolchain/linux_x86/pnacl_newlib/bin/x86_64-nacl-objcopy',
-      # needed by 'nacl_irt_x86_64.nexe', missing and no known rule to make it
-      enable_nacl = false;
-      # Enabling the Widevine component here doesn't affect whether we can
-      # redistribute the chromium package; the Widevine component is either
-      # added later in the wrapped -wv build or downloaded from Google.
-      enable_widevine = true;
-      use_cups = cupsSupport;
-      # Provides the enable-webrtc-pipewire-capturer flag to support Wayland screen capture.
-      rtc_use_pipewire = true;
-
+      # The default value is hardcoded instead of using pkg-config:
+      system_wayland_scanner_path = "${wayland}/bin/wayland-scanner";
+      # Because we use a different toolchain / compiler version:
       treat_warnings_as_errors = false;
+      # We aren't compiling with Chrome's Clang (would enable Chrome-specific
+      # plugins for enforcing coding guidelines, etc.):
       clang_use_chrome_plugins = false;
-      blink_symbol_level = 0;
+      # Disable symbols (they would negatively affect the performance of the
+      # build since the symbols are large and dealing with them is slow):
       symbol_level = 0;
-      fieldtrial_testing_like_official_build = true;
+      blink_symbol_level = 0;
 
       # Google API key, see: https://www.chromium.org/developers/how-tos/api-keys
       # Note: The API key is for NixOS/nixpkgs use ONLY.
       # For your own distribution, please get your own set of keys.
       google_api_key = "AIzaSyDGi15Zwl11UNe6Y-5XW_upsfyw31qwZPI";
+
+      # Optional features:
+      use_gio = gnomeSupport;
+      use_gnome_keyring = gnomeKeyringSupport;
+      use_cups = cupsSupport;
+
+      # Feature overrides:
+      # Native Client support was deprecated in 2020 and support will end in June 2021:
+      enable_nacl = false;
+      # Enabling the Widevine component here doesn't affect whether we can
+      # redistribute the chromium package; the Widevine component is either
+      # added later in the wrapped -wv build or downloaded from Google:
+      enable_widevine = true;
+      # Provides the enable-webrtc-pipewire-capturer flag to support Wayland screen capture:
+      rtc_use_pipewire = true;
+    } // optionalAttrs (!chromiumVersionAtLeast "94") {
+      fieldtrial_testing_like_official_build = true;
+    } // optionalAttrs (chromiumVersionAtLeast "94") {
+      disable_fieldtrial_testing_config = true;
     } // optionalAttrs proprietaryCodecs {
       # enable support for the H.264 codec
       proprietary_codecs = true;
@@ -295,14 +300,6 @@ let
     } // optionalAttrs pulseSupport {
       use_pulseaudio = true;
       link_pulseaudio = true;
-      # Disable PGO (defaults to 2 since M89) because it fails without additional changes:
-      # error: Could not read profile ../../chrome/build/pgo_profiles/chrome-linux-master-1610647094-405a32bcf15e5a84949640f99f84a5b9f61e2f2e.profdata: Unsupported instrumentation profile format version
-      chrome_pgo_phase = 0;
-      # Disable build with TFLite library because it fails without additional changes:
-      # ninja: error: '../../chrome/test/data/simple_test.tflite', needed by 'test_data/simple_test.tflite', missing and no known rule to make it
-      # Note: chrome/test/data/simple_test.tflite is in the Git repository but not in chromium-90.0.4400.8.tar.xz
-      # See also chrome/services/machine_learning/README.md
-      build_with_tflite_lib = false;
     } // optionalAttrs ungoogled {
       chrome_pgo_phase = 0;
       enable_hangout_services_extension = false;
diff --git a/nixpkgs/pkgs/applications/networking/browsers/chromium/default.nix b/nixpkgs/pkgs/applications/networking/browsers/chromium/default.nix
index 33619f27350f..86ee33f3510f 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/chromium/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/chromium/default.nix
@@ -1,5 +1,5 @@
 { newScope, config, stdenv, fetchurl, makeWrapper
-, llvmPackages_11, llvmPackages_12, ed, gnugrep, coreutils, xdg-utils
+, llvmPackages_12, llvmPackages_13, ed, gnugrep, coreutils, xdg-utils
 , glib, gtk3, gnome, gsettings-desktop-schemas, gn, fetchgit
 , libva, pipewire, wayland
 , gcc, nspr, nss, runCommand
@@ -19,18 +19,34 @@
 }:
 
 let
-  llvmPackages = llvmPackages_11;
+  llvmPackages = llvmPackages_12;
   stdenv = llvmPackages.stdenv;
 
+  upstream-info = (lib.importJSON ./upstream-info.json).${channel};
+
+  # Helper functions for changes that depend on specific versions:
+  warnObsoleteVersionConditional = min-version: result:
+    let ungoogled-version = (lib.importJSON ./upstream-info.json).ungoogled-chromium.version;
+    in lib.warnIf
+         (lib.versionAtLeast ungoogled-version min-version)
+         "chromium: ungoogled version ${ungoogled-version} is newer than a conditional bounded at ${min-version}. You can safely delete it."
+         result;
+  chromiumVersionAtLeast = min-version:
+    let result = lib.versionAtLeast upstream-info.version min-version;
+    in  warnObsoleteVersionConditional min-version result;
+  versionRange = min-version: upto-version:
+    let inherit (upstream-info) version;
+        result = lib.versionAtLeast version min-version && lib.versionOlder version upto-version;
+    in warnObsoleteVersionConditional upto-version result;
+
   callPackage = newScope chromium;
 
   chromium = rec {
-    inherit stdenv llvmPackages;
-
-    upstream-info = (lib.importJSON ./upstream-info.json).${channel};
+    inherit stdenv llvmPackages upstream-info;
 
     mkChromiumDerivation = callPackage ./common.nix ({
-      inherit channel gnome2 gnomeSupport gnomeKeyringSupport proprietaryCodecs
+      inherit channel chromiumVersionAtLeast versionRange;
+      inherit gnome2 gnomeSupport gnomeKeyringSupport proprietaryCodecs
               cupsSupport pulseSupport ungoogled;
       gnChromium = gn.overrideAttrs (oldAttrs: {
         inherit (upstream-info.deps.gn) version;
@@ -38,12 +54,14 @@ let
           inherit (upstream-info.deps.gn) url rev sha256;
         };
       });
-    } // lib.optionalAttrs (lib.versionAtLeast upstream-info.version "90") {
-      llvmPackages = llvmPackages_12;
-      stdenv = llvmPackages_12.stdenv;
+    } // lib.optionalAttrs (chromiumVersionAtLeast "93") rec {
+      llvmPackages = llvmPackages_13;
+      stdenv = llvmPackages.stdenv;
     });
 
-    browser = callPackage ./browser.nix { inherit channel enableWideVine ungoogled; };
+    browser = callPackage ./browser.nix {
+      inherit channel chromiumVersionAtLeast enableWideVine ungoogled;
+    };
 
     ungoogled-chromium = callPackage ./ungoogled.nix {};
   };
@@ -76,8 +94,6 @@ let
 
     src = chromeSrc;
 
-    phases = [ "unpackPhase" "patchPhase" "installPhase" "checkPhase" ];
-
     unpackCmd = let
       widevineCdmPath =
         if (channel == "stable" || channel == "ungoogled-chromium") then
diff --git a/nixpkgs/pkgs/applications/networking/browsers/chromium/get-commit-message.py b/nixpkgs/pkgs/applications/networking/browsers/chromium/get-commit-message.py
index 7a91b74c83d5..b0fbe20db8ef 100755
--- a/nixpkgs/pkgs/applications/networking/browsers/chromium/get-commit-message.py
+++ b/nixpkgs/pkgs/applications/networking/browsers/chromium/get-commit-message.py
@@ -2,8 +2,10 @@
 #!nix-shell -i python3 -p python3Packages.feedparser python3Packages.requests
 
 # This script prints the Git commit message for stable channel updates.
+# Usage: ./get-commit-message.py [version]
 
 import re
+import sys
 import textwrap
 
 from collections import OrderedDict
@@ -13,19 +15,29 @@ import requests
 
 feed = feedparser.parse('https://chromereleases.googleblog.com/feeds/posts/default')
 html_tags = re.compile(r'<[^>]+>')
+target_version = sys.argv[1] if len(sys.argv) == 2 else None
 
 for entry in feed.entries:
-    if entry.title != 'Stable Channel Update for Desktop':
-        continue
     url = requests.get(entry.link).url.split('?')[0]
+    if entry.title != 'Stable Channel Update for Desktop':
+        if target_version and entry.title == '':
+            # Workaround for a special case (Chrome Releases bug?):
+            if not 'the-stable-channel-has-been-updated-to' in url:
+                continue
+        else:
+            continue
     content = entry.content[0].value
     content = html_tags.sub('', content)  # Remove any HTML tags
     if re.search(r'Linux', content) is None:
         continue
     #print(url)  # For debugging purposes
     version = re.search(r'\d+(\.\d+){3}', content).group(0)
-    print('chromium: TODO -> ' + version)
-    print('\n' + url)
+    if target_version:
+        if version != target_version:
+            continue
+    else:
+        print('chromium: TODO -> ' + version + '\n')
+    print(url)
     if fixes := re.search(r'This update includes .+ security fixes\.', content).group(0):
         zero_days = re.search(r'Google is aware( of reports)? that .+ in the wild\.', content)
         if zero_days:
@@ -35,4 +47,7 @@ for entry in feed.entries:
         cve_list = list(OrderedDict.fromkeys(cve_list))  # Remove duplicates but preserve the order
         cve_string = ' '.join(cve_list)
         print("\nCVEs:\n" + '\n'.join(textwrap.wrap(cve_string, width=72)))
-    break  # We only care about the most recent stable channel update
+    sys.exit(0)  # We only care about the most recent stable channel update
+
+print("Error: No match.")
+sys.exit(1)
diff --git a/nixpkgs/pkgs/applications/networking/browsers/chromium/patches/closure_compiler-Use-the-Java-binary-from-the-system.patch b/nixpkgs/pkgs/applications/networking/browsers/chromium/patches/closure_compiler-Use-the-Java-binary-from-the-system.patch
deleted file mode 100644
index f6b10b679c7a..000000000000
--- a/nixpkgs/pkgs/applications/networking/browsers/chromium/patches/closure_compiler-Use-the-Java-binary-from-the-system.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From e031b8be0fb2a22f953c034cdf08ca9befe130d2 Mon Sep 17 00:00:00 2001
-From: Michael Weiss <dev.primeos@gmail.com>
-Date: Sun, 11 Apr 2021 18:05:12 +0200
-Subject: [PATCH] closure_compiler: Use the Java binary from the system
-
-The bundled Java binary (third_party/jdk/current/bin/java) is missing in
-the tarball and we want to use the one from the system anyway.
-This reverts part of [0].
-
-[0]: https://chromium-review.googlesource.com/c/chromium/src/+/2778794
----
- third_party/closure_compiler/compiler.py | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/third_party/closure_compiler/compiler.py b/third_party/closure_compiler/compiler.py
-index 75690ceb9749..7b9c76f74290 100755
---- a/third_party/closure_compiler/compiler.py
-+++ b/third_party/closure_compiler/compiler.py
-@@ -13,8 +13,7 @@ import subprocess
- 
- 
- _CURRENT_DIR = os.path.join(os.path.dirname(__file__))
--_JAVA_PATH = os.path.join(_CURRENT_DIR, "..", "jdk", "current", "bin", "java")
--assert os.path.isfile(_JAVA_PATH), "java only allowed in android builds"
-+_JAVA_PATH = "java"
- 
- class Compiler(object):
-   """Runs the Closure compiler on given source files to typecheck them
--- 
-2.20.1
-
diff --git a/nixpkgs/pkgs/applications/networking/browsers/chromium/ungoogled.nix b/nixpkgs/pkgs/applications/networking/browsers/chromium/ungoogled.nix
index 299b19f2f4f6..a8e84dae196d 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/chromium/ungoogled.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/chromium/ungoogled.nix
@@ -10,7 +10,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "ungoogled-chromium-${version}";
+  pname = "ungoogled-chromium";
 
   version = rev;
 
diff --git a/nixpkgs/pkgs/applications/networking/browsers/chromium/update.py b/nixpkgs/pkgs/applications/networking/browsers/chromium/update.py
index d6788fa41927..72d6df055b38 100755
--- a/nixpkgs/pkgs/applications/networking/browsers/chromium/update.py
+++ b/nixpkgs/pkgs/applications/networking/browsers/chromium/update.py
@@ -3,6 +3,7 @@
 
 """This script automatically updates chromium, google-chrome, chromedriver, and ungoogled-chromium
 via upstream-info.json."""
+# Usage: ./update.py [--commit]
 
 import csv
 import json
@@ -22,6 +23,7 @@ DEB_URL = 'https://dl.google.com/linux/chrome/deb/pool/main/g'
 BUCKET_URL = 'https://commondatastorage.googleapis.com/chromium-browser-official'
 
 JSON_PATH = dirname(abspath(__file__)) + '/upstream-info.json'
+COMMIT_MESSAGE_SCRIPT = dirname(abspath(__file__)) + '/get-commit-message.py'
 
 
 def load_json(path):
@@ -117,6 +119,21 @@ def channel_name_to_attr_name(channel_name):
     sys.exit(1)
 
 
+def get_channel_key(item):
+    """Orders Chromium channels by their name."""
+    channel_name = item[0]
+    if channel_name == 'stable':
+        return 0
+    if channel_name == 'beta':
+        return 1
+    if channel_name == 'dev':
+        return 2
+    if channel_name == 'ungoogled-chromium':
+        return 3
+    print(f'Error: Unexpected channel: {channel_name}', file=sys.stderr)
+    sys.exit(1)
+
+
 def print_updates(channels_old, channels_new):
     """Print a summary of the updates."""
     print('Updates:')
@@ -192,21 +209,25 @@ with urlopen(HISTORY_URL) as resp:
         channels[channel_name] = channel
 
 
-with open(JSON_PATH, 'w') as out:
-    def get_channel_key(item):
-        """Orders Chromium channels by their name."""
-        channel_name = item[0]
-        if channel_name == 'stable':
-            return 0
-        if channel_name == 'beta':
-            return 1
-        if channel_name == 'dev':
-            return 2
-        if channel_name == 'ungoogled-chromium':
-            return 3
-        print(f'Error: Unexpected channel: {channel_name}', file=sys.stderr)
-        sys.exit(1)
-    sorted_channels = OrderedDict(sorted(channels.items(), key=get_channel_key))
-    json.dump(sorted_channels, out, indent=2)
-    out.write('\n')
+sorted_channels = OrderedDict(sorted(channels.items(), key=get_channel_key))
+if len(sys.argv) == 2 and sys.argv[1] == '--commit':
+    for channel_name in sorted_channels.keys():
+        version_old = last_channels[channel_name]['version']
+        version_new = sorted_channels[channel_name]['version']
+        if LooseVersion(version_old) < LooseVersion(version_new):
+            last_channels[channel_name] = sorted_channels[channel_name]
+            with open(JSON_PATH, 'w') as out:
+                json.dump(last_channels, out, indent=2)
+                out.write('\n')
+            attr_name = channel_name_to_attr_name(channel_name)
+            commit_message = f'{attr_name}: {version_old} -> {version_new}'
+            if channel_name == 'stable':
+                body = subprocess.check_output([COMMIT_MESSAGE_SCRIPT, version_new]).decode('utf-8')
+                commit_message += '\n\n' + body
+            subprocess.run(['git', 'add', JSON_PATH], check=True)
+            subprocess.run(['git', 'commit', '--file=-'], input=commit_message.encode(), check=True)
+else:
+    with open(JSON_PATH, 'w') as out:
+        json.dump(sorted_channels, out, indent=2)
+        out.write('\n')
     print_updates(last_channels, sorted_channels)
diff --git a/nixpkgs/pkgs/applications/networking/browsers/chromium/upstream-info.json b/nixpkgs/pkgs/applications/networking/browsers/chromium/upstream-info.json
index a6df334a97de..f095138416bd 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/chromium/upstream-info.json
+++ b/nixpkgs/pkgs/applications/networking/browsers/chromium/upstream-info.json
@@ -1,62 +1,62 @@
 {
   "stable": {
-    "version": "92.0.4515.107",
-    "sha256": "04khamgxwzgbm2rn7is53j5g55vm5qfyz7zwxqc51sd429jsqlbf",
-    "sha256bin64": "0vfg8wjf9i1yz8nlxsij8fmqq7qr4nsccaihppqm3axpk91mmdsj",
+    "version": "93.0.4577.63",
+    "sha256": "0ls8r77la6p7474j84wchvs4rvnxwfv7c8xvbxjm8h7jqak4zwza",
+    "sha256bin64": "1kv742arnv710mhakm2v59dwfypg7j01k7rd5if8h0s49yzdw3qc",
     "deps": {
       "gn": {
-        "version": "2021-05-07",
+        "version": "2021-07-08",
         "url": "https://gn.googlesource.com/gn",
-        "rev": "39a87c0b36310bdf06b692c098f199a0d97fc810",
-        "sha256": "0x63jr5hssm9dl6la4q5ahy669k4gxvbapqxi5w32vv107jrj8v4"
+        "rev": "24e2f7df92641de0351a96096fb2c490b2436bb8",
+        "sha256": "1lwkyhfhw0zd7daqz466n7x5cddf0danr799h4jg3s0yvd4galjl"
       }
     },
     "chromedriver": {
-      "version": "92.0.4515.43",
-      "sha256_linux": "1s22y892py99kzcb2j3gafmbz9jrr2lfhhh8hp3ggn2i37yxs8bw",
-      "sha256_darwin": "1cjg4r4z5m74c2si4m25rj3z44n0iimhqzb1l3l3y0a3q024bi8f"
+      "version": "93.0.4577.15",
+      "sha256_linux": "11wcimkcgaiz740k9xibi5hq1kd4zgy1vk6bd6cp31wjw4y21x5f",
+      "sha256_darwin": "0cxf3cg5pg9rigq7wmbap6wvmgpdr6v44bndisyaqhlw7s2hhndn"
     }
   },
   "beta": {
-    "version": "92.0.4515.107",
-    "sha256": "04khamgxwzgbm2rn7is53j5g55vm5qfyz7zwxqc51sd429jsqlbf",
-    "sha256bin64": "179i18lckd85i6cc60mqpvv2jqdshc338m686yackdgz9qjrrlwd",
+    "version": "94.0.4606.31",
+    "sha256": "1f5hk2acd9lj88m2acz8ik85fh5h3giz65p19dpfg92zsyly54nf",
+    "sha256bin64": "1ypf9j51a4kmx27x3s9izzbd2r094idz194gwhbdly75l1x8hk4z",
     "deps": {
       "gn": {
-        "version": "2021-05-07",
+        "version": "2021-08-11",
         "url": "https://gn.googlesource.com/gn",
-        "rev": "39a87c0b36310bdf06b692c098f199a0d97fc810",
-        "sha256": "0x63jr5hssm9dl6la4q5ahy669k4gxvbapqxi5w32vv107jrj8v4"
+        "rev": "69ec4fca1fa69ddadae13f9e6b7507efa0675263",
+        "sha256": "031znmkbm504iim5jvg3gmazj4qnkfc7zg8aymjsij18fhf7piz0"
       }
     }
   },
   "dev": {
-    "version": "93.0.4577.8",
-    "sha256": "1x6i5bmcnj8bkpcb9gcyd1m9nzpq206yyprxrnpak117k7abr2b1",
-    "sha256bin64": "0qjfb9jxr2gmwb1dsvl6yzz06vsjny2l3icrsdcm0pl6r6davk2w",
+    "version": "95.0.4628.3",
+    "sha256": "04r2db9kl77lp4jyyj01pc70jkxrifbnz5hic4r91lf8m2gf1fa3",
+    "sha256bin64": "1ssf8jdk6gn2mrnyvgz2c9nkk70rsidd5y26w2kx3s0cllfr7d96",
     "deps": {
       "gn": {
-        "version": "2021-07-08",
+        "version": "2021-08-11",
         "url": "https://gn.googlesource.com/gn",
-        "rev": "24e2f7df92641de0351a96096fb2c490b2436bb8",
-        "sha256": "1lwkyhfhw0zd7daqz466n7x5cddf0danr799h4jg3s0yvd4galjl"
+        "rev": "69ec4fca1fa69ddadae13f9e6b7507efa0675263",
+        "sha256": "031znmkbm504iim5jvg3gmazj4qnkfc7zg8aymjsij18fhf7piz0"
       }
     }
   },
   "ungoogled-chromium": {
-    "version": "91.0.4472.164",
-    "sha256": "1g96hk72ds2b0aymgw7yjr0akgx7mkp17i99nk511ncnmni6zrc4",
-    "sha256bin64": "1j6p2gqlikaibcwa40k46dsm9jlrpbj21lv1snnjw8apjnjfd2wr",
+    "version": "92.0.4515.159",
+    "sha256": "04gxgimg5ygzx6nvfws5y9dppdfjg1fhyl8zbykmksbh1myk6zfr",
+    "sha256bin64": "0lxnqsvqr1kw6swvkhhz475j0xvaa58ha8r1gq8zxmk48mp41985",
     "deps": {
       "gn": {
-        "version": "2021-04-06",
+        "version": "2021-05-07",
         "url": "https://gn.googlesource.com/gn",
-        "rev": "dba01723a441c358d843a575cb7720d54ddcdf92",
-        "sha256": "199xkks67qrn0xa5fhp24waq2vk8qb78a96cb3kdd8v1hgacgb8x"
+        "rev": "39a87c0b36310bdf06b692c098f199a0d97fc810",
+        "sha256": "0x63jr5hssm9dl6la4q5ahy669k4gxvbapqxi5w32vv107jrj8v4"
       },
       "ungoogled-patches": {
-        "rev": "91.0.4472.164-1",
-        "sha256": "1vlirqrsliyl1dvm511p5axzvhvqil1m1jlk5zngvl9zfbdjw910"
+        "rev": "92.0.4515.159-1",
+        "sha256": "1mfkpkyj0sd2k07fzmxmqc24ywqqmcv3vpg1yhh96k676q0qkpd0"
       }
     }
   }
diff --git a/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/default.nix b/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/default.nix
index d16c625e2dba..551453e9a2eb 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/default.nix
@@ -72,25 +72,23 @@ let
 
   policies = {
     DisableAppUpdate = true;
-  };
+  } // config.firefox.policies or {};
 
-  policiesJson = writeText "no-update-firefox-policy.json" (builtins.toJSON { inherit policies; });
+  policiesJson = writeText "firefox-policies.json" (builtins.toJSON { inherit policies; });
 
   defaultSource = lib.findFirst (sourceMatches "en-US") {} sources;
 
   source = lib.findFirst (sourceMatches systemLocale) defaultSource sources;
 
-  name = "firefox-${channel}-bin-unwrapped-${version}";
+  pname = "firefox-${channel}-bin-unwrapped";
 
 in
 
 stdenv.mkDerivation {
-  inherit name;
+  inherit pname version;
 
   src = fetchurl { inherit (source) url sha256; };
 
-  phases = [ "unpackPhase" "patchPhase" "installPhase" "fixupPhase" ];
-
   libPath = lib.makeLibraryPath
     [ stdenv.cc.cc
       alsa-lib
@@ -189,7 +187,7 @@ stdenv.mkDerivation {
   # update with:
   # $ nix-shell maintainers/scripts/update.nix --argstr package firefox-bin-unwrapped
   passthru.updateScript = import ./update.nix {
-    inherit name channel writeScript xidel coreutils gnused gnugrep gnupg curl runtimeShell;
+    inherit pname channel writeScript xidel coreutils gnused gnugrep gnupg curl runtimeShell;
     baseUrl =
       if channel == "devedition"
         then "http://archive.mozilla.org/pub/devedition/releases/"
@@ -203,7 +201,6 @@ stdenv.mkDerivation {
       url = "http://www.mozilla.org/en-US/foundation/trademarks/policy/";
     };
     platforms = builtins.attrNames mozillaPlatforms;
-    timeout = 86400; # 24 hours (increased from the Hydra default of 10h, c.f. #129115)
     maintainers = with maintainers; [ taku0 lovesegfault ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix b/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
index 5813868286a3..20f0a0f64a6a 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
@@ -1,975 +1,985 @@
 {
-  version = "90.0.1";
+  version = "91.0.2";
   sources = [
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/ach/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/ach/firefox-91.0.2.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha256 = "b985849c5109b6a9992ca0fc4699b769af37c84f1aea5fc6c1b66845f51da83d";
+      sha256 = "f33d2815c214fe8961aa98d3d531bc91a548c4744fae551663fe78a087168798";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/af/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/af/firefox-91.0.2.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "7ddb078a80b7991576f691a1c3bc76635621aa13d64c465651e16ae4dade7436";
+      sha256 = "1c9c01a01ca6be5f43477345289f67caf09651ad270b7b252a295a671de817e9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/an/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/an/firefox-91.0.2.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha256 = "dca47858177ed263332c7cb093e3285b5c8f61782a66cf683ee52896c3fc76a2";
+      sha256 = "9ec5c6b14231d52056388ca8a7380954bea6cd5281e415c0854a49cc73640806";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/ar/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/ar/firefox-91.0.2.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "2249834099e5cc9a5feb0b38bdc277e5e3f65635b1a1179afe1240113f0ee1d9";
+      sha256 = "a45e1e427693f8196bb21aa488c6524c35e84874a32413fc0700c30a7301b050";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/ast/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/ast/firefox-91.0.2.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "7ad21576299643e480922a2a7b6077a0edc84d362e33bb8318b33d04133a7c7b";
+      sha256 = "0d7045894345c84e5eabd42ba9e9c8e8606aba2980893485662e9571c3779f2f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/az/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/az/firefox-91.0.2.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha256 = "10eabc925d651985229d6bac1c34b12267a31886f5354ba943178f6a2d0ef04a";
+      sha256 = "298562a8941641463f728522c70ebde8e8380836fc0cc8311eec52dca5ec51f7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/be/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/be/firefox-91.0.2.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "d1e6d939233b23e5378161c79f338e66c010056d9d3e619b9eb6c26dc4461724";
+      sha256 = "0e993e8678d0c2bdfa4499ceebfc0840bfd2ddd83c8c8e72d46d6d0c553c6819";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/bg/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/bg/firefox-91.0.2.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "d59e69127462aa3efff558d5cd5035951dbe54161f913dacb4142a8bd3f258fb";
+      sha256 = "03381a727b1610aa9901bdef0325c58103ce7772561a65f6943c10cc4ba9d716";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/bn/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/bn/firefox-91.0.2.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha256 = "56ca1d7e84ada3f0124e36186a32dfdf287547bdc8d3b111baf9407fedf0a7ae";
+      sha256 = "1802540536f260157be20865ef10c829917ecf4fa786a640f5c1ae3f5d32bf8b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/br/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/br/firefox-91.0.2.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "33a6ceb6d37b73d03fe5a6e93e19e29346b2861ee69ab2fffd6cca4a2dbaf40f";
+      sha256 = "9a236a56179b5ce0aad809a85c744762c44daac465c527883157366b5037971c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/bs/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/bs/firefox-91.0.2.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha256 = "7c853a13afd74307e7a468b85ed430b20f1622dbecb697b8c80945ccea9f0805";
+      sha256 = "bdcd9e29bb472d1519d480288709ccca8ff625b6ddb3a251d526a6cd5b68122f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/ca-valencia/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/ca-valencia/firefox-91.0.2.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-x86_64";
-      sha256 = "0aa103c471b3f71ef638cbf9e8f83447875ef5cd96bdc8535435188510272c65";
+      sha256 = "7df5d82aac797456b4f22fdc9ab6f4114d7ad038cc16f28f83daf2d62a5b0f5a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/ca/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/ca/firefox-91.0.2.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "4672d9fe667f72de45af1eb6a205792440afa9de86eae1f33426d3b948fbc841";
+      sha256 = "f05391b0bcc16fb1a39710c70bd33b79965c7b0afe57e593c04e00c57e1ad447";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/cak/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/cak/firefox-91.0.2.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "7b12a52926888f52957a75f639f09094dc4cbc18a1c6d14bf433028461c4a71a";
+      sha256 = "afc0e6676fde094764ad466b735c887a31d5ec808237cedf7ac54b8323c2fb84";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/cs/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/cs/firefox-91.0.2.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "7dfdf0c4c740dab356205c52384faf61e9963a42675031f0292be1c0f4e402c3";
+      sha256 = "87a144952d612aa03998741a3232d93484200410d871c1823a4017e98b1d0570";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/cy/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/cy/firefox-91.0.2.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "ad7f76b997bced6df5c240273fb736fe7dcb0c86ae867a5cbdb5097dd5c382ba";
+      sha256 = "5f891c275890f746dee7f8dd27f69d610007fa553e23eaaa2bc949998b1b2d4c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/da/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/da/firefox-91.0.2.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "9f59ff2eec510b75312bcbe29e9706fe0710f300c12e33200937571414254d31";
+      sha256 = "dd36c8b04d729e6746c01fa2de7f818c09dff7d75339fd4234f4285979f4a5cc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/de/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/de/firefox-91.0.2.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "c838f9238939cc8e91fff903a231062c03388c2202e273f7b99701415a8f3f22";
+      sha256 = "1f02ed10313352cfc8db46bc888c25da9cd61656e022e1a3260b42a56b1142e7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/dsb/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/dsb/firefox-91.0.2.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "5370c32283f8bf7fc3273dbe3cb5c77db829723a39401b00f0e8f70c9f3dba91";
+      sha256 = "f53ba888cf993452761ffb21647fc47c799a41c398a28c3546ffdbc9c10bfb56";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/el/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/el/firefox-91.0.2.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "2af4feceeea5c0932935d91c22df516ae2e25d9006ab41ba6274783b74b3a5e5";
+      sha256 = "4ec5b0b831ad161d501169f650c17715f6a4d505507c458e68cd74dae8aebb7e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/en-CA/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/en-CA/firefox-91.0.2.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "e805c2eebe0c9892082b900af2bd1511264ed5fd5d47864ca5a8fc3e6c0a05de";
+      sha256 = "f07cb785234979806c03ae15e308ad72e417268cf4d9b3081ccf0c79d99a1b26";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/en-GB/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/en-GB/firefox-91.0.2.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "2d888fdd72a65137790b10f02056d6194fd9c374cc6ff09cf7217cfbb84e2d7d";
+      sha256 = "de25d50a780d8edc070a10b2ac7e5806814548a2ab3609e0e4f30eb2e0e18272";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/en-US/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/en-US/firefox-91.0.2.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "998607f028043b3780f296eee03027279ef059acab5b50f9754df2bd69ca42b3";
+      sha256 = "9eaac9c88ff4696228292590b65ab2fd1b0d98b7a1edf5a21abc11b7803a046d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/eo/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/eo/firefox-91.0.2.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha256 = "3fee8ee742d6ebc03a6fd66404979b7e2fc823757801ac205ca291c249f7b31c";
+      sha256 = "cb11d5f6f3caac78bb8a06dd3ff29ee11b71dd159dcf8804094c0bd969864b9b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/es-AR/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/es-AR/firefox-91.0.2.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "854cf81090ccdb2f8d4ccf0729c7228c2945626a56d1cfee524f927c5bb67c47";
+      sha256 = "849fba4b1375e0426efaed3ae637d9de4c6389c36869b345715a846a87b2473f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/es-CL/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/es-CL/firefox-91.0.2.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha256 = "c0b92a9e2defa74171c880be9ed84f12ab946d4d9af888d7d9ed735114968fb5";
+      sha256 = "06a43322ad648c1e8c0cec8ee0a0e087c795e23fb8ef5e1e9775b009e5784673";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/es-ES/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/es-ES/firefox-91.0.2.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "a2fcc7126f6c5b6edf162357ddf7493df2873ecbe36d74a176c3924b877c4448";
+      sha256 = "cc0bf296b910773e7c5d58760149b2918ee35c0d7c0f9953d890bbb6ace8397d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/es-MX/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/es-MX/firefox-91.0.2.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha256 = "fd27c822086cfdd3636d1edd0afb62be22546d2dcb86d968ef4e1875acbb66fe";
+      sha256 = "7dbaba5d426891452c285a88f557ebea9eaded970aae22d5deb530a8bb30785c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/et/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/et/firefox-91.0.2.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "13f34d32f05de7d77d4ffed59a00d539cc819edb3ad9ab52d1a77d9f92a05264";
+      sha256 = "b57651dfa1630d2bb202659a8621772d0ba9f2f5b111384105ae7db2db7e1c9a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/eu/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/eu/firefox-91.0.2.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "b53133754eadfd473a68b0647bbf3ada70ad46cd0820ffc94b96ca0bd259db62";
+      sha256 = "b1a3f24309807f139dae331efa358e605fd536188bc04e39e8a52669ce5d4925";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/fa/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/fa/firefox-91.0.2.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha256 = "048ab2377915cf7efd4daab495873f9c1282f74907bedc22093b0cf17cc3b301";
+      sha256 = "ab5fc5668be9ebb9b55b29aa245382f054b088d6920e58e40fe001e4d13b10cb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/ff/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/ff/firefox-91.0.2.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha256 = "99de5853888020d6435e8a369eb8b983fe4374e754451dabc2785b9ab2d5bb24";
+      sha256 = "d57c5e4a4337b49e22c9c010c218e0e31b19a9bbf4ef47c1c68c36415ef03793";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/fi/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/fi/firefox-91.0.2.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "03513b1d725a6f5ffa243fe38e19a66c2850d849c09d7b80c3ba17fcb3012b17";
+      sha256 = "93cdd41f76160ec2d2286e37ab1745bf7e88a8c4d46fff427bea3468f54b3772";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/fr/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/fr/firefox-91.0.2.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "350c5ded72a988773acdb3411f0d9d1ecfdd79501cbc04a9ed8777ada8248ae5";
+      sha256 = "04a7ea5dc8576fdfd49156693fd7fcecd1c55ba33a655f6dc832bb22caa51a5a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/fy-NL/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/fy-NL/firefox-91.0.2.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "026a5a3e8140110c830c237b1dee5857d07c9eacd1e803d0f5b054afd0d5d06b";
+      sha256 = "24a5acb50252bfcfde2c6ba24949cc06d9b4b2883c3a00178b25dd88f057b9c9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/ga-IE/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/ga-IE/firefox-91.0.2.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "1b522979314c1c672c30da02ea7d38f94ea811df91d86b8327836937069ed956";
+      sha256 = "136b45c8a0f9197e7e02b973b11bfc25d12202fb4e26b8c0e0ce1be4c19714be";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/gd/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/gd/firefox-91.0.2.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "d6830e901c20477dd4121cd3a0f918634bc3107d799eaf4439b9ba036acd88d5";
+      sha256 = "ea674cbc970610827f731f8c8ea3086f6f30cbd4167c12c471f6592c89892d3f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/gl/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/gl/firefox-91.0.2.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "f25adcd9c7c027a7e531a9072201f174cb69e30c30dffabfff4d0d8e12250f68";
+      sha256 = "f8bde4cb07aab6e7e7c776377a954680184bf3d3ecaf7542fc3843099854db41";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/gn/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/gn/firefox-91.0.2.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha256 = "a0df03aa486320a1fbb554a5be600067d2447af0a63726290f2c7d599c9a9534";
+      sha256 = "845c2c94a5c3432148df173e9e5e3fe0308fbf58577da2b9d8753cedff80c2d3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/gu-IN/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/gu-IN/firefox-91.0.2.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha256 = "daf1ba05f971b8b8f04da9085eefb03ad15fa5bf6d637ad1bcedb94665bb150d";
+      sha256 = "9cfbe57f0e0bc2f6ca070f248403b3edb36637bb2a0fd01bd621f97928378463";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/he/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/he/firefox-91.0.2.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "cedcbd2e76bf371ed8daefd100631e0381470b3980946e033b39a2b94035a55c";
+      sha256 = "f561c12266a3b841ccc72592caea6410b2607140b9adbb66e067377104c4bdb1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/hi-IN/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/hi-IN/firefox-91.0.2.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha256 = "d0d6ba66c59fed2c33d9e21c9015b40743ac7e4305b1055f39b909754af984bd";
+      sha256 = "b5cea26bbbc6fd5cda63f9099f17b50dc61697c1c3a1ea07344aabdf2ad154ab";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/hr/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/hr/firefox-91.0.2.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "11ba8ffdf88bbaec536e4a362dd40f2eb535edb652fb01587ed46ba09fa7f17e";
+      sha256 = "aa3bc54890eb5f50a51da981576d77ff89480ac52d1056fecba7c3d699f2ec49";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/hsb/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/hsb/firefox-91.0.2.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "d1e1fbba7748ffc2c0f92e4be4dbe346359bc145fa2dc063ed4660d14ffb0b1f";
+      sha256 = "1a07e8e22747ac148d8e9e6c9cb5f23466dd821ee40375d6401d6199e615a757";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/hu/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/hu/firefox-91.0.2.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "ba8d28151ddd5e02b530b653f5bf5de9dc97669355a8b6370e5067527f22bf34";
+      sha256 = "2227a72fb5caa0f95782f19380c60890b0886469207b03bcda9d6ab090f87b29";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/hy-AM/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/hy-AM/firefox-91.0.2.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "df7d7543013687f02a88f9e6d52d4bfbb46c6ce6646bfbbf86571d7473be2554";
+      sha256 = "1cbe3aa9306de87b819c04197e769958be6aada5a192f83decbbbd9b9874c73b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/ia/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/ia/firefox-91.0.2.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha256 = "1df0469ba5a368bf5ddd323e68ab458d29042b85e471bb7e20dfccefdf086ba9";
+      sha256 = "283daf5d143c70a416d6286cf51d7657d4d3e3785085ae574d1100cf24e40525";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/id/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/id/firefox-91.0.2.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "fee462d383763763a6034a452150166d507d424e303b114b68bb13b6779605d8";
+      sha256 = "3cbe27d43c810758aabb755f5745912d92b9e843a294b938224665de614612cf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/is/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/is/firefox-91.0.2.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "86568d6afaed2043d916343c565689047246ff3dbab5e6d928e5a6722f8d093d";
+      sha256 = "c3a3d505efe0a181fb1c3002c19fdd6669aea41c9b31382cf9679c53fcd0e3e1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/it/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/it/firefox-91.0.2.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "36e5dc00b8f9bc3fdc91441c0939eae5d43356ef0268c2bebea1d087f5d414e5";
+      sha256 = "12a3edb320a2aee0d872aae1180f3b106f2f3a68c80ce6137794e00fbd0d09e3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/ja/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/ja/firefox-91.0.2.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "b07f66b82be0f6f716384c37286205be455c83d8c9299456376d171167269903";
+      sha256 = "f5b7fed8385b9132ca458983cb7ad926d453c7d62309994ee7ec8c79b653ccc9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/ka/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/ka/firefox-91.0.2.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "5b391f01586ca70900ce279de8f3e22c670de5b210f350bc8bf82c75dd47e0ac";
+      sha256 = "2db556fe388ec3e29d603eb90e1dc2aa3c0064f09f8a6ad48158b0255433d0df";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/kab/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/kab/firefox-91.0.2.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "a833e4c862c8805d4a1571b210de928f5d4fd6e7973d1de5e7ac1e8e3877b722";
+      sha256 = "fe0d1dbff288168c06501c2f2aca07f0de5a7ad6b1c9ee3ea9fa49a6bcc01f05";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/kk/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/kk/firefox-91.0.2.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "5041bbd4acba0a2710e705798c8196605c62852de8a1c43f3676631dba5369a5";
+      sha256 = "7c4ea35acdfaf20155f68b96af3289e465fe9179d7eeefa5c231bed350ad6f72";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/km/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/km/firefox-91.0.2.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha256 = "f71888db4e4cc49172d625cca26b5b72c6d85180894f29ee0b934781f0f6efff";
+      sha256 = "09f9246eecc557ea89159ed67c10ffb640cdb4877e7bd3e76a70f429f80d4c7d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/kn/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/kn/firefox-91.0.2.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha256 = "7d32dee56e657d791eb80e6829ad2ff3624d949531bff1366b685924564d6534";
+      sha256 = "df48636b12ef91f18c837e42beba979d83e0a0f5d25de5593984d19c6a3572b1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/ko/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/ko/firefox-91.0.2.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "f9f0781ca8eeb1b21060a3cc2df8f8f5fecd659a230fa4f5f2907db5c37fe6c6";
+      sha256 = "0d21181cf503a1b203c160c86a8fb322da5dc9a8bd6ad2b19541a691ca3a9ff1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/lij/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/lij/firefox-91.0.2.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha256 = "0cff9a886e2d158ff00638200106d6537a254cc5a64e48a8233770e5798c1ca5";
+      sha256 = "e206101e2f05d297305aeff38becb141069fdbb7fd2b8274f150bb9bd8111318";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/lt/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/lt/firefox-91.0.2.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "69c8e5a6f5c3d2435ed6dd02bc1c4b9264b1543b7763ade3accf4f30eea7b9e6";
+      sha256 = "feee32cc11f81db93400d4e91104699e3968f01c09dff99fb7859ab09925833e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/lv/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/lv/firefox-91.0.2.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha256 = "55b59adc86e9e91f5a134bb16837c8843449f4dfc85abbb3f292bb34214bbca0";
+      sha256 = "16b6cdc6e993465c81937bb07ed275a79c786fe77caac3d5c7e309de62698cdf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/mk/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/mk/firefox-91.0.2.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha256 = "d670166e34e513ff4dac69740f547542e4e2c3e24f7ae7d165dbe5a4151f17e4";
+      sha256 = "e7eb1e3b560ba558aa4e7db1883082279752db3580b97face685f16e541f3778";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/mr/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/mr/firefox-91.0.2.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha256 = "9cd258a90e1a12a113e626bbaa4d557936b29b71491138e73f74ebf6645a9b76";
+      sha256 = "18aefcd48300b1b8e7a3775539d8952341dc9f930cd4492aabf0f1c9b5db9251";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/ms/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/ms/firefox-91.0.2.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "0b68ba835ae0f3561eaa2721de08bab95946c1e1111b05f8b02cb7f95bc23335";
+      sha256 = "2a4e8aa5f8fa123dec530c75db7733c7c02be47a854b1a83ca9c9de8999532e0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/my/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/my/firefox-91.0.2.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha256 = "071df9d8ee0a5d1e3b3ae8f472173b5da378b6b41646a3d1d2222a3dbc73596a";
+      sha256 = "af73e4c5d7d07be9eef45bc4b4623e6d15158b8e195d2679aec57f5b4e5d4522";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/nb-NO/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/nb-NO/firefox-91.0.2.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "2623cb59780a1db3cc20267023c93f578ad4c6cfede8b12416f538d62ffa930c";
+      sha256 = "d7f8d00411d40955abe40861cb9cbb6c286c4123e559a4f1a1cef14a16f9a7c3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/ne-NP/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/ne-NP/firefox-91.0.2.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha256 = "a6c6c514cf476bd93d64c1e315161d765792528a632aa881a75abb85076ac998";
+      sha256 = "1a944d38efbdffbafd3ff2ef7caec06a7b541e50f50288b599de6f84501ceb71";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/nl/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/nl/firefox-91.0.2.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "60d7de62f35cadc8bab987bf81fe6d8635388b361f3157e5d13809604cc41927";
+      sha256 = "3053667a9b8fbe9f450775ea4e16f42622a365b306024ad09efb94f0f78e1ec2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/nn-NO/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/nn-NO/firefox-91.0.2.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "a1b0cebb8de16685011e5cded38add6a3b13738163dbcf6216182b350c293f27";
+      sha256 = "778f005a86a464c96fb1cd6d558dd9fe268c4ea810356aa3bbcaf366ac6af895";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/oc/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/oc/firefox-91.0.2.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha256 = "f4f491e962ec713e708e9f773de3af9f6251ab6f2f41f516116f83a63824928a";
+      sha256 = "831240b9be6aee190a4272ea759d09fa326e3693a6733d4a9e9c68ca701d1663";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/pa-IN/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/pa-IN/firefox-91.0.2.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "5a41333ed465121d212ddc6c61faf2a5c4eab25daf0ec3206196077f490a18e1";
+      sha256 = "a49344f367d80af4d6683729534c4133e2e30f6492f27098d626caeb609c13cc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/pl/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/pl/firefox-91.0.2.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "de5d8c3e5b8f458c400a98c1b72595ff951a54083ff29e1bf01fc3421443cbd8";
+      sha256 = "7630e7e09eb0c9b83af6771337494ded1e97ab8e00cf38407fb2548b5751f566";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/pt-BR/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/pt-BR/firefox-91.0.2.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "53fb72801cc33ded2e31142161faaca04ec5f7742413faeada30e1c5ef51025b";
+      sha256 = "0404ec267d35062191f59de8971a7c348a8b48666b571f6fc83ac72da1b71d28";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/pt-PT/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/pt-PT/firefox-91.0.2.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "2c72ac24a7cbdb79b338ad9a79f649be85caa0377b78fabcf07c42b1ef02a94e";
+      sha256 = "939173f1bd04f71db95b3d526b03f8af9f5e543f969523dbc054e6b8fcd24f1e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/rm/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/rm/firefox-91.0.2.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "bfd252411406e6a8816ef000fc6fcff6357741924754daf05ee39ff331bdf3e5";
+      sha256 = "4079c2b319fb8bbd53c060ac4fd3d92f7a275080efbaabcf3fb1753232d20a00";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/ro/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/ro/firefox-91.0.2.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "f4c9a173ab7e9fc964f4c255ef9830559fc835d1f18ac388de5fa16d2df5d521";
+      sha256 = "611b34e2aede6d0da5269acb5973c7ba802e1c21f54f013c74900e685cc2f696";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/ru/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/ru/firefox-91.0.2.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "07d1c8cd10323f039a040295230f223e9e6b40860830b2e26a0ab9fd2c15d0a7";
+      sha256 = "7f485ffb4db58234f09c86b03735469b9a6b0fe769e248ecb2e735f6d94e56c2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/si/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/sco/firefox-91.0.2.tar.bz2";
+      locale = "sco";
+      arch = "linux-x86_64";
+      sha256 = "6578345753a4c043e3240aa0da35e6888fa51e91b85e08614e16ae6571ab256b";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/si/firefox-91.0.2.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha256 = "6f816e89adaabb79ff1b73eed516e6c5f817d7af0ccaee58262ea47c80a08664";
+      sha256 = "d23d3f09e7a5112e5b6d28d2b2c8c99f4c86be52f1e9422eb2fc3b1906d98ac8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/sk/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/sk/firefox-91.0.2.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "14fbd3f2057da82c95e2cd194021adc3c7c19b0f64cd56e623ae2341b7414301";
+      sha256 = "90a116fee8568b6a9a55c0421dc6a2860d63ad08b8fc378084c1afd4c949c1d5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/sl/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/sl/firefox-91.0.2.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "388ef17576722a32d22350ac2848c8e7f0239481f1d0172441770052bf1c53d5";
+      sha256 = "771b695988fbe0e12bce06a740e3495fa850c8868a05d67be50ba8090d4ebade";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/son/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/son/firefox-91.0.2.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha256 = "f7785fc5a91c991c277b36eca1928c350953043e77cdb4b47f25d5f2f611828d";
+      sha256 = "0a645ec3f2f57ae891aaecc2ce206487518175828f4fc340736b0ea72af001ee";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/sq/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/sq/firefox-91.0.2.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "cc0f348c99304e0da47bbc4be45bc350c53574ea1e20d781f88862e5add4c60a";
+      sha256 = "b3c72f26cc4f14b621bc596c93561d7a117fd5efdbe01e4235aa1fb7c8f2d1ff";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/sr/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/sr/firefox-91.0.2.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "6824091ffb721ff42072798cd72c3061921eb69f85a710c141407f83ddddd836";
+      sha256 = "36044733f7ee34fdea823253f66e7e8fa3cde8d429711ee91c128960f418ff8a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/sv-SE/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/sv-SE/firefox-91.0.2.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "3d86180707aa4f2fbe271e9d8fdf10ef5cd52126648a64e684214f159cbc7512";
+      sha256 = "392930224df082d89c5bc1624f8193d985c82ec11c37d3ff9d659d339f1c1814";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/szl/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/szl/firefox-91.0.2.tar.bz2";
       locale = "szl";
       arch = "linux-x86_64";
-      sha256 = "e49776c7820b51648c8e2d19f5e8073515fda5397adae3302383e9f503240e08";
+      sha256 = "8481c1d119e568ed109bb6bfd0c1f897f7f284852e24da7cd2db591a00ada4c6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/ta/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/ta/firefox-91.0.2.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha256 = "d8b32890c9ad376cd9122ae6e80d1dc65c0b8be1e5dd4c7381011b1059dd8bbd";
+      sha256 = "3a6e28128ba7f167fcf6c7bb238ac66a7095708e3abeaca7fc6d5ca7eabc43e7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/te/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/te/firefox-91.0.2.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha256 = "87974e3cf5214db7f82244b43a584f3cb11d4ba66ac45dfce1d22f417fd63185";
+      sha256 = "1c52637dc10ea1fe3c1e7b136f64518c6a97e72d87318e0696b05f0eb25c27e0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/th/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/th/firefox-91.0.2.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "1d65c868936bd174ae9ecac66e1c1bc30e4b1214aaa0a2762dfcda6929eed1ec";
+      sha256 = "5fe6f59217a47989e79a3b05b23bde98d77e2a5b8c769e03e66e38976b39804f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/tl/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/tl/firefox-91.0.2.tar.bz2";
       locale = "tl";
       arch = "linux-x86_64";
-      sha256 = "115ecf4d90d13df1352637c9ed6d1701b6a9d0793d3487d582b90d487e27b52f";
+      sha256 = "1128e69f29688da700f60832b9e87529f57d114ed944eec2f9209e7a92cfd790";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/tr/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/tr/firefox-91.0.2.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "d66f4114e577e945abbb1b32206b2cddff65db1f9a2b1cbd1c8a11e528ce656f";
+      sha256 = "4e643963f6a1f34553c1fd896ddd58e97208d95fa563de56869ffe5f8e8e8f1c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/trs/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/trs/firefox-91.0.2.tar.bz2";
       locale = "trs";
       arch = "linux-x86_64";
-      sha256 = "1dc6d43229d0912d34394889deba3d91796ac4aac437b7ed86065d978871fbec";
+      sha256 = "ceb96b052b352fafcec29d0f301314187f7800765df4e013394508a2fca76159";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/uk/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/uk/firefox-91.0.2.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "1795fbe577dee1bc042a7b50bceb958446e7f6c95133c2d1432f1494ba86b6a0";
+      sha256 = "599f1a52b843d7f1a743547ad54294d95c1f8f73c0a91b0bdbc9c3de7991f54b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/ur/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/ur/firefox-91.0.2.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha256 = "1da88a58d6262c4b2866e765efae0ccc23ff224ed59d5f9a30434a16408b17d1";
+      sha256 = "be2aaf110942c218564aacc8318da5b317cc7546e70fbf0d0e47658196da9c6f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/uz/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/uz/firefox-91.0.2.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "549956dc6ac0eab50becf7562e91a17fdc3f0244197379f03bbdb2b12f2ecaef";
+      sha256 = "ef8811b53ce1cea99f068b846ff9e680cf84ad7bcdd30af45102340001cbc330";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/vi/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/vi/firefox-91.0.2.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "3e9575342f30b81bebc730c855b54120c95e385edf9273e5355f857da81d55ea";
+      sha256 = "42ef9e751790fbf138ac1d75e03406cfe91b11c6b4afdd2e3a1c5b3ea921f5ee";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/xh/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/xh/firefox-91.0.2.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha256 = "d2e7dd3cbd70ef34c53bcfc5b3427508ed368cad548afe0509ff7149a6472ff8";
+      sha256 = "17b3c935627c14f51e1d7ad106ef8428aa7c7399952f87cb54d668336dcd4420";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/zh-CN/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/zh-CN/firefox-91.0.2.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "a65f4a1002422a07083fb8566e3129f781a8083d9427ba4236812204c953a5f3";
+      sha256 = "1bc2854070700f2899cd1cca848aa39d34394eb7c3853c4b92b693122deb0867";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-x86_64/zh-TW/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-x86_64/zh-TW/firefox-91.0.2.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "e5f1c0d36c7a4b3634858d691c5f26481018ac4ce7c5ab7a4c19e04b33810941";
+      sha256 = "9620f5ef16421a187d1f3e98c80d5e336995a9bb195241b8c413f619a0a8a3c8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/ach/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/ach/firefox-91.0.2.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha256 = "b5908565dea1f33f82d8e380bb5d648fab9ebcb4af24d602a6c71e176fee5007";
+      sha256 = "68648f5e2060c9ba841284a6cc22a793e4a13426c517e803ce0ec21dee6f7792";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/af/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/af/firefox-91.0.2.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "d40bd877e5ad156a45c0c325794537ef9dd71770a395aeebf8381075df0c74d6";
+      sha256 = "b2e55deda95b5e3d180774f5f922ad223a45a7f4ae684203b77bb07937bc2981";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/an/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/an/firefox-91.0.2.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha256 = "c72b84b92239955c750cdc302cfed32c7ed1a1352a88b5f599b4edfaad79fdf6";
+      sha256 = "f0e5d4574213583ad8cea208955cfea48c0d0c2ec9bf5a62dcef18a20ddc04a5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/ar/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/ar/firefox-91.0.2.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "25b4175421efe766e7be49591c04b636699bc685aee6459c48b19fe9aaca07db";
+      sha256 = "1ab07eb8c327180c254061488c1ccfbbe3513657031508ee5658587437049714";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/ast/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/ast/firefox-91.0.2.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "d7919de20cf70de38f03e508b6ac5728b76ceedb626636cfed74c4698ce4dbc6";
+      sha256 = "b6bca0e8373a9f816b12f856ec0a2515531b02a5e0929a766f904ad2d65c9c68";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/az/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/az/firefox-91.0.2.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha256 = "addbe7fa0121dc3643afde905bf33b764d36d49a60ccf6c427ab97ac941ce9f3";
+      sha256 = "4e56f180d96ddb0acab3abedad6fee0709d41075901180123d7bd3cbfa76590c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/be/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/be/firefox-91.0.2.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "db52de7ce7236110b28322996303e2a07f69b88eb53393aa4ff75dd841b02aa3";
+      sha256 = "030df4c436f1d1335b16fdc523180b9eb4d1f78de95aafe2b06a5dd1a8fb72a2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/bg/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/bg/firefox-91.0.2.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "2abe8c91ce73f350e31de13807fcdc48c2621a29fe25d17ed25a2fb8052ce831";
+      sha256 = "bc595dbb2930838d60d5cc7455055469498ec645877d3212f3a08f433fe149d8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/bn/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/bn/firefox-91.0.2.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha256 = "2b5f6e1bd73eda0fdf69f6d8181b83206bfbcfcb5edb11be12f2a29e6ffd4a37";
+      sha256 = "97fe8a049a0ca41475645171d829c19514a18320223b96a34870954a0526180a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/br/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/br/firefox-91.0.2.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "53339a26816934aa1f5edac114844c42b7107326f114ba28818700ae8ee199ca";
+      sha256 = "abefc4181bbcdca83ac98be38e08dfaba67ebec48481bca356828331818ab530";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/bs/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/bs/firefox-91.0.2.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha256 = "d49005f911a027a7628f45103ad2e43438a7ec33142f9a5ec7738a8694d071de";
+      sha256 = "0e8e91da19070a5e5d283e0d3f513d01bc856ce5fbd304c9dbaa4fb3b077fed9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/ca-valencia/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/ca-valencia/firefox-91.0.2.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-i686";
-      sha256 = "ccaa99d7eede57e43c57ab2a185a53061476cedb65f37d4659c1e765297c937a";
+      sha256 = "409b9e13038e26de3bf94e7a3a4d35606e378c9a4b07a6c51250a778f4f95cd7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/ca/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/ca/firefox-91.0.2.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "b4df85c3f723a3e8c44d249f12f37bd27eeade4ec802baccf2e82a92e9869002";
+      sha256 = "9b983cfbc1a3a46f8277927a5ddd73ad236fd5e29542d3e3b23708242f2ae241";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/cak/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/cak/firefox-91.0.2.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "a8e1244c9904e3f5bada11c33f2f542b6dbb5ccb867f7cc6d5a2d1a99e95c48d";
+      sha256 = "b4a4450d741e5bd3bbc5087377bbe4dda26af6ea10af5bf6286c26d09d02f3db";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/cs/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/cs/firefox-91.0.2.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "b2cbe665a6b2482edbe29b50036922708e7bc7aaad65ef6d91b47beb4f53acbe";
+      sha256 = "d7dd456b77af0f5e98c55013e735140e578f81a402dcf0ab2b3971a9e1562ca9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/cy/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/cy/firefox-91.0.2.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "5e151c341812dcf8bdf769ba0a1ae9ec03b3e79d5f55fb18241ab0ef907538fe";
+      sha256 = "efee0853acfadd55dcc8a25e693cb7265a38c0ef29704b3eca0ba99036162f49";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/da/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/da/firefox-91.0.2.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "ebcb60a77185d17114c26d58a61a3a3ef5198709c43133263efbe39c05275dcd";
+      sha256 = "3835e498f68a75b31f4c6b13eced98ac458df5d3c1acfd34f44f8959388ec57a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/de/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/de/firefox-91.0.2.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "8819ad2efc7d49946eed2adbb10280602d0004722207cb46e06f46f4fb0f80d8";
+      sha256 = "47c3b1cde4cd2a1e57b63ec2e0f8db0e1b393c61bfb3337371764df835527daa";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/dsb/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/dsb/firefox-91.0.2.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "c91e40aed7b1c1c41ebe0cdf77e46cb284d7cd308c6ae66a70f46fc4dab008a0";
+      sha256 = "8f3672728a49391be310bee1bfa6336735874369cd427d4f7073f833ddf54626";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/el/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/el/firefox-91.0.2.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "f9032320f0fd0622c9e6ad048de12533e92660bf56e255d2f79fc0c2adc3356c";
+      sha256 = "df6ded8d5abfb6f33c22c34578a3b12e991c1f64674a2b4b573cd1c682779400";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/en-CA/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/en-CA/firefox-91.0.2.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "9224c71771b26085f067acd29993e48aea66a61c7ae193bb6442569b9291677a";
+      sha256 = "df5e90395044ef348d766fc9ef4792edc20b8befbaef0cc42794eeace47a0a9a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/en-GB/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/en-GB/firefox-91.0.2.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "fd27cadfa31f81d7103f867aea3efb6f03f341708c4ed93df5d6d8fba601c1eb";
+      sha256 = "eec39ef04bdc398fd9f6c2eeddcc4e8f85e46ec08be8f53e64564e41d39e111e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/en-US/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/en-US/firefox-91.0.2.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "1043cc2125aa682953340fb40b721b3dcffab1ad0c06184fc5a92740638d4a13";
+      sha256 = "c52d82b5a73e37c5c80ccf4e206bb80b632bd835968e6bebc7b93c5f4a5acfc9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/eo/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/eo/firefox-91.0.2.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha256 = "1dd42f52563463c146ddef224f97b6e87f82f01249f7bea290a4cb8331dc9fde";
+      sha256 = "e86dc36a4b14563e546e218589d74fe669083111d97df40b2ef35ad48d2c7309";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/es-AR/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/es-AR/firefox-91.0.2.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "fae114afacd99e045abad6dd5a6d4ad5669b00158431ea8458d48e43aa06d4af";
+      sha256 = "891374037a1093cb33739e55188b5fdfc54ecf3f9bf95d3eb9f700d388bc9632";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/es-CL/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/es-CL/firefox-91.0.2.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha256 = "1a4b839f8b55ef758c56ce18770cc31e871278e58f378fa7e7cbf4502e3b930c";
+      sha256 = "0063ed2e227e579591f1b7fc4c7d9acdb6667323d2110e4605402021eea117b9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/es-ES/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/es-ES/firefox-91.0.2.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "cc21e66b7c7250d57067c8fc133a8b6f4a4f4020474bb7d4510c94ca02c316c6";
+      sha256 = "d8b20f06f8caa991596222ca189660cc3b4c3fc86148d85d26223425c270c4df";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/es-MX/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/es-MX/firefox-91.0.2.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha256 = "cfd89dd866f633359c57af8915586abc7d3bedcf2523bf60f7878d70417c09db";
+      sha256 = "8d87de0de6e6a79065f22fef7e17b5bda5fe5644160d37444a4144d26fd6c303";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/et/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/et/firefox-91.0.2.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "6e678eeef5ebe30b6005533e69ebbc4f096e3a1e2fc07be8c8f1cf3d1b5c1b06";
+      sha256 = "f65daaa770f2a0f0f7470b4f4ab6db20d41f107afb3431b2b08ebffb45cfcc6b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/eu/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/eu/firefox-91.0.2.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "4fcab02f0a755db4baadd5e04fe9589226b0082768ef58e32680a72a86ef52f2";
+      sha256 = "ff1cc7c354dcb3ce8aad5080bc88b33a4282fb678f888a8bde8bd5d8eb53867a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/fa/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/fa/firefox-91.0.2.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha256 = "bd7500a850ae6c4ea9702521716336bd2809c8e3fc058ea021ee27a1b6d40aa7";
+      sha256 = "71cc81129e19253a465f3fa1a5cc22795c9496f6f4e063b39cd5fb4f8504e7a2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/ff/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/ff/firefox-91.0.2.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha256 = "76b4327258aedc72fcae8b56dc5dd0c99952f0a2021252c5d0e36d1366b68016";
+      sha256 = "b2e919a9379d24ce148ac5b1ac5dc498693f3a8f502b24479fd0876403c1567c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/fi/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/fi/firefox-91.0.2.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "4500cd834525149ad46b94a7b86ff776511f3173a48064ed88d6b2e67596dc68";
+      sha256 = "cd1729d0e2885304ac6f6fdb4918617f4614754932885ec43f0b9988d647cf3f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/fr/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/fr/firefox-91.0.2.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "85313248992ddcc04bc5b72802929a2c601daae07d5e6d8a11c762159caecf86";
+      sha256 = "e06c6d6b2e2dda4ec6c3d12798ec2aa119395e9ac252ee5ea8626024810d05f3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/fy-NL/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/fy-NL/firefox-91.0.2.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "ba0d003e88355027ccf1be545555e68e06a19e11b7090844707e0053796f2a1d";
+      sha256 = "8f6db800766e9c3e6baaebd5ef5c32fedc3d478837cdb52e734dd9b948587696";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/ga-IE/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/ga-IE/firefox-91.0.2.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "52f94cb53101e4d2564cb4f4589cb2246a4c78314e38e3d566290adf43f40e74";
+      sha256 = "25cdaaa65a20a41e6a1918539106ab5a5c788e24f6afcbc6458bb57faa667948";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/gd/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/gd/firefox-91.0.2.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "0998440173e3b5886ff3a356a79fd05e7ea113cab4582a9400abad44ecbf6c48";
+      sha256 = "560fd9ee5c8cdbb080207793bd14d6d9502a873a2a2b06fa447bf290f30391b0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/gl/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/gl/firefox-91.0.2.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "6ab3ef1a97c8382160420f563c814f14610f1a0d4565ef8f86b8c8ddbf34e162";
+      sha256 = "4c4bba4dbda0515ac035ee2c3878866ea3f6cb01204f761dd0c356bf95c3c238";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/gn/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/gn/firefox-91.0.2.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha256 = "f57a5d2ed2b9eb8d35b9bbbb9f76a988409db09c7855d6cb93abf151f8e449c5";
+      sha256 = "71d364c0113dc2e6d39347e898143f04b176a28ec69d19a0061737b903a06f80";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/gu-IN/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/gu-IN/firefox-91.0.2.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha256 = "eb62873a8c7e2b5b706cd0033b5042a4f4496c265f7e57e1c65f23e3fc896a6a";
+      sha256 = "9a9c106439dcbf7fcfb19a0af682a3a9e755fc568a571c738fb4e385f009a392";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/he/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/he/firefox-91.0.2.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "6c22304604f9e93153d55251e31bb250168015a4ac6c3d93cffcdd9c64ece7e9";
+      sha256 = "4d0aabd64820d3e2fca5f7de902a03aed79a6b4d38c4a744cb463d6814b14df9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/hi-IN/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/hi-IN/firefox-91.0.2.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha256 = "155f425d7d9b867acc7035d1220f60148fb94c25dd51ee7049e9c2e9b096a0fd";
+      sha256 = "17d92c11c08c164839d9f959c81847b300cfe2542e48e7bd259cbd59b6be3ce1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/hr/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/hr/firefox-91.0.2.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "96faca700f49d3f8d9337f0f4f820f8a5a6335b06348b835bd39a26619e4efdc";
+      sha256 = "f22b580069c1ad3b5e29e59a2fe0e19b7e6467ae6ce55a3ad34b8ce27a1680bf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/hsb/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/hsb/firefox-91.0.2.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "42ce59b460cf94705f88b80c91705bba81142798803bb1d7a3a0bc34dd96a7e3";
+      sha256 = "2feb509657b6889eef6d5398468987c2ce06972f25b4c0efa455be732f2d2793";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/hu/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/hu/firefox-91.0.2.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "804db507b43af04716bbb4d53525aa9b2958b1d3ff08b93812f1d78531eb01da";
+      sha256 = "31c96f8f03df5f128146ff071b25ea0ed13f217eefeb061f9a8bd083d5f0faa9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/hy-AM/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/hy-AM/firefox-91.0.2.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "488e6bdd3d36490a33d5794f5ede500bad29cd2014cdd50ab5edf74c829fd424";
+      sha256 = "3cae4b4ce1aaededb6e1657b4c608967fd7b502fd1d5d73fd8721aef9bda1f67";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/ia/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/ia/firefox-91.0.2.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha256 = "fd3f22e1247b394b654c12aed384c515a390e91651bcc66f3823205c67951287";
+      sha256 = "048d341b1a3f95b9a131297a5473ccf2d056e8312ff2dbebba41d0ee6159cdca";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/id/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/id/firefox-91.0.2.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "2a197f4f2aa069b888ad9bfaa54da1b3bc461309a2f0475c298b7e501f06e6fc";
+      sha256 = "3110e13e4552b1826cc842d241668f7070898657610613c446c4bb0ce231af7d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/is/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/is/firefox-91.0.2.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "b215c19156d129ef30c2d5b30d723d3923e57658888736bd31d3c7fd4a30f835";
+      sha256 = "f4c929aabe2ed2ac02591f4fa556286c51aca294aed93d9db8b29b5e960c16f4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/it/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/it/firefox-91.0.2.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "f94a4ddd3278993c80e776849cd52721f40a2808a41f37c74f34ef4b7deea972";
+      sha256 = "2ce8cc3cb29f5db5701fe54b318c501c4b967c877b258524ba648ac3ffe89e23";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/ja/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/ja/firefox-91.0.2.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "4b22759406f177c98ee2496ff17de565f87a0f566e3759ce030fd757c1555e32";
+      sha256 = "2bc50a7af5f03393ec0f83fc7eb4ed8858d2c005f9122cc8f3e8a377f7e8ba50";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/ka/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/ka/firefox-91.0.2.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "7e602c099b680f1da42030067988f818e954ec4b02ddc6ec5473e02402a06428";
+      sha256 = "c806da6a0d3c2039d5551f25a3a4c506ddf0a2edadac4dee220040693b9547ff";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/kab/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/kab/firefox-91.0.2.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "92d0441b33b179d515c88711bb13684e37c748a938d818723256092930428dea";
+      sha256 = "769a5d8ea726d9a3477d9771302f4f3157ef314012733c31c4852bb4d38782fe";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/kk/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/kk/firefox-91.0.2.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "50a44e34e2a12ba6357f62bc82d9de9c5250c6e3b5635c81724d0a96f5111436";
+      sha256 = "0dfb08c348c0be7bc9f1d8ad603081e360d1bef8c91082053edbea313b429082";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/km/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/km/firefox-91.0.2.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha256 = "de8bddaf5a937bfc5bc21897cf95b3d40068133df4c9edfe7eb9eaf76d23e17f";
+      sha256 = "09441c111989e0655df16a870cd91a7f445157385e1e7839588ddf6f484eae30";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/kn/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/kn/firefox-91.0.2.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha256 = "86e88fbc62e131f6b6a599575f5c507385251e7d03a114b61e8c1b78c4a8c22f";
+      sha256 = "442cda23ed74ff049963a244b3b31d4971b656b3324ea734e31b3532ff8c5d02";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/ko/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/ko/firefox-91.0.2.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "10e0169e337cbef4a33e227ea57ff517ec570997fc471509ff95f098cfb52b12";
+      sha256 = "accb55d70f8853dd23c32a668f887105bdd924ea717f0b75a1dcc70f347a8f2c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/lij/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/lij/firefox-91.0.2.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha256 = "3e054180575b29c5afb286f6d7e8453bc8d4bfaf1ff5d8ac5fc53757b9dc48f1";
+      sha256 = "77b93a3e83c69940033e24e30f7e78069e39fb086d45d29aa8452e298d4044fe";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/lt/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/lt/firefox-91.0.2.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "79685f8b0d646dc6fb446a85808e22107760343a63be429551866a22581106da";
+      sha256 = "0ff4fdbbf1429bddb00236677ebc77fe6a344e509309f794e87a6d31ff1e34e7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/lv/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/lv/firefox-91.0.2.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha256 = "4df1044be63e35775c89005cddba209760b169be29a3e49d3d29bc370b11dacc";
+      sha256 = "212639e9ccf7f1e8b325b7bb71616d6afdee13816f7592f920d86a10de2e555d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/mk/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/mk/firefox-91.0.2.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha256 = "8040fd3637b5e25215e1e50cb74b6f25736f78d610cc862eef08b5a7e4905f2c";
+      sha256 = "c9f262672128a6a1e7b7e789426d827e8eba5743ed412af337b0eb9bdbe13556";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/mr/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/mr/firefox-91.0.2.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha256 = "49b9eddd2dff87a631ad143e66019d52574ea16b136956e4da473fcee4b810ef";
+      sha256 = "075d22d57c9bcd32e5d2e3487c07e1da0f49a0532b2aeff4563d3ac771de2b11";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/ms/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/ms/firefox-91.0.2.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "629d480a6cc207b558cc2aff169225ec636c3d5656b0d04d34b60f8235151bc2";
+      sha256 = "43d32b01e03f786afea4738b86a1df500840874b3226500b1fc3c6149c5824a2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/my/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/my/firefox-91.0.2.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha256 = "25b330fa564734cd9ead80a58a770a6453d64483cd448dc8ac93e70a2a06a04b";
+      sha256 = "ebc3ea9616a9389c1c7fc922062205ad5a4f5a12edf5b440f618d215b77d0148";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/nb-NO/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/nb-NO/firefox-91.0.2.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "4d2a0b7101197a603c136b7476e6887d6d9731bbb62e5176ad9876039cc7e166";
+      sha256 = "5c33d8f9f6975bec07e3b7fecd30fad3d4b61886d0e35831517f383c08c97401";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/ne-NP/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/ne-NP/firefox-91.0.2.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha256 = "74c9685da27d362a2729303ddf451f684be097d3ca74bf3596585a869921a881";
+      sha256 = "9aa9d913fc5913f4b45f208a5b81a4b5e370048861635ac67403035b6d91f78d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/nl/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/nl/firefox-91.0.2.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "a10dc5b62f058d71b3dbd8cb12083fc583528b1642d4f2bccce0f1a422147c7f";
+      sha256 = "79da9079bd4b3e4f4f6578a0435aca36f49b28ad50cf8e251f02ef2885265d87";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/nn-NO/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/nn-NO/firefox-91.0.2.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "479c022dbadf9b10b2c37577199c3f4df714501502bc894c63efde9358b59745";
+      sha256 = "7a4f34f09f995bd71191690af56c7fc78312114988322f24071f9ba496804e20";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/oc/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/oc/firefox-91.0.2.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha256 = "3b702fcd7972cc48151498783e8d0129766fa7adef311369acdba7902bd08f19";
+      sha256 = "c1e139347a48a19c6bded097e1b841e38005044904d6d5954e3b9a01ffeb8983";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/pa-IN/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/pa-IN/firefox-91.0.2.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "69727d81e5dd911bfa426f3f66385caed061e3b22825eeea270925e6d7997a03";
+      sha256 = "f8b22eb93e9f0c4882d5973ad1dde6e76d7a62139114c0a14e2aa1e12a89133b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/pl/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/pl/firefox-91.0.2.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "29d59a753381aed8fd4838cf6da0a43389b1dd408988ffd4e97ec3262c1ec75a";
+      sha256 = "b6f1b36c9ae6fe988dce91b5f1830a27e9f7317e4e97dfcd197b1991661543a4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/pt-BR/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/pt-BR/firefox-91.0.2.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "6ca5bf042fc2a94dd229303cec352ec797e8494ca58b12a337997b8289dff78a";
+      sha256 = "9ae38b8755dcb1fdaccc288e2ed558cf271a3389fcf26f99ea9acf79bb33b472";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/pt-PT/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/pt-PT/firefox-91.0.2.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "50e682cf9bff2b4202ee4c9e64d5efcca66acbcb74d4074ae5d571875cd0f509";
+      sha256 = "c6395580e5420f73ca0e29f3219e2cf9c83752f2cbc035fc80627770cb8a7f36";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/rm/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/rm/firefox-91.0.2.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "983c8fb011f348b6de1665b1347cdbda23fe130ea33c7c58a49cd417d0419cff";
+      sha256 = "acb62c5a011782273f8129f81e3b3692c86f2ccc54825e4886721a80e9210363";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/ro/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/ro/firefox-91.0.2.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "1f2ff5fe5d65f5f143e89e258a247291d10c25ee2270607250817187353bafa7";
+      sha256 = "95b4f0f29001c364ecca9df0fa3d2550400eace9730867325547880bd0eec72a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/ru/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/ru/firefox-91.0.2.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "3a2f872bcdd7736c1e528d306cb9409826c4958d1e8aea627ef0e2c26b7d8889";
+      sha256 = "f53c5d8a14b56cba20fe1aeb77074e2a0758c9592a780ba3ad630401791eba0f";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/sco/firefox-91.0.2.tar.bz2";
+      locale = "sco";
+      arch = "linux-i686";
+      sha256 = "a475a8321aaa81ba293ff9c0ca527b198810ded5f6cb3c2b54009abf89118018";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/si/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/si/firefox-91.0.2.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha256 = "cfb67ee121130d9ea92af43e33751c31f778f9ff6f9beca2dc609ef5340f09b9";
+      sha256 = "43c6acf3fab766bcf46507fe92ad7af808740996303336d56e296848372c3864";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/sk/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/sk/firefox-91.0.2.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "c045f5c48e3f3f9b20229e744b85920e47e3858f97262ab4d3a8fd61db80da40";
+      sha256 = "d0e01e60c6dff585a91247f186ddcef007761e44debac2034266a0d8518c3ed9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/sl/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/sl/firefox-91.0.2.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "ae3bf5e327c4f4fb7a36b8367539de466acf8f60f40e9deee3bd4928959f0111";
+      sha256 = "4881245b4d9185fb1997a5ce3563f18aef526f2e5d04c407b9c6257ae8ac6251";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/son/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/son/firefox-91.0.2.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha256 = "a7d7f7d1ffdc9126f04f8f96001bce26d21de0e0c65dd1fd00f6f85f75976ba8";
+      sha256 = "df87da0870a0ffaffb37be3f52df6894a22904d0f0d234714d8a8667e1cf0427";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/sq/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/sq/firefox-91.0.2.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "2982b315ab29ab375d77b1093c53a4a207f36a2d9a40b34aed3376ce96ce5dbe";
+      sha256 = "19ae236fb43e538621ef65399628d74baddf3dae4b4cb287d2c5cb1ec987fa9b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/sr/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/sr/firefox-91.0.2.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "0a2a702216adf7c98ddb19cebfea886b5d0582523ca64f2d7c8656ec663aaf6e";
+      sha256 = "23833e50ef5e8d22b1442f7c564aaa71a7b4c8fdd0907c3688938db8b850eee6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/sv-SE/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/sv-SE/firefox-91.0.2.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "dded767dd98cc3725044c988354842086768bf9a35eb316111df96368a95900e";
+      sha256 = "f1d21b5b94a95a9332892eec75da1bd2f0cc2a75c810e047369ac573c9d179e8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/szl/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/szl/firefox-91.0.2.tar.bz2";
       locale = "szl";
       arch = "linux-i686";
-      sha256 = "4ab8b5112cdfdc051a65b5cd562015bf85e11d5ccc0773111439cd469e175c33";
+      sha256 = "12d53befb5c5ed158e32cfd3b8a4ee0b1a839b9303ea6615c8dd9a92703f17b5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/ta/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/ta/firefox-91.0.2.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha256 = "0240cb3f5357a213f622f1c708e2116db4a4271f4b36135d6614bacdee88f00c";
+      sha256 = "33e905284d3f7f5002387dc769078e6cfc591484fc7377ddcbd3e90f3acd32f1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/te/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/te/firefox-91.0.2.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha256 = "83b5ed844b16f6b9108432a692bc0895d733de03701ab800bb330d06796176bd";
+      sha256 = "bf2cca68f09e2773a6755a54ad30905a7cba8cd873f8e27a835bbc3514d9471b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/th/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/th/firefox-91.0.2.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "faedac7df604ed9cd321a655d27ebf313c08b085c4eeecc310a94c3afd979b6f";
+      sha256 = "2adf3dfe859661dc8ce44a70f72c2f050baefb47b4b9fba50d752006aa4accb4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/tl/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/tl/firefox-91.0.2.tar.bz2";
       locale = "tl";
       arch = "linux-i686";
-      sha256 = "5abdce18c7b0e53f5efd00aa0381c6e90f669c51dcb4c021128a0e7a0a86223e";
+      sha256 = "065f7448133e1b07135be3f1c08550e7d8ae3392b491b20945a2c6c8b962163a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/tr/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/tr/firefox-91.0.2.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "92fd9bb4aef9b723b00cb84ffd253b81d5c86b2bfcefad93e948e443d871bd95";
+      sha256 = "52e01277d8c8681929fa9fe23a5c70243cfecc140056fcc6645b34a6f52e54c5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/trs/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/trs/firefox-91.0.2.tar.bz2";
       locale = "trs";
       arch = "linux-i686";
-      sha256 = "291c64e95d8accc64fd83738a9b7060122e713786cbb360acbd26b5ed0dc3793";
+      sha256 = "a19a59cd21872e40eb5eb51c7999dc8a585e074140053090f6c328d68747a159";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/uk/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/uk/firefox-91.0.2.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "163de4dd52684912f794c1f9c35b003f9cd38acf1be3bc68f42b2da9c1e13fce";
+      sha256 = "08ae68dff91152a44f79d54c65e6f40b396209755da22652740b02fa70b5f624";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/ur/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/ur/firefox-91.0.2.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha256 = "72ebffebcaf8848c5a9cfbc6c9e33cd1a7bfd62b7689f938065730249506a6eb";
+      sha256 = "4a6d9e0b452e553b9badf05c0f6f8e3603c5d9c4db016d8e07d3b1b1de136455";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/uz/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/uz/firefox-91.0.2.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "f9c56e6adfa9a0e7289e2a80f88869ebb1556843c940574cfcba4295aac464c0";
+      sha256 = "d733aec122abd6ec71a17cacaed75479da23f0300d167aa470c6f7982a469150";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/vi/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/vi/firefox-91.0.2.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "f15136e2e432ae999df5efda82d44c2c61cd680995436cda094bd2fd705e541b";
+      sha256 = "612c5c0e4fc556c33e37dc8ba5792c0880293d6881d95b2567d9b1932e1d151e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/xh/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/xh/firefox-91.0.2.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha256 = "360623cac6e11c9179f9c08f2f7f3eb844c3671b8f26a2680e097e1c84896b06";
+      sha256 = "df79b82dae25a4d36d92460be4a3e02eae683793258f2a53322391a7866b32d9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/zh-CN/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/zh-CN/firefox-91.0.2.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "f69c7f0fad2bbefbe477ed7ee5414dab2c9ab14e1009970eca07092357cfc7ba";
+      sha256 = "416e5869fbb13391ac7e78f0477fecc8a00527dbc3612bc35d3c8d4b9686bd48";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/90.0.1/linux-i686/zh-TW/firefox-90.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/91.0.2/linux-i686/zh-TW/firefox-91.0.2.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "612abc1a9b8b116753ee1417d774fc2ea2f2f931248c57ea93c32ee1c534f9c0";
+      sha256 = "5d2ce39f7347216e1358f002f94d6fb3a52707412403b0e6d757de92bf9d3f72";
     }
     ];
 }
diff --git a/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/update.nix b/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/update.nix
index a2fdb82ffec0..e5284c4097c9 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/update.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/update.nix
@@ -1,4 +1,4 @@
-{ name
+{ pname
 , channel
 , writeScript
 , xidel
@@ -17,7 +17,7 @@ let
   isBeta =
     channel != "release";
 
-in writeScript "update-${name}" ''
+in writeScript "update-${pname}" ''
   #!${runtimeShell}
   PATH=${coreutils}/bin:${gnused}/bin:${gnugrep}/bin:${xidel}/bin:${curl}/bin:${gnupg}/bin
   set -eux
diff --git a/nixpkgs/pkgs/applications/networking/browsers/firefox/common.nix b/nixpkgs/pkgs/applications/networking/browsers/firefox/common.nix
index 44c65ca44bce..b93283c80eb7 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/firefox/common.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/firefox/common.nix
@@ -1,4 +1,5 @@
-{ pname, ffversion, meta, updateScript ? null
+{ pname, version, meta, updateScript ? null
+, binaryName ? "firefox", application ? "browser"
 , src, unpackPhase ? null, patches ? []
 , extraNativeBuildInputs ? [], extraConfigureFlags ? [], extraMakeFlags ? [], tests ? [] }:
 
@@ -8,7 +9,7 @@
 , yasm, libGLU, libGL, sqlite, unzip, makeWrapper
 , hunspell, libevent, libstartup_notification
 , libvpx_1_8
-, icu67, libpng, jemalloc, glib, pciutils
+, icu69, libpng, jemalloc, glib, pciutils
 , autoconf213, which, gnused, rustPackages, rustPackages_1_45
 , rust-cbindgen, nodejs, nasm, fetchpatch
 , gnum4
@@ -81,17 +82,16 @@ let
   default-toolkit = if stdenv.isDarwin then "cairo-cocoa"
                     else "cairo-gtk3${lib.optionalString waylandSupport "-wayland"}";
 
-  binaryName = "firefox";
   binaryNameCapitalized = lib.toUpper (lib.substring 0 1 binaryName) + lib.substring 1 (-1) binaryName;
 
-  browserName = if stdenv.isDarwin then binaryNameCapitalized else binaryName;
+  applicationName = if stdenv.isDarwin then binaryNameCapitalized else binaryName;
 
   execdir = if stdenv.isDarwin
             then "/Applications/${binaryNameCapitalized}.app/Contents/MacOS"
             else "/bin";
 
   # 78 ESR won't build with rustc 1.47
-  inherit (if lib.versionAtLeast ffversion "82" then rustPackages else rustPackages_1_45)
+  inherit (if lib.versionAtLeast version "82" then rustPackages else rustPackages_1_45)
     rustc cargo;
 
   # Darwin's stdenv provides the default llvmPackages version, match that since
@@ -118,7 +118,7 @@ let
 
   # Disable p11-kit support in nss until our cacert packages has caught up exposing CKA_NSS_MOZILLA_CA_POLICY
   # https://github.com/NixOS/nixpkgs/issues/126065
-  nss_pkg = if lib.versionOlder ffversion "83" then nss_3_53 else nss.override { useP11kit = false; };
+  nss_pkg = if lib.versionOlder version "83" then nss_3_53 else nss.override { useP11kit = false; };
 
   # --enable-release adds -ffunction-sections & LTO that require a big amount of
   # RAM and the 32-bit memory space cannot handle that linking
@@ -129,26 +129,26 @@ let
 in
 
 buildStdenv.mkDerivation ({
-  name = "${pname}-unwrapped-${ffversion}";
-  version = ffversion;
+  name = "${pname}-unwrapped-${version}";
+  inherit version;
 
   inherit src unpackPhase meta;
 
   patches = [
   ] ++
-  lib.optional (lib.versionOlder ffversion "86") ./env_var_for_system_dir-ff85.patch ++
-  lib.optional (lib.versionAtLeast ffversion "86") ./env_var_for_system_dir-ff86.patch ++
-  lib.optional (lib.versionOlder ffversion "83") ./no-buildconfig-ffx76.patch ++
-  lib.optional (lib.versionAtLeast ffversion "90") ./no-buildconfig-ffx90.patch ++
-  lib.optional (ltoSupport && lib.versionOlder ffversion "84") ./lto-dependentlibs-generation-ffx83.patch ++
-  lib.optional (ltoSupport && lib.versionAtLeast ffversion "84" && lib.versionOlder ffversion "86")
+  lib.optional (lib.versionOlder version "86") ./env_var_for_system_dir-ff85.patch ++
+  lib.optional (lib.versionAtLeast version "86") ./env_var_for_system_dir-ff86.patch ++
+  lib.optional (lib.versionOlder version "83") ./no-buildconfig-ffx76.patch ++
+  lib.optional (lib.versionAtLeast version "90") ./no-buildconfig-ffx90.patch ++
+  lib.optional (ltoSupport && lib.versionOlder version "84") ./lto-dependentlibs-generation-ffx83.patch ++
+  lib.optional (ltoSupport && lib.versionAtLeast version "84" && lib.versionOlder version "86")
     (fetchpatch {
       url = "https://hg.mozilla.org/mozilla-central/raw-rev/fdff20c37be3";
       sha256 = "135n9brliqy42lj3nqgb9d9if7x6x9nvvn0z4anbyf89bikixw48";
     })
 
   # This patch adds pipewire support for the ESR release
-  ++ lib.optional (pipewireSupport && lib.versionOlder ffversion "83")
+  ++ lib.optional (pipewireSupport && lib.versionOlder version "83")
     (fetchpatch {
       # https://src.fedoraproject.org/rpms/firefox/blob/master/f/firefox-pipewire-0-3.patch
       url = "https://src.fedoraproject.org/rpms/firefox/raw/e99b683a352cf5b2c9ff198756859bae408b5d9d/f/firefox-pipewire-0-3.patch";
@@ -173,7 +173,7 @@ buildStdenv.mkDerivation ({
     xorg.libXext
     libevent libstartup_notification /* cairo */
     libpng jemalloc glib
-    nasm icu67 libvpx_1_8
+    nasm icu69 libvpx_1_8
     # >= 66 requires nasm for the AV1 lib dav1d
     # yasm can potentially be removed in future versions
     # https://bugzilla.mozilla.org/show_bug.cgi?id=1501796
@@ -185,11 +185,11 @@ buildStdenv.mkDerivation ({
   ++ lib.optional  gssSupport libkrb5
   ++ lib.optionals waylandSupport [ libxkbcommon libdrm ]
   ++ lib.optional  pipewireSupport pipewire
-  ++ lib.optional  (lib.versionAtLeast ffversion "82") gnum4
+  ++ lib.optional  (lib.versionAtLeast version "82") gnum4
   ++ lib.optionals buildStdenv.isDarwin [ CoreMedia ExceptionHandling Kerberos
                                           AVFoundation MediaToolbox CoreLocation
                                           Foundation libobjc AddressBook cups ]
-  ++ lib.optional  (lib.versionOlder ffversion "90") gtk2;
+  ++ lib.optional  (lib.versionOlder version "90") gtk2;
 
   NIX_LDFLAGS = lib.optionalString ltoSupport ''
     -rpath ${llvmPackages.libunwind.out}/lib
@@ -201,14 +201,14 @@ buildStdenv.mkDerivation ({
     rm -rf obj-x86_64-pc-linux-gnu
     substituteInPlace toolkit/xre/glxtest.cpp \
       --replace 'dlopen("libpci.so' 'dlopen("${pciutils}/lib/libpci.so'
-  '' + lib.optionalString (pipewireSupport && lib.versionOlder ffversion "83") ''
+  '' + lib.optionalString (pipewireSupport && lib.versionOlder version "83") ''
     # substitute the /usr/include/ lines for the libraries that pipewire provides.
     # The patch we pick from fedora only contains the generated moz.build files
     # which hardcode the dependency paths instead of running pkg_config.
     substituteInPlace \
       media/webrtc/trunk/webrtc/modules/desktop_capture/desktop_capture_generic_gn/moz.build \
       --replace /usr/include ${pipewire.dev}/include
-  '' + lib.optionalString (lib.versionAtLeast ffversion "80" && lib.versionOlder ffversion "81") ''
+  '' + lib.optionalString (lib.versionAtLeast version "80" && lib.versionOlder version "81") ''
     substituteInPlace dom/system/IOUtils.h \
       --replace '#include "nspr/prio.h"'          '#include "prio.h"'
 
@@ -273,10 +273,13 @@ buildStdenv.mkDerivation ({
   '') + ''
     # AS=as in the environment causes build failure https://bugzilla.mozilla.org/show_bug.cgi?id=1497286
     unset AS
-  '';
+  '' + (lib.optionalString enableOfficialBranding ''
+    export MOZILLA_OFFICIAL=1
+    export BUILD_OFFICIAL=1
+  '');
 
   configureFlags = [
-    "--enable-application=browser"
+    "--enable-application=${application}"
     "--with-system-jpeg"
     "--with-system-zlib"
     "--with-system-libevent"
@@ -325,11 +328,7 @@ buildStdenv.mkDerivation ({
     cd obj-*
   '';
 
-  makeFlags = lib.optionals enableOfficialBranding [
-    "MOZILLA_OFFICIAL=1"
-    "BUILD_OFFICIAL=1"
-  ]
-  ++ lib.optionals ltoSupport [
+  makeFlags = lib.optionals ltoSupport [
     "AR=${buildStdenv.cc.bintools.bintools}/bin/llvm-ar"
     "LLVM_OBJDUMP=${buildStdenv.cc.bintools.bintools}/bin/llvm-objdump"
     "NM=${buildStdenv.cc.bintools.bintools}/bin/llvm-nm"
@@ -357,19 +356,19 @@ buildStdenv.mkDerivation ({
   doInstallCheck = true;
   installCheckPhase = ''
     # Some basic testing
-    "$out${execdir}/${browserName}" --version
+    "$out${execdir}/${applicationName}" --version
   '';
 
   passthru = {
     inherit updateScript;
-    version = ffversion;
+    inherit version;
     inherit alsaSupport;
     inherit pipewireSupport;
     inherit nspr;
     inherit ffmpegSupport;
     inherit gssSupport;
     inherit execdir;
-    inherit browserName;
+    inherit applicationName;
     inherit tests;
     inherit gtk3;
   };
diff --git a/nixpkgs/pkgs/applications/networking/browsers/firefox/packages.nix b/nixpkgs/pkgs/applications/networking/browsers/firefox/packages.nix
index 09bf0cd7d1e9..b0bea8269c1a 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/firefox/packages.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/firefox/packages.nix
@@ -3,10 +3,10 @@
 rec {
   firefox = firefoxCommon rec {
     pname = "firefox";
-    ffversion = "90.0.1";
+    version = "91.0.2";
     src = fetchurl {
-      url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
-      sha512 = "9f87c3f3dad33e42a7a9d2161d7f23ff2e7184b2274f9081511c7982957ae9954784bd844a2348ff4744231415aac195d1f12971392db90be0375b4738acb590";
+      url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
+      sha512 = "82084799524db6661d97d9942a01ca9edec2fae6b503c9dd2d79fca78bfef4ee0a888e5f5cf4cfa2b91d9c9392658bb8218bae2b9bec0fbcacfe73a174a4dbe7";
     };
 
     meta = {
@@ -17,21 +17,46 @@ rec {
       badPlatforms = lib.platforms.darwin;
       broken = stdenv.buildPlatform.is32bit; # since Firefox 60, build on 32-bit platforms fails with "out of memory".
                                              # not in `badPlatforms` because cross-compilation on 64-bit machine might work.
+      maxSilent = 14400; # 4h, double the default of 7200s (c.f. #129212, #129115)
       license = lib.licenses.mpl20;
     };
     tests = [ nixosTests.firefox ];
     updateScript = callPackage ./update.nix {
       attrPath = "firefox-unwrapped";
-      versionKey = "ffversion";
+    };
+  };
+
+  firefox-esr-91 = common rec {
+    pname = "firefox-esr";
+    version = "91.0.1esr";
+    src = fetchurl {
+      url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
+      sha512 = "79703b3ec615d10957350719b2c034df10fd47d140c3557cd7de665ef4430973b97c1906d5408ddaf8855c1424e87eb9b1b568322ad8fbdb956fca219a865d66";
+    };
+
+    meta = {
+      description = "A web browser built from Firefox Extended Support Release source tree";
+      homepage = "http://www.mozilla.com/en-US/firefox/";
+      maintainers = with lib.maintainers; [ hexa ];
+      platforms = lib.platforms.unix;
+      badPlatforms = lib.platforms.darwin;
+      broken = stdenv.buildPlatform.is32bit; # since Firefox 60, build on 32-bit platforms fails with "out of memory".
+                                             # not in `badPlatforms` because cross-compilation on 64-bit machine might work.
+      license = lib.licenses.mpl20;
+    };
+    tests = [ nixosTests.firefox-esr-91 ];
+    updateScript = callPackage ./update.nix {
+      attrPath = "firefox-esr-91-unwrapped";
+      versionSuffix = "esr";
     };
   };
 
   firefox-esr-78 = firefoxCommon rec {
     pname = "firefox-esr";
-    ffversion = "78.12.0esr";
+    version = "78.13.0esr";
     src = fetchurl {
-      url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
-      sha512 = "646eb803e0d0e541773e3111708c7eaa85e784e4bae6e4a77dcecdc617ee29e2e349c9ef16ae7e663311734dd7491aebd904359124dda62672dbc18bfb608f0a";
+      url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
+      sha512 = "78a5dc8713ab879ebfc3b8fd7a8219844d06f0d897342fdf9a11471633d98e148ff85cf10e561899df4910b94a33b57709b64788df4621a8c0b83eb9a7102cef";
     };
 
     meta = {
@@ -44,11 +69,10 @@ rec {
                                              # not in `badPlatforms` because cross-compilation on 64-bit machine might work.
       license = lib.licenses.mpl20;
     };
-    tests = [ nixosTests.firefox-esr ];
+    tests = [ nixosTests.firefox-esr-78 ];
     updateScript = callPackage ./update.nix {
       attrPath = "firefox-esr-78-unwrapped";
       versionSuffix = "esr";
-      versionKey = "ffversion";
     };
   };
 
diff --git a/nixpkgs/pkgs/applications/networking/browsers/firefox/wrapper.nix b/nixpkgs/pkgs/applications/networking/browsers/firefox/wrapper.nix
index 202821b0978b..aa6f7da503fb 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/firefox/wrapper.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/firefox/wrapper.nix
@@ -2,7 +2,7 @@
 , replace, fetchurl, zip, unzip, jq, xdg-utils, writeText
 
 ## various stuff that can be plugged in
-, ffmpeg, xorg, alsa-lib, libpulseaudio, libcanberra-gtk3, libglvnd, libnotify
+, ffmpeg, xorg, alsa-lib, libpulseaudio, libcanberra-gtk3, libglvnd, libnotify, opensc
 , gnome/*.gnome-shell*/
 , browserpass, chrome-gnome-shell, uget-integrator, plasma5Packages, bukubrow, pipewire
 , tridactyl-native
@@ -20,18 +20,18 @@ browser:
 
 let
   wrapper =
-    { browserName ? browser.browserName or (lib.getName browser)
-    , pname ? browserName
+    { applicationName ? browser.applicationName or (lib.getName browser)
+    , pname ? applicationName
     , version ? lib.getVersion browser
-    , desktopName ? # browserName with first letter capitalized
-      (lib.toUpper (lib.substring 0 1 browserName) + lib.substring 1 (-1) browserName)
+    , desktopName ? # applicationName with first letter capitalized
+      (lib.toUpper (lib.substring 0 1 applicationName) + lib.substring 1 (-1) applicationName)
     , nameSuffix ? ""
-    , icon ? browserName
+    , icon ? applicationName
     , extraNativeMessagingHosts ? []
     , pkcs11Modules ? []
     , forceWayland ? false
     , useGlvnd ? true
-    , cfg ? config.${browserName} or {}
+    , cfg ? config.${applicationName} or {}
 
     ## Following options are needed for extra prefs & policies
     # For more information about anti tracking (german website)
@@ -40,7 +40,7 @@ let
     # For more information about policies visit
     # https://github.com/mozilla/policy-templates#enterprisepoliciesenabled
     , extraPolicies ? {}
-    , firefoxLibName ? "firefox" # Important for tor package or the like
+    , libName ? "firefox" # Important for tor package or the like
     , nixExtensions ? null
     }:
 
@@ -49,6 +49,8 @@ let
       gssSupport = browser.gssSupport or false;
       alsaSupport = browser.alsaSupport or false;
       pipewireSupport = browser.pipewireSupport or false;
+      # PCSC-Lite daemon (services.pcscd) also must be enabled for firefox to access smartcards
+      smartcardSupport = cfg.smartcardSupport or false;
 
       nativeMessagingHosts =
         ([ ]
@@ -70,6 +72,7 @@ let
             (with xorg; [ stdenv.cc libX11 libXxf86dga libXxf86vm libXext libXt alsa-lib zlib ])
             ++ lib.optional (config.pulseaudio or true) libpulseaudio
             ++ lib.optional alsaSupport alsa-lib
+            ++ lib.optional smartcardSupport opensc
             ++ pkcs11Modules;
       gtk_modules = [ libcanberra-gtk3 ];
 
@@ -88,6 +91,8 @@ let
       # and an extid attribute
       extensions = if nameArray != (lib.unique nameArray) then
         throw "Firefox addon name needs to be unique"
+      else if ! (lib.hasSuffix "esr" browser.name) then
+        throw "Nix addons are only supported in Firefox ESR"
       else builtins.map (a:
         if ! (builtins.hasAttr "extid" a) then
         throw "nixExtensions has an invalid entry. Missing extid attribute. Please use fetchfirefoxaddon"
@@ -120,6 +125,10 @@ let
                 ret ++ [ "${e.outPath}/${e.extid}.xpi" ]
                 ) [] extensions;
             };
+          } // lib.optionalAttrs smartcardSupport {
+            SecurityDevices = {
+              "OpenSC PKCS#11 Module" = "onepin-opensc-pkcs11.so";
+            };
           }
         // extraPolicies;
       };
@@ -155,15 +164,15 @@ let
         "jre"
       ];
       pluginsError =
-        "Your configuration mentions ${lib.concatMapStringsSep ", " (p: browserName + "." + p) configPlugins}. All plugin related options have been removed, since Firefox from version 52 onwards no longer supports npapi plugins (see https://support.mozilla.org/en-US/kb/npapi-plugins).";
+        "Your configuration mentions ${lib.concatMapStringsSep ", " (p: applicationName + "." + p) configPlugins}. All plugin related options have been removed, since Firefox from version 52 onwards no longer supports npapi plugins (see https://support.mozilla.org/en-US/kb/npapi-plugins).";
 
     in if configPlugins != [] then throw pluginsError else
       (stdenv.mkDerivation {
       inherit pname version;
 
       desktopItem = makeDesktopItem {
-        name = browserName;
-        exec = "${browserName}${nameSuffix} %U";
+        name = applicationName;
+        exec = "${applicationName}${nameSuffix} %U";
         inherit icon;
         comment = "";
         desktopName = "${desktopName}${nameSuffix}${lib.optionalString forceWayland " (Wayland)"}";
@@ -186,12 +195,12 @@ let
 
       buildCommand = lib.optionalString stdenv.isDarwin ''
         mkdir -p $out/Applications
-        cp -R --no-preserve=mode,ownership ${browser}/Applications/${browserName}.app $out/Applications
-        rm -f $out${browser.execdir or "/bin"}/${browserName}
+        cp -R --no-preserve=mode,ownership ${browser}/Applications/${applicationName}.app $out/Applications
+        rm -f $out${browser.execdir or "/bin"}/${applicationName}
       '' + ''
-        if [ ! -x "${browser}${browser.execdir or "/bin"}/${browserName}" ]
+        if [ ! -x "${browser}${browser.execdir or "/bin"}/${applicationName}" ]
         then
-            echo "cannot find executable file \`${browser}${browser.execdir or "/bin"}/${browserName}'"
+            echo "cannot find executable file \`${browser}${browser.execdir or "/bin"}/${applicationName}'"
             exit 1
         fi
 
@@ -206,9 +215,9 @@ let
         cd "${browser}"
         find . -type d -exec mkdir -p "$out"/{} \;
 
-        find . -type f \( -not -name "${browserName}" \) -exec ln -sT "${browser}"/{} "$out"/{} \;
+        find . -type f \( -not -name "${applicationName}" \) -exec ln -sT "${browser}"/{} "$out"/{} \;
 
-        find . -type f -name "${browserName}" -print0 | while read -d $'\0' f; do
+        find . -type f -name "${applicationName}" -print0 | while read -d $'\0' f; do
           cp -P --no-preserve=mode,ownership "${browser}/$f" "$out/$f"
           chmod a+rwx "$out/$f"
         done
@@ -229,11 +238,11 @@ let
         # create the wrapper
 
         executablePrefix="$out${browser.execdir or "/bin"}"
-        executablePath="$executablePrefix/${browserName}"
+        executablePath="$executablePrefix/${applicationName}"
 
         if [ ! -x "$executablePath" ]
         then
-            echo "cannot find executable file \`${browser}${browser.execdir or "/bin"}/${browserName}'"
+            echo "cannot find executable file \`${browser}${browser.execdir or "/bin"}/${applicationName}'"
             exit 1
         fi
 
@@ -242,25 +251,25 @@ let
           # Careful here, the file at executablePath may already be
           # a wrapper. That is why we postfix it with -old instead
           # of -wrapped.
-          oldExe="$executablePrefix"/".${browserName}"-old
+          oldExe="$executablePrefix"/".${applicationName}"-old
           mv "$executablePath" "$oldExe"
         else
           oldExe="$(readlink -v --canonicalize-existing "$executablePath")"
         fi
 
-        if [ ! -x "${browser}${browser.execdir or "/bin"}/${browserName}" ]
+        if [ ! -x "${browser}${browser.execdir or "/bin"}/${applicationName}" ]
         then
-            echo "cannot find executable file \`${browser}${browser.execdir or "/bin"}/${browserName}'"
+            echo "cannot find executable file \`${browser}${browser.execdir or "/bin"}/${applicationName}'"
             exit 1
         fi
 
         makeWrapper "$oldExe" \
-          "$out${browser.execdir or "/bin"}/${browserName}${nameSuffix}" \
+          "$out${browser.execdir or "/bin"}/${applicationName}${nameSuffix}" \
             --prefix LD_LIBRARY_PATH ':' "$libs" \
             --suffix-each GTK_PATH ':' "$gtk_modules" \
             --prefix PATH ':' "${xdg-utils}/bin" \
             --suffix PATH ':' "$out${browser.execdir or "/bin"}" \
-            --set MOZ_APP_LAUNCHER "${browserName}${nameSuffix}" \
+            --set MOZ_APP_LAUNCHER "${applicationName}${nameSuffix}" \
             --set MOZ_SYSTEM_DIR "$out/lib/mozilla" \
             --set MOZ_LEGACY_PROFILES 1 \
             --set MOZ_ALLOW_DOWNGRADE 1 \
@@ -283,7 +292,7 @@ let
             mkdir -p "$out/share/icons/hicolor/''${res}x''${res}/apps"
             icon=( "${browser}/lib/"*"/browser/chrome/icons/default/default''${res}.png" )
               if [ -e "$icon" ]; then ln -s "$icon" \
-                "$out/share/icons/hicolor/''${res}x''${res}/apps/${browserName}.png"
+                "$out/share/icons/hicolor/''${res}x''${res}/apps/${applicationName}.png"
               fi
             done
         fi
@@ -307,24 +316,24 @@ let
         #                       #
         #########################
         # user customization
-        mkdir -p $out/lib/${firefoxLibName}
+        mkdir -p $out/lib/${libName}
 
         # creating policies.json
-        mkdir -p "$out/lib/${firefoxLibName}/distribution"
+        mkdir -p "$out/lib/${libName}/distribution"
 
-        POL_PATH="$out/lib/${firefoxLibName}/distribution/policies.json"
+        POL_PATH="$out/lib/${libName}/distribution/policies.json"
         rm -f "$POL_PATH"
         cat ${policiesJson} >> "$POL_PATH"
 
         # preparing for autoconfig
-        mkdir -p "$out/lib/${firefoxLibName}/defaults/pref"
+        mkdir -p "$out/lib/${libName}/defaults/pref"
 
-        echo 'pref("general.config.filename", "mozilla.cfg");' > "$out/lib/${firefoxLibName}/defaults/pref/autoconfig.js"
-        echo 'pref("general.config.obscure_value", 0);' >> "$out/lib/${firefoxLibName}/defaults/pref/autoconfig.js"
+        echo 'pref("general.config.filename", "mozilla.cfg");' > "$out/lib/${libName}/defaults/pref/autoconfig.js"
+        echo 'pref("general.config.obscure_value", 0);' >> "$out/lib/${libName}/defaults/pref/autoconfig.js"
 
-        cat > "$out/lib/${firefoxLibName}/mozilla.cfg" < ${mozillaCfg}
+        cat > "$out/lib/${libName}/mozilla.cfg" < ${mozillaCfg}
 
-        mkdir -p $out/lib/${firefoxLibName}/distribution/extensions
+        mkdir -p $out/lib/${libName}/distribution/extensions
 
         #############################
         #                           #
diff --git a/nixpkgs/pkgs/applications/networking/browsers/google-chrome/default.nix b/nixpkgs/pkgs/applications/networking/browsers/google-chrome/default.nix
index ec03a77d2680..34cc5bb9160a 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/google-chrome/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/google-chrome/default.nix
@@ -18,7 +18,7 @@
 , systemd
 
 # Loaded at runtime.
-, libexif
+, libexif, pciutils
 
 # Additional dependencies according to other distros.
 ## Ubuntu
@@ -62,7 +62,7 @@ let
     alsa-lib libXdamage libXtst libXrandr libxshmfence expat cups
     dbus gdk-pixbuf gcc-unwrapped.lib
     systemd
-    libexif
+    libexif pciutils
     liberation_ttf curl util-linux xdg-utils wget
     flac harfbuzz icu libpng opusWithCustomModes snappy speechd
     bzip2 libcap at-spi2-atk at-spi2-core
@@ -75,6 +75,10 @@ let
 
   suffix = if channel != "stable" then "-" + channel else "";
 
+  crashpadHandlerBinary = if lib.versionAtLeast version "94"
+    then "chrome_crashpad_handler"
+    else "crashpad_handler";
+
 in stdenv.mkDerivation {
   inherit version;
 
@@ -146,7 +150,7 @@ in stdenv.mkDerivation {
       --prefix XDG_DATA_DIRS   : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
       --add-flags ${escapeShellArg commandLineArgs}
 
-    for elf in $out/share/google/$appname/{chrome,chrome-sandbox,crashpad_handler,nacl_helper}; do
+    for elf in $out/share/google/$appname/{chrome,chrome-sandbox,${crashpadHandlerBinary},nacl_helper}; do
       patchelf --set-rpath $rpath $elf
       patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $elf
     done
diff --git a/nixpkgs/pkgs/applications/networking/browsers/icecat-bin/default.nix b/nixpkgs/pkgs/applications/networking/browsers/icecat-bin/default.nix
index 6f5da5b92a64..2427570a59d0 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/icecat-bin/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/icecat-bin/default.nix
@@ -4,6 +4,7 @@
 , autoPatchelfHook
 , wrapGAppsHook
 , gnome2
+, gtk2
 , nss
 , xdg-utils
 , xorg
@@ -77,7 +78,7 @@ stdenv.mkDerivation rec {
     gdk-pixbuf
     glib
     gnome2.GConf
-    gnome2.gtk
+    gtk2
     gtk3
     libX11
     libXScrnSaver
diff --git a/nixpkgs/pkgs/applications/networking/browsers/lagrange/default.nix b/nixpkgs/pkgs/applications/networking/browsers/lagrange/default.nix
index f15cf6c81b46..9f3a27e22b5a 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/lagrange/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/lagrange/default.nix
@@ -4,6 +4,8 @@
 , nix-update-script
 , cmake
 , pkg-config
+, fribidi
+, harfbuzz
 , libunistring
 , mpg123
 , openssl
@@ -15,27 +17,36 @@
 
 stdenv.mkDerivation rec {
   pname = "lagrange";
-  version = "1.5.2";
+  version = "1.6.2";
 
   src = fetchFromGitHub {
     owner = "skyjake";
     repo = "lagrange";
     rev = "v${version}";
-    sha256 = "sha256-NjiTjY2YuxUs/Wny7aDqHGw/2ML1fenjHrl089rLXFI=";
+    sha256 = "sha256-YTWVBQt0X12UDFJv/rPBqlIBC4iXSvpdYi/HIl+BPxc=";
     fetchSubmodules = true;
   };
 
+  postPatch = ''
+    rm -r lib/fribidi lib/harfbuzz
+  '';
+
   nativeBuildInputs = [ cmake pkg-config ];
 
-  buildInputs = [ libunistring mpg123 openssl pcre SDL2 zlib ]
+  buildInputs = [ fribidi harfbuzz libunistring mpg123 openssl pcre SDL2 zlib ]
     ++ lib.optional stdenv.isDarwin AppKit;
 
   hardeningDisable = lib.optional (!stdenv.cc.isClang) "format";
 
-  installPhase = if stdenv.isDarwin then ''
+  cmakeFlags = [
+    "-DENABLE_HARFBUZZ_MINIMAL:BOOL=OFF"
+    "-DENABLE_FRIBIDI_BUILD:BOOL=OFF"
+  ];
+
+  installPhase = lib.optionalString stdenv.isDarwin ''
     mkdir -p $out/Applications
     mv Lagrange.app $out/Applications
-  '' else null;
+  '';
 
   passthru = {
     updateScript = nix-update-script {
diff --git a/nixpkgs/pkgs/applications/networking/browsers/lynx/default.nix b/nixpkgs/pkgs/applications/networking/browsers/lynx/default.nix
index 713f934f7789..e2d6854295a5 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/lynx/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/lynx/default.nix
@@ -1,11 +1,16 @@
-{ lib, stdenv, buildPackages
-, fetchurl, pkg-config, ncurses, gzip
-, sslSupport ? true, openssl ? null
+{ lib
+, stdenv
+, buildPackages
+, fetchurl
+, pkg-config
+, ncurses
+, gzip
+, sslSupport ? true
+, openssl
 , nukeReferences
+, fetchpatch
 }:
 
-assert sslSupport -> openssl != null;
-
 stdenv.mkDerivation rec {
   pname = "lynx";
   version = "2.8.9rel.1";
@@ -22,6 +27,14 @@ stdenv.mkDerivation rec {
 
   hardeningEnable = [ "pie" ];
 
+  patches = [
+    (fetchpatch {
+      name = "CVE-2021-38165.patch";
+      url = "https://git.alpinelinux.org/aports/plain/main/lynx/CVE-2021-38165.patch?id=3400945dbbb8a87065360963e4caa0e17d3dcc61";
+      sha256 = "1aykb9y2g2vdpbbpvjlm4r40x7py2yv6jbywwcqcxrlciqcw4x57";
+    })
+  ];
+
   configureFlags = [
     "--enable-default-colors"
     "--enable-widec"
@@ -32,7 +45,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ nukeReferences ]
     ++ lib.optional sslSupport pkg-config;
 
-  buildInputs = [ ncurses gzip ] ++ lib.optional sslSupport openssl.dev;
+  buildInputs = [ ncurses gzip ]
+    ++ lib.optional sslSupport openssl;
 
   # cfg_defs.h captures lots of references to build-only dependencies, derived
   # from config.cache.
@@ -44,6 +58,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "A text-mode web browser";
     homepage = "https://lynx.invisible-island.net/";
+    maintainers = with maintainers; [ ];
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
   };
diff --git a/nixpkgs/pkgs/applications/networking/browsers/palemoon/default.nix b/nixpkgs/pkgs/applications/networking/browsers/palemoon/default.nix
index 2cd3ee11d277..15da60ad3f82 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/palemoon/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/palemoon/default.nix
@@ -52,14 +52,14 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "palemoon";
-  version = "29.3.0";
+  version = "29.4.0.2";
 
   src = fetchFromGitHub {
     githubBase = "repo.palemoon.org";
     owner = "MoonchildProductions";
     repo = "Pale-Moon";
     rev = "${version}_Release";
-    sha256 = "1q0w1ffmdfk22df4p2ks4n55zmz44ir8fbcdn5a5h4ihy73nf6xp";
+    sha256 = "086f517xkk4smx57klyyvx4m3g6r5f1667w990zhpapbh997hfri";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/applications/networking/browsers/qtchan/default.nix b/nixpkgs/pkgs/applications/networking/browsers/qtchan/default.nix
index 9a4d61a50aee..9786fad2fdc6 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/qtchan/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/qtchan/default.nix
@@ -11,7 +11,6 @@ mkDerivation rec {
     sha256 = "1x11m1kwqindzc0dkpfifcglsb362impaxs85kgzx50p898sz9ll";
   };
 
-  enableParallelBuilding = true;
   nativeBuildInputs = [ qmake ];
   buildInputs = [ qtbase ];
   qmakeFlags = [ "CONFIG-=app_bundle" ];
diff --git a/nixpkgs/pkgs/applications/networking/browsers/qutebrowser/default.nix b/nixpkgs/pkgs/applications/networking/browsers/qutebrowser/default.nix
index 9e8dec561791..d245e7035a46 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/qutebrowser/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/qutebrowser/default.nix
@@ -31,12 +31,12 @@ let
 
 in mkDerivationWith python3Packages.buildPythonApplication rec {
   pname = "qutebrowser";
-  version = "2.3.0";
+  version = "2.3.1";
 
   # 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 = "09fz6rd0laisq7pqf9nrllcx58yb129fc05kdk45zrwwggq03b8h";
+    sha256 = "05n64mw9lzzxpxr7lhakbkm9ir3x8p0rwk6vbbg01aqg5iaanyj0";
   };
 
   # Needs tox
diff --git a/nixpkgs/pkgs/applications/networking/browsers/telescope/default.nix b/nixpkgs/pkgs/applications/networking/browsers/telescope/default.nix
index fa9b3853a9d1..a6762e255f43 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/telescope/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/telescope/default.nix
@@ -10,11 +10,11 @@
 
 stdenv.mkDerivation rec {
   pname = "telescope";
-  version = "0.3.1";
+  version = "0.4.1";
 
   src = fetchurl {
     url = "https://github.com/omar-polo/telescope/releases/download/${version}/telescope-${version}.tar.gz";
-    sha256 = "11xrsh064ph1idhygh52y4mqapgwn1cqr0l3naj5n2a2p7lcsvvw";
+    sha256 = "086zps4nslv5isfw1b5gvms7vp3fglm7x1a6ks0h0wxarzj350bl";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix b/nixpkgs/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
index ca57c27ba50d..ac063cb1a644 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
@@ -88,19 +88,19 @@ let
   fteLibPath = makeLibraryPath [ stdenv.cc.cc gmp ];
 
   # Upstream source
-  version = "10.5.2";
+  version = "10.5.5";
 
   lang = "en-US";
 
   srcs = {
     x86_64-linux = fetchurl {
       url = "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz";
-      sha256 = "16zk7d0sxm2j00vb002mjj38wxcxxlahnfdb9lmkmkfms9p9xfkb";
+      sha256 = "0847lib2z21fgb7x5szwvprc77fhdpmp4z5d6n1sk6d40dd34spn";
     };
 
     i686-linux = fetchurl {
       url = "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz";
-      sha256 = "0xc3ac2y9xf7ff3pqrp5n6l9j8i5hk3y2y3zwykwhnycnfi6dfv4";
+      sha256 = "0i26fb0r234nrwnvb2c9vk9yn869qghq0n4qlm1d7mr62dy6prxa";
     };
   };
 in
diff --git a/nixpkgs/pkgs/applications/networking/browsers/vieb/yarn.nix b/nixpkgs/pkgs/applications/networking/browsers/vieb/yarn.nix
index a92d6defef9f..6f045bd27e63 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/vieb/yarn.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/vieb/yarn.nix
@@ -1,4 +1,4 @@
-{ fetchurl, fetchgit, linkFarm, runCommandNoCC, gnutar }: rec {
+{ fetchurl, fetchgit, linkFarm, runCommand, gnutar }: rec {
   offline_cache = linkFarm "offline" packages;
   packages = [
     {
diff --git a/nixpkgs/pkgs/applications/networking/browsers/vivaldi/default.nix b/nixpkgs/pkgs/applications/networking/browsers/vivaldi/default.nix
index ad58a048c3e9..6477f4fbe06e 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/vivaldi/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/vivaldi/default.nix
@@ -18,11 +18,11 @@ let
   vivaldiName = if isSnapshot then "vivaldi-snapshot" else "vivaldi";
 in stdenv.mkDerivation rec {
   pname = "vivaldi";
-  version = "4.0.2312.38-1";
+  version = "4.1.2369.21-1";
 
   src = fetchurl {
     url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}_amd64.deb";
-    sha256 = "1sdg22snphjsrmxi3fvy41dnjsxpajbhni9bpidk8msa9xgxvzpx";
+    sha256 = "03062mik6paqp219jz420jsg762jjrfxmj1daq129z2zgzq0qr8l";
   };
 
   unpackPhase = ''
@@ -49,10 +49,12 @@ in stdenv.mkDerivation rec {
   buildPhase = ''
     runHook preBuild
     echo "Patching Vivaldi binaries"
-    patchelf \
-      --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-      --set-rpath "${libPath}" \
-      opt/${vivaldiName}/vivaldi-bin
+    for f in crashpad_handler vivaldi-bin vivaldi-sandbox ; do
+      patchelf \
+        --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+        --set-rpath "${libPath}" \
+        opt/${vivaldiName}/$f
+    done
   '' + lib.optionalString proprietaryCodecs ''
     ln -s ${vivaldi-ffmpeg-codecs}/lib/libffmpeg.so opt/${vivaldiName}/libffmpeg.so.''${version%\.*\.*}
   '' + ''
diff --git a/nixpkgs/pkgs/applications/networking/browsers/vivaldi/widevine.nix b/nixpkgs/pkgs/applications/networking/browsers/vivaldi/widevine.nix
index 81c95418e691..3b0dbe8e9367 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/vivaldi/widevine.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/vivaldi/widevine.nix
@@ -3,7 +3,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "widevine";
+  pname = "widevine";
   version = "4.10.1582.1";
 
   src = fetchurl {
diff --git a/nixpkgs/pkgs/applications/networking/browsers/yandex-browser/default.nix b/nixpkgs/pkgs/applications/networking/browsers/yandex-browser/default.nix
index 5c62dbb7e203..7fa9fb5237a9 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/yandex-browser/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/yandex-browser/default.nix
@@ -50,11 +50,11 @@
 
 stdenv.mkDerivation rec {
   pname = "yandex-browser";
-  version = "21.5.3.753-1";
+  version = "21.6.2.817-1";
 
   src = fetchurl {
     url = "http://repo.yandex.ru/yandex-browser/deb/pool/main/y/${pname}-beta/${pname}-beta_${version}_amd64.deb";
-    sha256 = "sha256-sI2p/fCaruUJ3qPMyy+12Bh5I1SH8m7sYX5yDex2rwg=";
+    sha256 = "sha256-xeZkQzVPPNABxa3/YBLoZl1obbFdzxdqIgLyoA4PN8U=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/networking/calls/default.nix b/nixpkgs/pkgs/applications/networking/calls/default.nix
index 52e1bc50601a..68ab73da01e3 100644
--- a/nixpkgs/pkgs/applications/networking/calls/default.nix
+++ b/nixpkgs/pkgs/applications/networking/calls/default.nix
@@ -94,6 +94,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A phone dialer and call handler";
+    longDescription = "GNOME Calls is a phone dialer and call handler. Setting NixOS option `programs.calls.enable = true` is recommended.";
     homepage = "https://source.puri.sm/Librem5/calls";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ craigem lheckemann ];
diff --git a/nixpkgs/pkgs/applications/networking/cloudflared/default.nix b/nixpkgs/pkgs/applications/networking/cloudflared/default.nix
index 374062f0d80b..ffdd8b7ed040 100644
--- a/nixpkgs/pkgs/applications/networking/cloudflared/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cloudflared/default.nix
@@ -2,20 +2,20 @@
 
 buildGoModule rec {
   pname = "cloudflared";
-  version = "2021.7.0";
+  version = "2021.8.6";
 
   src = fetchFromGitHub {
     owner  = "cloudflare";
     repo   = "cloudflared";
     rev    = version;
-    sha256 = "sha256-FQejuKBDUCCcEq9ZmSMigdvqowTurCYEhOiXQN7exIE=";
+    sha256 = "sha256-dMZu4IRdchPeoYylz1XDZeJsAW+V8HZApNndpeu+RbA=";
   };
 
   vendorSha256 = null;
 
   doCheck = false;
 
-  buildFlagsArray = "-ldflags=-X main.Version=${version}";
+  ldflags = [ "-X main.Version=${version}" ];
 
   meta = with lib; {
     description = "CloudFlare Argo Tunnel daemon (and DNS-over-HTTPS client)";
diff --git a/nixpkgs/pkgs/applications/networking/cluster/argo/default.nix b/nixpkgs/pkgs/applications/networking/cluster/argo/default.nix
index a49879e53528..6372f19ee6c7 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/argo/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/argo/default.nix
@@ -43,15 +43,14 @@ buildGoModule rec {
     ${staticfiles}/bin/staticfiles -o server/static/files.go ui/dist/app
   '';
 
-  buildFlagsArray = ''
-    -ldflags=
-      -s -w
-      -X github.com/argoproj/argo-workflows/v3.buildDate=unknown
-      -X github.com/argoproj/argo-workflows/v3.gitCommit=${src.rev}
-      -X github.com/argoproj/argo-workflows/v3.gitTag=${src.rev}
-      -X github.com/argoproj/argo-workflows/v3.gitTreeState=clean
-      -X github.com/argoproj/argo-workflows/v3.version=${version}
-  '';
+  ldflags = [
+    "-s" "-w"
+    "-X github.com/argoproj/argo-workflows/v3.buildDate=unknown"
+    "-X github.com/argoproj/argo-workflows/v3.gitCommit=${src.rev}"
+    "-X github.com/argoproj/argo-workflows/v3.gitTag=${src.rev}"
+    "-X github.com/argoproj/argo-workflows/v3.gitTreeState=clean"
+    "-X github.com/argoproj/argo-workflows/v3.version=${version}"
+  ];
 
   postInstall = ''
     for shell in bash zsh; do
diff --git a/nixpkgs/pkgs/applications/networking/cluster/argocd/default.nix b/nixpkgs/pkgs/applications/networking/cluster/argocd/default.nix
index 0dfb55072816..4101ac9f3fd0 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/argocd/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/argocd/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "argocd";
-  version = "2.0.4";
-  commit = "0842d448107eb1397b251e63ec4d4bc1b4efdd6e";
+  version = "2.1.1";
+  commit = "57abbf95ed160c88b2634ec4d37df9555cc74fb3";
   tag = "v${version}";
 
   src = fetchFromGitHub {
     owner = "argoproj";
     repo = "argo-cd";
     rev = tag;
-    sha256 = "sha256-SKSAJtp20f6A+CvrsBEmbcNJAKI5b4Wm4K0cr/lGo64=";
+    sha256 = "0jh7kh4751kb7439vbbh5f03kcy56phdcvzypjw8n0w239n5xmmc";
   };
 
-  vendorSha256 = "sha256-RbEqivzTpXVQp4zl0zZWAh6qCr2KZSJ6Bj2pZaClQaQ=";
+  vendorSha256 = "sha256-KtLEN66Q5WpCi+COId+gPu2XHcs5/D04rYLHV6XohzQ=";
 
   nativeBuildInputs = [ packr makeWrapper installShellFiles ];
 
@@ -22,11 +22,10 @@ buildGoModule rec {
     packr
   '';
 
-  buildFlagsArray =
+  ldflags =
     let package_url = "github.com/argoproj/argo-cd/v2/common"; in
     [
-      "-ldflags="
-      "-s -w"
+      "-s" "-w"
       "-X ${package_url}.version=${version}"
       "-X ${package_url}.buildDate=unknown"
       "-X ${package_url}.gitCommit=${commit}"
@@ -46,7 +45,7 @@ buildGoModule rec {
   doInstallCheck = true;
   installCheckPhase = ''
     $out/bin/argocd version --client | grep ${tag} > /dev/null
-    $out/bin/argocd-util version | grep ${tag} > /dev/null
+    $out/bin/argocd-util version --client | grep ${tag} > /dev/null
   '';
 
   installPhase = ''
@@ -68,7 +67,7 @@ buildGoModule rec {
   meta = with lib; {
     description = "Declarative continuous deployment for Kubernetes";
     downloadPage = "https://github.com/argoproj/argo-cd";
-    homepage = "https://argoproj.github.io/projects/argo-cd";
+    homepage = "https://argo-cd.readthedocs.io/en/stable/";
     license = licenses.asl20;
     maintainers = with maintainers; [ shahrukh330 superherointj ];
   };
diff --git a/nixpkgs/pkgs/applications/networking/cluster/assign-lb-ip/default.nix b/nixpkgs/pkgs/applications/networking/cluster/assign-lb-ip/default.nix
new file mode 100644
index 000000000000..f0c06fa181ac
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/cluster/assign-lb-ip/default.nix
@@ -0,0 +1,22 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "assign-lb-ip";
+  version = "2.2.0";
+
+  src = fetchFromGitHub {
+    owner = "Nordix";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-PkMXjFP2brULCnD6mGz9wCufMpiwsmulDpINiwmkeys=";
+  };
+
+  vendorSha256 = "sha256-j9SweQq45sYk0lH6zkFrmWRlVhhMO8rLJGQxS6smAVw=";
+
+  meta = with lib; {
+    description = "Assigns loadBalancerIP address to a Kubernetes service for testing purposes";
+    homepage    = "https://github.com/Nordix/assign-lb-ip";
+    license     = licenses.asl20;
+    maintainers = [ maintainers.starcraft66 ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/cluster/bosh-cli/default.nix b/nixpkgs/pkgs/applications/networking/cluster/bosh-cli/default.nix
index 2354a41a6a66..90105b1c4ebb 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/bosh-cli/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/bosh-cli/default.nix
@@ -8,13 +8,13 @@
 buildGoModule rec {
   pname = "bosh-cli";
 
-  version = "6.4.4";
+  version = "6.4.5";
 
   src = fetchFromGitHub {
     owner = "cloudfoundry";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-N7GrxePNewxhHnkQP/XBdUIEL5FsFD4avouZaIO+BKc=";
+    sha256 = "sha256-/1JRje7SNrIsb3V1tq5ZW5zsURaQUzM/Jp3TMR0MfKw=";
   };
   vendorSha256 = null;
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/cilium/default.nix b/nixpkgs/pkgs/applications/networking/cluster/cilium/default.nix
new file mode 100644
index 000000000000..1ee8f31ed890
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/cluster/cilium/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "cilium-cli";
+  version = "0.8.6";
+
+  src = fetchFromGitHub {
+    owner = "cilium";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "07p62zifycw7gnwkd3230jsjns80k2q9fbj8drzp84s9cp7ddpa9";
+  };
+
+  vendorSha256 = null;
+
+  meta = with lib; {
+    description = "CLI to install, manage & troubleshoot Kubernetes clusters running Cilium";
+    license = licenses.asl20;
+    homepage = "https://www.cilium.io/";
+    maintainers = with maintainers; [ humancalico ];
+    mainProgram = "cilium";
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/cluster/cloudfoundry-cli/default.nix b/nixpkgs/pkgs/applications/networking/cluster/cloudfoundry-cli/default.nix
index a251886ebdd7..619b2834e5c6 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/cloudfoundry-cli/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/cloudfoundry-cli/default.nix
@@ -2,17 +2,17 @@
 
 buildGoModule rec {
   pname = "cloudfoundry-cli";
-  version = "7.2.0";
+  version = "7.3.0";
 
   src = fetchFromGitHub {
     owner = "cloudfoundry";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "0cf5vshyz6j70sv7x43r1404hdcmkzxgdb7514kjilp5z6wsr1nv";
+    sha256 = "sha256-I+4tFAMmmsmi5WH9WKXIja1vVWsPHNGkWbvjWGUCmkU=";
   };
   # vendor directory stale
   deleteVendor = true;
-  vendorSha256 = "0p0s0dr7kpmmnim4fps62vj4zki2qxxdq5ww0fzrf1372xbl4kp2";
+  vendorSha256 = null;
 
   subPackages = [ "." ];
 
@@ -25,8 +25,7 @@ buildGoModule rec {
 
   nativeBuildInputs = [ installShellFiles ];
 
-  buildFlagsArray = [
-    "-ldflags="
+  ldflags = [
     "-s"
     "-w"
     "-X code.cloudfoundry.org/cli/version.binaryBuildDate=1970-01-01"
diff --git a/nixpkgs/pkgs/applications/networking/cluster/cni/plugins.nix b/nixpkgs/pkgs/applications/networking/cluster/cni/plugins.nix
index 8fc667e3391c..0b862718cfb2 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/cni/plugins.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/cni/plugins.nix
@@ -2,21 +2,21 @@
 
 buildGoModule rec {
   pname = "cni-plugins";
-  version = "0.9.1";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "containernetworking";
     repo = "plugins";
     rev = "v${version}";
-    sha256 = "sha256-n+OtFXgFmW0xsGEtC6ua0qjdsJSbEjn08mAl5Z51Kp8=";
+    sha256 = "sha256-RcDZW/iOAcJodGiuzmeZk3obtD0/mQoMF9vL0xNehbQ=";
   };
 
   vendorSha256 = null;
 
   doCheck = false;
 
-  buildFlagsArray = [
-    "-ldflags=-X github.com/containernetworking/plugins/pkg/utils/buildversion.BuildVersion=v${version}"
+  ldflags = [
+    "-X github.com/containernetworking/plugins/pkg/utils/buildversion.BuildVersion=v${version}"
   ];
 
   subPackages = [
@@ -32,7 +32,6 @@ buildGoModule rec {
     "plugins/main/vlan"
     "plugins/meta/bandwidth"
     "plugins/meta/firewall"
-    "plugins/meta/flannel"
     "plugins/meta/portmap"
     "plugins/meta/sbr"
     "plugins/meta/tuning"
diff --git a/nixpkgs/pkgs/applications/networking/cluster/dnsname-cni/default.nix b/nixpkgs/pkgs/applications/networking/cluster/dnsname-cni/default.nix
index c14033382b55..a0bc37f2cdb8 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/dnsname-cni/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/dnsname-cni/default.nix
@@ -9,13 +9,13 @@
 
 buildGoModule rec {
   pname = "cni-plugin-dnsname";
-  version = "1.2.0";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = "dnsname";
     rev = "v${version}";
-    sha256 = "sha256-hHkQOHDso92gXFCz40iQ7j2cHTEAMsaeW8MCJV2Otqo=";
+    sha256 = "sha256-kebN1OLMOrBKBz4aBV0VYm+LmLm6S0mKnVgG2u5I+d4=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/applications/networking/cluster/docker-machine/xhyve.nix b/nixpkgs/pkgs/applications/networking/cluster/docker-machine/xhyve.nix
index 8c3534006bf7..86a7d87a0e13 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/docker-machine/xhyve.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/docker-machine/xhyve.nix
@@ -17,7 +17,7 @@ buildGoPackage rec {
     export CGO_CFLAGS=-I$(pwd)/go/src/${goPackagePath}/vendor/github.com/jceel/lib9p
     export CGO_LDFLAGS=$(pwd)/go/src/${goPackagePath}/vendor/build/lib9p/lib9p.a
   '';
-  buildFlags = "--tags lib9p";
+  tags = [ "lib9p" ];
 
   src = fetchFromGitHub {
     rev    = "v${version}";
diff --git a/nixpkgs/pkgs/applications/networking/cluster/flink/default.nix b/nixpkgs/pkgs/applications/networking/cluster/flink/default.nix
index 3c3bc2bace25..ccefd6d3de25 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/flink/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/flink/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "flink";
-  version = "1.12.1";
+  version = "1.13.2";
 
   src = fetchurl {
     url = "mirror://apache/flink/${pname}-${version}/${pname}-${version}-bin-scala_2.11.tgz";
-    sha256 = "146azc5wg1xby3nqz8mha959qy99z2h8032rfgs2mcl3d5rrsm2l";
+    sha256 = "sha256-GPiHV19Z2Htt75hCXK2nCeQMIBQFEEUxXlBembenFL0=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/applications/networking/cluster/fluxcd/default.nix b/nixpkgs/pkgs/applications/networking/cluster/fluxcd/default.nix
index baf67f2b6816..729f7e472280 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/fluxcd/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/fluxcd/default.nix
@@ -1,11 +1,11 @@
 { lib, buildGoModule, fetchFromGitHub, fetchzip, installShellFiles }:
 
 let
-  version = "0.16.1";
+  version = "0.16.2";
 
   manifests = fetchzip {
     url = "https://github.com/fluxcd/flux2/releases/download/v${version}/manifests.tar.gz";
-    sha256 = "sha256-/uD0hxtTJSr+2tZcwzOIQcEbikHOshWukEBSaK3FiP4=";
+    sha256 = "05khmpbv42wjpkdb4n51pnq678la6hjfhkyy49d0j2kcnvfd1m5p";
     stripRoot = false;
   };
 in
@@ -19,16 +19,16 @@ buildGoModule rec {
     owner = "fluxcd";
     repo = "flux2";
     rev = "v${version}";
-    sha256 = "sha256-OjbyDg+3dSJco162NubK12pbmwib6uGlJQxVaJOzSig=";
+    sha256 = "sha256-hP2HQI9Oc7IlzVS5r7yqGAgSgqECOSZVe2B3vO2sgKA=";
   };
 
-  vendorSha256 = "sha256-GPbuHv/Xi9sWWZ6SIlW8cm5bY1gTO41vygx2C8dEt0k=";
+  vendorSha256 = "sha256-6ABnX0GV3HmhpUpPWS0bigubRqpXGoikEeQ/LqO6Ybs=";
 
   nativeBuildInputs = [ installShellFiles ];
 
   subPackages = [ "cmd/flux" ];
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.VERSION=${version}" ];
+  ldflags = [ "-s" "-w" "-X main.VERSION=${version}" ];
 
   postUnpack = ''
     cp -r ${manifests} source/cmd/flux/manifests
@@ -55,7 +55,6 @@ buildGoModule rec {
     '';
     homepage = "https://fluxcd.io";
     license = licenses.asl20;
-    maintainers = with maintainers; [ jlesquembre ];
-    platforms = platforms.unix;
+    maintainers = with maintainers; [ jlesquembre superherointj ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/cluster/fluxctl/default.nix b/nixpkgs/pkgs/applications/networking/cluster/fluxctl/default.nix
index bba0b74172a9..4fe8bea90717 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/fluxctl/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/fluxctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "fluxctl";
-  version = "1.23.0";
+  version = "1.23.2";
 
   src = fetchFromGitHub {
     owner = "weaveworks";
     repo = "flux";
     rev = version;
-    sha256 = "sha256-CJY7XjHJ6suJrjhnG+w5oM1FtVnegcbkCVGjyoBtBag=";
+    sha256 = "sha256-Ypy462QYmRiQrnOYjBA4BrtPKMT7sNpWb4St3KMVqbI=";
   };
 
-  vendorSha256 = "sha256-aC6E+PpuUqFhZKvQT5AuxpPmHfhjCwHzwFHDzk5wazw=";
+  vendorSha256 = "sha256-GUeLbngahbjEXetCfFbwWhn7jtyqKu7I2dyfjKalUM0=";
 
   nativeBuildInputs = [ installShellFiles ];
 
@@ -19,7 +19,7 @@ buildGoModule rec {
 
   subPackages = [ "cmd/fluxctl" ];
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
+  ldflags = [ "-s" "-w" "-X main.version=${version}" ];
 
   postInstall = ''
     for shell in bash fish zsh; do
diff --git a/nixpkgs/pkgs/applications/networking/cluster/hadoop/default.nix b/nixpkgs/pkgs/applications/networking/cluster/hadoop/default.nix
index ef93b5cbdb07..589ce21fe87b 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/hadoop/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/hadoop/default.nix
@@ -109,7 +109,7 @@ let
         '';
 
         meta = with lib; {
-          homepage = "http://hadoop.apache.org/";
+          homepage = "https://hadoop.apache.org/";
           description = "Framework for distributed processing of large data sets across clusters of computers";
           license = licenses.asl20;
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/helm/chart-testing/default.nix b/nixpkgs/pkgs/applications/networking/cluster/helm/chart-testing/default.nix
new file mode 100644
index 000000000000..c4365975713a
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/cluster/helm/chart-testing/default.nix
@@ -0,0 +1,40 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "chart-testing";
+  version = "3.4.0";
+
+  src = fetchFromGitHub {
+    owner = "helm";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-c7Rjk2YZaQXyFwrDVwYgOCnq/F2ooIUVETXVn5FVlZE=";
+  };
+
+  vendorSha256 = "sha256-1Py66ljDjJC38biJ25D8KnWEi3nXAVt9QSgyH1KkwHM=";
+
+  postPatch = ''
+    substituteInPlace pkg/config/config.go \
+      --replace "\"/etc/ct\"," "\"$out/etc/ct\","
+  '';
+
+  ldflags = [
+    "-w"
+    "-s"
+    "-X github.com/helm/chart-testing/v3/ct/cmd.Version=${version}"
+    "-X github.com/helm/chart-testing/v3/ct/cmd.GitCommit=${src.rev}"
+    "-X github.com/helm/chart-testing/v3/ct/cmd.BuildDate=19700101-00:00:00"
+  ];
+
+  postInstall = ''
+    install -Dm644 -t $out/etc/ct etc/chart_schema.yaml
+    install -Dm644 -t $out/etc/ct etc/lintconf.yaml
+  '';
+
+  meta = with lib; {
+    description = "A tool for testing Helm charts";
+    homepage = "https://github.com/helm/chart-testing";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ atkinschang ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/cluster/helm/plugins/helm-secrets.nix b/nixpkgs/pkgs/applications/networking/cluster/helm/plugins/helm-secrets.nix
index ec3f21c69d15..cd1e6ece4377 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/helm/plugins/helm-secrets.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/helm/plugins/helm-secrets.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "helm-secrets";
-  version = "3.8.1";
+  version = "3.8.3";
 
   src = fetchFromGitHub {
     owner = "jkroepke";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-UZu3jChEK59UrtUR2ze68Kkc6MkHRtTsfTOS/B96sLM=";
+    hash = "sha256-FpF/d+e5T6nb0OENaYLY+3ATZ+qcAeih5/yKI+AtfKA=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/applications/networking/cluster/helm/wrapper.nix b/nixpkgs/pkgs/applications/networking/cluster/helm/wrapper.nix
index 21a29e31243b..b9322290920e 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/helm/wrapper.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/helm/wrapper.nix
@@ -10,8 +10,6 @@ let
   let
 
   initialMakeWrapperArgs = [
-      "${helm}/bin/helm" "${placeholder "out"}/bin/helm"
-      "--argv0" "$0" "--set" "HELM_PLUGINS" "${pluginsDir}"
   ];
 
   pluginsDir = symlinkJoin {
@@ -25,8 +23,8 @@ in
     # Remove the symlinks created by symlinkJoin which we need to perform
     # extra actions upon
     postBuild = ''
-      rm $out/bin/helm
-      makeWrapper ${lib.escapeShellArgs initialMakeWrapperArgs}  ${extraMakeWrapperArgs}
+      wrapProgram "$out/bin/helm" \
+        "--set" "HELM_PLUGINS" "${pluginsDir}" ${extraMakeWrapperArgs}
     '';
     paths = [ helm pluginsDir ];
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/helmfile/default.nix b/nixpkgs/pkgs/applications/networking/cluster/helmfile/default.nix
index 7fda9c74c9b9..6d70b405e168 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/helmfile/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/helmfile/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "helmfile";
-  version = "0.139.9";
+  version = "0.140.0";
 
   src = fetchFromGitHub {
     owner = "roboll";
     repo = "helmfile";
     rev = "v${version}";
-    sha256 = "sha256-MHvfDeN4r9jwnXANHTpMEQUIoAZ+uXAmDtl8wdcpjHI=";
+    sha256 = "sha256-D9CyJE6/latz4541NfOtvKy+kui3CVmD483SkdEJzyU=";
   };
 
   vendorSha256 = "sha256-QYI5HxEUNrZKSjk0LlbhjvxXlWCbbLup51Ht3HJDNC8=";
@@ -19,7 +19,7 @@ buildGoModule rec {
 
   subPackages = [ "." ];
 
-  buildFlagsArray = [ "-ldflags=-s -w -X github.com/roboll/helmfile/pkg/app/version.Version=${version}" ];
+  ldflags = [ "-s" "-w" "-X github.com/roboll/helmfile/pkg/app/version.Version=${version}" ];
 
   postInstall = ''
     wrapProgram $out/bin/helmfile \
diff --git a/nixpkgs/pkgs/applications/networking/cluster/hetzner-kube/default.nix b/nixpkgs/pkgs/applications/networking/cluster/hetzner-kube/default.nix
index f66e5f88e729..bf4183268e53 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/hetzner-kube/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/hetzner-kube/default.nix
@@ -22,10 +22,9 @@ buildGoModule rec {
 
   doCheck = false;
 
-  buildFlagsArray = ''
-    -ldflags=
-    -X github.com/xetys/hetzner-kube/cmd.version=${version}
-  '';
+  ldflags = [
+    "-X github.com/xetys/hetzner-kube/cmd.version=${version}"
+  ];
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/nixpkgs/pkgs/applications/networking/cluster/istioctl/default.nix b/nixpkgs/pkgs/applications/networking/cluster/istioctl/default.nix
index f3da97057959..e4ef8d1aa8d7 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/istioctl/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/istioctl/default.nix
@@ -2,29 +2,29 @@
 
 buildGoModule rec {
   pname = "istioctl";
-  version = "1.10.3";
+  version = "1.11.0";
 
   src = fetchFromGitHub {
     owner = "istio";
     repo = "istio";
     rev = version;
-    sha256 = "sha256-MHERRJ9t7EG4sd4gevUnZLA25UnRqZprCXFWkp5roms=";
+    sha256 = "sha256-pQ8Xhhjpcp9RAUUqEDNWRf9JI7xkDVh2PG2KB0lmScs=";
   };
-  vendorSha256 = "sha256-lzRIXZXrNQOwgl774B9r6OW/O8QwykSk3Mv5oGmvDuY=";
+  vendorSha256 = "sha256-PBMPTrTk5AzzELitSVQijHnx8YDCiZ7R+cpetUfe2KU=";
 
   doCheck = false;
 
   nativeBuildInputs = [ installShellFiles ];
 
   # Bundle release metadata
-  buildFlagsArray = let
+  ldflags = let
     attrs = [
       "istio.io/pkg/version.buildVersion=${version}"
       "istio.io/pkg/version.buildStatus=Nix"
       "istio.io/pkg/version.buildTag=${version}"
       "istio.io/pkg/version.buildHub=docker.io/istio"
     ];
-  in ["-ldflags=-s -w ${lib.concatMapStringsSep " " (attr: "-X ${attr}") attrs}"];
+  in ["-s" "-w" "${lib.concatMapStringsSep " " (attr: "-X ${attr}") attrs}"];
 
   subPackages = [ "istioctl/cmd/istioctl" ];
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/jx/default.nix b/nixpkgs/pkgs/applications/networking/cluster/jx/default.nix
index d7fc1cb22429..d9b04aaf7fc6 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/jx/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/jx/default.nix
@@ -19,13 +19,12 @@ buildGoModule rec {
 
   nativeBuildInputs = [ installShellFiles ];
 
-  buildFlagsArray = ''
-    -ldflags=
-    -s -w
-    -X github.com/jenkins-x/jx/pkg/version.Version=${version}
-    -X github.com/jenkins-x/jx/pkg/version.Revision=${src.rev}
-    -X github.com/jenkins-x/jx/pkg/version.GitTreeState=clean
-  '';
+  ldflags = [
+    "-s -w"
+    "-X github.com/jenkins-x/jx/pkg/version.Version=${version}"
+    "-X github.com/jenkins-x/jx/pkg/version.Revision=${src.rev}"
+    "-X github.com/jenkins-x/jx/pkg/version.GitTreeState=clean"
+  ];
 
   postInstall = ''
     for shell in bash zsh; do
diff --git a/nixpkgs/pkgs/applications/networking/cluster/k3s/default.nix b/nixpkgs/pkgs/applications/networking/cluster/k3s/default.nix
index dfeb61915eea..4b60ec6ea2dd 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/k3s/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/k3s/default.nix
@@ -7,7 +7,6 @@
 , bridge-utils
 , conntrack-tools
 , buildGoPackage
-, git
 , runc
 , kmod
 , libseccomp
@@ -44,12 +43,21 @@ with lib;
 # Those pieces of software we entirely ignore upstream's handling of, and just
 # make sure they're in the path if desired.
 let
-  k3sVersion = "1.21.2+k3s1";     # k3s git tag
-  k3sCommit = "5a67e8dc473f8945e8e181f6f0b0dbbc387f6fca"; # k3s git commit at the above version
+  k3sVersion = "1.21.4+k3s1";     # k3s git tag
+  k3sCommit = "3e250fdbab72d88f7e6aae57446023a0567ffc97"; # k3s git commit at the above version
 
   traefikChartVersion = "9.18.2"; # taken from ./scripts/download at TRAEFIK_VERSION
-  k3sRootVersion = "0.8.1";       # taken from ./scripts/download at ROOT_VERSION
+  k3sRootVersion = "0.9.1";       # taken from ./scripts/download at ROOT_VERSION
   k3sCNIVersion = "0.8.6-k3s1";   # taken from ./scripts/version.sh at VERSION_CNIPLUGINS
+
+  baseMeta = {
+    description = "A lightweight Kubernetes distribution";
+    license = licenses.asl20;
+    homepage = "https://k3s.io";
+    maintainers = with maintainers; [ euank superherointj ];
+    platforms = platforms.linux;
+  };
+
   # bundled into the k3s binary
   traefikChart = fetchurl {
     url = "https://helm.traefik.io/traefik/traefik-${traefikChartVersion}.tgz";
@@ -67,7 +75,7 @@ let
   k3sRoot = fetchzip {
     # Note: marked as apache 2.0 license
     url = "https://github.com/k3s-io/k3s-root/releases/download/v${k3sRootVersion}/k3s-root-amd64.tar";
-    sha256 = "sha256-r3Nkzl9ccry7cgD3YWlHvEWOsWnnFGIkyRH9sx12gks=";
+    sha256 = "sha256-qI84KYJKY/T6pqWZW9lOTq5NzZiu//v1zrMzUCiRTGQ=";
     stripRoot = false;
   };
   k3sPlugins = buildGoPackage rec {
@@ -84,12 +92,8 @@ let
       sha256 = "sha256-uAy17eRRAXPCcnh481KxFMvFQecnnBs24jn5YnVNfY4=";
     };
 
-    meta = {
+    meta = baseMeta // {
       description = "CNI plugins, as patched by rancher for k3s";
-      license = licenses.asl20;
-      homepage = "https://k3s.io";
-      maintainers = [ maintainers.euank ];
-      platforms = platforms.linux;
     };
   };
   # Grab this separately from a build because it's used by both stages of the
@@ -97,7 +101,7 @@ let
   k3sRepo = fetchgit {
     url = "https://github.com/k3s-io/k3s";
     rev = "v${k3sVersion}";
-    sha256 = "sha256-ZRkdHQ4RJ6XqE+DKE6wwpxetuKDG3k/4HaHyFxHev1U=";
+    sha256 = "1w7drvk0bmlmqrxh1y6dxjy7dk6bdrl72pkd25lc1ir6wbzb05h9";
   };
   # Stage 1 of the k3s build:
   # Let's talk about how k3s is structured.
@@ -161,12 +165,8 @@ let
       popd
     '';
 
-    meta = {
+    meta = baseMeta // {
       description = "The various binaries that get packaged into the final k3s binary";
-      license = licenses.asl20;
-      homepage = "https://k3s.io";
-      maintainers = [ maintainers.euank ];
-      platforms = platforms.linux;
     };
   };
   k3sBin = buildGoPackage rec {
@@ -228,12 +228,8 @@ let
       popd
     '';
 
-    meta = {
+    meta = baseMeta // {
       description = "The k3s go binary which is used by the final wrapped output below";
-      license = licenses.asl20;
-      homepage = "https://k3s.io";
-      maintainers = [ maintainers.euank ];
-      platforms = platforms.linux;
     };
   };
 in
@@ -241,7 +237,7 @@ stdenv.mkDerivation rec {
   pname = "k3s";
   version = k3sVersion;
 
-  # Important utilities used by  the kubelet, see
+  # Important utilities used by the kubelet, see
   # https://github.com/kubernetes/kubernetes/issues/26093#issuecomment-237202494
   # Note the list in that issue is stale and some aren't relevant for k3s.
   k3sRuntimeDeps = [
@@ -279,11 +275,10 @@ stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
-  meta = {
-    description = "A lightweight Kubernetes distribution";
-    license = licenses.asl20;
-    homepage = "https://k3s.io";
-    maintainers = [ maintainers.euank ];
-    platforms = platforms.linux;
-  };
+  doInstallCheck = true;
+  installCheckPhase = ''
+    $out/bin/k3s --version | grep v${k3sVersion} > /dev/null
+  '';
+
+  meta = baseMeta;
 }
diff --git a/nixpkgs/pkgs/applications/networking/cluster/k9s/default.nix b/nixpkgs/pkgs/applications/networking/cluster/k9s/default.nix
index 89d07da74829..871ab8b93456 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/k9s/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/k9s/default.nix
@@ -2,23 +2,22 @@
 
 buildGoModule rec {
   pname = "k9s";
-  version = "0.24.14";
+  version = "0.24.15";
 
   src = fetchFromGitHub {
     owner  = "derailed";
     repo   = "k9s";
     rev    = "v${version}";
-    sha256 = "sha256-Kw3TT8IeJT0y2vSd38/y7BRq7PxMH2tiXV4/lOn5INA=";
+    sha256 = "sha256-ws5JC2/WkgwxKwYtP9xtFELRhztzL6tNSvopyeC6H0Q=";
   };
 
-  buildFlagsArray = ''
-    -ldflags=
-      -s -w
-      -X github.com/derailed/k9s/cmd.version=${version}
-      -X github.com/derailed/k9s/cmd.commit=${src.rev}
-  '';
+  ldflags = [
+    "-s" "-w"
+    "-X github.com/derailed/k9s/cmd.version=${version}"
+    "-X github.com/derailed/k9s/cmd.commit=${src.rev}"
+  ];
 
-  vendorSha256 = "sha256-JBWQxRaMvIbUiOD7sJiZH1SHNCdysgh5FeSmYf+FdG4=";
+  vendorSha256 = "sha256-T9khJeg5XPhVyUiu4gEEHZR6RgJF4P8LYFycqJglms8=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/kops/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kops/default.nix
index 54d13f819ab8..8487afc208dd 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/kops/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/kops/default.nix
@@ -21,11 +21,10 @@ let
         nativeBuildInputs = [ go-bindata installShellFiles ];
         subPackages = [ "cmd/kops" ];
 
-        buildFlagsArray = ''
-          -ldflags=
-              -X k8s.io/kops.Version=${version}
-              -X k8s.io/kops.GitVersion=${version}
-        '';
+        ldflags = [
+          "-X k8s.io/kops.Version=${version}"
+          "-X k8s.io/kops.GitVersion=${version}"
+        ];
 
         preBuild = ''
           (cd go/src/k8s.io/kops
@@ -66,8 +65,8 @@ rec {
   };
 
   kops_1_21 = mkKops rec {
-    version = "1.21.0";
-    sha256 = "sha256-T2i3qpg3GC7yaYCGrN1V5XXrUyT+Ce9Q4aV00gQJ7gM=";
+    version = "1.21.1";
+    sha256 = "sha256-/C/fllgfAovHuyGRY+LM09bsUpYdA8zDw1w0b9HnlBc=";
     rev = "v${version}";
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/cluster/kpt/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kpt/default.nix
index 577e52ed49d6..3e6475ca6586 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/kpt/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/kpt/default.nix
@@ -2,20 +2,20 @@
 
 buildGoModule rec {
   pname = "kpt";
-  version = "0.38.0";
+  version = "0.38.1";
 
   src = fetchFromGitHub {
     owner = "GoogleContainerTools";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-MBZa4LdpCZnVVbjzkYpPi9/CYGqVLeYy2N/AS1PSYBE=";
+    sha256 = "sha256-gJAdxg/evsQ+mKsNx/migDMK5lCZ2qSrksbsGDr4fmU=";
   };
 
-  vendorSha256 = "sha256-P0cN8aw62nPD1OlUAw1E36YxptxtPqqruZfDDG4Ag2w=";
+  vendorSha256 = "sha256-GvkT51JudEdPz6zbqyf5qY6P2AbsaSMbirnxXmza5aI=";
 
   subPackages = [ "." ];
 
-  buildFlagsArray = [ "-ldflags=-s -w -X github.com/GoogleContainerTools/kpt/run.version=${version}" ];
+  ldflags = [ "-s" "-w" "-X github.com/GoogleContainerTools/kpt/run.version=${version}" ];
 
   meta = with lib; {
     description = "A toolkit to help you manage, manipulate, customize, and apply Kubernetes Resource configuration data files";
diff --git a/nixpkgs/pkgs/applications/networking/cluster/kube-capacity/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kube-capacity/default.nix
index de4cdcce44f1..9ab32c644747 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/kube-capacity/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/kube-capacity/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kube-capacity";
-  version = "0.6.0";
+  version = "0.6.1";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "robscott";
     repo = pname;
-    sha256 = "sha256-IwlcxlzNNYWNANszTM+s6/SA1C2LXrydSTtAvniNKXE=";
+    sha256 = "sha256-4UdNmuxJsPekA0y4mP302AYIFkG3ee3n99Redb/rPHw=";
   };
 
-  vendorSha256 = "sha256-EgLWZs282IV1euCUCc5ucf267E2Z7GF9SgoImiGvuVM=";
+  vendorSha256 = "sha256-PQlOuBqn+b7fO9eHgtTAKxo3YdWmgbxx2JomklttCrM=";
 
   meta = with lib; {
     description =
diff --git a/nixpkgs/pkgs/applications/networking/cluster/kube-router/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kube-router/default.nix
index 586fc6cf806b..b9a282b5cd16 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/kube-router/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/kube-router/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "kube-router";
-  version = "1.1.1";
+  version = "1.2.2";
 
   goPackagePath = "github.com/cloudnativelabs/kube-router";
 
@@ -10,16 +10,13 @@ buildGoPackage rec {
     owner = "cloudnativelabs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-U7vjWtVXmyEPYFS1fAPOgV3WILGPhWsmoawV7B0pZaE=";
+    sha256 = "sha256-/VToLQexvRtcBU+k8WnGEcfLfxme/hgRnhU8723BEFU=";
   };
 
-  buildFlagsArray = ''
-    -ldflags=
-    -X
-    ${goPackagePath}/pkg/cmd.version=${version}
-    -X
-    ${goPackagePath}/pkg/cmd.buildDate=Nix
-  '';
+  ldflags = [
+    "-X ${goPackagePath}/pkg/cmd.version=${version}"
+    "-X ${goPackagePath}/pkg/cmd.buildDate=Nix"
+  ];
 
   meta = with lib; {
     homepage = "https://www.kube-router.io/";
diff --git a/nixpkgs/pkgs/applications/networking/cluster/kube3d/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kube3d/default.nix
index e565657a5cbd..3652405194f5 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/kube3d/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/kube3d/default.nix
@@ -17,10 +17,10 @@ buildGoModule rec {
 
   excludedPackages = "\\(tools\\|docgen\\)";
 
-  preBuild = let t = "github.com/rancher/k3d/v4/version"; in
-    ''
-      buildFlagsArray+=("-ldflags" "-s -w -X ${t}.Version=v${version} -X ${t}.K3sVersion=v${k3sVersion}")
-    '';
+  ldflags = let t = "github.com/rancher/k3d/v4/version"; in
+    [
+      "-s" "-w" "-X ${t}.Version=v${version}" "-X ${t}.K3sVersion=v${k3sVersion}"
+    ];
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/kubebuilder/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kubebuilder/default.nix
index d123790edd2f..eb29cba7de88 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/kubebuilder/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/kubebuilder/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildGoModule
 , fetchFromGitHub
-, installShellFiles
 , makeWrapper
 , git
 , go
@@ -15,19 +14,19 @@ buildGoModule rec {
     owner = "kubernetes-sigs";
     repo = "kubebuilder";
     rev = "v${version}";
-    sha256 = "1726j2b5jyvllvnk60g6px3g2jyyphd9pc4vgid45mis9b60sh8a";
+    sha256 = "0bl5ff2cplal6hg75800crhyviamk1ws85sq60h4zg21hzf21y68";
   };
   vendorSha256 = "0zxyd950ksjswja64rfri5v2yaalfg6qmq8215ildgrcavl9974n";
 
-  subPackages = ["cmd" "pkg/..."];
+  subPackages = ["cmd"];
 
-  preBuild = ''
-    export buildFlagsArray+=("-ldflags=-X main.kubeBuilderVersion=v${version} \
-        -X main.goos=$GOOS \
-        -X main.goarch=$GOARCH \
-        -X main.gitCommit=v${version} \
-        -X main.buildDate=v${version}")
-  '';
+  ldflags = [
+    "-X main.kubeBuilderVersion=v${version}"
+    "-X main.goos=${go.GOOS}"
+    "-X main.goarch=${go.GOARCH}"
+    "-X main.gitCommit=v${version}"
+    "-X main.buildDate=v${version}"
+  ];
 
   doCheck = true;
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/kubectl/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kubectl/default.nix
index c550a0e2f2b6..fec93d8878e0 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/kubectl/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/kubectl/default.nix
@@ -1,7 +1,8 @@
 { stdenv, kubernetes, installShellFiles }:
 
 stdenv.mkDerivation {
-  name = "kubectl-${kubernetes.version}";
+  pname = "kubectl";
+  version = kubernetes.version;
 
   # kubectl is currently part of the main distribution but will eventially be
   # split out (see homepage)
diff --git a/nixpkgs/pkgs/applications/networking/cluster/kubeless/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kubeless/default.nix
index 38323b98b194..537fb611783e 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/kubeless/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/kubeless/default.nix
@@ -17,9 +17,9 @@ buildGoPackage rec {
 
   subPackages = [ "cmd/kubeless" ];
 
-  buildFlagsArray = ''
-    -ldflags=-s -w -X github.com/kubeless/kubeless/pkg/version.Version=${version}
-  '';
+  ldflags = [
+    "-s" "-w" "-X github.com/kubeless/kubeless/pkg/version.Version=${version}"
+  ];
 
   postInstall = ''
     for shell in bash; do
diff --git a/nixpkgs/pkgs/applications/networking/cluster/kubelogin/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kubelogin/default.nix
index 0a928ac9299f..d5f04c14d572 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/kubelogin/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/kubelogin/default.nix
@@ -2,22 +2,21 @@
 
 buildGoModule rec {
   pname = "kubelogin";
-  version = "0.0.9";
+  version = "0.0.10";
 
   src = fetchFromGitHub {
     owner = "Azure";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-0+4hrC7A60dbf+1uvTVU2JRynvA3O/lXfgcra1fV9bI=";
+    sha256 = "sha256-YLYyU3k3I74ZuczFZBwcJoJSfCR4B9Z1EbFupA+xkiE=";
   };
 
-  vendorSha256 = "sha256-erGqCpWlAQanY1ghpNVRhzUEIXv3lCiBGRs888MmHN8=";
+  vendorSha256 = "sha256-vJfTf9gD/qrsPAfJeMYLjGa90mYLOshgDehv2Fcl6xM=";
 
-  buildFlagsArray = ''
-    -ldflags=
-        -X main.version=${version}
-        -X main.goVersion=${lib.getVersion go}
-  '';
+  ldflags = [
+    "-X main.version=${version}"
+    "-X main.goVersion=${lib.getVersion go}"
+  ];
 
   meta = with lib; {
     description = "A Kubernetes credential plugin implementing Azure authentication";
diff --git a/nixpkgs/pkgs/applications/networking/cluster/kubernetes/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kubernetes/default.nix
index 2a66b391ae8a..78ccc8cb83a1 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/kubernetes/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/kubernetes/default.nix
@@ -7,6 +7,7 @@
 , makeWrapper
 , rsync
 , installShellFiles
+, nixosTests
 
 , components ? [
     "cmd/kubelet"
@@ -20,13 +21,13 @@
 
 stdenv.mkDerivation rec {
   pname = "kubernetes";
-  version = "1.21.3";
+  version = "1.22.1";
 
   src = fetchFromGitHub {
     owner = "kubernetes";
     repo = "kubernetes";
     rev = "v${version}";
-    sha256 = "sha256-GMigdVuqJN6eIN0nhY5PVUEnCqjAYUzitetk2QmX5wQ=";
+    sha256 = "sha256-coiDKczX5kWw/5A9+p0atPbn2nR0wBBdfXKTw6FYywo=";
   };
 
   nativeBuildInputs = [ removeReferencesTo makeWrapper which go rsync installShellFiles ];
@@ -66,8 +67,8 @@ stdenv.mkDerivation rec {
     install -D build/pause/linux/pause -t $pause/bin
     installManPage docs/man/man1/*.[1-9]
 
-    # Unfortunately, kube-addons-main.sh only looks for the lib file in either the current working dir
-    # or in /opt. We have to patch this for now.
+    # Unfortunately, kube-addons-main.sh only looks for the lib file in either the
+    # current working dir or in /opt. We have to patch this for now.
     substitute cluster/addons/addon-manager/kube-addons-main.sh $out/bin/kube-addons \
       --subst-var out
 
@@ -95,4 +96,6 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ johanot offline saschagrunert ];
     platforms = platforms.unix;
   };
+
+  passthru.tests = nixosTests.kubernetes;
 }
diff --git a/nixpkgs/pkgs/applications/networking/cluster/kubeseal/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kubeseal/default.nix
index 15670188f14e..13fc7a9605e4 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/kubeseal/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/kubeseal/default.nix
@@ -17,7 +17,7 @@ buildGoModule rec {
 
   subPackages = [ "cmd/kubeseal" ];
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.VERSION=${version}" ];
+  ldflags = [ "-s" "-w" "-X main.VERSION=${version}" ];
 
   meta = with lib; {
     description = "A Kubernetes controller and tool for one-way encrypted Secrets";
diff --git a/nixpkgs/pkgs/applications/networking/cluster/kuttl/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kuttl/default.nix
index 0c8f7f1574ce..64f13ad6b60f 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/kuttl/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/kuttl/default.nix
@@ -1,26 +1,25 @@
 { lib, buildGoModule, fetchFromGitHub}:
 
 buildGoModule rec {
-  name = "kuttl";
   pname = "kuttl";
-  version = "0.9.0";
+  version = "0.11.1";
   cli = "kubectl-kuttl";
 
   src = fetchFromGitHub {
     owner  = "kudobuilder";
     repo   = "kuttl";
     rev    = "v${version}";
-    sha256 = "sha256:1cji0py2340mvcpplwq3licdkzjx7q5f27fdjjxvbhrgksnyw6hs";
+    sha256 = "sha256-jvearvhl2fQV5OOVmvf3C4MjE//wkVs8Ly9BIwv15/8=";
   };
 
-  vendorSha256 = "sha256:1shra42ifa2knxp58fj5hn074jg89f3nqdqk4rqbp3ybir84ahsd";
+  vendorSha256 = "sha256-EytHUfr6RbgXowYlfuajvNt9VwmGmvw9TBRtwYMAIh4=";
 
   subPackages = [ "cmd/kubectl-kuttl" ];
 
-  buildFlagsArray = ''
-    -ldflags=-s -w
-    -X  github.com/kudobuilder/kuttl/pkg/version.gitVersion=${version}
-  '';
+  ldflags = [
+    "-s" "-w"
+    "-X github.com/kudobuilder/kuttl/pkg/version.gitVersion=${version}"
+  ];
 
   meta = with lib; {
     description = "The KUbernetes Test TooL (KUTTL) provides a declarative approach to testing production-grade Kubernetes operators";
diff --git a/nixpkgs/pkgs/applications/networking/cluster/lens/default.nix b/nixpkgs/pkgs/applications/networking/cluster/lens/default.nix
index e6af0146ca5a..6e04391d7a8a 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/lens/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/lens/default.nix
@@ -2,12 +2,13 @@
 
 let
   pname = "lens";
-  version = "4.2.4";
+  version = "5.1.3";
+  build = "${version}-latest.20210722.1";
   name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "https://github.com/lensapp/lens/releases/download/v${version}/Lens-${version}.x86_64.AppImage";
-    sha256 = "0fzhv8brwwl1ihx6jqq4pi77489hr6f9hpppqq3n8d2imjsqgvlw";
+    url = "https://api.k8slens.dev/binaries/Lens-${build}.x86_64.AppImage";
+    sha256 = "1iwwyqpn1x1m8n22f99snlhcbcr65i4przx697hlbpmnm40dw7q9";
     name="${pname}.AppImage";
   };
 
@@ -22,12 +23,12 @@ in appimageTools.wrapType2 {
     ''
       mv $out/bin/${name} $out/bin/${pname}
 
-      install -m 444 -D ${appimageContents}/kontena-lens.desktop $out/share/applications/${pname}.desktop
-      install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/512x512/apps/kontena-lens.png \
-        $out/share/icons/hicolor/512x512/apps/${pname}.png
+      install -m 444 -D ${appimageContents}/lens.desktop $out/share/applications/${pname}.desktop
+      install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/512x512/apps/lens.png \
+         $out/share/icons/hicolor/512x512/apps/${pname}.png
 
       substituteInPlace $out/share/applications/${pname}.desktop \
-        --replace 'Icon=kontena-lens' 'Icon=${pname}' \
+        --replace 'Icon=lens' 'Icon=${pname}' \
         --replace 'Exec=AppRun' 'Exec=${pname}'
     '';
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/linkerd/default.nix b/nixpkgs/pkgs/applications/networking/cluster/linkerd/default.nix
index 883d16319b17..da77ffad3afc 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/linkerd/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/linkerd/default.nix
@@ -22,8 +22,8 @@ let generic = { channel, version, sha256, vendorSha256 }:
       env GOFLAGS="" go generate ./viz/static
     '';
 
-    buildFlagsArray = [
-      "-tags=prod"
+    tags = [
+      "prod"
     ];
 
     ldflags = [
@@ -64,8 +64,8 @@ in
     };
     edge = generic {
       channel = "edge";
-      version = "21.7.3";
-      sha256 = "sha256-fEkqZ/4BQVnmOKUrrLmi6DKlMVNeqvW95bxbZX0o7iI=";
-      vendorSha256 = "sha256-NqOmmeEGWvy/LYfSpIdnJZX4lGweCgiL008ed05XIFs=";
+      version = "21.8.2";
+      sha256 = "sha256-jMYJ/mLWvuje4ZRuRbzMaqhz8kyn1bYGITJxkyw5Fyg=";
+      vendorSha256 = "sha256-18QB2GOxHfnP4GQaF0aohY5kEOg0xN/c+Sp33Ww/1uQ=";
     };
   }
diff --git a/nixpkgs/pkgs/applications/networking/cluster/minikube/default.nix b/nixpkgs/pkgs/applications/networking/cluster/minikube/default.nix
index ac7a301fe06d..2db814c635f0 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/minikube/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/minikube/default.nix
@@ -2,7 +2,6 @@
 , stdenv
 , buildGoModule
 , fetchFromGitHub
-, go-bindata
 , installShellFiles
 , pkg-config
 , which
@@ -12,9 +11,9 @@
 
 buildGoModule rec {
   pname = "minikube";
-  version = "1.21.0";
+  version = "1.22.0";
 
-  vendorSha256 = "sha256-3G9QO5OMnMkMCsGIze/E9bvx6fvlXtOqiv8lGTkLN3s=";
+  vendorSha256 = "sha256-zAXEwGJ3dnqN/+3k189zqppdiNHPyJ+mdZvDNEWQLsA=";
 
   doCheck = false;
 
@@ -22,10 +21,10 @@ buildGoModule rec {
     owner = "kubernetes";
     repo = "minikube";
     rev = "v${version}";
-    sha256 = "sha256-PbCwGPJZvnJCIVK7FYa1gI4aO4sIeh8iQtYOHAQBaZE=";
+    sha256 = "sha256-wL/HsdV6MZcsR3Y8pGZ5WYUMJ7j+VyJGpLeLIXm5MJM=";
   };
 
-  nativeBuildInputs = [ go-bindata installShellFiles pkg-config which ];
+  nativeBuildInputs = [ installShellFiles pkg-config which ];
 
   buildInputs = if stdenv.isDarwin then [ vmnet ] else if stdenv.isLinux then [ libvirt ] else null;
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/minishift/default.nix b/nixpkgs/pkgs/applications/networking/cluster/minishift/default.nix
index 5b3b17b3df20..488d0c4327a2 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/minishift/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/minishift/default.nix
@@ -34,12 +34,11 @@ in buildGoPackage rec {
       --replace '"runtime"' ""
   '';
 
-  buildFlagsArray = ''
-    -ldflags=
-      -X ${goPackagePath}/pkg/version.minishiftVersion=${version}
-      -X ${goPackagePath}/pkg/version.centOsIsoVersion=${centOsIsoVersion}
-      -X ${goPackagePath}/pkg/version.openshiftVersion=${openshiftVersion}
-  '';
+  ldflags = [
+    "-X ${goPackagePath}/pkg/version.minishiftVersion=${version}"
+    "-X ${goPackagePath}/pkg/version.centOsIsoVersion=${centOsIsoVersion}"
+    "-X ${goPackagePath}/pkg/version.openshiftVersion=${openshiftVersion}"
+  ];
 
   preBuild = ''
     (cd go/src/github.com/minishift/minishift
diff --git a/nixpkgs/pkgs/applications/networking/cluster/multus-cni/default.nix b/nixpkgs/pkgs/applications/networking/cluster/multus-cni/default.nix
index d44e0441d8fa..3a8a26af3ff9 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/multus-cni/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/multus-cni/default.nix
@@ -2,20 +2,20 @@
 
 buildGoModule rec {
   pname = "multus-cni";
-  version = "3.7.1";
+  version = "3.7.2";
 
   src = fetchFromGitHub {
     owner = "k8snetworkplumbingwg";
     repo = pname;
     rev = "v${version}";
-    sha256 = "04rn7ypd0cw2c33wqb9wqy1dp6ajvcp7rcv7zybffb1d40mdlds1";
+    sha256 = "sha256-eVYRbMijOEa+DNCm4w/+WVrTI9607NF9/l5YKkXJuFs=";
   };
 
-  buildFlagsArray = let
+  ldflags = let
     multus = "gopkg.in/intel/multus-cni.v3/pkg/multus";
     commit = "f6298a3a294a79f9fbda0b8f175e521799d5f8d7";
   in [
-    "-ldflags=-s -w -X '${multus}.version=v${version}' -X '${multus}.commit=${commit}'"
+    "-s" "-w" "-X ${multus}.version=v${version}" "-X ${multus}.commit=${commit}"
   ];
 
   preInstall = ''
diff --git a/nixpkgs/pkgs/applications/networking/cluster/nerdctl/default.nix b/nixpkgs/pkgs/applications/networking/cluster/nerdctl/default.nix
index 4909d734ff31..344bf7c82dad 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/nerdctl/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/nerdctl/default.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "nerdctl";
-  version = "0.11.0";
+  version = "0.11.1";
 
   src = fetchFromGitHub {
     owner = "containerd";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-uYiGerxZb5GW1dOcflERF3wvgJ8VOtRmQkyzC/ztwjk=";
+    sha256 = "sha256-r9VJQUmwe4UGCLmzxG2t9XHQ7KUeJxmEuAwxssPArcM=";
   };
 
-  vendorSha256 = "sha256-kGSibuXutyOvDkmajIQ0AqrwR3VUiWoM1Y2zk3MwwyU=";
+  vendorSha256 = "sha256-KnXxp/6L09a34cnv4h7vpPhNO6EGmeEC6c1ydyYXkxU=";
 
   nativeBuildInputs = [ makeWrapper installShellFiles ];
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/node-problem-detector/default.nix b/nixpkgs/pkgs/applications/networking/cluster/node-problem-detector/default.nix
index e53a9c39ea7e..f89e9f9ff3bd 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/node-problem-detector/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/node-problem-detector/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "node-problem-detector";
-  version = "0.8.7";
+  version = "0.8.9";
 
   src = fetchFromGitHub {
     owner = "kubernetes";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-GyWvwgLtE8N+HLmGKUOjv5HXl2sdnecjh5y6VCOs+/0=";
+    sha256 = "sha256-P7niTGe0uzg2R1UHrPWbU4tOhOA1OwlP3dslZPwuF0A=";
   };
 
   vendorSha256 = null;
@@ -28,11 +28,9 @@ buildGoModule rec {
 
   buildInputs = lib.optionals stdenv.isLinux [ systemd ];
 
-  buildFlags = "-mod vendor" +
-    lib.optionalString stdenv.isLinux " -tags journald";
+  tags = lib.optionals stdenv.isLinux [ "journald" ];
 
-  buildFlagsArray = [
-    "-ldflags="
+  ldflags = [
     "-X k8s.io/${pname}/pkg/version.version=v${version}"
   ];
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/nomad-autoscaler/default.nix b/nixpkgs/pkgs/applications/networking/cluster/nomad-autoscaler/default.nix
new file mode 100644
index 000000000000..702bf19d5795
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/cluster/nomad-autoscaler/default.nix
@@ -0,0 +1,112 @@
+{ lib, fetchFromGitHub, buildGoModule, go, removeReferencesTo, buildEnv }:
+
+let
+  package = buildGoModule rec {
+    pname = "nomad-autoscaler";
+    version = "0.3.3";
+
+    outputs = [
+      "out"
+      "bin"
+      "aws_asg"
+      "azure_vmss"
+      "datadog"
+      "fixed_value"
+      "gce_mig"
+      "nomad_apm"
+      "nomad_target"
+      "pass_through"
+      "prometheus"
+      "target_value"
+      "threshold"
+    ];
+
+    src = fetchFromGitHub {
+      owner = "hashicorp";
+      repo = "nomad-autoscaler";
+      rev = "v${version}";
+      sha256 = "sha256-bN/U6aCf33B88ouQwTGG8CqARzWmIvXNr5JPr3l8cVI=";
+    };
+
+    vendorSha256 = "sha256-Ls8gkfLyxfQD8krvxjAPnZhf1r1s2MhtQfMMfp8hJII=";
+
+    subPackages = [ "." ];
+
+    nativeBuildInputs = [ removeReferencesTo ];
+
+    # buildGoModule overrides normal buildPhase, can't use makeTargets
+    postBuild = ''
+      make build plugins
+    '';
+
+    # tries to pull tests from network, and fails silently anyway
+    doCheck = false;
+
+    postInstall = ''
+      mkdir -p $bin/bin
+      mv $out/bin/nomad-autoscaler $bin/bin/nomad-autoscaler
+      ln -s $bin/bin/nomad-autoscaler $out/bin/nomad-autoscaler
+
+      for d in $outputs; do
+        mkdir -p ''${!d}/share
+      done
+      rmdir $bin/share
+
+      # have out contain all of the plugins
+      for plugin in bin/plugins/*; do
+        remove-references-to -t ${go} "$plugin"
+        cp "$plugin" $out/share/
+      done
+
+      # populate the outputs as individual plugins
+      # can't think of a more generic way to handle this
+      # bash doesn't allow for dashes '-' to be in a variable name
+      # this means that the output names will need to differ slightly from the binary
+      mv bin/plugins/aws-asg $aws_asg/share/
+      mv bin/plugins/azure-vmss $azure_vmss/share/
+      mv bin/plugins/datadog $datadog/share/
+      mv bin/plugins/fixed-value $fixed_value/share/
+      mv bin/plugins/gce-mig $gce_mig/share/
+      mv bin/plugins/nomad-apm $nomad_apm/share/
+      mv bin/plugins/nomad-target $nomad_target/share/
+      mv bin/plugins/pass-through $pass_through/share/
+      mv bin/plugins/prometheus $prometheus/share/
+      mv bin/plugins/target-value $target_value/share/
+      mv bin/plugins/threshold $threshold/share/
+    '';
+
+    # make toggle-able, so that overrided versions can disable this check if
+    # they want newer versions of the plugins without having to modify
+    # the output logic
+    doInstallCheck = true;
+    installCheckPhase = ''
+      rmdir bin/plugins || {
+        echo "Not all plugins were extracted"
+        echo "Please move the following to their related output: $(ls bin/plugins)"
+        exit 1
+      }
+    '';
+
+    passthru = {
+      inherit plugins withPlugins;
+    };
+
+    meta = with lib; {
+      description = "Autoscaling daemon for Nomad";
+      homepage = "https://github.com/hashicorp/nomad-autoscaler";
+      license = licenses.mpl20;
+      maintainers = with maintainers; [ jonringer ];
+    };
+  };
+
+  plugins = let
+      plugins = builtins.filter (n: !(lib.elem n [ "out" "bin" ])) package.outputs;
+    in lib.genAttrs plugins (output: package.${output});
+
+  # Intended to be used as: (nomad-autoscaler.withPlugins (ps: [ ps.aws_asg ps.nomad_target ])
+  withPlugins = f: buildEnv {
+    name = "nomad-autoscaler-env";
+    paths = [ package.bin ] ++ f plugins;
+  };
+in
+  package
diff --git a/nixpkgs/pkgs/applications/networking/cluster/nomad-driver-podman/default.nix b/nixpkgs/pkgs/applications/networking/cluster/nomad-driver-podman/default.nix
index cfa8d6fc674b..08a58672c01a 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/nomad-driver-podman/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/nomad-driver-podman/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "nomad-driver-podman";
-  version = "0.2.0";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1a2alapqm7wnkjm9cg0gvi63pkaila9lhsa5razv0vprhg1k84gy";
+    sha256 = "sha256-aVmXtYIquG0acVlbwNmgXUpuOgpsfMmfbnb5md9CN5w=";
   };
 
-  vendorSha256 = "1zs5y0zfi8dd9w371hpmah4iwxahgvaf70biqqdw3c9yp6yw2rwq";
+  vendorSha256 = "sha256-QXAXDoYN5egl5y0YV4/7yh5K0tjzjN5vRJRHyI8eU2E=";
 
   subPackages = [ "." ];
 
@@ -21,7 +21,7 @@ buildGoModule rec {
   meta = with lib; {
     homepage = "https://www.github.com/hashicorp/nomad-driver-podman";
     description = "Podman task driver for Nomad";
-    platforms = platforms.unix;
+    platforms = platforms.linux;
     license = licenses.mpl20;
     maintainers = with maintainers; [ cpcloud ];
   };
diff --git a/nixpkgs/pkgs/applications/networking/cluster/nomad/0.12.nix b/nixpkgs/pkgs/applications/networking/cluster/nomad/0.12.nix
deleted file mode 100644
index cf4a9cde526d..000000000000
--- a/nixpkgs/pkgs/applications/networking/cluster/nomad/0.12.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ callPackage
-, buildGoPackage
-, nvidia_x11
-, nvidiaGpuSupport
-}:
-
-callPackage ./generic.nix {
-  inherit buildGoPackage nvidia_x11 nvidiaGpuSupport;
-  version = "0.12.12";
-  sha256 = "0hz5fsqv8jh22zhs0r1yk0c4qf4sf11hmqg4db91kp2xrq72a0qg";
-}
diff --git a/nixpkgs/pkgs/applications/networking/cluster/nomad/1.0.nix b/nixpkgs/pkgs/applications/networking/cluster/nomad/1.0.nix
index ac6938e4ddc0..62034a39bbc0 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/nomad/1.0.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/nomad/1.0.nix
@@ -6,6 +6,6 @@
 
 callPackage ./generic.nix {
   inherit buildGoPackage nvidia_x11 nvidiaGpuSupport;
-  version = "1.0.8";
-  sha256 = "1kjwa9lnxh5zfzijqgkp94wslkzn6kspwi42kf46vrn0qkiz39f2";
+  version = "1.0.10";
+  sha256 = "1yd4j35dmxzg9qapqyq3g3hnhxi5c4f57q43xbim8255bjyn94f0";
 }
diff --git a/nixpkgs/pkgs/applications/networking/cluster/nomad/1.1.nix b/nixpkgs/pkgs/applications/networking/cluster/nomad/1.1.nix
index cfc38c2f59ea..3d34331b57d1 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/nomad/1.1.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/nomad/1.1.nix
@@ -1,11 +1,12 @@
 { callPackage
-, buildGoPackage
+, buildGoModule
 , nvidia_x11
 , nvidiaGpuSupport
 }:
 
-callPackage ./generic.nix {
-  inherit buildGoPackage nvidia_x11 nvidiaGpuSupport;
-  version = "1.1.2";
-  sha256 = "08ynfr2lqzv66ymj37qbc72lf2iq41kf94n76pdvynymk4dq98nq";
+callPackage ./genericModule.nix {
+  inherit buildGoModule nvidia_x11 nvidiaGpuSupport;
+  version = "1.1.4";
+  sha256 = "182f3sxw751s8qg16vbssplhl92i9gshgzvflwwvnxraz2795y7l";
+  vendorSha256 = "1nddknnsvb05sapbj1c52cv2fmibvdg48f88malxqblzw33wfziq";
 }
diff --git a/nixpkgs/pkgs/applications/networking/cluster/nomad/generic.nix b/nixpkgs/pkgs/applications/networking/cluster/nomad/generic.nix
index f4ddc038d2b6..586308dd424f 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/nomad/generic.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/nomad/generic.nix
@@ -29,16 +29,7 @@ buildGoPackage rec {
   # ui:
   #  Nomad release commits include the compiled version of the UI, but the file
   #  is only included if we build with the ui tag.
-  preBuild =
-    let
-      tags = [ "ui" ] ++ lib.optional (!nvidiaGpuSupport) "nonvidia";
-      tagsString = lib.concatStringsSep " " tags;
-    in
-    ''
-      export buildFlagsArray=(
-        -tags="${tagsString}"
-      )
-    '';
+  tags = [ "ui" ] ++ lib.optional (!nvidiaGpuSupport) "nonvidia";
 
   # The dependency on NVML isn't explicit. We have to make it so otherwise the
   # binary will not know where to look for the relevant symbols.
diff --git a/nixpkgs/pkgs/applications/networking/cluster/nomad/genericModule.nix b/nixpkgs/pkgs/applications/networking/cluster/nomad/genericModule.nix
new file mode 100644
index 000000000000..c2e657317533
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/cluster/nomad/genericModule.nix
@@ -0,0 +1,54 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, version
+, sha256
+, vendorSha256
+, nvidiaGpuSupport
+, patchelf
+, nvidia_x11
+, nixosTests
+}:
+
+buildGoModule rec {
+  pname = "nomad";
+  inherit version;
+
+  subPackages = [ "." ];
+
+  src = fetchFromGitHub {
+    owner = "hashicorp";
+    repo = pname;
+    rev = "v${version}";
+    inherit sha256;
+  };
+
+  inherit vendorSha256;
+
+  nativeBuildInputs = lib.optionals nvidiaGpuSupport [
+    patchelf
+  ];
+
+  # ui:
+  #  Nomad release commits include the compiled version of the UI, but the file
+  #  is only included if we build with the ui tag.
+  tags = [ "ui" ] ++ lib.optional (!nvidiaGpuSupport) "nonvidia";
+
+  # The dependency on NVML isn't explicit. We have to make it so otherwise the
+  # binary will not know where to look for the relevant symbols.
+  postFixup = lib.optionalString nvidiaGpuSupport ''
+    for bin in $out/bin/*; do
+      patchelf --add-needed "${nvidia_x11}/lib/libnvidia-ml.so" "$bin"
+    done
+  '';
+
+  passthru.tests.nomad = nixosTests.nomad;
+
+  meta = with lib; {
+    homepage = "https://www.nomadproject.io/";
+    description = "A Distributed, Highly Available, Datacenter-Aware Scheduler";
+    platforms = platforms.unix;
+    license = licenses.mpl20;
+    maintainers = with maintainers; [ rushmorem pradeepchhetri endocrimes maxeaubrey ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/cluster/octant/default.nix b/nixpkgs/pkgs/applications/networking/cluster/octant/default.nix
index dbbf65248713..fabdc7d5ab5e 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/octant/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/octant/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "octant";
-  version = "0.22.0";
+  version = "0.23.0";
 
   src =
     let
@@ -19,10 +19,10 @@ stdenv.mkDerivation rec {
       };
     in
     fetchsrc version {
-      x86_64-linux = "sha256-1/vyV6pUqovVpovTYFF4d75wJvtTNdrbLZyjw1lLacA=";
-      aarch64-linux = "sha256-1duNW0Edj0jrpv/RMrebtZF4ph6j3PXCJ2RFejOopGQ=";
-      x86_64-darwin = "sha256-Ur5jBPk5hA6cGg+pPf36Ijh94gWEdaWlJK3yCMBYyEU=";
-      aarch64-darwin = "sha256-RaiXW+MUihk291UWmrf6gLpyrd5stIkhyWNFEQ0daCk=";
+      x86_64-linux = "sha256-wnm4Zprlao+zbWVJNY4BsAT1fFMft7luyDaW2HfNotg=";
+      aarch64-linux = "sha256-eYvfLUelSrmdY9dbgAlPm7en88hsdCnejJGq2Gz4DN0=";
+      x86_64-darwin = "sha256-NXMQ4mbYfIK+arGWZVhQk5iAw6AZM9PAGJ9CEC/rmgA=";
+      aarch64-darwin = "sha256-WqlbiDV2CuBYr6IXQ8vaESxKNZGp9vBj683igazcmwM=";
     };
 
   dontConfigure = true;
diff --git a/nixpkgs/pkgs/applications/networking/cluster/octant/desktop.nix b/nixpkgs/pkgs/applications/networking/cluster/octant/desktop.nix
index e793df71a585..1a86a66fa29b 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/octant/desktop.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/octant/desktop.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "octant-desktop";
-  version = "0.22.0";
+  version = "0.23.0";
   name = "${pname}-${version}";
 
   inherit (stdenv.hostPlatform) system;
@@ -15,8 +15,8 @@ let
   src = fetchurl {
     url = "https://github.com/vmware-tanzu/octant/releases/download/v${version}/Octant-${version}.${suffix}";
     sha256 = {
-      x86_64-linux = "sha256-xMdNoH0UE/KLIQ0DjJfb+ZB/q2F+kyFEncrQ9YYJgE0=";
-      x86_64-darwin = "sha256-y3fmxrsQ0hCa1wuMiRGHf79kpi25qXv/idKrVT87oc0=";
+      x86_64-linux = "sha256-K4z6SVCiuqy3xkWMWpm8KM7iYVXyKcnERljMG3NEFMw=";
+      x86_64-darwin = "sha256-WYra0yw/aPW/wUGrlIn5ud3kjFTkekYEi2LWZcYO5Nw=";
     }.${system};
   };
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/octant/plugins/starboard-octant-plugin.nix b/nixpkgs/pkgs/applications/networking/cluster/octant/plugins/starboard-octant-plugin.nix
index 5a4546b8cd8c..9679f5bd2e03 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/octant/plugins/starboard-octant-plugin.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/octant/plugins/starboard-octant-plugin.nix
@@ -2,20 +2,20 @@
 
 buildGoModule rec {
   pname = "starboard-octant-plugin";
-  version = "0.10.3";
+  version = "0.11.0";
 
   src = fetchFromGitHub {
     owner = "aquasecurity";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-9vl068ZTw6Czf+cWQ0k1lU0pqh7P0YZgLguHkk3M918=";
+    sha256 = "sha256-XHc/1rqTEVOjCm0kFniUmmjVeRsr9Npt0OpQ6Oy7Rxo=";
   };
 
-  vendorSha256 = "sha256-HOvZPDVKZEoL91yyaJRuKThHirY77xlKOtLKARthxn8=";
+  vendorSha256 = "sha256-EM0lPwwWJuLD+aqZWshz1ILaeEtUU4wJ0Puwv1Ikgf4=";
 
-  preBuild = ''
-    buildFlagsArray+=("-ldflags" "-s -w")
-  '';
+  ldflags = [
+    "-s" "-w"
+  ];
 
   meta = with lib; {
     homepage = "https://github.com/aquasecurity/starboard-octant-plugin";
diff --git a/nixpkgs/pkgs/applications/networking/cluster/pgo-client/default.nix b/nixpkgs/pkgs/applications/networking/cluster/pgo-client/default.nix
index ec36d5f52acb..8c74602465cc 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/pgo-client/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/pgo-client/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "pgo-client";
-  version = "4.7.0";
+  version = "4.7.2";
 
   src = fetchFromGitHub {
     owner = "CrunchyData";
     repo = "postgres-operator";
     rev = "v${version}";
-    sha256 = "sha256-WuKLQWq/Zr/eDaUq/HbydHMdtlCWmjM858PLX7hYba4=";
+    sha256 = "sha256-SUv5896Ao+EQEM3Mb//rTDVXJgbK/cOGKBeazF/USfQ=";
   };
 
   vendorSha256 = "sha256-m8b6Lh6it67A6cppdBDX4X0u7Kde4GQz9wln/TrHVwI=";
diff --git a/nixpkgs/pkgs/applications/networking/cluster/pig/default.nix b/nixpkgs/pkgs/applications/networking/cluster/pig/default.nix
index ded8a2ea4932..a4270fbcea35 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/pig/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/pig/default.nix
@@ -1,11 +1,11 @@
 { lib, stdenv, fetchurl, makeWrapper, hadoop, jre, bash }:
 
 stdenv.mkDerivation rec {
-
-  name = "pig-0.17.0";
+  pname = "pig";
+  version = "0.17.0";
 
   src = fetchurl {
-    url = "mirror://apache/pig/${name}/${name}.tar.gz";
+    url = "mirror://apache/pig/${pname}-${version}/${pname}-${version}.tar.gz";
     sha256 = "1wwpg0w47f49rnivn2d26vrxgyfl9gpqx3vmzbl5lhx6x5l3fqbd";
 
   };
diff --git a/nixpkgs/pkgs/applications/networking/cluster/popeye/default.nix b/nixpkgs/pkgs/applications/networking/cluster/popeye/default.nix
index 67fde535f56a..910317bd9673 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/popeye/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/popeye/default.nix
@@ -2,23 +2,22 @@
 
 buildGoModule rec {
   pname = "popeye";
-  version = "0.9.2";
+  version = "0.9.7";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "derailed";
     repo = "popeye";
-    sha256 = "sha256-GSH9q0hnyuGiJAdbFWKbaaYoHKl4e0SNmBkOvpn5a6s=";
+    sha256 = "sha256-oft1zLLd5TP8S9GMjp5kYaoPoOYnbhJwL2wBerkhp+c=";
   };
 
-  buildFlagsArray = ''
-    -ldflags=
-      -s -w
-      -X github.com/derailed/popeye/cmd.version=${version}
-      -X github.com/derailed/popeye/cmd.commit=${version}
-  '';
+  ldflags = [
+    "-s" "-w"
+    "-X github.com/derailed/popeye/cmd.version=${version}"
+    "-X github.com/derailed/popeye/cmd.commit=${version}"
+  ];
 
-  vendorSha256 = "sha256-pK04vGL9Izv1aK8UA+/3lSt/SjLyckjnfSCrOalRj3c=";
+  vendorSha256 = "sha256-vUUDLMicop5QzZmAHi5qrc0hx8oV2xWNFHvCWioLhl8=";
 
   doCheck = true;
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/qbec/default.nix b/nixpkgs/pkgs/applications/networking/cluster/qbec/default.nix
index 7bcd905c9997..f5fb6ee234c5 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/qbec/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/qbec/default.nix
@@ -2,26 +2,25 @@
 
 buildGoModule rec {
   pname = "qbec";
-  version = "0.14.2";
+  version = "0.14.6";
 
   src = fetchFromGitHub {
     owner = "splunk";
     repo = "qbec";
     rev = "v${version}";
-    sha256 = "sha256-F5xnW9069Xrl6isvmeYtfTZUZSiSq47HLs5/p3HCf6E=";
+    sha256 = "sha256-zsabEYmbWW6lwqyqpPIgCmA4PE6F5Byb8KT/PlLSlvY=";
   };
 
-  vendorSha256 = "sha256-wtpXqIixjRYYSIPe43Q5627g6mu05WdvwCi9cXVgCBs=";
+  vendorSha256 = "sha256-VOBRQJzATaY9DNRhZvYTRpoISikbzUAwS/1hUfce/44=";
 
   doCheck = false;
 
-  buildFlagsArray = ''
-    -ldflags=
-      -s -w
-      -X github.com/splunk/qbec/internal/commands.version=${version}
-      -X github.com/splunk/qbec/internal/commands.commit=${src.rev}
-      -X github.com/splunk/qbec/internal/commands.goVersion=${lib.getVersion go}
-  '';
+  ldflags = [
+    "-s" "-w"
+    "-X github.com/splunk/qbec/internal/commands.version=${version}"
+    "-X github.com/splunk/qbec/internal/commands.commit=${src.rev}"
+    "-X github.com/splunk/qbec/internal/commands.goVersion=${lib.getVersion go}"
+  ];
 
   meta = with lib; {
     description = "Configure kubernetes objects on multiple clusters using jsonnet https://qbec.io";
diff --git a/nixpkgs/pkgs/applications/networking/cluster/sonobuoy/default.nix b/nixpkgs/pkgs/applications/networking/cluster/sonobuoy/default.nix
index 8f4324f43435..b82b6cf610de 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/sonobuoy/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/sonobuoy/default.nix
@@ -1,29 +1,29 @@
 { lib, buildGoModule, fetchFromGitHub }:
 
 # SHA of ${version} for the tool's help output. Unfortunately this is needed in build flags.
-let rev = "f6e19140201d6bf2f1274bf6567087bc25154210";
+let rev = "981a3ffd4368600eb1a5bca3f12a251e80895d37";
 in
 buildGoModule rec {
   pname = "sonobuoy";
-  version = "0.50.0"; # Do not forget to update `rev` above
+  version = "0.53.2"; # Do not forget to update `rev` above
 
-  buildFlagsArray =
+  ldflags =
     let t = "github.com/vmware-tanzu/sonobuoy";
-    in ''
-      -ldflags=
-        -s -X ${t}/pkg/buildinfo.Version=v${version}
-           -X ${t}/pkg/buildinfo.GitSHA=${rev}
-           -X ${t}/pkg/buildDate=unknown
-    '';
+    in [
+      "-s"
+      "-X ${t}/pkg/buildinfo.Version=v${version}"
+      "-X ${t}/pkg/buildinfo.GitSHA=${rev}"
+      "-X ${t}/pkg/buildDate=unknown"
+    ];
 
   src = fetchFromGitHub {
-    sha256 = "sha256-LhprsDlWZjNRE6pu7V9WBszy/+bNpn5KoRopIoWvdsg=";
+    sha256 = "sha256-8bUZsknG1Z2TKWwtuJtnauK8ibikGphl3oiLXT3PZzY=";
     rev = "v${version}";
     repo = "sonobuoy";
     owner = "vmware-tanzu";
   };
 
-  vendorSha256 = "sha256-0Vx74nz0djJB12UPybo2Z8KVpSyKHuKPFymh/Rlpv88=";
+  vendorSha256 = "sha256-Lkwv95BZa7nFEXk1KcwXIRVpj9DZmqnWjkdrZkO/k24=";
 
   subPackages = [ "." ];
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/starboard/default.nix b/nixpkgs/pkgs/applications/networking/cluster/starboard/default.nix
index 121611fd197d..066b70e8e254 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/starboard/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/starboard/default.nix
@@ -2,23 +2,23 @@
 
 buildGoModule rec {
   pname = "starboard";
-  version = "0.10.3";
+  version = "0.11.0";
 
   src = fetchFromGitHub {
     owner = "aquasecurity";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-SJogepww3IJt+NAkJ0G/lLgZ3rMWDTC+jHIrzzkzJGA=";
+    sha256 = "sha256-NV37K5JUfGPK8TwCi/4XY7MQUvp76vzdxsHUNPlYpYk=";
   };
 
-  vendorSha256 = "sha256-vNsYGlcVIj/cDijCFz8fG5Ht/s7koM62GV8zkOyA/fA=";
+  vendorSha256 = "sha256-4CmAf1s+tK7cKxwetgv0YewLLROsZ5g1Zd30FCep5k8=";
 
   # Don't build and check the integration tests
   excludedPackages = "itest";
 
-  preBuild = ''
-    buildFlagsArray+=("-ldflags" "-s -w -X main.version=v${version}")
-  '';
+  ldflags = [
+    "-s" "-w" "-X main.version=v${version}"
+  ];
 
   preCheck = ''
     # Remove test that requires networking
diff --git a/nixpkgs/pkgs/applications/networking/cluster/stern/default.nix b/nixpkgs/pkgs/applications/networking/cluster/stern/default.nix
index 09851e67ab56..74508a73227d 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/stern/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/stern/default.nix
@@ -4,23 +4,23 @@ let isCrossBuild = stdenv.hostPlatform != stdenv.buildPlatform;
 in
 buildGoModule rec {
   pname = "stern";
-  version = "1.19.0";
+  version = "1.20.0";
 
   src = fetchFromGitHub {
     owner = "stern";
     repo = "stern";
     rev = "v${version}";
-    sha256 = "sha256-jgmURvc1did3YgtqWlAzFbWxc3jHHylOfCVOLeAC7V8=";
+    sha256 = "sha256-y8FkQBZHg4LYC8CmwQSg2oZjIrlY30tL/OkfnT+XsMM=";
   };
 
-  vendorSha256 = "sha256-p8WoFDwABXcO54WKP5bszoht2JdjHlRJjbG8cMyNo6A=";
+  vendorSha256 = "sha256-217OKXT072hpq4a6JEev4rSR8uUoPdDbOR7KUkhpM9E=";
 
   subPackages = [ "." ];
 
   nativeBuildInputs = [ installShellFiles ];
 
-  buildFlagsArray =
-    [ "-ldflags=-s -w -X github.com/stern/stern/cmd.version=${version}" ];
+  ldflags =
+    [ "-s" "-w" "-X github.com/stern/stern/cmd.version=${version}" ];
 
   postInstall =
     let stern = if isCrossBuild then buildPackages.stern else "$out";
diff --git a/nixpkgs/pkgs/applications/networking/cluster/tanka/default.nix b/nixpkgs/pkgs/applications/networking/cluster/tanka/default.nix
index bf11b35d71aa..6aee37c57ed4 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/tanka/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/tanka/default.nix
@@ -17,7 +17,7 @@ buildGoModule rec {
 
   subPackages = [ "cmd/tk" ];
 
-  buildFlagsArray = [ "-ldflags=-s -w -extldflags \"-static\" -X github.com/grafana/tanka/pkg/tanka.CURRENT_VERSION=v${version}" ];
+  ldflags = [ "-s" "-w" "-extldflags '-static'" "-X github.com/grafana/tanka/pkg/tanka.CURRENT_VERSION=v${version}" ];
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/temporal/default.nix b/nixpkgs/pkgs/applications/networking/cluster/temporal/default.nix
index 55f1a5a2c09e..064bd453301d 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/temporal/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/temporal/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "temporal";
-  version = "1.11.1";
+  version = "1.11.4";
 
   src = fetchFromGitHub {
     owner = "temporalio";
     repo = "temporal";
     rev = "v${version}";
-    sha256 = "sha256-upoWftm82QBdax0lbeu+Nmwscsj/fsOzGUPI+fzcKUM=";
+    sha256 = "sha256-JVwFNhWAoZk3ZRl180KgE94DQPbowRya9irwwJQyN3g=";
   };
 
-  vendorSha256 = "sha256-eO/23MQpdXQNPCIzMC9nxvrgUFuEPABJ7vkBZKv+XZI";
+  vendorSha256 = "sha256-eO/23MQpdXQNPCIzMC9nxvrgUFuEPABJ7vkBZKv+XZI=";
 
   # Errors:
   #  > === RUN   TestNamespaceHandlerGlobalNamespaceDisabledSuite
diff --git a/nixpkgs/pkgs/applications/networking/cluster/terraform-docs/default.nix b/nixpkgs/pkgs/applications/networking/cluster/terraform-docs/default.nix
index bc04d283507b..44ceb3f16227 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/terraform-docs/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/terraform-docs/default.nix
@@ -1,16 +1,16 @@
 { lib, buildGoModule, fetchFromGitHub }:
 buildGoModule rec {
   pname = "terraform-docs";
-  version = "0.14.1";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "terraform-docs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Jm0ySxn4GFW4iAH3tOIvclcDGJMKzH7m7fhWnAf4+gs=";
+    sha256 = "sha256-PzGlEEhootf2SCOy7+11aST7NMTNhNMQWeZO40mrMYQ=";
   };
 
-  vendorSha256 = "sha256-IzmAlthE6SVvGHj72wrY1/KLehOv8Ck9VaTv5jMpt48=";
+  vendorSha256 = "sha256-T/jgFPBUQMATX7DoWsDR/VFjka7Vxk7F4taE25cdnTk=";
 
   subPackages = [ "." ];
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/cloudfoundry/default.nix b/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/cloudfoundry/default.nix
index 1ee986d20303..05d46c079f83 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/cloudfoundry/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/cloudfoundry/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "terraform-provider-cloudfoundry";
-  version = "0.12.6";
+  version = "0.14.2";
 
   src = fetchFromGitHub {
     owner = "cloudfoundry-community";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0n5ybpzk6zkrnd9vpmbjlkm8fdp7nbfr046wih0jk72pmiyrcygi";
+    sha256 = "12mx87dip6vn10zvkf4rgrd27k708lnl149j9xj7bmb8v9m1082v";
   };
 
-  vendorSha256 = "01lfsd9aw9w3kr1a2a5b7ac6d8jaij83lhxl4y4qsnjlqk86fbxq";
+  vendorSha256 = "0kydjnwzj0fylizvk1vg42zyiy17qhz40z3iwa1r5bb20qkrlz93";
 
   # needs a running cloudfoundry
   doCheck = false;
diff --git a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/default.nix b/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/default.nix
index d88602d75bae..48923330afee 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/default.nix
@@ -3,6 +3,7 @@
 , buildGoPackage
 , fetchFromGitHub
 , callPackage
+, config
 }:
 let
   list = lib.importJSON ./providers.json;
@@ -45,13 +46,6 @@ let
 
   # These are the providers that don't fall in line with the default model
   special-providers = {
-    acme = automated-providers.acme.overrideAttrs (attrs: {
-      prePatch = attrs.prePatch or "" + ''
-        substituteInPlace go.mod --replace terraform-providers/terraform-provider-acme getstackhead/terraform-provider-acme
-        substituteInPlace main.go --replace terraform-providers/terraform-provider-acme getstackhead/terraform-provider-acme
-      '';
-    });
-
     # Packages that don't fit the default model
     ansible = callPackage ./ansible {};
     cloudfoundry = callPackage ./cloudfoundry {};
@@ -62,6 +56,8 @@ let
     lxd = callPackage ./lxd {};
     vpsadmin = callPackage ./vpsadmin {};
     vercel = callPackage ./vercel {};
-  };
+  } // (lib.optionalAttrs (config.allowAliases or false) {
+    kubernetes-alpha = throw "This has been merged as beta into the kubernetes provider. See https://www.hashicorp.com/blog/beta-support-for-crds-in-the-terraform-provider-for-kubernetes for details";
+  });
 in
   automated-providers // special-providers
diff --git a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/providers.json b/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/providers.json
index cc46bf16ac7d..3779472fdf10 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/providers.json
+++ b/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/providers.json
@@ -7,12 +7,13 @@
     "version": "0.2.3"
   },
   "acme": {
-    "owner": "getstackhead",
-    "provider-source-address": "registry.terraform.io/getstackhead/acme",
+    "owner": "vancluever",
+    "provider-source-address": "registry.terraform.io/vancluever/acme",
     "repo": "terraform-provider-acme",
-    "rev": "v1.5.0-patched",
-    "sha256": "1wdrjpd3l0xadsa3lqhsc9c57g8x2qkwb76q824sk8za1a7lapii",
-    "version": "1.5.0-patched"
+    "rev": "v2.5.2",
+    "sha256": "0yk5yxx8vdfymxggydpzsb2a0iw4n8010wlprz23qg37gb2p26yf",
+    "vendorSha256": "04zrrn67w30ib0n5s4f31x3nl3h3xz2r522ldkbbx20jy5iabrkk",
+    "version": "2.5.2"
   },
   "aiven": {
     "owner": "aiven",
@@ -79,10 +80,10 @@
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/aws",
     "repo": "terraform-provider-aws",
-    "rev": "v3.43.0",
-    "sha256": "05rv93y9hf0l869q6i581748rw4bahvsgggj0h7cwjnf7xap0sxj",
-    "vendorSha256": "1m6pkrpknslqnv60cz5739gp5nxc7xhga402wkl37gdagmadkmrk",
-    "version": "3.43.0"
+    "rev": "v3.56.0",
+    "sha256": "0fa61i172maanxmxz28mj7mkgrs9a5bs61mlvb0d5y97lv6pm2xg",
+    "vendorSha256": "1s22k4b2zq5n0pz6iqbqsf6f7chsbvkpdn432rvyshcryxlklfvl",
+    "version": "3.56.0"
   },
   "azuread": {
     "owner": "hashicorp",
@@ -244,11 +245,13 @@
     "version": "0.8.0"
   },
   "datadog": {
-    "owner": "terraform-providers",
+    "owner": "DataDog",
+    "provider-source-address": "registry.terraform.io/DataDog/datadog",
     "repo": "terraform-provider-datadog",
-    "rev": "v2.7.0",
-    "sha256": "0cq11cjcm2nlszqhsrj425mk8dp0h5ljrrn7jplrbffp8g6wvadd",
-    "version": "2.7.0"
+    "rev": "v3.2.0",
+    "sha256": "1qrk40w81qzcmm52gr3ysrh077417cxyh4xy7igwdjfzl85z22mx",
+    "vendorSha256": "0iphsz6y9gajwmw5rj4yq65azx02ki093agqbqw49rnzdhc6jahr",
+    "version": "3.2.0"
   },
   "digitalocean": {
     "owner": "digitalocean",
@@ -329,11 +332,13 @@
     "version": "2.1.0"
   },
   "fastly": {
-    "owner": "terraform-providers",
+    "owner": "fastly",
+    "provider-source-address": "registry.terraform.io/fastly/fastly",
     "repo": "terraform-provider-fastly",
-    "rev": "v0.16.1",
-    "sha256": "1pjrcw03a86xgkzcx778f7kk79svv8csy05b7qi0m5x77zy4pws7",
-    "version": "0.16.1"
+    "rev": "v0.34.0",
+    "sha256": "1za00gzmyxr6wfzzq92m3spi9563pbpjwj24sm95kj34l6mfwpyx",
+    "vendorSha256": null,
+    "version": "0.34.0"
   },
   "flexibleengine": {
     "owner": "terraform-providers",
@@ -375,19 +380,19 @@
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/google",
     "repo": "terraform-provider-google",
-    "rev": "v3.62.0",
-    "sha256": "0x0qp8nk88667hvlpgxrdjsgirw8iwv85gn3k9xb37a3lw7xs4qz",
-    "vendorSha256": "0w6aavj1c4blpvsy00vz4dcj8rnxx6a586b16lqp6s1flqmlqrbi",
-    "version": "3.62.0"
+    "rev": "v3.76.0",
+    "sha256": "1j3q07v4r0a3mlkmpqw8nav5z09fwyms9xmlyk6k6xkkzr520xcp",
+    "vendorSha256": "1ffxfracj4545fzh6p6b0wal0j07807qc2q83qzchbalqvi7yhky",
+    "version": "3.76.0"
   },
   "google-beta": {
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/google-beta",
     "repo": "terraform-provider-google-beta",
-    "rev": "v3.47.0",
-    "sha256": "1nk0bg2q7dg65rn3j5pkdjv07x0gs7bkv1bpfvlhi9p4fzx9g4by",
-    "vendorSha256": "0c2q4d2khsi3v9b659q1kmncnlshv4px6ch99jpcymwqg3xrxda2",
-    "version": "3.47.0"
+    "rev": "v3.76.0",
+    "sha256": "1bdhk4vfn8pn7ql5q8m4r8js8d73zyp3dbhrmh4p07g7i5z57pjq",
+    "vendorSha256": "0cwvkzw45b057gwbj24z9gyldjpyfgv3fyr5x160spj0ksfn0ki0",
+    "version": "3.76.0"
   },
   "grafana": {
     "owner": "grafana",
@@ -558,19 +563,10 @@
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/kubernetes",
     "repo": "terraform-provider-kubernetes",
-    "rev": "v2.1.0",
-    "sha256": "02ygydgi3fa8z6qd04hgcilbbwns8f21agaqxly2pf9j23fzi37g",
-    "vendorSha256": null,
-    "version": "2.1.0"
-  },
-  "kubernetes-alpha": {
-    "owner": "hashicorp",
-    "provider-source-address": "registry.terraform.io/hashicorp/kubernetes-alpha",
-    "repo": "terraform-provider-kubernetes-alpha",
-    "rev": "v0.5.0",
-    "sha256": "0yqm3wlya69w9g9kzgvm28mbbwp6wik51syjnbnj8dis5kspx8gd",
+    "rev": "v2.4.1",
+    "sha256": "0mk0f12yy58gjkki7xpf9bjfw9h9zdgby2b4bddqp5csq11payhd",
     "vendorSha256": null,
-    "version": "0.5.0"
+    "version": "2.4.1"
   },
   "launchdarkly": {
     "owner": "terraform-providers",
@@ -634,9 +630,10 @@
     "owner": "equinix",
     "provider-source-address": "registry.terraform.io/equinix/metal",
     "repo": "terraform-provider-metal",
-    "rev": "v2.1.0",
-    "sha256": "06i3rj6ig8hxbncdpa8b11v8pr3zhi90ppmf77jjin1114ikd172",
-    "version": "2.1.0"
+    "rev": "v3.0.0",
+    "sha256": "08h1h0rpaxpidhslpq1i4bmc6i48rwcg7fsvwgqc202l5m7yk3wd",
+    "vendorSha256": null,
+    "version": "3.0.0"
   },
   "metalcloud": {
     "owner": "terraform-providers",
@@ -797,11 +794,13 @@
     "version": "1.5.3"
   },
   "ovh": {
-    "owner": "terraform-providers",
+    "owner": "ovh",
+    "provider-source-address": "registry.terraform.io/ovh/ovh",
     "repo": "terraform-provider-ovh",
-    "rev": "v0.8.0",
-    "sha256": "1ww4ng8w5hm50rbxd83xzbkq8qsn04dqwpdjhs587v9d0x2vwrf1",
-    "version": "0.8.0"
+    "rev": "v0.15.0",
+    "sha256": "1cmcfg9vq8cl98d5xambm5hr516b9pblm06y1py9v7msmfh3g09i",
+    "vendorSha256": null,
+    "version": "0.15.0"
   },
   "packet": {
     "owner": "packethost",
diff --git a/nixpkgs/pkgs/applications/networking/cluster/terraform/default.nix b/nixpkgs/pkgs/applications/networking/cluster/terraform/default.nix
index 8d13fab793c9..a5dcc900ff0d 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/terraform/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/terraform/default.nix
@@ -195,9 +195,9 @@ rec {
   };
 
   terraform_1_0 = mkTerraform {
-    version = "1.0.3";
-    sha256 = "0m7r66nw0nppra90sjhbq5d0f4q525c73q6ncmy6w37j2nixz35z";
-    vendorSha256 = "07pzqvf9lwgc1fadmyam5hn7arlvzrjsplls445738jpn61854gg";
+    version = "1.0.6";
+    sha256 = "1i1f2gmiv49ia6d4yi137s705vrxdc3rqxanjgwzysif11j6iwwc";
+    vendorSha256 = "00cl42w1mzsi9qd09wydfvp5f2h7lxaay6s2dv0mf47k6h7prf42";
     patches = [ ./provider-path-0_15.patch ];
     passthru = { inherit plugins; };
   };
diff --git a/nixpkgs/pkgs/applications/networking/cluster/terragrunt/default.nix b/nixpkgs/pkgs/applications/networking/cluster/terragrunt/default.nix
index 589164e2769f..214d3bfe3440 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/terragrunt/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/terragrunt/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "terragrunt";
-  version = "0.31.1";
+  version = "0.31.7";
 
   src = fetchFromGitHub {
     owner = "gruntwork-io";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-vc3DGYb3vp55LRguhg3nG5zH7w1lTFEI2bx7kNffvas=";
+    sha256 = "sha256-PCBKuTJ0IbYma584qIPrxGfwOIzHszWH+bW8iy0OUvo=";
   };
 
-  vendorSha256 = "sha256-lBhLaYn8adgfCXQJBsIVuwnA0vY8+tgeqE+C669AV+A=";
+  vendorSha256 = "sha256-y84EFmoJS4SeA5YFIVFU0iWa5NnjU5yvOj7OFE+jGN0=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/tfswitch/default.nix b/nixpkgs/pkgs/applications/networking/cluster/tfswitch/default.nix
index f56f8bc6d652..404d40e89f8d 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/tfswitch/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/tfswitch/default.nix
@@ -1,16 +1,16 @@
 { buildGoModule, lib, fetchFromGitHub }:
 buildGoModule rec {
   pname = "tfswitch";
-  version = "0.12.1119";
+  version = "0.12.1168";
 
   src = fetchFromGitHub {
     owner = "warrensbox";
     repo = "terraform-switcher";
     rev = version;
-    sha256 = "1xsmr4hnmdg2il3rp39cyhv55ha4qcilcsr00iiija3bzxsm4rya";
+    sha256 = "sha256-BKqbxja19JxAr9/Cy7LpbZTJrt/pYfwtCbZMY0wwvZc=";
   };
 
-  vendorSha256 = "0mpm4m07v8w02g95cnj73m5gvd118id4ag2pym8d9r2svkyz5n70";
+  vendorSha256 = "sha256-y8T1MV2xHr9n7XWmB4LikIzyGx+0XKhsxmatnCZFN9I=";
 
   # Disable tests since it requires network access and relies on the
   # presence of release.hashicorp.com
diff --git a/nixpkgs/pkgs/applications/networking/cluster/tilt/default.nix b/nixpkgs/pkgs/applications/networking/cluster/tilt/default.nix
index d717bd42652b..b4e44a05d82e 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/tilt/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/tilt/default.nix
@@ -17,7 +17,7 @@ buildGoModule rec {
 
   subPackages = [ "cmd/tilt" ];
 
-  buildFlagsArray = [ "-ldflags=-X main.version=${version}" ];
+  ldflags = [ "-X main.version=${version}" ];
 
   meta = with lib; {
     description = "Local development tool to manage your developer instance when your team deploys to Kubernetes in production";
diff --git a/nixpkgs/pkgs/applications/networking/cluster/velero/default.nix b/nixpkgs/pkgs/applications/networking/cluster/velero/default.nix
index b38787e29689..76babadc023c 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/velero/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/velero/default.nix
@@ -3,30 +3,33 @@
 buildGoModule rec {
   pname = "velero";
   # When updating, change the commit underneath
-  version = "1.6.0";
-  commit = "5bd70fd8eef316d220317245e46dc6016c348dce";
+  version = "1.6.3";
+  commit = "8c9cdb9603446760452979dc77f93b17054ea1cc";
 
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "vmware-tanzu";
     repo = "velero";
-    sha256 = "sha256-2d4xsffh5DpxGahmzXpgUBRFAt5CsDnHCm8xU1ksqyQ=";
+    sha256 = "sha256-oFDTjpcwlvSiAROG/EKYRCD+qKyZXu1gKotBcD0dfvk=";
   };
 
-  buildFlagsArray = ''
-    -ldflags=
-      -s -w
-      -X github.com/vmware-tanzu/velero/pkg/buildinfo.Version=${version}
-      -X github.com/vmware-tanzu/velero/pkg/buildinfo.GitSHA=${commit}
-      -X github.com/vmware-tanzu/velero/pkg/buildinfo.GitTreeState=clean
-  '';
+  ldflags = [
+    "-s" "-w"
+    "-X github.com/vmware-tanzu/velero/pkg/buildinfo.Version=${version}"
+    "-X github.com/vmware-tanzu/velero/pkg/buildinfo.GitSHA=${commit}"
+    "-X github.com/vmware-tanzu/velero/pkg/buildinfo.GitTreeState=clean"
+  ];
 
-  vendorSha256 = "sha256-aQjtebIyV69nRwc/zvK/9v0mX3pAPKfOunSL/FpFZJU=";
+  vendorSha256 = "sha256-ypgrdv6nVW+AAwyVsiROXs6jGgDTodGrGqiT2s5elOU=";
 
-  excludedPackages = [ "issue-template-gen" ];
+  excludedPackages = [ "issue-template-gen" "crd-gen" "release-tools" "velero-restic-restore-helper" ];
 
-  doCheck = false;
+  doCheck = false; # Tests expect a running cluster see https://github.com/vmware-tanzu/velero/tree/main/test/e2e
+  doInstallCheck = true;
+  installCheckPhase = ''
+    $out/bin/velero version --client-only | grep ${version} > /dev/null
+  '';
 
   nativeBuildInputs = [ installShellFiles ];
   postInstall = ''
@@ -43,6 +46,5 @@ buildGoModule rec {
       "https://github.com/vmware-tanzu/velero/releases/tag/v${version}";
     license = licenses.asl20;
     maintainers = [ maintainers.mbode maintainers.bryanasdev000 ];
-    platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/dnscontrol/default.nix b/nixpkgs/pkgs/applications/networking/dnscontrol/default.nix
index 494a40c6bfe0..d767a381ea49 100644
--- a/nixpkgs/pkgs/applications/networking/dnscontrol/default.nix
+++ b/nixpkgs/pkgs/applications/networking/dnscontrol/default.nix
@@ -15,7 +15,7 @@ buildGoModule rec {
 
   subPackages = [ "." ];
 
-  buildFlagsArray = [ "-ldflags=-s -w" ];
+  ldflags = [ "-s" "-w" ];
 
   meta = with lib; {
     description = "Synchronize your DNS to multiple providers from a simple DSL";
diff --git a/nixpkgs/pkgs/applications/networking/feedreaders/rss2email/default.nix b/nixpkgs/pkgs/applications/networking/feedreaders/rss2email/default.nix
index 9ecadd56f150..9f0ebc7d930f 100644
--- a/nixpkgs/pkgs/applications/networking/feedreaders/rss2email/default.nix
+++ b/nixpkgs/pkgs/applications/networking/feedreaders/rss2email/default.nix
@@ -4,14 +4,14 @@ with pythonPackages;
 
 buildPythonApplication rec {
   pname = "rss2email";
-  version = "3.13";
+  version = "3.13.1";
 
   propagatedBuildInputs = [ feedparser html2text ];
   checkInputs = [ beautifulsoup4 ];
 
   src = fetchurl {
     url = "mirror://pypi/r/rss2email/${pname}-${version}.tar.gz";
-    sha256 = "09vp2y0ibv20y9yysniv6njzigif4h74pkj31l2a8xw5g19gclna";
+    sha256 = "3994444766874bb35c9f886da76f3b24be1cb7bbaf40fad12b16f2af80ac1296";
   };
 
   outputs = [ "out" "man" "doc" ];
diff --git a/nixpkgs/pkgs/applications/networking/feedreaders/rssguard/default.nix b/nixpkgs/pkgs/applications/networking/feedreaders/rssguard/default.nix
index 7e13408d04d7..b313e0f87cb3 100644
--- a/nixpkgs/pkgs/applications/networking/feedreaders/rssguard/default.nix
+++ b/nixpkgs/pkgs/applications/networking/feedreaders/rssguard/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rssguard";
-  version = "3.9.1";
+  version = "3.9.2";
 
   src = fetchFromGitHub {
     owner = "martinrotter";
     repo = pname;
     rev = version;
-    sha256 = "sha256-zSnSCbBNySc5GQSm0O8NztCKNqdNs6bGNWL/RkmGsUw=";
+    sha256 = "sha256-vWKPIm8iqgjeC7BEBzd5wyFRkLstmdqEtdsror+HUgU=";
   };
 
   buildInputs =  [ qtwebengine qttools ];
diff --git a/nixpkgs/pkgs/applications/networking/flent/default.nix b/nixpkgs/pkgs/applications/networking/flent/default.nix
index 9e76a73233cf..8df990ec4fa5 100644
--- a/nixpkgs/pkgs/applications/networking/flent/default.nix
+++ b/nixpkgs/pkgs/applications/networking/flent/default.nix
@@ -3,10 +3,10 @@
 
 buildPythonApplication rec {
   pname = "flent";
-  version = "1.3.2";
+  version = "2.0.1";
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1k265xxxjld6q38m9lsgy7p0j70qp9a49vh9zg0njbi4i21lxq23";
+    sha256 = "300a09938dc2b4a0463c9144626f25e0bd736fd47806a9444719fa024d671796";
   };
 
   buildInputs = [ sphinx ];
diff --git a/nixpkgs/pkgs/applications/networking/flexget/default.nix b/nixpkgs/pkgs/applications/networking/flexget/default.nix
index b898ce337421..dbbcc6596640 100644
--- a/nixpkgs/pkgs/applications/networking/flexget/default.nix
+++ b/nixpkgs/pkgs/applications/networking/flexget/default.nix
@@ -1,16 +1,22 @@
-{ lib, python3Packages }:
+{ lib, python3Packages, fetchFromGitHub }:
 
 python3Packages.buildPythonApplication rec {
   pname = "flexget";
-  version = "3.1.131";
+  version = "3.1.136";
 
-  src = python3Packages.fetchPypi {
-    pname = "FlexGet";
-    inherit version;
-    sha256 = "sha256-wjMtCrffRhk7NL+Z0PeljuDc3WjVWSMsjWLbqo8qUjU=";
+  # Fetch from GitHub in order to use `requirements.in`
+  src = fetchFromGitHub {
+    owner = "flexget";
+    repo = "flexget";
+    rev = "v${version}";
+    sha256 = "058sja2miwhr6lx5j8r9d97k4ywh6dsxd05nb5w19z6a0sq1vmyb";
   };
 
   postPatch = ''
+    # Symlink requirements.in because upstream uses `pip-compile` which yields
+    # python-version dependent requirements
+    ln -sf requirements.in requirements.txt
+
     # remove dependency constraints
     sed 's/==\([0-9]\.\?\)\+//' -i requirements.txt
 
diff --git a/nixpkgs/pkgs/applications/networking/ftp/filezilla/default.nix b/nixpkgs/pkgs/applications/networking/ftp/filezilla/default.nix
index 5472782758cb..59478265529f 100644
--- a/nixpkgs/pkgs/applications/networking/ftp/filezilla/default.nix
+++ b/nixpkgs/pkgs/applications/networking/ftp/filezilla/default.nix
@@ -18,11 +18,11 @@
 
 stdenv.mkDerivation rec {
   pname = "filezilla";
-  version = "3.53.1";
+  version = "3.55.1";
 
   src = fetchurl {
     url = "https://download.filezilla-project.org/client/FileZilla_${version}_src.tar.bz2";
-    sha256 = "sha256-ZWh08ursVGcscvQepeoUnFAZfFDeXWdIu0HXIr/D93k=";
+    sha256 = "sha256-Z/jQ4R9T/SMgfTy/yULQPz4j7kOe5IoUohQ8mVD3dqU=";
   };
 
   # https://www.linuxquestions.org/questions/slackware-14/trouble-building-filezilla-3-47-2-1-current-4175671182/#post6099769
diff --git a/nixpkgs/pkgs/applications/networking/ftp/taxi/default.nix b/nixpkgs/pkgs/applications/networking/ftp/taxi/default.nix
index 66692f96c669..c6015a669638 100644
--- a/nixpkgs/pkgs/applications/networking/ftp/taxi/default.nix
+++ b/nixpkgs/pkgs/applications/networking/ftp/taxi/default.nix
@@ -4,6 +4,7 @@
 , gobject-introspection
 , gtk3
 , libgee
+, libhandy
 , libsecret
 , libsoup
 , meson
@@ -18,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "taxi";
-  version = "0.0.1-unstable=2020-09-03";
+  version = "2.0.2";
 
   src = fetchFromGitHub {
     owner = "Alecaddd";
     repo = pname;
-    rev = "74aade67fd9ba9e5bc10c950ccd8d7e48adc2ea1";
-    sha256 = "sha256-S/FeKJxIdA30CpfFVrQsALdq7Gy4F4+P50Ky5tmqKvM=";
+    rev = version;
+    sha256 = "1a4a14b2d5vqbk56drzbbldp0nngfqhwycpyv8d3svi2nchkvpqa";
   };
 
   nativeBuildInputs = [
@@ -40,6 +41,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     gtk3
     libgee
+    libhandy
     libsecret
     libsoup
     pantheon.granite
@@ -54,7 +56,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/Alecaddd/taxi";
     description = "The FTP Client that drives you anywhere";
     license = licenses.lgpl3Plus;
-    maintainers = with maintainers; [ AndersonTorres ];
+    maintainers = with maintainers; [ AndersonTorres ] ++ teams.pantheon.members;
     platforms = platforms.linux;
   };
 
diff --git a/nixpkgs/pkgs/applications/networking/gftp/default.nix b/nixpkgs/pkgs/applications/networking/gftp/default.nix
new file mode 100644
index 000000000000..947a75d0e2d2
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/gftp/default.nix
@@ -0,0 +1,56 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoconf
+, automake
+, gettext
+, gtk
+, intltool
+, libtool
+, ncurses
+, openssl
+, pkg-config
+, readline
+}:
+
+stdenv.mkDerivation rec {
+  pname = "gftp";
+  version = "2.7.0b";
+
+  src = fetchFromGitHub {
+    owner = "masneyb";
+    repo = pname;
+    rev = version;
+    hash = "sha256-cIB3SneYKavgdI8eTtM1qsOrBJJ0c7/3CEvNPishNog=";
+  };
+
+  nativeBuildInputs = [
+    autoconf
+    automake
+    gettext
+    intltool
+    libtool
+    pkg-config
+  ];
+  buildInputs = [
+    gtk
+    ncurses
+    openssl
+    readline
+  ];
+
+  hardeningDisable = [ "format" ];
+
+  preConfigure = ''
+    ./autogen.sh
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/masneyb/gftp";
+    description = "GTK-based multithreaded FTP client for *nix-based machines";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = platforms.unix;
+  };
+}
+# TODO: report the hardeningDisable to upstream
diff --git a/nixpkgs/pkgs/applications/networking/gns3/gui.nix b/nixpkgs/pkgs/applications/networking/gns3/gui.nix
index 5f5594c05374..a88ff36a8ca4 100644
--- a/nixpkgs/pkgs/applications/networking/gns3/gui.nix
+++ b/nixpkgs/pkgs/applications/networking/gns3/gui.nix
@@ -10,8 +10,8 @@ let
     packageOverrides = lib.foldr lib.composeExtensions (self: super: { }) defaultOverrides;
   };
 in python.pkgs.buildPythonPackage rec {
-  name = "${pname}-${version}";
   pname = "gns3-gui";
+  inherit version;
 
   src = fetchFromGitHub {
     owner = "GNS3";
diff --git a/nixpkgs/pkgs/applications/networking/gns3/server.nix b/nixpkgs/pkgs/applications/networking/gns3/server.nix
index 47bf0eb106bf..9feceffc0346 100644
--- a/nixpkgs/pkgs/applications/networking/gns3/server.nix
+++ b/nixpkgs/pkgs/applications/networking/gns3/server.nix
@@ -1,15 +1,27 @@
 { stable, branch, version, sha256Hash, mkOverride, commonOverrides }:
 
-{ lib, python3, fetchFromGitHub }:
+{ lib, python3, fetchFromGitHub, packageOverrides ? self: super: {}
+ }:
 
 let
   defaultOverrides = commonOverrides ++ [
-    (mkOverride "aiofiles" "0.5.0"
-      "98e6bcfd1b50f97db4980e182ddd509b7cc35909e903a8fe50d8849e02d815af")
+    (self: super: {
+      aiofiles = super.aiofiles.overridePythonAttrs (oldAttrs: rec {
+        pname = "aiofiles";
+        version = "0.5.0";
+        src = fetchFromGitHub {
+          owner = "Tinche";
+          repo = pname;
+          rev = "v${version}";
+          sha256 = "17bsg2x5r0q6jy74hajnbp717pvbf752w0wgih6pbb4hdvfg5lcf";
+        };
+        doCheck = false;
+      });
+    })
   ];
 
   python = python3.override {
-    packageOverrides = lib.foldr lib.composeExtensions (self: super: { }) defaultOverrides;
+    packageOverrides = lib.foldr lib.composeExtensions (self: super: { }) ([ packageOverrides ] ++ defaultOverrides);
   };
 in python.pkgs.buildPythonPackage {
   pname = "gns3-server";
@@ -31,7 +43,7 @@ in python.pkgs.buildPythonPackage {
   propagatedBuildInputs = with python.pkgs; [
     aiohttp-cors yarl aiohttp multidict setuptools
     jinja2 psutil zipstream sentry-sdk jsonschema distro async_generator aiofiles
-    prompt_toolkit py-cpuinfo
+    prompt-toolkit py-cpuinfo
   ];
 
   # Requires network access
diff --git a/nixpkgs/pkgs/applications/networking/hydroxide/default.nix b/nixpkgs/pkgs/applications/networking/hydroxide/default.nix
index d47560c4e874..451449420bdf 100644
--- a/nixpkgs/pkgs/applications/networking/hydroxide/default.nix
+++ b/nixpkgs/pkgs/applications/networking/hydroxide/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "hydroxide";
-  version = "0.2.18";
+  version = "0.2.20";
 
   src = fetchFromGitHub {
     owner = "emersion";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-s8EmoVZUUeaKTaINXvKO5tSdPUS3MlhEucwnmTTC3Wk=";
+    sha256 = "sha256-VTUpiuSsI795XDSxJJvLQlVNPLiekHyKcCazRBky9nU=";
   };
 
-  vendorSha256 = "sha256-jkiTpDsJN628YKkFZcng9P05hmNUc3UeFsanLf+QtJY=";
+  vendorSha256 = "sha256-AuZnHpJ1Xel/L9dG3ATdXnoTeUxtieah/ea+0svw3oA=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/applications/networking/hyprspace/default.nix b/nixpkgs/pkgs/applications/networking/hyprspace/default.nix
index 7f792957199c..89c04508b70f 100644
--- a/nixpkgs/pkgs/applications/networking/hyprspace/default.nix
+++ b/nixpkgs/pkgs/applications/networking/hyprspace/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "hyprspace";
-  version = "0.1.5";
+  version = "0.1.6";
 
   propagatedBuildInputs = lib.optional stdenv.isDarwin iproute2mac;
 
@@ -10,7 +10,7 @@ buildGoModule rec {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-aLODIaDbSLVEog/F0FVx6ykadCggE0Vebzwjw0sqYJ0=";
+    sha256 = "sha256-g0oyI3jnqQADyOrpnK4IvpFQPEwNrpvyDS+DhBDXZGg=";
   };
 
   vendorSha256 = "sha256-rw75xNBBV58F+HBVtD/EslPWxZxLbI3/mJVdJF4usKI=";
diff --git a/nixpkgs/pkgs/applications/networking/ids/daq/default.nix b/nixpkgs/pkgs/applications/networking/ids/daq/default.nix
index 26ae9e7a5819..dc40337bd723 100644
--- a/nixpkgs/pkgs/applications/networking/ids/daq/default.nix
+++ b/nixpkgs/pkgs/applications/networking/ids/daq/default.nix
@@ -1,11 +1,12 @@
 { lib, stdenv, fetchurl, flex, bison, libpcap, libdnet, libnfnetlink, libnetfilter_queue}:
 
 stdenv.mkDerivation rec {
-  name = "daq-2.2.2";
+  pname = "daq";
+  version = "2.2.2";
 
   src = fetchurl {
-    name = "${name}.tar.gz";
-    url = "https://snort.org/downloads/archive/snort/${name}.tar.gz";
+    name = "${pname}-${version}.tar.gz";
+    url = "https://snort.org/downloads/archive/snort/${pname}-${version}.tar.gz";
     sha256 = "0yvzscy7vqj7s5rccza0f7p6awghfm3yaxihx1h57lqspg51in3w";
   };
 
diff --git a/nixpkgs/pkgs/applications/networking/ids/zeek/default.nix b/nixpkgs/pkgs/applications/networking/ids/zeek/default.nix
index 979d765e9e6e..e70d6c187c2e 100644
--- a/nixpkgs/pkgs/applications/networking/ids/zeek/default.nix
+++ b/nixpkgs/pkgs/applications/networking/ids/zeek/default.nix
@@ -21,11 +21,11 @@
 
 stdenv.mkDerivation rec {
   pname = "zeek";
-  version = "4.0.3";
+  version = "4.1.0";
 
   src = fetchurl {
     url = "https://download.zeek.org/zeek-${version}.tar.gz";
-    sha256 = "1nrkwaj0dilyzhfl6yma214vyakvpi97acyffdr7n4kdm4m6pvik";
+    sha256 = "165kva8dgf152ahizqdk0g2y466ij2gyxja5fjxlkxcxr5p357pj";
   };
 
   nativeBuildInputs = [ cmake flex bison file ];
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/bitlbee/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/bitlbee/default.nix
index c5a718c3a702..4ecc449fe85a 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/bitlbee/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/bitlbee/default.nix
@@ -5,10 +5,11 @@
 
 with lib;
 stdenv.mkDerivation rec {
-  name = "bitlbee-3.6";
+  pname = "bitlbee";
+  version = "3.6";
 
   src = fetchurl {
-    url = "mirror://bitlbee/src/${name}.tar.gz";
+    url = "mirror://bitlbee/src/bitlbee-${version}.tar.gz";
     sha256 = "0zhhcbcr59sx9h4maf8zamzv2waya7sbsl7w74gbyilvy93dw5cz";
   };
 
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/bluejeans/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/bluejeans/default.nix
index adc19f5dcfdf..bca1a1affc0d 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/bluejeans/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/bluejeans/default.nix
@@ -44,11 +44,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "bluejeans";
-  version = "2.22.0.87";
+  version = "2.23.0.39";
 
   src = fetchurl {
     url = "https://swdl.bluejeans.com/desktop-app/linux/${getFirst 3 version}/BlueJeans_${version}.rpm";
-    sha256 = "sha256-0nobn+YcvqakwvBdkoEJrzHoL+OGym2zJ806oUabYfo=";
+    sha256 = "sha256-LGg14KJ/hEnSaSrdTltY9YXv7Nekkfo66uLkxjMx8AI=";
   };
 
   nativeBuildInputs = [ rpmextract makeWrapper ];
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/chatty/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/chatty/default.nix
new file mode 100644
index 000000000000..8266434eb086
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/chatty/default.nix
@@ -0,0 +1,79 @@
+{ lib
+, stdenv
+, fetchFromGitLab
+, appstream-glib
+, desktop-file-utils
+, meson
+, ninja
+, pkg-config
+, python3
+, wrapGAppsHook
+, evolution-data-server
+, feedbackd
+, gtk3
+, json-glib
+, libgcrypt
+, libhandy
+, libphonenumber
+, olm
+, pidgin
+, protobuf
+, sqlite
+, plugins ? [ ]
+}:
+
+stdenv.mkDerivation rec {
+  pname = "chatty";
+  version = "0.3.4";
+
+  src = fetchFromGitLab {
+    domain = "source.puri.sm";
+    owner = "Librem5";
+    repo = "chatty";
+    rev = "v${version}";
+    sha256 = "0910f5bw75ph576gxbsd6ysdwnlk4ysdp0pml2i3mjqpcbkqfs3w";
+  };
+
+  postPatch = ''
+    patchShebangs build-aux/meson
+  '';
+
+  nativeBuildInputs = [
+    appstream-glib
+    desktop-file-utils
+    meson
+    ninja
+    pkg-config
+    python3
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    evolution-data-server
+    feedbackd
+    gtk3
+    json-glib
+    libgcrypt
+    libhandy
+    libphonenumber
+    olm
+    pidgin
+    protobuf
+    sqlite
+  ];
+
+  preFixup = ''
+    gappsWrapperArgs+=(
+      --prefix PURPLE_PLUGIN_PATH : ${pidgin.makePluginPath plugins}
+      ${lib.concatMapStringsSep " " (p: p.wrapArgs or "") plugins}
+    )
+  '';
+
+  meta = with lib; {
+    description = "XMPP and SMS messaging via libpurple and ModemManager";
+    homepage = "https://source.puri.sm/Librem5/chatty";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ dotlambda tomfitzhenry ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/deltachat-cursed/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/deltachat-cursed/default.nix
index e7263b1d1617..8a04d75f5a63 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/deltachat-cursed/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/deltachat-cursed/default.nix
@@ -8,19 +8,22 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "deltachat-cursed";
-  version = "0.2.0";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "adbenitez";
     repo = "deltachat-cursed";
     rev = "v${version}";
-    sha256 = "0kbb7lh17dbkd85mcqf438qwk5masz2fxsy8ljdh23kis55nksh8";
+    sha256 = "0zzzrzc8yxw6ffwfirbrr5ahbidbvlwdvgdg82zjsdjjbarxph8c";
   };
 
   nativeBuildInputs = [
+    python3.pkgs.setuptools-scm
     wrapGAppsHook
   ];
 
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
   buildInputs = [
     gobject-introspection
     libnotify
@@ -28,6 +31,7 @@ python3.pkgs.buildPythonApplication rec {
 
   propagatedBuildInputs = with python3.pkgs; [
     deltachat
+    notify-py
     pygobject3
     urwid-readline
   ];
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix
new file mode 100644
index 000000000000..41c7470a26d9
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix
@@ -0,0 +1,110 @@
+{ lib
+, copyDesktopItems
+, electron
+, esbuild
+, fetchFromGitHub
+, libdeltachat
+, makeDesktopItem
+, makeWrapper
+, nodePackages
+, pkg-config
+, rustPlatform
+, stdenv
+, CoreServices
+}:
+
+let
+  libdeltachat' = libdeltachat.overrideAttrs (old: rec {
+    version = "1.56.0";
+    src = fetchFromGitHub {
+      owner = "deltachat";
+      repo = "deltachat-core-rust";
+      rev = version;
+      sha256 = "07vcwbvpzcnvpls0hmpapi7v1npca8ydbx2i235k26xym8il89b7";
+    };
+    cargoDeps = rustPlatform.fetchCargoTarball {
+      inherit src;
+      name = "${old.pname}-${version}";
+      sha256 = "0pb1rcv45xa95ziqap94yy52fy02vh401iqsgi18nm1j6iyyngc8";
+    };
+  });
+  electronExec = if stdenv.isDarwin then
+    "${electron}/Applications/Electron.app/Contents/MacOS/Electron"
+  else
+    "${electron}/bin/electron";
+in nodePackages.deltachat-desktop.override rec {
+  pname = "deltachat-desktop";
+  version = "unstable-2021-08-04";
+
+  src = fetchFromGitHub {
+    owner = "deltachat";
+    repo = "deltachat-desktop";
+    rev = "2c47d6b7e46f4f68c7eb45508ab9e145af489ea1";
+    sha256 = "03b6j3cj2yanvsargh6q57bf1llg17yrqgmd14lp0wkam767kkfa";
+  };
+
+  nativeBuildInputs = [
+    esbuild
+    makeWrapper
+    pkg-config
+  ] ++ lib.optionals stdenv.isLinux [
+    copyDesktopItems
+  ];
+
+  buildInputs = [
+    libdeltachat'
+  ] ++ lib.optionals stdenv.isDarwin [
+    CoreServices
+  ];
+
+  ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
+  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 ''
+    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 \
+      $out/share/icons/hicolor/scalable/apps/deltachat.png
+
+    makeWrapper ${electronExec} $out/bin/deltachat \
+      --add-flags $out/lib/node_modules/deltachat-desktop
+  '';
+
+  desktopItems = lib.singleton (makeDesktopItem {
+    name = "deltachat";
+    exec = "deltachat %u";
+    icon = "deltachat";
+    desktopName = "Delta Chat";
+    genericName = "Delta Chat";
+    comment = meta.description;
+    categories = "Network;InstantMessaging;Chat;";
+    extraEntries = ''
+      StartupWMClass=DeltaChat
+      MimeType=x-scheme-handler/openpgp4fpr;x-scheme-handler/mailto;
+    '';
+  });
+
+  passthru.updateScript = ./update.sh;
+
+  meta = with lib; {
+    description = "Email-based instant messaging for Desktop";
+    homepage = "https://github.com/deltachat/deltachat-desktop";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/deltachat-desktop/package.json b/nixpkgs/pkgs/applications/networking/instant-messengers/deltachat-desktop/package.json
new file mode 100644
index 000000000000..f332352e4b61
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/deltachat-desktop/package.json
@@ -0,0 +1,58 @@
+{
+  "name": "deltachat-desktop",
+  "version": "1.20.3",
+  "dependencies": {
+    "@blueprintjs/core": "^3.22.3",
+    "@mapbox/geojson-extent": "^1.0.0",
+    "application-config": "^1.0.1",
+    "array-differ": "^3.0.0",
+    "classnames": "^2.3.1",
+    "debounce": "^1.2.0",
+    "deltachat-node": "1.56.2",
+    "emoji-js-clean": "^4.0.0",
+    "emoji-mart": "^3.0.0",
+    "emoji-regex": "^9.2.2",
+    "error-stack-parser": "^2.0.6",
+    "filesize": "^6.1.0",
+    "fs-extra": "^8.1.0",
+    "mapbox-gl": "^1.12.0",
+    "mime-types": "^2.1.31",
+    "moment": "^2.27.0",
+    "node-fetch": "^2.6.1",
+    "path-browserify": "^1.0.1",
+    "punycode": "^2.1.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-virtualized": "^9.21.2",
+    "simple-markdown": "^0.7.1",
+    "source-map-support": "^0.5.19",
+    "tempy": "^0.3.0",
+    "url-parse": "^1.4.7",
+    "use-debounce": "^3.3.0",
+    "@babel/core": "^7.7.7",
+    "@types/debounce": "^1.2.0",
+    "@babel/preset-env": "^7.7.7",
+    "@babel/preset-react": "^7.7.4",
+    "@types/emoji-mart": "^3.0.2",
+    "@types/fs-extra": "^8.0.1",
+    "@types/mapbox-gl": "^0.54.5",
+    "@types/mime-types": "^2.1.0",
+    "@types/node": "^14.14.20",
+    "@types/node-fetch": "^2.5.7",
+    "@types/prop-types": "^15.7.3",
+    "@types/rc": "^1.1.0",
+    "@types/react": "^16.9.17",
+    "@types/react-dom": "^16.9.4",
+    "@types/react-virtualized": "^9.21.10",
+    "@types/url-parse": "^1.4.3",
+    "electron": "^13.1.6",
+    "glob-watcher": "^5.0.5",
+    "sass": "^1.26.5",
+    "typescript": "^3.9.7",
+    "xml-js": "^1.6.8"
+  }
+}
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/deltachat-desktop/update.sh b/nixpkgs/pkgs/applications/networking/instant-messengers/deltachat-desktop/update.sh
new file mode 100755
index 000000000000..162de501e617
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/deltachat-desktop/update.sh
@@ -0,0 +1,42 @@
+#! /usr/bin/env nix-shell
+#! nix-shell -i bash -p curl jq nix-prefetch
+
+set -euo pipefail
+cd "$(dirname "$0")"
+
+owner=deltachat
+repo=deltachat-desktop
+nixpkgs=../../../../..
+
+rev=$(
+    curl -s "https://api.github.com/repos/$owner/$repo/releases" |
+    jq 'map(select(.prerelease | not)) | .[0].tag_name' --raw-output
+)
+ver=$(echo "$rev" | sed 's/^v//')
+old_ver=$(sed -n 's/.*\bversion = "\(.*\)".*/\1/p' default.nix)
+if [ "$ver" = "$old_ver" ]; then
+    echo "Up to date: $ver"
+    exit
+fi
+echo "$old_ver -> $ver"
+
+sha256=$(nix-prefetch -f "$nixpkgs" deltachat-desktop --rev "$rev")
+sed -e "s#\\bversion = \".*\"#version = \"$ver\"#" \
+    -e "s#\\bsha256 = \".*\"#sha256 = \"$sha256\"#" \
+    -i 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","esbuild","electron-builder","electron-devtools-installer","electron-notarize","esbuild","eslint","eslint-config-prettier","eslint-plugin-react-hooks","hallmark","prettier","tape","testcafe","testcafe-browser-provider-electron","testcafe-react-selectors","walk"]))) }' \
+    "$src/package.json" > package.json.new
+
+if cmp --quiet package.json{.new,}; then
+    echo "package.json not changed, skip updating nodePackages"
+    rm package.json.new
+else
+    echo "package.json changed, updating nodePackages"
+    mv package.json{.new,}
+
+    pushd ../../../../development/node-packages
+    ./generate.sh
+    popd
+fi
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/deltachat-electron/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/deltachat-electron/default.nix
deleted file mode 100644
index ee43e4475d7d..000000000000
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/deltachat-electron/default.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ lib, fetchurl, appimageTools, gsettings-desktop-schemas, gtk3 }:
-
-let
-  pname = "deltachat-electron";
-  version = "1.20.3";
-  name = "${pname}-${version}";
-
-  src = fetchurl {
-    url = "https://download.delta.chat/desktop/v${version}/DeltaChat-${version}.AppImage";
-    sha256 = "sha256-u0YjaXb+6BOBWaZANPcaxp7maqlBWAtecSsCGbr67dk=";
-  };
-
-  appimageContents = appimageTools.extract { inherit name src; };
-
-in
-appimageTools.wrapType2 {
-  inherit name src;
-
-  profile = ''
-    export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
-  '';
-
-  extraInstallCommands = ''
-    mv $out/bin/${name} $out/bin/${pname}
-    install -m 444 -D \
-      ${appimageContents}/deltachat-desktop.desktop \
-      $out/share/applications/${pname}.desktop
-    substituteInPlace $out/share/applications/${pname}.desktop \
-      --replace 'Exec=AppRun' 'Exec=${pname}'
-    cp -r ${appimageContents}/usr/share/icons $out/share
-  '';
-
-  meta = with lib; {
-    description = "Electron client for DeltaChat";
-    homepage = "https://delta.chat/";
-    license = licenses.gpl3;
-    maintainers = with maintainers; [ ehmry ];
-    platforms = [ "x86_64-linux" ];
-  };
-}
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/discord/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/discord/default.nix
index d2d8c9a3ec5d..058e20da0ce5 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/discord/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/discord/default.nix
@@ -27,10 +27,10 @@ in {
     pname = "discord-canary";
     binaryName = "DiscordCanary";
     desktopName = "Discord Canary";
-    version = "0.0.126";
+    version = "0.0.129";
     src = fetchurl {
       url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
-      sha256 = "EraTDRKd6t0c9U68tSRdGkeB1hfqNS4KUewEXwkL8io=";
+      sha256 = "sha256:1x49vvd363w9xyrzjgmynj2b320hzpz388fh5vpp0q0qk8q3gwkk";
     };
   };
 }.${branch}
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json b/nixpkgs/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json
index 063c64fa377e..5251b07d8d9f 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json
@@ -1,8 +1,8 @@
 {
   "name": "element-desktop",
   "productName": "Element",
-  "main": "src/electron-main.js",
-  "version": "1.7.31",
+  "main": "lib/electron-main.js",
+  "version": "1.8.2",
   "description": "A feature-rich client for Matrix.org",
   "author": "Element",
   "repository": {
@@ -18,18 +18,25 @@
     "mkdirs": "mkdirp packages deploys",
     "fetch": "yarn run mkdirs && node scripts/fetch-package.js",
     "asar-webapp": "asar p webapp webapp.asar",
-    "start": "electron .",
-    "lint": "eslint src/ scripts/ hak/",
+    "start": "yarn run build:ts && yarn run build:res && electron .",
+    "lint": "yarn lint:types && yarn lint:js",
+    "lint:js": "eslint --max-warnings 0 src scripts hak",
+    "lint:js-fix": "eslint --fix src scripts hak",
+    "lint:types": "tsc --noEmit",
     "build:native": "yarn run hak",
-    "build32": "electron-builder --ia32",
-    "build64": "electron-builder --x64",
-    "build": "electron-builder",
+    "build:native:universal": "yarn run hak --target x86_64-apple-darwin fetchandbuild && yarn run hak --target aarch64-apple-darwin fetchandbuild && yarn run hak --target x86_64-apple-darwin --target aarch64-apple-darwin copyandlink",
+    "build:32": "yarn run build:ts && yarn run build:res && electron-builder --ia32",
+    "build:64": "yarn run build:ts && yarn run build:res && electron-builder --x64",
+    "build:universal": "yarn run build:ts && yarn run build:res && electron-builder --universal",
+    "build": "yarn run build:ts && yarn run build:res && electron-builder",
+    "build:ts": "tsc",
+    "build:res": "node scripts/copy-res.js",
     "docker:setup": "docker build -t element-desktop-dockerbuild dockerbuild",
     "docker:build:native": "scripts/in-docker.sh yarn run hak",
     "docker:build": "scripts/in-docker.sh yarn run build",
     "docker:install": "scripts/in-docker.sh yarn install",
     "debrepo": "scripts/mkrepo.sh",
-    "clean": "rimraf webapp.asar dist packages deploys",
+    "clean": "rimraf webapp.asar dist packages deploys lib",
     "hak": "node scripts/hak/index.js"
   },
   "dependencies": {
@@ -42,14 +49,22 @@
     "request": "^2.88.2"
   },
   "devDependencies": {
+    "@types/auto-launch": "^5.0.1",
+    "@types/counterpart": "^0.18.1",
+    "@types/minimist": "^1.2.1",
+    "@typescript-eslint/eslint-plugin": "^4.17.0",
+    "@typescript-eslint/parser": "^4.17.0",
+    "allchange": "^1.0.0",
     "asar": "^2.0.1",
+    "chokidar": "^3.5.2",
+    "electron": "^13.1.9",
     "electron-builder": "22.11.4",
     "electron-builder-squirrel-windows": "22.11.4",
     "electron-devtools-installer": "^3.1.1",
     "electron-notarize": "^1.0.0",
     "eslint": "7.18.0",
     "eslint-config-google": "^0.14.0",
-    "eslint-plugin-matrix-org": "github:matrix-org/eslint-plugin-matrix-org#main",
+    "eslint-plugin-matrix-org": "github:matrix-org/eslint-plugin-matrix-org#2306b3d4da4eba908b256014b979f1d3d43d2945",
     "find-npm-prefix": "^1.0.2",
     "fs-extra": "^8.1.0",
     "glob": "^7.1.6",
@@ -57,25 +72,25 @@
     "mkdirp": "^1.0.3",
     "needle": "^2.5.0",
     "node-pre-gyp": "^0.15.0",
-    "npm": "^6.14.11",
+    "pacote": "^11.3.5",
     "rimraf": "^3.0.2",
-    "semver": "^7.3.4",
-    "tar": "^6.1.0"
+    "tar": "^6.1.2",
+    "typescript": "^4.1.3"
   },
   "hakDependencies": {
-    "matrix-seshat": "^2.2.3",
+    "matrix-seshat": "^2.3.0",
     "keytar": "^5.6.0"
   },
   "build": {
     "appId": "im.riot.app",
-    "electronVersion": "12.0.11",
+    "electronVersion": "13.1.9",
     "files": [
       "package.json",
       {
         "from": ".hak/hakModules",
         "to": "node_modules"
       },
-      "src/**"
+      "lib/**"
     ],
     "extraResources": [
       {
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/element/element-desktop-yarndeps.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/element/element-desktop-yarndeps.nix
index 733cfa3a11a4..12ec78a6af1c 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/element/element-desktop-yarndeps.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/element/element-desktop-yarndeps.nix
@@ -1,4 +1,4 @@
-{ fetchurl, fetchgit, linkFarm, runCommandNoCC, gnutar }: rec {
+{ fetchurl, fetchgit, linkFarm, runCommand, gnutar }: rec {
   offline_cache = linkFarm "offline" packages;
   packages = [
     {
@@ -10,115 +10,131 @@
       };
     }
     {
-      name = "_babel_code_frame___code_frame_7.5.5.tgz";
+      name = "_actions_core___core_1.4.0.tgz";
       path = fetchurl {
-        name = "_babel_code_frame___code_frame_7.5.5.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz";
-        sha1 = "bc0782f6d69f7b7d49531219699b988f669a8f9d";
+        name = "_actions_core___core_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/@actions/core/-/core-1.4.0.tgz";
+        sha1 = "cf2e6ee317e314b03886adfeb20e448d50d6e524";
       };
     }
     {
-      name = "_babel_code_frame___code_frame_7.12.13.tgz";
+      name = "_actions_github___github_5.0.0.tgz";
       path = fetchurl {
-        name = "_babel_code_frame___code_frame_7.12.13.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.13.tgz";
-        sha1 = "dcfc826beef65e75c50e21d3837d7d95798dd658";
+        name = "_actions_github___github_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@actions/github/-/github-5.0.0.tgz";
+        sha1 = "1754127976c50bd88b2e905f10d204d76d1472f8";
       };
     }
     {
-      name = "_babel_generator___generator_7.13.16.tgz";
+      name = "_actions_http_client___http_client_1.0.11.tgz";
       path = fetchurl {
-        name = "_babel_generator___generator_7.13.16.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/generator/-/generator-7.13.16.tgz";
-        sha1 = "0befc287031a201d84cdfc173b46b320ae472d14";
+        name = "_actions_http_client___http_client_1.0.11.tgz";
+        url  = "https://registry.yarnpkg.com/@actions/http-client/-/http-client-1.0.11.tgz";
+        sha1 = "c58b12e9aa8b159ee39e7dd6cbd0e91d905633c0";
       };
     }
     {
-      name = "_babel_helper_function_name___helper_function_name_7.12.13.tgz";
+      name = "_babel_code_frame___code_frame_7.14.5.tgz";
       path = fetchurl {
-        name = "_babel_helper_function_name___helper_function_name_7.12.13.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz";
-        sha1 = "93ad656db3c3c2232559fd7b2c3dbdcbe0eb377a";
+        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_helper_get_function_arity___helper_get_function_arity_7.12.13.tgz";
+      name = "_babel_generator___generator_7.14.8.tgz";
       path = fetchurl {
-        name = "_babel_helper_get_function_arity___helper_get_function_arity_7.12.13.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz";
-        sha1 = "bc63451d403a3b3082b97e1d8b3fe5bd4091e583";
+        name = "_babel_generator___generator_7.14.8.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/generator/-/generator-7.14.8.tgz";
+        sha1 = "bf86fd6af96cf3b74395a8ca409515f89423e070";
       };
     }
     {
-      name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.12.13.tgz";
+      name = "_babel_helper_function_name___helper_function_name_7.14.5.tgz";
       path = fetchurl {
-        name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.12.13.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz";
-        sha1 = "e9430be00baf3e88b0e13e6f9d4eaf2136372b05";
+        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_validator_identifier___helper_validator_identifier_7.12.11.tgz";
+      name = "_babel_helper_get_function_arity___helper_get_function_arity_7.14.5.tgz";
       path = fetchurl {
-        name = "_babel_helper_validator_identifier___helper_validator_identifier_7.12.11.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz";
-        sha1 = "c9a1f021917dcb5ccf0d4e453e399022981fc9ed";
+        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_highlight___highlight_7.5.0.tgz";
+      name = "_babel_helper_hoist_variables___helper_hoist_variables_7.14.5.tgz";
       path = fetchurl {
-        name = "_babel_highlight___highlight_7.5.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.5.0.tgz";
-        sha1 = "56d11312bd9248fa619591d02472be6e8cb32540";
+        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_highlight___highlight_7.13.10.tgz";
+      name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.14.5.tgz";
       path = fetchurl {
-        name = "_babel_highlight___highlight_7.13.10.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.13.10.tgz";
-        sha1 = "a8b2a66148f5b27d666b15d81774347a731d52d1";
+        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_parser___parser_7.13.16.tgz";
+      name = "_babel_helper_validator_identifier___helper_validator_identifier_7.14.8.tgz";
       path = fetchurl {
-        name = "_babel_parser___parser_7.13.16.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.13.16.tgz";
-        sha1 = "0f18179b0448e6939b1f3f5c4c355a3a9bcdfd37";
+        name = "_babel_helper_validator_identifier___helper_validator_identifier_7.14.8.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.8.tgz";
+        sha1 = "32be33a756f29e278a0d644fa08a2c9e0f88a34c";
       };
     }
     {
-      name = "_babel_runtime___runtime_7.11.2.tgz";
+      name = "_babel_highlight___highlight_7.14.5.tgz";
       path = fetchurl {
-        name = "_babel_runtime___runtime_7.11.2.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.11.2.tgz";
-        sha1 = "f549c13c754cc40b87644b9fa9f09a6a95fe0736";
+        name = "_babel_highlight___highlight_7.14.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz";
+        sha1 = "6861a52f03966405001f6aa534a01a24d99e8cd9";
       };
     }
     {
-      name = "_babel_template___template_7.12.13.tgz";
+      name = "_babel_parser___parser_7.14.8.tgz";
       path = fetchurl {
-        name = "_babel_template___template_7.12.13.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/template/-/template-7.12.13.tgz";
-        sha1 = "530265be8a2589dbb37523844c5bcb55947fb327";
+        name = "_babel_parser___parser_7.14.8.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.14.8.tgz";
+        sha1 = "66fd41666b2d7b840bd5ace7f7416d5ac60208d4";
       };
     }
     {
-      name = "_babel_traverse___traverse_7.13.17.tgz";
+      name = "_babel_runtime___runtime_7.14.8.tgz";
       path = fetchurl {
-        name = "_babel_traverse___traverse_7.13.17.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.13.17.tgz";
-        sha1 = "c85415e0c7d50ac053d758baec98b28b2ecfeea3";
+        name = "_babel_runtime___runtime_7.14.8.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.14.8.tgz";
+        sha1 = "7119a56f421018852694290b9f9148097391b446";
       };
     }
     {
-      name = "_babel_types___types_7.13.17.tgz";
+      name = "_babel_template___template_7.14.5.tgz";
       path = fetchurl {
-        name = "_babel_types___types_7.13.17.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/types/-/types-7.13.17.tgz";
-        sha1 = "48010a115c9fba7588b4437dd68c9469012b38b4";
+        name = "_babel_template___template_7.14.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/template/-/template-7.14.5.tgz";
+        sha1 = "a9bc9d8b33354ff6e55a9c60d1109200a68974f4";
+      };
+    }
+    {
+      name = "_babel_traverse___traverse_7.14.8.tgz";
+      path = fetchurl {
+        name = "_babel_traverse___traverse_7.14.8.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.14.8.tgz";
+        sha1 = "c0253f02677c5de1a8ff9df6b0aacbec7da1a8ce";
+      };
+    }
+    {
+      name = "_babel_types___types_7.14.8.tgz";
+      path = fetchurl {
+        name = "_babel_types___types_7.14.8.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/types/-/types-7.14.8.tgz";
+        sha1 = "38109de8fcadc06415fbd9b74df0065d4d41c728";
       };
     }
     {
@@ -130,6 +146,14 @@
       };
     }
     {
+      name = "_electron_get___get_1.12.4.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_universal___universal_1.0.5.tgz";
       path = fetchurl {
         name = "_electron_universal___universal_1.0.5.tgz";
@@ -146,14 +170,6 @@
       };
     }
     {
-      name = "_iarna_cli___cli_1.2.0.tgz";
-      path = fetchurl {
-        name = "_iarna_cli___cli_1.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/@iarna/cli/-/cli-1.2.0.tgz";
-        sha1 = "0f7af5e851afe895104583c4ca07377a8094d641";
-      };
-    }
-    {
       name = "_jimp_bmp___bmp_0.16.1.tgz";
       path = fetchurl {
         name = "_jimp_bmp___bmp_0.16.1.tgz";
@@ -418,6 +434,206 @@
       };
     }
     {
+      name = "_nodelib_fs.scandir___fs.scandir_2.1.5.tgz";
+      path = fetchurl {
+        name = "_nodelib_fs.scandir___fs.scandir_2.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz";
+        sha1 = "7619c2eb21b25483f6d167548b4cfd5a7488c3d5";
+      };
+    }
+    {
+      name = "_nodelib_fs.stat___fs.stat_2.0.5.tgz";
+      path = fetchurl {
+        name = "_nodelib_fs.stat___fs.stat_2.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz";
+        sha1 = "5bd262af94e9d25bd1e71b05deed44876a222e8b";
+      };
+    }
+    {
+      name = "_nodelib_fs.walk___fs.walk_1.2.8.tgz";
+      path = fetchurl {
+        name = "_nodelib_fs.walk___fs.walk_1.2.8.tgz";
+        url  = "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz";
+        sha1 = "e95737e8bb6746ddedf69c556953494f196fe69a";
+      };
+    }
+    {
+      name = "_npmcli_git___git_2.1.0.tgz";
+      path = fetchurl {
+        name = "_npmcli_git___git_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/@npmcli/git/-/git-2.1.0.tgz";
+        sha1 = "2fbd77e147530247d37f325930d457b3ebe894f6";
+      };
+    }
+    {
+      name = "_npmcli_installed_package_contents___installed_package_contents_1.0.7.tgz";
+      path = fetchurl {
+        name = "_npmcli_installed_package_contents___installed_package_contents_1.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz";
+        sha1 = "ab7408c6147911b970a8abe261ce512232a3f4fa";
+      };
+    }
+    {
+      name = "_npmcli_move_file___move_file_1.1.2.tgz";
+      path = fetchurl {
+        name = "_npmcli_move_file___move_file_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.1.2.tgz";
+        sha1 = "1a82c3e372f7cae9253eb66d72543d6b8685c674";
+      };
+    }
+    {
+      name = "_npmcli_node_gyp___node_gyp_1.0.2.tgz";
+      path = fetchurl {
+        name = "_npmcli_node_gyp___node_gyp_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/@npmcli/node-gyp/-/node-gyp-1.0.2.tgz";
+        sha1 = "3cdc1f30e9736dbc417373ed803b42b1a0a29ede";
+      };
+    }
+    {
+      name = "_npmcli_promise_spawn___promise_spawn_1.3.2.tgz";
+      path = fetchurl {
+        name = "_npmcli_promise_spawn___promise_spawn_1.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/@npmcli/promise-spawn/-/promise-spawn-1.3.2.tgz";
+        sha1 = "42d4e56a8e9274fba180dabc0aea6e38f29274f5";
+      };
+    }
+    {
+      name = "_npmcli_run_script___run_script_1.8.5.tgz";
+      path = fetchurl {
+        name = "_npmcli_run_script___run_script_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-1.8.5.tgz";
+        sha1 = "f250a0c5e1a08a792d775a315d0ff42fc3a51e1d";
+      };
+    }
+    {
+      name = "_octokit_auth_token___auth_token_2.4.5.tgz";
+      path = fetchurl {
+        name = "_octokit_auth_token___auth_token_2.4.5.tgz";
+        url  = "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.4.5.tgz";
+        sha1 = "568ccfb8cb46f36441fac094ce34f7a875b197f3";
+      };
+    }
+    {
+      name = "_octokit_core___core_3.5.1.tgz";
+      path = fetchurl {
+        name = "_octokit_core___core_3.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/@octokit/core/-/core-3.5.1.tgz";
+        sha1 = "8601ceeb1ec0e1b1b8217b960a413ed8e947809b";
+      };
+    }
+    {
+      name = "_octokit_endpoint___endpoint_6.0.12.tgz";
+      path = fetchurl {
+        name = "_octokit_endpoint___endpoint_6.0.12.tgz";
+        url  = "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-6.0.12.tgz";
+        sha1 = "3b4d47a4b0e79b1027fb8d75d4221928b2d05658";
+      };
+    }
+    {
+      name = "_octokit_graphql___graphql_4.6.4.tgz";
+      path = fetchurl {
+        name = "_octokit_graphql___graphql_4.6.4.tgz";
+        url  = "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-4.6.4.tgz";
+        sha1 = "0c3f5bed440822182e972317122acb65d311a5ed";
+      };
+    }
+    {
+      name = "_octokit_openapi_types___openapi_types_9.3.0.tgz";
+      path = fetchurl {
+        name = "_octokit_openapi_types___openapi_types_9.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-9.3.0.tgz";
+        sha1 = "160347858d727527901c6aae7f7d5c2414cc1f2e";
+      };
+    }
+    {
+      name = "_octokit_openapi_types___openapi_types_9.7.0.tgz";
+      path = fetchurl {
+        name = "_octokit_openapi_types___openapi_types_9.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-9.7.0.tgz";
+        sha1 = "9897cdefd629cd88af67b8dbe2e5fb19c63426b2";
+      };
+    }
+    {
+      name = "_octokit_plugin_paginate_rest___plugin_paginate_rest_2.15.1.tgz";
+      path = fetchurl {
+        name = "_octokit_plugin_paginate_rest___plugin_paginate_rest_2.15.1.tgz";
+        url  = "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.15.1.tgz";
+        sha1 = "264189dd3ce881c6c33758824aac05a4002e056a";
+      };
+    }
+    {
+      name = "_octokit_plugin_paginate_rest___plugin_paginate_rest_2.15.0.tgz";
+      path = fetchurl {
+        name = "_octokit_plugin_paginate_rest___plugin_paginate_rest_2.15.0.tgz";
+        url  = "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.15.0.tgz";
+        sha1 = "9c956c3710b2bd786eb3814eaf5a2b17392c150d";
+      };
+    }
+    {
+      name = "_octokit_plugin_request_log___plugin_request_log_1.0.4.tgz";
+      path = fetchurl {
+        name = "_octokit_plugin_request_log___plugin_request_log_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz";
+        sha1 = "5e50ed7083a613816b1e4a28aeec5fb7f1462e85";
+      };
+    }
+    {
+      name = "_octokit_plugin_rest_endpoint_methods___plugin_rest_endpoint_methods_5.6.0.tgz";
+      path = fetchurl {
+        name = "_octokit_plugin_rest_endpoint_methods___plugin_rest_endpoint_methods_5.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.6.0.tgz";
+        sha1 = "c28833b88d0f07bf94093405d02d43d73c7de99b";
+      };
+    }
+    {
+      name = "_octokit_plugin_rest_endpoint_methods___plugin_rest_endpoint_methods_5.8.0.tgz";
+      path = fetchurl {
+        name = "_octokit_plugin_rest_endpoint_methods___plugin_rest_endpoint_methods_5.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.8.0.tgz";
+        sha1 = "33b342fe41f2603fdf8b958e6652103bb3ea3f3b";
+      };
+    }
+    {
+      name = "_octokit_request_error___request_error_2.1.0.tgz";
+      path = fetchurl {
+        name = "_octokit_request_error___request_error_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-2.1.0.tgz";
+        sha1 = "9e150357831bfc788d13a4fd4b1913d60c74d677";
+      };
+    }
+    {
+      name = "_octokit_request___request_5.6.0.tgz";
+      path = fetchurl {
+        name = "_octokit_request___request_5.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/@octokit/request/-/request-5.6.0.tgz";
+        sha1 = "6084861b6e4fa21dc40c8e2a739ec5eff597e672";
+      };
+    }
+    {
+      name = "_octokit_rest___rest_18.8.0.tgz";
+      path = fetchurl {
+        name = "_octokit_rest___rest_18.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/@octokit/rest/-/rest-18.8.0.tgz";
+        sha1 = "ba24f7ba554f015a7ae2b7cc2aecef5386ddfea5";
+      };
+    }
+    {
+      name = "_octokit_types___types_6.23.0.tgz";
+      path = fetchurl {
+        name = "_octokit_types___types_6.23.0.tgz";
+        url  = "https://registry.yarnpkg.com/@octokit/types/-/types-6.23.0.tgz";
+        sha1 = "b39f242b20036e89fa8f34f7962b4e9b7ff8f65b";
+      };
+    }
+    {
+      name = "_octokit_types___types_6.25.0.tgz";
+      path = fetchurl {
+        name = "_octokit_types___types_6.25.0.tgz";
+        url  = "https://registry.yarnpkg.com/@octokit/types/-/types-6.25.0.tgz";
+        sha1 = "c8e37e69dbe7ce55ed98ee63f75054e7e808bf1a";
+      };
+    }
+    {
       name = "_sindresorhus_is___is_0.14.0.tgz";
       path = fetchurl {
         name = "_sindresorhus_is___is_0.14.0.tgz";
@@ -434,59 +650,91 @@
       };
     }
     {
-      name = "_types_color_name___color_name_1.1.1.tgz";
+      name = "_tootallnate_once___once_1.1.2.tgz";
+      path = fetchurl {
+        name = "_tootallnate_once___once_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz";
+        sha1 = "ccb91445360179a04e7fe6aff78c00ffc1eeaf82";
+      };
+    }
+    {
+      name = "_types_auto_launch___auto_launch_5.0.2.tgz";
       path = fetchurl {
-        name = "_types_color_name___color_name_1.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz";
-        sha1 = "1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0";
+        name = "_types_auto_launch___auto_launch_5.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/auto-launch/-/auto-launch-5.0.2.tgz";
+        sha1 = "4970f01e5dd27572489b7fe77590204a19f86bd0";
       };
     }
     {
-      name = "_types_debug___debug_4.1.5.tgz";
+      name = "_types_counterpart___counterpart_0.18.1.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_counterpart___counterpart_0.18.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/counterpart/-/counterpart-0.18.1.tgz";
+        sha1 = "b1b784d9e54d9879f0a8cb12f2caedab65430fe8";
       };
     }
     {
-      name = "_types_fs_extra___fs_extra_9.0.11.tgz";
+      name = "_types_debug___debug_4.1.6.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_debug___debug_4.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.6.tgz";
+        sha1 = "0b7018723084918a865eff99249c490505df2163";
       };
     }
     {
-      name = "_types_glob___glob_7.1.3.tgz";
+      name = "_types_fs_extra___fs_extra_9.0.12.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_fs_extra___fs_extra_9.0.12.tgz";
+        url  = "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.12.tgz";
+        sha1 = "9b8f27973df8a7a3920e8461517ebf8a7d4fdfaf";
       };
     }
     {
-      name = "_types_minimatch___minimatch_3.0.4.tgz";
+      name = "_types_glob___glob_7.1.4.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_glob___glob_7.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.4.tgz";
+        sha1 = "ea59e21d2ee5c517914cb4bc8e4153b99e566672";
       };
     }
     {
-      name = "_types_node___node_13.7.1.tgz";
+      name = "_types_json_schema___json_schema_7.0.8.tgz";
       path = fetchurl {
-        name = "_types_node___node_13.7.1.tgz";
-        url  = "https://registry.yarnpkg.com/@types/node/-/node-13.7.1.tgz";
-        sha1 = "238eb34a66431b71d2aaddeaa7db166f25971a0d";
+        name = "_types_json_schema___json_schema_7.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.8.tgz";
+        sha1 = "edf1bf1dbf4e04413ca8e5b17b3b7d7d54b59818";
       };
     }
     {
-      name = "_types_node___node_14.14.21.tgz";
+      name = "_types_minimatch___minimatch_3.0.5.tgz";
       path = fetchurl {
-        name = "_types_node___node_14.14.21.tgz";
-        url  = "https://registry.yarnpkg.com/@types/node/-/node-14.14.21.tgz";
-        sha1 = "d934aacc22424fe9622ebf6857370c052eae464e";
+        name = "_types_minimatch___minimatch_3.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz";
+        sha1 = "1001cc5e6a3704b83c236027e77f2f58ea010f40";
+      };
+    }
+    {
+      name = "_types_minimist___minimist_1.2.2.tgz";
+      path = fetchurl {
+        name = "_types_minimist___minimist_1.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz";
+        sha1 = "ee771e2ba4b3dc5b372935d549fd9617bf345b8c";
+      };
+    }
+    {
+      name = "_types_node___node_16.4.0.tgz";
+      path = fetchurl {
+        name = "_types_node___node_16.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/node/-/node-16.4.0.tgz";
+        sha1 = "2c219eaa3b8d1e4d04f4dd6e40bc68c7467d5272";
+      };
+    }
+    {
+      name = "_types_node___node_14.17.5.tgz";
+      path = fetchurl {
+        name = "_types_node___node_14.17.5.tgz";
+        url  = "https://registry.yarnpkg.com/@types/node/-/node-14.17.5.tgz";
+        sha1 = "b59daf6a7ffa461b5648456ca59050ba8e40ed54";
       };
     }
     {
@@ -498,147 +746,163 @@
       };
     }
     {
-      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";
+        sha1 = "2a1413aded46e67a1fe2386800e291123ed75eb1";
       };
     }
     {
-      name = "_types_yargs_parser___yargs_parser_15.0.0.tgz";
+      name = "_types_yargs_parser___yargs_parser_20.2.1.tgz";
       path = fetchurl {
-        name = "_types_yargs_parser___yargs_parser_15.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz";
-        sha1 = "cb3f9f741869e20cce330ffbeb9271590483882d";
+        name = "_types_yargs_parser___yargs_parser_20.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.1.tgz";
+        sha1 = "3b9ce2489919d9e4fea439b76916abc34b2df129";
       };
     }
     {
-      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";
+        sha1 = "26aad98dd2c2a38e421086ea9ad42b9e51642977";
       };
     }
     {
-      name = "JSONStream___JSONStream_1.3.5.tgz";
+      name = "_typescript_eslint_eslint_plugin___eslint_plugin_4.28.4.tgz";
       path = fetchurl {
-        name = "JSONStream___JSONStream_1.3.5.tgz";
-        url  = "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz";
-        sha1 = "3208c1f08d3a4d99261ab64f92302bc15e111ca0";
+        name = "_typescript_eslint_eslint_plugin___eslint_plugin_4.28.4.tgz";
+        url  = "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.28.4.tgz";
+        sha1 = "e73c8cabbf3f08dee0e1bda65ed4e622ae8f8921";
       };
     }
     {
-      name = "abbrev___abbrev_1.1.1.tgz";
+      name = "_typescript_eslint_experimental_utils___experimental_utils_4.28.4.tgz";
       path = fetchurl {
-        name = "abbrev___abbrev_1.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz";
-        sha1 = "f8f2c887ad10bf67f634f005b6987fed3179aac8";
+        name = "_typescript_eslint_experimental_utils___experimental_utils_4.28.4.tgz";
+        url  = "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.28.4.tgz";
+        sha1 = "9c70c35ebed087a5c70fb0ecd90979547b7fec96";
       };
     }
     {
-      name = "acorn_jsx___acorn_jsx_5.3.1.tgz";
+      name = "_typescript_eslint_parser___parser_4.28.4.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 = "_typescript_eslint_parser___parser_4.28.4.tgz";
+        url  = "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.28.4.tgz";
+        sha1 = "bc462dc2779afeefdcf49082516afdc3e7b96fab";
       };
     }
     {
-      name = "acorn___acorn_7.4.1.tgz";
+      name = "_typescript_eslint_scope_manager___scope_manager_4.28.4.tgz";
       path = fetchurl {
-        name = "acorn___acorn_7.4.1.tgz";
-        url  = "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz";
-        sha1 = "feaed255973d2e77555b83dbc08851a6c63520fa";
+        name = "_typescript_eslint_scope_manager___scope_manager_4.28.4.tgz";
+        url  = "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.28.4.tgz";
+        sha1 = "bdbce9b6a644e34f767bd68bc17bb14353b9fe7f";
       };
     }
     {
-      name = "agent_base___agent_base_4.3.0.tgz";
+      name = "_typescript_eslint_types___types_4.28.4.tgz";
       path = fetchurl {
-        name = "agent_base___agent_base_4.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/agent-base/-/agent-base-4.3.0.tgz";
-        sha1 = "8165f01c436009bccad0b1d122f05ed770efc6ee";
+        name = "_typescript_eslint_types___types_4.28.4.tgz";
+        url  = "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.28.4.tgz";
+        sha1 = "41acbd79b5816b7c0dd7530a43d97d020d3aeb42";
       };
     }
     {
-      name = "agent_base___agent_base_4.2.1.tgz";
+      name = "_typescript_eslint_typescript_estree___typescript_estree_4.28.4.tgz";
       path = fetchurl {
-        name = "agent_base___agent_base_4.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/agent-base/-/agent-base-4.2.1.tgz";
-        sha1 = "d89e5999f797875674c07d87f260fc41e83e8ca9";
+        name = "_typescript_eslint_typescript_estree___typescript_estree_4.28.4.tgz";
+        url  = "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.28.4.tgz";
+        sha1 = "252e6863278dc0727244be9e371eb35241c46d00";
       };
     }
     {
-      name = "agentkeepalive___agentkeepalive_3.5.2.tgz";
+      name = "_typescript_eslint_visitor_keys___visitor_keys_4.28.4.tgz";
       path = fetchurl {
-        name = "agentkeepalive___agentkeepalive_3.5.2.tgz";
-        url  = "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-3.5.2.tgz";
-        sha1 = "a113924dd3fa24a0bc3b78108c450c2abee00f67";
+        name = "_typescript_eslint_visitor_keys___visitor_keys_4.28.4.tgz";
+        url  = "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.28.4.tgz";
+        sha1 = "92dacfefccd6751cbb0a964f06683bfd72d0c4d3";
       };
     }
     {
-      name = "ajv_keywords___ajv_keywords_3.4.1.tgz";
+      name = "abbrev___abbrev_1.1.1.tgz";
       path = fetchurl {
-        name = "ajv_keywords___ajv_keywords_3.4.1.tgz";
-        url  = "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz";
-        sha1 = "ef916e271c64ac12171fd8384eaae6b2345854da";
+        name = "abbrev___abbrev_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz";
+        sha1 = "f8f2c887ad10bf67f634f005b6987fed3179aac8";
       };
     }
     {
-      name = "ajv___ajv_6.12.3.tgz";
+      name = "acorn_jsx___acorn_jsx_5.3.2.tgz";
       path = fetchurl {
-        name = "ajv___ajv_6.12.3.tgz";
-        url  = "https://registry.yarnpkg.com/ajv/-/ajv-6.12.3.tgz";
-        sha1 = "18c5af38a111ddeb4f2697bd78d68abc1cabd706";
+        name = "acorn_jsx___acorn_jsx_5.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz";
+        sha1 = "7ed5bb55908b3b2f1bc55c6af1653bada7f07937";
       };
     }
     {
-      name = "ajv___ajv_6.12.2.tgz";
+      name = "acorn___acorn_7.4.1.tgz";
       path = fetchurl {
-        name = "ajv___ajv_6.12.2.tgz";
-        url  = "https://registry.yarnpkg.com/ajv/-/ajv-6.12.2.tgz";
-        sha1 = "c629c5eced17baf314437918d2da88c99d5958cd";
+        name = "acorn___acorn_7.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz";
+        sha1 = "feaed255973d2e77555b83dbc08851a6c63520fa";
       };
     }
     {
-      name = "ajv___ajv_6.12.6.tgz";
+      name = "agent_base___agent_base_6.0.2.tgz";
       path = fetchurl {
-        name = "ajv___ajv_6.12.6.tgz";
-        url  = "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz";
-        sha1 = "baf5a62e802b07d977034586f8c3baf5adf26df4";
+        name = "agent_base___agent_base_6.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz";
+        sha1 = "49fff58577cfee3f37176feab4c22e00f86d7f77";
       };
     }
     {
-      name = "ajv___ajv_6.12.5.tgz";
+      name = "agentkeepalive___agentkeepalive_4.1.4.tgz";
       path = fetchurl {
-        name = "ajv___ajv_6.12.5.tgz";
-        url  = "https://registry.yarnpkg.com/ajv/-/ajv-6.12.5.tgz";
-        sha1 = "19b0e8bae8f476e5ba666300387775fb1a00a4da";
+        name = "agentkeepalive___agentkeepalive_4.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.1.4.tgz";
+        sha1 = "d928028a4862cb11718e55227872e842a44c945b";
       };
     }
     {
-      name = "ajv___ajv_6.10.2.tgz";
+      name = "aggregate_error___aggregate_error_3.1.0.tgz";
       path = fetchurl {
-        name = "ajv___ajv_6.10.2.tgz";
-        url  = "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz";
-        sha1 = "d3cea04d6b017b2894ad69040fec8b623eb4bd52";
+        name = "aggregate_error___aggregate_error_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz";
+        sha1 = "92670ff50f5359bdb7a3e0d40d0ec30c5737687a";
       };
     }
     {
-      name = "ajv___ajv_8.5.0.tgz";
+      name = "ajv_keywords___ajv_keywords_3.5.2.tgz";
       path = fetchurl {
-        name = "ajv___ajv_8.5.0.tgz";
-        url  = "https://registry.yarnpkg.com/ajv/-/ajv-8.5.0.tgz";
-        sha1 = "695528274bcb5afc865446aa275484049a18ae4b";
+        name = "ajv_keywords___ajv_keywords_3.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz";
+        sha1 = "31f29da5ab6e00d1c2d329acf7b5929614d5014d";
       };
     }
     {
-      name = "ansi_align___ansi_align_2.0.0.tgz";
+      name = "ajv___ajv_6.12.6.tgz";
       path = fetchurl {
-        name = "ansi_align___ansi_align_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/ansi-align/-/ansi-align-2.0.0.tgz";
-        sha1 = "c36aeccba563b89ceb556f3690f0b1d9e3547f7f";
+        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.2.tgz";
+      path = fetchurl {
+        name = "ajv___ajv_8.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/ajv/-/ajv-8.6.2.tgz";
+        sha1 = "2fb45e0e5fcbc0813326c1c3da535d1881bb0571";
+      };
+    }
+    {
+      name = "allchange___allchange_1.0.0.tgz";
+      path = fetchurl {
+        name = "allchange___allchange_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/allchange/-/allchange-1.0.0.tgz";
+        sha1 = "f5177b7d97f8e97a2d059a1524db9a72d94dc6d2";
       };
     }
     {
@@ -698,27 +962,11 @@
       };
     }
     {
-      name = "ansi_styles___ansi_styles_4.2.1.tgz";
-      path = fetchurl {
-        name = "ansi_styles___ansi_styles_4.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz";
-        sha1 = "90ae75c424d008d2624c5bf29ead3177ebfcf359";
-      };
-    }
-    {
-      name = "ansicolors___ansicolors_0.3.2.tgz";
+      name = "ansi_styles___ansi_styles_4.3.0.tgz";
       path = fetchurl {
-        name = "ansicolors___ansicolors_0.3.2.tgz";
-        url  = "https://registry.yarnpkg.com/ansicolors/-/ansicolors-0.3.2.tgz";
-        sha1 = "665597de86a9ffe3aa9bfbe6cae5c6ea426b4979";
-      };
-    }
-    {
-      name = "ansistyles___ansistyles_0.1.3.tgz";
-      path = fetchurl {
-        name = "ansistyles___ansistyles_0.1.3.tgz";
-        url  = "https://registry.yarnpkg.com/ansistyles/-/ansistyles-0.1.3.tgz";
-        sha1 = "5de60415bda071bb37127854c864f41b23254539";
+        name = "ansi_styles___ansi_styles_4.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz";
+        sha1 = "edd803628ae71c04c85ae7a0906edad34b648937";
       };
     }
     {
@@ -730,6 +978,14 @@
       };
     }
     {
+      name = "anymatch___anymatch_3.1.2.tgz";
+      path = fetchurl {
+        name = "anymatch___anymatch_3.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz";
+        sha1 = "c0557c096af32f106198f4f4e2a383537e378716";
+      };
+    }
+    {
       name = "app_builder_bin___app_builder_bin_3.5.13.tgz";
       path = fetchurl {
         name = "app_builder_bin___app_builder_bin_3.5.13.tgz";
@@ -762,14 +1018,6 @@
       };
     }
     {
-      name = "aproba___aproba_2.0.0.tgz";
-      path = fetchurl {
-        name = "aproba___aproba_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz";
-        sha1 = "52520b8ae5b569215b354efc0caa3fe1e45a8adc";
-      };
-    }
-    {
       name = "archiver_utils___archiver_utils_2.1.0.tgz";
       path = fetchurl {
         name = "archiver_utils___archiver_utils_2.1.0.tgz";
@@ -786,14 +1034,6 @@
       };
     }
     {
-      name = "archy___archy_1.0.0.tgz";
-      path = fetchurl {
-        name = "archy___archy_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz";
-        sha1 = "f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40";
-      };
-    }
-    {
       name = "are_we_there_yet___are_we_there_yet_1.1.5.tgz";
       path = fetchurl {
         name = "are_we_there_yet___are_we_there_yet_1.1.5.tgz";
@@ -818,19 +1058,19 @@
       };
     }
     {
-      name = "asap___asap_2.0.6.tgz";
+      name = "array_union___array_union_2.1.0.tgz";
       path = fetchurl {
-        name = "asap___asap_2.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz";
-        sha1 = "e50347611d7e690943208bbdafebcbc2fb866d46";
+        name = "array_union___array_union_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz";
+        sha1 = "b798420adbeb1de828d84acd8a2e23d3efe85e8d";
       };
     }
     {
-      name = "asar___asar_2.0.1.tgz";
+      name = "asar___asar_2.1.0.tgz";
       path = fetchurl {
-        name = "asar___asar_2.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/asar/-/asar-2.0.1.tgz";
-        sha1 = "8518a1c62c238109c15a5f742213e83a09b9fd38";
+        name = "asar___asar_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/asar/-/asar-2.1.0.tgz";
+        sha1 = "97c6a570408c4e38a18d4a3fb748a621b5a7844e";
       };
     }
     {
@@ -930,11 +1170,11 @@
       };
     }
     {
-      name = "aws4___aws4_1.9.0.tgz";
+      name = "aws4___aws4_1.11.0.tgz";
       path = fetchurl {
-        name = "aws4___aws4_1.9.0.tgz";
-        url  = "https://registry.yarnpkg.com/aws4/-/aws4-1.9.0.tgz";
-        sha1 = "24390e6ad61386b0a747265754d2a17219de862c";
+        name = "aws4___aws4_1.11.0.tgz";
+        url  = "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz";
+        sha1 = "d61f46d83b2519250e2784daf5b09479a8b41c59";
       };
     }
     {
@@ -946,14 +1186,6 @@
       };
     }
     {
-      name = "base64_js___base64_js_1.3.1.tgz";
-      path = fetchurl {
-        name = "base64_js___base64_js_1.3.1.tgz";
-        url  = "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz";
-        sha1 = "58ece8cb75dd07e71ed08c736abc5fac4dbf8df1";
-      };
-    }
-    {
       name = "base64_js___base64_js_1.5.1.tgz";
       path = fetchurl {
         name = "base64_js___base64_js_1.5.1.tgz";
@@ -970,27 +1202,27 @@
       };
     }
     {
-      name = "bin_links___bin_links_1.1.7.tgz";
+      name = "before_after_hook___before_after_hook_2.2.2.tgz";
       path = fetchurl {
-        name = "bin_links___bin_links_1.1.7.tgz";
-        url  = "https://registry.yarnpkg.com/bin-links/-/bin-links-1.1.7.tgz";
-        sha1 = "34b79ea9d0e575d7308afeff0c6b2fc24c793359";
+        name = "before_after_hook___before_after_hook_2.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.2.tgz";
+        sha1 = "a6e8ca41028d90ee2c24222f201c90956091613e";
       };
     }
     {
-      name = "bin_links___bin_links_1.1.8.tgz";
+      name = "binary_extensions___binary_extensions_2.2.0.tgz";
       path = fetchurl {
-        name = "bin_links___bin_links_1.1.8.tgz";
-        url  = "https://registry.yarnpkg.com/bin-links/-/bin-links-1.1.8.tgz";
-        sha1 = "bd39aadab5dc4bdac222a07df5baf1af745b2228";
+        name = "binary_extensions___binary_extensions_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz";
+        sha1 = "75f502eeaf9ffde42fc98829645be4ea76bd9e2d";
       };
     }
     {
-      name = "bl___bl_4.0.3.tgz";
+      name = "bl___bl_4.1.0.tgz";
       path = fetchurl {
-        name = "bl___bl_4.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/bl/-/bl-4.0.3.tgz";
-        sha1 = "12d6287adc29080e22a705e5764b2a9522cdc489";
+        name = "bl___bl_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz";
+        sha1 = "451535264182bec2fbbc83a62ab98cf11d9f7b3a";
       };
     }
     {
@@ -1018,19 +1250,19 @@
       };
     }
     {
-      name = "boxen___boxen_1.3.0.tgz";
+      name = "boolean___boolean_3.1.2.tgz";
       path = fetchurl {
-        name = "boxen___boxen_1.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/boxen/-/boxen-1.3.0.tgz";
-        sha1 = "55c6c39a8ba58d9c61ad22cd877532deb665a20b";
+        name = "boolean___boolean_3.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/boolean/-/boolean-3.1.2.tgz";
+        sha1 = "e30f210a26b02458482a8cc353ab06f262a780c2";
       };
     }
     {
-      name = "boxen___boxen_5.0.0.tgz";
+      name = "boxen___boxen_5.0.1.tgz";
       path = fetchurl {
-        name = "boxen___boxen_5.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/boxen/-/boxen-5.0.0.tgz";
-        sha1 = "64fe9b16066af815f51057adcc800c3730120854";
+        name = "boxen___boxen_5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/boxen/-/boxen-5.0.1.tgz";
+        sha1 = "657528bdd3f59a772b8279b831f27ec2c744664b";
       };
     }
     {
@@ -1042,6 +1274,14 @@
       };
     }
     {
+      name = "braces___braces_3.0.2.tgz";
+      path = fetchurl {
+        name = "braces___braces_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz";
+        sha1 = "3454e1a462ee8d599e236df336cd9ea4f8afe107";
+      };
+    }
+    {
       name = "buffer_crc32___buffer_crc32_0.2.13.tgz";
       path = fetchurl {
         name = "buffer_crc32___buffer_crc32_0.2.13.tgz";
@@ -1082,14 +1322,6 @@
       };
     }
     {
-      name = "buffer___buffer_5.6.0.tgz";
-      path = fetchurl {
-        name = "buffer___buffer_5.6.0.tgz";
-        url  = "https://registry.yarnpkg.com/buffer/-/buffer-5.6.0.tgz";
-        sha1 = "a31749dc7d81d84db08abf937b6b8c4033f62786";
-      };
-    }
-    {
       name = "builder_util_runtime___builder_util_runtime_8.7.5.tgz";
       path = fetchurl {
         name = "builder_util_runtime___builder_util_runtime_8.7.5.tgz";
@@ -1114,35 +1346,11 @@
       };
     }
     {
-      name = "byline___byline_5.0.0.tgz";
+      name = "cacache___cacache_15.2.0.tgz";
       path = fetchurl {
-        name = "byline___byline_5.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/byline/-/byline-5.0.0.tgz";
-        sha1 = "741c5216468eadc457b03410118ad77de8c1ddb1";
-      };
-    }
-    {
-      name = "byte_size___byte_size_5.0.1.tgz";
-      path = fetchurl {
-        name = "byte_size___byte_size_5.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/byte-size/-/byte-size-5.0.1.tgz";
-        sha1 = "4b651039a5ecd96767e71a3d7ed380e48bed4191";
-      };
-    }
-    {
-      name = "cacache___cacache_12.0.4.tgz";
-      path = fetchurl {
-        name = "cacache___cacache_12.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz";
-        sha1 = "668bcbd105aeb5f1d92fe25570ec9525c8faa40c";
-      };
-    }
-    {
-      name = "cacache___cacache_12.0.3.tgz";
-      path = fetchurl {
-        name = "cacache___cacache_12.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/cacache/-/cacache-12.0.3.tgz";
-        sha1 = "be99abba4e1bf5df461cd5a2c1071fc432573390";
+        name = "cacache___cacache_15.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/cacache/-/cacache-15.2.0.tgz";
+        sha1 = "73af75f77c58e72d8c630a7a2858cb18ef523389";
       };
     }
     {
@@ -1154,14 +1362,6 @@
       };
     }
     {
-      name = "call_limit___call_limit_1.1.1.tgz";
-      path = fetchurl {
-        name = "call_limit___call_limit_1.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/call-limit/-/call-limit-1.1.1.tgz";
-        sha1 = "ef15f2670db3f1992557e2d965abc459e6e358d4";
-      };
-    }
-    {
       name = "callsites___callsites_3.1.0.tgz";
       path = fetchurl {
         name = "callsites___callsites_3.1.0.tgz";
@@ -1170,22 +1370,6 @@
       };
     }
     {
-      name = "camelcase___camelcase_4.1.0.tgz";
-      path = fetchurl {
-        name = "camelcase___camelcase_4.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz";
-        sha1 = "d545635be1e33c542649c69173e5de6acfae34dd";
-      };
-    }
-    {
-      name = "camelcase___camelcase_5.3.1.tgz";
-      path = fetchurl {
-        name = "camelcase___camelcase_5.3.1.tgz";
-        url  = "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz";
-        sha1 = "e3c9b31569e106811df242f715725a1f4c494320";
-      };
-    }
-    {
       name = "camelcase___camelcase_6.2.0.tgz";
       path = fetchurl {
         name = "camelcase___camelcase_6.2.0.tgz";
@@ -1194,14 +1378,6 @@
       };
     }
     {
-      name = "capture_stack_trace___capture_stack_trace_1.0.1.tgz";
-      path = fetchurl {
-        name = "capture_stack_trace___capture_stack_trace_1.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz";
-        sha1 = "a6c0bbe1f38f3aa0b92238ecb6ff42c344d4135d";
-      };
-    }
-    {
       name = "caseless___caseless_0.12.0.tgz";
       path = fetchurl {
         name = "caseless___caseless_0.12.0.tgz";
@@ -1218,14 +1394,6 @@
       };
     }
     {
-      name = "chalk___chalk_4.1.0.tgz";
-      path = fetchurl {
-        name = "chalk___chalk_4.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz";
-        sha1 = "4e14870a618d9e2edd97dd8345fd9d9dc315646a";
-      };
-    }
-    {
       name = "chalk___chalk_4.1.1.tgz";
       path = fetchurl {
         name = "chalk___chalk_4.1.1.tgz";
@@ -1234,6 +1402,14 @@
       };
     }
     {
+      name = "chokidar___chokidar_3.5.2.tgz";
+      path = fetchurl {
+        name = "chokidar___chokidar_3.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz";
+        sha1 = "dba3976fcadb016f66fd365021d91600d01c1e75";
+      };
+    }
+    {
       name = "chownr___chownr_1.1.4.tgz";
       path = fetchurl {
         name = "chownr___chownr_1.1.4.tgz";
@@ -1258,14 +1434,6 @@
       };
     }
     {
-      name = "ci_info___ci_info_1.6.0.tgz";
-      path = fetchurl {
-        name = "ci_info___ci_info_1.6.0.tgz";
-        url  = "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz";
-        sha1 = "2ca20dbb9ceb32d4524a683303313f0304b1e497";
-      };
-    }
-    {
       name = "ci_info___ci_info_2.0.0.tgz";
       path = fetchurl {
         name = "ci_info___ci_info_2.0.0.tgz";
@@ -1282,19 +1450,11 @@
       };
     }
     {
-      name = "cidr_regex___cidr_regex_2.0.10.tgz";
+      name = "clean_stack___clean_stack_2.2.0.tgz";
       path = fetchurl {
-        name = "cidr_regex___cidr_regex_2.0.10.tgz";
-        url  = "https://registry.yarnpkg.com/cidr-regex/-/cidr-regex-2.0.10.tgz";
-        sha1 = "af13878bd4ad704de77d6dc800799358b3afa70d";
-      };
-    }
-    {
-      name = "cli_boxes___cli_boxes_1.0.0.tgz";
-      path = fetchurl {
-        name = "cli_boxes___cli_boxes_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz";
-        sha1 = "4fa917c3e59c94a004cd61f8ee509da651687143";
+        name = "clean_stack___clean_stack_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz";
+        sha1 = "ee8472dbb129e727b31e8a10a427dee9dfe4008b";
       };
     }
     {
@@ -1306,19 +1466,11 @@
       };
     }
     {
-      name = "cli_columns___cli_columns_3.1.2.tgz";
+      name = "cli_color___cli_color_2.0.0.tgz";
       path = fetchurl {
-        name = "cli_columns___cli_columns_3.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/cli-columns/-/cli-columns-3.1.2.tgz";
-        sha1 = "6732d972979efc2ae444a1f08e08fa139c96a18e";
-      };
-    }
-    {
-      name = "cli_table3___cli_table3_0.5.1.tgz";
-      path = fetchurl {
-        name = "cli_table3___cli_table3_0.5.1.tgz";
-        url  = "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.5.1.tgz";
-        sha1 = "0252372d94dfc40dbd8df06005f48f31f656f202";
+        name = "cli_color___cli_color_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/cli-color/-/cli-color-2.0.0.tgz";
+        sha1 = "11ecfb58a79278cf6035a60c54e338f9d837897c";
       };
     }
     {
@@ -1330,22 +1482,6 @@
       };
     }
     {
-      name = "cliui___cliui_3.2.0.tgz";
-      path = fetchurl {
-        name = "cliui___cliui_3.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz";
-        sha1 = "120601537a916d29940f934da3b48d585a39213d";
-      };
-    }
-    {
-      name = "cliui___cliui_5.0.0.tgz";
-      path = fetchurl {
-        name = "cliui___cliui_5.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz";
-        sha1 = "deefcfdb2e800784aa34f46fa08e06851c7bbbc5";
-      };
-    }
-    {
       name = "cliui___cliui_7.0.4.tgz";
       path = fetchurl {
         name = "cliui___cliui_7.0.4.tgz";
@@ -1362,22 +1498,6 @@
       };
     }
     {
-      name = "clone___clone_1.0.4.tgz";
-      path = fetchurl {
-        name = "clone___clone_1.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz";
-        sha1 = "da309cc263df15994c688ca902179ca3c7cd7c7e";
-      };
-    }
-    {
-      name = "cmd_shim___cmd_shim_3.0.3.tgz";
-      path = fetchurl {
-        name = "cmd_shim___cmd_shim_3.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-3.0.3.tgz";
-        sha1 = "2c35238d3df37d98ecdd7d5f6b8dc6b21cadc7cb";
-      };
-    }
-    {
       name = "code_point_at___code_point_at_1.1.0.tgz";
       path = fetchurl {
         name = "code_point_at___code_point_at_1.1.0.tgz";
@@ -1426,22 +1546,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";
-        sha1 = "c50491479d4c1bdaed2c9ced32cf7c7dc2360f78";
-      };
-    }
-    {
-      name = "columnify___columnify_1.5.4.tgz";
-      path = fetchurl {
-        name = "columnify___columnify_1.5.4.tgz";
-        url  = "https://registry.yarnpkg.com/columnify/-/columnify-1.5.4.tgz";
-        sha1 = "4737ddf1c7b69a8a7c340570782e947eec8e78bb";
-      };
-    }
-    {
       name = "combined_stream___combined_stream_1.0.8.tgz";
       path = fetchurl {
         name = "combined_stream___combined_stream_1.0.8.tgz";
@@ -1474,11 +1578,11 @@
       };
     }
     {
-      name = "compress_commons___compress_commons_4.1.0.tgz";
+      name = "compress_commons___compress_commons_4.1.1.tgz";
       path = fetchurl {
-        name = "compress_commons___compress_commons_4.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/compress-commons/-/compress-commons-4.1.0.tgz";
-        sha1 = "25ec7a4528852ccd1d441a7d4353cd0ece11371b";
+        name = "compress_commons___compress_commons_4.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/compress-commons/-/compress-commons-4.1.1.tgz";
+        sha1 = "df2a09a7ed17447642bad10a85cc9a19e5c42a7d";
       };
     }
     {
@@ -1506,19 +1610,11 @@
       };
     }
     {
-      name = "config_chain___config_chain_1.1.12.tgz";
+      name = "config_chain___config_chain_1.1.13.tgz";
       path = fetchurl {
-        name = "config_chain___config_chain_1.1.12.tgz";
-        url  = "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.12.tgz";
-        sha1 = "0fde8d091200eb5e808caf25fe618c02f48e4efa";
-      };
-    }
-    {
-      name = "configstore___configstore_3.1.2.tgz";
-      path = fetchurl {
-        name = "configstore___configstore_3.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/configstore/-/configstore-3.1.2.tgz";
-        sha1 = "c6f25defaeef26df12dd33414b001fe81a543f8f";
+        name = "config_chain___config_chain_1.1.13.tgz";
+        url  = "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.13.tgz";
+        sha1 = "fad0795aa6a6cdaff9ed1b68e9dff94372c232f4";
       };
     }
     {
@@ -1538,11 +1634,11 @@
       };
     }
     {
-      name = "copy_concurrently___copy_concurrently_1.0.5.tgz";
+      name = "core_js___core_js_3.15.2.tgz";
       path = fetchurl {
-        name = "copy_concurrently___copy_concurrently_1.0.5.tgz";
-        url  = "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz";
-        sha1 = "92297398cae34937fcafd6ec8139c18051f0b5e0";
+        name = "core_js___core_js_3.15.2.tgz";
+        url  = "https://registry.yarnpkg.com/core-js/-/core-js-3.15.2.tgz";
+        sha1 = "740660d2ff55ef34ce664d7e2455119c5bdd3d61";
       };
     }
     {
@@ -1570,11 +1666,11 @@
       };
     }
     {
-      name = "crc32_stream___crc32_stream_4.0.1.tgz";
+      name = "crc32_stream___crc32_stream_4.0.2.tgz";
       path = fetchurl {
-        name = "crc32_stream___crc32_stream_4.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-4.0.1.tgz";
-        sha1 = "0f047d74041737f8a55e86837a1b826bd8ab0067";
+        name = "crc32_stream___crc32_stream_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-4.0.2.tgz";
+        sha1 = "c922ad22b38395abe9d3870f02fa8134ed709007";
       };
     }
     {
@@ -1586,22 +1682,6 @@
       };
     }
     {
-      name = "create_error_class___create_error_class_3.0.2.tgz";
-      path = fetchurl {
-        name = "create_error_class___create_error_class_3.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz";
-        sha1 = "06be7abef947a3f14a30fd610671d401bca8b7b6";
-      };
-    }
-    {
-      name = "cross_spawn___cross_spawn_5.1.0.tgz";
-      path = fetchurl {
-        name = "cross_spawn___cross_spawn_5.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz";
-        sha1 = "e8bd0efee58fcff6f8f94510a0a554bbfa235449";
-      };
-    }
-    {
       name = "cross_spawn___cross_spawn_7.0.3.tgz";
       path = fetchurl {
         name = "cross_spawn___cross_spawn_7.0.3.tgz";
@@ -1610,14 +1690,6 @@
       };
     }
     {
-      name = "crypto_random_string___crypto_random_string_1.0.0.tgz";
-      path = fetchurl {
-        name = "crypto_random_string___crypto_random_string_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz";
-        sha1 = "a230f64f568310e1498009940790ec99545bca7e";
-      };
-    }
-    {
       name = "crypto_random_string___crypto_random_string_2.0.0.tgz";
       path = fetchurl {
         name = "crypto_random_string___crypto_random_string_2.0.0.tgz";
@@ -1634,11 +1706,11 @@
       };
     }
     {
-      name = "cyclist___cyclist_1.0.1.tgz";
+      name = "d___d_1.0.1.tgz";
       path = fetchurl {
-        name = "cyclist___cyclist_1.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz";
-        sha1 = "596e9698fd0c80e12038c2b82d6eb1b35b6224d9";
+        name = "d___d_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz";
+        sha1 = "8698095372d58dbee346ffd0c7093f99f8f9eb5a";
       };
     }
     {
@@ -1666,46 +1738,6 @@
       };
     }
     {
-      name = "debug___debug_3.1.0.tgz";
-      path = fetchurl {
-        name = "debug___debug_3.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz";
-        sha1 = "5bb5a0672628b64149566ba16819e61518c67261";
-      };
-    }
-    {
-      name = "debug___debug_3.2.7.tgz";
-      path = fetchurl {
-        name = "debug___debug_3.2.7.tgz";
-        url  = "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz";
-        sha1 = "72580b7e9145fb39b6676f9c5e5fb100b934179a";
-      };
-    }
-    {
-      name = "debug___debug_3.2.6.tgz";
-      path = fetchurl {
-        name = "debug___debug_3.2.6.tgz";
-        url  = "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz";
-        sha1 = "e83d17de16d8a7efb7717edbe5fb10135eee629b";
-      };
-    }
-    {
-      name = "debug___debug_4.1.1.tgz";
-      path = fetchurl {
-        name = "debug___debug_4.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz";
-        sha1 = "3b72260255109c6b589cee050f1d516139664791";
-      };
-    }
-    {
-      name = "debug___debug_4.3.1.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.2.tgz";
       path = fetchurl {
         name = "debug___debug_4.3.2.tgz";
@@ -1714,27 +1746,19 @@
       };
     }
     {
-      name = "debuglog___debuglog_1.0.1.tgz";
+      name = "debug___debug_2.6.9.tgz";
       path = fetchurl {
-        name = "debuglog___debuglog_1.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz";
-        sha1 = "aa24ffb9ac3df9a2351837cfb2d279360cd78492";
+        name = "debug___debug_2.6.9.tgz";
+        url  = "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz";
+        sha1 = "5d128515df134ff327e90a4c93f4e077a536341f";
       };
     }
     {
-      name = "decamelize___decamelize_1.2.0.tgz";
-      path = fetchurl {
-        name = "decamelize___decamelize_1.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz";
-        sha1 = "f6534d15148269b20352e7bee26f501f9a191290";
-      };
-    }
-    {
-      name = "decode_uri_component___decode_uri_component_0.2.0.tgz";
+      name = "debug___debug_3.2.7.tgz";
       path = fetchurl {
-        name = "decode_uri_component___decode_uri_component_0.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz";
-        sha1 = "eb3913333458775cb84cd1a1fae062106bb87545";
+        name = "debug___debug_3.2.7.tgz";
+        url  = "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz";
+        sha1 = "72580b7e9145fb39b6676f9c5e5fb100b934179a";
       };
     }
     {
@@ -1762,19 +1786,11 @@
       };
     }
     {
-      name = "defaults___defaults_1.0.3.tgz";
-      path = fetchurl {
-        name = "defaults___defaults_1.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz";
-        sha1 = "c656051e9817d9ff08ed881477f3fe4019f3ef7d";
-      };
-    }
-    {
-      name = "defer_to_connect___defer_to_connect_1.1.1.tgz";
+      name = "defer_to_connect___defer_to_connect_1.1.3.tgz";
       path = fetchurl {
-        name = "defer_to_connect___defer_to_connect_1.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.1.tgz";
-        sha1 = "88ae694b93f67b81815a2c8c769aef6574ac8f2f";
+        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";
       };
     }
     {
@@ -1802,35 +1818,35 @@
       };
     }
     {
-      name = "detect_indent___detect_indent_5.0.0.tgz";
+      name = "depd___depd_1.1.2.tgz";
       path = fetchurl {
-        name = "detect_indent___detect_indent_5.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz";
-        sha1 = "3871cc0a6a002e8c3e5b3cf7f336264675f06b9d";
+        name = "depd___depd_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz";
+        sha1 = "9bcd52e14c097763e749b274c4346ed2e560b5a9";
       };
     }
     {
-      name = "detect_libc___detect_libc_1.0.3.tgz";
+      name = "deprecation___deprecation_2.3.1.tgz";
       path = fetchurl {
-        name = "detect_libc___detect_libc_1.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz";
-        sha1 = "fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b";
+        name = "deprecation___deprecation_2.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz";
+        sha1 = "6368cbdb40abf3373b525ac87e4a260c3a700919";
       };
     }
     {
-      name = "detect_newline___detect_newline_2.1.0.tgz";
+      name = "detect_libc___detect_libc_1.0.3.tgz";
       path = fetchurl {
-        name = "detect_newline___detect_newline_2.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz";
-        sha1 = "f41f1c10be4b00e87b5f13da680759f2c5bfd3e2";
+        name = "detect_libc___detect_libc_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz";
+        sha1 = "fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b";
       };
     }
     {
-      name = "dezalgo___dezalgo_1.0.3.tgz";
+      name = "detect_node___detect_node_2.1.0.tgz";
       path = fetchurl {
-        name = "dezalgo___dezalgo_1.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.3.tgz";
-        sha1 = "7f742de066fc748bc8db820569dddce49bf0d456";
+        name = "detect_node___detect_node_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz";
+        sha1 = "c9c70775a49c3d03bc2c06d9a73be550f978f8b1";
       };
     }
     {
@@ -1842,6 +1858,14 @@
       };
     }
     {
+      name = "dir_glob___dir_glob_3.0.1.tgz";
+      path = fetchurl {
+        name = "dir_glob___dir_glob_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz";
+        sha1 = "56dbf73d992a4a93ba1584f4534063fd2e41717f";
+      };
+    }
+    {
       name = "dmg_builder___dmg_builder_22.11.4.tgz";
       path = fetchurl {
         name = "dmg_builder___dmg_builder_22.11.4.tgz";
@@ -1866,27 +1890,19 @@
       };
     }
     {
-      name = "dom_walk___dom_walk_0.1.1.tgz";
-      path = fetchurl {
-        name = "dom_walk___dom_walk_0.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.1.tgz";
-        sha1 = "672226dc74c8f799ad35307df936aba11acd6018";
-      };
-    }
-    {
-      name = "dot_prop___dot_prop_4.2.1.tgz";
+      name = "dom_walk___dom_walk_0.1.2.tgz";
       path = fetchurl {
-        name = "dot_prop___dot_prop_4.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.1.tgz";
-        sha1 = "45884194a71fc2cda71cbb4bceb3a4dd2f433ba4";
+        name = "dom_walk___dom_walk_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.2.tgz";
+        sha1 = "0c548bef048f4d1f2a97249002236060daa3fd84";
       };
     }
     {
-      name = "dot_prop___dot_prop_5.2.0.tgz";
+      name = "dot_prop___dot_prop_5.3.0.tgz";
       path = fetchurl {
-        name = "dot_prop___dot_prop_5.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.2.0.tgz";
-        sha1 = "c34ecc29556dc45f1f4c22697b6f4904e0cc4fcb";
+        name = "dot_prop___dot_prop_5.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz";
+        sha1 = "90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88";
       };
     }
     {
@@ -1898,14 +1914,6 @@
       };
     }
     {
-      name = "dotenv___dotenv_5.0.1.tgz";
-      path = fetchurl {
-        name = "dotenv___dotenv_5.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/dotenv/-/dotenv-5.0.1.tgz";
-        sha1 = "a5317459bd3d79ab88cff6e44057a6a3fbb1fcef";
-      };
-    }
-    {
       name = "dotenv___dotenv_9.0.2.tgz";
       path = fetchurl {
         name = "dotenv___dotenv_9.0.2.tgz";
@@ -1922,14 +1930,6 @@
       };
     }
     {
-      name = "duplexify___duplexify_3.7.1.tgz";
-      path = fetchurl {
-        name = "duplexify___duplexify_3.7.1.tgz";
-        url  = "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz";
-        sha1 = "2a4df5317f6ccfd91f86d6fd25d8d8a103b88309";
-      };
-    }
-    {
       name = "ecc_jsbn___ecc_jsbn_0.1.2.tgz";
       path = fetchurl {
         name = "ecc_jsbn___ecc_jsbn_0.1.2.tgz";
@@ -1938,14 +1938,6 @@
       };
     }
     {
-      name = "editor___editor_1.0.0.tgz";
-      path = fetchurl {
-        name = "editor___editor_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/editor/-/editor-1.0.0.tgz";
-        sha1 = "60c7f87bd62bcc6a894fa8ccd6afb7823a24f742";
-      };
-    }
-    {
       name = "ejs___ejs_3.1.6.tgz";
       path = fetchurl {
         name = "ejs___ejs_3.1.6.tgz";
@@ -1970,11 +1962,11 @@
       };
     }
     {
-      name = "electron_devtools_installer___electron_devtools_installer_3.1.1.tgz";
+      name = "electron_devtools_installer___electron_devtools_installer_3.2.0.tgz";
       path = fetchurl {
-        name = "electron_devtools_installer___electron_devtools_installer_3.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/electron-devtools-installer/-/electron-devtools-installer-3.1.1.tgz";
-        sha1 = "7b56c8c86475c5e4e10de6917d150c53c9ceb55e";
+        name = "electron_devtools_installer___electron_devtools_installer_3.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/electron-devtools-installer/-/electron-devtools-installer-3.2.0.tgz";
+        sha1 = "acc48d24eb7033fe5af284a19667e73b78d406d0";
       };
     }
     {
@@ -2010,6 +2002,14 @@
       };
     }
     {
+      name = "electron___electron_13.1.9.tgz";
+      path = fetchurl {
+        name = "electron___electron_13.1.9.tgz";
+        url  = "https://registry.yarnpkg.com/electron/-/electron-13.1.9.tgz";
+        sha1 = "668e2632b81e9fa21edfd32876282d3e2ff7fd76";
+      };
+    }
+    {
       name = "emoji_regex___emoji_regex_7.0.3.tgz";
       path = fetchurl {
         name = "emoji_regex___emoji_regex_7.0.3.tgz";
@@ -2026,6 +2026,14 @@
       };
     }
     {
+      name = "encodeurl___encodeurl_1.0.2.tgz";
+      path = fetchurl {
+        name = "encodeurl___encodeurl_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz";
+        sha1 = "ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59";
+      };
+    }
+    {
       name = "encoding___encoding_0.1.13.tgz";
       path = fetchurl {
         name = "encoding___encoding_0.1.13.tgz";
@@ -2050,67 +2058,59 @@
       };
     }
     {
-      name = "env_paths___env_paths_2.2.0.tgz";
-      path = fetchurl {
-        name = "env_paths___env_paths_2.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.0.tgz";
-        sha1 = "cdca557dc009152917d6166e2febe1f039685e43";
-      };
-    }
-    {
-      name = "err_code___err_code_1.1.2.tgz";
+      name = "env_paths___env_paths_2.2.1.tgz";
       path = fetchurl {
-        name = "err_code___err_code_1.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/err-code/-/err-code-1.1.2.tgz";
-        sha1 = "06e0116d3028f6aef4806849eb0ea6a748ae6960";
+        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 = "errno___errno_0.1.7.tgz";
+      name = "err_code___err_code_2.0.3.tgz";
       path = fetchurl {
-        name = "errno___errno_0.1.7.tgz";
-        url  = "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz";
-        sha1 = "4684d71779ad39af177e3f007996f7c67c852618";
+        name = "err_code___err_code_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/err-code/-/err-code-2.0.3.tgz";
+        sha1 = "23c2f3b756ffdfc608d30e27c9a941024807e7f9";
       };
     }
     {
-      name = "error_ex___error_ex_1.3.2.tgz";
+      name = "es5_ext___es5_ext_0.10.53.tgz";
       path = fetchurl {
-        name = "error_ex___error_ex_1.3.2.tgz";
-        url  = "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz";
-        sha1 = "b4ac40648107fdcdcfae242f428bea8a14d4f1bf";
+        name = "es5_ext___es5_ext_0.10.53.tgz";
+        url  = "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.53.tgz";
+        sha1 = "93c5a3acfdbef275220ad72644ad02ee18368de1";
       };
     }
     {
-      name = "es_abstract___es_abstract_1.16.3.tgz";
+      name = "es6_error___es6_error_4.1.1.tgz";
       path = fetchurl {
-        name = "es_abstract___es_abstract_1.16.3.tgz";
-        url  = "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.16.3.tgz";
-        sha1 = "52490d978f96ff9f89ec15b5cf244304a5bca161";
+        name = "es6_error___es6_error_4.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz";
+        sha1 = "9e3af407459deed47e9a91f9b885a84eb05c561d";
       };
     }
     {
-      name = "es_to_primitive___es_to_primitive_1.2.1.tgz";
+      name = "es6_iterator___es6_iterator_2.0.3.tgz";
       path = fetchurl {
-        name = "es_to_primitive___es_to_primitive_1.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz";
-        sha1 = "e55cd4c9cdc188bcefb03b366c736323fc5c898a";
+        name = "es6_iterator___es6_iterator_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz";
+        sha1 = "a7de889141a05a94b0854403b2d0a0fbfa98f3b7";
       };
     }
     {
-      name = "es6_promise___es6_promise_4.2.8.tgz";
+      name = "es6_symbol___es6_symbol_3.1.3.tgz";
       path = fetchurl {
-        name = "es6_promise___es6_promise_4.2.8.tgz";
-        url  = "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz";
-        sha1 = "4eb21594c972bc40553d276e510539143db53e0a";
+        name = "es6_symbol___es6_symbol_3.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz";
+        sha1 = "bad5d3c1bcdac28269f4cb331e431c78ac705d18";
       };
     }
     {
-      name = "es6_promisify___es6_promisify_5.0.0.tgz";
+      name = "es6_weak_map___es6_weak_map_2.0.3.tgz";
       path = fetchurl {
-        name = "es6_promisify___es6_promisify_5.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz";
-        sha1 = "5109d62f3e56ea967c4b63505aef08291c8a5203";
+        name = "es6_weak_map___es6_weak_map_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.3.tgz";
+        sha1 = "b6da1f16cc2cc0d9be43e6bdbfc5e7dfcdf31d53";
       };
     }
     {
@@ -2138,6 +2138,14 @@
       };
     }
     {
+      name = "escape_string_regexp___escape_string_regexp_4.0.0.tgz";
+      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";
+      };
+    }
+    {
       name = "eslint_config_google___eslint_config_google_0.14.0.tgz";
       path = fetchurl {
         name = "eslint_config_google___eslint_config_google_0.14.0.tgz";
@@ -2146,11 +2154,11 @@
       };
     }
     {
-      name = "53000626a9256811f6b355de4eafeb5575bda7fc";
+      name = "2306b3d4da4eba908b256014b979f1d3d43d2945";
       path = fetchurl {
-        name = "53000626a9256811f6b355de4eafeb5575bda7fc";
-        url  = "https://codeload.github.com/matrix-org/eslint-plugin-matrix-org/tar.gz/53000626a9256811f6b355de4eafeb5575bda7fc";
-        sha1 = "12617a8105ab0ea2e7df2567928260a41ebffd58";
+        name = "2306b3d4da4eba908b256014b979f1d3d43d2945";
+        url  = "https://codeload.github.com/matrix-org/eslint-plugin-matrix-org/tar.gz/2306b3d4da4eba908b256014b979f1d3d43d2945";
+        sha1 = "e82e07e6163d15ee5243d8df073947540bf0efc9";
       };
     }
     {
@@ -2170,11 +2178,11 @@
       };
     }
     {
-      name = "eslint_visitor_keys___eslint_visitor_keys_1.1.0.tgz";
+      name = "eslint_utils___eslint_utils_3.0.0.tgz";
       path = fetchurl {
-        name = "eslint_visitor_keys___eslint_visitor_keys_1.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz";
-        sha1 = "e2a82cea84ff246ad6fb57f9bde5b46621459ec2";
+        name = "eslint_utils___eslint_utils_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz";
+        sha1 = "8aebaface7345bb33559db0a1f13a1d2d48c3672";
       };
     }
     {
@@ -2218,11 +2226,11 @@
       };
     }
     {
-      name = "esquery___esquery_1.3.1.tgz";
+      name = "esquery___esquery_1.4.0.tgz";
       path = fetchurl {
-        name = "esquery___esquery_1.3.1.tgz";
-        url  = "https://registry.yarnpkg.com/esquery/-/esquery-1.3.1.tgz";
-        sha1 = "b78b5828aa8e214e29fb74c4d5b752e1c033da57";
+        name = "esquery___esquery_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz";
+        sha1 = "2148ffc38b82e8c7057dfed48425b3e61f0f24a5";
       };
     }
     {
@@ -2242,14 +2250,6 @@
       };
     }
     {
-      name = "estraverse___estraverse_5.1.0.tgz";
-      path = fetchurl {
-        name = "estraverse___estraverse_5.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/estraverse/-/estraverse-5.1.0.tgz";
-        sha1 = "374309d39fd935ae500e7b92e8a6b4c720e59642";
-      };
-    }
-    {
       name = "estraverse___estraverse_5.2.0.tgz";
       path = fetchurl {
         name = "estraverse___estraverse_5.2.0.tgz";
@@ -2266,19 +2266,19 @@
       };
     }
     {
-      name = "except___except_0.1.3.tgz";
+      name = "event_emitter___event_emitter_0.3.5.tgz";
       path = fetchurl {
-        name = "except___except_0.1.3.tgz";
-        url  = "https://registry.yarnpkg.com/except/-/except-0.1.3.tgz";
-        sha1 = "98261c91958551536b44482238e9783fb73d292a";
+        name = "event_emitter___event_emitter_0.3.5.tgz";
+        url  = "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz";
+        sha1 = "df8c69eef1647923c7157b9ce83840610b02cc39";
       };
     }
     {
-      name = "execa___execa_0.7.0.tgz";
+      name = "except___except_0.1.3.tgz";
       path = fetchurl {
-        name = "execa___execa_0.7.0.tgz";
-        url  = "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz";
-        sha1 = "944becd34cc41ee32a63a9faf27ad5a65fc59777";
+        name = "except___except_0.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/except/-/except-0.1.3.tgz";
+        sha1 = "98261c91958551536b44482238e9783fb73d292a";
       };
     }
     {
@@ -2298,6 +2298,14 @@
       };
     }
     {
+      name = "ext___ext_1.4.0.tgz";
+      path = fetchurl {
+        name = "ext___ext_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/ext/-/ext-1.4.0.tgz";
+        sha1 = "89ae7a07158f79d35517882904324077e4379244";
+      };
+    }
+    {
       name = "extend___extend_3.0.2.tgz";
       path = fetchurl {
         name = "extend___extend_3.0.2.tgz";
@@ -2306,6 +2314,14 @@
       };
     }
     {
+      name = "extract_zip___extract_zip_1.7.0.tgz";
+      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";
+      };
+    }
+    {
       name = "extsprintf___extsprintf_1.3.0.tgz";
       path = fetchurl {
         name = "extsprintf___extsprintf_1.3.0.tgz";
@@ -2322,14 +2338,6 @@
       };
     }
     {
-      name = "fast_deep_equal___fast_deep_equal_2.0.1.tgz";
-      path = fetchurl {
-        name = "fast_deep_equal___fast_deep_equal_2.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz";
-        sha1 = "7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49";
-      };
-    }
-    {
       name = "fast_deep_equal___fast_deep_equal_3.1.3.tgz";
       path = fetchurl {
         name = "fast_deep_equal___fast_deep_equal_3.1.3.tgz";
@@ -2338,11 +2346,19 @@
       };
     }
     {
-      name = "fast_json_stable_stringify___fast_json_stable_stringify_2.0.0.tgz";
+      name = "fast_glob___fast_glob_3.2.7.tgz";
+      path = fetchurl {
+        name = "fast_glob___fast_glob_3.2.7.tgz";
+        url  = "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz";
+        sha1 = "fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1";
+      };
+    }
+    {
+      name = "fast_json_stable_stringify___fast_json_stable_stringify_2.1.0.tgz";
       path = fetchurl {
-        name = "fast_json_stable_stringify___fast_json_stable_stringify_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz";
-        sha1 = "d5142c0caee6b1189f87d3a76111064f86c8bbf2";
+        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";
       };
     }
     {
@@ -2354,11 +2370,19 @@
       };
     }
     {
-      name = "figgy_pudding___figgy_pudding_3.5.2.tgz";
+      name = "fastq___fastq_1.11.1.tgz";
       path = fetchurl {
-        name = "figgy_pudding___figgy_pudding_3.5.2.tgz";
-        url  = "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz";
-        sha1 = "b4eee8148abb01dcf1d1ac34367d59e12fa61d6e";
+        name = "fastq___fastq_1.11.1.tgz";
+        url  = "https://registry.yarnpkg.com/fastq/-/fastq-1.11.1.tgz";
+        sha1 = "5d8175aae17db61947f8b162cfc7f63264d22807";
+      };
+    }
+    {
+      name = "fd_slicer___fd_slicer_1.1.0.tgz";
+      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";
       };
     }
     {
@@ -2378,27 +2402,27 @@
       };
     }
     {
-      name = "filelist___filelist_1.0.1.tgz";
+      name = "filelist___filelist_1.0.2.tgz";
       path = fetchurl {
-        name = "filelist___filelist_1.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/filelist/-/filelist-1.0.1.tgz";
-        sha1 = "f10d1a3ae86c1694808e8f20906f43d4c9132dbb";
+        name = "filelist___filelist_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/filelist/-/filelist-1.0.2.tgz";
+        sha1 = "80202f21462d4d1c2e214119b1807c1bc0380e5b";
       };
     }
     {
-      name = "find_npm_prefix___find_npm_prefix_1.0.2.tgz";
+      name = "fill_range___fill_range_7.0.1.tgz";
       path = fetchurl {
-        name = "find_npm_prefix___find_npm_prefix_1.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/find-npm-prefix/-/find-npm-prefix-1.0.2.tgz";
-        sha1 = "8d8ce2c78b3b4b9e66c8acc6a37c231eb841cfdf";
+        name = "fill_range___fill_range_7.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz";
+        sha1 = "1919a6a7c75fe38b2c7c77e5198535da9acdda40";
       };
     }
     {
-      name = "find_up___find_up_2.1.0.tgz";
+      name = "find_npm_prefix___find_npm_prefix_1.0.2.tgz";
       path = fetchurl {
-        name = "find_up___find_up_2.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz";
-        sha1 = "45d1b7e506c717ddd482775a2b77920a3c0c57a7";
+        name = "find_npm_prefix___find_npm_prefix_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/find-npm-prefix/-/find-npm-prefix-1.0.2.tgz";
+        sha1 = "8d8ce2c78b3b4b9e66c8acc6a37c231eb841cfdf";
       };
     }
     {
@@ -2418,19 +2442,11 @@
       };
     }
     {
-      name = "flatted___flatted_3.1.1.tgz";
+      name = "flatted___flatted_3.2.1.tgz";
       path = fetchurl {
-        name = "flatted___flatted_3.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/flatted/-/flatted-3.1.1.tgz";
-        sha1 = "c4b489e80096d9df1dfc97c79871aea7c617c469";
-      };
-    }
-    {
-      name = "flush_write_stream___flush_write_stream_1.1.1.tgz";
-      path = fetchurl {
-        name = "flush_write_stream___flush_write_stream_1.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz";
-        sha1 = "8dd7d873a1babc207d94ead0c2e0e44276ebf2e8";
+        name = "flatted___flatted_3.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/flatted/-/flatted-3.2.1.tgz";
+        sha1 = "bbef080d95fca6709362c73044a1634f7c6e7d05";
       };
     }
     {
@@ -2458,22 +2474,6 @@
       };
     }
     {
-      name = "from2___from2_1.3.0.tgz";
-      path = fetchurl {
-        name = "from2___from2_1.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/from2/-/from2-1.3.0.tgz";
-        sha1 = "88413baaa5f9a597cfde9221d86986cd3c061dfd";
-      };
-    }
-    {
-      name = "from2___from2_2.3.0.tgz";
-      path = fetchurl {
-        name = "from2___from2_2.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz";
-        sha1 = "8bfb5502bde4a4d36cfdeea007fcca21d7e382af";
-      };
-    }
-    {
       name = "fs_constants___fs_constants_1.0.0.tgz";
       path = fetchurl {
         name = "fs_constants___fs_constants_1.0.0.tgz";
@@ -2506,14 +2506,6 @@
       };
     }
     {
-      name = "fs_extra___fs_extra_9.0.1.tgz";
-      path = fetchurl {
-        name = "fs_extra___fs_extra_9.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.1.tgz";
-        sha1 = "910da0062437ba4c39fedd863f1675ccfefcb9fc";
-      };
-    }
-    {
       name = "fs_minipass___fs_minipass_1.2.7.tgz";
       path = fetchurl {
         name = "fs_minipass___fs_minipass_1.2.7.tgz";
@@ -2522,27 +2514,11 @@
       };
     }
     {
-      name = "fs_minipass___fs_minipass_2.0.0.tgz";
+      name = "fs_minipass___fs_minipass_2.1.0.tgz";
       path = fetchurl {
-        name = "fs_minipass___fs_minipass_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.0.0.tgz";
-        sha1 = "a6415edab02fae4b9e9230bc87ee2e4472003cd1";
-      };
-    }
-    {
-      name = "fs_vacuum___fs_vacuum_1.2.10.tgz";
-      path = fetchurl {
-        name = "fs_vacuum___fs_vacuum_1.2.10.tgz";
-        url  = "https://registry.yarnpkg.com/fs-vacuum/-/fs-vacuum-1.2.10.tgz";
-        sha1 = "b7629bec07a4031a2548fdf99f5ecf1cc8b31e36";
-      };
-    }
-    {
-      name = "fs_write_stream_atomic___fs_write_stream_atomic_1.0.10.tgz";
-      path = fetchurl {
-        name = "fs_write_stream_atomic___fs_write_stream_atomic_1.0.10.tgz";
-        url  = "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz";
-        sha1 = "b47df53493ef911df75731e70a9ded0189db40c9";
+        name = "fs_minipass___fs_minipass_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz";
+        sha1 = "7f5036fdbf12c63c169190cbe4199c852271f9fb";
       };
     }
     {
@@ -2554,11 +2530,11 @@
       };
     }
     {
-      name = "function_bind___function_bind_1.1.1.tgz";
+      name = "fsevents___fsevents_2.3.2.tgz";
       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";
+        name = "fsevents___fsevents_2.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz";
+        sha1 = "8a526f78b8fdf4623b709e0b975c52c24c02fd1a";
       };
     }
     {
@@ -2578,38 +2554,6 @@
       };
     }
     {
-      name = "genfun___genfun_5.0.0.tgz";
-      path = fetchurl {
-        name = "genfun___genfun_5.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/genfun/-/genfun-5.0.0.tgz";
-        sha1 = "9dd9710a06900a5c4a5bf57aca5da4e52fe76537";
-      };
-    }
-    {
-      name = "gentle_fs___gentle_fs_2.3.0.tgz";
-      path = fetchurl {
-        name = "gentle_fs___gentle_fs_2.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/gentle-fs/-/gentle-fs-2.3.0.tgz";
-        sha1 = "13538db5029400f98684be4894e8a7d8f0d1ea7f";
-      };
-    }
-    {
-      name = "gentle_fs___gentle_fs_2.3.1.tgz";
-      path = fetchurl {
-        name = "gentle_fs___gentle_fs_2.3.1.tgz";
-        url  = "https://registry.yarnpkg.com/gentle-fs/-/gentle-fs-2.3.1.tgz";
-        sha1 = "11201bf66c18f930ddca72cf69460bdfa05727b1";
-      };
-    }
-    {
-      name = "get_caller_file___get_caller_file_1.0.3.tgz";
-      path = fetchurl {
-        name = "get_caller_file___get_caller_file_1.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz";
-        sha1 = "f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a";
-      };
-    }
-    {
       name = "get_caller_file___get_caller_file_2.0.5.tgz";
       path = fetchurl {
         name = "get_caller_file___get_caller_file_2.0.5.tgz";
@@ -2618,14 +2562,6 @@
       };
     }
     {
-      name = "get_stream___get_stream_3.0.0.tgz";
-      path = fetchurl {
-        name = "get_stream___get_stream_3.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz";
-        sha1 = "8e943d1358dc37555054ecbe2edb05aa174ede14";
-      };
-    }
-    {
       name = "get_stream___get_stream_4.1.0.tgz";
       path = fetchurl {
         name = "get_stream___get_stream_4.1.0.tgz";
@@ -2634,11 +2570,11 @@
       };
     }
     {
-      name = "get_stream___get_stream_5.1.0.tgz";
+      name = "get_stream___get_stream_5.2.0.tgz";
       path = fetchurl {
-        name = "get_stream___get_stream_5.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/get-stream/-/get-stream-5.1.0.tgz";
-        sha1 = "01203cdc92597f9b909067c3e656cc1f4d3c4dc9";
+        name = "get_stream___get_stream_5.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz";
+        sha1 = "4966a1795ee5ace65e706c4b7beb71257d6e22d3";
       };
     }
     {
@@ -2666,14 +2602,6 @@
       };
     }
     {
-      name = "glob___glob_7.1.6.tgz";
-      path = fetchurl {
-        name = "glob___glob_7.1.6.tgz";
-        url  = "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz";
-        sha1 = "141f33b81a7c2492e125594307480c46679278a6";
-      };
-    }
-    {
       name = "glob___glob_7.1.7.tgz";
       path = fetchurl {
         name = "glob___glob_7.1.7.tgz";
@@ -2682,11 +2610,11 @@
       };
     }
     {
-      name = "global_dirs___global_dirs_0.1.1.tgz";
+      name = "global_agent___global_agent_2.2.0.tgz";
       path = fetchurl {
-        name = "global_dirs___global_dirs_0.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz";
-        sha1 = "b319c0dd4607f353f3be9cca4c72fc148c49f445";
+        name = "global_agent___global_agent_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/global-agent/-/global-agent-2.2.0.tgz";
+        sha1 = "566331b0646e6bf79429a16877685c4a1fbf76dc";
       };
     }
     {
@@ -2698,11 +2626,19 @@
       };
     }
     {
-      name = "global___global_4.3.2.tgz";
+      name = "global_tunnel_ng___global_tunnel_ng_2.7.1.tgz";
       path = fetchurl {
-        name = "global___global_4.3.2.tgz";
-        url  = "https://registry.yarnpkg.com/global/-/global-4.3.2.tgz";
-        sha1 = "e76989268a6c74c38908b1305b10fc0e394e9d0f";
+        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";
+      };
+    }
+    {
+      name = "global___global_4.4.0.tgz";
+      path = fetchurl {
+        name = "global___global_4.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/global/-/global-4.4.0.tgz";
+        sha1 = "3e7b105179006a323ed71aafca3e9c57a5cc6406";
       };
     }
     {
@@ -2722,27 +2658,27 @@
       };
     }
     {
-      name = "got___got_6.7.1.tgz";
+      name = "globalthis___globalthis_1.0.2.tgz";
       path = fetchurl {
-        name = "got___got_6.7.1.tgz";
-        url  = "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz";
-        sha1 = "240cd05785a9a18e561dc1b44b41c763ef1e8db0";
+        name = "globalthis___globalthis_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.2.tgz";
+        sha1 = "2a235d34f4d8036219f7e34929b5de9e18166b8b";
       };
     }
     {
-      name = "got___got_9.6.0.tgz";
+      name = "globby___globby_11.0.4.tgz";
       path = fetchurl {
-        name = "got___got_9.6.0.tgz";
-        url  = "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz";
-        sha1 = "edf45e7d67f99545705de1f7bbeeeb121765ed85";
+        name = "globby___globby_11.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz";
+        sha1 = "2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5";
       };
     }
     {
-      name = "graceful_fs___graceful_fs_4.2.3.tgz";
+      name = "got___got_9.6.0.tgz";
       path = fetchurl {
-        name = "graceful_fs___graceful_fs_4.2.3.tgz";
-        url  = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz";
-        sha1 = "4a12ff1b60376ef09862c2093edd908328be8423";
+        name = "got___got_9.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz";
+        sha1 = "edf45e7d67f99545705de1f7bbeeeb121765ed85";
       };
     }
     {
@@ -2754,14 +2690,6 @@
       };
     }
     {
-      name = "graceful_fs___graceful_fs_4.2.4.tgz";
-      path = fetchurl {
-        name = "graceful_fs___graceful_fs_4.2.4.tgz";
-        url  = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz";
-        sha1 = "2256bde14d3632958c465ebc96dc467ca07a29fb";
-      };
-    }
-    {
       name = "graceful_readlink___graceful_readlink_1.0.1.tgz";
       path = fetchurl {
         name = "graceful_readlink___graceful_readlink_1.0.1.tgz";
@@ -2778,14 +2706,6 @@
       };
     }
     {
-      name = "har_validator___har_validator_5.1.3.tgz";
-      path = fetchurl {
-        name = "har_validator___har_validator_5.1.3.tgz";
-        url  = "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz";
-        sha1 = "1ef89ebd3e4996557675eed9893110dc350fa080";
-      };
-    }
-    {
       name = "har_validator___har_validator_5.1.5.tgz";
       path = fetchurl {
         name = "har_validator___har_validator_5.1.5.tgz";
@@ -2810,14 +2730,6 @@
       };
     }
     {
-      name = "has_symbols___has_symbols_1.0.1.tgz";
-      path = fetchurl {
-        name = "has_symbols___has_symbols_1.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz";
-        sha1 = "9f5214758a44196c406d9bd76cebf81ec2dd31e8";
-      };
-    }
-    {
       name = "has_unicode___has_unicode_2.0.1.tgz";
       path = fetchurl {
         name = "has_unicode___has_unicode_2.0.1.tgz";
@@ -2834,22 +2746,6 @@
       };
     }
     {
-      name = "has___has_1.0.3.tgz";
-      path = fetchurl {
-        name = "has___has_1.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz";
-        sha1 = "722d7cbfc1f6aa8241f16dd814e011e1f41e8796";
-      };
-    }
-    {
-      name = "hosted_git_info___hosted_git_info_2.8.9.tgz";
-      path = fetchurl {
-        name = "hosted_git_info___hosted_git_info_2.8.9.tgz";
-        url  = "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz";
-        sha1 = "dffc0bf9a21c02209090f2aa69429e1414daf3f9";
-      };
-    }
-    {
       name = "hosted_git_info___hosted_git_info_4.0.2.tgz";
       path = fetchurl {
         name = "hosted_git_info___hosted_git_info_4.0.2.tgz";
@@ -2858,27 +2754,19 @@
       };
     }
     {
-      name = "http_cache_semantics___http_cache_semantics_3.8.1.tgz";
+      name = "http_cache_semantics___http_cache_semantics_4.1.0.tgz";
       path = fetchurl {
-        name = "http_cache_semantics___http_cache_semantics_3.8.1.tgz";
-        url  = "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz";
-        sha1 = "39b0e16add9b605bf0a9ef3d9daaf4843b4cacd2";
+        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";
       };
     }
     {
-      name = "http_cache_semantics___http_cache_semantics_4.0.3.tgz";
+      name = "http_proxy_agent___http_proxy_agent_4.0.1.tgz";
       path = fetchurl {
-        name = "http_cache_semantics___http_cache_semantics_4.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz";
-        sha1 = "495704773277eeef6e43f9ab2c2c7d259dda25c5";
-      };
-    }
-    {
-      name = "http_proxy_agent___http_proxy_agent_2.1.0.tgz";
-      path = fetchurl {
-        name = "http_proxy_agent___http_proxy_agent_2.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz";
-        sha1 = "e4821beef5b2142a2026bd73926fe537631c5405";
+        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";
       };
     }
     {
@@ -2890,11 +2778,11 @@
       };
     }
     {
-      name = "https_proxy_agent___https_proxy_agent_2.2.4.tgz";
+      name = "https_proxy_agent___https_proxy_agent_5.0.0.tgz";
       path = fetchurl {
-        name = "https_proxy_agent___https_proxy_agent_2.2.4.tgz";
-        url  = "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz";
-        sha1 = "4ee7a737abd92678a293d9b34a1af4d0d08c787b";
+        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";
       };
     }
     {
@@ -2938,35 +2826,11 @@
       };
     }
     {
-      name = "ieee754___ieee754_1.1.13.tgz";
-      path = fetchurl {
-        name = "ieee754___ieee754_1.1.13.tgz";
-        url  = "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz";
-        sha1 = "ec168558e95aa181fd87d37f55c32bbcb6708b84";
-      };
-    }
-    {
-      name = "iferr___iferr_0.1.5.tgz";
+      name = "ignore_walk___ignore_walk_3.0.4.tgz";
       path = fetchurl {
-        name = "iferr___iferr_0.1.5.tgz";
-        url  = "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz";
-        sha1 = "c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501";
-      };
-    }
-    {
-      name = "iferr___iferr_1.0.2.tgz";
-      path = fetchurl {
-        name = "iferr___iferr_1.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/iferr/-/iferr-1.0.2.tgz";
-        sha1 = "e9fde49a9da06dc4a4194c6c9ed6d08305037a6d";
-      };
-    }
-    {
-      name = "ignore_walk___ignore_walk_3.0.3.tgz";
-      path = fetchurl {
-        name = "ignore_walk___ignore_walk_3.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.3.tgz";
-        sha1 = "017e2447184bfeade7c238e4aefdd1e8f95b1e37";
+        name = "ignore_walk___ignore_walk_3.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.4.tgz";
+        sha1 = "c9a09f69b7c7b479a5d74ac1a3c0d4236d2a6335";
       };
     }
     {
@@ -2978,6 +2842,14 @@
       };
     }
     {
+      name = "ignore___ignore_5.1.8.tgz";
+      path = fetchurl {
+        name = "ignore___ignore_5.1.8.tgz";
+        url  = "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz";
+        sha1 = "f150a8b50a34289b33e22f5889abd4d8016f0e57";
+      };
+    }
+    {
       name = "image_q___image_q_1.1.1.tgz";
       path = fetchurl {
         name = "image_q___image_q_1.1.1.tgz";
@@ -2994,14 +2866,6 @@
       };
     }
     {
-      name = "import_fresh___import_fresh_3.2.1.tgz";
-      path = fetchurl {
-        name = "import_fresh___import_fresh_3.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz";
-        sha1 = "633ff618506e793af5ac91bf48b72677e15cbe66";
-      };
-    }
-    {
       name = "import_fresh___import_fresh_3.3.0.tgz";
       path = fetchurl {
         name = "import_fresh___import_fresh_3.3.0.tgz";
@@ -3026,6 +2890,14 @@
       };
     }
     {
+      name = "indent_string___indent_string_4.0.0.tgz";
+      path = fetchurl {
+        name = "indent_string___indent_string_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz";
+        sha1 = "624f8f4497d619b2d9768531d58f4122854d7251";
+      };
+    }
+    {
       name = "indexof___indexof_0.0.1.tgz";
       path = fetchurl {
         name = "indexof___indexof_0.0.1.tgz";
@@ -3074,30 +2946,6 @@
       };
     }
     {
-      name = "init_package_json___init_package_json_1.10.3.tgz";
-      path = fetchurl {
-        name = "init_package_json___init_package_json_1.10.3.tgz";
-        url  = "https://registry.yarnpkg.com/init-package-json/-/init-package-json-1.10.3.tgz";
-        sha1 = "45ffe2f610a8ca134f2bd1db5637b235070f6cbe";
-      };
-    }
-    {
-      name = "invert_kv___invert_kv_1.0.0.tgz";
-      path = fetchurl {
-        name = "invert_kv___invert_kv_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz";
-        sha1 = "104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6";
-      };
-    }
-    {
-      name = "ip_regex___ip_regex_2.1.0.tgz";
-      path = fetchurl {
-        name = "ip_regex___ip_regex_2.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz";
-        sha1 = "fa78bf5d2e6913c911ce9f819ee5146bb6d844e9";
-      };
-    }
-    {
       name = "ip___ip_1.1.5.tgz";
       path = fetchurl {
         name = "ip___ip_1.1.5.tgz";
@@ -3106,27 +2954,11 @@
       };
     }
     {
-      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 = "77c99840527aa8ecb1a8ba697b80645a7a926a9d";
-      };
-    }
-    {
-      name = "is_callable___is_callable_1.1.4.tgz";
-      path = fetchurl {
-        name = "is_callable___is_callable_1.1.4.tgz";
-        url  = "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz";
-        sha1 = "1e1adf219e1eeb684d691f9d6a05ff0d30a24d75";
-      };
-    }
-    {
-      name = "is_ci___is_ci_1.2.1.tgz";
+      name = "is_binary_path___is_binary_path_2.1.0.tgz";
       path = fetchurl {
-        name = "is_ci___is_ci_1.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz";
-        sha1 = "e3779c8ee17fccf428488f6e281187f2e632841c";
+        name = "is_binary_path___is_binary_path_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz";
+        sha1 = "ea1f7f3b80f064236e83470f86c09c254fb45b09";
       };
     }
     {
@@ -3146,22 +2978,6 @@
       };
     }
     {
-      name = "is_cidr___is_cidr_3.1.0.tgz";
-      path = fetchurl {
-        name = "is_cidr___is_cidr_3.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/is-cidr/-/is-cidr-3.1.0.tgz";
-        sha1 = "72e233d8e1c4cd1d3f11713fcce3eba7b0e3476f";
-      };
-    }
-    {
-      name = "is_date_object___is_date_object_1.0.1.tgz";
-      path = fetchurl {
-        name = "is_date_object___is_date_object_1.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz";
-        sha1 = "9aa20eb6aeebbff77fbd33e74ca01b33581d3a16";
-      };
-    }
-    {
       name = "is_extglob___is_extglob_2.1.1.tgz";
       path = fetchurl {
         name = "is_extglob___is_extglob_2.1.1.tgz";
@@ -3194,11 +3010,11 @@
       };
     }
     {
-      name = "is_function___is_function_1.0.1.tgz";
+      name = "is_function___is_function_1.0.2.tgz";
       path = fetchurl {
-        name = "is_function___is_function_1.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/is-function/-/is-function-1.0.1.tgz";
-        sha1 = "12cfb98b65b57dd3d193a3121f5f6e2f437602b5";
+        name = "is_function___is_function_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-function/-/is-function-1.0.2.tgz";
+        sha1 = "4f097f30abf6efadac9833b17ca5dc03f8144e08";
       };
     }
     {
@@ -3210,14 +3026,6 @@
       };
     }
     {
-      name = "is_installed_globally___is_installed_globally_0.1.0.tgz";
-      path = fetchurl {
-        name = "is_installed_globally___is_installed_globally_0.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.1.0.tgz";
-        sha1 = "0dfd98f5a9111716dd535dda6492f67bf3d25a80";
-      };
-    }
-    {
       name = "is_installed_globally___is_installed_globally_0.4.0.tgz";
       path = fetchurl {
         name = "is_installed_globally___is_installed_globally_0.4.0.tgz";
@@ -3226,11 +3034,11 @@
       };
     }
     {
-      name = "is_npm___is_npm_1.0.0.tgz";
+      name = "is_lambda___is_lambda_1.0.1.tgz";
       path = fetchurl {
-        name = "is_npm___is_npm_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz";
-        sha1 = "f2fb63a65e4905b406c86072765a1a4dc793b9f4";
+        name = "is_lambda___is_lambda_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-lambda/-/is-lambda-1.0.1.tgz";
+        sha1 = "3d9877899e6a53efc0160504cde15f82e6f061d5";
       };
     }
     {
@@ -3242,11 +3050,11 @@
       };
     }
     {
-      name = "is_obj___is_obj_1.0.1.tgz";
+      name = "is_number___is_number_7.0.0.tgz";
       path = fetchurl {
-        name = "is_obj___is_obj_1.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz";
-        sha1 = "3e4729ac1f5fde025cd7d83a896dab9f4f67db0f";
+        name = "is_number___is_number_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz";
+        sha1 = "7535345b896734d5f80c4d06c50955527a14f12b";
       };
     }
     {
@@ -3258,14 +3066,6 @@
       };
     }
     {
-      name = "is_path_inside___is_path_inside_1.0.1.tgz";
-      path = fetchurl {
-        name = "is_path_inside___is_path_inside_1.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz";
-        sha1 = "8ef5b7de50437a3fdca6b4e865ef7aa55cb48036";
-      };
-    }
-    {
       name = "is_path_inside___is_path_inside_3.0.3.tgz";
       path = fetchurl {
         name = "is_path_inside___is_path_inside_3.0.3.tgz";
@@ -3274,43 +3074,19 @@
       };
     }
     {
-      name = "is_redirect___is_redirect_1.0.0.tgz";
-      path = fetchurl {
-        name = "is_redirect___is_redirect_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz";
-        sha1 = "1d03dded53bd8db0f30c26e4f95d36fc7c87dc24";
-      };
-    }
-    {
-      name = "is_regex___is_regex_1.0.4.tgz";
-      path = fetchurl {
-        name = "is_regex___is_regex_1.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz";
-        sha1 = "5517489b547091b0930e095654ced25ee97e9491";
-      };
-    }
-    {
-      name = "is_retry_allowed___is_retry_allowed_1.2.0.tgz";
-      path = fetchurl {
-        name = "is_retry_allowed___is_retry_allowed_1.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz";
-        sha1 = "d778488bd0a4666a3be8a1482b9f2baafedea8b4";
-      };
-    }
-    {
-      name = "is_stream___is_stream_1.1.0.tgz";
+      name = "is_plain_object___is_plain_object_5.0.0.tgz";
       path = fetchurl {
-        name = "is_stream___is_stream_1.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz";
-        sha1 = "12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44";
+        name = "is_plain_object___is_plain_object_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz";
+        sha1 = "4427f50ab3429e9025ea7d52e9043a9ef4159344";
       };
     }
     {
-      name = "is_symbol___is_symbol_1.0.3.tgz";
+      name = "is_promise___is_promise_2.2.2.tgz";
       path = fetchurl {
-        name = "is_symbol___is_symbol_1.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz";
-        sha1 = "38e1014b9e6329be0de9d24a414fd7441ec61937";
+        name = "is_promise___is_promise_2.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz";
+        sha1 = "39ab959ccbf9a774cf079f7b40c7a26f763135f1";
       };
     }
     {
@@ -3330,14 +3106,6 @@
       };
     }
     {
-      name = "isarray___isarray_0.0.1.tgz";
-      path = fetchurl {
-        name = "isarray___isarray_0.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz";
-        sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf";
-      };
-    }
-    {
       name = "isarray___isarray_1.0.0.tgz";
       path = fetchurl {
         name = "isarray___isarray_1.0.0.tgz";
@@ -3402,11 +3170,11 @@
       };
     }
     {
-      name = "js_yaml___js_yaml_3.13.1.tgz";
+      name = "js_yaml___js_yaml_3.14.1.tgz";
       path = fetchurl {
-        name = "js_yaml___js_yaml_3.13.1.tgz";
-        url  = "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz";
-        sha1 = "aff151b30bfdfa8e49e05da22e7415e9dfa37847";
+        name = "js_yaml___js_yaml_3.14.1.tgz";
+        url  = "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz";
+        sha1 = "dae812fdb3825fa306609a8717383c50c36a0537";
       };
     }
     {
@@ -3442,11 +3210,11 @@
       };
     }
     {
-      name = "json_parse_better_errors___json_parse_better_errors_1.0.2.tgz";
+      name = "json_parse_even_better_errors___json_parse_even_better_errors_2.3.1.tgz";
       path = fetchurl {
-        name = "json_parse_better_errors___json_parse_better_errors_1.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz";
-        sha1 = "bb867cfb3450e69107c131d1c514bab3dc8bcaa9";
+        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";
+        sha1 = "7c47805a94319928e05777405dc12e1f7a4ee02d";
       };
     }
     {
@@ -3514,11 +3282,11 @@
       };
     }
     {
-      name = "jsonfile___jsonfile_6.0.1.tgz";
+      name = "jsonfile___jsonfile_6.1.0.tgz";
       path = fetchurl {
-        name = "jsonfile___jsonfile_6.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.0.1.tgz";
-        sha1 = "98966cba214378c8c84b82e085907b40bf614179";
+        name = "jsonfile___jsonfile_6.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz";
+        sha1 = "bc55b2634793c679ec6403094eb13698a6ec0aae";
       };
     }
     {
@@ -3538,11 +3306,11 @@
       };
     }
     {
-      name = "jszip___jszip_3.5.0.tgz";
+      name = "jszip___jszip_3.7.1.tgz";
       path = fetchurl {
-        name = "jszip___jszip_3.5.0.tgz";
-        url  = "https://registry.yarnpkg.com/jszip/-/jszip-3.5.0.tgz";
-        sha1 = "b4fd1f368245346658e781fec9675802489e15f6";
+        name = "jszip___jszip_3.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/jszip/-/jszip-3.7.1.tgz";
+        sha1 = "bd63401221c15625a1228c556ca8a68da6fda3d9";
       };
     }
     {
@@ -3554,14 +3322,6 @@
       };
     }
     {
-      name = "latest_version___latest_version_3.1.0.tgz";
-      path = fetchurl {
-        name = "latest_version___latest_version_3.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/latest-version/-/latest-version-3.1.0.tgz";
-        sha1 = "a205383fea322b33b5ae3b18abee0dc2f356ee15";
-      };
-    }
-    {
       name = "latest_version___latest_version_5.1.0.tgz";
       path = fetchurl {
         name = "latest_version___latest_version_5.1.0.tgz";
@@ -3570,22 +3330,6 @@
       };
     }
     {
-      name = "lazy_property___lazy_property_1.0.0.tgz";
-      path = fetchurl {
-        name = "lazy_property___lazy_property_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/lazy-property/-/lazy-property-1.0.0.tgz";
-        sha1 = "84ddc4b370679ba8bd4cdcfa4c06b43d57111147";
-      };
-    }
-    {
-      name = "lazy_val___lazy_val_1.0.4.tgz";
-      path = fetchurl {
-        name = "lazy_val___lazy_val_1.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/lazy-val/-/lazy-val-1.0.4.tgz";
-        sha1 = "882636a7245c2cfe6e0a4e3ba6c5d68a137e5c65";
-      };
-    }
-    {
       name = "lazy_val___lazy_val_1.0.5.tgz";
       path = fetchurl {
         name = "lazy_val___lazy_val_1.0.5.tgz";
@@ -3602,14 +3346,6 @@
       };
     }
     {
-      name = "lcid___lcid_1.0.0.tgz";
-      path = fetchurl {
-        name = "lcid___lcid_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz";
-        sha1 = "308accafa0bc483a3867b4b6f2b9506251d1b835";
-      };
-    }
-    {
       name = "levn___levn_0.4.1.tgz";
       path = fetchurl {
         name = "levn___levn_0.4.1.tgz";
@@ -3618,86 +3354,6 @@
       };
     }
     {
-      name = "libcipm___libcipm_4.0.8.tgz";
-      path = fetchurl {
-        name = "libcipm___libcipm_4.0.8.tgz";
-        url  = "https://registry.yarnpkg.com/libcipm/-/libcipm-4.0.8.tgz";
-        sha1 = "dcea4919e10dfbce420327e63901613b9141bc89";
-      };
-    }
-    {
-      name = "libnpm___libnpm_3.0.1.tgz";
-      path = fetchurl {
-        name = "libnpm___libnpm_3.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/libnpm/-/libnpm-3.0.1.tgz";
-        sha1 = "0be11b4c9dd4d1ffd7d95c786e92e55d65be77a2";
-      };
-    }
-    {
-      name = "libnpmaccess___libnpmaccess_3.0.2.tgz";
-      path = fetchurl {
-        name = "libnpmaccess___libnpmaccess_3.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/libnpmaccess/-/libnpmaccess-3.0.2.tgz";
-        sha1 = "8b2d72345ba3bef90d3b4f694edd5c0417f58923";
-      };
-    }
-    {
-      name = "libnpmconfig___libnpmconfig_1.2.1.tgz";
-      path = fetchurl {
-        name = "libnpmconfig___libnpmconfig_1.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/libnpmconfig/-/libnpmconfig-1.2.1.tgz";
-        sha1 = "c0c2f793a74e67d4825e5039e7a02a0044dfcbc0";
-      };
-    }
-    {
-      name = "libnpmhook___libnpmhook_5.0.3.tgz";
-      path = fetchurl {
-        name = "libnpmhook___libnpmhook_5.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/libnpmhook/-/libnpmhook-5.0.3.tgz";
-        sha1 = "4020c0f5edbf08ebe395325caa5ea01885b928f7";
-      };
-    }
-    {
-      name = "libnpmorg___libnpmorg_1.0.1.tgz";
-      path = fetchurl {
-        name = "libnpmorg___libnpmorg_1.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/libnpmorg/-/libnpmorg-1.0.1.tgz";
-        sha1 = "5d2503f6ceb57f33dbdcc718e6698fea6d5ad087";
-      };
-    }
-    {
-      name = "libnpmpublish___libnpmpublish_1.1.3.tgz";
-      path = fetchurl {
-        name = "libnpmpublish___libnpmpublish_1.1.3.tgz";
-        url  = "https://registry.yarnpkg.com/libnpmpublish/-/libnpmpublish-1.1.3.tgz";
-        sha1 = "e3782796722d79eef1a0a22944c117e0c4ca4280";
-      };
-    }
-    {
-      name = "libnpmsearch___libnpmsearch_2.0.2.tgz";
-      path = fetchurl {
-        name = "libnpmsearch___libnpmsearch_2.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/libnpmsearch/-/libnpmsearch-2.0.2.tgz";
-        sha1 = "9a4f059102d38e3dd44085bdbfe5095f2a5044cf";
-      };
-    }
-    {
-      name = "libnpmteam___libnpmteam_1.0.2.tgz";
-      path = fetchurl {
-        name = "libnpmteam___libnpmteam_1.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/libnpmteam/-/libnpmteam-1.0.2.tgz";
-        sha1 = "8b48bcbb6ce70dd8150c950fcbdbf3feb6eec820";
-      };
-    }
-    {
-      name = "libnpx___libnpx_10.2.4.tgz";
-      path = fetchurl {
-        name = "libnpx___libnpx_10.2.4.tgz";
-        url  = "https://registry.yarnpkg.com/libnpx/-/libnpx-10.2.4.tgz";
-        sha1 = "ef0e3258e29aef2ec7ee3276115e20e67f67d4ee";
-      };
-    }
-    {
       name = "lie___lie_3.3.0.tgz";
       path = fetchurl {
         name = "lie___lie_3.3.0.tgz";
@@ -3714,22 +3370,6 @@
       };
     }
     {
-      name = "load_json_file___load_json_file_2.0.0.tgz";
-      path = fetchurl {
-        name = "load_json_file___load_json_file_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz";
-        sha1 = "7947e42149af80d696cbf797bcaabcfe1fe29ca8";
-      };
-    }
-    {
-      name = "locate_path___locate_path_2.0.0.tgz";
-      path = fetchurl {
-        name = "locate_path___locate_path_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz";
-        sha1 = "2b568b265eec944c6d9c0de9c3dbbbca0354cd8e";
-      };
-    }
-    {
       name = "locate_path___locate_path_3.0.0.tgz";
       path = fetchurl {
         name = "locate_path___locate_path_3.0.0.tgz";
@@ -3738,46 +3378,6 @@
       };
     }
     {
-      name = "lock_verify___lock_verify_2.2.0.tgz";
-      path = fetchurl {
-        name = "lock_verify___lock_verify_2.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/lock-verify/-/lock-verify-2.2.0.tgz";
-        sha1 = "12432feb68bb647071c78c44bde16029a0f7d935";
-      };
-    }
-    {
-      name = "lockfile___lockfile_1.0.4.tgz";
-      path = fetchurl {
-        name = "lockfile___lockfile_1.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/lockfile/-/lockfile-1.0.4.tgz";
-        sha1 = "07f819d25ae48f87e538e6578b6964a4981a5609";
-      };
-    }
-    {
-      name = "lodash._baseuniq___lodash._baseuniq_4.6.0.tgz";
-      path = fetchurl {
-        name = "lodash._baseuniq___lodash._baseuniq_4.6.0.tgz";
-        url  = "https://registry.yarnpkg.com/lodash._baseuniq/-/lodash._baseuniq-4.6.0.tgz";
-        sha1 = "0ebb44e456814af7905c6212fa2c9b2d51b841e8";
-      };
-    }
-    {
-      name = "lodash._createset___lodash._createset_4.0.3.tgz";
-      path = fetchurl {
-        name = "lodash._createset___lodash._createset_4.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/lodash._createset/-/lodash._createset-4.0.3.tgz";
-        sha1 = "0f4659fbb09d75194fa9e2b88a6644d363c9fe26";
-      };
-    }
-    {
-      name = "lodash._root___lodash._root_3.0.1.tgz";
-      path = fetchurl {
-        name = "lodash._root___lodash._root_3.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz";
-        sha1 = "fba1c4524c19ee9a5f8136b4609f017cf4ded692";
-      };
-    }
-    {
       name = "lodash.clonedeep___lodash.clonedeep_4.5.0.tgz";
       path = fetchurl {
         name = "lodash.clonedeep___lodash.clonedeep_4.5.0.tgz";
@@ -3834,22 +3434,6 @@
       };
     }
     {
-      name = "lodash.uniq___lodash.uniq_4.5.0.tgz";
-      path = fetchurl {
-        name = "lodash.uniq___lodash.uniq_4.5.0.tgz";
-        url  = "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz";
-        sha1 = "d0225373aeb652adc1bc82e4945339a842754773";
-      };
-    }
-    {
-      name = "lodash.without___lodash.without_4.4.0.tgz";
-      path = fetchurl {
-        name = "lodash.without___lodash.without_4.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/lodash.without/-/lodash.without-4.4.0.tgz";
-        sha1 = "3cd4574a00b67bae373a94b748772640507b7aac";
-      };
-    }
-    {
       name = "lodash___lodash_4.17.21.tgz";
       path = fetchurl {
         name = "lodash___lodash_4.17.21.tgz";
@@ -3858,6 +3442,14 @@
       };
     }
     {
+      name = "loglevel___loglevel_1.7.1.tgz";
+      path = fetchurl {
+        name = "loglevel___loglevel_1.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/loglevel/-/loglevel-1.7.1.tgz";
+        sha1 = "005fde2f5e6e47068f935ff28573e125ef72f197";
+      };
+    }
+    {
       name = "lowercase_keys___lowercase_keys_1.0.1.tgz";
       path = fetchurl {
         name = "lowercase_keys___lowercase_keys_1.0.1.tgz";
@@ -3874,22 +3466,6 @@
       };
     }
     {
-      name = "lru_cache___lru_cache_4.1.5.tgz";
-      path = fetchurl {
-        name = "lru_cache___lru_cache_4.1.5.tgz";
-        url  = "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz";
-        sha1 = "8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd";
-      };
-    }
-    {
-      name = "lru_cache___lru_cache_5.1.1.tgz";
-      path = fetchurl {
-        name = "lru_cache___lru_cache_5.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz";
-        sha1 = "1da27e6710271947695daf6848e847f01d84b920";
-      };
-    }
-    {
       name = "lru_cache___lru_cache_6.0.0.tgz";
       path = fetchurl {
         name = "lru_cache___lru_cache_6.0.0.tgz";
@@ -3898,19 +3474,11 @@
       };
     }
     {
-      name = "make_dir___make_dir_1.3.0.tgz";
+      name = "lru_queue___lru_queue_0.1.0.tgz";
       path = fetchurl {
-        name = "make_dir___make_dir_1.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz";
-        sha1 = "79c1033b80515bd6d24ec9933e860ca75ee27f0c";
-      };
-    }
-    {
-      name = "make_dir___make_dir_3.0.2.tgz";
-      path = fetchurl {
-        name = "make_dir___make_dir_3.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/make-dir/-/make-dir-3.0.2.tgz";
-        sha1 = "04a1acbf22221e1d6ef43559f43e05a90dbb4392";
+        name = "lru_queue___lru_queue_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz";
+        sha1 = "2738bd9f0d3cf4f84490c5736c48699ac632cda3";
       };
     }
     {
@@ -3922,51 +3490,67 @@
       };
     }
     {
-      name = "make_fetch_happen___make_fetch_happen_5.0.2.tgz";
+      name = "make_fetch_happen___make_fetch_happen_9.0.4.tgz";
+      path = fetchurl {
+        name = "make_fetch_happen___make_fetch_happen_9.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-9.0.4.tgz";
+        sha1 = "ceaa100e60e0ef9e8d1ede94614bb2ba83c8bb24";
+      };
+    }
+    {
+      name = "matcher___matcher_3.0.0.tgz";
       path = fetchurl {
-        name = "make_fetch_happen___make_fetch_happen_5.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-5.0.2.tgz";
-        sha1 = "aa8387104f2687edca01c8687ee45013d02d19bd";
+        name = "matcher___matcher_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/matcher/-/matcher-3.0.0.tgz";
+        sha1 = "bd9060f4c5b70aa8041ccc6f80368760994f30ca";
       };
     }
     {
-      name = "63f9119bc0bc304e83d4e8e22364caa7850e7671";
+      name = "e5c7071e0cdf715de87ef39dc8260e11d7add2f8";
       path = fetchurl {
-        name = "63f9119bc0bc304e83d4e8e22364caa7850e7671";
-        url  = "https://codeload.github.com/matrix-org/matrix-web-i18n/tar.gz/63f9119bc0bc304e83d4e8e22364caa7850e7671";
-        sha1 = "17709c5ad5da065d2718fffe873b8d0a1a53a4cd";
+        name = "e5c7071e0cdf715de87ef39dc8260e11d7add2f8";
+        url  = "https://codeload.github.com/matrix-org/matrix-web-i18n/tar.gz/e5c7071e0cdf715de87ef39dc8260e11d7add2f8";
+        sha1 = "efbc392e3523669d20b812a6dae2f6efb49b888d";
       };
     }
     {
-      name = "meant___meant_1.0.3.tgz";
+      name = "memoizee___memoizee_0.4.15.tgz";
       path = fetchurl {
-        name = "meant___meant_1.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/meant/-/meant-1.0.3.tgz";
-        sha1 = "67769af9de1d158773e928ae82c456114903554c";
+        name = "memoizee___memoizee_0.4.15.tgz";
+        url  = "https://registry.yarnpkg.com/memoizee/-/memoizee-0.4.15.tgz";
+        sha1 = "e6f3d2da863f318d02225391829a6c5956555b72";
       };
     }
     {
-      name = "mem___mem_1.1.0.tgz";
+      name = "merge2___merge2_1.4.1.tgz";
       path = fetchurl {
-        name = "mem___mem_1.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz";
-        sha1 = "5edd52b485ca1d900fe64895505399a0dfa45f76";
+        name = "merge2___merge2_1.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz";
+        sha1 = "4368892f885e907455a6fd7dc55c0c9d404990ae";
       };
     }
     {
-      name = "mime_db___mime_db_1.42.0.tgz";
+      name = "micromatch___micromatch_4.0.4.tgz";
       path = fetchurl {
-        name = "mime_db___mime_db_1.42.0.tgz";
-        url  = "https://registry.yarnpkg.com/mime-db/-/mime-db-1.42.0.tgz";
-        sha1 = "3e252907b4c7adb906597b4b65636272cf9e7bac";
+        name = "micromatch___micromatch_4.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz";
+        sha1 = "896d519dfe9db25fce94ceb7a500919bf881ebf9";
       };
     }
     {
-      name = "mime_types___mime_types_2.1.25.tgz";
+      name = "mime_db___mime_db_1.48.0.tgz";
       path = fetchurl {
-        name = "mime_types___mime_types_2.1.25.tgz";
-        url  = "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.25.tgz";
-        sha1 = "39772d46621f93e2a80a856c53b86a62156a6437";
+        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_types___mime_types_2.1.31.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";
       };
     }
     {
@@ -3986,14 +3570,6 @@
       };
     }
     {
-      name = "mimic_fn___mimic_fn_1.2.0.tgz";
-      path = fetchurl {
-        name = "mimic_fn___mimic_fn_1.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz";
-        sha1 = "820c86a39334640e99516928bd03fca88057d022";
-      };
-    }
-    {
       name = "mimic_fn___mimic_fn_2.1.0.tgz";
       path = fetchurl {
         name = "mimic_fn___mimic_fn_2.1.0.tgz";
@@ -4034,27 +3610,59 @@
       };
     }
     {
-      name = "minimist___minimist_0.0.8.tgz";
+      name = "minimist___minimist_1.2.5.tgz";
       path = fetchurl {
-        name = "minimist___minimist_0.0.8.tgz";
-        url  = "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz";
-        sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
+        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.3.tgz";
+      name = "minipass_collect___minipass_collect_1.0.2.tgz";
       path = fetchurl {
-        name = "minimist___minimist_1.2.3.tgz";
-        url  = "https://registry.yarnpkg.com/minimist/-/minimist-1.2.3.tgz";
-        sha1 = "3db5c0765545ab8637be71f333a104a965a9ca3f";
+        name = "minipass_collect___minipass_collect_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz";
+        sha1 = "22b813bf745dc6edba2576b940022ad6edc8c617";
       };
     }
     {
-      name = "minimist___minimist_1.2.5.tgz";
+      name = "minipass_fetch___minipass_fetch_1.3.4.tgz";
       path = fetchurl {
-        name = "minimist___minimist_1.2.5.tgz";
-        url  = "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz";
-        sha1 = "67d66014b66a6a8aaa0c083c5fd58df4e4e97602";
+        name = "minipass_fetch___minipass_fetch_1.3.4.tgz";
+        url  = "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-1.3.4.tgz";
+        sha1 = "63f5af868a38746ca7b33b03393ddf8c291244fe";
+      };
+    }
+    {
+      name = "minipass_flush___minipass_flush_1.0.5.tgz";
+      path = fetchurl {
+        name = "minipass_flush___minipass_flush_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz";
+        sha1 = "82e7135d7e89a50ffe64610a787953c4c4cbb373";
+      };
+    }
+    {
+      name = "minipass_json_stream___minipass_json_stream_1.0.1.tgz";
+      path = fetchurl {
+        name = "minipass_json_stream___minipass_json_stream_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz";
+        sha1 = "7edbb92588fbfc2ff1db2fc10397acb7b6b44aa7";
+      };
+    }
+    {
+      name = "minipass_pipeline___minipass_pipeline_1.2.4.tgz";
+      path = fetchurl {
+        name = "minipass_pipeline___minipass_pipeline_1.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz";
+        sha1 = "68472f79711c084657c067c5c6ad93cddea8214c";
+      };
+    }
+    {
+      name = "minipass_sized___minipass_sized_1.0.3.tgz";
+      path = fetchurl {
+        name = "minipass_sized___minipass_sized_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/minipass-sized/-/minipass-sized-1.0.3.tgz";
+        sha1 = "70ee5a7c5052070afacfbc22977ea79def353b70";
       };
     }
     {
@@ -4066,11 +3674,11 @@
       };
     }
     {
-      name = "minipass___minipass_3.1.1.tgz";
+      name = "minipass___minipass_3.1.3.tgz";
       path = fetchurl {
-        name = "minipass___minipass_3.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/minipass/-/minipass-3.1.1.tgz";
-        sha1 = "7607ce778472a185ad6d89082aa2070f79cedcd5";
+        name = "minipass___minipass_3.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/minipass/-/minipass-3.1.3.tgz";
+        sha1 = "7d42ff1f39635482e15f9cdb53184deebd5815fd";
       };
     }
     {
@@ -4090,22 +3698,6 @@
       };
     }
     {
-      name = "mississippi___mississippi_3.0.0.tgz";
-      path = fetchurl {
-        name = "mississippi___mississippi_3.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz";
-        sha1 = "ea0a3291f97e0b5e8776b363d5f0a12d94c67022";
-      };
-    }
-    {
-      name = "mkdirp___mkdirp_0.5.1.tgz";
-      path = fetchurl {
-        name = "mkdirp___mkdirp_0.5.1.tgz";
-        url  = "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz";
-        sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903";
-      };
-    }
-    {
       name = "mkdirp___mkdirp_0.5.5.tgz";
       path = fetchurl {
         name = "mkdirp___mkdirp_0.5.5.tgz";
@@ -4114,19 +3706,11 @@
       };
     }
     {
-      name = "mkdirp___mkdirp_1.0.3.tgz";
+      name = "mkdirp___mkdirp_1.0.4.tgz";
       path = fetchurl {
-        name = "mkdirp___mkdirp_1.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.3.tgz";
-        sha1 = "4cf2e30ad45959dddea53ad97d518b6c8205e1ea";
-      };
-    }
-    {
-      name = "move_concurrently___move_concurrently_1.0.1.tgz";
-      path = fetchurl {
-        name = "move_concurrently___move_concurrently_1.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz";
-        sha1 = "be2c005fda32e0b29af1f05d7c4b33214c701f92";
+        name = "mkdirp___mkdirp_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz";
+        sha1 = "3eb5ed62622756d79a5f0e2a221dfebad75c2f7e";
       };
     }
     {
@@ -4154,14 +3738,6 @@
       };
     }
     {
-      name = "mute_stream___mute_stream_0.0.8.tgz";
-      path = fetchurl {
-        name = "mute_stream___mute_stream_0.0.8.tgz";
-        url  = "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz";
-        sha1 = "1630c42b2251ff81e2a283de96a5497ea92e5e0d";
-      };
-    }
-    {
       name = "natural_compare___natural_compare_1.4.0.tgz";
       path = fetchurl {
         name = "natural_compare___natural_compare_1.4.0.tgz";
@@ -4170,59 +3746,67 @@
       };
     }
     {
-      name = "needle___needle_2.5.0.tgz";
+      name = "needle___needle_2.8.0.tgz";
       path = fetchurl {
-        name = "needle___needle_2.5.0.tgz";
-        url  = "https://registry.yarnpkg.com/needle/-/needle-2.5.0.tgz";
-        sha1 = "e6fc4b3cc6c25caed7554bd613a5cf0bac8c31c0";
+        name = "needle___needle_2.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/needle/-/needle-2.8.0.tgz";
+        sha1 = "1c8ef9c1a2c29dcc1e83d73809d7bc681c80a048";
       };
     }
     {
-      name = "node_addon_api___node_addon_api_1.7.2.tgz";
+      name = "negotiator___negotiator_0.6.2.tgz";
       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";
+        name = "negotiator___negotiator_0.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz";
+        sha1 = "feacf7ccf525a77ae9634436a64883ffeca346fb";
       };
     }
     {
-      name = "node_fetch_npm___node_fetch_npm_2.0.4.tgz";
+      name = "next_tick___next_tick_1.1.0.tgz";
       path = fetchurl {
-        name = "node_fetch_npm___node_fetch_npm_2.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/node-fetch-npm/-/node-fetch-npm-2.0.4.tgz";
-        sha1 = "6507d0e17a9ec0be3bec516958a497cec54bf5a4";
+        name = "next_tick___next_tick_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz";
+        sha1 = "1836ee30ad56d67ef281b22bd199f709449b35eb";
       };
     }
     {
-      name = "node_gyp___node_gyp_5.1.0.tgz";
+      name = "next_tick___next_tick_1.0.0.tgz";
       path = fetchurl {
-        name = "node_gyp___node_gyp_5.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/node-gyp/-/node-gyp-5.1.0.tgz";
-        sha1 = "8e31260a7af4a2e2f994b0673d4e0b3866156332";
+        name = "next_tick___next_tick_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz";
+        sha1 = "ca86d1fe8828169b0120208e3dc8424b9db8342c";
       };
     }
     {
-      name = "node_gyp___node_gyp_5.1.1.tgz";
+      name = "node_addon_api___node_addon_api_1.7.2.tgz";
       path = fetchurl {
-        name = "node_gyp___node_gyp_5.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/node-gyp/-/node-gyp-5.1.1.tgz";
-        sha1 = "eb915f7b631c937d282e33aed44cb7a025f62a3e";
+        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";
       };
     }
     {
-      name = "node_pre_gyp___node_pre_gyp_0.15.0.tgz";
+      name = "node_fetch___node_fetch_2.6.1.tgz";
       path = fetchurl {
-        name = "node_pre_gyp___node_pre_gyp_0.15.0.tgz";
-        url  = "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.15.0.tgz";
-        sha1 = "c2fc383276b74c7ffa842925241553e8b40f1087";
+        name = "node_fetch___node_fetch_2.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz";
+        sha1 = "045bd323631f76ed2e2b55573394416b639a0052";
       };
     }
     {
-      name = "nopt___nopt_4.0.1.tgz";
+      name = "node_gyp___node_gyp_7.1.2.tgz";
       path = fetchurl {
-        name = "nopt___nopt_4.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz";
-        sha1 = "d0d4685afd5415193c8c7505602d0d17cd64474d";
+        name = "node_gyp___node_gyp_7.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/node-gyp/-/node-gyp-7.1.2.tgz";
+        sha1 = "21a810aebb187120251c3bcec979af1587b188ae";
+      };
+    }
+    {
+      name = "node_pre_gyp___node_pre_gyp_0.15.0.tgz";
+      path = fetchurl {
+        name = "node_pre_gyp___node_pre_gyp_0.15.0.tgz";
+        url  = "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.15.0.tgz";
+        sha1 = "c2fc383276b74c7ffa842925241553e8b40f1087";
       };
     }
     {
@@ -4234,11 +3818,11 @@
       };
     }
     {
-      name = "normalize_package_data___normalize_package_data_2.5.0.tgz";
+      name = "nopt___nopt_5.0.0.tgz";
       path = fetchurl {
-        name = "normalize_package_data___normalize_package_data_2.5.0.tgz";
-        url  = "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz";
-        sha1 = "e66db1838b200c1dfc233225d12cb36520e234a8";
+        name = "nopt___nopt_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz";
+        sha1 = "530942bb58a512fccafe53fe210f13a25355dc88";
       };
     }
     {
@@ -4258,59 +3842,27 @@
       };
     }
     {
-      name = "npm_audit_report___npm_audit_report_1.3.3.tgz";
-      path = fetchurl {
-        name = "npm_audit_report___npm_audit_report_1.3.3.tgz";
-        url  = "https://registry.yarnpkg.com/npm-audit-report/-/npm-audit-report-1.3.3.tgz";
-        sha1 = "8226deeb253b55176ed147592a3995442f2179ed";
-      };
-    }
-    {
-      name = "npm_bundled___npm_bundled_1.1.1.tgz";
-      path = fetchurl {
-        name = "npm_bundled___npm_bundled_1.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.1.tgz";
-        sha1 = "1edd570865a94cdb1bc8220775e29466c9fb234b";
-      };
-    }
-    {
-      name = "npm_cache_filename___npm_cache_filename_1.0.2.tgz";
+      name = "npm_bundled___npm_bundled_1.1.2.tgz";
       path = fetchurl {
-        name = "npm_cache_filename___npm_cache_filename_1.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/npm-cache-filename/-/npm-cache-filename-1.0.2.tgz";
-        sha1 = "ded306c5b0bfc870a9e9faf823bc5f283e05ae11";
+        name = "npm_bundled___npm_bundled_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.2.tgz";
+        sha1 = "944c78789bd739035b70baa2ca5cc32b8d860bc1";
       };
     }
     {
-      name = "npm_install_checks___npm_install_checks_3.0.2.tgz";
+      name = "npm_conf___npm_conf_1.1.3.tgz";
       path = fetchurl {
-        name = "npm_install_checks___npm_install_checks_3.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/npm-install-checks/-/npm-install-checks-3.0.2.tgz";
-        sha1 = "ab2e32ad27baa46720706908e5b14c1852de44d9";
+        name = "npm_conf___npm_conf_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/npm-conf/-/npm-conf-1.1.3.tgz";
+        sha1 = "256cc47bd0e218c259c4e9550bf413bc2192aff9";
       };
     }
     {
-      name = "npm_lifecycle___npm_lifecycle_3.1.4.tgz";
+      name = "npm_install_checks___npm_install_checks_4.0.0.tgz";
       path = fetchurl {
-        name = "npm_lifecycle___npm_lifecycle_3.1.4.tgz";
-        url  = "https://registry.yarnpkg.com/npm-lifecycle/-/npm-lifecycle-3.1.4.tgz";
-        sha1 = "de6975c7d8df65f5150db110b57cce498b0b604c";
-      };
-    }
-    {
-      name = "npm_lifecycle___npm_lifecycle_3.1.5.tgz";
-      path = fetchurl {
-        name = "npm_lifecycle___npm_lifecycle_3.1.5.tgz";
-        url  = "https://registry.yarnpkg.com/npm-lifecycle/-/npm-lifecycle-3.1.5.tgz";
-        sha1 = "9882d3642b8c82c815782a12e6a1bfeed0026309";
-      };
-    }
-    {
-      name = "npm_logical_tree___npm_logical_tree_1.2.1.tgz";
-      path = fetchurl {
-        name = "npm_logical_tree___npm_logical_tree_1.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/npm-logical-tree/-/npm-logical-tree-1.2.1.tgz";
-        sha1 = "44610141ca24664cad35d1e607176193fd8f5b88";
+        name = "npm_install_checks___npm_install_checks_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/npm-install-checks/-/npm-install-checks-4.0.0.tgz";
+        sha1 = "a37facc763a2fde0497ef2c6d0ac7c3fbe00d7b4";
       };
     }
     {
@@ -4322,11 +3874,11 @@
       };
     }
     {
-      name = "npm_package_arg___npm_package_arg_6.1.1.tgz";
+      name = "npm_package_arg___npm_package_arg_8.1.5.tgz";
       path = fetchurl {
-        name = "npm_package_arg___npm_package_arg_6.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-6.1.1.tgz";
-        sha1 = "02168cb0a49a2b75bf988a28698de7b529df5cb7";
+        name = "npm_package_arg___npm_package_arg_8.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-8.1.5.tgz";
+        sha1 = "3369b2d5fe8fdc674baa7f1786514ddc15466e44";
       };
     }
     {
@@ -4338,59 +3890,27 @@
       };
     }
     {
-      name = "npm_pick_manifest___npm_pick_manifest_3.0.2.tgz";
-      path = fetchurl {
-        name = "npm_pick_manifest___npm_pick_manifest_3.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-3.0.2.tgz";
-        sha1 = "f4d9e5fd4be2153e5f4e5f9b7be8dc419a99abb7";
-      };
-    }
-    {
-      name = "npm_profile___npm_profile_4.0.2.tgz";
+      name = "npm_packlist___npm_packlist_2.2.2.tgz";
       path = fetchurl {
-        name = "npm_profile___npm_profile_4.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/npm-profile/-/npm-profile-4.0.2.tgz";
-        sha1 = "8272a71c19634d0dce9c35a5daf8ee589cbb0f52";
+        name = "npm_packlist___npm_packlist_2.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-2.2.2.tgz";
+        sha1 = "076b97293fa620f632833186a7a8f65aaa6148c8";
       };
     }
     {
-      name = "npm_profile___npm_profile_4.0.4.tgz";
+      name = "npm_pick_manifest___npm_pick_manifest_6.1.1.tgz";
       path = fetchurl {
-        name = "npm_profile___npm_profile_4.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/npm-profile/-/npm-profile-4.0.4.tgz";
-        sha1 = "28ee94390e936df6d084263ee2061336a6a1581b";
+        name = "npm_pick_manifest___npm_pick_manifest_6.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-6.1.1.tgz";
+        sha1 = "7b5484ca2c908565f43b7f27644f36bb816f5148";
       };
     }
     {
-      name = "npm_registry_fetch___npm_registry_fetch_4.0.7.tgz";
+      name = "npm_registry_fetch___npm_registry_fetch_11.0.0.tgz";
       path = fetchurl {
-        name = "npm_registry_fetch___npm_registry_fetch_4.0.7.tgz";
-        url  = "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-4.0.7.tgz";
-        sha1 = "57951bf6541e0246b34c9f9a38ab73607c9449d7";
-      };
-    }
-    {
-      name = "npm_run_path___npm_run_path_2.0.2.tgz";
-      path = fetchurl {
-        name = "npm_run_path___npm_run_path_2.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz";
-        sha1 = "35a9232dfa35d7067b4cb2ddf2357b1871536c5f";
-      };
-    }
-    {
-      name = "npm_user_validate___npm_user_validate_1.0.1.tgz";
-      path = fetchurl {
-        name = "npm_user_validate___npm_user_validate_1.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/npm-user-validate/-/npm-user-validate-1.0.1.tgz";
-        sha1 = "31428fc5475fe8416023f178c0ab47935ad8c561";
-      };
-    }
-    {
-      name = "npm___npm_6.14.11.tgz";
-      path = fetchurl {
-        name = "npm___npm_6.14.11.tgz";
-        url  = "https://registry.yarnpkg.com/npm/-/npm-6.14.11.tgz";
-        sha1 = "e0b5598d7b9a42d275e61d8bd28cd7eee0074a3b";
+        name = "npm_registry_fetch___npm_registry_fetch_11.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-11.0.0.tgz";
+        sha1 = "68c1bb810c46542760d62a6a965f85a702d43a76";
       };
     }
     {
@@ -4426,14 +3946,6 @@
       };
     }
     {
-      name = "object_inspect___object_inspect_1.7.0.tgz";
-      path = fetchurl {
-        name = "object_inspect___object_inspect_1.7.0.tgz";
-        url  = "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz";
-        sha1 = "f4f6bd181ad77f006b5ece60bd0b6f398ff74a67";
-      };
-    }
-    {
       name = "object_keys___object_keys_1.1.1.tgz";
       path = fetchurl {
         name = "object_keys___object_keys_1.1.1.tgz";
@@ -4442,14 +3954,6 @@
       };
     }
     {
-      name = "object.getownpropertydescriptors___object.getownpropertydescriptors_2.0.3.tgz";
-      path = fetchurl {
-        name = "object.getownpropertydescriptors___object.getownpropertydescriptors_2.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz";
-        sha1 = "8758c846f5b407adab0f236e0986f14b051caa16";
-      };
-    }
-    {
       name = "omggif___omggif_1.0.10.tgz";
       path = fetchurl {
         name = "omggif___omggif_1.0.10.tgz";
@@ -4466,19 +3970,11 @@
       };
     }
     {
-      name = "onetime___onetime_5.1.0.tgz";
-      path = fetchurl {
-        name = "onetime___onetime_5.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz";
-        sha1 = "fff0f3c91617fe62bb50189636e99ac8a6df7be5";
-      };
-    }
-    {
-      name = "opener___opener_1.5.2.tgz";
+      name = "onetime___onetime_5.1.2.tgz";
       path = fetchurl {
-        name = "opener___opener_1.5.2.tgz";
-        url  = "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz";
-        sha1 = "5d37e1f35077b9dcac4301372271afdeb2a13598";
+        name = "onetime___onetime_5.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz";
+        sha1 = "d0e96ebb56b07476df1dd9c4806e5237985ca45e";
       };
     }
     {
@@ -4498,14 +3994,6 @@
       };
     }
     {
-      name = "os_locale___os_locale_2.1.0.tgz";
-      path = fetchurl {
-        name = "os_locale___os_locale_2.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz";
-        sha1 = "42bc2900a6b5b8bd17376c8e882b65afccf24bf2";
-      };
-    }
-    {
       name = "os_tmpdir___os_tmpdir_1.0.2.tgz";
       path = fetchurl {
         name = "os_tmpdir___os_tmpdir_1.0.2.tgz";
@@ -4530,35 +4018,11 @@
       };
     }
     {
-      name = "p_finally___p_finally_1.0.0.tgz";
+      name = "p_limit___p_limit_2.3.0.tgz";
       path = fetchurl {
-        name = "p_finally___p_finally_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz";
-        sha1 = "3fbcfb15b899a44123b34b6dcc18b724336a2cae";
-      };
-    }
-    {
-      name = "p_limit___p_limit_1.3.0.tgz";
-      path = fetchurl {
-        name = "p_limit___p_limit_1.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz";
-        sha1 = "b86bd5f0c25690911c7590fcbfc2010d54b3ccb8";
-      };
-    }
-    {
-      name = "p_limit___p_limit_2.2.1.tgz";
-      path = fetchurl {
-        name = "p_limit___p_limit_2.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.1.tgz";
-        sha1 = "aa07a788cc3151c939b5131f63570f0dd2009537";
-      };
-    }
-    {
-      name = "p_locate___p_locate_2.0.0.tgz";
-      path = fetchurl {
-        name = "p_locate___p_locate_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz";
-        sha1 = "20a0103b222a70c8fd39cc2e580680f3dde5ec43";
+        name = "p_limit___p_limit_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz";
+        sha1 = "3dd33c647a214fdfffd835933eb086da0dc21db1";
       };
     }
     {
@@ -4570,11 +4034,11 @@
       };
     }
     {
-      name = "p_try___p_try_1.0.0.tgz";
+      name = "p_map___p_map_4.0.0.tgz";
       path = fetchurl {
-        name = "p_try___p_try_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz";
-        sha1 = "cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3";
+        name = "p_map___p_map_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz";
+        sha1 = "bb2f95a5eda2ec168ec9274e06a747c3e2904d2b";
       };
     }
     {
@@ -4586,14 +4050,6 @@
       };
     }
     {
-      name = "package_json___package_json_4.0.1.tgz";
-      path = fetchurl {
-        name = "package_json___package_json_4.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/package-json/-/package-json-4.0.1.tgz";
-        sha1 = "8869a0401253661c4c4ca3da6c2121ed555f5eed";
-      };
-    }
-    {
       name = "package_json___package_json_6.5.0.tgz";
       path = fetchurl {
         name = "package_json___package_json_6.5.0.tgz";
@@ -4602,11 +4058,11 @@
       };
     }
     {
-      name = "pacote___pacote_9.5.12.tgz";
+      name = "pacote___pacote_11.3.5.tgz";
       path = fetchurl {
-        name = "pacote___pacote_9.5.12.tgz";
-        url  = "https://registry.yarnpkg.com/pacote/-/pacote-9.5.12.tgz";
-        sha1 = "1e11dd7a8d736bcc36b375a9804d41bb0377bf66";
+        name = "pacote___pacote_11.3.5.tgz";
+        url  = "https://registry.yarnpkg.com/pacote/-/pacote-11.3.5.tgz";
+        sha1 = "73cf1fc3772b533f575e39efa96c50be8c3dc9d2";
       };
     }
     {
@@ -4618,14 +4074,6 @@
       };
     }
     {
-      name = "parallel_transform___parallel_transform_1.2.0.tgz";
-      path = fetchurl {
-        name = "parallel_transform___parallel_transform_1.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz";
-        sha1 = "9049ca37d6cb2182c3b1d2c720be94d14a5814fc";
-      };
-    }
-    {
       name = "parent_module___parent_module_1.0.1.tgz";
       path = fetchurl {
         name = "parent_module___parent_module_1.0.1.tgz";
@@ -4666,14 +4114,6 @@
       };
     }
     {
-      name = "parse_json___parse_json_2.2.0.tgz";
-      path = fetchurl {
-        name = "parse_json___parse_json_2.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz";
-        sha1 = "f480f40434ef80741f8469099f8dea18f55a4dc9";
-      };
-    }
-    {
       name = "path_exists___path_exists_3.0.0.tgz";
       path = fetchurl {
         name = "path_exists___path_exists_3.0.0.tgz";
@@ -4690,22 +4130,6 @@
       };
     }
     {
-      name = "path_is_inside___path_is_inside_1.0.2.tgz";
-      path = fetchurl {
-        name = "path_is_inside___path_is_inside_1.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz";
-        sha1 = "365417dede44430d1c11af61027facf074bdfc53";
-      };
-    }
-    {
-      name = "path_key___path_key_2.0.1.tgz";
-      path = fetchurl {
-        name = "path_key___path_key_2.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz";
-        sha1 = "411cadb574c5a140d3a4b1910d40d80cc9f40b40";
-      };
-    }
-    {
       name = "path_key___path_key_3.1.1.tgz";
       path = fetchurl {
         name = "path_key___path_key_3.1.1.tgz";
@@ -4714,19 +4138,19 @@
       };
     }
     {
-      name = "path_parse___path_parse_1.0.6.tgz";
+      name = "path_type___path_type_4.0.0.tgz";
       path = fetchurl {
-        name = "path_parse___path_parse_1.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz";
-        sha1 = "d62dbb5679405d72c4737ec58600e9ddcf06d24c";
+        name = "path_type___path_type_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz";
+        sha1 = "84ed01c0a7ba380afe09d90a8c180dcd9d03043b";
       };
     }
     {
-      name = "path_type___path_type_2.0.0.tgz";
+      name = "pend___pend_1.2.0.tgz";
       path = fetchurl {
-        name = "path_type___path_type_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz";
-        sha1 = "f012ccb8415b7096fc2daa1054c3d72389594c73";
+        name = "pend___pend_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz";
+        sha1 = "7a57eb550a6783f9115331fcf4663d5c8e007a50";
       };
     }
     {
@@ -4746,11 +4170,11 @@
       };
     }
     {
-      name = "pify___pify_2.3.0.tgz";
+      name = "picomatch___picomatch_2.3.0.tgz";
       path = fetchurl {
-        name = "pify___pify_2.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz";
-        sha1 = "ed141a6ac043a849ea588498e7dca8b15330e90c";
+        name = "picomatch___picomatch_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz";
+        sha1 = "f1f061de8f6a4bf022892e2d128234fb98302972";
       };
     }
     {
@@ -4794,11 +4218,11 @@
       };
     }
     {
-      name = "png_to_ico___png_to_ico_2.1.1.tgz";
+      name = "png_to_ico___png_to_ico_2.1.2.tgz";
       path = fetchurl {
-        name = "png_to_ico___png_to_ico_2.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/png-to-ico/-/png-to-ico-2.1.1.tgz";
-        sha1 = "35be46f93c1ac8d77025f6f4b60c1fa567c1d47c";
+        name = "png_to_ico___png_to_ico_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/png-to-ico/-/png-to-ico-2.1.2.tgz";
+        sha1 = "9787178b849f1a7b3aa3e5f2d57ac4cbfabc7c24";
       };
     }
     {
@@ -4818,14 +4242,6 @@
       };
     }
     {
-      name = "prepend_http___prepend_http_1.0.4.tgz";
-      path = fetchurl {
-        name = "prepend_http___prepend_http_1.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz";
-        sha1 = "d4f4562b0ce3696e41ac52d0e002e57a635dc6dc";
-      };
-    }
-    {
       name = "prepend_http___prepend_http_2.0.0.tgz";
       path = fetchurl {
         name = "prepend_http___prepend_http_2.0.0.tgz";
@@ -4850,11 +4266,11 @@
       };
     }
     {
-      name = "process___process_0.5.2.tgz";
+      name = "process___process_0.11.10.tgz";
       path = fetchurl {
-        name = "process___process_0.5.2.tgz";
-        url  = "https://registry.yarnpkg.com/process/-/process-0.5.2.tgz";
-        sha1 = "1638d8a8e34c2f440a91db95ab9aeb677fc185cf";
+        name = "process___process_0.11.10.tgz";
+        url  = "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz";
+        sha1 = "7332300e840161bda3e69a1d1d91a7d4bc16f182";
       };
     }
     {
@@ -4874,19 +4290,11 @@
       };
     }
     {
-      name = "promise_retry___promise_retry_1.1.1.tgz";
+      name = "promise_retry___promise_retry_2.0.1.tgz";
       path = fetchurl {
-        name = "promise_retry___promise_retry_1.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/promise-retry/-/promise-retry-1.1.1.tgz";
-        sha1 = "6739e968e3051da20ce6497fb2b50f6911df3d6d";
-      };
-    }
-    {
-      name = "promzard___promzard_0.3.0.tgz";
-      path = fetchurl {
-        name = "promzard___promzard_0.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/promzard/-/promzard-0.3.0.tgz";
-        sha1 = "26a5d6ee8c7dee4cb12208305acfb93ba382a9ee";
+        name = "promise_retry___promise_retry_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/promise-retry/-/promise-retry-2.0.1.tgz";
+        sha1 = "ff747a13620ab57ba688f5fc67855410c370da22";
       };
     }
     {
@@ -4898,38 +4306,6 @@
       };
     }
     {
-      name = "protoduck___protoduck_5.0.1.tgz";
-      path = fetchurl {
-        name = "protoduck___protoduck_5.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/protoduck/-/protoduck-5.0.1.tgz";
-        sha1 = "03c3659ca18007b69a50fd82a7ebcc516261151f";
-      };
-    }
-    {
-      name = "prr___prr_1.0.1.tgz";
-      path = fetchurl {
-        name = "prr___prr_1.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz";
-        sha1 = "d3fc114ba06995a45ec6893f484ceb1d78f5f476";
-      };
-    }
-    {
-      name = "pseudomap___pseudomap_1.0.2.tgz";
-      path = fetchurl {
-        name = "pseudomap___pseudomap_1.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz";
-        sha1 = "f052a28da70e618917ef0a8ac34c1ae5a68286b3";
-      };
-    }
-    {
-      name = "psl___psl_1.6.0.tgz";
-      path = fetchurl {
-        name = "psl___psl_1.6.0.tgz";
-        url  = "https://registry.yarnpkg.com/psl/-/psl-1.6.0.tgz";
-        sha1 = "60557582ee23b6c43719d9890fb4170ecd91e110";
-      };
-    }
-    {
       name = "psl___psl_1.8.0.tgz";
       path = fetchurl {
         name = "psl___psl_1.8.0.tgz";
@@ -4938,14 +4314,6 @@
       };
     }
     {
-      name = "pump___pump_2.0.1.tgz";
-      path = fetchurl {
-        name = "pump___pump_2.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz";
-        sha1 = "12399add6e4cf7526d973cbc8b5ce2e2908b3909";
-      };
-    }
-    {
       name = "pump___pump_3.0.0.tgz";
       path = fetchurl {
         name = "pump___pump_3.0.0.tgz";
@@ -4954,22 +4322,6 @@
       };
     }
     {
-      name = "pumpify___pumpify_1.5.1.tgz";
-      path = fetchurl {
-        name = "pumpify___pumpify_1.5.1.tgz";
-        url  = "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz";
-        sha1 = "36513be246ab27570b1a374a5ce278bfd74370ce";
-      };
-    }
-    {
-      name = "punycode___punycode_1.4.1.tgz";
-      path = fetchurl {
-        name = "punycode___punycode_1.4.1.tgz";
-        url  = "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz";
-        sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e";
-      };
-    }
-    {
       name = "punycode___punycode_2.1.1.tgz";
       path = fetchurl {
         name = "punycode___punycode_2.1.1.tgz";
@@ -4986,14 +4338,6 @@
       };
     }
     {
-      name = "qrcode_terminal___qrcode_terminal_0.12.0.tgz";
-      path = fetchurl {
-        name = "qrcode_terminal___qrcode_terminal_0.12.0.tgz";
-        url  = "https://registry.yarnpkg.com/qrcode-terminal/-/qrcode-terminal-0.12.0.tgz";
-        sha1 = "bb5b699ef7f9f0505092a3748be4464fe71b5819";
-      };
-    }
-    {
       name = "qs___qs_6.5.2.tgz";
       path = fetchurl {
         name = "qs___qs_6.5.2.tgz";
@@ -5002,19 +4346,11 @@
       };
     }
     {
-      name = "query_string___query_string_6.10.1.tgz";
+      name = "queue_microtask___queue_microtask_1.2.3.tgz";
       path = fetchurl {
-        name = "query_string___query_string_6.10.1.tgz";
-        url  = "https://registry.yarnpkg.com/query-string/-/query-string-6.10.1.tgz";
-        sha1 = "30b3505f6fca741d5ae541964d1b3ae9dc2a0de8";
-      };
-    }
-    {
-      name = "qw___qw_1.0.1.tgz";
-      path = fetchurl {
-        name = "qw___qw_1.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/qw/-/qw-1.0.1.tgz";
-        sha1 = "efbfdc740f9ad054304426acb183412cc8b996d4";
+        name = "queue_microtask___queue_microtask_1.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz";
+        sha1 = "4929228bbc724dfac43e0efb058caf7b6cfb6243";
       };
     }
     {
@@ -5026,14 +4362,6 @@
       };
     }
     {
-      name = "read_cmd_shim___read_cmd_shim_1.0.5.tgz";
-      path = fetchurl {
-        name = "read_cmd_shim___read_cmd_shim_1.0.5.tgz";
-        url  = "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-1.0.5.tgz";
-        sha1 = "87e43eba50098ba5a32d0ceb583ab8e43b961c16";
-      };
-    }
-    {
       name = "read_config_file___read_config_file_6.2.0.tgz";
       path = fetchurl {
         name = "read_config_file___read_config_file_6.2.0.tgz";
@@ -5042,51 +4370,11 @@
       };
     }
     {
-      name = "read_installed___read_installed_4.0.3.tgz";
-      path = fetchurl {
-        name = "read_installed___read_installed_4.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/read-installed/-/read-installed-4.0.3.tgz";
-        sha1 = "ff9b8b67f187d1e4c29b9feb31f6b223acd19067";
-      };
-    }
-    {
-      name = "read_package_json___read_package_json_2.1.1.tgz";
+      name = "read_package_json_fast___read_package_json_fast_2.0.2.tgz";
       path = fetchurl {
-        name = "read_package_json___read_package_json_2.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/read-package-json/-/read-package-json-2.1.1.tgz";
-        sha1 = "16aa66c59e7d4dad6288f179dd9295fd59bb98f1";
-      };
-    }
-    {
-      name = "read_package_tree___read_package_tree_5.3.1.tgz";
-      path = fetchurl {
-        name = "read_package_tree___read_package_tree_5.3.1.tgz";
-        url  = "https://registry.yarnpkg.com/read-package-tree/-/read-package-tree-5.3.1.tgz";
-        sha1 = "a32cb64c7f31eb8a6f31ef06f9cedf74068fe636";
-      };
-    }
-    {
-      name = "read_pkg_up___read_pkg_up_2.0.0.tgz";
-      path = fetchurl {
-        name = "read_pkg_up___read_pkg_up_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz";
-        sha1 = "6b72a8048984e0c41e79510fd5e9fa99b3b549be";
-      };
-    }
-    {
-      name = "read_pkg___read_pkg_2.0.0.tgz";
-      path = fetchurl {
-        name = "read_pkg___read_pkg_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz";
-        sha1 = "8ef1c0623c6a6db0dc6713c4bfac46332b2368f8";
-      };
-    }
-    {
-      name = "read___read_1.0.7.tgz";
-      path = fetchurl {
-        name = "read___read_1.0.7.tgz";
-        url  = "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz";
-        sha1 = "b3da19bd052431a97671d44a42634adf710b40c4";
+        name = "read_package_json_fast___read_package_json_fast_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/read-package-json-fast/-/read-package-json-fast-2.0.2.tgz";
+        sha1 = "2dcb24d9e8dd50fb322042c8c35a954e6cc7ac9e";
       };
     }
     {
@@ -5106,14 +4394,6 @@
       };
     }
     {
-      name = "readable_stream___readable_stream_1.1.14.tgz";
-      path = fetchurl {
-        name = "readable_stream___readable_stream_1.1.14.tgz";
-        url  = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz";
-        sha1 = "7cf4c54ef648e3813084c636dd2079e166c081d9";
-      };
-    }
-    {
       name = "readdir_glob___readdir_glob_1.1.1.tgz";
       path = fetchurl {
         name = "readdir_glob___readdir_glob_1.1.1.tgz";
@@ -5122,11 +4402,11 @@
       };
     }
     {
-      name = "readdir_scoped_modules___readdir_scoped_modules_1.1.0.tgz";
+      name = "readdirp___readdirp_3.6.0.tgz";
       path = fetchurl {
-        name = "readdir_scoped_modules___readdir_scoped_modules_1.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz";
-        sha1 = "8d45407b4f870a0dcaebc0e28670d18e74514309";
+        name = "readdirp___readdirp_3.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz";
+        sha1 = "74a370bd857116e245b29cc97340cd431a02a6c7";
       };
     }
     {
@@ -5138,35 +4418,19 @@
       };
     }
     {
-      name = "regexpp___regexpp_3.1.0.tgz";
-      path = fetchurl {
-        name = "regexpp___regexpp_3.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz";
-        sha1 = "206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2";
-      };
-    }
-    {
-      name = "registry_auth_token___registry_auth_token_3.4.0.tgz";
-      path = fetchurl {
-        name = "registry_auth_token___registry_auth_token_3.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.4.0.tgz";
-        sha1 = "d7446815433f5d5ed6431cd5dca21048f66b397e";
-      };
-    }
-    {
-      name = "registry_auth_token___registry_auth_token_4.0.0.tgz";
+      name = "regexpp___regexpp_3.2.0.tgz";
       path = fetchurl {
-        name = "registry_auth_token___registry_auth_token_4.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.0.0.tgz";
-        sha1 = "30e55961eec77379da551ea5c4cf43cbf03522be";
+        name = "regexpp___regexpp_3.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz";
+        sha1 = "0425a2768d8f23bad70ca4b90461fa2f1213e1b2";
       };
     }
     {
-      name = "registry_url___registry_url_3.1.0.tgz";
+      name = "registry_auth_token___registry_auth_token_4.2.1.tgz";
       path = fetchurl {
-        name = "registry_url___registry_url_3.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz";
-        sha1 = "3d4ef870f73dde1d77f0cf9a381432444e174942";
+        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";
       };
     }
     {
@@ -5178,14 +4442,6 @@
       };
     }
     {
-      name = "request___request_2.88.0.tgz";
-      path = fetchurl {
-        name = "request___request_2.88.0.tgz";
-        url  = "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz";
-        sha1 = "9c2fca4f7d35b592efe57c7f0a55e81052124fef";
-      };
-    }
-    {
       name = "request___request_2.88.2.tgz";
       path = fetchurl {
         name = "request___request_2.88.2.tgz";
@@ -5210,22 +4466,6 @@
       };
     }
     {
-      name = "require_main_filename___require_main_filename_1.0.1.tgz";
-      path = fetchurl {
-        name = "require_main_filename___require_main_filename_1.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz";
-        sha1 = "97f717b69d48784f5f526a6c5aa8ffdda055a4d1";
-      };
-    }
-    {
-      name = "require_main_filename___require_main_filename_2.0.0.tgz";
-      path = fetchurl {
-        name = "require_main_filename___require_main_filename_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz";
-        sha1 = "d0b329ecc7cc0f61649f62215be69af54aa8989b";
-      };
-    }
-    {
       name = "resolve_from___resolve_from_4.0.0.tgz";
       path = fetchurl {
         name = "resolve_from___resolve_from_4.0.0.tgz";
@@ -5234,14 +4474,6 @@
       };
     }
     {
-      name = "resolve___resolve_1.13.1.tgz";
-      path = fetchurl {
-        name = "resolve___resolve_1.13.1.tgz";
-        url  = "https://registry.yarnpkg.com/resolve/-/resolve-1.13.1.tgz";
-        sha1 = "be0aa4c06acd53083505abb35f4d66932ab35d16";
-      };
-    }
-    {
       name = "responselike___responselike_1.0.2.tgz";
       path = fetchurl {
         name = "responselike___responselike_1.0.2.tgz";
@@ -5250,14 +4482,6 @@
       };
     }
     {
-      name = "retry___retry_0.10.1.tgz";
-      path = fetchurl {
-        name = "retry___retry_0.10.1.tgz";
-        url  = "https://registry.yarnpkg.com/retry/-/retry-0.10.1.tgz";
-        sha1 = "e76388d217992c252750241d3d3956fed98d8ff4";
-      };
-    }
-    {
       name = "retry___retry_0.12.0.tgz";
       path = fetchurl {
         name = "retry___retry_0.12.0.tgz";
@@ -5266,6 +4490,14 @@
       };
     }
     {
+      name = "reusify___reusify_1.0.4.tgz";
+      path = fetchurl {
+        name = "reusify___reusify_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz";
+        sha1 = "90da382b1e126efc02146e90845a88db12925d76";
+      };
+    }
+    {
       name = "rimraf___rimraf_2.7.1.tgz";
       path = fetchurl {
         name = "rimraf___rimraf_2.7.1.tgz";
@@ -5282,11 +4514,19 @@
       };
     }
     {
-      name = "run_queue___run_queue_1.0.3.tgz";
+      name = "roarr___roarr_2.15.4.tgz";
+      path = fetchurl {
+        name = "roarr___roarr_2.15.4.tgz";
+        url  = "https://registry.yarnpkg.com/roarr/-/roarr-2.15.4.tgz";
+        sha1 = "f5fe795b7b838ccfe35dc608e0282b9eba2e7afd";
+      };
+    }
+    {
+      name = "run_parallel___run_parallel_1.2.0.tgz";
       path = fetchurl {
-        name = "run_queue___run_queue_1.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz";
-        sha1 = "e848396f057d223f24386924618e25694161ec47";
+        name = "run_parallel___run_parallel_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz";
+        sha1 = "66d1368da7bdf921eb9d95bd1a9229e7f21a43ee";
       };
     }
     {
@@ -5330,11 +4570,11 @@
       };
     }
     {
-      name = "semver_diff___semver_diff_2.1.0.tgz";
+      name = "semver_compare___semver_compare_1.0.0.tgz";
       path = fetchurl {
-        name = "semver_diff___semver_diff_2.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz";
-        sha1 = "4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36";
+        name = "semver_compare___semver_compare_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz";
+        sha1 = "0dee216a1c941ab37e9efb1788f6afc5ff5537fc";
       };
     }
     {
@@ -5362,22 +4602,6 @@
       };
     }
     {
-      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";
-      };
-    }
-    {
-      name = "semver___semver_7.3.4.tgz";
-      path = fetchurl {
-        name = "semver___semver_7.3.4.tgz";
-        url  = "https://registry.yarnpkg.com/semver/-/semver-7.3.4.tgz";
-        sha1 = "27aaa7d2e4ca76452f98d3add093a72c943edc97";
-      };
-    }
-    {
       name = "semver___semver_7.3.5.tgz";
       path = fetchurl {
         name = "semver___semver_7.3.5.tgz";
@@ -5386,6 +4610,14 @@
       };
     }
     {
+      name = "serialize_error___serialize_error_7.0.1.tgz";
+      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";
+      };
+    }
+    {
       name = "set_blocking___set_blocking_2.0.0.tgz";
       path = fetchurl {
         name = "set_blocking___set_blocking_2.0.0.tgz";
@@ -5402,22 +4634,6 @@
       };
     }
     {
-      name = "sha___sha_3.0.0.tgz";
-      path = fetchurl {
-        name = "sha___sha_3.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/sha/-/sha-3.0.0.tgz";
-        sha1 = "b2f2f90af690c16a3a839a6a6c680ea51fedd1ae";
-      };
-    }
-    {
-      name = "shebang_command___shebang_command_1.2.0.tgz";
-      path = fetchurl {
-        name = "shebang_command___shebang_command_1.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz";
-        sha1 = "44aac65b695b03398968c39f363fee5deafdf1ea";
-      };
-    }
-    {
       name = "shebang_command___shebang_command_2.0.0.tgz";
       path = fetchurl {
         name = "shebang_command___shebang_command_2.0.0.tgz";
@@ -5426,14 +4642,6 @@
       };
     }
     {
-      name = "shebang_regex___shebang_regex_1.0.0.tgz";
-      path = fetchurl {
-        name = "shebang_regex___shebang_regex_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz";
-        sha1 = "da42f49740c0b42db2ca9728571cb190c98efea3";
-      };
-    }
-    {
       name = "shebang_regex___shebang_regex_3.0.0.tgz";
       path = fetchurl {
         name = "shebang_regex___shebang_regex_3.0.0.tgz";
@@ -5442,11 +4650,19 @@
       };
     }
     {
-      name = "signal_exit___signal_exit_3.0.2.tgz";
+      name = "signal_exit___signal_exit_3.0.3.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 = "slash___slash_3.0.0.tgz";
       path = fetchurl {
-        name = "signal_exit___signal_exit_3.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz";
-        sha1 = "b5fdc08f1287ea1178628e415e25132b73646c6d";
+        name = "slash___slash_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz";
+        sha1 = "6539be870c165adbd5240220dbe361f1bc4d4634";
       };
     }
     {
@@ -5466,14 +4682,6 @@
       };
     }
     {
-      name = "slide___slide_1.1.6.tgz";
-      path = fetchurl {
-        name = "slide___slide_1.1.6.tgz";
-        url  = "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz";
-        sha1 = "56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707";
-      };
-    }
-    {
       name = "smart_buffer___smart_buffer_4.1.0.tgz";
       path = fetchurl {
         name = "smart_buffer___smart_buffer_4.1.0.tgz";
@@ -5482,35 +4690,19 @@
       };
     }
     {
-      name = "socks_proxy_agent___socks_proxy_agent_4.0.2.tgz";
+      name = "socks_proxy_agent___socks_proxy_agent_5.0.1.tgz";
       path = fetchurl {
-        name = "socks_proxy_agent___socks_proxy_agent_4.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz";
-        sha1 = "3c8991f3145b2799e70e11bd5fbc8b1963116386";
+        name = "socks_proxy_agent___socks_proxy_agent_5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-5.0.1.tgz";
+        sha1 = "032fb583048a29ebffec2e6a73fca0761f48177e";
       };
     }
     {
-      name = "socks___socks_2.3.3.tgz";
+      name = "socks___socks_2.6.1.tgz";
       path = fetchurl {
-        name = "socks___socks_2.3.3.tgz";
-        url  = "https://registry.yarnpkg.com/socks/-/socks-2.3.3.tgz";
-        sha1 = "01129f0a5d534d2b897712ed8aceab7ee65d78e3";
-      };
-    }
-    {
-      name = "sorted_object___sorted_object_2.0.1.tgz";
-      path = fetchurl {
-        name = "sorted_object___sorted_object_2.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/sorted-object/-/sorted-object-2.0.1.tgz";
-        sha1 = "7d631f4bd3a798a24af1dffcfbfe83337a5df5fc";
-      };
-    }
-    {
-      name = "sorted_union_stream___sorted_union_stream_2.1.3.tgz";
-      path = fetchurl {
-        name = "sorted_union_stream___sorted_union_stream_2.1.3.tgz";
-        url  = "https://registry.yarnpkg.com/sorted-union-stream/-/sorted-union-stream-2.1.3.tgz";
-        sha1 = "c7794c7e077880052ff71a8d4a2dbb4a9a638ac7";
+        name = "socks___socks_2.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/socks/-/socks-2.6.1.tgz";
+        sha1 = "989e6534a07cf337deb1b1c94aaa44296520d30e";
       };
     }
     {
@@ -5538,46 +4730,6 @@
       };
     }
     {
-      name = "spdx_correct___spdx_correct_3.1.0.tgz";
-      path = fetchurl {
-        name = "spdx_correct___spdx_correct_3.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz";
-        sha1 = "fb83e504445268f154b074e218c87c003cd31df4";
-      };
-    }
-    {
-      name = "spdx_exceptions___spdx_exceptions_2.2.0.tgz";
-      path = fetchurl {
-        name = "spdx_exceptions___spdx_exceptions_2.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz";
-        sha1 = "2ea450aee74f2a89bfb94519c07fcd6f41322977";
-      };
-    }
-    {
-      name = "spdx_expression_parse___spdx_expression_parse_3.0.0.tgz";
-      path = fetchurl {
-        name = "spdx_expression_parse___spdx_expression_parse_3.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz";
-        sha1 = "99e119b7a5da00e05491c9fa338b7904823b41d0";
-      };
-    }
-    {
-      name = "spdx_license_ids___spdx_license_ids_3.0.5.tgz";
-      path = fetchurl {
-        name = "spdx_license_ids___spdx_license_ids_3.0.5.tgz";
-        url  = "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz";
-        sha1 = "3694b5804567a458d3c8045842a6358632f62654";
-      };
-    }
-    {
-      name = "split_on_first___split_on_first_1.1.0.tgz";
-      path = fetchurl {
-        name = "split_on_first___split_on_first_1.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz";
-        sha1 = "f610afeee3b12bce1d0c30425e76398b78249a5f";
-      };
-    }
-    {
       name = "sprintf_js___sprintf_js_1.1.2.tgz";
       path = fetchurl {
         name = "sprintf_js___sprintf_js_1.1.2.tgz";
@@ -5602,11 +4754,11 @@
       };
     }
     {
-      name = "ssri___ssri_6.0.2.tgz";
+      name = "ssri___ssri_8.0.1.tgz";
       path = fetchurl {
-        name = "ssri___ssri_6.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/ssri/-/ssri-6.0.2.tgz";
-        sha1 = "157939134f20464e7301ddba3e90ffa8f7728ac5";
+        name = "ssri___ssri_8.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/ssri/-/ssri-8.0.1.tgz";
+        sha1 = "638e4e439e2ffbd2cd289776d5ca457c4f51a2af";
       };
     }
     {
@@ -5618,38 +4770,6 @@
       };
     }
     {
-      name = "stream_each___stream_each_1.2.3.tgz";
-      path = fetchurl {
-        name = "stream_each___stream_each_1.2.3.tgz";
-        url  = "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz";
-        sha1 = "ebe27a0c389b04fbcc233642952e10731afa9bae";
-      };
-    }
-    {
-      name = "stream_iterate___stream_iterate_1.2.0.tgz";
-      path = fetchurl {
-        name = "stream_iterate___stream_iterate_1.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/stream-iterate/-/stream-iterate-1.2.0.tgz";
-        sha1 = "2bd7c77296c1702a46488b8ad41f79865eecd4e1";
-      };
-    }
-    {
-      name = "stream_shift___stream_shift_1.0.1.tgz";
-      path = fetchurl {
-        name = "stream_shift___stream_shift_1.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz";
-        sha1 = "d7088281559ab2778424279b0877da3c392d5a3d";
-      };
-    }
-    {
-      name = "strict_uri_encode___strict_uri_encode_2.0.0.tgz";
-      path = fetchurl {
-        name = "strict_uri_encode___strict_uri_encode_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz";
-        sha1 = "b9c7330c7042862f6b142dc274bbcc5866ce3546";
-      };
-    }
-    {
       name = "string_width___string_width_1.0.2.tgz";
       path = fetchurl {
         name = "string_width___string_width_1.0.2.tgz";
@@ -5674,27 +4794,11 @@
       };
     }
     {
-      name = "string_width___string_width_4.2.0.tgz";
-      path = fetchurl {
-        name = "string_width___string_width_4.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz";
-        sha1 = "952182c46cc7b2c313d1596e623992bd163b72b5";
-      };
-    }
-    {
-      name = "string.prototype.trimleft___string.prototype.trimleft_2.1.0.tgz";
-      path = fetchurl {
-        name = "string.prototype.trimleft___string.prototype.trimleft_2.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz";
-        sha1 = "6cc47f0d7eb8d62b0f3701611715a3954591d634";
-      };
-    }
-    {
-      name = "string.prototype.trimright___string.prototype.trimright_2.1.0.tgz";
+      name = "string_width___string_width_4.2.2.tgz";
       path = fetchurl {
-        name = "string.prototype.trimright___string.prototype.trimright_2.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz";
-        sha1 = "669d164be9df9b6f7559fa8e89945b168a5a6c58";
+        name = "string_width___string_width_4.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz";
+        sha1 = "dafd4f9559a7585cfba529c6a0a4f73488ebd4c5";
       };
     }
     {
@@ -5706,14 +4810,6 @@
       };
     }
     {
-      name = "string_decoder___string_decoder_0.10.31.tgz";
-      path = fetchurl {
-        name = "string_decoder___string_decoder_0.10.31.tgz";
-        url  = "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz";
-        sha1 = "62e203bc41766c6c28c9fc84301dab1c5310fa94";
-      };
-    }
-    {
       name = "string_decoder___string_decoder_1.1.1.tgz";
       path = fetchurl {
         name = "string_decoder___string_decoder_1.1.1.tgz";
@@ -5722,14 +4818,6 @@
       };
     }
     {
-      name = "stringify_package___stringify_package_1.0.1.tgz";
-      path = fetchurl {
-        name = "stringify_package___stringify_package_1.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/stringify-package/-/stringify-package-1.0.1.tgz";
-        sha1 = "e5aa3643e7f74d0f28628b72f3dad5cecfc3ba85";
-      };
-    }
-    {
       name = "strip_ansi___strip_ansi_3.0.1.tgz";
       path = fetchurl {
         name = "strip_ansi___strip_ansi_3.0.1.tgz";
@@ -5762,22 +4850,6 @@
       };
     }
     {
-      name = "strip_bom___strip_bom_3.0.0.tgz";
-      path = fetchurl {
-        name = "strip_bom___strip_bom_3.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz";
-        sha1 = "2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3";
-      };
-    }
-    {
-      name = "strip_eof___strip_eof_1.0.0.tgz";
-      path = fetchurl {
-        name = "strip_eof___strip_eof_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz";
-        sha1 = "bb43ff5598a6eb05d89b59fcd129c983313606bf";
-      };
-    }
-    {
       name = "strip_json_comments___strip_json_comments_3.1.1.tgz";
       path = fetchurl {
         name = "strip_json_comments___strip_json_comments_3.1.1.tgz";
@@ -5794,6 +4866,14 @@
       };
     }
     {
+      name = "sumchecker___sumchecker_3.0.1.tgz";
+      path = fetchurl {
+        name = "sumchecker___sumchecker_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/sumchecker/-/sumchecker-3.0.1.tgz";
+        sha1 = "6377e996795abb0b6d348e9b3e1dfb24345a8e42";
+      };
+    }
+    {
       name = "supports_color___supports_color_5.5.0.tgz";
       path = fetchurl {
         name = "supports_color___supports_color_5.5.0.tgz";
@@ -5802,11 +4882,11 @@
       };
     }
     {
-      name = "supports_color___supports_color_7.1.0.tgz";
+      name = "supports_color___supports_color_7.2.0.tgz";
       path = fetchurl {
-        name = "supports_color___supports_color_7.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz";
-        sha1 = "68e32591df73e25ad1c4b49108a2ec507962bfd1";
+        name = "supports_color___supports_color_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz";
+        sha1 = "1b7dcdcb32b8138801b3e478ba6a51caa89648da";
       };
     }
     {
@@ -5834,11 +4914,11 @@
       };
     }
     {
-      name = "tar___tar_6.1.0.tgz";
+      name = "tar___tar_6.1.2.tgz";
       path = fetchurl {
-        name = "tar___tar_6.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/tar/-/tar-6.1.0.tgz";
-        sha1 = "d1724e9bcc04b977b18d5c573b333a2207229a83";
+        name = "tar___tar_6.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/tar/-/tar-6.1.2.tgz";
+        sha1 = "1f045a90a6eb23557a603595f41a16c57d47adc6";
       };
     }
     {
@@ -5850,14 +4930,6 @@
       };
     }
     {
-      name = "term_size___term_size_1.2.0.tgz";
-      path = fetchurl {
-        name = "term_size___term_size_1.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz";
-        sha1 = "458b83887f288fc56d6fffbfad262e26638efa69";
-      };
-    }
-    {
       name = "text_table___text_table_0.2.0.tgz";
       path = fetchurl {
         name = "text_table___text_table_0.2.0.tgz";
@@ -5866,27 +4938,11 @@
       };
     }
     {
-      name = "through2___through2_2.0.5.tgz";
-      path = fetchurl {
-        name = "through2___through2_2.0.5.tgz";
-        url  = "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz";
-        sha1 = "01c1e39eb31d07cb7d03a96a70823260b23132cd";
-      };
-    }
-    {
-      name = "through___through_2.3.8.tgz";
-      path = fetchurl {
-        name = "through___through_2.3.8.tgz";
-        url  = "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz";
-        sha1 = "0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5";
-      };
-    }
-    {
-      name = "timed_out___timed_out_4.0.1.tgz";
+      name = "timers_ext___timers_ext_0.1.7.tgz";
       path = fetchurl {
-        name = "timed_out___timed_out_4.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz";
-        sha1 = "f32eacac5a175bea25d7fab565ab3ed8741ef56f";
+        name = "timers_ext___timers_ext_0.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/timers-ext/-/timers-ext-0.1.7.tgz";
+        sha1 = "6f57ad8578e07a3fb9f91d9387d65647555e25c6";
       };
     }
     {
@@ -5898,14 +4954,6 @@
       };
     }
     {
-      name = "tiny_relative_date___tiny_relative_date_1.3.0.tgz";
-      path = fetchurl {
-        name = "tiny_relative_date___tiny_relative_date_1.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/tiny-relative-date/-/tiny-relative-date-1.3.0.tgz";
-        sha1 = "fa08aad501ed730f31cc043181d995c39a935e07";
-      };
-    }
-    {
       name = "tinycolor2___tinycolor2_1.4.2.tgz";
       path = fetchurl {
         name = "tinycolor2___tinycolor2_1.4.2.tgz";
@@ -5962,11 +5010,11 @@
       };
     }
     {
-      name = "tough_cookie___tough_cookie_2.4.3.tgz";
+      name = "to_regex_range___to_regex_range_5.0.1.tgz";
       path = fetchurl {
-        name = "tough_cookie___tough_cookie_2.4.3.tgz";
-        url  = "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz";
-        sha1 = "53f36da3f47783b0925afa06ff9f3b165280f781";
+        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";
       };
     }
     {
@@ -5986,6 +5034,30 @@
       };
     }
     {
+      name = "tslib___tslib_1.14.1.tgz";
+      path = fetchurl {
+        name = "tslib___tslib_1.14.1.tgz";
+        url  = "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz";
+        sha1 = "cf2d38bdc34a134bcaf1091c41f6619e2f672d00";
+      };
+    }
+    {
+      name = "tslib___tslib_2.3.0.tgz";
+      path = fetchurl {
+        name = "tslib___tslib_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/tslib/-/tslib-2.3.0.tgz";
+        sha1 = "803b8cdab3e12ba581a4ca41c8839bbb0dacb09e";
+      };
+    }
+    {
+      name = "tsutils___tsutils_3.21.0.tgz";
+      path = fetchurl {
+        name = "tsutils___tsutils_3.21.0.tgz";
+        url  = "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz";
+        sha1 = "b48717d394cea6c1e096983eed58e9d61715b623";
+      };
+    }
+    {
       name = "tunnel_agent___tunnel_agent_0.6.0.tgz";
       path = fetchurl {
         name = "tunnel_agent___tunnel_agent_0.6.0.tgz";
@@ -5994,6 +5066,14 @@
       };
     }
     {
+      name = "tunnel___tunnel_0.0.6.tgz";
+      path = fetchurl {
+        name = "tunnel___tunnel_0.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.6.tgz";
+        sha1 = "72f1314b34a5b192db012324df2cc587ca47f92c";
+      };
+    }
+    {
       name = "tweetnacl___tweetnacl_0.14.5.tgz";
       path = fetchurl {
         name = "tweetnacl___tweetnacl_0.14.5.tgz";
@@ -6010,6 +5090,14 @@
       };
     }
     {
+      name = "type_fest___type_fest_0.13.1.tgz";
+      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";
+      };
+    }
+    {
       name = "type_fest___type_fest_0.16.0.tgz";
       path = fetchurl {
         name = "type_fest___type_fest_0.16.0.tgz";
@@ -6034,6 +5122,22 @@
       };
     }
     {
+      name = "type___type_1.2.0.tgz";
+      path = fetchurl {
+        name = "type___type_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz";
+        sha1 = "848dd7698dafa3e54a6c479e759c4bc3f18847a0";
+      };
+    }
+    {
+      name = "type___type_2.5.0.tgz";
+      path = fetchurl {
+        name = "type___type_2.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/type/-/type-2.5.0.tgz";
+        sha1 = "0a2e78c2e77907b252abe5f298c1b01c63f0db3d";
+      };
+    }
+    {
       name = "typedarray_to_buffer___typedarray_to_buffer_3.1.5.tgz";
       path = fetchurl {
         name = "typedarray_to_buffer___typedarray_to_buffer_3.1.5.tgz";
@@ -6050,19 +5154,11 @@
       };
     }
     {
-      name = "uid_number___uid_number_0.0.6.tgz";
+      name = "typescript___typescript_4.3.5.tgz";
       path = fetchurl {
-        name = "uid_number___uid_number_0.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz";
-        sha1 = "0ea10e8035e8eb5b8e4449f06da1c730663baa81";
-      };
-    }
-    {
-      name = "umask___umask_1.1.0.tgz";
-      path = fetchurl {
-        name = "umask___umask_1.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/umask/-/umask-1.1.0.tgz";
-        sha1 = "f29cebf01df517912bb58ff9c4e50fde8e33320d";
+        name = "typescript___typescript_4.3.5.tgz";
+        url  = "https://registry.yarnpkg.com/typescript/-/typescript-4.3.5.tgz";
+        sha1 = "4d1c37cc16e893973c45a06886b7113234f119f4";
       };
     }
     {
@@ -6082,14 +5178,6 @@
       };
     }
     {
-      name = "unique_string___unique_string_1.0.0.tgz";
-      path = fetchurl {
-        name = "unique_string___unique_string_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz";
-        sha1 = "9e1057cca851abb93398f8b33ae187b99caec11a";
-      };
-    }
-    {
       name = "unique_string___unique_string_2.0.0.tgz";
       path = fetchurl {
         name = "unique_string___unique_string_2.0.0.tgz";
@@ -6098,19 +5186,19 @@
       };
     }
     {
-      name = "universalify___universalify_0.1.2.tgz";
+      name = "universal_user_agent___universal_user_agent_6.0.0.tgz";
       path = fetchurl {
-        name = "universalify___universalify_0.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz";
-        sha1 = "b646f69be3942dabcecc9d6639c80dc105efaa66";
+        name = "universal_user_agent___universal_user_agent_6.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz";
+        sha1 = "3381f8503b251c0d9cd21bc1de939ec9df5480ee";
       };
     }
     {
-      name = "universalify___universalify_1.0.0.tgz";
+      name = "universalify___universalify_0.1.2.tgz";
       path = fetchurl {
-        name = "universalify___universalify_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz";
-        sha1 = "b61a1da173e8435b2fe3c67d29b9adf8594bd16d";
+        name = "universalify___universalify_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz";
+        sha1 = "b646f69be3942dabcecc9d6639c80dc105efaa66";
       };
     }
     {
@@ -6122,14 +5210,6 @@
       };
     }
     {
-      name = "unpipe___unpipe_1.0.0.tgz";
-      path = fetchurl {
-        name = "unpipe___unpipe_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz";
-        sha1 = "b2bf4ee8514aae6165b4817829d21b2ef49904ec";
-      };
-    }
-    {
       name = "untildify___untildify_3.0.3.tgz";
       path = fetchurl {
         name = "untildify___untildify_3.0.3.tgz";
@@ -6146,22 +5226,6 @@
       };
     }
     {
-      name = "unzip_response___unzip_response_2.0.1.tgz";
-      path = fetchurl {
-        name = "unzip_response___unzip_response_2.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz";
-        sha1 = "d2f0f737d16b0615e72a6935ed04214572d56f97";
-      };
-    }
-    {
-      name = "update_notifier___update_notifier_2.5.0.tgz";
-      path = fetchurl {
-        name = "update_notifier___update_notifier_2.5.0.tgz";
-        url  = "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.5.0.tgz";
-        sha1 = "d0744593e13f161e406acb1d9408b72cad08aff6";
-      };
-    }
-    {
       name = "update_notifier___update_notifier_5.1.0.tgz";
       path = fetchurl {
         name = "update_notifier___update_notifier_5.1.0.tgz";
@@ -6170,19 +5234,11 @@
       };
     }
     {
-      name = "uri_js___uri_js_4.2.2.tgz";
-      path = fetchurl {
-        name = "uri_js___uri_js_4.2.2.tgz";
-        url  = "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz";
-        sha1 = "94c540e1ff772956e2299507c010aea6c8838eb0";
-      };
-    }
-    {
-      name = "url_parse_lax___url_parse_lax_1.0.0.tgz";
+      name = "uri_js___uri_js_4.4.1.tgz";
       path = fetchurl {
-        name = "url_parse_lax___url_parse_lax_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz";
-        sha1 = "7af8f303645e9bd79a272e7a14ac68bc0609da73";
+        name = "uri_js___uri_js_4.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz";
+        sha1 = "9b1a52595225859e55f669d928f88c6c57f2a77e";
       };
     }
     {
@@ -6218,38 +5274,6 @@
       };
     }
     {
-      name = "util_extend___util_extend_1.0.3.tgz";
-      path = fetchurl {
-        name = "util_extend___util_extend_1.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/util-extend/-/util-extend-1.0.3.tgz";
-        sha1 = "a7c216d267545169637b3b6edc6ca9119e2ff93f";
-      };
-    }
-    {
-      name = "util_promisify___util_promisify_2.1.0.tgz";
-      path = fetchurl {
-        name = "util_promisify___util_promisify_2.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/util-promisify/-/util-promisify-2.1.0.tgz";
-        sha1 = "3c2236476c4d32c5ff3c47002add7c13b9a82a53";
-      };
-    }
-    {
-      name = "util.promisify___util.promisify_1.0.0.tgz";
-      path = fetchurl {
-        name = "util.promisify___util.promisify_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz";
-        sha1 = "440f7165a459c9a16dc145eb8e72f35687097030";
-      };
-    }
-    {
-      name = "uuid___uuid_3.3.3.tgz";
-      path = fetchurl {
-        name = "uuid___uuid_3.3.3.tgz";
-        url  = "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz";
-        sha1 = "4568f0216e78760ee1dbf3a4d2cf53e224112866";
-      };
-    }
-    {
       name = "uuid___uuid_3.4.0.tgz";
       path = fetchurl {
         name = "uuid___uuid_3.4.0.tgz";
@@ -6258,19 +5282,11 @@
       };
     }
     {
-      name = "v8_compile_cache___v8_compile_cache_2.1.1.tgz";
+      name = "v8_compile_cache___v8_compile_cache_2.3.0.tgz";
       path = fetchurl {
-        name = "v8_compile_cache___v8_compile_cache_2.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz";
-        sha1 = "54bc3cdd43317bca91e35dcaf305b1a7237de745";
-      };
-    }
-    {
-      name = "validate_npm_package_license___validate_npm_package_license_3.0.4.tgz";
-      path = fetchurl {
-        name = "validate_npm_package_license___validate_npm_package_license_3.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz";
-        sha1 = "fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a";
+        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";
       };
     }
     {
@@ -6298,30 +5314,6 @@
       };
     }
     {
-      name = "wcwidth___wcwidth_1.0.1.tgz";
-      path = fetchurl {
-        name = "wcwidth___wcwidth_1.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz";
-        sha1 = "f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8";
-      };
-    }
-    {
-      name = "which_module___which_module_2.0.0.tgz";
-      path = fetchurl {
-        name = "which_module___which_module_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz";
-        sha1 = "d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a";
-      };
-    }
-    {
-      name = "which___which_1.3.1.tgz";
-      path = fetchurl {
-        name = "which___which_1.3.1.tgz";
-        url  = "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz";
-        sha1 = "a45043d54f5805316da8d62f9f50918d3da70b0a";
-      };
-    }
-    {
       name = "which___which_2.0.2.tgz";
       path = fetchurl {
         name = "which___which_2.0.2.tgz";
@@ -6338,14 +5330,6 @@
       };
     }
     {
-      name = "widest_line___widest_line_2.0.1.tgz";
-      path = fetchurl {
-        name = "widest_line___widest_line_2.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/widest-line/-/widest-line-2.0.1.tgz";
-        sha1 = "7438764730ec7ef4381ce4df82fb98a53142a3fc";
-      };
-    }
-    {
       name = "widest_line___widest_line_3.1.0.tgz";
       path = fetchurl {
         name = "widest_line___widest_line_3.1.0.tgz";
@@ -6370,30 +5354,6 @@
       };
     }
     {
-      name = "worker_farm___worker_farm_1.7.0.tgz";
-      path = fetchurl {
-        name = "worker_farm___worker_farm_1.7.0.tgz";
-        url  = "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz";
-        sha1 = "26a94c5391bbca926152002f69b84a4bf772e5a8";
-      };
-    }
-    {
-      name = "wrap_ansi___wrap_ansi_2.1.0.tgz";
-      path = fetchurl {
-        name = "wrap_ansi___wrap_ansi_2.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz";
-        sha1 = "d8fc3d284dd05794fe84973caecdd1cf824fdd85";
-      };
-    }
-    {
-      name = "wrap_ansi___wrap_ansi_5.1.0.tgz";
-      path = fetchurl {
-        name = "wrap_ansi___wrap_ansi_5.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz";
-        sha1 = "1fd1f67235d5b6d0fee781056001bfb694c03b09";
-      };
-    }
-    {
       name = "wrap_ansi___wrap_ansi_7.0.0.tgz";
       path = fetchurl {
         name = "wrap_ansi___wrap_ansi_7.0.0.tgz";
@@ -6410,27 +5370,11 @@
       };
     }
     {
-      name = "write_file_atomic___write_file_atomic_2.4.3.tgz";
+      name = "write_file_atomic___write_file_atomic_3.0.3.tgz";
       path = fetchurl {
-        name = "write_file_atomic___write_file_atomic_2.4.3.tgz";
-        url  = "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz";
-        sha1 = "1fd2e9ae1df3e75b8d8c367443c692d4ca81f481";
-      };
-    }
-    {
-      name = "write_file_atomic___write_file_atomic_3.0.1.tgz";
-      path = fetchurl {
-        name = "write_file_atomic___write_file_atomic_3.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.1.tgz";
-        sha1 = "558328352e673b5bb192cf86500d60b230667d4b";
-      };
-    }
-    {
-      name = "xdg_basedir___xdg_basedir_3.0.0.tgz";
-      path = fetchurl {
-        name = "xdg_basedir___xdg_basedir_3.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz";
-        sha1 = "496b2cc109eca8dbacfe2dc72b603c17c5870ad4";
+        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";
       };
     }
     {
@@ -6442,11 +5386,11 @@
       };
     }
     {
-      name = "xhr___xhr_2.5.0.tgz";
+      name = "xhr___xhr_2.6.0.tgz";
       path = fetchurl {
-        name = "xhr___xhr_2.5.0.tgz";
-        url  = "https://registry.yarnpkg.com/xhr/-/xhr-2.5.0.tgz";
-        sha1 = "bed8d1676d5ca36108667692b74b316c496e49dd";
+        name = "xhr___xhr_2.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/xhr/-/xhr-2.6.0.tgz";
+        sha1 = "b69d4395e792b4173d6b7df077f0fc5e4e2b249d";
       };
     }
     {
@@ -6458,11 +5402,11 @@
       };
     }
     {
-      name = "xml2js___xml2js_0.4.22.tgz";
+      name = "xml2js___xml2js_0.4.23.tgz";
       path = fetchurl {
-        name = "xml2js___xml2js_0.4.22.tgz";
-        url  = "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.22.tgz";
-        sha1 = "4fa2d846ec803237de86f30aa9b5f70b6600de02";
+        name = "xml2js___xml2js_0.4.23.tgz";
+        url  = "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.23.tgz";
+        sha1 = "a0c69516752421eb2ac758ee4d4ccf58843eac66";
       };
     }
     {
@@ -6506,27 +5450,11 @@
       };
     }
     {
-      name = "y18n___y18n_3.2.2.tgz";
+      name = "y18n___y18n_5.0.8.tgz";
       path = fetchurl {
-        name = "y18n___y18n_3.2.2.tgz";
-        url  = "https://registry.yarnpkg.com/y18n/-/y18n-3.2.2.tgz";
-        sha1 = "85c901bd6470ce71fc4bb723ad209b70f7f28696";
-      };
-    }
-    {
-      name = "y18n___y18n_4.0.3.tgz";
-      path = fetchurl {
-        name = "y18n___y18n_4.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz";
-        sha1 = "b5f259c82cd6e336921efd7bfd8bf560de9eeedf";
-      };
-    }
-    {
-      name = "y18n___y18n_5.0.5.tgz";
-      path = fetchurl {
-        name = "y18n___y18n_5.0.5.tgz";
-        url  = "https://registry.yarnpkg.com/y18n/-/y18n-5.0.5.tgz";
-        sha1 = "8769ec08d03b1ea2df2500acef561743bbb9ab18";
+        name = "y18n___y18n_5.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz";
+        sha1 = "7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55";
       };
     }
     {
@@ -6538,14 +5466,6 @@
       };
     }
     {
-      name = "yallist___yallist_2.1.2.tgz";
-      path = fetchurl {
-        name = "yallist___yallist_2.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz";
-        sha1 = "1c11f9218f076089a47dd512f93c6699a6a81d52";
-      };
-    }
-    {
       name = "yallist___yallist_3.1.1.tgz";
       path = fetchurl {
         name = "yallist___yallist_3.1.1.tgz";
@@ -6562,35 +5482,11 @@
       };
     }
     {
-      name = "yargs_parser___yargs_parser_15.0.1.tgz";
-      path = fetchurl {
-        name = "yargs_parser___yargs_parser_15.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-15.0.1.tgz";
-        sha1 = "54786af40b820dcb2fb8025b11b4d659d76323b3";
-      };
-    }
-    {
-      name = "yargs_parser___yargs_parser_20.2.4.tgz";
-      path = fetchurl {
-        name = "yargs_parser___yargs_parser_20.2.4.tgz";
-        url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz";
-        sha1 = "b42890f14566796f85ae8e3a25290d205f154a54";
-      };
-    }
-    {
-      name = "yargs_parser___yargs_parser_7.0.0.tgz";
-      path = fetchurl {
-        name = "yargs_parser___yargs_parser_7.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz";
-        sha1 = "8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9";
-      };
-    }
-    {
-      name = "yargs___yargs_14.2.3.tgz";
+      name = "yargs_parser___yargs_parser_20.2.9.tgz";
       path = fetchurl {
-        name = "yargs___yargs_14.2.3.tgz";
-        url  = "https://registry.yarnpkg.com/yargs/-/yargs-14.2.3.tgz";
-        sha1 = "1a1c3edced1afb2a2fea33604bc6d1d8d688a414";
+        name = "yargs_parser___yargs_parser_20.2.9.tgz";
+        url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz";
+        sha1 = "2eb7dc3b0289718fc295f362753845c41a0c94ee";
       };
     }
     {
@@ -6602,11 +5498,11 @@
       };
     }
     {
-      name = "yargs___yargs_8.0.2.tgz";
+      name = "yauzl___yauzl_2.10.0.tgz";
       path = fetchurl {
-        name = "yargs___yargs_8.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz";
-        sha1 = "6299a9055b1cefc969ff7e79c1d918dceb22c360";
+        name = "yauzl___yauzl_2.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz";
+        sha1 = "c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9";
       };
     }
     {
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/element/element-desktop.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/element/element-desktop.nix
index f8f4d31d6ec1..1cd7921cb9bd 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/element/element-desktop.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/element/element-desktop.nix
@@ -1,6 +1,17 @@
-{ lib, fetchFromGitHub
-, makeWrapper, makeDesktopItem, mkYarnPackage
-, electron, element-web
+{ lib
+, stdenv
+, fetchFromGitHub
+, makeWrapper
+, makeDesktopItem
+, mkYarnPackage
+, electron
+, element-web
+, callPackage
+, Security
+, AppKit
+, CoreServices
+
+, useWayland ? false
 }:
 # Notes for maintainers:
 # * versions of `element-web` and `element-desktop` should be kept in sync.
@@ -8,14 +19,16 @@
 
 let
   executableName = "element-desktop";
-  version = "1.7.31";
+  version = "1.8.2";
   src = fetchFromGitHub {
     owner = "vector-im";
     repo = "element-desktop";
     rev = "v${version}";
-    sha256 = "14vyqzf69g4n3i7qjm1pgq2kwym6cira0jwvirzdrwxkfsl0dsq6";
+    sha256 = "sha256-6DPMfx3LF45YWn2do02zDMLYZGBgBrOMJx3XBAO0ZyM=";
   };
-in mkYarnPackage rec {
+  electron_exec = if stdenv.isDarwin then "${electron}/Applications/Electron.app/Contents/MacOS/Electron" else "${electron}/bin/electron";
+in
+mkYarnPackage rec {
   name = "element-desktop-${version}";
   inherit version src;
 
@@ -24,6 +37,23 @@ in mkYarnPackage rec {
 
   nativeBuildInputs = [ makeWrapper ];
 
+  seshat = callPackage ./seshat { inherit CoreServices; };
+  keytar = callPackage ./keytar { inherit Security AppKit; };
+
+  buildPhase = ''
+    runHook preBuild
+    export HOME=$(mktemp -d)
+    pushd deps/element-desktop/
+    npx tsc
+    yarn run i18n
+    node ./scripts/copy-res.js
+    popd
+    rm -rf node_modules/matrix-seshat node_modules/keytar
+    ln -s $keytar node_modules/keytar
+    ln -s $seshat node_modules/matrix-seshat
+    runHook postBuild
+  '';
+
   installPhase = ''
     # resources
     mkdir -p "$out/share/element"
@@ -32,6 +62,8 @@ in mkYarnPackage rec {
     cp -r './deps/element-desktop/res/img' "$out/share/element"
     rm "$out/share/element/electron/node_modules"
     cp -r './node_modules' "$out/share/element/electron"
+    cp $out/share/element/electron/lib/i18n/strings/en_EN.json $out/share/element/electron/lib/i18n/strings/en-us.json
+    ln -s $out/share/element/electron/lib/i18n/strings/en{-us,}.json
 
     # icons
     for icon in $out/share/element/electron/build/icons/*.png; do
@@ -44,8 +76,8 @@ in mkYarnPackage rec {
     ln -s "${desktopItem}/share/applications" "$out/share/applications"
 
     # executable wrapper
-    makeWrapper '${electron}/bin/electron' "$out/bin/${executableName}" \
-      --add-flags "$out/share/element/electron"
+    makeWrapper '${electron_exec}' "$out/bin/${executableName}" \
+      --add-flags "$out/share/element/electron${lib.optionalString useWayland " --enable-features=UseOzonePlatform --ozone-platform=wayland"}"
   '';
 
   # Do not attempt generating a tarball for element-web again.
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/element/element-web.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/element/element-web.nix
index d9aec35b04b1..fdea75c78af7 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/element/element-web.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/element/element-web.nix
@@ -12,11 +12,11 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "element-web";
-  version = "1.7.31";
+  version = "1.8.2";
 
   src = fetchurl {
     url = "https://github.com/vector-im/element-web/releases/download/v${version}/element-v${version}.tar.gz";
-    sha256 = "1p0vg5bkri7qiqv5yic56hjjbb5zvhvyzsm5zi7fx3yb7zdxmr3f";
+    sha256 = "sha256-SgVxYPmdgFn6Nll1a6b1Sn2H5I0Vkjorn3gA9d5FamQ=";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/element/keytar/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/element/keytar/default.nix
new file mode 100644
index 000000000000..f848601874a4
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/element/keytar/default.nix
@@ -0,0 +1,46 @@
+{ lib, stdenv, fetchFromGitHub, nodejs-14_x, python3, callPackage
+, fixup_yarn_lock, yarn, pkg-config, libsecret, xcbuild, Security, AppKit }:
+
+stdenv.mkDerivation rec {
+  pname = "keytar";
+  version = "7.7.0";
+
+  src = fetchFromGitHub {
+    owner = "atom";
+    repo = "node-keytar";
+    rev = "v${version}";
+    sha256 = "0ajvr4kjbyw2shb1y14c0dsghdlnq30f19hk2sbzj6n9y3xa3pmi";
+  };
+
+  nativeBuildInputs = [ nodejs-14_x python3 yarn pkg-config ]
+    ++ lib.optional  stdenv.isDarwin xcbuild;
+  buildInputs = lib.optionals (!stdenv.isDarwin) [ libsecret ]
+    ++ lib.optionals stdenv.isDarwin [ Security AppKit ];
+
+  npm_config_nodedir = nodejs-14_x;
+
+  yarnOfflineCache = (callPackage ./yarn.nix {}).offline_cache;
+
+  buildPhase = ''
+    cp ${./yarn.lock} ./yarn.lock
+    chmod u+w . ./yarn.lock
+    export HOME=$PWD/tmp
+    mkdir -p $HOME
+    yarn config --offline set yarn-offline-mirror ${yarnOfflineCache}
+    ${fixup_yarn_lock}/bin/fixup_yarn_lock yarn.lock
+    yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive
+    patchShebangs node_modules/
+    node_modules/.bin/node-gyp rebuild
+  '';
+
+  doCheck = false;
+
+  installPhase = ''
+    shopt -s extglob
+    rm -rf node_modules
+    rm -rf $HOME
+    mkdir -p $out
+    cp -r ./!(build) $out
+    install -D -t $out/build/Release build/Release/keytar.node
+  '';
+}
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/element/keytar/update.sh b/nixpkgs/pkgs/applications/networking/instant-messengers/element/keytar/update.sh
new file mode 100755
index 000000000000..11d986f4fdac
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/element/keytar/update.sh
@@ -0,0 +1,19 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -I nixpkgs=../ -i bash -p wget yarn2nix yarn
+
+set -euo pipefail
+
+if [ "$#" -ne 1 ] || [[ "$1" == -* ]]; then
+  echo "Regenerates the Yarn dependency lock files."
+  echo "Usage: $0 <git release tag>"
+  exit 1
+fi
+
+SRC="https://raw.githubusercontent.com/atom/node-keytar/$1"
+
+wget "$SRC/package-lock.json"
+wget "$SRC/package.json"
+rm -f yarn.lock
+yarn import
+yarn2nix > yarn.nix
+rm -rf node_modules package.json package-lock.json
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/element/keytar/yarn.lock b/nixpkgs/pkgs/applications/networking/instant-messengers/element/keytar/yarn.lock
new file mode 100644
index 000000000000..5a3abec6ded8
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/element/keytar/yarn.lock
@@ -0,0 +1,2531 @@
+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
+# yarn lockfile v1
+
+
+"@ungap/promise-all-settled@1.1.2":
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44"
+  integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==
+
+abbrev@1:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.0.tgz#d0554c2256636e2f56e7c2e5ad183f859428d81f"
+  integrity sha1-0FVMIlZjbi9W58LlrRg/hZQo2B8=
+
+after@~0.8.1:
+  version "0.8.2"
+  resolved "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz#fedb394f9f0e02aa9768e702bda23b505fae7e1f"
+  integrity sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=
+
+ajv@^6.12.3:
+  version "6.12.4"
+  resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.4.tgz#0614facc4522127fa713445c6bfd3ebd376e2234"
+  integrity sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ==
+  dependencies:
+    fast-deep-equal "^3.1.1"
+    fast-json-stable-stringify "^2.0.0"
+    json-schema-traverse "^0.4.1"
+    uri-js "^4.2.2"
+
+amdefine@>=0.0.4:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
+  integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=
+
+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==
+
+ansi-regex@^2.0.0:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
+  integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8=
+
+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-styles@^2.2.1:
+  version "2.2.1"
+  resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
+  integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=
+
+ansi-styles@^4.0.0, ansi-styles@^4.1.0:
+  version "4.3.0"
+  resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
+  integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
+  dependencies:
+    color-convert "^2.0.1"
+
+ansi@^0.3.0, ansi@~0.3.0, ansi@~0.3.1:
+  version "0.3.1"
+  resolved "https://registry.yarnpkg.com/ansi/-/ansi-0.3.1.tgz#0c42d4fb17160d5a9af1e484bace1c66922c1b21"
+  integrity sha1-DELU+xcWDVqa8eSEus4cZpIsGyE=
+
+anymatch@~3.1.1:
+  version "3.1.1"
+  resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142"
+  integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==
+  dependencies:
+    normalize-path "^3.0.0"
+    picomatch "^2.0.4"
+
+aproba@^1.0.3:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.2.tgz#45c6629094de4e96f693ef7eab74ae079c240fc1"
+  integrity sha512-ZpYajIfO0j2cOFTO955KUMIKNmj6zhX8kVztMAxFsDaMwz+9Z9SV0uou2pC9HJqcfpffOsjnbrDMvkNy+9RXPw==
+
+are-we-there-yet@~1.0.0:
+  version "1.0.6"
+  resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.0.6.tgz#a2d28c93102aa6cc96245a26cb954de06ec53f0c"
+  integrity sha1-otKMkxAqpsyWJFomy5VN4G7FPww=
+  dependencies:
+    delegates "^1.0.0"
+    readable-stream "^2.0.0 || ^1.1.13"
+
+are-we-there-yet@~1.1.2:
+  version "1.1.4"
+  resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d"
+  integrity sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=
+  dependencies:
+    delegates "^1.0.0"
+    readable-stream "^2.0.6"
+
+argparse@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
+  integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
+
+array-index@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/array-index/-/array-index-1.0.0.tgz#ec56a749ee103e4e08c790b9c353df16055b97f9"
+  integrity sha1-7FanSe4QPk4Ix5C5w1PfFgVbl/k=
+  dependencies:
+    debug "^2.2.0"
+    es6-symbol "^3.0.2"
+
+asn1@~0.2.3:
+  version "0.2.3"
+  resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86"
+  integrity sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=
+
+assert-plus@1.0.0, assert-plus@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
+  integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=
+
+assertion-error@^1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b"
+  integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==
+
+asynckit@^0.4.0:
+  version "0.4.0"
+  resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
+  integrity sha1-x57Zf380y48robyXkLzDZkdLS3k=
+
+aws-sign2@~0.7.0:
+  version "0.7.0"
+  resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
+  integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=
+
+aws4@^1.8.0:
+  version "1.10.1"
+  resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.10.1.tgz#e1e82e4f3e999e2cfd61b161280d16a111f86428"
+  integrity sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA==
+
+babel-code-frame@^6.26.0:
+  version "6.26.0"
+  resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
+  integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=
+  dependencies:
+    chalk "^1.1.3"
+    esutils "^2.0.2"
+    js-tokens "^3.0.2"
+
+babel-core@^6.26.0, babel-core@^6.26.3:
+  version "6.26.3"
+  resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207"
+  integrity sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==
+  dependencies:
+    babel-code-frame "^6.26.0"
+    babel-generator "^6.26.0"
+    babel-helpers "^6.24.1"
+    babel-messages "^6.23.0"
+    babel-register "^6.26.0"
+    babel-runtime "^6.26.0"
+    babel-template "^6.26.0"
+    babel-traverse "^6.26.0"
+    babel-types "^6.26.0"
+    babylon "^6.18.0"
+    convert-source-map "^1.5.1"
+    debug "^2.6.9"
+    json5 "^0.5.1"
+    lodash "^4.17.4"
+    minimatch "^3.0.4"
+    path-is-absolute "^1.0.1"
+    private "^0.1.8"
+    slash "^1.0.0"
+    source-map "^0.5.7"
+
+babel-generator@^6.26.0:
+  version "6.26.1"
+  resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90"
+  integrity sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==
+  dependencies:
+    babel-messages "^6.23.0"
+    babel-runtime "^6.26.0"
+    babel-types "^6.26.0"
+    detect-indent "^4.0.0"
+    jsesc "^1.3.0"
+    lodash "^4.17.4"
+    source-map "^0.5.7"
+    trim-right "^1.0.1"
+
+babel-helper-function-name@^6.24.1:
+  version "6.24.1"
+  resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9"
+  integrity sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=
+  dependencies:
+    babel-helper-get-function-arity "^6.24.1"
+    babel-runtime "^6.22.0"
+    babel-template "^6.24.1"
+    babel-traverse "^6.24.1"
+    babel-types "^6.24.1"
+
+babel-helper-get-function-arity@^6.24.1:
+  version "6.24.1"
+  resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d"
+  integrity sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=
+  dependencies:
+    babel-runtime "^6.22.0"
+    babel-types "^6.24.1"
+
+babel-helper-remap-async-to-generator@^6.24.1:
+  version "6.24.1"
+  resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b"
+  integrity sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=
+  dependencies:
+    babel-helper-function-name "^6.24.1"
+    babel-runtime "^6.22.0"
+    babel-template "^6.24.1"
+    babel-traverse "^6.24.1"
+    babel-types "^6.24.1"
+
+babel-helpers@^6.24.1:
+  version "6.24.1"
+  resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2"
+  integrity sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=
+  dependencies:
+    babel-runtime "^6.22.0"
+    babel-template "^6.24.1"
+
+babel-messages@^6.23.0:
+  version "6.23.0"
+  resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e"
+  integrity sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=
+  dependencies:
+    babel-runtime "^6.22.0"
+
+babel-plugin-syntax-async-functions@^6.8.0:
+  version "6.13.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95"
+  integrity sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=
+
+babel-plugin-transform-async-to-generator@^6.24.1:
+  version "6.24.1"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761"
+  integrity sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=
+  dependencies:
+    babel-helper-remap-async-to-generator "^6.24.1"
+    babel-plugin-syntax-async-functions "^6.8.0"
+    babel-runtime "^6.22.0"
+
+babel-register@^6.26.0:
+  version "6.26.0"
+  resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071"
+  integrity sha1-btAhFz4vy0htestFxgCahW9kcHE=
+  dependencies:
+    babel-core "^6.26.0"
+    babel-runtime "^6.26.0"
+    core-js "^2.5.0"
+    home-or-tmp "^2.0.0"
+    lodash "^4.17.4"
+    mkdirp "^0.5.1"
+    source-map-support "^0.4.15"
+
+babel-runtime@^6.22.0:
+  version "6.23.0"
+  resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b"
+  integrity sha1-CpSJ8UTecO+zzkMArM2zKeL8VDs=
+  dependencies:
+    core-js "^2.4.0"
+    regenerator-runtime "^0.10.0"
+
+babel-runtime@^6.26.0:
+  version "6.26.0"
+  resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
+  integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4=
+  dependencies:
+    core-js "^2.4.0"
+    regenerator-runtime "^0.11.0"
+
+babel-template@^6.24.1, babel-template@^6.26.0:
+  version "6.26.0"
+  resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02"
+  integrity sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=
+  dependencies:
+    babel-runtime "^6.26.0"
+    babel-traverse "^6.26.0"
+    babel-types "^6.26.0"
+    babylon "^6.18.0"
+    lodash "^4.17.4"
+
+babel-traverse@^6.24.1, babel-traverse@^6.26.0:
+  version "6.26.0"
+  resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee"
+  integrity sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=
+  dependencies:
+    babel-code-frame "^6.26.0"
+    babel-messages "^6.23.0"
+    babel-runtime "^6.26.0"
+    babel-types "^6.26.0"
+    babylon "^6.18.0"
+    debug "^2.6.8"
+    globals "^9.18.0"
+    invariant "^2.2.2"
+    lodash "^4.17.4"
+
+babel-types@^6.24.1:
+  version "6.25.0"
+  resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.25.0.tgz#70afb248d5660e5d18f811d91c8303b54134a18e"
+  integrity sha1-cK+ySNVmDl0Y+BHZHIMDtUE0oY4=
+  dependencies:
+    babel-runtime "^6.22.0"
+    esutils "^2.0.2"
+    lodash "^4.2.0"
+    to-fast-properties "^1.0.1"
+
+babel-types@^6.26.0:
+  version "6.26.0"
+  resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497"
+  integrity sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=
+  dependencies:
+    babel-runtime "^6.26.0"
+    esutils "^2.0.2"
+    lodash "^4.17.4"
+    to-fast-properties "^1.0.3"
+
+babylon@^6.18.0:
+  version "6.18.0"
+  resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3"
+  integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==
+
+balanced-match@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
+  integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
+
+base64-js@^1.3.1:
+  version "1.5.1"
+  resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
+  integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
+
+bcrypt-pbkdf@^1.0.0:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"
+  integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=
+  dependencies:
+    tweetnacl "^0.14.3"
+
+big-integer@^1.6.17:
+  version "1.6.48"
+  resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.48.tgz#8fd88bd1632cba4a1c8c3e3d7159f08bb95b4b9e"
+  integrity sha512-j51egjPa7/i+RdiRuJbPdJ2FIUYYPhvYLjzoYbcMMm62ooO6F94fETG4MTs46zPAF9Brs04OajboA/qTGuz78w==
+
+binary-extensions@^2.0.0:
+  version "2.2.0"
+  resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
+  integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
+
+binary@~0.3.0:
+  version "0.3.0"
+  resolved "https://registry.yarnpkg.com/binary/-/binary-0.3.0.tgz#9f60553bc5ce8c3386f3b553cff47462adecaa79"
+  integrity sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk=
+  dependencies:
+    buffers "~0.1.1"
+    chainsaw "~0.1.0"
+
+bl@^4.0.3:
+  version "4.0.3"
+  resolved "https://registry.yarnpkg.com/bl/-/bl-4.0.3.tgz#12d6287adc29080e22a705e5764b2a9522cdc489"
+  integrity sha512-fs4G6/Hu4/EE+F75J8DuN/0IpQqNjAdC7aEQv7Qt8MHGUH7Ckv2MwTEEeN9QehD0pfIDkMI1bkHYkKy7xHyKIg==
+  dependencies:
+    buffer "^5.5.0"
+    inherits "^2.0.4"
+    readable-stream "^3.4.0"
+
+bl@~3.0.0:
+  version "3.0.1"
+  resolved "https://registry.yarnpkg.com/bl/-/bl-3.0.1.tgz#1cbb439299609e419b5a74d7fce2f8b37d8e5c6f"
+  integrity sha512-jrCW5ZhfQ/Vt07WX1Ngs+yn9BDqPL/gw28S7s9H6QK/gupnizNzJAss5akW20ISgOrbLTlXOOCTJeNUQqruAWQ==
+  dependencies:
+    readable-stream "^3.0.1"
+
+block-stream@*:
+  version "0.0.9"
+  resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a"
+  integrity sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=
+  dependencies:
+    inherits "~2.0.0"
+
+bluebird@^3:
+  version "3.7.2"
+  resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
+  integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
+
+bluebird@~3.4.1:
+  version "3.4.7"
+  resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.7.tgz#f72d760be09b7f76d08ed8fae98b289a8d05fab3"
+  integrity sha1-9y12C+Cbf3bQjtj66Ysomo0F+rM=
+
+brace-expansion@^1.1.7:
+  version "1.1.8"
+  resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292"
+  integrity sha1-wHshHHyVLsH479Uad+8NHTmQopI=
+  dependencies:
+    balanced-match "^1.0.0"
+    concat-map "0.0.1"
+
+braces@~3.0.2:
+  version "3.0.2"
+  resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
+  integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
+  dependencies:
+    fill-range "^7.0.1"
+
+browser-stdout@1.3.1:
+  version "1.3.1"
+  resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60"
+  integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==
+
+buffer-from@^0.1.1:
+  version "0.1.2"
+  resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-0.1.2.tgz#15f4b9bcef012044df31142c14333caf6e0260d0"
+  integrity sha512-RiWIenusJsmI2KcvqQABB83tLxCByE3upSP8QU3rJDMVFGPWLvPQJt/O1Su9moRWeH7d+Q2HYb68f6+v+tw2vg==
+
+buffer-indexof-polyfill@~1.0.0:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.2.tgz#d2732135c5999c64b277fcf9b1abe3498254729c"
+  integrity sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A==
+
+buffer-shims@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51"
+  integrity sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=
+
+buffer@^5.5.0:
+  version "5.7.1"
+  resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0"
+  integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==
+  dependencies:
+    base64-js "^1.3.1"
+    ieee754 "^1.1.13"
+
+buffers@~0.1.1:
+  version "0.1.1"
+  resolved "https://registry.yarnpkg.com/buffers/-/buffers-0.1.1.tgz#b24579c3bed4d6d396aeee6d9a8ae7f5482ab7bb"
+  integrity sha1-skV5w77U1tOWru5tmorn9Ugqt7s=
+
+camelcase@^2.0.1:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f"
+  integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=
+
+camelcase@^6.0.0:
+  version "6.2.0"
+  resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809"
+  integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==
+
+caseless@~0.12.0:
+  version "0.12.0"
+  resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
+  integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=
+
+chai@^4.2.0:
+  version "4.3.4"
+  resolved "https://registry.yarnpkg.com/chai/-/chai-4.3.4.tgz#b55e655b31e1eac7099be4c08c21964fce2e6c49"
+  integrity sha512-yS5H68VYOCtN1cjfwumDSuzn/9c+yza4f3reKXlE5rUg7SFcCEy90gJvydNgOYtblyf4Zi6jIWRnXOgErta0KA==
+  dependencies:
+    assertion-error "^1.1.0"
+    check-error "^1.0.2"
+    deep-eql "^3.0.1"
+    get-func-name "^2.0.0"
+    pathval "^1.1.1"
+    type-detect "^4.0.5"
+
+chainsaw@~0.1.0:
+  version "0.1.0"
+  resolved "https://registry.yarnpkg.com/chainsaw/-/chainsaw-0.1.0.tgz#5eab50b28afe58074d0d58291388828b5e5fbc98"
+  integrity sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=
+  dependencies:
+    traverse ">=0.3.0 <0.4"
+
+chalk@^1.1.3:
+  version "1.1.3"
+  resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
+  integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=
+  dependencies:
+    ansi-styles "^2.2.1"
+    escape-string-regexp "^1.0.2"
+    has-ansi "^2.0.0"
+    strip-ansi "^3.0.0"
+    supports-color "^2.0.0"
+
+chalk@^4.0.0:
+  version "4.1.0"
+  resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a"
+  integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==
+  dependencies:
+    ansi-styles "^4.1.0"
+    supports-color "^7.1.0"
+
+check-error@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82"
+  integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=
+
+chokidar@3.5.1:
+  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==
+  dependencies:
+    anymatch "~3.1.1"
+    braces "~3.0.2"
+    glob-parent "~5.1.0"
+    is-binary-path "~2.1.0"
+    is-glob "~4.0.1"
+    normalize-path "~3.0.0"
+    readdirp "~3.5.0"
+  optionalDependencies:
+    fsevents "~2.3.1"
+
+chownr@^1.1.1:
+  version "1.1.4"
+  resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b"
+  integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==
+
+chownr@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece"
+  integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==
+
+cliui@^3.0.3:
+  version "3.2.0"
+  resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d"
+  integrity sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=
+  dependencies:
+    string-width "^1.0.1"
+    strip-ansi "^3.0.1"
+    wrap-ansi "^2.0.0"
+
+cliui@^7.0.2:
+  version "7.0.4"
+  resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f"
+  integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==
+  dependencies:
+    string-width "^4.2.0"
+    strip-ansi "^6.0.0"
+    wrap-ansi "^7.0.0"
+
+cmake-js@~5.2.0:
+  version "5.2.0"
+  resolved "https://registry.yarnpkg.com/cmake-js/-/cmake-js-5.2.0.tgz#6d72014269a5d23a754a6d170cde9ed2d75eb411"
+  integrity sha512-/HLhzoBEOLKGdE1FLwH5ggzRt67AWTb4IErg4rm+bTC+R0DKUobojDyp17dSswDVPosdoPmHXjKxbJiyBZfQeg==
+  dependencies:
+    bluebird "^3"
+    debug "^4"
+    fs-extra "^5.0.0"
+    is-iojs "^1.0.1"
+    lodash "^4"
+    memory-stream "0"
+    npmlog "^1.2.0"
+    rc "^1.2.7"
+    request "^2.54.0"
+    semver "^5.0.3"
+    splitargs "0"
+    tar "^4"
+    traceur "0.0.x"
+    unzipper "^0.8.13"
+    url-join "0"
+    which "^1.0.9"
+    yargs "^3.6.0"
+
+code-point-at@^1.0.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
+  integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=
+
+color-convert@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
+  integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
+  dependencies:
+    color-name "~1.1.4"
+
+color-name@~1.1.4:
+  version "1.1.4"
+  resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
+  integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
+
+colors@~0.6.2:
+  version "0.6.2"
+  resolved "https://registry.yarnpkg.com/colors/-/colors-0.6.2.tgz#2423fe6678ac0c5dae8852e5d0e5be08c997abcc"
+  integrity sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=
+
+combined-stream@^1.0.6, combined-stream@~1.0.6:
+  version "1.0.8"
+  resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
+  integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
+  dependencies:
+    delayed-stream "~1.0.0"
+
+commander@2.9.x, commander@^2.9.0:
+  version "2.9.0"
+  resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4"
+  integrity sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=
+  dependencies:
+    graceful-readlink ">= 1.0.0"
+
+commander@~2.2.0:
+  version "2.2.0"
+  resolved "https://registry.yarnpkg.com/commander/-/commander-2.2.0.tgz#175ad4b9317f3ff615f201c1e57224f55a3e91df"
+  integrity sha1-F1rUuTF/P/YV8gHB5XIk9Vo+kd8=
+
+concat-map@0.0.1:
+  version "0.0.1"
+  resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
+  integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
+
+console-control-strings@^1.0.0, console-control-strings@~1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
+  integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=
+
+convert-source-map@^1.5.1:
+  version "1.5.1"
+  resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5"
+  integrity sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=
+
+core-js@^2.4.0:
+  version "2.4.1"
+  resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e"
+  integrity sha1-TekR5mew6ukSTjQlS1OupvxhjT4=
+
+core-js@^2.5.0:
+  version "2.5.7"
+  resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.7.tgz#f972608ff0cead68b841a16a932d0b183791814e"
+  integrity sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==
+
+core-util-is@~1.0.0:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
+  integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
+
+d@1, d@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a"
+  integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==
+  dependencies:
+    es5-ext "^0.10.50"
+    type "^1.0.1"
+
+dashdash@^1.12.0:
+  version "1.14.1"
+  resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
+  integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=
+  dependencies:
+    assert-plus "^1.0.0"
+
+debug@4.3.1:
+  version "4.3.1"
+  resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee"
+  integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==
+  dependencies:
+    ms "2.1.2"
+
+debug@^2.2.0, 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:
+  version "4.2.0"
+  resolved "https://registry.yarnpkg.com/debug/-/debug-4.2.0.tgz#7f150f93920e94c58f5574c2fd01a3110effe7f1"
+  integrity sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==
+  dependencies:
+    ms "2.1.2"
+
+decamelize@^1.1.1:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
+  integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
+
+decamelize@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837"
+  integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==
+
+decompress-response@^4.2.0:
+  version "4.2.1"
+  resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-4.2.1.tgz#414023cc7a302da25ce2ec82d0d5238ccafd8986"
+  integrity sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==
+  dependencies:
+    mimic-response "^2.0.0"
+
+deep-eql@^3.0.1:
+  version "3.0.1"
+  resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df"
+  integrity sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==
+  dependencies:
+    type-detect "^4.0.0"
+
+deep-extend@^0.6.0:
+  version "0.6.0"
+  resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
+  integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
+
+delayed-stream@~1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
+  integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
+
+delegates@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
+  integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=
+
+detect-indent@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208"
+  integrity sha1-920GQ1LN9Docts5hnE7jqUdd4gg=
+  dependencies:
+    repeating "^2.0.0"
+
+detect-libc@^1.0.3:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
+  integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=
+
+diff@5.0.0:
+  version "5.0.0"
+  resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b"
+  integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==
+
+duplexer2@~0.0.2:
+  version "0.0.2"
+  resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db"
+  integrity sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=
+  dependencies:
+    readable-stream "~1.1.9"
+
+duplexer2@~0.1.4:
+  version "0.1.4"
+  resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1"
+  integrity sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=
+  dependencies:
+    readable-stream "^2.0.2"
+
+each-series-async@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/each-series-async/-/each-series-async-1.0.1.tgz#7e3f8dfa5af934663960e5a17561362909b34328"
+  integrity sha512-G4zip/Ewpwr6JQxW7+2RNgkPd09h/UNec5UlvA/xKwl4qf5blyBNK6a/zjQc3MojgsxaOb93B9v3T92QU6IMVg==
+
+ecc-jsbn@~0.1.1:
+  version "0.1.1"
+  resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505"
+  integrity sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=
+  dependencies:
+    jsbn "~0.1.0"
+
+emoji-regex@^8.0.0:
+  version "8.0.0"
+  resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
+  integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
+
+end-of-stream@^1.1.0, end-of-stream@^1.4.1:
+  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"
+
+env-paths@^2.2.0:
+  version "2.2.0"
+  resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.0.tgz#cdca557dc009152917d6166e2febe1f039685e43"
+  integrity sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA==
+
+es5-ext@^0.10.35, es5-ext@^0.10.50:
+  version "0.10.53"
+  resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.53.tgz#93c5a3acfdbef275220ad72644ad02ee18368de1"
+  integrity sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==
+  dependencies:
+    es6-iterator "~2.0.3"
+    es6-symbol "~3.1.3"
+    next-tick "~1.0.0"
+
+es6-iterator@~2.0.3:
+  version "2.0.3"
+  resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7"
+  integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c=
+  dependencies:
+    d "1"
+    es5-ext "^0.10.35"
+    es6-symbol "^3.1.1"
+
+es6-symbol@^3.0.2, es6-symbol@^3.1.1, es6-symbol@~3.1.3:
+  version "3.1.3"
+  resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18"
+  integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==
+  dependencies:
+    d "^1.0.1"
+    ext "^1.1.2"
+
+escalade@^3.1.1:
+  version "3.1.1"
+  resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
+  integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
+
+escape-string-regexp@4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
+  integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
+
+escape-string-regexp@^1.0.2:
+  version "1.0.5"
+  resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
+  integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
+
+esutils@^2.0.2:
+  version "2.0.2"
+  resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
+  integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=
+
+execspawn@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/execspawn/-/execspawn-1.0.1.tgz#8286f9dde7cecde7905fbdc04e24f368f23f8da6"
+  integrity sha1-gob53efOzeeQX73ATiTzaPI/jaY=
+  dependencies:
+    util-extend "^1.0.1"
+
+expand-template@^2.0.3:
+  version "2.0.3"
+  resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c"
+  integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==
+
+ext@^1.1.2:
+  version "1.4.0"
+  resolved "https://registry.yarnpkg.com/ext/-/ext-1.4.0.tgz#89ae7a07158f79d35517882904324077e4379244"
+  integrity sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==
+  dependencies:
+    type "^2.0.0"
+
+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==
+
+extsprintf@1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550"
+  integrity sha1-4QgOBljjALBilJkMxw4VAiNf1VA=
+
+fast-deep-equal@^3.1.1:
+  version "3.1.3"
+  resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
+  integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
+
+fast-json-stable-stringify@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
+  integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I=
+
+fill-range@^7.0.1:
+  version "7.0.1"
+  resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
+  integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
+  dependencies:
+    to-regex-range "^5.0.1"
+
+find-up@5.0.0:
+  version "5.0.0"
+  resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc"
+  integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==
+  dependencies:
+    locate-path "^6.0.0"
+    path-exists "^4.0.0"
+
+flat@^5.0.2:
+  version "5.0.2"
+  resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241"
+  integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==
+
+forever-agent@~0.6.1:
+  version "0.6.1"
+  resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
+  integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=
+
+form-data@~2.3.2:
+  version "2.3.3"
+  resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"
+  integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==
+  dependencies:
+    asynckit "^0.4.0"
+    combined-stream "^1.0.6"
+    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==
+
+fs-extra@^5.0.0:
+  version "5.0.0"
+  resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-5.0.0.tgz#414d0110cdd06705734d055652c5411260c31abd"
+  integrity sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==
+  dependencies:
+    graceful-fs "^4.1.2"
+    jsonfile "^4.0.0"
+    universalify "^0.1.0"
+
+fs-minipass@^1.2.5:
+  version "1.2.7"
+  resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7"
+  integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==
+  dependencies:
+    minipass "^2.6.0"
+
+fs-minipass@^2.0.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb"
+  integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==
+  dependencies:
+    minipass "^3.0.0"
+
+fs.realpath@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
+  integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
+
+fsevents@~2.3.1:
+  version "2.3.2"
+  resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
+  integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
+
+fstream@^1.0.0, fstream@^1.0.12, fstream@~1.0.10:
+  version "1.0.12"
+  resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045"
+  integrity sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==
+  dependencies:
+    graceful-fs "^4.1.2"
+    inherits "~2.0.0"
+    mkdirp ">=0.5 0"
+    rimraf "2"
+
+gauge@~1.2.0, gauge@~1.2.5:
+  version "1.2.7"
+  resolved "https://registry.yarnpkg.com/gauge/-/gauge-1.2.7.tgz#e9cec5483d3d4ee0ef44b60a7d99e4935e136d93"
+  integrity sha1-6c7FSD09TuDvRLYKfZnkk14TbZM=
+  dependencies:
+    ansi "^0.3.0"
+    has-unicode "^2.0.0"
+    lodash.pad "^4.1.0"
+    lodash.padend "^4.1.0"
+    lodash.padstart "^4.1.0"
+
+gauge@~2.7.3:
+  version "2.7.4"
+  resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
+  integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=
+  dependencies:
+    aproba "^1.0.3"
+    console-control-strings "^1.0.0"
+    has-unicode "^2.0.0"
+    object-assign "^4.1.0"
+    signal-exit "^3.0.0"
+    string-width "^1.0.1"
+    strip-ansi "^3.0.1"
+    wide-align "^1.1.0"
+
+get-caller-file@^2.0.5:
+  version "2.0.5"
+  resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
+  integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
+
+get-func-name@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41"
+  integrity sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=
+
+getpass@^0.1.1:
+  version "0.1.7"
+  resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
+  integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=
+  dependencies:
+    assert-plus "^1.0.0"
+
+ghreleases@^3.0.2:
+  version "3.0.2"
+  resolved "https://registry.yarnpkg.com/ghreleases/-/ghreleases-3.0.2.tgz#1bdb6d31ec03a24a0d80f58f5e9a84a4db725818"
+  integrity sha512-QiR9mIYvRG7hd8JuQYoxeBNOelVuTp2DpdiByRywbCDBSJufK9Vq7VuhD8B+5uviMxZx2AEkCzye61Us9gYgnw==
+  dependencies:
+    after "~0.8.1"
+    ghrepos "~2.1.0"
+    ghutils "~3.2.0"
+    lodash.uniq "^4.5.0"
+    simple-mime "~0.1.0"
+    url-template "~2.0.6"
+
+ghrepos@~2.1.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/ghrepos/-/ghrepos-2.1.0.tgz#abaf558b690b722c70c7ad45076f6f9be8e495e1"
+  integrity sha512-6GM0ohSDTAv7xD6GsKfxJiV/CajoofRyUwu0E8l29d1o6lFAUxmmyMP/FH33afA20ZrXzxxcTtN6TsYvudMoAg==
+  dependencies:
+    ghutils "~3.2.0"
+
+ghutils@~3.2.0:
+  version "3.2.6"
+  resolved "https://registry.yarnpkg.com/ghutils/-/ghutils-3.2.6.tgz#d43986e267da02787464d97a6489659e4609bb1f"
+  integrity sha512-WpYHgLQkqU7Cv147wKUEThyj6qKHCdnAG2CL9RRsRQImVdLGdVqblJ3JUnj3ToQwgm1ALPS+FXgR0448AgGPUg==
+  dependencies:
+    jsonist "~2.1.0"
+    xtend "~4.0.1"
+
+github-from-package@0.0.0:
+  version "0.0.0"
+  resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce"
+  integrity sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=
+
+glob-parent@~5.1.0:
+  version "5.1.2"
+  resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
+  integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
+  dependencies:
+    is-glob "^4.0.1"
+
+"glob@3 || 4 || 5 || 6 || 7", glob@7.1.6, glob@^7.0.3, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6:
+  version "7.1.6"
+  resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
+  integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
+  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"
+
+glob@5.0.x:
+  version "5.0.15"
+  resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1"
+  integrity sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=
+  dependencies:
+    inflight "^1.0.4"
+    inherits "2"
+    minimatch "2 || 3"
+    once "^1.3.0"
+    path-is-absolute "^1.0.0"
+
+globals@^9.18.0:
+  version "9.18.0"
+  resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"
+  integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==
+
+graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.2, graceful-fs@^4.2.3:
+  version "4.2.3"
+  resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423"
+  integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==
+
+"graceful-readlink@>= 1.0.0":
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725"
+  integrity sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=
+
+growl@1.10.5:
+  version "1.10.5"
+  resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e"
+  integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==
+
+har-schema@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
+  integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=
+
+har-validator@~5.1.3:
+  version "5.1.5"
+  resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd"
+  integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==
+  dependencies:
+    ajv "^6.12.3"
+    har-schema "^2.0.0"
+
+has-ansi@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
+  integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=
+  dependencies:
+    ansi-regex "^2.0.0"
+
+has-flag@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
+  integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
+
+has-unicode@^2.0.0:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
+  integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=
+
+he@1.2.0:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
+  integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
+
+home-or-tmp@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8"
+  integrity sha1-42w/LSyufXRqhX440Y1fMqeILbg=
+  dependencies:
+    os-homedir "^1.0.0"
+    os-tmpdir "^1.0.1"
+
+http-signature@~1.2.0:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1"
+  integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=
+  dependencies:
+    assert-plus "^1.0.0"
+    jsprim "^1.2.2"
+    sshpk "^1.7.0"
+
+hyperquest@~2.1.3:
+  version "2.1.3"
+  resolved "https://registry.yarnpkg.com/hyperquest/-/hyperquest-2.1.3.tgz#523127d7a343181b40bf324e231d2576edf52633"
+  integrity sha512-fUuDOrB47PqNK/BAMOS13v41UoaqIxqSLHX6CAbOD7OfT+/GCWO1/vPLfTNutOeXrv1ikuaZ3yux+33Z9vh+rw==
+  dependencies:
+    buffer-from "^0.1.1"
+    duplexer2 "~0.0.2"
+    through2 "~0.6.3"
+
+ieee754@^1.1.13:
+  version "1.2.1"
+  resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
+  integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
+
+inflight@^1.0.4:
+  version "1.0.6"
+  resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
+  integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
+  dependencies:
+    once "^1.3.0"
+    wrappy "1"
+
+inherits@2, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3:
+  version "2.0.3"
+  resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
+  integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=
+
+inherits@^2.0.4:
+  version "2.0.4"
+  resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
+  integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
+
+ini@~1.3.0:
+  version "1.3.7"
+  resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.7.tgz#a09363e1911972ea16d7a8851005d84cf09a9a84"
+  integrity sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==
+
+invariant@^2.2.2:
+  version "2.2.2"
+  resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360"
+  integrity sha1-nh9WrArNtr8wMwbzOL47IErmA2A=
+  dependencies:
+    loose-envify "^1.0.0"
+
+invert-kv@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6"
+  integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY=
+
+is-binary-path@~2.1.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
+  integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
+  dependencies:
+    binary-extensions "^2.0.0"
+
+is-extglob@^2.1.1:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
+  integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
+
+is-finite@^1.0.0:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa"
+  integrity sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=
+  dependencies:
+    number-is-nan "^1.0.0"
+
+is-fullwidth-code-point@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
+  integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs=
+  dependencies:
+    number-is-nan "^1.0.0"
+
+is-fullwidth-code-point@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
+  integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
+
+is-glob@^4.0.1, 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==
+  dependencies:
+    is-extglob "^2.1.1"
+
+is-iojs@^1.0.1:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/is-iojs/-/is-iojs-1.1.0.tgz#4c11033b5d5d94d6eab3775dedc9be7d008325f1"
+  integrity sha1-TBEDO11dlNbqs3dd7cm+fQCDJfE=
+
+is-number@^7.0.0:
+  version "7.0.0"
+  resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
+  integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
+
+is-plain-obj@^2.1.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287"
+  integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==
+
+is-typedarray@~1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
+  integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
+
+isarray@0.0.1:
+  version "0.0.1"
+  resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
+  integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=
+
+isarray@~1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
+  integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
+
+isexe@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
+  integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
+
+isstream@~0.1.2:
+  version "0.1.2"
+  resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
+  integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=
+
+js-tokens@^3.0.0, js-tokens@^3.0.2:
+  version "3.0.2"
+  resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
+  integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls=
+
+js-yaml@4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.0.0.tgz#f426bc0ff4b4051926cd588c71113183409a121f"
+  integrity sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==
+  dependencies:
+    argparse "^2.0.1"
+
+jsbn@~0.1.0:
+  version "0.1.1"
+  resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
+  integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM=
+
+jsesc@^1.3.0:
+  version "1.3.0"
+  resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b"
+  integrity sha1-RsP+yMGJKxKwgz25vHYiF226s0s=
+
+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@0.2.3:
+  version "0.2.3"
+  resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
+  integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=
+
+json-stringify-safe@~5.0.1:
+  version "5.0.1"
+  resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
+  integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=
+
+json5@^0.5.1:
+  version "0.5.1"
+  resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
+  integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=
+
+jsonfile@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
+  integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=
+  optionalDependencies:
+    graceful-fs "^4.1.6"
+
+jsonist@~2.1.0:
+  version "2.1.2"
+  resolved "https://registry.yarnpkg.com/jsonist/-/jsonist-2.1.2.tgz#c1377311e8fc857abe7aa3df197116a911f95324"
+  integrity sha512-8yqmWJAC2VaYoSKQAbsfgCpGY5o/1etWzx6ZxaZrC4iGaHrHUZEo+a2MyF8w+2uTavTlHdLWaZUoR19UfBstxQ==
+  dependencies:
+    bl "~3.0.0"
+    hyperquest "~2.1.3"
+    json-stringify-safe "~5.0.1"
+    xtend "~4.0.1"
+
+jsprim@^1.2.2:
+  version "1.4.0"
+  resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.0.tgz#a3b87e40298d8c380552d8cc7628a0bb95a22918"
+  integrity sha1-o7h+QCmNjDgFUtjMdiigu5WiKRg=
+  dependencies:
+    assert-plus "1.0.0"
+    extsprintf "1.0.2"
+    json-schema "0.2.3"
+    verror "1.3.6"
+
+lcid@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835"
+  integrity sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=
+  dependencies:
+    invert-kv "^1.0.0"
+
+listenercount@~1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/listenercount/-/listenercount-1.0.1.tgz#84c8a72ab59c4725321480c975e6508342e70937"
+  integrity sha1-hMinKrWcRyUyFIDJdeZQg0LnCTc=
+
+locate-path@^6.0.0:
+  version "6.0.0"
+  resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286"
+  integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==
+  dependencies:
+    p-locate "^5.0.0"
+
+lodash.pad@^4.1.0:
+  version "4.5.1"
+  resolved "https://registry.yarnpkg.com/lodash.pad/-/lodash.pad-4.5.1.tgz#4330949a833a7c8da22cc20f6a26c4d59debba70"
+  integrity sha1-QzCUmoM6fI2iLMIPaibE1Z3runA=
+
+lodash.padend@^4.1.0:
+  version "4.6.1"
+  resolved "https://registry.yarnpkg.com/lodash.padend/-/lodash.padend-4.6.1.tgz#53ccba047d06e158d311f45da625f4e49e6f166e"
+  integrity sha1-U8y6BH0G4VjTEfRdpiX05J5vFm4=
+
+lodash.padstart@^4.1.0:
+  version "4.6.1"
+  resolved "https://registry.yarnpkg.com/lodash.padstart/-/lodash.padstart-4.6.1.tgz#d2e3eebff0d9d39ad50f5cbd1b52a7bce6bb611b"
+  integrity sha1-0uPuv/DZ05rVD1y9G1KnvOa7YRs=
+
+lodash.uniq@^4.5.0:
+  version "4.5.0"
+  resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
+  integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=
+
+lodash@^4, lodash@^4.17.4, lodash@^4.2.0:
+  version "4.17.19"
+  resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b"
+  integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==
+
+log-symbols@4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920"
+  integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==
+  dependencies:
+    chalk "^4.0.0"
+
+loose-envify@^1.0.0:
+  version "1.3.1"
+  resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
+  integrity sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=
+  dependencies:
+    js-tokens "^3.0.0"
+
+memory-stream@0:
+  version "0.0.3"
+  resolved "https://registry.yarnpkg.com/memory-stream/-/memory-stream-0.0.3.tgz#ebe8dd1c3b8bc38c0e7941e9ddd5aebe6b4de83f"
+  integrity sha1-6+jdHDuLw4wOeUHp3dWuvmtN6D8=
+  dependencies:
+    readable-stream "~1.0.26-2"
+
+mime-db@1.44.0:
+  version "1.44.0"
+  resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92"
+  integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==
+
+mime-types@^2.1.12, mime-types@~2.1.19:
+  version "2.1.27"
+  resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f"
+  integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==
+  dependencies:
+    mime-db "1.44.0"
+
+mimic-response@^2.0.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-2.1.0.tgz#d13763d35f613d09ec37ebb30bac0469c0ee8f43"
+  integrity sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==
+
+"minimatch@2 || 3", minimatch@3, minimatch@3.0.4, minimatch@^3.0.2, 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.1.2, minimist@^1.2.0, minimist@^1.2.3, 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==
+
+minipass@^2.6.0, minipass@^2.8.6, minipass@^2.9.0:
+  version "2.9.0"
+  resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6"
+  integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==
+  dependencies:
+    safe-buffer "^5.1.2"
+    yallist "^3.0.0"
+
+minipass@^3.0.0:
+  version "3.1.3"
+  resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.3.tgz#7d42ff1f39635482e15f9cdb53184deebd5815fd"
+  integrity sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==
+  dependencies:
+    yallist "^4.0.0"
+
+minizlib@^1.2.1:
+  version "1.3.3"
+  resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d"
+  integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==
+  dependencies:
+    minipass "^2.9.0"
+
+minizlib@^2.1.1:
+  version "2.1.2"
+  resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931"
+  integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==
+  dependencies:
+    minipass "^3.0.0"
+    yallist "^4.0.0"
+
+mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3:
+  version "0.5.3"
+  resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113"
+  integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==
+
+"mkdirp@>=0.5 0", mkdirp@^0.5.0, 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:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
+  integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
+
+mocha@^8.0.1:
+  version "8.3.2"
+  resolved "https://registry.yarnpkg.com/mocha/-/mocha-8.3.2.tgz#53406f195fa86fbdebe71f8b1c6fb23221d69fcc"
+  integrity sha512-UdmISwr/5w+uXLPKspgoV7/RXZwKRTiTjJ2/AC5ZiEztIoOYdfKb19+9jNmEInzx5pBsCyJQzarAxqIGBNYJhg==
+  dependencies:
+    "@ungap/promise-all-settled" "1.1.2"
+    ansi-colors "4.1.1"
+    browser-stdout "1.3.1"
+    chokidar "3.5.1"
+    debug "4.3.1"
+    diff "5.0.0"
+    escape-string-regexp "4.0.0"
+    find-up "5.0.0"
+    glob "7.1.6"
+    growl "1.10.5"
+    he "1.2.0"
+    js-yaml "4.0.0"
+    log-symbols "4.0.0"
+    minimatch "3.0.4"
+    ms "2.1.3"
+    nanoid "3.1.20"
+    serialize-javascript "5.0.1"
+    strip-json-comments "3.1.1"
+    supports-color "8.1.1"
+    which "2.0.2"
+    wide-align "1.1.3"
+    workerpool "6.1.0"
+    yargs "16.2.0"
+    yargs-parser "20.2.4"
+    yargs-unparser "2.0.0"
+
+ms@2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
+  integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
+
+ms@2.1.2:
+  version "2.1.2"
+  resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
+  integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
+
+ms@2.1.3:
+  version "2.1.3"
+  resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
+  integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
+
+nanoid@3.1.20:
+  version "3.1.20"
+  resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.20.tgz#badc263c6b1dcf14b71efaa85f6ab4c1d6cfc788"
+  integrity sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==
+
+napi-build-utils@^1.0.1:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/napi-build-utils/-/napi-build-utils-1.0.2.tgz#b1fddc0b2c46e380a0b7a76f984dd47c41a13806"
+  integrity sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==
+
+next-tick@~1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c"
+  integrity sha1-yobR/ogoFpsBICCOPchCS524NCw=
+
+node-abi@^2.2.0, node-abi@^2.21.0:
+  version "2.21.0"
+  resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.21.0.tgz#c2dc9ebad6f4f53d6ea9b531e7b8faad81041d48"
+  integrity sha512-smhrivuPqEM3H5LmnY3KU6HfYv0u4QklgAxfFyRNujKUzbUcYZ+Jc2EhukB9SRcD2VpqhxM7n/MIcp1Ua1/JMg==
+  dependencies:
+    semver "^5.4.1"
+
+node-addon-api@^3.0.0:
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.1.0.tgz#98b21931557466c6729e51cb77cd39c965f42239"
+  integrity sha512-flmrDNB06LIl5lywUz7YlNGZH/5p0M7W28k8hzd9Lshtdh1wshD2Y+U4h9LD6KObOy1f+fEVdgprPrEymjM5uw==
+
+node-cpplint@~0.4.0:
+  version "0.4.0"
+  resolved "https://registry.yarnpkg.com/node-cpplint/-/node-cpplint-0.4.0.tgz#35827fe7b95ccceff0cd7f46ede4cba44b8ef88c"
+  integrity sha1-NYJ/57lczO/wzX9G7eTLpEuO+Iw=
+  dependencies:
+    colors "~0.6.2"
+    commander "~2.2.0"
+
+node-gyp@^6.0.1:
+  version "6.1.0"
+  resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-6.1.0.tgz#64e31c61a4695ad304c1d5b82cf6b7c79cc79f3f"
+  integrity sha512-h4A2zDlOujeeaaTx06r4Vy+8MZ1679lU+wbCKDS4ZtvY2A37DESo37oejIw0mtmR3+rvNwts5B6Kpt1KrNYdNw==
+  dependencies:
+    env-paths "^2.2.0"
+    glob "^7.1.4"
+    graceful-fs "^4.2.2"
+    mkdirp "^0.5.1"
+    nopt "^4.0.1"
+    npmlog "^4.1.2"
+    request "^2.88.0"
+    rimraf "^2.6.3"
+    semver "^5.7.1"
+    tar "^4.4.12"
+    which "^1.3.1"
+
+node-gyp@^7.0.0:
+  version "7.1.2"
+  resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-7.1.2.tgz#21a810aebb187120251c3bcec979af1587b188ae"
+  integrity sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==
+  dependencies:
+    env-paths "^2.2.0"
+    glob "^7.1.4"
+    graceful-fs "^4.2.3"
+    nopt "^5.0.0"
+    npmlog "^4.1.2"
+    request "^2.88.2"
+    rimraf "^3.0.2"
+    semver "^7.3.2"
+    tar "^6.0.2"
+    which "^2.0.2"
+
+node-ninja@^1.0.1:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/node-ninja/-/node-ninja-1.0.2.tgz#20a09e57b92e2df591993d4bf098ac3e727062b6"
+  integrity sha1-IKCeV7kuLfWRmT1L8JisPnJwYrY=
+  dependencies:
+    fstream "^1.0.0"
+    glob "3 || 4 || 5 || 6 || 7"
+    graceful-fs "^4.1.2"
+    minimatch "3"
+    mkdirp "^0.5.0"
+    nopt "2 || 3"
+    npmlog "0 || 1 || 2"
+    osenv "0"
+    path-array "^1.0.0"
+    request "2"
+    rimraf "2"
+    semver "2.x || 3.x || 4 || 5"
+    tar "^2.0.0"
+    which "1"
+
+noop-logger@^0.1.0, noop-logger@^0.1.1:
+  version "0.1.1"
+  resolved "https://registry.yarnpkg.com/noop-logger/-/noop-logger-0.1.1.tgz#94a2b1633c4f1317553007d8966fd0e841b6a4c2"
+  integrity sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=
+
+"nopt@2 || 3":
+  version "3.0.6"
+  resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
+  integrity sha1-xkZdvwirzU2zWTF/eaxopkayj/k=
+  dependencies:
+    abbrev "1"
+
+nopt@^4.0.1:
+  version "4.0.3"
+  resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.3.tgz#a375cad9d02fd921278d954c2254d5aa57e15e48"
+  integrity sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==
+  dependencies:
+    abbrev "1"
+    osenv "^0.1.4"
+
+nopt@^5.0.0:
+  version "5.0.0"
+  resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88"
+  integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==
+  dependencies:
+    abbrev "1"
+
+normalize-path@^3.0.0, normalize-path@~3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
+  integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
+
+npm-path@^2.0.2:
+  version "2.0.4"
+  resolved "https://registry.yarnpkg.com/npm-path/-/npm-path-2.0.4.tgz#c641347a5ff9d6a09e4d9bce5580c4f505278e64"
+  integrity sha512-IFsj0R9C7ZdR5cP+ET342q77uSRdtWOlWpih5eC+lu29tIDbNEgDbzgVJ5UFvYHWhxDZ5TFkJafFioO0pPQjCw==
+  dependencies:
+    which "^1.2.10"
+
+npm-which@^3.0.1:
+  version "3.0.1"
+  resolved "https://registry.yarnpkg.com/npm-which/-/npm-which-3.0.1.tgz#9225f26ec3a285c209cae67c3b11a6b4ab7140aa"
+  integrity sha1-kiXybsOihcIJyuZ8OxGmtKtxQKo=
+  dependencies:
+    commander "^2.9.0"
+    npm-path "^2.0.2"
+    which "^1.2.10"
+
+"npmlog@0 || 1 || 2":
+  version "2.0.4"
+  resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-2.0.4.tgz#98b52530f2514ca90d09ec5b22c8846722375692"
+  integrity sha1-mLUlMPJRTKkNCexbIsiEZyI3VpI=
+  dependencies:
+    ansi "~0.3.1"
+    are-we-there-yet "~1.1.2"
+    gauge "~1.2.5"
+
+"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.1, npmlog@^4.1.2:
+  version "4.1.2"
+  resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
+  integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==
+  dependencies:
+    are-we-there-yet "~1.1.2"
+    console-control-strings "~1.1.0"
+    gauge "~2.7.3"
+    set-blocking "~2.0.0"
+
+npmlog@^1.2.0:
+  version "1.2.1"
+  resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-1.2.1.tgz#28e7be619609b53f7ad1dd300a10d64d716268b6"
+  integrity sha1-KOe+YZYJtT960d0wChDWTXFiaLY=
+  dependencies:
+    ansi "~0.3.0"
+    are-we-there-yet "~1.0.0"
+    gauge "~1.2.0"
+
+number-is-nan@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
+  integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=
+
+nw-gyp@^3.6.3:
+  version "3.6.5"
+  resolved "https://registry.yarnpkg.com/nw-gyp/-/nw-gyp-3.6.5.tgz#ccce42182229e44e7689da70675b4b8dd0ab0ab3"
+  integrity sha512-vYrOIYJEKpq9CfaHuiqEjV1rBYgr6uaUrPhPRiznb91LujkAUqGhQ5QqDC1bLdd+zo9jf2H0Zkl2M5zQB7+CuQ==
+  dependencies:
+    fstream "^1.0.0"
+    glob "^7.0.3"
+    graceful-fs "^4.1.2"
+    minimatch "^3.0.2"
+    mkdirp "^0.5.0"
+    nopt "2 || 3"
+    npmlog "0 || 1 || 2 || 3 || 4"
+    osenv "0"
+    request "2"
+    rimraf "2"
+    semver "~5.3.0"
+    tar "^2.0.0"
+    which "1"
+
+oauth-sign@~0.9.0:
+  version "0.9.0"
+  resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
+  integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==
+
+object-assign@^4.1.0:
+  version "4.1.1"
+  resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
+  integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
+
+once@^1.3.0, once@^1.3.1, once@^1.4.0:
+  version "1.4.0"
+  resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
+  integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
+  dependencies:
+    wrappy "1"
+
+os-homedir@^1.0.0:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
+  integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M=
+
+os-locale@^1.4.0:
+  version "1.4.0"
+  resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9"
+  integrity sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=
+  dependencies:
+    lcid "^1.0.0"
+
+os-tmpdir@^1.0.0, os-tmpdir@^1.0.1:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
+  integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=
+
+osenv@0, osenv@^0.1.4:
+  version "0.1.5"
+  resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410"
+  integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==
+  dependencies:
+    os-homedir "^1.0.0"
+    os-tmpdir "^1.0.0"
+
+p-limit@^3.0.2:
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
+  integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
+  dependencies:
+    yocto-queue "^0.1.0"
+
+p-locate@^5.0.0:
+  version "5.0.0"
+  resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834"
+  integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==
+  dependencies:
+    p-limit "^3.0.2"
+
+path-array@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/path-array/-/path-array-1.0.1.tgz#7e2f0f35f07a2015122b868b7eac0eb2c4fec271"
+  integrity sha1-fi8PNfB6IBUSK4aLfqwOssT+wnE=
+  dependencies:
+    array-index "^1.0.0"
+
+path-exists@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
+  integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
+
+path-is-absolute@^1.0.0, path-is-absolute@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
+  integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
+
+pathval@^1.1.1:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d"
+  integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==
+
+performance-now@^2.1.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
+  integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=
+
+picomatch@^2.0.4, picomatch@^2.2.1:
+  version "2.2.2"
+  resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad"
+  integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==
+
+prebuild-install@^6.0.0:
+  version "6.1.1"
+  resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-6.1.1.tgz#6754fa6c0d55eced7f9e14408ff9e4cba6f097b4"
+  integrity sha512-M+cKwofFlHa5VpTWub7GLg5RLcunYIcLqtY5pKcls/u7xaAb8FrXZ520qY8rkpYy5xw90tYCyMO0MP5ggzR3Sw==
+  dependencies:
+    detect-libc "^1.0.3"
+    expand-template "^2.0.3"
+    github-from-package "0.0.0"
+    minimist "^1.2.3"
+    mkdirp-classic "^0.5.3"
+    napi-build-utils "^1.0.1"
+    node-abi "^2.21.0"
+    noop-logger "^0.1.1"
+    npmlog "^4.0.1"
+    pump "^3.0.0"
+    rc "^1.2.7"
+    simple-get "^3.0.3"
+    tar-fs "^2.0.0"
+    tunnel-agent "^0.6.0"
+
+prebuild@^10.0.1:
+  version "10.0.1"
+  resolved "https://registry.yarnpkg.com/prebuild/-/prebuild-10.0.1.tgz#9d46a00f42b60ad1718479cc5e3d1ef4882b7f33"
+  integrity sha512-x0CkKDmHFwX49rTGEYJwB9jBQwJWxRzwUtP5PA9dP8khFGMm3oSFgYortxdlp0PkxB29EhWGp/KQE5g+adehYg==
+  dependencies:
+    cmake-js "~5.2.0"
+    detect-libc "^1.0.3"
+    each-series-async "^1.0.1"
+    execspawn "^1.0.1"
+    ghreleases "^3.0.2"
+    github-from-package "0.0.0"
+    glob "^7.1.6"
+    minimist "^1.1.2"
+    mkdirp "^0.5.1"
+    napi-build-utils "^1.0.1"
+    node-abi "^2.2.0"
+    node-gyp "^6.0.1"
+    node-ninja "^1.0.1"
+    noop-logger "^0.1.0"
+    npm-which "^3.0.1"
+    npmlog "^4.0.1"
+    nw-gyp "^3.6.3"
+    rc "^1.0.3"
+    run-waterfall "^1.1.6"
+    tar-stream "^2.1.0"
+
+private@^0.1.8:
+  version "0.1.8"
+  resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff"
+  integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==
+
+process-nextick-args@~1.0.6:
+  version "1.0.7"
+  resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3"
+  integrity sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=
+
+psl@^1.1.28:
+  version "1.1.29"
+  resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.29.tgz#60f580d360170bb722a797cc704411e6da850c67"
+  integrity sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==
+
+pump@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"
+  integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==
+  dependencies:
+    end-of-stream "^1.1.0"
+    once "^1.3.1"
+
+punycode@^2.1.0, punycode@^2.1.1:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
+  integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
+
+qs@~6.5.2:
+  version "6.5.2"
+  resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
+  integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==
+
+randombytes@^2.1.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
+  integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==
+  dependencies:
+    safe-buffer "^5.1.0"
+
+rc@^1.0.3, rc@^1.2.7:
+  version "1.2.8"
+  resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
+  integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==
+  dependencies:
+    deep-extend "^0.6.0"
+    ini "~1.3.0"
+    minimist "^1.2.0"
+    strip-json-comments "~2.0.1"
+
+"readable-stream@>=1.0.33-1 <1.1.0-0", readable-stream@~1.0.26-2:
+  version "1.0.34"
+  resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c"
+  integrity sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=
+  dependencies:
+    core-util-is "~1.0.0"
+    inherits "~2.0.1"
+    isarray "0.0.1"
+    string_decoder "~0.10.x"
+
+"readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.2, readable-stream@^2.0.6:
+  version "2.3.3"
+  resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c"
+  integrity sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==
+  dependencies:
+    core-util-is "~1.0.0"
+    inherits "~2.0.3"
+    isarray "~1.0.0"
+    process-nextick-args "~1.0.6"
+    safe-buffer "~5.1.1"
+    string_decoder "~1.0.3"
+    util-deprecate "~1.0.1"
+
+readable-stream@^3.0.1, readable-stream@^3.1.1, readable-stream@^3.4.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"
+
+readable-stream@~1.1.9:
+  version "1.1.14"
+  resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9"
+  integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk=
+  dependencies:
+    core-util-is "~1.0.0"
+    inherits "~2.0.1"
+    isarray "0.0.1"
+    string_decoder "~0.10.x"
+
+readable-stream@~2.1.5:
+  version "2.1.5"
+  resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0"
+  integrity sha1-ZvqLcg4UOLNkaB8q0aY8YYRIydA=
+  dependencies:
+    buffer-shims "^1.0.0"
+    core-util-is "~1.0.0"
+    inherits "~2.0.1"
+    isarray "~1.0.0"
+    process-nextick-args "~1.0.6"
+    string_decoder "~0.10.x"
+    util-deprecate "~1.0.1"
+
+readdirp@~3.5.0:
+  version "3.5.0"
+  resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e"
+  integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==
+  dependencies:
+    picomatch "^2.2.1"
+
+regenerator-runtime@^0.10.0:
+  version "0.10.5"
+  resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658"
+  integrity sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=
+
+regenerator-runtime@^0.11.0:
+  version "0.11.1"
+  resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
+  integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==
+
+repeating@^2.0.0:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda"
+  integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=
+  dependencies:
+    is-finite "^1.0.0"
+
+request@2, request@^2.54.0, request@^2.88.0, request@^2.88.2:
+  version "2.88.2"
+  resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3"
+  integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==
+  dependencies:
+    aws-sign2 "~0.7.0"
+    aws4 "^1.8.0"
+    caseless "~0.12.0"
+    combined-stream "~1.0.6"
+    extend "~3.0.2"
+    forever-agent "~0.6.1"
+    form-data "~2.3.2"
+    har-validator "~5.1.3"
+    http-signature "~1.2.0"
+    is-typedarray "~1.0.0"
+    isstream "~0.1.2"
+    json-stringify-safe "~5.0.1"
+    mime-types "~2.1.19"
+    oauth-sign "~0.9.0"
+    performance-now "^2.1.0"
+    qs "~6.5.2"
+    safe-buffer "^5.1.2"
+    tough-cookie "~2.5.0"
+    tunnel-agent "^0.6.0"
+    uuid "^3.3.2"
+
+require-directory@^2.1.1:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
+  integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I=
+
+rimraf@2, rimraf@^2.6.3:
+  version "2.7.1"
+  resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
+  integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
+  dependencies:
+    glob "^7.1.3"
+
+rimraf@^3.0.2:
+  version "3.0.2"
+  resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
+  integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
+  dependencies:
+    glob "^7.1.3"
+
+rsvp@^3.0.13:
+  version "3.6.2"
+  resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-3.6.2.tgz#2e96491599a96cde1b515d5674a8f7a91452926a"
+  integrity sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw==
+
+run-waterfall@^1.1.6:
+  version "1.1.7"
+  resolved "https://registry.yarnpkg.com/run-waterfall/-/run-waterfall-1.1.7.tgz#ae368b549b2f5171f86c2924492cab3352a6e9c5"
+  integrity sha512-iFPgh7SatHXOG1ClcpdwHI63geV3Hc/iL6crGSyBlH2PY7Rm/za+zoKz6FfY/Qlw5K7JwSol8pseO8fN6CMhhQ==
+
+safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
+  version "5.1.1"
+  resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853"
+  integrity sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==
+
+safe-buffer@^5.1.2, 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.0.2:
+  version "2.1.2"
+  resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
+  integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
+
+"semver@2.x || 3.x || 4 || 5", semver@^5.0.3, semver@^5.4.1, semver@^5.7.1:
+  version "5.7.1"
+  resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
+  integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
+
+semver@^4.3.3:
+  version "4.3.6"
+  resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da"
+  integrity sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=
+
+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@~5.3.0:
+  version "5.3.0"
+  resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
+  integrity sha1-myzl094C0XxgEq0yaqa00M9U+U8=
+
+serialize-javascript@5.0.1:
+  version "5.0.1"
+  resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4"
+  integrity sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==
+  dependencies:
+    randombytes "^2.1.0"
+
+set-blocking@~2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
+  integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc=
+
+setimmediate@~1.0.4:
+  version "1.0.5"
+  resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
+  integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=
+
+signal-exit@^3.0.0:
+  version "3.0.2"
+  resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
+  integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=
+
+simple-concat@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f"
+  integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==
+
+simple-get@^3.0.3:
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-3.1.0.tgz#b45be062435e50d159540b576202ceec40b9c6b3"
+  integrity sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA==
+  dependencies:
+    decompress-response "^4.2.0"
+    once "^1.3.1"
+    simple-concat "^1.0.0"
+
+simple-mime@~0.1.0:
+  version "0.1.0"
+  resolved "https://registry.yarnpkg.com/simple-mime/-/simple-mime-0.1.0.tgz#95f517c4f466d7cff561a71fc9dab2596ea9ef2e"
+  integrity sha1-lfUXxPRm18/1YacfydqyWW6p7y4=
+
+slash@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"
+  integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=
+
+source-map-support@^0.4.15:
+  version "0.4.18"
+  resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f"
+  integrity sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==
+  dependencies:
+    source-map "^0.5.6"
+
+source-map-support@~0.2.8:
+  version "0.2.10"
+  resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.2.10.tgz#ea5a3900a1c1cb25096a0ae8cc5c2b4b10ded3dc"
+  integrity sha1-6lo5AKHByyUJagrozFwrSxDe09w=
+  dependencies:
+    source-map "0.1.32"
+
+source-map@0.1.32:
+  version "0.1.32"
+  resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.32.tgz#c8b6c167797ba4740a8ea33252162ff08591b266"
+  integrity sha1-yLbBZ3l7pHQKjqMyUhYv8IWRsmY=
+  dependencies:
+    amdefine ">=0.0.4"
+
+source-map@^0.5.6, source-map@^0.5.7:
+  version "0.5.7"
+  resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
+  integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
+
+splitargs@0:
+  version "0.0.7"
+  resolved "https://registry.yarnpkg.com/splitargs/-/splitargs-0.0.7.tgz#fe9f7ae657371b33b10cb80da143cf8249cf6b3b"
+  integrity sha1-/p965lc3GzOxDLgNoUPPgknPazs=
+
+sshpk@^1.7.0:
+  version "1.14.2"
+  resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.14.2.tgz#c6fc61648a3d9c4e764fd3fcdf4ea105e492ba98"
+  integrity sha1-xvxhZIo9nE52T9P8306hBeSSupg=
+  dependencies:
+    asn1 "~0.2.3"
+    assert-plus "^1.0.0"
+    dashdash "^1.12.0"
+    getpass "^0.1.1"
+    safer-buffer "^2.0.2"
+  optionalDependencies:
+    bcrypt-pbkdf "^1.0.0"
+    ecc-jsbn "~0.1.1"
+    jsbn "~0.1.0"
+    tweetnacl "~0.14.0"
+
+string-width@^1.0.1, string-width@^1.0.2, "string-width@^1.0.2 || 2":
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
+  integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=
+  dependencies:
+    code-point-at "^1.0.0"
+    is-fullwidth-code-point "^1.0.0"
+    strip-ansi "^3.0.0"
+
+string-width@^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==
+  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"
+
+string_decoder@~0.10.x:
+  version "0.10.31"
+  resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
+  integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=
+
+string_decoder@~1.0.3:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab"
+  integrity sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==
+  dependencies:
+    safe-buffer "~5.1.0"
+
+strip-ansi@^3.0.0, strip-ansi@^3.0.1:
+  version "3.0.1"
+  resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
+  integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=
+  dependencies:
+    ansi-regex "^2.0.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==
+  dependencies:
+    ansi-regex "^5.0.0"
+
+strip-json-comments@3.1.1:
+  version "3.1.1"
+  resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
+  integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
+
+strip-json-comments@~2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
+  integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo=
+
+supports-color@8.1.1:
+  version "8.1.1"
+  resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c"
+  integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==
+  dependencies:
+    has-flag "^4.0.0"
+
+supports-color@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
+  integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=
+
+supports-color@^7.1.0:
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
+  integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
+  dependencies:
+    has-flag "^4.0.0"
+
+tar-fs@^2.0.0:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784"
+  integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==
+  dependencies:
+    chownr "^1.1.1"
+    mkdirp-classic "^0.5.2"
+    pump "^3.0.0"
+    tar-stream "^2.1.4"
+
+tar-stream@^2.1.0, tar-stream@^2.1.4:
+  version "2.1.4"
+  resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.1.4.tgz#c4fb1a11eb0da29b893a5b25476397ba2d053bfa"
+  integrity sha512-o3pS2zlG4gxr67GmFYBLlq+dM8gyRGUOvsrHclSkvtVtQbjV0s/+ZE8OpICbaj8clrX3tjeHngYGP7rweaBnuw==
+  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"
+
+tar@^2.0.0:
+  version "2.2.2"
+  resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.2.tgz#0ca8848562c7299b8b446ff6a4d60cdbb23edc40"
+  integrity sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==
+  dependencies:
+    block-stream "*"
+    fstream "^1.0.12"
+    inherits "2"
+
+tar@^4, tar@^4.4.12:
+  version "4.4.13"
+  resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525"
+  integrity sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==
+  dependencies:
+    chownr "^1.1.1"
+    fs-minipass "^1.2.5"
+    minipass "^2.8.6"
+    minizlib "^1.2.1"
+    mkdirp "^0.5.0"
+    safe-buffer "^5.1.2"
+    yallist "^3.0.3"
+
+tar@^6.0.2:
+  version "6.0.5"
+  resolved "https://registry.yarnpkg.com/tar/-/tar-6.0.5.tgz#bde815086e10b39f1dcd298e89d596e1535e200f"
+  integrity sha512-0b4HOimQHj9nXNEAA7zWwMM91Zhhba3pspja6sQbgTpynOJf+bkjBnfybNYzbpLbnwXnbyB4LOREvlyXLkCHSg==
+  dependencies:
+    chownr "^2.0.0"
+    fs-minipass "^2.0.0"
+    minipass "^3.0.0"
+    minizlib "^2.1.1"
+    mkdirp "^1.0.3"
+    yallist "^4.0.0"
+
+through2@~0.6.3:
+  version "0.6.5"
+  resolved "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz#41ab9c67b29d57209071410e1d7a7a968cd3ad48"
+  integrity sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=
+  dependencies:
+    readable-stream ">=1.0.33-1 <1.1.0-0"
+    xtend ">=4.0.0 <4.1.0-0"
+
+to-fast-properties@^1.0.1, to-fast-properties@^1.0.3:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47"
+  integrity sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=
+
+to-regex-range@^5.0.1:
+  version "5.0.1"
+  resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
+  integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
+  dependencies:
+    is-number "^7.0.0"
+
+tough-cookie@~2.5.0:
+  version "2.5.0"
+  resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
+  integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==
+  dependencies:
+    psl "^1.1.28"
+    punycode "^2.1.1"
+
+traceur@0.0.x:
+  version "0.0.111"
+  resolved "https://registry.yarnpkg.com/traceur/-/traceur-0.0.111.tgz#c04de74d14696c3373427de4fc08ecaf913fc3a1"
+  integrity sha1-wE3nTRRpbDNzQn3k/Ajsr5E/w6E=
+  dependencies:
+    commander "2.9.x"
+    glob "5.0.x"
+    rsvp "^3.0.13"
+    semver "^4.3.3"
+    source-map-support "~0.2.8"
+
+"traverse@>=0.3.0 <0.4":
+  version "0.3.9"
+  resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.3.9.tgz#717b8f220cc0bb7b44e40514c22b2e8bbc70d8b9"
+  integrity sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk=
+
+trim-right@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
+  integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=
+
+tunnel-agent@^0.6.0:
+  version "0.6.0"
+  resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
+  integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=
+  dependencies:
+    safe-buffer "^5.0.1"
+
+tweetnacl@^0.14.3, tweetnacl@~0.14.0:
+  version "0.14.5"
+  resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
+  integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=
+
+type-detect@^4.0.0, type-detect@^4.0.5:
+  version "4.0.8"
+  resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c"
+  integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==
+
+type@^1.0.1:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0"
+  integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==
+
+type@^2.0.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/type/-/type-2.1.0.tgz#9bdc22c648cf8cf86dd23d32336a41cfb6475e3f"
+  integrity sha512-G9absDWvhAWCV2gmF1zKud3OyC61nZDwWvBL2DApaVFogI07CprggiQAOOjvp2NRjYWFzPyu7vwtDrQFq8jeSA==
+
+universalify@^0.1.0:
+  version "0.1.2"
+  resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
+  integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
+
+unzipper@^0.8.13:
+  version "0.8.14"
+  resolved "https://registry.yarnpkg.com/unzipper/-/unzipper-0.8.14.tgz#ade0524cd2fc14d11b8de258be22f9d247d3f79b"
+  integrity sha512-8rFtE7EP5ssOwGpN2dt1Q4njl0N1hUXJ7sSPz0leU2hRdq6+pra57z4YPBlVqm40vcgv6ooKZEAx48fMTv9x4w==
+  dependencies:
+    big-integer "^1.6.17"
+    binary "~0.3.0"
+    bluebird "~3.4.1"
+    buffer-indexof-polyfill "~1.0.0"
+    duplexer2 "~0.1.4"
+    fstream "~1.0.10"
+    listenercount "~1.0.1"
+    readable-stream "~2.1.5"
+    setimmediate "~1.0.4"
+
+uri-js@^4.2.2:
+  version "4.2.2"
+  resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0"
+  integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==
+  dependencies:
+    punycode "^2.1.0"
+
+url-join@0:
+  version "0.0.1"
+  resolved "https://registry.yarnpkg.com/url-join/-/url-join-0.0.1.tgz#1db48ad422d3402469a87f7d97bdebfe4fb1e3c8"
+  integrity sha1-HbSK1CLTQCRpqH99l73r/k+x48g=
+
+url-template@~2.0.6:
+  version "2.0.8"
+  resolved "https://registry.yarnpkg.com/url-template/-/url-template-2.0.8.tgz#fc565a3cccbff7730c775f5641f9555791439f21"
+  integrity sha1-/FZaPMy/93MMd19WQflVV5FDnyE=
+
+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=
+
+util-extend@^1.0.1:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/util-extend/-/util-extend-1.0.3.tgz#a7c216d267545169637b3b6edc6ca9119e2ff93f"
+  integrity sha1-p8IW0mdUUWljeztu3GypEZ4v+T8=
+
+uuid@^3.3.2:
+  version "3.4.0"
+  resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
+  integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
+
+verror@1.3.6:
+  version "1.3.6"
+  resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c"
+  integrity sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw=
+  dependencies:
+    extsprintf "1.0.2"
+
+which@1, which@^1.0.9, which@^1.2.10, which@^1.3.1:
+  version "1.3.1"
+  resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
+  integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
+  dependencies:
+    isexe "^2.0.0"
+
+which@2.0.2, which@^2.0.2:
+  version "2.0.2"
+  resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
+  integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
+  dependencies:
+    isexe "^2.0.0"
+
+wide-align@1.1.3:
+  version "1.1.3"
+  resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457"
+  integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==
+  dependencies:
+    string-width "^1.0.2 || 2"
+
+wide-align@^1.1.0:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710"
+  integrity sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==
+  dependencies:
+    string-width "^1.0.2"
+
+window-size@^0.1.4:
+  version "0.1.4"
+  resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.4.tgz#f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876"
+  integrity sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=
+
+workerpool@6.1.0:
+  version "6.1.0"
+  resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.1.0.tgz#a8e038b4c94569596852de7a8ea4228eefdeb37b"
+  integrity sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg==
+
+wrap-ansi@^2.0.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85"
+  integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=
+  dependencies:
+    string-width "^1.0.1"
+    strip-ansi "^3.0.1"
+
+wrap-ansi@^7.0.0:
+  version "7.0.0"
+  resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
+  integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
+  dependencies:
+    ansi-styles "^4.0.0"
+    string-width "^4.1.0"
+    strip-ansi "^6.0.0"
+
+wrappy@1:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
+  integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
+
+"xtend@>=4.0.0 <4.1.0-0", xtend@~4.0.1:
+  version "4.0.2"
+  resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
+  integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
+
+y18n@^3.2.0:
+  version "3.2.2"
+  resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.2.tgz#85c901bd6470ce71fc4bb723ad209b70f7f28696"
+  integrity sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==
+
+y18n@^5.0.5:
+  version "5.0.5"
+  resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.5.tgz#8769ec08d03b1ea2df2500acef561743bbb9ab18"
+  integrity sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==
+
+yallist@^3.0.0, yallist@^3.0.3:
+  version "3.1.1"
+  resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
+  integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
+
+yallist@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
+  integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
+
+yargs-parser@20.2.4, yargs-parser@^20.2.2:
+  version "20.2.4"
+  resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54"
+  integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==
+
+yargs-unparser@2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb"
+  integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==
+  dependencies:
+    camelcase "^6.0.0"
+    decamelize "^4.0.0"
+    flat "^5.0.2"
+    is-plain-obj "^2.1.0"
+
+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==
+  dependencies:
+    cliui "^7.0.2"
+    escalade "^3.1.1"
+    get-caller-file "^2.0.5"
+    require-directory "^2.1.1"
+    string-width "^4.2.0"
+    y18n "^5.0.5"
+    yargs-parser "^20.2.2"
+
+yargs@^3.6.0:
+  version "3.32.0"
+  resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.32.0.tgz#03088e9ebf9e756b69751611d2a5ef591482c995"
+  integrity sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=
+  dependencies:
+    camelcase "^2.0.1"
+    cliui "^3.0.3"
+    decamelize "^1.1.1"
+    os-locale "^1.4.0"
+    string-width "^1.0.1"
+    window-size "^0.1.4"
+    y18n "^3.2.0"
+
+yocto-queue@^0.1.0:
+  version "0.1.0"
+  resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
+  integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/element/keytar/yarn.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/element/keytar/yarn.nix
new file mode 100644
index 000000000000..d6b1b99da84d
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/element/keytar/yarn.nix
@@ -0,0 +1,2869 @@
+{ fetchurl, fetchgit, linkFarm, runCommand, gnutar }: rec {
+  offline_cache = linkFarm "offline" packages;
+  packages = [
+    {
+      name = "_ungap_promise_all_settled___promise_all_settled_1.1.2.tgz";
+      path = fetchurl {
+        name = "_ungap_promise_all_settled___promise_all_settled_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz";
+        sha1 = "aa58042711d6e3275dd37dc597e5d31e8c290a44";
+      };
+    }
+    {
+      name = "abbrev___abbrev_1.1.0.tgz";
+      path = fetchurl {
+        name = "abbrev___abbrev_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.0.tgz";
+        sha1 = "d0554c2256636e2f56e7c2e5ad183f859428d81f";
+      };
+    }
+    {
+      name = "after___after_0.8.2.tgz";
+      path = fetchurl {
+        name = "after___after_0.8.2.tgz";
+        url  = "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz";
+        sha1 = "fedb394f9f0e02aa9768e702bda23b505fae7e1f";
+      };
+    }
+    {
+      name = "ajv___ajv_6.12.4.tgz";
+      path = fetchurl {
+        name = "ajv___ajv_6.12.4.tgz";
+        url  = "https://registry.yarnpkg.com/ajv/-/ajv-6.12.4.tgz";
+        sha1 = "0614facc4522127fa713445c6bfd3ebd376e2234";
+      };
+    }
+    {
+      name = "amdefine___amdefine_1.0.1.tgz";
+      path = fetchurl {
+        name = "amdefine___amdefine_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz";
+        sha1 = "4a5282ac164729e93619bcfd3ad151f817ce91f5";
+      };
+    }
+    {
+      name = "ansi_colors___ansi_colors_4.1.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_regex___ansi_regex_2.1.1.tgz";
+      path = fetchurl {
+        name = "ansi_regex___ansi_regex_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz";
+        sha1 = "c3b33ab5ee360d86e0e628f0468ae7ef27d654df";
+      };
+    }
+    {
+      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_styles___ansi_styles_2.2.1.tgz";
+      path = fetchurl {
+        name = "ansi_styles___ansi_styles_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz";
+        sha1 = "b432dd3358b634cf75e1e4664368240533c1ddbe";
+      };
+    }
+    {
+      name = "ansi_styles___ansi_styles_4.3.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "ansi___ansi_0.3.1.tgz";
+      path = fetchurl {
+        name = "ansi___ansi_0.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/ansi/-/ansi-0.3.1.tgz";
+        sha1 = "0c42d4fb17160d5a9af1e484bace1c66922c1b21";
+      };
+    }
+    {
+      name = "anymatch___anymatch_3.1.1.tgz";
+      path = fetchurl {
+        name = "anymatch___anymatch_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz";
+        sha1 = "c55ecf02185e2469259399310c173ce31233b142";
+      };
+    }
+    {
+      name = "aproba___aproba_1.1.2.tgz";
+      path = fetchurl {
+        name = "aproba___aproba_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/aproba/-/aproba-1.1.2.tgz";
+        sha1 = "45c6629094de4e96f693ef7eab74ae079c240fc1";
+      };
+    }
+    {
+      name = "are_we_there_yet___are_we_there_yet_1.0.6.tgz";
+      path = fetchurl {
+        name = "are_we_there_yet___are_we_there_yet_1.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.0.6.tgz";
+        sha1 = "a2d28c93102aa6cc96245a26cb954de06ec53f0c";
+      };
+    }
+    {
+      name = "are_we_there_yet___are_we_there_yet_1.1.4.tgz";
+      path = fetchurl {
+        name = "are_we_there_yet___are_we_there_yet_1.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz";
+        sha1 = "bb5dca382bb94f05e15194373d16fd3ba1ca110d";
+      };
+    }
+    {
+      name = "argparse___argparse_2.0.1.tgz";
+      path = fetchurl {
+        name = "argparse___argparse_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz";
+        sha1 = "246f50f3ca78a3240f6c997e8a9bd1eac49e4b38";
+      };
+    }
+    {
+      name = "array_index___array_index_1.0.0.tgz";
+      path = fetchurl {
+        name = "array_index___array_index_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/array-index/-/array-index-1.0.0.tgz";
+        sha1 = "ec56a749ee103e4e08c790b9c353df16055b97f9";
+      };
+    }
+    {
+      name = "asn1___asn1_0.2.3.tgz";
+      path = fetchurl {
+        name = "asn1___asn1_0.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz";
+        sha1 = "dac8787713c9966849fc8180777ebe9c1ddf3b86";
+      };
+    }
+    {
+      name = "assert_plus___assert_plus_1.0.0.tgz";
+      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 = "assertion_error___assertion_error_1.1.0.tgz";
+      path = fetchurl {
+        name = "assertion_error___assertion_error_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz";
+        sha1 = "e60b6b0e8f301bd97e5375215bda406c85118c0b";
+      };
+    }
+    {
+      name = "asynckit___asynckit_0.4.0.tgz";
+      path = fetchurl {
+        name = "asynckit___asynckit_0.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz";
+        sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
+      };
+    }
+    {
+      name = "aws_sign2___aws_sign2_0.7.0.tgz";
+      path = fetchurl {
+        name = "aws_sign2___aws_sign2_0.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz";
+        sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8";
+      };
+    }
+    {
+      name = "aws4___aws4_1.10.1.tgz";
+      path = fetchurl {
+        name = "aws4___aws4_1.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/aws4/-/aws4-1.10.1.tgz";
+        sha1 = "e1e82e4f3e999e2cfd61b161280d16a111f86428";
+      };
+    }
+    {
+      name = "babel_code_frame___babel_code_frame_6.26.0.tgz";
+      path = fetchurl {
+        name = "babel_code_frame___babel_code_frame_6.26.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz";
+        sha1 = "63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b";
+      };
+    }
+    {
+      name = "babel_core___babel_core_6.26.3.tgz";
+      path = fetchurl {
+        name = "babel_core___babel_core_6.26.3.tgz";
+        url  = "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz";
+        sha1 = "b2e2f09e342d0f0c88e2f02e067794125e75c207";
+      };
+    }
+    {
+      name = "babel_generator___babel_generator_6.26.1.tgz";
+      path = fetchurl {
+        name = "babel_generator___babel_generator_6.26.1.tgz";
+        url  = "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz";
+        sha1 = "1844408d3b8f0d35a404ea7ac180f087a601bd90";
+      };
+    }
+    {
+      name = "babel_helper_function_name___babel_helper_function_name_6.24.1.tgz";
+      path = fetchurl {
+        name = "babel_helper_function_name___babel_helper_function_name_6.24.1.tgz";
+        url  = "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz";
+        sha1 = "d3475b8c03ed98242a25b48351ab18399d3580a9";
+      };
+    }
+    {
+      name = "babel_helper_get_function_arity___babel_helper_get_function_arity_6.24.1.tgz";
+      path = fetchurl {
+        name = "babel_helper_get_function_arity___babel_helper_get_function_arity_6.24.1.tgz";
+        url  = "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz";
+        sha1 = "8f7782aa93407c41d3aa50908f89b031b1b6853d";
+      };
+    }
+    {
+      name = "babel_helper_remap_async_to_generator___babel_helper_remap_async_to_generator_6.24.1.tgz";
+      path = fetchurl {
+        name = "babel_helper_remap_async_to_generator___babel_helper_remap_async_to_generator_6.24.1.tgz";
+        url  = "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz";
+        sha1 = "5ec581827ad723fecdd381f1c928390676e4551b";
+      };
+    }
+    {
+      name = "babel_helpers___babel_helpers_6.24.1.tgz";
+      path = fetchurl {
+        name = "babel_helpers___babel_helpers_6.24.1.tgz";
+        url  = "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz";
+        sha1 = "3471de9caec388e5c850e597e58a26ddf37602b2";
+      };
+    }
+    {
+      name = "babel_messages___babel_messages_6.23.0.tgz";
+      path = fetchurl {
+        name = "babel_messages___babel_messages_6.23.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz";
+        sha1 = "f3cdf4703858035b2a2951c6ec5edf6c62f2630e";
+      };
+    }
+    {
+      name = "babel_plugin_syntax_async_functions___babel_plugin_syntax_async_functions_6.13.0.tgz";
+      path = fetchurl {
+        name = "babel_plugin_syntax_async_functions___babel_plugin_syntax_async_functions_6.13.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz";
+        sha1 = "cad9cad1191b5ad634bf30ae0872391e0647be95";
+      };
+    }
+    {
+      name = "babel_plugin_transform_async_to_generator___babel_plugin_transform_async_to_generator_6.24.1.tgz";
+      path = fetchurl {
+        name = "babel_plugin_transform_async_to_generator___babel_plugin_transform_async_to_generator_6.24.1.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz";
+        sha1 = "6536e378aff6cb1d5517ac0e40eb3e9fc8d08761";
+      };
+    }
+    {
+      name = "babel_register___babel_register_6.26.0.tgz";
+      path = fetchurl {
+        name = "babel_register___babel_register_6.26.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz";
+        sha1 = "6ed021173e2fcb486d7acb45c6009a856f647071";
+      };
+    }
+    {
+      name = "babel_runtime___babel_runtime_6.23.0.tgz";
+      path = fetchurl {
+        name = "babel_runtime___babel_runtime_6.23.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.23.0.tgz";
+        sha1 = "0a9489f144de70efb3ce4300accdb329e2fc543b";
+      };
+    }
+    {
+      name = "babel_runtime___babel_runtime_6.26.0.tgz";
+      path = fetchurl {
+        name = "babel_runtime___babel_runtime_6.26.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz";
+        sha1 = "965c7058668e82b55d7bfe04ff2337bc8b5647fe";
+      };
+    }
+    {
+      name = "babel_template___babel_template_6.26.0.tgz";
+      path = fetchurl {
+        name = "babel_template___babel_template_6.26.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz";
+        sha1 = "de03e2d16396b069f46dd9fff8521fb1a0e35e02";
+      };
+    }
+    {
+      name = "babel_traverse___babel_traverse_6.26.0.tgz";
+      path = fetchurl {
+        name = "babel_traverse___babel_traverse_6.26.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz";
+        sha1 = "46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee";
+      };
+    }
+    {
+      name = "babel_types___babel_types_6.25.0.tgz";
+      path = fetchurl {
+        name = "babel_types___babel_types_6.25.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-types/-/babel-types-6.25.0.tgz";
+        sha1 = "70afb248d5660e5d18f811d91c8303b54134a18e";
+      };
+    }
+    {
+      name = "babel_types___babel_types_6.26.0.tgz";
+      path = fetchurl {
+        name = "babel_types___babel_types_6.26.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz";
+        sha1 = "a3b073f94ab49eb6fa55cd65227a334380632497";
+      };
+    }
+    {
+      name = "babylon___babylon_6.18.0.tgz";
+      path = fetchurl {
+        name = "babylon___babylon_6.18.0.tgz";
+        url  = "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz";
+        sha1 = "af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3";
+      };
+    }
+    {
+      name = "balanced_match___balanced_match_1.0.0.tgz";
+      path = fetchurl {
+        name = "balanced_match___balanced_match_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz";
+        sha1 = "89b4d199ab2bee49de164ea02b89ce462d71b767";
+      };
+    }
+    {
+      name = "base64_js___base64_js_1.5.1.tgz";
+      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 = "bcrypt_pbkdf___bcrypt_pbkdf_1.0.2.tgz";
+      path = fetchurl {
+        name = "bcrypt_pbkdf___bcrypt_pbkdf_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz";
+        sha1 = "a4301d389b6a43f9b67ff3ca11a3f6637e360e9e";
+      };
+    }
+    {
+      name = "big_integer___big_integer_1.6.48.tgz";
+      path = fetchurl {
+        name = "big_integer___big_integer_1.6.48.tgz";
+        url  = "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.48.tgz";
+        sha1 = "8fd88bd1632cba4a1c8c3e3d7159f08bb95b4b9e";
+      };
+    }
+    {
+      name = "binary_extensions___binary_extensions_2.2.0.tgz";
+      path = fetchurl {
+        name = "binary_extensions___binary_extensions_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz";
+        sha1 = "75f502eeaf9ffde42fc98829645be4ea76bd9e2d";
+      };
+    }
+    {
+      name = "binary___binary_0.3.0.tgz";
+      path = fetchurl {
+        name = "binary___binary_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/binary/-/binary-0.3.0.tgz";
+        sha1 = "9f60553bc5ce8c3386f3b553cff47462adecaa79";
+      };
+    }
+    {
+      name = "bl___bl_4.0.3.tgz";
+      path = fetchurl {
+        name = "bl___bl_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/bl/-/bl-4.0.3.tgz";
+        sha1 = "12d6287adc29080e22a705e5764b2a9522cdc489";
+      };
+    }
+    {
+      name = "bl___bl_3.0.1.tgz";
+      path = fetchurl {
+        name = "bl___bl_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/bl/-/bl-3.0.1.tgz";
+        sha1 = "1cbb439299609e419b5a74d7fce2f8b37d8e5c6f";
+      };
+    }
+    {
+      name = "block_stream___block_stream_0.0.9.tgz";
+      path = fetchurl {
+        name = "block_stream___block_stream_0.0.9.tgz";
+        url  = "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz";
+        sha1 = "13ebfe778a03205cfe03751481ebb4b3300c126a";
+      };
+    }
+    {
+      name = "bluebird___bluebird_3.7.2.tgz";
+      path = fetchurl {
+        name = "bluebird___bluebird_3.7.2.tgz";
+        url  = "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz";
+        sha1 = "9f229c15be272454ffa973ace0dbee79a1b0c36f";
+      };
+    }
+    {
+      name = "bluebird___bluebird_3.4.7.tgz";
+      path = fetchurl {
+        name = "bluebird___bluebird_3.4.7.tgz";
+        url  = "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.7.tgz";
+        sha1 = "f72d760be09b7f76d08ed8fae98b289a8d05fab3";
+      };
+    }
+    {
+      name = "brace_expansion___brace_expansion_1.1.8.tgz";
+      path = fetchurl {
+        name = "brace_expansion___brace_expansion_1.1.8.tgz";
+        url  = "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz";
+        sha1 = "c07b211c7c952ec1f8efd51a77ef0d1d3990a292";
+      };
+    }
+    {
+      name = "braces___braces_3.0.2.tgz";
+      path = fetchurl {
+        name = "braces___braces_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz";
+        sha1 = "3454e1a462ee8d599e236df336cd9ea4f8afe107";
+      };
+    }
+    {
+      name = "browser_stdout___browser_stdout_1.3.1.tgz";
+      path = fetchurl {
+        name = "browser_stdout___browser_stdout_1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz";
+        sha1 = "baa559ee14ced73452229bad7326467c61fabd60";
+      };
+    }
+    {
+      name = "buffer_from___buffer_from_0.1.2.tgz";
+      path = fetchurl {
+        name = "buffer_from___buffer_from_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/buffer-from/-/buffer-from-0.1.2.tgz";
+        sha1 = "15f4b9bcef012044df31142c14333caf6e0260d0";
+      };
+    }
+    {
+      name = "buffer_indexof_polyfill___buffer_indexof_polyfill_1.0.2.tgz";
+      path = fetchurl {
+        name = "buffer_indexof_polyfill___buffer_indexof_polyfill_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.2.tgz";
+        sha1 = "d2732135c5999c64b277fcf9b1abe3498254729c";
+      };
+    }
+    {
+      name = "buffer_shims___buffer_shims_1.0.0.tgz";
+      path = fetchurl {
+        name = "buffer_shims___buffer_shims_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz";
+        sha1 = "9978ce317388c649ad8793028c3477ef044a8b51";
+      };
+    }
+    {
+      name = "buffer___buffer_5.7.1.tgz";
+      path = fetchurl {
+        name = "buffer___buffer_5.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz";
+        sha1 = "ba62e7c13133053582197160851a8f648e99eed0";
+      };
+    }
+    {
+      name = "buffers___buffers_0.1.1.tgz";
+      path = fetchurl {
+        name = "buffers___buffers_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/buffers/-/buffers-0.1.1.tgz";
+        sha1 = "b24579c3bed4d6d396aeee6d9a8ae7f5482ab7bb";
+      };
+    }
+    {
+      name = "camelcase___camelcase_2.1.1.tgz";
+      path = fetchurl {
+        name = "camelcase___camelcase_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz";
+        sha1 = "7c1d16d679a1bbe59ca02cacecfb011e201f5a1f";
+      };
+    }
+    {
+      name = "camelcase___camelcase_6.2.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 = "caseless___caseless_0.12.0.tgz";
+      path = fetchurl {
+        name = "caseless___caseless_0.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz";
+        sha1 = "1b681c21ff84033c826543090689420d187151dc";
+      };
+    }
+    {
+      name = "chai___chai_4.3.4.tgz";
+      path = fetchurl {
+        name = "chai___chai_4.3.4.tgz";
+        url  = "https://registry.yarnpkg.com/chai/-/chai-4.3.4.tgz";
+        sha1 = "b55e655b31e1eac7099be4c08c21964fce2e6c49";
+      };
+    }
+    {
+      name = "chainsaw___chainsaw_0.1.0.tgz";
+      path = fetchurl {
+        name = "chainsaw___chainsaw_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/chainsaw/-/chainsaw-0.1.0.tgz";
+        sha1 = "5eab50b28afe58074d0d58291388828b5e5fbc98";
+      };
+    }
+    {
+      name = "chalk___chalk_1.1.3.tgz";
+      path = fetchurl {
+        name = "chalk___chalk_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz";
+        sha1 = "a8115c55e4a702fe4d150abd3872822a7e09fc98";
+      };
+    }
+    {
+      name = "chalk___chalk_4.1.0.tgz";
+      path = fetchurl {
+        name = "chalk___chalk_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz";
+        sha1 = "4e14870a618d9e2edd97dd8345fd9d9dc315646a";
+      };
+    }
+    {
+      name = "check_error___check_error_1.0.2.tgz";
+      path = fetchurl {
+        name = "check_error___check_error_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz";
+        sha1 = "574d312edd88bb5dd8912e9286dd6c0aed4aac82";
+      };
+    }
+    {
+      name = "chokidar___chokidar_3.5.1.tgz";
+      path = fetchurl {
+        name = "chokidar___chokidar_3.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz";
+        sha1 = "ee9ce7bbebd2b79f49f304799d5468e31e14e68a";
+      };
+    }
+    {
+      name = "chownr___chownr_1.1.4.tgz";
+      path = fetchurl {
+        name = "chownr___chownr_1.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz";
+        sha1 = "6fc9d7b42d32a583596337666e7d08084da2cc6b";
+      };
+    }
+    {
+      name = "chownr___chownr_2.0.0.tgz";
+      path = fetchurl {
+        name = "chownr___chownr_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz";
+        sha1 = "15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece";
+      };
+    }
+    {
+      name = "cliui___cliui_3.2.0.tgz";
+      path = fetchurl {
+        name = "cliui___cliui_3.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz";
+        sha1 = "120601537a916d29940f934da3b48d585a39213d";
+      };
+    }
+    {
+      name = "cliui___cliui_7.0.4.tgz";
+      path = fetchurl {
+        name = "cliui___cliui_7.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz";
+        sha1 = "a0265ee655476fc807aea9df3df8df7783808b4f";
+      };
+    }
+    {
+      name = "cmake_js___cmake_js_5.2.0.tgz";
+      path = fetchurl {
+        name = "cmake_js___cmake_js_5.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/cmake-js/-/cmake-js-5.2.0.tgz";
+        sha1 = "6d72014269a5d23a754a6d170cde9ed2d75eb411";
+      };
+    }
+    {
+      name = "code_point_at___code_point_at_1.1.0.tgz";
+      path = fetchurl {
+        name = "code_point_at___code_point_at_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz";
+        sha1 = "0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77";
+      };
+    }
+    {
+      name = "color_convert___color_convert_2.0.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "color_name___color_name_1.1.4.tgz";
+      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 = "colors___colors_0.6.2.tgz";
+      path = fetchurl {
+        name = "colors___colors_0.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/colors/-/colors-0.6.2.tgz";
+        sha1 = "2423fe6678ac0c5dae8852e5d0e5be08c997abcc";
+      };
+    }
+    {
+      name = "combined_stream___combined_stream_1.0.8.tgz";
+      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";
+      };
+    }
+    {
+      name = "commander___commander_2.9.0.tgz";
+      path = fetchurl {
+        name = "commander___commander_2.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz";
+        sha1 = "9c99094176e12240cb22d6c5146098400fe0f7d4";
+      };
+    }
+    {
+      name = "commander___commander_2.2.0.tgz";
+      path = fetchurl {
+        name = "commander___commander_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/commander/-/commander-2.2.0.tgz";
+        sha1 = "175ad4b9317f3ff615f201c1e57224f55a3e91df";
+      };
+    }
+    {
+      name = "concat_map___concat_map_0.0.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "console_control_strings___console_control_strings_1.1.0.tgz";
+      path = fetchurl {
+        name = "console_control_strings___console_control_strings_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz";
+        sha1 = "3d7cf4464db6446ea644bf4b39507f9851008e8e";
+      };
+    }
+    {
+      name = "convert_source_map___convert_source_map_1.5.1.tgz";
+      path = fetchurl {
+        name = "convert_source_map___convert_source_map_1.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz";
+        sha1 = "b8278097b9bc229365de5c62cf5fcaed8b5599e5";
+      };
+    }
+    {
+      name = "core_js___core_js_2.4.1.tgz";
+      path = fetchurl {
+        name = "core_js___core_js_2.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz";
+        sha1 = "4de911e667b0eae9124e34254b53aea6fc618d3e";
+      };
+    }
+    {
+      name = "core_js___core_js_2.5.7.tgz";
+      path = fetchurl {
+        name = "core_js___core_js_2.5.7.tgz";
+        url  = "https://registry.yarnpkg.com/core-js/-/core-js-2.5.7.tgz";
+        sha1 = "f972608ff0cead68b841a16a932d0b183791814e";
+      };
+    }
+    {
+      name = "core_util_is___core_util_is_1.0.2.tgz";
+      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";
+      };
+    }
+    {
+      name = "d___d_1.0.1.tgz";
+      path = fetchurl {
+        name = "d___d_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz";
+        sha1 = "8698095372d58dbee346ffd0c7093f99f8f9eb5a";
+      };
+    }
+    {
+      name = "dashdash___dashdash_1.14.1.tgz";
+      path = fetchurl {
+        name = "dashdash___dashdash_1.14.1.tgz";
+        url  = "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz";
+        sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0";
+      };
+    }
+    {
+      name = "debug___debug_4.3.1.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_2.6.9.tgz";
+      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.2.0.tgz";
+      path = fetchurl {
+        name = "debug___debug_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/debug/-/debug-4.2.0.tgz";
+        sha1 = "7f150f93920e94c58f5574c2fd01a3110effe7f1";
+      };
+    }
+    {
+      name = "decamelize___decamelize_1.2.0.tgz";
+      path = fetchurl {
+        name = "decamelize___decamelize_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz";
+        sha1 = "f6534d15148269b20352e7bee26f501f9a191290";
+      };
+    }
+    {
+      name = "decamelize___decamelize_4.0.0.tgz";
+      path = fetchurl {
+        name = "decamelize___decamelize_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz";
+        sha1 = "aa472d7bf660eb15f3494efd531cab7f2a709837";
+      };
+    }
+    {
+      name = "decompress_response___decompress_response_4.2.1.tgz";
+      path = fetchurl {
+        name = "decompress_response___decompress_response_4.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/decompress-response/-/decompress-response-4.2.1.tgz";
+        sha1 = "414023cc7a302da25ce2ec82d0d5238ccafd8986";
+      };
+    }
+    {
+      name = "deep_eql___deep_eql_3.0.1.tgz";
+      path = fetchurl {
+        name = "deep_eql___deep_eql_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz";
+        sha1 = "dfc9404400ad1c8fe023e7da1df1c147c4b444df";
+      };
+    }
+    {
+      name = "deep_extend___deep_extend_0.6.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "delayed_stream___delayed_stream_1.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "delegates___delegates_1.0.0.tgz";
+      path = fetchurl {
+        name = "delegates___delegates_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz";
+        sha1 = "84c6e159b81904fdca59a0ef44cd870d31250f9a";
+      };
+    }
+    {
+      name = "detect_indent___detect_indent_4.0.0.tgz";
+      path = fetchurl {
+        name = "detect_indent___detect_indent_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz";
+        sha1 = "f76d064352cdf43a1cb6ce619c4ee3a9475de208";
+      };
+    }
+    {
+      name = "detect_libc___detect_libc_1.0.3.tgz";
+      path = fetchurl {
+        name = "detect_libc___detect_libc_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz";
+        sha1 = "fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b";
+      };
+    }
+    {
+      name = "diff___diff_5.0.0.tgz";
+      path = fetchurl {
+        name = "diff___diff_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz";
+        sha1 = "7ed6ad76d859d030787ec35855f5b1daf31d852b";
+      };
+    }
+    {
+      name = "duplexer2___duplexer2_0.0.2.tgz";
+      path = fetchurl {
+        name = "duplexer2___duplexer2_0.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz";
+        sha1 = "c614dcf67e2fb14995a91711e5a617e8a60a31db";
+      };
+    }
+    {
+      name = "duplexer2___duplexer2_0.1.4.tgz";
+      path = fetchurl {
+        name = "duplexer2___duplexer2_0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz";
+        sha1 = "8b12dab878c0d69e3e7891051662a32fc6bddcc1";
+      };
+    }
+    {
+      name = "each_series_async___each_series_async_1.0.1.tgz";
+      path = fetchurl {
+        name = "each_series_async___each_series_async_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/each-series-async/-/each-series-async-1.0.1.tgz";
+        sha1 = "7e3f8dfa5af934663960e5a17561362909b34328";
+      };
+    }
+    {
+      name = "ecc_jsbn___ecc_jsbn_0.1.1.tgz";
+      path = fetchurl {
+        name = "ecc_jsbn___ecc_jsbn_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz";
+        sha1 = "0fc73a9ed5f0d53c38193398523ef7e543777505";
+      };
+    }
+    {
+      name = "emoji_regex___emoji_regex_8.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "end_of_stream___end_of_stream_1.4.4.tgz";
+      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";
+      };
+    }
+    {
+      name = "env_paths___env_paths_2.2.0.tgz";
+      path = fetchurl {
+        name = "env_paths___env_paths_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.0.tgz";
+        sha1 = "cdca557dc009152917d6166e2febe1f039685e43";
+      };
+    }
+    {
+      name = "es5_ext___es5_ext_0.10.53.tgz";
+      path = fetchurl {
+        name = "es5_ext___es5_ext_0.10.53.tgz";
+        url  = "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.53.tgz";
+        sha1 = "93c5a3acfdbef275220ad72644ad02ee18368de1";
+      };
+    }
+    {
+      name = "es6_iterator___es6_iterator_2.0.3.tgz";
+      path = fetchurl {
+        name = "es6_iterator___es6_iterator_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz";
+        sha1 = "a7de889141a05a94b0854403b2d0a0fbfa98f3b7";
+      };
+    }
+    {
+      name = "es6_symbol___es6_symbol_3.1.3.tgz";
+      path = fetchurl {
+        name = "es6_symbol___es6_symbol_3.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz";
+        sha1 = "bad5d3c1bcdac28269f4cb331e431c78ac705d18";
+      };
+    }
+    {
+      name = "escalade___escalade_3.1.1.tgz";
+      path = fetchurl {
+        name = "escalade___escalade_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz";
+        sha1 = "d8cfdc7000965c5a0174b4a82eaa5c0552742e40";
+      };
+    }
+    {
+      name = "escape_string_regexp___escape_string_regexp_4.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "escape_string_regexp___escape_string_regexp_1.0.5.tgz";
+      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";
+      };
+    }
+    {
+      name = "esutils___esutils_2.0.2.tgz";
+      path = fetchurl {
+        name = "esutils___esutils_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz";
+        sha1 = "0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b";
+      };
+    }
+    {
+      name = "execspawn___execspawn_1.0.1.tgz";
+      path = fetchurl {
+        name = "execspawn___execspawn_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/execspawn/-/execspawn-1.0.1.tgz";
+        sha1 = "8286f9dde7cecde7905fbdc04e24f368f23f8da6";
+      };
+    }
+    {
+      name = "expand_template___expand_template_2.0.3.tgz";
+      path = fetchurl {
+        name = "expand_template___expand_template_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz";
+        sha1 = "6e14b3fcee0f3a6340ecb57d2e8918692052a47c";
+      };
+    }
+    {
+      name = "ext___ext_1.4.0.tgz";
+      path = fetchurl {
+        name = "ext___ext_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/ext/-/ext-1.4.0.tgz";
+        sha1 = "89ae7a07158f79d35517882904324077e4379244";
+      };
+    }
+    {
+      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 = "extsprintf___extsprintf_1.0.2.tgz";
+      path = fetchurl {
+        name = "extsprintf___extsprintf_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz";
+        sha1 = "e1080e0658e300b06294990cc70e1502235fd550";
+      };
+    }
+    {
+      name = "fast_deep_equal___fast_deep_equal_3.1.3.tgz";
+      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";
+      };
+    }
+    {
+      name = "fast_json_stable_stringify___fast_json_stable_stringify_2.0.0.tgz";
+      path = fetchurl {
+        name = "fast_json_stable_stringify___fast_json_stable_stringify_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz";
+        sha1 = "d5142c0caee6b1189f87d3a76111064f86c8bbf2";
+      };
+    }
+    {
+      name = "fill_range___fill_range_7.0.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "find_up___find_up_5.0.0.tgz";
+      path = fetchurl {
+        name = "find_up___find_up_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz";
+        sha1 = "4c92819ecb7083561e4f4a240a86be5198f536fc";
+      };
+    }
+    {
+      name = "flat___flat_5.0.2.tgz";
+      path = fetchurl {
+        name = "flat___flat_5.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz";
+        sha1 = "8ca6fe332069ffa9d324c327198c598259ceb241";
+      };
+    }
+    {
+      name = "forever_agent___forever_agent_0.6.1.tgz";
+      path = fetchurl {
+        name = "forever_agent___forever_agent_0.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz";
+        sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91";
+      };
+    }
+    {
+      name = "form_data___form_data_2.3.3.tgz";
+      path = fetchurl {
+        name = "form_data___form_data_2.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz";
+        sha1 = "dcce52c05f644f298c6a7ab936bd724ceffbf3a6";
+      };
+    }
+    {
+      name = "fs_constants___fs_constants_1.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 = "fs_extra___fs_extra_5.0.0.tgz";
+      path = fetchurl {
+        name = "fs_extra___fs_extra_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/fs-extra/-/fs-extra-5.0.0.tgz";
+        sha1 = "414d0110cdd06705734d055652c5411260c31abd";
+      };
+    }
+    {
+      name = "fs_minipass___fs_minipass_1.2.7.tgz";
+      path = fetchurl {
+        name = "fs_minipass___fs_minipass_1.2.7.tgz";
+        url  = "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz";
+        sha1 = "ccff8570841e7fe4265693da88936c55aed7f7c7";
+      };
+    }
+    {
+      name = "fs_minipass___fs_minipass_2.1.0.tgz";
+      path = fetchurl {
+        name = "fs_minipass___fs_minipass_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz";
+        sha1 = "7f5036fdbf12c63c169190cbe4199c852271f9fb";
+      };
+    }
+    {
+      name = "fs.realpath___fs.realpath_1.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "fsevents___fsevents_2.3.2.tgz";
+      path = fetchurl {
+        name = "fsevents___fsevents_2.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz";
+        sha1 = "8a526f78b8fdf4623b709e0b975c52c24c02fd1a";
+      };
+    }
+    {
+      name = "fstream___fstream_1.0.12.tgz";
+      path = fetchurl {
+        name = "fstream___fstream_1.0.12.tgz";
+        url  = "https://registry.yarnpkg.com/fstream/-/fstream-1.0.12.tgz";
+        sha1 = "4e8ba8ee2d48be4f7d0de505455548eae5932045";
+      };
+    }
+    {
+      name = "gauge___gauge_1.2.7.tgz";
+      path = fetchurl {
+        name = "gauge___gauge_1.2.7.tgz";
+        url  = "https://registry.yarnpkg.com/gauge/-/gauge-1.2.7.tgz";
+        sha1 = "e9cec5483d3d4ee0ef44b60a7d99e4935e136d93";
+      };
+    }
+    {
+      name = "gauge___gauge_2.7.4.tgz";
+      path = fetchurl {
+        name = "gauge___gauge_2.7.4.tgz";
+        url  = "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz";
+        sha1 = "2c03405c7538c39d7eb37b317022e325fb018bf7";
+      };
+    }
+    {
+      name = "get_caller_file___get_caller_file_2.0.5.tgz";
+      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";
+      };
+    }
+    {
+      name = "get_func_name___get_func_name_2.0.0.tgz";
+      path = fetchurl {
+        name = "get_func_name___get_func_name_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz";
+        sha1 = "ead774abee72e20409433a066366023dd6887a41";
+      };
+    }
+    {
+      name = "getpass___getpass_0.1.7.tgz";
+      path = fetchurl {
+        name = "getpass___getpass_0.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz";
+        sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa";
+      };
+    }
+    {
+      name = "ghreleases___ghreleases_3.0.2.tgz";
+      path = fetchurl {
+        name = "ghreleases___ghreleases_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/ghreleases/-/ghreleases-3.0.2.tgz";
+        sha1 = "1bdb6d31ec03a24a0d80f58f5e9a84a4db725818";
+      };
+    }
+    {
+      name = "ghrepos___ghrepos_2.1.0.tgz";
+      path = fetchurl {
+        name = "ghrepos___ghrepos_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/ghrepos/-/ghrepos-2.1.0.tgz";
+        sha1 = "abaf558b690b722c70c7ad45076f6f9be8e495e1";
+      };
+    }
+    {
+      name = "ghutils___ghutils_3.2.6.tgz";
+      path = fetchurl {
+        name = "ghutils___ghutils_3.2.6.tgz";
+        url  = "https://registry.yarnpkg.com/ghutils/-/ghutils-3.2.6.tgz";
+        sha1 = "d43986e267da02787464d97a6489659e4609bb1f";
+      };
+    }
+    {
+      name = "github_from_package___github_from_package_0.0.0.tgz";
+      path = fetchurl {
+        name = "github_from_package___github_from_package_0.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz";
+        sha1 = "97fb5d96bfde8973313f20e8288ef9a167fa64ce";
+      };
+    }
+    {
+      name = "glob_parent___glob_parent_5.1.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___glob_7.1.6.tgz";
+      path = fetchurl {
+        name = "glob___glob_7.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz";
+        sha1 = "141f33b81a7c2492e125594307480c46679278a6";
+      };
+    }
+    {
+      name = "glob___glob_5.0.15.tgz";
+      path = fetchurl {
+        name = "glob___glob_5.0.15.tgz";
+        url  = "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz";
+        sha1 = "1bc936b9e02f4a603fcc222ecf7633d30b8b93b1";
+      };
+    }
+    {
+      name = "globals___globals_9.18.0.tgz";
+      path = fetchurl {
+        name = "globals___globals_9.18.0.tgz";
+        url  = "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz";
+        sha1 = "aa3896b3e69b487f17e31ed2143d69a8e30c2d8a";
+      };
+    }
+    {
+      name = "graceful_fs___graceful_fs_4.2.3.tgz";
+      path = fetchurl {
+        name = "graceful_fs___graceful_fs_4.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz";
+        sha1 = "4a12ff1b60376ef09862c2093edd908328be8423";
+      };
+    }
+    {
+      name = "graceful_readlink___graceful_readlink_1.0.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "growl___growl_1.10.5.tgz";
+      path = fetchurl {
+        name = "growl___growl_1.10.5.tgz";
+        url  = "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz";
+        sha1 = "f2735dc2283674fa67478b10181059355c369e5e";
+      };
+    }
+    {
+      name = "har_schema___har_schema_2.0.0.tgz";
+      path = fetchurl {
+        name = "har_schema___har_schema_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz";
+        sha1 = "a94c2224ebcac04782a0d9035521f24735b7ec92";
+      };
+    }
+    {
+      name = "har_validator___har_validator_5.1.5.tgz";
+      path = fetchurl {
+        name = "har_validator___har_validator_5.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz";
+        sha1 = "1f0803b9f8cb20c0fa13822df1ecddb36bde1efd";
+      };
+    }
+    {
+      name = "has_ansi___has_ansi_2.0.0.tgz";
+      path = fetchurl {
+        name = "has_ansi___has_ansi_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz";
+        sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91";
+      };
+    }
+    {
+      name = "has_flag___has_flag_4.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "has_unicode___has_unicode_2.0.1.tgz";
+      path = fetchurl {
+        name = "has_unicode___has_unicode_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz";
+        sha1 = "e0e6fe6a28cf51138855e086d1691e771de2a8b9";
+      };
+    }
+    {
+      name = "he___he_1.2.0.tgz";
+      path = fetchurl {
+        name = "he___he_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz";
+        sha1 = "84ae65fa7eafb165fddb61566ae14baf05664f0f";
+      };
+    }
+    {
+      name = "home_or_tmp___home_or_tmp_2.0.0.tgz";
+      path = fetchurl {
+        name = "home_or_tmp___home_or_tmp_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz";
+        sha1 = "e36c3f2d2cae7d746a857e38d18d5f32a7882db8";
+      };
+    }
+    {
+      name = "http_signature___http_signature_1.2.0.tgz";
+      path = fetchurl {
+        name = "http_signature___http_signature_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz";
+        sha1 = "9aecd925114772f3d95b65a60abb8f7c18fbace1";
+      };
+    }
+    {
+      name = "hyperquest___hyperquest_2.1.3.tgz";
+      path = fetchurl {
+        name = "hyperquest___hyperquest_2.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/hyperquest/-/hyperquest-2.1.3.tgz";
+        sha1 = "523127d7a343181b40bf324e231d2576edf52633";
+      };
+    }
+    {
+      name = "ieee754___ieee754_1.2.1.tgz";
+      path = fetchurl {
+        name = "ieee754___ieee754_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz";
+        sha1 = "8eb7a10a63fff25d15a57b001586d177d1b0d352";
+      };
+    }
+    {
+      name = "inflight___inflight_1.0.6.tgz";
+      path = fetchurl {
+        name = "inflight___inflight_1.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz";
+        sha1 = "49bd6331d7d02d0c09bc910a1075ba8165b56df9";
+      };
+    }
+    {
+      name = "inherits___inherits_2.0.3.tgz";
+      path = fetchurl {
+        name = "inherits___inherits_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz";
+        sha1 = "633c2c83e3da42a502f52466022480f4208261de";
+      };
+    }
+    {
+      name = "inherits___inherits_2.0.4.tgz";
+      path = fetchurl {
+        name = "inherits___inherits_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz";
+        sha1 = "0fa2c64f932917c3433a0ded55363aae37416b7c";
+      };
+    }
+    {
+      name = "ini___ini_1.3.7.tgz";
+      path = fetchurl {
+        name = "ini___ini_1.3.7.tgz";
+        url  = "https://registry.yarnpkg.com/ini/-/ini-1.3.7.tgz";
+        sha1 = "a09363e1911972ea16d7a8851005d84cf09a9a84";
+      };
+    }
+    {
+      name = "invariant___invariant_2.2.2.tgz";
+      path = fetchurl {
+        name = "invariant___invariant_2.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz";
+        sha1 = "9e1f56ac0acdb6bf303306f338be3b204ae60360";
+      };
+    }
+    {
+      name = "invert_kv___invert_kv_1.0.0.tgz";
+      path = fetchurl {
+        name = "invert_kv___invert_kv_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz";
+        sha1 = "104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6";
+      };
+    }
+    {
+      name = "is_binary_path___is_binary_path_2.1.0.tgz";
+      path = fetchurl {
+        name = "is_binary_path___is_binary_path_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz";
+        sha1 = "ea1f7f3b80f064236e83470f86c09c254fb45b09";
+      };
+    }
+    {
+      name = "is_extglob___is_extglob_2.1.1.tgz";
+      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_finite___is_finite_1.0.2.tgz";
+      path = fetchurl {
+        name = "is_finite___is_finite_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz";
+        sha1 = "cc6677695602be550ef11e8b4aa6305342b6d0aa";
+      };
+    }
+    {
+      name = "is_fullwidth_code_point___is_fullwidth_code_point_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_fullwidth_code_point___is_fullwidth_code_point_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz";
+        sha1 = "ef9e31386f031a7f0d643af82fde50c457ef00cb";
+      };
+    }
+    {
+      name = "is_fullwidth_code_point___is_fullwidth_code_point_3.0.0.tgz";
+      path = fetchurl {
+        name = "is_fullwidth_code_point___is_fullwidth_code_point_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz";
+        sha1 = "f116f8064fe90b3f7844a38997c0b75051269f1d";
+      };
+    }
+    {
+      name = "is_glob___is_glob_4.0.1.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_iojs___is_iojs_1.1.0.tgz";
+      path = fetchurl {
+        name = "is_iojs___is_iojs_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-iojs/-/is-iojs-1.1.0.tgz";
+        sha1 = "4c11033b5d5d94d6eab3775dedc9be7d008325f1";
+      };
+    }
+    {
+      name = "is_number___is_number_7.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "is_plain_obj___is_plain_obj_2.1.0.tgz";
+      path = fetchurl {
+        name = "is_plain_obj___is_plain_obj_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz";
+        sha1 = "45e42e37fccf1f40da8e5f76ee21515840c09287";
+      };
+    }
+    {
+      name = "is_typedarray___is_typedarray_1.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "isarray___isarray_0.0.1.tgz";
+      path = fetchurl {
+        name = "isarray___isarray_0.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz";
+        sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf";
+      };
+    }
+    {
+      name = "isarray___isarray_1.0.0.tgz";
+      path = fetchurl {
+        name = "isarray___isarray_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz";
+        sha1 = "bb935d48582cba168c06834957a54a3e07124f11";
+      };
+    }
+    {
+      name = "isexe___isexe_2.0.0.tgz";
+      path = fetchurl {
+        name = "isexe___isexe_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz";
+        sha1 = "e8fbf374dc556ff8947a10dcb0572d633f2cfa10";
+      };
+    }
+    {
+      name = "isstream___isstream_0.1.2.tgz";
+      path = fetchurl {
+        name = "isstream___isstream_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz";
+        sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a";
+      };
+    }
+    {
+      name = "js_tokens___js_tokens_3.0.2.tgz";
+      path = fetchurl {
+        name = "js_tokens___js_tokens_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz";
+        sha1 = "9866df395102130e38f7f996bceb65443209c25b";
+      };
+    }
+    {
+      name = "js_yaml___js_yaml_4.0.0.tgz";
+      path = fetchurl {
+        name = "js_yaml___js_yaml_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.0.0.tgz";
+        sha1 = "f426bc0ff4b4051926cd588c71113183409a121f";
+      };
+    }
+    {
+      name = "jsbn___jsbn_0.1.1.tgz";
+      path = fetchurl {
+        name = "jsbn___jsbn_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz";
+        sha1 = "a5e654c2e5a2deb5f201d96cefbca80c0ef2f513";
+      };
+    }
+    {
+      name = "jsesc___jsesc_1.3.0.tgz";
+      path = fetchurl {
+        name = "jsesc___jsesc_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz";
+        sha1 = "46c3fec8c1892b12b0833db9bc7622176dbab34b";
+      };
+    }
+    {
+      name = "json_schema_traverse___json_schema_traverse_0.4.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_schema___json_schema_0.2.3.tgz";
+      path = fetchurl {
+        name = "json_schema___json_schema_0.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz";
+        sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13";
+      };
+    }
+    {
+      name = "json_stringify_safe___json_stringify_safe_5.0.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "json5___json5_0.5.1.tgz";
+      path = fetchurl {
+        name = "json5___json5_0.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz";
+        sha1 = "1eade7acc012034ad84e2396767ead9fa5495821";
+      };
+    }
+    {
+      name = "jsonfile___jsonfile_4.0.0.tgz";
+      path = fetchurl {
+        name = "jsonfile___jsonfile_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz";
+        sha1 = "8771aae0799b64076b76640fca058f9c10e33ecb";
+      };
+    }
+    {
+      name = "jsonist___jsonist_2.1.2.tgz";
+      path = fetchurl {
+        name = "jsonist___jsonist_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/jsonist/-/jsonist-2.1.2.tgz";
+        sha1 = "c1377311e8fc857abe7aa3df197116a911f95324";
+      };
+    }
+    {
+      name = "jsprim___jsprim_1.4.0.tgz";
+      path = fetchurl {
+        name = "jsprim___jsprim_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.0.tgz";
+        sha1 = "a3b87e40298d8c380552d8cc7628a0bb95a22918";
+      };
+    }
+    {
+      name = "lcid___lcid_1.0.0.tgz";
+      path = fetchurl {
+        name = "lcid___lcid_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz";
+        sha1 = "308accafa0bc483a3867b4b6f2b9506251d1b835";
+      };
+    }
+    {
+      name = "listenercount___listenercount_1.0.1.tgz";
+      path = fetchurl {
+        name = "listenercount___listenercount_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/listenercount/-/listenercount-1.0.1.tgz";
+        sha1 = "84c8a72ab59c4725321480c975e6508342e70937";
+      };
+    }
+    {
+      name = "locate_path___locate_path_6.0.0.tgz";
+      path = fetchurl {
+        name = "locate_path___locate_path_6.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz";
+        sha1 = "55321eb309febbc59c4801d931a72452a681d286";
+      };
+    }
+    {
+      name = "lodash.pad___lodash.pad_4.5.1.tgz";
+      path = fetchurl {
+        name = "lodash.pad___lodash.pad_4.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.pad/-/lodash.pad-4.5.1.tgz";
+        sha1 = "4330949a833a7c8da22cc20f6a26c4d59debba70";
+      };
+    }
+    {
+      name = "lodash.padend___lodash.padend_4.6.1.tgz";
+      path = fetchurl {
+        name = "lodash.padend___lodash.padend_4.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.padend/-/lodash.padend-4.6.1.tgz";
+        sha1 = "53ccba047d06e158d311f45da625f4e49e6f166e";
+      };
+    }
+    {
+      name = "lodash.padstart___lodash.padstart_4.6.1.tgz";
+      path = fetchurl {
+        name = "lodash.padstart___lodash.padstart_4.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.padstart/-/lodash.padstart-4.6.1.tgz";
+        sha1 = "d2e3eebff0d9d39ad50f5cbd1b52a7bce6bb611b";
+      };
+    }
+    {
+      name = "lodash.uniq___lodash.uniq_4.5.0.tgz";
+      path = fetchurl {
+        name = "lodash.uniq___lodash.uniq_4.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz";
+        sha1 = "d0225373aeb652adc1bc82e4945339a842754773";
+      };
+    }
+    {
+      name = "lodash___lodash_4.17.19.tgz";
+      path = fetchurl {
+        name = "lodash___lodash_4.17.19.tgz";
+        url  = "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz";
+        sha1 = "e48ddedbe30b3321783c5b4301fbd353bc1e4a4b";
+      };
+    }
+    {
+      name = "log_symbols___log_symbols_4.0.0.tgz";
+      path = fetchurl {
+        name = "log_symbols___log_symbols_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz";
+        sha1 = "69b3cc46d20f448eccdb75ea1fa733d9e821c920";
+      };
+    }
+    {
+      name = "loose_envify___loose_envify_1.3.1.tgz";
+      path = fetchurl {
+        name = "loose_envify___loose_envify_1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz";
+        sha1 = "d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848";
+      };
+    }
+    {
+      name = "memory_stream___memory_stream_0.0.3.tgz";
+      path = fetchurl {
+        name = "memory_stream___memory_stream_0.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/memory-stream/-/memory-stream-0.0.3.tgz";
+        sha1 = "ebe8dd1c3b8bc38c0e7941e9ddd5aebe6b4de83f";
+      };
+    }
+    {
+      name = "mime_db___mime_db_1.44.0.tgz";
+      path = fetchurl {
+        name = "mime_db___mime_db_1.44.0.tgz";
+        url  = "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz";
+        sha1 = "fa11c5eb0aca1334b4233cb4d52f10c5a6272f92";
+      };
+    }
+    {
+      name = "mime_types___mime_types_2.1.27.tgz";
+      path = fetchurl {
+        name = "mime_types___mime_types_2.1.27.tgz";
+        url  = "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz";
+        sha1 = "47949f98e279ea53119f5722e0f34e529bec009f";
+      };
+    }
+    {
+      name = "mimic_response___mimic_response_2.1.0.tgz";
+      path = fetchurl {
+        name = "mimic_response___mimic_response_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/mimic-response/-/mimic-response-2.1.0.tgz";
+        sha1 = "d13763d35f613d09ec37ebb30bac0469c0ee8f43";
+      };
+    }
+    {
+      name = "minimatch___minimatch_3.0.4.tgz";
+      path = fetchurl {
+        name = "minimatch___minimatch_3.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz";
+        sha1 = "5166e286457f03306064be5497e8dbb0c3d32083";
+      };
+    }
+    {
+      name = "minimist___minimist_1.2.5.tgz";
+      path = fetchurl {
+        name = "minimist___minimist_1.2.5.tgz";
+        url  = "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz";
+        sha1 = "67d66014b66a6a8aaa0c083c5fd58df4e4e97602";
+      };
+    }
+    {
+      name = "minipass___minipass_2.9.0.tgz";
+      path = fetchurl {
+        name = "minipass___minipass_2.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz";
+        sha1 = "e713762e7d3e32fed803115cf93e04bca9fcc9a6";
+      };
+    }
+    {
+      name = "minipass___minipass_3.1.3.tgz";
+      path = fetchurl {
+        name = "minipass___minipass_3.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/minipass/-/minipass-3.1.3.tgz";
+        sha1 = "7d42ff1f39635482e15f9cdb53184deebd5815fd";
+      };
+    }
+    {
+      name = "minizlib___minizlib_1.3.3.tgz";
+      path = fetchurl {
+        name = "minizlib___minizlib_1.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz";
+        sha1 = "2290de96818a34c29551c8a8d301216bd65a861d";
+      };
+    }
+    {
+      name = "minizlib___minizlib_2.1.2.tgz";
+      path = fetchurl {
+        name = "minizlib___minizlib_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz";
+        sha1 = "e90d3466ba209b932451508a11ce3d3632145931";
+      };
+    }
+    {
+      name = "mkdirp_classic___mkdirp_classic_0.5.3.tgz";
+      path = fetchurl {
+        name = "mkdirp_classic___mkdirp_classic_0.5.3.tgz";
+        url  = "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz";
+        sha1 = "fa10c9115cc6d8865be221ba47ee9bed78601113";
+      };
+    }
+    {
+      name = "mkdirp___mkdirp_0.5.5.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_1.0.4.tgz";
+      path = fetchurl {
+        name = "mkdirp___mkdirp_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz";
+        sha1 = "3eb5ed62622756d79a5f0e2a221dfebad75c2f7e";
+      };
+    }
+    {
+      name = "mocha___mocha_8.3.2.tgz";
+      path = fetchurl {
+        name = "mocha___mocha_8.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/mocha/-/mocha-8.3.2.tgz";
+        sha1 = "53406f195fa86fbdebe71f8b1c6fb23221d69fcc";
+      };
+    }
+    {
+      name = "ms___ms_2.0.0.tgz";
+      path = fetchurl {
+        name = "ms___ms_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz";
+        sha1 = "5608aeadfc00be6c2901df5f9861788de0d597c8";
+      };
+    }
+    {
+      name = "ms___ms_2.1.2.tgz";
+      path = fetchurl {
+        name = "ms___ms_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz";
+        sha1 = "d09d1f357b443f493382a8eb3ccd183872ae6009";
+      };
+    }
+    {
+      name = "ms___ms_2.1.3.tgz";
+      path = fetchurl {
+        name = "ms___ms_2.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz";
+        sha1 = "574c8138ce1d2b5861f0b44579dbadd60c6615b2";
+      };
+    }
+    {
+      name = "nanoid___nanoid_3.1.20.tgz";
+      path = fetchurl {
+        name = "nanoid___nanoid_3.1.20.tgz";
+        url  = "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.20.tgz";
+        sha1 = "badc263c6b1dcf14b71efaa85f6ab4c1d6cfc788";
+      };
+    }
+    {
+      name = "napi_build_utils___napi_build_utils_1.0.2.tgz";
+      path = fetchurl {
+        name = "napi_build_utils___napi_build_utils_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/napi-build-utils/-/napi-build-utils-1.0.2.tgz";
+        sha1 = "b1fddc0b2c46e380a0b7a76f984dd47c41a13806";
+      };
+    }
+    {
+      name = "next_tick___next_tick_1.0.0.tgz";
+      path = fetchurl {
+        name = "next_tick___next_tick_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz";
+        sha1 = "ca86d1fe8828169b0120208e3dc8424b9db8342c";
+      };
+    }
+    {
+      name = "node_abi___node_abi_2.21.0.tgz";
+      path = fetchurl {
+        name = "node_abi___node_abi_2.21.0.tgz";
+        url  = "https://registry.yarnpkg.com/node-abi/-/node-abi-2.21.0.tgz";
+        sha1 = "c2dc9ebad6f4f53d6ea9b531e7b8faad81041d48";
+      };
+    }
+    {
+      name = "node_addon_api___node_addon_api_3.1.0.tgz";
+      path = fetchurl {
+        name = "node_addon_api___node_addon_api_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.1.0.tgz";
+        sha1 = "98b21931557466c6729e51cb77cd39c965f42239";
+      };
+    }
+    {
+      name = "node_cpplint___node_cpplint_0.4.0.tgz";
+      path = fetchurl {
+        name = "node_cpplint___node_cpplint_0.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/node-cpplint/-/node-cpplint-0.4.0.tgz";
+        sha1 = "35827fe7b95ccceff0cd7f46ede4cba44b8ef88c";
+      };
+    }
+    {
+      name = "node_gyp___node_gyp_6.1.0.tgz";
+      path = fetchurl {
+        name = "node_gyp___node_gyp_6.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/node-gyp/-/node-gyp-6.1.0.tgz";
+        sha1 = "64e31c61a4695ad304c1d5b82cf6b7c79cc79f3f";
+      };
+    }
+    {
+      name = "node_gyp___node_gyp_7.1.2.tgz";
+      path = fetchurl {
+        name = "node_gyp___node_gyp_7.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/node-gyp/-/node-gyp-7.1.2.tgz";
+        sha1 = "21a810aebb187120251c3bcec979af1587b188ae";
+      };
+    }
+    {
+      name = "node_ninja___node_ninja_1.0.2.tgz";
+      path = fetchurl {
+        name = "node_ninja___node_ninja_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/node-ninja/-/node-ninja-1.0.2.tgz";
+        sha1 = "20a09e57b92e2df591993d4bf098ac3e727062b6";
+      };
+    }
+    {
+      name = "noop_logger___noop_logger_0.1.1.tgz";
+      path = fetchurl {
+        name = "noop_logger___noop_logger_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/noop-logger/-/noop-logger-0.1.1.tgz";
+        sha1 = "94a2b1633c4f1317553007d8966fd0e841b6a4c2";
+      };
+    }
+    {
+      name = "nopt___nopt_3.0.6.tgz";
+      path = fetchurl {
+        name = "nopt___nopt_3.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz";
+        sha1 = "c6465dbf08abcd4db359317f79ac68a646b28ff9";
+      };
+    }
+    {
+      name = "nopt___nopt_4.0.3.tgz";
+      path = fetchurl {
+        name = "nopt___nopt_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/nopt/-/nopt-4.0.3.tgz";
+        sha1 = "a375cad9d02fd921278d954c2254d5aa57e15e48";
+      };
+    }
+    {
+      name = "nopt___nopt_5.0.0.tgz";
+      path = fetchurl {
+        name = "nopt___nopt_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz";
+        sha1 = "530942bb58a512fccafe53fe210f13a25355dc88";
+      };
+    }
+    {
+      name = "normalize_path___normalize_path_3.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "npm_path___npm_path_2.0.4.tgz";
+      path = fetchurl {
+        name = "npm_path___npm_path_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/npm-path/-/npm-path-2.0.4.tgz";
+        sha1 = "c641347a5ff9d6a09e4d9bce5580c4f505278e64";
+      };
+    }
+    {
+      name = "npm_which___npm_which_3.0.1.tgz";
+      path = fetchurl {
+        name = "npm_which___npm_which_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/npm-which/-/npm-which-3.0.1.tgz";
+        sha1 = "9225f26ec3a285c209cae67c3b11a6b4ab7140aa";
+      };
+    }
+    {
+      name = "npmlog___npmlog_2.0.4.tgz";
+      path = fetchurl {
+        name = "npmlog___npmlog_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/npmlog/-/npmlog-2.0.4.tgz";
+        sha1 = "98b52530f2514ca90d09ec5b22c8846722375692";
+      };
+    }
+    {
+      name = "npmlog___npmlog_4.1.2.tgz";
+      path = fetchurl {
+        name = "npmlog___npmlog_4.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz";
+        sha1 = "08a7f2a8bf734604779a9efa4ad5cc717abb954b";
+      };
+    }
+    {
+      name = "npmlog___npmlog_1.2.1.tgz";
+      path = fetchurl {
+        name = "npmlog___npmlog_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/npmlog/-/npmlog-1.2.1.tgz";
+        sha1 = "28e7be619609b53f7ad1dd300a10d64d716268b6";
+      };
+    }
+    {
+      name = "number_is_nan___number_is_nan_1.0.1.tgz";
+      path = fetchurl {
+        name = "number_is_nan___number_is_nan_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz";
+        sha1 = "097b602b53422a522c1afb8790318336941a011d";
+      };
+    }
+    {
+      name = "nw_gyp___nw_gyp_3.6.5.tgz";
+      path = fetchurl {
+        name = "nw_gyp___nw_gyp_3.6.5.tgz";
+        url  = "https://registry.yarnpkg.com/nw-gyp/-/nw-gyp-3.6.5.tgz";
+        sha1 = "ccce42182229e44e7689da70675b4b8dd0ab0ab3";
+      };
+    }
+    {
+      name = "oauth_sign___oauth_sign_0.9.0.tgz";
+      path = fetchurl {
+        name = "oauth_sign___oauth_sign_0.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz";
+        sha1 = "47a7b016baa68b5fa0ecf3dee08a85c679ac6455";
+      };
+    }
+    {
+      name = "object_assign___object_assign_4.1.1.tgz";
+      path = fetchurl {
+        name = "object_assign___object_assign_4.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz";
+        sha1 = "2109adc7965887cfc05cbbd442cac8bfbb360863";
+      };
+    }
+    {
+      name = "once___once_1.4.0.tgz";
+      path = fetchurl {
+        name = "once___once_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz";
+        sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1";
+      };
+    }
+    {
+      name = "os_homedir___os_homedir_1.0.2.tgz";
+      path = fetchurl {
+        name = "os_homedir___os_homedir_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz";
+        sha1 = "ffbc4988336e0e833de0c168c7ef152121aa7fb3";
+      };
+    }
+    {
+      name = "os_locale___os_locale_1.4.0.tgz";
+      path = fetchurl {
+        name = "os_locale___os_locale_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz";
+        sha1 = "20f9f17ae29ed345e8bde583b13d2009803c14d9";
+      };
+    }
+    {
+      name = "os_tmpdir___os_tmpdir_1.0.2.tgz";
+      path = fetchurl {
+        name = "os_tmpdir___os_tmpdir_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz";
+        sha1 = "bbe67406c79aa85c5cfec766fe5734555dfa1274";
+      };
+    }
+    {
+      name = "osenv___osenv_0.1.5.tgz";
+      path = fetchurl {
+        name = "osenv___osenv_0.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz";
+        sha1 = "85cdfafaeb28e8677f416e287592b5f3f49ea410";
+      };
+    }
+    {
+      name = "p_limit___p_limit_3.1.0.tgz";
+      path = fetchurl {
+        name = "p_limit___p_limit_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz";
+        sha1 = "e1daccbe78d0d1388ca18c64fea38e3e57e3706b";
+      };
+    }
+    {
+      name = "p_locate___p_locate_5.0.0.tgz";
+      path = fetchurl {
+        name = "p_locate___p_locate_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz";
+        sha1 = "83c8315c6785005e3bd021839411c9e110e6d834";
+      };
+    }
+    {
+      name = "path_array___path_array_1.0.1.tgz";
+      path = fetchurl {
+        name = "path_array___path_array_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/path-array/-/path-array-1.0.1.tgz";
+        sha1 = "7e2f0f35f07a2015122b868b7eac0eb2c4fec271";
+      };
+    }
+    {
+      name = "path_exists___path_exists_4.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "path_is_absolute___path_is_absolute_1.0.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "pathval___pathval_1.1.1.tgz";
+      path = fetchurl {
+        name = "pathval___pathval_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz";
+        sha1 = "8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d";
+      };
+    }
+    {
+      name = "performance_now___performance_now_2.1.0.tgz";
+      path = fetchurl {
+        name = "performance_now___performance_now_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz";
+        sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b";
+      };
+    }
+    {
+      name = "picomatch___picomatch_2.2.2.tgz";
+      path = fetchurl {
+        name = "picomatch___picomatch_2.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz";
+        sha1 = "21f333e9b6b8eaff02468f5146ea406d345f4dad";
+      };
+    }
+    {
+      name = "prebuild_install___prebuild_install_6.1.1.tgz";
+      path = fetchurl {
+        name = "prebuild_install___prebuild_install_6.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-6.1.1.tgz";
+        sha1 = "6754fa6c0d55eced7f9e14408ff9e4cba6f097b4";
+      };
+    }
+    {
+      name = "prebuild___prebuild_10.0.1.tgz";
+      path = fetchurl {
+        name = "prebuild___prebuild_10.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/prebuild/-/prebuild-10.0.1.tgz";
+        sha1 = "9d46a00f42b60ad1718479cc5e3d1ef4882b7f33";
+      };
+    }
+    {
+      name = "private___private_0.1.8.tgz";
+      path = fetchurl {
+        name = "private___private_0.1.8.tgz";
+        url  = "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz";
+        sha1 = "2381edb3689f7a53d653190060fcf822d2f368ff";
+      };
+    }
+    {
+      name = "process_nextick_args___process_nextick_args_1.0.7.tgz";
+      path = fetchurl {
+        name = "process_nextick_args___process_nextick_args_1.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz";
+        sha1 = "150e20b756590ad3f91093f25a4f2ad8bff30ba3";
+      };
+    }
+    {
+      name = "psl___psl_1.1.29.tgz";
+      path = fetchurl {
+        name = "psl___psl_1.1.29.tgz";
+        url  = "https://registry.yarnpkg.com/psl/-/psl-1.1.29.tgz";
+        sha1 = "60f580d360170bb722a797cc704411e6da850c67";
+      };
+    }
+    {
+      name = "pump___pump_3.0.0.tgz";
+      path = fetchurl {
+        name = "pump___pump_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz";
+        sha1 = "b4a2116815bde2f4e1ea602354e8c75565107a64";
+      };
+    }
+    {
+      name = "punycode___punycode_2.1.1.tgz";
+      path = fetchurl {
+        name = "punycode___punycode_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz";
+        sha1 = "b58b010ac40c22c5657616c8d2c2c02c7bf479ec";
+      };
+    }
+    {
+      name = "qs___qs_6.5.2.tgz";
+      path = fetchurl {
+        name = "qs___qs_6.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz";
+        sha1 = "cb3ae806e8740444584ef154ce8ee98d403f3e36";
+      };
+    }
+    {
+      name = "randombytes___randombytes_2.1.0.tgz";
+      path = fetchurl {
+        name = "randombytes___randombytes_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz";
+        sha1 = "df6f84372f0270dc65cdf6291349ab7a473d4f2a";
+      };
+    }
+    {
+      name = "rc___rc_1.2.8.tgz";
+      path = fetchurl {
+        name = "rc___rc_1.2.8.tgz";
+        url  = "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz";
+        sha1 = "cd924bf5200a075b83c188cd6b9e211b7fc0d3ed";
+      };
+    }
+    {
+      name = "readable_stream___readable_stream_1.0.34.tgz";
+      path = fetchurl {
+        name = "readable_stream___readable_stream_1.0.34.tgz";
+        url  = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz";
+        sha1 = "125820e34bc842d2f2aaafafe4c2916ee32c157c";
+      };
+    }
+    {
+      name = "readable_stream___readable_stream_2.3.3.tgz";
+      path = fetchurl {
+        name = "readable_stream___readable_stream_2.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz";
+        sha1 = "368f2512d79f9d46fdfc71349ae7878bbc1eb95c";
+      };
+    }
+    {
+      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 = "readable_stream___readable_stream_1.1.14.tgz";
+      path = fetchurl {
+        name = "readable_stream___readable_stream_1.1.14.tgz";
+        url  = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz";
+        sha1 = "7cf4c54ef648e3813084c636dd2079e166c081d9";
+      };
+    }
+    {
+      name = "readable_stream___readable_stream_2.1.5.tgz";
+      path = fetchurl {
+        name = "readable_stream___readable_stream_2.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz";
+        sha1 = "66fa8b720e1438b364681f2ad1a63c618448c9d0";
+      };
+    }
+    {
+      name = "readdirp___readdirp_3.5.0.tgz";
+      path = fetchurl {
+        name = "readdirp___readdirp_3.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz";
+        sha1 = "9ba74c019b15d365278d2e91bb8c48d7b4d42c9e";
+      };
+    }
+    {
+      name = "regenerator_runtime___regenerator_runtime_0.10.5.tgz";
+      path = fetchurl {
+        name = "regenerator_runtime___regenerator_runtime_0.10.5.tgz";
+        url  = "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz";
+        sha1 = "336c3efc1220adcedda2c9fab67b5a7955a33658";
+      };
+    }
+    {
+      name = "regenerator_runtime___regenerator_runtime_0.11.1.tgz";
+      path = fetchurl {
+        name = "regenerator_runtime___regenerator_runtime_0.11.1.tgz";
+        url  = "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz";
+        sha1 = "be05ad7f9bf7d22e056f9726cee5017fbf19e2e9";
+      };
+    }
+    {
+      name = "repeating___repeating_2.0.1.tgz";
+      path = fetchurl {
+        name = "repeating___repeating_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz";
+        sha1 = "5214c53a926d3552707527fbab415dbc08d06dda";
+      };
+    }
+    {
+      name = "request___request_2.88.2.tgz";
+      path = fetchurl {
+        name = "request___request_2.88.2.tgz";
+        url  = "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz";
+        sha1 = "d73c918731cb5a87da047e207234146f664d12b3";
+      };
+    }
+    {
+      name = "require_directory___require_directory_2.1.1.tgz";
+      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 = "rimraf___rimraf_2.7.1.tgz";
+      path = fetchurl {
+        name = "rimraf___rimraf_2.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz";
+        sha1 = "35797f13a7fdadc566142c29d4f07ccad483e3ec";
+      };
+    }
+    {
+      name = "rimraf___rimraf_3.0.2.tgz";
+      path = fetchurl {
+        name = "rimraf___rimraf_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz";
+        sha1 = "f1a5402ba6220ad52cc1282bac1ae3aa49fd061a";
+      };
+    }
+    {
+      name = "rsvp___rsvp_3.6.2.tgz";
+      path = fetchurl {
+        name = "rsvp___rsvp_3.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/rsvp/-/rsvp-3.6.2.tgz";
+        sha1 = "2e96491599a96cde1b515d5674a8f7a91452926a";
+      };
+    }
+    {
+      name = "run_waterfall___run_waterfall_1.1.7.tgz";
+      path = fetchurl {
+        name = "run_waterfall___run_waterfall_1.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/run-waterfall/-/run-waterfall-1.1.7.tgz";
+        sha1 = "ae368b549b2f5171f86c2924492cab3352a6e9c5";
+      };
+    }
+    {
+      name = "safe_buffer___safe_buffer_5.1.1.tgz";
+      path = fetchurl {
+        name = "safe_buffer___safe_buffer_5.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz";
+        sha1 = "893312af69b2123def71f57889001671eeb2c853";
+      };
+    }
+    {
+      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";
+      };
+    }
+    {
+      name = "safer_buffer___safer_buffer_2.1.2.tgz";
+      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";
+      };
+    }
+    {
+      name = "semver___semver_5.7.1.tgz";
+      path = fetchurl {
+        name = "semver___semver_5.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz";
+        sha1 = "a954f931aeba508d307bbf069eff0c01c96116f7";
+      };
+    }
+    {
+      name = "semver___semver_4.3.6.tgz";
+      path = fetchurl {
+        name = "semver___semver_4.3.6.tgz";
+        url  = "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz";
+        sha1 = "300bc6e0e86374f7ba61068b5b1ecd57fc6532da";
+      };
+    }
+    {
+      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";
+      };
+    }
+    {
+      name = "semver___semver_5.3.0.tgz";
+      path = fetchurl {
+        name = "semver___semver_5.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz";
+        sha1 = "9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f";
+      };
+    }
+    {
+      name = "serialize_javascript___serialize_javascript_5.0.1.tgz";
+      path = fetchurl {
+        name = "serialize_javascript___serialize_javascript_5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz";
+        sha1 = "7886ec848049a462467a97d3d918ebb2aaf934f4";
+      };
+    }
+    {
+      name = "set_blocking___set_blocking_2.0.0.tgz";
+      path = fetchurl {
+        name = "set_blocking___set_blocking_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz";
+        sha1 = "045f9782d011ae9a6803ddd382b24392b3d890f7";
+      };
+    }
+    {
+      name = "setimmediate___setimmediate_1.0.5.tgz";
+      path = fetchurl {
+        name = "setimmediate___setimmediate_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz";
+        sha1 = "290cbb232e306942d7d7ea9b83732ab7856f8285";
+      };
+    }
+    {
+      name = "signal_exit___signal_exit_3.0.2.tgz";
+      path = fetchurl {
+        name = "signal_exit___signal_exit_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz";
+        sha1 = "b5fdc08f1287ea1178628e415e25132b73646c6d";
+      };
+    }
+    {
+      name = "simple_concat___simple_concat_1.0.1.tgz";
+      path = fetchurl {
+        name = "simple_concat___simple_concat_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz";
+        sha1 = "f46976082ba35c2263f1c8ab5edfe26c41c9552f";
+      };
+    }
+    {
+      name = "simple_get___simple_get_3.1.0.tgz";
+      path = fetchurl {
+        name = "simple_get___simple_get_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/simple-get/-/simple-get-3.1.0.tgz";
+        sha1 = "b45be062435e50d159540b576202ceec40b9c6b3";
+      };
+    }
+    {
+      name = "simple_mime___simple_mime_0.1.0.tgz";
+      path = fetchurl {
+        name = "simple_mime___simple_mime_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/simple-mime/-/simple-mime-0.1.0.tgz";
+        sha1 = "95f517c4f466d7cff561a71fc9dab2596ea9ef2e";
+      };
+    }
+    {
+      name = "slash___slash_1.0.0.tgz";
+      path = fetchurl {
+        name = "slash___slash_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz";
+        sha1 = "c41f2f6c39fc16d1cd17ad4b5d896114ae470d55";
+      };
+    }
+    {
+      name = "source_map_support___source_map_support_0.4.18.tgz";
+      path = fetchurl {
+        name = "source_map_support___source_map_support_0.4.18.tgz";
+        url  = "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz";
+        sha1 = "0286a6de8be42641338594e97ccea75f0a2c585f";
+      };
+    }
+    {
+      name = "source_map_support___source_map_support_0.2.10.tgz";
+      path = fetchurl {
+        name = "source_map_support___source_map_support_0.2.10.tgz";
+        url  = "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.2.10.tgz";
+        sha1 = "ea5a3900a1c1cb25096a0ae8cc5c2b4b10ded3dc";
+      };
+    }
+    {
+      name = "source_map___source_map_0.1.32.tgz";
+      path = fetchurl {
+        name = "source_map___source_map_0.1.32.tgz";
+        url  = "https://registry.yarnpkg.com/source-map/-/source-map-0.1.32.tgz";
+        sha1 = "c8b6c167797ba4740a8ea33252162ff08591b266";
+      };
+    }
+    {
+      name = "source_map___source_map_0.5.7.tgz";
+      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";
+      };
+    }
+    {
+      name = "splitargs___splitargs_0.0.7.tgz";
+      path = fetchurl {
+        name = "splitargs___splitargs_0.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/splitargs/-/splitargs-0.0.7.tgz";
+        sha1 = "fe9f7ae657371b33b10cb80da143cf8249cf6b3b";
+      };
+    }
+    {
+      name = "sshpk___sshpk_1.14.2.tgz";
+      path = fetchurl {
+        name = "sshpk___sshpk_1.14.2.tgz";
+        url  = "https://registry.yarnpkg.com/sshpk/-/sshpk-1.14.2.tgz";
+        sha1 = "c6fc61648a3d9c4e764fd3fcdf4ea105e492ba98";
+      };
+    }
+    {
+      name = "string_width___string_width_1.0.2.tgz";
+      path = fetchurl {
+        name = "string_width___string_width_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz";
+        sha1 = "118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3";
+      };
+    }
+    {
+      name = "string_width___string_width_4.2.2.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_decoder___string_decoder_0.10.31.tgz";
+      path = fetchurl {
+        name = "string_decoder___string_decoder_0.10.31.tgz";
+        url  = "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz";
+        sha1 = "62e203bc41766c6c28c9fc84301dab1c5310fa94";
+      };
+    }
+    {
+      name = "string_decoder___string_decoder_1.0.3.tgz";
+      path = fetchurl {
+        name = "string_decoder___string_decoder_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz";
+        sha1 = "0fc67d7c141825de94282dd536bec6b9bce860ab";
+      };
+    }
+    {
+      name = "strip_ansi___strip_ansi_3.0.1.tgz";
+      path = fetchurl {
+        name = "strip_ansi___strip_ansi_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz";
+        sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf";
+      };
+    }
+    {
+      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_json_comments___strip_json_comments_3.1.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "strip_json_comments___strip_json_comments_2.0.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "supports_color___supports_color_8.1.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "supports_color___supports_color_2.0.0.tgz";
+      path = fetchurl {
+        name = "supports_color___supports_color_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz";
+        sha1 = "535d045ce6b6363fa40117084629995e9df324c7";
+      };
+    }
+    {
+      name = "supports_color___supports_color_7.2.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "tar_fs___tar_fs_2.1.1.tgz";
+      path = fetchurl {
+        name = "tar_fs___tar_fs_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz";
+        sha1 = "489a15ab85f1f0befabb370b7de4f9eb5cbe8784";
+      };
+    }
+    {
+      name = "tar_stream___tar_stream_2.1.4.tgz";
+      path = fetchurl {
+        name = "tar_stream___tar_stream_2.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.1.4.tgz";
+        sha1 = "c4fb1a11eb0da29b893a5b25476397ba2d053bfa";
+      };
+    }
+    {
+      name = "tar___tar_2.2.2.tgz";
+      path = fetchurl {
+        name = "tar___tar_2.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/tar/-/tar-2.2.2.tgz";
+        sha1 = "0ca8848562c7299b8b446ff6a4d60cdbb23edc40";
+      };
+    }
+    {
+      name = "tar___tar_4.4.13.tgz";
+      path = fetchurl {
+        name = "tar___tar_4.4.13.tgz";
+        url  = "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz";
+        sha1 = "43b364bc52888d555298637b10d60790254ab525";
+      };
+    }
+    {
+      name = "tar___tar_6.0.5.tgz";
+      path = fetchurl {
+        name = "tar___tar_6.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/tar/-/tar-6.0.5.tgz";
+        sha1 = "bde815086e10b39f1dcd298e89d596e1535e200f";
+      };
+    }
+    {
+      name = "through2___through2_0.6.5.tgz";
+      path = fetchurl {
+        name = "through2___through2_0.6.5.tgz";
+        url  = "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz";
+        sha1 = "41ab9c67b29d57209071410e1d7a7a968cd3ad48";
+      };
+    }
+    {
+      name = "to_fast_properties___to_fast_properties_1.0.3.tgz";
+      path = fetchurl {
+        name = "to_fast_properties___to_fast_properties_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz";
+        sha1 = "b83571fa4d8c25b82e231b06e3a3055de4ca1a47";
+      };
+    }
+    {
+      name = "to_regex_range___to_regex_range_5.0.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "tough_cookie___tough_cookie_2.5.0.tgz";
+      path = fetchurl {
+        name = "tough_cookie___tough_cookie_2.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz";
+        sha1 = "cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2";
+      };
+    }
+    {
+      name = "traceur___traceur_0.0.111.tgz";
+      path = fetchurl {
+        name = "traceur___traceur_0.0.111.tgz";
+        url  = "https://registry.yarnpkg.com/traceur/-/traceur-0.0.111.tgz";
+        sha1 = "c04de74d14696c3373427de4fc08ecaf913fc3a1";
+      };
+    }
+    {
+      name = "traverse___traverse_0.3.9.tgz";
+      path = fetchurl {
+        name = "traverse___traverse_0.3.9.tgz";
+        url  = "https://registry.yarnpkg.com/traverse/-/traverse-0.3.9.tgz";
+        sha1 = "717b8f220cc0bb7b44e40514c22b2e8bbc70d8b9";
+      };
+    }
+    {
+      name = "trim_right___trim_right_1.0.1.tgz";
+      path = fetchurl {
+        name = "trim_right___trim_right_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz";
+        sha1 = "cb2e1203067e0c8de1f614094b9fe45704ea6003";
+      };
+    }
+    {
+      name = "tunnel_agent___tunnel_agent_0.6.0.tgz";
+      path = fetchurl {
+        name = "tunnel_agent___tunnel_agent_0.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz";
+        sha1 = "27a5dea06b36b04a0a9966774b290868f0fc40fd";
+      };
+    }
+    {
+      name = "tweetnacl___tweetnacl_0.14.5.tgz";
+      path = fetchurl {
+        name = "tweetnacl___tweetnacl_0.14.5.tgz";
+        url  = "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz";
+        sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64";
+      };
+    }
+    {
+      name = "type_detect___type_detect_4.0.8.tgz";
+      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";
+      };
+    }
+    {
+      name = "type___type_1.2.0.tgz";
+      path = fetchurl {
+        name = "type___type_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz";
+        sha1 = "848dd7698dafa3e54a6c479e759c4bc3f18847a0";
+      };
+    }
+    {
+      name = "type___type_2.1.0.tgz";
+      path = fetchurl {
+        name = "type___type_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/type/-/type-2.1.0.tgz";
+        sha1 = "9bdc22c648cf8cf86dd23d32336a41cfb6475e3f";
+      };
+    }
+    {
+      name = "universalify___universalify_0.1.2.tgz";
+      path = fetchurl {
+        name = "universalify___universalify_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz";
+        sha1 = "b646f69be3942dabcecc9d6639c80dc105efaa66";
+      };
+    }
+    {
+      name = "unzipper___unzipper_0.8.14.tgz";
+      path = fetchurl {
+        name = "unzipper___unzipper_0.8.14.tgz";
+        url  = "https://registry.yarnpkg.com/unzipper/-/unzipper-0.8.14.tgz";
+        sha1 = "ade0524cd2fc14d11b8de258be22f9d247d3f79b";
+      };
+    }
+    {
+      name = "uri_js___uri_js_4.2.2.tgz";
+      path = fetchurl {
+        name = "uri_js___uri_js_4.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz";
+        sha1 = "94c540e1ff772956e2299507c010aea6c8838eb0";
+      };
+    }
+    {
+      name = "url_join___url_join_0.0.1.tgz";
+      path = fetchurl {
+        name = "url_join___url_join_0.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/url-join/-/url-join-0.0.1.tgz";
+        sha1 = "1db48ad422d3402469a87f7d97bdebfe4fb1e3c8";
+      };
+    }
+    {
+      name = "url_template___url_template_2.0.8.tgz";
+      path = fetchurl {
+        name = "url_template___url_template_2.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/url-template/-/url-template-2.0.8.tgz";
+        sha1 = "fc565a3cccbff7730c775f5641f9555791439f21";
+      };
+    }
+    {
+      name = "util_deprecate___util_deprecate_1.0.2.tgz";
+      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";
+      };
+    }
+    {
+      name = "util_extend___util_extend_1.0.3.tgz";
+      path = fetchurl {
+        name = "util_extend___util_extend_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/util-extend/-/util-extend-1.0.3.tgz";
+        sha1 = "a7c216d267545169637b3b6edc6ca9119e2ff93f";
+      };
+    }
+    {
+      name = "uuid___uuid_3.4.0.tgz";
+      path = fetchurl {
+        name = "uuid___uuid_3.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz";
+        sha1 = "b23e4358afa8a202fe7a100af1f5f883f02007ee";
+      };
+    }
+    {
+      name = "verror___verror_1.3.6.tgz";
+      path = fetchurl {
+        name = "verror___verror_1.3.6.tgz";
+        url  = "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz";
+        sha1 = "cff5df12946d297d2baaefaa2689e25be01c005c";
+      };
+    }
+    {
+      name = "which___which_1.3.1.tgz";
+      path = fetchurl {
+        name = "which___which_1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz";
+        sha1 = "a45043d54f5805316da8d62f9f50918d3da70b0a";
+      };
+    }
+    {
+      name = "which___which_2.0.2.tgz";
+      path = fetchurl {
+        name = "which___which_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz";
+        sha1 = "7c6a8dd0a636a0327e10b59c9286eee93f3f51b1";
+      };
+    }
+    {
+      name = "wide_align___wide_align_1.1.3.tgz";
+      path = fetchurl {
+        name = "wide_align___wide_align_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz";
+        sha1 = "ae074e6bdc0c14a431e804e624549c633b000457";
+      };
+    }
+    {
+      name = "wide_align___wide_align_1.1.2.tgz";
+      path = fetchurl {
+        name = "wide_align___wide_align_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz";
+        sha1 = "571e0f1b0604636ebc0dfc21b0339bbe31341710";
+      };
+    }
+    {
+      name = "window_size___window_size_0.1.4.tgz";
+      path = fetchurl {
+        name = "window_size___window_size_0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/window-size/-/window-size-0.1.4.tgz";
+        sha1 = "f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876";
+      };
+    }
+    {
+      name = "workerpool___workerpool_6.1.0.tgz";
+      path = fetchurl {
+        name = "workerpool___workerpool_6.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/workerpool/-/workerpool-6.1.0.tgz";
+        sha1 = "a8e038b4c94569596852de7a8ea4228eefdeb37b";
+      };
+    }
+    {
+      name = "wrap_ansi___wrap_ansi_2.1.0.tgz";
+      path = fetchurl {
+        name = "wrap_ansi___wrap_ansi_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz";
+        sha1 = "d8fc3d284dd05794fe84973caecdd1cf824fdd85";
+      };
+    }
+    {
+      name = "wrap_ansi___wrap_ansi_7.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "wrappy___wrappy_1.0.2.tgz";
+      path = fetchurl {
+        name = "wrappy___wrappy_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz";
+        sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
+      };
+    }
+    {
+      name = "xtend___xtend_4.0.2.tgz";
+      path = fetchurl {
+        name = "xtend___xtend_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz";
+        sha1 = "bb72779f5fa465186b1f438f674fa347fdb5db54";
+      };
+    }
+    {
+      name = "y18n___y18n_3.2.2.tgz";
+      path = fetchurl {
+        name = "y18n___y18n_3.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/y18n/-/y18n-3.2.2.tgz";
+        sha1 = "85c901bd6470ce71fc4bb723ad209b70f7f28696";
+      };
+    }
+    {
+      name = "y18n___y18n_5.0.5.tgz";
+      path = fetchurl {
+        name = "y18n___y18n_5.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/y18n/-/y18n-5.0.5.tgz";
+        sha1 = "8769ec08d03b1ea2df2500acef561743bbb9ab18";
+      };
+    }
+    {
+      name = "yallist___yallist_3.1.1.tgz";
+      path = fetchurl {
+        name = "yallist___yallist_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz";
+        sha1 = "dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd";
+      };
+    }
+    {
+      name = "yallist___yallist_4.0.0.tgz";
+      path = fetchurl {
+        name = "yallist___yallist_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz";
+        sha1 = "9bb92790d9c0effec63be73519e11a35019a3a72";
+      };
+    }
+    {
+      name = "yargs_parser___yargs_parser_20.2.4.tgz";
+      path = fetchurl {
+        name = "yargs_parser___yargs_parser_20.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz";
+        sha1 = "b42890f14566796f85ae8e3a25290d205f154a54";
+      };
+    }
+    {
+      name = "yargs_unparser___yargs_unparser_2.0.0.tgz";
+      path = fetchurl {
+        name = "yargs_unparser___yargs_unparser_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz";
+        sha1 = "f131f9226911ae5d9ad38c432fe809366c2325eb";
+      };
+    }
+    {
+      name = "yargs___yargs_16.2.0.tgz";
+      path = fetchurl {
+        name = "yargs___yargs_16.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz";
+        sha1 = "1c82bf0f6b6a66eafce7ef30e376f49a12477f66";
+      };
+    }
+    {
+      name = "yargs___yargs_3.32.0.tgz";
+      path = fetchurl {
+        name = "yargs___yargs_3.32.0.tgz";
+        url  = "https://registry.yarnpkg.com/yargs/-/yargs-3.32.0.tgz";
+        sha1 = "03088e9ebf9e756b69751611d2a5ef591482c995";
+      };
+    }
+    {
+      name = "yocto_queue___yocto_queue_0.1.0.tgz";
+      path = fetchurl {
+        name = "yocto_queue___yocto_queue_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz";
+        sha1 = "0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b";
+      };
+    }
+  ];
+}
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/element/seshat/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/element/seshat/default.nix
new file mode 100644
index 000000000000..ae9dd96228b5
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/element/seshat/default.nix
@@ -0,0 +1,46 @@
+{ lib, stdenv, rustPlatform, fetchFromGitHub, callPackage, sqlcipher, nodejs-14_x, python3, yarn, fixup_yarn_lock, CoreServices }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "seshat-node";
+  version = "2.3.0";
+
+  src = fetchFromGitHub {
+    owner = "matrix-org";
+    repo = "seshat";
+    rev = version;
+    sha256 = "0zigrz59mhih9asmbbh38z2fg0sii2342q6q0500qil2a0rssai7";
+  };
+
+  sourceRoot = "source/seshat-node/native";
+
+  nativeBuildInputs = [ nodejs-14_x python3 yarn ];
+  buildInputs = [ sqlcipher ] ++ lib.optional stdenv.isDarwin CoreServices;
+
+  npm_config_nodedir = nodejs-14_x;
+
+  yarnOfflineCache = (callPackage ./yarn.nix {}).offline_cache;
+
+  buildPhase = ''
+    cd ..
+    chmod u+w . ./yarn.lock
+    export HOME=$PWD/tmp
+    mkdir -p $HOME
+    yarn config --offline set yarn-offline-mirror ${yarnOfflineCache}
+    ${fixup_yarn_lock}/bin/fixup_yarn_lock yarn.lock
+    yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive
+    patchShebangs node_modules/
+    node_modules/.bin/neon build --release
+  '';
+
+  doCheck = false;
+
+  installPhase = ''
+    shopt -s extglob
+    rm -rf native/!(index.node)
+    rm -rf node_modules
+    rm -rf $HOME
+    cp -r . $out
+  '';
+
+  cargoSha256 = "0habjf85mzqxwf8k15msm4cavd7ldq4zpxddkwd4inl2lkvlffqj";
+}
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/element/seshat/update.sh b/nixpkgs/pkgs/applications/networking/instant-messengers/element/seshat/update.sh
new file mode 100755
index 000000000000..b201501e1c43
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/element/seshat/update.sh
@@ -0,0 +1,16 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -I nixpkgs=../ -i bash -p wget yarn2nix
+
+set -euo pipefail
+
+if [ "$#" -ne 1 ] || [[ "$1" == -* ]]; then
+  echo "Regenerates the Yarn dependency lock files."
+  echo "Usage: $0 <git release tag>"
+  exit 1
+fi
+
+SRC="https://raw.githubusercontent.com/matrix-org/seshat/$1"
+
+wget "$SRC/seshat-node/yarn.lock"
+yarn2nix > yarn.nix
+rm yarn.lock
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/element/seshat/yarn.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/element/seshat/yarn.nix
new file mode 100644
index 000000000000..b861502bf719
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/element/seshat/yarn.nix
@@ -0,0 +1,4557 @@
+{ fetchurl, fetchgit, linkFarm, runCommand, gnutar }: rec {
+  offline_cache = linkFarm "offline" packages;
+  packages = [
+    {
+      name = "_babel_code_frame___code_frame_7.14.5.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_compat_data___compat_data_7.14.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_core___core_7.14.8.tgz";
+      path = fetchurl {
+        name = "_babel_core___core_7.14.8.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/core/-/core-7.14.8.tgz";
+        sha1 = "20cdf7c84b5d86d83fac8710a8bc605a7ba3f010";
+      };
+    }
+    {
+      name = "_babel_generator___generator_7.14.8.tgz";
+      path = fetchurl {
+        name = "_babel_generator___generator_7.14.8.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/generator/-/generator-7.14.8.tgz";
+        sha1 = "bf86fd6af96cf3b74395a8ca409515f89423e070";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz";
+        sha1 = "7a99c5d0967911e972fe2c3411f7d5b498498ecf";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz";
+        sha1 = "89e2c474972f15d8e233b52ee8c480e2cfcd50c4";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz";
+        sha1 = "25fbfa579b0937eee1f3b805ece4ce398c431815";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz";
+        sha1 = "e0dd27c33a78e577d7c8884916a3e7ef1f7c7f8d";
+      };
+    }
+    {
+      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";
+        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_module_imports___helper_module_imports_7.14.5.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_transforms___helper_module_transforms_7.14.8.tgz";
+      path = fetchurl {
+        name = "_babel_helper_module_transforms___helper_module_transforms_7.14.8.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.14.8.tgz";
+        sha1 = "d4279f7e3fd5f4d5d342d833af36d4dd87d7dc49";
+      };
+    }
+    {
+      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";
+        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.14.5.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_replace_supers___helper_replace_supers_7.14.5.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_simple_access___helper_simple_access_7.14.8.tgz";
+      path = fetchurl {
+        name = "_babel_helper_simple_access___helper_simple_access_7.14.8.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.14.8.tgz";
+        sha1 = "82e1fec0644a7e775c74d305f212c39f8fe73924";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz";
+        sha1 = "22b23a54ef51c2b7605d851930c1976dd0bc693a";
+      };
+    }
+    {
+      name = "_babel_helper_validator_identifier___helper_validator_identifier_7.14.8.tgz";
+      path = fetchurl {
+        name = "_babel_helper_validator_identifier___helper_validator_identifier_7.14.8.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.8.tgz";
+        sha1 = "32be33a756f29e278a0d644fa08a2c9e0f88a34c";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz";
+        sha1 = "6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3";
+      };
+    }
+    {
+      name = "_babel_helpers___helpers_7.14.8.tgz";
+      path = fetchurl {
+        name = "_babel_helpers___helpers_7.14.8.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.14.8.tgz";
+        sha1 = "839f88f463025886cff7f85a35297007e2da1b77";
+      };
+    }
+    {
+      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.8.tgz";
+      path = fetchurl {
+        name = "_babel_parser___parser_7.14.8.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.14.8.tgz";
+        sha1 = "66fd41666b2d7b840bd5ace7f7416d5ac60208d4";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_object_rest_spread___plugin_syntax_object_rest_spread_7.8.3.tgz";
+      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";
+      };
+    }
+    {
+      name = "_babel_template___template_7.14.5.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_traverse___traverse_7.14.8.tgz";
+      path = fetchurl {
+        name = "_babel_traverse___traverse_7.14.8.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.14.8.tgz";
+        sha1 = "c0253f02677c5de1a8ff9df6b0aacbec7da1a8ce";
+      };
+    }
+    {
+      name = "_babel_types___types_7.14.8.tgz";
+      path = fetchurl {
+        name = "_babel_types___types_7.14.8.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/types/-/types-7.14.8.tgz";
+        sha1 = "38109de8fcadc06415fbd9b74df0065d4d41c728";
+      };
+    }
+    {
+      name = "_cnakazawa_watch___watch_1.0.4.tgz";
+      path = fetchurl {
+        name = "_cnakazawa_watch___watch_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz";
+        sha1 = "f864ae85004d0fcab6f50be9141c4da368d1656a";
+      };
+    }
+    {
+      name = "_jest_console___console_24.9.0.tgz";
+      path = fetchurl {
+        name = "_jest_console___console_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/console/-/console-24.9.0.tgz";
+        sha1 = "79b1bc06fb74a8cfb01cbdedf945584b1b9707f0";
+      };
+    }
+    {
+      name = "_jest_core___core_24.9.0.tgz";
+      path = fetchurl {
+        name = "_jest_core___core_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/core/-/core-24.9.0.tgz";
+        sha1 = "2ceccd0b93181f9c4850e74f2a9ad43d351369c4";
+      };
+    }
+    {
+      name = "_jest_environment___environment_24.9.0.tgz";
+      path = fetchurl {
+        name = "_jest_environment___environment_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/environment/-/environment-24.9.0.tgz";
+        sha1 = "21e3afa2d65c0586cbd6cbefe208bafade44ab18";
+      };
+    }
+    {
+      name = "_jest_fake_timers___fake_timers_24.9.0.tgz";
+      path = fetchurl {
+        name = "_jest_fake_timers___fake_timers_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-24.9.0.tgz";
+        sha1 = "ba3e6bf0eecd09a636049896434d306636540c93";
+      };
+    }
+    {
+      name = "_jest_reporters___reporters_24.9.0.tgz";
+      path = fetchurl {
+        name = "_jest_reporters___reporters_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/reporters/-/reporters-24.9.0.tgz";
+        sha1 = "86660eff8e2b9661d042a8e98a028b8d631a5b43";
+      };
+    }
+    {
+      name = "_jest_source_map___source_map_24.9.0.tgz";
+      path = fetchurl {
+        name = "_jest_source_map___source_map_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/source-map/-/source-map-24.9.0.tgz";
+        sha1 = "0e263a94430be4b41da683ccc1e6bffe2a191714";
+      };
+    }
+    {
+      name = "_jest_test_result___test_result_24.9.0.tgz";
+      path = fetchurl {
+        name = "_jest_test_result___test_result_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/test-result/-/test-result-24.9.0.tgz";
+        sha1 = "11796e8aa9dbf88ea025757b3152595ad06ba0ca";
+      };
+    }
+    {
+      name = "_jest_test_sequencer___test_sequencer_24.9.0.tgz";
+      path = fetchurl {
+        name = "_jest_test_sequencer___test_sequencer_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz";
+        sha1 = "f8f334f35b625a4f2f355f2fe7e6036dad2e6b31";
+      };
+    }
+    {
+      name = "_jest_transform___transform_24.9.0.tgz";
+      path = fetchurl {
+        name = "_jest_transform___transform_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/transform/-/transform-24.9.0.tgz";
+        sha1 = "4ae2768b296553fadab09e9ec119543c90b16c56";
+      };
+    }
+    {
+      name = "_jest_types___types_24.9.0.tgz";
+      path = fetchurl {
+        name = "_jest_types___types_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/types/-/types-24.9.0.tgz";
+        sha1 = "63cb26cb7500d069e5a389441a7c6ab5e909fc59";
+      };
+    }
+    {
+      name = "_types_babel__core___babel__core_7.1.15.tgz";
+      path = fetchurl {
+        name = "_types_babel__core___babel__core_7.1.15.tgz";
+        url  = "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.15.tgz";
+        sha1 = "2ccfb1ad55a02c83f8e0ad327cbc332f55eb1024";
+      };
+    }
+    {
+      name = "_types_babel__generator___babel__generator_7.6.3.tgz";
+      path = fetchurl {
+        name = "_types_babel__generator___babel__generator_7.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.3.tgz";
+        sha1 = "f456b4b2ce79137f768aa130d2423d2f0ccfaba5";
+      };
+    }
+    {
+      name = "_types_babel__template___babel__template_7.4.1.tgz";
+      path = fetchurl {
+        name = "_types_babel__template___babel__template_7.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz";
+        sha1 = "3d1a48fd9d6c0edfd56f2ff578daed48f36c8969";
+      };
+    }
+    {
+      name = "_types_babel__traverse___babel__traverse_7.14.2.tgz";
+      path = fetchurl {
+        name = "_types_babel__traverse___babel__traverse_7.14.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.14.2.tgz";
+        sha1 = "ffcd470bbb3f8bf30481678fb5502278ca833a43";
+      };
+    }
+    {
+      name = "_types_istanbul_lib_coverage___istanbul_lib_coverage_2.0.3.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_report___istanbul_lib_report_3.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "_types_istanbul_reports___istanbul_reports_1.1.2.tgz";
+      path = fetchurl {
+        name = "_types_istanbul_reports___istanbul_reports_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz";
+        sha1 = "e875cc689e47bce549ec81f3df5e6f6f11cfaeb2";
+      };
+    }
+    {
+      name = "_types_stack_utils___stack_utils_1.0.1.tgz";
+      path = fetchurl {
+        name = "_types_stack_utils___stack_utils_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz";
+        sha1 = "0a851d3bd96498fa25c33ab7278ed3bd65f06c3e";
+      };
+    }
+    {
+      name = "_types_yargs_parser___yargs_parser_20.2.1.tgz";
+      path = fetchurl {
+        name = "_types_yargs_parser___yargs_parser_20.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.1.tgz";
+        sha1 = "3b9ce2489919d9e4fea439b76916abc34b2df129";
+      };
+    }
+    {
+      name = "_types_yargs___yargs_13.0.12.tgz";
+      path = fetchurl {
+        name = "_types_yargs___yargs_13.0.12.tgz";
+        url  = "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.12.tgz";
+        sha1 = "d895a88c703b78af0465a9de88aa92c61430b092";
+      };
+    }
+    {
+      name = "abab___abab_2.0.5.tgz";
+      path = fetchurl {
+        name = "abab___abab_2.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz";
+        sha1 = "c0b678fb32d60fc1219c784d6a826fe385aeb79a";
+      };
+    }
+    {
+      name = "acorn_globals___acorn_globals_4.3.4.tgz";
+      path = fetchurl {
+        name = "acorn_globals___acorn_globals_4.3.4.tgz";
+        url  = "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.4.tgz";
+        sha1 = "9fa1926addc11c97308c4e66d7add0d40c3272e7";
+      };
+    }
+    {
+      name = "acorn_jsx___acorn_jsx_5.3.2.tgz";
+      path = fetchurl {
+        name = "acorn_jsx___acorn_jsx_5.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz";
+        sha1 = "7ed5bb55908b3b2f1bc55c6af1653bada7f07937";
+      };
+    }
+    {
+      name = "acorn_walk___acorn_walk_6.2.0.tgz";
+      path = fetchurl {
+        name = "acorn_walk___acorn_walk_6.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz";
+        sha1 = "123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c";
+      };
+    }
+    {
+      name = "acorn___acorn_5.7.4.tgz";
+      path = fetchurl {
+        name = "acorn___acorn_5.7.4.tgz";
+        url  = "https://registry.yarnpkg.com/acorn/-/acorn-5.7.4.tgz";
+        sha1 = "3e8d8a9947d0599a1796d10225d7432f4a4acf5e";
+      };
+    }
+    {
+      name = "acorn___acorn_6.4.2.tgz";
+      path = fetchurl {
+        name = "acorn___acorn_6.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz";
+        sha1 = "35866fd710528e92de10cf06016498e47e39e1e6";
+      };
+    }
+    {
+      name = "acorn___acorn_7.4.1.tgz";
+      path = fetchurl {
+        name = "acorn___acorn_7.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz";
+        sha1 = "feaed255973d2e77555b83dbc08851a6c63520fa";
+      };
+    }
+    {
+      name = "ajv___ajv_6.12.6.tgz";
+      path = fetchurl {
+        name = "ajv___ajv_6.12.6.tgz";
+        url  = "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz";
+        sha1 = "baf5a62e802b07d977034586f8c3baf5adf26df4";
+      };
+    }
+    {
+      name = "ansi_escapes___ansi_escapes_3.2.0.tgz";
+      path = fetchurl {
+        name = "ansi_escapes___ansi_escapes_3.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz";
+        sha1 = "8780b98ff9dbf5638152d1f1fe5c1d7b4442976b";
+      };
+    }
+    {
+      name = "ansi_escapes___ansi_escapes_4.3.2.tgz";
+      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";
+      };
+    }
+    {
+      name = "ansi_regex___ansi_regex_3.0.0.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_styles___ansi_styles_3.2.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "ansi_styles___ansi_styles_4.3.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "anymatch___anymatch_2.0.0.tgz";
+      path = fetchurl {
+        name = "anymatch___anymatch_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz";
+        sha1 = "bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb";
+      };
+    }
+    {
+      name = "argparse___argparse_1.0.10.tgz";
+      path = fetchurl {
+        name = "argparse___argparse_1.0.10.tgz";
+        url  = "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz";
+        sha1 = "bcd6791ea5ae09725e17e5ad988134cd40b3d911";
+      };
+    }
+    {
+      name = "arr_diff___arr_diff_4.0.0.tgz";
+      path = fetchurl {
+        name = "arr_diff___arr_diff_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz";
+        sha1 = "d6461074febfec71e7e15235761a329a5dc7c520";
+      };
+    }
+    {
+      name = "arr_flatten___arr_flatten_1.1.0.tgz";
+      path = fetchurl {
+        name = "arr_flatten___arr_flatten_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz";
+        sha1 = "36048bbff4e7b47e136644316c99669ea5ae91f1";
+      };
+    }
+    {
+      name = "arr_union___arr_union_3.1.0.tgz";
+      path = fetchurl {
+        name = "arr_union___arr_union_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz";
+        sha1 = "e39b09aea9def866a8f206e288af63919bae39c4";
+      };
+    }
+    {
+      name = "array_back___array_back_3.1.0.tgz";
+      path = fetchurl {
+        name = "array_back___array_back_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/array-back/-/array-back-3.1.0.tgz";
+        sha1 = "b8859d7a508871c9a7b2cf42f99428f65e96bfb0";
+      };
+    }
+    {
+      name = "array_back___array_back_4.0.2.tgz";
+      path = fetchurl {
+        name = "array_back___array_back_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/array-back/-/array-back-4.0.2.tgz";
+        sha1 = "8004e999a6274586beeb27342168652fdb89fa1e";
+      };
+    }
+    {
+      name = "array_equal___array_equal_1.0.0.tgz";
+      path = fetchurl {
+        name = "array_equal___array_equal_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz";
+        sha1 = "8c2a5ef2472fd9ea742b04c77a75093ba2757c93";
+      };
+    }
+    {
+      name = "array_unique___array_unique_0.3.2.tgz";
+      path = fetchurl {
+        name = "array_unique___array_unique_0.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz";
+        sha1 = "a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428";
+      };
+    }
+    {
+      name = "asn1___asn1_0.2.4.tgz";
+      path = fetchurl {
+        name = "asn1___asn1_0.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz";
+        sha1 = "8d2475dfab553bb33e77b54e59e880bb8ce23136";
+      };
+    }
+    {
+      name = "assert_plus___assert_plus_1.0.0.tgz";
+      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 = "assign_symbols___assign_symbols_1.0.0.tgz";
+      path = fetchurl {
+        name = "assign_symbols___assign_symbols_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz";
+        sha1 = "59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367";
+      };
+    }
+    {
+      name = "astral_regex___astral_regex_1.0.0.tgz";
+      path = fetchurl {
+        name = "astral_regex___astral_regex_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz";
+        sha1 = "6c8c3fb827dd43ee3918f27b82782ab7658a6fd9";
+      };
+    }
+    {
+      name = "async_limiter___async_limiter_1.0.1.tgz";
+      path = fetchurl {
+        name = "async_limiter___async_limiter_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz";
+        sha1 = "dd379e94f0db8310b08291f9d64c3209766617fd";
+      };
+    }
+    {
+      name = "asynckit___asynckit_0.4.0.tgz";
+      path = fetchurl {
+        name = "asynckit___asynckit_0.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz";
+        sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
+      };
+    }
+    {
+      name = "atob___atob_2.1.2.tgz";
+      path = fetchurl {
+        name = "atob___atob_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz";
+        sha1 = "6d9517eb9e030d2436666651e86bd9f6f13533c9";
+      };
+    }
+    {
+      name = "aws_sign2___aws_sign2_0.7.0.tgz";
+      path = fetchurl {
+        name = "aws_sign2___aws_sign2_0.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz";
+        sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8";
+      };
+    }
+    {
+      name = "aws4___aws4_1.11.0.tgz";
+      path = fetchurl {
+        name = "aws4___aws4_1.11.0.tgz";
+        url  = "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz";
+        sha1 = "d61f46d83b2519250e2784daf5b09479a8b41c59";
+      };
+    }
+    {
+      name = "babel_jest___babel_jest_24.9.0.tgz";
+      path = fetchurl {
+        name = "babel_jest___babel_jest_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-jest/-/babel-jest-24.9.0.tgz";
+        sha1 = "3fc327cb8467b89d14d7bc70e315104a783ccd54";
+      };
+    }
+    {
+      name = "babel_plugin_istanbul___babel_plugin_istanbul_5.2.0.tgz";
+      path = fetchurl {
+        name = "babel_plugin_istanbul___babel_plugin_istanbul_5.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz";
+        sha1 = "df4ade83d897a92df069c4d9a25cf2671293c854";
+      };
+    }
+    {
+      name = "babel_plugin_jest_hoist___babel_plugin_jest_hoist_24.9.0.tgz";
+      path = fetchurl {
+        name = "babel_plugin_jest_hoist___babel_plugin_jest_hoist_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz";
+        sha1 = "4f837091eb407e01447c8843cbec546d0002d756";
+      };
+    }
+    {
+      name = "babel_preset_jest___babel_preset_jest_24.9.0.tgz";
+      path = fetchurl {
+        name = "babel_preset_jest___babel_preset_jest_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz";
+        sha1 = "192b521e2217fb1d1f67cf73f70c336650ad3cdc";
+      };
+    }
+    {
+      name = "balanced_match___balanced_match_1.0.2.tgz";
+      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";
+      };
+    }
+    {
+      name = "base___base_0.11.2.tgz";
+      path = fetchurl {
+        name = "base___base_0.11.2.tgz";
+        url  = "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz";
+        sha1 = "7bde5ced145b6d551a90db87f83c558b4eb48a8f";
+      };
+    }
+    {
+      name = "bcrypt_pbkdf___bcrypt_pbkdf_1.0.2.tgz";
+      path = fetchurl {
+        name = "bcrypt_pbkdf___bcrypt_pbkdf_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz";
+        sha1 = "a4301d389b6a43f9b67ff3ca11a3f6637e360e9e";
+      };
+    }
+    {
+      name = "bindings___bindings_1.5.0.tgz";
+      path = fetchurl {
+        name = "bindings___bindings_1.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz";
+        sha1 = "10353c9e945334bc0511a6d90b38fbc7c9c504df";
+      };
+    }
+    {
+      name = "bluebird___bluebird_3.7.2.tgz";
+      path = fetchurl {
+        name = "bluebird___bluebird_3.7.2.tgz";
+        url  = "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz";
+        sha1 = "9f229c15be272454ffa973ace0dbee79a1b0c36f";
+      };
+    }
+    {
+      name = "brace_expansion___brace_expansion_1.1.11.tgz";
+      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";
+      };
+    }
+    {
+      name = "braces___braces_2.3.2.tgz";
+      path = fetchurl {
+        name = "braces___braces_2.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz";
+        sha1 = "5979fd3f14cd531565e5fa2df1abfff1dfaee729";
+      };
+    }
+    {
+      name = "browser_process_hrtime___browser_process_hrtime_1.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "browser_resolve___browser_resolve_1.11.3.tgz";
+      path = fetchurl {
+        name = "browser_resolve___browser_resolve_1.11.3.tgz";
+        url  = "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.3.tgz";
+        sha1 = "9b7cbb3d0f510e4cb86bdbd796124d28b5890af6";
+      };
+    }
+    {
+      name = "browserslist___browserslist_4.16.6.tgz";
+      path = fetchurl {
+        name = "browserslist___browserslist_4.16.6.tgz";
+        url  = "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.6.tgz";
+        sha1 = "d7901277a5a88e554ed305b183ec9b0c08f66fa2";
+      };
+    }
+    {
+      name = "bser___bser_2.1.1.tgz";
+      path = fetchurl {
+        name = "bser___bser_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz";
+        sha1 = "e6787da20ece9d07998533cfd9de6f5c38f4bc05";
+      };
+    }
+    {
+      name = "buffer_from___buffer_from_1.1.1.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 = "builtins___builtins_1.0.3.tgz";
+      path = fetchurl {
+        name = "builtins___builtins_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz";
+        sha1 = "cb94faeb61c8696451db36534e1422f94f0aee88";
+      };
+    }
+    {
+      name = "cache_base___cache_base_1.0.1.tgz";
+      path = fetchurl {
+        name = "cache_base___cache_base_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz";
+        sha1 = "0a7f46416831c8b662ee36fe4e7c59d76f666ab2";
+      };
+    }
+    {
+      name = "call_bind___call_bind_1.0.2.tgz";
+      path = fetchurl {
+        name = "call_bind___call_bind_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz";
+        sha1 = "b1d4e89e688119c3c9a903ad30abb2f6a919be3c";
+      };
+    }
+    {
+      name = "callsites___callsites_3.1.0.tgz";
+      path = fetchurl {
+        name = "callsites___callsites_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz";
+        sha1 = "b3630abd8943432f54b3f0519238e33cd7df2f73";
+      };
+    }
+    {
+      name = "camelcase___camelcase_5.3.1.tgz";
+      path = fetchurl {
+        name = "camelcase___camelcase_5.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz";
+        sha1 = "e3c9b31569e106811df242f715725a1f4c494320";
+      };
+    }
+    {
+      name = "caniuse_lite___caniuse_lite_1.0.30001246.tgz";
+      path = fetchurl {
+        name = "caniuse_lite___caniuse_lite_1.0.30001246.tgz";
+        url  = "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001246.tgz";
+        sha1 = "fe17d9919f87124d6bb416ef7b325356d69dc76c";
+      };
+    }
+    {
+      name = "capture_exit___capture_exit_2.0.0.tgz";
+      path = fetchurl {
+        name = "capture_exit___capture_exit_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz";
+        sha1 = "fb953bfaebeb781f62898239dabb426d08a509a4";
+      };
+    }
+    {
+      name = "caseless___caseless_0.12.0.tgz";
+      path = fetchurl {
+        name = "caseless___caseless_0.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz";
+        sha1 = "1b681c21ff84033c826543090689420d187151dc";
+      };
+    }
+    {
+      name = "catharsis___catharsis_0.9.0.tgz";
+      path = fetchurl {
+        name = "catharsis___catharsis_0.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/catharsis/-/catharsis-0.9.0.tgz";
+        sha1 = "40382a168be0e6da308c277d3a2b3eb40c7d2121";
+      };
+    }
+    {
+      name = "chalk___chalk_2.4.2.tgz";
+      path = fetchurl {
+        name = "chalk___chalk_2.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz";
+        sha1 = "cd42541677a54333cf541a49108c1432b44c9424";
+      };
+    }
+    {
+      name = "chalk___chalk_4.1.1.tgz";
+      path = fetchurl {
+        name = "chalk___chalk_4.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/chalk/-/chalk-4.1.1.tgz";
+        sha1 = "c80b3fab28bf6371e6863325eee67e618b77e6ad";
+      };
+    }
+    {
+      name = "chardet___chardet_0.7.0.tgz";
+      path = fetchurl {
+        name = "chardet___chardet_0.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz";
+        sha1 = "90094849f0937f2eedc2425d0d28a9e5f0cbad9e";
+      };
+    }
+    {
+      name = "ci_info___ci_info_2.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "class_utils___class_utils_0.3.6.tgz";
+      path = fetchurl {
+        name = "class_utils___class_utils_0.3.6.tgz";
+        url  = "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz";
+        sha1 = "f93369ae8b9a7ce02fd41faad0ca83033190c463";
+      };
+    }
+    {
+      name = "cli_cursor___cli_cursor_3.1.0.tgz";
+      path = fetchurl {
+        name = "cli_cursor___cli_cursor_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz";
+        sha1 = "264305a7ae490d1d03bf0c9ba7c925d1753af307";
+      };
+    }
+    {
+      name = "cli_width___cli_width_3.0.0.tgz";
+      path = fetchurl {
+        name = "cli_width___cli_width_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz";
+        sha1 = "a2f48437a2caa9a22436e794bf071ec9e61cedf6";
+      };
+    }
+    {
+      name = "cliui___cliui_5.0.0.tgz";
+      path = fetchurl {
+        name = "cliui___cliui_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz";
+        sha1 = "deefcfdb2e800784aa34f46fa08e06851c7bbbc5";
+      };
+    }
+    {
+      name = "co___co_4.6.0.tgz";
+      path = fetchurl {
+        name = "co___co_4.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz";
+        sha1 = "6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184";
+      };
+    }
+    {
+      name = "collection_visit___collection_visit_1.0.0.tgz";
+      path = fetchurl {
+        name = "collection_visit___collection_visit_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz";
+        sha1 = "4bc0373c164bc3291b4d368c829cf1a80a59dca0";
+      };
+    }
+    {
+      name = "color_convert___color_convert_1.9.3.tgz";
+      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";
+      };
+    }
+    {
+      name = "color_convert___color_convert_2.0.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "color_name___color_name_1.1.3.tgz";
+      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";
+      };
+    }
+    {
+      name = "color_name___color_name_1.1.4.tgz";
+      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";
+      };
+    }
+    {
+      name = "combined_stream___combined_stream_1.0.8.tgz";
+      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";
+      };
+    }
+    {
+      name = "command_line_args___command_line_args_5.1.3.tgz";
+      path = fetchurl {
+        name = "command_line_args___command_line_args_5.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/command-line-args/-/command-line-args-5.1.3.tgz";
+        sha1 = "1e57d2816f28804073bb5e75cd24e02e2aa321e7";
+      };
+    }
+    {
+      name = "command_line_commands___command_line_commands_3.0.2.tgz";
+      path = fetchurl {
+        name = "command_line_commands___command_line_commands_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/command-line-commands/-/command-line-commands-3.0.2.tgz";
+        sha1 = "53872a1181db837f21906b1228e260a4eeb42ee4";
+      };
+    }
+    {
+      name = "command_line_usage___command_line_usage_6.1.1.tgz";
+      path = fetchurl {
+        name = "command_line_usage___command_line_usage_6.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/command-line-usage/-/command-line-usage-6.1.1.tgz";
+        sha1 = "c908e28686108917758a49f45efb4f02f76bc03f";
+      };
+    }
+    {
+      name = "component_emitter___component_emitter_1.3.0.tgz";
+      path = fetchurl {
+        name = "component_emitter___component_emitter_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz";
+        sha1 = "16e4070fba8ae29b679f2215853ee181ab2eabc0";
+      };
+    }
+    {
+      name = "concat_map___concat_map_0.0.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "convert_source_map___convert_source_map_1.8.0.tgz";
+      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 = "copy_descriptor___copy_descriptor_0.1.1.tgz";
+      path = fetchurl {
+        name = "copy_descriptor___copy_descriptor_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz";
+        sha1 = "676f6eb3c39997c2ee1ac3a924fd6124748f578d";
+      };
+    }
+    {
+      name = "core_util_is___core_util_is_1.0.2.tgz";
+      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";
+      };
+    }
+    {
+      name = "cross_spawn___cross_spawn_6.0.5.tgz";
+      path = fetchurl {
+        name = "cross_spawn___cross_spawn_6.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz";
+        sha1 = "4a5ec7c64dfae22c3a14124dbacdee846d80cbc4";
+      };
+    }
+    {
+      name = "cssom___cssom_0.3.8.tgz";
+      path = fetchurl {
+        name = "cssom___cssom_0.3.8.tgz";
+        url  = "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz";
+        sha1 = "9f1276f5b2b463f2114d3f2c75250af8c1a36f4a";
+      };
+    }
+    {
+      name = "cssstyle___cssstyle_1.4.0.tgz";
+      path = fetchurl {
+        name = "cssstyle___cssstyle_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.4.0.tgz";
+        sha1 = "9d31328229d3c565c61e586b02041a28fccdccf1";
+      };
+    }
+    {
+      name = "dashdash___dashdash_1.14.1.tgz";
+      path = fetchurl {
+        name = "dashdash___dashdash_1.14.1.tgz";
+        url  = "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz";
+        sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0";
+      };
+    }
+    {
+      name = "data_urls___data_urls_1.1.0.tgz";
+      path = fetchurl {
+        name = "data_urls___data_urls_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/data-urls/-/data-urls-1.1.0.tgz";
+        sha1 = "15ee0582baa5e22bb59c77140da8f9c76963bbfe";
+      };
+    }
+    {
+      name = "debug___debug_2.6.9.tgz";
+      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";
+      };
+    }
+    {
+      name = "decamelize___decamelize_1.2.0.tgz";
+      path = fetchurl {
+        name = "decamelize___decamelize_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz";
+        sha1 = "f6534d15148269b20352e7bee26f501f9a191290";
+      };
+    }
+    {
+      name = "decode_uri_component___decode_uri_component_0.2.0.tgz";
+      path = fetchurl {
+        name = "decode_uri_component___decode_uri_component_0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz";
+        sha1 = "eb3913333458775cb84cd1a1fae062106bb87545";
+      };
+    }
+    {
+      name = "deep_extend___deep_extend_0.6.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "deep_is___deep_is_0.1.3.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 = "define_properties___define_properties_1.1.3.tgz";
+      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";
+      };
+    }
+    {
+      name = "define_property___define_property_0.2.5.tgz";
+      path = fetchurl {
+        name = "define_property___define_property_0.2.5.tgz";
+        url  = "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz";
+        sha1 = "c35b1ef918ec3c990f9a5bc57be04aacec5c8116";
+      };
+    }
+    {
+      name = "define_property___define_property_1.0.0.tgz";
+      path = fetchurl {
+        name = "define_property___define_property_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz";
+        sha1 = "769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6";
+      };
+    }
+    {
+      name = "define_property___define_property_2.0.2.tgz";
+      path = fetchurl {
+        name = "define_property___define_property_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz";
+        sha1 = "d459689e8d654ba77e02a817f8710d702cb16e9d";
+      };
+    }
+    {
+      name = "delayed_stream___delayed_stream_1.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "detect_newline___detect_newline_2.1.0.tgz";
+      path = fetchurl {
+        name = "detect_newline___detect_newline_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz";
+        sha1 = "f41f1c10be4b00e87b5f13da680759f2c5bfd3e2";
+      };
+    }
+    {
+      name = "diff_sequences___diff_sequences_24.9.0.tgz";
+      path = fetchurl {
+        name = "diff_sequences___diff_sequences_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.9.0.tgz";
+        sha1 = "5715d6244e2aa65f48bba0bc972db0b0b11e95b5";
+      };
+    }
+    {
+      name = "doctrine___doctrine_3.0.0.tgz";
+      path = fetchurl {
+        name = "doctrine___doctrine_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz";
+        sha1 = "addebead72a6574db783639dc87a121773973961";
+      };
+    }
+    {
+      name = "domexception___domexception_1.0.1.tgz";
+      path = fetchurl {
+        name = "domexception___domexception_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz";
+        sha1 = "937442644ca6a31261ef36e3ec677fe805582c90";
+      };
+    }
+    {
+      name = "ecc_jsbn___ecc_jsbn_0.1.2.tgz";
+      path = fetchurl {
+        name = "ecc_jsbn___ecc_jsbn_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz";
+        sha1 = "3a83a904e54353287874c564b7549386849a98c9";
+      };
+    }
+    {
+      name = "electron_to_chromium___electron_to_chromium_1.3.782.tgz";
+      path = fetchurl {
+        name = "electron_to_chromium___electron_to_chromium_1.3.782.tgz";
+        url  = "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.782.tgz";
+        sha1 = "522740fe6b4b5255ca754c68d9c406a17b0998e2";
+      };
+    }
+    {
+      name = "emoji_regex___emoji_regex_7.0.3.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 = "emoji_regex___emoji_regex_8.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "end_of_stream___end_of_stream_1.4.4.tgz";
+      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";
+      };
+    }
+    {
+      name = "entities___entities_2.0.3.tgz";
+      path = fetchurl {
+        name = "entities___entities_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/entities/-/entities-2.0.3.tgz";
+        sha1 = "5c487e5742ab93c15abb5da22759b8590ec03b7f";
+      };
+    }
+    {
+      name = "error_ex___error_ex_1.3.2.tgz";
+      path = fetchurl {
+        name = "error_ex___error_ex_1.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz";
+        sha1 = "b4ac40648107fdcdcfae242f428bea8a14d4f1bf";
+      };
+    }
+    {
+      name = "es_abstract___es_abstract_1.18.3.tgz";
+      path = fetchurl {
+        name = "es_abstract___es_abstract_1.18.3.tgz";
+        url  = "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.3.tgz";
+        sha1 = "25c4c3380a27aa203c44b2b685bba94da31b63e0";
+      };
+    }
+    {
+      name = "es_to_primitive___es_to_primitive_1.2.1.tgz";
+      path = fetchurl {
+        name = "es_to_primitive___es_to_primitive_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz";
+        sha1 = "e55cd4c9cdc188bcefb03b366c736323fc5c898a";
+      };
+    }
+    {
+      name = "escalade___escalade_3.1.1.tgz";
+      path = fetchurl {
+        name = "escalade___escalade_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz";
+        sha1 = "d8cfdc7000965c5a0174b4a82eaa5c0552742e40";
+      };
+    }
+    {
+      name = "escape_string_regexp___escape_string_regexp_1.0.5.tgz";
+      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";
+      };
+    }
+    {
+      name = "escape_string_regexp___escape_string_regexp_2.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "escodegen___escodegen_1.14.3.tgz";
+      path = fetchurl {
+        name = "escodegen___escodegen_1.14.3.tgz";
+        url  = "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz";
+        sha1 = "4e7b81fba61581dc97582ed78cab7f0e8d63f503";
+      };
+    }
+    {
+      name = "eslint_config_google___eslint_config_google_0.13.0.tgz";
+      path = fetchurl {
+        name = "eslint_config_google___eslint_config_google_0.13.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-config-google/-/eslint-config-google-0.13.0.tgz";
+        sha1 = "e277d16d2cb25c1ffd3fd13fb0035ad7421382fe";
+      };
+    }
+    {
+      name = "eslint_scope___eslint_scope_5.1.1.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_1.4.3.tgz";
+      path = fetchurl {
+        name = "eslint_utils___eslint_utils_1.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.3.tgz";
+        sha1 = "74fec7c54d0776b6f67e0251040b5806564e981f";
+      };
+    }
+    {
+      name = "eslint_visitor_keys___eslint_visitor_keys_1.3.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___eslint_6.8.0.tgz";
+      path = fetchurl {
+        name = "eslint___eslint_6.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint/-/eslint-6.8.0.tgz";
+        sha1 = "62262d6729739f9275723824302fb227c8c93ffb";
+      };
+    }
+    {
+      name = "espree___espree_6.2.1.tgz";
+      path = fetchurl {
+        name = "espree___espree_6.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/espree/-/espree-6.2.1.tgz";
+        sha1 = "77fc72e1fd744a2052c20f38a5b575832e82734a";
+      };
+    }
+    {
+      name = "esprima___esprima_4.0.1.tgz";
+      path = fetchurl {
+        name = "esprima___esprima_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz";
+        sha1 = "13b04cdb3e6c5d19df91ab6987a8695619b0aa71";
+      };
+    }
+    {
+      name = "esquery___esquery_1.4.0.tgz";
+      path = fetchurl {
+        name = "esquery___esquery_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz";
+        sha1 = "2148ffc38b82e8c7057dfed48425b3e61f0f24a5";
+      };
+    }
+    {
+      name = "esrecurse___esrecurse_4.3.0.tgz";
+      path = fetchurl {
+        name = "esrecurse___esrecurse_4.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz";
+        sha1 = "7ad7964d679abb28bee72cec63758b1c5d2c9921";
+      };
+    }
+    {
+      name = "estraverse___estraverse_4.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 = "esutils___esutils_2.0.3.tgz";
+      path = fetchurl {
+        name = "esutils___esutils_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz";
+        sha1 = "74d2eb4de0b8da1293711910d50775b9b710ef64";
+      };
+    }
+    {
+      name = "exec_sh___exec_sh_0.3.6.tgz";
+      path = fetchurl {
+        name = "exec_sh___exec_sh_0.3.6.tgz";
+        url  = "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.6.tgz";
+        sha1 = "ff264f9e325519a60cb5e273692943483cca63bc";
+      };
+    }
+    {
+      name = "execa___execa_1.0.0.tgz";
+      path = fetchurl {
+        name = "execa___execa_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz";
+        sha1 = "c6236a5bb4df6d6f15e88e7f017798216749ddd8";
+      };
+    }
+    {
+      name = "exit___exit_0.1.2.tgz";
+      path = fetchurl {
+        name = "exit___exit_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz";
+        sha1 = "0632638f8d877cc82107d30a0fff1a17cba1cd0c";
+      };
+    }
+    {
+      name = "expand_brackets___expand_brackets_2.1.4.tgz";
+      path = fetchurl {
+        name = "expand_brackets___expand_brackets_2.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz";
+        sha1 = "b77735e315ce30f6b6eff0f83b04151a22449622";
+      };
+    }
+    {
+      name = "expect___expect_24.9.0.tgz";
+      path = fetchurl {
+        name = "expect___expect_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/expect/-/expect-24.9.0.tgz";
+        sha1 = "b75165b4817074fa4a157794f46fe9f1ba15b6ca";
+      };
+    }
+    {
+      name = "extend_shallow___extend_shallow_2.0.1.tgz";
+      path = fetchurl {
+        name = "extend_shallow___extend_shallow_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz";
+        sha1 = "51af7d614ad9a9f610ea1bafbb989d6b1c56890f";
+      };
+    }
+    {
+      name = "extend_shallow___extend_shallow_3.0.2.tgz";
+      path = fetchurl {
+        name = "extend_shallow___extend_shallow_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz";
+        sha1 = "26a71aaf073b39fb2127172746131c2704028db8";
+      };
+    }
+    {
+      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 = "external_editor___external_editor_3.1.0.tgz";
+      path = fetchurl {
+        name = "external_editor___external_editor_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz";
+        sha1 = "cb03f740befae03ea4d283caed2741a83f335495";
+      };
+    }
+    {
+      name = "extglob___extglob_2.0.4.tgz";
+      path = fetchurl {
+        name = "extglob___extglob_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz";
+        sha1 = "ad00fe4dc612a9232e8718711dc5cb5ab0285543";
+      };
+    }
+    {
+      name = "extsprintf___extsprintf_1.3.0.tgz";
+      path = fetchurl {
+        name = "extsprintf___extsprintf_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz";
+        sha1 = "96918440e3041a7a414f8c52e3c574eb3c3e1e05";
+      };
+    }
+    {
+      name = "extsprintf___extsprintf_1.4.0.tgz";
+      path = fetchurl {
+        name = "extsprintf___extsprintf_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz";
+        sha1 = "e2689f8f356fad62cca65a3a91c5df5f9551692f";
+      };
+    }
+    {
+      name = "fast_deep_equal___fast_deep_equal_3.1.3.tgz";
+      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";
+      };
+    }
+    {
+      name = "fast_json_stable_stringify___fast_json_stable_stringify_2.1.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "fast_levenshtein___fast_levenshtein_2.0.6.tgz";
+      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";
+      };
+    }
+    {
+      name = "fb_watchman___fb_watchman_2.0.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "figures___figures_3.2.0.tgz";
+      path = fetchurl {
+        name = "figures___figures_3.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz";
+        sha1 = "625c18bd293c604dc4a8ddb2febf0c88341746af";
+      };
+    }
+    {
+      name = "file_entry_cache___file_entry_cache_5.0.1.tgz";
+      path = fetchurl {
+        name = "file_entry_cache___file_entry_cache_5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz";
+        sha1 = "ca0f6efa6dd3d561333fb14515065c2fafdf439c";
+      };
+    }
+    {
+      name = "file_uri_to_path___file_uri_to_path_1.0.0.tgz";
+      path = fetchurl {
+        name = "file_uri_to_path___file_uri_to_path_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz";
+        sha1 = "553a7b8446ff6f684359c445f1e37a05dacc33dd";
+      };
+    }
+    {
+      name = "fill_range___fill_range_4.0.0.tgz";
+      path = fetchurl {
+        name = "fill_range___fill_range_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz";
+        sha1 = "d544811d428f98eb06a63dc402d2403c328c38f7";
+      };
+    }
+    {
+      name = "find_replace___find_replace_3.0.0.tgz";
+      path = fetchurl {
+        name = "find_replace___find_replace_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/find-replace/-/find-replace-3.0.0.tgz";
+        sha1 = "3e7e23d3b05167a76f770c9fbd5258b0def68c38";
+      };
+    }
+    {
+      name = "find_up___find_up_3.0.0.tgz";
+      path = fetchurl {
+        name = "find_up___find_up_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz";
+        sha1 = "49169f1d7993430646da61ecc5ae355c21c97b73";
+      };
+    }
+    {
+      name = "flat_cache___flat_cache_2.0.1.tgz";
+      path = fetchurl {
+        name = "flat_cache___flat_cache_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz";
+        sha1 = "5d296d6f04bda44a4630a301413bdbc2ec085ec0";
+      };
+    }
+    {
+      name = "flatted___flatted_2.0.2.tgz";
+      path = fetchurl {
+        name = "flatted___flatted_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz";
+        sha1 = "4575b21e2bcee7434aa9be662f4b7b5f9c2b5138";
+      };
+    }
+    {
+      name = "for_each___for_each_0.3.3.tgz";
+      path = fetchurl {
+        name = "for_each___for_each_0.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz";
+        sha1 = "69b447e88a0a5d32c3e7084f3f1710034b21376e";
+      };
+    }
+    {
+      name = "for_in___for_in_1.0.2.tgz";
+      path = fetchurl {
+        name = "for_in___for_in_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz";
+        sha1 = "81068d295a8142ec0ac726c6e2200c30fb6d5e80";
+      };
+    }
+    {
+      name = "forever_agent___forever_agent_0.6.1.tgz";
+      path = fetchurl {
+        name = "forever_agent___forever_agent_0.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz";
+        sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91";
+      };
+    }
+    {
+      name = "form_data___form_data_2.3.3.tgz";
+      path = fetchurl {
+        name = "form_data___form_data_2.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz";
+        sha1 = "dcce52c05f644f298c6a7ab936bd724ceffbf3a6";
+      };
+    }
+    {
+      name = "fragment_cache___fragment_cache_0.2.1.tgz";
+      path = fetchurl {
+        name = "fragment_cache___fragment_cache_0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz";
+        sha1 = "4290fad27f13e89be7f33799c6bc5a0abfff0d19";
+      };
+    }
+    {
+      name = "fs.realpath___fs.realpath_1.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "fsevents___fsevents_1.2.13.tgz";
+      path = fetchurl {
+        name = "fsevents___fsevents_1.2.13.tgz";
+        url  = "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz";
+        sha1 = "f325cb0455592428bcf11b383370ef70e3bfcc38";
+      };
+    }
+    {
+      name = "function_bind___function_bind_1.1.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "functional_red_black_tree___functional_red_black_tree_1.0.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "gensync___gensync_1.0.0_beta.2.tgz";
+      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";
+      };
+    }
+    {
+      name = "get_caller_file___get_caller_file_2.0.5.tgz";
+      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";
+      };
+    }
+    {
+      name = "get_intrinsic___get_intrinsic_1.1.1.tgz";
+      path = fetchurl {
+        name = "get_intrinsic___get_intrinsic_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz";
+        sha1 = "15f59f376f855c446963948f0d24cd3637b4abc6";
+      };
+    }
+    {
+      name = "get_stream___get_stream_4.1.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "get_value___get_value_2.0.6.tgz";
+      path = fetchurl {
+        name = "get_value___get_value_2.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz";
+        sha1 = "dc15ca1c672387ca76bd37ac0a395ba2042a2c28";
+      };
+    }
+    {
+      name = "getpass___getpass_0.1.7.tgz";
+      path = fetchurl {
+        name = "getpass___getpass_0.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz";
+        sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa";
+      };
+    }
+    {
+      name = "git_config___git_config_0.0.7.tgz";
+      path = fetchurl {
+        name = "git_config___git_config_0.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/git-config/-/git-config-0.0.7.tgz";
+        sha1 = "a9c8a3ef07a776c3d72261356d8b727b62202b28";
+      };
+    }
+    {
+      name = "glob_parent___glob_parent_5.1.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___glob_7.1.7.tgz";
+      path = fetchurl {
+        name = "glob___glob_7.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz";
+        sha1 = "3b193e9233f01d42d0b3f78294bbeeb418f94a90";
+      };
+    }
+    {
+      name = "globals___globals_11.12.0.tgz";
+      path = fetchurl {
+        name = "globals___globals_11.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz";
+        sha1 = "ab8795338868a0babd8525758018c2a7eb95c42e";
+      };
+    }
+    {
+      name = "globals___globals_12.4.0.tgz";
+      path = fetchurl {
+        name = "globals___globals_12.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz";
+        sha1 = "a18813576a41b00a24a97e7f815918c2e19925f8";
+      };
+    }
+    {
+      name = "graceful_fs___graceful_fs_4.2.6.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 = "growly___growly_1.3.0.tgz";
+      path = fetchurl {
+        name = "growly___growly_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz";
+        sha1 = "f10748cbe76af964b7c96c93c6bcc28af120c081";
+      };
+    }
+    {
+      name = "handlebars___handlebars_4.7.7.tgz";
+      path = fetchurl {
+        name = "handlebars___handlebars_4.7.7.tgz";
+        url  = "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz";
+        sha1 = "9ce33416aad02dbd6c8fafa8240d5d98004945a1";
+      };
+    }
+    {
+      name = "har_schema___har_schema_2.0.0.tgz";
+      path = fetchurl {
+        name = "har_schema___har_schema_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz";
+        sha1 = "a94c2224ebcac04782a0d9035521f24735b7ec92";
+      };
+    }
+    {
+      name = "har_validator___har_validator_5.1.5.tgz";
+      path = fetchurl {
+        name = "har_validator___har_validator_5.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz";
+        sha1 = "1f0803b9f8cb20c0fa13822df1ecddb36bde1efd";
+      };
+    }
+    {
+      name = "has_bigints___has_bigints_1.0.1.tgz";
+      path = fetchurl {
+        name = "has_bigints___has_bigints_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz";
+        sha1 = "64fe6acb020673e3b78db035a5af69aa9d07b113";
+      };
+    }
+    {
+      name = "has_flag___has_flag_3.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "has_flag___has_flag_4.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "has_symbols___has_symbols_1.0.2.tgz";
+      path = fetchurl {
+        name = "has_symbols___has_symbols_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz";
+        sha1 = "165d3070c00309752a1236a479331e3ac56f1423";
+      };
+    }
+    {
+      name = "has_value___has_value_0.3.1.tgz";
+      path = fetchurl {
+        name = "has_value___has_value_0.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz";
+        sha1 = "7b1f58bada62ca827ec0a2078025654845995e1f";
+      };
+    }
+    {
+      name = "has_value___has_value_1.0.0.tgz";
+      path = fetchurl {
+        name = "has_value___has_value_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz";
+        sha1 = "18b281da585b1c5c51def24c930ed29a0be6b177";
+      };
+    }
+    {
+      name = "has_values___has_values_0.1.4.tgz";
+      path = fetchurl {
+        name = "has_values___has_values_0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz";
+        sha1 = "6d61de95d91dfca9b9a02089ad384bff8f62b771";
+      };
+    }
+    {
+      name = "has_values___has_values_1.0.0.tgz";
+      path = fetchurl {
+        name = "has_values___has_values_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz";
+        sha1 = "95b0b63fec2146619a6fe57fe75628d5a39efe4f";
+      };
+    }
+    {
+      name = "has___has_1.0.3.tgz";
+      path = fetchurl {
+        name = "has___has_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz";
+        sha1 = "722d7cbfc1f6aa8241f16dd814e011e1f41e8796";
+      };
+    }
+    {
+      name = "hosted_git_info___hosted_git_info_2.8.9.tgz";
+      path = fetchurl {
+        name = "hosted_git_info___hosted_git_info_2.8.9.tgz";
+        url  = "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz";
+        sha1 = "dffc0bf9a21c02209090f2aa69429e1414daf3f9";
+      };
+    }
+    {
+      name = "html_encoding_sniffer___html_encoding_sniffer_1.0.2.tgz";
+      path = fetchurl {
+        name = "html_encoding_sniffer___html_encoding_sniffer_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz";
+        sha1 = "e70d84b94da53aa375e11fe3a351be6642ca46f8";
+      };
+    }
+    {
+      name = "html_escaper___html_escaper_2.0.2.tgz";
+      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";
+      };
+    }
+    {
+      name = "http_signature___http_signature_1.2.0.tgz";
+      path = fetchurl {
+        name = "http_signature___http_signature_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz";
+        sha1 = "9aecd925114772f3d95b65a60abb8f7c18fbace1";
+      };
+    }
+    {
+      name = "iconv_lite___iconv_lite_0.4.24.tgz";
+      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";
+      };
+    }
+    {
+      name = "ignore___ignore_4.0.6.tgz";
+      path = fetchurl {
+        name = "ignore___ignore_4.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz";
+        sha1 = "750e3db5862087b4737ebac8207ffd1ef27b25fc";
+      };
+    }
+    {
+      name = "import_fresh___import_fresh_3.3.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "import_local___import_local_2.0.0.tgz";
+      path = fetchurl {
+        name = "import_local___import_local_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz";
+        sha1 = "55070be38a5993cf18ef6db7e961f5bee5c5a09d";
+      };
+    }
+    {
+      name = "imurmurhash___imurmurhash_0.1.4.tgz";
+      path = fetchurl {
+        name = "imurmurhash___imurmurhash_0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz";
+        sha1 = "9218b9b2b928a238b13dc4fb6b6d576f231453ea";
+      };
+    }
+    {
+      name = "inflight___inflight_1.0.6.tgz";
+      path = fetchurl {
+        name = "inflight___inflight_1.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz";
+        sha1 = "49bd6331d7d02d0c09bc910a1075ba8165b56df9";
+      };
+    }
+    {
+      name = "inherits___inherits_2.0.4.tgz";
+      path = fetchurl {
+        name = "inherits___inherits_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz";
+        sha1 = "0fa2c64f932917c3433a0ded55363aae37416b7c";
+      };
+    }
+    {
+      name = "iniparser___iniparser_1.0.5.tgz";
+      path = fetchurl {
+        name = "iniparser___iniparser_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/iniparser/-/iniparser-1.0.5.tgz";
+        sha1 = "836d6befe6dfbfcee0bccf1cf9f2acc7027f783d";
+      };
+    }
+    {
+      name = "inquirer___inquirer_7.3.3.tgz";
+      path = fetchurl {
+        name = "inquirer___inquirer_7.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/inquirer/-/inquirer-7.3.3.tgz";
+        sha1 = "04d176b2af04afc157a83fd7c100e98ee0aad003";
+      };
+    }
+    {
+      name = "invariant___invariant_2.2.4.tgz";
+      path = fetchurl {
+        name = "invariant___invariant_2.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz";
+        sha1 = "610f3c92c9359ce1db616e538008d23ff35158e6";
+      };
+    }
+    {
+      name = "is_accessor_descriptor___is_accessor_descriptor_0.1.6.tgz";
+      path = fetchurl {
+        name = "is_accessor_descriptor___is_accessor_descriptor_0.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz";
+        sha1 = "a9e12cb3ae8d876727eeef3843f8a0897b5c98d6";
+      };
+    }
+    {
+      name = "is_accessor_descriptor___is_accessor_descriptor_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_accessor_descriptor___is_accessor_descriptor_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz";
+        sha1 = "169c2f6d3df1f992618072365c9b0ea1f6878656";
+      };
+    }
+    {
+      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 = "77c99840527aa8ecb1a8ba697b80645a7a926a9d";
+      };
+    }
+    {
+      name = "is_bigint___is_bigint_1.0.2.tgz";
+      path = fetchurl {
+        name = "is_bigint___is_bigint_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.2.tgz";
+        sha1 = "ffb381442503235ad245ea89e45b3dbff040ee5a";
+      };
+    }
+    {
+      name = "is_boolean_object___is_boolean_object_1.1.1.tgz";
+      path = fetchurl {
+        name = "is_boolean_object___is_boolean_object_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.1.tgz";
+        sha1 = "3c0878f035cb821228d350d2e1e36719716a3de8";
+      };
+    }
+    {
+      name = "is_buffer___is_buffer_1.1.6.tgz";
+      path = fetchurl {
+        name = "is_buffer___is_buffer_1.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz";
+        sha1 = "efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be";
+      };
+    }
+    {
+      name = "is_callable___is_callable_1.2.3.tgz";
+      path = fetchurl {
+        name = "is_callable___is_callable_1.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz";
+        sha1 = "8b1e0500b73a1d76c70487636f368e519de8db8e";
+      };
+    }
+    {
+      name = "is_ci___is_ci_2.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "is_core_module___is_core_module_2.5.0.tgz";
+      path = fetchurl {
+        name = "is_core_module___is_core_module_2.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.5.0.tgz";
+        sha1 = "f754843617c70bfd29b7bd87327400cda5c18491";
+      };
+    }
+    {
+      name = "is_data_descriptor___is_data_descriptor_0.1.4.tgz";
+      path = fetchurl {
+        name = "is_data_descriptor___is_data_descriptor_0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz";
+        sha1 = "0b5ee648388e2c860282e793f1856fec3f301b56";
+      };
+    }
+    {
+      name = "is_data_descriptor___is_data_descriptor_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_data_descriptor___is_data_descriptor_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz";
+        sha1 = "d84876321d0e7add03990406abbbbd36ba9268c7";
+      };
+    }
+    {
+      name = "is_date_object___is_date_object_1.0.4.tgz";
+      path = fetchurl {
+        name = "is_date_object___is_date_object_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.4.tgz";
+        sha1 = "550cfcc03afada05eea3dd30981c7b09551f73e5";
+      };
+    }
+    {
+      name = "is_descriptor___is_descriptor_0.1.6.tgz";
+      path = fetchurl {
+        name = "is_descriptor___is_descriptor_0.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz";
+        sha1 = "366d8240dde487ca51823b1ab9f07a10a78251ca";
+      };
+    }
+    {
+      name = "is_descriptor___is_descriptor_1.0.2.tgz";
+      path = fetchurl {
+        name = "is_descriptor___is_descriptor_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz";
+        sha1 = "3b159746a66604b04f8c81524ba365c5f14d86ec";
+      };
+    }
+    {
+      name = "is_extendable___is_extendable_0.1.1.tgz";
+      path = fetchurl {
+        name = "is_extendable___is_extendable_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz";
+        sha1 = "62b110e289a471418e3ec36a617d472e301dfc89";
+      };
+    }
+    {
+      name = "is_extendable___is_extendable_1.0.1.tgz";
+      path = fetchurl {
+        name = "is_extendable___is_extendable_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz";
+        sha1 = "a7470f9e426733d81bd81e1155264e3a3507cab4";
+      };
+    }
+    {
+      name = "is_extglob___is_extglob_2.1.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "is_fullwidth_code_point___is_fullwidth_code_point_3.0.0.tgz";
+      path = fetchurl {
+        name = "is_fullwidth_code_point___is_fullwidth_code_point_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz";
+        sha1 = "f116f8064fe90b3f7844a38997c0b75051269f1d";
+      };
+    }
+    {
+      name = "is_generator_fn___is_generator_fn_2.1.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "is_glob___is_glob_4.0.1.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_negative_zero___is_negative_zero_2.0.1.tgz";
+      path = fetchurl {
+        name = "is_negative_zero___is_negative_zero_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz";
+        sha1 = "3de746c18dda2319241a53675908d8f766f11c24";
+      };
+    }
+    {
+      name = "is_number_object___is_number_object_1.0.5.tgz";
+      path = fetchurl {
+        name = "is_number_object___is_number_object_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.5.tgz";
+        sha1 = "6edfaeed7950cff19afedce9fbfca9ee6dd289eb";
+      };
+    }
+    {
+      name = "is_number___is_number_3.0.0.tgz";
+      path = fetchurl {
+        name = "is_number___is_number_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz";
+        sha1 = "24fd6201a4782cf50561c810276afc7d12d71195";
+      };
+    }
+    {
+      name = "is_plain_object___is_plain_object_2.0.4.tgz";
+      path = fetchurl {
+        name = "is_plain_object___is_plain_object_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz";
+        sha1 = "2c163b3fafb1b606d9d17928f05c2a1c38e07677";
+      };
+    }
+    {
+      name = "is_regex___is_regex_1.1.3.tgz";
+      path = fetchurl {
+        name = "is_regex___is_regex_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.3.tgz";
+        sha1 = "d029f9aff6448b93ebbe3f33dac71511fdcbef9f";
+      };
+    }
+    {
+      name = "is_stream___is_stream_1.1.0.tgz";
+      path = fetchurl {
+        name = "is_stream___is_stream_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz";
+        sha1 = "12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44";
+      };
+    }
+    {
+      name = "is_string___is_string_1.0.6.tgz";
+      path = fetchurl {
+        name = "is_string___is_string_1.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/is-string/-/is-string-1.0.6.tgz";
+        sha1 = "3fe5d5992fb0d93404f32584d4b0179a71b54a5f";
+      };
+    }
+    {
+      name = "is_symbol___is_symbol_1.0.4.tgz";
+      path = fetchurl {
+        name = "is_symbol___is_symbol_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz";
+        sha1 = "a6dac93b635b063ca6872236de88910a57af139c";
+      };
+    }
+    {
+      name = "is_typedarray___is_typedarray_1.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "is_windows___is_windows_1.0.2.tgz";
+      path = fetchurl {
+        name = "is_windows___is_windows_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz";
+        sha1 = "d1850eb9791ecd18e6182ce12a30f396634bb19d";
+      };
+    }
+    {
+      name = "is_wsl___is_wsl_1.1.0.tgz";
+      path = fetchurl {
+        name = "is_wsl___is_wsl_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz";
+        sha1 = "1f16e4aa22b04d1336b66188a66af3c600c3a66d";
+      };
+    }
+    {
+      name = "isarray___isarray_1.0.0.tgz";
+      path = fetchurl {
+        name = "isarray___isarray_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz";
+        sha1 = "bb935d48582cba168c06834957a54a3e07124f11";
+      };
+    }
+    {
+      name = "isexe___isexe_2.0.0.tgz";
+      path = fetchurl {
+        name = "isexe___isexe_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz";
+        sha1 = "e8fbf374dc556ff8947a10dcb0572d633f2cfa10";
+      };
+    }
+    {
+      name = "isobject___isobject_2.1.0.tgz";
+      path = fetchurl {
+        name = "isobject___isobject_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz";
+        sha1 = "f065561096a3f1da2ef46272f815c840d87e0c89";
+      };
+    }
+    {
+      name = "isobject___isobject_3.0.1.tgz";
+      path = fetchurl {
+        name = "isobject___isobject_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz";
+        sha1 = "4e431e92b11a9731636aa1f9c8d1ccbcfdab78df";
+      };
+    }
+    {
+      name = "isstream___isstream_0.1.2.tgz";
+      path = fetchurl {
+        name = "isstream___isstream_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz";
+        sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a";
+      };
+    }
+    {
+      name = "istanbul_lib_coverage___istanbul_lib_coverage_2.0.5.tgz";
+      path = fetchurl {
+        name = "istanbul_lib_coverage___istanbul_lib_coverage_2.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz";
+        sha1 = "675f0ab69503fad4b1d849f736baaca803344f49";
+      };
+    }
+    {
+      name = "istanbul_lib_instrument___istanbul_lib_instrument_3.3.0.tgz";
+      path = fetchurl {
+        name = "istanbul_lib_instrument___istanbul_lib_instrument_3.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz";
+        sha1 = "a5f63d91f0bbc0c3e479ef4c5de027335ec6d630";
+      };
+    }
+    {
+      name = "istanbul_lib_report___istanbul_lib_report_2.0.8.tgz";
+      path = fetchurl {
+        name = "istanbul_lib_report___istanbul_lib_report_2.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz";
+        sha1 = "5a8113cd746d43c4889eba36ab10e7d50c9b4f33";
+      };
+    }
+    {
+      name = "istanbul_lib_source_maps___istanbul_lib_source_maps_3.0.6.tgz";
+      path = fetchurl {
+        name = "istanbul_lib_source_maps___istanbul_lib_source_maps_3.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz";
+        sha1 = "284997c48211752ec486253da97e3879defba8c8";
+      };
+    }
+    {
+      name = "istanbul_reports___istanbul_reports_2.2.7.tgz";
+      path = fetchurl {
+        name = "istanbul_reports___istanbul_reports_2.2.7.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.2.7.tgz";
+        sha1 = "5d939f6237d7b48393cc0959eab40cd4fd056931";
+      };
+    }
+    {
+      name = "jest_changed_files___jest_changed_files_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_changed_files___jest_changed_files_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-24.9.0.tgz";
+        sha1 = "08d8c15eb79a7fa3fc98269bc14b451ee82f8039";
+      };
+    }
+    {
+      name = "jest_cli___jest_cli_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_cli___jest_cli_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-cli/-/jest-cli-24.9.0.tgz";
+        sha1 = "ad2de62d07472d419c6abc301fc432b98b10d2af";
+      };
+    }
+    {
+      name = "jest_config___jest_config_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_config___jest_config_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-config/-/jest-config-24.9.0.tgz";
+        sha1 = "fb1bbc60c73a46af03590719efa4825e6e4dd1b5";
+      };
+    }
+    {
+      name = "jest_diff___jest_diff_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_diff___jest_diff_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.9.0.tgz";
+        sha1 = "931b7d0d5778a1baf7452cb816e325e3724055da";
+      };
+    }
+    {
+      name = "jest_docblock___jest_docblock_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_docblock___jest_docblock_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-24.9.0.tgz";
+        sha1 = "7970201802ba560e1c4092cc25cbedf5af5a8ce2";
+      };
+    }
+    {
+      name = "jest_each___jest_each_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_each___jest_each_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-each/-/jest-each-24.9.0.tgz";
+        sha1 = "eb2da602e2a610898dbc5f1f6df3ba86b55f8b05";
+      };
+    }
+    {
+      name = "jest_environment_jsdom___jest_environment_jsdom_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_environment_jsdom___jest_environment_jsdom_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz";
+        sha1 = "4b0806c7fc94f95edb369a69cc2778eec2b7375b";
+      };
+    }
+    {
+      name = "jest_environment_node___jest_environment_node_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_environment_node___jest_environment_node_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-24.9.0.tgz";
+        sha1 = "333d2d2796f9687f2aeebf0742b519f33c1cbfd3";
+      };
+    }
+    {
+      name = "jest_get_type___jest_get_type_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_get_type___jest_get_type_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.9.0.tgz";
+        sha1 = "1684a0c8a50f2e4901b6644ae861f579eed2ef0e";
+      };
+    }
+    {
+      name = "jest_haste_map___jest_haste_map_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_haste_map___jest_haste_map_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.9.0.tgz";
+        sha1 = "b38a5d64274934e21fa417ae9a9fbeb77ceaac7d";
+      };
+    }
+    {
+      name = "jest_jasmine2___jest_jasmine2_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_jasmine2___jest_jasmine2_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz";
+        sha1 = "1f7b1bd3242c1774e62acabb3646d96afc3be6a0";
+      };
+    }
+    {
+      name = "jest_leak_detector___jest_leak_detector_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_leak_detector___jest_leak_detector_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz";
+        sha1 = "b665dea7c77100c5c4f7dfcb153b65cf07dcf96a";
+      };
+    }
+    {
+      name = "jest_matcher_utils___jest_matcher_utils_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_matcher_utils___jest_matcher_utils_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz";
+        sha1 = "f5b3661d5e628dffe6dd65251dfdae0e87c3a073";
+      };
+    }
+    {
+      name = "jest_message_util___jest_message_util_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_message_util___jest_message_util_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-24.9.0.tgz";
+        sha1 = "527f54a1e380f5e202a8d1149b0ec872f43119e3";
+      };
+    }
+    {
+      name = "jest_mock___jest_mock_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_mock___jest_mock_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.9.0.tgz";
+        sha1 = "c22835541ee379b908673ad51087a2185c13f1c6";
+      };
+    }
+    {
+      name = "jest_pnp_resolver___jest_pnp_resolver_1.2.2.tgz";
+      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";
+      };
+    }
+    {
+      name = "jest_regex_util___jest_regex_util_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_regex_util___jest_regex_util_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.9.0.tgz";
+        sha1 = "c13fb3380bde22bf6575432c493ea8fe37965636";
+      };
+    }
+    {
+      name = "jest_resolve_dependencies___jest_resolve_dependencies_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_resolve_dependencies___jest_resolve_dependencies_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz";
+        sha1 = "ad055198959c4cfba8a4f066c673a3f0786507ab";
+      };
+    }
+    {
+      name = "jest_resolve___jest_resolve_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_resolve___jest_resolve_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-24.9.0.tgz";
+        sha1 = "dff04c7687af34c4dd7e524892d9cf77e5d17321";
+      };
+    }
+    {
+      name = "jest_runner___jest_runner_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_runner___jest_runner_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-runner/-/jest-runner-24.9.0.tgz";
+        sha1 = "574fafdbd54455c2b34b4bdf4365a23857fcdf42";
+      };
+    }
+    {
+      name = "jest_runtime___jest_runtime_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_runtime___jest_runtime_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-24.9.0.tgz";
+        sha1 = "9f14583af6a4f7314a6a9d9f0226e1a781c8e4ac";
+      };
+    }
+    {
+      name = "jest_serializer___jest_serializer_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_serializer___jest_serializer_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-24.9.0.tgz";
+        sha1 = "e6d7d7ef96d31e8b9079a714754c5d5c58288e73";
+      };
+    }
+    {
+      name = "jest_snapshot___jest_snapshot_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_snapshot___jest_snapshot_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-24.9.0.tgz";
+        sha1 = "ec8e9ca4f2ec0c5c87ae8f925cf97497b0e951ba";
+      };
+    }
+    {
+      name = "jest_util___jest_util_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_util___jest_util_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-util/-/jest-util-24.9.0.tgz";
+        sha1 = "7396814e48536d2e85a37de3e4c431d7cb140162";
+      };
+    }
+    {
+      name = "jest_validate___jest_validate_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_validate___jest_validate_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-validate/-/jest-validate-24.9.0.tgz";
+        sha1 = "0775c55360d173cd854e40180756d4ff52def8ab";
+      };
+    }
+    {
+      name = "jest_watcher___jest_watcher_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_watcher___jest_watcher_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-24.9.0.tgz";
+        sha1 = "4b56e5d1ceff005f5b88e528dc9afc8dd4ed2b3b";
+      };
+    }
+    {
+      name = "jest_worker___jest_worker_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_worker___jest_worker_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz";
+        sha1 = "5dbfdb5b2d322e98567898238a9697bcce67b3e5";
+      };
+    }
+    {
+      name = "jest___jest_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest___jest_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest/-/jest-24.9.0.tgz";
+        sha1 = "987d290c05a08b52c56188c1002e368edb007171";
+      };
+    }
+    {
+      name = "js_tokens___js_tokens_4.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "js_yaml___js_yaml_3.14.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "js2xmlparser___js2xmlparser_4.0.1.tgz";
+      path = fetchurl {
+        name = "js2xmlparser___js2xmlparser_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/js2xmlparser/-/js2xmlparser-4.0.1.tgz";
+        sha1 = "670ef71bc5661f089cc90481b99a05a1227ae3bd";
+      };
+    }
+    {
+      name = "jsbn___jsbn_0.1.1.tgz";
+      path = fetchurl {
+        name = "jsbn___jsbn_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz";
+        sha1 = "a5e654c2e5a2deb5f201d96cefbca80c0ef2f513";
+      };
+    }
+    {
+      name = "jsdoc___jsdoc_3.6.7.tgz";
+      path = fetchurl {
+        name = "jsdoc___jsdoc_3.6.7.tgz";
+        url  = "https://registry.yarnpkg.com/jsdoc/-/jsdoc-3.6.7.tgz";
+        sha1 = "00431e376bed7f9de4716c6f15caa80e64492b89";
+      };
+    }
+    {
+      name = "jsdom___jsdom_11.12.0.tgz";
+      path = fetchurl {
+        name = "jsdom___jsdom_11.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/jsdom/-/jsdom-11.12.0.tgz";
+        sha1 = "1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8";
+      };
+    }
+    {
+      name = "jsesc___jsesc_2.5.2.tgz";
+      path = fetchurl {
+        name = "jsesc___jsesc_2.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz";
+        sha1 = "80564d2e483dacf6e8ef209650a67df3f0c283a4";
+      };
+    }
+    {
+      name = "json_parse_better_errors___json_parse_better_errors_1.0.2.tgz";
+      path = fetchurl {
+        name = "json_parse_better_errors___json_parse_better_errors_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz";
+        sha1 = "bb867cfb3450e69107c131d1c514bab3dc8bcaa9";
+      };
+    }
+    {
+      name = "json_schema_traverse___json_schema_traverse_0.4.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_schema___json_schema_0.2.3.tgz";
+      path = fetchurl {
+        name = "json_schema___json_schema_0.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz";
+        sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13";
+      };
+    }
+    {
+      name = "json_stable_stringify_without_jsonify___json_stable_stringify_without_jsonify_1.0.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "json_stringify_safe___json_stringify_safe_5.0.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "json5___json5_2.2.0.tgz";
+      path = fetchurl {
+        name = "json5___json5_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz";
+        sha1 = "2dfefe720c6ba525d9ebd909950f0515316c89a3";
+      };
+    }
+    {
+      name = "jsprim___jsprim_1.4.1.tgz";
+      path = fetchurl {
+        name = "jsprim___jsprim_1.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz";
+        sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2";
+      };
+    }
+    {
+      name = "kind_of___kind_of_3.2.2.tgz";
+      path = fetchurl {
+        name = "kind_of___kind_of_3.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz";
+        sha1 = "31ea21a734bab9bbb0f32466d893aea51e4a3c64";
+      };
+    }
+    {
+      name = "kind_of___kind_of_4.0.0.tgz";
+      path = fetchurl {
+        name = "kind_of___kind_of_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz";
+        sha1 = "20813df3d712928b207378691a45066fae72dd57";
+      };
+    }
+    {
+      name = "kind_of___kind_of_5.1.0.tgz";
+      path = fetchurl {
+        name = "kind_of___kind_of_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz";
+        sha1 = "729c91e2d857b7a419a1f9aa65685c4c33f5845d";
+      };
+    }
+    {
+      name = "kind_of___kind_of_6.0.3.tgz";
+      path = fetchurl {
+        name = "kind_of___kind_of_6.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz";
+        sha1 = "07c05034a6c349fa06e24fa35aa76db4580ce4dd";
+      };
+    }
+    {
+      name = "klaw___klaw_3.0.0.tgz";
+      path = fetchurl {
+        name = "klaw___klaw_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/klaw/-/klaw-3.0.0.tgz";
+        sha1 = "b11bec9cf2492f06756d6e809ab73a2910259146";
+      };
+    }
+    {
+      name = "kleur___kleur_3.0.3.tgz";
+      path = fetchurl {
+        name = "kleur___kleur_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz";
+        sha1 = "a79c9ecc86ee1ce3fa6206d1216c501f147fc07e";
+      };
+    }
+    {
+      name = "left_pad___left_pad_1.3.0.tgz";
+      path = fetchurl {
+        name = "left_pad___left_pad_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz";
+        sha1 = "5b8a3a7765dfe001261dde915589e782f8c94d1e";
+      };
+    }
+    {
+      name = "leven___leven_3.1.0.tgz";
+      path = fetchurl {
+        name = "leven___leven_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz";
+        sha1 = "77891de834064cccba82ae7842bb6b14a13ed7f2";
+      };
+    }
+    {
+      name = "levn___levn_0.3.0.tgz";
+      path = fetchurl {
+        name = "levn___levn_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz";
+        sha1 = "3b09924edf9f083c0490fdd4c0bc4421e04764ee";
+      };
+    }
+    {
+      name = "linkify_it___linkify_it_2.2.0.tgz";
+      path = fetchurl {
+        name = "linkify_it___linkify_it_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/linkify-it/-/linkify-it-2.2.0.tgz";
+        sha1 = "e3b54697e78bf915c70a38acd78fd09e0058b1cf";
+      };
+    }
+    {
+      name = "load_json_file___load_json_file_4.0.0.tgz";
+      path = fetchurl {
+        name = "load_json_file___load_json_file_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz";
+        sha1 = "2f5f45ab91e33216234fd53adab668eb4ec0993b";
+      };
+    }
+    {
+      name = "locate_path___locate_path_3.0.0.tgz";
+      path = fetchurl {
+        name = "locate_path___locate_path_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz";
+        sha1 = "dbec3b3ab759758071b58fe59fc41871af21400e";
+      };
+    }
+    {
+      name = "lodash.camelcase___lodash.camelcase_4.3.0.tgz";
+      path = fetchurl {
+        name = "lodash.camelcase___lodash.camelcase_4.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz";
+        sha1 = "b28aa6288a2b9fc651035c7711f65ab6190331a6";
+      };
+    }
+    {
+      name = "lodash.sortby___lodash.sortby_4.7.0.tgz";
+      path = fetchurl {
+        name = "lodash.sortby___lodash.sortby_4.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz";
+        sha1 = "edd14c824e2cc9c1e0b0a1b42bb5210516a42438";
+      };
+    }
+    {
+      name = "lodash___lodash_4.17.21.tgz";
+      path = fetchurl {
+        name = "lodash___lodash_4.17.21.tgz";
+        url  = "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz";
+        sha1 = "679591c564c3bffaae8454cf0b3df370c3d6911c";
+      };
+    }
+    {
+      name = "loose_envify___loose_envify_1.4.0.tgz";
+      path = fetchurl {
+        name = "loose_envify___loose_envify_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz";
+        sha1 = "71ee51fa7be4caec1a63839f7e682d8132d30caf";
+      };
+    }
+    {
+      name = "lru_cache___lru_cache_6.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "make_dir___make_dir_2.1.0.tgz";
+      path = fetchurl {
+        name = "make_dir___make_dir_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz";
+        sha1 = "5f0310e18b8be898cc07009295a30ae41e91e6f5";
+      };
+    }
+    {
+      name = "make_promises_safe___make_promises_safe_5.1.0.tgz";
+      path = fetchurl {
+        name = "make_promises_safe___make_promises_safe_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/make-promises-safe/-/make-promises-safe-5.1.0.tgz";
+        sha1 = "dd9d311f555bcaa144f12e225b3d37785f0aa8f2";
+      };
+    }
+    {
+      name = "makeerror___makeerror_1.0.11.tgz";
+      path = fetchurl {
+        name = "makeerror___makeerror_1.0.11.tgz";
+        url  = "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz";
+        sha1 = "e01a5c9109f2af79660e4e8b9587790184f5a96c";
+      };
+    }
+    {
+      name = "map_cache___map_cache_0.2.2.tgz";
+      path = fetchurl {
+        name = "map_cache___map_cache_0.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz";
+        sha1 = "c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf";
+      };
+    }
+    {
+      name = "map_visit___map_visit_1.0.0.tgz";
+      path = fetchurl {
+        name = "map_visit___map_visit_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz";
+        sha1 = "ecdca8f13144e660f1b5bd41f12f3479d98dfb8f";
+      };
+    }
+    {
+      name = "markdown_it_anchor___markdown_it_anchor_5.3.0.tgz";
+      path = fetchurl {
+        name = "markdown_it_anchor___markdown_it_anchor_5.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/markdown-it-anchor/-/markdown-it-anchor-5.3.0.tgz";
+        sha1 = "d549acd64856a8ecd1bea58365ef385effbac744";
+      };
+    }
+    {
+      name = "markdown_it___markdown_it_10.0.0.tgz";
+      path = fetchurl {
+        name = "markdown_it___markdown_it_10.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/markdown-it/-/markdown-it-10.0.0.tgz";
+        sha1 = "abfc64f141b1722d663402044e43927f1f50a8dc";
+      };
+    }
+    {
+      name = "marked___marked_2.1.3.tgz";
+      path = fetchurl {
+        name = "marked___marked_2.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/marked/-/marked-2.1.3.tgz";
+        sha1 = "bd017cef6431724fd4b27e0657f5ceb14bff3753";
+      };
+    }
+    {
+      name = "mdurl___mdurl_1.0.1.tgz";
+      path = fetchurl {
+        name = "mdurl___mdurl_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz";
+        sha1 = "fe85b2ec75a59037f2adfec100fd6c601761152e";
+      };
+    }
+    {
+      name = "merge_stream___merge_stream_2.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "micromatch___micromatch_3.1.10.tgz";
+      path = fetchurl {
+        name = "micromatch___micromatch_3.1.10.tgz";
+        url  = "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz";
+        sha1 = "70859bc95c9840952f359a068a3fc49f9ecfac23";
+      };
+    }
+    {
+      name = "mime_db___mime_db_1.48.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_types___mime_types_2.1.31.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 = "mimic_fn___mimic_fn_2.1.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "minimatch___minimatch_3.0.4.tgz";
+      path = fetchurl {
+        name = "minimatch___minimatch_3.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz";
+        sha1 = "5166e286457f03306064be5497e8dbb0c3d32083";
+      };
+    }
+    {
+      name = "minimist___minimist_1.2.5.tgz";
+      path = fetchurl {
+        name = "minimist___minimist_1.2.5.tgz";
+        url  = "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz";
+        sha1 = "67d66014b66a6a8aaa0c083c5fd58df4e4e97602";
+      };
+    }
+    {
+      name = "mixin_deep___mixin_deep_1.3.2.tgz";
+      path = fetchurl {
+        name = "mixin_deep___mixin_deep_1.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz";
+        sha1 = "1120b43dc359a785dce65b55b82e257ccf479566";
+      };
+    }
+    {
+      name = "mkdirp___mkdirp_0.5.5.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_1.0.4.tgz";
+      path = fetchurl {
+        name = "mkdirp___mkdirp_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz";
+        sha1 = "3eb5ed62622756d79a5f0e2a221dfebad75c2f7e";
+      };
+    }
+    {
+      name = "ms___ms_2.0.0.tgz";
+      path = fetchurl {
+        name = "ms___ms_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz";
+        sha1 = "5608aeadfc00be6c2901df5f9861788de0d597c8";
+      };
+    }
+    {
+      name = "ms___ms_2.1.2.tgz";
+      path = fetchurl {
+        name = "ms___ms_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz";
+        sha1 = "d09d1f357b443f493382a8eb3ccd183872ae6009";
+      };
+    }
+    {
+      name = "mute_stream___mute_stream_0.0.8.tgz";
+      path = fetchurl {
+        name = "mute_stream___mute_stream_0.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz";
+        sha1 = "1630c42b2251ff81e2a283de96a5497ea92e5e0d";
+      };
+    }
+    {
+      name = "nan___nan_2.14.2.tgz";
+      path = fetchurl {
+        name = "nan___nan_2.14.2.tgz";
+        url  = "https://registry.yarnpkg.com/nan/-/nan-2.14.2.tgz";
+        sha1 = "f5376400695168f4cc694ac9393d0c9585eeea19";
+      };
+    }
+    {
+      name = "nanomatch___nanomatch_1.2.13.tgz";
+      path = fetchurl {
+        name = "nanomatch___nanomatch_1.2.13.tgz";
+        url  = "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz";
+        sha1 = "b87a8aa4fc0de8fe6be88895b38983ff265bd119";
+      };
+    }
+    {
+      name = "natural_compare___natural_compare_1.4.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "neo_async___neo_async_2.6.2.tgz";
+      path = fetchurl {
+        name = "neo_async___neo_async_2.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz";
+        sha1 = "b4aafb93e3aeb2d8174ca53cf163ab7d7308305f";
+      };
+    }
+    {
+      name = "neon_cli___neon_cli_0.8.3.tgz";
+      path = fetchurl {
+        name = "neon_cli___neon_cli_0.8.3.tgz";
+        url  = "https://registry.yarnpkg.com/neon-cli/-/neon-cli-0.8.3.tgz";
+        sha1 = "dea3a00021a07b9ef05e73464e45c94a2bf0fd3a";
+      };
+    }
+    {
+      name = "nice_try___nice_try_1.0.5.tgz";
+      path = fetchurl {
+        name = "nice_try___nice_try_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz";
+        sha1 = "a3378a7696ce7d223e88fc9b764bd7ef1089e366";
+      };
+    }
+    {
+      name = "node_int64___node_int64_0.4.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "node_modules_regexp___node_modules_regexp_1.0.0.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_notifier___node_notifier_5.4.5.tgz";
+      path = fetchurl {
+        name = "node_notifier___node_notifier_5.4.5.tgz";
+        url  = "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.4.5.tgz";
+        sha1 = "0cbc1a2b0f658493b4025775a13ad938e96091ef";
+      };
+    }
+    {
+      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 = "normalize_package_data___normalize_package_data_2.5.0.tgz";
+      path = fetchurl {
+        name = "normalize_package_data___normalize_package_data_2.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz";
+        sha1 = "e66db1838b200c1dfc233225d12cb36520e234a8";
+      };
+    }
+    {
+      name = "normalize_path___normalize_path_2.1.1.tgz";
+      path = fetchurl {
+        name = "normalize_path___normalize_path_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz";
+        sha1 = "1ab28b556e198363a8c1a6f7e6fa20137fe6aed9";
+      };
+    }
+    {
+      name = "npm_run_path___npm_run_path_2.0.2.tgz";
+      path = fetchurl {
+        name = "npm_run_path___npm_run_path_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz";
+        sha1 = "35a9232dfa35d7067b4cb2ddf2357b1871536c5f";
+      };
+    }
+    {
+      name = "nwsapi___nwsapi_2.2.0.tgz";
+      path = fetchurl {
+        name = "nwsapi___nwsapi_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz";
+        sha1 = "204879a9e3d068ff2a55139c2c772780681a38b7";
+      };
+    }
+    {
+      name = "oauth_sign___oauth_sign_0.9.0.tgz";
+      path = fetchurl {
+        name = "oauth_sign___oauth_sign_0.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz";
+        sha1 = "47a7b016baa68b5fa0ecf3dee08a85c679ac6455";
+      };
+    }
+    {
+      name = "object_copy___object_copy_0.1.0.tgz";
+      path = fetchurl {
+        name = "object_copy___object_copy_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz";
+        sha1 = "7e7d858b781bd7c991a41ba975ed3812754e998c";
+      };
+    }
+    {
+      name = "object_inspect___object_inspect_1.11.0.tgz";
+      path = fetchurl {
+        name = "object_inspect___object_inspect_1.11.0.tgz";
+        url  = "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.11.0.tgz";
+        sha1 = "9dceb146cedd4148a0d9e51ab88d34cf509922b1";
+      };
+    }
+    {
+      name = "object_keys___object_keys_1.1.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "object_visit___object_visit_1.0.1.tgz";
+      path = fetchurl {
+        name = "object_visit___object_visit_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz";
+        sha1 = "f79c4493af0c5377b59fe39d395e41042dd045bb";
+      };
+    }
+    {
+      name = "object.assign___object.assign_4.1.2.tgz";
+      path = fetchurl {
+        name = "object.assign___object.assign_4.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz";
+        sha1 = "0ed54a342eceb37b38ff76eb831a0e788cb63940";
+      };
+    }
+    {
+      name = "object.getownpropertydescriptors___object.getownpropertydescriptors_2.1.2.tgz";
+      path = fetchurl {
+        name = "object.getownpropertydescriptors___object.getownpropertydescriptors_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz";
+        sha1 = "1bd63aeacf0d5d2d2f31b5e393b03a7c601a23f7";
+      };
+    }
+    {
+      name = "object.pick___object.pick_1.3.0.tgz";
+      path = fetchurl {
+        name = "object.pick___object.pick_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz";
+        sha1 = "87a10ac4c1694bd2e1cbf53591a66141fb5dd747";
+      };
+    }
+    {
+      name = "once___once_1.4.0.tgz";
+      path = fetchurl {
+        name = "once___once_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz";
+        sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1";
+      };
+    }
+    {
+      name = "onetime___onetime_5.1.2.tgz";
+      path = fetchurl {
+        name = "onetime___onetime_5.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz";
+        sha1 = "d0e96ebb56b07476df1dd9c4806e5237985ca45e";
+      };
+    }
+    {
+      name = "optionator___optionator_0.8.3.tgz";
+      path = fetchurl {
+        name = "optionator___optionator_0.8.3.tgz";
+        url  = "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz";
+        sha1 = "84fa1d036fe9d3c7e21d99884b601167ec8fb495";
+      };
+    }
+    {
+      name = "os_tmpdir___os_tmpdir_1.0.2.tgz";
+      path = fetchurl {
+        name = "os_tmpdir___os_tmpdir_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz";
+        sha1 = "bbe67406c79aa85c5cfec766fe5734555dfa1274";
+      };
+    }
+    {
+      name = "p_each_series___p_each_series_1.0.0.tgz";
+      path = fetchurl {
+        name = "p_each_series___p_each_series_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-each-series/-/p-each-series-1.0.0.tgz";
+        sha1 = "930f3d12dd1f50e7434457a22cd6f04ac6ad7f71";
+      };
+    }
+    {
+      name = "p_finally___p_finally_1.0.0.tgz";
+      path = fetchurl {
+        name = "p_finally___p_finally_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz";
+        sha1 = "3fbcfb15b899a44123b34b6dcc18b724336a2cae";
+      };
+    }
+    {
+      name = "p_limit___p_limit_2.3.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "p_locate___p_locate_3.0.0.tgz";
+      path = fetchurl {
+        name = "p_locate___p_locate_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz";
+        sha1 = "322d69a05c0264b25997d9f40cd8a891ab0064a4";
+      };
+    }
+    {
+      name = "p_reduce___p_reduce_1.0.0.tgz";
+      path = fetchurl {
+        name = "p_reduce___p_reduce_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-reduce/-/p-reduce-1.0.0.tgz";
+        sha1 = "18c2b0dd936a4690a529f8231f58a0fdb6a47dfa";
+      };
+    }
+    {
+      name = "p_try___p_try_2.2.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "parent_module___parent_module_1.0.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "parse_json___parse_json_4.0.0.tgz";
+      path = fetchurl {
+        name = "parse_json___parse_json_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz";
+        sha1 = "be35f5425be1f7f6c747184f98a788cb99477ee0";
+      };
+    }
+    {
+      name = "parse5___parse5_4.0.0.tgz";
+      path = fetchurl {
+        name = "parse5___parse5_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz";
+        sha1 = "6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608";
+      };
+    }
+    {
+      name = "pascalcase___pascalcase_0.1.1.tgz";
+      path = fetchurl {
+        name = "pascalcase___pascalcase_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz";
+        sha1 = "b363e55e8006ca6fe21784d2db22bd15d7917f14";
+      };
+    }
+    {
+      name = "path_exists___path_exists_3.0.0.tgz";
+      path = fetchurl {
+        name = "path_exists___path_exists_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz";
+        sha1 = "ce0ebeaa5f78cb18925ea7d810d7b59b010fd515";
+      };
+    }
+    {
+      name = "path_is_absolute___path_is_absolute_1.0.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "path_key___path_key_2.0.1.tgz";
+      path = fetchurl {
+        name = "path_key___path_key_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz";
+        sha1 = "411cadb574c5a140d3a4b1910d40d80cc9f40b40";
+      };
+    }
+    {
+      name = "path_parse___path_parse_1.0.7.tgz";
+      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";
+      };
+    }
+    {
+      name = "path_type___path_type_3.0.0.tgz";
+      path = fetchurl {
+        name = "path_type___path_type_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz";
+        sha1 = "cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f";
+      };
+    }
+    {
+      name = "performance_now___performance_now_2.1.0.tgz";
+      path = fetchurl {
+        name = "performance_now___performance_now_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz";
+        sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b";
+      };
+    }
+    {
+      name = "pify___pify_3.0.0.tgz";
+      path = fetchurl {
+        name = "pify___pify_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz";
+        sha1 = "e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176";
+      };
+    }
+    {
+      name = "pify___pify_4.0.1.tgz";
+      path = fetchurl {
+        name = "pify___pify_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz";
+        sha1 = "4b2cd25c50d598735c50292224fd8c6df41e3231";
+      };
+    }
+    {
+      name = "pirates___pirates_4.0.1.tgz";
+      path = fetchurl {
+        name = "pirates___pirates_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz";
+        sha1 = "643a92caf894566f91b2b986d2c66950a8e2fb87";
+      };
+    }
+    {
+      name = "pkg_dir___pkg_dir_3.0.0.tgz";
+      path = fetchurl {
+        name = "pkg_dir___pkg_dir_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz";
+        sha1 = "2749020f239ed990881b1f71210d51eb6523bea3";
+      };
+    }
+    {
+      name = "pn___pn_1.1.0.tgz";
+      path = fetchurl {
+        name = "pn___pn_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz";
+        sha1 = "e2f4cef0e219f463c179ab37463e4e1ecdccbafb";
+      };
+    }
+    {
+      name = "posix_character_classes___posix_character_classes_0.1.1.tgz";
+      path = fetchurl {
+        name = "posix_character_classes___posix_character_classes_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz";
+        sha1 = "01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab";
+      };
+    }
+    {
+      name = "prelude_ls___prelude_ls_1.1.2.tgz";
+      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";
+      };
+    }
+    {
+      name = "pretty_format___pretty_format_24.9.0.tgz";
+      path = fetchurl {
+        name = "pretty_format___pretty_format_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/pretty-format/-/pretty-format-24.9.0.tgz";
+        sha1 = "12fac31b37019a4eea3c11aa9a959eb7628aa7c9";
+      };
+    }
+    {
+      name = "progress___progress_2.0.3.tgz";
+      path = fetchurl {
+        name = "progress___progress_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz";
+        sha1 = "7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8";
+      };
+    }
+    {
+      name = "prompts___prompts_2.4.1.tgz";
+      path = fetchurl {
+        name = "prompts___prompts_2.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/prompts/-/prompts-2.4.1.tgz";
+        sha1 = "befd3b1195ba052f9fd2fde8a486c4e82ee77f61";
+      };
+    }
+    {
+      name = "psl___psl_1.8.0.tgz";
+      path = fetchurl {
+        name = "psl___psl_1.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz";
+        sha1 = "9326f8bcfb013adcc005fdff056acce020e51c24";
+      };
+    }
+    {
+      name = "pump___pump_3.0.0.tgz";
+      path = fetchurl {
+        name = "pump___pump_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz";
+        sha1 = "b4a2116815bde2f4e1ea602354e8c75565107a64";
+      };
+    }
+    {
+      name = "punycode___punycode_2.1.1.tgz";
+      path = fetchurl {
+        name = "punycode___punycode_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz";
+        sha1 = "b58b010ac40c22c5657616c8d2c2c02c7bf479ec";
+      };
+    }
+    {
+      name = "qs___qs_6.5.2.tgz";
+      path = fetchurl {
+        name = "qs___qs_6.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz";
+        sha1 = "cb3ae806e8740444584ef154ce8ee98d403f3e36";
+      };
+    }
+    {
+      name = "react_is___react_is_16.13.1.tgz";
+      path = fetchurl {
+        name = "react_is___react_is_16.13.1.tgz";
+        url  = "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz";
+        sha1 = "789729a4dc36de2999dc156dd6c1d9c18cea56a4";
+      };
+    }
+    {
+      name = "read_pkg_up___read_pkg_up_4.0.0.tgz";
+      path = fetchurl {
+        name = "read_pkg_up___read_pkg_up_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-4.0.0.tgz";
+        sha1 = "1b221c6088ba7799601c808f91161c66e58f8978";
+      };
+    }
+    {
+      name = "read_pkg___read_pkg_3.0.0.tgz";
+      path = fetchurl {
+        name = "read_pkg___read_pkg_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz";
+        sha1 = "9cbc686978fee65d16c00e2b19c237fcf6e38389";
+      };
+    }
+    {
+      name = "realpath_native___realpath_native_1.1.0.tgz";
+      path = fetchurl {
+        name = "realpath_native___realpath_native_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.1.0.tgz";
+        sha1 = "2003294fea23fb0672f2476ebe22fcf498a2d65c";
+      };
+    }
+    {
+      name = "reduce_flatten___reduce_flatten_2.0.0.tgz";
+      path = fetchurl {
+        name = "reduce_flatten___reduce_flatten_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/reduce-flatten/-/reduce-flatten-2.0.0.tgz";
+        sha1 = "734fd84e65f375d7ca4465c69798c25c9d10ae27";
+      };
+    }
+    {
+      name = "regex_not___regex_not_1.0.2.tgz";
+      path = fetchurl {
+        name = "regex_not___regex_not_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz";
+        sha1 = "1f4ece27e00b0b65e0247a6810e6a85d83a5752c";
+      };
+    }
+    {
+      name = "regexpp___regexpp_2.0.1.tgz";
+      path = fetchurl {
+        name = "regexpp___regexpp_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz";
+        sha1 = "8d19d31cf632482b589049f8281f93dbcba4d07f";
+      };
+    }
+    {
+      name = "remove_trailing_separator___remove_trailing_separator_1.1.0.tgz";
+      path = fetchurl {
+        name = "remove_trailing_separator___remove_trailing_separator_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz";
+        sha1 = "c24bce2a283adad5bc3f58e0d48249b92379d8ef";
+      };
+    }
+    {
+      name = "repeat_element___repeat_element_1.1.4.tgz";
+      path = fetchurl {
+        name = "repeat_element___repeat_element_1.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz";
+        sha1 = "be681520847ab58c7568ac75fbfad28ed42d39e9";
+      };
+    }
+    {
+      name = "repeat_string___repeat_string_1.6.1.tgz";
+      path = fetchurl {
+        name = "repeat_string___repeat_string_1.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz";
+        sha1 = "8dcae470e1c88abc2d600fff4a776286da75e637";
+      };
+    }
+    {
+      name = "request_promise_core___request_promise_core_1.1.4.tgz";
+      path = fetchurl {
+        name = "request_promise_core___request_promise_core_1.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz";
+        sha1 = "3eedd4223208d419867b78ce815167d10593a22f";
+      };
+    }
+    {
+      name = "request_promise_native___request_promise_native_1.0.9.tgz";
+      path = fetchurl {
+        name = "request_promise_native___request_promise_native_1.0.9.tgz";
+        url  = "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz";
+        sha1 = "e407120526a5efdc9a39b28a5679bf47b9d9dc28";
+      };
+    }
+    {
+      name = "request___request_2.88.2.tgz";
+      path = fetchurl {
+        name = "request___request_2.88.2.tgz";
+        url  = "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz";
+        sha1 = "d73c918731cb5a87da047e207234146f664d12b3";
+      };
+    }
+    {
+      name = "require_directory___require_directory_2.1.1.tgz";
+      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_main_filename___require_main_filename_2.0.0.tgz";
+      path = fetchurl {
+        name = "require_main_filename___require_main_filename_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz";
+        sha1 = "d0b329ecc7cc0f61649f62215be69af54aa8989b";
+      };
+    }
+    {
+      name = "requizzle___requizzle_0.2.3.tgz";
+      path = fetchurl {
+        name = "requizzle___requizzle_0.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/requizzle/-/requizzle-0.2.3.tgz";
+        sha1 = "4675c90aacafb2c036bd39ba2daa4a1cb777fded";
+      };
+    }
+    {
+      name = "resolve_cwd___resolve_cwd_2.0.0.tgz";
+      path = fetchurl {
+        name = "resolve_cwd___resolve_cwd_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz";
+        sha1 = "00a9f7387556e27038eae232caa372a6a59b665a";
+      };
+    }
+    {
+      name = "resolve_from___resolve_from_3.0.0.tgz";
+      path = fetchurl {
+        name = "resolve_from___resolve_from_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz";
+        sha1 = "b22c7af7d9d6881bc8b6e653335eebcb0a188748";
+      };
+    }
+    {
+      name = "resolve_from___resolve_from_4.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "resolve_url___resolve_url_0.2.1.tgz";
+      path = fetchurl {
+        name = "resolve_url___resolve_url_0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz";
+        sha1 = "2c637fe77c893afd2a663fe21aa9080068e2052a";
+      };
+    }
+    {
+      name = "resolve___resolve_1.1.7.tgz";
+      path = fetchurl {
+        name = "resolve___resolve_1.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz";
+        sha1 = "203114d82ad2c5ed9e8e0411b3932875e889e97b";
+      };
+    }
+    {
+      name = "resolve___resolve_1.20.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 = "restore_cursor___restore_cursor_3.1.0.tgz";
+      path = fetchurl {
+        name = "restore_cursor___restore_cursor_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz";
+        sha1 = "39f67c54b3a7a58cea5236d95cf0034239631f7e";
+      };
+    }
+    {
+      name = "ret___ret_0.1.15.tgz";
+      path = fetchurl {
+        name = "ret___ret_0.1.15.tgz";
+        url  = "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz";
+        sha1 = "b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc";
+      };
+    }
+    {
+      name = "rimraf___rimraf_2.6.3.tgz";
+      path = fetchurl {
+        name = "rimraf___rimraf_2.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz";
+        sha1 = "b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab";
+      };
+    }
+    {
+      name = "rimraf___rimraf_2.7.1.tgz";
+      path = fetchurl {
+        name = "rimraf___rimraf_2.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz";
+        sha1 = "35797f13a7fdadc566142c29d4f07ccad483e3ec";
+      };
+    }
+    {
+      name = "rimraf___rimraf_3.0.2.tgz";
+      path = fetchurl {
+        name = "rimraf___rimraf_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz";
+        sha1 = "f1a5402ba6220ad52cc1282bac1ae3aa49fd061a";
+      };
+    }
+    {
+      name = "rsvp___rsvp_4.8.5.tgz";
+      path = fetchurl {
+        name = "rsvp___rsvp_4.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz";
+        sha1 = "c8f155311d167f68f21e168df71ec5b083113734";
+      };
+    }
+    {
+      name = "run_async___run_async_2.4.1.tgz";
+      path = fetchurl {
+        name = "run_async___run_async_2.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz";
+        sha1 = "8440eccf99ea3e70bd409d49aab88e10c189a455";
+      };
+    }
+    {
+      name = "rxjs___rxjs_6.6.7.tgz";
+      path = fetchurl {
+        name = "rxjs___rxjs_6.6.7.tgz";
+        url  = "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz";
+        sha1 = "90ac018acabf491bf65044235d5863c4dab804c9";
+      };
+    }
+    {
+      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";
+      };
+    }
+    {
+      name = "safe_buffer___safe_buffer_5.1.2.tgz";
+      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_regex___safe_regex_1.1.0.tgz";
+      path = fetchurl {
+        name = "safe_regex___safe_regex_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz";
+        sha1 = "40a3669f3b077d1e943d44629e157dd48023bf2e";
+      };
+    }
+    {
+      name = "safer_buffer___safer_buffer_2.1.2.tgz";
+      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";
+      };
+    }
+    {
+      name = "sane___sane_4.1.0.tgz";
+      path = fetchurl {
+        name = "sane___sane_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz";
+        sha1 = "ed881fd922733a6c461bc189dc2b6c006f3ffded";
+      };
+    }
+    {
+      name = "sax___sax_1.2.4.tgz";
+      path = fetchurl {
+        name = "sax___sax_1.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz";
+        sha1 = "2816234e2378bddc4e5354fab5caa895df7100d9";
+      };
+    }
+    {
+      name = "semver___semver_5.7.1.tgz";
+      path = fetchurl {
+        name = "semver___semver_5.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz";
+        sha1 = "a954f931aeba508d307bbf069eff0c01c96116f7";
+      };
+    }
+    {
+      name = "semver___semver_6.3.0.tgz";
+      path = fetchurl {
+        name = "semver___semver_6.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz";
+        sha1 = "ee0a64c8af5e8ceea67687b133761e1becbd1d3d";
+      };
+    }
+    {
+      name = "semver___semver_7.3.5.tgz";
+      path = fetchurl {
+        name = "semver___semver_7.3.5.tgz";
+        url  = "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz";
+        sha1 = "0b621c879348d8998e4b0e4be94b3f12e6018ef7";
+      };
+    }
+    {
+      name = "set_blocking___set_blocking_2.0.0.tgz";
+      path = fetchurl {
+        name = "set_blocking___set_blocking_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz";
+        sha1 = "045f9782d011ae9a6803ddd382b24392b3d890f7";
+      };
+    }
+    {
+      name = "set_value___set_value_2.0.1.tgz";
+      path = fetchurl {
+        name = "set_value___set_value_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz";
+        sha1 = "a18d40530e6f07de4228c7defe4227af8cad005b";
+      };
+    }
+    {
+      name = "shebang_command___shebang_command_1.2.0.tgz";
+      path = fetchurl {
+        name = "shebang_command___shebang_command_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz";
+        sha1 = "44aac65b695b03398968c39f363fee5deafdf1ea";
+      };
+    }
+    {
+      name = "shebang_regex___shebang_regex_1.0.0.tgz";
+      path = fetchurl {
+        name = "shebang_regex___shebang_regex_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz";
+        sha1 = "da42f49740c0b42db2ca9728571cb190c98efea3";
+      };
+    }
+    {
+      name = "shellwords___shellwords_0.1.1.tgz";
+      path = fetchurl {
+        name = "shellwords___shellwords_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz";
+        sha1 = "d6b9181c1a48d397324c84871efbcfc73fc0654b";
+      };
+    }
+    {
+      name = "signal_exit___signal_exit_3.0.3.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 = "sisteransi___sisteransi_1.0.5.tgz";
+      path = fetchurl {
+        name = "sisteransi___sisteransi_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz";
+        sha1 = "134d681297756437cc05ca01370d3a7a571075ed";
+      };
+    }
+    {
+      name = "slash___slash_2.0.0.tgz";
+      path = fetchurl {
+        name = "slash___slash_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz";
+        sha1 = "de552851a1759df3a8f206535442f5ec4ddeab44";
+      };
+    }
+    {
+      name = "slice_ansi___slice_ansi_2.1.0.tgz";
+      path = fetchurl {
+        name = "slice_ansi___slice_ansi_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz";
+        sha1 = "cacd7693461a637a5788d92a7dd4fba068e81636";
+      };
+    }
+    {
+      name = "snapdragon_node___snapdragon_node_2.1.1.tgz";
+      path = fetchurl {
+        name = "snapdragon_node___snapdragon_node_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz";
+        sha1 = "6c175f86ff14bdb0724563e8f3c1b021a286853b";
+      };
+    }
+    {
+      name = "snapdragon_util___snapdragon_util_3.0.1.tgz";
+      path = fetchurl {
+        name = "snapdragon_util___snapdragon_util_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz";
+        sha1 = "f956479486f2acd79700693f6f7b805e45ab56e2";
+      };
+    }
+    {
+      name = "snapdragon___snapdragon_0.8.2.tgz";
+      path = fetchurl {
+        name = "snapdragon___snapdragon_0.8.2.tgz";
+        url  = "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz";
+        sha1 = "64922e7c565b0e14204ba1aa7d6964278d25182d";
+      };
+    }
+    {
+      name = "source_map_resolve___source_map_resolve_0.5.3.tgz";
+      path = fetchurl {
+        name = "source_map_resolve___source_map_resolve_0.5.3.tgz";
+        url  = "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz";
+        sha1 = "190866bece7553e1f8f267a2ee82c606b5509a1a";
+      };
+    }
+    {
+      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_url___source_map_url_0.4.1.tgz";
+      path = fetchurl {
+        name = "source_map_url___source_map_url_0.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz";
+        sha1 = "0af66605a745a5a2f91cf1bbf8a7afbc283dec56";
+      };
+    }
+    {
+      name = "source_map___source_map_0.5.7.tgz";
+      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";
+      };
+    }
+    {
+      name = "source_map___source_map_0.6.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "spdx_correct___spdx_correct_3.1.1.tgz";
+      path = fetchurl {
+        name = "spdx_correct___spdx_correct_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz";
+        sha1 = "dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9";
+      };
+    }
+    {
+      name = "spdx_exceptions___spdx_exceptions_2.3.0.tgz";
+      path = fetchurl {
+        name = "spdx_exceptions___spdx_exceptions_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz";
+        sha1 = "3f28ce1a77a00372683eade4a433183527a2163d";
+      };
+    }
+    {
+      name = "spdx_expression_parse___spdx_expression_parse_3.0.1.tgz";
+      path = fetchurl {
+        name = "spdx_expression_parse___spdx_expression_parse_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz";
+        sha1 = "cf70f50482eefdc98e3ce0a6833e4a53ceeba679";
+      };
+    }
+    {
+      name = "spdx_license_ids___spdx_license_ids_3.0.9.tgz";
+      path = fetchurl {
+        name = "spdx_license_ids___spdx_license_ids_3.0.9.tgz";
+        url  = "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz";
+        sha1 = "8a595135def9592bda69709474f1cbeea7c2467f";
+      };
+    }
+    {
+      name = "split_string___split_string_3.1.0.tgz";
+      path = fetchurl {
+        name = "split_string___split_string_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz";
+        sha1 = "7cb09dda3a86585705c64b39a6466038682e8fe2";
+      };
+    }
+    {
+      name = "sprintf_js___sprintf_js_1.0.3.tgz";
+      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";
+      };
+    }
+    {
+      name = "sshpk___sshpk_1.16.1.tgz";
+      path = fetchurl {
+        name = "sshpk___sshpk_1.16.1.tgz";
+        url  = "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz";
+        sha1 = "fb661c0bef29b39db40769ee39fa70093d6f6877";
+      };
+    }
+    {
+      name = "stack_utils___stack_utils_1.0.5.tgz";
+      path = fetchurl {
+        name = "stack_utils___stack_utils_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.5.tgz";
+        sha1 = "a19b0b01947e0029c8e451d5d61a498f5bb1471b";
+      };
+    }
+    {
+      name = "static_extend___static_extend_0.1.2.tgz";
+      path = fetchurl {
+        name = "static_extend___static_extend_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz";
+        sha1 = "60809c39cbff55337226fd5e0b520f341f1fb5c6";
+      };
+    }
+    {
+      name = "stealthy_require___stealthy_require_1.1.1.tgz";
+      path = fetchurl {
+        name = "stealthy_require___stealthy_require_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz";
+        sha1 = "35b09875b4ff49f26a777e509b3090a3226bf24b";
+      };
+    }
+    {
+      name = "string_length___string_length_2.0.0.tgz";
+      path = fetchurl {
+        name = "string_length___string_length_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/string-length/-/string-length-2.0.0.tgz";
+        sha1 = "d40dbb686a3ace960c1cffca562bf2c45f8363ed";
+      };
+    }
+    {
+      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";
+      };
+    }
+    {
+      name = "string_width___string_width_4.2.2.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.prototype.trimend___string.prototype.trimend_1.0.4.tgz";
+      path = fetchurl {
+        name = "string.prototype.trimend___string.prototype.trimend_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz";
+        sha1 = "e75ae90c2942c63504686c18b287b4a0b1a45f80";
+      };
+    }
+    {
+      name = "string.prototype.trimstart___string.prototype.trimstart_1.0.4.tgz";
+      path = fetchurl {
+        name = "string.prototype.trimstart___string.prototype.trimstart_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz";
+        sha1 = "b36399af4ab2999b4c9c648bd7a3fb2bb26feeed";
+      };
+    }
+    {
+      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";
+      };
+    }
+    {
+      name = "strip_ansi___strip_ansi_5.2.0.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_bom___strip_bom_3.0.0.tgz";
+      path = fetchurl {
+        name = "strip_bom___strip_bom_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz";
+        sha1 = "2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3";
+      };
+    }
+    {
+      name = "strip_eof___strip_eof_1.0.0.tgz";
+      path = fetchurl {
+        name = "strip_eof___strip_eof_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz";
+        sha1 = "bb43ff5598a6eb05d89b59fcd129c983313606bf";
+      };
+    }
+    {
+      name = "strip_json_comments___strip_json_comments_3.1.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "supports_color___supports_color_5.5.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "supports_color___supports_color_6.1.0.tgz";
+      path = fetchurl {
+        name = "supports_color___supports_color_6.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz";
+        sha1 = "0764abc69c63d5ac842dd4867e8d025e880df8f3";
+      };
+    }
+    {
+      name = "supports_color___supports_color_7.2.0.tgz";
+      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";
+      };
+    }
+    {
+      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";
+      };
+    }
+    {
+      name = "table_layout___table_layout_1.0.2.tgz";
+      path = fetchurl {
+        name = "table_layout___table_layout_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/table-layout/-/table-layout-1.0.2.tgz";
+        sha1 = "c4038a1853b0136d63365a734b6931cf4fad4a04";
+      };
+    }
+    {
+      name = "table___table_5.4.6.tgz";
+      path = fetchurl {
+        name = "table___table_5.4.6.tgz";
+        url  = "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz";
+        sha1 = "1292d19500ce3f86053b05f0e8e7e4a3bb21079e";
+      };
+    }
+    {
+      name = "taffydb___taffydb_2.6.2.tgz";
+      path = fetchurl {
+        name = "taffydb___taffydb_2.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/taffydb/-/taffydb-2.6.2.tgz";
+        sha1 = "7cbcb64b5a141b6a2efc2c5d2c67b4e150b2a268";
+      };
+    }
+    {
+      name = "test_exclude___test_exclude_5.2.3.tgz";
+      path = fetchurl {
+        name = "test_exclude___test_exclude_5.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.2.3.tgz";
+        sha1 = "c3d3e1e311eb7ee405e092dac10aefd09091eac0";
+      };
+    }
+    {
+      name = "text_table___text_table_0.2.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "throat___throat_4.1.0.tgz";
+      path = fetchurl {
+        name = "throat___throat_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz";
+        sha1 = "89037cbc92c56ab18926e6ba4cbb200e15672a6a";
+      };
+    }
+    {
+      name = "through___through_2.3.8.tgz";
+      path = fetchurl {
+        name = "through___through_2.3.8.tgz";
+        url  = "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz";
+        sha1 = "0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5";
+      };
+    }
+    {
+      name = "tmp___tmp_0.0.33.tgz";
+      path = fetchurl {
+        name = "tmp___tmp_0.0.33.tgz";
+        url  = "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz";
+        sha1 = "6d34335889768d21b2bcda0aa277ced3b1bfadf9";
+      };
+    }
+    {
+      name = "tmpl___tmpl_1.0.4.tgz";
+      path = fetchurl {
+        name = "tmpl___tmpl_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz";
+        sha1 = "23640dd7b42d00433911140820e5cf440e521dd1";
+      };
+    }
+    {
+      name = "to_fast_properties___to_fast_properties_2.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "to_object_path___to_object_path_0.3.0.tgz";
+      path = fetchurl {
+        name = "to_object_path___to_object_path_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz";
+        sha1 = "297588b7b0e7e0ac08e04e672f85c1f4999e17af";
+      };
+    }
+    {
+      name = "to_regex_range___to_regex_range_2.1.1.tgz";
+      path = fetchurl {
+        name = "to_regex_range___to_regex_range_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz";
+        sha1 = "7c80c17b9dfebe599e27367e0d4dd5590141db38";
+      };
+    }
+    {
+      name = "to_regex___to_regex_3.0.2.tgz";
+      path = fetchurl {
+        name = "to_regex___to_regex_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz";
+        sha1 = "13cfdd9b336552f30b51f33a8ae1b42a7a7599ce";
+      };
+    }
+    {
+      name = "toml___toml_3.0.0.tgz";
+      path = fetchurl {
+        name = "toml___toml_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/toml/-/toml-3.0.0.tgz";
+        sha1 = "342160f1af1904ec9d204d03a5d61222d762c5ee";
+      };
+    }
+    {
+      name = "tough_cookie___tough_cookie_2.5.0.tgz";
+      path = fetchurl {
+        name = "tough_cookie___tough_cookie_2.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz";
+        sha1 = "cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2";
+      };
+    }
+    {
+      name = "tr46___tr46_1.0.1.tgz";
+      path = fetchurl {
+        name = "tr46___tr46_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz";
+        sha1 = "a8b13fd6bfd2489519674ccde55ba3693b706d09";
+      };
+    }
+    {
+      name = "ts_typed_json___ts_typed_json_0.3.2.tgz";
+      path = fetchurl {
+        name = "ts_typed_json___ts_typed_json_0.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/ts-typed-json/-/ts-typed-json-0.3.2.tgz";
+        sha1 = "f4f20f45950bae0a383857f7b0a94187eca1b56a";
+      };
+    }
+    {
+      name = "tslib___tslib_1.14.1.tgz";
+      path = fetchurl {
+        name = "tslib___tslib_1.14.1.tgz";
+        url  = "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz";
+        sha1 = "cf2d38bdc34a134bcaf1091c41f6619e2f672d00";
+      };
+    }
+    {
+      name = "tunnel_agent___tunnel_agent_0.6.0.tgz";
+      path = fetchurl {
+        name = "tunnel_agent___tunnel_agent_0.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz";
+        sha1 = "27a5dea06b36b04a0a9966774b290868f0fc40fd";
+      };
+    }
+    {
+      name = "tweetnacl___tweetnacl_0.14.5.tgz";
+      path = fetchurl {
+        name = "tweetnacl___tweetnacl_0.14.5.tgz";
+        url  = "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz";
+        sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64";
+      };
+    }
+    {
+      name = "type_check___type_check_0.3.2.tgz";
+      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";
+      };
+    }
+    {
+      name = "type_fest___type_fest_0.21.3.tgz";
+      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";
+      };
+    }
+    {
+      name = "type_fest___type_fest_0.8.1.tgz";
+      path = fetchurl {
+        name = "type_fest___type_fest_0.8.1.tgz";
+        url  = "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz";
+        sha1 = "09e249ebde851d3b1e48d27c105444667f17b83d";
+      };
+    }
+    {
+      name = "typical___typical_4.0.0.tgz";
+      path = fetchurl {
+        name = "typical___typical_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/typical/-/typical-4.0.0.tgz";
+        sha1 = "cbeaff3b9d7ae1e2bbfaf5a4e6f11eccfde94fc4";
+      };
+    }
+    {
+      name = "typical___typical_5.2.0.tgz";
+      path = fetchurl {
+        name = "typical___typical_5.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/typical/-/typical-5.2.0.tgz";
+        sha1 = "4daaac4f2b5315460804f0acf6cb69c52bb93066";
+      };
+    }
+    {
+      name = "uc.micro___uc.micro_1.0.6.tgz";
+      path = fetchurl {
+        name = "uc.micro___uc.micro_1.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.6.tgz";
+        sha1 = "9c411a802a409a91fc6cf74081baba34b24499ac";
+      };
+    }
+    {
+      name = "uglify_js___uglify_js_3.13.10.tgz";
+      path = fetchurl {
+        name = "uglify_js___uglify_js_3.13.10.tgz";
+        url  = "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.13.10.tgz";
+        sha1 = "a6bd0d28d38f592c3adb6b180ea6e07e1e540a8d";
+      };
+    }
+    {
+      name = "unbox_primitive___unbox_primitive_1.0.1.tgz";
+      path = fetchurl {
+        name = "unbox_primitive___unbox_primitive_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz";
+        sha1 = "085e215625ec3162574dc8859abee78a59b14471";
+      };
+    }
+    {
+      name = "underscore___underscore_1.13.1.tgz";
+      path = fetchurl {
+        name = "underscore___underscore_1.13.1.tgz";
+        url  = "https://registry.yarnpkg.com/underscore/-/underscore-1.13.1.tgz";
+        sha1 = "0c1c6bd2df54b6b69f2314066d65b6cde6fcf9d1";
+      };
+    }
+    {
+      name = "union_value___union_value_1.0.1.tgz";
+      path = fetchurl {
+        name = "union_value___union_value_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz";
+        sha1 = "0b6fe7b835aecda61c6ea4d4f02c14221e109847";
+      };
+    }
+    {
+      name = "unset_value___unset_value_1.0.0.tgz";
+      path = fetchurl {
+        name = "unset_value___unset_value_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz";
+        sha1 = "8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559";
+      };
+    }
+    {
+      name = "uri_js___uri_js_4.4.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "urix___urix_0.1.0.tgz";
+      path = fetchurl {
+        name = "urix___urix_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz";
+        sha1 = "da937f7a62e21fec1fd18d49b35c2935067a6c72";
+      };
+    }
+    {
+      name = "use___use_3.1.1.tgz";
+      path = fetchurl {
+        name = "use___use_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz";
+        sha1 = "d50c8cac79a19fbc20f2911f56eb973f4e10070f";
+      };
+    }
+    {
+      name = "util.promisify___util.promisify_1.1.1.tgz";
+      path = fetchurl {
+        name = "util.promisify___util.promisify_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.1.1.tgz";
+        sha1 = "77832f57ced2c9478174149cae9b96e9918cd54b";
+      };
+    }
+    {
+      name = "uuid___uuid_3.4.0.tgz";
+      path = fetchurl {
+        name = "uuid___uuid_3.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz";
+        sha1 = "b23e4358afa8a202fe7a100af1f5f883f02007ee";
+      };
+    }
+    {
+      name = "v8_compile_cache___v8_compile_cache_2.3.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "validate_npm_package_license___validate_npm_package_license_3.0.4.tgz";
+      path = fetchurl {
+        name = "validate_npm_package_license___validate_npm_package_license_3.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz";
+        sha1 = "fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a";
+      };
+    }
+    {
+      name = "validate_npm_package_name___validate_npm_package_name_3.0.0.tgz";
+      path = fetchurl {
+        name = "validate_npm_package_name___validate_npm_package_name_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz";
+        sha1 = "5fa912d81eb7d0c74afc140de7317f0ca7df437e";
+      };
+    }
+    {
+      name = "verror___verror_1.10.0.tgz";
+      path = fetchurl {
+        name = "verror___verror_1.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz";
+        sha1 = "3a105ca17053af55d6e270c1f8288682e18da400";
+      };
+    }
+    {
+      name = "w3c_hr_time___w3c_hr_time_1.0.2.tgz";
+      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";
+      };
+    }
+    {
+      name = "walker___walker_1.0.7.tgz";
+      path = fetchurl {
+        name = "walker___walker_1.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz";
+        sha1 = "2f7f9b8fd10d677262b18a884e28d19618e028fb";
+      };
+    }
+    {
+      name = "webidl_conversions___webidl_conversions_4.0.2.tgz";
+      path = fetchurl {
+        name = "webidl_conversions___webidl_conversions_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz";
+        sha1 = "a855980b1f0b6b359ba1d5d9fb39ae941faa63ad";
+      };
+    }
+    {
+      name = "whatwg_encoding___whatwg_encoding_1.0.5.tgz";
+      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";
+      };
+    }
+    {
+      name = "whatwg_mimetype___whatwg_mimetype_2.3.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "whatwg_url___whatwg_url_6.5.0.tgz";
+      path = fetchurl {
+        name = "whatwg_url___whatwg_url_6.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.5.0.tgz";
+        sha1 = "f2df02bff176fd65070df74ad5ccbb5a199965a8";
+      };
+    }
+    {
+      name = "whatwg_url___whatwg_url_7.1.0.tgz";
+      path = fetchurl {
+        name = "whatwg_url___whatwg_url_7.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz";
+        sha1 = "c2c492f1eca612988efd3d2266be1b9fc6170d06";
+      };
+    }
+    {
+      name = "which_boxed_primitive___which_boxed_primitive_1.0.2.tgz";
+      path = fetchurl {
+        name = "which_boxed_primitive___which_boxed_primitive_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz";
+        sha1 = "13757bc89b209b049fe5d86430e21cf40a89a8e6";
+      };
+    }
+    {
+      name = "which_module___which_module_2.0.0.tgz";
+      path = fetchurl {
+        name = "which_module___which_module_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz";
+        sha1 = "d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a";
+      };
+    }
+    {
+      name = "which___which_1.3.1.tgz";
+      path = fetchurl {
+        name = "which___which_1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz";
+        sha1 = "a45043d54f5805316da8d62f9f50918d3da70b0a";
+      };
+    }
+    {
+      name = "word_wrap___word_wrap_1.2.3.tgz";
+      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";
+      };
+    }
+    {
+      name = "wordwrap___wordwrap_1.0.0.tgz";
+      path = fetchurl {
+        name = "wordwrap___wordwrap_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz";
+        sha1 = "27584810891456a4171c8d0226441ade90cbcaeb";
+      };
+    }
+    {
+      name = "wordwrapjs___wordwrapjs_4.0.1.tgz";
+      path = fetchurl {
+        name = "wordwrapjs___wordwrapjs_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/wordwrapjs/-/wordwrapjs-4.0.1.tgz";
+        sha1 = "d9790bccfb110a0fc7836b5ebce0937b37a8b98f";
+      };
+    }
+    {
+      name = "wrap_ansi___wrap_ansi_5.1.0.tgz";
+      path = fetchurl {
+        name = "wrap_ansi___wrap_ansi_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz";
+        sha1 = "1fd1f67235d5b6d0fee781056001bfb694c03b09";
+      };
+    }
+    {
+      name = "wrappy___wrappy_1.0.2.tgz";
+      path = fetchurl {
+        name = "wrappy___wrappy_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz";
+        sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
+      };
+    }
+    {
+      name = "write_file_atomic___write_file_atomic_2.4.1.tgz";
+      path = fetchurl {
+        name = "write_file_atomic___write_file_atomic_2.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.1.tgz";
+        sha1 = "d0b05463c188ae804396fd5ab2a370062af87529";
+      };
+    }
+    {
+      name = "write___write_1.0.3.tgz";
+      path = fetchurl {
+        name = "write___write_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz";
+        sha1 = "0800e14523b923a387e415123c865616aae0f5c3";
+      };
+    }
+    {
+      name = "ws___ws_5.2.3.tgz";
+      path = fetchurl {
+        name = "ws___ws_5.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/ws/-/ws-5.2.3.tgz";
+        sha1 = "05541053414921bc29c63bee14b8b0dd50b07b3d";
+      };
+    }
+    {
+      name = "xml_name_validator___xml_name_validator_3.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "xmlcreate___xmlcreate_2.0.3.tgz";
+      path = fetchurl {
+        name = "xmlcreate___xmlcreate_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/xmlcreate/-/xmlcreate-2.0.3.tgz";
+        sha1 = "df9ecd518fd3890ab3548e1b811d040614993497";
+      };
+    }
+    {
+      name = "y18n___y18n_4.0.3.tgz";
+      path = fetchurl {
+        name = "y18n___y18n_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz";
+        sha1 = "b5f259c82cd6e336921efd7bfd8bf560de9eeedf";
+      };
+    }
+    {
+      name = "yallist___yallist_4.0.0.tgz";
+      path = fetchurl {
+        name = "yallist___yallist_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz";
+        sha1 = "9bb92790d9c0effec63be73519e11a35019a3a72";
+      };
+    }
+    {
+      name = "yargs_parser___yargs_parser_13.1.2.tgz";
+      path = fetchurl {
+        name = "yargs_parser___yargs_parser_13.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz";
+        sha1 = "130f09702ebaeef2650d54ce6e3e5706f7a4fb38";
+      };
+    }
+    {
+      name = "yargs___yargs_13.3.2.tgz";
+      path = fetchurl {
+        name = "yargs___yargs_13.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz";
+        sha1 = "ad7ffefec1aa59565ac915f82dccb38a9c31a2dd";
+      };
+    }
+  ];
+}
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/gajim/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/gajim/default.nix
index 74a4ab968c9c..ced3dcf5fe48 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/gajim/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/gajim/default.nix
@@ -15,6 +15,7 @@
 , enableSpelling ? true, gspell
 , enableUPnP ? true, gupnp-igd
 , enableOmemoPluginDependencies ? true
+, enableAppIndicator ? true, libappindicator-gtk3
 , extraPythonPackages ? ps: []
 }:
 
@@ -33,7 +34,8 @@ python3.pkgs.buildPythonApplication rec {
   ] ++ lib.optionals enableJingle [ farstream gstreamer gst-plugins-base gst-libav gst-plugins-good libnice ]
     ++ lib.optional enableSecrets libsecret
     ++ lib.optional enableSpelling gspell
-    ++ lib.optional enableUPnP gupnp-igd;
+    ++ lib.optional enableUPnP gupnp-igd
+    ++ lib.optional enableAppIndicator libappindicator-gtk3;
 
   nativeBuildInputs = [
     gettext wrapGAppsHook
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/gtmess/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/gtmess/default.nix
index fec5462c47a7..3474e5729316 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/gtmess/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/gtmess/default.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl, ncurses, openssl, tcl, tk}:
 
-stdenv.mkDerivation {
-  name = "gtmess-0.97";
+stdenv.mkDerivation rec {
+  pname = "gtmess";
+  version = "0.97";
 
   src = fetchurl {
-    url = "mirror://sourceforge/gtmess/gtmess-0.97.tar.gz";
+    url = "mirror://sourceforge/gtmess/gtmess-${version}.tar.gz";
     sha256 = "1ipmqsrj0r1ssbgs2fpr4x5vnzlxlqhx9jrnadp1jw7s0sxpjqv0";
   };
 
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/jitsi-meet-electron/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/jitsi-meet-electron/default.nix
index b932e699ac61..149be3686e85 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/jitsi-meet-electron/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/jitsi-meet-electron/default.nix
@@ -2,20 +2,17 @@
 , fetchurl
 , appimageTools
 , makeWrapper
-, electron_12
+, electron
 , xorg
 }:
 
-let
-  electron = electron_12;
-in
 stdenv.mkDerivation rec {
   pname = "jitsi-meet-electron";
-  version = "2.8.8";
+  version = "2.8.11";
 
   src = fetchurl {
     url = "https://github.com/jitsi/jitsi-meet-electron/releases/download/v${version}/jitsi-meet-x86_64.AppImage";
-    sha256 = "sha256-ORj0xSFzdyOVuybaDyTrawsVkJymKEHLbFxGUgzXNWY=";
+    sha256 = "sha256-DznbSwA1UISw3EkIfM5hGgmIToeXsH1b1HB7UOgDTKU=";
     name = "${pname}-${version}.AppImage";
   };
 
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/kdeltachat/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/kdeltachat/default.nix
index ced0c77a96af..eda47b56b796 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/kdeltachat/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/kdeltachat/default.nix
@@ -1,11 +1,13 @@
 { lib
 , mkDerivation
+, fetchFromGitHub
 , fetchFromSourcehut
 , cmake
 , extra-cmake-modules
 , pkg-config
 , kirigami2
 , libdeltachat
+, qtbase
 , qtimageformats
 , qtmultimedia
 , qtwebengine
@@ -13,13 +15,13 @@
 
 mkDerivation rec {
   pname = "kdeltachat";
-  version = "unstable-2021-07-17";
+  version = "unstable-2021-08-28";
 
   src = fetchFromSourcehut {
     owner = "~link2xt";
     repo = "kdeltachat";
-    rev = "9e5fe2dc856795d0d3d8b6a3adf3fdd3015d9158";
-    sha256 = "12arcrnpacq2fbjbzs6a9yz6lfsj2dkga9chpld1ran3v6by58z9";
+    rev = "4d051bc35611fa5b75865769df7a512d90a13c65";
+    sha256 = "1p8pb3pwgvxy5bvr6by54f1f62imdlddy2mk52qxcvrx8f833bml";
   };
 
   nativeBuildInputs = [
@@ -36,10 +38,17 @@ mkDerivation rec {
     qtwebengine
   ];
 
+  # needed for qmlplugindump to work
+  QT_PLUGIN_PATH = "${qtbase.bin}/${qtbase.qtPluginPrefix}";
+  QML2_IMPORT_PATH = lib.concatMapStringsSep ":"
+    (lib: "${lib}/${qtbase.qtQmlPrefix}")
+    [ kirigami2 qtmultimedia ];
+
   meta = with lib; {
     description = "Delta Chat client using Kirigami framework";
     homepage = "https://git.sr.ht/~link2xt/kdeltachat";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ dotlambda ];
+    platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/linphone/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/linphone/default.nix
index 1c2df3924ecd..47ee2a68a51a 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/linphone/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/linphone/default.nix
@@ -37,7 +37,6 @@
 , ortp
 , pango
 , pkg-config
-, python
 , qtbase
 , qtgraphicaleffects
 , qtquickcontrols2
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/pantalaimon/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/pantalaimon/default.nix
index 214675349936..153819fc8417 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/pantalaimon/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/pantalaimon/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, buildPythonApplication, fetchFromGitHub, pythonOlder,
   attrs, aiohttp, appdirs, click, keyring, Logbook, peewee, janus,
-  prompt_toolkit, matrix-nio, dbus-python, pydbus, notify2, pygobject3,
-  setuptools, fetchpatch, installShellFiles,
+  prompt-toolkit, matrix-nio, dbus-python, pydbus, notify2, pygobject3,
+  setuptools, installShellFiles,
 
   pytest, faker, pytest-aiohttp, aioresponses,
 
@@ -10,7 +10,7 @@
 
 buildPythonApplication rec {
   pname = "pantalaimon";
-  version = "0.9.2";
+  version = "0.10.2";
 
   disabled = pythonOlder "3.6";
 
@@ -19,17 +19,9 @@ buildPythonApplication rec {
     owner = "matrix-org";
     repo = pname;
     rev = version;
-    sha256 = "11dfv5b2slqybisq6npmrqxrzslh4bjs4093vrc05s94046d9d9n";
+    sha256 = "sha256-sjaJomKMKSZqLlKWTG7Oa87dXa5SnGQlVnrdS707A1w=";
   };
 
-  patches = [
-    # accept newer matrix-nio versions
-    (fetchpatch {
-      url = "https://github.com/matrix-org/pantalaimon/commit/73f68c76fb05037bd7fe71688ce39eb1f526a385.patch";
-      sha256 = "0wvqcfan8yp67p6khsqkynbkifksp2422b9jy511mvhpy51sqykl";
-    })
-  ];
-
   propagatedBuildInputs = [
     aiohttp
     appdirs
@@ -40,7 +32,7 @@ buildPythonApplication rec {
     Logbook
     matrix-nio
     peewee
-    prompt_toolkit
+    prompt-toolkit
     setuptools
   ] ++ lib.optional enableDbusUi [
       dbus-python
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/msn-pecan/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/msn-pecan/default.nix
index c32bd6f3e398..7a761c1e91c8 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/msn-pecan/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/msn-pecan/default.nix
@@ -1,10 +1,13 @@
-{ lib, stdenv, fetchurl, pidgin} :
+{ lib, stdenv, fetchFromGitHub, pidgin} :
 
-stdenv.mkDerivation {
-  name = "pidgin-msn-pecan-0.1.4";
-  src = fetchurl {
-    url = "http://msn-pecan.googlecode.com/files/msn-pecan-0.1.4.tar.bz2";
-    sha256 = "0d43z2ay9is1r2kkc9my8pz0fwdyzv7k19vdmbird18lg7rlbjd2";
+stdenv.mkDerivation rec {
+  pname = "pidgin-msn-pecan";
+  version = "0.1.4";
+  src = fetchFromGitHub {
+    owner = "felipec";
+    repo = "msn-pecan";
+    rev = "v${version}";
+    sha256 = "0133rpiy4ik6rx9qn8m38vp7w505hnycggr53g3a2hfpk5xj03zh";
   };
 
   meta = {
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/otr/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/otr/default.nix
index c7bad49cebaa..52204d5c79c0 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/otr/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/otr/default.nix
@@ -1,9 +1,10 @@
 { lib, stdenv, fetchurl, libotr, pidgin, intltool } :
 
 stdenv.mkDerivation rec {
-  name = "pidgin-otr-4.0.2";
+  pname = "pidgin-otr";
+  version = "4.0.2";
   src = fetchurl {
-    url = "http://www.cypherpunks.ca/otr/${name}.tar.gz";
+    url = "https://otr.cypherpunks.ca/pidgin-otr-${version}.tar.gz";
     sha256 = "1i5s9rrgbyss9rszq6c6y53hwqyw1k86s40cpsfx5ccl9bprxdgl";
   };
 
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-indicator/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-indicator/default.nix
new file mode 100644
index 000000000000..9afdee8cda16
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-indicator/default.nix
@@ -0,0 +1,33 @@
+{ autoreconfHook
+, fetchFromGitHub
+, glib
+, intltool
+, lib
+, libappindicator-gtk2
+, libtool
+, pidgin
+, stdenv
+}:
+
+stdenv.mkDerivation rec {
+  pname = "pidgin-indicator";
+  version = "1.0.1";
+
+  src = fetchFromGitHub {
+    owner = "philipl";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-CdA/aUu+CmCRbVBKpJGydicqFQa/rEsLWS3MBKlH2/M=";
+  };
+
+  nativeBuildInputs = [ autoreconfHook ];
+  buildInputs = [ glib intltool libappindicator-gtk2 libtool pidgin ];
+
+  meta = with lib; {
+    description = "An AppIndicator and KStatusNotifierItem Plugin for Pidgin";
+    homepage = "https://github.com/philipl/pidgin-indicator";
+    maintainers = with maintainers; [ imalison ];
+    license = licenses.gpl2;
+    platforms = with platforms; linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-osd/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-osd/default.nix
index 4c7cb2c46bfa..d50a3ed5c30f 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-osd/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-osd/default.nix
@@ -2,11 +2,12 @@
 , autoreconfHook } :
 
 stdenv.mkDerivation rec {
-  name = "pidgin-osd-0.2.0";
+  pname = "pidgin-osd";
+  version = "0.2.0";
   src = fetchFromGitHub {
     owner = "edanaher";
     repo = "pidgin-osd";
-    rev = name;
+    rev = "${pname}-${version}";
     sha256 = "07wa9anz99hnv6kffpcph3fbq8mjbyq17ij977ggwgw37zb9fzb5";
   };
 
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-facebook/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-facebook/default.nix
index a45f91ec57fd..b1078c864de6 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-facebook/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-facebook/default.nix
@@ -10,12 +10,13 @@ let
   };
 
 in stdenv.mkDerivation rec {
-  name = "purple-facebook-0.9.5";
+  pname = "purple-facebook";
+  version = "0.9.5";
 
   src = fetchFromGitHub {
     owner = "dequis";
     repo = "purple-facebook";
-    rev = "v0.9.5-9ff9acf9fa14";
+    rev = "v${version}-9ff9acf9fa14";
     sha256 = "0a1860bkzrmyxahm9rlxi80z335w491wzdaqaw6j9ccavbymhwhs";
   };
 
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-plugin-pack/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-plugin-pack/default.nix
index edc047c78ba2..ef9ce5bca74c 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-plugin-pack/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-plugin-pack/default.nix
@@ -1,9 +1,10 @@
 { lib, stdenv, fetchurl, pidgin, intltool, python } :
 
 stdenv.mkDerivation rec {
-  name = "purple-plugin-pack-2.7.0";
+  pname = "purple-plugin-pack";
+  version = "2.7.0";
   src = fetchurl {
-    url = "https://bitbucket.org/rekkanoryo/purple-plugin-pack/downloads/${name}.tar.bz2";
+    url = "https://bitbucket.org/rekkanoryo/purple-plugin-pack/downloads/purple-plugin-pack-${version}.tar.bz2";
     sha256 = "0g5hmy7fwgjq59j52h9yps28jsjjrfkd4r18gyx6hfd3g3kzbg1b";
   };
 
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-xmpp-http-upload/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-xmpp-http-upload/default.nix
index 6ade8e5f19e5..cb450aa1bc33 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-xmpp-http-upload/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-xmpp-http-upload/default.nix
@@ -1,10 +1,12 @@
-{ lib, stdenv, fetchgit, pidgin, glib, libxml2 }:
+{ lib, stdenv, fetchFromGitHub, pidgin, glib, libxml2 }:
 
 stdenv.mkDerivation {
-  name = "purple-xmpp-upload-2017-12-31";
+  pname = "purple-xmpp-upload";
+  version = "unstable-2017-12-31";
 
-  src = fetchgit {
-    url = "https://github.com/Junker/purple-xmpp-http-upload";
+  src = fetchFromGitHub {
+    owner = "Junker";
+    repo = "purple-xmpp-http-upload";
     rev = "178096cbfc9df165c2dc1677666439969d212b37";
     sha256 = "12l9rqlgb4i50xxrfnvwz9sqfk0d3c0m6l09mnvfixqi8illyvlp";
   };
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/skype4pidgin/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/skype4pidgin/default.nix
deleted file mode 100644
index 6e14ee1a2b88..000000000000
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/skype4pidgin/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ lib, stdenv, fetchurl, pkg-config, pidgin, libnotify, gdk-pixbuf, glib, dbus
-, dbus-glib }:
-
-stdenv.mkDerivation rec {
-  name = "skype4pidgin-novas0x2a-20120411-6c53f7c48f";
-  src = fetchurl {
-    url = "https://github.com/novas0x2a/skype4pidgin/tarball/6c53f7c48f";
-    name = "${name}.tar.gz";
-    sha256 = "116jfh5ravaixivqx4a4bz0lbb9c49d5r83nwmripja56zdbpgr0";
-  };
-
-  NIX_CFLAGS_COMPILE = "-I${libnotify}/include/libnotify";
-
-  patchPhase = ''
-    sed -i -e 's/ [^ ]*-gcc/ gcc/' -e 's/-march[^ ]*//' \
-        -e 's/GLIB_CFLAGS =.*/GLIB_CFLAGS=`pkg-config --cflags glib-2.0 gdk-pixbuf-2.0 libnotify purple dbus-glib-1`/' Makefile
-    pkg-config --cflags glib-2.0 gdk-pixbuf-2.0 libnotify
-  '';
-
-  buildPhase  = "make libskype.so libskype_dbus.so";
-
-  installPhase = ''
-    mkdir -p $out/pixmaps/pidgin/protocols/{16,22,48} $out/bin $out/lib/pidgin
-    cp icons/16/skypeout.png $out/pixmaps/pidgin/protocols/16
-    cp icons/22/skypeout.png $out/pixmaps/pidgin/protocols/22
-    cp icons/48/skypeout.png $out/pixmaps/pidgin/protocols/48
-    cp libskype.so libskype_dbus.so $out/lib/pidgin
-  '';
-
-  postInstall = "ln -s \$out/lib/pidgin \$out/share/pidgin-otr";
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ pidgin libnotify gdk-pixbuf glib dbus dbus-glib ];
-
-  meta = {
-    homepage = "https://github.com/novas0x2a/skype4pidgin";
-    license = lib.licenses.gpl3Plus;
-    description = "Plugin to use a running skype account through pidgin";
-    platforms = lib.platforms.linux;
-  };
-}
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/default.nix
index b5bdef03db73..0f1acc1c7cce 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/default.nix
@@ -87,6 +87,10 @@ let unwrapped = stdenv.mkDerivation rec {
     done
   '';
 
+  passthru = {
+    makePluginPath = lib.makeSearchPathOutput "lib" "lib/purple-${majorVersion}";
+  };
+
   meta = with lib; {
     description = "Multi-protocol instant messaging client";
     homepage = "http://pidgin.im";
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/pond/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/pond/default.nix
index 4c059cb20d83..f26cd0109444 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/pond/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/pond/default.nix
@@ -23,11 +23,14 @@ buildGoPackage rec {
   buildInputs = [ trousers gtk3 gtkspell3 ]
     ++ lib.optional stdenv.hostPlatform.isx86_64 dclxvi
     ++ lib.optionals gui [ wrapGAppsHook ];
-  buildFlags = lib.optionals (!gui) [ "-tags" "nogui" ];
+  tags = lib.optionals (!gui) [ "nogui" ];
   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" \
       -e "s,bn256\.,bn256cgo.,g"
   '';
+
+  # https://hydra.nixos.org/build/150102618/nixlog/2
+  meta.broken = stdenv.isAarch64;
 }
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/rambox/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/rambox/default.nix
index 8782a4bc5beb..418d490bbd5e 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/rambox/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/rambox/default.nix
@@ -4,16 +4,16 @@ let
   mkRambox = opts: callPackage (import ./rambox.nix opts) { };
 in mkRambox rec {
   pname = "rambox";
-  version = "0.7.7";
+  version = "0.7.8";
 
   src = {
     x86_64-linux = fetchurl {
       url = "https://github.com/ramboxapp/community-edition/releases/download/${version}/Rambox-${version}-linux-x86_64.AppImage";
-      sha256 = "0f82hq0dzcjicdz6lkzj8889y100yqciqrwh8wjjy9pxkhjcdini";
+      sha256 = "1y3c9xh8594ay95rj9vaqxxzibwpc38n7ixxi2wnsrdbrqrwlc63";
     };
     i686-linux = fetchurl {
       url = "https://github.com/ramboxapp/community-edition/releases/download/${version}/Rambox-${version}-linux-i386.AppImage";
-      sha256 = "1nhgqjha10jvyf9nsghvlkibg7byj8qz140639ygag9qlpd52rfs";
+      sha256 = "07sv384nd2i701fkjgsrlib8jfsa01bvj60gnqdwlnpphlknga3h";
     };
   }.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
 
@@ -24,8 +24,5 @@ in mkRambox rec {
     maintainers = with maintainers; [ ];
     platforms = ["i686-linux" "x86_64-linux"];
     hydraPlatforms = [];
-    knownVulnerabilities = [
-      "Electron 7.2.4 is EOL and contains at least the following vulnerabilities: CVE-2020-6458, CVE-2020-6460 and more (https://www.electronjs.org/releases/stable?version=7). Consider using an alternative such as `ferdi'."
-    ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/rambox/rambox.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/rambox/rambox.nix
index 56930f561c78..df038611c3b1 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/rambox/rambox.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/rambox/rambox.nix
@@ -1,6 +1,6 @@
 { pname, version, src, meta, desktopName ? "Rambox" }:
 
-{ appimageTools, lib, fetchurl, makeDesktopItem }:
+{ appimageTools, lib, fetchurl, gsettings-desktop-schemas, gtk3, makeDesktopItem }:
 
 let
   name = "${pname}-${version}";
@@ -19,6 +19,9 @@ let
   };
 in appimageTools.wrapType2 rec {
   inherit name src meta;
+  profile = ''
+    export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
+  '';
 
   extraInstallCommands = ''
     mkdir -p $out/share/applications $out/share/icons/hicolor/256x256/apps
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/ratox/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/ratox/default.nix
index 1851a60216b9..58cd952edbbc 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/ratox/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/ratox/default.nix
@@ -7,7 +7,8 @@ let
   configFile = optionalString (conf!=null) (builtins.toFile "config.h" conf);
 
 in stdenv.mkDerivation {
-  name = "ratox-0.4.20180303";
+  pname = "ratox";
+  version = "0.4.20180303";
 
   src = fetchgit {
     url = "git://git.2f30.org/ratox.git";
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/ripcord/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/ripcord/default.nix
index dbcd447d156d..76f93d9d2173 100755
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/ripcord/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/ripcord/default.nix
@@ -5,12 +5,12 @@
 
 mkDerivation rec {
   pname = "ripcord";
-  version = "0.4.28";
+  version = "0.4.29";
 
   src = let
     appimage = fetchurl {
       url = "https://cancel.fm/dl/Ripcord-${version}-x86_64.AppImage";
-      sha256 = "0bczqp4kny7jlp06f4bh1xg0x17g8980dj6pk4waqc7qk88i6sfv";
+      sha256 = "sha256-4yDLPEBDsPKWtLwdpmSyl3b5XCwLAr2/EVtNRrFmmJk=";
       name = "${pname}-${version}.AppImage";
     };
   in appimageTools.extract {
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/signal-cli/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/signal-cli/default.nix
index 05ab8b49a69e..b282c5c5f210 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/signal-cli/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/signal-cli/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "signal-cli";
-  version = "0.8.1";
+  version = "0.8.5";
 
   # Building from source would be preferred, but is much more involved.
   src = fetchurl {
     url = "https://github.com/AsamK/signal-cli/releases/download/v${version}/signal-cli-${version}.tar.gz";
-    sha256 = "sha256-Lq1RSJ1VIa6MFTiTbGqNy7IqliJwGeuegm/1+RRtu+I=";
+    sha256 = "sha256-H895fyI6fdrrqhcgKMxzGSxO5BFuuizjfjBEwvl1yyg=";
   };
 
   buildInputs = lib.optionals stdenv.isLinux [ libmatthew_java dbus dbus_java ];
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/signal-desktop/db-reencryption-wrapper.py b/nixpkgs/pkgs/applications/networking/instant-messengers/signal-desktop/db-reencryption-wrapper.py
deleted file mode 100755
index 8556ee1e4d73..000000000000
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/signal-desktop/db-reencryption-wrapper.py
+++ /dev/null
@@ -1,92 +0,0 @@
-#!@PYTHON@
-
-import json
-import os
-import re
-import shlex
-import sqlite3
-import subprocess
-import sys
-
-
-DB_PATH = os.path.join(os.environ['HOME'], '.config/Signal/sql/db.sqlite')
-DB_COPY = os.path.join(os.environ['HOME'], '.config/Signal/sql/db.tmp')
-CONFIG_PATH = os.path.join(os.environ['HOME'], '.config/Signal/config.json')
-
-
-def zenity_askyesno(title, text):
-    args = [
-        '@ZENITY@',
-        '--question',
-        '--title',
-        shlex.quote(title),
-        '--text',
-        shlex.quote(text)
-    ]
-    return subprocess.run(args).returncode == 0
-
-
-def start_signal():
-    os.execvp('@SIGNAL-DESKTOP@', ['@SIGNAL-DESKTOP@'] + sys.argv[1:])
-
-
-def copy_pragma(name):
-    result = subprocess.run([
-        '@SQLCIPHER@',
-        DB_PATH,
-        f"PRAGMA {name};"
-    ], check=True, capture_output=True).stdout
-    result = re.search(r'[0-9]+', result.decode()).group(0)
-    subprocess.run([
-        '@SQLCIPHER@',
-        DB_COPY,
-        f"PRAGMA key = \"x'{key}'\"; PRAGMA {name} = {result};"
-    ], check=True, capture_output=True)
-
-
-try:
-    # Test if DB is encrypted:
-    con = sqlite3.connect(f'file:{DB_PATH}?mode=ro', uri=True)
-    cursor = con.cursor()
-    cursor.execute("SELECT name FROM sqlite_master WHERE type='table';")
-    con.close()
-except:
-    # DB is encrypted, everything ok:
-    start_signal()
-
-
-# DB is unencrypted!
-answer = zenity_askyesno(
-        "Error: Signal-Desktop database is not encrypted",
-        "Should we try to fix this automatically?"
-        + "You likely want to backup ~/.config/Signal/ first."
-)
-if not answer:
-    answer = zenity_askyesno(
-            "Launch Signal-Desktop",
-            "DB is unencrypted, should we still launch Signal-Desktop?"
-            + "Warning: This could result in data loss!"
-    )
-    if not answer:
-        print('Aborted')
-        sys.exit(0)
-    start_signal()
-
-# Re-encrypt the DB:
-with open(CONFIG_PATH) as json_file:
-    key = json.load(json_file)['key']
-result = subprocess.run([
-    '@SQLCIPHER@',
-    DB_PATH,
-    f" ATTACH DATABASE '{DB_COPY}' AS signal_db KEY \"x'{key}'\";"
-    + " SELECT sqlcipher_export('signal_db');"
-    + " DETACH DATABASE signal_db;"
-]).returncode
-if result != 0:
-    print('DB encryption failed')
-    sys.exit(1)
-# Need to copy user_version and schema_version manually:
-copy_pragma('user_version')
-copy_pragma('schema_version')
-os.rename(DB_COPY, DB_PATH)
-start_signal()
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
index a46649acb182..cf46b3e98900 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
@@ -10,9 +10,6 @@
 , hunspellDicts, spellcheckerLanguage ? null # E.g. "de_DE"
 # For a full list of available languages:
 # $ cat pkgs/development/libraries/hunspell/dictionaries.nix | grep "dictFileName =" | awk '{ print $3 }'
-, python3
-, gnome
-, sqlcipher
 }:
 
 let
@@ -28,7 +25,7 @@ let
       else "");
 in stdenv.mkDerivation rec {
   pname = "signal-desktop";
-  version = "5.10.0"; # Please backport all updates to the stable channel.
+  version = "5.16.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:
@@ -38,7 +35,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 = "049i4nypqr6lx8f3w32pia6cfb3pmqmvasxjb5zhp6mxb3vn7wz3";
+    sha256 = "1na5ja68h14smfwxrli1kfr6fhf5dshyvcdaj0c4mwms838bdl4j";
   };
 
   nativeBuildInputs = [
@@ -115,7 +112,7 @@ in stdenv.mkDerivation rec {
 
     # Symlink to bin
     mkdir -p $out/bin
-    ln -s $out/lib/Signal/signal-desktop $out/bin/signal-desktop-unwrapped
+    ln -s $out/lib/Signal/signal-desktop $out/bin/signal-desktop
 
     runHook postInstall
   '';
@@ -140,16 +137,6 @@ in stdenv.mkDerivation rec {
     patchelf --add-needed ${libpulseaudio}/lib/libpulse.so $out/lib/Signal/resources/app.asar.unpacked/node_modules/ringrtc/build/linux/libringrtc-x64.node
   '';
 
-  postFixup = ''
-    # This hack is temporarily required to avoid data-loss for users:
-    cp ${./db-reencryption-wrapper.py} $out/bin/signal-desktop
-    substituteInPlace $out/bin/signal-desktop \
-      --replace '@PYTHON@' '${python3}/bin/python3' \
-      --replace '@ZENITY@' '${gnome.zenity}/bin/zenity' \
-      --replace '@SQLCIPHER@' '${sqlcipher}/bin/sqlcipher' \
-      --replace '@SIGNAL-DESKTOP@' "$out/bin/signal-desktop-unwrapped"
-  '';
-
   # Tests if the application launches and waits for "Link your phone to Signal Desktop":
   passthru.tests.application-launch = nixosTests.signal-desktop;
 
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/silc-client/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/silc-client/default.nix
index 83cc80ccaf05..417cb4dbb844 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/silc-client/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/silc-client/default.nix
@@ -4,14 +4,12 @@
 # Enabling the plugin and using it with a recent irssi, segafults on join:
 # http://marc.info/?l=silc-devel&m=125610477802211
 
-let
-  basename = "silc-client-1.1.11";
-in
-stdenv.mkDerivation {
-  name = basename + lib.optionalString enablePlugin "-irssi-plugin";
+stdenv.mkDerivation rec {
+  pname = "silc-client" + lib.optionalString enablePlugin "-irssi-plugin";
+  version = "1.1.11";
 
   src = fetchurl {
-    url = "mirror://sourceforge/silc/silc/client/sources/${basename}.tar.bz2";
+    url = "mirror://sourceforge/silc/silc/client/sources/silc-client-${version}.tar.bz2";
     sha256 = "13cp3fmdnj8scjak0d2xal3bfvs2k7ssrwdhp0zl6jar5rwc7prn";
   };
 
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
index 4eb536256240..7db77fbc31e3 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, fetchurl, dpkg
 , alsa-lib, atk, cairo, cups, curl, dbus, expat, fontconfig, freetype, gdk-pixbuf, glib, glibc, gnome2, gnome
 , gtk3, libappindicator-gtk3, libnotify, libpulseaudio, libsecret, libv4l, nspr, nss, pango, systemd, wrapGAppsHook, xorg
-, at-spi2-atk, libuuid, at-spi2-core, libdrm, mesa, libxkbcommon }:
+, at-spi2-atk, libuuid, at-spi2-core, libdrm, mesa, libxkbcommon, libxshmfence }:
 
 let
 
   # Please keep the version x.y.0.z and do not update to x.y.76.z because the
   # source of the latter disappears much faster.
-  version = "8.69.0.77";
+  version = "8.75.0.140";
 
   rpath = lib.makeLibraryPath [
     alsa-lib
@@ -45,6 +45,7 @@ let
     libdrm
     mesa
     libxkbcommon
+    libxshmfence
     xorg.libxkbfile
     xorg.libX11
     xorg.libXcomposite
@@ -68,7 +69,7 @@ let
           "https://mirror.cs.uchicago.edu/skype/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb"
           "https://web.archive.org/web/https://repo.skype.com/deb/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb"
         ];
-        sha256 = "PaqlPp+BRS0cH7XI4x1/5HqYti63rQThmTtPaghIQH0=";
+        sha256 = "sha256-z3xsl53CSJthSd/BMbMD7RdYQ4z9oI/Rb9jUvd82H4E=";
       }
     else
       throw "Skype for linux is not supported on ${stdenv.hostPlatform.system}";
@@ -121,7 +122,7 @@ in stdenv.mkDerivation {
     description = "Linux client for skype";
     homepage = "https://www.skype.com";
     license = licenses.unfree;
-    maintainers = with lib.maintainers; [ panaeon jraygauthier ];
+    maintainers = with maintainers; [ panaeon jraygauthier ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/slack/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/slack/default.nix
index 39cff6de85de..61a859e331ec 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/slack/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/slack/default.nix
@@ -44,14 +44,18 @@ let
 
   pname = "slack";
 
-  x86_64-darwin-version = "4.17.0";
-  x86_64-darwin-sha256 = "0r5cafxw73qnn14ljprn7w8bfn67zbkcniq60k9pf2zbqgb4cyj9";
+  x86_64-darwin-version = "4.18.0";
+  x86_64-darwin-sha256 = "1qldmh0xdbl18gvxxsi2jvcq1ziwap3naxgax4gn36x5k25ipw5k";
 
-  x86_64-linux-version = "4.17.0";
-  x86_64-linux-sha256 = "07ccms58pq27ilkyhcf6cgwb7qrddwil5kgy8yv95ljikqzi5rxi";
+  x86_64-linux-version = "4.18.0";
+  x86_64-linux-sha256 = "1dhdmi2rvww8m6400c5dc0c6mrircvflgwcja2rr7ry0lv98n6kh";
+
+  aarch64-darwin-version = "4.18.0";
+  aarch64-darwin-sha256 = "0qlfxskqq5gr45p1gfc2jcbr1abhc6di653jwjgh7yibim0hpjab";
 
   version = {
     x86_64-darwin = x86_64-darwin-version;
+    aarch64-darwin = aarch64-darwin-version;
     x86_64-linux = x86_64-linux-version;
   }.${system} or throwSystem;
 
@@ -64,6 +68,10 @@ let
           url = "${base}/releases/macos/${version}/prod/x64/Slack-${version}-macOS.dmg";
           sha256 = x86_64-darwin-sha256;
         };
+        aarch64-darwin = fetchurl {
+          url = "${base}/releases/macos/${version}/prod/arm64/Slack-${version}-macOS.dmg";
+          sha256 = aarch64-darwin-sha256;
+        };
         x86_64-linux = fetchurl {
           url = "${base}/linux_releases/slack-desktop-${version}-amd64.deb";
           sha256 = x86_64-linux-sha256;
@@ -75,7 +83,7 @@ let
     homepage = "https://slack.com";
     license = licenses.unfree;
     maintainers = with maintainers; [ mmahut ];
-    platforms = [ "x86_64-darwin" "x86_64-linux" ];
+    platforms = [ "x86_64-darwin" "x86_64-linux" "aarch64-darwin"];
   };
 
   linux = stdenv.mkDerivation rec {
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
index 959d1a96d8e1..7f97e20a85e3 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
@@ -1,17 +1,52 @@
-{ mkDerivation, lib, fetchFromGitHub, callPackage, fetchpatch
-, pkg-config, cmake, ninja, python3, wrapGAppsHook, wrapQtAppsHook, removeReferencesTo
-, qtbase, qtimageformats, gtk3, libsForQt5, lz4, xxHash
-, ffmpeg, openalSoft, minizip, libopus, alsa-lib, libpulseaudio, range-v3
-, tl-expected, hunspell, glibmm, webkitgtk, jemalloc
-, libtgvoip, rnnoise, abseil-cpp, extra-cmake-modules
-# Transitive dependencies:
-, pcre, xorg, util-linux, libselinux, libsepol, epoxy
-, at-spi2-core, libXtst, libthai, libdatrie
-, xdg-utils, libsysprof-capture, libpsl, brotli
+{ mkDerivation
+, lib
+, fetchFromGitHub
+, callPackage
+, pkg-config
+, cmake
+, ninja
+, python3
+, wrapGAppsHook
+, wrapQtAppsHook
+, extra-cmake-modules
+, qtbase
+, qtimageformats
+, gtk3
+, kwayland
+, libdbusmenu
+, lz4
+, xxHash
+, ffmpeg
+, openalSoft
+, minizip
+, libopus
+, alsa-lib
+, libpulseaudio
+, range-v3
+, tl-expected
+, hunspell
+, glibmm
+, webkitgtk
+, jemalloc
+, rnnoise
+  # Transitive dependencies:
+, util-linuxMinimal
+, pcre
+, libpthreadstubs
+, libXdmcp
+, libselinux
+, libsepol
+, epoxy
+, at-spi2-core
+, libXtst
+, libthai
+, libdatrie
+, xdg-utils
+, libsysprof-capture
+, libpsl
+, brotli
 }:
 
-with lib;
-
 # Main reference:
 # - This package was originally based on the Arch package but all patches are now upstreamed:
 #   https://git.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/telegram-desktop
@@ -20,10 +55,11 @@ with lib;
 # - https://github.com/void-linux/void-packages/blob/master/srcpkgs/telegram-desktop/template
 
 let
-  tg_owt = callPackage ./tg_owt.nix {};
-in mkDerivation rec {
+  tg_owt = callPackage ./tg_owt.nix { };
+in
+mkDerivation rec {
   pname = "telegram-desktop";
-  version = "2.8.11";
+  version = "2.9.3";
   # Note: Update via pkgs/applications/networking/instant-messengers/telegram/tdesktop/update.py
 
   # Telegram-Desktop with submodules
@@ -32,37 +68,72 @@ in mkDerivation rec {
     repo = "tdesktop";
     rev = "v${version}";
     fetchSubmodules = true;
-    sha256 = "020ycgb77vx7rza590i3csrvq1zgm15rvpxqqcp0xkb4yh71i3hb";
+    sha256 = "sha256-ZmhgBL5nbgrNLRmCHocqVNC3KtaLm4LUY1f4Xl8CvB4=";
   };
 
-  patches = [(fetchpatch {
-    # ref: https://github.com/desktop-app/lib_webview/pull/9
-    url = "https://github.com/desktop-app/lib_webview/commit/75e924934eee8624020befbef1f3cb5b865d3b86.patch";
-    sha256 = "sha256-rN4FVK4KT+xNf9IVdcpbxMqT0+t3SINJPRRQPyMiDP0=";
-    stripLen = 1;
-    extraPrefix = "Telegram/lib_webview/";
-  })];
-
   postPatch = ''
     substituteInPlace Telegram/CMakeLists.txt \
       --replace '"''${TDESKTOP_LAUNCHER_BASENAME}.appdata.xml"' '"''${TDESKTOP_LAUNCHER_BASENAME}.metainfo.xml"'
+
+    substituteInPlace Telegram/ThirdParty/libtgvoip/os/linux/AudioInputALSA.cpp \
+      --replace '"libasound.so.2"' '"${alsa-lib}/lib/libasound.so.2"'
+    substituteInPlace Telegram/ThirdParty/libtgvoip/os/linux/AudioOutputALSA.cpp \
+      --replace '"libasound.so.2"' '"${alsa-lib}/lib/libasound.so.2"'
+    substituteInPlace Telegram/ThirdParty/libtgvoip/os/linux/AudioPulse.cpp \
+      --replace '"libpulse.so.0"' '"${libpulseaudio}/lib/libpulse.so.0"'
   '';
 
   # We want to run wrapProgram manually (with additional parameters)
   dontWrapGApps = true;
   dontWrapQtApps = true;
 
-  nativeBuildInputs = [ pkg-config cmake ninja python3 wrapGAppsHook wrapQtAppsHook removeReferencesTo ];
+  nativeBuildInputs = [
+    pkg-config
+    cmake
+    ninja
+    python3
+    wrapGAppsHook
+    wrapQtAppsHook
+    extra-cmake-modules
+  ];
 
   buildInputs = [
-    qtbase qtimageformats gtk3 libsForQt5.kwayland libsForQt5.libdbusmenu lz4 xxHash
-    ffmpeg openalSoft minizip libopus alsa-lib libpulseaudio range-v3
-    tl-expected hunspell glibmm webkitgtk jemalloc
-    libtgvoip rnnoise abseil-cpp extra-cmake-modules
+    qtbase
+    qtimageformats
+    gtk3
+    kwayland
+    libdbusmenu
+    lz4
+    xxHash
+    ffmpeg
+    openalSoft
+    minizip
+    libopus
+    alsa-lib
+    libpulseaudio
+    range-v3
+    tl-expected
+    hunspell
+    glibmm
+    webkitgtk
+    jemalloc
+    rnnoise
     tg_owt
     # Transitive dependencies:
-    pcre xorg.libpthreadstubs xorg.libXdmcp util-linux libselinux libsepol epoxy
-    at-spi2-core libXtst libthai libdatrie libsysprof-capture libpsl brotli
+    util-linuxMinimal # Required for libmount thus not nativeBuildInputs.
+    pcre
+    libpthreadstubs
+    libXdmcp
+    libselinux
+    libsepol
+    epoxy
+    at-spi2-core
+    libXtst
+    libthai
+    libdatrie
+    libsysprof-capture
+    libpsl
+    brotli
   ];
 
   cmakeFlags = [
@@ -70,33 +141,17 @@ in mkDerivation rec {
     # We're allowed to used the API ID of the Snap package:
     "-DTDESKTOP_API_ID=611335"
     "-DTDESKTOP_API_HASH=d524b414d21f4d37f08684c1df41ac9c"
-    #"-DDESKTOP_APP_SPECIAL_TARGET=\"\"" # TODO: Error when set to "": Bad special target '""'
-    "-DTDESKTOP_LAUNCHER_BASENAME=telegramdesktop" # Note: This is the default
+    # See: https://github.com/NixOS/nixpkgs/pull/130827#issuecomment-885212649
+    "-DDESKTOP_APP_USE_PACKAGED_FONTS=OFF"
   ];
 
-  # Note: The following packages could be packaged system-wide, but it's
-  # probably best to use the bundled ones from tdesktop (Arch does this too):
-  # rlottie:
-  # - CMake flag: "-DTDESKTOP_USE_PACKAGED_TGVOIP=ON"
-  # - Sources (problem: there are no stable releases!):
-  #   - desktop-app (tdesktop): https://github.com/desktop-app/rlottie
-  #   - upstream: https://github.com/Samsung/rlottie
-  # libtgvoip:
-  # - CMake flag: "-DDESKTOP_APP_USE_PACKAGED_RLOTTIE=ON"
-  # - Sources  (problem: the stable releases might be too old!):
-  #   - tdesktop: https://github.com/telegramdesktop/libtgvoip
-  #   - upstream: https://github.com/grishka/libtgvoip
-  # Both of these packages are included in this PR (kotatogram-desktop):
-  # https://github.com/NixOS/nixpkgs/pull/75210
-  # TODO: Package mapbox-variant
-
   postFixup = ''
     # This is necessary to run Telegram in a pure environment.
     # We also use gappsWrapperArgs from wrapGAppsHook.
     wrapProgram $out/bin/telegram-desktop \
       "''${gappsWrapperArgs[@]}" \
       "''${qtWrapperArgs[@]}" \
-      --prefix PATH : ${xdg-utils}/bin \
+      --prefix PATH : ${lib.makeBinPath [ xdg-utils]} \
       --set XDG_RUNTIME_DIR "XDG-RUNTIME-DIR"
     sed -i $out/bin/telegram-desktop \
       -e "s,'XDG-RUNTIME-DIR',\"\''${XDG_RUNTIME_DIR:-/run/user/\$(id --user)}\","
@@ -107,16 +162,16 @@ in mkDerivation rec {
     updateScript = ./update.py;
   };
 
-  meta = {
+  meta = with lib; {
     description = "Telegram Desktop messaging app";
     longDescription = ''
       Desktop client for the Telegram messenger, based on the Telegram API and
       the MTProto secure protocol.
     '';
-    license = licenses.gpl3;
+    license = licenses.gpl3Only;
     platforms = platforms.linux;
     homepage = "https://desktop.telegram.org/";
-    changelog = "https://github.com/telegramdesktop/tdesktop/releases/tag/v{version}";
-    maintainers = with maintainers; [ primeos abbradar ];
+    changelog = "https://github.com/telegramdesktop/tdesktop/releases/tag/v${version}";
+    maintainers = with maintainers; [ oxalica primeos ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/tdesktop/tg_owt.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/tdesktop/tg_owt.nix
index 46076bca68c3..e553c95990e5 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/tdesktop/tg_owt.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/tdesktop/tg_owt.nix
@@ -1,9 +1,9 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch
+{ lib, stdenv, fetchFromGitHub
 , pkg-config, cmake, ninja, yasm
 , libjpeg, openssl, libopus, ffmpeg, alsa-lib, libpulseaudio, protobuf
-, xorg, libXtst, libXcomposite, libXdamage, libXext, libXrender, libXrandr
+, openh264, usrsctp, libevent, libvpx
+, libX11, libXtst, libXcomposite, libXdamage, libXext, libXrender, libXrandr, libXi
 , glib, abseil-cpp, pcre, util-linuxMinimal, libselinux, libsepol, pipewire
-, libXi
 }:
 
 stdenv.mkDerivation {
@@ -24,15 +24,23 @@ stdenv.mkDerivation {
 
   buildInputs = [
     libjpeg openssl libopus ffmpeg alsa-lib libpulseaudio protobuf
-    xorg.libX11 libXtst libXcomposite libXdamage libXext libXrender libXrandr
+    openh264 usrsctp libevent libvpx
+    libX11 libXtst libXcomposite libXdamage libXext libXrender libXrandr libXi
     glib abseil-cpp pcre util-linuxMinimal libselinux libsepol pipewire
-    libXi
   ];
 
   cmakeFlags = [
-    # Building as a shared library isn't officially supported and currently broken:
+    # Building as a shared library isn't officially supported and may break at any time.
     "-DBUILD_SHARED_LIBS=OFF"
   ];
 
-  meta.license = lib.licenses.bsd3;
+  propagatedBuildInputs = [
+    # Required for linking downstream binaries.
+    abseil-cpp openh264 usrsctp libevent libvpx
+  ];
+
+  meta = with lib; {
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ oxalica ];
+  };
 }
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/tdesktop/update.py b/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/tdesktop/update.py
index 8f39533e2986..89e40218623b 100755
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/tdesktop/update.py
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/tdesktop/update.py
@@ -71,7 +71,3 @@ if __name__ == "__main__":
     tg_owt_hash = nix_prefetch_git('https://github.com/desktop-app/tg_owt.git', tg_owt_ref)
     update_file('tg_owt.nix', tg_owt_version, tg_owt_hash, tg_owt_ref)
     tg_owt_ref = github_api_request('repos/desktop-app/tg_owt/commits/master')['sha']
-    libtgvoip_ref = github_api_request(f'repos/telegramdesktop/tdesktop/contents/Telegram/ThirdParty/libtgvoip?ref={tdesktop_tag}')['sha']
-    libtgvoip_version = get_commit_date('telegramdesktop/libtgvoip', libtgvoip_ref)
-    libtgvoip_hash = nix_prefetch_url(f'https://github.com/telegramdesktop/libtgvoip/archive/{libtgvoip_ref}.tar.gz', unpack=True)
-    update_file('../../../../../development/libraries/libtgvoip/default.nix', libtgvoip_version, libtgvoip_hash, libtgvoip_ref)
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/telegram-cli/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/telegram-cli/default.nix
new file mode 100644
index 000000000000..bff3d3769a7a
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/telegram-cli/default.nix
@@ -0,0 +1,49 @@
+{ stdenv, fetchFromGitHub, jansson, lib, libconfig, libevent, libgcrypt, lua, lua53Packages
+, makeWrapper, openssl, pkg-config, python3, readline, zlib
+}:
+
+stdenv.mkDerivation rec {
+  pname = "telegram-cli";
+  version = "20200106";
+
+  src = fetchFromGitHub {
+    owner = "kenorb-contrib";
+    repo = "tg";
+    rev = "refs/tags/${version}";
+    sha256 = "sha256-wYBPr2b8IOycO9y/CNyGjnRsyGyYl3oiXYtTzwTurVA=";
+    fetchSubmodules = true;
+  };
+
+  buildInputs = [
+    jansson
+    libconfig
+    libevent
+    libgcrypt
+    lua
+    lua53Packages.lgi
+    openssl
+    python3
+    readline
+    zlib
+  ];
+  nativeBuildInputs = [
+    pkg-config
+    makeWrapper
+  ];
+
+  installPhase = ''
+    runHook preInstall
+    install -Dm755 ./bin/telegram-cli $out/bin/telegram-cli-keyless
+    install -Dm644 ./tg-server.pub -t $out/share/telegram-cli
+    makeWrapper $out/bin/telegram-cli-keyless $out/bin/telegram-cli \
+      --add-flags "-k $out/share/telegram-cli/tg-server.pub"
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Command-line interface for Telegram, that uses readline interface, it's a client implementation of TGL library";
+    downloadPage = "https://github.com/kenorb-contrib/tg";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ superherointj ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/telepathy/gabble/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/telepathy/gabble/default.nix
index deb01f1ef220..3b1775a7ba8c 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/telepathy/gabble/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/telepathy/gabble/default.nix
@@ -2,10 +2,11 @@
 , sqlite, libsoup, libnice, gnutls}:
 
 stdenv.mkDerivation rec {
-  name = "telepathy-gabble-0.18.4";
+  pname = "telepathy-gabble";
+  version = "0.18.4";
 
   src = fetchurl {
-    url = "https://telepathy.freedesktop.org/releases/telepathy-gabble/${name}.tar.gz";
+    url = "https://telepathy.freedesktop.org/releases/telepathy-gabble/telepathy-gabble-${version}.tar.gz";
     sha256 = "174nlkqm055vrhv11gy73m20jbsggcb0ddi51c7s9m3j5ibr2p0i";
   };
 
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/telepathy/haze/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/telepathy/haze/default.nix
index 11acf05c19e9..27df1273c083 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/telepathy/haze/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/telepathy/haze/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "telepathy-haze";
-  name = "${pname}-0.8.0";
+  version = "0.8.0";
 
   src = fetchurl {
-    url = "https://telepathy.freedesktop.org/releases/${pname}/${name}.tar.gz";
+    url = "https://telepathy.freedesktop.org/releases/telepathy-haze/telepathy-haze${version}.tar.gz";
     sha256 = "1jgrp32p6rllj089ynbsk3n9xrvsvzmwzhf0ql05kkgj0nf08xiy";
   };
 
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix
index a6b1a5256f46..ad7a588d9cea 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix
@@ -2,11 +2,11 @@
 , dconf, makeWrapper, intltool, libxslt, gobject-introspection, dbus }:
 
 stdenv.mkDerivation rec {
-  project = "telepathy-logger";
-  name = "${project}-0.8.2";
+  pname = "telepathy-logger";
+  version = "0.8.2";
 
   src = fetchurl {
-    url = "https://telepathy.freedesktop.org/releases/${project}/${name}.tar.bz2";
+    url = "https://telepathy.freedesktop.org/releases/telepathy-logger/telepathy-logger-${version}.tar.bz2";
     sha256 = "1bjx85k7jyfi5pvl765fzc7q2iz9va51anrc2djv7caksqsdbjlg";
   };
 
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/telepathy/salut/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/telepathy/salut/default.nix
index 38ee5579b5a2..882fae1c3b5f 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/telepathy/salut/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/telepathy/salut/default.nix
@@ -3,10 +3,10 @@
 
 stdenv.mkDerivation rec {
   pname = "telepathy-salut";
-  name = "${pname}-0.8.1";
+  version = "0.8.1";
 
   src = fetchurl {
-    url = "https://telepathy.freedesktop.org/releases/${pname}/${name}.tar.gz";
+    url = "https://telepathy.freedesktop.org/releases/telepathy-salut/telepathy-salut-${version}.tar.gz";
     sha256 = "13k112vrr3zghzr03pnbqc1id65qvpj0sn0virlbf4dmr2511fbh";
   };
 
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/tensor/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/tensor/default.nix
index 5bbdc6460c63..172d11f6b857 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/tensor/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/tensor/default.nix
@@ -15,8 +15,6 @@ mkDerivation rec {
     fetchSubmodules = true;
   };
 
-  enableParallelBuilding = true;
-
   buildInputs = [ qtbase qtquickcontrols ];
   nativeBuildInputs = [ qmake ];
 
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/viber/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/viber/default.nix
index 66d33533a736..53eea50767f5 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/viber/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/viber/default.nix
@@ -82,7 +82,8 @@ stdenv.mkDerivation {
     wrapProgram $out/opt/viber/Viber \
       --set QT_PLUGIN_PATH "$out/opt/viber/plugins" \
       --set QT_XKB_CONFIG_ROOT "${xorg.xkeyboardconfig}/share/X11/xkb" \
-      --set QTCOMPOSE "${xorg.libX11.out}/share/X11/locale"
+      --set QTCOMPOSE "${xorg.libX11.out}/share/X11/locale" \
+      --set QML2_IMPORT_PATH "$out/opt/viber/qml"
     ln -s $out/opt/viber/Viber $out/bin/viber
 
     mv $out/usr/share $out/share
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/vk-cli/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/vk-cli/default.nix
index e1b3cc4f7753..bb34fd7534c9 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/vk-cli/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/vk-cli/default.nix
@@ -2,7 +2,6 @@
 , lib
 , fetchurl
 , curl
-, zulip
 , p7zip
 , glibc
 , ncurses
@@ -42,7 +41,7 @@ stdenv.mkDerivation rec {
   postFixup = ''
     patchelf $out/bin/vk-cli \
       --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-      --set-rpath "${lib.makeLibraryPath [ curl zulip glibc ]}"
+      --set-rpath "${lib.makeLibraryPath [ curl glibc ]}"
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/whatsapp-for-linux/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/whatsapp-for-linux/default.nix
index 46215db3eb56..0405dddf7cdc 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/whatsapp-for-linux/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/whatsapp-for-linux/default.nix
@@ -1,15 +1,24 @@
-{ fetchFromGitHub, lib, stdenv, gnome, cmake, pkg-config,
-  libappindicator-gtk3, gst_all_1, pcre }:
+{ fetchFromGitHub
+, lib
+, stdenv
+, gtkmm3
+, webkitgtk
+, cmake
+, pkg-config
+, libappindicator-gtk3
+, gst_all_1
+, pcre
+}:
 
 stdenv.mkDerivation rec {
   pname = "whatsapp-for-linux";
-  version = "1.1.5";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "eneshecan";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1gzahls4givd2kbjdwx6yb3jv7a3r1krw40qihiz7hkamkrpaiaz";
+    sha256 = "sha256-dB+NsoUEYM3cT0cg5ZOkBGW7ozRGFWSsYQMja3CjaHM=";
   };
 
   nativeBuildInputs = [
@@ -18,8 +27,8 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    gnome.gtkmm
-    gnome.webkitgtk
+    gtkmm3
+    webkitgtk
     libappindicator-gtk3
     gst_all_1.gst-plugins-base
     gst_all_1.gst-plugins-good
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/zoom-us/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
index 78cfa89e6d45..5395946125d0 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
@@ -2,7 +2,7 @@
 , lib
 , fetchurl
 , makeWrapper
-# Dynamic libraries
+  # Dynamic libraries
 , alsa-lib
 , atk
 , cairo
@@ -18,22 +18,21 @@
 , xorg
 , libxkbcommon
 , zlib
-# Runtime
+  # Runtime
 , coreutils
 , pciutils
 , procps
 , util-linux
-, pulseaudioSupport ? true, libpulseaudio ? null
+, pulseaudioSupport ? true
+, libpulseaudio
 }:
 
-assert pulseaudioSupport -> libpulseaudio != null;
-
 let
-  version = "5.7.26030.0627";
+  version = "5.7.31792.0820";
   srcs = {
     x86_64-linux = fetchurl {
       url = "https://zoom.us/client/${version}/zoom_x86_64.pkg.tar.xz";
-      sha256 = "1nooaafH+ajRtdrknXmFPclC4fJMpRTo+gBsaPHYfT0=";
+      sha256 = "16p8wn67hb6p9rn684bbpwz8w5knyqw9rv2nnw6cwg949qjv43lm";
     };
   };
 
@@ -65,9 +64,11 @@ let
     xorg.libXtst
   ] ++ lib.optional (pulseaudioSupport) libpulseaudio);
 
-in stdenv.mkDerivation rec {
+in
+stdenv.mkDerivation rec {
   pname = "zoom";
   inherit version;
+
   src = srcs.${stdenv.hostPlatform.system};
 
   dontUnpack = true;
@@ -100,12 +101,13 @@ in stdenv.mkDerivation rec {
     rm $out/bin/zoom
     # Zoom expects "zopen" executable (needed for web login) to be present in CWD. Or does it expect
     # everybody runs Zoom only after cd to Zoom package directory? Anyway, :facepalm:
-    # Also clear Qt environment variables to prevent
-    # zoom from tripping over "foreign" Qt ressources.
+    # Clear Qt paths to prevent tripping over "foreign" Qt resources.
+    # Clear Qt screen scaling settings to prevent over-scaling.
     makeWrapper $out/opt/zoom/ZoomLauncher $out/bin/zoom \
       --run "cd $out/opt/zoom" \
       --unset QML2_IMPORT_PATH \
       --unset QT_PLUGIN_PATH \
+      --unset QT_SCREEN_SCALE_FACTORS \
       --prefix PATH : ${lib.makeBinPath [ coreutils glib.dev pciutils procps util-linux ]} \
       --prefix LD_LIBRARY_PATH ":" ${libs}
 
@@ -118,11 +120,11 @@ in stdenv.mkDerivation rec {
 
   passthru.updateScript = ./update.sh;
 
-  meta = {
+  meta = with lib; {
     homepage = "https://zoom.us/";
     description = "zoom.us video conferencing application";
-    license = lib.licenses.unfree;
+    license = licenses.unfree;
     platforms = builtins.attrNames srcs;
-    maintainers = with lib.maintainers; [ danbst tadfisher doronbehar ];
+    maintainers = with maintainers; [ danbst tadfisher doronbehar ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/zulip/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/zulip/default.nix
index 6e3ef93ec771..1fce1a6b6e52 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/zulip/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/zulip/default.nix
@@ -5,12 +5,12 @@
 
 let
   pname = "zulip";
-  version = "5.8.0";
+  version = "5.8.1";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://github.com/zulip/zulip-desktop/releases/download/v${version}/Zulip-${version}-x86_64.AppImage";
-    sha256 = "0z8lp56j6qvm57sfqdyqrqzj9add3drh1z4zsckg45jfw6yn3jdv";
+    sha256 = "02m18y5j6jmmlygv8ycwaaq6n7mvj97ljhd3l9pvii0adwcvrpfz";
     name="${pname}-${version}.AppImage";
   };
 
diff --git a/nixpkgs/pkgs/applications/networking/insync/v3.nix b/nixpkgs/pkgs/applications/networking/insync/v3.nix
index ad202871b991..49a5b892111e 100644
--- a/nixpkgs/pkgs/applications/networking/insync/v3.nix
+++ b/nixpkgs/pkgs/applications/networking/insync/v3.nix
@@ -22,11 +22,11 @@
 
 stdenv.mkDerivation rec {
   pname = "insync";
-  version = "3.2.4.40856";
+  version = "3.3.5.40925";
 
   src = fetchurl {
     url = "http://s.insynchq.com/builds/${pname}_${version}-focal_amd64.deb";
-    sha256 = "1bvqbbrfn5784nmb2qaflm1rzczqhvghhb6y5zaxrapyhygxbcis";
+    sha256 = "sha256-lYlG/8d7teX98F5eDxm4EdBfFs7Sz3Td4kKLC6KZqnQ=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/applications/networking/ipfs-cluster/default.nix b/nixpkgs/pkgs/applications/networking/ipfs-cluster/default.nix
index 67d45c44868d..a7627feb94d1 100644
--- a/nixpkgs/pkgs/applications/networking/ipfs-cluster/default.nix
+++ b/nixpkgs/pkgs/applications/networking/ipfs-cluster/default.nix
@@ -2,19 +2,15 @@
 
 buildGoModule rec {
   pname = "ipfs-cluster";
-  version = "0.13.1";
+  version = "0.14.1";
 
-  vendorSha256 = "0ls6d5ijl8bbh48w0i30mwd4a4na93iw9xqpbw23lnb8pvskaggh";
-
-  patches = [
-      ./test.patch
-  ];
+  vendorSha256 = "sha256-vDNWYgWlM3kJqlHW/6Bj6P+t6M61TvOVRJwDN2p0mi4=";
 
   src = fetchFromGitHub {
     owner = "ipfs";
     repo = "ipfs-cluster";
     rev = "v${version}";
-    sha256 = "0kmsa7cnk88wrplsjysrpg6n0gd0risnhw0kh33jqx0fcg12b7h8";
+    sha256 = "sha256-GELCd12LhA4CBe9DRRBu4r+AwCksaRVIWcSAJScvnbk=";
   };
 
   meta = with lib; {
@@ -22,6 +18,6 @@ buildGoModule rec {
     homepage = "https://cluster.ipfs.io/";
     license = licenses.mit;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ jglukasik ];
+    maintainers = with maintainers; [ Luflosi jglukasik ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/ipfs-cluster/test.patch b/nixpkgs/pkgs/applications/networking/ipfs-cluster/test.patch
deleted file mode 100644
index 65f10fec8ef1..000000000000
--- a/nixpkgs/pkgs/applications/networking/ipfs-cluster/test.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/peer_manager_test.go b/peer_manager_test.go
-index 521e754..cf0d777 100644
---- a/peer_manager_test.go
-+++ b/peer_manager_test.go
-@@ -76,6 +76,7 @@ func clusterAddr(c *Cluster) ma.Multiaddr {
- }
- 
- func TestClustersPeerAdd(t *testing.T) {
-+	t.Skip("test is disabld by nixos")
- 	ctx := context.Background()
- 	clusters, mocks, boot := peerManagerClusters(t)
- 	defer shutdownClusters(t, clusters, mocks)
diff --git a/nixpkgs/pkgs/applications/networking/ipfs/default.nix b/nixpkgs/pkgs/applications/networking/ipfs/default.nix
index e96602a54c53..2823b84d473e 100644
--- a/nixpkgs/pkgs/applications/networking/ipfs/default.nix
+++ b/nixpkgs/pkgs/applications/networking/ipfs/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "ipfs";
-  version = "0.9.0";
+  version = "0.9.1";
   rev = "v${version}";
 
   # 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 = "sha256:1fyffnw1d860w7gwm6ijbgrh68297z5bmvww8yqfshm3xgvcs6bf";
+    sha256 = "sha256-RliyIEtNgwzbLVwl6T38VIbhc12CZMBc3LZ6T/llaHc=";
   };
 
   # tarball contains multiple files/directories
@@ -29,10 +29,13 @@ buildGoModule rec {
 
   postInstall = ''
     install --mode=444 -D misc/systemd/ipfs.service $out/etc/systemd/system/ipfs.service
+    install --mode=444 -D misc/systemd/ipfs-hardened.service $out/etc/systemd/system/ipfs-hardened.service
     install --mode=444 -D misc/systemd/ipfs-api.socket $out/etc/systemd/system/ipfs-api.socket
     install --mode=444 -D misc/systemd/ipfs-gateway.socket $out/etc/systemd/system/ipfs-gateway.socket
     substituteInPlace $out/etc/systemd/system/ipfs.service \
       --replace /usr/bin/ipfs $out/bin/ipfs
+    substituteInPlace $out/etc/systemd/system/ipfs-hardened.service \
+      --replace /usr/bin/ipfs $out/bin/ipfs
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/networking/ipget/default.nix b/nixpkgs/pkgs/applications/networking/ipget/default.nix
index 8817d90dd6ed..19cc4445b328 100644
--- a/nixpkgs/pkgs/applications/networking/ipget/default.nix
+++ b/nixpkgs/pkgs/applications/networking/ipget/default.nix
@@ -2,16 +2,21 @@
 
 buildGoModule rec {
   pname = "ipget";
-  version = "0.6.0";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "ipfs";
     repo = "ipget";
     rev = "v${version}";
-    sha256 = "14ygij6hj6bd4g4aw6jgfbi1fgpal0jgf1hr22zxm16dpx3vva6b";
+    sha256 = "sha256-YD05HIVr99b8VmEJgzY2ClNv31I98d0NbfCk3XcB+xk=";
   };
 
-  vendorSha256 = "0vy21pdqk6q5fw7wlcv51myhh9y79n2qhvy61rmblwhxlrkh6sdv";
+  vendorSha256 = "sha256-bymHVWskCt7bf02CveMXl1VhZYhRSEH7xIoESh31iGg=";
+
+  postPatch = ''
+    # main module (github.com/ipfs/ipget) does not contain package github.com/ipfs/ipget/sharness/dependencies
+    rm -r sharness/dependencies/
+  '';
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/applications/networking/iptraf/default.nix b/nixpkgs/pkgs/applications/networking/iptraf/default.nix
index 344af6a03120..2881991bf823 100644
--- a/nixpkgs/pkgs/applications/networking/iptraf/default.nix
+++ b/nixpkgs/pkgs/applications/networking/iptraf/default.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl, ncurses}:
 
-stdenv.mkDerivation {
-  name = "iptraf-3.0.1";
+stdenv.mkDerivation rec {
+  pname = "iptraf";
+  version = "3.0.1";
 
   src = fetchurl {
-    url = "ftp://iptraf.seul.org/pub/iptraf/iptraf-3.0.1.tar.gz";
+    url = "ftp://iptraf.seul.org/pub/iptraf/iptraf-${version}tar.gz";
     sha256 = "12n059j9iihhpf6spmlaspqzxz3wqan6kkpnhmlj08jdijpnk84m";
   };
 
diff --git a/nixpkgs/pkgs/applications/networking/irc/catgirl/default.nix b/nixpkgs/pkgs/applications/networking/irc/catgirl/default.nix
index d2e8e93d8534..936524918e04 100644
--- a/nixpkgs/pkgs/applications/networking/irc/catgirl/default.nix
+++ b/nixpkgs/pkgs/applications/networking/irc/catgirl/default.nix
@@ -1,16 +1,16 @@
-{ ctags, fetchurl, lib, libressl, man, ncurses, pkg-config, stdenv }:
+{ ctags, fetchurl, lib, libressl, ncurses, pkg-config, stdenv }:
 
 stdenv.mkDerivation rec {
   pname = "catgirl";
-  version = "1.8";
+  version = "1.9a";
 
   src = fetchurl {
     url = "https://git.causal.agency/catgirl/snapshot/${pname}-${version}.tar.gz";
-    sha256 = "0svpd2nqsr55ac98vczyhihs6pvgw7chspf6bdlwl98gch39dxif";
+    sha256 = "sha256-MEm5mrrWfNp+mBHFjGSOGvvfvBJ+Ho/K+mPUxzJDkV0=";
   };
 
   nativeBuildInputs = [ ctags pkg-config ];
-  buildInputs = [ libressl man ncurses ];
+  buildInputs = [ libressl ncurses ];
   strictDeps = true;
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/networking/irc/communi/default.nix b/nixpkgs/pkgs/applications/networking/irc/communi/default.nix
index ab698ea9c560..9148a26567df 100644
--- a/nixpkgs/pkgs/applications/networking/irc/communi/default.nix
+++ b/nixpkgs/pkgs/applications/networking/irc/communi/default.nix
@@ -16,8 +16,6 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libcommuni qtbase ];
 
-  enableParallelBuilding = true;
-
   dontWrapQtApps = true;
 
   preConfigure = ''
diff --git a/nixpkgs/pkgs/applications/networking/irc/convos/default.nix b/nixpkgs/pkgs/applications/networking/irc/convos/default.nix
index 8ff5c50b8a78..762fdf78ce3f 100644
--- a/nixpkgs/pkgs/applications/networking/irc/convos/default.nix
+++ b/nixpkgs/pkgs/applications/networking/irc/convos/default.nix
@@ -6,13 +6,13 @@ with lib;
 
 perlPackages.buildPerlPackage rec {
   pname = "convos";
-  version = "6.24";
+  version = "6.26";
 
   src = fetchFromGitHub {
     owner = "convos-chat";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0hrz74fybypkjf9hraknylxrhnz7bhk00pk6wla2wfg8s2798zlx";
+    sha256 = "1wh3ryhd4b7nanh0yp2nycmhky5afw8lpfx34858p6wfimsv9794";
   };
 
   nativeBuildInputs = [ makeWrapper ]
diff --git a/nixpkgs/pkgs/applications/networking/irc/ii/default.nix b/nixpkgs/pkgs/applications/networking/irc/ii/default.nix
index 22d03af0fafb..93056ef399fb 100644
--- a/nixpkgs/pkgs/applications/networking/irc/ii/default.nix
+++ b/nixpkgs/pkgs/applications/networking/irc/ii/default.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "ii-1.8";
+  pname = "ii";
+  version = "1.8";
 
   src = fetchurl {
-    url = "https://dl.suckless.org/tools/${name}.tar.gz";
+    url = "https://dl.suckless.org/tools/${pname}-${version}.tar.gz";
     sha256 = "1lk8vjl7i8dcjh4jkg8h8bkapcbs465sy8g9c0chfqsywbmf3ndr";
   };
 
diff --git a/nixpkgs/pkgs/applications/networking/irc/irssi/fish/default.nix b/nixpkgs/pkgs/applications/networking/irc/irssi/fish/default.nix
index d3b814fb161c..df59ddec6a90 100644
--- a/nixpkgs/pkgs/applications/networking/irc/irssi/fish/default.nix
+++ b/nixpkgs/pkgs/applications/networking/irc/irssi/fish/default.nix
@@ -1,12 +1,14 @@
-{ lib, stdenv, fetchurl, irssi, gmp, automake, autoconf, libtool, openssl, glib, pkg-config }:
+{ lib, stdenv, fetchFromGitHub, irssi, gmp, automake, autoconf, libtool, openssl, glib, pkg-config }:
 
 stdenv.mkDerivation rec {
-  name = "fish-irssi-20130413-e98156bebd";
+  pname = "fish-irssi";
+  version = "unstable-2013-04-13";
 
-  src = fetchurl {
-    url = "https://github.com/falsovsky/FiSH-irssi/tarball/e98156bebd";
-    name = "${name}.tar.gz";
-    sha256 = "1ndr51qrg66h1mfzacwzl1vd6lj39pdc4p4z5iihrj4r2f6gk11a";
+  src = fetchFromGitHub {
+    owner = "falsovsky";
+    repo = "FiSH-irssi";
+    rev = "e98156bebd8c150bf100b3a0356e7103bb5c20e6";
+    sha256 = "0mqq7q3rnkzx4j352g1l8sv3g687d76ikjl9c7g6xw96y91kqvdp";
   };
 
   preConfigure = ''
diff --git a/nixpkgs/pkgs/applications/networking/irc/quassel/default.nix b/nixpkgs/pkgs/applications/networking/irc/quassel/default.nix
index b72e28929e3e..7869333479e9 100644
--- a/nixpkgs/pkgs/applications/networking/irc/quassel/default.nix
+++ b/nixpkgs/pkgs/applications/networking/irc/quassel/default.nix
@@ -32,7 +32,7 @@ let
   edf = flag: feature: [("-D" + feature + (if flag then "=ON" else "=OFF"))];
 
 in (if !buildClient then stdenv.mkDerivation else mkDerivation) rec {
-  name = "quassel${tag}-${version}";
+  pname = "quassel${tag}";
   version = "0.13.1";
 
   src = fetchFromGitHub {
diff --git a/nixpkgs/pkgs/applications/networking/irc/tiny/default.nix b/nixpkgs/pkgs/applications/networking/irc/tiny/default.nix
index 08e8d6a00bcf..c9637fef4ca6 100644
--- a/nixpkgs/pkgs/applications/networking/irc/tiny/default.nix
+++ b/nixpkgs/pkgs/applications/networking/irc/tiny/default.nix
@@ -1,7 +1,6 @@
 { stdenv
 , lib
 , rustPlatform
-, fetchpatch
 , fetchFromGitHub
 , pkg-config
 , dbus
@@ -11,23 +10,20 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "tiny";
-  version = "0.8.0";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "osa1";
     repo = pname;
     rev = "v${version}";
-    sha256 = "07a50shv6k4fwl2gmv4j0maxaqqkjpwwmqkxkqs0gvx38lc5f7m7";
+    sha256 = "gKyHR3FZHDybaP38rqB8/gvr8T+mDO4QQxoTtWS+TlE=";
   };
 
-  cargoSha256 = "0npkcprcqy2pn7k64jzwg41vk9id6yzw211xw203h80cc5444igr";
+  cargoSha256 = "0ChfW8vaqC2kCp4lpS0HOvhuihPw9G5TOmgwKzVDfws=";
 
+  # Fix Cargo.lock version. Remove with the next release.
   cargoPatches = [
-    # Fix Cargo.lock version. Remove with the next release.
-    (fetchpatch {
-      url = "https://github.com/osa1/tiny/commit/b1caf48a6399dad8875de1d965d1ad445e49585d.patch";
-      sha256 = "1zkjhx94nwmd69cfwwwzg51ipcwq01wyvgsmn0vq7iaa2h0d286i";
-    })
+    ./fix-Cargo.lock.patch
   ];
 
   nativeBuildInputs = lib.optional stdenv.isLinux pkg-config;
@@ -38,6 +34,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/osa1/tiny";
     changelog = "https://github.com/osa1/tiny/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
-    maintainers = with maintainers; [ Br1ght0ne ];
+    maintainers = with maintainers; [ Br1ght0ne vyp ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/irc/tiny/fix-Cargo.lock.patch b/nixpkgs/pkgs/applications/networking/irc/tiny/fix-Cargo.lock.patch
new file mode 100644
index 000000000000..71bc4709bece
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/irc/tiny/fix-Cargo.lock.patch
@@ -0,0 +1,13 @@
+diff --git a/Cargo.lock b/Cargo.lock
+index 3a184dc..0e58cb1 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -1023,7 +1023,7 @@ dependencies = [
+ 
+ [[package]]
+ name = "tiny"
+-version = "0.8.0"
++version = "0.9.0"
+ dependencies = [
+  "clap",
+  "dirs 3.0.1",
diff --git a/nixpkgs/pkgs/applications/networking/irc/weechat/default.nix b/nixpkgs/pkgs/applications/networking/irc/weechat/default.nix
index 2724c2bee6dc..9d1ecbd3bced 100644
--- a/nixpkgs/pkgs/applications/networking/irc/weechat/default.nix
+++ b/nixpkgs/pkgs/applications/networking/irc/weechat/default.nix
@@ -28,14 +28,14 @@ let
   in
     assert lib.all (p: p.enabled -> ! (builtins.elem null p.buildInputs)) plugins;
     stdenv.mkDerivation rec {
-      version = "3.2";
+      version = "3.2.1";
       pname = "weechat";
 
       hardeningEnable = [ "pie" ];
 
       src = fetchurl {
         url = "https://weechat.org/files/src/weechat-${version}.tar.bz2";
-        sha256 = "0pck4lczkk52mgwa1n0habp1xqi9xsgsh5q6bbsjmdbandvy5vc8";
+        sha256 = "sha256-gtFskJoJLw7cqLao46LRUcZobOtzgwUOiKf7I4OiJAQ=";
       };
 
       patches = [
diff --git a/nixpkgs/pkgs/applications/networking/irc/weechat/scripts/default.nix b/nixpkgs/pkgs/applications/networking/irc/weechat/scripts/default.nix
index 8bd6f771ed24..752577c39ba8 100644
--- a/nixpkgs/pkgs/applications/networking/irc/weechat/scripts/default.nix
+++ b/nixpkgs/pkgs/applications/networking/irc/weechat/scripts/default.nix
@@ -9,6 +9,8 @@
     inherit (perlPackages) PodParser;
   };
 
+  url_hint = callPackage ./url_hint { };
+
   weechat-matrix-bridge = callPackage ./weechat-matrix-bridge {
     inherit (luaPackages) cjson luaffi;
   };
diff --git a/nixpkgs/pkgs/applications/networking/irc/weechat/scripts/url_hint/default.nix b/nixpkgs/pkgs/applications/networking/irc/weechat/scripts/url_hint/default.nix
new file mode 100644
index 000000000000..90c98b8fe769
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/irc/weechat/scripts/url_hint/default.nix
@@ -0,0 +1,28 @@
+{ lib, stdenv, fetchurl, weechat }:
+
+stdenv.mkDerivation {
+  pname = "url_hint";
+  version = "0.8";
+
+  src = fetchurl {
+    url = "https://raw.githubusercontent.com/weechat/scripts/10671d785ea3f9619d0afd0d7a1158bfa4ee3938/python/url_hint.py";
+    sha256 = "0aw59kq74yqh0qbdkldfl6l83d0bz833232xr2w4741szck43kss";
+  };
+
+  dontUnpack = true;
+
+  passthru.scripts = [ "url_hint.py" ];
+
+  installPhase = ''
+    runHook preInstall
+    install -D $src $out/share/url_hint.py
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    inherit (weechat.meta) platforms;
+    description = "url_hint.py is a URL opening script.";
+    license = licenses.mit;
+    maintainers = with maintainers; [ eraserhd ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix-bridge/default.nix b/nixpkgs/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix-bridge/default.nix
index 24cf26fbaf55..282603f99248 100644
--- a/nixpkgs/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix-bridge/default.nix
+++ b/nixpkgs/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix-bridge/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, curl, fetchFromGitHub, cjson, olm, luaffi }:
 
 stdenv.mkDerivation {
-  name = "weechat-matrix-bridge-2018-11-19";
+  pname = "weechat-matrix-bridge";
+  version = "unstable-2018-11-19";
   src = fetchFromGitHub {
     owner = "torhve";
     repo = "weechat-matrix-protocol-script";
diff --git a/nixpkgs/pkgs/applications/networking/juju/default.nix b/nixpkgs/pkgs/applications/networking/juju/default.nix
index a91255f54e34..dce623897f73 100644
--- a/nixpkgs/pkgs/applications/networking/juju/default.nix
+++ b/nixpkgs/pkgs/applications/networking/juju/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "juju";
-  version = "2.9.5";
+  version = "2.9.10";
 
   src = fetchFromGitHub {
     owner = "juju";
     repo = "juju";
     rev = "juju-${version}";
-    sha256 = "sha256-oBwusx63a8AWNHqlNtG0S/SiIRM55fbc/CGN2MFJDYA=";
+    sha256 = "sha256-2gCJ6aN6uN0KtOVddLDry4pLhScSh4JHmdsFws59phk=";
   };
 
-  vendorSha256 = "sha256-VHUDqDsfY0c6r5sJbMX7JcXTIBXze9cd5qHqZWZAC2g=";
+  vendorSha256 = "sha256-vFO3Rv+7CLIkl1qS4zp177GmerewfgmyjxEbzdt/RsE=";
 
   # Disable tests because it attempts to use a mongodb instance
   doCheck = false;
diff --git a/nixpkgs/pkgs/applications/networking/listadmin/default.nix b/nixpkgs/pkgs/applications/networking/listadmin/default.nix
new file mode 100644
index 000000000000..a59f65995e2e
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/listadmin/default.nix
@@ -0,0 +1,48 @@
+{ lib, stdenvNoCC, fetchurl, makeWrapper, perl, installShellFiles }:
+
+stdenvNoCC.mkDerivation rec {
+  pname = "listadmin";
+  version = "2.73";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/listadmin/${version}/listadmin-${version}.tar.gz";
+    sha256 = "00333d65ygdbm1hqr4yp2j8vh1cgh3hyfm7iy9y1alf0p0f6aqac";
+  };
+
+  buildInputs = [ perl ];
+  nativeBuildInputs = [ makeWrapper installShellFiles ];
+
+  # There is a Makefile, but we don’t need it, and it prints errors
+  dontBuild = true;
+
+  installPhase = ''
+    mkdir -p $out/bin $out/share/man/man1
+    install -m 755 listadmin.pl $out/bin/listadmin
+    installManPage listadmin.1
+
+    wrapProgram $out/bin/listadmin \
+      --prefix PERL5LIB : "${with perl.pkgs; makeFullPerlPath [
+        TextReform NetINET6Glue LWPProtocolHttps
+        ]}"
+  '';
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    $out/bin/listadmin --help 2> /dev/null
+  '';
+
+  meta = with lib; {
+    description = "Command line mailman moderator queue manipulation";
+    longDescription = ''
+       listadmin is a command line tool to manipulate the queues of messages
+       held for moderator approval by mailman. It is designed to keep user
+       interaction to a minimum, in theory you could run it from cron to prune
+       the queue. It can use the score from a header added by SpamAssassin to
+       filter, or it can match specific senders, subjects, or reasons.
+    '';
+    homepage = "https://sourceforge.net/projects/listadmin/";
+    license = licenses.publicDomain;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ nomeata ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/maestral-qt/default.nix b/nixpkgs/pkgs/applications/networking/maestral-qt/default.nix
index 18189f64a6d6..2040aa39cebd 100644
--- a/nixpkgs/pkgs/applications/networking/maestral-qt/default.nix
+++ b/nixpkgs/pkgs/applications/networking/maestral-qt/default.nix
@@ -6,14 +6,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "maestral-qt";
-  version = "1.4.6";
+  version = "1.4.8";
   disabled = python3.pkgs.pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "SamSchott";
     repo = "maestral-qt";
     rev = "v${version}";
-    sha256 = "sha256-Y4n67LJyNUsLmGMu7B73n888qmCQ9HjxCSM1MlfTbqQ=";
+    sha256 = "sha256-lP6ASWizIQC3TkkIOHS6cBbgLNoGrSx/sThtl9bMjys=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
@@ -40,6 +40,8 @@ python3.pkgs.buildPythonApplication rec {
   # no tests
   doCheck = false;
 
+  pythonImportsCheck = [ "maestral_qt" ];
+
   meta = with lib; {
     description = "GUI front-end for maestral (an open-source Dropbox client) for Linux";
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/astroid/default.nix b/nixpkgs/pkgs/applications/networking/mailreaders/astroid/default.nix
index 4401a0a7df80..47e295de29d3 100644
--- a/nixpkgs/pkgs/applications/networking/mailreaders/astroid/default.nix
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/astroid/default.nix
@@ -1,9 +1,9 @@
 { lib, stdenv, fetchFromGitHub, cmake, pkg-config, gnome, gmime3, webkitgtk, ronn
-, libsass, notmuch, boost, wrapGAppsHook, glib-networking, protobuf, vim_configurable
+, libsass, notmuch, boost, wrapGAppsHook, glib-networking, protobuf
 , gtkmm3, libpeas, gsettings-desktop-schemas, gobject-introspection, python3
 
 # vim to be used, should support the GUI mode.
-, vim ? vim_configurable.override { features = "normal"; gui = "auto"; }
+, vim
 
 # additional python3 packages to be available within plugins
 , extraPythonPackages ? []
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "astroid";
-  version = "0.15";
+  version = "0.16";
 
   src = fetchFromGitHub {
     owner = "astroidmail";
     repo = "astroid";
     rev = "v${version}";
-    sha256 = "11cxbva9ni98gii59xmbxh4c6idcg3mg0pgdsp1c3j0yg7ix0lj3";
+    sha256 = "sha256-6xQniOLNUk8tDkooDN3Tp6sb43GqoynO6+fN9yhNqZ4=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix b/nixpkgs/pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix
index ad43ed97e09c..7792361145af 100644
--- a/nixpkgs/pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "evolution-ews";
-  version = "3.40.1";
+  version = "3.40.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1kgxdacqqcq8yfkij6vyqlk5r4yqvw7gh7mxqii670hrn1mb2s50";
+    sha256 = "ZAIE5rpPOyZT3VSPYOR143bP8Na7Kv0NQRhQ+p2oxJY=";
   };
 
   nativeBuildInputs = [ cmake gettext intltool pkg-config ];
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix b/nixpkgs/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix
index 53fe3d6f9496..eff838256f5c 100644
--- a/nixpkgs/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix
@@ -42,11 +42,11 @@
 
 stdenv.mkDerivation rec {
   pname = "evolution";
-  version = "3.40.1";
+  version = "3.40.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/evolution/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "07n4sbgsh0y9hrn52ymvy45ah65ll55gglgvqqi3h9nhkyy64y9g";
+    sha256 = "/SkjomENe/6212+FMLpAJkBOIf0nOrKKLFtQCJIeDVw=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/mmh/default.nix b/nixpkgs/pkgs/applications/networking/mailreaders/mmh/default.nix
index 5fcc060ffbfd..fe74e922230d 100644
--- a/nixpkgs/pkgs/applications/networking/mailreaders/mmh/default.nix
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/mmh/default.nix
@@ -1,8 +1,8 @@
 { lib, stdenv, fetchurl, ncurses, autoreconfHook, flex }:
 let rev = "431604647f89d5aac7b199a7883e98e56e4ccf9e";
 in stdenv.mkDerivation rec {
-  pname = "mmh-unstable";
-  version = "2019-09-08";
+  pname = "mmh";
+  version = "unstable-2019-09-08";
 
   src = fetchurl {
     url = "http://git.marmaro.de/?p=mmh;a=snapshot;h=${rev};sf=tgz";
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/msgviewer/default.nix b/nixpkgs/pkgs/applications/networking/mailreaders/msgviewer/default.nix
index 646fa4e2050a..5e9e17b47fd6 100644
--- a/nixpkgs/pkgs/applications/networking/mailreaders/msgviewer/default.nix
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/msgviewer/default.nix
@@ -1,15 +1,12 @@
 { lib, stdenv, fetchurl, makeWrapper, unzip, jre, runtimeShell }:
 
-let
+stdenv.mkDerivation rec {
   version = "1.9";
-  name = "msgviewer-${version}";
-  uname = "MSGViewer-${version}";
-
-in stdenv.mkDerivation {
-  inherit name;
+  pname = "msgviewer";
+  uname = "MSGViewer";
 
   src = fetchurl {
-    url    = "mirror://sourceforge/msgviewer/${uname}/${uname}.zip";
+    url    = "mirror://sourceforge/msgviewer/${uname}-${version}/${uname}-${version}.zip";
     sha256 = "0igmr8c0757xsc94xlv2470zv2mz57zaj52dwr9wj8agmj23jbjz";
   };
 
@@ -17,8 +14,8 @@ in stdenv.mkDerivation {
     dir=$out/lib/msgviewer
     mkdir -p $out/bin $dir
     unzip $src -d $dir
-    mv $dir/${uname}/* $dir
-    rmdir $dir/${uname}
+    mv $dir/${uname}-${version}/* $dir
+    rmdir $dir/${uname}-${version}
     cat <<_EOF > $out/bin/msgviewer
     #!${runtimeShell} -eu
     exec ${lib.getBin jre}/bin/java -jar $dir/MSGViewer.jar "\$@"
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/mutt/default.nix b/nixpkgs/pkgs/applications/networking/mailreaders/mutt/default.nix
index 0c2ffdc7fffc..a7b90c284acf 100644
--- a/nixpkgs/pkgs/applications/networking/mailreaders/mutt/default.nix
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/mutt/default.nix
@@ -27,11 +27,11 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "mutt";
-  version = "2.1.1";
+  version = "2.1.2";
 
   src = fetchurl {
     url = "http://ftp.mutt.org/pub/mutt/${pname}-${version}.tar.gz";
-    sha256 = "0jjjvqkqmpj55v111p1a1i2ry7mpd1bpphn1bhvlr18rgw7xdrja";
+    sha256 = "0s9wkygjd7xhvd1zdaidbvszq4abb0iv5830ir65glcfzbdbfak9";
   };
 
   patches = optional smimeSupport (fetchpatch {
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/notmuch-bower/default.nix b/nixpkgs/pkgs/applications/networking/mailreaders/notmuch-bower/default.nix
index 2e2b7da9a4ca..feca7bd20182 100644
--- a/nixpkgs/pkgs/applications/networking/mailreaders/notmuch-bower/default.nix
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/notmuch-bower/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "notmuch-bower";
-  version = "0.12";
+  version = "0.13";
 
   src = fetchFromGitHub {
     owner = "wangp";
     repo = "bower";
     rev = version;
-    sha256 = "0hvvlbvad6h73iiyn9xshlj073p2ddchgh0pyizh9gi8niir4fn5";
+    sha256 = "0r5s16pc3ym5nd33lv9ljv1p1gpb7yysrdni4g7w7yvjrnwk35l6";
   };
 
   nativeBuildInputs = [ gawk mercury pandoc ];
@@ -18,10 +18,12 @@ stdenv.mkDerivation rec {
   makeFlags = [ "PARALLEL=-j$(NIX_BUILD_CORES)" "bower" "man" ];
 
   installPhase = ''
+    runHook preInstall
     mkdir -p $out/bin
     mv bower $out/bin/
     mkdir -p $out/share/man/man1
     mv bower.1 $out/share/man/man1/
+    runHook postInstall
   '';
 
   enableParallelBuilding = true;
@@ -29,8 +31,8 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://github.com/wangp/bower";
     description = "A curses terminal client for the Notmuch email system";
-    maintainers = with maintainers; [ erictapen ];
-    license = licenses.gpl3;
+    maintainers = with maintainers; [ jgart ];
+    license = licenses.gpl3Plus;
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/notmuch/default.nix b/nixpkgs/pkgs/applications/networking/mailreaders/notmuch/default.nix
index dceb9c92deb8..4e28d93e8926 100644
--- a/nixpkgs/pkgs/applications/networking/mailreaders/notmuch/default.nix
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/notmuch/default.nix
@@ -9,21 +9,13 @@
 , withEmacs ? true
 }:
 
-with lib;
-
 stdenv.mkDerivation rec {
-  version = "0.32.1";
   pname = "notmuch";
+  version = "0.32.3";
 
-  passthru = {
-    pythonSourceRoot = "${src.name}/bindings/python";
-    inherit version;
-  };
-
-  src = fetchgit {
-    url = "https://git.notmuchmail.org/git/notmuch";
-    sha256 = "sha256:06r0hdz8mxnzag74md62a9m6c2zm0fxn45n4n1c26j5cmrys7j16";
-    rev = version;
+  src = fetchurl {
+    url = "https://notmuchmail.org/releases/notmuch-${version}.tar.xz";
+    sha256 = "114bbyjl2ppmy4pw0b5zwmi7lxiz6xd1k6zq0qcgdv7ahkwgybxy";
   };
 
   nativeBuildInputs = [
@@ -31,7 +23,7 @@ stdenv.mkDerivation rec {
     doxygen                   # (optional) api docs
     pythonPackages.sphinx     # (optional) documentation -> doc/INSTALL
     texinfo                   # (optional) documentation -> doc/INSTALL
-  ] ++ optional withEmacs [ emacs ];
+  ] ++ lib.optional withEmacs emacs;
 
   buildInputs = [
     gnupg                     # undefined dependencies
@@ -42,12 +34,11 @@ stdenv.mkDerivation rec {
   ];
 
   postPatch = ''
-    patchShebangs configure
-    patchShebangs test/
+    patchShebangs configure test/
 
     substituteInPlace lib/Makefile.local \
       --replace '-install_name $(libdir)' "-install_name $out/lib"
-  '' + optionalString withEmacs ''
+  '' + lib.optionalString withEmacs ''
     substituteInPlace emacs/notmuch-emacs-mua \
       --replace 'EMACS:-emacs' 'EMACS:-${emacs}/bin/emacs' \
       --replace 'EMACSCLIENT:-emacsclient' 'EMACSCLIENT:-${emacs}/bin/emacsclient'
@@ -57,9 +48,9 @@ stdenv.mkDerivation rec {
     "--zshcompletiondir=${placeholder "out"}/share/zsh/site-functions"
     "--bashcompletiondir=${placeholder "out"}/share/bash-completion/completions"
     "--infodir=${placeholder "info"}/share/info"
-  ] ++ optional (!withEmacs) "--without-emacs"
-    ++ optional (withEmacs) "--emacslispdir=${placeholder "emacs"}/share/emacs/site-lisp"
-    ++ optional (isNull ruby) "--without-ruby";
+  ] ++ lib.optional (!withEmacs) "--without-emacs"
+    ++ lib.optional withEmacs "--emacslispdir=${placeholder "emacs"}/share/emacs/site-lisp"
+    ++ lib.optional (isNull ruby) "--without-ruby";
 
   # Notmuch doesn't use autoconf and consequently doesn't tag --bindir and
   # friends
@@ -67,7 +58,6 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
   makeFlags = [ "V=1" ];
 
-
   outputs = [ "out" "man" "info" ] ++ lib.optional withEmacs "emacs";
 
   preCheck = let
@@ -79,31 +69,29 @@ stdenv.mkDerivation rec {
     mkdir -p test/test-databases
     ln -s ${test-database} test/test-databases/database-v1.tar.xz
   '';
-  doCheck = !stdenv.hostPlatform.isDarwin && (versionAtLeast gmime.version "3.0.3");
+
+  doCheck = !stdenv.hostPlatform.isDarwin && (lib.versionAtLeast gmime.version "3.0.3");
   checkTarget = "test";
   checkInputs = [
     which dtach openssl bash
     gdb man emacs
   ];
 
-  # Expects there to always be a thread with ID
-  # thread:0000000000000009, but notmuch new is non-deterministic so
-  # this isn't always the case.  Upstream bug report:
-  # https://nmbug.notmuchmail.org/nmweb/show/871reno6g7.fsf%40alyssa.is
-  NOTMUCH_SKIP_TESTS = "lib-thread";
-
   installTargets = [ "install" "install-man" "install-info" ];
 
   postInstall = lib.optionalString withEmacs ''
     moveToOutput bin/notmuch-emacs-mua $emacs
   '';
 
-  dontGzipMan = true; # already compressed
+  passthru = {
+    pythonSourceRoot = "notmuch-${version}/bindings/python";
+    inherit version;
+  };
 
-  meta = {
+  meta = with lib; {
     description = "Mail indexer";
     homepage    = "https://notmuchmail.org/";
-    license     = licenses.gpl3;
+    license     = licenses.gpl3Plus;
     maintainers = with maintainers; [ flokli puckipedia ];
     platforms   = platforms.unix;
   };
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix b/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
index ae4999b4f5f2..a2be79f5589f 100644
--- a/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
@@ -75,8 +75,6 @@ stdenv.mkDerivation {
     inherit (source) sha256;
   };
 
-  phases = "unpackPhase installPhase";
-
   libPath = lib.makeLibraryPath
     [ stdenv.cc.cc
       alsa-lib
@@ -171,7 +169,7 @@ stdenv.mkDerivation {
 
   passthru.updateScript = import ./../../browsers/firefox-bin/update.nix {
     inherit writeScript xidel coreutils gnused gnugrep curl gnupg runtimeShell;
-    name = "thunderbird-bin-${version}";
+    pname = "thunderbird-bin";
     baseName = "thunderbird";
     channel = "release";
     basePath = "pkgs/applications/networking/mailreaders/thunderbird-bin";
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix b/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
index 4b9e47aef5b1..0652ff8f7c54 100644
--- a/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
@@ -1,665 +1,655 @@
 {
-  version = "78.12.0";
+  version = "91.0.3";
   sources = [
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/af/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/af/thunderbird-91.0.3.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "39671f52392f2c10c7398376047e01d85c42ca8eb21d2c536e11fa575cca4874";
+      sha256 = "e9fa155cb5f1a2c4530cb568fbb2c4074f12232fa9949c2d5cdffb0d29c105d2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/ar/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/ar/thunderbird-91.0.3.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "b3ac3c166b5eec0ae3857a89817a0a7088dddd5545aa4864705caf79aa8bae1a";
+      sha256 = "23264b0c80c0da6bbd4f10403c8a51429a36dd5befac65c6506d0b87ad18168e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/ast/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/ast/thunderbird-91.0.3.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "2a98210aef008bd04206eb4019d9b6d0301e21085d8c96e5d8f023c77b079900";
+      sha256 = "3028d99c36c899ce52306d11b9c26e85266e6793b306627f2c4d4f2eae280024";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/be/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/be/thunderbird-91.0.3.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "6309d4959ebcc9be6d139277f990562f8d912766d57d64fc3ec4078e214097cc";
+      sha256 = "0ca92e3875ea62e50449f576dfb7bb0e892bccd9093d623dc577262a3a386dec";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/bg/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/bg/thunderbird-91.0.3.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "20fd0b411962c3ed0da4f6eb95d8c47dc57a7b366dee0e771708c2c67772619f";
+      sha256 = "7c4289991f83cc2b8f6bd57e1f81ca9f49635a7582aba1935737f7dd81fad795";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/br/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/br/thunderbird-91.0.3.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "e9f43ff375066cbb23340f2138c0ebf7b2c18e0a57d7049437034a580d8ebc74";
+      sha256 = "d34baf04a9daa69bcb83d8f312faf0436142c2b5850790764628327677c956ee";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/ca/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/ca/thunderbird-91.0.3.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "2eaf6674ea616116457b7100b90f2b813eab906091a53bce71d52f4bdae17fb9";
+      sha256 = "ba561ffd34db81a6401754d80f6987da62ff043987a228842b4c4cf2e2008efe";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/cak/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/cak/thunderbird-91.0.3.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "f56dc013fad49782a074ef7d0721a12f43af5f029e690937d72e6a14d79c1505";
+      sha256 = "ec086e9a2709d953df3953d69eae2fe72b219b0191a04e9c8837ae16b6729adb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/cs/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/cs/thunderbird-91.0.3.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "87fecc8661be9ee8891b74f83bd9a6746b826700a6ac46b550d5e2bcc93e560e";
+      sha256 = "960eafc572d6d45f549f295ae861fe6d95c98da159147bc8ef180177261c70bc";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/cy/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/cy/thunderbird-91.0.3.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "4177b225e02341b96baa6528f1053c718e2e85d452b730a40ebf124a4c70d118";
+      sha256 = "ed664202a59d8f2de0fd8a9e1eb89b55af790316e03b4432a83f0d8356a0d115";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/da/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/da/thunderbird-91.0.3.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "9d8cb26a9011130ce973e9e7ecd20650296d406b7ce8b4cf8740ab7e9759e641";
+      sha256 = "914f30fe4b271ee3f9842636286411c0d2ceaaa7cd93dab139c45db3090fd9df";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/de/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/de/thunderbird-91.0.3.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "ee19d3702cd0fc0b193e09a3fc470c450ddc919d78471df071183c89c063f443";
+      sha256 = "1d0cecb39dd7e9361cef22705e2d8590d25afc6f0b23c9058a2f19c4a8dccc48";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/dsb/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/dsb/thunderbird-91.0.3.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "20d78a72fb2c5d91e2534dd21aa00d9f958d2df61bec297e1662d7f594c76a5e";
+      sha256 = "5d857231f6d061b0b7f508801dbbabd872e7048b91b9fb685fa53c211003d0c8";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/el/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/el/thunderbird-91.0.3.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "c5014ec8b8382814e3184839192aa71e5610c8c0a6df8dfc9b6b596afbd22bcb";
+      sha256 = "4b8353aae1f416acfc39dd8dd62a121bfb4e722da3907e7be433af294e87680a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/en-CA/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/en-CA/thunderbird-91.0.3.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "79f1c4166607a01cb32eec5ddb60892822f9047f43c7af3cdeb877ba9c7b7584";
+      sha256 = "68e404576c3fd4a619a3965298e5198bd507a6f6206c2723eebbb41063163e06";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/en-GB/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/en-GB/thunderbird-91.0.3.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "8dfe9daac9224dd4c64d689b7b066c126f72e75f283d8a66dcf3fa846e46c881";
+      sha256 = "06aa97bc593ae38d9cceed6ad91db90edee7d73a0f36310b9cc67b274fa7120b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/en-US/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/en-US/thunderbird-91.0.3.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "43c021edf529f388856432315d99fd1261a0034aa1cead97cc104598eba63d7e";
+      sha256 = "e16e01e5dfc6f9da50809ee063d3873f9039f68e975a70ecec8de2de07893712";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/es-AR/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/es-AR/thunderbird-91.0.3.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "5f6f86557456d717790a16053e663dce8878a4e7b60f4ee15d02ae753b5c8e78";
+      sha256 = "313f2ac3b4dad0fb6952d9717cfd957efcd676771f4fca0c89848185bd1b4f9b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/es-ES/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/es-ES/thunderbird-91.0.3.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "f6e85e580871e225e5315eeb0aa7f2982f43352c6c4065966ead1eff47037989";
+      sha256 = "e6b2b53c901051602f4d1f8827b3daad1783dce24bee856cea8aa7ae4a536ca9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/et/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/et/thunderbird-91.0.3.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "37ea60b93f1d57a1c5f30acdc93dcd73a35ab7107dc05b8e8eebe3a996454186";
+      sha256 = "4f5801287495d738b7757c85a150e6ac8cb5ef22b056e899b74a26425a2ba165";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/eu/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/eu/thunderbird-91.0.3.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "9f7a1fc4b94017d6341c993209987e9647bf29973c3ffc3427ece6277cf92c5a";
+      sha256 = "b90304636198df5b90965073aee3f333e6f69686ba6ebb2b87f4f8ea57bae123";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/fa/thunderbird-78.12.0.tar.bz2";
-      locale = "fa";
-      arch = "linux-x86_64";
-      sha256 = "dc36f3eb91e32ea44a30792f8d65ed225455567ec4b7ec386fe6ec6510caa5da";
-    }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/fi/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/fi/thunderbird-91.0.3.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "1fa2cfe9354f7a5b4c9aa0927ae83cad535e8cb448d8a2d82f7a946b5c142b22";
+      sha256 = "0548dd85e75c60e4d6aa46054d548ff2d826ec669607c3f35a4c2010ca2c661b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/fr/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/fr/thunderbird-91.0.3.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "49887ce333f50f404a383291d813e3e8f891045247d2de353627998c47821a12";
+      sha256 = "1fca39902328c4808e7851f3596ca894d8f9c43c12a4f8795802f325f58b62d5";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/fy-NL/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/fy-NL/thunderbird-91.0.3.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "e408da5478ea01797c260b414ff513e87e71c6de41d6ca0c8bc11780c06fad28";
+      sha256 = "1120b79a6ce2a926c8b539aad09e6d574d103880ed0623f6e13ba0013c606310";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/ga-IE/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/ga-IE/thunderbird-91.0.3.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "6dc99c43a076c4575163e640260b27aaebef01ffcc1ce8b6c6e2da8c993eee72";
+      sha256 = "67d912e2b4d70b553ff9ad2106beab3cf9495fd24a5e947659dd900f576c515f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/gd/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/gd/thunderbird-91.0.3.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "3ba9424491565e4e576dbfe656e681892ff1084fcd8b9659beb6a17b36cc4c27";
+      sha256 = "5ce277a93edb95dcb9e645f353d9b48181db8b491303ba24241e9833f9d52a8c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/gl/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/gl/thunderbird-91.0.3.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "a8348d99ba729122d2d2cc0a10d60c38ff4b7e83eaf7ebd04a58d7fad5326664";
+      sha256 = "b57d5a4fb9c14fbdbb6de402d0469d681b2f5fc5a7f8ed51b1defc0da672cb8b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/he/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/he/thunderbird-91.0.3.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "fcba79332eeba50f074a7f1864120414ca20152a16b4b9aed02dbc05d487cf10";
+      sha256 = "cf4fdcce74dcb24ad180f45b31e8165e23ebcedaf28c867fc74e4ac8b79da5dd";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/hr/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/hr/thunderbird-91.0.3.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "d6a51f6c92ab53a73abb5733a9737d36f59aee7acd248ea656b7aa3c406e3980";
+      sha256 = "8d26131d28ee06df1ce63eb21db285f752dac4d3ae71d5c2349c76630e6ebd13";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/hsb/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/hsb/thunderbird-91.0.3.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "a99dbdd453d31674178faecf37e61b414cc24468a39b8a5e5afa037bf938ffd7";
+      sha256 = "7d38fee7c4a897d01f0e2254c5094962a7ae1908f071b32510bae408d3647bbd";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/hu/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/hu/thunderbird-91.0.3.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "aa8384952169ea4f60c8bb11d47c39b81a9c327546ceacdefedb1a37a91e80b0";
+      sha256 = "7271548b70d0d378fb191ca2932b7382d9f5dcc4072eae9c4db0e3260558a97d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/hy-AM/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/hy-AM/thunderbird-91.0.3.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "2a3fd50c42b1aeea61e921e70f05c4ca74e03904c8400b7fa0e245816e42e0f9";
+      sha256 = "06d9de4a86cb0791f2c3ea683a637ec5965f9014c656b142601e9c3753231067";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/id/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/id/thunderbird-91.0.3.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "5b606b68a3f618ca0d3fadc5a8ee1da7aa636b6d1c1aee0b3e46c978c4a95ef3";
+      sha256 = "51ae3415517df352525750a4926e4587f5edce09f88294670a7cc5c5fa830ef4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/is/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/is/thunderbird-91.0.3.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "af75f627fc5eb5c0628bbc3ece9549c0daf967e267de850503314830384b340c";
+      sha256 = "d7e9406a3a782bf0e4b80caeb42c1607fa3d45e9982550dd17ed1b7cb7279950";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/it/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/it/thunderbird-91.0.3.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "de55f082a0de2c6a3f5c04e6a3bc00f4dd79dc4c8c91d7218bbc50c5e31421a4";
+      sha256 = "7d6005c6017f87e0374833106de045f9115cbc3ec1825429315a928f3ad19db1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/ja/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/ja/thunderbird-91.0.3.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "5db89a1ef3e1546ac48e870c06a235e2f525a9634fed09ce706773cf2582c15b";
+      sha256 = "7930323cecd2002b37baabf771f1f9a4be304d7b84ce9dac4bab6856d7f9f1d3";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/ka/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/ka/thunderbird-91.0.3.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "524d9508d2b8ee337658d5538f9b290e08f0df9ef0c7ed0da9dc5e1e8dc2a9de";
+      sha256 = "10a9e2a23bcde3c94f72701849e3ca0833cc9dbcb821eea65bf412a5feab5ddb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/kab/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/kab/thunderbird-91.0.3.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "7dd3d55f7a5b68b0ebaa96efb2091c320553bbee17b0329dce2ffdb5bed0954c";
+      sha256 = "12e1ccc30b98bb9a363ab824187c5504fd2c14cf0891455681730968cb7e8126";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/kk/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/kk/thunderbird-91.0.3.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "f49fe966e1f22e542b62f7e2f3aa8a7377ec6997d5d0b3dc8f0e6986e0418111";
+      sha256 = "3de1bbb675ceeff35e1a8e581e8c6a200dd68e97bb9e363e5d6b42fd6a9420c9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/ko/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/ko/thunderbird-91.0.3.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "f48b05376ce85123a163ec54be9baa1325e38e1994753696a3054028a6f60ab2";
+      sha256 = "a7b011c57df5ee00dd80a6ff9df50f957190c14156e8e3557480177a73ac2379";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/lt/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/lt/thunderbird-91.0.3.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "124b0f6e6f1db1cac8ac33f0878d8583c29913c65fb5ca1be4653a9592967407";
+      sha256 = "fc59f081a579f837afed05b394a8f503f8c24a10c282aaacc522f3fc873281e1";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/lv/thunderbird-91.0.3.tar.bz2";
+      locale = "lv";
+      arch = "linux-x86_64";
+      sha256 = "c2e43c9f3bcd1889f40917238b6da71919c4ed248ab507bb71d74882d7ea2e27";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/ms/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/ms/thunderbird-91.0.3.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "c2917bf55feb4c9efa905920add0bea79b715dc631960e283cb413d05e1e51ec";
+      sha256 = "6bf1c022f9384894e4047d7d96e3236cf92427ba6de99a0d650e3da985ff7698";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/nb-NO/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/nb-NO/thunderbird-91.0.3.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "1a5f059665aacea4f12f0f604979bc6de5059e50ab85710cf25d6f0478fd1acb";
+      sha256 = "82797bc5227b429a51801f60edf485b62c774be19c9befc055d695f9e4ba4e47";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/nl/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/nl/thunderbird-91.0.3.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "4efc6479b4948aa96e4c4a14f25ca6401058ddfea4b4175cdce851839327dd8e";
+      sha256 = "0e07d3cea432f914d17016998d5a6cebfe43549e1fb4599f0a92cc73c265fde4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/nn-NO/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/nn-NO/thunderbird-91.0.3.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "910661eecc2d65c27f63597ed5bdc96973e39603a0c702e7dd760e87b373d7c8";
+      sha256 = "70dc2d1d427bc93105fc6cba79c27e9f5062a6a9572c5adbe55bad737e359bbc";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/pa-IN/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/pa-IN/thunderbird-91.0.3.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "50aa0006b3252d7ba020a162b36f863c632fb3f6d13bf0589334ba3f34ae6ba4";
+      sha256 = "2e07c0661e29e35bc42360894dbc5d4ca0313a3da9f2b96ddcc82936665339e2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/pl/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/pl/thunderbird-91.0.3.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "6f75b4492c9cf6bd3b03800a55b0e91a121e7e13ca1f451571cf25abde040487";
+      sha256 = "5f16cafaa287f67dd33eebd2f0cd3d128b0d0c7119c0721de8e5434be4dbecd0";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/pt-BR/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/pt-BR/thunderbird-91.0.3.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "ed8834d038affbd7fadc93dbb72d972a7dca77d9d9af4b5cbdb0cf4c36bd7b70";
+      sha256 = "6e1eb47c6c794f27d7cbb442954450fafc5d22a17c6c4e53dad80d38e8e4a885";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/pt-PT/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/pt-PT/thunderbird-91.0.3.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "6add8c6de555561d892b23909e5b4828230567789f71467600483c8eb0f4e6d1";
+      sha256 = "606df5acad3221f4f9eaf9da7c0b6ad30bd8b87ea71dae30b93796342315ea51";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/rm/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/rm/thunderbird-91.0.3.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "c9ceb44aea4f61d4376d2519b233356ca48ab7eed6c62e0402c1c435baac379c";
+      sha256 = "efe31e78f7e6a6351366186e608c680533c89c7947575792b05ecf706727af89";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/ro/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/ro/thunderbird-91.0.3.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "5d2889df62325331b5869e17af8125179ff9371c8860ad52b4cc8d4c21253e6e";
+      sha256 = "a9c829b1e367ea7ce0176901fd07e6c5f67c8d5d178a7e998f01859c53f59ecf";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/ru/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/ru/thunderbird-91.0.3.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "07aeda5b10bcdca5474ef156be35c38ebd15de68a3670e4e2532b045964d7164";
-    }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/si/thunderbird-78.12.0.tar.bz2";
-      locale = "si";
-      arch = "linux-x86_64";
-      sha256 = "a70410319bcab48a407f4b379e82029528b8998ec89d7105a85ffce5e804a285";
+      sha256 = "94c4dc9fbacb07942978decabd0f9e26fe5183c671f865c6a93e906aebbc0254";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/sk/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/sk/thunderbird-91.0.3.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "4b110a5b7d3cab0a9145635c0e458e22eddddd97e407a229d8c8a5f5761d150d";
+      sha256 = "3a52978887a7c52d37704f264f8ec640f6110ea64b568995794ce62b6ae86228";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/sl/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/sl/thunderbird-91.0.3.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "d253ee57d3eac036b1b758d45609db39b47dae05e282ccaace739993ef3cfccc";
+      sha256 = "c2b3b28c3bdfa969af465a9aa5dc75334f7372a6317df6075ba7d594f52c0294";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/sq/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/sq/thunderbird-91.0.3.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "700a8e7798f8b92c6874febd71b188ab0a97a2ca62930db4cb36fb12e02cefe8";
+      sha256 = "5524ce37c39018b9b60034ca06b3cd5f862149b7885733af8f840e1b39f13865";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/sr/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/sr/thunderbird-91.0.3.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "5485ce5280b71f9adc8ae2a544eecb8c8a12720efd604d93d5f2bf051f3edc0d";
+      sha256 = "8cbfac96a6ce6d35dd68d6d4cf9fcafc146e69a81bc8144f6407621fe992fc1a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/sv-SE/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/sv-SE/thunderbird-91.0.3.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "a3d0f4d3d32ebb2ec9b67fcbbbabf5640b714fbcd01a742c7cabd872c5bd94f4";
+      sha256 = "6887854f7efa083f25a21874becd7e34c4b57a35b3898a790ad9988415f143e2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/th/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/th/thunderbird-91.0.3.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "2d6963ec130e14f5d0721782d5a4f724eaac5bab1b4e3469e19dbbdf1512396d";
+      sha256 = "0e220caaf692550e8424c64bafbc3b9f5efb608fa8dc54f007c9e378e1bc9ec6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/tr/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/tr/thunderbird-91.0.3.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "b6ada3486cbba66992db5a04138f03f12ac6fc004cb86558a4b8787481f39383";
+      sha256 = "7c0d780968a1dab36372320ca47ea812e2b522074ba124f29472026d5ee88f73";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/uk/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/uk/thunderbird-91.0.3.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "c24fa7aab502cfdb88703c0abe2444cfd1bc7b94cab1f34b0626240c2a75a8cb";
+      sha256 = "34c1e098b7746bfeb531886463114479278d98de450136d49c594f30f537a07e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/uz/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/uz/thunderbird-91.0.3.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "119d29856eb9656d89b5d06301f3abef4db106ddf3793dc0b9c0c7f2cb03428c";
+      sha256 = "edeee2d40fe634bc34733511895f1345d8b4e0eed49fa5ef8f5598245884c20d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/vi/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/vi/thunderbird-91.0.3.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "4aa063fd673684488c9565ca7f35b8b6aa2c944cec921131de8ac2dd483b5b8c";
+      sha256 = "2d51311b5e8811254a1a8b68236f60029e3ac8f3528c5d46bef0040917b520f6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/zh-CN/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/zh-CN/thunderbird-91.0.3.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "78fd8d25250632336c574b4d02a9c397d2a01d91660a17a3dedc98155cce84d1";
+      sha256 = "23a97b03c84ba34164a2ea3a80444040da404bcbf702c171e45a12bf1220623f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/zh-TW/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-x86_64/zh-TW/thunderbird-91.0.3.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "724451f25a3e45cc23a277c4d1bf3ce76457d883d43b5a5f172340e6d8e81f41";
+      sha256 = "66e3a359752d1a1dabb881189e9a898729f273b420c57c94c5bfa459967cb364";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/af/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/af/thunderbird-91.0.3.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "6ee9ef2596d099bed0962199cf95bae3f8ce322cbc2d9d78195c1caa661297d2";
+      sha256 = "369393b32dd642c757c86f793be6acbf5d9b2cb4e8b893e76cbc422964ef5df2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/ar/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/ar/thunderbird-91.0.3.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "dfa41ea4a15f074b2530b8e8383b76617e1a916344567e30dcc370660f0ab05a";
+      sha256 = "c1cf67bf674031da9c0d6d9aa76c86acb89a6227b029f9b0b80f555d6bb46a4f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/ast/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/ast/thunderbird-91.0.3.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "602d1ee72a11a88004236572cb2fa22fdd86cbda81a74f89342e8371a295a140";
+      sha256 = "7eb25e0238fcbcd779bd1c0ccb6193750f88aae4eec8544b0ca98734c9253259";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/be/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/be/thunderbird-91.0.3.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "1e7d385da89801d9a949fef16de5904314e6e012a2693a936c122e9b8276b267";
+      sha256 = "8ae8e53c28005eefd99ea21109fd100359a7a157a72558882781b4fa28420adb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/bg/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/bg/thunderbird-91.0.3.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "e8c52029a88272d3371c42cdab8d8fd97d8a816032377d22285154686a557f08";
+      sha256 = "ea01a55258e25c897bf5792f0001bfc332aabefbc09ef24d5cc145831ab3a48a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/br/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/br/thunderbird-91.0.3.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "49d0c56d04033da26b9e73cce83e7de55755b269e2c15003537c2cc53d1e57c1";
+      sha256 = "cdef12d70df4a407adbb8c9f370daed965d20b243433942cabffecdb3a225737";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/ca/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/ca/thunderbird-91.0.3.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "c31cc0421858f4a31840d6924882ed692db260e66c16b4c916d82e2eb07ec229";
+      sha256 = "01864d608a98d179cdd2d67480c650c4764d883b4b6a6d9d73256112d5eccffe";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/cak/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/cak/thunderbird-91.0.3.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "5be14239cea98b350a05230efb5e15dbac7bb530f1c3f2b7f17c12b0d2ff75ba";
+      sha256 = "968fdc7d1feb0247f159489e6600a8e18ef1715c355418e7341de193da418d26";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/cs/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/cs/thunderbird-91.0.3.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "51260bbdeebf1cc18b7d36ad2a302841b29eee797d096ef033b5be03162177ad";
+      sha256 = "fbd819e3f5a3be0d0624472b902af1f29c18cf3c9e524826882efacedc6965fe";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/cy/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/cy/thunderbird-91.0.3.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "8c6e1fce7834da9a3a820bcb9df6a27f77c132f0c513ed074c24af9de8858798";
+      sha256 = "f2ed1bc1544046b30ecffaeb62ec09328da115eb7d5da9ae1bada33960624917";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/da/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/da/thunderbird-91.0.3.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "fabc99558863a646565eff20badf08805e2460e541a3907fab9c6b029dadc0de";
+      sha256 = "f1b7fcb4b904bab9b1e669505d477225b5178dcf3b0ab7ebae5d45092284b04b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/de/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/de/thunderbird-91.0.3.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "dc6d7c639e6e9b3ef9f4c13054ec543ed1ec6d789ae2c5e0fce5650c7fa7932b";
+      sha256 = "8f8c81448ec9c82d18d764ba323577687381d67b839a804eec6a48709866a334";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/dsb/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/dsb/thunderbird-91.0.3.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "86edac99d1e2a8da228718f2fd78448948e207e3398f781ddec43d4c9ac9e425";
+      sha256 = "8ff175908da6d2032f47d0a74c58576b1552c0e9bf304b678c66c43f9e282289";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/el/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/el/thunderbird-91.0.3.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "0113409e306300aa4bbc9dacdd85ca52e5d71ca52962ff4628a96c4103337a1b";
+      sha256 = "da644e9386ff3526a9332869a240ed07b15f40c57a90eaa0678f1d5cad58bc79";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/en-CA/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/en-CA/thunderbird-91.0.3.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "1e792a76d371479abd43bdfb993cada3b23fbb547cfadf691b25f51cacf4265e";
+      sha256 = "fa5fbc0e60a93ec657a9c8a8140c1318423c5a58e1a6df70706095347a150780";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/en-GB/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/en-GB/thunderbird-91.0.3.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "596ccfcaee2a005ea2ee0a93f9644666a5e7e955e22b799bf91766908dac7db9";
+      sha256 = "db11e5ce13b48cb2d8456c2c542eb24adc51fb6d0151b49459b894266fb62b4d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/en-US/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/en-US/thunderbird-91.0.3.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "97fcb2332b1343f9b5e06efff7ea5a73c80212512ac2b2959537d1e255a8ce44";
+      sha256 = "b76a3db6b41ed843471fdec8394b58ddfd231d6ff7575ebe650f0c5fa91535e7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/es-AR/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/es-AR/thunderbird-91.0.3.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "0af5917c4828c08425709f0fc3aca7c74668ece53721666d6e4004b637469b17";
+      sha256 = "f1182cbc6f3760555ba41a4d2db415519f2a2f2c6c7c6abde94f6c72b5864a52";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/es-ES/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/es-ES/thunderbird-91.0.3.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "6283c85e34f6ab7d25fdebb5ed70b1d26c601b3416cef45cc8f06a15e723d9b7";
+      sha256 = "19e538e90ee435ee29e347720fea42eca5533e4025ef285820c18c62e981023a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/et/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/et/thunderbird-91.0.3.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "ab1cefeb07ead51998a7f54befb0a291c065d8a0d440a6d2c7972fa64f345948";
+      sha256 = "c3ca7abbd340306b30ed4a60c8f238d18d06be11fe3ffaa9b1bb917f629bdd31";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/eu/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/eu/thunderbird-91.0.3.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "f4ce3787e3cd46c8bcadbc6ab2a728e3b76ee2556ad5e4129e4418e844a8c4e6";
+      sha256 = "27c4d06f073e52c631a46174eff52b4dbc8db509f08e1e394a46552a56a8798b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/fa/thunderbird-78.12.0.tar.bz2";
-      locale = "fa";
-      arch = "linux-i686";
-      sha256 = "35da798ea7f613489820e4e42b1c78c078c21ee7f7521ef5ba21a7602fb302ae";
-    }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/fi/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/fi/thunderbird-91.0.3.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "dd97b6c745b88a6493d280e5efc2165bc5895ec7ac56c1df63d7adcb860eec59";
+      sha256 = "57ef2dff097e9cb32ffd4540925c798e13174ee3f6d08473c745952cc2efcf71";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/fr/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/fr/thunderbird-91.0.3.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "9d49108417933e1f79a285b99cf0e49f6a009a121084148da70f4cf93a238c34";
+      sha256 = "3e4bf7cef09c1c2f787ff37f07fb3284b03d5b579330b6cb0fd1a3d9f5ac137f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/fy-NL/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/fy-NL/thunderbird-91.0.3.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "efe33dbc8d7c6347359d30c63034a3553720ac806c1754752b0649d91ce293a4";
+      sha256 = "867e4f64830ddd7918fd6f1e1f5a4814b174d4ac21ce1755691493b852732742";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/ga-IE/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/ga-IE/thunderbird-91.0.3.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "c99c54902c522ec9472ed6ea4a85e6be9dd0e013a2835a38d90b4b77554c05dc";
+      sha256 = "6e5bc42c2e923d37c843b1b971a8afccdaf1de3b271bdde003f58aa2c43c09c2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/gd/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/gd/thunderbird-91.0.3.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "af46f3aa8480469783a625553688f7ef5ff00bdcd9be9c98af7d49f98e8cba7e";
+      sha256 = "d0138ebe2ae5550f5d911d6ca8f0a27aa27338de7cd948b0665ec3e0cdee0947";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/gl/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/gl/thunderbird-91.0.3.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "bdf94938571db3959781b490fc74aaf1a48b42663b22ae32dfab97600772be0c";
+      sha256 = "233b0fc6394a3dd6c96fa3fd800e4254c5cff026bc6d91e53d872f46de06895a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/he/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/he/thunderbird-91.0.3.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "1e9f6f580751bcf518813a123a0e1f2f66cee92110516867b4844bbcaa2fa67f";
+      sha256 = "73b9546fb5b7a98be1f4431b374e0ebe59557a765747e04688b0a0319b30c845";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/hr/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/hr/thunderbird-91.0.3.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "a6727dce9ac4074ed5685086f224cc956eacf04b3aa54fc4b7d669e2d3a548e2";
+      sha256 = "c500cf6adb60131010054d5f99976559ac2f7f2e83799715c5de0e62765df71c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/hsb/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/hsb/thunderbird-91.0.3.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "16f985d7c4520bd81bc1e5a8e939a2ce97e807ab0635625d38290b073defa79d";
+      sha256 = "e67b1e15c968334476ec5775e68893dcffd1dae7ce012ef95a9c97edd506be3b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/hu/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/hu/thunderbird-91.0.3.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "9e7c771cd0dfd8dd1b42721f9129d1fdd760c2d3f7bce407adec6c4f3e0fc955";
+      sha256 = "7b452c3dcf394c04f534c03f55f5fd0cad1c4026a818676e85ac57a988f6ca3f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/hy-AM/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/hy-AM/thunderbird-91.0.3.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "4a5878d9be7d0b60347a19c2533fe22ff0f02aeb5228070ecdc1bb5bd0ca5490";
+      sha256 = "36b89d8d88a80fc1964eb56895df0da4e75ec64837fdca3cfd0681ec14375889";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/id/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/id/thunderbird-91.0.3.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "80bb061ed6efa9396627bb05ef26247e92b49fe50787e04add488cc3c69c5304";
+      sha256 = "f91517767696f5b248cdea262dfaf7b7a2fb6a0542481cb1ceba6360c0aa5497";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/is/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/is/thunderbird-91.0.3.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "4d96a6de273846f133a307967e4d96f6594c8f4fdd6c16efd39f10bd5121cf60";
+      sha256 = "427f4e82a60587ebfe30987c21731840010dcb92471814501237ed5efe78e866";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/it/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/it/thunderbird-91.0.3.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "f10c633cd2ab40a4845fe7c681094bbe18b2d0240c10d77ab2e47c633e10baaf";
+      sha256 = "92f3e2bda56bdd4fccf431103ecfbfd897959e3bc2c15ef64fb1bafe3f8ff15c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/ja/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/ja/thunderbird-91.0.3.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "b97a41e3e48c29f60aa22e9ce98bb4bab641ba633877d3086e92d1904bc7e34a";
+      sha256 = "9fb9f0f323246dc94045c6bb09c74d98bfba1005b8b0e68bca843ef34d363b73";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/ka/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/ka/thunderbird-91.0.3.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "c2a0bdf08c8ae9f5ca5df56eef07331834d52d4d8fefbe87e3f5f7bd31f83457";
+      sha256 = "5b4d7c8a6d8818fb9e336e0b595139138be5a4fedcbafa0895a62aceb8ef6007";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/kab/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/kab/thunderbird-91.0.3.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "4475c84a76bf254c6126384c15bb9721750cb935b2ab49b4825bc1d2c9552cc4";
+      sha256 = "7661d1af8b25f727219f75ddc0e9c5c75f36d2a84b2af27ac09b548767f01c5b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/kk/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/kk/thunderbird-91.0.3.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "5e74e269de716b9239dd45254d660679f8cacba3264aab7565be68c16143bf40";
+      sha256 = "a0db8097caceb8f3d58e4c77ee137790b087c569587a06c78cbd5aa2d9b2819d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/ko/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/ko/thunderbird-91.0.3.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "b40047124044f3ba15f08526c1898f12d88e186f422202ce3aab1ee0f23cd0c7";
+      sha256 = "5352f1d9fdff63913c137aa54b5d16893a374c0f1ca245f6de3a4f17ed7d8f47";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/lt/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/lt/thunderbird-91.0.3.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "f7bb95f825b8aa20f40851fd0e99ac1574e26f2a5c69dd7bfdc2f865a11051b5";
+      sha256 = "a3bc0caeb2c1c3f81e3d705186ccc83e831c2f094742e93304483cc61666e3ad";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/lv/thunderbird-91.0.3.tar.bz2";
+      locale = "lv";
+      arch = "linux-i686";
+      sha256 = "4bf8b846a0ffa95a3e74a9dc7a05f5283abdb907529dac2ea346570d7e5e4d97";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/ms/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/ms/thunderbird-91.0.3.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "473ea13ae580d09237a04e08331d883eff6c419d61f0ba1afaa1c5a948da98b8";
+      sha256 = "4d0678116562ab28a7a4bd1ca39b94f87e2f09d79acf2baac51b69c179cf8207";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/nb-NO/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/nb-NO/thunderbird-91.0.3.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "efe8ac1e38a085caec95b817548c5cc06f45aac03bee5545cb65b93eb19efbf7";
+      sha256 = "4f3e467cb652e2c92631723ce599716f6e1b6ba9137aa2fd51bfdda2016b75b8";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/nl/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/nl/thunderbird-91.0.3.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "a646a84098185d299118305c651788bef0a88f805b08ff51bcc87067a5460c06";
+      sha256 = "522186f15b6ff574e8b5a7c64d7f376d2bfcd148fb54b5faddb5647a23703076";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/nn-NO/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/nn-NO/thunderbird-91.0.3.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "14b765aa23671318b6356886f3bee0847570158c4215e0d106bc823df045414b";
+      sha256 = "3dc1dadd4cb1af7bb11b4c77ebab20a7c43bd75639a866fcdc3a51099e078b0c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/pa-IN/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/pa-IN/thunderbird-91.0.3.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "ddc9dae4e4f7a9cd99d8e2e5041ac52432b6835f7b6e0867bc7ea2ff7283ba95";
+      sha256 = "586e6a3fd41903dd4eef357207839d195c1eb7e40b152baa2394880db539499a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/pl/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/pl/thunderbird-91.0.3.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "396373ad618f35be40c79f1e67ba67f1e72dbb2ee250459f610cc1ad2b7bd2c4";
+      sha256 = "2a064b763ae9b0b11d266cf413cec98f00ab6d350f44469a2dea4713ba17521a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/pt-BR/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/pt-BR/thunderbird-91.0.3.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "0e62406a68fc33d7c77b10c2ae427c508ee491e33041be114b03c4eb630e8003";
+      sha256 = "a897c43eccb7c91732e1fa623ff675877de014a176119ea049e9eadc579e59e9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/pt-PT/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/pt-PT/thunderbird-91.0.3.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "ba8e89a5a15fe69660758a83e3801800d1a15ab051d8ee581dd1b97b6a67ddd0";
+      sha256 = "4aa4f70dad8116e2f6fe4dbd6c7bf7cf3c090b6f0e776dfde34c594bc785f33b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/rm/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/rm/thunderbird-91.0.3.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "ac9705e6c64093d375db018116f66792eadef36fa32919bc467a0d08ed20fadc";
+      sha256 = "f437ac48a9888abc4c63aa14c1e5561ea06a3e0287596fdae10f0f3dd071b0e6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/ro/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/ro/thunderbird-91.0.3.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "4fdcb748d23044effd6fe4e94c525381e2dce3941c1829625c84eab795dc4797";
+      sha256 = "dfc376eb4baac472c634b4b25c43f6eaebb27c98bbda68a5fbe905b545bcf858";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/ru/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/ru/thunderbird-91.0.3.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "63f0d9be0baa91b3a65189ce9bee01d5984e04eba319484c69560cd10af750e9";
-    }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/si/thunderbird-78.12.0.tar.bz2";
-      locale = "si";
-      arch = "linux-i686";
-      sha256 = "db371618474a3812c641d9518f04035c353c9e184b91f713d9b70f09b693f6d0";
+      sha256 = "3707b961d3b42b23a3883ebf091f7456521257f16fbf906aeda436e85019679e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/sk/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/sk/thunderbird-91.0.3.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "6b5370c99076c0955e3b3fb58be9649656fd12a32126a4bf2d54d51e9147c7c5";
+      sha256 = "6361c53e1908c308929054a87a276e5a43d2eefda75edc4991e845e4055a59c7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/sl/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/sl/thunderbird-91.0.3.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "5c5ef16ae617f18f4ad4774bda932d8858c35d6ef6e61a5bd1c730564193bedb";
+      sha256 = "de5d84cacd50edd00184316d9122e881217017e78f0a73a79b745b130c58fb6d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/sq/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/sq/thunderbird-91.0.3.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "e8462127bcfdfec2b651b11d569918e7ffff37c7ab0b556c10434273e59b43d9";
+      sha256 = "2ab70162fd53943f6a46c1c9459dadcd6e7ca5ee19c1bca161368739c74068b1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/sr/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/sr/thunderbird-91.0.3.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "9fe5e0091ebb9d3b0d07a6cc6dcb167b7608b0acc7ef5a5e24604e8d007001f5";
+      sha256 = "4baaa9d43c1f4c9db85b2a12fa52cbe2d2807b5781ac5c7287901153c1b6c81f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/sv-SE/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/sv-SE/thunderbird-91.0.3.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "1b6d4b29e53b933418ba25b8284d62d218076b1dde09006e0508a060190b81ca";
+      sha256 = "6151beb596c9742345ee749239e1fcf983feaa8bebc06908fbfefbe169d8cb3e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/th/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/th/thunderbird-91.0.3.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "68a90653d02c8b9f022b52693884f5bce8d60bb89c5099784347dd9c9e578c87";
+      sha256 = "e063338beec45e1d4ec69ac4c3502df243d98802dd1ce0df28634e003e5a0477";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/tr/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/tr/thunderbird-91.0.3.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "9776f2eceb7bfc15292d621d874a7fa3f092223752b81b65623a3294044022d0";
+      sha256 = "38be40e163b0b0426318d20dca127f257861441e29b9d282f2fa352cfa2c2ccc";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/uk/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/uk/thunderbird-91.0.3.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "9c3dde23f775176780ff24d89d46659b293b22cee45df9a2dcf1bf3f8257c19c";
+      sha256 = "ac1bdb90a15bc245b55e0dcda57e381ce9521d0fbcac240a55806c5ee859d90f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/uz/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/uz/thunderbird-91.0.3.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "b2d9d4b3e43fe3af5c602c4b429d4fb29461ace04498cf14b0f75fba7ea0c667";
+      sha256 = "584cd95cc34193c868949d9aac3213a779cdedde14f6f3088657ab61d32197c7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/vi/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/vi/thunderbird-91.0.3.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "c2c7a721d82ad59022020cad3dd152271a83207fbd0f61b91d3c464aed16bcaf";
+      sha256 = "1725bbed0bba4e6c3fa7a44df700c4a04b47eaffda3189b8b6efff33d6e30c3a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/zh-CN/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/zh-CN/thunderbird-91.0.3.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "9e26860c8d78d13fffcc9eb418fb4d34a7da07b5604f8d01eddc10471e57dd70";
+      sha256 = "9afeaf173047c708595e0e58cbd6cdbd8a55b390420e100f4aea33597803c01a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/zh-TW/thunderbird-78.12.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.3/linux-i686/zh-TW/thunderbird-91.0.3.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "403ab2f3262ce3e79d2261ca2afd8ddca98c116086dda620bbe54c45d2111632";
+      sha256 = "60367168ee3e92774b040f82b5ec733be00c958ac6c2fa07f7821020a571158f";
     }
     ];
 }
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/D124361.diff b/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/D124361.diff
new file mode 100644
index 000000000000..42dee06a26bf
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/D124361.diff
@@ -0,0 +1,22 @@
+diff --git a/comm/mail/config/mozconfigs/common b/comm/mail/config/mozconfigs/common
+--- a/comm/mail/config/mozconfigs/common
++++ b/comm/mail/config/mozconfigs/common
+@@ -1,6 +1,3 @@
+ ac_add_options --enable-application=comm/mail
+ 
+-# Disable enforcing that add-ons are signed by the trusted root.
+-MOZ_REQUIRE_SIGNING=
+-
+ . "$topsrcdir/build/mozconfig.common.override"
+diff --git a/comm/mail/moz.configure b/comm/mail/moz.configure
+--- a/comm/mail/moz.configure
++++ b/comm/mail/moz.configure
+@@ -12,6 +12,7 @@
+ imply_option("MOZ_CRASHREPORTER_URL", "https://crash-reports.thunderbird.net/")
+ 
+ imply_option("--enable-default-browser-agent", False)
++imply_option("MOZ_REQUIRE_SIGNING", False)
+ 
+ 
+ @depends(target_is_windows, target_is_linux)
+
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/default.nix b/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/default.nix
deleted file mode 100644
index 55d8b0df9e21..000000000000
--- a/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/default.nix
+++ /dev/null
@@ -1,358 +0,0 @@
-{ autoconf213
-, bzip2
-, cargo
-, common-updater-scripts
-, copyDesktopItems
-, coreutils
-, curl
-, dbus
-, dbus-glib
-, fetchpatch
-, fetchurl
-, file
-, fontconfig
-, freetype
-, glib
-, gnugrep
-, gnupg
-, gnused
-, gpgme
-, icu
-, jemalloc
-, lib
-, libevent
-, libGL
-, libGLU
-, libjpeg
-, libnotify
-, libpng
-, libstartup_notification
-, libvpx
-, libwebp
-, llvmPackages
-, m4
-, makeDesktopItem
-, nasm
-, nodejs
-, nspr
-, nss_3_53
-, pango
-, perl
-, pkg-config
-, python2
-, python3
-, runtimeShell
-, rust-cbindgen
-, rustc
-, sqlite
-, stdenv
-, systemd
-, unzip
-, which
-, writeScript
-, xdg-utils
-, xidel
-, xorg
-, yasm
-, zip
-, zlib
-
-, debugBuild ? false
-
-, alsaSupport ? stdenv.isLinux, alsa-lib
-, pulseaudioSupport ? stdenv.isLinux, libpulseaudio
-, gtk3Support ? true, gtk2, gtk3, wrapGAppsHook
-, waylandSupport ? true, libdrm
-, libxkbcommon, calendarSupport ? true
-
-# Use official trademarked branding.  Permission obtained at:
-# https://github.com/NixOS/nixpkgs/pull/94880#issuecomment-675907971
-, enableOfficialBranding ? true
-}:
-
-assert waylandSupport -> gtk3Support == true;
-
-stdenv.mkDerivation rec {
-  pname = "thunderbird";
-  version = "78.12.0";
-
-  src = fetchurl {
-    url =
-      "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz";
-    sha512 =
-      "8a9275f6a454b16215e9440d8b68926e56221dbb416f77ea0cd0a42853bdd26f35514e792564879c387271bd43d8ee966577f133f8ae7781f43e8bec9ab78696";
-  };
-
-  nativeBuildInputs = [
-    autoconf213
-    cargo
-    copyDesktopItems
-    gnused
-    llvmPackages.llvm
-    m4
-    nasm
-    nodejs
-    perl
-    pkg-config
-    python2
-    python3
-    rust-cbindgen
-    rustc
-    which
-    yasm
-    unzip
-  ] ++ lib.optional gtk3Support wrapGAppsHook;
-
-  buildInputs = [
-    bzip2
-    dbus
-    dbus-glib
-    file
-    fontconfig
-    freetype
-    glib
-    gtk2
-    icu
-    jemalloc
-    libGL
-    libGLU
-    libevent
-    libjpeg
-    libnotify
-    libpng
-    libstartup_notification
-    libvpx
-    libwebp
-    nspr
-    nss_3_53
-    pango
-    perl
-    sqlite
-    xorg.libX11
-    xorg.libXScrnSaver
-    xorg.libXcursor
-    xorg.libXext
-    xorg.libXft
-    xorg.libXi
-    xorg.libXrender
-    xorg.libXt
-    xorg.pixman
-    xorg.xorgproto
-    xorg.libXdamage
-    zip
-    zlib
-  ] ++ lib.optional alsaSupport alsa-lib
-    ++ lib.optional gtk3Support gtk3
-    ++ lib.optional pulseaudioSupport libpulseaudio
-    ++ lib.optionals waylandSupport [ libxkbcommon libdrm ];
-
-  NIX_CFLAGS_COMPILE =[
-    "-I${glib.dev}/include/gio-unix-2.0"
-    "-I${nss_3_53.dev}/include/nss"
-  ];
-
-  patches = [
-    ./no-buildconfig.patch
-  ];
-
-  postPatch = ''
-    rm -rf obj-x86_64-pc-linux-gnu
-  '';
-
-  hardeningDisable = [ "format" ];
-
-  preConfigure = ''
-    # remove distributed configuration files
-    rm -f configure
-    rm -f js/src/configure
-    rm -f .mozconfig*
-
-    configureScript="$(realpath ./mach) configure"
-    # AS=as in the environment causes build failure https://bugzilla.mozilla.org/show_bug.cgi?id=1497286
-    unset AS
-
-    export MOZCONFIG=$(pwd)/mozconfig
-
-    # Set C flags for Rust's bindgen program. Unlike ordinary C
-    # compilation, bindgen does not invoke $CC directly. Instead it
-    # uses LLVM's libclang. To make sure all necessary flags are
-    # included we need to look in a few places.
-    # TODO: generalize this process for other use-cases.
-
-    BINDGEN_CFLAGS="$(< ${stdenv.cc}/nix-support/libc-crt1-cflags) \
-      $(< ${stdenv.cc}/nix-support/libc-cflags) \
-      $(< ${stdenv.cc}/nix-support/cc-cflags) \
-      $(< ${stdenv.cc}/nix-support/libcxx-cxxflags) \
-      ${
-        lib.optionalString stdenv.cc.isClang
-        "-idirafter ${stdenv.cc.cc}/lib/clang/${
-          lib.getVersion stdenv.cc.cc
-        }/include"
-      } \
-      ${
-        lib.optionalString stdenv.cc.isGNU
-        "-isystem ${stdenv.cc.cc}/include/c++/${
-          lib.getVersion stdenv.cc.cc
-        } -isystem ${stdenv.cc.cc}/include/c++/${
-          lib.getVersion stdenv.cc.cc
-        }/${stdenv.hostPlatform.config}"
-      } \
-      $NIX_CFLAGS_COMPILE"
-
-    echo "ac_add_options BINDGEN_CFLAGS='$BINDGEN_CFLAGS'" >> $MOZCONFIG
-  '';
-
-  configureFlags = let
-    toolkitSlug = if gtk3Support then
-      "3${lib.optionalString waylandSupport "-wayland"}"
-    else
-      "2";
-    toolkitValue = "cairo-gtk${toolkitSlug}";
-  in [
-    "--enable-application=comm/mail"
-
-    "--with-system-icu"
-    "--with-system-jpeg"
-    "--with-system-libevent"
-    "--with-system-nspr"
-    "--with-system-nss"
-    "--with-system-png" # needs APNG support
-    "--with-system-zlib"
-    "--with-system-webp"
-    "--with-system-libvpx"
-
-    "--enable-rust-simd"
-    "--enable-crashreporter"
-    "--enable-default-toolkit=${toolkitValue}"
-    "--enable-js-shell"
-    "--enable-necko-wifi"
-    "--enable-system-ffi"
-    "--enable-system-pixman"
-
-    "--disable-tests"
-    "--disable-updater"
-    "--enable-jemalloc"
-  ] ++ (if debugBuild then [
-    "--enable-debug"
-    "--enable-profiling"
-  ] else [
-    "--disable-debug"
-    "--enable-release"
-    "--disable-debug-symbols"
-    "--enable-optimize"
-    "--enable-strip"
-  ]) ++ lib.optionals (!stdenv.hostPlatform.isi686) [
-    # on i686-linux: --with-libclang-path is not available in this configuration
-    "--with-libclang-path=${llvmPackages.libclang}/lib"
-  ] ++ lib.optionals (!stdenv.hostPlatform.isi686 && !stdenv.cc.isClang) [
-    "--with-clang-path=${llvmPackages.clang}/bin/clang"
-  ] ++ lib.optional alsaSupport "--enable-alsa"
-  ++ lib.optional calendarSupport "--enable-calendar"
-  ++ lib.optional enableOfficialBranding "--enable-official-branding"
-  ++ lib.optional pulseaudioSupport "--enable-pulseaudio";
-
-  enableParallelBuilding = true;
-
-  postConfigure = ''
-    cd obj-*
-  '';
-
-  makeFlags = lib.optionals enableOfficialBranding [
-    "MOZILLA_OFFICIAL=1"
-    "BUILD_OFFICIAL=1"
-  ];
-
-  doCheck = false;
-
-  desktopItems = [
-    (makeDesktopItem {
-      categories = lib.concatStringsSep ";" [ "Application" "Network" ];
-      desktopName = "Thunderbird";
-      genericName = "Mail Reader";
-      name = "thunderbird";
-      exec = "thunderbird %U";
-      icon = "thunderbird";
-      mimeType = lib.concatStringsSep ";" [
-        # Email
-        "x-scheme-handler/mailto"
-        "message/rfc822"
-        # Feeds
-        "x-scheme-handler/feed"
-        "application/rss+xml"
-        "application/x-extension-rss"
-        # Newsgroups
-        "x-scheme-handler/news"
-        "x-scheme-handler/snews"
-        "x-scheme-handler/nntp"
-      ];
-    })
-  ];
-
-  postInstall = ''
-    # TODO: Move to a dev output?
-    rm -rf $out/include $out/lib/thunderbird-devel-* $out/share/idl
-    install -Dm 444 $out/lib/thunderbird/chrome/icons/default/default256.png $out/share/icons/hicolor/256x256/apps/thunderbird.png
-  '';
-
-  # Note on GPG support:
-  # Thunderbird's native GPG support does not yet support smartcards.
-  # The official upstream recommendation is to configure fall back to gnupg
-  # using the Thunderbird config `mail.openpgp.allow_external_gnupg`
-  # and GPG keys set up; instructions with pictures at:
-  # https://anweshadas.in/how-to-use-yubikey-or-any-gpg-smartcard-in-thunderbird-78/
-  # For that to work out of the box, it requires `gnupg` on PATH and
-  # `gpgme` in `LD_LIBRARY_PATH`; we do this below.
-
-  preFixup = ''
-    # Needed to find Mozilla runtime
-    gappsWrapperArgs+=(
-      --argv0 "$out/bin/thunderbird"
-      --set MOZ_APP_LAUNCHER thunderbird
-      # https://github.com/NixOS/nixpkgs/pull/61980
-      --set SNAP_NAME "thunderbird"
-      --set MOZ_LEGACY_PROFILES 1
-      --set MOZ_ALLOW_DOWNGRADE 1
-      --prefix PATH : "${lib.getBin gnupg}/bin"
-      --prefix PATH : "${lib.getBin xdg-utils}/bin"
-      --prefix LD_LIBRARY_PATH : "${lib.getLib gpgme}/lib"
-    )
-  '';
-
-  # FIXME: The XUL portion of this can probably be removed as soon as we
-  # package a Thunderbird >=71.0 since XUL shouldn't be anymore (in use)?
-  postFixup = ''
-    local xul="$out/lib/thunderbird/libxul.so"
-    patchelf --set-rpath "${libnotify}/lib:${lib.getLib systemd}/lib:$(patchelf --print-rpath $xul)" $xul
-  '';
-
-  doInstallCheck = true;
-  installCheckPhase = ''
-    "$out/bin/thunderbird" --version
-  '';
-
-  disallowedRequisites = [
-    stdenv.cc
-  ];
-
-  passthru.updateScript = import ./../../browsers/firefox/update.nix {
-    attrPath = "thunderbird-78";
-    baseUrl = "http://archive.mozilla.org/pub/thunderbird/releases/";
-    inherit writeScript lib common-updater-scripts xidel coreutils gnused
-      gnugrep gnupg curl runtimeShell;
-  };
-
-  requiredSystemFeatures = [ "big-parallel" ];
-
-  meta = with lib; {
-    description = "A full-featured e-mail client";
-    homepage = "https://www.thunderbird.net";
-    maintainers = with maintainers; [
-      eelco
-      lovesegfault
-      pierron
-      vcunat
-    ];
-    platforms = platforms.linux;
-    license = licenses.mpl20;
-  };
-}
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/no-buildconfig-78.patch b/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/no-buildconfig-78.patch
new file mode 100644
index 000000000000..98b40d83d62b
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/no-buildconfig-78.patch
@@ -0,0 +1,13 @@
+Remove about:buildconfig.  If used as-is, it would add unnecessary runtime dependencies.
+--- a/comm/mail/base/jar.mn
++++ b/comm/mail/base/jar.mn
+@@ -119,9 +119,7 @@
+ % override chrome://mozapps/content/profile/profileDowngrade.js chrome://messenger/content/profileDowngrade.js
+ % override chrome://mozapps/content/profile/profileDowngrade.xhtml chrome://messenger/content/profileDowngrade.xhtml
+ 
+-*   content/messenger/buildconfig.html              (content/buildconfig.html)
+     content/messenger/buildconfig.css               (content/buildconfig.css)
+-% override chrome://global/content/buildconfig.html chrome://messenger/content/buildconfig.html
+ % override chrome://global/content/buildconfig.css chrome://messenger/content/buildconfig.css
+ 
+ # L10n resources and overrides.
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/no-buildconfig-90.patch b/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/no-buildconfig-90.patch
new file mode 100644
index 000000000000..c4e29f6355cf
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/no-buildconfig-90.patch
@@ -0,0 +1,13 @@
+Remove about:buildconfig.  If used as-is, it would add unnecessary runtime dependencies.
+--- a/comm/mail/base/jar.mn
++++ b/comm/mail/base/jar.mn
+@@ -119,9 +119,6 @@ messenger.jar:
+ % override chrome://mozapps/content/profile/profileDowngrade.js chrome://messenger/content/profileDowngrade.js
+ % override chrome://mozapps/content/profile/profileDowngrade.xhtml chrome://messenger/content/profileDowngrade.xhtml
+ 
+-*   content/messenger/buildconfig.html              (content/buildconfig.html)
+-% override chrome://global/content/buildconfig.html chrome://messenger/content/buildconfig.html
+-
+ # L10n resources and overrides.
+ % override chrome://mozapps/locale/profile/profileDowngrade.dtd chrome://messenger/locale/profileDowngrade.dtd
+ % override chrome://global/locale/netError.dtd chrome://messenger/locale/netError.dtd
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/no-buildconfig.patch b/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/no-buildconfig.patch
deleted file mode 100644
index d413a06475d7..000000000000
--- a/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/no-buildconfig.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-Remove about:buildconfig.  If used as-is, it would add unnecessary runtime dependencies.
-diff -ru -x '*~' a/docshell/base/nsAboutRedirector.cpp b/docshell/base/nsAboutRedirector.cpp
---- a/docshell/base/nsAboutRedirector.cpp
-+++ b/docshell/base/nsAboutRedirector.cpp
-@@ -63,8 +63,6 @@
-     {"about", "chrome://global/content/aboutAbout.html", 0},
-     {"addons", "chrome://mozapps/content/extensions/extensions.xhtml",
-      nsIAboutModule::ALLOW_SCRIPT},
--    {"buildconfig", "chrome://global/content/buildconfig.html",
--     nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT},
-     {"checkerboard", "chrome://global/content/aboutCheckerboard.html",
-      nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
-          nsIAboutModule::ALLOW_SCRIPT},
-diff -ru -x '*~' a/toolkit/content/jar.mn b/toolkit/content/jar.mn
---- a/toolkit/content/jar.mn
-+++ b/toolkit/content/jar.mn
-@@ -35,7 +35,6 @@
-    content/global/plugins.js
-    content/global/browser-child.js
-    content/global/browser-content.js
--*   content/global/buildconfig.html
-    content/global/buildconfig.css
-    content/global/contentAreaUtils.js
-    content/global/datepicker.xhtml
-diff -ru -x '*~' a/comm/mail/base/jar.mn b/comm/mail/base/jar.mn
---- a/comm/mail/base/jar.mn
-+++ b/comm/mail/base/jar.mn
-@@ -119,9 +119,7 @@
- % override chrome://mozapps/content/profile/profileDowngrade.js chrome://messenger/content/profileDowngrade.js
- % override chrome://mozapps/content/profile/profileDowngrade.xhtml chrome://messenger/content/profileDowngrade.xhtml
- 
--*   content/messenger/buildconfig.html              (content/buildconfig.html)
-     content/messenger/buildconfig.css               (content/buildconfig.css)
--% override chrome://global/content/buildconfig.html chrome://messenger/content/buildconfig.html
- % override chrome://global/content/buildconfig.css chrome://messenger/content/buildconfig.css
- 
- # L10n resources and overrides.
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/packages.nix b/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/packages.nix
new file mode 100644
index 000000000000..1740eebf6e3f
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/packages.nix
@@ -0,0 +1,72 @@
+{ stdenv, lib, callPackage, fetchurl, fetchpatch, nixosTests }:
+
+let
+  common = opts: callPackage (import ../../browsers/firefox/common.nix opts) {
+    webrtcSupport = false;
+    geolocationSupport = false;
+  };
+in
+
+rec {
+  thunderbird = common rec {
+    pname = "thunderbird";
+    version = "91.0.3";
+    application = "comm/mail";
+    binaryName = pname;
+    src = fetchurl {
+      url = "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz";
+      sha512 = "1c7b4c11066ab64ee1baa9f07bc6bd4478c2ece0bcf8ac381c2f0774582bb781b8151b54326cd38742d039c5de718022649d804dfceaf142863249b1edb68e1e";
+    };
+    patches = [
+      ./no-buildconfig-90.patch
+
+      # There is a bug in Thunderbird 91 where add-ons are required
+      # to be signed when the build is run with default settings.
+      # https://bugzilla.mozilla.org/show_bug.cgi?id=1727113
+      # https://phabricator.services.mozilla.com/D124361
+      ./D124361.diff
+    ];
+
+    meta = with lib; {
+      description = "A full-featured e-mail client";
+      homepage = "https://thunderbird.net/";
+      maintainers = with maintainers; [ eelco lovesegfault pierron vcunat ];
+      platforms = platforms.unix;
+      badPlatforms = platforms.darwin;
+      broken = stdenv.buildPlatform.is32bit; # since Firefox 60, build on 32-bit platforms fails with "out of memory".
+                                             # not in `badPlatforms` because cross-compilation on 64-bit machine might work.
+      license = licenses.mpl20;
+    };
+    updateScript = callPackage ./update.nix {
+      attrPath = "thunderbird-unwrapped";
+    };
+  };
+
+  thunderbird-78 = common rec {
+    pname = "thunderbird";
+    version = "78.13.0";
+    application = "comm/mail";
+    binaryName = pname;
+    src = fetchurl {
+      url = "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz";
+      sha512 = "daee9ea9e57bdfce231a35029807f279a06f8790d71efc8998c78eb42d99a93cf98623170947df99202da038f949ba9111a7ff7adbd43c161794deb6791370a0";
+    };
+    patches = [
+      ./no-buildconfig-78.patch
+    ];
+
+    meta = with lib; {
+      description = "A full-featured e-mail client";
+      homepage = "https://thunderbird.net/";
+      maintainers = with maintainers; [ eelco lovesegfault pierron vcunat ];
+      platforms = platforms.unix;
+      badPlatforms = platforms.darwin;
+      broken = stdenv.buildPlatform.is32bit; # since Firefox 60, build on 32-bit platforms fails with "out of memory".
+                                             # not in `badPlatforms` because cross-compilation on 64-bit machine might work.
+      license = licenses.mpl20;
+    };
+    updateScript = callPackage ./update.nix {
+      attrPath = "thunderbird-78-unwrapped";
+    };
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/update.nix b/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/update.nix
new file mode 100644
index 000000000000..d6f1a007faa4
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/update.nix
@@ -0,0 +1,7 @@
+{ callPackage
+, ...
+}@args:
+
+callPackage ../../browsers/firefox/update.nix ({
+  baseUrl = "http://archive.mozilla.org/pub/thunderbird/releases/";
+} // (builtins.removeAttrs args ["callPackage"]))
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/wrapper.nix b/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/wrapper.nix
new file mode 100644
index 000000000000..0761232cc519
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/wrapper.nix
@@ -0,0 +1,23 @@
+{ lib, wrapFirefox, gpgme, gnupg }:
+
+browser:
+args:
+
+(wrapFirefox browser ({
+  libName = "thunderbird";
+} // args))
+
+.overrideAttrs (old: {
+  # Thunderbird's native GPG support does not yet support smartcards.
+  # The official upstream recommendation is to configure fall back to gnupg
+  # using the Thunderbird config `mail.openpgp.allow_external_gnupg`
+  # and GPG keys set up; instructions with pictures at:
+  # https://anweshadas.in/how-to-use-yubikey-or-any-gpg-smartcard-in-thunderbird-78/
+  # For that to work out of the box, it requires `gnupg` on PATH and
+  # `gpgme` in `LD_LIBRARY_PATH`; we do this below.
+  buildCommand = old.buildCommand + ''
+    wrapProgram $out/bin/thunderbird \
+      --prefix LD_LIBRARY_PATH ':' "${lib.makeLibraryPath [ gpgme ]}" \
+      --prefix PATH ':' "${lib.makeBinPath [ gnupg ]}"
+  '';
+})
diff --git a/nixpkgs/pkgs/applications/networking/mumble/default.nix b/nixpkgs/pkgs/applications/networking/mumble/default.nix
index d93fea1f702a..c7500d903288 100644
--- a/nixpkgs/pkgs/applications/networking/mumble/default.nix
+++ b/nixpkgs/pkgs/applications/networking/mumble/default.nix
@@ -104,7 +104,7 @@ let
   server = source: generic {
     type = "murmur";
 
-    postPatch = lib.optional iceSupport ''
+    postPatch = lib.optionalString iceSupport ''
       grep -Rl '/usr/share/Ice' . | xargs sed -i 's,/usr/share/Ice/,${zeroc-ice.dev}/share/ice/,g'
     '';
 
diff --git a/nixpkgs/pkgs/applications/networking/mumble/overlay.nix b/nixpkgs/pkgs/applications/networking/mumble/overlay.nix
index bc960ac12d4b..f9a716cecb55 100644
--- a/nixpkgs/pkgs/applications/networking/mumble/overlay.nix
+++ b/nixpkgs/pkgs/applications/networking/mumble/overlay.nix
@@ -4,12 +4,11 @@
 let
   binPath = lib.makeBinPath [ which file ];
 in stdenv.mkDerivation {
-  name = "mumble-overlay-${mumble.version}";
+  pname = "mumble-overlay";
+  version = mumble.version;
 
   inherit (mumble) src;
 
-  phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
-
   installPhase = ''
     mkdir -p $out/lib
     ln -s ${mumble}/lib/libmumble.so.1 $out/lib/
diff --git a/nixpkgs/pkgs/applications/networking/nextcloud-client/default.nix b/nixpkgs/pkgs/applications/networking/nextcloud-client/default.nix
index cba8dd820b4a..53168307ea7a 100644
--- a/nixpkgs/pkgs/applications/networking/nextcloud-client/default.nix
+++ b/nixpkgs/pkgs/applications/networking/nextcloud-client/default.nix
@@ -21,13 +21,13 @@
 
 mkDerivation rec {
   pname = "nextcloud-client";
-  version = "3.2.4";
+  version = "3.3.2";
 
   src = fetchFromGitHub {
     owner = "nextcloud";
     repo = "desktop";
     rev = "v${version}";
-    sha256 = "sha256-+APRR3Qj8jdDG2wc4hXFF40aTeoLGAXlsCsB4zKDI3Q=";
+    sha256 = "sha256-sqoOppq0QdLcA2IFZYnixMNnFWb3x83tqTp6hqqVU14=";
   };
 
   patches = [
@@ -70,7 +70,7 @@ mkDerivation rec {
     description = "Nextcloud themed desktop client";
     homepage = "https://nextcloud.com";
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ caugner ];
+    maintainers = with maintainers; [ caugner kranzes ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/nextdns/default.nix b/nixpkgs/pkgs/applications/networking/nextdns/default.nix
index a27f1fdad257..4c0f9c1a0fb3 100644
--- a/nixpkgs/pkgs/applications/networking/nextdns/default.nix
+++ b/nixpkgs/pkgs/applications/networking/nextdns/default.nix
@@ -2,20 +2,20 @@
 
 buildGoModule rec {
   pname = "nextdns";
-  version = "1.11.0";
+  version = "1.36.0";
 
   src = fetchFromGitHub {
     owner = "nextdns";
     repo = "nextdns";
     rev = "v${version}";
-    sha256 = "sha256-gnWFgzfMMnn8O7zDN5LW3cMIz5/wmgEW9fI9aJBEah8=";
+    sha256 = "sha256-aYWnopMRN0CDFpiWymhFT+f7vbKaP2HpjekVIr2rsME=";
   };
 
-  vendorSha256 = "sha256-kmszMqkDMaL+Z6GcZmQyeRShKKS/VGdn9vabYPW/kCc=";
+  vendorSha256 = "sha256-YZm+DUrH+1xdJrGjmlajbcsnqVODVbZKivVjmqZ2e48=";
 
   doCheck = false;
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
+  ldflags = [ "-s" "-w" "-X main.version=${version}" ];
 
   meta = with lib; {
     description = "NextDNS DNS/53 to DoH Proxy";
diff --git a/nixpkgs/pkgs/applications/networking/offrss/default.nix b/nixpkgs/pkgs/applications/networking/offrss/default.nix
index a6816d042e05..19dba8d5fae7 100644
--- a/nixpkgs/pkgs/applications/networking/offrss/default.nix
+++ b/nixpkgs/pkgs/applications/networking/offrss/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchurl, curl, libmrss, podofo, libiconv }:
 
-stdenv.mkDerivation {
-  name = "offrss-1.3";
+stdenv.mkDerivation rec {
+  pname = "offrss";
+  version = "1.3";
 
   installPhase = ''
     mkdir -p $out/bin
@@ -22,7 +23,7 @@ stdenv.mkDerivation {
   '';
 
   src = fetchurl {
-    url = "http://vicerveza.homeunix.net/~viric/soft/offrss/offrss-1.3.tar.gz";
+    url = "http://vicerveza.homeunix.net/~viric/soft/offrss/offrss-${version}.tar.gz";
     sha256 = "1akw1x84jj2m9z60cvlvmz21qwlaywmw18pl7lgp3bj5nw6250p6";
   };
 
diff --git a/nixpkgs/pkgs/applications/networking/onionshare/default.nix b/nixpkgs/pkgs/applications/networking/onionshare/default.nix
index 529b871d20c8..f80fb3a73953 100644
--- a/nixpkgs/pkgs/applications/networking/onionshare/default.nix
+++ b/nixpkgs/pkgs/applications/networking/onionshare/default.nix
@@ -23,12 +23,12 @@
 }:
 
 let
-  version = "2.3.2";
+  version = "2.3.3";
   src = fetchFromGitHub {
     owner = "micahflee";
     repo = "onionshare";
     rev = "v${version}";
-    sha256 = "sha256-mzLDvvpO82iGDnzY42wx1KCNmAxUgVhpaDVprtb+YOI=";
+    sha256 = "sha256-wU2020RNXlwJ2y9uzcLxIX4EECev1Z9YvNyiBalLj/Y=";
   };
   meta = with lib; {
     description = "Securely and anonymously send and receive files";
@@ -94,6 +94,11 @@ in rec {
       # Tests use the home directory
       export HOME="$(mktemp -d)"
     '';
+
+    disabledTests = [
+      "test_firefox_like_behavior"
+      "test_if_unmodified_since"
+    ];
   };
 
   onionshare-gui = buildPythonApplication {
diff --git a/nixpkgs/pkgs/applications/networking/opsdroid/default.nix b/nixpkgs/pkgs/applications/networking/opsdroid/default.nix
index c007144ac48e..ddf06a784f1f 100644
--- a/nixpkgs/pkgs/applications/networking/opsdroid/default.nix
+++ b/nixpkgs/pkgs/applications/networking/opsdroid/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonPackage rec {
   pname = "opsdroid";
-  version = "0.22.0";
+  version = "0.23.0";
 
   src = fetchFromGitHub {
     owner = "opsdroid";
     repo = "opsdroid";
     rev = "v${version}";
-    sha256 = "003gpzdjfz2jrwx2bkkd1k2mr7yjpaw5s7fy5l0hw72f9zimznd0";
+    sha256 = "1p1x7jbp0jx8anfwvavyn3x8i1vfhmbzyzrm014n26v5y39gabj1";
   };
 
   disabled = !python3Packages.isPy3k;
diff --git a/nixpkgs/pkgs/applications/networking/p2p/deluge/1.nix b/nixpkgs/pkgs/applications/networking/p2p/deluge/1.nix
deleted file mode 100644
index 4171efb7ce29..000000000000
--- a/nixpkgs/pkgs/applications/networking/p2p/deluge/1.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{ lib, stdenv, fetchurl, fetchpatch, intltool, libtorrent-rasterbar, pythonPackages }:
-
-pythonPackages.buildPythonPackage rec {
-  pname = "deluge";
-  version = "1.3.15";
-
-  src = fetchurl {
-    url = "http://download.deluge-torrent.org/source/${pname}-${version}.tar.bz2";
-    sha256 = "1467b9hmgw59gf398mhbf40ggaka948yz3afh6022v753c9j7y6w";
-  };
-
-  patches = [
-    # Fix preferences when built against libtorrent >=0.16
-    (fetchpatch {
-      url = "https://git.deluge-torrent.org/deluge/patch/?id=38d7b7cdfde3c50d6263602ffb03af92fcbfa52e";
-      sha256 = "0la3i0lkj6yv4725h4kbd07mhfwcb34w7prjl9gxg12q7px6c31d";
-    })
-  ];
-
-  propagatedBuildInputs = with pythonPackages; [
-    pyGtkGlade twisted Mako chardet pyxdg pyopenssl service-identity
-    libtorrent-rasterbar.dev libtorrent-rasterbar.python setuptools
-  ];
-
-  nativeBuildInputs = [ intltool ];
-
-  postInstall = ''
-     mkdir -p $out/share/applications
-     cp -R deluge/data/pixmaps $out/share/
-     cp -R deluge/data/icons $out/share/
-     cp deluge/data/share/applications/deluge.desktop $out/share/applications
-  '';
-
-  meta = with lib; {
-    homepage = "https://deluge-torrent.org";
-    description = "Torrent client";
-    license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ domenkozar ebzzry ];
-    broken = stdenv.isDarwin;
-    platforms = platforms.all;
-  };
-}
diff --git a/nixpkgs/pkgs/applications/networking/p2p/freenet/default.nix b/nixpkgs/pkgs/applications/networking/p2p/freenet/default.nix
index 83cc191f1b30..cfb228514cb7 100644
--- a/nixpkgs/pkgs/applications/networking/p2p/freenet/default.nix
+++ b/nixpkgs/pkgs/applications/networking/p2p/freenet/default.nix
@@ -61,7 +61,7 @@ in stdenv.mkDerivation {
 
   jars = freenet-jars;
 
-  phases = [ "installPhase" ];
+  dontUnpack = true;
 
   installPhase = ''
     mkdir -p $out/bin
diff --git a/nixpkgs/pkgs/applications/networking/p2p/frostwire/frostwire-bin.nix b/nixpkgs/pkgs/applications/networking/p2p/frostwire/frostwire-bin.nix
index 2991550defcd..0f7a806ed8f1 100644
--- a/nixpkgs/pkgs/applications/networking/p2p/frostwire/frostwire-bin.nix
+++ b/nixpkgs/pkgs/applications/networking/p2p/frostwire/frostwire-bin.nix
@@ -1,14 +1,12 @@
 { lib, stdenv, fetchurl, jre, makeWrapper }:
 
-with lib;
-
 stdenv.mkDerivation rec {
-  version = "6.8.9";
+  version = "6.9.4";
   pname = "frostwire";
 
   src = fetchurl {
     url = "https://dl.frostwire.com/frostwire/${version}/frostwire-${version}.amd64.tar.gz";
-    sha256 = "0f5vyliwncryj6hj5xx0dycxycxddsn28n6zixjrn56jajijyl6q";
+    sha256 = "sha256-sWvQDUJGytKA9/UbC7fOk6WhDtTqdhyRmW9GvHFMZh4=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/applications/networking/p2p/gnunet/default.nix b/nixpkgs/pkgs/applications/networking/p2p/gnunet/default.nix
index c1ba42a5e6d3..fb1abae6bf3c 100644
--- a/nixpkgs/pkgs/applications/networking/p2p/gnunet/default.nix
+++ b/nixpkgs/pkgs/applications/networking/p2p/gnunet/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnunet";
-  version = "0.14.1";
+  version = "0.15.0";
 
   src = fetchurl {
     url = "mirror://gnu/gnunet/${pname}-${version}.tar.gz";
-    sha256 = "1hhqv994akymf4s593mc1wpsjy6hccd0zbdim3qmc1y3f32hacja";
+    sha256 = "sha256-zKI9b7QIkKXrLMrkuPfnTI5OhNP8ovQZ13XLSljdmmc=";
   };
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/applications/networking/p2p/opentracker/default.nix b/nixpkgs/pkgs/applications/networking/p2p/opentracker/default.nix
index f08e5c42e1d7..ac0aeba97215 100644
--- a/nixpkgs/pkgs/applications/networking/p2p/opentracker/default.nix
+++ b/nixpkgs/pkgs/applications/networking/p2p/opentracker/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchgit, libowfat, zlib, nixosTests }:
 
 stdenv.mkDerivation {
-  name = "opentracker-2018-05-26";
+  pname = "opentracker";
+  version = "unstable-2018-05-26";
 
   src = fetchgit {
     url = "https://erdgeist.org/gitweb/opentracker";
diff --git a/nixpkgs/pkgs/applications/networking/p2p/tremc/default.nix b/nixpkgs/pkgs/applications/networking/p2p/tremc/default.nix
index dfbe66ac8562..3518c86790b7 100644
--- a/nixpkgs/pkgs/applications/networking/p2p/tremc/default.nix
+++ b/nixpkgs/pkgs/applications/networking/p2p/tremc/default.nix
@@ -32,7 +32,8 @@ python3Packages.buildPythonApplication rec {
   ] ++
   lib.optional useGeoIP GeoIP;
 
-  phases = [ "unpackPhase" "installPhase" ];
+  dontBuild = true;
+  doCheck = false;
 
   makeWrapperArgs = ["--prefix PATH : ${wrapperPath}"];
 
diff --git a/nixpkgs/pkgs/applications/networking/pcloud/default.nix b/nixpkgs/pkgs/applications/networking/pcloud/default.nix
index e1936bf06a7f..b2eb18bd7b1a 100644
--- a/nixpkgs/pkgs/applications/networking/pcloud/default.nix
+++ b/nixpkgs/pkgs/applications/networking/pcloud/default.nix
@@ -15,29 +15,28 @@
 # ^1 https://github.com/NixOS/nixpkgs/issues/69338
 
 {
-  # Build dependencies
-  appimageTools, autoPatchelfHook, fetchzip, lib, stdenv,
+ # Build dependencies
+ appimageTools, autoPatchelfHook, fetchzip, lib, stdenv
 
-  # Runtime dependencies;
-  # A few additional ones (e.g. Node) are already shipped together with the
-  # AppImage, so we don't have to duplicate them here.
-  alsa-lib, dbus-glib, fuse, gnome, gtk3, libdbusmenu-gtk2, libXdamage, nss, udev
+ # Runtime dependencies;
+ # A few additional ones (e.g. Node) are already shipped together with the
+ # AppImage, so we don't have to duplicate them here.
+, alsa-lib, dbus-glib, fuse, gnome, gsettings-desktop-schemas, gtk3, libdbusmenu-gtk2, libXdamage, nss, udev
 }:
 
 let
   pname = "pcloud";
-  version = "1.9.3";
-  code = "XZh0QTXZIYkI66plpzLAJ4G2mwDvJFvKvEzy";
-  name = "${pname}-${version}";
+  version = "1.9.5";
+  code = "XZy4VwXZjkvoMGM3x6kCTkIGLFYVKjqKbefX";
 
   # Archive link's code thanks to: https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=pcloud-drive
   src = fetchzip {
-    url = "https://api.pcloud.com/getpubzip?code=${code}&filename=${name}.zip";
-    hash = "sha256-NFbSYZRysRIg6q0aaDocpK7xJbiCWc1S0McXKlCRGjU=";
+    url = "https://api.pcloud.com/getpubzip?code=${code}&filename=${pname}-${version}.zip";
+    hash = "sha256-GuO4wsSRT6WMlqYs2X+5oA7CykHb/NmhZ7UGA1FA6y4=";
   };
 
   appimageContents = appimageTools.extractType2 {
-    inherit name;
+    name = "${pname}-${version}";
     src = "${src}/pcloud";
   };
 
@@ -94,7 +93,7 @@ in stdenv.mkDerivation {
 
     # This is required for the file picker dialog - otherwise pcloud just
     # crashes
-    export XDG_DATA_DIRS="${gnome.gsettings-desktop-schemas}/share/gsettings-schemas/${gnome.gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS"
+    export XDG_DATA_DIRS="${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS"
 
     exec "$out/app/pcloud"
     EOF
diff --git a/nixpkgs/pkgs/applications/networking/powerdns-admin/yarndeps.nix b/nixpkgs/pkgs/applications/networking/powerdns-admin/yarndeps.nix
index ce65d28c0087..02d9eb0046e3 100644
--- a/nixpkgs/pkgs/applications/networking/powerdns-admin/yarndeps.nix
+++ b/nixpkgs/pkgs/applications/networking/powerdns-admin/yarndeps.nix
@@ -1,4 +1,4 @@
-{ fetchurl, fetchgit, linkFarm, runCommandNoCC, gnutar }: rec {
+{ fetchurl, fetchgit, linkFarm, runCommand, gnutar }: rec {
   offline_cache = linkFarm "offline" packages;
   packages = [
     {
diff --git a/nixpkgs/pkgs/applications/networking/protonmail-bridge/default.nix b/nixpkgs/pkgs/applications/networking/protonmail-bridge/default.nix
index 618234e6ff91..c15720ffc380 100644
--- a/nixpkgs/pkgs/applications/networking/protonmail-bridge/default.nix
+++ b/nixpkgs/pkgs/applications/networking/protonmail-bridge/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "protonmail-bridge";
-  version = "1.6.9";
+  version = "1.8.7";
 
   src = fetchFromGitHub {
     owner = "ProtonMail";
     repo = "proton-bridge";
     rev = "br-${version}";
-    sha256 = "0p2315smxc5knxzr9413w62z65647znh9j9vyb6w5x4dqfp7vhz9";
+    sha256 = "sha256-bynPuAdeX4WxYdbjMkR9ANuYWYOINB0OHnKTmIrCB6E=";
   };
 
-  vendorSha256 = "04aa7syp5hhpqxdpqlsmmbwywnbrh4ia0diym2935jbrqccnvm1k";
+  vendorSha256 = "sha256-g2vl1Ctxr2U+D/k9u9oXuZ1OWaABIJs0gmfhWh13ZFM=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/nixpkgs/pkgs/applications/networking/remote/citrix-workspace/generic.nix b/nixpkgs/pkgs/applications/networking/remote/citrix-workspace/generic.nix
index 506f129d3596..8159ae251672 100644
--- a/nixpkgs/pkgs/applications/networking/remote/citrix-workspace/generic.nix
+++ b/nixpkgs/pkgs/applications/networking/remote/citrix-workspace/generic.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, requireFile, makeWrapper, autoPatchelfHook, wrapGAppsHook, which, more
-, file, atk, alsa-lib, cairo, fontconfig, gdk-pixbuf, glib, gnome, gtk2-x11, gtk3
+, file, atk, alsa-lib, cairo, fontconfig, gdk-pixbuf, glib, webkitgtk, gtk2-x11, gtk3
 , heimdal, krb5, libsoup, libvorbis, speex, openssl, zlib, xorg, pango, gtk2
 , gnome2, mesa, nss, nspr, gtk_engines, freetype, dconf, libpng12, libxml2
 , libjpeg, libredirect, tzdata, cacert, systemd, libcxxabi, libcxx, e2fsprogs, symlinkJoin
@@ -70,7 +70,7 @@ stdenv.mkDerivation rec {
     freetype
     gdk-pixbuf
     gnome2.gtkglext
-    gnome.webkitgtk
+    webkitgtk
     gtk2
     gtk2-x11
     gtk3
diff --git a/nixpkgs/pkgs/applications/networking/remote/freerdp/default.nix b/nixpkgs/pkgs/applications/networking/remote/freerdp/default.nix
index 942090f2bdf0..0f76bced878a 100644
--- a/nixpkgs/pkgs/applications/networking/remote/freerdp/default.nix
+++ b/nixpkgs/pkgs/applications/networking/remote/freerdp/default.nix
@@ -18,13 +18,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "freerdp";
-  version = "2.3.2";
+  version = "2.4.0";
 
   src = fetchFromGitHub {
     owner = "FreeRDP";
     repo = "FreeRDP";
     rev = version;
-    sha256 = "sha256-qqpdMBDcVfXm/KB54zv23O8raGqBhAKqXo6Kj2VaI8w=";
+    sha256 = "sha256-o+9twuyH9keWJriCSNkR63+xZuuOmPjoWg+Jp616CsQ=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/applications/networking/remote/putty/default.nix b/nixpkgs/pkgs/applications/networking/remote/putty/default.nix
index aab30c24e207..6249cce973ef 100644
--- a/nixpkgs/pkgs/applications/networking/remote/putty/default.nix
+++ b/nixpkgs/pkgs/applications/networking/remote/putty/default.nix
@@ -3,7 +3,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "0.75";
+  version = "0.76";
   pname = "putty";
 
   src = fetchurl {
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
       "https://the.earth.li/~sgtatham/putty/${version}/${pname}-${version}.tar.gz"
       "ftp://ftp.wayne.edu/putty/putty-website-mirror/${version}/${pname}-${version}.tar.gz"
     ];
-    sha256 = "1xgrr1fbirw79zafspg2b6crzfmlfw910y79md4r7gnxgq1kn5yk";
+    sha256 = "0gvi8phabszqksj2by5jrjmshm7bpirhgavz0dqyz1xaimxdjz2l";
   };
 
   # glib-2.62 deprecations
diff --git a/nixpkgs/pkgs/applications/networking/remote/x2goclient/default.nix b/nixpkgs/pkgs/applications/networking/remote/x2goclient/default.nix
index d40d8032c294..dfed1f590758 100644
--- a/nixpkgs/pkgs/applications/networking/remote/x2goclient/default.nix
+++ b/nixpkgs/pkgs/applications/networking/remote/x2goclient/default.nix
@@ -24,8 +24,6 @@ mkDerivation rec {
 
   makeFlags = [ "PREFIX=$(out)" "ETCDIR=$(out)/etc" "build_client" "build_man" ];
 
-  enableParallelBuilding = true;
-
   installTargets = [ "install_client" "install_man" ];
 
   qtWrapperArgs = [ "--suffix PATH : ${nx-libs}/bin:${openssh}/libexec" ];
diff --git a/nixpkgs/pkgs/applications/networking/seaweedfs/default.nix b/nixpkgs/pkgs/applications/networking/seaweedfs/default.nix
index 36518db09917..40cf26962a17 100644
--- a/nixpkgs/pkgs/applications/networking/seaweedfs/default.nix
+++ b/nixpkgs/pkgs/applications/networking/seaweedfs/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "seaweedfs";
-  version = "2.56";
+  version = "2.63";
 
   src = fetchFromGitHub {
     owner = "chrislusf";
     repo = "seaweedfs";
     rev = version;
-    sha256 = "1y9abk2i0qk5c00dnw8wvasy7dmmy6az8d1cf9bq0dwh8g8kylbn";
+    sha256 = "sha256-sC7BUbI4BcNp7XqNtgxHuzvksyVFP+gXHxldQPy/7UU=";
   };
 
-  vendorSha256 = "015qvd0h786z1iwv81i107z92mqhzldp1hkcsp75wzf4j7nmzxvf";
+  vendorSha256 = "sha256-PEMc2NUiGKaolVGwviNRvtpVyhypWsJlNWZ0ysjy+YE=";
 
   subPackages = [ "weed" ];
 
diff --git a/nixpkgs/pkgs/applications/networking/shellhub-agent/default.nix b/nixpkgs/pkgs/applications/networking/shellhub-agent/default.nix
index aa5175fca9ed..ae2dee21fb26 100644
--- a/nixpkgs/pkgs/applications/networking/shellhub-agent/default.nix
+++ b/nixpkgs/pkgs/applications/networking/shellhub-agent/default.nix
@@ -22,7 +22,7 @@ buildGoModule rec {
 
   vendorSha256 = "18z3vwcwkyj6hcvl35qmj034237h9l18dvcbx1hxry7qdwv807c9";
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.AgentVersion=v${version}" ];
+  ldflags = [ "-s" "-w" "-X main.AgentVersion=v${version}" ];
 
   passthru = {
     updateScript = genericUpdater {
diff --git a/nixpkgs/pkgs/applications/networking/sieve-connect/default.nix b/nixpkgs/pkgs/applications/networking/sieve-connect/default.nix
index d4866d9f1a41..d752dab1567e 100644
--- a/nixpkgs/pkgs/applications/networking/sieve-connect/default.nix
+++ b/nixpkgs/pkgs/applications/networking/sieve-connect/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, makeWrapper, perlPackages }:
+{ lib, stdenv, fetchFromGitHub, makeWrapper, perlPackages, installShellFiles }:
 
 stdenv.mkDerivation rec {
   pname = "sieve-connect";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ perlPackages.perl ];
-  nativeBuildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper installShellFiles ];
 
   preBuild = ''
     # Fixes failing build when not building in git repo
@@ -25,9 +25,9 @@ stdenv.mkDerivation rec {
   buildFlags = [ "PERL5LIB=${perlPackages.makePerlPath [ perlPackages.FileSlurp ]}" "bin" "man" ];
 
   installPhase = ''
-    mkdir -p $out/bin $out/share/man/man1
+    mkdir -p $out/bin
     install -m 755 sieve-connect $out/bin
-    gzip -c sieve-connect.1 > $out/share/man/man1/sieve-connect.1.gz
+    installManPage sieve-connect.1
 
     wrapProgram $out/bin/sieve-connect \
       --prefix PERL5LIB : "${with perlPackages; makePerlPath [
diff --git a/nixpkgs/pkgs/applications/networking/siproxd/default.nix b/nixpkgs/pkgs/applications/networking/siproxd/default.nix
index 2a91eb35d80e..742e6eab8580 100644
--- a/nixpkgs/pkgs/applications/networking/siproxd/default.nix
+++ b/nixpkgs/pkgs/applications/networking/siproxd/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, libosip }:
 
 stdenv.mkDerivation rec {
-  name = "siproxd-0.8.2";
+  pname = "siproxd";
+  version = "0.8.2";
 
   src = fetchurl {
-    url = "mirror://sourceforge/siproxd/${name}.tar.gz";
+    url = "mirror://sourceforge/siproxd/siproxd-${version}.tar.gz";
     sha256 = "1l6cyxxhra825jiiw9npa7jrbfgbyfpk4966cqkrw66cn28y8v2j";
   };
 
diff --git a/nixpkgs/pkgs/applications/networking/sniffers/etherape/default.nix b/nixpkgs/pkgs/applications/networking/sniffers/etherape/default.nix
index db54231ecf2b..067175bdb480 100644
--- a/nixpkgs/pkgs/applications/networking/sniffers/etherape/default.nix
+++ b/nixpkgs/pkgs/applications/networking/sniffers/etherape/default.nix
@@ -2,9 +2,10 @@
 popt, itstool, libxml2 }:
 
 stdenv.mkDerivation rec {
-  name = "etherape-0.9.20";
+  pname = "etherape";
+  version = "0.9.20";
   src = fetchurl {
-    url = "mirror://sourceforge/etherape/${name}.tar.gz";
+    url = "mirror://sourceforge/etherape/etherape-${version}.tar.gz";
     sha256 = "sha256-9UsQtWOXB1yYofGS4rMIF+ISWBsJKd0DBOFfqOr1n5Y=";
   };
 
diff --git a/nixpkgs/pkgs/applications/networking/sniffers/sngrep/default.nix b/nixpkgs/pkgs/applications/networking/sniffers/sngrep/default.nix
index b7a17896ec33..ac6e3bc3a018 100644
--- a/nixpkgs/pkgs/applications/networking/sniffers/sngrep/default.nix
+++ b/nixpkgs/pkgs/applications/networking/sniffers/sngrep/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sngrep";
-  version = "1.4.8";
+  version = "1.4.9";
 
   src = fetchFromGitHub {
     owner = "irontec";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0lnwsw9x4y4lr1yh749y24f71p5zsghwh5lp28zqfanw025mipf2";
+    sha256 = "sha256-92wPRDFSoIOYFv3XKdsuYH8j3D8kXyg++q6VpIIMGDg=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/applications/networking/sniffers/wireshark/default.nix b/nixpkgs/pkgs/applications/networking/sniffers/wireshark/default.nix
index d9bc78bb2fe1..4e57bfe4b17e 100644
--- a/nixpkgs/pkgs/applications/networking/sniffers/wireshark/default.nix
+++ b/nixpkgs/pkgs/applications/networking/sniffers/wireshark/default.nix
@@ -10,7 +10,7 @@ assert withQt  -> qt5  != null;
 with lib;
 
 let
-  version = "3.4.7";
+  version = "3.4.8";
   variant = if withQt then "qt" else "cli";
 
 in stdenv.mkDerivation {
@@ -20,7 +20,7 @@ in stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://www.wireshark.org/download/src/all-versions/wireshark-${version}.tar.xz";
-    sha256 = "17d00kl0s010wg2dfhy7sdbr2qm54lsi317fmbcvjz4rxx8ywk3c";
+    sha256 = "09fpvfj4m7glisj6p4zb8wylkrjkqqw69xnwnz4ah410zs6zm9sq";
   };
 
   cmakeFlags = [
diff --git a/nixpkgs/pkgs/applications/networking/soapui/default.nix b/nixpkgs/pkgs/applications/networking/soapui/default.nix
index 12301981f653..96d3de98d891 100644
--- a/nixpkgs/pkgs/applications/networking/soapui/default.nix
+++ b/nixpkgs/pkgs/applications/networking/soapui/default.nix
@@ -1,25 +1,30 @@
-{ fetchurl, lib, stdenv, writeText, jdk, maven, makeWrapper }:
+{ fetchurl, lib, stdenv, writeText, jdk, makeWrapper }:
 
 stdenv.mkDerivation rec {
   pname = "soapui";
-  version = "5.5.0";
+  version = "5.6.0";
 
   src = fetchurl {
     url = "https://s3.amazonaws.com/downloads.eviware/soapuios/${version}/SoapUI-${version}-linux-bin.tar.gz";
-    sha256 = "0v1wiy61jgvlxjk8qdvcnyn1gh2ysxf266zln7r4wpzwd5gc3dpw";
+    sha256 = "0vmj11fswja0ddnbc4vb7gj1al8km7ilma9bv1waaj8h5c8qpayi";
   };
 
   nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ jdk maven ];
+  buildInputs = [ jdk ];
 
   installPhase = ''
+    runHook preInstall
+
     mkdir -p $out/share/java
     cp -R bin lib $out/share/java
 
     makeWrapper $out/share/java/bin/soapui.sh $out/bin/soapui --set SOAPUI_HOME $out/share/java
+
+    runHook postInstall
   '';
 
   patches = [
+    # Adjust java path to point to derivation paths
     (writeText "soapui-${version}.patch" ''
       --- a/bin/soapui.sh
       +++ b/bin/soapui.sh
diff --git a/nixpkgs/pkgs/applications/networking/sync/onedrive/default.nix b/nixpkgs/pkgs/applications/networking/sync/onedrive/default.nix
index d53464df7a97..3cd95acafdc7 100644
--- a/nixpkgs/pkgs/applications/networking/sync/onedrive/default.nix
+++ b/nixpkgs/pkgs/applications/networking/sync/onedrive/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "onedrive";
-  version = "2.4.12";
+  version = "2.4.13";
 
   src = fetchFromGitHub {
     owner = "abraunegg";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-rG9W90+wGLnhnfhqJjUIFGP6ZcmaxGkrdhPxQVRyxoc=";
+    sha256 = "sha256-v1GSHwcP9EQaADIEKO14yotJBEEatbKugVJOCsTLr2w=";
   };
 
   nativeBuildInputs = [ autoreconfHook ldc installShellFiles pkg-config ];
diff --git a/nixpkgs/pkgs/applications/networking/sync/rclone/default.nix b/nixpkgs/pkgs/applications/networking/sync/rclone/default.nix
index 4b1a0bed048f..6e19fb60f8e5 100644
--- a/nixpkgs/pkgs/applications/networking/sync/rclone/default.nix
+++ b/nixpkgs/pkgs/applications/networking/sync/rclone/default.nix
@@ -23,8 +23,9 @@ buildGoModule rec {
   buildInputs = lib.optional enableCmount (if stdenv.isDarwin then macfuse-stubs else fuse);
   nativeBuildInputs = [ installShellFiles makeWrapper ];
 
-  buildFlagsArray = lib.optionals enableCmount [ "-tags=cmount" ]
-    ++ [ "-ldflags=-s -w -X github.com/rclone/rclone/fs.Version=${version}" ];
+  tags = lib.optionals enableCmount [ "cmount" ];
+
+  ldflags = [ "-s" "-w" "-X github.com/rclone/rclone/fs.Version=${version}" ];
 
   postInstall =
     let
diff --git a/nixpkgs/pkgs/applications/networking/sync/rsync/base.nix b/nixpkgs/pkgs/applications/networking/sync/rsync/base.nix
index 3479458088ed..39ce5d3a7ea5 100644
--- a/nixpkgs/pkgs/applications/networking/sync/rsync/base.nix
+++ b/nixpkgs/pkgs/applications/networking/sync/rsync/base.nix
@@ -1,4 +1,4 @@
-{ lib, fetchurl }:
+{ lib, fetchurl, fetchpatch }:
 
 rec {
   version = "3.2.3";
@@ -12,6 +12,13 @@ rec {
     url = "mirror://samba/rsync/rsync-patches-${version}.tar.gz";
     sha256 = "1wj21v57v135n6fnmlm2dxmb9lhrrg62jgkggldp1gb7d6s4arny";
   };
+  extraPatches = [
+    (fetchpatch {
+      name = "CVE-2020-14387.patch";
+      url = "https://git.samba.org/?p=rsync.git;a=patch;h=c3f7414;hp=4c4fce51072c9189cfb11b52aa54fed79f5741bd";
+      sha256 = "000lyx48lns84p53nsdlr45mb9558lrvnsz3yic0y3z6h2izv82x";
+    })
+  ];
 
   meta = with lib; {
     description = "Fast incremental file transfer utility";
diff --git a/nixpkgs/pkgs/applications/networking/sync/rsync/default.nix b/nixpkgs/pkgs/applications/networking/sync/rsync/default.nix
index 54417e6ef4b7..88304e56a40a 100644
--- a/nixpkgs/pkgs/applications/networking/sync/rsync/default.nix
+++ b/nixpkgs/pkgs/applications/networking/sync/rsync/default.nix
@@ -1,39 +1,47 @@
-{ lib, stdenv, fetchurl, perl, libiconv, zlib, popt
-, enableACLs ? lib.meta.availableOn stdenv.hostPlatform acl, acl ? null
-, enableLZ4 ? true, lz4 ? null
-, enableOpenSSL ? true, openssl ? null
-, enableXXHash ? true, xxHash ? null
-, enableZstd ? true, zstd ? null
+{ lib
+, stdenv
+, fetchurl
+, fetchpatch
+, perl
+, libiconv
+, zlib
+, popt
+, enableACLs ? lib.meta.availableOn stdenv.hostPlatform acl
+, acl
+, enableLZ4 ? true
+, lz4
+, enableOpenSSL ? true
+, openssl
+, enableXXHash ? true
+, xxHash
+, enableZstd ? true
+, zstd
 , enableCopyDevicesPatch ? false
 , nixosTests
 }:
 
-assert enableACLs -> acl != null;
-assert enableLZ4 -> lz4 != null;
-assert enableOpenSSL -> openssl != null;
-assert enableXXHash -> xxHash != null;
-assert enableZstd -> zstd != null;
-
 let
-  base = import ./base.nix { inherit lib fetchurl; };
+  base = import ./base.nix { inherit lib fetchurl fetchpatch; };
 in
 stdenv.mkDerivation rec {
-  name = "rsync-${base.version}";
+  pname = "rsync";
+  version = base.version;
 
   mainSrc = base.src;
 
   patchesSrc = base.upstreamPatchTarball;
 
-  srcs = [mainSrc] ++ lib.optional enableCopyDevicesPatch patchesSrc;
-  patches = lib.optional enableCopyDevicesPatch "./patches/copy-devices.diff";
+  srcs = [ mainSrc ] ++ lib.optional enableCopyDevicesPatch patchesSrc;
+  patches = lib.optional enableCopyDevicesPatch "./patches/copy-devices.diff"
+    ++ base.extraPatches;
 
-  buildInputs = [libiconv zlib popt]
-                ++ lib.optional enableACLs acl
-                ++ lib.optional enableZstd zstd
-                ++ lib.optional enableLZ4 lz4
-                ++ lib.optional enableOpenSSL openssl
-                ++ lib.optional enableXXHash xxHash;
-  nativeBuildInputs = [perl];
+  buildInputs = [ libiconv zlib popt ]
+    ++ lib.optional enableACLs acl
+    ++ lib.optional enableZstd zstd
+    ++ lib.optional enableLZ4 lz4
+    ++ lib.optional enableOpenSSL openssl
+    ++ lib.optional enableXXHash xxHash;
+  nativeBuildInputs = [ perl ];
 
   configureFlags = [
     "--with-nobody-group=nogroup"
@@ -42,13 +50,13 @@ stdenv.mkDerivation rec {
     # links them even.
     "--with-included-zlib=no"
   ]
-    # Work around issue with cross-compilation:
-    #     configure.sh: error: cannot run test program while cross compiling
-    # Remove once 3.2.4 or more recent is released.
-    # The following PR should fix the cross-compilation issue.
-    # Test using `nix-build -A pkgsCross.aarch64-multiplatform.rsync`.
-    # https://github.com/WayneD/rsync/commit/b7fab6f285ff0ff3816b109a8c3131b6ded0b484
-    ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "--enable-simd=no"
+  # Work around issue with cross-compilation:
+  #     configure.sh: error: cannot run test program while cross compiling
+  # Remove once 3.2.4 or more recent is released.
+  # The following PR should fix the cross-compilation issue.
+  # Test using `nix-build -A pkgsCross.aarch64-multiplatform.rsync`.
+  # https://github.com/WayneD/rsync/commit/b7fab6f285ff0ff3816b109a8c3131b6ded0b484
+  ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "--enable-simd=no"
   ;
 
   passthru.tests = { inherit (nixosTests) rsyncd; };
diff --git a/nixpkgs/pkgs/applications/networking/sync/rsync/rrsync.nix b/nixpkgs/pkgs/applications/networking/sync/rsync/rrsync.nix
index 83eb4658d2f3..e55f7fc1fba6 100644
--- a/nixpkgs/pkgs/applications/networking/sync/rsync/rrsync.nix
+++ b/nixpkgs/pkgs/applications/networking/sync/rsync/rrsync.nix
@@ -1,10 +1,11 @@
-{ lib, stdenv, fetchurl, perl, rsync }:
+{ lib, stdenv, fetchurl, perl, rsync, fetchpatch }:
 
 let
-  base = import ./base.nix { inherit lib fetchurl; };
+  base = import ./base.nix { inherit lib fetchurl fetchpatch; };
 in
 stdenv.mkDerivation {
-  name = "rrsync-${base.version}";
+  pname = "rrsync";
+  version = base.version;
 
   src = base.src;
 
@@ -15,6 +16,8 @@ stdenv.mkDerivation {
   dontConfigure = true;
   dontBuild = true;
 
+  patches = base.extraPatches;
+
   postPatch = ''
     substituteInPlace support/rrsync --replace /usr/bin/rsync ${rsync}/bin/rsync
   '';
diff --git a/nixpkgs/pkgs/applications/networking/sync/unison/default.nix b/nixpkgs/pkgs/applications/networking/sync/unison/default.nix
index 9ab8d4415082..b106deb074e3 100644
--- a/nixpkgs/pkgs/applications/networking/sync/unison/default.nix
+++ b/nixpkgs/pkgs/applications/networking/sync/unison/default.nix
@@ -1,12 +1,22 @@
-{lib, stdenv, fetchFromGitHub, ocamlPackages, fontschumachermisc, xset, makeWrapper, ncurses, gnugrep, fetchpatch
-, enableX11 ? true}:
-
-let inherit (ocamlPackages) ocaml lablgtk; in
-
-stdenv.mkDerivation (rec {
+{ lib
+, stdenv
+, fetchFromGitHub
+, ocamlPackages
+, fontschumachermisc
+, xset
+, makeWrapper
+, ncurses
+, gnugrep
+, fetchpatch
+, copyDesktopItems
+, makeDesktopItem
+, enableX11 ? true
+}:
 
+stdenv.mkDerivation rec {
   pname = "unison";
   version = "2.51.3";
+
   src = fetchFromGitHub {
     owner = "bcpierce00";
     repo = "unison";
@@ -14,8 +24,9 @@ stdenv.mkDerivation (rec {
     sha256 = "sha256-42hmdMwOYSWGiDCmhuqtpCWtvtyD2l+kA/bhHD/Qh5Y=";
   };
 
-  nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ ocaml ncurses ];
+  nativeBuildInputs = [ makeWrapper ]
+    ++ lib.optional enableX11 copyDesktopItems;
+  buildInputs = [ ocamlPackages.ocaml ncurses ];
 
   patches = [
     # Patch to fix build with ocaml 4.12. Remove in 2.51.4
@@ -27,34 +38,52 @@ stdenv.mkDerivation (rec {
     })
   ];
 
-  preBuild = (if enableX11 then ''
-    sed -i "s|\(OCAMLOPT=.*\)$|\1 -I $(echo "${lablgtk}"/lib/ocaml/*/site-lib/lablgtk2)|" src/Makefile.OCaml
-  '' else "") + ''
-  echo -e '\ninstall:\n\tcp $(FSMONITOR)$(EXEC_EXT) $(INSTALLDIR)' >> src/fsmonitor/linux/Makefile
+  preBuild = lib.optionalString enableX11 ''
+    sed -i "s|\(OCAMLOPT=.*\)$|\1 -I $(echo "${ocamlPackages.lablgtk}"/lib/ocaml/*/site-lib/lablgtk2)|" src/Makefile.OCaml
+  '' + ''
+    echo -e '\ninstall:\n\tcp $(FSMONITOR)$(EXEC_EXT) $(INSTALLDIR)' >> src/fsmonitor/linux/Makefile
   '';
 
   makeFlags = [
     "INSTALLDIR=$(out)/bin/"
     "UISTYLE=${if enableX11 then "gtk2" else "text"}"
-  ] ++ lib.optional (!ocaml.nativeCompilers) "NATIVE=false";
+  ] ++ lib.optional (!ocamlPackages.ocaml.nativeCompilers) "NATIVE=false";
 
-  preInstall = "mkdir -p $out/bin";
+  preInstall = ''
+    mkdir -p $out/bin
+  '';
 
-  postInstall = if enableX11 then ''
+  postInstall = lib.optionalString enableX11 ''
     for i in $(cd $out/bin && ls); do
       wrapProgram $out/bin/$i \
         --run "[ -n \"\$DISPLAY\" ] && (${xset}/bin/xset q | ${gnugrep}/bin/grep -q \"${fontschumachermisc}\" || ${xset}/bin/xset +fp \"${fontschumachermisc}/lib/X11/fonts/misc\")"
     done
-  '' else "";
 
-  dontStrip = !ocaml.nativeCompilers;
+    install -D $src/icons/U.svg $out/share/icons/hicolor/scalable/apps/unison.svg
+  '';
+
+  dontStrip = !ocamlPackages.ocaml.nativeCompilers;
 
-  meta = {
+  desktopItems = lib.optional enableX11 (makeDesktopItem {
+    name = pname;
+    desktopName = "Unison";
+    comment = "Bidirectional file synchronizer";
+    genericName = "File synchronization tool";
+    exec = "unison";
+    icon = "unison";
+    categories = "Utility;FileTools;GTK;";
+    extraDesktopEntries = {
+      StartupWMClass = "Unison";
+      StartupNotify = "true";
+      X-MultipleArgs = "false";
+    };
+  });
+
+  meta = with lib; {
     homepage = "https://www.cis.upenn.edu/~bcpierce/unison/";
     description = "Bidirectional file synchronizer";
-    license = lib.licenses.gpl3Plus;
-    maintainers = with lib.maintainers; [viric];
-    platforms = with lib.platforms; unix;
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ viric ];
+    platforms = platforms.unix;
   };
-
-})
+}
diff --git a/nixpkgs/pkgs/applications/networking/syncplay/default.nix b/nixpkgs/pkgs/applications/networking/syncplay/default.nix
index e93b6f9a432a..893a2bc5fb3e 100644
--- a/nixpkgs/pkgs/applications/networking/syncplay/default.nix
+++ b/nixpkgs/pkgs/applications/networking/syncplay/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonApplication rec {
   pname = "syncplay";
-  version = "1.6.7";
+  version = "1.6.9";
 
   format = "other";
 
@@ -10,7 +10,7 @@ buildPythonApplication rec {
     owner = "Syncplay";
     repo = "syncplay";
     rev = "v${version}";
-    sha256 = "1hxmd13sff51lh9l3vpk33qrzf7gi58c76bc01iqimp17sxwfz3k";
+    sha256 = "0qm3qn4a1nahhs7q81liz514n9blsi107g9s9xfw2i8pzi7v9v0v";
   };
 
   propagatedBuildInputs = [ pyside2 shiboken2 twisted certifi ] ++ twisted.extras.tls;
diff --git a/nixpkgs/pkgs/applications/networking/syncthing/default.nix b/nixpkgs/pkgs/applications/networking/syncthing/default.nix
index 9db0abd0cb01..a0ab6304e34a 100644
--- a/nixpkgs/pkgs/applications/networking/syncthing/default.nix
+++ b/nixpkgs/pkgs/applications/networking/syncthing/default.nix
@@ -4,13 +4,13 @@ let
   common = { stname, target, postInstall ? "" }:
     buildGoModule rec {
       pname = stname;
-      version = "1.18.0";
+      version = "1.18.1";
 
       src = fetchFromGitHub {
         owner  = "syncthing";
         repo   = "syncthing";
         rev    = "v${version}";
-        sha256 = "0hrdlc1dxbxvqxylk0i2f110c6bfp9azsnzqzmjj2b29xxbrmwca";
+        sha256 = "1sm4d0pjgk0spz9pddqb3i8hli10pibd5xs18mhcwrhnxj2xky1y";
       };
 
       vendorSha256 = "1qqpxm4s1s2yp1zmi4m25y1a6r7kxc5rmvfsg50jmqsfnwligpz6";
diff --git a/nixpkgs/pkgs/applications/networking/termius/default.nix b/nixpkgs/pkgs/applications/networking/termius/default.nix
index fec775603939..c699781376ac 100644
--- a/nixpkgs/pkgs/applications/networking/termius/default.nix
+++ b/nixpkgs/pkgs/applications/networking/termius/default.nix
@@ -1,6 +1,6 @@
 { atomEnv
 , autoPatchelfHook
-, dpkg
+, squashfsTools
 , fetchurl
 , makeDesktopItem
 , makeWrapper
@@ -12,13 +12,15 @@
 
 stdenv.mkDerivation rec {
   pname = "termius";
-  version = "7.16.0";
+  version = "7.17.1";
 
   src = fetchurl {
-    # find the latest version by
-    # curl https://deb.termius.com/dists/squeeze/main/binary-amd64/Packages
-    url = "https://deb.termius.com/pool/main/t/termius-app/termius-app_${version}_amd64.deb";
-    sha256 = "013nli61bk4x4hkhr6gcpzm1y8ycmqk3vr7q0w2dn2bfdwjg559v";
+    # find the latest version with
+    # curl -H 'X-Ubuntu-Series: 16' https://api.snapcraft.io/api/v1/snaps/details/termius-app | jq '.version'
+    # and the url with
+    # curl -H 'X-Ubuntu-Series: 16' https://api.snapcraft.io/api/v1/snaps/details/termius-app | jq '.download_url' -r
+    url = "https://api.snapcraft.io/api/v1/snaps/download/WkTBXwoX81rBe3s3OTt3EiiLKBx2QhuS_81.snap";
+    sha256 = "sha256-jNwWQTjUy8nJ8gHlbP9WgDlARWOhTQAA7KAcQNXKhNg=";
   };
 
   desktopItem = makeDesktopItem {
@@ -36,22 +38,33 @@ stdenv.mkDerivation rec {
   dontPatchELF = true;
   dontWrapGApps = true;
 
-  nativeBuildInputs = [ autoPatchelfHook dpkg makeWrapper wrapGAppsHook ];
+  nativeBuildInputs = [ autoPatchelfHook squashfsTools makeWrapper wrapGAppsHook ];
 
   buildInputs = atomEnv.packages;
 
-  unpackPhase = "dpkg-deb -x $src .";
+  unpackPhase = ''
+    runHook preUnpack
+    unsquashfs "$src"
+    runHook postUnpack
+  '';
 
   installPhase = ''
     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
 
-    mkdir -p "$out/bin"
-    cp -R "opt" "$out"
-    cp -R "usr/share" "$out/share"
-    chmod -R g-w "$out"
-    # Desktop file
-    mkdir -p "$out/share/applications"
+    mkdir -p "$out/share/applications" "$out/share/pixmaps/termius-app.png"
     cp "${desktopItem}/share/applications/"* "$out/share/applications"
+    cp meta/gui/icon.png $out/share/pixmaps/termius-app.png
 
     runHook postInstall
   '';
@@ -59,7 +72,7 @@ stdenv.mkDerivation rec {
   runtimeDependencies = [ (lib.getLib udev) ];
 
   postFixup = ''
-    makeWrapper $out/opt/Termius/termius-app $out/bin/termius-app \
+    makeWrapper $out/opt/termius/termius-app $out/bin/termius-app \
       "''${gappsWrapperArgs[@]}"
   '';
 
diff --git a/nixpkgs/pkgs/applications/networking/zerobin/default.nix b/nixpkgs/pkgs/applications/networking/zerobin/default.nix
index b86fe7cc6410..16a52d670450 100644
--- a/nixpkgs/pkgs/applications/networking/zerobin/default.nix
+++ b/nixpkgs/pkgs/applications/networking/zerobin/default.nix
@@ -7,6 +7,7 @@
 python3Packages.buildPythonApplication rec {
   pname = "zerobin";
   version = "1.0.5";
+
   src = fetchFromGitHub {
     owner = "Tygs";
     repo = "0bin";
@@ -21,6 +22,7 @@ python3Packages.buildPythonApplication rec {
     python3Packages.pyscss
     nodePackages.uglify-js
   ];
+
   propagatedBuildInputs = with python3Packages; [
     appdirs
     beaker
@@ -30,16 +32,19 @@ python3Packages.buildPythonApplication rec {
     lockfile
     paste
   ];
+
   prePatch = ''
     # replace /bin/bash in compress.sh
     patchShebangs .
 
     # relax version constraints of some dependencies
     substituteInPlace setup.cfg \
+      --replace "clize==4.1.1" "clize" \
       --replace "bleach==3.1.5" "bleach>=3.1.5,<4" \
       --replace "bottle==0.12.18" "bottle>=0.12.18,<1" \
       --replace "Paste==3.4.3" "Paste>=3.4.3,<4"
   '';
+
   buildPhase = ''
     runHook preBuild
     doit build
@@ -51,6 +56,8 @@ python3Packages.buildPythonApplication rec {
   # See https://github.com/NixOS/nixpkgs/pull/98734#discussion_r495823510
   doCheck = false;
 
+  pythonImportsCheck = [ "zerobin" ];
+
   meta = with lib; {
     description = "A client side encrypted pastebin";
     homepage = "https://0bin.net/";
diff --git a/nixpkgs/pkgs/applications/networking/znc/modules.nix b/nixpkgs/pkgs/applications/networking/znc/modules.nix
index a72618d935d4..562372b1bb70 100644
--- a/nixpkgs/pkgs/applications/networking/znc/modules.nix
+++ b/nixpkgs/pkgs/applications/networking/znc/modules.nix
@@ -2,7 +2,7 @@
 
 let
   zncDerivation = a@{
-    name, src, module_name,
+    pname, src, module_name,
     buildPhase ? "${znc}/bin/znc-buildmod ${module_name}.cpp",
     installPhase ? "install -D ${module_name}.so $out/lib/znc/${module_name}.so", ...
   } : stdenv.mkDerivation (a // {
@@ -18,7 +18,7 @@ let
 in {
 
   backlog = zncDerivation rec {
-    name = "znc-backlog-${version}";
+    pname = "znc-backlog";
     version = "git-2017-06-13";
     module_name = "backlog";
 
@@ -38,7 +38,7 @@ in {
   };
 
   clientbuffer = zncDerivation rec {
-    name = "znc-clientbuffer-${version}";
+    pname = "znc-clientbuffer";
     version = "git-2020-04-24";
     module_name = "clientbuffer";
 
@@ -58,7 +58,7 @@ in {
   };
 
   clientaway = zncDerivation rec {
-    name = "znc-clientaway-${version}";
+    pname = "znc-clientaway";
     version = "git-2017-04-28";
     module_name = "clientaway";
 
@@ -78,7 +78,7 @@ in {
   };
 
   fish = zncDerivation rec {
-    name = "znc-fish-${version}";
+    pname = "znc-fish";
     version = "git-2017-06-26";
     module_name = "fish";
 
@@ -98,7 +98,7 @@ in {
   };
 
   ignore = zncDerivation rec {
-    name = "znc-ignore-${version}";
+    pname = "znc-ignore";
     version = "git-2017-04-28";
     module_name = "ignore";
 
@@ -118,7 +118,7 @@ in {
   };
 
   palaver = zncDerivation rec {
-    name = "znc-palaver-${version}";
+    pname = "znc-palaver";
     version = "2020-07-18";
     module_name = "palaver";
 
@@ -138,7 +138,7 @@ in {
   };
 
   playback = zncDerivation rec {
-    name = "znc-playback-${version}";
+    pname = "znc-playback";
     version = "git-2015-08-04";
     module_name = "playback";
 
@@ -158,7 +158,7 @@ in {
   };
 
   privmsg = zncDerivation rec {
-    name = "znc-privmsg-${version}";
+    pname = "znc-privmsg";
     version = "git-2015-02-22";
     module_name = "privmsg";
 
@@ -176,7 +176,7 @@ in {
   };
 
   push = zncDerivation rec {
-    name = "znc-push-${version}";
+    pname = "znc-push";
     version = "git-2016-10-12";
     module_name = "push";
 
diff --git a/nixpkgs/pkgs/applications/office/aesop/default.nix b/nixpkgs/pkgs/applications/office/aesop/default.nix
deleted file mode 100644
index 0e151f3adbe9..000000000000
--- a/nixpkgs/pkgs/applications/office/aesop/default.nix
+++ /dev/null
@@ -1,53 +0,0 @@
-{ lib, stdenv, vala, fetchFromGitHub, nix-update-script, pantheon, pkg-config, meson, ninja, python3, gtk3
-, desktop-file-utils, json-glib, libsoup, libgee, poppler, wrapGAppsHook, fetchpatch }:
-
-stdenv.mkDerivation rec {
-  pname = "aesop";
-  version = "1.2.5";
-
-  src = fetchFromGitHub {
-    owner = "lainsce";
-    repo = pname;
-    rev = version;
-    sha256 = "1zxyyxl959rqhyz871dyyccqga2ydybkfcpyjq4vmvdn2g9mvmb0";
-  };
-
-  nativeBuildInputs = [
-    desktop-file-utils
-    meson
-    ninja
-    pkg-config
-    python3
-    vala
-    wrapGAppsHook
-  ];
-
-  buildInputs = [
-    pantheon.elementary-icon-theme
-    libgee
-    pantheon.granite
-    gtk3
-    json-glib
-    libsoup
-    poppler
-  ];
-
-  postPatch = ''
-    chmod +x meson/post_install.py
-    patchShebangs meson/post_install.py
-  '';
-
-  passthru = {
-    updateScript = nix-update-script {
-      attrPath = pname;
-    };
-  };
-
-  meta = with lib; {
-    description = "The simplest PDF viewer around";
-    homepage = "https://github.com/lainsce/aesop";
-    license = licenses.gpl2Plus;
-    maintainers = pantheon.maintainers;
-    platforms = platforms.linux;
-  };
-}
diff --git a/nixpkgs/pkgs/applications/office/agenda/default.nix b/nixpkgs/pkgs/applications/office/agenda/default.nix
index 9308fc6c6eac..6654ed529fc3 100644
--- a/nixpkgs/pkgs/applications/office/agenda/default.nix
+++ b/nixpkgs/pkgs/applications/office/agenda/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "agenda";
-  version = "1.1.0";
+  version = "1.1.2";
 
   src = fetchFromGitHub {
     owner = "dahenson";
     repo = pname;
     rev = version;
-    sha256 = "0yfapapsanqacaa83iagar88i335yy2jvay8y6z7gkri7avbs4am";
+    sha256 = "sha256-tzGcqCxIkoBNskpadEqv289Sj5bij9u+LdYySiGdop8=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/office/atlassian-cli/default.nix b/nixpkgs/pkgs/applications/office/atlassian-cli/default.nix
index 8c1245a99ac8..63d38b0cc3fe 100644
--- a/nixpkgs/pkgs/applications/office/atlassian-cli/default.nix
+++ b/nixpkgs/pkgs/applications/office/atlassian-cli/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "atlassian-cli";
-  version = "9.5.0";
+  version = "9.6.0";
 
   src = fetchzip {
     url  = "https://bobswift.atlassian.net/wiki/download/attachments/16285777/${pname}-${version}-distribution.zip";
-    sha256  = "sha256-EAoydA2lg4K1gTgzn9patNw7pcCdU/OPfaEG1OfEJ18=";
+    sha256  = "sha256-55ydhprVC9NdDMUrKbpSAEQBb9zRYgwOc7k8aP4R89A=";
   };
 
   tools = [
diff --git a/nixpkgs/pkgs/applications/office/autokey/default.nix b/nixpkgs/pkgs/applications/office/autokey/default.nix
index 441a9a98e972..4aef68ba0d06 100644
--- a/nixpkgs/pkgs/applications/office/autokey/default.nix
+++ b/nixpkgs/pkgs/applications/office/autokey/default.nix
@@ -1,32 +1,57 @@
-{ lib, python3Packages, fetchFromGitHub, wrapGAppsHook, gobject-introspection
-, gtksourceview3, libappindicator-gtk3, libnotify }:
+{ lib
+, python3Packages
+, fetchFromGitHub
+, wrapGAppsHook
+, gobject-introspection
+, gtksourceview3
+, libappindicator-gtk3
+, libnotify
+}:
 
 python3Packages.buildPythonApplication rec {
-  name = "autokey-${version}";
-  version = "0.94.1";
+  pname = "autokey";
+  version = "0.95.10";
 
   src = fetchFromGitHub {
     owner = "autokey";
     repo = "autokey";
     rev = "v${version}";
-    sha256 = "1syxyciyxzs0khbfs9wjgj03q967p948kipw27j1031q0b5z3jxr";
+    sha256 = "0f0cqfnb49wwdy7zl2f2ypcnd5pc8r8n7z7ssxkq20d4xfxlgamr";
   };
 
-  # Arch requires a similar work around—see
-  # https://aur.archlinux.org/packages/autokey-py3/?comments=all
-  patches = [ ./remove-requires-dbus-python.patch ];
-
   # Tests appear to be broken with import errors within the project structure
   doCheck = false;
 
-  # Note: no dependencies included for Qt GUI because Qt ui is poorly
-  # maintained—see https://github.com/autokey/autokey/issues/51
+  nativeBuildInputs = [ wrapGAppsHook ];
 
-  buildInputs = [ wrapGAppsHook gobject-introspection gtksourceview3
-    libappindicator-gtk3 libnotify ];
+  buildInputs = [
+    gobject-introspection
+    gtksourceview3
+    libappindicator-gtk3
+    libnotify
+  ];
 
   propagatedBuildInputs = with python3Packages; [
-    dbus-python pyinotify xlib pygobject3 ];
+    dbus-python
+    pyinotify
+    xlib
+    pygobject3
+  ];
+
+  dontWrapGapps = true;
+
+  pythonPath = with python3Packages; requiredPythonModules [ dbus-python xlib pygobject3 ];
+
+  postInstall = ''
+    rm $out/bin/autokey-qt
+    buildPythonPath "$out $pythonPath"
+    makeWrapperArgs+=(
+      "''${gappsWrapperArgs[@]}"
+      # for autokey-shell ModuleNotFoundError: No module named 'autokey'
+      --prefix "PYTHONPATH" ":" "$out/lib/${python3Packages.python.libPrefix}/site-packages"
+      --prefix "PYTHONPATH" ":" "$program_PYTHONPATH"
+    )
+  '';
 
   meta = {
     homepage = "https://github.com/autokey/autokey";
diff --git a/nixpkgs/pkgs/applications/office/calligra/default.nix b/nixpkgs/pkgs/applications/office/calligra/default.nix
index e54a3cbad4cd..2ecc334c3d20 100644
--- a/nixpkgs/pkgs/applications/office/calligra/default.nix
+++ b/nixpkgs/pkgs/applications/office/calligra/default.nix
@@ -8,7 +8,7 @@
 , kcontacts, akonadi, akonadi-calendar, akonadi-contacts
 , eigen, git, gsl, ilmbase, kproperty, kreport, lcms2, marble, pcre, libgit2, libodfgen
 , librevenge, libvisio, libwpd, libwpg, libwps, okular, openexr, openjpeg, phonon
-, poppler, pstoedit, qca-qt5, vc
+, poppler, pstoedit, qca-qt5, vc, fontconfig
 # TODO: package Spnav, m2mml LibEtonyek, Libqgit2
 }:
 
@@ -32,6 +32,7 @@ mkDerivation rec {
     kcontacts akonadi akonadi-calendar akonadi-contacts
     eigen git gsl ilmbase kproperty kreport lcms2 marble pcre libgit2 libodfgen librevenge
     libvisio libwpd libwpg libwps okular openexr openjpeg phonon poppler qca-qt5 vc
+    fontconfig
   ];
 
   propagatedUserEnvPkgs = [ kproperty ];
diff --git a/nixpkgs/pkgs/applications/office/elementary-planner/default.nix b/nixpkgs/pkgs/applications/office/elementary-planner/default.nix
index 88a063158bd1..73888fbfe3d2 100644
--- a/nixpkgs/pkgs/applications/office/elementary-planner/default.nix
+++ b/nixpkgs/pkgs/applications/office/elementary-planner/default.nix
@@ -20,17 +20,19 @@
 , pantheon /* granite, icons, maintainers */
 , webkitgtk
 , libpeas
+, libhandy
+, curl
 }:
 
 stdenv.mkDerivation rec {
   pname = "elementary-planner";
-  version = "2.6.9";
+  version = "2.7";
 
   src = fetchFromGitHub {
     owner = "alainm23";
     repo = "planner";
     rev = version;
-    sha256 = "17ij017x2cplqhway8376k8mmrll4w1jfwhf7ixldq9g0q2inzd8";
+    sha256 = "sha256-3eFPGRcZWhzFYi52TbHmpFNLI0pWYcHbbBI7efqZwYE=";
   };
 
   nativeBuildInputs = [
@@ -58,6 +60,8 @@ stdenv.mkDerivation rec {
     sqlite
     webkitgtk
     libgdata # required by some dependency transitively
+    libhandy
+    curl
   ];
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/applications/office/envelope/default.nix b/nixpkgs/pkgs/applications/office/envelope/default.nix
deleted file mode 100644
index 7798026e790b..000000000000
--- a/nixpkgs/pkgs/applications/office/envelope/default.nix
+++ /dev/null
@@ -1,81 +0,0 @@
-{ lib, stdenv
-, fetchFromGitHub
-, nix-update-script
-, fetchpatch
-, meson
-, ninja
-, pkg-config
-, pantheon
-, python3
-, vala
-, appstream-glib
-, desktop-file-utils
-, gettext
-, glib
-, gtk3
-, libgee
-, sqlite
-, wrapGAppsHook
-}:
-
-stdenv.mkDerivation rec {
-  pname = "envelope";
-  version = "0.0.4";
-
-  src = fetchFromGitHub {
-    owner = "cjfloss";
-    repo = pname;
-    rev = version;
-    sha256 = "111lq1gijcm7qwpac09q11ymwiw2x3m12a28ki52f28fb1amvffc";
-  };
-
-  nativeBuildInputs = [
-    appstream-glib
-    desktop-file-utils
-    gettext
-    meson
-    ninja
-    vala
-    pkg-config
-    python3
-    wrapGAppsHook
-  ];
-
-  buildInputs = [
-    glib
-    gtk3
-    libgee
-    pantheon.granite
-    sqlite
-  ];
-
-  doCheck = true;
-
-  patches = [
-    # Fix AppData Validation.
-    # https://github.com/cjfloss/envelope/pull/59
-    (fetchpatch {
-      url = "https://github.com/cjfloss/envelope/commit/b6a28eced89b8f944479fcc695aebfb9aae0c691.patch";
-      sha256 = "11znc8z52kl893n3gmmdpnp3y4vpzmb263m5gp0qxbl3xykq2wzr";
-    })
-  ];
-
-  postPatch = ''
-    chmod +x data/post_install.py
-    patchShebangs data/post_install.py
-  '';
-
-  passthru = {
-    updateScript = nix-update-script {
-      attrPath = pname;
-    };
-  };
-
-  meta = with lib; {
-    description = "Personal finance manager for elementary OS";
-    homepage = "https://github.com/cjfloss/envelope";
-    maintainers = with maintainers; [ xiorcale ] ++ pantheon.maintainers;
-    platforms = platforms.linux;
-    license = licenses.gpl3Plus;
-  };
-}
diff --git a/nixpkgs/pkgs/applications/office/flexibee/default.nix b/nixpkgs/pkgs/applications/office/flexibee/default.nix
index 9dbdae3f0206..97edd9e1fa2e 100644
--- a/nixpkgs/pkgs/applications/office/flexibee/default.nix
+++ b/nixpkgs/pkgs/applications/office/flexibee/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchurl, makeWrapper, jre }:
 
 let
-  version = "2020.2.6";
+  version = "2021.2.1";
   majorVersion = builtins.substring 0 6 version;
 in
 
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://download.flexibee.eu/download/${majorVersion}/${version}/${pname}-${version}.tar.gz";
-    sha256 = "0vscz24sabk9xafywnx41rqhq6300ddsw1x95ibc7ghsgbkq80ja";
+    sha256 = "sha256-WorRyfjWucV8UhAjvuW+22CRzPcz5tjXF7Has4wrLMI=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/applications/office/foliate/default.nix b/nixpkgs/pkgs/applications/office/foliate/default.nix
index 8226e8e38cce..bcd42b361b93 100644
--- a/nixpkgs/pkgs/applications/office/foliate/default.nix
+++ b/nixpkgs/pkgs/applications/office/foliate/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchFromGitHub, meson, gettext, glib, gjs, ninja, python3, gtk3
 , webkitgtk, gsettings-desktop-schemas, wrapGAppsHook, desktop-file-utils
-, gobject-introspection }:
+, gobject-introspection, glib-networking }:
 
 stdenv.mkDerivation rec {
   pname = "foliate";
@@ -28,6 +28,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     gettext
     glib
+    glib-networking
     gjs
     gtk3
     webkitgtk
diff --git a/nixpkgs/pkgs/applications/office/gnucash/default.nix b/nixpkgs/pkgs/applications/office/gnucash/default.nix
index d2251da70073..d4dad44d7da8 100644
--- a/nixpkgs/pkgs/applications/office/gnucash/default.nix
+++ b/nixpkgs/pkgs/applications/office/gnucash/default.nix
@@ -11,7 +11,8 @@ let
     name = perl.name + "-wrapper-for-gnucash";
     nativeBuildInputs = [ makeWrapper ];
     buildInputs = [ perl ] ++ (with perlPackages; [ FinanceQuote DateManip ]);
-    phases = [ "installPhase" ];
+    dontUnpack = true;
+
     installPhase = ''
       mkdir -p $out/bin
       for script in ${perl}/bin/*; do
@@ -25,25 +26,26 @@ in
 
 stdenv.mkDerivation rec {
   pname = "gnucash";
-  version = "4.5";
+  version = "4.6";
 
   src = fetchurl {
     url = "mirror://sourceforge/gnucash/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-vB9IqEU0iKLp9rg7aGE6pVyuvk0pg0YL2sfghLRs/9w=";
+    sha256 = "0csp8iddhc901vv09gl5lj970g6ili696vwj4vdpkiprp7gh26r5";
   };
 
   patches = [
-    # Fix build with GLib 2.68.
+    # Fixes a warning about an initialized variable that kills enableDebugging gnucash builds on nix.
+    # This will most likely be part of the 4.7 release, it will be safe to remove then.
     (fetchpatch {
-      url = "https://github.com/Gnucash/gnucash/commit/bbb4113a5a996dcd7bb3494e0be900b275b49a4f.patch";
-      sha256 = "Pnvwoq5zutFw7ByduEEANiLM2J50WiXpm2aZ8B2MDMQ=";
+      url = "https://github.com/Gnucash/gnucash/commit/b42052464ba9701a3d1834fc58fa0deb32ab9afe.patch";
+      sha256 = "092957c8jqj4v70fv0ia1wpgl6x34hbwjrichxfbk5ja8l6535gc";
     })
   ];
 
-  nativeBuildInputs = [ pkg-config makeWrapper cmake gtest ];
+  nativeBuildInputs = [ pkg-config makeWrapper cmake gtest swig ];
 
   buildInputs = [
-    boost icu libxml2 libxslt gettext swig isocodes gtk3 glibcLocales
+    boost icu libxml2 libxslt gettext isocodes gtk3 glibcLocales
     webkitgtk dconf libofx aqbanking gwenhywfar libdbi
     libdbiDrivers guile
     perlWrapper perl
diff --git a/nixpkgs/pkgs/applications/office/grisbi/default.nix b/nixpkgs/pkgs/applications/office/grisbi/default.nix
index 1d2d6f0d851d..49344becf03d 100644
--- a/nixpkgs/pkgs/applications/office/grisbi/default.nix
+++ b/nixpkgs/pkgs/applications/office/grisbi/default.nix
@@ -12,11 +12,11 @@
 
 stdenv.mkDerivation rec {
   pname = "grisbi";
-  version = "2.0.1";
+  version = "2.0.4";
 
   src = fetchurl {
     url = "mirror://sourceforge/grisbi/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-hFLiVHyEekCP9btO75e5ni70ZcLhjbBGCBjF2gERIqs=";
+    sha256 = "sha256-4ykG310He1aFaUNo5fClaM3QWFBzKERGihYfqaxR1Vo=";
   };
 
   nativeBuildInputs = [ pkg-config wrapGAppsHook ];
diff --git a/nixpkgs/pkgs/applications/office/homebank/default.nix b/nixpkgs/pkgs/applications/office/homebank/default.nix
index c77c52774be9..54e09783dbef 100644
--- a/nixpkgs/pkgs/applications/office/homebank/default.nix
+++ b/nixpkgs/pkgs/applications/office/homebank/default.nix
@@ -2,15 +2,15 @@
 , libsoup, gnome }:
 
 stdenv.mkDerivation rec {
-  name = "homebank-5.5.2";
+  pname = "homebank";
+  version = "5.5.3";
   src = fetchurl {
-    url = "http://homebank.free.fr/public/${name}.tar.gz";
-    sha256 = "sha256-mJ7zeOTJ+CNLYruT1qSxS9TJjciJUZg426H0TxLFHtI=";
+    url = "http://homebank.free.fr/public/homebank-${version}.tar.gz";
+    sha256 = "sha256-BzYHkYqWEAh3kfNvWecNEmH+6OThFGpc/VhxodLZEJM=";
   };
 
   nativeBuildInputs = [ pkg-config wrapGAppsHook ];
-  buildInputs = [ gtk libofx intltool libsoup
-    gnome.adwaita-icon-theme ];
+  buildInputs = [ gtk libofx intltool libsoup gnome.adwaita-icon-theme ];
 
   meta = with lib; {
     description = "Free, easy, personal accounting for everyone";
diff --git a/nixpkgs/pkgs/applications/office/libreoffice/default.nix b/nixpkgs/pkgs/applications/office/libreoffice/default.nix
index 1c5327ebc6ce..abfd223fd001 100644
--- a/nixpkgs/pkgs/applications/office/libreoffice/default.nix
+++ b/nixpkgs/pkgs/applications/office/libreoffice/default.nix
@@ -63,8 +63,6 @@ in (mkDrv rec {
     "-fno-visibility-inlines-hidden" # https://bugs.documentfoundation.org/show_bug.cgi?id=78174#c10
   ];
 
-  patches = [ ./xdg-open-brief.patch ];
-
   tarballPath = "external/tarballs";
 
   postUnpack = ''
diff --git a/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/download.nix b/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/download.nix
index 98070994fa33..bbabd4e70be5 100644
--- a/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/download.nix
+++ b/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/download.nix
@@ -161,11 +161,11 @@
     md5name = "e61677e8799ce6e55b25afc11aa5339113f6a49cff031f336e32fa58635b1a4a-libetonyek-0.1.9.tar.xz";
   }
   {
-    name = "expat-2.2.8.tar.bz2";
-    url = "https://dev-www.libreoffice.org/src/expat-2.2.8.tar.bz2";
-    sha256 = "9a130948b05a82da34e4171d5f5ae5d321d9630277af02c8fa51e431f6475102";
+    name = "expat-2.4.1.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/expat-2.4.1.tar.bz2";
+    sha256 = "2f9b6a580b94577b150a7d5617ad4643a4301a6616ff459307df3e225bcfbf40";
     md5 = "";
-    md5name = "9a130948b05a82da34e4171d5f5ae5d321d9630277af02c8fa51e431f6475102-expat-2.2.8.tar.bz2";
+    md5name = "2f9b6a580b94577b150a7d5617ad4643a4301a6616ff459307df3e225bcfbf40-expat-2.4.1.tar.bz2";
   }
   {
     name = "Firebird-3.0.0.32483-0.tar.bz2";
@@ -567,11 +567,11 @@
     md5name = "2d84360b03042178def1d9ff538acacaed2b3a27411db7b2874f1612ed71abc8-xmlsec1-1.2.30.tar.gz";
   }
   {
-    name = "libxml2-2.9.10.tar.gz";
-    url = "https://dev-www.libreoffice.org/src/libxml2-2.9.10.tar.gz";
-    sha256 = "aafee193ffb8fe0c82d4afef6ef91972cbaf5feea100edc2f262750611b4be1f";
+    name = "libxml2-2.9.12.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/libxml2-2.9.12.tar.gz";
+    sha256 = "c8d6681e38c56f172892c85ddc0852e1fd4b53b4209e7f4ebf17f7e2eae71d92";
     md5 = "";
-    md5name = "aafee193ffb8fe0c82d4afef6ef91972cbaf5feea100edc2f262750611b4be1f-libxml2-2.9.10.tar.gz";
+    md5name = "c8d6681e38c56f172892c85ddc0852e1fd4b53b4209e7f4ebf17f7e2eae71d92-libxml2-2.9.12.tar.gz";
   }
   {
     name = "libxslt-1.1.34.tar.gz";
diff --git a/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/override.nix b/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/override.nix
index 0141b74c3890..193b2cd76398 100644
--- a/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/override.nix
+++ b/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/override.nix
@@ -7,4 +7,5 @@ attrs:
   configureFlags = attrs.configureFlags ++ [
     (lib.enableFeature kdeIntegration "kf5")
   ];
+  patches = [ ../xdg-open-brief.patch ]; # drop this when switching fresh to 7.2.0
 }
diff --git a/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/primary.nix b/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/primary.nix
index 2e1a4b1d78dc..dfc680e3439b 100644
--- a/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/primary.nix
+++ b/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/primary.nix
@@ -8,7 +8,7 @@ rec {
 
   major = "7";
   minor = "1";
-  patch = "4";
+  patch = "5";
   tweak = "2";
 
   subdir = "${major}.${minor}.${patch}";
@@ -17,13 +17,13 @@ rec {
 
   src = fetchurl {
     url = "https://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
-    sha256 = "1jsskhnlyra7q6d12kkc8dxq5fgrnd8grl32bdck7j9hkwv6d13m";
+    sha256 = "1kl54ddpvmrcs4r1vd4dfzg5a8im0kijhaqdg37zvgb5fqv31bxf";
   };
 
   # FIXME rename
   translations = fetchSrc {
     name = "translations";
-    sha256 = "0cslzhp5ic1w7hnl6wbyxrxhczdmap1g1hh1nj9sgpw9iqdryqj7";
+    sha256 = "0nf5s012l7mkpd1srvijl9q6x8f7svm6i84bj75dwyvipkg40rxq";
   };
 
   # the "dictionaries" archive is not used for LO build because we already build hunspellDicts packages from
@@ -31,6 +31,6 @@ rec {
 
   help = fetchSrc {
     name = "help";
-    sha256 = "091yhm1qkxgvv130a1yzmmikchvxvp8109mcdrlpybp4gc276l8q";
+    sha256 = "1m1hxbhrkaynpcps77rym1d0kwl380jv1p7b6ibfl4by0ii2j16a";
   };
 }
diff --git a/nixpkgs/pkgs/applications/office/libreoffice/src-still/override.nix b/nixpkgs/pkgs/applications/office/libreoffice/src-still/override.nix
index 0141b74c3890..110a52ed9f96 100644
--- a/nixpkgs/pkgs/applications/office/libreoffice/src-still/override.nix
+++ b/nixpkgs/pkgs/applications/office/libreoffice/src-still/override.nix
@@ -7,4 +7,5 @@ attrs:
   configureFlags = attrs.configureFlags ++ [
     (lib.enableFeature kdeIntegration "kf5")
   ];
+  patches = [ ../xdg-open-brief.patch ];
 }
diff --git a/nixpkgs/pkgs/applications/office/minetime/default.nix b/nixpkgs/pkgs/applications/office/minetime/default.nix
index 1241b97b427f..1971a7829447 100644
--- a/nixpkgs/pkgs/applications/office/minetime/default.nix
+++ b/nixpkgs/pkgs/applications/office/minetime/default.nix
@@ -1,4 +1,4 @@
-{ appimageTools, fetchurl, lib, runCommandNoCC, stdenv, gsettings-desktop-schemas, gtk3, zlib }:
+{ appimageTools, fetchurl, lib, runCommand, stdenv, gsettings-desktop-schemas, gtk3, zlib }:
 
 let
   name = "${pname}-${version}";
@@ -12,7 +12,7 @@ let
     inherit name;
     src = appimage;
   };
-  patched = runCommandNoCC "minetime-patchelf" {} ''
+  patched = runCommand "minetime-patchelf" {} ''
     cp -av ${extracted} $out
 
     x=$out/resources/app.asar.unpacked/services/scheduling/dist/MinetimeSchedulingService
diff --git a/nixpkgs/pkgs/applications/office/notes-up/default.nix b/nixpkgs/pkgs/applications/office/notes-up/default.nix
index de09bc1c761c..4422968efbca 100644
--- a/nixpkgs/pkgs/applications/office/notes-up/default.nix
+++ b/nixpkgs/pkgs/applications/office/notes-up/default.nix
@@ -66,7 +66,7 @@ stdenv.mkDerivation rec {
       + lib.optionalString withPantheon " - built with Contractor support";
     homepage = "https://github.com/Philip-Scott/Notes-up";
     license = licenses.gpl2Only;
-    maintainers = with maintainers; [ davidak ];
+    maintainers = with maintainers; [ ] ++ teams.pantheon.members;
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/office/onlyoffice-bin/default.nix b/nixpkgs/pkgs/applications/office/onlyoffice-bin/default.nix
index 75e6924db9c5..121a65f941c8 100644
--- a/nixpkgs/pkgs/applications/office/onlyoffice-bin/default.nix
+++ b/nixpkgs/pkgs/applications/office/onlyoffice-bin/default.nix
@@ -1,7 +1,7 @@
 { stdenv
 , lib
 , fetchurl
-# Alphabetic ordering below
+  # Alphabetic ordering below
 , alsa-lib
 , at-spi2-atk
 , atk
@@ -59,7 +59,7 @@ let
       let
         version = "v20201206-cjk";
       in
-        "https://github.com/googlefonts/noto-cjk/raw/${version}/NotoSansCJKsc-Regular.otf";
+      "https://github.com/googlefonts/noto-cjk/raw/${version}/NotoSansCJKsc-Regular.otf";
     sha256 = "sha256-aJXSVNJ+p6wMAislXUn4JQilLhimNSedbc9nAuPVxo4=";
   };
 
@@ -70,13 +70,14 @@ let
     pulseaudio
   ];
 
-in stdenv.mkDerivation rec {
+in
+stdenv.mkDerivation rec {
   pname = "onlyoffice-desktopeditors";
-  version = "6.2.0";
+  version = "6.3.1";
   minor = null;
   src = fetchurl {
     url = "https://github.com/ONLYOFFICE/DesktopEditors/releases/download/v${version}/onlyoffice-desktopeditors_amd64.deb";
-    sha256 = "sha256-nKmWxaVVul/rGDIh3u9zCpKu7U0nmrntFFf96xQyzdg=";
+    sha256 = "sha256-WCjCljA7yB7Zm/I4rDZnfgaUQpDUKwbUvL7hkIG8cVM=";
   };
 
   nativeBuildInputs = [
@@ -160,6 +161,8 @@ in stdenv.mkDerivation rec {
     gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : "${runtimeLibs}" )
   '';
 
+  passthru.updateScript = ./update.sh;
+
   meta = with lib; {
     description = "Office suite that combines text, spreadsheet and presentation editors allowing to create, view and edit local documents";
     homepage = "https://www.onlyoffice.com/";
diff --git a/nixpkgs/pkgs/applications/office/onlyoffice-bin/update.sh b/nixpkgs/pkgs/applications/office/onlyoffice-bin/update.sh
new file mode 100644
index 000000000000..d7b0bc106fa2
--- /dev/null
+++ b/nixpkgs/pkgs/applications/office/onlyoffice-bin/update.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p curl jq common-updater-scripts
+
+version="$(curl -sL "https://api.github.com/repos/ONLYOFFICE/DesktopEditors/releases?per_page=1" | jq -r ".[0].tag_name" | sed 's/^v//')"
+update-source-version onlyoffice-bin "$version"
diff --git a/nixpkgs/pkgs/applications/office/osmo/default.nix b/nixpkgs/pkgs/applications/office/osmo/default.nix
index 77cc087c66b4..975305a72173 100644
--- a/nixpkgs/pkgs/applications/office/osmo/default.nix
+++ b/nixpkgs/pkgs/applications/office/osmo/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A handy personal organizer";
-    homepage = "http://clayo.org/osmo/";
+    homepage = "https://clayo.org/osmo/";
     license = licenses.gpl2;
     platforms = platforms.linux;
     maintainers = with maintainers; [ pSub ];
diff --git a/nixpkgs/pkgs/applications/office/paperless-ng/default.nix b/nixpkgs/pkgs/applications/office/paperless-ng/default.nix
new file mode 100644
index 000000000000..e84b3c794433
--- /dev/null
+++ b/nixpkgs/pkgs/applications/office/paperless-ng/default.nix
@@ -0,0 +1,195 @@
+{ lib
+, fetchurl
+, nixosTests
+, python3
+, ghostscript
+, imagemagick
+, jbig2enc
+, ocrmypdf
+, optipng
+, pngquant
+, qpdf
+, tesseract4
+, unpaper
+, liberation_ttf
+}:
+
+let
+  py = python3.override {
+    packageOverrides = self: super: {
+      django = super.django_3;
+      django-picklefield = super.django-picklefield.overrideAttrs (oldAttrs: {
+        # Checks do not pass with django 3
+        doInstallCheck = false;
+      });
+      # Avoid warning in django-q versions > 1.3.4
+      # https://github.com/jonaswinkler/paperless-ng/issues/857
+      # https://github.com/Koed00/django-q/issues/526
+      django-q = super.django-q.overridePythonAttrs (oldAttrs: rec {
+        version = "1.3.4";
+        src = super.fetchPypi {
+          inherit (oldAttrs) pname;
+          inherit version;
+          sha256 = "Uj1U3PG2YVLBtlj5FPAO07UYo0MqnezUiYc4yo274Q8=";
+        };
+      });
+    };
+  };
+
+  path = lib.makeBinPath [ ghostscript imagemagick jbig2enc optipng pngquant qpdf tesseract4 unpaper ];
+in
+py.pkgs.pythonPackages.buildPythonApplication rec {
+  pname = "paperless-ng";
+  version = "1.5.0";
+
+  src = fetchurl {
+    url = "https://github.com/jonaswinkler/paperless-ng/releases/download/ng-${version}/${pname}-${version}.tar.xz";
+    sha256 = "oVSq0AWksuWC81MF5xiZ6ZbdKKtqqphmL+xIzJLaDMw=";
+  };
+
+  format = "other";
+
+  # Make bind address configurable
+  postPatch = ''
+    substituteInPlace gunicorn.conf.py --replace "bind = '0.0.0.0:8000'" ""
+  '';
+
+  propagatedBuildInputs = with py.pkgs.pythonPackages; [
+    aioredis
+    arrow
+    asgiref
+    async-timeout
+    attrs
+    autobahn
+    automat
+    blessed
+    certifi
+    cffi
+    channels-redis
+    channels
+    chardet
+    click
+    coloredlogs
+    concurrent-log-handler
+    constantly
+    cryptography
+    daphne
+    dateparser
+    django-cors-headers
+    django_extensions
+    django-filter
+    django-picklefield
+    django-q
+    django
+    djangorestframework
+    filelock
+    fuzzywuzzy
+    gunicorn
+    h11
+    hiredis
+    httptools
+    humanfriendly
+    hyperlink
+    idna
+    imap-tools
+    img2pdf
+    incremental
+    inotify-simple
+    inotifyrecursive
+    joblib
+    langdetect
+    lxml
+    msgpack
+    numpy
+    ocrmypdf
+    pathvalidate
+    pdfminer
+    pikepdf
+    pillow
+    pluggy
+    portalocker
+    psycopg2
+    pyasn1-modules
+    pyasn1
+    pycparser
+    pyopenssl
+    python-dateutil
+    python-dotenv
+    python-gnupg
+    python-Levenshtein
+    python_magic
+    pytz
+    pyyaml
+    redis
+    regex
+    reportlab
+    requests
+    scikit-learn
+    scipy
+    service-identity
+    six
+    sortedcontainers
+    sqlparse
+    threadpoolctl
+    tika
+    tqdm
+    twisted.extras.tls
+    txaio
+    tzlocal
+    urllib3
+    uvicorn
+    uvloop
+    watchdog
+    watchgod
+    wcwidth
+    websockets
+    whitenoise
+    whoosh
+    zope_interface
+  ];
+
+  doCheck = true;
+  checkInputs = with py.pkgs.pythonPackages; [
+    pytest
+    pytest-cov
+    pytest-django
+    pytest-env
+    pytest-sugar
+    pytest-xdist
+    factory_boy
+  ];
+
+  # The tests require:
+  # - PATH with runtime binaries
+  # - A temporary HOME directory for gnupg
+  # - XDG_DATA_DIRS with test-specific fonts
+  checkPhase = ''
+    pushd src
+    PATH="${path}:$PATH" HOME=$(mktemp -d) XDG_DATA_DIRS="${liberation_ttf}/share:$XDG_DATA_DIRS" pytest
+    popd
+  '';
+
+  installPhase = ''
+    mkdir -p $out/lib
+    cp -r . $out/lib/paperless-ng
+    chmod +x $out/lib/paperless-ng/src/manage.py
+    makeWrapper $out/lib/paperless-ng/src/manage.py $out/bin/paperless-ng \
+      --prefix PYTHONPATH : "$PYTHONPATH" \
+      --prefix PATH : "${path}"
+  '';
+
+  passthru = {
+    # PYTHONPATH of all dependencies used by the package
+    pythonPath = python3.pkgs.makePythonPath propagatedBuildInputs;
+    inherit path;
+
+    tests = { inherit (nixosTests) paperless-ng; };
+  };
+
+  meta = with lib; {
+    description = "A supercharged version of paperless: scan, index, and archive all of your physical documents";
+    homepage = "https://paperless-ng.readthedocs.io/en/latest/";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ earvstedt Flakebi ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/office/paperless/default.nix b/nixpkgs/pkgs/applications/office/paperless/default.nix
deleted file mode 100644
index 74bdacd95845..000000000000
--- a/nixpkgs/pkgs/applications/office/paperless/default.nix
+++ /dev/null
@@ -1,168 +0,0 @@
-{ stdenv
-, lib
-, fetchFromGitHub
-, makeWrapper
-, callPackage
-
-, python3
-, imagemagick
-, ghostscript
-, optipng
-, tesseract
-, unpaper
-}:
-
-## Usage
-
-# ${paperless}/bin/paperless wraps manage.py
-
-# ${paperless}/share/paperless/setup-env.sh can be sourced from a
-# shell script to setup a Paperless environment
-
-# paperless.withConfig is a convenience function to setup a
-# configured Paperless instance. (See ./withConfig.nix)
-
-# For WSGI with gunicorn, use a shell script like this:
-# let
-#   pythonEnv = paperless.python.withPackages (ps: paperless.runtimePackages ++ [ ps.gunicorn ]);
-# in
-#   writers.writeBash "run-gunicorn" ''
-#     source ${paperless}/share/paperless/setup-env.sh
-#     PYTHONPATH=$paperlessSrc ${pythonEnv}/bin/gunicorn paperless.wsgi
-#   ''
-
-let
-  paperless = stdenv.mkDerivation rec {
-    pname = "paperless";
-    version = "2.7.0";
-
-    src = fetchFromGitHub {
-      owner = "the-paperless-project";
-      repo = "paperless";
-      rev = version;
-      sha256 = "0pkmyky1crjnsg7r0gfk0fadisfsgzlsq6afpz16wx4hp6yvkkf7";
-    };
-
-    nativeBuildInputs = [ makeWrapper ];
-
-    doCheck = true;
-    dontInstall = true;
-
-    pythonEnv      = python.withPackages (_: runtimePackages);
-    pythonCheckEnv = python.withPackages (_: (runtimePackages ++ checkPackages));
-
-    unpackPhase = ''
-      srcDir=$out/share/paperless
-      mkdir -p $srcDir
-      cp -r --no-preserve=mode $src/src/* $src/LICENSE $srcDir
-    '';
-
-    postPatch = ''
-      # django-cors-headers 3.x requires a scheme for allowed hosts
-      substituteInPlace $out/share/paperless/paperless/settings.py \
-        --replace "localhost:8080" "http://localhost:8080"
-    '';
-
-    buildPhase = let
-      # Paperless has explicit runtime checks that expect these binaries to be in PATH
-      extraBin = lib.makeBinPath [ imagemagick ghostscript optipng tesseract unpaper ];
-    in ''
-      ${python.interpreter} -m compileall $srcDir
-
-      makeWrapper $pythonEnv/bin/python $out/bin/paperless \
-        --set PATH ${extraBin} --add-flags $out/share/paperless/manage.py
-
-      # A shell snippet that can be sourced to setup a paperless env
-      cat > $out/share/paperless/setup-env.sh <<EOF
-      export PATH="$pythonEnv/bin:${extraBin}''${PATH:+:}$PATH"
-      export paperlessSrc=$out/share/paperless
-      EOF
-    '';
-
-    checkPhase = ''
-      source $out/share/paperless/setup-env.sh
-      tmpDir=$(realpath testsTmp)
-      mkdir $tmpDir
-      export HOME=$tmpDir
-      export PAPERLESS_MEDIADIR=$tmpDir
-      cd $paperlessSrc
-      # Prevent tests from writing to the derivation output
-      chmod -R -w $out
-      # Disable cache to silence a pytest warning ("could not create cache")
-      $pythonCheckEnv/bin/pytest -p no:cacheprovider
-    '';
-
-    passthru = {
-      withConfig = callPackage ./withConfig.nix {};
-      inherit python runtimePackages checkPackages tesseract;
-    };
-
-    meta = with lib; {
-      description = "Scan, index, and archive all of your paper documents";
-      homepage = "https://github.com/the-paperless-project/paperless";
-      license = licenses.gpl3;
-      maintainers = [ maintainers.earvstedt ];
-    };
-  };
-
-  python = python3.override {
-    packageOverrides = self: super: let
-      customPkgs = import ./python-modules super fetchFromGitHub; in
-    {
-      pyocr = pyocrWithUserTesseract super;
-
-      # Paperless is incompatible with factory_boy >= 3
-      factory_boy = customPkgs.factory_boy_2_12_0;
-
-      # These are pre-release versions, hence they are private to this pkg
-      django-filter = self.callPackage ./python-modules/django-filter.nix {};
-      django-crispy-forms = self.callPackage ./python-modules/django-crispy-forms.nix {};
-    };
-  };
-
-  runtimePackages = with python.pkgs; [
-    dateparser
-    python-dateutil
-    django
-    django-cors-headers
-    django-crispy-forms
-    django-filter
-    django_extensions
-    djangoql
-    djangorestframework
-    factory_boy
-    filemagic
-    fuzzywuzzy
-    langdetect
-    pdftotext
-    pillow
-    psycopg2
-    pyocr
-    python-dotenv
-    python-gnupg
-    pytz
-    termcolor
-  ] ++ (lib.optional stdenv.isLinux inotify-simple);
-
-  checkPackages = with python.pkgs; [
-    pytest
-    pytest-django
-    pytest-env
-    pytest-xdist
-  ];
-
-  pyocrWithUserTesseract = pyPkgs:
-    let
-      pyocr = pyPkgs.pyocr.override { inherit tesseract; };
-    in
-      if pyocr.outPath == pyPkgs.pyocr.outPath then
-        pyocr
-      else
-        # The user has provided a custom tesseract derivation that might be
-        # missing some languages that are required for PyOCR's tests. Disable them to
-        # avoid build errors.
-        pyocr.overridePythonAttrs (attrs: {
-          doCheck = false;
-        });
-in
-  paperless
diff --git a/nixpkgs/pkgs/applications/office/paperless/python-modules/default.nix b/nixpkgs/pkgs/applications/office/paperless/python-modules/default.nix
deleted file mode 100644
index e1fb227614fc..000000000000
--- a/nixpkgs/pkgs/applications/office/paperless/python-modules/default.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-pyPkgs: fetchFromGitHub:
-{
-  factory_boy_2_12_0 = pyPkgs.factory_boy.overridePythonAttrs (old: rec {
-    version = "2.12.0";
-    src = pyPkgs.fetchPypi {
-      inherit (old) pname;
-      inherit version;
-      sha256 = "0w53hjgag6ad5i2vmrys8ysk54agsqvgbjy9lg8g0d8pi9h8vx7s";
-    };
-  });
-}
diff --git a/nixpkgs/pkgs/applications/office/paperless/python-modules/django-crispy-forms.nix b/nixpkgs/pkgs/applications/office/paperless/python-modules/django-crispy-forms.nix
deleted file mode 100644
index f8b91a94ccc7..000000000000
--- a/nixpkgs/pkgs/applications/office/paperless/python-modules/django-crispy-forms.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, pytestCheckHook
-, pytest-django
-, django
-}:
-
-buildPythonPackage rec {
-  pname = "django-crispy-forms";
-  version = "1.10.0";
-
-  src = fetchFromGitHub {
-    owner = "django-crispy-forms";
-    repo = "django-crispy-forms";
-    rev = version;
-    sha256 = "0y6kskfxgckb9npcgwx4zrs5n9px159zh9zhinhxi3i7wlriqpf5";
-  };
-
-  # For reasons unknown, the source dir must contain a dash
-  # for the tests to run successfully
-  postUnpack = ''
-    mv $sourceRoot source-
-    export sourceRoot=source-
-  '';
-
-  checkInputs = [ django pytest-django pytestCheckHook ];
-
-  preCheck = ''
-    export DJANGO_SETTINGS_MODULE=crispy_forms.tests.test_settings
-  '';
-
-  meta = with lib; {
-    description = "The best way to have DRY Django forms";
-    homepage = "https://github.com/maraujop/django-crispy-forms";
-    license = licenses.mit;
-    maintainers = with maintainers; [ earvstedt ];
-  };
-}
diff --git a/nixpkgs/pkgs/applications/office/paperless/python-modules/django-filter.nix b/nixpkgs/pkgs/applications/office/paperless/python-modules/django-filter.nix
deleted file mode 100644
index d7f20bd9d37d..000000000000
--- a/nixpkgs/pkgs/applications/office/paperless/python-modules/django-filter.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ lib, buildPythonPackage, python, pythonOlder, fetchFromGitHub
-, django, django-crispy-forms, djangorestframework, mock, pytz }:
-
-buildPythonPackage rec {
-  pname = "django-filter";
-  version = "2.1.0-pre";
-  disabled = pythonOlder "3.4";
-
-  src = fetchFromGitHub {
-    owner = "carltongibson";
-    repo = pname;
-    rev = "24adad8c48bc9e7c7539b6510ffde4ce4effdc29";
-    sha256 = "0hv4w95jnlzp9vdximl6bb27fyi75001jhvsbs0ikkd8amq8iaj7";
-  };
-
-  checkInputs = [ django django-crispy-forms djangorestframework mock pytz ];
-
-  checkPhase = "${python.interpreter} runtests.py";
-
-  meta = with lib; {
-    description = "A reusable Django application for allowing users to filter querysets dynamically.";
-    homepage = "https://github.com/carltongibson/django-filter";
-    license = licenses.bsd3;
-    maintainers = with maintainers; [ earvstedt ];
-  };
-}
diff --git a/nixpkgs/pkgs/applications/office/paperless/withConfig.nix b/nixpkgs/pkgs/applications/office/paperless/withConfig.nix
deleted file mode 100644
index 652d1478c0ca..000000000000
--- a/nixpkgs/pkgs/applications/office/paperless/withConfig.nix
+++ /dev/null
@@ -1,68 +0,0 @@
-{ paperless, lib, writers }:
-
-## Usage
-#
-# nix-build --out-link ./paperless -E '
-# (import <nixpkgs> {}).paperless.withConfig {
-#   dataDir = /tmp/paperless-data;
-#   config = {
-#     PAPERLESS_DISABLE_LOGIN = "true";
-#   };
-# }'
-#
-# Setup DB
-# ./paperless migrate
-#
-# Consume documents in ${dataDir}/consume
-# ./paperless document_consumer --oneshot
-#
-# Start web interface
-# ./paperless runserver --noreload localhost:8000
-
-{ config ? {}, dataDir ? null, ocrLanguages ? null
-, paperlessPkg ? paperless, extraCmds ? "" }:
-with lib;
-let
-  paperless = if ocrLanguages == null then
-    paperlessPkg
-  else
-    (paperlessPkg.override {
-      tesseract = paperlessPkg.tesseract.override {
-        enableLanguages = ocrLanguages;
-      };
-    }).overrideDerivation (_: {
-      # `ocrLanguages` might be missing some languages required by the tests.
-      doCheck = false;
-    });
-
-  envVars = (optionalAttrs (dataDir != null) {
-    PAPERLESS_CONSUMPTION_DIR = "${dataDir}/consume";
-    PAPERLESS_MEDIADIR = "${dataDir}/media";
-    PAPERLESS_STATICDIR = "${dataDir}/static";
-    PAPERLESS_DBDIR = dataDir;
-  }) // config;
-
-  envVarDefs = mapAttrsToList (n: v: ''export ${n}="${toString v}"'') envVars;
-  setupEnvVars = builtins.concatStringsSep "\n" envVarDefs;
-
-  setupEnv = ''
-    source ${paperless}/share/paperless/setup-env.sh
-    ${setupEnvVars}
-    ${optionalString (dataDir != null) ''
-      mkdir -p "$PAPERLESS_CONSUMPTION_DIR" \
-               "$PAPERLESS_MEDIADIR" \
-               "$PAPERLESS_STATICDIR" \
-               "$PAPERLESS_DBDIR"
-    ''}
-  '';
-
-  runPaperless = writers.writeBash "paperless" ''
-    set -e
-    ${setupEnv}
-    ${extraCmds}
-    exec python $paperlessSrc/manage.py "$@"
-  '';
-in
-  runPaperless // {
-    inherit paperless setupEnv;
-  }
diff --git a/nixpkgs/pkgs/applications/office/pdfmixtool/default.nix b/nixpkgs/pkgs/applications/office/pdfmixtool/default.nix
new file mode 100644
index 000000000000..7d874015dc24
--- /dev/null
+++ b/nixpkgs/pkgs/applications/office/pdfmixtool/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, mkDerivation
+, fetchFromGitLab
+, cmake
+, pkg-config
+, qtbase
+, qttools
+, qpdf
+, podofo
+}:
+
+mkDerivation rec {
+  pname = "pdfmixtool";
+  version = "1.0.2";
+
+  src = fetchFromGitLab {
+    owner = "scarpetta";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "066ap1w05gj8n0kvilyhlr1fzwrmlczx3lax7mbw0rfid9qh3467";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+  ];
+
+  buildInputs = [
+    qtbase
+    qttools
+    qpdf
+    podofo
+  ];
+
+  meta = with lib; {
+    description = "An application to split, merge, rotate and mix PDF files";
+    homepage = "https://gitlab.com/scarpetta/pdfmixtool";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ onny ];
+  };
+}
+
diff --git a/nixpkgs/pkgs/applications/office/portfolio/default.nix b/nixpkgs/pkgs/applications/office/portfolio/default.nix
index eb2c0b0f1e77..8533df467132 100644
--- a/nixpkgs/pkgs/applications/office/portfolio/default.nix
+++ b/nixpkgs/pkgs/applications/office/portfolio/default.nix
@@ -24,11 +24,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "PortfolioPerformance";
-  version = "0.53.1";
+  version = "0.54.2";
 
   src = fetchurl {
     url = "https://github.com/buchen/portfolio/releases/download/${version}/PortfolioPerformance-${version}-linux.gtk.x86_64.tar.gz";
-    sha256 = "0hddq1nijxhr6kgf7gydw0nh07lh86fs8srkhm29ik4hmv8ch19p";
+    sha256 = "sha256-fKUKVeR0q8oylpwF4d3jnkON4vbQ80Fc9WYWStb67ek=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/office/pympress/default.nix b/nixpkgs/pkgs/applications/office/pympress/default.nix
index ebc93edba6ef..2a97de6ca5b8 100644
--- a/nixpkgs/pkgs/applications/office/pympress/default.nix
+++ b/nixpkgs/pkgs/applications/office/pympress/default.nix
@@ -1,21 +1,34 @@
 { lib
+, stdenv
+, fetchpatch
 , python3Packages
 , wrapGAppsHook
 , gtk3
 , gobject-introspection
 , libcanberra-gtk3
 , poppler_gi
+, withGstreamer ? stdenv.isLinux
+, withVLC ? stdenv.isLinux
  }:
 
 python3Packages.buildPythonApplication rec {
   pname = "pympress";
-  version = "1.5.1";
+  version = "1.6.3";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "173d9scf2z29qg279jf33zcl7sgc3wp662fgpm943bn9667q18wf";
+    sha256 = "sha256-f+OjE0x/3yfJYHCLB+on7TT7MJ2vNu87SHRi67qFDCM=";
   };
 
+  patches = [
+    # Should not be needed once v1.6.4 is released
+    (fetchpatch {
+      name = "fix-setuptools-version-parsing.patch";
+      url = "https://github.com/Cimbali/pympress/commit/474514d71396ac065e210fd846e07ed1139602d0.diff";
+      sha256 = "sha256-eiw54sjMrXrNrhtkAXxiSTatzoA0NDA03L+HpTDax58=";
+    })
+  ];
+
   nativeBuildInputs = [
     wrapGAppsHook
   ];
@@ -23,16 +36,15 @@ python3Packages.buildPythonApplication rec {
   buildInputs = [
     gtk3
     gobject-introspection
-    libcanberra-gtk3
     poppler_gi
-  ];
+  ] ++ lib.optional withGstreamer libcanberra-gtk3;
 
   propagatedBuildInputs = with python3Packages; [
     pycairo
     pygobject3
-    python-vlc
+    setuptools
     watchdog
-  ];
+  ] ++ lib.optional withVLC python-vlc;
 
   doCheck = false; # there are no tests
 
diff --git a/nixpkgs/pkgs/applications/office/skrooge/default.nix b/nixpkgs/pkgs/applications/office/skrooge/default.nix
index 8f5beee38451..506a2f99f607 100644
--- a/nixpkgs/pkgs/applications/office/skrooge/default.nix
+++ b/nixpkgs/pkgs/applications/office/skrooge/default.nix
@@ -7,11 +7,11 @@
 
 mkDerivation rec {
   pname = "skrooge";
-  version = "2.24.6";
+  version = "2.26.1";
 
   src = fetchurl {
-    url = "http://download.kde.org/stable/skrooge/${pname}-${version}.tar.xz";
-    sha256 = "sha256-DReIm9lcq0j761wWTpJu7HnfEWz9QsRGgUtyVaXFs6A=";
+    url = "https://download.kde.org/stable/skrooge/${pname}-${version}.tar.xz";
+    sha256 = "sha256-66hoA+FDTeMbNAInr9TlTSnwUywJQjTRz87MkdNYn5Q=";
   };
 
   nativeBuildInputs = [
@@ -30,6 +30,7 @@ mkDerivation rec {
   cmakeFlags = [
     "-DSKG_DESIGNER=OFF"
     "-DSKG_WEBENGINE=ON"
+    "-DSKG_WEBKIT=OFF"
     "-DBUILD_TESTS=ON"
   ];
 
diff --git a/nixpkgs/pkgs/applications/office/todoman/default.nix b/nixpkgs/pkgs/applications/office/todoman/default.nix
index fc9f70094da1..e01391519e49 100644
--- a/nixpkgs/pkgs/applications/office/todoman/default.nix
+++ b/nixpkgs/pkgs/applications/office/todoman/default.nix
@@ -10,11 +10,11 @@ let
 in
 buildPythonApplication rec {
   pname = "todoman";
-  version = "3.9.0";
+  version = "4.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e7e5cab13ecce0562b1f13f46ab8cbc079caed4b462f2371929f8a4abff2bcbe";
+    sha256 = "4c4d0c6533da8d553f3dd170c9c4ff3752eb11fd7177ee391414a39adfef60ad";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
@@ -28,7 +28,6 @@ buildPythonApplication rec {
     click
     click-log
     click-repl
-    configobj
     humanize
     icalendar
     parsedatetime
diff --git a/nixpkgs/pkgs/applications/office/trilium/default.nix b/nixpkgs/pkgs/applications/office/trilium/default.nix
index a1be66c56f12..3cf7fd1eaebd 100644
--- a/nixpkgs/pkgs/applications/office/trilium/default.nix
+++ b/nixpkgs/pkgs/applications/office/trilium/default.nix
@@ -19,16 +19,16 @@ let
     maintainers = with maintainers; [ fliegendewurst ];
   };
 
-  version = "0.47.5";
+  version = "0.47.7";
 
   desktopSource = {
     url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-${version}.tar.xz";
-    sha256 = "16sm93vzlsqmrykbzdvgwszbhq79brd74zp9n9q5wrf4s44xizzv";
+    sha256 = "1fcrc01wr8ln1i77q9h89i90wwyijpfp58fa717wbdvyly4860sh";
   };
 
   serverSource = {
     url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-server-${version}.tar.xz";
-    sha256 = "0jk9pf3ljzfdv7d91wxda8z9qz653qas58wsrx42gnf7zxn1l648";
+    sha256 = "0qp37y3xgbhl6vj2bkwz1lfylkn82kx7n0lcfr58wxwkn00149ry";
   };
 
 in {
diff --git a/nixpkgs/pkgs/applications/office/zim/default.nix b/nixpkgs/pkgs/applications/office/zim/default.nix
index 4cf3c3d78cec..c0bca4c90432 100644
--- a/nixpkgs/pkgs/applications/office/zim/default.nix
+++ b/nixpkgs/pkgs/applications/office/zim/default.nix
@@ -1,25 +1,22 @@
 { lib, stdenv, fetchurl, python3Packages, gtk3, gobject-introspection, wrapGAppsHook, gnome }:
 
-#
 # TODO: Declare configuration options for the following optional dependencies:
 #  -  File stores: hg, git, bzr
 #  -  Included plugins depenencies: dot, ditaa, dia, any other?
 #  -  pyxdg: Need to make it work first (see setupPyInstallFlags).
-#
 
 python3Packages.buildPythonApplication rec {
-  name = "zim-${version}";
-  version = "0.73.1";
+  pname = "zim";
+  version = "0.73.5";
 
   src = fetchurl {
-    url = "https://zim-wiki.org/downloads/${name}.tar.gz";
-    sha256 = "13vhwsgv6mscgixypc0ixkgj0y7cpcm7z7wn1vmdrwp7kn8m3xgx";
+    url = "https://zim-wiki.org/downloads/zim-${version}.tar.gz";
+    sha256 = "sha256-o28V2Sw5lMDVWwf4MlOz2LgmvrNxSGXturwU8cyR1jo=";
   };
 
   buildInputs = [ gtk3 gobject-introspection wrapGAppsHook gnome.adwaita-icon-theme ];
   propagatedBuildInputs = with python3Packages; [ pyxdg pygobject3 ];
 
-
   preFixup = ''
     export makeWrapperArgs="--prefix XDG_DATA_DIRS : $out/share --argv0 $out/bin/.zim-wrapped"
   '';
@@ -28,13 +25,12 @@ python3Packages.buildPythonApplication rec {
   doCheck = false;
 
   checkPhase = ''
-    python test.py
+    ${python3Packages.python.interpreter} test.py
   '';
 
-
   meta = with lib; {
     description = "A desktop wiki";
-    homepage = "http://zim-wiki.org";
+    homepage = "https://zim-wiki.org/";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ pSub ];
     broken = stdenv.isDarwin; # https://github.com/NixOS/nixpkgs/pull/52658#issuecomment-449565790
diff --git a/nixpkgs/pkgs/applications/office/zotero/default.nix b/nixpkgs/pkgs/applications/office/zotero/default.nix
index 53f021344d89..74f05a0b4025 100644
--- a/nixpkgs/pkgs/applications/office/zotero/default.nix
+++ b/nixpkgs/pkgs/applications/office/zotero/default.nix
@@ -36,11 +36,11 @@
 
 stdenv.mkDerivation rec {
   pname = "zotero";
-  version = "5.0.96.2";
+  version = "5.0.96.3";
 
   src = fetchurl {
     url = "https://download.zotero.org/client/release/${version}/Zotero-${version}_linux-x86_64.tar.bz2";
-    sha256 = "sha256-ZT+qxNLjdG29DhyV0JXtgDHDi2gYPyKrZwgJOro5III=";
+    sha256 = "sha256-eqSNzmkGNopGJ7VByvUffFEPJz3WHS7b5+jgUAW/hU4=";
   };
 
   nativeBuildInputs = [ wrapGAppsHook ];
diff --git a/nixpkgs/pkgs/applications/radio/chirp/default.nix b/nixpkgs/pkgs/applications/radio/chirp/default.nix
index e9b446dc5847..2e4b3b30d225 100644
--- a/nixpkgs/pkgs/applications/radio/chirp/default.nix
+++ b/nixpkgs/pkgs/applications/radio/chirp/default.nix
@@ -4,11 +4,11 @@
 }:
 python2.pkgs.buildPythonApplication rec {
   pname = "chirp-daily";
-  version = "20200807";
+  version = "20210724";
 
   src = fetchurl {
     url = "https://trac.chirp.danplanet.com/chirp_daily/daily-${version}/${pname}-${version}.tar.gz";
-    sha256 = "60b682793698e6427ad485546eae3a044b8290a220f190633158a2fb0e942fa0";
+    sha256 = "0wddzls7r0l5b8vvljnmrj5lmmp7zkzl4h73pyigyf9nbhaklybb";
   };
 
   propagatedBuildInputs = with python2.pkgs; [
diff --git a/nixpkgs/pkgs/applications/radio/fldigi/default.nix b/nixpkgs/pkgs/applications/radio/fldigi/default.nix
index 36f020ed2726..0de04e26ff36 100644
--- a/nixpkgs/pkgs/applications/radio/fldigi/default.nix
+++ b/nixpkgs/pkgs/applications/radio/fldigi/default.nix
@@ -1,23 +1,49 @@
-{ lib, stdenv, fetchurl, hamlib, fltk14, libjpeg, libpng, portaudio, libsndfile,
-  libsamplerate, libpulseaudio, libXinerama, gettext, pkg-config, alsa-lib }:
+{ lib
+, stdenv
+, fetchurl
+, hamlib
+, fltk14
+, libjpeg
+, libpng
+, portaudio
+, libsndfile
+, libsamplerate
+, libpulseaudio
+, libXinerama
+, gettext
+, pkg-config
+, alsa-lib
+, udev
+}:
 
 stdenv.mkDerivation rec {
-  version = "4.1.18";
   pname = "fldigi";
+  version = "4.1.20";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-PH/YSrOoS6RSWyUenVYSDa7mJqODFoSpdP2tR2+QJw0=";
+    sha256 = "0f64pqijl3jlfmv00hkdxvn1wy5yy3zl33p6vf3fn1b91w590c2h";
   };
 
-  buildInputs = [ libXinerama gettext hamlib fltk14 libjpeg libpng portaudio
-                  libsndfile libsamplerate libpulseaudio pkg-config alsa-lib ];
+  nativeBuildInputs = [ pkg-config ];
 
-  meta = {
+  buildInputs = [
+    libXinerama
+    gettext
+    hamlib
+    fltk14
+    libjpeg
+    libpng
+    portaudio
+    libsndfile
+    libsamplerate
+  ] ++ lib.optionals (stdenv.isLinux) [ libpulseaudio alsa-lib udev ];
+
+  meta = with lib; {
     description = "Digital modem program";
     homepage = "https://sourceforge.net/projects/fldigi/";
-    license = lib.licenses.gpl3Plus;
-    maintainers = with lib.maintainers; [ relrod ftrvxmtrx ];
-    platforms = lib.platforms.linux;
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ relrod ftrvxmtrx ];
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/applications/radio/fllog/default.nix b/nixpkgs/pkgs/applications/radio/fllog/default.nix
index b0983c811e12..e762dbe65716 100644
--- a/nixpkgs/pkgs/applications/radio/fllog/default.nix
+++ b/nixpkgs/pkgs/applications/radio/fllog/default.nix
@@ -7,12 +7,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.2.6";
+  version = "1.2.7";
   pname = "fllog";
 
   src = fetchurl {
     url = "mirror://sourceforge/fldigi/${pname}-${version}.tar.gz";
-    sha256 = "18nwqbbg5khpkwlr7dn41g6zf7ms2wzxykd42fwdsj4m4z0ysyyg";
+    sha256 = "sha256-HxToZ+f1IJgDKGPHBeVuS7rRkh3+KfpyoYPBwfyqsC8=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/applications/radio/flmsg/default.nix b/nixpkgs/pkgs/applications/radio/flmsg/default.nix
index 0f75f704af3d..cb0925019f9c 100644
--- a/nixpkgs/pkgs/applications/radio/flmsg/default.nix
+++ b/nixpkgs/pkgs/applications/radio/flmsg/default.nix
@@ -7,12 +7,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "4.0.17";
+  version = "4.0.19";
   pname = "flmsg";
 
   src = fetchurl {
     url = "mirror://sourceforge/fldigi/${pname}-${version}.tar.gz";
-    sha256 = "09xf3f65d3qi69frznf4fdznbfbc7kmgxw716q2c7ccsmh9c5q44";
+    sha256 = "sha256-Pm5qAUNbenkX9V3OSQWW09iIRR/WB1jB4ioyRCZmjqs=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/applications/radio/multimon-ng/default.nix b/nixpkgs/pkgs/applications/radio/multimon-ng/default.nix
index 67d7dbea1740..1bfbf00e46fe 100644
--- a/nixpkgs/pkgs/applications/radio/multimon-ng/default.nix
+++ b/nixpkgs/pkgs/applications/radio/multimon-ng/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "01716cfhxfzsab9zjply9giaa4nn4b7rm3p3vizrwi7n253yiwm2";
   };
 
-  buildInputs = [ libpulseaudio libX11 ];
+  buildInputs = lib.optionals stdenv.isLinux [ libpulseaudio libX11 ];
 
   nativeBuildInputs = [ cmake ];
 
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = "https://github.com/EliasOenal/multimon-ng";
     license = licenses.gpl2Only;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ markuskowa ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/radio/qradiolink/default.nix b/nixpkgs/pkgs/applications/radio/qradiolink/default.nix
index 2dbd9f1aba9c..2f31761537d0 100644
--- a/nixpkgs/pkgs/applications/radio/qradiolink/default.nix
+++ b/nixpkgs/pkgs/applications/radio/qradiolink/default.nix
@@ -68,8 +68,6 @@ gnuradio3_8.pkgs.mkDerivation rec {
     gnuradio3_8.qt.wrapQtAppsHook
   ];
 
-  enableParallelBuilding = true;
-
   meta = with lib; {
     description = "SDR transceiver application for analog and digital modes";
     homepage = "http://qradiolink.org/";
diff --git a/nixpkgs/pkgs/applications/radio/qsstv/default.nix b/nixpkgs/pkgs/applications/radio/qsstv/default.nix
index 555264ac4850..7b27bb2eac02 100644
--- a/nixpkgs/pkgs/applications/radio/qsstv/default.nix
+++ b/nixpkgs/pkgs/applications/radio/qsstv/default.nix
@@ -10,8 +10,6 @@ mkDerivation rec {
     sha256 = "0f9hx6sy418cb23fadll298pqbc5l2lxsdivi4vgqbkvx7sw58zi";
   };
 
-  enableParallelBuilding = true;
-
   nativeBuildInputs = [
     qmake
     pkg-config
diff --git a/nixpkgs/pkgs/applications/radio/sdrangel/default.nix b/nixpkgs/pkgs/applications/radio/sdrangel/default.nix
index ff3ca497c7fc..e9a15aaed194 100644
--- a/nixpkgs/pkgs/applications/radio/sdrangel/default.nix
+++ b/nixpkgs/pkgs/applications/radio/sdrangel/default.nix
@@ -33,13 +33,13 @@
 
 mkDerivation rec {
   pname = "sdrangel";
-  version = "6.8.0";
+  version = "6.16.2";
 
   src = fetchFromGitHub {
     owner = "f4exb";
     repo = "sdrangel";
     rev = "v${version}";
-    sha256 = "sha256-dFWwEs2nvcaCWpM4tA3/w8PbmNXn/R7JvxP3XEHasSQ=";
+    sha256 = "sha256-wWGKJWd3JDaT0dDMUrxv9ShMVe+q4zvH8SjyKw7UIbo=";
     fetchSubmodules = false;
   };
 
diff --git a/nixpkgs/pkgs/applications/radio/soapysdr/default.nix b/nixpkgs/pkgs/applications/radio/soapysdr/default.nix
index ccd4b8799cef..c6335b51c416 100644
--- a/nixpkgs/pkgs/applications/radio/soapysdr/default.nix
+++ b/nixpkgs/pkgs/applications/radio/soapysdr/default.nix
@@ -8,7 +8,7 @@
 
 let
 
-  version = "0.8.0";
+  version = "0.8.1";
   modulesVersion = with lib; versions.major version + "." + versions.minor version;
   modulesPath = "lib/SoapySDR/modules" + modulesVersion;
   extraPackagesSearchPath = lib.makeSearchPath modulesPath extraPackages;
@@ -21,7 +21,7 @@ in stdenv.mkDerivation {
     owner = "pothosware";
     repo = "SoapySDR";
     rev = "soapy-sdr-${version}";
-    sha256 = "1dy25zxk7wmg7ik82dx7h3bbbynvalbz1dxsl7kgm3374yxhnixv";
+    sha256 = "19f2x0pkxvf9figa0pl6xqlcz8fblvqb19mcnj632p0l8vk6qdv2";
   };
 
   nativeBuildInputs = [ cmake makeWrapper pkg-config ];
diff --git a/nixpkgs/pkgs/applications/radio/unixcw/default.nix b/nixpkgs/pkgs/applications/radio/unixcw/default.nix
index 8d28215ae251..0d352609cf0d 100644
--- a/nixpkgs/pkgs/applications/radio/unixcw/default.nix
+++ b/nixpkgs/pkgs/applications/radio/unixcw/default.nix
@@ -1,5 +1,6 @@
-{lib, stdenv, fetchurl, libpulseaudio, alsa-lib , pkg-config, qt5}:
-stdenv.mkDerivation rec {
+{ lib, mkDerivation, fetchurl, libpulseaudio, alsa-lib , pkg-config, qtbase }:
+
+mkDerivation rec {
   pname = "unixcw";
   version = "3.5.1";
   src = fetchurl {
@@ -9,11 +10,9 @@ stdenv.mkDerivation rec {
   patches = [
     ./remove-use-of-dlopen.patch
   ];
-  buildInputs = [libpulseaudio alsa-lib pkg-config qt5.qtbase];
+  buildInputs = [ libpulseaudio alsa-lib pkg-config qtbase ];
   CFLAGS   ="-lasound -lpulse-simple";
 
-  dontWrapQtApps = true;
-
   meta = with lib; {
     description = "sound characters as Morse code on the soundcard or console speaker";
     longDescription = ''
diff --git a/nixpkgs/pkgs/applications/radio/urh/default.nix b/nixpkgs/pkgs/applications/radio/urh/default.nix
index 00d3431b6e37..a5c687a8db20 100644
--- a/nixpkgs/pkgs/applications/radio/urh/default.nix
+++ b/nixpkgs/pkgs/applications/radio/urh/default.nix
@@ -5,13 +5,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "urh";
-  version = "2.9.1";
+  version = "2.9.2";
 
   src = fetchFromGitHub {
     owner = "jopohl";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0s8zlq2bx6hp8c522rkxj9kbkf3a0qj6iyg7q9dcxmcl3q2sanq9";
+    sha256 = "0ibcr2ypnyl2aq324sbmmr18ksxszg81yrhybawx46ba9vym6j99";
   };
 
   nativeBuildInputs = [ qt5.wrapQtAppsHook ];
diff --git a/nixpkgs/pkgs/applications/radio/wsjtx/default.nix b/nixpkgs/pkgs/applications/radio/wsjtx/default.nix
index ae378b571068..8dbdd5d4ff27 100644
--- a/nixpkgs/pkgs/applications/radio/wsjtx/default.nix
+++ b/nixpkgs/pkgs/applications/radio/wsjtx/default.nix
@@ -4,12 +4,12 @@
 
 stdenv.mkDerivation rec {
   pname = "wsjtx";
-  version = "2.3.1";
+  version = "2.4.0";
 
   # This is a "superbuild" tarball containing both wsjtx and a hamlib fork
   src = fetchurl {
     url = "http://physics.princeton.edu/pulsar/k1jt/wsjtx-${version}.tgz";
-    sha256 = "11wzh4bxp9277kbqkyrc063akkk09czgxnkpk8k07vl4s3dan3hh";
+    sha256 = "sha256-LpfGzI/Hpsp7/K0ZZu2EFVlvWcN0cnAQ1RNAxCMugcg=";
   };
 
   # Hamlib builds with autotools, wsjtx builds with cmake
diff --git a/nixpkgs/pkgs/applications/radio/xlog/default.nix b/nixpkgs/pkgs/applications/radio/xlog/default.nix
index a013fe41d830..06b7c108fa96 100644
--- a/nixpkgs/pkgs/applications/radio/xlog/default.nix
+++ b/nixpkgs/pkgs/applications/radio/xlog/default.nix
@@ -1,11 +1,11 @@
 { lib, stdenv, fetchurl, glib, gtk2, pkg-config, hamlib }:
 stdenv.mkDerivation rec {
   pname = "xlog";
-  version = "2.0.20";
+  version = "2.0.23";
 
   src = fetchurl {
     url = "https://download.savannah.gnu.org/releases/xlog/${pname}-${version}.tar.gz";
-    sha256 = "sha256-pSGmKLHGc+Eb9OG27k1rYOMn/2BiRejrBajARjEgsUA=";
+    sha256 = "sha256-JSPyXOJbYOCeWY6h0v8fbmBkf1Dop1gdmnn4gKdBgac=";
   };
 
   # glib-2.62 deprecations
diff --git a/nixpkgs/pkgs/applications/science/biology/bedops/default.nix b/nixpkgs/pkgs/applications/science/biology/bedops/default.nix
index 407ed0c01f76..e7379ee382a4 100644
--- a/nixpkgs/pkgs/applications/science/biology/bedops/default.nix
+++ b/nixpkgs/pkgs/applications/science/biology/bedops/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "bedops";
-  version = "2.4.39";
+  version = "2.4.40";
 
   src = fetchFromGitHub {
     owner = "bedops";
     repo = "bedops";
     rev = "v${version}";
-    sha256 = "sha256-vPrut3uhZK1Eg9vPcyxVNWW4zKeypdsb28oM1xbbpJo=";
+    sha256 = "sha256-rJVl3KbzGblyQZ7FtJXeEv/wjQJmzYGNjzhvkoMoBWY=";
   };
 
   buildInputs = [ zlib bzip2 jansson ];
diff --git a/nixpkgs/pkgs/applications/science/biology/bowtie/default.nix b/nixpkgs/pkgs/applications/science/biology/bowtie/default.nix
index 916bba5c0512..0722ffe09fc9 100644
--- a/nixpkgs/pkgs/applications/science/biology/bowtie/default.nix
+++ b/nixpkgs/pkgs/applications/science/biology/bowtie/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "An ultrafast memory-efficient short read aligner";
     license = licenses.artistic2;
-    homepage = "http://bowtie-bio.sf.net/bowtie";
+    homepage = "http://bowtie-bio.sourceforge.net";
     maintainers = with maintainers; [ prusnak ];
     platforms = platforms.all;
   };
diff --git a/nixpkgs/pkgs/applications/science/biology/bowtie2/default.nix b/nixpkgs/pkgs/applications/science/biology/bowtie2/default.nix
index 205ff9afdca1..818d0fe14ba2 100644
--- a/nixpkgs/pkgs/applications/science/biology/bowtie2/default.nix
+++ b/nixpkgs/pkgs/applications/science/biology/bowtie2/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, tbb, zlib }:
+{ lib, stdenv, fetchFromGitHub, cmake, tbb, zlib, python3, perl }:
 
 stdenv.mkDerivation rec {
   pname = "bowtie2";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake ];
 
-  buildInputs = [ tbb zlib ];
+  buildInputs = [ tbb zlib python3 perl ];
 
   meta = with lib; {
     description = "An ultrafast and memory-efficient tool for aligning sequencing reads to long reference sequences";
diff --git a/nixpkgs/pkgs/applications/science/biology/cd-hit/default.nix b/nixpkgs/pkgs/applications/science/biology/cd-hit/default.nix
index ba1d6c27ccb1..474c0f292af4 100644
--- a/nixpkgs/pkgs/applications/science/biology/cd-hit/default.nix
+++ b/nixpkgs/pkgs/applications/science/biology/cd-hit/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "032nva6iiwmw59gjipm1mv0xlcckhxsf45mc2qbnv19lbis0q22i";
   };
 
-  propagatedBuildInputs = [ perl perlPackages.TextNSP perlPackages.PerlMagick ];
+  propagatedBuildInputs = [ perl perlPackages.TextNSP perlPackages.ImageMagick ];
 
   nativeBuildInputs = [ zlib makeWrapper ];
   buildInputs = lib.optional stdenv.cc.isClang openmp;
diff --git a/nixpkgs/pkgs/applications/science/biology/fastp/default.nix b/nixpkgs/pkgs/applications/science/biology/fastp/default.nix
index e396c8597d24..c4cae59d1c4e 100644
--- a/nixpkgs/pkgs/applications/science/biology/fastp/default.nix
+++ b/nixpkgs/pkgs/applications/science/biology/fastp/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fastp";
-  version = "0.20.1";
+  version = "0.22.0";
 
   src = fetchFromGitHub {
     owner = "OpenGene";
     repo = "fastp";
     rev = "v${version}";
-    sha256 = "sha256-pANwppkO9pfV9vctB7HmNCzYRtf+Xt+5HMKzvFuvyFM=";
+    sha256 = "sha256-XR76hNz7iGXQYSBbBandHZ+oU3wyTf1AKlu9Xeq/GyE=";
   };
 
   buildInputs = [ zlib ];
diff --git a/nixpkgs/pkgs/applications/science/biology/minimap2/default.nix b/nixpkgs/pkgs/applications/science/biology/minimap2/default.nix
index d21ef8b3d7a9..072826c40615 100644
--- a/nixpkgs/pkgs/applications/science/biology/minimap2/default.nix
+++ b/nixpkgs/pkgs/applications/science/biology/minimap2/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "minimap2";
-  version = "2.17";
+  version = "2.22";
 
   src = fetchFromGitHub {
     repo = pname;
     owner = "lh3";
     rev = "v${version}";
-    sha256 = "0qdwlkib3aa6112372hdgvnvk86hsjjkhjar0p53pq4ajrr2cdlb";
+    sha256 = "sha256-jYXJr2T1enZfSABVV5Kmd5OBtWZtQ2D/2eAlW2WHtGU=";
   };
 
   buildInputs = [ zlib ];
diff --git a/nixpkgs/pkgs/applications/science/biology/mosdepth/default.nix b/nixpkgs/pkgs/applications/science/biology/mosdepth/default.nix
index 4815ddf2f75c..715f2ea313b4 100644
--- a/nixpkgs/pkgs/applications/science/biology/mosdepth/default.nix
+++ b/nixpkgs/pkgs/applications/science/biology/mosdepth/default.nix
@@ -17,13 +17,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "mosdepth";
-  version = "0.3.1";
+  version = "0.3.2";
 
   src = fetchFromGitHub {
     owner = "brentp";
     repo = "mosdepth";
     rev = "v${version}";
-    sha256 = "1kcrvamrafz1m0s7mlbhaay8jyg97l1w37p6syl36r2m1plmwxjd";
+    sha256 = "sha256-uui4yC7ok+pvbXVKfBVsAarH40fnH4fnP8P4uzOqztQ=";
   };
 
   nativeBuildInputs = [ nim ];
diff --git a/nixpkgs/pkgs/applications/science/biology/mrbayes/builder.sh b/nixpkgs/pkgs/applications/science/biology/mrbayes/builder.sh
deleted file mode 100644
index 5b3a54946fc9..000000000000
--- a/nixpkgs/pkgs/applications/science/biology/mrbayes/builder.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-# builder for mrbayes - note: only builds on Unix
-
-source $stdenv/setup
-
-tar xvfz $src
-cd mrbayes-*
-make
-mkdir -p $out/bin
-cp -v mb $out/bin
diff --git a/nixpkgs/pkgs/applications/science/biology/mrbayes/default.nix b/nixpkgs/pkgs/applications/science/biology/mrbayes/default.nix
index 9acfea1a1463..e4c2bbe65652 100644
--- a/nixpkgs/pkgs/applications/science/biology/mrbayes/default.nix
+++ b/nixpkgs/pkgs/applications/science/biology/mrbayes/default.nix
@@ -1,18 +1,18 @@
-{lib, stdenv, fetchurl, readline}:
+{ lib, stdenv, fetchFromGitHub, readline }:
 
 stdenv.mkDerivation rec {
-  # FIXME: replace Makefile so we can build MPI & MAC support
+  pname = "mrbayes";
+  version = "3.2.7a";
 
-  name = "mrbayes-3.1.2";
-  src = fetchurl {
-    url = "mirror://sourceforge/mrbayes/${name}.tar.gz";
-    sha256 = "1x7j8ca5wjrqrxmcpvd375ydm3s2pbkzykv8xfhg1jc037g560n6";
+  src = fetchFromGitHub {
+    owner = "NBISweden";
+    repo = "MrBayes";
+    rev = "v${version}";
+    sha256 = "sha256-pkkxZ6YHRn/I1SJpT9A+EK4S5hWGmFdcDBJS0zh5mLA=";
   };
-  builder = ./builder.sh;
-  buildInputs = [readline];
 
   meta = with lib; {
-    description     = "Bayesian Inference of Phylogeny";
+    description = "Bayesian Inference of Phylogeny";
     longDescription = ''
       Bayesian inference of phylogeny is based upon a
       quantity called the posterior probability distribution of trees, which is
@@ -22,8 +22,9 @@ stdenv.mkDerivation rec {
       MrBayes uses a simulation technique called Markov chain Monte Carlo (or
       MCMC) to approximate the posterior probabilities of trees.
     '';
-    license     = licenses.gpl2;
-    homepage    = "http://mrbayes.csit.fsu.edu/";
+    maintainers = with maintainers; [ ];
+    license = licenses.gpl2Plus;
+    homepage = "https://nbisweden.github.io/MrBayes/";
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/science/biology/neuron/default.nix b/nixpkgs/pkgs/applications/science/biology/neuron/default.nix
index 7bfef3a82fed..804407968e1c 100644
--- a/nixpkgs/pkgs/applications/science/biology/neuron/default.nix
+++ b/nixpkgs/pkgs/applications/science/biology/neuron/default.nix
@@ -60,13 +60,13 @@ stdenv.mkDerivation rec {
                         else ["--without-mpi"]);
 
 
-  postInstall = lib.optionals (python != null) [ ''
+  postInstall = lib.optionalString (python != null) ''
     ## standardise python neuron install dir if any
     if [[ -d $out/lib/python ]]; then
         mkdir -p ''${out}/${python.sitePackages}
         mv ''${out}/lib/python/*  ''${out}/${python.sitePackages}/
     fi
-  ''];
+  '';
 
   propagatedBuildInputs = [ readline ncurses which libtool ];
 
diff --git a/nixpkgs/pkgs/applications/science/biology/picard-tools/default.nix b/nixpkgs/pkgs/applications/science/biology/picard-tools/default.nix
index ed0d043cd542..345a38ae24a4 100644
--- a/nixpkgs/pkgs/applications/science/biology/picard-tools/default.nix
+++ b/nixpkgs/pkgs/applications/science/biology/picard-tools/default.nix
@@ -2,17 +2,17 @@
 
 stdenv.mkDerivation rec {
   pname = "picard-tools";
-  version = "2.25.1";
+  version = "2.26.0";
 
   src = fetchurl {
     url = "https://github.com/broadinstitute/picard/releases/download/${version}/picard.jar";
-    sha256 = "sha256-bW5iLWtGX5/HBMN7y6VbDaxa0U0HCIu9vfreXNAn7hw=";
+    sha256 = "sha256-sz/7MtcCJlUlrNy16W1YB/zXMhYeLLbQOIOdzNsGW7w=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ jre ];
 
-  phases = [ "installPhase" ];
+  dontUnpack = true;
 
   installPhase = ''
     mkdir -p $out/libexec/picard
diff --git a/nixpkgs/pkgs/applications/science/biology/stacks/default.nix b/nixpkgs/pkgs/applications/science/biology/stacks/default.nix
index 16091514f154..89ac4c49629e 100644
--- a/nixpkgs/pkgs/applications/science/biology/stacks/default.nix
+++ b/nixpkgs/pkgs/applications/science/biology/stacks/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "stacks";
-  version = "2.55";
+  version = "2.59";
   src = fetchurl {
     url = "http://catchenlab.life.illinois.edu/stacks/source/${pname}-${version}.tar.gz";
-    sha256 = "sha256-p8L0F3A+GdNsPgTQNn9Em5EjFCc9f7gUvyLIRCTd05c=";
+    sha256 = "sha256-pVFwb4EPba9wL9kDGN2gi7aeH+sPhDG/XLyHxqG4zd4=";
   };
 
   buildInputs = [ zlib ];
@@ -14,6 +14,6 @@ stdenv.mkDerivation rec {
     description = "Software pipeline for building loci from short-read sequences";
     homepage = "http://catchenlab.life.illinois.edu/stacks/";
     maintainers = [ lib.maintainers.bzizou ];
-    license = lib.licenses.gpl3;
+    license = lib.licenses.gpl3Plus;
   };
 }
diff --git a/nixpkgs/pkgs/applications/science/biology/varscan/default.nix b/nixpkgs/pkgs/applications/science/biology/varscan/default.nix
index 2a232d64693d..7b09f601ad68 100644
--- a/nixpkgs/pkgs/applications/science/biology/varscan/default.nix
+++ b/nixpkgs/pkgs/applications/science/biology/varscan/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ jre ];
 
-  phases = [ "installPhase" ];
+  dontUnpack = true;
 
   installPhase = ''
     mkdir -p $out/libexec/varscan
diff --git a/nixpkgs/pkgs/applications/science/chemistry/avogadro2/default.nix b/nixpkgs/pkgs/applications/science/chemistry/avogadro2/default.nix
new file mode 100644
index 000000000000..437123faafd8
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/chemistry/avogadro2/default.nix
@@ -0,0 +1,37 @@
+{ lib, stdenv, fetchFromGitHub, cmake, eigen, avogadrolibs, molequeue, hdf5
+, openbabel, qttools, wrapQtAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "avogadro2";
+  version = "1.94.0";
+
+  src = fetchFromGitHub {
+    owner = "OpenChemistry";
+    repo = "avogadroapp";
+    rev = version;
+    sha256 = "6RaiX23YUMfTYAuSighcLGGlJtqeydNgi3PWGF77Jp8=";
+  };
+
+  nativeBuildInputs = [ cmake wrapQtAppsHook ];
+
+  buildInputs = [
+    avogadrolibs
+    molequeue
+    eigen
+    hdf5
+    qttools
+  ];
+
+  propagatedBuildInputs = [ openbabel ];
+
+  qtWrapperArgs = [ "--prefix PATH : ${openbabel}/bin" ];
+
+  meta = with lib; {
+    description = "Molecule editor and visualizer";
+    maintainers = with maintainers; [ sheepforce ];
+    homepage = "https://github.com/OpenChemistry/avogadroapp";
+    platforms = platforms.mesaPlatforms;
+    license = licenses.bsd3;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/science/chemistry/cp2k/default.nix b/nixpkgs/pkgs/applications/science/chemistry/cp2k/default.nix
new file mode 100644
index 000000000000..6bb99ce556dd
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/chemistry/cp2k/default.nix
@@ -0,0 +1,117 @@
+{ lib, stdenv, fetchFromGitHub, python3, gfortran, blas, lapack
+, fftw, libint, libvori, libxc, mpi, gsl, scalapack, openssh, makeWrapper
+, libxsmm, spglib, which
+} :
+
+let
+  cp2kVersion = "psmp";
+  arch = "Linux-x86-64-gfortran";
+
+in stdenv.mkDerivation rec {
+  pname = "cp2k";
+  version = "8.2.0";
+
+  src = fetchFromGitHub {
+    owner = "cp2k";
+    repo = "cp2k";
+    rev = "v${version}";
+    sha256 = "0kykq5p318hxjzd4gzqjwv9gqshbdvbg0gnjbd9bdfjx1r6jkjn3";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [ python3 which openssh makeWrapper ];
+  buildInputs = [
+    gfortran
+    fftw
+    gsl
+    libint
+    libvori
+    libxc
+    libxsmm
+    spglib
+    scalapack
+    blas
+    lapack
+  ];
+
+  propagatedBuildInputs = [ mpi ];
+  propagatedUserEnvPkgs = [ mpi ];
+
+  makeFlags = [
+    "ARCH=${arch}"
+    "VERSION=${cp2kVersion}"
+  ];
+
+  doCheck = true;
+
+  enableParallelBuilding = true;
+
+  postPatch = ''
+    patchShebangs tools exts/dbcsr/tools/build_utils exts/dbcsr/.cp2k
+    substituteInPlace exts/dbcsr/.cp2k/Makefile --replace '/usr/bin/env python3' '${python3}/bin/python'
+  '';
+
+  configurePhase = ''
+    cat > arch/${arch}.${cp2kVersion} << EOF
+    CC         = mpicc
+    CPP        =
+    FC         = mpif90
+    LD         = mpif90
+    AR         = ar -r
+    DFLAGS     = -D__FFTW3 -D__LIBXC -D__LIBINT -D__parallel -D__SCALAPACK \
+                 -D__MPI_VERSION=3 -D__F2008 -D__LIBXSMM -D__SPGLIB \
+                 -D__MAX_CONTR=4 -D__LIBVORI
+    CFLAGS    = -fopenmp
+    FCFLAGS    = \$(DFLAGS) -O2 -ffree-form -ffree-line-length-none \
+                 -ftree-vectorize -funroll-loops -msse2 \
+                 -std=f2008 \
+                 -fopenmp -ftree-vectorize -funroll-loops \
+                 -I${libxc}/include -I${libxsmm}/include \
+                 -I${libint}/include
+    LIBS       = -lfftw3 -lfftw3_threads \
+                 -lscalapack -lblas -llapack \
+                 -lxcf03 -lxc -lxsmmf -lxsmm -lsymspg \
+                 -lint2 -lstdc++ -lvori \
+                 -lgomp -lpthread -lm \
+                 -fopenmp
+    LDFLAGS    = \$(FCFLAGS) \$(LIBS)
+    EOF
+  '';
+
+  checkPhase = ''
+    export OMP_NUM_THREADS=1
+
+    export HYDRA_IFACE=lo  # Fix to make mpich run in a sandbox
+    export OMPI_MCA_rmaps_base_oversubscribe=1
+    export CP2K_DATA_DIR=data
+
+    mpirun -np 2 exe/${arch}/libcp2k_unittest.${cp2kVersion}
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin $out/share/cp2k
+
+    cp exe/${arch}/* $out/bin
+
+    for i in cp2k cp2k_shell graph; do
+      wrapProgram $out/bin/$i.${cp2kVersion} \
+        --set-default CP2K_DATA_DIR $out/share/cp2k
+    done
+
+    wrapProgram $out/bin/cp2k.popt \
+      --set-default CP2K_DATA_DIR $out/share/cp2k \
+      --set OMP_NUM_THREADS 1
+
+    cp -r data/* $out/share/cp2k
+  '';
+
+  passthru = { inherit mpi; };
+
+  meta = with lib; {
+    description = "Quantum chemistry and solid state physics program";
+    homepage = "https://www.cp2k.org";
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.sheepforce ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/science/chemistry/ergoscf/default.nix b/nixpkgs/pkgs/applications/science/chemistry/ergoscf/default.nix
new file mode 100644
index 000000000000..b7d61848134e
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/chemistry/ergoscf/default.nix
@@ -0,0 +1,40 @@
+{ lib, stdenv, fetchurl, blas, lapack } :
+
+stdenv.mkDerivation rec {
+  pname = "ergoscf";
+  version = "3.8";
+
+  src = fetchurl {
+    url = "http://www.ergoscf.org/source/tarfiles/ergo-${version}.tar.gz";
+    sha256 = "1s50k2gfs3y6r5kddifn4p0wmj0yk85wm5vf9v3swm1c0h43riix";
+  };
+
+  buildInputs = [ blas lapack ];
+
+  patches = [ ./math-constants.patch ];
+
+  postPatch = ''
+    patchShebangs ./test
+  '';
+
+  configureFlags = [
+    "--enable-linalgebra-templates"
+    "--enable-performance"
+  ] ++ lib.optional stdenv.isx86_64 "--enable-sse-intrinsics";
+
+  LDFLAGS = "-lblas -llapack";
+
+  enableParallelBuilding = true;
+
+  OMP_NUM_THREADS = 2; # required for check phase
+
+  doCheck = true;
+
+  meta = with lib; {
+    description = "Quantum chemistry program for large-scale self-consistent field calculations";
+    homepage = "http://www.ergoscf.org";
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.markuskowa ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/science/chemistry/ergoscf/math-constants.patch b/nixpkgs/pkgs/applications/science/chemistry/ergoscf/math-constants.patch
new file mode 100644
index 000000000000..62209f1a3d84
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/chemistry/ergoscf/math-constants.patch
@@ -0,0 +1,19 @@
+diff --git a/source/dft/functionals.h b/source/dft/functionals.h
+index fde49ba..f7a61fc 100644
+--- a/source/dft/functionals.h
++++ b/source/dft/functionals.h
+@@ -59,6 +59,14 @@
+ #define EXTERN_C
+ #endif
+ 
++#ifndef M_PI
++#define M_PI 3.14159265358979323846
++#endif
++
++#ifndef M_SQRT2
++#define M_SQRT2        1.41421356237309504880
++#endif
++
+ typedef ergo_real real;
+ 
+ #if defined(FUNC_PRECISION) && FUNC_PRECISION == 1
diff --git a/nixpkgs/pkgs/applications/science/chemistry/jmol/default.nix b/nixpkgs/pkgs/applications/science/chemistry/jmol/default.nix
index 5d2158843ede..a3add93c8f70 100644
--- a/nixpkgs/pkgs/applications/science/chemistry/jmol/default.nix
+++ b/nixpkgs/pkgs/applications/science/chemistry/jmol/default.nix
@@ -17,14 +17,14 @@ let
   };
 in
 stdenv.mkDerivation rec {
-  version = "14.31.44";
+  version = "14.31.49";
   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-MHfqoQzUEL7nje7Y/hbaA8iktxfN7464TJXum5B6OCc=";
+    sha256 = "sha256-P+bzimBVammX5LxE6Yd6CmvmBeG8WdyA1T9bHXd+ifI=";
   };
 
   patchPhase = ''
diff --git a/nixpkgs/pkgs/applications/science/chemistry/openmolcas/default.nix b/nixpkgs/pkgs/applications/science/chemistry/openmolcas/default.nix
index af646b514af9..8efe537dcacd 100644
--- a/nixpkgs/pkgs/applications/science/chemistry/openmolcas/default.nix
+++ b/nixpkgs/pkgs/applications/science/chemistry/openmolcas/default.nix
@@ -5,9 +5,9 @@
 } :
 
 let
-  version = "21.02";
+  version = "21.06";
   # The tag keeps moving, fix a hash instead
-  gitLabRev = "41cee871945ac712e86ee971425a49a8fc60a936";
+  gitLabRev = "dd982ad4bc94dec8ac1e3e99cb6a7dd249ff71de";
 
   python = python3.withPackages (ps : with ps; [ six pyparsing ]);
 
@@ -19,7 +19,7 @@ in stdenv.mkDerivation {
     owner = "Molcas";
     repo = "OpenMolcas";
     rev = gitLabRev;
-    sha256 = "0cap53gy1wds2qaxbijw09fqhvfxphfkr93nhp9xdq84yxh4wzv6";
+    sha256 = "07dm73n0s7ckif561yb3s9yqxsv39a73kb9qwny4yp39wdvv52hz";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/applications/science/chemistry/pymol/default.nix b/nixpkgs/pkgs/applications/science/chemistry/pymol/default.nix
index 2df8b0e6d473..39bbae77a66e 100644
--- a/nixpkgs/pkgs/applications/science/chemistry/pymol/default.nix
+++ b/nixpkgs/pkgs/applications/science/chemistry/pymol/default.nix
@@ -1,8 +1,18 @@
-{ lib, fetchurl, fetchFromGitHub, makeDesktopItem
-, python3, python3Packages
-, glew, glm, freeglut, libpng, libxml2, tk, freetype, msgpack }:
-
-
+{ lib
+, fetchFromGitHub
+, makeDesktopItem
+, python3
+, python3Packages
+, netcdf
+, glew
+, glm
+, freeglut
+, libpng
+, libxml2
+, tk
+, freetype
+, msgpack
+}:
 let
   pname = "pymol";
   description = "A Python-enhanced molecular graphics tool";
@@ -20,15 +30,15 @@ let
 in
 python3Packages.buildPythonApplication rec {
   inherit pname;
-  version = "2.3.0";
+  version = "2.5.0";
   src = fetchFromGitHub {
     owner = "schrodinger";
     repo = "pymol-open-source";
     rev = "v${version}";
-    sha256 = "175cqi6gfmvv49i3ws19254m7ljs53fy6y82fm1ywshq2h2c93jh";
+    sha256 = "sha256-JdsgcVF1w1xFPZxVcyS+GcWg4a1Bd4SvxFOuSdlz9SM=";
   };
 
-  buildInputs = [ python3Packages.numpy glew glm freeglut libpng libxml2 tk freetype msgpack ];
+  buildInputs = [ python3Packages.numpy glew glm freeglut libpng libxml2 tk freetype msgpack netcdf ];
   NIX_CFLAGS_COMPILE = "-I ${libxml2.dev}/include/libxml2";
   hardeningDisable = [ "format" ];
 
@@ -49,7 +59,7 @@ python3Packages.buildPythonApplication rec {
   '';
 
   meta = with lib; {
-    description = description;
+    inherit description;
     homepage = "https://www.pymol.org/";
     license = licenses.mit;
     maintainers = with maintainers; [ samlich ];
diff --git a/nixpkgs/pkgs/applications/science/electronics/eagle/eagle.nix b/nixpkgs/pkgs/applications/science/electronics/eagle/eagle.nix
index 0628134d9df2..1a900e10197e 100644
--- a/nixpkgs/pkgs/applications/science/electronics/eagle/eagle.nix
+++ b/nixpkgs/pkgs/applications/science/electronics/eagle/eagle.nix
@@ -66,8 +66,8 @@ let
       # 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/eagle-logo.png" "$out"/share/icons/eagle.png
+      mkdir -p "$out"/share/pixmaps
+      ln -s "$out/eagle-${version}/bin/eagle-logo.png" "$out"/share/pixmaps/eagle.png
     '';
 
     meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/science/electronics/eagle/eagle7.nix b/nixpkgs/pkgs/applications/science/electronics/eagle/eagle7.nix
index 2804fc3c8d7c..8ea75a3ec486 100644
--- a/nixpkgs/pkgs/applications/science/electronics/eagle/eagle7.nix
+++ b/nixpkgs/pkgs/applications/science/electronics/eagle/eagle7.nix
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
       libX11 libXext libXi
     ];
 
-  phases = [ "installPhase" ];
+  dontUnpack = true;
 
   # NOTES:
   # Eagle for Linux comes as a self-extracting shell script with embedded
diff --git a/nixpkgs/pkgs/applications/science/electronics/kicad/base.nix b/nixpkgs/pkgs/applications/science/electronics/kicad/base.nix
index 596083c27098..d7398f39ec43 100644
--- a/nixpkgs/pkgs/applications/science/electronics/kicad/base.nix
+++ b/nixpkgs/pkgs/applications/science/electronics/kicad/base.nix
@@ -64,7 +64,7 @@ assert lib.assertMsg (!(sanitizeAddress && sanitizeThreads))
   "'sanitizeAddress' and 'sanitizeThreads' are mutually exclusive, use one.";
 
 let
-  inherit (lib) optional optionals;
+  inherit (lib) optional optionals optionalString;
 in
 stdenv.mkDerivation rec {
   pname = "kicad-base";
@@ -172,7 +172,7 @@ stdenv.mkDerivation rec {
 
   dontStrip = debug;
 
-  postInstall = optional (withI18n) ''
+  postInstall = optionalString (withI18n) ''
     mkdir -p $out/share
     lndir ${i18n}/share $out/share
   '';
diff --git a/nixpkgs/pkgs/applications/science/electronics/lepton-eda/default.nix b/nixpkgs/pkgs/applications/science/electronics/lepton-eda/default.nix
new file mode 100644
index 000000000000..3e701dc93c4f
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/electronics/lepton-eda/default.nix
@@ -0,0 +1,61 @@
+{ stdenv
+, lib
+, pkg-config
+, makeWrapper
+, texinfo
+, fetchurl
+, autoreconfHook
+, guile
+, flex
+, gtk2
+, glib
+, gtkextra
+, gettext
+, gawk
+, shared-mime-info
+, groff
+, libstroke
+}:
+
+stdenv.mkDerivation rec {
+  pname = "lepton-eda";
+  version = "1.9.16-20210731";
+
+  src = fetchurl {
+    url = "https://github.com/lepton-eda/lepton-eda/releases/download/${version}/lepton-eda-${builtins.head (lib.splitString "-" version)}.tar.gz";
+    sha256 = "sha256-xdJ11M4RXNF6ePZD6Y+/DUdO21AFLbydZcq9nWg0+Yk=";
+  };
+
+  nativeBuildInputs = [ pkg-config makeWrapper texinfo autoreconfHook ];
+
+  propagatedBuildInputs = [ guile flex gtk2 glib gtkextra gettext gawk shared-mime-info groff libstroke ];
+
+  configureFlags = [
+    "--disable-update-xdg-database"
+  ];
+
+  CFLAGS = [
+    "-DSCM_DEBUG_TYPING_STRICTNESS=2"
+  ];
+
+  postInstall = ''
+    libs="${lib.makeLibraryPath propagatedBuildInputs}"
+    for program in $out/bin/*; do
+      wrapProgram "$program" \
+        --prefix LD_LIBRARY_PATH : "$libs" \
+        --prefix LTDL_LIBRARY_PATH : "$out/lib"
+    done
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/lepton-eda";
+    description = "Lepton Electronic Design Automation";
+    longDescription = ''
+      Lepton EDA is a suite of free software tools for designing electronics.
+      It provides schematic capture, netlisting into over 30 netlist formats, and many other features.
+    '';
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ tesq0 ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/science/electronics/openhantek6022/default.nix b/nixpkgs/pkgs/applications/science/electronics/openhantek6022/default.nix
index d2cdf20ab87c..1b9d7773669c 100644
--- a/nixpkgs/pkgs/applications/science/electronics/openhantek6022/default.nix
+++ b/nixpkgs/pkgs/applications/science/electronics/openhantek6022/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "openhantek6022";
-  version = "3.2.3";
+  version = "3.2.4";
 
   src = fetchFromGitHub {
     owner = "OpenHantek";
     repo = "OpenHantek6022";
     rev = version;
-    sha256 = "0hnd3rdmv76dwwlmkykzwhp5sbxd1fr5ss8zdfdybxw28cxlpq8r";
+    sha256 = "sha256-Rb0bd2fnnNWEm1n2EVRB2Leb0Or9vxi5oj+FKNY4GSc=";
   };
 
   nativeBuildInputs = [ cmake makeWrapper ];
diff --git a/nixpkgs/pkgs/applications/science/electronics/openroad/default.nix b/nixpkgs/pkgs/applications/science/electronics/openroad/default.nix
new file mode 100644
index 000000000000..1b1eb39cffa0
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/electronics/openroad/default.nix
@@ -0,0 +1,94 @@
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, bison
+, cmake
+, doxygen
+, flex
+, git
+, python3
+, swig4
+, boost172
+, cimg
+, eigen
+, lcov
+, lemon-graph
+, libjpeg
+, pcre
+, qtbase
+, readline
+, spdlog
+, tcl
+, tcllib
+, xorg
+, yosys
+, zlib
+}:
+
+mkDerivation rec {
+  pname = "openroad";
+  version = "2.0";
+
+  src = fetchFromGitHub {
+    owner = "The-OpenROAD-Project";
+    repo = "OpenROAD";
+    rev = "v${version}";
+    fetchSubmodules = true;
+    sha256 = "1p677xh16wskfj06jnplhpc3glibhdaqxmk0j09832chqlryzwyx";
+  };
+
+  nativeBuildInputs = [
+    bison
+    cmake
+    doxygen
+    flex
+    git
+    swig4
+  ];
+
+  buildInputs = [
+    boost172
+    cimg
+    eigen
+    lcov
+    lemon-graph
+    libjpeg
+    pcre
+    python3
+    qtbase
+    readline
+    spdlog
+    tcl
+    tcllib
+    yosys
+    xorg.libX11
+    zlib
+  ];
+
+  postPatch = ''
+    patchShebangs --build etc/find_messages.py
+  '';
+
+  # Enable output images from the placer.
+  cmakeFlags = [ "-DUSE_CIMG_LIB=ON" ];
+
+  # Resynthesis needs access to the Yosys binaries.
+  qtWrapperArgs = [ "--prefix PATH : ${lib.makeBinPath [ yosys ]}" ];
+
+  # Upstream uses vendored package versions for some dependencies, so regression testing is prudent
+  # to see if there are any breaking changes in unstable that should be vendored as well.
+  doCheck = false; # Disabled pending upstream release with fix for rcx log file creation.
+  checkPhase = ''
+    # Regression tests must be run from the project root not from within the CMake build directory.
+    cd ..
+    test/regression
+  '';
+
+  meta = with lib; {
+    description = "OpenROAD's unified application implementing an RTL-to-GDS flow";
+    homepage = "https://theopenroadproject.org";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ trepetti ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/science/electronics/verilator/default.nix b/nixpkgs/pkgs/applications/science/electronics/verilator/default.nix
index 5377a7b3d118..159e15cf247d 100644
--- a/nixpkgs/pkgs/applications/science/electronics/verilator/default.nix
+++ b/nixpkgs/pkgs/applications/science/electronics/verilator/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "verilator";
-  version = "4.202";
+  version = "4.210";
 
   src = fetchurl {
     url = "https://www.veripool.org/ftp/${pname}-${version}.tgz";
-    sha256 = "0ydn4304pminzq8zc1hsrb2fjrfqnb6akr45ky43jd29c4jgznnq";
+    sha256 = "sha256-KoIfJeV2aITnwiB2eQgQo4ZyXfMe6erFiGKXezR+IBg=";
   };
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/applications/science/electronics/vhd2vl/default.nix b/nixpkgs/pkgs/applications/science/electronics/vhd2vl/default.nix
index adce30551071..f0dd990a35bc 100644
--- a/nixpkgs/pkgs/applications/science/electronics/vhd2vl/default.nix
+++ b/nixpkgs/pkgs/applications/science/electronics/vhd2vl/default.nix
@@ -4,6 +4,7 @@
 , bison
 , flex
 , verilog
+, which
 }:
 
 stdenv.mkDerivation rec {
@@ -29,6 +30,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     bison
     flex
+    which
   ];
 
   buildInputs = [
@@ -36,8 +38,9 @@ stdenv.mkDerivation rec {
   ];
 
   installPhase = ''
-    mkdir -p $out/bin
-    cp src/vhd2vl $out/bin/
+    runHook preInstall
+    install -D -m755 src/vhd2vl $out/bin/vdh2vl
+    runHook postInstall
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/science/geometry/gama/default.nix b/nixpkgs/pkgs/applications/science/geometry/gama/default.nix
index c5e95d37b510..899e65a7740a 100644
--- a/nixpkgs/pkgs/applications/science/geometry/gama/default.nix
+++ b/nixpkgs/pkgs/applications/science/geometry/gama/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, lib, expat, octave, libxml2, texinfo, zip }:
 stdenv.mkDerivation rec {
   pname = "gama";
-  version = "2.12";
+  version = "2.14";
 
   src = fetchurl {
     url = "mirror://gnu/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "0zfilasalsy29b7viw0iwgnl9bkvp0l87gpxl1hx7379l8agwqyj";
+    sha256 = "sha256-ltYoJyo4b4Ys70nbZo5gxkjBw/RiEs5Rrdb6he9bsBI=";
   };
 
   buildInputs = [ expat ];
diff --git a/nixpkgs/pkgs/applications/science/logic/bitwuzla/default.nix b/nixpkgs/pkgs/applications/science/logic/bitwuzla/default.nix
new file mode 100644
index 000000000000..a8820b55b746
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/logic/bitwuzla/default.nix
@@ -0,0 +1,67 @@
+{ stdenv
+, fetchFromGitHub
+, lib
+, python3
+, cmake
+, lingeling
+, btor2tools
+, gtest
+, gmp
+, cadical
+, minisat
+, picosat
+, cryptominisat
+, zlib
+, pkg-config
+  # "*** internal error in 'lglib.c': watcher stack overflow" on aarch64-linux
+, withLingeling ? !stdenv.hostPlatform.isAarch64
+}:
+
+stdenv.mkDerivation rec {
+  pname = "bitwuzla";
+  version = "unstable-2021-07-01";
+
+  src = fetchFromGitHub {
+    owner = "bitwuzla";
+    repo = "bitwuzla";
+    rev = "58d720598e359b1fdfec4a469c76f1d1f24db51a";
+    sha256 = "06ymqsdppyixb918161rmbgqvbnarj4nm4az88lkn3ri4gyimw04";
+  };
+
+  nativeBuildInputs = [ cmake pkg-config ];
+  buildInputs = [
+    cadical
+    cryptominisat
+    picosat
+    minisat
+    btor2tools
+    gmp
+    zlib
+  ] ++ lib.optional withLingeling lingeling;
+
+  cmakeFlags = [
+    "-DBUILD_SHARED_LIBS=ON"
+    "-DPicoSAT_INCLUDE_DIR=${lib.getDev picosat}/include/picosat"
+    "-DBtor2Tools_INCLUDE_DIR=${lib.getDev btor2tools}/include/btor2parser"
+    "-DBtor2Tools_LIBRARIES=${lib.getLib btor2tools}/lib/libbtor2parser${stdenv.hostPlatform.extensions.sharedLibrary}"
+  ] ++ lib.optional doCheck "-DTESTING=YES";
+
+  checkInputs = [ python3 gtest ];
+  # two tests fail on darwin and 3 on aarch64-linux
+  doCheck = stdenv.hostPlatform.isLinux && (!stdenv.hostPlatform.isAarch64);
+  preCheck = let
+    var = if stdenv.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH";
+  in
+    ''
+      export ${var}=$(readlink -f lib)
+      patchShebangs ..
+    '';
+
+  meta = with lib; {
+    description = "A SMT solver for fixed-size bit-vectors, floating-point arithmetic, arrays, and uninterpreted functions";
+    homepage = "https://bitwuzla.github.io";
+    license = licenses.mit;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ symphorien ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/science/logic/cadical/default.nix b/nixpkgs/pkgs/applications/science/logic/cadical/default.nix
index ca5e6b5c4195..f0cb1efb3050 100644
--- a/nixpkgs/pkgs/applications/science/logic/cadical/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/cadical/default.nix
@@ -2,23 +2,39 @@
 
 stdenv.mkDerivation rec {
   pname = "cadical";
-  version = "1.3.0";
+  version = "1.4.1";
 
   src = fetchFromGitHub {
     owner = "arminbiere";
     repo = "cadical";
     rev = "rel-${version}";
-    sha256 = "05lvnvapjawgkky38xknb9lgaliiwan4kggmb9yggl4ifpjrh8qf";
+    sha256 = "0y44z3np4gssgdh4aj5qila7pshrbphycdxn2083i8ayyyjbxshp";
   };
 
+  outputs = [ "out" "dev" "lib" ];
   doCheck = true;
-  dontAddPrefix = true;
+
+  # the configure script is not generated by autotools and does not accept the
+  # arguments that the default configurePhase passes like --prefix and --libdir
+  configurePhase = ''
+    runHook preConfigure
+
+    ./configure
+
+    runHook postConfigure
+  '';
 
   installPhase = ''
+    runHook preInstall
+
     install -Dm0755 build/cadical "$out/bin/cadical"
     install -Dm0755 build/mobical "$out/bin/mobical"
-    mkdir -p "$out/share/doc/${pname}-${version}/"
-    install -Dm0755 {LICEN?E,README*,VERSION} "$out/share/doc/${pname}-${version}/"
+    install -Dm0644 src/ccadical.h "$dev/include/ccadical.h"
+    install -Dm0644 build/libcadical.a "$lib/lib/libcadical.a"
+    mkdir -p "$out/share/doc/${pname}/"
+    install -Dm0755 {LICEN?E,README*,VERSION} "$out/share/doc/${pname}/"
+
+    runHook postInstall
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/science/logic/elan/default.nix b/nixpkgs/pkgs/applications/science/logic/elan/default.nix
index a49262e7cb65..1fb4693d64a2 100644
--- a/nixpkgs/pkgs/applications/science/logic/elan/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/elan/default.nix
@@ -7,16 +7,16 @@ in
 
 rustPlatform.buildRustPackage rec {
   pname = "elan";
-  version = "1.0.6";
+  version = "1.0.7";
 
   src = fetchFromGitHub {
     owner = "leanprover";
     repo = "elan";
     rev = "v${version}";
-    sha256 = "sha256-Ns8vSS/PDlfopigW4Nz3fdR9PCMG8gDoL36+/s0Qkeo=";
+    sha256 = "sha256-SFY9RbUHoaOXCaK+uIqhnKbzSkbtWiS6os/JvsggagI=";
   };
 
-  cargoSha256 = "sha256-NDtldiVo4SyE88f6ntKn1WJDFdvwN5Ps4DxQH15iNZE=";
+  cargoSha256 = "sha256-6TFionZw76V4htYQrz8eLX7ioW7Fbgd63rtz53s0TLU=";
 
   nativeBuildInputs = [ pkg-config makeWrapper ];
 
diff --git a/nixpkgs/pkgs/applications/science/logic/lean/default.nix b/nixpkgs/pkgs/applications/science/logic/lean/default.nix
index ea2cd356e315..5c6ad241cb76 100644
--- a/nixpkgs/pkgs/applications/science/logic/lean/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/lean/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "lean";
-  version = "3.31.0";
+  version = "3.32.1";
 
   src = fetchFromGitHub {
     owner  = "leanprover-community";
@@ -11,8 +11,8 @@ stdenv.mkDerivation rec {
     # from. this is then used to check whether an olean file should be
     # rebuilt. don't use a tag as rev because this will get replaced into
     # src/githash.h.in in preConfigure.
-    rev    = "333783350cd3fe38f25fed1da7d6a433d8f85b77";
-    sha256 = "sha256-N8Ju7pSGssvt84/0e1o6G/p7fWM1c0Mzw+ftL1/++J4=";
+    rev    = "35b3a9c4e2d35cccb5ed220ea2f2909a4ed2ca90";
+    sha256 = "0s69smknsvycvydbk2f3vcqj1z3jrbv3k048z2r46391dai5iwhf";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/applications/science/logic/logisim-evolution/default.nix b/nixpkgs/pkgs/applications/science/logic/logisim-evolution/default.nix
new file mode 100644
index 000000000000..10266abffea1
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/logic/logisim-evolution/default.nix
@@ -0,0 +1,46 @@
+{ lib, stdenv, fetchurl, jre, makeWrapper, copyDesktopItems, makeDesktopItem, unzip }:
+
+stdenv.mkDerivation rec {
+  pname = "logisim-evolution";
+  version = "3.5.0";
+
+  src = fetchurl {
+    url = "https://github.com/logisim-evolution/logisim-evolution/releases/download/v${version}/logisim-evolution-${version}-all.jar";
+    sha256 = "1r6im4gmjbnckx8jig6bxi5lxv06lwdnpxkyfalsfmw4nybd5arw";
+  };
+
+  dontUnpack = true;
+
+  nativeBuildInputs = [ makeWrapper copyDesktopItems unzip ];
+
+  desktopItems = [
+    (makeDesktopItem {
+      name = pname;
+      desktopName = "Logisim-evolution";
+      exec = "logisim-evolution";
+      icon = "logisim-evolution";
+      comment = meta.description;
+      categories = "Education;";
+    })
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/bin
+    makeWrapper ${jre}/bin/java $out/bin/logisim-evolution --add-flags "-jar $src"
+
+    unzip $src resources/logisim/img/logisim-icon.svg
+    install -D resources/logisim/img/logisim-icon.svg $out/share/pixmaps/logisim-evolution.svg
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/logisim-evolution/logisim-evolution";
+    description = "Digital logic designer and simulator";
+    maintainers = with maintainers; [ angustrau ];
+    license = licenses.gpl2Plus;
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/science/logic/logisim/default.nix b/nixpkgs/pkgs/applications/science/logic/logisim/default.nix
index 9b3f42dd4ba8..f94f08e43ab2 100644
--- a/nixpkgs/pkgs/applications/science/logic/logisim/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/logisim/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, jre, makeWrapper }:
+{ lib, stdenv, fetchurl, jre, makeWrapper, copyDesktopItems, makeDesktopItem, unzip }:
 
 stdenv.mkDerivation rec {
   pname = "logisim";
@@ -11,17 +11,39 @@ stdenv.mkDerivation rec {
 
   dontUnpack = true;
 
-  nativeBuildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper copyDesktopItems unzip ];
+
+  desktopItems = [
+    (makeDesktopItem {
+      name = pname;
+      desktopName = "Logisim";
+      exec = "logisim";
+      icon = "logisim";
+      comment = meta.description;
+      categories = "Education;";
+    })
+  ];
 
   installPhase = ''
+    runHook preInstall
+
     mkdir -p $out/bin
     makeWrapper ${jre}/bin/java $out/bin/logisim --add-flags "-jar $src"
+
+    # Create icons
+    unzip $src "resources/logisim/img/*"
+    for size in 16 20 24 48 64 128
+    do
+      install -D "./resources/logisim/img/logisim-icon-$size.png" "$out/share/icons/hicolor/''${size}x''${size}/apps/logisim.png"
+    done
+
+    runHook postInstall
   '';
 
   meta = with lib; {
-    homepage = "http://ozark.hendrix.edu/~burch/logisim";
+    homepage = "http://www.cburch.com/logisim/";
     description = "Educational tool for designing and simulating digital logic circuits";
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ angustrau ];
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
   };
diff --git a/nixpkgs/pkgs/applications/science/logic/opensmt/default.nix b/nixpkgs/pkgs/applications/science/logic/opensmt/default.nix
index 1681d4545904..fd22b7b1add8 100644
--- a/nixpkgs/pkgs/applications/science/logic/opensmt/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/opensmt/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "opensmt";
-  version = "2.0.1";
+  version = "2.1.0";
 
   src = fetchFromGitHub {
     owner = "usi-verification-and-security";
     repo = "opensmt";
     rev = "v${version}";
-    sha256 = "uoIcXWsxxRsIuFsou3RcN9e48lc7cWMgRPVJLFVslDE=";
+    sha256 = "sha256-m8TpMBY1r0h8GJTHM4FLBuZtX+WK/Q7RTXUnNmUWV+o=";
   };
 
   nativeBuildInputs = [ cmake bison flex ];
diff --git a/nixpkgs/pkgs/applications/science/logic/poly/default.nix b/nixpkgs/pkgs/applications/science/logic/poly/default.nix
index 75ad91bc54de..c80b9bf1f0c4 100644
--- a/nixpkgs/pkgs/applications/science/logic/poly/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/poly/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "libpoly";
-  version = "0.1.9";
+  version = "0.1.10";
 
   src = fetchFromGitHub {
     owner = "SRI-CSL";
     repo = "libpoly";
     # they've pushed to the release branch, use explicit tag
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-E2lHo8Bt4ujoGQ623fjkQbqRnDYJYilXdRt4lnF4wJk=";
+    sha256 = "sha256-22Y4L5NFnCzKwZt0A/ChMuGPU4Dk1Qyke6mdvfN063w=";
   };
 
   # https://github.com/SRI-CSL/libpoly/pull/52
diff --git a/nixpkgs/pkgs/applications/science/logic/saw-tools/default.nix b/nixpkgs/pkgs/applications/science/logic/saw-tools/default.nix
index 3eabc9422e38..df99d067f08c 100644
--- a/nixpkgs/pkgs/applications/science/logic/saw-tools/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/saw-tools/default.nix
@@ -48,8 +48,6 @@ stdenv.mkDerivation {
     done
   '';
 
-  phases = "unpackPhase installPhase fixupPhase";
-
   meta = {
     description = "Tools for software verification and analysis";
     homepage    = "https://saw.galois.com";
diff --git a/nixpkgs/pkgs/applications/science/logic/tlaplus/tlaps.nix b/nixpkgs/pkgs/applications/science/logic/tlaplus/tlaps.nix
index 89bdd979fea0..90a4aeb4f8ab 100644
--- a/nixpkgs/pkgs/applications/science/logic/tlaplus/tlaps.nix
+++ b/nixpkgs/pkgs/applications/science/logic/tlaplus/tlaps.nix
@@ -1,6 +1,12 @@
 { fetchurl
-, lib, stdenv
-, ocaml, isabelle, cvc3, perl, wget, which
+, lib
+, stdenv
+, ocaml
+, isabelle
+, cvc3
+, perl
+, wget
+, which
 }:
 
 stdenv.mkDerivation rec {
@@ -13,8 +19,6 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ ocaml isabelle cvc3 perl wget which ];
 
-  phases = [ "unpackPhase" "installPhase" ];
-
   installPhase = ''
     mkdir -pv "$out"
     export HOME="$out"
@@ -45,9 +49,9 @@ stdenv.mkDerivation rec {
       and scalable to large system specifications. It provides a
       consistent abstraction over the various “backend” verifiers.
     '';
-    homepage    = "https://tla.msr-inria.inria.fr/tlaps/content/Home.html";
-    license     = lib.licenses.bsd2;
-    platforms   = lib.platforms.unix;
+    homepage = "https://tla.msr-inria.inria.fr/tlaps/content/Home.html";
+    license = lib.licenses.bsd2;
+    platforms = lib.platforms.unix;
     maintainers = [ ];
   };
 
diff --git a/nixpkgs/pkgs/applications/science/logic/tlaplus/toolbox.nix b/nixpkgs/pkgs/applications/science/logic/tlaplus/toolbox.nix
index ef2d97ef6bfc..21c60d03ac1e 100644
--- a/nixpkgs/pkgs/applications/science/logic/tlaplus/toolbox.nix
+++ b/nixpkgs/pkgs/applications/science/logic/tlaplus/toolbox.nix
@@ -1,5 +1,13 @@
-{ lib, fetchzip, makeWrapper, makeDesktopItem, stdenv
-, gtk3, libXtst, glib, zlib, wrapGAppsHook
+{ lib
+, fetchzip
+, makeWrapper
+, makeDesktopItem
+, stdenv
+, gtk3
+, libXtst
+, glib
+, zlib
+, wrapGAppsHook
 }:
 
 let
@@ -17,7 +25,8 @@ let
   };
 
 
-in stdenv.mkDerivation rec {
+in
+stdenv.mkDerivation rec {
   pname = "tla-toolbox";
   version = "1.7.1";
   src = fetchzip {
@@ -31,8 +40,6 @@ in stdenv.mkDerivation rec {
 
   dontWrapGApps = true;
 
-  phases = [ "installPhase" ];
-
   installPhase = ''
     runHook preInstall
 
diff --git a/nixpkgs/pkgs/applications/science/logic/verifast/default.nix b/nixpkgs/pkgs/applications/science/logic/verifast/default.nix
index e426f7b80989..c610256ccaef 100644
--- a/nixpkgs/pkgs/applications/science/logic/verifast/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/verifast/default.nix
@@ -20,11 +20,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "verifast";
-  version = "19.12";
+  version = "21.04";
 
   src = fetchurl {
     url    = "https://github.com/verifast/verifast/releases/download/${version}/${pname}-${version}-linux.tar.gz";
-    sha256 = "169kshjq4cf4i9v92azv0xaflrnik5686w7fwcgdhd6qkbzflzl6";
+    sha256 = "sha256-PlRsf4wFXoM+E+60SbeKzs/RZK0HNVirX47AnI6NeYM=";
   };
 
   dontConfigure = true;
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Verification for C and Java programs via separation logic";
-    homepage    = "http://people.cs.kuleuven.be/~bart.jacobs/verifast/";
+    homepage    = "https://people.cs.kuleuven.be/~bart.jacobs/verifast/";
     license     = lib.licenses.mit;
     platforms   = [ "x86_64-linux" ];
     maintainers = [ lib.maintainers.thoughtpolice ];
diff --git a/nixpkgs/pkgs/applications/science/logic/why3/default.nix b/nixpkgs/pkgs/applications/science/logic/why3/default.nix
index 924ff3fd9fd2..b9f14332f9d8 100644
--- a/nixpkgs/pkgs/applications/science/logic/why3/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/why3/default.nix
@@ -1,12 +1,12 @@
 { callPackage, fetchurl, fetchpatch, lib, stdenv
 , ocamlPackages, coqPackages, rubber, hevea, emacs }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "why3";
   version = "1.4.0";
 
   src = fetchurl {
-    url = "https://gforge.inria.fr/frs/download.php/file/38425/why3-1.4.0.tar.gz";
+    url = "https://gforge.inria.fr/frs/download.php/file/38425/why3-${version}.tar.gz";
     sha256 = "0lw0cpx347zz9vvwqibmbxgs80fsd16scgk3isscvwxnajpc3rv8";
   };
 
diff --git a/nixpkgs/pkgs/applications/science/logic/why3/with-provers.nix b/nixpkgs/pkgs/applications/science/logic/why3/with-provers.nix
index d4fdbfd6937c..fc08f5d7c85e 100644
--- a/nixpkgs/pkgs/applications/science/logic/why3/with-provers.nix
+++ b/nixpkgs/pkgs/applications/science/logic/why3/with-provers.nix
@@ -1,31 +1,30 @@
 { stdenv, makeWrapper, runCommand, symlinkJoin, why3 }:
 provers:
 let configAwkScript = runCommand "why3-conf.awk" { inherit provers; }
-    ''
-      for p in $provers; do
-        for b in $p/bin/*; do
-          BASENAME=$(basename $b)
-          echo "/^command =/{ gsub(\"$BASENAME\", \"$b\") }" >> $out
-        done
+  ''
+    for p in $provers; do
+      for b in $p/bin/*; do
+        BASENAME=$(basename $b)
+        echo "/^command =/{ gsub(\"$BASENAME\", \"$b\") }" >> $out
       done
-      echo '{ print }' >> $out
-    '';
-in stdenv.mkDerivation {
+    done
+    echo '{ print }' >> $out
+  '';
+in
+stdenv.mkDerivation {
   name = "${why3.name}-with-provers";
 
-  phases = [ "buildPhase" "installPhase" ];
-
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ why3 ] ++ provers;
 
   buildPhase = ''
-      mkdir -p $out/share/why3/
-      why3 config --detect-provers -C $out/share/why3/why3.conf
-      awk -i inplace -f ${configAwkScript} $out/share/why3/why3.conf
+    mkdir -p $out/share/why3/
+    why3 config --detect-provers -C $out/share/why3/why3.conf
+    awk -i inplace -f ${configAwkScript} $out/share/why3/why3.conf
   '';
 
   installPhase = ''
-      mkdir -p $out/bin
-      makeWrapper ${why3}/bin/why3 $out/bin/why3 --add-flags "--extra-config $out/share/why3/why3.conf"
+    mkdir -p $out/bin
+    makeWrapper ${why3}/bin/why3 $out/bin/why3 --add-flags "--extra-config $out/share/why3/why3.conf"
   '';
 }
diff --git a/nixpkgs/pkgs/applications/science/logic/workcraft/default.nix b/nixpkgs/pkgs/applications/science/logic/workcraft/default.nix
index 63a946365604..2829cb59340b 100644
--- a/nixpkgs/pkgs/applications/science/logic/workcraft/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/workcraft/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "workcraft";
-  version = "3.3.2";
+  version = "3.3.5";
 
   src = fetchurl {
     url = "https://github.com/workcraft/workcraft/releases/download/v${version}/workcraft-v${version}-linux.tar.gz";
-    sha256 = "0v71x3fph2j3xrnysvkm7zsgnbxisfbdfgxzvzxxfdg59a6l3xid";
+    sha256 = "sha256-KErKYK3mmjp5uNdGQnjzUUIEwXT5fqbAPUunH72Mtig=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/applications/science/machine-learning/finalfusion-utils/default.nix b/nixpkgs/pkgs/applications/science/machine-learning/finalfusion-utils/default.nix
index 6655b415d2ab..4c04b3c07368 100644
--- a/nixpkgs/pkgs/applications/science/machine-learning/finalfusion-utils/default.nix
+++ b/nixpkgs/pkgs/applications/science/machine-learning/finalfusion-utils/default.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "finalfusion-utils";
-  version = "0.12.0";
+  version = "0.13.0";
 
   src = fetchFromGitHub {
     owner = "finalfusion";
     repo = pname;
     rev = version;
-    sha256 = "0gxcjrhfa86kz5qmdf5h278ydc3nc0nfj61brnykb723mg45jj41";
+    sha256 = "sha256-ME0qDSFD8G492+7ex7VQWh9P76a+tOCo+SJ9n9ZIYUI=";
   };
 
-  cargoSha256 = "0dj3xpinzzdfgy06wkp336sp1nyqk7nnvd3hwhyysripmz9apdgg";
+  cargoSha256 = "sha256-/rLv2/bcVsmWw+ZfyumDcj0ptHPQBCCYR9O/lVlV+G0=";
 
   # Enables build against a generic BLAS.
   cargoBuildFlags = [
diff --git a/nixpkgs/pkgs/applications/science/machine-learning/nengo-gui/default.nix b/nixpkgs/pkgs/applications/science/machine-learning/nengo-gui/default.nix
new file mode 100644
index 000000000000..6380f25177cb
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/machine-learning/nengo-gui/default.nix
@@ -0,0 +1,26 @@
+{ lib, fetchFromGitHub, python3Packages }:
+
+python3Packages.buildPythonPackage rec {
+  pname = "nengo-gui";
+  version = "0.4.8";
+
+  src = fetchFromGitHub {
+    owner = "nengo";
+    repo = "nengo-gui";
+    rev = "v${version}";
+    sha256 = "1awb0h2l6yifb77zah7a4qzxqvkk4ac5fynangalidr10sk9rzk3";
+  };
+
+  propagatedBuildInputs = with python3Packages; [ nengo ];
+
+  # checks req missing:
+  #   pyimgur
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Nengo interactive visualizer";
+    homepage    = "https://nengo.ai/";
+    license     = licenses.unfreeRedistributable;
+    maintainers = with maintainers; [ arjix ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/science/machine-learning/vowpal-wabbit/default.nix b/nixpkgs/pkgs/applications/science/machine-learning/vowpal-wabbit/default.nix
index d1523b571f4b..7ecbe09f5e18 100644
--- a/nixpkgs/pkgs/applications/science/machine-learning/vowpal-wabbit/default.nix
+++ b/nixpkgs/pkgs/applications/science/machine-learning/vowpal-wabbit/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "vowpal-wabbit";
-  version = "8.10.0";
+  version = "8.11.0";
 
   src = fetchFromGitHub {
     owner = "VowpalWabbit";
     repo = "vowpal_wabbit";
     rev = version;
-    sha256 = "1vxnwanflsx6zf8m9mrxms28ii7rl61xfxp3556y3iawmy11d6pl";
+    sha256 = "sha256-F3la4n1ULMN2nktr+PVWFPl3V2RfCowR0ozL+dnbhgA=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/applications/science/math/R/default.nix b/nixpkgs/pkgs/applications/science/math/R/default.nix
index 827c817fd1a6..a8fdfe8571a6 100644
--- a/nixpkgs/pkgs/applications/science/math/R/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/R/default.nix
@@ -1,9 +1,10 @@
 { lib, stdenv, fetchurl, bzip2, gfortran, libX11, libXmu, libXt, libjpeg, libpng
 , libtiff, ncurses, pango, pcre2, perl, readline, tcl, texLive, tk, xz, zlib
 , less, texinfo, graphviz, icu, pkg-config, bison, imake, which, jdk, blas, lapack
-, curl, Cocoa, Foundation, libobjc, libcxx, tzdata, fetchpatch
+, curl, Cocoa, Foundation, libobjc, libcxx, tzdata
 , withRecommendedPackages ? true
 , enableStrictBarrier ? false
+, enableMemoryProfiling ? false
 # R as of writing does not support outputting both .so and .a files; it outputs:
 #     --enable-R-static-lib conflicts with --enable-R-shlib and will be ignored
 , static ? false
@@ -13,11 +14,11 @@ assert (!blas.isILP64) && (!lapack.isILP64);
 
 stdenv.mkDerivation rec {
   pname = "R";
-  version = "4.0.4";
+  version = "4.1.1";
 
   src = fetchurl {
     url = "https://cran.r-project.org/src/base/R-${lib.versions.major version}/${pname}-${version}.tar.gz";
-    sha256 = "0bl098xcv8v316kqnf43v6gb4kcsv31ydqfm1f7qr824jzb2fgsj";
+    sha256 = "0r6kpnxjbvb7gdfg4m1z8zc6xd225vw81wrnf05ps9ajawk06pji";
   };
 
   dontUseImakeConfigure = true;
@@ -30,7 +31,7 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./no-usr-local-search-paths.patch
-    ./fix-failing-test.patch
+    ./skip-check-for-aarch64.patch
   ];
 
   prePatch = lib.optionalString stdenv.isDarwin ''
@@ -56,6 +57,7 @@ stdenv.mkDerivation rec {
       --with-libtiff
       --with-ICU
       ${lib.optionalString enableStrictBarrier "--enable-strict-barrier"}
+      ${lib.optionalString enableMemoryProfiling "--enable-memory-profiling"}
       ${if static then "--enable-R-static-lib" else "--enable-R-shlib"}
       AR=$(type -p ar)
       AWK=$(type -p gawk)
diff --git a/nixpkgs/pkgs/applications/science/math/R/fix-failing-test.patch b/nixpkgs/pkgs/applications/science/math/R/fix-failing-test.patch
deleted file mode 100644
index 5fb3b3b9c317..000000000000
--- a/nixpkgs/pkgs/applications/science/math/R/fix-failing-test.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From e8f54bc562eb301d204b5f880614be58a2b39a2b Mon Sep 17 00:00:00 2001
-From: maechler <maechler@00db46b3-68df-0310-9c12-caf00c1e9a41>
-Date: Mon, 30 Mar 2020 19:15:59 +0000
-Subject: [PATCH] no longer fail in norm() check for broken OpenBLAS Lapack
- 3.9.0
-
-git-svn-id: https://svn.r-project.org/R/trunk@78112 00db46b3-68df-0310-9c12-caf00c1e9a41
----
- tests/reg-tests-1d.R | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/tests/reg-tests-1d.R b/tests/reg-tests-1d.R
-index 6b7de765a95..fafd6911e7a 100644
---- a/tests/reg-tests-1d.R
-+++ b/tests/reg-tests-1d.R
-@@ -3836,7 +3836,8 @@ stopifnot(is.na( norm(diag(c(1, NA)), "2") ))
- ## norm(<matrix-w-NA>, "F")
- (m <- cbind(0, c(NA, 0), 0:-1))
- nTypes <- eval(formals(base::norm)$type) # "O" "I" "F" "M" "2"
--stopifnot(is.na( print(vapply(nTypes, norm, 0., x = m)) )) # print(): show NA *or* NaN
-+print( # stopifnot( -- for now, as Lapack is still broken in some OpenBLAS -- FIXME
-+    is.na( print(vapply(nTypes, norm, 0., x = m)) )) # print(): show NA *or* NaN
- ## "F" gave non-NA with LAPACK 3.9.0, before our patch in R-devel and R-patched
- 
- 
diff --git a/nixpkgs/pkgs/applications/science/math/R/skip-check-for-aarch64.patch b/nixpkgs/pkgs/applications/science/math/R/skip-check-for-aarch64.patch
new file mode 100644
index 000000000000..8721bf6b422d
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/math/R/skip-check-for-aarch64.patch
@@ -0,0 +1,11 @@
+diff -ur a/src/library/stats/man/nls.Rd b/src/library/stats/man/nls.Rd
+--- a/src/library/stats/man/nls.Rd   2021-05-21 19:15:02.000000000 -0300
++++ b/src/library/stats/man/nls.Rd   2021-08-12 12:39:00.094758280 -0300
+@@ -287,7 +287,7 @@
+ options(digits = 10) # more accuracy for 'trace'
+ ## IGNORE_RDIFF_BEGIN
+ try(nlm1 <- update(nlmod, control = list(tol = 1e-7))) # where central diff. work here:
+-   (nlm2 <- update(nlmod, control = list(tol = 8e-8, nDcentral=TRUE), trace=TRUE))
++   (nlm2 <- update(nlmod, control = list(tol = 8e-8, nDcentral=TRUE, warnOnly=TRUE), trace=TRUE))
+ ## --> convergence tolerance  4.997e-8 (in 11 iter.)
+ ## IGNORE_RDIFF_END
diff --git a/nixpkgs/pkgs/applications/science/math/colpack/default.nix b/nixpkgs/pkgs/applications/science/math/colpack/default.nix
index f203852c9657..3cc9290a7626 100644
--- a/nixpkgs/pkgs/applications/science/math/colpack/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/colpack/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, autoconf, automake, libtool, gettext }:
+{ lib, stdenv, fetchFromGitHub, autoreconfHook }:
 
 stdenv.mkDerivation rec {
 
@@ -12,20 +12,32 @@ stdenv.mkDerivation rec {
     sha256 = "1p05vry940mrjp6236c0z83yizmw9pk6ly2lb7d8rpb7j9h03glr";
   };
 
-  buildInputs = [ autoconf automake gettext libtool ];
+  nativeBuildInputs = [ autoreconfHook ];
 
-  configurePhase = ''
-    autoreconf -vif
-    ./configure --prefix=$out --enable-openmp
+  configureFlags = [
+    "--enable-openmp=${if stdenv.isLinux then "yes" else "no"}"
+    "--enable-examples=no"
+  ];
+
+  postInstall = ''
+    # Remove libtool archive
+    rm $out/lib/*.la
+
+    # Remove compiled examples (Basic examples get compiled anyway)
+    rm -r $out/examples
+
+    # Copy the example sources (Basic tree contains scripts and object files)
+    mkdir -p $out/share/ColPack/examples/Basic
+    cp SampleDrivers/Basic/*.cpp $out/share/ColPack/examples/Basic
+    cp -r SampleDrivers/Matrix* $out/share/ColPack/examples
   '';
 
   meta = with lib; {
     description = "A package comprising of implementations of algorithms for
     vertex coloring and derivative computation";
     homepage = "http://cscapes.cs.purdue.edu/coloringpage/software.htm#functionalities";
-    license = licenses.lgpl3;
-    platforms = platforms.linux;
+    license = licenses.lgpl3Plus;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ edwtjo ];
   };
-
 }
diff --git a/nixpkgs/pkgs/applications/science/math/ginac/default.nix b/nixpkgs/pkgs/applications/science/math/ginac/default.nix
index 901b9a340fea..78b64d7f587a 100644
--- a/nixpkgs/pkgs/applications/science/math/ginac/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/ginac/default.nix
@@ -1,30 +1,34 @@
 { lib, stdenv, fetchurl, cln, pkg-config, readline, gmp, python3 }:
 
 stdenv.mkDerivation rec {
-  name = "ginac-1.8.0";
+  pname = "ginac";
+  version = "1.8.1";
 
   src = fetchurl {
-    url    = "${meta.homepage}/${name}.tar.bz2";
-    sha256 = "0l9byzfxq3f9az5pcdldnl95ws8mpirkqky46f973mvxi5541d24";
+    url = "https://www.ginac.de/ginac-${version}.tar.bz2";
+    sha256 = "sha256-8WldvWsYcGHvP7pQdkjJ1tukOPczsFjBb5J4y9z14as=";
   };
 
   propagatedBuildInputs = [ cln ];
 
-  buildInputs = [ readline ] ++ lib.optional stdenv.isDarwin gmp;
+  buildInputs = [ readline ]
+    ++ lib.optional stdenv.isDarwin gmp;
 
   nativeBuildInputs = [ pkg-config python3 ];
 
   strictDeps = true;
 
-  preConfigure = "patchShebangs ginsh";
+  preConfigure = ''
+    patchShebangs ginsh
+  '';
 
   configureFlags = [ "--disable-rpath" ];
 
   meta = with lib; {
     description = "GiNaC is Not a CAS";
-    homepage    = "https://www.ginac.de/";
+    homepage = "https://www.ginac.de/";
     maintainers = with maintainers; [ lovek323 ];
     license = licenses.gpl2;
-    platforms   = platforms.all;
+    platforms = platforms.all;
   };
 }
diff --git a/nixpkgs/pkgs/applications/science/math/lp_solve/default.nix b/nixpkgs/pkgs/applications/science/math/lp_solve/default.nix
index f944499af401..876222772e86 100644
--- a/nixpkgs/pkgs/applications/science/math/lp_solve/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/lp_solve/default.nix
@@ -1,40 +1,45 @@
-{ lib, stdenv, fetchurl }:
+{ lib, stdenv, fetchurl, cctools, fixDarwinDylibNames }:
 
 stdenv.mkDerivation rec {
 
   pname = "lp_solve";
-  version = "5.5.2.5";
+  version = "5.5.2.11";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/lpsolve/lpsolve/${version}/lp_solve_${version}_source.tar.gz";
-    sha256 = "12pj1idjz31r7c2mb5w03vy1cmvycvbkx9z29s40qdmkp1i7q6i0";
+    sha256 = "sha256-bUq/9cxqqpM66ObBeiJt8PwLZxxDj2lxXUHQn+gfkC8=";
   };
 
-  patches = [ ./isnan.patch ];
-
-  buildCommand = ''
-    . $stdenv/setup
-    tar xvfz $src
-    (
-    cd lp_solve*
-    eval patchPhase
-    )
-    (
-    cd lp_solve*/lpsolve55
-    bash ccc
-    mkdir -pv $out/lib
-    find bin -type f -exec cp -v "{}" $out/lib \;
-    )
-    (
-    cd lp_solve*/lp_solve
-    bash ccc
-    mkdir -pv $out/bin
-    find bin -type f -exec cp -v "{}" $out/bin \;
-    )
-    (
-    mkdir -pv $out/include
-    cp -v lp_solve*/*.h $out/include
-    )
+  nativeBuildInputs = lib.optionals stdenv.isDarwin [
+    cctools
+    fixDarwinDylibNames
+  ];
+
+  dontConfigure = true;
+
+  buildPhase = let
+    ccc = if stdenv.isDarwin then "ccc.osx" else "ccc";
+  in ''
+    runHook preBuild
+
+    (cd lpsolve55 && bash -x -e ${ccc})
+    (cd lp_solve  && bash -x -e ${ccc})
+
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    install -d -m755 $out/bin $out/lib $out/include/lpsolve
+    install -m755 lp_solve/bin/*/lp_solve -t $out/bin
+    install -m644 lpsolve55/bin/*/liblpsolve* -t $out/lib
+    install -m644 lp_*.h -t $out/include/lpsolve
+
+    rm $out/lib/liblpsolve*.a
+    rm $out/include/lpsolve/lp_solveDLL.h  # A Windows header
+
+    runHook postInstall
   '';
 
   meta = with lib; {
@@ -44,6 +49,4 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ smironov ];
     platforms   = platforms.unix;
   };
-
 }
-
diff --git a/nixpkgs/pkgs/applications/science/math/lp_solve/isnan.patch b/nixpkgs/pkgs/applications/science/math/lp_solve/isnan.patch
deleted file mode 100644
index bc1983d4423d..000000000000
--- a/nixpkgs/pkgs/applications/science/math/lp_solve/isnan.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -u a/lp_lib.h b/lp_lib.h
---- a/lp_lib.h	2016-05-04 19:45:15.753143720 +0900
-+++ b/lp_lib.h	2016-05-04 19:53:59.536920722 +0900
-@@ -59,9 +59,6 @@
- # if defined _WIN32 && !defined __GNUC__
- #  define isnan _isnan
- # endif
--#if defined NOISNAN
--# define isnan(x) FALSE
--#endif
- 
- #define SETMASK(variable, mask)     variable |= mask
- #define CLEARMASK(variable, mask)   variable &= ~(mask)
diff --git a/nixpkgs/pkgs/applications/science/math/maxima/default.nix b/nixpkgs/pkgs/applications/science/math/maxima/default.nix
index 01f086c92c75..2b82a8f81705 100644
--- a/nixpkgs/pkgs/applications/science/math/maxima/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/maxima/default.nix
@@ -1,14 +1,16 @@
-{ lib, stdenv, fetchurl, fetchpatch, sbcl, texinfo, perl, python, makeWrapper, autoreconfHook
+{ lib, stdenv, fetchurl, fetchpatch, sbcl, texinfo, perl, python3, makeWrapper, autoreconfHook
 , rlwrap ? null, tk ? null, gnuplot ? null, ecl ? null, ecl-fasl ? false
 }:
 
 let
   name    = "maxima";
-  version = "5.44.0";
+  version = "5.45.0";
+
+  lisp-compiler = if ecl-fasl then ecl else sbcl;
 
   searchPath =
     lib.makeBinPath
-      (lib.filter (x: x != null) [ sbcl ecl rlwrap tk gnuplot ]);
+      (lib.filter (x: x != null) [ lisp-compiler rlwrap tk gnuplot ]);
 in
 stdenv.mkDerivation ({
   inherit version;
@@ -16,14 +18,21 @@ stdenv.mkDerivation ({
 
   src = fetchurl {
     url = "mirror://sourceforge/${name}/${name}-${version}.tar.gz";
-    sha256 = "1v6jr5s6hhj6r18gfk6hgxk2qd6z1dxkrjq9ss2z1y6sqi45wgyr";
+    sha256 = "sha256-x2MfMmRIBc67e6/vOrUzHEus0sJ+OE/YgyO1A5pg0Ng=";
   };
 
-  nativeBuildInputs = [ autoreconfHook ];
+  nativeBuildInputs = [
+    autoreconfHook
+    lisp-compiler
+    makeWrapper
+    python3
+    texinfo
+  ];
+
+  strictDeps = true;
 
-  buildInputs = lib.filter (x: x != null) [
-    sbcl ecl texinfo perl python makeWrapper
-    gnuplot   # required in the test suite
+  checkInputs = [
+    gnuplot
   ];
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/applications/science/math/nasc/default.nix b/nixpkgs/pkgs/applications/science/math/nasc/default.nix
index b55e4047fe47..431668f0c583 100644
--- a/nixpkgs/pkgs/applications/science/math/nasc/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/nasc/default.nix
@@ -21,26 +21,16 @@
 
 stdenv.mkDerivation rec {
   pname = "nasc";
-  version = "0.7.5";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "parnold-x";
     repo = pname;
     rev = version;
-    sha256 = "kSRc5RLkI6SBJirUYw6swZi8IJhaL3y74b2Zw8kh2XA=";
+    sha256 = "02b9a59a9fzsb6nn3ycwwbcbv04qfzm6x7csq2addpzx5wak6dd8";
     fetchSubmodules = true;
   };
 
-  patches = [
-    # fix compilation with gcc10
-    (fetchpatch {
-      url = "https://github.com/parnold-x/libqalculate/commit/4fa8f2cceada128ef19f82407226b2c230b780d5.patch";
-      extraPrefix = "subprojects/libqalculate/";
-      stripLen = "1";
-      sha256 = "0kbff623zl0s6yx5avx068f2apwzxzvihjahja4qhlkqkhhzj9dm";
-    })
-  ];
-
   nativeBuildInputs = [
     glib # post_install.py
     gtk3 # post_install.py
diff --git a/nixpkgs/pkgs/applications/science/math/nauty/default.nix b/nixpkgs/pkgs/applications/science/math/nauty/default.nix
index a941a6334508..c435c63ab2ef 100644
--- a/nixpkgs/pkgs/applications/science/math/nauty/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/nauty/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
   pname = "nauty";
   version = "27r1";
   src = fetchurl {
-    url = "http://pallini.di.uniroma1.it/nauty${version}.tar.gz";
+    url = "https://pallini.di.uniroma1.it/nauty${version}.tar.gz";
     sha256 = "0xsfqfcknbd6g6wzpa5l7crmmk3bf3zjh37rhylq6b20dqcmvjkn";
   };
   outputs = [ "out" "dev" ];
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
     # I'm not sure if the filename will remain the same for future changelog or
     # if it will track changes to minor releases. Lets see. Better than nothing
     # in any case.
-    changelog = "http://pallini.di.uniroma1.it/changes24-27.txt";
-    homepage = "http://pallini.di.uniroma1.it/";
+    changelog = "https://pallini.di.uniroma1.it/changes24-27.txt";
+    homepage = "https://pallini.di.uniroma1.it/";
   };
 }
diff --git a/nixpkgs/pkgs/applications/science/math/polymake/default.nix b/nixpkgs/pkgs/applications/science/math/polymake/default.nix
index b1abb31c7650..9566801479a3 100644
--- a/nixpkgs/pkgs/applications/science/math/polymake/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/polymake/default.nix
@@ -1,27 +1,32 @@
 { lib, stdenv, fetchurl
-, ninja, libxml2, libxslt, readline, perl, gmp, mpfr, boost
+, perl, gmp, mpfr, flint, boost
 , bliss, ppl, singular, cddlib, lrs, nauty
-, ant, openjdk
+, ninja, ant, openjdk
 , perlPackages
 , makeWrapper
 }:
 
+# polymake compiles its own version of sympol and atint because we
+# don't have those packages. other missing optional dependencies:
+# javaview, libnormaliz, scip, soplex, jreality.
+
 stdenv.mkDerivation rec {
   pname = "polymake";
-  version = "3.2.rc4";
+  version = "4.4";
 
   src = fetchurl {
-    url = "https://polymake.org/lib/exe/fetch.php/download/polymake-3.2r4.tar.bz2";
-    sha256 = "02jpkvy1cc6kc23vkn7nkndzr40fq1gkb3v257bwyi1h5d37fyqy";
+    # "The minimal version is a packager friendly version which omits
+    # the bundled sources of cdd, lrs, libnormaliz, nauty and jReality."
+    url = "https://polymake.org/lib/exe/fetch.php/download/polymake-${version}-minimal.tar.bz2";
+    sha256 = "sha256-2nF5F2xznI77pl2TslrxA8HLpw4fmzVnPOM8N3kOwJE=";
   };
 
   buildInputs = [
-    libxml2 libxslt readline perl gmp mpfr boost
+    perl gmp mpfr flint boost
     bliss ppl singular cddlib lrs nauty
     openjdk
-  ] ++
-  (with perlPackages; [
-    XMLLibXML XMLLibXSLT XMLWriter TermReadLineGnu TermReadKey
+  ] ++ (with perlPackages; [
+    JSON TermReadLineGnu TermReadKey XMLSAX
   ]);
 
   nativeBuildInputs = [
@@ -36,11 +41,11 @@ stdenv.mkDerivation rec {
     done
   '';
 
-  meta = {
+  meta = with lib; {
     description = "Software for research in polyhedral geometry";
-    license = lib.licenses.gpl2 ;
-    maintainers = [lib.maintainers.raskin];
-    platforms = lib.platforms.linux;
+    license = licenses.gpl2Plus;
+    maintainers = teams.sage.members;
+    platforms = platforms.linux;
     homepage = "https://www.polymake.org/doku.php";
   };
 }
diff --git a/nixpkgs/pkgs/applications/science/math/pynac/default.nix b/nixpkgs/pkgs/applications/science/math/pynac/default.nix
index 138c97d73be1..88515b92beaf 100644
--- a/nixpkgs/pkgs/applications/science/math/pynac/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/pynac/default.nix
@@ -1,4 +1,5 @@
 { lib, stdenv
+, fetchpatch
 , fetchFromGitHub
 , autoreconfHook
 , pkg-config
@@ -20,6 +21,16 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-ocR7emXtKs+Xe2f6dh4xEDAacgiolY8mtlLnWnNBS8A=";
   };
 
+  patches = [
+    # the patch below is included in sage 9.4 and should be included
+    # in a future pynac release. see https://trac.sagemath.org/ticket/28357
+    (fetchpatch {
+      name = "realpartloop.patch";
+      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/pynac/patches/realpartloop.patch?h=9.4.beta5";
+      sha256 = "sha256-1nj0xtlFN5fZKEiRLD+tiW/ZtxMQre1ziEGA0OVUGE4=";
+    })
+  ];
+
   buildInputs = [
     flint
     gmp
diff --git a/nixpkgs/pkgs/applications/science/math/qalculate-gtk/default.nix b/nixpkgs/pkgs/applications/science/math/qalculate-gtk/default.nix
index 7807ae613e8c..bc192fe4218b 100644
--- a/nixpkgs/pkgs/applications/science/math/qalculate-gtk/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/qalculate-gtk/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "qalculate-gtk";
-  version = "3.19.0";
+  version = "3.20.1";
 
   src = fetchFromGitHub {
     owner = "qalculate";
     repo = "qalculate-gtk";
     rev = "v${version}";
-    sha256 = "1nrx7gp6f1yalbdda1gb97azhbr4xclq2xf08vvbvsk8jfd6fd2v";
+    sha256 = "sha256-GTOdJ4dxR491WU6WM47xLHO7RGUGXkdHuQIDxJvVvFE=";
   };
 
   hardeningDisable = [ "format" ];
diff --git a/nixpkgs/pkgs/applications/science/math/sage/default.nix b/nixpkgs/pkgs/applications/science/math/sage/default.nix
index e39db4b1ac2d..b7821db1f9a7 100644
--- a/nixpkgs/pkgs/applications/science/math/sage/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/sage/default.nix
@@ -38,8 +38,8 @@ let
     ];
     language = "sagemath";
     # just one 16x16 logo is available
-    logo32 = "${sage-src}/doc/common/themes/sage/static/sageicon.png";
-    logo64 = "${sage-src}/doc/common/themes/sage/static/sageicon.png";
+    logo32 = "${sage-src}/src/doc/common/themes/sage/static/sageicon.png";
+    logo64 = "${sage-src}/src/doc/common/themes/sage/static/sageicon.png";
   };
 
   three = callPackage ./threejs-sage.nix { };
diff --git a/nixpkgs/pkgs/applications/science/math/sage/patches/do-not-test-find-library.patch b/nixpkgs/pkgs/applications/science/math/sage/patches/do-not-test-find-library.patch
index 0dbfba642e82..178cef3e54ea 100644
--- a/nixpkgs/pkgs/applications/science/math/sage/patches/do-not-test-find-library.patch
+++ b/nixpkgs/pkgs/applications/science/math/sage/patches/do-not-test-find-library.patch
@@ -1,8 +1,8 @@
 diff --git a/src/sage/env.py b/src/sage/env.py
-index 2908f5d04f..81dfd75c0d 100644
+index 95980cc2df..37107a30e1 100644
 --- a/src/sage/env.py
 +++ b/src/sage/env.py
-@@ -218,93 +218,12 @@ NTL_LIBDIR = var("NTL_LIBDIR")
+@@ -227,93 +227,12 @@ OPENMP_CXXFLAGS = var("OPENMP_CXXFLAGS", "")
  SAGE_BANNER = var("SAGE_BANNER", "")
  SAGE_IMPORTALL = var("SAGE_IMPORTALL", "yes")
  
@@ -51,10 +51,9 @@ index 2908f5d04f..81dfd75c0d 100644
 -        if sys.platform == 'cygwin':
 -            # Later down we take the first matching DLL found, so search
 -            # SAGE_LOCAL first so that it takes precedence
--            search_directories = [
--                Path(SAGE_LOCAL) / 'bin',
--                Path(sysconfig.get_config_var('BINDIR')),
--            ]
+-            if SAGE_LOCAL:
+-                search_directories.append(Path(SAGE_LOCAL) / 'bin')
+-            search_directories.append(Path(sysconfig.get_config_var('BINDIR')))
 -            # Note: The following is not very robust, since if there are multible
 -            # versions for the same library this just selects one more or less
 -            # at arbitrary. However, practically speaking, on Cygwin, there
@@ -66,14 +65,15 @@ index 2908f5d04f..81dfd75c0d 100644
 -            else:
 -                ext = 'so'
 -
--            search_directories = [Path(SAGE_LOCAL) / 'lib']
+-            if SAGE_LOCAL:
+-                search_directories.append(Path(SAGE_LOCAL) / 'lib')
 -            libdir = sysconfig.get_config_var('LIBDIR')
 -            if libdir is not None:
 -                libdir = Path(libdir)
 -                search_directories.append(libdir)
 -
 -                multiarchlib = sysconfig.get_config_var('MULTIARCH')
--                if multiarchlib is not None: 
+-                if multiarchlib is not None:
 -                    search_directories.append(libdir / multiarchlib),
 -
 -            patterns = [f'lib{libname}.{ext}']
@@ -97,4 +97,4 @@ index 2908f5d04f..81dfd75c0d 100644
 +GAP_SO = var("GAP_SO", '/default')
  
  # post process
- if ' ' in DOT_SAGE:
+ if DOT_SAGE is not None and ' ' in DOT_SAGE:
diff --git a/nixpkgs/pkgs/applications/science/math/sage/patches/ignore-cmp-deprecation.patch b/nixpkgs/pkgs/applications/science/math/sage/patches/ignore-cmp-deprecation.patch
deleted file mode 100644
index a91ee319b8f0..000000000000
--- a/nixpkgs/pkgs/applications/science/math/sage/patches/ignore-cmp-deprecation.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff --git a/src/sage/tests/cmdline.py b/src/sage/tests/cmdline.py
-index 6e034dcb5a..8ec60ec72b 100644
---- a/src/sage/tests/cmdline.py
-+++ b/src/sage/tests/cmdline.py
-@@ -660,8 +660,8 @@ def test_executable(args, input="", timeout=100.0, pydebug_ignore_warnings=False
-         sage: with open(input, 'w') as F:
-         ....:     _ = F.write(s)
-         sage: L = ["sage", "--rst2ipynb", input, output]
--        sage: test_executable(L)                              # optional - rst2ipynb
--        ('', '', 0)
-+        sage: test_executable(L)[2]                           # optional - rst2ipynb
-+        0
-         sage: import json                                     # optional - rst2ipynb
-         sage: d = json.load(open(output,'r'))                 # optional - rst2ipynb
-         sage: type(d)                                         # optional - rst2ipynb
-@@ -757,8 +757,6 @@ def test_executable(args, input="", timeout=100.0, pydebug_ignore_warnings=False
-         ///
-         4
-         }}}
--        sage: err # py2 # optional -- sagenb
--        ''
-         sage: ret # py2 # optional -- sagenb
-         0
- 
diff --git a/nixpkgs/pkgs/applications/science/math/sage/sage-src.nix b/nixpkgs/pkgs/applications/science/math/sage/sage-src.nix
index 218ab920a872..3ba21cf6c8be 100644
--- a/nixpkgs/pkgs/applications/science/math/sage/sage-src.nix
+++ b/nixpkgs/pkgs/applications/science/math/sage/sage-src.nix
@@ -13,30 +13,52 @@ let
   # Fetch a diff between `base` and `rev` on sage's git server.
   # Used to fetch trac tickets by setting the `base` to the last release and the
   # `rev` to the last commit of the ticket.
-  fetchSageDiff = { base, name, rev, sha256, ...}@args: (
+  fetchSageDiff = { base, name, rev, sha256, squashed ? false, ...}@args: (
     fetchpatch ({
       inherit name sha256;
 
-      # We used to use
-      # "https://git.sagemath.org/sage.git/patch?id2=${base}&id=${rev}"
-      # but the former way does not squash multiple patches together.
-      url = "https://github.com/sagemath/sage/compare/${base}...${rev}.diff";
+      # There are three places to get changes from:
+      #
+      # 1) From Sage's Trac. Contains all release tags (like "9.4") and all developer
+      # branches (wip patches from tickets), but exports each commit as a separate
+      # patch, so merge commits can lead to conflicts. Used if squashed == false.
+      #
+      # 2) From GitHub's sagemath/sage repo. This lets us use a GH feature that allows
+      # us to choose between a .patch file, with one patch per commit, or a .diff file,
+      # which squashes all commits into a single diff. This is used if squashed ==
+      # true. This repo has all release tags. However, it has no developer branches, so
+      # this option can't be used if a change wasn't yet shipped in a (possibly beta)
+      # release.
+      #
+      # 3) From GitHub's sagemath/sagetrac-mirror repo. Mirrors all developer branches,
+      # but has no release tags. The only use case not covered by 1 or 2 is when we need
+      # to apply a patch from an open ticket that contains merge commits.
+      #
+      # Item 3 could cover all use cases if the sagemath/sagetrack-mirror repo had
+      # release tags, but it requires a sha instead of a release number in "base", which
+      # is inconvenient.
+      urls = if squashed
+             then [
+               "https://github.com/sagemath/sage/compare/${base}...${rev}.diff"
+               "https://github.com/sagemath/sagetrac-mirror/compare/${base}...${rev}.diff"
+             ]
+             else [ "https://git.sagemath.org/sage.git/patch?id2=${base}&id=${rev}" ];
 
       # We don't care about sage's own build system (which builds all its dependencies).
       # Exclude build system changes to avoid conflicts.
       excludes = [ "build/*" ];
-    } // builtins.removeAttrs args [ "rev" "base" "sha256" ])
+    } // builtins.removeAttrs args [ "rev" "base" "sha256" "squashed" ])
   );
 in
 stdenv.mkDerivation rec {
-  version = "9.3";
+  version = "9.4";
   pname = "sage-src";
 
   src = fetchFromGitHub {
     owner = "sagemath";
     repo = "sage";
     rev = version;
-    sha256 = "sha256-l9DX8jcDdKA7GJ6xU+nBsmlZxrcZ9ZUAJju621ooBEo=";
+    sha256 = "sha256-jqkr4meG02KbTCMsGvyr1UbosS4ZuUJhPXU/InuS+9A=";
   };
 
   # Patches needed because of particularities of nix or the way this is packaged.
@@ -77,63 +99,16 @@ stdenv.mkDerivation rec {
   # be empty since dependencies update all the time.
   packageUpgradePatches = [
     # After updating smypow to (https://trac.sagemath.org/ticket/3360) we can
-    # now set the cache dir to be withing the .sage directory. This is not
+    # now set the cache dir to be within the .sage directory. This is not
     # strictly necessary, but keeps us from littering in the user's HOME.
     ./patches/sympow-cache.patch
 
-    # ignore a deprecation warning for usage of `cmp` in the attrs library in the doctests
-    ./patches/ignore-cmp-deprecation.patch
-
-    # remove use of matplotlib function deprecated in 3.4
-    # https://trac.sagemath.org/ticket/31827
-    (fetchSageDiff {
-      base = "9.3";
-      name = "remove-matplotlib-deprecated-function.patch";
-      rev = "32b2bcaefddc4fa3d2aee6fa690ce1466cbb5948";
-      sha256 = "sha256-SXcUGBMOoE9HpuBzgKC3P6cUmM5MiktXbe/7dVdrfWo=";
-    })
-
-    # pari 2.13 update
-    # https://trac.sagemath.org/ticket/30801
-    #
-    # the last commit in that ticket is
-    # c78b1470fccd915e2fa93f95f2fefba6220fb1f7, but commits after
-    # 10a4531721d2700fd717e2b3a1364508ffd971c3 only deal with 32-bit
-    # and post-26635 breakage, none of which is relevant to us. since
-    # there are post-9.4.beta0 rebases after that, we just skip later
-    # commits.
-    (fetchSageDiff {
-      base = "9.3";
-      name = "pari-2.13.1.patch";
-      rev = "10a4531721d2700fd717e2b3a1364508ffd971c3";
-      sha256 = "sha256-gffWKK9CMREaNOb5zb63iZUgON4FvsPrMQNqe+5ZU9E=";
-    })
-
-    # sympy 1.8 update
-    # https://trac.sagemath.org/ticket/31647
-    (fetchSageDiff {
-      base = "9.4.beta0";
-      name = "sympy-1.8.patch";
-      rev = "fa864b36e15696450c36d54215b1e68183b29d25";
-      sha256 = "sha256-fj/9QEZlVF0fw9NpWflkTuBSKpGjCE6b96ECBgdn77o=";
-    })
-
-    # sphinx 4 update
-    # https://trac.sagemath.org/ticket/31696
-    (fetchSageDiff {
-      base = "9.4.beta3";
-      name = "sphinx-4.patch";
-      rev = "bc84af8c795b7da433d2000afc3626ee65ba28b8";
-      sha256 = "sha256-5Kvs9jarC8xRIU1rdmvIWxQLC25ehiTLJpg5skh8WNM=";
-    })
-
-    # eclib 20210625 update
-    # https://trac.sagemath.org/ticket/31443
+    # https://trac.sagemath.org/ticket/32305
     (fetchSageDiff {
-      base = "9.4.beta3";
-      name = "eclib-20210625.patch";
-      rev = "789550ca04c94acfb1e803251538996a34962038";
-      sha256 = "sha256-VlyEn5hg3joG8t/GwiRfq9TzJ54AoHxLolsNQ3shc2c=";
+      base = "9.4";
+      name = "networkx-2.6-upgrade.patch";
+      rev = "9808325853ba9eb035115e5b056305a1c9d362a0";
+      sha256 = "sha256-gJSqycCtbAVr5qnVEbHFUvIuTOvaxFIeffpzd6nH4DE=";
     })
   ];
 
diff --git a/nixpkgs/pkgs/applications/science/math/sage/sagelib.nix b/nixpkgs/pkgs/applications/science/math/sage/sagelib.nix
index f60cb64d2e8d..b9c98ed64d01 100644
--- a/nixpkgs/pkgs/applications/science/math/sage/sagelib.nix
+++ b/nixpkgs/pkgs/applications/science/math/sage/sagelib.nix
@@ -27,6 +27,7 @@
 , linbox
 , m4ri
 , m4rie
+, memory-allocator
 , libmpc
 , mpfi
 , ntl
@@ -107,6 +108,7 @@ buildPythonPackage rec {
     lrcalc
     m4ri
     m4rie
+    memory-allocator
     mpfi
     ntl
     blas
diff --git a/nixpkgs/pkgs/applications/science/math/scilab-bin/default.nix b/nixpkgs/pkgs/applications/science/math/scilab-bin/default.nix
index f9abdee2d148..5dea2c7653aa 100644
--- a/nixpkgs/pkgs/applications/science/math/scilab-bin/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/scilab-bin/default.nix
@@ -39,8 +39,6 @@ stdenv.mkDerivation {
     xorg.libXxf86vm
   ];
 
-  phases = [ "unpackPhase" "fixupPhase" "installPhase" ];
-
   fixupPhase = ''
     sed -i 's|\$(/bin/|$(|g' bin/scilab
     sed -i 's|/usr/bin/||g' bin/scilab
diff --git a/nixpkgs/pkgs/applications/science/math/wxmaxima/default.nix b/nixpkgs/pkgs/applications/science/math/wxmaxima/default.nix
index 94e675d7dd44..2205e96383a4 100644
--- a/nixpkgs/pkgs/applications/science/math/wxmaxima/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/wxmaxima/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wxmaxima";
-  version = "21.02.0";
+  version = "21.05.2";
 
   src = fetchFromGitHub {
     owner = "wxMaxima-developers";
     repo = "wxmaxima";
     rev = "Version-${version}";
-    sha256 = "sha256-5nvaaKsvSEs7QxOszjDK1Xkana2er1BCMZ83b1JZSqc=";
+    sha256 = "sha256-HPqdxGrPxe5FZNOimTpAP+c9VpDBkXu3Z1c1Aaf3+UA=";
   };
 
   buildInputs = [ wxGTK maxima gnome.adwaita-icon-theme ];
diff --git a/nixpkgs/pkgs/applications/science/medicine/dcmtk/default.nix b/nixpkgs/pkgs/applications/science/medicine/dcmtk/default.nix
index 8a06260ebc71..b6a9c161638a 100644
--- a/nixpkgs/pkgs/applications/science/medicine/dcmtk/default.nix
+++ b/nixpkgs/pkgs/applications/science/medicine/dcmtk/default.nix
@@ -26,6 +26,6 @@ stdenv.mkDerivation rec {
     homepage = "https://dicom.offis.de/dcmtk";
     license = licenses.bsd3;
     maintainers = with maintainers; [ iimog ];
-    platforms = platforms.linux;
+    platforms = with platforms; linux ++ darwin;
   };
 }
diff --git a/nixpkgs/pkgs/applications/science/misc/cwltool/default.nix b/nixpkgs/pkgs/applications/science/misc/cwltool/default.nix
new file mode 100644
index 000000000000..21e3c47b323d
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/misc/cwltool/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, python3Packages
+}:
+
+python3Packages.buildPythonApplication rec {
+  pname = "cwltool";
+  version = "3.1.20210628163208";
+
+  src = python3Packages.fetchPypi {
+    inherit pname version;
+    sha256 = "21b885f725420413d2f87eadc5e81c08a9c91beceda89b35d1a702ec4df47e52";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace 'prov == 1.5.1' 'prov'
+  '';
+
+  propagatedBuildInputs = with python3Packages; [
+    argcomplete
+    bagit
+    coloredlogs
+    mypy-extensions
+    prov
+    psutil
+    pydot
+    schema-salad
+    shellescape
+    typing-extensions
+  ];
+
+  doCheck = false; # hard to setup
+  pythonImportsCheck = [ "cwltool" ];
+
+  meta = with lib; {
+    homepage = "https://www.commonwl.org";
+    license = with licenses; [ asl20 ];
+    description = "Common Workflow Language reference implementation";
+    maintainers = with maintainers; [ veprbl ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/science/misc/openmodelica/combined/default.nix b/nixpkgs/pkgs/applications/science/misc/openmodelica/combined/default.nix
new file mode 100644
index 000000000000..459a325111e2
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/misc/openmodelica/combined/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, lib, openmodelica, symlinkJoin, gnumake, blas, lapack, makeWrapper }:
+symlinkJoin {
+  name = "openmodelica-combined";
+  paths = with openmodelica; [
+    omcompiler
+    omsimulator
+    omplot
+    omparser
+    omedit
+    omlibrary
+    omshell
+  ];
+
+  buildInputs = [ gnumake makeWrapper ];
+
+  postBuild = ''
+    wrapProgram $out/bin/OMEdit \
+      --prefix PATH : ${lib.makeBinPath [ gnumake stdenv.cc ]} \
+      --prefix LIBRARY_PATH : "${lib.makeLibraryPath [ blas lapack ]}" \
+      --set-default OPENMODELICALIBRARY "${openmodelica.omlibrary}/lib/omlibrary"
+  '';
+
+  meta = with lib; {
+    description = "An open-source Modelica-based modeling and simulation environment intended for industrial and academic usage";
+    homepage = "https://openmodelica.org";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ smironov ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/science/misc/openmodelica/default.nix b/nixpkgs/pkgs/applications/science/misc/openmodelica/default.nix
index cab0fa5ff5c6..10fccfdf6da8 100644
--- a/nixpkgs/pkgs/applications/science/misc/openmodelica/default.nix
+++ b/nixpkgs/pkgs/applications/science/misc/openmodelica/default.nix
@@ -1,53 +1,17 @@
-{lib, stdenv, fetchgit, fetchsvn, autoconf, automake, libtool, gfortran, clang, cmake, gnumake,
-hwloc, jre, lapack, blas, hdf5, expat, ncurses, readline, qt4, webkitgtk, which,
-lp_solve, omniorb, sqlite, libatomic_ops, pkg-config, file, gettext, flex, bison,
-doxygen, boost, openscenegraph, gnome2, xorg, git, bash, gtk2, makeWrapper }:
-
-let
-
-  fakegit = import ./fakegit.nix { inherit lib stdenv fetchgit fetchsvn bash; };
-
-in
-
-stdenv.mkDerivation {
-  name = "openmodelica";
-
-  src = fetchgit (import ./src-main.nix);
-
-  buildInputs = [autoconf cmake automake libtool gfortran clang gnumake
-    hwloc jre lapack blas hdf5 expat ncurses readline qt4 webkitgtk which
-    lp_solve omniorb sqlite libatomic_ops pkg-config file gettext flex bison
-    doxygen boost openscenegraph gnome2.gtkglext xorg.libXmu
-    git gtk2 makeWrapper];
-
-  hardeningDisable = [ "format" ];
-
-  patchPhase = ''
-    cp -fv ${fakegit}/bin/checkout-git.sh libraries/checkout-git.sh
-    cp -fv ${fakegit}/bin/checkout-svn.sh libraries/checkout-svn.sh
-  '';
-
-  configurePhase = ''
-    export NIX_LDFLAGS="$NIX_LDFLAGS -L${gfortran.cc.lib}/lib"
-
-    autoconf
-    ./configure CC=${clang}/bin/clang CXX=${clang}/bin/clang++ --prefix=$out
-  '';
-
-  postFixup = ''
-    for e in $(cd $out/bin && ls); do
-      wrapProgram $out/bin/$e \
-        --prefix PATH : "${gnumake}/bin" \
-        --prefix LIBRARY_PATH : "${lib.makeLibraryPath [ lapack blas ]}"
-    done
-  '';
-
-  meta = with lib; {
-    description = "An open-source Modelica-based modeling and simulation environment";
-    homepage    = "https://openmodelica.org";
-    license     = licenses.gpl3;
-    maintainers = with maintainers; [ smironov ];
-    platforms   = platforms.linux;
-    broken      = true;
-  };
-}
+{ lib, newScope, libsForQt5, clangStdenv }:
+lib.makeScope newScope (self:
+  let
+    callPackage = self.newScope { stdenv = clangStdenv; };
+    callQtPackage = self.newScope (libsForQt5 // { stdenv = clangStdenv; });
+  in
+  {
+    mkOpenModelicaDerivation = callPackage ./mkderivation { };
+    omcompiler = callPackage ./omcompiler { };
+    omplot = callQtPackage ./omplot { };
+    omsimulator = callPackage ./omsimulator { };
+    omparser = callPackage ./omparser { };
+    omedit = callQtPackage ./omedit { };
+    omlibrary = callPackage ./omlibrary { };
+    omshell = callQtPackage ./omshell { };
+    combined = callPackage ./combined { };
+  })
diff --git a/nixpkgs/pkgs/applications/science/misc/openmodelica/fakegit.nix b/nixpkgs/pkgs/applications/science/misc/openmodelica/fakegit.nix
deleted file mode 100644
index 47cca7c74917..000000000000
--- a/nixpkgs/pkgs/applications/science/misc/openmodelica/fakegit.nix
+++ /dev/null
@@ -1,81 +0,0 @@
-{ lib, stdenv, fetchgit, fetchsvn, bash }:
-
-let
-  mkscript = path : text : ''
-    mkdir -pv `dirname ${path}`
-    cat > ${path} <<"EOF"
-    #!${bash}/bin/bash
-    ME=`basename ${path}`
-    ${text}
-    EOF
-    sed -i "s@%out@$out@g" ${path}
-    chmod +x ${path}
-  '';
-
-  hashname = r: let
-    rpl = lib.replaceChars [":" "/"] ["_" "_"];
-  in
-    (rpl r.url) + "-" + (rpl r.rev);
-
-in
-
-stdenv.mkDerivation {
-  name = "fakegit";
-
-  buildCommand = ''
-    mkdir -pv $out/repos
-    ${lib.concatMapStrings
-       (r : ''
-        cp -r ${fetchgit r} $out/repos/${hashname r}
-       ''
-       ) (import ./src-libs-git.nix)
-    }
-
-    ${mkscript "$out/bin/checkout-git.sh" ''
-      if test "$#" -ne 4; then
-        echo "Usage: $0 DESTINATION URL GITBRANCH HASH"
-        exit 1
-      fi
-      DEST=$1
-      URL=`echo $2 | tr :/ __`
-      GITBRANCH=$3
-      REVISION=$4
-
-      L=`echo $REVISION | wc -c`
-      if expr $L '<' 10 >/dev/null; then
-        REVISION=refs/tags/$REVISION
-      fi
-
-      REVISION=`echo $REVISION | tr :/ __`
-
-      rm -rf $DEST
-      mkdir -pv $DEST
-      echo "FAKEGIT cp -r %out/repos/$URL-$REVISION $DEST" >&2
-      cp -r %out/repos/$URL-$REVISION/* $DEST
-      chmod u+w -R $DEST
-    ''}
-
-    ${lib.concatMapStrings
-       (r : ''
-        cp -r ${fetchsvn r} $out/repos/${hashname r}
-       ''
-       ) (import ./src-libs-svn.nix)
-    }
-
-    ${mkscript "$out/bin/checkout-svn.sh" ''
-      if test "$#" -ne 3; then
-        echo "Usage: $0 DESTINATION URL REVISION"
-        exit 1
-      fi
-      DEST=$1
-      URL=`echo $2 | tr :/ __`
-      REVISION=`echo $4 | tr :/ __`
-
-      rm -rf $DEST
-      mkdir -pv $DEST
-      echo "FAKE COPY %out/repos/$URL-$REVISION $DEST"
-      cp -r %out/repos/$URL-$REVISION/* $DEST
-      chmod u+w -R $DEST
-    ''}
-  '';
-}
diff --git a/nixpkgs/pkgs/applications/science/misc/openmodelica/mkderivation/default.nix b/nixpkgs/pkgs/applications/science/misc/openmodelica/mkderivation/default.nix
new file mode 100644
index 000000000000..94029fead48e
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/misc/openmodelica/mkderivation/default.nix
@@ -0,0 +1,101 @@
+# mkOpenModelicaDerivation is an mkDerivation function for packages
+# from OpenModelica suite.
+
+{ stdenv, lib, fetchgit, autoconf, automake, libtool, cmake, autoreconfHook, symlinkJoin }:
+pkg:
+let
+  inherit (builtins) hasAttr getAttr length elemAt;
+  inherit (lib) attrByPath concatStringsSep;
+
+
+  # A few helpers functions:
+
+  # getAttrDef is just a getAttr with default fallback
+  getAttrDef = attr: default: x: attrByPath [ attr ] default x;
+
+  # getAttr-like helper for optional append to string:
+  # "Hello" + appendByAttr "a" " " {a = "world";} = "Hello world"
+  # "Hello" + appendByAttr "a" " " {} = "Hello"
+  appendByAttr = attr: sep: x: if hasAttr attr x then sep + (getAttr attr x) else "";
+
+  # Are there any OM dependencies at all?
+  ifDeps = length pkg.omdeps != 0;
+
+  # Dependencies of current OpenModelica-target joined in one file tree.
+  # Return the dep itself in case it is a single one.
+  joinedDeps =
+    if length pkg.omdeps == 1
+    then elemAt pkg.omdeps 0
+    else
+      symlinkJoin {
+        name = pkg.pname + "-omhome";
+        paths = pkg.omdeps;
+      };
+
+  # Should we run ./configure for the target pkg?
+  omautoconf = getAttrDef "omautoconf" false pkg;
+
+  # Name of the make target
+  omtarget = getAttrDef "omtarget" pkg.pname pkg;
+
+  # Directory of target sources
+  omdir = getAttrDef "omdir" pkg.pname pkg;
+
+  # Simple to to m4 configuration scripts
+  postPatch = lib.optionalString ifDeps ''
+    sed -i ''$(find -name omhome.m4) -e 's|if test ! -z "$USINGPRESETBUILDDIR"|if test ! -z "$USINGPRESETBUILDDIR" -a -z "$OMHOME"|'
+  '' +
+  appendByAttr "postPatch" "\n" pkg;
+
+  # Update shebangs in the scripts before running configuration.
+  preAutoreconf = "patchShebangs --build common" +
+    appendByAttr "preAutoreconf" "\n" pkg;
+
+  # Tell OpenModelica where built dependencies are located.
+  configureFlags = lib.optional ifDeps "--with-openmodelicahome=${joinedDeps}" ++
+    getAttrDef "configureFlags" [ ] pkg;
+
+  # Our own configurePhase that accounts for omautoconf
+  configurePhase = ''
+    runHook preConfigure
+    export configureFlags="''${configureFlags} --with-ombuilddir=$PWD/build --prefix=$prefix"
+    ./configure --no-recursion $configureFlags
+    ${lib.optionalString omautoconf "(cd ${omdir}; ./configure $configureFlags)"}
+    runHook postConfigure
+  '';
+
+  # Targets that we want to build ourselves:
+  deptargets = lib.forEach pkg.omdeps (dep: dep.omtarget);
+
+  # ... so we ask openmodelica makefile to skip those targets.
+  preBuild = ''
+    for target in ${concatStringsSep " " deptargets}; do
+      touch ''${target}.skip;
+    done
+  '' +
+  appendByAttr "preBuild" "\n" pkg;
+
+  makeFlags = "${omtarget}" +
+    appendByAttr "makeFlags" " " pkg;
+
+  installFlags = "-i " +
+    appendByAttr "installFlags" " " pkg;
+
+
+in
+stdenv.mkDerivation (pkg // {
+  inherit omtarget postPatch preAutoreconf configureFlags configurePhase preBuild makeFlags installFlags;
+
+  src = fetchgit (import ./src-main.nix);
+  version = "1.17.0";
+
+  nativeBuildInputs = getAttrDef "nativeBuildInputs" [ ] pkg
+    ++ [ autoconf automake libtool cmake autoreconfHook ];
+
+  buildInputs = getAttrDef "buildInputs" [ ] pkg
+    ++ lib.optional ifDeps joinedDeps;
+
+  dontUseCmakeConfigure = true;
+
+  hardeningDisable = [ "format" ];
+})
diff --git a/nixpkgs/pkgs/applications/science/misc/openmodelica/mkderivation/src-main.nix b/nixpkgs/pkgs/applications/science/misc/openmodelica/mkderivation/src-main.nix
new file mode 100644
index 000000000000..c31b23d2f948
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/misc/openmodelica/mkderivation/src-main.nix
@@ -0,0 +1,7 @@
+{
+  url = "https://github.com/OpenModelica/OpenModelica/";
+  rev = "08fd3f9144235f209a4ed7602bfadb32b1823628";
+  sha256 = "0clgqk9ilnr43iyl5sdzwfzqpnw9amfy1npdgkpgm1wfnsvz6xrw";
+  fetchSubmodules = true;
+}
+# Update with: nix run -f ./nixpkgs/default.nix nix-prefetch-git -c nix-prefetch-git 'https://github.com/OpenModelica/OpenModelica/' 'v1.17.0' --fetch-submodules
diff --git a/nixpkgs/pkgs/applications/science/misc/openmodelica/omcompiler/default.nix b/nixpkgs/pkgs/applications/science/misc/openmodelica/omcompiler/default.nix
new file mode 100644
index 000000000000..b49c0f0f60ca
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/misc/openmodelica/omcompiler/default.nix
@@ -0,0 +1,63 @@
+{ stdenv
+, lib
+, gfortran
+, flex
+, bison
+, jre8
+, blas
+, lapack
+, curl
+, readline
+, expat
+, pkg-config
+, buildPackages
+, targetPackages
+, libffi
+, binutils
+, mkOpenModelicaDerivation
+}:
+let
+  isCross = stdenv.buildPlatform != stdenv.hostPlatform;
+  nativeOMCompiler = buildPackages.openmodelica.omcompiler;
+in
+mkOpenModelicaDerivation ({
+  pname = "omcompiler";
+  omtarget = "omc";
+  omdir = "OMCompiler";
+  omdeps = [ ];
+  omautoconf = true;
+
+  nativeBuildInputs = [
+    jre8
+    gfortran
+    flex
+    bison
+    pkg-config
+  ] ++ lib.optional isCross nativeOMCompiler;
+
+  buildInputs = [ targetPackages.stdenv.cc.cc blas lapack curl readline expat libffi binutils ];
+
+  postPatch = ''
+    sed -i -e '/^\s*AR=ar$/ s/ar/${stdenv.cc.targetPrefix}ar/
+               /^\s*ar / s/ar /${stdenv.cc.targetPrefix}ar /
+               /^\s*ranlib/ s/ranlib /${stdenv.cc.targetPrefix}ranlib /' \
+        $(find ./OMCompiler -name 'Makefile*')
+  '';
+
+  preFixup = ''
+    for entry in $(find $out -name libipopt.so); do
+      patchelf --shrink-rpath --allowed-rpath-prefixes /nix/store $entry
+      patchelf --set-rpath '$ORIGIN':"$(patchelf --print-rpath $entry)" $entry
+    done
+  '';
+
+  meta = with lib; {
+    description = "Modelica compiler from OpenModelica suite";
+    homepage = "https://openmodelica.org";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ smironov ];
+    platforms = platforms.linux;
+  };
+} // lib.optionalAttrs isCross {
+  configureFlags = [ "--with-omc=${nativeOMCompiler}/bin/omc" ];
+})
diff --git a/nixpkgs/pkgs/applications/science/misc/openmodelica/omedit/default.nix b/nixpkgs/pkgs/applications/science/misc/openmodelica/omedit/default.nix
new file mode 100644
index 000000000000..b0cc530ba37b
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/misc/openmodelica/omedit/default.nix
@@ -0,0 +1,38 @@
+{ lib
+, jre8
+, qmake
+, qtbase
+, qttools
+, qtwebkit
+, qtxmlpatterns
+, binutils
+, wrapQtAppsHook
+, openmodelica
+, mkOpenModelicaDerivation
+}:
+with openmodelica;
+mkOpenModelicaDerivation rec {
+  pname = "omedit";
+  omdir = "OMEdit";
+  omdeps = [ omcompiler omplot omparser omsimulator ];
+  omautoconf = true;
+
+  nativeBuildInputs = [ jre8 qmake qtbase qttools wrapQtAppsHook ];
+
+  buildInputs = [ qtwebkit qtxmlpatterns binutils ];
+
+  postPatch = ''
+    sed -i ''$(find -name qmake.m4) -e '/^\s*LRELEASE=/ s|LRELEASE=.*$|LRELEASE=${lib.getDev qttools}/bin/lrelease|'
+  '';
+
+  dontUseQmakeConfigure = true;
+  QMAKESPEC = "linux-clang";
+
+  meta = with lib; {
+    description = "A Modelica connection editor for OpenModelica";
+    homepage = "https://openmodelica.org";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ smironov ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/science/misc/openmodelica/omlibrary/default.nix b/nixpkgs/pkgs/applications/science/misc/openmodelica/omlibrary/default.nix
new file mode 100644
index 000000000000..006daf18812f
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/misc/openmodelica/omlibrary/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, stdenv
+, fetchgit
+, bash
+, pkg-config
+, jre8
+, libuuid
+, openmodelica
+, mkOpenModelicaDerivation
+}:
+let
+  fakegit = import ./fakegit.nix { inherit lib stdenv fetchgit bash; };
+in
+mkOpenModelicaDerivation {
+  pname = "omlibrary";
+  omdir = "libraries";
+  omtarget = "omlibrary-all";
+  omdeps = [ openmodelica.omcompiler ];
+
+  postPatch = ''
+    patchShebangs --build libraries
+    cp -fv ${fakegit}/bin/checkout-git.sh libraries/checkout-git.sh
+
+    # The EMOTH library is broken in OpenModelica 1.17.0
+    # Let's remove it from targets.
+    sed -i -e '/^OTHER_LIBS=/ s/EMOTH //' libraries/Makefile.libs
+  '';
+
+  meta = with lib; {
+    description = "A collection of Modelica libraries to use with OpenModelica,
+including Modelica Standard Library";
+    homepage = "https://openmodelica.org";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ smironov ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/science/misc/openmodelica/omlibrary/fakegit.nix b/nixpkgs/pkgs/applications/science/misc/openmodelica/omlibrary/fakegit.nix
new file mode 100644
index 000000000000..fdbc79aae599
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/misc/openmodelica/omlibrary/fakegit.nix
@@ -0,0 +1,49 @@
+{ lib, stdenv, fetchgit, bash }:
+let
+  mkscript = path: text: ''
+    mkdir -pv `dirname ${path}`
+    cat > ${path} <<"EOF"
+    #!${bash}/bin/bash
+    ME=$(basename ${path})
+    ${text}
+    EOF
+    sed -i "s@%out@$out@g" ${path}
+    chmod +x ${path}
+  '';
+
+  hashname = r:
+    let
+      rpl = lib.replaceChars [ ":" "/" ] [ "_" "_" ];
+    in
+    (rpl r.url) + "-" + (rpl r.rev);
+
+in
+stdenv.mkDerivation {
+  name = "fakegit";
+
+  buildCommand = ''
+    mkdir -pv $out/repos
+    ${lib.concatMapStrings
+      (r: "cp -r ${fetchgit r} $out/repos/${hashname r}\n")
+      (import ./src-libs.nix)}
+
+    ${mkscript "$out/bin/checkout-git.sh" ''
+      if test "$#" -ne 4; then
+        echo "Usage: $0 DESTINATION URL GITBRANCH HASH"
+        exit 1
+      fi
+      DEST=$1
+      URL=`echo $2 | tr :/ __`
+      GITBRANCH=$3
+      REVISION=$4
+
+      REVISION=`echo $REVISION | tr :/ __`
+
+      rm -rf $DEST
+      mkdir -pv $DEST
+      echo "FAKEGIT cp -r %out/repos/$URL-$REVISION $DEST" >&2
+      cp -r %out/repos/$URL-$REVISION/* $DEST
+      chmod u+w -R $DEST
+    ''}
+  '';
+}
diff --git a/nixpkgs/pkgs/applications/science/misc/openmodelica/omlibrary/src-libs.nix b/nixpkgs/pkgs/applications/science/misc/openmodelica/omlibrary/src-libs.nix
new file mode 100644
index 000000000000..c91addf78040
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/misc/openmodelica/omlibrary/src-libs.nix
@@ -0,0 +1,83 @@
+[
+  { url = "https://github.com/modelica-3rdparty/AdvancedNoise.git"; rev = "5ce57acd279dadd0d25b76a6b02d3f9e9d061246"; sha256 = "07jjbj0y6bak269md3xniqb5lgc33m92ar5qixqxj5yxdjaahfs2"; fetchSubmodules = true; }
+  { url = "https://github.com/RWTH-EBC/AixLib.git"; rev = "b00e01d911e2e54e148f24e36ee387a8b457d89c"; sha256 = "1sljddxkx208nill0975sz9b1xd701n97aia4wxihr140dgs4dgb"; fetchSubmodules = true; }
+  { url = "https://github.com/RWTH-EBC/AixLib.git"; rev = "v0.4.0"; sha256 = "0dw34mjq29n55xh51g1c9a9d0d8gbpn16gj309dfxn4v2hbnfvzx"; fetchSubmodules = true; }
+  { url = "https://github.com/modelica-3rdparty/AlgebraTestSuite.git"; rev = "b937e1a7f447138c59abec9b2092f84f16bf02e8"; sha256 = "0406inasx61dk7vcnziiyhxkna7g61a5hn0znnbxj817hz6q11zn"; fetchSubmodules = true; }
+  { url = "https://github.com/modelica-3rdparty/ApproxSpline.git"; rev = "28420f5c1a88c9cd069defbd8c05e4a78a090675"; sha256 = "07gpyi2brj5zpvrlsnflqjnhbrgxvpqbdshp8lp4lh9mnj5jv95d"; fetchSubmodules = true; }
+  { url = "https://github.com/OpenModelica/BioChem.git"; rev = "v1.0.2"; sha256 = "037bvj2lqrslg8k5r0rjgdzccslj9bj25b55k4g440vabm5p05qm"; fetchSubmodules = true; }
+  { url = "https://github.com/modelica-3rdparty/BondGraph.git"; rev = "20c23e60d12989bd4668ccac47659d82d39d29cc"; sha256 = "0yrkk708v4bvf423xb4zgpmnaj8qhq5primdg758ayddgli23wa9"; fetchSubmodules = true; }
+  { url = "https://github.com/modelica-3rdparty/BrineProp.git"; rev = "c2f564ae284726a2df6252a8561856691681572b"; sha256 = "01c2i2rlry7b4a6f2skkvzphcrfg5a2waxv4i7zgx5q275fg06i1"; fetchSubmodules = true; }
+  { url = "https://github.com/EDF-TREE/BuildSysPro.git"; rev = "v3.3.0"; sha256 = "1cvcany3q9p1xndarxa2d8mmqxdnqk22476q8l61nayz5qy25x61"; fetchSubmodules = true; }
+  { url = "https://github.com/modelica-3rdparty/BuildingControlLib.git"; rev = "v1.0.0"; sha256 = "0ckdxway0m755mbrl94k4458sijzgknlzsrf7xs5bjymxchm8r2m"; fetchSubmodules = true; }
+  { url = "https://github.com/modelica-3rdparty/BuildingSystems.git"; rev = "1e07bb475b921a4eedc6155c5310d1f9f3ef7550"; sha256 = "1xg831vqh6zw88cxxcb3sjgz44l7ygsgxddl05fp6xvz5sjpfcna"; fetchSubmodules = true; }
+  { url = "https://github.com/lbl-srg/modelica-buildings.git"; rev = "v6.0.0"; sha256 = "0rnnk1clji0myzr7adggki6knbl6v8381vwnqgiz8mkxbmzdwm4f"; fetchSubmodules = true; }
+  { url = "https://github.com/lbl-srg/modelica-buildings.git"; rev = "v7.0.0"; sha256 = "04n04pp4zvyg8n8h7h79c3wyk7lmn940mh7qzs0lv76g1ybypnlz"; fetchSubmodules = true; }
+  { url = "https://github.com/modelica-3rdparty/Chemical.git"; rev = "5645573fced862430b7b598b4d7ec1a39c7aa0fa"; sha256 = "1kh7kpmjfz55pb8553srlnrh8l00nw21xf5mjzh7nx9b1rndnmyg"; fetchSubmodules = true; }
+  { url = "https://github.com/modelica-3rdparty/DeployStructLib.git"; rev = "v1.0"; sha256 = "1k4zw9lnd0javw4zigxc15l58yf7xdz36b7808g65qxy89w6ksr2"; fetchSubmodules = true; }
+  { url = "https://github.com/modelica-3rdparty/DisHeatLib.git"; rev = "b11f53379c122870a52f2da9b1705d2c911cd21d"; sha256 = "1vm96a4z0b40r0nisxrrzyvan4yphjdkx4ad655phva2636xb5rr"; fetchSubmodules = true; }
+  { url = "https://github.com/AHaumer/DriveControl.git"; rev = "b7233fd97a92867bb4ec2c3647c7f7e888398644"; sha256 = "0nyp1n8wrkjzfypsmjjzac0g9p4wbc1cxxr040fj20bqdg9l3h1b"; fetchSubmodules = true; }
+  # A broken one. The revision is lost.
+  # { url = "https://github.com/AHaumer/EMOTH.git"; rev = "fa890c8c2781f0c0b2f8efe955ed8a27875dd9ac"; sha256 = ""; fetchSubmodules = true; }
+  { url = "https://github.com/christiankral/ElectroMechanicalDrives.git"; rev = "v2.2.0"; sha256 = "0012phmn1y9fgpph45lwbjk0yhm5czidf2z6khm8lddvk93wf31b"; fetchSubmodules = true; }
+  { url = "https://github.com/modelica-3rdparty/ExternData.git"; rev = "v2.5.0"; sha256 = "19dsyq1mk5vl54fqaffzqafm5w94l011cy7pg16c7i933dbqnkki"; fetchSubmodules = true; }
+  { url = "https://github.com/modelica/ExternalMedia.git"; rev = "159518edd538b64e28cd70983a9cc47730323cc4"; sha256 = "0qjd5fk65bln3s1jhs0cqcv54c22m6x2akbmxj09y4x0lkd1kgqn"; fetchSubmodules = true; }
+  { url = "https://github.com/modelica-3rdparty/ExternalMemoryLib.git"; rev = "6488d5815bda23c665123baa916789e283e16d2c"; sha256 = "06y1i5w690b3b9x23nzls8y67fl7yd7bn4xl5j0dmyi4qx33aqda"; fetchSubmodules = true; }
+  { url = "https://github.com/modelica-3rdparty/FMITest.git"; rev = "a67a276083f4010b249802ad8fc70dc30c09adfd"; sha256 = "0mg8jlvlwql2nsjiy7c3rdibv73bkfk149ac0450d5pc0hfn9mln"; fetchSubmodules = true; }
+  { url = "https://github.com/modelica-3rdparty/FailureModes.git"; rev = "v1.2.1"; sha256 = "1z8bwrld1rkydgssab5gnrd76frrbky8qxi1lvlaf2jidj6bzn1l"; fetchSubmodules = true; }
+  { url = "https://github.com/modelica-3rdparty/FaultTriggering.git"; rev = "v0.6.6"; sha256 = "0a08yyrbg4a49s0bgqgyds6pidx9xr47yspvl9bdak1mq34qibip"; fetchSubmodules = true; }
+  { url = "https://github.com/modelica-3rdparty/FeedDriveLibrary.git"; rev = "1.0.1"; sha256 = "15fi9dj6zgl0fr90cwxqjbpphj0dwrrmk74hf25j6zd85w2ycqdz"; fetchSubmodules = true; }
+  { url = "https://github.com/DLR-SR/FractionalOrder.git"; rev = "99918820e346c362c3ad52d782c8215e5deeac4c"; sha256 = "1pycss6fqh86frfdbdfffjhaz09fz1558f9azgckhf8drx6ry1qs"; fetchSubmodules = true; }
+  { url = "https://github.com/modelica-3rdparty/Greenhouses-Library.git"; rev = "89ae0e8097eb0751abce2013d304fa5f9c09b885"; sha256 = "1q77xj6aysqsn3d7kjmcq7dihbw18iqm35ifzdi75xgf3cgwla4f"; fetchSubmodules = true; }
+  { url = "https://github.com/christiankral/HanserModelica.git"; rev = "v1.1.0"; sha256 = "0zwkrhg2y42m18p4z51izrickiv1vikgz0z7fpjia4dbppckav8i"; fetchSubmodules = true; }
+  { url = "https://github.com/modelica-3rdparty/HelmholtzMedia.git"; rev = "3b4a4bca94d388744b2d045344ea2f9b0b4d405b"; sha256 = "17fzpan89075vb5vbhw5ylgxcdsmj2vjnmmka7cgzh06izb69nvh"; fetchSubmodules = true; }
+  { url = "https://github.com/ibpsa/modelica-ibpsa.git"; rev = "v3.0.0"; sha256 = "0xwgfndlw76zfmiiqadl85l9na9igsqlmfcawx526sdw2lhhgics"; fetchSubmodules = true; }
+  { url = "https://github.com/open-ideas/IDEAS.git"; rev = "v2.1.0"; sha256 = "0xp0zg6ib5536d5vl361lsn5w5faqdf6djhcmfxns629wjima8rn"; fetchSubmodules = true; }
+  { url = "https://github.com/modelica-3rdparty/IndustrialControlSystems.git"; rev = "v1.1.0"; sha256 = "1nvgx94iy1pws0768anrl7ssjlzslb5mbp21j7xvf6wpqfmj0npc"; fetchSubmodules = true; }
+  { url = "https://github.com/christiankral/KeyWordIO.git"; rev = "v0.9.0"; sha256 = "10kvj6zn2r6m3403ja8nkkxbfcchkz0pfk3g70ibr76zivxb5nim"; fetchSubmodules = true; }
+  { url = "https://github.com/FishSim/LibRAS.git"; rev = "fca9de50a484a2213f3ca1b39e275c237c471688"; sha256 = "0w1c87sifq8klq0f2l70qxjrlvahyxy1cx9rln80rni4d427yc1k"; fetchSubmodules = true; }
+  { url = "https://github.com/modelica-3rdparty/LinearMPC.git"; rev = "v1.0"; sha256 = "1crj60i5f33l9pgip0xbv6ankcga7px0644cj7c2wnzn1fjmn2k8"; fetchSubmodules = true; }
+  { url = "https://github.com/looms-polimi/MEV.git"; rev = "v1.0.1"; sha256 = "1a7ih9lc01wzaq8a8aznggpi4aqnczyzq49q5hc4fqvmfwl7l0j3"; fetchSubmodules = true; }
+  { url = "https://github.com/modelica-3rdparty/ModPowerSystems.git"; rev = "df3afce27d5e935c4111f392275744a655abe216"; sha256 = "1b1fikm92lv6gj82imka3hxbjwv04i4h33y69yhcxdpqa6z6hm4z"; fetchSubmodules = true; }
+  { url = "https://github.com/OpenModelica/OpenModelica-ModelicaStandardLibrary.git"; rev = "614a148f61c1ab5d6788d8c11197803132ec7c2f"; sha256 = "0fg0pbahybx3srv5npk8pw49k23kaw2ns6c00f15iy93mvfrmfsk"; fetchSubmodules = true; }
+  { url = "https://github.com/OpenModelica/OpenModelica-ModelicaStandardLibrary.git"; rev = "34fe8cf3c7127ae09ca5f41e26b48fb6044e1e34"; sha256 = "0yz82k9dsp9d1jxqgxcm27fw1jz718km43qfginmgg0m9kfh2336"; fetchSubmodules = true; }
+  { url = "https://github.com/modelica-3rdparty/Modelica-Arduino.git"; rev = "v0.1.0"; sha256 = "1n34dksqhrn1synv2mp2ifk4dxyhp15f5v1jb1b3dbw9n19951qb"; fetchSubmodules = true; }
+  { url = "https://github.com/modelica-3rdparty/Modelica-GNU_ScientificLibrary.git"; rev = "9235ab28bdd7f0fe3e7abba48af53d73332858ec"; sha256 = "168g9gg12lfa863ifs41bnx6yd0yyjnal6986dgpm51dj5arw6id"; fetchSubmodules = true; }
+  { url = "https://github.com/modelica-3rdparty/Modelica-MVEM.git"; rev = "v1.0.1"; sha256 = "1p68691dnl06lgwm4bl9g036brn4vl7m5x3gq4rxc291339frixk"; fetchSubmodules = true; }
+  { url = "https://github.com/modelica-3rdparty/ModelicaADS.git"; rev = "v1.0.1"; sha256 = "0fhxrl07d7v3wa79d30psm1gxydc0p7s2akfirdx6dai0633skp9"; fetchSubmodules = true; }
+  { url = "https://github.com/xogeny/ModelicaBook.git"; rev = "v0.6.0"; sha256 = "0yqbll6p738yvpi1x11cjngpz2glda07mljrkjlm23p7l53x63dc"; fetchSubmodules = true; }
+  { url = "https://github.com/modelica-compliance/compliance.git"; rev = "8a91e75d8a26acc4de30fc0e5d5e9db83c970bd6"; sha256 = "1cym1wlgsvfrryq8zqzzrgs4wam1l7pc20q07hk3d615nhq21lg6"; fetchSubmodules = true; }
+  { url = "https://github.com/modelica-3rdparty/ModelicaDFR.git"; rev = "37a441934d05330cf3d13e9ec551954d27eca84c"; sha256 = "13rpcs8cl9x15vi655150zmhmg1iaxpzvxrl3rqif46zpl5dhlj2"; fetchSubmodules = true; }
+  { url = "https://github.com/modelica/Modelica_DeviceDrivers.git"; rev = "v1.8.2"; sha256 = "16c0p9zn0qrraz59ivinibmikdd251plm1vqngznzhksjwvz6bja"; fetchSubmodules = true; }
+  { url = "https://github.com/modelica/Modelica_LinearSystems2.git"; rev = "v2.3.5"; sha256 = "0rzicynqgayydxqynnairxk7ybg4alv1xnfz8cgkrpicl2g9bacg"; fetchSubmodules = true; }
+  { url = "https://github.com/modelica-3rdparty/Modelica_Requirements.git"; rev = "a427b5cb7997e9036c577d219e6b8a5d0c28389a"; sha256 = "1ihx46kifnfi9kw1g8nmd9sarl766whbzdk6a44alczsya4gg45k"; fetchSubmodules = true; }
+  { url = "https://github.com/modelica/Modelica_Synchronous.git"; rev = "c8350276bfd945086962cf4150ba941b9c57ed13"; sha256 = "12ad7fpjy50ky3lvl65r9d5xvlzvw5yqdnbp4rsgl3qw7s3wrmja"; fetchSubmodules = true; }
+  { url = "https://github.com/jwindahlModelon/MultiPhaseMixtureMedia.git"; rev = "0bda0c58af6384f8e0edf7aa7520afb369af3e38"; sha256 = "11bqm69504bh4h05dxlwdmjfxwls06mr49cz47kl8jmrygkfi4i2"; fetchSubmodules = true; }
+  { url = "https://github.com/OpenIPSL/OpenIPSL.git"; rev = "v1.5.0"; sha256 = "09xrcz0rdxdy220ki5zyl7920y0a4lg24p0aibna4ad15vszhhwj"; fetchSubmodules = true; }
+  { url = "https://github.com/modelica-3rdparty/Optimisers.git"; rev = "e33c69edaad6dad8029167b0ca00533964a6fe37"; sha256 = "0hcxsrr2n4fzaxdjvgvqayz38kpfk86cclvg5pzcfmjc5bznb8bs"; fetchSubmodules = true; }
+  { url = "https://github.com/lochel/PNlib.git"; rev = "ab9b6b8527c0c78140365e7b105ae469d4954a64"; sha256 = "0y7bfbnvzv9bnz4v8wvmy42dji3cqpy5b2fmd2jj0rhlzs1infzh"; fetchSubmodules = true; }
+  { url = "https://github.com/modelica-3rdparty/PVSystems.git"; rev = "v0.6.2"; sha256 = "0vcgvdaqfbn46lpzk0kvsif3d55wf8yzhkbdpf5zv04kv7zw25w9"; fetchSubmodules = true; }
+  { url = "https://github.com/modelica-3rdparty/PhotoVoltaics.git"; rev = "v1.6.0"; sha256 = "0zqx77z217iln3vfxn2v3c2jl0jz5kgcd96ylvimjnwr30mxr09n"; fetchSubmodules = true; }
+  { url = "https://github.com/MarekMatejak/Physiolibrary.git"; rev = "v2.3.1"; sha256 = "0nxfw63m278gaff18zz29n2s1vk4kwdbv2qvbjmcq86fl1i5b3bg"; fetchSubmodules = true; }
+  { url = "https://github.com/modelica-3rdparty/Physiomodel.git"; rev = "v1.0.0"; sha256 = "1sdhv5qgjqv3zdq57pkkrh04ainwv9n5zqd8mb9a3ybjmwdjf6f9"; fetchSubmodules = true; }
+  { url = "https://github.com/dzimmer/PlanarMechanics.git"; rev = "55224a9e76de8aa7f708236bd4d7dee624ecba50"; sha256 = "0hf7vi44adss86x5ahk5if7bdjgw773d8mb3d8ianq12g8azycyd"; fetchSubmodules = true; }
+  { url = "https://github.com/PowerGrids/PowerGrids.git"; rev = "v1.0.0"; sha256 = "06bx8mqvmizhfwg99djdfgh2mblc4wzmg0zq4ilrp586jwfninmz"; fetchSubmodules = true; }
+  { url = "https://github.com/modelica/PowerSystems.git"; rev = "v1.0.0"; sha256 = "1xwhwich7gi6vl33zl2r78xdjklchgkjcnvww6390j20l1wjznkn"; fetchSubmodules = true; }
+  { url = "https://github.com/modelica/PowerSystems.git"; rev = "7369976265a9d7b62097340aba5e463c62cc5061"; sha256 = "1f0h148v2g057l6ixf646d8ymsx1jzqn14xlram8h62la2k6nmvw"; fetchSubmodules = true; }
+  { url = "https://github.com/modelica-3rdparty/RealTimeCoordinationLibrary.git"; rev = "v1.0.2"; sha256 = "0ch4la04hm059ii5wzph9gsbvqhnfqrvvpqi57qn27bm10c4la0m"; fetchSubmodules = true; }
+  { url = "https://github.com/casella/ScalableTestSuite.git"; rev = "v1.11.5"; sha256 = "0bhj1q9b8d29nrbr253zszy1w1yvyizvyr3law1pqjj6mhbqmg4i"; fetchSubmodules = true; }
+  { url = "https://github.com/modelica-3rdparty/Servomechanisms.git"; rev = "3bf82ba5d3f31b4a0ae05f99ae690037358e153e"; sha256 = "1swka7d58wkg5pqv59lqgfi7gv6rg5vra4j6r76pn9czx9ddal8w"; fetchSubmodules = true; }
+  { url = "https://github.com/SolarTherm/SolarTherm.git"; rev = "d80fc335d1fa5d1628c45c2e73204bcb8a614b21"; sha256 = "18d8cqlh0ic2yfcxzkz0ar9z19486z9x4sc7c9mpggxib28p39aa"; fetchSubmodules = true; }
+  { url = "https://github.com/modelica-3rdparty/Soltermica.git"; rev = "9f7224bd89335f95dffe1ccdaa094df5a3279fdf"; sha256 = "1bif3cnwjas6x7b8ahwkm7dbrqrfdqwwa26zmdc6zrpfncl3kqd0"; fetchSubmodules = true; }
+  { url = "https://github.com/modelica-3rdparty/SystemDynamics.git"; rev = "2f6bd9382c5aac2aff9148cd9113a418767734b6"; sha256 = "0ii2mj6ngwjir3gzyad8wsj86pvd6wzal91nz2y7gzwj1djchb3x"; fetchSubmodules = true; }
+  { url = "https://github.com/thom-marx/ThermalSeparation.git"; rev = "ffa0495ba829ecab105be4bfb3b7652625ec9c03"; sha256 = "1czm97bcrpp2jv0a0kd31a929wqlrlzdhdxvyy4w499dn20jzv1l"; fetchSubmodules = true; }
+  { url = "https://github.com/casella/ThermoPower.git"; rev = "82d21eba0d330005899dd50a6a0ceb7d09c4caeb"; sha256 = "0n83b40hjisy7lpnbz692947d2q3hw5hk4rak7fg0w5dbm4i719p"; fetchSubmodules = true; }
+  { url = "https://openmodelica.org/git/ThermoSysPro.git"; rev = "db81ae1b5a6a85f6c6c7693244cafa6087e18ff5"; sha256 = "12fsf0xxxc1ja6vmm9ff85f8j5sg1lb7w4g57s2w3fkf4d3a7d0c"; fetchSubmodules = true; }
+  { url = "https://openmodelica.org/git/ThermoSysPro.git"; rev = "5cef9acb4dedf8af6f4638a4448f08a544ebd30b"; sha256 = "0ihnz1s4rs42yis9zym9nw29ia2lqz2yx2wblc50p6f221w7q78s"; fetchSubmodules = true; }
+  { url = "https://github.com/lenaRB/VVDRlib.git"; rev = "eae4981674642eddffc7f2aa3690320fcaddee0e"; sha256 = "0qxxk2xlas5mqyc1h8ndic208qj1sm5mr5y8664kv3py7i8jdqi4"; fetchSubmodules = true; }
+  { url = "https://github.com/modelica/VehicleInterfaces.git"; rev = "v1.2.5"; sha256 = "044k17cpc88wprrvw03p6crm6dy6x9a6xj5104d5nln71lqz5sdq"; fetchSubmodules = true; }
+  { url = "https://github.com/modelica-3rdparty/WasteWater.git"; rev = "v2.1.0"; sha256 = "1dxr4m9j7b5266daj4klbrhvnkqr73sximdw9bk9v5qf0s28li99"; fetchSubmodules = true; }
+  { url = "https://github.com/modelica-3rdparty/WindPowerPlants.git"; rev = "v1.2.0"; sha256 = "1lyrqwsb6sm1wc7vlj72zk5cpjhhzh27fviiqayddqy2b903xish"; fetchSubmodules = true; }
+  { url = "https://github.com/modelica-3rdparty/ipsl.git"; rev = "v1.1.1"; sha256 = "1w2iah8c5d8n01wmxydjk0rrcxh88g8yjy2zmv403azcccq7byzp"; fetchSubmodules = true; }
+  { url = "https://github.com/modelica-3rdparty/netCDF-DataReader.git"; rev = "v2.5.0"; sha256 = "1pd5xf5bgz010lryv8bj6lvlfqn9p184csiffwj8icx7rycnlcqb"; fetchSubmodules = true; }
+  { url = "https://github.com/joewa/open-bldc-modelica.git"; rev = "58a83b5b36f267613de4676c95163489b1ddc2e7"; sha256 = "0wf6dn64d2psv9b3xg5227vzpk109r3dqzi4m2wwhrilaxs3v004"; fetchSubmodules = true; }
+]
diff --git a/nixpkgs/pkgs/applications/science/misc/openmodelica/omlibrary/update-src-libs.sh b/nixpkgs/pkgs/applications/science/misc/openmodelica/omlibrary/update-src-libs.sh
new file mode 100755
index 000000000000..b8f2e95923b5
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/misc/openmodelica/omlibrary/update-src-libs.sh
@@ -0,0 +1,39 @@
+#!/usr/bin/env nix-shell
+#! nix-shell -i bash -p bash
+
+CWD=$PWD
+
+chko() {
+  (
+    T=`mktemp -d`
+    trap "rm -rf $T" EXIT INT PIPE
+    cd $T
+    cat >check.nix <<EOF
+with import <nixpkgs> {};
+fetchgit `cat $CWD/../mkderivation/src-main.nix`
+EOF
+    nix-build check.nix
+    cat result/libraries/Makefile.libs
+  )
+}
+
+getsha256() {
+  URL=$(echo "$1" | sed 's/^"\(.*\)"$/\1/')
+  REV=$(echo "$2" | sed 's/^"\(.*\)"$/\1/')
+  SHA=$(nix run nixpkgs.nix-prefetch-git -c nix-prefetch-git --fetch-submodules "$URL" "$REV" 2>/dev/null | sed -n 's/.*"sha256": "\(.*\)",/\1/g p')
+  echo "{ url = $1; rev = $2; sha256 = \"$SHA\"; fetchSubmodules = true; }"
+}
+
+OUT=src-libs.nix
+
+echo '[' > $OUT
+
+chko |
+grep checkout-git.sh |
+tr \' \" |
+while read NM TGT URL BR REV ; do
+  echo Trying $TGT $URL $REV >&2
+  getsha256 $URL $REV >> $OUT || exit 1
+done
+
+echo ']' >> $OUT
diff --git a/nixpkgs/pkgs/applications/science/misc/openmodelica/omparser/Makefile.in.patch b/nixpkgs/pkgs/applications/science/misc/openmodelica/omparser/Makefile.in.patch
new file mode 100644
index 000000000000..a8f04203a8c9
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/misc/openmodelica/omparser/Makefile.in.patch
@@ -0,0 +1,22 @@
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -23,7 +23,7 @@
+ omedit-testsuite: omedit-testsuite.skip
+ omedit-testsuite.skip: omedit.skip testsuite-depends
+ 	$(MAKE) -f $(defaultMakefileTarget) -C OMEdit/Testsuite
+-omparser: omparser.skip
++omparser: build-dirs omparser.skip
+ omparser.skip:
+ 	test -f $@ || $(MAKE) -C OMParser OMBUILDDIR=@OMBUILDDIR@ "host_short=@host_short@" CC="@CC@" CXX="@CXX@" CFLAGS="@CFLAGS@" CPPFLAGS="@CPPFLAGS@" CXXFLAGS="@CXXFLAGS@"
+ omsimulator: omsimulator.skip
+@@ -134,6 +134,10 @@
+ INSTALL_JAVADIR    = ${DESTDIR}${datadir}/omc/java
+ INSTALL_LOCALEDIR  = ${DESTDIR}${datadir}/locale
+ 
++build-dirs:
++	mkdir -p "@OMBUILDDIR@"/lib/@host_short@/omc
++	mkdir -p "@OMBUILDDIR@"/include/omc
++
+ install-dirs:
+ 	@test ! "${DESTDIR}/@prefix@" -ef "@OMBUILDDIR@" || (echo Error: Install and build dirs are the same && false)
+ 	if [ "@APP@" = ".app" ]; then mkdir -p ${INSTALL_APPDIR}; fi
diff --git a/nixpkgs/pkgs/applications/science/misc/openmodelica/omparser/default.nix b/nixpkgs/pkgs/applications/science/misc/openmodelica/omparser/default.nix
new file mode 100644
index 000000000000..fcf5acd29ee9
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/misc/openmodelica/omparser/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, pkg-config
+, jre8
+, libuuid
+, openmodelica
+, mkOpenModelicaDerivation
+}:
+
+mkOpenModelicaDerivation rec {
+  pname = "omparser";
+  omdir = "OMParser";
+  omdeps = [ openmodelica.omcompiler ];
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ jre8 libuuid ];
+
+  patches = [ ./Makefile.in.patch ];
+
+  meta = with lib; {
+    description = "An antlr4-based parser of Modelica files from OpenModelica
+suite";
+    homepage = "https://openmodelica.org";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ smironov ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/science/misc/openmodelica/omplot/default.nix b/nixpkgs/pkgs/applications/science/misc/openmodelica/omplot/default.nix
new file mode 100644
index 000000000000..7edc4b6efb22
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/misc/openmodelica/omplot/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, qtbase
+, qttools
+, qmake
+, wrapQtAppsHook
+, openmodelica
+, mkOpenModelicaDerivation
+}:
+
+mkOpenModelicaDerivation rec {
+  pname = "omplot";
+  omdir = "OMPlot";
+  omdeps = [ openmodelica.omcompiler ];
+  omautoconf = true;
+
+  nativeBuildInputs = [ qtbase qttools qmake wrapQtAppsHook ];
+
+  postPatch = ''
+    sed -i OMPlot/Makefile.in -e 's|bindir = @includedir@|includedir = @includedir@|'
+    sed -i OMPlot/OMPlot/OMPlotGUI/*.pro -e '/INCLUDEPATH +=/s|$| ../../qwt/src|'
+    sed -i ''$(find -name qmake.m4) -e '/^\s*LRELEASE=/ s|LRELEASE=.*$|LRELEASE=${lib.getDev qttools}/bin/lrelease|'
+  '';
+
+  dontUseQmakeConfigure = true;
+  QMAKESPEC = "linux-clang";
+
+  meta = with lib; {
+    description = "Plotting tool for OpenModelica-generated results files";
+    homepage = "https://openmodelica.org";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ smironov ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/science/misc/openmodelica/omshell/default.nix b/nixpkgs/pkgs/applications/science/misc/openmodelica/omshell/default.nix
new file mode 100644
index 000000000000..2f8c5203c07a
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/misc/openmodelica/omshell/default.nix
@@ -0,0 +1,40 @@
+{ lib, qttools, qmake, qtwebkit, wrapQtAppsHook, readline, openmodelica, mkOpenModelicaDerivation }:
+
+mkOpenModelicaDerivation rec {
+  pname = "omshell";
+  omdir = "OMShell";
+  omdeps = [ openmodelica.omcompiler ];
+  omautoconf = true;
+
+  nativeBuildInputs = [ qmake wrapQtAppsHook ];
+
+  buildInputs = [ readline qtwebkit ];
+
+  postPatch = with openmodelica; ''
+    sed -i ''$(find -name qmake.m4) -e '/^\s*LRELEASE=/ s|LRELEASE=.*$|LRELEASE=${lib.getDev qttools}/bin/lrelease|'
+    sed -i OMShell/OMShell/OMShellGUI/*.pro -e '
+      s|\$\$\[QT_INSTALL_BINS\]/lrelease|${lib.getDev qttools}/bin/lrelease|
+      /^\s*OMCLIBS =/ s|\$\$(OMBUILDDIR)|${omcompiler}|
+      /^\s*OMCINC =/ s|\$\$(OMBUILDDIR)|${omcompiler}|
+    '
+    sed -i OMShell/OMShell/OMShellGUI/OMShell.config.in -e '
+      s|@OMBUILDDIR@|${omcompiler}|
+      s|@OPENMODELICAHOME@|${omcompiler}|
+    '
+    sed -i OMShell/mosh/src/Makefile.in -e '
+      /^CFLAGS =/ s|-I../../../build|-I${omcompiler}|
+      /^LIBS =/ s|-L@OMBUILDDIR@|-L${omcompiler}|
+      '
+  '';
+
+  dontUseQmakeConfigure = true;
+  QMAKESPEC = "linux-clang";
+
+  meta = with lib; {
+    description = "Interactive OpenModelica session shell";
+    homepage = "https://openmodelica.org";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ smironov ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/science/misc/openmodelica/omsimulator/default.nix b/nixpkgs/pkgs/applications/science/misc/openmodelica/omsimulator/default.nix
new file mode 100644
index 000000000000..448cdee6c263
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/misc/openmodelica/omsimulator/default.nix
@@ -0,0 +1,26 @@
+{ lib
+, pkg-config
+, boost
+, readline
+, libxml2
+, openmodelica
+, mkOpenModelicaDerivation
+}:
+
+mkOpenModelicaDerivation rec {
+  pname = "omsimulator";
+  omdir = "OMSimulator";
+  omdeps = [ openmodelica.omcompiler ];
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ readline libxml2 boost ];
+
+  meta = with lib; {
+    description = "The OpenModelica FMI & SSP-based co-simulation environment";
+    homepage = "https://openmodelica.org";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ smironov ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/science/misc/openmodelica/src-libs-git.nix b/nixpkgs/pkgs/applications/science/misc/openmodelica/src-libs-git.nix
deleted file mode 100644
index aae5ab321fbe..000000000000
--- a/nixpkgs/pkgs/applications/science/misc/openmodelica/src-libs-git.nix
+++ /dev/null
@@ -1,71 +0,0 @@
-[
-{ url = "https://github.com/modelica-3rdparty/ADGenKinetics.git"; rev = "42428db6e84bcde28543a3bba9bccee581309bb1"; sha256="14l005jwj1wz35gq8xlbzfz0bpsx99rs4q3dxkfh76yhnv1jh9h3"; }
-{ url = "https://github.com/modelica-3rdparty/ADMSL.git"; rev = "ed0305603f86b46d9af03e7d37dcb8b6704915b4"; sha256="15b0nqxyh8444az56ydjn594jikdl1ina5wamabk3nzm1yx218cl"; }
-{ url = "https://github.com/iea-annex60/modelica-annex60.git"; rev = "8015a01591bb24d219f57e7b69cdfcde66e39b47"; sha256="05k4pa007a6p628fq1xac0cfv8g8dnpy2bgy8h99rqpmlaa072z7"; }
-{ url = "https://github.com/OpenModelica/BioChem.git"; rev = "b5f3cb999f3cfad2bbb6fb429b496f61ecf2f628"; sha256="1l52dg888vwx4668spn59hqvfkpl9g06g8n2cdxiap7lvsyh6w9x"; }
-{ url = "https://github.com/modelica-3rdparty/BondGraph.git"; rev = "20c23e60d12989bd4668ccac47659d82d39d29cc"; sha256="1i9cmiy1ya04h2ld0gy0x2gvdrfksl66fmcrgdm1vpsnbb6pviv9"; }
-{ url = "https://github.com/modelica-3rdparty/BondLib.git"; rev = "df7a40fe612617da22e27d39edfa4b27d65f23d0"; sha256="005djwxd568zyk3ndss9hv165dci9x0dgjmcdjhnqmsap3w83hlz"; }
-{ url = "https://github.com/modelica-3rdparty/BrineProp.git"; rev = "fed013cdeec0fb9552964376b575a8e3635539ab"; sha256="020hm2q65d5iv3h8b3lhgl6j930vi2pbh4lvxv3b3k7i9z02q43a"; }
-{ url = "https://github.com/lbl-srg/modelica-buildings.git"; rev = "ef89361cc8673b077b9221efbf78aa63b4d7babd"; sha256="04gclknhl2f5z7w9fsbhwawisd0ibmvwpplx0siqwzvjx7nsmdg4"; }
-{ url = "https://github.com/lbl-srg/modelica-buildings.git"; rev = "444aa231f423b8d04225bf8672e3212d089fbfe4"; sha256="0q754mlkwqj0jcqsmxksvcz4ak2i86f9s41fhffh5jvra27cvq01"; }
-{ url = "https://github.com/modelica-3rdparty/Chemical.git"; rev = "aa2642608e587ddb6897e8c3ffabb3aa099510bd"; sha256="0y46spcb6rw0jpj4v20nlw8xlvi5kypij46f1msvwgr7dfgy4gl4"; }
-{ url = "https://github.com/modelica-3rdparty/ComplexLib.git"; rev = "0b78942ee4fa95ae71347a0d552dd869fdf4c708"; sha256="18llf5ccrq3b0f4cjznfycskwf78pik8370xv45w9gb51gamszrn"; }
-{ url = "https://github.com/lochel/ConPNlib.git"; rev = "bbf6e9711665d55e5a8cf2f7235fa013c2315104"; sha256="0g3ll44sn2ff14qxwdyakw9h5b8b7vzabxp8cb8km16wcdqzgcxx"; }
-{ url = "https://github.com/modelica-3rdparty/DESLib.git"; rev = "7a473d8d16b118c3ea05761c6f43b17fd9838e4e"; sha256="19f2121n8rdc9svcjk8irivsd9wqcb9ai9jx72s2r85fkbvm8jc3"; }
-{ url = "https://github.com/modelica-3rdparty/ExtendedPetriNets.git"; rev = "2f4eac0651c1ab0ed56b75ec61424e0ef15181d3"; sha256="0wwj756pg33qwb90ycbfkrk5xsiwsbrqvq3i16i4pisi21vl6jk9"; }
-{ url = "https://github.com/modelica-3rdparty/ExternData.git"; rev = "396164fa708cc7c7e64da55ac0b3cba23939f790"; sha256="09052qmv91a9wawsl93b5b3q47awrxhnsbb9mrv39kpnwygfh7dq"; }
-{ url = "https://github.com/modelica/ExternalMedia.git"; rev = "1b77869b31dc3509defeccb1236db4b05d2f6f5b"; sha256="05sszn4bn8r78syydyjq8csn9xv4az56mm9lrarqykqdh78pvlqp"; }
-{ url = "https://github.com/kdavies4/FCSys.git"; rev = "cb4b17f34313b9d8f2d4223d5365684b4dc1ab65"; sha256="114p7ja6b3fwlkvkkjhbx78fxc7v4af2sbs783hkdga86m1v4ib6"; }
-{ url = "https://github.com/modelica-3rdparty/FastBuildings.git"; rev = "1f5cfebc2f42c13e272bff639ffa3449d5740bf7"; sha256="0sry1n2pliddz0pjv8dp899fx98f16n1arc8zvq36k5grvi52fby"; }
-{ url = "https://github.com/modelica-3rdparty/FaultTriggering.git"; rev = "10c226b7e5b2af901b356ac437c90d6616a6e9a4"; sha256="0a9j18qjwigq11nghl97syxa9bscs1aj6vwpkldh50csnj5h6g2s"; }
-{ url = "https://github.com/modelica-3rdparty/FuzzyControl.git"; rev = "19ff67ff129a440482cc85f216f287b05ea6ec0d"; sha256="0ijcqns7pijsavijn4wlrdsz64k5ks626sly7r28wvrk9af2m2cx"; }
-{ url = "https://github.com/modelica-3rdparty/HelmholtzMedia.git"; rev = "e54fcd0e436d65c85de6c6b935983e363cdc9f6c"; sha256="05afh0379fx4mjjn7jb8j5p4am6qi62hjxvasb38b6fcp9rnysn4"; }
-{ url = "https://github.com/modelica-3rdparty/IdealizedContact.git"; rev = "8ebac550d913f6d2b3af4d1aea5044e72c7eb6b0"; sha256="03gh2a7hf44clshwkiyz786w847hmyr3bicdqd9969fbirgcqn6m"; }
-{ url = "https://github.com/modelica-3rdparty/IndustrialControlSystems.git"; rev = "6a2414307d5998c6d081efe803c2b575a532b3ba"; sha256="09la9h07x8bkh7zhrwykgj1467qdryjvxhvnnm8qvsim0dl9inc4"; }
-{ url = "https://github.com/modelica-3rdparty/LinearMPC.git"; rev = "1e91a5dcaa662cd30c5b09a9d0267289703f933b"; sha256="12094fqmwi65h0mc65b96krbj6b8dgn6jiww3fnv6khglb21kwvd"; }
-{ url = "https://github.com/modelica/Modelica.git"; rev = "refs/tags/v1.6"; sha256="106w83ylgbxf63wr7p9z5q8vqz2qcsaw0zwaad7d3saq6rdbj30c"; }
-{ url = "https://github.com/modelica/Modelica.git"; rev = "d442bcd461b8db9873e33b6141bdbd37bcff9de8"; sha256="1icnd0fxix5khnsvdhy7kmzn6lnqkggbvfrbln98a2h5zqd6s32w"; }
-{ url = "https://github.com/modelica/Modelica.git"; rev = "af2a3e1597d648d6826665c89cf9eaf5c2a632bc"; sha256="0ryk0iwakdazhsjqvan41w6f9bvgl329zkqchcdg6nkidiigziwh"; }
-{ url = "https://github.com/modelica/Modelica.git"; rev = "48943d87db45a6c312b5a5789d384acde44a934b"; sha256="1hi2vkpmx734baa9m1lqzallcykhh3snd68r387gndiv96f6zx3n"; }
-{ url = "https://github.com/modelica/Modelica.git"; rev = "164af873cc5955c50f9592a7d2f3c155f703849c"; sha256="071svqwd72sy85sngbg5r22ab693c0gw2xx29gk1sqrk2nchmvia"; }
-{ url = "https://github.com/OpenModelica/modelica3d.git"; rev = "daf5669b03ad33fc6999671d1c0e7521134a282b"; sha256="1scs6v2cp2r4jz4diszwbqf9kvzf49pid50dmpsz0gfhx06j9y2v"; }
-{ url = "https://github.com/modelica-deprecated/ModelicaAdditions.git"; rev = "568db43766186826b880f9d4bfafeff25cc2c4ab"; sha256="1py5i3afxdvz1dmxxwb2mqj8kyzdhg4jnnqwl8h50akizg4i49pl"; }
-{ url = "https://github.com/xogeny/ModelicaBook.git"; rev = "0e670cfae4db653bd34ea777d6b56423e9be2c9f"; sha256="0lxh08w6nii4p5yk7c0xmfi5y4xkjkzz4hirr3kqdhdfybcwq824"; }
-{ url = "https://github.com/modelica-compliance/compliance.git"; rev = "ca5092c14bb7af4507a10700ee49181a3a3ee199"; sha256="12ja6dhwlbq412kxjdviypgchipxpsg8l0sf6r17g6lbsi19i2b6"; }
-{ url = "https://github.com/modelica-3rdparty/ModelicaDEVS.git"; rev = "a987aa9552fbbe71b2ee2e8c28958f9d213087ae"; sha256="0qcw7vw28xadim0h8kr2km09d8vdj05ibdpzcnpny9n43pm9s5hx"; }
-{ url = "https://github.com/modelica/Modelica_DeviceDrivers.git"; rev = "db912ba7e1317b8f6a776ccf9a19f69c77a9c477"; sha256="052h2lr7xgfag5fks19wbldqmb985kxlc5fzysl7c9w3fnijp0ml"; }
-{ url = "https://github.com/modelica/Modelica_EnergyStorages.git"; rev = "9f057365232364e31a31a8e525f96284b98c7de3"; sha256="195m5b3z8qgg9kih9zsdx1h8zgrm37q63890r59akka05a97j48h"; }
-{ url = "https://github.com/modelica/Modelica_LinearSystems2.git"; rev = "18916fdc485285baab12481701b53d4eb606a3f1"; sha256="0fhvdwcgk8q3z1a98l2bxv8a6dysrs4ll6xfyzpni7yq8gp4mg4q"; }
-{ url = "https://github.com/modelica/Modelica_Synchronous.git"; rev = "d0f5ee57bc7b639738e88026674a87343b33dbe1"; sha256="0l75v4d0fgf07ify0h3skh4y9pfw9gxh9hbj1lbsdgglmzlrcvbg"; }
-{ url = "https://github.com/modelica-3rdparty/MotorcycleDynamics.git"; rev = "2be2667f9936d88ffb9b8a8246c5af9ccb0b307f"; sha256="0jazwmpqpyhhgs9qdn9drmplgp2yjs0ky7wll5x9929dkgy80m6x"; }
-{ url = "https://github.com/modelica-3rdparty/NCLib.git"; rev = "ed3d72f176ac6b7031ce73be9d80101141e74a69"; sha256="1pbpv8w1lsa9vdwp7qbih8iim91ms22b01wz376b548d0x2r95la"; }
-{ url = "https://github.com/modelica-3rdparty/NeuralNetwork.git"; rev = "c44e4d1fe97fd4f86dafcd05ad3713692e3f1806"; sha256="0s1v8k71zq1s9gjlvi3zr23nwfknp4x17cxm64a0y3vsi3kahj2s"; }
-{ url = "https://github.com/DLR-SR/Noise.git"; rev = "9b57476845539e56769cf76ea0fe7bf3c7eb5d11"; sha256="0icrb63f6dm4gww2nyby9i7s7qxvhvialp36xzcgmi7nlq7crjr2"; }
-{ url = "https://github.com/modelica-3rdparty/ObjectStab.git"; rev = "2a723e0b223af50f4ffdd62f8ac901e0f87b9323"; sha256="1b6zi27slzzfbkmbcqxygsn5i5w0zkq0hfrfb72vf7mbgz07j19j"; }
-{ url = "https://github.com/cparedis/OpenHydraulics.git"; rev = "d3173d1f06f7d14c9d7c41769f143617ff03a3ad"; sha256="1hn5rcnmzcbiaqdnxfn02wddmrpj9bcdi9p680f31hbh3vb0i3r6"; }
-{ url = "https://github.com/lochel/PNlib.git"; rev = "44c7d277980b7a88b449b72edec0a56416b40fa9"; sha256="026wdhbxnzarmj8gw0as70vj8f1gwc51z38hjqpswxkl0xd6mfvp"; }
-{ url = "https://github.com/MarekMatejak/Physiolibrary.git"; rev = "49d59060f6e5b4cb68560c6d7467e84ea4318056"; sha256="0klqs2axjm3s780sq4plq4wmbf9mszz2jmq9fprgxy9pw7iszbhc"; }
-{ url = "https://github.com/dzimmer/PlanarMechanics.git"; rev = "d998a1b27355e83d2ff4849d71281a919a3234aa"; sha256="0vyq6mninn38wy2d60rk753xbkfqim2y6y31py7kq2mm170jfqf4"; }
-{ url = "https://github.com/modelica/PowerSystems.git"; rev = "7b551888089277a0dd979db636d47aba0279e8f0"; sha256="0y13f1nllc7riksnly25wmmp6mc30c1b48dbq2lr1nag6yg3blwm"; }
-{ url = "https://github.com/modelica/PowerSystems.git"; rev = "3abd48aa53bbcd3f3e2ddfa2371680febf8baf48"; sha256="1nr2nbpaxywk8cpwnk9rr2zr87mm2gb9b4plqipjdlrrkjlk9fka"; }
-{ url = "https://github.com/modelica-3rdparty/PraxisSimulationstechnik.git"; rev = "f7db177786f84033f3a50b7474988b190a1dfb46"; sha256="08bdm7k7w35kg9gkrvcn382zkwf5h3iwkkx60d5fj64j5d5klray"; }
-{ url = "https://github.com/modelica-3rdparty/QCalc.git"; rev = "af6c34dda691a9bdf7ca1de10650974b2d5cecf5"; sha256="0p0zhl27cnr492byrzib0dyn7zp5yb7wcr0spv10ngm6j90cij6y"; }
-{ url = "https://github.com/modelica-3rdparty/QSSFluidFlow.git"; rev = "d84a2c107132f2cd47ea3c3751238d69e4b1f64b"; sha256="02cdvv33pi0qlmg8n401s4cxf59l9b4ff4ixf7gwn4w4n1y9bw0g"; }
-{ url = "https://github.com/modelica-3rdparty/RealTimeCoordinationLibrary.git"; rev = "655ac1a22aa6deb04ea8e3869dd0aa9fb9540754"; sha256="19crf8pl9vpqq3pq1rhcbl49kkmnm4jrzpwrpqp8qc6dj8096za4"; }
-{ url = "https://github.com/modelica-3rdparty/ScalableTestSuite.git"; rev = "c6319908d45ac97ffb10e96cd42654bce36ffb97"; sha256="1g79d88bfmzcqvaghyyj86ajs38v0qnmjxbj8d53yp6nmgnaasx5"; }
-{ url = "https://github.com/modelica-3rdparty/Servomechanisms.git"; rev = "22e1874ef9ad46156617817c67a4fb1238621bf5"; sha256="0nwb7apayk7ba9iv27yv67wi4b934dy57kkvn0acxy393jhd8jqd"; }
-{ url = "https://openmodelica.org/git/SiemensPower.git"; rev = "73a3bfc6d2ddd72165bb0f3e7e9df48b643a5ed0"; sha256="0mvrkpkmr0bx2cvsb23syg7cs8k6a15vjf4n1hivdcigq4x8g2nc"; }
-{ url = "https://openmodelica.org/git/SiemensPower.git"; rev = "5ef2e38b64ff481801c0db19d52f0bef21f85f77"; sha256="1llnpl2x1g28gari1rk34hdnnwf7a4fwwxlf7i18d8bl1vsrfaja"; }
-{ url = "https://openmodelica.org/git/SiemensPower.git"; rev = "2bd9e367baaa8d44946897c3c3a32a4050ad2a2a"; sha256="1shm9blpn9m87ci6wwkinpmihr1fik9j0a0pj2nxy0cjrr2jzbn4"; }
-{ url = "https://github.com/modelica-3rdparty/Spot.git"; rev = "2f74417f1681570900a1ed373dcbe4b42634ec7b"; sha256="0k5h2k6x98zvvsafpw7y16xs9d6lxz0csa0mlm4wwggaywadn255"; }
-{ url = "https://github.com/modelica-3rdparty/SystemDynamics.git"; rev = "c58a26dc3e62a50e64fd336dc4aa499b2d5ad314"; sha256="0ra3a2vgqmry92kmm060gfa41mrpkgbs4swzl78ih3icawfzjz8q"; }
-{ url = "https://github.com/modelica-3rdparty/ThermoPower.git"; rev = "e012268625dd1645fe5570cf31d64129d83a8192"; sha256="1rlkli48kc9hnkplgb0bjkb6ajn7agiw4yh9l5sfvlv7k7k2gc8l"; }
-{ url = "https://openmodelica.org/git/ThermoSysPro.git"; rev = "d4f9c3ed35f7520f82439eb6e9f4057ae0f82b73"; sha256="0hxbn26g479qkr6rrglx9ljdxnpzd5ll1sf2v08skghrdjjb8jcx"; }
-{ url = "https://openmodelica.org/git/ThermoSysPro.git"; rev = "51e7ea2d2e121ee640e7897335c294923f8eaeb0"; sha256="0l11mzjkaxndsqrnnr0z7qvk08svv229119qkm81yb53ich9wnyw"; }
-{ url = "https://github.com/modelica/VehicleInterfaces.git"; rev = "ad956a35643d53e207ee126d67ea1f3f38337a39"; sha256="0g90cqwjpi06gn7vca5kqnz56im76s2hrdqjhsj2bl43rza8mhr0"; }
-{ url = "https://github.com/modelica-3rdparty/WasteWater.git"; rev = "90ff44ac791ba5ed98444c8597efbd2a2af01cad"; sha256="1icrn0y389rhxmf6i0mnsfgw9v9j5innpkz3q069rfm2ji268b12"; }
-{ url = "https://github.com/xogeny/XogenyTest.git"; rev = "9b98981e8ff0f440dd319d1a806e1fd2f0ab3436"; sha256="18glaxrlxfml26w7ljlf0yj3ah1fnhpbg01py28nplsgnrfwfwqj"; }
-{ url = "https://github.com/modelica-3rdparty/msgpack-modelica.git"; rev = "6ce2ca600c4902038c0f20b43ed442f1ee204310"; sha256="01x5a9y11yf62sc0j2y49yxwm24imj2lfl3z5mwvi9038gwn0lkx"; }
-{ url = "https://github.com/modelica-3rdparty/netCDF-DataReader.git"; rev = "3d2cc8272abfbc4b667d8868f851bf3e11c6f00e"; sha256="194810a4rn0flxgirrlnxsbxarnm97309dkp1w7nva9zv1q3wj7h"; }
-{ url = "https://github.com/joewa/open-bldc-modelica.git"; rev = "7817cd703b88fc1f433269d32c31e75eb50a21c6"; sha256="1plkxkx51f9yi99ysarmx2ymldizvyr0m66k996y5lj5h81jv8a8"; }
-]
diff --git a/nixpkgs/pkgs/applications/science/misc/openmodelica/src-libs-svn.nix b/nixpkgs/pkgs/applications/science/misc/openmodelica/src-libs-svn.nix
deleted file mode 100644
index 244da64fb4e6..000000000000
--- a/nixpkgs/pkgs/applications/science/misc/openmodelica/src-libs-svn.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-[
-{ url = "https://svn.modelica.org/projects/Modelica_ElectricalSystems/InstantaneousSymmetricalComponents"; rev = "7978"; sha256="0f100c7bz4ai3ryhpkbbszw8z6mykvg40p03ic92n2qq58wjk37z"; }
-{ url = "https://svn.modelica.org/projects/Modelica_EmbeddedSystems/trunk/Modelica_StateGraph2"; rev = "8121"; sha256="1cys57nc1yzkr5admc139qs5pa48rj3g69pb3j3s9xcmpd483hzp"; }
-{ url = "https://svn.modelica.org/projects/Modelica_ElectricalSystems/Modelica_PowerFlow/trunk"; rev = "3174"; sha256="0yviw1b8psn8vfyl4q1naylak3lcqi2q1bqplqg3gg9iw4aiymxl"; }
-]
diff --git a/nixpkgs/pkgs/applications/science/misc/openmodelica/src-main.nix b/nixpkgs/pkgs/applications/science/misc/openmodelica/src-main.nix
deleted file mode 100644
index 99e82259bfe6..000000000000
--- a/nixpkgs/pkgs/applications/science/misc/openmodelica/src-main.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-  url = "https://openmodelica.org/git-readonly/OpenModelica.git";
-  fetchSubmodules = true;
-  rev = "8c5d48eb31a638d5220621b20377bfe6f9e9535e";
-  sha256 = "0i5cznkh4wwayjqms14f3phizqm493nrr1yjgs9747nfw7vnwsff";
-}
diff --git a/nixpkgs/pkgs/applications/science/misc/openmodelica/update-src-libs-git.sh b/nixpkgs/pkgs/applications/science/misc/openmodelica/update-src-libs-git.sh
deleted file mode 100755
index 481a89796415..000000000000
--- a/nixpkgs/pkgs/applications/science/misc/openmodelica/update-src-libs-git.sh
+++ /dev/null
@@ -1,64 +0,0 @@
-#!/bin/sh
-
-CWD=`pwd`
-
-chko() { (
-T=`mktemp -d`
-trap "rm -rf $T" EXIT INT PIPE
-cd $T
-cat >check.nix <<EOF
-with import <nixpkgs> {};
-fetchgit `cat $CWD/src-main.nix`
-EOF
-nix-build check.nix
-cat result/libraries/Makefile.libs
-) }
-
-getsha256() { (
-T=`mktemp -d`
-trap "rm -rf $T" EXIT INT PIPE
-cd $T
-
-L=`echo $2 | wc -c`
-if expr $L '<' 10 >/dev/null; then
-T=`echo $2 | sed 's@"\(.*\)"@"refs/tags/\1"@'`
-cat >check.nix <<EOF
-with import <nixpkgs> {};
-fetchgit {
-  url = $1;
-  rev = $T;
-  sha256 = "0000000000000000000000000000000000000000000000000000";
-}
-EOF
-SHA=`nix-build check.nix 2>&1 | sed -n 's/.*instead has ‘\(.*\)’.*/\1/g p'`
-echo "{ url = $1; rev = $T; sha256=\"$SHA\"; }"
-else
-cat >check.nix <<EOF
-with import <nixpkgs> {};
-fetchgit {
-  url = $1;
-  rev = $2;
-  sha256 = "0000000000000000000000000000000000000000000000000000";
-}
-EOF
-SHA=`nix-build check.nix 2>&1 | sed -n 's/.*instead has ‘\(.*\)’.*/\1/g p'`
-echo "{ url = $1; rev = $2; sha256=\"$SHA\"; }"
-fi
-
-# nix-build check.nix
-) }
-
-OUT=src-libs-git.nix
-
-echo '[' > $OUT
-
-chko |
-grep checkout-git.sh |
-tr \' \" |
-while read NM TGT URL BR REV ; do
-  echo Trying $TGT $URL $REV >&2
-  getsha256 $URL $REV >> $OUT || exit 1
-done
-
-echo ']' >> $OUT
-
diff --git a/nixpkgs/pkgs/applications/science/misc/openmodelica/update-src-libs-svn.sh b/nixpkgs/pkgs/applications/science/misc/openmodelica/update-src-libs-svn.sh
deleted file mode 100755
index 972bc7d61f13..000000000000
--- a/nixpkgs/pkgs/applications/science/misc/openmodelica/update-src-libs-svn.sh
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/bin/sh
-
-CWD=`pwd`
-
-chko() { (
-T=`mktemp -d`
-trap "rm -rf $T" EXIT INT PIPE
-cd $T
-cat >check.nix <<EOF
-with import <nixpkgs> {};
-fetchgit `cat $CWD/src-main.nix`
-EOF
-nix-build check.nix
-cat result/libraries/Makefile.libs
-) }
-
-getsha256() { (
-T=`mktemp -d`
-trap "rm -rf $T" EXIT INT PIPE
-cd $T
-
-L=`echo $2 | wc -c`
-cat >check.nix <<EOF
-with import <nixpkgs> {};
-fetchsvn {
-  url = $1;
-  rev = $2;
-  sha256 = "0000000000000000000000000000000000000000000000000000";
-}
-EOF
-SHA=`nix-build check.nix 2>&1 | sed -n 's/.*instead has ‘\(.*\)’.*/\1/g p'`
-echo "{ url = $1; rev = $2; sha256=\"$SHA\"; }"
-
-# nix-build check.nix
-) }
-
-OUT=src-libs-svn.nix
-
-echo '[' > $OUT
-
-chko |
-grep checkout-svn.sh |
-tr \' \" |
-while read NM TGT URL REV ; do
-  echo Trying $TGT $URL $REV >&2
-  getsha256 $URL $REV >> $OUT || exit 1
-done
-
-echo ']' >> $OUT
-
diff --git a/nixpkgs/pkgs/applications/science/misc/snakemake/default.nix b/nixpkgs/pkgs/applications/science/misc/snakemake/default.nix
index 419323cfa31f..4ff751ff8d18 100644
--- a/nixpkgs/pkgs/applications/science/misc/snakemake/default.nix
+++ b/nixpkgs/pkgs/applications/science/misc/snakemake/default.nix
@@ -2,7 +2,7 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "snakemake";
-  version = "6.6.1";
+  version = "6.7.0";
 
   propagatedBuildInputs = with python3Packages; [
     appdirs
@@ -31,7 +31,7 @@ python3Packages.buildPythonApplication rec {
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "91637a801342f3bc349c033b284fef7c0201b4e5e29d5650cb6c7f69096d4184";
+    sha256 = "6f53d54044c5d1718c7858f45286beeffb220c794fe5f602a5c20bf0caf8ec07";
   };
 
   doCheck = false; # Tests depend on Google Cloud credentials at ${HOME}/gcloud-service-key.json
diff --git a/nixpkgs/pkgs/applications/science/physics/quantomatic/default.nix b/nixpkgs/pkgs/applications/science/physics/quantomatic/default.nix
index c1400869a258..8c33a8ae6b1a 100644
--- a/nixpkgs/pkgs/applications/science/physics/quantomatic/default.nix
+++ b/nixpkgs/pkgs/applications/science/physics/quantomatic/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ jre ];
 
-  phases = [ "installPhase" ];
+  dontUnpack = true;
 
   installPhase = ''
     mkdir -p $out/libexec/quantomatic
diff --git a/nixpkgs/pkgs/applications/science/physics/sherpa/default.nix b/nixpkgs/pkgs/applications/science/physics/sherpa/default.nix
index ba519cc2d032..eb718be12e4a 100644
--- a/nixpkgs/pkgs/applications/science/physics/sherpa/default.nix
+++ b/nixpkgs/pkgs/applications/science/physics/sherpa/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "1iwa17s8ipj6a2b8zss5csb1k5y9s5js38syvq932rxcinbyjsl4";
   };
 
-  postPatch = lib.optional (stdenv.hostPlatform.libc == "glibc") ''
+  postPatch = lib.optionalString (stdenv.hostPlatform.libc == "glibc") ''
     sed -ie '/sys\/sysctl.h/d' ATOOLS/Org/Run_Parameter.C
   '';
 
diff --git a/nixpkgs/pkgs/applications/science/physics/xflr5/default.nix b/nixpkgs/pkgs/applications/science/physics/xflr5/default.nix
index 5ae56528f964..85e20f38b668 100644
--- a/nixpkgs/pkgs/applications/science/physics/xflr5/default.nix
+++ b/nixpkgs/pkgs/applications/science/physics/xflr5/default.nix
@@ -9,8 +9,6 @@ mkDerivation rec {
     sha256 = "02x3r9iv3ndwxa65mxn9m5dlhcrnjiq7cffi6rmb456gs3v3dnav";
   };
 
-  enableParallelBuilding = true;
-
   nativeBuildInputs = [ qmake ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/science/programming/plm/default.nix b/nixpkgs/pkgs/applications/science/programming/plm/default.nix
index e56282b68631..ca8e87a05533 100644
--- a/nixpkgs/pkgs/applications/science/programming/plm/default.nix
+++ b/nixpkgs/pkgs/applications/science/programming/plm/default.nix
@@ -1,37 +1,39 @@
-{lib, stdenv, fetchurl, makeWrapper, jre, gcc, valgrind}:
+{ lib, stdenv, fetchurl, makeWrapper, jre, gcc, valgrind }:
 # gcc and valgrind are not strict dependencies, they could be made
 # optional. They are here because plm can only help you learn C if you
 # have them installed.
 stdenv.mkDerivation rec {
-  major = "2";
-  minor = "5";
-  version = "${major}-${minor}";
   pname = "plm";
+  version = "2.9.3";
 
   src = fetchurl {
-    url = "http://webloria.loria.fr/~quinson/Teaching/PLM/plm-${major}_${minor}.jar";
-    sha256 = "0m17cxa3nxi2cbswqvlfzp0mlfi3wrkw8ry2xhkxy6aqzm2mlgcc";
+    url = "https://github.com/BuggleInc/PLM/releases/download/v${version}/plm-${version}.jar";
+    sha256 = "0i9ghx9pm3kpn9x9n1hl10zdr36v5mv3drx8lvhsqwhlsvz42p5i";
     name = "${pname}-${version}.jar";
   };
 
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ jre gcc valgrind ];
 
-  phases = [ "installPhase" ];
+  dontUnpack = true;
 
   installPhase = ''
+    runHook preInstall
+
     mkdir -p "$prefix/bin"
 
     makeWrapper ${jre}/bin/java $out/bin/plm \
       --add-flags "-jar $src" \
       --prefix PATH : "$PATH"
+
+    runHook postInstall
   '';
 
   meta = with lib; {
     description = "Free cross-platform programming exerciser";
+    homepage = "http://people.irisa.fr/Martin.Quinson/Teaching/PLM/";
     license = licenses.gpl3;
     maintainers = [ ];
     platforms = lib.platforms.all;
-    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/applications/science/robotics/apmplanner2/default.nix b/nixpkgs/pkgs/applications/science/robotics/apmplanner2/default.nix
index 0f5e7e6daa85..b65c23521395 100644
--- a/nixpkgs/pkgs/applications/science/robotics/apmplanner2/default.nix
+++ b/nixpkgs/pkgs/applications/science/robotics/apmplanner2/default.nix
@@ -30,8 +30,6 @@ mkDerivation rec {
       --replace /usr $out
   '';
 
-  enableParallelBuilding = true;
-
   meta = {
     description = "Ground station software for autonomous vehicles";
     longDescription = ''
diff --git a/nixpkgs/pkgs/applications/science/robotics/mavproxy/default.nix b/nixpkgs/pkgs/applications/science/robotics/mavproxy/default.nix
index ba0c2530849a..4f83f957dbf7 100644
--- a/nixpkgs/pkgs/applications/science/robotics/mavproxy/default.nix
+++ b/nixpkgs/pkgs/applications/science/robotics/mavproxy/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonApplication rec {
   pname = "MAVProxy";
-  version = "1.8.39";
+  version = "1.8.40";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-1RXuAiz9i5ZnLtDGQ+o3DNgWJ2FDJGIoelmlDmEzrts=";
+    sha256 = "cad317e2e879f1f7cb59af078788aaf0d09cd761ecd91ad091adf7ac6cc1bcdb";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/applications/science/robotics/qgroundcontrol/default.nix b/nixpkgs/pkgs/applications/science/robotics/qgroundcontrol/default.nix
index 1b9304d49e71..2759723841cc 100644
--- a/nixpkgs/pkgs/applications/science/robotics/qgroundcontrol/default.nix
+++ b/nixpkgs/pkgs/applications/science/robotics/qgroundcontrol/default.nix
@@ -17,7 +17,6 @@ mkDerivation rec {
     gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad wayland
   ];
 
-  enableParallelBuilding = true;
   buildInputs = [ SDL2 ] ++ gstInputs ++ qtInputs;
   nativeBuildInputs = [ pkg-config qmake qttools ];
 
diff --git a/nixpkgs/pkgs/applications/system/glances/default.nix b/nixpkgs/pkgs/applications/system/glances/default.nix
index e950fcfb1cda..7c3120f57040 100644
--- a/nixpkgs/pkgs/applications/system/glances/default.nix
+++ b/nixpkgs/pkgs/applications/system/glances/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonApplication rec {
   pname = "glances";
-  version = "3.2.1";
+  version = "3.2.3.1";
   disabled = isPyPy;
 
   src = fetchFromGitHub {
     owner = "nicolargo";
     repo = "glances";
     rev = "v${version}";
-    sha256 = "0m2cxmlyay2rr9hnc08s5q9xwdqy0nhzsl10by4f9ji0kiahnpl6";
+    sha256 = "0h7y36z4rizl1lyxacq32vpmvbwn9w2nrvrxn791060cksfw4xwd";
   };
 
   # Some tests fail in the sandbox (they e.g. require access to /sys/class/power_supply):
@@ -31,7 +31,7 @@ buildPythonApplication rec {
   ];
 
   doCheck = true;
-  preCheck = lib.optional stdenv.isDarwin ''
+  preCheck = lib.optionalString stdenv.isDarwin ''
     export DYLD_FRAMEWORK_PATH=/System/Library/Frameworks
   '';
 
diff --git a/nixpkgs/pkgs/applications/terminal-emulators/alacritty/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/alacritty/default.nix
index e4c5eb752d73..0a23d63e3eab 100644
--- a/nixpkgs/pkgs/applications/terminal-emulators/alacritty/default.nix
+++ b/nixpkgs/pkgs/applications/terminal-emulators/alacritty/default.nix
@@ -53,16 +53,16 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "alacritty";
-  version = "0.8.0";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "alacritty";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-9pQqnsLMkzhKTs7WGhf6lac/LGot6EmJQxgFBTrHA4E=";
+    sha256 = "sha256-kgZEbOGmO+uRKaWR+oQBiGkBzDSuCznUyWNUoMICHhk=";
   };
 
-  cargoSha256 = "sha256-NtDeXS2g+5RzKHJdDrbzL5oReS42SzuEubkfZ4gbkFc=";
+  cargoSha256 = "sha256-JqnYMDkagWNGliUxi5eqJN92ULsvT7Fwmah8um1xaRw=";
 
   nativeBuildInputs = [
     cmake
@@ -99,6 +99,7 @@ rustPlatform.buildRustPackage rec {
       ln -s $out/bin $out/Applications/Alacritty.app/Contents/MacOS
     '' else ''
       install -D extra/linux/Alacritty.desktop -t $out/share/applications/
+      install -D extra/linux/io.alacritty.Alacritty.appdata.xml -t $out/share/appdata/
       install -D extra/logo/compat/alacritty-term.svg $out/share/icons/hicolor/scalable/apps/Alacritty.svg
 
       # patchelf generates an ELF that binutils' "strip" doesn't like:
diff --git a/nixpkgs/pkgs/applications/terminal-emulators/aminal/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/aminal/default.nix
index 7f04a93d6a32..70d0d083dcf3 100644
--- a/nixpkgs/pkgs/applications/terminal-emulators/aminal/default.nix
+++ b/nixpkgs/pkgs/applications/terminal-emulators/aminal/default.nix
@@ -33,9 +33,9 @@ buildGoPackage rec {
     sha256 = "0syv9md7blnl6i19zf8s1xjx5vfz6s755fxyg2ply0qc1pwhsj8n";
   };
 
-  preBuild = ''
-    buildFlagsArray=("-ldflags=-X ${goPackagePath}/version.Version=${version}")
-  '';
+  ldflags = [
+    "-X ${goPackagePath}/version.Version=${version}"
+  ];
 
   meta = with lib; {
     description = "Golang terminal emulator from scratch";
diff --git a/nixpkgs/pkgs/applications/terminal-emulators/cool-retro-term/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/cool-retro-term/default.nix
index 97812decbf31..049452c7e3ad 100644
--- a/nixpkgs/pkgs/applications/terminal-emulators/cool-retro-term/default.nix
+++ b/nixpkgs/pkgs/applications/terminal-emulators/cool-retro-term/default.nix
@@ -29,8 +29,6 @@ mkDerivation rec {
     ln -s $out/bin/cool-retro-term.app/Contents/MacOS/cool-retro-term $out/bin/cool-retro-term
   '';
 
-  enableParallelBuilding = true;
-
   meta = {
     description = "Terminal emulator which mimics the old cathode display";
     longDescription = ''
diff --git a/nixpkgs/pkgs/applications/terminal-emulators/foot/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/foot/default.nix
index f069338ae8a9..8e7bbed90978 100644
--- a/nixpkgs/pkgs/applications/terminal-emulators/foot/default.nix
+++ b/nixpkgs/pkgs/applications/terminal-emulators/foot/default.nix
@@ -1,8 +1,9 @@
 { stdenv
 , lib
-, fetchzip
+, fetchFromGitea
 , fetchurl
-, runCommandNoCC
+, fetchpatch
+, runCommand
 , fcft
 , freetype
 , pixman
@@ -53,7 +54,7 @@ let
     '';
   };
 
-  stimuliFile = runCommandNoCC "pgo-stimulus-file" { } ''
+  stimuliFile = runCommand "pgo-stimulus-file" { } ''
     ${stimulusGenerator} \
       --rows=67 --cols=135 \
       --scroll --scroll-region \
@@ -93,11 +94,23 @@ stdenv.mkDerivation rec {
   pname = "foot";
   inherit version;
 
-  src = fetchzip {
-    url = "https://codeberg.org/dnkl/${pname}/archive/${version}.tar.gz";
+  src = fetchFromGitea {
+    domain = "codeberg.org";
+    owner = "dnkl";
+    repo = pname;
+    rev = version;
     sha256 = "1k0alz991cslls4926c5gq02pdq0vfw9jfpprh2a1vb59xgikv7h";
   };
 
+  patches = [
+    # Fixes PGO builds with clang
+    (fetchpatch {
+      url = "https://codeberg.org/dnkl/foot/commit/2acd4b34c57659d86dca76c58e4363de9b0a1f17.patch";
+      sha256 = "13xi9ppaqx2p88cxbh6801ry9ral70ylh40agn6ij7pklybs4d7s";
+      includes = [ "pgo/pgo.c" ];
+    })
+  ];
+
   depsBuildBuild = [
     pkg-config
   ];
@@ -137,8 +150,9 @@ stdenv.mkDerivation rec {
     export AR="${ar}"
   '';
 
+  mesonBuildType = "release";
+
   mesonFlags = [
-    "--buildtype=release"
     "-Db_lto=true"
     "-Dterminfo-install-location=${placeholder "terminfo"}/share/terminfo"
   ];
diff --git a/nixpkgs/pkgs/applications/terminal-emulators/hyper/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/hyper/default.nix
index 55798ed60997..5aa14a042613 100644
--- a/nixpkgs/pkgs/applications/terminal-emulators/hyper/default.nix
+++ b/nixpkgs/pkgs/applications/terminal-emulators/hyper/default.nix
@@ -1,36 +1,48 @@
-{ stdenv, lib, fetchurl, dpkg, atk, glib, pango, gdk-pixbuf, gnome2, gtk3, cairo
-, freetype, fontconfig, dbus, libXi, libXcursor, libXdamage, libXrandr
-, libXcomposite, libXext, libXfixes, libXrender, libX11, libXtst, libXScrnSaver
-, libxcb, nss, nspr, alsa-lib, cups, expat, udev, libpulseaudio, at-spi2-atk }:
+{ stdenv, lib, fetchurl, dpkg, atk, glib, pango, gdk-pixbuf, gtk3, cairo
+, freetype, fontconfig, dbus, libXi, libXcursor, libXdamage, libXrandr, libXcomposite
+, libXext, libXfixes, libXrender, libX11, libXtst, libXScrnSaver, libxcb, nss, nspr
+, alsa-lib, cups, expat, udev, libpulseaudio, at-spi2-atk, at-spi2-core, libxshmfence
+, libdrm, libxkbcommon, mesa }:
 
 let
   libPath = lib.makeLibraryPath [
-    stdenv.cc.cc gtk3 gnome2.GConf atk glib pango gdk-pixbuf cairo freetype fontconfig dbus
+    stdenv.cc.cc gtk3 atk glib pango gdk-pixbuf cairo freetype fontconfig dbus
     libXi libXcursor libXdamage libXrandr libXcomposite libXext libXfixes libxcb
     libXrender libX11 libXtst libXScrnSaver nss nspr alsa-lib cups expat udev libpulseaudio
-    at-spi2-atk
+    at-spi2-atk at-spi2-core libxshmfence libdrm libxkbcommon mesa
   ];
+
 in
 stdenv.mkDerivation rec {
-  version = "3.0.2";
   pname = "hyper";
+  version = "3.1.2";
+
   src = fetchurl {
-    url = "https://github.com/zeit/hyper/releases/download/${version}/hyper_${version}_amd64.deb";
-    sha256 = "0fv4wv5f8nc739bna83qxmgrvvbyq4w9ch764q2f12wjygrz336p";
+    url = "https://github.com/vercel/hyper/releases/download/v${version}/hyper_${version}_amd64.deb";
+    sha256 = "1mixy9hlgdbbnwdgidady7q828dkf09lx1pacwxw386jj7kp4y5g";
   };
-  buildInputs = [ dpkg ];
+
+  nativeBuildInputs = [ dpkg ];
+
   unpackPhase = ''
     mkdir pkg
     dpkg-deb -x $src pkg
     sourceRoot=pkg
   '';
+
   installPhase = ''
     mkdir -p "$out/bin"
     mv opt "$out/"
+
     ln -s "$out/opt/Hyper/hyper" "$out/bin/hyper"
     patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" --set-rpath "${libPath}:$out/opt/Hyper:\$ORIGIN" "$out/opt/Hyper/hyper"
+
     mv usr/* "$out/"
+
+    substituteInPlace $out/share/applications/hyper.desktop \
+      --replace "/opt/Hyper/hyper" "hyper"
   '';
+
   dontPatchELF = true;
   meta = with lib; {
     description = "A terminal built on web technologies";
diff --git a/nixpkgs/pkgs/applications/terminal-emulators/iterm2/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/iterm2/default.nix
index ff5c7f8dae46..9f157a75f93e 100644
--- a/nixpkgs/pkgs/applications/terminal-emulators/iterm2/default.nix
+++ b/nixpkgs/pkgs/applications/terminal-emulators/iterm2/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "iterm2";
-  version = "3.3.9";
+  version = "3.4.0";
 
   src = fetchFromGitHub {
     owner = "gnachman";
     repo = "iTerm2";
     rev = "v${version}";
-    sha256 = "06mq3gfjgy8jw2f3fzdsi3pbfkdijfzzlhlw6ixa5bfb4hbcgn5j";
+    sha256 = "09nhrmi25zxw3vp0wlib9kjr3p1j6am2zpwimdzqn0c80fq1lwvi";
   };
 
   patches = [ ./disable_updates.patch ];
diff --git a/nixpkgs/pkgs/applications/terminal-emulators/kitty/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/kitty/default.nix
index 441c9904c071..cfd46a613f77 100644
--- a/nixpkgs/pkgs/applications/terminal-emulators/kitty/default.nix
+++ b/nixpkgs/pkgs/applications/terminal-emulators/kitty/default.nix
@@ -21,14 +21,14 @@
 with python3Packages;
 buildPythonApplication rec {
   pname = "kitty";
-  version = "0.21.2";
+  version = "0.23.1";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "kovidgoyal";
     repo = "kitty";
     rev = "v${version}";
-    sha256 = "0y0mg8rr18mn0wzym7v48x6kl0ixd5q387kr5jhbdln55ph2jk9d";
+    sha256 = "sha256-2RwDU6EOJWF0u2ikJFg9U2yqSXergDkJH3h2i+QJ7G4=";
   };
 
   buildInputs = [
@@ -52,8 +52,14 @@ buildPythonApplication rec {
   ];
 
   nativeBuildInputs = [
-    pkg-config sphinx ncurses
     installShellFiles
+    ncurses
+    pkg-config
+    sphinx
+    furo
+    sphinx-copybutton
+    sphinxext-opengraph
+    sphinx-inline-tabs
   ] ++ lib.optionals stdenv.isDarwin [
     imagemagick
     libicns  # For the png2icns tool.
@@ -111,12 +117,12 @@ buildPythonApplication rec {
     cp -r linux-package/{bin,share,lib} $out
     ''}
     wrapProgram "$out/bin/kitty" --prefix PATH : "$out/bin:${lib.makeBinPath [ imagemagick xsel ncurses.dev ]}"
-    runHook postInstall
 
     installShellCompletion --cmd kitty \
       --bash <("$out/bin/kitty" + complete setup bash) \
       --fish <("$out/bin/kitty" + complete setup fish) \
       --zsh  <("$out/bin/kitty" + complete setup zsh)
+    runHook postInstall
   '';
 
   postInstall = ''
@@ -136,7 +142,7 @@ buildPythonApplication rec {
     homepage = "https://github.com/kovidgoyal/kitty";
     description = "A modern, hackable, featureful, OpenGL based terminal emulator";
     license = licenses.gpl3Only;
-    changelog = "https://sw.kovidgoyal.net/kitty/changelog.html";
+    changelog = "https://sw.kovidgoyal.net/kitty/changelog/";
     platforms = platforms.darwin ++ platforms.linux;
     maintainers = with maintainers; [ tex rvolosatovs Luflosi ];
   };
diff --git a/nixpkgs/pkgs/applications/terminal-emulators/sakura/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/sakura/default.nix
index fbebf6590d07..44c34d76f469 100644
--- a/nixpkgs/pkgs/applications/terminal-emulators/sakura/default.nix
+++ b/nixpkgs/pkgs/applications/terminal-emulators/sakura/default.nix
@@ -13,11 +13,11 @@
 
 stdenv.mkDerivation rec {
   pname = "sakura";
-  version = "3.8.2";
+  version = "3.8.3";
 
   src = fetchurl {
     url = "https://launchpad.net/${pname}/trunk/${version}/+download/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-nd/okZrg4RZzyiKHmuMkVl0Jh7FOlI4dK63/U4/htbk=";
+    sha256 = "sha256-UEDc3TjoqjLNZtWGlIZB3VTVQC+31AP0ASQH0fu+U+Q=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/terminal-emulators/terminus/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/terminus/default.nix
deleted file mode 100644
index 7631282b3af6..000000000000
--- a/nixpkgs/pkgs/applications/terminal-emulators/terminus/default.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{ stdenv, lib, fetchurl, dpkg, gnome2, gtk2, atk, glib, pango, gdk-pixbuf, cairo
-, freetype, fontconfig, dbus, libXi, libXcursor, libXdamage, libXrandr
-, libXcomposite, libXext, libXfixes, libXrender, libX11, libXtst, libXScrnSaver
-, libxcb, makeWrapper, nodejs
-, nss, nspr, alsa-lib, cups, expat, systemd, libpulseaudio }:
-
-let
-  libPath = lib.makeLibraryPath [
-    stdenv.cc.cc gtk2 atk glib pango gdk-pixbuf cairo freetype fontconfig dbus
-    libXi libXcursor libXdamage libXrandr libXcomposite libXext libXfixes libxcb
-    libXrender libX11 libXtst libXScrnSaver gnome2.GConf nss nspr alsa-lib cups expat systemd libpulseaudio
-  ];
-in
-stdenv.mkDerivation rec {
-  version = "1.0.0-alpha.42";
-  pname = "terminus";
-  src = fetchurl {
-    url = "https://github.com/Eugeny/terminus/releases/download/v${version}/terminus_${version}_amd64.deb";
-    sha256 = "1r5n75n71zwahg4rxlnf9qzrb0651gxv0987m6bykqmfpnw91nmb";
-  };
-  nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ dpkg ];
-  unpackPhase = ''
-    mkdir pkg
-    dpkg-deb -x $src pkg
-    sourceRoot=pkg
-  '';
-  installPhase = ''
-    mkdir -p "$out/bin"
-    mv opt "$out/"
-    ln -s "$out/opt/Terminus/terminus" "$out/bin/terminus"
-    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" --set-rpath "${libPath}:\$ORIGIN" "$out/opt/Terminus/terminus"
-    mv usr/* "$out/"
-    wrapProgram $out/bin/terminus --prefix PATH : ${lib.makeBinPath [ nodejs ]}
-  '';
-  dontPatchELF = true;
-  meta = with lib; {
-    description = "A terminal for a more modern age";
-    homepage    = "https://eugeny.github.io/terminus/";
-    maintainers = with maintainers; [ jlesquembre ];
-    license     = licenses.mit;
-    platforms   = [ "x86_64-linux" ];
-  };
-}
diff --git a/nixpkgs/pkgs/applications/terminal-emulators/termonad/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/termonad/default.nix
index 4388cbcfb441..6a1dd0bec398 100644
--- a/nixpkgs/pkgs/applications/terminal-emulators/termonad/default.nix
+++ b/nixpkgs/pkgs/applications/terminal-emulators/termonad/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, ghcWithPackages, makeWrapper, packages ? (pkgSet: []) }:
+{ stdenv, haskellPackages, makeWrapper, packages ? (pkgSet: []) }:
 
 let
-  termonadEnv = ghcWithPackages (self: [ self.termonad ] ++ packages self);
+  termonadEnv = haskellPackages.ghcWithPackages (self: [ self.termonad ] ++ packages self);
 in stdenv.mkDerivation {
   name = "termonad-with-packages-${termonadEnv.version}";
 
@@ -16,4 +16,8 @@ in stdenv.mkDerivation {
   # trivial derivation
   preferLocalBuild = true;
   allowSubstitutes = false;
+
+  meta = haskellPackages.termonad.meta // {
+    mainProgram = "termonad";
+  };
 }
diff --git a/nixpkgs/pkgs/applications/terminal-emulators/wezterm/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/wezterm/default.nix
index d214d6fabc3d..19e3a1c37e16 100644
--- a/nixpkgs/pkgs/applications/terminal-emulators/wezterm/default.nix
+++ b/nixpkgs/pkgs/applications/terminal-emulators/wezterm/default.nix
@@ -4,24 +4,18 @@
 , fetchFromGitHub
 , ncurses
 , pkg-config
-, fontconfig
 , python3
+, fontconfig
 , openssl
-, perl
-, dbus
+, libGL
 , libX11
-, xcbutil
 , libxcb
+, libxkbcommon
+, xcbutil
 , xcbutilimage
 , xcbutilkeysyms
-, xcbutilwm # contains xcb-ewmh among others
-, libxkbcommon
-, libglvnd # libEGL.so.1
-, egl-wayland
+, xcbutilwm
 , wayland
-, libGLU
-, libGL
-, freetype
 , zlib
   # Apple frameworks
 , CoreGraphics
@@ -29,73 +23,70 @@
 , Foundation
 , libiconv
 }:
-let
-  runtimeDeps = [
-    zlib
-    fontconfig
-    freetype
-  ] ++ lib.optionals (stdenv.isLinux) [
-    libX11
-    xcbutil
-    libxcb
-    xcbutilimage
-    xcbutilkeysyms
-    xcbutilwm
-    libxkbcommon
-    dbus
-    libglvnd
-    egl-wayland
-    wayland
-    libGLU
-    libGL
-    openssl
-  ] ++ lib.optionals (stdenv.isDarwin) [
-    Foundation
-    CoreGraphics
-    Cocoa
-    libiconv
-  ];
-in
 
 rustPlatform.buildRustPackage rec {
   pname = "wezterm";
-  version = "20210502-154244-3f7122cb";
+  version = "20210814-124438-54e29167";
+
+  outputs = [ "out" "terminfo" ];
 
   src = fetchFromGitHub {
     owner = "wez";
     repo = pname;
     rev = version;
-    sha256 = "9HPhb7Vyy5DwBW1xeA6sEIBmmOXlky9lPShu6ZoixPw=";
     fetchSubmodules = true;
+    sha256 = "sha256-6HXTftgAs6JMzOMCY+laN74in8xfjE8yJc5xSl9PQCE=";
   };
 
-  outputs = [ "out" "terminfo" ];
-
   postPatch = ''
     echo ${version} > .tag
   '';
 
-  cargoSha256 = "sha256-cbZg2wc3G2ffMQBB6gd0vBbow5GRbXaj8Xh5ga1cMxU=";
+  cargoSha256 = "sha256-yjTrWoqIKoRV4oZQ0mfTGrIGmm89AaKJd16WL1Ozhnw=";
 
   nativeBuildInputs = [
     pkg-config
     python3
-    perl
-    ncurses
+    ncurses # tic for terminfo
   ];
 
-  buildInputs = runtimeDeps;
+  buildInputs = [
+    fontconfig
+    zlib
+  ] ++ lib.optionals stdenv.isLinux [
+    libX11
+    libxcb
+    libxkbcommon
+    openssl
+    wayland
+    xcbutil
+    xcbutilimage
+    xcbutilkeysyms
+    xcbutilwm # contains xcb-ewmh among others
+  ] ++ lib.optionals stdenv.isDarwin [
+    Cocoa
+    CoreGraphics
+    Foundation
+    libiconv
+  ];
 
   postInstall = ''
+    # terminfo
     mkdir -p $terminfo/share/terminfo/w $out/nix-support
     tic -x -o $terminfo/share/terminfo termwiz/data/wezterm.terminfo
     echo "$terminfo" >> $out/nix-support/propagated-user-env-packages
+
+    # desktop icon
+    install -Dm644 assets/icon/terminal.png $out/share/icons/hicolor/128x128/apps/org.wezfurlong.wezterm.png
+    install -Dm644 assets/wezterm.desktop $out/share/applications/org.wezfurlong.wezterm.desktop
+    install -Dm644 assets/wezterm.appdata.xml $out/share/metainfo/org.wezfurlong.wezterm.appdata.xml
+
+    # helper scripts
+    install -Dm644 assets/shell-integration/wezterm.sh -t $out/etc/profile.d
   '';
 
   preFixup = lib.optionalString stdenv.isLinux ''
-    for artifact in wezterm wezterm-gui wezterm-mux-server strip-ansi-escapes; do
-      patchelf --set-rpath "${lib.makeLibraryPath runtimeDeps}" $out/bin/$artifact
-    done
+    patchelf --add-needed "${libGL}/lib/libEGL.so.1" $out/bin/wezterm-gui
   '' + lib.optionalString stdenv.isDarwin ''
     mkdir -p "$out/Applications"
     OUT_APP="$out/Applications/WezTerm.app"
@@ -105,14 +96,11 @@ rustPlatform.buildRustPackage rec {
     ln -s $out/bin/{wezterm,wezterm-mux-server,wezterm-gui,strip-ansi-escapes} "$OUT_APP"
   '';
 
-  # prevent further changes to the RPATH
-  dontPatchELF = true;
-
   meta = with lib; {
     description = "A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust";
     homepage = "https://wezfurlong.org/wezterm";
     license = licenses.mit;
-    maintainers = with maintainers; [ steveej SuperSandro2000 ];
+    maintainers = with maintainers; [ SuperSandro2000 ];
     platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/applications/terminal-emulators/xterm/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/xterm/default.nix
index eafa8930371c..378fd7df01a6 100644
--- a/nixpkgs/pkgs/applications/terminal-emulators/xterm/default.nix
+++ b/nixpkgs/pkgs/applications/terminal-emulators/xterm/default.nix
@@ -4,23 +4,19 @@
 
 stdenv.mkDerivation rec {
   pname = "xterm";
-  version = "367";
+  version = "368";
 
   src = fetchurl {
     urls = [
       "ftp://ftp.invisible-island.net/xterm/${pname}-${version}.tgz"
       "https://invisible-mirror.net/archives/xterm/${pname}-${version}.tgz"
     ];
-    sha256 = "07y51l06n344pjyxdddq6sdvxw25nl10irl4avynkqjnqyqsiw97";
+    sha256 = "L/UWmTC2tJ7wuvteEzHJTxqYwxBEK7p3mK3YIcdq5xI=";
   };
 
   strictDeps = true;
 
-  nativeBuildInputs = [
-    makeWrapper
-    pkg-config
-    fontconfig
-  ];
+  nativeBuildInputs = [ makeWrapper pkg-config fontconfig ];
 
   buildInputs = [
     xorg.libXaw
diff --git a/nixpkgs/pkgs/applications/terminal-emulators/xtermcontrol/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/xtermcontrol/default.nix
index 821d922c6d98..ebc7657e8af3 100644
--- a/nixpkgs/pkgs/applications/terminal-emulators/xtermcontrol/default.nix
+++ b/nixpkgs/pkgs/applications/terminal-emulators/xtermcontrol/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  version = "3.7";
+  version = "3.8";
   pname = "xtermcontrol";
 
   src = fetchurl {
     url = "https://thrysoee.dk/xtermcontrol/xtermcontrol-${version}.tar.gz";
-    sha256 = "04m12ddaps5sdbqvkwkp6lh81i8vh5ya5gzcxkrkilsga3m6qff2";
+    sha256 = "sha256-Vh6GNiDkjNhaD9U/3fG2LpMLN39L3jRUgG/FQeG1z40=";
   };
 
   meta = {
diff --git a/nixpkgs/pkgs/applications/version-management/bcompare/default.nix b/nixpkgs/pkgs/applications/version-management/bcompare/default.nix
index d90de1a526f4..98c0ad8bc3fe 100644
--- a/nixpkgs/pkgs/applications/version-management/bcompare/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/bcompare/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bcompare";
-  version = "4.3.7.25118";
+  version = "4.4.0.25886";
 
   src = fetchurl {
     url = "https://www.scootersoftware.com/${pname}-${version}_amd64.deb";
-    sha256 = "165d6d81vy29pr62y4rcvl4abqqhfwdzcsx77p0dqlzgqswj88v8";
+    sha256 = "sha256-zQZrCjXzoOZ5o5M4t1n5/HhGoGTcZSj5rlf9Uz9UZko=";
   };
 
   unpackPhase = ''
diff --git a/nixpkgs/pkgs/applications/version-management/blackbox/default.nix b/nixpkgs/pkgs/applications/version-management/blackbox/default.nix
index aee0e92e8064..5c802d8a300a 100644
--- a/nixpkgs/pkgs/applications/version-management/blackbox/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/blackbox/default.nix
@@ -1,24 +1,62 @@
-{ lib, stdenv, fetchFromGitHub }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, expect
+, which
+, gnupg
+, coreutils
+, git
+, pinentry
+, gnutar
+, procps
+}:
 
 stdenv.mkDerivation rec {
-  version = "1.20181219";
-  pname   = "blackbox";
+  pname = "blackbox";
+  version = "2.0.0";
 
   src = fetchFromGitHub {
-    owner  = "stackexchange";
-    repo   = pname;
-    rev    = "v${version}";
-    sha256 = "1lpwwwc3rf992vdf3iy1ds07n1xkmad065im2bqzc6kdsbkn7rjx";
+    owner = "stackexchange";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1plwdmzds6dq2rlp84dgiashrfg0kg4yijhnxaapz2q4d1vvx8lq";
   };
 
+  buildInputs = [ gnupg ];
+
+  doCheck = true;
+
+  checkInputs = [
+    expect
+    which
+    coreutils
+    pinentry.tty
+    git
+    gnutar
+    procps
+  ];
+
+  postPatch = ''
+    patchShebangs bin tools
+    substituteInPlace Makefile \
+      --replace "PREFIX?=/usr/local" "PREFIX=$out"
+
+    substituteInPlace tools/confidence_test.sh \
+      --replace 'PATH="''${blackbox_home}:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/local/bin:/usr/pkg/bin:/usr/pkg/gnu/bin:''${blackbox_home}"' \
+        "PATH=/build/source/bin/:$PATH"
+  '';
+
   installPhase = ''
-    mkdir -p $out/bin && cp -r bin/* $out/bin
+    runHook preInstall
+    mkdir -p $out/bin
+    make copy-install
+    runHook postInstall
   '';
 
   meta = with lib; {
     description = "Safely store secrets in a VCS repo";
     maintainers = with maintainers; [ ericsagnes ];
-    license     = licenses.mit;
-    platforms   = platforms.all;
+    license = licenses.mit;
+    platforms = platforms.all;
   };
 }
diff --git a/nixpkgs/pkgs/applications/version-management/cvs-fast-export/default.nix b/nixpkgs/pkgs/applications/version-management/cvs-fast-export/default.nix
index a14af17c01c5..7c8d8ce11bce 100644
--- a/nixpkgs/pkgs/applications/version-management/cvs-fast-export/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/cvs-fast-export/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "cvs-fast-export";
-  version = "1.57";
+  version = "1.58";
 
   src = fetchurl {
     url = "http://www.catb.org/~esr/cvs-fast-export/cvs-fast-export-${version}.tar.gz";
-    sha256 = "0y1fzsicga19nsarpmn2ms69sq26b2d3d8a1169qbqz1kzr0jji8";
+    sha256 = "sha256-jY/GURa6WzULwpnoqBmzVQdK4WH95tf59v07y8gHeWM=";
   };
 
   strictDeps = true;
diff --git a/nixpkgs/pkgs/tools/text/bcat/Gemfile b/nixpkgs/pkgs/applications/version-management/danger-gitlab/Gemfile
index a25a2e890978..7c95dac9dd35 100644
--- a/nixpkgs/pkgs/tools/text/bcat/Gemfile
+++ b/nixpkgs/pkgs/applications/version-management/danger-gitlab/Gemfile
@@ -1,2 +1,2 @@
 source 'https://rubygems.org'
-gem 'bcat'
+gem 'danger-gitlab'
diff --git a/nixpkgs/pkgs/applications/version-management/danger-gitlab/Gemfile.lock b/nixpkgs/pkgs/applications/version-management/danger-gitlab/Gemfile.lock
new file mode 100644
index 000000000000..d68ec3108ca2
--- /dev/null
+++ b/nixpkgs/pkgs/applications/version-management/danger-gitlab/Gemfile.lock
@@ -0,0 +1,92 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    addressable (2.8.0)
+      public_suffix (>= 2.0.2, < 5.0)
+    claide (1.0.3)
+    claide-plugins (0.9.2)
+      cork
+      nap
+      open4 (~> 1.3)
+    colored2 (3.1.2)
+    cork (0.3.0)
+      colored2 (~> 3.1)
+    danger (8.3.1)
+      claide (~> 1.0)
+      claide-plugins (>= 0.9.2)
+      colored2 (~> 3.1)
+      cork (~> 0.1)
+      faraday (>= 0.9.0, < 2.0)
+      faraday-http-cache (~> 2.0)
+      git (~> 1.7)
+      kramdown (~> 2.3)
+      kramdown-parser-gfm (~> 1.0)
+      no_proxy_fix
+      octokit (~> 4.7)
+      terminal-table (>= 1, < 4)
+    danger-gitlab (8.0.0)
+      danger
+      gitlab (~> 4.2, >= 4.2.0)
+    faraday (1.7.0)
+      faraday-em_http (~> 1.0)
+      faraday-em_synchrony (~> 1.0)
+      faraday-excon (~> 1.1)
+      faraday-httpclient (~> 1.0.1)
+      faraday-net_http (~> 1.0)
+      faraday-net_http_persistent (~> 1.1)
+      faraday-patron (~> 1.0)
+      faraday-rack (~> 1.0)
+      multipart-post (>= 1.2, < 3)
+      ruby2_keywords (>= 0.0.4)
+    faraday-em_http (1.0.0)
+    faraday-em_synchrony (1.0.0)
+    faraday-excon (1.1.0)
+    faraday-http-cache (2.2.0)
+      faraday (>= 0.8)
+    faraday-httpclient (1.0.1)
+    faraday-net_http (1.0.1)
+    faraday-net_http_persistent (1.2.0)
+    faraday-patron (1.0.0)
+    faraday-rack (1.0.0)
+    git (1.9.1)
+      rchardet (~> 1.8)
+    gitlab (4.17.0)
+      httparty (~> 0.18)
+      terminal-table (~> 1.5, >= 1.5.1)
+    httparty (0.18.1)
+      mime-types (~> 3.0)
+      multi_xml (>= 0.5.2)
+    kramdown (2.3.1)
+      rexml
+    kramdown-parser-gfm (1.1.0)
+      kramdown (~> 2.0)
+    mime-types (3.3.1)
+      mime-types-data (~> 3.2015)
+    mime-types-data (3.2021.0704)
+    multi_xml (0.6.0)
+    multipart-post (2.1.1)
+    nap (1.1.0)
+    no_proxy_fix (0.1.2)
+    octokit (4.21.0)
+      faraday (>= 0.9)
+      sawyer (~> 0.8.0, >= 0.5.3)
+    open4 (1.3.4)
+    public_suffix (4.0.6)
+    rchardet (1.8.0)
+    rexml (3.2.5)
+    ruby2_keywords (0.0.5)
+    sawyer (0.8.2)
+      addressable (>= 2.3.5)
+      faraday (> 0.8, < 2.0)
+    terminal-table (1.8.0)
+      unicode-display_width (~> 1.1, >= 1.1.1)
+    unicode-display_width (1.7.0)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  danger-gitlab
+
+BUNDLED WITH
+   2.1.4
diff --git a/nixpkgs/pkgs/applications/version-management/danger-gitlab/default.nix b/nixpkgs/pkgs/applications/version-management/danger-gitlab/default.nix
new file mode 100644
index 000000000000..e994739008d3
--- /dev/null
+++ b/nixpkgs/pkgs/applications/version-management/danger-gitlab/default.nix
@@ -0,0 +1,14 @@
+{ lib, bundlerApp }:
+
+bundlerApp {
+  pname = "danger-gitlab";
+  gemdir = ./.;
+  exes = [ "danger" ];
+
+  meta = with lib; {
+    description = "A gem that exists to ensure all dependencies are set up for Danger with GitLab";
+    homepage = "https://github.com/danger/danger-gitlab-gem";
+    license = licenses.mit;
+    maintainers = teams.serokell.members;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/version-management/danger-gitlab/gemset.nix b/nixpkgs/pkgs/applications/version-management/danger-gitlab/gemset.nix
new file mode 100644
index 000000000000..299716a33bd8
--- /dev/null
+++ b/nixpkgs/pkgs/applications/version-management/danger-gitlab/gemset.nix
@@ -0,0 +1,388 @@
+{
+  addressable = {
+    dependencies = ["public_suffix"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "022r3m9wdxljpbya69y2i3h9g3dhhfaqzidf95m6qjzms792jvgp";
+      type = "gem";
+    };
+    version = "2.8.0";
+  };
+  claide = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0kasxsms24fgcdsq680nz99d5lazl9rmz1qkil2y5gbbssx89g0z";
+      type = "gem";
+    };
+    version = "1.0.3";
+  };
+  claide-plugins = {
+    dependencies = ["cork" "nap" "open4"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0bhw5j985qs48v217gnzva31rw5qvkf7qj8mhp73pcks0sy7isn7";
+      type = "gem";
+    };
+    version = "0.9.2";
+  };
+  colored2 = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0jlbqa9q4mvrm73aw9mxh23ygzbjiqwisl32d8szfb5fxvbjng5i";
+      type = "gem";
+    };
+    version = "3.1.2";
+  };
+  cork = {
+    dependencies = ["colored2"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1g6l780z1nj4s3jr11ipwcj8pjbibvli82my396m3y32w98ar850";
+      type = "gem";
+    };
+    version = "0.3.0";
+  };
+  danger = {
+    dependencies = ["claide" "claide-plugins" "colored2" "cork" "faraday" "faraday-http-cache" "git" "kramdown" "kramdown-parser-gfm" "no_proxy_fix" "octokit" "terminal-table"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "12nmycrlwr8ca2s0fx76k81gjw12iz15k1n0qanszv5d4l1ykj2l";
+      type = "gem";
+    };
+    version = "8.3.1";
+  };
+  danger-gitlab = {
+    dependencies = ["danger" "gitlab"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1a530kx5s5rbx5yx3jqay56lkksqh0yj468hcpg16faiyv8dfza9";
+      type = "gem";
+    };
+    version = "8.0.0";
+  };
+  faraday = {
+    dependencies = ["faraday-em_http" "faraday-em_synchrony" "faraday-excon" "faraday-httpclient" "faraday-net_http" "faraday-net_http_persistent" "faraday-patron" "faraday-rack" "multipart-post" "ruby2_keywords"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0r6ik2yvsbx6jj30vck32da2bbvj4m0gf4jhp09vr75i1d6jzfvb";
+      type = "gem";
+    };
+    version = "1.7.0";
+  };
+  faraday-em_http = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "12cnqpbak4vhikrh2cdn94assh3yxza8rq2p9w2j34bqg5q4qgbs";
+      type = "gem";
+    };
+    version = "1.0.0";
+  };
+  faraday-em_synchrony = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1vgrbhkp83sngv6k4mii9f2s9v5lmp693hylfxp2ssfc60fas3a6";
+      type = "gem";
+    };
+    version = "1.0.0";
+  };
+  faraday-excon = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0h09wkb0k0bhm6dqsd47ac601qiaah8qdzjh8gvxfd376x1chmdh";
+      type = "gem";
+    };
+    version = "1.1.0";
+  };
+  faraday-http-cache = {
+    dependencies = ["faraday"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0lhfwlk4mhmw9pdlgdsl2bq4x45w7s51jkxjryf18wym8iiw36g7";
+      type = "gem";
+    };
+    version = "2.2.0";
+  };
+  faraday-httpclient = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0fyk0jd3ks7fdn8nv3spnwjpzx2lmxmg2gh4inz3by1zjzqg33sc";
+      type = "gem";
+    };
+    version = "1.0.1";
+  };
+  faraday-net_http = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1fi8sda5hc54v1w3mqfl5yz09nhx35kglyx72w7b8xxvdr0cwi9j";
+      type = "gem";
+    };
+    version = "1.0.1";
+  };
+  faraday-net_http_persistent = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0dc36ih95qw3rlccffcb0vgxjhmipsvxhn6cw71l7ffs0f7vq30b";
+      type = "gem";
+    };
+    version = "1.2.0";
+  };
+  faraday-patron = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "19wgsgfq0xkski1g7m96snv39la3zxz6x7nbdgiwhg5v82rxfb6w";
+      type = "gem";
+    };
+    version = "1.0.0";
+  };
+  faraday-rack = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1h184g4vqql5jv9s9im6igy00jp6mrah2h14py6mpf9bkabfqq7g";
+      type = "gem";
+    };
+    version = "1.0.0";
+  };
+  git = {
+    dependencies = ["rchardet"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0s6426k24ph44kbx1qb16ciar170iczs8ivyl29ckin2ygmrrlvm";
+      type = "gem";
+    };
+    version = "1.9.1";
+  };
+  gitlab = {
+    dependencies = ["httparty" "terminal-table"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "00p8z8sxk78zik2dwdhflkvaynp5ximy2xc8cw6bz93gkr1xy8n3";
+      type = "gem";
+    };
+    version = "4.17.0";
+  };
+  httparty = {
+    dependencies = ["mime-types" "multi_xml"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "17gpnbf2a7xkvsy20jig3ljvx8hl5520rqm9pffj2jrliq1yi3w7";
+      type = "gem";
+    };
+    version = "0.18.1";
+  };
+  kramdown = {
+    dependencies = ["rexml"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0jdbcjv4v7sj888bv3vc6d1dg4ackkh7ywlmn9ln2g9alk7kisar";
+      type = "gem";
+    };
+    version = "2.3.1";
+  };
+  kramdown-parser-gfm = {
+    dependencies = ["kramdown"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0a8pb3v951f4x7h968rqfsa19c8arz21zw1vaj42jza22rap8fgv";
+      type = "gem";
+    };
+    version = "1.1.0";
+  };
+  mime-types = {
+    dependencies = ["mime-types-data"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1zj12l9qk62anvk9bjvandpa6vy4xslil15wl6wlivyf51z773vh";
+      type = "gem";
+    };
+    version = "3.3.1";
+  };
+  mime-types-data = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0dlxwc75iy0dj23x824cxpvpa7c8aqcpskksrmb32j6m66h5mkcy";
+      type = "gem";
+    };
+    version = "3.2021.0704";
+  };
+  multi_xml = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0lmd4f401mvravi1i1yq7b2qjjli0yq7dfc4p1nj5nwajp7r6hyj";
+      type = "gem";
+    };
+    version = "0.6.0";
+  };
+  multipart-post = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1zgw9zlwh2a6i1yvhhc4a84ry1hv824d6g2iw2chs3k5aylpmpfj";
+      type = "gem";
+    };
+    version = "2.1.1";
+  };
+  nap = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0xm5xssxk5s03wjarpipfm39qmgxsalb46v1prsis14x1xk935ll";
+      type = "gem";
+    };
+    version = "1.1.0";
+  };
+  no_proxy_fix = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "006dmdb640v1kq0sll3dnlwj1b0kpf3i1p27ygyffv8lpcqlr6sf";
+      type = "gem";
+    };
+    version = "0.1.2";
+  };
+  octokit = {
+    dependencies = ["faraday" "sawyer"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0ak64rb48d8z98nw6q70r6i0i3ivv61iqla40ss5l79491qfnn27";
+      type = "gem";
+    };
+    version = "4.21.0";
+  };
+  open4 = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1cgls3f9dlrpil846q0w7h66vsc33jqn84nql4gcqkk221rh7px1";
+      type = "gem";
+    };
+    version = "1.3.4";
+  };
+  public_suffix = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1xqcgkl7bwws1qrlnmxgh8g4g9m10vg60bhlw40fplninb3ng6d9";
+      type = "gem";
+    };
+    version = "4.0.6";
+  };
+  rchardet = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1isj1b3ywgg2m1vdlnr41lpvpm3dbyarf1lla4dfibfmad9csfk9";
+      type = "gem";
+    };
+    version = "1.8.0";
+  };
+  rexml = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "08ximcyfjy94pm1rhcx04ny1vx2sk0x4y185gzn86yfsbzwkng53";
+      type = "gem";
+    };
+    version = "3.2.5";
+  };
+  ruby2_keywords = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1vz322p8n39hz3b4a9gkmz9y7a5jaz41zrm2ywf31dvkqm03glgz";
+      type = "gem";
+    };
+    version = "0.0.5";
+  };
+  sawyer = {
+    dependencies = ["addressable" "faraday"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0yrdchs3psh583rjapkv33mljdivggqn99wkydkjdckcjn43j3cz";
+      type = "gem";
+    };
+    version = "0.8.2";
+  };
+  terminal-table = {
+    dependencies = ["unicode-display_width"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1512cngw35hsmhvw4c05rscihc59mnj09m249sm9p3pik831ydqk";
+      type = "gem";
+    };
+    version = "1.8.0";
+  };
+  unicode-display_width = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "06i3id27s60141x6fdnjn5rar1cywdwy64ilc59cz937303q3mna";
+      type = "gem";
+    };
+    version = "1.7.0";
+  };
+}
diff --git a/nixpkgs/pkgs/applications/version-management/fossil/default.nix b/nixpkgs/pkgs/applications/version-management/fossil/default.nix
index c15d833dfb28..6b445446d5b5 100644
--- a/nixpkgs/pkgs/applications/version-management/fossil/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/fossil/default.nix
@@ -18,10 +18,7 @@ stdenv.mkDerivation rec {
   version = "2.15.1";
 
   src = fetchurl {
-    urls =
-      [
-        "https://www.fossil-scm.org/index.html/uv/fossil-src-${version}.tar.gz"
-      ];
+    url = "https://www.fossil-scm.org/index.html/uv/fossil-src-${version}.tar.gz";
     name = "${pname}-${version}.tar.gz";
     sha256 = "sha256-gNJ5I8ZjsqLHEPiujNVJhi4E+MBChXBidMNK48jKF9E=";
   };
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/bfg-repo-cleaner/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/bfg-repo-cleaner/default.nix
index 036eef1c9c36..42ac2ed4508f 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/bfg-repo-cleaner/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/bfg-repo-cleaner/default.nix
@@ -18,7 +18,7 @@ in
     nativeBuildInputs = [ makeWrapper ];
     buildInputs = [ jre ];
 
-    phases = "installPhase";
+    dontUnpack = true;
 
     installPhase = ''
       mkdir -p $out/share/java
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/cgit/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/cgit/default.nix
index f48fe4b1ec4c..b8f7cee7358c 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/cgit/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/cgit/default.nix
@@ -22,9 +22,9 @@ stdenv.mkDerivation rec {
     sha256 = "09lzwa183nblr6l8ib35g2xrjf9wm9yhk3szfvyzkwivdv69c9r2";
   };
 
-  nativeBuildInputs = [ pkg-config ] ++ [ python wrapPython ];
+  nativeBuildInputs = [ pkg-config asciidoc ] ++ [ python wrapPython ];
   buildInputs = [
-    openssl zlib asciidoc libxml2 libxslt docbook_xsl luajit
+    openssl zlib libxml2 libxslt docbook_xsl luajit
   ];
   pythonPath = [ pygments markdown ];
 
@@ -48,10 +48,15 @@ stdenv.mkDerivation rec {
   preBuild = ''
     mkdir -p git
     tar --strip-components=1 -xf "$gitSrc" -C git
-
-    makeFlagsArray+=(prefix="$out" CGIT_SCRIPT_PATH="$out/cgit/")
   '';
 
+  makeFlags = [
+    "prefix=$(out)"
+    "CGIT_SCRIPT_PATH=$(out)/cgit/"
+    "CC=${stdenv.cc.targetPrefix}cc"
+    "AR=${stdenv.cc.targetPrefix}ar"
+  ];
+
   # Install manpage.
   postInstall = ''
     # xmllint fails:
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix
index 95060714c24e..0d346e3598d4 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "diff-so-fancy";
-  version = "1.4.2";
+  version = "1.4.3";
 
   src = fetchFromGitHub {
     owner = "so-fancy";
     repo = "diff-so-fancy";
     rev = "v${version}";
-    sha256 = "sha256-1kBarsRiuB8fv7VLlWfpotPfHeMrfmIXHXTFu8TzC2A=";
+    sha256 = "sha256-/xdBvq2u1s5/yzjwr3MLxpaD1CNktcPijXJTKW3Bc4c=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/gh/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/gh/default.nix
index a7ca5c4eaa6f..ceb2c36d9615 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/gh/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/gh/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "gh";
-  version = "1.13.1";
+  version = "2.0.0";
 
   src = fetchFromGitHub {
     owner = "cli";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-6ur1ZIJRghkZk5tLMJUmKn+XfjVGFE0MRSQ/Uz+Eans=";
+    sha256 = "sha256-TjBUVP9/hMB8yFnupSxwHDr5bmtiMFwsDi1axsD5ykA=";
   };
 
-  vendorSha256 = "sha256-JJNyzMYAQT/pS1+eGYQsUpxDiwa6DP7JWhIBuTtnOiE=";
+  vendorSha256 = "sha256-ZsMzLJ+eHAKNxhVFpQxRyTv/rcWvxA/luKPjXT+Zt4Y=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/ghorg/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/ghorg/default.nix
index 74f644e23ad2..6a765f8e8b52 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/ghorg/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/ghorg/default.nix
@@ -16,7 +16,7 @@ buildGoModule rec {
 
   subPackages = [ "." ];
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
+  ldflags = [ "-s" "-w" "-X main.version=${version}" ];
 
   meta = with lib; {
     description = "Quickly clone an entire org/users repositories into one directory";
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/ghq/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/ghq/default.nix
index defad82d5a1c..b2f5346bbfce 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/ghq/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/ghq/default.nix
@@ -2,23 +2,22 @@
 
 buildGoModule rec {
   pname = "ghq";
-  version = "1.1.7";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     owner = "x-motemen";
     repo = "ghq";
     rev = "v${version}";
-    sha256 = "sha256-kEs844gj1/PW7Kkpn1tvxfruznRIh2pjHCoSWGF1upQ=";
+    sha256 = "sha256-86ZFKkzDAhx3UYWxreQI2OJJmqGnqaH2TgwQunuYhv4=";
   };
 
   vendorSha256 = "sha256-5Eth9v98z1gxf1Fz5Lbn2roX7dSBmA7GRzg8uvT0hTI=";
 
   doCheck = false;
 
-  buildFlagsArray = ''
-    -ldflags=
-      -X=main.Version=${version}
-  '';
+  ldflags = [
+    "-X=main.Version=${version}"
+  ];
 
   postInstall = ''
     install -m 444 -D ${src}/misc/zsh/_ghq $out/share/zsh/site-functions/_ghq
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-annex-remote-googledrive/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-annex-remote-googledrive/default.nix
index 89b2a5f23b05..66dc5ece90a8 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-annex-remote-googledrive/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-annex-remote-googledrive/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonApplication rec {
   pname = "git-annex-remote-googledrive";
-  version = "1.3.0";
+  version = "1.3.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "118w0fyy6pck8hyj925ym6ak0xxqhkaq2vharnpl9b97nab4mqg8";
+    sha256 = "0rwjcdvfgzdlfgrn1rrqwwwiqqzyh114qddrbfwd46ld5spry6r1";
   };
 
   propagatedBuildInputs = [ annexremote drivelib GitPython tenacity humanfriendly ];
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-annex-remote-rclone/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-annex-remote-rclone/default.nix
index 843a8d34881a..cc916baec94d 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-annex-remote-rclone/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-annex-remote-rclone/default.nix
@@ -14,8 +14,6 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ makeWrapper ];
 
-  phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
-
   installPhase = ''
     mkdir -p $out/bin
     cp git-annex-remote-rclone $out/bin
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-branchless/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-branchless/default.nix
index c80db8ee9582..0afcd8400c7b 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-branchless/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-branchless/default.nix
@@ -2,9 +2,13 @@
 
 , coreutils
 , git
+, libiconv
 , ncurses
 , rustPlatform
 , sqlite
+, stdenv
+, Security
+, SystemConfiguration
 }:
 
 rustPlatform.buildRustPackage rec {
@@ -33,6 +37,10 @@ rustPlatform.buildRustPackage rec {
   buildInputs = [
     ncurses
     sqlite
+  ] ++ lib.optionals (stdenv.isDarwin) [
+    Security
+    SystemConfiguration
+    libiconv
   ];
 
   preCheck = ''
@@ -44,6 +52,6 @@ rustPlatform.buildRustPackage rec {
     description = "A suite of tools to help you visualize, navigate, manipulate, and repair your commit history";
     homepage = "https://github.com/arxanas/git-branchless";
     license = licenses.asl20;
-    maintainers = with maintainers; [ nh2 ];
+    maintainers = with maintainers; [ msfjarvis nh2 ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-bug/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-bug/default.nix
index a90390ddd3b3..c08e68cc28a1 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-bug/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-bug/default.nix
@@ -16,12 +16,11 @@ buildGoModule rec {
 
   doCheck = false;
 
-  buildFlagsArray = ''
-    -ldflags=
-      -X github.com/MichaelMure/git-bug/commands.GitCommit=${rev}
-      -X github.com/MichaelMure/git-bug/commands.GitLastTag=${version}
-      -X github.com/MichaelMure/git-bug/commands.GitExactTag=${version}
-  '';
+  ldflags = [
+    "-X github.com/MichaelMure/git-bug/commands.GitCommit=${rev}"
+    "-X github.com/MichaelMure/git-bug/commands.GitLastTag=${version}"
+    "-X github.com/MichaelMure/git-bug/commands.GitExactTag=${version}"
+  ];
 
   postInstall = ''
     install -D -m 0644 misc/bash_completion/git-bug "$out/share/bash-completion/completions/git-bug"
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-chglog/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-chglog/default.nix
index 8ec57f2e69e8..143ab6cac9db 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-chglog/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-chglog/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "git-chglog";
-  version = "0.14.2";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "git-chglog";
     repo = "git-chglog";
     rev = "v${version}";
-    sha256 = "124bqywkj37gv61fswgrg528bf3rjqms1664x22lkn0sqh22zyv1";
+    sha256 = "sha256-BiTnPCgymfpPxuy0i8u7JbpbEBeaSIJaikjwsPSA3qc=";
   };
 
-  vendorSha256 = "09zjypmcc3ra7sw81q1pbbrlpxxp4k00p1cfkrrih8wvb25z89h5";
+  vendorSha256 = "sha256-jIq+oacyT71m78iMZwWOBsBVAY/WxgyH9zRr8GiMGTU=";
 
-  buildFlagsArray = [ "-ldflags= -s -w -X=main.Version=v${version}" ];
+  ldflags = [ "-s" "-w" "-X=main.Version=v${version}" ];
 
   subPackages = [ "cmd/git-chglog" ];
 
@@ -24,4 +24,3 @@ buildGoModule rec {
     maintainers = with maintainers; [ ldenefle ];
   };
 }
-
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-delete-merged-branches/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-delete-merged-branches/default.nix
index 5193cd2531f4..3e49af5bbb9c 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-delete-merged-branches/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-delete-merged-branches/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "git-delete-merged-branches";
-  version = "6.0.5";
+  version = "6.4.0";
 
   src = fetchFromGitHub {
     owner = "hartwork";
     repo = pname;
     rev = version;
-    sha256 = "1mlmikcpm94nymid35v9rx9dyprhwidgwbdfd5zhsw502d40v0xp";
+    sha256 = "sha256-swAc8ObZY78nVQyjTrVG81xBqTYnWHVDFpiUApbowqU=";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-filter-repo/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-filter-repo/default.nix
index c67fb1532abf..f5e964d3ca9a 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-filter-repo/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-filter-repo/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "git-filter-repo";
-  version = "2.32.0";
+  version = "2.33.0";
 
   src = fetchurl {
     url = "https://github.com/newren/git-filter-repo/releases/download/v${version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-CztFSyeKM9Bmcf0eSrLHH3vHGepd8WXPvcAACT+vFps=";
+    sha256 = "sha256-e88R2hNLvYKkFx9/soo6t7xNR4/o7Do9lYDku9wy5uk=";
   };
 
   buildInputs = [ pythonPackages.python ];
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-hub/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-hub/default.nix
index 8c7ecee04768..83397d1934e1 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-hub/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-hub/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "git-hub";
-  version = "2.1.0";
+  version = "2.1.1";
 
   src = fetchFromGitHub {
     owner = "sociomantic-tsunami";
     repo = "git-hub";
     rev = "v${version}";
-    sha256 = "1df9l8fpbxjgcgi72fwaqxiay5kpfihyc63f0gj67mns9n9ic1i7";
+    sha256 = "sha256-k8sGgDhQn9e0lxM604Wz2sy4lrX5o82xAgWbqscOmQw=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-machete/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-machete/default.nix
index 531d5a547e6e..d73ae5c960f4 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-machete/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-machete/default.nix
@@ -1,6 +1,9 @@
 { lib, buildPythonApplication, fetchPypi
 , installShellFiles, pbr
-, flake8, mock, pycodestyle, pylint, tox }:
+, flake8, mock, pycodestyle, pylint, tox
+, nix-update-script
+, testVersion, git-machete
+}:
 
 buildPythonApplication rec {
   pname = "git-machete";
@@ -23,6 +26,18 @@ buildPythonApplication rec {
       installShellCompletion --zsh --name _git-machete completion/git-machete.completion.zsh
   '';
 
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = pname;
+    };
+
+    tests = {
+      version = testVersion {
+        package = git-machete;
+      };
+    };
+  };
+
   meta = with lib; {
     homepage = "https://github.com/VirtusLab/git-machete";
     description = "Git repository organizer and rebase/merge workflow automation tool";
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-sync/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-sync/default.nix
index 15d0fe9bc0fd..14696903542b 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-sync/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-sync/default.nix
@@ -28,11 +28,14 @@ stdenv.mkDerivation rec {
     gnused
   ];
 
-  fixupPhase = ''
-    patchShebangs $out/bin
+  postFixup = ''
+    wrap_path="${wrapperPath}":$out/bin
 
     wrapProgram $out/bin/git-sync \
-      --prefix PATH : "${wrapperPath}"
+      --prefix PATH : $wrap_path
+
+    wrapProgram $out/bin/git-sync-on-inotify \
+      --prefix PATH : $wrap_path
   '';
 
   meta = {
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/gitstatus/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/gitstatus/default.nix
index ab0ce9c7cd0f..1ab6bfd1a2f3 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/gitstatus/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/gitstatus/default.nix
@@ -1,4 +1,4 @@
-{ callPackage, lib, stdenv, fetchFromGitHub, git, zsh, ...}:
+{ callPackage, lib, stdenv, fetchFromGitHub, git, zsh }:
 
 stdenv.mkDerivation rec {
   pname = "gitstatus";
@@ -11,25 +11,33 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-MQG4thW73gDqY68bKP2FO8z5uc2R/tED+/X9qas/GOA=";
   };
 
-  buildInputs = [ (callPackage ./romkatv_libgit2.nix {}) ];
-  patchPhase = ''
+  buildInputs = [ (callPackage ./romkatv_libgit2.nix { }) ];
+
+  postPatch = ''
     sed -i '1i GITSTATUS_AUTO_INSTALL=''${GITSTATUS_AUTO_INSTALL-0}' gitstatus.plugin.sh
     sed -i '1i GITSTATUS_AUTO_INSTALL=''${GITSTATUS_AUTO_INSTALL-0}' gitstatus.plugin.zsh
     sed -i "1a GITSTATUS_DAEMON=$out/bin/gitstatusd" install
   '';
+
   installPhase = ''
     install -Dm755 usrbin/gitstatusd $out/bin/gitstatusd
-    install -Dm444 gitstatus.plugin.sh $out
-    install -Dm444 gitstatus.plugin.zsh $out
-    install -Dm555 install $out
-    install -Dm444 build.info $out
+    install -Dm444 gitstatus.plugin.sh -t $out/share/gitstatus/
+    install -Dm444 gitstatus.plugin.zsh -t $out/share/gitstatus/
+    install -Dm555 install -t $out/share/gitstatus/
+    install -Dm444 build.info -t $out/share/gitstatus/
+
+    # the fallback path is wrong in the case of home-manager
+    # because the FHS directories don't start at /
+    substituteInPlace install \
+      --replace "_gitstatus_install_main ." "_gitstatus_install_main $out"
   '';
+
   # Don't install the "install" and "build.info" files, which the end user
   # should not need to worry about.
   pathsToLink = [
     "/bin/gitstatusd"
-    "/gitstatus.plugin.sh"
-    "/gitstatus.plugin.zsh"
+    "/share/gitstatus/gitstatus.plugin.sh"
+    "/share/gitstatus/gitstatus.plugin.zsh"
   ];
 
   # The install check sets up an empty Git repository and a minimal zshrc that
@@ -47,7 +55,7 @@ stdenv.mkDerivation rec {
 
     echo '
       GITSTATUS_LOG_LEVEL=DEBUG
-      . $out/gitstatus.plugin.zsh || exit 1
+      . $out/share/gitstatus/gitstatus.plugin.zsh || exit 1
 
       gitstatus_stop NIX_TEST && gitstatus_start NIX_TEST
       gitstatus_query NIX_TEST
@@ -77,6 +85,6 @@ stdenv.mkDerivation rec {
     description = "10x faster implementation of `git status` command";
     homepage = "https://github.com/romkatv/gitstatus";
     license = licenses.gpl3Only;
-    maintainers = with maintainers; [ mmlb hexa ];
+    maintainers = with maintainers; [ mmlb hexa SuperSandro2000 ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/gitstatus/romkatv_libgit2.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/gitstatus/romkatv_libgit2.nix
index 9c74fa35752f..f94f772f50f1 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/gitstatus/romkatv_libgit2.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/gitstatus/romkatv_libgit2.nix
@@ -16,7 +16,7 @@ libgit2.overrideAttrs (oldAttrs: {
   src = fetchFromGitHub {
     owner = "romkatv";
     repo = "libgit2";
-    rev = "tag-82cefe2b42300224ad3c148f8b1a569757cc617a";
-    sha256 = "1vhnqynqyxizzkq1h5dfjm75f0jm5637jh0gypwqqz2yjqrscza0";
+    rev = "tag-5860a42d19bcd226cb6eff2dcbfcbf155d570c73";
+    sha256 = "sha256-OdGLNGOzXbWQGqw5zYM1RhU4Z2yRXi9cpAt7Vn9+j5I=";
   };
 })
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/gitui/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/gitui/default.nix
index 4fc1bce44741..5d1e50d12135 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/gitui/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/gitui/default.nix
@@ -1,16 +1,16 @@
 { lib, stdenv, rustPlatform, fetchFromGitHub, libiconv, perl, python3, Security, AppKit, openssl, xclip }:
 rustPlatform.buildRustPackage rec {
   pname = "gitui";
-  version = "0.16.2";
+  version = "0.17";
 
   src = fetchFromGitHub {
     owner = "extrawurst";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-FRPRkFGf6Z/+smK651wR6ETWrvvQ1AKalxXW6d6otIo=";
+    sha256 = "sha256-UM1L95VKmUh2E56dlKo3TkNYRlib5Hg5VHGokBqTP+s=";
   };
 
-  cargoSha256 = "sha256-3ubeZgB7XNKysy6s+cdg4GDj/Mn4Mdp9VupcbBRTRh4=";
+  cargoSha256 = "sha256-i/Z1pOrg7rKH5uDqkyh7V9jZRHXZ3Bhhw5UpzKWOjJ0=";
 
   nativeBuildInputs = [ python3 perl ];
   buildInputs = [ openssl ]
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/glab/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/glab/default.nix
index f2a5e2368b4f..c06c70e26789 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/glab/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/glab/default.nix
@@ -2,20 +2,26 @@
 
 buildGoModule rec {
   pname = "glab";
-  version = "1.18.1";
+  version = "1.20.0";
 
   src = fetchFromGitHub {
     owner = "profclems";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ahP5y5i0SMj2+mP4RYc7MLZGElX5eLgKwiVhBYGOX2g=";
+    sha256 = "sha256-MHNhl6lrBqHZ6M4fVOnSDxEcF6RqfWHWx5cvUhRXJKw=";
   };
 
-  vendorSha256 = "sha256-ssVmqcJ/DxUqAkHm9tn4RwWuKzTHvxoqJquXPIRy4b8=";
+  vendorSha256 = "sha256-9+WBKc8PI0v6bnkC+78Ygv/eocQ3D7+xBb8lcv16QTE=";
   runVend = true;
 
-  # Tests are trying to access /homeless-shelter
-  doCheck = false;
+  ldflags = [
+    "-X main.version=${version}"
+  ];
+
+  preCheck = ''
+    # failed to read configuration:  mkdir /homeless-shelter: permission denied
+    export HOME=$TMPDIR
+  '';
 
   subPackages = [ "cmd/glab" ];
 
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/gst/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/gst/default.nix
new file mode 100644
index 000000000000..a323c61bf143
--- /dev/null
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/gst/default.nix
@@ -0,0 +1,56 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, git
+, ghq
+}:
+
+buildGoModule rec {
+  pname = "gst";
+  version = "5.0.4";
+
+  src = fetchFromGitHub {
+    owner = "uetchy";
+    repo = "gst";
+    rev = "v${version}";
+    sha256 = "0fqgkmhn84402hidxv4niy9himcdwm1h80prkfk9vghwcyynrbsj";
+  };
+
+  vendorSha256 = "0k5xl55vzpl64gwsgaff92jismpx6y7l2ia0kx7gamd1vklf0qwh";
+
+  doCheck = false;
+
+  nativeBuildInputs = [
+    git
+    ghq
+  ];
+
+  ldflags = [
+    "-s" "-w" "-X=main.Version=${version}"
+  ];
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    if [[ "$("$out/bin/${pname}" --version)" == "${pname} version ${version}" ]]; then
+      export HOME=$(mktemp -d)
+      git config --global user.name "Test User"
+      git config --global user.email "test@example.com"
+      git config --global init.defaultBranch "main"
+      git config --global ghq.user "user"
+      ghq create test > /dev/null 2>&1
+      touch $HOME/ghq/github.com/user/test/SmokeTest
+      $out/bin/${pname} list | grep SmokeTest > /dev/null
+      echo '${pname} smoke check passed'
+    else
+      echo '${pname} smoke check failed'
+      return 1
+    fi
+  '';
+
+  meta = {
+    description = "Supercharge your ghq workflow";
+    homepage = "https://github.com/uetchy/gst";
+    maintainers = with lib.maintainers; [ _0x4A6F ];
+    license = lib.licenses.asl20;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/hub/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/hub/default.nix
index e0d7e46d22a5..9d63642dcb33 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/hub/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/hub/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildGoPackage, fetchFromGitHub, git, groff, installShellFiles, util-linux, nixosTests }:
+{ lib, buildGoPackage, fetchFromGitHub, git, groff, installShellFiles, unixtools, nixosTests }:
 
 buildGoPackage rec {
   pname = "hub";
@@ -16,7 +16,7 @@ buildGoPackage rec {
     sha256 = "1qjab3dpia1jdlszz3xxix76lqrm4zbmqzd9ymld7h06awzsg2vh";
   };
 
-  nativeBuildInputs = [ groff installShellFiles util-linux ];
+  nativeBuildInputs = [ groff installShellFiles unixtools.col ];
 
   postPatch = ''
     patchShebangs .
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/lab/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/lab/default.nix
index a373d3dbf897..63f42963089a 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/lab/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/lab/default.nix
@@ -19,7 +19,7 @@ buildGoModule rec {
 
   nativeBuildInputs = [ makeWrapper installShellFiles ];
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
+  ldflags = [ "-s" "-w" "-X main.version=${version}" ];
 
   postInstall = ''
     wrapProgram $out/bin/lab --prefix PATH ":" "${lib.makeBinPath [ git xdg-utils ]}";
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/radicle-upstream/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/radicle-upstream/default.nix
index e2314687d8b9..8774e69e48c6 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/radicle-upstream/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/radicle-upstream/default.nix
@@ -1,16 +1,23 @@
-{ lib, stdenv, appimageTools, gsettings-desktop-schemas, gtk3, autoPatchelfHook, zlib, fetchurl }:
+{ lib, stdenv, appimageTools, gsettings-desktop-schemas, gtk3, autoPatchelfHook, zlib, fetchurl, undmg }:
 
 let
   pname = "radicle-upstream";
-  version = "0.2.3";
+  version = "0.2.9";
   name = "${pname}-${version}";
 
-  src = fetchurl {
-    url = "https://releases.radicle.xyz/radicle-upstream-${version}.AppImage";
-    sha256 =  "sha256-SL6plXZ+o7JchY/t/1702FK57fVjxllHqB8ZOma/43c=";
+  srcs = {
+    x86_64-linux = fetchurl {
+      url = "https://releases.radicle.xyz/radicle-upstream-${version}.AppImage";
+      sha256 = "sha256-chju3ZEFFLOzE9FakUK2izm/5ejELdL/iWMtM3bRpWY=";
+    };
+    x86_64-darwin = fetchurl {
+      url = "https://releases.radicle.xyz/radicle-upstream-${version}.dmg";
+      sha256 = "sha256-OOqe4diRcJWHHOa6jBpljPoA3FQOKlghMhKGQ242GnM=";
+    };
   };
+  src = srcs.${stdenv.hostPlatform.system};
 
-  contents = appimageTools.extractType2 { inherit name src; };
+  contents = appimageTools.extract { inherit name src; };
 
   git-remote-rad = stdenv.mkDerivation rec {
     pname = "git-remote-rad";
@@ -25,40 +32,56 @@ let
       cp ${contents}/resources/git-remote-rad $out/bin/git-remote-rad
     '';
   };
-in
 
-# FIXME: a dependency of the `proxy` component of radicle-upstream (radicle-macros
-# v0.1.0) uses unstable rust features, making a from source build impossible at
-# this time. See this PR for discussion: https://github.com/NixOS/nixpkgs/pull/105674
-appimageTools.wrapType2 {
-  inherit name src;
+  # FIXME: a dependency of the `proxy` component of radicle-upstream (radicle-macros
+  # v0.1.0) uses unstable rust features, making a from source build impossible at
+  # this time. See this PR for discussion: https://github.com/NixOS/nixpkgs/pull/105674
+  linux = appimageTools.wrapType2 {
+    inherit name src meta;
+
+    profile = ''
+      export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
+    '';
+
+    extraInstallCommands = ''
+      mv $out/bin/${name} $out/bin/${pname}
+
+      # this automatically adds the git-remote-rad binary to the users `PATH` so
+      # they don't need to mess around with shell profiles...
+      ln -s ${git-remote-rad}/bin/git-remote-rad $out/bin/git-remote-rad
+
+      # desktop item
+      install -m 444 -D ${contents}/${pname}.desktop $out/share/applications/${pname}.desktop
+      substituteInPlace $out/share/applications/${pname}.desktop \
+        --replace 'Exec=AppRun' 'Exec=${pname}'
 
-  profile = ''
-    export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
-  '';
+      # icon
+      install -m 444 -D ${contents}/${pname}.png \
+        $out/share/icons/hicolor/512x512/apps/${pname}.png
+    '';
+  };
 
-  extraInstallCommands = ''
-    mv $out/bin/${name} $out/bin/${pname}
+  darwin = stdenv.mkDerivation {
+    inherit pname version src meta;
 
-    # this automatically adds the git-remote-rad binary to the users `PATH` so
-    # they don't need to mess around with shell profiles...
-    ln -s ${git-remote-rad}/bin/git-remote-rad $out/bin/git-remote-rad
+    nativeBuildInputs = [ undmg ];
 
-    # desktop item
-    install -m 444 -D ${contents}/${pname}.desktop $out/share/applications/${pname}.desktop
-    substituteInPlace $out/share/applications/${pname}.desktop \
-      --replace 'Exec=AppRun' 'Exec=${pname}'
+    sourceRoot = ".";
 
-    # icon
-    install -m 444 -D ${contents}/${pname}.png \
-      $out/share/icons/hicolor/512x512/apps/${pname}.png
-  '';
+    installPhase = ''
+      mkdir -p $out/Applications
+      cp -r *.app $out/Applications
+    '';
+  };
 
   meta = with lib; {
     description = "A decentralized app for code collaboration";
     homepage = "https://radicle.xyz/";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ xwvvvvwx ];
-    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ d-xo ];
+    platforms = [ "x86_64-linux" "x86_64-darwin" ];
   };
-}
+in
+if stdenv.isDarwin
+then darwin
+else linux
diff --git a/nixpkgs/pkgs/applications/version-management/git-lfs/default.nix b/nixpkgs/pkgs/applications/version-management/git-lfs/default.nix
index 5976f1de6a76..77a8d9d897f1 100644
--- a/nixpkgs/pkgs/applications/version-management/git-lfs/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-lfs/default.nix
@@ -15,7 +15,7 @@ buildGoPackage rec {
 
   nativeBuildInputs = [ ronn installShellFiles ];
 
-  buildFlagsArray = [ "-ldflags=-s -w -X ${goPackagePath}/config.Vendor=${version} -X ${goPackagePath}/config.GitCommit=${src.rev}" ];
+  ldflags = [ "-s" "-w" "-X ${goPackagePath}/config.Vendor=${version}" "-X ${goPackagePath}/config.GitCommit=${src.rev}" ];
 
   subPackages = [ "." ];
 
diff --git a/nixpkgs/pkgs/applications/version-management/gitea/default.nix b/nixpkgs/pkgs/applications/version-management/gitea/default.nix
index bd61d984c620..4843e48b1f29 100644
--- a/nixpkgs/pkgs/applications/version-management/gitea/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/gitea/default.nix
@@ -16,12 +16,12 @@ with lib;
 
 buildGoPackage rec {
   pname = "gitea";
-  version = "1.14.5";
+  version = "1.15.2";
 
   # 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-8nwLVpe/5IjXJqO179lN80B/3WGUL3LKM8OWdh/bYOE=";
+    sha256 = "sha256-zvWJ1Q8nJw4hjPeBnuVprjn2NSlFwv4BwtHwgwHHvSI=";
   };
 
   unpackPhase = ''
diff --git a/nixpkgs/pkgs/applications/version-management/gitkraken/default.nix b/nixpkgs/pkgs/applications/version-management/gitkraken/default.nix
index 3e10add49d48..1fbb099e0139 100644
--- a/nixpkgs/pkgs/applications/version-management/gitkraken/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/gitkraken/default.nix
@@ -13,11 +13,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "gitkraken";
-  version = "7.7.0";
+  version = "7.7.2";
 
   src = fetchzip {
     url = "https://release.axocdn.com/linux/GitKraken-v${version}.tar.gz";
-    sha256 = "0zb94ipi777qkznxpgb7ah31mx9b63713k92vhxhz4glna59lvk3";
+    sha256 = "sha256-jL0XLw0V0ED+lDBn3sGaJmm96zQwXue333UuYGHjB64=";
   };
 
   dontBuild = true;
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab-triage/Gemfile.lock b/nixpkgs/pkgs/applications/version-management/gitlab-triage/Gemfile.lock
index adec5b524f34..e5df89d66090 100644
--- a/nixpkgs/pkgs/applications/version-management/gitlab-triage/Gemfile.lock
+++ b/nixpkgs/pkgs/applications/version-management/gitlab-triage/Gemfile.lock
@@ -1,27 +1,35 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    activesupport (5.2.4.4)
+    activesupport (5.2.6)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 0.7, < 2)
       minitest (~> 5.1)
       tzinfo (~> 1.1)
-    concurrent-ruby (1.1.7)
-    gitlab-triage (1.13.0)
+    concurrent-ruby (1.1.9)
+    gitlab-triage (1.20.0)
       activesupport (~> 5.1)
+      globalid (~> 0.4)
+      graphql-client (~> 0.16)
       httparty (~> 0.17)
+    globalid (0.5.2)
+      activesupport (>= 5.0)
+    graphql (1.12.14)
+    graphql-client (0.16.0)
+      activesupport (>= 3.0)
+      graphql (~> 1.8)
     httparty (0.18.1)
       mime-types (~> 3.0)
       multi_xml (>= 0.5.2)
-    i18n (1.8.5)
+    i18n (1.8.10)
       concurrent-ruby (~> 1.0)
     mime-types (3.3.1)
       mime-types-data (~> 3.2015)
-    mime-types-data (3.2020.0512)
-    minitest (5.14.2)
+    mime-types-data (3.2021.0704)
+    minitest (5.14.4)
     multi_xml (0.6.0)
     thread_safe (0.3.6)
-    tzinfo (1.2.7)
+    tzinfo (1.2.9)
       thread_safe (~> 0.1)
 
 PLATFORMS
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab-triage/gemset.nix b/nixpkgs/pkgs/applications/version-management/gitlab-triage/gemset.nix
index 527487706615..519ddc8bec0b 100644
--- a/nixpkgs/pkgs/applications/version-management/gitlab-triage/gemset.nix
+++ b/nixpkgs/pkgs/applications/version-management/gitlab-triage/gemset.nix
@@ -5,31 +5,63 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0dpnk20s754fz6jfz9sp3ri49hn46ksw4hf6ycnlw7s3hsdxqgcd";
+      sha256 = "1vybx4cj42hr6m8cdwbrqq2idh98zms8c11kr399xjczhl9ywjbj";
       type = "gem";
     };
-    version = "5.2.4.4";
+    version = "5.2.6";
   };
   concurrent-ruby = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1vnxrbhi7cq3p4y2v9iwd10v1c7l15is4var14hwnb2jip4fyjzz";
+      sha256 = "0nwad3211p7yv9sda31jmbyw6sdafzmdi2i2niaz6f0wk5nq9h0f";
       type = "gem";
     };
-    version = "1.1.7";
+    version = "1.1.9";
   };
   gitlab-triage = {
-    dependencies = ["activesupport" "httparty"];
+    dependencies = ["activesupport" "globalid" "graphql-client" "httparty"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "11sas3h3n638gni1mysck1ahyakqnl8gg6g21pc3krs6jrg9qxj9";
+      sha256 = "sha256-sg/YgRnp1+EcTcBqsm8vZrV0YuHTSJEFk/whhW8An6g=";
       type = "gem";
     };
-    version = "1.13.0";
+    version = "1.20.0";
+  };
+  globalid = {
+    dependencies = ["activesupport"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0k6ww3shk3mv119xvr9m99l6ql0czq91xhd66hm8hqssb18r2lvm";
+      type = "gem";
+    };
+    version = "0.5.2";
+  };
+  graphql = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "sha256-iweRDvp7EWY02B52iwbebEpiwL7Mj9E9RyeHYMuqc/o=";
+      type = "gem";
+    };
+    version = "1.12.14";
+  };
+  graphql-client = {
+    dependencies = ["activesupport" "graphql"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0g971rccyrs3rk8812r6az54p28g66m4ngdcbszg31mvddjaqkr4";
+      type = "gem";
+    };
+    version = "0.16.0";
   };
   httparty = {
     dependencies = ["mime-types" "multi_xml"];
@@ -48,10 +80,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "153sx77p16vawrs4qpkv7qlzf9v5fks4g7xqcj1dwk40i6g7rfzk";
+      sha256 = "0g2fnag935zn2ggm5cn6k4s4xvv53v2givj1j90szmvavlpya96a";
       type = "gem";
     };
-    version = "1.8.5";
+    version = "1.8.10";
   };
   mime-types = {
     dependencies = ["mime-types-data"];
@@ -69,20 +101,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1z75svngyhsglx0y2f9rnil2j08f9ab54b3l95bpgz67zq2if753";
+      sha256 = "0dlxwc75iy0dj23x824cxpvpa7c8aqcpskksrmb32j6m66h5mkcy";
       type = "gem";
     };
-    version = "3.2020.0512";
+    version = "3.2021.0704";
   };
   minitest = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "170y2cvx51gm3cm3nhdf7j36sxnkh6vv8ls36p90ric7w8w16h4v";
+      sha256 = "19z7wkhg59y8abginfrm2wzplz7py3va8fyngiigngqvsws6cwgl";
       type = "gem";
     };
-    version = "5.14.2";
+    version = "5.14.4";
   };
   multi_xml = {
     groups = ["default"];
@@ -110,9 +142,9 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1i3jh086w1kbdj3k5l60lc3nwbanmzdf8yjj3mlrx9b2gjjxhi9r";
+      sha256 = "0zwqqh6138s8b321fwvfbywxy00lw1azw4ql3zr0xh1aqxf8cnvj";
       type = "gem";
     };
-    version = "1.2.7";
+    version = "1.2.9";
   };
 }
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/data.json b/nixpkgs/pkgs/applications/version-management/gitlab/data.json
index b214b663ae60..7425af1f98a5 100644
--- a/nixpkgs/pkgs/applications/version-management/gitlab/data.json
+++ b/nixpkgs/pkgs/applications/version-management/gitlab/data.json
@@ -1,13 +1,13 @@
 {
-  "version": "14.0.5",
-  "repo_hash": "1rykrgzapqa3j2yqpd99fpyyrdp25h2xnx21gnjnkn58qljs4cgs",
+  "version": "14.2.3",
+  "repo_hash": "06fr8srz5ii0h65b1h2zfm8kzqz9g8jy2aq4g5js6kmv44zjya1p",
   "owner": "gitlab-org",
   "repo": "gitlab",
-  "rev": "v14.0.5-ee",
+  "rev": "v14.2.3-ee",
   "passthru": {
-    "GITALY_SERVER_VERSION": "14.0.5",
-    "GITLAB_PAGES_VERSION": "1.40.0",
-    "GITLAB_SHELL_VERSION": "13.19.0",
-    "GITLAB_WORKHORSE_VERSION": "14.0.5"
+    "GITALY_SERVER_VERSION": "14.2.3",
+    "GITLAB_PAGES_VERSION": "1.42.0",
+    "GITLAB_SHELL_VERSION": "13.19.1",
+    "GITLAB_WORKHORSE_VERSION": "14.2.3"
   }
 }
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/default.nix b/nixpkgs/pkgs/applications/version-management/gitlab/default.nix
index fffe8894405e..26d8cb1732fd 100644
--- a/nixpkgs/pkgs/applications/version-management/gitlab/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/gitlab/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, fetchurl, fetchpatch, fetchFromGitLab, bundlerEnv
 , ruby, tzdata, git, nettools, nixosTests, nodejs, openssl
 , gitlabEnterprise ? false, callPackage, yarn
-, fixup_yarn_lock, replace, file
+, fixup_yarn_lock, replace, file, cacert
 }:
 
 let
@@ -51,7 +51,7 @@ let
     pname = "gitlab-assets";
     inherit version src;
 
-    nativeBuildInputs = [ rubyEnv.wrappedRuby rubyEnv.bundler nodejs yarn git ];
+    nativeBuildInputs = [ rubyEnv.wrappedRuby rubyEnv.bundler nodejs yarn git cacert ];
 
     # Since version 12.6.0, the rake tasks need the location of git,
     # so we have to apply the location patches here too.
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/Gemfile b/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/Gemfile
index 20f1034fc908..7eaf3c0f218f 100644
--- a/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/Gemfile
+++ b/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/Gemfile
@@ -3,7 +3,7 @@ source 'https://rubygems.org'
 gem 'rugged', '~> 1.1'
 gem 'github-linguist', '~> 7.12', require: 'linguist'
 gem 'gitlab-markup', '~> 1.7.1'
-gem 'activesupport', '~> 6.0.3.6'
+gem 'activesupport', '~> 6.1.3.2'
 gem 'rdoc', '~> 6.0'
 gem 'gitlab-gollum-lib', '~> 4.2.7.10.gitlab.1', require: false
 gem 'gitlab-gollum-rugged_adapter', '~> 0.4.4.4.gitlab.1', require: false
@@ -13,13 +13,13 @@ gem 'faraday', '~> 1.0'
 gem 'rbtrace', require: false
 
 # Labkit provides observability functionality
-gem 'gitlab-labkit', '~> 0.17.1'
+gem 'gitlab-labkit', '~> 0.20.0'
 
 # Detects the open source license the repository includes
 # This version needs to be in sync with GitLab CE/EE
 gem 'licensee', '~> 9.14.1'
 
-gem 'google-protobuf', '~> 3.14.0'
+gem 'google-protobuf', '~> 3.17.0'
 
 group :development, :test do
   gem 'rubocop', '~> 0.69', require: false
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock b/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock
index af6a3ce81422..f0e06b761dce 100644
--- a/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock
+++ b/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock
@@ -2,25 +2,25 @@ GEM
   remote: https://rubygems.org/
   specs:
     abstract_type (0.0.7)
-    actionpack (6.0.3.6)
-      actionview (= 6.0.3.6)
-      activesupport (= 6.0.3.6)
-      rack (~> 2.0, >= 2.0.8)
+    actionpack (6.1.3.2)
+      actionview (= 6.1.3.2)
+      activesupport (= 6.1.3.2)
+      rack (~> 2.0, >= 2.0.9)
       rack-test (>= 0.6.3)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.0, >= 1.2.0)
-    actionview (6.0.3.6)
-      activesupport (= 6.0.3.6)
+    actionview (6.1.3.2)
+      activesupport (= 6.1.3.2)
       builder (~> 3.1)
       erubi (~> 1.4)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.1, >= 1.2.0)
-    activesupport (6.0.3.6)
+    activesupport (6.1.3.2)
       concurrent-ruby (~> 1.0, >= 1.0.2)
-      i18n (>= 0.7, < 2)
-      minitest (~> 5.1)
-      tzinfo (~> 1.1)
-      zeitwerk (~> 2.2, >= 2.2.2)
+      i18n (>= 1.6, < 2)
+      minitest (>= 5.1)
+      tzinfo (~> 2.0)
+      zeitwerk (~> 2.3)
     adamantium (0.2.0)
       ice_nine (~> 0.11.0)
       memoizable (~> 0.4.0)
@@ -34,7 +34,7 @@ GEM
     concord (0.1.5)
       adamantium (~> 0.2.0)
       equalizer (~> 0.0.9)
-    concurrent-ruby (1.1.8)
+    concurrent-ruby (1.1.9)
     crass (1.0.6)
     diff-lcs (1.3)
     dotenv (2.7.6)
@@ -45,7 +45,7 @@ GEM
       activesupport (>= 4.2.0)
     faraday (1.0.1)
       multipart-post (>= 1.2, < 3)
-    ffi (1.13.1)
+    ffi (1.15.3)
     gemojione (3.3.0)
       json
     github-linguist (7.12.1)
@@ -65,18 +65,18 @@ GEM
     gitlab-gollum-rugged_adapter (0.4.4.4.gitlab.1)
       mime-types (>= 1.15)
       rugged (~> 1.0)
-    gitlab-labkit (0.17.1)
+    gitlab-labkit (0.20.0)
       actionpack (>= 5.0.0, < 7.0.0)
       activesupport (>= 5.0.0, < 7.0.0)
       grpc (~> 1.19)
       jaeger-client (~> 1.1)
       opentracing (~> 0.4)
-      pg_query (~> 2.0)
+      pg_query (~> 2.1)
       redis (> 3.0.0, < 5.0.0)
     gitlab-markup (1.7.1)
-    google-protobuf (3.14.0)
-    googleapis-common-protos-types (1.0.5)
-      google-protobuf (~> 3.11)
+    google-protobuf (3.17.3)
+    googleapis-common-protos-types (1.1.0)
+      google-protobuf (~> 3.14)
     grpc (1.30.2)
       google-protobuf (~> 3.12)
       googleapis-common-protos-types (~> 1.0)
@@ -94,7 +94,7 @@ GEM
       reverse_markdown (~> 1.0)
       rugged (>= 0.24, < 2.0)
       thor (>= 0.19, < 2.0)
-    loofah (2.9.1)
+    loofah (2.10.0)
       crass (~> 1.0.2)
       nokogiri (>= 1.5.9)
     memoizable (0.4.2)
@@ -105,7 +105,7 @@ GEM
     mime-types-data (3.2020.1104)
     mini_mime (1.0.2)
     mini_portile2 (2.5.1)
-    minitest (5.14.2)
+    minitest (5.14.4)
     msgpack (1.3.3)
     multipart-post (2.1.1)
     nokogiri (1.11.5)
@@ -121,8 +121,8 @@ GEM
     parallel (1.19.2)
     parser (2.7.2.0)
       ast (~> 2.4.1)
-    pg_query (2.0.3)
-      google-protobuf (~> 3.15.5)
+    pg_query (2.1.0)
+      google-protobuf (>= 3.17.1)
     proc_to_ast (0.1.0)
       coderay
       parser
@@ -146,7 +146,7 @@ GEM
       ffi (>= 1.0.6)
       msgpack (>= 0.4.3)
       optimist (>= 3.0.0)
-    rdoc (6.2.0)
+    rdoc (6.3.2)
     redis (4.2.5)
     regexp_parser (1.8.1)
     reverse_markdown (1.4.0)
@@ -199,8 +199,8 @@ GEM
     thread_safe (0.3.6)
     thrift (0.14.1)
     timecop (0.9.1)
-    tzinfo (1.2.9)
-      thread_safe (~> 0.1)
+    tzinfo (2.0.4)
+      concurrent-ruby (~> 1.0)
     unicode-display_width (1.7.0)
     unparser (0.4.7)
       abstract_type (~> 0.0.7)
@@ -216,15 +216,15 @@ PLATFORMS
   ruby
 
 DEPENDENCIES
-  activesupport (~> 6.0.3.6)
+  activesupport (~> 6.1.3.2)
   factory_bot
   faraday (~> 1.0)
   github-linguist (~> 7.12)
   gitlab-gollum-lib (~> 4.2.7.10.gitlab.1)
   gitlab-gollum-rugged_adapter (~> 0.4.4.4.gitlab.1)
-  gitlab-labkit (~> 0.17.1)
+  gitlab-labkit (~> 0.20.0)
   gitlab-markup (~> 1.7.1)
-  google-protobuf (~> 3.14.0)
+  google-protobuf (~> 3.17.0)
   grpc (~> 1.30.2)
   grpc-tools (= 1.30.2)
   licensee (~> 9.14.1)
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/default.nix b/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/default.nix
index ced652e68d96..07a9a297a034 100644
--- a/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/default.nix
@@ -20,24 +20,30 @@ let
         };
       };
   };
-in buildGoModule rec {
-  version = "14.0.5";
+  version = "14.2.3";
+  gitaly_package = "gitlab.com/gitlab-org/gitaly/v${lib.versions.major version}";
+in
+
+buildGoModule {
   pname = "gitaly";
+  inherit version;
 
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitaly";
     rev = "v${version}";
-    sha256 = "sha256-aZ+EDF9BOdsbE+Xsde259eRmQhnb6H5piLQsvzgVpGM=";
+    sha256 = "sha256-TSA5CoNaLeMu7O02rsaR/rNciLwzxSIUUQsCo40Z15c=";
   };
 
-  vendorSha256 = "sha256-U962bMmXNnenCYkSdk0Uy7Bz+b9JGU5rJHfblZoyC/I=";
+  vendorSha256 = "sha256-WhkNK+V7yXK+le1u8StAKajZIBzVKqV/WIau27oZBXE=";
 
   passthru = {
     inherit rubyEnv;
   };
 
-  buildFlags = [ "-tags=static,system_libgit2" ];
+  ldflags = "-X ${gitaly_package}/internal/version.version=${version} -X ${gitaly_package}/internal/version.moduleVersion=${version}";
+
+  tags = [ "static,system_libgit2" ];
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ rubyEnv.wrappedRuby libgit2 openssl zlib pcre http-parser ];
   doCheck = false;
@@ -45,6 +51,7 @@ in buildGoModule rec {
   postInstall = ''
     mkdir -p $ruby
     cp -rv $src/ruby/{bin,lib,proto,git-hooks} $ruby
+    mv $out/bin/gitaly-git2go $out/bin/gitaly-git2go-${version}
   '';
 
   outputs = [ "out" "ruby" ];
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/gemset.nix b/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/gemset.nix
index 91e5217c271d..f5e562ddf6e1 100644
--- a/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/gemset.nix
+++ b/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/gemset.nix
@@ -13,10 +13,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "10rn7gmnnwpm593xv6lcf4qa72wmlbyjg4zmdc3lpb5596whd3yz";
+      sha256 = "1wdgv5llgbl4nayx5j78lfvhhjssrzfmypb45mjy37mgm8z5l5m5";
       type = "gem";
     };
-    version = "6.0.3.6";
+    version = "6.1.3.2";
   };
   actionview = {
     dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
@@ -24,10 +24,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ikqpxsrsb7xmq6ds5iq22nj2j3ai16z8z2j5r6lk8pzbi0wwsz5";
+      sha256 = "1r6db2g3fsrca1hp9kbyvjx9psipsxw0g306qharkcblxl8h1ysn";
       type = "gem";
     };
-    version = "6.0.3.6";
+    version = "6.1.3.2";
   };
   activesupport = {
     dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"];
@@ -35,10 +35,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0sls37x9pd2zmipn14c46gcjbfzlg269r413cvm0d58595qkiv7z";
+      sha256 = "1csxddyhl6k773ycxjvmyshyr4g9jb1icbs3pnm7crnavqs4h1yr";
       type = "gem";
     };
-    version = "6.0.3.6";
+    version = "6.1.3.2";
   };
   adamantium = {
     dependencies = ["ice_nine" "memoizable"];
@@ -122,10 +122,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0mr23wq0szj52xnj0zcn1k0c7j4v79wlwbijkpfcscqww3l6jlg3";
+      sha256 = "0nwad3211p7yv9sda31jmbyw6sdafzmdi2i2niaz6f0wk5nq9h0f";
       type = "gem";
     };
-    version = "1.1.8";
+    version = "1.1.9";
   };
   crass = {
     groups = ["default"];
@@ -208,10 +208,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12lpwaw82bb0rm9f52v1498bpba8aj2l2q359mkwbxsswhpga5af";
+      sha256 = "1wgvaclp4h9y8zkrgz8p2hqkrgr4j7kz0366mik0970w532cbmcq";
       type = "gem";
     };
-    version = "1.13.1";
+    version = "1.15.3";
   };
   gemojione = {
     dependencies = ["json"];
@@ -269,10 +269,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1y1sk3xmxj14nzx7v2zgq4q4d5lh4v1pvhs03n03j3kp4fbrj469";
+      sha256 = "1krn6vi33i5vqbz3gmwzj9f9ifda41a3as3chpl899mrgni61q6r";
       type = "gem";
     };
-    version = "0.17.1";
+    version = "0.20.0";
   };
   gitlab-markup = {
     groups = ["default"];
@@ -289,10 +289,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0pbm2kjhxvazx9d5c071bxcjx5cbip6d2y36dii2a4558nqjd12p";
+      sha256 = "0vmll4nnkha3vsqj1g76pwni6x7mp2i81pka4wdwq8qfhn210108";
       type = "gem";
     };
-    version = "3.14.0";
+    version = "3.17.3";
   };
   googleapis-common-protos-types = {
     dependencies = ["google-protobuf"];
@@ -300,10 +300,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1aava1b75n056s24gn7ajrkmm6s3xa3swl62dl5q9apw4marghji";
+      sha256 = "1949w1lcd3iyiy4n6zgnrhdp78k9khbh2pbkrpkv263bbpmw8llg";
       type = "gem";
     };
-    version = "1.0.5";
+    version = "1.1.0";
   };
   grpc = {
     dependencies = ["google-protobuf" "googleapis-common-protos-types"];
@@ -383,10 +383,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1w9mbii8515p28xd4k72f3ab2g6xiyq15497ys5r8jn6m355lgi7";
+      sha256 = "19vkaazjqyq7yj5ah8rpr4vl9n4mg95scdr5im93akhd5bjvkkly";
       type = "gem";
     };
-    version = "2.9.1";
+    version = "2.10.0";
   };
   memoizable = {
     dependencies = ["thread_safe"];
@@ -451,10 +451,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "170y2cvx51gm3cm3nhdf7j36sxnkh6vv8ls36p90ric7w8w16h4v";
+      sha256 = "19z7wkhg59y8abginfrm2wzplz7py3va8fyngiigngqvsws6cwgl";
       type = "gem";
     };
-    version = "5.14.2";
+    version = "5.14.4";
   };
   msgpack = {
     groups = ["default"];
@@ -554,10 +554,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1mii63kgppy2zil2qn54c94z93b6ama6x7gq6rbv4xxlfk8ncrag";
+      sha256 = "12dibsqndfnckc24yryy8v467rxp7p80jx21jhm8z7swp8118jhx";
       type = "gem";
     };
-    version = "2.0.3";
+    version = "2.1.0";
   };
   proc_to_ast = {
     dependencies = ["coderay" "parser" "unparser"];
@@ -672,10 +672,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1gh7sc3xd4rgl9z90181cq580r1xqn063mmv51wdrhhsrkkw2bi9";
+      sha256 = "19h5g3g7k7wggy9amfx8b3m09ss7wrakbrva2xnda9sw4chagx6y";
       type = "gem";
     };
-    version = "6.2.0";
+    version = "6.3.2";
   };
   redis = {
     groups = ["default"];
@@ -913,15 +913,15 @@
     version = "0.9.1";
   };
   tzinfo = {
-    dependencies = ["thread_safe"];
+    dependencies = ["concurrent-ruby"];
     groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zwqqh6138s8b321fwvfbywxy00lw1azw4ql3zr0xh1aqxf8cnvj";
+      sha256 = "10qp5x7f9hvlc0psv9gsfbxg4a7s0485wsbq1kljkxq94in91l4z";
       type = "gem";
     };
-    version = "1.2.9";
+    version = "2.0.4";
   };
   unicode-display_width = {
     groups = ["default" "development" "test"];
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix b/nixpkgs/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix
index 704d90803311..ee039c4adb26 100644
--- a/nixpkgs/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix
@@ -2,12 +2,12 @@
 
 buildGoModule rec {
   pname = "gitlab-shell";
-  version = "13.19.0";
+  version = "13.19.1";
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-shell";
     rev = "v${version}";
-    sha256 = "sha256-CmatKArkpDS3GGbIIkKjs4FwywLiU+lRL32GKEpOqZ0=";
+    sha256 = "sha256-F0TW0VjO5hc/lHqZhhMJJvpHazWRyR7Q7W324Fgn7fA=";
   };
 
   buildInputs = [ ruby ];
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix b/nixpkgs/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
index e237c4fd480d..0e81b89b3db8 100644
--- a/nixpkgs/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
@@ -5,7 +5,7 @@ in
 buildGoModule rec {
   pname = "gitlab-workhorse";
 
-  version = "14.0.5";
+  version = "14.2.3";
 
   src = fetchFromGitLab {
     owner = data.owner;
@@ -16,9 +16,9 @@ buildGoModule rec {
 
   sourceRoot = "source/workhorse";
 
-  vendorSha256 = "sha256-gTObI0pmRUX6Eh5FVdt+5LbckyBuFq1Ly4oPZztazHQ=";
+  vendorSha256 = "sha256-q0LuXmjoO6mjVZpMRVVGL862mA+MaCejTCx99Zi5VEI=";
   buildInputs = [ git ];
-  buildFlagsArray = "-ldflags=-X main.Version=${version}";
+  ldflags = [ "-X main.Version=${version}" ];
   doCheck = false;
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile b/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
index 03b275e11d2e..35017bd87d98 100644
--- a/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
+++ b/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
@@ -35,7 +35,7 @@ gem 'rexml', '~> 3.2.5'
 gem 'ruby-saml', '~> 1.12.1'
 gem 'omniauth', '~> 1.8'
 gem 'omniauth-auth0', '~> 2.0.0'
-gem 'omniauth-azure-activedirectory-v2', '~> 0.1'
+gem 'omniauth-azure-activedirectory-v2', '~> 1.0'
 gem 'omniauth-azure-oauth2', '~> 0.0.9' # Deprecated v1 version
 gem 'omniauth-cas3', '~> 1.1.4'
 gem 'omniauth-facebook', '~> 4.0.0'
@@ -49,7 +49,7 @@ gem 'omniauth-shibboleth', '~> 1.3.0'
 gem 'omniauth-twitter', '~> 1.4'
 gem 'omniauth_crowd', '~> 2.4.0'
 gem 'omniauth-authentiq', '~> 0.3.3'
-gem 'gitlab-omniauth-openid-connect', '~> 0.4.0', require: 'omniauth_openid_connect'
+gem 'gitlab-omniauth-openid-connect', '~> 0.8.0', require: 'omniauth_openid_connect'
 gem 'omniauth-salesforce', '~> 1.0.5'
 gem 'omniauth-atlassian-oauth2', '~> 0.2.0'
 gem 'rack-oauth2', '~> 1.16.0'
@@ -101,7 +101,7 @@ gem 'graphql', '~> 1.11.8'
 # TODO: remove app/views/graphiql/rails/editors/show.html.erb when https://github.com/rmosolgo/graphiql-rails/pull/71 is released:
 # https://gitlab.com/gitlab-org/gitlab/issues/31747
 gem 'graphiql-rails', '~> 1.4.10'
-gem 'apollo_upload_server', '~> 2.0.2'
+gem 'apollo_upload_server', '~> 2.1.0'
 gem 'graphql-docs', '~> 1.6.0', group: [:development, :test]
 gem 'graphlient', '~> 0.4.0' # Used by BulkImport feature (group::import)
 
@@ -124,7 +124,7 @@ gem 'fog-aws', '~> 3.9'
 # Locked until fog-google resolves https://github.com/fog/fog-google/issues/421.
 # Also see config/initializers/fog_core_patch.rb.
 gem 'fog-core', '= 2.1.0'
-gem 'gitlab-fog-google', '~> 1.13', require: 'fog/google'
+gem 'fog-google', '~> 1.15', require: 'fog/google'
 gem 'fog-local', '~> 0.6'
 gem 'fog-openstack', '~> 1.0'
 gem 'fog-rackspace', '~> 0.1.1'
@@ -157,14 +157,14 @@ gem 'github-markup', '~> 1.7.0', require: 'github/markup'
 gem 'commonmarker', '~> 0.21'
 gem 'kramdown', '~> 2.3.1'
 gem 'RedCloth', '~> 4.3.2'
-gem 'gitlab-rdoc', '~> 6.3.2', require: 'rdoc' # We need this fork until rdoc releases a new version. See https://gitlab.com/gitlab-org/gitlab/-/issues/334695
+gem 'rdoc', '~> 6.3.2'
 gem 'org-ruby', '~> 0.9.12'
 gem 'creole', '~> 0.5.0'
 gem 'wikicloth', '0.8.1'
 gem 'asciidoctor', '~> 2.0.10'
 gem 'asciidoctor-include-ext', '~> 0.3.1', require: false
 gem 'asciidoctor-plantuml', '~> 0.0.12'
-gem 'asciidoctor-kroki', '~> 0.4.0', require: false
+gem 'asciidoctor-kroki', '~> 0.5.0', require: false
 gem 'rouge', '~> 3.26.0'
 gem 'truncato', '~> 0.7.11'
 gem 'bootstrap_form', '~> 4.2.0'
@@ -197,7 +197,7 @@ gem 'acts-as-taggable-on', '~> 7.0'
 # Background jobs
 gem 'sidekiq', '~> 5.2.7'
 gem 'sidekiq-cron', '~> 1.0'
-gem 'redis-namespace', '~> 1.7.0'
+gem 'redis-namespace', '~> 1.8.1'
 gem 'gitlab-sidekiq-fetcher', '0.5.6', require: 'sidekiq-reliable-fetch'
 
 # Cron Parser
@@ -223,13 +223,13 @@ gem 're2', '~> 1.2.0'
 gem 'version_sorter', '~> 2.2.4'
 
 # Export Ruby Regex to Javascript
-gem 'js_regex', '~> 3.4'
+gem 'js_regex', '~> 3.7'
 
 # User agent parsing
 gem 'device_detector'
 
 # Redis
-gem 'redis', '~> 4.0'
+gem 'redis', '~> 4.1.4'
 gem 'connection_pool', '~> 2.0'
 
 # Redis session store
@@ -258,7 +258,7 @@ gem 'asana', '~> 0.10.3'
 gem 'ruby-fogbugz', '~> 0.2.1'
 
 # Kubernetes integration
-gem 'kubeclient', '~> 4.9.1'
+gem 'kubeclient', '~> 4.9.2'
 
 # Sanitize user input
 gem 'sanitize', '~> 5.2.1'
@@ -286,16 +286,16 @@ gem 'gitlab_chronic_duration', '~> 0.10.6.2'
 gem 'rack-proxy', '~> 0.6.0'
 
 gem 'sassc-rails', '~> 2.1.0'
-gem 'autoprefixer-rails', '10.2.0.0'
+gem 'autoprefixer-rails', '10.2.5.1'
 gem 'terser', '1.0.2'
 
-gem 'addressable', '~> 2.7'
+gem 'addressable', '~> 2.8'
 gem 'gemojione', '~> 3.3'
 gem 'gon', '~> 6.4.0'
 gem 'request_store', '~> 1.5'
 gem 'base32', '~> 0.3.0'
 
-gem 'gitlab-license', '~> 1.5'
+gem 'gitlab-license', '~> 2.0'
 
 # Protect against bruteforcing
 gem 'rack-attack', '~> 6.3.0'
@@ -305,16 +305,12 @@ gem 'sentry-raven', '~> 3.1'
 
 # PostgreSQL query parsing
 #
-# We need this fork until https://github.com/pganalyze/pg_query/pull/212
-# and https://github.com/pganalyze/pg_query/pull/213 are
-# released. gitlab-labkit will need to be updated to use the pg_query
-# version.
-gem 'gitlab-pg_query', '~> 2.0.4', require: 'pg_query'
+gem 'pg_query', '~> 2.1'
 
 gem 'premailer-rails', '~> 1.10.3'
 
 # LabKit: Tracing and Correlation
-gem 'gitlab-labkit', '~> 0.18.0'
+gem 'gitlab-labkit', '~> 0.21.1'
 # Thrift is a dependency of gitlab-labkit, we want a version higher than 0.14.0
 # because of https://gitlab.com/gitlab-org/gitlab/-/issues/321900
 gem 'thrift', '>= 0.14.0'
@@ -335,17 +331,15 @@ gem 'peek', '~> 1.1'
 gem 'snowplow-tracker', '~> 0.6.1'
 
 # Metrics
-group :metrics do
-  gem 'method_source', '~> 1.0', require: false
-  gem 'webrick', '~> 1.6.1', require: false
+gem 'method_source', '~> 1.0', require: false
+gem 'webrick', '~> 1.6.1', require: false
+gem 'prometheus-client-mmap', '~> 0.12.0', require: 'prometheus/client'
 
-  # Prometheus
-  gem 'prometheus-client-mmap', '~> 0.12.0'
-end
+gem 'warning', '~> 1.2.0'
 
 group :development do
   gem 'lefthook', '~> 0.7.0', require: false
-  gem 'solargraph', '~> 0.42', require: false
+  gem 'solargraph', '~> 0.43', require: false
 
   gem 'letter_opener_web', '~> 1.4.0'
 
@@ -366,7 +360,7 @@ group :development, :test do
   gem 'awesome_print', require: false
 
   gem 'database_cleaner', '~> 1.7.0'
-  gem 'factory_bot_rails', '~> 6.1.0'
+  gem 'factory_bot_rails', '~> 6.2.0'
   gem 'rspec-rails', '~> 5.0.1'
 
   # Prevent occasions where minitest is not bundled in packaged versions of ruby (see #3826)
@@ -402,7 +396,7 @@ group :development, :test do
 end
 
 group :development, :test, :danger do
-  gem 'gitlab-dangerfiles', '~> 2.1.2', require: false
+  gem 'gitlab-dangerfiles', '~> 2.3.0', require: false
 end
 
 group :development, :test, :coverage do
@@ -480,7 +474,7 @@ end
 gem 'spamcheck', '~> 0.1.0'
 
 # Gitaly GRPC protocol definitions
-gem 'gitaly', '~> 14.0.0.pre.rc2'
+gem 'gitaly', '~> 14.2.0.pre.rc2'
 
 # KAS GRPC protocol definitions
 gem 'kas-grpc', '~> 0.0.2'
@@ -489,14 +483,14 @@ gem 'grpc', '~> 1.30.2'
 
 gem 'google-protobuf', '~> 3.17.1'
 
-gem 'toml-rb', '~> 1.0.0'
+gem 'toml-rb', '~> 2.0'
 
 # Feature toggles
 gem 'flipper', '~> 0.21.0'
 gem 'flipper-active_record', '~> 0.21.0'
 gem 'flipper-active_support_cache_store', '~> 0.21.0'
-gem 'unleash', '~> 0.1.5'
-gem 'gitlab-experiment', '~> 0.5.4'
+gem 'unleash', '~> 3.2.2'
+gem 'gitlab-experiment', '~> 0.6.4'
 
 # Structured logging
 gem 'lograge', '~> 0.5'
@@ -529,7 +523,7 @@ gem 'valid_email', '~> 0.1'
 
 # JSON
 gem 'json', '~> 2.3.0'
-gem 'json_schemer', '~> 0.2.12'
+gem 'json_schemer', '~> 0.2.18'
 gem 'oj', '~> 3.10.6'
 gem 'multi_json', '~> 1.14.1'
 gem 'yajl-ruby', '~> 1.4.1', require: 'yajl'
@@ -540,3 +534,5 @@ gem 'webauthn', '~> 2.3'
 gem 'ipaddress', '~> 0.8.3'
 
 gem 'parslet', '~> 1.8'
+
+gem 'sd_notify'
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock b/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
index 62222b563963..3c5286b5edd3 100644
--- a/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
+++ b/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
@@ -2,7 +2,6 @@ GEM
   remote: https://rubygems.org/
   specs:
     RedCloth (4.3.2)
-    abstract_type (0.0.7)
     acme-client (2.0.6)
       faraday (>= 0.17, < 2.0.0)
     actioncable (6.1.3.2)
@@ -69,26 +68,23 @@ GEM
       zeitwerk (~> 2.3)
     acts-as-taggable-on (7.0.0)
       activerecord (>= 5.0, < 6.2)
-    adamantium (0.2.0)
-      ice_nine (~> 0.11.0)
-      memoizable (~> 0.4.0)
-    addressable (2.7.0)
+    addressable (2.8.0)
       public_suffix (>= 2.0.2, < 5.0)
     aes_key_wrap (1.1.0)
     akismet (3.0.0)
     android_key_attestation (0.3.0)
-    apollo_upload_server (2.0.2)
+    apollo_upload_server (2.1.0)
+      actionpack (>= 4.2)
       graphql (>= 1.8)
-      rails (>= 4.2)
     asana (0.10.3)
       faraday (~> 1.0)
       faraday_middleware (~> 1.0)
       faraday_middleware-multi_json (~> 0.0)
       oauth2 (~> 1.4)
-    asciidoctor (2.0.12)
+    asciidoctor (2.0.15)
     asciidoctor-include-ext (0.3.1)
       asciidoctor (>= 1.5.6, < 3.0.0)
-    asciidoctor-kroki (0.4.0)
+    asciidoctor-kroki (0.5.0)
       asciidoctor (~> 2.0)
     asciidoctor-plantuml (0.0.12)
       asciidoctor (>= 1.5.6, < 3.0.0)
@@ -98,9 +94,9 @@ GEM
     attr_encrypted (3.1.0)
       encryptor (~> 3.0.0)
     attr_required (1.0.1)
-    autoprefixer-rails (10.2.0.0)
-      execjs
-    awesome_print (1.8.0)
+    autoprefixer-rails (10.2.5.1)
+      execjs (> 0)
+    awesome_print (1.9.2)
     awrence (1.1.1)
     aws-eventstream (1.1.0)
     aws-partitions (1.345.0)
@@ -176,7 +172,8 @@ GEM
       mime-types (>= 1.16)
       ssrf_filter (~> 1.0)
     cbor (0.5.9.6)
-    character_set (1.4.0)
+    character_set (1.4.1)
+      sorted_set (~> 1.0)
     charlock_holmes (0.7.7)
     chef-config (16.10.17)
       addressable
@@ -198,10 +195,7 @@ GEM
     colored2 (3.1.2)
     commonmarker (0.21.0)
       ruby-enum (~> 0.5)
-    concord (0.1.5)
-      adamantium (~> 0.2.0)
-      equalizer (~> 0.0.9)
-    concurrent-ruby (1.1.8)
+    concurrent-ruby (1.1.9)
     connection_pool (2.2.2)
     contracts (0.11.0)
     cork (0.3.0)
@@ -222,7 +216,7 @@ GEM
     css_parser (1.7.0)
       addressable
     daemons (1.3.1)
-    danger (8.2.3)
+    danger (8.3.1)
       claide (~> 1.0)
       claide-plugins (>= 0.9.2)
       colored2 (~> 3.1)
@@ -307,8 +301,8 @@ GEM
       dry-inflector (~> 0.1, >= 0.1.2)
       dry-logic (~> 1.0, >= 1.0.2)
     e2mmap (0.1.0)
-    ecma-re-validator (0.2.1)
-      regexp_parser (~> 1.2)
+    ecma-re-validator (0.3.0)
+      regexp_parser (~> 2.0)
     ed25519 (1.2.4)
     elasticsearch (6.8.2)
       elasticsearch-api (= 6.8.2)
@@ -329,21 +323,20 @@ GEM
       launchy (~> 2.1)
       mail (~> 2.7)
     encryptor (3.0.0)
-    equalizer (0.0.11)
     erubi (1.9.0)
     escape_utils (1.2.1)
     et-orbi (1.2.1)
       tzinfo
     eventmachine (1.2.7)
     excon (0.71.1)
-    execjs (2.7.0)
+    execjs (2.8.1)
     expression_parser (0.9.0)
     extended-markdown-filter (0.6.0)
       html-pipeline (~> 2.0)
-    factory_bot (6.1.0)
+    factory_bot (6.2.0)
       activesupport (>= 5.0.0)
-    factory_bot_rails (6.1.0)
-      factory_bot (~> 6.1.0)
+    factory_bot_rails (6.2.0)
+      factory_bot (~> 6.2.0)
       railties (>= 5.0.0)
     faraday (1.4.2)
       faraday-em_http (~> 1.0)
@@ -374,7 +367,7 @@ GEM
     fast_blank (1.0.0)
     fast_gettext (1.6.0)
     ffaker (2.10.0)
-    ffi (1.15.1)
+    ffi (1.15.3)
     ffi-compiler (1.0.1)
       ffi (>= 1.0.0)
       rake
@@ -405,6 +398,12 @@ GEM
       excon (~> 0.58)
       formatador (~> 0.2)
       mime-types
+    fog-google (1.15.0)
+      fog-core (<= 2.1.0)
+      fog-json (~> 1.2)
+      fog-xml (~> 0.1.0)
+      google-api-client (>= 0.44.2, < 0.51)
+      google-cloud-env (~> 1.2)
     fog-json (1.2.0)
       fog-core
       multi_json (~> 1.10)
@@ -447,7 +446,7 @@ GEM
       rails (>= 3.2.0)
     git (1.7.0)
       rchardet (~> 1.8)
-    gitaly (14.0.0.pre.rc2)
+    gitaly (14.2.0.pre.rc2)
       grpc (~> 1.0)
     github-markup (1.7.0)
     gitlab (4.16.1)
@@ -455,9 +454,10 @@ GEM
       terminal-table (~> 1.5, >= 1.5.1)
     gitlab-chronic (0.10.5)
       numerizer (~> 0.2)
-    gitlab-dangerfiles (2.1.2)
-      danger-gitlab
-    gitlab-experiment (0.5.4)
+    gitlab-dangerfiles (2.3.0)
+      danger (>= 8.3.1)
+      danger-gitlab (>= 8.0.0)
+    gitlab-experiment (0.6.4)
       activesupport (>= 3.0)
       request_store (>= 1.0)
       scientist (~> 1.6, >= 1.6.0)
@@ -468,32 +468,22 @@ GEM
       fog-json (~> 1.2.0)
       mime-types
       ms_rest_azure (~> 0.12.0)
-    gitlab-fog-google (1.13.0)
-      addressable (>= 2.7.0)
-      fog-core (<= 2.1.0)
-      fog-json (~> 1.2)
-      fog-xml (~> 0.1.0)
-      google-api-client (>= 0.44.2, < 0.51)
-      google-cloud-env (~> 1.2)
-    gitlab-labkit (0.18.0)
+    gitlab-labkit (0.21.1)
       actionpack (>= 5.0.0, < 7.0.0)
       activesupport (>= 5.0.0, < 7.0.0)
-      gitlab-pg_query (~> 2.0)
-      grpc (~> 1.19)
+      grpc (~> 1.30.2)
       jaeger-client (~> 1.1)
       opentracing (~> 0.4)
+      pg_query (~> 2.1)
       redis (> 3.0.0, < 5.0.0)
-    gitlab-license (1.5.0)
+    gitlab-license (2.0.0)
     gitlab-mail_room (0.0.9)
     gitlab-markup (1.7.1)
     gitlab-net-dns (0.9.1)
-    gitlab-omniauth-openid-connect (0.4.0)
+    gitlab-omniauth-openid-connect (0.8.0)
       addressable (~> 2.7)
       omniauth (~> 1.9)
       openid_connect (~> 1.2)
-    gitlab-pg_query (2.0.4)
-      google-protobuf (>= 3.17.1)
-    gitlab-rdoc (6.3.2)
     gitlab-sidekiq-fetcher (0.5.6)
       sidekiq (~> 5)
     gitlab-styles (6.2.0)
@@ -525,10 +515,10 @@ GEM
       retriable (>= 2.0, < 4.0)
       rexml
       signet (~> 0.12)
-    google-cloud-env (1.4.0)
+    google-cloud-env (1.5.0)
       faraday (>= 0.17.3, < 2.0)
-    google-protobuf (3.17.1)
-    googleapis-common-protos-types (1.0.6)
+    google-protobuf (3.17.3)
+    googleapis-common-protos-types (1.1.0)
       google-protobuf (~> 3.14)
     googleauth (0.14.0)
       faraday (>= 0.17.3, < 2.0)
@@ -608,10 +598,10 @@ GEM
       temple (>= 0.8.2)
       thor
       tilt
-    hana (1.3.6)
+    hana (1.3.7)
     hangouts-chat (0.0.5)
     hashdiff (1.0.1)
-    hashie (3.6.0)
+    hashie (4.1.0)
     hashie-forbidden_attributes (0.1.1)
       hashie (>= 3.0)
     health_check (3.0.0)
@@ -643,7 +633,6 @@ GEM
       concurrent-ruby (~> 1.0)
     i18n_data (0.8.0)
     icalendar (2.4.1)
-    ice_nine (0.11.2)
     invisible_captcha (1.1.0)
       rails (>= 4.2)
     ipaddress (0.8.3)
@@ -657,23 +646,22 @@ GEM
       multipart-post
       oauth (~> 0.5, >= 0.5.0)
     jmespath (1.4.0)
-    js_regex (3.4.0)
+    js_regex (3.7.0)
       character_set (~> 1.4)
-      regexp_parser (~> 1.5)
-      regexp_property_values (~> 0.3)
+      regexp_parser (~> 2.1)
+      regexp_property_values (~> 1.0)
     json (2.3.0)
     json-jwt (1.13.0)
       activesupport (>= 4.2)
       aes_key_wrap
       bindata
-    json_schemer (0.2.12)
-      ecma-re-validator (~> 0.2)
+    json_schemer (0.2.18)
+      ecma-re-validator (~> 0.3)
       hana (~> 1.3)
-      regexp_parser (~> 1.5)
+      regexp_parser (~> 2.0)
       uri_template (~> 0.7)
-    jsonpath (1.0.5)
+    jsonpath (1.1.0)
       multi_json
-      to_regexp (~> 0.2.1)
     jwt (2.1.0)
     kaminari (1.2.1)
       activesupport (>= 4.1.0)
@@ -695,7 +683,7 @@ GEM
       rexml
     kramdown-parser-gfm (1.1.0)
       kramdown (~> 2.0)
-    kubeclient (4.9.1)
+    kubeclient (4.9.2)
       http (>= 3.0, < 5.0)
       jsonpath (~> 1.0)
       recursive-open-struct (~> 1.1, >= 1.1.1)
@@ -723,7 +711,7 @@ GEM
       reverse_markdown (~> 1.0)
       rugged (>= 0.24, < 2.0)
       thor (>= 0.19, < 2.0)
-    listen (3.2.1)
+    listen (3.6.0)
       rb-fsevent (~> 0.10, >= 0.10.3)
       rb-inotify (~> 0.9, >= 0.9.10)
     locale (2.1.3)
@@ -733,7 +721,7 @@ GEM
       activesupport (>= 4)
       railties (>= 4)
       request_store (~> 1.0)
-    loofah (2.9.1)
+    loofah (2.11.0)
       crass (~> 1.0.2)
       nokogiri (>= 1.5.9)
     lru_redux (1.1.0)
@@ -745,8 +733,6 @@ GEM
       actionpack (>= 2.3)
       activerecord (>= 2.3)
     memoist (0.16.2)
-    memoizable (0.4.2)
-      thread_safe (~> 0.3, >= 0.3.1)
     memory_profiler (0.9.14)
     method_source (1.0.0)
     mime-types (3.3.1)
@@ -755,7 +741,7 @@ GEM
     mini_histogram (0.3.1)
     mini_magick (4.10.1)
     mini_mime (1.0.2)
-    mini_portile2 (2.5.0)
+    mini_portile2 (2.5.3)
     minitest (5.11.3)
     mixlib-cli (2.1.8)
     mixlib-config (3.0.9)
@@ -793,7 +779,7 @@ GEM
     netrc (0.11.0)
     nio4r (2.5.4)
     no_proxy_fix (0.1.2)
-    nokogiri (1.11.4)
+    nokogiri (1.11.7)
       mini_portile2 (~> 2.5.0)
       racc (~> 1.4)
     nokogumbo (2.0.2)
@@ -802,8 +788,8 @@ GEM
       nenv (~> 0.1)
       shellany (~> 0.0)
     numerizer (0.2.0)
-    oauth (0.5.4)
-    oauth2 (1.4.4)
+    oauth (0.5.6)
+    oauth2 (1.4.7)
       faraday (>= 0.8, < 2.0)
       jwt (>= 1.0, < 3.0)
       multi_json (~> 1.3)
@@ -826,8 +812,8 @@ GEM
       train-core
       wmi-lite (~> 1.0)
     oj (3.10.6)
-    omniauth (1.9.0)
-      hashie (>= 3.4.6, < 3.7.0)
+    omniauth (1.9.1)
+      hashie (>= 3.4.6)
       rack (>= 1.6.2, < 3)
     omniauth-atlassian-oauth2 (0.2.0)
       omniauth (>= 1.1.1)
@@ -837,8 +823,8 @@ GEM
     omniauth-authentiq (0.3.3)
       jwt (>= 1.5)
       omniauth-oauth2 (>= 1.5)
-    omniauth-azure-activedirectory-v2 (0.1.1)
-      omniauth-oauth2
+    omniauth-azure-activedirectory-v2 (1.0.0)
+      omniauth-oauth2 (~> 1.7)
     omniauth-azure-oauth2 (0.0.10)
       jwt (>= 1.0, < 3.0)
       omniauth (~> 1.0)
@@ -867,9 +853,9 @@ GEM
     omniauth-oauth (1.1.0)
       oauth
       omniauth (~> 1.0)
-    omniauth-oauth2 (1.6.0)
-      oauth2 (~> 1.1)
-      omniauth (~> 1.9)
+    omniauth-oauth2 (1.7.1)
+      oauth2 (~> 1.4)
+      omniauth (>= 1.9, < 3)
     omniauth-oauth2-generic (0.2.2)
       omniauth-oauth2 (~> 1.0)
     omniauth-salesforce (1.0.5)
@@ -915,6 +901,8 @@ GEM
     peek (1.1.0)
       railties (>= 4.0.0)
     pg (1.2.3)
+    pg_query (2.1.0)
+      google-protobuf (>= 3.17.1)
     plist (3.6.0)
     png_quantizator (0.2.1)
     po_to_json (1.0.1)
@@ -930,7 +918,6 @@ GEM
       coderay
       parser
       unparser
-    procto (0.0.3)
     prometheus-client-mmap (0.12.0)
     pry (0.13.1)
       coderay (~> 1.1)
@@ -1007,7 +994,7 @@ GEM
       rake (>= 0.8.7)
       thor (~> 1.0)
     rainbow (3.0.0)
-    rake (13.0.3)
+    rake (13.0.6)
     rb-fsevent (0.10.4)
     rb-inotify (0.10.1)
       ffi (~> 1.0)
@@ -1017,12 +1004,14 @@ GEM
       ffi (>= 1.0.6)
       msgpack (>= 0.4.3)
       optimist (>= 3.0.0)
+    rbtree (0.4.4)
     rchardet (1.8.0)
+    rdoc (6.3.2)
     re2 (1.2.0)
     recaptcha (4.13.1)
       json
-    recursive-open-struct (1.1.2)
-    redis (4.1.3)
+    recursive-open-struct (1.1.3)
+    redis (4.1.4)
     redis-actionpack (5.2.0)
       actionpack (>= 5, < 7)
       redis-rack (>= 2.1.0, < 3)
@@ -1030,7 +1019,7 @@ GEM
     redis-activesupport (5.2.0)
       activesupport (>= 3, < 7)
       redis-store (>= 1.3, < 2)
-    redis-namespace (1.7.0)
+    redis-namespace (1.8.1)
       redis (>= 3.0.4)
     redis-rack (2.1.2)
       rack (>= 2.0.8, < 3)
@@ -1041,8 +1030,8 @@ GEM
       redis-store (>= 1.2, < 2)
     redis-store (1.8.1)
       redis (>= 4, < 5)
-    regexp_parser (1.8.2)
-    regexp_property_values (0.3.5)
+    regexp_parser (2.1.1)
+    regexp_property_values (1.0.0)
     representable (3.0.4)
       declarative (< 0.1.0)
       declarative-option (< 0.2.0)
@@ -1080,7 +1069,7 @@ GEM
     rspec-mocks (3.10.2)
       diff-lcs (>= 1.2.0, < 2.0)
       rspec-support (~> 3.10.0)
-    rspec-parameterized (0.4.2)
+    rspec-parameterized (0.5.0)
       binding_ninja (>= 0.2.3)
       parser
       proc_to_ast
@@ -1171,6 +1160,7 @@ GEM
       addressable (>= 2.3.5)
       faraday (> 0.8, < 2.0)
     scientist (1.6.0)
+    sd_notify (0.1.1)
     securecompare (1.0.0)
     seed-fu (2.3.7)
       activerecord (>= 3.1)
@@ -1180,6 +1170,7 @@ GEM
       rubyzip (>= 1.2.2)
     sentry-raven (3.1.2)
       faraday (>= 1.0)
+    set (1.0.1)
     settingslogic (2.0.9)
     sexp_processor (4.15.1)
     shellany (0.0.1)
@@ -1204,12 +1195,12 @@ GEM
       simplecov-html (~> 0.11)
     simplecov-cobertura (1.3.1)
       simplecov (~> 0.8)
-    simplecov-html (0.12.2)
+    simplecov-html (0.12.3)
     sixarm_ruby_unaccent (1.2.0)
     slack-messenger (2.3.4)
     snowplow-tracker (0.6.1)
       contracts (~> 0.7, <= 0.11)
-    solargraph (0.42.3)
+    solargraph (0.43.0)
       backport (~> 1.2)
       benchmark
       bundler (>= 1.17.2)
@@ -1224,6 +1215,9 @@ GEM
       thor (~> 1.0)
       tilt (~> 2.0)
       yard (~> 0.9, >= 0.9.24)
+    sorted_set (1.0.3)
+      rbtree
+      set (~> 1.0)
     spamcheck (0.1.0)
       grpc (~> 1.0)
     spring (2.1.1)
@@ -1256,7 +1250,7 @@ GEM
       activesupport (>= 3)
       attr_required (>= 0.0.5)
       httpclient (>= 2.4)
-    sys-filesystem (1.1.6)
+    sys-filesystem (1.1.9)
       ffi
     sysexits (1.2.0)
     temple (0.8.2)
@@ -1273,16 +1267,14 @@ GEM
       eventmachine (~> 1.0, >= 1.0.4)
       rack (>= 1, < 3)
     thor (1.1.0)
-    thread_safe (0.3.6)
     thrift (0.14.0)
     tilt (2.0.10)
     timecop (0.9.1)
     timeliness (0.3.10)
     timfel-krb5-auth (0.8.3)
-    to_regexp (0.2.1)
     toml (0.2.0)
       parslet (~> 1.8.0)
-    toml-rb (1.0.0)
+    toml-rb (2.0.1)
       citrus (~> 3.0, > 3.0)
     tomlrb (1.3.0)
     tpm-key_attestation (0.9.0)
@@ -1325,16 +1317,11 @@ GEM
     unicode-display_width (1.7.0)
     unicode_utils (1.4.0)
     uniform_notifier (1.13.0)
-    unleash (0.1.5)
+    unleash (3.2.2)
       murmurhash3 (~> 0.1.6)
-    unparser (0.4.7)
-      abstract_type (~> 0.0.7)
-      adamantium (~> 0.2.0)
-      concord (~> 0.1.5)
+    unparser (0.6.0)
       diff-lcs (~> 1.3)
-      equalizer (~> 0.0.9)
-      parser (>= 2.6.5)
-      procto (~> 0.0.2)
+      parser (>= 3.0.0)
     uri_template (0.7.0)
     valid_email (0.1.3)
       activemodel
@@ -1352,6 +1339,7 @@ GEM
     vmstat (2.3.0)
     warden (1.2.8)
       rack (>= 2.0.6)
+    warning (1.2.0)
     webauthn (2.3.0)
       android_key_attestation (~> 0.3.0)
       awrence (~> 1.1)
@@ -1395,17 +1383,17 @@ DEPENDENCIES
   acme-client (~> 2.0, >= 2.0.6)
   activerecord-explain-analyze (~> 0.1)
   acts-as-taggable-on (~> 7.0)
-  addressable (~> 2.7)
+  addressable (~> 2.8)
   akismet (~> 3.0)
-  apollo_upload_server (~> 2.0.2)
+  apollo_upload_server (~> 2.1.0)
   asana (~> 0.10.3)
   asciidoctor (~> 2.0.10)
   asciidoctor-include-ext (~> 0.3.1)
-  asciidoctor-kroki (~> 0.4.0)
+  asciidoctor-kroki (~> 0.5.0)
   asciidoctor-plantuml (~> 0.0.12)
   atlassian-jwt (~> 0.2.0)
   attr_encrypted (~> 3.1.0)
-  autoprefixer-rails (= 10.2.0.0)
+  autoprefixer-rails (= 10.2.5.1)
   awesome_print
   aws-sdk-cloudformation (~> 1)
   aws-sdk-core (~> 3)
@@ -1455,7 +1443,7 @@ DEPENDENCIES
   email_spec (~> 2.2.0)
   erubi (~> 1.9.0)
   escape_utils (~> 1.1)
-  factory_bot_rails (~> 6.1.0)
+  factory_bot_rails (~> 6.2.0)
   faraday (~> 1.0)
   faraday_middleware-aws-sigv4 (~> 0.3.0)
   fast_blank
@@ -1467,6 +1455,7 @@ DEPENDENCIES
   fog-aliyun (~> 0.3)
   fog-aws (~> 3.9)
   fog-core (= 2.1.0)
+  fog-google (~> 1.15)
   fog-local (~> 0.6)
   fog-openstack (~> 1.0)
   fog-rackspace (~> 0.1.1)
@@ -1476,21 +1465,18 @@ DEPENDENCIES
   gettext (~> 3.3)
   gettext_i18n_rails (~> 1.8.0)
   gettext_i18n_rails_js (~> 1.3)
-  gitaly (~> 14.0.0.pre.rc2)
+  gitaly (~> 14.2.0.pre.rc2)
   github-markup (~> 1.7.0)
   gitlab-chronic (~> 0.10.5)
-  gitlab-dangerfiles (~> 2.1.2)
-  gitlab-experiment (~> 0.5.4)
+  gitlab-dangerfiles (~> 2.3.0)
+  gitlab-experiment (~> 0.6.4)
   gitlab-fog-azure-rm (~> 1.1.1)
-  gitlab-fog-google (~> 1.13)
-  gitlab-labkit (~> 0.18.0)
-  gitlab-license (~> 1.5)
+  gitlab-labkit (~> 0.21.1)
+  gitlab-license (~> 2.0)
   gitlab-mail_room (~> 0.0.9)
   gitlab-markup (~> 1.7.1)
   gitlab-net-dns (~> 0.9.1)
-  gitlab-omniauth-openid-connect (~> 0.4.0)
-  gitlab-pg_query (~> 2.0.4)
-  gitlab-rdoc (~> 6.3.2)
+  gitlab-omniauth-openid-connect (~> 0.8.0)
   gitlab-sidekiq-fetcher (= 0.5.6)
   gitlab-styles (~> 6.2.0)
   gitlab_chronic_duration (~> 0.10.6.2)
@@ -1523,15 +1509,15 @@ DEPENDENCIES
   invisible_captcha (~> 1.1.0)
   ipaddress (~> 0.8.3)
   jira-ruby (~> 2.1.4)
-  js_regex (~> 3.4)
+  js_regex (~> 3.7)
   json (~> 2.3.0)
-  json_schemer (~> 0.2.12)
+  json_schemer (~> 0.2.18)
   jwt (~> 2.1.0)
   kaminari (~> 1.0)
   kas-grpc (~> 0.0.2)
   knapsack (~> 1.21.1)
   kramdown (~> 2.3.1)
-  kubeclient (~> 4.9.1)
+  kubeclient (~> 4.9.2)
   lefthook (~> 0.7.0)
   letter_opener_web (~> 1.4.0)
   license_finder (~> 6.0)
@@ -1559,7 +1545,7 @@ DEPENDENCIES
   omniauth-atlassian-oauth2 (~> 0.2.0)
   omniauth-auth0 (~> 2.0.0)
   omniauth-authentiq (~> 0.3.3)
-  omniauth-azure-activedirectory-v2 (~> 0.1)
+  omniauth-azure-activedirectory-v2 (~> 1.0)
   omniauth-azure-oauth2 (~> 0.0.9)
   omniauth-cas3 (~> 1.1.4)
   omniauth-facebook (~> 4.0.0)
@@ -1578,6 +1564,7 @@ DEPENDENCIES
   parslet (~> 1.8)
   peek (~> 1.1)
   pg (~> 1.1)
+  pg_query (~> 2.1)
   png_quantizator (~> 0.2.1)
   premailer-rails (~> 1.10.3)
   prometheus-client-mmap (~> 0.12.0)
@@ -1598,10 +1585,11 @@ DEPENDENCIES
   rainbow (~> 3.0)
   rblineprof (~> 0.3.6)
   rbtrace (~> 0.4)
+  rdoc (~> 6.3.2)
   re2 (~> 1.2.0)
   recaptcha (~> 4.11)
-  redis (~> 4.0)
-  redis-namespace (~> 1.7.0)
+  redis (~> 4.1.4)
+  redis-namespace (~> 1.8.1)
   redis-rails (~> 5.0.2)
   request_store (~> 1.5)
   responders (~> 3.0)
@@ -1624,6 +1612,7 @@ DEPENDENCIES
   rugged (~> 1.1)
   sanitize (~> 5.2.1)
   sassc-rails (~> 2.1.0)
+  sd_notify
   seed-fu (~> 2.3.7)
   selenium-webdriver (~> 3.142)
   sentry-raven (~> 3.1)
@@ -1636,7 +1625,7 @@ DEPENDENCIES
   simplecov-cobertura (~> 1.3.1)
   slack-messenger (~> 2.3.4)
   snowplow-tracker (~> 0.6.1)
-  solargraph (~> 0.42)
+  solargraph (~> 0.43)
   spamcheck (~> 0.1.0)
   spring (~> 2.1.0)
   spring-commands-rspec (~> 1.0.4)
@@ -1651,15 +1640,16 @@ DEPENDENCIES
   thin (~> 1.8.0)
   thrift (>= 0.14.0)
   timecop (~> 0.9.1)
-  toml-rb (~> 1.0.0)
+  toml-rb (~> 2.0)
   truncato (~> 0.7.11)
   u2f (~> 0.2.1)
   unf (~> 0.1.4)
-  unleash (~> 0.1.5)
+  unleash (~> 3.2.2)
   valid_email (~> 0.1)
   validates_hostname (~> 1.0.11)
   version_sorter (~> 2.2.4)
   vmstat (~> 2.3.0)
+  warning (~> 1.2.0)
   webauthn (~> 2.3)
   webmock (~> 3.9.1)
   webrick (~> 1.6.1)
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix b/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
index 215f1467fed9..eb4a7467d50b 100644
--- a/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
+++ b/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
@@ -1,14 +1,4 @@
 {
-  abstract_type = {
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "09330cmhrc2wmfhdj9zzg82sv6cdhm3qgdkva5ni5xfjril2pf14";
-      type = "gem";
-    };
-    version = "0.0.7";
-  };
   acme-client = {
     dependencies = ["faraday"];
     groups = ["default"];
@@ -163,27 +153,16 @@
     };
     version = "7.0.0";
   };
-  adamantium = {
-    dependencies = ["ice_nine" "memoizable"];
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0165r2ikgfwv2rm8dzyijkp74fvg0ni72hpdx8ay2v7cj08dqyak";
-      type = "gem";
-    };
-    version = "0.2.0";
-  };
   addressable = {
     dependencies = ["public_suffix"];
-    groups = ["default" "development" "test"];
+    groups = ["danger" "default" "development" "test"];
     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"];
@@ -216,15 +195,15 @@
     version = "0.3.0";
   };
   apollo_upload_server = {
-    dependencies = ["graphql" "rails"];
+    dependencies = ["actionpack" "graphql"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xk54h9mmzhrbgbmk33v38pavb8w6421mx2yrgsdarkfl9fr90y3";
+      sha256 = "0klhppx4vjfdvgz12wb63bcxy5ymk0mp8wkh01fpgjn2l3fwkwz5";
       type = "gem";
     };
-    version = "2.0.2";
+    version = "2.1.0";
   };
   asana = {
     dependencies = ["faraday" "faraday_middleware" "faraday_middleware-multi_json" "oauth2"];
@@ -242,10 +221,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1gjk9v83vw0pz4x0xqqnw231z9sgscm6vnacjw7hy5njkw8fskj9";
+      sha256 = "0k3lijm4dmiz977bfmpclk5glj5jwv7bidamwwwywm60ywb0n4n4";
       type = "gem";
     };
-    version = "2.0.12";
+    version = "2.0.15";
   };
   asciidoctor-include-ext = {
     dependencies = ["asciidoctor"];
@@ -264,10 +243,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "13gx22xld4rbxxirnsxyrsajy9v666r8a4ngms71611af5afgk6w";
+      sha256 = "04jzsicaynwyy4l3w69x1qqww4av57army5xiapvv2b6g5s8nb32";
       type = "gem";
     };
-    version = "0.4.0";
+    version = "0.5.0";
   };
   asciidoctor-plantuml = {
     dependencies = ["asciidoctor"];
@@ -328,20 +307,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0p9j0sxw0nm27x7wj0n8a9zikwb0v8b6varr601rcgymsjj2v7wy";
+      sha256 = "1vlqwy2qkp39ibp7llj7ps53nvxav29c2yl451v1qdhj25zxc49p";
       type = "gem";
     };
-    version = "10.2.0.0";
+    version = "10.2.5.1";
   };
   awesome_print = {
     groups = ["development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "14arh1ixfsd6j5md0agyzvksm5svfkvchb90fp32nn7y3avcmc2h";
+      sha256 = "0vkq6c8y2jvaw03ynds5vjzl1v9wg608cimkd3bidzxc0jvk56z9";
       type = "gem";
     };
-    version = "1.8.0";
+    version = "1.9.2";
   };
   awrence = {
     groups = ["default"];
@@ -694,14 +673,15 @@
     version = "0.5.9.6";
   };
   character_set = {
+    dependencies = ["sorted_set"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0affq9n77vwy897ri2zhmfinfagf37hcwwimrccy1bcxan9mj3h3";
+      sha256 = "0ql0kxnpbblggyn8hx511pghpqf8xv3ng2kbybwwdi11bg1il6zp";
       type = "gem";
     };
-    version = "1.4.0";
+    version = "1.4.1";
   };
   charlock_holmes = {
     groups = ["default"];
@@ -820,26 +800,15 @@
     };
     version = "0.21.0";
   };
-  concord = {
-    dependencies = ["adamantium" "equalizer"];
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1b6cdn0fg4n9gzbdr7zyf4jq40y6h0c0g9cra7wk9hhmsylk91bg";
-      type = "gem";
-    };
-    version = "0.1.5";
-  };
   concurrent-ruby = {
     groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0mr23wq0szj52xnj0zcn1k0c7j4v79wlwbijkpfcscqww3l6jlg3";
+      sha256 = "0nwad3211p7yv9sda31jmbyw6sdafzmdi2i2niaz6f0wk5nq9h0f";
       type = "gem";
     };
-    version = "1.1.8";
+    version = "1.1.9";
   };
   connection_pool = {
     groups = ["default"];
@@ -963,10 +932,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1nv02gq90nngnfa6hgiyyk60a31xfayk67va98k41gy9arhdkz5g";
+      sha256 = "12nmycrlwr8ca2s0fx76k81gjw12iz15k1n0qanszv5d4l1ykj2l";
       type = "gem";
     };
-    version = "8.2.3";
+    version = "8.3.1";
   };
   danger-gitlab = {
     dependencies = ["danger" "gitlab"];
@@ -1294,10 +1263,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hjnd6phkhwmd846hqkzbiiyf7n6v9s85agizkxrkha1z0g3q5fc";
+      sha256 = "1mz0nsl2093jd94nygw8qs13rwfwl1ax76xz3ypinr5hqbc5pab6";
       type = "gem";
     };
-    version = "0.2.1";
+    version = "0.3.0";
   };
   ed25519 = {
     groups = ["ed25519"];
@@ -1394,16 +1363,6 @@
     };
     version = "3.0.0";
   };
-  equalizer = {
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1kjmx3fygx8njxfrwcmn7clfhjhb6bvv3scy2lyyi0wqyi3brra4";
-      type = "gem";
-    };
-    version = "0.0.11";
-  };
   erubi = {
     groups = ["default" "development" "test"];
     platforms = [];
@@ -1460,10 +1419,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1yz55sf2nd3l666ms6xr18sm2aggcvmb8qr3v53lr4rir32y1yp1";
+      sha256 = "121h6af4i6wr3wxvv84y53jcyw2sk71j5wsncm6wq6yqrwcrk4vd";
       type = "gem";
     };
-    version = "2.7.0";
+    version = "2.8.1";
   };
   expression_parser = {
     groups = ["default"];
@@ -1492,10 +1451,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "11ij9s4hasy963qjqbrrf0m8lm9m9pxkh2vf4wrnafa6gw6r9qk8";
+      sha256 = "04vxmjr200akcil9fqxc9ghbb9q0lyrh2q03xxncycd5vln910fi";
       type = "gem";
     };
-    version = "6.1.0";
+    version = "6.2.0";
   };
   factory_bot_rails = {
     dependencies = ["factory_bot" "railties"];
@@ -1503,10 +1462,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hfxkq6rarg0b8xfzqg200xyj176sn1xplqqqcrz5drhkqp30m14";
+      sha256 = "18fhcihkc074gk62iwqgbdgc3ymim4fm0b4p3ipffy5hcsb9d2r7";
       type = "gem";
     };
-    version = "6.1.0";
+    version = "6.2.0";
   };
   faraday = {
     dependencies = ["faraday-em_http" "faraday-em_synchrony" "faraday-excon" "faraday-net_http" "faraday-net_http_persistent" "multipart-post" "ruby2_keywords"];
@@ -1659,10 +1618,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15nn2v70rql15vb0pm9cg0f3xsaslwjkv6xgz0k5jh48idmfw9fi";
+      sha256 = "1wgvaclp4h9y8zkrgz8p2hqkrgr4j7kz0366mik0970w532cbmcq";
       type = "gem";
     };
-    version = "1.15.1";
+    version = "1.15.3";
   };
   ffi-compiler = {
     dependencies = ["ffi" "rake"];
@@ -1762,6 +1721,17 @@
     };
     version = "2.1.0";
   };
+  fog-google = {
+    dependencies = ["fog-core" "fog-json" "fog-xml" "google-api-client" "google-cloud-env"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "01mky1gqgg8vijr2avyspc9l4asjzkr5xc31x4c4ff7jzf00g11g";
+      type = "gem";
+    };
+    version = "1.15.0";
+  };
   fog-json = {
     dependencies = ["fog-core" "multi_json"];
     groups = ["default"];
@@ -1941,10 +1911,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1wpp1zdwjmglsycliag6v9844jnhpvkblry9i14a16gspqdsfam4";
+      sha256 = "0y4zsl1s7ysb1z6piczfkscbjnx7hchda3jsdam42dmi40z654dp";
       type = "gem";
     };
-    version = "14.0.0.pre.rc2";
+    version = "14.2.0.pre.rc2";
   };
   github-markup = {
     groups = ["default"];
@@ -1979,15 +1949,15 @@
     version = "0.10.5";
   };
   gitlab-dangerfiles = {
-    dependencies = ["danger-gitlab"];
+    dependencies = ["danger" "danger-gitlab"];
     groups = ["danger" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "09vcxzbsvgis47ifgd82rjn12587qcw6q2q0n0y3cg5snag6fqdb";
+      sha256 = "07ckvf7vk0494s70ql7zp3ckn8q70mhwa0143hj6bjh0bpgmgsnw";
       type = "gem";
     };
-    version = "2.1.2";
+    version = "2.3.0";
   };
   gitlab-experiment = {
     dependencies = ["activesupport" "request_store" "scientist"];
@@ -1995,10 +1965,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18xc1785b9h0vwlqgi2m0mhjim6jaqqpi8nnl4hh8mbjd4d6kf1j";
+      sha256 = "07b7fb8vkpwjf668mircz6lavr8yp5xc7f7yp1v1h7izhzhn7m8g";
       type = "gem";
     };
-    version = "0.5.4";
+    version = "0.6.4";
   };
   gitlab-fog-azure-rm = {
     dependencies = ["azure-storage-blob" "azure-storage-common" "fog-core" "fog-json" "mime-types" "ms_rest_azure"];
@@ -2011,37 +1981,26 @@
     };
     version = "1.1.1";
   };
-  gitlab-fog-google = {
-    dependencies = ["addressable" "fog-core" "fog-json" "fog-xml" "google-api-client" "google-cloud-env"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0ybmiclsdpkp1l91z6d4qkhha6cik6kgf4kzs3a2c26mhnnj6gxy";
-      type = "gem";
-    };
-    version = "1.13.0";
-  };
   gitlab-labkit = {
-    dependencies = ["actionpack" "activesupport" "gitlab-pg_query" "grpc" "jaeger-client" "opentracing" "redis"];
+    dependencies = ["actionpack" "activesupport" "grpc" "jaeger-client" "opentracing" "pg_query" "redis"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1d18fx54dq2a2ngdix3dchbk4xpxfpqz1rkr2hi1kvi6idq4k6qp";
+      sha256 = "09xci7jw5sckagnwfjlglz4cywylrf16r83f82asnnngvxadvvmq";
       type = "gem";
     };
-    version = "0.18.0";
+    version = "0.21.1";
   };
   gitlab-license = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "07qcbdrxqwbri0kgiamrvx9y7cii3smf94g6scgn2l369m6955x1";
+      sha256 = "01hddqd3167360m1h5lnrgxd0gmwhaisb9qz89rprhi5ckzyx2gz";
       type = "gem";
     };
-    version = "1.5.0";
+    version = "2.0.0";
   };
   gitlab-mail_room = {
     groups = ["default"];
@@ -2079,31 +2038,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "16vbdyp2ml2i59xnpk0w5grh441kxcdpr639yzv69brjnrf3h9di";
-      type = "gem";
-    };
-    version = "0.4.0";
-  };
-  gitlab-pg_query = {
-    dependencies = ["google-protobuf"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "17whjbrmyh1wn3badapa1xhdcjpdrxgn7vz705fpi1p9r8q0a2vj";
-      type = "gem";
-    };
-    version = "2.0.4";
-  };
-  gitlab-rdoc = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "04vdirkdj42as3rgj6qlgz5ly5vg45i9k184bmf5z556i3b1fyf9";
+      sha256 = "0bzblypm1d5bxn8a15l90vx4ad099i5nhnislr7fhs2axy3ssfr1";
       type = "gem";
     };
-    version = "6.3.2";
+    version = "0.8.0";
   };
   gitlab-sidekiq-fetcher = {
     dependencies = ["sidekiq"];
@@ -2188,20 +2126,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bjgxyvagy6hjj8yg7fqq24rwdjxb6hx7fdd1bmn4mwd846lci2i";
+      sha256 = "0ajc3w4wqg46ywcbmb5fz1q6gfm6g7874s9h31i1r038kz2bzfag";
       type = "gem";
     };
-    version = "1.4.0";
+    version = "1.5.0";
   };
   google-protobuf = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "00jm6b5gpzj99cngha3g70s0xnr0c58si7kx3g7jiaj9ipp26qj5";
+      sha256 = "0vmll4nnkha3vsqj1g76pwni6x7mp2i81pka4wdwq8qfhn210108";
       type = "gem";
     };
-    version = "3.17.1";
+    version = "3.17.3";
   };
   googleapis-common-protos-types = {
     dependencies = ["google-protobuf"];
@@ -2209,10 +2147,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0074jk8fdl5rh7hfgx00n17sg493xrylkjkslx2d7cj5mk6hwn7d";
+      sha256 = "1949w1lcd3iyiy4n6zgnrhdp78k9khbh2pbkrpkv263bbpmw8llg";
       type = "gem";
     };
-    version = "1.0.6";
+    version = "1.1.0";
   };
   googleauth = {
     dependencies = ["faraday" "jwt" "memoist" "multi_json" "os" "signet"];
@@ -2426,10 +2364,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ij5clmkfl5ij9wdzr62b0w7j2qg7pb65mhvxa6mf1kv1xp6l585";
+      sha256 = "03cvrv2wl25j9n4n509hjvqnmwa60k92j741b64a1zjisr1dn9al";
       type = "gem";
     };
-    version = "1.3.6";
+    version = "1.3.7";
   };
   hangouts-chat = {
     groups = ["default"];
@@ -2456,10 +2394,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "13bdzfp25c8k51ayzxqkbzag3wj5gc1jd8h7d985nsq6pn57g5xh";
+      sha256 = "02bsx12ihl78x0vdm37byp78jjw2ff6035y7rrmbd90qxjwxr43q";
       type = "gem";
     };
-    version = "3.6.0";
+    version = "4.1.0";
   };
   hashie-forbidden_attributes = {
     dependencies = ["hashie"];
@@ -2631,16 +2569,6 @@
     };
     version = "2.4.1";
   };
-  ice_nine = {
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1nv35qg1rps9fsis28hz2cq2fx1i96795f91q4nmkm934xynll2x";
-      type = "gem";
-    };
-    version = "0.11.2";
-  };
   invisible_captcha = {
     dependencies = ["rails"];
     groups = ["default"];
@@ -2710,10 +2638,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1zia0pxa2lrybwv51xzhj26rf3gx8zwg1cghbdk640rbsyr8sf9a";
+      sha256 = "0xarq1fqjaz6v139zzy4nwjg8c253fkvifn345gilva1qilaqgxi";
       type = "gem";
     };
-    version = "3.4.0";
+    version = "3.7.0";
   };
   json = {
     groups = ["default"];
@@ -2742,21 +2670,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "194898b70ylkjqg7vhy4lps4a5g31n7xxb3vfacwfs40azkn83zm";
+      sha256 = "1rkb7gz819g82n3xshb5g8kgv1nvgwg1lm2fk7715pggzcgc4qik";
       type = "gem";
     };
-    version = "0.2.12";
+    version = "0.2.18";
   };
   jsonpath = {
-    dependencies = ["multi_json" "to_regexp"];
+    dependencies = ["multi_json"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1bwgk17dwraaf6grv6v99xjjy3ds1sqsf1v49fnlyfjkniy6ap8q";
+      sha256 = "12hjsr0plnx6v0bh1rhhimfi7z3rqm19xb47ybdkc1h9yhynnmdq";
       type = "gem";
     };
-    version = "1.0.5";
+    version = "1.1.0";
   };
   jwt = {
     groups = ["default"];
@@ -2861,10 +2789,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "07ygwvdrdhqmvqj3g7hsrgwimr1xcphk9d6qjdxr0iynqaahn0l7";
+      sha256 = "0kld1w4706dfd6jx3snsi4h2pvqfazz1fni5al2ln60s3b8sybq4";
       type = "gem";
     };
-    version = "4.9.1";
+    version = "4.9.2";
   };
   launchy = {
     dependencies = ["addressable"];
@@ -2947,10 +2875,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1w923wmdi3gyiky0asqdw5dnh3gcjs2xyn82ajvjfjwh6sn0clgi";
+      sha256 = "1dq7yd4s9accpjiq0f92sgikw3whc5wnjn065laggkpqcqgx75gh";
       type = "gem";
     };
-    version = "3.2.1";
+    version = "3.6.0";
   };
   locale = {
     groups = ["default" "development"];
@@ -2989,10 +2917,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1w9mbii8515p28xd4k72f3ab2g6xiyq15497ys5r8jn6m355lgi7";
+      sha256 = "0pwik3x5fa92g6hbv4imz3n46nlkzgj69pkgql22ppmcr36knk6m";
       type = "gem";
     };
-    version = "2.9.1";
+    version = "2.11.0";
   };
   lru_redux = {
     groups = ["default"];
@@ -3056,17 +2984,6 @@
     };
     version = "0.16.2";
   };
-  memoizable = {
-    dependencies = ["thread_safe"];
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0v42bvghsvfpzybfazl14qhkrjvx0xlmxz0wwqc960ga1wld5x5c";
-      type = "gem";
-    };
-    version = "0.4.2";
-  };
   memory_profiler = {
     groups = ["default"];
     platforms = [];
@@ -3147,10 +3064,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hdbpmamx8js53yk3h8cqy12kgv6ca06k0c9n3pxh6b6cjfs19x7";
+      sha256 = "1ad0mli9rc0f17zw4ibp24dbj1y39zkykijsjmnzl4gwpg5s0j6k";
       type = "gem";
     };
-    version = "2.5.0";
+    version = "2.5.3";
   };
   minitest = {
     groups = ["development" "test"];
@@ -3406,10 +3323,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "05rfzi8wksps5pgaavq1n1vkngsrjhqz8rcd1qdb52hnpg9q9p9b";
+      sha256 = "1vrn31385ix5k9b0yalnlzv360isv6dincbcvi8psllnwz4sjxj9";
       type = "gem";
     };
-    version = "1.11.4";
+    version = "1.11.7";
   };
   nokogumbo = {
     dependencies = ["nokogiri"];
@@ -3448,10 +3365,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1zszdg8q1b135z7l7crjj234k4j0m347hywp5kj6zsq7q78pw09y";
+      sha256 = "1zwd6v39yqfdrpg1p3d9jvzs9ljg55ana2p06m0l7qn5w0lgx1a0";
       type = "gem";
     };
-    version = "0.5.4";
+    version = "0.5.6";
   };
   oauth2 = {
     dependencies = ["faraday" "jwt" "multi_json" "multi_xml" "rack"];
@@ -3459,10 +3376,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1bhakjh30vi8scqwnhd1c9qkac9r8hh2lr0dbs5ynwmrc5djxknm";
+      sha256 = "1q6q2kgpxmygk8kmxqn54zkw8cs57a34zzz5cxpsh1bj3ag06rk3";
       type = "gem";
     };
-    version = "1.4.4";
+    version = "1.4.7";
   };
   octokit = {
     dependencies = ["faraday" "sawyer"];
@@ -3502,10 +3419,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1p16h1rp8by05k8gfw17xjhgwp60dk8qmj1xalv1n23kmxfsxb1x";
+      sha256 = "002vi9gwamkmhf0dsj2im1d47xw2n1jfhnzl18shxf3ampkqfmyz";
       type = "gem";
     };
-    version = "1.9.0";
+    version = "1.9.1";
   };
   omniauth-atlassian-oauth2 = {
     dependencies = ["omniauth" "omniauth-oauth2"];
@@ -3546,10 +3463,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bgdyzjh7x9knkzaa6bl9f5fvh05nd0gqxrqassww0vqh5qgyfpy";
+      sha256 = "1pv9pxff3g4cva76zzsx8fibb08c9av51lxksh73mbl9rrxdgkgd";
       type = "gem";
     };
-    version = "0.1.1";
+    version = "1.0.0";
   };
   omniauth-azure-oauth2 = {
     dependencies = ["jwt" "omniauth" "omniauth-oauth2"];
@@ -3656,10 +3573,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "11mi36l9d97r77q99jnafdc1yaa0a9wahhpp7dj7ank8q52g7g79";
+      sha256 = "10fr2b58sp7l6nfdvxpbi67374hkrvsf507cvda89jjs0jacy319";
       type = "gem";
     };
-    version = "1.6.0";
+    version = "1.7.1";
   };
   omniauth-oauth2-generic = {
     dependencies = ["omniauth-oauth2"];
@@ -3882,6 +3799,17 @@
     };
     version = "1.2.3";
   };
+  pg_query = {
+    dependencies = ["google-protobuf"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "12dibsqndfnckc24yryy8v467rxp7p80jx21jhm8z7swp8118jhx";
+      type = "gem";
+    };
+    version = "2.1.0";
+  };
   plist = {
     groups = ["default"];
     platforms = [];
@@ -3946,16 +3874,6 @@
     };
     version = "0.1.0";
   };
-  procto = {
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "13imvg1x50rz3r0yyfbhxwv72lbf7q28qx9l9nfbb91h2n9ch58c";
-      type = "gem";
-    };
-    version = "0.0.3";
-  };
   prometheus-client-mmap = {
     groups = ["metrics"];
     platforms = [];
@@ -4254,10 +4172,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1iik52mf9ky4cgs38fp2m8r6skdkq1yz23vh18lk95fhbcxb6a67";
+      sha256 = "15whn7p9nrkxangbs9hh75q585yfn66lv0v2mhj6q6dl6x8bzr2w";
       type = "gem";
     };
-    version = "13.0.3";
+    version = "13.0.6";
   };
   rb-fsevent = {
     groups = ["default" "development" "test"];
@@ -4306,6 +4224,16 @@
     };
     version = "0.4.14";
   };
+  rbtree = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0p0x2sxm0ar4ywsxp94yh3glawf83bdikdkccpc8zzln5987l9y1";
+      type = "gem";
+    };
+    version = "0.4.4";
+  };
   rchardet = {
     groups = ["default" "development"];
     platforms = [];
@@ -4316,6 +4244,16 @@
     };
     version = "1.8.0";
   };
+  rdoc = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "19h5g3g7k7wggy9amfx8b3m09ss7wrakbrva2xnda9sw4chagx6y";
+      type = "gem";
+    };
+    version = "6.3.2";
+  };
   re2 = {
     groups = ["default"];
     platforms = [];
@@ -4342,10 +4280,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12manni00r5qn50z8w316pnm8mqn858i5kj6s9sr9sfl8qx8ws5g";
+      sha256 = "0nnyr6qsqrcszf6c10n4zfjs8h9n67zvsmx6mp8brkigamr8llx3";
       type = "gem";
     };
-    version = "1.1.2";
+    version = "1.1.3";
   };
   RedCloth = {
     groups = ["default"];
@@ -4362,10 +4300,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "08v2y91q1pmv12g9zsvwj66w3s8j9d82yrmxgyv4y4gz380j3wyh";
+      sha256 = "0j0p82yb2a0z2sv38jq9xdzs0kvbslpyfdxky9f3znpy3igxj6yh";
       type = "gem";
     };
-    version = "4.1.3";
+    version = "4.1.4";
   };
   redis-actionpack = {
     dependencies = ["actionpack" "redis-rack" "redis-store"];
@@ -4395,10 +4333,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1wb4x8bg2d0plv3izpmi1sd7nd1ix8nxw7b43hd9bac08f4w62mx";
+      sha256 = "0k65fr7f8ciq7d9nwc5ziw1d32zsxilgmqdlj3359rz5jgb0f5y8";
       type = "gem";
     };
-    version = "1.7.0";
+    version = "1.8.1";
   };
   redis-rack = {
     dependencies = ["rack" "redis-store"];
@@ -4438,20 +4376,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0x4s82lgf0l71y3xc9gp4qxkrgx1kv8f6avdqd68l46ijbyvicdm";
+      sha256 = "0vg7imjnfcqjx7kw94ccj5r78j4g190cqzi1i59sh4a0l940b9cr";
       type = "gem";
     };
-    version = "1.8.2";
+    version = "2.1.1";
   };
   regexp_property_values = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1iwapp91sbvafqp12cq834rgy1ydrmrsh5w1a0wfsk4scdxcdwlb";
+      sha256 = "03q8dn4fg51mfk5d4sfcr0f9hqbs42ghafi76k9nc7ms1gf9j90n";
       type = "gem";
     };
-    version = "0.3.5";
+    version = "1.0.0";
   };
   representable = {
     dependencies = ["declarative" "declarative-option" "uber"];
@@ -4626,14 +4564,14 @@
   };
   rspec-parameterized = {
     dependencies = ["binding_ninja" "parser" "proc_to_ast" "rspec" "unparser"];
-    groups = ["development" "test"];
+    groups = ["test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1c0892jbaznnldk1wi24qxm70g4zhw2idqx516rhgdzgd7yh5j31";
+      sha256 = "0m142sp884z3k3xd42ngf0n8a83hvcihcj1n66qyxlgdnl3sqqzi";
       type = "gem";
     };
-    version = "0.4.2";
+    version = "0.5.0";
   };
   rspec-rails = {
     dependencies = ["actionpack" "activesupport" "railties" "rspec-core" "rspec-expectations" "rspec-mocks" "rspec-support"];
@@ -4987,6 +4925,16 @@
     };
     version = "1.6.0";
   };
+  sd_notify = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0c9imnjbakx25r2n7widfp00s19ndzmmwax761mx5vbwm9nariyb";
+      type = "gem";
+    };
+    version = "0.1.1";
+  };
   securecompare = {
     groups = ["default"];
     platforms = [];
@@ -5030,6 +4978,16 @@
     };
     version = "3.1.2";
   };
+  set = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1p8raic4vlif3r4crjm3x32hmkpikjd456c126hrv3kkyj6zwsfi";
+      type = "gem";
+    };
+    version = "1.0.1";
+  };
   settingslogic = {
     groups = ["default"];
     platforms = [];
@@ -5137,14 +5095,14 @@
     version = "1.3.1";
   };
   simplecov-html = {
-    groups = ["default" "development" "test"];
+    groups = ["coverage" "default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1v7b4mf7njw8kv4ghl4q7mwz3q0flbld7v8blp4m4m3n3aq11bn9";
+      sha256 = "0yx01bxa8pbf9ip4hagqkp5m0mqfnwnw2xk8kjraiywz4lrss6jb";
       type = "gem";
     };
-    version = "0.12.2";
+    version = "0.12.3";
   };
   sixarm_ruby_unaccent = {
     groups = ["default"];
@@ -5183,10 +5141,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xqmvwh6k638h6r13wsx1l0n0jvz07qys1lr7z8aaynscs0k6hyi";
+      sha256 = "1i2prnczlg871l3kyqy08z8axsilgv3wm4zw061wjyzqglx7xghg";
       type = "gem";
     };
-    version = "0.42.3";
+    version = "0.43.0";
+  };
+  sorted_set = {
+    dependencies = ["rbtree" "set"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0brpwv68d7m9qbf5js4bg8bmg4v7h4ghz312jv9cnnccdvp8nasg";
+      type = "gem";
+    };
+    version = "1.0.3";
   };
   spamcheck = {
     dependencies = ["grpc"];
@@ -5352,10 +5321,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "092wj7936i5inzafi09wqh5c8dbak588q21k652dsrdjf5qi10zq";
+      sha256 = "03y0mnn5mp9ydi5jc4d3y0gnk5fxwljzzfzj9rg7q94kslwi1kx4";
       type = "gem";
     };
-    version = "1.1.6";
+    version = "1.1.9";
   };
   sysexits = {
     groups = ["default" "development" "test"];
@@ -5451,16 +5420,6 @@
     };
     version = "1.1.0";
   };
-  thread_safe = {
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy";
-      type = "gem";
-    };
-    version = "0.3.6";
-  };
   thrift = {
     groups = ["default"];
     platforms = [];
@@ -5511,16 +5470,6 @@
     };
     version = "0.8.3";
   };
-  to_regexp = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1rgabfhnql6l4fx09mmj5d0vza924iczqf2blmn82l782b6qqi9v";
-      type = "gem";
-    };
-    version = "0.2.1";
-  };
   toml = {
     dependencies = ["parslet"];
     groups = ["default" "development" "test"];
@@ -5538,10 +5487,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0pz6z1mc7rnv4chkbx3mdn4q1lpp0j596dq57kbq39jv0wn0wi4d";
+      sha256 = "0x5j95w28vj85bzw98g1dyd4gm7xpli2fdvwwrgwlay7gb3wc5jh";
       type = "gem";
     };
-    version = "1.0.0";
+    version = "2.0.1";
   };
   tomlrb = {
     groups = ["default"];
@@ -5737,21 +5686,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xs2ml9cwskddsxick3a9wnasy7q6wmc0dbydfcaspfl2cjmp1rk";
+      sha256 = "0fxr4q8bs5pbf3y57f3bckg3ls9k76wzzkhvl1kdw879im4mcvhg";
       type = "gem";
     };
-    version = "0.1.5";
+    version = "3.2.2";
   };
   unparser = {
-    dependencies = ["abstract_type" "adamantium" "concord" "diff-lcs" "equalizer" "parser" "procto"];
+    dependencies = ["diff-lcs" "parser"];
     groups = ["default" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0qg1apxlnf4kxfj9jpm6hhv73jsncbs4zpsgyan32p5r331q1gmx";
+      sha256 = "0246c6j1lbi6jgga3n2br1nyvnwzh1bz0r9yca5d4cihb100byja";
       type = "gem";
     };
-    version = "0.4.7";
+    version = "0.6.0";
   };
   uri_template = {
     groups = ["default"];
@@ -5838,6 +5787,16 @@
     };
     version = "1.2.8";
   };
+  warning = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1qhniramhgrcqhb905rkc82k29kgd6535jqf0aii5w3v6m2kn8qd";
+      type = "gem";
+    };
+    version = "1.2.0";
+  };
   webauthn = {
     dependencies = ["android_key_attestation" "awrence" "bindata" "cbor" "cose" "openssl" "safety_net_attestation" "securecompare" "tpm-key_attestation"];
     groups = ["default"];
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/update.py b/nixpkgs/pkgs/applications/version-management/gitlab/update.py
index 301589c532f3..b644f59f780a 100755
--- a/nixpkgs/pkgs/applications/version-management/gitlab/update.py
+++ b/nixpkgs/pkgs/applications/version-management/gitlab/update.py
@@ -135,6 +135,7 @@ def update_rubyenv():
         f.write(repo.get_file('Gemfile.lock', rev))
     with open(rubyenv_dir / 'Gemfile', 'w') as f:
         original = repo.get_file('Gemfile', rev)
+        original += "\ngem 'sd_notify'\n"
         f.write(re.sub(r".*mail-smtp_pool.*", "", original))
 
     subprocess.check_output(['bundle', 'lock'], cwd=rubyenv_dir)
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/yarnPkgs.nix b/nixpkgs/pkgs/applications/version-management/gitlab/yarnPkgs.nix
index 2af33d3184fc..8ec9091b970d 100644
--- a/nixpkgs/pkgs/applications/version-management/gitlab/yarnPkgs.nix
+++ b/nixpkgs/pkgs/applications/version-management/gitlab/yarnPkgs.nix
@@ -1,4 +1,4 @@
-{ fetchurl, fetchgit, linkFarm, runCommandNoCC, gnutar }: rec {
+{ fetchurl, fetchgit, linkFarm, runCommand, gnutar }: rec {
   offline_cache = linkFarm "offline" packages;
   packages = [
     {
@@ -778,11 +778,11 @@
       };
     }
     {
-      name = "_eslint_eslintrc___eslintrc_0.4.2.tgz";
+      name = "_eslint_eslintrc___eslintrc_0.4.3.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 = "_eslint_eslintrc___eslintrc_0.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz";
+        sha1 = "9e42981ef035beb3dd49add17acb96e8ff6f394c";
       };
     }
     {
@@ -794,11 +794,11 @@
       };
     }
     {
-      name = "_gitlab_eslint_plugin___eslint_plugin_8.4.0.tgz";
+      name = "_gitlab_eslint_plugin___eslint_plugin_9.0.2.tgz";
       path = fetchurl {
-        name = "_gitlab_eslint_plugin___eslint_plugin_8.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/@gitlab/eslint-plugin/-/eslint-plugin-8.4.0.tgz";
-        sha1 = "094fa4d41676a71146f82e1b19257a7ceabefd88";
+        name = "_gitlab_eslint_plugin___eslint_plugin_9.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/@gitlab/eslint-plugin/-/eslint-plugin-9.0.2.tgz";
+        sha1 = "c7e0c8744001227d88624eb533047f3d5dd8d419";
       };
     }
     {
@@ -818,11 +818,11 @@
       };
     }
     {
-      name = "_gitlab_svgs___svgs_1.199.0.tgz";
+      name = "_gitlab_svgs___svgs_1.211.0.tgz";
       path = fetchurl {
-        name = "_gitlab_svgs___svgs_1.199.0.tgz";
-        url  = "https://registry.yarnpkg.com/@gitlab/svgs/-/svgs-1.199.0.tgz";
-        sha1 = "0512a854018defc4e286b8ecb2143958bb535146";
+        name = "_gitlab_svgs___svgs_1.211.0.tgz";
+        url  = "https://registry.yarnpkg.com/@gitlab/svgs/-/svgs-1.211.0.tgz";
+        sha1 = "0351fa4cc008c4830f366aede535df0a8e63dda6";
       };
     }
     {
@@ -834,11 +834,11 @@
       };
     }
     {
-      name = "_gitlab_ui___ui_29.35.0.tgz";
+      name = "_gitlab_ui___ui_32.2.1.tgz";
       path = fetchurl {
-        name = "_gitlab_ui___ui_29.35.0.tgz";
-        url  = "https://registry.yarnpkg.com/@gitlab/ui/-/ui-29.35.0.tgz";
-        sha1 = "bb04d1e4f8796134bc406adaa869c1b5b1fdcaf2";
+        name = "_gitlab_ui___ui_32.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/@gitlab/ui/-/ui-32.2.1.tgz";
+        sha1 = "e019124af981e8ceffd39f30cf08d315c53d4ac8";
       };
     }
     {
@@ -850,11 +850,19 @@
       };
     }
     {
-      name = "_gitlab_vue_toasted___vue_toasted_1.3.0.tgz";
+      name = "_humanwhocodes_config_array___config_array_0.5.0.tgz";
       path = fetchurl {
-        name = "_gitlab_vue_toasted___vue_toasted_1.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/@gitlab/vue-toasted/-/vue-toasted-1.3.0.tgz";
-        sha1 = "f21550d4ce406ee5f99447a02abf36250ecc922d";
+        name = "_humanwhocodes_config_array___config_array_0.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz";
+        sha1 = "1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9";
+      };
+    }
+    {
+      name = "_humanwhocodes_object_schema___object_schema_1.2.0.tgz";
+      path = fetchurl {
+        name = "_humanwhocodes_object_schema___object_schema_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz";
+        sha1 = "87de7af9c231826fdd68ac7258f77c429e0e5fcf";
       };
     }
     {
@@ -1114,11 +1122,11 @@
       };
     }
     {
-      name = "_sourcegraph_code_host_integration___code_host_integration_0.0.57.tgz";
+      name = "_sourcegraph_code_host_integration___code_host_integration_0.0.59.tgz";
       path = fetchurl {
-        name = "_sourcegraph_code_host_integration___code_host_integration_0.0.57.tgz";
-        url  = "https://registry.yarnpkg.com/@sourcegraph/code-host-integration/-/code-host-integration-0.0.57.tgz";
-        sha1 = "aed4649a51745deef5e4ee79b9a4fdc092471237";
+        name = "_sourcegraph_code_host_integration___code_host_integration_0.0.59.tgz";
+        url  = "https://registry.yarnpkg.com/@sourcegraph/code-host-integration/-/code-host-integration-0.0.59.tgz";
+        sha1 = "ac64a9f90ff48363334407d12622542d0faa7720";
       };
     }
     {
@@ -1154,67 +1162,67 @@
       };
     }
     {
-      name = "_tiptap_core___core_2.0.0_beta.75.tgz";
+      name = "_tiptap_core___core_2.0.0_beta.86.tgz";
       path = fetchurl {
-        name = "_tiptap_core___core_2.0.0_beta.75.tgz";
-        url  = "https://registry.yarnpkg.com/@tiptap/core/-/core-2.0.0-beta.75.tgz";
-        sha1 = "8295dfa7ca4b22de61e9c68a102763343b26e03a";
+        name = "_tiptap_core___core_2.0.0_beta.86.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/core/-/core-2.0.0-beta.86.tgz";
+        sha1 = "11b575aee4ad2f30f73114c786da5cd13dde30e0";
       };
     }
     {
-      name = "_tiptap_extension_blockquote___extension_blockquote_2.0.0_beta.13.tgz";
+      name = "_tiptap_extension_blockquote___extension_blockquote_2.0.0_beta.14.tgz";
       path = fetchurl {
-        name = "_tiptap_extension_blockquote___extension_blockquote_2.0.0_beta.13.tgz";
-        url  = "https://registry.yarnpkg.com/@tiptap/extension-blockquote/-/extension-blockquote-2.0.0-beta.13.tgz";
-        sha1 = "72a26dd54e5edb9abc4488ad7c1f0a43d4089bd5";
+        name = "_tiptap_extension_blockquote___extension_blockquote_2.0.0_beta.14.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-blockquote/-/extension-blockquote-2.0.0-beta.14.tgz";
+        sha1 = "f49872981aecdd21341c4d5db32ab68cba945756";
       };
     }
     {
-      name = "_tiptap_extension_bold___extension_bold_2.0.0_beta.13.tgz";
+      name = "_tiptap_extension_bold___extension_bold_2.0.0_beta.14.tgz";
       path = fetchurl {
-        name = "_tiptap_extension_bold___extension_bold_2.0.0_beta.13.tgz";
-        url  = "https://registry.yarnpkg.com/@tiptap/extension-bold/-/extension-bold-2.0.0-beta.13.tgz";
-        sha1 = "d6b8f3797a6f7932ae38b9d761cc1effa886b715";
+        name = "_tiptap_extension_bold___extension_bold_2.0.0_beta.14.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-bold/-/extension-bold-2.0.0-beta.14.tgz";
+        sha1 = "6bf9ea70f7e24e6d674c7780471fcb6a7a4b91f4";
       };
     }
     {
-      name = "_tiptap_extension_bubble_menu___extension_bubble_menu_2.0.0_beta.20.tgz";
+      name = "_tiptap_extension_bubble_menu___extension_bubble_menu_2.0.0_beta.24.tgz";
       path = fetchurl {
-        name = "_tiptap_extension_bubble_menu___extension_bubble_menu_2.0.0_beta.20.tgz";
-        url  = "https://registry.yarnpkg.com/@tiptap/extension-bubble-menu/-/extension-bubble-menu-2.0.0-beta.20.tgz";
-        sha1 = "248c70910bf232ed5fb9eb3a7c084bc592d2341d";
+        name = "_tiptap_extension_bubble_menu___extension_bubble_menu_2.0.0_beta.24.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-bubble-menu/-/extension-bubble-menu-2.0.0-beta.24.tgz";
+        sha1 = "e6db5bc0386ccdbd483e57296b22eb6dd55914ba";
       };
     }
     {
-      name = "_tiptap_extension_bullet_list___extension_bullet_list_2.0.0_beta.13.tgz";
+      name = "_tiptap_extension_bullet_list___extension_bullet_list_2.0.0_beta.14.tgz";
       path = fetchurl {
-        name = "_tiptap_extension_bullet_list___extension_bullet_list_2.0.0_beta.13.tgz";
-        url  = "https://registry.yarnpkg.com/@tiptap/extension-bullet-list/-/extension-bullet-list-2.0.0-beta.13.tgz";
-        sha1 = "8b2c4ec8decc5562ae9bb5d97b0a99e0b27f9794";
+        name = "_tiptap_extension_bullet_list___extension_bullet_list_2.0.0_beta.14.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-bullet-list/-/extension-bullet-list-2.0.0-beta.14.tgz";
+        sha1 = "29b9bfa2e908cdb01943242f75daf82115f5afd1";
       };
     }
     {
-      name = "_tiptap_extension_code_block_lowlight___extension_code_block_lowlight_2.0.0_beta.25.tgz";
+      name = "_tiptap_extension_code_block_lowlight___extension_code_block_lowlight_2.0.0_beta.32.tgz";
       path = fetchurl {
-        name = "_tiptap_extension_code_block_lowlight___extension_code_block_lowlight_2.0.0_beta.25.tgz";
-        url  = "https://registry.yarnpkg.com/@tiptap/extension-code-block-lowlight/-/extension-code-block-lowlight-2.0.0-beta.25.tgz";
-        sha1 = "eb5f721fa8a4035244b7883e3cfc770f17fae27f";
+        name = "_tiptap_extension_code_block_lowlight___extension_code_block_lowlight_2.0.0_beta.32.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-code-block-lowlight/-/extension-code-block-lowlight-2.0.0-beta.32.tgz";
+        sha1 = "ef9ff6883f2d669e6be79c69f26749641462e1ea";
       };
     }
     {
-      name = "_tiptap_extension_code_block___extension_code_block_2.0.0_beta.15.tgz";
+      name = "_tiptap_extension_code_block___extension_code_block_2.0.0_beta.16.tgz";
       path = fetchurl {
-        name = "_tiptap_extension_code_block___extension_code_block_2.0.0_beta.15.tgz";
-        url  = "https://registry.yarnpkg.com/@tiptap/extension-code-block/-/extension-code-block-2.0.0-beta.15.tgz";
-        sha1 = "3fb0f04c38f8276195a1a958cc7d3399b52dc46a";
+        name = "_tiptap_extension_code_block___extension_code_block_2.0.0_beta.16.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-code-block/-/extension-code-block-2.0.0-beta.16.tgz";
+        sha1 = "7788ee1af04eb84fe194261bb1bb835dbe7ad59e";
       };
     }
     {
-      name = "_tiptap_extension_code___extension_code_2.0.0_beta.13.tgz";
+      name = "_tiptap_extension_code___extension_code_2.0.0_beta.14.tgz";
       path = fetchurl {
-        name = "_tiptap_extension_code___extension_code_2.0.0_beta.13.tgz";
-        url  = "https://registry.yarnpkg.com/@tiptap/extension-code/-/extension-code-2.0.0-beta.13.tgz";
-        sha1 = "fa2d14c61fe213c2c40b196e1b1b7a8862cec987";
+        name = "_tiptap_extension_code___extension_code_2.0.0_beta.14.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-code/-/extension-code-2.0.0-beta.14.tgz";
+        sha1 = "679a741589d63006140605553be7c6148c000814";
       };
     }
     {
@@ -1226,83 +1234,83 @@
       };
     }
     {
-      name = "_tiptap_extension_dropcursor___extension_dropcursor_2.0.0_beta.14.tgz";
+      name = "_tiptap_extension_dropcursor___extension_dropcursor_2.0.0_beta.17.tgz";
       path = fetchurl {
-        name = "_tiptap_extension_dropcursor___extension_dropcursor_2.0.0_beta.14.tgz";
-        url  = "https://registry.yarnpkg.com/@tiptap/extension-dropcursor/-/extension-dropcursor-2.0.0-beta.14.tgz";
-        sha1 = "b5e4137d4be1afe14a8f67d932af5e6d3df7cb56";
+        name = "_tiptap_extension_dropcursor___extension_dropcursor_2.0.0_beta.17.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-dropcursor/-/extension-dropcursor-2.0.0-beta.17.tgz";
+        sha1 = "3ca59c264b49a91c1a5b2ce8de3e898903d0a5bc";
       };
     }
     {
-      name = "_tiptap_extension_floating_menu___extension_floating_menu_2.0.0_beta.16.tgz";
+      name = "_tiptap_extension_floating_menu___extension_floating_menu_2.0.0_beta.18.tgz";
       path = fetchurl {
-        name = "_tiptap_extension_floating_menu___extension_floating_menu_2.0.0_beta.16.tgz";
-        url  = "https://registry.yarnpkg.com/@tiptap/extension-floating-menu/-/extension-floating-menu-2.0.0-beta.16.tgz";
-        sha1 = "109226c060351b83916441cd58d631eff47d6bb2";
+        name = "_tiptap_extension_floating_menu___extension_floating_menu_2.0.0_beta.18.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-floating-menu/-/extension-floating-menu-2.0.0-beta.18.tgz";
+        sha1 = "4d9b7f58c73f6c718a74503c5ff514b06f615e27";
       };
     }
     {
-      name = "_tiptap_extension_gapcursor___extension_gapcursor_2.0.0_beta.17.tgz";
+      name = "_tiptap_extension_gapcursor___extension_gapcursor_2.0.0_beta.18.tgz";
       path = fetchurl {
-        name = "_tiptap_extension_gapcursor___extension_gapcursor_2.0.0_beta.17.tgz";
-        url  = "https://registry.yarnpkg.com/@tiptap/extension-gapcursor/-/extension-gapcursor-2.0.0-beta.17.tgz";
-        sha1 = "774037fddab50379b21a58cab91bfd988b9b793f";
+        name = "_tiptap_extension_gapcursor___extension_gapcursor_2.0.0_beta.18.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-gapcursor/-/extension-gapcursor-2.0.0-beta.18.tgz";
+        sha1 = "67c2266ec21c90f003e989862b709475f5427fea";
       };
     }
     {
-      name = "_tiptap_extension_hard_break___extension_hard_break_2.0.0_beta.13.tgz";
+      name = "_tiptap_extension_hard_break___extension_hard_break_2.0.0_beta.14.tgz";
       path = fetchurl {
-        name = "_tiptap_extension_hard_break___extension_hard_break_2.0.0_beta.13.tgz";
-        url  = "https://registry.yarnpkg.com/@tiptap/extension-hard-break/-/extension-hard-break-2.0.0-beta.13.tgz";
-        sha1 = "36b5433e70e8eac121d6d26871ff60527b500442";
+        name = "_tiptap_extension_hard_break___extension_hard_break_2.0.0_beta.14.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-hard-break/-/extension-hard-break-2.0.0-beta.14.tgz";
+        sha1 = "dce00c49dc614caac82720b930501a59b38d5584";
       };
     }
     {
-      name = "_tiptap_extension_heading___extension_heading_2.0.0_beta.13.tgz";
+      name = "_tiptap_extension_heading___extension_heading_2.0.0_beta.14.tgz";
       path = fetchurl {
-        name = "_tiptap_extension_heading___extension_heading_2.0.0_beta.13.tgz";
-        url  = "https://registry.yarnpkg.com/@tiptap/extension-heading/-/extension-heading-2.0.0-beta.13.tgz";
-        sha1 = "7d6f4a0e28af47ad1a1e455af01dbd1997a9f948";
+        name = "_tiptap_extension_heading___extension_heading_2.0.0_beta.14.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-heading/-/extension-heading-2.0.0-beta.14.tgz";
+        sha1 = "63df6d7282afd3c2db2253af2e538c3bf2800751";
       };
     }
     {
-      name = "_tiptap_extension_history___extension_history_2.0.0_beta.12.tgz";
+      name = "_tiptap_extension_history___extension_history_2.0.0_beta.14.tgz";
       path = fetchurl {
-        name = "_tiptap_extension_history___extension_history_2.0.0_beta.12.tgz";
-        url  = "https://registry.yarnpkg.com/@tiptap/extension-history/-/extension-history-2.0.0-beta.12.tgz";
-        sha1 = "a25607aab594998d6b46576724d56701a2833689";
+        name = "_tiptap_extension_history___extension_history_2.0.0_beta.14.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-history/-/extension-history-2.0.0-beta.14.tgz";
+        sha1 = "7990a592a521ca4147e733eed78fcb738ed6ba95";
       };
     }
     {
-      name = "_tiptap_extension_horizontal_rule___extension_horizontal_rule_2.0.0_beta.16.tgz";
+      name = "_tiptap_extension_horizontal_rule___extension_horizontal_rule_2.0.0_beta.17.tgz";
       path = fetchurl {
-        name = "_tiptap_extension_horizontal_rule___extension_horizontal_rule_2.0.0_beta.16.tgz";
-        url  = "https://registry.yarnpkg.com/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-2.0.0-beta.16.tgz";
-        sha1 = "7f8a3e14de2fc8bbb52816a697450a61d8797689";
+        name = "_tiptap_extension_horizontal_rule___extension_horizontal_rule_2.0.0_beta.17.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-2.0.0-beta.17.tgz";
+        sha1 = "25c15bfab5794a3f1bcf6f4df03bef56ddac80aa";
       };
     }
     {
-      name = "_tiptap_extension_image___extension_image_2.0.0_beta.13.tgz";
+      name = "_tiptap_extension_image___extension_image_2.0.0_beta.14.tgz";
       path = fetchurl {
-        name = "_tiptap_extension_image___extension_image_2.0.0_beta.13.tgz";
-        url  = "https://registry.yarnpkg.com/@tiptap/extension-image/-/extension-image-2.0.0-beta.13.tgz";
-        sha1 = "58a2e66533e2ef63e67aeb7980fe642b75fa17a0";
+        name = "_tiptap_extension_image___extension_image_2.0.0_beta.14.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-image/-/extension-image-2.0.0-beta.14.tgz";
+        sha1 = "31eae69cce3d81af81a1c0fbd253beca3c253429";
       };
     }
     {
-      name = "_tiptap_extension_italic___extension_italic_2.0.0_beta.13.tgz";
+      name = "_tiptap_extension_italic___extension_italic_2.0.0_beta.14.tgz";
       path = fetchurl {
-        name = "_tiptap_extension_italic___extension_italic_2.0.0_beta.13.tgz";
-        url  = "https://registry.yarnpkg.com/@tiptap/extension-italic/-/extension-italic-2.0.0-beta.13.tgz";
-        sha1 = "8b0810e41dc5c3bfb0640d638b0b40464cd81fea";
+        name = "_tiptap_extension_italic___extension_italic_2.0.0_beta.14.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-italic/-/extension-italic-2.0.0-beta.14.tgz";
+        sha1 = "5b56a806ef6507dc2001eaeeeb234ee0b25d8544";
       };
     }
     {
-      name = "_tiptap_extension_link___extension_link_2.0.0_beta.17.tgz";
+      name = "_tiptap_extension_link___extension_link_2.0.0_beta.18.tgz";
       path = fetchurl {
-        name = "_tiptap_extension_link___extension_link_2.0.0_beta.17.tgz";
-        url  = "https://registry.yarnpkg.com/@tiptap/extension-link/-/extension-link-2.0.0-beta.17.tgz";
-        sha1 = "5a3c28762cf332bb4de0fb13ce6973b11496697a";
+        name = "_tiptap_extension_link___extension_link_2.0.0_beta.18.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-link/-/extension-link-2.0.0-beta.18.tgz";
+        sha1 = "792c671daf3db79873b8425e68da43dd19af230b";
       };
     }
     {
@@ -1314,27 +1322,91 @@
       };
     }
     {
-      name = "_tiptap_extension_ordered_list___extension_ordered_list_2.0.0_beta.13.tgz";
+      name = "_tiptap_extension_ordered_list___extension_ordered_list_2.0.0_beta.14.tgz";
+      path = fetchurl {
+        name = "_tiptap_extension_ordered_list___extension_ordered_list_2.0.0_beta.14.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-ordered-list/-/extension-ordered-list-2.0.0-beta.14.tgz";
+        sha1 = "54487f8b9246226586d0190d07a449a97536436a";
+      };
+    }
+    {
+      name = "_tiptap_extension_paragraph___extension_paragraph_2.0.0_beta.15.tgz";
+      path = fetchurl {
+        name = "_tiptap_extension_paragraph___extension_paragraph_2.0.0_beta.15.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-paragraph/-/extension-paragraph-2.0.0-beta.15.tgz";
+        sha1 = "89483a2f438d8412287d441c890304985c2ac07f";
+      };
+    }
+    {
+      name = "_tiptap_extension_strike___extension_strike_2.0.0_beta.16.tgz";
+      path = fetchurl {
+        name = "_tiptap_extension_strike___extension_strike_2.0.0_beta.16.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-strike/-/extension-strike-2.0.0-beta.16.tgz";
+        sha1 = "cccce9713824e05ebde895f84f747b8bbed45f7d";
+      };
+    }
+    {
+      name = "_tiptap_extension_subscript___extension_subscript_2.0.0_beta.4.tgz";
+      path = fetchurl {
+        name = "_tiptap_extension_subscript___extension_subscript_2.0.0_beta.4.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-subscript/-/extension-subscript-2.0.0-beta.4.tgz";
+        sha1 = "07907df58695eb02bf6904d2c3635111003b30fd";
+      };
+    }
+    {
+      name = "_tiptap_extension_superscript___extension_superscript_2.0.0_beta.4.tgz";
+      path = fetchurl {
+        name = "_tiptap_extension_superscript___extension_superscript_2.0.0_beta.4.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-superscript/-/extension-superscript-2.0.0-beta.4.tgz";
+        sha1 = "16906d71dd8f9892101cf792f42005f8cd404516";
+      };
+    }
+    {
+      name = "_tiptap_extension_table_cell___extension_table_cell_2.0.0_beta.13.tgz";
+      path = fetchurl {
+        name = "_tiptap_extension_table_cell___extension_table_cell_2.0.0_beta.13.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-table-cell/-/extension-table-cell-2.0.0-beta.13.tgz";
+        sha1 = "c01eada4859d5ea487d61e68cc7fab7ed2e4842a";
+      };
+    }
+    {
+      name = "_tiptap_extension_table_header___extension_table_header_2.0.0_beta.15.tgz";
       path = fetchurl {
-        name = "_tiptap_extension_ordered_list___extension_ordered_list_2.0.0_beta.13.tgz";
-        url  = "https://registry.yarnpkg.com/@tiptap/extension-ordered-list/-/extension-ordered-list-2.0.0-beta.13.tgz";
-        sha1 = "4df2264e1405f73848cd2fedcea95f3064911cd7";
+        name = "_tiptap_extension_table_header___extension_table_header_2.0.0_beta.15.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-table-header/-/extension-table-header-2.0.0-beta.15.tgz";
+        sha1 = "884d16f104671ee672f1f629f4e4fef0b096bfbb";
       };
     }
     {
-      name = "_tiptap_extension_paragraph___extension_paragraph_2.0.0_beta.14.tgz";
+      name = "_tiptap_extension_table_row___extension_table_row_2.0.0_beta.13.tgz";
       path = fetchurl {
-        name = "_tiptap_extension_paragraph___extension_paragraph_2.0.0_beta.14.tgz";
-        url  = "https://registry.yarnpkg.com/@tiptap/extension-paragraph/-/extension-paragraph-2.0.0-beta.14.tgz";
-        sha1 = "6b8c64166f3b581a1f8e1ae415b895e5bd2952d1";
+        name = "_tiptap_extension_table_row___extension_table_row_2.0.0_beta.13.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-table-row/-/extension-table-row-2.0.0-beta.13.tgz";
+        sha1 = "3f9a61112afcde750228f4437ae3cd7b82d02f74";
       };
     }
     {
-      name = "_tiptap_extension_strike___extension_strike_2.0.0_beta.15.tgz";
+      name = "_tiptap_extension_table___extension_table_2.0.0_beta.25.tgz";
       path = fetchurl {
-        name = "_tiptap_extension_strike___extension_strike_2.0.0_beta.15.tgz";
-        url  = "https://registry.yarnpkg.com/@tiptap/extension-strike/-/extension-strike-2.0.0-beta.15.tgz";
-        sha1 = "c274ae85b1067f80d45a1cb30d0cad24733c9be7";
+        name = "_tiptap_extension_table___extension_table_2.0.0_beta.25.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-table/-/extension-table-2.0.0-beta.25.tgz";
+        sha1 = "57accf19c07e96bd0db868eb791da20bd423af36";
+      };
+    }
+    {
+      name = "_tiptap_extension_task_item___extension_task_item_2.0.0_beta.17.tgz";
+      path = fetchurl {
+        name = "_tiptap_extension_task_item___extension_task_item_2.0.0_beta.17.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-task-item/-/extension-task-item-2.0.0-beta.17.tgz";
+        sha1 = "e4e010c321b8f9aa5f49847c48e4e3a0695a47a9";
+      };
+    }
+    {
+      name = "_tiptap_extension_task_list___extension_task_list_2.0.0_beta.17.tgz";
+      path = fetchurl {
+        name = "_tiptap_extension_task_list___extension_task_list_2.0.0_beta.17.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/extension-task-list/-/extension-task-list-2.0.0-beta.17.tgz";
+        sha1 = "c0f40325abf1b6a23868e72ab32f9724a8b42a7b";
       };
     }
     {
@@ -1346,11 +1418,11 @@
       };
     }
     {
-      name = "_tiptap_vue_2___vue_2_2.0.0_beta.34.tgz";
+      name = "_tiptap_vue_2___vue_2_2.0.0_beta.39.tgz";
       path = fetchurl {
-        name = "_tiptap_vue_2___vue_2_2.0.0_beta.34.tgz";
-        url  = "https://registry.yarnpkg.com/@tiptap/vue-2/-/vue-2-2.0.0-beta.34.tgz";
-        sha1 = "df9309eb812b50a85315c4623ac222db751fc97a";
+        name = "_tiptap_vue_2___vue_2_2.0.0_beta.39.tgz";
+        url  = "https://registry.yarnpkg.com/@tiptap/vue-2/-/vue-2-2.0.0-beta.39.tgz";
+        sha1 = "f6d75af99b072848381f0c443b50ec09186eb43b";
       };
     }
     {
@@ -1498,11 +1570,11 @@
       };
     }
     {
-      name = "_types_lowlight___lowlight_0.0.2.tgz";
+      name = "_types_lowlight___lowlight_0.0.3.tgz";
       path = fetchurl {
-        name = "_types_lowlight___lowlight_0.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/@types/lowlight/-/lowlight-0.0.2.tgz";
-        sha1 = "bb517f1486477a8c59dea11be0dfaf96d629d35d";
+        name = "_types_lowlight___lowlight_0.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/@types/lowlight/-/lowlight-0.0.3.tgz";
+        sha1 = "433b03dd63894dde17860063f4c90a688431194b";
       };
     }
     {
@@ -1586,27 +1658,27 @@
       };
     }
     {
-      name = "_types_prosemirror_dropcursor___prosemirror_dropcursor_1.0.1.tgz";
+      name = "_types_prosemirror_dropcursor___prosemirror_dropcursor_1.0.2.tgz";
       path = fetchurl {
-        name = "_types_prosemirror_dropcursor___prosemirror_dropcursor_1.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/@types/prosemirror-dropcursor/-/prosemirror-dropcursor-1.0.1.tgz";
-        sha1 = "3ba98dd861ff2a62559e70f453f996a1ef5ec55d";
+        name = "_types_prosemirror_dropcursor___prosemirror_dropcursor_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/prosemirror-dropcursor/-/prosemirror-dropcursor-1.0.2.tgz";
+        sha1 = "476b90a661f32d6d6a21599f53fcd71e36c65a1f";
       };
     }
     {
-      name = "_types_prosemirror_gapcursor___prosemirror_gapcursor_1.0.3.tgz";
+      name = "_types_prosemirror_gapcursor___prosemirror_gapcursor_1.0.4.tgz";
       path = fetchurl {
-        name = "_types_prosemirror_gapcursor___prosemirror_gapcursor_1.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/@types/prosemirror-gapcursor/-/prosemirror-gapcursor-1.0.3.tgz";
-        sha1 = "989e98c734e01e2ed4cab39992e60a1b0646cab6";
+        name = "_types_prosemirror_gapcursor___prosemirror_gapcursor_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/@types/prosemirror-gapcursor/-/prosemirror-gapcursor-1.0.4.tgz";
+        sha1 = "7df7d373edb33ea8da12084bfd462cf84cd69761";
       };
     }
     {
-      name = "_types_prosemirror_history___prosemirror_history_1.0.2.tgz";
+      name = "_types_prosemirror_history___prosemirror_history_1.0.3.tgz";
       path = fetchurl {
-        name = "_types_prosemirror_history___prosemirror_history_1.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/@types/prosemirror-history/-/prosemirror-history-1.0.2.tgz";
-        sha1 = "f90a009a0dcd71393faa69ce705593dec76347a1";
+        name = "_types_prosemirror_history___prosemirror_history_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/@types/prosemirror-history/-/prosemirror-history-1.0.3.tgz";
+        sha1 = "f1110efbe758129b5475e466ff077f0a8d9b964f";
       };
     }
     {
@@ -1626,11 +1698,11 @@
       };
     }
     {
-      name = "_types_prosemirror_model___prosemirror_model_1.13.0.tgz";
+      name = "_types_prosemirror_model___prosemirror_model_1.13.1.tgz";
       path = fetchurl {
-        name = "_types_prosemirror_model___prosemirror_model_1.13.0.tgz";
-        url  = "https://registry.yarnpkg.com/@types/prosemirror-model/-/prosemirror-model-1.13.0.tgz";
-        sha1 = "d05937e918c3cac2cf49630ccab04a65fc5fffd6";
+        name = "_types_prosemirror_model___prosemirror_model_1.13.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/prosemirror-model/-/prosemirror-model-1.13.1.tgz";
+        sha1 = "53df04ee174a7e1dc12747005b1b4c02565adcc4";
       };
     }
     {
@@ -1642,27 +1714,27 @@
       };
     }
     {
-      name = "_types_prosemirror_state___prosemirror_state_1.2.6.tgz";
+      name = "_types_prosemirror_state___prosemirror_state_1.2.7.tgz";
       path = fetchurl {
-        name = "_types_prosemirror_state___prosemirror_state_1.2.6.tgz";
-        url  = "https://registry.yarnpkg.com/@types/prosemirror-state/-/prosemirror-state-1.2.6.tgz";
-        sha1 = "bb0169084239a8393b354c6fda5420fc347d6bab";
+        name = "_types_prosemirror_state___prosemirror_state_1.2.7.tgz";
+        url  = "https://registry.yarnpkg.com/@types/prosemirror-state/-/prosemirror-state-1.2.7.tgz";
+        sha1 = "cd55062e4043a31e3426f47668f1d7038b5d8dfb";
       };
     }
     {
-      name = "_types_prosemirror_transform___prosemirror_transform_1.1.3.tgz";
+      name = "_types_prosemirror_transform___prosemirror_transform_1.1.4.tgz";
       path = fetchurl {
-        name = "_types_prosemirror_transform___prosemirror_transform_1.1.3.tgz";
-        url  = "https://registry.yarnpkg.com/@types/prosemirror-transform/-/prosemirror-transform-1.1.3.tgz";
-        sha1 = "cf30d275976978d1c0317d0659145426fc49ce6f";
+        name = "_types_prosemirror_transform___prosemirror_transform_1.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/@types/prosemirror-transform/-/prosemirror-transform-1.1.4.tgz";
+        sha1 = "c3565e81b2ef3ce3254e6927d6f63eb8d7bb20d0";
       };
     }
     {
-      name = "_types_prosemirror_view___prosemirror_view_1.17.1.tgz";
+      name = "_types_prosemirror_view___prosemirror_view_1.17.2.tgz";
       path = fetchurl {
-        name = "_types_prosemirror_view___prosemirror_view_1.17.1.tgz";
-        url  = "https://registry.yarnpkg.com/@types/prosemirror-view/-/prosemirror-view-1.17.1.tgz";
-        sha1 = "0895df5a57ae6e68d4f3f8020d9be4ef52192980";
+        name = "_types_prosemirror_view___prosemirror_view_1.17.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/prosemirror-view/-/prosemirror-view-1.17.2.tgz";
+        sha1 = "3aff71a0802bdfc310404db8a37ced2db69fd74f";
       };
     }
     {
@@ -2882,11 +2954,11 @@
       };
     }
     {
-      name = "browserslist___browserslist_4.16.1.tgz";
+      name = "browserslist___browserslist_4.16.6.tgz";
       path = fetchurl {
-        name = "browserslist___browserslist_4.16.1.tgz";
-        url  = "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.1.tgz";
-        sha1 = "bf757a2da376b3447b800a16f0f1c96358138766";
+        name = "browserslist___browserslist_4.16.6.tgz";
+        url  = "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.6.tgz";
+        sha1 = "d7901277a5a88e554ed305b183ec9b0c08f66fa2";
       };
     }
     {
@@ -3066,11 +3138,11 @@
       };
     }
     {
-      name = "caniuse_lite___caniuse_lite_1.0.30001185.tgz";
+      name = "caniuse_lite___caniuse_lite_1.0.30001241.tgz";
       path = fetchurl {
-        name = "caniuse_lite___caniuse_lite_1.0.30001185.tgz";
-        url  = "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001185.tgz";
-        sha1 = "3482a407d261da04393e2f0d61eefbc53be43b95";
+        name = "caniuse_lite___caniuse_lite_1.0.30001241.tgz";
+        url  = "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001241.tgz";
+        sha1 = "cd3fae47eb3d7691692b406568d7a3e5b23c7598";
       };
     }
     {
@@ -3434,11 +3506,11 @@
       };
     }
     {
-      name = "commander___commander_2.20.0.tgz";
+      name = "commander___commander_2.20.3.tgz";
       path = fetchurl {
-        name = "commander___commander_2.20.0.tgz";
-        url  = "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz";
-        sha1 = "d58bb2b5c1ee8f87b0d340027e9e94e222c5a422";
+        name = "commander___commander_2.20.3.tgz";
+        url  = "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz";
+        sha1 = "fd485e84c03eb4881c20722ba48035e8531aeb33";
       };
     }
     {
@@ -3698,11 +3770,11 @@
       };
     }
     {
-      name = "core_js_compat___core_js_compat_3.6.4.tgz";
+      name = "core_js_compat___core_js_compat_3.15.2.tgz";
       path = fetchurl {
-        name = "core_js_compat___core_js_compat_3.6.4.tgz";
-        url  = "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.6.4.tgz";
-        sha1 = "938476569ebb6cda80d339bcf199fae4f16fff17";
+        name = "core_js_compat___core_js_compat_3.15.2.tgz";
+        url  = "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.15.2.tgz";
+        sha1 = "47272fbb479880de14b4e6081f71f3492f5bd3cb";
       };
     }
     {
@@ -3714,11 +3786,11 @@
       };
     }
     {
-      name = "core_js___core_js_3.13.0.tgz";
+      name = "core_js___core_js_3.16.2.tgz";
       path = fetchurl {
-        name = "core_js___core_js_3.13.0.tgz";
-        url  = "https://registry.yarnpkg.com/core-js/-/core-js-3.13.0.tgz";
-        sha1 = "58ca436bf01d6903aee3d364089868d0d89fe58d";
+        name = "core_js___core_js_3.16.2.tgz";
+        url  = "https://registry.yarnpkg.com/core-js/-/core-js-3.16.2.tgz";
+        sha1 = "3f485822889c7fc48ef463e35be5cc2a4a01a1f4";
       };
     }
     {
@@ -4722,11 +4794,11 @@
       };
     }
     {
-      name = "dompurify___dompurify_2.2.9.tgz";
+      name = "dompurify___dompurify_2.3.1.tgz";
       path = fetchurl {
-        name = "dompurify___dompurify_2.2.9.tgz";
-        url  = "https://registry.yarnpkg.com/dompurify/-/dompurify-2.2.9.tgz";
-        sha1 = "4b42e244238032d9286a0d2c87b51313581d9624";
+        name = "dompurify___dompurify_2.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/dompurify/-/dompurify-2.3.1.tgz";
+        sha1 = "a47059ca21fd1212d3c8f71fdea6943b8bfbdf6a";
       };
     }
     {
@@ -4826,11 +4898,11 @@
       };
     }
     {
-      name = "electron_to_chromium___electron_to_chromium_1.3.642.tgz";
+      name = "electron_to_chromium___electron_to_chromium_1.3.762.tgz";
       path = fetchurl {
-        name = "electron_to_chromium___electron_to_chromium_1.3.642.tgz";
-        url  = "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.642.tgz";
-        sha1 = "8b884f50296c2ae2a9997f024d0e3e57facc2b94";
+        name = "electron_to_chromium___electron_to_chromium_1.3.762.tgz";
+        url  = "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.762.tgz";
+        sha1 = "3fa4e3bcbda539b50e3aa23041627063a5cffe61";
       };
     }
     {
@@ -5258,11 +5330,11 @@
       };
     }
     {
-      name = "eslint___eslint_7.28.0.tgz";
+      name = "eslint___eslint_7.31.0.tgz";
       path = fetchurl {
-        name = "eslint___eslint_7.28.0.tgz";
-        url  = "https://registry.yarnpkg.com/eslint/-/eslint-7.28.0.tgz";
-        sha1 = "435aa17a0b82c13bb2be9d51408b617e49c1e820";
+        name = "eslint___eslint_7.31.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint/-/eslint-7.31.0.tgz";
+        sha1 = "f972b539424bf2604907a970860732c5d99d3aca";
       };
     }
     {
@@ -8442,14 +8514,6 @@
       };
     }
     {
-      name = "lodash___lodash_4.17.20.tgz";
-      path = fetchurl {
-        name = "lodash___lodash_4.17.20.tgz";
-        url  = "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz";
-        sha1 = "b44a9b6297bcb698f1c51a3545a2b3b368d59c52";
-      };
-    }
-    {
       name = "lodash___lodash_4.17.21.tgz";
       path = fetchurl {
         name = "lodash___lodash_4.17.21.tgz";
@@ -9074,19 +9138,19 @@
       };
     }
     {
-      name = "monaco_editor_webpack_plugin___monaco_editor_webpack_plugin_1.9.1.tgz";
+      name = "monaco_editor_webpack_plugin___monaco_editor_webpack_plugin_4.0.0.tgz";
       path = fetchurl {
-        name = "monaco_editor_webpack_plugin___monaco_editor_webpack_plugin_1.9.1.tgz";
-        url  = "https://registry.yarnpkg.com/monaco-editor-webpack-plugin/-/monaco-editor-webpack-plugin-1.9.1.tgz";
-        sha1 = "eb4bbb1c5e5bfb554541c1ae1542e74c2a9f43fd";
+        name = "monaco_editor_webpack_plugin___monaco_editor_webpack_plugin_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/monaco-editor-webpack-plugin/-/monaco-editor-webpack-plugin-4.0.0.tgz";
+        sha1 = "95be3f48f4220999b909266a9997727f0deab947";
       };
     }
     {
-      name = "monaco_editor___monaco_editor_0.20.0.tgz";
+      name = "monaco_editor___monaco_editor_0.25.2.tgz";
       path = fetchurl {
-        name = "monaco_editor___monaco_editor_0.20.0.tgz";
-        url  = "https://registry.yarnpkg.com/monaco-editor/-/monaco-editor-0.20.0.tgz";
-        sha1 = "5d5009343a550124426cb4d965a4d27a348b4dea";
+        name = "monaco_editor___monaco_editor_0.25.2.tgz";
+        url  = "https://registry.yarnpkg.com/monaco-editor/-/monaco-editor-0.25.2.tgz";
+        sha1 = "119e2b15bbd968a1a99c03cac9c329316d7c37e9";
       };
     }
     {
@@ -9266,11 +9330,11 @@
       };
     }
     {
-      name = "node_releases___node_releases_1.1.70.tgz";
+      name = "node_releases___node_releases_1.1.73.tgz";
       path = fetchurl {
-        name = "node_releases___node_releases_1.1.70.tgz";
-        url  = "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.70.tgz";
-        sha1 = "66e0ed0273aa65666d7fe78febe7634875426a08";
+        name = "node_releases___node_releases_1.1.73.tgz";
+        url  = "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.73.tgz";
+        sha1 = "dd4e81ddd5277ff846b80b52bb40c49edf7a7b20";
       };
     }
     {
@@ -9746,6 +9810,14 @@
       };
     }
     {
+      name = "papaparse___papaparse_5.3.1.tgz";
+      path = fetchurl {
+        name = "papaparse___papaparse_5.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/papaparse/-/papaparse-5.3.1.tgz";
+        sha1 = "770b7a9124d821d4b2132132b7bd7dce7194b5b1";
+      };
+    }
+    {
       name = "parallel_transform___parallel_transform_1.1.0.tgz";
       path = fetchurl {
         name = "parallel_transform___parallel_transform_1.1.0.tgz";
@@ -10386,11 +10458,11 @@
       };
     }
     {
-      name = "prosemirror_commands___prosemirror_commands_1.1.8.tgz";
+      name = "prosemirror_commands___prosemirror_commands_1.1.10.tgz";
       path = fetchurl {
-        name = "prosemirror_commands___prosemirror_commands_1.1.8.tgz";
-        url  = "https://registry.yarnpkg.com/prosemirror-commands/-/prosemirror-commands-1.1.8.tgz";
-        sha1 = "61aec59ac101b7990ec59726199f2a31ef0cd8ca";
+        name = "prosemirror_commands___prosemirror_commands_1.1.10.tgz";
+        url  = "https://registry.yarnpkg.com/prosemirror-commands/-/prosemirror-commands-1.1.10.tgz";
+        sha1 = "406a6589966e6cd80809cea2d801fb998639b37d";
       };
     }
     {
@@ -10442,19 +10514,27 @@
       };
     }
     {
-      name = "prosemirror_model___prosemirror_model_1.14.1.tgz";
+      name = "prosemirror_model___prosemirror_model_1.14.2.tgz";
       path = fetchurl {
-        name = "prosemirror_model___prosemirror_model_1.14.1.tgz";
-        url  = "https://registry.yarnpkg.com/prosemirror-model/-/prosemirror-model-1.14.1.tgz";
-        sha1 = "d784c67f95a5d66b853e82ff9a87a50353ef9cd5";
+        name = "prosemirror_model___prosemirror_model_1.14.2.tgz";
+        url  = "https://registry.yarnpkg.com/prosemirror-model/-/prosemirror-model-1.14.2.tgz";
+        sha1 = "4e8c39cfff4e097631af4495e125d9a8a9773116";
       };
     }
     {
-      name = "prosemirror_schema_list___prosemirror_schema_list_1.1.4.tgz";
+      name = "prosemirror_schema_basic___prosemirror_schema_basic_1.1.2.tgz";
       path = fetchurl {
-        name = "prosemirror_schema_list___prosemirror_schema_list_1.1.4.tgz";
-        url  = "https://registry.yarnpkg.com/prosemirror-schema-list/-/prosemirror-schema-list-1.1.4.tgz";
-        sha1 = "471f9caf2d2bed93641d2e490434c0d2d4330df1";
+        name = "prosemirror_schema_basic___prosemirror_schema_basic_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/prosemirror-schema-basic/-/prosemirror-schema-basic-1.1.2.tgz";
+        sha1 = "4bde5c339c845e0d08ec8fe473064e372ca51ae3";
+      };
+    }
+    {
+      name = "prosemirror_schema_list___prosemirror_schema_list_1.1.5.tgz";
+      path = fetchurl {
+        name = "prosemirror_schema_list___prosemirror_schema_list_1.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/prosemirror-schema-list/-/prosemirror-schema-list-1.1.5.tgz";
+        sha1 = "e7ad9e337ea3d77da6d6a4250f3d7bd51ae980a4";
       };
     }
     {
@@ -10474,6 +10554,14 @@
       };
     }
     {
+      name = "prosemirror_test_builder___prosemirror_test_builder_1.0.4.tgz";
+      path = fetchurl {
+        name = "prosemirror_test_builder___prosemirror_test_builder_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/prosemirror-test-builder/-/prosemirror-test-builder-1.0.4.tgz";
+        sha1 = "68d1d1cedcd90cc2fdd976d736ce87b7a5f1e873";
+      };
+    }
+    {
       name = "prosemirror_transform___prosemirror_transform_1.3.2.tgz";
       path = fetchurl {
         name = "prosemirror_transform___prosemirror_transform_1.3.2.tgz";
@@ -10482,11 +10570,11 @@
       };
     }
     {
-      name = "prosemirror_view___prosemirror_view_1.18.7.tgz";
+      name = "prosemirror_view___prosemirror_view_1.18.9.tgz";
       path = fetchurl {
-        name = "prosemirror_view___prosemirror_view_1.18.7.tgz";
-        url  = "https://registry.yarnpkg.com/prosemirror-view/-/prosemirror-view-1.18.7.tgz";
-        sha1 = "d9843337a1649f532401589899b724e7e87e83c0";
+        name = "prosemirror_view___prosemirror_view_1.18.9.tgz";
+        url  = "https://registry.yarnpkg.com/prosemirror-view/-/prosemirror-view-1.18.9.tgz";
+        sha1 = "29bc11759438aecc5b7fadaa8520165c84c2144a";
       };
     }
     {
@@ -11034,14 +11122,6 @@
       };
     }
     {
-      name = "resize_observer_polyfill___resize_observer_polyfill_1.5.1.tgz";
-      path = fetchurl {
-        name = "resize_observer_polyfill___resize_observer_polyfill_1.5.1.tgz";
-        url  = "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz";
-        sha1 = "0e9020dd3d21024458d4ebd27e23e40269810464";
-      };
-    }
-    {
       name = "resolve_cwd___resolve_cwd_2.0.0.tgz";
       path = fetchurl {
         name = "resolve_cwd___resolve_cwd_2.0.0.tgz";
@@ -13890,11 +13970,11 @@
       };
     }
     {
-      name = "yarn_deduplicate___yarn_deduplicate_1.1.1.tgz";
+      name = "yarn_deduplicate___yarn_deduplicate_3.1.0.tgz";
       path = fetchurl {
-        name = "yarn_deduplicate___yarn_deduplicate_1.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/yarn-deduplicate/-/yarn-deduplicate-1.1.1.tgz";
-        sha1 = "19b4a87654b66f55bf3a4bd6b153b4e4ab1b6e6d";
+        name = "yarn_deduplicate___yarn_deduplicate_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/yarn-deduplicate/-/yarn-deduplicate-3.1.0.tgz";
+        sha1 = "3018d93e95f855f236a215b591fe8bc4bcabba3e";
       };
     }
     {
diff --git a/nixpkgs/pkgs/applications/version-management/gogs/default.nix b/nixpkgs/pkgs/applications/version-management/gogs/default.nix
index c0b0021f8cbe..f7b7305b1097 100644
--- a/nixpkgs/pkgs/applications/version-management/gogs/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/gogs/default.nix
@@ -29,9 +29,7 @@ buildGoModule rec {
 
   buildInputs = optional pamSupport pam;
 
-  buildFlags = [ "-tags" ];
-
-  buildFlagsArray =
+  tags =
     (  optional sqliteSupport "sqlite"
     ++ optional pamSupport "pam");
 
diff --git a/nixpkgs/pkgs/applications/version-management/monotone/default.nix b/nixpkgs/pkgs/applications/version-management/monotone/default.nix
index 48af459260df..6ea66b296d74 100644
--- a/nixpkgs/pkgs/applications/version-management/monotone/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/monotone/default.nix
@@ -30,7 +30,10 @@ stdenv.mkDerivation rec {
     hash = "sha256:1hfy8vaap3184cd7h3qhz0da7c992idkc6q2nz9frhma45c5vgmd";
   };
 
-  patches = [ ./monotone-1.1-Adapt-to-changes-in-pcre-8.42.patch ];
+  patches = [
+    ./monotone-1.1-Adapt-to-changes-in-pcre-8.42.patch
+    ./monotone-1.1-adapt-to-botan2.patch
+  ];
 
   postPatch = ''
     sed -e 's@/usr/bin/less@${less}/bin/less@' -i src/unix/terminal.cc
diff --git a/nixpkgs/pkgs/applications/version-management/monotone/monotone-1.1-adapt-to-botan2.patch b/nixpkgs/pkgs/applications/version-management/monotone/monotone-1.1-adapt-to-botan2.patch
new file mode 100644
index 000000000000..1df6a4717d5a
--- /dev/null
+++ b/nixpkgs/pkgs/applications/version-management/monotone/monotone-1.1-adapt-to-botan2.patch
@@ -0,0 +1,15 @@
+Botan2 has switched the parameter order in encryption descriptions
+
+--- monotone-upstream/src/botan_glue.hh 2021-08-17 19:06:32.736753732 +0200
++++ monotone-patched/src/botan_glue.hh  2021-08-17 19:07:44.437750535 +0200
+@@ -45,7 +45,9 @@
+ // In Botan revision d8021f3e (back when it still used monotone) the name
+ // of SHA-1 changed to SHA-160.
+ const static char * PBE_PKCS5_KEY_FORMAT =
+-#if BOTAN_VERSION_CODE >= BOTAN_VERSION_CODE_FOR(1,11,0)
++#if BOTAN_VERSION_CODE >= BOTAN_VERSION_CODE_FOR(2,0,0)
++  "PBE-PKCS5v20(TripleDES/CBC,SHA-160)";
++#elif BOTAN_VERSION_CODE >= BOTAN_VERSION_CODE_FOR(1,11,0)
+   "PBE-PKCS5v20(SHA-160,TripleDES/CBC)";
+ #else
+   "PBE-PKCS5v20(SHA-1,TripleDES/CBC)";
diff --git a/nixpkgs/pkgs/applications/version-management/nbstripout/default.nix b/nixpkgs/pkgs/applications/version-management/nbstripout/default.nix
index 5e556b40a890..d7cd89f4de6c 100644
--- a/nixpkgs/pkgs/applications/version-management/nbstripout/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/nbstripout/default.nix
@@ -2,7 +2,7 @@
 
 with python.pkgs;
 buildPythonApplication rec {
-  version = "0.3.9";
+  version = "0.5.0";
   pname = "nbstripout";
 
   # Mercurial should be added as a build input but because it's a Python
@@ -14,7 +14,7 @@ buildPythonApplication rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b46dddbf78b8b137176bc72729124e378242ef9ce93af63f6e0a8c4850c972e7";
+    sha256 = "86ab50136998d62c9fa92478d2eb9ddc4137e51a28568f78fa8f24a6fbb6a7d8";
   };
 
   # for some reason, darwin uses /bin/sh echo native instead of echo binary, so
diff --git a/nixpkgs/pkgs/applications/version-management/pijul/default.nix b/nixpkgs/pkgs/applications/version-management/pijul/default.nix
index 4c4cedd5a12c..e5a12dd9006c 100644
--- a/nixpkgs/pkgs/applications/version-management/pijul/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/pijul/default.nix
@@ -13,14 +13,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "pijul";
-  version = "1.0.0-alpha.52";
+  version = "1.0.0-alpha.53";
 
   src = fetchCrate {
     inherit version pname;
-    sha256 = "0m759zfh40kxswsv40z1l332lc8lfqppyv8188y4i6biqmgbx8f1";
+    sha256 = "1y5wnqscyfhd806qs6gfmssm7hvfdi7mxc9p1125jnmzca4wcsm2";
   };
 
-  cargoSha256 = "0f31hw2zjvhkhsb0ykvw4c3d0qy8zirgsaz7yr89hy01rs23bh8z";
+  cargoSha256 = "0m9zjagq59rxf5pysklal030f4n0dqgmjsgwcnljajxc2r26665h";
 
   cargoBuildFlags = lib.optional gitImportSupport "--features=git";
 
diff --git a/nixpkgs/pkgs/applications/version-management/redmine/Gemfile b/nixpkgs/pkgs/applications/version-management/redmine/Gemfile
index 57a1f0736377..9835e23f2828 100644
--- a/nixpkgs/pkgs/applications/version-management/redmine/Gemfile
+++ b/nixpkgs/pkgs/applications/version-management/redmine/Gemfile
@@ -3,8 +3,9 @@ source 'https://rubygems.org'
 ruby '>= 2.4.0', '< 2.8.0'
 gem 'bundler', '>= 1.12.0'
 
-gem 'rails', '5.2.5'
+gem 'rails', '5.2.6'
 gem 'sprockets', '~> 3.7.2' if RUBY_VERSION < '2.5'
+gem 'globalid', '~> 0.4.2' if Gem.ruby_version < Gem::Version.new('2.6.0')
 gem 'rouge', '~> 3.26.0'
 gem 'request_store', '~> 1.5.0'
 gem "mini_mime", "~> 1.0.1"
diff --git a/nixpkgs/pkgs/applications/version-management/redmine/Gemfile.lock b/nixpkgs/pkgs/applications/version-management/redmine/Gemfile.lock
index 7f3fc0650cf4..e90405c9a8ba 100644
--- a/nixpkgs/pkgs/applications/version-management/redmine/Gemfile.lock
+++ b/nixpkgs/pkgs/applications/version-management/redmine/Gemfile.lock
@@ -1,19 +1,19 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    actioncable (5.2.5)
-      actionpack (= 5.2.5)
+    actioncable (5.2.6)
+      actionpack (= 5.2.6)
       nio4r (~> 2.0)
       websocket-driver (>= 0.6.1)
-    actionmailer (5.2.5)
-      actionpack (= 5.2.5)
-      actionview (= 5.2.5)
-      activejob (= 5.2.5)
+    actionmailer (5.2.6)
+      actionpack (= 5.2.6)
+      actionview (= 5.2.6)
+      activejob (= 5.2.6)
       mail (~> 2.5, >= 2.5.4)
       rails-dom-testing (~> 2.0)
-    actionpack (5.2.5)
-      actionview (= 5.2.5)
-      activesupport (= 5.2.5)
+    actionpack (5.2.6)
+      actionview (= 5.2.6)
+      activesupport (= 5.2.6)
       rack (~> 2.0, >= 2.0.8)
       rack-test (>= 0.6.3)
       rails-dom-testing (~> 2.0)
@@ -21,31 +21,31 @@ GEM
     actionpack-xml_parser (2.0.1)
       actionpack (>= 5.0)
       railties (>= 5.0)
-    actionview (5.2.5)
-      activesupport (= 5.2.5)
+    actionview (5.2.6)
+      activesupport (= 5.2.6)
       builder (~> 3.1)
       erubi (~> 1.4)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.0, >= 1.0.3)
-    activejob (5.2.5)
-      activesupport (= 5.2.5)
+    activejob (5.2.6)
+      activesupport (= 5.2.6)
       globalid (>= 0.3.6)
-    activemodel (5.2.5)
-      activesupport (= 5.2.5)
-    activerecord (5.2.5)
-      activemodel (= 5.2.5)
-      activesupport (= 5.2.5)
+    activemodel (5.2.6)
+      activesupport (= 5.2.6)
+    activerecord (5.2.6)
+      activemodel (= 5.2.6)
+      activesupport (= 5.2.6)
       arel (>= 9.0)
-    activestorage (5.2.5)
-      actionpack (= 5.2.5)
-      activerecord (= 5.2.5)
+    activestorage (5.2.6)
+      actionpack (= 5.2.6)
+      activerecord (= 5.2.6)
       marcel (~> 1.0.0)
-    activesupport (5.2.5)
+    activesupport (5.2.6)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 0.7, < 2)
       minitest (~> 5.1)
       tzinfo (~> 1.1)
-    addressable (2.7.0)
+    addressable (2.8.0)
       public_suffix (>= 2.0.2, < 5.0)
     arel (9.0.0)
     ast (2.4.2)
@@ -60,19 +60,19 @@ GEM
       xpath (~> 3.2)
     childprocess (3.0.0)
     chunky_png (1.4.0)
-    concurrent-ruby (1.1.8)
+    concurrent-ruby (1.1.9)
     crass (1.0.6)
-    css_parser (1.9.0)
+    css_parser (1.10.0)
       addressable
     csv (3.1.9)
-    docile (1.3.5)
+    docile (1.4.0)
     erubi (1.10.0)
-    globalid (0.4.2)
-      activesupport (>= 4.2.0)
+    globalid (0.5.2)
+      activesupport (>= 5.0)
     htmlentities (4.3.4)
     i18n (1.8.10)
       concurrent-ruby (~> 1.0)
-    loofah (2.9.1)
+    loofah (2.12.0)
       crass (~> 1.0.2)
       nokogiri (>= 1.5.9)
     mail (2.7.1)
@@ -81,21 +81,21 @@ GEM
     method_source (1.0.0)
     mini_magick (4.11.0)
     mini_mime (1.0.3)
-    mini_portile2 (2.5.1)
+    mini_portile2 (2.5.3)
     minitest (5.14.4)
-    mocha (1.12.0)
+    mocha (1.13.0)
     mysql2 (0.5.3)
     net-ldap (0.17.0)
-    nio4r (2.5.7)
-    nokogiri (1.11.3)
+    nio4r (2.5.8)
+    nokogiri (1.11.7)
       mini_portile2 (~> 2.5.0)
       racc (~> 1.4)
     parallel (1.20.1)
-    parser (3.0.1.0)
+    parser (3.0.2.0)
       ast (~> 2.4.1)
     pg (1.2.3)
     public_suffix (4.0.6)
-    puma (5.2.2)
+    puma (5.4.0)
       nio4r (~> 2.0)
     racc (1.5.2)
     rack (2.2.3)
@@ -104,32 +104,32 @@ GEM
       ruby-openid (>= 2.1.8)
     rack-test (1.1.0)
       rack (>= 1.0, < 3)
-    rails (5.2.5)
-      actioncable (= 5.2.5)
-      actionmailer (= 5.2.5)
-      actionpack (= 5.2.5)
-      actionview (= 5.2.5)
-      activejob (= 5.2.5)
-      activemodel (= 5.2.5)
-      activerecord (= 5.2.5)
-      activestorage (= 5.2.5)
-      activesupport (= 5.2.5)
+    rails (5.2.6)
+      actioncable (= 5.2.6)
+      actionmailer (= 5.2.6)
+      actionpack (= 5.2.6)
+      actionview (= 5.2.6)
+      activejob (= 5.2.6)
+      activemodel (= 5.2.6)
+      activerecord (= 5.2.6)
+      activestorage (= 5.2.6)
+      activesupport (= 5.2.6)
       bundler (>= 1.3.0)
-      railties (= 5.2.5)
+      railties (= 5.2.6)
       sprockets-rails (>= 2.0.0)
     rails-dom-testing (2.0.3)
       activesupport (>= 4.2.0)
       nokogiri (>= 1.6)
     rails-html-sanitizer (1.3.0)
       loofah (~> 2.3)
-    railties (5.2.5)
-      actionpack (= 5.2.5)
-      activesupport (= 5.2.5)
+    railties (5.2.6)
+      actionpack (= 5.2.6)
+      activesupport (= 5.2.6)
       method_source
       rake (>= 0.8.7)
       thor (>= 0.19.0, < 2.0)
     rainbow (3.0.0)
-    rake (13.0.3)
+    rake (13.0.6)
     rbpdf (1.20.1)
       htmlentities
       rbpdf-font (~> 1.19.0)
@@ -147,10 +147,10 @@ GEM
       roadie (>= 3.1, < 5.0)
     rotp (6.2.0)
     rouge (3.26.0)
-    rqrcode (1.2.0)
+    rqrcode (2.0.0)
       chunky_png (~> 1.0)
-      rqrcode_core (~> 0.2)
-    rqrcode_core (0.2.0)
+      rqrcode_core (~> 1.0)
+    rqrcode_core (1.1.0)
     rubocop (1.12.1)
       parallel (~> 1.10)
       parser (>= 3.0.0.0)
@@ -160,8 +160,8 @@ GEM
       rubocop-ast (>= 1.2.0, < 2.0)
       ruby-progressbar (~> 1.7)
       unicode-display_width (>= 1.4.0, < 3.0)
-    rubocop-ast (1.4.1)
-      parser (>= 2.7.1.5)
+    rubocop-ast (1.10.0)
+      parser (>= 3.0.1.1)
     rubocop-performance (1.10.2)
       rubocop (>= 0.90.0, < 2.0)
       rubocop-ast (>= 0.4.0)
@@ -171,7 +171,7 @@ GEM
       rubocop (>= 0.90.0, < 2.0)
     ruby-openid (2.9.2)
     ruby-progressbar (1.11.0)
-    rubyzip (2.3.0)
+    rubyzip (2.3.2)
     selenium-webdriver (3.142.7)
       childprocess (>= 0.5, < 4.0)
       rubyzip (>= 1.2.2)
@@ -195,7 +195,7 @@ GEM
       nokogiri (~> 1.6)
       rubyzip (>= 1.3.0)
       selenium-webdriver (>= 3.0, < 4.0)
-    websocket-driver (0.7.3)
+    websocket-driver (0.7.5)
       websocket-extensions (>= 0.1.0)
     websocket-extensions (0.1.5)
     xpath (3.2.0)
@@ -224,7 +224,7 @@ DEPENDENCIES
   pg (~> 1.2.2)
   puma
   rack-openid
-  rails (= 5.2.5)
+  rails (= 5.2.6)
   rails-dom-testing
   rbpdf (~> 1.20.0)
   redcarpet (~> 3.5.1)
@@ -245,7 +245,7 @@ DEPENDENCIES
   yard
 
 RUBY VERSION
-   ruby 2.6.6p146
+   ruby 2.7.3p183
 
 BUNDLED WITH
    2.1.4
diff --git a/nixpkgs/pkgs/applications/version-management/redmine/default.nix b/nixpkgs/pkgs/applications/version-management/redmine/default.nix
index 7eca72ac5f00..eb6218826bfe 100644
--- a/nixpkgs/pkgs/applications/version-management/redmine/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/redmine/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchurl, bundlerEnv, ruby, makeWrapper }:
 
 let
-  version = "4.2.1";
+  version = "4.2.2";
   rubyEnv = bundlerEnv {
     name = "redmine-env-${version}";
 
@@ -16,7 +16,7 @@ in
 
     src = fetchurl {
       url = "https://www.redmine.org/releases/${pname}-${version}.tar.gz";
-      sha256 = "1d217fhyvncpwahwlinr3vc20vn7jijaxxk1i56gw72z8b1hjhdd";
+      sha256 = "1xlqf7g5imjmc3as2aajvbrs217jh3qpdvvpsd9mka9rk4kykyz6";
     };
 
     nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/applications/version-management/redmine/gemset.nix b/nixpkgs/pkgs/applications/version-management/redmine/gemset.nix
index 2d045a5f2926..376084e80dce 100644
--- a/nixpkgs/pkgs/applications/version-management/redmine/gemset.nix
+++ b/nixpkgs/pkgs/applications/version-management/redmine/gemset.nix
@@ -5,10 +5,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "16g623zz4nnwj236xms4n85jbc2b1imddqsx3gd4x4b7xqlwlw9p";
+      sha256 = "1s778lwghaf0zwfvbhzvjq691rl75d85raiqg1c7zly8p9afq8ym";
       type = "gem";
     };
-    version = "5.2.5";
+    version = "5.2.6";
   };
   actionmailer = {
     dependencies = ["actionpack" "actionview" "activejob" "mail" "rails-dom-testing"];
@@ -16,10 +16,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ifmlwlm4bs6gm3y4c701wkhyf4ym4kia44npz9fbc92ariawn2z";
+      sha256 = "0gwvn4lrkhqmxp96npjp4sfaz78h9ab2lrl20sjph7xxakfwknld";
       type = "gem";
     };
-    version = "5.2.5";
+    version = "5.2.6";
   };
   actionpack = {
     dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
@@ -27,10 +27,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1m9wdcnkls8cs31gfic5hffnrz0l1iyk0dldwx2q2z58qhh3sw0m";
+      sha256 = "0b2xl458f2ygnjbvv0hacc8bk9qxbx64m2g7vw6f9y7k8q85930y";
       type = "gem";
     };
-    version = "5.2.5";
+    version = "5.2.6";
   };
   actionpack-xml_parser = {
     dependencies = ["actionpack" "railties"];
@@ -49,10 +49,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xlcfcbmwlmcp6vi9ay5xw9lqnj70bl1gn19hafygv9w65sw0n2i";
+      sha256 = "06f8212kplqhap9jpi49dvqlhwkfxxxm9nh8al6qjvl7mfh9qbzg";
       type = "gem";
     };
-    version = "5.2.5";
+    version = "5.2.6";
   };
   activejob = {
     dependencies = ["activesupport" "globalid"];
@@ -60,10 +60,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "00k5fl4bx9qmrkwn8mdfdh8h2did0bnr3nc3g0fdyvm7ql9981jc";
+      sha256 = "1cdvxkbzbs4cdh4bgf2cg7i886a20gvr43hg76kx5rzd8xal7xnd";
       type = "gem";
     };
-    version = "5.2.5";
+    version = "5.2.6";
   };
   activemodel = {
     dependencies = ["activesupport"];
@@ -71,10 +71,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1bb600bsxd0gf4vwqq2qiklg7wd37b0as6ll3k5hjy9v6izj006b";
+      sha256 = "1r28kcnzr8dm6idirndd8pvbmg5c678ijxk845g84ykq1l69czs6";
       type = "gem";
     };
-    version = "5.2.5";
+    version = "5.2.6";
   };
   activerecord = {
     dependencies = ["activemodel" "activesupport" "arel"];
@@ -82,10 +82,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "03zijqm7xdmmylzp68hadvq5rps67lsq10hnq6kpmhq496pp7wlj";
+      sha256 = "05qqnichgxml6z3d1dpgjy2fi62dppnqxgg37hr9a35hwhn05fzc";
       type = "gem";
     };
-    version = "5.2.5";
+    version = "5.2.6";
   };
   activestorage = {
     dependencies = ["actionpack" "activerecord" "marcel"];
@@ -93,10 +93,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1706qircxl9agrq5423zv0i9p7gvcxcligw8vvclk049hks87gqd";
+      sha256 = "0wnzac1qs4y339p13xyr03rx4ql3i4ywzfhyzn118d2zz82xnpfl";
       type = "gem";
     };
-    version = "5.2.5";
+    version = "5.2.6";
   };
   activesupport = {
     dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"];
@@ -104,10 +104,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1bizrvn05d59l1qzwkhqvwmzicamq4p66z2ziap5ks9y6hqgqmzj";
+      sha256 = "1vybx4cj42hr6m8cdwbrqq2idh98zms8c11kr399xjczhl9ywjbj";
       type = "gem";
     };
-    version = "5.2.5";
+    version = "5.2.6";
   };
   addressable = {
     dependencies = ["public_suffix"];
@@ -115,10 +115,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1fvchp2rhp2rmigx7qglf69xvjqvzq7x0g49naliw29r2bz656sy";
+      sha256 = "022r3m9wdxljpbya69y2i3h9g3dhhfaqzidf95m6qjzms792jvgp";
       type = "gem";
     };
-    version = "2.7.0";
+    version = "2.8.0";
   };
   arel = {
     groups = ["default"];
@@ -186,10 +186,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0mr23wq0szj52xnj0zcn1k0c7j4v79wlwbijkpfcscqww3l6jlg3";
+      sha256 = "0nwad3211p7yv9sda31jmbyw6sdafzmdi2i2niaz6f0wk5nq9h0f";
       type = "gem";
     };
-    version = "1.1.8";
+    version = "1.1.9";
   };
   crass = {
     groups = ["default"];
@@ -207,10 +207,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xs4ind9xd099rb52b73pch8ha143dl8bhivqsbba4wrvxpbx751";
+      sha256 = "1q8gj3wkc2mbzsqw5zcsr3kyzrrb2pda03pi769rjbvqr94g3bm5";
       type = "gem";
     };
-    version = "1.9.0";
+    version = "1.10.0";
   };
   csv = {
     groups = ["default"];
@@ -227,10 +227,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1bpdrsdqwv80qqc3f4xxzpii13lx9mlx3zay4bnmmscrx8c0p63z";
+      sha256 = "1lxqxgq71rqwj1lpl9q1mbhhhhhhdkkj7my341f2889pwayk85sz";
       type = "gem";
     };
-    version = "1.3.5";
+    version = "1.4.0";
   };
   erubi = {
     groups = ["default"];
@@ -248,10 +248,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1zkxndvck72bfw235bd9nl2ii0lvs5z88q14706cmn702ww2mxv1";
+      sha256 = "0k6ww3shk3mv119xvr9m99l6ql0czq91xhd66hm8hqssb18r2lvm";
       type = "gem";
     };
-    version = "0.4.2";
+    version = "0.5.2";
   };
   htmlentities = {
     groups = ["default"];
@@ -280,10 +280,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1w9mbii8515p28xd4k72f3ab2g6xiyq15497ys5r8jn6m355lgi7";
+      sha256 = "1nqcya57x2n58y1dify60i0dpla40n4yir928khp4nj5jrn9mgmw";
       type = "gem";
     };
-    version = "2.9.1";
+    version = "2.12.0";
   };
   mail = {
     dependencies = ["mini_mime"];
@@ -341,10 +341,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xg1x4708a4pn2wk8qs2d8kfzzdyv9kjjachg2f1phsx62ap2rx2";
+      sha256 = "1ad0mli9rc0f17zw4ibp24dbj1y39zkykijsjmnzl4gwpg5s0j6k";
       type = "gem";
     };
-    version = "2.5.1";
+    version = "2.5.3";
   };
   minitest = {
     groups = ["default" "test"];
@@ -361,10 +361,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "05yw6rwgjppq116jgqfg4pv4bql3ci4r2fmmg0m2c3sqib1bq41a";
+      sha256 = "15s53ggsykk69kxqvs4416s8yxdhz6caggva55n8sjgy4ixzwp10";
       type = "gem";
     };
-    version = "1.12.0";
+    version = "1.13.0";
   };
   mysql2 = {
     groups = ["default"];
@@ -399,10 +399,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"];
@@ -410,10 +410,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19d78mdg2lbz9jb4ph6nk783c9jbsdm8rnllwhga6pd53xffp6x0";
+      sha256 = "1vrn31385ix5k9b0yalnlzv360isv6dincbcvi8psllnwz4sjxj9";
       type = "gem";
     };
-    version = "1.11.3";
+    version = "1.11.7";
   };
   parallel = {
     groups = ["default" "test"];
@@ -431,10 +431,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04ri489irbbx6sbkclpgri7j7p99v2qib5g2i70xx5fay12ilny8";
+      sha256 = "06ma6w87ph8lnc9z4hi40ynmcdnjv0p8x53x0s3fjkz4q2p6sxh5";
       type = "gem";
     };
-    version = "3.0.1.0";
+    version = "3.0.2.0";
   };
   pg = {
     groups = ["default"];
@@ -470,10 +470,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0wiprd0v4mjqv5p1vqaidr9ci2xm08lcxdz1k50mb1b6nrw6r74k";
+      sha256 = "0bz9y1hxfyv73yb26nvs2kcw08gxi7nxkfc94j82hgx2sifcnv3x";
       type = "gem";
     };
-    version = "5.2.2";
+    version = "5.4.0";
   };
   racc = {
     groups = ["default" "test"];
@@ -523,10 +523,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1p0sa36sngmfkmykcv5qhpr7rzsrc42cd9flhnxjs3r5b0jsl52c";
+      sha256 = "1p17dmifd0v3knh9wja4z4rv0qaybwansnwxmvx6f3rcgkszkpnc";
       type = "gem";
     };
-    version = "5.2.5";
+    version = "5.2.6";
   };
   rails-dom-testing = {
     dependencies = ["activesupport" "nokogiri"];
@@ -556,10 +556,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "072spzdpc8bv35nflr43i67njlriavqkrz6cgyd42adz6bqyval9";
+      sha256 = "0rs97fxv13hgpbmyhk8ag8qzgkh25css0797h90k9w1vg9djl84k";
       type = "gem";
     };
-    version = "5.2.5";
+    version = "5.2.6";
   };
   rainbow = {
     groups = ["default" "test"];
@@ -576,10 +576,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1iik52mf9ky4cgs38fp2m8r6skdkq1yz23vh18lk95fhbcxb6a67";
+      sha256 = "15whn7p9nrkxangbs9hh75q585yfn66lv0v2mhj6q6dl6x8bzr2w";
       type = "gem";
     };
-    version = "13.0.3";
+    version = "13.0.6";
   };
   rbpdf = {
     dependencies = ["htmlentities" "rbpdf-font"];
@@ -691,20 +691,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0f1cv9a9sjqc898qm3h7zmkhwglrjw5blsskbg3gsaws01d4bc47";
+      sha256 = "073w0qgjydkqpsqsb9yr8qg0mhvwlzx6z53hqr2b5zifvb9wzh02";
       type = "gem";
     };
-    version = "1.2.0";
+    version = "2.0.0";
   };
   rqrcode_core = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "00kqasqja8zyzqvlgiwd9r0wndqk01qk5j68a8lhlz4ayrd4qy0y";
+      sha256 = "0d632w2pd34bw9l3bsfnyqaa8vgbz9pxpj29gpf8parqr7wq922k";
       type = "gem";
     };
-    version = "0.2.0";
+    version = "1.1.0";
   };
   rubocop = {
     dependencies = ["parallel" "parser" "rainbow" "regexp_parser" "rexml" "rubocop-ast" "ruby-progressbar" "unicode-display_width"];
@@ -723,10 +723,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0gkf1p8yal38nlvdb39qaiy0gr85fxfr09j5dxh8qvrgpncpnk78";
+      sha256 = "0x6za0j9wwxr14rkkkmpbnwj04lak4yjmkyrdl8c31m9acba80zw";
       type = "gem";
     };
-    version = "1.4.1";
+    version = "1.10.0";
   };
   rubocop-performance = {
     dependencies = ["rubocop" "rubocop-ast"];
@@ -775,10 +775,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0590m2pr9i209pp5z4mx0nb1961ishdiqb28995hw1nln1d1b5ji";
+      sha256 = "0grps9197qyxakbpw02pda59v45lfgbgiyw48i0mq9f2bn9y6mrz";
       type = "gem";
     };
-    version = "2.3.0";
+    version = "2.3.2";
   };
   selenium-webdriver = {
     dependencies = ["childprocess" "rubyzip"];
@@ -892,10 +892,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"];
diff --git a/nixpkgs/pkgs/applications/version-management/sourcehut/core.nix b/nixpkgs/pkgs/applications/version-management/sourcehut/core.nix
index d359d524eb29..7c3a516ed9dc 100644
--- a/nixpkgs/pkgs/applications/version-management/sourcehut/core.nix
+++ b/nixpkgs/pkgs/applications/version-management/sourcehut/core.nix
@@ -16,7 +16,7 @@
 , cryptography
 , beautifulsoup4
 , sqlalchemy-utils
-, prometheus_client
+, prometheus-client
 , celery
 , alembic
 , importlib-metadata
@@ -70,7 +70,7 @@ buildPythonPackage rec {
     cryptography
     beautifulsoup4
     sqlalchemy-utils
-    prometheus_client
+    prometheus-client
 
     # Unofficial runtime dependencies?
     celery
diff --git a/nixpkgs/pkgs/applications/version-management/sourcehut/meta.nix b/nixpkgs/pkgs/applications/version-management/sourcehut/meta.nix
index a285d484ed2a..86d293973d7f 100644
--- a/nixpkgs/pkgs/applications/version-management/sourcehut/meta.nix
+++ b/nixpkgs/pkgs/applications/version-management/sourcehut/meta.nix
@@ -14,7 +14,7 @@
 , dnspython
 , sshpubkeys
 , weasyprint
-, prometheus_client
+, prometheus-client
 , python
 }:
 let
@@ -52,7 +52,7 @@ buildPythonPackage rec {
     pystache
     sshpubkeys
     weasyprint
-    prometheus_client
+    prometheus-client
     dnspython
   ];
 
diff --git a/nixpkgs/pkgs/applications/version-management/sublime-merge/common.nix b/nixpkgs/pkgs/applications/version-management/sublime-merge/common.nix
index e6c83eb55d8c..cb78411527d3 100644
--- a/nixpkgs/pkgs/applications/version-management/sublime-merge/common.nix
+++ b/nixpkgs/pkgs/applications/version-management/sublime-merge/common.nix
@@ -83,7 +83,7 @@ in stdenv.mkDerivation (rec {
   inherit pname;
   version = buildVersion;
 
-  phases = [ "installPhase" ];
+  dontUnpack = true;
 
   ${primaryBinary} = binaryPackage;
 
diff --git a/nixpkgs/pkgs/applications/video/avidemux/default.nix b/nixpkgs/pkgs/applications/video/avidemux/default.nix
index fe767759a82b..ddd20d6b7914 100644
--- a/nixpkgs/pkgs/applications/video/avidemux/default.nix
+++ b/nixpkgs/pkgs/applications/video/avidemux/default.nix
@@ -91,7 +91,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "http://fixounet.free.fr/avidemux/";
     description = "Free video editor designed for simple video editing tasks";
-    maintainers = with maintainers; [ abbradar ma27 ];
+    maintainers = with maintainers; [ abbradar ];
     # "CPU not supported" errors on AArch64
     platforms = [ "i686-linux" "x86_64-linux" ];
     license = licenses.gpl2;
diff --git a/nixpkgs/pkgs/applications/video/catt/default.nix b/nixpkgs/pkgs/applications/video/catt/default.nix
index e4225963cb2b..4b285cfc0075 100644
--- a/nixpkgs/pkgs/applications/video/catt/default.nix
+++ b/nixpkgs/pkgs/applications/video/catt/default.nix
@@ -4,11 +4,11 @@ with python3.pkgs;
 
 buildPythonApplication rec {
   pname = "catt";
-  version = "0.12.1";
+  version = "0.12.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "fef58bf7a8ebaba98399d1077cc4615f53d0196aab2a989df369a66f7111963b";
+    sha256 = "sha256-BOETKTkcbLOu5SubiejswU7D47qWS13QZ7rU9x3jf5Y=";
   };
 
   propagatedBuildInputs = [
@@ -19,6 +19,14 @@ buildPythonApplication rec {
     youtube-dl
   ];
 
+  # remove click when 0.12.3 is released
+  # upstream doesn't use zeroconf directly but pins it for pychromecast
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "zeroconf==0.31.0" "" \
+      --replace "Click>=7.1.2,<8" "click"
+  '';
+
   doCheck = false; # attempts to access various URLs
   pythonImportsCheck = [ "catt" ];
 
@@ -29,4 +37,3 @@ buildPythonApplication rec {
     maintainers = with maintainers; [ dtzWill ];
   };
 }
-
diff --git a/nixpkgs/pkgs/applications/video/ccextractor/default.nix b/nixpkgs/pkgs/applications/video/ccextractor/default.nix
index b559a85d44c6..5bb13e116174 100644
--- a/nixpkgs/pkgs/applications/video/ccextractor/default.nix
+++ b/nixpkgs/pkgs/applications/video/ccextractor/default.nix
@@ -1,25 +1,44 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, cmake
-, glew, glfw3, leptonica, libiconv, tesseract3, zlib }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, pkg-config
+, cmake
+, libiconv
+, zlib
+, enableOcr ? true
+, makeWrapper
+, tesseract4
+, leptonica
+, ffmpeg
+}:
 
-with lib;
 stdenv.mkDerivation rec {
   pname = "ccextractor";
-  version = "0.90";
+  version = "0.93";
 
   src = fetchFromGitHub {
     owner = "CCExtractor";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-NVFCwUZZVt8GrWXWyvoF8UrUZ/ix+GWubKtc3218k7o=";
+    sha256 = "sha256-usVAKBkdd8uz9cD5eLd0hnwGonOJLscRdc+iWDlNXVc=";
   };
 
   sourceRoot = "source/src";
 
-  nativeBuildInputs = [ pkg-config cmake ];
+  nativeBuildInputs = [ pkg-config cmake makeWrapper ];
 
-  buildInputs = [ glew glfw3 leptonica tesseract3 zlib ] ++ lib.optional (!stdenv.isLinux) libiconv;
+  buildInputs = [ zlib ]
+    ++ lib.optional (!stdenv.isLinux) libiconv
+    ++ lib.optionals enableOcr [ leptonica tesseract4 ffmpeg ];
 
-  meta = {
+  cmakeFlags = lib.optionals enableOcr [ "-DWITH_OCR=on" "-DWITH_HARDSUBX=on" ];
+
+  postInstall = lib.optionalString enableOcr ''
+    wrapProgram "$out/bin/ccextractor" \
+      --set TESSDATA_PREFIX "${tesseract4}/share/"
+  '';
+
+  meta = with lib; {
     homepage = "https://www.ccextractor.org";
     description = "Tool that produces subtitles from closed caption data in videos";
     longDescription = ''
@@ -28,7 +47,13 @@ stdenv.mkDerivation rec {
       It works on Linux, Windows, and OSX.
     '';
     platforms = platforms.unix;
-    license = licenses.gpl2;
+    # undefined reference to `png_do_expand_palette_rgba8_neon'
+    # undefined reference to `png_riffle_palette_neon'
+    # undefined reference to `png_do_expand_palette_rgb8_neon'
+    # undefined reference to `png_init_filter_functions_neon'
+    # during Linking C executable ccextractor
+    broken = stdenv.isAarch64;
+    license = licenses.gpl2Only;
     maintainers = with maintainers; [ titanous ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/video/corrscope/default.nix b/nixpkgs/pkgs/applications/video/corrscope/default.nix
index d691882a2c6f..727541e3b53d 100644
--- a/nixpkgs/pkgs/applications/video/corrscope/default.nix
+++ b/nixpkgs/pkgs/applications/video/corrscope/default.nix
@@ -1,6 +1,8 @@
 { lib
 , mkDerivationWith
 , python3Packages
+, fetchFromGitHub
+, fetchpatch
 , wrapQtAppsHook
 , ffmpeg
 , qtbase
@@ -8,36 +10,41 @@
 
 mkDerivationWith python3Packages.buildPythonApplication rec {
   pname = "corrscope";
-  version = "0.7.0";
+  version = "0.7.1";
 
-  src = python3Packages.fetchPypi {
-    inherit pname version;
-    sha256 = "0m62p3jlbx5dlp3j8wn1ka1sqpffsxbpsgv2h5cvj1n1lsgbss2s";
+  src = fetchFromGitHub {
+    owner = "corrscope";
+    repo = "corrscope";
+    rev = version;
+    sha256 = "0c9kmrw6pcda68li04b5j2kmsgdw1q463qlc32wn96zn9hl82v6m";
   };
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace 'attrs>=18.2.0,<19.0.0' 'attrs>=18.2.0' \
-      --replace 'numpy>=1.15,<2.0,!=1.19.4' 'numpy>=1.15,<2.0'
-  '';
+  format = "pyproject";
+
+  patches = [
+    # Remove when bumping past 0.7.1
+    (fetchpatch {
+      name = "0001-Use-poetry-core.patch";
+      url = "https://github.com/corrscope/corrscope/commit/d40d1846dd54b8bccd7b8055d6aece48aacbb943.patch";
+      sha256 = "0xxsbmxdbh3agfm6ww3rpa7ab0ysppan490w0gaqwmwzrxmmdljv";
+    })
+  ];
 
-  nativeBuildInputs = [ wrapQtAppsHook ];
+  nativeBuildInputs = [ wrapQtAppsHook ] ++ (with python3Packages; [ poetry-core ]);
 
   buildInputs = [ ffmpeg qtbase ];
 
-  propagatedBuildInputs = with python3Packages; [ appdirs attrs click matplotlib numpy pyqt5 ruamel_yaml ];
+  propagatedBuildInputs = with python3Packages; [ appdirs atomicwrites attrs click matplotlib numpy pyqt5 ruamel_yaml ];
 
   dontWrapQtApps = true;
 
   preFixup = ''
     makeWrapperArgs+=(
-      --prefix PATH : ${ffmpeg}/bin
+      --prefix PATH : ${lib.makeBinPath [ ffmpeg ]}
       "''${qtWrapperArgs[@]}"
     )
   '';
 
-  preCheck = "export HOME=$TEMP";
-
   meta = with lib; {
     description = "Render wave files into oscilloscope views, featuring advanced correlation-based triggering algorithm";
     longDescription = ''
diff --git a/nixpkgs/pkgs/applications/video/droidcam/default.nix b/nixpkgs/pkgs/applications/video/droidcam/default.nix
index 38d3d6304c68..4284d6dbf9f6 100644
--- a/nixpkgs/pkgs/applications/video/droidcam/default.nix
+++ b/nixpkgs/pkgs/applications/video/droidcam/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "droidcam";
-  version = "1.7.3";
+  version = "1.8.0";
 
   src = fetchFromGitHub {
     owner = "aramg";
     repo = "droidcam";
     rev = "v${version}";
-    sha256 = "sha256-Ok8FJweSzmewjYzfBJQ28xGHKK/Y32ng1hOCPVwc8eU=";
+    sha256 = "sha256-A8FHTAeDFaSDp5Bnfv5NmCC7xIFAw3IcHSD4hZp4vwU=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/video/epgstation/default.nix b/nixpkgs/pkgs/applications/video/epgstation/default.nix
index f1f89b109074..3d910ad4c0e8 100644
--- a/nixpkgs/pkgs/applications/video/epgstation/default.nix
+++ b/nixpkgs/pkgs/applications/video/epgstation/default.nix
@@ -27,7 +27,7 @@ let
     # FIXME: This should be removed when a complete fix is available
     # https://github.com/svanderburg/node2nix/issues/145
     name = "workaround-opencollective-buildfailures";
-    phases = [ "installPhase" ];
+    dontUnpack = true;
     installPhase = ''
       mkdir -p $out/bin
       touch $out/bin/opencollective-postinstall
diff --git a/nixpkgs/pkgs/applications/video/filebot/default.nix b/nixpkgs/pkgs/applications/video/filebot/default.nix
index 92c15fea9a35..a32228176cb9 100644
--- a/nixpkgs/pkgs/applications/video/filebot/default.nix
+++ b/nixpkgs/pkgs/applications/video/filebot/default.nix
@@ -10,11 +10,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "filebot";
-  version = "4.9.3";
+  version = "4.9.4";
 
   src = fetchurl {
     url = "https://web.archive.org/web/20210326102451/https://get.filebot.net/filebot/FileBot_${version}/FileBot_${version}-portable.tar.xz";
-    sha256 = "sha256-T+y8k757/qFCVOCc/SNc7a+KmyscPlowubNQYzMr8jY=";
+    sha256 = "sha256-fz0B9P/UBrlKGPZkheMd/4cFnWHt+brS3zRTv4nVt9o=";
   };
 
   unpackPhase = "tar xvf $src";
diff --git a/nixpkgs/pkgs/applications/video/go-chromecast/default.nix b/nixpkgs/pkgs/applications/video/go-chromecast/default.nix
index 2e3d0221709f..7c0894ee06d8 100644
--- a/nixpkgs/pkgs/applications/video/go-chromecast/default.nix
+++ b/nixpkgs/pkgs/applications/video/go-chromecast/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "go-chromecast";
-  version = "0.2.9";
+  version = "0.2.10";
 
   src = fetchFromGitHub {
     owner = "vishen";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-KhJMgr57pDnuFLhsbf0/4n9w0EfjuuKA46ENPLXox3A=";
+    sha256 = "sha256-8216YaDgjy9Fp94Y5SQwEQpAP4NwvEhsJHe6xpQLAk8=";
   };
 
   vendorSha256 = "sha256-idxElk4Sy7SE9G1OMRw8YH4o8orBa80qhBXPA+ar620=";
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version} -X main.commit=${src.rev} -X main.date=unknown" ];
+  ldflags = [ "-s" "-w" "-X main.version=${version}" "-X main.commit=${src.rev}" "-X main.date=unknown" ];
 
   meta = with lib; {
     homepage = "https://github.com/vishen/go-chromecast";
diff --git a/nixpkgs/pkgs/applications/video/jellyfin-media-player/default.nix b/nixpkgs/pkgs/applications/video/jellyfin-media-player/default.nix
index f7abc95cb0c9..8c23bfc5c298 100644
--- a/nixpkgs/pkgs/applications/video/jellyfin-media-player/default.nix
+++ b/nixpkgs/pkgs/applications/video/jellyfin-media-player/default.nix
@@ -26,13 +26,13 @@
 
 mkDerivation rec {
   pname = "jellyfin-media-player";
-  version = "1.6.0";
+  version = "1.6.1";
 
   src = fetchFromGitHub {
     owner = "jellyfin";
     repo = "jellyfin-media-player";
     rev = "v${version}";
-    sha256 = "sha256-u19WJupSqIzA8W0QG9mue8Ticy+HxBAniuKIUFl7ONs=";
+    sha256 = "sha256-iqwOv95JFxQ1j/9B+oBFAp7mD1/1g2EJYvvUKbrDQes=";
   };
 
   jmpDist = fetchzip {
@@ -105,7 +105,7 @@ mkDerivation rec {
     description = "Jellyfin Desktop Client based on Plex Media Player";
     license = with licenses; [ gpl2Only mit ];
     platforms = [ "x86_64-linux" "x86_64-darwin" ];
-    maintainers = with maintainers; [ jojosch ];
+    maintainers = with maintainers; [ jojosch kranzes ];
     mainProgram = "jellyfinmediaplayer";
   };
 }
diff --git a/nixpkgs/pkgs/applications/video/kazam/default.nix b/nixpkgs/pkgs/applications/video/kazam/default.nix
index f99b4930870e..4ba0fe98df05 100644
--- a/nixpkgs/pkgs/applications/video/kazam/default.nix
+++ b/nixpkgs/pkgs/applications/video/kazam/default.nix
@@ -1,24 +1,44 @@
-{ lib, fetchurl, substituteAll, python3, gst_all_1, wrapGAppsHook, gobject-introspection
-, gtk3, libwnck, keybinder3, intltool, libcanberra-gtk3, libappindicator-gtk3, libpulseaudio
-, fetchpatch }:
-
-python3.pkgs.buildPythonApplication rec {
-  name = "kazam-${version}";
-  version = "1.4.5";
-  namePrefix = "";
-
-  src = fetchurl {
-    url = "https://launchpad.net/kazam/stable/${version}/+download/kazam-${version}.tar.gz";
-    sha256 = "1qygnrvm6aqixbyivhssp70hs0llxwk7lh3j7idxa2jbkk06hj4f";
+{ lib
+, fetchFromGitHub
+, substituteAll
+, python3Packages
+, gst_all_1
+, wrapGAppsHook
+, gobject-introspection
+, gtk3
+, libwnck
+, keybinder3
+, intltool
+, libcanberra-gtk3
+, libappindicator-gtk3
+, libpulseaudio
+, libgudev
+}:
+
+python3Packages.buildPythonApplication rec {
+  pname = "kazam";
+  version = "unstable-2021-06-22";
+
+  src = fetchFromGitHub {
+    owner = "niknah";
+    repo = "kazam";
+    rev = "13f6ce124e5234348f56358b9134a87121f3438c";
+    sha256 = "1jk6khwgdv3nmagdgp5ivz3156pl0ljhf7b6i4b52w1h5ywsg9ah";
   };
 
-  nativeBuildInputs = [ gobject-introspection python3.pkgs.distutils_extra intltool wrapGAppsHook ];
+  nativeBuildInputs = [ gobject-introspection python3Packages.distutils_extra intltool wrapGAppsHook ];
   buildInputs = [
-    gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good gtk3 libwnck
-    keybinder3 libappindicator-gtk3
+    gst_all_1.gstreamer
+    gst_all_1.gst-plugins-base
+    gst_all_1.gst-plugins-good
+    gtk3
+    libwnck
+    keybinder3
+    libappindicator-gtk3
+    libgudev
   ];
 
-  propagatedBuildInputs = with python3.pkgs; [ pygobject3 pyxdg pycairo dbus-python ];
+  propagatedBuildInputs = with python3Packages; [ pygobject3 pyxdg pycairo dbus-python xlib ];
 
   # workaround https://github.com/NixOS/nixpkgs/issues/56943
   strictDeps = false;
@@ -30,11 +50,6 @@ python3.pkgs.buildPythonApplication rec {
       libcanberra = libcanberra-gtk3;
       inherit libpulseaudio;
     })
-    # https://github.com/hzbd/kazam/pull/21
-    (fetchpatch {
-      url = "https://github.com/hzbd/kazam/commit/37e53a5aa61f4223a9ea03ceeda26eeba2b9d37b.patch";
-      sha256 = "1q5dpmdm6cvgzw8xa7bwclnqa05xc73ja1lszwmwv5glyik0fk4z";
-    })
   ];
 
   # no tests
@@ -42,7 +57,7 @@ python3.pkgs.buildPythonApplication rec {
 
   meta = with lib; {
     description = "A screencasting program created with design in mind";
-    homepage = "https://code.launchpad.net/kazam";
+    homepage = "https://github.com/niknah/kazam";
     license = licenses.lgpl3;
     platforms = platforms.linux;
     maintainers = [ maintainers.domenkozar ];
diff --git a/nixpkgs/pkgs/applications/video/kodi-packages/inputstream-adaptive/default.nix b/nixpkgs/pkgs/applications/video/kodi-packages/inputstream-adaptive/default.nix
index 784e0f7faf01..f8d3054cc8b2 100644
--- a/nixpkgs/pkgs/applications/video/kodi-packages/inputstream-adaptive/default.nix
+++ b/nixpkgs/pkgs/applications/video/kodi-packages/inputstream-adaptive/default.nix
@@ -2,13 +2,13 @@
 buildKodiBinaryAddon rec {
   pname = "inputstream-adaptive";
   namespace = "inputstream.adaptive";
-  version = "2.6.20";
+  version = "2.6.23";
 
   src = fetchFromGitHub {
     owner = "xbmc";
     repo = "inputstream.adaptive";
     rev = "${version}-${rel}";
-    sha256 = "0g0pvfdmnd3frsd5sdckv3llwyjiw809rqy1slq3xj6i08xhcmd5";
+    sha256 = "sha256-3w/fMaGqaOHSE7GUJtYoWovBKSOv3sNOIX1UOcp8hQE=";
   };
 
   extraNativeBuildInputs = [ gtest ];
diff --git a/nixpkgs/pkgs/applications/video/kodi-packages/requests-cache/default.nix b/nixpkgs/pkgs/applications/video/kodi-packages/requests-cache/default.nix
new file mode 100644
index 000000000000..de785ab9bb52
--- /dev/null
+++ b/nixpkgs/pkgs/applications/video/kodi-packages/requests-cache/default.nix
@@ -0,0 +1,29 @@
+{ lib, buildKodiAddon, fetchzip, addonUpdateScript, requests }:
+buildKodiAddon rec {
+  pname = "requests-cache";
+  namespace = "script.module.requests-cache";
+  version = "0.5.2+matrix.2";
+
+  src = fetchzip {
+    url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
+    sha256 = "0fgl4jayq6hbhqxg16nfy9qizwf54c8nvg0icv93knaj13zfzkz8";
+  };
+
+  propagatedBuildInputs = [
+    requests
+  ];
+
+  passthru = {
+    pythonPath = "lib";
+    updateScript = addonUpdateScript {
+      attrPath = "kodi.packages.requests-cache";
+    };
+  };
+
+  meta = with lib; {
+    homepage = "https://github.com/reclosedev/requests-cache";
+    description = "Persistent cache for requests library";
+    license = licenses.bsd2;
+    maintainers = teams.kodi.members;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/video/kodi-packages/routing/default.nix b/nixpkgs/pkgs/applications/video/kodi-packages/routing/default.nix
new file mode 100644
index 000000000000..a75e786cf1ff
--- /dev/null
+++ b/nixpkgs/pkgs/applications/video/kodi-packages/routing/default.nix
@@ -0,0 +1,25 @@
+{ lib, buildKodiAddon, fetchzip, addonUpdateScript }:
+buildKodiAddon rec {
+  pname = "routing";
+  namespace = "script.module.routing";
+  version = "0.2.3+matrix.1";
+
+  src = fetchzip {
+    url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
+    sha256 = "1qhp40xd8mbcvzwlamqw1j5l224ry086593948g24drpqiiyc8x6";
+  };
+
+  passthru = {
+    pythonPath = "lib";
+    updateScript = addonUpdateScript {
+      attrPath = "kodi.packages.routing";
+    };
+  };
+
+  meta = with lib; {
+    homepage = "https://github.com/tamland/kodi-plugin-routing";
+    description = "A routing module for kodi plugins";
+    license = licenses.gpl3Plus;
+    maintainers = teams.kodi.members;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/video/kodi-packages/steam-library/default.nix b/nixpkgs/pkgs/applications/video/kodi-packages/steam-library/default.nix
new file mode 100644
index 000000000000..5660be94987f
--- /dev/null
+++ b/nixpkgs/pkgs/applications/video/kodi-packages/steam-library/default.nix
@@ -0,0 +1,27 @@
+{ lib, buildKodiAddon, fetchFromGitHub, requests, requests-cache, routing }:
+
+buildKodiAddon rec {
+  pname = "steam-library";
+  namespace = "plugin.program.steam.library";
+  version = "0.8.0";
+
+  src = fetchFromGitHub {
+    owner = "aanderse";
+    repo = namespace;
+    rev = "v${version}";
+    sha256 = "1d8n8zkprjql0nw5ff752yr994hw2ikd0ny3m9hjr90s4kdykjzr";
+  };
+
+  propagatedBuildInputs = [
+    requests
+    requests-cache
+    routing
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/aanderse/plugin.program.steam.library";
+    description = "View your entire Steam library right from Kodi";
+    license = licenses.gpl3Plus;
+    maintainers = teams.kodi.members;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/video/lightworks/default.nix b/nixpkgs/pkgs/applications/video/lightworks/default.nix
index 352af7754c7e..affc585ed351 100644
--- a/nixpkgs/pkgs/applications/video/lightworks/default.nix
+++ b/nixpkgs/pkgs/applications/video/lightworks/default.nix
@@ -38,7 +38,6 @@ let
     nativeBuildInputs = [ makeWrapper ];
     buildInputs = [ dpkg ];
 
-    phases = [ "unpackPhase" "installPhase" ];
     unpackPhase = "dpkg-deb -x ${src} ./";
 
     installPhase = ''
diff --git a/nixpkgs/pkgs/applications/video/makemkv/default.nix b/nixpkgs/pkgs/applications/video/makemkv/default.nix
index 9ab35b92a862..180d5e8e8293 100644
--- a/nixpkgs/pkgs/applications/video/makemkv/default.nix
+++ b/nixpkgs/pkgs/applications/video/makemkv/default.nix
@@ -13,22 +13,23 @@
 }:
 
 let
-  version = "1.16.3";
+  version = "1.16.4";
   # Using two URLs as the first one will break as soon as a new version is released
   src_bin = fetchurl {
     urls = [
       "http://www.makemkv.com/download/makemkv-bin-${version}.tar.gz"
       "http://www.makemkv.com/download/old/makemkv-bin-${version}.tar.gz"
     ];
-    hash = "sha256-G2XceMwiFu4fWT4L3HJzDB/rD3eSX6ko6RdVw72QLzg=";
+    sha256 = "18kalql846b9ggl3nsz2dpbg51byn8pj0y68fsdcgwwkgvsx7yr2";
   };
   src_oss = fetchurl {
     urls = [
       "http://www.makemkv.com/download/makemkv-oss-${version}.tar.gz"
       "http://www.makemkv.com/download/old/makemkv-oss-${version}.tar.gz"
     ];
-    hash = "sha256-YUGozP9B6vmWQ4WxctSbezzu+0yLJXNKQk9TwnQF8F0=";
+    sha256 = "0ssg3q1z80652d4gkv1z7kpsxx82xcw6kpsw266c8q4y2n8x7c76";
   };
+
 in mkDerivation {
   pname = "makemkv";
   inherit version;
@@ -51,9 +52,15 @@ in mkDerivation {
   installPhase = ''
     runHook preInstall
 
-    install -Dm555 -t $out/bin           out/makemkv ../makemkv-bin-${version}/bin/amd64/makemkvcon
-    install -D     -t $out/lib           out/lib{driveio,makemkv,mmbd}.so.*
-    install -D     -t $out/share/MakeMKV ../makemkv-bin-${version}/src/share/*
+    install -Dm555 -t $out/bin                          out/makemkv ../makemkv-bin-${version}/bin/amd64/makemkvcon
+    install -D     -t $out/lib                          out/lib{driveio,makemkv,mmbd}.so.*
+    install -D     -t $out/share/MakeMKV                ../makemkv-bin-${version}/src/share/*
+    install -Dm444 -t $out/share/applications           ../makemkv-oss-${version}/makemkvgui/share/makemkv.desktop
+    install -Dm444 -t $out/share/icons/hicolor/16x16    ../makemkv-oss-${version}/makemkvgui/share/icons/16x16/*
+    install -Dm444 -t $out/share/icons/hicolor/32x32    ../makemkv-oss-${version}/makemkvgui/share/icons/32x32/*
+    install -Dm444 -t $out/share/icons/hicolor/64x64    ../makemkv-oss-${version}/makemkvgui/share/icons/64x64/*
+    install -Dm444 -t $out/share/icons/hicolor/128x128  ../makemkv-oss-${version}/makemkvgui/share/icons/128x128/*
+    install -Dm444 -t $out/share/icons/hicolor/256x256  ../makemkv-oss-${version}/makemkvgui/share/icons/256x256/*
 
     runHook postInstall
   '';
diff --git a/nixpkgs/pkgs/applications/video/manim/default.nix b/nixpkgs/pkgs/applications/video/manim/default.nix
index 0f224a5b1057..5da81eff50e6 100644
--- a/nixpkgs/pkgs/applications/video/manim/default.nix
+++ b/nixpkgs/pkgs/applications/video/manim/default.nix
@@ -44,7 +44,7 @@ buildPythonApplication rec {
       python3 manim.py example_scenes.py $scene -l
       tail -n 20 files/Tex/*.log  # Print potential LaTeX erorrs
       ${file}/bin/file videos/example_scenes/480p15/$scene.mp4 \
-        | tee | grep -F "ISO Media, MP4 Base Media v1 [IS0 14496-12:2003]"
+        | tee | grep -F "ISO Media, MP4 Base Media v1 [ISO 14496-12:2003]"
     done
   '';
 
diff --git a/nixpkgs/pkgs/applications/video/mkvtoolnix/default.nix b/nixpkgs/pkgs/applications/video/mkvtoolnix/default.nix
index 23bad049d6f8..0f271dd889e8 100644
--- a/nixpkgs/pkgs/applications/video/mkvtoolnix/default.nix
+++ b/nixpkgs/pkgs/applications/video/mkvtoolnix/default.nix
@@ -1,69 +1,141 @@
-{ lib, stdenv, fetchFromGitLab, pkg-config, autoconf, automake, libiconv, drake
-, ruby, docbook_xsl, file, xdg-utils, gettext, expat, boost, libebml, zlib
-, fmt, libmatroska, libogg, libvorbis, flac, libxslt, cmark, pcre2
+{ lib
+, stdenv
+, fetchFromGitLab
+, pkg-config
+, autoreconfHook
+, qmake
+, rake
+, boost
+, cmark
+, docbook_xsl
+, expat
+, file
+, flac
+, fmt
+, gettext
+, gmp
+, gtest
+, libdvdread
+, libebml
+, libiconv
+, libmatroska
+, libogg
+, libvorbis
+, libxslt
+, nlohmann_json
+, pugixml
+, qtbase
+, qtmultimedia
+, xdg-utils
+, zlib
 , withGUI ? true
-  , qtbase ? null
-  , qtmultimedia ? null
-  , wrapQtAppsHook ? null
+, wrapQtAppsHook
 }:
 
-assert withGUI -> qtbase != null && qtmultimedia != null && wrapQtAppsHook != null;
+let
+  inherit (lib) enableFeature optional optionals optionalString;
 
-with lib;
+  phase = name: args:
+    ''
+      runHook pre${name}
 
+      rake ${args}
+
+      runHook post${name}
+    '';
+
+in
 stdenv.mkDerivation rec {
   pname = "mkvtoolnix";
-  version = "56.0.0";
+  version = "60.0.0";
 
   src = fetchFromGitLab {
-    owner  = "mbunkus";
-    repo   = "mkvtoolnix";
-    rev    = "release-${version}";
-    sha256 = "0nhpp1zkggxqjj7lhj6as5mcjcz5yk3l1d1xcgs7i9153blam1yj";
+    owner = "mbunkus";
+    repo = "mkvtoolnix";
+    rev = "release-${version}";
+    sha256 = "sha256-WtEC/EH0G1Tm6OK6hmVRzloLkO8mxxOYYZY7k/Wi2zE=";
   };
 
   nativeBuildInputs = [
-    pkg-config autoconf automake gettext
-    drake ruby docbook_xsl libxslt
-  ];
+    autoreconfHook
+    docbook_xsl
+    gettext
+    gtest
+    libxslt
+    pkg-config
+    rake
+  ]
+  ++ optional withGUI wrapQtAppsHook;
 
+  # 1. qtbase and qtmultimedia are needed without the GUI
+  # 2. we have utf8cpp in nixpkgs but it doesn't find it
   buildInputs = [
-    expat file xdg-utils boost libebml zlib fmt
-    libmatroska libogg libvorbis flac cmark pcre2
-  ] ++ optional  stdenv.isDarwin libiconv
-    ++ optionals withGUI [ qtbase qtmultimedia wrapQtAppsHook ];
+    boost
+    expat
+    file
+    flac
+    fmt
+    gmp
+    libdvdread
+    libebml
+    libmatroska
+    libogg
+    libvorbis
+    nlohmann_json
+    pugixml
+    qtbase
+    qtmultimedia
+    xdg-utils
+    zlib
+  ]
+  ++ optional withGUI cmark
+  ++ optional stdenv.isDarwin libiconv;
 
-  preConfigure = "./autogen.sh; patchShebangs .";
-  buildPhase   = "drake -j $NIX_BUILD_CORES";
-  installPhase = "drake install -j $NIX_BUILD_CORES";
+  # autoupdate is not needed but it silences a ton of pointless warnings
+  postPatch = ''
+    patchShebangs . > /dev/null
+    autoupdate configure.ac ac/*.m4
+  '';
 
   configureFlags = [
-    "--enable-magic"
-    "--enable-optimization"
-    "--with-boost-libdir=${boost.out}/lib"
     "--disable-debug"
-    "--disable-profiling"
     "--disable-precompiled-headers"
+    "--disable-profiling"
     "--disable-static-qt"
-    "--with-gettext"
+    "--enable-optimization"
+    "--with-boost-libdir=${boost.out}/lib"
     "--with-docbook-xsl-root=${docbook_xsl}/share/xml/docbook-xsl"
-    (enableFeature withGUI "qt")
+    "--with-gettext"
+    (enableFeature withGUI "gui")
   ];
 
+  buildPhase = phase "Build" "";
+
+  installPhase = phase "Install" "install";
+
+  doCheck = true;
+
+  checkPhase = phase "Check" "tests:run_unit";
+
   CXXFLAGS = optional stdenv.cc.isClang "-std=c++17";
   LDFLAGS = optional stdenv.cc.isClang "-lc++fs";
 
   dontWrapQtApps = true;
+
+  # Avoid Qt 5.12 problem on Big Sur: https://bugreports.qt.io/browse/QTBUG-87014
+  qtWrapperArgs = lib.optionals stdenv.isDarwin [
+    "--set QT_MAC_WANTS_LAYER 1"
+  ];
+
   postFixup = optionalString withGUI ''
     wrapQtApp $out/bin/mkvtoolnix-gui
   '';
 
   meta = with lib; {
     description = "Cross-platform tools for Matroska";
-    homepage    = "http://www.bunkus.org/videotools/mkvtoolnix/";
-    license     = licenses.gpl2Only;
+    homepage = "https://mkvtoolnix.download/";
+    license = licenses.gpl2Only;
     maintainers = with maintainers; [ codyopel rnhmjoj ];
-    platforms   = platforms.linux
-      ++ optionals (!withGUI) platforms.darwin;
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/applications/video/mpv/default.nix b/nixpkgs/pkgs/applications/video/mpv/default.nix
index 3bde15430579..93c3b2203b75 100644
--- a/nixpkgs/pkgs/applications/video/mpv/default.nix
+++ b/nixpkgs/pkgs/applications/video/mpv/default.nix
@@ -97,6 +97,8 @@ in stdenv.mkDerivation rec {
   pname = "mpv";
   version = "0.33.1";
 
+  outputs = [ "out" "dev" ];
+
   src = fetchFromGitHub {
     owner  = "mpv-player";
     repo   = "mpv";
@@ -153,8 +155,7 @@ in stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     addOpenGLRunpath docutils perl pkg-config python3 wafHook which
-  ]
-    ++ optional swiftSupport swift;
+  ] ++ optional swiftSupport swift;
 
   buildInputs = [
     ffmpeg freetype libass libpthreadstubs
@@ -206,6 +207,9 @@ in stdenv.mkDerivation rec {
     cp TOOLS/umpv $out/bin
     cp $out/share/applications/mpv.desktop $out/share/applications/umpv.desktop
     sed -i '/Icon=/ ! s/mpv/umpv/g' $out/share/applications/umpv.desktop
+
+    substituteInPlace $out/lib/pkgconfig/mpv.pc \
+      --replace "$out/include" "$dev/include"
   '' + optionalString stdenv.isDarwin ''
     mkdir -p $out/Applications
     cp -r build/mpv.app $out/Applications
diff --git a/nixpkgs/pkgs/applications/video/mpv/scripts/mpv-playlistmanager.nix b/nixpkgs/pkgs/applications/video/mpv/scripts/mpv-playlistmanager.nix
index b7e95324f58e..0b750332ea7f 100644
--- a/nixpkgs/pkgs/applications/video/mpv/scripts/mpv-playlistmanager.nix
+++ b/nixpkgs/pkgs/applications/video/mpv/scripts/mpv-playlistmanager.nix
@@ -2,13 +2,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "mpv-playlistmanager";
-  version = "unstable-2021-03-09";
+  version = "unstable-2021-08-17";
 
   src = fetchFromGitHub {
     owner = "jonniek";
     repo = "mpv-playlistmanager";
-    rev = "c15a0334cf6d4581882fa31ddb1e6e7f2d937a3e";
-    sha256 = "uxcvgcSGS61UU8MmuD6qMRqpIa53iasH/vkg1xY7MVc=";
+    rev = "44d6911856a39e9a4057d19b70f21a9bc18bd6a9";
+    sha256 = "IwH6XngfrZlKGDab/ut43hzHeino8DmWzWRX8Av21Sk=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/applications/video/mpv/scripts/simple-mpv-webui.nix b/nixpkgs/pkgs/applications/video/mpv/scripts/simple-mpv-webui.nix
index 99b731757ff9..01f2c3a099fa 100644
--- a/nixpkgs/pkgs/applications/video/mpv/scripts/simple-mpv-webui.nix
+++ b/nixpkgs/pkgs/applications/video/mpv/scripts/simple-mpv-webui.nix
@@ -2,13 +2,13 @@
 , fetchFromGitHub }:
 stdenvNoCC.mkDerivation rec {
   pname = "simple-mpv-ui";
-  version = "1.0.0";
+  version = "2.1.0";
 
   src = fetchFromGitHub {
     owner = "open-dynaMIX";
     repo = "simple-mpv-webui";
     rev = "v${version}";
-    sha256 = "1glrnnl1slcl0ri0zs4j64lc9aa52p9ffh6av0d81fk95nm98917";
+    sha256 = "1z0y8sdv5mbxznxqh43w5592ym688vkvqg7w26p8cinrhf09pbw8";
   };
 
   dontBuild = true;
@@ -21,7 +21,7 @@ stdenvNoCC.mkDerivation rec {
   meta = with lib; {
     description = "A web based user interface with controls for the mpv mediaplayer";
     homepage = "https://github.com/open-dynaMIX/simple-mpv-webui";
-    maintainers = [ maintainers.cript0nauta ];
+    maintainers = with maintainers; [ cript0nauta zopieux ];
     longDescription = ''
       You can access the webui when accessing http://127.0.0.1:8080 or
       http://[::1]:8080 in your webbrowser. By default it listens on
diff --git a/nixpkgs/pkgs/applications/video/mpv/wrapper.nix b/nixpkgs/pkgs/applications/video/mpv/wrapper.nix
index 4d61971956e9..5225197772c7 100644
--- a/nixpkgs/pkgs/applications/video/mpv/wrapper.nix
+++ b/nixpkgs/pkgs/applications/video/mpv/wrapper.nix
@@ -61,7 +61,8 @@ let
     symlinkJoin {
       name = "mpv-with-scripts-${mpv.version}";
 
-      paths = [ mpv ];
+      # TODO: don't link all mpv outputs and convert package to mpv-unwrapped?
+      paths = [ mpv.all ];
 
       buildInputs = [ makeWrapper ];
 
diff --git a/nixpkgs/pkgs/applications/video/obs-studio/default.nix b/nixpkgs/pkgs/applications/video/obs-studio/default.nix
index d7784279c315..82040203c4f3 100644
--- a/nixpkgs/pkgs/applications/video/obs-studio/default.nix
+++ b/nixpkgs/pkgs/applications/video/obs-studio/default.nix
@@ -1,4 +1,6 @@
-{ config, lib, stdenv
+{ config
+, lib
+, stdenv
 , mkDerivation
 , fetchFromGitHub
 , addOpenGLRunpath
@@ -41,7 +43,8 @@
 let
   inherit (lib) optional optionals;
 
-in mkDerivation rec {
+in
+mkDerivation rec {
   pname = "obs-studio";
   version = "27.0.0";
 
@@ -61,7 +64,13 @@ in mkDerivation rec {
     ./Change-product_version-to-user_agent_product.patch
   ];
 
-  nativeBuildInputs = [ addOpenGLRunpath cmake pkg-config ];
+  nativeBuildInputs = [
+    addOpenGLRunpath
+    cmake
+    pkg-config
+    makeWrapper
+  ]
+  ++ optional scriptingSupport swig;
 
   buildInputs = [
     curl
@@ -81,10 +90,9 @@ in mkDerivation rec {
     wayland
     x264
     libvlc
-    makeWrapper
     mbedtls
   ]
-  ++ optionals scriptingSupport [ luajit swig python3 ]
+  ++ optionals scriptingSupport [ luajit python3 ]
   ++ optional alsaSupport alsa-lib
   ++ optional pulseaudioSupport libpulseaudio
   ++ optional pipewireSupport pipewire;
@@ -132,7 +140,7 @@ in mkDerivation rec {
     '';
     homepage = "https://obsproject.com";
     maintainers = with maintainers; [ jb55 MP2E V ];
-    license = licenses.gpl2;
-    platforms = [ "x86_64-linux" "i686-linux" ];
+    license = licenses.gpl2Plus;
+    platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/video/obs-studio/plugins/default.nix b/nixpkgs/pkgs/applications/video/obs-studio/plugins/default.nix
index ef360487a6b1..95b41c1c86f1 100644
--- a/nixpkgs/pkgs/applications/video/obs-studio/plugins/default.nix
+++ b/nixpkgs/pkgs/applications/video/obs-studio/plugins/default.nix
@@ -5,6 +5,8 @@
   obs-move-transition = callPackage ./obs-move-transition.nix {};
   obs-multi-rtmp = libsForQt5.callPackage ./obs-multi-rtmp.nix {};
   obs-ndi = libsForQt5.callPackage ./obs-ndi.nix {};
+  obs-websocket = libsForQt5.callPackage ./obs-websocket.nix {};
   wlrobs = callPackage ./wlrobs.nix {};
   looking-glass-obs = callPackage ./looking-glass-obs.nix {};
+  obs-nvfbc = callPackage ./obs-nvfbc.nix {};
 }
diff --git a/nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-multi-rtmp.nix b/nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-multi-rtmp.nix
index 0122cba0f3d8..9985b7fd0f15 100644
--- a/nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-multi-rtmp.nix
+++ b/nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-multi-rtmp.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "obs-multi-rtmp";
-  version = "0.2.6";
+  version = "0.2.6.1";
 
   src = fetchFromGitHub {
     owner = "sorayuki";
     repo = "obs-multi-rtmp";
     rev = version;
-    sha256 = "sha256-SMcVL54HwFIc7/wejEol2XiZhlZCMVCwHHtIKJ/CoYY=";
+    sha256 = "sha256-ZcvmiE9gbDUHAO36QAIaUdjV14ZfPabD9CW7Ogeqdro=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-nvfbc.nix b/nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-nvfbc.nix
new file mode 100644
index 000000000000..e64031ce7bbe
--- /dev/null
+++ b/nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-nvfbc.nix
@@ -0,0 +1,25 @@
+{ stdenv, lib, fetchFromGitLab, meson, ninja, pkg-config
+, obs-studio, libGL, libX11
+}:
+
+stdenv.mkDerivation rec {
+  pname = "obs-nvfbc";
+  version = "0.0.3";
+
+  src = fetchFromGitLab {
+    owner = "fzwoch";
+    repo = "obs-nvfbc";
+    rev = "v${version}";
+    sha256 = "0zyvks6gc6fr0a1j5b4y20rcx6ah35v6yiz05f6g3x6bhqi92l33";
+  };
+
+  nativeBuildInputs = [ meson pkg-config ninja ];
+  buildInputs = [ obs-studio libGL libX11 ];
+
+  meta = with lib; {
+    description = "OBS Studio source plugin for NVIDIA FBC API";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ babbaj ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/video/openshot-qt/default.nix b/nixpkgs/pkgs/applications/video/openshot-qt/default.nix
index c25e53b657b6..11f102085bc2 100644
--- a/nixpkgs/pkgs/applications/video/openshot-qt/default.nix
+++ b/nixpkgs/pkgs/applications/video/openshot-qt/default.nix
@@ -5,13 +5,13 @@
 
 mkDerivationWith python3Packages.buildPythonApplication rec {
   pname = "openshot-qt";
-  version = "2.5.1";
+  version = "2.6.0";
 
   src = fetchFromGitHub {
     owner = "OpenShot";
     repo = "openshot-qt";
     rev = "v${version}";
-    sha256 = "0qc5i0ay6j2wab1whl41sjb71cj02pg6y79drf7asrprq8b2rmfq";
+    sha256 = "0b11h335krvflpksdlhsrq3rqkb8asipnyaf62di2z32ci3irrpq";
   };
 
   nativeBuildInputs = [ doxygen wrapGAppsHook ];
diff --git a/nixpkgs/pkgs/applications/video/plex-mpv-shim/default.nix b/nixpkgs/pkgs/applications/video/plex-mpv-shim/default.nix
index d1b88da37fae..b82b7fd2436d 100644
--- a/nixpkgs/pkgs/applications/video/plex-mpv-shim/default.nix
+++ b/nixpkgs/pkgs/applications/video/plex-mpv-shim/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonApplication rec {
   pname = "plex-mpv-shim";
-  version = "1.10.0";
+  version = "1.10.1";
 
   src = fetchFromGitHub {
     owner = "iwalton3";
     repo = pname;
     rev = "v${version}";
-    sha256 = "18bd2nvlwzkmadimlkh7rs8rnp0ppfx1dzkxb11dq84pdpbl25pc";
+    sha256 = "1ql7idkm916f1wlkqxqmq1i2pc94gbgq6pvb8szhb21icyy5d1y0";
   };
 
   propagatedBuildInputs = [ mpv requests python-mpv-jsonipc ];
diff --git a/nixpkgs/pkgs/applications/video/qarte/default.nix b/nixpkgs/pkgs/applications/video/qarte/default.nix
index 26b3153019fb..116cf39e3fb8 100644
--- a/nixpkgs/pkgs/applications/video/qarte/default.nix
+++ b/nixpkgs/pkgs/applications/video/qarte/default.nix
@@ -3,17 +3,20 @@
 let
   pythonEnv = python3.withPackages (ps: with ps; [ pyqt5_with_qtmultimedia ]);
 in mkDerivation {
-  name = "qarte-4.6.0";
+  pname = "qarte";
+  version = "4.12.0";
+
   src = fetchbzr {
     url = "http://bazaar.launchpad.net/~vincent-vandevyvre/qarte/qarte-4";
-    rev = "22";
-    sha256 = "0v4zpj8w67ydvnmanxbl8pwvn0cfv70c0mlw36a1r4n0rvgxffcn";
+    rev = "56";
+    sha256 = "0cq9dg04grl45xw43gi9wsb0vm8c4bcvh813h5lm4ry8b94lfx2i";
   };
 
   buildInputs = [ pythonEnv ];
 
   installPhase = ''
     runHook preInstall
+
     mkdir -p $out/bin
     mv qarte $out/bin/
     substituteInPlace $out/bin/qarte \
@@ -24,6 +27,7 @@ in mkDerivation {
 
     mkdir -p $out/share/qarte
     mv * $out/share/qarte/
+
     runHook postInstall
   '';
 
@@ -32,11 +36,11 @@ in mkDerivation {
       --prefix PATH : ${rtmpdump}/bin
   '';
 
-  meta = {
+  meta = with lib; {
     homepage = "https://launchpad.net/qarte";
     description = "A recorder for Arte TV Guide and Arte Concert";
-    license = lib.licenses.gpl3;
-    maintainers = with lib.maintainers; [ vbgl ];
-    platforms = lib.platforms.linux;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ vbgl ];
+    platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/video/qmplay2/default.nix b/nixpkgs/pkgs/applications/video/qmplay2/default.nix
index 0e0580b9f2ae..538f540c63be 100644
--- a/nixpkgs/pkgs/applications/video/qmplay2/default.nix
+++ b/nixpkgs/pkgs/applications/video/qmplay2/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchFromGitHub
 , pkg-config
 , cmake
@@ -19,25 +20,27 @@
 , vulkan-tools
 , wrapQtAppsHook
 }:
-
-let
+stdenv.mkDerivation rec {
   pname = "qmplay2";
-  version = "20.12.16";
-in stdenv.mkDerivation {
-  inherit pname version;
+  version = "21.06.07";
 
   src = fetchFromGitHub {
     owner = "zaps166";
     repo = "QMPlay2";
     rev = version;
-    sha256 = "sha256-+XXlQI9MyENioYmzqbbZYQ6kaMATBjPrPaErR2Vqhus=";
+    sha256 = "sha256-NV9uglYnqebXhMx8uL0DhGe9l5TBVjlSIaB4IWC8YAc=";
     fetchSubmodules = true;
   };
 
-  nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ];
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+    wrapQtAppsHook
+  ];
   buildInputs = [
     alsa-lib
     ffmpeg
+    libXv
     libass
     libcddb
     libcdio
@@ -45,7 +48,6 @@ in stdenv.mkDerivation {
     libpulseaudio
     libsidplayfp
     libva
-    libXv
     qtbase
     qttools
     taglib
diff --git a/nixpkgs/pkgs/applications/video/shotcut/default.nix b/nixpkgs/pkgs/applications/video/shotcut/default.nix
index 3a9c4809c623..6ea41b4d9259 100644
--- a/nixpkgs/pkgs/applications/video/shotcut/default.nix
+++ b/nixpkgs/pkgs/applications/video/shotcut/default.nix
@@ -34,7 +34,6 @@ mkDerivation rec {
     sha256 = "UdeHbNkJ0U9FeTmpbcU4JxiyIHkrlC8ErhtY6zdCZEk=";
   };
 
-  enableParallelBuilding = true;
   nativeBuildInputs = [ pkg-config qmake ];
   buildInputs = [
     SDL2
diff --git a/nixpkgs/pkgs/applications/video/srtrelay/default.nix b/nixpkgs/pkgs/applications/video/srtrelay/default.nix
new file mode 100644
index 000000000000..5fffdca9e38d
--- /dev/null
+++ b/nixpkgs/pkgs/applications/video/srtrelay/default.nix
@@ -0,0 +1,25 @@
+{ lib, buildGoModule, fetchFromGitHub, srt, ffmpeg }:
+
+buildGoModule rec {
+  pname = "srtrelay-unstable";
+  version = "2021-07-28";
+
+  src = fetchFromGitHub {
+    owner = "voc";
+    repo = "srtrelay";
+    rev = "c4f02ff2e9637b01a0679b29e5a76f4521eeeef3";
+    sha256 = "06zbl97bjjyv51zp27qk37ffpbh1ylm9bsr0s5qlyd73pyavcj1g";
+  };
+
+  vendorSha256 = "1pdpb0my7gdvjjkka6jhj19b9nx575k6117hg536b106ij2n4zd2";
+
+  buildInputs = [ srt ];
+  checkInputs = [ ffmpeg ];
+
+  meta = with lib; {
+    description = "Streaming-Relay for the SRT-protocol";
+    homepage = "https://github.com/voc/srtrelay";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fpletz ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/video/streamlink-twitch-gui/bin.nix b/nixpkgs/pkgs/applications/video/streamlink-twitch-gui/bin.nix
index 32a35eca9200..53e87fbb2b9d 100644
--- a/nixpkgs/pkgs/applications/video/streamlink-twitch-gui/bin.nix
+++ b/nixpkgs/pkgs/applications/video/streamlink-twitch-gui/bin.nix
@@ -28,6 +28,7 @@
 let
   basename = "streamlink-twitch-gui";
   runtimeLibs = lib.makeLibraryPath [ libudev0-shim ];
+  runtimeBins = lib.makeBinPath [ streamlink ];
   arch =
     if stdenv.hostPlatform.system == "x86_64-linux"
     then
@@ -90,16 +91,23 @@ stdenv.mkDerivation rec {
   dontConfigure = true;
 
   installPhase = ''
+    runHook preInstall
     mkdir -p $out/{bin,opt/${basename},share}
 
     # Install all files, remove unnecessary ones
     cp -a . $out/opt/${basename}/
     rm -r $out/opt/${basename}/{{add,remove}-menuitem.sh,credits.html,icons/}
-
-    wrapProgram $out/opt/${basename}/${basename} --add-flags "--no-version-check" --prefix LD_LIBRARY_PATH : ${runtimeLibs}
-
     ln -s "$out/opt/${basename}/${basename}" $out/bin/
-    ln -s "${desktopItem}/share/applications" $out/share/
+    cp -r "${desktopItem}/share/applications" $out/share/
+    runHook postInstall
+  '';
+
+  preFixup = ''
+    gappsWrapperArgs+=(
+      --add-flags "--no-version-check" \
+      --prefix LD_LIBRARY_PATH : ${runtimeLibs} \
+      --prefix PATH : ${runtimeBins}
+    )
   '';
 
   desktopItem = makeDesktopItem {
@@ -115,7 +123,7 @@ stdenv.mkDerivation rec {
     description = "Twitch.tv browser for Streamlink";
     longDescription = "Browse Twitch.tv and watch streams in your videoplayer of choice";
     homepage = "https://streamlink.github.io/streamlink-twitch-gui/";
-    downloadPage = https://github.com/streamlink/streamlink-twitch-gui/releases;
+    downloadPage = "https://github.com/streamlink/streamlink-twitch-gui/releases";
     license = licenses.mit;
     maintainers = with maintainers; [ rileyinman ];
     platforms = [ "x86_64-linux" "i686-linux" ];
diff --git a/nixpkgs/pkgs/applications/video/streamlink/default.nix b/nixpkgs/pkgs/applications/video/streamlink/default.nix
index fde2833c98c3..8097c5dbe92a 100644
--- a/nixpkgs/pkgs/applications/video/streamlink/default.nix
+++ b/nixpkgs/pkgs/applications/video/streamlink/default.nix
@@ -7,13 +7,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "streamlink";
-  version = "2.2.0";
+  version = "2.3.0";
 
   src = fetchFromGitHub {
     owner = "streamlink";
     repo = "streamlink";
     rev = version;
-    sha256 = "1323v1pavmbb2vk3djdkxd8j6i3yrcgrkyl2d7xwkb7nwlla1x1v";
+    sha256 = "sha256-lsurDFvVHn1rxR3bgG7BY512ISavpja36/UaKXauf+g=";
   };
 
   checkInputs = with python3.pkgs; [
@@ -35,9 +35,11 @@ python3.pkgs.buildPythonApplication rec {
     ffmpeg
   ];
 
-  disabledTests = [
-    "test_plugin_not_in_removed_list"
-  ];
+  # note that upstream currently uses requests 2.25.1 in Windows builds
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace 'requests>=2.26.0,<3.0' 'requests>=2.25.1,<3.0'
+  '';
 
   meta = with lib; {
     homepage = "https://github.com/streamlink/streamlink";
diff --git a/nixpkgs/pkgs/applications/video/tartube/default.nix b/nixpkgs/pkgs/applications/video/tartube/default.nix
index 69f777541a46..74ce4446a195 100644
--- a/nixpkgs/pkgs/applications/video/tartube/default.nix
+++ b/nixpkgs/pkgs/applications/video/tartube/default.nix
@@ -15,13 +15,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "tartube";
-  version = "2.3.110";
+  version = "2.3.332";
 
   src = fetchFromGitHub {
     owner = "axcore";
     repo = "tartube";
     rev = "v${version}";
-    sha256 = "0sdbd2lsc4bvgkwi55arjwbzwmq05abfmv6vsrvz4gsdv8s8wha5";
+    sha256 = "1m7p4chpvbh4mswsymh89dksdgwhmnkpfbx9zi2jzqgkinfd6a2k";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/video/vdr/wrapper.nix b/nixpkgs/pkgs/applications/video/vdr/wrapper.nix
index 50d3b9d65a8d..04984212b249 100644
--- a/nixpkgs/pkgs/applications/video/vdr/wrapper.nix
+++ b/nixpkgs/pkgs/applications/video/vdr/wrapper.nix
@@ -24,7 +24,7 @@ in symlinkJoin {
     inherit license homepage;
     description = description
     + " (with plugins: "
-    + lib.concatStrings (lib.intersperse ", " (map (x: ""+x.name) plugins))
+    + lib.concatStringsSep ", " (map (x: ""+x.name) plugins)
     + ")";
   };
 }
diff --git a/nixpkgs/pkgs/applications/video/vlc/default.nix b/nixpkgs/pkgs/applications/video/vlc/default.nix
index 6098aeba0514..46669dff5306 100644
--- a/nixpkgs/pkgs/applications/video/vlc/default.nix
+++ b/nixpkgs/pkgs/applications/video/vlc/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, autoreconfHook
+{ lib, stdenv, fetchurl, autoreconfHook, fetchpatch
 , libarchive, perl, xorg, libdvdnav, libbluray
 , zlib, a52dec, libmad, faad2, ffmpeg, alsa-lib
 , pkg-config, dbus, fribidi, freefont_ttf, libebml, libmatroska
@@ -8,6 +8,7 @@
 , libmtp, unzip, taglib, libkate, libtiger, libv4l, samba, libssh2, liboggz
 , libass, libva, libdvbpsi, libdc1394, libraw1394, libopus
 , libvdpau, libsamplerate, live555, fluidsynth, wayland, wayland-protocols
+, ncurses, srt
 , onlyLibVLC ? false
 , withQt5 ? true, qtbase, qtsvg, qtx11extras, wrapQtAppsHook
 , jackSupport ? false
@@ -42,7 +43,7 @@ stdenv.mkDerivation rec {
     libkate libtiger libv4l samba libssh2 liboggz libass libdvbpsi libva
     xorg.xlibsWrapper xorg.libXv xorg.libXvMC xorg.libXpm xorg.xcbutilkeysyms
     libdc1394 libraw1394 libopus libebml libmatroska libvdpau libsamplerate
-    fluidsynth wayland wayland-protocols
+    fluidsynth wayland wayland-protocols ncurses srt
   ] ++ optional (!stdenv.hostPlatform.isAarch64) live555
     ++ optionals withQt5    [ qtbase qtsvg qtx11extras ]
     ++ optionals skins2Support (with xorg; [ libXpm freetype libXext libXinerama ])
@@ -60,6 +61,13 @@ stdenv.mkDerivation rec {
   # set the path to the compiler
   BUILDCC = "${stdenv.cc}/bin/gcc";
 
+  patches = [
+    (fetchpatch {
+      url = "https://raw.githubusercontent.com/archlinux/svntogit-packages/4250fe8f28c220d883db454cec2b2c76a07473eb/trunk/vlc-3.0.11.1-srt_1.4.2.patch";
+      sha256 = "53poWjZfwq/6l316sqiCp0AtcGweyXBntcLDFPSokHQ=";
+    })
+  ];
+
   postPatch = ''
     substituteInPlace modules/text_renderer/freetype/platform_fonts.h --replace \
       /usr/share/fonts/truetype/freefont ${freefont_ttf}/share/fonts/truetype
@@ -79,6 +87,7 @@ stdenv.mkDerivation rec {
   # "--enable-foo" flags here
   configureFlags = [
     "--with-kde-solid=$out/share/apps/solid/actions"
+    "--enable-srt" # Explicit enable srt to ensure the patch is applied.
   ] ++ optional onlyLibVLC "--disable-vlc"
     ++ optional skins2Support "--enable-skins2"
     ++ optionals chromecastSupport [
diff --git a/nixpkgs/pkgs/applications/video/webtorrent_desktop/default.nix b/nixpkgs/pkgs/applications/video/webtorrent_desktop/default.nix
index 3b486654aeb9..b4f8af61fca5 100644
--- a/nixpkgs/pkgs/applications/video/webtorrent_desktop/default.nix
+++ b/nixpkgs/pkgs/applications/video/webtorrent_desktop/default.nix
@@ -63,7 +63,6 @@
       url = "https://raw.githubusercontent.com/webtorrent/webtorrent-desktop/v${version}/static/linux/share/icons/hicolor/48x48/apps/webtorrent-desktop.png";
       sha256 = "00y96w9shbbrdbf6xcjlahqd08154kkrxmqraik7qshiwcqpw7p4";
     };
-    phases = [ "unpackPhase" "installPhase" ];
     nativeBuildInputs = [ dpkg ];
     installPhase = ''
       mkdir -p $out/share/{applications,icons/hicolor/{48x48,256x256}/apps}
diff --git a/nixpkgs/pkgs/applications/video/xplayer/default.nix b/nixpkgs/pkgs/applications/video/xplayer/default.nix
index d3f87f879c59..a4b03e91501d 100644
--- a/nixpkgs/pkgs/applications/video/xplayer/default.nix
+++ b/nixpkgs/pkgs/applications/video/xplayer/default.nix
@@ -34,13 +34,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "xplayer";
-  version = "2.4.0";
+  version = "2.4.2";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    sha256 = "1xcv6nr2gc0vji5afwy283v7bgx46kzgrq79hl8q9pz995qq2kbp";
+    sha256 = "sha256-qoBJKY0CZyhp9foUehq5hInEENRGZuy1D6jAMjbjYhA=";
   };
 
   # configure wants to find gst-inspect-1.0 via pkgconfig but
diff --git a/nixpkgs/pkgs/applications/video/xscast/default.nix b/nixpkgs/pkgs/applications/video/xscast/default.nix
index d740efe0c9b2..f3b44bf7c6aa 100644
--- a/nixpkgs/pkgs/applications/video/xscast/default.nix
+++ b/nixpkgs/pkgs/applications/video/xscast/default.nix
@@ -30,6 +30,6 @@ stdenv.mkDerivation {
     homepage = "https://github.com/KeyboardFire/xscast";
     license = licenses.mit;
     description = "Screencasts of windows with list of keystrokes overlayed";
-    maintainers = with maintainers; [ ma27 ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/virtualization/8086tiny/builder.sh b/nixpkgs/pkgs/applications/virtualization/8086tiny/builder.sh
deleted file mode 100644
index 210f11e1328d..000000000000
--- a/nixpkgs/pkgs/applications/virtualization/8086tiny/builder.sh
+++ /dev/null
@@ -1,30 +0,0 @@
-
-source $stdenv/setup
-
-unpackPhase
-cd $sourceRoot
-
-make 8086tiny
-
-if [ $bios ]; then
-    cd bios_source
-    nasm -f bin bios.asm -o bios
-    cd ..
-fi
-
-mkdir -p $out/bin $out/share/$name $out/share/doc/$name/images
-
-install -m 755 8086tiny $out/bin
-install -m 644 fd.img $out/share/$name/8086tiny-floppy.img
-install -m 644 bios_source/bios.asm  $out/share/$name/8086tiny-bios-src.asm
-install -m 644 docs/8086tiny.css  $out/share/doc/$name
-install -m 644 docs/doc.html  $out/share/doc/$name
-for i in docs/images/*.gif
-do
-    install -m 644 $i $out/share/doc/$name/images
-done
-if [ $bios ]; then
-    install -m 644 bios_source/bios $out/share/$name/8086tiny-bios
-else
-    install -m 644 bios $out/share/$name/8086tiny-bios
-fi
diff --git a/nixpkgs/pkgs/applications/virtualization/8086tiny/default.nix b/nixpkgs/pkgs/applications/virtualization/8086tiny/default.nix
deleted file mode 100644
index c58d488f5839..000000000000
--- a/nixpkgs/pkgs/applications/virtualization/8086tiny/default.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ lib, stdenv, fetchFromGitHub
-, localBios ? true, nasm ? null
-, sdlSupport ? true, SDL ? null }:
-
-assert sdlSupport -> (SDL != null);
-
-stdenv.mkDerivation rec {
-
-  pname = "8086tiny";
-  version = "1.25";
-
-  src = fetchFromGitHub {
-    owner = "adriancable";
-    repo = pname;
-    rev = "c79ca2a34d96931d55ef724c815b289d0767ae3a";
-    sha256 = "00aydg8f28sgy8l3rd2a7jvp56lx3b63hhak43p7g7vjdikv495w";
-  };
-
-  buildInputs = with lib;
-  optionals localBios [ nasm ]
-  ++  optionals sdlSupport [ SDL ];
-
-  bios = localBios;
-
-  builder = ./builder.sh;
-
-  meta = with lib; {
-    description = "An open-source small 8086 emulator";
-    longDescription = ''
-      8086tiny is a tiny, open-source (MIT), portable (little-endian hosts)
-      Intel PC emulator, powerful enough to run DOS, Windows 3.0, Excel, MS
-      Flight Simulator, AutoCAD, Lotus 1-2-3, and similar applications. 8086tiny
-      emulates a "late 80's era" PC XT-type machine.
-
-      8086tiny is based on an IOCCC 2013 winning entry. In fact that is the
-      "unobfuscated" version :)
-    '';
-    homepage = "https://github.com/adriancable/8086tiny";
-    license = licenses.mit;
-    maintainers = [ maintainers.AndersonTorres ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/nixpkgs/pkgs/applications/virtualization/OVMF/default.nix b/nixpkgs/pkgs/applications/virtualization/OVMF/default.nix
index aed59e05a980..d8b6dfc2efaa 100644
--- a/nixpkgs/pkgs/applications/virtualization/OVMF/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/OVMF/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, edk2, util-linux, nasm, iasl
+{ stdenv, lib, edk2, util-linux, nasm, acpica-tools
 , csmSupport ? false, seabios ? null
 , secureBoot ? false
 , httpSupport ? false
@@ -25,7 +25,7 @@ edk2.mkDerivation projectDscPath {
 
   outputs = [ "out" "fd" ];
 
-  buildInputs = [ util-linux nasm iasl ];
+  buildInputs = [ util-linux nasm acpica-tools ];
 
   hardeningDisable = [ "format" "stackprotector" "pic" "fortify" ];
 
diff --git a/nixpkgs/pkgs/applications/virtualization/bochs/bochs-2.6.11-glibc-2.26.patch b/nixpkgs/pkgs/applications/virtualization/bochs/bochs-2.6.11-glibc-2.26.patch
deleted file mode 100644
index e662913574db..000000000000
--- a/nixpkgs/pkgs/applications/virtualization/bochs/bochs-2.6.11-glibc-2.26.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -Naur bochs-2.6.10.orig/iodev/network/slirp/slirp.h bochs-2.6.10.mod/iodev/network/slirp/slirp.h
---- bochs-2.6.10.orig/iodev/network/slirp/slirp.h	2019-11-02 16:30:39.843938000 -0300
-+++ bochs-2.6.10.mod/iodev/network/slirp/slirp.h	2019-12-29 12:55:49.541630697 -0300
-@@ -44,8 +44,8 @@
- #endif
- 
- #include <sys/types.h>
--#if defined(__OpenBSD__) || defined(__linux__)
- #include <stdint.h>
-+#if defined(__OpenBSD__) || defined(__linux__)
- #include <sys/wait.h>
- #endif
- #ifdef HAVE_SYS_BITYPES_H
diff --git a/nixpkgs/pkgs/applications/virtualization/bochs/bochs_fix_narrowing_conv_warning.patch b/nixpkgs/pkgs/applications/virtualization/bochs/bochs_fix_narrowing_conv_warning.patch
deleted file mode 100644
index 167dd65d05b3..000000000000
--- a/nixpkgs/pkgs/applications/virtualization/bochs/bochs_fix_narrowing_conv_warning.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-------------------------------------------------------------------------
-r13882 | vruppert | 2020-06-09 09:30:01 +0200 (Tue, 09 Jun 2020) | 2 lines
-
-Compilation fix for MSYS2 gcc 10.1.0 (narrowing conversion).
-
-
-Index: iodev/display/voodoo_data.h
-===================================================================
---- a/iodev/display/voodoo_data.h	(revision 13881)
-+++ b/iodev/display/voodoo_data.h	(revision 13882)
-@@ -1837,11 +1837,11 @@
- 
- /* fifo content defines */
- #define FIFO_TYPES  (7 << 29)
--#define FIFO_WR_REG     (1 << 29)
--#define FIFO_WR_TEX     (2 << 29)
--#define FIFO_WR_FBI_32  (3 << 29)
--#define FIFO_WR_FBI_16L (4 << 29)
--#define FIFO_WR_FBI_16H (5 << 29)
-+#define FIFO_WR_REG     (1U << 29)
-+#define FIFO_WR_TEX     (2U << 29)
-+#define FIFO_WR_FBI_32  (3U << 29)
-+#define FIFO_WR_FBI_16L (4U << 29)
-+#define FIFO_WR_FBI_16H (5U << 29)
- 
- BX_CPP_INLINE void fifo_reset(fifo_state *f)
- {
-
-------------------------------------------------------------------------
diff --git a/nixpkgs/pkgs/applications/virtualization/bochs/default.nix b/nixpkgs/pkgs/applications/virtualization/bochs/default.nix
index e614b3da2b0c..5f3b31870dc1 100644
--- a/nixpkgs/pkgs/applications/virtualization/bochs/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/bochs/default.nix
@@ -20,25 +20,17 @@
 
 stdenv.mkDerivation rec {
   pname = "bochs";
-  version = "2.6.11";
+  version = "2.7";
 
   src = fetchurl {
-    url = "mirror://sourceforge/project/bochs/bochs/${version}/${pname}-${version}.tar.gz";
-    sha256 = "0ql8q6y1k356li1g9gbvl21448mlxphxxi6kjb2b3pxvzd0pp2b3";
+    url = "mirror://sourceforge/project/${pname}/${pname}/${version}/${pname}-${version}.tar.gz";
+    hash = "sha256-oBCrG/3HKsWgjS4kEs1HHA/r1mrx2TSbwNeWh53lsXo=";
   };
 
-  patches = [
-    # A flip between two lines of code, in order to compile with GLIBC 2.26
-    ./bochs-2.6.11-glibc-2.26.patch
-    # Fix compilation for MSYS2 GCC 10; remove it when the next version arrives
-    ./bochs_fix_narrowing_conv_warning.patch
-    # SMP-enabled configs; remove it when the next version arrives
-    ./fix-build-smp.patch
-  ];
-
   nativeBuildInputs = [
     docbook_xml_dtd_45
     docbook_xsl
+    libtool
     pkg-config
   ];
   buildInputs = [
@@ -46,7 +38,6 @@ stdenv.mkDerivation rec {
     curl
     gtk2
     libGL
-    libtool
     libGLU
     libX11
     libXpm
@@ -62,7 +53,6 @@ stdenv.mkDerivation rec {
 
     "--with-rfb=no"
     "--with-vncsrv=no"
-    "--with-svga=no" # it doesn't compile on NixOS
 
     # These will always be "yes" on NixOS
     "--enable-ltdl-install=yes"
@@ -92,7 +82,6 @@ stdenv.mkDerivation rec {
     "--enable-cpu-level=6" # from 3 to 6
     "--enable-debugger" #conflicts with gdb-stub option
     "--enable-debugger-gui"
-    "--enable-disasm"
     "--enable-e1000"
     "--enable-es1370"
     "--enable-evex"
@@ -105,7 +94,7 @@ stdenv.mkDerivation rec {
     "--enable-largefile"
     "--enable-ne2000"
     "--enable-pci"
-    "--enable-plugins=no" # Plugins are a bit buggy in Bochs
+    "--enable-plugins=yes"
     "--enable-pnic"
     "--enable-repeat-speedups"
     "--enable-sb16"
@@ -126,15 +115,10 @@ stdenv.mkDerivation rec {
   ++ lib.optionals (ncurses != null) [ "--with-term" ]
   ++ lib.optionals (gtk2 != null && wxGTK != null) [ "--with-wx" ];
 
-  NIX_CFLAGS_COMPILE="-I${gtk2.dev}/include/gtk-2.0/ -I${libtool}/include/";
-  NIX_LDFLAGS="-L${libtool.lib}/lib";
-
-  hardeningDisable = [ "format" ];
-
   enableParallelBuilding = true;
 
   meta = with lib; {
-    homepage = "http://bochs.sourceforge.io/";
+    homepage = "https://bochs.sourceforge.io/";
     description = "An open-source IA-32 (x86) PC emulator";
     longDescription = ''
       Bochs is an open-source (LGPL), highly portable IA-32 PC emulator, written
@@ -146,5 +130,5 @@ stdenv.mkDerivation rec {
     platforms = platforms.unix;
   };
 }
-# TODO: plugins
 # TODO: a better way to organize the options
+# TODO: docbook (docbook-tools from RedHat mirrors should help)
diff --git a/nixpkgs/pkgs/applications/virtualization/bochs/fix-build-smp.patch b/nixpkgs/pkgs/applications/virtualization/bochs/fix-build-smp.patch
deleted file mode 100644
index faa2acfa5129..000000000000
--- a/nixpkgs/pkgs/applications/virtualization/bochs/fix-build-smp.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Description: A fix for SMP-enable configurations
-Inspired in: https://sourceforge.net/p/bochs/code/13778/
-
-============
-diff -Naur bochs-2.6.11-old/bx_debug/dbg_main.cc bochs-2.6.11-new/bx_debug/dbg_main.cc
---- bochs-2.6.11-old/bx_debug/dbg_main.cc	2019-12-20 04:57:59.818924000 -0300
-+++ bochs-2.6.11-new/bx_debug/dbg_main.cc	2020-03-30 23:20:29.402195707 -0300
-@@ -1494,11 +1494,11 @@
- {
-   char cpu_param_name[16];
- 
--  Bit32u index = BX_ITLB_INDEX_OF(laddr);
-+  Bit32u index = BX_CPU(dbg_cpu)->ITLB.get_index_of(laddr);
-   sprintf(cpu_param_name, "ITLB.entry%d", index);
-   bx_dbg_show_param_command(cpu_param_name, 0);
- 
--  index = BX_DTLB_INDEX_OF(laddr, 0);
-+  index = BX_CPU(dbg_cpu)->DTLB.get_index_of(laddr);
-   sprintf(cpu_param_name, "DTLB.entry%d", index);
-   bx_dbg_show_param_command(cpu_param_name, 0);
- }
diff --git a/nixpkgs/pkgs/applications/virtualization/cloud-hypervisor/default.nix b/nixpkgs/pkgs/applications/virtualization/cloud-hypervisor/default.nix
index d04c0230c97f..3bcb27898cc3 100644
--- a/nixpkgs/pkgs/applications/virtualization/cloud-hypervisor/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/cloud-hypervisor/default.nix
@@ -2,19 +2,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cloud-hypervisor";
-  version = "15.0";
+  version = "17.0";
 
   src = fetchFromGitHub {
     owner = "cloud-hypervisor";
     repo = pname;
     rev = "v${version}";
-    sha256 = "14s80vs7j5fxzl2a6k44fjlbk8i13lln28i37xaa6yk1q3d9jwic";
+    sha256 = "1m4v12sjifd5mf1wzjwkndvxg53n7kwd35k6ql45hdpiz3f5ipig";
   };
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ openssl ] ++ lib.optional stdenv.isAarch64 dtc;
 
-  cargoSha256 = "02q4k7j1hyibsiwsbqa5bd4vr3fs1vngnnhqa4kzvih73bkagvk7";
+  cargoSha256 = "11qspv061y75cyln60727x15gdn9rndi697zr9fmihnwn3dx4hvh";
 
   meta = with lib; {
     homepage = "https://github.com/cloud-hypervisor/cloud-hypervisor";
diff --git a/nixpkgs/pkgs/applications/virtualization/cntr/default.nix b/nixpkgs/pkgs/applications/virtualization/cntr/default.nix
index fa81913d72f6..0a20dee1e99b 100644
--- a/nixpkgs/pkgs/applications/virtualization/cntr/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/cntr/default.nix
@@ -1,4 +1,4 @@
-{ lib, rustPlatform, fetchFromGitHub }:
+{ lib, rustPlatform, fetchFromGitHub, nixosTests }:
 
 rustPlatform.buildRustPackage rec {
   pname = "cntr";
@@ -13,6 +13,10 @@ rustPlatform.buildRustPackage rec {
 
   cargoSha256 = "sha256-3e5wDne6Idu+kDinHPcAKHfH/d4DrGg90GkiMbyF280=";
 
+  passthru.tests = {
+    nixos = nixosTests.cntr;
+  };
+
   meta = with lib; {
     description = "A container debugging tool based on FUSE";
     homepage = "https://github.com/Mic92/cntr";
diff --git a/nixpkgs/pkgs/applications/virtualization/containerd/1.4.nix b/nixpkgs/pkgs/applications/virtualization/containerd/1.4.nix
new file mode 100644
index 000000000000..9e62f86a3477
--- /dev/null
+++ b/nixpkgs/pkgs/applications/virtualization/containerd/1.4.nix
@@ -0,0 +1,51 @@
+{ lib
+, fetchFromGitHub
+, buildGoPackage
+, btrfs-progs
+, go-md2man
+, installShellFiles
+, util-linux
+, nixosTests
+}:
+
+buildGoPackage rec {
+  pname = "containerd";
+  version = "1.4.9";
+
+  src = fetchFromGitHub {
+    owner = "containerd";
+    repo = "containerd";
+    rev = "v${version}";
+    sha256 = "1ykikks6ihgg899ibk9m9m0hqrbss0cx7l7z4yjb873b10bacj52";
+  };
+
+  goPackagePath = "github.com/containerd/containerd";
+  outputs = [ "out" "man" ];
+
+  nativeBuildInputs = [ go-md2man installShellFiles util-linux ];
+
+  buildInputs = [ btrfs-progs ];
+
+  buildPhase = ''
+    cd go/src/${goPackagePath}
+    patchShebangs .
+    make binaries man "VERSION=v${version}" "REVISION=${src.rev}"
+  '';
+
+  installPhase = ''
+    install -Dm555 bin/* -t $out/bin
+    installManPage man/*.[1-9]
+    installShellCompletion --bash contrib/autocomplete/ctr
+    installShellCompletion --zsh --name _ctr contrib/autocomplete/zsh_autocomplete
+  '';
+
+  passthru.tests = { inherit (nixosTests) docker; };
+
+  meta = with lib; {
+    homepage = "https://containerd.io/";
+    description = "A daemon to control runC";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/virtualization/containerd/default.nix b/nixpkgs/pkgs/applications/virtualization/containerd/default.nix
index 0c44805bedd3..cce72e2a745f 100644
--- a/nixpkgs/pkgs/applications/virtualization/containerd/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/containerd/default.nix
@@ -10,7 +10,7 @@
 
 buildGoModule rec {
   pname = "containerd";
-  version = "1.5.4";
+  version = "1.5.5";
 
   outputs = [ "out" "man" ];
 
@@ -18,7 +18,7 @@ buildGoModule rec {
     owner = "containerd";
     repo = "containerd";
     rev = "v${version}";
-    sha256 = "sha256-VV1cxA8tDRiPDxKV8OGu3T7sgutmyL+VPNqTeFcVjJA=";
+    sha256 = "sha256-6mDTTXHpXBcKOcT+VrGgt6HJzvTeKgJ0ItJ+IjCTJxk=";
   };
 
   vendorSha256 = null;
@@ -27,20 +27,22 @@ buildGoModule rec {
 
   buildInputs = [ btrfs-progs ];
 
-  buildFlags = [ "VERSION=v${version}" "REVISION=${src.rev}" ];
-
   BUILDTAGS = lib.optionals (btrfs-progs == null) [ "no_btrfs" ];
 
   buildPhase = ''
+    runHook preBuild
     patchShebangs .
-    make binaries man $buildFlags
+    make binaries man "VERSION=v${version}" "REVISION=${src.rev}"
+    runHook postBuild
   '';
 
   installPhase = ''
+    runHook preInstall
     install -Dm555 bin/* -t $out/bin
     installManPage man/*.[1-9]
     installShellCompletion --bash contrib/autocomplete/ctr
     installShellCompletion --zsh --name _ctr contrib/autocomplete/zsh_autocomplete
+    runHook postInstall
   '';
 
   passthru.tests = { inherit (nixosTests) docker; };
diff --git a/nixpkgs/pkgs/applications/virtualization/cri-o/default.nix b/nixpkgs/pkgs/applications/virtualization/cri-o/default.nix
index 26e56ccc609e..bc7e25d93dd7 100644
--- a/nixpkgs/pkgs/applications/virtualization/cri-o/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/cri-o/default.nix
@@ -15,13 +15,13 @@
 
 buildGoModule rec {
   pname = "cri-o";
-  version = "1.21.2";
+  version = "1.22.0";
 
   src = fetchFromGitHub {
     owner = "cri-o";
     repo = "cri-o";
     rev = "v${version}";
-    sha256 = "sha256-hapXwd7K0xbkZ0MKkJ5wv4zfDKRTC3IC4oLYLL460oI=";
+    sha256 = "sha256-lY/kHvJBN7idFn3YUEHMR4w+M3F89RKMsvvyHmH/EPc=";
   };
   vendorSha256 = null;
 
diff --git a/nixpkgs/pkgs/applications/virtualization/crun/default.nix b/nixpkgs/pkgs/applications/virtualization/crun/default.nix
index e172248c8dd9..cc9d02681790 100644
--- a/nixpkgs/pkgs/applications/virtualization/crun/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/crun/default.nix
@@ -38,13 +38,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "crun";
-  version = "0.20.1";
+  version = "1.0";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Fo8UCUwZ5RiJTXs1jWn1Mwq2qvK8p++ETxW9Tseokjw=";
+    sha256 = "sha256-xpNwhNAbcTKkXl5i4L8aayMAx8O8SWdFlgHguHNiqqw=";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/applications/virtualization/docker-slim/default.nix b/nixpkgs/pkgs/applications/virtualization/docker-slim/default.nix
index 09ba9a75183a..a38b0675af2d 100644
--- a/nixpkgs/pkgs/applications/virtualization/docker-slim/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/docker-slim/default.nix
@@ -6,7 +6,7 @@
 
 buildGoPackage rec {
   pname = "docker-slim";
-  version = "1.36.1";
+  version = "1.36.2";
 
   goPackagePath = "github.com/docker-slim/docker-slim";
 
@@ -14,7 +14,7 @@ buildGoPackage rec {
     owner = "docker-slim";
     repo = "docker-slim";
     rev = version;
-    sha256 = "sha256-BoBZBzQYd/HbOCerpvcNcR/7Fds6+weY2QFRjqSfOjU=";
+    sha256 = "sha256-Q8M8+krPC6WRDCxe88gzX5bDG8x6sJ8TduTKjA85WFA=";
   };
 
   subPackages = [ "cmd/docker-slim" "cmd/docker-slim-sensor" ];
@@ -23,11 +23,10 @@ buildGoPackage rec {
     makeWrapper
   ];
 
-  buildFlagsArray = [
-    ''-ldflags=
-        -s -w -X ${goPackagePath}/pkg/version.appVersionTag=${version}
-              -X ${goPackagePath}/pkg/version.appVersionRev=${src.rev}
-    ''
+  ldflags = [
+    "-s" "-w"
+    "-X ${goPackagePath}/pkg/version.appVersionTag=${version}"
+    "-X ${goPackagePath}/pkg/version.appVersionRev=${src.rev}"
   ];
 
   # docker-slim tries to create its state dir next to the binary (inside the nix
diff --git a/nixpkgs/pkgs/applications/virtualization/docker/buildx.nix b/nixpkgs/pkgs/applications/virtualization/docker/buildx.nix
index 020e22db6019..242d6b37d764 100644
--- a/nixpkgs/pkgs/applications/virtualization/docker/buildx.nix
+++ b/nixpkgs/pkgs/applications/virtualization/docker/buildx.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "docker-buildx";
-  version = "0.6.0";
+  version = "0.6.2";
 
   src = fetchFromGitHub {
     owner = "docker";
     repo = "buildx";
     rev = "v${version}";
-    sha256 = "sha256-5j1+3FlLc0gYDnYvDsAdmILxgjHCU1bTVOytfaF03iU=";
+    sha256 = "sha256-X/oTL/CfMunGcS3HDoH/g1gZcJWnVU93OkcGC36KuA4=";
   };
 
   vendorSha256 = null;
diff --git a/nixpkgs/pkgs/applications/virtualization/docker/default.nix b/nixpkgs/pkgs/applications/virtualization/docker/default.nix
index ec358507c2d2..a1821aa2a316 100644
--- a/nixpkgs/pkgs/applications/virtualization/docker/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/docker/default.nix
@@ -12,7 +12,7 @@ rec {
       # package dependencies
       , stdenv, fetchFromGitHub, buildGoPackage
       , makeWrapper, installShellFiles, pkg-config, glibc
-      , go-md2man, go, containerd, runc, docker-proxy, tini, libtool
+      , go-md2man, go, containerd_1_4, runc, docker-proxy, tini, libtool
       , sqlite, iproute2, lvm2, systemd, docker-buildx
       , btrfs-progs, iptables, e2fsprogs, xz, util-linux, xfsprogs, git
       , procps, libseccomp
@@ -33,7 +33,7 @@ rec {
       patches = [];
     });
 
-    docker-containerd = containerd.overrideAttrs (oldAttrs: {
+    docker-containerd = containerd_1_4.overrideAttrs (oldAttrs: {
       name = "docker-containerd-${version}";
       inherit version;
       src = fetchFromGitHub {
@@ -210,7 +210,7 @@ rec {
       homepage = "https://www.docker.com/";
       description = "An open source project to pack, ship and run any application as a lightweight container";
       license = licenses.asl20;
-      maintainers = with maintainers; [ offline tailhook vdemeester periklis mikroskeem ];
+      maintainers = with maintainers; [ offline tailhook vdemeester periklis mikroskeem maxeaubrey ];
       platforms = with platforms; linux ++ darwin;
     };
 
@@ -221,20 +221,20 @@ rec {
   # Get revisions from
   # https://github.com/moby/moby/tree/${version}/hack/dockerfile/install/*
   docker_20_10 = callPackage dockerGen rec {
-    version = "20.10.7";
+    version = "20.10.8";
     rev = "v${version}";
-    sha256 = "1r854jrjph4v1n5lr82z0cl0241ycili4qr3qh3k3bmqx790cds3";
+    sha256 = "sha256-betZIAH4mFpb/OywWyixCjVmy5EGTrg+WbxDXkVRrsI=";
     moby-src = fetchFromGitHub {
       owner = "moby";
       repo = "moby";
       rev = "v${version}";
-      sha256 = "0xhn11kgcbzda4z9j0rflvq0nfivizh3jrzhanwn5vnghafy4zqw";
+      sha256 = "1pjjdwzad2z337zwby88w5zwl71ch4lcwbw0sy8slvyjv387jjlm";
     };
-    runcRev = "b9ee9c6314599f1b4a7f497e1f1f856fe433d3b7"; # v1.0.0-rc95
-    runcSha256 = "18sbvmlvb6kird4w3rqsfrjdj7n25firabvdxsl0rxjfy9r1g2xb";
-    containerdRev = "12dca9790f4cb6b18a6a7a027ce420145cb98ee7"; # v1.5.1
-    containerdSha256 = "16q34yiv5q98b9d5vgy1lmmppg8agrmnfd1kzpakkf4czkws0p4d";
-    tiniRev = "de40ad007797e0dcd8b7126f27bb87401d224240"; # v0.19.0
+    runcRev = "v1.0.1"; # v1.0.1
+    runcSha256 = "1zfa1zr8i9n1915nyv7hyaj7q27cy7fiihk9rr1377ayaqg3mpn5";
+    containerdRev = "v1.4.9"; # v1.4.9
+    containerdSha256 = "1ykikks6ihgg899ibk9m9m0hqrbss0cx7l7z4yjb873b10bacj52";
+    tiniRev = "v0.19.0"; # v0.19.0
     tiniSha256 = "1h20i3wwlbd8x4jr2gz68hgklh0lb0jj7y5xk1wvr8y58fip1rdn";
   };
 }
diff --git a/nixpkgs/pkgs/applications/virtualization/docker/proxy.nix b/nixpkgs/pkgs/applications/virtualization/docker/proxy.nix
index 59fc80eefbf7..a247e2cecfaf 100644
--- a/nixpkgs/pkgs/applications/virtualization/docker/proxy.nix
+++ b/nixpkgs/pkgs/applications/virtualization/docker/proxy.nix
@@ -13,8 +13,6 @@ buildGoPackage rec {
 
   goPackagePath = "github.com/docker/libnetwork";
 
-  goDeps = null;
-
   installPhase = ''
     install -m755 -D ./go/bin/proxy $out/bin/docker-proxy
   '';
diff --git a/nixpkgs/pkgs/applications/virtualization/driver/win-qemu/default.nix b/nixpkgs/pkgs/applications/virtualization/driver/win-qemu/default.nix
index d8e233e35232..7c1eb0055a30 100644
--- a/nixpkgs/pkgs/applications/virtualization/driver/win-qemu/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/driver/win-qemu/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation  {
   name = "win-qemu-0.1.105-1";
   version = "0.1.105-1";
 
-  phases = [ "buildPhase" "installPhase" ];
+  dontUnpack = true;
 
   src = fetchurl {
     url = "https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.105-1/virtio-win.iso";
diff --git a/nixpkgs/pkgs/applications/virtualization/driver/win-signed-gplpv-drivers/default.nix b/nixpkgs/pkgs/applications/virtualization/driver/win-signed-gplpv-drivers/default.nix
index c4c5cb807284..e9ad3b863386 100644
--- a/nixpkgs/pkgs/applications/virtualization/driver/win-signed-gplpv-drivers/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/driver/win-signed-gplpv-drivers/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation  {
   name = "gplpv-0.11.0.373";
   version = "0.11.0.373";
 
-  phases = [ "buildPhase" "installPhase" ];
+  dontUnpack = true;
 
   buildPhase = ''
     mkdir -p x86
diff --git a/nixpkgs/pkgs/applications/virtualization/driver/win-spice/default.nix b/nixpkgs/pkgs/applications/virtualization/driver/win-spice/default.nix
index 67ba9b74fbb7..2c2cd90f1c26 100644
--- a/nixpkgs/pkgs/applications/virtualization/driver/win-spice/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/driver/win-spice/default.nix
@@ -1,51 +1,56 @@
 { lib, stdenv, fetchurl, p7zip, win-virtio }:
 
 let
+  version_usbdk = "1.0.22";
   src_usbdk_x86 = fetchurl {
-    url = "https://www.spice-space.org/download/windows/usbdk/UsbDk_1.0.4_x86.msi";
-    sha256 = "17hv8034wk1xqnanm5jxs4741nl7asps1fdz6lhnrpp6gvj6yg9y";
+    url = "https://www.spice-space.org/download/windows/UsbDk/UsbDk_${version_usbdk}_x86.msi";
+    sha256 = "1vr8kv37wz6p3xhawyhwxv0g7y89igkvx30zwmyvlgnkv3h5i317";
   };
-
   src_usbdk_amd64 = fetchurl {
-    url = "https://www.spice-space.org/download/windows/usbdk/UsbDk_1.0.4_x64.msi";
-    sha256 = "0alcqsivp33pm8sy0lmkvq7m5yh6mmcmxdl39zjxjra67kw8r2sd";
+    url = "https://www.spice-space.org/download/windows/UsbDk/UsbDk_${version_usbdk}_x64.msi";
+    sha256 = "19b64jv6pfimd54y0pphbs1xh25z41bbblz64ih6ag71w6azdxli";
   };
 
+  version_qxlwddm = "0.21";
   src_qxlwddm = fetchurl {
-    url = "https://people.redhat.com/~vrozenfe/qxlwddm/qxlwddm-0.11.zip";
-    sha256 = "082zdpbh9i3bq2ds8g33rcbcw390jsm7cqf46rrlx02x8r03dm98";
+    url = "https://www.spice-space.org/download/windows/qxl-wddm-dod/qxl-wddm-dod-${version_qxlwddm}/spice-qxl-wddm-dod-${version_qxlwddm}.zip";
+    sha256 = "0yjq54gxw3lcfghsfs4fzwipa9sgx5b1sn3fss6r5dm7pdvjp20q";
   };
 
+  version_vdagent = "0.10.0";
   src_vdagent_x86 = fetchurl {
-    url = "https://www.spice-space.org/download/windows/vdagent/vdagent-win-0.7.3/vdagent_0_7_3_x86.zip";
-    sha256 = "0d928g49rf4dl79jmvnqh6g864hp1flw1f0384sfp82himm3bxjs";
+    url = "https://www.spice-space.org/download/windows/vdagent/vdagent-win-${version_vdagent}/vdagent-win-${version_vdagent}-x86.zip";
+    sha256 = "142c0lqsqry9dclji2225ppclkn13gbjl1j0pzx8fp6hgy4i02c1";
   };
-
   src_vdagent_amd64 = fetchurl {
-    url = "https://www.spice-space.org/download/windows/vdagent/vdagent-win-0.7.3/vdagent_0_7_3_x64.zip";
-    sha256 = "0djmvm66jcmcyhhbjppccbai45nqpva7vyvry6w8nyc0fwi1vm9l";
+    url = "https://www.spice-space.org/download/windows/vdagent/vdagent-win-${version_vdagent}/vdagent-win-${version_vdagent}-x64.zip";
+    sha256 = "1x2wcvld531kv17a4ks7sh67nhzxzv7nkhpx391n5vj6d12i8g3i";
   };
 in
 
 stdenv.mkDerivation  {
   # use version number of qxlwddm as qxlwddm is the most important component
-  name = "win-spice-0.11";
-  version = "0.11";
+  pname = "win-spice";
+  version = version_qxlwddm;
 
-  phases = [ "buildPhase" "installPhase" ];
+  dontUnpack = true;
 
   buildPhase = ''
+    runHook preBuild
+
     mkdir -p usbdk/x86 usbdk/amd64
     (cd usbdk/x86; ${p7zip}/bin/7z x -y ${src_usbdk_x86})
     (cd usbdk/amd64; ${p7zip}/bin/7z x -y ${src_usbdk_amd64})
 
     mkdir -p vdagent/x86 vdagent/amd64
-    (cd vdagent/x86; ${p7zip}/bin/7z x -y ${src_vdagent_x86}; mv vdagent_0_7_3_x86/* .; rm -r vdagent_0_7_3_x86)
-    (cd vdagent/amd64; ${p7zip}/bin/7z x -y ${src_vdagent_amd64}; mv vdagent_0_7_3_x64/* .; rm -r vdagent_0_7_3_x64)
+    (cd vdagent/x86; ${p7zip}/bin/7z x -y ${src_vdagent_x86}; mv vdagent-win-${version_vdagent}-x86/* .; rm -r vdagent-win-${version_vdagent}-x86)
+    (cd vdagent/amd64; ${p7zip}/bin/7z x -y ${src_vdagent_amd64}; mv vdagent-win-${version_vdagent}-x64/* .; rm -r vdagent-win-${version_vdagent}-x64)
 
     mkdir -p qxlwddm
-    (cd qxlwddm; ${p7zip}/bin/7z x -y ${src_qxlwddm}; mv Win8 w8.1; cd w8.1; mv x64 amd64)
-    '';
+    (cd qxlwddm; ${p7zip}/bin/7z x -y ${src_qxlwddm}; cd w10)
+
+    runHook postBuild
+  '';
 
   installPhase =
     let
@@ -57,8 +62,11 @@ stdenv.mkDerivation  {
       #       That way it would never matter whether vioserial is installed from win-virtio or win-spice.
       copy_vioserial = arch: "mkdir -p $out/${arch}/vioserial; cp ${win-virtio}/${arch}/vioserial/* $out/${arch}/vioserial/. \n";
       copy = arch: version: (copy_qxl arch version) + (copy_usbdk arch) + (copy_vdagent arch) + (copy_vioserial arch);
-    in
-      (copy "amd64" "w8.1") + (copy "x86" "w8.1");
+    in ''
+      runHook preInstall
+      ${(copy "amd64" "w10") + (copy "x86" "w10")}
+      runHook postInstall
+    '';
 
   meta = with lib; {
     description = "Windows SPICE Drivers";
diff --git a/nixpkgs/pkgs/applications/virtualization/driver/win-virtio/default.nix b/nixpkgs/pkgs/applications/virtualization/driver/win-virtio/default.nix
index 1f9e21845ce6..060cc4b4ebf6 100644
--- a/nixpkgs/pkgs/applications/virtualization/driver/win-virtio/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/driver/win-virtio/default.nix
@@ -1,18 +1,20 @@
 { lib, stdenv, fetchurl, p7zip }:
 stdenv.mkDerivation rec {
   pname = "win-virtio";
-  version = "0.1.141-1";
+  version = "0.1.196-1";
 
-  phases = [ "buildPhase" "installPhase" ];
+  dontUnpack = true;
 
   src = fetchurl {
     url = "https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-${version}/virtio-win.iso";
-    sha256 = "0mn5gcgb9dk59nrw9scdza628yiji4vdkxmixikn9v02kgwnkja3";
+    sha256 = "1zj53xybygps66m3v5kzi61vqy987zp6bfgk0qin9pja68qq75vx";
   };
 
   buildPhase = ''
+    runHook preBuild
     ${p7zip}/bin/7z x $src
-    '';
+    runHook postBuild
+  '';
 
   installPhase =
     let
@@ -24,12 +26,16 @@ stdenv.mkDerivation rec {
                 {input="viostor"; output="viostor";}
                 {input="viorng"; output="viorng";}
                ];
-    in
-      lib.concatStringsSep "\n" ((map (copy "amd64" "w8.1") virtio) ++ (map (copy "x86" "w8.1") virtio));
+    in ''
+      runHook preInstall
+      ${lib.concatStringsSep "\n" ((map (copy "amd64" "w10") virtio) ++ (map (copy "x86" "w10") virtio))}
+      runHook postInstall
+    '';
 
   meta = with lib; {
     description = "Windows VirtIO Drivers";
     homepage = "https://fedoraproject.org/wiki/Windows_Virtio_Drivers";
+    license = [ licenses.bsd3 ];
     maintainers = [ maintainers.tstrobel ];
     platforms = platforms.linux;
   };
diff --git a/nixpkgs/pkgs/applications/virtualization/firecracker/default.nix b/nixpkgs/pkgs/applications/virtualization/firecracker/default.nix
index 1d049621aa5f..78720034ea1a 100644
--- a/nixpkgs/pkgs/applications/virtualization/firecracker/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/firecracker/default.nix
@@ -1,17 +1,17 @@
 { fetchurl, lib, stdenv }:
 
 let
-  version = "0.24.3";
+  version = "0.24.5";
 
   suffix = {
-    x86_64-linux  = "x86_64";
+    x86_64-linux = "x86_64";
     aarch64-linux = "aarch64";
   }."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
 
   baseurl = "https://github.com/firecracker-microvm/firecracker/releases/download";
 
   dlbin = sha256: fetchurl {
-    url    = "${baseurl}/v${version}/firecracker-v${version}-${suffix}.tgz";
+    url = "${baseurl}/v${version}/firecracker-v${version}-${suffix}.tgz";
     sha256 = sha256."${stdenv.hostPlatform.system}";
   };
 
@@ -22,15 +22,15 @@ stdenv.mkDerivation {
 
   sourceRoot = ".";
   src = dlbin {
-    x86_64-linux  = "sha256-i6NMVFoLm4hQJH7RnhfC0t+0DJCINoP5b/iCv9JyRdk=";
-    aarch64-linux = "0m7xs12g97z1ipzaf7dgknf3azlah0p6bdr9i454azvzg955238b";
+    x86_64-linux = "sha256-drcm2kz2csuJqr8Oqs0r1BrxgPHOyuwC2S+99MhbMjA=";
+    aarch64-linux = "sha256-x8RoBmgY3HRUOLw8YzEwQfQuT83zGfBHHWu88b4i05o=";
   };
 
   dontConfigure = true;
 
-  buildPhase     = ''
-    mv firecracker-* firecracker
-    mv jailer-*      jailer
+  buildPhase = ''
+    mv release-v${version}/firecracker-v${version}-${suffix} firecracker
+    mv release-v${version}/jailer-v${version}-${suffix} jailer
     chmod +x firecracker jailer
   '';
 
@@ -48,9 +48,9 @@ stdenv.mkDerivation {
 
   meta = with lib; {
     description = "Secure, fast, minimal micro-container virtualization";
-    homepage    = "http://firecracker-microvm.io";
-    license     = licenses.asl20;
-    platforms   = [ "x86_64-linux" "aarch64-linux" ];
-    maintainers = with maintainers; [ thoughtpolice ];
+    homepage = "http://firecracker-microvm.io";
+    license = licenses.asl20;
+    platforms = [ "x86_64-linux" "aarch64-linux" ];
+    maintainers = with maintainers; [ thoughtpolice endocrimes ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/virtualization/imgcrypt/default.nix b/nixpkgs/pkgs/applications/virtualization/imgcrypt/default.nix
index c985632b9ebc..ce12fb8f387b 100644
--- a/nixpkgs/pkgs/applications/virtualization/imgcrypt/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/imgcrypt/default.nix
@@ -11,8 +11,8 @@ buildGoModule rec {
     sha256 = "177fs3p2xzwjsffcxqqllx6wi6ghfyqbvfgn95v3q7a2993yqk4k";
   };
 
-  buildFlagsArray = [
-    "-ldflags=-X github.com/containerd/containerd/version.Version=${version}"
+  ldflags = [
+    "-X github.com/containerd/containerd/version.Version=${version}"
   ];
 
   vendorSha256 = null;
diff --git a/nixpkgs/pkgs/applications/virtualization/lima/default.nix b/nixpkgs/pkgs/applications/virtualization/lima/default.nix
index 198e3b694ceb..c201ad8805b1 100644
--- a/nixpkgs/pkgs/applications/virtualization/lima/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/lima/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "lima";
-  version = "0.5.0";
+  version = "0.6.2";
 
   src = fetchFromGitHub {
-    owner = "AkihiroSuda";
+    owner = "lima-vm";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-1952xGSfVFI2Fs5HLJKCyB6ZxKFf5uPKXIlctM/T+8o=";
+    sha256 = "sha256-kSJbSJ85cM6N+V67z+trNNuEO4O2KNs62JTy3Mz8Bi4=";
   };
 
-  vendorSha256 = "sha256-rPL/jxMHMkKffoYLSI3FFtFRYGtARKmrODmL9w+rN0E=";
+  vendorSha256 = "sha256-PeIEIUX/PwwnbZfXnK3IsENO+zRYLhljBRe910aZgKs=";
 
   nativeBuildInputs = [ makeWrapper installShellFiles ];
 
@@ -44,7 +44,7 @@ buildGoModule rec {
   '';
 
   meta = with lib; {
-    homepage = "https://github.com/AkihiroSuda/lima";
+    homepage = "https://github.com/lima-vm/lima";
     description = "Linux virtual machines (on macOS, in most cases)";
     license = licenses.asl20;
     maintainers = with maintainers; [ anhduy ];
diff --git a/nixpkgs/pkgs/applications/virtualization/lkl/default.nix b/nixpkgs/pkgs/applications/virtualization/lkl/default.nix
index aee2d493a706..f2481e25a8fd 100644
--- a/nixpkgs/pkgs/applications/virtualization/lkl/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/lkl/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, bc, python, bison, flex, fuse, libarchive
+{ lib, stdenv, fetchFromGitHub, bc, python3, bison, flex, fuse, libarchive
 , buildPackages }:
 
 stdenv.mkDerivation rec {
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
 
   outputs = [ "dev" "lib" "out" ];
 
-  nativeBuildInputs = [ bc bison flex python ];
+  nativeBuildInputs = [ bc bison flex python3 ];
 
   buildInputs = [ fuse libarchive ];
 
diff --git a/nixpkgs/pkgs/applications/virtualization/nvidia-container-runtime/default.nix b/nixpkgs/pkgs/applications/virtualization/nvidia-container-runtime/default.nix
index 92717b988919..43eb1639b43e 100644
--- a/nixpkgs/pkgs/applications/virtualization/nvidia-container-runtime/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/nvidia-container-runtime/default.nix
@@ -35,7 +35,7 @@ buildGoPackage rec {
   };
 
   goPackagePath = "github.com/${pname}/src";
-  buildFlagsArray = [ "-ldflags=" "-s -w" ];
+  ldflags = [ "-s" "-w" ];
   nativeBuildInputs = [ makeWrapper ];
 
   postInstall = ''
diff --git a/nixpkgs/pkgs/applications/virtualization/nvidia-container-toolkit/default.nix b/nixpkgs/pkgs/applications/virtualization/nvidia-container-toolkit/default.nix
index 4276f71a409b..8cb470d2fa4c 100644
--- a/nixpkgs/pkgs/applications/virtualization/nvidia-container-toolkit/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/nvidia-container-toolkit/default.nix
@@ -16,7 +16,7 @@ buildGoModule rec {
   };
 
   vendorSha256 = "17zpiyvf22skfcisflsp6pn56y6a793jcx89kw976fq2x5br1bz7";
-  buildFlagsArray = [ "-ldflags=" "-s -w" ];
+  ldflags = [ "-s" "-w" ];
   nativeBuildInputs = [ makeWrapper ];
 
   postInstall = ''
diff --git a/nixpkgs/pkgs/applications/virtualization/podman/default.nix b/nixpkgs/pkgs/applications/virtualization/podman/default.nix
index e604cb259201..e4cd268758bc 100644
--- a/nixpkgs/pkgs/applications/virtualization/podman/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/podman/default.nix
@@ -17,13 +17,13 @@
 
 buildGoModule rec {
   pname = "podman";
-  version = "3.2.3";
+  version = "3.3.1";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = "podman";
     rev = "v${version}";
-    sha256 = "sha256-P8/4jehfcjM+r/pwW6fxrwquMVUqXxvvTur7Tesjmnc=";
+    sha256 = "sha256-DVRLdJFYD5Ovc0n5SoMv71GPTuBO3wfqREcGRJEuND0=";
   };
 
   vendorSha256 = null;
diff --git a/nixpkgs/pkgs/applications/virtualization/podman/wrapper.nix b/nixpkgs/pkgs/applications/virtualization/podman/wrapper.nix
index 820e8ad18bcc..400232d2246d 100644
--- a/nixpkgs/pkgs/applications/virtualization/podman/wrapper.nix
+++ b/nixpkgs/pkgs/applications/virtualization/podman/wrapper.nix
@@ -14,6 +14,7 @@
 , cni-plugins # not added to path
 , iptables
 , iproute2
+, gvproxy
 , qemu
 , xz
 }:
@@ -31,6 +32,7 @@ let
     iptables
     iproute2
   ] ++ lib.optionals stdenv.isDarwin [
+    gvproxy
     qemu
     xz
   ] ++ extraPackages);
diff --git a/nixpkgs/pkgs/applications/virtualization/qemu/default.nix b/nixpkgs/pkgs/applications/virtualization/qemu/default.nix
index 4df14e030aea..f3aecf300807 100644
--- a/nixpkgs/pkgs/applications/virtualization/qemu/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/qemu/default.nix
@@ -31,20 +31,19 @@
 , nixosTestRunner ? false
 }:
 
-with lib;
 let
-  audio = optionalString alsaSupport "alsa,"
-    + optionalString pulseSupport "pa,"
-    + optionalString sdlSupport "sdl,";
+  audio = lib.optionalString alsaSupport "alsa,"
+    + lib.optionalString pulseSupport "pa,"
+    + lib.optionalString sdlSupport "sdl,";
 
 in
 
 stdenv.mkDerivation rec {
-  version = "6.0.0";
   pname = "qemu"
     + lib.optionalString xenSupport "-xen"
     + lib.optionalString hostCpuOnly "-host-cpu-only"
     + lib.optionalString nixosTestRunner "-for-vm-tests";
+  version = "6.0.0";
 
   src = fetchurl {
     url= "https://download.qemu.org/qemu-${version}.tar.xz";
@@ -52,32 +51,32 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ python python.pkgs.sphinx pkg-config flex bison meson ninja ]
-    ++ optionals gtkSupport [ wrapGAppsHook ]
-    ++ optionals stdenv.isLinux [ autoPatchelfHook ];
-  buildInputs =
-    [ zlib glib perl pixman
-      vde2 texinfo makeWrapper lzo snappy
-      gnutls nettle curl
-    ]
-    ++ optionals ncursesSupport [ ncurses ]
-    ++ optionals stdenv.isDarwin [ CoreServices Cocoa Hypervisor rez setfile ]
-    ++ optionals seccompSupport [ libseccomp ]
-    ++ optionals numaSupport [ numactl ]
-    ++ optionals pulseSupport [ libpulseaudio ]
-    ++ optionals sdlSupport [ SDL2 SDL2_image ]
-    ++ optionals gtkSupport [ gtk3 gettext vte ]
-    ++ optionals vncSupport [ libjpeg libpng ]
-    ++ optionals smartcardSupport [ libcacard ]
-    ++ optionals spiceSupport [ spice-protocol spice ]
-    ++ optionals usbredirSupport [ usbredir ]
-    ++ optionals stdenv.isLinux [ alsa-lib libaio libcap_ng libcap attr ]
-    ++ optionals xenSupport [ xen ]
-    ++ optionals cephSupport [ ceph ]
-    ++ optionals glusterfsSupport [ glusterfs libuuid ]
-    ++ optionals openGLSupport [ mesa epoxy libdrm ]
-    ++ optionals virglSupport [ virglrenderer ]
-    ++ optionals libiscsiSupport [ libiscsi ]
-    ++ optionals smbdSupport [ samba ];
+    ++ lib.optionals gtkSupport [ wrapGAppsHook ]
+    ++ lib.optionals stdenv.isLinux [ autoPatchelfHook ];
+
+  buildInputs = [ zlib glib perl pixman
+    vde2 texinfo makeWrapper lzo snappy
+    gnutls nettle curl
+  ]
+    ++ lib.optionals ncursesSupport [ ncurses ]
+    ++ lib.optionals stdenv.isDarwin [ CoreServices Cocoa Hypervisor rez setfile ]
+    ++ lib.optionals seccompSupport [ libseccomp ]
+    ++ lib.optionals numaSupport [ numactl ]
+    ++ lib.optionals pulseSupport [ libpulseaudio ]
+    ++ lib.optionals sdlSupport [ SDL2 SDL2_image ]
+    ++ lib.optionals gtkSupport [ gtk3 gettext vte ]
+    ++ lib.optionals vncSupport [ libjpeg libpng ]
+    ++ lib.optionals smartcardSupport [ libcacard ]
+    ++ lib.optionals spiceSupport [ spice-protocol spice ]
+    ++ lib.optionals usbredirSupport [ usbredir ]
+    ++ lib.optionals stdenv.isLinux [ alsa-lib libaio libcap_ng libcap attr ]
+    ++ lib.optionals xenSupport [ xen ]
+    ++ lib.optionals cephSupport [ ceph ]
+    ++ lib.optionals glusterfsSupport [ glusterfs libuuid ]
+    ++ lib.optionals openGLSupport [ mesa epoxy libdrm ]
+    ++ lib.optionals virglSupport [ virglrenderer ]
+    ++ lib.optionals libiscsiSupport [ libiscsi ]
+    ++ lib.optionals smbdSupport [ samba ];
 
   dontUseMesonConfigure = true; # meson's configurePhase isn't compatible with qemu build
 
@@ -96,8 +95,8 @@ stdenv.mkDerivation rec {
       url = "https://gitlab.com/qemu-project/qemu/-/commit/9f22893adcb02580aee5968f32baa2cd109b3ec2.patch";
       sha256 = "1vkhm9vl671y4cra60b6704339qk1h5dyyb3dfvmvpsvfyh2pm7n";
     })
-  ] ++ optional nixosTestRunner ./force-uid0-on-9p.patch
-    ++ optionals stdenv.hostPlatform.isMusl [
+  ] ++ lib.optional nixosTestRunner ./force-uid0-on-9p.patch
+    ++ lib.optionals stdenv.hostPlatform.isMusl [
     (fetchpatch {
       url = "https://raw.githubusercontent.com/alpinelinux/aports/2bb133986e8fa90e2e76d53369f03861a87a74ef/main/qemu/xattr_size_max.patch";
       sha256 = "1xfdjs1jlvs99hpf670yianb8c3qz2ars8syzyz8f2c2cp5y4bxb";
@@ -149,36 +148,35 @@ stdenv.mkDerivation rec {
       --replace '$source_path/VERSION' '$source_path/QEMU_VERSION'
     substituteInPlace meson.build \
       --replace "'VERSION'" "'QEMU_VERSION'"
-  '' + optionalString stdenv.hostPlatform.isMusl ''
+  '' + lib.optionalString stdenv.hostPlatform.isMusl ''
     NIX_CFLAGS_COMPILE+=" -D_LINUX_SYSINFO_H"
   '';
 
-  configureFlags =
-    [ "--audio-drv-list=${audio}"
-      "--enable-docs"
-      "--enable-tools"
-      "--enable-guest-agent"
-      "--localstatedir=/var"
-      "--sysconfdir=/etc"
-    ]
-    ++ optional numaSupport "--enable-numa"
-    ++ optional seccompSupport "--enable-seccomp"
-    ++ optional smartcardSupport "--enable-smartcard"
-    ++ optional spiceSupport "--enable-spice"
-    ++ optional usbredirSupport "--enable-usb-redir"
-    ++ optional (hostCpuTargets != null) "--target-list=${lib.concatStringsSep "," hostCpuTargets}"
-    ++ optional stdenv.isDarwin "--enable-cocoa"
-    ++ optional stdenv.isDarwin "--enable-hvf"
-    ++ optional stdenv.isLinux "--enable-linux-aio"
-    ++ optional gtkSupport "--enable-gtk"
-    ++ optional xenSupport "--enable-xen"
-    ++ optional cephSupport "--enable-rbd"
-    ++ optional glusterfsSupport "--enable-glusterfs"
-    ++ optional openGLSupport "--enable-opengl"
-    ++ optional virglSupport "--enable-virglrenderer"
-    ++ optional tpmSupport "--enable-tpm"
-    ++ optional libiscsiSupport "--enable-libiscsi"
-    ++ optional smbdSupport "--smbd=${samba}/bin/smbd";
+  configureFlags = [
+    "--audio-drv-list=${audio}"
+    "--enable-docs"
+    "--enable-tools"
+    "--enable-guest-agent"
+    "--localstatedir=/var"
+    "--sysconfdir=/etc"
+  ] ++ lib.optional numaSupport "--enable-numa"
+    ++ lib.optional seccompSupport "--enable-seccomp"
+    ++ lib.optional smartcardSupport "--enable-smartcard"
+    ++ lib.optional spiceSupport "--enable-spice"
+    ++ lib.optional usbredirSupport "--enable-usb-redir"
+    ++ lib.optional (hostCpuTargets != null) "--target-list=${lib.concatStringsSep "," hostCpuTargets}"
+    ++ lib.optional stdenv.isDarwin "--enable-cocoa"
+    ++ lib.optional stdenv.isDarwin "--enable-hvf"
+    ++ lib.optional stdenv.isLinux "--enable-linux-aio"
+    ++ lib.optional gtkSupport "--enable-gtk"
+    ++ lib.optional xenSupport "--enable-xen"
+    ++ lib.optional cephSupport "--enable-rbd"
+    ++ lib.optional glusterfsSupport "--enable-glusterfs"
+    ++ lib.optional openGLSupport "--enable-opengl"
+    ++ lib.optional virglSupport "--enable-virglrenderer"
+    ++ lib.optional tpmSupport "--enable-tpm"
+    ++ lib.optional libiscsiSupport "--enable-libiscsi"
+    ++ lib.optional smbdSupport "--smbd=${samba}/bin/smbd";
 
   doCheck = false; # tries to access /dev
   dontWrapGApps = true;
@@ -190,7 +188,7 @@ stdenv.mkDerivation rec {
     # copy qemu-ga (guest agent) to separate output
     mkdir -p $ga/bin
     cp $out/bin/qemu-ga $ga/bin/
-  '' + optionalString gtkSupport ''
+  '' + lib.optionalString gtkSupport ''
     # wrap GTK Binaries
     for f in $out/bin/qemu-system-*; do
       wrapGApp $f
diff --git a/nixpkgs/pkgs/applications/virtualization/runc/default.nix b/nixpkgs/pkgs/applications/virtualization/runc/default.nix
index 2e024c20f41c..6b0764e04ba5 100644
--- a/nixpkgs/pkgs/applications/virtualization/runc/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/runc/default.nix
@@ -16,13 +16,13 @@
 
 buildGoModule rec {
   pname = "runc";
-  version = "1.0.1";
+  version = "1.0.2";
 
   src = fetchFromGitHub {
     owner = "opencontainers";
     repo = "runc";
     rev = "v${version}";
-    sha256 = "sha256-xd46HlZenTNCzmnCGN3x7Ah8pPLwbG9LSMGmiPIPyv0=";
+    sha256 = "sha256-l+Uq7aiXFrI+qbKSOZpYFIXz0VJBBR7ZZxlAJeGb7K4=";
   };
 
   vendorSha256 = null;
diff --git a/nixpkgs/pkgs/applications/virtualization/seabios/default.nix b/nixpkgs/pkgs/applications/virtualization/seabios/default.nix
index 42e1eaf56d4d..a97c43495703 100644
--- a/nixpkgs/pkgs/applications/virtualization/seabios/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/seabios/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, iasl, python3 }:
+{ lib, stdenv, fetchurl, acpica-tools, python3 }:
 
 stdenv.mkDerivation rec {
 
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ python3 ];
 
-  buildInputs = [ iasl ];
+  buildInputs = [ acpica-tools ];
 
   strictDeps = true;
 
@@ -47,4 +47,3 @@ stdenv.mkDerivation rec {
     platforms = [ "i686-linux" "x86_64-linux" ];
   };
 }
-
diff --git a/nixpkgs/pkgs/applications/virtualization/singularity/default.nix b/nixpkgs/pkgs/applications/virtualization/singularity/default.nix
index bf3285a78ead..e1f1583d0365 100644
--- a/nixpkgs/pkgs/applications/virtualization/singularity/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/singularity/default.nix
@@ -15,11 +15,11 @@ with lib;
 
 buildGoPackage rec {
   pname = "singularity";
-  version = "3.8.0";
+  version = "3.8.1";
 
   src = fetchurl {
     url = "https://github.com/hpcng/singularity/releases/download/v${version}/singularity-${version}.tar.gz";
-    sha256 = "sha256-6WCLDgqMgFIYu+eV6RdkhIN7L3/LleVGm4U7OAmiQS4=";
+    sha256 = "sha256-Jkg2b7x+j8up0y+PGH6hSTVsX5CDpXgm1kE1n6hBXZo=";
   };
 
   goPackagePath = "github.com/sylabs/singularity";
diff --git a/nixpkgs/pkgs/applications/virtualization/tiny8086/default.nix b/nixpkgs/pkgs/applications/virtualization/tiny8086/default.nix
new file mode 100644
index 000000000000..60d69432cde6
--- /dev/null
+++ b/nixpkgs/pkgs/applications/virtualization/tiny8086/default.nix
@@ -0,0 +1,68 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, localBios ? true
+, nasm
+, sdlSupport ? true
+, SDL
+}:
+
+stdenv.mkDerivation rec {
+  pname = "8086tiny";
+  version = "1.25";
+
+  src = fetchFromGitHub {
+    owner = "adriancable";
+    repo = pname;
+    rev = "c79ca2a34d96931d55ef724c815b289d0767ae3a";
+    sha256 = "00aydg8f28sgy8l3rd2a7jvp56lx3b63hhak43p7g7vjdikv495w";
+  };
+
+  buildInputs = lib.optional localBios nasm
+    ++ lib.optional sdlSupport SDL;
+
+  makeFlags = [ "8086tiny" ];
+
+  postBuild = lib.optionalString localBios ''
+    (
+      cd bios_source
+      nasm -f bin bios.asm -o bios
+    )
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin $out/share/8086tiny $out/share/doc/8086tiny/images
+
+    install -m 755 8086tiny $out/bin
+    install -m 644 fd.img $out/share/8086tiny/8086tiny-floppy.img
+    install -m 644 bios_source/bios.asm $out/share/8086tiny/8086tiny-bios-src.asm
+    install -m 644 docs/8086tiny.css $out/share/doc/8086tiny
+    install -m 644 docs/doc.html $out/share/doc/$name
+
+    for i in docs/images/\*.gif; do
+      install -m 644 $i $out/share/doc/8086tiny/images
+    done
+
+    ${if localBios then
+      "install -m 644 bios_source/bios $out/share/8086tiny/8086tiny-bios"
+    else
+      "install -m 644 bios $out/share/8086tiny/8086tiny-bios"}
+  '';
+
+  meta = with lib; {
+    description = "An open-source small 8086 emulator";
+    longDescription = ''
+      8086tiny is a tiny, open-source (MIT), portable (little-endian hosts)
+      Intel PC emulator, powerful enough to run DOS, Windows 3.0, Excel, MS
+      Flight Simulator, AutoCAD, Lotus 1-2-3, and similar applications. 8086tiny
+      emulates a "late 80's era" PC XT-type machine.
+
+      8086tiny is based on an IOCCC 2013 winning entry. In fact that is the
+      "unobfuscated" version :)
+    '';
+    homepage = "https://github.com/adriancable/8086tiny";
+    license = licenses.mit;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/virtualization/umoci/default.nix b/nixpkgs/pkgs/applications/virtualization/umoci/default.nix
index 82e6ca9086f3..22db5503c0d4 100644
--- a/nixpkgs/pkgs/applications/virtualization/umoci/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/umoci/default.nix
@@ -21,7 +21,7 @@ buildGoModule rec {
 
   doCheck = false;
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
+  ldflags = [ "-s" "-w" "-X main.version=${version}" ];
 
   nativeBuildInputs = [ go-md2man installShellFiles ];
 
diff --git a/nixpkgs/pkgs/applications/virtualization/virt-what/default.nix b/nixpkgs/pkgs/applications/virtualization/virt-what/default.nix
index f3004267ed79..ead44c40f9cd 100644
--- a/nixpkgs/pkgs/applications/virtualization/virt-what/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/virt-what/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "virt-what";
-  version = "1.20";
+  version = "1.21";
 
   src = fetchurl {
     url = "https://people.redhat.com/~rjones/virt-what/files/${pname}-${version}.tar.gz";
-    sha256 = "1s0hg5w47gmnllbs935bx21k3zqrgvqx1wn0zzij2lfxkb9dq4zr";
+    sha256 = "0yqz1l4di57d4y1z94yhdmkiykg9a8i7xwkqmd9zsk5a6i9lbjqj";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/virtualization/virtualbox/default.nix b/nixpkgs/pkgs/applications/virtualization/virtualbox/default.nix
index 0bc3af364e6d..c693fa8fdcf1 100644
--- a/nixpkgs/pkgs/applications/virtualization/virtualbox/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/virtualbox/default.nix
@@ -1,4 +1,4 @@
-{ config, stdenv, fetchurl, lib, iasl, dev86, pam, libxslt, libxml2, wrapQtAppsHook
+{ config, stdenv, fetchurl, lib, acpica-tools, dev86, pam, libxslt, libxml2, wrapQtAppsHook
 , libX11, xorgproto, libXext, libXcursor, libXmu, libIDL, SDL, libcap, libGL
 , libpng, glib, lvm2, libXrandr, libXinerama, libopus, qtbase, qtx11extras
 , qttools, qtsvg, qtwayland, pkg-config, which, docbook_xsl, docbook_xml_dtd_43
@@ -23,24 +23,14 @@ let
   buildType = "release";
   # Use maintainers/scripts/update.nix to update the version and all related hashes or
   # change the hashes in extpack.nix and guest-additions/default.nix as well manually.
-  version = "6.1.22";
-
-  iasl' = iasl.overrideAttrs (old: rec {
-    inherit (old) pname;
-    version = "20190108";
-    src = fetchurl {
-      url = "https://acpica.org/sites/acpica/files/acpica-unix-${version}.tar.gz";
-      sha256 = "0bqhr3ndchvfhxb31147z8gd81dysyz5dwkvmp56832d0js2564q";
-    };
-    NIX_CFLAGS_COMPILE = old.NIX_CFLAGS_COMPILE + " -Wno-error=stringop-truncation";
-  });
+  version = "6.1.26";
 in stdenv.mkDerivation {
   pname = "virtualbox";
   inherit version;
 
   src = fetchurl {
     url = "https://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2";
-    sha256 = "99816d2a15205d49362a31e8ffeb8262d2fa0678c751dfd0a7c43b2faca8be49";
+    sha256 = "0212602eea878d6c9fd7f4a3e0182da3e4505f31d25f5539fb8f7b1fbe366195";
   };
 
   outputs = [ "out" "modsrc" ];
@@ -52,7 +42,7 @@ in stdenv.mkDerivation {
   dontWrapQtApps = true;
 
   buildInputs =
-    [ iasl' dev86 libxslt libxml2 xorgproto libX11 libXext libXcursor libIDL
+    [ acpica-tools dev86 libxslt libxml2 xorgproto libX11 libXext libXcursor libIDL
       libcap glib lvm2 alsa-lib curl libvpx pam makeself perl
       libXmu libpng libopus python ]
     ++ optional javaBindings jdk
@@ -104,6 +94,9 @@ in stdenv.mkDerivation {
     })
   ++ [
     ./qtx11extras.patch
+    # Temporary workaround for broken build
+    # https://www.virtualbox.org/pipermail/vbox-dev/2021-July/015670.html
+    ./fix-configure-pkgconfig-qt.patch
   ];
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/applications/virtualization/virtualbox/extpack.nix b/nixpkgs/pkgs/applications/virtualization/virtualbox/extpack.nix
index 8c64337c6cb0..5ed763fa2e77 100644
--- a/nixpkgs/pkgs/applications/virtualization/virtualbox/extpack.nix
+++ b/nixpkgs/pkgs/applications/virtualization/virtualbox/extpack.nix
@@ -12,7 +12,7 @@ fetchurl rec {
     # Manually sha256sum the extensionPack file, must be hex!
     # Thus do not use `nix-prefetch-url` but instead plain old `sha256sum`.
     # Checksums can also be found at https://www.virtualbox.org/download/hashes/${version}/SHA256SUMS
-    let value = "6d33d9cc1c5a8f8a2a70e5aaaa778a341322d2ba7eb34f7de420fb5f312b9e87";
+    let value = "aaa1a1f8615d5bd2e08b158ce6f415262fbb595e169e2d415c5b1844ac258eee";
     in assert (builtins.stringLength value) == 64; value;
 
   meta = {
diff --git a/nixpkgs/pkgs/applications/virtualization/virtualbox/fix-configure-pkgconfig-qt.patch b/nixpkgs/pkgs/applications/virtualization/virtualbox/fix-configure-pkgconfig-qt.patch
new file mode 100644
index 000000000000..0594a2f19d45
--- /dev/null
+++ b/nixpkgs/pkgs/applications/virtualization/virtualbox/fix-configure-pkgconfig-qt.patch
@@ -0,0 +1,11 @@
+Index: /trunk/configure
+===================================================================
+--- a/configure	(revision 90360)
++++ b/configure	(revision 90377)
+@@ -1588,5 +1588,5 @@
+         if [ $? -eq 0 ]; then
+           echo "(Qt5 from pkg-config)" >> $LOG
+-          FLGQT5=`pkg-config Qt5Core Qt5Gui --cflags`
++          FLGQT5=`pkg-config Qt5Core --cflags`
+           # gcc 4.8 is able to compile with C++11 (see also VBOX_GCC_std in Config.kmk)
+           [ $(($cc_maj * 100 + $cc_min)) -ge 408 ] && FLGQT5="$FLGQT5 -std=c++11"
diff --git a/nixpkgs/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix b/nixpkgs/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
index 218d4983ca55..66bd2966f5d3 100644
--- a/nixpkgs/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
@@ -27,7 +27,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso";
-    sha256 = "bffc316a7b8d5ed56d830e9f6aef02b4e5ffc28674032142e96ffbedd905f8c9";
+    sha256 = "22d02ec417cd7723d7269dbdaa71c48815f580c0ca7a0606c42bd623f84873d7";
   };
 
   KERN_DIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
diff --git a/nixpkgs/pkgs/applications/virtualization/vpcs/default.nix b/nixpkgs/pkgs/applications/virtualization/vpcs/default.nix
index 8c41a1f4c274..7c2424ef0f44 100644
--- a/nixpkgs/pkgs/applications/virtualization/vpcs/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/vpcs/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "vpcs";
-  version = "0.8.1";
+  version = "0.8.2";
 
   src = fetchFromGitHub {
     owner = "GNS3";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0kqy4bd3ns8nzn7fa72izn7a08sfrasy1rn7fd8ajah2wv8d2cak";
+    sha256 = "sha256-joEXRMtNZMQumkYDX1gdpGAV+XdNKiAMj3dh1GZxeqc=";
   };
 
   buildPhase = ''(
@@ -33,6 +33,6 @@ stdenv.mkDerivation rec {
     inherit (src.meta) homepage;
     license = licenses.bsd2;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ primeos ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/virtualization/x11docker/default.nix b/nixpkgs/pkgs/applications/virtualization/x11docker/default.nix
index ea3b87b47e41..c7ae9482840b 100644
--- a/nixpkgs/pkgs/applications/virtualization/x11docker/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/x11docker/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchFromGitHub, makeWrapper, nx-libs, xorg, getopt, gnugrep, gawk, ps, mount, iproute2 }:
 stdenv.mkDerivation rec {
   pname = "x11docker";
-  version = "6.6.2";
+  version = "6.9.0";
   src = fetchFromGitHub {
     owner = "mviereck";
     repo = "x11docker";
     rev = "v${version}";
-    sha256 = "1skdgr2hipd7yx9c7r7nr3914gm9cm1xj6h3qdsa9f92xxm3aml1";
+    sha256 = "sha256-O+lab3K7J2Zz9t+yB/kYWtBOvQGOQMDFNDUVXzTj/h4=";
   };
   nativeBuildInputs = [ makeWrapper ];
 
diff --git a/nixpkgs/pkgs/applications/virtualization/xen/generic.nix b/nixpkgs/pkgs/applications/virtualization/xen/generic.nix
index 3d0ff3a6f336..8299304045d0 100644
--- a/nixpkgs/pkgs/applications/virtualization/xen/generic.nix
+++ b/nixpkgs/pkgs/applications/virtualization/xen/generic.nix
@@ -3,7 +3,7 @@ config:
 
 # Xen
 , bison, bzip2, checkpolicy, dev86, figlet, flex, gettext, glib
-, iasl, libaio, libiconv, libuuid, ncurses, openssl, perl
+, acpica-tools, libaio, libiconv, libuuid, ncurses, openssl, perl
 , python2Packages
 # python2Packages.python
 , xz, yajl, zlib
@@ -71,7 +71,7 @@ stdenv.mkDerivation (rec {
     cmake which
 
     # Xen
-    bison bzip2 checkpolicy dev86 figlet flex gettext glib iasl libaio
+    bison bzip2 checkpolicy dev86 figlet flex gettext glib acpica-tools libaio
     libiconv libuuid ncurses openssl perl python2Packages.python xz yajl zlib
 
     # oxenstored
diff --git a/nixpkgs/pkgs/applications/window-managers/hikari/default.nix b/nixpkgs/pkgs/applications/window-managers/hikari/default.nix
index a9545757d792..5ee2c8c35e49 100644
--- a/nixpkgs/pkgs/applications/window-managers/hikari/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/hikari/default.nix
@@ -1,8 +1,8 @@
-{ lib, stdenv, fetchzip, fetchpatch,
-  pkg-config, bmake,
-  cairo, glib, libevdev, libinput, libxkbcommon, linux-pam, pango, pixman,
-  libucl, wayland, wayland-protocols, wlroots, mesa,
-  features ? {
+{ lib, stdenv, fetchzip
+, pkg-config, bmake
+, cairo, glib, libevdev, libinput, libxkbcommon, linux-pam, pango, pixman
+, libucl, wayland, wayland-protocols, wlroots, mesa
+, features ? {
     gammacontrol = true;
     layershell   = true;
     screencopy   = true;
@@ -10,17 +10,13 @@
   }
 }:
 
-let
+stdenv.mkDerivation rec {
   pname = "hikari";
-  version = "2.3.1";
-in
-
-stdenv.mkDerivation {
-  inherit pname version;
+  version = "2.3.2";
 
   src = fetchzip {
     url = "https://hikari.acmelabs.space/releases/${pname}-${version}.tar.gz";
-    sha256 = "sha256-o6YsUATcWHSuAEfU7WnwxKNxRNuBt069qCv0FKDWStg=";
+    sha256 = "sha256-At4b6mkArKe6knNWouLdZ9v8XhfHaUW+aB+CHyEBg8o=";
   };
 
   nativeBuildInputs = [ pkg-config bmake ];
diff --git a/nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix b/nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix
index fe0cde61c6f3..edb482ad15f0 100644
--- a/nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix
+++ b/nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix
@@ -12,16 +12,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "i3status-rust";
-  version = "0.20.2";
+  version = "0.20.4";
 
   src = fetchFromGitHub {
     owner = "greshake";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-9PXvQrh0gmn/G+b7sbQffQkPnUKu1eVrvUoJlRBsOEM=";
+    sha256 = "sha256-lohMrsMCAnb2p7H+xfa24Wx3LEFxCAlGHfP9A70Hg48=";
   };
 
-  cargoSha256 = "sha256-6orDR2Ml1Fy20uT47EDkEk0rGFxO0djHZsFiqlS1Tk8=";
+  cargoSha256 = "sha256-pe96VNTH49qgQ4yxKcAcQPN31W2k1mD9TdhNKBp4x5Q=";
 
   nativeBuildInputs = [ pkg-config makeWrapper ];
 
@@ -40,7 +40,7 @@ rustPlatform.buildRustPackage rec {
 
   postInstall = ''
     mkdir -p $out/share
-    cp -R files/* $out/share
+    cp -R examples files/* $out/share
   '';
 
   postFixup = ''
diff --git a/nixpkgs/pkgs/applications/window-managers/i3/wmfocus.nix b/nixpkgs/pkgs/applications/window-managers/i3/wmfocus.nix
index 7033e5730490..6756afb4a5c5 100644
--- a/nixpkgs/pkgs/applications/window-managers/i3/wmfocus.nix
+++ b/nixpkgs/pkgs/applications/window-managers/i3/wmfocus.nix
@@ -3,16 +3,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "wmfocus";
-  version = "1.1.5";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "svenstaro";
     repo = pname;
     rev = "v${version}";
-    sha256 = "09xffklpz62h6yiksxdlv3a9s1z0wr3ax9syl399avwdmq3c0y49";
+    sha256 = "sha256-fZbsKu7C+rqggaFVSDNIGDAgn23M7mi+1jhV85s1Co8=";
   };
 
-  cargoSha256 = "0fmz3q3yadymbqnkdhjd2z2g4zgf3z81ccixwywndd9zb7p47zdr";
+  cargoSha256 = "sha256-ejzVJdtOXBPe+14g4aJFBMCvXkmNia9dNAk/BVQ2ZSQ=";
 
   nativeBuildInputs = [ python3 pkg-config ];
   buildInputs = [ cairo libxkbcommon xorg.xcbutilkeysyms ];
diff --git a/nixpkgs/pkgs/applications/window-managers/icewm/default.nix b/nixpkgs/pkgs/applications/window-managers/icewm/default.nix
index 77ed0c561cd4..1584b7fed019 100644
--- a/nixpkgs/pkgs/applications/window-managers/icewm/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/icewm/default.nix
@@ -1,9 +1,8 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, cmake
-, pkg-config
 , asciidoc
+, cmake
 , expat
 , fontconfig
 , freetype
@@ -11,6 +10,7 @@
 , gdk-pixbuf
 , gdk-pixbuf-xlib
 , gettext
+, giflib
 , glib
 , imlib2
 , libICE
@@ -30,22 +30,22 @@
 , libpthreadstubs
 , libsndfile
 , libtiff
-, giflib
 , libxcb
 , mkfontdir
 , pcre
 , perl
+, pkg-config
 }:
 
 stdenv.mkDerivation rec {
   pname = "icewm";
-  version = "2.3.4";
+  version = "2.6.0";
 
   src = fetchFromGitHub {
     owner  = "ice-wm";
     repo = pname;
     rev = version;
-    hash = "sha256-UyLefj0eY/m3Of51NdhMNMq3z+kaLK28zDe63hbDK5A=";
+    hash = "sha256-R06tiWS9z6K5Nbi+vvk7DyozpcFdrHleMeh7Iq/FfHQ=";
   };
 
   nativeBuildInputs = [
@@ -62,6 +62,7 @@ stdenv.mkDerivation rec {
     gdk-pixbuf
     gdk-pixbuf-xlib
     gettext
+    giflib
     glib
     imlib2
     libICE
@@ -81,13 +82,15 @@ stdenv.mkDerivation rec {
     libpthreadstubs
     libsndfile
     libtiff
-    giflib
     libxcb
     mkfontdir
     pcre
   ];
 
-  cmakeFlags = [ "-DPREFIX=$out" "-DCFGDIR=/etc/icewm" ];
+  cmakeFlags = [
+    "-DPREFIX=$out"
+    "-DCFGDIR=/etc/icewm"
+  ];
 
   # install legacy themes
   postInstall = ''
diff --git a/nixpkgs/pkgs/applications/window-managers/labwc/default.nix b/nixpkgs/pkgs/applications/window-managers/labwc/default.nix
index afa391e09d80..3bbe08164641 100644
--- a/nixpkgs/pkgs/applications/window-managers/labwc/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/labwc/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchpatch
 , pkg-config
 , meson
 , ninja
@@ -22,43 +21,34 @@
 
 stdenv.mkDerivation rec {
   pname = "labwc";
-  version = "0.2.1"; # We're effectively using that version
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "johanmalm";
     repo = pname;
-    rev = "6744e103014bcb0480133a029ec0f82f9b017e60";
-    sha256 = "0sdr4zkix8x3vmna4i946y3whpj7fqizpaac6yj7w0as9d6hj0iq";
+    rev = version;
+    sha256 = "sha256-v8LGiQG/n1IXeVMPWyiP9MgZzZLW78JftvxnRVTswaM=";
   };
 
-  patches = [
-    # To fix the build with wlroots 0.14:
-    (fetchpatch {
-      # output: access texture width/height directly
-      url = "https://github.com/johanmalm/labwc/commit/892e93dd84c514b4e6f34a0fab01c727edd2d8de.patch";
-      sha256 = "1p1pg1kd98727wlcspa2sffl7ijhvsfad6bj2rxsw322q0bz3yrh";
-    })
-    (fetchpatch {
-      # xdg: chase swaywm/wlroots@9e58301
-      url = "https://github.com/johanmalm/labwc/commit/874cc9e63706dd54d9f9fcb071f2d2e0c19d3d7e.patch";
-      sha256 = "0ypd47q5ffq4wjkrcr3068qjknn2s66zszyxg3dl0f87q2pxh6wx";
-    })
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    scdoc
   ];
-
-  nativeBuildInputs = [ pkg-config meson ninja scdoc ];
   buildInputs = [
     cairo
     glib
+    libdrm
     libinput
+    libxcb
+    libxkbcommon
     libxml2
     pango
     wayland
     wayland-protocols
     wlroots
-    libxcb
-    libxkbcommon
     xwayland
-    libdrm
   ];
 
   mesonFlags = [ "-Dxwayland=enabled" ];
diff --git a/nixpkgs/pkgs/applications/window-managers/mlvwm/default.nix b/nixpkgs/pkgs/applications/window-managers/mlvwm/default.nix
new file mode 100644
index 000000000000..14170be53ac6
--- /dev/null
+++ b/nixpkgs/pkgs/applications/window-managers/mlvwm/default.nix
@@ -0,0 +1,53 @@
+{ lib, stdenv, fetchFromGitHub, gccmakedep, libX11, libXext, libXpm, imake, installShellFiles, ... }:
+
+stdenv.mkDerivation rec {
+  pname = "mlvwm";
+  version = "0.9.3";
+
+  src = fetchFromGitHub {
+    owner = "morgant";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-Sps2+XyMTcNuhQTLrW/8vSZIcSzMejoi1m64SK129YI=";
+  };
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  buildInputs = [ gccmakedep libX11 libXext libXpm imake ];
+
+  buildPhase = ''
+    (cd man && xmkmf)
+    (cd sample_rc && xmkmf)
+    (cd mlvwm && xmkmf)
+    xmkmf
+    make
+  '';
+
+  installPhase = ''
+    mkdir -p $out/{bin,etc}
+    cp mlvwm/mlvwm $out/bin
+    cp sample_rc/Mlvwmrc* $out/etc
+    runHook postInstall
+  '';
+
+  postInstall = ''
+    mv man/mlvwm.man man/mlvwm.1
+    installManPage man/mlvwm.1
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/morgant/mlvwm";
+    description = "Macintosh-like Virtual Window Manager";
+    license = licenses.mit;
+    longDescription = ''
+      MLVWM or Macintosh-Like Virtual Window Manager,
+      is an FVWM descendant created by Takashi Hasegawa
+      in 1997 while studying at Nagoya University and
+      was written entirely in the C programming language.
+      As its name implies, it attempts to emulate the
+      pre-Mac OS X Macintosh look and feel in its layout and window design.
+    '';
+    platforms = platforms.linux;
+    maintainers = [ maintainers.j0hax ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/window-managers/phosh/default.nix b/nixpkgs/pkgs/applications/window-managers/phosh/default.nix
index 9fa0959ed505..0a16bfc8842b 100644
--- a/nixpkgs/pkgs/applications/window-managers/phosh/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/phosh/default.nix
@@ -8,6 +8,8 @@
 , wrapGAppsHook
 , libhandy
 , libxkbcommon
+, libgudev
+, callaudiod
 , pulseaudio
 , glib
 , gtk3
@@ -24,27 +26,20 @@
 , networkmanager
 , polkit
 , libsecret
-, writeText
 }:
 
-let
-  gvc = fetchFromGitLab {
-    domain = "gitlab.gnome.org";
-    owner = "GNOME";
-    repo = "libgnome-volume-control";
-    rev = "ae1a34aafce7026b8c0f65a43c9192d756fe1057";
-    sha256 = "0a4qh5pgyjki904qf7qmvqz2ksxb0p8xhgl2aixfbhixn0pw6saw";
-  };
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "phosh";
-  version = "0.12.0";
+  version = "0.13.1";
 
   src = fetchFromGitLab {
-    domain = "source.puri.sm";
-    owner = "Librem5";
+    domain = "gitlab.gnome.org";
+    group = "World";
+    owner = "Phosh";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1s0lgq04qz562iri535wpwvfkmmngdpclyl329cf7rc9ihy1kjvs";
+    fetchSubmodules = true; # including gvc and libcall-ui which are designated as subprojects
+    sha256 = "sha256-dKQK4mGe/dvNlca/XMDeq1Q4dH/WBF/rtiUh8RssF5c=";
   };
 
   nativeBuildInputs = [
@@ -60,6 +55,8 @@ in stdenv.mkDerivation rec {
     libhandy
     libsecret
     libxkbcommon
+    libgudev
+    callaudiod
     pulseaudio
     glib
     gcr
@@ -86,11 +83,6 @@ in stdenv.mkDerivation rec {
 
   mesonFlags = [ "-Dsystemd=true" "-Dcompositor=${phoc}/bin/phoc" ];
 
-  postUnpack = ''
-    rmdir $sourceRoot/subprojects/gvc
-    ln -s ${gvc} $sourceRoot/subprojects/gvc
-  '';
-
   postPatch = ''
     chmod +x build-aux/post_install.py
     patchShebangs build-aux/post_install.py
@@ -128,9 +120,9 @@ in stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A pure Wayland shell prototype for GNOME on mobile devices";
-    homepage = "https://source.puri.sm/Librem5/phosh";
+    homepage = "https://gitlab.gnome.org/World/Phosh/phosh";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ archseer jtojnar masipcat zhaofengli ];
+    maintainers = with maintainers; [ jtojnar masipcat zhaofengli ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/window-managers/qtile/0001-Substitution-vars-for-absolute-paths.patch b/nixpkgs/pkgs/applications/window-managers/qtile/0001-Substitution-vars-for-absolute-paths.patch
deleted file mode 100644
index ed22ed99b078..000000000000
--- a/nixpkgs/pkgs/applications/window-managers/qtile/0001-Substitution-vars-for-absolute-paths.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-diff --git a/libqtile/backend/x11/xcursors.py b/libqtile/backend/x11/xcursors.py
-index 24454b83..ef37875c 100644
---- a/libqtile/backend/x11/xcursors.py
-+++ b/libqtile/backend/x11/xcursors.py
-@@ -107,7 +107,7 @@ class Cursors(dict):
- 
-     def _setup_xcursor_binding(self):
-         try:
--            xcursor = ffi.dlopen('libxcb-cursor.so.0')
-+            xcursor = ffi.dlopen('@xcb-cursor@/lib/libxcb-cursor.so.0')
-         except OSError:
-             logger.warning("xcb-cursor not found, fallback to font pointer")
-             return False
-diff --git a/libqtile/pangocffi.py b/libqtile/pangocffi.py
-index dbae27ed..54c2c35f 100644
---- a/libqtile/pangocffi.py
-+++ b/libqtile/pangocffi.py
-@@ -52,10 +52,9 @@ try:
- except ImportError:
-     raise ImportError("No module named libqtile._ffi_pango, be sure to run `./scripts/ffibuild`")
- 
--gobject = ffi.dlopen('libgobject-2.0.so.0')
--pango = ffi.dlopen('libpango-1.0.so.0')
--pangocairo = ffi.dlopen('libpangocairo-1.0.so.0')
--
-+gobject = ffi.dlopen('@glib@/lib/libgobject-2.0.so.0')
-+pango = ffi.dlopen('@pango@/lib/libpango-1.0.so.0')
-+pangocairo = ffi.dlopen('@pango@/lib/libpangocairo-1.0.so.0')
- 
- def patch_cairo_context(cairo_t):
-     def create_layout():
diff --git a/nixpkgs/pkgs/applications/window-managers/qtile/0002-Restore-PATH-and-PYTHONPATH.patch b/nixpkgs/pkgs/applications/window-managers/qtile/0002-Restore-PATH-and-PYTHONPATH.patch
deleted file mode 100644
index 1eaa5b84174c..000000000000
--- a/nixpkgs/pkgs/applications/window-managers/qtile/0002-Restore-PATH-and-PYTHONPATH.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-diff --git a/bin/qshell b/bin/qshell
-index 5c652b7a..2d169eb2 100755
---- a/bin/qshell
-+++ b/bin/qshell
-@@ -28,5 +28,6 @@ base_dir = os.path.abspath(os.path.join(this_dir, ".."))
- sys.path.insert(0, base_dir)
- 
- if __name__ == '__main__':
-+    __import__("importlib").import_module("libqtile.utils").restore_os_environment()
-     from libqtile.scripts import qshell
-     qshell.main()
-diff --git a/bin/qtile b/bin/qtile
-index ebc8fab5..08a965ef 100755
---- a/bin/qtile
-+++ b/bin/qtile
-@@ -29,5 +29,6 @@ base_dir = os.path.abspath(os.path.join(this_dir, ".."))
- sys.path.insert(0, base_dir)
- 
- if __name__ == '__main__':
-+    __import__("importlib").import_module("libqtile.utils").restore_os_environment()
-     from libqtile.scripts import qtile
-     qtile.main()
-diff --git a/bin/qtile-cmd b/bin/qtile-cmd
-index a2136ee6..3d37a6d9 100755
---- a/bin/qtile-cmd
-+++ b/bin/qtile-cmd
-@@ -8,5 +8,6 @@ base_dir = os.path.abspath(os.path.join(this_dir, ".."))
- sys.path.insert(0, base_dir)
- 
- if __name__ == '__main__':
-+    __import__("importlib").import_module("libqtile.utils").restore_os_environment()
-     from libqtile.scripts import qtile_cmd
-     qtile_cmd.main()
-diff --git a/bin/qtile-run b/bin/qtile-run
-index ac4cb1fd..74c589cb 100755
---- a/bin/qtile-run
-+++ b/bin/qtile-run
-@@ -8,5 +8,6 @@ base_dir = os.path.abspath(os.path.join(this_dir, ".."))
- sys.path.insert(0, base_dir)
- 
- if __name__ == '__main__':
-+    __import__("importlib").import_module("libqtile.utils").restore_os_environment()
-     from libqtile.scripts import qtile_run
-     qtile_run.main()
-diff --git a/bin/qtile-top b/bin/qtile-top
-index a6251f27..0d524b1d 100755
---- a/bin/qtile-top
-+++ b/bin/qtile-top
-@@ -8,5 +8,6 @@ base_dir = os.path.abspath(os.path.join(this_dir, ".."))
- sys.path.insert(0, base_dir)
- 
- if __name__ == '__main__':
-+    __import__("importlib").import_module("libqtile.utils").restore_os_environment()
-     from libqtile.scripts import qtile_top
-     qtile_top.main()
-diff --git a/libqtile/utils.py b/libqtile/utils.py
-index 2628c898..05117be7 100644
---- a/libqtile/utils.py
-+++ b/libqtile/utils.py
-@@ -270,3 +270,10 @@ def guess_terminal():
-         return terminal
- 
-     logger.error('Default terminal has not been found.')
-+
-+def restore_os_environment():
-+    pythonpath = os.environ.pop("QTILE_SAVED_PYTHONPATH", "")
-+    os.environ["PYTHONPATH"] = pythonpath
-+    path = os.environ.pop("QTILE_SAVED_PATH", None)
-+    if path:
-+        os.environ["PATH"] = path
-
diff --git a/nixpkgs/pkgs/applications/window-managers/qtile/0003-Restart-executable.patch b/nixpkgs/pkgs/applications/window-managers/qtile/0003-Restart-executable.patch
deleted file mode 100644
index c04d8a83c1a2..000000000000
--- a/nixpkgs/pkgs/applications/window-managers/qtile/0003-Restart-executable.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/libqtile/core/manager.py b/libqtile/core/manager.py
-index c22eeb6a..2ffe4eab 100644
---- a/libqtile/core/manager.py
-+++ b/libqtile/core/manager.py
-@@ -278,7 +278,7 @@ class Qtile(CommandObject):
-             logger.error("Unable to pickle qtile state")
-         argv = [s for s in argv if not s.startswith('--with-state')]
-         argv.append('--with-state=' + buf.getvalue().decode())
--        self._restart = (sys.executable, argv)
-+        self._restart = (os.environ.get("QTILE_WRAPPER", "@out@/bin/qtile"), argv[1:])
-         self.stop()
- 
-     async def finalize(self):
diff --git a/nixpkgs/pkgs/applications/window-managers/qtile/default.nix b/nixpkgs/pkgs/applications/window-managers/qtile/default.nix
index 08b3a9834b6a..ae62cdbbba14 100644
--- a/nixpkgs/pkgs/applications/window-managers/qtile/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/qtile/default.nix
@@ -1,66 +1,68 @@
-{ lib, fetchFromGitHub, python37Packages, glib, cairo, pango, pkg-config, libxcb, xcbutilcursor }:
+{ lib, fetchFromGitHub, python3, glib, cairo, pango, pkg-config, libxcb, xcbutilcursor }:
 
-let cairocffi-xcffib = python37Packages.cairocffi.override {
+let
+  enabled-xcffib = cairocffi-xcffib: cairocffi-xcffib.override {
     withXcffib = true;
   };
-in
-
-python37Packages.buildPythonApplication rec {
-  name = "qtile-${version}";
-  version = "0.16.0";
 
-  src = fetchFromGitHub {
-    owner = "qtile";
-    repo = "qtile";
-    rev = "v${version}";
-    sha256 = "1klv1k9847nyx71sfrhqyl1k51k2w8phqnp2bns4dvbqii7q125l";
-  };
+  # make it easier to reference python
+  python = python3;
+  pythonPackages = python.pkgs;
 
-  patches = [
-    ./0001-Substitution-vars-for-absolute-paths.patch
-    ./0002-Restore-PATH-and-PYTHONPATH.patch
-    ./0003-Restart-executable.patch
-  ];
+  unwrapped = pythonPackages.buildPythonPackage rec {
+    pname = "qtile";
+    version = "0.18.0";
 
-  postPatch = ''
-    substituteInPlace libqtile/core/manager.py --subst-var-by out $out
-    substituteInPlace libqtile/pangocffi.py --subst-var-by glib ${glib.out}
-    substituteInPlace libqtile/pangocffi.py --subst-var-by pango ${pango.out}
-    substituteInPlace libqtile/backend/x11/xcursors.py --subst-var-by xcb-cursor ${xcbutilcursor.out}
-  '';
+    src = fetchFromGitHub {
+      owner = "qtile";
+      repo = "qtile";
+      rev = "v${version}";
+      sha256 = "sha256-S9G/EI18p9EAyWgI1ajDrLimeE+ETBC9feUDb/QthqI=";
+    };
 
-  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+    postPatch = ''
+      substituteInPlace libqtile/pangocffi.py \
+        --replace libgobject-2.0.so.0 ${glib.out}/lib/libgobject-2.0.so.0 \
+        --replace libpangocairo-1.0.so.0 ${pango.out}/lib/libpangocairo-1.0.so.0 \
+        --replace libpango-1.0.so.0 ${pango.out}/lib/libpango-1.0.so.0
+      substituteInPlace libqtile/backend/x11/xcursors.py \
+        --replace libxcb-cursor.so.0 ${xcbutilcursor.out}/lib/libxcb-cursor.so.0
+    '';
 
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ glib libxcb cairo pango python37Packages.xcffib ];
+    SETUPTOOLS_SCM_PRETEND_VERSION = version;
 
-  pythonPath = with python37Packages; [
-    xcffib
-    cairocffi-xcffib
-    setuptools
-    setuptools-scm
-    python-dateutil
-    dbus-python
-    mpd2
-    psutil
-    pyxdg
-    pygobject3
-  ];
+    nativeBuildInputs = [
+      pkg-config
+    ] ++ (with pythonPackages; [
+      setuptools-scm
+    ]);
 
-  postInstall = ''
-    wrapProgram $out/bin/qtile \
-      --run 'export QTILE_WRAPPER=$0' \
-      --run 'export QTILE_SAVED_PYTHONPATH=$PYTHONPATH' \
-      --run 'export QTILE_SAVED_PATH=$PATH'
-  '';
+    propagatedBuildInputs = with pythonPackages; [
+      xcffib
+      (enabled-xcffib cairocffi)
+      setuptools
+      python-dateutil
+      dbus-python
+      mpd2
+      psutil
+      pyxdg
+      pygobject3
+    ];
 
-  doCheck = false; # Requires X server #TODO this can be worked out with the existing NixOS testing infrastructure.
+    doCheck = false; # Requires X server #TODO this can be worked out with the existing NixOS testing infrastructure.
 
-  meta = with lib; {
-    homepage = "http://www.qtile.org/";
-    license = licenses.mit;
-    description = "A small, flexible, scriptable tiling window manager written in Python";
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ kamilchm ];
+    meta = with lib; {
+      homepage = "http://www.qtile.org/";
+      license = licenses.mit;
+      description = "A small, flexible, scriptable tiling window manager written in Python";
+      platforms = platforms.linux;
+      maintainers = with maintainers; [ kamilchm ];
+    };
   };
-}
+in
+  (python.withPackages (ps: [ unwrapped ])).overrideAttrs (_: {
+    # otherwise will be exported as "env", this restores `nix search` behavior
+    name = "${unwrapped.pname}-${unwrapped.version}";
+    # export underlying qtile package
+    passthru = { inherit unwrapped; };
+  })
diff --git a/nixpkgs/pkgs/applications/window-managers/river/default.nix b/nixpkgs/pkgs/applications/window-managers/river/default.nix
index 317c08c5d894..5c809097ee17 100644
--- a/nixpkgs/pkgs/applications/window-managers/river/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/river/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "river";
-  version = "unstable-2021-06-27";
+  version = "unstable-2021-08-03";
 
   src = fetchFromGitHub {
     owner = "ifreund";
     repo = pname;
-    rev = "39578db1344ca298f2bb2fe2278a35108d5f2b66";
-    sha256 = "sha256-DQroN+FV7sq0PyczERZgnW73YKAVvj2JJQjfzidlBI8=";
+    rev = "2fc0875a3e17a0328d14d0c6323bd8022d5b15de";
+    sha256 = "sha256-Cs9RRubxy0DY6ILRZY36HtcoqBvzbN7NEfpREq1KBBQ=";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/applications/window-managers/stalonetray/default.nix b/nixpkgs/pkgs/applications/window-managers/stalonetray/default.nix
index 47903bb2276e..218b2a4fefd2 100644
--- a/nixpkgs/pkgs/applications/window-managers/stalonetray/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/stalonetray/default.nix
@@ -1,29 +1,51 @@
-{ lib, stdenv, fetchurl, libX11, xorgproto }:
+{ autoreconfHook
+, docbook_xml_dtd_44
+, docbook-xsl-ns
+, fetchFromGitHub
+, lib
+, libX11
+, libXpm
+, libxslt
+, stdenv
+}:
 
 stdenv.mkDerivation rec {
   pname = "stalonetray";
-  version = "0.8.3";
+  version = "0.8.4";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/stalonetray/${pname}-${version}.tar.bz2";
-    sha256 = "0k7xnpdb6dvx25d67v0crlr32cdnzykdsi9j889njiididc8lm1n";
+  src = fetchFromGitHub {
+    owner = "kolbusa";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-grxPqSYPLUstLIOKqzMActaSQ2ftYrjbalfR4HcPDRY=";
   };
 
-  buildInputs = [ libX11 xorgproto ];
+  preConfigure =
+    let
+      db_root = "${docbook-xsl-ns}/share/xml/docbook-xsl-ns";
+      ac_str = "AC_SUBST(DOCBOOK_ROOT)";
+      ac_str_sub = "DOCBOOK_ROOT=${db_root}; ${ac_str}";
+    in
+      ''
+        substituteInPlace configure.ac --replace '${ac_str}' '${ac_str_sub}'
+      '';
+
+  nativeBuildInputs = [
+    autoreconfHook
+    docbook-xsl-ns
+    docbook_xml_dtd_44
+    libX11
+    libXpm
+    libxslt
+  ];
 
   hardeningDisable = [ "format" ];
 
   meta = with lib; {
     description = "Stand alone tray";
-    homepage = "http://stalonetray.sourceforge.net";
-    license = licenses.gpl2;
+    homepage = "https://github.com/kolbusa/stalonetray";
+    license = licenses.gpl2Only;
     platforms = platforms.linux;
     maintainers = with maintainers; [ raskin ];
   };
-
-  passthru = {
-    updateInfo = {
-      downloadPage = "https://sourceforge.net/projects/stalonetray/files/";
-    };
-  };
 }
diff --git a/nixpkgs/pkgs/applications/window-managers/sway/bg.nix b/nixpkgs/pkgs/applications/window-managers/sway/bg.nix
index 1d5dea76b379..6d91d8c8f46c 100644
--- a/nixpkgs/pkgs/applications/window-managers/sway/bg.nix
+++ b/nixpkgs/pkgs/applications/window-managers/sway/bg.nix
@@ -15,6 +15,7 @@ stdenv.mkDerivation rec {
     sha256 = "17508q9wsw6c1lsxlcbxj74z2naqhwi5c7lkbq24m4lk8qmy0576";
   };
 
+  depsBuildBuild = [ pkg-config ];
   nativeBuildInputs = [ meson ninja pkg-config scdoc wayland-scanner ];
   buildInputs = [ wayland wayland-protocols cairo gdk-pixbuf ];
 
diff --git a/nixpkgs/pkgs/applications/window-managers/sway/idle.nix b/nixpkgs/pkgs/applications/window-managers/sway/idle.nix
index 8c1ae0b35924..da23359b6469 100644
--- a/nixpkgs/pkgs/applications/window-managers/sway/idle.nix
+++ b/nixpkgs/pkgs/applications/window-managers/sway/idle.nix
@@ -5,20 +5,15 @@
 
 stdenv.mkDerivation rec {
   pname = "swayidle";
-  version = "1.6";
+  version = "1.7";
 
   src = fetchFromGitHub {
     owner = "swaywm";
     repo = "swayidle";
     rev = version;
-    sha256 = "1nd3v8r9549lykdwh4krldfl59lzaspmmai5k1icy7dvi6kkr18r";
+    sha256 = "0ziya8d5pvvxg16jhy4i04pvq11bdvj68gz5q654ar4dldil17nn";
   };
 
-  postPatch = ''
-    substituteInPlace meson.build \
-      --replace "version: '1.5'" "version: '${version}'"
-  '';
-
   nativeBuildInputs = [ meson ninja pkg-config scdoc wayland-scanner ];
   buildInputs = [ wayland wayland-protocols systemd ];
 
diff --git a/nixpkgs/pkgs/applications/window-managers/wayfire/wrapper.nix b/nixpkgs/pkgs/applications/window-managers/wayfire/wrapper.nix
index 622928985471..e972929237d4 100644
--- a/nixpkgs/pkgs/applications/window-managers/wayfire/wrapper.nix
+++ b/nixpkgs/pkgs/applications/window-managers/wayfire/wrapper.nix
@@ -1,4 +1,4 @@
-{ runCommandNoCC, lib, makeWrapper, wayfirePlugins }:
+{ runCommand, lib, makeWrapper, wayfirePlugins }:
 
 let
   inherit (lib) escapeShellArg makeBinPath;
@@ -17,7 +17,7 @@ let
   plugins = choosePlugins wayfirePlugins;
 in
 
-runCommandNoCC "${application.name}-wrapped" {
+runCommand "${application.name}-wrapped" {
   nativeBuildInputs = [ makeWrapper ];
 
   passthru = application.passthru // {
diff --git a/nixpkgs/pkgs/build-support/agda/default.nix b/nixpkgs/pkgs/build-support/agda/default.nix
index ed7d11a13147..99cc1259023a 100644
--- a/nixpkgs/pkgs/build-support/agda/default.nix
+++ b/nixpkgs/pkgs/build-support/agda/default.nix
@@ -1,6 +1,6 @@
 # Builder for Agda packages.
 
-{ stdenv, lib, self, Agda, runCommandNoCC, makeWrapper, writeText, ghcWithPackages, nixosTests }:
+{ stdenv, lib, self, Agda, runCommand, makeWrapper, writeText, ghcWithPackages, nixosTests }:
 
 with lib.strings;
 
@@ -15,7 +15,7 @@ let
     '';
     pname = "agdaWithPackages";
     version = Agda.version;
-  in runCommandNoCC "${pname}-${version}" {
+  in runCommand "${pname}-${version}" {
     inherit pname version;
     nativeBuildInputs = [ makeWrapper ];
     passthru = {
@@ -46,6 +46,7 @@ let
 
   defaults =
     { pname
+    , meta
     , buildInputs ? []
     , everythingFile ? "./Everything.agda"
     , libraryName ? pname
@@ -76,6 +77,7 @@ let
           find -not \( -path ${everythingFile} -or -path ${lib.interfaceFile everythingFile} \) -and \( ${concatMapStringsSep " -or " (p: "-name '*.${p}'") (extensions ++ extraExtensions)} \) -exec cp -p --parents -t "$out" {} +
           runHook postInstall
         '';
+        meta = if meta.broken or false then meta // { hydraPlatforms = lib.platforms.none; } else meta;
       };
 in
 {
diff --git a/nixpkgs/pkgs/build-support/bintools-wrapper/add-hardening.sh b/nixpkgs/pkgs/build-support/bintools-wrapper/add-hardening.sh
index 5e49b7bd9053..4d289a334b77 100644
--- a/nixpkgs/pkgs/build-support/bintools-wrapper/add-hardening.sh
+++ b/nixpkgs/pkgs/build-support/bintools-wrapper/add-hardening.sh
@@ -37,7 +37,7 @@ fi
 for flag in "${!hardeningEnableMap[@]}"; do
   case $flag in
     pie)
-      if [[ ! ("$*" =~ " -shared " || "$*" =~ " -static ") ]]; then
+      if [[ ! ("$*" =~ " -shared " || "$*" =~ " -static " || "$*" =~ " -r " || "$*" =~ " -Ur " || "$*" =~ " -i ") ]]; then
         if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling LDFlags -pie >&2; fi
         hardeningLDFlags+=('-pie')
       fi
diff --git a/nixpkgs/pkgs/build-support/bintools-wrapper/default.nix b/nixpkgs/pkgs/build-support/bintools-wrapper/default.nix
index 5d2f2f977a70..82d173697438 100644
--- a/nixpkgs/pkgs/build-support/bintools-wrapper/default.nix
+++ b/nixpkgs/pkgs/build-support/bintools-wrapper/default.nix
@@ -208,6 +208,8 @@ stdenv.mkDerivation {
       else if targetPlatform.isAlpha then "alpha"
       else if targetPlatform.isVc4 then "vc4"
       else if targetPlatform.isOr1k then "or1k"
+      else if targetPlatform.isM68k then "m68k"
+      else if targetPlatform.isS390 then "s390"
       else if targetPlatform.isRiscV then "lriscv"
       else throw "unknown emulation for platform: ${targetPlatform.config}";
     in if targetPlatform.useLLVM or false then ""
diff --git a/nixpkgs/pkgs/build-support/build-fhs-userenv/chrootenv/chrootenv.c b/nixpkgs/pkgs/build-support/build-fhs-userenv/chrootenv/chrootenv.c
index 27e70e3fe5c4..324c9d24ba04 100644
--- a/nixpkgs/pkgs/build-support/build-fhs-userenv/chrootenv/chrootenv.c
+++ b/nixpkgs/pkgs/build-support/build-fhs-userenv/chrootenv/chrootenv.c
@@ -122,7 +122,7 @@ int main(gint argc, gchar **argv) {
     }
 
     // hide all mounts we do from the parent
-    fail_if(mount(0, "/", 0, MS_PRIVATE | MS_REC, 0));
+    fail_if(mount(0, "/", 0, MS_SLAVE | MS_REC, 0));
 
     if (uid != 0) {
       spit("/proc/self/setgroups", "deny");
diff --git a/nixpkgs/pkgs/build-support/build-fhs-userenv/env.nix b/nixpkgs/pkgs/build-support/build-fhs-userenv/env.nix
index 226904f311b6..da4521b4de3b 100644
--- a/nixpkgs/pkgs/build-support/build-fhs-userenv/env.nix
+++ b/nixpkgs/pkgs/build-support/build-fhs-userenv/env.nix
@@ -1,8 +1,11 @@
 { stdenv, buildEnv, writeText, pkgs, pkgsi686Linux }:
 
-{ name, profile ? ""
-, targetPkgs ? pkgs: [], multiPkgs ? pkgs: []
-, extraBuildCommands ? "", extraBuildCommandsMulti ? ""
+{ name
+, profile ? ""
+, targetPkgs ? pkgs: []
+, multiPkgs ? pkgs: []
+, extraBuildCommands ? ""
+, extraBuildCommandsMulti ? ""
 , extraOutputsToInstall ? []
 }:
 
@@ -23,7 +26,8 @@
 
 let
   is64Bit = stdenv.hostPlatform.parsed.cpu.bits == 64;
-  isMultiBuild  = multiPkgs != null && is64Bit;
+  # multi-lib glibc is only supported on x86_64
+  isMultiBuild  = multiPkgs != null && stdenv.hostPlatform.system == "x86_64-linux";
   isTargetBuild = !isMultiBuild;
 
   # list of packages (usually programs) which are only be installed for the
diff --git a/nixpkgs/pkgs/build-support/cc-wrapper/default.nix b/nixpkgs/pkgs/build-support/cc-wrapper/default.nix
index 235d244a7c0d..804f59286c7a 100644
--- a/nixpkgs/pkgs/build-support/cc-wrapper/default.nix
+++ b/nixpkgs/pkgs/build-support/cc-wrapper/default.nix
@@ -234,6 +234,11 @@ stdenv.mkDerivation {
       wrap ${targetPrefix}gnatmake ${./gnat-wrapper.sh} $ccPath/${targetPrefix}gnatmake
       wrap ${targetPrefix}gnatbind ${./gnat-wrapper.sh} $ccPath/${targetPrefix}gnatbind
       wrap ${targetPrefix}gnatlink ${./gnat-wrapper.sh} $ccPath/${targetPrefix}gnatlink
+
+      # this symlink points to the unwrapped gnat's output "out". It is used by
+      # our custom gprconfig compiler description to find GNAT's ada runtime. See
+      # ../../development/tools/build-managers/gprbuild/{boot.nix, nixpkgs-gnat.xml}
+      ln -sf ${cc} $out/nix-support/gprconfig-gnat-unwrapped
     ''
 
     + optionalString cc.langD or false ''
@@ -467,7 +472,7 @@ stdenv.mkDerivation {
     + optionalString hostPlatform.isCygwin ''
       hardening_unsupported_flags+=" pic"
     '' + optionalString targetPlatform.isMinGW ''
-      hardening_unsupported_flags+=" stackprotector"
+      hardening_unsupported_flags+=" stackprotector fortify"
     '' + optionalString targetPlatform.isAvr ''
       hardening_unsupported_flags+=" stackprotector pic"
     '' + optionalString (targetPlatform.libc == "newlib") ''
diff --git a/nixpkgs/pkgs/build-support/coq/default.nix b/nixpkgs/pkgs/build-support/coq/default.nix
index ba300f2f8cf5..5f2b5e646b0b 100644
--- a/nixpkgs/pkgs/build-support/coq/default.nix
+++ b/nixpkgs/pkgs/build-support/coq/default.nix
@@ -27,6 +27,7 @@ in
   dropDerivationAttrs ? [],
   useDune2ifVersion ? (x: false),
   useDune2 ? false,
+  opam-name ? "coq-${pname}",
   ...
 }@args:
 let
@@ -34,7 +35,7 @@ let
     "version" "fetcher" "repo" "owner" "domain" "releaseRev"
     "displayVersion" "defaultVersion" "useMelquiondRemake"
     "release" "extraBuildInputs" "extraPropagatedBuildInputs" "namePrefix"
-    "meta" "useDune2ifVersion" "useDune2"
+    "meta" "useDune2ifVersion" "useDune2" "opam-name"
     "extraInstallFlags" "setCOQBIN" "mlPlugin"
     "dropAttrs" "dropDerivationAttrs" "keepAttrs" ] ++ dropAttrs) keepAttrs;
   fetch = import ../coq/meta-fetch/default.nix
@@ -90,9 +91,14 @@ stdenv.mkDerivation (removeAttrs ({
     extraInstallFlags;
 })
 // (optionalAttrs useDune2 {
+  buildPhase = ''
+    runHook preBuild
+    dune build -p ${opam-name} ''${enableParallelBuilding:+-j $NIX_BUILD_CORES}
+    runHook postBuild
+  '';
   installPhase = ''
     runHook preInstall
-    dune install --prefix=$out
+    dune install ${opam-name} --prefix=$out
     mv $out/lib/coq $out/lib/TEMPORARY
     mkdir $out/lib/coq/
     mv $out/lib/TEMPORARY $out/lib/coq/${coq.coq-version}
diff --git a/nixpkgs/pkgs/build-support/dhall-to-nix.nix b/nixpkgs/pkgs/build-support/dhall-to-nix.nix
index 3805656dfa0e..96cc16e16f36 100644
--- a/nixpkgs/pkgs/build-support/dhall-to-nix.nix
+++ b/nixpkgs/pkgs/build-support/dhall-to-nix.nix
@@ -15,12 +15,12 @@
     Note that this uses "import from derivation", meaning that Nix will perform
     a build during the evaluation phase if you use this `dhallToNix` utility
 */
-{ stdenv, dhall-nix }:
+{ stdenv, dhall-nix, writeText }:
 
 let
   dhallToNix = code :
     let
-      file = builtins.toFile "dhall-expression" code;
+      file = writeText "dhall-expression" code;
 
       drv = stdenv.mkDerivation {
         name = "dhall-compiled.nix";
diff --git a/nixpkgs/pkgs/build-support/docker/default.nix b/nixpkgs/pkgs/build-support/docker/default.nix
index 4bda09670abf..9e4709dd9bf8 100644
--- a/nixpkgs/pkgs/build-support/docker/default.nix
+++ b/nixpkgs/pkgs/build-support/docker/default.nix
@@ -1,65 +1,63 @@
-{
-  bashInteractive,
-  buildPackages,
-  cacert,
-  callPackage,
-  closureInfo,
-  coreutils,
-  docker,
-  e2fsprogs,
-  fakeroot,
-  findutils,
-  go,
-  jq,
-  jshon,
-  lib,
-  makeWrapper,
-  moreutils,
-  nix,
-  pigz,
-  rsync,
-  runCommand,
-  runtimeShell,
-  shadow,
-  skopeo,
-  storeDir ? builtins.storeDir,
-  substituteAll,
-  symlinkJoin,
-  util-linux,
-  vmTools,
-  writeReferencesToFile,
-  writeScript,
-  writeText,
-  writeTextDir,
-  writePython3,
-  system,  # Note: This is the cross system we're compiling for
+{ bashInteractive
+, buildPackages
+, cacert
+, callPackage
+, closureInfo
+, coreutils
+, e2fsprogs
+, fakeroot
+, findutils
+, go
+, jq
+, jshon
+, lib
+, makeWrapper
+, moreutils
+, nix
+, pigz
+, pkgs
+, rsync
+, runCommand
+, runtimeShell
+, shadow
+, skopeo
+, storeDir ? builtins.storeDir
+, substituteAll
+, symlinkJoin
+, util-linux
+, vmTools
+, writeReferencesToFile
+, writeScript
+, writeText
+, writeTextDir
+, writePython3
+, system
+, # Note: This is the cross system we're compiling for
 }:
 
 let
 
-  inherit (lib)
-    optionals
-    ;
-
-  mkDbExtraCommand = contents: let
-    contentsList = if builtins.isList contents then contents else [ contents ];
-  in ''
-    echo "Generating the nix database..."
-    echo "Warning: only the database of the deepest Nix layer is loaded."
-    echo "         If you want to use nix commands in the container, it would"
-    echo "         be better to only have one layer that contains a nix store."
-
-    export NIX_REMOTE=local?root=$PWD
-    # A user is required by nix
-    # https://github.com/NixOS/nix/blob/9348f9291e5d9e4ba3c4347ea1b235640f54fd79/src/libutil/util.cc#L478
-    export USER=nobody
-    ${buildPackages.nix}/bin/nix-store --load-db < ${closureInfo {rootPaths = contentsList;}}/registration
-
-    mkdir -p nix/var/nix/gcroots/docker/
-    for i in ${lib.concatStringsSep " " contentsList}; do
-    ln -s $i nix/var/nix/gcroots/docker/$(basename $i)
-    done;
-  '';
+  mkDbExtraCommand = contents:
+    let
+      contentsList = if builtins.isList contents then contents else [ contents ];
+    in
+    ''
+      echo "Generating the nix database..."
+      echo "Warning: only the database of the deepest Nix layer is loaded."
+      echo "         If you want to use nix commands in the container, it would"
+      echo "         be better to only have one layer that contains a nix store."
+
+      export NIX_REMOTE=local?root=$PWD
+      # A user is required by nix
+      # https://github.com/NixOS/nix/blob/9348f9291e5d9e4ba3c4347ea1b235640f54fd79/src/libutil/util.cc#L478
+      export USER=nobody
+      ${buildPackages.nix}/bin/nix-store --load-db < ${closureInfo {rootPaths = contentsList;}}/registration
+
+      mkdir -p nix/var/nix/gcroots/docker/
+      for i in ${lib.concatStringsSep " " contentsList}; do
+      ln -s $i nix/var/nix/gcroots/docker/$(basename $i)
+      done;
+    '';
 
   # The OCI Image specification recommends that configurations use values listed
   # in the Go Language document for GOARCH.
@@ -70,14 +68,14 @@ let
 
 in
 rec {
-
   examples = callPackage ./examples.nix {
     inherit buildImage buildLayeredImage fakeNss pullImage shadowSetup buildImageWithNixDb;
   };
 
-  pullImage = let
-    fixName = name: builtins.replaceStrings ["/" ":"] ["-" "-"] name;
-  in
+  pullImage =
+    let
+      fixName = name: builtins.replaceStrings [ "/" ":" ] [ "-" "-" ] name;
+    in
     { imageName
       # To find the digest of an image, you can use skopeo:
       # see doc/functions.xml
@@ -96,60 +94,46 @@ rec {
     , name ? fixName "docker-image-${finalImageName}-${finalImageTag}.tar"
     }:
 
-    runCommand name {
-      inherit imageDigest;
-      imageName = finalImageName;
-      imageTag = finalImageTag;
-      impureEnvVars = lib.fetchers.proxyImpureEnvVars;
-      outputHashMode = "flat";
-      outputHashAlgo = "sha256";
-      outputHash = sha256;
-
-      nativeBuildInputs = lib.singleton skopeo;
-      SSL_CERT_FILE = "${cacert.out}/etc/ssl/certs/ca-bundle.crt";
-
-      sourceURL = "docker://${imageName}@${imageDigest}";
-      destNameTag = "${finalImageName}:${finalImageTag}";
-    } ''
+    runCommand name
+      {
+        inherit imageDigest;
+        imageName = finalImageName;
+        imageTag = finalImageTag;
+        impureEnvVars = lib.fetchers.proxyImpureEnvVars;
+        outputHashMode = "flat";
+        outputHashAlgo = "sha256";
+        outputHash = sha256;
+
+        nativeBuildInputs = lib.singleton skopeo;
+        SSL_CERT_FILE = "${cacert.out}/etc/ssl/certs/ca-bundle.crt";
+
+        sourceURL = "docker://${imageName}@${imageDigest}";
+        destNameTag = "${finalImageName}:${finalImageTag}";
+      } ''
       skopeo \
-        --src-tls-verify=${lib.boolToString tlsVerify} \
         --insecure-policy \
         --tmpdir=$TMPDIR \
         --override-os ${os} \
         --override-arch ${arch} \
-        copy "$sourceURL" "docker-archive://$out:$destNameTag" \
+        copy \
+        --src-tls-verify=${lib.boolToString tlsVerify} \
+        "$sourceURL" "docker-archive://$out:$destNameTag" \
         | cat  # pipe through cat to force-disable progress bar
     '';
 
   # 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 = runCommand "tarsum" {
-    nativeBuildInputs = [ go ];
-  } ''
-    mkdir tarsum
-    cd tarsum
-
-    cp ${./tarsum.go} tarsum.go
-    export GOPATH=$(pwd)
-    export GOCACHE="$TMPDIR/go-cache"
-    export GO111MODULE=off
-    mkdir -p src/github.com/docker/docker/pkg
-    ln -sT ${docker.moby-src}/pkg/tarsum src/github.com/docker/docker/pkg/tarsum
-    go build
-
-    mkdir -p $out/bin
-
-    cp tarsum $out/bin/
-  '';
+  tarsum = pkgs.tarsum;
 
   # buildEnv creates symlinks to dirs, which is hard to edit inside the overlay VM
-  mergeDrvs = {
-    derivations,
-    onlyDeps ? false
-  }:
-    runCommand "merge-drvs" {
-      inherit derivations onlyDeps;
-    } ''
+  mergeDrvs =
+    { derivations
+    , onlyDeps ? false
+    }:
+    runCommand "merge-drvs"
+      {
+        inherit derivations onlyDeps;
+      } ''
       if [[ -n "$onlyDeps" ]]; then
         echo $derivations > $out
         exit 0
@@ -197,104 +181,105 @@ rec {
   '';
 
   # Run commands in a virtual machine.
-  runWithOverlay = {
-    name,
-    fromImage ? null,
-    fromImageName ? null,
-    fromImageTag ? null,
-    diskSize ? 1024,
-    preMount ? "",
-    postMount ? "",
-    postUmount ? ""
-  }:
-  let
-    result = vmTools.runInLinuxVM (
-      runCommand name {
-        preVM = vmTools.createEmptyImage {
-          size = diskSize;
-          fullName = "docker-run-disk";
-        };
-        inherit fromImage fromImageName fromImageTag;
-
-        nativeBuildInputs = [ util-linux e2fsprogs jshon rsync jq ];
-      } ''
-      mkdir disk
-      mkfs /dev/${vmTools.hd}
-      mount /dev/${vmTools.hd} disk
-      cd disk
-
-      if [[ -n "$fromImage" ]]; then
-        echo "Unpacking base image..."
-        mkdir image
-        tar -C image -xpf "$fromImage"
-
-        if [[ -n "$fromImageName" ]] && [[ -n "$fromImageTag" ]]; then
-          parentID="$(
-            cat "image/manifest.json" |
-              jq -r '.[] | select(.RepoTags | contains([$desiredTag])) | rtrimstr(".json")' \
-                --arg desiredTag "$fromImageName:$fromImageTag"
-          )"
-        else
-          echo "From-image name or tag wasn't set. Reading the first ID."
-          parentID="$(cat "image/manifest.json" | jq -r '.[0].Config | rtrimstr(".json")')"
-        fi
+  runWithOverlay =
+    { name
+    , fromImage ? null
+    , fromImageName ? null
+    , fromImageTag ? null
+    , diskSize ? 1024
+    , preMount ? ""
+    , postMount ? ""
+    , postUmount ? ""
+    }:
+    let
+      result = vmTools.runInLinuxVM (
+        runCommand name
+          {
+            preVM = vmTools.createEmptyImage {
+              size = diskSize;
+              fullName = "docker-run-disk";
+            };
+            inherit fromImage fromImageName fromImageTag;
+
+            nativeBuildInputs = [ util-linux e2fsprogs jshon rsync jq ];
+          } ''
+          mkdir disk
+          mkfs /dev/${vmTools.hd}
+          mount /dev/${vmTools.hd} disk
+          cd disk
+
+          if [[ -n "$fromImage" ]]; then
+            echo "Unpacking base image..."
+            mkdir image
+            tar -C image -xpf "$fromImage"
+
+            if [[ -n "$fromImageName" ]] && [[ -n "$fromImageTag" ]]; then
+              parentID="$(
+                cat "image/manifest.json" |
+                  jq -r '.[] | select(.RepoTags | contains([$desiredTag])) | rtrimstr(".json")' \
+                    --arg desiredTag "$fromImageName:$fromImageTag"
+              )"
+            else
+              echo "From-image name or tag wasn't set. Reading the first ID."
+              parentID="$(cat "image/manifest.json" | jq -r '.[0].Config | rtrimstr(".json")')"
+            fi
 
-        cat ./image/manifest.json  | jq -r '.[0].Layers | .[]' > layer-list
-      else
-        touch layer-list
-      fi
+            cat ./image/manifest.json  | jq -r '.[0].Layers | .[]' > layer-list
+          else
+            touch layer-list
+          fi
 
-      # Unpack all of the parent layers into the image.
-      lowerdir=""
-      extractionID=0
-      for layerTar in $(tac layer-list); do
-        echo "Unpacking layer $layerTar"
-        extractionID=$((extractionID + 1))
+          # Unpack all of the parent layers into the image.
+          lowerdir=""
+          extractionID=0
+          for layerTar in $(tac layer-list); do
+            echo "Unpacking layer $layerTar"
+            extractionID=$((extractionID + 1))
 
-        mkdir -p image/$extractionID/layer
-        tar -C image/$extractionID/layer -xpf image/$layerTar
-        rm image/$layerTar
+            mkdir -p image/$extractionID/layer
+            tar -C image/$extractionID/layer -xpf image/$layerTar
+            rm image/$layerTar
 
-        find image/$extractionID/layer -name ".wh.*" -exec bash -c 'name="$(basename {}|sed "s/^.wh.//")"; mknod "$(dirname {})/$name" c 0 0; rm {}' \;
+            find image/$extractionID/layer -name ".wh.*" -exec bash -c 'name="$(basename {}|sed "s/^.wh.//")"; mknod "$(dirname {})/$name" c 0 0; rm {}' \;
 
-        # Get the next lower directory and continue the loop.
-        lowerdir=image/$extractionID/layer''${lowerdir:+:}$lowerdir
-      done
+            # Get the next lower directory and continue the loop.
+            lowerdir=image/$extractionID/layer''${lowerdir:+:}$lowerdir
+          done
 
-      mkdir work
-      mkdir layer
-      mkdir mnt
+          mkdir work
+          mkdir layer
+          mkdir mnt
 
-      ${lib.optionalString (preMount != "") ''
-        # Execute pre-mount steps
-        echo "Executing pre-mount steps..."
-        ${preMount}
-      ''}
+          ${lib.optionalString (preMount != "") ''
+            # Execute pre-mount steps
+            echo "Executing pre-mount steps..."
+            ${preMount}
+          ''}
 
-      if [ -n "$lowerdir" ]; then
-        mount -t overlay overlay -olowerdir=$lowerdir,workdir=work,upperdir=layer mnt
-      else
-        mount --bind layer mnt
-      fi
+          if [ -n "$lowerdir" ]; then
+            mount -t overlay overlay -olowerdir=$lowerdir,workdir=work,upperdir=layer mnt
+          else
+            mount --bind layer mnt
+          fi
 
-      ${lib.optionalString (postMount != "") ''
-        # Execute post-mount steps
-        echo "Executing post-mount steps..."
-        ${postMount}
-      ''}
+          ${lib.optionalString (postMount != "") ''
+            # Execute post-mount steps
+            echo "Executing post-mount steps..."
+            ${postMount}
+          ''}
 
-      umount mnt
+          umount mnt
 
-      (
-        cd layer
-        cmd='name="$(basename {})"; touch "$(dirname {})/.wh.$name"; rm "{}"'
-        find . -type c -exec bash -c "$cmd" \;
-      )
+          (
+            cd layer
+            cmd='name="$(basename {})"; touch "$(dirname {})/.wh.$name"; rm "{}"'
+            find . -type c -exec bash -c "$cmd" \;
+          )
 
-      ${postUmount}
-      '');
+          ${postUmount}
+        '');
     in
-    runCommand name {} ''
+    runCommand name { } ''
       mkdir -p $out
       cd ${result}
       cp layer.tar json VERSION $out
@@ -310,7 +295,6 @@ rec {
       '';
     };
 
-
   # Create an executable shell script which has the coreutils in its
   # PATH. Since root scripts are executed in a blank environment, even
   # things like `ls` or `echo` will be missing.
@@ -323,94 +307,100 @@ rec {
     '';
 
   # Create a "layer" (set of files).
-  mkPureLayer = {
-    # Name of the layer
-    name,
-    # JSON containing configuration and metadata for this layer.
-    baseJson,
-    # Files to add to the layer.
-    contents ? null,
-    # When copying the contents into the image, preserve symlinks to
-    # directories (see `rsync -K`).  Otherwise, transform those symlinks
-    # into directories.
-    keepContentsDirlinks ? false,
-    # Additional commands to run on the layer before it is tar'd up.
-    extraCommands ? "", uid ? 0, gid ? 0
-  }:
-    runCommand "docker-layer-${name}" {
-      inherit baseJson contents extraCommands;
-      nativeBuildInputs = [ jshon rsync tarsum ];
-    }
-    ''
-      mkdir layer
-      if [[ -n "$contents" ]]; then
-        echo "Adding contents..."
-        for item in $contents; do
-          echo "Adding $item"
-          rsync -a${if keepContentsDirlinks then "K" else "k"} --chown=0:0 $item/ layer/
-        done
-      else
-        echo "No contents to add to layer."
-      fi
+  mkPureLayer =
+    {
+      # Name of the layer
+      name
+    , # JSON containing configuration and metadata for this layer.
+      baseJson
+    , # Files to add to the layer.
+      contents ? null
+    , # When copying the contents into the image, preserve symlinks to
+      # directories (see `rsync -K`).  Otherwise, transform those symlinks
+      # into directories.
+      keepContentsDirlinks ? false
+    , # Additional commands to run on the layer before it is tar'd up.
+      extraCommands ? ""
+    , uid ? 0
+    , gid ? 0
+    }:
+    runCommand "docker-layer-${name}"
+      {
+        inherit baseJson contents extraCommands;
+        nativeBuildInputs = [ jshon rsync tarsum ];
+      }
+      ''
+        mkdir layer
+        if [[ -n "$contents" ]]; then
+          echo "Adding contents..."
+          for item in $contents; do
+            echo "Adding $item"
+            rsync -a${if keepContentsDirlinks then "K" else "k"} --chown=0:0 $item/ layer/
+          done
+        else
+          echo "No contents to add to layer."
+        fi
 
-      chmod ug+w layer
+        chmod ug+w layer
 
-      if [[ -n "$extraCommands" ]]; then
-        (cd layer; eval "$extraCommands")
-      fi
+        if [[ -n "$extraCommands" ]]; then
+          (cd layer; eval "$extraCommands")
+        fi
 
-      # Tar up the layer and throw it into 'layer.tar'.
-      echo "Packing layer..."
-      mkdir $out
-      tarhash=$(tar -C layer --hard-dereference --sort=name --mtime="@$SOURCE_DATE_EPOCH" --owner=${toString uid} --group=${toString gid} -cf - . | tee -p $out/layer.tar | tarsum)
+        # Tar up the layer and throw it into 'layer.tar'.
+        echo "Packing layer..."
+        mkdir $out
+        tarhash=$(tar -C layer --hard-dereference --sort=name --mtime="@$SOURCE_DATE_EPOCH" --owner=${toString uid} --group=${toString gid} -cf - . | tee -p $out/layer.tar | tarsum)
 
-      # Add a 'checksum' field to the JSON, with the value set to the
-      # checksum of the tarball.
-      cat ${baseJson} | jshon -s "$tarhash" -i checksum > $out/json
+        # Add a 'checksum' field to the JSON, with the value set to the
+        # checksum of the tarball.
+        cat ${baseJson} | jshon -s "$tarhash" -i checksum > $out/json
 
-      # Indicate to docker that we're using schema version 1.0.
-      echo -n "1.0" > $out/VERSION
+        # Indicate to docker that we're using schema version 1.0.
+        echo -n "1.0" > $out/VERSION
 
-      echo "Finished building layer '${name}'"
-    '';
+        echo "Finished building layer '${name}'"
+      '';
 
   # Make a "root" layer; required if we need to execute commands as a
   # privileged user on the image. The commands themselves will be
   # performed in a virtual machine sandbox.
-  mkRootLayer = {
-    # Name of the image.
-    name,
-    # Script to run as root. Bash.
-    runAsRoot,
-    # Files to add to the layer. If null, an empty layer will be created.
-    contents ? null,
-    # When copying the contents into the image, preserve symlinks to
-    # directories (see `rsync -K`).  Otherwise, transform those symlinks
-    # into directories.
-    keepContentsDirlinks ? false,
-    # JSON containing configuration and metadata for this layer.
-    baseJson,
-    # Existing image onto which to append the new layer.
-    fromImage ? null,
-    # Name of the image we're appending onto.
-    fromImageName ? null,
-    # Tag of the image we're appending onto.
-    fromImageTag ? null,
-    # How much disk to allocate for the temporary virtual machine.
-    diskSize ? 1024,
-    # Commands (bash) to run on the layer; these do not require sudo.
-    extraCommands ? ""
-  }:
+  mkRootLayer =
+    {
+      # Name of the image.
+      name
+    , # Script to run as root. Bash.
+      runAsRoot
+    , # Files to add to the layer. If null, an empty layer will be created.
+      contents ? null
+    , # When copying the contents into the image, preserve symlinks to
+      # directories (see `rsync -K`).  Otherwise, transform those symlinks
+      # into directories.
+      keepContentsDirlinks ? false
+    , # JSON containing configuration and metadata for this layer.
+      baseJson
+    , # Existing image onto which to append the new layer.
+      fromImage ? null
+    , # Name of the image we're appending onto.
+      fromImageName ? null
+    , # Tag of the image we're appending onto.
+      fromImageTag ? null
+    , # How much disk to allocate for the temporary virtual machine.
+      diskSize ? 1024
+    , # Commands (bash) to run on the layer; these do not require sudo.
+      extraCommands ? ""
+    }:
     # Generate an executable script from the `runAsRoot` text.
     let
       runAsRootScript = shellScript "run-as-root.sh" runAsRoot;
       extraCommandsScript = shellScript "extra-commands.sh" extraCommands;
-    in runWithOverlay {
+    in
+    runWithOverlay {
       name = "docker-layer-${name}";
 
       inherit fromImage fromImageName fromImageTag diskSize;
 
-      preMount = lib.optionalString (contents != null && contents != []) ''
+      preMount = lib.optionalString (contents != null && contents != [ ]) ''
         echo "Adding contents..."
         for item in ${toString contents}; do
           echo "Adding $item..."
@@ -462,11 +452,12 @@ rec {
       '';
     };
 
-  buildLayeredImage = {name, ...}@args:
+  buildLayeredImage = { name, ... }@args:
     let
       stream = streamLayeredImage args;
     in
-      runCommand "${baseNameOf name}.tar.gz" {
+    runCommand "${baseNameOf name}.tar.gz"
+      {
         inherit (stream) imageName;
         passthru = { inherit (stream) imageTag; };
         nativeBuildInputs = [ pigz ];
@@ -478,40 +469,45 @@ rec {
   # 4. compute the layer id
   # 5. put the layer in the image
   # 6. repack the image
-  buildImage = args@{
-    # Image name.
-    name,
-    # Image tag, when null then the nix output hash will be used.
-    tag ? null,
-    # Parent image, to append to.
-    fromImage ? null,
-    # Name of the parent image; will be read from the image otherwise.
-    fromImageName ? null,
-    # Tag of the parent image; will be read from the image otherwise.
-    fromImageTag ? null,
-    # Files to put on the image (a nix store path or list of paths).
-    contents ? null,
-    # When copying the contents into the image, preserve symlinks to
-    # directories (see `rsync -K`).  Otherwise, transform those symlinks
-    # into directories.
-    keepContentsDirlinks ? false,
-    # Docker config; e.g. what command to run on the container.
-    config ? null,
-    # Optional bash script to run on the files prior to fixturizing the layer.
-    extraCommands ? "", uid ? 0, gid ? 0,
-    # Optional bash script to run as root on the image when provisioning.
-    runAsRoot ? null,
-    # Size of the virtual machine disk to provision when building the image.
-    diskSize ? 1024,
-    # Time of creation of the image.
-    created ? "1970-01-01T00:00:01Z",
-  }:
+  buildImage =
+    args@{
+      # Image name.
+      name
+    , # Image tag, when null then the nix output hash will be used.
+      tag ? null
+    , # Parent image, to append to.
+      fromImage ? null
+    , # Name of the parent image; will be read from the image otherwise.
+      fromImageName ? null
+    , # Tag of the parent image; will be read from the image otherwise.
+      fromImageTag ? null
+    , # Files to put on the image (a nix store path or list of paths).
+      contents ? null
+    , # When copying the contents into the image, preserve symlinks to
+      # directories (see `rsync -K`).  Otherwise, transform those symlinks
+      # into directories.
+      keepContentsDirlinks ? false
+    , # Docker config; e.g. what command to run on the container.
+      config ? null
+    , # Optional bash script to run on the files prior to fixturizing the layer.
+      extraCommands ? ""
+    , uid ? 0
+    , gid ? 0
+    , # Optional bash script to run as root on the image when provisioning.
+      runAsRoot ? null
+    , # Size of the virtual machine disk to provision when building the image.
+      diskSize ? 1024
+    , # Time of creation of the image.
+      created ? "1970-01-01T00:00:01Z"
+    ,
+    }:
 
     let
       baseName = baseNameOf name;
 
       # Create a JSON blob of the configuration. Set the date to unix zero.
-      baseJson = let
+      baseJson =
+        let
           pure = writeText "${baseName}-config.json" (builtins.toJSON {
             inherit created config;
             architecture = defaultArch;
@@ -520,38 +516,41 @@ rec {
           impure = runCommand "${baseName}-config.json"
             { nativeBuildInputs = [ jq ]; }
             ''
-               jq ".created = \"$(TZ=utc date --iso-8601="seconds")\"" ${pure} > $out
+              jq ".created = \"$(TZ=utc date --iso-8601="seconds")\"" ${pure} > $out
             '';
-        in if created == "now" then impure else pure;
+        in
+        if created == "now" then impure else pure;
 
       layer =
         if runAsRoot == null
-        then mkPureLayer {
-          name = baseName;
-          inherit baseJson contents keepContentsDirlinks extraCommands uid gid;
-        } else mkRootLayer {
-          name = baseName;
-          inherit baseJson fromImage fromImageName fromImageTag
-                  contents keepContentsDirlinks runAsRoot diskSize
-                  extraCommands;
-        };
-      result = runCommand "docker-image-${baseName}.tar.gz" {
-        nativeBuildInputs = [ jshon pigz coreutils findutils jq moreutils ];
-        # Image name must be lowercase
-        imageName = lib.toLower name;
-        imageTag = if tag == null then "" else tag;
-        inherit fromImage baseJson;
-        layerClosure = writeReferencesToFile layer;
-        passthru.buildArgs = args;
-        passthru.layer = layer;
-        passthru.imageTag =
-          if tag != null
+        then
+          mkPureLayer
+            {
+              name = baseName;
+              inherit baseJson contents keepContentsDirlinks extraCommands uid gid;
+            } else
+          mkRootLayer {
+            name = baseName;
+            inherit baseJson fromImage fromImageName fromImageTag
+              contents keepContentsDirlinks runAsRoot diskSize
+              extraCommands;
+          };
+      result = runCommand "docker-image-${baseName}.tar.gz"
+        {
+          nativeBuildInputs = [ jshon pigz coreutils findutils jq moreutils ];
+          # Image name must be lowercase
+          imageName = lib.toLower name;
+          imageTag = if tag == null then "" else tag;
+          inherit fromImage baseJson;
+          layerClosure = writeReferencesToFile layer;
+          passthru.buildArgs = args;
+          passthru.layer = layer;
+          passthru.imageTag =
+            if tag != null
             then tag
             else
               lib.head (lib.strings.splitString "-" (baseNameOf result.outPath));
-        # Docker can't be made to run darwin binaries
-        meta.badPlatforms = lib.platforms.darwin;
-      } ''
+        } ''
         ${lib.optionalString (tag == null) ''
           outName="$(basename "$out")"
           outHash=$(echo "$outName" | cut -d - -f 1)
@@ -751,14 +750,24 @@ rec {
         root:x:0:
         nobody:x:65534:
       '')
-      (runCommand "var-empty" {} ''
+      (writeTextDir "etc/nsswitch.conf" ''
+        hosts: files dns
+      '')
+      (runCommand "var-empty" { } ''
         mkdir -p $out/var/empty
       '')
     ];
   };
 
+  # 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
+  '';
+
   # This provides /bin/sh, pointing to bashInteractive.
-  binSh = runCommand "bin-sh" {} ''
+  binSh = runCommand "bin-sh" { } ''
     mkdir -p $out/bin
     ln -s ${bashInteractive}/bin/bash $out/bin/sh
   '';
@@ -779,189 +788,194 @@ rec {
     })
   );
 
-  streamLayeredImage = {
-    # Image Name
-    name,
-    # Image tag, the Nix's output hash will be used if null
-    tag ? null,
-    # Parent image, to append to.
-    fromImage ? null,
-    # Files to put on the image (a nix store path or list of paths).
-    contents ? [],
-    # Docker config; e.g. what command to run on the container.
-    config ? {},
-    # Time of creation of the image. Passing "now" will make the
-    # created date be the time of building.
-    created ? "1970-01-01T00:00:01Z",
-    # Optional bash script to run on the files prior to fixturizing the layer.
-    extraCommands ? "",
-    # Optional bash script to run inside fakeroot environment.
-    # Could be used for changing ownership of files in customisation layer.
-    fakeRootCommands ? "",
-    # We pick 100 to ensure there is plenty of room for extension. I
-    # believe the actual maximum is 128.
-    maxLayers ? 100,
-    # Whether to include store paths in the image. You generally want to leave
-    # this on, but tooling may disable this to insert the store paths more
-    # efficiently via other means, such as bind mounting the host store.
-    includeStorePaths ? true,
-  }:
-    assert
+  streamLayeredImage =
+    {
+      # Image Name
+      name
+    , # Image tag, the Nix's output hash will be used if null
+      tag ? null
+    , # Parent image, to append to.
+      fromImage ? null
+    , # Files to put on the image (a nix store path or list of paths).
+      contents ? [ ]
+    , # Docker config; e.g. what command to run on the container.
+      config ? { }
+    , # Time of creation of the image. Passing "now" will make the
+      # created date be the time of building.
+      created ? "1970-01-01T00:00:01Z"
+    , # Optional bash script to run on the files prior to fixturizing the layer.
+      extraCommands ? ""
+    , # Optional bash script to run inside fakeroot environment.
+      # Could be used for changing ownership of files in customisation layer.
+      fakeRootCommands ? ""
+    , # We pick 100 to ensure there is plenty of room for extension. I
+      # believe the actual maximum is 128.
+      maxLayers ? 100
+    , # Whether to include store paths in the image. You generally want to leave
+      # this on, but tooling may disable this to insert the store paths more
+      # efficiently via other means, such as bind mounting the host store.
+      includeStorePaths ? true
+    ,
+    }:
+      assert
       (lib.assertMsg (maxLayers > 1)
-      "the maxLayers argument of dockerTools.buildLayeredImage function must be greather than 1 (current value: ${toString maxLayers})");
-    let
-      baseName = baseNameOf name;
-
-      streamScript = writePython3 "stream" {} ./stream_layered_image.py;
-      baseJson = writeText "${baseName}-base.json" (builtins.toJSON {
-         inherit config;
-         architecture = defaultArch;
-         os = "linux";
-      });
-
-      contentsList = if builtins.isList contents then contents else [ contents ];
-
-      # We store the customisation layer as a tarball, to make sure that
-      # things like permissions set on 'extraCommands' are not overriden
-      # by Nix. Then we precompute the sha256 for performance.
-      customisationLayer = symlinkJoin {
-        name = "${baseName}-customisation-layer";
-        paths = contentsList;
-        inherit extraCommands fakeRootCommands;
-        nativeBuildInputs = [ fakeroot ];
-        postBuild = ''
-          mv $out old_out
-          (cd old_out; eval "$extraCommands" )
-
-          mkdir $out
-
-          fakeroot bash -c '
-            source $stdenv/setup
-            cd old_out
-            eval "$fakeRootCommands"
-            tar \
-              --sort name \
-              --numeric-owner --mtime "@$SOURCE_DATE_EPOCH" \
-              --hard-dereference \
-              -cf $out/layer.tar .
-          '
-
-          sha256sum $out/layer.tar \
-            | cut -f 1 -d ' ' \
-            > $out/checksum
-        '';
-      };
-
-      closureRoots = optionals includeStorePaths /* normally true */ (
-        [ baseJson ] ++ contentsList
-      );
-      overallClosure = writeText "closure" (lib.concatStringsSep " " closureRoots);
-
-      # These derivations are only created as implementation details of docker-tools,
-      # so they'll be excluded from the created images.
-      unnecessaryDrvs = [ baseJson overallClosure ];
-
-      conf = runCommand "${baseName}-conf.json" {
-        inherit fromImage maxLayers created;
-        imageName = lib.toLower name;
-        passthru.imageTag =
-          if tag != null
-            then tag
-            else
-              lib.head (lib.strings.splitString "-" (baseNameOf conf.outPath));
-        paths = buildPackages.referencesByPopularity overallClosure;
-        nativeBuildInputs = [ jq ];
-      } ''
-        ${if (tag == null) then ''
-          outName="$(basename "$out")"
-          outHash=$(echo "$outName" | cut -d - -f 1)
-
-          imageTag=$outHash
-        '' else ''
-          imageTag="${tag}"
-        ''}
+        "the maxLayers argument of dockerTools.buildLayeredImage function must be greather than 1 (current value: ${toString maxLayers})");
+      let
+        baseName = baseNameOf name;
+
+        streamScript = writePython3 "stream" { } ./stream_layered_image.py;
+        baseJson = writeText "${baseName}-base.json" (builtins.toJSON {
+          inherit config;
+          architecture = defaultArch;
+          os = "linux";
+        });
+
+        contentsList = if builtins.isList contents then contents else [ contents ];
+
+        # We store the customisation layer as a tarball, to make sure that
+        # things like permissions set on 'extraCommands' are not overriden
+        # by Nix. Then we precompute the sha256 for performance.
+        customisationLayer = symlinkJoin {
+          name = "${baseName}-customisation-layer";
+          paths = contentsList;
+          inherit extraCommands fakeRootCommands;
+          nativeBuildInputs = [ fakeroot ];
+          postBuild = ''
+            mv $out old_out
+            (cd old_out; eval "$extraCommands" )
+
+            mkdir $out
+
+            fakeroot bash -c '
+              source $stdenv/setup
+              cd old_out
+              eval "$fakeRootCommands"
+              tar \
+                --sort name \
+                --numeric-owner --mtime "@$SOURCE_DATE_EPOCH" \
+                --hard-dereference \
+                -cf $out/layer.tar .
+            '
+
+            sha256sum $out/layer.tar \
+              | cut -f 1 -d ' ' \
+              > $out/checksum
+          '';
+        };
 
-        # convert "created" to iso format
-        if [[ "$created" != "now" ]]; then
-            created="$(date -Iseconds -d "$created")"
-        fi
+        closureRoots = lib.optionals includeStorePaths /* normally true */ (
+          [ baseJson ] ++ contentsList
+        );
+        overallClosure = writeText "closure" (lib.concatStringsSep " " closureRoots);
+
+        # These derivations are only created as implementation details of docker-tools,
+        # so they'll be excluded from the created images.
+        unnecessaryDrvs = [ baseJson overallClosure ];
+
+        conf = runCommand "${baseName}-conf.json"
+          {
+            inherit fromImage maxLayers created;
+            imageName = lib.toLower name;
+            passthru.imageTag =
+              if tag != null
+              then tag
+              else
+                lib.head (lib.strings.splitString "-" (baseNameOf conf.outPath));
+            paths = buildPackages.referencesByPopularity overallClosure;
+            nativeBuildInputs = [ jq ];
+          } ''
+          ${if (tag == null) then ''
+            outName="$(basename "$out")"
+            outHash=$(echo "$outName" | cut -d - -f 1)
+
+            imageTag=$outHash
+          '' else ''
+            imageTag="${tag}"
+          ''}
+
+          # convert "created" to iso format
+          if [[ "$created" != "now" ]]; then
+              created="$(date -Iseconds -d "$created")"
+          fi
 
-        paths() {
-          cat $paths ${lib.concatMapStringsSep " "
-                         (path: "| (grep -v ${path} || true)")
-                         unnecessaryDrvs}
-        }
+          paths() {
+            cat $paths ${lib.concatMapStringsSep " "
+                           (path: "| (grep -v ${path} || true)")
+                           unnecessaryDrvs}
+          }
 
-        # Compute the number of layers that are already used by a potential
-        # 'fromImage' as well as the customization layer. Ensure that there is
-        # still at least one layer available to store the image contents.
-        usedLayers=0
+          # Compute the number of layers that are already used by a potential
+          # 'fromImage' as well as the customization layer. Ensure that there is
+          # still at least one layer available to store the image contents.
+          usedLayers=0
 
-        # subtract number of base image layers
-        if [[ -n "$fromImage" ]]; then
-          (( usedLayers += $(tar -xOf "$fromImage" manifest.json | jq '.[0].Layers | length') ))
-        fi
+          # subtract number of base image layers
+          if [[ -n "$fromImage" ]]; then
+            (( usedLayers += $(tar -xOf "$fromImage" manifest.json | jq '.[0].Layers | length') ))
+          fi
 
-        # one layer will be taken up by the customisation layer
-        (( usedLayers += 1 ))
+          # one layer will be taken up by the customisation layer
+          (( usedLayers += 1 ))
 
-        if ! (( $usedLayers < $maxLayers )); then
-          echo >&2 "Error: usedLayers $usedLayers layers to store 'fromImage' and" \
-                    "'extraCommands', but only maxLayers=$maxLayers were" \
-                    "allowed. At least 1 layer is required to store contents."
-          exit 1
-        fi
-        availableLayers=$(( maxLayers - usedLayers ))
+          if ! (( $usedLayers < $maxLayers )); then
+            echo >&2 "Error: usedLayers $usedLayers layers to store 'fromImage' and" \
+                      "'extraCommands', but only maxLayers=$maxLayers were" \
+                      "allowed. At least 1 layer is required to store contents."
+            exit 1
+          fi
+          availableLayers=$(( maxLayers - usedLayers ))
+
+          # Create $maxLayers worth of Docker Layers, one layer per store path
+          # unless there are more paths than $maxLayers. In that case, create
+          # $maxLayers-1 for the most popular layers, and smush the remainaing
+          # store paths in to one final layer.
+          #
+          # The following code is fiddly w.r.t. ensuring every layer is
+          # created, and that no paths are missed. If you change the
+          # following lines, double-check that your code behaves properly
+          # when the number of layers equals:
+          #      maxLayers-1, maxLayers, and maxLayers+1, 0
+          store_layers="$(
+            paths |
+              jq -sR '
+                rtrimstr("\n") | split("\n")
+                  | (.[:$maxLayers-1] | map([.])) + [ .[$maxLayers-1:] ]
+                  | map(select(length > 0))
+              ' \
+                --argjson maxLayers "$availableLayers"
+          )"
 
-        # Create $maxLayers worth of Docker Layers, one layer per store path
-        # unless there are more paths than $maxLayers. In that case, create
-        # $maxLayers-1 for the most popular layers, and smush the remainaing
-        # store paths in to one final layer.
-        #
-        # The following code is fiddly w.r.t. ensuring every layer is
-        # created, and that no paths are missed. If you change the
-        # following lines, double-check that your code behaves properly
-        # when the number of layers equals:
-        #      maxLayers-1, maxLayers, and maxLayers+1, 0
-        store_layers="$(
-          paths |
-            jq -sR '
-              rtrimstr("\n") | split("\n")
-                | (.[:$maxLayers-1] | map([.])) + [ .[$maxLayers-1:] ]
-                | map(select(length > 0))
-            ' \
-              --argjson maxLayers "$availableLayers"
-        )"
-
-        cat ${baseJson} | jq '
-          . + {
-            "store_dir": $store_dir,
-            "from_image": $from_image,
-            "store_layers": $store_layers,
-            "customisation_layer", $customisation_layer,
-            "repo_tag": $repo_tag,
-            "created": $created
-          }
-          ' --arg store_dir "${storeDir}" \
-            --argjson from_image ${if fromImage == null then "null" else "'\"${fromImage}\"'"} \
-            --argjson store_layers "$store_layers" \
-            --arg customisation_layer ${customisationLayer} \
-            --arg repo_tag "$imageName:$imageTag" \
-            --arg created "$created" |
-          tee $out
-      '';
-      result = runCommand "stream-${baseName}" {
-        inherit (conf) imageName;
-        passthru = {
-          inherit (conf) imageTag;
-
-          # Distinguish tarballs and exes at the Nix level so functions that
-          # take images can know in advance how the image is supposed to be used.
-          isExe = true;
-        };
-        nativeBuildInputs = [ makeWrapper ];
-      } ''
-        makeWrapper ${streamScript} $out --add-flags ${conf}
-      '';
-    in result;
+          cat ${baseJson} | jq '
+            . + {
+              "store_dir": $store_dir,
+              "from_image": $from_image,
+              "store_layers": $store_layers,
+              "customisation_layer", $customisation_layer,
+              "repo_tag": $repo_tag,
+              "created": $created
+            }
+            ' --arg store_dir "${storeDir}" \
+              --argjson from_image ${if fromImage == null then "null" else "'\"${fromImage}\"'"} \
+              --argjson store_layers "$store_layers" \
+              --arg customisation_layer ${customisationLayer} \
+              --arg repo_tag "$imageName:$imageTag" \
+              --arg created "$created" |
+            tee $out
+        '';
+        result = runCommand "stream-${baseName}"
+          {
+            inherit (conf) imageName;
+            passthru = {
+              inherit (conf) imageTag;
+
+              # Distinguish tarballs and exes at the Nix level so functions that
+              # take images can know in advance how the image is supposed to be used.
+              isExe = true;
+            };
+            nativeBuildInputs = [ makeWrapper ];
+          } ''
+          makeWrapper ${streamScript} $out --add-flags ${conf}
+        '';
+      in
+      result;
 }
diff --git a/nixpkgs/pkgs/build-support/docker/examples.nix b/nixpkgs/pkgs/build-support/docker/examples.nix
index f890d0a77a26..c66aca56fea0 100644
--- a/nixpkgs/pkgs/build-support/docker/examples.nix
+++ b/nixpkgs/pkgs/build-support/docker/examples.nix
@@ -463,7 +463,7 @@ rec {
   layeredStoreSymlink =
   let
     target = pkgs.writeTextDir "dir/target" "Content doesn't matter.";
-    symlink = pkgs.runCommandNoCC "symlink" {} "ln -s ${target} $out";
+    symlink = pkgs.runCommand "symlink" {} "ln -s ${target} $out";
   in
     pkgs.dockerTools.buildLayeredImage {
       name = "layeredstoresymlink";
diff --git a/nixpkgs/pkgs/build-support/docker/tarsum.nix b/nixpkgs/pkgs/build-support/docker/tarsum.nix
new file mode 100644
index 000000000000..734c6b3d5aeb
--- /dev/null
+++ b/nixpkgs/pkgs/build-support/docker/tarsum.nix
@@ -0,0 +1,42 @@
+{ stdenv, go, docker, nixosTests }:
+
+stdenv.mkDerivation {
+  name = "tarsum";
+
+  nativeBuildInputs = [ go ];
+  disallowedReferences = [ go ];
+
+  dontUnpack = true;
+
+  CGO_ENABLED = 0;
+  GOFLAGS = "-trimpath";
+  GO111MODULE = "off";
+
+  buildPhase = ''
+    runHook preBuild
+    mkdir tarsum
+    cd tarsum
+    cp ${./tarsum.go} tarsum.go
+    export GOPATH=$(pwd)
+    export GOCACHE="$TMPDIR/go-cache"
+    mkdir -p src/github.com/docker/docker/pkg
+    ln -sT ${docker.moby-src}/pkg/tarsum src/github.com/docker/docker/pkg/tarsum
+    go build
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/bin
+    cp tarsum $out/bin/
+    runHook postInstall
+  '';
+
+  passthru = {
+    tests = {
+      dockerTools = nixosTests.docker-tools;
+    };
+  };
+
+  meta.platforms = go.meta.platforms;
+}
diff --git a/nixpkgs/pkgs/build-support/emacs/elpa.nix b/nixpkgs/pkgs/build-support/emacs/elpa.nix
index 08257ff25425..f7027dc499d8 100644
--- a/nixpkgs/pkgs/build-support/emacs/elpa.nix
+++ b/nixpkgs/pkgs/build-support/emacs/elpa.nix
@@ -21,7 +21,7 @@ in
 
 import ./generic.nix { inherit lib stdenv emacs texinfo writeText gcc; } ({
 
-  phases = "installPhase fixupPhase distPhase";
+  dontUnpack = true;
 
   installPhase = ''
     runHook preInstall
diff --git a/nixpkgs/pkgs/build-support/emacs/wrapper.nix b/nixpkgs/pkgs/build-support/emacs/wrapper.nix
index 6b53f3fdd954..ccbd58485ea8 100644
--- a/nixpkgs/pkgs/build-support/emacs/wrapper.nix
+++ b/nixpkgs/pkgs/build-support/emacs/wrapper.nix
@@ -27,7 +27,7 @@ let customEmacsPackages =
         # use the unstable MELPA version of magit
         magit = self.melpaPackages.magit;
       });
-in customEmacsPackages.emacs.pkgs.withPackages (epkgs: [ epkgs.evil epkgs.magit ])
+in customEmacsPackages.withPackages (epkgs: [ epkgs.evil epkgs.magit ])
 ```
 
 */
diff --git a/nixpkgs/pkgs/build-support/fetchgit/nix-prefetch-git b/nixpkgs/pkgs/build-support/fetchgit/nix-prefetch-git
index 8110d670e41c..6e869ab5e437 100755
--- a/nixpkgs/pkgs/build-support/fetchgit/nix-prefetch-git
+++ b/nixpkgs/pkgs/build-support/fetchgit/nix-prefetch-git
@@ -300,7 +300,9 @@ clone_user_rev() {
     local rev="${3:-HEAD}"
 
     if [ -n "$fetchLFS" ]; then
-        HOME=$TMPDIR
+        tmpHomePath="$(mktemp -d -p nix-prefetch-git-tmp-home-XXXXXXXXXX)"
+        exit_handlers+=(remove_tmpHomePath)
+        HOME="$tmpHomePath"
         git lfs install
     fi
 
@@ -396,6 +398,7 @@ print_results() {
   "date": "$(json_escape "$commitDateStrict8601")",
   "path": "$(json_escape "$finalPath")",
   "$(json_escape "$hashType")": "$(json_escape "$hash")",
+  "fetchLFS": $([[ -n "$fetchLFS" ]] && echo true || echo false),
   "fetchSubmodules": $([[ -n "$fetchSubmodules" ]] && echo true || echo false),
   "deepClone": $([[ -n "$deepClone" ]] && echo true || echo false),
   "leaveDotGit": $([[ -n "$leaveDotGit" ]] && echo true || echo false)
@@ -408,6 +411,10 @@ remove_tmpPath() {
     rm -rf "$tmpPath"
 }
 
+remove_tmpHomePath() {
+    rm -rf "$tmpHomePath"
+}
+
 if test -n "$QUIET"; then
     quiet_mode
 fi
diff --git a/nixpkgs/pkgs/build-support/fetchgitlab/default.nix b/nixpkgs/pkgs/build-support/fetchgitlab/default.nix
index 77512510a7c6..5b9dbd71c595 100644
--- a/nixpkgs/pkgs/build-support/fetchgitlab/default.nix
+++ b/nixpkgs/pkgs/build-support/fetchgitlab/default.nix
@@ -1,22 +1,26 @@
-{ fetchzip, lib }:
+{ fetchgit, fetchzip, lib }:
 
 # gitlab example
 { owner, repo, rev, domain ? "gitlab.com", name ? "source", group ? null
+, fetchSubmodules ? false, leaveDotGit ? false, deepClone ? false
 , ... # For hash agility
 } @ args:
 
-with lib;
-
 let
-  slug = concatStringsSep "/"
-    ((optional (group != null) group) ++ [ owner repo ]);
+  slug = lib.concatStringsSep "/" ((lib.optional (group != null) group) ++ [ owner repo ]);
+  escapedSlug = lib.replaceStrings [ "." "/" ] [ "%2E" "%2F" ] slug;
+  escapedRev = lib.replaceStrings [ "+" "%" "/" ] [ "%2B" "%25" "%2F" ] rev;
+  passthruAttrs = removeAttrs args [ "domain" "owner" "group" "repo" "rev" ];
+
+  useFetchGit = deepClone || fetchSubmodules || leaveDotGit;
+  fetcher = if useFetchGit then fetchgit else fetchzip;
 
-  escapedSlug = replaceStrings ["." "/"] ["%2E" "%2F"] slug;
-  escapedRev = replaceStrings ["+" "%" "/"] ["%2B" "%25" "%2F"] rev;
+  fetcherArgs = (if useFetchGit then {
+    inherit rev deepClone fetchSubmodules leaveDotGit;
+    url = "https://${domain}/${slug}.git";
+  } else {
+    url = "https://${domain}/api/v4/projects/${escapedSlug}/repository/archive.tar.gz?sha=${escapedRev}";
+  }) // passthruAttrs // { inherit name; };
 in
 
-fetchzip ({
-  inherit name;
-  url = "https://${domain}/api/v4/projects/${escapedSlug}/repository/archive.tar.gz?sha=${escapedRev}";
-  meta.homepage = "https://${domain}/${slug}/";
-} // removeAttrs args [ "domain" "owner" "group" "repo" "rev" ]) // { inherit rev; }
+fetcher fetcherArgs // { meta.homepage = "https://${domain}/${slug}/"; inherit rev; }
diff --git a/nixpkgs/pkgs/build-support/fetchgx/default.nix b/nixpkgs/pkgs/build-support/fetchgx/default.nix
index 3ccf5d273fc5..93f60c0a9cac 100644
--- a/nixpkgs/pkgs/build-support/fetchgx/default.nix
+++ b/nixpkgs/pkgs/build-support/fetchgx/default.nix
@@ -12,7 +12,9 @@ stdenvNoCC.mkDerivation {
   outputHashMode = "recursive";
   outputHash = sha256;
 
-  phases = [ "unpackPhase" "buildPhase" "installPhase" ];
+  dontConfigure = true;
+  doCheck = false;
+  doInstallCheck = false;
 
   buildPhase = ''
     export GOPATH=$(pwd)/vendor
diff --git a/nixpkgs/pkgs/build-support/fetchurl/mirrors.nix b/nixpkgs/pkgs/build-support/fetchurl/mirrors.nix
index e5095478002a..8dc4f4207b6c 100644
--- a/nixpkgs/pkgs/build-support/fetchurl/mirrors.nix
+++ b/nixpkgs/pkgs/build-support/fetchurl/mirrors.nix
@@ -43,9 +43,9 @@
 
     "http://ftp.nluug.nl/pub/gnu/"
     "http://mirrors.kernel.org/gnu/"
-    "ftp://mirror.cict.fr/gnu/"
-    "ftp://ftp.cs.tu-berlin.de/pub/gnu/"
-    "ftp://ftp.chg.ru/pub/gnu/"
+    "http://mirror.ibcp.fr/pub/gnu/"
+    "http://mirror.dogado.de/gnu/"
+    "http://mirror.tochlab.net/pub/gnu/"
     "ftp://ftp.funet.fi/pub/mirrors/ftp.gnu.org/gnu/"
 
     # This one is the master repository, and thus it's always up-to-date.
@@ -66,7 +66,6 @@
   gnupg = [
     "https://gnupg.org/ftp/gcrypt/"
     "http://www.ring.gr.jp/pub/net/"
-    "http://gd.tuwien.ac.at/privacy/"
     "http://mirrors.dotsrc.org/gcrypt/"
     "http://ftp.heanet.ie/mirrors/ftp.gnupg.org/gcrypt/"
     "http://www.mirrorservice.org/sites/ftp.gnupg.org/gcrypt/"
@@ -75,14 +74,13 @@
   # kernel.org's /pub (/pub/{linux,software}) tree.
   kernel = [
     "http://cdn.kernel.org/pub/"
-    "http://www.all.kernel.org/pub/"
     "http://ramses.wh2.tu-dresden.de/pub/mirrors/kernel.org/"
     "http://linux-kernel.uio.no/pub/"
     "http://kernel.osuosl.org/pub/"
     "ftp://ftp.funet.fi/pub/mirrors/ftp.kernel.org/pub/"
   ];
 
-  # Mirrors from https://download.kde.org/extra/download-mirrors.html
+  # Mirrors from https://download.kde.org/ls-lR.mirrorlist
   kde = [
     "https://download.kde.org/download.php?url="
     "https://ftp.gwdg.de/pub/linux/kde/"
@@ -90,7 +88,6 @@
     "http://mirrors.mit.edu/kde/"
     "https://mirrors.ustc.edu.cn/kde/"
     "http://ftp.funet.fi/pub/mirrors/ftp.kde.org/pub/kde/"
-    "ftp://ftp.kde.org/pub/kde/"
   ];
 
   # Gentoo files.
@@ -113,15 +110,12 @@
     "http://ftp.cc.uoc.gr/mirrors/nongnu.org/"
     "http://nongnu.uib.no/"
     "http://mirrors.fe.up.pt/pub/nongnu/"
-    "http://mirror.lihnidos.org/GNU/savannah/"
-    "http://savannah.mirror.si/"
     "http://ftp.acc.umu.se/mirror/gnu.org/savannah/"
     "http://ftp.twaren.net/Unix/NonGNU/"
     "http://ftp.yzu.edu.tw/pub/nongnu/"
     "http://mirror.rackdc.com/savannah/"
     "http://savannah-nongnu-org.ip-connect.vn.ua/"
     "http://www.mirrorservice.org/sites/download.savannah.gnu.org/releases/"
-    "http://savannah.spinellicreations.com/"
     "http://gnu.mirrors.pair.com/savannah/savannah/"
     "ftp://mirror.easyname.at/nongnu/"
     "ftp://mirror2.klaus-uwe.me/nongnu/"
@@ -129,11 +123,9 @@
     "ftp://mirror.csclub.uwaterloo.ca/nongnu/"
     "ftp://mirror.cedia.org.ec/nongnu"
     "ftp://ftp.igh.cnrs.fr/pub/nongnu/"
-    "ftp://mirror6.layerjet.com/nongnu/"
     "ftp://mirror.netcologne.de/savannah/"
     "ftp://nongnu.uib.no/pub/nongnu/"
     "ftp://mirrors.fe.up.pt/pub/nongnu/"
-    "ftp://savannah.mirror.si/savannah/"
     "ftp://ftp.twaren.net/Unix/NonGNU/"
     "ftp://ftp.yzu.edu.tw/pub/nongnu/"
     "ftp://savannah-nongnu-org.ip-connect.vn.ua/mirror/savannah.nongnu.org/"
@@ -149,8 +141,6 @@
   # BitlBee mirrors, see https://www.bitlbee.org/main.php/mirrors.html .
   bitlbee = [
     "http://get.bitlbee.org/"
-    "http://get.bitlbee.be/"
-    "http://get.us.bitlbee.org/"
     "http://ftp.snt.utwente.nl/pub/software/bitlbee/"
     "http://bitlbee.intergenia.de/"
   ];
@@ -165,8 +155,6 @@
     "ftp://ftp.imagemagick.org/pub/ImageMagick/"
     "http://ftp.fifi.org/ImageMagick/"
     "ftp://ftp.fifi.org/ImageMagick/"
-    "http://imagemagick.mirrorcatalogs.com/"
-    "ftp://imagemagick.mirrorcatalogs.com/imagemagick"
   ];
 
   # CPAN mirrors.
@@ -185,7 +173,6 @@
     "http://ftp.jaist.ac.jp/pub/Linux/CentOS-vault/"
     "http://mirrors.aliyun.com/centos-vault/"
     "https://mirror.chpc.utah.edu/pub/vault.centos.org/"
-    "https://mirror.its.sfu.ca/mirror/CentOS-vault/"
     "https://mirror.math.princeton.edu/pub/centos-vault/"
     "https://mirrors.tripadvisor.com/centos-vault/"
   ];
@@ -193,14 +180,10 @@
   # Debian.
   debian = [
     "http://httpredir.debian.org/debian/"
-    "ftp://ftp.au.debian.org/debian/"
     "ftp://ftp.de.debian.org/debian/"
-    "ftp://ftp.es.debian.org/debian/"
     "ftp://ftp.fr.debian.org/debian/"
-    "ftp://ftp.it.debian.org/debian/"
     "ftp://ftp.nl.debian.org/debian/"
     "ftp://ftp.ru.debian.org/debian/"
-    "ftp://ftp.debian.org/debian/"
     "http://ftp.debian.org/debian/"
     "http://archive.debian.org/debian-archive/debian/"
     "ftp://ftp.funet.fi/pub/mirrors/ftp.debian.org/debian/"
@@ -229,13 +212,6 @@
     "http://archives.fedoraproject.org/pub/archive/fedora/"
   ];
 
-  # Old SUSE distributions.  Unfortunately there is no master site,
-  # since SUSE actually delete their old distributions (see
-  # ftp://ftp.suse.com/pub/suse/discontinued/deleted-20070817/README.txt).
-  oldsuse = [
-    "ftp://ftp.gmd.de/ftp.suse.com-discontinued/"
-  ];
-
   # openSUSE.
   opensuse = [
     "http://opensuse.hro.nl/opensuse/distribution/"
@@ -257,10 +233,8 @@
     "http://ftp.unina.it/pub/linux/GNOME/"
     "http://fr2.rpmfind.net/linux/gnome.org/"
     "ftp://ftp.dit.upm.es/pub/GNOME/"
-    "ftp://ftp.no.gnome.org/pub/GNOME/"
     "http://ftp.acc.umu.se/pub/GNOME/"
     "http://ftp.belnet.be/mirror/ftp.gnome.org/"
-    "http://ftp.df.lth.se/pub/gnome/"
     "http://linorg.usp.br/gnome/"
     "http://mirror.aarnet.edu.au/pub/GNOME/"
     "ftp://ftp.cse.buffalo.edu/pub/Gnome/"
@@ -290,7 +264,7 @@
   # Apache mirrors (see http://www.apache.org/mirrors/).
   apache = [
     "https://www-eu.apache.org/dist/"
-    "https://www-us.apache.org/dist/"
+    "https://ftp.wayne.edu/apache/"
     "http://www.eu.apache.org/dist/"
     "ftp://ftp.fu-berlin.de/unix/www/apache/"
     "http://ftp.tudelft.nl/apache/"
@@ -305,13 +279,11 @@
   postgresql = [
     "http://ftp.postgresql.org/pub/"
     "ftp://ftp.postgresql.org/pub/"
-    "ftp://ftp-archives.postgresql.org/pub/"
   ];
 
   metalab = [
-    "ftp://mirrors.kernel.org/metalab/"
     "ftp://ftp.gwdg.de/pub/linux/metalab/"
-    "ftp://ftp.xemacs.org/sites/metalab.unc.edu/"
+    "ftp://ftp.metalab.unc.edu/pub/linux/"
   ];
 
   # Bioconductor mirrors (from http://bioconductor.org/about/mirrors)
@@ -325,7 +297,6 @@
     # http://watson.nci.nih.gov/bioc_mirror/
     "http://bioconductor.jp/packages/"
     "http://bioconductor.statistik.tu-dortmund.de/packages/"
-    "http://mirrors.ebi.ac.uk/bioconductor/packages/"
     "http://mirrors.ustc.edu.cn/bioc/"
   ];
 
@@ -340,14 +311,12 @@
   # Roy marples mirrors
   roy = [
     "http://roy.marples.name/downloads/"
-    "http://roy.aydogan.net/"
     "http://cflags.cc/roy/"
   ];
 
   # Sage mirrors (http://www.sagemath.org/mirrors.html)
   sageupstream = [
     # Africa
-    "http://sagemath.polytechnic.edu.na/spkg/upstream/"
     "ftp://ftp.sun.ac.za/pub/mirrors/www.sagemath.org/spkg/upstream/"
     "http://sagemath.mirror.ac.za/spkg/upstream/"
     "https://ftp.leg.uct.ac.za/pub/packages/sage/spkg/upstream/"
@@ -366,7 +335,6 @@
     "http://linorg.usp.br/sage/spkg/upstream"
 
     # Asia
-    "http://sage.asis.io/spkg/upstream/"
     "http://mirror.hust.edu.cn/sagemath/spkg/upstream/"
     "https://ftp.iitm.ac.in/sage/spkg/upstream/"
     "http://ftp.kaist.ac.kr/sage/spkg/upstream/"
@@ -378,11 +346,10 @@
     "https://mirror.yandex.ru/mirrors/sage.math.washington.edu/spkg/upstream/"
 
     # Australia
-    "http://echidna.maths.usyd.edu.au/sage/spkg/upstream/"
+    "http://mirror.aarnet.edu.au/pub/sage/spkg/upstream/"
 
     # Europe
     "http://sage.mirror.garr.it/mirrors/sage/spkg/upstream/"
-    "http://sunsite.rediris.es/mirror/sagemath/spkg/upstream/"
     "http://mirror.switch.ch/mirror/sagemath/spkg/upstream/"
     "http://mirrors.fe.up.pt/pub/sage/spkg/upstream/"
     "http://www-ftp.lip6.fr/pub/math/sagemath/spkg/upstream/"
@@ -399,8 +366,6 @@
     "http://ftp.openbsd.org/pub/OpenBSD/"
     "ftp://ftp.nluug.nl/pub/OpenBSD/"
     "ftp://ftp-stud.fht-esslingen.de/pub/OpenBSD/"
-    "ftp://ftp.halifax.rwth-aachen.de/pub/OpenBSD/"
-    "ftp://mirror.switch.ch/pub/OpenBSD/"
   ];
 
   # Steam Runtime mirrors
@@ -439,6 +404,5 @@
     "ftp://ftp.alsa-project.org/pub/"
     "http://alsa.cybermirror.org/"
     "http://www.mirrorservice.org/sites/ftp.alsa-project.org/pub/"
-    "http://alsa.mirror.fr/"
   ];
 }
diff --git a/nixpkgs/pkgs/build-support/fetchzip/default.nix b/nixpkgs/pkgs/build-support/fetchzip/default.nix
index cde4d4f579f4..b174c252fc0e 100644
--- a/nixpkgs/pkgs/build-support/fetchzip/default.nix
+++ b/nixpkgs/pkgs/build-support/fetchzip/default.nix
@@ -13,10 +13,17 @@
 , urls ? []
 , extraPostFetch ? ""
 , name ? "source"
+, # Allows to set the extension for the intermediate downloaded
+  # file. This can be used as a hint for the unpackCmdHooks to select
+  # an appropriate unpacking tool.
+  extension ? null
 , ... } @ args:
 
 (fetchurl (let
-  basename = baseNameOf (if url != "" then url else builtins.head urls);
+  tmpFilename =
+    if extension != null
+    then "download.${extension}"
+    else baseNameOf (if url != "" then url else builtins.head urls);
 in {
   inherit name;
 
@@ -30,7 +37,7 @@ in {
       mkdir "$unpackDir"
       cd "$unpackDir"
 
-      renamed="$TMPDIR/${basename}"
+      renamed="$TMPDIR/${tmpFilename}"
       mv "$downloadedFile" "$renamed"
       unpackFile "$renamed"
     ''
@@ -56,7 +63,7 @@ in {
     + ''
       chmod 755 "$out"
     '';
-} // removeAttrs args [ "stripRoot" "extraPostFetch" ])).overrideAttrs (x: {
+} // removeAttrs args [ "stripRoot" "extraPostFetch" "extension" ])).overrideAttrs (x: {
   # Hackety-hack: we actually need unzip hooks, too
   nativeBuildInputs = x.nativeBuildInputs ++ [ unzip ];
 })
diff --git a/nixpkgs/pkgs/build-support/kernel/make-initrd.nix b/nixpkgs/pkgs/build-support/kernel/make-initrd.nix
index 83d3bb65baec..23ce992f0d55 100644
--- a/nixpkgs/pkgs/build-support/kernel/make-initrd.nix
+++ b/nixpkgs/pkgs/build-support/kernel/make-initrd.nix
@@ -78,7 +78,7 @@ let
 in stdenvNoCC.mkDerivation rec {
   inherit name makeUInitrd extension uInitrdArch prepend;
 
-  ${if makeUInitrd then "uinitrdCompression" else null} = uInitrdCompression;
+  ${if makeUInitrd then "uInitrdCompression" else null} = uInitrdCompression;
 
   builder = ./make-initrd.sh;
 
diff --git a/nixpkgs/pkgs/build-support/kernel/make-initrd.sh b/nixpkgs/pkgs/build-support/kernel/make-initrd.sh
index c0619ef14ae0..70884741af3a 100644
--- a/nixpkgs/pkgs/build-support/kernel/make-initrd.sh
+++ b/nixpkgs/pkgs/build-support/kernel/make-initrd.sh
@@ -43,9 +43,9 @@ done
 (cd root && find * .[^.*] -print0 | sort -z | cpio -o -H newc -R +0:+0 --reproducible --null | eval -- $compress >> "$out/initrd")
 
 if [ -n "$makeUInitrd" ]; then
-    mkimage -A $uInitrdArch -O linux -T ramdisk -C "$uInitrdCompression" -d $out/initrd"$extension" $out/initrd.img
+    mkimage -A "$uInitrdArch" -O linux -T ramdisk -C "$uInitrdCompression" -d "$out/initrd" $out/initrd.img
     # Compatibility symlink
-    ln -s "initrd.img" "$out/initrd"
+    ln -sf "initrd.img" "$out/initrd"
 else
     ln -s "initrd" "$out/initrd$extension"
 fi
diff --git a/nixpkgs/pkgs/build-support/libredirect/default.nix b/nixpkgs/pkgs/build-support/libredirect/default.nix
index 4678d35442f6..42525ec98a7e 100644
--- a/nixpkgs/pkgs/build-support/libredirect/default.nix
+++ b/nixpkgs/pkgs/build-support/libredirect/default.nix
@@ -14,6 +14,8 @@ stdenv.mkDerivation rec {
   outputs = ["out" "hook"];
 
   buildPhase = ''
+    runHook preBuild
+
     $CC -Wall -std=c99 -O3 -fPIC -ldl -shared \
       ${lib.optionalString stdenv.isDarwin "-Wl,-install_name,$out/lib/$libName"} \
       -o "$libName" \
@@ -22,9 +24,18 @@ stdenv.mkDerivation rec {
     if [ -n "$doInstallCheck" ]; then
       $CC -Wall -std=c99 -O3 test.c -o test
     fi
+
+    runHook postBuild
   '';
 
+  # We want to retain debugging info to be able to use GDB on libredirect.so
+  # to more easily investigate which function overrides are missing or why
+  # existing ones do not have the intended effect.
+  dontStrip = true;
+
   installPhase = ''
+    runHook preInstall
+
     install -vD "$libName" "$out/lib/$libName"
 
     mkdir -p "$hook/nix-support"
@@ -36,6 +47,8 @@ stdenv.mkDerivation rec {
     export LD_PRELOAD="$out/lib/$libName"
     ''}
     SETUP_HOOK
+
+    runHook postInstall
   '';
 
   doInstallCheck = true;
diff --git a/nixpkgs/pkgs/build-support/libredirect/libredirect.c b/nixpkgs/pkgs/build-support/libredirect/libredirect.c
index dfa2978e9f44..5b0ef4856708 100644
--- a/nixpkgs/pkgs/build-support/libredirect/libredirect.c
+++ b/nixpkgs/pkgs/build-support/libredirect/libredirect.c
@@ -17,15 +17,22 @@ static int nrRedirects = 0;
 static char * from[MAX_REDIRECTS];
 static char * to[MAX_REDIRECTS];
 
+static int isInitialized = 0;
+
 // FIXME: might run too late.
 static void init() __attribute__((constructor));
 
 static void init()
 {
+    if (isInitialized) return;
+
     char * spec = getenv("NIX_REDIRECTS");
     if (!spec) return;
 
-    unsetenv("NIX_REDIRECTS");
+    // Ensure we only run this code once.
+    // We do not do `unsetenv("NIX_REDIRECTS")` to ensure that redirects
+    // also get initialized for subprocesses.
+    isInitialized = 1;
 
     char * spec2 = malloc(strlen(spec) + 1);
     strcpy(spec2, spec);
diff --git a/nixpkgs/pkgs/build-support/libredirect/test.c b/nixpkgs/pkgs/build-support/libredirect/test.c
index 722d1303771c..853f26bb5209 100644
--- a/nixpkgs/pkgs/build-support/libredirect/test.c
+++ b/nixpkgs/pkgs/build-support/libredirect/test.c
@@ -10,6 +10,7 @@
 #include <sys/wait.h>
 
 #define TESTPATH "/foo/bar/test"
+#define SUBTEST "./test sub"
 
 extern char **environ;
 
@@ -36,7 +37,11 @@ void test_system(void) {
     assert(system(TESTPATH) == 0);
 }
 
-int main(void)
+void test_subprocess(void) {
+    assert(system(SUBTEST) == 0);
+}
+
+int main(int argc, char *argv[])
 {
     FILE *testfp;
     int testfd;
@@ -56,6 +61,14 @@ int main(void)
 
     test_spawn();
     test_system();
+
+    // Only run subprocess if no arguments are given
+    // as the subprocess will be called without argument
+    // otherwise we will have infinite recursion
+    if (argc == 1) {
+        test_subprocess();
+    }
+
     test_execv();
 
     /* If all goes well, this is never reached because test_execv() replaces
diff --git a/nixpkgs/pkgs/build-support/nuget-to-nix/default.nix b/nixpkgs/pkgs/build-support/nuget-to-nix/default.nix
new file mode 100644
index 000000000000..a5fc4e209cd2
--- /dev/null
+++ b/nixpkgs/pkgs/build-support/nuget-to-nix/default.nix
@@ -0,0 +1,5 @@
+{ runCommand }:
+
+runCommand "nuget-to-nix" { preferLocalBuild = true; } ''
+  install -D -m755 ${./nuget-to-nix.sh} $out/bin/nuget-to-nix
+''
diff --git a/nixpkgs/pkgs/build-support/nuget-to-nix/nuget-to-nix.sh b/nixpkgs/pkgs/build-support/nuget-to-nix/nuget-to-nix.sh
new file mode 100755
index 000000000000..c14844bec59e
--- /dev/null
+++ b/nixpkgs/pkgs/build-support/nuget-to-nix/nuget-to-nix.sh
@@ -0,0 +1,23 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+if [ $# -eq 0 ]; then
+  >&2 echo "Usage: $0 [packages directory] > deps.nix"
+  exit 1
+fi
+
+pkgs=$1
+
+echo "{ fetchNuGet }: ["
+
+while read pkg_spec; do
+  { read pkg_name; read pkg_version; } < <(
+    # Build version part should be ignored: `3.0.0-beta2.20059.3+77df2220` -> `3.0.0-beta2.20059.3`
+    sed -nE 's/.*<id>([^<]*).*/\1/p; s/.*<version>([^<+]*).*/\1/p' "$pkg_spec")
+  pkg_sha256="$(nix-hash --type sha256 --flat --base32 "$(dirname "$pkg_spec")"/*.nupkg)"
+
+  echo "  (fetchNuGet { name = \"$pkg_name\"; version = \"$pkg_version\"; sha256 = \"$pkg_sha256\"; })"
+done < <(find $1 -name '*.nuspec' | sort)
+
+echo "]"
diff --git a/nixpkgs/pkgs/build-support/replace-secret/replace-secret.nix b/nixpkgs/pkgs/build-support/replace-secret/replace-secret.nix
index e04d1aed5f70..4881ba25f5d2 100644
--- a/nixpkgs/pkgs/build-support/replace-secret/replace-secret.nix
+++ b/nixpkgs/pkgs/build-support/replace-secret/replace-secret.nix
@@ -3,13 +3,14 @@
 stdenv.mkDerivation {
   name = "replace-secret";
   buildInputs = [ python3 ];
-  phases = [ "installPhase" "checkPhase" ];
+  dontUnpack = true;
   installPhase = ''
+    runHook preInstall
     install -D ${./replace-secret.py} $out/bin/replace-secret
     patchShebangs $out
+    runHook postInstall
   '';
-  doCheck = true;
-  checkPhase = ''
+  installCheckPhase = ''
     install -m 0600 ${./test/input_file} long_test
     $out/bin/replace-secret "replace this" ${./test/passwd} long_test
     $out/bin/replace-secret "and this" ${./test/rsa} long_test
diff --git a/nixpkgs/pkgs/build-support/rust/build-rust-crate/default.nix b/nixpkgs/pkgs/build-support/rust/build-rust-crate/default.nix
index e605c9550e53..13b153315f7f 100644
--- a/nixpkgs/pkgs/build-support/rust/build-rust-crate/default.nix
+++ b/nixpkgs/pkgs/build-support/rust/build-rust-crate/default.nix
@@ -4,313 +4,347 @@
 # This can be useful for deploying packages with NixOps, and to share
 # binary dependencies between projects.
 
-{ lib, stdenv, defaultCrateOverrides, fetchCrate, pkgsBuildBuild, rustc, rust
-, cargo, jq }:
+{ lib
+, stdenv
+, defaultCrateOverrides
+, fetchCrate
+, pkgsBuildBuild
+, rustc
+, rust
+, cargo
+, jq
+, libiconv
+}:
 
 let
-    # Create rustc arguments to link against the given list of dependencies
-    # and renames.
-    #
-    # See docs for crateRenames below.
-    mkRustcDepArgs = dependencies: crateRenames:
-      lib.concatMapStringsSep " " (dep:
+  # Create rustc arguments to link against the given list of dependencies
+  # and renames.
+  #
+  # See docs for crateRenames below.
+  mkRustcDepArgs = dependencies: crateRenames:
+    lib.concatMapStringsSep " "
+      (dep:
         let
-          normalizeName = lib.replaceStrings ["-"] ["_"];
+          normalizeName = lib.replaceStrings [ "-" ] [ "_" ];
           extern = normalizeName dep.libName;
           # Find a choice that matches in name and optionally version.
           findMatchOrUseExtern = choices:
-            lib.findFirst (choice:
-              (!(choice ? version)
-                 || choice.version == dep.version or ""))
-            { rename = extern; }
-            choices;
-          name = if lib.hasAttr dep.crateName crateRenames then
-            let choices = crateRenames.${dep.crateName};
-            in
-            normalizeName (
-              if builtins.isList choices
-              then (findMatchOrUseExtern choices).rename
-              else choices
-            )
-          else
-            extern;
-        in (if lib.any (x: x == "lib" || x == "rlib") dep.crateType then
-           " --extern ${name}=${dep.lib}/lib/lib${extern}-${dep.metadata}.rlib"
-         else
-           " --extern ${name}=${dep.lib}/lib/lib${extern}-${dep.metadata}${stdenv.hostPlatform.extensions.sharedLibrary}")
-      ) dependencies;
+            lib.findFirst
+              (choice:
+                (!(choice ? version)
+                  || choice.version == dep.version or ""))
+              { rename = extern; }
+              choices;
+          name =
+            if lib.hasAttr dep.crateName crateRenames then
+              let choices = crateRenames.${dep.crateName};
+              in
+              normalizeName (
+                if builtins.isList choices
+                then (findMatchOrUseExtern choices).rename
+                else choices
+              )
+            else
+              extern;
+        in
+        (if lib.any (x: x == "lib" || x == "rlib") dep.crateType then
+          " --extern ${name}=${dep.lib}/lib/lib${extern}-${dep.metadata}.rlib"
+        else
+          " --extern ${name}=${dep.lib}/lib/lib${extern}-${dep.metadata}${stdenv.hostPlatform.extensions.sharedLibrary}")
+      )
+      dependencies;
 
-   # Create feature arguments for rustc.
-   mkRustcFeatureArgs = lib.concatMapStringsSep " " (f: ''--cfg feature=\"${f}\"'');
+  # Create feature arguments for rustc.
+  mkRustcFeatureArgs = lib.concatMapStringsSep " " (f: ''--cfg feature=\"${f}\"'');
 
-   inherit (import ./log.nix { inherit lib; }) noisily echo_colored;
+  inherit (import ./log.nix { inherit lib; }) noisily echo_colored;
 
-   configureCrate = import ./configure-crate.nix {
-     inherit lib stdenv rust echo_colored noisily mkRustcDepArgs mkRustcFeatureArgs;
-   };
+  configureCrate = import ./configure-crate.nix {
+    inherit lib stdenv rust echo_colored noisily mkRustcDepArgs mkRustcFeatureArgs;
+  };
 
-   buildCrate = import ./build-crate.nix {
-     inherit lib stdenv mkRustcDepArgs mkRustcFeatureArgs rust;
-   };
+  buildCrate = import ./build-crate.nix {
+    inherit lib stdenv mkRustcDepArgs mkRustcFeatureArgs rust;
+  };
 
-   installCrate = import ./install-crate.nix { inherit stdenv; };
+  installCrate = import ./install-crate.nix { inherit stdenv; };
 
-   # Allow access to the rust attribute set from inside buildRustCrate, which
-   # has a parameter that shadows the name.
-   rustAttrs = rust;
+  # Allow access to the rust attribute set from inside buildRustCrate, which
+  # has a parameter that shadows the name.
+  rustAttrs = rust;
 in
 
-/* The overridable pkgs.buildRustCrate function.
- *
- * Any unrecognized parameters will be passed as to
- * the underlying stdenv.mkDerivation.
- */
- crate_: lib.makeOverridable (
-   # The rust compiler to use.
-   #
-   # Default: pkgs.rustc
-   { rust
-   # Whether to build a release version (`true`) or a debug
-   # version (`false`). Debug versions are faster to build
-   # but might be much slower at runtime.
-   , release
-   # Whether to print rustc invocations etc.
-   #
-   # Example: false
-   # Default: true
-   , verbose
-   # A list of rust/cargo features to enable while building the crate.
-   # Example: [ "std" "async" ]
-   , features
-   # Additional native build inputs for building this crate.
-   , nativeBuildInputs
-   # Additional build inputs for building this crate.
-   #
-   # Example: [ pkgs.openssl ]
-   , buildInputs
-   # Allows to override the parameters to buildRustCrate
-   # for any rust dependency in the transitive build tree.
-   #
-   # Default: pkgs.defaultCrateOverrides
-   #
-   # Example:
-   #
-   # pkgs.defaultCrateOverrides // {
-   #   hello = attrs: { buildInputs = [ openssl ]; };
-   # }
-   , crateOverrides
-   # Rust library dependencies, i.e. other libaries that were built
-   # with buildRustCrate.
-   , dependencies
-   # Rust build dependencies, i.e. other libaries that were built
-   # with buildRustCrate and are used by a build script.
-   , buildDependencies
-   # Specify the "extern" name of a library if it differs from the library target.
-   # See above for an extended explanation.
-   #
-   # Default: no renames.
-   #
-   # Example:
-   #
-   # `crateRenames` supports two formats.
-   #
-   # The simple version is an attrset that maps the
-   # `crateName`s of the dependencies to their alternative
-   # names.
-   #
-   # ```nix
-   # {
-   #   my_crate_name = "my_alternative_name";
-   #   # ...
-   # }
-   # ```
-   #
-   # The extended version is also keyed by the `crateName`s but allows
-   # different names for different crate versions:
-   #
-   # ```nix
-   # {
-   #   my_crate_name = [
-   #       { version = "1.2.3"; rename = "my_alternative_name01"; }
-   #       { version = "3.2.3"; rename = "my_alternative_name03"; }
-   #   ]
-   #   # ...
-   # }
-   # ```
-   #
-   # This roughly corresponds to the following snippet in Cargo.toml:
-   #
-   # ```toml
-   # [dependencies]
-   # my_alternative_name01 = { package = "my_crate_name", version = "0.1" }
-   # my_alternative_name03 = { package = "my_crate_name", version = "0.3" }
-   # ```
-   #
-   # Dependencies which use the lib target name as extern name, do not need
-   # to be specified in the crateRenames, even if their crate name differs.
-   #
-   # Including multiple versions of a crate is very popular during
-   # ecosystem transitions, e.g. from futures 0.1 to futures 0.3.
-   , crateRenames
-   # A list of extra options to pass to rustc.
-   #
-   # Example: [ "-Z debuginfo=2" ]
-   # Default: []
-   , extraRustcOpts
-   # Whether to enable building tests.
-   # Use true to enable.
-   # Default: false
-   , buildTests
-   # Passed to stdenv.mkDerivation.
-   , preUnpack
-   # Passed to stdenv.mkDerivation.
-   , postUnpack
-   # Passed to stdenv.mkDerivation.
-   , prePatch
-   # Passed to stdenv.mkDerivation.
-   , patches
-   # Passed to stdenv.mkDerivation.
-   , postPatch
-   # Passed to stdenv.mkDerivation.
-   , preConfigure
-   # Passed to stdenv.mkDerivation.
-   , postConfigure
-   # Passed to stdenv.mkDerivation.
-   , preBuild
-   # Passed to stdenv.mkDerivation.
-   , postBuild
-   # Passed to stdenv.mkDerivation.
-   , preInstall
-   # Passed to stdenv.mkDerivation.
-   , postInstall
-   }:
+  /* The overridable pkgs.buildRustCrate function.
+    *
+    * Any unrecognized parameters will be passed as to
+    * the underlying stdenv.mkDerivation.
+  */
+crate_: lib.makeOverridable
+  (
+    # The rust compiler to use.
+    #
+    # Default: pkgs.rustc
+    { rust
+      # Whether to build a release version (`true`) or a debug
+      # version (`false`). Debug versions are faster to build
+      # but might be much slower at runtime.
+    , release
+      # Whether to print rustc invocations etc.
+      #
+      # Example: false
+      # Default: true
+    , verbose
+      # A list of rust/cargo features to enable while building the crate.
+      # Example: [ "std" "async" ]
+    , features
+      # Additional native build inputs for building this crate.
+    , nativeBuildInputs
+      # Additional build inputs for building this crate.
+      #
+      # Example: [ pkgs.openssl ]
+    , buildInputs
+      # Allows to override the parameters to buildRustCrate
+      # for any rust dependency in the transitive build tree.
+      #
+      # Default: pkgs.defaultCrateOverrides
+      #
+      # Example:
+      #
+      # pkgs.defaultCrateOverrides // {
+      #   hello = attrs: { buildInputs = [ openssl ]; };
+      # }
+    , crateOverrides
+      # Rust library dependencies, i.e. other libaries that were built
+      # with buildRustCrate.
+    , dependencies
+      # Rust build dependencies, i.e. other libaries that were built
+      # with buildRustCrate and are used by a build script.
+    , buildDependencies
+      # Specify the "extern" name of a library if it differs from the library target.
+      # See above for an extended explanation.
+      #
+      # Default: no renames.
+      #
+      # Example:
+      #
+      # `crateRenames` supports two formats.
+      #
+      # The simple version is an attrset that maps the
+      # `crateName`s of the dependencies to their alternative
+      # names.
+      #
+      # ```nix
+      # {
+      #   my_crate_name = "my_alternative_name";
+      #   # ...
+      # }
+      # ```
+      #
+      # The extended version is also keyed by the `crateName`s but allows
+      # different names for different crate versions:
+      #
+      # ```nix
+      # {
+      #   my_crate_name = [
+      #       { version = "1.2.3"; rename = "my_alternative_name01"; }
+      #       { version = "3.2.3"; rename = "my_alternative_name03"; }
+      #   ]
+      #   # ...
+      # }
+      # ```
+      #
+      # This roughly corresponds to the following snippet in Cargo.toml:
+      #
+      # ```toml
+      # [dependencies]
+      # my_alternative_name01 = { package = "my_crate_name", version = "0.1" }
+      # my_alternative_name03 = { package = "my_crate_name", version = "0.3" }
+      # ```
+      #
+      # Dependencies which use the lib target name as extern name, do not need
+      # to be specified in the crateRenames, even if their crate name differs.
+      #
+      # Including multiple versions of a crate is very popular during
+      # ecosystem transitions, e.g. from futures 0.1 to futures 0.3.
+    , crateRenames
+      # A list of extra options to pass to rustc.
+      #
+      # Example: [ "-Z debuginfo=2" ]
+      # Default: []
+    , extraRustcOpts
+      # Whether to enable building tests.
+      # Use true to enable.
+      # Default: false
+    , buildTests
+      # Passed to stdenv.mkDerivation.
+    , preUnpack
+      # Passed to stdenv.mkDerivation.
+    , postUnpack
+      # Passed to stdenv.mkDerivation.
+    , prePatch
+      # Passed to stdenv.mkDerivation.
+    , patches
+      # Passed to stdenv.mkDerivation.
+    , postPatch
+      # Passed to stdenv.mkDerivation.
+    , preConfigure
+      # Passed to stdenv.mkDerivation.
+    , postConfigure
+      # Passed to stdenv.mkDerivation.
+    , preBuild
+      # Passed to stdenv.mkDerivation.
+    , postBuild
+      # Passed to stdenv.mkDerivation.
+    , preInstall
+      # Passed to stdenv.mkDerivation.
+    , postInstall
+    }:
 
-let crate = crate_ // (lib.attrByPath [ crate_.crateName ] (attr: {}) crateOverrides crate_);
-    dependencies_ = dependencies;
-    buildDependencies_ = buildDependencies;
-    processedAttrs = [
-      "src" "nativeBuildInputs" "buildInputs" "crateBin" "crateLib" "libName" "libPath"
-      "buildDependencies" "dependencies" "features" "crateRenames"
-      "crateName" "version" "build" "authors" "colors" "edition"
-      "buildTests"
-    ];
-    extraDerivationAttrs = builtins.removeAttrs crate processedAttrs;
-    nativeBuildInputs_ = nativeBuildInputs;
-    buildInputs_ = buildInputs;
-    extraRustcOpts_ = extraRustcOpts;
-    buildTests_ = buildTests;
+    let
+      crate = crate_ // (lib.attrByPath [ crate_.crateName ] (attr: { }) crateOverrides crate_);
+      dependencies_ = dependencies;
+      buildDependencies_ = buildDependencies;
+      processedAttrs = [
+        "src"
+        "nativeBuildInputs"
+        "buildInputs"
+        "crateBin"
+        "crateLib"
+        "libName"
+        "libPath"
+        "buildDependencies"
+        "dependencies"
+        "features"
+        "crateRenames"
+        "crateName"
+        "version"
+        "build"
+        "authors"
+        "colors"
+        "edition"
+        "buildTests"
+      ];
+      extraDerivationAttrs = builtins.removeAttrs crate processedAttrs;
+      nativeBuildInputs_ = nativeBuildInputs;
+      buildInputs_ = buildInputs;
+      extraRustcOpts_ = extraRustcOpts;
+      buildTests_ = buildTests;
 
-    # crate2nix has a hack for the old bash based build script that did split
-    # entries at `,`. No we have to work around that hack.
-    # https://github.com/kolloch/crate2nix/blame/5b19c1b14e1b0e5522c3e44e300d0b332dc939e7/crate2nix/templates/build.nix.tera#L89
-    crateBin = lib.filter (bin: !(bin ? name && bin.name == ",")) (crate.crateBin or []);
-    hasCrateBin = crate ? crateBin;
-in
-stdenv.mkDerivation (rec {
+      # crate2nix has a hack for the old bash based build script that did split
+      # entries at `,`. No we have to work around that hack.
+      # https://github.com/kolloch/crate2nix/blame/5b19c1b14e1b0e5522c3e44e300d0b332dc939e7/crate2nix/templates/build.nix.tera#L89
+      crateBin = lib.filter (bin: !(bin ? name && bin.name == ",")) (crate.crateBin or [ ]);
+      hasCrateBin = crate ? crateBin;
+    in
+    stdenv.mkDerivation (rec {
 
-    inherit (crate) crateName;
-    inherit
-      preUnpack
-      postUnpack
-      prePatch
-      patches
-      postPatch
-      preConfigure
-      postConfigure
-      preBuild
-      postBuild
-      preInstall
-      postInstall
-      buildTests
-    ;
+      inherit (crate) crateName;
+      inherit
+        preUnpack
+        postUnpack
+        prePatch
+        patches
+        postPatch
+        preConfigure
+        postConfigure
+        preBuild
+        postBuild
+        preInstall
+        postInstall
+        buildTests
+        ;
 
-    src = crate.src or (fetchCrate { inherit (crate) crateName version sha256; });
-    name = "rust_${crate.crateName}-${crate.version}${lib.optionalString buildTests_ "-test"}";
-    version = crate.version;
-    depsBuildBuild = [ pkgsBuildBuild.stdenv.cc ];
-    nativeBuildInputs = [ rust stdenv.cc cargo jq ] ++ (crate.nativeBuildInputs or []) ++ nativeBuildInputs_;
-    buildInputs = (crate.buildInputs or []) ++ buildInputs_;
-    dependencies = map lib.getLib dependencies_;
-    buildDependencies = map lib.getLib buildDependencies_;
+      src = crate.src or (fetchCrate { inherit (crate) crateName version sha256; });
+      name = "rust_${crate.crateName}-${crate.version}${lib.optionalString buildTests_ "-test"}";
+      version = crate.version;
+      depsBuildBuild = [ pkgsBuildBuild.stdenv.cc ];
+      nativeBuildInputs = [ rust stdenv.cc cargo jq ] ++ (crate.nativeBuildInputs or [ ]) ++ nativeBuildInputs_;
+      buildInputs = lib.optionals stdenv.isDarwin [ libiconv ] ++ (crate.buildInputs or [ ]) ++ buildInputs_;
+      dependencies = map lib.getLib dependencies_;
+      buildDependencies = map lib.getLib buildDependencies_;
 
-    completeDeps = lib.unique (dependencies ++ lib.concatMap (dep: dep.completeDeps) dependencies);
-    completeBuildDeps = lib.unique (
-      buildDependencies
-      ++ lib.concatMap (dep: dep.completeBuildDeps ++ dep.completeDeps) buildDependencies
-    );
+      completeDeps = lib.unique (dependencies ++ lib.concatMap (dep: dep.completeDeps) dependencies);
+      completeBuildDeps = lib.unique (
+        buildDependencies
+          ++ lib.concatMap (dep: dep.completeBuildDeps ++ dep.completeDeps) buildDependencies
+      );
 
-    # Create a list of features that are enabled by the crate itself and
-    # through the features argument of buildRustCrate. Exclude features
-    # with a forward slash, since they are passed through to dependencies.
-    crateFeatures = lib.optionals (crate ? features)
-      (builtins.filter (f: !lib.hasInfix "/" f) (crate.features ++ features));
+      # Create a list of features that are enabled by the crate itself and
+      # through the features argument of buildRustCrate. Exclude features
+      # with a forward slash, since they are passed through to dependencies.
+      crateFeatures = lib.optionals (crate ? features)
+        (builtins.filter (f: !lib.hasInfix "/" f) (crate.features ++ features));
 
-    libName = if crate ? libName then crate.libName else crate.crateName;
-    libPath = if crate ? libPath then crate.libPath else "";
+      libName = if crate ? libName then crate.libName else crate.crateName;
+      libPath = if crate ? libPath then crate.libPath else "";
 
-    # Seed the symbol hashes with something unique every time.
-    # https://doc.rust-lang.org/1.0.0/rustc/metadata/loader/index.html#frobbing-symbols
-    metadata = let
-      depsMetadata = lib.foldl' (str: dep: str + dep.metadata) "" (dependencies ++ buildDependencies);
-      hashedMetadata = builtins.hashString "sha256"
-        (crateName + "-" + crateVersion + "___" + toString (mkRustcFeatureArgs crateFeatures) +
-          "___" + depsMetadata + "___" + rustAttrs.toRustTarget stdenv.hostPlatform);
-      in lib.substring 0 10 hashedMetadata;
+      # Seed the symbol hashes with something unique every time.
+      # https://doc.rust-lang.org/1.0.0/rustc/metadata/loader/index.html#frobbing-symbols
+      metadata =
+        let
+          depsMetadata = lib.foldl' (str: dep: str + dep.metadata) "" (dependencies ++ buildDependencies);
+          hashedMetadata = builtins.hashString "sha256"
+            (crateName + "-" + crateVersion + "___" + toString (mkRustcFeatureArgs crateFeatures) +
+              "___" + depsMetadata + "___" + rustAttrs.toRustTarget stdenv.hostPlatform);
+        in
+        lib.substring 0 10 hashedMetadata;
 
-    build = crate.build or "";
-    # Either set to a concrete sub path to the crate root
-    # or use `null` for auto-detect.
-    workspace_member = crate.workspace_member or ".";
-    crateVersion = crate.version;
-    crateDescription = crate.description or "";
-    crateAuthors = if crate ? authors && lib.isList crate.authors then crate.authors else [];
-    crateHomepage = crate.homepage or "";
-    crateType =
-      if lib.attrByPath ["procMacro"] false crate then ["proc-macro"] else
-      if lib.attrByPath ["plugin"] false crate then ["dylib"] else
-        (crate.type or ["lib"]);
-    colors = lib.attrByPath [ "colors" ] "always" crate;
-    extraLinkFlags = lib.concatStringsSep " " (crate.extraLinkFlags or []);
-    edition = crate.edition or null;
-    extraRustcOpts =
-      lib.optionals (crate ? extraRustcOpts) crate.extraRustcOpts
-      ++ extraRustcOpts_
-      ++ (lib.optional (edition != null) "--edition ${edition}");
+      build = crate.build or "";
+      # Either set to a concrete sub path to the crate root
+      # or use `null` for auto-detect.
+      workspace_member = crate.workspace_member or ".";
+      crateVersion = crate.version;
+      crateDescription = crate.description or "";
+      crateAuthors = if crate ? authors && lib.isList crate.authors then crate.authors else [ ];
+      crateHomepage = crate.homepage or "";
+      crateType =
+        if lib.attrByPath [ "procMacro" ] false crate then [ "proc-macro" ] else
+        if lib.attrByPath [ "plugin" ] false crate then [ "dylib" ] else
+        (crate.type or [ "lib" ]);
+      colors = lib.attrByPath [ "colors" ] "always" crate;
+      extraLinkFlags = lib.concatStringsSep " " (crate.extraLinkFlags or [ ]);
+      edition = crate.edition or null;
+      extraRustcOpts =
+        lib.optionals (crate ? extraRustcOpts) crate.extraRustcOpts
+          ++ extraRustcOpts_
+          ++ (lib.optional (edition != null) "--edition ${edition}");
 
 
-    configurePhase = configureCrate {
-      inherit crateName buildDependencies completeDeps completeBuildDeps crateDescription
-              crateFeatures crateRenames libName build workspace_member release libPath crateVersion
-              extraLinkFlags extraRustcOpts
-              crateAuthors crateHomepage verbose colors;
-    };
-    buildPhase = buildCrate {
-      inherit crateName dependencies
-              crateFeatures crateRenames libName release libPath crateType
-              metadata hasCrateBin crateBin verbose colors
-              extraRustcOpts buildTests;
-    };
-    installPhase = installCrate crateName metadata buildTests;
+      configurePhase = configureCrate {
+        inherit crateName buildDependencies completeDeps completeBuildDeps crateDescription
+          crateFeatures crateRenames libName build workspace_member release libPath crateVersion
+          extraLinkFlags extraRustcOpts
+          crateAuthors crateHomepage verbose colors;
+      };
+      buildPhase = buildCrate {
+        inherit crateName dependencies
+          crateFeatures crateRenames libName release libPath crateType
+          metadata hasCrateBin crateBin verbose colors
+          extraRustcOpts buildTests;
+      };
+      installPhase = installCrate crateName metadata buildTests;
 
-    # depending on the test setting we are either producing something with bins
-    # and libs or just test binaries
-    outputs = if buildTests then [ "out" ] else [ "out" "lib" ];
-    outputDev = if buildTests then [ "out" ] else  [ "lib" ];
+      # depending on the test setting we are either producing something with bins
+      # and libs or just test binaries
+      outputs = if buildTests then [ "out" ] else [ "out" "lib" ];
+      outputDev = if buildTests then [ "out" ] else [ "lib" ];
 
-} // extraDerivationAttrs
-)) {
+    } // extraDerivationAttrs
+    )
+  )
+{
   rust = rustc;
   release = crate_.release or true;
   verbose = crate_.verbose or true;
-  extraRustcOpts = [];
-  features = [];
-  nativeBuildInputs = [];
-  buildInputs = [];
+  extraRustcOpts = [ ];
+  features = [ ];
+  nativeBuildInputs = [ ];
+  buildInputs = [ ];
   crateOverrides = defaultCrateOverrides;
   preUnpack = crate_.preUnpack or "";
   postUnpack = crate_.postUnpack or "";
   prePatch = crate_.prePatch or "";
-  patches = crate_.patches or [];
+  patches = crate_.patches or [ ];
   postPatch = crate_.postPatch or "";
   preConfigure = crate_.preConfigure or "";
   postConfigure = crate_.postConfigure or "";
@@ -318,8 +352,8 @@ stdenv.mkDerivation (rec {
   postBuild = crate_.postBuild or "";
   preInstall = crate_.preInstall or "";
   postInstall = crate_.postInstall or "";
-  dependencies = crate_.dependencies or [];
-  buildDependencies = crate_.buildDependencies or [];
-  crateRenames = crate_.crateRenames or {};
+  dependencies = crate_.dependencies or [ ];
+  buildDependencies = crate_.buildDependencies or [ ];
+  crateRenames = crate_.crateRenames or { };
   buildTests = crate_.buildTests or false;
 }
diff --git a/nixpkgs/pkgs/build-support/rust/default-crate-overrides.nix b/nixpkgs/pkgs/build-support/rust/default-crate-overrides.nix
index 61cec2a6abab..e14cbcc1183d 100644
--- a/nixpkgs/pkgs/build-support/rust/default-crate-overrides.nix
+++ b/nixpkgs/pkgs/build-support/rust/default-crate-overrides.nix
@@ -1,7 +1,29 @@
-{ lib, stdenv, pkg-config, curl, darwin, libiconv, libgit2, libssh2,
-  openssl, sqlite, zlib, dbus, dbus-glib, gdk-pixbuf, cairo, python3,
-  libsodium, postgresql, gmp, foundationdb, capnproto, nettle, clang,
-  llvmPackages, ... }:
+{ lib
+, stdenv
+, pkg-config
+, curl
+, darwin
+, libgit2
+, libssh2
+, openssl
+, sqlite
+, zlib
+, dbus
+, dbus-glib
+, gdk-pixbuf
+, cairo
+, python3
+, libsodium
+, postgresql
+, gmp
+, foundationdb
+, capnproto
+, nettle
+, clang
+, llvmPackages
+, linux-pam
+, ...
+}:
 
 let
   inherit (darwin.apple_sdk.frameworks) CoreFoundation Security;
@@ -17,20 +39,20 @@ in
 
   cargo = attrs: {
     buildInputs = [ openssl zlib curl ]
-      ++ lib.optionals stdenv.isDarwin [ CoreFoundation Security libiconv ];
+      ++ lib.optionals stdenv.isDarwin [ CoreFoundation Security ];
   };
 
   libz-sys = attrs: {
     nativeBuildInputs = [ pkg-config ];
     buildInputs = [ zlib ];
-    extraLinkFlags = ["-L${zlib.out}/lib"];
+    extraLinkFlags = [ "-L${zlib.out}/lib" ];
   };
 
   curl-sys = attrs: {
     nativeBuildInputs = [ pkg-config ];
     buildInputs = [ zlib curl ];
     propagatedBuildInputs = [ curl zlib ];
-    extraLinkFlags = ["-L${zlib.out}/lib"];
+    extraLinkFlags = [ "-L${zlib.out}/lib" ];
   };
 
   dbus = attrs: {
@@ -104,6 +126,10 @@ in
     buildInputs = [ openssl ];
   };
 
+  pam-sys = attr: {
+    buildInputs = [ linux-pam ];
+  };
+
   pq-sys = attr: {
     nativeBuildInputs = [ pkg-config ];
     buildInputs = [ postgresql ];
@@ -111,7 +137,7 @@ in
 
   rink = attrs: {
     buildInputs = [ gmp ];
-    crateBin = [ {  name = "rink"; path = "src/bin/rink.rs"; } ];
+    crateBin = [{ name = "rink"; path = "src/bin/rink.rs"; }];
   };
 
   security-framework-sys = attr: {
diff --git a/nixpkgs/pkgs/build-support/rust/default.nix b/nixpkgs/pkgs/build-support/rust/default.nix
index a3b280050efe..845437d46757 100644
--- a/nixpkgs/pkgs/build-support/rust/default.nix
+++ b/nixpkgs/pkgs/build-support/rust/default.nix
@@ -8,10 +8,8 @@
 , cargoSetupHook
 , fetchCargoTarball
 , importCargoLock
-, runCommandNoCC
 , rustPlatform
 , callPackage
-, remarshal
 , git
 , rust
 , rustc
diff --git a/nixpkgs/pkgs/build-support/setup-hooks/auto-patchelf.sh b/nixpkgs/pkgs/build-support/setup-hooks/auto-patchelf.sh
index 511371931de8..70b1fc802b56 100644
--- a/nixpkgs/pkgs/build-support/setup-hooks/auto-patchelf.sh
+++ b/nixpkgs/pkgs/build-support/setup-hooks/auto-patchelf.sh
@@ -29,6 +29,7 @@ isExecutable() {
     isExeResult="$(LANG=C $READELF -h -l "$1" 2> /dev/null \
         | grep '^ *Type: *EXEC\>\|^ *INTERP\>')"
     # not using grep -q, because it can cause Broken pipe
+    # https://unix.stackexchange.com/questions/305547/broken-pipe-when-grepping-output-but-only-with-i-flag
     [ -n "$isExeResult" ]
 }
 
diff --git a/nixpkgs/pkgs/build-support/skaware/build-skaware-man-pages.nix b/nixpkgs/pkgs/build-support/skaware/build-skaware-man-pages.nix
new file mode 100644
index 000000000000..a1f3977c0d56
--- /dev/null
+++ b/nixpkgs/pkgs/build-support/skaware/build-skaware-man-pages.nix
@@ -0,0 +1,51 @@
+{ lib, stdenv, fetchFromGitHub }:
+
+{
+  # : string
+  pname
+  # : string
+, version
+  # : string
+, sha256
+  # : list (int | string)
+, sections
+  # : string
+, description
+  # : list Maintainer
+, maintainers
+  # : license
+, license ? lib.licenses.isc
+  # : string
+, owner ? "flexibeast"
+  # : string
+, rev ? "v${version}"
+}:
+
+let
+  manDir = "${placeholder "out"}/share/man";
+
+  src = fetchFromGitHub {
+    inherit owner rev sha256;
+    repo = pname;
+  };
+in
+
+stdenv.mkDerivation {
+  inherit pname version src;
+
+  makeFlags = [
+    "MANPATH=${manDir}"
+  ];
+
+  dontBuild = true;
+
+  preInstall = lib.concatMapStringsSep "\n"
+    (section: "mkdir -p \"${manDir}/man${builtins.toString section}\"")
+    sections;
+
+  meta = with lib; {
+    inherit description license maintainers;
+    inherit (src.meta) homepage;
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/build-support/skaware/build-skaware-package.nix b/nixpkgs/pkgs/build-support/skaware/build-skaware-package.nix
index b27b65f48a59..d6f26fe908aa 100644
--- a/nixpkgs/pkgs/build-support/skaware/build-skaware-package.nix
+++ b/nixpkgs/pkgs/build-support/skaware/build-skaware-package.nix
@@ -15,6 +15,8 @@
   # TODO(Profpatsch): automatically infer most of these
   # : list string
 , configureFlags
+  # : string
+, postConfigure ? null
   # mostly for moving and deleting files from the build directory
   # : lines
 , postInstall
@@ -79,6 +81,8 @@ in stdenv.mkDerivation {
     ++ (lib.optional stdenv.isDarwin
          "--build=${stdenv.hostPlatform.system}");
 
+  inherit postConfigure;
+
   # TODO(Profpatsch): ensure that there is always a $doc output!
   postInstall = ''
     echo "Cleaning & moving common files"
diff --git a/nixpkgs/pkgs/build-support/templaterpm/default.nix b/nixpkgs/pkgs/build-support/templaterpm/default.nix
index efe70efe6c44..c98716a3fedb 100644
--- a/nixpkgs/pkgs/build-support/templaterpm/default.nix
+++ b/nixpkgs/pkgs/build-support/templaterpm/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ python toposort rpm ];
 
-  phases = [ "installPhase" "fixupPhase" ];
+  dontUnpack = true;
 
   installPhase = ''
     mkdir -p $out/bin
diff --git a/nixpkgs/pkgs/build-support/trivial-builders.nix b/nixpkgs/pkgs/build-support/trivial-builders.nix
index 6f51ba512c12..f06d2136b8c6 100644
--- a/nixpkgs/pkgs/build-support/trivial-builders.nix
+++ b/nixpkgs/pkgs/build-support/trivial-builders.nix
@@ -24,16 +24,13 @@ rec {
   * `allowSubstitutes = false;`
   * to a derivation’s attributes.
   */
-  runCommand = runCommandNoCC;
-  runCommandLocal = runCommandNoCCLocal;
-
-  runCommandNoCC = name: env: runCommandWith {
+  runCommand = name: env: runCommandWith {
     stdenv = stdenvNoCC;
     runLocal = false;
     inherit name;
     derivationArgs = env;
   };
-  runCommandNoCCLocal = name: env: runCommandWith {
+  runCommandLocal = name: env: runCommandWith {
     stdenv = stdenvNoCC;
     runLocal = true;
     inherit name;
@@ -616,7 +613,7 @@ rec {
       command ? "${package.meta.mainProgram or package.pname or package.name} --version",
       version ? package.version,
     }: runCommand "test-version" { nativeBuildInputs = [ package ]; meta.timeout = 60; } ''
-      ${command} | grep -Fw ${version}
+      ${command} |& grep -Fw ${version}
       touch $out
     '';
 }
diff --git a/nixpkgs/pkgs/build-support/vm/default.nix b/nixpkgs/pkgs/build-support/vm/default.nix
index cfc19c03cfdd..3a52d756571c 100644
--- a/nixpkgs/pkgs/build-support/vm/default.nix
+++ b/nixpkgs/pkgs/build-support/vm/default.nix
@@ -494,7 +494,9 @@ rec {
      tarball must contain an RPM specfile. */
 
   buildRPM = attrs: runInLinuxImage (stdenv.mkDerivation ({
-    phases = "prepareImagePhase sysInfoPhase buildPhase installPhase";
+    prePhases = [ prepareImagePhase sysInfoPhase ];
+    dontUnpack = true;
+    dontConfigure = true;
 
     outDir = "rpms/${attrs.diskImage.name}";
 
diff --git a/nixpkgs/pkgs/build-support/vm/test.nix b/nixpkgs/pkgs/build-support/vm/test.nix
index 698503032671..1a29554ee80c 100644
--- a/nixpkgs/pkgs/build-support/vm/test.nix
+++ b/nixpkgs/pkgs/build-support/vm/test.nix
@@ -1,4 +1,4 @@
-with import ../../.. {};
+with import ../../.. { };
 with vmTools;
 
 {
@@ -30,7 +30,7 @@ with vmTools;
     src = patchelf.src;
     diskImage = diskImages.ubuntu1204i386;
     memSize = 512;
-    phases = "sysInfoPhase unpackPhase patchPhase configurePhase buildPhase checkPhase installPhase fixupPhase distPhase";
+    prePhases = [ sysInfoPhase ];
     sysInfoPhase = ''
       dpkg-query --list
     '';
diff --git a/nixpkgs/pkgs/build-support/writers/default.nix b/nixpkgs/pkgs/build-support/writers/default.nix
index 47919c251af1..111ec68a6021 100644
--- a/nixpkgs/pkgs/build-support/writers/default.nix
+++ b/nixpkgs/pkgs/build-support/writers/default.nix
@@ -99,51 +99,6 @@ rec {
   writeBashBin = name:
     writeBash "/bin/${name}";
 
-  # writeC writes an executable c package called `name` to `destination` using `libraries`.
-  #
-  #  Examples:
-  #    writeC "hello-world-ncurses" { libraries = [ pkgs.ncurses ]; } ''
-  #      #include <ncurses.h>
-  #      int main() {
-  #        initscr();
-  #        printw("Hello World !!!");
-  #        refresh(); endwin();
-  #        return 0;
-  #      }
-  #    ''
-  writeC = name: {
-    libraries ? [],
-    strip ? true
-  }:
-    makeBinWriter {
-      compileScript = ''
-        PATH=${makeBinPath [
-          pkgs.binutils-unwrapped
-          pkgs.coreutils
-          pkgs.findutils
-          pkgs.gcc
-          pkgs.pkg-config
-        ]}
-        export PKG_CONFIG_PATH=${concatMapStringsSep ":" (pkg: "${pkg}/lib/pkgconfig") libraries}
-        gcc \
-            ${optionalString (libraries != [])
-              "$(pkg-config --cflags --libs ${
-                concatMapStringsSep " " (pkg: "$(find ${escapeShellArg pkg}/lib/pkgconfig -name \\*.pc)") libraries
-              })"
-            } \
-            -O \
-            -o "$out" \
-            -Wall \
-            -x c \
-            "$contentPath"
-      '';
-      inherit strip;
-    } name;
-
-  # writeCBin takes the same arguments as writeC but outputs a directory (like writeScriptBin)
-  writeCBin = name:
-    writeC "/bin/${name}";
-
   # Like writeScript but the first line is a shebang to dash
   #
   # Example:
diff --git a/nixpkgs/pkgs/build-support/writers/test.nix b/nixpkgs/pkgs/build-support/writers/test.nix
index 00cad9a96b53..69bc7dd2c61a 100644
--- a/nixpkgs/pkgs/build-support/writers/test.nix
+++ b/nixpkgs/pkgs/build-support/writers/test.nix
@@ -17,14 +17,6 @@ let
      if [[ "test" == "test" ]]; then echo "success"; fi
     '';
 
-    c = writeCBin "test-writers-c" { libraries = [ ]; } ''
-      #include <stdio.h>
-      int main() {
-        printf("success\n");
-        return 0;
-      }
-    '';
-
     dash = writeDashBin "test-writers-dash-bin" ''
      test '~' = '~' && echo 'success'
     '';
@@ -88,24 +80,6 @@ let
      if [[ "test" == "test" ]]; then echo "success"; fi
     '';
 
-    c = writeC "test-writers-c" { libraries = [ glib.dev ]; } ''
-      #include <gio/gio.h>
-      #include <stdio.h>
-      int main() {
-        GApplication *application = g_application_new ("hello.world", G_APPLICATION_FLAGS_NONE);
-        g_application_register (application, NULL, NULL);
-        GNotification *notification = g_notification_new ("Hello world!");
-        g_notification_set_body (notification, "This is an example notification.");
-        GIcon *icon = g_themed_icon_new ("dialog-information");
-        g_notification_set_icon (notification, icon);
-        g_object_unref (icon);
-        g_object_unref (notification);
-        g_object_unref (application);
-        printf("success\n");
-        return 0;
-      }
-    '';
-
     dash = writeDash "test-writers-dash" ''
      test '~' = '~' && echo 'success'
     '';
diff --git a/nixpkgs/pkgs/data/documentation/execline-man-pages/default.nix b/nixpkgs/pkgs/data/documentation/execline-man-pages/default.nix
new file mode 100644
index 000000000000..9e325b79748a
--- /dev/null
+++ b/nixpkgs/pkgs/data/documentation/execline-man-pages/default.nix
@@ -0,0 +1,10 @@
+{ lib, buildManPages }:
+
+buildManPages {
+  pname = "execline-man-pages";
+  version = "2.8.0.1.1";
+  sha256 = "0xv9v39na1qnd8cm4v7xb8wa4ap3djq20iws0lrqz7vn1w40i8b4";
+  description = "Port of the documentation for the execline suite to mdoc";
+  sections = [ 1 7 ];
+  maintainers = [ lib.maintainers.sternenseemann ];
+}
diff --git a/nixpkgs/pkgs/data/documentation/s6-man-pages/default.nix b/nixpkgs/pkgs/data/documentation/s6-man-pages/default.nix
new file mode 100644
index 000000000000..78e3d1a3b866
--- /dev/null
+++ b/nixpkgs/pkgs/data/documentation/s6-man-pages/default.nix
@@ -0,0 +1,10 @@
+{ lib, buildManPages }:
+
+buildManPages {
+  pname = "s6-man-pages";
+  version = "2.10.0.3.1";
+  sha256 = "0q9b6v7kbyjsh390s4bw80kjdp92kih609vlmnpl1qzyrr6kivsg";
+  description = "Port of the documentation for the s6 supervision suite to mdoc";
+  sections = [ 1 7 ];
+  maintainers = [ lib.maintainers.sternenseemann ];
+}
diff --git a/nixpkgs/pkgs/data/documentation/s6-networking-man-pages/default.nix b/nixpkgs/pkgs/data/documentation/s6-networking-man-pages/default.nix
new file mode 100644
index 000000000000..4177b502b5e5
--- /dev/null
+++ b/nixpkgs/pkgs/data/documentation/s6-networking-man-pages/default.nix
@@ -0,0 +1,10 @@
+{ lib, buildManPages }:
+
+buildManPages {
+  pname = "s6-networking-man-pages";
+  version = "2.4.1.1.1";
+  sha256 = "1qrqzm2r4rxf8hglz8k4laknjqcx1y0z1kjf636z91w1077qg0pn";
+  description = "Port of the documentation for the s6-networking suite to mdoc";
+  sections = [ 1 7 ];
+  maintainers = [ lib.maintainers.sternenseemann ];
+}
diff --git a/nixpkgs/pkgs/data/documentation/stdman/default.nix b/nixpkgs/pkgs/data/documentation/stdman/default.nix
index 9308c538d355..e0f08e6049d4 100644
--- a/nixpkgs/pkgs/data/documentation/stdman/default.nix
+++ b/nixpkgs/pkgs/data/documentation/stdman/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "stdman";
-  version = "2018.03.11";
+  version = "2020.11.17";
 
   src = fetchFromGitHub {
     owner = "jeaye";
     repo = "stdman";
     rev = version;
-    sha256 = "1017vwhcwlwi5sa8h6pkhj048in826wxnhl6qarykmzksvidff3r";
+    sha256 = "sha256-pzAVuXSuUfwI7gQpFqmH/+klSUH3KipZup2TgZs8XsY=";
   };
 
   outputDevdoc = "out";
diff --git a/nixpkgs/pkgs/data/fonts/comfortaa/default.nix b/nixpkgs/pkgs/data/fonts/comfortaa/default.nix
index 525c2920dbe6..39c228d235b3 100644
--- a/nixpkgs/pkgs/data/fonts/comfortaa/default.nix
+++ b/nixpkgs/pkgs/data/fonts/comfortaa/default.nix
@@ -1,17 +1,22 @@
-{ lib, fetchzip }:
+{ lib, fetchFromGitHub }:
 
 let
-  version = "3.001";
-in fetchzip rec {
+  version = "3.101";
+in fetchFromGitHub rec {
   name = "comfortaa-${version}";
 
-  url = "https://orig00.deviantart.net/40a3/f/2017/093/d/4/comfortaa___font_by_aajohan-d1qr019.zip";
+  owner = "googlefonts";
+  repo = "comfortaa";
+  rev = version;
+
   postFetch = ''
-    mkdir -p $out/share/fonts $out/share/doc
-    unzip -j $downloadedFile \*.ttf                        -d $out/share/fonts/truetype
-    unzip -j $downloadedFile \*/FONTLOG.txt \*/donate.html -d $out/share/doc/${name}
+    tar -xf $downloadedFile --strip=1
+    mkdir -p $out/share/fonts/truetype $out/share/doc/comfortaa
+    cp fonts/TTF/*.ttf $out/share/fonts/truetype
+    cp FONTLOG.txt README.md $out/share/doc/comfortaa
   '';
-  sha256 = "0z7xr0cnn6ghwivrm5b5awq9bzhnay3y99qq6dkdgfkfdsaz0n9h";
+
+  sha256 = "06jhdrfzl01ma085bp354g002ypmkbp6a51jn1lsj77zfj2mfmfc";
 
   meta = with lib; {
     homepage = "http://aajohan.deviantart.com/art/Comfortaa-font-105395949";
diff --git a/nixpkgs/pkgs/data/fonts/fira-mono/default.nix b/nixpkgs/pkgs/data/fonts/fira-mono/default.nix
index 2aef2fc4b05f..2cf1e7addbf6 100644
--- a/nixpkgs/pkgs/data/fonts/fira-mono/default.nix
+++ b/nixpkgs/pkgs/data/fonts/fira-mono/default.nix
@@ -1,13 +1,14 @@
 { lib, fetchzip }:
 
-fetchzip {
-  name = "fira-mono-3.206";
+let version = "4.202";
+in fetchzip {
+  name = "fira-mono-${version}";
 
-  url = "https://github.com/mozilla/Fira/archive/4.106.zip";
+  url = "https://github.com/mozilla/Fira/archive/${version}.zip";
 
   postFetch = ''
     mkdir -p $out/share/fonts
-    unzip -j $downloadedFile Fira-4.106/otf/FiraMono\*.otf -d $out/share/fonts/opentype
+    unzip -j $downloadedFile Fira-${version}/otf/FiraMono\*.otf -d $out/share/fonts/opentype
   '';
 
   sha256 = "1ci3fxhdwabvfj4nl16pwcgqnh7s2slp8vblribk8zkpx8cbp1dj";
diff --git a/nixpkgs/pkgs/data/fonts/helvetica-neue-lt-std/default.nix b/nixpkgs/pkgs/data/fonts/helvetica-neue-lt-std/default.nix
index 275b0d8f8711..19092cb06a54 100644
--- a/nixpkgs/pkgs/data/fonts/helvetica-neue-lt-std/default.nix
+++ b/nixpkgs/pkgs/data/fonts/helvetica-neue-lt-std/default.nix
@@ -1,21 +1,21 @@
 { lib, fetchzip }:
 
 let
-  version = "2013.06.07"; # date of most recent file in distribution
+  version = "2014.08.16"; # date of most recent file in distribution
 in fetchzip {
   name = "helvetica-neue-lt-std-${version}";
 
-  url = "http://www.ephifonts.com/downloads/helvetica-neue-lt-std.zip";
+  url = "https://web.archive.org/web/20190823153624/http://ephifonts.com/downloads/helvetica-neue-lt-std.zip";
 
   postFetch = ''
     mkdir -p $out/share/fonts
-    unzip -j $downloadedFile Helvetica\ Neue\ LT\ Std/\*.otf -d $out/share/fonts/opentype
+    unzip -j $downloadedFile "Helvetica Neue LT Std/*.otf" -d $out/share/fonts/opentype
   '';
 
   sha256 = "0ampp9vf9xw0sdppl4lb9i9h75ywljhdcqmzh45mx2x9m7h6xgg9";
 
-  meta = {
-    homepage = "http://www.ephifonts.com/free-helvetica-font-helvetica-neue-lt-std.html";
+  meta = with lib; {
+    homepage = "https://web.archive.org/web/20190926040940/http://www.ephifonts.com/free-helvetica-font-helvetica-neue-lt-std.html";
     description = "Helvetica Neue LT Std font";
     longDescription = ''
       Helvetica Neue Lt Std is one of the most highly rated and complete
@@ -28,8 +28,8 @@ in fetchzip {
       font. The numbers are well spaced and defined with high accuracy. The
       punctuation marks are heavily detailed as well.
     '';
-    license = lib.licenses.unfree;
-    maintainers = [ lib.maintainers.romildo ];
-    platforms = lib.platforms.all;
+    license = licenses.unfree;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ romildo ];
   };
 }
diff --git a/nixpkgs/pkgs/data/fonts/iosevka/bin.nix b/nixpkgs/pkgs/data/fonts/iosevka/bin.nix
index 27577047ecac..cd12033b505f 100644
--- a/nixpkgs/pkgs/data/fonts/iosevka/bin.nix
+++ b/nixpkgs/pkgs/data/fonts/iosevka/bin.nix
@@ -10,7 +10,7 @@ let
     (builtins.attrNames (builtins.removeAttrs variantHashes [ "iosevka" ]));
 in stdenv.mkDerivation rec {
   pname = "${name}-bin";
-  version = "7.0.4";
+  version = "10.0.0";
 
   src = fetchurl {
     url = "https://github.com/be5invis/Iosevka/releases/download/v${version}/ttc-${name}-${version}.zip";
diff --git a/nixpkgs/pkgs/data/fonts/iosevka/variants.nix b/nixpkgs/pkgs/data/fonts/iosevka/variants.nix
index 1f3da2a205d9..ce96f183375d 100644
--- a/nixpkgs/pkgs/data/fonts/iosevka/variants.nix
+++ b/nixpkgs/pkgs/data/fonts/iosevka/variants.nix
@@ -1,27 +1,95 @@
 # This file was autogenerated. DO NOT EDIT!
 {
-  iosevka = "10aa8bsykkfi3aplw4j7smj0brcbni3jxqzjbpsbv5b15wzvkm7y";
-  iosevka-aile = "0pa79n41xha9rdj4vzz8cpmdhf0h4fjyphjl12i9qxh5znjr4yyz";
-  iosevka-curly = "0shk75qdm5acfbxdvv985gnhaz3dys8wpshiis6y2raz8sam48qg";
-  iosevka-curly-slab = "0z297s1bl2rrrmr3a4cds4cx4cw69p2y05jv999bkw9vrd6a5ij9";
-  iosevka-etoile = "05h62ybd6b54b51h6m6dq3phvrw4jfcc6cyp1x44shj4az2ia17w";
-  iosevka-slab = "07rp7rp3rjzzn6vnx3zbfizd924xhl702kcyq9qlif9g285l85nl";
-  iosevka-ss01 = "1rvshgyhcq2cay9dssap9mhinhljn92adrbf8lbkaabf3fcyd19h";
-  iosevka-ss02 = "0bscxfjhm1is7b7amr5jjj5wpxm1yps4cns47r4w26a0ad4lzf6b";
-  iosevka-ss03 = "1l4mzv1w7wkjs4629hrj7svd3wwhjfvby0qsbq2fr71ngz4gdvva";
-  iosevka-ss04 = "0mj5l316bji6mazgkzi5vigbfbgfnif0llmgacg0l5qayzaafqb1";
-  iosevka-ss05 = "1gfc7b05fvf1m5vhlvbzxzim8qfcqf16dg8qmzdv625dk1mg2llf";
-  iosevka-ss06 = "1n3mfn8h9gmf7ymc6f5ky5n70nn0nb2l8grj26hm9047cvbxcjqm";
-  iosevka-ss07 = "0bffazcb6k7qd3c3fxg426mcgjzc5xncv8nsiz71frhi9crplprv";
-  iosevka-ss08 = "1kv6v7n2qbgl185kfh401mjvs2iim6l3cw9zzghhfx6qv7xy0dcd";
-  iosevka-ss09 = "0da9kcsxk4vllnxjlslm394lr3bhdsw4a2mi95szplipbf748jcp";
-  iosevka-ss10 = "0935y7m603n3rfv38gmja7jhjmc6xrcx61psb3sznp7mlmi0dn7x";
-  iosevka-ss11 = "1hh0b8qaas4bxz0sa8zi5sr4rmqrpgxfzaq53fsmxy7pzjkhjz09";
-  iosevka-ss12 = "118ibl1i7981kjvf8g0rqrckh2chnxvyivk5wwmxhkw43x06ffjf";
-  iosevka-ss13 = "1licqy5dy5z4s91yh086i0m362lavaqq6zr13715zaqh7ard7hva";
-  iosevka-ss14 = "0y1f5hva9kpj9l3a56n6vbr8zbydd9c0knvsbpg68lcgmybfc97m";
-  iosevka-ss15 = "11pm6frf74y27ym4kmh98pn2cqlab6msj0cxpah36ckpzkm5zdqq";
-  iosevka-ss16 = "0z77549ydrbdhw96gc1zl3sg4s16cq7l56pwkfk9ificm1rwf1nm";
-  iosevka-ss17 = "0zm34lfgrlcb97a8dx1g056qy6rr7722b1k6hm9dp676mi5va2cw";
-  iosevka-ss18 = "0jmz975gny6fc7vf5cn8a4bl0y8pzdwlvfh0km9x7ijp711pw42p";
+  iosevka = "1730pcbxkcyzfw22hgqsv45sybd79pdsm7vb4l2gm9pfzasypjra";
+  iosevka-aile = "1nm0s8zhmg5v181rik4d4nsygxrvfr9wdjwqz6gfl2dmg17r7cyi";
+  iosevka-curly = "0kmvj1zhf0xs02rdf2x1f3lnahj36dpc91p6k4mbji5mn9klb547";
+  iosevka-curly-slab = "0zklkypyh303gi5gqpdkwmj3g9m1f1xqda3ah232c3d6cfznbyqc";
+  iosevka-etoile = "1nj0p25pbjkzc1lg8fp45zxj6r3q4k5yc882rra3jkjmlw2h65b7";
+  iosevka-slab = "1vz9443swmxb27iqmimjyg3zs6q0pw7fpwiiaa7k1s7gc5xkyb5s";
+  iosevka-ss01 = "1g2xxl9x5apyhhm7lsbmplh19c5aln3jwryzqvrqxpnsngkqmp0h";
+  iosevka-ss02 = "1d2b8syvdx8i1dqw9k87yirkyg3wdvr7y2hy5c3nzj62sg7drfla";
+  iosevka-ss03 = "0b4y1v6kri4d56h6m58qqmc50bh4r4151h72n1a2q0a0nwkgvlwm";
+  iosevka-ss04 = "0fj7rj9xy9sfrzdhjqzv37v34lmkajz4d497i7lvdc2i0w4ia4gf";
+  iosevka-ss05 = "0xncnrf8d78iqf3731z0midw4rlza8hdji0m3gvxnigbq3cqxhwd";
+  iosevka-ss06 = "15vclj2m5brp1fnw82w5b53cwlwzzsr5hzxm6j2bj9bghc75cigm";
+  iosevka-ss07 = "1hs7c5n5pcgmspwrhdxv69dc0wdycfcdfs1mxwbamnal77c9q0s8";
+  iosevka-ss08 = "00fz1yb0g1rlzw3pxfpi88vh03k1q9nkzi8h6naqv0hngcbsz1ia";
+  iosevka-ss09 = "1ig5lqpk86z7mwr45gqvsdxs00g7b0mvx1i8q8hx5x4pyr36y7yh";
+  iosevka-ss10 = "12c50mh3xggz03lqqrkdcmdfvfq3m87x8xb9x0h8lwfslqaa0c0x";
+  iosevka-ss11 = "1qvdsfviif8wyms0bkzm7vx0gf8vx5gic3ghincv4ignx8hmrbm9";
+  iosevka-ss12 = "17qxrpmbrandlibhshycsgjlwspx7gz0x6mzhy1n8ccycrd7qlii";
+  iosevka-ss13 = "07nz5wf99j6m72vkrnbhpr4yhn3pdgb898dinzi4n5k0rmky03zb";
+  iosevka-ss14 = "1h9icwqz4qdzm99j17qxmrv1jvm3dzqrcghsffva9yvr32anc5y6";
+  iosevka-ss15 = "06362h12vy48ib338dw7vjxx6vqpfzcc47f54f23pp1b73ygrkxp";
+  iosevka-ss16 = "1sbby53vmjaq8h09a2izf4w5nha5knpgb0ljfyfd1wj1nnkdbisp";
+  iosevka-ss17 = "13l3dindp0x76c3ddx7ibjins65f6xpv8zy7dfjyil8kg2570lfq";
+  iosevka-ss18 = "1z0ypy19cj2hlg8qhvg0a54p0704f8szljf0lrrajprc8ws4cqy0";
+  sgr-iosevka = "0cl08cxidpvrjy2ifhjb4cgrcjsldv86ipx4i8wh2kvs632hkz42";
+  sgr-iosevka-aile = "01a7glrzrifwbfh05jynhmjd78cck4hw8aik3qf8pjr0lmyn8inz";
+  sgr-iosevka-curly = "1wl80fn6zk1dvhqnfwxc74i2f925yf362s45d1bshi3n2qd7ixv4";
+  sgr-iosevka-curly-slab = "18vvhkqhljnpv75v7cbw5z3d4xc418g0pgh39zyy1sdpq01h6ycj";
+  sgr-iosevka-etoile = "0g7brirxpb2s0a94vc00jk8d45wafcimkd1dkilhpc5h862d7y3d";
+  sgr-iosevka-fixed = "17g81448bjms88xph2h8cjfz2z2bhy4dc5ialy583zw9hafk0b6k";
+  sgr-iosevka-fixed-curly = "18kfz4bdp81ylwjikdyj00m58bb5ykaxnxv288d9qr9r0wav14bf";
+  sgr-iosevka-fixed-curly-slab = "1r1223m547ddpjrc0dpzkmkbw4851lvkc2g37yzd97i7g3da0q5g";
+  sgr-iosevka-fixed-slab = "006d1cznz5ikclpz6kli69h5jnsr50yd08za3m6k07npnj4g9i9h";
+  sgr-iosevka-fixed-ss01 = "0dxjmxvhq7dba7f4dcw2z85mgbx4qmy3w1nz99kbn729pjv3xbnr";
+  sgr-iosevka-fixed-ss02 = "1ljq7dxj7dfg8bwmljykbl0lgkw4q9v5h41mflrvxhxkgblghji9";
+  sgr-iosevka-fixed-ss03 = "14q5wi4af1mnm6g895zgpmf1qcnadv0mpiyydcizayqxnc015xr0";
+  sgr-iosevka-fixed-ss04 = "0szy07dlv9ag7jqahlgyi9wgwpas73rg2vw74jg63fx06svwyx7z";
+  sgr-iosevka-fixed-ss05 = "1bm6mqal8jni9za27dmbq9pdqs9j3x58w0cnzx7ma3gyaypfi5jc";
+  sgr-iosevka-fixed-ss06 = "08a6mzrbx7wl4z147kv3289fbaccd7cs0r1gp3dnkkypsy4cw907";
+  sgr-iosevka-fixed-ss07 = "05l0i4mblgx2zqfp5qvpwqp9671mkfj60i4pg0kznwd13j0ya8qs";
+  sgr-iosevka-fixed-ss08 = "15ils79jpa1kibyh3ih5dkjk0qi0ppsy9iibyyl301c4vyhgypzb";
+  sgr-iosevka-fixed-ss09 = "1s2m349m7560zz10r0w0nmgixxzn0ys4j8jwy3c1zxzphdq60a10";
+  sgr-iosevka-fixed-ss10 = "1iby1afylism23cn70x0bb2qi8mdkf0ysgnmagdr47cgh6n8kgmy";
+  sgr-iosevka-fixed-ss11 = "10zn26ijrdj2s0fzc1d1kyi0rpy6qw1bbp6qwf1x1mbhapj0mc8a";
+  sgr-iosevka-fixed-ss12 = "1vdxn5qr1h192c1czxifvr4f2mv1jhkb20m5n3wgawyf75p7blcy";
+  sgr-iosevka-fixed-ss13 = "1fdki2kf6xy2mvxnna1m77xgk5hm88i1g5ds8dzr6gc5mkm5mw8m";
+  sgr-iosevka-fixed-ss14 = "1gaycm1zzm2qnriy76xnyy74rk9ccs54q71br2m55jlr4ifglanv";
+  sgr-iosevka-fixed-ss15 = "07b9ss5a2vk4gndwc6zw8qwa4wgsrfnfq9cbrx9zlzj08143q9dr";
+  sgr-iosevka-fixed-ss16 = "156yh0hbqqklhpf7czblk43nmq3cw0akgiy4z7jq0904b96v68zs";
+  sgr-iosevka-fixed-ss17 = "0wj8j09wvf7m7m1ss47bqf6s0nvrn3vlzdhgnmzwc2jc4rkrvjpa";
+  sgr-iosevka-fixed-ss18 = "0zsy2ql3r0419h6ganfdfhmwzn7lprypw26bq7iqzvld03vss45c";
+  sgr-iosevka-slab = "10al24w3lglgdz9v86yx6q58mx4qyrxr8kffl0qvjiqvdcyyp460";
+  sgr-iosevka-ss01 = "0ipwpjwg14wijzx0qb0zni8rzvw6wwfbwzqv8pzf2dmm6iwnmnqc";
+  sgr-iosevka-ss02 = "0nfbw5smfarglma3cddzw397rjh72qjxqhz3g28l0sj26gk2bwma";
+  sgr-iosevka-ss03 = "0cdvb5igir3c216niq3i0hbjvff1y9bnzf6fwny17303vjvfqg41";
+  sgr-iosevka-ss04 = "0sj62id2ljwsms8xv17j474pdr881r6z8kb7a26gv48p08r225fq";
+  sgr-iosevka-ss05 = "13pxfc2s2vxxkqp4jvzam6bx7ywn350phs5xhlzmcdk4sjgml9i2";
+  sgr-iosevka-ss06 = "0xscng0a90vlr621pnl3hxpn2la862rgcx7xy8d1i6k47wpp1zbj";
+  sgr-iosevka-ss07 = "0yj11jc8fzw9l2316y90mdj7hsqd46y5i1rckxlvih5nv300x1cp";
+  sgr-iosevka-ss08 = "15jn1xjafawd5b4y2z4fkbaf22fgbvc861m3sjx4hib5vqjn41p3";
+  sgr-iosevka-ss09 = "0kffxk8kr5giisfc10a5h889azgkqs4q9f0gggv8xlml4afdycd0";
+  sgr-iosevka-ss10 = "1ldwpx2ysx0v79qfzhcqcc2cwylwnr6x81fy2yqqnv2319v1xrky";
+  sgr-iosevka-ss11 = "1rd98yvky9wxgxcp4ps9p1k4ll8hnh9g9vgwf1r0bjlykhv7dhmf";
+  sgr-iosevka-ss12 = "0439fg1pvxnv96v77rzrn0sbzna962ixgn8bx4ykpx0wkrigmyrk";
+  sgr-iosevka-ss13 = "0qzbf4milkijhmxfkv3al2w5s2aa0a0aqqqxbv2wgza7g3i2glgv";
+  sgr-iosevka-ss14 = "0vk8s71lyrdgngdbaasimdg0a5ygckciy7wxkkbixvxh18vi3mfr";
+  sgr-iosevka-ss15 = "0c5sai8zbciwpkwrfliakf8091n5zcj7bilkbhzljpgfhalxg43v";
+  sgr-iosevka-ss16 = "0a8q3ns3chw6kg77fxc03njlbr4slnq83381lwznhnsziyk7jb6r";
+  sgr-iosevka-ss17 = "0bbfq7fjbr718fnmfy4nl7m9n7sjnra89chig9am7571ws66wbxc";
+  sgr-iosevka-ss18 = "16sj1g5i75hfd07ghsm6zb655mypgwagxzpz5sk22dkrilxwrdix";
+  sgr-iosevka-term = "1ncr05mprm8bar8v9saqsklgm36mymzhzw5x1viz04757s89cqnc";
+  sgr-iosevka-term-curly = "0vwi4ccz0fnd7a3adfxffar5qxfzkx4pz23208kzc5zjidl9s9ka";
+  sgr-iosevka-term-curly-slab = "0dwjcj8d4am5kqw35w68hm3qnxyk9w5k44z2n1mf9gsj411layi8";
+  sgr-iosevka-term-slab = "1i7gp1lirdzzcmcv5lcrdf2mb2l9v3kjx1yhhdydfpapq85q5wma";
+  sgr-iosevka-term-ss01 = "0zjx0r7sznzdw1diy88p6bkdki0ihqilvksil6qccbg4fn9f2swm";
+  sgr-iosevka-term-ss02 = "1ma8366h42n5ij2czhkhmfyzmv23hmn165ihjxmwkxhg0c58l4jl";
+  sgr-iosevka-term-ss03 = "0n23fy0ks0pid1m8z5vl9j7g607nl70h7bxfn015lryl7v8yj2dm";
+  sgr-iosevka-term-ss04 = "1a7llxzf4cs9jr7ldnhxdc7r2jviaffq2kvhkj3spqan9bk6ymcx";
+  sgr-iosevka-term-ss05 = "1d3sp99f6gycbmxk6z0raa7gk0is0m7bc7dqb4dy6zikra35kv4x";
+  sgr-iosevka-term-ss06 = "1vjc785rzzrcbdbcp5j2dljk9flv9inmcjswyf7fyacn4ghszap6";
+  sgr-iosevka-term-ss07 = "03pjbr7bp1av2pav1x913j1h18b4nhxvr7k62dg68b019rj1pvfg";
+  sgr-iosevka-term-ss08 = "1b9qvkb4zpvwfygvh7i6b6dcwk8jk0y1kg078ma4vlpfag9ay4xb";
+  sgr-iosevka-term-ss09 = "0zcg1b1j7113qp5q81s5dx34n1h3lmrshrx8xkvy6kn1n48b17b8";
+  sgr-iosevka-term-ss10 = "1nrciywy8fr8x716w087pyyw0vkyd60j3lmxc7ixsr9yl3ff9bb0";
+  sgr-iosevka-term-ss11 = "1k4xsl9x6195ap2zg0xxrla4svvzxhwas6xf0dbh7k2baiwyknb3";
+  sgr-iosevka-term-ss12 = "16h0i0vj98l0l6hfyjsq4qy8mxkz5p8xpqxnpd56wxm7mnl2b7i9";
+  sgr-iosevka-term-ss13 = "1i907injbdamdyfd1ydzdjsygn0b3syab0ahas7xmd438rfkcfj6";
+  sgr-iosevka-term-ss14 = "1ypx059ws3pdhkn6lsc4cai4qhm8gzm9chmrsiqk2978yaf2z06c";
+  sgr-iosevka-term-ss15 = "1nqbslx44ikj4wd3h1ycqsbk6sk72zz2n49pkn9r3khp9wwz7qwn";
+  sgr-iosevka-term-ss16 = "1lpmph22gqzn3zf9zsr5hzb59573xkiz7yq9pfqg5bxnx248byr9";
+  sgr-iosevka-term-ss17 = "02d3vs46cg4nbak1y64cw5jlhzgxmlxxkhlz3jzf5wzzb9kli4iv";
+  sgr-iosevka-term-ss18 = "1z580s3icbzpivp766cqdc3j8ijgpp5f2yz9a4g4hpz3isa1lpy6";
 }
diff --git a/nixpkgs/pkgs/data/fonts/jetbrains-mono/default.nix b/nixpkgs/pkgs/data/fonts/jetbrains-mono/default.nix
index 0ba7fd835c3c..7bc6e5aad39a 100644
--- a/nixpkgs/pkgs/data/fonts/jetbrains-mono/default.nix
+++ b/nixpkgs/pkgs/data/fonts/jetbrains-mono/default.nix
@@ -1,14 +1,14 @@
 { lib, fetchzip }:
 
 let
-  version = "2.225";
+  version = "2.242";
 in
 fetchzip {
   name = "JetBrainsMono-${version}";
 
   url = "https://github.com/JetBrains/JetBrainsMono/releases/download/v${version}/JetBrainsMono-${version}.zip";
 
-  sha256 = "1k8xmjaingz50626hd73hqbp196kg3zndiy0aqb88z5cw9nd0fva";
+  sha256 = "sha256-flaUqpHmgebUzwPq0d+I3p9yqPmsV0kap04eApOQxdI=";
 
   postFetch = ''
     mkdir -p $out/share/fonts
diff --git a/nixpkgs/pkgs/data/fonts/julia-mono/default.nix b/nixpkgs/pkgs/data/fonts/julia-mono/default.nix
index 014d6bd6f853..88f9683e34f2 100644
--- a/nixpkgs/pkgs/data/fonts/julia-mono/default.nix
+++ b/nixpkgs/pkgs/data/fonts/julia-mono/default.nix
@@ -1,13 +1,13 @@
 { lib, fetchzip }:
 
 let
-  version = "0.040";
+  version = "0.041";
 
 in
 fetchzip {
   name = "JuliaMono-ttf-${version}";
   url = "https://github.com/cormullion/juliamono/releases/download/v${version}/JuliaMono-ttf.tar.gz";
-  sha256 = "sha256-Rrsvs682aWXZqydnOifXTJMa4uPl/aCGbVNRPGxkZng=";
+  sha256 = "sha256-OjguPR2MFjbY72/PF0R43/g6i95uAPVPbXk+HS0B360=";
 
   postFetch = ''
     mkdir -p $out/share/fonts/truetype
diff --git a/nixpkgs/pkgs/data/fonts/libertinus/default.nix b/nixpkgs/pkgs/data/fonts/libertinus/default.nix
index 7d95b6a26ff3..8f58cb92baa4 100644
--- a/nixpkgs/pkgs/data/fonts/libertinus/default.nix
+++ b/nixpkgs/pkgs/data/fonts/libertinus/default.nix
@@ -1,29 +1,29 @@
-{ lib, fetchFromGitHub }:
+{ lib, fetchurl }:
 
 let
-  version = "6.9";
-in fetchFromGitHub rec {
+  version = "7.040";
+in fetchurl rec {
   name = "libertinus-${version}";
+  url = "https://github.com/alerque/libertinus/releases/download/v${version}/Libertinus-${version}.tar.xz";
+  sha256 = "0z658r88p52dyrcslv0wlccw0sw7m5jz8nbqizv95nf7bfw96iyk";
 
-  owner  = "alif-type";
-  repo   = "libertinus";
-  rev    = "v${version}";
+  downloadToTemp = true;
+  recursiveHash = true;
 
   postFetch = ''
     tar xf $downloadedFile --strip=1
-    install -m444 -Dt $out/share/fonts/opentype *.otf
-    install -m444 -Dt $out/share/doc/${name}    *.txt
+    install -m644 -Dt $out/share/fonts/opentype static/OTF/*.otf
   '';
-  sha256 = "0765a7w0askkhrjmjk638gcm9h6fcm1jpaza8iw9afr3sz1s0xlq";
 
   meta = with lib; {
-    description = "A fork of the Linux Libertine and Linux Biolinum fonts";
+    description = "The Libertinus font family";
     longDescription = ''
-      Libertinus fonts is a fork of the Linux Libertine and Linux Biolinum fonts
-      that started as an OpenType math companion of the Libertine font family,
-      but grown as a full fork to address some of the bugs in the fonts.
+      The Libertinus font project began as a fork of the Linux Libertine and
+      Linux Biolinum fonts. The original impetus was to add an OpenType math
+      companion to the Libertine font families. Over time it grew into to a
+      full-fledged fork addressing many of the bugs in the Libertine fonts.
     '';
-    homepage = "https://github.com/alif-type/libertinus";
+    homepage = "https://github.com/alerque/libertinus";
     license = licenses.ofl;
     maintainers = with maintainers; [ siddharthist ];
     platforms = platforms.all;
diff --git a/nixpkgs/pkgs/data/fonts/noto-fonts/default.nix b/nixpkgs/pkgs/data/fonts/noto-fonts/default.nix
index 31cf42639d07..b970faf9104b 100644
--- a/nixpkgs/pkgs/data/fonts/noto-fonts/default.nix
+++ b/nixpkgs/pkgs/data/fonts/noto-fonts/default.nix
@@ -111,7 +111,7 @@ in
   };
 
   noto-fonts-emoji = let
-    version = "2020-09-16-unicode13_1";
+    version = "2.028";
     emojiPythonEnv =
       python3.withPackages (p: with p; [ fonttools nototools ]);
   in stdenv.mkDerivation {
@@ -122,7 +122,7 @@ in
       owner = "googlefonts";
       repo = "noto-emoji";
       rev = "v${version}";
-      sha256 = "0659336dp0l2nkac153jpcb9yvp0p3dx1crcyxjd14i8cqkfi2hh";
+      sha256 = "0dy7px7wfl6bqkfzz82jm4gvbjp338ddsx0mwfl6m7z48l7ng4v6";
     };
 
     nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/data/fonts/open-sans/default.nix b/nixpkgs/pkgs/data/fonts/open-sans/default.nix
index 0c9cf7b6a35e..0c7f8dce57a3 100644
--- a/nixpkgs/pkgs/data/fonts/open-sans/default.nix
+++ b/nixpkgs/pkgs/data/fonts/open-sans/default.nix
@@ -26,6 +26,6 @@ in fetchFromGitLab {
     homepage = "https://www.opensans.com";
     license = licenses.asl20;
     platforms = platforms.all;
-    maintainers = [ ];
+    maintainers = with maintainers; [ ] ++ teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/data/fonts/overpass/default.nix b/nixpkgs/pkgs/data/fonts/overpass/default.nix
index 1d0cf04d7569..120098fd67f0 100644
--- a/nixpkgs/pkgs/data/fonts/overpass/default.nix
+++ b/nixpkgs/pkgs/data/fonts/overpass/default.nix
@@ -1,18 +1,20 @@
 { lib, fetchzip }:
 
 let
-  version = "3.0.4";
+  version = "3.0.5";
 in fetchzip rec {
   name = "overpass-${version}";
 
-  url = "https://github.com/RedHatBrand/Overpass/archive/${version}.zip";
+  url = "https://github.com/RedHatOfficial/Overpass/releases/download/v${version}/overpass-${version}.zip";
 
   postFetch = ''
-    mkdir -p $out/share/fonts/opentype ; unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype
-    mkdir -p $out/share/doc/${name}    ; unzip -j $downloadedFile \*.md  -d $out/share/doc/${name}
+    mkdir -p $out/share/fonts $out/share/doc
+    unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype
+    unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype
+    unzip -j $downloadedFile \*.md  -d $out/share/doc/${name}
   '';
 
-  sha256 = "13b4yam0nycclccxidzj2fa3nwms5qji7gfkixdnl4ybf0f56b64";
+  sha256 = "1fpyhd6x3i3g0xxjmyfnjsri1kkvci15fv7jp1bnza7k0hz0bnha";
 
   meta = with lib; {
     homepage = "https://overpassfont.org/";
diff --git a/nixpkgs/pkgs/data/fonts/powerline-symbols/default.nix b/nixpkgs/pkgs/data/fonts/powerline-symbols/default.nix
index 69e3bb59df69..f8b9935d6439 100644
--- a/nixpkgs/pkgs/data/fonts/powerline-symbols/default.nix
+++ b/nixpkgs/pkgs/data/fonts/powerline-symbols/default.nix
@@ -1,8 +1,8 @@
-{ lib, runCommandNoCC, powerline }:
+{ lib, runCommand, powerline }:
 
 let
   inherit (powerline) version;
-in runCommandNoCC "powerline-symbols-${version}" {
+in runCommand "powerline-symbols-${version}" {
   meta = {
     inherit (powerline.meta) license;
     priority = (powerline.meta.priority or 0) + 1;
diff --git a/nixpkgs/pkgs/data/fonts/recursive/default.nix b/nixpkgs/pkgs/data/fonts/recursive/default.nix
index 320e0cd72665..caff63da8c7c 100644
--- a/nixpkgs/pkgs/data/fonts/recursive/default.nix
+++ b/nixpkgs/pkgs/data/fonts/recursive/default.nix
@@ -1,7 +1,7 @@
 { lib, fetchzip }:
 
 let
-  version = "1.078";
+  version = "1.079";
 in
 fetchzip {
   name = "recursive-${version}";
@@ -14,7 +14,7 @@ fetchzip {
     unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype
   '';
 
-  sha256 = "0vmdcqz6rlshfk653xpanyxps96p85b1spqahl3yiy29mq4xfdn3";
+  sha256 = "sha256-nRFjfbbZG9wDHGbGfS+wzViKF/ogWs8i/6OG0rkDHDg=";
 
   meta = with lib; {
     homepage = "https://recursive.design/";
diff --git a/nixpkgs/pkgs/data/fonts/rubik/default.nix b/nixpkgs/pkgs/data/fonts/rubik/default.nix
new file mode 100644
index 000000000000..37afebb5cc0b
--- /dev/null
+++ b/nixpkgs/pkgs/data/fonts/rubik/default.nix
@@ -0,0 +1,103 @@
+{ stdenv, lib, fetchurl }:
+let
+  # Latest commit touching the rubik tree
+  commit = "054aa9d546cd6308f8ff7139b332490e0967aebe";
+in
+stdenv.mkDerivation {
+  pname = "rubik";
+  version = "2.200";
+
+  srcs = [
+    (fetchurl {
+      url = "https://raw.githubusercontent.com/googlefonts/rubik/${commit}/fonts/ttf/Rubik-Black.ttf";
+      sha256 = "0h4mxqz0b5as7g964bv98aanaghp4wgs2g5wnf7apxnd2fng14dn";
+    })
+    (fetchurl {
+      url = "https://raw.githubusercontent.com/googlefonts/rubik/${commit}/fonts/ttf/Rubik-BlackItalic.ttf";
+      sha256 = "0x8j3fwavkf1jf7s97ncvs0jk463v1fyajcxqxvv7lpk55sjnbpy";
+    })
+    (fetchurl {
+      url = "https://raw.githubusercontent.com/googlefonts/rubik/${commit}/fonts/ttf/Rubik-Bold.ttf";
+      sha256 = "0prjqdbdpnhwr66gjw9mc1590gmjl7fir8wnanzch6arvngmxaj9";
+    })
+    (fetchurl {
+      url = "https://raw.githubusercontent.com/googlefonts/rubik/${commit}/fonts/ttf/Rubik-BoldItalic.ttf";
+      sha256 = "1zyl55fkjr61k6yfvgi0cr2iz4s0kkv3mkjpdmpla9jnk10rd8lm";
+    })
+    (fetchurl {
+      url = "https://raw.githubusercontent.com/googlefonts/rubik/${commit}/fonts/ttf/Rubik-ExtraBold.ttf";
+      sha256 = "0vi01lc2dadgmw5z26nkfzn7vl3lsd0flhqqfp40nn8jvpdkb2mq";
+    })
+    (fetchurl {
+      url = "https://raw.githubusercontent.com/googlefonts/rubik/${commit}/fonts/ttf/Rubik-ExtraBoldItalic.ttf";
+      sha256 = "0ldcszzzrc44gldflman7kcfk38x77grjb3zjvxjvgn875ggwabk";
+    })
+    (fetchurl {
+      url = "https://raw.githubusercontent.com/googlefonts/rubik/${commit}/fonts/ttf/Rubik-Italic.ttf";
+      sha256 = "09x7fh6ad4w6027410vhkvisgy8vqm2mzdsc19z3szlrxi0gl0rx";
+    })
+    (fetchurl {
+      url = "https://raw.githubusercontent.com/googlefonts/rubik/${commit}/fonts/ttf/Rubik-Light.ttf";
+      sha256 = "19a6k0pprcra6nxk3l0k6wkg9g0qn5h1v71rw2m8im64kyjx4qpf";
+    })
+    (fetchurl {
+      url = "https://raw.githubusercontent.com/googlefonts/rubik/${commit}/fonts/ttf/Rubik-LightItalic.ttf";
+      sha256 = "0r9hbh9xnbp0584vjiiq72583j1ai3dw93gfy823c736y6bk0j2m";
+    })
+    (fetchurl {
+      url = "https://raw.githubusercontent.com/googlefonts/rubik/${commit}/fonts/ttf/Rubik-Medium.ttf";
+      sha256 = "01nky9la4qjd80dy200j8l7zl0r2h9zw90k7aghzlb5abk4i3zvf";
+    })
+    (fetchurl {
+      url = "https://raw.githubusercontent.com/googlefonts/rubik/${commit}/fonts/ttf/Rubik-MediumItalic.ttf";
+      sha256 = "1i81x9h2cr65bj85z5b2mki59532nvlbh92wb84zfhfdz97s30cq";
+    })
+    (fetchurl {
+      url = "https://raw.githubusercontent.com/googlefonts/rubik/${commit}/fonts/ttf/Rubik-Regular.ttf";
+      sha256 = "1vk4n6yc4x1vlwfrp26jhagyl5l86jwa4lalccc320crrwqfc521";
+    })
+    (fetchurl {
+      url = "https://raw.githubusercontent.com/googlefonts/rubik/${commit}/fonts/ttf/Rubik-SemiBold.ttf";
+      sha256 = "0blmy1ywsf9hr1a66cl12bjn32i072w6ncvsir0s5smm2c0gksvb";
+    })
+    (fetchurl {
+      url = "https://raw.githubusercontent.com/googlefonts/rubik/${commit}/fonts/ttf/Rubik-SemiBoldItalic.ttf";
+      sha256 = "1sj22d3jrlxl6ka0naf5nby3k0i7pzadk5b8xgdhcslwijwiib3y";
+    })
+  ];
+
+  sourceRoot = "./";
+
+  unpackCmd = ''
+    ttfName=$(basename $(stripHash $curSrc))
+    cp $curSrc ./$ttfName
+  '';
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/truetype
+    cp -a *.ttf $out/share/fonts/truetype/
+  '';
+
+  meta = with lib; {
+    homepage = "https://fonts.google.com/specimen/Rubik";
+    description = "Rubik Font - is a 5 weight Roman + Italic family.";
+    longDescription = ''
+      The Rubik Fonts project was initiated as part of the Chrome CubeLab
+      project.
+
+      Rubik is a 5 weight Roman + Italic family.
+
+      Rubik supports the Latin, Cyrillic and Hebrew scripts. The Latin and Cyrillic
+      were designed by Philipp Hubert and Sebastian Fischer at Hubert Fischer.
+
+      The Hebrew was initially designed by Philipp and Sebastian, and then revised by
+      type designer and Hebrew native reader Meir Sadan to adjust proportions,
+      spacing and other design details.
+
+      Cyrillic was initially designed by Philipp and Sebastian, and then revised and
+      expanded by Cyreal Fonts Team (Alexei Vanyashin and Nikita Kanarev). Exising
+      glyphs were improved, and glyph set was expanded to GF Cyrillic Plus.
+    '';
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/data/fonts/scheherazade/default.nix b/nixpkgs/pkgs/data/fonts/scheherazade/default.nix
index 848daa899ed2..3448226c58d9 100644
--- a/nixpkgs/pkgs/data/fonts/scheherazade/default.nix
+++ b/nixpkgs/pkgs/data/fonts/scheherazade/default.nix
@@ -1,10 +1,10 @@
-{ lib, fetchzip, version ? "3.100" }:
+{ lib, fetchzip, version ? "3.200" }:
 
 let
   new = lib.versionAtLeast version "3.000";
   sha256 = {
     "2.100" = "1g5f5f9gzamkq3kqyf7vbzvl4rdj3wmjf6chdrbxksrm3rnb926z";
-    "3.100" = "0svnc7l3z3vvm27zx6msyx56n2fpv6ywb5lm75bym48slkccypn7";
+    "3.200" = "0qvmpsn6ja3g2hlvq0vb9pjsyk6ibna7s3w3n6q7lnhk0rhjg8bv";
   }."${version}";
 
 in fetchzip rec {
diff --git a/nixpkgs/pkgs/data/fonts/tempora-lgc/default.nix b/nixpkgs/pkgs/data/fonts/tempora-lgc/default.nix
index 6bcceff16d22..ecafc9572bd1 100644
--- a/nixpkgs/pkgs/data/fonts/tempora-lgc/default.nix
+++ b/nixpkgs/pkgs/data/fonts/tempora-lgc/default.nix
@@ -25,7 +25,6 @@ stdenv.mkDerivation {
   name = "tempora-lgc";
   inherit nativeBuildInputs;
   inherit srcs;
-  phases = "installPhase";
   installPhase = ''
     mkdir -p "$out/share/fonts/opentype/public"
     cp ${toString srcs} "$out/share/fonts/opentype/public"
diff --git a/nixpkgs/pkgs/data/fonts/terminus-font-ttf/default.nix b/nixpkgs/pkgs/data/fonts/terminus-font-ttf/default.nix
index 1a65798891f5..1ebf987fcd56 100644
--- a/nixpkgs/pkgs/data/fonts/terminus-font-ttf/default.nix
+++ b/nixpkgs/pkgs/data/fonts/terminus-font-ttf/default.nix
@@ -5,7 +5,7 @@ let
 in fetchzip {
   name = "terminus-font-ttf-${version}";
 
-  url = "http://files.ax86.net/terminus-ttf/files/${version}/terminus-ttf-${version}.zip";
+  url = "https://files.ax86.net/terminus-ttf/files/${version}/terminus-ttf-${version}.zip";
 
   postFetch = ''
     unzip -j $downloadedFile
@@ -26,7 +26,7 @@ in fetchzip {
       Monospaced bitmap font designed for long work with computers
       (TTF version, mainly for Java applications)
     '';
-    homepage = "http://files.ax86.net/terminus-ttf";
+    homepage = "https://files.ax86.net/terminus-ttf";
     license = licenses.ofl;
     maintainers = with maintainers; [ okasu ];
   };
diff --git a/nixpkgs/pkgs/data/fonts/unifont/default.nix b/nixpkgs/pkgs/data/fonts/unifont/default.nix
index 7fb7387179a9..f7cb84f285ac 100644
--- a/nixpkgs/pkgs/data/fonts/unifont/default.nix
+++ b/nixpkgs/pkgs/data/fonts/unifont/default.nix
@@ -4,16 +4,16 @@
 
 stdenv.mkDerivation rec {
   pname = "unifont";
-  version = "13.0.05";
+  version = "13.0.06";
 
   ttf = fetchurl {
     url = "mirror://gnu/unifont/${pname}-${version}/${pname}-${version}.ttf";
-    sha256 = "0ff7zbyqi45q0171rl9ckj6lpfhcj8a9850d8j89m7wbwky32isf";
+    sha256 = "0hp72lcj8q8cw490lxl5y1ygw9mcicryjwqr1mmkdz8zh4jh8g6p";
   };
 
   pcf = fetchurl {
     url = "mirror://gnu/unifont/${pname}-${version}/${pname}-${version}.pcf.gz";
-    sha256 = "16n666p6rs6l4r8grh67gy4ls33qfnbb5xk7cksywzjwdh42js0r";
+    sha256 = "0y030km1x8mai8zrk661dqsb0yq8rpx6akl7p2sw5ijkcdsfm85f";
   };
 
   nativeBuildInputs = [ libfaketime fonttosfnt mkfontscale ];
@@ -43,10 +43,10 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Unicode font for Base Multilingual Plane";
-    homepage = "http://unifoundry.com/unifont.html";
+    homepage = "https://unifoundry.com/unifont/";
 
     # Basically GPL2+ with font exception.
-    license = "http://unifoundry.com/LICENSE.txt";
+    license = "https://unifoundry.com/LICENSE.txt";
     maintainers = [ maintainers.rycee maintainers.vrthra ];
     platforms = platforms.all;
   };
diff --git a/nixpkgs/pkgs/data/fonts/unifont_upper/default.nix b/nixpkgs/pkgs/data/fonts/unifont_upper/default.nix
index 04480aaeec72..40799fafab79 100644
--- a/nixpkgs/pkgs/data/fonts/unifont_upper/default.nix
+++ b/nixpkgs/pkgs/data/fonts/unifont_upper/default.nix
@@ -1,7 +1,7 @@
 { lib, fetchzip }:
 
 let
-  version = "13.0.05";
+  version = "13.0.06";
 in fetchzip rec {
   name = "unifont_upper-${version}";
 
@@ -9,14 +9,14 @@ in fetchzip rec {
 
   postFetch = "install -Dm644 $downloadedFile $out/share/fonts/truetype/unifont_upper.ttf";
 
-  sha256 = "1cpi44fzsiq3yqg38763awgri1ma46421c3v8167bsxzsx7vzlkp";
+  sha256 = "0bqw30h5b787dw8bn1dj8shz22mlxr1zmcfp68fpyll5vg02540n";
 
   meta = with lib; {
     description = "Unicode font for glyphs above the Unicode Basic Multilingual Plane";
-    homepage = "http://unifoundry.com/unifont.html";
+    homepage = "https://unifoundry.com/unifont/";
 
     # Basically GPL2+ with font exception.
-    license = "http://unifoundry.com/LICENSE.txt";
+    license = "https://unifoundry.com/LICENSE.txt";
     maintainers = [ maintainers.mathnerd314 maintainers.vrthra ];
     platforms = platforms.all;
   };
diff --git a/nixpkgs/pkgs/data/fonts/vista-fonts-cht/default.nix b/nixpkgs/pkgs/data/fonts/vista-fonts-cht/default.nix
new file mode 100644
index 000000000000..264d5a41bf48
--- /dev/null
+++ b/nixpkgs/pkgs/data/fonts/vista-fonts-cht/default.nix
@@ -0,0 +1,41 @@
+{ lib, stdenvNoCC, fetchurl, cabextract }:
+
+stdenvNoCC.mkDerivation {
+  pname = "vista-fonts-cht";
+  version = "1";
+
+  src = fetchurl {
+    url = https://download.microsoft.com/download/7/6/b/76bd7a77-be02-47f3-8472-fa1de7eda62f/VistaFont_CHT.EXE;
+    sha256 = "sha256-fSnbbxlMPzbhFSQyKxQaS5paiWji8njK7tS8Eppsj6g=";
+  };
+
+  nativeBuildInputs = [ cabextract ];
+
+  unpackPhase = ''
+    cabextract --lowercase --filter '*.TTF' $src
+  '';
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/truetype
+    cp *.ttf $out/share/fonts/truetype
+
+    # Set up no-op font configs to override any aliases set up by
+    # other packages.
+    mkdir -p $out/etc/fonts/conf.d
+    substitute ${./no-op.conf} $out/etc/fonts/conf.d/30-msjhenghei.conf \
+      --subst-var-by fontname "Microsoft JhengHei"
+  '';
+
+
+  meta = with lib; {
+    description = "TrueType fonts from Microsoft Windows Vista For Traditional Chinese (Microsoft JhengHei)";
+    homepage = "https://www.microsoft.com/typography/fonts/family.aspx";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ atkinschang ];
+
+    # Set a non-zero priority to allow easy overriding of the
+    # fontconfig configuration files.
+    priority = 5;
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/data/fonts/vista-fonts-cht/no-op.conf b/nixpkgs/pkgs/data/fonts/vista-fonts-cht/no-op.conf
new file mode 100644
index 000000000000..3f8a9b9b5444
--- /dev/null
+++ b/nixpkgs/pkgs/data/fonts/vista-fonts-cht/no-op.conf
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
+<fontconfig>
+  <!-- This configuation is intentionally left empty in order to
+       override any other font package that may wish to set up an
+       alias for the Microsoft @fontname@ font. If you actually do
+       want to have the alias then please change the priority of that
+       package; see the Nix manual page for nix-env for details. -->
+</fontconfig>
diff --git a/nixpkgs/pkgs/data/fonts/weather-icons/default.nix b/nixpkgs/pkgs/data/fonts/weather-icons/default.nix
index cf45152178ec..a979dca44774 100644
--- a/nixpkgs/pkgs/data/fonts/weather-icons/default.nix
+++ b/nixpkgs/pkgs/data/fonts/weather-icons/default.nix
@@ -1,18 +1,18 @@
 { lib, fetchzip }:
 
 let
-  version = "2.0.10";
+  version = "2.0.12";
 in fetchzip {
   name = "weather-icons-${version}";
 
-  url = "https://github.com/erikflowers/weather-icons/archive/${version}.zip";
+  url = "https://github.com/erikflowers/weather-icons/archive/refs/tags/${version}.zip";
+  sha256 = "sha256-NGPzAloeZa1nCazb+mjAbYw7ZYYDoKpLwcvzg1Ly9oM=";
 
   postFetch = ''
     mkdir -p $out/share/fonts
     unzip -j $downloadedFile weather-icons-${version}/_docs/font-source/weathericons-regular.otf -d $out/share/fonts/opentype
   '';
 
-  sha256 = "10zny9987wybq55sm803hrjkp33dq1lgmnxc15kssr8yb81g6qrl";
 
   meta = with lib; {
     description = "Weather Icons";
diff --git a/nixpkgs/pkgs/data/icons/kora-icon-theme/default.nix b/nixpkgs/pkgs/data/icons/kora-icon-theme/default.nix
index 9e50fb0c1369..5c8f3d15b663 100644
--- a/nixpkgs/pkgs/data/icons/kora-icon-theme/default.nix
+++ b/nixpkgs/pkgs/data/icons/kora-icon-theme/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec  {
   pname = "kora-icon-theme";
-  version = "1.4.4";
+  version = "1.4.5";
 
   src = fetchFromGitHub  {
     owner = "bikass";
     repo = "kora";
     rev = "v${version}";
-    sha256 = "sha256-79C/M5WXQswA1xuA6pwVSRlDtQC9+EzkwSEV3SdPzBc=";
+    sha256 = "sha256-5tXXAfGY5JQ5RiKayUuQJDgX6sPHRi8Hy2ht/Hl0hdo=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/data/icons/luna-icons/default.nix b/nixpkgs/pkgs/data/icons/luna-icons/default.nix
index 0a0cba1e98e3..3b5bc262c033 100644
--- a/nixpkgs/pkgs/data/icons/luna-icons/default.nix
+++ b/nixpkgs/pkgs/data/icons/luna-icons/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "luna-icons";
-  version = "1.2";
+  version = "1.3";
 
   src = fetchFromGitHub {
     owner = "darkomarko42";
     repo = pname;
     rev = version;
-    sha256 = "0kjnmclil21m9vgybk958nzzlbwryp286rajlgxg05wgjnby4cxk";
+    sha256 = "0pww8882qvlnamxzvn7jxyi0h7lffrwld7qqs1q08h73xc3p18nv";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/data/icons/papirus-icon-theme/default.nix b/nixpkgs/pkgs/data/icons/papirus-icon-theme/default.nix
index adc2c5fb197c..777e38041de5 100644
--- a/nixpkgs/pkgs/data/icons/papirus-icon-theme/default.nix
+++ b/nixpkgs/pkgs/data/icons/papirus-icon-theme/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "papirus-icon-theme";
-  version = "20210701";
+  version = "20210901";
 
   src = fetchFromGitHub {
     owner = "PapirusDevelopmentTeam";
     repo = pname;
     rev = version;
-    sha256 = "sha256-eqSZBcypwnNX92SGG17MWlnsVzk0jOTdjtEaWMbQsMs=";
+    sha256 = "sha256-SbqEHLXSomUUaLRJA1MJbtF1lTQPiWSUXgapjEzSl00=";
   };
 
   nativeBuildInputs = [ gtk3 ];
diff --git a/nixpkgs/pkgs/data/misc/ddccontrol-db/default.nix b/nixpkgs/pkgs/data/misc/ddccontrol-db/default.nix
index d79fc73d61bf..beccf9dc773d 100644
--- a/nixpkgs/pkgs/data/misc/ddccontrol-db/default.nix
+++ b/nixpkgs/pkgs/data/misc/ddccontrol-db/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ddccontrol-db";
-  version = "20210505";
+  version = "20210804";
 
   src = fetchFromGitHub {
     owner = "ddccontrol";
     repo = "ddccontrol-db";
     rev = version;
-    sha256 = "sha256-k0Bcf1I/g2sFnX3y4qyWG7Z3W7K6YeZ9trUFSJ4NhSo=";
+    sha256 = "sha256-+PTw4bDJhWyuEae5ShkIL/KvQ29+gU46iE2RdtTWb8M=";
   };
 
   preConfigure = ''
diff --git a/nixpkgs/pkgs/data/misc/hackage/pin.json b/nixpkgs/pkgs/data/misc/hackage/pin.json
index c15f3a011a23..26b38582e992 100644
--- a/nixpkgs/pkgs/data/misc/hackage/pin.json
+++ b/nixpkgs/pkgs/data/misc/hackage/pin.json
@@ -1,6 +1,6 @@
 {
-  "commit": "360e4a3b93ab9fc49673c9d91eebd963ddd7e132",
-  "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/360e4a3b93ab9fc49673c9d91eebd963ddd7e132.tar.gz",
-  "sha256": "0pzi0kjlma36s0z5wfcghn6h6lwx61vvq8f7322nz80fs4drpn64",
-  "msg": "Update from Hackage at 2021-07-07T20:16:30Z"
+  "commit": "193a13be44c51ebfc8e991b7bb53a4065129ff4d",
+  "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/193a13be44c51ebfc8e991b7bb53a4065129ff4d.tar.gz",
+  "sha256": "08j6qx3jqcw7ydwnpjr132l2mlpq6dqvwqgm3gq0ym4kjzrbdwsd",
+  "msg": "Update from Hackage at 2021-08-23T13:50:03Z"
 }
diff --git a/nixpkgs/pkgs/data/misc/mailcap/default.nix b/nixpkgs/pkgs/data/misc/mailcap/default.nix
index 56d10e5b350e..3519b01f54ba 100644
--- a/nixpkgs/pkgs/data/misc/mailcap/default.nix
+++ b/nixpkgs/pkgs/data/misc/mailcap/default.nix
@@ -1,13 +1,13 @@
 { lib, fetchzip }:
 
 let
-  version = "2.1.52";
+  version = "2.1.53";
 
 in fetchzip {
   name = "mailcap-${version}";
 
   url = "https://releases.pagure.org/mailcap/mailcap-${version}.tar.xz";
-  sha256 = "sha256-2GRNg3zoMPMaOk2zoAx5sVIzjbQhnYJuaO8nrzWujVc=";
+  sha256 = "sha256-6JPj2tZgoTEZ8hNEi9ZZhElBNm9SRTSXifMmCicwiLo=";
 
   postFetch = ''
     tar -xavf $downloadedFile --strip-components=1
diff --git a/nixpkgs/pkgs/data/misc/spdx-license-list-data/default.nix b/nixpkgs/pkgs/data/misc/spdx-license-list-data/default.nix
index 107d3804e620..939acc96ce5f 100644
--- a/nixpkgs/pkgs/data/misc/spdx-license-list-data/default.nix
+++ b/nixpkgs/pkgs/data/misc/spdx-license-list-data/default.nix
@@ -2,13 +2,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "spdx-license-list-data";
-  version = "3.13";
+  version = "3.14";
 
   src = fetchFromGitHub {
     owner = "spdx";
     repo = "license-list-data";
     rev = "v${version}";
-    sha256 = "184qfz8jifkd4jvqkdfmcgplf12cdx83gynb7mxzmkfg2xymlr0g";
+    sha256 = "07fl31732bvcmm93fqrpa7pfq5ynxc1fpd8n9w2iah39lyz49sjm";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/data/misc/wireless-regdb/default.nix b/nixpkgs/pkgs/data/misc/wireless-regdb/default.nix
index ca57640e4abe..d23733fb0312 100644
--- a/nixpkgs/pkgs/data/misc/wireless-regdb/default.nix
+++ b/nixpkgs/pkgs/data/misc/wireless-regdb/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "wireless-regdb";
-  version = "2021.04.21";
+  version = "2021.07.14";
 
   src = fetchurl {
     url = "https://www.kernel.org/pub/software/network/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-nkwCsqlxDfTb2zJ8OWEujLuuZJWYev7drrqyjB6j2Po=";
+    sha256 = "sha256-Li3SFqXxoxC4SXdK9j5jCdlMIgfDR3GlNMR64YsWJ0I=";
   };
 
   dontBuild = true;
diff --git a/nixpkgs/pkgs/data/misc/xorg-rgb/default.nix b/nixpkgs/pkgs/data/misc/xorg-rgb/default.nix
index 056c56b4118e..205fcabc7131 100644
--- a/nixpkgs/pkgs/data/misc/xorg-rgb/default.nix
+++ b/nixpkgs/pkgs/data/misc/xorg-rgb/default.nix
@@ -1,20 +1,22 @@
-{lib, stdenv, fetchurl, pkg-config, xorgproto}:
+{ lib, stdenv, fetchurl, pkg-config, xorgproto }:
+
 stdenv.mkDerivation rec {
   pname = "rgb";
   version = "1.0.6";
 
   src = fetchurl {
-    url = "http://xorg.freedesktop.org/archive/individual/app/rgb-${version}.tar.bz2";
+    url = "https://xorg.freedesktop.org/archive/individual/app/rgb-${version}.tar.bz2";
     sha256 = "1c76zcjs39ljil6f6jpx1x17c8fnvwazz7zvl3vbjfcrlmm7rjmv";
   };
 
-  nativeBuildInputs = [pkg-config];
-  buildInputs = [xorgproto];
-  meta = {
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ xorgproto ];
+
+  meta = with lib; {
     description = "X11 colorname to RGB mapping database";
-    license = lib.licenses.mit;
-    maintainers = [lib.maintainers.raskin];
-    platforms = lib.platforms.linux;
-    homepage = "http://xorg.freedesktop.org/";
+    license = licenses.mit;
+    maintainers = [ maintainers.raskin ];
+    platforms = platforms.linux;
+    homepage = "https://xorg.freedesktop.org/";
   };
 }
diff --git a/nixpkgs/pkgs/data/themes/adwaita-qt/default.nix b/nixpkgs/pkgs/data/themes/adwaita-qt/default.nix
index fa69afe50c5e..3e72d8a74b8a 100644
--- a/nixpkgs/pkgs/data/themes/adwaita-qt/default.nix
+++ b/nixpkgs/pkgs/data/themes/adwaita-qt/default.nix
@@ -12,13 +12,13 @@
 
 mkDerivation rec {
   pname = "adwaita-qt";
-  version = "1.3.1";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "FedoraQt";
     repo = pname;
     rev = version;
-    sha256 = "sha256-3uHa7veLzaSIm9WSR/Z0X+aSdXziO1TnI/CQgccrKYg=";
+    sha256 = "sha256-KkqLUhS0JMwJsgu8fv5iGozH3Xv+cXumxx5IewZTTPc=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/data/themes/flat-remix-gnome/default.nix b/nixpkgs/pkgs/data/themes/flat-remix-gnome/default.nix
index f9eed54534cd..28bfb12f4c59 100644
--- a/nixpkgs/pkgs/data/themes/flat-remix-gnome/default.nix
+++ b/nixpkgs/pkgs/data/themes/flat-remix-gnome/default.nix
@@ -6,20 +6,20 @@
 
 stdenv.mkDerivation rec {
   pname = "flat-remix-gnome";
-  version = "20210715";
+  version = "20210716";
 
   src = fetchFromGitHub {
     owner = "daniruiz";
     repo = pname;
     rev = version;
-    hash = "sha256-e7sXzmhfBfcp+KqIc9yuqqXLfYzVlQVn9TNYoa2lZcA=";
+    hash = "sha256-UAWi4MyqtuSzp5TEkVLYJF7+2tzH/aT60ObNOimCJ4o=";
   };
 
   nativeBuildInputs = [ glib ];
   makeFlags = [ "PREFIX=$(out)" ];
   preInstall = ''
     # make install will back up this file, it will fail if the file doesn't exist.
-    # https://github.com/daniruiz/flat-remix-gnome/blob/20210623/Makefile#L50
+    # https://github.com/daniruiz/flat-remix-gnome/blob/20210716/Makefile#L53
     mkdir -p $out/share/gnome-shell/
     touch $out/share/gnome-shell/gnome-shell-theme.gresource
   '';
diff --git a/nixpkgs/pkgs/data/themes/marwaita-manjaro/default.nix b/nixpkgs/pkgs/data/themes/marwaita-manjaro/default.nix
index d467526582c5..5cbf4c192085 100644
--- a/nixpkgs/pkgs/data/themes/marwaita-manjaro/default.nix
+++ b/nixpkgs/pkgs/data/themes/marwaita-manjaro/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchFromGitHub
 , gdk-pixbuf
 , gtk-engine-murrine
@@ -8,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "marwaita-manjaro";
-  version = "2.0";
+  version = "10.3";
 
   src = fetchFromGitHub {
     owner = "darkomarko42";
     repo = pname;
     rev = version;
-    sha256 = "1si0gaa1njyf4194i6rbx4qjp31sw238svvb2x8r8cfhm8mkhm8d";
+    sha256 = "0qihxipk7ya6n3p9kg20bk6plnb85pg3ahwd02qq4bqfiw6mx3gw";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/data/themes/marwaita-peppermint/default.nix b/nixpkgs/pkgs/data/themes/marwaita-peppermint/default.nix
index 70e7bdef2d4e..6873cd31f8dd 100644
--- a/nixpkgs/pkgs/data/themes/marwaita-peppermint/default.nix
+++ b/nixpkgs/pkgs/data/themes/marwaita-peppermint/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchFromGitHub
 , gdk-pixbuf
 , gtk-engine-murrine
@@ -8,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "marwaita-peppermint";
-  version = "0.6";
+  version = "10.3";
 
   src = fetchFromGitHub {
     owner = "darkomarko42";
     repo = pname;
     rev = version;
-    sha256 = "0mhkkx2qa66z4b2h5iynhy63flwdf6b2phd21r1j8kp4m08dynms";
+    sha256 = "09lqp82aymj3silpwmjkkf4mgv3b1xw7181ck89lz2nxb98sr9im";
   };
 
   buildInputs = [
@@ -39,7 +40,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Marwaita GTK theme with Peppermint Os Linux style";
     homepage = "https://www.pling.com/p/1399569/";
-    license = licenses.gpl3;
+    license = licenses.gpl3Only;
     platforms = platforms.unix;
     maintainers = [ maintainers.romildo ];
   };
diff --git a/nixpkgs/pkgs/data/themes/marwaita-pop_os/default.nix b/nixpkgs/pkgs/data/themes/marwaita-pop_os/default.nix
index f71997674671..ca35460eff14 100644
--- a/nixpkgs/pkgs/data/themes/marwaita-pop_os/default.nix
+++ b/nixpkgs/pkgs/data/themes/marwaita-pop_os/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchFromGitHub
 , gdk-pixbuf
 , gtk-engine-murrine
@@ -8,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "marwaita-pop_os";
-  version = "1.1";
+  version = "10.3";
 
   src = fetchFromGitHub {
     owner = "darkomarko42";
     repo = pname;
     rev = version;
-    sha256 = "1nwfyy3jnfsdlqgj7ig9gbawazdm76g02b0hrfsll17j5498d59y";
+    sha256 = "1j6d91kx6iw8sy35rhhjvwb3qz60bvf7a7g7q2i0sznzdicrwsq6";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/data/themes/marwaita/default.nix b/nixpkgs/pkgs/data/themes/marwaita/default.nix
index 7d13e7942192..bdb14be0bdd8 100644
--- a/nixpkgs/pkgs/data/themes/marwaita/default.nix
+++ b/nixpkgs/pkgs/data/themes/marwaita/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "marwaita";
-  version = "9.5";
+  version = "10.3";
 
   src = fetchFromGitHub {
     owner = "darkomarko42";
     repo = pname;
     rev = version;
-    sha256 = "0hhiwims4nxq06kakc0hc4rn4hvnlrpbx6ca929vd2qbi6wa2k9h";
+    sha256 = "0v9sxjy4x03y3hcgbkn9lj010kd5csiyc019dwxzvx5kg8xh8qca";
   };
 
   buildInputs = [
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "GTK theme supporting Budgie, Pantheon, Mate, Xfce4 and GNOME desktops";
     homepage = "https://www.pling.com/p/1239855/";
-    license = licenses.cc0;
+    license = licenses.gpl3Only;
     platforms = platforms.unix;
     maintainers = [ maintainers.romildo ];
   };
diff --git a/nixpkgs/pkgs/data/themes/matcha/default.nix b/nixpkgs/pkgs/data/themes/matcha/default.nix
index bb825c8044e2..3d88a78b39f4 100644
--- a/nixpkgs/pkgs/data/themes/matcha/default.nix
+++ b/nixpkgs/pkgs/data/themes/matcha/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "matcha-gtk-theme";
-  version = "2021-07-08";
+  version = "2021-08-23";
 
   src = fetchFromGitHub {
     owner = "vinceliuice";
     repo = pname;
     rev = version;
-    sha256 = "sha256-iTwPN31JvpFlCBWikOeSTda2wBEtg6ygy8o6ovqHPCw=";
+    sha256 = "sha256-gemDiGcr7xLv247w9J1CMOSKg2tWp8ADKpG16qa3hZQ=";
   };
 
   buildInputs = [ gdk-pixbuf librsvg ];
diff --git a/nixpkgs/pkgs/data/themes/mojave/default.nix b/nixpkgs/pkgs/data/themes/mojave/default.nix
index 7959753f05e0..bf2014344a6e 100644
--- a/nixpkgs/pkgs/data/themes/mojave/default.nix
+++ b/nixpkgs/pkgs/data/themes/mojave/default.nix
@@ -1,15 +1,27 @@
-{ lib, stdenv, fetchFromGitHub, fetchurl, glib, gtk-engine-murrine, gtk_engines, inkscape, optipng, sassc, which }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, fetchurl
+, glib
+, gtk-engine-murrine
+, gtk_engines
+, inkscape
+, jdupes
+, optipng
+, sassc
+, which
+}:
 
 stdenv.mkDerivation rec {
   pname = "mojave-gtk-theme";
-  version = "2020-11-29";
+  version = "2021-07-20";
 
   srcs = [
     (fetchFromGitHub {
       owner = "vinceliuice";
       repo = pname;
       rev = version;
-      sha256 = "07lcg28y0scpii29j85343kmcga4wyaayjpx9a118z838mnvb757";
+      sha256 = "08j70kmjhvh06c3ahcracarrfq4vpy0zsp6zkcivbw4nf3bzp2zc";
     })
     (fetchurl {
       url = "https://github.com/vinceliuice/Mojave-gtk-theme/raw/11741a99d96953daf9c27e44c94ae50a7247c0ed/macOS_Mojave_Wallpapers.tar.xz";
@@ -19,40 +31,61 @@ stdenv.mkDerivation rec {
 
   sourceRoot = "source";
 
-  nativeBuildInputs = [ glib inkscape optipng sassc which ];
+  nativeBuildInputs = [
+    glib
+    inkscape
+    jdupes
+    optipng
+    sassc
+    which
+  ];
 
-  buildInputs = [ gtk_engines ];
+  buildInputs = [
+    gtk_engines
+  ];
 
-  propagatedUserEnvPkgs = [ gtk-engine-murrine ];
+  propagatedUserEnvPkgs = [
+    gtk-engine-murrine
+  ];
+
+  # These fixup steps are slow and unnecessary.
+  dontPatchELF = true;
+  dontRewriteSymlinks = true;
 
   postPatch = ''
     patchShebangs .
 
-    for f in render-assets.sh \
-             src/assets/gtk-2.0/render-assets.sh \
-             src/assets/gtk-3.0/common-assets/render-assets.sh \
-             src/assets/gtk-3.0/windows-assets/render-assets.sh \
-             src/assets/metacity-1/render-assets.sh \
-             src/assets/xfwm4/render-assets.sh
+    for f in \
+      render-assets.sh \
+      src/assets/cinnamon/thumbnails/render-thumbnails.sh \
+      src/assets/gtk-2.0/render-assets.sh \
+      src/assets/gtk/common-assets/render-assets.sh \
+      src/assets/gtk/thumbnails/render-thumbnails.sh \
+      src/assets/gtk/windows-assets/render-alt-assets.sh \
+      src/assets/gtk/windows-assets/render-alt-small-assets.sh \
+      src/assets/gtk/windows-assets/render-assets.sh \
+      src/assets/gtk/windows-assets/render-small-assets.sh \
+      src/assets/metacity-1/render-assets.sh \
+      src/assets/xfwm4/render-assets.sh
     do
       substituteInPlace $f \
         --replace /usr/bin/inkscape ${inkscape}/bin/inkscape \
         --replace /usr/bin/optipng ${optipng}/bin/optipng
     done
-
-    # Shut up inkscape's warnings
-    export HOME="$NIX_BUILD_ROOT"
   '';
 
   installPhase = ''
-    name= ./install.sh -d $out/share/themes
+    runHook preInstall
+    name= ./install.sh --theme all --dest $out/share/themes
     install -D -t $out/share/wallpapers ../"macOS Mojave Wallpapers"/*
+    jdupes -l -r $out/share
+    runHook postInstall
   '';
 
   meta = with lib; {
     description = "Mac OSX Mojave like theme for GTK based desktop environments";
     homepage = "https://github.com/vinceliuice/Mojave-gtk-theme";
-    license = licenses.gpl3;
+    license = licenses.gpl3Only;
     platforms = platforms.unix;
     maintainers = [ maintainers.romildo ];
   };
diff --git a/nixpkgs/pkgs/data/themes/nordic/default.nix b/nixpkgs/pkgs/data/themes/nordic/default.nix
index 1014d483440c..3fb2ae45f501 100644
--- a/nixpkgs/pkgs/data/themes/nordic/default.nix
+++ b/nixpkgs/pkgs/data/themes/nordic/default.nix
@@ -2,70 +2,70 @@
 
 stdenv.mkDerivation rec {
   pname = "nordic";
-  version = "unstable-2021-06-04";
+  version = "unstable-2021-08-13";
 
   srcs = [
     (fetchFromGitHub {
       owner = "EliverLara";
       repo = pname;
-      rev = "9a98c05f4d4f6c9e701ac20b0bf5c18284ad0015";
-      sha256 = "0ghgr7fr7anm8hdq6n46xhkjxydqkr0qlk1q7mdg08j43f0yra7b";
+      rev = "937ca200e8148a61c73228030ec260abecc27fb2";
+      sha256 = "0h7z7jh5p0916i9lx4n94r6vbydafnikdi6d9p4djvpyhn5nizgy";
       name = "Nordic";
     })
 
     (fetchFromGitHub {
       owner = "EliverLara";
       repo = pname;
-      rev = "90ce6f539735af1f231c4fa07708cef602e1c8a2";
-      sha256 = "1g6sz7ifpc8jf4iplcsmihqhjdc7yp5xygw8584n122jmh8mak47";
+      rev = "e736846a130be7907e977b16d0b3a0ab19631015";
+      sha256 = "0dv7z31zw1r3iac5bvwapf9lm99y5l0xfzaw93hn8msh10w5crx8";
       name = "Nordic-standard-buttons";
     })
 
     (fetchFromGitHub {
       owner = "EliverLara";
       repo = pname;
-      rev = "529cdb86b4d4474a67a56eb9377e3c7907b452db";
-      sha256 = "06li44i5wh4h06fbhvjf5cjma5czjdgnwvm79d8hg6vmi2101b0a";
+      rev = "8ff12077f28e25f4e57f055a51e5e3b9b1bf53fd";
+      sha256 = "082k0na39qb97kbvc15g3mdfh8d8ricql84i4wdjy3rjfbfwq0pl";
       name = "Nordic-darker";
     })
 
     (fetchFromGitHub {
       owner = "EliverLara";
       repo = pname;
-      rev = "1d16f37de315c298a6c3d79a552ed6f18cbb7fb4";
-      sha256 = "0nxzygnysg4ciib337vay0qcc80hpryjnclwjwjzj51i95366k25";
+      rev = "8c422e4bfdf5680ff323938f49f411680154d3d6";
+      sha256 = "1w540zlmsxpwa455wpxy1dpgv2fjr36xwjqbyc8x4y0ya0qfify0";
       name = "Nordic-darker-standard-buttons";
     })
 
     (fetchFromGitHub {
       owner = "EliverLara";
       repo = pname;
-      rev = "78a30080bc50ee88c23d393049306ef1925bcdb8";
-      sha256 = "10w4815fcf3pd24ar7jp0wcdiwn3zzrdj2p6fqlgx26biz7kf3iv";
+      rev = "ce31d794fe1c6b72d3cff2e9513e08ddce014118";
+      sha256 = "09d41wllr9hgxshgvpgngx9rlg8pvx5aqgkk5q8jra4jz2a92fhq";
       name = "Nordic-bluish-accent";
     })
 
     (fetchFromGitHub {
       owner = "EliverLara";
       repo = pname;
-      rev = "e4363da8d457e8b14f6e4340979225db92d34aa9";
-      sha256 = "1sjw2hvg4jgxqzgqhqixq216a7vv5licbc8ii1rsz88ycafsbr7j";
+      rev = "8ca4fe244c31775effacc77f0a25ae10c6bee60c";
+      sha256 = "1cby8wmaqdqpd9c40wiy7i9wmrazwfhb3h818hg0ni7yfcm2fr58";
       name = "Nordic-bluish-accent-standard-buttons";
     })
 
     (fetchFromGitHub {
       owner = "EliverLara";
       repo = "${pname}-polar";
-      rev = "a38fd7d440309573947d3e53ea3ed295cf027ce7";
-      sha256 = "1r6hz0m0y7c1d0ka1x9cd47r0jvpgkld6x3gf2b7w7yvqpmh6a44";
+      rev = "a2d1c633ac2bfe261e8f612c8af14af0311c7f67";
+      sha256 = "05llvix671i6128vbr3jiik8mipaab7bn0v9i89ydwyfhw822n7v";
       name = "Nordic-Polar";
     })
 
     (fetchFromGitHub {
       owner = "EliverLara";
       repo = "${pname}-polar";
-      rev = "b86d43c48bcac57c49d891b967311fd90f6d4bcd";
-      sha256 = "0c725kf5ql42zrqk6dwk6i7wyrhr3gddipvhy6692nv0dszqm0ml";
+      rev = "62a1702a17e7ea96e9b692832d68a0a7f26aabb6";
+      sha256 = "0r1qn1rj322b44h15hcfbx79hhmb1m4pkv2fpdsn3s2klcxwr1ql";
       name = "Nordic-Polar-standard-buttons";
     })
   ];
diff --git a/nixpkgs/pkgs/data/themes/obsidian2/default.nix b/nixpkgs/pkgs/data/themes/obsidian2/default.nix
index a965af53d421..8d431a0d061c 100644
--- a/nixpkgs/pkgs/data/themes/obsidian2/default.nix
+++ b/nixpkgs/pkgs/data/themes/obsidian2/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "theme-obsidian2";
-  version = "2.18";
+  version = "2.19";
 
   src = fetchurl {
     url = "https://github.com/madmaxms/theme-obsidian-2/releases/download/v${version}/obsidian-2-theme.tar.xz";
-    sha256 = "1w3grlkws4ih7333hys33z4bgm33jbc78bq2pyp8nzw4q9d2hz2r";
+    sha256 = "sha256-GGnrix8utJ34pszuoxcMY5Yr0stwL17Y812FIiRZOUk=";
   };
 
   sourceRoot = ".";
diff --git a/nixpkgs/pkgs/data/themes/orchis-theme/default.nix b/nixpkgs/pkgs/data/themes/orchis-theme/default.nix
index b63e9c06d29c..f019009db9f8 100644
--- a/nixpkgs/pkgs/data/themes/orchis-theme/default.nix
+++ b/nixpkgs/pkgs/data/themes/orchis-theme/default.nix
@@ -10,13 +10,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "orchis-theme";
-  version = "2021-06-09";
+  version = "2021-06-25";
 
   src = fetchFromGitHub {
     repo = "Orchis-theme";
     owner = "vinceliuice";
     rev = version;
-    sha256 = "sha256-YlrocFDk3da2eqxbJ5lPUUxHHvJZx19LOa0MSljWY8Q=";
+    sha256 = "sha256-j0nsw1yR1yOckXiIMtzhC3w6kvfzxQQHgwdY6l0OuXw=";
   };
 
   nativeBuildInputs = [ gtk3 sassc ];
diff --git a/nixpkgs/pkgs/data/themes/plata/default.nix b/nixpkgs/pkgs/data/themes/plata/default.nix
index 69e6f0bb0d2e..0e7d88a7883c 100644
--- a/nixpkgs/pkgs/data/themes/plata/default.nix
+++ b/nixpkgs/pkgs/data/themes/plata/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitLab, autoreconfHook, pkg-config, parallel
-, sassc, inkscape, libxml2, glib, gdk-pixbuf, librsvg, gtk-engine-murrine
+, sassc, inkscape, libxml2, glib, gtk_engines, gtk-engine-murrine
 , cinnamonSupport ? true
 , gnomeFlashbackSupport ? true
 , gnomeShellSupport ? true
@@ -19,17 +19,15 @@
 
 stdenv.mkDerivation rec {
   pname = "plata-theme";
-  version = "0.9.8";
+  version = "0.9.9";
 
   src = fetchFromGitLab {
     owner = "tista500";
     repo = "plata-theme";
     rev = version;
-    sha256 = "1sqmydvx36f6r4snw22s2q4dvcyg30jd7kg7dibpzqn3njfkkfag";
+    sha256 = "1iwvlv9qcrjyfbzab00vjqafmp3vdybz1hi02r6lwbgvwyfyrifk";
   };
 
-  preferLocalBuild = true;
-
   nativeBuildInputs = [
     autoreconfHook
     pkg-config
@@ -37,17 +35,16 @@ stdenv.mkDerivation rec {
     sassc
     inkscape
     libxml2
-    glib.dev
+    glib
   ]
   ++ lib.optionals mateSupport [ gtk3 marco ]
   ++ lib.optional telegramSupport zip;
 
-  buildInputs = [
-    gdk-pixbuf
-    librsvg
-  ];
+  buildInputs = [ gtk_engines ];
 
-  propagatedUserEnvPkgs = [ gtk-engine-murrine ];
+  propagatedUserEnvPkgs = [
+    gtk-engine-murrine
+  ];
 
   postPatch = "patchShebangs .";
 
diff --git a/nixpkgs/pkgs/data/themes/qogir/default.nix b/nixpkgs/pkgs/data/themes/qogir/default.nix
index c4f97ebfbdad..c85b5259f62c 100644
--- a/nixpkgs/pkgs/data/themes/qogir/default.nix
+++ b/nixpkgs/pkgs/data/themes/qogir/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "qogir-theme";
-  version = "2021-06-25";
+  version = "2021-08-02";
 
   src = fetchFromGitHub {
     owner = "vinceliuice";
     repo = pname;
     rev = version;
-    sha256 = "178lk0zffm4nd8fc872rfpm2aii1nszq0k389gkiyxkqphmknn4n";
+    sha256 = "sha256-U048qNBfxjx/5iHIXcqAwXfIwmux+sw4hVQkN3TDLzk=";
   };
 
   buildInputs = [ gdk-pixbuf librsvg ];
diff --git a/nixpkgs/pkgs/data/themes/vimix/default.nix b/nixpkgs/pkgs/data/themes/vimix/default.nix
index 1694063e4fef..d92ff42f48c9 100644
--- a/nixpkgs/pkgs/data/themes/vimix/default.nix
+++ b/nixpkgs/pkgs/data/themes/vimix/default.nix
@@ -1,19 +1,33 @@
-{ lib, stdenv, fetchFromGitHub, gtk_engines, gtk-engine-murrine }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, gnome-shell
+, gtk-engine-murrine
+, gtk_engines
+}:
 
 stdenv.mkDerivation rec {
   pname = "vimix-gtk-themes";
-  version = "2021-04-25";
+  version = "2021-08-17";
 
   src = fetchFromGitHub {
     owner = "vinceliuice";
     repo = pname;
     rev = version;
-    sha256 = "0ak763vs27h5z2pgcqpz1g1hypn5gl0p0ylffawc9zdi1wp2mpxb";
+    sha256 = "1pn737w99j4ij8qkgw0rrzhbcqzni73z5wnkfqgqqbhj38rafbpv";
   };
 
-  buildInputs = [ gtk_engines ];
+  nativeBuildInputs = [
+    gnome-shell  # needed to determine the gnome-shell version
+  ];
 
-  propagatedUserEnvPkgs = [ gtk-engine-murrine ];
+  buildInputs = [
+    gtk_engines
+  ];
+
+  propagatedUserEnvPkgs = [
+    gtk-engine-murrine
+  ];
 
   installPhase = ''
     runHook preInstall
diff --git a/nixpkgs/pkgs/data/themes/whitesur/default.nix b/nixpkgs/pkgs/data/themes/whitesur/default.nix
index e9691eaad7d6..c158cc8a00ce 100644
--- a/nixpkgs/pkgs/data/themes/whitesur/default.nix
+++ b/nixpkgs/pkgs/data/themes/whitesur/default.nix
@@ -2,6 +2,7 @@
 , stdenv
 , fetchFromGitHub
 , glib
+, gnome-shell
 , gnome-themes-extra
 , libxml2
 , sassc
@@ -10,17 +11,18 @@
 
 stdenv.mkDerivation rec {
   pname = "whitesur-gtk-theme";
-  version = "2021-06-23";
+  version = "2021-07-27";
 
   src = fetchFromGitHub {
     owner = "vinceliuice";
     repo = pname;
     rev = version;
-    sha256 = "075fw57mv6zadq4dryn8bg2b3vq8inmisq18s758cv53pprxh9hw";
+    sha256 = "17x4lqlv6whx8vg0c1nm89j7671l033apn4alqyhjb9qx5w2fa43";
   };
 
   nativeBuildInputs = [
     glib
+    gnome-shell
     libxml2
     sassc
     util-linux
@@ -35,6 +37,9 @@ stdenv.mkDerivation rec {
 
     # Do not provide `sudo`, as it is not needed in our use case of the install script
     substituteInPlace lib-core.sh --replace '$(which sudo)' false
+
+    # Provides a dummy home directory
+    substituteInPlace lib-core.sh --replace 'MY_HOME=$(getent passwd "''${MY_USERNAME}" | cut -d: -f6)' 'MY_HOME=/tmp'
   '';
 
   dontBuild = true;
diff --git a/nixpkgs/pkgs/data/themes/yaru/default.nix b/nixpkgs/pkgs/data/themes/yaru/default.nix
index 40cfaee17dfc..05ddd5ad15d9 100644
--- a/nixpkgs/pkgs/data/themes/yaru/default.nix
+++ b/nixpkgs/pkgs/data/themes/yaru/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "yaru";
-  version = "21.04.1";
+  version = "21.10.1";
 
   src = fetchFromGitHub {
     owner = "ubuntu";
     repo = "yaru";
     rev = version;
-    sha256 = "0z6k8q9b5xjx6xwirqbsqq5jjxw79ar2d61r7cgipqmbjdsjfgjz";
+    sha256 = "sha256-VcuH/lEnSeOYGFXr3OPw9PRUwHOVx4RjUQXblv6jdD8=";
   };
 
   nativeBuildInputs = [ meson sassc pkg-config glib ninja python3 ];
diff --git a/nixpkgs/pkgs/desktops/arcan/arcan.nix b/nixpkgs/pkgs/desktops/arcan/arcan.nix
index c6a57ecc3bda..6cd31001fa76 100644
--- a/nixpkgs/pkgs/desktops/arcan/arcan.nix
+++ b/nixpkgs/pkgs/desktops/arcan/arcan.nix
@@ -52,13 +52,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "arcan";
-  version = "0.6.1pre1+unstable=2021-07-10";
+  version = "0.6.1pre1+unstable=2021-07-30";
 
   src = fetchFromGitHub {
     owner = "letoram";
     repo = "arcan";
-    rev = "25da999e6e03688c71c7df3852314c01ed610e0d";
-    hash = "sha256-+ZF6mD/Z0N/5QCjXe80z4L6JOE33+Yv4ZlwKvlG/c44=";
+    rev = "885b2f0c9e031fd157af21302af2027ecbe3fe1f";
+    hash = "sha256-tj5kPa5OWCGt7LTzo4ZYV1UjBpOrjQHER/K+ZfL3h+8=";
   };
 
   postUnpack = ''
diff --git a/nixpkgs/pkgs/desktops/arcan/wrapper.nix b/nixpkgs/pkgs/desktops/arcan/wrapper.nix
index 4368b0ad3a59..e394e2e08976 100644
--- a/nixpkgs/pkgs/desktops/arcan/wrapper.nix
+++ b/nixpkgs/pkgs/desktops/arcan/wrapper.nix
@@ -20,9 +20,10 @@ symlinkJoin rec {
         --set ARCAN_BINPATH "${placeholder "out"}/bin/arcan_frameserver" \
         --set ARCAN_LIBPATH "${placeholder "out"}/lib/" \
         --set ARCAN_RESOURCEPATH "${placeholder "out"}/share/arcan/resources/" \
-        --set ARCAN_SCRIPTPATH "${placeholder "out"}/share/arcan/scripts/" \
-        --set ARCAN_STATEBASEPATH "\$HOME/.arcan/resources/savestates/"
+        --set ARCAN_SCRIPTPATH "${placeholder "out"}/share/arcan/scripts/"
     done
   '';
 }
 # TODO: set ARCAN_FONTPATH to a set of fonts that can be provided in a parameter
+# TODO: set ARCAN_STATEBASEPATH to $HOME/.arcan/resources/savestates/ - possibly
+# via a suitable script
diff --git a/nixpkgs/pkgs/desktops/cinnamon/cinnamon-common/default.nix b/nixpkgs/pkgs/desktops/cinnamon/cinnamon-common/default.nix
index 5fdfc0db1d69..936c4578ea3d 100644
--- a/nixpkgs/pkgs/desktops/cinnamon/cinnamon-common/default.nix
+++ b/nixpkgs/pkgs/desktops/cinnamon/cinnamon-common/default.nix
@@ -66,7 +66,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     # TODO: review if we really need this all
-    (python3.withPackages (pp: with pp; [ dbus-python setproctitle pygobject3 pycairo xapp pillow pytz tinycss2 pam pexpect distro ]))
+    (python3.withPackages (pp: with pp; [ dbus-python setproctitle pygobject3 pycairo xapp pillow pytz tinycss2 python-pam pexpect distro ]))
     atk
     cacert
     cinnamon-control-center
diff --git a/nixpkgs/pkgs/desktops/cinnamon/xapps/default.nix b/nixpkgs/pkgs/desktops/cinnamon/xapps/default.nix
index 7be80048e3c2..011c5c2906f4 100644
--- a/nixpkgs/pkgs/desktops/cinnamon/xapps/default.nix
+++ b/nixpkgs/pkgs/desktops/cinnamon/xapps/default.nix
@@ -21,7 +21,7 @@
 
 stdenv.mkDerivation rec {
   pname = "xapps";
-  version = "2.0.6";
+  version = "2.2.3";
 
   outputs = [ "out" "dev" ];
 
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    sha256 = "11qbz547qlfsvkz4bdxhryrsf10aw5jc2f1glbik7pvmmm87gf4f";
+    sha256 = "sha256-hrSyoHA3XQXQb9N3YJ+NNfBjJNOuUhXhKEimh/n73MM=";
   };
 
   # TODO: https://github.com/NixOS/nixpkgs/issues/36468
diff --git a/nixpkgs/pkgs/desktops/cinnamon/xviewer/default.nix b/nixpkgs/pkgs/desktops/cinnamon/xviewer/default.nix
index 53e88ddb947d..20c36827cb08 100644
--- a/nixpkgs/pkgs/desktops/cinnamon/xviewer/default.nix
+++ b/nixpkgs/pkgs/desktops/cinnamon/xviewer/default.nix
@@ -25,13 +25,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xviewer";
-  version = "2.8.3";
+  version = "3.0.2";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    sha256 = "0h3qgqaiz5swy09fr6z3ag2952hgzsk5d2fpwmwb78yjrzrhnzpy";
+    sha256 = "sha256-hvoTb9afyVdcm5suB1ZxkxUyNFSVRFjYuNVc0jE3RF0=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/enlightenment/enlightenment/default.nix b/nixpkgs/pkgs/desktops/enlightenment/enlightenment/default.nix
index 84cadd209499..76beac1392d8 100644
--- a/nixpkgs/pkgs/desktops/enlightenment/enlightenment/default.nix
+++ b/nixpkgs/pkgs/desktops/enlightenment/enlightenment/default.nix
@@ -13,6 +13,7 @@
 , xkeyboard_config
 , udisks2
 
+, waylandSupport ? false, wayland-protocols, xwayland
 , bluetoothSupport ? true, bluez5
 , pulseSupport ? !stdenv.isDarwin, libpulseaudio
 }:
@@ -45,6 +46,7 @@ stdenv.mkDerivation rec {
   ]
   ++ lib.optional bluetoothSupport bluez5 # for bluetooth configuration and control
   ++ lib.optional pulseSupport libpulseaudio # for proper audio device control and redirection
+  ++ lib.optionals waylandSupport [ wayland-protocols xwayland ]
   ;
 
   patches = [
@@ -62,7 +64,7 @@ stdenv.mkDerivation rec {
 
   mesonFlags = [
     "-D systemdunitdir=lib/systemd/user"
-  ];
+  ] ++ lib.optional waylandSupport "-Dwl=true";
 
   passthru.providedSessions = [ "enlightenment" ];
 
diff --git a/nixpkgs/pkgs/desktops/gnome-2/desktop/mail-notification/default.nix b/nixpkgs/pkgs/desktops/gnome-2/desktop/mail-notification/default.nix
deleted file mode 100644
index 1e0064a8fadf..000000000000
--- a/nixpkgs/pkgs/desktops/gnome-2/desktop/mail-notification/default.nix
+++ /dev/null
@@ -1,54 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, glib, gnome2, dbus-glib, gmime, gnome-icon-theme, libnotify, libgnome-keyring, openssl, cyrus_sasl, sylpheed, gob2, gettext, intltool, libxml2, hicolor-icon-theme, tango-icon-theme }:
-
-stdenv.mkDerivation rec {
-  rev = "9ae8768";
-  version = "5.4";
-  pname = "mail-notification";
-
-  src = fetchFromGitHub {
-    inherit rev;
-    owner = "epienbroek";
-    repo = "mail-notification";
-    sha256 = "1slb7gajn30vdaq0hf5rikwdly1npmg1cf83hpjs82xd98knl13d";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-   buildInputs = [ glib dbus-glib gmime libnotify libgnome-keyring openssl cyrus_sasl sylpheed gob2 gettext intltool gnome2.GConf gnome2.libgnomeui dbus-glib gmime libnotify gnome2.scrollkeeper libxml2 gnome-icon-theme hicolor-icon-theme tango-icon-theme ];
-
-  prePatch = ''
-    sed -i  -e '/jb_rule_set_install_message/d' -e '/jb_rule_add_install_command/d' jbsrc/jb.c
-
-    # currently disable the check for missing sheme until a better solution
-    # is found; needed, because otherwise the application doesn't even start
-    # and fails saying it unable to find gconf scheme values.
-    sed -i -e 's/(schema_missing)/(!schema_missing)/g' src/mn-conf.c
-  '';
-
-  patches = [
-    ./patches/mail-notification-dont-link-against-bsd-compat.patch
-  ];
-
-  patchFlags = [ "-p0" ];
-  NIX_CFLAGS_COMPILE = "-Wno-error";
-
-  preConfigure = "./jb configure prefix=$out";
-
-  postConfigure = ''
-    substituteInPlace build/config \
-      --replace "omf-dir|string|1|${gnome2.scrollkeeper}/share/omf" "omf-dir|string|1|$out/share/omf" \
-      --replace "scrollkeeper-dir|string|1|${gnome2.scrollkeeper}/var/lib/scrollkeeper" "omf-dir|string|1|$out/var/lib/scrollkeeper" \
-  '';
-
-  buildPhase = "./jb build";
-  installPhase = "./jb install";
-
-  enableParallelBuilding = true;
-
-  meta = with lib; {
-    description = "Tray status icon, which notifies us when new email arrives";
-    homepage = "https://www.nongnu.org/mailnotify/";
-    license = with licenses; [ gpl3 ];
-    platforms = platforms.unix;
-    maintainers = [ maintainers.eleanor ];
-  };
-}
diff --git a/nixpkgs/pkgs/desktops/gnome/apps/cheese/default.nix b/nixpkgs/pkgs/desktops/gnome/apps/cheese/default.nix
index d0a9d6aaabb1..71a582993abf 100644
--- a/nixpkgs/pkgs/desktops/gnome/apps/cheese/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/apps/cheese/default.nix
@@ -30,6 +30,7 @@
 , ninja
 , dbus
 , python3
+, pipewire
 }:
 
 stdenv.mkDerivation rec {
@@ -85,6 +86,7 @@ stdenv.mkDerivation rec {
     gtk3
     libcanberra-gtk3
     librsvg
+    pipewire # PipeWire provides a gstreamer plugin for using PipeWire for video
   ];
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/desktops/gnome/apps/gnome-maps/default.nix b/nixpkgs/pkgs/desktops/gnome/apps/gnome-maps/default.nix
index 779f1855371c..5784fb8d481f 100644
--- a/nixpkgs/pkgs/desktops/gnome/apps/gnome-maps/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/apps/gnome-maps/default.nix
@@ -29,11 +29,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-maps";
-  version = "40.3";
+  version = "40.4";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-p58Fz+u1UMUanGKwgDk2PXDdo90RP+cTR6lCW9cYaIk=";
+    sha256 = "sha256-LFt+HmX39OVP6G7d2hE46qbAaRoUlAPZXL4i7cgiUJw=";
   };
 
   doCheck = true;
diff --git a/nixpkgs/pkgs/desktops/gnome/apps/seahorse/default.nix b/nixpkgs/pkgs/desktops/gnome/apps/seahorse/default.nix
index d46aed7bbe94..d09a4c9ff3e6 100644
--- a/nixpkgs/pkgs/desktops/gnome/apps/seahorse/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/apps/seahorse/default.nix
@@ -7,6 +7,7 @@
 , pkg-config
 , gtk3
 , glib
+, glib-networking
 , wrapGAppsHook
 , itstool
 , gnupg
@@ -48,6 +49,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     gtk3
     glib
+    glib-networking
     gcr
     gsettings-desktop-schemas
     gnupg
diff --git a/nixpkgs/pkgs/desktops/gnome/core/baobab/default.nix b/nixpkgs/pkgs/desktops/gnome/core/baobab/default.nix
index 8d0f9459c3b0..40ff8e201543 100644
--- a/nixpkgs/pkgs/desktops/gnome/core/baobab/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/core/baobab/default.nix
@@ -27,23 +27,27 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [
+    desktop-file-utils
+    gettext
+    glib
+    itstool
+    libxml2
     meson
     ninja
     pkg-config
+    python3
     vala
-    gettext
-    itstool
-    libxml2
-    desktop-file-utils
     wrapGAppsHook
-    python3
+    # Prevents “error: Package `libhandy-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
   ];
 
   buildInputs = [
     gtk3
     libhandy
     glib
-    gnome.adwaita-icon-theme
   ];
 
   doCheck = true;
diff --git a/nixpkgs/pkgs/desktops/gnome/core/caribou/default.nix b/nixpkgs/pkgs/desktops/gnome/core/caribou/default.nix
index 5985ff822667..50fb1c3de569 100644
--- a/nixpkgs/pkgs/desktops/gnome/core/caribou/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/core/caribou/default.nix
@@ -1,6 +1,6 @@
 { fetchurl, lib, stdenv, pkg-config, gnome, glib, gtk3, clutter, dbus, python3, libxml2
 , libxklavier, libXtst, gtk2, intltool, libxslt, at-spi2-core, autoreconfHook
-, wrapGAppsHook, libgee }:
+, wrapGAppsHook, libgee, vala_0_40 }:
 
 let
   pname = "caribou";
@@ -21,9 +21,19 @@ in stdenv.mkDerivation rec {
       url = "https://bugzilla.gnome.org/attachment.cgi?id=364774";
       sha256 = "15k1455grf6knlrxqbjnk7sals1730b0whj30451scp46wyvykvd";
     })
+    (fetchurl {
+      name = "fix-build-modern-vala.patch";
+      url = "https://gitlab.gnome.org/GNOME/caribou/-/commit/76fbd11575f918fc898cb0f5defe07f67c11ec38.patch";
+      sha256 = "0qy27zk7889hg51nx40afgppcx9iaihxbg3aqz9w35d6fmhr2k2y";
+    })
+    (fetchurl {
+      name = "CVE-2021-3567.patch";
+      url = "https://gitlab.gnome.org/GNOME/caribou/-/commit/d41c8e44b12222a290eaca16703406b113a630c6.patch";
+      sha256 = "1vd2j3823k2p3msv7fq2437p3jvxzbd7hyh07i80g9754ylh92y8";
+    })
   ];
 
-  nativeBuildInputs = [ pkg-config intltool libxslt libxml2 autoreconfHook wrapGAppsHook ];
+  nativeBuildInputs = [ pkg-config intltool libxslt libxml2 autoreconfHook wrapGAppsHook vala_0_40 ];
 
   buildInputs = [
     glib gtk3 clutter at-spi2-core dbus pythonEnv python3.pkgs.pygobject3
diff --git a/nixpkgs/pkgs/desktops/gnome/core/epiphany/default.nix b/nixpkgs/pkgs/desktops/gnome/core/epiphany/default.nix
index 0b4191b2266c..73c7a7aa1135 100644
--- a/nixpkgs/pkgs/desktops/gnome/core/epiphany/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/core/epiphany/default.nix
@@ -37,11 +37,11 @@
 
 stdenv.mkDerivation rec {
   pname = "epiphany";
-  version = "40.2";
+  version = "40.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "dRGeIgZWV89w7ytgPU9zg1VzvQNPHmGMD2YkeP1saDU=";
+    sha256 = "2tE4ufLVXeJxEo/KOLYfU/2YDFh9KeG6a1CP/zsZ9WQ=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/gnome/core/evolution-data-server/default.nix b/nixpkgs/pkgs/desktops/gnome/core/evolution-data-server/default.nix
index 8781a2aa7fde..156ffbb1c78f 100644
--- a/nixpkgs/pkgs/desktops/gnome/core/evolution-data-server/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/core/evolution-data-server/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "evolution-data-server";
-  version = "3.40.2";
+  version = "3.40.4";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/evolution-data-server/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "7IKVFjnzKlzs6AqLC5qj9mt9MY4+4sHDUjTy4r3opBg=";
+    sha256 = "h8GF8Yw3Jw42EZgfGb2SIayXTIB0Ysjc6QvqCHEsWAA=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/desktops/gnome/core/gdm/default.nix b/nixpkgs/pkgs/desktops/gnome/core/gdm/default.nix
index f30449773495..e3c693836374 100644
--- a/nixpkgs/pkgs/desktops/gnome/core/gdm/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/core/gdm/default.nix
@@ -42,13 +42,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "gdm";
-  version = "40.0";
+  version = "40.1";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gdm/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "XtdLc506Iy/7HkoTK8+WW9/pVdmVtSh3NYh3WwLylQ4=";
+    sha256 = "q7ih6mZISPLJD4SsqkLpTSVgVwNYgamPvUH7xdfRc/0=";
   };
 
   mesonFlags = [
diff --git a/nixpkgs/pkgs/desktops/gnome/core/gnome-shell/default.nix b/nixpkgs/pkgs/desktops/gnome/core/gnome-shell/default.nix
index aa7efdf51c83..6a7cb1742ba6 100644
--- a/nixpkgs/pkgs/desktops/gnome/core/gnome-shell/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/core/gnome-shell/default.nix
@@ -66,13 +66,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "gnome-shell";
-  version = "40.3";
+  version = "40.4";
 
   outputs = [ "out" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-shell/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-erEMbulpmCjdch6/jOHeRk3KqpHUlYI79LhMiTmejCs=";
+    sha256 = "160z8bz2kqmrs6a4cs2gakv0rl9ba69p3ij2xjakqav50n9r3i9b";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/desktops/gnome/core/gnome-software/default.nix b/nixpkgs/pkgs/desktops/gnome/core/gnome-software/default.nix
index c8e637124ae4..6d71c579d7ed 100644
--- a/nixpkgs/pkgs/desktops/gnome/core/gnome-software/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/core/gnome-software/default.nix
@@ -43,11 +43,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "gnome-software";
-  version = "40.3";
+  version = "40.4";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-software/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "y39TbLCfWCyQdVyQl08+g9/5U56it8CWibtOCsP/yF8=";
+    sha256 = "voxhGoAvcXGNzLvUVE7ZaIcxGYRv03t7dqeq1yx5mL8=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/desktops/gnome/core/mutter/default.nix b/nixpkgs/pkgs/desktops/gnome/core/mutter/default.nix
index 4ad082dabfcd..3336cfab730e 100644
--- a/nixpkgs/pkgs/desktops/gnome/core/mutter/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/core/mutter/default.nix
@@ -45,13 +45,13 @@
 
 let self = stdenv.mkDerivation rec {
   pname = "mutter";
-  version = "40.1";
+  version = "40.4";
 
   outputs = [ "out" "dev" "man" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/mutter/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-pl8ycpYRM4KWh9QQcmfk4ZKQ5thueAf62H6rCDHB4MA=";
+    sha256 = "sha256-pxwVnNKshKZ32l+nrMSUg7Jifa13L4gPiJ645FMKHiM=";
   };
 
   patches = [
@@ -134,7 +134,7 @@ let self = stdenv.mkDerivation rec {
   PKG_CONFIG_UDEV_UDEVDIR = "${placeholder "out"}/lib/udev";
 
   passthru = {
-    libdir = "${self}/lib/mutter-7";
+    libdir = "${self}/lib/mutter-8";
 
     tests = {
       libdirExists = runCommand "mutter-libdir-exists" {} ''
diff --git a/nixpkgs/pkgs/desktops/gnome/core/simple-scan/default.nix b/nixpkgs/pkgs/desktops/gnome/core/simple-scan/default.nix
index 91ac4f14b22a..be501c0aef31 100644
--- a/nixpkgs/pkgs/desktops/gnome/core/simple-scan/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/core/simple-scan/default.nix
@@ -25,11 +25,11 @@
 
 stdenv.mkDerivation rec {
   pname = "simple-scan";
-  version = "40.0";
+  version = "40.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-E4EbsqhhnmOkP8Lva3E1ny1cQITG1cizqtYXJLIHUa8=";
+    sha256 = "sha256-6+45qx/kygU8TtK9OjynZ0L/EJQ23QZF00FWIhMroLQ=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/gnome/core/sushi/default.nix b/nixpkgs/pkgs/desktops/gnome/core/sushi/default.nix
index c42b6964bf65..cd93094120db 100644
--- a/nixpkgs/pkgs/desktops/gnome/core/sushi/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/core/sushi/default.nix
@@ -23,11 +23,11 @@
 
 stdenv.mkDerivation rec {
   pname = "sushi";
-  version = "3.38.0";
+  version = "3.38.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/sushi/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0vlqqk916dymv4asbyvalp1m096a5hh99nx23i4xavzvgygh4h2h";
+    sha256 = "8+bRDIFVKNA6Zl+v0VwHGeAXqBOXWzrzIHYZnjeIiOk=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/gnome/core/totem/default.nix b/nixpkgs/pkgs/desktops/gnome/core/totem/default.nix
index 45b99680a120..7d1d4e90abf0 100644
--- a/nixpkgs/pkgs/desktops/gnome/core/totem/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/core/totem/default.nix
@@ -30,11 +30,11 @@
 
 stdenv.mkDerivation rec {
   pname = "totem";
-  version = "3.38.0";
+  version = "3.38.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/totem/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0bs33ijvxbr2prb9yj4dxglsszslsn9k258n311sld84masz4ad8";
+    sha256 = "j/rPfA6inO3qBndzCGHUh2qPesTaTGI0u3X3/TcFoQg=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/gnome/core/yelp/default.nix b/nixpkgs/pkgs/desktops/gnome/core/yelp/default.nix
index f4df80f5611f..746866fc9c20 100644
--- a/nixpkgs/pkgs/desktops/gnome/core/yelp/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/core/yelp/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "yelp";
-  version = "40.0";
+  version = "40.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/yelp/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-B3dfoGzSg2Xs2Cm7FqhaaCiXqyHYzONFlrvvXNRVquA=";
+    sha256 = "sha256-oXOEeFHyYYm+eOy7EAFdU52Mzv/Hwj6GNUkrw62l7iM=";
   };
 
   nativeBuildInputs = [ pkg-config gettext itstool wrapGAppsHook ];
diff --git a/nixpkgs/pkgs/desktops/gnome/extensions/collisions.json b/nixpkgs/pkgs/desktops/gnome/extensions/collisions.json
index 0eab20b4bd95..7e4953abe4a8 100644
--- a/nixpkgs/pkgs/desktops/gnome/extensions/collisions.json
+++ b/nixpkgs/pkgs/desktops/gnome/extensions/collisions.json
@@ -16,6 +16,18 @@
       "Fuzzy_Clock@dallagi",
       "fuzzy-clock@keepawayfromfire.co.uk"
     ],
+    "hide-activities-button": [
+      "Hide_Activities@shay.shayel.org",
+      "hide-activities-button@nmingori.gnome-shell-extensions.org"
+    ],
+    "shutdowntimer": [
+      "ShutdownTimer@neumann",
+      "ShutdownTimer@deminder"
+    ],
+    "noannoyance": [
+      "noannoyance@sindex.com",
+      "noannoyance@daase.net"
+    ],
     "transparent-window": [
       "transparent-window@pbxqdown.github.com",
       "transparentwindows.mdirshad07"
@@ -23,6 +35,10 @@
     "floating-dock": [
       "floatingDock@sun.wxg@gmail.com",
       "floating-dock@nandoferreira_prof@hotmail.com"
+    ],
+    "gnome-trash": [
+      "gnome-trash@gnome-trash.b00f.gitlab.com",
+      "gnome-trash@b00f.github.io"
     ]
   },
   "40": {
@@ -37,6 +53,23 @@
     "lock-keys": [
       "lockkeys@vaina.lt",
       "lockkeys@fawtytoo"
+    ],
+    "hide-activities-button": [
+      "Hide_Activities@shay.shayel.org",
+      "hide-activities-button@nmingori.gnome-shell-extensions.org"
+    ],
+    "shutdowntimer": [
+      "ShutdownTimer@neumann",
+      "shutdown-timer-gnome-shell-extension",
+      "ShutdownTimer@deminder"
+    ],
+    "noannoyance": [
+      "noannoyance@sindex.com",
+      "noannoyance@daase.net"
+    ],
+    "extension-list": [
+      "extension-list@tu.berry",
+      "screen-lock@garciabaameiro.com"
     ]
   }
 }
diff --git a/nixpkgs/pkgs/desktops/gnome/extensions/dash-to-dock/default.nix b/nixpkgs/pkgs/desktops/gnome/extensions/dash-to-dock/default.nix
index ebf15cada970..6efefd1fb032 100644
--- a/nixpkgs/pkgs/desktops/gnome/extensions/dash-to-dock/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/extensions/dash-to-dock/default.nix
@@ -2,22 +2,25 @@
 , fetchFromGitHub
 , glib
 , gettext
+, sassc
 }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-extension-dash-to-dock";
-  version = "69";
+  version = "unstable-2021-07-07";
 
+  # temporarily switched to https://github.com/micheleg/dash-to-dock/pull/1402 because upstream doesn't work with GNOME 40 yet.
   src = fetchFromGitHub {
-    owner = "micheleg";
+    owner = "ewlsh";
     repo = "dash-to-dock";
-    rev = "extensions.gnome.org-v" + version;
-    hash = "sha256-YuLtC7E8dK57JSuFdbDQe5Ml+KQfl9qSdrHdVhFaNiE=";
+    rev = "e4beec847181e4163b0a99ceaef4c4582cc8ae4c";
+    hash = "sha256-7UVnLXH7COnIbqxbt3CCscuu1YyPH6ax5DlKdaHCT/0=";
   };
 
   nativeBuildInputs = [
     glib
     gettext
+    sassc
   ];
 
   makeFlags = [
diff --git a/nixpkgs/pkgs/desktops/gnome/extensions/extensionRenames.nix b/nixpkgs/pkgs/desktops/gnome/extensions/extensionRenames.nix
index 9df97998891f..fe1fcf9985cf 100644
--- a/nixpkgs/pkgs/desktops/gnome/extensions/extensionRenames.nix
+++ b/nixpkgs/pkgs/desktops/gnome/extensions/extensionRenames.nix
@@ -13,6 +13,24 @@
   "lockkeys@vaina.lt" = "lock-keys";
   "lockkeys@fawtytoo" = "lock-keys-2";
 
+  "system-monitor@paradoxxx.zero.gmail.com" = "system-monitor"; # manually packaged
+  "System_Monitor@bghome.gmail.com" = "system-monitor-2";
+
+  "Hide_Activities@shay.shayel.org" = "hide-activities-button";
+  "hide-activities-button@nmingori.gnome-shell-extensions.org" = "hide-activities-button-2";
+
+  # 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
+  "ShutdownTimer@neumann" = null;
+  "shutdown-timer-gnome-shell-extension" = "shutdowntimer-2";
+  "ShutdownTimer@deminder" = "shutdowntimer";
+
+  "noannoyance@sindex.com" = "noannoyance";
+  "noannoyance@daase.net" = "noannoyance-2";
+
+  "extension-list@tu.berry" = "extension-list";
+  "screen-lock@garciabaameiro.com" = "screen-lock"; # Don't know why they got 'extension-list' as slug
 
 
   # ############################################################################
@@ -30,7 +48,6 @@
   #"flypie@schneegans.github.com" = null;
 
 
-
   # ############################################################################
   # Overrides for extensions that were manually packaged in the past but are gradually
   # being replaced by automatic packaging where possible.
diff --git a/nixpkgs/pkgs/desktops/gnome/extensions/extensions.json b/nixpkgs/pkgs/desktops/gnome/extensions/extensions.json
index b046591b8778..d528b9dfffa3 100644
--- a/nixpkgs/pkgs/desktops/gnome/extensions/extensions.json
+++ b/nixpkgs/pkgs/desktops/gnome/extensions/extensions.json
@@ -1,24 +1,26 @@
 [ {"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": "24", "sha256": "0181cfrs06qplig4yy5aaghxq2w5x88wvc0166c9z31fsgshqh5z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgY2xvY2sgdG8gbGVmdCBvZiBzdGF0dXMgbWVudSBidXR0b24iLAogICJuYW1lIjogIkZyaXBwZXJ5IE1vdmUgQ2xvY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwOi8vZnJpcHBlcnkub3JnL2V4dGVuc2lvbnMiLAogICJ1dWlkIjogIk1vdmVfQ2xvY2tAcm15LnBvYm94LmNvbSIsCiAgInZlcnNpb24iOiAyNAp9"}}}
-, {"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": "52", "sha256": "0qw25lp2hwp5ssi4gq3xpnbwk96fgpwd5j0lgzwk94gg0p9dsi9s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGJvdHRvbSBwYW5lbCB0byB0aGUgc2hlbGwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJmcmlwcGVyeS1ib3R0b20tcGFuZWwiLAogICJuYW1lIjogIkZyaXBwZXJ5IEJvdHRvbSBQYW5lbCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZnJpcHBlcnkuYm90dG9tLXBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cDovL2ZyaXBwZXJ5Lm9yZy9leHRlbnNpb25zIiwKICAidXVpZCI6ICJCb3R0b21fUGFuZWxAcm15LnBvYm94LmNvbSIsCiAgInZlcnNpb24iOiA1Mgp9"}}}
+, {"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": "53", "sha256": "1xvlki8wdsc9s8kjz7yid486kdr0jcb0n7ik0bc1c7ma5vi5jfyi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGJvdHRvbSBwYW5lbCB0byB0aGUgc2hlbGwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJmcmlwcGVyeS1ib3R0b20tcGFuZWwiLAogICJuYW1lIjogIkZyaXBwZXJ5IEJvdHRvbSBQYW5lbCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZnJpcHBlcnkuYm90dG9tLXBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cDovL2ZyaXBwZXJ5Lm9yZy9leHRlbnNpb25zIiwKICAidXVpZCI6ICJCb3R0b21fUGFuZWxAcm15LnBvYm94LmNvbSIsCiAgInZlcnNpb24iOiA1Mwp9"}}}
 , {"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": "41", "sha256": "1iv39jz3yzfiphd2xfnjzf8i9lmwxnhxlv6yhw6cwlyrf7pz68vx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBsYXVuY2hlcnMgZm9yIEZhdm9yaXRlcyB0byB0aGUgcGFuZWwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJmcmlwcGVyeS1wYW5lbC1mYXZvcml0ZXMiLAogICJuYW1lIjogIkZyaXBwZXJ5IFBhbmVsIEZhdm9yaXRlcyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZnJpcHBlcnkucGFuZWwtZmF2b3JpdGVzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9mcmlwcGVyeS5vcmcvZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAiUGFuZWxfRmF2b3JpdGVzQHJteS5wb2JveC5jb20iLAogICJ2ZXJzaW9uIjogNDEKfQ=="}}}
-, {"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": "47", "sha256": "0qjhq1x0lga8zsgqa8dw03ijykm3izh0qylgw2a4gah1gp5vmg9g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGNhdGVnb3J5LWJhc2VkIG1lbnUgZm9yIGFwcGxpY2F0aW9ucy5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogImFwcHMtbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIkFwcGxpY2F0aW9ucyBNZW51IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJlMjAwMkBiay5ydSIsCiAgICAiZGViYXJzaGlyQGdub21lLm9yZyIKICBdLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwLjAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJhcHBzLW1lbnVAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNDcKfQ=="}}}
-, {"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": "46", "sha256": "1k98m4kyppa3ky0yxranvp1d8q9w01m3x35v2l7kzanfdlbckbkm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc3RhdHVzIG1lbnUgZm9yIGFjY2Vzc2luZyBhbmQgdW5tb3VudGluZyByZW1vdmFibGUgZGV2aWNlcy4iLAogICJleHRlbnNpb24taWQiOiAiZHJpdmUtbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIlJlbW92YWJsZSBEcml2ZSBNZW51IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRyaXZlLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwLjAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJkcml2ZS1tZW51QGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQ2Cn0="}}}
-, {"uuid": "places-menu@gnome-shell-extensions.gcampax.github.com", "name": "Places Status Indicator", "pname": "places-status-indicator", "description": "Add a menu for quickly navigating places in the system.\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/8/places-status-indicator/", "shell_version_map": {"38": {"version": "48", "sha256": "05m8nkg2km72iwnmadx6f4br8qnzqagp78mlhz8r2z6hp19nqsh5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIG1lbnUgZm9yIHF1aWNrbHkgbmF2aWdhdGluZyBwbGFjZXMgaW4gdGhlIHN5c3RlbS5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogInBsYWNlcy1tZW51IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiUGxhY2VzIFN0YXR1cyBJbmRpY2F0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucGxhY2VzLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJwbGFjZXMtbWVudUBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0OAp9"}, "40": {"version": "50", "sha256": "1z6hx0djjxqclx0n00rc44cmc9kisjqk76wxj97d7mh1mi91wf2k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIG1lbnUgZm9yIHF1aWNrbHkgbmF2aWdhdGluZyBwbGFjZXMgaW4gdGhlIHN5c3RlbS5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogInBsYWNlcy1tZW51IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiUGxhY2VzIFN0YXR1cyBJbmRpY2F0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucGxhY2VzLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwLjAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJwbGFjZXMtbWVudUBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1MAp9"}}}
-, {"uuid": "windowsNavigator@gnome-shell-extensions.gcampax.github.com", "name": "windowNavigator", "pname": "windownavigator", "description": "Allow keyboard selection of windows and workspaces in overlay mode. <Ctrl>number selects a workspace, and <Alt>number selects a window.", "link": "https://extensions.gnome.org/extension/10/windownavigator/", "shell_version_map": {"38": {"version": "49", "sha256": "1rzfnssk0iw1ysaya79ksghikkr1rpm41h2w39cz142fby6kip2d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IGtleWJvYXJkIHNlbGVjdGlvbiBvZiB3aW5kb3dzIGFuZCB3b3Jrc3BhY2VzIGluIG92ZXJsYXkgbW9kZS4gPEN0cmw+bnVtYmVyIHNlbGVjdHMgYSB3b3Jrc3BhY2UsIGFuZCA8QWx0Pm51bWJlciBzZWxlY3RzIGEgd2luZG93LiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aW5kb3dzTmF2aWdhdG9yIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAid2luZG93TmF2aWdhdG9yIiwKICAib3JpZ2luYWwtYXV0aG9yIjogInphc3BpcmVAcmFtYmxlci5ydSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53aW5kb3dzTmF2aWdhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAid2luZG93c05hdmlnYXRvckBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0OQp9"}, "40": {"version": "52", "sha256": "05r8svpakhnaw8yqib9j0bxxw4bbdkw5xzahkl4mq3kiy56d9kxv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IGtleWJvYXJkIHNlbGVjdGlvbiBvZiB3aW5kb3dzIGFuZCB3b3Jrc3BhY2VzIGluIG92ZXJsYXkgbW9kZS4gPEN0cmw+bnVtYmVyIHNlbGVjdHMgYSB3b3Jrc3BhY2UsIGFuZCA8QWx0Pm51bWJlciBzZWxlY3RzIGEgd2luZG93LiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aW5kb3dzTmF2aWdhdG9yIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAid2luZG93TmF2aWdhdG9yIiwKICAib3JpZ2luYWwtYXV0aG9yIjogInphc3BpcmVAcmFtYmxlci5ydSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53aW5kb3dzTmF2aWdhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogIndpbmRvd3NOYXZpZ2F0b3JAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNTIKfQ=="}}}
+, {"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="}}}
+, {"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"}}}
+, {"uuid": "places-menu@gnome-shell-extensions.gcampax.github.com", "name": "Places Status Indicator", "pname": "places-status-indicator", "description": "Add a menu for quickly navigating places in the system.\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/8/places-status-indicator/", "shell_version_map": {"38": {"version": "48", "sha256": "05m8nkg2km72iwnmadx6f4br8qnzqagp78mlhz8r2z6hp19nqsh5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIG1lbnUgZm9yIHF1aWNrbHkgbmF2aWdhdGluZyBwbGFjZXMgaW4gdGhlIHN5c3RlbS5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogInBsYWNlcy1tZW51IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiUGxhY2VzIFN0YXR1cyBJbmRpY2F0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucGxhY2VzLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJwbGFjZXMtbWVudUBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0OAp9"}, "40": {"version": "51", "sha256": "159356lnwhxb2d52na679m0wdrsxw89x7m4zkq0kglf01cf8my65", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIG1lbnUgZm9yIHF1aWNrbHkgbmF2aWdhdGluZyBwbGFjZXMgaW4gdGhlIHN5c3RlbS5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogInBsYWNlcy1tZW51IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiUGxhY2VzIFN0YXR1cyBJbmRpY2F0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucGxhY2VzLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAicGxhY2VzLW1lbnVAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNTEKfQ=="}}}
+, {"uuid": "windowsNavigator@gnome-shell-extensions.gcampax.github.com", "name": "windowNavigator", "pname": "windownavigator", "description": "Allow keyboard selection of windows and workspaces in overlay mode. <Ctrl>number selects a workspace, and <Alt>number selects a window.", "link": "https://extensions.gnome.org/extension/10/windownavigator/", "shell_version_map": {"38": {"version": "49", "sha256": "1rzfnssk0iw1ysaya79ksghikkr1rpm41h2w39cz142fby6kip2d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IGtleWJvYXJkIHNlbGVjdGlvbiBvZiB3aW5kb3dzIGFuZCB3b3Jrc3BhY2VzIGluIG92ZXJsYXkgbW9kZS4gPEN0cmw+bnVtYmVyIHNlbGVjdHMgYSB3b3Jrc3BhY2UsIGFuZCA8QWx0Pm51bWJlciBzZWxlY3RzIGEgd2luZG93LiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aW5kb3dzTmF2aWdhdG9yIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAid2luZG93TmF2aWdhdG9yIiwKICAib3JpZ2luYWwtYXV0aG9yIjogInphc3BpcmVAcmFtYmxlci5ydSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53aW5kb3dzTmF2aWdhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAid2luZG93c05hdmlnYXRvckBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0OQp9"}, "40": {"version": "54", "sha256": "0y41w3lxbnhb709n7ynq21nhhc9p4j6fvyjzfw0aw8ysjc8f54iv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IGtleWJvYXJkIHNlbGVjdGlvbiBvZiB3aW5kb3dzIGFuZCB3b3Jrc3BhY2VzIGluIG92ZXJsYXkgbW9kZS4gPEN0cmw+bnVtYmVyIHNlbGVjdHMgYSB3b3Jrc3BhY2UsIGFuZCA8QWx0Pm51bWJlciBzZWxlY3RzIGEgd2luZG93LiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aW5kb3dzTmF2aWdhdG9yIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAid2luZG93TmF2aWdhdG9yIiwKICAib3JpZ2luYWwtYXV0aG9yIjogInphc3BpcmVAcmFtYmxlci5ydSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53aW5kb3dzTmF2aWdhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogIndpbmRvd3NOYXZpZ2F0b3JAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNTQKfQ=="}}}
 , {"uuid": "Applications_Menu@rmy.pobox.com", "name": "Frippery Applications Menu", "pname": "applications-menu", "description": "Replace Activities button with an Applications menu", "link": "https://extensions.gnome.org/extension/13/applications-menu/", "shell_version_map": {"38": {"version": "45", "sha256": "0kg9dq1ssa11xizb31kcq3p724qzm1cmf30wriqffj043n5nd125", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcGxhY2UgQWN0aXZpdGllcyBidXR0b24gd2l0aCBhbiBBcHBsaWNhdGlvbnMgbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImZyaXBwZXJ5LWFwcGxpY2F0aW9ucy1tZW51IiwKICAibmFtZSI6ICJGcmlwcGVyeSBBcHBsaWNhdGlvbnMgTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZnJpcHBlcnkuYXBwbGljYXRpb25zLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHA6Ly9mcmlwcGVyeS5vcmcvZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAiQXBwbGljYXRpb25zX01lbnVAcm15LnBvYm94LmNvbSIsCiAgInZlcnNpb24iOiA0NQp9"}, "40": {"version": "47", "sha256": "1y5qd46zbr7qrhglbb1ylb4hl40dfalkjgpvrq3m1kjry6kdvkv1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcGxhY2UgQWN0aXZpdGllcyBidXR0b24gd2l0aCBhbiBBcHBsaWNhdGlvbnMgbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImZyaXBwZXJ5LWFwcGxpY2F0aW9ucy1tZW51IiwKICAibmFtZSI6ICJGcmlwcGVyeSBBcHBsaWNhdGlvbnMgTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZnJpcHBlcnkuYXBwbGljYXRpb25zLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwOi8vZnJpcHBlcnkub3JnL2V4dGVuc2lvbnMiLAogICJ1dWlkIjogIkFwcGxpY2F0aW9uc19NZW51QHJteS5wb2JveC5jb20iLAogICJ2ZXJzaW9uIjogNDcKfQ=="}}}
-, {"uuid": "auto-move-windows@gnome-shell-extensions.gcampax.github.com", "name": "Auto Move Windows", "pname": "auto-move-windows", "description": "Move applications to specific workspaces when they create windows.", "link": "https://extensions.gnome.org/extension/16/auto-move-windows/", "shell_version_map": {"38": {"version": "44", "sha256": "05lmpmyzaawxh3kn030a8sanq7p6g87zfh7nzxfvgi8nbpygd59q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgYXBwbGljYXRpb25zIHRvIHNwZWNpZmljIHdvcmtzcGFjZXMgd2hlbiB0aGV5IGNyZWF0ZSB3aW5kb3dzLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJhdXRvLW1vdmUtd2luZG93cyIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIkF1dG8gTW92ZSBXaW5kb3dzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJhbGVzc2FuZHJvLmNyaXNtYW5pQGdtYWlsLmNvbSIsCiAgICAidGhvbWFzLmJvdWZmb25AZ21haWwuY29tIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hdXRvLW1vdmUtd2luZG93cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImF1dG8tbW92ZS13aW5kb3dzQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQ0Cn0="}, "40": {"version": "45", "sha256": "0xljd6469q5p3pxnjhbpd5blrkidhgwffx4dhdicw8253ad3c8qd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgYXBwbGljYXRpb25zIHRvIHNwZWNpZmljIHdvcmtzcGFjZXMgd2hlbiB0aGV5IGNyZWF0ZSB3aW5kb3dzLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJhdXRvLW1vdmUtd2luZG93cyIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIkF1dG8gTW92ZSBXaW5kb3dzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJhbGVzc2FuZHJvLmNyaXNtYW5pQGdtYWlsLmNvbSIsCiAgICAidGhvbWFzLmJvdWZmb25AZ21haWwuY29tIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hdXRvLW1vdmUtd2luZG93cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImF1dG8tbW92ZS13aW5kb3dzQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQ1Cn0="}}}
-, {"uuid": "native-window-placement@gnome-shell-extensions.gcampax.github.com", "name": "Native Window Placement", "pname": "native-window-placement", "description": "Arrange windows in overview in a more compact way.", "link": "https://extensions.gnome.org/extension/18/native-window-placement/", "shell_version_map": {"38": {"version": "45", "sha256": "15vhdcfrfbsinp0m1jfygjl4djccafhvgwc1rsi321jvykqhajmm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFycmFuZ2Ugd2luZG93cyBpbiBvdmVydmlldyBpbiBhIG1vcmUgY29tcGFjdCB3YXkuIiwKICAiZXh0ZW5zaW9uLWlkIjogIm5hdGl2ZS13aW5kb3ctcGxhY2VtZW50IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiTmF0aXZlIFdpbmRvdyBQbGFjZW1lbnQiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgIndlcG1hc2NoZGFAZ214LmRlIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uYXRpdmUtd2luZG93LXBsYWNlbWVudCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogIm5hdGl2ZS13aW5kb3ctcGxhY2VtZW50QGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQ1Cn0="}, "40": {"version": "46", "sha256": "0fll3fkszf5lmiy0cmg9w0ma5n7pzq5s3bkx0kyg37pib28zhlaz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFycmFuZ2Ugd2luZG93cyBpbiBvdmVydmlldyBpbiBhIG1vcmUgY29tcGFjdCB3YXkuIiwKICAiZXh0ZW5zaW9uLWlkIjogIm5hdGl2ZS13aW5kb3ctcGxhY2VtZW50IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiTmF0aXZlIFdpbmRvdyBQbGFjZW1lbnQiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgIndlcG1hc2NoZGFAZ214LmRlIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uYXRpdmUtd2luZG93LXBsYWNlbWVudCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogIm5hdGl2ZS13aW5kb3ctcGxhY2VtZW50QGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQ2Cn0="}}}
-, {"uuid": "user-theme@gnome-shell-extensions.gcampax.github.com", "name": "User Themes", "pname": "user-themes", "description": "Load shell themes from user directory.", "link": "https://extensions.gnome.org/extension/19/user-themes/", "shell_version_map": {"38": {"version": "42", "sha256": "0jykwcd8pmvr03dm2vala6nzzhi9i83c11svgx8wymfvxr5qrya8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvYWQgc2hlbGwgdGhlbWVzIGZyb20gdXNlciBkaXJlY3RvcnkuIiwKICAiZXh0ZW5zaW9uLWlkIjogInVzZXItdGhlbWUiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAibmFtZSI6ICJVc2VyIFRoZW1lcyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAiam9obi5zdG93ZXJzQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudXNlci10aGVtZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogInVzZXItdGhlbWVAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNDIKfQ=="}, "40": {"version": "44", "sha256": "14alrbhwqhy48vlqi7l12cila2ai0x57ksw6lxmgfir1mxvj8l03", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvYWQgc2hlbGwgdGhlbWVzIGZyb20gdXNlciBkaXJlY3RvcnkuIiwKICAiZXh0ZW5zaW9uLWlkIjogInVzZXItdGhlbWUiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAibmFtZSI6ICJVc2VyIFRoZW1lcyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAiam9obi5zdG93ZXJzQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudXNlci10aGVtZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogInVzZXItdGhlbWVAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNDQKfQ=="}}}
-, {"uuid": "workspace-indicator@gnome-shell-extensions.gcampax.github.com", "name": "Workspace Indicator", "pname": "workspace-indicator", "description": "Put an indicator on the panel signaling in which workspace you are, and give you the possibility of switching to another one.", "link": "https://extensions.gnome.org/extension/21/workspace-indicator/", "shell_version_map": {"38": {"version": "45", "sha256": "16y7zhlsj0qjwwj78fvcr81m7081i2y30gwjm35qahr3j0gfrk16", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlB1dCBhbiBpbmRpY2F0b3Igb24gdGhlIHBhbmVsIHNpZ25hbGluZyBpbiB3aGljaCB3b3Jrc3BhY2UgeW91IGFyZSwgYW5kIGdpdmUgeW91IHRoZSBwb3NzaWJpbGl0eSBvZiBzd2l0Y2hpbmcgdG8gYW5vdGhlciBvbmUuIiwKICAiZXh0ZW5zaW9uLWlkIjogIndvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAibmFtZSI6ICJXb3Jrc3BhY2UgSW5kaWNhdG9yIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJlcmljay5yZWRAZ21haWwuY29tIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53b3Jrc3BhY2UtaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAid29ya3NwYWNlLWluZGljYXRvckBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0NQp9"}, "40": {"version": "47", "sha256": "03cf5jadkvbz9r33mhv5mkv8qxsv7zf7jib1w7xcks1r2pak4ax9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlB1dCBhbiBpbmRpY2F0b3Igb24gdGhlIHBhbmVsIHNpZ25hbGluZyBpbiB3aGljaCB3b3Jrc3BhY2UgeW91IGFyZSwgYW5kIGdpdmUgeW91IHRoZSBwb3NzaWJpbGl0eSBvZiBzd2l0Y2hpbmcgdG8gYW5vdGhlciBvbmUuIiwKICAiZXh0ZW5zaW9uLWlkIjogIndvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAibmFtZSI6ICJXb3Jrc3BhY2UgSW5kaWNhdG9yIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJlcmljay5yZWRAZ21haWwuY29tIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53b3Jrc3BhY2UtaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAid29ya3NwYWNlLWluZGljYXRvckBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0Nwp9"}}}
-, {"uuid": "gTile@vibou", "name": "gTile", "pname": "gtile", "description": "Tile windows on a grid.", "link": "https://extensions.gnome.org/extension/28/gtile/", "shell_version_map": {"38": {"version": "44", "sha256": "0z9kn4n7snq94yrydikbnj9rwia1ad8q04mysjj0rry1v504mf8c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGdyaWQuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3RpbGVAdmlib3UiLAogICJuYW1lIjogImdUaWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmd0aWxlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dUaWxlIiwKICAidXVpZCI6ICJnVGlsZUB2aWJvdSIsCiAgInZlcnNpb24iOiA0NAp9"}, "40": {"version": "44", "sha256": "0z9kn4n7snq94yrydikbnj9rwia1ad8q04mysjj0rry1v504mf8c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGdyaWQuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3RpbGVAdmlib3UiLAogICJuYW1lIjogImdUaWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmd0aWxlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dUaWxlIiwKICAidXVpZCI6ICJnVGlsZUB2aWJvdSIsCiAgInZlcnNpb24iOiA0NAp9"}}}
-, {"uuid": "lockkeys@vaina.lt", "name": "Lock Keys", "pname": "lock-keys", "description": "Numlock & Capslock status on the panel", "link": "https://extensions.gnome.org/extension/36/lock-keys/", "shell_version_map": {"38": {"version": "42", "sha256": "0rbb7abbpbzbgpaidf8vgsx0camfczgcd5d10m7xp702gasbq5lk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk51bWxvY2sgJiBDYXBzbG9jayBzdGF0dXMgb24gdGhlIHBhbmVsIiwKICAibmFtZSI6ICJMb2NrIEtleXMiLAogICJvcmlnaW5hbC1hdXRob3JzIjogIkthemltaWVyYXMgVmFpbmEsIFBpZXJyZSBPc3NtYW4sIGVyZ3VpbGxlLCBqb25uaXVzLCBQaGlsaXBwIFdvbGZlciwgTWFyaXVzeiBMaXNvd3NraSwgQ3Jpc3RpYW4gQmVyb2l6YSwgd2FybXN1bjAyMjAsIFJhc211cyBLYWosIFBhYmxvIE1hcnRpbi1Hb21leiBCb3Vza2EsIFJhcGhhXHUwMGVibCBSb2NoZXQsIEx1aXogTmlja2VsLCBKZXNzZSwgRHVcdTAxNjFhbiBLYXppayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rYXp5c21hc3Rlci9nbm9tZS1zaGVsbC1leHRlbnNpb24tbG9ja2tleXMiLAogICJ1dWlkIjogImxvY2trZXlzQHZhaW5hLmx0IiwKICAidmVyc2lvbiI6IDQyCn0="}, "40": {"version": "42", "sha256": "0rbb7abbpbzbgpaidf8vgsx0camfczgcd5d10m7xp702gasbq5lk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk51bWxvY2sgJiBDYXBzbG9jayBzdGF0dXMgb24gdGhlIHBhbmVsIiwKICAibmFtZSI6ICJMb2NrIEtleXMiLAogICJvcmlnaW5hbC1hdXRob3JzIjogIkthemltaWVyYXMgVmFpbmEsIFBpZXJyZSBPc3NtYW4sIGVyZ3VpbGxlLCBqb25uaXVzLCBQaGlsaXBwIFdvbGZlciwgTWFyaXVzeiBMaXNvd3NraSwgQ3Jpc3RpYW4gQmVyb2l6YSwgd2FybXN1bjAyMjAsIFJhc211cyBLYWosIFBhYmxvIE1hcnRpbi1Hb21leiBCb3Vza2EsIFJhcGhhXHUwMGVibCBSb2NoZXQsIEx1aXogTmlja2VsLCBKZXNzZSwgRHVcdTAxNjFhbiBLYXppayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rYXp5c21hc3Rlci9nbm9tZS1zaGVsbC1leHRlbnNpb24tbG9ja2tleXMiLAogICJ1dWlkIjogImxvY2trZXlzQHZhaW5hLmx0IiwKICAidmVyc2lvbiI6IDQyCn0="}}}
+, {"uuid": "auto-move-windows@gnome-shell-extensions.gcampax.github.com", "name": "Auto Move Windows", "pname": "auto-move-windows", "description": "Move applications to specific workspaces when they create windows.", "link": "https://extensions.gnome.org/extension/16/auto-move-windows/", "shell_version_map": {"38": {"version": "44", "sha256": "05lmpmyzaawxh3kn030a8sanq7p6g87zfh7nzxfvgi8nbpygd59q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgYXBwbGljYXRpb25zIHRvIHNwZWNpZmljIHdvcmtzcGFjZXMgd2hlbiB0aGV5IGNyZWF0ZSB3aW5kb3dzLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJhdXRvLW1vdmUtd2luZG93cyIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIkF1dG8gTW92ZSBXaW5kb3dzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJhbGVzc2FuZHJvLmNyaXNtYW5pQGdtYWlsLmNvbSIsCiAgICAidGhvbWFzLmJvdWZmb25AZ21haWwuY29tIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hdXRvLW1vdmUtd2luZG93cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImF1dG8tbW92ZS13aW5kb3dzQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQ0Cn0="}, "40": {"version": "46", "sha256": "1hr0z7r0mg1xg9b41d71lqbyra813yrl8i80kin0dmwrcx8xqs8m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgYXBwbGljYXRpb25zIHRvIHNwZWNpZmljIHdvcmtzcGFjZXMgd2hlbiB0aGV5IGNyZWF0ZSB3aW5kb3dzLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJhdXRvLW1vdmUtd2luZG93cyIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIkF1dG8gTW92ZSBXaW5kb3dzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJhbGVzc2FuZHJvLmNyaXNtYW5pQGdtYWlsLmNvbSIsCiAgICAidGhvbWFzLmJvdWZmb25AZ21haWwuY29tIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hdXRvLW1vdmUtd2luZG93cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJhdXRvLW1vdmUtd2luZG93c0Bnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0Ngp9"}}}
+, {"uuid": "native-window-placement@gnome-shell-extensions.gcampax.github.com", "name": "Native Window Placement", "pname": "native-window-placement", "description": "Arrange windows in overview in a more compact way.", "link": "https://extensions.gnome.org/extension/18/native-window-placement/", "shell_version_map": {"38": {"version": "45", "sha256": "15vhdcfrfbsinp0m1jfygjl4djccafhvgwc1rsi321jvykqhajmm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFycmFuZ2Ugd2luZG93cyBpbiBvdmVydmlldyBpbiBhIG1vcmUgY29tcGFjdCB3YXkuIiwKICAiZXh0ZW5zaW9uLWlkIjogIm5hdGl2ZS13aW5kb3ctcGxhY2VtZW50IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiTmF0aXZlIFdpbmRvdyBQbGFjZW1lbnQiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgIndlcG1hc2NoZGFAZ214LmRlIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uYXRpdmUtd2luZG93LXBsYWNlbWVudCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogIm5hdGl2ZS13aW5kb3ctcGxhY2VtZW50QGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQ1Cn0="}, "40": {"version": "47", "sha256": "1v424l1svrmw5yikxgbi1j14xx307dg9zy21f34rv2il8bf72vk4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFycmFuZ2Ugd2luZG93cyBpbiBvdmVydmlldyBpbiBhIG1vcmUgY29tcGFjdCB3YXkuIiwKICAiZXh0ZW5zaW9uLWlkIjogIm5hdGl2ZS13aW5kb3ctcGxhY2VtZW50IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiTmF0aXZlIFdpbmRvdyBQbGFjZW1lbnQiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgIndlcG1hc2NoZGFAZ214LmRlIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uYXRpdmUtd2luZG93LXBsYWNlbWVudCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJuYXRpdmUtd2luZG93LXBsYWNlbWVudEBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0Nwp9"}}}
+, {"uuid": "user-theme@gnome-shell-extensions.gcampax.github.com", "name": "User Themes", "pname": "user-themes", "description": "Load shell themes from user directory.", "link": "https://extensions.gnome.org/extension/19/user-themes/", "shell_version_map": {"38": {"version": "42", "sha256": "0jykwcd8pmvr03dm2vala6nzzhi9i83c11svgx8wymfvxr5qrya8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvYWQgc2hlbGwgdGhlbWVzIGZyb20gdXNlciBkaXJlY3RvcnkuIiwKICAiZXh0ZW5zaW9uLWlkIjogInVzZXItdGhlbWUiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAibmFtZSI6ICJVc2VyIFRoZW1lcyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAiam9obi5zdG93ZXJzQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudXNlci10aGVtZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogInVzZXItdGhlbWVAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNDIKfQ=="}, "40": {"version": "46", "sha256": "07gbzvbnxah5bws5vc6sivw43j0rgm23n6vsp4a64z7s8s2ay7sm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvYWQgc2hlbGwgdGhlbWVzIGZyb20gdXNlciBkaXJlY3RvcnkuIiwKICAiZXh0ZW5zaW9uLWlkIjogInVzZXItdGhlbWUiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAibmFtZSI6ICJVc2VyIFRoZW1lcyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAiam9obi5zdG93ZXJzQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudXNlci10aGVtZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJ1c2VyLXRoZW1lQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQ2Cn0="}}}
+, {"uuid": "workspace-indicator@gnome-shell-extensions.gcampax.github.com", "name": "Workspace Indicator", "pname": "workspace-indicator", "description": "Put an indicator on the panel signaling in which workspace you are, and give you the possibility of switching to another one.", "link": "https://extensions.gnome.org/extension/21/workspace-indicator/", "shell_version_map": {"38": {"version": "45", "sha256": "16y7zhlsj0qjwwj78fvcr81m7081i2y30gwjm35qahr3j0gfrk16", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlB1dCBhbiBpbmRpY2F0b3Igb24gdGhlIHBhbmVsIHNpZ25hbGluZyBpbiB3aGljaCB3b3Jrc3BhY2UgeW91IGFyZSwgYW5kIGdpdmUgeW91IHRoZSBwb3NzaWJpbGl0eSBvZiBzd2l0Y2hpbmcgdG8gYW5vdGhlciBvbmUuIiwKICAiZXh0ZW5zaW9uLWlkIjogIndvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAibmFtZSI6ICJXb3Jrc3BhY2UgSW5kaWNhdG9yIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJlcmljay5yZWRAZ21haWwuY29tIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53b3Jrc3BhY2UtaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAid29ya3NwYWNlLWluZGljYXRvckBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0NQp9"}, "40": {"version": "49", "sha256": "0483k1scq0lwfpg3i3yww7kfzv0qwlp6aqyikkacivh0nkq6v2iy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlB1dCBhbiBpbmRpY2F0b3Igb24gdGhlIHBhbmVsIHNpZ25hbGluZyBpbiB3aGljaCB3b3Jrc3BhY2UgeW91IGFyZSwgYW5kIGdpdmUgeW91IHRoZSBwb3NzaWJpbGl0eSBvZiBzd2l0Y2hpbmcgdG8gYW5vdGhlciBvbmUuIiwKICAiZXh0ZW5zaW9uLWlkIjogIndvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAibmFtZSI6ICJXb3Jrc3BhY2UgSW5kaWNhdG9yIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJlcmljay5yZWRAZ21haWwuY29tIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53b3Jrc3BhY2UtaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogIndvcmtzcGFjZS1pbmRpY2F0b3JAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNDkKfQ=="}}}
+, {"uuid": "gTile@vibou", "name": "gTile", "pname": "gtile", "description": "Tile windows on a grid.", "link": "https://extensions.gnome.org/extension/28/gtile/", "shell_version_map": {"38": {"version": "45", "sha256": "1fm4ljkw0l4w8z1qd9i30nd7khvzjvc0kykv659xkqj7lghyk02k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGdyaWQuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3RpbGVAdmlib3UiLAogICJuYW1lIjogImdUaWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmd0aWxlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dUaWxlIiwKICAidXVpZCI6ICJnVGlsZUB2aWJvdSIsCiAgInZlcnNpb24iOiA0NQp9"}, "40": {"version": "45", "sha256": "1fm4ljkw0l4w8z1qd9i30nd7khvzjvc0kykv659xkqj7lghyk02k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGdyaWQuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3RpbGVAdmlib3UiLAogICJuYW1lIjogImdUaWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmd0aWxlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dUaWxlIiwKICAidXVpZCI6ICJnVGlsZUB2aWJvdSIsCiAgInZlcnNpb24iOiA0NQp9"}}}
+, {"uuid": "lockkeys@vaina.lt", "name": "Lock Keys", "pname": "lock-keys", "description": "Numlock & Capslock status on the panel", "link": "https://extensions.gnome.org/extension/36/lock-keys/", "shell_version_map": {"38": {"version": "43", "sha256": "0acal805w1kifb07hk9v90f779x5fxzfphrm20hphvgyk2dwyaq3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk51bWxvY2sgJiBDYXBzbG9jayBzdGF0dXMgb24gdGhlIHBhbmVsIiwKICAibmFtZSI6ICJMb2NrIEtleXMiLAogICJvcmlnaW5hbC1hdXRob3JzIjogIkthemltaWVyYXMgVmFpbmEsIFBpZXJyZSBPc3NtYW4sIGVyZ3VpbGxlLCBqb25uaXVzLCBQaGlsaXBwIFdvbGZlciwgTWFyaXVzeiBMaXNvd3NraSwgQ3Jpc3RpYW4gQmVyb2l6YSwgd2FybXN1bjAyMjAsIFJhc211cyBLYWosIFBhYmxvIE1hcnRpbi1Hb21leiBCb3Vza2EsIFJhcGhhXHUwMGVibCBSb2NoZXQsIEx1aXogTmlja2VsLCBKZXNzZSwgRHVcdTAxNjFhbiBLYXppayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rYXp5c21hc3Rlci9nbm9tZS1zaGVsbC1leHRlbnNpb24tbG9ja2tleXMiLAogICJ1dWlkIjogImxvY2trZXlzQHZhaW5hLmx0IiwKICAidmVyc2lvbiI6IDQzCn0="}, "40": {"version": "43", "sha256": "0acal805w1kifb07hk9v90f779x5fxzfphrm20hphvgyk2dwyaq3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk51bWxvY2sgJiBDYXBzbG9jayBzdGF0dXMgb24gdGhlIHBhbmVsIiwKICAibmFtZSI6ICJMb2NrIEtleXMiLAogICJvcmlnaW5hbC1hdXRob3JzIjogIkthemltaWVyYXMgVmFpbmEsIFBpZXJyZSBPc3NtYW4sIGVyZ3VpbGxlLCBqb25uaXVzLCBQaGlsaXBwIFdvbGZlciwgTWFyaXVzeiBMaXNvd3NraSwgQ3Jpc3RpYW4gQmVyb2l6YSwgd2FybXN1bjAyMjAsIFJhc211cyBLYWosIFBhYmxvIE1hcnRpbi1Hb21leiBCb3Vza2EsIFJhcGhhXHUwMGVibCBSb2NoZXQsIEx1aXogTmlja2VsLCBKZXNzZSwgRHVcdTAxNjFhbiBLYXppayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rYXp5c21hc3Rlci9nbm9tZS1zaGVsbC1leHRlbnNpb24tbG9ja2tleXMiLAogICJ1dWlkIjogImxvY2trZXlzQHZhaW5hLmx0IiwKICAidmVyc2lvbiI6IDQzCn0="}}}
 , {"uuid": "putWindow@clemens.lab21.org", "name": "Put Windows", "pname": "put-windows", "description": "Fully customizable replacement for the old compiz put plugin. \n * Move windows to left/right side, bottom/top, center or corner \n * Move window to other screen \n * Select focused window using the keyboard \n * Application based window placement \n\n Please check github if your gnome-shell version is not supported", "link": "https://extensions.gnome.org/extension/39/put-windows/", "shell_version_map": {"38": {"version": "32", "sha256": "1n4hk2sqdbcn25lxk02vljc9xxbidragimvc4b6dj2m72625lx67", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZ1bGx5IGN1c3RvbWl6YWJsZSByZXBsYWNlbWVudCBmb3IgdGhlIG9sZCBjb21waXogcHV0IHBsdWdpbi4gXG4gKiBNb3ZlIHdpbmRvd3MgdG8gbGVmdC9yaWdodCBzaWRlLCBib3R0b20vdG9wLCBjZW50ZXIgb3IgY29ybmVyIFxuICogTW92ZSB3aW5kb3cgdG8gb3RoZXIgc2NyZWVuIFxuICogU2VsZWN0IGZvY3VzZWQgd2luZG93IHVzaW5nIHRoZSBrZXlib2FyZCBcbiAqIEFwcGxpY2F0aW9uIGJhc2VkIHdpbmRvdyBwbGFjZW1lbnQgXG5cbiBQbGVhc2UgY2hlY2sgZ2l0aHViIGlmIHlvdXIgZ25vbWUtc2hlbGwgdmVyc2lvbiBpcyBub3Qgc3VwcG9ydGVkIiwKICAiZ2V0dGV4dC1kb21haW4iOiAicHV0V2luZG93IiwKICAibmFtZSI6ICJQdXQgV2luZG93cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5vcmctbGFiMjEtcHV0d2luZG93IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmVnZXN0aS9nbm9tZS1zaGVsbC1leHRlbnNpb25zLW5lZ2VzdGkiLAogICJ1dWlkIjogInB1dFdpbmRvd0BjbGVtZW5zLmxhYjIxLm9yZyIsCiAgInZlcnNpb24iOiAzMgp9"}}}
 , {"uuid": "gnome-shell-trash-extension", "name": "Trash", "pname": "trash", "description": "A Trash button for the GNOME shell panel", "link": "https://extensions.gnome.org/extension/48/trash/", "shell_version_map": {"38": {"version": "18", "sha256": "1cysvxrgi7lnig7d8blhqqbxz0phd4fvn7nww6zpihjnw32rvm4z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgVHJhc2ggYnV0dG9uIGZvciB0aGUgR05PTUUgc2hlbGwgcGFuZWwiLAogICJsb2NhbGVkaXIiOiAibG9jYWxlIiwKICAibmFtZSI6ICJUcmFzaCIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiQXhlbCB2b24gQmVydG9sZGkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9iZXJ0b2xkaWEvZ25vbWUtc2hlbGwtdHJhc2gtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJnbm9tZS1zaGVsbC10cmFzaC1leHRlbnNpb24iLAogICJ2ZXJzaW9uIjogMTgKfQ=="}}}
+, {"uuid": "RecentItems@bananenfisch.net", "name": "Recent Items", "pname": "recent-items", "description": "Adds an icon for recently used items at the top panel; clear list by click; left click: open file, right click: open containing folder; Settings for: number of items, number of items under \"more\" and blacklisting options are defined at the top of extension.js (see https://github.com/bananenfisch/RecentItems for more infos).", "link": "https://extensions.gnome.org/extension/72/recent-items/", "shell_version_map": {"40": {"version": "20", "sha256": "0ys8lanv0xxbwfmqkfvdqvhbnv4vfjpzvpqjj11c1lxbv4wp2mbj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYW4gaWNvbiBmb3IgcmVjZW50bHkgdXNlZCBpdGVtcyBhdCB0aGUgdG9wIHBhbmVsOyBjbGVhciBsaXN0IGJ5IGNsaWNrOyBsZWZ0IGNsaWNrOiBvcGVuIGZpbGUsIHJpZ2h0IGNsaWNrOiBvcGVuIGNvbnRhaW5pbmcgZm9sZGVyOyBTZXR0aW5ncyBmb3I6IG51bWJlciBvZiBpdGVtcywgbnVtYmVyIG9mIGl0ZW1zIHVuZGVyIFwibW9yZVwiIGFuZCBibGFja2xpc3Rpbmcgb3B0aW9ucyBhcmUgZGVmaW5lZCBhdCB0aGUgdG9wIG9mIGV4dGVuc2lvbi5qcyAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9iYW5hbmVuZmlzY2gvUmVjZW50SXRlbXMgZm9yIG1vcmUgaW5mb3MpLiIsCiAgIm5hbWUiOiAiUmVjZW50IEl0ZW1zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHA6Ly93d3cuYmFuYW5lbmZpc2NoLm5ldC9nbm9tZSIsCiAgInV1aWQiOiAiUmVjZW50SXRlbXNAYmFuYW5lbmZpc2NoLm5ldCIsCiAgInZlcnNpb24iOiAyMAp9"}}}
 , {"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": "45", "sha256": "1csgcr90cdi7r3dlzmp1h9qg225ss4cws4pgzc4iqifjh6c8z2rx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNpbm5hbW9uLXZlcnNpb24iOiBbCiAgICAiMS4yIiwKICAgICIxLjQiLAogICAgIjEuNiIsCiAgICAiMS44IiwKICAgICIxLjkiLAogICAgIjIuMCIsCiAgICAiMi4xIiwKICAgICIyLjIiLAogICAgIjIuMyIsCiAgICAiMi40IiwKICAgICIyLjgiLAogICAgIjMuMCIKICBdLAogICJkZXNjcmlwdGlvbiI6ICJSZXBsYWNlbWVudCBvZiBBbHQtVGFiLCBpdGVyYXRlcyB0aHJvdWdoIHdpbmRvd3MgaW4gYSBjb3Zlci1mbG93IG1hbm5lci4iLAogICJuYW1lIjogIkNvdmVyZmxvdyBBbHQtVGFiIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RtbzYwL0NvdmVyZmxvd0FsdFRhYiIsCiAgInV1aWQiOiAiQ292ZXJmbG93QWx0VGFiQHBhbGF0aXMuYmxvZ3Nwb3QuY29tIiwKICAidmVyc2lvbiI6IDQ1Cn0="}}}
+, {"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": "46", "sha256": "1w8qcwbh6g9gh7gl8ka25sbcv5ggfc6rv6ghw17j54qavkkmppn0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcGxhY2VtZW50IG9mIEFsdC1UYWIsIGl0ZXJhdGVzIHRocm91Z2ggd2luZG93cyBpbiBhIGNvdmVyLWZsb3cgbWFubmVyLiIsCiAgIm5hbWUiOiAiQ292ZXJmbG93IEFsdC1UYWIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZG1vNjAvQ292ZXJmbG93QWx0VGFiIiwKICAidXVpZCI6ICJDb3ZlcmZsb3dBbHRUYWJAcGFsYXRpcy5ibG9nc3BvdC5jb20iLAogICJ2ZXJzaW9uIjogNDYKfQ=="}}}
+, {"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": "33", "sha256": "1l4bxk7b7q1xc8hrvhcgabk88b74f49g0yq4ja4ycp4zhih52mrv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIEludGVybmV0IFNwZWVkIiwKICAibmFtZSI6ICJOZXRTcGVlZCIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJoZWRheWF0eUBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGVkYXlhdHkvTmV0U3BlZWQiLAogICJ1dWlkIjogIm5ldHNwZWVkQGhlZGF5YXR5LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzMwp9"}}}
 , {"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=="}}}
 , {"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": "76", "sha256": "1m8lb3lb4fvb6hb3awbl5yz2lf6858fq122d8h89glhzw7d4jlpc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIFBlcnNpYW4gZGF0ZSBpbiB0aGUgdG9wIHBhbmVsLlxuXG5JdCBzaG93czpcbjEtIFBlcnNpYW4gY2FsZW5kYXJcbjItIEl0IGNhbiBzaG93LCB0b2RheSBpcyBhIGhvbGlkYXkgb3Igbm90IVxuMy0gU2hvdyBub3RpZmljYXRpb24gb25EYXlDaGFuZ2VkIVxuNC0gRGF0ZSBjb252ZXJ0ZXIgYmV0d2VlbiBQZXJzaWFuLCBHcmVnb3JpYW4gYW5kIEx1bmFyIEhpanJpXG41LSBFdmVudHM6XG41LTEtIE9mZmljaWFsIHNvbGFyIGV2ZW50cy5cbjUtMi0gT2ZmaWNpYWwgbHVuYXIgZXZlbnRzLlxuNS0zLSBPZmZpY2lhbCBpbnRlcm5hdGlvbmFsIGV2ZW50cy5cbjUtNC0gVHJhZGl0aW9uYWwgUGVyc2lhbiBldmVudHMuXG41LTUtIFBlcnNpYW4gcGVyc29uYWdlcy5cblxuUGxlYXNlIFwicmF0ZVwiIGhlcmUgYW5kIFwic3RhclwiIHRoZSBwcm9qZWN0IGluIEdpdEh1Yi5cblBsZWFzZSBvcGVuIGFuIGlzc3VlIGluIEdpdEh1YiBpZiB5b3UndmUgZm91bmQgc29tZXRoaW5nIG9yIGhhdmUgYW4gaWRlYSEiLAogICJuYW1lIjogIlBlcnNpYW4gQ2FsZW5kYXIiLAogICJvcmlnaW5hbC1hdXRob3JzIjogIk9taWQgTW90dGFnaGkgUmFkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vb21pZC9QZXJzaWFuLUNhbGVuZGFyLWZvci1Hbm9tZS1TaGVsbCIsCiAgInV1aWQiOiAiUGVyc2lhbkNhbGVuZGFyQG94eWdlbndzLmNvbSIsCiAgInZlcnNpb24iOiA3Ngp9"}}}
+, {"uuid": "PersianCalendar@oxygenws.com", "name": "Persian (Iranian/Jalali) 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": "0z7rx09d7l9fjwga4i1hqjbrhqyls4h5cgkf9vhfi710caydmq1c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIFBlcnNpYW4gZGF0ZSBpbiB0aGUgdG9wIHBhbmVsLlxuXG5JdCBzaG93czpcbjEtIFBlcnNpYW4gY2FsZW5kYXJcbjItIEl0IGNhbiBzaG93LCB0b2RheSBpcyBhIGhvbGlkYXkgb3Igbm90IVxuMy0gU2hvdyBub3RpZmljYXRpb24gb25EYXlDaGFuZ2VkIVxuNC0gRGF0ZSBjb252ZXJ0ZXIgYmV0d2VlbiBQZXJzaWFuLCBHcmVnb3JpYW4gYW5kIEx1bmFyIEhpanJpXG41LSBFdmVudHM6XG41LTEtIE9mZmljaWFsIHNvbGFyIGV2ZW50cy5cbjUtMi0gT2ZmaWNpYWwgbHVuYXIgZXZlbnRzLlxuNS0zLSBPZmZpY2lhbCBpbnRlcm5hdGlvbmFsIGV2ZW50cy5cbjUtNC0gVHJhZGl0aW9uYWwgUGVyc2lhbiBldmVudHMuXG41LTUtIFBlcnNpYW4gcGVyc29uYWdlcy5cblxuUGxlYXNlIFwicmF0ZVwiIGhlcmUgYW5kIFwic3RhclwiIHRoZSBwcm9qZWN0IGluIEdpdEh1Yi5cblBsZWFzZSBvcGVuIGFuIGlzc3VlIGluIEdpdEh1YiBpZiB5b3UndmUgZm91bmQgc29tZXRoaW5nIG9yIGhhdmUgYW4gaWRlYSEiLAogICJuYW1lIjogIlBlcnNpYW4gKElyYW5pYW4vSmFsYWxpKSBDYWxlbmRhciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiT21pZCBNb3R0YWdoaSBSYWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9vbWlkL1BlcnNpYW4tQ2FsZW5kYXItZm9yLUdub21lLVNoZWxsIiwKICAidXVpZCI6ICJQZXJzaWFuQ2FsZW5kYXJAb3h5Z2Vud3MuY29tIiwKICAidmVyc2lvbiI6IDczCn0="}, "40": {"version": "88", "sha256": "10vv9absphf7g0jdhmy5j880dk1h6fn63ijv0hslr86mmf1wsbkb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIFBlcnNpYW4gZGF0ZSBpbiB0aGUgdG9wIHBhbmVsLlxuXG5JdCBzaG93czpcbjEtIFBlcnNpYW4gY2FsZW5kYXJcbjItIEl0IGNhbiBzaG93LCB0b2RheSBpcyBhIGhvbGlkYXkgb3Igbm90IVxuMy0gU2hvdyBub3RpZmljYXRpb24gb25EYXlDaGFuZ2VkIVxuNC0gRGF0ZSBjb252ZXJ0ZXIgYmV0d2VlbiBQZXJzaWFuLCBHcmVnb3JpYW4gYW5kIEx1bmFyIEhpanJpXG41LSBFdmVudHM6XG41LTEtIE9mZmljaWFsIHNvbGFyIGV2ZW50cy5cbjUtMi0gT2ZmaWNpYWwgbHVuYXIgZXZlbnRzLlxuNS0zLSBPZmZpY2lhbCBpbnRlcm5hdGlvbmFsIGV2ZW50cy5cbjUtNC0gVHJhZGl0aW9uYWwgUGVyc2lhbiBldmVudHMuXG41LTUtIFBlcnNpYW4gcGVyc29uYWdlcy5cblxuUGxlYXNlIFwicmF0ZVwiIGhlcmUgYW5kIFwic3RhclwiIHRoZSBwcm9qZWN0IGluIEdpdEh1Yi5cblBsZWFzZSBvcGVuIGFuIGlzc3VlIGluIEdpdEh1YiBpZiB5b3UndmUgZm91bmQgc29tZXRoaW5nIG9yIGhhdmUgYW4gaWRlYSEiLAogICJuYW1lIjogIlBlcnNpYW4gKElyYW5pYW4vSmFsYWxpKSBDYWxlbmRhciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiT21pZCBNb3R0YWdoaSBSYWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vb21pZC9QZXJzaWFuLUNhbGVuZGFyLWZvci1Hbm9tZS1TaGVsbCIsCiAgInV1aWQiOiAiUGVyc2lhbkNhbGVuZGFyQG94eWdlbndzLmNvbSIsCiAgInZlcnNpb24iOiA4OAp9"}}}
 , {"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": "62", "sha256": "18nl9m74849vgdljjcickwsa4anrwl1b1p58l7pqw9pv4m08myn7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIklucHV0IE1ldGhvZCBQYW5lbCB1c2luZyBLREUncyBraW1wYW5lbCBwcm90b2NvbCBmb3IgR25vbWUtU2hlbGwiLAogICJleHRlbnNpb24taWQiOiAia2ltcGFuZWwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zLWtpbXBhbmVsIiwKICAibG9jYWxlIjogIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIiwKICAibmFtZSI6ICJJbnB1dCBNZXRob2QgUGFuZWwiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMua2ltcGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwLjAiLAogICAgIjQwLmJldGEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS93ZW5neHQvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWtpbXBhbmVsIiwKICAidXVpZCI6ICJraW1wYW5lbEBrZGUub3JnIiwKICAidmVyc2lvbiI6IDYyCn0="}}}
 , {"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": "16", "sha256": "1h4x1a6i7b33xa7hlr5pd8llbnq0pin83c957y6r75sri0xwxr6c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNwZWVkIHVwIHRoZSBnbm9tZS1zaGVsbCBhbmltYXRpb24gc3BlZWQiLAogICJuYW1lIjogIkltcGF0aWVuY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwOi8vZ2Z4bW9uay5uZXQvZGlzdC8waW5zdGFsbC9nbm9tZS1zaGVsbC1pbXBhdGllbmNlLnhtbCIsCiAgInV1aWQiOiAiaW1wYXRpZW5jZUBnZnhtb25rLm5ldCIsCiAgInZlcnNpb24iOiAxNgp9"}}}
 , {"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="}}}
@@ -28,40 +30,46 @@
 , {"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": "18", "sha256": "0r501b8frnrrxfl8l2j6xcjgw1w99h753n47zr8mwpbx5wpcbw5w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlZHVjZSB0aGUgaG9yaXpvbnRhbCBzcGFjaW5nIGJldHdlZW4gaWNvbnMgaW4gdGhlIHRvcC1yaWdodCBzdGF0dXMgYXJlYSIsCiAgImRldi12ZXJzaW9uIjogIjIuMS40IiwKICAibmFtZSI6ICJTdGF0dXMgQXJlYSBIb3Jpem9udGFsIFNwYWNpbmciLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3RhdHVzLWFyZWEtaG9yaXpvbnRhbC1zcGFjaW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL3A5MXBhdWwvc3RhdHVzLWFyZWEtaG9yaXpvbnRhbC1zcGFjaW5nLWdub21lLXNoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAic3RhdHVzLWFyZWEtaG9yaXpvbnRhbC1zcGFjaW5nQG1hdGhlbWF0aWNhbC5jb2ZmZWUuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE4Cn0="}}}
 , {"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": "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": "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": "38", "sha256": "07pzr9cqnlvsqq6rhdib4n936dxnxl03qdb5hjbyl6zqbl6r69vj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgdGhlIHNjcmVlbnNhdmVyIGFuZCBhdXRvIHN1c3BlbmQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tY2FmZmVpbmUiLAogICJuYW1lIjogIkNhZmZlaW5lIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNhZmZlaW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZW9ucGF0YXBvbi9nbm9tZS1zaGVsbC1leHRlbnNpb24tY2FmZmVpbmUiLAogICJ1dWlkIjogImNhZmZlaW5lQHBhdGFwb24uaW5mbyIsCiAgInZlcnNpb24iOiAzOAp9"}}}
+, {"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": "39", "sha256": "0ij27rby6c167yqbql022d8vxix27bacqgw0mm4cxn71jqfzm64n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgdGhlIHNjcmVlbnNhdmVyIGFuZCBhdXRvIHN1c3BlbmQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tY2FmZmVpbmUiLAogICJuYW1lIjogIkNhZmZlaW5lIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNhZmZlaW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MC4wIiwKICAgICI0MC4xIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZW9ucGF0YXBvbi9nbm9tZS1zaGVsbC1leHRlbnNpb24tY2FmZmVpbmUiLAogICJ1dWlkIjogImNhZmZlaW5lQHBhdGFwb24uaW5mbyIsCiAgInZlcnNpb24iOiAzOQp9"}}}
 , {"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": "21", "sha256": "1qakl3wiwhx68yfqafd5241hfmin0v1x779ljs5bqj2hqld3dzz8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpYyBiYWNrZ3JvdW5kLWltYWdlICh3YWxscGFwZXIpIHNsaWRlc2hvdyBmb3IgR25vbWUgU2hlbGwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJiYWNrc2xpZGUiLAogICJuYW1lIjogIkJhY2tTbGlkZSIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJMdWthcyBLbnV0aCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vYml0YnVja2V0Lm9yZy9MdWthc0tudXRoL2JhY2tzbGlkZSIsCiAgInV1aWQiOiAiYmFja3NsaWRlQGNvZGVpc2xhbmQub3JnIiwKICAidmVyc2lvbiI6IDIxCn0="}}}
 , {"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": "92", "sha256": "1b3fkii4mnwvjghnyl6iwigvqqi30kahy05gympp54fm2jx68xhl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSB0b3AgYmFyLCBleGNlcHQgaW4gb3ZlcnZpZXcuIEhvd2V2ZXIsIHRoZXJlIGlzIGFuIG9wdGlvbiB0byBzaG93IHRoZSBwYW5lbCB3aGVuZXZlciB0aGUgbW91c2UgcG9pbnRlciBhcHByb2FjaGVzIHRoZSBlZGdlIG9mIHRoZSBzY3JlZW4uIEFuZCBpZiBcImludGVsbGloaWRlXCIgaXMgZW5hYmxlZCwgdGhlIHBhbmVsIG9ubHkgaGlkZXMgd2hlbiBhIHdpbmRvdyB0YWtlcyB0aGUgc3BhY2UuXG5cbi0gUHJlc3MgYmFja3NwYWNlIHRvIHJlbW92ZSBrZXlib2FyZCBzaG9ydGN1dC5cbi0gTG9nIG9mZiBhbmQgb24gYWdhaW4gd2hlbiB0aGVyZSBpcyBhbiBlcnJvciBhZnRlciB1cGdyYWRpbmcuIiwKICAibmFtZSI6ICJIaWRlIFRvcCBCYXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaGlkZXRvcGJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tbHV0ZnkvaGlkZXRvcGJhciIsCiAgInV1aWQiOiAiaGlkZXRvcGJhckBtYXRoaWV1LmJpZG9uLmNhIiwKICAidmVyc2lvbiI6IDkyCn0="}, "40": {"version": "92", "sha256": "1b3fkii4mnwvjghnyl6iwigvqqi30kahy05gympp54fm2jx68xhl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSB0b3AgYmFyLCBleGNlcHQgaW4gb3ZlcnZpZXcuIEhvd2V2ZXIsIHRoZXJlIGlzIGFuIG9wdGlvbiB0byBzaG93IHRoZSBwYW5lbCB3aGVuZXZlciB0aGUgbW91c2UgcG9pbnRlciBhcHByb2FjaGVzIHRoZSBlZGdlIG9mIHRoZSBzY3JlZW4uIEFuZCBpZiBcImludGVsbGloaWRlXCIgaXMgZW5hYmxlZCwgdGhlIHBhbmVsIG9ubHkgaGlkZXMgd2hlbiBhIHdpbmRvdyB0YWtlcyB0aGUgc3BhY2UuXG5cbi0gUHJlc3MgYmFja3NwYWNlIHRvIHJlbW92ZSBrZXlib2FyZCBzaG9ydGN1dC5cbi0gTG9nIG9mZiBhbmQgb24gYWdhaW4gd2hlbiB0aGVyZSBpcyBhbiBlcnJvciBhZnRlciB1cGdyYWRpbmcuIiwKICAibmFtZSI6ICJIaWRlIFRvcCBCYXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaGlkZXRvcGJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tbHV0ZnkvaGlkZXRvcGJhciIsCiAgInV1aWQiOiAiaGlkZXRvcGJhckBtYXRoaWV1LmJpZG9uLmNhIiwKICAidmVyc2lvbiI6IDkyCn0="}}}
+, {"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": "93", "sha256": "0x3l0l5bv6zsdkvk6gw35f43zhkwdgpliakr3jf92lbil0fngwhy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSB0b3AgYmFyLCBleGNlcHQgaW4gb3ZlcnZpZXcuIEhvd2V2ZXIsIHRoZXJlIGlzIGFuIG9wdGlvbiB0byBzaG93IHRoZSBwYW5lbCB3aGVuZXZlciB0aGUgbW91c2UgcG9pbnRlciBhcHByb2FjaGVzIHRoZSBlZGdlIG9mIHRoZSBzY3JlZW4uIEFuZCBpZiBcImludGVsbGloaWRlXCIgaXMgZW5hYmxlZCwgdGhlIHBhbmVsIG9ubHkgaGlkZXMgd2hlbiBhIHdpbmRvdyB0YWtlcyB0aGUgc3BhY2UuXG5cbi0gUHJlc3MgYmFja3NwYWNlIHRvIHJlbW92ZSBrZXlib2FyZCBzaG9ydGN1dC5cbi0gTG9nIG9mZiBhbmQgb24gYWdhaW4gd2hlbiB0aGVyZSBpcyBhbiBlcnJvciBhZnRlciB1cGdyYWRpbmcuIiwKICAibmFtZSI6ICJIaWRlIFRvcCBCYXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaGlkZXRvcGJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tbHV0ZnkvaGlkZXRvcGJhciIsCiAgInV1aWQiOiAiaGlkZXRvcGJhckBtYXRoaWV1LmJpZG9uLmNhIiwKICAidmVyc2lvbiI6IDkzCn0="}, "40": {"version": "93", "sha256": "0x3l0l5bv6zsdkvk6gw35f43zhkwdgpliakr3jf92lbil0fngwhy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSB0b3AgYmFyLCBleGNlcHQgaW4gb3ZlcnZpZXcuIEhvd2V2ZXIsIHRoZXJlIGlzIGFuIG9wdGlvbiB0byBzaG93IHRoZSBwYW5lbCB3aGVuZXZlciB0aGUgbW91c2UgcG9pbnRlciBhcHByb2FjaGVzIHRoZSBlZGdlIG9mIHRoZSBzY3JlZW4uIEFuZCBpZiBcImludGVsbGloaWRlXCIgaXMgZW5hYmxlZCwgdGhlIHBhbmVsIG9ubHkgaGlkZXMgd2hlbiBhIHdpbmRvdyB0YWtlcyB0aGUgc3BhY2UuXG5cbi0gUHJlc3MgYmFja3NwYWNlIHRvIHJlbW92ZSBrZXlib2FyZCBzaG9ydGN1dC5cbi0gTG9nIG9mZiBhbmQgb24gYWdhaW4gd2hlbiB0aGVyZSBpcyBhbiBlcnJvciBhZnRlciB1cGdyYWRpbmcuIiwKICAibmFtZSI6ICJIaWRlIFRvcCBCYXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaGlkZXRvcGJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tbHV0ZnkvaGlkZXRvcGJhciIsCiAgInV1aWQiOiAiaGlkZXRvcGJhckBtYXRoaWV1LmJpZG9uLmNhIiwKICAidmVyc2lvbiI6IDkzCn0="}}}
 , {"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": "16", "sha256": "127w08jkiy5dyxhavn735ywr7q9d7cd4bpcv8iyrh0dmxbd1rh1a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgSGVicmV3IERhdGUgaW4gdGhlIFBhbmVsLlxuUmVxdWlyZXMgbGliaGRhdGUtZ2xpYiIsCiAgIm5hbWUiOiAiR25vbWUgSERhdGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMiIsCiAgICAiMy40IiwKICAgICIzLjYiLAogICAgIjMuOCIsCiAgICAiMy4xMCIsCiAgICAiMy4xMiIsCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbWlhZC9nbm9tZS1oZGF0ZSIsCiAgInV1aWQiOiAiaGRhdGVAaGF0dWwuaW5mbyIsCiAgInZlcnNpb24iOiAxNgp9"}}}
 , {"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": "34", "sha256": "0blwddf362fdq160kagfzk2r6vvyabmyjisfpahnl88jj57b4l47", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgc2hlbGwgaW50ZXJmYWNlIGZvciB0b2RvLnR4dC4gXG5cblRvZG8udHh0IGlzIGEgZnV0dXJlLXByb29mIHN5bnRheCBmb3IgdGFza3MgKG5vdCBtYWRlIGJ5IG1lKSwgZm9yIG1vcmUgaW5mbzogaHR0cDovL3RvZG90eHQuY29tL1xuXG5Tb21lIGV4YW1wbGVzOlxuVGFzazogQmFzaWMgdGFza1xuKEEpIFRhc2s6IEhpZ2ggcHJpb3JpdHkgdGFza1xuVGFzayBAcHJvamVjdCArY29udGV4dDogVGFzayBpcyBwYXJ0IG9mIHByb2plY3QgYW5kIGhhcyBhIGNlcnRhaW4gY29udGV4dFxueCAyMDEzLTA4LTIyIFRhc2s6IFRhc2sgd2FzIGNvbXBsZXRlZCBvbiB0aGUgMjJuZCBvZiBBdWd1c3RcblxuRm9yIG1vcmUgaW5mbyBhYm91dCB0aGUgc3ludGF4OiBodHRwczovL2dpdGh1Yi5jb20vZ2luYXRyYXBhbmkvdG9kby50eHQtY2xpL3dpa2kvVGhlLVRvZG8udHh0LUZvcm1hdFxuXG5RdWljayBzdGFydDpcbldoZW4geW91IGZpcnN0IGVuYWJsZSB0aGUgZXh0ZW5zaW9uLCBjaGFuY2VzIGFyZSBoaWdoIHlvdSdsbCBzZWUgYSBbWF0gaW4geW91ciB0b3AgcGFuZWwuIElmIHlvdSBjbGljayB0aGUgW1hdLCB5b3Ugd2lsbCBiZSBhYmxlIHRvIGNob29zZSBiZXR3ZWVuIGNyZWF0aW5nIHRoZSBuZWNlc3NhcnkgZmlsZXMgYXV0b21hdGljYWxseSBvciBzZWxlY3RpbmcgeW91ciBvd24gZXhpc3RpbmcgZmlsZXMgdG8gYmUgdXNlZCB3aXRoIHRoZSBleHRlbnNpb24uXG5cblBsZWFzZSB1c2UgdGhlIGlzc3VlIHRyYWNrZXIgb24gdGhlIGhvbWVwYWdlIHRvIHJlcG9ydCBidWdzIGFuZC9vciBmaWxlIGZlYXR1cmUgcmVxdWVzdHMsIHRoaXMgbWFrZXMgdHJhY2tpbmcgZWFzaWVyIGZvciBtZS4gVGhhbmtzIVxuXG5TZWUgdGhlIGluY2x1ZGVkIENIQU5HRUxPRy5tZCBmb3IgaW5mbyBhYm91dCBjaGFuZ2VzIGJldHdlZW4gZGlmZmVyZW50IHZlcnNpb25zLCBvciBzZWUgaXQgb25saW5lOiBodHRwczovL2dpdGxhYi5jb20vYmFydGwvdG9kby10eHQtZ25vbWUtc2hlbGwtZXh0ZW5zaW9uL3Jhdy9tYXN0ZXIvQ0hBTkdFTE9HLm1kIiwKICAibmFtZSI6ICJUb2RvLnR4dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2JhcnRsL3RvZG8tdHh0LWdub21lLXNoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAidG9kby50eHRAYmFydC5saWJlcnQuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDM0Cn0="}}}
 , {"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": "18", "sha256": "17a90g639id7bnl6wr86w231s7f0sbvrnk1phrv3hmiaf5i77mx3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgYmF0dGVyeSBpY29uIGluIHRvcCBwYW5lbCwgaWYgYmF0dGVyeSBpcyBmdWxseSBjaGFyZ2VkIGFuZCBBQyBpcyBjb25uZWN0ZWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhdXRvaGlkZS1iYXR0ZXJ5IiwKICAibmFtZSI6ICJBdXRvaGlkZSBCYXR0ZXJ5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FpL2F1dG9oaWRlLWJhdHRlcnkiLAogICJ1dWlkIjogImF1dG9oaWRlLWJhdHRlcnlAc2l0bmlrLnJ1IiwKICAidmVyc2lvbiI6IDE4Cn0="}}}
-, {"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": "30", "sha256": "1cgljhw0j263b4mcdr2583q3j63a1g47gv8prcjdh03q35qwrrvk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBsYXVuY2ggYSBuZXcgaW5zdGFuY2Ugd2hlbiBjbGlja2luZyBpbiB0aGUgZGFzaCBvciB0aGUgYXBwbGljYXRpb24gdmlldy5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogImxhdW5jaC1uZXctaW5zdGFuY2UiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAibmFtZSI6ICJMYXVuY2ggbmV3IGluc3RhbmNlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmxhdW5jaC1uZXctaW5zdGFuY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwLjAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJsYXVuY2gtbmV3LWluc3RhbmNlQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDMwCn0="}}}
-, {"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": "36", "sha256": "090lpxf7zdwg1x9nyagf3riag5w5dn9jd0bm0qz2jb0jbv0dlndk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgYSB3aW5kb3cgbGlzdCBhdCB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW4uXG5UaGlzIGV4dGVuc2lvbiBpcyBwYXJ0IG9mIENsYXNzaWMgTW9kZSBhbmQgaXMgb2ZmaWNpYWxseSBzdXBwb3J0ZWQgYnkgR05PTUUuIFBsZWFzZSBkbyBub3QgcmVwb3J0IGJ1Z3MgdXNpbmcgdGhlIGZvcm0gYmVsb3csIHVzZSBHTk9NRSdzIEdpdExhYiBpbnN0YW5jZSBpbnN0ZWFkLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aW5kb3ctbGlzdCIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIldpbmRvdyBMaXN0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndpbmRvdy1saXN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAid2luZG93LWxpc3RAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzYKfQ=="}}}
+, {"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": "20", "sha256": "0qzjkn97xqf2crc51fq9rkbhhcj5bhn6ba6z2z63bgm3wh2r6s5n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgYmF0dGVyeSBpY29uIGluIHRvcCBwYW5lbCwgaWYgYmF0dGVyeSBpcyBmdWxseSBjaGFyZ2VkIGFuZCBBQyBpcyBjb25uZWN0ZWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhdXRvaGlkZS1iYXR0ZXJ5IiwKICAibmFtZSI6ICJBdXRvaGlkZSBCYXR0ZXJ5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FpL2F1dG9oaWRlLWJhdHRlcnkiLAogICJ1dWlkIjogImF1dG9oaWRlLWJhdHRlcnlAc2l0bmlrLnJ1IiwKICAidmVyc2lvbiI6IDIwCn0="}}}
+, {"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"}}}
+, {"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": "38", "sha256": "0r4mqs88vnz8qrd2qcfg5gs184rnqbb9sgnpl3vrdmj608k1mx1a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgYSB3aW5kb3cgbGlzdCBhdCB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW4uXG5UaGlzIGV4dGVuc2lvbiBpcyBwYXJ0IG9mIENsYXNzaWMgTW9kZSBhbmQgaXMgb2ZmaWNpYWxseSBzdXBwb3J0ZWQgYnkgR05PTUUuIFBsZWFzZSBkbyBub3QgcmVwb3J0IGJ1Z3MgdXNpbmcgdGhlIGZvcm0gYmVsb3csIHVzZSBHTk9NRSdzIEdpdExhYiBpbnN0YW5jZSBpbnN0ZWFkLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aW5kb3ctbGlzdCIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIldpbmRvdyBMaXN0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndpbmRvdy1saXN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogIndpbmRvdy1saXN0QGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDM4Cn0="}}}
 , {"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": "KStatusNotifierItem/AppIndicator Support", "pname": "appindicator-support", "description": "Adds KStatusNotifierItem support to the Shell", "link": "https://extensions.gnome.org/extension/615/appindicator-support/", "shell_version_map": {"38": {"version": "37", "sha256": "1v7lsjpy6mkykkdkgz20xqdywf2a58rmqxfz2mrk07clxckzdlag", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgS1N0YXR1c05vdGlmaWVySXRlbSBzdXBwb3J0IHRvIHRoZSBTaGVsbCIsCiAgIm5hbWUiOiAiS1N0YXR1c05vdGlmaWVySXRlbS9BcHBJbmRpY2F0b3IgU3VwcG9ydCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS91YnVudHUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWFwcGluZGljYXRvciIsCiAgInV1aWQiOiAiYXBwaW5kaWNhdG9yc3VwcG9ydEByZ2Nqb25hcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMzcKfQ=="}, "40": {"version": "37", "sha256": "1v7lsjpy6mkykkdkgz20xqdywf2a58rmqxfz2mrk07clxckzdlag", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgS1N0YXR1c05vdGlmaWVySXRlbSBzdXBwb3J0IHRvIHRoZSBTaGVsbCIsCiAgIm5hbWUiOiAiS1N0YXR1c05vdGlmaWVySXRlbS9BcHBJbmRpY2F0b3IgU3VwcG9ydCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS91YnVudHUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWFwcGluZGljYXRvciIsCiAgInV1aWQiOiAiYXBwaW5kaWNhdG9yc3VwcG9ydEByZ2Nqb25hcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMzcKfQ=="}}}
+, {"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": "40", "sha256": "0pfp1x9fblgr4r37qlg9f33n7qznh0xs7n1cfbrzs07i7cxwp97g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgQXBwSW5kaWNhdG9yLCBLU3RhdHVzTm90aWZpZXJJdGVtIGFuZCBsZWdhY3kgVHJheSBpY29ucyBzdXBwb3J0IHRvIHRoZSBTaGVsbCIsCiAgImdldHRleHQtZG9tYWluIjogIkFwcEluZGljYXRvckV4dGVuc2lvbiIsCiAgIm5hbWUiOiAiQXBwSW5kaWNhdG9yIGFuZCBLU3RhdHVzTm90aWZpZXJJdGVtIFN1cHBvcnQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXBwaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3VidW50dS9nbm9tZS1zaGVsbC1leHRlbnNpb24tYXBwaW5kaWNhdG9yIiwKICAidXVpZCI6ICJhcHBpbmRpY2F0b3JzdXBwb3J0QHJnY2pvbmFzLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA0MAp9"}, "40": {"version": "40", "sha256": "0pfp1x9fblgr4r37qlg9f33n7qznh0xs7n1cfbrzs07i7cxwp97g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgQXBwSW5kaWNhdG9yLCBLU3RhdHVzTm90aWZpZXJJdGVtIGFuZCBsZWdhY3kgVHJheSBpY29ucyBzdXBwb3J0IHRvIHRoZSBTaGVsbCIsCiAgImdldHRleHQtZG9tYWluIjogIkFwcEluZGljYXRvckV4dGVuc2lvbiIsCiAgIm5hbWUiOiAiQXBwSW5kaWNhdG9yIGFuZCBLU3RhdHVzTm90aWZpZXJJdGVtIFN1cHBvcnQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXBwaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3VidW50dS9nbm9tZS1zaGVsbC1leHRlbnNpb24tYXBwaW5kaWNhdG9yIiwKICAidXVpZCI6ICJhcHBpbmRpY2F0b3JzdXBwb3J0QHJnY2pvbmFzLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA0MAp9"}}}
 , {"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": "58", "sha256": "1alsbyykqy2147ssx016ixqyj3phk3pmviw41dr0vakxfwr5f7g1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgaW5mbyBvbiB2YXJpb3VzIGNyeXB0by1jdXJyZW5jeSBleGNoYW5nZXMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtYml0Y29pbi1tYXJrZXRzIiwKICAiZ2l0LXZlcnNpb24iOiAidjU4IiwKICAibmFtZSI6ICJCaXRjb2luIE1hcmtldHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYml0Y29pbi1tYXJrZXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL090dG9BbGxtZW5kaW5nZXIvZ25vbWUtc2hlbGwtYml0Y29pbi1tYXJrZXRzLyIsCiAgInV1aWQiOiAiYml0Y29pbi1tYXJrZXRzQG90dG9hbGxtZW5kaW5nZXIuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1OAp9"}}}
 , {"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-2_0 / gir1.2-lunar-date-2.0", "link": "https://extensions.gnome.org/extension/675/lunar-calendar/", "shell_version_map": {"38": {"version": "25", "sha256": "18v9gq879mp4f9ljah163zxdasy27a3acjjs728ylkz8phxka6yl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiB0eXBlbGliLTFfMC1MdW5hckRhdGUtMl8wIC8gZ2lyMS4yLWx1bmFyLWRhdGUtMi4wIiwKICAibmFtZSI6ICJMdW5hciBDYWxlbmRhciBcdTUxOWNcdTUzODYiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubHVuYXItY2FsZW5kYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAibHVuYXJjYWxAYWlsaW4ubmVtdWkiLAogICJ2ZXJzaW9uIjogMjUKfQ=="}, "40": {"version": "26", "sha256": "0kf4p8pkr9r7kzfvb5dwlifbxkn92mq773m92vfmyiv79rwj1qzb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiB0eXBlbGliLTFfMC1MdW5hckRhdGUtMl8wIC8gZ2lyMS4yLWx1bmFyLWRhdGUtMi4wIiwKICAibmFtZSI6ICJMdW5hciBDYWxlbmRhciBcdTUxOWNcdTUzODYiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubHVuYXItY2FsZW5kYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImx1bmFyY2FsQGFpbGluLm5lbXVpIiwKICAidmVyc2lvbiI6IDI2Cn0="}}}
+, {"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": "26", "sha256": "0f5yiazgaylv9h2s53blw2jvs99wqnypdhf5j2p7i2wdyaq1hbip", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiB0eXBlbGliLTFfMC1MdW5hckRhdGUtM18wIC8gZ2lyMS4yLWx1bmFyLWRhdGUtMi4wIiwKICAibmFtZSI6ICJMdW5hciBDYWxlbmRhciBcdTUxOWNcdTUzODYiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubHVuYXItY2FsZW5kYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImx1bmFyY2FsQGFpbGluLm5lbXVpIiwKICAidmVyc2lvbiI6IDI2Cn0="}}}
 , {"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": "24", "sha256": "1i7l26x22wzqplq42z2317ynq4s4vwwzb3ql9lhpkyn8d7g7xa4x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB3b3Jrc3BhY2VzIGJ5IHNjcm9sbGluZyBvdmVyIHRoZSB0b3AgcGFuZWwiLAogICJuYW1lIjogIlRvcCBQYW5lbCBXb3Jrc3BhY2UgU2Nyb2xsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJ0aW1AZ2Z4bW9uay5uZXQiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5ldC5nZnhtb25rLnNjcm9sbC13b3Jrc3BhY2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dmeG1vbmsvZ25vbWUtc2hlbGwtc2Nyb2xsLXdvcmtzcGFjZXMiLAogICJ1dWlkIjogInNjcm9sbC13b3Jrc3BhY2VzQGdmeG1vbmsubmV0IiwKICAidmVyc2lvbiI6IDI0Cn0="}}}
+, {"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": "11", "sha256": "12d083bakv6l4dg6hmkh9c4q0cybfjq9y0dl3w85slsc7v60gj2w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpc3Qgb3BlbiB3aW5kb3dzIG9mIGFsbCB3b3Jrc3BhY2VzIiwKICAibmFtZSI6ICJBbGwgV2luZG93cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9seW9uZWwvYWxsLXdpbmRvd3MiLAogICJ1dWlkIjogImFsbC13aW5kb3dzQGV6aXgub3JnIiwKICAidmVyc2lvbiI6IDExCn0="}}}
 , {"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": "24", "sha256": "1y511ixqwz97mx3ykrlzafjskxri94sf9hlhjwnha9p3bys155bl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBpeGVsIFNhdmVyIGlzIGRlc2lnbmVkIHRvIHNhdmUgcGl4ZWwgYnkgZnVzaW5nIGFjdGl2aXR5IGJhciBhbmQgdGl0bGUgYmFyIGluIGEgbmF0dXJhbCB3YXkiLAogICJuYW1lIjogIlBpeGVsIFNhdmVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MC4xIiwKICAgICI0MC4yIiwKICAgICI0MC4zIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGVhZGFsbml4L3BpeGVsLXNhdmVyIiwKICAidXVpZCI6ICJwaXhlbC1zYXZlckBkZWFkYWxuaXgubWUiLAogICJ2ZXJzaW9uIjogMjQKfQ=="}, "40": {"version": "24", "sha256": "1y511ixqwz97mx3ykrlzafjskxri94sf9hlhjwnha9p3bys155bl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBpeGVsIFNhdmVyIGlzIGRlc2lnbmVkIHRvIHNhdmUgcGl4ZWwgYnkgZnVzaW5nIGFjdGl2aXR5IGJhciBhbmQgdGl0bGUgYmFyIGluIGEgbmF0dXJhbCB3YXkiLAogICJuYW1lIjogIlBpeGVsIFNhdmVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MC4xIiwKICAgICI0MC4yIiwKICAgICI0MC4zIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGVhZGFsbml4L3BpeGVsLXNhdmVyIiwKICAidXVpZCI6ICJwaXhlbC1zYXZlckBkZWFkYWxuaXgubWUiLAogICJ2ZXJzaW9uIjogMjQKfQ=="}}}
 , {"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": "11", "sha256": "0h04xkaad04nmh0hgcjaq8i7929j9cl79l5k4azrsrmbbz7181hb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBmcm9tIHRoZSBzdGF0dXMgYmFyICh0aGUgaG90IGNvcm5lciBhbmQga2V5Ym9hcmQgc2hvcnRjdXQga2VlcHMgd29ya2luZykuIFRvIGRpc2FibGUgdG9wIGxlZnQgaG90IGNvcm5lciB1c2UgJ05vIFRvcGxlZnQgSG90IENvcm5lcicgZXh0ZW5zaW9uIFx1MjAxNCBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8xMTgvbm8tdG9wbGVmdC1ob3QtY29ybmVyLyAuIiwKICAibmFtZSI6ICJIaWRlIEFjdGl2aXRpZXMgQnV0dG9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjEwIiwKICAgICIzLjEyIiwKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIkhpZGVfQWN0aXZpdGllc0BzaGF5LnNoYXllbC5vcmciLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "40": {"version": "11", "sha256": "0h04xkaad04nmh0hgcjaq8i7929j9cl79l5k4azrsrmbbz7181hb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBmcm9tIHRoZSBzdGF0dXMgYmFyICh0aGUgaG90IGNvcm5lciBhbmQga2V5Ym9hcmQgc2hvcnRjdXQga2VlcHMgd29ya2luZykuIFRvIGRpc2FibGUgdG9wIGxlZnQgaG90IGNvcm5lciB1c2UgJ05vIFRvcGxlZnQgSG90IENvcm5lcicgZXh0ZW5zaW9uIFx1MjAxNCBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8xMTgvbm8tdG9wbGVmdC1ob3QtY29ybmVyLyAuIiwKICAibmFtZSI6ICJIaWRlIEFjdGl2aXRpZXMgQnV0dG9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjEwIiwKICAgICIzLjEyIiwKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIkhpZGVfQWN0aXZpdGllc0BzaGF5LnNoYXllbC5vcmciLAogICJ2ZXJzaW9uIjogMTEKfQ=="}}}
 , {"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": "16", "sha256": "0wmvkczzs87zanp37hbi8adv56r0r38jl2xck3wvzss0dkdv9vni", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBzd2l0Y2ggZm9yIGNob29zaW5nIGF1ZGlvIG91dHB1dCB0byB0aGUgc3lzdGVtIG1lbnUuIiwKICAibmFtZSI6ICJBdWRpbyBPdXRwdXQgU3dpdGNoZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXVkaW8tb3V0cHV0LXN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cDovL2dpdGh1Yi5jb20vYWRheGkvYXVkaW8tb3V0cHV0LXN3aXRjaGVyIiwKICAidXVpZCI6ICJhdWRpby1vdXRwdXQtc3dpdGNoZXJAYW5kdWNocyIsCiAgInZlcnNpb24iOiAxNgp9"}, "40": {"version": "16", "sha256": "0wmvkczzs87zanp37hbi8adv56r0r38jl2xck3wvzss0dkdv9vni", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBzd2l0Y2ggZm9yIGNob29zaW5nIGF1ZGlvIG91dHB1dCB0byB0aGUgc3lzdGVtIG1lbnUuIiwKICAibmFtZSI6ICJBdWRpbyBPdXRwdXQgU3dpdGNoZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXVkaW8tb3V0cHV0LXN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cDovL2dpdGh1Yi5jb20vYWRheGkvYXVkaW8tb3V0cHV0LXN3aXRjaGVyIiwKICAidXVpZCI6ICJhdWRpby1vdXRwdXQtc3dpdGNoZXJAYW5kdWNocyIsCiAgInZlcnNpb24iOiAxNgp9"}}}
-, {"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": "26", "sha256": "1avj5v9lyfs3hkl9msjvnbkp9nlxag64aw7s2rl5mpval27401k7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBIaWJlcm5hdGUgYnV0dG9uIGluIFN0YXR1cyBtZW51LiBVc2luZyBBbHQgbW9kaWZpZXIsIHlvdSBjYW4gYWxzbyBzZWxlY3QgSHlicmlkIFNsZWVwIGluc3RlYWQuIiwKICAibmFtZSI6ICJIaWJlcm5hdGUgU3RhdHVzIEJ1dHRvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hcmVsYW5nZS9nbm9tZS1zaGVsbC1leHRlbnNpb24taGliZXJuYXRlLXN0YXR1cyIsCiAgInV1aWQiOiAiaGliZXJuYXRlLXN0YXR1c0Bkcm9taSIsCiAgInZlcnNpb24iOiAyNgp9"}}}
-, {"uuid": "minimizeall@scharlessantos.org", "name": "Minimize All", "pname": "minimize-all", "description": "Minimize all windows in current workspace", "link": "https://extensions.gnome.org/extension/760/minimize-all/", "shell_version_map": {"38": {"version": "18", "sha256": "1n2bdr9qdgg1m1a8b88vasaw01iavnp1q6hs8yifs3l7yqqwpqwi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmltaXplIGFsbCB3aW5kb3dzIGluIGN1cnJlbnQgd29ya3NwYWNlIiwKICAibmFtZSI6ICJNaW5pbWl6ZSBBbGwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9zY2hhcmxlc3NhbnRvcy9taW5pbWl6ZWFsbCIsCiAgInV1aWQiOiAibWluaW1pemVhbGxAc2NoYXJsZXNzYW50b3Mub3JnIiwKICAidmVyc2lvbiI6IDE4Cn0="}}}
-, {"uuid": "fq@megh", "name": "Force Quit", "pname": "force-quit", "description": "Adds a force quit button which launches xkill.\nOn accidental click, right click to undo or click on the panel.\nCustomize position by tweaking line 48 of extension.js", "link": "https://extensions.gnome.org/extension/770/force-quit/", "shell_version_map": {"38": {"version": "16", "sha256": "1ms1sir1vq97iq1s2p9fisxcg0jw9nn0zadvr5fcjqf2vmkcwpyp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBmb3JjZSBxdWl0IGJ1dHRvbiB3aGljaCBsYXVuY2hlcyB4a2lsbC5cbk9uIGFjY2lkZW50YWwgY2xpY2ssIHJpZ2h0IGNsaWNrIHRvIHVuZG8gb3IgY2xpY2sgb24gdGhlIHBhbmVsLlxuQ3VzdG9taXplIHBvc2l0aW9uIGJ5IHR3ZWFraW5nIGxpbmUgNDggb2YgZXh0ZW5zaW9uLmpzIiwKICAibmFtZSI6ICJGb3JjZSBRdWl0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWVnaHBya2gvZm9yY2UtcXVpdC8iLAogICJ1dWlkIjogImZxQG1lZ2giLAogICJ2ZXJzaW9uIjogMTYKfQ=="}, "40": {"version": "16", "sha256": "1ms1sir1vq97iq1s2p9fisxcg0jw9nn0zadvr5fcjqf2vmkcwpyp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBmb3JjZSBxdWl0IGJ1dHRvbiB3aGljaCBsYXVuY2hlcyB4a2lsbC5cbk9uIGFjY2lkZW50YWwgY2xpY2ssIHJpZ2h0IGNsaWNrIHRvIHVuZG8gb3IgY2xpY2sgb24gdGhlIHBhbmVsLlxuQ3VzdG9taXplIHBvc2l0aW9uIGJ5IHR3ZWFraW5nIGxpbmUgNDggb2YgZXh0ZW5zaW9uLmpzIiwKICAibmFtZSI6ICJGb3JjZSBRdWl0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWVnaHBya2gvZm9yY2UtcXVpdC8iLAogICJ1dWlkIjogImZxQG1lZ2giLAogICJ2ZXJzaW9uIjogMTYKfQ=="}}}
+, {"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": "30", "sha256": "0jxg8cbhfkw7pblpdg7kv5058c8f9xzdav0w9hgl7xlq1hacmacv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBIaWJlcm5hdGUgYnV0dG9uIGluIFN0YXR1cyBtZW51LiBVc2luZyBBbHQgbW9kaWZpZXIsIHlvdSBjYW4gYWxzbyBzZWxlY3QgSHlicmlkIFNsZWVwIGluc3RlYWQuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiaGliZXJuYXRlLXN0YXR1cy1idXR0b24iLAogICJuYW1lIjogIkhpYmVybmF0ZSBTdGF0dXMgQnV0dG9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FyZWxhbmdlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1oaWJlcm5hdGUtc3RhdHVzIiwKICAidXVpZCI6ICJoaWJlcm5hdGUtc3RhdHVzQGRyb21pIiwKICAidmVyc2lvbiI6IDMwCn0="}}}
+, {"uuid": "minimizeall@scharlessantos.org", "name": "Minimize All", "pname": "minimize-all", "description": "Minimize all windows in current workspace", "link": "https://extensions.gnome.org/extension/760/minimize-all/", "shell_version_map": {"38": {"version": "20", "sha256": "15v6h4wcznrylip57spjdkz0jk6y7hcp47607pj0yx5dmxjaws86", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmltaXplIGFsbCB3aW5kb3dzIGluIGN1cnJlbnQgd29ya3NwYWNlIiwKICAibmFtZSI6ICJNaW5pbWl6ZSBBbGwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vc2NoYXJsZXNzYW50b3MvbWluaW1pemVhbGwiLAogICJ1dWlkIjogIm1pbmltaXplYWxsQHNjaGFybGVzc2FudG9zLm9yZyIsCiAgInZlcnNpb24iOiAyMAp9"}, "40": {"version": "20", "sha256": "15v6h4wcznrylip57spjdkz0jk6y7hcp47607pj0yx5dmxjaws86", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmltaXplIGFsbCB3aW5kb3dzIGluIGN1cnJlbnQgd29ya3NwYWNlIiwKICAibmFtZSI6ICJNaW5pbWl6ZSBBbGwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vc2NoYXJsZXNzYW50b3MvbWluaW1pemVhbGwiLAogICJ1dWlkIjogIm1pbmltaXplYWxsQHNjaGFybGVzc2FudG9zLm9yZyIsCiAgInZlcnNpb24iOiAyMAp9"}}}
+, {"uuid": "fq@megh", "name": "Force Quit", "pname": "force-quit", "description": "Adds a force quit button which launches xkill.\nOn accidental click, right click to undo or click on the panel.\nCustomize position by tweaking line 47 of extension.js", "link": "https://extensions.gnome.org/extension/770/force-quit/", "shell_version_map": {"38": {"version": "18", "sha256": "1yww4xhww0lvfnxik8k5yfs9mhbsdd22g9sk26rf4qvqwyl7gjl4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBmb3JjZSBxdWl0IGJ1dHRvbiB3aGljaCBsYXVuY2hlcyB4a2lsbC5cbk9uIGFjY2lkZW50YWwgY2xpY2ssIHJpZ2h0IGNsaWNrIHRvIHVuZG8gb3IgY2xpY2sgb24gdGhlIHBhbmVsLlxuQ3VzdG9taXplIHBvc2l0aW9uIGJ5IHR3ZWFraW5nIGxpbmUgNDcgb2YgZXh0ZW5zaW9uLmpzIiwKICAibmFtZSI6ICJGb3JjZSBRdWl0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21lZ2hwcmtoL2ZvcmNlLXF1aXQvIiwKICAidXVpZCI6ICJmcUBtZWdoIiwKICAidmVyc2lvbiI6IDE4Cn0="}, "40": {"version": "19", "sha256": "1dmk4ilad5l22y6cnd6iwzc7zc6xr9yql3zj21cc7c0p4h1xrgca", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBmb3JjZSBxdWl0IGJ1dHRvbiB3aGljaCBsYXVuY2hlcyB4a2lsbC5cbk9uIGFjY2lkZW50YWwgY2xpY2ssIHJpZ2h0IGNsaWNrIHRvIHVuZG8gb3IgY2xpY2sgb24gdGhlIHBhbmVsLlxuQ3VzdG9taXplIHBvc2l0aW9uIGJ5IHR3ZWFraW5nIGxpbmUgNDcgb2YgZXh0ZW5zaW9uLmpzIiwKICAibmFtZSI6ICJGb3JjZSBRdWl0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21lZ2hwcmtoL2ZvcmNlLXF1aXQvIiwKICAidXVpZCI6ICJmcUBtZWdoIiwKICAidmVyc2lvbiI6IDE5Cn0="}}}
 , {"uuid": "ProxySwitcher@flannaghan.com", "name": "Proxy Switcher", "pname": "proxy-switcher", "description": "Switches between the system proxy settings profiles defined in Network Settings.", "link": "https://extensions.gnome.org/extension/771/proxy-switcher/", "shell_version_map": {"40": {"version": "14", "sha256": "1m0mj5p41fbbgwkyhc2csbk4hh8yhq6q4cm90ad74w4hb4fnm847", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaGVzIGJldHdlZW4gdGhlIHN5c3RlbSBwcm94eSBzZXR0aW5ncyBwcm9maWxlcyBkZWZpbmVkIGluIE5ldHdvcmsgU2V0dGluZ3MuIiwKICAibmFtZSI6ICJQcm94eSBTd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xMCIsCiAgICAiMy4xMiIsCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yMS45MSIsCiAgICAiMy4yMi4yIiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3RvbWZsYW5uYWdoYW4vcHJveHktc3dpdGNoZXIiLAogICJ1dWlkIjogIlByb3h5U3dpdGNoZXJAZmxhbm5hZ2hhbi5jb20iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}}}
 , {"uuid": "clipboard-indicator@tudmotu.com", "name": "Clipboard Indicator", "pname": "clipboard-indicator", "description": "Clipboard Manager extension for Gnome-Shell - Adds a clipboard indicator to the top panel, and caches clipboard history.", "link": "https://extensions.gnome.org/extension/779/clipboard-indicator/", "shell_version_map": {"38": {"version": "37", "sha256": "1nd6ydp5wmd56zf3vwrsi2wflrw15krdbvqv2fkmla8rndallp1i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsaXBib2FyZCBNYW5hZ2VyIGV4dGVuc2lvbiBmb3IgR25vbWUtU2hlbGwgLSBBZGRzIGEgY2xpcGJvYXJkIGluZGljYXRvciB0byB0aGUgdG9wIHBhbmVsLCBhbmQgY2FjaGVzIGNsaXBib2FyZCBoaXN0b3J5LiIsCiAgIm5hbWUiOiAiQ2xpcGJvYXJkIEluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1R1ZG1vdHUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWNsaXBib2FyZC1pbmRpY2F0b3IiLAogICJ1dWlkIjogImNsaXBib2FyZC1pbmRpY2F0b3JAdHVkbW90dS5jb20iLAogICJ2ZXJzaW9uIjogMzcKfQ=="}, "40": {"version": "38", "sha256": "1dw7x4x2assyqgzz9hcclkrpxpd1xkpvf31ll76573rg98n7h5kl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsaXBib2FyZCBNYW5hZ2VyIGV4dGVuc2lvbiBmb3IgR25vbWUtU2hlbGwgLSBBZGRzIGEgY2xpcGJvYXJkIGluZGljYXRvciB0byB0aGUgdG9wIHBhbmVsLCBhbmQgY2FjaGVzIGNsaXBib2FyZCBoaXN0b3J5LiIsCiAgIm5hbWUiOiAiQ2xpcGJvYXJkIEluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9UdWRtb3R1L2dub21lLXNoZWxsLWV4dGVuc2lvbi1jbGlwYm9hcmQtaW5kaWNhdG9yIiwKICAidXVpZCI6ICJjbGlwYm9hcmQtaW5kaWNhdG9yQHR1ZG1vdHUuY29tIiwKICAidmVyc2lvbiI6IDM4Cn0="}}}
+, {"uuid": "pidgin@muffinmad", "name": "Pidgin IM integration", "pname": "pidgin-im-integration", "description": "Integrate Pidgin IMs in the Gnome Shell message tray", "link": "https://extensions.gnome.org/extension/782/pidgin-im-integration/", "shell_version_map": {"40": {"version": "40", "sha256": "1cac3ys8j6hfn8rlkia32x8d5fq6hwc4g0s61h4agpnaiarmfsh3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZSBQaWRnaW4gSU1zIGluIHRoZSBHbm9tZSBTaGVsbCBtZXNzYWdlIHRyYXkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tcGlkZ2luIiwKICAibmFtZSI6ICJQaWRnaW4gSU0gaW50ZWdyYXRpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucGlkZ2luIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL211ZmZpbm1hZC9waWRnaW4taW0tZ25vbWUtc2hlbGwtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJwaWRnaW5AbXVmZmlubWFkIiwKICAidmVyc2lvbiI6IDQwCn0="}}}
+, {"uuid": "ShutdownTimer@neumann", "name": "ShutdownTimer", "pname": "shutdowntimer", "description": "Shutdown/suspend your device after a specific time.\n\nMaximum timer value und default slider position can be modified in the settings.", "link": "https://extensions.gnome.org/extension/792/shutdowntimer/", "shell_version_map": {"38": {"version": "30", "sha256": "0y2qb5c89khs6zcknh8w4f4zfpkwc99iwsb9hj5634waf57ybi6d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNodXRkb3duL3N1c3BlbmQgeW91ciBkZXZpY2UgYWZ0ZXIgYSBzcGVjaWZpYyB0aW1lLlxuXG5NYXhpbXVtIHRpbWVyIHZhbHVlIHVuZCBkZWZhdWx0IHNsaWRlciBwb3NpdGlvbiBjYW4gYmUgbW9kaWZpZWQgaW4gdGhlIHNldHRpbmdzLiIsCiAgImdldHRleHQtZG9tYWluIjogIlNodXRkb3duVGltZXIiLAogICJuYW1lIjogIlNodXRkb3duVGltZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2h1dGRvd250aW1lci1uZXVtYW5uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjEwIiwKICAgICIzLjEyIiwKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL25ldW1hbm4tZC9TaHV0ZG93blRpbWVyIiwKICAidXVpZCI6ICJTaHV0ZG93blRpbWVyQG5ldW1hbm4iLAogICJ2ZXJzaW9uIjogMzAKfQ=="}, "40": {"version": "30", "sha256": "0y2qb5c89khs6zcknh8w4f4zfpkwc99iwsb9hj5634waf57ybi6d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNodXRkb3duL3N1c3BlbmQgeW91ciBkZXZpY2UgYWZ0ZXIgYSBzcGVjaWZpYyB0aW1lLlxuXG5NYXhpbXVtIHRpbWVyIHZhbHVlIHVuZCBkZWZhdWx0IHNsaWRlciBwb3NpdGlvbiBjYW4gYmUgbW9kaWZpZWQgaW4gdGhlIHNldHRpbmdzLiIsCiAgImdldHRleHQtZG9tYWluIjogIlNodXRkb3duVGltZXIiLAogICJuYW1lIjogIlNodXRkb3duVGltZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2h1dGRvd250aW1lci1uZXVtYW5uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjEwIiwKICAgICIzLjEyIiwKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL25ldW1hbm4tZC9TaHV0ZG93blRpbWVyIiwKICAidXVpZCI6ICJTaHV0ZG93blRpbWVyQG5ldW1hbm4iLAogICJ2ZXJzaW9uIjogMzAKfQ=="}}}
 , {"uuid": "hide-dash@xenatt.github.com", "name": "Hide Dash X", "pname": "hide-dash", "description": "Hide the dash from the activities overview.", "link": "https://extensions.gnome.org/extension/805/hide-dash/", "shell_version_map": {"38": {"version": "10", "sha256": "059cy18awzv9qyn803zjyxiznacnf6pai8px2mb9mrbyf98153xz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgdGhlIGRhc2ggZnJvbSB0aGUgYWN0aXZpdGllcyBvdmVydmlldy4iLAogICJuYW1lIjogIkhpZGUgRGFzaCBYIiwKICAib3JpZ2luYWwtYXV0aG9yIjogInphY2JhcnRvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xMCIsCiAgICAiMy4xMiIsCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0VkZW5ob2Zlci9NaW5pbWFsaXNtLUdub21lLVNoZWxsIiwKICAidXVpZCI6ICJoaWRlLWRhc2hAeGVuYXR0LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}}}
-, {"uuid": "keyman@dpoetzsch.github.com", "name": "KeyMan", "pname": "keyman", "description": "Access passwords from the gnome keyring in a convenient way:\nSimply search for your password and copy it to clipboad by clicking it. After a certain amount of time it will be removed automatically (default is 5 seconds). As this only works if the keyrings are unlocked, this extension also provides easy access to lock/unlock keyrings.", "link": "https://extensions.gnome.org/extension/819/keyman/", "shell_version_map": {"40": {"version": "19", "sha256": "03ykk4jaha0cnl3xz8hdnksxwyw7l23d5fbf65kclwcvvg93mj9f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFjY2VzcyBwYXNzd29yZHMgZnJvbSB0aGUgZ25vbWUga2V5cmluZyBpbiBhIGNvbnZlbmllbnQgd2F5OlxuU2ltcGx5IHNlYXJjaCBmb3IgeW91ciBwYXNzd29yZCBhbmQgY29weSBpdCB0byBjbGlwYm9hZCBieSBjbGlja2luZyBpdC4gQWZ0ZXIgYSBjZXJ0YWluIGFtb3VudCBvZiB0aW1lIGl0IHdpbGwgYmUgcmVtb3ZlZCBhdXRvbWF0aWNhbGx5IChkZWZhdWx0IGlzIDUgc2Vjb25kcykuIEFzIHRoaXMgb25seSB3b3JrcyBpZiB0aGUga2V5cmluZ3MgYXJlIHVubG9ja2VkLCB0aGlzIGV4dGVuc2lvbiBhbHNvIHByb3ZpZGVzIGVhc3kgYWNjZXNzIHRvIGxvY2svdW5sb2NrIGtleXJpbmdzLiIsCiAgIm5hbWUiOiAiS2V5TWFuIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJrZXltYW5AcG9laGUuZGUiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmtleW1hbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kcG9ldHpzY2gva2V5bWFuIiwKICAidXVpZCI6ICJrZXltYW5AZHBvZXR6c2NoLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTkKfQ=="}}}
+, {"uuid": "hide-workspace@xenatt.github.com", "name": "Hide Workspace Thumbnails", "pname": "hide-workspace-thumbnails", "description": "Hide workspace thumbnails from the overview. But don't worry they are still present and one can switch between them like usual with e.g. shortcuts..", "link": "https://extensions.gnome.org/extension/808/hide-workspace-thumbnails/", "shell_version_map": {"40": {"version": "16", "sha256": "0443zyqr2hwq5fj3h8zch8iav83xzj4bqn1k6qd5f2z46kvzj611", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgd29ya3NwYWNlIHRodW1ibmFpbHMgZnJvbSB0aGUgb3ZlcnZpZXcuIEJ1dCBkb24ndCB3b3JyeSB0aGV5IGFyZSBzdGlsbCBwcmVzZW50IGFuZCBvbmUgY2FuIHN3aXRjaCBiZXR3ZWVuIHRoZW0gbGlrZSB1c3VhbCB3aXRoIGUuZy4gc2hvcnRjdXRzLi4iLAogICJuYW1lIjogIkhpZGUgV29ya3NwYWNlIFRodW1ibmFpbHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMTAiLAogICAgIjMuMTIiLAogICAgIjMuMTQiLAogICAgIjMuMTYiLAogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRWRlbmhvZmVyL01pbmltYWxpc20tR25vbWUtU2hlbGwiLAogICJ1dWlkIjogImhpZGUtd29ya3NwYWNlQHhlbmF0dC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}}}
+, {"uuid": "keyman@dpoetzsch.github.com", "name": "KeyMan", "pname": "keyman", "description": "Access passwords from the gnome keyring in a convenient way:\nSimply search for your password and copy it to clipboad by clicking it. After a certain amount of time it will be removed automatically (default is 5 seconds). As this only works if the keyrings are unlocked, this extension also provides easy access to lock/unlock keyrings.", "link": "https://extensions.gnome.org/extension/819/keyman/", "shell_version_map": {"40": {"version": "20", "sha256": "1wd76bdnzs7mxwwyvffw0fm8r8chsblz3dinpwiyc5d5kmlnyv5v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFjY2VzcyBwYXNzd29yZHMgZnJvbSB0aGUgZ25vbWUga2V5cmluZyBpbiBhIGNvbnZlbmllbnQgd2F5OlxuU2ltcGx5IHNlYXJjaCBmb3IgeW91ciBwYXNzd29yZCBhbmQgY29weSBpdCB0byBjbGlwYm9hZCBieSBjbGlja2luZyBpdC4gQWZ0ZXIgYSBjZXJ0YWluIGFtb3VudCBvZiB0aW1lIGl0IHdpbGwgYmUgcmVtb3ZlZCBhdXRvbWF0aWNhbGx5IChkZWZhdWx0IGlzIDUgc2Vjb25kcykuIEFzIHRoaXMgb25seSB3b3JrcyBpZiB0aGUga2V5cmluZ3MgYXJlIHVubG9ja2VkLCB0aGlzIGV4dGVuc2lvbiBhbHNvIHByb3ZpZGVzIGVhc3kgYWNjZXNzIHRvIGxvY2svdW5sb2NrIGtleXJpbmdzLiIsCiAgIm5hbWUiOiAiS2V5TWFuIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJrZXltYW5AcG9laGUuZGUiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmtleW1hbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kcG9ldHpzY2gva2V5bWFuIiwKICAidXVpZCI6ICJrZXltYW5AZHBvZXR6c2NoLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMjAKfQ=="}}}
+, {"uuid": "time_tracker_jsnjack@gmail.com", "name": "Time Tracker", "pname": "time-tracker", "description": "Helps track time", "link": "https://extensions.gnome.org/extension/823/time-tracker/", "shell_version_map": {"40": {"version": "22", "sha256": "07fp4zal4s91j0z6lr07xypr7yzmc7lnnh5pplxjnyvqa5aplagy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhlbHBzIHRyYWNrIHRpbWUiLAogICJuYW1lIjogIlRpbWUgVHJhY2tlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50aW1lLXRyYWNrZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vanNuamFjay90aW1lLXRyYWNrZXIvIiwKICAidXVpZCI6ICJ0aW1lX3RyYWNrZXJfanNuamFja0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjIKfQ=="}}}
+, {"uuid": "pwcalc@thilomaurer.de", "name": "Password Calculator", "pname": "password-calculator", "description": "This extension calculates strong passwords for each alias from your single secret. No need to remember dozens of passwords any longer. No need for a password manager any longer. Full freedom in choosing aliases and secret, e.g. alias: \"username@google.com#2014\", secret: \"saFe⚿in漢字\". Recent aliases are kept in a easily accessible drop-down. You may choose between HMAC_SHA1 and SHA1. The formula is as simple as \"[secret][alias]\" → SHA1 → BASE64 ", "link": "https://extensions.gnome.org/extension/825/password-calculator/", "shell_version_map": {"40": {"version": "22", "sha256": "1xx6jcirqhzm37nm4hjiyihnp7ry300b37xa448k9n87szv7pxv8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGNhbGN1bGF0ZXMgc3Ryb25nIHBhc3N3b3JkcyBmb3IgZWFjaCBhbGlhcyBmcm9tIHlvdXIgc2luZ2xlIHNlY3JldC4gTm8gbmVlZCB0byByZW1lbWJlciBkb3plbnMgb2YgcGFzc3dvcmRzIGFueSBsb25nZXIuIE5vIG5lZWQgZm9yIGEgcGFzc3dvcmQgbWFuYWdlciBhbnkgbG9uZ2VyLiBGdWxsIGZyZWVkb20gaW4gY2hvb3NpbmcgYWxpYXNlcyBhbmQgc2VjcmV0LCBlLmcuIGFsaWFzOiBcInVzZXJuYW1lQGdvb2dsZS5jb20jMjAxNFwiLCBzZWNyZXQ6IFwic2FGZVx1MjZiZmluXHU2ZjIyXHU1YjU3XCIuIFJlY2VudCBhbGlhc2VzIGFyZSBrZXB0IGluIGEgZWFzaWx5IGFjY2Vzc2libGUgZHJvcC1kb3duLiBZb3UgbWF5IGNob29zZSBiZXR3ZWVuIEhNQUNfU0hBMSBhbmQgU0hBMS4gVGhlIGZvcm11bGEgaXMgYXMgc2ltcGxlIGFzIFwiW3NlY3JldF1bYWxpYXNdXCIgXHUyMTkyIFNIQTEgXHUyMTkyIEJBU0U2NCAiLAogICJuYW1lIjogIlBhc3N3b3JkIENhbGN1bGF0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucHdjYWxjIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3RoaWxvbWF1cmVyL3B3Y2FsYyIsCiAgInV1aWQiOiAicHdjYWxjQHRoaWxvbWF1cmVyLmRlIiwKICAidmVyc2lvbiI6IDIyCn0="}}}
 , {"uuid": "SwitchFocusType@romano.rgtti.com", "name": "Switch Focus Type", "pname": "switch-focus-type", "description": "Toggle between focus-follow-mouse and click-to-focus mode", "link": "https://extensions.gnome.org/extension/827/switch-focus-type/", "shell_version_map": {"38": {"version": "5", "sha256": "08vdwz4vdjdngaxizygkkgs693hnihy3wwnzw49pkdn6m006yr72", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSBiZXR3ZWVuIGZvY3VzLWZvbGxvdy1tb3VzZSBhbmQgY2xpY2stdG8tZm9jdXMgbW9kZSIsCiAgIm5hbWUiOiAiU3dpdGNoIEZvY3VzIFR5cGUiLAogICJvcmlnaW5hbC1hdXRob3JzIjogIlJvbWFubyBHaWFubmV0dGkgPHJvbWFuby5naWFubmV0dGlAZ21haWwuY29tPiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1JtYW5vL2dzZS1zd2l0Y2gtZm9jdXMtbW9kZSIsCiAgInV1aWQiOiAiU3dpdGNoRm9jdXNUeXBlQHJvbWFuby5yZ3R0aS5jb20iLAogICJ2ZXJzaW9uIjogNQp9"}}}
 , {"uuid": "radio@hslbck.gmail.com", "name": "Internet Radio", "pname": "internet-radio", "description": "Listen to an Internet Radio Stream", "link": "https://extensions.gnome.org/extension/836/internet-radio/", "shell_version_map": {"38": {"version": "14", "sha256": "013wbf3npz7f438i39cd41s6whs4lgaigv4i1zais994n9ybw5y9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpc3RlbiB0byBhbiBJbnRlcm5ldCBSYWRpbyBTdHJlYW0iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJyYWRpb0Boc2xiY2suZ21haWwuY29tIiwKICAibmFtZSI6ICJJbnRlcm5ldCBSYWRpbyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5yYWRpbyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hzbGJjay9nbm9tZS1zaGVsbC1leHRlbnNpb24tcmFkaW8iLAogICJ1dWlkIjogInJhZGlvQGhzbGJjay5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "40": {"version": "15", "sha256": "0l5wi3f78shh2p23mjpjazygbw8wxnmzmwmjs0ng317ya2hnzkh4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpc3RlbiB0byBhbiBJbnRlcm5ldCBSYWRpbyBTdHJlYW0iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJyYWRpb0Boc2xiY2suZ21haWwuY29tIiwKICAibmFtZSI6ICJJbnRlcm5ldCBSYWRpbyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5yYWRpbyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oc2xiY2svZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXJhZGlvIiwKICAidXVpZCI6ICJyYWRpb0Boc2xiY2suZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE1Cn0="}}}
 , {"uuid": "freon@UshakovVasilii_Github.yahoo.com", "name": "Freon", "pname": "freon", "description": "Shows CPU temperature, disk temperature, video card temperature (NVIDIA/Catalyst/Bumblebee&NVIDIA), voltage and fan RPM (forked from xtranophilist/gnome-shell-extension-sensors)", "link": "https://extensions.gnome.org/extension/841/freon/", "shell_version_map": {"38": {"version": "43", "sha256": "06jj01flj6iyx93aqz8ipzijnrammp6xqpgqwxfh0pf2clr6nwrq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIENQVSB0ZW1wZXJhdHVyZSwgZGlzayB0ZW1wZXJhdHVyZSwgdmlkZW8gY2FyZCB0ZW1wZXJhdHVyZSAoTlZJRElBL0NhdGFseXN0L0J1bWJsZWJlZSZOVklESUEpLCB2b2x0YWdlIGFuZCBmYW4gUlBNIChmb3JrZWQgZnJvbSB4dHJhbm9waGlsaXN0L2dub21lLXNoZWxsLWV4dGVuc2lvbi1zZW5zb3JzKSIsCiAgImdldHRleHQtZG9tYWluIjogImZyZW9uIiwKICAibmFtZSI6ICJGcmVvbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mcmVvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1VzaGFrb3ZWYXNpbGlpL2dub21lLXNoZWxsLWV4dGVuc2lvbi1mcmVvbiIsCiAgInV1aWQiOiAiZnJlb25AVXNoYWtvdlZhc2lsaWlfR2l0aHViLnlhaG9vLmNvbSIsCiAgInZlcnNpb24iOiA0Mwp9"}, "40": {"version": "44", "sha256": "0w8knrx85wd9yfjrki6vvsjwljkdcnl5677aj05f7nhg26ipsqqz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIENQVSB0ZW1wZXJhdHVyZSwgZGlzayB0ZW1wZXJhdHVyZSwgdmlkZW8gY2FyZCB0ZW1wZXJhdHVyZSAoTlZJRElBL0NhdGFseXN0L0J1bWJsZWJlZSZOVklESUEpLCB2b2x0YWdlIGFuZCBmYW4gUlBNIChmb3JrZWQgZnJvbSB4dHJhbm9waGlsaXN0L2dub21lLXNoZWxsLWV4dGVuc2lvbi1zZW5zb3JzKSIsCiAgImdldHRleHQtZG9tYWluIjogImZyZW9uIiwKICAibmFtZSI6ICJGcmVvbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mcmVvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1VzaGFrb3ZWYXNpbGlpL2dub21lLXNoZWxsLWV4dGVuc2lvbi1mcmVvbiIsCiAgInV1aWQiOiAiZnJlb25AVXNoYWtvdlZhc2lsaWlfR2l0aHViLnlhaG9vLmNvbSIsCiAgInZlcnNpb24iOiA0NAp9"}}}
-, {"uuid": "shell-volume-mixer@derhofbauer.at", "name": "Volume Mixer", "pname": "volume-mixer", "description": "Applet allowing separate configuration of PulseAudio mixers.\n\nShell Volume Mixer is an extension for GNOME Shell allowing separate configuration of PulseAudio devices and output switches. It features a profile switcher to quickly switch between pinned profiles and devices.\n\nMiddle mouse click on a slider mutes the selected stream.\n\nPlease file bugs and feature requests on the GitHub page.", "link": "https://extensions.gnome.org/extension/858/volume-mixer/", "shell_version_map": {"38": {"version": "39", "sha256": "1cnyapjvqri5k5m4nbcmbcx97b4akwv32h7ddav2ipahqh1lqqzj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcGxldCBhbGxvd2luZyBzZXBhcmF0ZSBjb25maWd1cmF0aW9uIG9mIFB1bHNlQXVkaW8gbWl4ZXJzLlxuXG5TaGVsbCBWb2x1bWUgTWl4ZXIgaXMgYW4gZXh0ZW5zaW9uIGZvciBHTk9NRSBTaGVsbCBhbGxvd2luZyBzZXBhcmF0ZSBjb25maWd1cmF0aW9uIG9mIFB1bHNlQXVkaW8gZGV2aWNlcyBhbmQgb3V0cHV0IHN3aXRjaGVzLiBJdCBmZWF0dXJlcyBhIHByb2ZpbGUgc3dpdGNoZXIgdG8gcXVpY2tseSBzd2l0Y2ggYmV0d2VlbiBwaW5uZWQgcHJvZmlsZXMgYW5kIGRldmljZXMuXG5cbk1pZGRsZSBtb3VzZSBjbGljayBvbiBhIHNsaWRlciBtdXRlcyB0aGUgc2VsZWN0ZWQgc3RyZWFtLlxuXG5QbGVhc2UgZmlsZSBidWdzIGFuZCBmZWF0dXJlIHJlcXVlc3RzIG9uIHRoZSBHaXRIdWIgcGFnZS4iLAogICJuYW1lIjogIlZvbHVtZSBNaXhlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FsZWhvL2dub21lLXNoZWxsLXZvbHVtZS1taXhlciIsCiAgInV1aWQiOiAic2hlbGwtdm9sdW1lLW1peGVyQGRlcmhvZmJhdWVyLmF0IiwKICAidmVyc2lvbiI6IDM5Cn0="}}}
-, {"uuid": "screenshot-window-sizer@gnome-shell-extensions.gcampax.github.com", "name": "Screenshot Window Sizer", "pname": "screenshot-window-sizer", "description": "Resize windows for GNOME Software screenshots", "link": "https://extensions.gnome.org/extension/881/screenshot-window-sizer/", "shell_version_map": {"38": {"version": "22", "sha256": "18b8f2agv397pdyaicx2qirqfnm0swbnspw43kb2hr0jn8lkzz1v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlc2l6ZSB3aW5kb3dzIGZvciBHTk9NRSBTb2Z0d2FyZSBzY3JlZW5zaG90cyIsCiAgImV4dGVuc2lvbi1pZCI6ICJzY3JlZW5zaG90LXdpbmRvdy1zaXplciIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIlNjcmVlbnNob3QgV2luZG93IFNpemVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNjcmVlbnNob3Qtd2luZG93LXNpemVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAic2NyZWVuc2hvdC13aW5kb3ctc2l6ZXJAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMjIKfQ=="}, "40": {"version": "24", "sha256": "0igv1lnnbdjyl2l3sbx32i10w2wk18mms3mvnjr7q737m8aly77p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlc2l6ZSB3aW5kb3dzIGZvciBHTk9NRSBTb2Z0d2FyZSBzY3JlZW5zaG90cyIsCiAgImV4dGVuc2lvbi1pZCI6ICJzY3JlZW5zaG90LXdpbmRvdy1zaXplciIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIlNjcmVlbnNob3QgV2luZG93IFNpemVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNjcmVlbnNob3Qtd2luZG93LXNpemVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAic2NyZWVuc2hvdC13aW5kb3ctc2l6ZXJAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMjQKfQ=="}}}
+, {"uuid": "shell-volume-mixer@derhofbauer.at", "name": "Volume Mixer", "pname": "volume-mixer", "description": "Applet allowing separate configuration of PulseAudio mixers.\n\nShell Volume Mixer is an extension for GNOME Shell allowing separate configuration of PulseAudio devices and output switches. It features a profile switcher to quickly switch between pinned profiles and devices.\n\nMiddle mouse click on a slider mutes the selected stream.\n\nPlease file bugs and feature requests on the GitHub page.", "link": "https://extensions.gnome.org/extension/858/volume-mixer/", "shell_version_map": {"38": {"version": "39", "sha256": "1cnyapjvqri5k5m4nbcmbcx97b4akwv32h7ddav2ipahqh1lqqzj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcGxldCBhbGxvd2luZyBzZXBhcmF0ZSBjb25maWd1cmF0aW9uIG9mIFB1bHNlQXVkaW8gbWl4ZXJzLlxuXG5TaGVsbCBWb2x1bWUgTWl4ZXIgaXMgYW4gZXh0ZW5zaW9uIGZvciBHTk9NRSBTaGVsbCBhbGxvd2luZyBzZXBhcmF0ZSBjb25maWd1cmF0aW9uIG9mIFB1bHNlQXVkaW8gZGV2aWNlcyBhbmQgb3V0cHV0IHN3aXRjaGVzLiBJdCBmZWF0dXJlcyBhIHByb2ZpbGUgc3dpdGNoZXIgdG8gcXVpY2tseSBzd2l0Y2ggYmV0d2VlbiBwaW5uZWQgcHJvZmlsZXMgYW5kIGRldmljZXMuXG5cbk1pZGRsZSBtb3VzZSBjbGljayBvbiBhIHNsaWRlciBtdXRlcyB0aGUgc2VsZWN0ZWQgc3RyZWFtLlxuXG5QbGVhc2UgZmlsZSBidWdzIGFuZCBmZWF0dXJlIHJlcXVlc3RzIG9uIHRoZSBHaXRIdWIgcGFnZS4iLAogICJuYW1lIjogIlZvbHVtZSBNaXhlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FsZWhvL2dub21lLXNoZWxsLXZvbHVtZS1taXhlciIsCiAgInV1aWQiOiAic2hlbGwtdm9sdW1lLW1peGVyQGRlcmhvZmJhdWVyLmF0IiwKICAidmVyc2lvbiI6IDM5Cn0="}, "40": {"version": "40", "sha256": "1s4jzq1iy006k3m0r28qiayb46135y71qqv583k1sn9sppda5b4d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcGxldCBhbGxvd2luZyBzZXBhcmF0ZSBjb25maWd1cmF0aW9uIG9mIFB1bHNlQXVkaW8gbWl4ZXJzLlxuXG5TaGVsbCBWb2x1bWUgTWl4ZXIgaXMgYW4gZXh0ZW5zaW9uIGZvciBHTk9NRSBTaGVsbCBhbGxvd2luZyBzZXBhcmF0ZSBjb25maWd1cmF0aW9uIG9mIFB1bHNlQXVkaW8gZGV2aWNlcyBhbmQgb3V0cHV0IHN3aXRjaGVzLiBJdCBmZWF0dXJlcyBhIHByb2ZpbGUgc3dpdGNoZXIgdG8gcXVpY2tseSBzd2l0Y2ggYmV0d2VlbiBwaW5uZWQgcHJvZmlsZXMgYW5kIGRldmljZXMuXG5cbk1pZGRsZSBtb3VzZSBjbGljayBvbiBhIHNsaWRlciBtdXRlcyB0aGUgc2VsZWN0ZWQgc3RyZWFtLlxuXG5QbGVhc2UgZmlsZSBidWdzIGFuZCBmZWF0dXJlIHJlcXVlc3RzIG9uIHRoZSBHaXRIdWIgcGFnZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zLXNoZWxsLXZvbHVtZS1taXhlciIsCiAgIm5hbWUiOiAiVm9sdW1lIE1peGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNoZWxsLXZvbHVtZS1taXhlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbGVoby9nbm9tZS1zaGVsbC12b2x1bWUtbWl4ZXIiLAogICJ1dWlkIjogInNoZWxsLXZvbHVtZS1taXhlckBkZXJob2ZiYXVlci5hdCIsCiAgInZlcnNpb24iOiA0MAp9"}}}
+, {"uuid": "screenshot-window-sizer@gnome-shell-extensions.gcampax.github.com", "name": "Screenshot Window Sizer", "pname": "screenshot-window-sizer", "description": "Resize windows for GNOME Software screenshots", "link": "https://extensions.gnome.org/extension/881/screenshot-window-sizer/", "shell_version_map": {"38": {"version": "22", "sha256": "18b8f2agv397pdyaicx2qirqfnm0swbnspw43kb2hr0jn8lkzz1v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlc2l6ZSB3aW5kb3dzIGZvciBHTk9NRSBTb2Z0d2FyZSBzY3JlZW5zaG90cyIsCiAgImV4dGVuc2lvbi1pZCI6ICJzY3JlZW5zaG90LXdpbmRvdy1zaXplciIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIlNjcmVlbnNob3QgV2luZG93IFNpemVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNjcmVlbnNob3Qtd2luZG93LXNpemVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAic2NyZWVuc2hvdC13aW5kb3ctc2l6ZXJAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMjIKfQ=="}, "40": {"version": "25", "sha256": "0pdf76kf6z7m9wvqsy36v1r02zfk8pgkpf21im2cq9x4qwh9gkf2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlc2l6ZSB3aW5kb3dzIGZvciBHTk9NRSBTb2Z0d2FyZSBzY3JlZW5zaG90cyIsCiAgImV4dGVuc2lvbi1pZCI6ICJzY3JlZW5zaG90LXdpbmRvdy1zaXplciIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIlNjcmVlbnNob3QgV2luZG93IFNpemVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNjcmVlbnNob3Qtd2luZG93LXNpemVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogInNjcmVlbnNob3Qtd2luZG93LXNpemVyQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDI1Cn0="}}}
 , {"uuid": "mailnag@pulb.github.com", "name": "Mailnag", "pname": "mailnag", "description": "Mail indicator (GMail, IMAP, POP) for GNOME.\n\nPlease note that this extension requires the mailnag daemon.\nInstall it from your distros package repositories or get it here:\nhttps://github.com/pulb/mailnag\n\nPlease also note that this version of the extension does not support avatars (as shown in the screenshot).\nIf you like to have avatar support install this extension from your distros package repositories or get a package from here:\nhttps://github.com/pulb/mailnag-gnome-shell\n\nIMPORTANT:\nI do not get notifications for user comments. Please always report bugs here:\nhttps://github.com/pulb/mailnag-gnome-shell/issues", "link": "https://extensions.gnome.org/extension/886/mailnag/", "shell_version_map": {"38": {"version": "20", "sha256": "15n816y34qlc7va72q75ngzw1my3n5j7xhg9a6dc0g8q4dd0g2r9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1haWwgaW5kaWNhdG9yIChHTWFpbCwgSU1BUCwgUE9QKSBmb3IgR05PTUUuXG5cblBsZWFzZSBub3RlIHRoYXQgdGhpcyBleHRlbnNpb24gcmVxdWlyZXMgdGhlIG1haWxuYWcgZGFlbW9uLlxuSW5zdGFsbCBpdCBmcm9tIHlvdXIgZGlzdHJvcyBwYWNrYWdlIHJlcG9zaXRvcmllcyBvciBnZXQgaXQgaGVyZTpcbmh0dHBzOi8vZ2l0aHViLmNvbS9wdWxiL21haWxuYWdcblxuUGxlYXNlIGFsc28gbm90ZSB0aGF0IHRoaXMgdmVyc2lvbiBvZiB0aGUgZXh0ZW5zaW9uIGRvZXMgbm90IHN1cHBvcnQgYXZhdGFycyAoYXMgc2hvd24gaW4gdGhlIHNjcmVlbnNob3QpLlxuSWYgeW91IGxpa2UgdG8gaGF2ZSBhdmF0YXIgc3VwcG9ydCBpbnN0YWxsIHRoaXMgZXh0ZW5zaW9uIGZyb20geW91ciBkaXN0cm9zIHBhY2thZ2UgcmVwb3NpdG9yaWVzIG9yIGdldCBhIHBhY2thZ2UgZnJvbSBoZXJlOlxuaHR0cHM6Ly9naXRodWIuY29tL3B1bGIvbWFpbG5hZy1nbm9tZS1zaGVsbFxuXG5JTVBPUlRBTlQ6XG5JIGRvIG5vdCBnZXQgbm90aWZpY2F0aW9ucyBmb3IgdXNlciBjb21tZW50cy4gUGxlYXNlIGFsd2F5cyByZXBvcnQgYnVncyBoZXJlOlxuaHR0cHM6Ly9naXRodWIuY29tL3B1bGIvbWFpbG5hZy1nbm9tZS1zaGVsbC9pc3N1ZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJtYWlsbmFnLWdub21lLXNoZWxsIiwKICAibmFtZSI6ICJNYWlsbmFnIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1haWxuYWciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAibWFpbG5hZ0BwdWxiLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMjAKfQ=="}, "40": {"version": "21", "sha256": "060lmc6jacjv1p4a6n7c3l0kmfskq012pgrf2gar0kf49lqrp665", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1haWwgaW5kaWNhdG9yIChHTWFpbCwgSU1BUCwgUE9QKSBmb3IgR05PTUUuXG5cblBsZWFzZSBub3RlIHRoYXQgdGhpcyBleHRlbnNpb24gcmVxdWlyZXMgdGhlIG1haWxuYWcgZGFlbW9uLlxuSW5zdGFsbCBpdCBmcm9tIHlvdXIgZGlzdHJvcyBwYWNrYWdlIHJlcG9zaXRvcmllcyBvciBnZXQgaXQgaGVyZTpcbmh0dHBzOi8vZ2l0aHViLmNvbS9wdWxiL21haWxuYWdcblxuUGxlYXNlIGFsc28gbm90ZSB0aGF0IHRoaXMgdmVyc2lvbiBvZiB0aGUgZXh0ZW5zaW9uIGRvZXMgbm90IHN1cHBvcnQgYXZhdGFycyAoYXMgc2hvd24gaW4gdGhlIHNjcmVlbnNob3QpLlxuSWYgeW91IGxpa2UgdG8gaGF2ZSBhdmF0YXIgc3VwcG9ydCBpbnN0YWxsIHRoaXMgZXh0ZW5zaW9uIGZyb20geW91ciBkaXN0cm9zIHBhY2thZ2UgcmVwb3NpdG9yaWVzIG9yIGdldCBhIHBhY2thZ2UgZnJvbSBoZXJlOlxuaHR0cHM6Ly9naXRodWIuY29tL3B1bGIvbWFpbG5hZy1nbm9tZS1zaGVsbFxuXG5JTVBPUlRBTlQ6XG5JIGRvIG5vdCBnZXQgbm90aWZpY2F0aW9ucyBmb3IgdXNlciBjb21tZW50cy4gUGxlYXNlIGFsd2F5cyByZXBvcnQgYnVncyBoZXJlOlxuaHR0cHM6Ly9naXRodWIuY29tL3B1bGIvbWFpbG5hZy1nbm9tZS1zaGVsbC9pc3N1ZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJtYWlsbmFnLWdub21lLXNoZWxsIiwKICAibmFtZSI6ICJNYWlsbmFnIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1haWxuYWciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIm1haWxuYWdAcHVsYi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDIxCn0="}}}
 , {"uuid": "mmod-panel@mmogp.com", "name": "MMOD Panel", "pname": "mmod-panel", "description": "Upgrades the Topbar in Gnome3, creating a customizable panel and providing options for fine-tuning your Desktop Experience.\n\nFeatures include:\n▸ Set comfort levels to provide theme support and fine-tune the overall look and feel of the panel.\n▸ Set the location/position of the panel (bottom by default).\n▸ Add a button to the panel in place of the activities link, using an icon of your preference.\n▸ Auto-hide the panel when not active/in-focus (makes use of pressure/gesture for showing the panel).\n▸ Display and manage your favorites/running apps directly on the panel.\n▸ Move the date menu to the aggregate/tray area.\n▸ Access and manage your extension preferences directly from the aggregate menu.\n▸ Customize behavior of the overview and panel(hot-corners/animations/effects) to suit your preferences.\n▸ More to come soon!\n\nThis project is loosely based on the Panel Settings extension:\nhttps://github.com/eddiefullmetal/gnome-shell-extensions/tree/master/panelSettings%40eddiefullmetal.gr\n\nSadly, Panel Settings has not seen any maintenance in years, though this is why I decided to create MMOD Panel.\n\nI also took inspiration from the following Gnome extensions: System-Monitor, Taskbar, and DashToDock.\n\nFor those of you who are wondering, the theme used in the screen shot is the Zukitwo-Dark-Shell Shell Theme; \neverything else is default Gnome on Debian Buster. However, the author of the aforementioned shell theme has \nchanged the name for various reasons to Ciliora-Prima-Shell - which can be found here:\n\n  http://gnome-look.org/content/show.php?content=165096\n\nVersion 10 (1.2.1-10) for Gnome-Shell: 3.10, 3.12, 3.12.2, 3.14, 3.14.4, 3.16, 3.16.2, 3.18, 3.20, 3.22, 3.24, 3.26, 3.26.2, 3.28, 3.30, 3.32, 3.34, 3.35, 3.35.91, 3.36, 3.36.3, 3.36.4, 3.36.6, 3.38, 3.38.2\nRik <rik@mmod.co>\n\nGerman Translation(s) for MMOD-Panel courtesy of Jonius Zeidler <jonatan_zeidler@gmx.de>\n\nSource Repository: https://gitlab.com/mmod/mmod-panel/\n", "link": "https://extensions.gnome.org/extension/898/mmod-panel/", "shell_version_map": {"38": {"version": "10", "sha256": "00c52ddg039hd0r6qkq8hmhcl6x6s8lbndn7g53cscjwd0yqxk7j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVwZ3JhZGVzIHRoZSBUb3BiYXIgaW4gR25vbWUzLCBjcmVhdGluZyBhIGN1c3RvbWl6YWJsZSBwYW5lbCBhbmQgcHJvdmlkaW5nIG9wdGlvbnMgZm9yIGZpbmUtdHVuaW5nIHlvdXIgRGVza3RvcCBFeHBlcmllbmNlLlxuXG5GZWF0dXJlcyBpbmNsdWRlOlxuXHUyNWI4IFNldCBjb21mb3J0IGxldmVscyB0byBwcm92aWRlIHRoZW1lIHN1cHBvcnQgYW5kIGZpbmUtdHVuZSB0aGUgb3ZlcmFsbCBsb29rIGFuZCBmZWVsIG9mIHRoZSBwYW5lbC5cblx1MjViOCBTZXQgdGhlIGxvY2F0aW9uL3Bvc2l0aW9uIG9mIHRoZSBwYW5lbCAoYm90dG9tIGJ5IGRlZmF1bHQpLlxuXHUyNWI4IEFkZCBhIGJ1dHRvbiB0byB0aGUgcGFuZWwgaW4gcGxhY2Ugb2YgdGhlIGFjdGl2aXRpZXMgbGluaywgdXNpbmcgYW4gaWNvbiBvZiB5b3VyIHByZWZlcmVuY2UuXG5cdTI1YjggQXV0by1oaWRlIHRoZSBwYW5lbCB3aGVuIG5vdCBhY3RpdmUvaW4tZm9jdXMgKG1ha2VzIHVzZSBvZiBwcmVzc3VyZS9nZXN0dXJlIGZvciBzaG93aW5nIHRoZSBwYW5lbCkuXG5cdTI1YjggRGlzcGxheSBhbmQgbWFuYWdlIHlvdXIgZmF2b3JpdGVzL3J1bm5pbmcgYXBwcyBkaXJlY3RseSBvbiB0aGUgcGFuZWwuXG5cdTI1YjggTW92ZSB0aGUgZGF0ZSBtZW51IHRvIHRoZSBhZ2dyZWdhdGUvdHJheSBhcmVhLlxuXHUyNWI4IEFjY2VzcyBhbmQgbWFuYWdlIHlvdXIgZXh0ZW5zaW9uIHByZWZlcmVuY2VzIGRpcmVjdGx5IGZyb20gdGhlIGFnZ3JlZ2F0ZSBtZW51LlxuXHUyNWI4IEN1c3RvbWl6ZSBiZWhhdmlvciBvZiB0aGUgb3ZlcnZpZXcgYW5kIHBhbmVsKGhvdC1jb3JuZXJzL2FuaW1hdGlvbnMvZWZmZWN0cykgdG8gc3VpdCB5b3VyIHByZWZlcmVuY2VzLlxuXHUyNWI4IE1vcmUgdG8gY29tZSBzb29uIVxuXG5UaGlzIHByb2plY3QgaXMgbG9vc2VseSBiYXNlZCBvbiB0aGUgUGFuZWwgU2V0dGluZ3MgZXh0ZW5zaW9uOlxuaHR0cHM6Ly9naXRodWIuY29tL2VkZGllZnVsbG1ldGFsL2dub21lLXNoZWxsLWV4dGVuc2lvbnMvdHJlZS9tYXN0ZXIvcGFuZWxTZXR0aW5ncyU0MGVkZGllZnVsbG1ldGFsLmdyXG5cblNhZGx5LCBQYW5lbCBTZXR0aW5ncyBoYXMgbm90IHNlZW4gYW55IG1haW50ZW5hbmNlIGluIHllYXJzLCB0aG91Z2ggdGhpcyBpcyB3aHkgSSBkZWNpZGVkIHRvIGNyZWF0ZSBNTU9EIFBhbmVsLlxuXG5JIGFsc28gdG9vayBpbnNwaXJhdGlvbiBmcm9tIHRoZSBmb2xsb3dpbmcgR25vbWUgZXh0ZW5zaW9uczogU3lzdGVtLU1vbml0b3IsIFRhc2tiYXIsIGFuZCBEYXNoVG9Eb2NrLlxuXG5Gb3IgdGhvc2Ugb2YgeW91IHdobyBhcmUgd29uZGVyaW5nLCB0aGUgdGhlbWUgdXNlZCBpbiB0aGUgc2NyZWVuIHNob3QgaXMgdGhlIFp1a2l0d28tRGFyay1TaGVsbCBTaGVsbCBUaGVtZTsgXG5ldmVyeXRoaW5nIGVsc2UgaXMgZGVmYXVsdCBHbm9tZSBvbiBEZWJpYW4gQnVzdGVyLiBIb3dldmVyLCB0aGUgYXV0aG9yIG9mIHRoZSBhZm9yZW1lbnRpb25lZCBzaGVsbCB0aGVtZSBoYXMgXG5jaGFuZ2VkIHRoZSBuYW1lIGZvciB2YXJpb3VzIHJlYXNvbnMgdG8gQ2lsaW9yYS1QcmltYS1TaGVsbCAtIHdoaWNoIGNhbiBiZSBmb3VuZCBoZXJlOlxuXG4gIGh0dHA6Ly9nbm9tZS1sb29rLm9yZy9jb250ZW50L3Nob3cucGhwP2NvbnRlbnQ9MTY1MDk2XG5cblZlcnNpb24gMTAgKDEuMi4xLTEwKSBmb3IgR25vbWUtU2hlbGw6IDMuMTAsIDMuMTIsIDMuMTIuMiwgMy4xNCwgMy4xNC40LCAzLjE2LCAzLjE2LjIsIDMuMTgsIDMuMjAsIDMuMjIsIDMuMjQsIDMuMjYsIDMuMjYuMiwgMy4yOCwgMy4zMCwgMy4zMiwgMy4zNCwgMy4zNSwgMy4zNS45MSwgMy4zNiwgMy4zNi4zLCAzLjM2LjQsIDMuMzYuNiwgMy4zOCwgMy4zOC4yXG5SaWsgPHJpa0BtbW9kLmNvPlxuXG5HZXJtYW4gVHJhbnNsYXRpb24ocykgZm9yIE1NT0QtUGFuZWwgY291cnRlc3kgb2YgSm9uaXVzIFplaWRsZXIgPGpvbmF0YW5femVpZGxlckBnbXguZGU+XG5cblNvdXJjZSBSZXBvc2l0b3J5OiBodHRwczovL2dpdGxhYi5jb20vbW1vZC9tbW9kLXBhbmVsL1xuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibW1vZC1wYW5lbCIsCiAgIm5hbWUiOiAiTU1PRCBQYW5lbCIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJyaWtAbW1vZC5jbyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xMCIsCiAgICAiMy4xMiIsCiAgICAiMy4xMi4yIiwKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE0LjQiLAogICAgIjMuMTYuMiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4yNi4yIiwKICAgICIzLjMyIiwKICAgICIzLjI4LjIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjMuMzYuMyIsCiAgICAiMy4zNi40IiwKICAgICIzLjM1LjkxIiwKICAgICIzLjM2LjYiLAogICAgIjMuMzguMiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL21tb2QvbW1vZC1wYW5lbC8iLAogICJ1dWlkIjogIm1tb2QtcGFuZWxAbW1vZ3AuY29tIiwKICAidmVyc2lvbiI6IDEwCn0="}}}
 , {"uuid": "disconnect-wifi@kgshank.net", "name": "Disconnect Wifi", "pname": "disconnect-wifi", "description": "Adds a Disconnect option for Wifi in status menu, when a network is connected. Shows a Reconnect option, after network is disconnected.", "link": "https://extensions.gnome.org/extension/904/disconnect-wifi/", "shell_version_map": {"38": {"version": "28", "sha256": "0j5f3ckx43zqdhr5iby36rhllgd9pvl8sshpzwfwdwff220yablr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBEaXNjb25uZWN0IG9wdGlvbiBmb3IgV2lmaSBpbiBzdGF0dXMgbWVudSwgd2hlbiBhIG5ldHdvcmsgaXMgY29ubmVjdGVkLiBTaG93cyBhIFJlY29ubmVjdCBvcHRpb24sIGFmdGVyIG5ldHdvcmsgaXMgZGlzY29ubmVjdGVkLiIsCiAgIm5hbWUiOiAiRGlzY29ubmVjdCBXaWZpIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIkdvcEkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2dzaGFuay9nc2UtZGlzY29ubmVjdC13aWZpIiwKICAidXVpZCI6ICJkaXNjb25uZWN0LXdpZmlAa2dzaGFuay5uZXQiLAogICJ2ZXJzaW9uIjogMjgKfQ=="}, "40": {"version": "28", "sha256": "0j5f3ckx43zqdhr5iby36rhllgd9pvl8sshpzwfwdwff220yablr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBEaXNjb25uZWN0IG9wdGlvbiBmb3IgV2lmaSBpbiBzdGF0dXMgbWVudSwgd2hlbiBhIG5ldHdvcmsgaXMgY29ubmVjdGVkLiBTaG93cyBhIFJlY29ubmVjdCBvcHRpb24sIGFmdGVyIG5ldHdvcmsgaXMgZGlzY29ubmVjdGVkLiIsCiAgIm5hbWUiOiAiRGlzY29ubmVjdCBXaWZpIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIkdvcEkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2dzaGFuay9nc2UtZGlzY29ubmVjdC13aWZpIiwKICAidXVpZCI6ICJkaXNjb25uZWN0LXdpZmlAa2dzaGFuay5uZXQiLAogICJ2ZXJzaW9uIjogMjgKfQ=="}}}
@@ -72,7 +80,7 @@
 , {"uuid": "transcode-appsearch@k.kubusha@gmail.com", "name": "Transcode App Search", "pname": "transcodeappsearch", "description": "Searching apps both direct and transcoded name (English, Russian, Ukrainian langs)", "link": "https://extensions.gnome.org/extension/928/transcodeappsearch/", "shell_version_map": {"38": {"version": "8", "sha256": "1v6yzp4s0a0i5l9f4la1l9yr83pcpwmrpb5970x48i75mlmlnmjd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlYXJjaGluZyBhcHBzIGJvdGggZGlyZWN0IGFuZCB0cmFuc2NvZGVkIG5hbWUgKEVuZ2xpc2gsIFJ1c3NpYW4sIFVrcmFpbmlhbiBsYW5ncykiLAogICJuYW1lIjogIlRyYW5zY29kZSBBcHAgU2VhcmNoIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjEwIiwKICAgICIzLjEyIiwKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N0YXR5YW4vZ25vbWUtZXh0ZW5zaW9uLXRyYW5zY29kZS1zZWFyY2hhcHAiLAogICJ1dWlkIjogInRyYW5zY29kZS1hcHBzZWFyY2hAay5rdWJ1c2hhQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA4Cn0="}, "40": {"version": "8", "sha256": "1v6yzp4s0a0i5l9f4la1l9yr83pcpwmrpb5970x48i75mlmlnmjd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlYXJjaGluZyBhcHBzIGJvdGggZGlyZWN0IGFuZCB0cmFuc2NvZGVkIG5hbWUgKEVuZ2xpc2gsIFJ1c3NpYW4sIFVrcmFpbmlhbiBsYW5ncykiLAogICJuYW1lIjogIlRyYW5zY29kZSBBcHAgU2VhcmNoIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjEwIiwKICAgICIzLjEyIiwKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N0YXR5YW4vZ25vbWUtZXh0ZW5zaW9uLXRyYW5zY29kZS1zZWFyY2hhcHAiLAogICJ1dWlkIjogInRyYW5zY29kZS1hcHBzZWFyY2hAay5rdWJ1c2hhQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA4Cn0="}}}
 , {"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": "cpupower@mko-sl.de", "name": "CPU Power Manager", "pname": "cpu-power-manager", "description": "Manage Intel_pstate CPU Frequency scaling driver", "link": "https://extensions.gnome.org/extension/945/cpu-power-manager/", "shell_version_map": {"38": {"version": "23", "sha256": "1iv23vr8zkarclll41h0h8hx7dhh3q84lsmpn8igib7x7d65mslx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBJbnRlbF9wc3RhdGUgQ1BVIEZyZXF1ZW5jeSBzY2FsaW5nIGRyaXZlciIsCiAgImxvY2FsZWRpciI6ICIvdXNyL2xvY2FsL3NoYXJlL2xvY2FsZSIsCiAgIm5hbWUiOiAiQ1BVIFBvd2VyIE1hbmFnZXIiLAogICJzY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY3B1cG93ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tYXJ0aW4zMTgyMS9jcHVwb3dlciIsCiAgInV1aWQiOiAiY3B1cG93ZXJAbWtvLXNsLmRlIiwKICAidmVyc2lvbiI6IDIzCn0="}}}
-, {"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": "12", "sha256": "1z5zzgxsagfb1w543idg81gwynzlnjavfv4s8phj9h305z04lhsn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgd29ybGQgY2xvY2sgZm9yIHRoZSBwYW5lbFxuXG5JbnN0YWxsIGdub21lLWNsb2NrcyB0byBnZXQgc3RhcnRlZCFcbkhpbnQ6IEVpXHUwMGYwYXIgaGFzIHRoZSBzYW1lIHRpbWUgYXMgVVRDXG5cbkdub21lIFx1MjI2NDMuMTQ/IGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzY5Ny9wYW5lbC13b3JsZC1jbG9jay8iLAogICJuYW1lIjogIlBhbmVsIFdvcmxkIENsb2NrIChMaXRlKSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53b3JsZC1jbG9jayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAid29ybGRfY2xvY2tfbGl0ZUBhaWxpbi5uZW11aSIsCiAgInZlcnNpb24iOiAxMgp9"}}}
+, {"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": "13", "sha256": "1v0p6ia7x8gs2ld0mz78lhavwa32gx8r81j14kng626f91c965j3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgd29ybGQgY2xvY2sgZm9yIHRoZSBwYW5lbFxuXG5JbnN0YWxsIGdub21lLWNsb2NrcyB0byBnZXQgc3RhcnRlZCFcbkhpbnQ6IEVpXHUwMGYwYXIgaGFzIHRoZSBzYW1lIHRpbWUgYXMgVVRDXG5cbkdub21lIFx1MjI2NDMuMTQ/IGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzY5Ny9wYW5lbC13b3JsZC1jbG9jay8iLAogICJuYW1lIjogIlBhbmVsIFdvcmxkIENsb2NrIChMaXRlKSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53b3JsZC1jbG9jayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAid29ybGRfY2xvY2tfbGl0ZUBhaWxpbi5uZW11aSIsCiAgInZlcnNpb24iOiAxMwp9"}}}
 , {"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": "25", "sha256": "0aqcw2lbcya5x9xx2y8srfjjar9jww9hzsxqx44h65jdw1zdl1vl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgZGltcyB0aGUgc2NyZWVuIHdoZW4gdGhlIG1hY2hpbmUgaXMgcnVubmluZyBvbiBiYXR0ZXJ5IHBvd2VyLiIsCiAgIm5hbWUiOiAiRGltIE9uIEJhdHRlcnkgUG93ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMTQiLAogICAgIjMuMTYiLAogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vbmFpbGZhcm1lci9nbm9tZS1zaGVsbC1kaW0tb24tYmF0dGVyeS1leHRlbnNpb24iLAogICJ1dWlkIjogImRpbS1vbi1iYXR0ZXJ5QG5haWxmYXJtZXIubmFpbGZhcm1lci5jb20iLAogICJ2ZXJzaW9uIjogMjUKfQ=="}, "40": {"version": "25", "sha256": "0aqcw2lbcya5x9xx2y8srfjjar9jww9hzsxqx44h65jdw1zdl1vl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgZGltcyB0aGUgc2NyZWVuIHdoZW4gdGhlIG1hY2hpbmUgaXMgcnVubmluZyBvbiBiYXR0ZXJ5IHBvd2VyLiIsCiAgIm5hbWUiOiAiRGltIE9uIEJhdHRlcnkgUG93ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMTQiLAogICAgIjMuMTYiLAogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vbmFpbGZhcm1lci9nbm9tZS1zaGVsbC1kaW0tb24tYmF0dGVyeS1leHRlbnNpb24iLAogICJ1dWlkIjogImRpbS1vbi1iYXR0ZXJ5QG5haWxmYXJtZXIubmFpbGZhcm1lci5jb20iLAogICJ2ZXJzaW9uIjogMjUKfQ=="}}}
 , {"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"}}}
@@ -87,27 +95,31 @@
 , {"uuid": "icinga-checker@sosulski.net", "name": "Icinga checker", "pname": "icinga-checker", "description": "Icinga/Nagios checker", "link": "https://extensions.gnome.org/extension/1029/icinga-checker/", "shell_version_map": {"38": {"version": "10", "sha256": "09835gdpq5ssx14dar2m0hgi97a2k0hias9ffb3vpwyqw2d5jm30", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkljaW5nYS9OYWdpb3MgY2hlY2tlciIsCiAgImV4dGVuc2lvbi1pZCI6ICJpY2luZ2EtY2hlY2tlciIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIkljaW5nYSBjaGVja2VyIiwKICAib3JpZ2luYWwtYXV0aG9yIjogInBhd2VsQHNvc3Vsc2tpLm5ldCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5pY2luZ2EtY2hlY2tlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJpY2luZ2EtY2hlY2tlckBzb3N1bHNraS5uZXQiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "40": {"version": "10", "sha256": "09835gdpq5ssx14dar2m0hgi97a2k0hias9ffb3vpwyqw2d5jm30", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkljaW5nYS9OYWdpb3MgY2hlY2tlciIsCiAgImV4dGVuc2lvbi1pZCI6ICJpY2luZ2EtY2hlY2tlciIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIkljaW5nYSBjaGVja2VyIiwKICAib3JpZ2luYWwtYXV0aG9yIjogInBhd2VsQHNvc3Vsc2tpLm5ldCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5pY2luZ2EtY2hlY2tlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJpY2luZ2EtY2hlY2tlckBzb3N1bHNraS5uZXQiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}}}
 , {"uuid": "taskwhisperer-extension@infinicode.de", "name": "TaskWhisperer", "pname": "taskwhisperer", "description": "Taskwhisperer is a extension for TaskWarrior Application https://taskwarrior.org. It is to display upcoming tasks and task details as well as to create and modify them.\n", "link": "https://extensions.gnome.org/extension/1039/taskwhisperer/", "shell_version_map": {"38": {"version": "20", "sha256": "067z3j2px4rz5yspfjx2s6p5j4l1svxllclahnf3zmv1nlbhzq8a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRhc2t3aGlzcGVyZXIgaXMgYSBleHRlbnNpb24gZm9yIFRhc2tXYXJyaW9yIEFwcGxpY2F0aW9uIGh0dHBzOi8vdGFza3dhcnJpb3Iub3JnLiBJdCBpcyB0byBkaXNwbGF5IHVwY29taW5nIHRhc2tzIGFuZCB0YXNrIGRldGFpbHMgYXMgd2VsbCBhcyB0byBjcmVhdGUgYW5kIG1vZGlmeSB0aGVtLlxuIiwKICAibG9jYWxlZGlyIjogIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIiwKICAibmFtZSI6ICJUYXNrV2hpc3BlcmVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NpbmF0aWMvdGFza3doaXNwZXJlciIsCiAgInV1aWQiOiAidGFza3doaXNwZXJlci1leHRlbnNpb25AaW5maW5pY29kZS5kZSIsCiAgInZlcnNpb24iOiAyMAp9"}, "40": {"version": "20", "sha256": "067z3j2px4rz5yspfjx2s6p5j4l1svxllclahnf3zmv1nlbhzq8a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRhc2t3aGlzcGVyZXIgaXMgYSBleHRlbnNpb24gZm9yIFRhc2tXYXJyaW9yIEFwcGxpY2F0aW9uIGh0dHBzOi8vdGFza3dhcnJpb3Iub3JnLiBJdCBpcyB0byBkaXNwbGF5IHVwY29taW5nIHRhc2tzIGFuZCB0YXNrIGRldGFpbHMgYXMgd2VsbCBhcyB0byBjcmVhdGUgYW5kIG1vZGlmeSB0aGVtLlxuIiwKICAibG9jYWxlZGlyIjogIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIiwKICAibmFtZSI6ICJUYXNrV2hpc3BlcmVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NpbmF0aWMvdGFza3doaXNwZXJlciIsCiAgInV1aWQiOiAidGFza3doaXNwZXJlci1leHRlbnNpb25AaW5maW5pY29kZS5kZSIsCiAgInZlcnNpb24iOiAyMAp9"}}}
 , {"uuid": "randomwallpaper@iflow.space", "name": "Random Wallpaper", "pname": "random-wallpaper", "description": "Fetch a random wallpaper from an online source and set it as a desktop background. \nThe desktop background can be updated periodically or manually.\n\nFeatures:\nMany different online sources with filters:\n        - Unsplash (https://unsplash.com/)\n        - Wallhaven (https://alpha.wallhaven.cc/)\n        - Reddit (https://reddit.com)\n        - Basically any JSON API/File (see Examples on GitHub)\nHistory of previous images\nSet lock screen image\nAutomatic renewal (Auto-Fetching)", "link": "https://extensions.gnome.org/extension/1040/random-wallpaper/", "shell_version_map": {"38": {"version": "22", "sha256": "0gwcqd5wzjnp3r4mpcbacbqk9j9v4pxh2wlcl5ssinj8z4pxm5qj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZldGNoIGEgcmFuZG9tIHdhbGxwYXBlciBmcm9tIGFuIG9ubGluZSBzb3VyY2UgYW5kIHNldCBpdCBhcyBhIGRlc2t0b3AgYmFja2dyb3VuZC4gXG5UaGUgZGVza3RvcCBiYWNrZ3JvdW5kIGNhbiBiZSB1cGRhdGVkIHBlcmlvZGljYWxseSBvciBtYW51YWxseS5cblxuRmVhdHVyZXM6XG5NYW55IGRpZmZlcmVudCBvbmxpbmUgc291cmNlcyB3aXRoIGZpbHRlcnM6XG4gICAgICAgIC0gVW5zcGxhc2ggKGh0dHBzOi8vdW5zcGxhc2guY29tLylcbiAgICAgICAgLSBXYWxsaGF2ZW4gKGh0dHBzOi8vYWxwaGEud2FsbGhhdmVuLmNjLylcbiAgICAgICAgLSBSZWRkaXQgKGh0dHBzOi8vcmVkZGl0LmNvbSlcbiAgICAgICAgLSBCYXNpY2FsbHkgYW55IEpTT04gQVBJL0ZpbGUgKHNlZSBFeGFtcGxlcyBvbiBHaXRIdWIpXG5IaXN0b3J5IG9mIHByZXZpb3VzIGltYWdlc1xuU2V0IGxvY2sgc2NyZWVuIGltYWdlXG5BdXRvbWF0aWMgcmVuZXdhbCAoQXV0by1GZXRjaGluZykiLAogICJuYW1lIjogIlJhbmRvbSBXYWxscGFwZXIiLAogICJzZW1hbnRpYy12ZXJzaW9uIjogIjIuNC41IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNwYWNlLmlmbG93LnJhbmRvbXdhbGxwYXBlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2lmbDB3L1JhbmRvbVdhbGxwYXBlckdub21lMyIsCiAgInV1aWQiOiAicmFuZG9td2FsbHBhcGVyQGlmbG93LnNwYWNlIiwKICAidmVyc2lvbiI6IDIyCn0="}, "40": {"version": "25", "sha256": "1nqa901ilmdr9wxxs11mbcb96qwzwz6ckaimx8y0vpnrdzackmx4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZldGNoIGEgcmFuZG9tIHdhbGxwYXBlciBmcm9tIGFuIG9ubGluZSBzb3VyY2UgYW5kIHNldCBpdCBhcyBhIGRlc2t0b3AgYmFja2dyb3VuZC4gXG5UaGUgZGVza3RvcCBiYWNrZ3JvdW5kIGNhbiBiZSB1cGRhdGVkIHBlcmlvZGljYWxseSBvciBtYW51YWxseS5cblxuRmVhdHVyZXM6XG5NYW55IGRpZmZlcmVudCBvbmxpbmUgc291cmNlcyB3aXRoIGZpbHRlcnM6XG4gICAgICAgIC0gVW5zcGxhc2ggKGh0dHBzOi8vdW5zcGxhc2guY29tLylcbiAgICAgICAgLSBXYWxsaGF2ZW4gKGh0dHBzOi8vYWxwaGEud2FsbGhhdmVuLmNjLylcbiAgICAgICAgLSBSZWRkaXQgKGh0dHBzOi8vcmVkZGl0LmNvbSlcbiAgICAgICAgLSBCYXNpY2FsbHkgYW55IEpTT04gQVBJL0ZpbGUgKHNlZSBFeGFtcGxlcyBvbiBHaXRIdWIpXG5IaXN0b3J5IG9mIHByZXZpb3VzIGltYWdlc1xuU2V0IGxvY2sgc2NyZWVuIGltYWdlXG5BdXRvbWF0aWMgcmVuZXdhbCAoQXV0by1GZXRjaGluZykiLAogICJuYW1lIjogIlJhbmRvbSBXYWxscGFwZXIiLAogICJzZW1hbnRpYy12ZXJzaW9uIjogIjIuNS4wIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNwYWNlLmlmbG93LnJhbmRvbXdhbGxwYXBlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAuMCIsCiAgICAiNDAuMSIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pZmwwdy9SYW5kb21XYWxscGFwZXJHbm9tZTMiLAogICJ1dWlkIjogInJhbmRvbXdhbGxwYXBlckBpZmxvdy5zcGFjZSIsCiAgInZlcnNpb24iOiAyNQp9"}}}
-, {"uuid": "gse-haguichi-indicator@ztefn.github.com", "name": "Haguichi Indicator", "pname": "haguichi-indicator", "description": "Lets you control Haguichi directly from the system status area in GNOME Shell.", "link": "https://extensions.gnome.org/extension/1045/haguichi-indicator/", "shell_version_map": {"38": {"version": "14", "sha256": "0irnb19sl893427ag9722w2dj55j7p4f2yy61bwqdbp4fpi8zjww", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxldHMgeW91IGNvbnRyb2wgSGFndWljaGkgZGlyZWN0bHkgZnJvbSB0aGUgc3lzdGVtIHN0YXR1cyBhcmVhIGluIEdOT01FIFNoZWxsLiIsCiAgIm5hbWUiOiAiSGFndWljaGkgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20venRlZm4vZ3NlLWhhZ3VpY2hpLWluZGljYXRvciIsCiAgInV1aWQiOiAiZ3NlLWhhZ3VpY2hpLWluZGljYXRvckB6dGVmbi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDE0Cn0="}, "40": {"version": "14", "sha256": "0irnb19sl893427ag9722w2dj55j7p4f2yy61bwqdbp4fpi8zjww", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxldHMgeW91IGNvbnRyb2wgSGFndWljaGkgZGlyZWN0bHkgZnJvbSB0aGUgc3lzdGVtIHN0YXR1cyBhcmVhIGluIEdOT01FIFNoZWxsLiIsCiAgIm5hbWUiOiAiSGFndWljaGkgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20venRlZm4vZ3NlLWhhZ3VpY2hpLWluZGljYXRvciIsCiAgInV1aWQiOiAiZ3NlLWhhZ3VpY2hpLWluZGljYXRvckB6dGVmbi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDE0Cn0="}}}
+, {"uuid": "gse-haguichi-indicator@ztefn.github.com", "name": "Haguichi Indicator", "pname": "haguichi-indicator", "description": "Lets you control Haguichi directly from the system status area in GNOME Shell.", "link": "https://extensions.gnome.org/extension/1045/haguichi-indicator/", "shell_version_map": {"38": {"version": "16", "sha256": "1ag94vhwx67cpdc4ry307lxrj60nkkwwd9kv49k5mfwy9hbxpbf3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxldHMgeW91IGNvbnRyb2wgSGFndWljaGkgZGlyZWN0bHkgZnJvbSB0aGUgc3lzdGVtIHN0YXR1cyBhcmVhIGluIEdOT01FIFNoZWxsLiIsCiAgIm5hbWUiOiAiSGFndWljaGkgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3p0ZWZuL2dzZS1oYWd1aWNoaS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImdzZS1oYWd1aWNoaS1pbmRpY2F0b3JAenRlZm4uZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxNgp9"}, "40": {"version": "16", "sha256": "1ag94vhwx67cpdc4ry307lxrj60nkkwwd9kv49k5mfwy9hbxpbf3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxldHMgeW91IGNvbnRyb2wgSGFndWljaGkgZGlyZWN0bHkgZnJvbSB0aGUgc3lzdGVtIHN0YXR1cyBhcmVhIGluIEdOT01FIFNoZWxsLiIsCiAgIm5hbWUiOiAiSGFndWljaGkgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3p0ZWZuL2dzZS1oYWd1aWNoaS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImdzZS1oYWd1aWNoaS1pbmRpY2F0b3JAenRlZm4uZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxNgp9"}}}
+, {"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=="}}}
 , {"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": "21", "sha256": "1kp4xqsglmj7likmln1x8nz2vmlz8m8vh13chnsn1rsn5a16s7v9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgcmVzb3VyY2UgdXNhZ2UuXG5cbkxpbnV4IGRpc3RyaWJ1dGlvbiBzcGVjaWZpYyBpbnN0YWxsYXRpb24gaW5zdHJ1Y3Rpb25zIGNhbiBiZSBmb3VuZCBpbiB0aGUgd2lraSBhdCBodHRwczovL2dpdGh1Yi5jb20vZWx2ZXRlbWVkdmUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXN5c3RlbS1tb25pdG9yL3dpa2kvSW5zdGFsbGF0aW9uLlxuXG5QbGVhc2UgcmVwb3J0IGJ1Z3MgaGVyZTogaHR0cHM6Ly9naXRodWIuY29tL2VsdmV0ZW1lZHZlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zeXN0ZW0tbW9uaXRvci9pc3N1ZXMiLAogICJuYW1lIjogIlN5c3RlbSBNb25pdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN5c3RlbS1tb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM4IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWx2ZXRlbWVkdmUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXN5c3RlbS1tb25pdG9yIiwKICAidXVpZCI6ICJTeXN0ZW1fTW9uaXRvckBiZ2hvbWUuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDIxCn0="}, "40": {"version": "21", "sha256": "1kp4xqsglmj7likmln1x8nz2vmlz8m8vh13chnsn1rsn5a16s7v9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgcmVzb3VyY2UgdXNhZ2UuXG5cbkxpbnV4IGRpc3RyaWJ1dGlvbiBzcGVjaWZpYyBpbnN0YWxsYXRpb24gaW5zdHJ1Y3Rpb25zIGNhbiBiZSBmb3VuZCBpbiB0aGUgd2lraSBhdCBodHRwczovL2dpdGh1Yi5jb20vZWx2ZXRlbWVkdmUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXN5c3RlbS1tb25pdG9yL3dpa2kvSW5zdGFsbGF0aW9uLlxuXG5QbGVhc2UgcmVwb3J0IGJ1Z3MgaGVyZTogaHR0cHM6Ly9naXRodWIuY29tL2VsdmV0ZW1lZHZlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zeXN0ZW0tbW9uaXRvci9pc3N1ZXMiLAogICJuYW1lIjogIlN5c3RlbSBNb25pdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN5c3RlbS1tb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM4IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWx2ZXRlbWVkdmUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXN5c3RlbS1tb25pdG9yIiwKICAidXVpZCI6ICJTeXN0ZW1fTW9uaXRvckBiZ2hvbWUuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDIxCn0="}}}
 , {"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": "20", "sha256": "11ljyy9glhlc2mrvmfz64cxngxamzri09wz8gkgs8dx5zwk31si8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNoZWxsIGluZGljYXRvciBmb3Igc3RhcnRpbmcsIG1vbml0b3JpbmcgYW5kIGNvbnRyb2xsaW5nIHRoZSBTeW5jdGhpbmcgZGFlbW9uIHVzaW5nIFN5c3RlbUQiLAogICJuYW1lIjogIlN5bmN0aGluZyBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vMm52MnUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXN5bmN0aGluZy1pbmRpY2F0b3IiLAogICJ1dWlkIjogInN5bmN0aGluZ0Bnbm9tZS4ybnYydS5jb20iLAogICJ2ZXJzaW9uIjogMjAKfQ=="}, "40": {"version": "20", "sha256": "11ljyy9glhlc2mrvmfz64cxngxamzri09wz8gkgs8dx5zwk31si8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNoZWxsIGluZGljYXRvciBmb3Igc3RhcnRpbmcsIG1vbml0b3JpbmcgYW5kIGNvbnRyb2xsaW5nIHRoZSBTeW5jdGhpbmcgZGFlbW9uIHVzaW5nIFN5c3RlbUQiLAogICJuYW1lIjogIlN5bmN0aGluZyBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vMm52MnUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXN5bmN0aGluZy1pbmRpY2F0b3IiLAogICJ1dWlkIjogInN5bmN0aGluZ0Bnbm9tZS4ybnYydS5jb20iLAogICJ2ZXJzaW9uIjogMjAKfQ=="}}}
 , {"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": "12", "sha256": "0m0wsgpx390qkx6csicsfdp5v9pa15xpyk57ym7hbr8947h77494", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGEgdG9vbHRpcCBvdmVyIGFwcGxpY2F0aW9ucyBpY29ucyBvbiBhcHBsaWNhdGlvbnMgb3ZlcnZpZXcgd2l0aCBhcHBsaWNhdGlvbiBuYW1lIGFuZC9vciBkZXNjcmlwdGlvbi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhcHBsaWNhdGlvbnMtb3ZlcnZpZXctdG9vbHRpcCIsCiAgIm5hbWUiOiAiQXBwbGljYXRpb25zIE92ZXJ2aWV3IFRvb2x0aXAiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXBwbGljYXRpb25zLW92ZXJ2aWV3LXRvb2x0aXAiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUmFwaGFlbFJvY2hldC9hcHBsaWNhdGlvbnMtb3ZlcnZpZXctdG9vbHRpcCIsCiAgInV1aWQiOiAiYXBwbGljYXRpb25zLW92ZXJ2aWV3LXRvb2x0aXBAUmFwaGFlbFJvY2hldCIsCiAgInZlcnNpb24iOiAxMgp9"}}}
 , {"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": "35", "sha256": "0arb73gv1y5krlqwpqwzynpd2ki8wlv47xx0zpjlal066pyyjgfw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgcGFuZWwgc2hvd2luZyB3aGV0aGVyIHlvdXIgZmF2b3JpdGUgVHdpdGNoLnR2IHN0cmVhbWVycyBhcmUgc3RyZWFtaW5nLlxuXG5DeWNsZXMgdGhyb3VnaCB0aGUgb25saW5lIHN0cmVhbWVycyBpZiBtdWx0aXBsZXMgYXJlIGNvbmZpZ3VyZWQuIENsaWNrIG9uIHRoZSBwYW5lbCBhbmQgdGhlbiBvbiBzdHJlYW1lcidzIG5hbWUgdG8gbGF1bmNoIHRoZSBzdHJlYW0gd2l0aCBhIGN1c3RvbSBjb21tYW5kICh5b3VyIGJyb3dzZXIgb3Igc29tZSBvdGhlciBhcHBsaWNhdGlvbikuXG5cbk5lZWRzIGN1cmwgYW5kIG1vZ3JpZnkgdG8gZnVsbHkgc3VwcG9ydCBzdHJlYW1lciBsb2dvcy4gRm9yIGFuIGV4dGVuc2lvbiB2ZXJzaW9uIGNvbXBhdGlibGUgd2l0aCBzaGVsbCB2ZXJzaW9uIDMuMzAgb3IgZWFybGllciB2aXNpdCBvdXIgZ2l0aHViIHBhZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidHdpdGNobGl2ZSIsCiAgIm5hbWUiOiAiVHdpdGNoTGl2ZSBQYW5lbCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50d2l0Y2hsaXZlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21hd2VraS90d2l0Y2hsaXZlLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiVHdpdGNoTGl2ZV9QYW5lbEBleHRlbnNpb25zLm1hd2VraS5kZSIsCiAgInZlcnNpb24iOiAzNQp9"}}}
-, {"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": "47", "sha256": "08snf0yqp85i4fnmspg7hg8m0xq16pjxh26x8yp5x7zk42hf462s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN5c3RlbSBNb25pdG9yIGFuZCBQb3dlciBNYW5hZ2VyLlxuXG5UaGlzIGlzIGEgbGlnaHR3ZWlnaHQgc3lzdGVtIG1vbml0b3IgYW5kIHBvd2VyIG1hbmFnZW1lbnQgdG9vbC4gSXQgbmVlZHMgcm9vdCBwZXJtaXNzaW9uIHRvIGFibGUgY2hhbmdpbmcgZ292ZXJub3JzLlxuXG5GZWF0dXJlczpcblx1MjZhYiBDb21wYXRpYmxlIHdpdGggbWFueSBoYXJkd2FyZSBhcmNoaXRlY3R1cmVzO1xuXHUyNmFiIENQVSBGcmVxdWVuY3kgbW9uaXRvcmluZztcblx1MjZhYiBDUFUgR292ZXJub3IgbWFuYWdlbWVudDtcblx1MjZhYiBDUFUgRnJlcXVlbmN5IHNwZWVkIGxpbWl0cztcblx1MjZhYiBDUFUgQm9vc3Qgc3VwcG9ydGluZztcblx1MjZhYiBDUFUgQ29yZSBQb3dlciBvbi9vZmY7XG5cdTI2YWIgU2F2aW5nL1Jlc3RvcmluZyBzZXR0aW5ncy4uLlxuXG5Gb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgaG93LXRvIHNlZSBSRUFETUUubWQiLAogICJuYW1lIjogImNwdWZyZXEiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY3B1ZnJlcSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2tvbmtvci9jcHVmcmVxIiwKICAidXVpZCI6ICJjcHVmcmVxQGtvbmtvciIsCiAgInZlcnNpb24iOiA0Nwp9"}, "40": {"version": "47", "sha256": "08snf0yqp85i4fnmspg7hg8m0xq16pjxh26x8yp5x7zk42hf462s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN5c3RlbSBNb25pdG9yIGFuZCBQb3dlciBNYW5hZ2VyLlxuXG5UaGlzIGlzIGEgbGlnaHR3ZWlnaHQgc3lzdGVtIG1vbml0b3IgYW5kIHBvd2VyIG1hbmFnZW1lbnQgdG9vbC4gSXQgbmVlZHMgcm9vdCBwZXJtaXNzaW9uIHRvIGFibGUgY2hhbmdpbmcgZ292ZXJub3JzLlxuXG5GZWF0dXJlczpcblx1MjZhYiBDb21wYXRpYmxlIHdpdGggbWFueSBoYXJkd2FyZSBhcmNoaXRlY3R1cmVzO1xuXHUyNmFiIENQVSBGcmVxdWVuY3kgbW9uaXRvcmluZztcblx1MjZhYiBDUFUgR292ZXJub3IgbWFuYWdlbWVudDtcblx1MjZhYiBDUFUgRnJlcXVlbmN5IHNwZWVkIGxpbWl0cztcblx1MjZhYiBDUFUgQm9vc3Qgc3VwcG9ydGluZztcblx1MjZhYiBDUFUgQ29yZSBQb3dlciBvbi9vZmY7XG5cdTI2YWIgU2F2aW5nL1Jlc3RvcmluZyBzZXR0aW5ncy4uLlxuXG5Gb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgaG93LXRvIHNlZSBSRUFETUUubWQiLAogICJuYW1lIjogImNwdWZyZXEiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY3B1ZnJlcSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2tvbmtvci9jcHVmcmVxIiwKICAidXVpZCI6ICJjcHVmcmVxQGtvbmtvciIsCiAgInZlcnNpb24iOiA0Nwp9"}}}
-, {"uuid": "simplenetspeed@biji.extension", "name": "Simple net speed", "pname": "simple-net-speed", "description": "Simply showing network speed. Left click to change modes:\n\n1. Total net speed in bits per second\n2. Total net speed in Bytes per second\n3. Up &amp; down speed in bits per second\n4. Up &amp; down speed in Bytes per second\n5. Total of downloaded in Bytes (Right click to reset counter)\n\nMiddle click to change font size", "link": "https://extensions.gnome.org/extension/1085/simple-net-speed/", "shell_version_map": {"38": {"version": "21", "sha256": "0s6m6k06sd9yagrxf5ny7qw613800qiy7yp60fnxb41vdls1s0mv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBseSBzaG93aW5nIG5ldHdvcmsgc3BlZWQuIExlZnQgY2xpY2sgdG8gY2hhbmdlIG1vZGVzOlxuXG4xLiBUb3RhbCBuZXQgc3BlZWQgaW4gYml0cyBwZXIgc2Vjb25kXG4yLiBUb3RhbCBuZXQgc3BlZWQgaW4gQnl0ZXMgcGVyIHNlY29uZFxuMy4gVXAgJmFtcDsgZG93biBzcGVlZCBpbiBiaXRzIHBlciBzZWNvbmRcbjQuIFVwICZhbXA7IGRvd24gc3BlZWQgaW4gQnl0ZXMgcGVyIHNlY29uZFxuNS4gVG90YWwgb2YgZG93bmxvYWRlZCBpbiBCeXRlcyAoUmlnaHQgY2xpY2sgdG8gcmVzZXQgY291bnRlcilcblxuTWlkZGxlIGNsaWNrIHRvIGNoYW5nZSBmb250IHNpemUiLAogICJuYW1lIjogIlNpbXBsZSBuZXQgc3BlZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMTQiLAogICAgIjMuMTYiLAogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIsCiAgICAiNDUiLAogICAgIjQ2IiwKICAgICI0NyIsCiAgICAiNDgiLAogICAgIjQ5IiwKICAgICI1MCIsCiAgICAiNTEiLAogICAgIjUyIiwKICAgICI1MyIsCiAgICAiNTQiLAogICAgIjU1IiwKICAgICI1NiIsCiAgICAiNTciLAogICAgIjU4IiwKICAgICI1OSIsCiAgICAiNjAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9iaWppL3NpbXBsZW5ldHNwZWVkIiwKICAidXVpZCI6ICJzaW1wbGVuZXRzcGVlZEBiaWppLmV4dGVuc2lvbiIsCiAgInZlcnNpb24iOiAyMQp9"}, "40": {"version": "21", "sha256": "0s6m6k06sd9yagrxf5ny7qw613800qiy7yp60fnxb41vdls1s0mv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBseSBzaG93aW5nIG5ldHdvcmsgc3BlZWQuIExlZnQgY2xpY2sgdG8gY2hhbmdlIG1vZGVzOlxuXG4xLiBUb3RhbCBuZXQgc3BlZWQgaW4gYml0cyBwZXIgc2Vjb25kXG4yLiBUb3RhbCBuZXQgc3BlZWQgaW4gQnl0ZXMgcGVyIHNlY29uZFxuMy4gVXAgJmFtcDsgZG93biBzcGVlZCBpbiBiaXRzIHBlciBzZWNvbmRcbjQuIFVwICZhbXA7IGRvd24gc3BlZWQgaW4gQnl0ZXMgcGVyIHNlY29uZFxuNS4gVG90YWwgb2YgZG93bmxvYWRlZCBpbiBCeXRlcyAoUmlnaHQgY2xpY2sgdG8gcmVzZXQgY291bnRlcilcblxuTWlkZGxlIGNsaWNrIHRvIGNoYW5nZSBmb250IHNpemUiLAogICJuYW1lIjogIlNpbXBsZSBuZXQgc3BlZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMTQiLAogICAgIjMuMTYiLAogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIsCiAgICAiNDUiLAogICAgIjQ2IiwKICAgICI0NyIsCiAgICAiNDgiLAogICAgIjQ5IiwKICAgICI1MCIsCiAgICAiNTEiLAogICAgIjUyIiwKICAgICI1MyIsCiAgICAiNTQiLAogICAgIjU1IiwKICAgICI1NiIsCiAgICAiNTciLAogICAgIjU4IiwKICAgICI1OSIsCiAgICAiNjAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9iaWppL3NpbXBsZW5ldHNwZWVkIiwKICAidXVpZCI6ICJzaW1wbGVuZXRzcGVlZEBiaWppLmV4dGVuc2lvbiIsCiAgInZlcnNpb24iOiAyMQp9"}}}
+, {"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": "50", "sha256": "0s4hgdh4yg5dachns0zf3m7xyc7ycc6jjapg3b3352i0rgw8cfdw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN5c3RlbSBNb25pdG9yIGFuZCBQb3dlciBNYW5hZ2VyLlxuXG5UaGlzIGlzIGEgbGlnaHR3ZWlnaHQgc3lzdGVtIG1vbml0b3IgYW5kIHBvd2VyIG1hbmFnZW1lbnQgdG9vbC4gSXQgbmVlZHMgcm9vdCBwZXJtaXNzaW9uIHRvIGFibGUgY2hhbmdpbmcgZ292ZXJub3JzLlxuXG5GZWF0dXJlczpcblx1MjZhYiBDb21wYXRpYmxlIHdpdGggbWFueSBoYXJkd2FyZSBhcmNoaXRlY3R1cmVzO1xuXHUyNmFiIENQVSBGcmVxdWVuY3kgbW9uaXRvcmluZztcblx1MjZhYiBDUFUgR292ZXJub3IgbWFuYWdlbWVudDtcblx1MjZhYiBDUFUgRnJlcXVlbmN5IHNwZWVkIGxpbWl0cztcblx1MjZhYiBDUFUgQm9vc3Qgc3VwcG9ydGluZztcblx1MjZhYiBDUFUgQ29yZSBQb3dlciBvbi9vZmY7XG5cdTI2YWIgU2F2aW5nL1Jlc3RvcmluZyBzZXR0aW5ncy4uLlxuXG5Gb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgaG93LXRvIHNlZSBSRUFETUUubWQiLAogICJuYW1lIjogImNwdWZyZXEiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY3B1ZnJlcSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rb25rb3IvY3B1ZnJlcSIsCiAgInV1aWQiOiAiY3B1ZnJlcUBrb25rb3IiLAogICJ2ZXJzaW9uIjogNTAKfQ=="}, "40": {"version": "50", "sha256": "0s4hgdh4yg5dachns0zf3m7xyc7ycc6jjapg3b3352i0rgw8cfdw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN5c3RlbSBNb25pdG9yIGFuZCBQb3dlciBNYW5hZ2VyLlxuXG5UaGlzIGlzIGEgbGlnaHR3ZWlnaHQgc3lzdGVtIG1vbml0b3IgYW5kIHBvd2VyIG1hbmFnZW1lbnQgdG9vbC4gSXQgbmVlZHMgcm9vdCBwZXJtaXNzaW9uIHRvIGFibGUgY2hhbmdpbmcgZ292ZXJub3JzLlxuXG5GZWF0dXJlczpcblx1MjZhYiBDb21wYXRpYmxlIHdpdGggbWFueSBoYXJkd2FyZSBhcmNoaXRlY3R1cmVzO1xuXHUyNmFiIENQVSBGcmVxdWVuY3kgbW9uaXRvcmluZztcblx1MjZhYiBDUFUgR292ZXJub3IgbWFuYWdlbWVudDtcblx1MjZhYiBDUFUgRnJlcXVlbmN5IHNwZWVkIGxpbWl0cztcblx1MjZhYiBDUFUgQm9vc3Qgc3VwcG9ydGluZztcblx1MjZhYiBDUFUgQ29yZSBQb3dlciBvbi9vZmY7XG5cdTI2YWIgU2F2aW5nL1Jlc3RvcmluZyBzZXR0aW5ncy4uLlxuXG5Gb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgaG93LXRvIHNlZSBSRUFETUUubWQiLAogICJuYW1lIjogImNwdWZyZXEiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY3B1ZnJlcSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rb25rb3IvY3B1ZnJlcSIsCiAgInV1aWQiOiAiY3B1ZnJlcUBrb25rb3IiLAogICJ2ZXJzaW9uIjogNTAKfQ=="}}}
+, {"uuid": "simplenetspeed@biji.extension", "name": "Simple net speed", "pname": "simple-net-speed", "description": "Simply showing network speed. Left click to change modes:\n\n1. Total net speed in bits per second\n2. Total net speed in Bytes per second\n3. Up & down speed in bits per second\n4. Up & down speed in Bytes per second\n5. Total of downloaded in Bytes (Right click to reset counter)\n\nMiddle click to change font size", "link": "https://extensions.gnome.org/extension/1085/simple-net-speed/", "shell_version_map": {"38": {"version": "23", "sha256": "16g6203q6d8il018rf8zhh6gziybpczc6r5v5289kz0i343bmkfj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBseSBzaG93aW5nIG5ldHdvcmsgc3BlZWQuIExlZnQgY2xpY2sgdG8gY2hhbmdlIG1vZGVzOlxuXG4xLiBUb3RhbCBuZXQgc3BlZWQgaW4gYml0cyBwZXIgc2Vjb25kXG4yLiBUb3RhbCBuZXQgc3BlZWQgaW4gQnl0ZXMgcGVyIHNlY29uZFxuMy4gVXAgJiBkb3duIHNwZWVkIGluIGJpdHMgcGVyIHNlY29uZFxuNC4gVXAgJiBkb3duIHNwZWVkIGluIEJ5dGVzIHBlciBzZWNvbmRcbjUuIFRvdGFsIG9mIGRvd25sb2FkZWQgaW4gQnl0ZXMgKFJpZ2h0IGNsaWNrIHRvIHJlc2V0IGNvdW50ZXIpXG5cbk1pZGRsZSBjbGljayB0byBjaGFuZ2UgZm9udCBzaXplIiwKICAibmFtZSI6ICJTaW1wbGUgbmV0IHNwZWVkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9iaWppL3NpbXBsZW5ldHNwZWVkIiwKICAidXVpZCI6ICJzaW1wbGVuZXRzcGVlZEBiaWppLmV4dGVuc2lvbiIsCiAgInZlcnNpb24iOiAyMwp9"}, "40": {"version": "23", "sha256": "16g6203q6d8il018rf8zhh6gziybpczc6r5v5289kz0i343bmkfj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBseSBzaG93aW5nIG5ldHdvcmsgc3BlZWQuIExlZnQgY2xpY2sgdG8gY2hhbmdlIG1vZGVzOlxuXG4xLiBUb3RhbCBuZXQgc3BlZWQgaW4gYml0cyBwZXIgc2Vjb25kXG4yLiBUb3RhbCBuZXQgc3BlZWQgaW4gQnl0ZXMgcGVyIHNlY29uZFxuMy4gVXAgJiBkb3duIHNwZWVkIGluIGJpdHMgcGVyIHNlY29uZFxuNC4gVXAgJiBkb3duIHNwZWVkIGluIEJ5dGVzIHBlciBzZWNvbmRcbjUuIFRvdGFsIG9mIGRvd25sb2FkZWQgaW4gQnl0ZXMgKFJpZ2h0IGNsaWNrIHRvIHJlc2V0IGNvdW50ZXIpXG5cbk1pZGRsZSBjbGljayB0byBjaGFuZ2UgZm9udCBzaXplIiwKICAibmFtZSI6ICJTaW1wbGUgbmV0IHNwZWVkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9iaWppL3NpbXBsZW5ldHNwZWVkIiwKICAidXVpZCI6ICJzaW1wbGVuZXRzcGVlZEBiaWppLmV4dGVuc2lvbiIsCiAgInZlcnNpb24iOiAyMwp9"}}}
+, {"uuid": "gnome-shell-go-to-last-workspace@github.com", "name": "Go To Last Workspace", "pname": "go-to-last-workspace", "description": "Quickly toggle between two workspaces with one key", "link": "https://extensions.gnome.org/extension/1089/go-to-last-workspace/", "shell_version_map": {"38": {"version": "7", "sha256": "19jyrfhniz65xfrwzpph4i33mwpbfshy5bc79vxd5fy4qa0p6scp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgdG9nZ2xlIGJldHdlZW4gdHdvIHdvcmtzcGFjZXMgd2l0aCBvbmUga2V5IiwKICAibmFtZSI6ICJHbyBUbyBMYXN0IFdvcmtzcGFjZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nby10by1sYXN0LXdvcmtzcGFjZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hcmphbi9nbm9tZS1zaGVsbC1nby10by1sYXN0LXdvcmtzcGFjZSIsCiAgInV1aWQiOiAiZ25vbWUtc2hlbGwtZ28tdG8tbGFzdC13b3Jrc3BhY2VAZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}, "40": {"version": "7", "sha256": "19jyrfhniz65xfrwzpph4i33mwpbfshy5bc79vxd5fy4qa0p6scp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgdG9nZ2xlIGJldHdlZW4gdHdvIHdvcmtzcGFjZXMgd2l0aCBvbmUga2V5IiwKICAibmFtZSI6ICJHbyBUbyBMYXN0IFdvcmtzcGFjZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nby10by1sYXN0LXdvcmtzcGFjZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hcmphbi9nbm9tZS1zaGVsbC1nby10by1sYXN0LXdvcmtzcGFjZSIsCiAgInV1aWQiOiAiZ25vbWUtc2hlbGwtZ28tdG8tbGFzdC13b3Jrc3BhY2VAZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}}}
 , {"uuid": "KeepAwake@jepfa.de", "name": "Keep awake!", "pname": "keep-awake", "description": "Keep your computer awake! Forbid your computer to activate sceensaver, turn off the screen or suspend when it is idle for a while. Click the indicator icon (in the taskbar) once to keep your computer awake for the session. Click again to enable persistance of this setting between restarts (indicated by a small lock icon on the indicator). Switch off by clicking again.", "link": "https://extensions.gnome.org/extension/1097/keep-awake/", "shell_version_map": {"38": {"version": "6", "sha256": "1lmwq4ng14jvpzd3fnwc8bilvyigya46d8il8m16g1596p3hikdk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIktlZXAgeW91ciBjb21wdXRlciBhd2FrZSEgRm9yYmlkIHlvdXIgY29tcHV0ZXIgdG8gYWN0aXZhdGUgc2NlZW5zYXZlciwgdHVybiBvZmYgdGhlIHNjcmVlbiBvciBzdXNwZW5kIHdoZW4gaXQgaXMgaWRsZSBmb3IgYSB3aGlsZS4gQ2xpY2sgdGhlIGluZGljYXRvciBpY29uIChpbiB0aGUgdGFza2Jhcikgb25jZSB0byBrZWVwIHlvdXIgY29tcHV0ZXIgYXdha2UgZm9yIHRoZSBzZXNzaW9uLiBDbGljayBhZ2FpbiB0byBlbmFibGUgcGVyc2lzdGFuY2Ugb2YgdGhpcyBzZXR0aW5nIGJldHdlZW4gcmVzdGFydHMgKGluZGljYXRlZCBieSBhIHNtYWxsIGxvY2sgaWNvbiBvbiB0aGUgaW5kaWNhdG9yKS4gU3dpdGNoIG9mZiBieSBjbGlja2luZyBhZ2Fpbi4iLAogICJuYW1lIjogIktlZXAgYXdha2UhIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLktlZXBBd2FrZUBqZXBmYS5kZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy40IiwKICAgICIzLjYiLAogICAgIjMuOCIsCiAgICAiMy4xMCIsCiAgICAiMy4xMiIsCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2plbnNwZmFobC9LZWVwQXdha2UiLAogICJ1dWlkIjogIktlZXBBd2FrZUBqZXBmYS5kZSIsCiAgInZlcnNpb24iOiA2Cn0="}}}
 , {"uuid": "todolist@tomMoral.org", "name": "Section Todo List", "pname": "section-todo-list", "description": "Manage todo list with an applet\n\n* Add and remove task on your list in different sections.\n* Click an item to rename it.\n* Access the extension using Hot-Key (default: Ctrl+Space)\n", "link": "https://extensions.gnome.org/extension/1104/section-todo-list/", "shell_version_map": {"38": {"version": "11", "sha256": "02b5gccsx6ifgv2jyrniwagdf09jg7lvwzwlgm11qbrv7w7bn0qp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSB0b2RvIGxpc3Qgd2l0aCBhbiBhcHBsZXRcblxuKiBBZGQgYW5kIHJlbW92ZSB0YXNrIG9uIHlvdXIgbGlzdCBpbiBkaWZmZXJlbnQgc2VjdGlvbnMuXG4qIENsaWNrIGFuIGl0ZW0gdG8gcmVuYW1lIGl0LlxuKiBBY2Nlc3MgdGhlIGV4dGVuc2lvbiB1c2luZyBIb3QtS2V5IChkZWZhdWx0OiBDdHJsK1NwYWNlKVxuIiwKICAibmFtZSI6ICJTZWN0aW9uIFRvZG8gTGlzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90b21Nb3JhbC9Ub0RvTGlzdCIsCiAgInV1aWQiOiAidG9kb2xpc3RAdG9tTW9yYWwub3JnIiwKICAidmVyc2lvbiI6IDExCn0="}, "40": {"version": "11", "sha256": "02b5gccsx6ifgv2jyrniwagdf09jg7lvwzwlgm11qbrv7w7bn0qp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSB0b2RvIGxpc3Qgd2l0aCBhbiBhcHBsZXRcblxuKiBBZGQgYW5kIHJlbW92ZSB0YXNrIG9uIHlvdXIgbGlzdCBpbiBkaWZmZXJlbnQgc2VjdGlvbnMuXG4qIENsaWNrIGFuIGl0ZW0gdG8gcmVuYW1lIGl0LlxuKiBBY2Nlc3MgdGhlIGV4dGVuc2lvbiB1c2luZyBIb3QtS2V5IChkZWZhdWx0OiBDdHJsK1NwYWNlKVxuIiwKICAibmFtZSI6ICJTZWN0aW9uIFRvZG8gTGlzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90b21Nb3JhbC9Ub0RvTGlzdCIsCiAgInV1aWQiOiAidG9kb2xpc3RAdG9tTW9yYWwub3JnIiwKICAidmVyc2lvbiI6IDExCn0="}}}
 , {"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": "3", "sha256": "0j5i5rcp2mz9s630wxcrk5pz7j052p5955y1hqnn475ywbw8fzwk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBseSBhZGQgeW91ciB1c2VybmFtZSB0byB0b3BiYXIgcGFuZWwgYWdncmVnYXRlIG1lbnUiLAogICJuYW1lIjogIkFkZCBVc2VybmFtZSB0byBUb3AgUGFuZWwiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgIndpbGxpYW1icmVuZGF3QHByb3Rvbm1haWwuY29tIgogIF0sCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xMiIsCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4yMC40IiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MC4xIiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JyZW5kYXcvYWRkLXVzZXJuYW1lLXRvcHBhbmVsIiwKICAidXVpZCI6ICJhZGQtdXNlcm5hbWUtdG9wcGFuZWxAYnJlbmRhdy5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "3", "sha256": "0j5i5rcp2mz9s630wxcrk5pz7j052p5955y1hqnn475ywbw8fzwk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBseSBhZGQgeW91ciB1c2VybmFtZSB0byB0b3BiYXIgcGFuZWwgYWdncmVnYXRlIG1lbnUiLAogICJuYW1lIjogIkFkZCBVc2VybmFtZSB0byBUb3AgUGFuZWwiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgIndpbGxpYW1icmVuZGF3QHByb3Rvbm1haWwuY29tIgogIF0sCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xMiIsCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4yMC40IiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MC4xIiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JyZW5kYXcvYWRkLXVzZXJuYW1lLXRvcHBhbmVsIiwKICAidXVpZCI6ICJhZGQtdXNlcm5hbWUtdG9wcGFuZWxAYnJlbmRhdy5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}}}
+, {"uuid": "Hide_Clock@grantmcwilliams.com", "name": "Hide Clock", "pname": "hide-clock", "description": "Hides the Gnome title bar clock. \nThis is useful for anyone recording their desktop as it allows you to edit the video without the titlebar clock jumping time.\nNow supports Gnome 40.", "link": "https://extensions.gnome.org/extension/1110/hide-clock/", "shell_version_map": {"38": {"version": "3", "sha256": "1niax4lw42nvp99wbxiydassgrzsx0pkkxrnbvim0n2b8bizg8rx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSBHbm9tZSB0aXRsZSBiYXIgY2xvY2suIFxuVGhpcyBpcyB1c2VmdWwgZm9yIGFueW9uZSByZWNvcmRpbmcgdGhlaXIgZGVza3RvcCBhcyBpdCBhbGxvd3MgeW91IHRvIGVkaXQgdGhlIHZpZGVvIHdpdGhvdXQgdGhlIHRpdGxlYmFyIGNsb2NrIGp1bXBpbmcgdGltZS5cbk5vdyBzdXBwb3J0cyBHbm9tZSA0MC4iLAogICJuYW1lIjogIkhpZGUgQ2xvY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMTQiLAogICAgIjMuMTYiLAogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIkhpZGVfQ2xvY2tAZ3JhbnRtY3dpbGxpYW1zLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "40": {"version": "3", "sha256": "1niax4lw42nvp99wbxiydassgrzsx0pkkxrnbvim0n2b8bizg8rx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSBHbm9tZSB0aXRsZSBiYXIgY2xvY2suIFxuVGhpcyBpcyB1c2VmdWwgZm9yIGFueW9uZSByZWNvcmRpbmcgdGhlaXIgZGVza3RvcCBhcyBpdCBhbGxvd3MgeW91IHRvIGVkaXQgdGhlIHZpZGVvIHdpdGhvdXQgdGhlIHRpdGxlYmFyIGNsb2NrIGp1bXBpbmcgdGltZS5cbk5vdyBzdXBwb3J0cyBHbm9tZSA0MC4iLAogICJuYW1lIjogIkhpZGUgQ2xvY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMTQiLAogICAgIjMuMTYiLAogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIkhpZGVfQ2xvY2tAZ3JhbnRtY3dpbGxpYW1zLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}}}
 , {"uuid": "gnome-shell-screenshot@ttll.de", "name": "Screenshot Tool", "pname": "screenshot-tool", "description": "Conveniently create, copy, store and upload screenshots", "link": "https://extensions.gnome.org/extension/1112/screenshot-tool/", "shell_version_map": {"38": {"version": "56", "sha256": "07bg3fgg9k7wqyd746w75a12vzm93dn4wr3l1czd6864f4pmalpd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnZlbmllbnRseSBjcmVhdGUsIGNvcHksIHN0b3JlIGFuZCB1cGxvYWQgc2NyZWVuc2hvdHMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1zY3JlZW5zaG90IiwKICAiZ2l0LXZlcnNpb24iOiAidjU2IiwKICAibmFtZSI6ICJTY3JlZW5zaG90IFRvb2wiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2NyZWVuc2hvdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL090dG9BbGxtZW5kaW5nZXIvZ25vbWUtc2hlbGwtc2NyZWVuc2hvdC8iLAogICJ1dWlkIjogImdub21lLXNoZWxsLXNjcmVlbnNob3RAdHRsbC5kZSIsCiAgInZlcnNpb24iOiA1Ngp9"}, "40": {"version": "58", "sha256": "0rh86n98jmma7kkbhyfvw71rk1qa85nb7nx14dsb5r15pbdx6v5r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnZlbmllbnRseSBjcmVhdGUsIGNvcHksIHN0b3JlIGFuZCB1cGxvYWQgc2NyZWVuc2hvdHMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1zY3JlZW5zaG90IiwKICAiZ2l0LXZlcnNpb24iOiAidjU4IiwKICAibmFtZSI6ICJTY3JlZW5zaG90IFRvb2wiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2NyZWVuc2hvdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9PdHRvQWxsbWVuZGluZ2VyL2dub21lLXNoZWxsLXNjcmVlbnNob3QvIiwKICAidXVpZCI6ICJnbm9tZS1zaGVsbC1zY3JlZW5zaG90QHR0bGwuZGUiLAogICJ2ZXJzaW9uIjogNTgKfQ=="}}}
 , {"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": "9", "sha256": "0advxxg1bd9b8c1pi0yf4c08xrfbavwv97sg57lgc98mg3asgzh4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubXV0ZSB0aGUgbWljcm9waG9uZSBvbmx5IHdoZW4geW91IGhhdmUgc29tZXRoaW5nIHRvIHNheS4iLAogICJuYW1lIjogIk5vdGhpbmcgdG8gc2F5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5vdGhpbmctdG8tc2F5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3dib2xzdGVyL25vdGhpbmctdG8tc2F5IiwKICAidXVpZCI6ICJub3RoaW5nLXRvLXNheUBleHRlbnNpb25zLmdub21lLndvdXRlci5ib2xzdGVybC5lZSIsCiAgInZlcnNpb24iOiA5Cn0="}}}
 , {"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": "10", "sha256": "1bgbnpab1vw5glbv15zrbxngb60dl9bmk1y2iadxq47f0zh1fgly", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogInVzZSBpYnVzIGZvbnQgc2V0dGluZyBvZiBpYnVzIHNldHVwIGRpYWxvZyB0byBlbmhhbmNlIHRoZSB1c2VyIGV4cGVyaWVuY2UiLAogICJuYW1lIjogImlidXMgZm9udCBzZXR0aW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9wd3UuZmVkb3JhcGVvcGxlLm9yZy9pYnVzL2lidXMtZm9udC1zZXR0aW5nIiwKICAidXVpZCI6ICJpYnVzLWZvbnQtc2V0dGluZ0BpYnVzLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}}}
 , {"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": "0lj41ngk4kmkz94hn9bi51w8dbhzhxbb3kaza1h68lcvv2cis4sq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZSBnaXRodWIncyBub3RpZmljYXRpb25zIHdpdGhpbiB0aGUgZ25vbWUgZGVza3RvcCBlbnZpcm9ubWVudFxuU291cmNlIGNvZGUgaXMgYXZhaWxhYmxlIGhlcmU6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbGV4ZHVmL2dub21lLWdpdGh1Yi1ub3RpZmljYXRpb25zIiwKICAibmFtZSI6ICJHaXRodWIgTm90aWZpY2F0aW9ucyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJnaXRodWIubm90aWZpY2F0aW9uc0BhbGV4YW5kcmUuZHVmb3VybmV0LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxNwp9"}}}
-, {"uuid": "desk-changer@eric.gach.gmail.com", "name": "Desk Changer", "pname": "desk-changer", "description": "Simple wallpaper changer with multiple profile support. Supports integration into the system menu or its own panel icon. The daemon is written in Python and runs independently of the extension.", "link": "https://extensions.gnome.org/extension/1131/desk-changer/", "shell_version_map": {"38": {"version": "19", "sha256": "0w62m9k585j2d3in78x4irzmi6z1zmzzm443y3nm02cah5y9yp23", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSB3YWxscGFwZXIgY2hhbmdlciB3aXRoIG11bHRpcGxlIHByb2ZpbGUgc3VwcG9ydC4gU3VwcG9ydHMgaW50ZWdyYXRpb24gaW50byB0aGUgc3lzdGVtIG1lbnUgb3IgaXRzIG93biBwYW5lbCBpY29uLiBUaGUgZGFlbW9uIGlzIHdyaXR0ZW4gaW4gUHl0aG9uIGFuZCBydW5zIGluZGVwZW5kZW50bHkgb2YgdGhlIGV4dGVuc2lvbi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkZXNrLWNoYW5nZXIiLAogICJuYW1lIjogIkRlc2sgQ2hhbmdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kZXNrLWNoYW5nZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9CaWdFL2Rlc2stY2hhbmdlci8iLAogICJ1dWlkIjogImRlc2stY2hhbmdlckBlcmljLmdhY2guZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE5Cn0="}}}
+, {"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": "22", "sha256": "1da77qa05lcmn22kq055dh3k5qqav9lqh75ylkqsxvkpg5k5w8hg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSB3YWxscGFwZXIgY2hhbmdlciB3aXRoIG11bHRpcGxlIHByb2ZpbGUgc3VwcG9ydC4gSW50ZWdyYXRlcyBpbnRvIHRoZSBzaGVsbCBieSBwcm92aWRpbmcgaXQncyBvd24gcGFuZWwgaWNvbi4gVGhlIGRhZW1vbiBpcyB3cml0dGVuIHVzaW5nIGdqcyBhbmQgcnVucyBpbmRlcGVuZGVudGx5IG9mIHRoZSBleHRlbnNpb24gYXMgYSBiYWNrZ3JvdW5kIHByb2Nlc3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGVzay1jaGFuZ2VyIiwKICAibmFtZSI6ICJEZXNrIENoYW5nZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGVzay1jaGFuZ2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0JpZ0UvZGVzay1jaGFuZ2VyLyIsCiAgInV1aWQiOiAiZGVzay1jaGFuZ2VyQGVyaWMuZ2FjaC5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjIKfQ=="}, "40": {"version": "22", "sha256": "1da77qa05lcmn22kq055dh3k5qqav9lqh75ylkqsxvkpg5k5w8hg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSB3YWxscGFwZXIgY2hhbmdlciB3aXRoIG11bHRpcGxlIHByb2ZpbGUgc3VwcG9ydC4gSW50ZWdyYXRlcyBpbnRvIHRoZSBzaGVsbCBieSBwcm92aWRpbmcgaXQncyBvd24gcGFuZWwgaWNvbi4gVGhlIGRhZW1vbiBpcyB3cml0dGVuIHVzaW5nIGdqcyBhbmQgcnVucyBpbmRlcGVuZGVudGx5IG9mIHRoZSBleHRlbnNpb24gYXMgYSBiYWNrZ3JvdW5kIHByb2Nlc3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGVzay1jaGFuZ2VyIiwKICAibmFtZSI6ICJEZXNrIENoYW5nZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGVzay1jaGFuZ2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0JpZ0UvZGVzay1jaGFuZ2VyLyIsCiAgInV1aWQiOiAiZGVzay1jaGFuZ2VyQGVyaWMuZ2FjaC5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjIKfQ=="}}}
 , {"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": "6", "sha256": "1ma022dlhhk0ia7j8b1lm52arq9zz7in4x02hdvs0k29jcl4f9dd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgc2hvd3MgYSBwb3AtdXAgb2YgdXNlZnVsIGtleWJvYXJkIHNob3J0Y3V0cyB3aGVuIFN1cGVyICsgUyBpcyBwcmVzc2VkIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiU2hvcnRjdXRzIiwKICAibmFtZSI6ICJTaG9ydGN1dHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2hvcnRjdXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcGFkZGF0cmFwcGVyL3Nob3J0Y3V0cy1nbm9tZS1leHRlbnNpb24iLAogICJ1dWlkIjogIlNob3J0Y3V0c0BreWxlLmFpbXMuYWMuemEiLAogICJ2ZXJzaW9uIjogNgp9"}}}
 , {"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": "14", "sha256": "1g3yvzpvvrpg90vhgqabp028mgxpsfy2xzqpbg5d4zriam94ply8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcXVpcmVzIGxtLXNlbnNvcnMgKG9yIGxtX3NlbnNvcnMpLiBTaG93cyBDUFUgdGVtcGVyYXR1cmUsIGRpc2sgdGVtcGVyYXR1cmUsIHZpZGVvIGNhcmQgdGVtcGVyYXR1cmUsIHZvbHRhZ2UgYW5kIGZhbiBSUE0uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic2Vuc29yeS1wZXJjZXB0aW9uIiwKICAibmFtZSI6ICJTZW5zb3J5IFBlcmNlcHRpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2Vuc29yeS1wZXJjZXB0aW9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0hhcmxlbVNxdWlycmVsL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zZW5zb3J5LXBlcmNlcHRpb24iLAogICJ1dWlkIjogInNlbnNvcnktcGVyY2VwdGlvbkBIYXJsZW1TcXVpcnJlbC5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}}}
-, {"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": "23", "sha256": "01dvak9l2jay31y39kp5fgc58hjnav9rqglzl12zm6z50qgjnn4j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZXMgYSBjYXRlZ29yeS1iYXNlZCBhcHBsaWNhdGlvbiBsYXVuY2hlciBpbiB0aGUgYWN0aXZpdGllcyB3aW5kb3cuIElNUE9SVEFOVDogaXQgbmVlZHMgdGhlICdnbm9tZS1tZW51cycgYW5kICdsaWJnbm9tZS1tZW51LTMtZGV2JzsgdGhleSBtdXN0IGJlIGluc3RhbGxlZCBpbiB0aGUgc3lzdGVtIGJlZm9yZSBpbnN0YWxsaW5nIHRoaXMgZXh0ZW5zaW9uLiIsCiAgIm5hbWUiOiAiQWN0aXZpdHkgQXBwIExhdW5jaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcmFzdGVyc29mdC9hY3Rpdml0eUFwcExhdW5jaGVyIiwKICAidXVpZCI6ICJhY3Rpdml0eUFwcExhdW5jaGVyQHJhc3RlcnNvZnQuY29tIiwKICAidmVyc2lvbiI6IDIzCn0="}}}
-, {"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=="}}}
+, {"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=="}}}
+, {"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 &gt; Titlebar Buttons &gt; Minimize &amp; 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": "18qgq3v50l6md7g6q1jsd7v1irbphxwk5p9qxm1wcpyhad34dd7c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGljb24gdGFza2JhciBmb3IgdGhlIEdub21lIFNoZWxsLiBUaGlzIGV4dGVuc2lvbiBtb3ZlcyB0aGUgZGFzaCBpbnRvIHRoZSBnbm9tZSBtYWluIHBhbmVsIHNvIHRoYXQgdGhlIGFwcGxpY2F0aW9uIGxhdW5jaGVycyBhbmQgc3lzdGVtIHRyYXkgYXJlIGNvbWJpbmVkIGludG8gYSBzaW5nbGUgcGFuZWwsIHNpbWlsYXIgdG8gdGhhdCBmb3VuZCBpbiBLREUgUGxhc21hIGFuZCBXaW5kb3dzIDcrLiBBIHNlcGFyYXRlIGRvY2sgaXMgbm8gbG9uZ2VyIG5lZWRlZCBmb3IgZWFzeSBhY2Nlc3MgdG8gcnVubmluZyBhbmQgZmF2b3JpdGVkIGFwcGxpY2F0aW9ucy5cblxuRm9yIGEgbW9yZSB0cmFkaXRpb25hbCBleHBlcmllbmNlLCB5b3UgbWF5IGFsc28gd2FudCB0byB1c2UgVHdlYWsgVG9vbCB0byBlbmFibGUgV2luZG93cyAmZ3Q7IFRpdGxlYmFyIEJ1dHRvbnMgJmd0OyBNaW5pbWl6ZSAmYW1wOyBNYXhpbWl6ZS5cblxuRm9yIHRoZSBiZXN0IHN1cHBvcnQsIHBsZWFzZSByZXBvcnQgYW55IGlzc3VlcyBvbiBHaXRodWIuIERhc2gtdG8tcGFuZWwgaXMgZGV2ZWxvcGVkIGFuZCBtYWludGFpbmVkIGJ5IEBqZGVyb3NlOSBhbmQgQGNoYXJsZXNnOTkuIiwKICAiZXh0ZW5zaW9uLWlkIjogImRhc2gtdG8tcGFuZWwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkYXNoLXRvLXBhbmVsIiwKICAibmFtZSI6ICJEYXNoIHRvIFBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vamRlcm9zZTkvZGFzaC10by1wYW5lbCIsCiAgInV1aWQiOiAiZGFzaC10by1wYW5lbEBqZGVyb3NlOS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQyCn0="}, "40": {"version": "43", "sha256": "1h44cfb7zcpw9vsl85ry9g232vfqg7hgnrxd19w5i2wxhrw7712j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGljb24gdGFza2JhciBmb3IgdGhlIEdub21lIFNoZWxsLiBUaGlzIGV4dGVuc2lvbiBtb3ZlcyB0aGUgZGFzaCBpbnRvIHRoZSBnbm9tZSBtYWluIHBhbmVsIHNvIHRoYXQgdGhlIGFwcGxpY2F0aW9uIGxhdW5jaGVycyBhbmQgc3lzdGVtIHRyYXkgYXJlIGNvbWJpbmVkIGludG8gYSBzaW5nbGUgcGFuZWwsIHNpbWlsYXIgdG8gdGhhdCBmb3VuZCBpbiBLREUgUGxhc21hIGFuZCBXaW5kb3dzIDcrLiBBIHNlcGFyYXRlIGRvY2sgaXMgbm8gbG9uZ2VyIG5lZWRlZCBmb3IgZWFzeSBhY2Nlc3MgdG8gcnVubmluZyBhbmQgZmF2b3JpdGVkIGFwcGxpY2F0aW9ucy5cblxuRm9yIGEgbW9yZSB0cmFkaXRpb25hbCBleHBlcmllbmNlLCB5b3UgbWF5IGFsc28gd2FudCB0byB1c2UgVHdlYWsgVG9vbCB0byBlbmFibGUgV2luZG93cyAmZ3Q7IFRpdGxlYmFyIEJ1dHRvbnMgJmd0OyBNaW5pbWl6ZSAmYW1wOyBNYXhpbWl6ZS5cblxuRm9yIHRoZSBiZXN0IHN1cHBvcnQsIHBsZWFzZSByZXBvcnQgYW55IGlzc3VlcyBvbiBHaXRodWIuIERhc2gtdG8tcGFuZWwgaXMgZGV2ZWxvcGVkIGFuZCBtYWludGFpbmVkIGJ5IEBqZGVyb3NlOSBhbmQgQGNoYXJsZXNnOTkuIiwKICAiZXh0ZW5zaW9uLWlkIjogImRhc2gtdG8tcGFuZWwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkYXNoLXRvLXBhbmVsIiwKICAibmFtZSI6ICJEYXNoIHRvIFBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2pkZXJvc2U5L2Rhc2gtdG8tcGFuZWwiLAogICJ1dWlkIjogImRhc2gtdG8tcGFuZWxAamRlcm9zZTkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0Mwp9"}}}
 , {"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": "3", "sha256": "0b9yr3ixrlr1ngc8f68spddpk94nz367cvrklf02598jj48sgxbl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGUgYSBzeXN0ZW0gbWVudSBpdGVtIHRvIHJlbmV3IEtlcmJlcm9zIHRpY2tldHMiLAogICJuYW1lIjogIktlcmJlcm9zIGxvZ2luIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIyLjIiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImdub21lLWtpbml0QGJvbnppbmkuZ251Lm9yZyIsCiAgInZlcnNpb24iOiAzCn0="}}}
 , {"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"}}}
@@ -118,27 +130,30 @@
 , {"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": "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", "link": "https://extensions.gnome.org/extension/1218/printers/", "shell_version_map": {"38": {"version": "12", "sha256": "0b5vfw13qdvy13crikp72h1m3ypjzhpxihzlfp0rk530cp031cmz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBKb2JzIGFuZCBQcmludGVycyIsCiAgImV4dGVuc2lvbi1pZCI6ICJwcmludGVycyIsCiAgIm5hbWUiOiAiUHJpbnRlcnMiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImpvYW8uY2FsZGFzLmxvcGVzQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucHJpbnRlcnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9saW51eC1tYW4vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXByaW50ZXJzIiwKICAidXVpZCI6ICJwcmludGVyc0BsaW51eC1tYW4ub3JnIiwKICAidmVyc2lvbiI6IDEyCn0="}, "40": {"version": "13", "sha256": "016mqy0pifaxz37g43pag2w62b3dyf8n0fxhf43m0p9wphxa5zwf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBKb2JzIGFuZCBQcmludGVycyIsCiAgImV4dGVuc2lvbi1pZCI6ICJwcmludGVycyIsCiAgIm5hbWUiOiAiUHJpbnRlcnMiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImpvYW8uY2FsZGFzLmxvcGVzQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucHJpbnRlcnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbGludXgtbWFuL2dub21lLXNoZWxsLWV4dGVuc2lvbi1wcmludGVycyIsCiAgInV1aWQiOiAicHJpbnRlcnNAbGludXgtbWFuLm9yZyIsCiAgInZlcnNpb24iOiAxMwp9"}}}
+, {"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": "21", "sha256": "1ad3nhxkc9n0b70nf0vgwgrjy2mh0ard57f53587zgsys6lbl3d8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIEdtYWlsIGFuZCBPdXRsb29rIG5vdGlmaWNhdGlvbnMgaW4gR25vbWUgTWVzc2FnZSBUcmF5IHVzaW5nIEdub21lIE9ubGluZSBBY2NvdW50c1xuIiwKICAibmFtZSI6ICJHbm9tZSBFbWFpbCBOb3RpZmljYXRpb25zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NodW1pbmdjaC9nbm9tZS1lbWFpbC1ub3RpZmljYXRpb25zIiwKICAidXVpZCI6ICJHbWFpbE1lc3NhZ2VUcmF5QHNodW1pbmcwMjA3LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyMQp9"}}}
+, {"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"}}}
 , {"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": "31", "sha256": "0gq3q0sh8088gp0mjp9xn8n5ff8yxbhrp3ik3dbavs12wm26qlbh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3b3Jrc3BhY2UgbGlrZSB1c2luZyBBTFQrVEFCIGtleSB0byBzd2l0Y2ggd2luZG93cyBcblxuIERlZmF1bHQgc2hvcnRjdXQga2V5IHRvIHN3aXRjaCB3b3Jrc3BhY2UgaXMgQ3RybCtBYm92ZV9UYWIgLiIsCiAgIm5hbWUiOiAiU3dpdGNoIFdvcmtzcGFjZSIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAic3VuLnd4Z0BnbWFpbC5jb20iCiAgXSwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1bnd4Zy9nbm9tZS1zaGVsbC1leHRlbnNpb24tc3dpdGNod29ya3NwYWNlIiwKICAidXVpZCI6ICJzd2l0Y2hXb3JrU3BhY2VAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMzEKfQ=="}}}
+, {"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": "156", "sha256": "125jfvslb2h77b3cnnrjbj0kc0qhv07aiir9b7na5fanr4cid97c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNhY2hlLWZpbGUtZm9ybWF0LXZlcnNpb24iOiB7CiAgICAiYWxhcm1zIjogMywKICAgICJwb21vZG9ybyI6IDMsCiAgICAic3RvcHdhdGNoIjogNCwKICAgICJ0aW1lciI6IDMsCiAgICAidG9kbyI6IDEwCiAgfSwKICAiZGVzY3JpcHRpb24iOiAiQSB0b2RvLnR4dCBtYW5hZ2VyLCB0aW1lIHRyYWNrZXIsIHRpbWVyLCBzdG9wd2F0Y2gsIHBvbW9kb3JvLCBhbmQgYWxhcm0gY2xvY2siLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ0aW1lcHAiLAogICJpc3N1ZXNfdXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS96YWdvcnRlbmF5MzMzL3RpbWVwcF9fZ25vbWUvaXNzdWVzIiwKICAibmFtZSI6ICJUaW1lICsrIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImh0dHBzOi8vZ2l0aHViLmNvbS96YWdvcnRlbmF5MzMzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ0cmFuc2xhdGlvbnNfdXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS96YWdvcnRlbmF5MzMzL3RpbWVwcF9fZ25vbWUvdHJlZS9tYXN0ZXIvZGF0YS9wb19maWxlcyIsCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vemFnb3J0ZW5heTMzMy90aW1lcHBfX2dub21lIiwKICAidXVpZCI6ICJ0aW1lcHBAemFnb3J0ZW5heTMzMyIsCiAgInZlcnNpb24iOiAxNTYKfQ=="}, "40": {"version": "156", "sha256": "125jfvslb2h77b3cnnrjbj0kc0qhv07aiir9b7na5fanr4cid97c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNhY2hlLWZpbGUtZm9ybWF0LXZlcnNpb24iOiB7CiAgICAiYWxhcm1zIjogMywKICAgICJwb21vZG9ybyI6IDMsCiAgICAic3RvcHdhdGNoIjogNCwKICAgICJ0aW1lciI6IDMsCiAgICAidG9kbyI6IDEwCiAgfSwKICAiZGVzY3JpcHRpb24iOiAiQSB0b2RvLnR4dCBtYW5hZ2VyLCB0aW1lIHRyYWNrZXIsIHRpbWVyLCBzdG9wd2F0Y2gsIHBvbW9kb3JvLCBhbmQgYWxhcm0gY2xvY2siLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ0aW1lcHAiLAogICJpc3N1ZXNfdXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS96YWdvcnRlbmF5MzMzL3RpbWVwcF9fZ25vbWUvaXNzdWVzIiwKICAibmFtZSI6ICJUaW1lICsrIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImh0dHBzOi8vZ2l0aHViLmNvbS96YWdvcnRlbmF5MzMzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ0cmFuc2xhdGlvbnNfdXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS96YWdvcnRlbmF5MzMzL3RpbWVwcF9fZ25vbWUvdHJlZS9tYXN0ZXIvZGF0YS9wb19maWxlcyIsCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vemFnb3J0ZW5heTMzMy90aW1lcHBfX2dub21lIiwKICAidXVpZCI6ICJ0aW1lcHBAemFnb3J0ZW5heTMzMyIsCiAgInZlcnNpb24iOiAxNTYKfQ=="}}}
-, {"uuid": "BingWallpaper@ineffable-gmail.com", "name": "Bing Wallpaper", "pname": "bing-wallpaper-changer", "description": "Lightweight GNOME shell extension to set your wallpaper to today's Microsoft Bing image of the day (the image you see when you visit Bing.com).\n\n *Disclaimer*: this extension is unofficial and not affiliated with Bing or Microsoft in any way. Images are protected by copyright and are licensed only for use as wallpapers.\n\nThis extension is based extensively on the NASA APOD extension by Elinvention (https://github.com/Elinvention) and inspired by Bing Desktop Wallpaper Changer by Utkarsh Gupta (https://github.com/UtkarshGpta).\n\nFeatures:\n* Fetches Bing wallpaper of the day and sets as both lock screen and desktop wallpaper (user selectable on GNOME versions that support it)\n* Optionally force a specific region (i.e. locale)\n* UHD supported resolutions\n* Optionally clean up Wallpaper directory after between 1 and 7 days (delete oldest first)\n* Only attempts to download wallpapers when they have been updated\n* Doesn't poll continuously - only once per day and on startup (schedules a refresh when Bing is due to update)\n* English (en), German (de), Dutch (nl), Italian (it), Polish (pl), Chinese (zh_CN), French (fr_FR), Portuguese (pt, pt_BR), Russian (ru_RU), Spanish (es), Korean (ko, ko_KR, ko_KP), Indonesian (id), Catalan (ca), Norwegian Bokmål (nb) & Nynorsk (ni), Swedish (sv), Arabic (ar), Hungarian (hu) and Finnish (fi_FI) - a HUGE thanks to the translators\n\nPlease report bugs to the GitHub page below:", "link": "https://extensions.gnome.org/extension/1262/bing-wallpaper-changer/", "shell_version_map": {"38": {"version": "32", "sha256": "0va1rykzfc1xajhd28wpqmwk4fq2jd1ddydbfvq5kf9zcbral5c3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpZ2h0d2VpZ2h0IEdOT01FIHNoZWxsIGV4dGVuc2lvbiB0byBzZXQgeW91ciB3YWxscGFwZXIgdG8gdG9kYXkncyBNaWNyb3NvZnQgQmluZyBpbWFnZSBvZiB0aGUgZGF5ICh0aGUgaW1hZ2UgeW91IHNlZSB3aGVuIHlvdSB2aXNpdCBCaW5nLmNvbSkuXG5cbiAqRGlzY2xhaW1lcio6IHRoaXMgZXh0ZW5zaW9uIGlzIHVub2ZmaWNpYWwgYW5kIG5vdCBhZmZpbGlhdGVkIHdpdGggQmluZyBvciBNaWNyb3NvZnQgaW4gYW55IHdheS4gSW1hZ2VzIGFyZSBwcm90ZWN0ZWQgYnkgY29weXJpZ2h0IGFuZCBhcmUgbGljZW5zZWQgb25seSBmb3IgdXNlIGFzIHdhbGxwYXBlcnMuXG5cblRoaXMgZXh0ZW5zaW9uIGlzIGJhc2VkIGV4dGVuc2l2ZWx5IG9uIHRoZSBOQVNBIEFQT0QgZXh0ZW5zaW9uIGJ5IEVsaW52ZW50aW9uIChodHRwczovL2dpdGh1Yi5jb20vRWxpbnZlbnRpb24pIGFuZCBpbnNwaXJlZCBieSBCaW5nIERlc2t0b3AgV2FsbHBhcGVyIENoYW5nZXIgYnkgVXRrYXJzaCBHdXB0YSAoaHR0cHM6Ly9naXRodWIuY29tL1V0a2Fyc2hHcHRhKS5cblxuRmVhdHVyZXM6XG4qIEZldGNoZXMgQmluZyB3YWxscGFwZXIgb2YgdGhlIGRheSBhbmQgc2V0cyBhcyBib3RoIGxvY2sgc2NyZWVuIGFuZCBkZXNrdG9wIHdhbGxwYXBlciAodXNlciBzZWxlY3RhYmxlIG9uIEdOT01FIHZlcnNpb25zIHRoYXQgc3VwcG9ydCBpdClcbiogT3B0aW9uYWxseSBmb3JjZSBhIHNwZWNpZmljIHJlZ2lvbiAoaS5lLiBsb2NhbGUpXG4qIFVIRCBzdXBwb3J0ZWQgcmVzb2x1dGlvbnNcbiogT3B0aW9uYWxseSBjbGVhbiB1cCBXYWxscGFwZXIgZGlyZWN0b3J5IGFmdGVyIGJldHdlZW4gMSBhbmQgNyBkYXlzIChkZWxldGUgb2xkZXN0IGZpcnN0KVxuKiBPbmx5IGF0dGVtcHRzIHRvIGRvd25sb2FkIHdhbGxwYXBlcnMgd2hlbiB0aGV5IGhhdmUgYmVlbiB1cGRhdGVkXG4qIERvZXNuJ3QgcG9sbCBjb250aW51b3VzbHkgLSBvbmx5IG9uY2UgcGVyIGRheSBhbmQgb24gc3RhcnR1cCAoc2NoZWR1bGVzIGEgcmVmcmVzaCB3aGVuIEJpbmcgaXMgZHVlIHRvIHVwZGF0ZSlcbiogRW5nbGlzaCAoZW4pLCBHZXJtYW4gKGRlKSwgRHV0Y2ggKG5sKSwgSXRhbGlhbiAoaXQpLCBQb2xpc2ggKHBsKSwgQ2hpbmVzZSAoemhfQ04pLCBGcmVuY2ggKGZyX0ZSKSwgUG9ydHVndWVzZSAocHQsIHB0X0JSKSwgUnVzc2lhbiAocnVfUlUpLCBTcGFuaXNoIChlcyksIEtvcmVhbiAoa28sIGtvX0tSLCBrb19LUCksIEluZG9uZXNpYW4gKGlkKSwgQ2F0YWxhbiAoY2EpLCBOb3J3ZWdpYW4gQm9rbVx1MDBlNWwgKG5iKSAmIE55bm9yc2sgKG5pKSwgU3dlZGlzaCAoc3YpLCBBcmFiaWMgKGFyKSwgSHVuZ2FyaWFuIChodSkgYW5kIEZpbm5pc2ggKGZpX0ZJKSAtIGEgSFVHRSB0aGFua3MgdG8gdGhlIHRyYW5zbGF0b3JzXG5cblBsZWFzZSByZXBvcnQgYnVncyB0byB0aGUgR2l0SHViIHBhZ2UgYmVsb3c6IiwKICAibmFtZSI6ICJCaW5nIFdhbGxwYXBlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5iaW5nd2FsbHBhcGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL25lZmZvL2Jpbmctd2FsbHBhcGVyLWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiQmluZ1dhbGxwYXBlckBpbmVmZmFibGUtZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDMyCn0="}, "40": {"version": "32", "sha256": "0va1rykzfc1xajhd28wpqmwk4fq2jd1ddydbfvq5kf9zcbral5c3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpZ2h0d2VpZ2h0IEdOT01FIHNoZWxsIGV4dGVuc2lvbiB0byBzZXQgeW91ciB3YWxscGFwZXIgdG8gdG9kYXkncyBNaWNyb3NvZnQgQmluZyBpbWFnZSBvZiB0aGUgZGF5ICh0aGUgaW1hZ2UgeW91IHNlZSB3aGVuIHlvdSB2aXNpdCBCaW5nLmNvbSkuXG5cbiAqRGlzY2xhaW1lcio6IHRoaXMgZXh0ZW5zaW9uIGlzIHVub2ZmaWNpYWwgYW5kIG5vdCBhZmZpbGlhdGVkIHdpdGggQmluZyBvciBNaWNyb3NvZnQgaW4gYW55IHdheS4gSW1hZ2VzIGFyZSBwcm90ZWN0ZWQgYnkgY29weXJpZ2h0IGFuZCBhcmUgbGljZW5zZWQgb25seSBmb3IgdXNlIGFzIHdhbGxwYXBlcnMuXG5cblRoaXMgZXh0ZW5zaW9uIGlzIGJhc2VkIGV4dGVuc2l2ZWx5IG9uIHRoZSBOQVNBIEFQT0QgZXh0ZW5zaW9uIGJ5IEVsaW52ZW50aW9uIChodHRwczovL2dpdGh1Yi5jb20vRWxpbnZlbnRpb24pIGFuZCBpbnNwaXJlZCBieSBCaW5nIERlc2t0b3AgV2FsbHBhcGVyIENoYW5nZXIgYnkgVXRrYXJzaCBHdXB0YSAoaHR0cHM6Ly9naXRodWIuY29tL1V0a2Fyc2hHcHRhKS5cblxuRmVhdHVyZXM6XG4qIEZldGNoZXMgQmluZyB3YWxscGFwZXIgb2YgdGhlIGRheSBhbmQgc2V0cyBhcyBib3RoIGxvY2sgc2NyZWVuIGFuZCBkZXNrdG9wIHdhbGxwYXBlciAodXNlciBzZWxlY3RhYmxlIG9uIEdOT01FIHZlcnNpb25zIHRoYXQgc3VwcG9ydCBpdClcbiogT3B0aW9uYWxseSBmb3JjZSBhIHNwZWNpZmljIHJlZ2lvbiAoaS5lLiBsb2NhbGUpXG4qIFVIRCBzdXBwb3J0ZWQgcmVzb2x1dGlvbnNcbiogT3B0aW9uYWxseSBjbGVhbiB1cCBXYWxscGFwZXIgZGlyZWN0b3J5IGFmdGVyIGJldHdlZW4gMSBhbmQgNyBkYXlzIChkZWxldGUgb2xkZXN0IGZpcnN0KVxuKiBPbmx5IGF0dGVtcHRzIHRvIGRvd25sb2FkIHdhbGxwYXBlcnMgd2hlbiB0aGV5IGhhdmUgYmVlbiB1cGRhdGVkXG4qIERvZXNuJ3QgcG9sbCBjb250aW51b3VzbHkgLSBvbmx5IG9uY2UgcGVyIGRheSBhbmQgb24gc3RhcnR1cCAoc2NoZWR1bGVzIGEgcmVmcmVzaCB3aGVuIEJpbmcgaXMgZHVlIHRvIHVwZGF0ZSlcbiogRW5nbGlzaCAoZW4pLCBHZXJtYW4gKGRlKSwgRHV0Y2ggKG5sKSwgSXRhbGlhbiAoaXQpLCBQb2xpc2ggKHBsKSwgQ2hpbmVzZSAoemhfQ04pLCBGcmVuY2ggKGZyX0ZSKSwgUG9ydHVndWVzZSAocHQsIHB0X0JSKSwgUnVzc2lhbiAocnVfUlUpLCBTcGFuaXNoIChlcyksIEtvcmVhbiAoa28sIGtvX0tSLCBrb19LUCksIEluZG9uZXNpYW4gKGlkKSwgQ2F0YWxhbiAoY2EpLCBOb3J3ZWdpYW4gQm9rbVx1MDBlNWwgKG5iKSAmIE55bm9yc2sgKG5pKSwgU3dlZGlzaCAoc3YpLCBBcmFiaWMgKGFyKSwgSHVuZ2FyaWFuIChodSkgYW5kIEZpbm5pc2ggKGZpX0ZJKSAtIGEgSFVHRSB0aGFua3MgdG8gdGhlIHRyYW5zbGF0b3JzXG5cblBsZWFzZSByZXBvcnQgYnVncyB0byB0aGUgR2l0SHViIHBhZ2UgYmVsb3c6IiwKICAibmFtZSI6ICJCaW5nIFdhbGxwYXBlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5iaW5nd2FsbHBhcGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL25lZmZvL2Jpbmctd2FsbHBhcGVyLWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiQmluZ1dhbGxwYXBlckBpbmVmZmFibGUtZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDMyCn0="}}}
+, {"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": "158", "sha256": "0cyydpidzrz4avc1i8gb5rp28pfyn5m3m1c20i11s5lb873diig7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNhY2hlLWZpbGUtZm9ybWF0LXZlcnNpb24iOiB7CiAgICAiYWxhcm1zIjogMywKICAgICJwb21vZG9ybyI6IDMsCiAgICAic3RvcHdhdGNoIjogNCwKICAgICJ0aW1lciI6IDMsCiAgICAidG9kbyI6IDEwCiAgfSwKICAiZGVzY3JpcHRpb24iOiAiQSB0b2RvLnR4dCBtYW5hZ2VyLCB0aW1lIHRyYWNrZXIsIHRpbWVyLCBzdG9wd2F0Y2gsIHBvbW9kb3JvLCBhbmQgYWxhcm0gY2xvY2siLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ0aW1lcHAiLAogICJpc3N1ZXNfdXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS96YWdvcnRlbmF5MzMzL3RpbWVwcF9fZ25vbWUvaXNzdWVzIiwKICAibmFtZSI6ICJUaW1lICsrIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImh0dHBzOi8vZ2l0aHViLmNvbS96YWdvcnRlbmF5MzMzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ0cmFuc2xhdGlvbnNfdXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS96YWdvcnRlbmF5MzMzL3RpbWVwcF9fZ25vbWUvdHJlZS9tYXN0ZXIvZGF0YS9wb19maWxlcyIsCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vemFnb3J0ZW5heTMzMy90aW1lcHBfX2dub21lIiwKICAidXVpZCI6ICJ0aW1lcHBAemFnb3J0ZW5heTMzMyIsCiAgInZlcnNpb24iOiAxNTgKfQ=="}}}
+, {"uuid": "obmin@konkor", "name": "Obmin", "pname": "obmin", "description": "One-Click File Sharing for your network.\nObmin is lightweight HTTP(S) File Server for GNU/Linux systems.\n\nFeatures:\n⚫ Easy installation.\n⚫ Easy setup just choose file(s) locations and tune Obmin on.\n⚫ Doesn't require ROOT privileges.\n⚫ Doesn't require any special client side installation.\n⚫ HTTP transfer protocol available everywhere Linux, OSX, Windows, Android, iOS so.\n⚫ More ...\n\nFor more information and how-to see README.md", "link": "https://extensions.gnome.org/extension/1254/obmin/", "shell_version_map": {"38": {"version": "22", "sha256": "1r7q5p600lqlkagz9gdxj5wi77i5066sgiwxfsj4w1ixd1g44cz5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk9uZS1DbGljayBGaWxlIFNoYXJpbmcgZm9yIHlvdXIgbmV0d29yay5cbk9ibWluIGlzIGxpZ2h0d2VpZ2h0IEhUVFAoUykgRmlsZSBTZXJ2ZXIgZm9yIEdOVS9MaW51eCBzeXN0ZW1zLlxuXG5GZWF0dXJlczpcblx1MjZhYiBFYXN5IGluc3RhbGxhdGlvbi5cblx1MjZhYiBFYXN5IHNldHVwIGp1c3QgY2hvb3NlIGZpbGUocykgbG9jYXRpb25zIGFuZCB0dW5lIE9ibWluIG9uLlxuXHUyNmFiIERvZXNuJ3QgcmVxdWlyZSBST09UIHByaXZpbGVnZXMuXG5cdTI2YWIgRG9lc24ndCByZXF1aXJlIGFueSBzcGVjaWFsIGNsaWVudCBzaWRlIGluc3RhbGxhdGlvbi5cblx1MjZhYiBIVFRQIHRyYW5zZmVyIHByb3RvY29sIGF2YWlsYWJsZSBldmVyeXdoZXJlIExpbnV4LCBPU1gsIFdpbmRvd3MsIEFuZHJvaWQsIGlPUyBzby5cblx1MjZhYiBNb3JlIC4uLlxuXG5Gb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgaG93LXRvIHNlZSBSRUFETUUubWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zLW9ibWluIiwKICAibmFtZSI6ICJPYm1pbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5vYm1pbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zMiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vb2JtaW4uZ2l0aHViLmlvIiwKICAidXVpZCI6ICJvYm1pbkBrb25rb3IiLAogICJ2ZXJzaW9uIjogMjIKfQ=="}, "40": {"version": "22", "sha256": "1r7q5p600lqlkagz9gdxj5wi77i5066sgiwxfsj4w1ixd1g44cz5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk9uZS1DbGljayBGaWxlIFNoYXJpbmcgZm9yIHlvdXIgbmV0d29yay5cbk9ibWluIGlzIGxpZ2h0d2VpZ2h0IEhUVFAoUykgRmlsZSBTZXJ2ZXIgZm9yIEdOVS9MaW51eCBzeXN0ZW1zLlxuXG5GZWF0dXJlczpcblx1MjZhYiBFYXN5IGluc3RhbGxhdGlvbi5cblx1MjZhYiBFYXN5IHNldHVwIGp1c3QgY2hvb3NlIGZpbGUocykgbG9jYXRpb25zIGFuZCB0dW5lIE9ibWluIG9uLlxuXHUyNmFiIERvZXNuJ3QgcmVxdWlyZSBST09UIHByaXZpbGVnZXMuXG5cdTI2YWIgRG9lc24ndCByZXF1aXJlIGFueSBzcGVjaWFsIGNsaWVudCBzaWRlIGluc3RhbGxhdGlvbi5cblx1MjZhYiBIVFRQIHRyYW5zZmVyIHByb3RvY29sIGF2YWlsYWJsZSBldmVyeXdoZXJlIExpbnV4LCBPU1gsIFdpbmRvd3MsIEFuZHJvaWQsIGlPUyBzby5cblx1MjZhYiBNb3JlIC4uLlxuXG5Gb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgaG93LXRvIHNlZSBSRUFETUUubWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zLW9ibWluIiwKICAibmFtZSI6ICJPYm1pbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5vYm1pbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zMiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vb2JtaW4uZ2l0aHViLmlvIiwKICAidXVpZCI6ICJvYm1pbkBrb25rb3IiLAogICJ2ZXJzaW9uIjogMjIKfQ=="}}}
+, {"uuid": "BingWallpaper@ineffable-gmail.com", "name": "Bing Wallpaper", "pname": "bing-wallpaper-changer", "description": "Lightweight GNOME shell extension to set your wallpaper to today's Microsoft Bing image of the day (the image you see when you visit Bing.com).\n\n *Disclaimer*: this extension is unofficial and not affiliated with Bing or Microsoft in any way. Images are protected by copyright and are licensed only for use as wallpapers.\n\nThis extension is based extensively on the NASA APOD extension by Elinvention (https://github.com/Elinvention) and inspired by Bing Desktop Wallpaper Changer by Utkarsh Gupta (https://github.com/UtkarshGpta).\n\nFeatures:\n* Fetches Bing wallpaper of the day and sets as both lock screen and desktop wallpaper (user selectable on GNOME versions that support it)\n* Optionally force a specific region (i.e. locale)\n* UHD supported resolutions\n* Only attempts to download wallpapers when they have been updated\n* Doesn't poll continuously - only once per day and on startup (schedules a refresh when Bing is due to update)\n *NEW: random mode\n *NEW: select wallpaper from previously downloaded images\n* English (en), German (de), Dutch (nl), Italian (it), Polish (pl), Chinese (zh_CN), French (fr_FR), Portuguese (pt, pt_BR), Russian (ru_RU), Spanish (es), Korean (ko, ko_KR, ko_KP), Indonesian (id), Catalan (ca), Norwegian Bokmål (nb) & Nynorsk (ni), Swedish (sv), Arabic (ar), Hungarian (hu) and Finnish (fi_FI) - a HUGE thanks to the translators\n\nAlways restart GNOME after manually updating extensions. Please report bugs to the GitHub page below:", "link": "https://extensions.gnome.org/extension/1262/bing-wallpaper-changer/", "shell_version_map": {"38": {"version": "34", "sha256": "0vj4phjs29fn6yrpmgp0d6qcz7zpmvxc2z8l8n2vyafh4lpf1ds9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpZ2h0d2VpZ2h0IEdOT01FIHNoZWxsIGV4dGVuc2lvbiB0byBzZXQgeW91ciB3YWxscGFwZXIgdG8gdG9kYXkncyBNaWNyb3NvZnQgQmluZyBpbWFnZSBvZiB0aGUgZGF5ICh0aGUgaW1hZ2UgeW91IHNlZSB3aGVuIHlvdSB2aXNpdCBCaW5nLmNvbSkuXG5cbiAqRGlzY2xhaW1lcio6IHRoaXMgZXh0ZW5zaW9uIGlzIHVub2ZmaWNpYWwgYW5kIG5vdCBhZmZpbGlhdGVkIHdpdGggQmluZyBvciBNaWNyb3NvZnQgaW4gYW55IHdheS4gSW1hZ2VzIGFyZSBwcm90ZWN0ZWQgYnkgY29weXJpZ2h0IGFuZCBhcmUgbGljZW5zZWQgb25seSBmb3IgdXNlIGFzIHdhbGxwYXBlcnMuXG5cblRoaXMgZXh0ZW5zaW9uIGlzIGJhc2VkIGV4dGVuc2l2ZWx5IG9uIHRoZSBOQVNBIEFQT0QgZXh0ZW5zaW9uIGJ5IEVsaW52ZW50aW9uIChodHRwczovL2dpdGh1Yi5jb20vRWxpbnZlbnRpb24pIGFuZCBpbnNwaXJlZCBieSBCaW5nIERlc2t0b3AgV2FsbHBhcGVyIENoYW5nZXIgYnkgVXRrYXJzaCBHdXB0YSAoaHR0cHM6Ly9naXRodWIuY29tL1V0a2Fyc2hHcHRhKS5cblxuRmVhdHVyZXM6XG4qIEZldGNoZXMgQmluZyB3YWxscGFwZXIgb2YgdGhlIGRheSBhbmQgc2V0cyBhcyBib3RoIGxvY2sgc2NyZWVuIGFuZCBkZXNrdG9wIHdhbGxwYXBlciAodXNlciBzZWxlY3RhYmxlIG9uIEdOT01FIHZlcnNpb25zIHRoYXQgc3VwcG9ydCBpdClcbiogT3B0aW9uYWxseSBmb3JjZSBhIHNwZWNpZmljIHJlZ2lvbiAoaS5lLiBsb2NhbGUpXG4qIFVIRCBzdXBwb3J0ZWQgcmVzb2x1dGlvbnNcbiogT25seSBhdHRlbXB0cyB0byBkb3dubG9hZCB3YWxscGFwZXJzIHdoZW4gdGhleSBoYXZlIGJlZW4gdXBkYXRlZFxuKiBEb2Vzbid0IHBvbGwgY29udGludW91c2x5IC0gb25seSBvbmNlIHBlciBkYXkgYW5kIG9uIHN0YXJ0dXAgKHNjaGVkdWxlcyBhIHJlZnJlc2ggd2hlbiBCaW5nIGlzIGR1ZSB0byB1cGRhdGUpXG4gKk5FVzogcmFuZG9tIG1vZGVcbiAqTkVXOiBzZWxlY3Qgd2FsbHBhcGVyIGZyb20gcHJldmlvdXNseSBkb3dubG9hZGVkIGltYWdlc1xuKiBFbmdsaXNoIChlbiksIEdlcm1hbiAoZGUpLCBEdXRjaCAobmwpLCBJdGFsaWFuIChpdCksIFBvbGlzaCAocGwpLCBDaGluZXNlICh6aF9DTiksIEZyZW5jaCAoZnJfRlIpLCBQb3J0dWd1ZXNlIChwdCwgcHRfQlIpLCBSdXNzaWFuIChydV9SVSksIFNwYW5pc2ggKGVzKSwgS29yZWFuIChrbywga29fS1IsIGtvX0tQKSwgSW5kb25lc2lhbiAoaWQpLCBDYXRhbGFuIChjYSksIE5vcndlZ2lhbiBCb2ttXHUwMGU1bCAobmIpICYgTnlub3JzayAobmkpLCBTd2VkaXNoIChzdiksIEFyYWJpYyAoYXIpLCBIdW5nYXJpYW4gKGh1KSBhbmQgRmlubmlzaCAoZmlfRkkpIC0gYSBIVUdFIHRoYW5rcyB0byB0aGUgdHJhbnNsYXRvcnNcblxuQWx3YXlzIHJlc3RhcnQgR05PTUUgYWZ0ZXIgbWFudWFsbHkgdXBkYXRpbmcgZXh0ZW5zaW9ucy4gUGxlYXNlIHJlcG9ydCBidWdzIHRvIHRoZSBHaXRIdWIgcGFnZSBiZWxvdzoiLAogICJuYW1lIjogIkJpbmcgV2FsbHBhcGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJpbmd3YWxscGFwZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmVmZm8vYmluZy13YWxscGFwZXItZ25vbWUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJCaW5nV2FsbHBhcGVyQGluZWZmYWJsZS1nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMzQKfQ=="}, "40": {"version": "34", "sha256": "0vj4phjs29fn6yrpmgp0d6qcz7zpmvxc2z8l8n2vyafh4lpf1ds9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpZ2h0d2VpZ2h0IEdOT01FIHNoZWxsIGV4dGVuc2lvbiB0byBzZXQgeW91ciB3YWxscGFwZXIgdG8gdG9kYXkncyBNaWNyb3NvZnQgQmluZyBpbWFnZSBvZiB0aGUgZGF5ICh0aGUgaW1hZ2UgeW91IHNlZSB3aGVuIHlvdSB2aXNpdCBCaW5nLmNvbSkuXG5cbiAqRGlzY2xhaW1lcio6IHRoaXMgZXh0ZW5zaW9uIGlzIHVub2ZmaWNpYWwgYW5kIG5vdCBhZmZpbGlhdGVkIHdpdGggQmluZyBvciBNaWNyb3NvZnQgaW4gYW55IHdheS4gSW1hZ2VzIGFyZSBwcm90ZWN0ZWQgYnkgY29weXJpZ2h0IGFuZCBhcmUgbGljZW5zZWQgb25seSBmb3IgdXNlIGFzIHdhbGxwYXBlcnMuXG5cblRoaXMgZXh0ZW5zaW9uIGlzIGJhc2VkIGV4dGVuc2l2ZWx5IG9uIHRoZSBOQVNBIEFQT0QgZXh0ZW5zaW9uIGJ5IEVsaW52ZW50aW9uIChodHRwczovL2dpdGh1Yi5jb20vRWxpbnZlbnRpb24pIGFuZCBpbnNwaXJlZCBieSBCaW5nIERlc2t0b3AgV2FsbHBhcGVyIENoYW5nZXIgYnkgVXRrYXJzaCBHdXB0YSAoaHR0cHM6Ly9naXRodWIuY29tL1V0a2Fyc2hHcHRhKS5cblxuRmVhdHVyZXM6XG4qIEZldGNoZXMgQmluZyB3YWxscGFwZXIgb2YgdGhlIGRheSBhbmQgc2V0cyBhcyBib3RoIGxvY2sgc2NyZWVuIGFuZCBkZXNrdG9wIHdhbGxwYXBlciAodXNlciBzZWxlY3RhYmxlIG9uIEdOT01FIHZlcnNpb25zIHRoYXQgc3VwcG9ydCBpdClcbiogT3B0aW9uYWxseSBmb3JjZSBhIHNwZWNpZmljIHJlZ2lvbiAoaS5lLiBsb2NhbGUpXG4qIFVIRCBzdXBwb3J0ZWQgcmVzb2x1dGlvbnNcbiogT25seSBhdHRlbXB0cyB0byBkb3dubG9hZCB3YWxscGFwZXJzIHdoZW4gdGhleSBoYXZlIGJlZW4gdXBkYXRlZFxuKiBEb2Vzbid0IHBvbGwgY29udGludW91c2x5IC0gb25seSBvbmNlIHBlciBkYXkgYW5kIG9uIHN0YXJ0dXAgKHNjaGVkdWxlcyBhIHJlZnJlc2ggd2hlbiBCaW5nIGlzIGR1ZSB0byB1cGRhdGUpXG4gKk5FVzogcmFuZG9tIG1vZGVcbiAqTkVXOiBzZWxlY3Qgd2FsbHBhcGVyIGZyb20gcHJldmlvdXNseSBkb3dubG9hZGVkIGltYWdlc1xuKiBFbmdsaXNoIChlbiksIEdlcm1hbiAoZGUpLCBEdXRjaCAobmwpLCBJdGFsaWFuIChpdCksIFBvbGlzaCAocGwpLCBDaGluZXNlICh6aF9DTiksIEZyZW5jaCAoZnJfRlIpLCBQb3J0dWd1ZXNlIChwdCwgcHRfQlIpLCBSdXNzaWFuIChydV9SVSksIFNwYW5pc2ggKGVzKSwgS29yZWFuIChrbywga29fS1IsIGtvX0tQKSwgSW5kb25lc2lhbiAoaWQpLCBDYXRhbGFuIChjYSksIE5vcndlZ2lhbiBCb2ttXHUwMGU1bCAobmIpICYgTnlub3JzayAobmkpLCBTd2VkaXNoIChzdiksIEFyYWJpYyAoYXIpLCBIdW5nYXJpYW4gKGh1KSBhbmQgRmlubmlzaCAoZmlfRkkpIC0gYSBIVUdFIHRoYW5rcyB0byB0aGUgdHJhbnNsYXRvcnNcblxuQWx3YXlzIHJlc3RhcnQgR05PTUUgYWZ0ZXIgbWFudWFsbHkgdXBkYXRpbmcgZXh0ZW5zaW9ucy4gUGxlYXNlIHJlcG9ydCBidWdzIHRvIHRoZSBHaXRIdWIgcGFnZSBiZWxvdzoiLAogICJuYW1lIjogIkJpbmcgV2FsbHBhcGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJpbmd3YWxscGFwZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmVmZm8vYmluZy13YWxscGFwZXItZ25vbWUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJCaW5nV2FsbHBhcGVyQGluZWZmYWJsZS1nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMzQKfQ=="}}}
 , {"uuid": "gnomesome@chwick.github.com", "name": "Gnomesome", "pname": "gnomesome", "description": "Tiling window manager with awesome keybindings", "link": "https://extensions.gnome.org/extension/1268/gnomesome/", "shell_version_map": {"38": {"version": "15", "sha256": "1dn67is3qk80xxfkc2pd43jrsyylmsprd7v3axvl677wdjgaq83z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyB3aW5kb3cgbWFuYWdlciB3aXRoIGF3ZXNvbWUga2V5YmluZGluZ3MiLAogICJuYW1lIjogIkdub21lc29tZSIsCiAgInNldHRpbmdzLWtleWJpbmRpbmdzIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdub21lc29tZS5rZXliaW5kaW5ncyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Nod2ljay9nbm9tZXNvbWUiLAogICJ1dWlkIjogImdub21lc29tZUBjaHdpY2suZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxNQp9"}}}
-, {"uuid": "night-light-slider.timur@linux.com", "name": "Night Light Slider", "pname": "night-light-slider", "description": "A GNOME extension to manage the built-in night light temperature", "link": "https://extensions.gnome.org/extension/1276/night-light-slider/", "shell_version_map": {"38": {"version": "19", "sha256": "01vp7p3qwr51n4xqar55ak61a84wypbrla6kkmw0wdb6a0d119mc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgZXh0ZW5zaW9uIHRvIG1hbmFnZSB0aGUgYnVpbHQtaW4gbmlnaHQgbGlnaHQgdGVtcGVyYXR1cmUiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuaWdodC1saWdodC1zbGlkZXIudGltdXJAbGludXguY29tIiwKICAiZ3Jlc291cmNlLWRhdGEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubmlnaHRsaWdodHNsaWRlci5kYXRhLmdyZXNvdXJjZSIsCiAgIm5hbWUiOiAiTmlnaHQgTGlnaHQgU2xpZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5pZ2h0bGlnaHRzbGlkZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vY29kZWJlcmcub3JnL2tpeXVpL2dub21lLXNoZWxsLW5pZ2h0LWxpZ2h0LXNsaWRlci1leHRlbnNpb24iLAogICJ1dWlkIjogIm5pZ2h0LWxpZ2h0LXNsaWRlci50aW11ckBsaW51eC5jb20iLAogICJ2ZXJzaW9uIjogMTkKfQ=="}, "40": {"version": "22", "sha256": "127wb0mp6nwnyk68mlkawa62f0fin8fqlclrazh92j3j8gpkrkqh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgZXh0ZW5zaW9uIHRvIG1hbmFnZSB0aGUgYnVpbHQtaW4gbmlnaHQgbGlnaHQgdGVtcGVyYXR1cmUiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuaWdodC1saWdodC1zbGlkZXIudGltdXJAbGludXguY29tIiwKICAibmFtZSI6ICJOaWdodCBMaWdodCBTbGlkZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubmlnaHRsaWdodHNsaWRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9jb2RlYmVyZy5vcmcva2l5dWkvZ25vbWUtc2hlbGwtbmlnaHQtbGlnaHQtc2xpZGVyLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAibmlnaHQtbGlnaHQtc2xpZGVyLnRpbXVyQGxpbnV4LmNvbSIsCiAgInZlcnNpb24iOiAyMgp9"}}}
+, {"uuid": "night-light-slider.timur@linux.com", "name": "Night Light Slider", "pname": "night-light-slider", "description": "A GNOME extension to manage the built-in night light temperature", "link": "https://extensions.gnome.org/extension/1276/night-light-slider/", "shell_version_map": {"38": {"version": "19", "sha256": "01vp7p3qwr51n4xqar55ak61a84wypbrla6kkmw0wdb6a0d119mc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgZXh0ZW5zaW9uIHRvIG1hbmFnZSB0aGUgYnVpbHQtaW4gbmlnaHQgbGlnaHQgdGVtcGVyYXR1cmUiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuaWdodC1saWdodC1zbGlkZXIudGltdXJAbGludXguY29tIiwKICAiZ3Jlc291cmNlLWRhdGEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubmlnaHRsaWdodHNsaWRlci5kYXRhLmdyZXNvdXJjZSIsCiAgIm5hbWUiOiAiTmlnaHQgTGlnaHQgU2xpZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5pZ2h0bGlnaHRzbGlkZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vY29kZWJlcmcub3JnL2tpeXVpL2dub21lLXNoZWxsLW5pZ2h0LWxpZ2h0LXNsaWRlci1leHRlbnNpb24iLAogICJ1dWlkIjogIm5pZ2h0LWxpZ2h0LXNsaWRlci50aW11ckBsaW51eC5jb20iLAogICJ2ZXJzaW9uIjogMTkKfQ=="}, "40": {"version": "23", "sha256": "1yqawlnpv2hql90xgkz947930bb4xdk94mrnf5rib2qyp9a83111", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgZXh0ZW5zaW9uIHRvIG1hbmFnZSB0aGUgYnVpbHQtaW4gbmlnaHQgbGlnaHQgdGVtcGVyYXR1cmUiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuaWdodC1saWdodC1zbGlkZXIudGltdXJAbGludXguY29tIiwKICAibmFtZSI6ICJOaWdodCBMaWdodCBTbGlkZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubmlnaHRsaWdodHNsaWRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9jb2RlYmVyZy5vcmcva2l5dWkvZ25vbWUtc2hlbGwtbmlnaHQtbGlnaHQtc2xpZGVyLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAibmlnaHQtbGlnaHQtc2xpZGVyLnRpbXVyQGxpbnV4LmNvbSIsCiAgInZlcnNpb24iOiAyMwp9"}}}
 , {"uuid": "fuzzy-clock@keepawayfromfire.co.uk", "name": "Fuzzy Clock", "pname": "fuzzy-clock", "description": "Make the top bar clock fuzzy", "link": "https://extensions.gnome.org/extension/1281/fuzzy-clock/", "shell_version_map": {"38": {"version": "3", "sha256": "0mgih6aq16z0q4dlbrvnlp8bamk6pmxydjnq6019agc5cjmqpr2l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIHRvcCBiYXIgY2xvY2sgZnV6enkiLAogICJuYW1lIjogIkZ1enp5IENsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQ2otTWFsb25lL0Z1enp5LUNsb2NrIiwKICAidXVpZCI6ICJmdXp6eS1jbG9ja0BrZWVwYXdheWZyb21maXJlLmNvLnVrIiwKICAidmVyc2lvbiI6IDMKfQ=="}, "40": {"version": "3", "sha256": "0mgih6aq16z0q4dlbrvnlp8bamk6pmxydjnq6019agc5cjmqpr2l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIHRvcCBiYXIgY2xvY2sgZnV6enkiLAogICJuYW1lIjogIkZ1enp5IENsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQ2otTWFsb25lL0Z1enp5LUNsb2NrIiwKICAidXVpZCI6ICJmdXp6eS1jbG9ja0BrZWVwYXdheWZyb21maXJlLmNvLnVrIiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
 , {"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": "13", "sha256": "0fl59kg2kc054c5lzim2wvb6d0cw4hcpgq9h8lf2p40q8smyrfmq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhvdGVsIE1hbmFnZXIgYWxsb3dzIHRvIHN0YXJ0IGFuZCBzdG9wIHRoZSBIb3RlbCBkYWVtb24gYW5kIHlvdXIgZGV2ZWxvcG1lbnQgc2VydmVycyB2aWEgYSBtZW51IGluIHRoZSBzdGF0dXMgYXJlYS4iLAogICJuYW1lIjogIkhvdGVsIE1hbmFnZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGFyZHBpeGVsL2hvdGVsLW1hbmFnZXIiLAogICJ1dWlkIjogImhvdGVsLW1hbmFnZXJAaGFyZHBpeGVsLmV1IiwKICAidmVyc2lvbiI6IDEzCn0="}, "40": {"version": "13", "sha256": "0fl59kg2kc054c5lzim2wvb6d0cw4hcpgq9h8lf2p40q8smyrfmq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhvdGVsIE1hbmFnZXIgYWxsb3dzIHRvIHN0YXJ0IGFuZCBzdG9wIHRoZSBIb3RlbCBkYWVtb24gYW5kIHlvdXIgZGV2ZWxvcG1lbnQgc2VydmVycyB2aWEgYSBtZW51IGluIHRoZSBzdGF0dXMgYXJlYS4iLAogICJuYW1lIjogIkhvdGVsIE1hbmFnZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGFyZHBpeGVsL2hvdGVsLW1hbmFnZXIiLAogICJ1dWlkIjogImhvdGVsLW1hbmFnZXJAaGFyZHBpeGVsLmV1IiwKICAidmVyc2lvbiI6IDEzCn0="}}}
-, {"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 xorg-x11-utils\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": "53", "sha256": "0vj4ca098x6ndajy8571zc8r7d6ap7wcyf4k9y1d0k4bynyy9372", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVuaXRlIGlzIGEgR05PTUUgU2hlbGwgZXh0ZW5zaW9uIHdoaWNoIG1ha2VzIGEgZmV3IGxheW91dCB0d2Vha3MgdG8gdGhlIHRvcCBwYW5lbCBhbmQgcmVtb3ZlcyB3aW5kb3cgZGVjb3JhdGlvbnMgdG8gbWFrZSBpdCBsb29rIGxpa2UgVWJ1bnR1IFVuaXR5IFNoZWxsLlxuXG4tIEFkZHMgd2luZG93IGJ1dHRvbnMgdG8gdGhlIHRvcCBwYW5lbCBmb3IgbWF4aW1pemVkIHdpbmRvd3MuXG4tIFNob3dzIGN1cnJlbnQgd2luZG93IHRpdGxlIGluIHRoZSBhcHAgbWVudSBmb3IgbWF4aW1pemVkIHdpbmRvd3MuXG4tIFJlbW92ZXMgdGl0bGViYXJzIG9uIG1heGltaXplZCB3aW5kb3dzLlxuLSBIaWRlcyB3aW5kb3cgY29udHJvbHMgb24gbWF4aW1pemVkIHdpbmRvd3Mgd2l0aCBoZWFkZXJiYXJzLlxuLSBNb3ZlcyB0aGUgZGF0ZSB0byB0aGUgcmlnaHQsIHJlZHVjZXMgcGFuZWwgc3BhY2luZyBhbmQgcmVtb3ZlcyBkcm9wZG93biBhcnJvd3MuXG4tIE1vdmVzIGxlZ2FjeSB0cmF5IGljb25zIHRvIHRoZSB0b3AgcGFuZWwuXG4tIE1vdmVzIG5vdGlmaWNhdGlvbnMgdG8gdGhlIHJpZ2h0LlxuLSBIaWRlcyBhY3Rpdml0aWVzIGJ1dHRvbi5cbi0gQWRkcyBkZXNrdG9wIG5hbWUgdG8gdGhlIHRvcCBwYW5lbC5cblxuVGhpcyBleHRlbnNpb24gZGVwZW5kcyBvbiBzb21lIFhvcmcgdXRpbGl0aWVzLiBUbyBpbnN0YWxsIHRoZW06XG4tIERlYmlhbi9VYnVudHU6IGFwdCBpbnN0YWxsIHgxMS11dGlsc1xuLSBGZWRvcmEvUkhFTDogZG5mIGluc3RhbGwgeG9yZy14MTEtdXRpbHNcbi0gQXJjaDogcGFjbWFuIC1TIHhvcmcteHByb3BcblxuKlNldHRpbmdzIGFyZSBwcm92aWRlZCB0byBlbmFibGUvZGlzYWJsZSBvciBjdXN0b21pemUgdGhlIGF2YWlsYWJsZSB0d2Vha3MuXG4qIFNpbmNlIHZlcnNpb24gMiBhcHBsaWNhdGlvbnMgb24gd2F5bGFuZCB3aXRoIGNsaWVudCBzaWRlIGRlY29yYXRpb25zIGFyZSBzdXBwb3J0ZWQgdXNpbmcgQ1NTLiIsCiAgImdldHRleHQtZG9tYWluIjogInVuaXRlIiwKICAibmFtZSI6ICJVbml0ZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy51bml0ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oYXJkcGl4ZWwvdW5pdGUtc2hlbGwiLAogICJ1dWlkIjogInVuaXRlQGhhcmRwaXhlbC5ldSIsCiAgInZlcnNpb24iOiA1Mwp9"}, "40": {"version": "53", "sha256": "0vj4ca098x6ndajy8571zc8r7d6ap7wcyf4k9y1d0k4bynyy9372", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVuaXRlIGlzIGEgR05PTUUgU2hlbGwgZXh0ZW5zaW9uIHdoaWNoIG1ha2VzIGEgZmV3IGxheW91dCB0d2Vha3MgdG8gdGhlIHRvcCBwYW5lbCBhbmQgcmVtb3ZlcyB3aW5kb3cgZGVjb3JhdGlvbnMgdG8gbWFrZSBpdCBsb29rIGxpa2UgVWJ1bnR1IFVuaXR5IFNoZWxsLlxuXG4tIEFkZHMgd2luZG93IGJ1dHRvbnMgdG8gdGhlIHRvcCBwYW5lbCBmb3IgbWF4aW1pemVkIHdpbmRvd3MuXG4tIFNob3dzIGN1cnJlbnQgd2luZG93IHRpdGxlIGluIHRoZSBhcHAgbWVudSBmb3IgbWF4aW1pemVkIHdpbmRvd3MuXG4tIFJlbW92ZXMgdGl0bGViYXJzIG9uIG1heGltaXplZCB3aW5kb3dzLlxuLSBIaWRlcyB3aW5kb3cgY29udHJvbHMgb24gbWF4aW1pemVkIHdpbmRvd3Mgd2l0aCBoZWFkZXJiYXJzLlxuLSBNb3ZlcyB0aGUgZGF0ZSB0byB0aGUgcmlnaHQsIHJlZHVjZXMgcGFuZWwgc3BhY2luZyBhbmQgcmVtb3ZlcyBkcm9wZG93biBhcnJvd3MuXG4tIE1vdmVzIGxlZ2FjeSB0cmF5IGljb25zIHRvIHRoZSB0b3AgcGFuZWwuXG4tIE1vdmVzIG5vdGlmaWNhdGlvbnMgdG8gdGhlIHJpZ2h0LlxuLSBIaWRlcyBhY3Rpdml0aWVzIGJ1dHRvbi5cbi0gQWRkcyBkZXNrdG9wIG5hbWUgdG8gdGhlIHRvcCBwYW5lbC5cblxuVGhpcyBleHRlbnNpb24gZGVwZW5kcyBvbiBzb21lIFhvcmcgdXRpbGl0aWVzLiBUbyBpbnN0YWxsIHRoZW06XG4tIERlYmlhbi9VYnVudHU6IGFwdCBpbnN0YWxsIHgxMS11dGlsc1xuLSBGZWRvcmEvUkhFTDogZG5mIGluc3RhbGwgeG9yZy14MTEtdXRpbHNcbi0gQXJjaDogcGFjbWFuIC1TIHhvcmcteHByb3BcblxuKlNldHRpbmdzIGFyZSBwcm92aWRlZCB0byBlbmFibGUvZGlzYWJsZSBvciBjdXN0b21pemUgdGhlIGF2YWlsYWJsZSB0d2Vha3MuXG4qIFNpbmNlIHZlcnNpb24gMiBhcHBsaWNhdGlvbnMgb24gd2F5bGFuZCB3aXRoIGNsaWVudCBzaWRlIGRlY29yYXRpb25zIGFyZSBzdXBwb3J0ZWQgdXNpbmcgQ1NTLiIsCiAgImdldHRleHQtZG9tYWluIjogInVuaXRlIiwKICAibmFtZSI6ICJVbml0ZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy51bml0ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oYXJkcGl4ZWwvdW5pdGUtc2hlbGwiLAogICJ1dWlkIjogInVuaXRlQGhhcmRwaXhlbC5ldSIsCiAgInZlcnNpb24iOiA1Mwp9"}}}
+, {"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 xorg-x11-utils\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": "54", "sha256": "1346v89d9bc3pgx7lnm0kafj7gnf92ay1zhrxjnhidi5i30b4vl6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVuaXRlIGlzIGEgR05PTUUgU2hlbGwgZXh0ZW5zaW9uIHdoaWNoIG1ha2VzIGEgZmV3IGxheW91dCB0d2Vha3MgdG8gdGhlIHRvcCBwYW5lbCBhbmQgcmVtb3ZlcyB3aW5kb3cgZGVjb3JhdGlvbnMgdG8gbWFrZSBpdCBsb29rIGxpa2UgVWJ1bnR1IFVuaXR5IFNoZWxsLlxuXG4tIEFkZHMgd2luZG93IGJ1dHRvbnMgdG8gdGhlIHRvcCBwYW5lbCBmb3IgbWF4aW1pemVkIHdpbmRvd3MuXG4tIFNob3dzIGN1cnJlbnQgd2luZG93IHRpdGxlIGluIHRoZSBhcHAgbWVudSBmb3IgbWF4aW1pemVkIHdpbmRvd3MuXG4tIFJlbW92ZXMgdGl0bGViYXJzIG9uIG1heGltaXplZCB3aW5kb3dzLlxuLSBIaWRlcyB3aW5kb3cgY29udHJvbHMgb24gbWF4aW1pemVkIHdpbmRvd3Mgd2l0aCBoZWFkZXJiYXJzLlxuLSBNb3ZlcyB0aGUgZGF0ZSB0byB0aGUgcmlnaHQsIHJlZHVjZXMgcGFuZWwgc3BhY2luZyBhbmQgcmVtb3ZlcyBkcm9wZG93biBhcnJvd3MuXG4tIE1vdmVzIGxlZ2FjeSB0cmF5IGljb25zIHRvIHRoZSB0b3AgcGFuZWwuXG4tIE1vdmVzIG5vdGlmaWNhdGlvbnMgdG8gdGhlIHJpZ2h0LlxuLSBIaWRlcyBhY3Rpdml0aWVzIGJ1dHRvbi5cbi0gQWRkcyBkZXNrdG9wIG5hbWUgdG8gdGhlIHRvcCBwYW5lbC5cblxuVGhpcyBleHRlbnNpb24gZGVwZW5kcyBvbiBzb21lIFhvcmcgdXRpbGl0aWVzLiBUbyBpbnN0YWxsIHRoZW06XG4tIERlYmlhbi9VYnVudHU6IGFwdCBpbnN0YWxsIHgxMS11dGlsc1xuLSBGZWRvcmEvUkhFTDogZG5mIGluc3RhbGwgeG9yZy14MTEtdXRpbHNcbi0gQXJjaDogcGFjbWFuIC1TIHhvcmcteHByb3BcblxuKlNldHRpbmdzIGFyZSBwcm92aWRlZCB0byBlbmFibGUvZGlzYWJsZSBvciBjdXN0b21pemUgdGhlIGF2YWlsYWJsZSB0d2Vha3MuXG4qIFNpbmNlIHZlcnNpb24gMiBhcHBsaWNhdGlvbnMgb24gd2F5bGFuZCB3aXRoIGNsaWVudCBzaWRlIGRlY29yYXRpb25zIGFyZSBzdXBwb3J0ZWQgdXNpbmcgQ1NTLiIsCiAgImdldHRleHQtZG9tYWluIjogInVuaXRlIiwKICAibmFtZSI6ICJVbml0ZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy51bml0ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oYXJkcGl4ZWwvdW5pdGUtc2hlbGwiLAogICJ1dWlkIjogInVuaXRlQGhhcmRwaXhlbC5ldSIsCiAgInZlcnNpb24iOiA1NAp9"}, "40": {"version": "54", "sha256": "1346v89d9bc3pgx7lnm0kafj7gnf92ay1zhrxjnhidi5i30b4vl6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVuaXRlIGlzIGEgR05PTUUgU2hlbGwgZXh0ZW5zaW9uIHdoaWNoIG1ha2VzIGEgZmV3IGxheW91dCB0d2Vha3MgdG8gdGhlIHRvcCBwYW5lbCBhbmQgcmVtb3ZlcyB3aW5kb3cgZGVjb3JhdGlvbnMgdG8gbWFrZSBpdCBsb29rIGxpa2UgVWJ1bnR1IFVuaXR5IFNoZWxsLlxuXG4tIEFkZHMgd2luZG93IGJ1dHRvbnMgdG8gdGhlIHRvcCBwYW5lbCBmb3IgbWF4aW1pemVkIHdpbmRvd3MuXG4tIFNob3dzIGN1cnJlbnQgd2luZG93IHRpdGxlIGluIHRoZSBhcHAgbWVudSBmb3IgbWF4aW1pemVkIHdpbmRvd3MuXG4tIFJlbW92ZXMgdGl0bGViYXJzIG9uIG1heGltaXplZCB3aW5kb3dzLlxuLSBIaWRlcyB3aW5kb3cgY29udHJvbHMgb24gbWF4aW1pemVkIHdpbmRvd3Mgd2l0aCBoZWFkZXJiYXJzLlxuLSBNb3ZlcyB0aGUgZGF0ZSB0byB0aGUgcmlnaHQsIHJlZHVjZXMgcGFuZWwgc3BhY2luZyBhbmQgcmVtb3ZlcyBkcm9wZG93biBhcnJvd3MuXG4tIE1vdmVzIGxlZ2FjeSB0cmF5IGljb25zIHRvIHRoZSB0b3AgcGFuZWwuXG4tIE1vdmVzIG5vdGlmaWNhdGlvbnMgdG8gdGhlIHJpZ2h0LlxuLSBIaWRlcyBhY3Rpdml0aWVzIGJ1dHRvbi5cbi0gQWRkcyBkZXNrdG9wIG5hbWUgdG8gdGhlIHRvcCBwYW5lbC5cblxuVGhpcyBleHRlbnNpb24gZGVwZW5kcyBvbiBzb21lIFhvcmcgdXRpbGl0aWVzLiBUbyBpbnN0YWxsIHRoZW06XG4tIERlYmlhbi9VYnVudHU6IGFwdCBpbnN0YWxsIHgxMS11dGlsc1xuLSBGZWRvcmEvUkhFTDogZG5mIGluc3RhbGwgeG9yZy14MTEtdXRpbHNcbi0gQXJjaDogcGFjbWFuIC1TIHhvcmcteHByb3BcblxuKlNldHRpbmdzIGFyZSBwcm92aWRlZCB0byBlbmFibGUvZGlzYWJsZSBvciBjdXN0b21pemUgdGhlIGF2YWlsYWJsZSB0d2Vha3MuXG4qIFNpbmNlIHZlcnNpb24gMiBhcHBsaWNhdGlvbnMgb24gd2F5bGFuZCB3aXRoIGNsaWVudCBzaWRlIGRlY29yYXRpb25zIGFyZSBzdXBwb3J0ZWQgdXNpbmcgQ1NTLiIsCiAgImdldHRleHQtZG9tYWluIjogInVuaXRlIiwKICAibmFtZSI6ICJVbml0ZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy51bml0ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oYXJkcGl4ZWwvdW5pdGUtc2hlbGwiLAogICJ1dWlkIjogInVuaXRlQGhhcmRwaXhlbC5ldSIsCiAgInZlcnNpb24iOiA1NAp9"}}}
 , {"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 (1500 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) which was itself based on the NASA APOD extension by Elinvention (https://github.com/Elinvention).\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* Optional: keep images or clean up after (later is default)\n* View location on Google Maps, Bing Maps, Gnome Maps, OpenStreetMaps\n* In-extension map view\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": "12", "sha256": "0h2fdx7n2wzmcxlj96lyyvmsa3mz72dxlqy5d7zw1p2zhiyn9zjx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpZ2h0d2VpZ2h0IEdOT01FIHNoZWxsIGV4dGVuc2lvbiB0byBzZXQgeW91ciB3YWxscGFwZXIgdG8gYSByYW5kb20gcGhvdG8gZnJvbSB0aGUgY3VyYXRlZCBHb29nbGUgRWFydGggY29sbGVjdGlvbiAoMTUwMCBwaG90b3MpLlxuXG4qRGlzY2xhaW1lcio6IHRoaXMgZXh0ZW5zaW9uIGlzIHVub2ZmaWNpYWwgYW5kIG5vdCBhZmZpbGlhdGVkIHdpdGggR29vZ2xlIGluIGFueSB3YXkuIEltYWdlcyBhcmUgcHJvdGVjdGVkIGJ5IGNvcHlyaWdodCBhbmQgYXJlIGxpY2Vuc2VkIG9ubHkgZm9yIHVzZSBhcyB3YWxscGFwZXJzLlxuXG5TZWUgYWxzbyBteSBvdGhlciBleHRlbnNpb24sIEJpbmcgV2FsbHBhcGVyIENoYW5nZXIgKGh0dHBzOi8vZ2l0aHViLmNvbS9uZWZmby9iaW5nLXdhbGxwYXBlci1nbm9tZS1leHRlbnNpb24pIHdoaWNoIHdhcyBpdHNlbGYgYmFzZWQgb24gdGhlIE5BU0EgQVBPRCBleHRlbnNpb24gYnkgRWxpbnZlbnRpb24gKGh0dHBzOi8vZ2l0aHViLmNvbS9FbGludmVudGlvbikuXG5cbkZlYXR1cmVzOlxuKiBGZXRjaGVzIGEgcmFuZG9tIEdvb2dsZSBFYXJ0aCB3YWxscGFwZXIgYW5kIHNldHMgYXMgYm90aCBsb2NrIHNjcmVlbiBhbmQgZGVza3RvcCB3YWxscGFwZXJcbiogVXNlciBzZWxlY3RhYmxlIHJlZnJlc2ggaW50ZXJ2YWxzIChkZWZhdWx0IGlzIG9uY2UgcGVyIGRheSlcbiogT3B0aW9uYWw6IGtlZXAgaW1hZ2VzIG9yIGNsZWFuIHVwIGFmdGVyIChsYXRlciBpcyBkZWZhdWx0KVxuKiBWaWV3IGxvY2F0aW9uIG9uIEdvb2dsZSBNYXBzLCBCaW5nIE1hcHMsIEdub21lIE1hcHMsIE9wZW5TdHJlZXRNYXBzXG4qIEluLWV4dGVuc2lvbiBtYXAgdmlld1xuKiAgR2VybWFuLCBEdXRjaCBhbmQgQ2hpbmVzZSB0cmFuc2xhdGlvbnNcblxuUGxlYXNlIHJlcG9ydCBhbnkgYnVncyBvciBzdWdnZXN0aW9ucyB0byBleHRlbnNpb24gR2l0SHViIHBhZ2UgYmVsb3cuIiwKICAibmFtZSI6ICJHb29nbGUgRWFydGggV2FsbHBhcGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdvb2dsZWVhcnRod2FsbHBhcGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmVmZm8vZWFydGgtdmlldy13YWxscGFwZXItZ25vbWUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJHb29nbGVFYXJ0aFdhbGxwYXBlckBuZWZmby5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEyCn0="}, "40": {"version": "12", "sha256": "0h2fdx7n2wzmcxlj96lyyvmsa3mz72dxlqy5d7zw1p2zhiyn9zjx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpZ2h0d2VpZ2h0IEdOT01FIHNoZWxsIGV4dGVuc2lvbiB0byBzZXQgeW91ciB3YWxscGFwZXIgdG8gYSByYW5kb20gcGhvdG8gZnJvbSB0aGUgY3VyYXRlZCBHb29nbGUgRWFydGggY29sbGVjdGlvbiAoMTUwMCBwaG90b3MpLlxuXG4qRGlzY2xhaW1lcio6IHRoaXMgZXh0ZW5zaW9uIGlzIHVub2ZmaWNpYWwgYW5kIG5vdCBhZmZpbGlhdGVkIHdpdGggR29vZ2xlIGluIGFueSB3YXkuIEltYWdlcyBhcmUgcHJvdGVjdGVkIGJ5IGNvcHlyaWdodCBhbmQgYXJlIGxpY2Vuc2VkIG9ubHkgZm9yIHVzZSBhcyB3YWxscGFwZXJzLlxuXG5TZWUgYWxzbyBteSBvdGhlciBleHRlbnNpb24sIEJpbmcgV2FsbHBhcGVyIENoYW5nZXIgKGh0dHBzOi8vZ2l0aHViLmNvbS9uZWZmby9iaW5nLXdhbGxwYXBlci1nbm9tZS1leHRlbnNpb24pIHdoaWNoIHdhcyBpdHNlbGYgYmFzZWQgb24gdGhlIE5BU0EgQVBPRCBleHRlbnNpb24gYnkgRWxpbnZlbnRpb24gKGh0dHBzOi8vZ2l0aHViLmNvbS9FbGludmVudGlvbikuXG5cbkZlYXR1cmVzOlxuKiBGZXRjaGVzIGEgcmFuZG9tIEdvb2dsZSBFYXJ0aCB3YWxscGFwZXIgYW5kIHNldHMgYXMgYm90aCBsb2NrIHNjcmVlbiBhbmQgZGVza3RvcCB3YWxscGFwZXJcbiogVXNlciBzZWxlY3RhYmxlIHJlZnJlc2ggaW50ZXJ2YWxzIChkZWZhdWx0IGlzIG9uY2UgcGVyIGRheSlcbiogT3B0aW9uYWw6IGtlZXAgaW1hZ2VzIG9yIGNsZWFuIHVwIGFmdGVyIChsYXRlciBpcyBkZWZhdWx0KVxuKiBWaWV3IGxvY2F0aW9uIG9uIEdvb2dsZSBNYXBzLCBCaW5nIE1hcHMsIEdub21lIE1hcHMsIE9wZW5TdHJlZXRNYXBzXG4qIEluLWV4dGVuc2lvbiBtYXAgdmlld1xuKiAgR2VybWFuLCBEdXRjaCBhbmQgQ2hpbmVzZSB0cmFuc2xhdGlvbnNcblxuUGxlYXNlIHJlcG9ydCBhbnkgYnVncyBvciBzdWdnZXN0aW9ucyB0byBleHRlbnNpb24gR2l0SHViIHBhZ2UgYmVsb3cuIiwKICAibmFtZSI6ICJHb29nbGUgRWFydGggV2FsbHBhcGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdvb2dsZWVhcnRod2FsbHBhcGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmVmZm8vZWFydGgtdmlldy13YWxscGFwZXItZ25vbWUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJHb29nbGVFYXJ0aFdhbGxwYXBlckBuZWZmby5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEyCn0="}}}
-, {"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": "45", "sha256": "11hpgh2bhizdrgl4xc5iszsi6jxb9j80lph74226rnw6pi2nc19f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdTQ29ubmVjdCBpcyBhIGNvbXBsZXRlIGltcGxlbWVudGF0aW9uIG9mIEtERSBDb25uZWN0IGVzcGVjaWFsbHkgZm9yIEdOT01FIFNoZWxsIHdpdGggTmF1dGlsdXMsIENocm9tZSBhbmQgRmlyZWZveCBpbnRlZ3JhdGlvbi4gSXQgZG9lcyBub3QgcmVseSBvbiB0aGUgS0RFIENvbm5lY3QgZGVza3RvcCBhcHBsaWNhdGlvbiBhbmQgd2lsbCBub3Qgd29yayB3aXRoIGl0IGluc3RhbGxlZC5cblxuS0RFIENvbm5lY3QgYWxsb3dzIGRldmljZXMgdG8gc2VjdXJlbHkgc2hhcmUgY29udGVudCBsaWtlIG5vdGlmaWNhdGlvbnMgb3IgZmlsZXMgYW5kIG90aGVyIGZlYXR1cmVzIGxpa2UgU01TIG1lc3NhZ2luZyBhbmQgcmVtb3RlIGNvbnRyb2wuIFRoZSBLREUgQ29ubmVjdCB0ZWFtIGhhcyBhcHBsaWNhdGlvbnMgZm9yIExpbnV4LCBCU0QsIEFuZHJvaWQsIFNhaWxmaXNoIGFuZCBXaW5kb3dzLlxuXG5QbGVhc2UgcmVwb3J0IGlzc3VlcyBvbiBHaXRodWIhIiwKICAibmFtZSI6ICJHU0Nvbm5lY3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbmR5aG9sbWVzL2dub21lLXNoZWxsLWV4dGVuc2lvbi1nc2Nvbm5lY3Qvd2lraSIsCiAgInV1aWQiOiAiZ3Njb25uZWN0QGFuZHlob2xtZXMuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDQ1Cn0="}, "40": {"version": "46", "sha256": "0gy27912xaiq7qzkk4zns9bjrjjwb7azn5y8wq5xkaxxrjys0i2b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdTQ29ubmVjdCBpcyBhIGNvbXBsZXRlIGltcGxlbWVudGF0aW9uIG9mIEtERSBDb25uZWN0IGVzcGVjaWFsbHkgZm9yIEdOT01FIFNoZWxsIHdpdGggTmF1dGlsdXMsIENocm9tZSBhbmQgRmlyZWZveCBpbnRlZ3JhdGlvbi4gSXQgZG9lcyBub3QgcmVseSBvbiB0aGUgS0RFIENvbm5lY3QgZGVza3RvcCBhcHBsaWNhdGlvbiBhbmQgd2lsbCBub3Qgd29yayB3aXRoIGl0IGluc3RhbGxlZC5cblxuS0RFIENvbm5lY3QgYWxsb3dzIGRldmljZXMgdG8gc2VjdXJlbHkgc2hhcmUgY29udGVudCBsaWtlIG5vdGlmaWNhdGlvbnMgb3IgZmlsZXMgYW5kIG90aGVyIGZlYXR1cmVzIGxpa2UgU01TIG1lc3NhZ2luZyBhbmQgcmVtb3RlIGNvbnRyb2wuIFRoZSBLREUgQ29ubmVjdCB0ZWFtIGhhcyBhcHBsaWNhdGlvbnMgZm9yIExpbnV4LCBCU0QsIEFuZHJvaWQsIFNhaWxmaXNoIGFuZCBXaW5kb3dzLlxuXG5QbGVhc2UgcmVwb3J0IGlzc3VlcyBvbiBHaXRodWIhIiwKICAibmFtZSI6ICJHU0Nvbm5lY3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYW5keWhvbG1lcy9nbm9tZS1zaGVsbC1leHRlbnNpb24tZ3Njb25uZWN0L3dpa2kiLAogICJ1dWlkIjogImdzY29ubmVjdEBhbmR5aG9sbWVzLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA0Ngp9"}}}
+, {"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": "45", "sha256": "11hpgh2bhizdrgl4xc5iszsi6jxb9j80lph74226rnw6pi2nc19f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdTQ29ubmVjdCBpcyBhIGNvbXBsZXRlIGltcGxlbWVudGF0aW9uIG9mIEtERSBDb25uZWN0IGVzcGVjaWFsbHkgZm9yIEdOT01FIFNoZWxsIHdpdGggTmF1dGlsdXMsIENocm9tZSBhbmQgRmlyZWZveCBpbnRlZ3JhdGlvbi4gSXQgZG9lcyBub3QgcmVseSBvbiB0aGUgS0RFIENvbm5lY3QgZGVza3RvcCBhcHBsaWNhdGlvbiBhbmQgd2lsbCBub3Qgd29yayB3aXRoIGl0IGluc3RhbGxlZC5cblxuS0RFIENvbm5lY3QgYWxsb3dzIGRldmljZXMgdG8gc2VjdXJlbHkgc2hhcmUgY29udGVudCBsaWtlIG5vdGlmaWNhdGlvbnMgb3IgZmlsZXMgYW5kIG90aGVyIGZlYXR1cmVzIGxpa2UgU01TIG1lc3NhZ2luZyBhbmQgcmVtb3RlIGNvbnRyb2wuIFRoZSBLREUgQ29ubmVjdCB0ZWFtIGhhcyBhcHBsaWNhdGlvbnMgZm9yIExpbnV4LCBCU0QsIEFuZHJvaWQsIFNhaWxmaXNoIGFuZCBXaW5kb3dzLlxuXG5QbGVhc2UgcmVwb3J0IGlzc3VlcyBvbiBHaXRodWIhIiwKICAibmFtZSI6ICJHU0Nvbm5lY3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbmR5aG9sbWVzL2dub21lLXNoZWxsLWV4dGVuc2lvbi1nc2Nvbm5lY3Qvd2lraSIsCiAgInV1aWQiOiAiZ3Njb25uZWN0QGFuZHlob2xtZXMuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDQ1Cn0="}, "40": {"version": "47", "sha256": "0s6a762n4r0fcvsi2a27qaxs0b4z12grqrq7sqj4vb498xyx14qv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdTQ29ubmVjdCBpcyBhIGNvbXBsZXRlIGltcGxlbWVudGF0aW9uIG9mIEtERSBDb25uZWN0IGVzcGVjaWFsbHkgZm9yIEdOT01FIFNoZWxsIHdpdGggTmF1dGlsdXMsIENocm9tZSBhbmQgRmlyZWZveCBpbnRlZ3JhdGlvbi4gSXQgZG9lcyBub3QgcmVseSBvbiB0aGUgS0RFIENvbm5lY3QgZGVza3RvcCBhcHBsaWNhdGlvbiBhbmQgd2lsbCBub3Qgd29yayB3aXRoIGl0IGluc3RhbGxlZC5cblxuS0RFIENvbm5lY3QgYWxsb3dzIGRldmljZXMgdG8gc2VjdXJlbHkgc2hhcmUgY29udGVudCBsaWtlIG5vdGlmaWNhdGlvbnMgb3IgZmlsZXMgYW5kIG90aGVyIGZlYXR1cmVzIGxpa2UgU01TIG1lc3NhZ2luZyBhbmQgcmVtb3RlIGNvbnRyb2wuIFRoZSBLREUgQ29ubmVjdCB0ZWFtIGhhcyBhcHBsaWNhdGlvbnMgZm9yIExpbnV4LCBCU0QsIEFuZHJvaWQsIFNhaWxmaXNoIGFuZCBXaW5kb3dzLlxuXG5QbGVhc2UgcmVwb3J0IGlzc3VlcyBvbiBHaXRodWIhIiwKICAibmFtZSI6ICJHU0Nvbm5lY3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYW5keWhvbG1lcy9nbm9tZS1zaGVsbC1leHRlbnNpb24tZ3Njb25uZWN0L3dpa2kiLAogICJ1dWlkIjogImdzY29ubmVjdEBhbmR5aG9sbWVzLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA0Nwp9"}}}
 , {"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": "lwsm@johannes.super-productivity.com", "name": "Window Session Manager", "pname": "window-session-manager", "description": "An indicator that let's you save and restore your open apps and the window positions and arrangements over multiple real and virtual displays. Requires lwsm and nodejs to be installed (`npm install -g linux-window-session-manager`).", "link": "https://extensions.gnome.org/extension/1323/window-session-manager/", "shell_version_map": {"38": {"version": "8", "sha256": "04vy6pyz7in248bx2micg7w0jimcqnrnkis6skacbdz9fm5nd699", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGluZGljYXRvciB0aGF0IGxldCdzIHlvdSBzYXZlIGFuZCByZXN0b3JlIHlvdXIgb3BlbiBhcHBzIGFuZCB0aGUgd2luZG93IHBvc2l0aW9ucyBhbmQgYXJyYW5nZW1lbnRzIG92ZXIgbXVsdGlwbGUgcmVhbCBhbmQgdmlydHVhbCBkaXNwbGF5cy4gUmVxdWlyZXMgbHdzbSBhbmQgbm9kZWpzIHRvIGJlIGluc3RhbGxlZCAoYG5wbSBpbnN0YWxsIC1nIGxpbnV4LXdpbmRvdy1zZXNzaW9uLW1hbmFnZXJgKS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJsd3NtIiwKICAibmFtZSI6ICJXaW5kb3cgU2Vzc2lvbiBNYW5hZ2VyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmx3c20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9qb2hhbm5lc2pvL2dub21lLXNoZWxsLWV4dGVuc2lvbi13aW5kb3ctc2Vzc2lvbi1tYW5hZ2VyIiwKICAidXVpZCI6ICJsd3NtQGpvaGFubmVzLnN1cGVyLXByb2R1Y3Rpdml0eS5jb20iLAogICJ2ZXJzaW9uIjogOAp9"}}}
 , {"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=="}}}
 , {"uuid": "disableworkspaceanim@owilliams.mixxx.org", "name": "Disable Workspace Switch Animation", "pname": "disable-workspace-switch-animation", "description": "Makes switching between workspaces instant without disabling other animations.\n\n(Fixed for GNOME 3.38 and above, thanks for your patience)", "link": "https://extensions.gnome.org/extension/1328/disable-workspace-switch-animation/", "shell_version_map": {"38": {"version": "4", "sha256": "0bby20crlp7jhcw90hfysc5jsl1rdfrq6byv2xb6vq8qh1hylzpr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIHN3aXRjaGluZyBiZXR3ZWVuIHdvcmtzcGFjZXMgaW5zdGFudCB3aXRob3V0IGRpc2FibGluZyBvdGhlciBhbmltYXRpb25zLlxuXG4oRml4ZWQgZm9yIEdOT01FIDMuMzggYW5kIGFib3ZlLCB0aGFua3MgZm9yIHlvdXIgcGF0aWVuY2UpIiwKICAibmFtZSI6ICJEaXNhYmxlIFdvcmtzcGFjZSBTd2l0Y2ggQW5pbWF0aW9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImRpc2FibGV3b3Jrc3BhY2VhbmltQG93aWxsaWFtcy5taXh4eC5vcmciLAogICJ2ZXJzaW9uIjogNAp9"}}}
 , {"uuid": "app-switcher_current_workspace_first@fawtytoo", "name": "App-Switcher Current Workspace First", "pname": "app-switcher-current-workspace-first", "description": "App-Switcher modification that sorts applications by current workspace first. It separates apps into 2 separate icons if the app also has windows on other workspaces.", "link": "https://extensions.gnome.org/extension/1329/app-switcher-current-workspace-first/", "shell_version_map": {"38": {"version": "10", "sha256": "1anzb098a42anrgxgfnqmgbn7f3v4kflkh62lq95fgga2xqz3l09", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcC1Td2l0Y2hlciBtb2RpZmljYXRpb24gdGhhdCBzb3J0cyBhcHBsaWNhdGlvbnMgYnkgY3VycmVudCB3b3Jrc3BhY2UgZmlyc3QuIEl0IHNlcGFyYXRlcyBhcHBzIGludG8gMiBzZXBhcmF0ZSBpY29ucyBpZiB0aGUgYXBwIGFsc28gaGFzIHdpbmRvd3Mgb24gb3RoZXIgd29ya3NwYWNlcy4iLAogICJuYW1lIjogIkFwcC1Td2l0Y2hlciBDdXJyZW50IFdvcmtzcGFjZSBGaXJzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiYXBwLXN3aXRjaGVyX2N1cnJlbnRfd29ya3NwYWNlX2ZpcnN0QGZhd3R5dG9vIiwKICAidmVyc2lvbiI6IDEwCn0="}, "40": {"version": "10", "sha256": "1anzb098a42anrgxgfnqmgbn7f3v4kflkh62lq95fgga2xqz3l09", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcC1Td2l0Y2hlciBtb2RpZmljYXRpb24gdGhhdCBzb3J0cyBhcHBsaWNhdGlvbnMgYnkgY3VycmVudCB3b3Jrc3BhY2UgZmlyc3QuIEl0IHNlcGFyYXRlcyBhcHBzIGludG8gMiBzZXBhcmF0ZSBpY29ucyBpZiB0aGUgYXBwIGFsc28gaGFzIHdpbmRvd3Mgb24gb3RoZXIgd29ya3NwYWNlcy4iLAogICJuYW1lIjogIkFwcC1Td2l0Y2hlciBDdXJyZW50IFdvcmtzcGFjZSBGaXJzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiYXBwLXN3aXRjaGVyX2N1cnJlbnRfd29ya3NwYWNlX2ZpcnN0QGZhd3R5dG9vIiwKICAidmVyc2lvbiI6IDEwCn0="}}}
 , {"uuid": "window-switcher_current_workspace_first@fawtytoo", "name": "Window-Switcher Current Workspace First", "pname": "window-switcher-current-workspace-first", "description": "Window-Switcher modification that sorts windows by current workspace first. The other windows are added according to their workspace.", "link": "https://extensions.gnome.org/extension/1330/window-switcher-current-workspace-first/", "shell_version_map": {"38": {"version": "12", "sha256": "1yvnfq52xygbsk6gz6d993p9sd44yqmw5dn582rlnfv6qmyr0r79", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldpbmRvdy1Td2l0Y2hlciBtb2RpZmljYXRpb24gdGhhdCBzb3J0cyB3aW5kb3dzIGJ5IGN1cnJlbnQgd29ya3NwYWNlIGZpcnN0LiBUaGUgb3RoZXIgd2luZG93cyBhcmUgYWRkZWQgYWNjb3JkaW5nIHRvIHRoZWlyIHdvcmtzcGFjZS4iLAogICJuYW1lIjogIldpbmRvdy1Td2l0Y2hlciBDdXJyZW50IFdvcmtzcGFjZSBGaXJzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAid2luZG93LXN3aXRjaGVyX2N1cnJlbnRfd29ya3NwYWNlX2ZpcnN0QGZhd3R5dG9vIiwKICAidmVyc2lvbiI6IDEyCn0="}, "40": {"version": "12", "sha256": "1yvnfq52xygbsk6gz6d993p9sd44yqmw5dn582rlnfv6qmyr0r79", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldpbmRvdy1Td2l0Y2hlciBtb2RpZmljYXRpb24gdGhhdCBzb3J0cyB3aW5kb3dzIGJ5IGN1cnJlbnQgd29ya3NwYWNlIGZpcnN0LiBUaGUgb3RoZXIgd2luZG93cyBhcmUgYWRkZWQgYWNjb3JkaW5nIHRvIHRoZWlyIHdvcmtzcGFjZS4iLAogICJuYW1lIjogIldpbmRvdy1Td2l0Y2hlciBDdXJyZW50IFdvcmtzcGFjZSBGaXJzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAid2luZG93LXN3aXRjaGVyX2N1cnJlbnRfd29ya3NwYWNlX2ZpcnN0QGZhd3R5dG9vIiwKICAidmVyc2lvbiI6IDEyCn0="}}}
-, {"uuid": "run-or-raise@edvard.cz", "name": "Run or raise", "pname": "run-or-raise", "description": "Launch or focus the window or define custom shortcuts in a text file", "link": "https://extensions.gnome.org/extension/1336/run-or-raise/", "shell_version_map": {"38": {"version": "11", "sha256": "1vp3riz1fdg31l3dj7yjv7c76g0dkrhl8q738qsxkcvqvgjinc8g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxhdW5jaCBvciBmb2N1cyB0aGUgd2luZG93IG9yIGRlZmluZSBjdXN0b20gc2hvcnRjdXRzIGluIGEgdGV4dCBmaWxlIiwKICAibmFtZSI6ICJSdW4gb3IgcmFpc2UiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucnVuLW9yLXJhaXNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMyIiwKICAgICIzLjMyLjEiLAogICAgIjMuMzYiLAogICAgIjMuMzguMSIsCiAgICAiNDAuMSIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9DWi1OSUMvcnVuLW9yLXJhaXNlIiwKICAidXVpZCI6ICJydW4tb3ItcmFpc2VAZWR2YXJkLmN6IiwKICAidmVyc2lvbiI6IDExCn0="}, "40": {"version": "11", "sha256": "1vp3riz1fdg31l3dj7yjv7c76g0dkrhl8q738qsxkcvqvgjinc8g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxhdW5jaCBvciBmb2N1cyB0aGUgd2luZG93IG9yIGRlZmluZSBjdXN0b20gc2hvcnRjdXRzIGluIGEgdGV4dCBmaWxlIiwKICAibmFtZSI6ICJSdW4gb3IgcmFpc2UiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucnVuLW9yLXJhaXNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMyIiwKICAgICIzLjMyLjEiLAogICAgIjMuMzYiLAogICAgIjMuMzguMSIsCiAgICAiNDAuMSIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9DWi1OSUMvcnVuLW9yLXJhaXNlIiwKICAidXVpZCI6ICJydW4tb3ItcmFpc2VAZWR2YXJkLmN6IiwKICAidmVyc2lvbiI6IDExCn0="}}}
+, {"uuid": "run-or-raise@edvard.cz", "name": "Run or raise", "pname": "run-or-raise", "description": "Launch or focus the window or define custom shortcuts in a text file", "link": "https://extensions.gnome.org/extension/1336/run-or-raise/", "shell_version_map": {"38": {"version": "12", "sha256": "07pn5ak471n9jqf8c8nflimmyb90d3brma3nd1958hpx5rz9rx46", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxhdW5jaCBvciBmb2N1cyB0aGUgd2luZG93IG9yIGRlZmluZSBjdXN0b20gc2hvcnRjdXRzIGluIGEgdGV4dCBmaWxlIiwKICAibmFtZSI6ICJSdW4gb3IgcmFpc2UiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucnVuLW9yLXJhaXNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMyIiwKICAgICIzLjMyLjEiLAogICAgIjMuMzYiLAogICAgIjMuMzguMSIsCiAgICAiNDAuMSIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9DWi1OSUMvcnVuLW9yLXJhaXNlIiwKICAidXVpZCI6ICJydW4tb3ItcmFpc2VAZWR2YXJkLmN6IiwKICAidmVyc2lvbiI6IDEyCn0="}, "40": {"version": "12", "sha256": "07pn5ak471n9jqf8c8nflimmyb90d3brma3nd1958hpx5rz9rx46", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxhdW5jaCBvciBmb2N1cyB0aGUgd2luZG93IG9yIGRlZmluZSBjdXN0b20gc2hvcnRjdXRzIGluIGEgdGV4dCBmaWxlIiwKICAibmFtZSI6ICJSdW4gb3IgcmFpc2UiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucnVuLW9yLXJhaXNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMyIiwKICAgICIzLjMyLjEiLAogICAgIjMuMzYiLAogICAgIjMuMzguMSIsCiAgICAiNDAuMSIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9DWi1OSUMvcnVuLW9yLXJhaXNlIiwKICAidXVpZCI6ICJydW4tb3ItcmFpc2VAZWR2YXJkLmN6IiwKICAidmVyc2lvbiI6IDEyCn0="}}}
 , {"uuid": "show_applications_instead_of_overview@fawtytoo", "name": "Show Applications Instead Of Workspaces", "pname": "show-applications-instead-of-overview", "description": "The Overview will show Applications instead of Workspaces when invoked.", "link": "https://extensions.gnome.org/extension/1337/show-applications-instead-of-overview/", "shell_version_map": {"38": {"version": "6", "sha256": "1ap6aawz173r04x43h0vb4sycid9jc17amq8bbhs7dbsrk6x3wzz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBPdmVydmlldyB3aWxsIHNob3cgQXBwbGljYXRpb25zIGluc3RlYWQgb2YgV29ya3NwYWNlcyB3aGVuIGludm9rZWQuIiwKICAibmFtZSI6ICJTaG93IEFwcGxpY2F0aW9ucyBJbnN0ZWFkIE9mIFdvcmtzcGFjZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInNob3dfYXBwbGljYXRpb25zX2luc3RlYWRfb2Zfb3ZlcnZpZXdAZmF3dHl0b28iLAogICJ2ZXJzaW9uIjogNgp9"}, "40": {"version": "6", "sha256": "1ap6aawz173r04x43h0vb4sycid9jc17amq8bbhs7dbsrk6x3wzz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBPdmVydmlldyB3aWxsIHNob3cgQXBwbGljYXRpb25zIGluc3RlYWQgb2YgV29ya3NwYWNlcyB3aGVuIGludm9rZWQuIiwKICAibmFtZSI6ICJTaG93IEFwcGxpY2F0aW9ucyBJbnN0ZWFkIE9mIFdvcmtzcGFjZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInNob3dfYXBwbGljYXRpb25zX2luc3RlYWRfb2Zfb3ZlcnZpZXdAZmF3dHl0b28iLAogICJ2ZXJzaW9uIjogNgp9"}}}
 , {"uuid": "hplip-menu@grizzlysmit.smit.id.au", "name": "Alternate Menu for Hplip", "pname": "hplip-menu", "description": "control your hp printers by calling the device manager hp-toolbox, also some useful links\nMotivation: the hp-systray doesn't work reliably under gnome shell\nyou need to have installed hplip in order to use this\nChoice of using a printer icon or a hp_logo.png if it's installed in the same place as mine on Ubuntu\nyou could use symbolic links to fake the path.", "link": "https://extensions.gnome.org/extension/1339/hplip-menu/", "shell_version_map": {"38": {"version": "11", "sha256": "1754xb6mn0jbkizm79kyjwbhyf1yld0jw8blddia9fn4s223j2rs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImNvbnRyb2wgeW91ciBocCBwcmludGVycyBieSBjYWxsaW5nIHRoZSBkZXZpY2UgbWFuYWdlciBocC10b29sYm94LCBhbHNvIHNvbWUgdXNlZnVsIGxpbmtzXG5Nb3RpdmF0aW9uOiB0aGUgaHAtc3lzdHJheSBkb2Vzbid0IHdvcmsgcmVsaWFibHkgdW5kZXIgZ25vbWUgc2hlbGxcbnlvdSBuZWVkIHRvIGhhdmUgaW5zdGFsbGVkIGhwbGlwIGluIG9yZGVyIHRvIHVzZSB0aGlzXG5DaG9pY2Ugb2YgdXNpbmcgYSBwcmludGVyIGljb24gb3IgYSBocF9sb2dvLnBuZyBpZiBpdCdzIGluc3RhbGxlZCBpbiB0aGUgc2FtZSBwbGFjZSBhcyBtaW5lIG9uIFVidW50dVxueW91IGNvdWxkIHVzZSBzeW1ib2xpYyBsaW5rcyB0byBmYWtlIHRoZSBwYXRoLiIsCiAgIm5hbWUiOiAiQWx0ZXJuYXRlIE1lbnUgZm9yIEhwbGlwIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmhwbGlwLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzguMSIsCiAgICAiMy4zOC4yIiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImhwbGlwLW1lbnVAZ3JpenpseXNtaXQuc21pdC5pZC5hdSIsCiAgInZlcnNpb24iOiAxMQp9"}, "40": {"version": "11", "sha256": "1754xb6mn0jbkizm79kyjwbhyf1yld0jw8blddia9fn4s223j2rs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImNvbnRyb2wgeW91ciBocCBwcmludGVycyBieSBjYWxsaW5nIHRoZSBkZXZpY2UgbWFuYWdlciBocC10b29sYm94LCBhbHNvIHNvbWUgdXNlZnVsIGxpbmtzXG5Nb3RpdmF0aW9uOiB0aGUgaHAtc3lzdHJheSBkb2Vzbid0IHdvcmsgcmVsaWFibHkgdW5kZXIgZ25vbWUgc2hlbGxcbnlvdSBuZWVkIHRvIGhhdmUgaW5zdGFsbGVkIGhwbGlwIGluIG9yZGVyIHRvIHVzZSB0aGlzXG5DaG9pY2Ugb2YgdXNpbmcgYSBwcmludGVyIGljb24gb3IgYSBocF9sb2dvLnBuZyBpZiBpdCdzIGluc3RhbGxlZCBpbiB0aGUgc2FtZSBwbGFjZSBhcyBtaW5lIG9uIFVidW50dVxueW91IGNvdWxkIHVzZSBzeW1ib2xpYyBsaW5rcyB0byBmYWtlIHRoZSBwYXRoLiIsCiAgIm5hbWUiOiAiQWx0ZXJuYXRlIE1lbnUgZm9yIEhwbGlwIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmhwbGlwLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzguMSIsCiAgICAiMy4zOC4yIiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImhwbGlwLW1lbnVAZ3JpenpseXNtaXQuc21pdC5pZC5hdSIsCiAgInZlcnNpb24iOiAxMQp9"}}}
 , {"uuid": "notes@maestroschan.fr", "name": "Notes", "pname": "notes", "description": "Sticky notes for the GNOME Shell desktop.", "link": "https://extensions.gnome.org/extension/1357/notes/", "shell_version_map": {"38": {"version": "20", "sha256": "0arpk1rnjvc38xy8q3nsaxr0x691gznbqdd4mx3jzdd300j17q24", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN0aWNreSBub3RlcyBmb3IgdGhlIEdOT01FIFNoZWxsIGRlc2t0b3AuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibm90ZXMtZXh0ZW5zaW9uIiwKICAibmFtZSI6ICJOb3RlcyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ub3Rlcy1leHRlbnNpb24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tYW9zY2hhbnovbm90ZXMtZXh0ZW5zaW9uLWdub21lIiwKICAidXVpZCI6ICJub3Rlc0BtYWVzdHJvc2NoYW4uZnIiLAogICJ2ZXJzaW9uIjogMjAKfQ=="}}}
@@ -146,10 +161,11 @@
 , {"uuid": "unix-timestamp-clock@se1exin.github.com", "name": "Unix Timestamp Clock", "pname": "unix-timestamp-clock", "description": "Show the current unix timestamp as a clock in the top bar.\n\nCopy-paste currently shown timestamp (left mouse button) or current timestamp (any other mouse button) to clipboard", "link": "https://extensions.gnome.org/extension/1375/unix-timestamp-clock/", "shell_version_map": {"38": {"version": "5", "sha256": "11awssml3n1kza1inny4j89bkmgpldzcglwa26pyr432i4la0jh6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIGN1cnJlbnQgdW5peCB0aW1lc3RhbXAgYXMgYSBjbG9jayBpbiB0aGUgdG9wIGJhci5cblxuQ29weS1wYXN0ZSBjdXJyZW50bHkgc2hvd24gdGltZXN0YW1wIChsZWZ0IG1vdXNlIGJ1dHRvbikgb3IgY3VycmVudCB0aW1lc3RhbXAgKGFueSBvdGhlciBtb3VzZSBidXR0b24pIHRvIGNsaXBib2FyZCIsCiAgIm5hbWUiOiAiVW5peCBUaW1lc3RhbXAgQ2xvY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwLjAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zZTFleGluL3VuaXgtdGltZXN0YW1wLWNsb2NrIiwKICAidXVpZCI6ICJ1bml4LXRpbWVzdGFtcC1jbG9ja0BzZTFleGluLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNQp9"}, "40": {"version": "5", "sha256": "11awssml3n1kza1inny4j89bkmgpldzcglwa26pyr432i4la0jh6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIGN1cnJlbnQgdW5peCB0aW1lc3RhbXAgYXMgYSBjbG9jayBpbiB0aGUgdG9wIGJhci5cblxuQ29weS1wYXN0ZSBjdXJyZW50bHkgc2hvd24gdGltZXN0YW1wIChsZWZ0IG1vdXNlIGJ1dHRvbikgb3IgY3VycmVudCB0aW1lc3RhbXAgKGFueSBvdGhlciBtb3VzZSBidXR0b24pIHRvIGNsaXBib2FyZCIsCiAgIm5hbWUiOiAiVW5peCBUaW1lc3RhbXAgQ2xvY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwLjAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zZTFleGluL3VuaXgtdGltZXN0YW1wLWNsb2NrIiwKICAidXVpZCI6ICJ1bml4LXRpbWVzdGFtcC1jbG9ja0BzZTFleGluLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNQp9"}}}
 , {"uuid": "mprisindicatorbutton@JasonLG1979.github.io", "name": "Mpris Indicator Button", "pname": "mpris-indicator-button", "description": "A full featured MPRIS indicator.", "link": "https://extensions.gnome.org/extension/1379/mpris-indicator-button/", "shell_version_map": {"38": {"version": "18", "sha256": "0fnibrxsy4as3w46vnj0jk6h0ymgn8k06j3m9jq7ygp5kf45fgsw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZnVsbCBmZWF0dXJlZCBNUFJJUyBpbmRpY2F0b3IuIiwKICAibmFtZSI6ICJNcHJpcyBJbmRpY2F0b3IgQnV0dG9uIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIkphc29uTEcxOTc5QGdpdGh1Yi5pbyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9KYXNvbkxHMTk3OS9nbm9tZS1zaGVsbC1leHRlbnNpb24tbXByaXMtaW5kaWNhdG9yLWJ1dHRvbi8iLAogICJ1dWlkIjogIm1wcmlzaW5kaWNhdG9yYnV0dG9uQEphc29uTEcxOTc5LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxOAp9"}, "40": {"version": "18", "sha256": "0fnibrxsy4as3w46vnj0jk6h0ymgn8k06j3m9jq7ygp5kf45fgsw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZnVsbCBmZWF0dXJlZCBNUFJJUyBpbmRpY2F0b3IuIiwKICAibmFtZSI6ICJNcHJpcyBJbmRpY2F0b3IgQnV0dG9uIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIkphc29uTEcxOTc5QGdpdGh1Yi5pbyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9KYXNvbkxHMTk3OS9nbm9tZS1zaGVsbC1leHRlbnNpb24tbXByaXMtaW5kaWNhdG9yLWJ1dHRvbi8iLAogICJ1dWlkIjogIm1wcmlzaW5kaWNhdG9yYnV0dG9uQEphc29uTEcxOTc5LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxOAp9"}}}
 , {"uuid": "weatherintheclock@JasonLG1979.github.io", "name": "Weather In The Clock", "pname": "weather-in-the-clock", "description": "Display the current Weather in the Clock. GNOME Weather is required for this extension to function.", "link": "https://extensions.gnome.org/extension/1380/weather-in-the-clock/", "shell_version_map": {"38": {"version": "7", "sha256": "02aszdk2iswlqwkwi83gi69qzw0jwhill66qacrc7gg59mpfpq3b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGhlIGN1cnJlbnQgV2VhdGhlciBpbiB0aGUgQ2xvY2suIEdOT01FIFdlYXRoZXIgaXMgcmVxdWlyZWQgZm9yIHRoaXMgZXh0ZW5zaW9uIHRvIGZ1bmN0aW9uLiIsCiAgIm5hbWUiOiAiV2VhdGhlciBJbiBUaGUgQ2xvY2siLAogICJvcmlnaW5hbC1hdXRob3IiOiAiSmFzb25MRzE5NzlAZ2l0aHViLmlvIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0phc29uTEcxOTc5L2dub21lLXNoZWxsLWV4dGVuc2lvbi13ZWF0aGVyLWluLXRoZS1jbG9jay8iLAogICJ1dWlkIjogIndlYXRoZXJpbnRoZWNsb2NrQEphc29uTEcxOTc5LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA3Cn0="}, "40": {"version": "7", "sha256": "02aszdk2iswlqwkwi83gi69qzw0jwhill66qacrc7gg59mpfpq3b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGhlIGN1cnJlbnQgV2VhdGhlciBpbiB0aGUgQ2xvY2suIEdOT01FIFdlYXRoZXIgaXMgcmVxdWlyZWQgZm9yIHRoaXMgZXh0ZW5zaW9uIHRvIGZ1bmN0aW9uLiIsCiAgIm5hbWUiOiAiV2VhdGhlciBJbiBUaGUgQ2xvY2siLAogICJvcmlnaW5hbC1hdXRob3IiOiAiSmFzb25MRzE5NzlAZ2l0aHViLmlvIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0phc29uTEcxOTc5L2dub21lLXNoZWxsLWV4dGVuc2lvbi13ZWF0aGVyLWluLXRoZS1jbG9jay8iLAogICJ1dWlkIjogIndlYXRoZXJpbnRoZWNsb2NrQEphc29uTEcxOTc5LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA3Cn0="}}}
-, {"uuid": "LyricsFinder@alireza6677.gmail.com", "name": "Lyrics Finder", "pname": "lyrics-finder", "description": "Finding lyrics has never been easier\nJust play some music!\n\nIf you want to report a bug please don't forget to mention:\n- Gnome shell version\n- Your Linux distro\n- Extension version\n- Error messages (If you see any)\n\n(The DashToPanel extension might stop LyricsFinder to work properly. If you have any problem with extension not being shown, disable DashToPanel first.)", "link": "https://extensions.gnome.org/extension/1383/lyrics-finder/", "shell_version_map": {"40": {"version": "14", "sha256": "0nyc137pqg3mj6vb6nm12jba07hl0z733qpzlp72xkz9hcbrr5aw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZpbmRpbmcgbHlyaWNzIGhhcyBuZXZlciBiZWVuIGVhc2llclxuSnVzdCBwbGF5IHNvbWUgbXVzaWMhXG5cbklmIHlvdSB3YW50IHRvIHJlcG9ydCBhIGJ1ZyBwbGVhc2UgZG9uJ3QgZm9yZ2V0IHRvIG1lbnRpb246XG4tIEdub21lIHNoZWxsIHZlcnNpb25cbi0gWW91ciBMaW51eCBkaXN0cm9cbi0gRXh0ZW5zaW9uIHZlcnNpb25cbi0gRXJyb3IgbWVzc2FnZXMgKElmIHlvdSBzZWUgYW55KVxuXG4oVGhlIERhc2hUb1BhbmVsIGV4dGVuc2lvbiBtaWdodCBzdG9wIEx5cmljc0ZpbmRlciB0byB3b3JrIHByb3Blcmx5LiBJZiB5b3UgaGF2ZSBhbnkgcHJvYmxlbSB3aXRoIGV4dGVuc2lvbiBub3QgYmVpbmcgc2hvd24sIGRpc2FibGUgRGFzaFRvUGFuZWwgZmlyc3QuKSIsCiAgIm5hbWUiOiAiTHlyaWNzIEZpbmRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5seXJpY3MtZmluZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwOi8vZ2l0aHViLmNvbS9UaGVXZWlyZERldi9seXJpY3MtZmluZGVyLWdub21lLWV4dCIsCiAgInV1aWQiOiAiTHlyaWNzRmluZGVyQGFsaXJlemE2Njc3LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxNAp9"}}}
-, {"uuid": "you2ber@konkor", "name": "you2ber", "pname": "you2ber", "description": "Gnome Youtube Downloader\n\n Simple helper for youtube-dl project. It allows you to save locally desired media content without any browser extensions. Just copy URL address of a media content to the clipboard and select desired quality profile or custom format for the item in the extension menu to store it.\n * Required the installation of ffmpeg (youtube-dl dependency for media manipulation)\n\nFor more information and how-to see README.md", "link": "https://extensions.gnome.org/extension/1392/you2ber/", "shell_version_map": {"40": {"version": "9", "sha256": "0vqfzsh8ak0k8yzgcsv5g53wr3rh85acq9w8da23fablp5y160jp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdub21lIFlvdXR1YmUgRG93bmxvYWRlclxuXG4gU2ltcGxlIGhlbHBlciBmb3IgeW91dHViZS1kbCBwcm9qZWN0LiBJdCBhbGxvd3MgeW91IHRvIHNhdmUgbG9jYWxseSBkZXNpcmVkIG1lZGlhIGNvbnRlbnQgd2l0aG91dCBhbnkgYnJvd3NlciBleHRlbnNpb25zLiBKdXN0IGNvcHkgVVJMIGFkZHJlc3Mgb2YgYSBtZWRpYSBjb250ZW50IHRvIHRoZSBjbGlwYm9hcmQgYW5kIHNlbGVjdCBkZXNpcmVkIHF1YWxpdHkgcHJvZmlsZSBvciBjdXN0b20gZm9ybWF0IGZvciB0aGUgaXRlbSBpbiB0aGUgZXh0ZW5zaW9uIG1lbnUgdG8gc3RvcmUgaXQuXG4gKiBSZXF1aXJlZCB0aGUgaW5zdGFsbGF0aW9uIG9mIGZmbXBlZyAoeW91dHViZS1kbCBkZXBlbmRlbmN5IGZvciBtZWRpYSBtYW5pcHVsYXRpb24pXG5cbkZvciBtb3JlIGluZm9ybWF0aW9uIGFuZCBob3ctdG8gc2VlIFJFQURNRS5tZCIsCiAgIm5hbWUiOiAieW91MmJlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcua29ua29yLnlvdTJiZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMTQiLAogICAgIjMuMTYiLAogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzIiLAogICAgIjQwLjAiLAogICAgIjQwLmJldGEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rb25rb3IveW91MmJlciIsCiAgInV1aWQiOiAieW91MmJlckBrb25rb3IiLAogICJ2ZXJzaW9uIjogOQp9"}}}
-, {"uuid": "files-view@argonauta.framagit.org", "name": "Files View", "pname": "files-view", "description": "A files view for GNOME Shell.\n\nThis extension displays a “Files” view similar to the Applications view, with the conveniences of a file manager. It is accessed through the combination SUPER + F.\n\nGNOME Shell 40 and later are not supported. No further developments planned.", "link": "https://extensions.gnome.org/extension/1395/files-view/", "shell_version_map": {"38": {"version": "11", "sha256": "1b63c4391jqhh6zcmd0la5mhmgx37f0ydq7mk1c0bzy07gql4x68", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZmlsZXMgdmlldyBmb3IgR05PTUUgU2hlbGwuXG5cblRoaXMgZXh0ZW5zaW9uIGRpc3BsYXlzIGEgXHUyMDFjRmlsZXNcdTIwMWQgdmlldyBzaW1pbGFyIHRvIHRoZSBBcHBsaWNhdGlvbnMgdmlldywgd2l0aCB0aGUgY29udmVuaWVuY2VzIG9mIGEgZmlsZSBtYW5hZ2VyLiBJdCBpcyBhY2Nlc3NlZCB0aHJvdWdoIHRoZSBjb21iaW5hdGlvbiBTVVBFUiArIEYuXG5cbkdOT01FIFNoZWxsIDQwIGFuZCBsYXRlciBhcmUgbm90IHN1cHBvcnRlZC4gTm8gZnVydGhlciBkZXZlbG9wbWVudHMgcGxhbm5lZC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJmaWxlcy12aWV3IiwKICAibmFtZSI6ICJGaWxlcyBWaWV3IiwKICAicmVjZW50bHktb3Blbi1wZXJzaXN0ZW50LWZpbGVuYW1lIjogInJlY2VudGx5LW9wZW4tZm9sZGVycy1maWxlcy12aWV3LWdub21lLXNoZWxsLWV4dGVuc2lvbi5qc29uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZpbGVzLXZpZXciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZnJhbWFnaXQub3JnL2FiYWtray9BcmdvbmF1dGEiLAogICJ1dWlkIjogImZpbGVzLXZpZXdAYXJnb25hdXRhLmZyYW1hZ2l0Lm9yZyIsCiAgInZlcnNpb24iOiAxMQp9"}}}
-, {"uuid": "bluetooth-quick-connect@bjarosze.gmail.com", "name": "Bluetooth quick connect", "pname": "bluetooth-quick-connect", "description": "Allow to connect to paired devices from gnome control panel.\n", "link": "https://extensions.gnome.org/extension/1401/bluetooth-quick-connect/", "shell_version_map": {"38": {"version": "16", "sha256": "0068kd11bbdqq79hh50dri7qj3x6sgyf46dfml8kmgzw8w7s5h61", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IHRvIGNvbm5lY3QgdG8gcGFpcmVkIGRldmljZXMgZnJvbSBnbm9tZSBjb250cm9sIHBhbmVsLlxuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYmx1ZXRvb3RoLXF1aWNrLWNvbm5lY3QiLAogICJuYW1lIjogIkJsdWV0b290aCBxdWljayBjb25uZWN0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJsdWV0b290aC1xdWljay1jb25uZWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmphcm9zemUvZ25vbWUtYmx1ZXRvb3RoLXF1aWNrLWNvbm5lY3QiLAogICJ1dWlkIjogImJsdWV0b290aC1xdWljay1jb25uZWN0QGJqYXJvc3plLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxNgp9"}, "40": {"version": "20", "sha256": "1g0r0km1ilb4wnv91q01lyycmzqvlyng105qkrnp26k26pf0hy5c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IHRvIGNvbm5lY3QgdG8gcGFpcmVkIGRldmljZXMgZnJvbSBnbm9tZSBjb250cm9sIHBhbmVsLlxuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYmx1ZXRvb3RoLXF1aWNrLWNvbm5lY3QiLAogICJuYW1lIjogIkJsdWV0b290aCBxdWljayBjb25uZWN0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJsdWV0b290aC1xdWljay1jb25uZWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MC4wIiwKICAgICI0MC5iZXRhIiwKICAgICI0MC5yYyIsCiAgICAiNDAuMSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JqYXJvc3plL2dub21lLWJsdWV0b290aC1xdWljay1jb25uZWN0IiwKICAidXVpZCI6ICJibHVldG9vdGgtcXVpY2stY29ubmVjdEBiamFyb3N6ZS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjAKfQ=="}}}
+, {"uuid": "LyricsFinder@alireza6677.gmail.com", "name": "Lyrics Finder", "pname": "lyrics-finder", "description": "Finding lyrics has never been easier\nJust play some music!\n\nIf you want to report a bug please don't forget to mention:\n- Gnome shell version\n- Your Linux distro\n- Extension version\n- Error messages (If you see any)\n", "link": "https://extensions.gnome.org/extension/1383/lyrics-finder/", "shell_version_map": {"40": {"version": "14", "sha256": "1x9d3npil0wgf44p276dslw5adw4gziij03r0jlw174yy87mn2lw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZpbmRpbmcgbHlyaWNzIGhhcyBuZXZlciBiZWVuIGVhc2llclxuSnVzdCBwbGF5IHNvbWUgbXVzaWMhXG5cbklmIHlvdSB3YW50IHRvIHJlcG9ydCBhIGJ1ZyBwbGVhc2UgZG9uJ3QgZm9yZ2V0IHRvIG1lbnRpb246XG4tIEdub21lIHNoZWxsIHZlcnNpb25cbi0gWW91ciBMaW51eCBkaXN0cm9cbi0gRXh0ZW5zaW9uIHZlcnNpb25cbi0gRXJyb3IgbWVzc2FnZXMgKElmIHlvdSBzZWUgYW55KVxuIiwKICAibmFtZSI6ICJMeXJpY3MgRmluZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmx5cmljcy1maW5kZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwLjAiCiAgXSwKICAidXJsIjogImh0dHA6Ly9naXRodWIuY29tL1RoZVdlaXJkRGV2L2x5cmljcy1maW5kZXItZ25vbWUtZXh0IiwKICAidXVpZCI6ICJMeXJpY3NGaW5kZXJAYWxpcmV6YTY2NzcuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE0Cn0="}}}
+, {"uuid": "NotificationCounter@coolllsk", "name": "Notification Counter", "pname": "notification-counter", "description": "Shows number of notifications in queue.", "link": "https://extensions.gnome.org/extension/1386/notification-counter/", "shell_version_map": {"40": {"version": "4", "sha256": "0lld50jlnqgrm66030s6djy1gs5wd29l5l2is6mwqzxm8kypxpx7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIG51bWJlciBvZiBub3RpZmljYXRpb25zIGluIHF1ZXVlLiIsCiAgIm5hbWUiOiAiTm90aWZpY2F0aW9uIENvdW50ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdmtyaXphbi9Ob3RpZmljYXRpb25Db3VudGVyIiwKICAidXVpZCI6ICJOb3RpZmljYXRpb25Db3VudGVyQGNvb2xsbHNrIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
+, {"uuid": "you2ber@konkor", "name": "you2ber", "pname": "you2ber", "description": "Gnome Youtube Downloader\n\n Simple helper for youtube-dl project. It allows you to save locally desired media content without any browser extensions. Just copy URL address of a media content to the clipboard and select desired quality profile or custom format for the item in the extension menu to store it.\n * Required the installation of ffmpeg (youtube-dl dependency for media manipulation)\n\nFor more information and how-to see README.md", "link": "https://extensions.gnome.org/extension/1392/you2ber/", "shell_version_map": {"40": {"version": "10", "sha256": "0dx5x22imwagx2j07xnayvd7zgsk7cyby7gh4jl935ndxmdp05fc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdub21lIFlvdXR1YmUgRG93bmxvYWRlclxuXG4gU2ltcGxlIGhlbHBlciBmb3IgeW91dHViZS1kbCBwcm9qZWN0LiBJdCBhbGxvd3MgeW91IHRvIHNhdmUgbG9jYWxseSBkZXNpcmVkIG1lZGlhIGNvbnRlbnQgd2l0aG91dCBhbnkgYnJvd3NlciBleHRlbnNpb25zLiBKdXN0IGNvcHkgVVJMIGFkZHJlc3Mgb2YgYSBtZWRpYSBjb250ZW50IHRvIHRoZSBjbGlwYm9hcmQgYW5kIHNlbGVjdCBkZXNpcmVkIHF1YWxpdHkgcHJvZmlsZSBvciBjdXN0b20gZm9ybWF0IGZvciB0aGUgaXRlbSBpbiB0aGUgZXh0ZW5zaW9uIG1lbnUgdG8gc3RvcmUgaXQuXG4gKiBSZXF1aXJlZCB0aGUgaW5zdGFsbGF0aW9uIG9mIGZmbXBlZyAoeW91dHViZS1kbCBkZXBlbmRlbmN5IGZvciBtZWRpYSBtYW5pcHVsYXRpb24pXG5cbkZvciBtb3JlIGluZm9ybWF0aW9uIGFuZCBob3ctdG8gc2VlIFJFQURNRS5tZCIsCiAgIm5hbWUiOiAieW91MmJlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcua29ua29yLnlvdTJiZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMTQiLAogICAgIjMuMTYiLAogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzIiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va29ua29yL3lvdTJiZXIiLAogICJ1dWlkIjogInlvdTJiZXJAa29ua29yIiwKICAidmVyc2lvbiI6IDEwCn0="}}}
+, {"uuid": "files-view@argonauta.framagit.org", "name": "Files View", "pname": "files-view", "description": "", "link": "https://extensions.gnome.org/extension/1395/files-view/", "shell_version_map": {"38": {"version": "11", "sha256": "0367kzrpzbx1b2l1m68n2pmazlsy4207a1anvyr2n1a4xpq3vwb0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiIsCiAgImdldHRleHQtZG9tYWluIjogImZpbGVzLXZpZXciLAogICJuYW1lIjogIkZpbGVzIFZpZXciLAogICJyZWNlbnRseS1vcGVuLXBlcnNpc3RlbnQtZmlsZW5hbWUiOiAicmVjZW50bHktb3Blbi1mb2xkZXJzLWZpbGVzLXZpZXctZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLmpzb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZmlsZXMtdmlldyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJmaWxlcy12aWV3QGFyZ29uYXV0YS5mcmFtYWdpdC5vcmciLAogICJ2ZXJzaW9uIjogMTEKfQ=="}}}
+, {"uuid": "bluetooth-quick-connect@bjarosze.gmail.com", "name": "Bluetooth quick connect", "pname": "bluetooth-quick-connect", "description": "Allow to connect to paired devices from gnome control panel.\n", "link": "https://extensions.gnome.org/extension/1401/bluetooth-quick-connect/", "shell_version_map": {"38": {"version": "16", "sha256": "0068kd11bbdqq79hh50dri7qj3x6sgyf46dfml8kmgzw8w7s5h61", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IHRvIGNvbm5lY3QgdG8gcGFpcmVkIGRldmljZXMgZnJvbSBnbm9tZSBjb250cm9sIHBhbmVsLlxuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYmx1ZXRvb3RoLXF1aWNrLWNvbm5lY3QiLAogICJuYW1lIjogIkJsdWV0b290aCBxdWljayBjb25uZWN0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJsdWV0b290aC1xdWljay1jb25uZWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmphcm9zemUvZ25vbWUtYmx1ZXRvb3RoLXF1aWNrLWNvbm5lY3QiLAogICJ1dWlkIjogImJsdWV0b290aC1xdWljay1jb25uZWN0QGJqYXJvc3plLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxNgp9"}, "40": {"version": "22", "sha256": "0rq8pc2ps1rwg5l8yms3l5bk5daav1szw6g4fnp73vyfr9dzhydx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IHRvIGNvbm5lY3QgdG8gcGFpcmVkIGRldmljZXMgZnJvbSBnbm9tZSBjb250cm9sIHBhbmVsLlxuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYmx1ZXRvb3RoLXF1aWNrLWNvbm5lY3QiLAogICJuYW1lIjogIkJsdWV0b290aCBxdWljayBjb25uZWN0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJsdWV0b290aC1xdWljay1jb25uZWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JqYXJvc3plL2dub21lLWJsdWV0b290aC1xdWljay1jb25uZWN0IiwKICAidXVpZCI6ICJibHVldG9vdGgtcXVpY2stY29ubmVjdEBiamFyb3N6ZS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjIKfQ=="}}}
 , {"uuid": "syspeek-gs@gs.eros2.info", "name": "SysPeek-GS", "pname": "syspeek-gs", "description": "Simple CPU load monitor widget inspired by SysPeek indicator", "link": "https://extensions.gnome.org/extension/1409/syspeek-gs/", "shell_version_map": {"38": {"version": "7", "sha256": "04hj4mfrnviwiwsgrhnnh3sc0x9i1bvkgwnijqgwkwapy8mg3km4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBDUFUgbG9hZCBtb25pdG9yIHdpZGdldCBpbnNwaXJlZCBieSBTeXNQZWVrIGluZGljYXRvciIsCiAgIm5hbWUiOiAiU3lzUGVlay1HUyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2V1Z2VuZS1yb20vc3lzcGVlay1ncyIsCiAgInV1aWQiOiAic3lzcGVlay1nc0Bncy5lcm9zMi5pbmZvIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "40": {"version": "7", "sha256": "04hj4mfrnviwiwsgrhnnh3sc0x9i1bvkgwnijqgwkwapy8mg3km4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBDUFUgbG9hZCBtb25pdG9yIHdpZGdldCBpbnNwaXJlZCBieSBTeXNQZWVrIGluZGljYXRvciIsCiAgIm5hbWUiOiAiU3lzUGVlay1HUyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2V1Z2VuZS1yb20vc3lzcGVlay1ncyIsCiAgInV1aWQiOiAic3lzcGVlay1nc0Bncy5lcm9zMi5pbmZvIiwKICAidmVyc2lvbiI6IDcKfQ=="}}}
 , {"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 (for laptops/tablets only)", "link": "https://extensions.gnome.org/extension/1410/discrete-brightness/", "shell_version_map": {"38": {"version": "5", "sha256": "0qiv41b4hh4n2hzhmajq6rlc9yvj095z49ngvhsqp6vfa0xzaiw6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2NyZXRlIGJyaWdodG5lc3MgaW5kaWNhdG9yIGNoYW5nZSBicmlnaHRuZXNzIGluIGRpc2NyZXRlIHN0ZXBzLCB1bmxpa2UgZGVmYXVsdCBzbW9vdGggYnJpZ2h0bmVzcyBiYXIgaW4gR25vbWUgU2hlbGwgKGZvciBsYXB0b3BzL3RhYmxldHMgb25seSkiLAogICJuYW1lIjogIkRpc2NyZXRlIGJyaWdodG5lc3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwLjAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ldWdlbmUtcm9tL2Rpc2NyZXRlLWJyaWdodG5lc3MiLAogICJ1dWlkIjogImRpc2NyZXRlLWJyaWdodG5lc3NAZ3MuZXJvczIuaW5mbyIsCiAgInZlcnNpb24iOiA1Cn0="}, "40": {"version": "5", "sha256": "0qiv41b4hh4n2hzhmajq6rlc9yvj095z49ngvhsqp6vfa0xzaiw6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2NyZXRlIGJyaWdodG5lc3MgaW5kaWNhdG9yIGNoYW5nZSBicmlnaHRuZXNzIGluIGRpc2NyZXRlIHN0ZXBzLCB1bmxpa2UgZGVmYXVsdCBzbW9vdGggYnJpZ2h0bmVzcyBiYXIgaW4gR25vbWUgU2hlbGwgKGZvciBsYXB0b3BzL3RhYmxldHMgb25seSkiLAogICJuYW1lIjogIkRpc2NyZXRlIGJyaWdodG5lc3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwLjAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ldWdlbmUtcm9tL2Rpc2NyZXRlLWJyaWdodG5lc3MiLAogICJ1dWlkIjogImRpc2NyZXRlLWJyaWdodG5lc3NAZ3MuZXJvczIuaW5mbyIsCiAgInZlcnNpb24iOiA1Cn0="}}}
 , {"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": "4", "sha256": "0s1338hv9vhip4cpv2b7srp5c9fsv1rbxk95lrj6m5jzs2qb7mym", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRyb3AtZG93biBtb2RlIGZvciBhbnkgYXBwbGljYXRpb24iLAogICJuYW1lIjogInF1YWtlLW1vZGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmVwc2FjLWJ5L2dub21lLXNoZWxsLWV4dGVuc2lvbi1xdWFrZS1tb2RlIiwKICAidXVpZCI6ICJxdWFrZS1tb2RlQHJlcHNhYy1ieS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
@@ -157,60 +173,65 @@
 , {"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": "7", "sha256": "0vpsnysdb4wqjd6hb9vprz141293ra3pb8q0cnysnbyh9sh0mhjc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGUgbWVudSB0byBydW4gVmlydHVhbEJveCBtYWNoaW5lcyBhbmQgc3dpdGNoIGJldHdlZW4gcnVubmluZyBWTXMiLAogICJuYW1lIjogIlZpcnR1YWxCb3ggYXBwbGV0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnZib3gtYXBwbGV0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZXVnZW5lLXJvbS92Ym94LWFwcGxldCIsCiAgInV1aWQiOiAidmJveC1hcHBsZXRAZ3MuZXJvczIuaW5mbyIsCiAgInZlcnNpb24iOiA3Cn0="}, "40": {"version": "7", "sha256": "0vpsnysdb4wqjd6hb9vprz141293ra3pb8q0cnysnbyh9sh0mhjc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGUgbWVudSB0byBydW4gVmlydHVhbEJveCBtYWNoaW5lcyBhbmQgc3dpdGNoIGJldHdlZW4gcnVubmluZyBWTXMiLAogICJuYW1lIjogIlZpcnR1YWxCb3ggYXBwbGV0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnZib3gtYXBwbGV0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZXVnZW5lLXJvbS92Ym94LWFwcGxldCIsCiAgInV1aWQiOiAidmJveC1hcHBsZXRAZ3MuZXJvczIuaW5mbyIsCiAgInZlcnNpb24iOiA3Cn0="}}}
 , {"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=="}}}
-, {"uuid": "kube_config@vvbogdanov87.gmail.com", "name": "Kube Config", "pname": "kube-config", "description": "Switches kube config context", "link": "https://extensions.gnome.org/extension/1442/kube-config/", "shell_version_map": {"40": {"version": "10", "sha256": "06y036j49arkha0zjvgg2mcxgpvgpp9gzvjni09rdpvw3hpi75lc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaGVzIGt1YmUgY29uZmlnIGNvbnRleHQiLAogICJuYW1lIjogIkt1YmUgQ29uZmlnIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmt1YmUtY29uZmlnIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdnZib2dkYW5vdjg3L2dub21lLXNoZWxsLWV4dGVuc2lvbi1rdWJlY29uZmlnIiwKICAidXVpZCI6ICJrdWJlX2NvbmZpZ0B2dmJvZ2Rhbm92ODcuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDEwCn0="}}}
-, {"uuid": "transparent-window-moving@noobsai.github.com", "name": "Transparent Window Moving", "pname": "transparent-window-moving", "description": "Makes the window semi-transparent when moving or resizing", "link": "https://extensions.gnome.org/extension/1446/transparent-window-moving/", "shell_version_map": {"38": {"version": "6", "sha256": "0vllnrscjaqx77wb44803q6n3wk590dxacjfsw7ympbgqhikzc0p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIHRoZSB3aW5kb3cgc2VtaS10cmFuc3BhcmVudCB3aGVuIG1vdmluZyBvciByZXNpemluZyIsCiAgImV4dGVuc2lvbi1pZCI6ICJ0cmFuc3BhcmVudC13aW5kb3ctbW92aW5nIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiVHJhbnNwYXJlbnQgV2luZG93IE1vdmluZyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50cmFuc3BhcmVudC13aW5kb3ctbW92aW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTm9vYnNhaS90cmFuc3BhcmVudC13aW5kb3ctbW92aW5nIiwKICAidXVpZCI6ICJ0cmFuc3BhcmVudC13aW5kb3ctbW92aW5nQG5vb2JzYWkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA2Cn0="}, "40": {"version": "7", "sha256": "0gjmbzc9vfbgdvgf2ghhnbla3arfgnfc44w6cczr26n7svhaqinv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIHRoZSB3aW5kb3cgc2VtaS10cmFuc3BhcmVudCB3aGVuIG1vdmluZyBvciByZXNpemluZyIsCiAgImV4dGVuc2lvbi1pZCI6ICJ0cmFuc3BhcmVudC13aW5kb3ctbW92aW5nIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiVHJhbnNwYXJlbnQgV2luZG93IE1vdmluZyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50cmFuc3BhcmVudC13aW5kb3ctbW92aW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL05vb2JzYWkvdHJhbnNwYXJlbnQtd2luZG93LW1vdmluZyIsCiAgInV1aWQiOiAidHJhbnNwYXJlbnQtd2luZG93LW1vdmluZ0Bub29ic2FpLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}}}
-, {"uuid": "transparent-window@pbxqdown.github.com", "name": "Transparent Window", "pname": "transparent-window", "description": "Change the opacity of windows by compiz-style shortcut Alt+scroll.\nYou can customize hotkey in Preference page if Alt key doesn't work.", "link": "https://extensions.gnome.org/extension/1454/transparent-window/", "shell_version_map": {"38": {"version": "4", "sha256": "1x9k317d54cc6cqfi43acsb97xi0ah06h6iivhj04yzxmwmb012r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB0aGUgb3BhY2l0eSBvZiB3aW5kb3dzIGJ5IGNvbXBpei1zdHlsZSBzaG9ydGN1dCBBbHQrc2Nyb2xsLlxuWW91IGNhbiBjdXN0b21pemUgaG90a2V5IGluIFByZWZlcmVuY2UgcGFnZSBpZiBBbHQga2V5IGRvZXNuJ3Qgd29yay4iLAogICJuYW1lIjogIlRyYW5zcGFyZW50IFdpbmRvdyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5UcmFuc3BhcmVudFdpbmRvdyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOC4xIiwKICAgICIzLjM2LjEiLAogICAgIjMuMzguMSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3BieHFkb3duL2dub21lLXNoZWxsLWV4dGVuc2lvbi10cmFuc3BhcmVudC13aW5kb3ciLAogICJ1dWlkIjogInRyYW5zcGFyZW50LXdpbmRvd0BwYnhxZG93bi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
-, {"uuid": "Vitals@CoreCoding.com", "name": "Vitals", "pname": "vitals", "description": "A glimpse into your computer's temperature, voltage, fan speed, memory usage, processor load, system resources, network speed and storage stats. This is a one stop shop to monitor all of your vital sensors. Uses asynchronous polling to provide a smooth user experience. Feature requests or bugs? Please use GitHub.", "link": "https://extensions.gnome.org/extension/1460/vitals/", "shell_version_map": {"38": {"version": "39", "sha256": "1wqsw7sy0xww6z1wkkmwpcfvb54kajanp6p50a3fv5gb8yvmhigl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ2xpbXBzZSBpbnRvIHlvdXIgY29tcHV0ZXIncyB0ZW1wZXJhdHVyZSwgdm9sdGFnZSwgZmFuIHNwZWVkLCBtZW1vcnkgdXNhZ2UsIHByb2Nlc3NvciBsb2FkLCBzeXN0ZW0gcmVzb3VyY2VzLCBuZXR3b3JrIHNwZWVkIGFuZCBzdG9yYWdlIHN0YXRzLiBUaGlzIGlzIGEgb25lIHN0b3Agc2hvcCB0byBtb25pdG9yIGFsbCBvZiB5b3VyIHZpdGFsIHNlbnNvcnMuIFVzZXMgYXN5bmNocm9ub3VzIHBvbGxpbmcgdG8gcHJvdmlkZSBhIHNtb290aCB1c2VyIGV4cGVyaWVuY2UuIEZlYXR1cmUgcmVxdWVzdHMgb3IgYnVncz8gUGxlYXNlIHVzZSBHaXRIdWIuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidml0YWxzIiwKICAibmFtZSI6ICJWaXRhbHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudml0YWxzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY29yZWNvZGluZy9WaXRhbHMiLAogICJ1dWlkIjogIlZpdGFsc0BDb3JlQ29kaW5nLmNvbSIsCiAgInZlcnNpb24iOiAzOQp9"}, "40": {"version": "40", "sha256": "01vpagmwx9vgdd32nm1zf4zkddjm7rrl552w3c5pjcwdvs2yv3nk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ2xpbXBzZSBpbnRvIHlvdXIgY29tcHV0ZXIncyB0ZW1wZXJhdHVyZSwgdm9sdGFnZSwgZmFuIHNwZWVkLCBtZW1vcnkgdXNhZ2UsIHByb2Nlc3NvciBsb2FkLCBzeXN0ZW0gcmVzb3VyY2VzLCBuZXR3b3JrIHNwZWVkIGFuZCBzdG9yYWdlIHN0YXRzLiBUaGlzIGlzIGEgb25lIHN0b3Agc2hvcCB0byBtb25pdG9yIGFsbCBvZiB5b3VyIHZpdGFsIHNlbnNvcnMuIFVzZXMgYXN5bmNocm9ub3VzIHBvbGxpbmcgdG8gcHJvdmlkZSBhIHNtb290aCB1c2VyIGV4cGVyaWVuY2UuIEZlYXR1cmUgcmVxdWVzdHMgb3IgYnVncz8gUGxlYXNlIHVzZSBHaXRIdWIuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidml0YWxzIiwKICAibmFtZSI6ICJWaXRhbHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudml0YWxzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NvcmVjb2RpbmcvVml0YWxzIiwKICAidXVpZCI6ICJWaXRhbHNAQ29yZUNvZGluZy5jb20iLAogICJ2ZXJzaW9uIjogNDAKfQ=="}}}
+, {"uuid": "kube_config@vvbogdanov87.gmail.com", "name": "Kube Config", "pname": "kube-config", "description": "Switches kube config context", "link": "https://extensions.gnome.org/extension/1442/kube-config/", "shell_version_map": {"40": {"version": "11", "sha256": "0ag9cq2cgxv9h8ic8dgdxm9n93ls47q9n1kzkh8k0g8brsi9nbk0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaGVzIGt1YmUgY29uZmlnIGNvbnRleHQiLAogICJuYW1lIjogIkt1YmUgQ29uZmlnIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmt1YmUtY29uZmlnIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Z2Ym9nZGFub3Y4Ny9nbm9tZS1zaGVsbC1leHRlbnNpb24ta3ViZWNvbmZpZyIsCiAgInV1aWQiOiAia3ViZV9jb25maWdAdnZib2dkYW5vdjg3LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxMQp9"}}}
+, {"uuid": "transparent-window-moving@noobsai.github.com", "name": "Transparent Window Moving", "pname": "transparent-window-moving", "description": "Makes the window semi-transparent when moving or resizing", "link": "https://extensions.gnome.org/extension/1446/transparent-window-moving/", "shell_version_map": {"38": {"version": "6", "sha256": "0vllnrscjaqx77wb44803q6n3wk590dxacjfsw7ympbgqhikzc0p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIHRoZSB3aW5kb3cgc2VtaS10cmFuc3BhcmVudCB3aGVuIG1vdmluZyBvciByZXNpemluZyIsCiAgImV4dGVuc2lvbi1pZCI6ICJ0cmFuc3BhcmVudC13aW5kb3ctbW92aW5nIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiVHJhbnNwYXJlbnQgV2luZG93IE1vdmluZyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50cmFuc3BhcmVudC13aW5kb3ctbW92aW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTm9vYnNhaS90cmFuc3BhcmVudC13aW5kb3ctbW92aW5nIiwKICAidXVpZCI6ICJ0cmFuc3BhcmVudC13aW5kb3ctbW92aW5nQG5vb2JzYWkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA2Cn0="}, "40": {"version": "8", "sha256": "11f1663is2hamja5xg6sgrn2rpb3s96mqwq6alvn2swbqafn0cbn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIHRoZSB3aW5kb3cgc2VtaS10cmFuc3BhcmVudCB3aGVuIG1vdmluZyBvciByZXNpemluZyIsCiAgImV4dGVuc2lvbi1pZCI6ICJ0cmFuc3BhcmVudC13aW5kb3ctbW92aW5nIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiVHJhbnNwYXJlbnQgV2luZG93IE1vdmluZyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50cmFuc3BhcmVudC13aW5kb3ctbW92aW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL05vb2JzYWkvdHJhbnNwYXJlbnQtd2luZG93LW1vdmluZyIsCiAgInV1aWQiOiAidHJhbnNwYXJlbnQtd2luZG93LW1vdmluZ0Bub29ic2FpLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogOAp9"}}}
+, {"uuid": "transparent-window@pbxqdown.github.com", "name": "Transparent Window", "pname": "transparent-window", "description": "Change the opacity of windows by compiz-style shortcut Alt+scroll.\nYou can customize hotkey in Preference page if Alt key doesn't work.", "link": "https://extensions.gnome.org/extension/1454/transparent-window/", "shell_version_map": {"38": {"version": "7", "sha256": "09nhn8f7d8c1kp8hgw49y0d9165ckvgn6my339k0pzga02d277a6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB0aGUgb3BhY2l0eSBvZiB3aW5kb3dzIGJ5IGNvbXBpei1zdHlsZSBzaG9ydGN1dCBBbHQrc2Nyb2xsLlxuWW91IGNhbiBjdXN0b21pemUgaG90a2V5IGluIFByZWZlcmVuY2UgcGFnZSBpZiBBbHQga2V5IGRvZXNuJ3Qgd29yay4iLAogICJuYW1lIjogIlRyYW5zcGFyZW50IFdpbmRvdyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5UcmFuc3BhcmVudFdpbmRvdyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOC4xIiwKICAgICIzLjM2LjEiLAogICAgIjMuMzguMSIsCiAgICAiMy4zOC40IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcGJ4cWRvd24vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRyYW5zcGFyZW50LXdpbmRvdyIsCiAgInV1aWQiOiAidHJhbnNwYXJlbnQtd2luZG93QHBieHFkb3duLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}}}
+, {"uuid": "miniview@thesecretaryofwar.com", "name": "Miniview", "pname": "miniview", "description": "Show window previews\n- Left-mouse drag: move preview window\n- Right-mouse drag (or ctrl + left mouse drag): resize preview window\n- Scroll wheel (or shift + left/right click): change target window\n- Double click: raise target window\n- Shift + F12: toggle preview window (this can be changed or disabled in preferences)\n- Ctrl + scroll wheel: adjust opacity", "link": "https://extensions.gnome.org/extension/1459/miniview/", "shell_version_map": {"40": {"version": "9", "sha256": "1287ps5da2sy7sr7n9kh56jnrfz7iilv6lq6cwfzyc2jjsx35f04", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgd2luZG93IHByZXZpZXdzXG4tIExlZnQtbW91c2UgZHJhZzogbW92ZSBwcmV2aWV3IHdpbmRvd1xuLSBSaWdodC1tb3VzZSBkcmFnIChvciBjdHJsICsgbGVmdCBtb3VzZSBkcmFnKTogcmVzaXplIHByZXZpZXcgd2luZG93XG4tIFNjcm9sbCB3aGVlbCAob3Igc2hpZnQgKyBsZWZ0L3JpZ2h0IGNsaWNrKTogY2hhbmdlIHRhcmdldCB3aW5kb3dcbi0gRG91YmxlIGNsaWNrOiByYWlzZSB0YXJnZXQgd2luZG93XG4tIFNoaWZ0ICsgRjEyOiB0b2dnbGUgcHJldmlldyB3aW5kb3cgKHRoaXMgY2FuIGJlIGNoYW5nZWQgb3IgZGlzYWJsZWQgaW4gcHJlZmVyZW5jZXMpXG4tIEN0cmwgKyBzY3JvbGwgd2hlZWw6IGFkanVzdCBvcGFjaXR5IiwKICAiZXh0ZW5zaW9uLWlkIjogIm1pbml2aWV3IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiTWluaXZpZXciLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgInRoZXNlY3JldGFyeW9md2FyQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubWluaXZpZXciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaWFtbGVtZWMvbWluaXZpZXciLAogICJ1dWlkIjogIm1pbml2aWV3QHRoZXNlY3JldGFyeW9md2FyLmNvbSIsCiAgInZlcnNpb24iOiA5Cn0="}}}
+, {"uuid": "Vitals@CoreCoding.com", "name": "Vitals", "pname": "vitals", "description": "A glimpse into your computer's temperature, voltage, fan speed, memory usage, processor load, system resources, network speed and storage stats. This is a one stop shop to monitor all of your vital sensors. Uses asynchronous polling to provide a smooth user experience. Feature requests or bugs? Please use GitHub.", "link": "https://extensions.gnome.org/extension/1460/vitals/", "shell_version_map": {"38": {"version": "43", "sha256": "1d5fdmgkg1xbfan8d4k1lm5a2pkplzfyy2j2wxkhmdxa1z9y3a29", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ2xpbXBzZSBpbnRvIHlvdXIgY29tcHV0ZXIncyB0ZW1wZXJhdHVyZSwgdm9sdGFnZSwgZmFuIHNwZWVkLCBtZW1vcnkgdXNhZ2UsIHByb2Nlc3NvciBsb2FkLCBzeXN0ZW0gcmVzb3VyY2VzLCBuZXR3b3JrIHNwZWVkIGFuZCBzdG9yYWdlIHN0YXRzLiBUaGlzIGlzIGEgb25lIHN0b3Agc2hvcCB0byBtb25pdG9yIGFsbCBvZiB5b3VyIHZpdGFsIHNlbnNvcnMuIFVzZXMgYXN5bmNocm9ub3VzIHBvbGxpbmcgdG8gcHJvdmlkZSBhIHNtb290aCB1c2VyIGV4cGVyaWVuY2UuIEZlYXR1cmUgcmVxdWVzdHMgb3IgYnVncz8gUGxlYXNlIHVzZSBHaXRIdWIuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidml0YWxzIiwKICAibmFtZSI6ICJWaXRhbHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudml0YWxzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NvcmVjb2RpbmcvVml0YWxzIiwKICAidXVpZCI6ICJWaXRhbHNAQ29yZUNvZGluZy5jb20iLAogICJ2ZXJzaW9uIjogNDMKfQ=="}, "40": {"version": "43", "sha256": "1d5fdmgkg1xbfan8d4k1lm5a2pkplzfyy2j2wxkhmdxa1z9y3a29", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ2xpbXBzZSBpbnRvIHlvdXIgY29tcHV0ZXIncyB0ZW1wZXJhdHVyZSwgdm9sdGFnZSwgZmFuIHNwZWVkLCBtZW1vcnkgdXNhZ2UsIHByb2Nlc3NvciBsb2FkLCBzeXN0ZW0gcmVzb3VyY2VzLCBuZXR3b3JrIHNwZWVkIGFuZCBzdG9yYWdlIHN0YXRzLiBUaGlzIGlzIGEgb25lIHN0b3Agc2hvcCB0byBtb25pdG9yIGFsbCBvZiB5b3VyIHZpdGFsIHNlbnNvcnMuIFVzZXMgYXN5bmNocm9ub3VzIHBvbGxpbmcgdG8gcHJvdmlkZSBhIHNtb290aCB1c2VyIGV4cGVyaWVuY2UuIEZlYXR1cmUgcmVxdWVzdHMgb3IgYnVncz8gUGxlYXNlIHVzZSBHaXRIdWIuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidml0YWxzIiwKICAibmFtZSI6ICJWaXRhbHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudml0YWxzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NvcmVjb2RpbmcvVml0YWxzIiwKICAidXVpZCI6ICJWaXRhbHNAQ29yZUNvZGluZy5jb20iLAogICJ2ZXJzaW9uIjogNDMKfQ=="}}}
 , {"uuid": "desktop-icons@csoriano", "name": "Desktop Icons", "pname": "desktop-icons", "description": "Add icons to the desktop", "link": "https://extensions.gnome.org/extension/1465/desktop-icons/", "shell_version_map": {"38": {"version": "19", "sha256": "01qdh1kigl3ck1mzgha1a9218lpam5b54ai72mpvr64gkaax2mcv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBpY29ucyB0byB0aGUgZGVza3RvcCIsCiAgIm5hbWUiOiAiRGVza3RvcCBJY29ucyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvV29ybGQvU2hlbGxFeHRlbnNpb25zL2Rlc2t0b3AtaWNvbnMiLAogICJ1dWlkIjogImRlc2t0b3AtaWNvbnNAY3Nvcmlhbm8iLAogICJ2ZXJzaW9uIjogMTkKfQ=="}}}
+, {"uuid": "fullbattery@categulario.tk", "name": "Full Battery indicator", "pname": "full-battery-indicator", "description": "Notifies when battery is full", "link": "https://extensions.gnome.org/extension/1466/full-battery-indicator/", "shell_version_map": {"38": {"version": "4", "sha256": "167d84phf68fi5bg9fvm4l7l8jq7k86a80adm0l56ngqygxqsyy8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5vdGlmaWVzIHdoZW4gYmF0dGVyeSBpcyBmdWxsIiwKICAibmFtZSI6ICJGdWxsIEJhdHRlcnkgaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjMyIiwKICAgICIzLjI4LjMiLAogICAgIjMuMzQuNCIsCiAgICAiMy4zNi4wIiwKICAgICIzLjM4IiwKICAgICI0MC4zIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY2F0ZWd1bGFyaW8vZnVsbC1iYXR0ZXJ5LWdub21lLXNoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiZnVsbGJhdHRlcnlAY2F0ZWd1bGFyaW8udGsiLAogICJ2ZXJzaW9uIjogNAp9"}, "40": {"version": "4", "sha256": "167d84phf68fi5bg9fvm4l7l8jq7k86a80adm0l56ngqygxqsyy8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5vdGlmaWVzIHdoZW4gYmF0dGVyeSBpcyBmdWxsIiwKICAibmFtZSI6ICJGdWxsIEJhdHRlcnkgaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjMyIiwKICAgICIzLjI4LjMiLAogICAgIjMuMzQuNCIsCiAgICAiMy4zNi4wIiwKICAgICIzLjM4IiwKICAgICI0MC4zIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY2F0ZWd1bGFyaW8vZnVsbC1iYXR0ZXJ5LWdub21lLXNoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiZnVsbGJhdHRlcnlAY2F0ZWd1bGFyaW8udGsiLAogICJ2ZXJzaW9uIjogNAp9"}}}
 , {"uuid": "rdesktop-menu@bastien.git.geekwu.org", "name": "Rdesktop launcher", "pname": "rdesktop-launcher", "description": "Add a servers status menu for quickly running rdesktop", "link": "https://extensions.gnome.org/extension/1467/rdesktop-launcher/", "shell_version_map": {"38": {"version": "11", "sha256": "16dj3yyma4nwn9vvf85i9ws4w9s7z2bz0gapgm1xb3g4q74vckjw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHNlcnZlcnMgc3RhdHVzIG1lbnUgZm9yIHF1aWNrbHkgcnVubmluZyByZGVza3RvcCIsCiAgImV4dGVuc2lvbi1pZCI6ICJyZGVza3RvcC1tZW51IiwKICAibmFtZSI6ICJSZGVza3RvcCBsYXVuY2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXQuZ2Vla3d1Lm9yZy9iYXN0aWVuL3JkZXNrdG9wLW1lbnUiLAogICJ1dWlkIjogInJkZXNrdG9wLW1lbnVAYmFzdGllbi5naXQuZ2Vla3d1Lm9yZyIsCiAgInZlcnNpb24iOiAxMQp9"}, "40": {"version": "11", "sha256": "16dj3yyma4nwn9vvf85i9ws4w9s7z2bz0gapgm1xb3g4q74vckjw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHNlcnZlcnMgc3RhdHVzIG1lbnUgZm9yIHF1aWNrbHkgcnVubmluZyByZGVza3RvcCIsCiAgImV4dGVuc2lvbi1pZCI6ICJyZGVza3RvcC1tZW51IiwKICAibmFtZSI6ICJSZGVza3RvcCBsYXVuY2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXQuZ2Vla3d1Lm9yZy9iYXN0aWVuL3JkZXNrdG9wLW1lbnUiLAogICJ1dWlkIjogInJkZXNrdG9wLW1lbnVAYmFzdGllbi5naXQuZ2Vla3d1Lm9yZyIsCiAgInZlcnNpb24iOiAxMQp9"}}}
 , {"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": "7", "sha256": "0fnfilxj76xmxjhrv309195pqw9c400llmkvvr5vlk08yjky6ib1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIHJlbWFpbmluZyB0aW1lIHVudGlsIGZ1bGx5IGNoYXJnZWQvZGlzY2hhcmdlZCBpbnN0ZWFkIG9mIHRoZSBiYXR0ZXJ5IGNoYXJnZSBpbiBwZXJjZW50IGluIHRoZSBwYW5lbC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJiYXRpbWUiLAogICJuYW1lIjogIkJhdHRlcnkgVGltZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5iYXRpbWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbXp1ci9nbm9tZS1zaGVsbC1iYXRpbWUiLAogICJ1dWlkIjogImJhdGltZUBtYXJ0aW4uenVyb3dpZXR6LmRlIiwKICAidmVyc2lvbiI6IDcKfQ=="}}}
 , {"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=="}}}
 , {"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="}}}
 , {"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": "14", "sha256": "0805li10x12jasjhpngp3p24xvxmbcvskvhxc11m5nv286s4gpx3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN5bmMgYWxsIGV4dGVuc2lvbnMgYW5kIHRoZWlyIGNvbmZpZ3VyYXRpb25zIGFjcm9zcyBhbGwgZ25vbWUgaW5zdGFuY2VzIiwKICAibmFtZSI6ICJFeHRlbnNpb25zIFN5bmMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZXh0ZW5zaW9ucy1zeW5jIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL29hZS9nbm9tZS1zaGVsbC1leHRlbnNpb25zLXN5bmMiLAogICJ1dWlkIjogImV4dGVuc2lvbnMtc3luY0BlbGhhbi5pbyIsCiAgInZlcnNpb24iOiAxNAp9"}}}
 , {"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": "13", "sha256": "1hbjr5s5mx9dqdj3a12hmbz5fzcpm65pvifa86hwy2m852zj2nc5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBwb2RtYW4gY29udGFpbmVycyB0aHJvdWdoIGEgZ25vbWUtc2hlbGwgbWVudSIsCiAgIm5hbWUiOiAiQ29udGFpbmVycyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9yZ29sYW5naC9nbm9tZS1zaGVsbC1leHRlbnNpb24tY29udGFpbmVycyIsCiAgInV1aWQiOiAiY29udGFpbmVyc0Byb3lnIiwKICAidmVyc2lvbiI6IDEzCn0="}}}
+, {"uuid": "fullscreenworkspace@satran.in", "name": "Fullscreen On New Workspace", "pname": "fullscreen-on-new-workspace", "description": "When you launch an application in fullscreen mode move it to a separate workspace.", "link": "https://extensions.gnome.org/extension/1502/fullscreen-on-new-workspace/", "shell_version_map": {"38": {"version": "2", "sha256": "0flpi1rwbzacibhf8j74v6vc5wa99d5149ydmwdfcij3r5qxh5br", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldoZW4geW91IGxhdW5jaCBhbiBhcHBsaWNhdGlvbiBpbiBmdWxsc2NyZWVuIG1vZGUgbW92ZSBpdCB0byBhIHNlcGFyYXRlIHdvcmtzcGFjZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJmdWxsc2NyZWVud29ya3NwYWNlIiwKICAibmFtZSI6ICJGdWxsc2NyZWVuIE9uIE5ldyBXb3Jrc3BhY2UiLAogICJzY2hlbWEtaWQiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZnVsbHNjcmVlbndvcmtzcGFjZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zYXRyYW4vZnVsbHNjcmVlbndvcmtzcGFjZS1zYXRyYW4uaW4iLAogICJ1dWlkIjogImZ1bGxzY3JlZW53b3Jrc3BhY2VAc2F0cmFuLmluIiwKICAidmVyc2lvbiI6IDIKfQ=="}, "40": {"version": "2", "sha256": "0flpi1rwbzacibhf8j74v6vc5wa99d5149ydmwdfcij3r5qxh5br", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldoZW4geW91IGxhdW5jaCBhbiBhcHBsaWNhdGlvbiBpbiBmdWxsc2NyZWVuIG1vZGUgbW92ZSBpdCB0byBhIHNlcGFyYXRlIHdvcmtzcGFjZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJmdWxsc2NyZWVud29ya3NwYWNlIiwKICAibmFtZSI6ICJGdWxsc2NyZWVuIE9uIE5ldyBXb3Jrc3BhY2UiLAogICJzY2hlbWEtaWQiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZnVsbHNjcmVlbndvcmtzcGFjZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zYXRyYW4vZnVsbHNjcmVlbndvcmtzcGFjZS1zYXRyYW4uaW4iLAogICJ1dWlkIjogImZ1bGxzY3JlZW53b3Jrc3BhY2VAc2F0cmFuLmluIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
 , {"uuid": "tray-icons@zhangkaizhao.com", "name": "Tray Icons", "pname": "tray-icons", "description": "Tray icons", "link": "https://extensions.gnome.org/extension/1503/tray-icons/", "shell_version_map": {"38": {"version": "6", "sha256": "0q5kk8yp7cg61d4hcimrxrghsq7v8qaxjbmzvkj5apbg4cmz3s7v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYXkgaWNvbnMiLAogICJuYW1lIjogIlRyYXkgSWNvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIuMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3poYW5na2Fpemhhby9nbm9tZS1zaGVsbC1leHRlbnNpb24tdHJheS1pY29ucyIsCiAgInV1aWQiOiAidHJheS1pY29uc0B6aGFuZ2thaXpoYW8uY29tIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "40": {"version": "6", "sha256": "0q5kk8yp7cg61d4hcimrxrghsq7v8qaxjbmzvkj5apbg4cmz3s7v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYXkgaWNvbnMiLAogICJuYW1lIjogIlRyYXkgSWNvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIuMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3poYW5na2Fpemhhby9nbm9tZS1zaGVsbC1leHRlbnNpb24tdHJheS1pY29ucyIsCiAgInV1aWQiOiAidHJheS1pY29uc0B6aGFuZ2thaXpoYW8uY29tIiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
 , {"uuid": "new-mail-indicator@fthx", "name": "New Mail Indicator", "pname": "new-mail-indicator", "description": "An icon beside the date in the topbar to show if there are unread emails when running your default email client.\n\n It checks the notifications in the message tray related to a new mail, no extra configuration needed, very light extension. Click on the icon does toggle your email client window.*** Do not disable the notifications of your default email client! *** It is not a standalone mail checker, you need your email client to be running. *** Please check that the xdg-utils package is installed.\n\n Email clients verified at the moment are: Thunderbird, Evolution, Geary, Mailspring. Please ask to add the client, including special packaging (snap/flatpak), that you need. If you report an error, please provide at least the distribution and the email client you use through the GitHub link.\n\n For persistent notifications only, see: https://extensions.gnome.org/extension/3951/persistent-email-notifications .", "link": "https://extensions.gnome.org/extension/1505/new-mail-indicator/", "shell_version_map": {"38": {"version": "32", "sha256": "1h4dxgpanvxs5y0k0zlghxrqp74igs3dhhmj9fkrzykqgm5qk99w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGljb24gYmVzaWRlIHRoZSBkYXRlIGluIHRoZSB0b3BiYXIgdG8gc2hvdyBpZiB0aGVyZSBhcmUgdW5yZWFkIGVtYWlscyB3aGVuIHJ1bm5pbmcgeW91ciBkZWZhdWx0IGVtYWlsIGNsaWVudC5cblxuIEl0IGNoZWNrcyB0aGUgbm90aWZpY2F0aW9ucyBpbiB0aGUgbWVzc2FnZSB0cmF5IHJlbGF0ZWQgdG8gYSBuZXcgbWFpbCwgbm8gZXh0cmEgY29uZmlndXJhdGlvbiBuZWVkZWQsIHZlcnkgbGlnaHQgZXh0ZW5zaW9uLiBDbGljayBvbiB0aGUgaWNvbiBkb2VzIHRvZ2dsZSB5b3VyIGVtYWlsIGNsaWVudCB3aW5kb3cuKioqIERvIG5vdCBkaXNhYmxlIHRoZSBub3RpZmljYXRpb25zIG9mIHlvdXIgZGVmYXVsdCBlbWFpbCBjbGllbnQhICoqKiBJdCBpcyBub3QgYSBzdGFuZGFsb25lIG1haWwgY2hlY2tlciwgeW91IG5lZWQgeW91ciBlbWFpbCBjbGllbnQgdG8gYmUgcnVubmluZy4gKioqIFBsZWFzZSBjaGVjayB0aGF0IHRoZSB4ZGctdXRpbHMgcGFja2FnZSBpcyBpbnN0YWxsZWQuXG5cbiBFbWFpbCBjbGllbnRzIHZlcmlmaWVkIGF0IHRoZSBtb21lbnQgYXJlOiBUaHVuZGVyYmlyZCwgRXZvbHV0aW9uLCBHZWFyeSwgTWFpbHNwcmluZy4gUGxlYXNlIGFzayB0byBhZGQgdGhlIGNsaWVudCwgaW5jbHVkaW5nIHNwZWNpYWwgcGFja2FnaW5nIChzbmFwL2ZsYXRwYWspLCB0aGF0IHlvdSBuZWVkLiBJZiB5b3UgcmVwb3J0IGFuIGVycm9yLCBwbGVhc2UgcHJvdmlkZSBhdCBsZWFzdCB0aGUgZGlzdHJpYnV0aW9uIGFuZCB0aGUgZW1haWwgY2xpZW50IHlvdSB1c2UgdGhyb3VnaCB0aGUgR2l0SHViIGxpbmsuXG5cbiBGb3IgcGVyc2lzdGVudCBub3RpZmljYXRpb25zIG9ubHksIHNlZTogaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMzk1MS9wZXJzaXN0ZW50LWVtYWlsLW5vdGlmaWNhdGlvbnMgLiIsCiAgIm5hbWUiOiAiTmV3IE1haWwgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvbmV3LW1haWwtaW5kaWNhdG9yIiwKICAidXVpZCI6ICJuZXctbWFpbC1pbmRpY2F0b3JAZnRoeCIsCiAgInZlcnNpb24iOiAzMgp9"}, "40": {"version": "32", "sha256": "1h4dxgpanvxs5y0k0zlghxrqp74igs3dhhmj9fkrzykqgm5qk99w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGljb24gYmVzaWRlIHRoZSBkYXRlIGluIHRoZSB0b3BiYXIgdG8gc2hvdyBpZiB0aGVyZSBhcmUgdW5yZWFkIGVtYWlscyB3aGVuIHJ1bm5pbmcgeW91ciBkZWZhdWx0IGVtYWlsIGNsaWVudC5cblxuIEl0IGNoZWNrcyB0aGUgbm90aWZpY2F0aW9ucyBpbiB0aGUgbWVzc2FnZSB0cmF5IHJlbGF0ZWQgdG8gYSBuZXcgbWFpbCwgbm8gZXh0cmEgY29uZmlndXJhdGlvbiBuZWVkZWQsIHZlcnkgbGlnaHQgZXh0ZW5zaW9uLiBDbGljayBvbiB0aGUgaWNvbiBkb2VzIHRvZ2dsZSB5b3VyIGVtYWlsIGNsaWVudCB3aW5kb3cuKioqIERvIG5vdCBkaXNhYmxlIHRoZSBub3RpZmljYXRpb25zIG9mIHlvdXIgZGVmYXVsdCBlbWFpbCBjbGllbnQhICoqKiBJdCBpcyBub3QgYSBzdGFuZGFsb25lIG1haWwgY2hlY2tlciwgeW91IG5lZWQgeW91ciBlbWFpbCBjbGllbnQgdG8gYmUgcnVubmluZy4gKioqIFBsZWFzZSBjaGVjayB0aGF0IHRoZSB4ZGctdXRpbHMgcGFja2FnZSBpcyBpbnN0YWxsZWQuXG5cbiBFbWFpbCBjbGllbnRzIHZlcmlmaWVkIGF0IHRoZSBtb21lbnQgYXJlOiBUaHVuZGVyYmlyZCwgRXZvbHV0aW9uLCBHZWFyeSwgTWFpbHNwcmluZy4gUGxlYXNlIGFzayB0byBhZGQgdGhlIGNsaWVudCwgaW5jbHVkaW5nIHNwZWNpYWwgcGFja2FnaW5nIChzbmFwL2ZsYXRwYWspLCB0aGF0IHlvdSBuZWVkLiBJZiB5b3UgcmVwb3J0IGFuIGVycm9yLCBwbGVhc2UgcHJvdmlkZSBhdCBsZWFzdCB0aGUgZGlzdHJpYnV0aW9uIGFuZCB0aGUgZW1haWwgY2xpZW50IHlvdSB1c2UgdGhyb3VnaCB0aGUgR2l0SHViIGxpbmsuXG5cbiBGb3IgcGVyc2lzdGVudCBub3RpZmljYXRpb25zIG9ubHksIHNlZTogaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMzk1MS9wZXJzaXN0ZW50LWVtYWlsLW5vdGlmaWNhdGlvbnMgLiIsCiAgIm5hbWUiOiAiTmV3IE1haWwgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvbmV3LW1haWwtaW5kaWNhdG9yIiwKICAidXVpZCI6ICJuZXctbWFpbC1pbmRpY2F0b3JAZnRoeCIsCiAgInZlcnNpb24iOiAzMgp9"}}}
 , {"uuid": "drop-down-terminal-x@bigbn.pro", "name": "Drop Down Terminal X", "pname": "drop-down-terminal-x", "description": "THIS EXTENSION IS NO LONGER SUPPORTED.\n\nIf you are looking for an alternative please look at that https://extensions.gnome.org/extension/3780/ddterm \nawesome extension.\n\nA GNOME Shell drop down terminal with extra feautures.\n \nSpecial thanks to:\n- Osman Alperen Elhan (https://github.com/oae)\n- Balder Claassen (https://github.com/balderclaassen)\n- Adrien Pyke (https://github.com/kufii)\n- Alan J Carvajal (https://github.com/ajcarvajal)\n- Massimo Mund (https://github.com/masmu)\n- Jakub Żywiec (https://github.com/jakubzet)\n- Mattias Eriksson (https://github.com/snaggen)\n- Henry78 (https://github.com/Henry78)\n- Maxim Toropov (https://github.com/MaxMaxoff)\nfor active contribution.\n\nBased on original extension \"gs-extensions-drop-down-terminal\" from Stéphane Démurget (https://github.com/zzrough)", "link": "https://extensions.gnome.org/extension/1509/drop-down-terminal-x/", "shell_version_map": {"38": {"version": "17", "sha256": "1k90g6bndw1xr56k7lwlxyw89aqbl47spkfmj1lq224z83w6hzdw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRISVMgRVhURU5TSU9OIElTIE5PIExPTkdFUiBTVVBQT1JURUQuXG5cbklmIHlvdSBhcmUgbG9va2luZyBmb3IgYW4gYWx0ZXJuYXRpdmUgcGxlYXNlIGxvb2sgYXQgdGhhdCBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8zNzgwL2RkdGVybSBcbmF3ZXNvbWUgZXh0ZW5zaW9uLlxuXG5BIEdOT01FIFNoZWxsIGRyb3AgZG93biB0ZXJtaW5hbCB3aXRoIGV4dHJhIGZlYXV0dXJlcy5cbiBcblNwZWNpYWwgdGhhbmtzIHRvOlxuLSBPc21hbiBBbHBlcmVuIEVsaGFuIChodHRwczovL2dpdGh1Yi5jb20vb2FlKVxuLSBCYWxkZXIgQ2xhYXNzZW4gKGh0dHBzOi8vZ2l0aHViLmNvbS9iYWxkZXJjbGFhc3Nlbilcbi0gQWRyaWVuIFB5a2UgKGh0dHBzOi8vZ2l0aHViLmNvbS9rdWZpaSlcbi0gQWxhbiBKIENhcnZhamFsIChodHRwczovL2dpdGh1Yi5jb20vYWpjYXJ2YWphbClcbi0gTWFzc2ltbyBNdW5kIChodHRwczovL2dpdGh1Yi5jb20vbWFzbXUpXG4tIEpha3ViIFx1MDE3Ynl3aWVjIChodHRwczovL2dpdGh1Yi5jb20vamFrdWJ6ZXQpXG4tIE1hdHRpYXMgRXJpa3Nzb24gKGh0dHBzOi8vZ2l0aHViLmNvbS9zbmFnZ2VuKVxuLSBIZW5yeTc4IChodHRwczovL2dpdGh1Yi5jb20vSGVucnk3OClcbi0gTWF4aW0gVG9yb3BvdiAoaHR0cHM6Ly9naXRodWIuY29tL01heE1heG9mZilcbmZvciBhY3RpdmUgY29udHJpYnV0aW9uLlxuXG5CYXNlZCBvbiBvcmlnaW5hbCBleHRlbnNpb24gXCJncy1leHRlbnNpb25zLWRyb3AtZG93bi10ZXJtaW5hbFwiIGZyb20gU3RcdTAwZTlwaGFuZSBEXHUwMGU5bXVyZ2V0IChodHRwczovL2dpdGh1Yi5jb20venpyb3VnaCkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkcm9wLWRvd24tdGVybWluYWwteCIsCiAgImlkIjogImRyb3AtZG93bi10ZXJtaW5hbC14IiwKICAibmFtZSI6ICJEcm9wIERvd24gVGVybWluYWwgWCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOC4wIiwKICAgICIzLjI4LjEiLAogICAgIjMuMjguMiIsCiAgICAiMy4zMC4wIiwKICAgICIzLjMwLjEiLAogICAgIjMuMzAuMiIsCiAgICAiMy4zMi4wIiwKICAgICIzLjMyLjEiLAogICAgIjMuMzIuMiIsCiAgICAiMy4zNC4wIiwKICAgICIzLjM0LjQiLAogICAgIjMuMzYuMCIsCiAgICAiMy4zNi4xIiwKICAgICIzLjM2LjIiLAogICAgIjMuMzguMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JpZ2JuL2dzLWV4dGVuc2lvbnMtZHJvcC1kb3duLXRlcm1pbmFsIiwKICAidXVpZCI6ICJkcm9wLWRvd24tdGVybWluYWwteEBiaWdibi5wcm8iLAogICJ2ZXJzaW9uIjogMTcKfQ=="}}}
 , {"uuid": "Rounded_Corners@lennart-k", "name": "Rounded Corners", "pname": "rounded-corners", "description": "Creates rounded corners for every monitor", "link": "https://extensions.gnome.org/extension/1514/rounded-corners/", "shell_version_map": {"38": {"version": "4", "sha256": "0pvbnv97g2mjbklszxvp6df50iw9kyr1ssfza8ia9779x5zq9bk9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyZWF0ZXMgcm91bmRlZCBjb3JuZXJzIGZvciBldmVyeSBtb25pdG9yIiwKICAibmFtZSI6ICJSb3VuZGVkIENvcm5lcnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9sZW5uYXJ0LWsvZ25vbWUtcm91bmRlZC1jb3JuZXJzIiwKICAidXVpZCI6ICJSb3VuZGVkX0Nvcm5lcnNAbGVubmFydC1rIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
 , {"uuid": "scrovol@andyholmes.github.io", "name": "Scrovol", "pname": "scrovol", "description": "Change the volume by scrolling anywhere on the System Tray.\n\nWith this extension, you can scroll over Night Light, WiFi, Volume, Battery or any other icon in the system status tray to change the volume, instead of just the Volume icon.", "link": "https://extensions.gnome.org/extension/1519/scrovol/", "shell_version_map": {"40": {"version": "4", "sha256": "1md52ygz481nvhq00bkq2ymby7f647cfvw4wx1wqkwp7b796d59c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB0aGUgdm9sdW1lIGJ5IHNjcm9sbGluZyBhbnl3aGVyZSBvbiB0aGUgU3lzdGVtIFRyYXkuXG5cbldpdGggdGhpcyBleHRlbnNpb24sIHlvdSBjYW4gc2Nyb2xsIG92ZXIgTmlnaHQgTGlnaHQsIFdpRmksIFZvbHVtZSwgQmF0dGVyeSBvciBhbnkgb3RoZXIgaWNvbiBpbiB0aGUgc3lzdGVtIHN0YXR1cyB0cmF5IHRvIGNoYW5nZSB0aGUgdm9sdW1lLCBpbnN0ZWFkIG9mIGp1c3QgdGhlIFZvbHVtZSBpY29uLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJzY3Jvdm9sIiwKICAibmFtZSI6ICJTY3Jvdm9sIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYW5keWhvbG1lcy9nbm9tZS1zaGVsbC1leHRlbnNpb24tc2Nyb3ZvbC8iLAogICJ1dWlkIjogInNjcm92b2xAYW5keWhvbG1lcy5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNAp9"}}}
-, {"uuid": "notification-center@Selenium-H", "name": "Notification Center", "pname": "notification-centerselenium-h", "description": "Detach notification center to top panel and customizations\n\nPress the Refresh button on the left of header bar to Reload the extension.", "link": "https://extensions.gnome.org/extension/1526/notification-centerselenium-h/", "shell_version_map": {"38": {"version": "23", "sha256": "12acmck46qpjgkcwjms4wi4gfnnyhz0yjh29ls2xz4xlkdzw71pd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNvbW1lbnQiOiAiRGV0YWNoIG5vdGlmaWNhdGlvbiBjZW50ZXIgdG8gdG9wIHBhbmVsIGFuZCBjdXN0b21pemF0aW9ucyIsCiAgImRlc2NyaXB0aW9uIjogIkRldGFjaCBub3RpZmljYXRpb24gY2VudGVyIHRvIHRvcCBwYW5lbCBhbmQgY3VzdG9taXphdGlvbnNcblxuUHJlc3MgdGhlIFJlZnJlc2ggYnV0dG9uIG9uIHRoZSBsZWZ0IG9mIGhlYWRlciBiYXIgdG8gUmVsb2FkIHRoZSBleHRlbnNpb24uIiwKICAibmFtZSI6ICJOb3RpZmljYXRpb24gQ2VudGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5vdGlmaWNhdGlvbi1jZW50ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAic3RhdHVzIjogIiAiLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NlbGVuaXVtLUgvTm90aWZpY2F0aW9uLUNlbnRlciIsCiAgInV1aWQiOiAibm90aWZpY2F0aW9uLWNlbnRlckBTZWxlbml1bS1IIiwKICAidmVyc2lvbiI6IDIzCn0="}}}
+, {"uuid": "notification-center@Selenium-H", "name": "Notification Center", "pname": "notification-centerselenium-h", "description": "Detach notification center to top panel and customizations.Please reset the extension after updating.\nThe Extension will stop when upgraded to an incompatible version.\nIn that case an Update tab is created to easily reset the extension.\nA Reset button is also always present in Preferences option in the Top Right Application menu of the extension preferences window.", "link": "https://extensions.gnome.org/extension/1526/notification-centerselenium-h/", "shell_version_map": {"38": {"version": "24", "sha256": "1449kl7fss2fyj1ks8ra3qy60jvn5fcl1iyv813s8vdkkp5dv8a2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNvbW1lbnQiOiAiRGV0YWNoIG5vdGlmaWNhdGlvbiBjZW50ZXIgdG8gdG9wIHBhbmVsIGFuZCBjdXN0b21pemF0aW9ucy4iLAogICJkZXNjcmlwdGlvbiI6ICJEZXRhY2ggbm90aWZpY2F0aW9uIGNlbnRlciB0byB0b3AgcGFuZWwgYW5kIGN1c3RvbWl6YXRpb25zLlBsZWFzZSByZXNldCB0aGUgZXh0ZW5zaW9uIGFmdGVyIHVwZGF0aW5nLlxuVGhlIEV4dGVuc2lvbiB3aWxsIHN0b3Agd2hlbiB1cGdyYWRlZCB0byBhbiBpbmNvbXBhdGlibGUgdmVyc2lvbi5cbkluIHRoYXQgY2FzZSBhbiBVcGRhdGUgdGFiIGlzIGNyZWF0ZWQgdG8gZWFzaWx5IHJlc2V0IHRoZSBleHRlbnNpb24uXG5BIFJlc2V0IGJ1dHRvbiBpcyBhbHNvIGFsd2F5cyBwcmVzZW50IGluIFByZWZlcmVuY2VzIG9wdGlvbiBpbiB0aGUgVG9wIFJpZ2h0IEFwcGxpY2F0aW9uIG1lbnUgb2YgdGhlIGV4dGVuc2lvbiBwcmVmZXJlbmNlcyB3aW5kb3cuIiwKICAibmFtZSI6ICJOb3RpZmljYXRpb24gQ2VudGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5vdGlmaWNhdGlvbi1jZW50ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInN0YXR1cyI6ICIiLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NlbGVuaXVtLUgvTm90aWZpY2F0aW9uLUNlbnRlciIsCiAgInV1aWQiOiAibm90aWZpY2F0aW9uLWNlbnRlckBTZWxlbml1bS1IIiwKICAidmVyc2lvbiI6IDI0Cn0="}, "40": {"version": "24", "sha256": "1449kl7fss2fyj1ks8ra3qy60jvn5fcl1iyv813s8vdkkp5dv8a2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNvbW1lbnQiOiAiRGV0YWNoIG5vdGlmaWNhdGlvbiBjZW50ZXIgdG8gdG9wIHBhbmVsIGFuZCBjdXN0b21pemF0aW9ucy4iLAogICJkZXNjcmlwdGlvbiI6ICJEZXRhY2ggbm90aWZpY2F0aW9uIGNlbnRlciB0byB0b3AgcGFuZWwgYW5kIGN1c3RvbWl6YXRpb25zLlBsZWFzZSByZXNldCB0aGUgZXh0ZW5zaW9uIGFmdGVyIHVwZGF0aW5nLlxuVGhlIEV4dGVuc2lvbiB3aWxsIHN0b3Agd2hlbiB1cGdyYWRlZCB0byBhbiBpbmNvbXBhdGlibGUgdmVyc2lvbi5cbkluIHRoYXQgY2FzZSBhbiBVcGRhdGUgdGFiIGlzIGNyZWF0ZWQgdG8gZWFzaWx5IHJlc2V0IHRoZSBleHRlbnNpb24uXG5BIFJlc2V0IGJ1dHRvbiBpcyBhbHNvIGFsd2F5cyBwcmVzZW50IGluIFByZWZlcmVuY2VzIG9wdGlvbiBpbiB0aGUgVG9wIFJpZ2h0IEFwcGxpY2F0aW9uIG1lbnUgb2YgdGhlIGV4dGVuc2lvbiBwcmVmZXJlbmNlcyB3aW5kb3cuIiwKICAibmFtZSI6ICJOb3RpZmljYXRpb24gQ2VudGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5vdGlmaWNhdGlvbi1jZW50ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInN0YXR1cyI6ICIiLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NlbGVuaXVtLUgvTm90aWZpY2F0aW9uLUNlbnRlciIsCiAgInV1aWQiOiAibm90aWZpY2F0aW9uLWNlbnRlckBTZWxlbml1bS1IIiwKICAidmVyc2lvbiI6IDI0Cn0="}}}
 , {"uuid": "lockkeys@fawtytoo", "name": "Lock Keys", "pname": "lock-keys", "description": "Numlock and Capslock status on the panel. Icons are auto hidden. Simplified with no menus, notifications or settings.\n\nWayland is supported for Gnome Shell 3.38 or newer.", "link": "https://extensions.gnome.org/extension/1532/lock-keys/", "shell_version_map": {"38": {"version": "12", "sha256": "0cnd71926fyxcq6gv0j6xiy8w9fw0lvsby4rmzamywg1rbb5i1jd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk51bWxvY2sgYW5kIENhcHNsb2NrIHN0YXR1cyBvbiB0aGUgcGFuZWwuIEljb25zIGFyZSBhdXRvIGhpZGRlbi4gU2ltcGxpZmllZCB3aXRoIG5vIG1lbnVzLCBub3RpZmljYXRpb25zIG9yIHNldHRpbmdzLlxuXG5XYXlsYW5kIGlzIHN1cHBvcnRlZCBmb3IgR25vbWUgU2hlbGwgMy4zOCBvciBuZXdlci4iLAogICJuYW1lIjogIkxvY2sgS2V5cyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiU3RldmUgQ2xhcmssIEthemltaWVyYXMgVmFpbmEsIFBpZXJyZSBPc3NtYW4sIGVyZ3VpbGxlLCBqb25uaXVzLCBQaGlsaXBwIFdvbGZlciwgTWFyaXVzeiBMaXNvd3NraSwgQ3Jpc3RpYW4gQmVyb2l6YSwgd2FybXN1bjAyMjAsIFJhc211cyBLYWosIFBhYmxvIE1hcnRpbi1Hb21leiBCb3Vza2EiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImxvY2trZXlzQGZhd3R5dG9vIiwKICAidmVyc2lvbiI6IDEyCn0="}, "40": {"version": "12", "sha256": "0cnd71926fyxcq6gv0j6xiy8w9fw0lvsby4rmzamywg1rbb5i1jd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk51bWxvY2sgYW5kIENhcHNsb2NrIHN0YXR1cyBvbiB0aGUgcGFuZWwuIEljb25zIGFyZSBhdXRvIGhpZGRlbi4gU2ltcGxpZmllZCB3aXRoIG5vIG1lbnVzLCBub3RpZmljYXRpb25zIG9yIHNldHRpbmdzLlxuXG5XYXlsYW5kIGlzIHN1cHBvcnRlZCBmb3IgR25vbWUgU2hlbGwgMy4zOCBvciBuZXdlci4iLAogICJuYW1lIjogIkxvY2sgS2V5cyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiU3RldmUgQ2xhcmssIEthemltaWVyYXMgVmFpbmEsIFBpZXJyZSBPc3NtYW4sIGVyZ3VpbGxlLCBqb25uaXVzLCBQaGlsaXBwIFdvbGZlciwgTWFyaXVzeiBMaXNvd3NraSwgQ3Jpc3RpYW4gQmVyb2l6YSwgd2FybXN1bjAyMjAsIFJhc211cyBLYWosIFBhYmxvIE1hcnRpbi1Hb21leiBCb3Vza2EiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImxvY2trZXlzQGZhd3R5dG9vIiwKICAidmVyc2lvbiI6IDEyCn0="}}}
 , {"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": "8", "sha256": "07ly7kgjz15462d2xx53l4rmgydw72jm4f21vsil8fyynifv5smv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgaG90IGNvcm5lciBpbiBmdWxsc2NyZWVuIG1vZGUiLAogICJuYW1lIjogIkZ1bGxzY3JlZW4gSG90IENvcm5lciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NvYWwvZ25vbWUtc2hlbGwtZnVsbHNjcmVlbi1ob3QtY29ybmVyIiwKICAidXVpZCI6ICJmdWxsc2NyZWVuLWhvdC1jb3JuZXJAc29ycm93LmFib3V0LmFsaWNlLnBtLm1lIiwKICAidmVyc2lvbiI6IDgKfQ=="}}}
 , {"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": "30", "sha256": "0mjah9nx66caqmfbz8wrvg6iyhxp7jmbgwx1gnp8k2a2z536n1iw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImFwcGxpY2F0aW9uLWlkIjogIm9yZy5rcm9ub3NvdWwud29ya3NldHMiLAogICJkZXNjcmlwdGlvbiI6ICJDdXN0b21pc2VkIFdvcmtzcGFjZXMgZW5hYmxlcyBjcmVhdGluZyBpc29sYXRlZCBhbmQgY3VzdG9taXNlZCB3b3Jrc3BhY2VzLlxuXG4qIEN1c3RvbWlzZSB0aGUgZGFzaCB0byBiZSB1bmlxdWUgZm9yIGVhY2ggd29ya3NwYWNlLCBlYWNoIHdpdGggdGhlaXIgb3duIGZhdm91cml0ZXNcbiogT25seSBzaG93IHJ1bm5pbmcgYXBwbGljYXRpb25zIG9uIHRoZSBkYXNoIGluIHRoZWlyIHJlc3BlY3RpdmUgd29ya3NwYWNlXG4qIENob29zZSBhIGN1c3RvbSBiYWNrZ3JvdW5kIGltYWdlIGZvciBlYWNoIHdvcmtzcGFjZVxuKiBNaW5vciBVSSB0d2Vha3MgdG8gdGhlIG92ZXJ2aWV3IHdvcmtzcGFjZXNcbiogU2F2ZSBlYWNoIGN1c3RvbWlzYXRpb24sIHNldCB0aGVtIHRvIGF1dG9sb2FkIG9uIHNwZWNpZmljIHdvcmtzcGFjZXNcbiogSGlkZSB0aGUgZXh0ZW5zaW9uIG9uY2UgeW91J3ZlIGNvbmZpZ3VyZWQgeW91ciBwcmVmZXJlbmNlcyB0byBlbmpveSBzZWFtbGVzc2x5IHVwZ3JhZGVkIHdvcmtzcGFjZXMgaW4gZ25vbWUgc2hlbGxcblxuQ29tcGF0aWJsZSBmb3IgdXNlIHdpdGggYW55IG9mIHRoZXNlIGV4dGVuc2lvbnMgdG8gY29tcGxldGUgeW91ciB3b3Jrc3BhY2UgdXBncmFkZTpcblxuKiBEYXNoIHRvIFBhbmVsIC0gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMTE2MC9kYXNoLXRvLXBhbmVsL1xuKiBEYXNoIHRvIERvY2sgLSBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8zMDcvZGFzaC10by1kb2NrL1xuKiBBdXRvIE1vdmUgV2luZG93cyAtIGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzE2L2F1dG8tbW92ZS13aW5kb3dzL1xuKiBWZXJ0aWNhbCBPdmVydmlldyAtIGh0dHBzOi8vZ2l0aHViLmNvbS9SZW5zQWx0aHVpcy92ZXJ0aWNhbC1vdmVydmlldyIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3b3Jrc2V0cyIsCiAgImdldHRleHQtZG9tYWluIjogIndvcmtzZXRzIiwKICAibmFtZSI6ICJDdXN0b21pc2VkIFdvcmtzcGFjZXMiLAogICJvcmlnaW5hbC1hdXRob3IiOiAiYWRtaW5Aa3Jvbm9zb3VsLnh5eiIsCiAgInJlc291cmNlLXBhdGgiOiAiL29yZy9rcm9ub3NvdWwvd29ya3NldHMvIiwKICAic2V0dGluZ3MtcGF0aCI6ICIvb3JnL2dub21lL3NoZWxsL2V4dGVuc2lvbnMvd29ya3NldHMvIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndvcmtzZXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC5iZXRhIiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JsaXBrL0N1c3RvbWlzZWQtV29ya3NwYWNlcyIsCiAgInV1aWQiOiAid29ya3NldHNAYmxpcGsueHl6IiwKICAidmVyc2lvbiI6IDMwCn0="}}}
-, {"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="}}}
+, {"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": "16", "sha256": "1l2790w6r8ay150k57nh7imrg5fc6198rqzrp903bww59wwllz9v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVub2ZmaWNpYWwgR25vbWUtU2hlbGwgRXh0ZW5zaW9uIHRvIHByb3ZpZGUgYSBHVUkgZm9yIHRoZSBvZmZpY2lhbCBOb3JkVlBOIENMSSBUb29sLiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMtbnZwbmNvbm5lY3QiLAogICJuYW1lIjogIk5vcmRWUE4gQ29ubmVjdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5udnBuY29ubmVjdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9BbGV4UG9pbHJvdWdlL05vcmRWUE4tY29ubmVjdCIsCiAgInV1aWQiOiAiTm9yZFZQTl9Db25uZWN0QHBvaWxyb3VnZS5mciIsCiAgInZlcnNpb24iOiAxNgp9"}}}
 , {"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": "20", "sha256": "1akrix6iji78bhwpvsbwf9lxyjgsv2496rdfadns4f8wpgs4d1n4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFycmFuZ2Ugd2luZG93cyBvbiB0aGUgbW9uaXRvcnNcblxuSG90a2V5czpcbiBDdHJsK0FsdCsxIENhc2NhZGUgd2luZG93c1xuIEN0cmwrQWx0KzIgVGlsaW5nIHdpbmRvd3NcbiBDdHJsK0FsdCszIFNpZGUgYnkgc2lkZSB3aW5kb3dzXG4gQ3RybCtBbHQrNCBTdGFjayB3aW5kb3dzIiwKICAibmFtZSI6ICJBcnJhbmdlIFdpbmRvd3MiLAogICJvcmlnaW5hbC1hdXRob3JzIjogInN1bi53eGdAZ21haWwuY29tIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1bnd4Zy9nbm9tZS1zaGVsbC1leHRlbnNpb24tYXJyYW5nZVdpbmRvd3MiLAogICJ1dWlkIjogImFycmFuZ2VXaW5kb3dzQHN1bi53eGdAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDIwCn0="}, "40": {"version": "20", "sha256": "1akrix6iji78bhwpvsbwf9lxyjgsv2496rdfadns4f8wpgs4d1n4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFycmFuZ2Ugd2luZG93cyBvbiB0aGUgbW9uaXRvcnNcblxuSG90a2V5czpcbiBDdHJsK0FsdCsxIENhc2NhZGUgd2luZG93c1xuIEN0cmwrQWx0KzIgVGlsaW5nIHdpbmRvd3NcbiBDdHJsK0FsdCszIFNpZGUgYnkgc2lkZSB3aW5kb3dzXG4gQ3RybCtBbHQrNCBTdGFjayB3aW5kb3dzIiwKICAibmFtZSI6ICJBcnJhbmdlIFdpbmRvd3MiLAogICJvcmlnaW5hbC1hdXRob3JzIjogInN1bi53eGdAZ21haWwuY29tIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1bnd4Zy9nbm9tZS1zaGVsbC1leHRlbnNpb24tYXJyYW5nZVdpbmRvd3MiLAogICJ1dWlkIjogImFycmFuZ2VXaW5kb3dzQHN1bi53eGdAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDIwCn0="}}}
 , {"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": "4", "sha256": "107lii2hxfs6wa6a94yhfjmk1szpyia3rbhb7lf8nwj1gdra54zj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgYWxsIG5vdGlmaWNhdGlvbnMgaW4gZnVsbHNjcmVlbiBtb2RlIiwKICAibmFtZSI6ICJGdWxsc2NyZWVuIE5vdGlmaWNhdGlvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwLjAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zb2FsL2dub21lLXNoZWxsLWV4dGVuc2lvbi1mdWxsc2NyZWVuLW5vdGlmaWNhdGlvbnMiLAogICJ1dWlkIjogImZ1bGxzY3JlZW4tbm90aWZpY2F0aW9uc0Bzb3Jyb3cuYWJvdXQuYWxpY2UucG0ubWUiLAogICJ2ZXJzaW9uIjogNAp9"}}}
-, {"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": "13", "sha256": "1679cxazd2vl7bkhamq3hxw7r5wpb2plw3h346gvg1w0blc1b7ry", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3aW5kb3dzIG9yIHdvcmtzcGFjZSBieSBtb3VzZSBzY3JvbGwgb24gdGhlIHBhbmVsLlxuUG9pbnRlciBvbiBsZWZ0IG9mIHBhbmVsLCBzd2l0Y2ggd2luZG93cy5cblBvaW50ZXIgb24gcmlnaHQgb2YgcGFuZWwsIHN3aXRjaCB3b3Jrc3BhY2VzLiIsCiAgIm5hbWUiOiAicGFuZWwgc2Nyb2xsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXBhbmVsU2Nyb2xsIiwKICAidXVpZCI6ICJwYW5lbFNjcm9sbEBzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxMwp9"}}}
+, {"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": "14", "sha256": "09bwi84nxnzil4mc7b55p6ldb1pcfl3ajvzm561bjv50zxhkjjc4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3aW5kb3dzIG9yIHdvcmtzcGFjZSBieSBtb3VzZSBzY3JvbGwgb24gdGhlIHBhbmVsLlxuUG9pbnRlciBvbiBsZWZ0IG9mIHBhbmVsLCBzd2l0Y2ggd2luZG93cy5cblBvaW50ZXIgb24gcmlnaHQgb2YgcGFuZWwsIHN3aXRjaCB3b3Jrc3BhY2VzLiIsCiAgIm5hbWUiOiAicGFuZWwgc2Nyb2xsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXBhbmVsU2Nyb2xsIiwKICAidXVpZCI6ICJwYW5lbFNjcm9sbEBzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxNAp9"}}}
 , {"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": "27", "sha256": "0caz4ff1wa9qq9f0zvl2sa2c8d2ff5icvcqyfv9n9aqrknkpn3pa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBvciBvdmVycmlkZSB0aGUgYnJpZ2h0bmVzcyBzbGlkZXIgdG8gY2hhbmdlIHRoZSBicmlnaHRuZXNzIHZpYSBhbiBhbHBoYSBsYXllciAoYW5kIG9wdGlvbmFsbHkgc3RvcCB1c2luZyBvciBjb29wZXJhdGUgd2l0aCB0aGUgZXhpc2luZyBiYWNrbGlnaHQsIGlmIHByZXNlbnQpLlxuRWl0aGVyIGludGVybmFsLCBleHRlcm5hbCBvciBhbGwgbW9uaXRvcnMgY2FuIGJlIGRpbW1lZC5cblNlZSB0aGUgR2l0SHViIHBhZ2UgZm9yIGRldGFpbHMuXG5cbk5vdGUgdGhhdCB0aGlzIGV4dGVuc2lvbiB3aWxsIGtlZXAgcnVubmluZyBvbiB0aGUgbG9jayBzY3JlZW4sIGFzIHlvdSdkIGFsc28gd2FudCB0aGUgYnJpZ2h0bmVzcyBzZXR0aW5nIHRvIGFwcGx5IHRvIHRoZSBsb2NrIHNjcmVlbiBhcyB3ZWxsLiBQbGVhc2UgcmVwb3J0IG9uIEdpdEh1YiBpZiB0aGlzIGdpdmVzIHlvdSBhbnkgdHJvdWJsZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJzb2Z0LWJyaWdodG5lc3MiLAogICJuYW1lIjogIlNvZnQgYnJpZ2h0bmVzcyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zb2Z0LWJyaWdodG5lc3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzMuOTAiLAogICAgIjMuMzYiLAogICAgIjMuMzUuMSIsCiAgICAiMy4zNS45MiIsCiAgICAiMy4zOCIsCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0YtaS1mL3NvZnQtYnJpZ2h0bmVzcyIsCiAgInV1aWQiOiAic29mdC1icmlnaHRuZXNzQGZpZmkub3JnIiwKICAidmNzX3JldmlzaW9uIjogInYyNy0wLWcyN2M0OTc4IiwKICAidmVyc2lvbiI6IDI3Cn0="}, "40": {"version": "27", "sha256": "0caz4ff1wa9qq9f0zvl2sa2c8d2ff5icvcqyfv9n9aqrknkpn3pa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBvciBvdmVycmlkZSB0aGUgYnJpZ2h0bmVzcyBzbGlkZXIgdG8gY2hhbmdlIHRoZSBicmlnaHRuZXNzIHZpYSBhbiBhbHBoYSBsYXllciAoYW5kIG9wdGlvbmFsbHkgc3RvcCB1c2luZyBvciBjb29wZXJhdGUgd2l0aCB0aGUgZXhpc2luZyBiYWNrbGlnaHQsIGlmIHByZXNlbnQpLlxuRWl0aGVyIGludGVybmFsLCBleHRlcm5hbCBvciBhbGwgbW9uaXRvcnMgY2FuIGJlIGRpbW1lZC5cblNlZSB0aGUgR2l0SHViIHBhZ2UgZm9yIGRldGFpbHMuXG5cbk5vdGUgdGhhdCB0aGlzIGV4dGVuc2lvbiB3aWxsIGtlZXAgcnVubmluZyBvbiB0aGUgbG9jayBzY3JlZW4sIGFzIHlvdSdkIGFsc28gd2FudCB0aGUgYnJpZ2h0bmVzcyBzZXR0aW5nIHRvIGFwcGx5IHRvIHRoZSBsb2NrIHNjcmVlbiBhcyB3ZWxsLiBQbGVhc2UgcmVwb3J0IG9uIEdpdEh1YiBpZiB0aGlzIGdpdmVzIHlvdSBhbnkgdHJvdWJsZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJzb2Z0LWJyaWdodG5lc3MiLAogICJuYW1lIjogIlNvZnQgYnJpZ2h0bmVzcyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zb2Z0LWJyaWdodG5lc3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzMuOTAiLAogICAgIjMuMzYiLAogICAgIjMuMzUuMSIsCiAgICAiMy4zNS45MiIsCiAgICAiMy4zOCIsCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0YtaS1mL3NvZnQtYnJpZ2h0bmVzcyIsCiAgInV1aWQiOiAic29mdC1icmlnaHRuZXNzQGZpZmkub3JnIiwKICAidmNzX3JldmlzaW9uIjogInYyNy0wLWcyN2M0OTc4IiwKICAidmVyc2lvbiI6IDI3Cn0="}}}
 , {"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": "15", "sha256": "1q6scg003qyp84q7yd1f49kks0rr5k0wwlsq7m3ccnjk5dakqisa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJHaXVzZXBwZSBTaWx2ZXN0cm8iLAogICJkZXNjcmlwdGlvbiI6ICJNb25pdG9yIHRoZSB1c2Ugb2Ygc3lzdGVtIHJlc291cmNlcyBsaWtlIGNwdSwgcmFtLCBkaXNrLCBuZXR3b3JrIGFuZCBkaXNwbGF5IHRoZW0gaW4gZ25vbWUgc2hlbGwgdG9wIGJhci4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjb20tZ2l0aHViLU9yeTBuLVJlc291cmNlX01vbml0b3IiLAogICJuYW1lIjogIlJlc291cmNlIE1vbml0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAiY29tLmdpdGh1Yi5Pcnkwbi5SZXNvdXJjZV9Nb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vMHJ5MG4vUmVzb3VyY2VfTW9uaXRvci8iLAogICJ1dWlkIjogIlJlc291cmNlX01vbml0b3JAT3J5MG4iLAogICJ2ZXJzaW9uIjogMTUKfQ=="}}}
 , {"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": "15", "sha256": "0i6bj4kd59wg1sm29a1yr9s1is2rkxnabn04hlj66y5n6lv6gxgq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlB1dCBHbm9tZSBUd2Vha3MgYW5kIEV4dGVuc2lvbnMgKG9uIFNoZWxsIDQwIGFuZCBsYXRlcikgaW4gdGhlIFN5c3RlbSBtZW51LiIsCiAgImdldHRleHQtZG9tYWluIjogInR3ZWFrcy1zeXN0ZW0tbWVudSIsCiAgIm5hbWUiOiAiVHdlYWtzICYgRXh0ZW5zaW9ucyBpbiBTeXN0ZW0gTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50d2Vha3Mtc3lzdGVtLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzUuOTIiLAogICAgIjMuMzgiLAogICAgIjQwLjAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9GLWktZi90d2Vha3Mtc3lzdGVtLW1lbnUiLAogICJ1dWlkIjogInR3ZWFrcy1zeXN0ZW0tbWVudUBleHRlbnNpb25zLmdub21lLXNoZWxsLmZpZmkub3JnIiwKICAidmNzX3JldmlzaW9uIjogInYxNS0wLWdlM2IwNGM3IiwKICAidmVyc2lvbiI6IDE1Cn0="}, "40": {"version": "15", "sha256": "0i6bj4kd59wg1sm29a1yr9s1is2rkxnabn04hlj66y5n6lv6gxgq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlB1dCBHbm9tZSBUd2Vha3MgYW5kIEV4dGVuc2lvbnMgKG9uIFNoZWxsIDQwIGFuZCBsYXRlcikgaW4gdGhlIFN5c3RlbSBtZW51LiIsCiAgImdldHRleHQtZG9tYWluIjogInR3ZWFrcy1zeXN0ZW0tbWVudSIsCiAgIm5hbWUiOiAiVHdlYWtzICYgRXh0ZW5zaW9ucyBpbiBTeXN0ZW0gTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50d2Vha3Mtc3lzdGVtLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzUuOTIiLAogICAgIjMuMzgiLAogICAgIjQwLjAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9GLWktZi90d2Vha3Mtc3lzdGVtLW1lbnUiLAogICJ1dWlkIjogInR3ZWFrcy1zeXN0ZW0tbWVudUBleHRlbnNpb25zLmdub21lLXNoZWxsLmZpZmkub3JnIiwKICAidmNzX3JldmlzaW9uIjogInYxNS0wLWdlM2IwNGM3IiwKICAidmVyc2lvbiI6IDE1Cn0="}}}
 , {"uuid": "topiconsfix@aleskva@devnullmail.com", "name": "TopIconsFix", "pname": "topiconsfix", "description": "Shows legacy tray icons on top – the fixed version of https://extensions.gnome.org/extension/495/topicons/", "link": "https://extensions.gnome.org/extension/1674/topiconsfix/", "shell_version_map": {"38": {"version": "11", "sha256": "14czzkqs5my6ypg3ggxlcmxbf8aw1ing6nfgz26zkgbvnrfnvfqr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGxlZ2FjeSB0cmF5IGljb25zIG9uIHRvcCBcdTIwMTMgdGhlIGZpeGVkIHZlcnNpb24gb2YgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vNDk1L3RvcGljb25zLyIsCiAgIm5hbWUiOiAiVG9wSWNvbnNGaXgiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInRvcGljb25zZml4QGFsZXNrdmFAZGV2bnVsbG1haWwuY29tIiwKICAidmVyc2lvbiI6IDExCn0="}, "40": {"version": "11", "sha256": "14czzkqs5my6ypg3ggxlcmxbf8aw1ing6nfgz26zkgbvnrfnvfqr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGxlZ2FjeSB0cmF5IGljb25zIG9uIHRvcCBcdTIwMTMgdGhlIGZpeGVkIHZlcnNpb24gb2YgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vNDk1L3RvcGljb25zLyIsCiAgIm5hbWUiOiAiVG9wSWNvbnNGaXgiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInRvcGljb25zZml4QGFsZXNrdmFAZGV2bnVsbG1haWwuY29tIiwKICAidmVyc2lvbiI6IDExCn0="}}}
-, {"uuid": "animation-tweaks@Selenium-H", "name": "Animation Tweaks", "pname": "animation-tweaks", "description": "Add animations to different items and customize them.\n\nPlease reset the extension after updating. The Extension will stop when upgraded to an incompatible version. In that case an Update tab is created to easily reset the extension. A Reset button is also always present in preferences -> About Tab.\n A Default shortcut combination of Super Key + t is provided to temporarily disable the extension until GNOME Shell restarts. \n\nSome effects might not work properly on wayland, for which a workaround is provided on preferences -> Tweaks tab. \nHowever, some animations might not work properly.", "link": "https://extensions.gnome.org/extension/1680/animation-tweaks/", "shell_version_map": {"38": {"version": "12", "sha256": "0n3c2z4lgbzwx176s76v2p3nm1j8a53m136msjpcc6akq3nxvwkm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhbmltYXRpb25zIHRvIGRpZmZlcmVudCBpdGVtcyBhbmQgY3VzdG9taXplIHRoZW0uXG5cblBsZWFzZSByZXNldCB0aGUgZXh0ZW5zaW9uIGFmdGVyIHVwZGF0aW5nLiBUaGUgRXh0ZW5zaW9uIHdpbGwgc3RvcCB3aGVuIHVwZ3JhZGVkIHRvIGFuIGluY29tcGF0aWJsZSB2ZXJzaW9uLiBJbiB0aGF0IGNhc2UgYW4gVXBkYXRlIHRhYiBpcyBjcmVhdGVkIHRvIGVhc2lseSByZXNldCB0aGUgZXh0ZW5zaW9uLiBBIFJlc2V0IGJ1dHRvbiBpcyBhbHNvIGFsd2F5cyBwcmVzZW50IGluIHByZWZlcmVuY2VzIC0+IEFib3V0IFRhYi5cbiBBIERlZmF1bHQgc2hvcnRjdXQgY29tYmluYXRpb24gb2YgU3VwZXIgS2V5ICsgdCBpcyBwcm92aWRlZCB0byB0ZW1wb3JhcmlseSBkaXNhYmxlIHRoZSBleHRlbnNpb24gdW50aWwgR05PTUUgU2hlbGwgcmVzdGFydHMuIFxuXG5Tb21lIGVmZmVjdHMgbWlnaHQgbm90IHdvcmsgcHJvcGVybHkgb24gd2F5bGFuZCwgZm9yIHdoaWNoIGEgd29ya2Fyb3VuZCBpcyBwcm92aWRlZCBvbiBwcmVmZXJlbmNlcyAtPiBUd2Vha3MgdGFiLiBcbkhvd2V2ZXIsIHNvbWUgYW5pbWF0aW9ucyBtaWdodCBub3Qgd29yayBwcm9wZXJseS4iLAogICJuYW1lIjogIkFuaW1hdGlvbiBUd2Vha3MiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYW5pbWF0aW9uLXR3ZWFrcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJzdGF0dXMiOiAiICIsCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vU2VsZW5pdW0tSC9BbmltYXRpb24tVHdlYWtzIiwKICAidXVpZCI6ICJhbmltYXRpb24tdHdlYWtzQFNlbGVuaXVtLUgiLAogICJ2ZXJzaW9uIjogMTIKfQ=="}}}
-, {"uuid": "drawOnYourScreen@abakkk.framagit.org", "name": "Draw On You Screen", "pname": "draw-on-you-screen", "description": "Start drawing with Super+Alt+D and save your beautiful work by taking a screenshot\n\nFeatures :\n- Basic shapes (rectangle, circle, ellipse, line, curve, polygon, polyline, text, image, free)\n- Basic transformations (move, rotate, resize, stretch, mirror, inverse)\n- Smooth stroke\n- Draw over applications\n- Keep drawings on desktop background with persistence (notes, children's art ...)\n- Multi-monitor support\n- Export to SVG\n\nGNOME Shell 41 and later are not supported.", "link": "https://extensions.gnome.org/extension/1683/draw-on-you-screen/", "shell_version_map": {"38": {"version": "11", "sha256": "0bpf7x5fng1c2xj48mh27p5shfja0n79vs3bypmi5v6l4cgggq58", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRhdGEtZGlyIjogImRyYXdPbllvdXJTY3JlZW4iLAogICJkZXNjcmlwdGlvbiI6ICJTdGFydCBkcmF3aW5nIHdpdGggU3VwZXIrQWx0K0QgYW5kIHNhdmUgeW91ciBiZWF1dGlmdWwgd29yayBieSB0YWtpbmcgYSBzY3JlZW5zaG90XG5cbkZlYXR1cmVzIDpcbi0gQmFzaWMgc2hhcGVzIChyZWN0YW5nbGUsIGNpcmNsZSwgZWxsaXBzZSwgbGluZSwgY3VydmUsIHBvbHlnb24sIHBvbHlsaW5lLCB0ZXh0LCBpbWFnZSwgZnJlZSlcbi0gQmFzaWMgdHJhbnNmb3JtYXRpb25zIChtb3ZlLCByb3RhdGUsIHJlc2l6ZSwgc3RyZXRjaCwgbWlycm9yLCBpbnZlcnNlKVxuLSBTbW9vdGggc3Ryb2tlXG4tIERyYXcgb3ZlciBhcHBsaWNhdGlvbnNcbi0gS2VlcCBkcmF3aW5ncyBvbiBkZXNrdG9wIGJhY2tncm91bmQgd2l0aCBwZXJzaXN0ZW5jZSAobm90ZXMsIGNoaWxkcmVuJ3MgYXJ0IC4uLilcbi0gTXVsdGktbW9uaXRvciBzdXBwb3J0XG4tIEV4cG9ydCB0byBTVkdcblxuR05PTUUgU2hlbGwgNDEgYW5kIGxhdGVyIGFyZSBub3Qgc3VwcG9ydGVkLiIsCiAgImdldHRleHQtZG9tYWluIjogImRyYXctb24teW91ci1zY3JlZW4iLAogICJuYW1lIjogIkRyYXcgT24gWW91IFNjcmVlbiIsCiAgInBlcnNpc3RlbnQtZmlsZS1uYW1lIjogInBlcnNpc3RlbnQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZHJhdy1vbi15b3VyLXNjcmVlbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJzdmctZmlsZS1uYW1lIjogIkRyYXdPbllvdXJTY3JlZW4iLAogICJ1cmwiOiAiaHR0cHM6Ly9mcmFtYWdpdC5vcmcvYWJha2trL0RyYXdPbllvdXJTY3JlZW4iLAogICJ1dWlkIjogImRyYXdPbllvdXJTY3JlZW5AYWJha2trLmZyYW1hZ2l0Lm9yZyIsCiAgInZlcnNpb24iOiAxMQp9"}}}
-, {"uuid": "Always-Show-Titles-In-Overview@gmail.com", "name": "Always Show Titles In Overview", "pname": "always-show-titles-in-overview", "description": "This extension can be used to show titles of all thumbnails in the Gnome 3 overview.\n\nNOTE: The gnome 40 version does not support older gnome-shell", "link": "https://extensions.gnome.org/extension/1689/always-show-titles-in-overview/", "shell_version_map": {"38": {"version": "8", "sha256": "1gzf096a95sa8qga3azrvl6wnjnx58dhjj6i21ws9fndx4ildbf9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGNhbiBiZSB1c2VkIHRvIHNob3cgdGl0bGVzIG9mIGFsbCB0aHVtYm5haWxzIGluIHRoZSBHbm9tZSAzIG92ZXJ2aWV3LlxuXG5OT1RFOiBUaGUgZ25vbWUgNDAgdmVyc2lvbiBkb2VzIG5vdCBzdXBwb3J0IG9sZGVyIGdub21lLXNoZWxsIiwKICAibmFtZSI6ICJBbHdheXMgU2hvdyBUaXRsZXMgSW4gT3ZlcnZpZXciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzAuMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL25scHN1Z2UvQWx3YXlzLVNob3ctVGl0bGVzLUluLU92ZXJ2aWV3IiwKICAidXVpZCI6ICJBbHdheXMtU2hvdy1UaXRsZXMtSW4tT3ZlcnZpZXdAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDgKfQ=="}, "40": {"version": "9", "sha256": "1h7zbxrh26ha26xhmhlhb9rzh0g400alkf59x232m3x64ykin2ys", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGNhbiBiZSB1c2VkIHRvIHNob3cgdGl0bGVzIG9mIGFsbCB0aHVtYm5haWxzIGluIHRoZSBHbm9tZSAzIG92ZXJ2aWV3LlxuXG5OT1RFOiBUaGUgZ25vbWUgNDAgdmVyc2lvbiBkb2VzIG5vdCBzdXBwb3J0IG9sZGVyIGdub21lLXNoZWxsIiwKICAibmFtZSI6ICJBbHdheXMgU2hvdyBUaXRsZXMgSW4gT3ZlcnZpZXciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmxwc3VnZS9BbHdheXMtU2hvdy1UaXRsZXMtSW4tT3ZlcnZpZXciLAogICJ1dWlkIjogIkFsd2F5cy1TaG93LVRpdGxlcy1Jbi1PdmVydmlld0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogOQp9"}}}
+, {"uuid": "animation-tweaks@Selenium-H", "name": "Animation Tweaks", "pname": "animation-tweaks", "description": "Add animations to different items and customize them.\n\nPlease reset the extension after updating.\nThe Extension will stop when upgraded to an incompatible version.\nIn that case an Update tab is created to easily reset the extension.\nA Reset button is also always present in Preferences option in the Application menu of the extension preferences window.\nA Default shortcut combination of Super Key + t is provided to disable the extension.\n\nSome effects might not work properly on wayland, for which a workaround is provided on preferences -> Tweaks tab.\nHowever, some animations might not work properly.\n\nTo manage effect Delay time enable Show delay time in preferences option from Preferences -> Tweaks Tab\nand reopen preferences.", "link": "https://extensions.gnome.org/extension/1680/animation-tweaks/", "shell_version_map": {"38": {"version": "14", "sha256": "1vdid8mnbf8r7r7pw1a569rfib2jyvv6n630cd117cm130vsiivj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNvbW1lbnQiOiAiQWRkIGFuaW1hdGlvbnMgdG8gZGlmZmVyZW50IGl0ZW1zIGFuZCBjdXN0b21pemUgdGhlbS4iLAogICJkZXNjcmlwdGlvbiI6ICJBZGQgYW5pbWF0aW9ucyB0byBkaWZmZXJlbnQgaXRlbXMgYW5kIGN1c3RvbWl6ZSB0aGVtLlxuXG5QbGVhc2UgcmVzZXQgdGhlIGV4dGVuc2lvbiBhZnRlciB1cGRhdGluZy5cblRoZSBFeHRlbnNpb24gd2lsbCBzdG9wIHdoZW4gdXBncmFkZWQgdG8gYW4gaW5jb21wYXRpYmxlIHZlcnNpb24uXG5JbiB0aGF0IGNhc2UgYW4gVXBkYXRlIHRhYiBpcyBjcmVhdGVkIHRvIGVhc2lseSByZXNldCB0aGUgZXh0ZW5zaW9uLlxuQSBSZXNldCBidXR0b24gaXMgYWxzbyBhbHdheXMgcHJlc2VudCBpbiBQcmVmZXJlbmNlcyBvcHRpb24gaW4gdGhlIEFwcGxpY2F0aW9uIG1lbnUgb2YgdGhlIGV4dGVuc2lvbiBwcmVmZXJlbmNlcyB3aW5kb3cuXG5BIERlZmF1bHQgc2hvcnRjdXQgY29tYmluYXRpb24gb2YgU3VwZXIgS2V5ICsgdCBpcyBwcm92aWRlZCB0byBkaXNhYmxlIHRoZSBleHRlbnNpb24uXG5cblNvbWUgZWZmZWN0cyBtaWdodCBub3Qgd29yayBwcm9wZXJseSBvbiB3YXlsYW5kLCBmb3Igd2hpY2ggYSB3b3JrYXJvdW5kIGlzIHByb3ZpZGVkIG9uIHByZWZlcmVuY2VzIC0+IFR3ZWFrcyB0YWIuXG5Ib3dldmVyLCBzb21lIGFuaW1hdGlvbnMgbWlnaHQgbm90IHdvcmsgcHJvcGVybHkuXG5cblRvIG1hbmFnZSBlZmZlY3QgRGVsYXkgdGltZSBlbmFibGUgU2hvdyBkZWxheSB0aW1lIGluIHByZWZlcmVuY2VzIG9wdGlvbiBmcm9tIFByZWZlcmVuY2VzIC0+IFR3ZWFrcyBUYWJcbmFuZCByZW9wZW4gcHJlZmVyZW5jZXMuIiwKICAibmFtZSI6ICJBbmltYXRpb24gVHdlYWtzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJzdGF0dXMiOiAiIiwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TZWxlbml1bS1IL0FuaW1hdGlvbi1Ud2Vha3MiLAogICJ1dWlkIjogImFuaW1hdGlvbi10d2Vha3NAU2VsZW5pdW0tSCIsCiAgInZlcnNpb24iOiAxNAp9"}, "40": {"version": "14", "sha256": "1vdid8mnbf8r7r7pw1a569rfib2jyvv6n630cd117cm130vsiivj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNvbW1lbnQiOiAiQWRkIGFuaW1hdGlvbnMgdG8gZGlmZmVyZW50IGl0ZW1zIGFuZCBjdXN0b21pemUgdGhlbS4iLAogICJkZXNjcmlwdGlvbiI6ICJBZGQgYW5pbWF0aW9ucyB0byBkaWZmZXJlbnQgaXRlbXMgYW5kIGN1c3RvbWl6ZSB0aGVtLlxuXG5QbGVhc2UgcmVzZXQgdGhlIGV4dGVuc2lvbiBhZnRlciB1cGRhdGluZy5cblRoZSBFeHRlbnNpb24gd2lsbCBzdG9wIHdoZW4gdXBncmFkZWQgdG8gYW4gaW5jb21wYXRpYmxlIHZlcnNpb24uXG5JbiB0aGF0IGNhc2UgYW4gVXBkYXRlIHRhYiBpcyBjcmVhdGVkIHRvIGVhc2lseSByZXNldCB0aGUgZXh0ZW5zaW9uLlxuQSBSZXNldCBidXR0b24gaXMgYWxzbyBhbHdheXMgcHJlc2VudCBpbiBQcmVmZXJlbmNlcyBvcHRpb24gaW4gdGhlIEFwcGxpY2F0aW9uIG1lbnUgb2YgdGhlIGV4dGVuc2lvbiBwcmVmZXJlbmNlcyB3aW5kb3cuXG5BIERlZmF1bHQgc2hvcnRjdXQgY29tYmluYXRpb24gb2YgU3VwZXIgS2V5ICsgdCBpcyBwcm92aWRlZCB0byBkaXNhYmxlIHRoZSBleHRlbnNpb24uXG5cblNvbWUgZWZmZWN0cyBtaWdodCBub3Qgd29yayBwcm9wZXJseSBvbiB3YXlsYW5kLCBmb3Igd2hpY2ggYSB3b3JrYXJvdW5kIGlzIHByb3ZpZGVkIG9uIHByZWZlcmVuY2VzIC0+IFR3ZWFrcyB0YWIuXG5Ib3dldmVyLCBzb21lIGFuaW1hdGlvbnMgbWlnaHQgbm90IHdvcmsgcHJvcGVybHkuXG5cblRvIG1hbmFnZSBlZmZlY3QgRGVsYXkgdGltZSBlbmFibGUgU2hvdyBkZWxheSB0aW1lIGluIHByZWZlcmVuY2VzIG9wdGlvbiBmcm9tIFByZWZlcmVuY2VzIC0+IFR3ZWFrcyBUYWJcbmFuZCByZW9wZW4gcHJlZmVyZW5jZXMuIiwKICAibmFtZSI6ICJBbmltYXRpb24gVHdlYWtzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJzdGF0dXMiOiAiIiwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TZWxlbml1bS1IL0FuaW1hdGlvbi1Ud2Vha3MiLAogICJ1dWlkIjogImFuaW1hdGlvbi10d2Vha3NAU2VsZW5pdW0tSCIsCiAgInZlcnNpb24iOiAxNAp9"}}}
+, {"uuid": "drawOnYourScreen@abakkk.framagit.org", "name": "Draw On You Screen", "pname": "draw-on-you-screen", "description": "", "link": "https://extensions.gnome.org/extension/1683/draw-on-you-screen/", "shell_version_map": {"38": {"version": "11", "sha256": "0kbgngcb2n234snnavbm8giwi6zhvr48bs0qy4f511d52l2wyawy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRhdGEtZGlyIjogImRyYXdPbllvdXJTY3JlZW4iLAogICJkZXNjcmlwdGlvbiI6ICIiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkcmF3LW9uLXlvdXItc2NyZWVuIiwKICAibmFtZSI6ICJEcmF3IE9uIFlvdSBTY3JlZW4iLAogICJwZXJzaXN0ZW50LWZpbGUtbmFtZSI6ICJwZXJzaXN0ZW50IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRyYXctb24teW91ci1zY3JlZW4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAic3ZnLWZpbGUtbmFtZSI6ICJEcmF3T25Zb3VyU2NyZWVuIiwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiZHJhd09uWW91clNjcmVlbkBhYmFra2suZnJhbWFnaXQub3JnIiwKICAidmVyc2lvbiI6IDExCn0="}}}
+, {"uuid": "Always-Show-Titles-In-Overview@gmail.com", "name": "Always Show Titles In Overview", "pname": "always-show-titles-in-overview", "description": "Show titles of all thumbnails in the Gnome 3 overview.", "link": "https://extensions.gnome.org/extension/1689/always-show-titles-in-overview/", "shell_version_map": {"38": {"version": "10", "sha256": "134xr99qsrz0z56nrgp5frjmzk3jk38sh6hix394a7mm8y5wx304", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgdGl0bGVzIG9mIGFsbCB0aHVtYm5haWxzIGluIHRoZSBHbm9tZSAzIG92ZXJ2aWV3LiIsCiAgIm5hbWUiOiAiQWx3YXlzIFNob3cgVGl0bGVzIEluIE92ZXJ2aWV3IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmxwc3VnZS9BbHdheXMtU2hvdy1UaXRsZXMtSW4tT3ZlcnZpZXciLAogICJ1dWlkIjogIkFsd2F5cy1TaG93LVRpdGxlcy1Jbi1PdmVydmlld0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "40": {"version": "9", "sha256": "0jan9fzfjkclm9m6ckngzp7j203vwbcn3m7njyl498zsqr81ar8g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgdGl0bGVzIG9mIGFsbCB0aHVtYm5haWxzIGluIHRoZSBHbm9tZSAzIG92ZXJ2aWV3LiIsCiAgIm5hbWUiOiAiQWx3YXlzIFNob3cgVGl0bGVzIEluIE92ZXJ2aWV3IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL25scHN1Z2UvQWx3YXlzLVNob3ctVGl0bGVzLUluLU92ZXJ2aWV3IiwKICAidXVpZCI6ICJBbHdheXMtU2hvdy1UaXRsZXMtSW4tT3ZlcnZpZXdAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDkKfQ=="}}}
 , {"uuid": "overview-navigation@nathanielsimard.github.com", "name": "Overview Navigation", "pname": "overview-navigation", "description": "This extension aims to make Gnome Shell easier to navigate using only the keyboard. It is inspired by the vim plugins of Firefox and Chrome.", "link": "https://extensions.gnome.org/extension/1702/overview-navigation/", "shell_version_map": {"38": {"version": "14", "sha256": "10i2j0klcyi22qakmw1f338ldc87w54a0jlg1bwq84ifflmnm8nq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFpbXMgdG8gbWFrZSBHbm9tZSBTaGVsbCBlYXNpZXIgdG8gbmF2aWdhdGUgdXNpbmcgb25seSB0aGUga2V5Ym9hcmQuIEl0IGlzIGluc3BpcmVkIGJ5IHRoZSB2aW0gcGx1Z2lucyBvZiBGaXJlZm94IGFuZCBDaHJvbWUuIiwKICAibmFtZSI6ICJPdmVydmlldyBOYXZpZ2F0aW9uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm92ZXJ2aWV3LW5hdmlnYXRpb24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9uYXRoYW5pZWxzaW1hcmQvb3ZlcnZpZXctbmF2aWdhdGlvbiIsCiAgInV1aWQiOiAib3ZlcnZpZXctbmF2aWdhdGlvbkBuYXRoYW5pZWxzaW1hcmQuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxNAp9"}, "40": {"version": "15", "sha256": "03ah1cx6kjw7698b9wwhz7ag8pag15g8zkxzfrsrcmving9syynd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFpbXMgdG8gbWFrZSBHbm9tZSBTaGVsbCBlYXNpZXIgdG8gbmF2aWdhdGUgdXNpbmcgb25seSB0aGUga2V5Ym9hcmQuIEl0IGlzIGluc3BpcmVkIGJ5IHRoZSB2aW0gcGx1Z2lucyBvZiBGaXJlZm94IGFuZCBDaHJvbWUuIiwKICAibmFtZSI6ICJPdmVydmlldyBOYXZpZ2F0aW9uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm92ZXJ2aWV3LW5hdmlnYXRpb24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmF0aGFuaWVsc2ltYXJkL292ZXJ2aWV3LW5hdmlnYXRpb24iLAogICJ1dWlkIjogIm92ZXJ2aWV3LW5hdmlnYXRpb25AbmF0aGFuaWVsc2ltYXJkLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTUKfQ=="}}}
-, {"uuid": "transparent-top-bar@zhanghai.me", "name": "Transparent Top Bar", "pname": "transparent-top-bar", "description": "Bring back the transparent top bar when free-floating in GNOME Shell 3.32.\n\nThis basically comes from the feature implementation removed in GNOME Shell 3.32, and I modified the code a bit to make it an extension. Enjoy!", "link": "https://extensions.gnome.org/extension/1708/transparent-top-bar/", "shell_version_map": {"38": {"version": "9", "sha256": "0i34ns1rm2iis9mvbyjvckb0l1b0zzzczzan7591y8lqfjplsmzr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5nIGJhY2sgdGhlIHRyYW5zcGFyZW50IHRvcCBiYXIgd2hlbiBmcmVlLWZsb2F0aW5nIGluIEdOT01FIFNoZWxsIDMuMzIuXG5cblRoaXMgYmFzaWNhbGx5IGNvbWVzIGZyb20gdGhlIGZlYXR1cmUgaW1wbGVtZW50YXRpb24gcmVtb3ZlZCBpbiBHTk9NRSBTaGVsbCAzLjMyLCBhbmQgSSBtb2RpZmllZCB0aGUgY29kZSBhIGJpdCB0byBtYWtlIGl0IGFuIGV4dGVuc2lvbi4gRW5qb3khIiwKICAibmFtZSI6ICJUcmFuc3BhcmVudCBUb3AgQmFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3poYW5naGFpL2dub21lLXNoZWxsLWV4dGVuc2lvbi10cmFuc3BhcmVudC10b3AtYmFyIiwKICAidXVpZCI6ICJ0cmFuc3BhcmVudC10b3AtYmFyQHpoYW5naGFpLm1lIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "40": {"version": "11", "sha256": "1c7jwx4l1izn4rzv7jnz1gmgshcjn6xj8xdlfzkn0j7fnnjnw4q4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5nIGJhY2sgdGhlIHRyYW5zcGFyZW50IHRvcCBiYXIgd2hlbiBmcmVlLWZsb2F0aW5nIGluIEdOT01FIFNoZWxsIDMuMzIuXG5cblRoaXMgYmFzaWNhbGx5IGNvbWVzIGZyb20gdGhlIGZlYXR1cmUgaW1wbGVtZW50YXRpb24gcmVtb3ZlZCBpbiBHTk9NRSBTaGVsbCAzLjMyLCBhbmQgSSBtb2RpZmllZCB0aGUgY29kZSBhIGJpdCB0byBtYWtlIGl0IGFuIGV4dGVuc2lvbi4gRW5qb3khIiwKICAibmFtZSI6ICJUcmFuc3BhcmVudCBUb3AgQmFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3poYW5naGFpL2dub21lLXNoZWxsLWV4dGVuc2lvbi10cmFuc3BhcmVudC10b3AtYmFyIiwKICAidXVpZCI6ICJ0cmFuc3BhcmVudC10b3AtYmFyQHpoYW5naGFpLm1lIiwKICAidmVyc2lvbiI6IDExCn0="}}}
+, {"uuid": "transparent-top-bar@zhanghai.me", "name": "Transparent Top Bar", "pname": "transparent-top-bar", "description": "Bring back the transparent top bar when free-floating in GNOME Shell 3.32.\n\nThis basically comes from the feature implementation removed in GNOME Shell 3.32, and I modified the code a bit to make it an extension. Enjoy!", "link": "https://extensions.gnome.org/extension/1708/transparent-top-bar/", "shell_version_map": {"38": {"version": "9", "sha256": "0i34ns1rm2iis9mvbyjvckb0l1b0zzzczzan7591y8lqfjplsmzr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5nIGJhY2sgdGhlIHRyYW5zcGFyZW50IHRvcCBiYXIgd2hlbiBmcmVlLWZsb2F0aW5nIGluIEdOT01FIFNoZWxsIDMuMzIuXG5cblRoaXMgYmFzaWNhbGx5IGNvbWVzIGZyb20gdGhlIGZlYXR1cmUgaW1wbGVtZW50YXRpb24gcmVtb3ZlZCBpbiBHTk9NRSBTaGVsbCAzLjMyLCBhbmQgSSBtb2RpZmllZCB0aGUgY29kZSBhIGJpdCB0byBtYWtlIGl0IGFuIGV4dGVuc2lvbi4gRW5qb3khIiwKICAibmFtZSI6ICJUcmFuc3BhcmVudCBUb3AgQmFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3poYW5naGFpL2dub21lLXNoZWxsLWV4dGVuc2lvbi10cmFuc3BhcmVudC10b3AtYmFyIiwKICAidXVpZCI6ICJ0cmFuc3BhcmVudC10b3AtYmFyQHpoYW5naGFpLm1lIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "40": {"version": "12", "sha256": "0ir6apfpjihwdbxlpa30jgvqn47f14xs9aplz4rrya9h51zf55jl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5nIGJhY2sgdGhlIHRyYW5zcGFyZW50IHRvcCBiYXIgd2hlbiBmcmVlLWZsb2F0aW5nIGluIEdOT01FIFNoZWxsIDMuMzIuXG5cblRoaXMgYmFzaWNhbGx5IGNvbWVzIGZyb20gdGhlIGZlYXR1cmUgaW1wbGVtZW50YXRpb24gcmVtb3ZlZCBpbiBHTk9NRSBTaGVsbCAzLjMyLCBhbmQgSSBtb2RpZmllZCB0aGUgY29kZSBhIGJpdCB0byBtYWtlIGl0IGFuIGV4dGVuc2lvbi4gRW5qb3khIiwKICAibmFtZSI6ICJUcmFuc3BhcmVudCBUb3AgQmFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3poYW5naGFpL2dub21lLXNoZWxsLWV4dGVuc2lvbi10cmFuc3BhcmVudC10b3AtYmFyIiwKICAidXVpZCI6ICJ0cmFuc3BhcmVudC10b3AtYmFyQHpoYW5naGFpLm1lIiwKICAidmVyc2lvbiI6IDEyCn0="}}}
 , {"uuid": "ssh-search-provider@extensions.gnome-shell.fifi.org", "name": "SSH Search Provider Reborn", "pname": "ssh-search-provider-reborn", "description": "Provide SSH search results in overview.\n\nThis is a fork of the original \"SSH Search Provider\", updated to work with newer Gnome-Shells.", "link": "https://extensions.gnome.org/extension/1714/ssh-search-provider-reborn/", "shell_version_map": {"38": {"version": "8", "sha256": "1i55s7mdrsgfb5lmxyvpfnbn4d822miqwb1n8s8hq7nsh4v9xrha", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGUgU1NIIHNlYXJjaCByZXN1bHRzIGluIG92ZXJ2aWV3LlxuXG5UaGlzIGlzIGEgZm9yayBvZiB0aGUgb3JpZ2luYWwgXCJTU0ggU2VhcmNoIFByb3ZpZGVyXCIsIHVwZGF0ZWQgdG8gd29yayB3aXRoIG5ld2VyIEdub21lLVNoZWxscy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJzc2gtc2VhcmNoLXByb3ZpZGVyIiwKICAibmFtZSI6ICJTU0ggU2VhcmNoIFByb3ZpZGVyIFJlYm9ybiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zc2gtc2VhcmNoLXByb3ZpZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjMzLjkwIiwKICAgICIzLjM2IiwKICAgICIzLjM1LjkyIiwKICAgICIzLjM4IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRi1pLWYvc3NoLXNlYXJjaC1wcm92aWRlciIsCiAgInV1aWQiOiAic3NoLXNlYXJjaC1wcm92aWRlckBleHRlbnNpb25zLmdub21lLXNoZWxsLmZpZmkub3JnIiwKICAidmNzX3JldmlzaW9uIjogInY4LTAtZzM0YjYyYTEiLAogICJ2ZXJzaW9uIjogOAp9"}, "40": {"version": "8", "sha256": "1i55s7mdrsgfb5lmxyvpfnbn4d822miqwb1n8s8hq7nsh4v9xrha", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGUgU1NIIHNlYXJjaCByZXN1bHRzIGluIG92ZXJ2aWV3LlxuXG5UaGlzIGlzIGEgZm9yayBvZiB0aGUgb3JpZ2luYWwgXCJTU0ggU2VhcmNoIFByb3ZpZGVyXCIsIHVwZGF0ZWQgdG8gd29yayB3aXRoIG5ld2VyIEdub21lLVNoZWxscy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJzc2gtc2VhcmNoLXByb3ZpZGVyIiwKICAibmFtZSI6ICJTU0ggU2VhcmNoIFByb3ZpZGVyIFJlYm9ybiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zc2gtc2VhcmNoLXByb3ZpZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjMzLjkwIiwKICAgICIzLjM2IiwKICAgICIzLjM1LjkyIiwKICAgICIzLjM4IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRi1pLWYvc3NoLXNlYXJjaC1wcm92aWRlciIsCiAgInV1aWQiOiAic3NoLXNlYXJjaC1wcm92aWRlckBleHRlbnNpb25zLmdub21lLXNoZWxsLmZpZmkub3JnIiwKICAidmNzX3JldmlzaW9uIjogInY4LTAtZzM0YjYyYTEiLAogICJ2ZXJzaW9uIjogOAp9"}}}
 , {"uuid": "weeks-start-on-monday@extensions.gnome-shell.fifi.org", "name": "Weeks Start on Monday Again...", "pname": "weeks-start-on-monday-again", "description": "... or maybe not, and that's why the start day is configurable in the preferences.\n\nThis is an updated version of the \"Weeks Start on Monday\" extension for newer Gnome Shells.", "link": "https://extensions.gnome.org/extension/1720/weeks-start-on-monday-again/", "shell_version_map": {"38": {"version": "8", "sha256": "0d84v6rn0k1rpkin0fnj5halfhk0z7mh36s8n3g7y653r0fn76vv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIi4uLiBvciBtYXliZSBub3QsIGFuZCB0aGF0J3Mgd2h5IHRoZSBzdGFydCBkYXkgaXMgY29uZmlndXJhYmxlIGluIHRoZSBwcmVmZXJlbmNlcy5cblxuVGhpcyBpcyBhbiB1cGRhdGVkIHZlcnNpb24gb2YgdGhlIFwiV2Vla3MgU3RhcnQgb24gTW9uZGF5XCIgZXh0ZW5zaW9uIGZvciBuZXdlciBHbm9tZSBTaGVsbHMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAid2Vla3Mtc3RhcnQtb24tbW9uZGF5IiwKICAibmFtZSI6ICJXZWVrcyBTdGFydCBvbiBNb25kYXkgQWdhaW4uLi4iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud2Vla3Mtc3RhcnQtb24tbW9uZGF5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjMzLjkwIiwKICAgICIzLjM2IiwKICAgICIzLjM1LjkyIiwKICAgICIzLjM4IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRi1pLWYvd2Vla3Mtc3RhcnQtb24tbW9uZGF5IiwKICAidXVpZCI6ICJ3ZWVrcy1zdGFydC1vbi1tb25kYXlAZXh0ZW5zaW9ucy5nbm9tZS1zaGVsbC5maWZpLm9yZyIsCiAgInZjc19yZXZpc2lvbiI6ICJ2OC0wLWc4M2RlNGE0IiwKICAidmVyc2lvbiI6IDgKfQ=="}, "40": {"version": "8", "sha256": "0d84v6rn0k1rpkin0fnj5halfhk0z7mh36s8n3g7y653r0fn76vv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIi4uLiBvciBtYXliZSBub3QsIGFuZCB0aGF0J3Mgd2h5IHRoZSBzdGFydCBkYXkgaXMgY29uZmlndXJhYmxlIGluIHRoZSBwcmVmZXJlbmNlcy5cblxuVGhpcyBpcyBhbiB1cGRhdGVkIHZlcnNpb24gb2YgdGhlIFwiV2Vla3MgU3RhcnQgb24gTW9uZGF5XCIgZXh0ZW5zaW9uIGZvciBuZXdlciBHbm9tZSBTaGVsbHMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAid2Vla3Mtc3RhcnQtb24tbW9uZGF5IiwKICAibmFtZSI6ICJXZWVrcyBTdGFydCBvbiBNb25kYXkgQWdhaW4uLi4iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud2Vla3Mtc3RhcnQtb24tbW9uZGF5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjMzLjkwIiwKICAgICIzLjM2IiwKICAgICIzLjM1LjkyIiwKICAgICIzLjM4IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRi1pLWYvd2Vla3Mtc3RhcnQtb24tbW9uZGF5IiwKICAidXVpZCI6ICJ3ZWVrcy1zdGFydC1vbi1tb25kYXlAZXh0ZW5zaW9ucy5nbm9tZS1zaGVsbC5maWZpLm9yZyIsCiAgInZjc19yZXZpc2lvbiI6ICJ2OC0wLWc4M2RlNGE0IiwKICAidmVyc2lvbiI6IDgKfQ=="}}}
 , {"uuid": "wintile@nowsci.com", "name": "WinTile: Windows 10 window tiling for GNOME", "pname": "wintile-windows-10-window-tiling-for-gnome", "description": "[NOTE] When upgrading to V7, you may get an ERROR. Log out and back in and V7 will begin to work.\n\nWinTile is a hotkey driven window tiling system for GNOME that imitates the standard Win-Arrow keys of Windows 10, allowing you to maximize, maximize to sides, or 1/4 sized to corner across a single or multiple monitors using just Super+Arrow.\n\nAs of v3, WinTile also supports:\n- 2, 3, or 4 columns for standard or ultrawide monitors\n- Top/bottom half support\n- Mouse preview and snapping for placing windows\n- Toggling of 'maximize' mode, which adds/removes GNOME animations\n\nAs of v6, supports installs in GNOME 3.38+\n\nAs of v7, supports installs in GNOME 40+", "link": "https://extensions.gnome.org/extension/1723/wintile-windows-10-window-tiling-for-gnome/", "shell_version_map": {"38": {"version": "7", "sha256": "1nx0psgaj33ipfsnxinvz2vjmdhhvms0bqdflhmkbh1003m6103x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIltOT1RFXSBXaGVuIHVwZ3JhZGluZyB0byBWNywgeW91IG1heSBnZXQgYW4gRVJST1IuIExvZyBvdXQgYW5kIGJhY2sgaW4gYW5kIFY3IHdpbGwgYmVnaW4gdG8gd29yay5cblxuV2luVGlsZSBpcyBhIGhvdGtleSBkcml2ZW4gd2luZG93IHRpbGluZyBzeXN0ZW0gZm9yIEdOT01FIHRoYXQgaW1pdGF0ZXMgdGhlIHN0YW5kYXJkIFdpbi1BcnJvdyBrZXlzIG9mIFdpbmRvd3MgMTAsIGFsbG93aW5nIHlvdSB0byBtYXhpbWl6ZSwgbWF4aW1pemUgdG8gc2lkZXMsIG9yIDEvNCBzaXplZCB0byBjb3JuZXIgYWNyb3NzIGEgc2luZ2xlIG9yIG11bHRpcGxlIG1vbml0b3JzIHVzaW5nIGp1c3QgU3VwZXIrQXJyb3cuXG5cbkFzIG9mIHYzLCBXaW5UaWxlIGFsc28gc3VwcG9ydHM6XG4tIDIsIDMsIG9yIDQgY29sdW1ucyBmb3Igc3RhbmRhcmQgb3IgdWx0cmF3aWRlIG1vbml0b3JzXG4tIFRvcC9ib3R0b20gaGFsZiBzdXBwb3J0XG4tIE1vdXNlIHByZXZpZXcgYW5kIHNuYXBwaW5nIGZvciBwbGFjaW5nIHdpbmRvd3Ncbi0gVG9nZ2xpbmcgb2YgJ21heGltaXplJyBtb2RlLCB3aGljaCBhZGRzL3JlbW92ZXMgR05PTUUgYW5pbWF0aW9uc1xuXG5BcyBvZiB2Niwgc3VwcG9ydHMgaW5zdGFsbHMgaW4gR05PTUUgMy4zOCtcblxuQXMgb2YgdjcsIHN1cHBvcnRzIGluc3RhbGxzIGluIEdOT01FIDQwKyIsCiAgIm5hbWUiOiAiV2luVGlsZTogV2luZG93cyAxMCB3aW5kb3cgdGlsaW5nIGZvciBHTk9NRSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Ztc3RyYXQvd2ludGlsZSIsCiAgInV1aWQiOiAid2ludGlsZUBub3dzY2kuY29tIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "40": {"version": "7", "sha256": "1nx0psgaj33ipfsnxinvz2vjmdhhvms0bqdflhmkbh1003m6103x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIltOT1RFXSBXaGVuIHVwZ3JhZGluZyB0byBWNywgeW91IG1heSBnZXQgYW4gRVJST1IuIExvZyBvdXQgYW5kIGJhY2sgaW4gYW5kIFY3IHdpbGwgYmVnaW4gdG8gd29yay5cblxuV2luVGlsZSBpcyBhIGhvdGtleSBkcml2ZW4gd2luZG93IHRpbGluZyBzeXN0ZW0gZm9yIEdOT01FIHRoYXQgaW1pdGF0ZXMgdGhlIHN0YW5kYXJkIFdpbi1BcnJvdyBrZXlzIG9mIFdpbmRvd3MgMTAsIGFsbG93aW5nIHlvdSB0byBtYXhpbWl6ZSwgbWF4aW1pemUgdG8gc2lkZXMsIG9yIDEvNCBzaXplZCB0byBjb3JuZXIgYWNyb3NzIGEgc2luZ2xlIG9yIG11bHRpcGxlIG1vbml0b3JzIHVzaW5nIGp1c3QgU3VwZXIrQXJyb3cuXG5cbkFzIG9mIHYzLCBXaW5UaWxlIGFsc28gc3VwcG9ydHM6XG4tIDIsIDMsIG9yIDQgY29sdW1ucyBmb3Igc3RhbmRhcmQgb3IgdWx0cmF3aWRlIG1vbml0b3JzXG4tIFRvcC9ib3R0b20gaGFsZiBzdXBwb3J0XG4tIE1vdXNlIHByZXZpZXcgYW5kIHNuYXBwaW5nIGZvciBwbGFjaW5nIHdpbmRvd3Ncbi0gVG9nZ2xpbmcgb2YgJ21heGltaXplJyBtb2RlLCB3aGljaCBhZGRzL3JlbW92ZXMgR05PTUUgYW5pbWF0aW9uc1xuXG5BcyBvZiB2Niwgc3VwcG9ydHMgaW5zdGFsbHMgaW4gR05PTUUgMy4zOCtcblxuQXMgb2YgdjcsIHN1cHBvcnRzIGluc3RhbGxzIGluIEdOT01FIDQwKyIsCiAgIm5hbWUiOiAiV2luVGlsZTogV2luZG93cyAxMCB3aW5kb3cgdGlsaW5nIGZvciBHTk9NRSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Ztc3RyYXQvd2ludGlsZSIsCiAgInV1aWQiOiAid2ludGlsZUBub3dzY2kuY29tIiwKICAidmVyc2lvbiI6IDcKfQ=="}}}
+, {"uuid": "focusli@armonge.info", "name": "Focusli", "pname": "focusli", "description": "Improve focus and increase your productive by listening to different sounds", "link": "https://extensions.gnome.org/extension/1726/focusli/", "shell_version_map": {"40": {"version": "7", "sha256": "0061krhxrp5wrqi4dflmd8anw3szqq335y2z2ka48pf662vkp7km", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkltcHJvdmUgZm9jdXMgYW5kIGluY3JlYXNlIHlvdXIgcHJvZHVjdGl2ZSBieSBsaXN0ZW5pbmcgdG8gZGlmZmVyZW50IHNvdW5kcyIsCiAgIm5hbWUiOiAiRm9jdXNsaSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hcm1vbmdlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1mb2N1c2xpIiwKICAidXVpZCI6ICJmb2N1c2xpQGFybW9uZ2UuaW5mbyIsCiAgInZlcnNpb24iOiA3Cn0="}}}
 , {"uuid": "gtktitlebar@velitasali.github.io", "name": "GTK Title Bar", "pname": "gtk-title-bar", "description": "Remove title bars for non-GTK apps with minimal interference with the default workflow", "link": "https://extensions.gnome.org/extension/1732/gtk-title-bar/", "shell_version_map": {"40": {"version": "8", "sha256": "1lynrwjc6ps8s84y2zjf7rfc0shq84c7dz17p83h4yzd3hl9cqri", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSB0aXRsZSBiYXJzIGZvciBub24tR1RLIGFwcHMgd2l0aCBtaW5pbWFsIGludGVyZmVyZW5jZSB3aXRoIHRoZSBkZWZhdWx0IHdvcmtmbG93IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3RrdGl0bGViYXIiLAogICJuYW1lIjogIkdUSyBUaXRsZSBCYXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZ3RrdGl0bGViYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdmVsaXRhc2FsaS9ndGt0aXRsZWJhciIsCiAgInV1aWQiOiAiZ3RrdGl0bGViYXJAdmVsaXRhc2FsaS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogOAp9"}}}
 , {"uuid": "quicklists@maestroschan.fr", "name": "Quicklists", "pname": "quicklists", "description": "Add dynamic quicklists to app icons, such as file manager bookmarks and recent files.", "link": "https://extensions.gnome.org/extension/1747/quicklists/", "shell_version_map": {"38": {"version": "7", "sha256": "1cck1k1kf116z85m5fby0hhaa7fplhryv0nv1pdc3h8200i39580", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBkeW5hbWljIHF1aWNrbGlzdHMgdG8gYXBwIGljb25zLCBzdWNoIGFzIGZpbGUgbWFuYWdlciBib29rbWFya3MgYW5kIHJlY2VudCBmaWxlcy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJxdWlja2xpc3RzIiwKICAibmFtZSI6ICJRdWlja2xpc3RzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnF1aWNrbGlzdHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tYW9zY2hhbnovcXVpY2tsaXN0cy1nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogInF1aWNrbGlzdHNAbWFlc3Ryb3NjaGFuLmZyIiwKICAidmVyc2lvbiI6IDcKfQ=="}}}
 , {"uuid": "lan-ip-address@mrhuber.com", "name": "LAN IP Address", "pname": "lan-ip-address", "description": "Simple extension to show your LAN IP address on the GNOME panel.  This is the address that other computers on your LAN would use to connect to your computer. \n\nDoes not show loopback addresses (127.0.0.0/8) or Docker bridge networks.\n\nDoes not show your Internet (public) IP address unless you are directly connected to the Internet with no intermediate NAT router (uncommon, except for devices with built-in LTE data connections).\n\nThis extension also respects your privacy and bandwidth, as it makes absolutely zero requests to the Internet and sends zero packets to the Internet.  The plugin gets its information from your local routing table (output of `ip route`) and only displays the result in the GNOME panel, and this information never leaves your computer.", "link": "https://extensions.gnome.org/extension/1762/lan-ip-address/", "shell_version_map": {"38": {"version": "7", "sha256": "0yfh5xzh9msdhpx1cxxryzjb07p9rvgfvcnyf41mq5p73b2j4m22", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdG8gc2hvdyB5b3VyIExBTiBJUCBhZGRyZXNzIG9uIHRoZSBHTk9NRSBwYW5lbC4gIFRoaXMgaXMgdGhlIGFkZHJlc3MgdGhhdCBvdGhlciBjb21wdXRlcnMgb24geW91ciBMQU4gd291bGQgdXNlIHRvIGNvbm5lY3QgdG8geW91ciBjb21wdXRlci4gXG5cbkRvZXMgbm90IHNob3cgbG9vcGJhY2sgYWRkcmVzc2VzICgxMjcuMC4wLjAvOCkgb3IgRG9ja2VyIGJyaWRnZSBuZXR3b3Jrcy5cblxuRG9lcyBub3Qgc2hvdyB5b3VyIEludGVybmV0IChwdWJsaWMpIElQIGFkZHJlc3MgdW5sZXNzIHlvdSBhcmUgZGlyZWN0bHkgY29ubmVjdGVkIHRvIHRoZSBJbnRlcm5ldCB3aXRoIG5vIGludGVybWVkaWF0ZSBOQVQgcm91dGVyICh1bmNvbW1vbiwgZXhjZXB0IGZvciBkZXZpY2VzIHdpdGggYnVpbHQtaW4gTFRFIGRhdGEgY29ubmVjdGlvbnMpLlxuXG5UaGlzIGV4dGVuc2lvbiBhbHNvIHJlc3BlY3RzIHlvdXIgcHJpdmFjeSBhbmQgYmFuZHdpZHRoLCBhcyBpdCBtYWtlcyBhYnNvbHV0ZWx5IHplcm8gcmVxdWVzdHMgdG8gdGhlIEludGVybmV0IGFuZCBzZW5kcyB6ZXJvIHBhY2tldHMgdG8gdGhlIEludGVybmV0LiAgVGhlIHBsdWdpbiBnZXRzIGl0cyBpbmZvcm1hdGlvbiBmcm9tIHlvdXIgbG9jYWwgcm91dGluZyB0YWJsZSAob3V0cHV0IG9mIGBpcCByb3V0ZWApIGFuZCBvbmx5IGRpc3BsYXlzIHRoZSByZXN1bHQgaW4gdGhlIEdOT01FIHBhbmVsLCBhbmQgdGhpcyBpbmZvcm1hdGlvbiBuZXZlciBsZWF2ZXMgeW91ciBjb21wdXRlci4iLAogICJuYW1lIjogIkxBTiBJUCBBZGRyZXNzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0pvc2hvbGl0aC9nbm9tZS1leHRlbnNpb24tbGFuLWlwLWFkZHJlc3MiLAogICJ1dWlkIjogImxhbi1pcC1hZGRyZXNzQG1yaHViZXIuY29tIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "40": {"version": "7", "sha256": "0yfh5xzh9msdhpx1cxxryzjb07p9rvgfvcnyf41mq5p73b2j4m22", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdG8gc2hvdyB5b3VyIExBTiBJUCBhZGRyZXNzIG9uIHRoZSBHTk9NRSBwYW5lbC4gIFRoaXMgaXMgdGhlIGFkZHJlc3MgdGhhdCBvdGhlciBjb21wdXRlcnMgb24geW91ciBMQU4gd291bGQgdXNlIHRvIGNvbm5lY3QgdG8geW91ciBjb21wdXRlci4gXG5cbkRvZXMgbm90IHNob3cgbG9vcGJhY2sgYWRkcmVzc2VzICgxMjcuMC4wLjAvOCkgb3IgRG9ja2VyIGJyaWRnZSBuZXR3b3Jrcy5cblxuRG9lcyBub3Qgc2hvdyB5b3VyIEludGVybmV0IChwdWJsaWMpIElQIGFkZHJlc3MgdW5sZXNzIHlvdSBhcmUgZGlyZWN0bHkgY29ubmVjdGVkIHRvIHRoZSBJbnRlcm5ldCB3aXRoIG5vIGludGVybWVkaWF0ZSBOQVQgcm91dGVyICh1bmNvbW1vbiwgZXhjZXB0IGZvciBkZXZpY2VzIHdpdGggYnVpbHQtaW4gTFRFIGRhdGEgY29ubmVjdGlvbnMpLlxuXG5UaGlzIGV4dGVuc2lvbiBhbHNvIHJlc3BlY3RzIHlvdXIgcHJpdmFjeSBhbmQgYmFuZHdpZHRoLCBhcyBpdCBtYWtlcyBhYnNvbHV0ZWx5IHplcm8gcmVxdWVzdHMgdG8gdGhlIEludGVybmV0IGFuZCBzZW5kcyB6ZXJvIHBhY2tldHMgdG8gdGhlIEludGVybmV0LiAgVGhlIHBsdWdpbiBnZXRzIGl0cyBpbmZvcm1hdGlvbiBmcm9tIHlvdXIgbG9jYWwgcm91dGluZyB0YWJsZSAob3V0cHV0IG9mIGBpcCByb3V0ZWApIGFuZCBvbmx5IGRpc3BsYXlzIHRoZSByZXN1bHQgaW4gdGhlIEdOT01FIHBhbmVsLCBhbmQgdGhpcyBpbmZvcm1hdGlvbiBuZXZlciBsZWF2ZXMgeW91ciBjb21wdXRlci4iLAogICJuYW1lIjogIkxBTiBJUCBBZGRyZXNzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0pvc2hvbGl0aC9nbm9tZS1leHRlbnNpb24tbGFuLWlwLWFkZHJlc3MiLAogICJ1dWlkIjogImxhbi1pcC1hZGRyZXNzQG1yaHViZXIuY29tIiwKICAidmVyc2lvbiI6IDcKfQ=="}}}
 , {"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": "15", "sha256": "0g2m7gfdgbd1fcnxk6jldw50n4962wgcmwvmgqxdd7xna5a73mrh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlck1vbjogYW4gZXh0ZW5zaW9uIGZvciBtb25pdG9yaW5nIGFuZCBtYW5hZ2luZyBzeXN0ZW1kIHNlcnZpY2VzLCBjcm9uIGpvYnMsIGRvY2tlciBhbmQgcG9kbWFuIGNvbnRhaW5lcnMiLAogICJuYW1lIjogIlNlck1vbjogU2VydmljZSBNb25pdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNlcm1vbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9yb3ZlbGxpcGFvbG8vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXNlcm1vbiIsCiAgInV1aWQiOiAic2VybW9uQHJvdmVsbGlwYW9sby1nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTUKfQ=="}, "40": {"version": "15", "sha256": "0g2m7gfdgbd1fcnxk6jldw50n4962wgcmwvmgqxdd7xna5a73mrh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlck1vbjogYW4gZXh0ZW5zaW9uIGZvciBtb25pdG9yaW5nIGFuZCBtYW5hZ2luZyBzeXN0ZW1kIHNlcnZpY2VzLCBjcm9uIGpvYnMsIGRvY2tlciBhbmQgcG9kbWFuIGNvbnRhaW5lcnMiLAogICJuYW1lIjogIlNlck1vbjogU2VydmljZSBNb25pdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNlcm1vbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9yb3ZlbGxpcGFvbG8vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXNlcm1vbiIsCiAgInV1aWQiOiAic2VybW9uQHJvdmVsbGlwYW9sby1nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTUKfQ=="}}}
-, {"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": "36", "sha256": "0xqvzzfixd6fpn1pzda7a6byn4ys1wii10ypa1rssf27kx3ii6l3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zbGF0ZSB3b3JkIG9uIHRoZSBzY3JlZW4uXG5EZWZhdWx0IHdlYiBhZGRyZXNzIGlzIHRyYW5zbGF0ZS5nb29nbGUuY29tLCB5b3UgY2FuIGFkZCB0aGUgd2ViIGFkZHJlc3MgZm9yIHlvdXIgb3duIGxhbmd1YWdlLiBBbHNvIHlvdSBjYW4gY29udHJpYnV0ZSB5b3VyIHdlYiBhZGRyZXNzIHRvIG15IGdpdGh1YiByZXBvLlxuVXNlIGhvdGtleSBDdHJsK0FsdCtqIHRvIHRvZ2dsZSB0aGUgZnVuY3Rpb24uXG5Vc2UgaG90a2V5IEN0cmwrQWx0K28gdG8gc2hvdyBwb3B1cCB3aW5kb3ciLAogICJuYW1lIjogIlNjcmVlbiB3b3JkIHRyYW5zbGF0ZSIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAic3VuLnd4Z0BnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3Vud3hnL2dub21lLXNoZWxsLWV4dGVuc2lvbi1kaWN0IiwKICAidXVpZCI6ICJkaWN0QHN1bi53eGdAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDM2Cn0="}}}
+, {"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": "37", "sha256": "1b97yx0a6j43sl7s3mi7kacv71g0zhvyd5dl2h9vm8g3gf375880", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zbGF0ZSB3b3JkIG9uIHRoZSBzY3JlZW4uXG5EZWZhdWx0IHdlYiBhZGRyZXNzIGlzIHRyYW5zbGF0ZS5nb29nbGUuY29tLCB5b3UgY2FuIGFkZCB0aGUgd2ViIGFkZHJlc3MgZm9yIHlvdXIgb3duIGxhbmd1YWdlLiBBbHNvIHlvdSBjYW4gY29udHJpYnV0ZSB5b3VyIHdlYiBhZGRyZXNzIHRvIG15IGdpdGh1YiByZXBvLlxuVXNlIGhvdGtleSBDdHJsK0FsdCtqIHRvIHRvZ2dsZSB0aGUgZnVuY3Rpb24uXG5Vc2UgaG90a2V5IEN0cmwrQWx0K28gdG8gc2hvdyBwb3B1cCB3aW5kb3ciLAogICJuYW1lIjogIlNjcmVlbiB3b3JkIHRyYW5zbGF0ZSIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAic3VuLnd4Z0BnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3Vud3hnL2dub21lLXNoZWxsLWV4dGVuc2lvbi1kaWN0IiwKICAidXVpZCI6ICJkaWN0QHN1bi53eGdAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDM3Cn0="}}}
+, {"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": "5", "sha256": "1nj4k7h872zmx4q44z9qzg8rxx1sqqbj8rd4am5xkn1zc8y65kg6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN0YXR1cyBpbmRpY2F0b3IgZm9yIEdhbWVNb2RlIiwKICAiZXh0ZW5zaW9uLWlkIjogImdhbWVtb2RlIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ2FtZW1vZGUtZXh0ZW5zaW9uIiwKICAibmFtZSI6ICJHYW1lTW9kZSIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJja2VsbG5lckByZWRoYXQuY29tIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdhbWVtb2RlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dpY21vL2dhbWVtb2RlLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiZ2FtZW1vZGVAY2hyaXN0aWFuLmtlbGxuZXIubWUiLAogICJ2ZXJzaW9uIjogNQp9"}, "40": {"version": "5", "sha256": "1nj4k7h872zmx4q44z9qzg8rxx1sqqbj8rd4am5xkn1zc8y65kg6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN0YXR1cyBpbmRpY2F0b3IgZm9yIEdhbWVNb2RlIiwKICAiZXh0ZW5zaW9uLWlkIjogImdhbWVtb2RlIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ2FtZW1vZGUtZXh0ZW5zaW9uIiwKICAibmFtZSI6ICJHYW1lTW9kZSIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJja2VsbG5lckByZWRoYXQuY29tIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdhbWVtb2RlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dpY21vL2dhbWVtb2RlLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiZ2FtZW1vZGVAY2hyaXN0aWFuLmtlbGxuZXIubWUiLAogICJ2ZXJzaW9uIjogNQp9"}}}
 , {"uuid": "unredirect@vaina.lt", "name": "Disable unredirect fullscreen windows", "pname": "disable-unredirect-fullscreen-windows", "description": "Disables unredirect fullscreen windows in gnome-shell to workaround https://bugzilla.redhat.com/show_bug.cgi?id=767397 and https://bugzilla.gnome.org/show_bug.cgi?id=738719", "link": "https://extensions.gnome.org/extension/1873/disable-unredirect-fullscreen-windows/", "shell_version_map": {"38": {"version": "3", "sha256": "1xy3rdby56645028khwjp3ir6pkj1sany8sqysm94pb0pha7q3rm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGVzIHVucmVkaXJlY3QgZnVsbHNjcmVlbiB3aW5kb3dzIGluIGdub21lLXNoZWxsIHRvIHdvcmthcm91bmQgaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD03NjczOTcgYW5kIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg3MTkiLAogICJuYW1lIjogIkRpc2FibGUgdW5yZWRpcmVjdCBmdWxsc2NyZWVuIHdpbmRvd3MiLAogICJvcmlnaW5hbC1hdXRob3JzIjogIkthemltaWVyYXMgVmFpbmEiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMiIsCiAgICAiMy40IiwKICAgICIzLjYiLAogICAgIjMuOCIsCiAgICAiMy4xMCIsCiAgICAiMy4xMiIsCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4zMCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rYXp5c21hc3Rlci9nbm9tZS1zaGVsbC1leHRlbnNpb24tZGlzYWJsZS11bnJlZGlyZWN0IiwKICAidXVpZCI6ICJ1bnJlZGlyZWN0QHZhaW5hLmx0IiwKICAidmVyc2lvbiI6IDMKfQ=="}, "40": {"version": "3", "sha256": "1xy3rdby56645028khwjp3ir6pkj1sany8sqysm94pb0pha7q3rm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGVzIHVucmVkaXJlY3QgZnVsbHNjcmVlbiB3aW5kb3dzIGluIGdub21lLXNoZWxsIHRvIHdvcmthcm91bmQgaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD03NjczOTcgYW5kIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg3MTkiLAogICJuYW1lIjogIkRpc2FibGUgdW5yZWRpcmVjdCBmdWxsc2NyZWVuIHdpbmRvd3MiLAogICJvcmlnaW5hbC1hdXRob3JzIjogIkthemltaWVyYXMgVmFpbmEiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMiIsCiAgICAiMy40IiwKICAgICIzLjYiLAogICAgIjMuOCIsCiAgICAiMy4xMCIsCiAgICAiMy4xMiIsCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4zMCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rYXp5c21hc3Rlci9nbm9tZS1zaGVsbC1leHRlbnNpb24tZGlzYWJsZS11bnJlZGlyZWN0IiwKICAidXVpZCI6ICJ1bnJlZGlyZWN0QHZhaW5hLmx0IiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
-, {"uuid": "krypto@sereneblue", "name": "krypto", "pname": "krypto", "description": "Display cryptocurrency prices in top bar", "link": "https://extensions.gnome.org/extension/1913/krypto/", "shell_version_map": {"38": {"version": "5", "sha256": "0yn7ykknismw03lwi4m6a37c00cpbdysg9c437qrkvvq5givgwfs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgY3J5cHRvY3VycmVuY3kgcHJpY2VzIGluIHRvcCBiYXIiLAogICJuYW1lIjogImtyeXB0byIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NlcmVuZWJsdWUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWtyeXB0byIsCiAgInV1aWQiOiAia3J5cHRvQHNlcmVuZWJsdWUiLAogICJ2ZXJzaW9uIjogNQp9"}, "40": {"version": "6", "sha256": "03pxbcw9csbs9bv6avh8yaf1lhai6ij6997xw7b87frl272w2dac", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgY3J5cHRvY3VycmVuY3kgcHJpY2VzIGluIHRvcCBiYXIiLAogICJuYW1lIjogImtyeXB0byIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NlcmVuZWJsdWUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWtyeXB0byIsCiAgInV1aWQiOiAia3J5cHRvQHNlcmVuZWJsdWUiLAogICJ2ZXJzaW9uIjogNgp9"}}}
+, {"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": "7", "sha256": "0018xdahl3900j9dqjs2gqnrrknrdx78vp8rkmd3v4276ampx9cb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyeXB0b2N1cnJlbmN5IHV0aWxpdHkiLAogICJuYW1lIjogImtyeXB0byIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zZXJlbmVibHVlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1rcnlwdG8iLAogICJ1dWlkIjogImtyeXB0b0BzZXJlbmVibHVlIiwKICAidmVyc2lvbiI6IDcKfQ=="}}}
 , {"uuid": "cmus-status@yagreg7.gmail.com", "name": "cmus status", "pname": "cmus-status", "description": "Shows cmus status", "link": "https://extensions.gnome.org/extension/1934/cmus-status/", "shell_version_map": {"38": {"version": "8", "sha256": "1a6b10kirzbjlllcnffznjlljicah172kpvs0p8rmwhcpn88i8hx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGNtdXMgc3RhdHVzIiwKICAibmFtZSI6ICJjbXVzIHN0YXR1cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jbXVzLXN0YXR1cy5nc2NoZW1hLnhtbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0dyZWdUaGVNYWRNb25rL2dub21lLWNtdXMtc3RhdHVzIiwKICAidXVpZCI6ICJjbXVzLXN0YXR1c0B5YWdyZWc3LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA4Cn0="}}}
-, {"uuid": "no-title-bar@jonaspoehler.de", "name": "No Title Bar - Forked", "pname": "no-title-bar-forked", "description": "No Title Bar removes the title bar from non-GTK applications and moves the window title and buttons to the top panel.\n\nTitlebars are also hidden for Wayland-native clients that don't use CSD. Some of the options may be incompatible with this. For issues on Wayland please visit github!\n\nThis is a fork of https://extensions.gnome.org/extension/1267/no-title-bar/ with added compatibility for Gnome 3.32 and higher (check version availability for details).\n\nThis extension depends on some Xorg utilities. To install them:\n\n⚫ Debian/Ubuntu: apt install x11-utils\n⚫ Fedora/RHEL: dnf install xorg-x11-utils\n⚫ Arch: pacman -S xorg-xprop", "link": "https://extensions.gnome.org/extension/2015/no-title-bar-forked/", "shell_version_map": {"38": {"version": "5", "sha256": "1c4i183nmhg1wd49a3jh33wb708qb168xg3b35d0idfxhiwcjc8p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5vIFRpdGxlIEJhciByZW1vdmVzIHRoZSB0aXRsZSBiYXIgZnJvbSBub24tR1RLIGFwcGxpY2F0aW9ucyBhbmQgbW92ZXMgdGhlIHdpbmRvdyB0aXRsZSBhbmQgYnV0dG9ucyB0byB0aGUgdG9wIHBhbmVsLlxuXG5UaXRsZWJhcnMgYXJlIGFsc28gaGlkZGVuIGZvciBXYXlsYW5kLW5hdGl2ZSBjbGllbnRzIHRoYXQgZG9uJ3QgdXNlIENTRC4gU29tZSBvZiB0aGUgb3B0aW9ucyBtYXkgYmUgaW5jb21wYXRpYmxlIHdpdGggdGhpcy4gRm9yIGlzc3VlcyBvbiBXYXlsYW5kIHBsZWFzZSB2aXNpdCBnaXRodWIhXG5cblRoaXMgaXMgYSBmb3JrIG9mIGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzEyNjcvbm8tdGl0bGUtYmFyLyB3aXRoIGFkZGVkIGNvbXBhdGliaWxpdHkgZm9yIEdub21lIDMuMzIgYW5kIGhpZ2hlciAoY2hlY2sgdmVyc2lvbiBhdmFpbGFiaWxpdHkgZm9yIGRldGFpbHMpLlxuXG5UaGlzIGV4dGVuc2lvbiBkZXBlbmRzIG9uIHNvbWUgWG9yZyB1dGlsaXRpZXMuIFRvIGluc3RhbGwgdGhlbTpcblxuXHUyNmFiIERlYmlhbi9VYnVudHU6IGFwdCBpbnN0YWxsIHgxMS11dGlsc1xuXHUyNmFiIEZlZG9yYS9SSEVMOiBkbmYgaW5zdGFsbCB4b3JnLXgxMS11dGlsc1xuXHUyNmFiIEFyY2g6IHBhY21hbiAtUyB4b3JnLXhwcm9wIiwKICAibmFtZSI6ICJObyBUaXRsZSBCYXIgLSBGb3JrZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wb2VobGVyai9uby10aXRsZS1iYXIiLAogICJ1dWlkIjogIm5vLXRpdGxlLWJhckBqb25hc3BvZWhsZXIuZGUiLAogICJ2ZXJzaW9uIjogNQp9"}}}
+, {"uuid": "no-title-bar@jonaspoehler.de", "name": "No Title Bar - Forked", "pname": "no-title-bar-forked", "description": "No Title Bar removes the title bar from non-GTK applications and moves the window title and buttons to the top panel.\n\nTitlebars are also hidden for Wayland-native clients that don't use CSD. Some of the options may be incompatible with this. For issues on Wayland please visit github!\n\nThis is a fork of https://extensions.gnome.org/extension/1267/no-title-bar/ with added compatibility for Gnome 3.32+.\n\nThis extension depends on some Xorg utilities. To install them:\n\n⚫ Debian/Ubuntu: apt install x11-utils\n⚫ Fedora/RHEL: dnf install xorg-x11-utils\n⚫ Arch: pacman -S xorg-xprop", "link": "https://extensions.gnome.org/extension/2015/no-title-bar-forked/", "shell_version_map": {"38": {"version": "5", "sha256": "0kch8yra13813gg3wa90lm57skqshmj3j1147lrqwhl9va9rk4q6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5vIFRpdGxlIEJhciByZW1vdmVzIHRoZSB0aXRsZSBiYXIgZnJvbSBub24tR1RLIGFwcGxpY2F0aW9ucyBhbmQgbW92ZXMgdGhlIHdpbmRvdyB0aXRsZSBhbmQgYnV0dG9ucyB0byB0aGUgdG9wIHBhbmVsLlxuXG5UaXRsZWJhcnMgYXJlIGFsc28gaGlkZGVuIGZvciBXYXlsYW5kLW5hdGl2ZSBjbGllbnRzIHRoYXQgZG9uJ3QgdXNlIENTRC4gU29tZSBvZiB0aGUgb3B0aW9ucyBtYXkgYmUgaW5jb21wYXRpYmxlIHdpdGggdGhpcy4gRm9yIGlzc3VlcyBvbiBXYXlsYW5kIHBsZWFzZSB2aXNpdCBnaXRodWIhXG5cblRoaXMgaXMgYSBmb3JrIG9mIGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzEyNjcvbm8tdGl0bGUtYmFyLyB3aXRoIGFkZGVkIGNvbXBhdGliaWxpdHkgZm9yIEdub21lIDMuMzIrLlxuXG5UaGlzIGV4dGVuc2lvbiBkZXBlbmRzIG9uIHNvbWUgWG9yZyB1dGlsaXRpZXMuIFRvIGluc3RhbGwgdGhlbTpcblxuXHUyNmFiIERlYmlhbi9VYnVudHU6IGFwdCBpbnN0YWxsIHgxMS11dGlsc1xuXHUyNmFiIEZlZG9yYS9SSEVMOiBkbmYgaW5zdGFsbCB4b3JnLXgxMS11dGlsc1xuXHUyNmFiIEFyY2g6IHBhY21hbiAtUyB4b3JnLXhwcm9wIiwKICAibmFtZSI6ICJObyBUaXRsZSBCYXIgLSBGb3JrZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wb2VobGVyai9uby10aXRsZS1iYXIiLAogICJ1dWlkIjogIm5vLXRpdGxlLWJhckBqb25hc3BvZWhsZXIuZGUiLAogICJ2ZXJzaW9uIjogNQp9"}, "40": {"version": "6", "sha256": "1plnj999qynsfvab6s01rfrdvw6m0s19b4zirhmlqrpax9vjl3zm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5vIFRpdGxlIEJhciByZW1vdmVzIHRoZSB0aXRsZSBiYXIgZnJvbSBub24tR1RLIGFwcGxpY2F0aW9ucyBhbmQgbW92ZXMgdGhlIHdpbmRvdyB0aXRsZSBhbmQgYnV0dG9ucyB0byB0aGUgdG9wIHBhbmVsLlxuXG5UaXRsZWJhcnMgYXJlIGFsc28gaGlkZGVuIGZvciBXYXlsYW5kLW5hdGl2ZSBjbGllbnRzIHRoYXQgZG9uJ3QgdXNlIENTRC4gU29tZSBvZiB0aGUgb3B0aW9ucyBtYXkgYmUgaW5jb21wYXRpYmxlIHdpdGggdGhpcy4gRm9yIGlzc3VlcyBvbiBXYXlsYW5kIHBsZWFzZSB2aXNpdCBnaXRodWIhXG5cblRoaXMgaXMgYSBmb3JrIG9mIGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzEyNjcvbm8tdGl0bGUtYmFyLyB3aXRoIGFkZGVkIGNvbXBhdGliaWxpdHkgZm9yIEdub21lIDMuMzIrLlxuXG5UaGlzIGV4dGVuc2lvbiBkZXBlbmRzIG9uIHNvbWUgWG9yZyB1dGlsaXRpZXMuIFRvIGluc3RhbGwgdGhlbTpcblxuXHUyNmFiIERlYmlhbi9VYnVudHU6IGFwdCBpbnN0YWxsIHgxMS11dGlsc1xuXHUyNmFiIEZlZG9yYS9SSEVMOiBkbmYgaW5zdGFsbCB4b3JnLXgxMS11dGlsc1xuXHUyNmFiIEFyY2g6IHBhY21hbiAtUyB4b3JnLXhwcm9wIiwKICAibmFtZSI6ICJObyBUaXRsZSBCYXIgLSBGb3JrZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcG9laGxlcmovbm8tdGl0bGUtYmFyIiwKICAidXVpZCI6ICJuby10aXRsZS1iYXJAam9uYXNwb2VobGVyLmRlIiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
 , {"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 overview if it's showing.", "link": "https://extensions.gnome.org/extension/2036/show-application-view-when-workspace-empty/", "shell_version_map": {"38": {"version": "16", "sha256": "11l8p1f62kf73jwq1idhqanjhmml6cwkffy1brqihczvg88pdzdy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIHRoZSBhcHBsaWNhdGlvbiB2aWV3IHdoZW4gdGhlIHdvcmtzcGFjZSBpcyBvciBiZWNvbWVzIGVtcHR5LCBzdWNoIGFzIHN3aXRjaGluZyB0byBhbiBlbXB0eSB3b3Jrc3BhY2UsIHdoZW4gYWxsIHdpbmRvd3Mgb24gYSB3b3Jrc3BhY2UgYXJlIGNsb3NlZCwgb3IgYWZ0ZXIgbG9naW4uIFN0YXJ0aW5nIGFwcGxpY2F0aW9ucyBvciBzd2l0Y2hpbmcgdG8gYSB3b3Jrc3BhY2Ugd2l0aCBvcGVuIHdpbmRvd3Mgd2lsbCBoaWRlIHRoZSBvdmVydmlldyBpZiBpdCdzIHNob3dpbmcuIiwKICAibmFtZSI6ICJTaG93IEFwcGxpY2F0aW9uIFZpZXcgV2hlbiBXb3Jrc3BhY2UgRW1wdHkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImFwcGxpY2F0aW9uX3ZpZXdfd2hlbl9lbXB0eUBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiAxNgp9"}, "40": {"version": "16", "sha256": "11l8p1f62kf73jwq1idhqanjhmml6cwkffy1brqihczvg88pdzdy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIHRoZSBhcHBsaWNhdGlvbiB2aWV3IHdoZW4gdGhlIHdvcmtzcGFjZSBpcyBvciBiZWNvbWVzIGVtcHR5LCBzdWNoIGFzIHN3aXRjaGluZyB0byBhbiBlbXB0eSB3b3Jrc3BhY2UsIHdoZW4gYWxsIHdpbmRvd3Mgb24gYSB3b3Jrc3BhY2UgYXJlIGNsb3NlZCwgb3IgYWZ0ZXIgbG9naW4uIFN0YXJ0aW5nIGFwcGxpY2F0aW9ucyBvciBzd2l0Y2hpbmcgdG8gYSB3b3Jrc3BhY2Ugd2l0aCBvcGVuIHdpbmRvd3Mgd2lsbCBoaWRlIHRoZSBvdmVydmlldyBpZiBpdCdzIHNob3dpbmcuIiwKICAibmFtZSI6ICJTaG93IEFwcGxpY2F0aW9uIFZpZXcgV2hlbiBXb3Jrc3BhY2UgRW1wdHkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImFwcGxpY2F0aW9uX3ZpZXdfd2hlbl9lbXB0eUBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiAxNgp9"}}}
 , {"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": "9", "sha256": "1m10b1azwvj2b8s12xiwly21if27pcl1x4my411rgy5a5z3qm4j5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHR1cm5zIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBpbnRvIGEgcG9wdXAgbWVudSB3aXRoIGljb25zIGZvciBzZWxlY3RpbmcgZWl0aGVyIEFwcGxpY2F0aW9ucyBvciBXb3Jrc3BhY2VzIGluIHRoZSBPdmVydmlldy4gU2VsZWN0aW5nIHRoZSBzYW1lIHZpZXcgYWdhaW4gd2lsbCBoaWRlIHRoZSBvdmVydmlldy5cblxuVGhpcyBpcyBwYXJ0aWN1bGFybHkgdXNlZnVsIGZvciB0YWJsZXQgdXNlcnMgdGhhdCBmaW5kIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBkaWZmaWN1bHQgdG8gY2xpY2sgb24sIHdoZXJlYXMgYSBtZW51IGNhbiBiZSBtb3JlIGVhc2lseSBpbnZva2VkLiIsCiAgIm5hbWUiOiAiQWN0aXZpdGllcyBJY29uIE1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImFjdGl2aXRpZXNfaWNvbl9tZW51QGZhd3R5dG9vIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "40": {"version": "9", "sha256": "1m10b1azwvj2b8s12xiwly21if27pcl1x4my411rgy5a5z3qm4j5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHR1cm5zIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBpbnRvIGEgcG9wdXAgbWVudSB3aXRoIGljb25zIGZvciBzZWxlY3RpbmcgZWl0aGVyIEFwcGxpY2F0aW9ucyBvciBXb3Jrc3BhY2VzIGluIHRoZSBPdmVydmlldy4gU2VsZWN0aW5nIHRoZSBzYW1lIHZpZXcgYWdhaW4gd2lsbCBoaWRlIHRoZSBvdmVydmlldy5cblxuVGhpcyBpcyBwYXJ0aWN1bGFybHkgdXNlZnVsIGZvciB0YWJsZXQgdXNlcnMgdGhhdCBmaW5kIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBkaWZmaWN1bHQgdG8gY2xpY2sgb24sIHdoZXJlYXMgYSBtZW51IGNhbiBiZSBtb3JlIGVhc2lseSBpbnZva2VkLiIsCiAgIm5hbWUiOiAiQWN0aXZpdGllcyBJY29uIE1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImFjdGl2aXRpZXNfaWNvbl9tZW51QGZhd3R5dG9vIiwKICAidmVyc2lvbiI6IDkKfQ=="}}}
 , {"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": "21", "sha256": "10554hlfv3nlf49av54wwckg2ld4p8pc7vk8s14085shdplwi95n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRhbmdlcm91cyI6IGZhbHNlLAogICJkZXNjcmlwdGlvbiI6ICJzaW1wbGUgZ25vbWUgZXh0ZW5zaW9uIGhlbHBzIHlvdSB0cmFja2luZyBnb2xkIHByaWNlIGluIHJlYWx0aW1lIiwKICAibmFtZSI6ICJHb2xkIFByaWNlIE1vbml0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZ29sZC1wcmljZS1tb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3dvdG1zaHVhaXNpL2dvbGRwcmljZW1vbml0b3IiLAogICJ1dWlkIjogIkdvbGRfUHJpY2VfTW9uaXRvckB3b3Rtc2h1YWlzaV9naXRodWIiLAogICJ2ZXJzaW9uIjogMjEKfQ=="}}}
-, {"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": "22", "sha256": "1qci1zwbp8x0nxbd3ay781gcjd1hpf2ncgpxfclxxgn73pvm4zd9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgaWNvbnMgdG8gdGhlIGRlc2t0b3AuIEZvcmsgb2YgdGhlIG9yaWdpbmFsIERlc2t0b3AgSWNvbnMgZXh0ZW5zaW9uLCB3aXRoIHNldmVyYWwgZW5oYW5jZW1lbnRzIC4iLAogICJuYW1lIjogIkRlc2t0b3AgSWNvbnMgTkcgKERJTkcpIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MC5iZXRhIiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL3Jhc3RlcnNvZnQvZGVza3RvcC1pY29ucy1uZyIsCiAgInV1aWQiOiAiZGluZ0ByYXN0ZXJzb2Z0LmNvbSIsCiAgInZlcnNpb24iOiAyMgp9"}, "40": {"version": "22", "sha256": "1qci1zwbp8x0nxbd3ay781gcjd1hpf2ncgpxfclxxgn73pvm4zd9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgaWNvbnMgdG8gdGhlIGRlc2t0b3AuIEZvcmsgb2YgdGhlIG9yaWdpbmFsIERlc2t0b3AgSWNvbnMgZXh0ZW5zaW9uLCB3aXRoIHNldmVyYWwgZW5oYW5jZW1lbnRzIC4iLAogICJuYW1lIjogIkRlc2t0b3AgSWNvbnMgTkcgKERJTkcpIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MC5iZXRhIiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL3Jhc3RlcnNvZnQvZGVza3RvcC1pY29ucy1uZyIsCiAgInV1aWQiOiAiZGluZ0ByYXN0ZXJzb2Z0LmNvbSIsCiAgInZlcnNpb24iOiAyMgp9"}}}
-, {"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": "5", "sha256": "197wbj5cx8bd30p35r2my8ri140qyf91wahpwf2lx2zmgql6rb1i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJBbmRyZWFzIEFuZ2VyZXIiLAogICJkZXNjcmlwdGlvbiI6ICJGaXhlcyBvcmRlciBvZiBnbm9tZS1zaGVsbCBleHRlbnNpb25zIiwKICAiZXh0ZW5zaW9uLWlkIjogIm9yZGVyLWV4dGVuc2lvbnMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJvcmRlciBleHRlbnNpb25zIiwKICAibmFtZSI6ICJPcmRlciBHbm9tZSBTaGVsbCBleHRlbnNpb25zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIm9yZGVyLWV4dGVuc2lvbnNAd2E0NTU3LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNQp9"}}}
+, {"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": "28", "sha256": "1kdgdlgf41hqqg6kwyn2yrqs4cn1d0bhbdgc43yhkpf93lpr69n0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgaWNvbnMgdG8gdGhlIGRlc2t0b3AuIEZvcmsgb2YgdGhlIG9yaWdpbmFsIERlc2t0b3AgSWNvbnMgZXh0ZW5zaW9uLCB3aXRoIHNldmVyYWwgZW5oYW5jZW1lbnRzIC4iLAogICJuYW1lIjogIkRlc2t0b3AgSWNvbnMgTkcgKERJTkcpIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9yYXN0ZXJzb2Z0L2Rlc2t0b3AtaWNvbnMtbmciLAogICJ1dWlkIjogImRpbmdAcmFzdGVyc29mdC5jb20iLAogICJ2ZXJzaW9uIjogMjgKfQ=="}, "40": {"version": "28", "sha256": "1kdgdlgf41hqqg6kwyn2yrqs4cn1d0bhbdgc43yhkpf93lpr69n0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgaWNvbnMgdG8gdGhlIGRlc2t0b3AuIEZvcmsgb2YgdGhlIG9yaWdpbmFsIERlc2t0b3AgSWNvbnMgZXh0ZW5zaW9uLCB3aXRoIHNldmVyYWwgZW5oYW5jZW1lbnRzIC4iLAogICJuYW1lIjogIkRlc2t0b3AgSWNvbnMgTkcgKERJTkcpIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9yYXN0ZXJzb2Z0L2Rlc2t0b3AtaWNvbnMtbmciLAogICJ1dWlkIjogImRpbmdAcmFzdGVyc29mdC5jb20iLAogICJ2ZXJzaW9uIjogMjgKfQ=="}}}
+, {"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": "7", "sha256": "1b2jrchwkw9i9bbicfxpn57rfj1vjzwmcrs8dzasdsmagh4rydal", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk11dGUgc3BvdGlmeSBhZHMiLAogICJuYW1lIjogIk11dGUgc3BvdGlmeSBhZHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kYW5pZ20vc3BvdGlmeS1hZC1ibG9ja2VyIiwKICAidXVpZCI6ICJzcG90aWZ5LWFkLWJsb2NrQGRhbmlnbS5uZXQiLAogICJ2ZXJzaW9uIjogNwp9"}}}
+, {"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": "9", "sha256": "15nmnf2i3icfk0lc8yb20jxj0irivgw73sh9d94p09v5jv0p9hvm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk11dGUgc3BvdGlmeSBhZHMiLAogICJuYW1lIjogIk11dGUgc3BvdGlmeSBhZHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGFuaWdtL3Nwb3RpZnktYWQtYmxvY2tlciIsCiAgInV1aWQiOiAic3BvdGlmeS1hZC1ibG9ja0BkYW5pZ20ubmV0IiwKICAidmVyc2lvbiI6IDkKfQ=="}, "40": {"version": "9", "sha256": "15nmnf2i3icfk0lc8yb20jxj0irivgw73sh9d94p09v5jv0p9hvm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk11dGUgc3BvdGlmeSBhZHMiLAogICJuYW1lIjogIk11dGUgc3BvdGlmeSBhZHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGFuaWdtL3Nwb3RpZnktYWQtYmxvY2tlciIsCiAgInV1aWQiOiAic3BvdGlmeS1hZC1ibG9ja0BkYW5pZ20ubmV0IiwKICAidmVyc2lvbiI6IDkKfQ=="}}}
 , {"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": "10", "sha256": "1ij5307mcm3shhs23lpl8l968xgzc1qr0wvzkb419ihdk4kjmf9m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZXh0ZW5zaW9uLCB0aGF0IHJlbW92ZXMgdGhlICdXaW5kb3cgaXMgcmVhZHknIG5vdGlmaWNhdGlvbiBhbmQgcHV0cyB0aGUgd2luZG93IGludG8gZm9jdXMuIEluIGNvbnRyYXN0IHRvIGFsbCB0aGUgb3RoZXIgZXh0ZW5zaW9ucywgdGhpcyB1c2VzIEVTNiBzeW50YXggYW5kIGlzIGFjdGl2ZWx5IG1haW50YWluZWQuIiwKICAibmFtZSI6ICJOb0Fubm95YW5jZSB2MiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9Cam9lcm5EYWFzZS9ub2Fubm95YW5jZSIsCiAgInV1aWQiOiAibm9hbm5veWFuY2VAZGFhc2UubmV0IiwKICAidmVyc2lvbiI6IDEwCn0="}, "40": {"version": "10", "sha256": "1ij5307mcm3shhs23lpl8l968xgzc1qr0wvzkb419ihdk4kjmf9m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZXh0ZW5zaW9uLCB0aGF0IHJlbW92ZXMgdGhlICdXaW5kb3cgaXMgcmVhZHknIG5vdGlmaWNhdGlvbiBhbmQgcHV0cyB0aGUgd2luZG93IGludG8gZm9jdXMuIEluIGNvbnRyYXN0IHRvIGFsbCB0aGUgb3RoZXIgZXh0ZW5zaW9ucywgdGhpcyB1c2VzIEVTNiBzeW50YXggYW5kIGlzIGFjdGl2ZWx5IG1haW50YWluZWQuIiwKICAibmFtZSI6ICJOb0Fubm95YW5jZSB2MiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9Cam9lcm5EYWFzZS9ub2Fubm95YW5jZSIsCiAgInV1aWQiOiAibm9hbm5veWFuY2VAZGFhc2UubmV0IiwKICAidmVyc2lvbiI6IDEwCn0="}}}
 , {"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": "9", "sha256": "0bzwl271j3j41nrx6fzcp2ahypl23ivfhp5zrg2xvh3r69hg61br", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgU2hlbGwgZXh0ZW5zaW9uIChHTk9NRSBQYW5lbCBhcHBsZXQpIHRvIGJlIGFibGUgdG8gZ2VuZXJhbGx5IGNvbnRyb2wgeW91ciBhdmFpbGFibGUgRG9ja2VyIGNvbnRhaW5lcnMuIiwKICAibmFtZSI6ICJFYXN5IERvY2tlciBDb250YWluZXJzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1JlZFNvZnR3YXJlU3lzdGVtcy9lYXN5X2RvY2tlcl9jb250YWluZXJzIiwKICAidXVpZCI6ICJlYXN5X2RvY2tlcl9jb250YWluZXJzQHJlZC5zb2Z0d2FyZS5zeXN0ZW1zIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "40": {"version": "9", "sha256": "0bzwl271j3j41nrx6fzcp2ahypl23ivfhp5zrg2xvh3r69hg61br", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgU2hlbGwgZXh0ZW5zaW9uIChHTk9NRSBQYW5lbCBhcHBsZXQpIHRvIGJlIGFibGUgdG8gZ2VuZXJhbGx5IGNvbnRyb2wgeW91ciBhdmFpbGFibGUgRG9ja2VyIGNvbnRhaW5lcnMuIiwKICAibmFtZSI6ICJFYXN5IERvY2tlciBDb250YWluZXJzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1JlZFNvZnR3YXJlU3lzdGVtcy9lYXN5X2RvY2tlcl9jb250YWluZXJzIiwKICAidXVpZCI6ICJlYXN5X2RvY2tlcl9jb250YWluZXJzQHJlZC5zb2Z0d2FyZS5zeXN0ZW1zIiwKICAidmVyc2lvbiI6IDkKfQ=="}}}
 , {"uuid": "nightthemeswitcher@romainvigier.fr", "name": "Night Theme Switcher", "pname": "night-theme-switcher", "description": "Night mode for GNOME! Automatically toggle your light and dark GTK, GNOME Shell, icon and cursor themes variants, switch backgrounds and run custom commands at sunset and sunrise.\n\nSupports Night Light, Location Services, manual schedule and on-demand switch.\n\nIt works out of the box with numerous themes (see the list on the repository), and you can manually choose the variants you want.\n", "link": "https://extensions.gnome.org/extension/2236/night-theme-switcher/", "shell_version_map": {"38": {"version": "46", "sha256": "016lb0wcr43nf8mj6qnwgzpam2whrcvf4s5dwbdljqqvpvbx68yq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5pZ2h0IG1vZGUgZm9yIEdOT01FISBBdXRvbWF0aWNhbGx5IHRvZ2dsZSB5b3VyIGxpZ2h0IGFuZCBkYXJrIEdUSywgR05PTUUgU2hlbGwsIGljb24gYW5kIGN1cnNvciB0aGVtZXMgdmFyaWFudHMsIHN3aXRjaCBiYWNrZ3JvdW5kcyBhbmQgcnVuIGN1c3RvbSBjb21tYW5kcyBhdCBzdW5zZXQgYW5kIHN1bnJpc2UuXG5cblN1cHBvcnRzIE5pZ2h0IExpZ2h0LCBMb2NhdGlvbiBTZXJ2aWNlcywgbWFudWFsIHNjaGVkdWxlIGFuZCBvbi1kZW1hbmQgc3dpdGNoLlxuXG5JdCB3b3JrcyBvdXQgb2YgdGhlIGJveCB3aXRoIG51bWVyb3VzIHRoZW1lcyAoc2VlIHRoZSBsaXN0IG9uIHRoZSByZXBvc2l0b3J5KSwgYW5kIHlvdSBjYW4gbWFudWFsbHkgY2hvb3NlIHRoZSB2YXJpYW50cyB5b3Ugd2FudC5cbiIsCiAgImdldHRleHQtZG9tYWluIjogIm5pZ2h0dGhlbWVzd2l0Y2hlckByb21haW52aWdpZXIuZnIiLAogICJuYW1lIjogIk5pZ2h0IFRoZW1lIFN3aXRjaGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5pZ2h0dGhlbWVzd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL3JtbnZnci9uaWdodHRoZW1lc3dpdGNoZXItZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLyIsCiAgInV1aWQiOiAibmlnaHR0aGVtZXN3aXRjaGVyQHJvbWFpbnZpZ2llci5mciIsCiAgInZlcnNpb24iOiA0Ngp9"}, "40": {"version": "50", "sha256": "0klgk18sn5m8a4w2jk64far27v7xpmdhyic6yk471xk096w6hdn3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5pZ2h0IG1vZGUgZm9yIEdOT01FISBBdXRvbWF0aWNhbGx5IHRvZ2dsZSB5b3VyIGxpZ2h0IGFuZCBkYXJrIEdUSywgR05PTUUgU2hlbGwsIGljb24gYW5kIGN1cnNvciB0aGVtZXMgdmFyaWFudHMsIHN3aXRjaCBiYWNrZ3JvdW5kcyBhbmQgcnVuIGN1c3RvbSBjb21tYW5kcyBhdCBzdW5zZXQgYW5kIHN1bnJpc2UuXG5cblN1cHBvcnRzIE5pZ2h0IExpZ2h0LCBMb2NhdGlvbiBTZXJ2aWNlcywgbWFudWFsIHNjaGVkdWxlIGFuZCBvbi1kZW1hbmQgc3dpdGNoLlxuXG5JdCB3b3JrcyBvdXQgb2YgdGhlIGJveCB3aXRoIG51bWVyb3VzIHRoZW1lcyAoc2VlIHRoZSBsaXN0IG9uIHRoZSByZXBvc2l0b3J5KSwgYW5kIHlvdSBjYW4gbWFudWFsbHkgY2hvb3NlIHRoZSB2YXJpYW50cyB5b3Ugd2FudC5cbiIsCiAgImdldHRleHQtZG9tYWluIjogIm5pZ2h0dGhlbWVzd2l0Y2hlckByb21haW52aWdpZXIuZnIiLAogICJuYW1lIjogIk5pZ2h0IFRoZW1lIFN3aXRjaGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5pZ2h0dGhlbWVzd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9ybW52Z3IvbmlnaHR0aGVtZXN3aXRjaGVyLWdub21lLXNoZWxsLWV4dGVuc2lvbi8iLAogICJ1dWlkIjogIm5pZ2h0dGhlbWVzd2l0Y2hlckByb21haW52aWdpZXIuZnIiLAogICJ2ZXJzaW9uIjogNTAKfQ=="}}}
@@ -219,123 +240,133 @@
 , {"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": "9", "sha256": "049hj5s2nxa4044z4hcrlz1cmyq9y07ck7lg6brhvjagqncgg152", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgVW5pdmVyc2FsIEFjY2VzcyBpY29uIGZyb20gdGhlIHN0YXR1cyBiYXIiLAogICJuYW1lIjogIkhpZGUgVW5pdmVyc2FsIEFjY2VzcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ha2lpcnVpL2hpZGUtdW5pdmVyc2FsLWFjY2VzcyIsCiAgInV1aWQiOiAiaGlkZS11bml2ZXJzYWwtYWNjZXNzQGFraWlydWkuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "40": {"version": "9", "sha256": "049hj5s2nxa4044z4hcrlz1cmyq9y07ck7lg6brhvjagqncgg152", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgVW5pdmVyc2FsIEFjY2VzcyBpY29uIGZyb20gdGhlIHN0YXR1cyBiYXIiLAogICJuYW1lIjogIkhpZGUgVW5pdmVyc2FsIEFjY2VzcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ha2lpcnVpL2hpZGUtdW5pdmVyc2FsLWFjY2VzcyIsCiAgInV1aWQiOiAiaGlkZS11bml2ZXJzYWwtYWNjZXNzQGFraWlydWkuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDkKfQ=="}}}
+, {"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 connection 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": "14", "sha256": "12w53h0bglk1zyr6r9sxgrd223r628jaibbh7m5qyvc50i7m57f2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5ldyBhbmQgdW5yZWFkIG1haWwgaW5kaWNhdG9yIChMb2NhbCwgSW1hcCwgUG9wMywgR21haWwsIFlhaG9vIG1haWwuLi4pXG5JbmRpY2F0b3IgZm9yIG5ldyBtYWlscyBmcm9tIGxvY2FsIG1haWwgYm94ZXMgKE1CT1gsIE1BSUxESVIpLCBQT1AzIG9yIElNQVAgc2VydmVyLlxuXG5CRSBBV0FSRSBUSEFUIFRISVMgRVhURU5TSU9OIFJFUVVJUkVTIEJVQkJMRU1BSUwgU0VSVklDRSBJTlNUQUxMQVRJT05cbkNoZWNrIHlvdXIgZGlzdHJpYnV0aW9uIHBhY2thZ2luZyBzeXN0ZW0gZm9yIGF2YWlsYWJpbGl0eS4gQmVzaWRlcywgcGFja2FnZXMgZm9yIGRpc3RyaWJ1dGlvbnMgYW5kIHNvdXJjZSB0YXJiYWxscyBjYW4gYmUgZm91bmQgaGVyZSA6XG5odHRwOi8vYnViYmxlbWFpbC5mcmVlLmZyXG5cbkJ1YmJsZW1haWwgaXMgYSBjb21wbGV0ZSByZXdyaXRlIG9mIHRoZSBtYWlsbmFnIHByb2plY3QsIHdpdGggYSBsb3Qgb2YgbmV3IGZlYXR1cmVzIGluY2x1ZGluZyA6XG4qIEdub21lIG9ubGluZSBhY2NvdW50cyBhcmUgYXV0b21hdGljYWx5IHN5bmNlZFxuKiBBdmF0YXJzIHByb3ZpZGVkIGJ5IHRoZSBzZXJ2ZXIsIHdpdGggZGVmYXVsdCBjb2xvcml6ZWQgaWNvbnMgZm9yIHNlbmRlcnMgd2l0aG91dCBzcGVjaWZpYyBhdmF0YXJcbiogUmVwb3J0cyBmb3IgY29ubmVjdGlvbiBlcnJvcnMuXG5cbiBQbGVhc2UgcmVwb3J0IGFueSBpc3N1ZSBvbiB0aGUgZ2l0bGFiIHBhZ2VzIG9mIHRoZSBwcm9qZWN0IDpcbmh0dHBzOi8vZnJhbWFnaXQub3JnL3JhemVyL2J1YmJsZW1haWwvaXNzdWVzXG5odHRwczovL2ZyYW1hZ2l0Lm9yZy9yYXplci9idWJibGVtYWlsLWdub21lLXNoZWxsL2lzc3VlcyIsCiAgImdldHRleHQtZG9tYWluIjogImJ1YmJsZW1haWwtZ25vbWUtc2hlbGwiLAogICJuYW1lIjogIkJ1YmJsZW1haWwiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgInJhemVycmF6QGZyZWUuZnIiLAogICAgInp1bHU5OUBnbXgubmV0IgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5idWJibGVtYWlsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cDovL2J1YmJsZW1haWwuZnJlZS5mciIsCiAgInV1aWQiOiAiYnViYmxlbWFpbEByYXplci5mcmFtYWdpdC5vcmciLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "40": {"version": "14", "sha256": "12w53h0bglk1zyr6r9sxgrd223r628jaibbh7m5qyvc50i7m57f2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5ldyBhbmQgdW5yZWFkIG1haWwgaW5kaWNhdG9yIChMb2NhbCwgSW1hcCwgUG9wMywgR21haWwsIFlhaG9vIG1haWwuLi4pXG5JbmRpY2F0b3IgZm9yIG5ldyBtYWlscyBmcm9tIGxvY2FsIG1haWwgYm94ZXMgKE1CT1gsIE1BSUxESVIpLCBQT1AzIG9yIElNQVAgc2VydmVyLlxuXG5CRSBBV0FSRSBUSEFUIFRISVMgRVhURU5TSU9OIFJFUVVJUkVTIEJVQkJMRU1BSUwgU0VSVklDRSBJTlNUQUxMQVRJT05cbkNoZWNrIHlvdXIgZGlzdHJpYnV0aW9uIHBhY2thZ2luZyBzeXN0ZW0gZm9yIGF2YWlsYWJpbGl0eS4gQmVzaWRlcywgcGFja2FnZXMgZm9yIGRpc3RyaWJ1dGlvbnMgYW5kIHNvdXJjZSB0YXJiYWxscyBjYW4gYmUgZm91bmQgaGVyZSA6XG5odHRwOi8vYnViYmxlbWFpbC5mcmVlLmZyXG5cbkJ1YmJsZW1haWwgaXMgYSBjb21wbGV0ZSByZXdyaXRlIG9mIHRoZSBtYWlsbmFnIHByb2plY3QsIHdpdGggYSBsb3Qgb2YgbmV3IGZlYXR1cmVzIGluY2x1ZGluZyA6XG4qIEdub21lIG9ubGluZSBhY2NvdW50cyBhcmUgYXV0b21hdGljYWx5IHN5bmNlZFxuKiBBdmF0YXJzIHByb3ZpZGVkIGJ5IHRoZSBzZXJ2ZXIsIHdpdGggZGVmYXVsdCBjb2xvcml6ZWQgaWNvbnMgZm9yIHNlbmRlcnMgd2l0aG91dCBzcGVjaWZpYyBhdmF0YXJcbiogUmVwb3J0cyBmb3IgY29ubmVjdGlvbiBlcnJvcnMuXG5cbiBQbGVhc2UgcmVwb3J0IGFueSBpc3N1ZSBvbiB0aGUgZ2l0bGFiIHBhZ2VzIG9mIHRoZSBwcm9qZWN0IDpcbmh0dHBzOi8vZnJhbWFnaXQub3JnL3JhemVyL2J1YmJsZW1haWwvaXNzdWVzXG5odHRwczovL2ZyYW1hZ2l0Lm9yZy9yYXplci9idWJibGVtYWlsLWdub21lLXNoZWxsL2lzc3VlcyIsCiAgImdldHRleHQtZG9tYWluIjogImJ1YmJsZW1haWwtZ25vbWUtc2hlbGwiLAogICJuYW1lIjogIkJ1YmJsZW1haWwiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgInJhemVycmF6QGZyZWUuZnIiLAogICAgInp1bHU5OUBnbXgubmV0IgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5idWJibGVtYWlsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cDovL2J1YmJsZW1haWwuZnJlZS5mciIsCiAgInV1aWQiOiAiYnViYmxlbWFpbEByYXplci5mcmFtYWdpdC5vcmciLAogICJ2ZXJzaW9uIjogMTQKfQ=="}}}
-, {"uuid": "keypadTiling@abakkk.framagit.org", "name": "Keypad Tiling", "pname": "keypad-tiling", "description": "Tile windows with your keypad.\n\nFeatures:\n- Tile focused window with Super + divide/0/1/.../9 keypad keys\n- Get window completion popup with Super + Alt + 1/.../9 keypad keys\n- Customize keybindings in preferences\n\nBugs on Wayland, in particular with window completion (annoying delays between move/resize operations are used as workaround).\nTiling is not exactly the same as the one that GNOME Shell provides. For instance left and right tiling are more basic while top, bottom and corner tiling gains resizing.\nDefault keybindings could conflict with those of other extensions like popular Dash to Dock and Dash to Panel (see either Keypad Tiling or other extension preferences).\n\nGNOME Shell 41 and later are not supported.", "link": "https://extensions.gnome.org/extension/2473/keypad-tiling/", "shell_version_map": {"38": {"version": "4", "sha256": "048ddam3im2b1g7mfqycvwarr354wii54xclc27h4mr3x3ixgmmr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyB3aXRoIHlvdXIga2V5cGFkLlxuXG5GZWF0dXJlczpcbi0gVGlsZSBmb2N1c2VkIHdpbmRvdyB3aXRoIFN1cGVyICsgZGl2aWRlLzAvMS8uLi4vOSBrZXlwYWQga2V5c1xuLSBHZXQgd2luZG93IGNvbXBsZXRpb24gcG9wdXAgd2l0aCBTdXBlciArIEFsdCArIDEvLi4uLzkga2V5cGFkIGtleXNcbi0gQ3VzdG9taXplIGtleWJpbmRpbmdzIGluIHByZWZlcmVuY2VzXG5cbkJ1Z3Mgb24gV2F5bGFuZCwgaW4gcGFydGljdWxhciB3aXRoIHdpbmRvdyBjb21wbGV0aW9uIChhbm5veWluZyBkZWxheXMgYmV0d2VlbiBtb3ZlL3Jlc2l6ZSBvcGVyYXRpb25zIGFyZSB1c2VkIGFzIHdvcmthcm91bmQpLlxuVGlsaW5nIGlzIG5vdCBleGFjdGx5IHRoZSBzYW1lIGFzIHRoZSBvbmUgdGhhdCBHTk9NRSBTaGVsbCBwcm92aWRlcy4gRm9yIGluc3RhbmNlIGxlZnQgYW5kIHJpZ2h0IHRpbGluZyBhcmUgbW9yZSBiYXNpYyB3aGlsZSB0b3AsIGJvdHRvbSBhbmQgY29ybmVyIHRpbGluZyBnYWlucyByZXNpemluZy5cbkRlZmF1bHQga2V5YmluZGluZ3MgY291bGQgY29uZmxpY3Qgd2l0aCB0aG9zZSBvZiBvdGhlciBleHRlbnNpb25zIGxpa2UgcG9wdWxhciBEYXNoIHRvIERvY2sgYW5kIERhc2ggdG8gUGFuZWwgKHNlZSBlaXRoZXIgS2V5cGFkIFRpbGluZyBvciBvdGhlciBleHRlbnNpb24gcHJlZmVyZW5jZXMpLlxuXG5HTk9NRSBTaGVsbCA0MSBhbmQgbGF0ZXIgYXJlIG5vdCBzdXBwb3J0ZWQuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAia2V5cGFkLXRpbGluZyIsCiAgIm5hbWUiOiAiS2V5cGFkIFRpbGluZyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5rZXlwYWQtdGlsaW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2ZyYW1hZ2l0Lm9yZy9hYmFra2svS2V5cGFkVGlsaW5nIiwKICAidXVpZCI6ICJrZXlwYWRUaWxpbmdAYWJha2trLmZyYW1hZ2l0Lm9yZyIsCiAgInZlcnNpb24iOiA0Cn0="}}}
+, {"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 !!!!\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": "1wn3040z6znmk2nwh9n0l6q09sp7y3rx0nnm0274n1xsiw7pbwy3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiEhISBEZXZlbG9wbWVudCBzdG9wcGVkICEhISFcblxuVGFza0JhciAyMDIwIGRpc3BsYXlzIGljb25zIG9mIHJ1bm5pbmcgYXBwbGljYXRpb25zIGFuZCBmYXZvcml0ZXMgb24gdGhlIHRvcCBwYW5lbCBvciBhbHRlcm5hdGl2ZWx5IG9uIGEgbmV3IGJvdHRvbSBwYW5lbC4gQWN0aXZhdGUsIG1pbmltaXplIG9yIGNsb3NlIHRhc2tzIHdpdGggYSBzaW1wbGUgY2xpY2suIFxuXG5UYXNrQmFyIDIwMjAgaXMgYSBkb2NrLWxpa2Ugd2luZG93cyBsaXN0IG9uIHRoZSB0b3AvYm90dG9tIGJhci4gXG5cbkZvcmsgb2YgenB5ZHIvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRhc2tiYXIgdG8gc3VwcG9ydCBuZXdlciB2ZXJzaW9ucyBvZiBHTk9NRSIsCiAgIm5hbWUiOiAiVGFza0JhciAyMDIwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYzBsZHBsYXNtYS9nbm9tZS1zaGVsbC1leHRlbnNpb24tdGFza2JhciIsCiAgInV1aWQiOiAiVGFza0JhckBjMGxkcGxhc21hIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "40": {"version": "8", "sha256": "0czby48izk0yjpkgjh6bl6b922qg0ycc53gq7n733dgchnn76g2p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiEhISBEZXZlbG9wbWVudCBzdG9wcGVkICEhISFcblxuVGFza0JhciAyMDIwIGRpc3BsYXlzIGljb25zIG9mIHJ1bm5pbmcgYXBwbGljYXRpb25zIGFuZCBmYXZvcml0ZXMgb24gdGhlIHRvcCBwYW5lbCBvciBhbHRlcm5hdGl2ZWx5IG9uIGEgbmV3IGJvdHRvbSBwYW5lbC4gQWN0aXZhdGUsIG1pbmltaXplIG9yIGNsb3NlIHRhc2tzIHdpdGggYSBzaW1wbGUgY2xpY2suIFxuXG5UYXNrQmFyIDIwMjAgaXMgYSBkb2NrLWxpa2Ugd2luZG93cyBsaXN0IG9uIHRoZSB0b3AvYm90dG9tIGJhci4gXG5cbkZvcmsgb2YgenB5ZHIvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRhc2tiYXIgdG8gc3VwcG9ydCBuZXdlciB2ZXJzaW9ucyBvZiBHTk9NRSIsCiAgIm5hbWUiOiAiVGFza0JhciAyMDIwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2MwbGRwbGFzbWEvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRhc2tiYXIiLAogICJ1dWlkIjogIlRhc2tCYXJAYzBsZHBsYXNtYSIsCiAgInZlcnNpb24iOiA4Cn0="}}}
-, {"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": "17", "sha256": "0g6wc343vky2l44j00c19mn6jw24xnfqsnwv7q7l264ax9hqc1ga", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgZG9jayBhbnl3aGVyZSBvbiB0aGUgZGVza3RvcFxuXG5QcmVzcyBDdHJsK0FsdCtrIHRvIHZpIG1vZGVcblByZXNzIGxvd2VyY2FzZSBhbHBoYWJldCwgb3BlbiBuZXcgd2luZG93IG9yIGFjdGl2ZSB0aGUgd2luZG93XG5QcmVzcyB1cHBlcmNhc2UgYWxwaGFiZXQsIGZvcmNlIHRvIG9wZW4gbmV3IHdpbmRvd1xuXG5Qb2ludCBvbiB0aGUgbWFpbiBidXR0b24sIGNoYW5nZSB3b3Jrc3BhY2UgYnkgbW91c2Ugc2Nyb2xsXG5SaWdodCBjbGljayB0aGUgbWFpbiBidXR0b24sIHNob3cgc29tZSBzZWxlY3Rpb25zIiwKICAibmFtZSI6ICJGbG9hdGluZyBEb2NrIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWZsb2F0aW5nRG9jayIsCiAgInV1aWQiOiAiZmxvYXRpbmdEb2NrQHN1bi53eGdAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE3Cn0="}}}
+, {"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": "3", "sha256": "1ysfagpfysrvhvx16212828sw85sv0zkp28qb0wj7v3qzchjj5dm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGhlIGtlcm5lbCB2ZXJzaW9uIGluIHRoZSB0b3AgYmFyIiwKICAibmFtZSI6ICJLZXJuZWwgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2VsYm91bGFuZ2Vyby9nbm9tZS1zaGVsbC1leHRlbnNpb24ta2VybmVsLWluZGljYXRvciIsCiAgInV1aWQiOiAia2VybmVsLWluZGljYXRvckBlbGJvdWxhbmdlcm8uZ2l0bGFiLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}}}
+, {"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="}}}
 , {"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 confiure certain aspects of the connection.", "link": "https://extensions.gnome.org/extension/2569/gnordvpn-local/", "shell_version_map": {"38": {"version": "6", "sha256": "1w5nz2688iyjf7cnaxa45h9m6l97ssf51c3szfabnbpa4d8vbqb3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgZXh0ZW5zaW9uIHRoYXQgc2hvd3MgdGhlIE5vcmRWUE4gc3RhdHVzIGluIHRoZSB0b3AgYmFyIGFuZCBwcm92aWRlcyB0aGUgYWJpbGl0eSB0byBjb25maXVyZSBjZXJ0YWluIGFzcGVjdHMgb2YgdGhlIGNvbm5lY3Rpb24uIiwKICAibmFtZSI6ICJnTm9yZFZQTi1Mb2NhbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOC4xIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vSXNvcG9saXRvL2dOb3JkVlBOLUxvY2FsIiwKICAidXVpZCI6ICJnbm9yZHZwbi1sb2NhbEBpc29wb2xpdG8iLAogICJ2ZXJzaW9uIjogNgp9"}}}
 , {"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": "6", "sha256": "0gbfqi121yzyyzvanbq8hcczd783afknpq5nwcxmwlf9xyi0m5hl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBzaG93IHRoZSBuZXcgbWVzc2FnZXMgaW5kaWNhdG9yIG9uIG5ldyBtZXNzYWdlcy4gRmVhdHVyZXM6IDEpIE5ldyBtZXNzYWdlIGluZGljYXRvciBpcyBhbHdheXMgc2hvd24gaWYgdGhlcmUgYXJlIG5vdGlmaWNhdGlvbnMuIDIpIFRoZSBjb2xvciBvZiB0aGUgaW5kaWNhdG9yIGNhbiBiZSBjdXN0b21pemVkLiAzKSBJZiAnZG8gbm90IGRpc3R1cmInIGlzIGFjdGl2ZSwgdGhlIGljb24gaXMgZGlzcGxheWVkIGluIHRoZSBjdXN0b20gY29sb3IgaWYgdGhlcmUgYXJlIG5vdGlmaWNhdGlvbnMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYWx3YXlzLWluZGljYXRvciIsCiAgIm5hbWUiOiAiQWx3YXlzIEluZGljYXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hbHdheXMtaW5kaWNhdG9yLXNldHRpbmdzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL216dXIvZ25vbWUtc2hlbGwtYWx3YXlzLWluZGljYXRvciIsCiAgInV1aWQiOiAiYWx3YXlzLWluZGljYXRvckBtYXJ0aW4uenVyb3dpZXR6LmRlIiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
 , {"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": "15", "sha256": "1jy9m2inx8jjwsy666hg67i7d8py2ar4drn2i8si7d80cba45al4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJ1bnRpbWUgcHJvZmlsZSBzd2l0Y2hlciBmb3IgdGhlIEVydXB0aW9uIExpbnV4IGlucHV0IGFuZCBMRUQgZHJpdmVyIGZvciBrZXlib2FyZHMsIG1pY2UgYW5kIG90aGVyIGRldmljZXMiLAogICJuYW1lIjogIkVydXB0aW9uIFByb2ZpbGUgU3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwLmJldGEiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vWDNuMG0wcnBoNTkvZXJ1cHRpb24tcHJvZmlsZS1zd2l0Y2hlciIsCiAgInV1aWQiOiAiZXJ1cHRpb24tcHJvZmlsZS1zd2l0Y2hlckB4M24wbTBycGg1OS5vcmciLAogICJ2ZXJzaW9uIjogMTUKfQ=="}}}
+, {"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": "5", "sha256": "1qymbxd49jq1xqz3lril9dv5g5a94xs658shml7c75iqplq794f4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCAoIHVzZXIgbmFtZSA6OiB1c2VyIGlkIEAgaG9zdCApIGluIHRvcCBwYW5lbC4iLAogICJuYW1lIjogIlVzZXIgaWQgaW4gdG9wIHBhbmVsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJmdGh4IgogIF0sCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAidXNlci1pZC1pbi10b3AtcGFuZWxAZnRoeCIsCiAgInZlcnNpb24iOiA1Cn0="}, "40": {"version": "5", "sha256": "1qymbxd49jq1xqz3lril9dv5g5a94xs658shml7c75iqplq794f4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCAoIHVzZXIgbmFtZSA6OiB1c2VyIGlkIEAgaG9zdCApIGluIHRvcCBwYW5lbC4iLAogICJuYW1lIjogIlVzZXIgaWQgaW4gdG9wIHBhbmVsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJmdGh4IgogIF0sCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAidXNlci1pZC1pbi10b3AtcGFuZWxAZnRoeCIsCiAgInZlcnNpb24iOiA1Cn0="}}}
 , {"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": "2", "sha256": "1bgy13a6fzvbaa3sxwhmb671ar1m6l0bmk04p76i1laldvyxvy45", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgbWluaW1pemVkIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJIaWRlIG1pbmltaXplZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhbmlnbS9oaWRlLW1pbmltaXplZCIsCiAgInV1aWQiOiAiaGlkZS1taW5pbWl6ZWRAZGFuaWdtLm5ldCIsCiAgInZlcnNpb24iOiAyCn0="}}}
-, {"uuid": "display-brightness-ddcutil@themightydeity.github.com", "name": "Brightness control using ddcutil", "pname": "brightness-control-using-ddcutil", "description": "Brightness slider for all the monitors detected by ddcutil\nThis tool uses ddcutil as backend for communication with your display.\n\nMake sure that your user can use following shell commands without root.\n\t`ddcutil getvcp 10` to check the brightness of a display and\n\t`ddcutil setvcp 10 100` to set the brightness to 100\n\nMore info: 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": "08rwqdcaqcx84a5bjalcvryxvhfr15a1bcyldnzw8z9aysdx1jls", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaWdodG5lc3Mgc2xpZGVyIGZvciBhbGwgdGhlIG1vbml0b3JzIGRldGVjdGVkIGJ5IGRkY3V0aWxcblRoaXMgdG9vbCB1c2VzIGRkY3V0aWwgYXMgYmFja2VuZCBmb3IgY29tbXVuaWNhdGlvbiB3aXRoIHlvdXIgZGlzcGxheS5cblxuTWFrZSBzdXJlIHRoYXQgeW91ciB1c2VyIGNhbiB1c2UgZm9sbG93aW5nIHNoZWxsIGNvbW1hbmRzIHdpdGhvdXQgcm9vdC5cblx0YGRkY3V0aWwgZ2V0dmNwIDEwYCB0byBjaGVjayB0aGUgYnJpZ2h0bmVzcyBvZiBhIGRpc3BsYXkgYW5kXG5cdGBkZGN1dGlsIHNldHZjcCAxMCAxMDBgIHRvIHNldCB0aGUgYnJpZ2h0bmVzcyB0byAxMDBcblxuTW9yZSBpbmZvOiBodHRwczovL2dpdGh1Yi5jb20vZGFpdGovZ25vbWUtZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWwvYmxvYi9tYXN0ZXIvUkVBRE1FLm1kIiwKICAibmFtZSI6ICJCcmlnaHRuZXNzIGNvbnRyb2wgdXNpbmcgZGRjdXRpbCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3RoZW1pZ2h0eWRlaXR5L2dub21lLWRpc3BsYXktYnJpZ2h0bmVzcy1kZGN1dGlsIiwKICAidXVpZCI6ICJkaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbEB0aGVtaWdodHlkZWl0eS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEwCn0="}, "40": {"version": "13", "sha256": "0x331qrmjn9ax72gsi4227l9yzncz8c0yasnzzgcixcqdxl75xkq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaWdodG5lc3Mgc2xpZGVyIGZvciBhbGwgdGhlIG1vbml0b3JzIGRldGVjdGVkIGJ5IGRkY3V0aWxcblRoaXMgdG9vbCB1c2VzIGRkY3V0aWwgYXMgYmFja2VuZCBmb3IgY29tbXVuaWNhdGlvbiB3aXRoIHlvdXIgZGlzcGxheS5cblxuTWFrZSBzdXJlIHRoYXQgeW91ciB1c2VyIGNhbiB1c2UgZm9sbG93aW5nIHNoZWxsIGNvbW1hbmRzIHdpdGhvdXQgcm9vdC5cblx0YGRkY3V0aWwgZ2V0dmNwIDEwYCB0byBjaGVjayB0aGUgYnJpZ2h0bmVzcyBvZiBhIGRpc3BsYXkgYW5kXG5cdGBkZGN1dGlsIHNldHZjcCAxMCAxMDBgIHRvIHNldCB0aGUgYnJpZ2h0bmVzcyB0byAxMDBcblxuTW9yZSBpbmZvOiBodHRwczovL2dpdGh1Yi5jb20vZGFpdGovZ25vbWUtZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWwvYmxvYi9tYXN0ZXIvUkVBRE1FLm1kIiwKICAibmFtZSI6ICJCcmlnaHRuZXNzIGNvbnRyb2wgdXNpbmcgZGRjdXRpbCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3RoZW1pZ2h0eWRlaXR5L2dub21lLWRpc3BsYXktYnJpZ2h0bmVzcy1kZGN1dGlsIiwKICAidXVpZCI6ICJkaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbEB0aGVtaWdodHlkZWl0eS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEzCn0="}}}
+, {"uuid": "display-brightness-ddcutil@themightydeity.github.com", "name": "Brightness control using ddcutil", "pname": "brightness-control-using-ddcutil", "description": "Brightness slider for all the monitors detected by ddcutil\nThis tool uses ddcutil as backend for communication with your display.\n\nMake sure that your user can use following shell commands without root.\n\t`ddcutil getvcp 10` to check the brightness of a display and\n\t`ddcutil setvcp 10 100` to set the brightness to 100\n\nMore info: 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": "08rwqdcaqcx84a5bjalcvryxvhfr15a1bcyldnzw8z9aysdx1jls", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaWdodG5lc3Mgc2xpZGVyIGZvciBhbGwgdGhlIG1vbml0b3JzIGRldGVjdGVkIGJ5IGRkY3V0aWxcblRoaXMgdG9vbCB1c2VzIGRkY3V0aWwgYXMgYmFja2VuZCBmb3IgY29tbXVuaWNhdGlvbiB3aXRoIHlvdXIgZGlzcGxheS5cblxuTWFrZSBzdXJlIHRoYXQgeW91ciB1c2VyIGNhbiB1c2UgZm9sbG93aW5nIHNoZWxsIGNvbW1hbmRzIHdpdGhvdXQgcm9vdC5cblx0YGRkY3V0aWwgZ2V0dmNwIDEwYCB0byBjaGVjayB0aGUgYnJpZ2h0bmVzcyBvZiBhIGRpc3BsYXkgYW5kXG5cdGBkZGN1dGlsIHNldHZjcCAxMCAxMDBgIHRvIHNldCB0aGUgYnJpZ2h0bmVzcyB0byAxMDBcblxuTW9yZSBpbmZvOiBodHRwczovL2dpdGh1Yi5jb20vZGFpdGovZ25vbWUtZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWwvYmxvYi9tYXN0ZXIvUkVBRE1FLm1kIiwKICAibmFtZSI6ICJCcmlnaHRuZXNzIGNvbnRyb2wgdXNpbmcgZGRjdXRpbCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3RoZW1pZ2h0eWRlaXR5L2dub21lLWRpc3BsYXktYnJpZ2h0bmVzcy1kZGN1dGlsIiwKICAidXVpZCI6ICJkaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbEB0aGVtaWdodHlkZWl0eS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEwCn0="}, "40": {"version": "15", "sha256": "155vv6zjd2nrb11qr4nbk05vfxg34wviyk969qz9awhv20y3a6p0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaWdodG5lc3Mgc2xpZGVyIGZvciBhbGwgdGhlIG1vbml0b3JzIGRldGVjdGVkIGJ5IGRkY3V0aWxcblRoaXMgdG9vbCB1c2VzIGRkY3V0aWwgYXMgYmFja2VuZCBmb3IgY29tbXVuaWNhdGlvbiB3aXRoIHlvdXIgZGlzcGxheS5cblxuTWFrZSBzdXJlIHRoYXQgeW91ciB1c2VyIGNhbiB1c2UgZm9sbG93aW5nIHNoZWxsIGNvbW1hbmRzIHdpdGhvdXQgcm9vdC5cblx0YGRkY3V0aWwgZ2V0dmNwIDEwYCB0byBjaGVjayB0aGUgYnJpZ2h0bmVzcyBvZiBhIGRpc3BsYXkgYW5kXG5cdGBkZGN1dGlsIHNldHZjcCAxMCAxMDBgIHRvIHNldCB0aGUgYnJpZ2h0bmVzcyB0byAxMDBcblxuTW9yZSBpbmZvOiBodHRwczovL2dpdGh1Yi5jb20vZGFpdGovZ25vbWUtZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWwvYmxvYi9tYXN0ZXIvUkVBRE1FLm1kIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWwiLAogICJuYW1lIjogIkJyaWdodG5lc3MgY29udHJvbCB1c2luZyBkZGN1dGlsIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRpc3BsYXktYnJpZ2h0bmVzcy1kZGN1dGlsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3RoZW1pZ2h0eWRlaXR5L2dub21lLWRpc3BsYXktYnJpZ2h0bmVzcy1kZGN1dGlsIiwKICAidXVpZCI6ICJkaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbEB0aGVtaWdodHlkZWl0eS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDE1Cn0="}}}
 , {"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": "4", "sha256": "0cv423fq7rilm6g0c27lnqa85s0j5f6xx9bd6mav17ghmr346cmn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdW50IGFuZCB1bW91bnQgZnN0YWIgZW50cmllcyB3aXRoICdub2F1dG8sdXNlcicgb3B0aW9ucy5cblxuL2V0Yy9mc3RhYiBleGFtcGxlIHRoYXQgd2lsbCBiZSBwaWNrZWQgdXAgYW5kIGxpc3RlZCBieSB0aGUgZXh0ZW5zaW9uOlxuMTkyLjE2OC4xLjE6L21udC9kYXRhL3VzZXJzL21hcnRpbiAgL21udC9zZXJ2ZXItbWFydGluICBuZnMgIG5vYXV0byx1c2VyLG5vYXRpbWUscncgIDAgIDBcblxuVG9nZ2xlIHRoZSBtZW51IHdpdGggdGhlIHNob3J0Y3V0OiBDVFJMICsgQUxUICsgbSIsCiAgIm5hbWUiOiAiTW91bnRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5tb3VudGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21hcnRpbmhqYXJ0bXlyL2dub21lLXNoZWxsLWV4dGVuc2lvbi1tb3VudGVyIiwKICAidXVpZCI6ICJtb3VudGVyQGhlYXJ0bWlyZSIsCiAgInZlcnNpb24iOiA0Cn0="}, "40": {"version": "4", "sha256": "0cv423fq7rilm6g0c27lnqa85s0j5f6xx9bd6mav17ghmr346cmn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdW50IGFuZCB1bW91bnQgZnN0YWIgZW50cmllcyB3aXRoICdub2F1dG8sdXNlcicgb3B0aW9ucy5cblxuL2V0Yy9mc3RhYiBleGFtcGxlIHRoYXQgd2lsbCBiZSBwaWNrZWQgdXAgYW5kIGxpc3RlZCBieSB0aGUgZXh0ZW5zaW9uOlxuMTkyLjE2OC4xLjE6L21udC9kYXRhL3VzZXJzL21hcnRpbiAgL21udC9zZXJ2ZXItbWFydGluICBuZnMgIG5vYXV0byx1c2VyLG5vYXRpbWUscncgIDAgIDBcblxuVG9nZ2xlIHRoZSBtZW51IHdpdGggdGhlIHNob3J0Y3V0OiBDVFJMICsgQUxUICsgbSIsCiAgIm5hbWUiOiAiTW91bnRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5tb3VudGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21hcnRpbmhqYXJ0bXlyL2dub21lLXNoZWxsLWV4dGVuc2lvbi1tb3VudGVyIiwKICAidXVpZCI6ICJtb3VudGVyQGhlYXJ0bWlyZSIsCiAgInZlcnNpb24iOiA0Cn0="}}}
 , {"uuid": "simple-task-bar@fthx", "name": "Simple Task Bar", "pname": "simple-task-bar", "description": "*** Superseeded by https://extensions.gnome.org/extension/4000/babar. ***\n\nTask bar in the top panel, tasks on all workspaces.\n\n Basic actions, nothing more : activate, minimize, switch, per-desktop overview. Some settings through GNOME Extensions manager, thanks @leleat.\n\n This extension can hide the Activities button and makes the Places Menu extension's label become a folder icon.\n\n This extension is *light* and should *not interfere* with GNOME Shell behaviour+logic. If you want more, please consider installing Dash to Panel.", "link": "https://extensions.gnome.org/extension/2672/simple-task-bar/", "shell_version_map": {"38": {"version": "33", "sha256": "0rsvfymmnljqikarihmgs2fdi14pclfdhwrsz06zxzxd6nvmj4x1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIioqKiBTdXBlcnNlZWRlZCBieSBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi80MDAwL2JhYmFyLiAqKipcblxuVGFzayBiYXIgaW4gdGhlIHRvcCBwYW5lbCwgdGFza3Mgb24gYWxsIHdvcmtzcGFjZXMuXG5cbiBCYXNpYyBhY3Rpb25zLCBub3RoaW5nIG1vcmUgOiBhY3RpdmF0ZSwgbWluaW1pemUsIHN3aXRjaCwgcGVyLWRlc2t0b3Agb3ZlcnZpZXcuIFNvbWUgc2V0dGluZ3MgdGhyb3VnaCBHTk9NRSBFeHRlbnNpb25zIG1hbmFnZXIsIHRoYW5rcyBAbGVsZWF0LlxuXG4gVGhpcyBleHRlbnNpb24gY2FuIGhpZGUgdGhlIEFjdGl2aXRpZXMgYnV0dG9uIGFuZCBtYWtlcyB0aGUgUGxhY2VzIE1lbnUgZXh0ZW5zaW9uJ3MgbGFiZWwgYmVjb21lIGEgZm9sZGVyIGljb24uXG5cbiBUaGlzIGV4dGVuc2lvbiBpcyAqbGlnaHQqIGFuZCBzaG91bGQgKm5vdCBpbnRlcmZlcmUqIHdpdGggR05PTUUgU2hlbGwgYmVoYXZpb3VyK2xvZ2ljLiBJZiB5b3Ugd2FudCBtb3JlLCBwbGVhc2UgY29uc2lkZXIgaW5zdGFsbGluZyBEYXNoIHRvIFBhbmVsLiIsCiAgIm5hbWUiOiAiU2ltcGxlIFRhc2sgQmFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnRoeC9zaW1wbGUtdGFzay1iYXIiLAogICJ1dWlkIjogInNpbXBsZS10YXNrLWJhckBmdGh4IiwKICAidmVyc2lvbiI6IDMzCn0="}}}
 , {"uuid": "minimize-shelf@etenil", "name": "Minimize Shelf", "pname": "minimize-shelf", "description": "Minimize shelf in the top panel, with minimized windows of the current workspace.\n\n No settings but you can easily play around with CSS file. This extension is light and should not interfere with GNOME Shell behaviour+logic.", "link": "https://extensions.gnome.org/extension/2735/minimize-shelf/", "shell_version_map": {"40": {"version": "3", "sha256": "0cnfpjpsvbi3149bg9s75wdmrpcr7pa4m2n7npdkdgr1rbs0pcfy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmltaXplIHNoZWxmIGluIHRoZSB0b3AgcGFuZWwsIHdpdGggbWluaW1pemVkIHdpbmRvd3Mgb2YgdGhlIGN1cnJlbnQgd29ya3NwYWNlLlxuXG4gTm8gc2V0dGluZ3MgYnV0IHlvdSBjYW4gZWFzaWx5IHBsYXkgYXJvdW5kIHdpdGggQ1NTIGZpbGUuIFRoaXMgZXh0ZW5zaW9uIGlzIGxpZ2h0IGFuZCBzaG91bGQgbm90IGludGVyZmVyZSB3aXRoIEdOT01FIFNoZWxsIGJlaGF2aW91citsb2dpYy4iLAogICJuYW1lIjogIk1pbmltaXplIFNoZWxmIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0V0ZW5pbC9taW5pbWl6ZS1zaGVsZiIsCiAgInV1aWQiOiAibWluaW1pemUtc2hlbGZAZXRlbmlsIiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
 , {"uuid": "remove-alt-tab-delay@daase.net", "name": "Remove Alt+Tab Delay v2", "pname": "remove-alttab-delay-v2", "description": "Another extension that removes the 0.15 second popup delay in switcher pop-ups. This extension is actively maintained. It fixes at least this known issue: https://gitlab.gnome.org/GNOME/mutter/issues/888.", "link": "https://extensions.gnome.org/extension/2741/remove-alttab-delay-v2/", "shell_version_map": {"38": {"version": "5", "sha256": "0ajxj1x6mbn1clk5hb9lri3c0ckvy2781i7w26y1yhfw6jbyl0np", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZXh0ZW5zaW9uIHRoYXQgcmVtb3ZlcyB0aGUgMC4xNSBzZWNvbmQgcG9wdXAgZGVsYXkgaW4gc3dpdGNoZXIgcG9wLXVwcy4gVGhpcyBleHRlbnNpb24gaXMgYWN0aXZlbHkgbWFpbnRhaW5lZC4gSXQgZml4ZXMgYXQgbGVhc3QgdGhpcyBrbm93biBpc3N1ZTogaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL211dHRlci9pc3N1ZXMvODg4LiIsCiAgIm5hbWUiOiAiUmVtb3ZlIEFsdCtUYWIgRGVsYXkgdjIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQmpvZXJuRGFhc2UvcmVtb3ZlLWFsdC10YWItZGVsYXkiLAogICJ1dWlkIjogInJlbW92ZS1hbHQtdGFiLWRlbGF5QGRhYXNlLm5ldCIsCiAgInZlcnNpb24iOiA1Cn0="}, "40": {"version": "5", "sha256": "0ajxj1x6mbn1clk5hb9lri3c0ckvy2781i7w26y1yhfw6jbyl0np", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZXh0ZW5zaW9uIHRoYXQgcmVtb3ZlcyB0aGUgMC4xNSBzZWNvbmQgcG9wdXAgZGVsYXkgaW4gc3dpdGNoZXIgcG9wLXVwcy4gVGhpcyBleHRlbnNpb24gaXMgYWN0aXZlbHkgbWFpbnRhaW5lZC4gSXQgZml4ZXMgYXQgbGVhc3QgdGhpcyBrbm93biBpc3N1ZTogaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL211dHRlci9pc3N1ZXMvODg4LiIsCiAgIm5hbWUiOiAiUmVtb3ZlIEFsdCtUYWIgRGVsYXkgdjIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQmpvZXJuRGFhc2UvcmVtb3ZlLWFsdC10YWItZGVsYXkiLAogICJ1dWlkIjogInJlbW92ZS1hbHQtdGFiLWRlbGF5QGRhYXNlLm5ldCIsCiAgInZlcnNpb24iOiA1Cn0="}}}
 , {"uuid": "corona-tracker@lachhebo.github.io", "name": "corona-tracker", "pname": "corona-tracker", "description": "A GNOME Shell extension (GNOME Panel applet) to notify you every day with information about the COVID-19 virus spread.", "link": "https://extensions.gnome.org/extension/2767/corona-tracker/", "shell_version_map": {"38": {"version": "12", "sha256": "0qazb5s6hm4lzj0hfridpmviznx8spnps76kv6fa8s9yca7si6ab", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgU2hlbGwgZXh0ZW5zaW9uIChHTk9NRSBQYW5lbCBhcHBsZXQpIHRvIG5vdGlmeSB5b3UgZXZlcnkgZGF5IHdpdGggaW5mb3JtYXRpb24gYWJvdXQgdGhlIENPVklELTE5IHZpcnVzIHNwcmVhZC4iLAogICJuYW1lIjogImNvcm9uYS10cmFja2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbGFjaGhlYm8vY29yb25hLXRyYWNrZXIiLAogICJ1dWlkIjogImNvcm9uYS10cmFja2VyQGxhY2hoZWJvLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxMgp9"}}}
-, {"uuid": "gnome-trash@gnome-trash.b00f.gitlab.com", "name": "Gnome Trash", "pname": "gnome-trash", "description": "A gnome shell extension to manage your trash. You can manage trash items from the panel and open or empty the trash.\nIt hides completely when the trash is empty, and lists the files in the trash bin in the panel menu.", "link": "https://extensions.gnome.org/extension/2773/gnome-trash/", "shell_version_map": {"38": {"version": "12", "sha256": "067n56xa5rxdxfyjg68iidqwxkd6k0ilinbv5wrfrp2sp645hxkz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIG1hbmFnZSB5b3VyIHRyYXNoLiBZb3UgY2FuIG1hbmFnZSB0cmFzaCBpdGVtcyBmcm9tIHRoZSBwYW5lbCBhbmQgb3BlbiBvciBlbXB0eSB0aGUgdHJhc2guXG5JdCBoaWRlcyBjb21wbGV0ZWx5IHdoZW4gdGhlIHRyYXNoIGlzIGVtcHR5LCBhbmQgbGlzdHMgdGhlIGZpbGVzIGluIHRoZSB0cmFzaCBiaW4gaW4gdGhlIHBhbmVsIG1lbnUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtdHJhc2giLAogICJuYW1lIjogIkdub21lIFRyYXNoIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vYjAwZi9nbm9tZS10cmFzaCIsCiAgInV1aWQiOiAiZ25vbWUtdHJhc2hAZ25vbWUtdHJhc2guYjAwZi5naXRsYWIuY29tIiwKICAidmVyc2lvbiI6IDEyCn0="}}}
+, {"uuid": "gnome-trash@gnome-trash.b00f.gitlab.com", "name": "Gnome Trash - UNMAINTAINED", "pname": "gnome-trash", "description": "MOVED HERE:\n\nhttps://github.com/b00f/gnome-trash", "link": "https://extensions.gnome.org/extension/2773/gnome-trash/", "shell_version_map": {"38": {"version": "13", "sha256": "1z7da74nvl4wvy6ckv55xkl3sc5qzcv6lz5k6bdfa0xcshifhl6h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1PVkVEIEhFUkU6XG5cbmh0dHBzOi8vZ2l0aHViLmNvbS9iMDBmL2dub21lLXRyYXNoIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtdHJhc2giLAogICJuYW1lIjogIkdub21lIFRyYXNoIC0gVU5NQUlOVEFJTkVEIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYjAwZi9nbm9tZS10cmFzaCIsCiAgInV1aWQiOiAiZ25vbWUtdHJhc2hAZ25vbWUtdHJhc2guYjAwZi5naXRsYWIuY29tIiwKICAidmVyc2lvbiI6IDEzCn0="}}}
 , {"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": "3", "sha256": "0nbxk6k42iglj51injq3drabfg9iv2288is36m263dwddyf9mk6d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIklmIGEgYmFja2xpZ2h0IGRldmljZSBpcyBhdmFpbGFibGUsIHRoaXMgZXh0ZW5zaW9uIHNob3dzIGEgYnJpZ2h0bmVzcyBpbmRpY2F0b3Igb24gcGFuZWwgbWVudSwgdGhhdCBhbGxvd3MgY2hhbmdpbmcgYnJpZ2h0bmVzcyB0aHJvdWdoIHNjcm9sbGluZyBvbiBpdC4gVXNlZnVsLCB3aGVuIHVzaW5nIGRkY2NpLWRyaXZlci1saW51eCBvbiBhIGRlc2t0b3AgUEMgd2l0aG91dCBuYXRpdmUga2V5Ym9hcmQgYnV0dG9ucyB0byBjaGFuZ2UgYnJpZ2h0bmVzcy4iLAogICJuYW1lIjogIkJyaWdodG5lc3MgUGFuZWwgTWVudSBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZG8tc2NoL2dub21lLXNoZWxsLWJyaWdodG5lc3MtcGFuZWwtbWVudS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImJyaWdodG5lc3NwYW5lbG1lbnVpbmRpY2F0b3JAZG8uc2NoLmRldi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "3", "sha256": "0nbxk6k42iglj51injq3drabfg9iv2288is36m263dwddyf9mk6d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIklmIGEgYmFja2xpZ2h0IGRldmljZSBpcyBhdmFpbGFibGUsIHRoaXMgZXh0ZW5zaW9uIHNob3dzIGEgYnJpZ2h0bmVzcyBpbmRpY2F0b3Igb24gcGFuZWwgbWVudSwgdGhhdCBhbGxvd3MgY2hhbmdpbmcgYnJpZ2h0bmVzcyB0aHJvdWdoIHNjcm9sbGluZyBvbiBpdC4gVXNlZnVsLCB3aGVuIHVzaW5nIGRkY2NpLWRyaXZlci1saW51eCBvbiBhIGRlc2t0b3AgUEMgd2l0aG91dCBuYXRpdmUga2V5Ym9hcmQgYnV0dG9ucyB0byBjaGFuZ2UgYnJpZ2h0bmVzcy4iLAogICJuYW1lIjogIkJyaWdodG5lc3MgUGFuZWwgTWVudSBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZG8tc2NoL2dub21lLXNoZWxsLWJyaWdodG5lc3MtcGFuZWwtbWVudS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImJyaWdodG5lc3NwYW5lbG1lbnVpbmRpY2F0b3JAZG8uc2NoLmRldi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}}}
-, {"uuid": "ibus-tweaker@tuberry.github.com", "name": "IBus Tweaker", "pname": "ibus-tweaker", "description": "Tweaker of IBus for orientation, theme, font and ascii mode auto-switch\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": "0dqf56hcgfsrlshbjzf3x19yhzz2v4dj1rlm4kj834vadn5816k7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR3ZWFrZXIgb2YgSUJ1cyBmb3Igb3JpZW50YXRpb24sIHRoZW1lLCBmb250IGFuZCBhc2NpaSBtb2RlIGF1dG8tc3dpdGNoXG5cbkZvciBzdXBwb3J0LCBwbGVhc2UgcmVwb3J0IGFueSBpc3N1ZXMgdmlhIHRoZSBob21lcGFnZSBsaW5rIGJlbG93LiIsCiAgImdldHRleHQtZG9tYWluIjogImlidXMtdHdlYWtlciIsCiAgIm5hbWUiOiAiSUJ1cyBUd2Vha2VyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmlidXMtdHdlYWtlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R1YmVycnkvaWJ1cy10d2Vha2VyIiwKICAidXVpZCI6ICJpYnVzLXR3ZWFrZXJAdHViZXJyeS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDI4Cn0="}, "40": {"version": "32", "sha256": "1z5rnx83lcsyhamh7a9jlli7v5ll8942a2s3sln0bs6yfr6nrb7f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR3ZWFrZXIgb2YgSUJ1cyBmb3Igb3JpZW50YXRpb24sIHRoZW1lLCBmb250IGFuZCBhc2NpaSBtb2RlIGF1dG8tc3dpdGNoXG5cbkZvciBzdXBwb3J0LCBwbGVhc2UgcmVwb3J0IGFueSBpc3N1ZXMgdmlhIHRoZSBob21lcGFnZSBsaW5rIGJlbG93LiIsCiAgImdldHRleHQtZG9tYWluIjogImlidXMtdHdlYWtlciIsCiAgIm5hbWUiOiAiSUJ1cyBUd2Vha2VyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmlidXMtdHdlYWtlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90dWJlcnJ5L2lidXMtdHdlYWtlciIsCiAgInV1aWQiOiAiaWJ1cy10d2Vha2VyQHR1YmVycnkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzMgp9"}}}
+, {"uuid": "ibus-tweaker@tuberry.github.com", "name": "IBus Tweaker", "pname": "ibus-tweaker", "description": "Tweaker of IBus for orientation, theme, font and ascii mode auto-switch\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": "0dqf56hcgfsrlshbjzf3x19yhzz2v4dj1rlm4kj834vadn5816k7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR3ZWFrZXIgb2YgSUJ1cyBmb3Igb3JpZW50YXRpb24sIHRoZW1lLCBmb250IGFuZCBhc2NpaSBtb2RlIGF1dG8tc3dpdGNoXG5cbkZvciBzdXBwb3J0LCBwbGVhc2UgcmVwb3J0IGFueSBpc3N1ZXMgdmlhIHRoZSBob21lcGFnZSBsaW5rIGJlbG93LiIsCiAgImdldHRleHQtZG9tYWluIjogImlidXMtdHdlYWtlciIsCiAgIm5hbWUiOiAiSUJ1cyBUd2Vha2VyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmlidXMtdHdlYWtlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R1YmVycnkvaWJ1cy10d2Vha2VyIiwKICAidXVpZCI6ICJpYnVzLXR3ZWFrZXJAdHViZXJyeS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDI4Cn0="}, "40": {"version": "34", "sha256": "0s1z0p4bm6kpn5qj7hyynv8xknzly9jq1zk4rh8if0qqrg48n9g1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR3ZWFrZXIgb2YgSUJ1cyBmb3Igb3JpZW50YXRpb24sIHRoZW1lLCBmb250IGFuZCBhc2NpaSBtb2RlIGF1dG8tc3dpdGNoXG5cbkZvciBzdXBwb3J0LCBwbGVhc2UgcmVwb3J0IGFueSBpc3N1ZXMgdmlhIHRoZSBob21lcGFnZSBsaW5rIGJlbG93LiIsCiAgImdldHRleHQtZG9tYWluIjogImlidXMtdHdlYWtlciIsCiAgIm5hbWUiOiAiSUJ1cyBUd2Vha2VyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmlidXMtdHdlYWtlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90dWJlcnJ5L2lidXMtdHdlYWtlciIsCiAgInV1aWQiOiAiaWJ1cy10d2Vha2VyQHR1YmVycnkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzNAp9"}}}
 , {"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": "5", "sha256": "1gpkqw18r0vm4v7kjhd6d4iw94aqmrni0g8qxqfc21l4cw90y4g4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGV4dCAmIGljb24gb24gc3lzdHJheSB1c2luZyBEQlVTIiwKICAibmFtZSI6ICJHZW5lcmljIE1vbml0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHA6Ly9pbmRlZmVyby5zb3V0YWRlLmZyL3AvZ2VuZXJpY21vbml0b3IiLAogICJ1dWlkIjogImdlbmVyaWMtbW9uaXRvckBnbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
 , {"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": "2", "sha256": "1nylkw0v97w4x610bd2gkz0h1xprhkrnx03qzhm4vhqjw1j2bdg2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUga2V5Ym9hcmQgbGF5b3V0IGluZGljYXRvciBpbiBzdGF0dXMgYmFyIiwKICAibmFtZSI6ICJIaWRlIEtleWJvYXJkIExheW91dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9haS9oaWRlLWtleWJvYXJkLWxheW91dCIsCiAgInV1aWQiOiAiaGlkZS1rZXlib2FyZC1sYXlvdXRAc2l0bmlrLnJ1IiwKICAidmVyc2lvbiI6IDIKfQ=="}, "40": {"version": "2", "sha256": "1nylkw0v97w4x610bd2gkz0h1xprhkrnx03qzhm4vhqjw1j2bdg2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUga2V5Ym9hcmQgbGF5b3V0IGluZGljYXRvciBpbiBzdGF0dXMgYmFyIiwKICAibmFtZSI6ICJIaWRlIEtleWJvYXJkIExheW91dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9haS9oaWRlLWtleWJvYXJkLWxheW91dCIsCiAgInV1aWQiOiAiaGlkZS1rZXlib2FyZC1sYXlvdXRAc2l0bmlrLnJ1IiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
 , {"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": "7", "sha256": "0f3h4cwkfx0r0l0fd2yvg7g8hj2lf5nhl6kan9p2p9dsn2sdnlvv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBiZWNvbWVzIDIgaWNvbnMgZm9yIHNlbGVjdGluZyBlaXRoZXIgQXBwbGljYXRpb25zIG9yIFdvcmtzcGFjZXMgaW4gdGhlIG92ZXJ2aWV3LiBTZWxlY3RpbmcgdGhlIHNhbWUgdmlldyBhZ2FpbiB3aWxsIGhpZGUgdGhlIG92ZXJ2aWV3LlxuU2Nyb2xsaW5nIG9uIHRoZSBpY29ucyBhbGxvd3Mgc3dpdGNoaW5nIHdpbmRvd3Mgb24gYSB3b3Jrc3BhY2Ugb3IgY3ljbGluZyB0aHJvdWdoIHRoZSBXb3Jrc3BhY2VzLiIsCiAgIm5hbWUiOiAiQWN0aXZpdGllcyBJY29ucyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mYXd0eXRvby9hY3Rpdml0aWVzLWljb25zIiwKICAidXVpZCI6ICJhY3Rpdml0aWVzX2ljb25zQGZhd3R5dG9vIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "40": {"version": "7", "sha256": "0f3h4cwkfx0r0l0fd2yvg7g8hj2lf5nhl6kan9p2p9dsn2sdnlvv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBiZWNvbWVzIDIgaWNvbnMgZm9yIHNlbGVjdGluZyBlaXRoZXIgQXBwbGljYXRpb25zIG9yIFdvcmtzcGFjZXMgaW4gdGhlIG92ZXJ2aWV3LiBTZWxlY3RpbmcgdGhlIHNhbWUgdmlldyBhZ2FpbiB3aWxsIGhpZGUgdGhlIG92ZXJ2aWV3LlxuU2Nyb2xsaW5nIG9uIHRoZSBpY29ucyBhbGxvd3Mgc3dpdGNoaW5nIHdpbmRvd3Mgb24gYSB3b3Jrc3BhY2Ugb3IgY3ljbGluZyB0aHJvdWdoIHRoZSBXb3Jrc3BhY2VzLiIsCiAgIm5hbWUiOiAiQWN0aXZpdGllcyBJY29ucyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mYXd0eXRvby9hY3Rpdml0aWVzLWljb25zIiwKICAidXVpZCI6ICJhY3Rpdml0aWVzX2ljb25zQGZhd3R5dG9vIiwKICAidmVyc2lvbiI6IDcKfQ=="}}}
-, {"uuid": "transparent_panel@fawtytoo", "name": "Transparent Top Panel", "pname": "transparent-top-panel", "description": "Totally transparent top panel in the Overview.\nAlso adds drop shadows to text and icons for those using GS 3.38.", "link": "https://extensions.gnome.org/extension/2878/transparent-top-panel/", "shell_version_map": {"38": {"version": "6", "sha256": "1ss4ckxinql9jvdqlsscvb5ddj1lijibwn9zk3nhkdqpxnz5qwrq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvdGFsbHkgdHJhbnNwYXJlbnQgdG9wIHBhbmVsIGluIHRoZSBPdmVydmlldy5cbkFsc28gYWRkcyBkcm9wIHNoYWRvd3MgdG8gdGV4dCBhbmQgaWNvbnMgZm9yIHRob3NlIHVzaW5nIEdTIDMuMzguIiwKICAibmFtZSI6ICJUcmFuc3BhcmVudCBUb3AgUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAidHJhbnNwYXJlbnRfcGFuZWxAZmF3dHl0b28iLAogICJ2ZXJzaW9uIjogNgp9"}}}
+, {"uuid": "transparent_panel@fawtytoo", "name": "Transparent Top Panel", "pname": "transparent-top-panel", "description": "Totally transparent top panel in the Overview.\nAlso adds drop shadows to text and icons for those using GS 3.38.", "link": "https://extensions.gnome.org/extension/2878/transparent-top-panel/", "shell_version_map": {"38": {"version": "9", "sha256": "0samdl8ig95hin9xjc41pzh648s97cqs6sb6qmjzkhnd35cx0k9s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvdGFsbHkgdHJhbnNwYXJlbnQgdG9wIHBhbmVsIGluIHRoZSBPdmVydmlldy5cbkFsc28gYWRkcyBkcm9wIHNoYWRvd3MgdG8gdGV4dCBhbmQgaWNvbnMgZm9yIHRob3NlIHVzaW5nIEdTIDMuMzguIiwKICAibmFtZSI6ICJUcmFuc3BhcmVudCBUb3AgUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInRyYW5zcGFyZW50X3BhbmVsQGZhd3R5dG9vIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "40": {"version": "9", "sha256": "0samdl8ig95hin9xjc41pzh648s97cqs6sb6qmjzkhnd35cx0k9s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvdGFsbHkgdHJhbnNwYXJlbnQgdG9wIHBhbmVsIGluIHRoZSBPdmVydmlldy5cbkFsc28gYWRkcyBkcm9wIHNoYWRvd3MgdG8gdGV4dCBhbmQgaWNvbnMgZm9yIHRob3NlIHVzaW5nIEdTIDMuMzguIiwKICAibmFtZSI6ICJUcmFuc3BhcmVudCBUb3AgUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInRyYW5zcGFyZW50X3BhbmVsQGZhd3R5dG9vIiwKICAidmVyc2lvbiI6IDkKfQ=="}}}
 , {"uuid": "overview_full_bright@fawtytoo", "name": "Overview Full Bright", "pname": "overview-full-bright", "description": "Shows the Overview in full brightness and without the vignette.\n\nNOTE: This will not be developed beyond GS 3.38.", "link": "https://extensions.gnome.org/extension/2884/overview-full-bright/", "shell_version_map": {"38": {"version": "4", "sha256": "1dm5h1kl40lsly9a80ch4mfi67ppwd7dgg4idx8vrcx5iksnzxil", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIHRoZSBPdmVydmlldyBpbiBmdWxsIGJyaWdodG5lc3MgYW5kIHdpdGhvdXQgdGhlIHZpZ25ldHRlLlxuXG5OT1RFOiBUaGlzIHdpbGwgbm90IGJlIGRldmVsb3BlZCBiZXlvbmQgR1MgMy4zOC4iLAogICJuYW1lIjogIk92ZXJ2aWV3IEZ1bGwgQnJpZ2h0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIm92ZXJ2aWV3X2Z1bGxfYnJpZ2h0QGZhd3R5dG9vIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
-, {"uuid": "trayIconsReloaded@selfmade.pl", "name": "Tray Icons: Reloaded", "pname": "tray-icons-reloaded", "description": "Tray Icons Reloaded is a GNOME Shell extension which bring back Tray Icons to top panel, with additional features.\n\n>>> Read compatibility note on GitHub there is also bug reporting <<<", "link": "https://extensions.gnome.org/extension/2890/tray-icons-reloaded/", "shell_version_map": {"38": {"version": "11", "sha256": "19icczlk4j8a1fdl19lqzinx9l82lwnvj5q8xaazvgm4yicxmh4b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYXkgSWNvbnMgUmVsb2FkZWQgaXMgYSBHTk9NRSBTaGVsbCBleHRlbnNpb24gd2hpY2ggYnJpbmcgYmFjayBUcmF5IEljb25zIHRvIHRvcCBwYW5lbCwgd2l0aCBhZGRpdGlvbmFsIGZlYXR1cmVzLlxuXG4+Pj4gUmVhZCBjb21wYXRpYmlsaXR5IG5vdGUgb24gR2l0SHViIHRoZXJlIGlzIGFsc28gYnVnIHJlcG9ydGluZyA8PDwiLAogICJuYW1lIjogIlRyYXkgSWNvbnM6IFJlbG9hZGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRyYXlJY29uc1JlbG9hZGVkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWFydGluUEwvVHJheS1JY29ucy1SZWxvYWRlZCIsCiAgInV1aWQiOiAidHJheUljb25zUmVsb2FkZWRAc2VsZm1hZGUucGwiLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "40": {"version": "14", "sha256": "0knl4brv7bjx6pwj3r6ywfadgfw2yqwdxxxxfykcay6q95baf8jz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYXkgSWNvbnMgUmVsb2FkZWQgaXMgYSBHTk9NRSBTaGVsbCBleHRlbnNpb24gd2hpY2ggYnJpbmcgYmFjayBUcmF5IEljb25zIHRvIHRvcCBwYW5lbCwgd2l0aCBhZGRpdGlvbmFsIGZlYXR1cmVzLlxuXG4+Pj4gUmVhZCBjb21wYXRpYmlsaXR5IG5vdGUgb24gR2l0SHViIHRoZXJlIGlzIGFsc28gYnVnIHJlcG9ydGluZyA8PDwiLAogICJuYW1lIjogIlRyYXkgSWNvbnM6IFJlbG9hZGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRyYXlJY29uc1JlbG9hZGVkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01hcnRpblBML1RyYXktSWNvbnMtUmVsb2FkZWQiLAogICJ1dWlkIjogInRyYXlJY29uc1JlbG9hZGVkQHNlbGZtYWRlLnBsIiwKICAidmVyc2lvbiI6IDE0Cn0="}}}
-, {"uuid": "messagingmenu@lauinger-clan.de", "name": "Messaging Menu", "pname": "messaging-menu", "description": "A Messaging Menu for the Gnome Shell. All Email and Chat Applications in one Place.", "link": "https://extensions.gnome.org/extension/2896/messaging-menu/", "shell_version_map": {"38": {"version": "4", "sha256": "1xa0hyvs2aw1z7kg5gcsgh2pjn7b13zhps98j4xpwfiv6zm0sa73", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgTWVzc2FnaW5nIE1lbnUgZm9yIHRoZSBHbm9tZSBTaGVsbC4gQWxsIEVtYWlsIGFuZCBDaGF0IEFwcGxpY2F0aW9ucyBpbiBvbmUgUGxhY2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiTWVzc2FnaW5nIE1lbnUiLAogICJvcmlnaW5hbC1hdXRob3IiOiAic2luaXN0ZXJzdHVmIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1lc3NhZ2luZ21lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9DaHJpc0xhdWluZ2VyNzcvbWVzc2FnaW5nbWVudSIsCiAgInV1aWQiOiAibWVzc2FnaW5nbWVudUBsYXVpbmdlci1jbGFuLmRlIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "40": {"version": "6", "sha256": "09hd9qvg4xcyz2pjv3bwx3kmzhkq95598msxf2h7jzn7kdvmc3pp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgTWVzc2FnaW5nIE1lbnUgZm9yIHRoZSBHbm9tZSBTaGVsbC4gQWxsIEVtYWlsIGFuZCBDaGF0IEFwcGxpY2F0aW9ucyBpbiBvbmUgUGxhY2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiTWVzc2FnaW5nIE1lbnUiLAogICJvcmlnaW5hbC1hdXRob3IiOiAic2luaXN0ZXJzdHVmIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1lc3NhZ2luZ21lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwLjAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9DaHJpc0xhdWluZ2VyNzcvbWVzc2FnaW5nbWVudSIsCiAgInV1aWQiOiAibWVzc2FnaW5nbWVudUBsYXVpbmdlci1jbGFuLmRlIiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
-, {"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": "4", "sha256": "17pcz8m4xs1rqfzr1whp56hdifsfqj1fw9087viqs7gb398ji7gx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldHRpbmdzIENlbnRlciBpcyBhIGN1c3RvbWl6YWJsZSBkcm9wLWRvd24gbWVudSBmb3IgcXVpY2tseSBsYXVuY2hpbmcgZnJlcXVlbnRseSB1c2VkIGFwcHMgaW4gR25vbWU6U2hlbGwgdmlhIHRoZSB1c2VyL2FnZ3JlZ2F0ZSBtZW51LiBPcmlnaW5hbGx5IGNyZWF0ZWQgYnkgWEVTLlxuXG52MTA6IGZpeCBmb3Igb2xkZXIgdmVyc2lvbnMsIGkgaGF2ZW50IHRlc3RlZCB0aGlzIG9uIGFueXRoaW5nIGJlbG93IDMuMTAsIHY5OiBtaW5vciBjbGVhbnVwLCBub3cgaGFzIGFuIGljb24gZm9yIHRoZSBtYWluIG1lbnUgZW50cnkuIFxuXG5TZXR0aW5ncyBzaG9ydGN1dHMgOiBnbm9tZS10d2Vhay10b29sLCBkY29uZi1lZGl0b3IsIGdjb25mLWVkaXRvciwgZ25vbWUtc2Vzc2lvbi1wcm9wZXJ0aWVzLCBnbm9tZS1zaGVsbC1leHRlbnNpb24tcHJlZnMsIHNlYWhvcnNlIGFuZCBudmlkaWEtc2V0dGluZ3MuIFlvdSBjYW4gYWRkIHlvdXIgb3duXG5cbk9yaWdpbmFsIHNvdXJjZSA6IGh0dHA6Ly9zdm4ueGVzbmV0LmZyL2dub21lZXh0ZW5zaW9ucyAoMy44IHJlcGxhY2UgU2V0dGluZ3MgY29kZSBjcmVkaXQgSXNhY0RhYXZpZClcblxuQ3JlZGl0IHRvIEBwZWFjZXNlZWtlciBmb3IgdXBkYXRpbmcgdGhpcyB3aXRoIGEgd29ya2luZyByZXBvLCBpIGRvIHdpc2ggaXQgY291bGQgaGF2ZSBiZWVuIHB1c2hlZCB0byBtZSBidXQgbXkgYmxhbmsgcmVwbyB3YXMgZGVsZXRlZCBhcyBpdCB3YXMgc3RhbGUsIGkgZmFpbGVkIHRvIHB1c2ggdG8gZ2l0IGJlZm9yZSBnb2luZyBiYWNrIHRvIHdvcmsgYXJvdW5kIDEuNSB5ZWFycyBhZ28gYW5kIGkgaGFkbid0IGJlZW4gYWN0aXZlIGVub3VnaCB0byBub3RpY2UgYW55dGhpbmcgb3RoZXIgdGhhbiBlbWFpbHModGhlc2UgdGhpbmdzIGhlbHAgcGVvcGxlISkiLAogICJsb2NhbGUiOiAiL3Vzci9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIlNldHRpbmdzQ2VudGVyIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIlhlcywgbDMwMGx2bCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0NocmlzTGF1aW5nZXI3Ny9YRVMtU2V0dGluZ3MtQ2VudGVyLUV4dGVuc2lvbiIsCiAgInV1aWQiOiAiU2V0dGluZ3NDZW50ZXJAbGF1aW5nZXItY2xhbi5kZSIsCiAgInZlcnNpb24iOiA0Cn0="}}}
+, {"uuid": "trayIconsReloaded@selfmade.pl", "name": "Tray Icons: Reloaded", "pname": "tray-icons-reloaded", "description": "Tray Icons Reloaded is a GNOME Shell extension which bring back Tray Icons to top panel, with additional features.\n\n>>> Read compatibility note on GitHub there is also bug reporting <<<", "link": "https://extensions.gnome.org/extension/2890/tray-icons-reloaded/", "shell_version_map": {"38": {"version": "11", "sha256": "19icczlk4j8a1fdl19lqzinx9l82lwnvj5q8xaazvgm4yicxmh4b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYXkgSWNvbnMgUmVsb2FkZWQgaXMgYSBHTk9NRSBTaGVsbCBleHRlbnNpb24gd2hpY2ggYnJpbmcgYmFjayBUcmF5IEljb25zIHRvIHRvcCBwYW5lbCwgd2l0aCBhZGRpdGlvbmFsIGZlYXR1cmVzLlxuXG4+Pj4gUmVhZCBjb21wYXRpYmlsaXR5IG5vdGUgb24gR2l0SHViIHRoZXJlIGlzIGFsc28gYnVnIHJlcG9ydGluZyA8PDwiLAogICJuYW1lIjogIlRyYXkgSWNvbnM6IFJlbG9hZGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRyYXlJY29uc1JlbG9hZGVkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWFydGluUEwvVHJheS1JY29ucy1SZWxvYWRlZCIsCiAgInV1aWQiOiAidHJheUljb25zUmVsb2FkZWRAc2VsZm1hZGUucGwiLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "40": {"version": "16", "sha256": "0bwpxfc2wjvv254fnr05q3cvs1r0jw0fdj7n8b20vdwry48n30vb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYXkgSWNvbnMgUmVsb2FkZWQgaXMgYSBHTk9NRSBTaGVsbCBleHRlbnNpb24gd2hpY2ggYnJpbmcgYmFjayBUcmF5IEljb25zIHRvIHRvcCBwYW5lbCwgd2l0aCBhZGRpdGlvbmFsIGZlYXR1cmVzLlxuXG4+Pj4gUmVhZCBjb21wYXRpYmlsaXR5IG5vdGUgb24gR2l0SHViIHRoZXJlIGlzIGFsc28gYnVnIHJlcG9ydGluZyA8PDwiLAogICJuYW1lIjogIlRyYXkgSWNvbnM6IFJlbG9hZGVkIiwKICAib3Blbi1ibGFja2xpc3QiOiBbCiAgICAiRWxlY3Ryb24iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRyYXlJY29uc1JlbG9hZGVkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01hcnRpblBML1RyYXktSWNvbnMtUmVsb2FkZWQiLAogICJ1dWlkIjogInRyYXlJY29uc1JlbG9hZGVkQHNlbGZtYWRlLnBsIiwKICAidmVyc2lvbiI6IDE2Cn0="}}}
+, {"uuid": "messagingmenu@lauinger-clan.de", "name": "Messaging Menu", "pname": "messaging-menu", "description": "A Messaging Menu for the Gnome Shell. All Email and Chat Applications in one Place.", "link": "https://extensions.gnome.org/extension/2896/messaging-menu/", "shell_version_map": {"38": {"version": "4", "sha256": "1xa0hyvs2aw1z7kg5gcsgh2pjn7b13zhps98j4xpwfiv6zm0sa73", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgTWVzc2FnaW5nIE1lbnUgZm9yIHRoZSBHbm9tZSBTaGVsbC4gQWxsIEVtYWlsIGFuZCBDaGF0IEFwcGxpY2F0aW9ucyBpbiBvbmUgUGxhY2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiTWVzc2FnaW5nIE1lbnUiLAogICJvcmlnaW5hbC1hdXRob3IiOiAic2luaXN0ZXJzdHVmIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1lc3NhZ2luZ21lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9DaHJpc0xhdWluZ2VyNzcvbWVzc2FnaW5nbWVudSIsCiAgInV1aWQiOiAibWVzc2FnaW5nbWVudUBsYXVpbmdlci1jbGFuLmRlIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "40": {"version": "8", "sha256": "1pxf5rk8nqm6scm38np546g5z9xlnf2nghzbayrxk91b67qq6znv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgTWVzc2FnaW5nIE1lbnUgZm9yIHRoZSBHbm9tZSBTaGVsbC4gQWxsIEVtYWlsIGFuZCBDaGF0IEFwcGxpY2F0aW9ucyBpbiBvbmUgUGxhY2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiTWVzc2FnaW5nIE1lbnUiLAogICJvcmlnaW5hbC1hdXRob3IiOiAic2luaXN0ZXJzdHVmIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1lc3NhZ2luZ21lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0NocmlzTGF1aW5nZXI3Ny9tZXNzYWdpbmdtZW51IiwKICAidXVpZCI6ICJtZXNzYWdpbmdtZW51QGxhdWluZ2VyLWNsYW4uZGUiLAogICJ2ZXJzaW9uIjogOAp9"}}}
+, {"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": "6", "sha256": "0vbvkvrx9yd2jci452m1wdqhx1d1a858kgg45abqds8d7vdmlph1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldHRpbmdzIENlbnRlciBpcyBhIGN1c3RvbWl6YWJsZSBkcm9wLWRvd24gbWVudSBmb3IgcXVpY2tseSBsYXVuY2hpbmcgZnJlcXVlbnRseSB1c2VkIGFwcHMgaW4gR25vbWU6U2hlbGwgdmlhIHRoZSB1c2VyL2FnZ3JlZ2F0ZSBtZW51LiBPcmlnaW5hbGx5IGNyZWF0ZWQgYnkgWEVTLlxuXG52MTA6IGZpeCBmb3Igb2xkZXIgdmVyc2lvbnMsIGkgaGF2ZW50IHRlc3RlZCB0aGlzIG9uIGFueXRoaW5nIGJlbG93IDMuMTAsIHY5OiBtaW5vciBjbGVhbnVwLCBub3cgaGFzIGFuIGljb24gZm9yIHRoZSBtYWluIG1lbnUgZW50cnkuIFxuXG5TZXR0aW5ncyBzaG9ydGN1dHMgOiBnbm9tZS10d2Vhay10b29sLCBkY29uZi1lZGl0b3IsIGdjb25mLWVkaXRvciwgZ25vbWUtc2Vzc2lvbi1wcm9wZXJ0aWVzLCBnbm9tZS1zaGVsbC1leHRlbnNpb24tcHJlZnMsIHNlYWhvcnNlIGFuZCBudmlkaWEtc2V0dGluZ3MuIFlvdSBjYW4gYWRkIHlvdXIgb3duXG5cbk9yaWdpbmFsIHNvdXJjZSA6IGh0dHA6Ly9zdm4ueGVzbmV0LmZyL2dub21lZXh0ZW5zaW9ucyAoMy44IHJlcGxhY2UgU2V0dGluZ3MgY29kZSBjcmVkaXQgSXNhY0RhYXZpZClcblxuQ3JlZGl0IHRvIEBwZWFjZXNlZWtlciBmb3IgdXBkYXRpbmcgdGhpcyB3aXRoIGEgd29ya2luZyByZXBvLCBpIGRvIHdpc2ggaXQgY291bGQgaGF2ZSBiZWVuIHB1c2hlZCB0byBtZSBidXQgbXkgYmxhbmsgcmVwbyB3YXMgZGVsZXRlZCBhcyBpdCB3YXMgc3RhbGUsIGkgZmFpbGVkIHRvIHB1c2ggdG8gZ2l0IGJlZm9yZSBnb2luZyBiYWNrIHRvIHdvcmsgYXJvdW5kIDEuNSB5ZWFycyBhZ28gYW5kIGkgaGFkbid0IGJlZW4gYWN0aXZlIGVub3VnaCB0byBub3RpY2UgYW55dGhpbmcgb3RoZXIgdGhhbiBlbWFpbHModGhlc2UgdGhpbmdzIGhlbHAgcGVvcGxlISkiLAogICJsb2NhbGUiOiAiL3Vzci9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIlNldHRpbmdzQ2VudGVyIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIlhlcywgbDMwMGx2bCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQ2hyaXNMYXVpbmdlcjc3L1hFUy1TZXR0aW5ncy1DZW50ZXItRXh0ZW5zaW9uIiwKICAidXVpZCI6ICJTZXR0aW5nc0NlbnRlckBsYXVpbmdlci1jbGFuLmRlIiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
 , {"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": "12", "sha256": "18f1pdz50m5dw86y2zj3jij2p0sakh3qpjq2g1d55pfg96zzrd5m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5nIE91dCBTdWJtZW51IE9mIFBvd2VyIE9mZi9Mb2dvdXQgQnV0dG9uIGFuZCBSZWFycmFuZ2UgdGhlIE9yZGVyIG9mIFN5c3RlbSBNZW51LiIsCiAgIm5hbWUiOiAiQnJpbmcgT3V0IFN1Ym1lbnUgT2YgUG93ZXIgT2ZmL0xvZ291dCBCdXR0b24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9QUkFUQVAtS1VNQVIvQnJpbmctT3V0LVN1Ym1lbnUtb2YtUG93ZXItT2ZmLUxvZ291dCIsCiAgInV1aWQiOiAiQnJpbmdPdXRTdWJtZW51T2ZQb3dlck9mZkxvZ291dEJ1dHRvbkBwcmF0YXAuZmFzdG1haWwuZm0iLAogICJ2ZXJzaW9uIjogMTIKfQ=="}, "40": {"version": "13", "sha256": "04nxhhi46ms0z7hqkd2c0v984ls0dcpg4d4p9jgvkkp1d4ib3yvf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5nIE91dCBTdWJtZW51IE9mIFBvd2VyIE9mZi9Mb2dvdXQgQnV0dG9uIGFuZCBSZWFycmFuZ2UgdGhlIE9yZGVyIG9mIFN5c3RlbSBNZW51LiIsCiAgIm5hbWUiOiAiQnJpbmcgT3V0IFN1Ym1lbnUgT2YgUG93ZXIgT2ZmL0xvZ291dCBCdXR0b24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwLmFscGhhIiwKICAgICI0MC4wIiwKICAgICI0MC5iZXRhIiwKICAgICI0MC5yYyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1BSQVRBUC1LVU1BUi9CcmluZy1PdXQtU3VibWVudS1vZi1Qb3dlci1PZmYtTG9nb3V0IiwKICAidXVpZCI6ICJCcmluZ091dFN1Ym1lbnVPZlBvd2VyT2ZmTG9nb3V0QnV0dG9uQHByYXRhcC5mYXN0bWFpbC5mbSIsCiAgInZlcnNpb24iOiAxMwp9"}}}
+, {"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": "22", "sha256": "0iigq5qb4jh8rjc7m8abz4fsqrihppax4czgwhphkc3fyk2r8iym", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5nIE91dCBTdWJtZW51IE9mIFBvd2VyIE9mZi9Mb2dvdXQgQnV0dG9uIGFuZCBSZWFycmFuZ2UgdGhlIE9yZGVyIG9mIFN5c3RlbSBNZW51LiIsCiAgIm5hbWUiOiAiQnJpbmcgT3V0IFN1Ym1lbnUgT2YgUG93ZXIgT2ZmL0xvZ291dCBCdXR0b24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9QUkFUQVAtS1VNQVIvQnJpbmctT3V0LVN1Ym1lbnUtb2YtUG93ZXItT2ZmLUxvZ291dCIsCiAgInV1aWQiOiAiQnJpbmdPdXRTdWJtZW51T2ZQb3dlck9mZkxvZ291dEJ1dHRvbkBwcmF0YXAuZmFzdG1haWwuZm0iLAogICJ2ZXJzaW9uIjogMjIKfQ=="}, "40": {"version": "23", "sha256": "1p3g1a68a02cy646lfh5zshn0d1xra4y3w9l1i7n3g26rzxgdsbw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5nIE91dCBTdWJtZW51IE9mIFBvd2VyIE9mZi9Mb2dvdXQgQnV0dG9uIGFuZCBSZWFycmFuZ2UgdGhlIE9yZGVyIG9mIFN5c3RlbSBNZW51LiIsCiAgIm5hbWUiOiAiQnJpbmcgT3V0IFN1Ym1lbnUgT2YgUG93ZXIgT2ZmL0xvZ291dCBCdXR0b24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUFJBVEFQLUtVTUFSL0JyaW5nLU91dC1TdWJtZW51LW9mLVBvd2VyLU9mZi1Mb2dvdXQiLAogICJ1dWlkIjogIkJyaW5nT3V0U3VibWVudU9mUG93ZXJPZmZMb2dvdXRCdXR0b25AcHJhdGFwLmZhc3RtYWlsLmZtIiwKICAidmVyc2lvbiI6IDIzCn0="}}}
 , {"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": "3", "sha256": "07wrch3rabbfx79w3ivp3q81r2kvf2x4hd469jrvb83qmmfaypgh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIHJlbWFpbmluZyB0aW1lIHVudGlsIGZ1bGx5IGNoYXJnZWQvZGlzY2hhcmdlZCBhcyB3ZWxsIGFzIHBlcmNlbnRhZ2Ugb2YgYmF0dGVyeSBjaGFyZ2UgaW4gdGhlIHBhbmVsLiIsCiAgImdldHRleHQtZG9tYWluIjogImJhdHRlcnl0aW1lcGVyY2VudGFnZWNvbXBhY3QiLAogICJuYW1lIjogIkJhdHRlcnkgVGltZSAoUGVyY2VudGFnZSkgQ29tcGFjdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5iYXR0ZXJ5dGltZXBlcmNlbnRhZ2Vjb21wYWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MC5yYyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NhR3JMYW5kL2dub21lLXNoZWxsLWJhdHRlcnktdGltZS1wZXJjZW50YWdlLWNvbXBhY3QiLAogICJ1dWlkIjogImJhdHRlcnl0aW1lcGVyY2VudGFnZWNvbXBhY3RAc2FncmxhbmQuZGUiLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "3", "sha256": "07wrch3rabbfx79w3ivp3q81r2kvf2x4hd469jrvb83qmmfaypgh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIHJlbWFpbmluZyB0aW1lIHVudGlsIGZ1bGx5IGNoYXJnZWQvZGlzY2hhcmdlZCBhcyB3ZWxsIGFzIHBlcmNlbnRhZ2Ugb2YgYmF0dGVyeSBjaGFyZ2UgaW4gdGhlIHBhbmVsLiIsCiAgImdldHRleHQtZG9tYWluIjogImJhdHRlcnl0aW1lcGVyY2VudGFnZWNvbXBhY3QiLAogICJuYW1lIjogIkJhdHRlcnkgVGltZSAoUGVyY2VudGFnZSkgQ29tcGFjdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5iYXR0ZXJ5dGltZXBlcmNlbnRhZ2Vjb21wYWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MC5yYyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NhR3JMYW5kL2dub21lLXNoZWxsLWJhdHRlcnktdGltZS1wZXJjZW50YWdlLWNvbXBhY3QiLAogICJ1dWlkIjogImJhdHRlcnl0aW1lcGVyY2VudGFnZWNvbXBhY3RAc2FncmxhbmQuZGUiLAogICJ2ZXJzaW9uIjogMwp9"}}}
-, {"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": "10", "sha256": "0qaldgvkgp70hl1r8f82cxs15pgvgz2ls7zcav2vsig1h0jl7s7r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4ZWN1dGUgbXVsdGlwbGUgc2hlbGwgY29tbWFuZHMgcGVyaW9kaWNhbGx5IHdpdGggc2VwYXJhdGUgaW50ZXJ2YWxzIGFuZCBkaXNwbGF5IHRoZSBvdXRwdXQgaW4gZ25vbWUgdG9wIGJhci4iLAogICJuYW1lIjogIkV4ZWN1dG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwLjIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmF1am9uYXMvZXhlY3V0b3IiLAogICJ1dWlkIjogImV4ZWN1dG9yQHJhdWpvbmFzLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxMAp9"}, "40": {"version": "10", "sha256": "0qaldgvkgp70hl1r8f82cxs15pgvgz2ls7zcav2vsig1h0jl7s7r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4ZWN1dGUgbXVsdGlwbGUgc2hlbGwgY29tbWFuZHMgcGVyaW9kaWNhbGx5IHdpdGggc2VwYXJhdGUgaW50ZXJ2YWxzIGFuZCBkaXNwbGF5IHRoZSBvdXRwdXQgaW4gZ25vbWUgdG9wIGJhci4iLAogICJuYW1lIjogIkV4ZWN1dG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwLjIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmF1am9uYXMvZXhlY3V0b3IiLAogICJ1dWlkIjogImV4ZWN1dG9yQHJhdWpvbmFzLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxMAp9"}}}
-, {"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": "7", "sha256": "0zdvkv8swvr9dmv3b52zjss270j1b3gq386vhahkhxk93hg6n66f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdGhlIEJsdXIgRWZmZWN0IE9uIExvY2sgU2NyZWVuLiIsCiAgIm5hbWUiOiAiQ29udHJvbCBCbHVyIEVmZmVjdCBPbiBMb2NrIFNjcmVlbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1BSQVRBUC1LVU1BUi9Db250cm9sX0JsdXJfRWZmZWN0X09uX0xvY2tfU2NyZWVuIiwKICAidXVpZCI6ICJDb250cm9sQmx1ckVmZmVjdE9uTG9ja1NjcmVlbkBwcmF0YXAuZmFzdG1haWwuZm0iLAogICJ2ZXJzaW9uIjogNwp9"}, "40": {"version": "10", "sha256": "05j3mphb04iyngv347mzqb8dr1rx49fg2snjczgx9cxl2xa65797", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdGhlIEJsdXIgRWZmZWN0IE9uIExvY2sgU2NyZWVuLiIsCiAgIm5hbWUiOiAiQ29udHJvbCBCbHVyIEVmZmVjdCBPbiBMb2NrIFNjcmVlbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1BSQVRBUC1LVU1BUi9Db250cm9sX0JsdXJfRWZmZWN0X09uX0xvY2tfU2NyZWVuIiwKICAidXVpZCI6ICJDb250cm9sQmx1ckVmZmVjdE9uTG9ja1NjcmVlbkBwcmF0YXAuZmFzdG1haWwuZm0iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}}}
+, {"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": "16", "sha256": "07fa3dqydyhm6rc6iqq1qqikp00ax7swg01c4mbzh2j0awi12fig", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4ZWN1dGUgbXVsdGlwbGUgc2hlbGwgY29tbWFuZHMgcGVyaW9kaWNhbGx5IHdpdGggc2VwYXJhdGUgaW50ZXJ2YWxzIGFuZCBkaXNwbGF5IHRoZSBvdXRwdXQgaW4gZ25vbWUgdG9wIGJhci4iLAogICJuYW1lIjogIkV4ZWN1dG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwLjIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmF1am9uYXMvZXhlY3V0b3IiLAogICJ1dWlkIjogImV4ZWN1dG9yQHJhdWpvbmFzLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxNgp9"}, "40": {"version": "16", "sha256": "07fa3dqydyhm6rc6iqq1qqikp00ax7swg01c4mbzh2j0awi12fig", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4ZWN1dGUgbXVsdGlwbGUgc2hlbGwgY29tbWFuZHMgcGVyaW9kaWNhbGx5IHdpdGggc2VwYXJhdGUgaW50ZXJ2YWxzIGFuZCBkaXNwbGF5IHRoZSBvdXRwdXQgaW4gZ25vbWUgdG9wIGJhci4iLAogICJuYW1lIjogIkV4ZWN1dG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwLjIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmF1am9uYXMvZXhlY3V0b3IiLAogICJ1dWlkIjogImV4ZWN1dG9yQHJhdWpvbmFzLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxNgp9"}}}
+, {"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": "15", "sha256": "1a8fslcwcv19inzca8snc76k0yacam8qyfws8gk52yy5apa2fwjd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdGhlIEJsdXIgRWZmZWN0IE9uIExvY2sgU2NyZWVuLiIsCiAgIm5hbWUiOiAiQ29udHJvbCBCbHVyIEVmZmVjdCBPbiBMb2NrIFNjcmVlbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9QUkFUQVAtS1VNQVIvQ29udHJvbF9CbHVyX0VmZmVjdF9Pbl9Mb2NrX1NjcmVlbiIsCiAgInV1aWQiOiAiQ29udHJvbEJsdXJFZmZlY3RPbkxvY2tTY3JlZW5AcHJhdGFwLmZhc3RtYWlsLmZtIiwKICAidmVyc2lvbiI6IDE1Cn0="}}}
 , {"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": "20", "sha256": "0lj9lzs0vngm6lr7dz1p6k6gnaz2a4hwp7g6y6i2r4c6kcwicqkq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvYmJseSB3aW5kb3dzIGVmZmVjdCBpbnNwaXJlZCBieSB0aGUgQ29tcGl6IG9uZXNcblxuTkJcbkluIGNhc2Ugb2YgdXBkYXRlIGVycm9yIHBsZWFzZSByZXN0YXJ0IEdub21lIFNoZWxsIChvbiBYb3JnIHByZXNzIEFMVCtGMiB0aGVuIHdyaXRlIHIgYW5kIHByZXNzIGVudGVyLCBvbiBXYXlsYW5kIGVuZCB0aGUgc2Vzc2lvbiBhbmQgbG9nIGluIGFnYWluKVxuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIEFMVEVSTkFUSVZFXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuYWx0ZXJuYXRpdmUgZXh0ZW5zaW9uIHRvIG9idGFpbiBhbiBlZmZlY3QgbW9yZSBzaW1pbGFyIHRvIHRoZSBvcmlnaW5hbDpcbmh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzMyMTAvY29tcGl6LXdpbmRvd3MtZWZmZWN0LyIsCiAgIm5hbWUiOiAiQ29tcGl6IGFsaWtlIHdpbmRvd3MgZWZmZWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hlcm1lczgzL2NvbXBpei1hbGlrZS13aW5kb3dzLWVmZmVjdCIsCiAgInV1aWQiOiAiY29tcGl6LWFsaWtlLXdpbmRvd3MtZWZmZWN0QGhlcm1lczgzLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMjAKfQ=="}, "40": {"version": "20", "sha256": "0lj9lzs0vngm6lr7dz1p6k6gnaz2a4hwp7g6y6i2r4c6kcwicqkq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvYmJseSB3aW5kb3dzIGVmZmVjdCBpbnNwaXJlZCBieSB0aGUgQ29tcGl6IG9uZXNcblxuTkJcbkluIGNhc2Ugb2YgdXBkYXRlIGVycm9yIHBsZWFzZSByZXN0YXJ0IEdub21lIFNoZWxsIChvbiBYb3JnIHByZXNzIEFMVCtGMiB0aGVuIHdyaXRlIHIgYW5kIHByZXNzIGVudGVyLCBvbiBXYXlsYW5kIGVuZCB0aGUgc2Vzc2lvbiBhbmQgbG9nIGluIGFnYWluKVxuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIEFMVEVSTkFUSVZFXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuYWx0ZXJuYXRpdmUgZXh0ZW5zaW9uIHRvIG9idGFpbiBhbiBlZmZlY3QgbW9yZSBzaW1pbGFyIHRvIHRoZSBvcmlnaW5hbDpcbmh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzMyMTAvY29tcGl6LXdpbmRvd3MtZWZmZWN0LyIsCiAgIm5hbWUiOiAiQ29tcGl6IGFsaWtlIHdpbmRvd3MgZWZmZWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hlcm1lczgzL2NvbXBpei1hbGlrZS13aW5kb3dzLWVmZmVjdCIsCiAgInV1aWQiOiAiY29tcGl6LWFsaWtlLXdpbmRvd3MtZWZmZWN0QGhlcm1lczgzLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMjAKfQ=="}}}
-, {"uuid": "light-dict@tuberry.github.io", "name": "Light Dict", "pname": "light-dict", "description": "Lightweight extension for instant action to primary selection, especially optimized for Dictionary lookup\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": "0afn26f234zsk4w1766yf5pr2rrb9d375f9qgqmxibaq34qbn4rx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpZ2h0d2VpZ2h0IGV4dGVuc2lvbiBmb3IgaW5zdGFudCBhY3Rpb24gdG8gcHJpbWFyeSBzZWxlY3Rpb24sIGVzcGVjaWFsbHkgb3B0aW1pemVkIGZvciBEaWN0aW9uYXJ5IGxvb2t1cFxuXG5Gb3Igc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIHZpYSB0aGUgaG9tZXBhZ2UgbGluayBiZWxvdy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJsaWdodC1kaWN0IiwKICAibmFtZSI6ICJMaWdodCBEaWN0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmxpZ2h0LWRpY3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90dWJlcnJ5L2xpZ2h0LWRpY3QiLAogICJ1dWlkIjogImxpZ2h0LWRpY3RAdHViZXJyeS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNDcKfQ=="}, "40": {"version": "54", "sha256": "0gjfpy5lk5qp093syhz5q8c30hbrw2wijnzwbykidczrh58qr3g9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpZ2h0d2VpZ2h0IGV4dGVuc2lvbiBmb3IgaW5zdGFudCBhY3Rpb24gdG8gcHJpbWFyeSBzZWxlY3Rpb24sIGVzcGVjaWFsbHkgb3B0aW1pemVkIGZvciBEaWN0aW9uYXJ5IGxvb2t1cFxuXG5Gb3Igc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIHZpYSB0aGUgaG9tZXBhZ2UgbGluayBiZWxvdy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJsaWdodC1kaWN0IiwKICAibmFtZSI6ICJMaWdodCBEaWN0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmxpZ2h0LWRpY3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHViZXJyeS9saWdodC1kaWN0IiwKICAidXVpZCI6ICJsaWdodC1kaWN0QHR1YmVycnkuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDU0Cn0="}}}
+, {"uuid": "light-dict@tuberry.github.io", "name": "Light Dict", "pname": "light-dict", "description": "Lightweight extension for instant action to primary selection, especially optimized for Dictionary lookup\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": "0afn26f234zsk4w1766yf5pr2rrb9d375f9qgqmxibaq34qbn4rx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpZ2h0d2VpZ2h0IGV4dGVuc2lvbiBmb3IgaW5zdGFudCBhY3Rpb24gdG8gcHJpbWFyeSBzZWxlY3Rpb24sIGVzcGVjaWFsbHkgb3B0aW1pemVkIGZvciBEaWN0aW9uYXJ5IGxvb2t1cFxuXG5Gb3Igc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIHZpYSB0aGUgaG9tZXBhZ2UgbGluayBiZWxvdy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJsaWdodC1kaWN0IiwKICAibmFtZSI6ICJMaWdodCBEaWN0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmxpZ2h0LWRpY3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90dWJlcnJ5L2xpZ2h0LWRpY3QiLAogICJ1dWlkIjogImxpZ2h0LWRpY3RAdHViZXJyeS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNDcKfQ=="}, "40": {"version": "56", "sha256": "1r8lw1fr8xw1dq8kgjjg2znzbj1665saj14jr1igpmkg9czxy3c6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpZ2h0d2VpZ2h0IGV4dGVuc2lvbiBmb3IgaW5zdGFudCBhY3Rpb24gdG8gcHJpbWFyeSBzZWxlY3Rpb24sIGVzcGVjaWFsbHkgb3B0aW1pemVkIGZvciBEaWN0aW9uYXJ5IGxvb2t1cFxuXG5Gb3Igc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIHZpYSB0aGUgaG9tZXBhZ2UgbGluayBiZWxvdy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tbGlnaHQtZGljdCIsCiAgIm5hbWUiOiAiTGlnaHQgRGljdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5saWdodC1kaWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R1YmVycnkvbGlnaHQtZGljdCIsCiAgInV1aWQiOiAibGlnaHQtZGljdEB0dWJlcnJ5LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA1Ngp9"}}}
 , {"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": "6", "sha256": "0qjqf5wdwvav5333k44qbgzkgwbhhm42370862ba8p3anih5d72w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBhbmQgbWluaW1hbCBpbnRlcm5ldCBzcGVlZCBtZXRlciBleHRlbnNpb24gZm9yIGdub21lIHNoZWxsIiwKICAibmFtZSI6ICJJbnRlcm5ldCBTcGVlZCBNZXRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9BbFNoYWtpYi9JbnRlcm5ldFNwZWVkTWV0ZXIiLAogICJ1dWlkIjogIkludGVybmV0U3BlZWRNZXRlckBhbHNoYWtpYi5kZXYiLAogICJ2ZXJzaW9uIjogNgp9"}, "40": {"version": "6", "sha256": "0qjqf5wdwvav5333k44qbgzkgwbhhm42370862ba8p3anih5d72w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBhbmQgbWluaW1hbCBpbnRlcm5ldCBzcGVlZCBtZXRlciBleHRlbnNpb24gZm9yIGdub21lIHNoZWxsIiwKICAibmFtZSI6ICJJbnRlcm5ldCBTcGVlZCBNZXRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9BbFNoYWtpYi9JbnRlcm5ldFNwZWVkTWV0ZXIiLAogICJ1dWlkIjogIkludGVybmV0U3BlZWRNZXRlckBhbHNoYWtpYi5kZXYiLAogICJ2ZXJzaW9uIjogNgp9"}}}
-, {"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": "8", "sha256": "0pd9q6k6q2w4fhhai6mjdmgp571cpambn3x5nq4579ry60cwlcl8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIHVzZWZ1bCBpbmZvcm1hdGlvbiBhYm91dCB5b3VyIHB1YmxpYyBJUCBBZGRyZXNzXG5cbklQIEZpbmRlciBkaXNwbGF5cyBpbmZvcm1hdGlvbiBhYm91dCB5b3VyIHB1YmxpYyBJUCBhZGRyZXNzLCBob3N0bmFtZSwgY291bnRyeSwgQVMgQmxvY2ssIGFzIHdlbGwgYXMgIGEgbWFwIHRpbGUgb2YgeW91ciBHZW9sb2NhdGlvbiBhbmQgY291bnRyeSBmbGFnLCAgdGhpcyBleHRlbnNpb24gaXMgQWxzbyBVc2VmdWwgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgdG8gbW9uaXRvciBWUE4gY2hhbmdlcyBhbmQgcHVibGljIG5ldHdvcmsgSVAgQWRkcmVzc2VzLlxuXG49PT09PT09PT09PT09PT09PT09PT1cbklQIEZpbmRlciBjYW4gbW9uaXRvciBpbiByZWFsIHRpbWVcbj09PT09PT09PT09PT09PT09PT09PVxuKldpcmVndWFyZCBjb25uZWN0aW9uc1xuKk9wZW5WUE4gY29ubmVjdGlvbnNcbipJUFY0LzYgY29ubmVjdGlvbnNcbipQcm94eSBjb25uZWN0aW9uc1xuKlZQTiB2ZW5kb3IgYXBwbGljYXRpb25zXG4qTWFudWFsIHN0YXRpYyBJUCBjaGFuZ2VzXG5cbj09PT09PT09PT09PT09PT09PT09XG5JUCBGaW5kZXIgaGFzIGFkZGVkIHNlY3VyaXR5XG49PT09PT09PT09PT09PT09PT09PVxuTmV3bHkgZGV2ZWxvcGVkIHJldmlzZWQgY29kZSBiYXNlIHVzaW5nIG9wZW4gdGVjaG5vbG9naWVzIGFuZCB1c2luZyBBUEkncyBmb3IgUHVibGljIElQIGFuZCBNYXAgVGlsZSBpbWFnZSBsb2NhdGlvbnMgdXNpbmcgR0VUIHJlcXVlc3RzIG92ZXIgSFRUUFMgZm9yIGEgYWRkZWQgbGF5ZXIgb2YgZW5jcnlwdGVkICBTZWN1cml0eSwgUGxlYXNlIHNlZSBzb3VyY2UgY29kZSBmb3IgbW9yZSBkZXRhaWxzLlxuXG49PT09PT09PT09PT09PT09PT09PVxuQ29tcGF0aWJsZSBHTk9NRSBzaGVsbCAtIDMuMzYgYW5kIG5ld2VyLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJpcC1maW5kZXIiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJpcC1maW5kZXIiLAogICJuYW1lIjogIklQIEZpbmRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wdWJsaWMtaXAtYWRkcmVzcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9MaW54R2VtMzMvSVAtRmluZGVyIiwKICAidXVpZCI6ICJJUC1GaW5kZXJAbGlueGdlbTMzLmNvbSIsCiAgInZlcnNpb24iOiA4Cn0="}, "40": {"version": "8", "sha256": "0pd9q6k6q2w4fhhai6mjdmgp571cpambn3x5nq4579ry60cwlcl8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIHVzZWZ1bCBpbmZvcm1hdGlvbiBhYm91dCB5b3VyIHB1YmxpYyBJUCBBZGRyZXNzXG5cbklQIEZpbmRlciBkaXNwbGF5cyBpbmZvcm1hdGlvbiBhYm91dCB5b3VyIHB1YmxpYyBJUCBhZGRyZXNzLCBob3N0bmFtZSwgY291bnRyeSwgQVMgQmxvY2ssIGFzIHdlbGwgYXMgIGEgbWFwIHRpbGUgb2YgeW91ciBHZW9sb2NhdGlvbiBhbmQgY291bnRyeSBmbGFnLCAgdGhpcyBleHRlbnNpb24gaXMgQWxzbyBVc2VmdWwgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgdG8gbW9uaXRvciBWUE4gY2hhbmdlcyBhbmQgcHVibGljIG5ldHdvcmsgSVAgQWRkcmVzc2VzLlxuXG49PT09PT09PT09PT09PT09PT09PT1cbklQIEZpbmRlciBjYW4gbW9uaXRvciBpbiByZWFsIHRpbWVcbj09PT09PT09PT09PT09PT09PT09PVxuKldpcmVndWFyZCBjb25uZWN0aW9uc1xuKk9wZW5WUE4gY29ubmVjdGlvbnNcbipJUFY0LzYgY29ubmVjdGlvbnNcbipQcm94eSBjb25uZWN0aW9uc1xuKlZQTiB2ZW5kb3IgYXBwbGljYXRpb25zXG4qTWFudWFsIHN0YXRpYyBJUCBjaGFuZ2VzXG5cbj09PT09PT09PT09PT09PT09PT09XG5JUCBGaW5kZXIgaGFzIGFkZGVkIHNlY3VyaXR5XG49PT09PT09PT09PT09PT09PT09PVxuTmV3bHkgZGV2ZWxvcGVkIHJldmlzZWQgY29kZSBiYXNlIHVzaW5nIG9wZW4gdGVjaG5vbG9naWVzIGFuZCB1c2luZyBBUEkncyBmb3IgUHVibGljIElQIGFuZCBNYXAgVGlsZSBpbWFnZSBsb2NhdGlvbnMgdXNpbmcgR0VUIHJlcXVlc3RzIG92ZXIgSFRUUFMgZm9yIGEgYWRkZWQgbGF5ZXIgb2YgZW5jcnlwdGVkICBTZWN1cml0eSwgUGxlYXNlIHNlZSBzb3VyY2UgY29kZSBmb3IgbW9yZSBkZXRhaWxzLlxuXG49PT09PT09PT09PT09PT09PT09PVxuQ29tcGF0aWJsZSBHTk9NRSBzaGVsbCAtIDMuMzYgYW5kIG5ld2VyLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJpcC1maW5kZXIiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJpcC1maW5kZXIiLAogICJuYW1lIjogIklQIEZpbmRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wdWJsaWMtaXAtYWRkcmVzcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9MaW54R2VtMzMvSVAtRmluZGVyIiwKICAidXVpZCI6ICJJUC1GaW5kZXJAbGlueGdlbTMzLmNvbSIsCiAgInZlcnNpb24iOiA4Cn0="}}}
-, {"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": "12", "sha256": "1hn8zi9n9kqbl9gqhv314zpbf4n55ra5p7q6ca1mm235dwssr3j3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBjYXQgdGVsbHMgeW91IHRoZSBDUFUgdXNhZ2UgYnkgcnVubmluZyBzcGVlZCIsCiAgIm5hbWUiOiAiUnVuQ2F0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vd2luMGVyci9nbm9tZS1ydW5jYXQiLAogICJ1dWlkIjogInJ1bmNhdEBrb2xlc25pa292LnNlIiwKICAidmVyc2lvbiI6IDEyCn0="}, "40": {"version": "12", "sha256": "1hn8zi9n9kqbl9gqhv314zpbf4n55ra5p7q6ca1mm235dwssr3j3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBjYXQgdGVsbHMgeW91IHRoZSBDUFUgdXNhZ2UgYnkgcnVubmluZyBzcGVlZCIsCiAgIm5hbWUiOiAiUnVuQ2F0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vd2luMGVyci9nbm9tZS1ydW5jYXQiLAogICJ1dWlkIjogInJ1bmNhdEBrb2xlc25pa292LnNlIiwKICAidmVyc2lvbiI6IDEyCn0="}}}
+, {"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=="}}}
+, {"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": "13", "sha256": "1y11vsqgvy6yvy8b6w4b4xa5spags86hq1ma6pp448ljdgwh40xa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBjYXQgdGVsbHMgeW91IHRoZSBDUFUgdXNhZ2UgYnkgcnVubmluZyBzcGVlZCIsCiAgIm5hbWUiOiAiUnVuQ2F0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3dpbjBlcnIvZ25vbWUtcnVuY2F0IiwKICAidXVpZCI6ICJydW5jYXRAa29sZXNuaWtvdi5zZSIsCiAgInZlcnNpb24iOiAxMwp9"}, "40": {"version": "13", "sha256": "1y11vsqgvy6yvy8b6w4b4xa5spags86hq1ma6pp448ljdgwh40xa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBjYXQgdGVsbHMgeW91IHRoZSBDUFUgdXNhZ2UgYnkgcnVubmluZyBzcGVlZCIsCiAgIm5hbWUiOiAiUnVuQ2F0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3dpbjBlcnIvZ25vbWUtcnVuY2F0IiwKICAidXVpZCI6ICJydW5jYXRAa29sZXNuaWtvdi5zZSIsCiAgInZlcnNpb24iOiAxMwp9"}}}
 , {"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": "Lenovo Ideapad", "pname": "ideapad", "description": "Lenovo Ideapad goodies for Gnome Shell.\nUser-friendly battery conservation mode control.\n\nPlease note additional installation steps are needed! Check on the homepage.", "link": "https://extensions.gnome.org/extension/2992/ideapad/", "shell_version_map": {"38": {"version": "3", "sha256": "1i68qi9r396sdhirp5xhaaxdzzjqhdv2i4hbp8dyiq2qxj9ny2w1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxlbm92byBJZGVhcGFkIGdvb2RpZXMgZm9yIEdub21lIFNoZWxsLlxuVXNlci1mcmllbmRseSBiYXR0ZXJ5IGNvbnNlcnZhdGlvbiBtb2RlIGNvbnRyb2wuXG5cblBsZWFzZSBub3RlIGFkZGl0aW9uYWwgaW5zdGFsbGF0aW9uIHN0ZXBzIGFyZSBuZWVkZWQhIENoZWNrIG9uIHRoZSBob21lcGFnZS4iLAogICJuYW1lIjogIkxlbm92byBJZGVhcGFkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbGF1cmVudG8vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWlkZWFwYWQiLAogICJ1dWlkIjogImlkZWFwYWRAbGF1cmVudG8uZnJpdHRlbGxhIiwKICAidmVyc2lvbiI6IDMKfQ=="}, "40": {"version": "3", "sha256": "1i68qi9r396sdhirp5xhaaxdzzjqhdv2i4hbp8dyiq2qxj9ny2w1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxlbm92byBJZGVhcGFkIGdvb2RpZXMgZm9yIEdub21lIFNoZWxsLlxuVXNlci1mcmllbmRseSBiYXR0ZXJ5IGNvbnNlcnZhdGlvbiBtb2RlIGNvbnRyb2wuXG5cblBsZWFzZSBub3RlIGFkZGl0aW9uYWwgaW5zdGFsbGF0aW9uIHN0ZXBzIGFyZSBuZWVkZWQhIENoZWNrIG9uIHRoZSBob21lcGFnZS4iLAogICJuYW1lIjogIkxlbm92byBJZGVhcGFkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbGF1cmVudG8vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWlkZWFwYWQiLAogICJ1dWlkIjogImlkZWFwYWRAbGF1cmVudG8uZnJpdHRlbGxhIiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
-, {"uuid": "user-theme-x@tuberry.github.io", "name": "User Themes X", "pname": "user-themes-x", "description": "Customizable user-theme with user stylesheet and night 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": "11q5f3rj2c27cb4gz8ga8kshc55gxqg7v841mrr2vw80p8792nr1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6YWJsZSB1c2VyLXRoZW1lIHdpdGggdXNlciBzdHlsZXNoZWV0IGFuZCBuaWdodCB0aGVtZSBhdXRvLXN3aXRjaCBzdXBwb3J0XG5cbkZvciBzdXBwb3J0LCBwbGVhc2UgcmVwb3J0IGFueSBpc3N1ZXMgdmlhIHRoZSBob21lcGFnZSBsaW5rIGJlbG93LiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ1c2VyLXRoZW1lLXgiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ1c2VyLXRoZW1lLXgiLAogICJuYW1lIjogIlVzZXIgVGhlbWVzIFgiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImpvaG4uc3Rvd2Vyc0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnVzZXItdGhlbWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90dWJlcnJ5L3VzZXItdGhlbWUteCIsCiAgInV1aWQiOiAidXNlci10aGVtZS14QHR1YmVycnkuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDIxCn0="}, "40": {"version": "23", "sha256": "11dchipn43fjrv32ylzcbirhwrxx5m9vfmwcwvlffwdcgvg5v6f2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6YWJsZSB1c2VyLXRoZW1lIHdpdGggdXNlciBzdHlsZXNoZWV0IGFuZCBuaWdodCB0aGVtZSBhdXRvLXN3aXRjaCBzdXBwb3J0XG5cbkZvciBzdXBwb3J0LCBwbGVhc2UgcmVwb3J0IGFueSBpc3N1ZXMgdmlhIHRoZSBob21lcGFnZSBsaW5rIGJlbG93LiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ1c2VyLXRoZW1lLXgiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ1c2VyLXRoZW1lLXgiLAogICJuYW1lIjogIlVzZXIgVGhlbWVzIFgiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImpvaG4uc3Rvd2Vyc0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnVzZXItdGhlbWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHViZXJyeS91c2VyLXRoZW1lLXgiLAogICJ1dWlkIjogInVzZXItdGhlbWUteEB0dWJlcnJ5LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAyMwp9"}}}
+, {"uuid": "ideapad@laurento.frittella", "name": "IdeaPad", "pname": "ideapad", "description": "Lenovo IdeaPad goodies for Gnome Shell", "link": "https://extensions.gnome.org/extension/2992/ideapad/", "shell_version_map": {"38": {"version": "4", "sha256": "0pnk7avnkp847vhdsgdyyp780aikly1bh56lvp6497q5ym14jfna", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxlbm92byBJZGVhUGFkIGdvb2RpZXMgZm9yIEdub21lIFNoZWxsIiwKICAibmFtZSI6ICJJZGVhUGFkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2xhdXJlbnRvL2dub21lLXNoZWxsLWV4dGVuc2lvbi1pZGVhcGFkIiwKICAidXVpZCI6ICJpZGVhcGFkQGxhdXJlbnRvLmZyaXR0ZWxsYSIsCiAgInZlcnNpb24iOiA0Cn0="}, "40": {"version": "4", "sha256": "0pnk7avnkp847vhdsgdyyp780aikly1bh56lvp6497q5ym14jfna", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxlbm92byBJZGVhUGFkIGdvb2RpZXMgZm9yIEdub21lIFNoZWxsIiwKICAibmFtZSI6ICJJZGVhUGFkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2xhdXJlbnRvL2dub21lLXNoZWxsLWV4dGVuc2lvbi1pZGVhcGFkIiwKICAidXVpZCI6ICJpZGVhcGFkQGxhdXJlbnRvLmZyaXR0ZWxsYSIsCiAgInZlcnNpb24iOiA0Cn0="}}}
+, {"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.", "link": "https://extensions.gnome.org/extension/3010/system-monitor-next/", "shell_version_map": {"40": {"version": "33", "sha256": "0zyrs51m7sh80sjpx57gg2fpw1xzddmccpp0im3cgjls3vm3ynvg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgc3lzdGVtIGluZm9ybWF0aW9uIGluIEdOT01FIFNoZWxsIHN0YXR1cyBiYXIsIHN1Y2ggYXMgbWVtb3J5LCBDUFUsIGRpc2sgYW5kIGJhdHRlcnkgdXNhZ2VzLCBuZXR3b3JrIHJhdGVzXHUyMDI2XG5cblRoaXMgZm9yayBvZiBwYXJhZG94eHh6ZXJvL2dub21lLXNoZWxsLXN5c3RlbS1tb25pdG9yLWFwcGxldCBpcyBmb3IgcGFja2FnaW5nIHB1cnBvc2VzIG9ubHkuIFRoaXMgZXh0ZW5zaW9uIGlzIGJ1aWx0IGFuZCB1cGRhdGVkIGNvbnRpbnVvdXNseSB3aXRoIHRoZSB1cHN0cmVhbSBtYXN0ZXIgYnJhbmNoLlxuXG5UaGlzIGlzIHByZWZlcmFibGUgZm9yIHVzZXJzIG9uIGJsZWVkaW5nIGVkZ2UgZGlzdHJpYnV0aW9ucyB0aGF0IHByZWZlciBub3QgdG8gd2FpdCBmb3IgYSBzdGFibGUgcmVsZWFzZSBmcm9tIHRoZSBtYWluIHJlcG8uIE9mIGNvdXJzZSwgc2luY2Ugd2UncmUgcmVsZWFzaW5nIGRpcmVjdGx5IGZyb20gbWFzdGVyIHNvbWUgaW5zdGFiaWxpdHkgaXMgaW5ldml0YWJsZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJzeXN0ZW0tbW9uaXRvciIsCiAgIm5hbWUiOiAic3lzdGVtLW1vbml0b3ItbmV4dCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zeXN0ZW0tbW9uaXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tZ2FsZ3MvZ25vbWUtc2hlbGwtc3lzdGVtLW1vbml0b3ItYXBwbGV0IiwKICAidXVpZCI6ICJzeXN0ZW0tbW9uaXRvci1uZXh0QHBhcmFkb3h4eC56ZXJvLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzMwp9"}}}
+, {"uuid": "user-theme-x@tuberry.github.io", "name": "User Themes X", "pname": "user-themes-x", "description": "Customizable user-theme with user stylesheet and night 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": "11q5f3rj2c27cb4gz8ga8kshc55gxqg7v841mrr2vw80p8792nr1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6YWJsZSB1c2VyLXRoZW1lIHdpdGggdXNlciBzdHlsZXNoZWV0IGFuZCBuaWdodCB0aGVtZSBhdXRvLXN3aXRjaCBzdXBwb3J0XG5cbkZvciBzdXBwb3J0LCBwbGVhc2UgcmVwb3J0IGFueSBpc3N1ZXMgdmlhIHRoZSBob21lcGFnZSBsaW5rIGJlbG93LiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ1c2VyLXRoZW1lLXgiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ1c2VyLXRoZW1lLXgiLAogICJuYW1lIjogIlVzZXIgVGhlbWVzIFgiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImpvaG4uc3Rvd2Vyc0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnVzZXItdGhlbWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90dWJlcnJ5L3VzZXItdGhlbWUteCIsCiAgInV1aWQiOiAidXNlci10aGVtZS14QHR1YmVycnkuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDIxCn0="}, "40": {"version": "24", "sha256": "0mcz80dys1h17k3ffrlai4180asbxc3dc2f92ib64p4gjy5qzalw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6YWJsZSB1c2VyLXRoZW1lIHdpdGggdXNlciBzdHlsZXNoZWV0IGFuZCBuaWdodCB0aGVtZSBhdXRvLXN3aXRjaCBzdXBwb3J0XG5cbkZvciBzdXBwb3J0LCBwbGVhc2UgcmVwb3J0IGFueSBpc3N1ZXMgdmlhIHRoZSBob21lcGFnZSBsaW5rIGJlbG93LiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ1c2VyLXRoZW1lLXgiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ1c2VyLXRoZW1lLXgiLAogICJuYW1lIjogIlVzZXIgVGhlbWVzIFgiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImpvaG4uc3Rvd2Vyc0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnVzZXItdGhlbWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHViZXJyeS91c2VyLXRoZW1lLXgiLAogICJ1dWlkIjogInVzZXItdGhlbWUteEB0dWJlcnJ5LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAyNAp9"}}}
 , {"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": "6", "sha256": "0bigmnvybrflmc7dq9g00c8h9sfwd2c8iqm8j4zg7mzj1gjaazkc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSB0ZXh0IGluIHRoZSBBcHBsaWNhdGlvbiB2aWV3IGNhbiBiZSBoYXJkIHRvIHJlYWQgb24gYSBsaWdodCBjb2xvdXJlZCBiYWNrZ3JvdW5kLiBUaGlzIGV4dGVuc2lvbiBtYWtlcyB0aGUgdGV4dCBib2xkZXIgd2l0aCBhIGRyb3Agc2hhZG93LlxuQWxzbyBpbXByb3ZlcyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgYXBwIHJ1bm5pbmcgZG90LiIsCiAgIm5hbWUiOiAiQXBwbGljYXRpb24gVmlldyBUZXh0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJhcHBfdmlld190ZXh0QGZhd3R5dG9vIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "40": {"version": "6", "sha256": "0bigmnvybrflmc7dq9g00c8h9sfwd2c8iqm8j4zg7mzj1gjaazkc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSB0ZXh0IGluIHRoZSBBcHBsaWNhdGlvbiB2aWV3IGNhbiBiZSBoYXJkIHRvIHJlYWQgb24gYSBsaWdodCBjb2xvdXJlZCBiYWNrZ3JvdW5kLiBUaGlzIGV4dGVuc2lvbiBtYWtlcyB0aGUgdGV4dCBib2xkZXIgd2l0aCBhIGRyb3Agc2hhZG93LlxuQWxzbyBpbXByb3ZlcyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgYXBwIHJ1bm5pbmcgZG90LiIsCiAgIm5hbWUiOiAiQXBwbGljYXRpb24gVmlldyBUZXh0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJhcHBfdmlld190ZXh0QGZhd3R5dG9vIiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
 , {"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": "0cvgcwk7liaaws9gf366xls7cn4slzzmh4l33qq91mgnm5wajr6k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBzaGFkb3dzb2NrcyBzdWJzY3JpYmVyIChTU0Qgb25seSksIHlldCBhbm90aGVyIHByb3h5IHN3aXRjaGVyIGZvciBnbm9tZSBzaGVsbFxuXG5Gb3Igc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIHZpYSB0aGUgaG9tZXBhZ2UgbGluayBiZWxvdy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJzcy1zdWJzY3JpYmVyIiwKICAibmFtZSI6ICJTaW1wbGUgU3Vic2NyaWJlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zcy1zdWJzY3JpYmVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHViZXJyeS9zcy1zdWJzY3JpYmVyIiwKICAidXVpZCI6ICJzc3NzQHR1LmJlcnJ5IiwKICAidmVyc2lvbiI6IDE4Cn0="}, "40": {"version": "20", "sha256": "0c9104f2a9b98732jwg0sgfjzbp5qsm2lgh1z1n5hp2524s1f0sv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBzaGFkb3dzb2NrcyBzdWJzY3JpYmVyIChTU0Qgb25seSksIHlldCBhbm90aGVyIHByb3h5IHN3aXRjaGVyIGZvciBnbm9tZSBzaGVsbFxuXG5Gb3Igc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIHZpYSB0aGUgaG9tZXBhZ2UgbGluayBiZWxvdy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJzcy1zdWJzY3JpYmVyIiwKICAibmFtZSI6ICJTaW1wbGUgU3Vic2NyaWJlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zcy1zdWJzY3JpYmVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R1YmVycnkvc3Mtc3Vic2NyaWJlciIsCiAgInV1aWQiOiAic3Nzc0B0dS5iZXJyeSIsCiAgInZlcnNpb24iOiAyMAp9"}}}
-, {"uuid": "extension-list@tu.berry", "name": "Extension List", "pname": "extension-list", "description": "Simple gnome shell extension manager in 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": "111q6m34vdsxbiw3nim3hwd2h3bf8mflg7s6qdzxcn1g0kih7x1i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBnbm9tZSBzaGVsbCBleHRlbnNpb24gbWFuYWdlciBpbiB0b3AgcGFuZWxcblxuRm9yIHN1cHBvcnQsIHBsZWFzZSByZXBvcnQgYW55IGlzc3VlcyB2aWEgdGhlIGhvbWVwYWdlIGxpbmsgYmVsb3cuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZXh0ZW5zaW9uLWxpc3QiLAogICJuYW1lIjogIkV4dGVuc2lvbiBMaXN0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmV4dGVuc2lvbi1saXN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHViZXJyeS9leHRlbnNpb24tbGlzdCIsCiAgInV1aWQiOiAiZXh0ZW5zaW9uLWxpc3RAdHUuYmVycnkiLAogICJ2ZXJzaW9uIjogMjUKfQ=="}, "40": {"version": "26", "sha256": "0sywsz7ksd16cxfw22xvmib8l7cb1d76dnx49sp7xawlimwjdj5q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBnbm9tZSBzaGVsbCBleHRlbnNpb24gbWFuYWdlciBpbiB0b3AgcGFuZWxcblxuRm9yIHN1cHBvcnQsIHBsZWFzZSByZXBvcnQgYW55IGlzc3VlcyB2aWEgdGhlIGhvbWVwYWdlIGxpbmsgYmVsb3cuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZXh0ZW5zaW9uLWxpc3QiLAogICJuYW1lIjogIkV4dGVuc2lvbiBMaXN0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmV4dGVuc2lvbi1saXN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R1YmVycnkvZXh0ZW5zaW9uLWxpc3QiLAogICJ1dWlkIjogImV4dGVuc2lvbi1saXN0QHR1LmJlcnJ5IiwKICAidmVyc2lvbiI6IDI2Cn0="}}}
+, {"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": "0ckv4i23bqga97pv4hsfkc2zx7hhyj2ngz0l4jw5bbfs25adg2jf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBnbm9tZSBzaGVsbCBleHRlbnNpb24gbWFuYWdlciBpbiB0aGUgdG9wIHBhbmVsXG5cbkZvciBzdXBwb3J0LCBwbGVhc2UgcmVwb3J0IGFueSBpc3N1ZXMgdmlhIHRoZSBob21lcGFnZSBsaW5rIGJlbG93LiIsCiAgImdldHRleHQtZG9tYWluIjogImV4dGVuc2lvbi1saXN0IiwKICAibmFtZSI6ICJFeHRlbnNpb24gTGlzdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5leHRlbnNpb24tbGlzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R1YmVycnkvZXh0ZW5zaW9uLWxpc3QiLAogICJ1dWlkIjogImV4dGVuc2lvbi1saXN0QHR1LmJlcnJ5IiwKICAidmVyc2lvbiI6IDI1Cn0="}, "40": {"version": "27", "sha256": "00n5v7a0qahkpan77np3jmiwzb399p1p8kbhcyd60l7r3910hbf7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBnbm9tZSBzaGVsbCBleHRlbnNpb24gbWFuYWdlciBpbiB0aGUgdG9wIHBhbmVsXG5cbkZvciBzdXBwb3J0LCBwbGVhc2UgcmVwb3J0IGFueSBpc3N1ZXMgdmlhIHRoZSBob21lcGFnZSBsaW5rIGJlbG93LiIsCiAgImdldHRleHQtZG9tYWluIjogImV4dGVuc2lvbi1saXN0IiwKICAibmFtZSI6ICJFeHRlbnNpb24gTGlzdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5leHRlbnNpb24tbGlzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90dWJlcnJ5L2V4dGVuc2lvbi1saXN0IiwKICAidXVpZCI6ICJleHRlbnNpb24tbGlzdEB0dS5iZXJyeSIsCiAgInZlcnNpb24iOiAyNwp9"}}}
 , {"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": "7", "sha256": "0ncqpr2rw8nbjyvwpq3x5ddiw1l1nmz0kw8698p0l7jmgycmi785", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5ldyBhbmQgbWF4aW1pemVkIHdpbmRvd3Mgd2lsbCBiZSBtb3ZlZCB0byBlbXB0eSB3b3Jrc3BhY2VzLlxuU3VwcG9ydHMgbXVsdGlwbGUgbW9uaXRvcnMuIiwKICAibmFtZSI6ICJNYXhpbWl6ZSBUbyBFbXB0eSBXb3Jrc3BhY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwLjAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rYWlzZXJhY20vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW1heGltaXplLXRvLWVtcHR5LXdvcmtzcGFjZSIsCiAgInV1aWQiOiAiTWF4aW1pemVUb0VtcHR5V29ya3NwYWNlLWV4dGVuc2lvbkBrYWlzZXJzaXRlLmRlIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "40": {"version": "7", "sha256": "0ncqpr2rw8nbjyvwpq3x5ddiw1l1nmz0kw8698p0l7jmgycmi785", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5ldyBhbmQgbWF4aW1pemVkIHdpbmRvd3Mgd2lsbCBiZSBtb3ZlZCB0byBlbXB0eSB3b3Jrc3BhY2VzLlxuU3VwcG9ydHMgbXVsdGlwbGUgbW9uaXRvcnMuIiwKICAibmFtZSI6ICJNYXhpbWl6ZSBUbyBFbXB0eSBXb3Jrc3BhY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwLjAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rYWlzZXJhY20vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW1heGltaXplLXRvLWVtcHR5LXdvcmtzcGFjZSIsCiAgInV1aWQiOiAiTWF4aW1pemVUb0VtcHR5V29ya3NwYWNlLWV4dGVuc2lvbkBrYWlzZXJzaXRlLmRlIiwKICAidmVyc2lvbiI6IDcKfQ=="}}}
+, {"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": "8", "sha256": "0am93vkz74l70vavf8mlv8diga32xawvd5g79k8k7vwy15jg4zcj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYW4gZXllIHRvIHRoZSBpbmRpY2F0b3IgYmFyIHRoYXQgZm9sbG93cyB5b3VyIGN1cnNvciBcbllvdSBjYW4gYWxzbyBkaXNwbGF5IHRoZSBtb3VzZSBpbmRpY2F0b3IsIHBlcmhhcHMgaXQgd2lsbCBoZWxwIHlvdSB3aXRoIHRoZSBwcm9ibGVtIG9mIGRpc3BsYXlpbmcgdGhlIG1vdXNlIGN1cnNvciBpbiBTa3lwZSIsCiAgImdldHRleHQtZG9tYWluIjogIkV5ZUV4dGVuZGVkIiwKICAibmFtZSI6ICJFeWUgYW5kIE1vdXNlIEV4dGVuZGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImt6LmFscy5leWUtZXh0ZW5kZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYuMCIsCiAgICAiMy4zOC4wIiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FsZXhleWxvdmNoaWtvdi9leWUtZXh0ZW5kZWQtc2hlbGwtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJleWUtZXh0ZW5kZWRAYWxzLmt6IiwKICAidmVyc2lvbiI6IDgKfQ=="}, "40": {"version": "8", "sha256": "0am93vkz74l70vavf8mlv8diga32xawvd5g79k8k7vwy15jg4zcj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYW4gZXllIHRvIHRoZSBpbmRpY2F0b3IgYmFyIHRoYXQgZm9sbG93cyB5b3VyIGN1cnNvciBcbllvdSBjYW4gYWxzbyBkaXNwbGF5IHRoZSBtb3VzZSBpbmRpY2F0b3IsIHBlcmhhcHMgaXQgd2lsbCBoZWxwIHlvdSB3aXRoIHRoZSBwcm9ibGVtIG9mIGRpc3BsYXlpbmcgdGhlIG1vdXNlIGN1cnNvciBpbiBTa3lwZSIsCiAgImdldHRleHQtZG9tYWluIjogIkV5ZUV4dGVuZGVkIiwKICAibmFtZSI6ICJFeWUgYW5kIE1vdXNlIEV4dGVuZGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImt6LmFscy5leWUtZXh0ZW5kZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYuMCIsCiAgICAiMy4zOC4wIiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FsZXhleWxvdmNoaWtvdi9leWUtZXh0ZW5kZWQtc2hlbGwtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJleWUtZXh0ZW5kZWRAYWxzLmt6IiwKICAidmVyc2lvbiI6IDgKfQ=="}}}
 , {"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": "3", "sha256": "07c3g7ynv95qs97fq2xyzn0xgg6nsjqrzn2f2ldpshdl31c76npf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZSwgZGlzYWJsZSwgYW5kIHZpZXcgZGV0YWlscyBvZiBXaXJlZ3VhcmQuXG5EZXZlbG9wZWQgYnkgR3JlZ29zLVdpbnVzLiIsCiAgIm5hbWUiOiAiV2lyZWd1YXJkIEluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAid2lyZWd1YXJkLWluZGljYXRvckBncmVnb3MubWUiLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "3", "sha256": "07c3g7ynv95qs97fq2xyzn0xgg6nsjqrzn2f2ldpshdl31c76npf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZSwgZGlzYWJsZSwgYW5kIHZpZXcgZGV0YWlscyBvZiBXaXJlZ3VhcmQuXG5EZXZlbG9wZWQgYnkgR3JlZ29zLVdpbnVzLiIsCiAgIm5hbWUiOiAiV2lyZWd1YXJkIEluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAid2lyZWd1YXJkLWluZGljYXRvckBncmVnb3MubWUiLAogICJ2ZXJzaW9uIjogMwp9"}}}
-, {"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\nContains some bugs due to the implementation of the blur effect on gnome shell, see https: //gitlab.gnome.org/GNOME/gnome-shell/-/issues/2857 for more informations.\n\nAdded support for Gnome 40, and a way to entirely remove artifacts from top panel :)", "link": "https://extensions.gnome.org/extension/3193/blur-my-shell/", "shell_version_map": {"38": {"version": "6", "sha256": "07p928zrcmjpk705g3y3yrbdm3dpai2rb7d5wi6522ibcmiknqna", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBibHVyIGxvb2sgdG8gZGlmZmVyZW50IHBhcnRzIG9mIHRoZSBHTk9NRSBTaGVsbCwgaW5jbHVkaW5nIHRoZSB0b3AgcGFuZWwsIGRhc2ggYW5kIG92ZXJ2aWV3LlxuXG5Db250YWlucyBzb21lIGJ1Z3MgZHVlIHRvIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgYmx1ciBlZmZlY3Qgb24gZ25vbWUgc2hlbGwsIHNlZSBodHRwczogLy9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLy0vaXNzdWVzLzI4NTcgZm9yIG1vcmUgaW5mb3JtYXRpb25zLlxuXG5BZGRlZCBzdXBwb3J0IGZvciBHbm9tZSA0MCwgYW5kIGEgd2F5IHRvIGVudGlyZWx5IHJlbW92ZSBhcnRpZmFjdHMgZnJvbSB0b3AgcGFuZWwgOikiLAogICJuYW1lIjogIkJsdXIgbXkgU2hlbGwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hdW5ldHgvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWJsdXItbXktc2hlbGwiLAogICJ1dWlkIjogImJsdXItbXktc2hlbGxAYXVuZXR4IiwKICAidmVyc2lvbiI6IDYKfQ=="}, "40": {"version": "11", "sha256": "0wx3bcccvw7qdw7fsqrcjd6h4xnh81ww3gigrl0d8j2mqwvjrhqi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBibHVyIGxvb2sgdG8gZGlmZmVyZW50IHBhcnRzIG9mIHRoZSBHTk9NRSBTaGVsbCwgaW5jbHVkaW5nIHRoZSB0b3AgcGFuZWwsIGRhc2ggYW5kIG92ZXJ2aWV3LlxuXG5Db250YWlucyBzb21lIGJ1Z3MgZHVlIHRvIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgYmx1ciBlZmZlY3Qgb24gZ25vbWUgc2hlbGwsIHNlZSBodHRwczogLy9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLy0vaXNzdWVzLzI4NTcgZm9yIG1vcmUgaW5mb3JtYXRpb25zLlxuXG5BZGRlZCBzdXBwb3J0IGZvciBHbm9tZSA0MCwgYW5kIGEgd2F5IHRvIGVudGlyZWx5IHJlbW92ZSBhcnRpZmFjdHMgZnJvbSB0b3AgcGFuZWwgOikiLAogICJuYW1lIjogIkJsdXIgbXkgU2hlbGwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXVuZXR4L2dub21lLXNoZWxsLWV4dGVuc2lvbi1ibHVyLW15LXNoZWxsIiwKICAidXVpZCI6ICJibHVyLW15LXNoZWxsQGF1bmV0eCIsCiAgInZlcnNpb24iOiAxMQp9"}}}
+, {"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\nContains some bugs due to the implementation of the blur effect on gnome shell, see https: //gitlab.gnome.org/GNOME/gnome-shell/-/issues/2857 for more informations.\n\nYou can now select which part you want to blur, wether or not you want overview animation and there is an option that reduces a lot the artifacts :)\n\nYou can sponsor my work at https://github.com/sponsors/aunetx or https://ko-fi.com/aunetx", "link": "https://extensions.gnome.org/extension/3193/blur-my-shell/", "shell_version_map": {"38": {"version": "22", "sha256": "123i53gj7zv8h0gfx5d3ymb8ba5cjxrcj4k5xdz10l4mfil9hwh5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBibHVyIGxvb2sgdG8gZGlmZmVyZW50IHBhcnRzIG9mIHRoZSBHTk9NRSBTaGVsbCwgaW5jbHVkaW5nIHRoZSB0b3AgcGFuZWwsIGRhc2ggYW5kIG92ZXJ2aWV3LlxuXG5Db250YWlucyBzb21lIGJ1Z3MgZHVlIHRvIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgYmx1ciBlZmZlY3Qgb24gZ25vbWUgc2hlbGwsIHNlZSBodHRwczogLy9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLy0vaXNzdWVzLzI4NTcgZm9yIG1vcmUgaW5mb3JtYXRpb25zLlxuXG5Zb3UgY2FuIG5vdyBzZWxlY3Qgd2hpY2ggcGFydCB5b3Ugd2FudCB0byBibHVyLCB3ZXRoZXIgb3Igbm90IHlvdSB3YW50IG92ZXJ2aWV3IGFuaW1hdGlvbiBhbmQgdGhlcmUgaXMgYW4gb3B0aW9uIHRoYXQgcmVkdWNlcyBhIGxvdCB0aGUgYXJ0aWZhY3RzIDopXG5cbllvdSBjYW4gc3BvbnNvciBteSB3b3JrIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9zcG9uc29ycy9hdW5ldHggb3IgaHR0cHM6Ly9rby1maS5jb20vYXVuZXR4IiwKICAibmFtZSI6ICJCbHVyIG15IFNoZWxsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXVuZXR4L2dub21lLXNoZWxsLWV4dGVuc2lvbi1ibHVyLW15LXNoZWxsIiwKICAidXVpZCI6ICJibHVyLW15LXNoZWxsQGF1bmV0eCIsCiAgInZlcnNpb24iOiAyMgp9"}, "40": {"version": "21", "sha256": "11711nhih56kqdc1jr0r4d6706yc1zdg9pcc6fn17h4a8fjihlfz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBibHVyIGxvb2sgdG8gZGlmZmVyZW50IHBhcnRzIG9mIHRoZSBHTk9NRSBTaGVsbCwgaW5jbHVkaW5nIHRoZSB0b3AgcGFuZWwsIGRhc2ggYW5kIG92ZXJ2aWV3LlxuXG5Db250YWlucyBzb21lIGJ1Z3MgZHVlIHRvIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgYmx1ciBlZmZlY3Qgb24gZ25vbWUgc2hlbGwsIHNlZSBodHRwczogLy9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLy0vaXNzdWVzLzI4NTcgZm9yIG1vcmUgaW5mb3JtYXRpb25zLlxuXG5Zb3UgY2FuIG5vdyBzZWxlY3Qgd2hpY2ggcGFydCB5b3Ugd2FudCB0byBibHVyLCB3ZXRoZXIgb3Igbm90IHlvdSB3YW50IG92ZXJ2aWV3IGFuaW1hdGlvbiBhbmQgdGhlcmUgaXMgYW4gb3B0aW9uIHRoYXQgcmVkdWNlcyBhIGxvdCB0aGUgYXJ0aWZhY3RzIDopXG5cbllvdSBjYW4gc3BvbnNvciBteSB3b3JrIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9zcG9uc29ycy9hdW5ldHggb3IgaHR0cHM6Ly9rby1maS5jb20vYXVuZXR4IiwKICAibmFtZSI6ICJCbHVyIG15IFNoZWxsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2F1bmV0eC9nbm9tZS1zaGVsbC1leHRlbnNpb24tYmx1ci1teS1zaGVsbCIsCiAgInV1aWQiOiAiYmx1ci1teS1zaGVsbEBhdW5ldHgiLAogICJ2ZXJzaW9uIjogMjEKfQ=="}}}
 , {"uuid": "compiz-windows-effect@hermes83.github.com", "name": "Compiz windows effect", "pname": "compiz-windows-effect", "description": "Compiz wobbly windows effect thanks to libanimation engine.\n\nThe use of the \"js engine\" option NOT requires any external library, orherwise you need to install the LIBANIMATION library patched for Gnome Shell: \nhttps://github.com/hermes83/libanimation\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  Video\n-----------------------------------\nhttps://youtu.be/G8bAVIB9A7A", "link": "https://extensions.gnome.org/extension/3210/compiz-windows-effect/", "shell_version_map": {"38": {"version": "9", "sha256": "1igwqkm2d5230q6yk41bal9yk690vkap5qfh8zqm6wdrsnswbhfm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbXBpeiB3b2JibHkgd2luZG93cyBlZmZlY3QgdGhhbmtzIHRvIGxpYmFuaW1hdGlvbiBlbmdpbmUuXG5cblRoZSB1c2Ugb2YgdGhlIFwianMgZW5naW5lXCIgb3B0aW9uIE5PVCByZXF1aXJlcyBhbnkgZXh0ZXJuYWwgbGlicmFyeSwgb3JoZXJ3aXNlIHlvdSBuZWVkIHRvIGluc3RhbGwgdGhlIExJQkFOSU1BVElPTiBsaWJyYXJ5IHBhdGNoZWQgZm9yIEdub21lIFNoZWxsOiBcbmh0dHBzOi8vZ2l0aHViLmNvbS9oZXJtZXM4My9saWJhbmltYXRpb25cblxuTkI6XG5JbiBjYXNlIG9mIHVwZGF0ZSBlcnJvciBwbGVhc2UgcmVzdGFydCBHbm9tZSBTaGVsbCAob24gWG9yZyBwcmVzcyBBTFQrRjIgdGhlbiB3cml0ZSByIGFuZCBwcmVzcyBlbnRlciwgb24gV2F5bGFuZCBlbmQgdGhlIHNlc3Npb24gYW5kIGxvZyBpbiBhZ2FpbilcblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgVmlkZW9cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5odHRwczovL3lvdXR1LmJlL0c4YkFWSUI5QTdBIiwKICAibmFtZSI6ICJDb21waXogd2luZG93cyBlZmZlY3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGVybWVzODMvY29tcGl6LXdpbmRvd3MtZWZmZWN0IiwKICAidXVpZCI6ICJjb21waXotd2luZG93cy1lZmZlY3RAaGVybWVzODMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA5Cn0="}, "40": {"version": "9", "sha256": "1igwqkm2d5230q6yk41bal9yk690vkap5qfh8zqm6wdrsnswbhfm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbXBpeiB3b2JibHkgd2luZG93cyBlZmZlY3QgdGhhbmtzIHRvIGxpYmFuaW1hdGlvbiBlbmdpbmUuXG5cblRoZSB1c2Ugb2YgdGhlIFwianMgZW5naW5lXCIgb3B0aW9uIE5PVCByZXF1aXJlcyBhbnkgZXh0ZXJuYWwgbGlicmFyeSwgb3JoZXJ3aXNlIHlvdSBuZWVkIHRvIGluc3RhbGwgdGhlIExJQkFOSU1BVElPTiBsaWJyYXJ5IHBhdGNoZWQgZm9yIEdub21lIFNoZWxsOiBcbmh0dHBzOi8vZ2l0aHViLmNvbS9oZXJtZXM4My9saWJhbmltYXRpb25cblxuTkI6XG5JbiBjYXNlIG9mIHVwZGF0ZSBlcnJvciBwbGVhc2UgcmVzdGFydCBHbm9tZSBTaGVsbCAob24gWG9yZyBwcmVzcyBBTFQrRjIgdGhlbiB3cml0ZSByIGFuZCBwcmVzcyBlbnRlciwgb24gV2F5bGFuZCBlbmQgdGhlIHNlc3Npb24gYW5kIGxvZyBpbiBhZ2FpbilcblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgVmlkZW9cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5odHRwczovL3lvdXR1LmJlL0c4YkFWSUI5QTdBIiwKICAibmFtZSI6ICJDb21waXogd2luZG93cyBlZmZlY3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGVybWVzODMvY29tcGl6LXdpbmRvd3MtZWZmZWN0IiwKICAidXVpZCI6ICJjb21waXotd2luZG93cy1lZmZlY3RAaGVybWVzODMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA5Cn0="}}}
-, {"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. Note, only tested on gnome shell version 4.40 on Fedora 34 with Xorg", "link": "https://extensions.gnome.org/extension/3222/block-caribou-36/", "shell_version_map": {"40": {"version": "2", "sha256": "0mzylj49w2xdrx9wlk6ijcsg8g1n8mksflihzaihlv3hga9ih9n9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJsb2NrcyBjYXJpYm91ICh0aGUgb24gc2NyZWVuIGtleWJvYXJkKSBmcm9tIHBvcHBpbmcgdXAgd2hlbiB5b3UgdXNlIGEgdG91Y2hzY3JlZW4uIEV2ZW4gaWYgaXQncyBkaXNhYmxlZCBpbiB0aGUgYWNjZXNzaWJpbGl0eSBzZXJ2aWNlcyBtZW51LiBDb250aW51YXRpb24gb2Yga2VyaW5nYXIncyB3b3JrLiBOb3RlLCBvbmx5IHRlc3RlZCBvbiBnbm9tZSBzaGVsbCB2ZXJzaW9uIDQuNDAgb24gRmVkb3JhIDM0IHdpdGggWG9yZyIsCiAgIm5hbWUiOiAiQmxvY2sgQ2FyaWJvdSAzNiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2x4eWx4eTEyMzQ1Ni9jYXJpYm91YmxvY2tlciIsCiAgInV1aWQiOiAiYmxvY2stY2FyaWJvdS0zNkBseHlseHkxMjM0NTYuZXJjbGkuZGV2IiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
+, {"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. Note, only tested on gnome shell version 4.40 on Fedora 34 with Xorg", "link": "https://extensions.gnome.org/extension/3222/block-caribou-36/", "shell_version_map": {"40": {"version": "3", "sha256": "0asqd39s35w8axz8rp772fv97fj6fxcxmq08wx7xh5virnzin4fw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJsb2NrcyBjYXJpYm91ICh0aGUgb24gc2NyZWVuIGtleWJvYXJkKSBmcm9tIHBvcHBpbmcgdXAgd2hlbiB5b3UgdXNlIGEgdG91Y2hzY3JlZW4uIEV2ZW4gaWYgaXQncyBkaXNhYmxlZCBpbiB0aGUgYWNjZXNzaWJpbGl0eSBzZXJ2aWNlcyBtZW51LiBDb250aW51YXRpb24gb2Yga2VyaW5nYXIncyB3b3JrLiBOb3RlLCBvbmx5IHRlc3RlZCBvbiBnbm9tZSBzaGVsbCB2ZXJzaW9uIDQuNDAgb24gRmVkb3JhIDM0IHdpdGggWG9yZyIsCiAgIm5hbWUiOiAiQmxvY2sgQ2FyaWJvdSAzNiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9seHlseHkxMjM0NTYvY2FyaWJvdWJsb2NrZXIiLAogICJ1dWlkIjogImJsb2NrLWNhcmlib3UtMzZAbHh5bHh5MTIzNDU2LmVyY2xpLmRldiIsCiAgInZlcnNpb24iOiAzCn0="}}}
 , {"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": "3", "sha256": "17xpxzxqx6zgr484xxa9sz78f90mmdq7ihgnhfmlmscsz10v5h3z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubWF4aW1pemUgdGhlIGN1cnJlbnQgd2luZG93IG9uIGRvdWJsZSBjbGljayBvbiB0aGUgdG9wIHBhbmVsLiBZb3UgY2FuIGFsc28gbWF4aW1pemUgaG9yaXpvbnRhbGx5IGFuZCB2ZXJ0aWNhbGx5IHdpdGggbWlkZGxlIGFuZCByaWdodCBjbGljay4iLAogICJuYW1lIjogIlVubWF4aW1pemUgRG91YmxlIENsaWNrIFBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dvbnphYXJjci91bm1heGltaXplLWdub21lLWV4dCIsCiAgInV1aWQiOiAidW5tYXhpbWl6ZV9kb3VibGVfY2xpY2tAZ29uemEuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDMKfQ=="}, "40": {"version": "3", "sha256": "17xpxzxqx6zgr484xxa9sz78f90mmdq7ihgnhfmlmscsz10v5h3z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubWF4aW1pemUgdGhlIGN1cnJlbnQgd2luZG93IG9uIGRvdWJsZSBjbGljayBvbiB0aGUgdG9wIHBhbmVsLiBZb3UgY2FuIGFsc28gbWF4aW1pemUgaG9yaXpvbnRhbGx5IGFuZCB2ZXJ0aWNhbGx5IHdpdGggbWlkZGxlIGFuZCByaWdodCBjbGljay4iLAogICJuYW1lIjogIlVubWF4aW1pemUgRG91YmxlIENsaWNrIFBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dvbnphYXJjci91bm1heGltaXplLWdub21lLWV4dCIsCiAgInV1aWQiOiAidW5tYXhpbWl6ZV9kb3VibGVfY2xpY2tAZ29uemEuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
 , {"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": "6", "sha256": "0s5mza4x2hk6k95hm7xsyxhariffhb896676fhh5qriphxsrif2q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgYmlnZ2VyIGFuZCBtb3JlIGNvbG91cmZ1bGwgQXBwU3dpdGNoZXIiLAogICJuYW1lIjogIlVuaXR5LWxpa2UgQXBwIFN3aXRjaGVyIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJnb256YSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy51bml0eS13aW5kb3ctc3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ29uemFhcmNyL3VuaXR5LWxpa2Utc3dpdGNoZXItZ25vbWUtZXh0IiwKICAidXVpZCI6ICJ1bml0eS1saWtlLWFwcHN3aXRjaGVyQGdvbnphLmNvbSIsCiAgInZlcnNpb24iOiA2Cn0="}, "40": {"version": "6", "sha256": "0s5mza4x2hk6k95hm7xsyxhariffhb896676fhh5qriphxsrif2q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgYmlnZ2VyIGFuZCBtb3JlIGNvbG91cmZ1bGwgQXBwU3dpdGNoZXIiLAogICJuYW1lIjogIlVuaXR5LWxpa2UgQXBwIFN3aXRjaGVyIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJnb256YSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy51bml0eS13aW5kb3ctc3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ29uemFhcmNyL3VuaXR5LWxpa2Utc3dpdGNoZXItZ25vbWUtZXh0IiwKICAidXVpZCI6ICJ1bml0eS1saWtlLWFwcHN3aXRjaGVyQGdvbnphLmNvbSIsCiAgInZlcnNpb24iOiA2Cn0="}}}
-, {"uuid": "add-to-desktop@tommimon.github.com", "name": "Add to Desktop", "pname": "add-to-desktop", "description": "An easy way to create desktop app shortcuts in gnome", "link": "https://extensions.gnome.org/extension/3240/add-to-desktop/", "shell_version_map": {"38": {"version": "4", "sha256": "0qikj36wl3317qdbjk95g6fm0f4vr367iwgai0hn85wjkxsh9c9c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGVhc3kgd2F5IHRvIGNyZWF0ZSBkZXNrdG9wIGFwcCBzaG9ydGN1dHMgaW4gZ25vbWUiLAogICJuYW1lIjogIkFkZCB0byBEZXNrdG9wIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vVG9tbWltb24vYWRkLXRvLWRlc2t0b3AiLAogICJ1dWlkIjogImFkZC10by1kZXNrdG9wQHRvbW1pbW9uLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}}}
+, {"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"}}}
 , {"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": "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"}}}
-, {"uuid": "color-picker@tuberry", "name": "Color Picker", "pname": "color-picker", "description": "Simple color picker for gnome shell\n\nFor support, please report any issues via the homepage link below.", "link": "https://extensions.gnome.org/extension/3396/color-picker/", "shell_version_map": {"38": {"version": "20", "sha256": "1ss4r8dpa7smxbyz41rw3wl1gy20bvy89xdvwfz6zfhv3db5vl86", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBjb2xvciBwaWNrZXIgZm9yIGdub21lIHNoZWxsXG5cbkZvciBzdXBwb3J0LCBwbGVhc2UgcmVwb3J0IGFueSBpc3N1ZXMgdmlhIHRoZSBob21lcGFnZSBsaW5rIGJlbG93LiIsCiAgImdldHRleHQtZG9tYWluIjogImNvbG9yLXBpY2tlciIsCiAgIm5hbWUiOiAiQ29sb3IgUGlja2VyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNvbG9yLXBpY2tlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R1YmVycnkvY29sb3ItcGlja2VyIiwKICAidXVpZCI6ICJjb2xvci1waWNrZXJAdHViZXJyeSIsCiAgInZlcnNpb24iOiAyMAp9"}, "40": {"version": "24", "sha256": "0hngbg4y16dazy1i00qdbvyy4d2wn7yrmy6l38ixxdly9gra8n6d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBjb2xvciBwaWNrZXIgZm9yIGdub21lIHNoZWxsXG5cbkZvciBzdXBwb3J0LCBwbGVhc2UgcmVwb3J0IGFueSBpc3N1ZXMgdmlhIHRoZSBob21lcGFnZSBsaW5rIGJlbG93LiIsCiAgImdldHRleHQtZG9tYWluIjogImNvbG9yLXBpY2tlciIsCiAgIm5hbWUiOiAiQ29sb3IgUGlja2VyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNvbG9yLXBpY2tlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90dWJlcnJ5L2NvbG9yLXBpY2tlciIsCiAgInV1aWQiOiAiY29sb3ItcGlja2VyQHR1YmVycnkiLAogICJ2ZXJzaW9uIjogMjQKfQ=="}}}
+, {"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": "15", "sha256": "0q8lrp9s31n3bvdzyq5vrl0zibszmrvl3c0hndx17lwzqs5rxwa2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImJpbmRpbmdzIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1hdGVyaWFsc2hlbGwuYmluZGluZ3MiLAogICJkZXNjcmlwdGlvbiI6ICJBIG1vZGVybiBkZXNrdG9wIGludGVyZmFjZSBmb3IgTGludXggLSBwYWNrYWdlZCBhcyBhbiBleHRlbnNpb24gZm9yIEdOT01FIFNoZWxsLiBJbXByb3ZlIHlvdXIgdXNlciBleHBlcmllbmNlIGFuZCBnZXQgcmlkIG9mIHRoZSBhbmFyY2h5IG9mIHRyYWRpdGlvbmFsIGRlc2t0b3Agd29ya2Zsb3dzLiBEZXNpZ25lZCB0byBzaW1wbGlmeSBuYXZpZ2F0aW9uIGFuZCByZWR1Y2UgdGhlIG5lZWQgdG8gbWFuaXB1bGF0ZSB3aW5kb3dzIGluIG9yZGVyIHRvIGltcHJvdmUgcHJvZHVjdGl2aXR5LiBJdCdzIG1lYW50IHRvIGJlIDEwMCUgcHJlZGljdGFibGUgYW5kIGJyaW5nIHRoZSBiZW5lZml0cyBvZiB0b29scyBjb3ZldGVkIGJ5IHByb2Zlc3Npb25hbHMgdG8gZXZlcnlvbmUuIiwKICAibGF5b3V0cyI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5tYXRlcmlhbHNoZWxsLmxheW91dHMiLAogICJuYW1lIjogIk1hdGVyaWFsIFNoZWxsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ0aGVtZSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5tYXRlcmlhbHNoZWxsLnRoZW1lIiwKICAidHdlYWtzIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1hdGVyaWFsc2hlbGwudHdlYWtzIiwKICAidXJsIjogImh0dHBzOi8vbWF0ZXJpYWwtc2hlbGwuY29tIiwKICAidXVpZCI6ICJtYXRlcmlhbC1zaGVsbEBwYXB5ZWxncmluZ28iLAogICJ2ZXJzaW9uIjogMTUKfQ=="}}}
+, {"uuid": "color-picker@tuberry", "name": "Color Picker", "pname": "color-picker", "description": "Simple color picker for gnome shell\n\nFor support, please report any issues via the homepage link below.", "link": "https://extensions.gnome.org/extension/3396/color-picker/", "shell_version_map": {"38": {"version": "20", "sha256": "1ss4r8dpa7smxbyz41rw3wl1gy20bvy89xdvwfz6zfhv3db5vl86", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBjb2xvciBwaWNrZXIgZm9yIGdub21lIHNoZWxsXG5cbkZvciBzdXBwb3J0LCBwbGVhc2UgcmVwb3J0IGFueSBpc3N1ZXMgdmlhIHRoZSBob21lcGFnZSBsaW5rIGJlbG93LiIsCiAgImdldHRleHQtZG9tYWluIjogImNvbG9yLXBpY2tlciIsCiAgIm5hbWUiOiAiQ29sb3IgUGlja2VyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNvbG9yLXBpY2tlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R1YmVycnkvY29sb3ItcGlja2VyIiwKICAidXVpZCI6ICJjb2xvci1waWNrZXJAdHViZXJyeSIsCiAgInZlcnNpb24iOiAyMAp9"}, "40": {"version": "25", "sha256": "0lx4bs7yfqkphb5cwmakl6xjf14q89m0yn70a882drakfhzgnagw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBjb2xvciBwaWNrZXIgZm9yIGdub21lIHNoZWxsXG5cbkZvciBzdXBwb3J0LCBwbGVhc2UgcmVwb3J0IGFueSBpc3N1ZXMgdmlhIHRoZSBob21lcGFnZSBsaW5rIGJlbG93LiIsCiAgImdldHRleHQtZG9tYWluIjogImNvbG9yLXBpY2tlciIsCiAgIm5hbWUiOiAiQ29sb3IgUGlja2VyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNvbG9yLXBpY2tlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90dWJlcnJ5L2NvbG9yLXBpY2tlciIsCiAgInV1aWQiOiAiY29sb3ItcGlja2VyQHR1YmVycnkiLAogICJ2ZXJzaW9uIjogMjUKfQ=="}}}
 , {"uuid": "yaru-remix-theme-toggle@muqtxdir.me", "name": "Yaru remix theme toggle", "pname": "yaru-remix-theme-toggle", "description": "Switches GTK3, Gnome-shell, cursor and icon themes to Yaru-remix variants", "link": "https://extensions.gnome.org/extension/3402/yaru-remix-theme-toggle/", "shell_version_map": {"38": {"version": "2", "sha256": "04dh163dshjnq3fa1y5kbkgl94q4cifvffq6i2pr4zd1v7d4zrf6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvcnMiOiBbCiAgICAibXVxdGFkaXI1NTU1QGdtYWlsLmNvbSIKICBdLAogICJkZXNjcmlwdGlvbiI6ICJTd2l0Y2hlcyBHVEszLCBHbm9tZS1zaGVsbCwgY3Vyc29yIGFuZCBpY29uIHRoZW1lcyB0byBZYXJ1LXJlbWl4IHZhcmlhbnRzIiwKICAibmFtZSI6ICJZYXJ1IHJlbWl4IHRoZW1lIHRvZ2dsZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL011cXR4ZGlyL3lhcnUtcmVtaXgtdGhlbWUtdG9nZ2xlIiwKICAidXVpZCI6ICJ5YXJ1LXJlbWl4LXRoZW1lLXRvZ2dsZUBtdXF0eGRpci5tZSIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"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": "3", "sha256": "1gkjf0vx60zi6yj4zcqsrdnsk3m7p6zxcpi6v3hywp43g7ql4dg6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvYWQgY3VzdG9tIHN0eWxlIHNoZWV0IGZyb20gfi8uY29uZmlnL2dub21lLXNoZWxsL2dub21lLXNoZWxsLmNzcy4gVXNlIEdUSyBmb250IGZhbWlseSBhbmQgZm9udCBzaXplIGZyb20gR05PTUUgVHdlYWtzIGluIEdOT01FIFNoZWxsLiIsCiAgIm5hbWUiOiAiVXNlciBzdHlsZSBzaGVldCAmIGZvbnQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vVG9tYXN6R2FzaW9yL2dub21lLXNoZWxsLXVzZXItc3R5bGVzaGVldC1hbmQtZm9udCIsCiAgInV1aWQiOiAidXNlci1zdHlsZXNoZWV0QHRvbWFzemdhc2lvci5wbCIsCiAgInZlcnNpb24iOiAzCn0="}, "40": {"version": "3", "sha256": "1gkjf0vx60zi6yj4zcqsrdnsk3m7p6zxcpi6v3hywp43g7ql4dg6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvYWQgY3VzdG9tIHN0eWxlIHNoZWV0IGZyb20gfi8uY29uZmlnL2dub21lLXNoZWxsL2dub21lLXNoZWxsLmNzcy4gVXNlIEdUSyBmb250IGZhbWlseSBhbmQgZm9udCBzaXplIGZyb20gR05PTUUgVHdlYWtzIGluIEdOT01FIFNoZWxsLiIsCiAgIm5hbWUiOiAiVXNlciBzdHlsZSBzaGVldCAmIGZvbnQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vVG9tYXN6R2FzaW9yL2dub21lLXNoZWxsLXVzZXItc3R5bGVzaGVldC1hbmQtZm9udCIsCiAgInV1aWQiOiAidXNlci1zdHlsZXNoZWV0QHRvbWFzemdhc2lvci5wbCIsCiAgInZlcnNpb24iOiAzCn0="}}}
-, {"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": "8", "sha256": "0gzk5d04g4gqmf66cnbhyywbxvrzz3vk106i5qx13vklkskjg5wg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc3RhdHVzIGluZGljYXRvciBmb3IgV2lyZWd1YXJkIGNvbm5lY3Rpb25zLiIsCiAgIm5hbWUiOiAiV0cgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIyLjEiLAogICAgIjQwLjAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zeW5jMTIxMS93Zy1pbmRpY2F0b3IiLAogICJ1dWlkIjogIndnLWluZGljYXRvckBkcGYxMjExMC5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogOAp9"}}}
+, {"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": "12", "sha256": "14yp1l9n3lvdj8l16zqx8c87nkh5mrbyfjbnqi4ylfchpc5pm8kk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc3RhdHVzIGluZGljYXRvciBmb3IgV2lyZWd1YXJkIGNvbm5lY3Rpb25zLiIsCiAgIm5hbWUiOiAiV0cgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIyLjEiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3luYzEyMTEvd2ctaW5kaWNhdG9yIiwKICAidXVpZCI6ICJ3Zy1pbmRpY2F0b3JAZHBmMTIxMTAuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDEyCn0="}}}
 , {"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": "6", "sha256": "1bxi2f6w906p9wxz1hd9wjbd98chzhzg4lsbf1bz6mdfxmplq4b4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgbWFya2luZyBtZW51IHdoaWNoIGNhbiBiZSB1c2VkIHRvIGxhdW5jaCBhcHBsaWNhdGlvbnMsIHNpbXVsYXRlIGhvdGtleXMsIG9wZW4gVVJMcyBhbmQgbXVjaCBtb3JlLiIsCiAgImdldHRleHQtZG9tYWluIjogImZseXBpZSIsCiAgIm5hbWUiOiAiRmx5LVBpZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mbHlwaWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TY2huZWVnYW5zL0ZseS1QaWUiLAogICJ1dWlkIjogImZseXBpZUBzY2huZWVnYW5zLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNgp9"}}}
 , {"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"}}}
 , {"uuid": "myHiddenTopBar@lendoK.github.com", "name": "myHiddenTopBar", "pname": "myhiddentopbar", "description": "really hides the toppanel", "link": "https://extensions.gnome.org/extension/3481/myhiddentopbar/", "shell_version_map": {"38": {"version": "2", "sha256": "1vrj1ih0rvds9xng0i4n2cah9akm2j2vhma3a7zjyvljxmw82w5x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogInJlYWxseSBoaWRlcyB0aGUgdG9wcGFuZWwiLAogICJuYW1lIjogIm15SGlkZGVuVG9wQmFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIm15SGlkZGVuVG9wQmFyQGxlbmRvSy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}, "40": {"version": "3", "sha256": "0fl9rcdxn2l2lpc8fhcbvzm9lx0i12674kk15rpgbzfj8xn26qkw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogInJlYWxseSBoaWRlcyB0aGUgdG9wcGFuZWwiLAogICJuYW1lIjogIm15SGlkZGVuVG9wQmFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIm15SGlkZGVuVG9wQmFyQGxlbmRvSy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
-, {"uuid": "big-avatar@gustavoperedo.org", "name": "Big Avatar", "pname": "big-avatar", "description": "Adds your user avatar and name to the menu panel. Big thanks to: db0x and 'I like 'em curvy' extension developer", "link": "https://extensions.gnome.org/extension/3488/big-avatar/", "shell_version_map": {"38": {"version": "6", "sha256": "1p278iaqfl39kimk3041wvzvmgag8dr2q1bmka3n7srkd2n71vlf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgeW91ciB1c2VyIGF2YXRhciBhbmQgbmFtZSB0byB0aGUgbWVudSBwYW5lbC4gQmlnIHRoYW5rcyB0bzogZGIweCBhbmQgJ0kgbGlrZSAnZW0gY3VydnknIGV4dGVuc2lvbiBkZXZlbG9wZXIiLAogICJleHRlbnNpb24taWQiOiAiYmlnLWF2YXRhciIsCiAgIm5hbWUiOiAiQmlnIEF2YXRhciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5iaWctYXZhdGFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vR3VzdGF2b1BlcmVkby9CaWctQXZhdGFyLUdub21lLVNoZWxsLUV4dGVuc2lvbiIsCiAgInV1aWQiOiAiYmlnLWF2YXRhckBndXN0YXZvcGVyZWRvLm9yZyIsCiAgInZlcnNpb24iOiA2Cn0="}, "40": {"version": "8", "sha256": "1pgbr188vk1b0wdfszg160b1x04yz28fr7pmnyiwqy2hsvqz81cn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgeW91ciB1c2VyIGF2YXRhciBhbmQgbmFtZSB0byB0aGUgbWVudSBwYW5lbC4gQmlnIHRoYW5rcyB0bzogZGIweCBhbmQgJ0kgbGlrZSAnZW0gY3VydnknIGV4dGVuc2lvbiBkZXZlbG9wZXIiLAogICJleHRlbnNpb24taWQiOiAiYmlnLWF2YXRhciIsCiAgIm5hbWUiOiAiQmlnIEF2YXRhciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5iaWctYXZhdGFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vR3VzdGF2b1BlcmVkby9CaWctQXZhdGFyLUdub21lLVNoZWxsLUV4dGVuc2lvbiIsCiAgInV1aWQiOiAiYmlnLWF2YXRhckBndXN0YXZvcGVyZWRvLm9yZyIsCiAgInZlcnNpb24iOiA4Cn0="}}}
+, {"uuid": "big-avatar@gustavoperedo.org", "name": "Big Avatar", "pname": "big-avatar", "description": "Adds your user avatar and name to the menu panel. Big thanks to: db0x and 'I like 'em curvy' extension developer", "link": "https://extensions.gnome.org/extension/3488/big-avatar/", "shell_version_map": {"38": {"version": "6", "sha256": "1p278iaqfl39kimk3041wvzvmgag8dr2q1bmka3n7srkd2n71vlf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgeW91ciB1c2VyIGF2YXRhciBhbmQgbmFtZSB0byB0aGUgbWVudSBwYW5lbC4gQmlnIHRoYW5rcyB0bzogZGIweCBhbmQgJ0kgbGlrZSAnZW0gY3VydnknIGV4dGVuc2lvbiBkZXZlbG9wZXIiLAogICJleHRlbnNpb24taWQiOiAiYmlnLWF2YXRhciIsCiAgIm5hbWUiOiAiQmlnIEF2YXRhciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5iaWctYXZhdGFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vR3VzdGF2b1BlcmVkby9CaWctQXZhdGFyLUdub21lLVNoZWxsLUV4dGVuc2lvbiIsCiAgInV1aWQiOiAiYmlnLWF2YXRhckBndXN0YXZvcGVyZWRvLm9yZyIsCiAgInZlcnNpb24iOiA2Cn0="}, "40": {"version": "11", "sha256": "1ajh11619r8v6mvkmv142ivykd5b20jx64ca8fxhicfn6i6di923", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgeW91ciB1c2VyIGF2YXRhciBhbmQgbmFtZSB0byB0aGUgbWVudSBwYW5lbC4gQmlnIHRoYW5rcyB0bzogZGIweCBhbmQgJ0kgbGlrZSAnZW0gY3VydnknIGV4dGVuc2lvbiBkZXZlbG9wZXIiLAogICJleHRlbnNpb24taWQiOiAiYmlnLWF2YXRhciIsCiAgIm5hbWUiOiAiQmlnIEF2YXRhciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5iaWctYXZhdGFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0d1c3Rhdm9QZXJlZG8vQmlnLUF2YXRhci1Hbm9tZS1TaGVsbC1FeHRlbnNpb24iLAogICJ1dWlkIjogImJpZy1hdmF0YXJAZ3VzdGF2b3BlcmVkby5vcmciLAogICJ2ZXJzaW9uIjogMTEKfQ=="}}}
 , {"uuid": "volume-mixer@evermiss.net", "name": "Application Volume Mixer", "pname": "application-volume-mixer", "description": "Control volume output per-application", "link": "https://extensions.gnome.org/extension/3499/application-volume-mixer/", "shell_version_map": {"38": {"version": "7", "sha256": "02k60askhgs69ajwhsqkw4977065pvg3fnw70rhc1mnx1yvjbgs9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdm9sdW1lIG91dHB1dCBwZXItYXBwbGljYXRpb24iLAogICJuYW1lIjogIkFwcGxpY2F0aW9uIFZvbHVtZSBNaXhlciIsCiAgIm9yZ2luYWwtYXV0aG9yIjogIm15bWluZHN0b3JtQGV2ZXJtaXNzLm5ldCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9teW1pbmRzdG9ybS9nbm9tZS12b2x1bWUtbWl4ZXIiLAogICJ1dWlkIjogInZvbHVtZS1taXhlckBldmVybWlzcy5uZXQiLAogICJ2ZXJzaW9uIjogNwp9"}, "40": {"version": "7", "sha256": "02k60askhgs69ajwhsqkw4977065pvg3fnw70rhc1mnx1yvjbgs9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdm9sdW1lIG91dHB1dCBwZXItYXBwbGljYXRpb24iLAogICJuYW1lIjogIkFwcGxpY2F0aW9uIFZvbHVtZSBNaXhlciIsCiAgIm9yZ2luYWwtYXV0aG9yIjogIm15bWluZHN0b3JtQGV2ZXJtaXNzLm5ldCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9teW1pbmRzdG9ybS9nbm9tZS12b2x1bWUtbWl4ZXIiLAogICJ1dWlkIjogInZvbHVtZS1taXhlckBldmVybWlzcy5uZXQiLAogICJ2ZXJzaW9uIjogNwp9"}}}
 , {"uuid": "creative-control@sau.li", "name": "Creative Sound Blaster control", "pname": "creative-sound-blaster-control", "description": "Control Creative Sound Blaster", "link": "https://extensions.gnome.org/extension/3505/creative-sound-blaster-control/", "shell_version_map": {"38": {"version": "2", "sha256": "0pqps21c2p8fqndy9hd77j979h0wjbw0yzbmv6jmwk7rskv6zysg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgQ3JlYXRpdmUgU291bmQgQmxhc3RlciIsCiAgIm5hbWUiOiAiQ3JlYXRpdmUgU291bmQgQmxhc3RlciBjb250cm9sIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaXNhdWwzMi9nbm9tZS1zaGVsbC1leHRlbnNpb24tY3JlYXRpdmUtY29udHJvbCIsCiAgInV1aWQiOiAiY3JlYXRpdmUtY29udHJvbEBzYXUubGkiLAogICJ2ZXJzaW9uIjogMgp9"}}}
 , {"uuid": "day-night-wallpaper@swapnilmadavi.github.io", "name": "Day Night Wallpaper", "pname": "day-night-wallpaper", "description": "Set separate wallpapers for day and night time.", "link": "https://extensions.gnome.org/extension/3512/day-night-wallpaper/", "shell_version_map": {"38": {"version": "2", "sha256": "082wrffxsa6qnp120ghlvhkb3isnnf9qizxfk6bbgqbzcvsax059", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldCBzZXBhcmF0ZSB3YWxscGFwZXJzIGZvciBkYXkgYW5kIG5pZ2h0IHRpbWUuIiwKICAibmFtZSI6ICJEYXkgTmlnaHQgV2FsbHBhcGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRheS1uaWdodC13YWxscGFwZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zd2FwbmlsbWFkYXZpL2RheS1uaWdodC13YWxscGFwZXItZ25vbWUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJkYXktbmlnaHQtd2FsbHBhcGVyQHN3YXBuaWxtYWRhdmkuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
 , {"uuid": "transparent-shell@siroj42.github.io", "name": "Transparent Shell", "pname": "transparent-shell", "description": "Make the main shell components (Top bar, dash, search box) transparent.", "link": "https://extensions.gnome.org/extension/3518/transparent-shell/", "shell_version_map": {"38": {"version": "6", "sha256": "109c5w2p7w9arfy4wrqmyyi7vd5fwdr8n2cz250bpxiij6zq140k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIG1haW4gc2hlbGwgY29tcG9uZW50cyAoVG9wIGJhciwgZGFzaCwgc2VhcmNoIGJveCkgdHJhbnNwYXJlbnQuIiwKICAibmFtZSI6ICJUcmFuc3BhcmVudCBTaGVsbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1Npcm9qNDIvZ25vbWUtZXh0ZW5zaW9uLXRyYW5zcGFyZW50LXNoZWxsIiwKICAidXVpZCI6ICJ0cmFuc3BhcmVudC1zaGVsbEBzaXJvajQyLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA2Cn0="}, "40": {"version": "7", "sha256": "0nzx401vvzn8n9xnkd13v5jim0l7zd01p1lf0lbgydrr8gh67i95", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIG1haW4gc2hlbGwgY29tcG9uZW50cyAoVG9wIGJhciwgZGFzaCwgc2VhcmNoIGJveCkgdHJhbnNwYXJlbnQuIiwKICAibmFtZSI6ICJUcmFuc3BhcmVudCBTaGVsbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TaXJvajQyL2dub21lLWV4dGVuc2lvbi10cmFuc3BhcmVudC1zaGVsbCIsCiAgInV1aWQiOiAidHJhbnNwYXJlbnQtc2hlbGxAc2lyb2o0Mi5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNwp9"}}}
+, {"uuid": "true-color-invert@jackkenney", "name": "True Color Invert", "pname": "true-color-invert", "description": "Inverts the color of individual windows so they are hue-preserved.\nDefault shortcut is Super+I\n\nI've tested it with both XOrg and Wayland on Gnome 3.38 and 40.\nWayland users will have to log out and log back in for the installation to complete.\n\nVersion 6 has higher contrast than version 4, which I think makes it more readable.\nLet me know what you think in the comments!", "link": "https://extensions.gnome.org/extension/3530/true-color-invert/", "shell_version_map": {"38": {"version": "6", "sha256": "1kiqlafs5zszbim44y93jvilajp3nmcjvwds1pfy5hmnrnz0khga", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludmVydHMgdGhlIGNvbG9yIG9mIGluZGl2aWR1YWwgd2luZG93cyBzbyB0aGV5IGFyZSBodWUtcHJlc2VydmVkLlxuRGVmYXVsdCBzaG9ydGN1dCBpcyBTdXBlcitJXG5cbkkndmUgdGVzdGVkIGl0IHdpdGggYm90aCBYT3JnIGFuZCBXYXlsYW5kIG9uIEdub21lIDMuMzggYW5kIDQwLlxuV2F5bGFuZCB1c2VycyB3aWxsIGhhdmUgdG8gbG9nIG91dCBhbmQgbG9nIGJhY2sgaW4gZm9yIHRoZSBpbnN0YWxsYXRpb24gdG8gY29tcGxldGUuXG5cblZlcnNpb24gNiBoYXMgaGlnaGVyIGNvbnRyYXN0IHRoYW4gdmVyc2lvbiA0LCB3aGljaCBJIHRoaW5rIG1ha2VzIGl0IG1vcmUgcmVhZGFibGUuXG5MZXQgbWUga25vdyB3aGF0IHlvdSB0aGluayBpbiB0aGUgY29tbWVudHMhIiwKICAibmFtZSI6ICJUcnVlIENvbG9yIEludmVydCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50cnVlLWNvbG9yLWludmVydCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9qYWNra2VubmV5L2dub21lLXRydWUtY29sb3ItaW52ZXJ0IiwKICAidXVpZCI6ICJ0cnVlLWNvbG9yLWludmVydEBqYWNra2VubmV5IiwKICAidmVyc2lvbiI6IDYKfQ=="}, "40": {"version": "6", "sha256": "1kiqlafs5zszbim44y93jvilajp3nmcjvwds1pfy5hmnrnz0khga", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludmVydHMgdGhlIGNvbG9yIG9mIGluZGl2aWR1YWwgd2luZG93cyBzbyB0aGV5IGFyZSBodWUtcHJlc2VydmVkLlxuRGVmYXVsdCBzaG9ydGN1dCBpcyBTdXBlcitJXG5cbkkndmUgdGVzdGVkIGl0IHdpdGggYm90aCBYT3JnIGFuZCBXYXlsYW5kIG9uIEdub21lIDMuMzggYW5kIDQwLlxuV2F5bGFuZCB1c2VycyB3aWxsIGhhdmUgdG8gbG9nIG91dCBhbmQgbG9nIGJhY2sgaW4gZm9yIHRoZSBpbnN0YWxsYXRpb24gdG8gY29tcGxldGUuXG5cblZlcnNpb24gNiBoYXMgaGlnaGVyIGNvbnRyYXN0IHRoYW4gdmVyc2lvbiA0LCB3aGljaCBJIHRoaW5rIG1ha2VzIGl0IG1vcmUgcmVhZGFibGUuXG5MZXQgbWUga25vdyB3aGF0IHlvdSB0aGluayBpbiB0aGUgY29tbWVudHMhIiwKICAibmFtZSI6ICJUcnVlIENvbG9yIEludmVydCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50cnVlLWNvbG9yLWludmVydCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9qYWNra2VubmV5L2dub21lLXRydWUtY29sb3ItaW52ZXJ0IiwKICAidXVpZCI6ICJ0cnVlLWNvbG9yLWludmVydEBqYWNra2VubmV5IiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
 , {"uuid": "gitlab-extension@infinicode.de", "name": "GitLab Extension", "pname": "gitlab-extension", "description": "GitLab extension utilizes the official GitLab API to provide a comfortable overview about your projects, commits & pipelines.\n", "link": "https://extensions.gnome.org/extension/3535/gitlab-extension/", "shell_version_map": {"38": {"version": "4", "sha256": "04hclkbj95alqv9lq5qa5dnf7wb8ssd08q0lzd9wxzw95hiqcvwd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdpdExhYiBleHRlbnNpb24gdXRpbGl6ZXMgdGhlIG9mZmljaWFsIEdpdExhYiBBUEkgdG8gcHJvdmlkZSBhIGNvbWZvcnRhYmxlIG92ZXJ2aWV3IGFib3V0IHlvdXIgcHJvamVjdHMsIGNvbW1pdHMgJiBwaXBlbGluZXMuXG4iLAogICJsb2NhbGVkaXIiOiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIkdpdExhYiBFeHRlbnNpb24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY2luYXRpYy9naXRsYWItZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJnaXRsYWItZXh0ZW5zaW9uQGluZmluaWNvZGUuZGUiLAogICJ2ZXJzaW9uIjogNAp9"}, "40": {"version": "4", "sha256": "04hclkbj95alqv9lq5qa5dnf7wb8ssd08q0lzd9wxzw95hiqcvwd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdpdExhYiBleHRlbnNpb24gdXRpbGl6ZXMgdGhlIG9mZmljaWFsIEdpdExhYiBBUEkgdG8gcHJvdmlkZSBhIGNvbWZvcnRhYmxlIG92ZXJ2aWV3IGFib3V0IHlvdXIgcHJvamVjdHMsIGNvbW1pdHMgJiBwaXBlbGluZXMuXG4iLAogICJsb2NhbGVkaXIiOiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIkdpdExhYiBFeHRlbnNpb24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY2luYXRpYy9naXRsYWItZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJnaXRsYWItZXh0ZW5zaW9uQGluZmluaWNvZGUuZGUiLAogICJ2ZXJzaW9uIjogNAp9"}}}
-, {"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! Note: currently experiencing high CPU usage. Developers welcome to contribute on github!", "link": "https://extensions.gnome.org/extension/3539/downfall/", "shell_version_map": {"38": {"version": "8", "sha256": "0bij98fazn8q8wjq96m30nf93xmmgq635c9y3svasqqghag8mrb2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIHRleHQgb2YgeW91ciBjaG9pY2UgYWNyb3NzIHRoZSBzY3JlZW4uIENhbiBzaW11bGF0ZSBsZWF2ZXMsIHNub3csIGZpcmV3b3JrcywgdWZvcywgYW5kIG1vcmUhIE5vdGU6IGN1cnJlbnRseSBleHBlcmllbmNpbmcgaGlnaCBDUFUgdXNhZ2UuIERldmVsb3BlcnMgd2VsY29tZSB0byBjb250cmlidXRlIG9uIGdpdGh1YiEiLAogICJuYW1lIjogIkRvd25GYWxsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdG9yY3VsdXMvRG93bkZhbGwiLAogICJ1dWlkIjogImRvd25mYWxsQHRvcmN1bHVzLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogOAp9"}, "40": {"version": "8", "sha256": "0bij98fazn8q8wjq96m30nf93xmmgq635c9y3svasqqghag8mrb2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIHRleHQgb2YgeW91ciBjaG9pY2UgYWNyb3NzIHRoZSBzY3JlZW4uIENhbiBzaW11bGF0ZSBsZWF2ZXMsIHNub3csIGZpcmV3b3JrcywgdWZvcywgYW5kIG1vcmUhIE5vdGU6IGN1cnJlbnRseSBleHBlcmllbmNpbmcgaGlnaCBDUFUgdXNhZ2UuIERldmVsb3BlcnMgd2VsY29tZSB0byBjb250cmlidXRlIG9uIGdpdGh1YiEiLAogICJuYW1lIjogIkRvd25GYWxsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdG9yY3VsdXMvRG93bkZhbGwiLAogICJ1dWlkIjogImRvd25mYWxsQHRvcmN1bHVzLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogOAp9"}}}
-, {"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": "7", "sha256": "1mrxfivq4f0117yl1gv8q8j2m236b34livag1fv4a7pgi0graxxi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImJhc2UiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudGFzay13aWRnZXQiLAogICJkZXBlbmRlbmNpZXMiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2ptaXNraW5pcy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdGFzay13aWRnZXQvd2lraXMvSW5zdGFsbGF0aW9uIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSB0YXNrcyBuZXh0IHRvIHRoZSBjYWxlbmRhciB3aWRnZXQuXG5cblZpc2l0IG91ciBXaWtpIHBhZ2UgZm9yIG1vcmUgaW5mb3JtYXRpb24gYW5kIHRyb3VibGVzaG9vdGluZy4iLAogICJlcGF0aCI6ICIvb3JnL2dub21lL3NoZWxsL2V4dGVuc2lvbnMvdGFzay13aWRnZXQiLAogICJncmVzb3VyY2UiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudGFzay13aWRnZXQuZ3Jlc291cmNlIiwKICAibG9jYWxlIjogInVzZXItc3BlY2lmaWMiLAogICJuYW1lIjogIlRhc2sgV2lkZ2V0IiwKICAic2NoZW1hcyI6ICJ1c2VyLXNwZWNpZmljIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2ptaXNraW5pcy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdGFzay13aWRnZXQiLAogICJ1dWlkIjogInRhc2std2lkZ2V0QGp1b3phc21pc2tpbmlzLmdpdGxhYi5pbyIsCiAgInZlcnNpb24iOiA3LAogICJ3aWtpIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9qbWlza2luaXMvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRhc2std2lkZ2V0L3dpa2lzIgp9"}, "40": {"version": "7", "sha256": "1mrxfivq4f0117yl1gv8q8j2m236b34livag1fv4a7pgi0graxxi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImJhc2UiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudGFzay13aWRnZXQiLAogICJkZXBlbmRlbmNpZXMiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2ptaXNraW5pcy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdGFzay13aWRnZXQvd2lraXMvSW5zdGFsbGF0aW9uIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSB0YXNrcyBuZXh0IHRvIHRoZSBjYWxlbmRhciB3aWRnZXQuXG5cblZpc2l0IG91ciBXaWtpIHBhZ2UgZm9yIG1vcmUgaW5mb3JtYXRpb24gYW5kIHRyb3VibGVzaG9vdGluZy4iLAogICJlcGF0aCI6ICIvb3JnL2dub21lL3NoZWxsL2V4dGVuc2lvbnMvdGFzay13aWRnZXQiLAogICJncmVzb3VyY2UiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudGFzay13aWRnZXQuZ3Jlc291cmNlIiwKICAibG9jYWxlIjogInVzZXItc3BlY2lmaWMiLAogICJuYW1lIjogIlRhc2sgV2lkZ2V0IiwKICAic2NoZW1hcyI6ICJ1c2VyLXNwZWNpZmljIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2ptaXNraW5pcy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdGFzay13aWRnZXQiLAogICJ1dWlkIjogInRhc2std2lkZ2V0QGp1b3phc21pc2tpbmlzLmdpdGxhYi5pbyIsCiAgInZlcnNpb24iOiA3LAogICJ3aWtpIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9qbWlza2luaXMvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRhc2std2lkZ2V0L3dpa2lzIgp9"}}}
+, {"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! Note: currently experiencing high CPU usage. Developers welcome to contribute on github!", "link": "https://extensions.gnome.org/extension/3539/downfall/", "shell_version_map": {"38": {"version": "11", "sha256": "0ccpxijh9qmvsncfjvvgrp5n4l2qxbvjhndpg32mjfpwf7d1dqrx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIHRleHQgb2YgeW91ciBjaG9pY2UgYWNyb3NzIHRoZSBzY3JlZW4uIENhbiBzaW11bGF0ZSBsZWF2ZXMsIHNub3csIGZpcmV3b3JrcywgdWZvcywgYW5kIG1vcmUhIE5vdGU6IGN1cnJlbnRseSBleHBlcmllbmNpbmcgaGlnaCBDUFUgdXNhZ2UuIERldmVsb3BlcnMgd2VsY29tZSB0byBjb250cmlidXRlIG9uIGdpdGh1YiEiLAogICJuYW1lIjogIkRvd25GYWxsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3RvcmN1bHVzL0Rvd25GYWxsIiwKICAidXVpZCI6ICJkb3duZmFsbEB0b3JjdWx1cy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDExCn0="}, "40": {"version": "11", "sha256": "0ccpxijh9qmvsncfjvvgrp5n4l2qxbvjhndpg32mjfpwf7d1dqrx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIHRleHQgb2YgeW91ciBjaG9pY2UgYWNyb3NzIHRoZSBzY3JlZW4uIENhbiBzaW11bGF0ZSBsZWF2ZXMsIHNub3csIGZpcmV3b3JrcywgdWZvcywgYW5kIG1vcmUhIE5vdGU6IGN1cnJlbnRseSBleHBlcmllbmNpbmcgaGlnaCBDUFUgdXNhZ2UuIERldmVsb3BlcnMgd2VsY29tZSB0byBjb250cmlidXRlIG9uIGdpdGh1YiEiLAogICJuYW1lIjogIkRvd25GYWxsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3RvcmN1bHVzL0Rvd25GYWxsIiwKICAidXVpZCI6ICJkb3duZmFsbEB0b3JjdWx1cy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDExCn0="}}}
+, {"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": "4", "sha256": "0pybsc0f7nqd4f0y8a26v5yr1k9b0kj77wkvv5mxilbhhh67yv36", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYWNrcyB0aGUgdGltZSB5b3UgaGF2ZSBiZWVuIGFjdGl2ZWx5IHVzaW5nIHlvdXIgY29tcHV0ZXIiLAogICJuYW1lIjogIlRpbWUgQXdhcmVuZXNzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9zci5odC9+a2FwcGEvZ25vbWUtc2hlbGwtdGltZS1hd2FyZW5lc3MvIiwKICAidXVpZCI6ICJ0aW1lLWF3YXJlbmVzc0Bnbm9tZS1leHRlbnNpb25zLmthcHJhbm9mZi5ydSIsCiAgInZlcnNpb24iOiA0Cn0="}, "40": {"version": "4", "sha256": "0pybsc0f7nqd4f0y8a26v5yr1k9b0kj77wkvv5mxilbhhh67yv36", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYWNrcyB0aGUgdGltZSB5b3UgaGF2ZSBiZWVuIGFjdGl2ZWx5IHVzaW5nIHlvdXIgY29tcHV0ZXIiLAogICJuYW1lIjogIlRpbWUgQXdhcmVuZXNzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9zci5odC9+a2FwcGEvZ25vbWUtc2hlbGwtdGltZS1hd2FyZW5lc3MvIiwKICAidXVpZCI6ICJ0aW1lLWF3YXJlbmVzc0Bnbm9tZS1leHRlbnNpb25zLmthcHJhbm9mZi5ydSIsCiAgInZlcnNpb24iOiA0Cn0="}}}
+, {"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 installation instructions and troubleshooting.", "link": "https://extensions.gnome.org/extension/3569/task-widget/", "shell_version_map": {"38": {"version": "7", "sha256": "1frgby34251xmc9871ydxaa9iska8m2hkm81lc0f7fhk0gbbif2d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImJhc2UiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudGFzay13aWRnZXQiLAogICJkZXBlbmRlbmNpZXMiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2ptaXNraW5pcy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdGFzay13aWRnZXQvd2lraXMvSW5zdGFsbGF0aW9uIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSB0YXNrcyBuZXh0IHRvIHRoZSBjYWxlbmRhciB3aWRnZXQuXG5cblZpc2l0IG91ciBXaWtpIHBhZ2UgZm9yIGluc3RhbGxhdGlvbiBpbnN0cnVjdGlvbnMgYW5kIHRyb3VibGVzaG9vdGluZy4iLAogICJlcGF0aCI6ICIvb3JnL2dub21lL3NoZWxsL2V4dGVuc2lvbnMvdGFzay13aWRnZXQiLAogICJncmVzb3VyY2UiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudGFzay13aWRnZXQuZ3Jlc291cmNlIiwKICAibG9jYWxlIjogInVzZXItc3BlY2lmaWMiLAogICJuYW1lIjogIlRhc2sgV2lkZ2V0IiwKICAic2NoZW1hcyI6ICJ1c2VyLXNwZWNpZmljIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2ptaXNraW5pcy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdGFzay13aWRnZXQiLAogICJ1dWlkIjogInRhc2std2lkZ2V0QGp1b3phc21pc2tpbmlzLmdpdGxhYi5pbyIsCiAgInZlcnNpb24iOiA3LAogICJ3aWtpIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9qbWlza2luaXMvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRhc2std2lkZ2V0L3dpa2lzIgp9"}, "40": {"version": "7", "sha256": "1frgby34251xmc9871ydxaa9iska8m2hkm81lc0f7fhk0gbbif2d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImJhc2UiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudGFzay13aWRnZXQiLAogICJkZXBlbmRlbmNpZXMiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2ptaXNraW5pcy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdGFzay13aWRnZXQvd2lraXMvSW5zdGFsbGF0aW9uIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSB0YXNrcyBuZXh0IHRvIHRoZSBjYWxlbmRhciB3aWRnZXQuXG5cblZpc2l0IG91ciBXaWtpIHBhZ2UgZm9yIGluc3RhbGxhdGlvbiBpbnN0cnVjdGlvbnMgYW5kIHRyb3VibGVzaG9vdGluZy4iLAogICJlcGF0aCI6ICIvb3JnL2dub21lL3NoZWxsL2V4dGVuc2lvbnMvdGFzay13aWRnZXQiLAogICJncmVzb3VyY2UiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudGFzay13aWRnZXQuZ3Jlc291cmNlIiwKICAibG9jYWxlIjogInVzZXItc3BlY2lmaWMiLAogICJuYW1lIjogIlRhc2sgV2lkZ2V0IiwKICAic2NoZW1hcyI6ICJ1c2VyLXNwZWNpZmljIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2ptaXNraW5pcy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdGFzay13aWRnZXQiLAogICJ1dWlkIjogInRhc2std2lkZ2V0QGp1b3phc21pc2tpbmlzLmdpdGxhYi5pbyIsCiAgInZlcnNpb24iOiA3LAogICJ3aWtpIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9qbWlza2luaXMvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRhc2std2lkZ2V0L3dpa2lzIgp9"}}}
+, {"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": "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": "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": "13", "sha256": "05g1lshild456qm73a2g7wcis0hkkilyv2i8naq2wp17g17rw5dn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlx1MDYyYVx1MDY0Mlx1MDY0OFx1MDZjY1x1MDY0NSBcdTA2NDdcdTA2MmNcdTA2MzFcdTA2Y2MgXHUwNjM0XHUwNjQ1XHUwNjMzXHUwNmNjXHUwNjBjXHUwNjQyXHUwNjQ1XHUwNjMxXHUwNmNjIFx1MDY0OCBcdTA2NDVcdTA2Y2NcdTA2NDRcdTA2MjdcdTA2MmZcdTA2Y2MgXHUwNjJmXHUwNjMxIFx1MDY0NVx1MDZjY1x1MDYzMlx1MjAwY1x1MDZhOVx1MDYyN1x1MDYzMSBcdTA2YWZcdTA2NDZcdTA2NDhcdTA2NDUgXHUwNjQ0XHUwNmNjXHUwNjQ2XHUwNjQ4XHUwNmE5XHUwNjMzXG5cdTA2NDJcdTA2MjdcdTA2MjhcdTA2NDRcdTA2Y2NcdTA2MmEgXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNmNjXHUwNjM0IFx1MDYyN1x1MDY0OFx1MDY0Mlx1MDYyN1x1MDYyYSBcdTA2MzRcdTA2MzFcdTA2MzlcdTA2Y2MgXHUwNjQ4IFx1MDY3ZVx1MDYyZVx1MDYzNCBcdTA2MjdcdTA2MzBcdTA2MjdcdTA2NDZcblx1MDYyZlx1MDYzMVx1MDYyYyBcdTA2MmFcdTA2MzlcdTA2MzdcdTA2Y2NcdTA2NDRcdTA2Y2NcdTIwMGNcdTA2NDdcdTA2MjcgXHUwNjQ4IFx1MDY0NVx1MDY0Nlx1MDYyN1x1MDYzM1x1MDYyOFx1MDYyYVx1MjAwY1x1MDY0N1x1MDYyN1x1MDZjYyBcdTA2MzFcdTA2MzNcdTA2NDVcdTA2Y2MgXHUwNjJhXHUwNjQyXHUwNjQ4XHUwNmNjXHUwNjQ1XG5cdTA2MzJcdTA2MjhcdTA2MjdcdTA2NDYgXHUwNmE5XHUwNjI3XHUwNjQ1XHUwNjQ0XHUwNjI3XHUwNjRiIFx1MDY0MVx1MDYyN1x1MDYzMVx1MDYzM1x1MDZjY1xuXHUwNjJhXHUwNjI3XHUwNjMxXHUwNmNjXHUwNjJlIFx1MDY0Mlx1MDY0NVx1MDYzMVx1MDZjYyBcdTA2NDdcdTA2NDRcdTA2MjdcdTA2NDRcdTA2Y2MgXHUwNjI3XHUwNmNjXHUwNjMxXHUwNjI3XHUwNjQ2XG5cdTA2MzNcdTA2MjdcdTA2MzJcdTA2YWZcdTA2MjdcdTA2MzEgXHUwNjI4XHUwNjI3IFx1MDYyN1x1MDZhOVx1MDYyYlx1MDYzMSBcdTA2NDZcdTA2MzNcdTA2MmVcdTA2NDdcdTIwMGNcdTA2NDdcdTA2MjdcdTA2Y2MgXHUwNmFmXHUwNjQ2XHUwNjQ4XHUwNjQ1XG5cdTA2MmZcdTA2MzEgXHUwNjJkXHUwNjI3XHUwNjQ0IFx1MDYyYVx1MDY0OFx1MDYzM1x1MDYzOVx1MDY0Ny4uLlxuXG5TaG93cyBQZXJzaWFuICsgSXNsYW1pYyArIEdyZWdvcmlhbiBkYXRlIGluIHRoZSBwYW5lbCBvZiBnbm9tZS5cblxuSXQgc2hvd3M6XG4xLSBQZXJzaWFuIGNhbGVuZGFyXG4yLSBJdCBjYW4gc2hvdywgdG9kYXkgaXMgaG9saWRheSBvciBub3QhXG4zLSBTaG93IG5vdGlmaWNhdGlvbiBvbkRheUNoYW5nZWQhXG40LSBEYXRlIGNvbnZlcnRlciBiZXR3ZWVuIFBlcnNpYW4sIEdyZWdvcmlhbiBhbmQgTHVuYXIgSGlqcmkoSXNsYW1pYylcbjUtIFNob3cgY2FsZW5kYXIgRXZlbnRzLlxuNi0gU2hvdyBQcmF5VGltZXMgYW5kIHBsYXkgc291bmQgKEF6YW4pLlxuXG5QbGVhc2UgXCJyYXRlXCIgaGVyZSBhbmQgXCJzdGFyXCIgcHJvamVjdCBpbiBHaXRIdWIuXG5QbGVhc2Ugb3BlbiBhbiBpc3N1ZSBpbiBHaXRIdWIgaWYgeW91IGZvdW5kIHNvbWV0aGluZyBvciBoYXZlIGFuIGlkZWEhXG5cdTA2YWZcdTA2MzJcdTA2MjdcdTA2MzFcdTA2MzQgXHUwNjQ1XHUwNjM0XHUwNmE5XHUwNjQ0XHUwNjI3XHUwNjJhOlxuaHR0cHM6Ly9naXRodWIuY29tL1NDUi1JUi9nbm9tZS1zaGFtc2ktY2FsZW5kYXIvaXNzdWVzIiwKICAibmFtZSI6ICJJcmFuaWFuIFBlcnNpYW4gQ2FsZW5kYXIiLAogICJvcmlnaW5hbC1hdXRob3JzIjogImpkZi5zY3IuaXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwLjAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zY3ItaXIvZ25vbWUtc2hhbXNpLWNhbGVuZGFyIiwKICAidXVpZCI6ICJzaGFtc2ktY2FsZW5kYXJAZ25vbWUuc2NyLmlyIiwKICAidmVyc2lvbiI6IDEzCn0="}, "40": {"version": "13", "sha256": "05g1lshild456qm73a2g7wcis0hkkilyv2i8naq2wp17g17rw5dn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlx1MDYyYVx1MDY0Mlx1MDY0OFx1MDZjY1x1MDY0NSBcdTA2NDdcdTA2MmNcdTA2MzFcdTA2Y2MgXHUwNjM0XHUwNjQ1XHUwNjMzXHUwNmNjXHUwNjBjXHUwNjQyXHUwNjQ1XHUwNjMxXHUwNmNjIFx1MDY0OCBcdTA2NDVcdTA2Y2NcdTA2NDRcdTA2MjdcdTA2MmZcdTA2Y2MgXHUwNjJmXHUwNjMxIFx1MDY0NVx1MDZjY1x1MDYzMlx1MjAwY1x1MDZhOVx1MDYyN1x1MDYzMSBcdTA2YWZcdTA2NDZcdTA2NDhcdTA2NDUgXHUwNjQ0XHUwNmNjXHUwNjQ2XHUwNjQ4XHUwNmE5XHUwNjMzXG5cdTA2NDJcdTA2MjdcdTA2MjhcdTA2NDRcdTA2Y2NcdTA2MmEgXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNmNjXHUwNjM0IFx1MDYyN1x1MDY0OFx1MDY0Mlx1MDYyN1x1MDYyYSBcdTA2MzRcdTA2MzFcdTA2MzlcdTA2Y2MgXHUwNjQ4IFx1MDY3ZVx1MDYyZVx1MDYzNCBcdTA2MjdcdTA2MzBcdTA2MjdcdTA2NDZcblx1MDYyZlx1MDYzMVx1MDYyYyBcdTA2MmFcdTA2MzlcdTA2MzdcdTA2Y2NcdTA2NDRcdTA2Y2NcdTIwMGNcdTA2NDdcdTA2MjcgXHUwNjQ4IFx1MDY0NVx1MDY0Nlx1MDYyN1x1MDYzM1x1MDYyOFx1MDYyYVx1MjAwY1x1MDY0N1x1MDYyN1x1MDZjYyBcdTA2MzFcdTA2MzNcdTA2NDVcdTA2Y2MgXHUwNjJhXHUwNjQyXHUwNjQ4XHUwNmNjXHUwNjQ1XG5cdTA2MzJcdTA2MjhcdTA2MjdcdTA2NDYgXHUwNmE5XHUwNjI3XHUwNjQ1XHUwNjQ0XHUwNjI3XHUwNjRiIFx1MDY0MVx1MDYyN1x1MDYzMVx1MDYzM1x1MDZjY1xuXHUwNjJhXHUwNjI3XHUwNjMxXHUwNmNjXHUwNjJlIFx1MDY0Mlx1MDY0NVx1MDYzMVx1MDZjYyBcdTA2NDdcdTA2NDRcdTA2MjdcdTA2NDRcdTA2Y2MgXHUwNjI3XHUwNmNjXHUwNjMxXHUwNjI3XHUwNjQ2XG5cdTA2MzNcdTA2MjdcdTA2MzJcdTA2YWZcdTA2MjdcdTA2MzEgXHUwNjI4XHUwNjI3IFx1MDYyN1x1MDZhOVx1MDYyYlx1MDYzMSBcdTA2NDZcdTA2MzNcdTA2MmVcdTA2NDdcdTIwMGNcdTA2NDdcdTA2MjdcdTA2Y2MgXHUwNmFmXHUwNjQ2XHUwNjQ4XHUwNjQ1XG5cdTA2MmZcdTA2MzEgXHUwNjJkXHUwNjI3XHUwNjQ0IFx1MDYyYVx1MDY0OFx1MDYzM1x1MDYzOVx1MDY0Ny4uLlxuXG5TaG93cyBQZXJzaWFuICsgSXNsYW1pYyArIEdyZWdvcmlhbiBkYXRlIGluIHRoZSBwYW5lbCBvZiBnbm9tZS5cblxuSXQgc2hvd3M6XG4xLSBQZXJzaWFuIGNhbGVuZGFyXG4yLSBJdCBjYW4gc2hvdywgdG9kYXkgaXMgaG9saWRheSBvciBub3QhXG4zLSBTaG93IG5vdGlmaWNhdGlvbiBvbkRheUNoYW5nZWQhXG40LSBEYXRlIGNvbnZlcnRlciBiZXR3ZWVuIFBlcnNpYW4sIEdyZWdvcmlhbiBhbmQgTHVuYXIgSGlqcmkoSXNsYW1pYylcbjUtIFNob3cgY2FsZW5kYXIgRXZlbnRzLlxuNi0gU2hvdyBQcmF5VGltZXMgYW5kIHBsYXkgc291bmQgKEF6YW4pLlxuXG5QbGVhc2UgXCJyYXRlXCIgaGVyZSBhbmQgXCJzdGFyXCIgcHJvamVjdCBpbiBHaXRIdWIuXG5QbGVhc2Ugb3BlbiBhbiBpc3N1ZSBpbiBHaXRIdWIgaWYgeW91IGZvdW5kIHNvbWV0aGluZyBvciBoYXZlIGFuIGlkZWEhXG5cdTA2YWZcdTA2MzJcdTA2MjdcdTA2MzFcdTA2MzQgXHUwNjQ1XHUwNjM0XHUwNmE5XHUwNjQ0XHUwNjI3XHUwNjJhOlxuaHR0cHM6Ly9naXRodWIuY29tL1NDUi1JUi9nbm9tZS1zaGFtc2ktY2FsZW5kYXIvaXNzdWVzIiwKICAibmFtZSI6ICJJcmFuaWFuIFBlcnNpYW4gQ2FsZW5kYXIiLAogICJvcmlnaW5hbC1hdXRob3JzIjogImpkZi5zY3IuaXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwLjAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zY3ItaXIvZ25vbWUtc2hhbXNpLWNhbGVuZGFyIiwKICAidXVpZCI6ICJzaGFtc2ktY2FsZW5kYXJAZ25vbWUuc2NyLmlyIiwKICAidmVyc2lvbiI6IDEzCn0="}}}
-, {"uuid": "arcmenu@arcmenu.com", "name": "ArcMenu", "pname": "arcmenu", "description": "Application Menu for GNOME, with various layouts to choose from!\n\nSupports GNOME shell 3.36, 3.38, and 40.\n\nFor GNOME shell versions 3.14-3.34 visit https://extensions.gnome.org/extension/1228/arc-menu/\n\nCommon solutions for ERROR message:\n-Restart your GNOME session after updating ArcMenu.\n-Make sure package 'gir1.2-gmenu-3.0' is installed.\n\nGeneral Help:\n-Visit https://gitlab.com/arcmenu/ArcMenu/-/wikis/home\n\nPlease report any other issues or concerns on the ArcMenu GitLab page.", "link": "https://extensions.gnome.org/extension/3628/arcmenu/", "shell_version_map": {"38": {"version": "8", "sha256": "0zhnb7r1v1pnkw1f0kh3m1pxbsn8vycvs8iyp1qv3rrav9vbvvhz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcGxpY2F0aW9uIE1lbnUgZm9yIEdOT01FLCB3aXRoIHZhcmlvdXMgbGF5b3V0cyB0byBjaG9vc2UgZnJvbSFcblxuU3VwcG9ydHMgR05PTUUgc2hlbGwgMy4zNiwgMy4zOCwgYW5kIDQwLlxuXG5Gb3IgR05PTUUgc2hlbGwgdmVyc2lvbnMgMy4xNC0zLjM0IHZpc2l0IGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzEyMjgvYXJjLW1lbnUvXG5cbkNvbW1vbiBzb2x1dGlvbnMgZm9yIEVSUk9SIG1lc3NhZ2U6XG4tUmVzdGFydCB5b3VyIEdOT01FIHNlc3Npb24gYWZ0ZXIgdXBkYXRpbmcgQXJjTWVudS5cbi1NYWtlIHN1cmUgcGFja2FnZSAnZ2lyMS4yLWdtZW51LTMuMCcgaXMgaW5zdGFsbGVkLlxuXG5HZW5lcmFsIEhlbHA6XG4tVmlzaXQgaHR0cHM6Ly9naXRsYWIuY29tL2FyY21lbnUvQXJjTWVudS8tL3dpa2lzL2hvbWVcblxuUGxlYXNlIHJlcG9ydCBhbnkgb3RoZXIgaXNzdWVzIG9yIGNvbmNlcm5zIG9uIHRoZSBBcmNNZW51IEdpdExhYiBwYWdlLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJhcmNtZW51IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYXJjbWVudSIsCiAgIm5hbWUiOiAiQXJjTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hcmNtZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vYXJjbWVudS9BcmNNZW51IiwKICAidXVpZCI6ICJhcmNtZW51QGFyY21lbnUuY29tIiwKICAidmVyc2lvbiI6IDgKfQ=="}, "40": {"version": "10", "sha256": "1094mjp57gf9a3yw7v3j2hgawgrip3ylwbq2l80mjr5q062a8p4n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcGxpY2F0aW9uIE1lbnUgZm9yIEdOT01FLCB3aXRoIHZhcmlvdXMgbGF5b3V0cyB0byBjaG9vc2UgZnJvbSFcblxuU3VwcG9ydHMgR05PTUUgc2hlbGwgMy4zNiwgMy4zOCwgYW5kIDQwLlxuXG5Gb3IgR05PTUUgc2hlbGwgdmVyc2lvbnMgMy4xNC0zLjM0IHZpc2l0IGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzEyMjgvYXJjLW1lbnUvXG5cbkNvbW1vbiBzb2x1dGlvbnMgZm9yIEVSUk9SIG1lc3NhZ2U6XG4tUmVzdGFydCB5b3VyIEdOT01FIHNlc3Npb24gYWZ0ZXIgdXBkYXRpbmcgQXJjTWVudS5cbi1NYWtlIHN1cmUgcGFja2FnZSAnZ2lyMS4yLWdtZW51LTMuMCcgaXMgaW5zdGFsbGVkLlxuXG5HZW5lcmFsIEhlbHA6XG4tVmlzaXQgaHR0cHM6Ly9naXRsYWIuY29tL2FyY21lbnUvQXJjTWVudS8tL3dpa2lzL2hvbWVcblxuUGxlYXNlIHJlcG9ydCBhbnkgb3RoZXIgaXNzdWVzIG9yIGNvbmNlcm5zIG9uIHRoZSBBcmNNZW51IEdpdExhYiBwYWdlLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJhcmNtZW51IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYXJjbWVudSIsCiAgIm5hbWUiOiAiQXJjTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hcmNtZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2FyY21lbnUvQXJjTWVudSIsCiAgInV1aWQiOiAiYXJjbWVudUBhcmNtZW51LmNvbSIsCiAgInZlcnNpb24iOiAxMAp9"}}}
-, {"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": "5", "sha256": "1f0c8xkdv6ij4rc0gdfmqgshxcn5pg6zqb25rcxgjg1ckp10984w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIElNRSBsaXN0IGluIGZpeGVkIHNlcXVlbmNlIGluc3RlYWQgb2YgTVJVLiIsCiAgIm5hbWUiOiAiRml4ZWQgSU1FIExpc3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQWx5bnhaaG91L2dub21lLXNoZWxsLWV4dGVuc2lvbi1maXhlZC1pbWUtbGlzdC8iLAogICJ1dWlkIjogImZpeGVkaW1lbGlzdEBhbHlueC5vbmUiLAogICJ2ZXJzaW9uIjogNQp9"}, "40": {"version": "5", "sha256": "1f0c8xkdv6ij4rc0gdfmqgshxcn5pg6zqb25rcxgjg1ckp10984w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIElNRSBsaXN0IGluIGZpeGVkIHNlcXVlbmNlIGluc3RlYWQgb2YgTVJVLiIsCiAgIm5hbWUiOiAiRml4ZWQgSU1FIExpc3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQWx5bnhaaG91L2dub21lLXNoZWxsLWV4dGVuc2lvbi1maXhlZC1pbWUtbGlzdC8iLAogICJ1dWlkIjogImZpeGVkaW1lbGlzdEBhbHlueC5vbmUiLAogICJ2ZXJzaW9uIjogNQp9"}}}
+, {"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": "14", "sha256": "16jz1vrl992nlgnlxdnqp7w89bl7ryi5l77vvydi1jn3n042jr2y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlx1MDYyYVx1MDY0Mlx1MDY0OFx1MDZjY1x1MDY0NSBcdTA2NDdcdTA2MmNcdTA2MzFcdTA2Y2MgXHUwNjM0XHUwNjQ1XHUwNjMzXHUwNmNjXHUwNjBjXHUwNjQyXHUwNjQ1XHUwNjMxXHUwNmNjIFx1MDY0OCBcdTA2NDVcdTA2Y2NcdTA2NDRcdTA2MjdcdTA2MmZcdTA2Y2MgXHUwNjJmXHUwNjMxIFx1MDY0NVx1MDZjY1x1MDYzMlx1MjAwY1x1MDZhOVx1MDYyN1x1MDYzMSBcdTA2YWZcdTA2NDZcdTA2NDhcdTA2NDUgXHUwNjQ0XHUwNmNjXHUwNjQ2XHUwNjQ4XHUwNmE5XHUwNjMzXG5cdTA2NDJcdTA2MjdcdTA2MjhcdTA2NDRcdTA2Y2NcdTA2MmEgXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNmNjXHUwNjM0IFx1MDYyN1x1MDY0OFx1MDY0Mlx1MDYyN1x1MDYyYSBcdTA2MzRcdTA2MzFcdTA2MzlcdTA2Y2MgXHUwNjQ4IFx1MDY3ZVx1MDYyZVx1MDYzNCBcdTA2MjdcdTA2MzBcdTA2MjdcdTA2NDZcblx1MDYyZlx1MDYzMVx1MDYyYyBcdTA2MmFcdTA2MzlcdTA2MzdcdTA2Y2NcdTA2NDRcdTA2Y2NcdTIwMGNcdTA2NDdcdTA2MjcgXHUwNjQ4IFx1MDY0NVx1MDY0Nlx1MDYyN1x1MDYzM1x1MDYyOFx1MDYyYVx1MjAwY1x1MDY0N1x1MDYyN1x1MDZjYyBcdTA2MzFcdTA2MzNcdTA2NDVcdTA2Y2MgXHUwNjJhXHUwNjQyXHUwNjQ4XHUwNmNjXHUwNjQ1XG5cdTA2MzJcdTA2MjhcdTA2MjdcdTA2NDYgXHUwNmE5XHUwNjI3XHUwNjQ1XHUwNjQ0XHUwNjI3XHUwNjRiIFx1MDY0MVx1MDYyN1x1MDYzMVx1MDYzM1x1MDZjY1xuXHUwNjJhXHUwNjI3XHUwNjMxXHUwNmNjXHUwNjJlIFx1MDY0Mlx1MDY0NVx1MDYzMVx1MDZjYyBcdTA2NDdcdTA2NDRcdTA2MjdcdTA2NDRcdTA2Y2MgXHUwNjI3XHUwNmNjXHUwNjMxXHUwNjI3XHUwNjQ2XG5cdTA2MzNcdTA2MjdcdTA2MzJcdTA2YWZcdTA2MjdcdTA2MzEgXHUwNjI4XHUwNjI3IFx1MDYyN1x1MDZhOVx1MDYyYlx1MDYzMSBcdTA2NDZcdTA2MzNcdTA2MmVcdTA2NDdcdTIwMGNcdTA2NDdcdTA2MjdcdTA2Y2MgXHUwNmFmXHUwNjQ2XHUwNjQ4XHUwNjQ1XG5cdTA2MmZcdTA2MzEgXHUwNjJkXHUwNjI3XHUwNjQ0IFx1MDYyYVx1MDY0OFx1MDYzM1x1MDYzOVx1MDY0Ny4uLlxuXG5TaG93cyBQZXJzaWFuICsgSXNsYW1pYyArIEdyZWdvcmlhbiBkYXRlIGluIHRoZSBwYW5lbCBvZiBnbm9tZS5cblxuSXQgc2hvd3M6XG4xLSBQZXJzaWFuIGNhbGVuZGFyXG4yLSBJdCBjYW4gc2hvdywgdG9kYXkgaXMgaG9saWRheSBvciBub3QhXG4zLSBTaG93IG5vdGlmaWNhdGlvbiBvbkRheUNoYW5nZWQhXG40LSBEYXRlIGNvbnZlcnRlciBiZXR3ZWVuIFBlcnNpYW4sIEdyZWdvcmlhbiBhbmQgTHVuYXIgSGlqcmkoSXNsYW1pYylcbjUtIFNob3cgY2FsZW5kYXIgRXZlbnRzLlxuNi0gU2hvdyBQcmF5VGltZXMgYW5kIHBsYXkgc291bmQgKEF6YW4pLlxuXG5QbGVhc2UgXCJyYXRlXCIgaGVyZSBhbmQgXCJzdGFyXCIgcHJvamVjdCBpbiBHaXRIdWIuXG5QbGVhc2Ugb3BlbiBhbiBpc3N1ZSBpbiBHaXRIdWIgaWYgeW91IGZvdW5kIHNvbWV0aGluZyBvciBoYXZlIGFuIGlkZWEhXG5cdTA2YWZcdTA2MzJcdTA2MjdcdTA2MzFcdTA2MzQgXHUwNjQ1XHUwNjM0XHUwNmE5XHUwNjQ0XHUwNjI3XHUwNjJhOlxuaHR0cHM6Ly9naXRodWIuY29tL1NDUi1JUi9nbm9tZS1zaGFtc2ktY2FsZW5kYXIvaXNzdWVzIiwKICAibmFtZSI6ICJJcmFuaWFuIFBlcnNpYW4gQ2FsZW5kYXIiLAogICJvcmlnaW5hbC1hdXRob3JzIjogImpkZi5zY3IuaXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc2NyLWlyL2dub21lLXNoYW1zaS1jYWxlbmRhciIsCiAgInV1aWQiOiAic2hhbXNpLWNhbGVuZGFyQGdub21lLnNjci5pciIsCiAgInZlcnNpb24iOiAxNAp9"}, "40": {"version": "14", "sha256": "16jz1vrl992nlgnlxdnqp7w89bl7ryi5l77vvydi1jn3n042jr2y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlx1MDYyYVx1MDY0Mlx1MDY0OFx1MDZjY1x1MDY0NSBcdTA2NDdcdTA2MmNcdTA2MzFcdTA2Y2MgXHUwNjM0XHUwNjQ1XHUwNjMzXHUwNmNjXHUwNjBjXHUwNjQyXHUwNjQ1XHUwNjMxXHUwNmNjIFx1MDY0OCBcdTA2NDVcdTA2Y2NcdTA2NDRcdTA2MjdcdTA2MmZcdTA2Y2MgXHUwNjJmXHUwNjMxIFx1MDY0NVx1MDZjY1x1MDYzMlx1MjAwY1x1MDZhOVx1MDYyN1x1MDYzMSBcdTA2YWZcdTA2NDZcdTA2NDhcdTA2NDUgXHUwNjQ0XHUwNmNjXHUwNjQ2XHUwNjQ4XHUwNmE5XHUwNjMzXG5cdTA2NDJcdTA2MjdcdTA2MjhcdTA2NDRcdTA2Y2NcdTA2MmEgXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNmNjXHUwNjM0IFx1MDYyN1x1MDY0OFx1MDY0Mlx1MDYyN1x1MDYyYSBcdTA2MzRcdTA2MzFcdTA2MzlcdTA2Y2MgXHUwNjQ4IFx1MDY3ZVx1MDYyZVx1MDYzNCBcdTA2MjdcdTA2MzBcdTA2MjdcdTA2NDZcblx1MDYyZlx1MDYzMVx1MDYyYyBcdTA2MmFcdTA2MzlcdTA2MzdcdTA2Y2NcdTA2NDRcdTA2Y2NcdTIwMGNcdTA2NDdcdTA2MjcgXHUwNjQ4IFx1MDY0NVx1MDY0Nlx1MDYyN1x1MDYzM1x1MDYyOFx1MDYyYVx1MjAwY1x1MDY0N1x1MDYyN1x1MDZjYyBcdTA2MzFcdTA2MzNcdTA2NDVcdTA2Y2MgXHUwNjJhXHUwNjQyXHUwNjQ4XHUwNmNjXHUwNjQ1XG5cdTA2MzJcdTA2MjhcdTA2MjdcdTA2NDYgXHUwNmE5XHUwNjI3XHUwNjQ1XHUwNjQ0XHUwNjI3XHUwNjRiIFx1MDY0MVx1MDYyN1x1MDYzMVx1MDYzM1x1MDZjY1xuXHUwNjJhXHUwNjI3XHUwNjMxXHUwNmNjXHUwNjJlIFx1MDY0Mlx1MDY0NVx1MDYzMVx1MDZjYyBcdTA2NDdcdTA2NDRcdTA2MjdcdTA2NDRcdTA2Y2MgXHUwNjI3XHUwNmNjXHUwNjMxXHUwNjI3XHUwNjQ2XG5cdTA2MzNcdTA2MjdcdTA2MzJcdTA2YWZcdTA2MjdcdTA2MzEgXHUwNjI4XHUwNjI3IFx1MDYyN1x1MDZhOVx1MDYyYlx1MDYzMSBcdTA2NDZcdTA2MzNcdTA2MmVcdTA2NDdcdTIwMGNcdTA2NDdcdTA2MjdcdTA2Y2MgXHUwNmFmXHUwNjQ2XHUwNjQ4XHUwNjQ1XG5cdTA2MmZcdTA2MzEgXHUwNjJkXHUwNjI3XHUwNjQ0IFx1MDYyYVx1MDY0OFx1MDYzM1x1MDYzOVx1MDY0Ny4uLlxuXG5TaG93cyBQZXJzaWFuICsgSXNsYW1pYyArIEdyZWdvcmlhbiBkYXRlIGluIHRoZSBwYW5lbCBvZiBnbm9tZS5cblxuSXQgc2hvd3M6XG4xLSBQZXJzaWFuIGNhbGVuZGFyXG4yLSBJdCBjYW4gc2hvdywgdG9kYXkgaXMgaG9saWRheSBvciBub3QhXG4zLSBTaG93IG5vdGlmaWNhdGlvbiBvbkRheUNoYW5nZWQhXG40LSBEYXRlIGNvbnZlcnRlciBiZXR3ZWVuIFBlcnNpYW4sIEdyZWdvcmlhbiBhbmQgTHVuYXIgSGlqcmkoSXNsYW1pYylcbjUtIFNob3cgY2FsZW5kYXIgRXZlbnRzLlxuNi0gU2hvdyBQcmF5VGltZXMgYW5kIHBsYXkgc291bmQgKEF6YW4pLlxuXG5QbGVhc2UgXCJyYXRlXCIgaGVyZSBhbmQgXCJzdGFyXCIgcHJvamVjdCBpbiBHaXRIdWIuXG5QbGVhc2Ugb3BlbiBhbiBpc3N1ZSBpbiBHaXRIdWIgaWYgeW91IGZvdW5kIHNvbWV0aGluZyBvciBoYXZlIGFuIGlkZWEhXG5cdTA2YWZcdTA2MzJcdTA2MjdcdTA2MzFcdTA2MzQgXHUwNjQ1XHUwNjM0XHUwNmE5XHUwNjQ0XHUwNjI3XHUwNjJhOlxuaHR0cHM6Ly9naXRodWIuY29tL1NDUi1JUi9nbm9tZS1zaGFtc2ktY2FsZW5kYXIvaXNzdWVzIiwKICAibmFtZSI6ICJJcmFuaWFuIFBlcnNpYW4gQ2FsZW5kYXIiLAogICJvcmlnaW5hbC1hdXRob3JzIjogImpkZi5zY3IuaXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc2NyLWlyL2dub21lLXNoYW1zaS1jYWxlbmRhciIsCiAgInV1aWQiOiAic2hhbXNpLWNhbGVuZGFyQGdub21lLnNjci5pciIsCiAgInZlcnNpb24iOiAxNAp9"}}}
+, {"uuid": "arcmenu@arcmenu.com", "name": "ArcMenu", "pname": "arcmenu", "description": "Application Menu for GNOME, with various layouts to choose from!\n\nSupports GNOME shell 3.36, 3.38, and 40.\n\nFor GNOME shell versions 3.14-3.34 visit https://extensions.gnome.org/extension/1228/arc-menu/\n\nCommon solutions for ERROR message:\n-Restart your GNOME session after updating ArcMenu.\n-Make sure package 'gir1.2-gmenu-3.0' is installed.\n\nGeneral Help:\n-Visit https://gitlab.com/arcmenu/ArcMenu/-/wikis/home\n\nPlease report issues at https://gitlab.com/arcmenu/ArcMenu", "link": "https://extensions.gnome.org/extension/3628/arcmenu/", "shell_version_map": {"38": {"version": "13", "sha256": "023frirwnjn7daa2kwgfywf782mwhrzajd908sigr0gphpwpx286", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcGxpY2F0aW9uIE1lbnUgZm9yIEdOT01FLCB3aXRoIHZhcmlvdXMgbGF5b3V0cyB0byBjaG9vc2UgZnJvbSFcblxuU3VwcG9ydHMgR05PTUUgc2hlbGwgMy4zNiwgMy4zOCwgYW5kIDQwLlxuXG5Gb3IgR05PTUUgc2hlbGwgdmVyc2lvbnMgMy4xNC0zLjM0IHZpc2l0IGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzEyMjgvYXJjLW1lbnUvXG5cbkNvbW1vbiBzb2x1dGlvbnMgZm9yIEVSUk9SIG1lc3NhZ2U6XG4tUmVzdGFydCB5b3VyIEdOT01FIHNlc3Npb24gYWZ0ZXIgdXBkYXRpbmcgQXJjTWVudS5cbi1NYWtlIHN1cmUgcGFja2FnZSAnZ2lyMS4yLWdtZW51LTMuMCcgaXMgaW5zdGFsbGVkLlxuXG5HZW5lcmFsIEhlbHA6XG4tVmlzaXQgaHR0cHM6Ly9naXRsYWIuY29tL2FyY21lbnUvQXJjTWVudS8tL3dpa2lzL2hvbWVcblxuUGxlYXNlIHJlcG9ydCBpc3N1ZXMgYXQgaHR0cHM6Ly9naXRsYWIuY29tL2FyY21lbnUvQXJjTWVudSIsCiAgImV4dGVuc2lvbi1pZCI6ICJhcmNtZW51IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYXJjbWVudSIsCiAgIm5hbWUiOiAiQXJjTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hcmNtZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vYXJjbWVudS9BcmNNZW51IiwKICAidXVpZCI6ICJhcmNtZW51QGFyY21lbnUuY29tIiwKICAidmVyc2lvbiI6IDEzCn0="}, "40": {"version": "14", "sha256": "1aji561klhhcslwwhq0021y947i6c6h9lsly3lp3ljd7h5znl0r6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcGxpY2F0aW9uIE1lbnUgZm9yIEdOT01FLCB3aXRoIHZhcmlvdXMgbGF5b3V0cyB0byBjaG9vc2UgZnJvbSFcblxuU3VwcG9ydHMgR05PTUUgc2hlbGwgMy4zNiwgMy4zOCwgYW5kIDQwLlxuXG5Gb3IgR05PTUUgc2hlbGwgdmVyc2lvbnMgMy4xNC0zLjM0IHZpc2l0IGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzEyMjgvYXJjLW1lbnUvXG5cbkNvbW1vbiBzb2x1dGlvbnMgZm9yIEVSUk9SIG1lc3NhZ2U6XG4tUmVzdGFydCB5b3VyIEdOT01FIHNlc3Npb24gYWZ0ZXIgdXBkYXRpbmcgQXJjTWVudS5cbi1NYWtlIHN1cmUgcGFja2FnZSAnZ2lyMS4yLWdtZW51LTMuMCcgaXMgaW5zdGFsbGVkLlxuXG5HZW5lcmFsIEhlbHA6XG4tVmlzaXQgaHR0cHM6Ly9naXRsYWIuY29tL2FyY21lbnUvQXJjTWVudS8tL3dpa2lzL2hvbWVcblxuUGxlYXNlIHJlcG9ydCBpc3N1ZXMgYXQgaHR0cHM6Ly9naXRsYWIuY29tL2FyY21lbnUvQXJjTWVudSIsCiAgImV4dGVuc2lvbi1pZCI6ICJhcmNtZW51IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYXJjbWVudSIsCiAgIm5hbWUiOiAiQXJjTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hcmNtZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2FyY21lbnUvQXJjTWVudSIsCiAgInV1aWQiOiAiYXJjbWVudUBhcmNtZW51LmNvbSIsCiAgInZlcnNpb24iOiAxNAp9"}}}
+, {"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="}}}
 , {"uuid": "eos-hack@endlessos.org", "name": "Hack", "pname": "hack", "description": "Add the Flip to Hack experience to the desktop", "link": "https://extensions.gnome.org/extension/3690/hack/", "shell_version_map": {"38": {"version": "7", "sha256": "1dm9471qpyghzh0vvwdcliqrshv3844wizkgcv4fiwccr346i6ga", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCB0aGUgRmxpcCB0byBIYWNrIGV4cGVyaWVuY2UgdG8gdGhlIGRlc2t0b3AiLAogICJuYW1lIjogIkhhY2siLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmVuZGxlc3Nvcy5oYWNrLWV4dGVuc2lvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VuZGxlc3NtL2Vvcy1oYWNrLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiZW9zLWhhY2tAZW5kbGVzc29zLm9yZyIsCiAgInZlcnNpb24iOiA3Cn0="}}}
+, {"uuid": "desktop-scroller@calango", "name": "Desktop Scroller (GNOME 3.38)", "pname": "desktop-scroller-gnome-338", "description": "Switch between desktops scrolling at the upper edge of the screen, including in overview. Change your delay between scroll events in extension.js. If you want to scroll on more lines from the top of the screen just remember that other extensions or indicators will not be able to catch their scroll events.", "link": "https://extensions.gnome.org/extension/3709/desktop-scroller-gnome-338/", "shell_version_map": {"38": {"version": "1", "sha256": "11g4w7bbzb8p9w78w83jpslgbs74rc26np0b1v35dg7nc7x33q4i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCBiZXR3ZWVuIGRlc2t0b3BzIHNjcm9sbGluZyBhdCB0aGUgdXBwZXIgZWRnZSBvZiB0aGUgc2NyZWVuLCBpbmNsdWRpbmcgaW4gb3ZlcnZpZXcuIENoYW5nZSB5b3VyIGRlbGF5IGJldHdlZW4gc2Nyb2xsIGV2ZW50cyBpbiBleHRlbnNpb24uanMuIElmIHlvdSB3YW50IHRvIHNjcm9sbCBvbiBtb3JlIGxpbmVzIGZyb20gdGhlIHRvcCBvZiB0aGUgc2NyZWVuIGp1c3QgcmVtZW1iZXIgdGhhdCBvdGhlciBleHRlbnNpb25zIG9yIGluZGljYXRvcnMgd2lsbCBub3QgYmUgYWJsZSB0byBjYXRjaCB0aGVpciBzY3JvbGwgZXZlbnRzLiIsCiAgIm5hbWUiOiAiRGVza3RvcCBTY3JvbGxlciAoR05PTUUgMy4zOCkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzguMSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJkZXNrdG9wLXNjcm9sbGVyQGNhbGFuZ28iLAogICJ2ZXJzaW9uIjogMQp9"}}}
 , {"uuid": "appmenu-color-icon@yanbab.gitlab.com", "name": "Colored AppMenu Icon", "pname": "color-app-menu-icon", "description": "Replace the symbolic application menu icon with the colored one", "link": "https://extensions.gnome.org/extension/3712/color-app-menu-icon/", "shell_version_map": {"38": {"version": "1", "sha256": "17bsnqimkanf6c3d3qjvhggi5r3xjp6pha05fyh6b1ak9m9lvg53", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcGxhY2UgdGhlIHN5bWJvbGljIGFwcGxpY2F0aW9uIG1lbnUgaWNvbiB3aXRoIHRoZSBjb2xvcmVkIG9uZSIsCiAgIm5hbWUiOiAiQ29sb3JlZCBBcHBNZW51IEljb24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS95YW5iYWIvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXJlZ3VsYXItYXBwbWVudS1pY29uIiwKICAidXVpZCI6ICJhcHBtZW51LWNvbG9yLWljb25AeWFuYmFiLmdpdGxhYi5jb20iLAogICJ2ZXJzaW9uIjogMQp9"}}}
-, {"uuid": "snap-manager@fthx", "name": "Snap Manager", "pname": "snap-manager", "description": "Popup menu in the top bar to easily manage snap tasks (list, changes, refresh, remove, install...). Update notification at session start-up.\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. You can turn off refresh check and associated notifications (just a variable to toggle in <extension_folder>/extension.js). You can disable 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/3715/snap-manager/", "shell_version_map": {"38": {"version": "32", "sha256": "0baby2385cnk0j133vr0n8z92smps28shzxymn80ljk8dmdqz1gp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBvcHVwIG1lbnUgaW4gdGhlIHRvcCBiYXIgdG8gZWFzaWx5IG1hbmFnZSBzbmFwIHRhc2tzIChsaXN0LCBjaGFuZ2VzLCByZWZyZXNoLCByZW1vdmUsIGluc3RhbGwuLi4pLiBVcGRhdGUgbm90aWZpY2F0aW9uIGF0IHNlc3Npb24gc3RhcnQtdXAuXG5cbiBBbGwgdGhlIHJlc3VsdHMgb2YgYWN0aW9ucyBhcmUgZGlzcGxheWVkIGluIEdOT01FIFRlcm1pbmFsLCBzbyB5b3UgY2FuIGV4YWN0bHkga25vdyB3aGF0IHlvdSBhcmUgZG9pbmcgYW5kIHdoYXQgaXMgcHJvY2Vzc2luZy4gVmVyeSBsaWdodCBleHRlbnNpb24sIG5vIGJhY2tncm91bmQgcHJvY2Vzcywgbm8gcGVyaW9kaWMgYmFja2dyb3VuZCB0YXNrLiBZb3UgY2FuIHR1cm4gb2ZmIHJlZnJlc2ggY2hlY2sgYW5kIGFzc29jaWF0ZWQgbm90aWZpY2F0aW9ucyAoanVzdCBhIHZhcmlhYmxlIHRvIHRvZ2dsZSBpbiA8ZXh0ZW5zaW9uX2ZvbGRlcj4vZXh0ZW5zaW9uLmpzKS4gWW91IGNhbiBkaXNhYmxlIGF1dG8gdXBkYXRlcyBmb3IgYSBsaW1pdGVkIHRpbWUgKHVwIHRvIG9uZSBtb250aCwgcmVuZXdhYmxlKSwgY29uc2VxdWVudGx5IGJlIG5vdGlmaWVkIG9mIHNuYXAgdXBkYXRlcyBhbmQgbWFudWFsbHkgaW5zdGFsbCB0aGVtLiBcblxuIFRoaXMgaXMgbm90IGFuIG9mZmljaWFsIFVidW50dS9DYW5vbmljYWwgZXh0ZW5zaW9uLiIsCiAgIm5hbWUiOiAiU25hcCBNYW5hZ2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvc25hcC1tYW5hZ2VyIiwKICAidXVpZCI6ICJzbmFwLW1hbmFnZXJAZnRoeCIsCiAgInZlcnNpb24iOiAzMgp9"}, "40": {"version": "32", "sha256": "0baby2385cnk0j133vr0n8z92smps28shzxymn80ljk8dmdqz1gp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBvcHVwIG1lbnUgaW4gdGhlIHRvcCBiYXIgdG8gZWFzaWx5IG1hbmFnZSBzbmFwIHRhc2tzIChsaXN0LCBjaGFuZ2VzLCByZWZyZXNoLCByZW1vdmUsIGluc3RhbGwuLi4pLiBVcGRhdGUgbm90aWZpY2F0aW9uIGF0IHNlc3Npb24gc3RhcnQtdXAuXG5cbiBBbGwgdGhlIHJlc3VsdHMgb2YgYWN0aW9ucyBhcmUgZGlzcGxheWVkIGluIEdOT01FIFRlcm1pbmFsLCBzbyB5b3UgY2FuIGV4YWN0bHkga25vdyB3aGF0IHlvdSBhcmUgZG9pbmcgYW5kIHdoYXQgaXMgcHJvY2Vzc2luZy4gVmVyeSBsaWdodCBleHRlbnNpb24sIG5vIGJhY2tncm91bmQgcHJvY2Vzcywgbm8gcGVyaW9kaWMgYmFja2dyb3VuZCB0YXNrLiBZb3UgY2FuIHR1cm4gb2ZmIHJlZnJlc2ggY2hlY2sgYW5kIGFzc29jaWF0ZWQgbm90aWZpY2F0aW9ucyAoanVzdCBhIHZhcmlhYmxlIHRvIHRvZ2dsZSBpbiA8ZXh0ZW5zaW9uX2ZvbGRlcj4vZXh0ZW5zaW9uLmpzKS4gWW91IGNhbiBkaXNhYmxlIGF1dG8gdXBkYXRlcyBmb3IgYSBsaW1pdGVkIHRpbWUgKHVwIHRvIG9uZSBtb250aCwgcmVuZXdhYmxlKSwgY29uc2VxdWVudGx5IGJlIG5vdGlmaWVkIG9mIHNuYXAgdXBkYXRlcyBhbmQgbWFudWFsbHkgaW5zdGFsbCB0aGVtLiBcblxuIFRoaXMgaXMgbm90IGFuIG9mZmljaWFsIFVidW50dS9DYW5vbmljYWwgZXh0ZW5zaW9uLiIsCiAgIm5hbWUiOiAiU25hcCBNYW5hZ2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvc25hcC1tYW5hZ2VyIiwKICAidXVpZCI6ICJzbmFwLW1hbmFnZXJAZnRoeCIsCiAgInZlcnNpb24iOiAzMgp9"}}}
+, {"uuid": "snap-manager@fthx", "name": "Snap Manager", "pname": "snap-manager", "description": "Popup menu in the top bar to easily manage snap tasks (list, changes, refresh, remove, install...). Update notification at session start-up.\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. You can turn off refresh check and associated notifications (just a variable to toggle in <extension_folder>/extension.js). You can disable 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/3715/snap-manager/", "shell_version_map": {"38": {"version": "33", "sha256": "1fvjjhh4q45qvyjma4azn4i63c79a9500jncqbwz5jnv39j9h3d7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBvcHVwIG1lbnUgaW4gdGhlIHRvcCBiYXIgdG8gZWFzaWx5IG1hbmFnZSBzbmFwIHRhc2tzIChsaXN0LCBjaGFuZ2VzLCByZWZyZXNoLCByZW1vdmUsIGluc3RhbGwuLi4pLiBVcGRhdGUgbm90aWZpY2F0aW9uIGF0IHNlc3Npb24gc3RhcnQtdXAuXG5cbiBBbGwgdGhlIHJlc3VsdHMgb2YgYWN0aW9ucyBhcmUgZGlzcGxheWVkIGluIEdOT01FIFRlcm1pbmFsLCBzbyB5b3UgY2FuIGV4YWN0bHkga25vdyB3aGF0IHlvdSBhcmUgZG9pbmcgYW5kIHdoYXQgaXMgcHJvY2Vzc2luZy4gVmVyeSBsaWdodCBleHRlbnNpb24sIG5vIGJhY2tncm91bmQgcHJvY2Vzcywgbm8gcGVyaW9kaWMgYmFja2dyb3VuZCB0YXNrLiBZb3UgY2FuIHR1cm4gb2ZmIHJlZnJlc2ggY2hlY2sgYW5kIGFzc29jaWF0ZWQgbm90aWZpY2F0aW9ucyAoanVzdCBhIHZhcmlhYmxlIHRvIHRvZ2dsZSBpbiA8ZXh0ZW5zaW9uX2ZvbGRlcj4vZXh0ZW5zaW9uLmpzKS4gWW91IGNhbiBkaXNhYmxlIGF1dG8gdXBkYXRlcyBmb3IgYSBsaW1pdGVkIHRpbWUgKHVwIHRvIG9uZSBtb250aCwgcmVuZXdhYmxlKSwgY29uc2VxdWVudGx5IGJlIG5vdGlmaWVkIG9mIHNuYXAgdXBkYXRlcyBhbmQgbWFudWFsbHkgaW5zdGFsbCB0aGVtLiBcblxuIFRoaXMgaXMgbm90IGFuIG9mZmljaWFsIFVidW50dS9DYW5vbmljYWwgZXh0ZW5zaW9uLiIsCiAgIm5hbWUiOiAiU25hcCBNYW5hZ2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvc25hcC1tYW5hZ2VyIiwKICAidXVpZCI6ICJzbmFwLW1hbmFnZXJAZnRoeCIsCiAgInZlcnNpb24iOiAzMwp9"}, "40": {"version": "33", "sha256": "1fvjjhh4q45qvyjma4azn4i63c79a9500jncqbwz5jnv39j9h3d7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBvcHVwIG1lbnUgaW4gdGhlIHRvcCBiYXIgdG8gZWFzaWx5IG1hbmFnZSBzbmFwIHRhc2tzIChsaXN0LCBjaGFuZ2VzLCByZWZyZXNoLCByZW1vdmUsIGluc3RhbGwuLi4pLiBVcGRhdGUgbm90aWZpY2F0aW9uIGF0IHNlc3Npb24gc3RhcnQtdXAuXG5cbiBBbGwgdGhlIHJlc3VsdHMgb2YgYWN0aW9ucyBhcmUgZGlzcGxheWVkIGluIEdOT01FIFRlcm1pbmFsLCBzbyB5b3UgY2FuIGV4YWN0bHkga25vdyB3aGF0IHlvdSBhcmUgZG9pbmcgYW5kIHdoYXQgaXMgcHJvY2Vzc2luZy4gVmVyeSBsaWdodCBleHRlbnNpb24sIG5vIGJhY2tncm91bmQgcHJvY2Vzcywgbm8gcGVyaW9kaWMgYmFja2dyb3VuZCB0YXNrLiBZb3UgY2FuIHR1cm4gb2ZmIHJlZnJlc2ggY2hlY2sgYW5kIGFzc29jaWF0ZWQgbm90aWZpY2F0aW9ucyAoanVzdCBhIHZhcmlhYmxlIHRvIHRvZ2dsZSBpbiA8ZXh0ZW5zaW9uX2ZvbGRlcj4vZXh0ZW5zaW9uLmpzKS4gWW91IGNhbiBkaXNhYmxlIGF1dG8gdXBkYXRlcyBmb3IgYSBsaW1pdGVkIHRpbWUgKHVwIHRvIG9uZSBtb250aCwgcmVuZXdhYmxlKSwgY29uc2VxdWVudGx5IGJlIG5vdGlmaWVkIG9mIHNuYXAgdXBkYXRlcyBhbmQgbWFudWFsbHkgaW5zdGFsbCB0aGVtLiBcblxuIFRoaXMgaXMgbm90IGFuIG9mZmljaWFsIFVidW50dS9DYW5vbmljYWwgZXh0ZW5zaW9uLiIsCiAgIm5hbWUiOiAiU25hcCBNYW5hZ2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvc25hcC1tYW5hZ2VyIiwKICAidXVpZCI6ICJzbmFwLW1hbmFnZXJAZnRoeCIsCiAgInZlcnNpb24iOiAzMwp9"}}}
 , {"uuid": "hide-dash-forked@farnasirim.com", "name": "Hide Dash Forked", "pname": "hide-dash-forked", "description": "Hide dash menu from gnome overview", "link": "https://extensions.gnome.org/extension/3718/hide-dash-forked/", "shell_version_map": {"38": {"version": "3", "sha256": "1j0ca2nwj8bhnn2vv3fgjhglg8af9iqa992i7d2mvxx4zisj8rdq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgZGFzaCBtZW51IGZyb20gZ25vbWUgb3ZlcnZpZXciLAogICJuYW1lIjogIkhpZGUgRGFzaCBGb3JrZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mYXJuYXNpcmltL2dub21lLXNoZWxsLWV4dGVuc2lvbi1oaWRlLWRhc2gtZm9ya2VkIiwKICAidXVpZCI6ICJoaWRlLWRhc2gtZm9ya2VkQGZhcm5hc2lyaW0uY29tIiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
-, {"uuid": "netspeedsimplified@prateekmedia.extension", "name": "Net speed Simplified", "pname": "net-speed-simplified", "description": "A Net Speed extension With Loads of Customization. Fork of simplenetspeed \n \nWhat's new\n☞ Add Limit Unit option \n☞ Tested on GNOME 40, 3.38 and 3.36 \n☞ Fix a bug where refresh time was getting reset to 6.5 \n☞ Used Min Width 3.0 by default \n \nFeatures \n1. Cleaner UI \n2. Adjustable Refresh rate \n3. Preferences to manage extension \n4. Vertical Alignment Support \n5. Two Icon sets for Indicators \n\n Feature Highlights for Preferences \n1. Lock Mouse Actions button to Freeze Mouse Events \n2. Advance Position options to pinpoint where to place the indicator on the Panel. \n3. Refresh time option by which you can change refresh rate value between 1.0 sec to 10.0 sec. \n\nModes \n- Total net speed in bits per second \n- Total net speed in Bytes per second \n- Up and down speed in bits per second \n- Up and down speed in Bytes per second \n- Total of downloaded in Bytes (Right click to reset counter) \n\nMouse Events \n- Left click to change modes \n- Right click to toggle total data usage visibility \n- Right click continuously for 4 times in any mode to toggle vertical alignment \n- Middle click to change font size", "link": "https://extensions.gnome.org/extension/3724/net-speed-simplified/", "shell_version_map": {"38": {"version": "27", "sha256": "1g2jk200v8fyl1f0yrw98jsvr3ymhmd3glq6min4lx531j80r948", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgTmV0IFNwZWVkIGV4dGVuc2lvbiBXaXRoIExvYWRzIG9mIEN1c3RvbWl6YXRpb24uIEZvcmsgb2Ygc2ltcGxlbmV0c3BlZWQgXG4gXG5XaGF0J3MgbmV3XG5cdTI2MWUgQWRkIExpbWl0IFVuaXQgb3B0aW9uIFxuXHUyNjFlIFRlc3RlZCBvbiBHTk9NRSA0MCwgMy4zOCBhbmQgMy4zNiBcblx1MjYxZSBGaXggYSBidWcgd2hlcmUgcmVmcmVzaCB0aW1lIHdhcyBnZXR0aW5nIHJlc2V0IHRvIDYuNSBcblx1MjYxZSBVc2VkIE1pbiBXaWR0aCAzLjAgYnkgZGVmYXVsdCBcbiBcbkZlYXR1cmVzIFxuMS4gQ2xlYW5lciBVSSBcbjIuIEFkanVzdGFibGUgUmVmcmVzaCByYXRlIFxuMy4gUHJlZmVyZW5jZXMgdG8gbWFuYWdlIGV4dGVuc2lvbiBcbjQuIFZlcnRpY2FsIEFsaWdubWVudCBTdXBwb3J0IFxuNS4gVHdvIEljb24gc2V0cyBmb3IgSW5kaWNhdG9ycyBcblxuIEZlYXR1cmUgSGlnaGxpZ2h0cyBmb3IgUHJlZmVyZW5jZXMgXG4xLiBMb2NrIE1vdXNlIEFjdGlvbnMgYnV0dG9uIHRvIEZyZWV6ZSBNb3VzZSBFdmVudHMgXG4yLiBBZHZhbmNlIFBvc2l0aW9uIG9wdGlvbnMgdG8gcGlucG9pbnQgd2hlcmUgdG8gcGxhY2UgdGhlIGluZGljYXRvciBvbiB0aGUgUGFuZWwuIFxuMy4gUmVmcmVzaCB0aW1lIG9wdGlvbiBieSB3aGljaCB5b3UgY2FuIGNoYW5nZSByZWZyZXNoIHJhdGUgdmFsdWUgYmV0d2VlbiAxLjAgc2VjIHRvIDEwLjAgc2VjLiBcblxuTW9kZXMgXG4tIFRvdGFsIG5ldCBzcGVlZCBpbiBiaXRzIHBlciBzZWNvbmQgXG4tIFRvdGFsIG5ldCBzcGVlZCBpbiBCeXRlcyBwZXIgc2Vjb25kIFxuLSBVcCBhbmQgZG93biBzcGVlZCBpbiBiaXRzIHBlciBzZWNvbmQgXG4tIFVwIGFuZCBkb3duIHNwZWVkIGluIEJ5dGVzIHBlciBzZWNvbmQgXG4tIFRvdGFsIG9mIGRvd25sb2FkZWQgaW4gQnl0ZXMgKFJpZ2h0IGNsaWNrIHRvIHJlc2V0IGNvdW50ZXIpIFxuXG5Nb3VzZSBFdmVudHMgXG4tIExlZnQgY2xpY2sgdG8gY2hhbmdlIG1vZGVzIFxuLSBSaWdodCBjbGljayB0byB0b2dnbGUgdG90YWwgZGF0YSB1c2FnZSB2aXNpYmlsaXR5IFxuLSBSaWdodCBjbGljayBjb250aW51b3VzbHkgZm9yIDQgdGltZXMgaW4gYW55IG1vZGUgdG8gdG9nZ2xlIHZlcnRpY2FsIGFsaWdubWVudCBcbi0gTWlkZGxlIGNsaWNrIHRvIGNoYW5nZSBmb250IHNpemUiLAogICJuYW1lIjogIk5ldCBzcGVlZCBTaW1wbGlmaWVkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiLAogICAgIjQ1IiwKICAgICI0NiIsCiAgICAiNDciLAogICAgIjQ4IiwKICAgICI0OSIsCiAgICAiNTAiLAogICAgIjUxIiwKICAgICI1MiIsCiAgICAiNTMiLAogICAgIjU0IiwKICAgICI1NSIsCiAgICAiNTYiLAogICAgIjU3IiwKICAgICI1OCIsCiAgICAiNTkiLAogICAgIjYwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcHJhdGVla21lZGlhL25ldHNwZWVkc2ltcGxpZmllZCIsCiAgInV1aWQiOiAibmV0c3BlZWRzaW1wbGlmaWVkQHByYXRlZWttZWRpYS5leHRlbnNpb24iLAogICJ2ZXJzaW9uIjogMjcKfQ=="}, "40": {"version": "27", "sha256": "1g2jk200v8fyl1f0yrw98jsvr3ymhmd3glq6min4lx531j80r948", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgTmV0IFNwZWVkIGV4dGVuc2lvbiBXaXRoIExvYWRzIG9mIEN1c3RvbWl6YXRpb24uIEZvcmsgb2Ygc2ltcGxlbmV0c3BlZWQgXG4gXG5XaGF0J3MgbmV3XG5cdTI2MWUgQWRkIExpbWl0IFVuaXQgb3B0aW9uIFxuXHUyNjFlIFRlc3RlZCBvbiBHTk9NRSA0MCwgMy4zOCBhbmQgMy4zNiBcblx1MjYxZSBGaXggYSBidWcgd2hlcmUgcmVmcmVzaCB0aW1lIHdhcyBnZXR0aW5nIHJlc2V0IHRvIDYuNSBcblx1MjYxZSBVc2VkIE1pbiBXaWR0aCAzLjAgYnkgZGVmYXVsdCBcbiBcbkZlYXR1cmVzIFxuMS4gQ2xlYW5lciBVSSBcbjIuIEFkanVzdGFibGUgUmVmcmVzaCByYXRlIFxuMy4gUHJlZmVyZW5jZXMgdG8gbWFuYWdlIGV4dGVuc2lvbiBcbjQuIFZlcnRpY2FsIEFsaWdubWVudCBTdXBwb3J0IFxuNS4gVHdvIEljb24gc2V0cyBmb3IgSW5kaWNhdG9ycyBcblxuIEZlYXR1cmUgSGlnaGxpZ2h0cyBmb3IgUHJlZmVyZW5jZXMgXG4xLiBMb2NrIE1vdXNlIEFjdGlvbnMgYnV0dG9uIHRvIEZyZWV6ZSBNb3VzZSBFdmVudHMgXG4yLiBBZHZhbmNlIFBvc2l0aW9uIG9wdGlvbnMgdG8gcGlucG9pbnQgd2hlcmUgdG8gcGxhY2UgdGhlIGluZGljYXRvciBvbiB0aGUgUGFuZWwuIFxuMy4gUmVmcmVzaCB0aW1lIG9wdGlvbiBieSB3aGljaCB5b3UgY2FuIGNoYW5nZSByZWZyZXNoIHJhdGUgdmFsdWUgYmV0d2VlbiAxLjAgc2VjIHRvIDEwLjAgc2VjLiBcblxuTW9kZXMgXG4tIFRvdGFsIG5ldCBzcGVlZCBpbiBiaXRzIHBlciBzZWNvbmQgXG4tIFRvdGFsIG5ldCBzcGVlZCBpbiBCeXRlcyBwZXIgc2Vjb25kIFxuLSBVcCBhbmQgZG93biBzcGVlZCBpbiBiaXRzIHBlciBzZWNvbmQgXG4tIFVwIGFuZCBkb3duIHNwZWVkIGluIEJ5dGVzIHBlciBzZWNvbmQgXG4tIFRvdGFsIG9mIGRvd25sb2FkZWQgaW4gQnl0ZXMgKFJpZ2h0IGNsaWNrIHRvIHJlc2V0IGNvdW50ZXIpIFxuXG5Nb3VzZSBFdmVudHMgXG4tIExlZnQgY2xpY2sgdG8gY2hhbmdlIG1vZGVzIFxuLSBSaWdodCBjbGljayB0byB0b2dnbGUgdG90YWwgZGF0YSB1c2FnZSB2aXNpYmlsaXR5IFxuLSBSaWdodCBjbGljayBjb250aW51b3VzbHkgZm9yIDQgdGltZXMgaW4gYW55IG1vZGUgdG8gdG9nZ2xlIHZlcnRpY2FsIGFsaWdubWVudCBcbi0gTWlkZGxlIGNsaWNrIHRvIGNoYW5nZSBmb250IHNpemUiLAogICJuYW1lIjogIk5ldCBzcGVlZCBTaW1wbGlmaWVkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiLAogICAgIjQ1IiwKICAgICI0NiIsCiAgICAiNDciLAogICAgIjQ4IiwKICAgICI0OSIsCiAgICAiNTAiLAogICAgIjUxIiwKICAgICI1MiIsCiAgICAiNTMiLAogICAgIjU0IiwKICAgICI1NSIsCiAgICAiNTYiLAogICAgIjU3IiwKICAgICI1OCIsCiAgICAiNTkiLAogICAgIjYwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcHJhdGVla21lZGlhL25ldHNwZWVkc2ltcGxpZmllZCIsCiAgInV1aWQiOiAibmV0c3BlZWRzaW1wbGlmaWVkQHByYXRlZWttZWRpYS5leHRlbnNpb24iLAogICJ2ZXJzaW9uIjogMjcKfQ=="}}}
+, {"uuid": "netspeedsimplified@prateekmedia.extension", "name": "Net speed Simplified", "pname": "net-speed-simplified", "description": "A Net Speed extension With Loads of Customization. Fork of simplenetspeed \n \nWhat's new\n☞ Add Use System Color Scheme option \n☞ Update Preferences logic \n☞ Filter more devices for net speed indicator \n\nFull CHANGELOG can be found on github releases page \n\nFeatures \n1. Clean UI \n2. Adjustable Refresh rate \n3. Preferences to manage extension \n4. Vertical Alignment Support \n5. Two Icon sets for Indicators \n\nFeature Highlights for Preferences \n1. Lock Mouse Actions option \n2. Advance Position options to pinpoint where to place the indicator on the Panel. \n3. Refresh time option by which you can change refresh rate value between 1.0 sec to 10.0 sec. \n4. Show Upload First option to show upload speed first \n5. Color Customizations for speed indicators \n6. Hide when Disconnected option \n7. Use Shorten Units option \n8. Limit Unit option and more... \n\nModes \n- Total net speed in b/s, kb/s, ... \n- Total net speed in B/s, KB/s, ... \n- Up & down speed in b/s, kb/s, ... \n- Up & down speed in B/s, KB/s, ... \n- Total downloads in B, KB, ... (Right click to reset counter) \n\nMouse Events \n- Left click to change modes \n- Right click(in 1-4 modes): Toggle the visibility of total loaded. \n- Right click(in 5th mode): Reset total downloaded. \n- Right Click(Four consecutive times): Toggle through horizontal/vertical alignment. \n- Middle click: Cycle through the font sizes.", "link": "https://extensions.gnome.org/extension/3724/net-speed-simplified/", "shell_version_map": {"38": {"version": "32", "sha256": "0b9g0p93pp6pnrvmz6r2hga3w8i2p6ld26f377baabzw4xsc4ad5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgTmV0IFNwZWVkIGV4dGVuc2lvbiBXaXRoIExvYWRzIG9mIEN1c3RvbWl6YXRpb24uIEZvcmsgb2Ygc2ltcGxlbmV0c3BlZWQgXG4gXG5XaGF0J3MgbmV3XG5cdTI2MWUgQWRkIFVzZSBTeXN0ZW0gQ29sb3IgU2NoZW1lIG9wdGlvbiBcblx1MjYxZSBVcGRhdGUgUHJlZmVyZW5jZXMgbG9naWMgXG5cdTI2MWUgRmlsdGVyIG1vcmUgZGV2aWNlcyBmb3IgbmV0IHNwZWVkIGluZGljYXRvciBcblxuRnVsbCBDSEFOR0VMT0cgY2FuIGJlIGZvdW5kIG9uIGdpdGh1YiByZWxlYXNlcyBwYWdlIFxuXG5GZWF0dXJlcyBcbjEuIENsZWFuIFVJIFxuMi4gQWRqdXN0YWJsZSBSZWZyZXNoIHJhdGUgXG4zLiBQcmVmZXJlbmNlcyB0byBtYW5hZ2UgZXh0ZW5zaW9uIFxuNC4gVmVydGljYWwgQWxpZ25tZW50IFN1cHBvcnQgXG41LiBUd28gSWNvbiBzZXRzIGZvciBJbmRpY2F0b3JzIFxuXG5GZWF0dXJlIEhpZ2hsaWdodHMgZm9yIFByZWZlcmVuY2VzIFxuMS4gTG9jayBNb3VzZSBBY3Rpb25zIG9wdGlvbiBcbjIuIEFkdmFuY2UgUG9zaXRpb24gb3B0aW9ucyB0byBwaW5wb2ludCB3aGVyZSB0byBwbGFjZSB0aGUgaW5kaWNhdG9yIG9uIHRoZSBQYW5lbC4gXG4zLiBSZWZyZXNoIHRpbWUgb3B0aW9uIGJ5IHdoaWNoIHlvdSBjYW4gY2hhbmdlIHJlZnJlc2ggcmF0ZSB2YWx1ZSBiZXR3ZWVuIDEuMCBzZWMgdG8gMTAuMCBzZWMuIFxuNC4gU2hvdyBVcGxvYWQgRmlyc3Qgb3B0aW9uIHRvIHNob3cgdXBsb2FkIHNwZWVkIGZpcnN0IFxuNS4gQ29sb3IgQ3VzdG9taXphdGlvbnMgZm9yIHNwZWVkIGluZGljYXRvcnMgXG42LiBIaWRlIHdoZW4gRGlzY29ubmVjdGVkIG9wdGlvbiBcbjcuIFVzZSBTaG9ydGVuIFVuaXRzIG9wdGlvbiBcbjguIExpbWl0IFVuaXQgb3B0aW9uIGFuZCBtb3JlLi4uIFxuXG5Nb2RlcyBcbi0gVG90YWwgbmV0IHNwZWVkIGluIGIvcywga2IvcywgLi4uIFxuLSBUb3RhbCBuZXQgc3BlZWQgaW4gQi9zLCBLQi9zLCAuLi4gXG4tIFVwICYgZG93biBzcGVlZCBpbiBiL3MsIGtiL3MsIC4uLiBcbi0gVXAgJiBkb3duIHNwZWVkIGluIEIvcywgS0IvcywgLi4uIFxuLSBUb3RhbCBkb3dubG9hZHMgaW4gQiwgS0IsIC4uLiAoUmlnaHQgY2xpY2sgdG8gcmVzZXQgY291bnRlcikgXG5cbk1vdXNlIEV2ZW50cyBcbi0gTGVmdCBjbGljayB0byBjaGFuZ2UgbW9kZXMgXG4tIFJpZ2h0IGNsaWNrKGluIDEtNCBtb2Rlcyk6IFRvZ2dsZSB0aGUgdmlzaWJpbGl0eSBvZiB0b3RhbCBsb2FkZWQuIFxuLSBSaWdodCBjbGljayhpbiA1dGggbW9kZSk6IFJlc2V0IHRvdGFsIGRvd25sb2FkZWQuIFxuLSBSaWdodCBDbGljayhGb3VyIGNvbnNlY3V0aXZlIHRpbWVzKTogVG9nZ2xlIHRocm91Z2ggaG9yaXpvbnRhbC92ZXJ0aWNhbCBhbGlnbm1lbnQuIFxuLSBNaWRkbGUgY2xpY2s6IEN5Y2xlIHRocm91Z2ggdGhlIGZvbnQgc2l6ZXMuIiwKICAibmFtZSI6ICJOZXQgc3BlZWQgU2ltcGxpZmllZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcHJhdGVla21lZGlhL25ldHNwZWVkc2ltcGxpZmllZCIsCiAgInV1aWQiOiAibmV0c3BlZWRzaW1wbGlmaWVkQHByYXRlZWttZWRpYS5leHRlbnNpb24iLAogICJ2ZXJzaW9uIjogMzIKfQ=="}, "40": {"version": "32", "sha256": "0b9g0p93pp6pnrvmz6r2hga3w8i2p6ld26f377baabzw4xsc4ad5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgTmV0IFNwZWVkIGV4dGVuc2lvbiBXaXRoIExvYWRzIG9mIEN1c3RvbWl6YXRpb24uIEZvcmsgb2Ygc2ltcGxlbmV0c3BlZWQgXG4gXG5XaGF0J3MgbmV3XG5cdTI2MWUgQWRkIFVzZSBTeXN0ZW0gQ29sb3IgU2NoZW1lIG9wdGlvbiBcblx1MjYxZSBVcGRhdGUgUHJlZmVyZW5jZXMgbG9naWMgXG5cdTI2MWUgRmlsdGVyIG1vcmUgZGV2aWNlcyBmb3IgbmV0IHNwZWVkIGluZGljYXRvciBcblxuRnVsbCBDSEFOR0VMT0cgY2FuIGJlIGZvdW5kIG9uIGdpdGh1YiByZWxlYXNlcyBwYWdlIFxuXG5GZWF0dXJlcyBcbjEuIENsZWFuIFVJIFxuMi4gQWRqdXN0YWJsZSBSZWZyZXNoIHJhdGUgXG4zLiBQcmVmZXJlbmNlcyB0byBtYW5hZ2UgZXh0ZW5zaW9uIFxuNC4gVmVydGljYWwgQWxpZ25tZW50IFN1cHBvcnQgXG41LiBUd28gSWNvbiBzZXRzIGZvciBJbmRpY2F0b3JzIFxuXG5GZWF0dXJlIEhpZ2hsaWdodHMgZm9yIFByZWZlcmVuY2VzIFxuMS4gTG9jayBNb3VzZSBBY3Rpb25zIG9wdGlvbiBcbjIuIEFkdmFuY2UgUG9zaXRpb24gb3B0aW9ucyB0byBwaW5wb2ludCB3aGVyZSB0byBwbGFjZSB0aGUgaW5kaWNhdG9yIG9uIHRoZSBQYW5lbC4gXG4zLiBSZWZyZXNoIHRpbWUgb3B0aW9uIGJ5IHdoaWNoIHlvdSBjYW4gY2hhbmdlIHJlZnJlc2ggcmF0ZSB2YWx1ZSBiZXR3ZWVuIDEuMCBzZWMgdG8gMTAuMCBzZWMuIFxuNC4gU2hvdyBVcGxvYWQgRmlyc3Qgb3B0aW9uIHRvIHNob3cgdXBsb2FkIHNwZWVkIGZpcnN0IFxuNS4gQ29sb3IgQ3VzdG9taXphdGlvbnMgZm9yIHNwZWVkIGluZGljYXRvcnMgXG42LiBIaWRlIHdoZW4gRGlzY29ubmVjdGVkIG9wdGlvbiBcbjcuIFVzZSBTaG9ydGVuIFVuaXRzIG9wdGlvbiBcbjguIExpbWl0IFVuaXQgb3B0aW9uIGFuZCBtb3JlLi4uIFxuXG5Nb2RlcyBcbi0gVG90YWwgbmV0IHNwZWVkIGluIGIvcywga2IvcywgLi4uIFxuLSBUb3RhbCBuZXQgc3BlZWQgaW4gQi9zLCBLQi9zLCAuLi4gXG4tIFVwICYgZG93biBzcGVlZCBpbiBiL3MsIGtiL3MsIC4uLiBcbi0gVXAgJiBkb3duIHNwZWVkIGluIEIvcywgS0IvcywgLi4uIFxuLSBUb3RhbCBkb3dubG9hZHMgaW4gQiwgS0IsIC4uLiAoUmlnaHQgY2xpY2sgdG8gcmVzZXQgY291bnRlcikgXG5cbk1vdXNlIEV2ZW50cyBcbi0gTGVmdCBjbGljayB0byBjaGFuZ2UgbW9kZXMgXG4tIFJpZ2h0IGNsaWNrKGluIDEtNCBtb2Rlcyk6IFRvZ2dsZSB0aGUgdmlzaWJpbGl0eSBvZiB0b3RhbCBsb2FkZWQuIFxuLSBSaWdodCBjbGljayhpbiA1dGggbW9kZSk6IFJlc2V0IHRvdGFsIGRvd25sb2FkZWQuIFxuLSBSaWdodCBDbGljayhGb3VyIGNvbnNlY3V0aXZlIHRpbWVzKTogVG9nZ2xlIHRocm91Z2ggaG9yaXpvbnRhbC92ZXJ0aWNhbCBhbGlnbm1lbnQuIFxuLSBNaWRkbGUgY2xpY2s6IEN5Y2xlIHRocm91Z2ggdGhlIGZvbnQgc2l6ZXMuIiwKICAibmFtZSI6ICJOZXQgc3BlZWQgU2ltcGxpZmllZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcHJhdGVla21lZGlhL25ldHNwZWVkc2ltcGxpZmllZCIsCiAgInV1aWQiOiAibmV0c3BlZWRzaW1wbGlmaWVkQHByYXRlZWttZWRpYS5leHRlbnNpb24iLAogICJ2ZXJzaW9uIjogMzIKfQ=="}}}
 , {"uuid": "cpupower-governors@icar.github.com", "name": "CPU Power Governor", "pname": "cpu-power-governor", "description": "Enables the ability to swap between kernel governors for the CPU useful for laptops.\n\nRequires: polkit, cpupower\nGithub: https://github.com/juxuanu/cpupower-governors", "link": "https://extensions.gnome.org/extension/3727/cpu-power-governor/", "shell_version_map": {"38": {"version": "2", "sha256": "1hb239w4cpz6yzs3pzd3hhrwswh6w5c5xw6dqn57m26cazh843qk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgdGhlIGFiaWxpdHkgdG8gc3dhcCBiZXR3ZWVuIGtlcm5lbCBnb3Zlcm5vcnMgZm9yIHRoZSBDUFUgdXNlZnVsIGZvciBsYXB0b3BzLlxuXG5SZXF1aXJlczogcG9sa2l0LCBjcHVwb3dlclxuR2l0aHViOiBodHRwczovL2dpdGh1Yi5jb20vanV4dWFudS9jcHVwb3dlci1nb3Zlcm5vcnMiLAogICJuYW1lIjogIkNQVSBQb3dlciBHb3Zlcm5vciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJjcHVwb3dlci1nb3Zlcm5vcnNAaWNhci5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
 , {"uuid": "floating-dock@nandoferreira_prof@hotmail.com", "name": "Floating Dock", "pname": "floating-dock", "description": "A Custom dash to 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": "1fsbj9v1j483x1dl40bbrfl88d2m00mryrl05s67cjd4mak5dm8z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgQ3VzdG9tIGRhc2ggdG8gZG9jayBmb3JrLCBub3cgeW91IGNhbiBjaGFuZ2UgdGhlIG1hcmdpbiBhbmQgYm9yZGVyIHJhZGl1cyBvZiB0aGUgZG9jay4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJmbG9hdGluZ2RvY2siLAogICJuYW1lIjogIkZsb2F0aW5nIERvY2siLAogICJvcmlnaW5hbC1hdXRob3IiOiAibmFuZG9mZXJyZWlyYV9wcm9mQGhvdG1haWwuY29tIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZmVyLW1vcmVpcmEvZmxvYXRpbmctZG9jayIsCiAgInV1aWQiOiAiZmxvYXRpbmctZG9ja0BuYW5kb2ZlcnJlaXJhX3Byb2ZAaG90bWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMQp9"}}}
-, {"uuid": "tiling-assistant@leleat-on-github", "name": "Tiling Assistant", "pname": "tiling-assistant", "description": "An extension which adds a Windows-like snap assist to GNOME. It also expands GNOME's 2 column tiling design and adds more features. Check out the settings on how use this extension or on how to get help.", "link": "https://extensions.gnome.org/extension/3733/tiling-assistant/", "shell_version_map": {"38": {"version": "20", "sha256": "09l1qhzqndjfaq8j5028pisw7qkhqv2f4qbz579q3s2snsknixxq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGV4dGVuc2lvbiB3aGljaCBhZGRzIGEgV2luZG93cy1saWtlIHNuYXAgYXNzaXN0IHRvIEdOT01FLiBJdCBhbHNvIGV4cGFuZHMgR05PTUUncyAyIGNvbHVtbiB0aWxpbmcgZGVzaWduIGFuZCBhZGRzIG1vcmUgZmVhdHVyZXMuIENoZWNrIG91dCB0aGUgc2V0dGluZ3Mgb24gaG93IHVzZSB0aGlzIGV4dGVuc2lvbiBvciBvbiBob3cgdG8gZ2V0IGhlbHAuIiwKICAibmFtZSI6ICJUaWxpbmcgQXNzaXN0YW50IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0xlbGVhdC9UaWxpbmctQXNzaXN0YW50IiwKICAidXVpZCI6ICJ0aWxpbmctYXNzaXN0YW50QGxlbGVhdC1vbi1naXRodWIiLAogICJ2ZXJzaW9uIjogMjAKfQ=="}, "40": {"version": "20", "sha256": "09l1qhzqndjfaq8j5028pisw7qkhqv2f4qbz579q3s2snsknixxq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGV4dGVuc2lvbiB3aGljaCBhZGRzIGEgV2luZG93cy1saWtlIHNuYXAgYXNzaXN0IHRvIEdOT01FLiBJdCBhbHNvIGV4cGFuZHMgR05PTUUncyAyIGNvbHVtbiB0aWxpbmcgZGVzaWduIGFuZCBhZGRzIG1vcmUgZmVhdHVyZXMuIENoZWNrIG91dCB0aGUgc2V0dGluZ3Mgb24gaG93IHVzZSB0aGlzIGV4dGVuc2lvbiBvciBvbiBob3cgdG8gZ2V0IGhlbHAuIiwKICAibmFtZSI6ICJUaWxpbmcgQXNzaXN0YW50IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0xlbGVhdC9UaWxpbmctQXNzaXN0YW50IiwKICAidXVpZCI6ICJ0aWxpbmctYXNzaXN0YW50QGxlbGVhdC1vbi1naXRodWIiLAogICJ2ZXJzaW9uIjogMjAKfQ=="}}}
+, {"uuid": "tiling-assistant@leleat-on-github", "name": "Tiling Assistant", "pname": "tiling-assistant", "description": "An extension which adds a Windows-like snap assist to GNOME. It also expands GNOME's 2 column tiling design and adds more features. Check out the settings on how use this extension or on how to get help.", "link": "https://extensions.gnome.org/extension/3733/tiling-assistant/", "shell_version_map": {"38": {"version": "23", "sha256": "04w9qgmldnlimf2975fkxlz8y23gw0l59ja7ymmbiqd57p7ncy1k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGV4dGVuc2lvbiB3aGljaCBhZGRzIGEgV2luZG93cy1saWtlIHNuYXAgYXNzaXN0IHRvIEdOT01FLiBJdCBhbHNvIGV4cGFuZHMgR05PTUUncyAyIGNvbHVtbiB0aWxpbmcgZGVzaWduIGFuZCBhZGRzIG1vcmUgZmVhdHVyZXMuIENoZWNrIG91dCB0aGUgc2V0dGluZ3Mgb24gaG93IHVzZSB0aGlzIGV4dGVuc2lvbiBvciBvbiBob3cgdG8gZ2V0IGhlbHAuIiwKICAibmFtZSI6ICJUaWxpbmcgQXNzaXN0YW50IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9MZWxlYXQvVGlsaW5nLUFzc2lzdGFudCIsCiAgInV1aWQiOiAidGlsaW5nLWFzc2lzdGFudEBsZWxlYXQtb24tZ2l0aHViIiwKICAidmVyc2lvbiI6IDIzCn0="}, "40": {"version": "23", "sha256": "04w9qgmldnlimf2975fkxlz8y23gw0l59ja7ymmbiqd57p7ncy1k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGV4dGVuc2lvbiB3aGljaCBhZGRzIGEgV2luZG93cy1saWtlIHNuYXAgYXNzaXN0IHRvIEdOT01FLiBJdCBhbHNvIGV4cGFuZHMgR05PTUUncyAyIGNvbHVtbiB0aWxpbmcgZGVzaWduIGFuZCBhZGRzIG1vcmUgZmVhdHVyZXMuIENoZWNrIG91dCB0aGUgc2V0dGluZ3Mgb24gaG93IHVzZSB0aGlzIGV4dGVuc2lvbiBvciBvbiBob3cgdG8gZ2V0IGhlbHAuIiwKICAibmFtZSI6ICJUaWxpbmcgQXNzaXN0YW50IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9MZWxlYXQvVGlsaW5nLUFzc2lzdGFudCIsCiAgInV1aWQiOiAidGlsaW5nLWFzc2lzdGFudEBsZWxlYXQtb24tZ2l0aHViIiwKICAidmVyc2lvbiI6IDIzCn0="}}}
 , {"uuid": "airpods-battery-status@ju.wtf", "name": "Airpods Battery status", "pname": "airpods-battery-status", "description": "Show Airpods battery level in top bar\n\n/!\\ See requirements on repository page", "link": "https://extensions.gnome.org/extension/3736/airpods-battery-status/", "shell_version_map": {"38": {"version": "5", "sha256": "0m68va2yh1cs91wb9c1yzdxj9pr3abj5jsx9q05cyiibd2zmbl92", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgQWlycG9kcyBiYXR0ZXJ5IGxldmVsIGluIHRvcCBiYXJcblxuLyFcXCBTZWUgcmVxdWlyZW1lbnRzIG9uIHJlcG9zaXRvcnkgcGFnZSIsCiAgIm5hbWUiOiAiQWlycG9kcyBCYXR0ZXJ5IHN0YXR1cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RlbHBoaWtpL2dub21lLWFpcnBvZHMtYmF0dGVyeS1zdGF0dXMiLAogICJ1dWlkIjogImFpcnBvZHMtYmF0dGVyeS1zdGF0dXNAanUud3RmIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "40": {"version": "5", "sha256": "0m68va2yh1cs91wb9c1yzdxj9pr3abj5jsx9q05cyiibd2zmbl92", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgQWlycG9kcyBiYXR0ZXJ5IGxldmVsIGluIHRvcCBiYXJcblxuLyFcXCBTZWUgcmVxdWlyZW1lbnRzIG9uIHJlcG9zaXRvcnkgcGFnZSIsCiAgIm5hbWUiOiAiQWlycG9kcyBCYXR0ZXJ5IHN0YXR1cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RlbHBoaWtpL2dub21lLWFpcnBvZHMtYmF0dGVyeS1zdGF0dXMiLAogICJ1dWlkIjogImFpcnBvZHMtYmF0dGVyeS1zdGF0dXNAanUud3RmIiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
-, {"uuid": "hue-lights@chlumskyvaclav.gmail.com", "name": "Hue Lights", "pname": "hue-lights", "description": "This extension controls Philips Hue compatible lights using Philips Hue Bridge on your local network.\nIf you 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": "12", "sha256": "16wklxqmc85x9il9ry8p4pwi6cl09k3ssv1pbdzryqr8didh21gk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGNvbnRyb2xzIFBoaWxpcHMgSHVlIGNvbXBhdGlibGUgbGlnaHRzIHVzaW5nIFBoaWxpcHMgSHVlIEJyaWRnZSBvbiB5b3VyIGxvY2FsIG5ldHdvcmsuXG5JZiB5b3UgZXhwZXJpZW5jaW5nIGFuIGVycm9yIG9uIHRoZSB1cGdyYWRlLCBwbGVhc2UgbG9nIG91dCBhbmQgbG9nIGluIGFnYWluLiIsCiAgImdldHRleHQtZG9tYWluIjogImh1ZS1saWdodHMiLAogICJuYW1lIjogIkh1ZSBMaWdodHMiLAogICJvcmlnaW5hbC1hdXRob3IiOiAiY2hsdW1za3l2YWNsYXZAZ21haWwuY29tIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3ZjaGx1bS9odWUtbGlnaHRzIiwKICAidXVpZCI6ICJodWUtbGlnaHRzQGNobHVtc2t5dmFjbGF2LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxMgp9"}, "40": {"version": "12", "sha256": "16wklxqmc85x9il9ry8p4pwi6cl09k3ssv1pbdzryqr8didh21gk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGNvbnRyb2xzIFBoaWxpcHMgSHVlIGNvbXBhdGlibGUgbGlnaHRzIHVzaW5nIFBoaWxpcHMgSHVlIEJyaWRnZSBvbiB5b3VyIGxvY2FsIG5ldHdvcmsuXG5JZiB5b3UgZXhwZXJpZW5jaW5nIGFuIGVycm9yIG9uIHRoZSB1cGdyYWRlLCBwbGVhc2UgbG9nIG91dCBhbmQgbG9nIGluIGFnYWluLiIsCiAgImdldHRleHQtZG9tYWluIjogImh1ZS1saWdodHMiLAogICJuYW1lIjogIkh1ZSBMaWdodHMiLAogICJvcmlnaW5hbC1hdXRob3IiOiAiY2hsdW1za3l2YWNsYXZAZ21haWwuY29tIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3ZjaGx1bS9odWUtbGlnaHRzIiwKICAidXVpZCI6ICJodWUtbGlnaHRzQGNobHVtc2t5dmFjbGF2LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxMgp9"}}}
+, {"uuid": "hue-lights@chlumskyvaclav.gmail.com", "name": "Hue Lights", "pname": "hue-lights", "description": "This extension controls Philips Hue compatible lights using Philips Hue Bridge on your local network. 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": "13", "sha256": "0iwg3nbgnd7zzaa464l01bi40gqh4s725c882ica76qp0gj3ki8x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGNvbnRyb2xzIFBoaWxpcHMgSHVlIGNvbXBhdGlibGUgbGlnaHRzIHVzaW5nIFBoaWxpcHMgSHVlIEJyaWRnZSBvbiB5b3VyIGxvY2FsIG5ldHdvcmsuIElmIHlvdSBhcmUgZXhwZXJpZW5jaW5nIGFuIGVycm9yIG9uIHRoZSB1cGdyYWRlLCBwbGVhc2UgbG9nIG91dCBhbmQgbG9nIGluIGFnYWluLiIsCiAgImdldHRleHQtZG9tYWluIjogImh1ZS1saWdodHMiLAogICJuYW1lIjogIkh1ZSBMaWdodHMiLAogICJvcmlnaW5hbC1hdXRob3IiOiAiY2hsdW1za3l2YWNsYXZAZ21haWwuY29tIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3ZjaGx1bS9odWUtbGlnaHRzIiwKICAidXVpZCI6ICJodWUtbGlnaHRzQGNobHVtc2t5dmFjbGF2LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxMwp9"}, "40": {"version": "13", "sha256": "0iwg3nbgnd7zzaa464l01bi40gqh4s725c882ica76qp0gj3ki8x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGNvbnRyb2xzIFBoaWxpcHMgSHVlIGNvbXBhdGlibGUgbGlnaHRzIHVzaW5nIFBoaWxpcHMgSHVlIEJyaWRnZSBvbiB5b3VyIGxvY2FsIG5ldHdvcmsuIElmIHlvdSBhcmUgZXhwZXJpZW5jaW5nIGFuIGVycm9yIG9uIHRoZSB1cGdyYWRlLCBwbGVhc2UgbG9nIG91dCBhbmQgbG9nIGluIGFnYWluLiIsCiAgImdldHRleHQtZG9tYWluIjogImh1ZS1saWdodHMiLAogICJuYW1lIjogIkh1ZSBMaWdodHMiLAogICJvcmlnaW5hbC1hdXRob3IiOiAiY2hsdW1za3l2YWNsYXZAZ21haWwuY29tIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3ZjaGx1bS9odWUtbGlnaHRzIiwKICAidXVpZCI6ICJodWUtbGlnaHRzQGNobHVtc2t5dmFjbGF2LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxMwp9"}}}
 , {"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": "9", "sha256": "1nw527afjrw8bqjrgbj99klcq9x6755iz2frkzsc5mn8pmcd3y73", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hZ2ljIGxhbXAgZWZmZWN0IGluc3BpcmVkIGJ5IHRoZSBDb21waXogb25lc1xuXG5OQjpcbkluIGNhc2Ugb2YgdXBkYXRlIGVycm9yIHBsZWFzZSByZXN0YXJ0IEdub21lIFNoZWxsIChvbiBYb3JnIHByZXNzIEFMVCtGMiB0aGVuIHdyaXRlIHIgYW5kIHByZXNzIGVudGVyLCBvbiBXYXlsYW5kIGVuZCB0aGUgc2Vzc2lvbiBhbmQgbG9nIGluIGFnYWluKSIsCiAgIm5hbWUiOiAiQ29tcGl6IGFsaWtlIG1hZ2ljIGxhbXAgZWZmZWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hlcm1lczgzL2NvbXBpei1hbGlrZS1tYWdpYy1sYW1wLWVmZmVjdCIsCiAgInV1aWQiOiAiY29tcGl6LWFsaWtlLW1hZ2ljLWxhbXAtZWZmZWN0QGhlcm1lczgzLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogOQp9"}, "40": {"version": "9", "sha256": "1nw527afjrw8bqjrgbj99klcq9x6755iz2frkzsc5mn8pmcd3y73", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hZ2ljIGxhbXAgZWZmZWN0IGluc3BpcmVkIGJ5IHRoZSBDb21waXogb25lc1xuXG5OQjpcbkluIGNhc2Ugb2YgdXBkYXRlIGVycm9yIHBsZWFzZSByZXN0YXJ0IEdub21lIFNoZWxsIChvbiBYb3JnIHByZXNzIEFMVCtGMiB0aGVuIHdyaXRlIHIgYW5kIHByZXNzIGVudGVyLCBvbiBXYXlsYW5kIGVuZCB0aGUgc2Vzc2lvbiBhbmQgbG9nIGluIGFnYWluKSIsCiAgIm5hbWUiOiAiQ29tcGl6IGFsaWtlIG1hZ2ljIGxhbXAgZWZmZWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hlcm1lczgzL2NvbXBpei1hbGlrZS1tYWdpYy1sYW1wLWVmZmVjdCIsCiAgInV1aWQiOiAiY29tcGl6LWFsaWtlLW1hZ2ljLWxhbXAtZWZmZWN0QGhlcm1lczgzLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogOQp9"}}}
 , {"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"}}}
 , {"uuid": "overview_cleaner@gonza.com", "name": "Cleaner Overview", "pname": "cleaner-overview", "description": "Makes all the windows in the overview the same height and orders them by last recent used.", "link": "https://extensions.gnome.org/extension/3759/cleaner-overview/", "shell_version_map": {"38": {"version": "2", "sha256": "0k1q3b0x83ygjlysp39pv2i076zrhsxdlzf7yg3dq76nk98q3l2n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIGFsbCB0aGUgd2luZG93cyBpbiB0aGUgb3ZlcnZpZXcgdGhlIHNhbWUgaGVpZ2h0IGFuZCBvcmRlcnMgdGhlbSBieSBsYXN0IHJlY2VudCB1c2VkLiIsCiAgIm5hbWUiOiAiQ2xlYW5lciBPdmVydmlldyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nb256YWFyY3IvdG91Y2hwYWQtd2luZG93LXN3aXRjaGVyLWdub21lLWV4dC9ibG9iL21hc3Rlci90b3VjaHBhZF93aW5kb3dfc3dpdGNoZXIlNDBnb256YS5jb20vb3ZlcnZpZXdDbGVhbmVyLmpzIiwKICAidXVpZCI6ICJvdmVydmlld19jbGVhbmVyQGdvbnphLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}, "40": {"version": "2", "sha256": "0k1q3b0x83ygjlysp39pv2i076zrhsxdlzf7yg3dq76nk98q3l2n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIGFsbCB0aGUgd2luZG93cyBpbiB0aGUgb3ZlcnZpZXcgdGhlIHNhbWUgaGVpZ2h0IGFuZCBvcmRlcnMgdGhlbSBieSBsYXN0IHJlY2VudCB1c2VkLiIsCiAgIm5hbWUiOiAiQ2xlYW5lciBPdmVydmlldyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nb256YWFyY3IvdG91Y2hwYWQtd2luZG93LXN3aXRjaGVyLWdub21lLWV4dC9ibG9iL21hc3Rlci90b3VjaHBhZF93aW5kb3dfc3dpdGNoZXIlNDBnb256YS5jb20vb3ZlcnZpZXdDbGVhbmVyLmpzIiwKICAidXVpZCI6ICJvdmVydmlld19jbGVhbmVyQGdvbnphLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"uuid": "distinct@sireliah.com", "name": "Distinct Windows", "pname": "distinct-windows", "description": "Visually differentiate windows with colors and symbols", "link": "https://extensions.gnome.org/extension/3769/distinct-windows/", "shell_version_map": {"38": {"version": "4", "sha256": "1iqga92l9mk3ykf8bdy9igvqfx9k78jasdmqsrrz9zcz33d7k4h7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlZpc3VhbGx5IGRpZmZlcmVudGlhdGUgd2luZG93cyB3aXRoIGNvbG9ycyBhbmQgc3ltYm9scyIsCiAgIm5hbWUiOiAiRGlzdGluY3QgV2luZG93cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NpcmVsaWFoL2Rpc3RpbmN0LXdpbmRvd3MiLAogICJ1dWlkIjogImRpc3RpbmN0QHNpcmVsaWFoLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}}}
 , {"uuid": "miniCal2@breiq", "name": "Minimalist Calendar 2", "pname": "minimalist-calendar-2", "description": "Remove event list and clock/calendar app buttons from the calendar window.", "link": "https://extensions.gnome.org/extension/3775/minimalist-calendar-2/", "shell_version_map": {"38": {"version": "1", "sha256": "1nh10ik3zk3r4jr31mr8nw8nnamgj3mk1f3im06657wv18x9wvam", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSBldmVudCBsaXN0IGFuZCBjbG9jay9jYWxlbmRhciBhcHAgYnV0dG9ucyBmcm9tIHRoZSBjYWxlbmRhciB3aW5kb3cuIiwKICAibmFtZSI6ICJNaW5pbWFsaXN0IENhbGVuZGFyIDIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAibWluaUNhbDJAYnJlaXEiLAogICJ2ZXJzaW9uIjogMQp9"}}}
-, {"uuid": "ddterm@amezin.github.com", "name": "ddterm", "pname": "ddterm", "description": "Another drop down terminal extension for GNOME Shell. With tabs. Works on Wayland natively.\n\nPlease use GitHub (\"Extension Homepage\") to report issues or request features.", "link": "https://extensions.gnome.org/extension/3780/ddterm/", "shell_version_map": {"38": {"version": "16", "sha256": "1csn3x3ffm828469lgnm7imxa70zhjhndqmvvchjkx6iyjx4kjkc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZHJvcCBkb3duIHRlcm1pbmFsIGV4dGVuc2lvbiBmb3IgR05PTUUgU2hlbGwuIFdpdGggdGFicy4gV29ya3Mgb24gV2F5bGFuZCBuYXRpdmVseS5cblxuUGxlYXNlIHVzZSBHaXRIdWIgKFwiRXh0ZW5zaW9uIEhvbWVwYWdlXCIpIHRvIHJlcG9ydCBpc3N1ZXMgb3IgcmVxdWVzdCBmZWF0dXJlcy4iLAogICJuYW1lIjogImRkdGVybSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJjb20uZ2l0aHViLmFtZXppbi5kZHRlcm0iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYW1lemluL2dub21lLXNoZWxsLWV4dGVuc2lvbi1kZHRlcm0iLAogICJ1dWlkIjogImRkdGVybUBhbWV6aW4uZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxNgp9"}, "40": {"version": "16", "sha256": "1csn3x3ffm828469lgnm7imxa70zhjhndqmvvchjkx6iyjx4kjkc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZHJvcCBkb3duIHRlcm1pbmFsIGV4dGVuc2lvbiBmb3IgR05PTUUgU2hlbGwuIFdpdGggdGFicy4gV29ya3Mgb24gV2F5bGFuZCBuYXRpdmVseS5cblxuUGxlYXNlIHVzZSBHaXRIdWIgKFwiRXh0ZW5zaW9uIEhvbWVwYWdlXCIpIHRvIHJlcG9ydCBpc3N1ZXMgb3IgcmVxdWVzdCBmZWF0dXJlcy4iLAogICJuYW1lIjogImRkdGVybSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJjb20uZ2l0aHViLmFtZXppbi5kZHRlcm0iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYW1lemluL2dub21lLXNoZWxsLWV4dGVuc2lvbi1kZHRlcm0iLAogICJ1dWlkIjogImRkdGVybUBhbWV6aW4uZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxNgp9"}}}
+, {"uuid": "ddterm@amezin.github.com", "name": "ddterm", "pname": "ddterm", "description": "Another drop down terminal extension for GNOME Shell. With tabs. Works on Wayland natively", "link": "https://extensions.gnome.org/extension/3780/ddterm/", "shell_version_map": {"38": {"version": "20", "sha256": "0n12069m1aza96i0k4i0n6k7pwqsz794wl8f9f0xxgs8v1r5yh6v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZHJvcCBkb3duIHRlcm1pbmFsIGV4dGVuc2lvbiBmb3IgR05PTUUgU2hlbGwuIFdpdGggdGFicy4gV29ya3Mgb24gV2F5bGFuZCBuYXRpdmVseSIsCiAgIm5hbWUiOiAiZGR0ZXJtIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImNvbS5naXRodWIuYW1lemluLmRkdGVybSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbWV6aW4vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWRkdGVybSIsCiAgInV1aWQiOiAiZGR0ZXJtQGFtZXppbi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDIwCn0="}, "40": {"version": "20", "sha256": "0n12069m1aza96i0k4i0n6k7pwqsz794wl8f9f0xxgs8v1r5yh6v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZHJvcCBkb3duIHRlcm1pbmFsIGV4dGVuc2lvbiBmb3IgR05PTUUgU2hlbGwuIFdpdGggdGFicy4gV29ya3Mgb24gV2F5bGFuZCBuYXRpdmVseSIsCiAgIm5hbWUiOiAiZGR0ZXJtIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImNvbS5naXRodWIuYW1lemluLmRkdGVybSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbWV6aW4vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWRkdGVybSIsCiAgInV1aWQiOiAiZGR0ZXJtQGFtZXppbi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDIwCn0="}}}
 , {"uuid": "favorites-only-dash@nahuelwexd.github.io", "name": "Favorites-only Dash", "pname": "favorites-only-dash", "description": "Show only favorite apps on Dash", "link": "https://extensions.gnome.org/extension/3789/favorites-only-dash/", "shell_version_map": {"38": {"version": "1", "sha256": "110h019563j33gksaq5fs0z71sz1mslq1sbsmhk9mj3qggd9vs65", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgb25seSBmYXZvcml0ZSBhcHBzIG9uIERhc2giLAogICJuYW1lIjogIkZhdm9yaXRlcy1vbmx5IERhc2giLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiZmF2b3JpdGVzLW9ubHktZGFzaEBuYWh1ZWx3ZXhkLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxCn0="}}}
-, {"uuid": "notification-timeout@chlumskyvaclav.gmail.com", "name": "Notification Timeout", "pname": "notification-timeout", "description": "This extension allows configuring the same timeout for all notifications. It also allows ignoring the idle state.", "link": "https://extensions.gnome.org/extension/3795/notification-timeout/", "shell_version_map": {"38": {"version": "2", "sha256": "160cavym08xkvyvfgmch56pckd6h6lv9pf2lnm40xw0mgj0a8ad7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFsbG93cyBjb25maWd1cmluZyB0aGUgc2FtZSB0aW1lb3V0IGZvciBhbGwgbm90aWZpY2F0aW9ucy4gSXQgYWxzbyBhbGxvd3MgaWdub3JpbmcgdGhlIGlkbGUgc3RhdGUuIiwKICAibmFtZSI6ICJOb3RpZmljYXRpb24gVGltZW91dCIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJjaGx1bXNreXZhY2xhdkBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92Y2hsdW0vbm90aWZpY2F0aW9uLXRpbWVvdXQiLAogICJ1dWlkIjogIm5vdGlmaWNhdGlvbi10aW1lb3V0QGNobHVtc2t5dmFjbGF2LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}}}
+, {"uuid": "notification-timeout@chlumskyvaclav.gmail.com", "name": "Notification Timeout", "pname": "notification-timeout", "description": "This extension allows configuring the same timeout for all notifications. It also allows ignoring the idle state.", "link": "https://extensions.gnome.org/extension/3795/notification-timeout/", "shell_version_map": {"38": {"version": "3", "sha256": "16cpl12jk90pw8nyvzara6fhb3jfiivf2qnvnsnrd237sjz344yw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFsbG93cyBjb25maWd1cmluZyB0aGUgc2FtZSB0aW1lb3V0IGZvciBhbGwgbm90aWZpY2F0aW9ucy4gSXQgYWxzbyBhbGxvd3MgaWdub3JpbmcgdGhlIGlkbGUgc3RhdGUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibm90aWZpY2F0aW9uLXRpbWVvdXQiLAogICJuYW1lIjogIk5vdGlmaWNhdGlvbiBUaW1lb3V0IiwKICAib3JpZ2luYWwtYXV0aG9yIjogImNobHVtc2t5dmFjbGF2QGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92Y2hsdW0vbm90aWZpY2F0aW9uLXRpbWVvdXQiLAogICJ1dWlkIjogIm5vdGlmaWNhdGlvbi10aW1lb3V0QGNobHVtc2t5dmFjbGF2LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "40": {"version": "3", "sha256": "16cpl12jk90pw8nyvzara6fhb3jfiivf2qnvnsnrd237sjz344yw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFsbG93cyBjb25maWd1cmluZyB0aGUgc2FtZSB0aW1lb3V0IGZvciBhbGwgbm90aWZpY2F0aW9ucy4gSXQgYWxzbyBhbGxvd3MgaWdub3JpbmcgdGhlIGlkbGUgc3RhdGUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibm90aWZpY2F0aW9uLXRpbWVvdXQiLAogICJuYW1lIjogIk5vdGlmaWNhdGlvbiBUaW1lb3V0IiwKICAib3JpZ2luYWwtYXV0aG9yIjogImNobHVtc2t5dmFjbGF2QGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92Y2hsdW0vbm90aWZpY2F0aW9uLXRpbWVvdXQiLAogICJ1dWlkIjogIm5vdGlmaWNhdGlvbi10aW1lb3V0QGNobHVtc2t5dmFjbGF2LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}}}
 , {"uuid": "podman-as-docker@alberto.yomerengues.xyz", "name": "Podman and Docker", "pname": "podman-as-docker", "description": "podman extension as docker\nIn order to get it work on podman, you just need to create an alias\nSimply put: alias docker=podman\nand install podman-docker", "link": "https://extensions.gnome.org/extension/3799/podman-as-docker/", "shell_version_map": {"38": {"version": "1", "sha256": "18bkd6z5hm6zidh7xv8v3jvj36lmxzx4dar7nwa7nq3p51km6crz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogInBvZG1hbiBleHRlbnNpb24gYXMgZG9ja2VyXG5JbiBvcmRlciB0byBnZXQgaXQgd29yayBvbiBwb2RtYW4sIHlvdSBqdXN0IG5lZWQgdG8gY3JlYXRlIGFuIGFsaWFzXG5TaW1wbHkgcHV0OiBhbGlhcyBkb2NrZXI9cG9kbWFuXG5hbmQgaW5zdGFsbCBwb2RtYW4tZG9ja2VyIiwKICAibmFtZSI6ICJQb2RtYW4gYW5kIERvY2tlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJwb2RtYW4tYXMtZG9ja2VyQGFsYmVydG8ueW9tZXJlbmd1ZXMueHl6IiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
 , {"uuid": "wacom-indicator@fthx", "name": "Wacom Indicator", "pname": "wacom-indicator", "description": "Wacom tablet indicator in the top bar: connection state and power level.\n\n On click: open GNOME Settings Wacom section. On hover or every minute: update connection state and power level.\n\n Settings (in extension.js file headers): show/hide model label, refresh delay, update/do nothing on indicator hover, show/hide if disconnected.", "link": "https://extensions.gnome.org/extension/3809/wacom-indicator/", "shell_version_map": {"38": {"version": "7", "sha256": "1sda66n1s3d28jd98xcznw5ljv10iwndpcbq7bfm5hqzrk8zimid", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldhY29tIHRhYmxldCBpbmRpY2F0b3IgaW4gdGhlIHRvcCBiYXI6IGNvbm5lY3Rpb24gc3RhdGUgYW5kIHBvd2VyIGxldmVsLlxuXG4gT24gY2xpY2s6IG9wZW4gR05PTUUgU2V0dGluZ3MgV2Fjb20gc2VjdGlvbi4gT24gaG92ZXIgb3IgZXZlcnkgbWludXRlOiB1cGRhdGUgY29ubmVjdGlvbiBzdGF0ZSBhbmQgcG93ZXIgbGV2ZWwuXG5cbiBTZXR0aW5ncyAoaW4gZXh0ZW5zaW9uLmpzIGZpbGUgaGVhZGVycyk6IHNob3cvaGlkZSBtb2RlbCBsYWJlbCwgcmVmcmVzaCBkZWxheSwgdXBkYXRlL2RvIG5vdGhpbmcgb24gaW5kaWNhdG9yIGhvdmVyLCBzaG93L2hpZGUgaWYgZGlzY29ubmVjdGVkLiIsCiAgIm5hbWUiOiAiV2Fjb20gSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvd2Fjb20taW5kaWNhdG9yIiwKICAidXVpZCI6ICJ3YWNvbS1pbmRpY2F0b3JAZnRoeCIsCiAgInZlcnNpb24iOiA3Cn0="}, "40": {"version": "7", "sha256": "1sda66n1s3d28jd98xcznw5ljv10iwndpcbq7bfm5hqzrk8zimid", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldhY29tIHRhYmxldCBpbmRpY2F0b3IgaW4gdGhlIHRvcCBiYXI6IGNvbm5lY3Rpb24gc3RhdGUgYW5kIHBvd2VyIGxldmVsLlxuXG4gT24gY2xpY2s6IG9wZW4gR05PTUUgU2V0dGluZ3MgV2Fjb20gc2VjdGlvbi4gT24gaG92ZXIgb3IgZXZlcnkgbWludXRlOiB1cGRhdGUgY29ubmVjdGlvbiBzdGF0ZSBhbmQgcG93ZXIgbGV2ZWwuXG5cbiBTZXR0aW5ncyAoaW4gZXh0ZW5zaW9uLmpzIGZpbGUgaGVhZGVycyk6IHNob3cvaGlkZSBtb2RlbCBsYWJlbCwgcmVmcmVzaCBkZWxheSwgdXBkYXRlL2RvIG5vdGhpbmcgb24gaW5kaWNhdG9yIGhvdmVyLCBzaG93L2hpZGUgaWYgZGlzY29ubmVjdGVkLiIsCiAgIm5hbWUiOiAiV2Fjb20gSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvd2Fjb20taW5kaWNhdG9yIiwKICAidXVpZCI6ICJ3YWNvbS1pbmRpY2F0b3JAZnRoeCIsCiAgInZlcnNpb24iOiA3Cn0="}}}
-, {"uuid": "hibernate@dafne.rocks", "name": "System Action - Hibernate", "pname": "system-action-hibernate", "description": "A GNOME extension that adds the option to hibernate amongst other system actions", "link": "https://extensions.gnome.org/extension/3814/system-action-hibernate/", "shell_version_map": {"38": {"version": "6", "sha256": "0j7xrkw830h34i6v5yxayk94nrfca3wvcm84z7l6jcfzsqp8d8qs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgZXh0ZW5zaW9uIHRoYXQgYWRkcyB0aGUgb3B0aW9uIHRvIGhpYmVybmF0ZSBhbW9uZ3N0IG90aGVyIHN5c3RlbSBhY3Rpb25zIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiaGliZXJuYXRlQGRhZm5lLnJvY2tzIiwKICAibmFtZSI6ICJTeXN0ZW0gQWN0aW9uIC0gSGliZXJuYXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2NvZGViZXJnLm9yZy9raXl1aS9nbm9tZS1zaGVsbC1oaWJlcm5hdGUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJoaWJlcm5hdGVAZGFmbmUucm9ja3MiLAogICJ2ZXJzaW9uIjogNgp9"}, "40": {"version": "6", "sha256": "0j7xrkw830h34i6v5yxayk94nrfca3wvcm84z7l6jcfzsqp8d8qs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgZXh0ZW5zaW9uIHRoYXQgYWRkcyB0aGUgb3B0aW9uIHRvIGhpYmVybmF0ZSBhbW9uZ3N0IG90aGVyIHN5c3RlbSBhY3Rpb25zIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiaGliZXJuYXRlQGRhZm5lLnJvY2tzIiwKICAibmFtZSI6ICJTeXN0ZW0gQWN0aW9uIC0gSGliZXJuYXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2NvZGViZXJnLm9yZy9raXl1aS9nbm9tZS1zaGVsbC1oaWJlcm5hdGUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJoaWJlcm5hdGVAZGFmbmUucm9ja3MiLAogICJ2ZXJzaW9uIjogNgp9"}}}
+, {"uuid": "hibernate@dafne.rocks", "name": "System Action - Hibernate", "pname": "system-action-hibernate", "description": "A GNOME extension that adds the option to hibernate amongst other system actions", "link": "https://extensions.gnome.org/extension/3814/system-action-hibernate/", "shell_version_map": {"38": {"version": "7", "sha256": "0z5mwqnlm77jl2r8p0884bm9w57m7ynzvr7w1vwv6rs2gn70wgyj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgZXh0ZW5zaW9uIHRoYXQgYWRkcyB0aGUgb3B0aW9uIHRvIGhpYmVybmF0ZSBhbW9uZ3N0IG90aGVyIHN5c3RlbSBhY3Rpb25zIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiaGliZXJuYXRlQGRhZm5lLnJvY2tzIiwKICAibmFtZSI6ICJTeXN0ZW0gQWN0aW9uIC0gSGliZXJuYXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2NvZGViZXJnLm9yZy9raXl1aS9nbm9tZS1zaGVsbC1oaWJlcm5hdGUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJoaWJlcm5hdGVAZGFmbmUucm9ja3MiLAogICJ2ZXJzaW9uIjogNwp9"}, "40": {"version": "7", "sha256": "0z5mwqnlm77jl2r8p0884bm9w57m7ynzvr7w1vwv6rs2gn70wgyj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgZXh0ZW5zaW9uIHRoYXQgYWRkcyB0aGUgb3B0aW9uIHRvIGhpYmVybmF0ZSBhbW9uZ3N0IG90aGVyIHN5c3RlbSBhY3Rpb25zIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiaGliZXJuYXRlQGRhZm5lLnJvY2tzIiwKICAibmFtZSI6ICJTeXN0ZW0gQWN0aW9uIC0gSGliZXJuYXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2NvZGViZXJnLm9yZy9raXl1aS9nbm9tZS1zaGVsbC1oaWJlcm5hdGUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJoaWJlcm5hdGVAZGFmbmUucm9ja3MiLAogICJ2ZXJzaW9uIjogNwp9"}}}
 , {"uuid": "click-to-close-overview@l3nn4rt.github.io", "name": "Click to close overview", "pname": "click-to-close-overview", "description": "Allow to close the overview by clicking empty space.\n\nIf you have any problem, please open an issue on the extension web page.", "link": "https://extensions.gnome.org/extension/3826/click-to-close-overview/", "shell_version_map": {"38": {"version": "3", "sha256": "0y9xq7frbydjabw8y49nrj0r04z9rkd11xmsvj143sn82vq6vgcv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IHRvIGNsb3NlIHRoZSBvdmVydmlldyBieSBjbGlja2luZyBlbXB0eSBzcGFjZS5cblxuSWYgeW91IGhhdmUgYW55IHByb2JsZW0sIHBsZWFzZSBvcGVuIGFuIGlzc3VlIG9uIHRoZSBleHRlbnNpb24gd2ViIHBhZ2UuIiwKICAibmFtZSI6ICJDbGljayB0byBjbG9zZSBvdmVydmlldyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2wzbm40cnQvY2xpY2stdG8tY2xvc2Utb3ZlcnZpZXciLAogICJ1dWlkIjogImNsaWNrLXRvLWNsb3NlLW92ZXJ2aWV3QGwzbm40cnQuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
-, {"uuid": "just-perfection-desktop@just-perfection", "name": "Just Perfection", "pname": "just-perfection", "description": "Tweak GNOME Shell and Disable UI Elements\n\nThis extension allows you to do the following:\n\n# Visibility\n\n- OSD\n- Search\n- Dash\n- Workspace Switcher\n- Workspace Popup\n- Panel\n- Background Menu\n- Activities button\n- App Menu\n- Clock Menu\n- Keyboard Layout\n- Accessibility Menu\n- System Menu (Aggregate Menu)\n- Applications Button\n\n# Icons Visibility\n\n- App Menu Icon\n- Power Icon\n- Panel Notification icon\n- Window Picker Icon (Only GNOME 40.0)\n- Panel Arrow (Only GNOME 3.36 and 3.38)\n- Activities Button Icon\n\n# Behavior\n\n- Disable Type to Search\n- Hot Corner\n- App Gesture (Only GNOME 3.36 and 3.38)\n- Window Demands Attention Focus\n\n# Customize\n\n- Panel Position\n- Panel Round Corner Size\n- Clock Menu Position\n- Workspace Switcher Size (Only GNOME 40.0)\n- Animation Speed or Disable it\n- Dash Icon Size\n\n# Override\n\n- GNOME shell theme (You don't need to have user-theme-extension)", "link": "https://extensions.gnome.org/extension/3843/just-perfection/", "shell_version_map": {"38": {"version": "11", "sha256": "0qcs3g138ic756fddla5icgkhdn16sf6pz2z3hcqk5xr930464bm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR3ZWFrIEdOT01FIFNoZWxsIGFuZCBEaXNhYmxlIFVJIEVsZW1lbnRzXG5cblRoaXMgZXh0ZW5zaW9uIGFsbG93cyB5b3UgdG8gZG8gdGhlIGZvbGxvd2luZzpcblxuIyBWaXNpYmlsaXR5XG5cbi0gT1NEXG4tIFNlYXJjaFxuLSBEYXNoXG4tIFdvcmtzcGFjZSBTd2l0Y2hlclxuLSBXb3Jrc3BhY2UgUG9wdXBcbi0gUGFuZWxcbi0gQmFja2dyb3VuZCBNZW51XG4tIEFjdGl2aXRpZXMgYnV0dG9uXG4tIEFwcCBNZW51XG4tIENsb2NrIE1lbnVcbi0gS2V5Ym9hcmQgTGF5b3V0XG4tIEFjY2Vzc2liaWxpdHkgTWVudVxuLSBTeXN0ZW0gTWVudSAoQWdncmVnYXRlIE1lbnUpXG4tIEFwcGxpY2F0aW9ucyBCdXR0b25cblxuIyBJY29ucyBWaXNpYmlsaXR5XG5cbi0gQXBwIE1lbnUgSWNvblxuLSBQb3dlciBJY29uXG4tIFBhbmVsIE5vdGlmaWNhdGlvbiBpY29uXG4tIFdpbmRvdyBQaWNrZXIgSWNvbiAoT25seSBHTk9NRSA0MC4wKVxuLSBQYW5lbCBBcnJvdyAoT25seSBHTk9NRSAzLjM2IGFuZCAzLjM4KVxuLSBBY3Rpdml0aWVzIEJ1dHRvbiBJY29uXG5cbiMgQmVoYXZpb3JcblxuLSBEaXNhYmxlIFR5cGUgdG8gU2VhcmNoXG4tIEhvdCBDb3JuZXJcbi0gQXBwIEdlc3R1cmUgKE9ubHkgR05PTUUgMy4zNiBhbmQgMy4zOClcbi0gV2luZG93IERlbWFuZHMgQXR0ZW50aW9uIEZvY3VzXG5cbiMgQ3VzdG9taXplXG5cbi0gUGFuZWwgUG9zaXRpb25cbi0gUGFuZWwgUm91bmQgQ29ybmVyIFNpemVcbi0gQ2xvY2sgTWVudSBQb3NpdGlvblxuLSBXb3Jrc3BhY2UgU3dpdGNoZXIgU2l6ZSAoT25seSBHTk9NRSA0MC4wKVxuLSBBbmltYXRpb24gU3BlZWQgb3IgRGlzYWJsZSBpdFxuLSBEYXNoIEljb24gU2l6ZVxuXG4jIE92ZXJyaWRlXG5cbi0gR05PTUUgc2hlbGwgdGhlbWUgKFlvdSBkb24ndCBuZWVkIHRvIGhhdmUgdXNlci10aGVtZS1leHRlbnNpb24pIiwKICAiZ2V0dGV4dC1kb21haW4iOiAianVzdC1wZXJmZWN0aW9uIiwKICAibmFtZSI6ICJKdXN0IFBlcmZlY3Rpb24iLAogICJzY2hlbWEtaWQiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuanVzdC1wZXJmZWN0aW9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL2pyYWhtYXR6YWRlaC9qdXN0LXBlcmZlY3Rpb24iLAogICJ1dWlkIjogImp1c3QtcGVyZmVjdGlvbi1kZXNrdG9wQGp1c3QtcGVyZmVjdGlvbiIsCiAgInZlcnNpb24iOiAxMQp9"}, "40": {"version": "11", "sha256": "0qcs3g138ic756fddla5icgkhdn16sf6pz2z3hcqk5xr930464bm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR3ZWFrIEdOT01FIFNoZWxsIGFuZCBEaXNhYmxlIFVJIEVsZW1lbnRzXG5cblRoaXMgZXh0ZW5zaW9uIGFsbG93cyB5b3UgdG8gZG8gdGhlIGZvbGxvd2luZzpcblxuIyBWaXNpYmlsaXR5XG5cbi0gT1NEXG4tIFNlYXJjaFxuLSBEYXNoXG4tIFdvcmtzcGFjZSBTd2l0Y2hlclxuLSBXb3Jrc3BhY2UgUG9wdXBcbi0gUGFuZWxcbi0gQmFja2dyb3VuZCBNZW51XG4tIEFjdGl2aXRpZXMgYnV0dG9uXG4tIEFwcCBNZW51XG4tIENsb2NrIE1lbnVcbi0gS2V5Ym9hcmQgTGF5b3V0XG4tIEFjY2Vzc2liaWxpdHkgTWVudVxuLSBTeXN0ZW0gTWVudSAoQWdncmVnYXRlIE1lbnUpXG4tIEFwcGxpY2F0aW9ucyBCdXR0b25cblxuIyBJY29ucyBWaXNpYmlsaXR5XG5cbi0gQXBwIE1lbnUgSWNvblxuLSBQb3dlciBJY29uXG4tIFBhbmVsIE5vdGlmaWNhdGlvbiBpY29uXG4tIFdpbmRvdyBQaWNrZXIgSWNvbiAoT25seSBHTk9NRSA0MC4wKVxuLSBQYW5lbCBBcnJvdyAoT25seSBHTk9NRSAzLjM2IGFuZCAzLjM4KVxuLSBBY3Rpdml0aWVzIEJ1dHRvbiBJY29uXG5cbiMgQmVoYXZpb3JcblxuLSBEaXNhYmxlIFR5cGUgdG8gU2VhcmNoXG4tIEhvdCBDb3JuZXJcbi0gQXBwIEdlc3R1cmUgKE9ubHkgR05PTUUgMy4zNiBhbmQgMy4zOClcbi0gV2luZG93IERlbWFuZHMgQXR0ZW50aW9uIEZvY3VzXG5cbiMgQ3VzdG9taXplXG5cbi0gUGFuZWwgUG9zaXRpb25cbi0gUGFuZWwgUm91bmQgQ29ybmVyIFNpemVcbi0gQ2xvY2sgTWVudSBQb3NpdGlvblxuLSBXb3Jrc3BhY2UgU3dpdGNoZXIgU2l6ZSAoT25seSBHTk9NRSA0MC4wKVxuLSBBbmltYXRpb24gU3BlZWQgb3IgRGlzYWJsZSBpdFxuLSBEYXNoIEljb24gU2l6ZVxuXG4jIE92ZXJyaWRlXG5cbi0gR05PTUUgc2hlbGwgdGhlbWUgKFlvdSBkb24ndCBuZWVkIHRvIGhhdmUgdXNlci10aGVtZS1leHRlbnNpb24pIiwKICAiZ2V0dGV4dC1kb21haW4iOiAianVzdC1wZXJmZWN0aW9uIiwKICAibmFtZSI6ICJKdXN0IFBlcmZlY3Rpb24iLAogICJzY2hlbWEtaWQiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuanVzdC1wZXJmZWN0aW9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL2pyYWhtYXR6YWRlaC9qdXN0LXBlcmZlY3Rpb24iLAogICJ1dWlkIjogImp1c3QtcGVyZmVjdGlvbi1kZXNrdG9wQGp1c3QtcGVyZmVjdGlvbiIsCiAgInZlcnNpb24iOiAxMQp9"}}}
-, {"uuid": "workspaces-bar@fthx", "name": "Workspaces Bar", "pname": "workspaces-bar", "description": "Replace 'Activities' button by all current workspaces buttons. Switch workspace or toggle overview by clicking on these buttons.\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/3851/workspaces-bar/", "shell_version_map": {"38": {"version": "7", "sha256": "0h02ykcq1v33whrnhf8z15pql5qx8f072shv14md9ff30q4aw13q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcGxhY2UgJ0FjdGl2aXRpZXMnIGJ1dHRvbiBieSBhbGwgY3VycmVudCB3b3Jrc3BhY2VzIGJ1dHRvbnMuIFN3aXRjaCB3b3Jrc3BhY2Ugb3IgdG9nZ2xlIG92ZXJ2aWV3IGJ5IGNsaWNraW5nIG9uIHRoZXNlIGJ1dHRvbnMuXG5cbiBZb3UgY2FuIHVzZSBuYW1lcyBmb3Igd29ya3NwYWNlczogdGhlcmUgYXJlIHR3byB3YXlzIGZvciB0aGF0LiAxKSBFZGl0IHRoZSBzdHJpbmcgYXJyYXkgJ29yZy5nbm9tZS5kZXNrdG9wLndtLnByZWZlcmVuY2VzLndvcmtzcGFjZS1uYW1lcycgZ3NldHRpbmdzIGtleSAodGhyb3VnaCBkY29uZiBlZGl0b3IsIGUuZy4pLiAyKSBVc2Ugb2ZmaWNpYWwgR05PTUUgZXh0ZW5zaW9uIFdvcmtzcGFjZXMgSW5kaWNhdG9yJ3Mgc2V0dGluZ3MuIFlvdSBkb24ndCBoYXZlIHRvIHdyaXRlIGEgbG9uZyBlbm91Z2ggbGlzdDogbnVtYmVycyBhcmUgZGlzcGxheWVkIGlmIG5vIHdvcmtzcGFjZSBuYW1lIGlzIGRlZmluZWQuIiwKICAibmFtZSI6ICJXb3Jrc3BhY2VzIEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L3dvcmtzcGFjZXMtYmFyIiwKICAidXVpZCI6ICJ3b3Jrc3BhY2VzLWJhckBmdGh4IiwKICAidmVyc2lvbiI6IDcKfQ=="}, "40": {"version": "7", "sha256": "0h02ykcq1v33whrnhf8z15pql5qx8f072shv14md9ff30q4aw13q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcGxhY2UgJ0FjdGl2aXRpZXMnIGJ1dHRvbiBieSBhbGwgY3VycmVudCB3b3Jrc3BhY2VzIGJ1dHRvbnMuIFN3aXRjaCB3b3Jrc3BhY2Ugb3IgdG9nZ2xlIG92ZXJ2aWV3IGJ5IGNsaWNraW5nIG9uIHRoZXNlIGJ1dHRvbnMuXG5cbiBZb3UgY2FuIHVzZSBuYW1lcyBmb3Igd29ya3NwYWNlczogdGhlcmUgYXJlIHR3byB3YXlzIGZvciB0aGF0LiAxKSBFZGl0IHRoZSBzdHJpbmcgYXJyYXkgJ29yZy5nbm9tZS5kZXNrdG9wLndtLnByZWZlcmVuY2VzLndvcmtzcGFjZS1uYW1lcycgZ3NldHRpbmdzIGtleSAodGhyb3VnaCBkY29uZiBlZGl0b3IsIGUuZy4pLiAyKSBVc2Ugb2ZmaWNpYWwgR05PTUUgZXh0ZW5zaW9uIFdvcmtzcGFjZXMgSW5kaWNhdG9yJ3Mgc2V0dGluZ3MuIFlvdSBkb24ndCBoYXZlIHRvIHdyaXRlIGEgbG9uZyBlbm91Z2ggbGlzdDogbnVtYmVycyBhcmUgZGlzcGxheWVkIGlmIG5vIHdvcmtzcGFjZSBuYW1lIGlzIGRlZmluZWQuIiwKICAibmFtZSI6ICJXb3Jrc3BhY2VzIEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L3dvcmtzcGFjZXMtYmFyIiwKICAidXVpZCI6ICJ3b3Jrc3BhY2VzLWJhckBmdGh4IiwKICAidmVyc2lvbiI6IDcKfQ=="}}}
+, {"uuid": "just-perfection-desktop@just-perfection", "name": "Just Perfection", "pname": "just-perfection", "description": "Disable and Customize GNOME shell UI Elements\n\nThis extension allows you to do the following:\n\n## Visibility\n\n- OSD\n- Search\n- Dash\n- Workspace Switcher\n- Workspace Popup\n- Panel\n- Background Menu\n- Activities button\n- App Menu\n- Clock Menu\n- Keyboard Layout\n- Accessibility Menu\n- System Menu (Aggregate Menu)\n- Applications Button\n- Workspaces in app grid (Only GNOME Shell 40)\n- Window Picker Caption\n\n## Icons Visibility\n\n- App Menu Icon\n- Power Icon\n- Panel Notification icon\n- Window Picker Icon (Only GNOME Shell 40)\n- Panel Arrow (Only GNOME Shell 3.36 and 3.38)\n- Activities Button Icon\n\n## Behavior\n\n- Disable Type to Search\n- Hot Corner\n- App Gesture (Only GNOME Shell 3.36 and 3.38)\n- Window Demands Attention Focus\n- Always Show Workspace Switcher on Dynamic Workspaces (Only GNOME Shell 40)\n- Startup status (Only GNOME Shell 40)\n- Workspace Wraparound\n\n## Customize\n\n- Panel Height\n- Panel Position\n- Panel Button Padding Size\n- Panel Round Corner Size\n- Workspace Background Corner Size in Overview (Only GNOME Shell 40)\n- Clock Menu Position\n- Workspace Switcher Size (Only GNOME Shell 40)\n- Animation Speed or Disable it\n- Dash Icon Size\n- Notification Banner Position\n\n## Override\n\n- GNOME shell theme (You don't need to have user-theme-extension)", "link": "https://extensions.gnome.org/extension/3843/just-perfection/", "shell_version_map": {"38": {"version": "13", "sha256": "0j6d537gpg6dvq10lr97559xxaj7sgfzd8g72a680h7bvgld6hcg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgYW5kIEN1c3RvbWl6ZSBHTk9NRSBzaGVsbCBVSSBFbGVtZW50c1xuXG5UaGlzIGV4dGVuc2lvbiBhbGxvd3MgeW91IHRvIGRvIHRoZSBmb2xsb3dpbmc6XG5cbiMjIFZpc2liaWxpdHlcblxuLSBPU0Rcbi0gU2VhcmNoXG4tIERhc2hcbi0gV29ya3NwYWNlIFN3aXRjaGVyXG4tIFdvcmtzcGFjZSBQb3B1cFxuLSBQYW5lbFxuLSBCYWNrZ3JvdW5kIE1lbnVcbi0gQWN0aXZpdGllcyBidXR0b25cbi0gQXBwIE1lbnVcbi0gQ2xvY2sgTWVudVxuLSBLZXlib2FyZCBMYXlvdXRcbi0gQWNjZXNzaWJpbGl0eSBNZW51XG4tIFN5c3RlbSBNZW51IChBZ2dyZWdhdGUgTWVudSlcbi0gQXBwbGljYXRpb25zIEJ1dHRvblxuLSBXb3Jrc3BhY2VzIGluIGFwcCBncmlkIChPbmx5IEdOT01FIFNoZWxsIDQwKVxuLSBXaW5kb3cgUGlja2VyIENhcHRpb25cblxuIyMgSWNvbnMgVmlzaWJpbGl0eVxuXG4tIEFwcCBNZW51IEljb25cbi0gUG93ZXIgSWNvblxuLSBQYW5lbCBOb3RpZmljYXRpb24gaWNvblxuLSBXaW5kb3cgUGlja2VyIEljb24gKE9ubHkgR05PTUUgU2hlbGwgNDApXG4tIFBhbmVsIEFycm93IChPbmx5IEdOT01FIFNoZWxsIDMuMzYgYW5kIDMuMzgpXG4tIEFjdGl2aXRpZXMgQnV0dG9uIEljb25cblxuIyMgQmVoYXZpb3JcblxuLSBEaXNhYmxlIFR5cGUgdG8gU2VhcmNoXG4tIEhvdCBDb3JuZXJcbi0gQXBwIEdlc3R1cmUgKE9ubHkgR05PTUUgU2hlbGwgMy4zNiBhbmQgMy4zOClcbi0gV2luZG93IERlbWFuZHMgQXR0ZW50aW9uIEZvY3VzXG4tIEFsd2F5cyBTaG93IFdvcmtzcGFjZSBTd2l0Y2hlciBvbiBEeW5hbWljIFdvcmtzcGFjZXMgKE9ubHkgR05PTUUgU2hlbGwgNDApXG4tIFN0YXJ0dXAgc3RhdHVzIChPbmx5IEdOT01FIFNoZWxsIDQwKVxuLSBXb3Jrc3BhY2UgV3JhcGFyb3VuZFxuXG4jIyBDdXN0b21pemVcblxuLSBQYW5lbCBIZWlnaHRcbi0gUGFuZWwgUG9zaXRpb25cbi0gUGFuZWwgQnV0dG9uIFBhZGRpbmcgU2l6ZVxuLSBQYW5lbCBSb3VuZCBDb3JuZXIgU2l6ZVxuLSBXb3Jrc3BhY2UgQmFja2dyb3VuZCBDb3JuZXIgU2l6ZSBpbiBPdmVydmlldyAoT25seSBHTk9NRSBTaGVsbCA0MClcbi0gQ2xvY2sgTWVudSBQb3NpdGlvblxuLSBXb3Jrc3BhY2UgU3dpdGNoZXIgU2l6ZSAoT25seSBHTk9NRSBTaGVsbCA0MClcbi0gQW5pbWF0aW9uIFNwZWVkIG9yIERpc2FibGUgaXRcbi0gRGFzaCBJY29uIFNpemVcbi0gTm90aWZpY2F0aW9uIEJhbm5lciBQb3NpdGlvblxuXG4jIyBPdmVycmlkZVxuXG4tIEdOT01FIHNoZWxsIHRoZW1lIChZb3UgZG9uJ3QgbmVlZCB0byBoYXZlIHVzZXItdGhlbWUtZXh0ZW5zaW9uKSIsCiAgImdldHRleHQtZG9tYWluIjogImp1c3QtcGVyZmVjdGlvbiIsCiAgIm5hbWUiOiAiSnVzdCBQZXJmZWN0aW9uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmp1c3QtcGVyZmVjdGlvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9qcmFobWF0emFkZWgvanVzdC1wZXJmZWN0aW9uIiwKICAidXVpZCI6ICJqdXN0LXBlcmZlY3Rpb24tZGVza3RvcEBqdXN0LXBlcmZlY3Rpb24iLAogICJ2ZXJzaW9uIjogMTMKfQ=="}, "40": {"version": "13", "sha256": "0j6d537gpg6dvq10lr97559xxaj7sgfzd8g72a680h7bvgld6hcg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgYW5kIEN1c3RvbWl6ZSBHTk9NRSBzaGVsbCBVSSBFbGVtZW50c1xuXG5UaGlzIGV4dGVuc2lvbiBhbGxvd3MgeW91IHRvIGRvIHRoZSBmb2xsb3dpbmc6XG5cbiMjIFZpc2liaWxpdHlcblxuLSBPU0Rcbi0gU2VhcmNoXG4tIERhc2hcbi0gV29ya3NwYWNlIFN3aXRjaGVyXG4tIFdvcmtzcGFjZSBQb3B1cFxuLSBQYW5lbFxuLSBCYWNrZ3JvdW5kIE1lbnVcbi0gQWN0aXZpdGllcyBidXR0b25cbi0gQXBwIE1lbnVcbi0gQ2xvY2sgTWVudVxuLSBLZXlib2FyZCBMYXlvdXRcbi0gQWNjZXNzaWJpbGl0eSBNZW51XG4tIFN5c3RlbSBNZW51IChBZ2dyZWdhdGUgTWVudSlcbi0gQXBwbGljYXRpb25zIEJ1dHRvblxuLSBXb3Jrc3BhY2VzIGluIGFwcCBncmlkIChPbmx5IEdOT01FIFNoZWxsIDQwKVxuLSBXaW5kb3cgUGlja2VyIENhcHRpb25cblxuIyMgSWNvbnMgVmlzaWJpbGl0eVxuXG4tIEFwcCBNZW51IEljb25cbi0gUG93ZXIgSWNvblxuLSBQYW5lbCBOb3RpZmljYXRpb24gaWNvblxuLSBXaW5kb3cgUGlja2VyIEljb24gKE9ubHkgR05PTUUgU2hlbGwgNDApXG4tIFBhbmVsIEFycm93IChPbmx5IEdOT01FIFNoZWxsIDMuMzYgYW5kIDMuMzgpXG4tIEFjdGl2aXRpZXMgQnV0dG9uIEljb25cblxuIyMgQmVoYXZpb3JcblxuLSBEaXNhYmxlIFR5cGUgdG8gU2VhcmNoXG4tIEhvdCBDb3JuZXJcbi0gQXBwIEdlc3R1cmUgKE9ubHkgR05PTUUgU2hlbGwgMy4zNiBhbmQgMy4zOClcbi0gV2luZG93IERlbWFuZHMgQXR0ZW50aW9uIEZvY3VzXG4tIEFsd2F5cyBTaG93IFdvcmtzcGFjZSBTd2l0Y2hlciBvbiBEeW5hbWljIFdvcmtzcGFjZXMgKE9ubHkgR05PTUUgU2hlbGwgNDApXG4tIFN0YXJ0dXAgc3RhdHVzIChPbmx5IEdOT01FIFNoZWxsIDQwKVxuLSBXb3Jrc3BhY2UgV3JhcGFyb3VuZFxuXG4jIyBDdXN0b21pemVcblxuLSBQYW5lbCBIZWlnaHRcbi0gUGFuZWwgUG9zaXRpb25cbi0gUGFuZWwgQnV0dG9uIFBhZGRpbmcgU2l6ZVxuLSBQYW5lbCBSb3VuZCBDb3JuZXIgU2l6ZVxuLSBXb3Jrc3BhY2UgQmFja2dyb3VuZCBDb3JuZXIgU2l6ZSBpbiBPdmVydmlldyAoT25seSBHTk9NRSBTaGVsbCA0MClcbi0gQ2xvY2sgTWVudSBQb3NpdGlvblxuLSBXb3Jrc3BhY2UgU3dpdGNoZXIgU2l6ZSAoT25seSBHTk9NRSBTaGVsbCA0MClcbi0gQW5pbWF0aW9uIFNwZWVkIG9yIERpc2FibGUgaXRcbi0gRGFzaCBJY29uIFNpemVcbi0gTm90aWZpY2F0aW9uIEJhbm5lciBQb3NpdGlvblxuXG4jIyBPdmVycmlkZVxuXG4tIEdOT01FIHNoZWxsIHRoZW1lIChZb3UgZG9uJ3QgbmVlZCB0byBoYXZlIHVzZXItdGhlbWUtZXh0ZW5zaW9uKSIsCiAgImdldHRleHQtZG9tYWluIjogImp1c3QtcGVyZmVjdGlvbiIsCiAgIm5hbWUiOiAiSnVzdCBQZXJmZWN0aW9uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmp1c3QtcGVyZmVjdGlvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9qcmFobWF0emFkZWgvanVzdC1wZXJmZWN0aW9uIiwKICAidXVpZCI6ICJqdXN0LXBlcmZlY3Rpb24tZGVza3RvcEBqdXN0LXBlcmZlY3Rpb24iLAogICJ2ZXJzaW9uIjogMTMKfQ=="}}}
+, {"uuid": "workspaces-bar@fthx", "name": "Workspaces Bar", "pname": "workspaces-bar", "description": "Replace 'Activities' button by all current workspaces buttons. Switch workspace or toggle overview by clicking on these buttons.\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/3851/workspaces-bar/", "shell_version_map": {"38": {"version": "11", "sha256": "04lp3d2xfl024nrvnqwb4vv2qd7fbwhfq3gbaz1j0ds7dhq7bhir", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcGxhY2UgJ0FjdGl2aXRpZXMnIGJ1dHRvbiBieSBhbGwgY3VycmVudCB3b3Jrc3BhY2VzIGJ1dHRvbnMuIFN3aXRjaCB3b3Jrc3BhY2Ugb3IgdG9nZ2xlIG92ZXJ2aWV3IGJ5IGNsaWNraW5nIG9uIHRoZXNlIGJ1dHRvbnMuXG5cbiBZb3UgY2FuIHVzZSBuYW1lcyBmb3Igd29ya3NwYWNlczogdGhlcmUgYXJlIHR3byB3YXlzIGZvciB0aGF0LiAxKSBFZGl0IHRoZSBzdHJpbmcgYXJyYXkgJ29yZy5nbm9tZS5kZXNrdG9wLndtLnByZWZlcmVuY2VzLndvcmtzcGFjZS1uYW1lcycgZ3NldHRpbmdzIGtleSAodGhyb3VnaCBkY29uZiBlZGl0b3IsIGUuZy4pLiAyKSBVc2Ugb2ZmaWNpYWwgR05PTUUgZXh0ZW5zaW9uIFdvcmtzcGFjZXMgSW5kaWNhdG9yJ3Mgc2V0dGluZ3MuIFlvdSBkb24ndCBoYXZlIHRvIHdyaXRlIGEgbG9uZyBlbm91Z2ggbGlzdDogbnVtYmVycyBhcmUgZGlzcGxheWVkIGlmIG5vIHdvcmtzcGFjZSBuYW1lIGlzIGRlZmluZWQuIiwKICAibmFtZSI6ICJXb3Jrc3BhY2VzIEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L3dvcmtzcGFjZXMtYmFyIiwKICAidXVpZCI6ICJ3b3Jrc3BhY2VzLWJhckBmdGh4IiwKICAidmVyc2lvbiI6IDExCn0="}, "40": {"version": "11", "sha256": "04lp3d2xfl024nrvnqwb4vv2qd7fbwhfq3gbaz1j0ds7dhq7bhir", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcGxhY2UgJ0FjdGl2aXRpZXMnIGJ1dHRvbiBieSBhbGwgY3VycmVudCB3b3Jrc3BhY2VzIGJ1dHRvbnMuIFN3aXRjaCB3b3Jrc3BhY2Ugb3IgdG9nZ2xlIG92ZXJ2aWV3IGJ5IGNsaWNraW5nIG9uIHRoZXNlIGJ1dHRvbnMuXG5cbiBZb3UgY2FuIHVzZSBuYW1lcyBmb3Igd29ya3NwYWNlczogdGhlcmUgYXJlIHR3byB3YXlzIGZvciB0aGF0LiAxKSBFZGl0IHRoZSBzdHJpbmcgYXJyYXkgJ29yZy5nbm9tZS5kZXNrdG9wLndtLnByZWZlcmVuY2VzLndvcmtzcGFjZS1uYW1lcycgZ3NldHRpbmdzIGtleSAodGhyb3VnaCBkY29uZiBlZGl0b3IsIGUuZy4pLiAyKSBVc2Ugb2ZmaWNpYWwgR05PTUUgZXh0ZW5zaW9uIFdvcmtzcGFjZXMgSW5kaWNhdG9yJ3Mgc2V0dGluZ3MuIFlvdSBkb24ndCBoYXZlIHRvIHdyaXRlIGEgbG9uZyBlbm91Z2ggbGlzdDogbnVtYmVycyBhcmUgZGlzcGxheWVkIGlmIG5vIHdvcmtzcGFjZSBuYW1lIGlzIGRlZmluZWQuIiwKICAibmFtZSI6ICJXb3Jrc3BhY2VzIEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L3dvcmtzcGFjZXMtYmFyIiwKICAidXVpZCI6ICJ3b3Jrc3BhY2VzLWJhckBmdGh4IiwKICAidmVyc2lvbiI6IDExCn0="}}}
 , {"uuid": "scanlines-effect@muratcileli.com", "name": "Scanlines Effect", "pname": "scanlines-effect", "description": "Retro monitor / CRT TV effect.", "link": "https://extensions.gnome.org/extension/3860/scanlines-effect/", "shell_version_map": {"38": {"version": "1", "sha256": "1xcsd700s9hkqmrqlv56ldiya2jk0d46j8k4a4i3m9c6k40c5z7v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJldHJvIG1vbml0b3IgLyBDUlQgVFYgZWZmZWN0LiIsCiAgIm5hbWUiOiAiU2NhbmxpbmVzIEVmZmVjdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJjb20ubXVyYXRjaWxlbGkuc2NhbmxpbmVzLWVmZmVjdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL211cmF0LWNpbGVsaS9nbm9tZS1zaGVsbC1leHRlbnNpb24tc2NhbmxpbmVzLWVmZmVjdCIsCiAgInV1aWQiOiAic2NhbmxpbmVzLWVmZmVjdEBtdXJhdGNpbGVsaS5jb20iLAogICJ2ZXJzaW9uIjogMQp9"}}}
 , {"uuid": "workspaces-thumbnails-applet@blogdron", "name": "Workspaces Thumbnails Applet", "pname": "workspaces-thumbnails-applet", "description": "Notice!\n\nThis is a fork of the extension https://extensions.gnome.org/extension/2557/workspaces-thumbnails/ It hasn't been updated in a long time, but it only needs a small fix to work. Until the author fixes the problem, I will keep this fork. Please, if you have the opportunity to contact the author of the original extension, let him fix the problem for himself.\n\n\nPut an indicator on the panel showing all the workspaces thumbnails, allowing to switch between them or moving windows to another workspace.\n\n This is a very tiny fork of the original (GNOME official extension) Workspace Indicator, allowing to use it like when the Horizontal Workspaces extension is activated. The vertical workspaces layout is not modified; the workspaces layout is horizontal only in the top panel and the workspaces switcher in the overview is still showed. Please note that any global bug should be reported against the Workspace Indicator extension. https://extensions.gnome.org/extension/21/workspace-indicator", "link": "https://extensions.gnome.org/extension/3872/workspaces-thumbnails-applet/", "shell_version_map": {"38": {"version": "1", "sha256": "02823b6rfnibb0mhnx848pdxc3birw2aqp8607wjf93mvy5388hm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5vdGljZSFcblxuVGhpcyBpcyBhIGZvcmsgb2YgdGhlIGV4dGVuc2lvbiBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8yNTU3L3dvcmtzcGFjZXMtdGh1bWJuYWlscy8gSXQgaGFzbid0IGJlZW4gdXBkYXRlZCBpbiBhIGxvbmcgdGltZSwgYnV0IGl0IG9ubHkgbmVlZHMgYSBzbWFsbCBmaXggdG8gd29yay4gVW50aWwgdGhlIGF1dGhvciBmaXhlcyB0aGUgcHJvYmxlbSwgSSB3aWxsIGtlZXAgdGhpcyBmb3JrLiBQbGVhc2UsIGlmIHlvdSBoYXZlIHRoZSBvcHBvcnR1bml0eSB0byBjb250YWN0IHRoZSBhdXRob3Igb2YgdGhlIG9yaWdpbmFsIGV4dGVuc2lvbiwgbGV0IGhpbSBmaXggdGhlIHByb2JsZW0gZm9yIGhpbXNlbGYuXG5cblxuUHV0IGFuIGluZGljYXRvciBvbiB0aGUgcGFuZWwgc2hvd2luZyBhbGwgdGhlIHdvcmtzcGFjZXMgdGh1bWJuYWlscywgYWxsb3dpbmcgdG8gc3dpdGNoIGJldHdlZW4gdGhlbSBvciBtb3Zpbmcgd2luZG93cyB0byBhbm90aGVyIHdvcmtzcGFjZS5cblxuIFRoaXMgaXMgYSB2ZXJ5IHRpbnkgZm9yayBvZiB0aGUgb3JpZ2luYWwgKEdOT01FIG9mZmljaWFsIGV4dGVuc2lvbikgV29ya3NwYWNlIEluZGljYXRvciwgYWxsb3dpbmcgdG8gdXNlIGl0IGxpa2Ugd2hlbiB0aGUgSG9yaXpvbnRhbCBXb3Jrc3BhY2VzIGV4dGVuc2lvbiBpcyBhY3RpdmF0ZWQuIFRoZSB2ZXJ0aWNhbCB3b3Jrc3BhY2VzIGxheW91dCBpcyBub3QgbW9kaWZpZWQ7IHRoZSB3b3Jrc3BhY2VzIGxheW91dCBpcyBob3Jpem9udGFsIG9ubHkgaW4gdGhlIHRvcCBwYW5lbCBhbmQgdGhlIHdvcmtzcGFjZXMgc3dpdGNoZXIgaW4gdGhlIG92ZXJ2aWV3IGlzIHN0aWxsIHNob3dlZC4gUGxlYXNlIG5vdGUgdGhhdCBhbnkgZ2xvYmFsIGJ1ZyBzaG91bGQgYmUgcmVwb3J0ZWQgYWdhaW5zdCB0aGUgV29ya3NwYWNlIEluZGljYXRvciBleHRlbnNpb24uIGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzIxL3dvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJleHRlbnNpb24taWQiOiAid29ya3NwYWNlcy10aHVtYm5haWxzLWFwcGxldCIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIldvcmtzcGFjZXMgVGh1bWJuYWlscyBBcHBsZXQiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImZ0aHgiLAogICAgImJsb2dkcm9uIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53b3Jrc3BhY2UtaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIndvcmtzcGFjZXMtdGh1bWJuYWlscy1hcHBsZXRAYmxvZ2Ryb24iLAogICJ2ZXJzaW9uIjogMQp9"}}}
 , {"uuid": "simple-monitor@fcaballerop.github.io", "name": "Simple monitor", "pname": "simple-monitor", "description": "A simple panel button that shows CPU and RAM memory usage. Clicking shows the top 10 processes using CPU and memory.", "link": "https://extensions.gnome.org/extension/3891/simple-monitor/", "shell_version_map": {"38": {"version": "5", "sha256": "0qhicn9is6b5g8xc8n4dvxxmzmlhzb9w9wrn6rf1jv8q5igyacs3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIHBhbmVsIGJ1dHRvbiB0aGF0IHNob3dzIENQVSBhbmQgUkFNIG1lbW9yeSB1c2FnZS4gQ2xpY2tpbmcgc2hvd3MgdGhlIHRvcCAxMCBwcm9jZXNzZXMgdXNpbmcgQ1BVIGFuZCBtZW1vcnkuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZXhhbXBsZSIsCiAgIm5hbWUiOiAiU2ltcGxlIG1vbml0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc21vbml0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAic2ltcGxlLW1vbml0b3JAZmNhYmFsbGVyb3AuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
 , {"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": "6", "sha256": "0373ghnm1r0f4igxqj3bgsl41gil2c5xzbcqjgiym7qmbsi8rf7n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSB0aGUgYXBwbGljYXRpb24gbWVudSBmcm9tIHRoZSB0b3AgYmFyIiwKICAibmFtZSI6ICJSZW1vdmUgQXBwIE1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3R1YXJ0aGF5aHVyc3QvcmVtb3ZlLWFwcC1tZW51LWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiUmVtb3ZlQXBwTWVudUBEcmFnb244b3kuY29tIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "40": {"version": "6", "sha256": "0373ghnm1r0f4igxqj3bgsl41gil2c5xzbcqjgiym7qmbsi8rf7n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSB0aGUgYXBwbGljYXRpb24gbWVudSBmcm9tIHRoZSB0b3AgYmFyIiwKICAibmFtZSI6ICJSZW1vdmUgQXBwIE1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3R1YXJ0aGF5aHVyc3QvcmVtb3ZlLWFwcC1tZW51LWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiUmVtb3ZlQXBwTWVudUBEcmFnb244b3kuY29tIiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
+, {"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": "7", "sha256": "0zg6znwpz57pv5nz4iw5s8w6l7rc3c11cmga71fgbfx0w83rnmf0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSB0aGUgYXBwbGljYXRpb24gbWVudSBmcm9tIHRoZSB0b3AgYmFyIiwKICAibmFtZSI6ICJSZW1vdmUgQXBwIE1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3R1YXJ0aGF5aHVyc3QvcmVtb3ZlLWFwcC1tZW51LWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiUmVtb3ZlQXBwTWVudUBEcmFnb244b3kuY29tIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "40": {"version": "7", "sha256": "0zg6znwpz57pv5nz4iw5s8w6l7rc3c11cmga71fgbfx0w83rnmf0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSB0aGUgYXBwbGljYXRpb24gbWVudSBmcm9tIHRoZSB0b3AgYmFyIiwKICAibmFtZSI6ICJSZW1vdmUgQXBwIE1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3R1YXJ0aGF5aHVyc3QvcmVtb3ZlLWFwcC1tZW51LWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiUmVtb3ZlQXBwTWVudUBEcmFnb244b3kuY29tIiwKICAidmVyc2lvbiI6IDcKfQ=="}}}
 , {"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": "3", "sha256": "1a6qkxm0s9cd8brha1zdpmrilv32h8bfkx0gnyx1zzxprmw04nmp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxldCBpdCBzbm93IiwKICAibmFtZSI6ICJTbm93IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInNub3dAZW5kbGVzc29zLm9yZyIsCiAgInZlcnNpb24iOiAzCn0="}}}
 , {"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"}}}
@@ -346,105 +377,153 @@
 , {"uuid": "autoselectheadset@josephlbarnett.github.com", "name": "Auto select headset", "pname": "auto-select-headset", "description": "Auto selects headsets when possible instead of showing a dialog", "link": "https://extensions.gnome.org/extension/3928/auto-select-headset/", "shell_version_map": {"38": {"version": "3", "sha256": "097q3xgkm5g75vjy76v9y8q7n5jb1wvxv2ffvj1f0nk0ag7y909d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG8gc2VsZWN0cyBoZWFkc2V0cyB3aGVuIHBvc3NpYmxlIGluc3RlYWQgb2Ygc2hvd2luZyBhIGRpYWxvZyIsCiAgIm5hbWUiOiAiQXV0byBzZWxlY3QgaGVhZHNldCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9qb3NlcGhsYmFybmV0dC9hdXRvc2VsZWN0aGVhZHNldC1nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogImF1dG9zZWxlY3RoZWFkc2V0QGpvc2VwaGxiYXJuZXR0LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "3", "sha256": "097q3xgkm5g75vjy76v9y8q7n5jb1wvxv2ffvj1f0nk0ag7y909d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG8gc2VsZWN0cyBoZWFkc2V0cyB3aGVuIHBvc3NpYmxlIGluc3RlYWQgb2Ygc2hvd2luZyBhIGRpYWxvZyIsCiAgIm5hbWUiOiAiQXV0byBzZWxlY3QgaGVhZHNldCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9qb3NlcGhsYmFybmV0dC9hdXRvc2VsZWN0aGVhZHNldC1nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogImF1dG9zZWxlY3RoZWFkc2V0QGpvc2VwaGxiYXJuZXR0LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}}}
 , {"uuid": "toggle-night-light@cansozbir.github.io", "name": "Toggle Night Light", "pname": "toggle-night-light", "description": "This extension lets you toggle night-light from the top-bar by clicking it.", "link": "https://extensions.gnome.org/extension/3933/toggle-night-light/", "shell_version_map": {"38": {"version": "3", "sha256": "1shlfdmwnz6cxivhcd8gijhrnlcdyk1l9ypj8xx14lpzwzx50c5g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGxldHMgeW91IHRvZ2dsZSBuaWdodC1saWdodCBmcm9tIHRoZSB0b3AtYmFyIGJ5IGNsaWNraW5nIGl0LiIsCiAgIm5hbWUiOiAiVG9nZ2xlIE5pZ2h0IExpZ2h0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NhbnNvemJpci9nbm9tZS1zaGVsbC10b2dnbGUtbmlnaHQtbGlnaHQtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJ0b2dnbGUtbmlnaHQtbGlnaHRAY2Fuc296YmlyLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAzCn0="}, "40": {"version": "3", "sha256": "1shlfdmwnz6cxivhcd8gijhrnlcdyk1l9ypj8xx14lpzwzx50c5g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGxldHMgeW91IHRvZ2dsZSBuaWdodC1saWdodCBmcm9tIHRoZSB0b3AtYmFyIGJ5IGNsaWNraW5nIGl0LiIsCiAgIm5hbWUiOiAiVG9nZ2xlIE5pZ2h0IExpZ2h0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NhbnNvemJpci9nbm9tZS1zaGVsbC10b2dnbGUtbmlnaHQtbGlnaHQtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJ0b2dnbGUtbmlnaHQtbGlnaHRAY2Fuc296YmlyLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAzCn0="}}}
 , {"uuid": "adwaita-theme-switcher@fthx", "name": "Adwaita Theme Switcher", "pname": "adwaita-theme-switcher", "description": "Button in panel: switch between Adwaita dark and light themes.", "link": "https://extensions.gnome.org/extension/3936/adwaita-theme-switcher/", "shell_version_map": {"38": {"version": "2", "sha256": "1rdmyf8wr3f1kizsirpjs61bdll507knls50c5ximjq14mk92b3q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJ1dHRvbiBpbiBwYW5lbDogc3dpdGNoIGJldHdlZW4gQWR3YWl0YSBkYXJrIGFuZCBsaWdodCB0aGVtZXMuIiwKICAibmFtZSI6ICJBZHdhaXRhIFRoZW1lIFN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvYWR3YWl0YS10aGVtZS1zd2l0Y2hlciIsCiAgInV1aWQiOiAiYWR3YWl0YS10aGVtZS1zd2l0Y2hlckBmdGh4IiwKICAidmVyc2lvbiI6IDIKfQ=="}, "40": {"version": "2", "sha256": "1rdmyf8wr3f1kizsirpjs61bdll507knls50c5ximjq14mk92b3q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJ1dHRvbiBpbiBwYW5lbDogc3dpdGNoIGJldHdlZW4gQWR3YWl0YSBkYXJrIGFuZCBsaWdodCB0aGVtZXMuIiwKICAibmFtZSI6ICJBZHdhaXRhIFRoZW1lIFN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvYWR3YWl0YS10aGVtZS1zd2l0Y2hlciIsCiAgInV1aWQiOiAiYWR3YWl0YS10aGVtZS1zd2l0Y2hlckBmdGh4IiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
-, {"uuid": "fnlock-switch-tp-comp-usb-kb@goloshubov.github.io", "name": "FnLock switch (ThinkPad Compact USB Keyboard)", "pname": "fnlock-switch-thinkpad-compact-usb-keyboard", "description": "FnLock switch for Lenovo ThinkPad Compact USB Keyboard ", "link": "https://extensions.gnome.org/extension/3939/fnlock-switch-thinkpad-compact-usb-keyboard/", "shell_version_map": {"38": {"version": "2", "sha256": "063sr180ppam2q43ky19xc9lizqk7vbkn9gkcl5krhjcr5c0arrm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZuTG9jayBzd2l0Y2ggZm9yIExlbm92byBUaGlua1BhZCBDb21wYWN0IFVTQiBLZXlib2FyZCAiLAogICJuYW1lIjogIkZuTG9jayBzd2l0Y2ggKFRoaW5rUGFkIENvbXBhY3QgVVNCIEtleWJvYXJkKSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dvbG9zaHVib3YvZm5sb2NrLXN3aXRjaC10cC1jb21wLXVzYi1rYiIsCiAgInV1aWQiOiAiZm5sb2NrLXN3aXRjaC10cC1jb21wLXVzYi1rYkBnb2xvc2h1Ym92LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAyCn0="}}}
+, {"uuid": "fnlock-switch-tp-comp-usb-kb@goloshubov.github.io", "name": "FnLock switch (ThinkPad Compact USB Keyboard) ", "pname": "fnlock-switch-thinkpad-compact-usb-keyboard", "description": "FnLock switch for Lenovo ThinkPad Compact USB Keyboard ", "link": "https://extensions.gnome.org/extension/3939/fnlock-switch-thinkpad-compact-usb-keyboard/", "shell_version_map": {"38": {"version": "3", "sha256": "09a0i4zdf98j5cr7c8x79sk8yf2n35skkkz3chi6cc7q3va9ylg8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZuTG9jayBzd2l0Y2ggZm9yIExlbm92byBUaGlua1BhZCBDb21wYWN0IFVTQiBLZXlib2FyZCAiLAogICJuYW1lIjogIkZuTG9jayBzd2l0Y2ggKFRoaW5rUGFkIENvbXBhY3QgVVNCIEtleWJvYXJkKSAiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ29sb3NodWJvdi9mbmxvY2stc3dpdGNoLXRwLWNvbXAtdXNiLWtiIiwKICAidXVpZCI6ICJmbmxvY2stc3dpdGNoLXRwLWNvbXAtdXNiLWtiQGdvbG9zaHVib3YuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDMKfQ=="}, "40": {"version": "3", "sha256": "09a0i4zdf98j5cr7c8x79sk8yf2n35skkkz3chi6cc7q3va9ylg8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZuTG9jayBzd2l0Y2ggZm9yIExlbm92byBUaGlua1BhZCBDb21wYWN0IFVTQiBLZXlib2FyZCAiLAogICJuYW1lIjogIkZuTG9jayBzd2l0Y2ggKFRoaW5rUGFkIENvbXBhY3QgVVNCIEtleWJvYXJkKSAiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ29sb3NodWJvdi9mbmxvY2stc3dpdGNoLXRwLWNvbXAtdXNiLWtiIiwKICAidXVpZCI6ICJmbmxvY2stc3dpdGNoLXRwLWNvbXAtdXNiLWtiQGdvbG9zaHVib3YuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
 , {"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:\nhttps://github.com/axxapy/gnome-alacritty-toggle", "link": "https://extensions.gnome.org/extension/3942/toggle-alacritty/", "shell_version_map": {"38": {"version": "2", "sha256": "1y3f5cypx78f29pb1acq9ql42j8r20ikd4cl5bbxsmmvzzdrf3ri", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZXMgQWxhY3JpdHR5IHdpbmRvdyB2aWEgaG90a2V5OiBBbHQrelxuXG5JZiBBbGFjcml0dHkgaXMgbm90IGxhdW5jaGVkLCBhdHRlbXB0cyB0byBzdGFydCBpdCAoL3Vzci9iaW4vYWxhY3JpdHR5KVxuXG5Xb3JrcyB1bmRlciBib3RoIFdheWxhbmQgYW5kIFgxMVxuXG5UbyBjaGFuZ2UgaG90a2V5IHBsZWFzZSBmb2xsb3cgaW5zdHJ1Y3Rpb24gaW4gdGhlIFJFQURNRS5tZDpcbmh0dHBzOi8vZ2l0aHViLmNvbS9heHhhcHkvZ25vbWUtYWxhY3JpdHR5LXRvZ2dsZSIsCiAgIm5hbWUiOiAiVG9nZ2xlIEFsYWNyaXR0eSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50b2dnbGUtYWxhY3JpdHR5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ0b2dnbGUtYWxhY3JpdHR5QGl0c3RpbWUudGVjaCIsCiAgInZlcnNpb24iOiAyCn0="}, "40": {"version": "2", "sha256": "1y3f5cypx78f29pb1acq9ql42j8r20ikd4cl5bbxsmmvzzdrf3ri", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZXMgQWxhY3JpdHR5IHdpbmRvdyB2aWEgaG90a2V5OiBBbHQrelxuXG5JZiBBbGFjcml0dHkgaXMgbm90IGxhdW5jaGVkLCBhdHRlbXB0cyB0byBzdGFydCBpdCAoL3Vzci9iaW4vYWxhY3JpdHR5KVxuXG5Xb3JrcyB1bmRlciBib3RoIFdheWxhbmQgYW5kIFgxMVxuXG5UbyBjaGFuZ2UgaG90a2V5IHBsZWFzZSBmb2xsb3cgaW5zdHJ1Y3Rpb24gaW4gdGhlIFJFQURNRS5tZDpcbmh0dHBzOi8vZ2l0aHViLmNvbS9heHhhcHkvZ25vbWUtYWxhY3JpdHR5LXRvZ2dsZSIsCiAgIm5hbWUiOiAiVG9nZ2xlIEFsYWNyaXR0eSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50b2dnbGUtYWxhY3JpdHR5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ0b2dnbGUtYWxhY3JpdHR5QGl0c3RpbWUudGVjaCIsCiAgInZlcnNpb24iOiAyCn0="}}}
-, {"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.", "link": "https://extensions.gnome.org/extension/3948/hide-panel/", "shell_version_map": {"38": {"version": "6", "sha256": "0rf8bixqmh3l76lk1n2ac00kxnbviinfqhm08xkdf3hxf7aym9hc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgdG9wIHBhbmVsIGV4Y2VwdCBpbiBvdmVydmlldy4gU3dpdGNoIGJ1dHRvbiBpbiBwYW5lbC5cblxuVmVyeSB2ZXJ5IGxpZ2h0IGV4dGVuc2lvbi4iLAogICJuYW1lIjogIkhpZGUgUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwLjAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L2hpZGUtcGFuZWwiLAogICJ1dWlkIjogImhpZGUtcGFuZWxAZnRoeCIsCiAgInZlcnNpb24iOiA2Cn0="}, "40": {"version": "6", "sha256": "0rf8bixqmh3l76lk1n2ac00kxnbviinfqhm08xkdf3hxf7aym9hc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgdG9wIHBhbmVsIGV4Y2VwdCBpbiBvdmVydmlldy4gU3dpdGNoIGJ1dHRvbiBpbiBwYW5lbC5cblxuVmVyeSB2ZXJ5IGxpZ2h0IGV4dGVuc2lvbi4iLAogICJuYW1lIjogIkhpZGUgUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwLjAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L2hpZGUtcGFuZWwiLAogICJ1dWlkIjogImhpZGUtcGFuZWxAZnRoeCIsCiAgInZlcnNpb24iOiA2Cn0="}}}
-, {"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. Please ask for another email client if needed.", "link": "https://extensions.gnome.org/extension/3951/persistent-email-notifications/", "shell_version_map": {"38": {"version": "2", "sha256": "0hz7kqpx5msld9jjp2d37yj5b58zblr8iichas4ynsd811z523li", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5ldmVyIGhpZGUgYSBuZXcgbWFpbCBub3RpZmljYXRpb24sIGV4Y2VwdCBpZiB5b3UgY2xvc2UgaXQuXG5cblZlcnkgdmVyeSBsaWdodCBleHRlbnNpb24uIEVtYWlsIGNsaWVudHMgc3VwcG9ydGVkOiBUaHVuZGVyYmlyZCwgRXZvbHV0aW9uLCBHZWFyeSwgTWFpbHNwcmluZywgVHlwZUFwcC4gUGxlYXNlIGFzayBmb3IgYW5vdGhlciBlbWFpbCBjbGllbnQgaWYgbmVlZGVkLiIsCiAgIm5hbWUiOiAiUGVyc2lzdGVudCBFbWFpbCBOb3RpZmljYXRpb25zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvcGVyc2lzdGVudC1lbWFpbC1ub3RpZmljYXRpb25zIiwKICAidXVpZCI6ICJwZXJzaXN0ZW50LWVtYWlsLW5vdGlmaWNhdGlvbnNAZnRoeCIsCiAgInZlcnNpb24iOiAyCn0="}, "40": {"version": "2", "sha256": "0hz7kqpx5msld9jjp2d37yj5b58zblr8iichas4ynsd811z523li", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5ldmVyIGhpZGUgYSBuZXcgbWFpbCBub3RpZmljYXRpb24sIGV4Y2VwdCBpZiB5b3UgY2xvc2UgaXQuXG5cblZlcnkgdmVyeSBsaWdodCBleHRlbnNpb24uIEVtYWlsIGNsaWVudHMgc3VwcG9ydGVkOiBUaHVuZGVyYmlyZCwgRXZvbHV0aW9uLCBHZWFyeSwgTWFpbHNwcmluZywgVHlwZUFwcC4gUGxlYXNlIGFzayBmb3IgYW5vdGhlciBlbWFpbCBjbGllbnQgaWYgbmVlZGVkLiIsCiAgIm5hbWUiOiAiUGVyc2lzdGVudCBFbWFpbCBOb3RpZmljYXRpb25zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvcGVyc2lzdGVudC1lbWFpbC1ub3RpZmljYXRpb25zIiwKICAidXVpZCI6ICJwZXJzaXN0ZW50LWVtYWlsLW5vdGlmaWNhdGlvbnNAZnRoeCIsCiAgInZlcnNpb24iOiAyCn0="}}}
+, {"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\nPay attention:\n1) there could be an error with the extension after install or update. The solution is to logout and login again.\n2) there could be an error if you have another extension with the same name \"workspace indicator\" already installed. The solution is to remove the old one.", "link": "https://extensions.gnome.org/extension/3952/workspace-indicator/", "shell_version_map": {"38": {"version": "7", "sha256": "1hkpa86vfzdcy9plvggaa1vd4mkjsi6i71bfj5p2bblqh5h1dqrp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSBpbmRpY2F0b3Igc2hvd3MgdGhlIGFtb3VudCBvZiBvcGVuZWQgd29ya3NwYWNlcyBhbmQgaGlnaGxpZ2h0cyB0aGUgY3VycmVudCBvbmUgdXNpbmcgdW5pY29kZSBjaGFyYWN0ZXJzLlxuXG5Zb3UgY2FuIHVzZSBpdCBhcyBhbiBpbmRpY2F0b3Igb25seSBidXQgd2lkZ2V0IGlzIGNsaWNrYWJsZS4gTGVmdCBidXR0b24gY2xpY2s6IG1vdmUgdG8gbGVmdCwgcmlnaHQgY2xpY2s6IG1vdmUgcmlnaHQuXG5cblBheSBhdHRlbnRpb246XG4xKSB0aGVyZSBjb3VsZCBiZSBhbiBlcnJvciB3aXRoIHRoZSBleHRlbnNpb24gYWZ0ZXIgaW5zdGFsbCBvciB1cGRhdGUuIFRoZSBzb2x1dGlvbiBpcyB0byBsb2dvdXQgYW5kIGxvZ2luIGFnYWluLlxuMikgdGhlcmUgY291bGQgYmUgYW4gZXJyb3IgaWYgeW91IGhhdmUgYW5vdGhlciBleHRlbnNpb24gd2l0aCB0aGUgc2FtZSBuYW1lIFwid29ya3NwYWNlIGluZGljYXRvclwiIGFscmVhZHkgaW5zdGFsbGVkLiBUaGUgc29sdXRpb24gaXMgdG8gcmVtb3ZlIHRoZSBvbGQgb25lLiIsCiAgIm5hbWUiOiAiV29ya3NwYWNlIGluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAuMCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90dHkyL2hvcml6b250YWwtd29ya3NwYWNlLWluZGljYXRvciIsCiAgInV1aWQiOiAiaG9yaXpvbnRhbC13b3Jrc3BhY2UtaW5kaWNhdG9yQHR0eTIuaW8iLAogICJ2ZXJzaW9uIjogNwp9"}, "40": {"version": "7", "sha256": "1hkpa86vfzdcy9plvggaa1vd4mkjsi6i71bfj5p2bblqh5h1dqrp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSBpbmRpY2F0b3Igc2hvd3MgdGhlIGFtb3VudCBvZiBvcGVuZWQgd29ya3NwYWNlcyBhbmQgaGlnaGxpZ2h0cyB0aGUgY3VycmVudCBvbmUgdXNpbmcgdW5pY29kZSBjaGFyYWN0ZXJzLlxuXG5Zb3UgY2FuIHVzZSBpdCBhcyBhbiBpbmRpY2F0b3Igb25seSBidXQgd2lkZ2V0IGlzIGNsaWNrYWJsZS4gTGVmdCBidXR0b24gY2xpY2s6IG1vdmUgdG8gbGVmdCwgcmlnaHQgY2xpY2s6IG1vdmUgcmlnaHQuXG5cblBheSBhdHRlbnRpb246XG4xKSB0aGVyZSBjb3VsZCBiZSBhbiBlcnJvciB3aXRoIHRoZSBleHRlbnNpb24gYWZ0ZXIgaW5zdGFsbCBvciB1cGRhdGUuIFRoZSBzb2x1dGlvbiBpcyB0byBsb2dvdXQgYW5kIGxvZ2luIGFnYWluLlxuMikgdGhlcmUgY291bGQgYmUgYW4gZXJyb3IgaWYgeW91IGhhdmUgYW5vdGhlciBleHRlbnNpb24gd2l0aCB0aGUgc2FtZSBuYW1lIFwid29ya3NwYWNlIGluZGljYXRvclwiIGFscmVhZHkgaW5zdGFsbGVkLiBUaGUgc29sdXRpb24gaXMgdG8gcmVtb3ZlIHRoZSBvbGQgb25lLiIsCiAgIm5hbWUiOiAiV29ya3NwYWNlIGluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAuMCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90dHkyL2hvcml6b250YWwtd29ya3NwYWNlLWluZGljYXRvciIsCiAgInV1aWQiOiAiaG9yaXpvbnRhbC13b3Jrc3BhY2UtaW5kaWNhdG9yQHR0eTIuaW8iLAogICJ2ZXJzaW9uIjogNwp9"}}}
-, {"uuid": "kitchentimer@blackjackshellac.ca", "name": "Kitchen Timer", "pname": "kitchen-timer", "description": "General purpose timer extension for Gnome Shell\n\nPlease report issues on github\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": "1i16v51jc09al8ggmajk8m7w4nvlynr60c8f7fvwj039baq5fr9h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdlbmVyYWwgcHVycG9zZSB0aW1lciBleHRlbnNpb24gZm9yIEdub21lIFNoZWxsXG5cblBsZWFzZSByZXBvcnQgaXNzdWVzIG9uIGdpdGh1YlxuSWYgdXBkYXRpbmcgdGhlIGV4dGVuc2lvbiByZXBvcnRzIGFuIEVSUk9SLCBpdCBzaG91bGQgd29yayBhZnRlciB0aGUgbmV4dCByZWJvb3Qgb3IgaWYgeW91IGxvZ291dCBhbmQgbG9naW4gYWdhaW4uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAia2l0Y2hlbi10aW1lci1ibGFja2phY2tzaGVsbGFjIiwKICAibmFtZSI6ICJLaXRjaGVuIFRpbWVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmtpdGNoZW4tdGltZXItYmxhY2tqYWNrc2hlbGxhYyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ibGFja2phY2tzaGVsbGFjL2tpdGNoZW5UaW1lciIsCiAgInV1aWQiOiAia2l0Y2hlbnRpbWVyQGJsYWNramFja3NoZWxsYWMuY2EiLAogICJ2ZXJzaW9uIjogMjgKfQ=="}, "40": {"version": "28", "sha256": "1i16v51jc09al8ggmajk8m7w4nvlynr60c8f7fvwj039baq5fr9h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdlbmVyYWwgcHVycG9zZSB0aW1lciBleHRlbnNpb24gZm9yIEdub21lIFNoZWxsXG5cblBsZWFzZSByZXBvcnQgaXNzdWVzIG9uIGdpdGh1YlxuSWYgdXBkYXRpbmcgdGhlIGV4dGVuc2lvbiByZXBvcnRzIGFuIEVSUk9SLCBpdCBzaG91bGQgd29yayBhZnRlciB0aGUgbmV4dCByZWJvb3Qgb3IgaWYgeW91IGxvZ291dCBhbmQgbG9naW4gYWdhaW4uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAia2l0Y2hlbi10aW1lci1ibGFja2phY2tzaGVsbGFjIiwKICAibmFtZSI6ICJLaXRjaGVuIFRpbWVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmtpdGNoZW4tdGltZXItYmxhY2tqYWNrc2hlbGxhYyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ibGFja2phY2tzaGVsbGFjL2tpdGNoZW5UaW1lciIsCiAgInV1aWQiOiAia2l0Y2hlbnRpbWVyQGJsYWNramFja3NoZWxsYWMuY2EiLAogICJ2ZXJzaW9uIjogMjgKfQ=="}}}
-, {"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": "2", "sha256": "0lsjcgj4jpjzgindssw9bkmvvg22l4dshqn4h41vnbm229zhvlgx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJDemFybGllIDxsZWVlNDlAZ21haWwuY29tPiIsCiAgImF1dGhvci1odG1sIjogIkN6YXJsaWUgJmx0OzxhIGhyZWY9XCJtYWlsdG86bGVlZTQ5Ljd4N0BnbWFpbC5jb21cIj5sZWVlNDkuN3g3QGdtYWlsLmNvbTwvYT4mZ3Q7IiwKICAiZGVzY3JpcHRpb24iOiAiRnV6enkgYXBwbGljYXRpb24gc2VhcmNoIHJlc3VsdHMgZm9yIEdub21lIFNlYXJjaCIsCiAgImRlc2NyaXB0aW9uLWh0bWwiOiAiPGEgaHJlZj1cImh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0FwcHJveGltYXRlX3N0cmluZ19tYXRjaGluZ1wiPkZ1enp5PC9hPiBhcHBsaWNhdGlvbiBzZWFyY2ggcmVzdWx0cyBmb3IgPGEgaHJlZj1cImh0dHBzOi8vZGV2ZWxvcGVyLmdub21lLm9yZy9TZWFyY2hQcm92aWRlci9cIj5Hbm9tZSBTZWFyY2g8L2E+LiIsCiAgImVtYWlsIjogImxlZWU0OS43eDdAZ21haWwuY29tIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtZnV6enktYXBwLXNlYXJjaCIsCiAgImxpY2Vuc2UiOiAiR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjMuMCIsCiAgImxpY2Vuc2UtaHRtbCI6ICJUaGlzIHByb2dyYW0gY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLlxuU2VlIHRoZSA8YSBocmVmPVwiaHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLmh0bWxcIj5HTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2My4wPC9hPiBmb3IgZGV0YWlscy4iLAogICJuYW1lIjogIkdOT01FIEZ1enp5IEFwcCBTZWFyY2giLAogICJvcmlnaW5hbC1hdXRob3IiOiAiRnJhbmpvIEZpbG8gPGZmZmlsbzY2NkBnbWFpbC5jb20+IiwKICAib3JpZ2luYWwtYXV0aG9yLWh0bWwiOiAiRnJhbmpvIEZpbG8gJmx0OzxhIGhyZWY9XCJtYWlsdG86ZmZmaWxvNjY2QGdtYWlsLmNvbVwiPmZmZmlsbzY2NkBnbWFpbC5jb208L2E+Jmd0OyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nbm9tZS1mdXp6eS1hcHAtc2VhcmNoIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjIxLjIiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9DemFybGllL2dub21lLWZ1enp5LWFwcC1zZWFyY2giLAogICJ1dWlkIjogImdub21lLWZ1enp5LWFwcC1zZWFyY2hAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5DemFybGllLmdpdGxhYi5jb20iLAogICJ2ZXJzaW9uIjogMgp9"}}}
-, {"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\n Features:\n* Switch Shell, GTK, icon, and cursor theme to light high contrast one\n* Disable animations\n\n Dependencies:\n* High Constrast theme for GTK and icon\n* DMZ-White cursor theme", "link": "https://extensions.gnome.org/extension/3957/e-ink-mode/", "shell_version_map": {"40": {"version": "2", "sha256": "02jnbp8pfz9hdlj11jjdsd55yg55si69f1hzjcq1qya2a20v2xqv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgZGVza3RvcCBzdWl0YWJsZSBmb3IgRSBJbmsgbW9uaXRvcnMuXG5cbiBGZWF0dXJlczpcbiogU3dpdGNoIFNoZWxsLCBHVEssIGljb24sIGFuZCBjdXJzb3IgdGhlbWUgdG8gbGlnaHQgaGlnaCBjb250cmFzdCBvbmVcbiogRGlzYWJsZSBhbmltYXRpb25zXG5cbiBEZXBlbmRlbmNpZXM6XG4qIEhpZ2ggQ29uc3RyYXN0IHRoZW1lIGZvciBHVEsgYW5kIGljb25cbiogRE1aLVdoaXRlIGN1cnNvciB0aGVtZSIsCiAgIm5hbWUiOiAiRSBJbmsgTW9kZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdWppbW8tdC9nbm9tZS1zaGVsbC1leHRlbnNpb24tZS1pbmstbW9kZSIsCiAgInV1aWQiOiAiZS1pbmstbW9kZUBmdWppbW8tdC5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMgp9"}}}
+, {"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": "3", "sha256": "0jxh2wcckwnijgabg9k7b7mi785j63pjkbjya4pbvnmiw4n4qbn0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJDemFybGllIDxsZWVlNDlAZ21haWwuY29tPiIsCiAgImF1dGhvci1odG1sIjogIkN6YXJsaWUgJmx0OzxhIGhyZWY9XCJtYWlsdG86bGVlZTQ5Ljd4N0BnbWFpbC5jb21cIj5sZWVlNDkuN3g3QGdtYWlsLmNvbTwvYT4mZ3Q7IiwKICAiZGVzY3JpcHRpb24iOiAiRnV6enkgYXBwbGljYXRpb24gc2VhcmNoIHJlc3VsdHMgZm9yIEdub21lIFNlYXJjaCIsCiAgImRlc2NyaXB0aW9uLWh0bWwiOiAiPGEgaHJlZj1cImh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0FwcHJveGltYXRlX3N0cmluZ19tYXRjaGluZ1wiPkZ1enp5PC9hPiBhcHBsaWNhdGlvbiBzZWFyY2ggcmVzdWx0cyBmb3IgPGEgaHJlZj1cImh0dHBzOi8vZGV2ZWxvcGVyLmdub21lLm9yZy9TZWFyY2hQcm92aWRlci9cIj5Hbm9tZSBTZWFyY2g8L2E+LiIsCiAgImVtYWlsIjogImxlZWU0OS43eDdAZ21haWwuY29tIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtZnV6enktYXBwLXNlYXJjaCIsCiAgImxpY2Vuc2UiOiAiR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjMuMCIsCiAgImxpY2Vuc2UtaHRtbCI6ICJUaGlzIHByb2dyYW0gY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLlxuU2VlIHRoZSA8YSBocmVmPVwiaHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLmh0bWxcIj5HTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2My4wPC9hPiBmb3IgZGV0YWlscy4iLAogICJuYW1lIjogIkdOT01FIEZ1enp5IEFwcCBTZWFyY2giLAogICJvcmlnaW5hbC1hdXRob3IiOiAiRnJhbmpvIEZpbG8gPGZmZmlsbzY2NkBnbWFpbC5jb20+IiwKICAib3JpZ2luYWwtYXV0aG9yLWh0bWwiOiAiRnJhbmpvIEZpbG8gJmx0OzxhIGhyZWY9XCJtYWlsdG86ZmZmaWxvNjY2QGdtYWlsLmNvbVwiPmZmZmlsbzY2NkBnbWFpbC5jb208L2E+Jmd0OyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nbm9tZS1mdXp6eS1hcHAtc2VhcmNoIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjIxLjIiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL0N6YXJsaWUvZ25vbWUtZnV6enktYXBwLXNlYXJjaCIsCiAgInV1aWQiOiAiZ25vbWUtZnV6enktYXBwLXNlYXJjaEBnbm9tZS1zaGVsbC1leHRlbnNpb25zLkN6YXJsaWUuZ2l0bGFiLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "40": {"version": "3", "sha256": "0jxh2wcckwnijgabg9k7b7mi785j63pjkbjya4pbvnmiw4n4qbn0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJDemFybGllIDxsZWVlNDlAZ21haWwuY29tPiIsCiAgImF1dGhvci1odG1sIjogIkN6YXJsaWUgJmx0OzxhIGhyZWY9XCJtYWlsdG86bGVlZTQ5Ljd4N0BnbWFpbC5jb21cIj5sZWVlNDkuN3g3QGdtYWlsLmNvbTwvYT4mZ3Q7IiwKICAiZGVzY3JpcHRpb24iOiAiRnV6enkgYXBwbGljYXRpb24gc2VhcmNoIHJlc3VsdHMgZm9yIEdub21lIFNlYXJjaCIsCiAgImRlc2NyaXB0aW9uLWh0bWwiOiAiPGEgaHJlZj1cImh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0FwcHJveGltYXRlX3N0cmluZ19tYXRjaGluZ1wiPkZ1enp5PC9hPiBhcHBsaWNhdGlvbiBzZWFyY2ggcmVzdWx0cyBmb3IgPGEgaHJlZj1cImh0dHBzOi8vZGV2ZWxvcGVyLmdub21lLm9yZy9TZWFyY2hQcm92aWRlci9cIj5Hbm9tZSBTZWFyY2g8L2E+LiIsCiAgImVtYWlsIjogImxlZWU0OS43eDdAZ21haWwuY29tIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtZnV6enktYXBwLXNlYXJjaCIsCiAgImxpY2Vuc2UiOiAiR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjMuMCIsCiAgImxpY2Vuc2UtaHRtbCI6ICJUaGlzIHByb2dyYW0gY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLlxuU2VlIHRoZSA8YSBocmVmPVwiaHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLmh0bWxcIj5HTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2My4wPC9hPiBmb3IgZGV0YWlscy4iLAogICJuYW1lIjogIkdOT01FIEZ1enp5IEFwcCBTZWFyY2giLAogICJvcmlnaW5hbC1hdXRob3IiOiAiRnJhbmpvIEZpbG8gPGZmZmlsbzY2NkBnbWFpbC5jb20+IiwKICAib3JpZ2luYWwtYXV0aG9yLWh0bWwiOiAiRnJhbmpvIEZpbG8gJmx0OzxhIGhyZWY9XCJtYWlsdG86ZmZmaWxvNjY2QGdtYWlsLmNvbVwiPmZmZmlsbzY2NkBnbWFpbC5jb208L2E+Jmd0OyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nbm9tZS1mdXp6eS1hcHAtc2VhcmNoIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjIxLjIiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL0N6YXJsaWUvZ25vbWUtZnV6enktYXBwLXNlYXJjaCIsCiAgInV1aWQiOiAiZ25vbWUtZnV6enktYXBwLXNlYXJjaEBnbm9tZS1zaGVsbC1leHRlbnNpb25zLkN6YXJsaWUuZ2l0bGFiLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}}}
+, {"uuid": "e-ink-mode@fujimo-t.github.io", "name": "E Ink Mode", "pname": "e-ink-mode", "description": "# GNOME Shell Extension: E Ink Mode\nMake desktop suitable for E Ink monitors.\n\n## Features\n* Switch Shell, GTK and icon theme to light high contrast one\n* Disable animations\n* Change background to white color\n\n## Dependencies\n* `High Constrast` theme for GTK and icon", "link": "https://extensions.gnome.org/extension/3957/e-ink-mode/", "shell_version_map": {"40": {"version": "3", "sha256": "1bzcv10c9wd2qga4z3swlyf0v0bv1s0j90vjxlmvylfr1nnbsjc9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiMgR05PTUUgU2hlbGwgRXh0ZW5zaW9uOiBFIEluayBNb2RlXG5NYWtlIGRlc2t0b3Agc3VpdGFibGUgZm9yIEUgSW5rIG1vbml0b3JzLlxuXG4jIyBGZWF0dXJlc1xuKiBTd2l0Y2ggU2hlbGwsIEdUSyBhbmQgaWNvbiB0aGVtZSB0byBsaWdodCBoaWdoIGNvbnRyYXN0IG9uZVxuKiBEaXNhYmxlIGFuaW1hdGlvbnNcbiogQ2hhbmdlIGJhY2tncm91bmQgdG8gd2hpdGUgY29sb3JcblxuIyMgRGVwZW5kZW5jaWVzXG4qIGBIaWdoIENvbnN0cmFzdGAgdGhlbWUgZm9yIEdUSyBhbmQgaWNvbiIsCiAgIm5hbWUiOiAiRSBJbmsgTW9kZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdWppbW8tdC9nbm9tZS1zaGVsbC1leHRlbnNpb24tZS1pbmstbW9kZSIsCiAgInV1aWQiOiAiZS1pbmstbW9kZUBmdWppbW8tdC5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMwp9"}}}
 , {"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": "5", "sha256": "09mym8h6lpb53b18c72vzl2y7myl1xg1lyg9jryf3nijna9adnr9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmsgb2Y6IGh0dHBzOi8vZ2l0aHViLmNvbS96aGFuZ2hhaS9nbm9tZS1zaGVsbC1leHRlbnNpb24tdHJhbnNwYXJlbnQtdG9wLWJhclxuXG5CcmluZyBiYWNrIHRoZSB0cmFuc3BhcmVudCB0b3AgYmFyIGluIEdOT01FIFNoZWxsIHdpdGggYWRqdXN0YWJsZSB0cmFuc3BhcmVuY3kuXG5cbkRvZXMgbm90IHdvcmsgd2VsbCB3aXRoIGN1c3RvbSBzaGVsbCB0aGVtZXMuIiwKICAibmFtZSI6ICJUcmFuc3BhcmVudCBUb3AgQmFyIChBZGp1c3RhYmxlIHRyYW5zcGFyZW5jeSkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbGFtYXJpb3MvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRyYW5zcGFyZW50LXRvcC1iYXIiLAogICJ1dWlkIjogInRyYW5zcGFyZW50LXRvcC1iYXJAZnRwaXguY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
 , {"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": "3", "sha256": "0ina2cslibhixaz9dw8gp53c8s0dkphdn0sa7yzig3624zbsy13k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNsaWdodGx5IGltcHJvdmVkIHdvcmtzcGFjZSBpbmRpY2F0b3IgdGhhdCBzaG93cyBib3RoIGN1cnJlbnQgYW5kIGluIHVzZSB3b3Jrc3BhY2VzIHNpbWlsYXIgdG8gaTMvc3dheSIsCiAgIm5hbWUiOiAiSW1wcm92ZWQgV29ya3NwYWNlIEluZGljYXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAibWljaGFlbGFxdWlsaW5hQGdtYWlsLmNvbSIKICBdLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWljaGFlbEFxdWlsaW5hL2ltcHJvdmVkLXdvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImltcHJvdmVkLXdvcmtzcGFjZS1pbmRpY2F0b3JAbWljaGFlbGFxdWlsaW5hLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAzCn0="}, "40": {"version": "3", "sha256": "0ina2cslibhixaz9dw8gp53c8s0dkphdn0sa7yzig3624zbsy13k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNsaWdodGx5IGltcHJvdmVkIHdvcmtzcGFjZSBpbmRpY2F0b3IgdGhhdCBzaG93cyBib3RoIGN1cnJlbnQgYW5kIGluIHVzZSB3b3Jrc3BhY2VzIHNpbWlsYXIgdG8gaTMvc3dheSIsCiAgIm5hbWUiOiAiSW1wcm92ZWQgV29ya3NwYWNlIEluZGljYXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAibWljaGFlbGFxdWlsaW5hQGdtYWlsLmNvbSIKICBdLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWljaGFlbEFxdWlsaW5hL2ltcHJvdmVkLXdvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImltcHJvdmVkLXdvcmtzcGFjZS1pbmRpY2F0b3JAbWljaGFlbGFxdWlsaW5hLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAzCn0="}}}
-, {"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": "0jpm8q47naxv5ld9yx6jjsnlm5snlqybilkmr8kvxq1an6pj36yw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkd1aWxsb3RpbmUgaXMgYSBnbm9tZSBleHRlbnNpb24gZGVzaWduZWQgZm9yIGVmZmljaWVudGx5IGNhcnJ5aW5nIG91dCBleGVjdXRpb25zIG9mIGNvbW1hbmRzIGZyb20gYSBjdXN0b21pemFibGUgbWVudS4gU2ltcGx5IHNwZWFraW5nOiBpdCBpcyBhIGhpZ2hseSBjdXN0b21pemFibGUgbWVudSB0aGF0IGVuYWJsZXMgeW91IHRvIGxhdW5jaCBjb21tYW5kcyBhbmQgdG9nZ2xlIHNlcnZpY2VzLiIsCiAgIm5hbWUiOiAiR3VpbGxvdGluZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ndWlsbG90aW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZW50ZTc2L2d1aWxsb3RpbmUvIiwKICAidXVpZCI6ICJndWlsbG90aW5lQGZvcGRvb2RsZS5uZXQiLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "5", "sha256": "12d35cdwwdsmmkhsb65xcqlkaisn0l0pl5b5x033c90v0jgd7k6i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkd1aWxsb3RpbmUgaXMgYSBnbm9tZSBleHRlbnNpb24gZGVzaWduZWQgZm9yIGVmZmljaWVudGx5IGNhcnJ5aW5nIG91dCBleGVjdXRpb25zIG9mIGNvbW1hbmRzIGZyb20gYSBjdXN0b21pemFibGUgbWVudS4gU2ltcGx5IHNwZWFraW5nOiBpdCBpcyBhIGhpZ2hseSBjdXN0b21pemFibGUgbWVudSB0aGF0IGVuYWJsZXMgeW91IHRvIGxhdW5jaCBjb21tYW5kcyBhbmQgdG9nZ2xlIHNlcnZpY2VzLiIsCiAgIm5hbWUiOiAiR3VpbGxvdGluZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ndWlsbG90aW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZW50ZTc2L2d1aWxsb3RpbmUvIiwKICAidXVpZCI6ICJndWlsbG90aW5lQGZvcGRvb2RsZS5uZXQiLAogICJ2ZXJzaW9uIjogNQp9"}}}
+, {"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": "0jpm8q47naxv5ld9yx6jjsnlm5snlqybilkmr8kvxq1an6pj36yw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkd1aWxsb3RpbmUgaXMgYSBnbm9tZSBleHRlbnNpb24gZGVzaWduZWQgZm9yIGVmZmljaWVudGx5IGNhcnJ5aW5nIG91dCBleGVjdXRpb25zIG9mIGNvbW1hbmRzIGZyb20gYSBjdXN0b21pemFibGUgbWVudS4gU2ltcGx5IHNwZWFraW5nOiBpdCBpcyBhIGhpZ2hseSBjdXN0b21pemFibGUgbWVudSB0aGF0IGVuYWJsZXMgeW91IHRvIGxhdW5jaCBjb21tYW5kcyBhbmQgdG9nZ2xlIHNlcnZpY2VzLiIsCiAgIm5hbWUiOiAiR3VpbGxvdGluZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ndWlsbG90aW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZW50ZTc2L2d1aWxsb3RpbmUvIiwKICAidXVpZCI6ICJndWlsbG90aW5lQGZvcGRvb2RsZS5uZXQiLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "6", "sha256": "06f3k0g96a29s5nrh5h1qk6inai65sf44i12bfsgdh33hrdfpayj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkd1aWxsb3RpbmUgaXMgYSBnbm9tZSBleHRlbnNpb24gZGVzaWduZWQgZm9yIGVmZmljaWVudGx5IGNhcnJ5aW5nIG91dCBleGVjdXRpb25zIG9mIGNvbW1hbmRzIGZyb20gYSBjdXN0b21pemFibGUgbWVudS4gU2ltcGx5IHNwZWFraW5nOiBpdCBpcyBhIGhpZ2hseSBjdXN0b21pemFibGUgbWVudSB0aGF0IGVuYWJsZXMgeW91IHRvIGxhdW5jaCBjb21tYW5kcyBhbmQgdG9nZ2xlIHNlcnZpY2VzLiIsCiAgIm5hbWUiOiAiR3VpbGxvdGluZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ndWlsbG90aW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VudGU3Ni9ndWlsbG90aW5lLyIsCiAgInV1aWQiOiAiZ3VpbGxvdGluZUBmb3Bkb29kbGUubmV0IiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
 , {"uuid": "extensions-in-system-menu@leleat-on-github", "name": "Extensions & Tweaks in system menu", "pname": "extensions-in-system-menu", "description": "No longer maintained. Starting with GNOME 40 'Tweaks-in-system-menu' also supports the extensions app. Please use that https://extensions.gnome.org/extension/1653/tweaks-in-system-menu/\n\n--------------------\n\nPut the Extensions and/or the Tweaks app into the system menu.", "link": "https://extensions.gnome.org/extension/3984/extensions-in-system-menu/", "shell_version_map": {"38": {"version": "6", "sha256": "0hdjgf4ancpj6lsqd6gf2lp7jf3zan16yrfap5g4hnbb72ihbpvc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5vIGxvbmdlciBtYWludGFpbmVkLiBTdGFydGluZyB3aXRoIEdOT01FIDQwICdUd2Vha3MtaW4tc3lzdGVtLW1lbnUnIGFsc28gc3VwcG9ydHMgdGhlIGV4dGVuc2lvbnMgYXBwLiBQbGVhc2UgdXNlIHRoYXQgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMTY1My90d2Vha3MtaW4tc3lzdGVtLW1lbnUvXG5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblB1dCB0aGUgRXh0ZW5zaW9ucyBhbmQvb3IgdGhlIFR3ZWFrcyBhcHAgaW50byB0aGUgc3lzdGVtIG1lbnUuIiwKICAibmFtZSI6ICJFeHRlbnNpb25zICYgVHdlYWtzIGluIHN5c3RlbSBtZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MC5iZXRhIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTGVsZWF0L2V4dGVuc2lvbnMtaW4tc3lzdGVtLW1lbnUiLAogICJ1dWlkIjogImV4dGVuc2lvbnMtaW4tc3lzdGVtLW1lbnVAbGVsZWF0LW9uLWdpdGh1YiIsCiAgInZlcnNpb24iOiA2Cn0="}, "40": {"version": "6", "sha256": "0hdjgf4ancpj6lsqd6gf2lp7jf3zan16yrfap5g4hnbb72ihbpvc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5vIGxvbmdlciBtYWludGFpbmVkLiBTdGFydGluZyB3aXRoIEdOT01FIDQwICdUd2Vha3MtaW4tc3lzdGVtLW1lbnUnIGFsc28gc3VwcG9ydHMgdGhlIGV4dGVuc2lvbnMgYXBwLiBQbGVhc2UgdXNlIHRoYXQgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMTY1My90d2Vha3MtaW4tc3lzdGVtLW1lbnUvXG5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblB1dCB0aGUgRXh0ZW5zaW9ucyBhbmQvb3IgdGhlIFR3ZWFrcyBhcHAgaW50byB0aGUgc3lzdGVtIG1lbnUuIiwKICAibmFtZSI6ICJFeHRlbnNpb25zICYgVHdlYWtzIGluIHN5c3RlbSBtZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MC5iZXRhIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTGVsZWF0L2V4dGVuc2lvbnMtaW4tc3lzdGVtLW1lbnUiLAogICJ1dWlkIjogImV4dGVuc2lvbnMtaW4tc3lzdGVtLW1lbnVAbGVsZWF0LW9uLWdpdGh1YiIsCiAgInZlcnNpb24iOiA2Cn0="}}}
-, {"uuid": "shuzhi@tuberry", "name": "Shu Zhi", "pname": "shu-zhi", "description": "A 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": "0fwncbkg7xpijydpwp3p8qx6czgvrxh7krasgjcsj4g35nh65i7k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgd2FsbHBhcGVyIGdlbmVyYXRpb24gZXh0ZW5zaW9uIGZvciBnbm9tZSBzaGVsbCwgaW5zcGlyZWQgYnkgSml6aGlcblxuRm9yIHN1cHBvcnQsIHBsZWFzZSByZXBvcnQgYW55IGlzc3VlcyB2aWEgdGhlIGhvbWVwYWdlIGxpbmsgYmVsb3cuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic2h1emhpIiwKICAibmFtZSI6ICJTaHUgWmhpIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNodXpoaSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R1YmVycnkvc2h1emhpIiwKICAidXVpZCI6ICJzaHV6aGlAdHViZXJyeSIsCiAgInZlcnNpb24iOiA3Cn0="}, "40": {"version": "11", "sha256": "02ny3dyshhw4m44d091lhqqdx0g2iciq5d7lcdqx9p3gwa5046d4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgd2FsbHBhcGVyIGdlbmVyYXRpb24gZXh0ZW5zaW9uIGZvciBnbm9tZSBzaGVsbCwgaW5zcGlyZWQgYnkgSml6aGlcblxuRm9yIHN1cHBvcnQsIHBsZWFzZSByZXBvcnQgYW55IGlzc3VlcyB2aWEgdGhlIGhvbWVwYWdlIGxpbmsgYmVsb3cuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic2h1emhpIiwKICAibmFtZSI6ICJTaHUgWmhpIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNodXpoaSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90dWJlcnJ5L3NodXpoaSIsCiAgInV1aWQiOiAic2h1emhpQHR1YmVycnkiLAogICJ2ZXJzaW9uIjogMTEKfQ=="}}}
+, {"uuid": "shuzhi@tuberry", "name": "Shu Zhi", "pname": "shu-zhi", "description": "A 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": "0fwncbkg7xpijydpwp3p8qx6czgvrxh7krasgjcsj4g35nh65i7k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgd2FsbHBhcGVyIGdlbmVyYXRpb24gZXh0ZW5zaW9uIGZvciBnbm9tZSBzaGVsbCwgaW5zcGlyZWQgYnkgSml6aGlcblxuRm9yIHN1cHBvcnQsIHBsZWFzZSByZXBvcnQgYW55IGlzc3VlcyB2aWEgdGhlIGhvbWVwYWdlIGxpbmsgYmVsb3cuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic2h1emhpIiwKICAibmFtZSI6ICJTaHUgWmhpIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNodXpoaSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R1YmVycnkvc2h1emhpIiwKICAidXVpZCI6ICJzaHV6aGlAdHViZXJyeSIsCiAgInZlcnNpb24iOiA3Cn0="}, "40": {"version": "14", "sha256": "0p8r5mln85sjc4vjsfmf7cbi3l4q70747wfqa5yn451idwajxvk3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgd2FsbHBhcGVyIGdlbmVyYXRpb24gZXh0ZW5zaW9uIGZvciBnbm9tZSBzaGVsbCwgaW5zcGlyZWQgYnkgSml6aGlcblxuRm9yIHN1cHBvcnQsIHBsZWFzZSByZXBvcnQgYW55IGlzc3VlcyB2aWEgdGhlIGhvbWVwYWdlIGxpbmsgYmVsb3cuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic2h1emhpIiwKICAibmFtZSI6ICJTaHUgWmhpIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNodXpoaSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90dWJlcnJ5L3NodXpoaSIsCiAgInV1aWQiOiAic2h1emhpQHR1YmVycnkiLAogICJ2ZXJzaW9uIjogMTQKfQ=="}}}
 , {"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": "1", "sha256": "09j017cpiimqi97rk2zp1bidrvf026dv469w80wiikbq67r22c9w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNvbW1pdCI6ICIzNzBiODIzYmQ5NTM4MDY4MThmMmYwNzhiNGNmZWYyODIzMmVjOTMwIiwKICAiZGVzY3JpcHRpb24iOiAiVHVybnMgb2ZmIG5vdGlmaWNhdGlvbnMgd2hpbGUgc2hhcmluZyBzY3JlZW4gZHVyaW5nIGEgWm9vbSBjYWxsIiwKICAibmFtZSI6ICJaaWxlbmNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXBhbmtvd3NraS96aWxlbmNlIiwKICAidXVpZCI6ICJ6aWxlbmNlQGFwYW5rb3dza2kuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxCn0="}}}
-, {"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": "11", "sha256": "0l5z65nkm75jrnqhvsahl8wg7cm5fphzwdahi16nrjs9hz05p2gg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJsdWV0b290aCBiYXR0ZXJ5IGluZGljYXRvciIsCiAgIm5hbWUiOiAiQmx1ZXRvb3RoIGJhdHRlcnkgaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWljaGFsVy9nbm9tZS1ibHVldG9vdGgtYmF0dGVyeS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImJsdWV0b290aC1iYXR0ZXJ5QG1pY2hhbHcuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMQp9"}}}
+, {"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": "14", "sha256": "1wwinhlg9yi9sr3kh0cpv10ck3cdjd9z4gwch9npfj79rmd7z1kl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJsdWV0b290aCBiYXR0ZXJ5IGluZGljYXRvciIsCiAgIm5hbWUiOiAiQmx1ZXRvb3RoIGJhdHRlcnkgaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01pY2hhbFcvZ25vbWUtYmx1ZXRvb3RoLWJhdHRlcnktaW5kaWNhdG9yIiwKICAidXVpZCI6ICJibHVldG9vdGgtYmF0dGVyeUBtaWNoYWx3LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "40": {"version": "14", "sha256": "1wwinhlg9yi9sr3kh0cpv10ck3cdjd9z4gwch9npfj79rmd7z1kl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJsdWV0b290aCBiYXR0ZXJ5IGluZGljYXRvciIsCiAgIm5hbWUiOiAiQmx1ZXRvb3RoIGJhdHRlcnkgaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01pY2hhbFcvZ25vbWUtYmx1ZXRvb3RoLWJhdHRlcnktaW5kaWNhdG9yIiwKICAidXVpZCI6ICJibHVldG9vdGgtYmF0dGVyeUBtaWNoYWx3LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}}}
 , {"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": "2", "sha256": "1vas3mvgmi28dc3lzghbwgp66p0daa1kc4m8ayr6dmc618ry2nj0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgSVAgYWRkcmVzc2VzIGZvciBMQU4sIFdBTiBJUHY2IGFuZCBWUE4gaW4gdGhlIEdOT01FIHBhbmVsLiBDbGljayBvbiB0aGUgYWRkcmVzcyB0byBjeWNsZSB0cm91Z2ggZGlmZmVyZW50IGludGVyZmFjZXMuIiwKICAibmFtZSI6ICJBbGwgSVAgQWRkcmVzc2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcGhhdmVrZXMvZ25vbWUtZXh0ZW5zaW9uLWFsbC1pcC1hZGRyZXNzZXMiLAogICJ1dWlkIjogImdub21lLWV4dGVuc2lvbi1hbGwtaXAtYWRkcmVzc2VzQGhhdmVrZXMuZXUiLAogICJ2ZXJzaW9uIjogMgp9"}}}
-, {"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": "2", "sha256": "1cdg8mzp29l1jv25cb5wdikriphbknrkfi3g2zi432js083wi8j7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNvbW1lbnQiOiAiQ3VzdG9taXplIHRoZSBhcHBsaWNhdGlvbiBncmlkIHZpZXcuIiwKICAiZGVzY3JpcHRpb24iOiAiQ3VzdG9taXplIHRoZSBhcHBsaWNhdGlvbiBncmlkIHZpZXcuXG5cblNldCB0aGUgcm93cywgY29sdW1ucyBhbmQgdGhlIGFwcCBpY29uIHNpemUgZm9yIGEgcGFydGljdWxhciBjb25maWd1cmF0aW9uIHRvIHdvcmsuXG5JZiB0aGUgc2NyZWVuIHNwYWNlIGlzIG91dCBudW1iZXJlZCwgcmVkdWNlIHRoZSBpY29uIHNpemUgdG8gZml0IGFsbCB0aGUgcm93cyBhbmQgY29sdW1ucy5cbk9yIHJlZHVjZSB0aGUgbnVtYmVyIG9mIHJvd3MgYW5kIGNvbHVtbnMuXG5cblByZXNzIHRoZSBSZWZyZXNoIGJ1dHRvbiBvbiB0aGUgbGVmdCBvZiBoZWFkZXIgYmFyIHRvIGFwcGx5IGNoYW5nZXMiLAogICJuYW1lIjogIkFwcCBHcmlkIFR3ZWFrcyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hcHAtZ3JpZC10d2Vha3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAic3RhdHVzIjogIiAiLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NlbGVuaXVtLUgvQXBwLUdyaWQtVHdlYWtzIiwKICAidXVpZCI6ICJhcHAtZ3JpZC10d2Vha3NAU2VsZW5pdW0tSCIsCiAgInZlcnNpb24iOiAyCn0="}}}
-, {"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": "54", "sha256": "058nbfv1libk6gjkdd7lr4imm225s25vp2ick5w0jwglszmc084x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRhc2sgYmFyLiBBcHAgZ3JpZCwgZmF2b3JpdGVzLCB3b3Jrc3BhY2VzIGFuZCB0YXNrcyBpbiBwYW5lbC4gTGlnaHQgZXh0ZW5zaW9uLlxuXG4gUmVwbGFjZSAnQWN0aXZpdGllcycgYnV0dG9uIGJ5IGFsbCBjdXJyZW50IHdvcmtzcGFjZXMgYW5kIGFwcHMgYnV0dG9ucy4gU3dpdGNoIHdvcmtzcGFjZS9hcHAgb3IgdG9nZ2xlIG92ZXJ2aWV3IGJ5IGNsaWNraW5nIG9uIHRoZXNlIGJ1dHRvbnMuIERyYWcgYW5kIGRyb3AgZmF2b3JpdGUsIHRhc2ssIGRhc2ggaXRlbSBvciBhcHAgZ3JpZCBpdGVtIHRvIGFueSB3b3Jrc3BhY2UgKHlvdSBjYW5ub3QgcmVvcmRlciB0YXNrcyBpbnNpZGUgYSB3b3Jrc3BhY2UpLiBQZXJzaXN0ZW50IHdpbmRvdyBwcmV2aWV3IHdpdGggcmlnaHQtY2xpY2sgKHJpZ2h0LWNsaWNrIGFnYWluIG9yIGNsaWNrIG9uIHByZXZpZXcgdG8gY2xvc2UgaXQpLiBZb3UgY2FuIG1vdmUgdGhpcyBwcmV2aWV3IGFueXdoZXJlLiBDaGFuZ2UgJ1BsYWNlcycgbGFiZWwgdG8gYW4gaWNvbi4gU2V0dGluZ3MgaW4gcHJlZmVyZW5jZXMgVUkuXG5cbiBZb3UgY2FuIHVzZSBuYW1lcyBmb3Igd29ya3NwYWNlczogdGhlcmUgYXJlIHR3byB3YXlzIGZvciB0aGF0LiAxKSBFZGl0IHRoZSBzdHJpbmcgYXJyYXkgJ29yZy5nbm9tZS5kZXNrdG9wLndtLnByZWZlcmVuY2VzLndvcmtzcGFjZS1uYW1lcycgZ3NldHRpbmdzIGtleSAodGhyb3VnaCBkY29uZiBlZGl0b3IsIGUuZy4pLiAyKSBVc2Ugb2ZmaWNpYWwgR05PTUUgZXh0ZW5zaW9uIFdvcmtzcGFjZXMgSW5kaWNhdG9yJ3Mgc2V0dGluZ3MuIFlvdSBkb24ndCBoYXZlIHRvIHdyaXRlIGEgbG9uZyBlbm91Z2ggbGlzdDogbnVtYmVycyBhcmUgZGlzcGxheWVkIGlmIG5vIHdvcmtzcGFjZSBuYW1lIGlzIGRlZmluZWQuXG5cbiBDaGFuZ2Vsb2c6IGh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L2JhYmFyL2lzc3Vlcy8yIiwKICAibmFtZSI6ICJCYUJhciBUYXNrIEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L2JhYmFyIiwKICAidXVpZCI6ICJiYWJhckBmdGh4IiwKICAidmVyc2lvbiI6IDU0Cn0="}, "40": {"version": "54", "sha256": "058nbfv1libk6gjkdd7lr4imm225s25vp2ick5w0jwglszmc084x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRhc2sgYmFyLiBBcHAgZ3JpZCwgZmF2b3JpdGVzLCB3b3Jrc3BhY2VzIGFuZCB0YXNrcyBpbiBwYW5lbC4gTGlnaHQgZXh0ZW5zaW9uLlxuXG4gUmVwbGFjZSAnQWN0aXZpdGllcycgYnV0dG9uIGJ5IGFsbCBjdXJyZW50IHdvcmtzcGFjZXMgYW5kIGFwcHMgYnV0dG9ucy4gU3dpdGNoIHdvcmtzcGFjZS9hcHAgb3IgdG9nZ2xlIG92ZXJ2aWV3IGJ5IGNsaWNraW5nIG9uIHRoZXNlIGJ1dHRvbnMuIERyYWcgYW5kIGRyb3AgZmF2b3JpdGUsIHRhc2ssIGRhc2ggaXRlbSBvciBhcHAgZ3JpZCBpdGVtIHRvIGFueSB3b3Jrc3BhY2UgKHlvdSBjYW5ub3QgcmVvcmRlciB0YXNrcyBpbnNpZGUgYSB3b3Jrc3BhY2UpLiBQZXJzaXN0ZW50IHdpbmRvdyBwcmV2aWV3IHdpdGggcmlnaHQtY2xpY2sgKHJpZ2h0LWNsaWNrIGFnYWluIG9yIGNsaWNrIG9uIHByZXZpZXcgdG8gY2xvc2UgaXQpLiBZb3UgY2FuIG1vdmUgdGhpcyBwcmV2aWV3IGFueXdoZXJlLiBDaGFuZ2UgJ1BsYWNlcycgbGFiZWwgdG8gYW4gaWNvbi4gU2V0dGluZ3MgaW4gcHJlZmVyZW5jZXMgVUkuXG5cbiBZb3UgY2FuIHVzZSBuYW1lcyBmb3Igd29ya3NwYWNlczogdGhlcmUgYXJlIHR3byB3YXlzIGZvciB0aGF0LiAxKSBFZGl0IHRoZSBzdHJpbmcgYXJyYXkgJ29yZy5nbm9tZS5kZXNrdG9wLndtLnByZWZlcmVuY2VzLndvcmtzcGFjZS1uYW1lcycgZ3NldHRpbmdzIGtleSAodGhyb3VnaCBkY29uZiBlZGl0b3IsIGUuZy4pLiAyKSBVc2Ugb2ZmaWNpYWwgR05PTUUgZXh0ZW5zaW9uIFdvcmtzcGFjZXMgSW5kaWNhdG9yJ3Mgc2V0dGluZ3MuIFlvdSBkb24ndCBoYXZlIHRvIHdyaXRlIGEgbG9uZyBlbm91Z2ggbGlzdDogbnVtYmVycyBhcmUgZGlzcGxheWVkIGlmIG5vIHdvcmtzcGFjZSBuYW1lIGlzIGRlZmluZWQuXG5cbiBDaGFuZ2Vsb2c6IGh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L2JhYmFyL2lzc3Vlcy8yIiwKICAibmFtZSI6ICJCYUJhciBUYXNrIEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L2JhYmFyIiwKICAidXVpZCI6ICJiYWJhckBmdGh4IiwKICAidmVyc2lvbiI6IDU0Cn0="}}}
-, {"uuid": "kitsch@fopdoodle.net", "name": "Kitsch", "pname": "kitsch", "description": "Kitsch is a collection of cheap, popular, and marketable improvements to Gnome. One could consider it applying a cosmetic surgery to Gnome.\n\nKitsch can easily be configured and offers the following features:\n- remove application menu from the top bar\n- remove the activity button from the top bar\n- periodically change the background picture\n\nThis extension does not come with any button on the panel. Visit the website for a documentation.", "link": "https://extensions.gnome.org/extension/4001/kitsch/", "shell_version_map": {"38": {"version": "2", "sha256": "16zwz0p4f8zizr14k4jmdixgnjd0a67d0i3w6clrqgfl49cpdcdv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIktpdHNjaCBpcyBhIGNvbGxlY3Rpb24gb2YgY2hlYXAsIHBvcHVsYXIsIGFuZCBtYXJrZXRhYmxlIGltcHJvdmVtZW50cyB0byBHbm9tZS4gT25lIGNvdWxkIGNvbnNpZGVyIGl0IGFwcGx5aW5nIGEgY29zbWV0aWMgc3VyZ2VyeSB0byBHbm9tZS5cblxuS2l0c2NoIGNhbiBlYXNpbHkgYmUgY29uZmlndXJlZCBhbmQgb2ZmZXJzIHRoZSBmb2xsb3dpbmcgZmVhdHVyZXM6XG4tIHJlbW92ZSBhcHBsaWNhdGlvbiBtZW51IGZyb20gdGhlIHRvcCBiYXJcbi0gcmVtb3ZlIHRoZSBhY3Rpdml0eSBidXR0b24gZnJvbSB0aGUgdG9wIGJhclxuLSBwZXJpb2RpY2FsbHkgY2hhbmdlIHRoZSBiYWNrZ3JvdW5kIHBpY3R1cmVcblxuVGhpcyBleHRlbnNpb24gZG9lcyBub3QgY29tZSB3aXRoIGFueSBidXR0b24gb24gdGhlIHBhbmVsLiBWaXNpdCB0aGUgd2Vic2l0ZSBmb3IgYSBkb2N1bWVudGF0aW9uLiIsCiAgIm5hbWUiOiAiS2l0c2NoIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmtpdHNjaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VudGU3Ni9raXRzY2gvIiwKICAidXVpZCI6ICJraXRzY2hAZm9wZG9vZGxlLm5ldCIsCiAgInZlcnNpb24iOiAyCn0="}, "40": {"version": "3", "sha256": "18nbf68r84ynbf9j2664lgchvcrs275knik9xwbysc2a2b1h6i1x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIktpdHNjaCBpcyBhIGNvbGxlY3Rpb24gb2YgY2hlYXAsIHBvcHVsYXIsIGFuZCBtYXJrZXRhYmxlIGltcHJvdmVtZW50cyB0byBHbm9tZS4gT25lIGNvdWxkIGNvbnNpZGVyIGl0IGFwcGx5aW5nIGEgY29zbWV0aWMgc3VyZ2VyeSB0byBHbm9tZS5cblxuS2l0c2NoIGNhbiBlYXNpbHkgYmUgY29uZmlndXJlZCBhbmQgb2ZmZXJzIHRoZSBmb2xsb3dpbmcgZmVhdHVyZXM6XG4tIHJlbW92ZSBhcHBsaWNhdGlvbiBtZW51IGZyb20gdGhlIHRvcCBiYXJcbi0gcmVtb3ZlIHRoZSBhY3Rpdml0eSBidXR0b24gZnJvbSB0aGUgdG9wIGJhclxuLSBwZXJpb2RpY2FsbHkgY2hhbmdlIHRoZSBiYWNrZ3JvdW5kIHBpY3R1cmVcblxuVGhpcyBleHRlbnNpb24gZG9lcyBub3QgY29tZSB3aXRoIGFueSBidXR0b24gb24gdGhlIHBhbmVsLiBWaXNpdCB0aGUgd2Vic2l0ZSBmb3IgYSBkb2N1bWVudGF0aW9uLiIsCiAgIm5hbWUiOiAiS2l0c2NoIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmtpdHNjaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VudGU3Ni9raXRzY2gvIiwKICAidXVpZCI6ICJraXRzY2hAZm9wZG9vZGxlLm5ldCIsCiAgInZlcnNpb24iOiAzCn0="}}}
+, {"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\n\nIn case of any errors due to update, Please try resetting the extension.  Reset button is present in Extension Preferences window in Top Right Application Menu > Preferences > Reset App Grid Tweaks Extension.  ", "link": "https://extensions.gnome.org/extension/3997/app-grid-tweaks/", "shell_version_map": {"38": {"version": "3", "sha256": "1zszxj4d4vdahc369jsk1544f6zrjnilpxa4ihdfx6ci3rgc16p6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNvbW1lbnQiOiAiQ3VzdG9taXplIHRoZSBhcHBsaWNhdGlvbiBncmlkIHZpZXcuIiwKICAiZGVzY3JpcHRpb24iOiAiQ3VzdG9taXplIHRoZSBhcHBsaWNhdGlvbiBncmlkIHZpZXcuXG5cblNldCB0aGUgcm93cywgY29sdW1ucyBhbmQgdGhlIGFwcCBpY29uIHNpemUgZm9yIGEgcGFydGljdWxhciBjb25maWd1cmF0aW9uIHRvIHdvcmsuXG5JZiB0aGUgc2NyZWVuIHNwYWNlIGlzIG91dCBudW1iZXJlZCwgcmVkdWNlIHRoZSBpY29uIHNpemUgdG8gZml0IGFsbCB0aGUgcm93cyBhbmQgY29sdW1ucy5cbk9yIHJlZHVjZSB0aGUgbnVtYmVyIG9mIHJvd3MgYW5kIGNvbHVtbnMuXG5cblByZXNzIHRoZSBSZWZyZXNoIGJ1dHRvbiBvbiB0aGUgbGVmdCBvZiBoZWFkZXIgYmFyIHRvIGFwcGx5IGNoYW5nZXNcblxuSW4gY2FzZSBvZiBhbnkgZXJyb3JzIGR1ZSB0byB1cGRhdGUsIFBsZWFzZSB0cnkgcmVzZXR0aW5nIHRoZSBleHRlbnNpb24uICBSZXNldCBidXR0b24gaXMgcHJlc2VudCBpbiBFeHRlbnNpb24gUHJlZmVyZW5jZXMgd2luZG93IGluIFRvcCBSaWdodCBBcHBsaWNhdGlvbiBNZW51ID4gUHJlZmVyZW5jZXMgPiBSZXNldCBBcHAgR3JpZCBUd2Vha3MgRXh0ZW5zaW9uLiAgIiwKICAibmFtZSI6ICJBcHAgR3JpZCBUd2Vha3MiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXBwLWdyaWQtdHdlYWtzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJzdGF0dXMiOiAiIiwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TZWxlbml1bS1IL0FwcC1HcmlkLVR3ZWFrcyIsCiAgInV1aWQiOiAiYXBwLWdyaWQtdHdlYWtzQFNlbGVuaXVtLUgiLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "3", "sha256": "1zszxj4d4vdahc369jsk1544f6zrjnilpxa4ihdfx6ci3rgc16p6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNvbW1lbnQiOiAiQ3VzdG9taXplIHRoZSBhcHBsaWNhdGlvbiBncmlkIHZpZXcuIiwKICAiZGVzY3JpcHRpb24iOiAiQ3VzdG9taXplIHRoZSBhcHBsaWNhdGlvbiBncmlkIHZpZXcuXG5cblNldCB0aGUgcm93cywgY29sdW1ucyBhbmQgdGhlIGFwcCBpY29uIHNpemUgZm9yIGEgcGFydGljdWxhciBjb25maWd1cmF0aW9uIHRvIHdvcmsuXG5JZiB0aGUgc2NyZWVuIHNwYWNlIGlzIG91dCBudW1iZXJlZCwgcmVkdWNlIHRoZSBpY29uIHNpemUgdG8gZml0IGFsbCB0aGUgcm93cyBhbmQgY29sdW1ucy5cbk9yIHJlZHVjZSB0aGUgbnVtYmVyIG9mIHJvd3MgYW5kIGNvbHVtbnMuXG5cblByZXNzIHRoZSBSZWZyZXNoIGJ1dHRvbiBvbiB0aGUgbGVmdCBvZiBoZWFkZXIgYmFyIHRvIGFwcGx5IGNoYW5nZXNcblxuSW4gY2FzZSBvZiBhbnkgZXJyb3JzIGR1ZSB0byB1cGRhdGUsIFBsZWFzZSB0cnkgcmVzZXR0aW5nIHRoZSBleHRlbnNpb24uICBSZXNldCBidXR0b24gaXMgcHJlc2VudCBpbiBFeHRlbnNpb24gUHJlZmVyZW5jZXMgd2luZG93IGluIFRvcCBSaWdodCBBcHBsaWNhdGlvbiBNZW51ID4gUHJlZmVyZW5jZXMgPiBSZXNldCBBcHAgR3JpZCBUd2Vha3MgRXh0ZW5zaW9uLiAgIiwKICAibmFtZSI6ICJBcHAgR3JpZCBUd2Vha3MiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXBwLWdyaWQtdHdlYWtzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJzdGF0dXMiOiAiIiwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TZWxlbml1bS1IL0FwcC1HcmlkLVR3ZWFrcyIsCiAgInV1aWQiOiAiYXBwLWdyaWQtdHdlYWtzQFNlbGVuaXVtLUgiLAogICJ2ZXJzaW9uIjogMwp9"}}}
+, {"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": "55", "sha256": "069zl8sx9fma5na49hpn2904lrmcykiavk4dnm519n73bzz597mh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRhc2sgYmFyLiBBcHAgZ3JpZCwgZmF2b3JpdGVzLCB3b3Jrc3BhY2VzIGFuZCB0YXNrcyBpbiBwYW5lbC4gTGlnaHQgZXh0ZW5zaW9uLlxuXG4gUmVwbGFjZSAnQWN0aXZpdGllcycgYnV0dG9uIGJ5IGFsbCBjdXJyZW50IHdvcmtzcGFjZXMgYW5kIGFwcHMgYnV0dG9ucy4gU3dpdGNoIHdvcmtzcGFjZS9hcHAgb3IgdG9nZ2xlIG92ZXJ2aWV3IGJ5IGNsaWNraW5nIG9uIHRoZXNlIGJ1dHRvbnMuIERyYWcgYW5kIGRyb3AgZmF2b3JpdGUsIHRhc2ssIGRhc2ggaXRlbSBvciBhcHAgZ3JpZCBpdGVtIHRvIGFueSB3b3Jrc3BhY2UgKHlvdSBjYW5ub3QgcmVvcmRlciB0YXNrcyBpbnNpZGUgYSB3b3Jrc3BhY2UpLiBQZXJzaXN0ZW50IHdpbmRvdyBwcmV2aWV3IHdpdGggcmlnaHQtY2xpY2sgKHJpZ2h0LWNsaWNrIGFnYWluIG9yIGNsaWNrIG9uIHByZXZpZXcgdG8gY2xvc2UgaXQpLiBZb3UgY2FuIG1vdmUgdGhpcyBwcmV2aWV3IGFueXdoZXJlLiBDaGFuZ2UgJ1BsYWNlcycgbGFiZWwgdG8gYW4gaWNvbi4gU2V0dGluZ3MgaW4gcHJlZmVyZW5jZXMgVUkuXG5cbiBZb3UgY2FuIHVzZSBuYW1lcyBmb3Igd29ya3NwYWNlczogdGhlcmUgYXJlIHR3byB3YXlzIGZvciB0aGF0LiAxKSBFZGl0IHRoZSBzdHJpbmcgYXJyYXkgJ29yZy5nbm9tZS5kZXNrdG9wLndtLnByZWZlcmVuY2VzLndvcmtzcGFjZS1uYW1lcycgZ3NldHRpbmdzIGtleSAodGhyb3VnaCBkY29uZiBlZGl0b3IsIGUuZy4pLiAyKSBVc2Ugb2ZmaWNpYWwgR05PTUUgZXh0ZW5zaW9uIFdvcmtzcGFjZXMgSW5kaWNhdG9yJ3Mgc2V0dGluZ3MuIFlvdSBkb24ndCBoYXZlIHRvIHdyaXRlIGEgbG9uZyBlbm91Z2ggbGlzdDogbnVtYmVycyBhcmUgZGlzcGxheWVkIGlmIG5vIHdvcmtzcGFjZSBuYW1lIGlzIGRlZmluZWQuXG5cbiBDaGFuZ2Vsb2c6IGh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L2JhYmFyL2lzc3Vlcy8yIiwKICAibmFtZSI6ICJCYUJhciBUYXNrIEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L2JhYmFyIiwKICAidXVpZCI6ICJiYWJhckBmdGh4IiwKICAidmVyc2lvbiI6IDU1Cn0="}, "40": {"version": "55", "sha256": "069zl8sx9fma5na49hpn2904lrmcykiavk4dnm519n73bzz597mh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRhc2sgYmFyLiBBcHAgZ3JpZCwgZmF2b3JpdGVzLCB3b3Jrc3BhY2VzIGFuZCB0YXNrcyBpbiBwYW5lbC4gTGlnaHQgZXh0ZW5zaW9uLlxuXG4gUmVwbGFjZSAnQWN0aXZpdGllcycgYnV0dG9uIGJ5IGFsbCBjdXJyZW50IHdvcmtzcGFjZXMgYW5kIGFwcHMgYnV0dG9ucy4gU3dpdGNoIHdvcmtzcGFjZS9hcHAgb3IgdG9nZ2xlIG92ZXJ2aWV3IGJ5IGNsaWNraW5nIG9uIHRoZXNlIGJ1dHRvbnMuIERyYWcgYW5kIGRyb3AgZmF2b3JpdGUsIHRhc2ssIGRhc2ggaXRlbSBvciBhcHAgZ3JpZCBpdGVtIHRvIGFueSB3b3Jrc3BhY2UgKHlvdSBjYW5ub3QgcmVvcmRlciB0YXNrcyBpbnNpZGUgYSB3b3Jrc3BhY2UpLiBQZXJzaXN0ZW50IHdpbmRvdyBwcmV2aWV3IHdpdGggcmlnaHQtY2xpY2sgKHJpZ2h0LWNsaWNrIGFnYWluIG9yIGNsaWNrIG9uIHByZXZpZXcgdG8gY2xvc2UgaXQpLiBZb3UgY2FuIG1vdmUgdGhpcyBwcmV2aWV3IGFueXdoZXJlLiBDaGFuZ2UgJ1BsYWNlcycgbGFiZWwgdG8gYW4gaWNvbi4gU2V0dGluZ3MgaW4gcHJlZmVyZW5jZXMgVUkuXG5cbiBZb3UgY2FuIHVzZSBuYW1lcyBmb3Igd29ya3NwYWNlczogdGhlcmUgYXJlIHR3byB3YXlzIGZvciB0aGF0LiAxKSBFZGl0IHRoZSBzdHJpbmcgYXJyYXkgJ29yZy5nbm9tZS5kZXNrdG9wLndtLnByZWZlcmVuY2VzLndvcmtzcGFjZS1uYW1lcycgZ3NldHRpbmdzIGtleSAodGhyb3VnaCBkY29uZiBlZGl0b3IsIGUuZy4pLiAyKSBVc2Ugb2ZmaWNpYWwgR05PTUUgZXh0ZW5zaW9uIFdvcmtzcGFjZXMgSW5kaWNhdG9yJ3Mgc2V0dGluZ3MuIFlvdSBkb24ndCBoYXZlIHRvIHdyaXRlIGEgbG9uZyBlbm91Z2ggbGlzdDogbnVtYmVycyBhcmUgZGlzcGxheWVkIGlmIG5vIHdvcmtzcGFjZSBuYW1lIGlzIGRlZmluZWQuXG5cbiBDaGFuZ2Vsb2c6IGh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L2JhYmFyL2lzc3Vlcy8yIiwKICAibmFtZSI6ICJCYUJhciBUYXNrIEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L2JhYmFyIiwKICAidXVpZCI6ICJiYWJhckBmdGh4IiwKICAidmVyc2lvbiI6IDU1Cn0="}}}
+, {"uuid": "kitsch@fopdoodle.net", "name": "Kitsch", "pname": "kitsch", "description": "Kitsch is a collection of cheap, popular, and marketable improvements to Gnome. One could consider it applying a cosmetic surgery to Gnome.\n\nKitsch can easily be configured and offers the following features:\n- remove application menu from the top bar\n- remove the activity button from the top bar\n- periodically change the background picture\n\nThis extension does not come with any button on the panel. Visit the website for a documentation.", "link": "https://extensions.gnome.org/extension/4001/kitsch/", "shell_version_map": {"38": {"version": "2", "sha256": "16zwz0p4f8zizr14k4jmdixgnjd0a67d0i3w6clrqgfl49cpdcdv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIktpdHNjaCBpcyBhIGNvbGxlY3Rpb24gb2YgY2hlYXAsIHBvcHVsYXIsIGFuZCBtYXJrZXRhYmxlIGltcHJvdmVtZW50cyB0byBHbm9tZS4gT25lIGNvdWxkIGNvbnNpZGVyIGl0IGFwcGx5aW5nIGEgY29zbWV0aWMgc3VyZ2VyeSB0byBHbm9tZS5cblxuS2l0c2NoIGNhbiBlYXNpbHkgYmUgY29uZmlndXJlZCBhbmQgb2ZmZXJzIHRoZSBmb2xsb3dpbmcgZmVhdHVyZXM6XG4tIHJlbW92ZSBhcHBsaWNhdGlvbiBtZW51IGZyb20gdGhlIHRvcCBiYXJcbi0gcmVtb3ZlIHRoZSBhY3Rpdml0eSBidXR0b24gZnJvbSB0aGUgdG9wIGJhclxuLSBwZXJpb2RpY2FsbHkgY2hhbmdlIHRoZSBiYWNrZ3JvdW5kIHBpY3R1cmVcblxuVGhpcyBleHRlbnNpb24gZG9lcyBub3QgY29tZSB3aXRoIGFueSBidXR0b24gb24gdGhlIHBhbmVsLiBWaXNpdCB0aGUgd2Vic2l0ZSBmb3IgYSBkb2N1bWVudGF0aW9uLiIsCiAgIm5hbWUiOiAiS2l0c2NoIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmtpdHNjaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VudGU3Ni9raXRzY2gvIiwKICAidXVpZCI6ICJraXRzY2hAZm9wZG9vZGxlLm5ldCIsCiAgInZlcnNpb24iOiAyCn0="}, "40": {"version": "5", "sha256": "1bbbdhf73sv240bid4s604g6r8axd40ph2yyf23z5fpj3679g2xr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIktpdHNjaCBpcyBhIGNvbGxlY3Rpb24gb2YgY2hlYXAsIHBvcHVsYXIsIGFuZCBtYXJrZXRhYmxlIGltcHJvdmVtZW50cyB0byBHbm9tZS4gT25lIGNvdWxkIGNvbnNpZGVyIGl0IGFwcGx5aW5nIGEgY29zbWV0aWMgc3VyZ2VyeSB0byBHbm9tZS5cblxuS2l0c2NoIGNhbiBlYXNpbHkgYmUgY29uZmlndXJlZCBhbmQgb2ZmZXJzIHRoZSBmb2xsb3dpbmcgZmVhdHVyZXM6XG4tIHJlbW92ZSBhcHBsaWNhdGlvbiBtZW51IGZyb20gdGhlIHRvcCBiYXJcbi0gcmVtb3ZlIHRoZSBhY3Rpdml0eSBidXR0b24gZnJvbSB0aGUgdG9wIGJhclxuLSBwZXJpb2RpY2FsbHkgY2hhbmdlIHRoZSBiYWNrZ3JvdW5kIHBpY3R1cmVcblxuVGhpcyBleHRlbnNpb24gZG9lcyBub3QgY29tZSB3aXRoIGFueSBidXR0b24gb24gdGhlIHBhbmVsLiBWaXNpdCB0aGUgd2Vic2l0ZSBmb3IgYSBkb2N1bWVudGF0aW9uLiIsCiAgIm5hbWUiOiAiS2l0c2NoIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmtpdHNjaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lbnRlNzYva2l0c2NoLyIsCiAgInV1aWQiOiAia2l0c2NoQGZvcGRvb2RsZS5uZXQiLAogICJ2ZXJzaW9uIjogNQp9"}}}
 , {"uuid": "gnome-visuals-top-bar@evendanan.net", "name": "Top Bar Visuals - transparent and blur", "pname": "top-bar-visuals-transparent-and-blur", "description": "Fork of: https://github.com/lamarios/gnome-shell-extension-transparent-top-bar\n\nBring back the adjustable transparency top bar (panel) in GNOME Shell and add blur while at it.\n\nDoes not work well with custom shell themes.", "link": "https://extensions.gnome.org/extension/4003/top-bar-visuals-transparent-and-blur/", "shell_version_map": {"38": {"version": "2", "sha256": "0h1qx7bh4gb3xkc8g8byynfa3imxkx332kh88pm4g9zaa20fxzwr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmsgb2Y6IGh0dHBzOi8vZ2l0aHViLmNvbS9sYW1hcmlvcy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdHJhbnNwYXJlbnQtdG9wLWJhclxuXG5CcmluZyBiYWNrIHRoZSBhZGp1c3RhYmxlIHRyYW5zcGFyZW5jeSB0b3AgYmFyIChwYW5lbCkgaW4gR05PTUUgU2hlbGwgYW5kIGFkZCBibHVyIHdoaWxlIGF0IGl0LlxuXG5Eb2VzIG5vdCB3b3JrIHdlbGwgd2l0aCBjdXN0b20gc2hlbGwgdGhlbWVzLiIsCiAgIm5hbWUiOiAiVG9wIEJhciBWaXN1YWxzIC0gdHJhbnNwYXJlbnQgYW5kIGJsdXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tZW5ueS9nbm9tZS1zaGVsbC1leHRlbnNpb24tdHJhbnNwYXJlbnQtdG9wLWJhciIsCiAgInV1aWQiOiAiZ25vbWUtdmlzdWFscy10b3AtYmFyQGV2ZW5kYW5hbi5uZXQiLAogICJ2ZXJzaW9uIjogMgp9"}}}
-, {"uuid": "desktop-lyric@tuberry", "name": "Desktop Lyric", "pname": "desktop-lyric", "description": "Show lyric of the playing song on the desktop\n\nFor support, please report any issues via the homepage link below.", "link": "https://extensions.gnome.org/extension/4006/desktop-lyric/", "shell_version_map": {"38": {"version": "3", "sha256": "015w7abqa8zqh7vc2hln61i859mfac7lcjp8lvccm9jbakdxqpvn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgbHlyaWMgb2YgdGhlIHBsYXlpbmcgc29uZyBvbiB0aGUgZGVza3RvcFxuXG5Gb3Igc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIHZpYSB0aGUgaG9tZXBhZ2UgbGluayBiZWxvdy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkZXNrdG9wLWx5cmljIiwKICAibmFtZSI6ICJEZXNrdG9wIEx5cmljIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRlc2t0b3AtbHlyaWMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90dWJlcnJ5L2Rlc2t0b3AtbHlyaWMiLAogICJ1dWlkIjogImRlc2t0b3AtbHlyaWNAdHViZXJyeSIsCiAgInZlcnNpb24iOiAzCn0="}, "40": {"version": "6", "sha256": "0mvc180z8kc56vzrg6fb5vvqqi4w183383wiqmdb1l5zks54fahg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgbHlyaWMgb2YgdGhlIHBsYXlpbmcgc29uZyBvbiB0aGUgZGVza3RvcFxuXG5Gb3Igc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIHZpYSB0aGUgaG9tZXBhZ2UgbGluayBiZWxvdy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkZXNrdG9wLWx5cmljIiwKICAibmFtZSI6ICJEZXNrdG9wIEx5cmljIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRlc2t0b3AtbHlyaWMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHViZXJyeS9kZXNrdG9wLWx5cmljIiwKICAidXVpZCI6ICJkZXNrdG9wLWx5cmljQHR1YmVycnkiLAogICJ2ZXJzaW9uIjogNgp9"}}}
+, {"uuid": "desktop-lyric@tuberry", "name": "Desktop Lyric", "pname": "desktop-lyric", "description": "Show lyric of the playing song on the desktop\n\nFor support, please report any issues via the homepage link below.", "link": "https://extensions.gnome.org/extension/4006/desktop-lyric/", "shell_version_map": {"38": {"version": "3", "sha256": "015w7abqa8zqh7vc2hln61i859mfac7lcjp8lvccm9jbakdxqpvn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgbHlyaWMgb2YgdGhlIHBsYXlpbmcgc29uZyBvbiB0aGUgZGVza3RvcFxuXG5Gb3Igc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIHZpYSB0aGUgaG9tZXBhZ2UgbGluayBiZWxvdy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkZXNrdG9wLWx5cmljIiwKICAibmFtZSI6ICJEZXNrdG9wIEx5cmljIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRlc2t0b3AtbHlyaWMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90dWJlcnJ5L2Rlc2t0b3AtbHlyaWMiLAogICJ1dWlkIjogImRlc2t0b3AtbHlyaWNAdHViZXJyeSIsCiAgInZlcnNpb24iOiAzCn0="}, "40": {"version": "7", "sha256": "13vhzga43d4byrp98nj2v6vf8lll1c6gzkrrna32g8amp0vhkly8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgbHlyaWMgb2YgdGhlIHBsYXlpbmcgc29uZyBvbiB0aGUgZGVza3RvcFxuXG5Gb3Igc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIHZpYSB0aGUgaG9tZXBhZ2UgbGluayBiZWxvdy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkZXNrdG9wLWx5cmljIiwKICAibmFtZSI6ICJEZXNrdG9wIEx5cmljIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRlc2t0b3AtbHlyaWMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHViZXJyeS9kZXNrdG9wLWx5cmljIiwKICAidXVpZCI6ICJkZXNrdG9wLWx5cmljQHR1YmVycnkiLAogICJ2ZXJzaW9uIjogNwp9"}}}
 , {"uuid": "alttab-mod@leleat-on-github", "name": "AltTab Mod", "pname": "alttab-mod", "description": "Alt/Super+Tab can also be navigated with WASD and hjkl. Q just closes the selected item and only the first window will be raised on app activation. Optionally, only show windows from the current workspace or monitor and remove the slight popup delay.", "link": "https://extensions.gnome.org/extension/4007/alttab-mod/", "shell_version_map": {"38": {"version": "5", "sha256": "13fg9v0pxxrnxgwd7xhy8wi6lxd7h3y88v2g0zpr1p9lprgh4cl6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsdC9TdXBlcitUYWIgY2FuIGFsc28gYmUgbmF2aWdhdGVkIHdpdGggV0FTRCBhbmQgaGprbC4gUSBqdXN0IGNsb3NlcyB0aGUgc2VsZWN0ZWQgaXRlbSBhbmQgb25seSB0aGUgZmlyc3Qgd2luZG93IHdpbGwgYmUgcmFpc2VkIG9uIGFwcCBhY3RpdmF0aW9uLiBPcHRpb25hbGx5LCBvbmx5IHNob3cgd2luZG93cyBmcm9tIHRoZSBjdXJyZW50IHdvcmtzcGFjZSBvciBtb25pdG9yIGFuZCByZW1vdmUgdGhlIHNsaWdodCBwb3B1cCBkZWxheS4iLAogICJuYW1lIjogIkFsdFRhYiBNb2QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTGVsZWF0L0FsdFRhYi1Nb2QiLAogICJ1dWlkIjogImFsdHRhYi1tb2RAbGVsZWF0LW9uLWdpdGh1YiIsCiAgInZlcnNpb24iOiA1Cn0="}, "40": {"version": "5", "sha256": "13fg9v0pxxrnxgwd7xhy8wi6lxd7h3y88v2g0zpr1p9lprgh4cl6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsdC9TdXBlcitUYWIgY2FuIGFsc28gYmUgbmF2aWdhdGVkIHdpdGggV0FTRCBhbmQgaGprbC4gUSBqdXN0IGNsb3NlcyB0aGUgc2VsZWN0ZWQgaXRlbSBhbmQgb25seSB0aGUgZmlyc3Qgd2luZG93IHdpbGwgYmUgcmFpc2VkIG9uIGFwcCBhY3RpdmF0aW9uLiBPcHRpb25hbGx5LCBvbmx5IHNob3cgd2luZG93cyBmcm9tIHRoZSBjdXJyZW50IHdvcmtzcGFjZSBvciBtb25pdG9yIGFuZCByZW1vdmUgdGhlIHNsaWdodCBwb3B1cCBkZWxheS4iLAogICJuYW1lIjogIkFsdFRhYiBNb2QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTGVsZWF0L0FsdFRhYi1Nb2QiLAogICJ1dWlkIjogImFsdHRhYi1tb2RAbGVsZWF0LW9uLWdpdGh1YiIsCiAgInZlcnNpb24iOiA1Cn0="}}}
 , {"uuid": "personalize@Selenium-H", "name": "Personalize", "pname": "personalize", "description": "Personalize the looks of GNOME Desktop.\n\nSet the theme variant, window corner curvature and select accent color.\nThe Colors section contains colors generated from the selected accent color.\nThe color generation is not accurate. However, individual colors can be customised.\n\nNot all settings are applied automatically.\nPress Refresh button on the left of the headerbar to reload the extension \n\nCurrently, only Adwaita theme is supported. Also, Adwaita and Adwaita-dark gtk-2 themes\nmust be installed for the extension to work properly. Not all widgets are themed perfectly.", "link": "https://extensions.gnome.org/extension/4010/personalize/", "shell_version_map": {"38": {"version": "1", "sha256": "1rgh2zq7086ymf0222pbrx5n8q11v3f45095w4x3ikw7k12j9s0n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNvbW1lbnQiOiAiUGVyc29uYWxpemUgR05PTUUgdGhlbWUgYW5kIGN1c3RvbWl6ZSB0aGVtLiIsCiAgImRlc2NyaXB0aW9uIjogIlBlcnNvbmFsaXplIHRoZSBsb29rcyBvZiBHTk9NRSBEZXNrdG9wLlxuXG5TZXQgdGhlIHRoZW1lIHZhcmlhbnQsIHdpbmRvdyBjb3JuZXIgY3VydmF0dXJlIGFuZCBzZWxlY3QgYWNjZW50IGNvbG9yLlxuVGhlIENvbG9ycyBzZWN0aW9uIGNvbnRhaW5zIGNvbG9ycyBnZW5lcmF0ZWQgZnJvbSB0aGUgc2VsZWN0ZWQgYWNjZW50IGNvbG9yLlxuVGhlIGNvbG9yIGdlbmVyYXRpb24gaXMgbm90IGFjY3VyYXRlLiBIb3dldmVyLCBpbmRpdmlkdWFsIGNvbG9ycyBjYW4gYmUgY3VzdG9taXNlZC5cblxuTm90IGFsbCBzZXR0aW5ncyBhcmUgYXBwbGllZCBhdXRvbWF0aWNhbGx5LlxuUHJlc3MgUmVmcmVzaCBidXR0b24gb24gdGhlIGxlZnQgb2YgdGhlIGhlYWRlcmJhciB0byByZWxvYWQgdGhlIGV4dGVuc2lvbiBcblxuQ3VycmVudGx5LCBvbmx5IEFkd2FpdGEgdGhlbWUgaXMgc3VwcG9ydGVkLiBBbHNvLCBBZHdhaXRhIGFuZCBBZHdhaXRhLWRhcmsgZ3RrLTIgdGhlbWVzXG5tdXN0IGJlIGluc3RhbGxlZCBmb3IgdGhlIGV4dGVuc2lvbiB0byB3b3JrIHByb3Blcmx5LiBOb3QgYWxsIHdpZGdldHMgYXJlIHRoZW1lZCBwZXJmZWN0bHkuIiwKICAibmFtZSI6ICJQZXJzb25hbGl6ZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wZXJzb25hbGl6ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJzdGF0dXMiOiAiICIsCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vU2VsZW5pdW0tSC9QZXJzb25hbGl6ZSIsCiAgInV1aWQiOiAicGVyc29uYWxpemVAU2VsZW5pdW0tSCIsCiAgInZlcnNpb24iOiAxCn0="}}}
 , {"uuid": "gnomebedtime@ionutbortis.gmail.com", "name": "Gnome Bedtime", "pname": "gnome-bedtime", "description": "Hey Gnome, it's bedtime! Converts to grayscale the entire Gnome workspace by using a smooth transition. Best to use during evening/night.\n\nThis behaviour is similar to Android's bedtime mode which converts the phone screen to grayscale. It should somewhat make your device less appealing and limit the usage of it before bedtime. On my side, at least, it still requires a fair amount of self control in order to make that happen.\n\nThe extension has a nice Settings UI where you can customize it to your liking:\n- Set an automatic schedule for turning on/off the Bedtime Mode\n- Add an On Demand button to Top Bar or System Menu\n- Control the On Demand button visibility and position in Top Bar\n\nIf you want to use a keyboard shortcut in order to toggle the Bedtime Mode then you can use this command for the shortcut (applies to version 3.0 and beyond):\n\nbash -c 'schema_id=org.gnome.shell.extensions.gnomebedtime; schema_dir=~/.local/share/gnome-shell/extensions/gnomebedtime@ionutbortis.gmail.com/schemas/; if [[ $(gsettings --schemadir $schema_dir get $schema_id bedtime-mode-active) == \"true\" ]]; then turn_on=false; else turn_on=true; fi; gsettings --schemadir $schema_dir set $schema_id bedtime-mode-active $turn_on;'", "link": "https://extensions.gnome.org/extension/4012/gnome-bedtime/", "shell_version_map": {"38": {"version": "4", "sha256": "18g92v2q8idmj077rmfzxpx4zcbc36f2ywrc4713r0z86yipwly7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhleSBHbm9tZSwgaXQncyBiZWR0aW1lISBDb252ZXJ0cyB0byBncmF5c2NhbGUgdGhlIGVudGlyZSBHbm9tZSB3b3Jrc3BhY2UgYnkgdXNpbmcgYSBzbW9vdGggdHJhbnNpdGlvbi4gQmVzdCB0byB1c2UgZHVyaW5nIGV2ZW5pbmcvbmlnaHQuXG5cblRoaXMgYmVoYXZpb3VyIGlzIHNpbWlsYXIgdG8gQW5kcm9pZCdzIGJlZHRpbWUgbW9kZSB3aGljaCBjb252ZXJ0cyB0aGUgcGhvbmUgc2NyZWVuIHRvIGdyYXlzY2FsZS4gSXQgc2hvdWxkIHNvbWV3aGF0IG1ha2UgeW91ciBkZXZpY2UgbGVzcyBhcHBlYWxpbmcgYW5kIGxpbWl0IHRoZSB1c2FnZSBvZiBpdCBiZWZvcmUgYmVkdGltZS4gT24gbXkgc2lkZSwgYXQgbGVhc3QsIGl0IHN0aWxsIHJlcXVpcmVzIGEgZmFpciBhbW91bnQgb2Ygc2VsZiBjb250cm9sIGluIG9yZGVyIHRvIG1ha2UgdGhhdCBoYXBwZW4uXG5cblRoZSBleHRlbnNpb24gaGFzIGEgbmljZSBTZXR0aW5ncyBVSSB3aGVyZSB5b3UgY2FuIGN1c3RvbWl6ZSBpdCB0byB5b3VyIGxpa2luZzpcbi0gU2V0IGFuIGF1dG9tYXRpYyBzY2hlZHVsZSBmb3IgdHVybmluZyBvbi9vZmYgdGhlIEJlZHRpbWUgTW9kZVxuLSBBZGQgYW4gT24gRGVtYW5kIGJ1dHRvbiB0byBUb3AgQmFyIG9yIFN5c3RlbSBNZW51XG4tIENvbnRyb2wgdGhlIE9uIERlbWFuZCBidXR0b24gdmlzaWJpbGl0eSBhbmQgcG9zaXRpb24gaW4gVG9wIEJhclxuXG5JZiB5b3Ugd2FudCB0byB1c2UgYSBrZXlib2FyZCBzaG9ydGN1dCBpbiBvcmRlciB0byB0b2dnbGUgdGhlIEJlZHRpbWUgTW9kZSB0aGVuIHlvdSBjYW4gdXNlIHRoaXMgY29tbWFuZCBmb3IgdGhlIHNob3J0Y3V0IChhcHBsaWVzIHRvIHZlcnNpb24gMy4wIGFuZCBiZXlvbmQpOlxuXG5iYXNoIC1jICdzY2hlbWFfaWQ9b3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZ25vbWViZWR0aW1lOyBzY2hlbWFfZGlyPX4vLmxvY2FsL3NoYXJlL2dub21lLXNoZWxsL2V4dGVuc2lvbnMvZ25vbWViZWR0aW1lQGlvbnV0Ym9ydGlzLmdtYWlsLmNvbS9zY2hlbWFzLzsgaWYgW1sgJChnc2V0dGluZ3MgLS1zY2hlbWFkaXIgJHNjaGVtYV9kaXIgZ2V0ICRzY2hlbWFfaWQgYmVkdGltZS1tb2RlLWFjdGl2ZSkgPT0gXCJ0cnVlXCIgXV07IHRoZW4gdHVybl9vbj1mYWxzZTsgZWxzZSB0dXJuX29uPXRydWU7IGZpOyBnc2V0dGluZ3MgLS1zY2hlbWFkaXIgJHNjaGVtYV9kaXIgc2V0ICRzY2hlbWFfaWQgYmVkdGltZS1tb2RlLWFjdGl2ZSAkdHVybl9vbjsnIiwKICAibmFtZSI6ICJHbm9tZSBCZWR0aW1lIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdub21lYmVkdGltZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pb251dGJvcnRpcy9nbm9tZS1iZWR0aW1lIiwKICAidXVpZCI6ICJnbm9tZWJlZHRpbWVAaW9udXRib3J0aXMuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "40": {"version": "4", "sha256": "18g92v2q8idmj077rmfzxpx4zcbc36f2ywrc4713r0z86yipwly7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhleSBHbm9tZSwgaXQncyBiZWR0aW1lISBDb252ZXJ0cyB0byBncmF5c2NhbGUgdGhlIGVudGlyZSBHbm9tZSB3b3Jrc3BhY2UgYnkgdXNpbmcgYSBzbW9vdGggdHJhbnNpdGlvbi4gQmVzdCB0byB1c2UgZHVyaW5nIGV2ZW5pbmcvbmlnaHQuXG5cblRoaXMgYmVoYXZpb3VyIGlzIHNpbWlsYXIgdG8gQW5kcm9pZCdzIGJlZHRpbWUgbW9kZSB3aGljaCBjb252ZXJ0cyB0aGUgcGhvbmUgc2NyZWVuIHRvIGdyYXlzY2FsZS4gSXQgc2hvdWxkIHNvbWV3aGF0IG1ha2UgeW91ciBkZXZpY2UgbGVzcyBhcHBlYWxpbmcgYW5kIGxpbWl0IHRoZSB1c2FnZSBvZiBpdCBiZWZvcmUgYmVkdGltZS4gT24gbXkgc2lkZSwgYXQgbGVhc3QsIGl0IHN0aWxsIHJlcXVpcmVzIGEgZmFpciBhbW91bnQgb2Ygc2VsZiBjb250cm9sIGluIG9yZGVyIHRvIG1ha2UgdGhhdCBoYXBwZW4uXG5cblRoZSBleHRlbnNpb24gaGFzIGEgbmljZSBTZXR0aW5ncyBVSSB3aGVyZSB5b3UgY2FuIGN1c3RvbWl6ZSBpdCB0byB5b3VyIGxpa2luZzpcbi0gU2V0IGFuIGF1dG9tYXRpYyBzY2hlZHVsZSBmb3IgdHVybmluZyBvbi9vZmYgdGhlIEJlZHRpbWUgTW9kZVxuLSBBZGQgYW4gT24gRGVtYW5kIGJ1dHRvbiB0byBUb3AgQmFyIG9yIFN5c3RlbSBNZW51XG4tIENvbnRyb2wgdGhlIE9uIERlbWFuZCBidXR0b24gdmlzaWJpbGl0eSBhbmQgcG9zaXRpb24gaW4gVG9wIEJhclxuXG5JZiB5b3Ugd2FudCB0byB1c2UgYSBrZXlib2FyZCBzaG9ydGN1dCBpbiBvcmRlciB0byB0b2dnbGUgdGhlIEJlZHRpbWUgTW9kZSB0aGVuIHlvdSBjYW4gdXNlIHRoaXMgY29tbWFuZCBmb3IgdGhlIHNob3J0Y3V0IChhcHBsaWVzIHRvIHZlcnNpb24gMy4wIGFuZCBiZXlvbmQpOlxuXG5iYXNoIC1jICdzY2hlbWFfaWQ9b3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZ25vbWViZWR0aW1lOyBzY2hlbWFfZGlyPX4vLmxvY2FsL3NoYXJlL2dub21lLXNoZWxsL2V4dGVuc2lvbnMvZ25vbWViZWR0aW1lQGlvbnV0Ym9ydGlzLmdtYWlsLmNvbS9zY2hlbWFzLzsgaWYgW1sgJChnc2V0dGluZ3MgLS1zY2hlbWFkaXIgJHNjaGVtYV9kaXIgZ2V0ICRzY2hlbWFfaWQgYmVkdGltZS1tb2RlLWFjdGl2ZSkgPT0gXCJ0cnVlXCIgXV07IHRoZW4gdHVybl9vbj1mYWxzZTsgZWxzZSB0dXJuX29uPXRydWU7IGZpOyBnc2V0dGluZ3MgLS1zY2hlbWFkaXIgJHNjaGVtYV9kaXIgc2V0ICRzY2hlbWFfaWQgYmVkdGltZS1tb2RlLWFjdGl2ZSAkdHVybl9vbjsnIiwKICAibmFtZSI6ICJHbm9tZSBCZWR0aW1lIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdub21lYmVkdGltZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pb251dGJvcnRpcy9nbm9tZS1iZWR0aW1lIiwKICAidXVpZCI6ICJnbm9tZWJlZHRpbWVAaW9udXRib3J0aXMuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
 , {"uuid": "transparentwindows.mdirshad07", "name": "Transparent Window", "pname": "transparent-window", "description": "Change the opacity of windows by compiz-style shortcut Alt+scroll.\nYou can customize hotkey in Preference page if Alt key doesn't work.", "link": "https://extensions.gnome.org/extension/4016/transparent-window/", "shell_version_map": {"38": {"version": "2", "sha256": "12d8ad0s3b2cd8gczsa2l2x5wf3rag9xfr12ljw2jlrzf99vnr70", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB0aGUgb3BhY2l0eSBvZiB3aW5kb3dzIGJ5IGNvbXBpei1zdHlsZSBzaG9ydGN1dCBBbHQrc2Nyb2xsLlxuWW91IGNhbiBjdXN0b21pemUgaG90a2V5IGluIFByZWZlcmVuY2UgcGFnZSBpZiBBbHQga2V5IGRvZXNuJ3Qgd29yay4iLAogICJuYW1lIjogIlRyYW5zcGFyZW50IFdpbmRvdyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5UcmFuc3BhcmVudFdpbmRvdyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOC4xIiwKICAgICIzLjM2LjEiLAogICAgIjMuMzguMSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3BieHFkb3duL2dub21lLXNoZWxsLWV4dGVuc2lvbi10cmFuc3BhcmVudC13aW5kb3ciLAogICJ1dWlkIjogInRyYW5zcGFyZW50d2luZG93cy5tZGlyc2hhZDA3IiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
 , {"uuid": "wandering-pixel@justinrdonnelly.github.com", "name": "Wandering Pixel", "pname": "wandering-pixel", "description": "Slide 1 pixel back and forth in the top bar as a workaround for various bugs in GNOME Shell and/or Mutter.", "link": "https://extensions.gnome.org/extension/4028/wandering-pixel/", "shell_version_map": {"38": {"version": "3", "sha256": "1n4ycw6yrf0aqczyvc5vdgxszcpa51xh2mzrs8sqs78wxdggzs89", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNsaWRlIDEgcGl4ZWwgYmFjayBhbmQgZm9ydGggaW4gdGhlIHRvcCBiYXIgYXMgYSB3b3JrYXJvdW5kIGZvciB2YXJpb3VzIGJ1Z3MgaW4gR05PTUUgU2hlbGwgYW5kL29yIE11dHRlci4iLAogICJuYW1lIjogIldhbmRlcmluZyBQaXhlbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2p1c3RpbnJkb25uZWxseS93YW5kZXJpbmctcGl4ZWwiLAogICJ1dWlkIjogIndhbmRlcmluZy1waXhlbEBqdXN0aW5yZG9ubmVsbHkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "40": {"version": "3", "sha256": "1n4ycw6yrf0aqczyvc5vdgxszcpa51xh2mzrs8sqs78wxdggzs89", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNsaWRlIDEgcGl4ZWwgYmFjayBhbmQgZm9ydGggaW4gdGhlIHRvcCBiYXIgYXMgYSB3b3JrYXJvdW5kIGZvciB2YXJpb3VzIGJ1Z3MgaW4gR05PTUUgU2hlbGwgYW5kL29yIE11dHRlci4iLAogICJuYW1lIjogIldhbmRlcmluZyBQaXhlbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2p1c3RpbnJkb25uZWxseS93YW5kZXJpbmctcGl4ZWwiLAogICJ1dWlkIjogIndhbmRlcmluZy1waXhlbEBqdXN0aW5yZG9ubmVsbHkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}}}
 , {"uuid": "screenshot-directory@fawtytoo", "name": "Screenshot Directory", "pname": "screenshot-directory", "description": "The default screenshot directory is ~/Pictures. This extension changes that to use whatever is set if you used the Gnome Screenshot app. This can be found in the dconf setting: /org/gnome/gnome-screenshot/auto-save-directory. If that directory doesn't exist, the extension will use the Home directory instead.\n\nNote: If the dconf setting doesn't exist, you need to install the Gnome Screenshot app.\n\nThe idea was taken from the extension: Screenshot Locations.", "link": "https://extensions.gnome.org/extension/4031/screenshot-directory/", "shell_version_map": {"38": {"version": "6", "sha256": "15m291jjqfrfcg79nlsqq8zcqp218qrakp3044ik9xjl00yhjf1b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBkZWZhdWx0IHNjcmVlbnNob3QgZGlyZWN0b3J5IGlzIH4vUGljdHVyZXMuIFRoaXMgZXh0ZW5zaW9uIGNoYW5nZXMgdGhhdCB0byB1c2Ugd2hhdGV2ZXIgaXMgc2V0IGlmIHlvdSB1c2VkIHRoZSBHbm9tZSBTY3JlZW5zaG90IGFwcC4gVGhpcyBjYW4gYmUgZm91bmQgaW4gdGhlIGRjb25mIHNldHRpbmc6IC9vcmcvZ25vbWUvZ25vbWUtc2NyZWVuc2hvdC9hdXRvLXNhdmUtZGlyZWN0b3J5LiBJZiB0aGF0IGRpcmVjdG9yeSBkb2Vzbid0IGV4aXN0LCB0aGUgZXh0ZW5zaW9uIHdpbGwgdXNlIHRoZSBIb21lIGRpcmVjdG9yeSBpbnN0ZWFkLlxuXG5Ob3RlOiBJZiB0aGUgZGNvbmYgc2V0dGluZyBkb2Vzbid0IGV4aXN0LCB5b3UgbmVlZCB0byBpbnN0YWxsIHRoZSBHbm9tZSBTY3JlZW5zaG90IGFwcC5cblxuVGhlIGlkZWEgd2FzIHRha2VuIGZyb20gdGhlIGV4dGVuc2lvbjogU2NyZWVuc2hvdCBMb2NhdGlvbnMuIiwKICAibmFtZSI6ICJTY3JlZW5zaG90IERpcmVjdG9yeSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAic2NyZWVuc2hvdC1kaXJlY3RvcnlAZmF3dHl0b28iLAogICJ2ZXJzaW9uIjogNgp9"}, "40": {"version": "6", "sha256": "15m291jjqfrfcg79nlsqq8zcqp218qrakp3044ik9xjl00yhjf1b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBkZWZhdWx0IHNjcmVlbnNob3QgZGlyZWN0b3J5IGlzIH4vUGljdHVyZXMuIFRoaXMgZXh0ZW5zaW9uIGNoYW5nZXMgdGhhdCB0byB1c2Ugd2hhdGV2ZXIgaXMgc2V0IGlmIHlvdSB1c2VkIHRoZSBHbm9tZSBTY3JlZW5zaG90IGFwcC4gVGhpcyBjYW4gYmUgZm91bmQgaW4gdGhlIGRjb25mIHNldHRpbmc6IC9vcmcvZ25vbWUvZ25vbWUtc2NyZWVuc2hvdC9hdXRvLXNhdmUtZGlyZWN0b3J5LiBJZiB0aGF0IGRpcmVjdG9yeSBkb2Vzbid0IGV4aXN0LCB0aGUgZXh0ZW5zaW9uIHdpbGwgdXNlIHRoZSBIb21lIGRpcmVjdG9yeSBpbnN0ZWFkLlxuXG5Ob3RlOiBJZiB0aGUgZGNvbmYgc2V0dGluZyBkb2Vzbid0IGV4aXN0LCB5b3UgbmVlZCB0byBpbnN0YWxsIHRoZSBHbm9tZSBTY3JlZW5zaG90IGFwcC5cblxuVGhlIGlkZWEgd2FzIHRha2VuIGZyb20gdGhlIGV4dGVuc2lvbjogU2NyZWVuc2hvdCBMb2NhdGlvbnMuIiwKICAibmFtZSI6ICJTY3JlZW5zaG90IERpcmVjdG9yeSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAic2NyZWVuc2hvdC1kaXJlY3RvcnlAZmF3dHl0b28iLAogICJ2ZXJzaW9uIjogNgp9"}}}
-, {"uuid": "x11gestures@joseexposito.github.io", "name": "X11 Gestures", "pname": "x11-gestures", "description": "Enable GNOME Shell multi-touch gestures on X11.\nRequires Touchégg https://github.com/JoseExposito/touchegg#readme", "link": "https://extensions.gnome.org/extension/4033/x11-gestures/", "shell_version_map": {"38": {"version": "8", "sha256": "1qyk622i6rrbgn45frqgsrj5zcky7a0clkk89z5b89ckk5rqprhr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZSBHTk9NRSBTaGVsbCBtdWx0aS10b3VjaCBnZXN0dXJlcyBvbiBYMTEuXG5SZXF1aXJlcyBUb3VjaFx1MDBlOWdnIGh0dHBzOi8vZ2l0aHViLmNvbS9Kb3NlRXhwb3NpdG8vdG91Y2hlZ2cjcmVhZG1lIiwKICAibmFtZSI6ICJYMTEgR2VzdHVyZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwLjAiLAogICAgIjQwLjEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9Kb3NlRXhwb3NpdG8vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXgxMWdlc3R1cmVzIiwKICAidXVpZCI6ICJ4MTFnZXN0dXJlc0Bqb3NlZXhwb3NpdG8uZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDgKfQ=="}, "40": {"version": "8", "sha256": "1qyk622i6rrbgn45frqgsrj5zcky7a0clkk89z5b89ckk5rqprhr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZSBHTk9NRSBTaGVsbCBtdWx0aS10b3VjaCBnZXN0dXJlcyBvbiBYMTEuXG5SZXF1aXJlcyBUb3VjaFx1MDBlOWdnIGh0dHBzOi8vZ2l0aHViLmNvbS9Kb3NlRXhwb3NpdG8vdG91Y2hlZ2cjcmVhZG1lIiwKICAibmFtZSI6ICJYMTEgR2VzdHVyZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwLjAiLAogICAgIjQwLjEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9Kb3NlRXhwb3NpdG8vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXgxMWdlc3R1cmVzIiwKICAidXVpZCI6ICJ4MTFnZXN0dXJlc0Bqb3NlZXhwb3NpdG8uZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDgKfQ=="}}}
+, {"uuid": "x11gestures@joseexposito.github.io", "name": "X11 Gestures", "pname": "x11-gestures", "description": "Enable GNOME Shell multi-touch gestures on X11.\nRequires Touchégg https://github.com/JoseExposito/touchegg#readme", "link": "https://extensions.gnome.org/extension/4033/x11-gestures/", "shell_version_map": {"38": {"version": "10", "sha256": "1mccw6lpilrlrprp3vv21gf1vfabn6liszv27mwfbh55f5d58qg2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZSBHTk9NRSBTaGVsbCBtdWx0aS10b3VjaCBnZXN0dXJlcyBvbiBYMTEuXG5SZXF1aXJlcyBUb3VjaFx1MDBlOWdnIGh0dHBzOi8vZ2l0aHViLmNvbS9Kb3NlRXhwb3NpdG8vdG91Y2hlZ2cjcmVhZG1lIiwKICAibmFtZSI6ICJYMTEgR2VzdHVyZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vSm9zZUV4cG9zaXRvL2dub21lLXNoZWxsLWV4dGVuc2lvbi14MTFnZXN0dXJlcyIsCiAgInV1aWQiOiAieDExZ2VzdHVyZXNAam9zZWV4cG9zaXRvLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxMAp9"}, "40": {"version": "10", "sha256": "1mccw6lpilrlrprp3vv21gf1vfabn6liszv27mwfbh55f5d58qg2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZSBHTk9NRSBTaGVsbCBtdWx0aS10b3VjaCBnZXN0dXJlcyBvbiBYMTEuXG5SZXF1aXJlcyBUb3VjaFx1MDBlOWdnIGh0dHBzOi8vZ2l0aHViLmNvbS9Kb3NlRXhwb3NpdG8vdG91Y2hlZ2cjcmVhZG1lIiwKICAibmFtZSI6ICJYMTEgR2VzdHVyZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vSm9zZUV4cG9zaXRvL2dub21lLXNoZWxsLWV4dGVuc2lvbi14MTFnZXN0dXJlcyIsCiAgInV1aWQiOiAieDExZ2VzdHVyZXNAam9zZWV4cG9zaXRvLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxMAp9"}}}
 , {"uuid": "get-out-of-the-way@michaelmob.com", "name": "Get Out Of The Way!", "pname": "get-out-of-the-way", "description": "Push 'Always-on-Top' windows out of the way of the focused window.", "link": "https://extensions.gnome.org/extension/4034/get-out-of-the-way/", "shell_version_map": {"38": {"version": "1", "sha256": "1jpjqi2l6wjn9zbgpck04gm9vbspi066chby1j6k9km6dwljfbk7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlB1c2ggJ0Fsd2F5cy1vbi1Ub3AnIHdpbmRvd3Mgb3V0IG9mIHRoZSB3YXkgb2YgdGhlIGZvY3VzZWQgd2luZG93LiIsCiAgIm5hbWUiOiAiR2V0IE91dCBPZiBUaGUgV2F5ISIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJnZXQtb3V0LW9mLXRoZS13YXlAbWljaGFlbG1vYi5jb20iLAogICJ2ZXJzaW9uIjogMQp9"}}}
 , {"uuid": "VPNStatus@jesusalc@intuivo.com", "name": "VPNStatus Indicator", "pname": "vpnstatus-indicator", "description": "displays the current state of VPNStatus VPN\n\nchecks, if /proc/net/route contains entries for device nmcli?, this is the VPNStatus network device.\n", "link": "https://extensions.gnome.org/extension/4039/vpnstatus-indicator/", "shell_version_map": {"38": {"version": "1", "sha256": "1y4ym6lpwfi03rc6186yjc7mns01q5nrwiqizghls7hiyfg3kqrn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImRpc3BsYXlzIHRoZSBjdXJyZW50IHN0YXRlIG9mIFZQTlN0YXR1cyBWUE5cblxuY2hlY2tzLCBpZiAvcHJvYy9uZXQvcm91dGUgY29udGFpbnMgZW50cmllcyBmb3IgZGV2aWNlIG5tY2xpPywgdGhpcyBpcyB0aGUgVlBOU3RhdHVzIG5ldHdvcmsgZGV2aWNlLlxuIiwKICAibmFtZSI6ICJWUE5TdGF0dXMgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIlZQTlN0YXR1c0BqZXN1c2FsY0BpbnR1aXZvLmNvbSIsCiAgInZlcnNpb24iOiAxCn0="}}}
-, {"uuid": "switchtwolayouts@qtmax.dev", "name": "Switch Two Layouts", "pname": "switch-two-layouts", "description": "This extension makes XKB shortcuts to switch keyboard layouts (such as Caps Lock, Ctrl+Shift, etc.) cycle between the two first layouts. The other ones still can be selected via the menu or using GNOME's shortcuts (Super+Space, Shift+Super+Space). It's useful when you have two primary layouts and more additional, which are used more rarely.", "link": "https://extensions.gnome.org/extension/4042/switch-two-layouts/", "shell_version_map": {"38": {"version": "1", "sha256": "1z4nrv0szs8g4jp84fimp0dnljlz8qqjkd509pl3prqdbm97hwzy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIG1ha2VzIFhLQiBzaG9ydGN1dHMgdG8gc3dpdGNoIGtleWJvYXJkIGxheW91dHMgKHN1Y2ggYXMgQ2FwcyBMb2NrLCBDdHJsK1NoaWZ0LCBldGMuKSBjeWNsZSBiZXR3ZWVuIHRoZSB0d28gZmlyc3QgbGF5b3V0cy4gVGhlIG90aGVyIG9uZXMgc3RpbGwgY2FuIGJlIHNlbGVjdGVkIHZpYSB0aGUgbWVudSBvciB1c2luZyBHTk9NRSdzIHNob3J0Y3V0cyAoU3VwZXIrU3BhY2UsIFNoaWZ0K1N1cGVyK1NwYWNlKS4gSXQncyB1c2VmdWwgd2hlbiB5b3UgaGF2ZSB0d28gcHJpbWFyeSBsYXlvdXRzIGFuZCBtb3JlIGFkZGl0aW9uYWwsIHdoaWNoIGFyZSB1c2VkIG1vcmUgcmFyZWx5LiIsCiAgIm5hbWUiOiAiU3dpdGNoIFR3byBMYXlvdXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInN3aXRjaHR3b2xheW91dHNAcXRtYXguZGV2IiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
+, {"uuid": "switchtwolayouts@qtmax.dev", "name": "Switch Two Layouts", "pname": "switch-two-layouts", "description": "This extension makes XKB shortcuts to switch keyboard layouts (such as Caps Lock, Ctrl+Shift, etc.) cycle between the two first layouts. The other ones still can be selected via the menu or using GNOME's shortcuts (Super+Space, Shift+Super+Space). It's useful when you have two primary layouts and more additional, which are used more rarely.", "link": "https://extensions.gnome.org/extension/4042/switch-two-layouts/", "shell_version_map": {"38": {"version": "2", "sha256": "16cz9fx4sgjp58x4agxpbskzqp8a1s6w9w5kaxpm6fjiakw896vz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIG1ha2VzIFhLQiBzaG9ydGN1dHMgdG8gc3dpdGNoIGtleWJvYXJkIGxheW91dHMgKHN1Y2ggYXMgQ2FwcyBMb2NrLCBDdHJsK1NoaWZ0LCBldGMuKSBjeWNsZSBiZXR3ZWVuIHRoZSB0d28gZmlyc3QgbGF5b3V0cy4gVGhlIG90aGVyIG9uZXMgc3RpbGwgY2FuIGJlIHNlbGVjdGVkIHZpYSB0aGUgbWVudSBvciB1c2luZyBHTk9NRSdzIHNob3J0Y3V0cyAoU3VwZXIrU3BhY2UsIFNoaWZ0K1N1cGVyK1NwYWNlKS4gSXQncyB1c2VmdWwgd2hlbiB5b3UgaGF2ZSB0d28gcHJpbWFyeSBsYXlvdXRzIGFuZCBtb3JlIGFkZGl0aW9uYWwsIHdoaWNoIGFyZSB1c2VkIG1vcmUgcmFyZWx5LiIsCiAgIm5hbWUiOiAiU3dpdGNoIFR3byBMYXlvdXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJzd2l0Y2h0d29sYXlvdXRzQHF0bWF4LmRldiIsCiAgInZlcnNpb24iOiAyCn0="}, "40": {"version": "2", "sha256": "16cz9fx4sgjp58x4agxpbskzqp8a1s6w9w5kaxpm6fjiakw896vz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIG1ha2VzIFhLQiBzaG9ydGN1dHMgdG8gc3dpdGNoIGtleWJvYXJkIGxheW91dHMgKHN1Y2ggYXMgQ2FwcyBMb2NrLCBDdHJsK1NoaWZ0LCBldGMuKSBjeWNsZSBiZXR3ZWVuIHRoZSB0d28gZmlyc3QgbGF5b3V0cy4gVGhlIG90aGVyIG9uZXMgc3RpbGwgY2FuIGJlIHNlbGVjdGVkIHZpYSB0aGUgbWVudSBvciB1c2luZyBHTk9NRSdzIHNob3J0Y3V0cyAoU3VwZXIrU3BhY2UsIFNoaWZ0K1N1cGVyK1NwYWNlKS4gSXQncyB1c2VmdWwgd2hlbiB5b3UgaGF2ZSB0d28gcHJpbWFyeSBsYXlvdXRzIGFuZCBtb3JlIGFkZGl0aW9uYWwsIHdoaWNoIGFyZSB1c2VkIG1vcmUgcmFyZWx5LiIsCiAgIm5hbWUiOiAiU3dpdGNoIFR3byBMYXlvdXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJzd2l0Y2h0d29sYXlvdXRzQHF0bWF4LmRldiIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"uuid": "notification-dismiss@kronosoul.xyz", "name": "Dismiss Notifications on Right Click", "pname": "dismiss-notifications-on-right-click", "description": "Simple extension that removes notification popups when they are right clicked.", "link": "https://extensions.gnome.org/extension/4048/dismiss-notifications-on-right-click/", "shell_version_map": {"38": {"version": "1", "sha256": "19pdz3lg1ybmgvpahfwzzhwk8fyhm1sr3wawddz5z66i22spcgjj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImFwcGxpY2F0aW9uLWlkIjogIm9yZy5rcm9ub3NvdWwubm90aWZpY2F0aW9uLWRpc21pc3MiLAogICJkZXNjcmlwdGlvbiI6ICJTaW1wbGUgZXh0ZW5zaW9uIHRoYXQgcmVtb3ZlcyBub3RpZmljYXRpb24gcG9wdXBzIHdoZW4gdGhleSBhcmUgcmlnaHQgY2xpY2tlZC4iLAogICJleHRlbnNpb24taWQiOiAiZ2R0b29scyIsCiAgImdldHRleHQtZG9tYWluIjogIndvcmtzZXRzIiwKICAibmFtZSI6ICJEaXNtaXNzIE5vdGlmaWNhdGlvbnMgb24gUmlnaHQgQ2xpY2siLAogICJvcmlnaW5hbC1hdXRob3IiOiAiYWRtaW5Aa3Jvbm9zb3VsLnh5eiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4wIiwKICAgICIzLjEwIiwKICAgICIzLjEyIiwKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmxpcGsvIiwKICAidXVpZCI6ICJub3RpZmljYXRpb24tZGlzbWlzc0Brcm9ub3NvdWwueHl6IiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
+, {"uuid": "disable-gestures-2021@verycrazydog.gmail.com", "name": "Disable Gestures 2021", "pname": "disable-gestures-2021", "description": "Disable all GNOME built-in gestures. Useful for kiosks and touch screen apps.", "link": "https://extensions.gnome.org/extension/4049/disable-gestures-2021/", "shell_version_map": {"40": {"version": "2", "sha256": "006xbxws1cvflsis129hl9sca22nig5prwaxfysxi7m13786rp0h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgYWxsIEdOT01FIGJ1aWx0LWluIGdlc3R1cmVzLiBVc2VmdWwgZm9yIGtpb3NrcyBhbmQgdG91Y2ggc2NyZWVuIGFwcHMuIiwKICAibmFtZSI6ICJEaXNhYmxlIEdlc3R1cmVzIDIwMjEiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjQwLjAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5Q3JhenlEb2cvZ25vbWUtZGlzYWJsZS1nZXN0dXJlcyIsCiAgInV1aWQiOiAiZGlzYWJsZS1nZXN0dXJlcy0yMDIxQHZlcnljcmF6eWRvZy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMgp9"}}}
 , {"uuid": "pi-hole@fnxweb.com", "name": "pi-hole", "pname": "pi-hole", "description": "Status and basic controls of local Pi-Hole", "link": "https://extensions.gnome.org/extension/4051/pi-hole/", "shell_version_map": {"38": {"version": "1", "sha256": "0m19lv8zfhh8vqn0ln4a8g4g4hw9p6h98gb656vb0hblp5gsycfm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN0YXR1cyBhbmQgYmFzaWMgY29udHJvbHMgb2YgbG9jYWwgUGktSG9sZSIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1mbnh3ZWItcGktaG9sZSIsCiAgIm5hbWUiOiAicGktaG9sZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mbnh3ZWItcGktaG9sZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2ZueHdlYi9nbm9tZS1zaGVsbC1waS1ob2xlIiwKICAidXVpZCI6ICJwaS1ob2xlQGZueHdlYi5jb20iLAogICJ2ZXJzaW9uIjogMQp9"}}}
 , {"uuid": "miniCal3@mtharpe", "name": "Minimalist Calendar 3", "pname": "minimalist-calendar-3", "description": "Remove event list and clock/calendar app buttons from the calendar window. This is just an updated version of v2 by breiq", "link": "https://extensions.gnome.org/extension/4052/minimalist-calendar-3/", "shell_version_map": {"38": {"version": "2", "sha256": "19y4c1r52j0iabkib6pm65gslrl65l0ckhglqy8gxiw9hr7a0lwk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSBldmVudCBsaXN0IGFuZCBjbG9jay9jYWxlbmRhciBhcHAgYnV0dG9ucyBmcm9tIHRoZSBjYWxlbmRhciB3aW5kb3cuIFRoaXMgaXMganVzdCBhbiB1cGRhdGVkIHZlcnNpb24gb2YgdjIgYnkgYnJlaXEiLAogICJuYW1lIjogIk1pbmltYWxpc3QgQ2FsZW5kYXIgMyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tdGhhcnBlL2dub21lLW1pbkNhbDMtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJtaW5pQ2FsM0BtdGhhcnBlIiwKICAidmVyc2lvbiI6IDIKfQ=="}, "40": {"version": "2", "sha256": "19y4c1r52j0iabkib6pm65gslrl65l0ckhglqy8gxiw9hr7a0lwk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSBldmVudCBsaXN0IGFuZCBjbG9jay9jYWxlbmRhciBhcHAgYnV0dG9ucyBmcm9tIHRoZSBjYWxlbmRhciB3aW5kb3cuIFRoaXMgaXMganVzdCBhbiB1cGRhdGVkIHZlcnNpb24gb2YgdjIgYnkgYnJlaXEiLAogICJuYW1lIjogIk1pbmltYWxpc3QgQ2FsZW5kYXIgMyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tdGhhcnBlL2dub21lLW1pbkNhbDMtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJtaW5pQ2FsM0BtdGhhcnBlIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
-, {"uuid": "spotify-artwork-fixer@wjt.me.uk", "name": "Spotify Artwork Fixer", "pname": "spotify-artwork-fixer", "description": "Fix Spotify artwork in media notification", "link": "https://extensions.gnome.org/extension/4055/spotify-artwork-fixer/", "shell_version_map": {"38": {"version": "2", "sha256": "19n0j3xd9x5vcd45nawhdic7axv5188clwdg883qb4bbkfdm41zl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZpeCBTcG90aWZ5IGFydHdvcmsgaW4gbWVkaWEgbm90aWZpY2F0aW9uIiwKICAibmFtZSI6ICJTcG90aWZ5IEFydHdvcmsgRml4ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAic3BvdGlmeS1hcnR3b3JrLWZpeGVyQHdqdC5tZS51ayIsCiAgInZlcnNpb24iOiAyCn0="}}}
-, {"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 is 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": "4", "sha256": "0i5dvcpsqif1bpilv974wfnwg9l79j89fzr5vy67wlcizid6z31i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbSBWUE4gVG9nZ2xlciAoYW5kIGluZGljYXRvcikgYWxsb3dzIHRvIHNlZSB0aGUgc3RhdHVzIG9mIGEgVlBOICh3aXRoIGl0cyBpY29uKSwgc2VlIElQIGFkZHJlc3MgYXNzb2NpYXRlZCBhbmQgcGVybWl0IHRvIHN0YXJ0IGFuZCBzdG9wIFZQTiAoZnJvbSBhIG1lbnUpLlxuXG5UaGlzIHBsdWdpbiByZXF1aXJlZCBhbiBhZGRpdGlvbmFsIHNjcmlwdCB0byBpbnRlcmFjdCB3aXRoIFZQTi4gXG5BbiBleGFtcGxlIGZvciBuZXRFeHRlbmRlciBpcyBhdmFpbGFibGUgb24gZXh0ZW5zaW9uIHJlcG9zaXRvcnkuIFxuRm9sbG93IHRoZSBsaW5rIHRvIEV4dGVuc2lvbiBXZWIgU2l0ZSBhbmQgc2VlIFJFQURNRS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjdXN0b20tdnBuLXRvZ2dsZXJAZ2l0ZWR1YmVyZ2VyLmZyIiwKICAibmFtZSI6ICJDdXN0b20gVlBOIFRvZ2dsZXIgKGFuZCBpbmRpY2F0b3IpIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImZyLmdpdGVkdWJlcmdlci5jdXN0b20tdnBuLXRvZ2dsZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9YYXZpZXJCZXJnZXIvY3VzdG9tLXZwbi10b2dnbGVyIiwKICAidXVpZCI6ICJjdXN0b20tdnBuLXRvZ2dsZXJAZ2l0ZWR1YmVyZ2VyLmZyIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
+, {"uuid": "spotify-artwork-fixer@wjt.me.uk", "name": "Spotify Artwork Fixer", "pname": "spotify-artwork-fixer", "description": "Fix Spotify artwork missing in media notification", "link": "https://extensions.gnome.org/extension/4055/spotify-artwork-fixer/", "shell_version_map": {"38": {"version": "5", "sha256": "1rjs6r61dpvrw9yz5ig594jqqbg6wb89zasv29a2jvm8pyax7zbv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZpeCBTcG90aWZ5IGFydHdvcmsgbWlzc2luZyBpbiBtZWRpYSBub3RpZmljYXRpb24iLAogICJuYW1lIjogIlNwb3RpZnkgQXJ0d29yayBGaXhlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdHVhcnRoYXlodXJzdC9nbm9tZS1zaGVsbC1zcG90aWZ5LWFydHdvcmstZml4ZXIiLAogICJ1dWlkIjogInNwb3RpZnktYXJ0d29yay1maXhlckB3anQubWUudWsiLAogICJ2ZXJzaW9uIjogNQp9"}, "40": {"version": "5", "sha256": "1rjs6r61dpvrw9yz5ig594jqqbg6wb89zasv29a2jvm8pyax7zbv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZpeCBTcG90aWZ5IGFydHdvcmsgbWlzc2luZyBpbiBtZWRpYSBub3RpZmljYXRpb24iLAogICJuYW1lIjogIlNwb3RpZnkgQXJ0d29yayBGaXhlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdHVhcnRoYXlodXJzdC9nbm9tZS1zaGVsbC1zcG90aWZ5LWFydHdvcmstZml4ZXIiLAogICJ1dWlkIjogInNwb3RpZnktYXJ0d29yay1maXhlckB3anQubWUudWsiLAogICJ2ZXJzaW9uIjogNQp9"}}}
+, {"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": "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": "8", "sha256": "15w1cgvqc20lijffzvpbbr960hasrzs6qq48mjji5kryvy4rw9bi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdub21lIGV4dGVuc2lvbiBmb3IgdHJhY2tpbmcgYWlyIHF1YWxpdHkgaW4gcmVhbC10aW1lLiBkYXRhIHByb3ZpZGVyOiBodHRwczovL2lxYWlyLmNvbS8uIHRvIGdldCBhbiBBUEkgdG9rZW46IGh0dHBzOi8vd3d3LmlxYWlyLmNvbS91cy9kYXNoYm9hcmQvYXBpIiwKICAibmFtZSI6ICJJcWFpciBHbm9tZSBFeHRlbnNpb24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vd290bXNodWFpc2kvaXFhaXJHbm9tZUV4dGVuc2lvbiIsCiAgInV1aWQiOiAiaXFhaXJAd290bXNodWFpc2lfZ2l0aHViIiwKICAidmVyc2lvbiI6IDgKfQ=="}}}
-, {"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": "23", "sha256": "0gysa7gz161n7lx119f1xhqhfywqd3hj7yf8dkxa208m6hmsya5n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgdGhlIFBvd2VyL05ldHdvcmsvVm9sdW1lL1VzZXIvRGF0ZS9Ob3RpZmljYXRpb25zIG1lbnVzIHRvIHRoZSBzdGF0dXMgYXJlYS4gSXQgaXMgYSBmb3JrIG9mIDpodHRwczovL2dpdGh1Yi5jb20vRmF1c3RvLUtvcnBzdmFydC9CaWctU3VyLVN0YXR1c0FyZWEiLAogICJuYW1lIjogIkJpZyBTdXIgU3RhdHVzIEFyZWEiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9PcmRpc3NpbW8vQmlnLVN1ci1TdGF0dXNBcmVhL3RyZWUvNDAucmMiLAogICJ1dWlkIjogImJpZ1N1ci1TdGF0dXNBcmVhQG9yZGlzc2ltby5jb20iLAogICJ2ZXJzaW9uIjogMjMKfQ=="}, "40": {"version": "24", "sha256": "14r84jdp8vdwzfxy3nvfkzggky2fq1qnwk7zpnzgqvpncsnam2a7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgdGhlIFBvd2VyL05ldHdvcmsvVm9sdW1lL1VzZXIvRGF0ZS9Ob3RpZmljYXRpb25zIG1lbnVzIHRvIHRoZSBzdGF0dXMgYXJlYS4gSXQgaXMgYSBmb3JrIG9mIDpodHRwczovL2dpdGh1Yi5jb20vRmF1c3RvLUtvcnBzdmFydC9CaWctU3VyLVN0YXR1c0FyZWEiLAogICJuYW1lIjogIkJpZyBTdXIgU3RhdHVzIEFyZWEiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwLjAiLAogICAgIjQwLnJjIiwKICAgICI0MC4xIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vT3JkaXNzaW1vL0JpZy1TdXItU3RhdHVzQXJlYS90cmVlLzQwLnJjIiwKICAidXVpZCI6ICJiaWdTdXItU3RhdHVzQXJlYUBvcmRpc3NpbW8uY29tIiwKICAidmVyc2lvbiI6IDI0Cn0="}}}
+, {"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": "1h6gm4mc2snwza4r1k9zz1a9wkfmgiqlcvn72hqqasvqrf5sz7cz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgdGhlIFBvd2VyL05ldHdvcmsvVm9sdW1lL1VzZXIvRGF0ZS9Ob3RpZmljYXRpb25zIG1lbnVzIHRvIHRoZSBzdGF0dXMgYXJlYS4gSXQgaXMgYSBmb3JrIG9mIDpodHRwczovL2dpdGh1Yi5jb20vRmF1c3RvLUtvcnBzdmFydC9CaWctU3VyLVN0YXR1c0FyZWEiLAogICJuYW1lIjogIkJpZyBTdXIgU3RhdHVzIEFyZWEiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9PcmRpc3NpbW8vQmlnLVN1ci1TdGF0dXNBcmVhL3RyZWUvNDAucmMiLAogICJ1dWlkIjogImJpZ1N1ci1TdGF0dXNBcmVhQG9yZGlzc2ltby5jb20iLAogICJ2ZXJzaW9uIjogMjUKfQ=="}, "40": {"version": "26", "sha256": "0lxh557z3xrf81prky5fbzmbhpmv3dvgj0wnxhsqv81k507mfx5j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgdGhlIFBvd2VyL05ldHdvcmsvVm9sdW1lL1VzZXIvRGF0ZS9Ob3RpZmljYXRpb25zIG1lbnVzIHRvIHRoZSBzdGF0dXMgYXJlYS4gSXQgaXMgYSBmb3JrIG9mIDpodHRwczovL2dpdGh1Yi5jb20vRmF1c3RvLUtvcnBzdmFydC9CaWctU3VyLVN0YXR1c0FyZWEiLAogICJuYW1lIjogIkJpZyBTdXIgU3RhdHVzIEFyZWEiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwLjAiLAogICAgIjQwLnJjIiwKICAgICI0MC4xIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vT3JkaXNzaW1vL0JpZy1TdXItU3RhdHVzQXJlYS90cmVlLzQwLnJjIiwKICAidXVpZCI6ICJiaWdTdXItU3RhdHVzQXJlYUBvcmRpc3NpbW8uY29tIiwKICAidmVyc2lvbiI6IDI2Cn0="}}}
 , {"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": "right_click_for_apps@briansayre", "name": "Right Click for Apps", "pname": "right-click-for-apps", "description": "Allows you to right-click the Activities button to reveal the application menu.", "link": "https://extensions.gnome.org/extension/4090/right-click-for-apps/", "shell_version_map": {"38": {"version": "1", "sha256": "1rzx8ksl48badrwyqxwbgvfgf48z642mdwl57aq280ng61nrndaf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyB5b3UgdG8gcmlnaHQtY2xpY2sgdGhlIEFjdGl2aXRpZXMgYnV0dG9uIHRvIHJldmVhbCB0aGUgYXBwbGljYXRpb24gbWVudS4iLAogICJuYW1lIjogIlJpZ2h0IENsaWNrIGZvciBBcHBzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYnJpYW5zYXlyZS9SaWdodC1DbGljay1Gb3ItQXBwcyIsCiAgInV1aWQiOiAicmlnaHRfY2xpY2tfZm9yX2FwcHNAYnJpYW5zYXlyZSIsCiAgInZlcnNpb24iOiAxCn0="}}}
 , {"uuid": "notifications_to_file@fawtytoo", "name": "Notifications To File", "pname": "notifications-to-file", "description": "Notifications are appended to a file in $HOME/.notifications/ with one file created per day.\nEntries show the following information:\nTimestamp\nWhether the banner was shown\nThe urgency\nThe title\nBanner text", "link": "https://extensions.gnome.org/extension/4093/notifications-to-file/", "shell_version_map": {"38": {"version": "2", "sha256": "0rn0c6ma6k129pkjk39dk05j6civxkm32zacv919zd3vvifckr1k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5vdGlmaWNhdGlvbnMgYXJlIGFwcGVuZGVkIHRvIGEgZmlsZSBpbiAkSE9NRS8ubm90aWZpY2F0aW9ucy8gd2l0aCBvbmUgZmlsZSBjcmVhdGVkIHBlciBkYXkuXG5FbnRyaWVzIHNob3cgdGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbjpcblRpbWVzdGFtcFxuV2hldGhlciB0aGUgYmFubmVyIHdhcyBzaG93blxuVGhlIHVyZ2VuY3lcblRoZSB0aXRsZVxuQmFubmVyIHRleHQiLAogICJuYW1lIjogIk5vdGlmaWNhdGlvbnMgVG8gRmlsZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAibm90aWZpY2F0aW9uc190b19maWxlQGZhd3R5dG9vIiwKICAidmVyc2lvbiI6IDIKfQ=="}, "40": {"version": "2", "sha256": "0rn0c6ma6k129pkjk39dk05j6civxkm32zacv919zd3vvifckr1k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5vdGlmaWNhdGlvbnMgYXJlIGFwcGVuZGVkIHRvIGEgZmlsZSBpbiAkSE9NRS8ubm90aWZpY2F0aW9ucy8gd2l0aCBvbmUgZmlsZSBjcmVhdGVkIHBlciBkYXkuXG5FbnRyaWVzIHNob3cgdGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbjpcblRpbWVzdGFtcFxuV2hldGhlciB0aGUgYmFubmVyIHdhcyBzaG93blxuVGhlIHVyZ2VuY3lcblRoZSB0aXRsZVxuQmFubmVyIHRleHQiLAogICJuYW1lIjogIk5vdGlmaWNhdGlvbnMgVG8gRmlsZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAibm90aWZpY2F0aW9uc190b19maWxlQGZhd3R5dG9vIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
 , {"uuid": "change_desktop_background_when_empty@fawtytoo", "name": "Change Desktop Background When Workspace Empty", "pname": "change-desktop-background-when-workspace-empty", "description": "Changes the desktop background when the workspace is or becomes empty, such as switching to an empty workspace, when all windows on a workspace are closed, or after login.\nNo folder needs to be set explicitly, as it will use the folder that the current background is in.", "link": "https://extensions.gnome.org/extension/4096/change-desktop-background-when-workspace-empty/", "shell_version_map": {"38": {"version": "4", "sha256": "04fbcdgpw3gpvgzdrji0w7qla021qb4jc3ad5whi8w0zpci7g4jk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZXMgdGhlIGRlc2t0b3AgYmFja2dyb3VuZCB3aGVuIHRoZSB3b3Jrc3BhY2UgaXMgb3IgYmVjb21lcyBlbXB0eSwgc3VjaCBhcyBzd2l0Y2hpbmcgdG8gYW4gZW1wdHkgd29ya3NwYWNlLCB3aGVuIGFsbCB3aW5kb3dzIG9uIGEgd29ya3NwYWNlIGFyZSBjbG9zZWQsIG9yIGFmdGVyIGxvZ2luLlxuTm8gZm9sZGVyIG5lZWRzIHRvIGJlIHNldCBleHBsaWNpdGx5LCBhcyBpdCB3aWxsIHVzZSB0aGUgZm9sZGVyIHRoYXQgdGhlIGN1cnJlbnQgYmFja2dyb3VuZCBpcyBpbi4iLAogICJuYW1lIjogIkNoYW5nZSBEZXNrdG9wIEJhY2tncm91bmQgV2hlbiBXb3Jrc3BhY2UgRW1wdHkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImNoYW5nZV9kZXNrdG9wX2JhY2tncm91bmRfd2hlbl9lbXB0eUBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiA0Cn0="}, "40": {"version": "4", "sha256": "04fbcdgpw3gpvgzdrji0w7qla021qb4jc3ad5whi8w0zpci7g4jk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZXMgdGhlIGRlc2t0b3AgYmFja2dyb3VuZCB3aGVuIHRoZSB3b3Jrc3BhY2UgaXMgb3IgYmVjb21lcyBlbXB0eSwgc3VjaCBhcyBzd2l0Y2hpbmcgdG8gYW4gZW1wdHkgd29ya3NwYWNlLCB3aGVuIGFsbCB3aW5kb3dzIG9uIGEgd29ya3NwYWNlIGFyZSBjbG9zZWQsIG9yIGFmdGVyIGxvZ2luLlxuTm8gZm9sZGVyIG5lZWRzIHRvIGJlIHNldCBleHBsaWNpdGx5LCBhcyBpdCB3aWxsIHVzZSB0aGUgZm9sZGVyIHRoYXQgdGhlIGN1cnJlbnQgYmFja2dyb3VuZCBpcyBpbi4iLAogICJuYW1lIjogIkNoYW5nZSBEZXNrdG9wIEJhY2tncm91bmQgV2hlbiBXb3Jrc3BhY2UgRW1wdHkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImNoYW5nZV9kZXNrdG9wX2JhY2tncm91bmRfd2hlbl9lbXB0eUBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiA0Cn0="}}}
-, {"uuid": "translate-clipboard@lsnow.github.io", "name": "translate-clipboard", "pname": "translate-clipboard", "description": "translate selected text\n\nFor ubuntu20.04, download version 3.38", "link": "https://extensions.gnome.org/extension/4097/translate-clipboard/", "shell_version_map": {"38": {"version": "1", "sha256": "01i8dx0hbcy28xzrj0imadv1027nnxmlz98sl4p72fykp08j728y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogInRyYW5zbGF0ZSBzZWxlY3RlZCB0ZXh0XG5cbkZvciB1YnVudHUyMC4wNCwgZG93bmxvYWQgdmVyc2lvbiAzLjM4IiwKICAibmFtZSI6ICJ0cmFuc2xhdGUtY2xpcGJvYXJkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbHNub3cvdHJhbnNsYXRlLWNsaXBib2FyZCIsCiAgInV1aWQiOiAidHJhbnNsYXRlLWNsaXBib2FyZEBsc25vdy5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMQp9"}, "40": {"version": "4", "sha256": "0jr0fqcnx2yzgm470hjj9pk93fxd5ninsg4mwb73vqvlvq9jmjqs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogInRyYW5zbGF0ZSBzZWxlY3RlZCB0ZXh0XG5cbkZvciB1YnVudHUyMC4wNCwgZG93bmxvYWQgdmVyc2lvbiAzLjM4IiwKICAibmFtZSI6ICJ0cmFuc2xhdGUtY2xpcGJvYXJkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2xzbm93L3RyYW5zbGF0ZS1jbGlwYm9hcmQiLAogICJ1dWlkIjogInRyYW5zbGF0ZS1jbGlwYm9hcmRAbHNub3cuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
+, {"uuid": "translate-clipboard@lsnow.github.io", "name": "translate-clipboard", "pname": "translate-clipboard", "description": "translate clipboard text", "link": "https://extensions.gnome.org/extension/4097/translate-clipboard/", "shell_version_map": {"38": {"version": "1", "sha256": "091aywnrmaz5j2nzjv1n968a25k8hm6a7ykifrl1b1nswybx5ark", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogInRyYW5zbGF0ZSBjbGlwYm9hcmQgdGV4dCIsCiAgIm5hbWUiOiAidHJhbnNsYXRlLWNsaXBib2FyZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2xzbm93L3RyYW5zbGF0ZS1jbGlwYm9hcmQiLAogICJ1dWlkIjogInRyYW5zbGF0ZS1jbGlwYm9hcmRAbHNub3cuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDEKfQ=="}, "40": {"version": "7", "sha256": "1z1m15cn7jpxhhb8kfn4vlsip780pph93yhc3sr3n2is31bki3f9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogInRyYW5zbGF0ZSBjbGlwYm9hcmQgdGV4dCIsCiAgIm5hbWUiOiAidHJhbnNsYXRlLWNsaXBib2FyZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9sc25vdy90cmFuc2xhdGUtY2xpcGJvYXJkIiwKICAidXVpZCI6ICJ0cmFuc2xhdGUtY2xpcGJvYXJkQGxzbm93LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA3Cn0="}}}
 , {"uuid": "no-overview@fthx", "name": "No overview at start-up", "pname": "no-overview", "description": "No overview at start-up. For GNOME Shell 40+.", "link": "https://extensions.gnome.org/extension/4099/no-overview/", "shell_version_map": {"40": {"version": "8", "sha256": "15y0qyknm2c3p94n8lvq3x13vk8j90mfwzl8g2vpraiavgid52fm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5vIG92ZXJ2aWV3IGF0IHN0YXJ0LXVwLiBGb3IgR05PTUUgU2hlbGwgNDArLiIsCiAgIm5hbWUiOiAiTm8gb3ZlcnZpZXcgYXQgc3RhcnQtdXAiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImZ0aHgiCiAgXSwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvbm8tb3ZlcnZpZXciLAogICJ1dWlkIjogIm5vLW92ZXJ2aWV3QGZ0aHgiLAogICJ2ZXJzaW9uIjogOAp9"}}}
 , {"uuid": "notification-position@drugo.dev", "name": "Notification Banner Position", "pname": "notification-banner-position", "description": "Changes position of the notification banner from the default to the right side of the screen.", "link": "https://extensions.gnome.org/extension/4105/notification-banner-position/", "shell_version_map": {"38": {"version": "2", "sha256": "10c3z6b9gwnjybyshrgg4mh9gcj7pv7mwhci32bprsai9nbdid4p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZXMgcG9zaXRpb24gb2YgdGhlIG5vdGlmaWNhdGlvbiBiYW5uZXIgZnJvbSB0aGUgZGVmYXVsdCB0byB0aGUgcmlnaHQgc2lkZSBvZiB0aGUgc2NyZWVuLiIsCiAgIm5hbWUiOiAiTm90aWZpY2F0aW9uIEJhbm5lciBQb3NpdGlvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9icnVub2RydWdvd2ljay9ub3RpZmljYXRpb24tcG9zaXRpb24tZ25vbWUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJub3RpZmljYXRpb24tcG9zaXRpb25AZHJ1Z28uZGV2IiwKICAidmVyc2lvbiI6IDIKfQ=="}, "40": {"version": "2", "sha256": "10c3z6b9gwnjybyshrgg4mh9gcj7pv7mwhci32bprsai9nbdid4p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZXMgcG9zaXRpb24gb2YgdGhlIG5vdGlmaWNhdGlvbiBiYW5uZXIgZnJvbSB0aGUgZGVmYXVsdCB0byB0aGUgcmlnaHQgc2lkZSBvZiB0aGUgc2NyZWVuLiIsCiAgIm5hbWUiOiAiTm90aWZpY2F0aW9uIEJhbm5lciBQb3NpdGlvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9icnVub2RydWdvd2ljay9ub3RpZmljYXRpb24tcG9zaXRpb24tZ25vbWUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJub3RpZmljYXRpb24tcG9zaXRpb25AZHJ1Z28uZGV2IiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
 , {"uuid": "volume_scroller@trflynn89.pm.me", "name": "Volume Scroller", "pname": "volume-scroller", "description": "Scroll up or down in the Top Bar to adjust volume.", "link": "https://extensions.gnome.org/extension/4109/volume-scroller/", "shell_version_map": {"38": {"version": "2", "sha256": "0wd7k5ryjq4w949qi73k5g1pi5nl5wvjxsw155ihyg3yinr8qjxs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNjcm9sbCB1cCBvciBkb3duIGluIHRoZSBUb3AgQmFyIHRvIGFkanVzdCB2b2x1bWUuIiwKICAibmFtZSI6ICJWb2x1bWUgU2Nyb2xsZXIiLAogICJvcmlnaW5hbC1hdXRob3IiOiAidHJmbHlubjg5QHBtLm1lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHJmbHlubjg5L2dub21lLXNoZWxsLXZvbHVtZS1zY3JvbGxlciIsCiAgInV1aWQiOiAidm9sdW1lX3Njcm9sbGVyQHRyZmx5bm44OS5wbS5tZSIsCiAgInZlcnNpb24iOiAyCn0="}}}
-, {"uuid": "customize-ibus@hollowman.ml", "name": "Customize IBus", "pname": "customize-ibus", "description": "Customize IBus for orientation, animation, font, ASCII mode auto-switch, reposition, system tray menu entries, input source indicator. Theme and background picture follow GNOME Night Light Mode.", "link": "https://extensions.gnome.org/extension/4112/customize-ibus/", "shell_version_map": {"38": {"version": "45", "sha256": "08v5j2sfjhlpl796l579w3yv32v1brr1gkny2qrl16lii5cl44dh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSBJQnVzIGZvciBvcmllbnRhdGlvbiwgYW5pbWF0aW9uLCBmb250LCBBU0NJSSBtb2RlIGF1dG8tc3dpdGNoLCByZXBvc2l0aW9uLCBzeXN0ZW0gdHJheSBtZW51IGVudHJpZXMsIGlucHV0IHNvdXJjZSBpbmRpY2F0b3IuIFRoZW1lIGFuZCBiYWNrZ3JvdW5kIHBpY3R1cmUgZm9sbG93IEdOT01FIE5pZ2h0IExpZ2h0IE1vZGUuIiwKICAiZXh0ZW5zaW9uLWlkIjogImN1c3RvbWl6ZS1pYnVzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiY3VzdG9taXplLWlidXMiLAogICJuYW1lIjogIkN1c3RvbWl6ZSBJQnVzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJob2xsb3dtYW5AaG9sbG93bWFuLm1sIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jdXN0b21pemUtaWJ1cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hvbGxvd21hbjYvY3VzdG9taXplLWlidXMiLAogICJ1dWlkIjogImN1c3RvbWl6ZS1pYnVzQGhvbGxvd21hbi5tbCIsCiAgInZlcnNpb24iOiA0NQp9"}, "40": {"version": "46", "sha256": "0nsyikhpbjwdx0mybab4v0nh61ahgcp1d3j2bjyqkrapif58mpfy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSBJQnVzIGZvciBvcmllbnRhdGlvbiwgYW5pbWF0aW9uLCBmb250LCBBU0NJSSBtb2RlIGF1dG8tc3dpdGNoLCByZXBvc2l0aW9uLCBzeXN0ZW0gdHJheSBtZW51IGVudHJpZXMsIGlucHV0IHNvdXJjZSBpbmRpY2F0b3IuIFRoZW1lIGFuZCBiYWNrZ3JvdW5kIHBpY3R1cmUgZm9sbG93IEdOT01FIE5pZ2h0IExpZ2h0IE1vZGUuIiwKICAiZXh0ZW5zaW9uLWlkIjogImN1c3RvbWl6ZS1pYnVzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiY3VzdG9taXplLWlidXMiLAogICJuYW1lIjogIkN1c3RvbWl6ZSBJQnVzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJob2xsb3dtYW5AaG9sbG93bWFuLm1sIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jdXN0b21pemUtaWJ1cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hvbGxvd21hbjYvY3VzdG9taXplLWlidXMiLAogICJ1dWlkIjogImN1c3RvbWl6ZS1pYnVzQGhvbGxvd21hbi5tbCIsCiAgInZlcnNpb24iOiA0Ngp9"}}}
+, {"uuid": "customize-ibus@hollowman.ml", "name": "Customize IBus", "pname": "customize-ibus", "description": "Full customization of appearance, behavior, system tray and input source indicator for IBus\n\nSupport Customization of:\n* Candidate Box Orientation\n* Candidate Box Animation\n* Right-click Candidate Box to Switch the Input Mode or Open the Tray Menu\n* Scroll on Candidate Box to Switch among Pages or Candidates\n* Fix Candidate Box to Not Follow the Caret and Set Fixed Position\n* Candidate Box Font\n* Input Mode Remember and Auto-switch by APP\n* Change Candidate Box Opacity\n* Fix IME List Order\n* Drag Candidate Box to Reposition\n* Show or Hide Candidate Box Page Buttons\n* System Tray Menus and Interaction Settings\n* * Show or Hide Tray Icon\n* * Directly Click Tray Icon to Switch Input Mode\n* * Add Additional Menu\n* Input Source Indicator Appearance and Interaction Settings\n* * Enable Indicator\n* * Only Indicate when Switching Input Mode\n* * Only Indicate when Using ASCII Input Mode\n* * Right-click Indicator to Hide\n* * Scroll on Indicator to Switch Input Mode\n* * Indicator Animation\n* * Customize Font\n* * Left-click Indicator to Drag to Move Indicator or Switch Input Mode\n* * Change Opacity\n* * Enable Auto-hide Indicator and Configure Auto-hide Timeout\n* Theme (Stylesheet Provided or Extracted from GNOME Shell Themes, Refer to Help Instructions in Extension for More)\n* Candidate Box Background and its Displaying Style\n* Theme and Background Picture Follow GNOME Night Light Mode\n\nUser Guide: https://github.com/openSUSE/Customize-IBus/blob/main/GUIDE.md\n\n深度定制 IBus 的外观、行为、系统托盘以及输入指示\n\n支持自定义:\n* 候选框方向\n* 候选框动画\n* 右键单击候选框以切换输入源或打开任务栏菜单\n* 候选框上滚动以切换页面或候选词\n* 固定候选框使其不跟随光标以及设定固定位置\n* 候选框字体\n* 输入模式根据应用记忆并自动切换\n* 更改候选框透明度\n* 固定输入法列表顺序\n* 拖拽移动候选框\n* 显示或隐藏候选框调页按钮\n* 系统任务栏托盘显示和交互设置\n* * 显示或隐藏托盘图标\n* * 直接点击托盘图标切换输入源\n* * 添加额外菜单\n* 输入源指示器及其显示和交互设置\n* * 启用指示器\n* * 仅在切换输入法时指示\n* * 仅在英文输入时指示\n* * 右击指示器来将其隐藏\n* * 指示器上滚动来切换输入源\n* * 指示器显示动画\n* * 自定义字体\n* * 左击指示器以拖拽移动或者切换输入源\n* * 更改透明度\n* * 启用自动隐藏以及配置自动隐藏时延\n* 皮肤样式主题(提供的或者从GNOME Shell主题中提取的样式表,参见扩展的帮助部分来获取更多指导)\n* 候选框背景图片及其显示样式\n* 主题和背景图片跟随GNOME夜灯\n\n使用指南:https://blog.csdn.net/qq_18572023/article/details/116331601", "link": "https://extensions.gnome.org/extension/4112/customize-ibus/", "shell_version_map": {"38": {"version": "70", "sha256": "00kpjzkgycskkyhzkgkavdnk9qmx6174007hj3p8w5kkl8mq8qjv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZ1bGwgY3VzdG9taXphdGlvbiBvZiBhcHBlYXJhbmNlLCBiZWhhdmlvciwgc3lzdGVtIHRyYXkgYW5kIGlucHV0IHNvdXJjZSBpbmRpY2F0b3IgZm9yIElCdXNcblxuU3VwcG9ydCBDdXN0b21pemF0aW9uIG9mOlxuKiBDYW5kaWRhdGUgQm94IE9yaWVudGF0aW9uXG4qIENhbmRpZGF0ZSBCb3ggQW5pbWF0aW9uXG4qIFJpZ2h0LWNsaWNrIENhbmRpZGF0ZSBCb3ggdG8gU3dpdGNoIHRoZSBJbnB1dCBNb2RlIG9yIE9wZW4gdGhlIFRyYXkgTWVudVxuKiBTY3JvbGwgb24gQ2FuZGlkYXRlIEJveCB0byBTd2l0Y2ggYW1vbmcgUGFnZXMgb3IgQ2FuZGlkYXRlc1xuKiBGaXggQ2FuZGlkYXRlIEJveCB0byBOb3QgRm9sbG93IHRoZSBDYXJldCBhbmQgU2V0IEZpeGVkIFBvc2l0aW9uXG4qIENhbmRpZGF0ZSBCb3ggRm9udFxuKiBJbnB1dCBNb2RlIFJlbWVtYmVyIGFuZCBBdXRvLXN3aXRjaCBieSBBUFBcbiogQ2hhbmdlIENhbmRpZGF0ZSBCb3ggT3BhY2l0eVxuKiBGaXggSU1FIExpc3QgT3JkZXJcbiogRHJhZyBDYW5kaWRhdGUgQm94IHRvIFJlcG9zaXRpb25cbiogU2hvdyBvciBIaWRlIENhbmRpZGF0ZSBCb3ggUGFnZSBCdXR0b25zXG4qIFN5c3RlbSBUcmF5IE1lbnVzIGFuZCBJbnRlcmFjdGlvbiBTZXR0aW5nc1xuKiAqIFNob3cgb3IgSGlkZSBUcmF5IEljb25cbiogKiBEaXJlY3RseSBDbGljayBUcmF5IEljb24gdG8gU3dpdGNoIElucHV0IE1vZGVcbiogKiBBZGQgQWRkaXRpb25hbCBNZW51XG4qIElucHV0IFNvdXJjZSBJbmRpY2F0b3IgQXBwZWFyYW5jZSBhbmQgSW50ZXJhY3Rpb24gU2V0dGluZ3NcbiogKiBFbmFibGUgSW5kaWNhdG9yXG4qICogT25seSBJbmRpY2F0ZSB3aGVuIFN3aXRjaGluZyBJbnB1dCBNb2RlXG4qICogT25seSBJbmRpY2F0ZSB3aGVuIFVzaW5nIEFTQ0lJIElucHV0IE1vZGVcbiogKiBSaWdodC1jbGljayBJbmRpY2F0b3IgdG8gSGlkZVxuKiAqIFNjcm9sbCBvbiBJbmRpY2F0b3IgdG8gU3dpdGNoIElucHV0IE1vZGVcbiogKiBJbmRpY2F0b3IgQW5pbWF0aW9uXG4qICogQ3VzdG9taXplIEZvbnRcbiogKiBMZWZ0LWNsaWNrIEluZGljYXRvciB0byBEcmFnIHRvIE1vdmUgSW5kaWNhdG9yIG9yIFN3aXRjaCBJbnB1dCBNb2RlXG4qICogQ2hhbmdlIE9wYWNpdHlcbiogKiBFbmFibGUgQXV0by1oaWRlIEluZGljYXRvciBhbmQgQ29uZmlndXJlIEF1dG8taGlkZSBUaW1lb3V0XG4qIFRoZW1lIChTdHlsZXNoZWV0IFByb3ZpZGVkIG9yIEV4dHJhY3RlZCBmcm9tIEdOT01FIFNoZWxsIFRoZW1lcywgUmVmZXIgdG8gSGVscCBJbnN0cnVjdGlvbnMgaW4gRXh0ZW5zaW9uIGZvciBNb3JlKVxuKiBDYW5kaWRhdGUgQm94IEJhY2tncm91bmQgYW5kIGl0cyBEaXNwbGF5aW5nIFN0eWxlXG4qIFRoZW1lIGFuZCBCYWNrZ3JvdW5kIFBpY3R1cmUgRm9sbG93IEdOT01FIE5pZ2h0IExpZ2h0IE1vZGVcblxuVXNlciBHdWlkZTogaHR0cHM6Ly9naXRodWIuY29tL29wZW5TVVNFL0N1c3RvbWl6ZS1JQnVzL2Jsb2IvbWFpbi9HVUlERS5tZFxuXG5cdTZkZjFcdTVlYTZcdTViOWFcdTUyMzYgSUJ1cyBcdTc2ODRcdTU5MTZcdTg5YzJcdTMwMDFcdTg4NGNcdTRlM2FcdTMwMDFcdTdjZmJcdTdlZGZcdTYyNThcdTc2ZDhcdTRlZTVcdTUzY2FcdThmOTNcdTUxNjVcdTYzMDdcdTc5M2FcblxuXHU2NTJmXHU2MzAxXHU4MWVhXHU1YjlhXHU0ZTQ5XHVmZjFhXG4qIFx1NTAxOVx1OTAwOVx1Njg0Nlx1NjViOVx1NTQxMVxuKiBcdTUwMTlcdTkwMDlcdTY4NDZcdTUyYThcdTc1M2JcbiogXHU1M2YzXHU5NTJlXHU1MzU1XHU1MWZiXHU1MDE5XHU5MDA5XHU2ODQ2XHU0ZWU1XHU1MjA3XHU2MzYyXHU4ZjkzXHU1MTY1XHU2ZTkwXHU2MjE2XHU2MjUzXHU1ZjAwXHU0ZWZiXHU1MmExXHU2ODBmXHU4M2RjXHU1MzU1XG4qIFx1NTAxOVx1OTAwOVx1Njg0Nlx1NGUwYVx1NmVkYVx1NTJhOFx1NGVlNVx1NTIwN1x1NjM2Mlx1OTg3NVx1OTc2Mlx1NjIxNlx1NTAxOVx1OTAwOVx1OGJjZFxuKiBcdTU2ZmFcdTViOWFcdTUwMTlcdTkwMDlcdTY4NDZcdTRmN2ZcdTUxNzZcdTRlMGRcdThkZGZcdTk2OGZcdTUxNDlcdTY4MDdcdTRlZTVcdTUzY2FcdThiYmVcdTViOWFcdTU2ZmFcdTViOWFcdTRmNGRcdTdmNmVcbiogXHU1MDE5XHU5MDA5XHU2ODQ2XHU1YjU3XHU0ZjUzXG4qIFx1OGY5M1x1NTE2NVx1NmEyMVx1NWYwZlx1NjgzOVx1NjM2ZVx1NWU5NFx1NzUyOFx1OGJiMFx1NWZjNlx1NWU3Nlx1ODFlYVx1NTJhOFx1NTIwN1x1NjM2MlxuKiBcdTY2ZjRcdTY1MzlcdTUwMTlcdTkwMDlcdTY4NDZcdTkwMGZcdTY2MGVcdTVlYTZcbiogXHU1NmZhXHU1YjlhXHU4ZjkzXHU1MTY1XHU2Y2Q1XHU1MjE3XHU4ODY4XHU5ODdhXHU1ZThmXG4qIFx1NjJkNlx1NjJmZFx1NzlmYlx1NTJhOFx1NTAxOVx1OTAwOVx1Njg0NlxuKiBcdTY2M2VcdTc5M2FcdTYyMTZcdTk2OTBcdTg1Y2ZcdTUwMTlcdTkwMDlcdTY4NDZcdThjMDNcdTk4NzVcdTYzMDlcdTk0YWVcbiogXHU3Y2ZiXHU3ZWRmXHU0ZWZiXHU1MmExXHU2ODBmXHU2MjU4XHU3NmQ4XHU2NjNlXHU3OTNhXHU1NDhjXHU0ZWE0XHU0ZTkyXHU4YmJlXHU3ZjZlXG4qICogXHU2NjNlXHU3OTNhXHU2MjE2XHU5NjkwXHU4NWNmXHU2MjU4XHU3NmQ4XHU1NmZlXHU2ODA3XG4qICogXHU3NmY0XHU2M2E1XHU3MGI5XHU1MWZiXHU2MjU4XHU3NmQ4XHU1NmZlXHU2ODA3XHU1MjA3XHU2MzYyXHU4ZjkzXHU1MTY1XHU2ZTkwXG4qICogXHU2ZGZiXHU1MmEwXHU5ODlkXHU1OTE2XHU4M2RjXHU1MzU1XG4qIFx1OGY5M1x1NTE2NVx1NmU5MFx1NjMwN1x1NzkzYVx1NTY2OFx1NTNjYVx1NTE3Nlx1NjYzZVx1NzkzYVx1NTQ4Y1x1NGVhNFx1NGU5Mlx1OGJiZVx1N2Y2ZVxuKiAqIFx1NTQyZlx1NzUyOFx1NjMwN1x1NzkzYVx1NTY2OFxuKiAqIFx1NGVjNVx1NTcyOFx1NTIwN1x1NjM2Mlx1OGY5M1x1NTE2NVx1NmNkNVx1NjVmNlx1NjMwN1x1NzkzYVxuKiAqIFx1NGVjNVx1NTcyOFx1ODJmMVx1NjU4N1x1OGY5M1x1NTE2NVx1NjVmNlx1NjMwN1x1NzkzYVxuKiAqIFx1NTNmM1x1NTFmYlx1NjMwN1x1NzkzYVx1NTY2OFx1Njc2NVx1NWMwNlx1NTE3Nlx1OTY5MFx1ODVjZlxuKiAqIFx1NjMwN1x1NzkzYVx1NTY2OFx1NGUwYVx1NmVkYVx1NTJhOFx1Njc2NVx1NTIwN1x1NjM2Mlx1OGY5M1x1NTE2NVx1NmU5MFxuKiAqIFx1NjMwN1x1NzkzYVx1NTY2OFx1NjYzZVx1NzkzYVx1NTJhOFx1NzUzYlxuKiAqIFx1ODFlYVx1NWI5YVx1NGU0OVx1NWI1N1x1NGY1M1xuKiAqIFx1NWRlNlx1NTFmYlx1NjMwN1x1NzkzYVx1NTY2OFx1NGVlNVx1NjJkNlx1NjJmZFx1NzlmYlx1NTJhOFx1NjIxNlx1ODAwNVx1NTIwN1x1NjM2Mlx1OGY5M1x1NTE2NVx1NmU5MFxuKiAqIFx1NjZmNFx1NjUzOVx1OTAwZlx1NjYwZVx1NWVhNlxuKiAqIFx1NTQyZlx1NzUyOFx1ODFlYVx1NTJhOFx1OTY5MFx1ODVjZlx1NGVlNVx1NTNjYVx1OTE0ZFx1N2Y2ZVx1ODFlYVx1NTJhOFx1OTY5MFx1ODVjZlx1NjVmNlx1NWVmNlxuKiBcdTc2YWVcdTgwYTRcdTY4MzdcdTVmMGZcdTRlM2JcdTk4OThcdWZmMDhcdTYzZDBcdTRmOWJcdTc2ODRcdTYyMTZcdTgwMDVcdTRlY2VHTk9NRSBTaGVsbFx1NGUzYlx1OTg5OFx1NGUyZFx1NjNkMFx1NTNkNlx1NzY4NFx1NjgzN1x1NWYwZlx1ODg2OFx1ZmYwY1x1NTNjMlx1ODljMVx1NjI2OVx1NWM1NVx1NzY4NFx1NWUyZVx1NTJhOVx1OTBlOFx1NTIwNlx1Njc2NVx1ODNiN1x1NTNkNlx1NjZmNFx1NTkxYVx1NjMwN1x1NWJmY1x1ZmYwOVxuKiBcdTUwMTlcdTkwMDlcdTY4NDZcdTgwY2NcdTY2NmZcdTU2ZmVcdTcyNDdcdTUzY2FcdTUxNzZcdTY2M2VcdTc5M2FcdTY4MzdcdTVmMGZcbiogXHU0ZTNiXHU5ODk4XHU1NDhjXHU4MGNjXHU2NjZmXHU1NmZlXHU3MjQ3XHU4ZGRmXHU5NjhmR05PTUVcdTU5MWNcdTcwNmZcblxuXHU0ZjdmXHU3NTI4XHU2MzA3XHU1MzU3XHVmZjFhaHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzE4NTcyMDIzL2FydGljbGUvZGV0YWlscy8xMTYzMzE2MDEiLAogICJleHRlbnNpb24taWQiOiAiY3VzdG9taXplLWlidXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjdXN0b21pemUtaWJ1cyIsCiAgIm5hbWUiOiAiQ3VzdG9taXplIElCdXMiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImhvbGxvd21hbkBob2xsb3dtYW4ubWwiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmN1c3RvbWl6ZS1pYnVzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL29wZW5TVVNFL0N1c3RvbWl6ZS1JQnVzIiwKICAidXVpZCI6ICJjdXN0b21pemUtaWJ1c0Bob2xsb3dtYW4ubWwiLAogICJ2ZXJzaW9uIjogNzAKfQ=="}, "40": {"version": "70", "sha256": "00kpjzkgycskkyhzkgkavdnk9qmx6174007hj3p8w5kkl8mq8qjv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZ1bGwgY3VzdG9taXphdGlvbiBvZiBhcHBlYXJhbmNlLCBiZWhhdmlvciwgc3lzdGVtIHRyYXkgYW5kIGlucHV0IHNvdXJjZSBpbmRpY2F0b3IgZm9yIElCdXNcblxuU3VwcG9ydCBDdXN0b21pemF0aW9uIG9mOlxuKiBDYW5kaWRhdGUgQm94IE9yaWVudGF0aW9uXG4qIENhbmRpZGF0ZSBCb3ggQW5pbWF0aW9uXG4qIFJpZ2h0LWNsaWNrIENhbmRpZGF0ZSBCb3ggdG8gU3dpdGNoIHRoZSBJbnB1dCBNb2RlIG9yIE9wZW4gdGhlIFRyYXkgTWVudVxuKiBTY3JvbGwgb24gQ2FuZGlkYXRlIEJveCB0byBTd2l0Y2ggYW1vbmcgUGFnZXMgb3IgQ2FuZGlkYXRlc1xuKiBGaXggQ2FuZGlkYXRlIEJveCB0byBOb3QgRm9sbG93IHRoZSBDYXJldCBhbmQgU2V0IEZpeGVkIFBvc2l0aW9uXG4qIENhbmRpZGF0ZSBCb3ggRm9udFxuKiBJbnB1dCBNb2RlIFJlbWVtYmVyIGFuZCBBdXRvLXN3aXRjaCBieSBBUFBcbiogQ2hhbmdlIENhbmRpZGF0ZSBCb3ggT3BhY2l0eVxuKiBGaXggSU1FIExpc3QgT3JkZXJcbiogRHJhZyBDYW5kaWRhdGUgQm94IHRvIFJlcG9zaXRpb25cbiogU2hvdyBvciBIaWRlIENhbmRpZGF0ZSBCb3ggUGFnZSBCdXR0b25zXG4qIFN5c3RlbSBUcmF5IE1lbnVzIGFuZCBJbnRlcmFjdGlvbiBTZXR0aW5nc1xuKiAqIFNob3cgb3IgSGlkZSBUcmF5IEljb25cbiogKiBEaXJlY3RseSBDbGljayBUcmF5IEljb24gdG8gU3dpdGNoIElucHV0IE1vZGVcbiogKiBBZGQgQWRkaXRpb25hbCBNZW51XG4qIElucHV0IFNvdXJjZSBJbmRpY2F0b3IgQXBwZWFyYW5jZSBhbmQgSW50ZXJhY3Rpb24gU2V0dGluZ3NcbiogKiBFbmFibGUgSW5kaWNhdG9yXG4qICogT25seSBJbmRpY2F0ZSB3aGVuIFN3aXRjaGluZyBJbnB1dCBNb2RlXG4qICogT25seSBJbmRpY2F0ZSB3aGVuIFVzaW5nIEFTQ0lJIElucHV0IE1vZGVcbiogKiBSaWdodC1jbGljayBJbmRpY2F0b3IgdG8gSGlkZVxuKiAqIFNjcm9sbCBvbiBJbmRpY2F0b3IgdG8gU3dpdGNoIElucHV0IE1vZGVcbiogKiBJbmRpY2F0b3IgQW5pbWF0aW9uXG4qICogQ3VzdG9taXplIEZvbnRcbiogKiBMZWZ0LWNsaWNrIEluZGljYXRvciB0byBEcmFnIHRvIE1vdmUgSW5kaWNhdG9yIG9yIFN3aXRjaCBJbnB1dCBNb2RlXG4qICogQ2hhbmdlIE9wYWNpdHlcbiogKiBFbmFibGUgQXV0by1oaWRlIEluZGljYXRvciBhbmQgQ29uZmlndXJlIEF1dG8taGlkZSBUaW1lb3V0XG4qIFRoZW1lIChTdHlsZXNoZWV0IFByb3ZpZGVkIG9yIEV4dHJhY3RlZCBmcm9tIEdOT01FIFNoZWxsIFRoZW1lcywgUmVmZXIgdG8gSGVscCBJbnN0cnVjdGlvbnMgaW4gRXh0ZW5zaW9uIGZvciBNb3JlKVxuKiBDYW5kaWRhdGUgQm94IEJhY2tncm91bmQgYW5kIGl0cyBEaXNwbGF5aW5nIFN0eWxlXG4qIFRoZW1lIGFuZCBCYWNrZ3JvdW5kIFBpY3R1cmUgRm9sbG93IEdOT01FIE5pZ2h0IExpZ2h0IE1vZGVcblxuVXNlciBHdWlkZTogaHR0cHM6Ly9naXRodWIuY29tL29wZW5TVVNFL0N1c3RvbWl6ZS1JQnVzL2Jsb2IvbWFpbi9HVUlERS5tZFxuXG5cdTZkZjFcdTVlYTZcdTViOWFcdTUyMzYgSUJ1cyBcdTc2ODRcdTU5MTZcdTg5YzJcdTMwMDFcdTg4NGNcdTRlM2FcdTMwMDFcdTdjZmJcdTdlZGZcdTYyNThcdTc2ZDhcdTRlZTVcdTUzY2FcdThmOTNcdTUxNjVcdTYzMDdcdTc5M2FcblxuXHU2NTJmXHU2MzAxXHU4MWVhXHU1YjlhXHU0ZTQ5XHVmZjFhXG4qIFx1NTAxOVx1OTAwOVx1Njg0Nlx1NjViOVx1NTQxMVxuKiBcdTUwMTlcdTkwMDlcdTY4NDZcdTUyYThcdTc1M2JcbiogXHU1M2YzXHU5NTJlXHU1MzU1XHU1MWZiXHU1MDE5XHU5MDA5XHU2ODQ2XHU0ZWU1XHU1MjA3XHU2MzYyXHU4ZjkzXHU1MTY1XHU2ZTkwXHU2MjE2XHU2MjUzXHU1ZjAwXHU0ZWZiXHU1MmExXHU2ODBmXHU4M2RjXHU1MzU1XG4qIFx1NTAxOVx1OTAwOVx1Njg0Nlx1NGUwYVx1NmVkYVx1NTJhOFx1NGVlNVx1NTIwN1x1NjM2Mlx1OTg3NVx1OTc2Mlx1NjIxNlx1NTAxOVx1OTAwOVx1OGJjZFxuKiBcdTU2ZmFcdTViOWFcdTUwMTlcdTkwMDlcdTY4NDZcdTRmN2ZcdTUxNzZcdTRlMGRcdThkZGZcdTk2OGZcdTUxNDlcdTY4MDdcdTRlZTVcdTUzY2FcdThiYmVcdTViOWFcdTU2ZmFcdTViOWFcdTRmNGRcdTdmNmVcbiogXHU1MDE5XHU5MDA5XHU2ODQ2XHU1YjU3XHU0ZjUzXG4qIFx1OGY5M1x1NTE2NVx1NmEyMVx1NWYwZlx1NjgzOVx1NjM2ZVx1NWU5NFx1NzUyOFx1OGJiMFx1NWZjNlx1NWU3Nlx1ODFlYVx1NTJhOFx1NTIwN1x1NjM2MlxuKiBcdTY2ZjRcdTY1MzlcdTUwMTlcdTkwMDlcdTY4NDZcdTkwMGZcdTY2MGVcdTVlYTZcbiogXHU1NmZhXHU1YjlhXHU4ZjkzXHU1MTY1XHU2Y2Q1XHU1MjE3XHU4ODY4XHU5ODdhXHU1ZThmXG4qIFx1NjJkNlx1NjJmZFx1NzlmYlx1NTJhOFx1NTAxOVx1OTAwOVx1Njg0NlxuKiBcdTY2M2VcdTc5M2FcdTYyMTZcdTk2OTBcdTg1Y2ZcdTUwMTlcdTkwMDlcdTY4NDZcdThjMDNcdTk4NzVcdTYzMDlcdTk0YWVcbiogXHU3Y2ZiXHU3ZWRmXHU0ZWZiXHU1MmExXHU2ODBmXHU2MjU4XHU3NmQ4XHU2NjNlXHU3OTNhXHU1NDhjXHU0ZWE0XHU0ZTkyXHU4YmJlXHU3ZjZlXG4qICogXHU2NjNlXHU3OTNhXHU2MjE2XHU5NjkwXHU4NWNmXHU2MjU4XHU3NmQ4XHU1NmZlXHU2ODA3XG4qICogXHU3NmY0XHU2M2E1XHU3MGI5XHU1MWZiXHU2MjU4XHU3NmQ4XHU1NmZlXHU2ODA3XHU1MjA3XHU2MzYyXHU4ZjkzXHU1MTY1XHU2ZTkwXG4qICogXHU2ZGZiXHU1MmEwXHU5ODlkXHU1OTE2XHU4M2RjXHU1MzU1XG4qIFx1OGY5M1x1NTE2NVx1NmU5MFx1NjMwN1x1NzkzYVx1NTY2OFx1NTNjYVx1NTE3Nlx1NjYzZVx1NzkzYVx1NTQ4Y1x1NGVhNFx1NGU5Mlx1OGJiZVx1N2Y2ZVxuKiAqIFx1NTQyZlx1NzUyOFx1NjMwN1x1NzkzYVx1NTY2OFxuKiAqIFx1NGVjNVx1NTcyOFx1NTIwN1x1NjM2Mlx1OGY5M1x1NTE2NVx1NmNkNVx1NjVmNlx1NjMwN1x1NzkzYVxuKiAqIFx1NGVjNVx1NTcyOFx1ODJmMVx1NjU4N1x1OGY5M1x1NTE2NVx1NjVmNlx1NjMwN1x1NzkzYVxuKiAqIFx1NTNmM1x1NTFmYlx1NjMwN1x1NzkzYVx1NTY2OFx1Njc2NVx1NWMwNlx1NTE3Nlx1OTY5MFx1ODVjZlxuKiAqIFx1NjMwN1x1NzkzYVx1NTY2OFx1NGUwYVx1NmVkYVx1NTJhOFx1Njc2NVx1NTIwN1x1NjM2Mlx1OGY5M1x1NTE2NVx1NmU5MFxuKiAqIFx1NjMwN1x1NzkzYVx1NTY2OFx1NjYzZVx1NzkzYVx1NTJhOFx1NzUzYlxuKiAqIFx1ODFlYVx1NWI5YVx1NGU0OVx1NWI1N1x1NGY1M1xuKiAqIFx1NWRlNlx1NTFmYlx1NjMwN1x1NzkzYVx1NTY2OFx1NGVlNVx1NjJkNlx1NjJmZFx1NzlmYlx1NTJhOFx1NjIxNlx1ODAwNVx1NTIwN1x1NjM2Mlx1OGY5M1x1NTE2NVx1NmU5MFxuKiAqIFx1NjZmNFx1NjUzOVx1OTAwZlx1NjYwZVx1NWVhNlxuKiAqIFx1NTQyZlx1NzUyOFx1ODFlYVx1NTJhOFx1OTY5MFx1ODVjZlx1NGVlNVx1NTNjYVx1OTE0ZFx1N2Y2ZVx1ODFlYVx1NTJhOFx1OTY5MFx1ODVjZlx1NjVmNlx1NWVmNlxuKiBcdTc2YWVcdTgwYTRcdTY4MzdcdTVmMGZcdTRlM2JcdTk4OThcdWZmMDhcdTYzZDBcdTRmOWJcdTc2ODRcdTYyMTZcdTgwMDVcdTRlY2VHTk9NRSBTaGVsbFx1NGUzYlx1OTg5OFx1NGUyZFx1NjNkMFx1NTNkNlx1NzY4NFx1NjgzN1x1NWYwZlx1ODg2OFx1ZmYwY1x1NTNjMlx1ODljMVx1NjI2OVx1NWM1NVx1NzY4NFx1NWUyZVx1NTJhOVx1OTBlOFx1NTIwNlx1Njc2NVx1ODNiN1x1NTNkNlx1NjZmNFx1NTkxYVx1NjMwN1x1NWJmY1x1ZmYwOVxuKiBcdTUwMTlcdTkwMDlcdTY4NDZcdTgwY2NcdTY2NmZcdTU2ZmVcdTcyNDdcdTUzY2FcdTUxNzZcdTY2M2VcdTc5M2FcdTY4MzdcdTVmMGZcbiogXHU0ZTNiXHU5ODk4XHU1NDhjXHU4MGNjXHU2NjZmXHU1NmZlXHU3MjQ3XHU4ZGRmXHU5NjhmR05PTUVcdTU5MWNcdTcwNmZcblxuXHU0ZjdmXHU3NTI4XHU2MzA3XHU1MzU3XHVmZjFhaHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzE4NTcyMDIzL2FydGljbGUvZGV0YWlscy8xMTYzMzE2MDEiLAogICJleHRlbnNpb24taWQiOiAiY3VzdG9taXplLWlidXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjdXN0b21pemUtaWJ1cyIsCiAgIm5hbWUiOiAiQ3VzdG9taXplIElCdXMiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImhvbGxvd21hbkBob2xsb3dtYW4ubWwiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmN1c3RvbWl6ZS1pYnVzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL29wZW5TVVNFL0N1c3RvbWl6ZS1JQnVzIiwKICAidXVpZCI6ICJjdXN0b21pemUtaWJ1c0Bob2xsb3dtYW4ubWwiLAogICJ2ZXJzaW9uIjogNzAKfQ=="}}}
 , {"uuid": "fildemGMenu@gonza.com", "name": "Fildem global menu", "pname": "fildem-global-menu", "description": "Global menu and HUD for Gnome\n\nThis extension requires the installation of an external program. Please, check the instructions on Github.\n\nThis extension works on gnome 40 but the preferences doesn’t work, if you want you can install it manually modifing the version supported on metadata.", "link": "https://extensions.gnome.org/extension/4114/fildem-global-menu/", "shell_version_map": {"38": {"version": "1", "sha256": "0zgkf4cb4hl0r6r1kzwlvnr4f2svlpwayrw7xqs39fa19cc1zasv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdsb2JhbCBtZW51IGFuZCBIVUQgZm9yIEdub21lXG5cblRoaXMgZXh0ZW5zaW9uIHJlcXVpcmVzIHRoZSBpbnN0YWxsYXRpb24gb2YgYW4gZXh0ZXJuYWwgcHJvZ3JhbS4gUGxlYXNlLCBjaGVjayB0aGUgaW5zdHJ1Y3Rpb25zIG9uIEdpdGh1Yi5cblxuVGhpcyBleHRlbnNpb24gd29ya3Mgb24gZ25vbWUgNDAgYnV0IHRoZSBwcmVmZXJlbmNlcyBkb2Vzblx1MjAxOXQgd29yaywgaWYgeW91IHdhbnQgeW91IGNhbiBpbnN0YWxsIGl0IG1hbnVhbGx5IG1vZGlmaW5nIHRoZSB2ZXJzaW9uIHN1cHBvcnRlZCBvbiBtZXRhZGF0YS4iLAogICJuYW1lIjogIkZpbGRlbSBnbG9iYWwgbWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5maWxkZW0tZ2xvYmFsLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nb256YWFyY3IvRmlsZGVtIiwKICAidXVpZCI6ICJmaWxkZW1HTWVudUBnb256YS5jb20iLAogICJ2ZXJzaW9uIjogMQp9"}}}
 , {"uuid": "remove-panel@sulincix", "name": "RemovePanel", "pname": "removepanel", "description": "remove top panel from gnome-shell", "link": "https://extensions.gnome.org/extension/4118/removepanel/", "shell_version_map": {"38": {"version": "4", "sha256": "0f6p5cd68qlb082favqf2h7q4vn8c6rh0y48g3s2d9fxgccvc1di", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogInJlbW92ZSB0b3AgcGFuZWwgZnJvbSBnbm9tZS1zaGVsbCIsCiAgIm5hbWUiOiAiUmVtb3ZlUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAicmVtb3ZlLXBhbmVsQHN1bGluY2l4IiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
 , {"uuid": "bottom-triggers-activities@papjul", "name": "Bottom triggers Activities overview", "pname": "bottom-triggers-activities-overview", "description": "DEPRECATION NOTICE: No longer maintained. Please migrate to another extension such as Hot Edge https://extensions.gnome.org/extension/4222/hot-edge/\n\nAllows to toggle Activities overview when the mouse reaches the bottom edge of the screen.\nPLEASE report your bugs to the extension homepage link below. I cannot reply to you if you write a review here.\n\nThis is a fork of Dash to Dock focusing only on doing this, it adds support for Gnome Shell 40 and is mainly aimed at Gnome Shell 40 users to reduce mouse travel.\n\nI may backport fixes from upstream, but I don't intend to add any new feature and may not fix any bug if I'm not affected/cannot reproduce. However, I will accept pull requests that keep the extension in the KISS principle. It could be adding a prefs UI for toggle delay and edge(s) triggered, or supporting multiple monitors.\n\nYou can customize the following parameters from the constructor of extension.js:\n        this._position = St.Side.BOTTOM;\n        this._toggleDelay = 0.25;", "link": "https://extensions.gnome.org/extension/4120/bottom-triggers-activities-overview/", "shell_version_map": {"38": {"version": "2", "sha256": "1q1ahz612w2fzbvky8ydwns2kykbj2vqcr5ddyncg16lhrfzx9vq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRFUFJFQ0FUSU9OIE5PVElDRTogTm8gbG9uZ2VyIG1haW50YWluZWQuIFBsZWFzZSBtaWdyYXRlIHRvIGFub3RoZXIgZXh0ZW5zaW9uIHN1Y2ggYXMgSG90IEVkZ2UgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vNDIyMi9ob3QtZWRnZS9cblxuQWxsb3dzIHRvIHRvZ2dsZSBBY3Rpdml0aWVzIG92ZXJ2aWV3IHdoZW4gdGhlIG1vdXNlIHJlYWNoZXMgdGhlIGJvdHRvbSBlZGdlIG9mIHRoZSBzY3JlZW4uXG5QTEVBU0UgcmVwb3J0IHlvdXIgYnVncyB0byB0aGUgZXh0ZW5zaW9uIGhvbWVwYWdlIGxpbmsgYmVsb3cuIEkgY2Fubm90IHJlcGx5IHRvIHlvdSBpZiB5b3Ugd3JpdGUgYSByZXZpZXcgaGVyZS5cblxuVGhpcyBpcyBhIGZvcmsgb2YgRGFzaCB0byBEb2NrIGZvY3VzaW5nIG9ubHkgb24gZG9pbmcgdGhpcywgaXQgYWRkcyBzdXBwb3J0IGZvciBHbm9tZSBTaGVsbCA0MCBhbmQgaXMgbWFpbmx5IGFpbWVkIGF0IEdub21lIFNoZWxsIDQwIHVzZXJzIHRvIHJlZHVjZSBtb3VzZSB0cmF2ZWwuXG5cbkkgbWF5IGJhY2twb3J0IGZpeGVzIGZyb20gdXBzdHJlYW0sIGJ1dCBJIGRvbid0IGludGVuZCB0byBhZGQgYW55IG5ldyBmZWF0dXJlIGFuZCBtYXkgbm90IGZpeCBhbnkgYnVnIGlmIEknbSBub3QgYWZmZWN0ZWQvY2Fubm90IHJlcHJvZHVjZS4gSG93ZXZlciwgSSB3aWxsIGFjY2VwdCBwdWxsIHJlcXVlc3RzIHRoYXQga2VlcCB0aGUgZXh0ZW5zaW9uIGluIHRoZSBLSVNTIHByaW5jaXBsZS4gSXQgY291bGQgYmUgYWRkaW5nIGEgcHJlZnMgVUkgZm9yIHRvZ2dsZSBkZWxheSBhbmQgZWRnZShzKSB0cmlnZ2VyZWQsIG9yIHN1cHBvcnRpbmcgbXVsdGlwbGUgbW9uaXRvcnMuXG5cbllvdSBjYW4gY3VzdG9taXplIHRoZSBmb2xsb3dpbmcgcGFyYW1ldGVycyBmcm9tIHRoZSBjb25zdHJ1Y3RvciBvZiBleHRlbnNpb24uanM6XG4gICAgICAgIHRoaXMuX3Bvc2l0aW9uID0gU3QuU2lkZS5CT1RUT007XG4gICAgICAgIHRoaXMuX3RvZ2dsZURlbGF5ID0gMC4yNTsiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJib3R0b210cmlnZ2Vyc2FjdGl2aXRpZXMiLAogICJuYW1lIjogIkJvdHRvbSB0cmlnZ2VycyBBY3Rpdml0aWVzIG92ZXJ2aWV3IiwKICAib3JpZ2luYWwtYXV0aG9yIjogInBhcGp1bCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wYXBqdWwvYm90dG9tLXRyaWdnZXJzLWFjdGl2aXRpZXMiLAogICJ1dWlkIjogImJvdHRvbS10cmlnZ2Vycy1hY3Rpdml0aWVzQHBhcGp1bCIsCiAgInZlcnNpb24iOiAyCn0="}, "40": {"version": "2", "sha256": "1q1ahz612w2fzbvky8ydwns2kykbj2vqcr5ddyncg16lhrfzx9vq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRFUFJFQ0FUSU9OIE5PVElDRTogTm8gbG9uZ2VyIG1haW50YWluZWQuIFBsZWFzZSBtaWdyYXRlIHRvIGFub3RoZXIgZXh0ZW5zaW9uIHN1Y2ggYXMgSG90IEVkZ2UgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vNDIyMi9ob3QtZWRnZS9cblxuQWxsb3dzIHRvIHRvZ2dsZSBBY3Rpdml0aWVzIG92ZXJ2aWV3IHdoZW4gdGhlIG1vdXNlIHJlYWNoZXMgdGhlIGJvdHRvbSBlZGdlIG9mIHRoZSBzY3JlZW4uXG5QTEVBU0UgcmVwb3J0IHlvdXIgYnVncyB0byB0aGUgZXh0ZW5zaW9uIGhvbWVwYWdlIGxpbmsgYmVsb3cuIEkgY2Fubm90IHJlcGx5IHRvIHlvdSBpZiB5b3Ugd3JpdGUgYSByZXZpZXcgaGVyZS5cblxuVGhpcyBpcyBhIGZvcmsgb2YgRGFzaCB0byBEb2NrIGZvY3VzaW5nIG9ubHkgb24gZG9pbmcgdGhpcywgaXQgYWRkcyBzdXBwb3J0IGZvciBHbm9tZSBTaGVsbCA0MCBhbmQgaXMgbWFpbmx5IGFpbWVkIGF0IEdub21lIFNoZWxsIDQwIHVzZXJzIHRvIHJlZHVjZSBtb3VzZSB0cmF2ZWwuXG5cbkkgbWF5IGJhY2twb3J0IGZpeGVzIGZyb20gdXBzdHJlYW0sIGJ1dCBJIGRvbid0IGludGVuZCB0byBhZGQgYW55IG5ldyBmZWF0dXJlIGFuZCBtYXkgbm90IGZpeCBhbnkgYnVnIGlmIEknbSBub3QgYWZmZWN0ZWQvY2Fubm90IHJlcHJvZHVjZS4gSG93ZXZlciwgSSB3aWxsIGFjY2VwdCBwdWxsIHJlcXVlc3RzIHRoYXQga2VlcCB0aGUgZXh0ZW5zaW9uIGluIHRoZSBLSVNTIHByaW5jaXBsZS4gSXQgY291bGQgYmUgYWRkaW5nIGEgcHJlZnMgVUkgZm9yIHRvZ2dsZSBkZWxheSBhbmQgZWRnZShzKSB0cmlnZ2VyZWQsIG9yIHN1cHBvcnRpbmcgbXVsdGlwbGUgbW9uaXRvcnMuXG5cbllvdSBjYW4gY3VzdG9taXplIHRoZSBmb2xsb3dpbmcgcGFyYW1ldGVycyBmcm9tIHRoZSBjb25zdHJ1Y3RvciBvZiBleHRlbnNpb24uanM6XG4gICAgICAgIHRoaXMuX3Bvc2l0aW9uID0gU3QuU2lkZS5CT1RUT007XG4gICAgICAgIHRoaXMuX3RvZ2dsZURlbGF5ID0gMC4yNTsiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJib3R0b210cmlnZ2Vyc2FjdGl2aXRpZXMiLAogICJuYW1lIjogIkJvdHRvbSB0cmlnZ2VycyBBY3Rpdml0aWVzIG92ZXJ2aWV3IiwKICAib3JpZ2luYWwtYXV0aG9yIjogInBhcGp1bCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wYXBqdWwvYm90dG9tLXRyaWdnZXJzLWFjdGl2aXRpZXMiLAogICJ1dWlkIjogImJvdHRvbS10cmlnZ2Vycy1hY3Rpdml0aWVzQHBhcGp1bCIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"uuid": "gnome-shell-Google-search-provider@MrNinso", "name": "Google Search Provider", "pname": "google-search-provider", "description": "Add Google search to Gnome Shell Search \n TODO: \n - Add google suggestions (For now using duckduckGo suggestions)", "link": "https://extensions.gnome.org/extension/4132/google-search-provider/", "shell_version_map": {"38": {"version": "5", "sha256": "056d2x5v2kzlkdab0bf88r7hs93iwdm6nhlf5q5fhjmqgc88ap1b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBHb29nbGUgc2VhcmNoIHRvIEdub21lIFNoZWxsIFNlYXJjaCBcbiBUT0RPOiBcbiAtIEFkZCBnb29nbGUgc3VnZ2VzdGlvbnMgKEZvciBub3cgdXNpbmcgZHVja2R1Y2tHbyBzdWdnZXN0aW9ucykiLAogICJuYW1lIjogIkdvb2dsZSBTZWFyY2ggUHJvdmlkZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZ29vZ2xlLXNlYXJjaC1wcm92aWRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9Nck5pbnNvL2dub21lLXNoZWxsLWdvb2dsZS1zZWFyY2gtcHJvdmlkZXIiLAogICJ1dWlkIjogImdub21lLXNoZWxsLUdvb2dsZS1zZWFyY2gtcHJvdmlkZXJATXJOaW5zbyIsCiAgInZlcnNpb24iOiA1Cn0="}, "40": {"version": "5", "sha256": "056d2x5v2kzlkdab0bf88r7hs93iwdm6nhlf5q5fhjmqgc88ap1b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBHb29nbGUgc2VhcmNoIHRvIEdub21lIFNoZWxsIFNlYXJjaCBcbiBUT0RPOiBcbiAtIEFkZCBnb29nbGUgc3VnZ2VzdGlvbnMgKEZvciBub3cgdXNpbmcgZHVja2R1Y2tHbyBzdWdnZXN0aW9ucykiLAogICJuYW1lIjogIkdvb2dsZSBTZWFyY2ggUHJvdmlkZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZ29vZ2xlLXNlYXJjaC1wcm92aWRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9Nck5pbnNvL2dub21lLXNoZWxsLWdvb2dsZS1zZWFyY2gtcHJvdmlkZXIiLAogICJ1dWlkIjogImdub21lLXNoZWxsLUdvb2dsZS1zZWFyY2gtcHJvdmlkZXJATXJOaW5zbyIsCiAgInZlcnNpb24iOiA1Cn0="}}}
 , {"uuid": "disable-menu-switching@selfmade.pl", "name": "Disable Menu Switching", "pname": "disable-menu-switching", "description": "Disable changing menu on hover another panel button.", "link": "https://extensions.gnome.org/extension/4133/disable-menu-switching/", "shell_version_map": {"40": {"version": "3", "sha256": "12879vn6knafdcphg3wwbpbram5hrw79v68z9c9d5z4f9k781ksq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgY2hhbmdpbmcgbWVudSBvbiBob3ZlciBhbm90aGVyIHBhbmVsIGJ1dHRvbi4iLAogICJuYW1lIjogIkRpc2FibGUgTWVudSBTd2l0Y2hpbmciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWFydGluUEwvRGlzYWJsZS1NZW51LVN3aXRjaGluZyIsCiAgInV1aWQiOiAiZGlzYWJsZS1tZW51LXN3aXRjaGluZ0BzZWxmbWFkZS5wbCIsCiAgInZlcnNpb24iOiAzCn0="}}}
-, {"uuid": "espresso@coadmunkee.github.com", "name": "Espresso", "pname": "espresso", "description": "Espresso provides a topbar icon that allows you to disable or enable the screensaver and auto suspend. You can also define other conditions that will disable the screensaver and auto suspend such as when any application is running in full screen mode and/or when any one of a defined list of applications is running.\nEspresso has been fully derived from a fork of Caffeine and provides the same functionality. ", "link": "https://extensions.gnome.org/extension/4135/espresso/", "shell_version_map": {"40": {"version": "1", "sha256": "1jg3zrgisbw08ar38blic3fn2pcdbgph5h0ph9bks2393azlzxn6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVzcHJlc3NvIHByb3ZpZGVzIGEgdG9wYmFyIGljb24gdGhhdCBhbGxvd3MgeW91IHRvIGRpc2FibGUgb3IgZW5hYmxlIHRoZSBzY3JlZW5zYXZlciBhbmQgYXV0byBzdXNwZW5kLiBZb3UgY2FuIGFsc28gZGVmaW5lIG90aGVyIGNvbmRpdGlvbnMgdGhhdCB3aWxsIGRpc2FibGUgdGhlIHNjcmVlbnNhdmVyIGFuZCBhdXRvIHN1c3BlbmQgc3VjaCBhcyB3aGVuIGFueSBhcHBsaWNhdGlvbiBpcyBydW5uaW5nIGluIGZ1bGwgc2NyZWVuIG1vZGUgYW5kL29yIHdoZW4gYW55IG9uZSBvZiBhIGRlZmluZWQgbGlzdCBvZiBhcHBsaWNhdGlvbnMgaXMgcnVubmluZy5cbkVzcHJlc3NvIGhhcyBiZWVuIGZ1bGx5IGRlcml2ZWQgZnJvbSBhIGZvcmsgb2YgQ2FmZmVpbmUgYW5kIHByb3ZpZGVzIHRoZSBzYW1lIGZ1bmN0aW9uYWxpdHkuICIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1lc3ByZXNzbyIsCiAgIm5hbWUiOiAiRXNwcmVzc28iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZXNwcmVzc28iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY29hZG11bmtlZS9nbm9tZS1zaGVsbC1leHRlbnNpb24tZXNwcmVzc28iLAogICJ1dWlkIjogImVzcHJlc3NvQGNvYWRtdW5rZWUuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxCn0="}}}
+, {"uuid": "espresso@coadmunkee.github.com", "name": "Espresso", "pname": "espresso", "description": "Espresso provides a topbar icon that allows you to disable or enable the screensaver and auto suspend. You can also define other conditions that will disable the screensaver and auto suspend such as when any application is running in full screen mode and/or when any one of a defined list of applications is running.\nEspresso is a fork of Caffeine and provides the same functionality.\n\nPlease file bug reports on the extension home page: https://github.com/coadmunkee/gnome-shell-extension-espresso/issues", "link": "https://extensions.gnome.org/extension/4135/espresso/", "shell_version_map": {"40": {"version": "1", "sha256": "1419gfipqai04ymcj9v2ljdp89jg5h9bsbhl0pw94s6pagy05s3w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVzcHJlc3NvIHByb3ZpZGVzIGEgdG9wYmFyIGljb24gdGhhdCBhbGxvd3MgeW91IHRvIGRpc2FibGUgb3IgZW5hYmxlIHRoZSBzY3JlZW5zYXZlciBhbmQgYXV0byBzdXNwZW5kLiBZb3UgY2FuIGFsc28gZGVmaW5lIG90aGVyIGNvbmRpdGlvbnMgdGhhdCB3aWxsIGRpc2FibGUgdGhlIHNjcmVlbnNhdmVyIGFuZCBhdXRvIHN1c3BlbmQgc3VjaCBhcyB3aGVuIGFueSBhcHBsaWNhdGlvbiBpcyBydW5uaW5nIGluIGZ1bGwgc2NyZWVuIG1vZGUgYW5kL29yIHdoZW4gYW55IG9uZSBvZiBhIGRlZmluZWQgbGlzdCBvZiBhcHBsaWNhdGlvbnMgaXMgcnVubmluZy5cbkVzcHJlc3NvIGlzIGEgZm9yayBvZiBDYWZmZWluZSBhbmQgcHJvdmlkZXMgdGhlIHNhbWUgZnVuY3Rpb25hbGl0eS5cblxuUGxlYXNlIGZpbGUgYnVnIHJlcG9ydHMgb24gdGhlIGV4dGVuc2lvbiBob21lIHBhZ2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9jb2FkbXVua2VlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1lc3ByZXNzby9pc3N1ZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tZXNwcmVzc28iLAogICJuYW1lIjogIkVzcHJlc3NvIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmVzcHJlc3NvIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NvYWRtdW5rZWUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWVzcHJlc3NvIiwKICAidXVpZCI6ICJlc3ByZXNzb0Bjb2FkbXVua2VlLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMQp9"}}}
 , {"uuid": "salat-dz@salat-dz.com", "name": "Salat Dz", "pname": "salat-dz", "description": "Show next salat using Salat Dz API", "link": "https://extensions.gnome.org/extension/4136/salat-dz/", "shell_version_map": {"38": {"version": "1", "sha256": "1kga5w2yp375h6lj3fmzr1agg43phyj5f45d7hjv04c405d32p8s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgbmV4dCBzYWxhdCB1c2luZyBTYWxhdCBEeiBBUEkiLAogICJuYW1lIjogIlNhbGF0IER6IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL3NhbGF0LnB5dGhvbmFueXdoZXJlLmNvbSIsCiAgInV1aWQiOiAic2FsYXQtZHpAc2FsYXQtZHouY29tIiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
-, {"uuid": "user-at-host@cmm.github.com", "name": "Add user@host to top panel", "pname": "add-userhost-to-panel", "description": "Adds user@host to the top panel, in the center to the right of the clock.\n\nNothing fancy, no support -- fork at will, the thing is very simple.", "link": "https://extensions.gnome.org/extension/4141/add-userhost-to-panel/", "shell_version_map": {"38": {"version": "2", "sha256": "1d2pj1phh7z2h9mdhsll5kmwzz2pr1x3ca6ng5l50ga5b55i9af0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgdXNlckBob3N0IHRvIHRoZSB0b3AgcGFuZWwsIGluIHRoZSBjZW50ZXIgdG8gdGhlIHJpZ2h0IG9mIHRoZSBjbG9jay5cblxuTm90aGluZyBmYW5jeSwgbm8gc3VwcG9ydCAtLSBmb3JrIGF0IHdpbGwsIHRoZSB0aGluZyBpcyB2ZXJ5IHNpbXBsZS4iLAogICJuYW1lIjogIkFkZCB1c2VyQGhvc3QgdG8gdG9wIHBhbmVsIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImRhbmRhbWFuOTYiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY21tL2dub21lLXVzZXItYXQtaG9zdCIsCiAgInV1aWQiOiAidXNlci1hdC1ob3N0QGNtbS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}, "40": {"version": "2", "sha256": "1d2pj1phh7z2h9mdhsll5kmwzz2pr1x3ca6ng5l50ga5b55i9af0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgdXNlckBob3N0IHRvIHRoZSB0b3AgcGFuZWwsIGluIHRoZSBjZW50ZXIgdG8gdGhlIHJpZ2h0IG9mIHRoZSBjbG9jay5cblxuTm90aGluZyBmYW5jeSwgbm8gc3VwcG9ydCAtLSBmb3JrIGF0IHdpbGwsIHRoZSB0aGluZyBpcyB2ZXJ5IHNpbXBsZS4iLAogICJuYW1lIjogIkFkZCB1c2VyQGhvc3QgdG8gdG9wIHBhbmVsIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImRhbmRhbWFuOTYiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY21tL2dub21lLXVzZXItYXQtaG9zdCIsCiAgInV1aWQiOiAidXNlci1hdC1ob3N0QGNtbS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
-, {"uuid": "vertical-overview@RensAlthuis.github.com", "name": "Vertical overview", "pname": "vertical-overview", "description": "Gnome has had vertically stacked workspaces for a long time. The Gnome 40 update unfortunately made the switch to a horizontal layout. A choice that many Gnome users disagree with. This extension Aims to replace the new Gnome overview with something that resembles the old style. \n\nhttps://github.com/RensAlthuis/vertical-overview", "link": "https://extensions.gnome.org/extension/4144/vertical-overview/", "shell_version_map": {"40": {"version": "5", "sha256": "04lvqn2l4wvsxk9g34n18h5sdqbyms2iwx72fd7il6rs21r0l1cb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdub21lIGhhcyBoYWQgdmVydGljYWxseSBzdGFja2VkIHdvcmtzcGFjZXMgZm9yIGEgbG9uZyB0aW1lLiBUaGUgR25vbWUgNDAgdXBkYXRlIHVuZm9ydHVuYXRlbHkgbWFkZSB0aGUgc3dpdGNoIHRvIGEgaG9yaXpvbnRhbCBsYXlvdXQuIEEgY2hvaWNlIHRoYXQgbWFueSBHbm9tZSB1c2VycyBkaXNhZ3JlZSB3aXRoLiBUaGlzIGV4dGVuc2lvbiBBaW1zIHRvIHJlcGxhY2UgdGhlIG5ldyBHbm9tZSBvdmVydmlldyB3aXRoIHNvbWV0aGluZyB0aGF0IHJlc2VtYmxlcyB0aGUgb2xkIHN0eWxlLiBcblxuaHR0cHM6Ly9naXRodWIuY29tL1JlbnNBbHRodWlzL3ZlcnRpY2FsLW92ZXJ2aWV3IiwKICAibmFtZSI6ICJWZXJ0aWNhbCBvdmVydmlldyIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJyZW5zLmFsdGh1aXNAZ21haWwuY29tIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ2ZXJ0aWNhbC1vdmVydmlld0BSZW5zQWx0aHVpcy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
+, {"uuid": "user-at-host@cmm.github.com", "name": "Add user@host to top panel", "pname": "add-userhost-to-panel", "description": "Adds user@host to the top panel, in the center to the right of the clock.\n\nNothing fancy, no support -- fork at will, the thing is very simple.", "link": "https://extensions.gnome.org/extension/4141/add-userhost-to-panel/", "shell_version_map": {"38": {"version": "3", "sha256": "07112y510hmhsb8jy03apjnk5nww29xl4mhx9ag5z557xpfsckja", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgdXNlckBob3N0IHRvIHRoZSB0b3AgcGFuZWwsIGluIHRoZSBjZW50ZXIgdG8gdGhlIHJpZ2h0IG9mIHRoZSBjbG9jay5cblxuTm90aGluZyBmYW5jeSwgbm8gc3VwcG9ydCAtLSBmb3JrIGF0IHdpbGwsIHRoZSB0aGluZyBpcyB2ZXJ5IHNpbXBsZS4iLAogICJuYW1lIjogIkFkZCB1c2VyQGhvc3QgdG8gdG9wIHBhbmVsIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImRhbmRhbWFuOTYiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY21tL2dub21lLXVzZXItYXQtaG9zdCIsCiAgInV1aWQiOiAidXNlci1hdC1ob3N0QGNtbS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDMKfQ=="}, "40": {"version": "3", "sha256": "07112y510hmhsb8jy03apjnk5nww29xl4mhx9ag5z557xpfsckja", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgdXNlckBob3N0IHRvIHRoZSB0b3AgcGFuZWwsIGluIHRoZSBjZW50ZXIgdG8gdGhlIHJpZ2h0IG9mIHRoZSBjbG9jay5cblxuTm90aGluZyBmYW5jeSwgbm8gc3VwcG9ydCAtLSBmb3JrIGF0IHdpbGwsIHRoZSB0aGluZyBpcyB2ZXJ5IHNpbXBsZS4iLAogICJuYW1lIjogIkFkZCB1c2VyQGhvc3QgdG8gdG9wIHBhbmVsIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImRhbmRhbWFuOTYiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY21tL2dub21lLXVzZXItYXQtaG9zdCIsCiAgInV1aWQiOiAidXNlci1hdC1ob3N0QGNtbS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
+, {"uuid": "vertical-overview@RensAlthuis.github.com", "name": "Vertical overview", "pname": "vertical-overview", "description": "Bringing back vertically stacked workspaces", "link": "https://extensions.gnome.org/extension/4144/vertical-overview/", "shell_version_map": {"40": {"version": "6", "sha256": "03a8k6fgqrd1ip3vn8xwfy2af721f8ricxyp2vx3l9lvvnvq58xa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5naW5nIGJhY2sgdmVydGljYWxseSBzdGFja2VkIHdvcmtzcGFjZXMiLAogICJuYW1lIjogIlZlcnRpY2FsIG92ZXJ2aWV3IiwKICAib3JpZ2luYWwtYXV0aG9yIjogInJlbnMuYWx0aHVpc0BnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInZlcnRpY2FsLW92ZXJ2aWV3QFJlbnNBbHRodWlzLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNgp9"}}}
 , {"uuid": "workspace-isolated_app-switcher@lestibournes", "name": "Workspace-Isolated App-Switcher", "pname": "workspace-isolated-app-switcher", "description": "App-Switcher modification that shows only the apps that are running on the current workspace. Fork of App-Switcher Current Workspace First by fawtytoo.", "link": "https://extensions.gnome.org/extension/4145/workspace-isolated-app-switcher/", "shell_version_map": {"38": {"version": "1", "sha256": "0bcf8l1sb73f0ggvavkfjk10s67k7w4f3yr0s9inil6z8pbk7bsr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcC1Td2l0Y2hlciBtb2RpZmljYXRpb24gdGhhdCBzaG93cyBvbmx5IHRoZSBhcHBzIHRoYXQgYXJlIHJ1bm5pbmcgb24gdGhlIGN1cnJlbnQgd29ya3NwYWNlLiBGb3JrIG9mIEFwcC1Td2l0Y2hlciBDdXJyZW50IFdvcmtzcGFjZSBGaXJzdCBieSBmYXd0eXRvby4iLAogICJuYW1lIjogIldvcmtzcGFjZS1Jc29sYXRlZCBBcHAtU3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAid29ya3NwYWNlLWlzb2xhdGVkX2FwcC1zd2l0Y2hlckBsZXN0aWJvdXJuZXMiLAogICJ2ZXJzaW9uIjogMQp9"}}}
 , {"uuid": "kubectl@infinicode.de", "name": "Kubectl Extension", "pname": "kubectl-extension", "description": "Quick panel access to kubernetes resources utilizing kubectl CLI", "link": "https://extensions.gnome.org/extension/4147/kubectl-extension/", "shell_version_map": {"38": {"version": "4", "sha256": "1lcmkyns6s4nv9ag9h80vs4cxrjxw907b3bxzqvs7ig9s1h41rqm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrIHBhbmVsIGFjY2VzcyB0byBrdWJlcm5ldGVzIHJlc291cmNlcyB1dGlsaXppbmcga3ViZWN0bCBDTEkiLAogICJsb2NhbGVkaXIiOiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIkt1YmVjdGwgRXh0ZW5zaW9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NpbmF0aWMva3ViZWN0bC1leHRlbnNpb24iLAogICJ1dWlkIjogImt1YmVjdGxAaW5maW5pY29kZS5kZSIsCiAgInZlcnNpb24iOiA0Cn0="}, "40": {"version": "4", "sha256": "1lcmkyns6s4nv9ag9h80vs4cxrjxw907b3bxzqvs7ig9s1h41rqm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrIHBhbmVsIGFjY2VzcyB0byBrdWJlcm5ldGVzIHJlc291cmNlcyB1dGlsaXppbmcga3ViZWN0bCBDTEkiLAogICJsb2NhbGVkaXIiOiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIkt1YmVjdGwgRXh0ZW5zaW9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NpbmF0aWMva3ViZWN0bC1leHRlbnNpb24iLAogICJ1dWlkIjogImt1YmVjdGxAaW5maW5pY29kZS5kZSIsCiAgInZlcnNpb24iOiA0Cn0="}}}
-, {"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": "1", "sha256": "0gl29n7hdhw01m4wcyrsc3xnzahn84b1saw2qjl7cg09x8qz1rfi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBzaG93IHdvcmtzcGFjZSB0aHVtYm5haWxzIGV2ZW4gdGhlcmUgaXMgb25seSBvbmUgd29ya3NwYWNlLiIsCiAgIm5hbWUiOiAiQWx3YXlzIFNob3cgV29ya3NwYWNlIFRodW1ibmFpbHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQWx5bnhaaG91L2dub21lLXNoZWxsLWV4dGVuc2lvbi1hbHdheXMtc2hvdy13b3Jrc3BhY2UtdGh1bWJuYWlscy8iLAogICJ1dWlkIjogImFsd2F5c3Nob3d3b3Jrc3BhY2V0aHVtYm5haWxzQGFseW54Lm9uZSIsCiAgInZlcnNpb24iOiAxCn0="}}}
-, {"uuid": "gnome-ui-tune@itstime.tech", "name": "Gnome 40 UI Improvements", "pname": "gnome-40-ui-improvements", "description": "Tunes gnome 40'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- 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.", "link": "https://extensions.gnome.org/extension/4158/gnome-40-ui-improvements/", "shell_version_map": {"40": {"version": "5", "sha256": "0kmzmd74p1m9jbrdhbr0f8fv85b9f23mbnr5ca6xv9lx88ls279c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR1bmVzIGdub21lIDQwJ3MgT3ZlcnZpZXcgVUkgdG8gbWFrZSBpdCBtb3JlIHVzYWJsZS5cblxuQ2hhbmdlczpcbi0gU2VhcmNoIHRleHRib3ggaXMgaGlkZGVuIGJ5IGRlZmF1bHQgYW5kIHNob3duIG9ubHkgd2hlbiB1c2VyIGJlZ2lucyB0byB0eXBlLXRvLXNlYXJjaFxuLSBTY2FsZSBvZiB3b3Jrc3BhY2VzJyB0aHVtYm5haWxzIGluY3JlYXNlZCAyeFxuLSBSZXN0b3JlcyB3YWxscGFwZXIgb24gd29ya3NwYWNlcycgdGh1bWJuYWlscy4gTm8gbW9yZSBncmF5IGJhY2tncm91bmQuXG4tIEZpcmVmb3gncyBQSVAgKHBpY3R1cmUgaW4gcGljdHVyZSkgd2luZG93IGlzIG5vdyBkaXNwbGF5ZWQgb24gdGhlIG92ZXJ2aWV3IHNjcmVlblxuXG5BbGwgbW9kaWZpY2F0aW9ucyBjYW4gYmUgZGlzYWJsZWQgaW4gdGhlIGV4dGVuc2lvbidzIHNldHRpbmdzLiIsCiAgIm5hbWUiOiAiR25vbWUgNDAgVUkgSW1wcm92ZW1lbnRzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdub21lLXVpLXR1bmUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXh4YXB5L2dub21lLXVpLXR1bmUiLAogICJ1dWlkIjogImdub21lLXVpLXR1bmVAaXRzdGltZS50ZWNoIiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
+, {"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": "2", "sha256": "1rnbvdq0p2kl17qz5j3k18i9s7mbi1n1k6hwbiwh2jr42xh3kd0l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBzaG93IHdvcmtzcGFjZSB0aHVtYm5haWxzIGV2ZW4gdGhlcmUgaXMgb25seSBvbmUgd29ya3NwYWNlLiIsCiAgIm5hbWUiOiAiQWx3YXlzIFNob3cgV29ya3NwYWNlIFRodW1ibmFpbHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQWx5bnhaaG91L2dub21lLXNoZWxsLWV4dGVuc2lvbi1hbHdheXMtc2hvdy13b3Jrc3BhY2UtdGh1bWJuYWlscy8iLAogICJ1dWlkIjogImFsd2F5c3Nob3d3b3Jrc3BhY2V0aHVtYm5haWxzQGFseW54Lm9uZSIsCiAgInZlcnNpb24iOiAyCn0="}}}
+, {"uuid": "gnome-ui-tune@itstime.tech", "name": "Gnome 40 UI Improvements", "pname": "gnome-40-ui-improvements", "description": "Tunes gnome 40'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.", "link": "https://extensions.gnome.org/extension/4158/gnome-40-ui-improvements/", "shell_version_map": {"40": {"version": "6", "sha256": "0gqs6yg9g6brq659l3wvypv4mq2h9a1wf8vvlad3nfmax8krqdma", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR1bmVzIGdub21lIDQwJ3MgT3ZlcnZpZXcgVUkgdG8gbWFrZSBpdCBtb3JlIHVzYWJsZS5cblxuQ2hhbmdlczpcbi0gU2VhcmNoIHRleHRib3ggaXMgaGlkZGVuIGJ5IGRlZmF1bHQgYW5kIHNob3duIG9ubHkgd2hlbiB1c2VyIGJlZ2lucyB0byB0eXBlLXRvLXNlYXJjaFxuLSBTY2FsZSBvZiB3b3Jrc3BhY2VzJyB0aHVtYm5haWxzIGluY3JlYXNlZCAyeFxuLSBSZXN0b3JlcyB3YWxscGFwZXIgb24gd29ya3NwYWNlcycgdGh1bWJuYWlscy4gTm8gbW9yZSBncmF5IGJhY2tncm91bmRcbi0gU2hvdyB3b3Jrc3BhY2VzJyB0aHVtYm5haWxzIGV2ZW4gd2hlbiB0aGVyZSBpcyBvbmx5IG9uZSB3b3Jrc3BhY2Vcbi0gRmlyZWZveCdzIFBJUCAocGljdHVyZSBpbiBwaWN0dXJlKSB3aW5kb3cgaXMgbm93IGRpc3BsYXllZCBvbiB0aGUgb3ZlcnZpZXcgc2NyZWVuXG5cbkFsbCBtb2RpZmljYXRpb25zIGNhbiBiZSBkaXNhYmxlZCBpbiB0aGUgZXh0ZW5zaW9uJ3Mgc2V0dGluZ3MuIiwKICAibmFtZSI6ICJHbm9tZSA0MCBVSSBJbXByb3ZlbWVudHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZ25vbWUtdWktdHVuZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9heHhhcHkvZ25vbWUtdWktdHVuZSIsCiAgInV1aWQiOiAiZ25vbWUtdWktdHVuZUBpdHN0aW1lLnRlY2giLAogICJ2ZXJzaW9uIjogNgp9"}}}
 , {"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": "3", "sha256": "0dj87kqxh5dg97i0185dkzh9sp97bwazzf3crx4fk4ajs7q6pv34", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkltcHJvdmVzIHRoZSB3aW5kb3cgc3dpdGNoZXIgb24gZHVhbCAob3IgbW9yZSkgbW9uaXRvciBzZXR1cHMiLAogICJuYW1lIjogIk1vbml0b3Igd2luZG93IHN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dlZHplcHBlbGluL21vbml0b3Itd2luZG93LXN3aXRjaGVyIiwKICAidXVpZCI6ICJtb25pdG9yLXdpbmRvdy1zd2l0Y2hlckB0aGVmdW5ndXNyb2NrZXQuY29tIiwKICAidmVyc2lvbiI6IDMKfQ=="}, "40": {"version": "3", "sha256": "0dj87kqxh5dg97i0185dkzh9sp97bwazzf3crx4fk4ajs7q6pv34", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkltcHJvdmVzIHRoZSB3aW5kb3cgc3dpdGNoZXIgb24gZHVhbCAob3IgbW9yZSkgbW9uaXRvciBzZXR1cHMiLAogICJuYW1lIjogIk1vbml0b3Igd2luZG93IHN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dlZHplcHBlbGluL21vbml0b3Itd2luZG93LXN3aXRjaGVyIiwKICAidXVpZCI6ICJtb25pdG9yLXdpbmRvdy1zd2l0Y2hlckB0aGVmdW5ndXNyb2NrZXQuY29tIiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
-, {"uuid": "custom-hot-corners-extended@G-dH.github.com", "name": "Custom Hot Corners - Extended", "pname": "custom-hot-corners-extended", "description": "Navigate and control Gnome Shell environment by a mouse through the corners and edges of your monitors.\nCustom Hot Corners - Extended can use mouse buttons and scroll wheel as well as hot corners and offers lots of actions including activities overview, app grid, show and hide desktop, commands execution (with app chooser), customizable workspace and window switchers, window control (incl. close, maximize, fullscreen, always on top, ...), window and global color effects (red and green tint, brightness, contrast, inversion, transparency, Night Light), dark / light theme switcher, volume control, universal access functions (incl. zoom and on-screen keyboard), system control (lock screen, shutdown, suspend, logout, switch user), toggle hide main panel, open Looking Glass, ...\n\nRestart your Gnome Shell after each update of the extension to load new code.\nPlease report bugs on GitHub linked below and add output from these two commands:\njournalctl /usr/bin/gnome-shell --since \"2 days ago\" | grep corners-extended\njournalctl /usr/bin/gjs --since \"2 days ago\" | grep corners-extended", "link": "https://extensions.gnome.org/extension/4167/custom-hot-corners-extended/", "shell_version_map": {"38": {"version": "7", "sha256": "0fhqlwjz7q2ah03m2k9qj2cb1pvxwhba49ghsdim3apd8d9w4n5r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5hdmlnYXRlIGFuZCBjb250cm9sIEdub21lIFNoZWxsIGVudmlyb25tZW50IGJ5IGEgbW91c2UgdGhyb3VnaCB0aGUgY29ybmVycyBhbmQgZWRnZXMgb2YgeW91ciBtb25pdG9ycy5cbkN1c3RvbSBIb3QgQ29ybmVycyAtIEV4dGVuZGVkIGNhbiB1c2UgbW91c2UgYnV0dG9ucyBhbmQgc2Nyb2xsIHdoZWVsIGFzIHdlbGwgYXMgaG90IGNvcm5lcnMgYW5kIG9mZmVycyBsb3RzIG9mIGFjdGlvbnMgaW5jbHVkaW5nIGFjdGl2aXRpZXMgb3ZlcnZpZXcsIGFwcCBncmlkLCBzaG93IGFuZCBoaWRlIGRlc2t0b3AsIGNvbW1hbmRzIGV4ZWN1dGlvbiAod2l0aCBhcHAgY2hvb3NlciksIGN1c3RvbWl6YWJsZSB3b3Jrc3BhY2UgYW5kIHdpbmRvdyBzd2l0Y2hlcnMsIHdpbmRvdyBjb250cm9sIChpbmNsLiBjbG9zZSwgbWF4aW1pemUsIGZ1bGxzY3JlZW4sIGFsd2F5cyBvbiB0b3AsIC4uLiksIHdpbmRvdyBhbmQgZ2xvYmFsIGNvbG9yIGVmZmVjdHMgKHJlZCBhbmQgZ3JlZW4gdGludCwgYnJpZ2h0bmVzcywgY29udHJhc3QsIGludmVyc2lvbiwgdHJhbnNwYXJlbmN5LCBOaWdodCBMaWdodCksIGRhcmsgLyBsaWdodCB0aGVtZSBzd2l0Y2hlciwgdm9sdW1lIGNvbnRyb2wsIHVuaXZlcnNhbCBhY2Nlc3MgZnVuY3Rpb25zIChpbmNsLiB6b29tIGFuZCBvbi1zY3JlZW4ga2V5Ym9hcmQpLCBzeXN0ZW0gY29udHJvbCAobG9jayBzY3JlZW4sIHNodXRkb3duLCBzdXNwZW5kLCBsb2dvdXQsIHN3aXRjaCB1c2VyKSwgdG9nZ2xlIGhpZGUgbWFpbiBwYW5lbCwgb3BlbiBMb29raW5nIEdsYXNzLCAuLi5cblxuUmVzdGFydCB5b3VyIEdub21lIFNoZWxsIGFmdGVyIGVhY2ggdXBkYXRlIG9mIHRoZSBleHRlbnNpb24gdG8gbG9hZCBuZXcgY29kZS5cblBsZWFzZSByZXBvcnQgYnVncyBvbiBHaXRIdWIgbGlua2VkIGJlbG93IGFuZCBhZGQgb3V0cHV0IGZyb20gdGhlc2UgdHdvIGNvbW1hbmRzOlxuam91cm5hbGN0bCAvdXNyL2Jpbi9nbm9tZS1zaGVsbCAtLXNpbmNlIFwiMiBkYXlzIGFnb1wiIHwgZ3JlcCBjb3JuZXJzLWV4dGVuZGVkXG5qb3VybmFsY3RsIC91c3IvYmluL2dqcyAtLXNpbmNlIFwiMiBkYXlzIGFnb1wiIHwgZ3JlcCBjb3JuZXJzLWV4dGVuZGVkIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiY3VzdG9tLWhvdC1jb3JuZXJzLWV4dGVuZGVkIiwKICAibmFtZSI6ICJDdXN0b20gSG90IENvcm5lcnMgLSBFeHRlbmRlZCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC9jdXN0b20taG90LWNvcm5lcnMvdHJlZS9nZGgiLAogICJ1dWlkIjogImN1c3RvbS1ob3QtY29ybmVycy1leHRlbmRlZEBHLWRILmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}, "40": {"version": "7", "sha256": "0fhqlwjz7q2ah03m2k9qj2cb1pvxwhba49ghsdim3apd8d9w4n5r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5hdmlnYXRlIGFuZCBjb250cm9sIEdub21lIFNoZWxsIGVudmlyb25tZW50IGJ5IGEgbW91c2UgdGhyb3VnaCB0aGUgY29ybmVycyBhbmQgZWRnZXMgb2YgeW91ciBtb25pdG9ycy5cbkN1c3RvbSBIb3QgQ29ybmVycyAtIEV4dGVuZGVkIGNhbiB1c2UgbW91c2UgYnV0dG9ucyBhbmQgc2Nyb2xsIHdoZWVsIGFzIHdlbGwgYXMgaG90IGNvcm5lcnMgYW5kIG9mZmVycyBsb3RzIG9mIGFjdGlvbnMgaW5jbHVkaW5nIGFjdGl2aXRpZXMgb3ZlcnZpZXcsIGFwcCBncmlkLCBzaG93IGFuZCBoaWRlIGRlc2t0b3AsIGNvbW1hbmRzIGV4ZWN1dGlvbiAod2l0aCBhcHAgY2hvb3NlciksIGN1c3RvbWl6YWJsZSB3b3Jrc3BhY2UgYW5kIHdpbmRvdyBzd2l0Y2hlcnMsIHdpbmRvdyBjb250cm9sIChpbmNsLiBjbG9zZSwgbWF4aW1pemUsIGZ1bGxzY3JlZW4sIGFsd2F5cyBvbiB0b3AsIC4uLiksIHdpbmRvdyBhbmQgZ2xvYmFsIGNvbG9yIGVmZmVjdHMgKHJlZCBhbmQgZ3JlZW4gdGludCwgYnJpZ2h0bmVzcywgY29udHJhc3QsIGludmVyc2lvbiwgdHJhbnNwYXJlbmN5LCBOaWdodCBMaWdodCksIGRhcmsgLyBsaWdodCB0aGVtZSBzd2l0Y2hlciwgdm9sdW1lIGNvbnRyb2wsIHVuaXZlcnNhbCBhY2Nlc3MgZnVuY3Rpb25zIChpbmNsLiB6b29tIGFuZCBvbi1zY3JlZW4ga2V5Ym9hcmQpLCBzeXN0ZW0gY29udHJvbCAobG9jayBzY3JlZW4sIHNodXRkb3duLCBzdXNwZW5kLCBsb2dvdXQsIHN3aXRjaCB1c2VyKSwgdG9nZ2xlIGhpZGUgbWFpbiBwYW5lbCwgb3BlbiBMb29raW5nIEdsYXNzLCAuLi5cblxuUmVzdGFydCB5b3VyIEdub21lIFNoZWxsIGFmdGVyIGVhY2ggdXBkYXRlIG9mIHRoZSBleHRlbnNpb24gdG8gbG9hZCBuZXcgY29kZS5cblBsZWFzZSByZXBvcnQgYnVncyBvbiBHaXRIdWIgbGlua2VkIGJlbG93IGFuZCBhZGQgb3V0cHV0IGZyb20gdGhlc2UgdHdvIGNvbW1hbmRzOlxuam91cm5hbGN0bCAvdXNyL2Jpbi9nbm9tZS1zaGVsbCAtLXNpbmNlIFwiMiBkYXlzIGFnb1wiIHwgZ3JlcCBjb3JuZXJzLWV4dGVuZGVkXG5qb3VybmFsY3RsIC91c3IvYmluL2dqcyAtLXNpbmNlIFwiMiBkYXlzIGFnb1wiIHwgZ3JlcCBjb3JuZXJzLWV4dGVuZGVkIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiY3VzdG9tLWhvdC1jb3JuZXJzLWV4dGVuZGVkIiwKICAibmFtZSI6ICJDdXN0b20gSG90IENvcm5lcnMgLSBFeHRlbmRlZCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC9jdXN0b20taG90LWNvcm5lcnMvdHJlZS9nZGgiLAogICJ1dWlkIjogImN1c3RvbS1ob3QtY29ybmVycy1leHRlbmRlZEBHLWRILmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}}}
-, {"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).\n\nNote: I put version 40.0 by mistake. It does not make any difference whether you choose Gnome 40 or Gnome 40.0.", "link": "https://extensions.gnome.org/extension/4170/home-assistant-extension/", "shell_version_map": {"38": {"version": "3", "sha256": "13zl33w7ax8bd72894dwl8vkr9h0ks0wlcnncbhcrj12zpz3nm3h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGdub21lIHNoZWxsIGV4dGVuc2lvbiBmb3IgSG9tZSBBc3Npc3RhbnQuIENoZWNrIHRoZSBSRUFETUUgb24gZ2l0aHViIGZvciBhZGRpdGlvbmFsIGhlbHAhXG5cbk1haW4gcG9pbnRzOlxuLSBZb3UgbmVlZCB0byBwcm92aWRlIHRoZSB1cmwgb2YgeW91ciBoYXNzLCBhIGxvbmcgbGl2ZSBhY2Nlc3MgdG9rZW4gb2J0YWluZWQgZnJvbSB5b3VyIHByb2ZpbGUgcGFnZSAob24geW91ciBoYXNzIHdlYiBpbnN0YW5jZSkgYW5kIHRoZSBlbnRpdHkgaWRzIG9mIHRoZSBlbnRpdGllcyB5b3Ugd2FudCB0byBoYXZlIGFzIHRvZ2dsYWJsZS5cbi0gSW4gb3JkZXIgdG8gYWRkIHNvbWUgbG9jYWwgdGVtcGVyYXR1cmUvaHVtaWRpdHkgc2Vuc29yLCB5b3UgbWF5IGFsc28gcHJvdmlkZSBhIHRlbXBlcmF0dXJlIGFuZC9vciBhIGh1bWlkaXR5IGVudGl0eSBpZCAod2hpY2ggc2hvdWxkIG1hdGNoIHRoZSBjb3JyZXNwb25kaW5nIGlkcyBvZiB5b3VyIGhhc3MgaW5zdGFuY2UpLlxuXG5Ob3RlOiBJIHB1dCB2ZXJzaW9uIDQwLjAgYnkgbWlzdGFrZS4gSXQgZG9lcyBub3QgbWFrZSBhbnkgZGlmZmVyZW5jZSB3aGV0aGVyIHlvdSBjaG9vc2UgR25vbWUgNDAgb3IgR25vbWUgNDAuMC4iLAogICJuYW1lIjogIkhvbWUgQXNzaXN0YW50IEV4dGVuc2lvbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5oYXNzLWRhdGEiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nZW9waDkvaGFzcy1nc2hlbGwtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJoYXNzLWdzaGVsbEBnZW9waDktb24tZ2l0aHViIiwKICAidmVyc2lvbiI6IDMKfQ=="}, "40": {"version": "4", "sha256": "0xiw8h1gs078cpz0lxw8xbwldwgbpfsp6x3khgmi71f88jh2razm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGdub21lIHNoZWxsIGV4dGVuc2lvbiBmb3IgSG9tZSBBc3Npc3RhbnQuIENoZWNrIHRoZSBSRUFETUUgb24gZ2l0aHViIGZvciBhZGRpdGlvbmFsIGhlbHAhXG5cbk1haW4gcG9pbnRzOlxuLSBZb3UgbmVlZCB0byBwcm92aWRlIHRoZSB1cmwgb2YgeW91ciBoYXNzLCBhIGxvbmcgbGl2ZSBhY2Nlc3MgdG9rZW4gb2J0YWluZWQgZnJvbSB5b3VyIHByb2ZpbGUgcGFnZSAob24geW91ciBoYXNzIHdlYiBpbnN0YW5jZSkgYW5kIHRoZSBlbnRpdHkgaWRzIG9mIHRoZSBlbnRpdGllcyB5b3Ugd2FudCB0byBoYXZlIGFzIHRvZ2dsYWJsZS5cbi0gSW4gb3JkZXIgdG8gYWRkIHNvbWUgbG9jYWwgdGVtcGVyYXR1cmUvaHVtaWRpdHkgc2Vuc29yLCB5b3UgbWF5IGFsc28gcHJvdmlkZSBhIHRlbXBlcmF0dXJlIGFuZC9vciBhIGh1bWlkaXR5IGVudGl0eSBpZCAod2hpY2ggc2hvdWxkIG1hdGNoIHRoZSBjb3JyZXNwb25kaW5nIGlkcyBvZiB5b3VyIGhhc3MgaW5zdGFuY2UpLlxuXG5Ob3RlOiBJIHB1dCB2ZXJzaW9uIDQwLjAgYnkgbWlzdGFrZS4gSXQgZG9lcyBub3QgbWFrZSBhbnkgZGlmZmVyZW5jZSB3aGV0aGVyIHlvdSBjaG9vc2UgR25vbWUgNDAgb3IgR25vbWUgNDAuMC4iLAogICJuYW1lIjogIkhvbWUgQXNzaXN0YW50IEV4dGVuc2lvbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5oYXNzLWRhdGEiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwLjAiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ2VvcGg5L2hhc3MtZ3NoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiaGFzcy1nc2hlbGxAZ2VvcGg5LW9uLWdpdGh1YiIsCiAgInZlcnNpb24iOiA0Cn0="}}}
+, {"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. Mouse pointer pressure, clicks and scrolls over the corners/edges and also keyboard shortcuts can trigger any of dozens of built-in actions.\nThis extension is a big collection of actions that lets you navigate and control the Gnome Shell environment and opened windows and launch applications and scripts not only through the corners and edges of your monitors, but also by the custom keyboard shortcuts.\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 and add output from these two commands:\njournalctl /usr/bin/gnome-shell --since \"2 days ago\" | grep corners-extended\njournalctl /usr/bin/gjs --since \"2 days ago\" | grep corners-extended\n\nkeywords: overview, app grid, brightness, contrast, transparent, opacity, color effect, invert lightness, color tint, color blind 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": "9", "sha256": "10yscxvanv6jsk9ld6cr1rc78my3cgd2vfmqjn300xyaw16p7lw4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdpdmUgYSBmdW5jdGlvbiB0byBhbnkgY29ybmVyIG9yIGVkZ2Ugb2YgeW91ciBtb25pdG9ycy4gTW91c2UgcG9pbnRlciBwcmVzc3VyZSwgY2xpY2tzIGFuZCBzY3JvbGxzIG92ZXIgdGhlIGNvcm5lcnMvZWRnZXMgYW5kIGFsc28ga2V5Ym9hcmQgc2hvcnRjdXRzIGNhbiB0cmlnZ2VyIGFueSBvZiBkb3plbnMgb2YgYnVpbHQtaW4gYWN0aW9ucy5cblRoaXMgZXh0ZW5zaW9uIGlzIGEgYmlnIGNvbGxlY3Rpb24gb2YgYWN0aW9ucyB0aGF0IGxldHMgeW91IG5hdmlnYXRlIGFuZCBjb250cm9sIHRoZSBHbm9tZSBTaGVsbCBlbnZpcm9ubWVudCBhbmQgb3BlbmVkIHdpbmRvd3MgYW5kIGxhdW5jaCBhcHBsaWNhdGlvbnMgYW5kIHNjcmlwdHMgbm90IG9ubHkgdGhyb3VnaCB0aGUgY29ybmVycyBhbmQgZWRnZXMgb2YgeW91ciBtb25pdG9ycywgYnV0IGFsc28gYnkgdGhlIGN1c3RvbSBrZXlib2FyZCBzaG9ydGN1dHMuXG5cblJlc3RhcnQgeW91ciBHbm9tZSBTaGVsbCBhZnRlciBlYWNoIHVwZGF0ZSBvZiB0aGUgZXh0ZW5zaW9uIHRvIGxvYWQgbmV3IGNvZGUsIGFuZCByZWxvYWQgdGhpcyBzaXRlIHRvIGdldCByaWQgb2YgdGhlIGVycm9yIG1lc3NhZ2UsIGJlZm9yZSB5b3UgcG9zdCBhIGJ1ZyByZXBvcnQuXG5QbGVhc2UgcmVwb3J0IGJ1Z3MvaXNzdWVzIG9uIEdpdEh1YiBsaW5rZWQgYmVsb3cgYW5kIGFkZCBvdXRwdXQgZnJvbSB0aGVzZSB0d28gY29tbWFuZHM6XG5qb3VybmFsY3RsIC91c3IvYmluL2dub21lLXNoZWxsIC0tc2luY2UgXCIyIGRheXMgYWdvXCIgfCBncmVwIGNvcm5lcnMtZXh0ZW5kZWRcbmpvdXJuYWxjdGwgL3Vzci9iaW4vZ2pzIC0tc2luY2UgXCIyIGRheXMgYWdvXCIgfCBncmVwIGNvcm5lcnMtZXh0ZW5kZWRcblxua2V5d29yZHM6IG92ZXJ2aWV3LCBhcHAgZ3JpZCwgYnJpZ2h0bmVzcywgY29udHJhc3QsIHRyYW5zcGFyZW50LCBvcGFjaXR5LCBjb2xvciBlZmZlY3QsIGludmVydCBsaWdodG5lc3MsIGNvbG9yIHRpbnQsIGNvbG9yIGJsaW5kIHNpbXVsYXRpb24sIGRlc2F0dXJhdGUsIG5pZ2h0IGxpZ2h0cywgZGFyayB0aGVtZSwgdm9sdW1lLCBtdXRlLCBtYWduaWZpZXIsIHpvb20sIHNjcmVlbiBrZXlib2FyZCwgcmVhZGVyLCBsYXJnZSB0ZXh0LCBmb3JjZSBjbG9zZSwga2lsbCAtOSwgc2hvdyBkZXNrdG9wLCByZW9yZGVyIHdvcmtzcGFjZSwgd2luZG93IHRodW1ibmFpbCAvIHByZXZpZXcsIGxvb2tpbmcgZ2xhc3MsIGN1c3RvbSBtZW51LCB3aW5kb3csIHdvcmtzcGFjZSwgc3dpdGNoZXIsIGhpZGUgcGFuZWwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWQiLAogICJuYW1lIjogIkN1c3RvbSBIb3QgQ29ybmVycyAtIEV4dGVuZGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmN1c3RvbS1ob3QtY29ybmVycy1leHRlbmRlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9HLWRIL2N1c3RvbS1ob3QtY29ybmVycy90cmVlL2dkaCIsCiAgInV1aWQiOiAiY3VzdG9tLWhvdC1jb3JuZXJzLWV4dGVuZGVkQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA5Cn0="}, "40": {"version": "9", "sha256": "10yscxvanv6jsk9ld6cr1rc78my3cgd2vfmqjn300xyaw16p7lw4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdpdmUgYSBmdW5jdGlvbiB0byBhbnkgY29ybmVyIG9yIGVkZ2Ugb2YgeW91ciBtb25pdG9ycy4gTW91c2UgcG9pbnRlciBwcmVzc3VyZSwgY2xpY2tzIGFuZCBzY3JvbGxzIG92ZXIgdGhlIGNvcm5lcnMvZWRnZXMgYW5kIGFsc28ga2V5Ym9hcmQgc2hvcnRjdXRzIGNhbiB0cmlnZ2VyIGFueSBvZiBkb3plbnMgb2YgYnVpbHQtaW4gYWN0aW9ucy5cblRoaXMgZXh0ZW5zaW9uIGlzIGEgYmlnIGNvbGxlY3Rpb24gb2YgYWN0aW9ucyB0aGF0IGxldHMgeW91IG5hdmlnYXRlIGFuZCBjb250cm9sIHRoZSBHbm9tZSBTaGVsbCBlbnZpcm9ubWVudCBhbmQgb3BlbmVkIHdpbmRvd3MgYW5kIGxhdW5jaCBhcHBsaWNhdGlvbnMgYW5kIHNjcmlwdHMgbm90IG9ubHkgdGhyb3VnaCB0aGUgY29ybmVycyBhbmQgZWRnZXMgb2YgeW91ciBtb25pdG9ycywgYnV0IGFsc28gYnkgdGhlIGN1c3RvbSBrZXlib2FyZCBzaG9ydGN1dHMuXG5cblJlc3RhcnQgeW91ciBHbm9tZSBTaGVsbCBhZnRlciBlYWNoIHVwZGF0ZSBvZiB0aGUgZXh0ZW5zaW9uIHRvIGxvYWQgbmV3IGNvZGUsIGFuZCByZWxvYWQgdGhpcyBzaXRlIHRvIGdldCByaWQgb2YgdGhlIGVycm9yIG1lc3NhZ2UsIGJlZm9yZSB5b3UgcG9zdCBhIGJ1ZyByZXBvcnQuXG5QbGVhc2UgcmVwb3J0IGJ1Z3MvaXNzdWVzIG9uIEdpdEh1YiBsaW5rZWQgYmVsb3cgYW5kIGFkZCBvdXRwdXQgZnJvbSB0aGVzZSB0d28gY29tbWFuZHM6XG5qb3VybmFsY3RsIC91c3IvYmluL2dub21lLXNoZWxsIC0tc2luY2UgXCIyIGRheXMgYWdvXCIgfCBncmVwIGNvcm5lcnMtZXh0ZW5kZWRcbmpvdXJuYWxjdGwgL3Vzci9iaW4vZ2pzIC0tc2luY2UgXCIyIGRheXMgYWdvXCIgfCBncmVwIGNvcm5lcnMtZXh0ZW5kZWRcblxua2V5d29yZHM6IG92ZXJ2aWV3LCBhcHAgZ3JpZCwgYnJpZ2h0bmVzcywgY29udHJhc3QsIHRyYW5zcGFyZW50LCBvcGFjaXR5LCBjb2xvciBlZmZlY3QsIGludmVydCBsaWdodG5lc3MsIGNvbG9yIHRpbnQsIGNvbG9yIGJsaW5kIHNpbXVsYXRpb24sIGRlc2F0dXJhdGUsIG5pZ2h0IGxpZ2h0cywgZGFyayB0aGVtZSwgdm9sdW1lLCBtdXRlLCBtYWduaWZpZXIsIHpvb20sIHNjcmVlbiBrZXlib2FyZCwgcmVhZGVyLCBsYXJnZSB0ZXh0LCBmb3JjZSBjbG9zZSwga2lsbCAtOSwgc2hvdyBkZXNrdG9wLCByZW9yZGVyIHdvcmtzcGFjZSwgd2luZG93IHRodW1ibmFpbCAvIHByZXZpZXcsIGxvb2tpbmcgZ2xhc3MsIGN1c3RvbSBtZW51LCB3aW5kb3csIHdvcmtzcGFjZSwgc3dpdGNoZXIsIGhpZGUgcGFuZWwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWQiLAogICJuYW1lIjogIkN1c3RvbSBIb3QgQ29ybmVycyAtIEV4dGVuZGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmN1c3RvbS1ob3QtY29ybmVycy1leHRlbmRlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9HLWRIL2N1c3RvbS1ob3QtY29ybmVycy90cmVlL2dkaCIsCiAgInV1aWQiOiAiY3VzdG9tLWhvdC1jb3JuZXJzLWV4dGVuZGVkQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA5Cn0="}}}
+, {"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": "5", "sha256": "01y0kdmdg48s26yf8l2kfrfd8zwjg8jj797g196wr5afy9fn55ws", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGdub21lIHNoZWxsIGV4dGVuc2lvbiBmb3IgSG9tZSBBc3Npc3RhbnQuIENoZWNrIHRoZSBSRUFETUUgb24gZ2l0aHViIGZvciBhZGRpdGlvbmFsIGhlbHAhXG5cbk1haW4gcG9pbnRzOlxuLSBZb3UgbmVlZCB0byBwcm92aWRlIHRoZSB1cmwgb2YgeW91ciBoYXNzLCBhIGxvbmcgbGl2ZSBhY2Nlc3MgdG9rZW4gb2J0YWluZWQgZnJvbSB5b3VyIHByb2ZpbGUgcGFnZSAob24geW91ciBoYXNzIHdlYiBpbnN0YW5jZSkgYW5kIHRoZSBlbnRpdHkgaWRzIG9mIHRoZSBlbnRpdGllcyB5b3Ugd2FudCB0byBoYXZlIGFzIHRvZ2dsYWJsZS5cbi0gSW4gb3JkZXIgdG8gYWRkIHNvbWUgbG9jYWwgdGVtcGVyYXR1cmUvaHVtaWRpdHkgc2Vuc29yLCB5b3UgbWF5IGFsc28gcHJvdmlkZSBhIHRlbXBlcmF0dXJlIGFuZC9vciBhIGh1bWlkaXR5IGVudGl0eSBpZCAod2hpY2ggc2hvdWxkIG1hdGNoIHRoZSBjb3JyZXNwb25kaW5nIGlkcyBvZiB5b3VyIGhhc3MgaW5zdGFuY2UpLiIsCiAgIm5hbWUiOiAiSG9tZSBBc3Npc3RhbnQgRXh0ZW5zaW9uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmhhc3MtZGF0YSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nZW9waDkvaGFzcy1nc2hlbGwtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJoYXNzLWdzaGVsbEBnZW9waDktb24tZ2l0aHViIiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
 , {"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": "4", "sha256": "0nh6df4l5f2wkkcngilrwiwyj97zdkrx7g6as4ppk6aj10ybmxcj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZ1bGx5IHRyYW5zcGFyZW50IHRvcGJhciwgcGFpcnMgd2l0aCB0aGUgemhhbmdoYWkgdHJhbnNwYXJlbnQgdG9wIGJhciBleHRlbnNpb24gdG8gbWFrZSBiYXIgb3BhcXVlIHdoZW4gd2luZG93IGlzIG1heGltaXplZCIsCiAgIm5hbWUiOiAiQ2xlYXIgVG9wIEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdXBlcnRlcnJhbi9nbm9tZS1zaGVsbC1leHRlbnNpb24tY2xlYXItdG9wLWJhciIsCiAgInV1aWQiOiAiY2xlYXItdG9wLWJhckBzdXBlcnRlcnJhbi5uZXQiLAogICJ2ZXJzaW9uIjogNAp9"}}}
 , {"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": "4", "sha256": "1c7q3iqcdfqralclixj1frzcpvpw66fs6rdyvi8g90l454c4033c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSBzeXN0ZW1kIHNlcnZpY2VzIG9uL29mZiBmcm9tIGEgcG9wdXAgbWVudSBpbiB0aGUgdG9wIGdub21lIHBhbmVsLiBDYW4gYmUgdXNlZCB0byBzdGFydCBzZXJ2aWNlcyBsaWtlIGFwYWNoZTIsIG15c3FsLCBwb3N0Z3Jlcy4gSXQgdXNlcyBgcGtleGVjJyB0byBydW4gYHN5dGVtY3RsJy4gSWYgeW91IHdhbnQgdG8gc3RhcnQgc2VydmljZXMgd2l0aG91dCBlbnRlcmluZyBhIHBhc3N3b3JkIHlvdSBoYXZlIHRvIHBvbGtpdCBwb2xpY3kgZmlsZS4gQW4gZXhhbXBsZSBwb2xpY3kgZmlsZSBjYW4gYmUgZm91bmQgaW4gdGhlIGdpdGh1YiByZXBvc2l0b3J5LiIsCiAgImdldHRleHQtZG9tYWluIjogInN5c3RlbWQtbWFuYWdlciIsCiAgIm5hbWUiOiAiU3lzdGVtZCBNYW5hZ2VyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN5c3RlbWQtbWFuYWdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oYXJkcGl4ZWwvc3lzdGVtZC1tYW5hZ2VyIiwKICAidXVpZCI6ICJzeXN0ZW1kLW1hbmFnZXJAaGFyZHBpeGVsLmV1IiwKICAidmVyc2lvbiI6IDQKfQ=="}, "40": {"version": "4", "sha256": "1c7q3iqcdfqralclixj1frzcpvpw66fs6rdyvi8g90l454c4033c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSBzeXN0ZW1kIHNlcnZpY2VzIG9uL29mZiBmcm9tIGEgcG9wdXAgbWVudSBpbiB0aGUgdG9wIGdub21lIHBhbmVsLiBDYW4gYmUgdXNlZCB0byBzdGFydCBzZXJ2aWNlcyBsaWtlIGFwYWNoZTIsIG15c3FsLCBwb3N0Z3Jlcy4gSXQgdXNlcyBgcGtleGVjJyB0byBydW4gYHN5dGVtY3RsJy4gSWYgeW91IHdhbnQgdG8gc3RhcnQgc2VydmljZXMgd2l0aG91dCBlbnRlcmluZyBhIHBhc3N3b3JkIHlvdSBoYXZlIHRvIHBvbGtpdCBwb2xpY3kgZmlsZS4gQW4gZXhhbXBsZSBwb2xpY3kgZmlsZSBjYW4gYmUgZm91bmQgaW4gdGhlIGdpdGh1YiByZXBvc2l0b3J5LiIsCiAgImdldHRleHQtZG9tYWluIjogInN5c3RlbWQtbWFuYWdlciIsCiAgIm5hbWUiOiAiU3lzdGVtZCBNYW5hZ2VyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN5c3RlbWQtbWFuYWdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oYXJkcGl4ZWwvc3lzdGVtZC1tYW5hZ2VyIiwKICAidXVpZCI6ICJzeXN0ZW1kLW1hbmFnZXJAaGFyZHBpeGVsLmV1IiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
-, {"uuid": "auto-activities@acedron.github.io", "name": "Auto Activities", "pname": "auto-activities", "description": "Show activities overview when there are no windows.", "link": "https://extensions.gnome.org/extension/4179/auto-activities/", "shell_version_map": {"40": {"version": "10", "sha256": "0qd4ngwx3w6l65rm5zz8zwlcippfy3f1crf36wbds6dc57sn3nj8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgYWN0aXZpdGllcyBvdmVydmlldyB3aGVuIHRoZXJlIGFyZSBubyB3aW5kb3dzLiIsCiAgImdldHRleHQtZG9tYWluIjogImF1dG8tYWN0aXZpdGllcyIsCiAgIm5hbWUiOiAiQXV0byBBY3Rpdml0aWVzIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImFjZWRyb25zQHlhaG9vLmNvLmpwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FjZWRyb24vYXV0by1hY3Rpdml0aWVzIiwKICAidXVpZCI6ICJhdXRvLWFjdGl2aXRpZXNAYWNlZHJvbi5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}}}
+, {"uuid": "auto-activities@acedron.github.io", "name": "Auto Activities", "pname": "auto-activities", "description": "Show activities overview when there are no windows, or hide it when there are new windows.", "link": "https://extensions.gnome.org/extension/4179/auto-activities/", "shell_version_map": {"40": {"version": "11", "sha256": "1kfwnmqax6dd1mglxw6cdcz7vbzgskhp2js8pyqziaxd4yyxqa38", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgYWN0aXZpdGllcyBvdmVydmlldyB3aGVuIHRoZXJlIGFyZSBubyB3aW5kb3dzLCBvciBoaWRlIGl0IHdoZW4gdGhlcmUgYXJlIG5ldyB3aW5kb3dzLiIsCiAgImdldHRleHQtZG9tYWluIjogImF1dG8tYWN0aXZpdGllcyIsCiAgIm5hbWUiOiAiQXV0byBBY3Rpdml0aWVzIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImFjZWRyb25zQHlhaG9vLmNvLmpwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FjZWRyb24vYXV0by1hY3Rpdml0aWVzIiwKICAidXVpZCI6ICJhdXRvLWFjdGl2aXRpZXNAYWNlZHJvbi5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}}}
 , {"uuid": "clippie@blackjackshellac.ca", "name": "clippie [replaced by eclipse]", "pname": "clippie", "description": "clippie has been rereleased as 'eclipse'\n\nClipboard interface to gpaste-client output\n\nhttps://extensions.gnome.org/extension/4246/eclipse/\n\nClippie now uses dbus to communicate with the gpaste daemon\nAdded encryption of clipboard items with eclipse feature", "link": "https://extensions.gnome.org/extension/4182/clippie/", "shell_version_map": {"38": {"version": "6", "sha256": "05kd2pq605k21yq6wcaqcm2lrpnlc6mbiq1wxgmwdnpvi7ib2h8k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImNsaXBwaWUgaGFzIGJlZW4gcmVyZWxlYXNlZCBhcyAnZWNsaXBzZSdcblxuQ2xpcGJvYXJkIGludGVyZmFjZSB0byBncGFzdGUtY2xpZW50IG91dHB1dFxuXG5odHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi80MjQ2L2VjbGlwc2UvXG5cbkNsaXBwaWUgbm93IHVzZXMgZGJ1cyB0byBjb21tdW5pY2F0ZSB3aXRoIHRoZSBncGFzdGUgZGFlbW9uXG5BZGRlZCBlbmNyeXB0aW9uIG9mIGNsaXBib2FyZCBpdGVtcyB3aXRoIGVjbGlwc2UgZmVhdHVyZSIsCiAgImdldHRleHQtZG9tYWluIjogImNsaXBwaWUtYmxhY2tqYWNrc2hlbGxhYyIsCiAgIm5hbWUiOiAiY2xpcHBpZSBbcmVwbGFjZWQgYnkgZWNsaXBzZV0iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY2xpcHBpZS1ibGFja2phY2tzaGVsbGFjIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JsYWNramFja3NoZWxsYWMvZWNsaXBzZSIsCiAgInV1aWQiOiAiY2xpcHBpZUBibGFja2phY2tzaGVsbGFjLmNhIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "40": {"version": "6", "sha256": "05kd2pq605k21yq6wcaqcm2lrpnlc6mbiq1wxgmwdnpvi7ib2h8k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImNsaXBwaWUgaGFzIGJlZW4gcmVyZWxlYXNlZCBhcyAnZWNsaXBzZSdcblxuQ2xpcGJvYXJkIGludGVyZmFjZSB0byBncGFzdGUtY2xpZW50IG91dHB1dFxuXG5odHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi80MjQ2L2VjbGlwc2UvXG5cbkNsaXBwaWUgbm93IHVzZXMgZGJ1cyB0byBjb21tdW5pY2F0ZSB3aXRoIHRoZSBncGFzdGUgZGFlbW9uXG5BZGRlZCBlbmNyeXB0aW9uIG9mIGNsaXBib2FyZCBpdGVtcyB3aXRoIGVjbGlwc2UgZmVhdHVyZSIsCiAgImdldHRleHQtZG9tYWluIjogImNsaXBwaWUtYmxhY2tqYWNrc2hlbGxhYyIsCiAgIm5hbWUiOiAiY2xpcHBpZSBbcmVwbGFjZWQgYnkgZWNsaXBzZV0iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY2xpcHBpZS1ibGFja2phY2tzaGVsbGFjIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JsYWNramFja3NoZWxsYWMvZWNsaXBzZSIsCiAgInV1aWQiOiAiY2xpcHBpZUBibGFja2phY2tzaGVsbGFjLmNhIiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
-, {"uuid": "quick-app-launcher@leleat-on-github", "name": "Quick App Launcher", "pname": "quick-app-launcher", "description": "Launch apps with keybindings. If the to-be-launched app already has a window open, focus that window instead. If the focused window is an instance of the app, open a new window.", "link": "https://extensions.gnome.org/extension/4188/quick-app-launcher/", "shell_version_map": {"38": {"version": "2", "sha256": "1avc0362pl6xardjwj9x6xx4srk0yivymmmhxi3kfbjwgkk0pls1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxhdW5jaCBhcHBzIHdpdGgga2V5YmluZGluZ3MuIElmIHRoZSB0by1iZS1sYXVuY2hlZCBhcHAgYWxyZWFkeSBoYXMgYSB3aW5kb3cgb3BlbiwgZm9jdXMgdGhhdCB3aW5kb3cgaW5zdGVhZC4gSWYgdGhlIGZvY3VzZWQgd2luZG93IGlzIGFuIGluc3RhbmNlIG9mIHRoZSBhcHAsIG9wZW4gYSBuZXcgd2luZG93LiIsCiAgIm5hbWUiOiAiUXVpY2sgQXBwIExhdW5jaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0xlbGVhdC9RdWljay1BcHAtTGF1bmNoZXIiLAogICJ1dWlkIjogInF1aWNrLWFwcC1sYXVuY2hlckBsZWxlYXQtb24tZ2l0aHViIiwKICAidmVyc2lvbiI6IDIKfQ=="}, "40": {"version": "2", "sha256": "1avc0362pl6xardjwj9x6xx4srk0yivymmmhxi3kfbjwgkk0pls1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxhdW5jaCBhcHBzIHdpdGgga2V5YmluZGluZ3MuIElmIHRoZSB0by1iZS1sYXVuY2hlZCBhcHAgYWxyZWFkeSBoYXMgYSB3aW5kb3cgb3BlbiwgZm9jdXMgdGhhdCB3aW5kb3cgaW5zdGVhZC4gSWYgdGhlIGZvY3VzZWQgd2luZG93IGlzIGFuIGluc3RhbmNlIG9mIHRoZSBhcHAsIG9wZW4gYSBuZXcgd2luZG93LiIsCiAgIm5hbWUiOiAiUXVpY2sgQXBwIExhdW5jaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0xlbGVhdC9RdWljay1BcHAtTGF1bmNoZXIiLAogICJ1dWlkIjogInF1aWNrLWFwcC1sYXVuY2hlckBsZWxlYXQtb24tZ2l0aHViIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
 , {"uuid": "screen-autorotate@kosmospredanie.yandex.ru", "name": "Screen Autorotate", "pname": "screen-autorotate", "description": "Enable screen rotation regardless of touch mode", "link": "https://extensions.gnome.org/extension/4191/screen-autorotate/", "shell_version_map": {"40": {"version": "2", "sha256": "0s8jb0d644kprcd2adidgjsbhm6fqwm896bh4p05yyd9zwkm1bq2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZSBzY3JlZW4gcm90YXRpb24gcmVnYXJkbGVzcyBvZiB0b3VjaCBtb2RlIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXNjcmVlbi1hdXRvcm90YXRlIiwKICAibmFtZSI6ICJTY3JlZW4gQXV0b3JvdGF0ZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zY3JlZW4tYXV0b3JvdGF0ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rb3Ntb3NwcmVkYW5pZS9nbm9tZS1zaGVsbC1leHRlbnNpb24tc2NyZWVuLWF1dG9yb3RhdGUiLAogICJ1dWlkIjogInNjcmVlbi1hdXRvcm90YXRlQGtvc21vc3ByZWRhbmllLnlhbmRleC5ydSIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"uuid": "Low_Latency_Loopback@jacebennest87.gmail.com", "name": "Low Latency Loopback", "pname": "low-latency-loopback", "description": "Enables a low latency PulseAudio loopback device", "link": "https://extensions.gnome.org/extension/4194/low-latency-loopback/", "shell_version_map": {"38": {"version": "2", "sha256": "0dqjy59c8dgn81x84hifnzldb54n1l31qrbg2m08i84zxrc40x4n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgYSBsb3cgbGF0ZW5jeSBQdWxzZUF1ZGlvIGxvb3BiYWNrIGRldmljZSIsCiAgIm5hbWUiOiAiTG93IExhdGVuY3kgTG9vcGJhY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS90aGVqYWNlcjg3L2xvdy1sYXRlbmN5LWxvb3BiYWNrIiwKICAidXVpZCI6ICJMb3dfTGF0ZW5jeV9Mb29wYmFja0BqYWNlYmVubmVzdDg3LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"uuid": "dash-to-plank@hardpixel.eu", "name": "Dash to Plank", "pname": "dash-to-plank", "description": "GNOME Shell integration for Plank, the simplest dock on the planet. To use this extension, you must have Plank installed on your system.\n\nThis extension depends on Plank. To install it:\n- Debian/Ubuntu: apt install plank\n- Fedora/RHEL: dnf install plank\n- Arch: pacman -S plank\n\n** This extension does NOT WORK on WAYLAND.", "link": "https://extensions.gnome.org/extension/4198/dash-to-plank/", "shell_version_map": {"38": {"version": "9", "sha256": "0hkhqkab8xj84sq6c4i03z51z6g78799lwl6fp8ldyh5fbfif9x4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdOT01FIFNoZWxsIGludGVncmF0aW9uIGZvciBQbGFuaywgdGhlIHNpbXBsZXN0IGRvY2sgb24gdGhlIHBsYW5ldC4gVG8gdXNlIHRoaXMgZXh0ZW5zaW9uLCB5b3UgbXVzdCBoYXZlIFBsYW5rIGluc3RhbGxlZCBvbiB5b3VyIHN5c3RlbS5cblxuVGhpcyBleHRlbnNpb24gZGVwZW5kcyBvbiBQbGFuay4gVG8gaW5zdGFsbCBpdDpcbi0gRGViaWFuL1VidW50dTogYXB0IGluc3RhbGwgcGxhbmtcbi0gRmVkb3JhL1JIRUw6IGRuZiBpbnN0YWxsIHBsYW5rXG4tIEFyY2g6IHBhY21hbiAtUyBwbGFua1xuXG4qKiBUaGlzIGV4dGVuc2lvbiBkb2VzIE5PVCBXT1JLIG9uIFdBWUxBTkQuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGFzaC10by1wbGFuayIsCiAgIm5hbWUiOiAiRGFzaCB0byBQbGFuayIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kYXNoLXRvLXBsYW5rIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hhcmRwaXhlbC9kYXNoLXRvLXBsYW5rIiwKICAidXVpZCI6ICJkYXNoLXRvLXBsYW5rQGhhcmRwaXhlbC5ldSIsCiAgInZlcnNpb24iOiA5Cn0="}, "40": {"version": "9", "sha256": "0hkhqkab8xj84sq6c4i03z51z6g78799lwl6fp8ldyh5fbfif9x4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdOT01FIFNoZWxsIGludGVncmF0aW9uIGZvciBQbGFuaywgdGhlIHNpbXBsZXN0IGRvY2sgb24gdGhlIHBsYW5ldC4gVG8gdXNlIHRoaXMgZXh0ZW5zaW9uLCB5b3UgbXVzdCBoYXZlIFBsYW5rIGluc3RhbGxlZCBvbiB5b3VyIHN5c3RlbS5cblxuVGhpcyBleHRlbnNpb24gZGVwZW5kcyBvbiBQbGFuay4gVG8gaW5zdGFsbCBpdDpcbi0gRGViaWFuL1VidW50dTogYXB0IGluc3RhbGwgcGxhbmtcbi0gRmVkb3JhL1JIRUw6IGRuZiBpbnN0YWxsIHBsYW5rXG4tIEFyY2g6IHBhY21hbiAtUyBwbGFua1xuXG4qKiBUaGlzIGV4dGVuc2lvbiBkb2VzIE5PVCBXT1JLIG9uIFdBWUxBTkQuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGFzaC10by1wbGFuayIsCiAgIm5hbWUiOiAiRGFzaCB0byBQbGFuayIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kYXNoLXRvLXBsYW5rIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hhcmRwaXhlbC9kYXNoLXRvLXBsYW5rIiwKICAidXVpZCI6ICJkYXNoLXRvLXBsYW5rQGhhcmRwaXhlbC5ldSIsCiAgInZlcnNpb24iOiA5Cn0="}}}
 , {"uuid": "rrc@ogarcia.me", "name": "Remove Rounded Corners", "pname": "remove-rounded-corners", "description": "Removes rounded corners from main panel or top bar", "link": "https://extensions.gnome.org/extension/4201/remove-rounded-corners/", "shell_version_map": {"40": {"version": "2", "sha256": "1432bvjcknhw57j6ngpppclvkdnpy9dcqv0na4vqcvl2l035bbxv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZXMgcm91bmRlZCBjb3JuZXJzIGZyb20gbWFpbiBwYW5lbCBvciB0b3AgYmFyIiwKICAibmFtZSI6ICJSZW1vdmUgUm91bmRlZCBDb3JuZXJzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL29nYXJjaWEvcmVtb3ZlLXJvdW5kZWQtY29ybmVycyIsCiAgInV1aWQiOiAicnJjQG9nYXJjaWEubWUiLAogICJ2ZXJzaW9uIjogMgp9"}}}
 , {"uuid": "private-switcher@dziban.com", "name": "Private Switcher", "pname": "private-switcher", "description": "Simple extension that allows you do have independent app switcher (alt-tab) for each workspace.", "link": "https://extensions.gnome.org/extension/4204/private-switcher/", "shell_version_map": {"38": {"version": "1", "sha256": "1awjnic8zca2f6viah2l4ai0pyfdyisxna9ys1zzpya11rwj6jk7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdGhhdCBhbGxvd3MgeW91IGRvIGhhdmUgaW5kZXBlbmRlbnQgYXBwIHN3aXRjaGVyIChhbHQtdGFiKSBmb3IgZWFjaCB3b3Jrc3BhY2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAicHJpdmF0ZS1zd2l0Y2hlciIsCiAgIm5hbWUiOiAiUHJpdmF0ZSBTd2l0Y2hlciIsCiAgInNjaGVtYS1pZCI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wcml2YXRlLXN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC5iZXRhIiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tIiwKICAidXVpZCI6ICJwcml2YXRlLXN3aXRjaGVyQGR6aWJhbi5jb20iLAogICJ2ZXJzaW9uIjogMQp9"}, "40": {"version": "1", "sha256": "1awjnic8zca2f6viah2l4ai0pyfdyisxna9ys1zzpya11rwj6jk7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdGhhdCBhbGxvd3MgeW91IGRvIGhhdmUgaW5kZXBlbmRlbnQgYXBwIHN3aXRjaGVyIChhbHQtdGFiKSBmb3IgZWFjaCB3b3Jrc3BhY2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAicHJpdmF0ZS1zd2l0Y2hlciIsCiAgIm5hbWUiOiAiUHJpdmF0ZSBTd2l0Y2hlciIsCiAgInNjaGVtYS1pZCI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wcml2YXRlLXN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC5iZXRhIiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tIiwKICAidXVpZCI6ICJwcml2YXRlLXN3aXRjaGVyQGR6aWJhbi5jb20iLAogICJ2ZXJzaW9uIjogMQp9"}}}
-, {"uuid": "colosseum@sereneblue", "name": "Colosseum", "pname": "colosseum", "description": "View live scores for your favorite sports teams.", "link": "https://extensions.gnome.org/extension/4207/colosseum/", "shell_version_map": {"40": {"version": "3", "sha256": "16zw6r3qizw0fksq277l0kwwl1gyqkyv40al3wg33xlacbz41r1h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlZpZXcgbGl2ZSBzY29yZXMgZm9yIHlvdXIgZmF2b3JpdGUgc3BvcnRzIHRlYW1zLiIsCiAgIm5hbWUiOiAiQ29sb3NzZXVtIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NlcmVuZWJsdWUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWNvbG9zc2V1bSIsCiAgInV1aWQiOiAiY29sb3NzZXVtQHNlcmVuZWJsdWUiLAogICJ2ZXJzaW9uIjogMwp9"}}}
+, {"uuid": "colosseum@sereneblue", "name": "Colosseum", "pname": "colosseum", "description": "View live scores for your favorite sports teams.", "link": "https://extensions.gnome.org/extension/4207/colosseum/", "shell_version_map": {"40": {"version": "5", "sha256": "1c7z3754vxwhaakziy65yjc5z0k91g8sx22h6riswy5fyys3i4ka", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlZpZXcgbGl2ZSBzY29yZXMgZm9yIHlvdXIgZmF2b3JpdGUgc3BvcnRzIHRlYW1zLiIsCiAgIm5hbWUiOiAiQ29sb3NzZXVtIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NlcmVuZWJsdWUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWNvbG9zc2V1bSIsCiAgInV1aWQiOiAiY29sb3NzZXVtQHNlcmVuZWJsdWUiLAogICJ2ZXJzaW9uIjogNQp9"}}}
 , {"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\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": "6", "sha256": "1cga3yimxqkf0lz701a7xcwi9q2iqwisgv4md0f3s484raxpvan4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGhvdCBlZGdlIHRoYXQgYWN0aXZhdGVzIHRoZSBvdmVydmlldyB0byB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW4uIFRoaXMgbWluaW1pemVzIHRoZSBwb2ludGVyIHRyYXZlbCByZXF1aXJlZCB0byBhY2Nlc3MgdGhlIGRhc2ggd2hlbiB1c2luZyB0aGUgbmV3IEdOT01FIFNoZWxsIDQwIG92ZXJ2aWV3IGxheW91dC5cblxuWW91IGNhbiBmaW5kIG1vcmUgZG9jdW1lbnRhdGlvbiBhdCBodHRwczovL2dpdGh1Yi5jb20vamRvZGEvaG90ZWRnZS9ibG9iL21haW4vUkVBRE1FLm1kIGFuZCByZXBvcnQgaXNzdWVzIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9qZG9kYS9ob3RlZGdlL2lzc3VlcyAuIiwKICAibmFtZSI6ICJIb3QgRWRnZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9qZG9kYS9ob3RlZGdlIiwKICAidXVpZCI6ICJob3RlZGdlQGpvbmF0aGFuLmpkb2RhLmNhIiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
-, {"uuid": "gnome-citeurl-search-provider@raindrum.github.io", "name": "CiteURL 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.\n\nBy default, CiteURL 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": "4", "sha256": "1lx1hifm5z8nk6a3nzl186rcrj5zyypnazvwdbkawiwkmilbcz3z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGxldHMgeW91IGxvb2sgdXAgVS5TLiBzdGF0ZSBhbmQgZmVkZXJhbCBsYXdzIGFuZCBjb3VydCBjYXNlcyBieSB0eXBpbmcgY2l0YXRpb25zIChsaWtlIFwiNDIgVVNDIDE5ODNcIiBvciBcIlUuUy4gQ29uc3RpdHV0aW9uIEFydC4gSSwgU2VjLiAzXCIpIGludG8gdGhlIHNlYXJjaCBiYXIuXG5cbkJ5IGRlZmF1bHQsIENpdGVVUkwgc3VwcG9ydHMgdGhlIFUuUy4gQ29kZSBhbmQgZmVkZXJhbCBjb25zdGl0dXRpb24sIGFzIHdlbGwgYXMgbmVhcmx5IGFsbCBjb2RpZmllZCBzdGF0ZSBsYXdzIGFuZCBjb25zdGl0dXRpb25zLCBhbW9uZyBvdGhlciBzb3VyY2VzIG9mIGxhdy4gWW91IGNhbiBhbHNvIGFkZCBtb3JlIHR5cGVzIG9mIGNpdGF0aW9uIGJ5IGZvbGxvd2luZyB0aGUgaW5zdHJ1Y3Rpb25zIG9uIHRoZSBHaXRIdWIgcGFnZS4iLAogICJuYW1lIjogIkNpdGVVUkwgU2VhcmNoIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNpdGV1cmwtc2VhcmNoLXByb3ZpZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3JhaW5kcnVtL2dub21lLWNpdGV1cmwtc2VhcmNoLXByb3ZpZGVyIiwKICAidXVpZCI6ICJnbm9tZS1jaXRldXJsLXNlYXJjaC1wcm92aWRlckByYWluZHJ1bS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNAp9"}, "40": {"version": "4", "sha256": "1lx1hifm5z8nk6a3nzl186rcrj5zyypnazvwdbkawiwkmilbcz3z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGxldHMgeW91IGxvb2sgdXAgVS5TLiBzdGF0ZSBhbmQgZmVkZXJhbCBsYXdzIGFuZCBjb3VydCBjYXNlcyBieSB0eXBpbmcgY2l0YXRpb25zIChsaWtlIFwiNDIgVVNDIDE5ODNcIiBvciBcIlUuUy4gQ29uc3RpdHV0aW9uIEFydC4gSSwgU2VjLiAzXCIpIGludG8gdGhlIHNlYXJjaCBiYXIuXG5cbkJ5IGRlZmF1bHQsIENpdGVVUkwgc3VwcG9ydHMgdGhlIFUuUy4gQ29kZSBhbmQgZmVkZXJhbCBjb25zdGl0dXRpb24sIGFzIHdlbGwgYXMgbmVhcmx5IGFsbCBjb2RpZmllZCBzdGF0ZSBsYXdzIGFuZCBjb25zdGl0dXRpb25zLCBhbW9uZyBvdGhlciBzb3VyY2VzIG9mIGxhdy4gWW91IGNhbiBhbHNvIGFkZCBtb3JlIHR5cGVzIG9mIGNpdGF0aW9uIGJ5IGZvbGxvd2luZyB0aGUgaW5zdHJ1Y3Rpb25zIG9uIHRoZSBHaXRIdWIgcGFnZS4iLAogICJuYW1lIjogIkNpdGVVUkwgU2VhcmNoIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNpdGV1cmwtc2VhcmNoLXByb3ZpZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3JhaW5kcnVtL2dub21lLWNpdGV1cmwtc2VhcmNoLXByb3ZpZGVyIiwKICAidXVpZCI6ICJnbm9tZS1jaXRldXJsLXNlYXJjaC1wcm92aWRlckByYWluZHJ1bS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNAp9"}}}
-, {"uuid": "wireless-hid@chlumskyvaclav.gmail.com", "name": "Wireless HID", "pname": "wireless-hid", "description": "This extension shows the battery of the wireless keyboards and mice in percentages and colors. Multiple devices are supported.", "link": "https://extensions.gnome.org/extension/4228/wireless-hid/", "shell_version_map": {"38": {"version": "1", "sha256": "1818hdgzg7n39dwxgfsdhkf112pynw0kwd96za2vcq48la5vrlyr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHNob3dzIHRoZSBiYXR0ZXJ5IG9mIHRoZSB3aXJlbGVzcyBrZXlib2FyZHMgYW5kIG1pY2UgaW4gcGVyY2VudGFnZXMgYW5kIGNvbG9ycy4gTXVsdGlwbGUgZGV2aWNlcyBhcmUgc3VwcG9ydGVkLiIsCiAgImdldHRleHQtZG9tYWluIjogIndpcmVsZXNzLWhpZCIsCiAgIm5hbWUiOiAiV2lyZWxlc3MgSElEIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImNobHVtc2t5dmFjbGF2QGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92Y2hsdW0vd2lyZWxlc3MtaGlkIiwKICAidXVpZCI6ICJ3aXJlbGVzcy1oaWRAY2hsdW1za3l2YWNsYXYuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDEKfQ=="}, "40": {"version": "1", "sha256": "1818hdgzg7n39dwxgfsdhkf112pynw0kwd96za2vcq48la5vrlyr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHNob3dzIHRoZSBiYXR0ZXJ5IG9mIHRoZSB3aXJlbGVzcyBrZXlib2FyZHMgYW5kIG1pY2UgaW4gcGVyY2VudGFnZXMgYW5kIGNvbG9ycy4gTXVsdGlwbGUgZGV2aWNlcyBhcmUgc3VwcG9ydGVkLiIsCiAgImdldHRleHQtZG9tYWluIjogIndpcmVsZXNzLWhpZCIsCiAgIm5hbWUiOiAiV2lyZWxlc3MgSElEIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImNobHVtc2t5dmFjbGF2QGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92Y2hsdW0vd2lyZWxlc3MtaGlkIiwKICAidXVpZCI6ICJ3aXJlbGVzcy1oaWRAY2hsdW1za3l2YWNsYXYuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
-, {"uuid": "better-osd@hllvc", "name": "Better OSD - Gnome 40", "pname": "better-osd-gnome-40", "description": "Better OSD for Gnome 40 (move and resize the OSD popups).\n- forked from original Better OSD\n\nYou think the default volume popup is too big, and stays for too long? This allows you to move it out of the way, reduce its size, add transparency and set the hiding delay.", "link": "https://extensions.gnome.org/extension/4231/better-osd-gnome-40/", "shell_version_map": {"40": {"version": "1", "sha256": "1daa64rjbzhzr87gkbqmgc1bcl8mbkjxfpdp6rbk6qxnjk914796", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJldHRlciBPU0QgZm9yIEdub21lIDQwIChtb3ZlIGFuZCByZXNpemUgdGhlIE9TRCBwb3B1cHMpLlxuLSBmb3JrZWQgZnJvbSBvcmlnaW5hbCBCZXR0ZXIgT1NEXG5cbllvdSB0aGluayB0aGUgZGVmYXVsdCB2b2x1bWUgcG9wdXAgaXMgdG9vIGJpZywgYW5kIHN0YXlzIGZvciB0b28gbG9uZz8gVGhpcyBhbGxvd3MgeW91IHRvIG1vdmUgaXQgb3V0IG9mIHRoZSB3YXksIHJlZHVjZSBpdHMgc2l6ZSwgYWRkIHRyYW5zcGFyZW5jeSBhbmQgc2V0IHRoZSBoaWRpbmcgZGVsYXkuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYmV0dGVyLW9zZCIsCiAgIm5hbWUiOiAiQmV0dGVyIE9TRCAtIEdub21lIDQwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hsbHZjL2JldHRlci1vc2QiLAogICJ1dWlkIjogImJldHRlci1vc2RAaGxsdmMiLAogICJ2ZXJzaW9uIjogMQp9"}}}
+, {"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": "2", "sha256": "0w33qnpz8sh1bxhkq1q4xsqrl5ypsiwkr90nxkwwdgn9i4d0g0cf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHNob3dzIHRoZSBiYXR0ZXJ5IG9mIHRoZSB3aXJlbGVzcyBrZXlib2FyZHMsIG1pY2UsIGFuZCBnYW1lIGNvbnRyb2xsZXJzIGluIHBlcmNlbnRhZ2VzIGFuZCBjb2xvcnMuIE11bHRpcGxlIGRldmljZXMgYXJlIHN1cHBvcnRlZC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ3aXJlbGVzcy1oaWQiLAogICJuYW1lIjogIldpcmVsZXNzIEhJRCIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJjaGx1bXNreXZhY2xhdkBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdmNobHVtL3dpcmVsZXNzLWhpZCIsCiAgInV1aWQiOiAid2lyZWxlc3MtaGlkQGNobHVtc2t5dmFjbGF2LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}, "40": {"version": "2", "sha256": "0w33qnpz8sh1bxhkq1q4xsqrl5ypsiwkr90nxkwwdgn9i4d0g0cf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHNob3dzIHRoZSBiYXR0ZXJ5IG9mIHRoZSB3aXJlbGVzcyBrZXlib2FyZHMsIG1pY2UsIGFuZCBnYW1lIGNvbnRyb2xsZXJzIGluIHBlcmNlbnRhZ2VzIGFuZCBjb2xvcnMuIE11bHRpcGxlIGRldmljZXMgYXJlIHN1cHBvcnRlZC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ3aXJlbGVzcy1oaWQiLAogICJuYW1lIjogIldpcmVsZXNzIEhJRCIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJjaGx1bXNreXZhY2xhdkBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdmNobHVtL3dpcmVsZXNzLWhpZCIsCiAgInV1aWQiOiAid2lyZWxlc3MtaGlkQGNobHVtc2t5dmFjbGF2LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}}}
+, {"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": "4", "sha256": "026c4kh6ri023b635kynmvb5zxxdywf5bbnyq1lb2p7iirb6vn0i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSB5b3VyIE9TRCBwb3B1cHMuIE1vdmUsIHJlc2l6ZSwgc2V0IGRlbGF5IGFuZCB0cmFuc3BhcmVuY3khIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYmV0dGVyLW9zZCIsCiAgIm5hbWUiOiAiQmV0dGVyIE9TRCAtIEdub21lIDQwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hsbHZjL2JldHRlci1vc2QiLAogICJ1dWlkIjogImJldHRlci1vc2RAaGxsdmMiLAogICJ2ZXJzaW9uIjogNAp9"}}}
 , {"uuid": "arbttstats@gervasioperez.ar", "name": "Arbtt time tracker stats", "pname": "arbtt-stats", "description": "Show simple arbtt time tracker stats on the panel.\n\nSee extension homepage for a brief tutorial.", "link": "https://extensions.gnome.org/extension/4234/arbtt-stats/", "shell_version_map": {"38": {"version": "7", "sha256": "0p91qyh2r42jbi8s7yzw6s82m91m4acs4y43vav4w4002y2f25cs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgc2ltcGxlIGFyYnR0IHRpbWUgdHJhY2tlciBzdGF0cyBvbiB0aGUgcGFuZWwuXG5cblNlZSBleHRlbnNpb24gaG9tZXBhZ2UgZm9yIGEgYnJpZWYgdHV0b3JpYWwuIiwKICAibmFtZSI6ICJBcmJ0dCB0aW1lIHRyYWNrZXIgc3RhdHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc2hlcndvb2RpbmMvYXJidHQtc3RhdHMtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJhcmJ0dHN0YXRzQGdlcnZhc2lvcGVyZXouYXIiLAogICJ2ZXJzaW9uIjogNwp9"}, "40": {"version": "7", "sha256": "0p91qyh2r42jbi8s7yzw6s82m91m4acs4y43vav4w4002y2f25cs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgc2ltcGxlIGFyYnR0IHRpbWUgdHJhY2tlciBzdGF0cyBvbiB0aGUgcGFuZWwuXG5cblNlZSBleHRlbnNpb24gaG9tZXBhZ2UgZm9yIGEgYnJpZWYgdHV0b3JpYWwuIiwKICAibmFtZSI6ICJBcmJ0dCB0aW1lIHRyYWNrZXIgc3RhdHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc2hlcndvb2RpbmMvYXJidHQtc3RhdHMtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJhcmJ0dHN0YXRzQGdlcnZhc2lvcGVyZXouYXIiLAogICJ2ZXJzaW9uIjogNwp9"}}}
-, {"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": "10", "sha256": "0kifrwp8znkfwhq7f5i8qajwlxmyhhaizzbq5p2h7y2xy80n0lwq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJsdXI6IEFwcGxpY2F0aW9ucyB8IFRvcCBQYW5lbCB8IE92ZXJ2aWV3IHwgRGFzaCB8IE1vcmUhXG5cblxuQ3JlZGl0IHdoZXJlIGl0J3MgZHVlOiBPdmVydmlldyBhbmQgZGFzaCBibHVyIGFyZSBiYXNlZCBvbiBibHVyIG15IHNoZWxsIiwKICAibmFtZSI6ICJCbHVyIE1lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MC4xIiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NraXNzYW5lL2JsdXItbWUiLAogICJ1dWlkIjogImJsdXItbWVAbnVuY2h1Y2tzIiwKICAidmVyc2lvbiI6IDEwCn0="}}}
-, {"uuid": "gestureImprovements@gestures", "name": "Gesture improvements", "pname": "gesture-improvements", "description": "Touchpad Gesture improvements\n\nThis extension adds following gestures.\n\n1. Switch windows from current workspace using 3-finger horizontal swipe.\n2. Cyclic gestures between Desktop-Overview-AppGrid using 3 or 4 finger vertical swipe.\n3. Override 3-finger gesture with 4-finger for switching workspace.\n\n* This also adds option to configure speed of gestures. (1.0 is default)\n\n\n# Bugs\nReport bugs on gitlab.", "link": "https://extensions.gnome.org/extension/4245/gesture-improvements/", "shell_version_map": {"40": {"version": "8", "sha256": "0gxxxgdb6qmgkj5p4ks1y3lvsb9iv2wgdr64yhcksjak5l9plj4l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvdWNocGFkIEdlc3R1cmUgaW1wcm92ZW1lbnRzXG5cblRoaXMgZXh0ZW5zaW9uIGFkZHMgZm9sbG93aW5nIGdlc3R1cmVzLlxuXG4xLiBTd2l0Y2ggd2luZG93cyBmcm9tIGN1cnJlbnQgd29ya3NwYWNlIHVzaW5nIDMtZmluZ2VyIGhvcml6b250YWwgc3dpcGUuXG4yLiBDeWNsaWMgZ2VzdHVyZXMgYmV0d2VlbiBEZXNrdG9wLU92ZXJ2aWV3LUFwcEdyaWQgdXNpbmcgMyBvciA0IGZpbmdlciB2ZXJ0aWNhbCBzd2lwZS5cbjMuIE92ZXJyaWRlIDMtZmluZ2VyIGdlc3R1cmUgd2l0aCA0LWZpbmdlciBmb3Igc3dpdGNoaW5nIHdvcmtzcGFjZS5cblxuKiBUaGlzIGFsc28gYWRkcyBvcHRpb24gdG8gY29uZmlndXJlIHNwZWVkIG9mIGdlc3R1cmVzLiAoMS4wIGlzIGRlZmF1bHQpXG5cblxuIyBCdWdzXG5SZXBvcnQgYnVncyBvbiBnaXRsYWIuIiwKICAibmFtZSI6ICJHZXN0dXJlIGltcHJvdmVtZW50cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nZXN0dXJlSW1wcm92ZW1lbnRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL2hhcnNoYWRnYXZhbGkvZ25vbWUtZ2VzdHVyZXMiLAogICJ1dWlkIjogImdlc3R1cmVJbXByb3ZlbWVudHNAZ2VzdHVyZXMiLAogICJ2ZXJzaW9uIjogOAp9"}}}
-, {"uuid": "eclipse@blackjackshellac.ca", "name": "eclipse", "pname": "eclipse", "description": "eclipse gpaste interface with clipboard item encryption\n\nEclipse now uses dbus to communicate with the gpaste daemon\nAdded encryption of clipboard items with eclipse feature.\n\nThe following utilities are required, on fedora,\n\n$ sudo dnf install gpaste gpaste-ui gpaste-libs openssl\n\nIf updating the extension reports an ERROR it should work after the next reboot or if you logout and login again.\nPlease report issues on github.", "link": "https://extensions.gnome.org/extension/4246/eclipse/", "shell_version_map": {"38": {"version": "6", "sha256": "1i6aq6f59mc1ilx8kwkg431zn1v3an6yvf45qp3ka08y60cq57fm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImVjbGlwc2UgZ3Bhc3RlIGludGVyZmFjZSB3aXRoIGNsaXBib2FyZCBpdGVtIGVuY3J5cHRpb25cblxuRWNsaXBzZSBub3cgdXNlcyBkYnVzIHRvIGNvbW11bmljYXRlIHdpdGggdGhlIGdwYXN0ZSBkYWVtb25cbkFkZGVkIGVuY3J5cHRpb24gb2YgY2xpcGJvYXJkIGl0ZW1zIHdpdGggZWNsaXBzZSBmZWF0dXJlLlxuXG5UaGUgZm9sbG93aW5nIHV0aWxpdGllcyBhcmUgcmVxdWlyZWQsIG9uIGZlZG9yYSxcblxuJCBzdWRvIGRuZiBpbnN0YWxsIGdwYXN0ZSBncGFzdGUtdWkgZ3Bhc3RlLWxpYnMgb3BlbnNzbFxuXG5JZiB1cGRhdGluZyB0aGUgZXh0ZW5zaW9uIHJlcG9ydHMgYW4gRVJST1IgaXQgc2hvdWxkIHdvcmsgYWZ0ZXIgdGhlIG5leHQgcmVib290IG9yIGlmIHlvdSBsb2dvdXQgYW5kIGxvZ2luIGFnYWluLlxuUGxlYXNlIHJlcG9ydCBpc3N1ZXMgb24gZ2l0aHViLiIsCiAgImdldHRleHQtZG9tYWluIjogImVjbGlwc2UtYmxhY2tqYWNrc2hlbGxhYyIsCiAgIm5hbWUiOiAiZWNsaXBzZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5lY2xpcHNlLWJsYWNramFja3NoZWxsYWMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmxhY2tqYWNrc2hlbGxhYy9lY2xpcHNlIiwKICAidXVpZCI6ICJlY2xpcHNlQGJsYWNramFja3NoZWxsYWMuY2EiLAogICJ2ZXJzaW9uIjogNgp9"}, "40": {"version": "6", "sha256": "1i6aq6f59mc1ilx8kwkg431zn1v3an6yvf45qp3ka08y60cq57fm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImVjbGlwc2UgZ3Bhc3RlIGludGVyZmFjZSB3aXRoIGNsaXBib2FyZCBpdGVtIGVuY3J5cHRpb25cblxuRWNsaXBzZSBub3cgdXNlcyBkYnVzIHRvIGNvbW11bmljYXRlIHdpdGggdGhlIGdwYXN0ZSBkYWVtb25cbkFkZGVkIGVuY3J5cHRpb24gb2YgY2xpcGJvYXJkIGl0ZW1zIHdpdGggZWNsaXBzZSBmZWF0dXJlLlxuXG5UaGUgZm9sbG93aW5nIHV0aWxpdGllcyBhcmUgcmVxdWlyZWQsIG9uIGZlZG9yYSxcblxuJCBzdWRvIGRuZiBpbnN0YWxsIGdwYXN0ZSBncGFzdGUtdWkgZ3Bhc3RlLWxpYnMgb3BlbnNzbFxuXG5JZiB1cGRhdGluZyB0aGUgZXh0ZW5zaW9uIHJlcG9ydHMgYW4gRVJST1IgaXQgc2hvdWxkIHdvcmsgYWZ0ZXIgdGhlIG5leHQgcmVib290IG9yIGlmIHlvdSBsb2dvdXQgYW5kIGxvZ2luIGFnYWluLlxuUGxlYXNlIHJlcG9ydCBpc3N1ZXMgb24gZ2l0aHViLiIsCiAgImdldHRleHQtZG9tYWluIjogImVjbGlwc2UtYmxhY2tqYWNrc2hlbGxhYyIsCiAgIm5hbWUiOiAiZWNsaXBzZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5lY2xpcHNlLWJsYWNramFja3NoZWxsYWMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmxhY2tqYWNrc2hlbGxhYy9lY2xpcHNlIiwKICAidXVpZCI6ICJlY2xpcHNlQGJsYWNramFja3NoZWxsYWMuY2EiLAogICJ2ZXJzaW9uIjogNgp9"}}}
+, {"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": "11", "sha256": "13r77isf7ih0sklnms7blsk9a7av05d21rmjrnyr8jisr512991k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJsdXI6IEFwcGxpY2F0aW9ucyB8IFRvcCBQYW5lbCB8IE92ZXJ2aWV3IHwgRGFzaCB8IE1vcmUhXG5cblxuQ3JlZGl0IHdoZXJlIGl0J3MgZHVlOiBPdmVydmlldyBhbmQgZGFzaCBibHVyIGFyZSBiYXNlZCBvbiBibHVyIG15IHNoZWxsIiwKICAibmFtZSI6ICJCbHVyIE1lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MC4xIiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NraXNzYW5lL2JsdXItbWUiLAogICJ1dWlkIjogImJsdXItbWVAbnVuY2h1Y2tzIiwKICAidmVyc2lvbiI6IDExCn0="}}}
+, {"uuid": "gestureImprovements@gestures", "name": "Gesture Improvements", "pname": "gesture-improvements", "description": "Improve touchpad gestures for Wayland/X11.\n\nThis extension adds following features:\n\n• Switch windows from current workspace using 3-finger horizontal swipe\n• Cyclic gestures between Desktop/Overview/AppGrid using 4 vertical swipe\n• Switch app-pages using 3-finger swipe gesture on AppGrid\n• Maximize/unmaximize/half-tiling using 3-finger vertical &amp;amp;amp; horizontal gesture\n• Override 3-finger gesture with 4-finger for switching workspace\n• Configure speed of gestures\n• Support for X11\n   \nOn X11, you need to install https://github.com/harshadgavali/gnome-x11-gesture-daemon\n\nReport any bugs/requests on GitHub (link directly below)", "link": "https://extensions.gnome.org/extension/4245/gesture-improvements/", "shell_version_map": {"40": {"version": "15", "sha256": "006c2gh6yffplcp9mw94yr1vgs1v6755slci2p8krbfdkbs45066", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkltcHJvdmUgdG91Y2hwYWQgZ2VzdHVyZXMgZm9yIFdheWxhbmQvWDExLlxuXG5UaGlzIGV4dGVuc2lvbiBhZGRzIGZvbGxvd2luZyBmZWF0dXJlczpcblxuXHUyMDIyIFN3aXRjaCB3aW5kb3dzIGZyb20gY3VycmVudCB3b3Jrc3BhY2UgdXNpbmcgMy1maW5nZXIgaG9yaXpvbnRhbCBzd2lwZVxuXHUyMDIyIEN5Y2xpYyBnZXN0dXJlcyBiZXR3ZWVuIERlc2t0b3AvT3ZlcnZpZXcvQXBwR3JpZCB1c2luZyA0IHZlcnRpY2FsIHN3aXBlXG5cdTIwMjIgU3dpdGNoIGFwcC1wYWdlcyB1c2luZyAzLWZpbmdlciBzd2lwZSBnZXN0dXJlIG9uIEFwcEdyaWRcblx1MjAyMiBNYXhpbWl6ZS91bm1heGltaXplL2hhbGYtdGlsaW5nIHVzaW5nIDMtZmluZ2VyIHZlcnRpY2FsICZhbXA7YW1wO2FtcDsgaG9yaXpvbnRhbCBnZXN0dXJlXG5cdTIwMjIgT3ZlcnJpZGUgMy1maW5nZXIgZ2VzdHVyZSB3aXRoIDQtZmluZ2VyIGZvciBzd2l0Y2hpbmcgd29ya3NwYWNlXG5cdTIwMjIgQ29uZmlndXJlIHNwZWVkIG9mIGdlc3R1cmVzXG5cdTIwMjIgU3VwcG9ydCBmb3IgWDExXG4gICBcbk9uIFgxMSwgeW91IG5lZWQgdG8gaW5zdGFsbCBodHRwczovL2dpdGh1Yi5jb20vaGFyc2hhZGdhdmFsaS9nbm9tZS14MTEtZ2VzdHVyZS1kYWVtb25cblxuUmVwb3J0IGFueSBidWdzL3JlcXVlc3RzIG9uIEdpdEh1YiAobGluayBkaXJlY3RseSBiZWxvdykiLAogICJuYW1lIjogIkdlc3R1cmUgSW1wcm92ZW1lbnRzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdlc3R1cmVJbXByb3ZlbWVudHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGFyc2hhZGdhdmFsaS9nbm9tZS1nZXN0dXJlLWltcHJvdmVtZW50cyIsCiAgInV1aWQiOiAiZ2VzdHVyZUltcHJvdmVtZW50c0BnZXN0dXJlcyIsCiAgInZlcnNpb24iOiAxNQp9"}}}
+, {"uuid": "eclipse@blackjackshellac.ca", "name": "eclipse", "pname": "eclipse", "description": "eclipse clipboard interface with item encryption\n\nAdded encryption of clipboard items. Encrypted items can be\nsaved to disk in a folder of your choice. These items are persisted\nbetween sessions using openssl to encrypt the content.\n\nEclipse uses dbus to communicate with the gpaste daemon.\n\nThe following utilities are required,\n\n# for example, on fedora (add gpaste-ui for gpaste settings gui)\n$ sudo dnf install gpaste openssl\n# ubuntu\n$ sudo apt install gpaste openssl\n\nNow works with Gpaste 1 and Gpaste 2 on GS 3.36, 3.38 and 40\n\nIf updating the extension reports an ERROR it should work after the next reboot or if you logout and login again. If you're not running on Wayland you should be able to just restart the shell (Alt+F2,r).\n\nPlease report issues on github.\n", "link": "https://extensions.gnome.org/extension/4246/eclipse/", "shell_version_map": {"38": {"version": "8", "sha256": "09j5f8p23m4v2bdad582497r194z05x4izc2wywp9nhv1nldcs3n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImVjbGlwc2UgY2xpcGJvYXJkIGludGVyZmFjZSB3aXRoIGl0ZW0gZW5jcnlwdGlvblxuXG5BZGRlZCBlbmNyeXB0aW9uIG9mIGNsaXBib2FyZCBpdGVtcy4gRW5jcnlwdGVkIGl0ZW1zIGNhbiBiZVxuc2F2ZWQgdG8gZGlzayBpbiBhIGZvbGRlciBvZiB5b3VyIGNob2ljZS4gVGhlc2UgaXRlbXMgYXJlIHBlcnNpc3RlZFxuYmV0d2VlbiBzZXNzaW9ucyB1c2luZyBvcGVuc3NsIHRvIGVuY3J5cHQgdGhlIGNvbnRlbnQuXG5cbkVjbGlwc2UgdXNlcyBkYnVzIHRvIGNvbW11bmljYXRlIHdpdGggdGhlIGdwYXN0ZSBkYWVtb24uXG5cblRoZSBmb2xsb3dpbmcgdXRpbGl0aWVzIGFyZSByZXF1aXJlZCxcblxuIyBmb3IgZXhhbXBsZSwgb24gZmVkb3JhIChhZGQgZ3Bhc3RlLXVpIGZvciBncGFzdGUgc2V0dGluZ3MgZ3VpKVxuJCBzdWRvIGRuZiBpbnN0YWxsIGdwYXN0ZSBvcGVuc3NsXG4jIHVidW50dVxuJCBzdWRvIGFwdCBpbnN0YWxsIGdwYXN0ZSBvcGVuc3NsXG5cbk5vdyB3b3JrcyB3aXRoIEdwYXN0ZSAxIGFuZCBHcGFzdGUgMiBvbiBHUyAzLjM2LCAzLjM4IGFuZCA0MFxuXG5JZiB1cGRhdGluZyB0aGUgZXh0ZW5zaW9uIHJlcG9ydHMgYW4gRVJST1IgaXQgc2hvdWxkIHdvcmsgYWZ0ZXIgdGhlIG5leHQgcmVib290IG9yIGlmIHlvdSBsb2dvdXQgYW5kIGxvZ2luIGFnYWluLiBJZiB5b3UncmUgbm90IHJ1bm5pbmcgb24gV2F5bGFuZCB5b3Ugc2hvdWxkIGJlIGFibGUgdG8ganVzdCByZXN0YXJ0IHRoZSBzaGVsbCAoQWx0K0YyLHIpLlxuXG5QbGVhc2UgcmVwb3J0IGlzc3VlcyBvbiBnaXRodWIuXG4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJlY2xpcHNlLWJsYWNramFja3NoZWxsYWMiLAogICJuYW1lIjogImVjbGlwc2UiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZWNsaXBzZS1ibGFja2phY2tzaGVsbGFjIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JsYWNramFja3NoZWxsYWMvZWNsaXBzZSIsCiAgInV1aWQiOiAiZWNsaXBzZUBibGFja2phY2tzaGVsbGFjLmNhIiwKICAidmVyc2lvbiI6IDgKfQ=="}, "40": {"version": "8", "sha256": "09j5f8p23m4v2bdad582497r194z05x4izc2wywp9nhv1nldcs3n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImVjbGlwc2UgY2xpcGJvYXJkIGludGVyZmFjZSB3aXRoIGl0ZW0gZW5jcnlwdGlvblxuXG5BZGRlZCBlbmNyeXB0aW9uIG9mIGNsaXBib2FyZCBpdGVtcy4gRW5jcnlwdGVkIGl0ZW1zIGNhbiBiZVxuc2F2ZWQgdG8gZGlzayBpbiBhIGZvbGRlciBvZiB5b3VyIGNob2ljZS4gVGhlc2UgaXRlbXMgYXJlIHBlcnNpc3RlZFxuYmV0d2VlbiBzZXNzaW9ucyB1c2luZyBvcGVuc3NsIHRvIGVuY3J5cHQgdGhlIGNvbnRlbnQuXG5cbkVjbGlwc2UgdXNlcyBkYnVzIHRvIGNvbW11bmljYXRlIHdpdGggdGhlIGdwYXN0ZSBkYWVtb24uXG5cblRoZSBmb2xsb3dpbmcgdXRpbGl0aWVzIGFyZSByZXF1aXJlZCxcblxuIyBmb3IgZXhhbXBsZSwgb24gZmVkb3JhIChhZGQgZ3Bhc3RlLXVpIGZvciBncGFzdGUgc2V0dGluZ3MgZ3VpKVxuJCBzdWRvIGRuZiBpbnN0YWxsIGdwYXN0ZSBvcGVuc3NsXG4jIHVidW50dVxuJCBzdWRvIGFwdCBpbnN0YWxsIGdwYXN0ZSBvcGVuc3NsXG5cbk5vdyB3b3JrcyB3aXRoIEdwYXN0ZSAxIGFuZCBHcGFzdGUgMiBvbiBHUyAzLjM2LCAzLjM4IGFuZCA0MFxuXG5JZiB1cGRhdGluZyB0aGUgZXh0ZW5zaW9uIHJlcG9ydHMgYW4gRVJST1IgaXQgc2hvdWxkIHdvcmsgYWZ0ZXIgdGhlIG5leHQgcmVib290IG9yIGlmIHlvdSBsb2dvdXQgYW5kIGxvZ2luIGFnYWluLiBJZiB5b3UncmUgbm90IHJ1bm5pbmcgb24gV2F5bGFuZCB5b3Ugc2hvdWxkIGJlIGFibGUgdG8ganVzdCByZXN0YXJ0IHRoZSBzaGVsbCAoQWx0K0YyLHIpLlxuXG5QbGVhc2UgcmVwb3J0IGlzc3VlcyBvbiBnaXRodWIuXG4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJlY2xpcHNlLWJsYWNramFja3NoZWxsYWMiLAogICJuYW1lIjogImVjbGlwc2UiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZWNsaXBzZS1ibGFja2phY2tzaGVsbGFjIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JsYWNramFja3NoZWxsYWMvZWNsaXBzZSIsCiAgInV1aWQiOiAiZWNsaXBzZUBibGFja2phY2tzaGVsbGFjLmNhIiwKICAidmVyc2lvbiI6IDgKfQ=="}}}
 , {"uuid": "audio-switcher@albertomosconi", "name": "Audio Switcher 40", "pname": "audio-switcher-40", "description": "Adds a switch for choosing audio input/output to the system menu in GNOME 40. (Makes InputSlider always visible)", "link": "https://extensions.gnome.org/extension/4248/audio-switcher-40/", "shell_version_map": {"38": {"version": "4", "sha256": "0mvc4f6i7vsqijq8l4adcixdyycfxmd7kvw13d5h0vx4hg6vam1g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBzd2l0Y2ggZm9yIGNob29zaW5nIGF1ZGlvIGlucHV0L291dHB1dCB0byB0aGUgc3lzdGVtIG1lbnUgaW4gR05PTUUgNDAuIChNYWtlcyBJbnB1dFNsaWRlciBhbHdheXMgdmlzaWJsZSkiLAogICJuYW1lIjogIkF1ZGlvIFN3aXRjaGVyIDQwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4xIiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cDovL2dpdGh1Yi5jb20vYWxiZXJ0b21vc2NvbmkvYXVkaW8tc3dpdGNoZXIiLAogICJ1dWlkIjogImF1ZGlvLXN3aXRjaGVyQGFsYmVydG9tb3Njb25pIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "40": {"version": "4", "sha256": "0mvc4f6i7vsqijq8l4adcixdyycfxmd7kvw13d5h0vx4hg6vam1g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBzd2l0Y2ggZm9yIGNob29zaW5nIGF1ZGlvIGlucHV0L291dHB1dCB0byB0aGUgc3lzdGVtIG1lbnUgaW4gR05PTUUgNDAuIChNYWtlcyBJbnB1dFNsaWRlciBhbHdheXMgdmlzaWJsZSkiLAogICJuYW1lIjogIkF1ZGlvIFN3aXRjaGVyIDQwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4xIiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cDovL2dpdGh1Yi5jb20vYWxiZXJ0b21vc2NvbmkvYXVkaW8tc3dpdGNoZXIiLAogICJ1dWlkIjogImF1ZGlvLXN3aXRjaGVyQGFsYmVydG9tb3Njb25pIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
-, {"uuid": "fedoramenu@tofu", "name": "Fedora Menu (Deprecated)", "pname": "fedora-menu", "description": "Fedora Menu - Menu similar to Apple's macOS menu for the GNOME Desktop\n\nDeprecated, please use Tofu Menu (https://extensions.gnome.org/extension/4272/tofu-menu/)", "link": "https://extensions.gnome.org/extension/4251/fedora-menu/", "shell_version_map": {"40": {"version": "6", "sha256": "0n4h6lsiv2lw8ff9aczhqcpxls261xidyr5dzmj1d4h48blil34l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZlZG9yYSBNZW51IC0gTWVudSBzaW1pbGFyIHRvIEFwcGxlJ3MgbWFjT1MgbWVudSBmb3IgdGhlIEdOT01FIERlc2t0b3BcblxuRGVwcmVjYXRlZCwgcGxlYXNlIHVzZSBUb2Z1IE1lbnUgKGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzQyNzIvdG9mdS1tZW51LykiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJmZWRvcmEtbWVudSIsCiAgIm5hbWUiOiAiRmVkb3JhIE1lbnUgKERlcHJlY2F0ZWQpIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy50b2Z1LmZlZG9yYS1tZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJmZWRvcmFtZW51QHRvZnUiLAogICJ2ZXJzaW9uIjogNgp9"}}}
 , {"uuid": "shell-configurator@adeswanta", "name": "Shell Configurator", "pname": "shell-configurator", "description": "Configure and customize GNOME Shell with advanced settings.", "link": "https://extensions.gnome.org/extension/4254/shell-configurator/", "shell_version_map": {"38": {"version": "4", "sha256": "18dcbxizgj295v34m2dsz1dq9wxlk1s9cgqcgwd1k6r2v2f4p00z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbmZpZ3VyZSBhbmQgY3VzdG9taXplIEdOT01FIFNoZWxsIHdpdGggYWR2YW5jZWQgc2V0dGluZ3MuIiwKICAiaWQiOiAic2hlbGwtY29uZmlndXJhdG9yIiwKICAiaW5zdGFsbC10eXBlIjogIlVzZXIiLAogICJuYW1lIjogIlNoZWxsIENvbmZpZ3VyYXRvciIsCiAgInJlbGVhc2Utc3RhdGUiOiAicmVsZWFzZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vYWRlc3dhbnRhVGVjaHMvc2hlbGwtY29uZmlndXJhdG9yIiwKICAidXVpZCI6ICJzaGVsbC1jb25maWd1cmF0b3JAYWRlc3dhbnRhIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "40": {"version": "4", "sha256": "18dcbxizgj295v34m2dsz1dq9wxlk1s9cgqcgwd1k6r2v2f4p00z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbmZpZ3VyZSBhbmQgY3VzdG9taXplIEdOT01FIFNoZWxsIHdpdGggYWR2YW5jZWQgc2V0dGluZ3MuIiwKICAiaWQiOiAic2hlbGwtY29uZmlndXJhdG9yIiwKICAiaW5zdGFsbC10eXBlIjogIlVzZXIiLAogICJuYW1lIjogIlNoZWxsIENvbmZpZ3VyYXRvciIsCiAgInJlbGVhc2Utc3RhdGUiOiAicmVsZWFzZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vYWRlc3dhbnRhVGVjaHMvc2hlbGwtY29uZmlndXJhdG9yIiwKICAidXVpZCI6ICJzaGVsbC1jb25maWd1cmF0b3JAYWRlc3dhbnRhIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
-, {"uuid": "io.github.mreditor.gnome-shell-extensions.scroll-panel", "name": "Scroll Panel", "pname": "scroll-panel", "description": "This extension allows switching between windows or workspaces by scrolling Gnome Shell topbar with mouse (both in overview and workspace modes).", "link": "https://extensions.gnome.org/extension/4257/scroll-panel/", "shell_version_map": {"40": {"version": "3", "sha256": "0gz0fsszripivgglly03gfl9pa1dj3wcpgwzmimipr79ykbi5h6q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFsbG93cyBzd2l0Y2hpbmcgYmV0d2VlbiB3aW5kb3dzIG9yIHdvcmtzcGFjZXMgYnkgc2Nyb2xsaW5nIEdub21lIFNoZWxsIHRvcGJhciB3aXRoIG1vdXNlIChib3RoIGluIG92ZXJ2aWV3IGFuZCB3b3Jrc3BhY2UgbW9kZXMpLiIsCiAgImdldHRleHQtZG9tYWluIjogImlvLmdpdGh1Yi5tcmVkaXRvci5nbm9tZS1zaGVsbC1leHRlbnNpb25zLnNjcm9sbC1wYW5lbCIsCiAgIm5hbWUiOiAiU2Nyb2xsIFBhbmVsIiwKICAic2VtYW50aWMtdmVyc2lvbiI6ICI0LjEuMStnaXQtMmYxNWI0YiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJpby5naXRodWIubXJlZGl0b3IuZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5zY3JvbGwtcGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbXJFRGl0b3IvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXNjcm9sbC1wYW5lbCIsCiAgInV1aWQiOiAiaW8uZ2l0aHViLm1yZWRpdG9yLmdub21lLXNoZWxsLWV4dGVuc2lvbnMuc2Nyb2xsLXBhbmVsIiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
-, {"uuid": "FuzzyClock@kk2020.info", "name": "あいまい時計", "pname": "extension", "description": "トップバーの時計をあいまいにします。", "link": "https://extensions.gnome.org/extension/4260/extension/", "shell_version_map": {"38": {"version": "2", "sha256": "0d5j69khnv6fyywkfkavl0fcrvqnzlqvspbsvvff3vxknl1japhh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlx1MzBjOFx1MzBjM1x1MzBkN1x1MzBkMFx1MzBmY1x1MzA2ZVx1NjY0Mlx1OGEwOFx1MzA5Mlx1MzA0Mlx1MzA0NFx1MzA3ZVx1MzA0NFx1MzA2Ylx1MzA1N1x1MzA3ZVx1MzA1OVx1MzAwMiIsCiAgIm5hbWUiOiAiXHUzMDQyXHUzMDQ0XHUzMDdlXHUzMDQ0XHU2NjQyXHU4YTA4IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIkZ1enp5Q2xvY2tAa2syMDIwLmluZm8iLAogICJ2ZXJzaW9uIjogMgp9"}, "40": {"version": "2", "sha256": "0d5j69khnv6fyywkfkavl0fcrvqnzlqvspbsvvff3vxknl1japhh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlx1MzBjOFx1MzBjM1x1MzBkN1x1MzBkMFx1MzBmY1x1MzA2ZVx1NjY0Mlx1OGEwOFx1MzA5Mlx1MzA0Mlx1MzA0NFx1MzA3ZVx1MzA0NFx1MzA2Ylx1MzA1N1x1MzA3ZVx1MzA1OVx1MzAwMiIsCiAgIm5hbWUiOiAiXHUzMDQyXHUzMDQ0XHUzMDdlXHUzMDQ0XHU2NjQyXHU4YTA4IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIkZ1enp5Q2xvY2tAa2syMDIwLmluZm8iLAogICJ2ZXJzaW9uIjogMgp9"}}}
-, {"uuid": "wb@pwall.github.com", "name": "WindowButtons", "pname": "windowbuttons", "description": "This is an extension for Gnome 3.38 which puts minimize and close buttons in the top panel.", "link": "https://extensions.gnome.org/extension/4261/windowbuttons/", "shell_version_map": {"38": {"version": "3", "sha256": "024yhfbibj556mx1f2jzg0zj4p0ywm9rnvaff971pzni22m4biyj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgaXMgYW4gZXh0ZW5zaW9uIGZvciBHbm9tZSAzLjM4IHdoaWNoIHB1dHMgbWluaW1pemUgYW5kIGNsb3NlIGJ1dHRvbnMgaW4gdGhlIHRvcCBwYW5lbC4iLAogICJuYW1lIjogIldpbmRvd0J1dHRvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9QV2FsbDIyMjIvV0IiLAogICJ1dWlkIjogIndiQHB3YWxsLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}}}
+, {"uuid": "io.github.mreditor.gnome-shell-extensions.scroll-panel", "name": "Scroll Panel", "pname": "scroll-panel", "description": "This extension allows switching between windows or workspaces by scrolling Gnome Shell topbar with mouse (both in overview and workspace modes).", "link": "https://extensions.gnome.org/extension/4257/scroll-panel/", "shell_version_map": {"40": {"version": "5", "sha256": "0qhgazsrbk8sflj19whcqk0wmjrsbyg1cxcys5ynxi37vsh0ispw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFsbG93cyBzd2l0Y2hpbmcgYmV0d2VlbiB3aW5kb3dzIG9yIHdvcmtzcGFjZXMgYnkgc2Nyb2xsaW5nIEdub21lIFNoZWxsIHRvcGJhciB3aXRoIG1vdXNlIChib3RoIGluIG92ZXJ2aWV3IGFuZCB3b3Jrc3BhY2UgbW9kZXMpLiIsCiAgImdldHRleHQtZG9tYWluIjogImlvLmdpdGh1Yi5tcmVkaXRvci5nbm9tZS1zaGVsbC1leHRlbnNpb25zLnNjcm9sbC1wYW5lbCIsCiAgIm5hbWUiOiAiU2Nyb2xsIFBhbmVsIiwKICAic2VtYW50aWMtdmVyc2lvbiI6ICI0LjEuMytnaXQtNTIzZjA4ZiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJpby5naXRodWIubXJlZGl0b3IuZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5zY3JvbGwtcGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbXJFRGl0b3IvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXNjcm9sbC1wYW5lbCIsCiAgInV1aWQiOiAiaW8uZ2l0aHViLm1yZWRpdG9yLmdub21lLXNoZWxsLWV4dGVuc2lvbnMuc2Nyb2xsLXBhbmVsIiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
+, {"uuid": "wb@pwall.github.com", "name": "WindowButtons", "pname": "windowbuttons", "description": "This is an extension for Gnome 3.38 which puts minimize and close buttons in the top panel.", "link": "https://extensions.gnome.org/extension/4261/windowbuttons/", "shell_version_map": {"38": {"version": "6", "sha256": "1w9j3rmn8yhppfkxrgyfvws2hsr24ki60vi8d73hdhifpnfps2sy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgaXMgYW4gZXh0ZW5zaW9uIGZvciBHbm9tZSAzLjM4IHdoaWNoIHB1dHMgbWluaW1pemUgYW5kIGNsb3NlIGJ1dHRvbnMgaW4gdGhlIHRvcCBwYW5lbC4iLAogICJuYW1lIjogIldpbmRvd0J1dHRvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9QV2FsbDIyMjIvV0IiLAogICJ1dWlkIjogIndiQHB3YWxsLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNgp9"}}}
 , {"uuid": "rippleremove@slippinggitty", "name": "Ripple Remove", "pname": "ripple-remove", "description": "Removes the ripple effect from the Activities hot corner", "link": "https://extensions.gnome.org/extension/4264/ripple-remove/", "shell_version_map": {"40": {"version": "1", "sha256": "1dnk8nfnv5hp8c11fzhn5vscicij4lk9i1vz25fz6sjc3rn1a9pq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZXMgdGhlIHJpcHBsZSBlZmZlY3QgZnJvbSB0aGUgQWN0aXZpdGllcyBob3QgY29ybmVyIiwKICAibmFtZSI6ICJSaXBwbGUgUmVtb3ZlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5zbGlwcGluZ2l0dHkucmlwcGxlcmVtb3ZlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJyaXBwbGVyZW1vdmVAc2xpcHBpbmdnaXR0eSIsCiAgInZlcnNpb24iOiAxCn0="}}}
 , {"uuid": "quickmenu@slippinggitty", "name": "Quick Menu [DEAD]", "pname": "quick-menu", "description": "This is a fork of fedoramenu (which is a fork of Big Sur Menu by fausto) that scrubs references of Fedora by replacing the icon with the GNOME logo.\n\nQuick Menu is a panel applet similar to the Apple menu found on macOS.\n\nEDIT: This extension's purpose is dead. Check out Tofu Menu, which is fedoramenu, but with the ability to change the icon. https://extensions.gnome.org/extension/4272/tofu-menu/", "link": "https://extensions.gnome.org/extension/4266/quick-menu/", "shell_version_map": {"40": {"version": "1", "sha256": "1qla029n79366a7xvg2d9v0wa7272bqj40ggvbjrfsbd8x066aca", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgaXMgYSBmb3JrIG9mIGZlZG9yYW1lbnUgKHdoaWNoIGlzIGEgZm9yayBvZiBCaWcgU3VyIE1lbnUgYnkgZmF1c3RvKSB0aGF0IHNjcnVicyByZWZlcmVuY2VzIG9mIEZlZG9yYSBieSByZXBsYWNpbmcgdGhlIGljb24gd2l0aCB0aGUgR05PTUUgbG9nby5cblxuUXVpY2sgTWVudSBpcyBhIHBhbmVsIGFwcGxldCBzaW1pbGFyIHRvIHRoZSBBcHBsZSBtZW51IGZvdW5kIG9uIG1hY09TLlxuXG5FRElUOiBUaGlzIGV4dGVuc2lvbidzIHB1cnBvc2UgaXMgZGVhZC4gQ2hlY2sgb3V0IFRvZnUgTWVudSwgd2hpY2ggaXMgZmVkb3JhbWVudSwgYnV0IHdpdGggdGhlIGFiaWxpdHkgdG8gY2hhbmdlIHRoZSBpY29uLiBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi80MjcyL3RvZnUtbWVudS8iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJxdWljay1tZW51IiwKICAibmFtZSI6ICJRdWljayBNZW51IFtERUFEXSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuc2xpcHBpbmdpdHR5LnF1aWNrLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vU2xpcHBpbmdHaXR0eS9xdWlja21lbnUiLAogICJ1dWlkIjogInF1aWNrbWVudUBzbGlwcGluZ2dpdHR5IiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
-, {"uuid": "show-desktop-applet@valent-in", "name": "Show Desktop Applet", "pname": "show-desktop-applet", "description": "Minimize/unminimize all open windows with a single click.\n\nForked from https://extensions.gnome.org/extension/1194/show-desktop-button/\n\nFeatures:\n- Windows-like behavior\n- Can be placed at the end of panel\n- Hotkey support (can be activated in settings)", "link": "https://extensions.gnome.org/extension/4267/show-desktop-applet/", "shell_version_map": {"38": {"version": "1", "sha256": "0la28hsib8hvzkf8l4mppqml0pl7s0g620nc7q47cbvgjfs8zh62", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmltaXplL3VubWluaW1pemUgYWxsIG9wZW4gd2luZG93cyB3aXRoIGEgc2luZ2xlIGNsaWNrLlxuXG5Gb3JrZWQgZnJvbSBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8xMTk0L3Nob3ctZGVza3RvcC1idXR0b24vXG5cbkZlYXR1cmVzOlxuLSBXaW5kb3dzLWxpa2UgYmVoYXZpb3Jcbi0gQ2FuIGJlIHBsYWNlZCBhdCB0aGUgZW5kIG9mIHBhbmVsXG4tIEhvdGtleSBzdXBwb3J0IChjYW4gYmUgYWN0aXZhdGVkIGluIHNldHRpbmdzKSIsCiAgImV4dGVuc2lvbi1pZCI6ICJzaG93LWRlc2t0b3AtYXBwbGV0IiwKICAiZ2V0dGV4dC1kb21haW4iOiAic2hvdy1kZXNrdG9wLWFwcGxldCIsCiAgImxvY2FsZWRpciI6ICIvdXNyL3NoYXJlL2xvY2FsZSIsCiAgIm5hbWUiOiAiU2hvdyBEZXNrdG9wIEFwcGxldCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaG93LWRlc2t0b3AtYXBwbGV0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1ZhbGVudC1pbi9TaG93LURlc2t0b3AtQXBwbGV0IiwKICAidXVpZCI6ICJzaG93LWRlc2t0b3AtYXBwbGV0QHZhbGVudC1pbiIsCiAgInZlcnNpb24iOiAxCn0="}, "40": {"version": "1", "sha256": "0la28hsib8hvzkf8l4mppqml0pl7s0g620nc7q47cbvgjfs8zh62", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmltaXplL3VubWluaW1pemUgYWxsIG9wZW4gd2luZG93cyB3aXRoIGEgc2luZ2xlIGNsaWNrLlxuXG5Gb3JrZWQgZnJvbSBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8xMTk0L3Nob3ctZGVza3RvcC1idXR0b24vXG5cbkZlYXR1cmVzOlxuLSBXaW5kb3dzLWxpa2UgYmVoYXZpb3Jcbi0gQ2FuIGJlIHBsYWNlZCBhdCB0aGUgZW5kIG9mIHBhbmVsXG4tIEhvdGtleSBzdXBwb3J0IChjYW4gYmUgYWN0aXZhdGVkIGluIHNldHRpbmdzKSIsCiAgImV4dGVuc2lvbi1pZCI6ICJzaG93LWRlc2t0b3AtYXBwbGV0IiwKICAiZ2V0dGV4dC1kb21haW4iOiAic2hvdy1kZXNrdG9wLWFwcGxldCIsCiAgImxvY2FsZWRpciI6ICIvdXNyL3NoYXJlL2xvY2FsZSIsCiAgIm5hbWUiOiAiU2hvdyBEZXNrdG9wIEFwcGxldCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaG93LWRlc2t0b3AtYXBwbGV0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1ZhbGVudC1pbi9TaG93LURlc2t0b3AtQXBwbGV0IiwKICAidXVpZCI6ICJzaG93LWRlc2t0b3AtYXBwbGV0QHZhbGVudC1pbiIsCiAgInZlcnNpb24iOiAxCn0="}}}
-, {"uuid": "AlphabeticalAppGrid@stuarthayhurst", "name": "Alphabetical App Grid", "pname": "alphabetical-app-grid", "description": "Restore the alphabetical ordering of the app grid", "link": "https://extensions.gnome.org/extension/4269/alphabetical-app-grid/", "shell_version_map": {"38": {"version": "4", "sha256": "1dvkw39a9ihz2wbakk9mi48k3lypasz3290lv7ppqilb0dbp99yx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlc3RvcmUgdGhlIGFscGhhYmV0aWNhbCBvcmRlcmluZyBvZiB0aGUgYXBwIGdyaWQiLAogICJuYW1lIjogIkFscGhhYmV0aWNhbCBBcHAgR3JpZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdHVhcnRoYXlodXJzdC9hbHBoYWJldGljYWwtZ3JpZC1leHRlbnNpb24iLAogICJ1dWlkIjogIkFscGhhYmV0aWNhbEFwcEdyaWRAc3R1YXJ0aGF5aHVyc3QiLAogICJ2ZXJzaW9uIjogNAp9"}, "40": {"version": "4", "sha256": "1dvkw39a9ihz2wbakk9mi48k3lypasz3290lv7ppqilb0dbp99yx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlc3RvcmUgdGhlIGFscGhhYmV0aWNhbCBvcmRlcmluZyBvZiB0aGUgYXBwIGdyaWQiLAogICJuYW1lIjogIkFscGhhYmV0aWNhbCBBcHAgR3JpZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdHVhcnRoYXlodXJzdC9hbHBoYWJldGljYWwtZ3JpZC1leHRlbnNpb24iLAogICJ1dWlkIjogIkFscGhhYmV0aWNhbEFwcEdyaWRAc3R1YXJ0aGF5aHVyc3QiLAogICJ2ZXJzaW9uIjogNAp9"}}}
+, {"uuid": "show-desktop-applet@valent-in", "name": "Show Desktop Applet", "pname": "show-desktop-applet", "description": "Minimize/unminimize all open windows with a single click.\n\nForked from https://extensions.gnome.org/extension/1194/show-desktop-button/\n\nFeatures:\n- Windows-like behavior\n- Can be placed at the end of panel\n- Hotkey support (can be activated in settings)", "link": "https://extensions.gnome.org/extension/4267/show-desktop-applet/", "shell_version_map": {"38": {"version": "2", "sha256": "0ybzzr3gmii29lpjqzh7yad9yyvz1fg8gb3ip6lki2l84hs3aa0c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmltaXplL3VubWluaW1pemUgYWxsIG9wZW4gd2luZG93cyB3aXRoIGEgc2luZ2xlIGNsaWNrLlxuXG5Gb3JrZWQgZnJvbSBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8xMTk0L3Nob3ctZGVza3RvcC1idXR0b24vXG5cbkZlYXR1cmVzOlxuLSBXaW5kb3dzLWxpa2UgYmVoYXZpb3Jcbi0gQ2FuIGJlIHBsYWNlZCBhdCB0aGUgZW5kIG9mIHBhbmVsXG4tIEhvdGtleSBzdXBwb3J0IChjYW4gYmUgYWN0aXZhdGVkIGluIHNldHRpbmdzKSIsCiAgImV4dGVuc2lvbi1pZCI6ICJzaG93LWRlc2t0b3AtYXBwbGV0IiwKICAiZ2V0dGV4dC1kb21haW4iOiAic2hvdy1kZXNrdG9wLWFwcGxldCIsCiAgImxvY2FsZWRpciI6ICIvdXNyL3NoYXJlL2xvY2FsZSIsCiAgIm5hbWUiOiAiU2hvdyBEZXNrdG9wIEFwcGxldCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaG93LWRlc2t0b3AtYXBwbGV0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1ZhbGVudC1pbi9TaG93LURlc2t0b3AtQXBwbGV0IiwKICAidXVpZCI6ICJzaG93LWRlc2t0b3AtYXBwbGV0QHZhbGVudC1pbiIsCiAgInZlcnNpb24iOiAyCn0="}, "40": {"version": "2", "sha256": "0ybzzr3gmii29lpjqzh7yad9yyvz1fg8gb3ip6lki2l84hs3aa0c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmltaXplL3VubWluaW1pemUgYWxsIG9wZW4gd2luZG93cyB3aXRoIGEgc2luZ2xlIGNsaWNrLlxuXG5Gb3JrZWQgZnJvbSBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8xMTk0L3Nob3ctZGVza3RvcC1idXR0b24vXG5cbkZlYXR1cmVzOlxuLSBXaW5kb3dzLWxpa2UgYmVoYXZpb3Jcbi0gQ2FuIGJlIHBsYWNlZCBhdCB0aGUgZW5kIG9mIHBhbmVsXG4tIEhvdGtleSBzdXBwb3J0IChjYW4gYmUgYWN0aXZhdGVkIGluIHNldHRpbmdzKSIsCiAgImV4dGVuc2lvbi1pZCI6ICJzaG93LWRlc2t0b3AtYXBwbGV0IiwKICAiZ2V0dGV4dC1kb21haW4iOiAic2hvdy1kZXNrdG9wLWFwcGxldCIsCiAgImxvY2FsZWRpciI6ICIvdXNyL3NoYXJlL2xvY2FsZSIsCiAgIm5hbWUiOiAiU2hvdyBEZXNrdG9wIEFwcGxldCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaG93LWRlc2t0b3AtYXBwbGV0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1ZhbGVudC1pbi9TaG93LURlc2t0b3AtQXBwbGV0IiwKICAidXVpZCI6ICJzaG93LWRlc2t0b3AtYXBwbGV0QHZhbGVudC1pbiIsCiAgInZlcnNpb24iOiAyCn0="}}}
+, {"uuid": "AlphabeticalAppGrid@stuarthayhurst", "name": "Alphabetical App Grid", "pname": "alphabetical-app-grid", "description": "Restore the alphabetical ordering of the app grid", "link": "https://extensions.gnome.org/extension/4269/alphabetical-app-grid/", "shell_version_map": {"38": {"version": "11", "sha256": "0xv73xzsr9jsx97mi4gg7bbwi06yk7qziqmxwfiv160dx5fvzkjg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlYnVnIjogZmFsc2UsCiAgImRlc2NyaXB0aW9uIjogIlJlc3RvcmUgdGhlIGFscGhhYmV0aWNhbCBvcmRlcmluZyBvZiB0aGUgYXBwIGdyaWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJBbHBoYWJldGljYWxBcHBHcmlkQHN0dWFydGhheWh1cnN0IiwKICAibmFtZSI6ICJBbHBoYWJldGljYWwgQXBwIEdyaWQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYWxwaGFiZXRpY2FsLWFwcC1ncmlkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N0dWFydGhheWh1cnN0L2FscGhhYmV0aWNhbC1ncmlkLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiQWxwaGFiZXRpY2FsQXBwR3JpZEBzdHVhcnRoYXlodXJzdCIsCiAgInZlcnNpb24iOiAxMQp9"}, "40": {"version": "11", "sha256": "0xv73xzsr9jsx97mi4gg7bbwi06yk7qziqmxwfiv160dx5fvzkjg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlYnVnIjogZmFsc2UsCiAgImRlc2NyaXB0aW9uIjogIlJlc3RvcmUgdGhlIGFscGhhYmV0aWNhbCBvcmRlcmluZyBvZiB0aGUgYXBwIGdyaWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJBbHBoYWJldGljYWxBcHBHcmlkQHN0dWFydGhheWh1cnN0IiwKICAibmFtZSI6ICJBbHBoYWJldGljYWwgQXBwIEdyaWQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYWxwaGFiZXRpY2FsLWFwcC1ncmlkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N0dWFydGhheWh1cnN0L2FscGhhYmV0aWNhbC1ncmlkLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiQWxwaGFiZXRpY2FsQXBwR3JpZEBzdHVhcnRoYXlodXJzdCIsCiAgInZlcnNpb24iOiAxMQp9"}}}
 , {"uuid": "tofumenu@tofu", "name": "Tofu Menu", "pname": "tofu-menu", "description": "Quick access menu for the GNOME panel with options that help ease the workflow for newcomers and power users alike.\n\nhttps://github.com/tofutech/tofumenu", "link": "https://extensions.gnome.org/extension/4272/tofu-menu/", "shell_version_map": {"40": {"version": "2", "sha256": "05ndbjvvz0v1y8iq6ngqylz4z1ld6q5ibhkr5dh24wqc4wiky30v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrIGFjY2VzcyBtZW51IGZvciB0aGUgR05PTUUgcGFuZWwgd2l0aCBvcHRpb25zIHRoYXQgaGVscCBlYXNlIHRoZSB3b3JrZmxvdyBmb3IgbmV3Y29tZXJzIGFuZCBwb3dlciB1c2VycyBhbGlrZS5cblxuaHR0cHM6Ly9naXRodWIuY29tL3RvZnV0ZWNoL3RvZnVtZW51IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZmVkb3JhLW1lbnUiLAogICJuYW1lIjogIlRvZnUgTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcudG9mdS5mZWRvcmEtbWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAidG9mdW1lbnVAdG9mdSIsCiAgInZlcnNpb24iOiAyCn0="}}}
-, {"uuid": "cryptostash@filidorwiese.nl", "name": "CryptoStash", "pname": "cryptostash", "description": "Keep an eye on the real time value of your crypto coins collections.\n\nYou can create multiple \"stashes\" (portfolios) of coins and monitor the accumulated value in USD or EUR. Or if you prefer, you can simply track the current value of your favorite coin.", "link": "https://extensions.gnome.org/extension/4276/cryptostash/", "shell_version_map": {"38": {"version": "3", "sha256": "1qy8kyif3ayy3dkb8i6525cvpj5pvbw7a3qpinm3fp0471c0xjbh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvcl91cmwiOiAiaHR0cHM6Ly9maWxpZG9yd2llc2UubmwiLAogICJkZXNjcmlwdGlvbiI6ICJLZWVwIGFuIGV5ZSBvbiB0aGUgcmVhbCB0aW1lIHZhbHVlIG9mIHlvdXIgY3J5cHRvIGNvaW5zIGNvbGxlY3Rpb25zLlxuXG5Zb3UgY2FuIGNyZWF0ZSBtdWx0aXBsZSBcInN0YXNoZXNcIiAocG9ydGZvbGlvcykgb2YgY29pbnMgYW5kIG1vbml0b3IgdGhlIGFjY3VtdWxhdGVkIHZhbHVlIGluIFVTRCBvciBFVVIuIE9yIGlmIHlvdSBwcmVmZXIsIHlvdSBjYW4gc2ltcGx5IHRyYWNrIHRoZSBjdXJyZW50IHZhbHVlIG9mIHlvdXIgZmF2b3JpdGUgY29pbi4iLAogICJuYW1lIjogIkNyeXB0b1N0YXNoIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNyeXB0by1zdGFzaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ0YWciOiAxLjIsCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZmlsaWRvcndpZXNlL2dub21lLXNoZWxsLWNyeXB0by1zdGFzaCIsCiAgInV1aWQiOiAiY3J5cHRvc3Rhc2hAZmlsaWRvcndpZXNlLm5sIiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
-, {"uuid": "xmlfix@pwall.github.com", "name": "XML-Fix", "pname": "xml-fix", "description": "Fixes the XML-Codes displaying instead of the characters on notifications.", "link": "https://extensions.gnome.org/extension/4279/xml-fix/", "shell_version_map": {"38": {"version": "1", "sha256": "0sksz7n2acvk9kg696qgd98m4d7221wgxvfg6chlzxfi2mx3yddh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZpeGVzIHRoZSBYTUwtQ29kZXMgZGlzcGxheWluZyBpbnN0ZWFkIG9mIHRoZSBjaGFyYWN0ZXJzIG9uIG5vdGlmaWNhdGlvbnMuIiwKICAibmFtZSI6ICJYTUwtRml4IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUFdhbGwyMjIyL1hNTEZpeCIsCiAgInV1aWQiOiAieG1sZml4QHB3YWxsLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMQp9"}}}
+, {"uuid": "cryptostash@filidorwiese.nl", "name": "CryptoStash", "pname": "cryptostash", "description": "Keep an eye on the real time value of your crypto coins collections.\n\nYou can create multiple \"stashes\" (portfolios) of coins and monitor the accumulated value in USD or EUR. Or if you prefer, you can simply track the current value of your favorite coin.", "link": "https://extensions.gnome.org/extension/4276/cryptostash/", "shell_version_map": {"38": {"version": "4", "sha256": "0n1452ky1dppcxazgqxv5jc91l4piwp64rmc9b41ak3792j1sgbw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvcl91cmwiOiAiaHR0cHM6Ly9maWxpZG9yd2llc2UubmwiLAogICJkZXNjcmlwdGlvbiI6ICJLZWVwIGFuIGV5ZSBvbiB0aGUgcmVhbCB0aW1lIHZhbHVlIG9mIHlvdXIgY3J5cHRvIGNvaW5zIGNvbGxlY3Rpb25zLlxuXG5Zb3UgY2FuIGNyZWF0ZSBtdWx0aXBsZSBcInN0YXNoZXNcIiAocG9ydGZvbGlvcykgb2YgY29pbnMgYW5kIG1vbml0b3IgdGhlIGFjY3VtdWxhdGVkIHZhbHVlIGluIFVTRCBvciBFVVIuIE9yIGlmIHlvdSBwcmVmZXIsIHlvdSBjYW4gc2ltcGx5IHRyYWNrIHRoZSBjdXJyZW50IHZhbHVlIG9mIHlvdXIgZmF2b3JpdGUgY29pbi4iLAogICJuYW1lIjogIkNyeXB0b1N0YXNoIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNyeXB0by1zdGFzaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ0YWciOiAxLjMsCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZmlsaWRvcndpZXNlL2dub21lLXNoZWxsLWNyeXB0by1zdGFzaCIsCiAgInV1aWQiOiAiY3J5cHRvc3Rhc2hAZmlsaWRvcndpZXNlLm5sIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
+, {"uuid": "xmlfix@pwall.github.com", "name": "XML-Fix", "pname": "xml-fix", "description": "Fixes the XML-Codes displaying instead of the characters on notifications.", "link": "https://extensions.gnome.org/extension/4279/xml-fix/", "shell_version_map": {"38": {"version": "2", "sha256": "1c9qa3ky873hkckylsbv0s7q9bmsnia7h8mlc36i7xz7h1ml6fpx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZpeGVzIHRoZSBYTUwtQ29kZXMgZGlzcGxheWluZyBpbnN0ZWFkIG9mIHRoZSBjaGFyYWN0ZXJzIG9uIG5vdGlmaWNhdGlvbnMuIiwKICAibmFtZSI6ICJYTUwtRml4IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUFdhbGwyMjIyL1hNTEZpeCIsCiAgInV1aWQiOiAieG1sZml4QHB3YWxsLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMgp9"}}}
 , {"uuid": "gnometoggle@foreverxml.github.io", "name": "Gnome Toggle", "pname": "gnome-toggle", "description": "Turn on your GNOME dark mode! (For up-to-date versions, download from GitHub.)", "link": "https://extensions.gnome.org/extension/4287/gnome-toggle/", "shell_version_map": {"38": {"version": "1", "sha256": "1a1qvrdq0xglr0lf4pglaxhn03k9qxhh77n4g0d51r419l4y6n2r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR1cm4gb24geW91ciBHTk9NRSBkYXJrIG1vZGUhIChGb3IgdXAtdG8tZGF0ZSB2ZXJzaW9ucywgZG93bmxvYWQgZnJvbSBHaXRIdWIuKSIsCiAgIm5hbWUiOiAiR25vbWUgVG9nZ2xlIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImZvcmV2ZXJ4bWxAdHV0YS5pbyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mb3JldmVyeG1sL2dub21lLXRvZ2dsZSIsCiAgInV1aWQiOiAiZ25vbWV0b2dnbGVAZm9yZXZlcnhtbC5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMQp9"}, "40": {"version": "1", "sha256": "1a1qvrdq0xglr0lf4pglaxhn03k9qxhh77n4g0d51r419l4y6n2r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR1cm4gb24geW91ciBHTk9NRSBkYXJrIG1vZGUhIChGb3IgdXAtdG8tZGF0ZSB2ZXJzaW9ucywgZG93bmxvYWQgZnJvbSBHaXRIdWIuKSIsCiAgIm5hbWUiOiAiR25vbWUgVG9nZ2xlIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImZvcmV2ZXJ4bWxAdHV0YS5pbyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mb3JldmVyeG1sL2dub21lLXRvZ2dsZSIsCiAgInV1aWQiOiAiZ25vbWV0b2dnbGVAZm9yZXZlcnhtbC5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMQp9"}}}
-, {"uuid": "instantworkspaceswitcher@amalantony.net", "name": "Disable Workspace Switch Animation for GNOME 40+", "pname": "disable-workspace-switch-animation-for-gnome-40", "description": "Disables the workspace switch animation while preserving all other animations - instantly switch between workspaces with keyboard shortcuts.", "link": "https://extensions.gnome.org/extension/4290/disable-workspace-switch-animation-for-gnome-40/", "shell_version_map": {"40": {"version": "2", "sha256": "1iz7ik036567skkiklra6kfw8mxgv1nxfgqwc9sni0xk5xm4lgf8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGVzIHRoZSB3b3Jrc3BhY2Ugc3dpdGNoIGFuaW1hdGlvbiB3aGlsZSBwcmVzZXJ2aW5nIGFsbCBvdGhlciBhbmltYXRpb25zIC0gaW5zdGFudGx5IHN3aXRjaCBiZXR3ZWVuIHdvcmtzcGFjZXMgd2l0aCBrZXlib2FyZCBzaG9ydGN1dHMuIiwKICAibmFtZSI6ICJEaXNhYmxlIFdvcmtzcGFjZSBTd2l0Y2ggQW5pbWF0aW9uIGZvciBHTk9NRSA0MCsiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYW1hbGFudG9ueS9nbm9tZS1zaGVsbC1leHRlbnNpb24taW5zdGFudC13b3Jrc3BhY2Utc3dpdGNoZXIiLAogICJ1dWlkIjogImluc3RhbnR3b3Jrc3BhY2Vzd2l0Y2hlckBhbWFsYW50b255Lm5ldCIsCiAgInZlcnNpb24iOiAyCn0="}}}
-, {"uuid": "top-panel-notification-icons@5th0.github.com", "name": "Top Panel Notification Icons", "pname": "top-panel-notification-icons", "description": "Display notification icons in the Top Panel", "link": "https://extensions.gnome.org/extension/4293/top-panel-notification-icons/", "shell_version_map": {"38": {"version": "1", "sha256": "189wyvbyzhcbf2ipq2yf51b4pl1ycm3m118h63idgapjazndgkp7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgbm90aWZpY2F0aW9uIGljb25zIGluIHRoZSBUb3AgUGFuZWwiLAogICJuYW1lIjogIlRvcCBQYW5lbCBOb3RpZmljYXRpb24gSWNvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInRvcC1wYW5lbC1ub3RpZmljYXRpb24taWNvbnNANXRoMC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEKfQ=="}, "40": {"version": "1", "sha256": "189wyvbyzhcbf2ipq2yf51b4pl1ycm3m118h63idgapjazndgkp7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgbm90aWZpY2F0aW9uIGljb25zIGluIHRoZSBUb3AgUGFuZWwiLAogICJuYW1lIjogIlRvcCBQYW5lbCBOb3RpZmljYXRpb24gSWNvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInRvcC1wYW5lbC1ub3RpZmljYXRpb24taWNvbnNANXRoMC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
-, {"uuid": "clean-system-menu@astrapi.de", "name": "Clean System Menu", "pname": "clean-system-menu", "description": "Cleanup the System Menu from Power Options", "link": "https://extensions.gnome.org/extension/4298/clean-system-menu/", "shell_version_map": {"40": {"version": "1", "sha256": "1cdja7aj7r7bs4cac1x2rxx0wwj2ssd0fgqnvaglwgvx6zr989cl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsZWFudXAgdGhlIFN5c3RlbSBNZW51IGZyb20gUG93ZXIgT3B0aW9ucyIsCiAgIm5hbWUiOiAiQ2xlYW4gU3lzdGVtIE1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImNsZWFuLXN5c3RlbS1tZW51QGFzdHJhcGkuZGUiLAogICJ2ZXJzaW9uIjogMQp9"}}}
+, {"uuid": "instantworkspaceswitcher@amalantony.net", "name": "Disable Workspace Switch Animation for GNOME 40+", "pname": "disable-workspace-switch-animation-for-gnome-40", "description": "Disables the workspace switch animation while preserving all other animations - instantly switch between workspaces with keyboard shortcuts, akin to a window manager like i3.", "link": "https://extensions.gnome.org/extension/4290/disable-workspace-switch-animation-for-gnome-40/", "shell_version_map": {"40": {"version": "2", "sha256": "11b5cym8x6p0zi9r5lk94c2f4jkbx1x04wzzfbmnpf0hrp60j6ic", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGVzIHRoZSB3b3Jrc3BhY2Ugc3dpdGNoIGFuaW1hdGlvbiB3aGlsZSBwcmVzZXJ2aW5nIGFsbCBvdGhlciBhbmltYXRpb25zIC0gaW5zdGFudGx5IHN3aXRjaCBiZXR3ZWVuIHdvcmtzcGFjZXMgd2l0aCBrZXlib2FyZCBzaG9ydGN1dHMsIGFraW4gdG8gYSB3aW5kb3cgbWFuYWdlciBsaWtlIGkzLiIsCiAgIm5hbWUiOiAiRGlzYWJsZSBXb3Jrc3BhY2UgU3dpdGNoIEFuaW1hdGlvbiBmb3IgR05PTUUgNDArIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FtYWxhbnRvbnkvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWluc3RhbnQtd29ya3NwYWNlLXN3aXRjaGVyIiwKICAidXVpZCI6ICJpbnN0YW50d29ya3NwYWNlc3dpdGNoZXJAYW1hbGFudG9ueS5uZXQiLAogICJ2ZXJzaW9uIjogMgp9"}}}
+, {"uuid": "top-panel-notification-icons@5th0.github.com", "name": "Top Panel Notification Icons", "pname": "top-panel-notification-icons", "description": "Display notification icons in the Top", "link": "https://extensions.gnome.org/extension/4293/top-panel-notification-icons/", "shell_version_map": {"38": {"version": "1", "sha256": "0s84r45nc1kyv6sc6a9jbxv981f1ih8g2nfdzrzd33n3032f30px", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgbm90aWZpY2F0aW9uIGljb25zIGluIHRoZSBUb3AiLAogICJuYW1lIjogIlRvcCBQYW5lbCBOb3RpZmljYXRpb24gSWNvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInRvcC1wYW5lbC1ub3RpZmljYXRpb24taWNvbnNANXRoMC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEKfQ=="}, "40": {"version": "1", "sha256": "0s84r45nc1kyv6sc6a9jbxv981f1ih8g2nfdzrzd33n3032f30px", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgbm90aWZpY2F0aW9uIGljb25zIGluIHRoZSBUb3AiLAogICJuYW1lIjogIlRvcCBQYW5lbCBOb3RpZmljYXRpb24gSWNvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInRvcC1wYW5lbC1ub3RpZmljYXRpb24taWNvbnNANXRoMC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
+, {"uuid": "custom-menu-panel@AndreaBenini", "name": "custom-menu-panel", "pname": "custom-menu-panel", "description": "Quick custom menu for launching your favorite applications", "link": "https://extensions.gnome.org/extension/4295/custom-menu-panel/", "shell_version_map": {"40": {"version": "2", "sha256": "12d8p8cmsq93pmyd6y07jx7r0ls4h7pfqlhp8bvmsw48gmiv5sq8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrIGN1c3RvbSBtZW51IGZvciBsYXVuY2hpbmcgeW91ciBmYXZvcml0ZSBhcHBsaWNhdGlvbnMiLAogICJuYW1lIjogImN1c3RvbS1tZW51LXBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJjdXN0b20tbWVudS1wYW5lbEBBbmRyZWFCZW5pbmkiLAogICJ2ZXJzaW9uIjogMgp9"}}}
+, {"uuid": "clean-system-menu@astrapi.de", "name": "Clean System Menu", "pname": "clean-system-menu", "description": "Cleanup the System Menu from Power Options", "link": "https://extensions.gnome.org/extension/4298/clean-system-menu/", "shell_version_map": {"40": {"version": "4", "sha256": "1x3fvi8qbbbqa9nc5xqp7ql2djcrch2w5azw0xq1dampdgz1976q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsZWFudXAgdGhlIFN5c3RlbSBNZW51IGZyb20gUG93ZXIgT3B0aW9ucyIsCiAgIm5hbWUiOiAiQ2xlYW4gU3lzdGVtIE1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvYXN0cmFwaS9jbGVhbi1zeXN0ZW0tbWVudSIsCiAgInV1aWQiOiAiY2xlYW4tc3lzdGVtLW1lbnVAYXN0cmFwaS5kZSIsCiAgInZlcnNpb24iOiA0Cn0="}}}
+, {"uuid": "spindown-harddisk@johannes.bittner.gmail.com", "name": "Spin down hard disk", "pname": "spin-down-hard-disk", "description": "Spins down the hard disk (and keeps it spun down)", "link": "https://extensions.gnome.org/extension/4299/spin-down-hard-disk/", "shell_version_map": {"38": {"version": "2", "sha256": "0cfjjbfk7rbj9dsy56sq8ga6i5wkz5p3xqbykxv16xbhgh4i2n01", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNwaW5zIGRvd24gdGhlIGhhcmQgZGlzayAoYW5kIGtlZXBzIGl0IHNwdW4gZG93bikiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJzcGluZG93bi1oYXJkZGlzayIsCiAgIm5hbWUiOiAiU3BpbiBkb3duIGhhcmQgZGlzayIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zcGluZG93bi1oYXJkZGlzayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAic3BpbmRvd24taGFyZGRpc2tAam9oYW5uZXMuYml0dG5lci5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMgp9"}, "40": {"version": "2", "sha256": "0cfjjbfk7rbj9dsy56sq8ga6i5wkz5p3xqbykxv16xbhgh4i2n01", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNwaW5zIGRvd24gdGhlIGhhcmQgZGlzayAoYW5kIGtlZXBzIGl0IHNwdW4gZG93bikiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJzcGluZG93bi1oYXJkZGlzayIsCiAgIm5hbWUiOiAiU3BpbiBkb3duIGhhcmQgZGlzayIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zcGluZG93bi1oYXJkZGlzayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAic3BpbmRvd24taGFyZGRpc2tAam9oYW5uZXMuYml0dG5lci5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMgp9"}}}
+, {"uuid": "user-pics@comfy", "name": "User Pics", "pname": "user-pics", "description": "lucasalveslm's User Account Image for gnome-shell 3.38", "link": "https://extensions.gnome.org/extension/4301/user-pics/", "shell_version_map": {"38": {"version": "3", "sha256": "1rv6x551dm3hynfkm291b4c552j9d6q89ixmrq0x97xgw75n14fx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImx1Y2FzYWx2ZXNsbSdzIFVzZXIgQWNjb3VudCBJbWFnZSBmb3IgZ25vbWUtc2hlbGwgMy4zOCIsCiAgIm5hbWUiOiAiVXNlciBQaWNzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInVzZXItcGljc0Bjb21meSIsCiAgInZlcnNpb24iOiAzCn0="}}}
+, {"uuid": "screendarker@yingshaoxo.github.com", "name": "Screen Darker", "pname": "screen-darker", "description": "Help you do a switch between a darker screen and brighter screen by one click.", "link": "https://extensions.gnome.org/extension/4304/screen-darker/", "shell_version_map": {"38": {"version": "1", "sha256": "1zlncw0y5crq6n0slhq1f9npzvkkcyh0187z88mzycr55nl4rsx8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhlbHAgeW91IGRvIGEgc3dpdGNoIGJldHdlZW4gYSBkYXJrZXIgc2NyZWVuIGFuZCBicmlnaHRlciBzY3JlZW4gYnkgb25lIGNsaWNrLiIsCiAgIm5hbWUiOiAiU2NyZWVuIERhcmtlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3lpbmdzaGFveG8vZ25vbWUtc2hlbGwtc2NyZWVuLWRhcmtlciIsCiAgInV1aWQiOiAic2NyZWVuZGFya2VyQHlpbmdzaGFveG8uZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxCn0="}}}
+, {"uuid": "umi-coin-rate@exposedcat", "name": "UMI Coin Rate", "pname": "umi-coin-rate", "description": "Add UMI coin rate to the panel", "link": "https://extensions.gnome.org/extension/4307/umi-coin-rate/", "shell_version_map": {"38": {"version": "5", "sha256": "13fh82kwma7qdis6ny0c5bw9fxx103p6mj2434fsgfra3d1k8aqh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBVTUkgY29pbiByYXRlIHRvIHRoZSBwYW5lbCIsCiAgIm5hbWUiOiAiVU1JIENvaW4gUmF0ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9FeHBvc2VkQ2F0L3VtaS1jb2luLXJhdGUiLAogICJ1dWlkIjogInVtaS1jb2luLXJhdGVAZXhwb3NlZGNhdCIsCiAgInZlcnNpb24iOiA1Cn0="}, "40": {"version": "5", "sha256": "13fh82kwma7qdis6ny0c5bw9fxx103p6mj2434fsgfra3d1k8aqh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBVTUkgY29pbiByYXRlIHRvIHRoZSBwYW5lbCIsCiAgIm5hbWUiOiAiVU1JIENvaW4gUmF0ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9FeHBvc2VkQ2F0L3VtaS1jb2luLXJhdGUiLAogICJ1dWlkIjogInVtaS1jb2luLXJhdGVAZXhwb3NlZGNhdCIsCiAgInZlcnNpb24iOiA1Cn0="}}}
+, {"uuid": "network-stats@gnome.noroadsleft.xyz", "name": "Network Stats", "pname": "network-stats", "description": "Displays internet upload speed, download speed, bandwidth, data usage. \n\n visit github page for instructions.", "link": "https://extensions.gnome.org/extension/4308/network-stats/", "shell_version_map": {"38": {"version": "7", "sha256": "038p5z4f6463hc96nhkxx232nwz7jnpcimww7cprfgqr8fl7pncv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIGludGVybmV0IHVwbG9hZCBzcGVlZCwgZG93bmxvYWQgc3BlZWQsIGJhbmR3aWR0aCwgZGF0YSB1c2FnZS4gXG5cbiB2aXNpdCBnaXRodWIgcGFnZSBmb3IgaW5zdHJ1Y3Rpb25zLiIsCiAgImdldHRleHQtZG9tYWluIjogIm5ldHdvcmstc3RhdHMiLAogICJuYW1lIjogIk5ldHdvcmsgU3RhdHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubmV0d29yay1zdGF0cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL25vcm9hZHNsZWZ0MDAwL2dub21lLW5ldHdvcmstc3RhdHMiLAogICJ1dWlkIjogIm5ldHdvcmstc3RhdHNAZ25vbWUubm9yb2Fkc2xlZnQueHl6IiwKICAidmVyc2lvbiI6IDcKfQ=="}}}
+, {"uuid": "screen-lock@garciabaameiro.com", "name": "Screen lock", "pname": "extension-list", "description": "Simple gnome shell extension to use xscreensaver in top panel", "link": "https://extensions.gnome.org/extension/4311/extension-list/", "shell_version_map": {"40": {"version": "1", "sha256": "1jas7pcn3a28fnfs3azrbiqf22gx337js6if8v8vsb15994pbak6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBnbm9tZSBzaGVsbCBleHRlbnNpb24gdG8gdXNlIHhzY3JlZW5zYXZlciBpbiB0b3AgcGFuZWwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJzY3JlZW4tbG9jayIsCiAgIm5hbWUiOiAiU2NyZWVuIGxvY2siLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2NyZWVuLWxvY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vU2F3eWVyMTMvc2NyZWVuLWxvY2siLAogICJ1dWlkIjogInNjcmVlbi1sb2NrQGdhcmNpYWJhYW1laXJvLmNvbSIsCiAgInZlcnNpb24iOiAxCn0="}}}
+, {"uuid": "force-show-osk@bruh.ltd", "name": "Force Show OSK", "pname": "force-show-osk", "description": "Show the on-screen keyboard regardless of whether the touch mode is enabled", "link": "https://extensions.gnome.org/extension/4316/force-show-osk/", "shell_version_map": {"40": {"version": "1", "sha256": "16ww0hcdgl9mdkh38l2p0fsc5166mvid7q9r0fbym5xzfzxvhkw7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIG9uLXNjcmVlbiBrZXlib2FyZCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIHRvdWNoIG1vZGUgaXMgZW5hYmxlZCIsCiAgIm5hbWUiOiAiRm9yY2UgU2hvdyBPU0siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MS5hbHBoYSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2tpcmJ5a2V2aW5zb24vZm9yY2Utc2hvdy1vc2siLAogICJ1dWlkIjogImZvcmNlLXNob3ctb3NrQGJydWgubHRkIiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
+, {"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": "2", "sha256": "1n2kl02h66hjy18jf0biqfb6f1w13g90rypcmv3jxp2fnksgyi6s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYXJnbmluZyBtb2RlIGluZGljYXRvciBmb3IgbGFwdG9wcy4gQWxsb3dzIHRvIHN3aXRjaCB0aGUgY2hhcmdpbmcgbW9kZSBmcm9tIGNvbnNlcnZhdGl2ZSBvciBoZWFsdGh5IHRvIG5vcm1hbCBtb2RlLiBJbmRpY2F0ZXMgYWxzbyB3aGljaCBtb2RlIHlvdSBhcmUgdXNpbmcgbm93LiBXb3JrcyBvbiBMZW5vdm8gU2xpbSA3LlxuXG5QbGVhc2UgUmVwb3J0IFByb2JsZW1zIG9yIGlzc3VlcyBvbiBHaXRsYWIgYXQ6XG5cbmh0dHBzOi8vZ2l0bGFiLmNvbS9hbm5leGhhY2svY29uc2VydmF0aW9uLW1vZGUtbGVub3ZvIiwKICAibmFtZSI6ICJpZGVhcGFkIG1vZGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vYW5uZXhoYWNrL2NvbnNlcnZhdGlvbi1tb2RlLWxlbm92byIsCiAgInV1aWQiOiAiaWRlYXBhZC1tb2RlQGFubmV4aGFjay5pbmNlcHRpdmUucnUiLAogICJ2ZXJzaW9uIjogMgp9"}}}
+, {"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": "5", "sha256": "0g1bm8day6jn9zbw661dqgdk96vgl1jd3snzwwfgmlkxgxshbq09", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgYWRkcyBkZXNrdG9wIGljb25zIHRvIEdOT01FLiBBIGZvcmsgb2YgRGVza3RvcCBJY29ucyBORyB3aXRoIGEgbWFzc2l2ZSBhbW91bnQgb2YgY3VzdG9taXphdGlvbnMgKGxpa2UgaWNvbiBzaGFwZXMgYW5kIGN1cnZlZCBjb3JuZXJzKSwgZmVhdHVyZXMsIGJ1ZyBmaXhlcywgYW5kIG92ZXJhbGwgcG9saXNoLiIsCiAgIm5hbWUiOiAiRGVza3RvcCBJY29uczogTmVvIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0RFTTBOQXNzaXNzYW43L2Rlc2t0b3AtaWNvbnMtbmVvIiwKICAidXVpZCI6ICJkZXNrdG9waWNvbnMtbmVvQGRhcmtkZW1vbiIsCiAgInZlcnNpb24iOiA1Cn0="}, "40": {"version": "5", "sha256": "0g1bm8day6jn9zbw661dqgdk96vgl1jd3snzwwfgmlkxgxshbq09", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgYWRkcyBkZXNrdG9wIGljb25zIHRvIEdOT01FLiBBIGZvcmsgb2YgRGVza3RvcCBJY29ucyBORyB3aXRoIGEgbWFzc2l2ZSBhbW91bnQgb2YgY3VzdG9taXphdGlvbnMgKGxpa2UgaWNvbiBzaGFwZXMgYW5kIGN1cnZlZCBjb3JuZXJzKSwgZmVhdHVyZXMsIGJ1ZyBmaXhlcywgYW5kIG92ZXJhbGwgcG9saXNoLiIsCiAgIm5hbWUiOiAiRGVza3RvcCBJY29uczogTmVvIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0RFTTBOQXNzaXNzYW43L2Rlc2t0b3AtaWNvbnMtbmVvIiwKICAidXVpZCI6ICJkZXNrdG9waWNvbnMtbmVvQGRhcmtkZW1vbiIsCiAgInZlcnNpb24iOiA1Cn0="}}}
+, {"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": "1", "sha256": "1ilb4rzvng2ndzs4va2f6v5l5rfs2xk15skiw9cch9vazsfshk0c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IHJlbW90ZSBkZXNrdG9wIGNvbm5lY3Rpb25zIHdoZW4gdGhlIHNjcmVlbiBpcyBsb2NrZWQiLAogICJuYW1lIjogIkFsbG93IExvY2tlZCBSZW1vdGUgRGVza3RvcCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJhbGxvd2xvY2tlZHJlbW90ZWRlc2t0b3BAa2FtZW5zLnVzIiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
+, {"uuid": "mumble-ping@maweil.github.com", "name": "MumblePing", "pname": "mumbleping", "description": "Displays how many users are currently online on a mumble server", "link": "https://extensions.gnome.org/extension/4341/mumbleping/", "shell_version_map": {"38": {"version": "1", "sha256": "1xvz9dshkhgil1ivsj47lil3d5g2k6l7l3phdqb11kpd14873xa5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIGhvdyBtYW55IHVzZXJzIGFyZSBjdXJyZW50bHkgb25saW5lIG9uIGEgbXVtYmxlIHNlcnZlciIsCiAgImdldHRleHQtZG9tYWluIjogIm11bWJsZS1waW5nIiwKICAibmFtZSI6ICJNdW1ibGVQaW5nIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm11bWJsZS1waW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21hd2VpbC9nbm9tZS1zaGVsbC1leHRlbnNpb24tbXVtYmxlLXBpbmciLAogICJ1dWlkIjogIm11bWJsZS1waW5nQG1hd2VpbC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEKfQ=="}, "40": {"version": "1", "sha256": "1xvz9dshkhgil1ivsj47lil3d5g2k6l7l3phdqb11kpd14873xa5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIGhvdyBtYW55IHVzZXJzIGFyZSBjdXJyZW50bHkgb25saW5lIG9uIGEgbXVtYmxlIHNlcnZlciIsCiAgImdldHRleHQtZG9tYWluIjogIm11bWJsZS1waW5nIiwKICAibmFtZSI6ICJNdW1ibGVQaW5nIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm11bWJsZS1waW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21hd2VpbC9nbm9tZS1zaGVsbC1leHRlbnNpb24tbXVtYmxlLXBpbmciLAogICJ1dWlkIjogIm11bWJsZS1waW5nQG1hd2VpbC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
+, {"uuid": "simply.workspaces@andyrichardson.dev", "name": "Simply Workspaces", "pname": "simply-workspaces", "description": "Workspace indication with an i3/polybar style.", "link": "https://extensions.gnome.org/extension/4343/simply-workspaces/", "shell_version_map": {"40": {"version": "5", "sha256": "1gkmzf93xnkv58g6vxzvnr8bsybqlwm5qjipvqx3iv3rhygk8i86", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSBpbmRpY2F0aW9uIHdpdGggYW4gaTMvcG9seWJhciBzdHlsZS4iLAogICJuYW1lIjogIlNpbXBseSBXb3Jrc3BhY2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FuZHlyaWNoYXJkc29uL3NpbXBseS13b3Jrc3BhY2VzIiwKICAidXVpZCI6ICJzaW1wbHkud29ya3NwYWNlc0BhbmR5cmljaGFyZHNvbi5kZXYiLAogICJ2ZXJzaW9uIjogNQp9"}}}
+, {"uuid": "nonblockingswitcher@scottworley.com", "name": "Non-Blocking Switcher", "pname": "non-blocking-switcher", "description": "Application switching oughtn't stop all other keyboard shortcuts", "link": "https://extensions.gnome.org/extension/4347/non-blocking-switcher/", "shell_version_map": {"40": {"version": "2", "sha256": "05a59fi1454kxh2q8p5qp3an7ss243v3d67jm37k6xggwd59v5fn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcGxpY2F0aW9uIHN3aXRjaGluZyBvdWdodG4ndCBzdG9wIGFsbCBvdGhlciBrZXlib2FyZCBzaG9ydGN1dHMiLAogICJuYW1lIjogIk5vbi1CbG9ja2luZyBTd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMiIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9jaHVjay9ub24tYmxvY2tpbmctc3dpdGNoZXIiLAogICJ1dWlkIjogIm5vbmJsb2NraW5nc3dpdGNoZXJAc2NvdHR3b3JsZXkuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
+, {"uuid": "fluoroom-gnome-top-bar@fluoroom.github.com", "name": "fluoroom's Top Bar", "pname": "fluorooms-top-bar", "description": "Persistent top bar based on Gnome's default style, with some modifications.\n\nThis extension makes black background and screen corners persistent and makes buttons round, but it will respect your current theme's fonts, margins and icons.", "link": "https://extensions.gnome.org/extension/4350/fluorooms-top-bar/", "shell_version_map": {"40": {"version": "4", "sha256": "1gm6ijr66nrs4r7cp2ksdy4sppf3vrg88lvf1gs993q6r894li89", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBlcnNpc3RlbnQgdG9wIGJhciBiYXNlZCBvbiBHbm9tZSdzIGRlZmF1bHQgc3R5bGUsIHdpdGggc29tZSBtb2RpZmljYXRpb25zLlxuXG5UaGlzIGV4dGVuc2lvbiBtYWtlcyBibGFjayBiYWNrZ3JvdW5kIGFuZCBzY3JlZW4gY29ybmVycyBwZXJzaXN0ZW50IGFuZCBtYWtlcyBidXR0b25zIHJvdW5kLCBidXQgaXQgd2lsbCByZXNwZWN0IHlvdXIgY3VycmVudCB0aGVtZSdzIGZvbnRzLCBtYXJnaW5zIGFuZCBpY29ucy4iLAogICJuYW1lIjogImZsdW9yb29tJ3MgVG9wIEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mbHVvcm9vbS9mbHVvcm9vbS1nbm9tZS10b3AtYmFyIiwKICAidXVpZCI6ICJmbHVvcm9vbS1nbm9tZS10b3AtYmFyQGZsdW9yb29tLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}}}
+, {"uuid": "mbpbat@prithvivishak.gmail.com", "name": "MacBook Battery Percentage Corrector", "pname": "macbook-battery-percentage-corrector", "description": "Corrects only the battery percentage shown in the panel aggregate menu.\nDoes not mess with UPower or other subsystems.\nThe battery percentage shown on MacBooks does not account for battery degradation. This extension corrects for this.\nSee https://mysorelug.indriyallc.net/articles/2021/06/writing-gnome-extension/index.html for more details.", "link": "https://extensions.gnome.org/extension/4353/macbook-battery-percentage-corrector/", "shell_version_map": {"38": {"version": "2", "sha256": "1vnq9yz0i75gmh6dqn6q6qz6xcbbyjnz763vhrbmmn6qk4siixhm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvcnJlY3RzIG9ubHkgdGhlIGJhdHRlcnkgcGVyY2VudGFnZSBzaG93biBpbiB0aGUgcGFuZWwgYWdncmVnYXRlIG1lbnUuXG5Eb2VzIG5vdCBtZXNzIHdpdGggVVBvd2VyIG9yIG90aGVyIHN1YnN5c3RlbXMuXG5UaGUgYmF0dGVyeSBwZXJjZW50YWdlIHNob3duIG9uIE1hY0Jvb2tzIGRvZXMgbm90IGFjY291bnQgZm9yIGJhdHRlcnkgZGVncmFkYXRpb24uIFRoaXMgZXh0ZW5zaW9uIGNvcnJlY3RzIGZvciB0aGlzLlxuU2VlIGh0dHBzOi8vbXlzb3JlbHVnLmluZHJpeWFsbGMubmV0L2FydGljbGVzLzIwMjEvMDYvd3JpdGluZy1nbm9tZS1leHRlbnNpb24vaW5kZXguaHRtbCBmb3IgbW9yZSBkZXRhaWxzLiIsCiAgIm5hbWUiOiAiTWFjQm9vayBCYXR0ZXJ5IFBlcmNlbnRhZ2UgQ29ycmVjdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9iaXRidWNrZXQub3JnL3B2cHVibGljL21icGJhdC9zcmMvbWFzdGVyLyIsCiAgInV1aWQiOiAibWJwYmF0QHByaXRodml2aXNoYWsuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}, "40": {"version": "2", "sha256": "1vnq9yz0i75gmh6dqn6q6qz6xcbbyjnz763vhrbmmn6qk4siixhm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvcnJlY3RzIG9ubHkgdGhlIGJhdHRlcnkgcGVyY2VudGFnZSBzaG93biBpbiB0aGUgcGFuZWwgYWdncmVnYXRlIG1lbnUuXG5Eb2VzIG5vdCBtZXNzIHdpdGggVVBvd2VyIG9yIG90aGVyIHN1YnN5c3RlbXMuXG5UaGUgYmF0dGVyeSBwZXJjZW50YWdlIHNob3duIG9uIE1hY0Jvb2tzIGRvZXMgbm90IGFjY291bnQgZm9yIGJhdHRlcnkgZGVncmFkYXRpb24uIFRoaXMgZXh0ZW5zaW9uIGNvcnJlY3RzIGZvciB0aGlzLlxuU2VlIGh0dHBzOi8vbXlzb3JlbHVnLmluZHJpeWFsbGMubmV0L2FydGljbGVzLzIwMjEvMDYvd3JpdGluZy1nbm9tZS1leHRlbnNpb24vaW5kZXguaHRtbCBmb3IgbW9yZSBkZXRhaWxzLiIsCiAgIm5hbWUiOiAiTWFjQm9vayBCYXR0ZXJ5IFBlcmNlbnRhZ2UgQ29ycmVjdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9iaXRidWNrZXQub3JnL3B2cHVibGljL21icGJhdC9zcmMvbWFzdGVyLyIsCiAgInV1aWQiOiAibWJwYmF0QHByaXRodml2aXNoYWsuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
+, {"uuid": "top-bar-organizer@julian.gse.jsts.xyz", "name": "Top Bar Organizer", "pname": "top-bar-organizer", "description": "Organize the items of the top (menu)bar.\nThis extension required Gnome Shell version 40.\nOrganize the items by going into the extensions settings.\n\n!!! Please make sure you're fully on Gnome 40 / you're using a distribution, which is fully on Gnome 40, since otherwise this extension might not work correctly. This was the case for Manjaro Stable until recently and is probably the case for Ubuntu 21.04 right now. !!!", "link": "https://extensions.gnome.org/extension/4356/top-bar-organizer/", "shell_version_map": {"40": {"version": "3", "sha256": "121a8r063ifv4lv5s07pglxj4h90n3lp6f0jyw4lnbg38v0nqv28", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk9yZ2FuaXplIHRoZSBpdGVtcyBvZiB0aGUgdG9wIChtZW51KWJhci5cblRoaXMgZXh0ZW5zaW9uIHJlcXVpcmVkIEdub21lIFNoZWxsIHZlcnNpb24gNDAuXG5Pcmdhbml6ZSB0aGUgaXRlbXMgYnkgZ29pbmcgaW50byB0aGUgZXh0ZW5zaW9ucyBzZXR0aW5ncy5cblxuISEhIFBsZWFzZSBtYWtlIHN1cmUgeW91J3JlIGZ1bGx5IG9uIEdub21lIDQwIC8geW91J3JlIHVzaW5nIGEgZGlzdHJpYnV0aW9uLCB3aGljaCBpcyBmdWxseSBvbiBHbm9tZSA0MCwgc2luY2Ugb3RoZXJ3aXNlIHRoaXMgZXh0ZW5zaW9uIG1pZ2h0IG5vdCB3b3JrIGNvcnJlY3RseS4gVGhpcyB3YXMgdGhlIGNhc2UgZm9yIE1hbmphcm8gU3RhYmxlIHVudGlsIHJlY2VudGx5IGFuZCBpcyBwcm9iYWJseSB0aGUgY2FzZSBmb3IgVWJ1bnR1IDIxLjA0IHJpZ2h0IG5vdy4gISEhIiwKICAibmFtZSI6ICJUb3AgQmFyIE9yZ2FuaXplciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50b3AtYmFyLW9yZ2FuaXplciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9qdWxpYW5zY2hhY2hlci90b3AtYmFyLW9yZ2FuaXplciIsCiAgInV1aWQiOiAidG9wLWJhci1vcmdhbml6ZXJAanVsaWFuLmdzZS5qc3RzLnh5eiIsCiAgInZlcnNpb24iOiAzCn0="}}}
+, {"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": "3", "sha256": "1gm56qkk98ymhf3q6kwvsx5a5662fap087wy1nyji90kxn6zx7ss", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIHRoZSB0b3AgcGFuZWwgdG8gdGhlIHNlY29uZGFyeSBtb25pdG9yIGlmIHRoZSBwcmltYXJ5IGlzIGluIGZ1bGxzY3JlZW4iLAogICJleHRlbnNpb24taWQiOiAiZnVsbHNjcmVlbi1hdm9pZGVyIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiRnVsbHNjcmVlbiBBdm9pZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZ1bGxzY3JlZW4tYXZvaWRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9Ob29ic2FpL2Z1bGxzY3JlZW4tYXZvaWRlciIsCiAgInV1aWQiOiAiZnVsbHNjcmVlbi1hdm9pZGVyQG5vb2JzYWkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}}}
+, {"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": "5", "sha256": "054y4a1fflmdi7k9dd7ipgkzmprjr6v6fhkxxmnw47yavyvm2p0l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIG9wZW5lZCB3aW5kb3dzIGluIHZlcnRpY2FsIHBhbmVsIHdpdGggcHJvZHVjdGl2aXR5IHBlcmtzXG5cbi0gbGVmdCBjbGljayB0byBvcGVuIGZhdm9yaXRlcy9hY3RpdmF0ZSB3aW5kb3dcbi0gcmlnaHQgY2xpY2sgdG8gY2xvc2Vcbi0gbWlkZGxlIGNsaWNrIHRvIHJlbmFtZVxuLSBkcmFnLWFuZC1kcm9wIHRvIHJlLWFycmFuZ2Vcbi0gQWx0LVRhYiB0byBjeWNsZVxuLSBhZGp1c3QgcGFuZWwgd2lkdGgsIHRyYW5zcGFyZW5jeSBhbmQgaWNvbiBzaXplIGluIGV4dGVuc2lvbiBzZXR0aW5ncyIsCiAgIm5hbWUiOiAiVmVydGljYWwgV2luZG93IExpc3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vc3R1ZGVudC92ZXJ0aWNhbC13aW5kb3ctbGlzdCIsCiAgInV1aWQiOiAidmVydGljYWwtd2luZG93LWxpc3RAc3R1ZGVudC5naXRsYWIuY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
+, {"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": "14", "sha256": "15lcxnkqcna0al51nqfz4vdz4h4pyq5da1x7gvgiqk9w72ynf6dq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNodXRkb3duL3JlYm9vdC9zdXNwZW5kIHRoZSBkZXZpY2UgYWZ0ZXIgYSBzcGVjaWZpYyB0aW1lIG9yIHdha2Ugd2l0aCBhIHJ0YyBhbGFybS5cblxuVGhlIHNjcmVlbiBzYXZlciB3aWxsIG5vdCBpbnRlcnJ1cHQgdGhlIHRpbWVyLiBBIHByaXZpbGVnZWQgY29udHJvbCBzY3JpcHQgbWF5IGJlIGluc3RhbGxlZCB0byBjb250cm9sIHNodXRkb3duIGFuZCBydGN3YWtlIGFzIHVzZXIuIEFkZGl0aW9uYWxseSwgYSBjaGVjayBjb21tYW5kIG1heSBiZSBjb25maWd1cmVkIGJlZm9yZSBzaHV0ZG93bi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJTaHV0ZG93blRpbWVyIiwKICAibmFtZSI6ICJTaHV0ZG93biBUaW1lciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaHV0ZG93bnRpbWVyLWRlbWluZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0RlbWluZGVyL1NodXRkb3duVGltZXIiLAogICJ1dWlkIjogIlNodXRkb3duVGltZXJAZGVtaW5kZXIiLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "40": {"version": "14", "sha256": "15lcxnkqcna0al51nqfz4vdz4h4pyq5da1x7gvgiqk9w72ynf6dq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNodXRkb3duL3JlYm9vdC9zdXNwZW5kIHRoZSBkZXZpY2UgYWZ0ZXIgYSBzcGVjaWZpYyB0aW1lIG9yIHdha2Ugd2l0aCBhIHJ0YyBhbGFybS5cblxuVGhlIHNjcmVlbiBzYXZlciB3aWxsIG5vdCBpbnRlcnJ1cHQgdGhlIHRpbWVyLiBBIHByaXZpbGVnZWQgY29udHJvbCBzY3JpcHQgbWF5IGJlIGluc3RhbGxlZCB0byBjb250cm9sIHNodXRkb3duIGFuZCBydGN3YWtlIGFzIHVzZXIuIEFkZGl0aW9uYWxseSwgYSBjaGVjayBjb21tYW5kIG1heSBiZSBjb25maWd1cmVkIGJlZm9yZSBzaHV0ZG93bi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJTaHV0ZG93blRpbWVyIiwKICAibmFtZSI6ICJTaHV0ZG93biBUaW1lciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaHV0ZG93bnRpbWVyLWRlbWluZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0RlbWluZGVyL1NodXRkb3duVGltZXIiLAogICJ1dWlkIjogIlNodXRkb3duVGltZXJAZGVtaW5kZXIiLAogICJ2ZXJzaW9uIjogMTQKfQ=="}}}
+, {"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 and allows selection of a different context using a GUI menu.\n\nRequires kubectl to be installed.", "link": "https://extensions.gnome.org/extension/4377/kubectl-context/", "shell_version_map": {"38": {"version": "1", "sha256": "0divql89gq1z1fjrgf8brvlvjxsibas9c5j72k2g4rhmhcn4wsq2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIGt1YmVjdGwgY3VycmVudC1jb250ZXh0IGFuZCBhbGxvd3Mgc2VsZWN0aW9uIG9mIGEgZGlmZmVyZW50IGNvbnRleHQgdXNpbmcgYSBHVUkgbWVudS5cblxuUmVxdWlyZXMga3ViZWN0bCB0byBiZSBpbnN0YWxsZWQuIiwKICAibmFtZSI6ICJrdWJlY3RsIGNvbnRleHQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9iZXJub3QtZGV2L2t1YmVjdGwtY29udGV4dCIsCiAgInV1aWQiOiAia3ViZWN0bC1jb250ZXh0QGJlcm5vdC5kZXYiLAogICJ2ZXJzaW9uIjogMQp9"}}}
+, {"uuid": "kill-port@empios.github.com", "name": "Kill Port", "pname": "kill-port", "description": "Extension to easly kill all process on port", "link": "https://extensions.gnome.org/extension/4378/kill-port/", "shell_version_map": {"38": {"version": "4", "sha256": "1q471wv519rgxdb88gdf2a1q0zaa1v84syrqn8wmfvmkfxszgxzh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4dGVuc2lvbiB0byBlYXNseSBraWxsIGFsbCBwcm9jZXNzIG9uIHBvcnQiLAogICJuYW1lIjogIktpbGwgUG9ydCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOC41IgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImtpbGwtcG9ydEBlbXBpb3MuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}}}
+, {"uuid": "tuned-profile-switcher@vint21h.pp.ua", "name": "TuneD Profile Switcher", "pname": "tuned-profile-switcher", "description": "Displays a list of the TuneD profiles and allows to switch between them.\nOf course, this is works only when TuneD installed and running.", "link": "https://extensions.gnome.org/extension/4381/tuned-profile-switcher/", "shell_version_map": {"40": {"version": "2", "sha256": "04k0l1wa78k5px2d6hbs205x58026fg6swhn6yhb2rqikk65qjym", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIGEgbGlzdCBvZiB0aGUgVHVuZUQgcHJvZmlsZXMgYW5kIGFsbG93cyB0byBzd2l0Y2ggYmV0d2VlbiB0aGVtLlxuT2YgY291cnNlLCB0aGlzIGlzIHdvcmtzIG9ubHkgd2hlbiBUdW5lRCBpbnN0YWxsZWQgYW5kIHJ1bm5pbmcuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidHVuZWQtcHJvZmlsZS1zd2l0Y2hlciIsCiAgIm5hbWUiOiAiVHVuZUQgUHJvZmlsZSBTd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92aW50MjFoL2dub21lLXNoZWxsLWV4dGVuc2lvbi10dW5lZC1wcm9maWxlLXN3aXRjaGVyLyIsCiAgInV1aWQiOiAidHVuZWQtcHJvZmlsZS1zd2l0Y2hlckB2aW50MjFoLnBwLnVhIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
+, {"uuid": "center-area-horizontal-spacing-fixed@trblwlf.tk", "name": "Center Area Horizontal Spacing Fixed", "pname": "center-area-horizontal-spacing-fixed", "description": "Reduce the horizontal spacing between icons in the top-center icon area.\nFork of the \"Status Area Horizontal Spacing\" extension, but for the CENTER area. \nThank you to the original author: mathematical.coffee", "link": "https://extensions.gnome.org/extension/4384/center-area-horizontal-spacing-fixed/", "shell_version_map": {"38": {"version": "2", "sha256": "1i1mrw0yi5qwlxb31qkf9n14w5y2j097iqwpsd79mpxc4njf70nj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlZHVjZSB0aGUgaG9yaXpvbnRhbCBzcGFjaW5nIGJldHdlZW4gaWNvbnMgaW4gdGhlIHRvcC1jZW50ZXIgaWNvbiBhcmVhLlxuRm9yayBvZiB0aGUgXCJTdGF0dXMgQXJlYSBIb3Jpem9udGFsIFNwYWNpbmdcIiBleHRlbnNpb24sIGJ1dCBmb3IgdGhlIENFTlRFUiBhcmVhLiBcblRoYW5rIHlvdSB0byB0aGUgb3JpZ2luYWwgYXV0aG9yOiBtYXRoZW1hdGljYWwuY29mZmVlIiwKICAiZGV2LXZlcnNpb24iOiAiMy4wIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiQ2VudGVyIEFyZWEgSG9yaXpvbnRhbCBTcGFjaW5nIEZpeGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNlbnRlci1hcmVhLWhvcml6b250YWwtc3BhY2luZyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy40IiwKICAgICIzLjYiLAogICAgIjMuOCIsCiAgICAiMy4xMCIsCiAgICAiMy4xMiIsCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1RhcmJhbGx3YWxmL0dOT01FLWNlbnRlci1hcmVhLWhvcml6b250YWwtc3BhY2luZy1maXhlZCIsCiAgInV1aWQiOiAiY2VudGVyLWFyZWEtaG9yaXpvbnRhbC1zcGFjaW5nLWZpeGVkQHRyYmx3bGYudGsiLAogICJ2ZXJzaW9uIjogMgp9"}}}
+, {"uuid": "icon-area-horizontal-spacing-fixed@trblwlf.tk", "name": "Icon Area Horizontal Spacing Fixed", "pname": "icon-area-horizontal-spacing-fixed", "description": "Reduce the horizontal spacing between icons in the top-left icon area.\nFork of the \"Status Area Horizontal Spacing\" extension, but for the LEFT side. \nThank you to the original author: mathematical.coffee", "link": "https://extensions.gnome.org/extension/4387/icon-area-horizontal-spacing-fixed/", "shell_version_map": {"38": {"version": "1", "sha256": "07pnz6w2hmjhc9x5nbj1cvir169hfva16igik1f8fm08qg4rrv03", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlZHVjZSB0aGUgaG9yaXpvbnRhbCBzcGFjaW5nIGJldHdlZW4gaWNvbnMgaW4gdGhlIHRvcC1sZWZ0IGljb24gYXJlYS5cbkZvcmsgb2YgdGhlIFwiU3RhdHVzIEFyZWEgSG9yaXpvbnRhbCBTcGFjaW5nXCIgZXh0ZW5zaW9uLCBidXQgZm9yIHRoZSBMRUZUIHNpZGUuIFxuVGhhbmsgeW91IHRvIHRoZSBvcmlnaW5hbCBhdXRob3I6IG1hdGhlbWF0aWNhbC5jb2ZmZWUiLAogICJkZXYtdmVyc2lvbiI6ICIyLjEiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAibmFtZSI6ICJJY29uIEFyZWEgSG9yaXpvbnRhbCBTcGFjaW5nIEZpeGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmljb24tYXJlYS1ob3Jpem9udGFsLXNwYWNpbmciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuNCIsCiAgICAiMy42IiwKICAgICIzLjgiLAogICAgIjMuMTAiLAogICAgIjMuMTIiLAogICAgIjMuMTQiLAogICAgIjMuMTYiLAogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiaWNvbi1hcmVhLWhvcml6b250YWwtc3BhY2luZy1maXhlZEB0cmJsd2xmLnRrIiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
+, {"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": "4", "sha256": "1diqvyr5dxhp4dn0l3i478b6x5lf863aspylz19fiqnr4dnfq4vm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgU2ltcGxlIEV4dGVuc2lvbiB0byBDaGFuZ2UgJ0FjdGl2aXRpZXMnIExhYmVsIHdpdGggTG9nbyBhbmQgVGV4dC5cbllvdSBjYW4gS2VlcCBFaXRoZXJcbjEuIExvZ28gb3JcbjIuIFRleHQgb3JcbjMuIEJvdGggb3JcbjQuIE5vbmUgYXQgYWxsIiwKICAibmFtZSI6ICJSZXBsYWNlIEFjdGl2aXRpZXMgVGV4dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1BSQVRBUC1LVU1BUi9BY3Rpdml0aWVzVGV4dCIsCiAgInV1aWQiOiAicmVwbGFjZUFjdGl2aXRpZXNUZXh0QHByYXRhcC5mYXN0bWFpbC5mbSIsCiAgInZlcnNpb24iOiA0Cn0="}, "40": {"version": "7", "sha256": "1fs71hzmpw4asm1r5bpvlc5awwalnp61w8zb9i2bsk6sk5jd6c1c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgU2ltcGxlIEV4dGVuc2lvbiB0byBDaGFuZ2UgJ0FjdGl2aXRpZXMnIExhYmVsIHdpdGggTG9nbyBhbmQgVGV4dC5cbllvdSBjYW4gS2VlcCBFaXRoZXJcbjEuIExvZ28gb3JcbjIuIFRleHQgb3JcbjMuIEJvdGggb3JcbjQuIE5vbmUgYXQgYWxsIiwKICAibmFtZSI6ICJSZXBsYWNlIEFjdGl2aXRpZXMgVGV4dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9QUkFUQVAtS1VNQVIvQWN0aXZpdGllc1RleHQiLAogICJ1dWlkIjogInJlcGxhY2VBY3Rpdml0aWVzVGV4dEBwcmF0YXAuZmFzdG1haWwuZm0iLAogICJ2ZXJzaW9uIjogNwp9"}}}
+, {"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": "1", "sha256": "1a9yadm0b2jyiwg771iwzb84yifbnixs6fnhxqmcsz9ivyaidfrf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSBTeW1ib2xpYyBJY29ucyBhbmQgU2F0dXJhdGlvbiBFZmZlY3QgZm9yIEFwcCBNZW51IEljb24iLAogICJuYW1lIjogIkNvbG9yZWQgQXBwbGljYXRpb24gTWVudSBJY29uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJhcHBNZW51SWNvbkBwcmF0YXAuZmFzdG1haWwuZm0iLAogICJ2ZXJzaW9uIjogMQp9"}, "40": {"version": "1", "sha256": "1a9yadm0b2jyiwg771iwzb84yifbnixs6fnhxqmcsz9ivyaidfrf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSBTeW1ib2xpYyBJY29ucyBhbmQgU2F0dXJhdGlvbiBFZmZlY3QgZm9yIEFwcCBNZW51IEljb24iLAogICJuYW1lIjogIkNvbG9yZWQgQXBwbGljYXRpb24gTWVudSBJY29uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJhcHBNZW51SWNvbkBwcmF0YXAuZmFzdG1haWwuZm0iLAogICJ2ZXJzaW9uIjogMQp9"}}}
+, {"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="}}}
+, {"uuid": "advanced-alt-tab@G-dH.github.com", "name": "Advanced Alt+Tab Window Switcher", "pname": "advanced-alttab-window-switcher", "description": "Replacement of Alt+Tab Window Switcher that offers direct activation, type to search, various filtering and sorting settings (switchable on the fly), workspace switching and hotkeys for window control. You can also adjust size of the window previews and app icons.\n\nNote that it's replacement of the \"window switcher\", not the \"app switcher\" - set your keyboard shortcut in Gnome Settings.\n\nHotkeys (in Type to Search mode with the Shift key):\n\n    H/L, Left/Right         - window selection\n    J/K, Up/Down, PgUp/Down - workspace selection\n    Space, KP_0/KP_Ins      - Show selected window - switch to window workspace and bring it to the front\n    Q                       - Switch window filter mode - ALL / WS / MONITOR\n    ;/~/` (key above Tab)   - Sort windows by applications, each subsequent key press jumps to the first window of the next app\n    G                       - Toggle sort by workspaces, when base filter is set to ALL\n    1/+/!                   - Filter out all windows that don't belong to the application of selected window\n    E/Insert                - Activates the \"Type to Search\" mode, the `Insert` key can turn it off, `Delete` deletes whole typed pattern\n    W                       - Close selected window\n    Shift+Del               - Force close - kill -9 to application of selected window\n    C                       - Close all windows from window list that belong to the same application as selected window\n    A                       - Toggle window 'Always on Top'. Also switch to window workspace and rise the window. Indicated by the front icon on top instead of bottom. When you press the 'A' key twice, it's actually equivalent to one press of hotkey for 'Show selected window'\n    S                       - Toggle window 'Always on Visible Workspace', indicated by the 'pin' icon. You can move selected window to the current workspace by pressing this key twice.\n    X/click outside switcher- Move selected window to the current workspace and to the monitor with mouse pointer\n    N                       - Create New Window of selected application, if the app soupports it.\n    V                       - Move window to selected workspace and maximize it.\n    F                       - Move window to empty workspace next to its current workspace and switch it to fullscreen mode. Next use of this action on the same window moves the window back to its original workspace and turn off the fullscreen mode.\n    O                       - Show application grid, if you need to launch new application.\n    T                       - Creates an thumbnail preview of selected window and place it to the bottom right of the current monitor. You can move the thumbnail anywhere on the screen and you can make as many thumbnails you want\n    P                       - Open preferences window for this extension\n\nFor more information and bug reports follow the link below.\nRestart your Gnome Shell after every update, before you post a bug report.", "link": "https://extensions.gnome.org/extension/4412/advanced-alttab-window-switcher/", "shell_version_map": {"38": {"version": "4", "sha256": "1fvbiw8fis6m2dr970pxpvqyx61k2kb54gcnsqx861j2q4931akq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcGxhY2VtZW50IG9mIEFsdCtUYWIgV2luZG93IFN3aXRjaGVyIHRoYXQgb2ZmZXJzIGRpcmVjdCBhY3RpdmF0aW9uLCB0eXBlIHRvIHNlYXJjaCwgdmFyaW91cyBmaWx0ZXJpbmcgYW5kIHNvcnRpbmcgc2V0dGluZ3MgKHN3aXRjaGFibGUgb24gdGhlIGZseSksIHdvcmtzcGFjZSBzd2l0Y2hpbmcgYW5kIGhvdGtleXMgZm9yIHdpbmRvdyBjb250cm9sLiBZb3UgY2FuIGFsc28gYWRqdXN0IHNpemUgb2YgdGhlIHdpbmRvdyBwcmV2aWV3cyBhbmQgYXBwIGljb25zLlxuXG5Ob3RlIHRoYXQgaXQncyByZXBsYWNlbWVudCBvZiB0aGUgXCJ3aW5kb3cgc3dpdGNoZXJcIiwgbm90IHRoZSBcImFwcCBzd2l0Y2hlclwiIC0gc2V0IHlvdXIga2V5Ym9hcmQgc2hvcnRjdXQgaW4gR25vbWUgU2V0dGluZ3MuXG5cbkhvdGtleXMgKGluIFR5cGUgdG8gU2VhcmNoIG1vZGUgd2l0aCB0aGUgU2hpZnQga2V5KTpcblxuICAgIEgvTCwgTGVmdC9SaWdodCAgICAgICAgIC0gd2luZG93IHNlbGVjdGlvblxuICAgIEovSywgVXAvRG93biwgUGdVcC9Eb3duIC0gd29ya3NwYWNlIHNlbGVjdGlvblxuICAgIFNwYWNlLCBLUF8wL0tQX0lucyAgICAgIC0gU2hvdyBzZWxlY3RlZCB3aW5kb3cgLSBzd2l0Y2ggdG8gd2luZG93IHdvcmtzcGFjZSBhbmQgYnJpbmcgaXQgdG8gdGhlIGZyb250XG4gICAgUSAgICAgICAgICAgICAgICAgICAgICAgLSBTd2l0Y2ggd2luZG93IGZpbHRlciBtb2RlIC0gQUxMIC8gV1MgLyBNT05JVE9SXG4gICAgOy9+L2AgKGtleSBhYm92ZSBUYWIpICAgLSBTb3J0IHdpbmRvd3MgYnkgYXBwbGljYXRpb25zLCBlYWNoIHN1YnNlcXVlbnQga2V5IHByZXNzIGp1bXBzIHRvIHRoZSBmaXJzdCB3aW5kb3cgb2YgdGhlIG5leHQgYXBwXG4gICAgRyAgICAgICAgICAgICAgICAgICAgICAgLSBUb2dnbGUgc29ydCBieSB3b3Jrc3BhY2VzLCB3aGVuIGJhc2UgZmlsdGVyIGlzIHNldCB0byBBTExcbiAgICAxLysvISAgICAgICAgICAgICAgICAgICAtIEZpbHRlciBvdXQgYWxsIHdpbmRvd3MgdGhhdCBkb24ndCBiZWxvbmcgdG8gdGhlIGFwcGxpY2F0aW9uIG9mIHNlbGVjdGVkIHdpbmRvd1xuICAgIEUvSW5zZXJ0ICAgICAgICAgICAgICAgIC0gQWN0aXZhdGVzIHRoZSBcIlR5cGUgdG8gU2VhcmNoXCIgbW9kZSwgdGhlIGBJbnNlcnRgIGtleSBjYW4gdHVybiBpdCBvZmYsIGBEZWxldGVgIGRlbGV0ZXMgd2hvbGUgdHlwZWQgcGF0dGVyblxuICAgIFcgICAgICAgICAgICAgICAgICAgICAgIC0gQ2xvc2Ugc2VsZWN0ZWQgd2luZG93XG4gICAgU2hpZnQrRGVsICAgICAgICAgICAgICAgLSBGb3JjZSBjbG9zZSAtIGtpbGwgLTkgdG8gYXBwbGljYXRpb24gb2Ygc2VsZWN0ZWQgd2luZG93XG4gICAgQyAgICAgICAgICAgICAgICAgICAgICAgLSBDbG9zZSBhbGwgd2luZG93cyBmcm9tIHdpbmRvdyBsaXN0IHRoYXQgYmVsb25nIHRvIHRoZSBzYW1lIGFwcGxpY2F0aW9uIGFzIHNlbGVjdGVkIHdpbmRvd1xuICAgIEEgICAgICAgICAgICAgICAgICAgICAgIC0gVG9nZ2xlIHdpbmRvdyAnQWx3YXlzIG9uIFRvcCcuIEFsc28gc3dpdGNoIHRvIHdpbmRvdyB3b3Jrc3BhY2UgYW5kIHJpc2UgdGhlIHdpbmRvdy4gSW5kaWNhdGVkIGJ5IHRoZSBmcm9udCBpY29uIG9uIHRvcCBpbnN0ZWFkIG9mIGJvdHRvbS4gV2hlbiB5b3UgcHJlc3MgdGhlICdBJyBrZXkgdHdpY2UsIGl0J3MgYWN0dWFsbHkgZXF1aXZhbGVudCB0byBvbmUgcHJlc3Mgb2YgaG90a2V5IGZvciAnU2hvdyBzZWxlY3RlZCB3aW5kb3cnXG4gICAgUyAgICAgICAgICAgICAgICAgICAgICAgLSBUb2dnbGUgd2luZG93ICdBbHdheXMgb24gVmlzaWJsZSBXb3Jrc3BhY2UnLCBpbmRpY2F0ZWQgYnkgdGhlICdwaW4nIGljb24uIFlvdSBjYW4gbW92ZSBzZWxlY3RlZCB3aW5kb3cgdG8gdGhlIGN1cnJlbnQgd29ya3NwYWNlIGJ5IHByZXNzaW5nIHRoaXMga2V5IHR3aWNlLlxuICAgIFgvY2xpY2sgb3V0c2lkZSBzd2l0Y2hlci0gTW92ZSBzZWxlY3RlZCB3aW5kb3cgdG8gdGhlIGN1cnJlbnQgd29ya3NwYWNlIGFuZCB0byB0aGUgbW9uaXRvciB3aXRoIG1vdXNlIHBvaW50ZXJcbiAgICBOICAgICAgICAgICAgICAgICAgICAgICAtIENyZWF0ZSBOZXcgV2luZG93IG9mIHNlbGVjdGVkIGFwcGxpY2F0aW9uLCBpZiB0aGUgYXBwIHNvdXBwb3J0cyBpdC5cbiAgICBWICAgICAgICAgICAgICAgICAgICAgICAtIE1vdmUgd2luZG93IHRvIHNlbGVjdGVkIHdvcmtzcGFjZSBhbmQgbWF4aW1pemUgaXQuXG4gICAgRiAgICAgICAgICAgICAgICAgICAgICAgLSBNb3ZlIHdpbmRvdyB0byBlbXB0eSB3b3Jrc3BhY2UgbmV4dCB0byBpdHMgY3VycmVudCB3b3Jrc3BhY2UgYW5kIHN3aXRjaCBpdCB0byBmdWxsc2NyZWVuIG1vZGUuIE5leHQgdXNlIG9mIHRoaXMgYWN0aW9uIG9uIHRoZSBzYW1lIHdpbmRvdyBtb3ZlcyB0aGUgd2luZG93IGJhY2sgdG8gaXRzIG9yaWdpbmFsIHdvcmtzcGFjZSBhbmQgdHVybiBvZmYgdGhlIGZ1bGxzY3JlZW4gbW9kZS5cbiAgICBPICAgICAgICAgICAgICAgICAgICAgICAtIFNob3cgYXBwbGljYXRpb24gZ3JpZCwgaWYgeW91IG5lZWQgdG8gbGF1bmNoIG5ldyBhcHBsaWNhdGlvbi5cbiAgICBUICAgICAgICAgICAgICAgICAgICAgICAtIENyZWF0ZXMgYW4gdGh1bWJuYWlsIHByZXZpZXcgb2Ygc2VsZWN0ZWQgd2luZG93IGFuZCBwbGFjZSBpdCB0byB0aGUgYm90dG9tIHJpZ2h0IG9mIHRoZSBjdXJyZW50IG1vbml0b3IuIFlvdSBjYW4gbW92ZSB0aGUgdGh1bWJuYWlsIGFueXdoZXJlIG9uIHRoZSBzY3JlZW4gYW5kIHlvdSBjYW4gbWFrZSBhcyBtYW55IHRodW1ibmFpbHMgeW91IHdhbnRcbiAgICBQICAgICAgICAgICAgICAgICAgICAgICAtIE9wZW4gcHJlZmVyZW5jZXMgd2luZG93IGZvciB0aGlzIGV4dGVuc2lvblxuXG5Gb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgYnVnIHJlcG9ydHMgZm9sbG93IHRoZSBsaW5rIGJlbG93LlxuUmVzdGFydCB5b3VyIEdub21lIFNoZWxsIGFmdGVyIGV2ZXJ5IHVwZGF0ZSwgYmVmb3JlIHlvdSBwb3N0IGEgYnVnIHJlcG9ydC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhZHZhbmNlZC1hbHQtdGFiLXdpbmRvdy1zd2l0Y2hlciIsCiAgIm5hbWUiOiAiQWR2YW5jZWQgQWx0K1RhYiBXaW5kb3cgU3dpdGNoZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYWR2YW5jZWQtYWx0LXRhYi13aW5kb3ctc3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC9hZHZhbmNlZC1hbHR0YWItd2luZG93LXN3aXRjaGVyIiwKICAidXVpZCI6ICJhZHZhbmNlZC1hbHQtdGFiQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}, "40": {"version": "4", "sha256": "1fvbiw8fis6m2dr970pxpvqyx61k2kb54gcnsqx861j2q4931akq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcGxhY2VtZW50IG9mIEFsdCtUYWIgV2luZG93IFN3aXRjaGVyIHRoYXQgb2ZmZXJzIGRpcmVjdCBhY3RpdmF0aW9uLCB0eXBlIHRvIHNlYXJjaCwgdmFyaW91cyBmaWx0ZXJpbmcgYW5kIHNvcnRpbmcgc2V0dGluZ3MgKHN3aXRjaGFibGUgb24gdGhlIGZseSksIHdvcmtzcGFjZSBzd2l0Y2hpbmcgYW5kIGhvdGtleXMgZm9yIHdpbmRvdyBjb250cm9sLiBZb3UgY2FuIGFsc28gYWRqdXN0IHNpemUgb2YgdGhlIHdpbmRvdyBwcmV2aWV3cyBhbmQgYXBwIGljb25zLlxuXG5Ob3RlIHRoYXQgaXQncyByZXBsYWNlbWVudCBvZiB0aGUgXCJ3aW5kb3cgc3dpdGNoZXJcIiwgbm90IHRoZSBcImFwcCBzd2l0Y2hlclwiIC0gc2V0IHlvdXIga2V5Ym9hcmQgc2hvcnRjdXQgaW4gR25vbWUgU2V0dGluZ3MuXG5cbkhvdGtleXMgKGluIFR5cGUgdG8gU2VhcmNoIG1vZGUgd2l0aCB0aGUgU2hpZnQga2V5KTpcblxuICAgIEgvTCwgTGVmdC9SaWdodCAgICAgICAgIC0gd2luZG93IHNlbGVjdGlvblxuICAgIEovSywgVXAvRG93biwgUGdVcC9Eb3duIC0gd29ya3NwYWNlIHNlbGVjdGlvblxuICAgIFNwYWNlLCBLUF8wL0tQX0lucyAgICAgIC0gU2hvdyBzZWxlY3RlZCB3aW5kb3cgLSBzd2l0Y2ggdG8gd2luZG93IHdvcmtzcGFjZSBhbmQgYnJpbmcgaXQgdG8gdGhlIGZyb250XG4gICAgUSAgICAgICAgICAgICAgICAgICAgICAgLSBTd2l0Y2ggd2luZG93IGZpbHRlciBtb2RlIC0gQUxMIC8gV1MgLyBNT05JVE9SXG4gICAgOy9+L2AgKGtleSBhYm92ZSBUYWIpICAgLSBTb3J0IHdpbmRvd3MgYnkgYXBwbGljYXRpb25zLCBlYWNoIHN1YnNlcXVlbnQga2V5IHByZXNzIGp1bXBzIHRvIHRoZSBmaXJzdCB3aW5kb3cgb2YgdGhlIG5leHQgYXBwXG4gICAgRyAgICAgICAgICAgICAgICAgICAgICAgLSBUb2dnbGUgc29ydCBieSB3b3Jrc3BhY2VzLCB3aGVuIGJhc2UgZmlsdGVyIGlzIHNldCB0byBBTExcbiAgICAxLysvISAgICAgICAgICAgICAgICAgICAtIEZpbHRlciBvdXQgYWxsIHdpbmRvd3MgdGhhdCBkb24ndCBiZWxvbmcgdG8gdGhlIGFwcGxpY2F0aW9uIG9mIHNlbGVjdGVkIHdpbmRvd1xuICAgIEUvSW5zZXJ0ICAgICAgICAgICAgICAgIC0gQWN0aXZhdGVzIHRoZSBcIlR5cGUgdG8gU2VhcmNoXCIgbW9kZSwgdGhlIGBJbnNlcnRgIGtleSBjYW4gdHVybiBpdCBvZmYsIGBEZWxldGVgIGRlbGV0ZXMgd2hvbGUgdHlwZWQgcGF0dGVyblxuICAgIFcgICAgICAgICAgICAgICAgICAgICAgIC0gQ2xvc2Ugc2VsZWN0ZWQgd2luZG93XG4gICAgU2hpZnQrRGVsICAgICAgICAgICAgICAgLSBGb3JjZSBjbG9zZSAtIGtpbGwgLTkgdG8gYXBwbGljYXRpb24gb2Ygc2VsZWN0ZWQgd2luZG93XG4gICAgQyAgICAgICAgICAgICAgICAgICAgICAgLSBDbG9zZSBhbGwgd2luZG93cyBmcm9tIHdpbmRvdyBsaXN0IHRoYXQgYmVsb25nIHRvIHRoZSBzYW1lIGFwcGxpY2F0aW9uIGFzIHNlbGVjdGVkIHdpbmRvd1xuICAgIEEgICAgICAgICAgICAgICAgICAgICAgIC0gVG9nZ2xlIHdpbmRvdyAnQWx3YXlzIG9uIFRvcCcuIEFsc28gc3dpdGNoIHRvIHdpbmRvdyB3b3Jrc3BhY2UgYW5kIHJpc2UgdGhlIHdpbmRvdy4gSW5kaWNhdGVkIGJ5IHRoZSBmcm9udCBpY29uIG9uIHRvcCBpbnN0ZWFkIG9mIGJvdHRvbS4gV2hlbiB5b3UgcHJlc3MgdGhlICdBJyBrZXkgdHdpY2UsIGl0J3MgYWN0dWFsbHkgZXF1aXZhbGVudCB0byBvbmUgcHJlc3Mgb2YgaG90a2V5IGZvciAnU2hvdyBzZWxlY3RlZCB3aW5kb3cnXG4gICAgUyAgICAgICAgICAgICAgICAgICAgICAgLSBUb2dnbGUgd2luZG93ICdBbHdheXMgb24gVmlzaWJsZSBXb3Jrc3BhY2UnLCBpbmRpY2F0ZWQgYnkgdGhlICdwaW4nIGljb24uIFlvdSBjYW4gbW92ZSBzZWxlY3RlZCB3aW5kb3cgdG8gdGhlIGN1cnJlbnQgd29ya3NwYWNlIGJ5IHByZXNzaW5nIHRoaXMga2V5IHR3aWNlLlxuICAgIFgvY2xpY2sgb3V0c2lkZSBzd2l0Y2hlci0gTW92ZSBzZWxlY3RlZCB3aW5kb3cgdG8gdGhlIGN1cnJlbnQgd29ya3NwYWNlIGFuZCB0byB0aGUgbW9uaXRvciB3aXRoIG1vdXNlIHBvaW50ZXJcbiAgICBOICAgICAgICAgICAgICAgICAgICAgICAtIENyZWF0ZSBOZXcgV2luZG93IG9mIHNlbGVjdGVkIGFwcGxpY2F0aW9uLCBpZiB0aGUgYXBwIHNvdXBwb3J0cyBpdC5cbiAgICBWICAgICAgICAgICAgICAgICAgICAgICAtIE1vdmUgd2luZG93IHRvIHNlbGVjdGVkIHdvcmtzcGFjZSBhbmQgbWF4aW1pemUgaXQuXG4gICAgRiAgICAgICAgICAgICAgICAgICAgICAgLSBNb3ZlIHdpbmRvdyB0byBlbXB0eSB3b3Jrc3BhY2UgbmV4dCB0byBpdHMgY3VycmVudCB3b3Jrc3BhY2UgYW5kIHN3aXRjaCBpdCB0byBmdWxsc2NyZWVuIG1vZGUuIE5leHQgdXNlIG9mIHRoaXMgYWN0aW9uIG9uIHRoZSBzYW1lIHdpbmRvdyBtb3ZlcyB0aGUgd2luZG93IGJhY2sgdG8gaXRzIG9yaWdpbmFsIHdvcmtzcGFjZSBhbmQgdHVybiBvZmYgdGhlIGZ1bGxzY3JlZW4gbW9kZS5cbiAgICBPICAgICAgICAgICAgICAgICAgICAgICAtIFNob3cgYXBwbGljYXRpb24gZ3JpZCwgaWYgeW91IG5lZWQgdG8gbGF1bmNoIG5ldyBhcHBsaWNhdGlvbi5cbiAgICBUICAgICAgICAgICAgICAgICAgICAgICAtIENyZWF0ZXMgYW4gdGh1bWJuYWlsIHByZXZpZXcgb2Ygc2VsZWN0ZWQgd2luZG93IGFuZCBwbGFjZSBpdCB0byB0aGUgYm90dG9tIHJpZ2h0IG9mIHRoZSBjdXJyZW50IG1vbml0b3IuIFlvdSBjYW4gbW92ZSB0aGUgdGh1bWJuYWlsIGFueXdoZXJlIG9uIHRoZSBzY3JlZW4gYW5kIHlvdSBjYW4gbWFrZSBhcyBtYW55IHRodW1ibmFpbHMgeW91IHdhbnRcbiAgICBQICAgICAgICAgICAgICAgICAgICAgICAtIE9wZW4gcHJlZmVyZW5jZXMgd2luZG93IGZvciB0aGlzIGV4dGVuc2lvblxuXG5Gb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgYnVnIHJlcG9ydHMgZm9sbG93IHRoZSBsaW5rIGJlbG93LlxuUmVzdGFydCB5b3VyIEdub21lIFNoZWxsIGFmdGVyIGV2ZXJ5IHVwZGF0ZSwgYmVmb3JlIHlvdSBwb3N0IGEgYnVnIHJlcG9ydC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhZHZhbmNlZC1hbHQtdGFiLXdpbmRvdy1zd2l0Y2hlciIsCiAgIm5hbWUiOiAiQWR2YW5jZWQgQWx0K1RhYiBXaW5kb3cgU3dpdGNoZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYWR2YW5jZWQtYWx0LXRhYi13aW5kb3ctc3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC9hZHZhbmNlZC1hbHR0YWItd2luZG93LXN3aXRjaGVyIiwKICAidXVpZCI6ICJhZHZhbmNlZC1hbHQtdGFiQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}}}
+, {"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": "1", "sha256": "08jyn79vb055vcfhg5kgc6yj6xvhyvwghpaw0d1vncy3gvj2mrln", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIEdub21lJ3Mgb25zY3JlZW4ga2V5Ym9hcmQgbW9yZSB1c2VhYmxlIHdpdGggZS5nLiBtb3JlIGtleXMuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGZvcmsgb2YgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMzMzMC9pbXByb3ZlZC1vbnNjcmVlbi1rZXlib2FyZC8gYnkgU2ViYXN0aWFuTHVlYmtlLiIsCiAgIm5hbWUiOiAiSW1wcm92ZWQgT1NLIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL25pY2stc2hteXJldi9pbXByb3ZlZC1vc2stZ25vbWUtZXh0IiwKICAidXVpZCI6ICJpbXByb3ZlZG9za0BuaWNrLXNobXlyZXYuZGV2IiwKICAidmVyc2lvbiI6IDEKfQ=="}, "40": {"version": "1", "sha256": "08jyn79vb055vcfhg5kgc6yj6xvhyvwghpaw0d1vncy3gvj2mrln", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIEdub21lJ3Mgb25zY3JlZW4ga2V5Ym9hcmQgbW9yZSB1c2VhYmxlIHdpdGggZS5nLiBtb3JlIGtleXMuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGZvcmsgb2YgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMzMzMC9pbXByb3ZlZC1vbnNjcmVlbi1rZXlib2FyZC8gYnkgU2ViYXN0aWFuTHVlYmtlLiIsCiAgIm5hbWUiOiAiSW1wcm92ZWQgT1NLIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL25pY2stc2hteXJldi9pbXByb3ZlZC1vc2stZ25vbWUtZXh0IiwKICAidXVpZCI6ICJpbXByb3ZlZG9za0BuaWNrLXNobXlyZXYuZGV2IiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
+, {"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": "1", "sha256": "0sz69rs6z1fybva20xs8587bs4xaflb4frd14d729lqq5h1m8b2p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVwZGF0ZSBpbmRpY2F0b3IgZm9yIEZlZG9yYSBMaW51eCBhbmQgR05PTUUgU2hlbGwuIiwKICAibmFtZSI6ICJGZWRvcmEgTGludXggVXBkYXRlcyBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcGVwZTM4Ni9mZWRvcmEtdXBkYXRlIiwKICAidXVpZCI6ICJmZWRvcmEtdXBkYXRlQHBlcGUzODYiLAogICJ2ZXJzaW9uIjogMQp9"}}}
+, {"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": "9", "sha256": "0r6ccgha8gqdqyy9z8sqxgpm1prbxfbh7cc8iyfhba5g40b4lh9g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkl0IGlzIGEgZXh0ZW5zaW9uIGZvciBHbm9tZS1TaGVsbCB3aXRoIGFuIGVxdWl2YWxlbnQgZnVuY3Rpb24gdG8gYSByZWFkaW5nIGd1aWRlIG9uIHRoZSBjb21wdXRlciwgdGhhdCdzIHJlYWxseSB1c2VmdWwgZm9yIHBlb3BsZSB3aXRoIGR5c2xleGlhLiIsCiAgIm5hbWUiOiAiUmVhZGluZyBTdHJpcCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5yZWFkaW5nc3RyaXAiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbHVwYW50YW5vL3JlYWRpbmdzdHJpcCIsCiAgInV1aWQiOiAicmVhZGluZ3N0cmlwQGx1cGFudGFuby5naWh0aHViIiwKICAidmVyc2lvbiI6IDkKfQ=="}}}
+, {"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": "5", "sha256": "0bnp7bh7vpgn0qw1549297vs3l068s43jj6y8pzm7h366jihvidc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIG1hbmFnZSB5b3VyIGNsaXBib2FyZC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1jbGlwYm9hcmQiLAogICJuYW1lIjogIkdub21lIENsaXBib2FyZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2IwMGYvZ25vbWUtY2xpcGJvYXJkIiwKICAidXVpZCI6ICJnbm9tZS1jbGlwYm9hcmRAYjAwZi5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNQp9"}}}
+, {"uuid": "thanatophobia@yatx.one", "name": "Thanatophobia", "pname": "thanatophobia", "description": "Displays your age in real time. \n\nGreat source of motivation according to terror management theory!", "link": "https://extensions.gnome.org/extension/4425/thanatophobia/", "shell_version_map": {"40": {"version": "4", "sha256": "19xp2blv1fjha6lcssh4nvzrilrlc5fpyz7gwzy7wfpqg6xyaxlj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIHlvdXIgYWdlIGluIHJlYWwgdGltZS4gXG5cbkdyZWF0IHNvdXJjZSBvZiBtb3RpdmF0aW9uIGFjY29yZGluZyB0byB0ZXJyb3IgbWFuYWdlbWVudCB0aGVvcnkhIiwKICAibmFtZSI6ICJUaGFuYXRvcGhvYmlhIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3lhdHhvbmUvdGhhbmF0b3Bob2JpYSIsCiAgInV1aWQiOiAidGhhbmF0b3Bob2JpYUB5YXR4Lm9uZSIsCiAgInZlcnNpb24iOiA0Cn0="}}}
+, {"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="}}}
+, {"uuid": "dark-side@kamil-galek.pl", "name": "Dark side of Gnome", "pname": "dark-side-of-gnome", "description": "Join the dark side with some of your apps. For now it won't work with every app.", "link": "https://extensions.gnome.org/extension/4430/dark-side-of-gnome/", "shell_version_map": {"40": {"version": "2", "sha256": "08kzwpn22qwgyrps4khwkarn4rakr1rn57wg94wpfgd9pfbgb7ri", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkpvaW4gdGhlIGRhcmsgc2lkZSB3aXRoIHNvbWUgb2YgeW91ciBhcHBzLiBGb3Igbm93IGl0IHdvbid0IHdvcmsgd2l0aCBldmVyeSBhcHAuIiwKICAibmFtZSI6ICJEYXJrIHNpZGUgb2YgR25vbWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImRhcmstc2lkZUBrYW1pbC1nYWxlay5wbCIsCiAgInZlcnNpb24iOiAyCn0="}}}
+, {"uuid": "wizlight@iabhilashjoshi", "name": "Wiz Light", "pname": "wiz-light", "description": "Control Wiz Connected Lights Through Gnome Shell\n\nRequirements:\n        #Wiz enabled smart bulb\n        #python3  (To install  use command \"sudo apt install python3\")\n        #pywizlight (To install use command \"pip3 install pywizlight\")\n\nTo Use go to the location where extension is installed (usually stored in \"~/.local/share/gnome-shell/extensions\") and change IP address in extension.js file to your smart bulb's IP address and then extension should work.", "link": "https://extensions.gnome.org/extension/4436/wiz-light/", "shell_version_map": {"38": {"version": "1", "sha256": "11alaa3dnpnlgd4bfzzzr47mpcc8a648b6l90dzv9dlwci9jacx2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgV2l6IENvbm5lY3RlZCBMaWdodHMgVGhyb3VnaCBHbm9tZSBTaGVsbFxuXG5SZXF1aXJlbWVudHM6XG4gICAgICAgICNXaXogZW5hYmxlZCBzbWFydCBidWxiXG4gICAgICAgICNweXRob24zICAoVG8gaW5zdGFsbCAgdXNlIGNvbW1hbmQgXCJzdWRvIGFwdCBpbnN0YWxsIHB5dGhvbjNcIilcbiAgICAgICAgI3B5d2l6bGlnaHQgKFRvIGluc3RhbGwgdXNlIGNvbW1hbmQgXCJwaXAzIGluc3RhbGwgcHl3aXpsaWdodFwiKVxuXG5UbyBVc2UgZ28gdG8gdGhlIGxvY2F0aW9uIHdoZXJlIGV4dGVuc2lvbiBpcyBpbnN0YWxsZWQgKHVzdWFsbHkgc3RvcmVkIGluIFwifi8ubG9jYWwvc2hhcmUvZ25vbWUtc2hlbGwvZXh0ZW5zaW9uc1wiKSBhbmQgY2hhbmdlIElQIGFkZHJlc3MgaW4gZXh0ZW5zaW9uLmpzIGZpbGUgdG8geW91ciBzbWFydCBidWxiJ3MgSVAgYWRkcmVzcyBhbmQgdGhlbiBleHRlbnNpb24gc2hvdWxkIHdvcmsuIiwKICAibmFtZSI6ICJXaXogTGlnaHQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbHBoYXNwZWFyL1dpei1MaWdodCIsCiAgInV1aWQiOiAid2l6bGlnaHRAaWFiaGlsYXNoam9zaGkiLAogICJ2ZXJzaW9uIjogMQp9"}}}
+, {"uuid": "gSnap@micahosborne", "name": "gSnap", "pname": "gsnap", "description": "Organize windows in customizable snap zones like FancyZones on windows.", "link": "https://extensions.gnome.org/extension/4442/gsnap/", "shell_version_map": {"40": {"version": "5", "sha256": "0gfas7p7mjg0zlwglx6al4yy4g2zfyj0ijgcy3sniwfkvqspw69g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk9yZ2FuaXplIHdpbmRvd3MgaW4gY3VzdG9taXphYmxlIHNuYXAgem9uZXMgbGlrZSBGYW5jeVpvbmVzIG9uIHdpbmRvd3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3NuYXBAbWljYWhvc2Jvcm5lIiwKICAibmFtZSI6ICJnU25hcCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nc25hcCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9taWNhaG9zYm9ybmUvZ1NuYXAiLAogICJ1dWlkIjogImdTbmFwQG1pY2Fob3Nib3JuZSIsCiAgInZlcnNpb24iOiA1Cn0="}}}
+, {"uuid": "appswitcheronlyoncurrentworkspace@ermesonsampaio.com", "name": "Alt + Tab only on current workspace", "pname": "alt-tab-only-on-current-workspace", "description": "Force alt + tab to switch only in the current workspace.", "link": "https://extensions.gnome.org/extension/4443/alt-tab-only-on-current-workspace/", "shell_version_map": {"40": {"version": "3", "sha256": "1jl7gi45gz9fliggkwdg44rdqcirh6qxfkvc639vbw2sgmpbmcvw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmNlIGFsdCArIHRhYiB0byBzd2l0Y2ggb25seSBpbiB0aGUgY3VycmVudCB3b3Jrc3BhY2UuIiwKICAibmFtZSI6ICJBbHQgKyBUYWIgb25seSBvbiBjdXJyZW50IHdvcmtzcGFjZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lcm1lc29uc2FtcGFpby9hcHAtc3dpdGNoZXItb25seS1vbi1jdXJyZW50LXdvcmtzcGFjZSIsCiAgInV1aWQiOiAiYXBwc3dpdGNoZXJvbmx5b25jdXJyZW50d29ya3NwYWNlQGVybWVzb25zYW1wYWlvLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}}}
+, {"uuid": "logomenu@aryan_k", "name": "Logo Menu", "pname": "logo-menu", "description": "Logo Menu - Menu similar to Apple's macOS menu for the GNOME Desktop\n\nThis extension gives a simple menu along with the ability to get the icon of your distro on top left part of the panel for a great look.\nThe Icon can be customized through settings, it has both Linux and BSD logos.\nfor more screenshots, visit GitHub.\n\nThis extension is a fork of - https://github.com/tofutech/tofumenu\nThe original project is no more supported thus I made this.", "link": "https://extensions.gnome.org/extension/4451/logo-menu/", "shell_version_map": {"38": {"version": "2", "sha256": "0rw6s2pg8vcx3y9dz8n62nm449bqb01vlp31fnhphv7pn6wmv2l9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvZ28gTWVudSAtIE1lbnUgc2ltaWxhciB0byBBcHBsZSdzIG1hY09TIG1lbnUgZm9yIHRoZSBHTk9NRSBEZXNrdG9wXG5cblRoaXMgZXh0ZW5zaW9uIGdpdmVzIGEgc2ltcGxlIG1lbnUgYWxvbmcgd2l0aCB0aGUgYWJpbGl0eSB0byBnZXQgdGhlIGljb24gb2YgeW91ciBkaXN0cm8gb24gdG9wIGxlZnQgcGFydCBvZiB0aGUgcGFuZWwgZm9yIGEgZ3JlYXQgbG9vay5cblRoZSBJY29uIGNhbiBiZSBjdXN0b21pemVkIHRocm91Z2ggc2V0dGluZ3MsIGl0IGhhcyBib3RoIExpbnV4IGFuZCBCU0QgbG9nb3MuXG5mb3IgbW9yZSBzY3JlZW5zaG90cywgdmlzaXQgR2l0SHViLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGZvcmsgb2YgLSBodHRwczovL2dpdGh1Yi5jb20vdG9mdXRlY2gvdG9mdW1lbnVcblRoZSBvcmlnaW5hbCBwcm9qZWN0IGlzIG5vIG1vcmUgc3VwcG9ydGVkIHRodXMgSSBtYWRlIHRoaXMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibG9nby1tZW51IiwKICAibmFtZSI6ICJMb2dvIE1lbnUiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmFyeWFuX2subG9nby1tZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0FyeWFuMjAvTG9nb21lbnUiLAogICJ1dWlkIjogImxvZ29tZW51QGFyeWFuX2siLAogICJ2ZXJzaW9uIjogMgp9"}, "40": {"version": "2", "sha256": "0rw6s2pg8vcx3y9dz8n62nm449bqb01vlp31fnhphv7pn6wmv2l9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvZ28gTWVudSAtIE1lbnUgc2ltaWxhciB0byBBcHBsZSdzIG1hY09TIG1lbnUgZm9yIHRoZSBHTk9NRSBEZXNrdG9wXG5cblRoaXMgZXh0ZW5zaW9uIGdpdmVzIGEgc2ltcGxlIG1lbnUgYWxvbmcgd2l0aCB0aGUgYWJpbGl0eSB0byBnZXQgdGhlIGljb24gb2YgeW91ciBkaXN0cm8gb24gdG9wIGxlZnQgcGFydCBvZiB0aGUgcGFuZWwgZm9yIGEgZ3JlYXQgbG9vay5cblRoZSBJY29uIGNhbiBiZSBjdXN0b21pemVkIHRocm91Z2ggc2V0dGluZ3MsIGl0IGhhcyBib3RoIExpbnV4IGFuZCBCU0QgbG9nb3MuXG5mb3IgbW9yZSBzY3JlZW5zaG90cywgdmlzaXQgR2l0SHViLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGZvcmsgb2YgLSBodHRwczovL2dpdGh1Yi5jb20vdG9mdXRlY2gvdG9mdW1lbnVcblRoZSBvcmlnaW5hbCBwcm9qZWN0IGlzIG5vIG1vcmUgc3VwcG9ydGVkIHRodXMgSSBtYWRlIHRoaXMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibG9nby1tZW51IiwKICAibmFtZSI6ICJMb2dvIE1lbnUiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmFyeWFuX2subG9nby1tZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0FyeWFuMjAvTG9nb21lbnUiLAogICJ1dWlkIjogImxvZ29tZW51QGFyeWFuX2siLAogICJ2ZXJzaW9uIjogMgp9"}}}
+, {"uuid": "rog-manager@rog", "name": "Rog Asus Manager", "pname": "rog-asus-manager", "description": "Asus ROG Manager is useful for controlling many aspects of various ASUS laptops.  Need to install asusctl dependency.", "link": "https://extensions.gnome.org/extension/4452/rog-asus-manager/", "shell_version_map": {"38": {"version": "3", "sha256": "0bzr6ba0h6jx4dgf3i54hqd8jr718fdm88szv32jdhsnigy9ix53", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFzdXMgUk9HIE1hbmFnZXIgaXMgdXNlZnVsIGZvciBjb250cm9sbGluZyBtYW55IGFzcGVjdHMgb2YgdmFyaW91cyBBU1VTIGxhcHRvcHMuICBOZWVkIHRvIGluc3RhbGwgYXN1c2N0bCBkZXBlbmRlbmN5LiIsCiAgImdldHRleHQtZG9tYWluIjogInJvZy1tYW5hZ2VyIiwKICAibmFtZSI6ICJSb2cgQXN1cyBNYW5hZ2VyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnJvZ21hbmFnZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbGVqYW5kcm8tbW91cmFzL3JvZy1tYW5hZ2VyIiwKICAidXVpZCI6ICJyb2ctbWFuYWdlckByb2ciLAogICJ2ZXJzaW9uIjogMwp9"}}}
 ]
diff --git a/nixpkgs/pkgs/desktops/gnome/extensions/gsconnect/default.nix b/nixpkgs/pkgs/desktops/gnome/extensions/gsconnect/default.nix
index 96451d325bb0..37824495a188 100644
--- a/nixpkgs/pkgs/desktops/gnome/extensions/gsconnect/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/extensions/gsconnect/default.nix
@@ -19,7 +19,7 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-extension-gsconnect";
-  version = "46";
+  version = "47";
 
   outputs = [ "out" "installedTests" ];
 
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     owner = "andyholmes";
     repo = "gnome-shell-extension-gsconnect";
     rev = "v${version}";
-    sha256 = "161379kipr6z6gbhchb5b17djrkg5fbvblyyabzkc2gv05r3h6fw";
+    sha256 = "sha256-cpyB7ufjKTj7YVbPlQFJ4qaL6Rb/aBReKxCYzErT4+Q=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/desktops/gnome/games/gnome-sudoku/default.nix b/nixpkgs/pkgs/desktops/gnome/games/gnome-sudoku/default.nix
index 3bd0ec3b3cdf..1431a6179493 100644
--- a/nixpkgs/pkgs/desktops/gnome/games/gnome-sudoku/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/games/gnome-sudoku/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-sudoku";
-  version = "40.1";
+  version = "40.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-sudoku/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "1nr1g4q1gxqbzmaz15y3zgssnj7w01cq9l422ja4rglyg0fwjhbm";
+    sha256 = "NhIFMePHE5WB6jgA+/48KzFpTEQBRezIl6w05WLXVKM=";
   };
 
   nativeBuildInputs = [ meson ninja vala pkg-config gobject-introspection gettext itstool libxml2 python3 desktop-file-utils wrapGAppsHook ];
diff --git a/nixpkgs/pkgs/desktops/gnome/games/tali/default.nix b/nixpkgs/pkgs/desktops/gnome/games/tali/default.nix
index 0212aebd8c5b..9399561e6784 100644
--- a/nixpkgs/pkgs/desktops/gnome/games/tali/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/games/tali/default.nix
@@ -20,11 +20,11 @@
 
 stdenv.mkDerivation rec {
   pname = "tali";
-  version = "40.1";
+  version = "40.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/tali/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "1xhp30c70bi8p4sm6v8zmxi1p55fs56dqgfbhfnsda5g1cxwir7h";
+    sha256 = "9SHsnW1SKA/Pfi1IerbVqIw54yx6n5XrqwKdUsAj4Cs=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/gnome/misc/gnome-autoar/default.nix b/nixpkgs/pkgs/desktops/gnome/misc/gnome-autoar/default.nix
index 8a74c05dfea2..2afb401bef45 100644
--- a/nixpkgs/pkgs/desktops/gnome/misc/gnome-autoar/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/misc/gnome-autoar/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-autoar";
-  version = "0.3.2";
+  version = "0.3.3";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-autoar/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0wkwix44yg126xn1v4f2j60bv9yiyadfpzf8ifx0bvd9x5f4v354";
+    sha256 = "JyQA9zo3Wn6I/fHhJZG/uPPwPt8BeAytzXT3C2E+XAQ=";
   };
 
   passthru = {
diff --git a/nixpkgs/pkgs/desktops/mate/atril/default.nix b/nixpkgs/pkgs/desktops/mate/atril/default.nix
index 7e8afde588c6..81c5bdcd78ec 100644
--- a/nixpkgs/pkgs/desktops/mate/atril/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/atril/default.nix
@@ -24,11 +24,11 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "atril";
-  version = "1.24.1";
+  version = "1.26.0";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "06nyicj96dqcv035yqnzmm6pk3m35glxj0ny6lk1vwqkk2l750xl";
+    sha256 = "0pz44k3axhjhhwfrfvnwvxak1dmjkwqs63rhrbcaagyymrp7cpki";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/mate/caja-dropbox/default.nix b/nixpkgs/pkgs/desktops/mate/caja-dropbox/default.nix
index 3b96f67b12a9..27bf56cf5160 100644
--- a/nixpkgs/pkgs/desktops/mate/caja-dropbox/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/caja-dropbox/default.nix
@@ -7,11 +7,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "caja-dropbox";
-  version = "1.24.0";
+  version = "1.26.0";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1rcn82q58mv9hn5xamvzay2pw1szfk6zns94362476fcp786lji2";
+    sha256 = "16w4r0zjps12lmzwiwpb9qnmbvd0p391q97296sxa8k88b1x14wn";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/desktops/mate/caja-extensions/default.nix b/nixpkgs/pkgs/desktops/mate/caja-extensions/default.nix
index 5c08074f0450..0b21f2721dba 100644
--- a/nixpkgs/pkgs/desktops/mate/caja-extensions/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/caja-extensions/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "caja-extensions";
-  version = "1.24.1";
+  version = "1.26.0";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "13jkynanqj8snys0if8lv6yx1y0jrm778s2152n4x65hsghc6cw5";
+    sha256 = "03zwv3yl5553cnp6jjn7vr4l28dcdhsap7qimlrbvy20119kj5gh";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/mate/caja/caja-extension-dirs.patch b/nixpkgs/pkgs/desktops/mate/caja/caja-extension-dirs.patch
deleted file mode 100644
index 0b1453bd4689..000000000000
--- a/nixpkgs/pkgs/desktops/mate/caja/caja-extension-dirs.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 35e9e6a6f3ba6cbe62a3957044eb67864f5d8e66 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= <malaquias@gmail.com>
-Date: Tue, 11 Feb 2020 17:49:13 -0300
-Subject: [PATCH] Look for caja extentions at $CAJA_EXTENTSION_DIRS
-
-CAJA_EXTENSION_DIRS is a list of paths where caja extensions are
-looked for. It is needed for distributions like NixOS that do not
-install all extensions in the same directory. In NixOS each package is
-installed in a self contained directory.
----
- libcaja-private/caja-module.c | 14 ++++++++++++++
- 1 file changed, 14 insertions(+)
-
-diff --git a/libcaja-private/caja-module.c b/libcaja-private/caja-module.c
-index d54d7cf..9794e56 100644
---- a/libcaja-private/caja-module.c
-+++ b/libcaja-private/caja-module.c
-@@ -258,11 +258,25 @@ void
- caja_module_setup (void)
- {
-     static gboolean initialized = FALSE;
-+    gchar *caja_extension_dirs;
-+    gchar **dir_vector;
- 
-     if (!initialized)
-     {
-         initialized = TRUE;
- 
-+        caja_extension_dirs = (gchar *) g_getenv ("CAJA_EXTENSION_DIRS");
-+
-+        if (caja_extension_dirs)
-+        {
-+            dir_vector = g_strsplit (caja_extension_dirs, G_SEARCHPATH_SEPARATOR_S, 0);
-+
-+            for (gchar **dir = dir_vector; *dir != NULL; ++ dir)
-+                load_module_dir (*dir);
-+
-+            g_strfreev(dir_vector);
-+        }
-+
-         load_module_dir (CAJA_EXTENSIONDIR);
- 
-         eel_debug_call_at_shutdown (free_module_objects);
--- 
-2.25.0
-
diff --git a/nixpkgs/pkgs/desktops/mate/caja/default.nix b/nixpkgs/pkgs/desktops/mate/caja/default.nix
index c533f78849cc..65d6e1a21ebc 100644
--- a/nixpkgs/pkgs/desktops/mate/caja/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/caja/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "caja";
-  version = "1.24.1";
+  version = "1.26.0";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0ylgb4b31vwgqmmknrhm4m9gfa1rzb9azpdd9myi0hscrr3h22z5";
+    sha256 = "1m0ai2r8b2mvlr8bqj9n6vg1pwzlwa46fqpq206wgyx5sgxac052";
   };
 
   nativeBuildInputs = [
@@ -25,10 +25,6 @@ stdenv.mkDerivation rec {
     hicolor-icon-theme
   ];
 
-  patches = [
-    ./caja-extension-dirs.patch
-  ];
-
   configureFlags = [ "--disable-update-mimedb" ];
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/desktops/mate/default.nix b/nixpkgs/pkgs/desktops/mate/default.nix
index 291d26afcd5c..e9822f0242d6 100644
--- a/nixpkgs/pkgs/desktops/mate/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/default.nix
@@ -52,7 +52,7 @@ let
     mate-user-share = callPackage ./mate-user-share { };
     mate-utils = callPackage ./mate-utils { };
     mozo = callPackage ./mozo { };
-    pluma = callPackage ./pluma { };
+    pluma = callPackage ./pluma { inherit (pkgs.gnome) adwaita-icon-theme; };
     python-caja = callPackage ./python-caja { };
 
     basePackages = [
diff --git a/nixpkgs/pkgs/desktops/mate/engrampa/default.nix b/nixpkgs/pkgs/desktops/mate/engrampa/default.nix
index 81d34b8b1259..b9627dae02ca 100644
--- a/nixpkgs/pkgs/desktops/mate/engrampa/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/engrampa/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "engrampa";
-  version = "1.24.2";
+  version = "1.26.0";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0x26djz73g3fjwzcpr7k60xb6qx5izhw7lf2ggn34iwpihl0sa7f";
+    sha256 = "1qsy0ynhj1v0kyn3g3yf62g31rwxmpglfh9xh0w5lc9j5k1b5kcp";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/mate/eom/default.nix b/nixpkgs/pkgs/desktops/mate/eom/default.nix
index 27c120796541..7947247bf1c6 100644
--- a/nixpkgs/pkgs/desktops/mate/eom/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/eom/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "eom";
-  version = "1.24.2";
+  version = "1.26.0";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "08rjckr1hdw7c31f2hzz3vq0rn0c5z3hmvl409y6k6ns583k1bgf";
+    sha256 = "1nv7q0yw11grgxr5lyvll0f7fl823kpjp05z81bwgnvd76m6kw97";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/mate/libmatekbd/default.nix b/nixpkgs/pkgs/desktops/mate/libmatekbd/default.nix
index 8d0b567f1615..967e223f2b0e 100644
--- a/nixpkgs/pkgs/desktops/mate/libmatekbd/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/libmatekbd/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libmatekbd";
-  version = "1.24.1";
+  version = "1.26.0";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "17mcxfkvl14p04id3n5kbhpjwjq00c8wmbyciyy2hm7kwdln6zx8";
+    sha256 = "1b8iv2hmy8z2zzdsx8j5g583ddxh178bq8dnlqng9ifbn35fh3i2";
   };
 
   nativeBuildInputs = [ pkg-config gettext ];
diff --git a/nixpkgs/pkgs/desktops/mate/libmatemixer/default.nix b/nixpkgs/pkgs/desktops/mate/libmatemixer/default.nix
index 4fe73fadbc4a..2824c958de2f 100644
--- a/nixpkgs/pkgs/desktops/mate/libmatemixer/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/libmatemixer/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libmatemixer";
-  version = "1.24.1";
+  version = "1.26.0";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1n6rq7k66zvfd6sb7h92xihh021w9hysfa4yd1mzjcbb7c62ybqx";
+    sha256 = "1wcz4ppg696m31f5x7rkyvxxdriik2vprsr83b4wbs97bdhcr6ws";
   };
 
   nativeBuildInputs = [ pkg-config gettext ];
diff --git a/nixpkgs/pkgs/desktops/mate/libmateweather/default.nix b/nixpkgs/pkgs/desktops/mate/libmateweather/default.nix
index b042df0fe1ae..b325de3b3c02 100644
--- a/nixpkgs/pkgs/desktops/mate/libmateweather/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/libmateweather/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libmateweather";
-  version = "1.24.1";
+  version = "1.26.0";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "02d7c59pami1fzxg73mp6risa9hvsdpgs68f62wkg09nrppzsk4v";
+    sha256 = "05bvc220p135l6qnhh3qskljxffds0f7fjbjnrpq524w149rgzd7";
   };
 
   nativeBuildInputs = [ pkg-config gettext ];
diff --git a/nixpkgs/pkgs/desktops/mate/marco/default.nix b/nixpkgs/pkgs/desktops/mate/marco/default.nix
index 8c6df49fd127..e7e6547284db 100644
--- a/nixpkgs/pkgs/desktops/mate/marco/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/marco/default.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, fetchurl, pkg-config, gettext, itstool, libxml2, libcanberra-gtk3, libgtop
-, libXdamage, libXpresent, libstartup_notification, gnome, gtk3, mate-settings-daemon, wrapGAppsHook, mateUpdateScript }:
+, libXdamage, libXpresent, libstartup_notification, gnome, glib, gtk3, mate-settings-daemon, wrapGAppsHook, mateUpdateScript }:
 
 stdenv.mkDerivation rec {
   pname = "marco";
-  version = "1.24.2";
+  version = "1.26.0";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "19s2y2s9immp86ni3395mgxl605m2wn10m8399y9qkgw2b5m10s9";
+    sha256 = "01avxrg2fc6grfrp6hl8b0im4scy9xf6011swfrhli87ig6hhg7n";
   };
 
   nativeBuildInputs = [
@@ -29,6 +29,8 @@ stdenv.mkDerivation rec {
     mate-settings-daemon
   ];
 
+  NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
+
   enableParallelBuilding = true;
 
   passthru.updateScript = mateUpdateScript { inherit pname version; };
diff --git a/nixpkgs/pkgs/desktops/mate/mate-applets/default.nix b/nixpkgs/pkgs/desktops/mate/mate-applets/default.nix
index 3a34d7af7157..f06db0adc1be 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-applets/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-applets/default.nix
@@ -1,37 +1,39 @@
-{ lib, stdenv, fetchurl, pkg-config, gettext, itstool, gnome, glib, gtk3, gtksourceview3, libwnck
-, libgtop, libxml2, libnotify, polkit, upower, wirelesstools, mate, hicolor-icon-theme, wrapGAppsHook
-, mateUpdateScript }:
+{ lib, stdenv, fetchurl, pkg-config, gettext, itstool, dbus-glib, glib, gtk3, gtksourceview3
+, gucharmap, libmateweather, libnl, libwnck, libgtop, libxml2, libnotify, mate-panel, polkit
+, upower, wirelesstools, mate, hicolor-icon-theme, wrapGAppsHook, mateUpdateScript }:
 
 stdenv.mkDerivation rec {
   pname = "mate-applets";
-  version = "1.24.1";
+  version = "1.26.0";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0h70i4x3bk017pgv4zn280682wm58vwdjm7kni91ni8rmblnnvyp";
+    sha256 = "0xy9dwiqvmimqshbfq80jxq65aznlgx491lqq8rl4x8c9sdl7q5p";
   };
 
   nativeBuildInputs = [
-    pkg-config
     gettext
     itstool
+    pkg-config
     wrapGAppsHook
   ];
 
   buildInputs = [
+    dbus-glib
     gtk3
     gtksourceview3
-    gnome.gucharmap
-    libwnck
+    gucharmap
+    hicolor-icon-theme
     libgtop
-    libxml2
+    libmateweather
+    libnl
     libnotify
+    libwnck
+    libxml2
+    mate-panel
     polkit
     upower
     wirelesstools
-    mate.libmateweather
-    mate.mate-panel
-    hicolor-icon-theme
   ];
 
   configureFlags = [ "--enable-suid=no" ];
diff --git a/nixpkgs/pkgs/desktops/mate/mate-backgrounds/default.nix b/nixpkgs/pkgs/desktops/mate/mate-backgrounds/default.nix
index cfe1325b839f..3fa6f37b2a1f 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-backgrounds/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-backgrounds/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mate-backgrounds";
-  version = "1.24.2";
+  version = "1.26.0";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1ixb2vlm3dr52ibp4ggrbkf38m3q6i5lxjg4ix82gxbb6h6a3gp5";
+    sha256 = "0379hngy3ap1r5kmqvmzs9r710k2c9nal2ps3hq765df4ir15j8d";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/mate/mate-calc/default.nix b/nixpkgs/pkgs/desktops/mate/mate-calc/default.nix
index a3e8d3b5951d..4344e970758c 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-calc/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-calc/default.nix
@@ -1,24 +1,26 @@
-{ lib, stdenv, fetchurl, pkg-config, gettext, itstool, gtk3, libxml2, wrapGAppsHook, mateUpdateScript }:
+{ lib, stdenv, fetchurl, pkg-config, gettext, itstool, gtk3, libmpc, libxml2, mpfr, wrapGAppsHook, mateUpdateScript }:
 
 stdenv.mkDerivation rec {
   pname = "mate-calc";
-  version = "1.24.2";
+  version = "1.26.0";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1yg8j0dqy37fljd20pwxdgna3f1v7k9wmdr9l4r1nqf4a7zwi96l";
+    sha256 = "0mddfh9ixhh60nfgx5kcprcl9liavwqyina11q3pnpfs3n02df3y";
   };
 
   nativeBuildInputs = [
-    pkg-config
     gettext
     itstool
+    pkg-config
     wrapGAppsHook
   ];
 
   buildInputs = [
     gtk3
+    libmpc
     libxml2
+    mpfr
   ];
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/desktops/mate/mate-common/default.nix b/nixpkgs/pkgs/desktops/mate/mate-common/default.nix
index 58314df673ab..159fb75426ab 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-common/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-common/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mate-common";
-  version = "1.24.2";
+  version = "1.26.0";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0srb2ly5pjq1g0cs8m39nbfv33dvsc2j4g2gw081xis3awzh3lki";
+    sha256 = "014wpfqpqmfkzv81paap4fz15mj1gsyvaxlrfqsp9a3yxw4f7jaf";
   };
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/desktops/mate/mate-control-center/default.nix b/nixpkgs/pkgs/desktops/mate/mate-control-center/default.nix
index b94e7ecfd06d..9c1186a692ea 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-control-center/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-control-center/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mate-control-center";
-  version = "1.24.2";
+  version = "1.26.0";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "18vsqkcl4n3k5aa05fqha61jc3133zw07gd604sm0krslwrwdn39";
+    sha256 = "0jhkn0vaz8glji4j5ar6im8l2wf40kssl07gfkz40rcgfzm18rr8";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/mate/mate-desktop/default.nix b/nixpkgs/pkgs/desktops/mate/mate-desktop/default.nix
index 62e0b5b3195b..19ad26656f21 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-desktop/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-desktop/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mate-desktop";
-  version = "1.24.1";
+  version = "1.26.0";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1nd1dn8mm1z6x4r68a25q4vzys1a6fmbzc94ss1z1n1872pczs6i";
+    sha256 = "18sj8smf0b998m5qvki37hxg0agcx7wmgz9z7cwv6v48i2dnnz2z";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/mate/mate-icon-theme/default.nix b/nixpkgs/pkgs/desktops/mate/mate-icon-theme/default.nix
index cf18cf528f28..0e4fc7f0c30d 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-icon-theme/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-icon-theme/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mate-icon-theme";
-  version = "1.24.0";
+  version = "1.26.0";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0a2lz61ivwwcdznmwlmgjr6ipr9sdl5g2czbagnpxkwz8f3m77na";
+    sha256 = "0nha555fhhn0j5wmzmdc7bh93ckzwwdm8mwmzma5whkzslv09xa1";
   };
 
   nativeBuildInputs = [ pkg-config gettext iconnamingutils ];
diff --git a/nixpkgs/pkgs/desktops/mate/mate-indicator-applet/default.nix b/nixpkgs/pkgs/desktops/mate/mate-indicator-applet/default.nix
index 804bf2352d08..3cf2ac9b4c34 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-indicator-applet/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-indicator-applet/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mate-indicator-applet";
-  version = "1.24.0";
+  version = "1.26.0";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0m7pvbs5hhy5f400wqb8wp0dw3pyjpjnjax9qzc73j97l1k3zawf";
+    sha256 = "144fh9f3lag2cqnmb6zxlh8k83ya8kha6rmd7r8gg3z5w3nzpyz4";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/mate/mate-media/default.nix b/nixpkgs/pkgs/desktops/mate/mate-media/default.nix
index 6072e81fb3cc..c4e9a9d5b0c2 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-media/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-media/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mate-media";
-  version = "1.24.1";
+  version = "1.26.0";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "118i4w2i2g3hfgbfn3hjzjkfq8vjj6049r7my3vna9js23b7ab92";
+    sha256 = "0fiwzsir8i1bqz7g7b20g5zs28qq63j41v9c5z69q8fq7wh1nwwb";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/desktops/mate/mate-menus/default.nix b/nixpkgs/pkgs/desktops/mate/mate-menus/default.nix
index 5b11c20380a8..33f437446532 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-menus/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-menus/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mate-menus";
-  version = "1.24.1";
+  version = "1.26.0";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "17zc9fn14jykhn30z8iwlw0qwk32ivj6gxgww3xrqvqk0da5yaas";
+    sha256 = "1r7zf64aclaplz77hkl9kq0xnz6jk1l49z64i8v56c41pm59c283";
   };
 
   nativeBuildInputs = [ pkg-config gettext gobject-introspection ];
diff --git a/nixpkgs/pkgs/desktops/mate/mate-netbook/default.nix b/nixpkgs/pkgs/desktops/mate/mate-netbook/default.nix
index de452f456a2c..f4908906ff95 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-netbook/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-netbook/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mate-netbook";
-  version = "1.24.0";
+  version = "1.26.0";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1bmk9gq5gcqkvfppa7i1hqfph8sajc3xs189s4ha97g0ifwd98a8";
+    sha256 = "12gdy69nfysl8vmd8lv8b0lknkaagplrrz88nh6n0rmjkxnipgz3";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/mate/mate-notification-daemon/default.nix b/nixpkgs/pkgs/desktops/mate/mate-notification-daemon/default.nix
index ac5e5376a8e7..8bc730032f6e 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-notification-daemon/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-notification-daemon/default.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, fetchurl, pkg-config, gettext, glib, libcanberra-gtk3,
-  libnotify, libwnck, gtk3, libxml2, wrapGAppsHook, mateUpdateScript }:
+  libnotify, libwnck, gtk3, libxml2, mate-desktop, mate-panel, wrapGAppsHook, mateUpdateScript }:
 
 stdenv.mkDerivation rec {
   pname = "mate-notification-daemon";
-  version = "1.24.2";
+  version = "1.26.0";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "02mf9186cbziyvz7ycb0j9b7rn085a7f9hrm03n28q5kz0z1k92q";
+    sha256 = "1fmr6hlcy2invp2yxqfqgpdx1dp4qa8xskjq2rm6v4gmz20nag5j";
   };
 
   nativeBuildInputs = [
@@ -22,6 +22,8 @@ stdenv.mkDerivation rec {
     libnotify
     libwnck
     gtk3
+    mate-desktop
+    mate-panel
   ];
 
   NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
diff --git a/nixpkgs/pkgs/desktops/mate/mate-panel/default.nix b/nixpkgs/pkgs/desktops/mate/mate-panel/default.nix
index cd73408d4c80..d0e54bab5850 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-panel/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-panel/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mate-panel";
-  version = "1.24.2";
+  version = "1.26.0";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1sj851h71nq4ssrsd4k5b0vayxmspl5x3rhf488b2xpcj81vmi9h";
+    sha256 = "0r7a8wy9p2x6r0c4qaa81qhhjc080rxnc6fznz7i6fkv2z91wbh9";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/mate/mate-polkit/default.nix b/nixpkgs/pkgs/desktops/mate/mate-polkit/default.nix
index 174e2e466248..8ec813ce833d 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-polkit/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-polkit/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mate-polkit";
-  version = "1.24.0";
+  version = "1.26.0";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1450bqzlnvwy3xa98lj102j2cf7piqbxcd1cy2zp41rdl8ri3gvn";
+    sha256 = "0kkjv025l1l8352m5ky1g7hmk7isgi3dnfnh7sqg9pyhml97i9dd";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/mate/mate-power-manager/default.nix b/nixpkgs/pkgs/desktops/mate/mate-power-manager/default.nix
index fd7b19e1de37..c7b6690d2e3c 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-power-manager/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-power-manager/default.nix
@@ -1,12 +1,12 @@
-{ lib, stdenv, fetchurl, pkg-config, gettext, glib, itstool, libxml2, mate-panel, libnotify, libcanberra-gtk3, dbus-glib, upower, gnome, gtk3, libtool, polkit, wrapGAppsHook, mateUpdateScript }:
+{ lib, stdenv, fetchurl, pkg-config, gettext, glib, itstool, libxml2, mate-panel, libnotify, libcanberra-gtk3, libsecret, dbus-glib, upower, gtk3, libtool, polkit, wrapGAppsHook, mateUpdateScript }:
 
 stdenv.mkDerivation rec {
   pname = "mate-power-manager";
-  version = "1.24.3";
+  version = "1.26.0";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1rmcrpii3hl35qjznk6h5cq72n60cs12n294hjyakxr9kvgns7l6";
+    sha256 = "0ybvwv24g8awxjl2asgvx6l2ghn4limcm48ylha68dkpy3607di6";
   };
 
   nativeBuildInputs = [
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
      libxml2
      libcanberra-gtk3
      gtk3
-     gnome.libgnome-keyring
+     libsecret
      libnotify
      dbus-glib
      upower
diff --git a/nixpkgs/pkgs/desktops/mate/mate-screensaver/default.nix b/nixpkgs/pkgs/desktops/mate/mate-screensaver/default.nix
index f132bbcd26df..b87ec4b68d08 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-screensaver/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-screensaver/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mate-screensaver";
-  version = "1.24.2";
+  version = "1.26.0";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "18hxhglryfcbpbns9izigiws7lvdv5dnsaaz226ih3aar5db1ysy";
+    sha256 = "0xmgzrb5nk7x6ganf7jd4gmdafanx7f0znga0lhsd8kd40r40la1";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/mate/mate-sensors-applet/default.nix b/nixpkgs/pkgs/desktops/mate/mate-sensors-applet/default.nix
index 849f767c7c20..7e77f898051d 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-sensors-applet/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-sensors-applet/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mate-sensors-applet";
-  version = "1.24.1";
+  version = "1.26.0";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1nb4fy3mcymv7pmnc0czpxgp1sqvs533jwnqv1b5cqby415ljb16";
+    sha256 = "0s19r30fsicqvvcnz57lv158pi35w9zn5i7h5hz59224y0zpqhsc";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/mate/mate-session-manager/default.nix b/nixpkgs/pkgs/desktops/mate/mate-session-manager/default.nix
index f790b0f65dc3..152ecf572d78 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-session-manager/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-session-manager/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mate-session-manager";
-  version = "1.24.3";
+  version = "1.26.0";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "18mhv8dq18hvx28gi88c9499s3s1nsq55m64sas8fqlvnp2sx84h";
+    sha256 = "05hqi8wlwjr07mp5njhp7h06mgnv98zsxaxkmxc5w3iwb3va45ar";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/desktops/mate/mate-settings-daemon/default.nix b/nixpkgs/pkgs/desktops/mate/mate-settings-daemon/default.nix
index 6c35a1d63120..3ece77dc08c4 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-settings-daemon/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-settings-daemon/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mate-settings-daemon";
-  version = "1.24.2";
+  version = "1.26.0";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "051r7xrx1byllsszbwsk646sq4izyag9yxg8jw2rm6x6mgwb89cc";
+    sha256 = "0hbdwqagxh1mdpxfdqr1ps3yqvk0v0c5zm0bwk56y6l1zwbs0ymp";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/mate/mate-system-monitor/default.nix b/nixpkgs/pkgs/desktops/mate/mate-system-monitor/default.nix
index fed7dc12629c..d94695ac80a4 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-system-monitor/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-system-monitor/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mate-system-monitor";
-  version = "1.24.2";
+  version = "1.26.0";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1mbny5hs5805398krvcsvi1jfhyq9a9dfciyrnis67n2yisr1hzp";
+    sha256 = "13rkrk7c326ng8164aqfp6i7334n7zrmbg61ncpjprbrvlx2qiw3";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/mate/mate-terminal/default.nix b/nixpkgs/pkgs/desktops/mate/mate-terminal/default.nix
index 2c4d4223eccc..ed7ba49c18fe 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-terminal/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-terminal/default.nix
@@ -1,39 +1,35 @@
-{ lib, stdenv, fetchurl, pkg-config, gettext, glib, itstool, libxml2, mate, dconf, gtk3, vte, pcre2, wrapGAppsHook, mateUpdateScript }:
+{ lib, stdenv, fetchurl, pkg-config, gettext, itstool, libxml2, mate-desktop, dconf, vte, pcre2, wrapGAppsHook, mateUpdateScript }:
 
 stdenv.mkDerivation rec {
   pname = "mate-terminal";
-  version = "1.24.1";
+  version = "1.26.0";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0qmyhxmarwkxad8k1m9q1iwx70zhfp6zc2mh74nv26nj4gr3h3am";
+    sha256 = "08mgxbviik2dwwnbclp0518wlag2fhcr6c2yadgcbhwiq4aff9vp";
   };
 
-  buildInputs = [
-     glib
-     itstool
-     libxml2
-
-     mate.mate-desktop
-
-     vte
-     gtk3
-     dconf
-     pcre2
-  ];
-
   nativeBuildInputs = [
-    pkg-config
     gettext
+    itstool
+    pkg-config
     wrapGAppsHook
   ];
 
+  buildInputs = [
+    dconf
+    libxml2
+    mate-desktop
+    pcre2
+    vte
+  ];
+
   enableParallelBuilding = true;
 
   passthru.updateScript = mateUpdateScript { inherit pname version; };
 
   meta = with lib; {
-    description = "The MATE Terminal Emulator";
+    description = "MATE desktop terminal emulator";
     homepage = "https://mate-desktop.org";
     license = licenses.gpl3Plus;
     platforms = platforms.unix;
diff --git a/nixpkgs/pkgs/desktops/mate/mate-user-guide/default.nix b/nixpkgs/pkgs/desktops/mate/mate-user-guide/default.nix
index d7c83cc98209..8a5aadb936db 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-user-guide/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-user-guide/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mate-user-guide";
-  version = "1.24.0";
+  version = "1.26.0";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0ddxya84iydvy85dbqls0wmz2rph87wri3rsdhv4rkbhh5g4sd7f";
+    sha256 = "1h620ngryqc4m8ybvc92ba8404djnm0l65f34mlw38g9ad8d9085";
   };
 
   nativeBuildInputs = [ itstool gettext libxml2 ];
diff --git a/nixpkgs/pkgs/desktops/mate/mate-user-share/default.nix b/nixpkgs/pkgs/desktops/mate/mate-user-share/default.nix
index 1126e5851352..9907552f3c07 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-user-share/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-user-share/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mate-user-share";
-  version = "1.24.0";
+  version = "1.26.0";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1h4aabcby96nsg557brzzb0an1qvnawhim2rinzlzg4fhkvdfnr5";
+    sha256 = "1wh0b4qw5wzpl7sg44lpwjb9r6xllch3xfz8c2cchl8rcgbh2kph";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/mate/mate-utils/default.nix b/nixpkgs/pkgs/desktops/mate/mate-utils/default.nix
index 0b7b181bd576..6801368dc43c 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-utils/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-utils/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mate-utils";
-  version = "1.24.0";
+  version = "1.26.0";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1b16n1628gcsym5mph6lr9x5xm4rgkxsa8xwr2wlx8g2gw2775i1";
+    sha256 = "0bkqj8qwwml9xyvb680yy06lv3dzwkv89yrzz5jamvz88ar6m9bw";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/mate/mozo/default.nix b/nixpkgs/pkgs/desktops/mate/mozo/default.nix
index 4122e8231654..037989083bc3 100644
--- a/nixpkgs/pkgs/desktops/mate/mozo/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mozo/default.nix
@@ -2,14 +2,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "mozo";
-  version = "1.24.1";
+  version = "1.26.0";
 
   format = "other";
   doCheck = false;
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "14ps43gdh1sfvq49yhl58gxq3rc0d25i2d7r4ghlzf07ssxl53b0";
+    sha256 = "1hnxqdk69g7j809k6picgq8y626hnyznlzxd0pi743gshpwwnhj6";
   };
 
   nativeBuildInputs = [ pkg-config gettext gobject-introspection wrapGAppsHook ];
diff --git a/nixpkgs/pkgs/desktops/mate/pluma/default.nix b/nixpkgs/pkgs/desktops/mate/pluma/default.nix
index 5e226f4d8869..9eb0f9283be7 100644
--- a/nixpkgs/pkgs/desktops/mate/pluma/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/pluma/default.nix
@@ -1,32 +1,32 @@
 { lib, stdenv, fetchurl, pkg-config, gettext, perl, itstool, isocodes, enchant, libxml2, python3
-, gnome, gtksourceview3, libpeas, mate, wrapGAppsHook, mateUpdateScript }:
+, adwaita-icon-theme, gtksourceview4, libpeas, mate-desktop, wrapGAppsHook, mateUpdateScript }:
 
 stdenv.mkDerivation rec {
   pname = "pluma";
-  version = "1.24.2";
+  version = "1.26.0";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "183frfhll3sb4r12p24160j1c1cfd102nlp5rrwvyv5qqm7i2fg4";
+    sha256 = "0lway12q2xygiwjgrx7chgka838jbnmlzz98g7agag1rwzd481ii";
   };
 
   nativeBuildInputs = [
-    pkg-config
     gettext
-    perl
-    itstool
     isocodes
+    itstool
+    perl
+    pkg-config
     wrapGAppsHook
   ];
 
   buildInputs = [
+    adwaita-icon-theme
     enchant
+    gtksourceview4
+    libpeas
     libxml2
+    mate-desktop
     python3
-    gtksourceview3
-    libpeas
-    gnome.adwaita-icon-theme
-    mate.mate-desktop
   ];
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/desktops/mate/python-caja/default.nix b/nixpkgs/pkgs/desktops/mate/python-caja/default.nix
index 8104da3420e1..ccee7b046887 100644
--- a/nixpkgs/pkgs/desktops/mate/python-caja/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/python-caja/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "python-caja";
-  version = "1.24.0";
+  version = "1.26.0";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1wp61q64cgzr3syd3niclj6rjk87wlib5m86i0myf5ph704r3qgg";
+    sha256 = "181zcs1pi3762chm4xraqs8048jm7jzwnvgwla1v3z2nqzpp3xr1";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/appcenter/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/appcenter/default.nix
index a3e75d231f19..556b67aeafe8 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/appcenter/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/appcenter/default.nix
@@ -7,7 +7,6 @@
 , elementary-gtk-theme
 , elementary-icon-theme
 , fetchFromGitHub
-, fetchpatch
 , flatpak
 , gettext
 , glib
@@ -15,6 +14,7 @@
 , gtk3
 , json-glib
 , libgee
+, libhandy
 , libsoup
 , libxml2
 , meson
@@ -25,30 +25,20 @@
 , python3
 , vala
 , polkit
-, libhandy_0
 , wrapGAppsHook
 }:
 
 stdenv.mkDerivation rec {
   pname = "appcenter";
-  version = "3.5.1";
+  version = "3.6.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "MsaXdmL+M+NYAJrrwluleeNxqQg0soFbO/G/FqibBFI=";
+    sha256 = "0kwqgilhyrj2nbvw5y34nzch5h9jnrg1a1n333qdsx4ax6yrxh4j";
   };
 
-  patches = [
-    # Allow build with appstream 0.14.x
-    # https://github.com/elementary/appcenter/pull/1493
-    (fetchpatch {
-      url = "https://github.com/elementary/appcenter/commit/5807dd13fe3c715f26225aed8d7a0abdea0c2a64.patch";
-      sha256 = "BvEahG9lU9ZdgooFDFhm5evRvnKVcmcHLdmZPb85gbo=";
-    })
-  ];
-
   passthru = {
     updateScript = nix-update-script {
       attrPath = "pantheon.${pname}";
@@ -78,7 +68,7 @@ stdenv.mkDerivation rec {
     gtk3
     json-glib
     libgee
-    libhandy_0 # doesn't support libhandy-1 yet
+    libhandy
     libsoup
     libxml2
     packagekit
diff --git a/nixpkgs/pkgs/desktops/pantheon/default.nix b/nixpkgs/pkgs/desktops/pantheon/default.nix
index 5ff368a642ed..dc1245e1b156 100644
--- a/nixpkgs/pkgs/desktops/pantheon/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/default.nix
@@ -23,7 +23,7 @@ lib.makeScope pkgs.newScope (self: with self; {
     wingpanel-indicator-session wingpanel-indicator-sound
   ];
 
-  maintainers = with pkgs.lib.maintainers; [ ];
+  maintainers = lib.teams.pantheon.members;
 
   mutter = pkgs.gnome.mutter334;
 
diff --git a/nixpkgs/pkgs/desktops/pantheon/granite/default.nix b/nixpkgs/pkgs/desktops/pantheon/granite/default.nix
index 2397dd8ffcf5..7f3a6dc0983e 100644
--- a/nixpkgs/pkgs/desktops/pantheon/granite/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/granite/default.nix
@@ -46,16 +46,13 @@ stdenv.mkDerivation rec {
     wrapGAppsHook
   ];
 
-  buildInputs = [
+  propagatedBuildInputs = [
     glib
+    gsettings-desktop-schemas # is_clock_format_12h uses "org.gnome.desktop.interface clock-format"
     gtk3
     libgee
   ];
 
-  propagatedBuildInputs = [
-    gsettings-desktop-schemas # is_clock_format_12h uses "org.gnome.desktop.interface clock-format"
-  ];
-
   postPatch = ''
     chmod +x meson/post_install.py
     patchShebangs meson/post_install.py
diff --git a/nixpkgs/pkgs/desktops/plasma-5/3rdparty/addons/krunner-symbols.nix b/nixpkgs/pkgs/desktops/plasma-5/3rdparty/addons/krunner-symbols.nix
index 7a0b61622570..5255bb4b0501 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/3rdparty/addons/krunner-symbols.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/3rdparty/addons/krunner-symbols.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "A little krunner plugin (Plasma 5) to retrieve unicode symbols, or any other string, based on a corresponding keyword";
     homepage = "https://github.com/domschrei/krunner-symbols";
-    license = licenses.gpl3Only;
+    license = licenses.gpl3Plus;
     maintainers = with maintainers; [ hqurve ];
     platforms = platforms.linux;
   };
diff --git a/nixpkgs/pkgs/desktops/plasma-5/default.nix b/nixpkgs/pkgs/desktops/plasma-5/default.nix
index 9252aa7b39ba..7e1bb2b1092b 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/default.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/default.nix
@@ -123,12 +123,14 @@ let
       kscreen = callPackage ./kscreen.nix {};
       kscreenlocker = callPackage ./kscreenlocker.nix {};
       ksshaskpass = callPackage ./ksshaskpass.nix {};
-      ksysguard = callPackage ./ksysguard.nix {};
+      ksysguard = throw "ksysguard has been replaced with plasma-systemmonitor";
+      ksystemstats = callPackage ./ksystemstats.nix {};
       kwallet-pam = callPackage ./kwallet-pam.nix {};
       kwayland-integration = callPackage ./kwayland-integration.nix {};
       kwayland-server = callPackage ./kwayland-server {};
       kwin = callPackage ./kwin {};
       kwrited = callPackage ./kwrited.nix {};
+      layer-shell-qt = callPackage ./layer-shell-qt.nix {};
       libkscreen = callPackage ./libkscreen {};
       libksysguard = callPackage ./libksysguard {};
       milou = callPackage ./milou.nix {};
diff --git a/nixpkgs/pkgs/desktops/plasma-5/fetch.sh b/nixpkgs/pkgs/desktops/plasma-5/fetch.sh
index f281e11544d2..db200b4cd1ea 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/fetch.sh
+++ b/nixpkgs/pkgs/desktops/plasma-5/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/plasma/5.21.5/ -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/plasma/5.22.4/ -A '*.tar.xz' )
diff --git a/nixpkgs/pkgs/desktops/plasma-5/kdeplasma-addons.nix b/nixpkgs/pkgs/desktops/plasma-5/kdeplasma-addons.nix
index 94cf73084bfa..77e3cad8d487 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/kdeplasma-addons.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/kdeplasma-addons.nix
@@ -2,7 +2,7 @@
   mkDerivation,
   extra-cmake-modules, kdoctools,
   kconfig, kconfigwidgets, kcoreaddons, kcmutils, kholidays,
-  kio, knewstuff, kpurpose, kross, krunner, kservice, ksysguard,
+  kio, knewstuff, kpurpose, kross, krunner, kservice,
   kunitconversion, ibus, plasma-framework, plasma-workspace, qtdeclarative,
   qtwebengine, qtx11extras
 }:
@@ -12,7 +12,7 @@ mkDerivation {
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
     kconfig kconfigwidgets kcoreaddons kcmutils kholidays kio
-    knewstuff kpurpose kross krunner kservice ksysguard kunitconversion ibus
+    knewstuff kpurpose kross krunner kservice kunitconversion ibus
     plasma-framework plasma-workspace qtdeclarative qtwebengine qtx11extras
   ];
 }
diff --git a/nixpkgs/pkgs/desktops/plasma-5/kscreenlocker.nix b/nixpkgs/pkgs/desktops/plasma-5/kscreenlocker.nix
index f9b8bb5cfc1d..e6c70f8e8cc2 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/kscreenlocker.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/kscreenlocker.nix
@@ -3,7 +3,7 @@
   extra-cmake-modules, kdoctools,
   kcmutils, kcrash, kdeclarative, kglobalaccel, kidletime,
   kwayland, libXcursor, pam, plasma-framework, qtbase, qtdeclarative, qtx11extras,
-  wayland,
+  wayland, layer-shell-qt,
 }:
 
 mkDerivation {
@@ -12,6 +12,7 @@ mkDerivation {
   buildInputs = [
     kcmutils kcrash kdeclarative kglobalaccel kidletime kwayland
     libXcursor pam plasma-framework qtdeclarative qtx11extras wayland
+    layer-shell-qt
   ];
   outputs = [ "out" "dev" ];
 }
diff --git a/nixpkgs/pkgs/desktops/plasma-5/ksysguard.nix b/nixpkgs/pkgs/desktops/plasma-5/ksysguard.nix
deleted file mode 100644
index 2c376b537503..000000000000
--- a/nixpkgs/pkgs/desktops/plasma-5/ksysguard.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{
-  mkDerivation, lib,
-  extra-cmake-modules, kdoctools,
-  libcap, libpcap, lm_sensors,
-  kconfig, kcoreaddons, ki18n, kiconthemes, kinit, kitemviews,
-  knewstuff, libksysguard, qtbase,
-  networkmanager-qt, libnl
-}:
-
-mkDerivation {
-  name = "ksysguard";
-  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
-  buildInputs = [
-    kconfig kcoreaddons kitemviews kinit kiconthemes knewstuff libksysguard
-    ki18n libcap libpcap lm_sensors networkmanager-qt libnl
-  ];
-}
diff --git a/nixpkgs/pkgs/desktops/plasma-5/ksystemstats.nix b/nixpkgs/pkgs/desktops/plasma-5/ksystemstats.nix
new file mode 100644
index 000000000000..f117872ce5c4
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/plasma-5/ksystemstats.nix
@@ -0,0 +1,11 @@
+{ mkDerivation, lib
+, extra-cmake-modules
+, libksysguard, libnl, lm_sensors, networkmanager-qt
+}:
+
+mkDerivation {
+  name = "ksystemstats";
+  NIX_CFLAGS_COMPILE = [ "-I${lib.getBin libksysguard}/share" ];
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ libksysguard libnl lm_sensors networkmanager-qt ];
+}
diff --git a/nixpkgs/pkgs/desktops/plasma-5/kwin/0001-NixOS-Unwrap-executable-name-for-.desktop-search.patch b/nixpkgs/pkgs/desktops/plasma-5/kwin/0001-NixOS-Unwrap-executable-name-for-.desktop-search.patch
index 7216f54b6c87..d273e262226f 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/kwin/0001-NixOS-Unwrap-executable-name-for-.desktop-search.patch
+++ b/nixpkgs/pkgs/desktops/plasma-5/kwin/0001-NixOS-Unwrap-executable-name-for-.desktop-search.patch
@@ -9,13 +9,13 @@ file in-use according to the kernel!
 
 Wrappers cannot affect the `/proc/.../exe` symlink!
 ---
- service_utils.h | 28 +++++++++++++++++++++++++++-
+ src/service_utils.h | 28 +++++++++++++++++++++++++++-
  1 file changed, 27 insertions(+), 1 deletion(-)
 
-diff --git a/service_utils.h b/service_utils.h
+diff --git a/src/service_utils.h b/src/service_utils.h
 index 8a70c1fad..6674f553b 100644
---- a/service_utils.h
-+++ b/service_utils.h
+--- a/src/service_utils.h
++++ b/src/service_utils.h
 @@ -26,8 +26,34 @@ namespace KWin
  const static QString s_waylandInterfaceName = QStringLiteral("X-KDE-Wayland-Interfaces");
  const static QString s_dbusRestrictedInterfaceName = QStringLiteral("X-KDE-DBUS-Restricted-Interfaces");
diff --git a/nixpkgs/pkgs/desktops/plasma-5/kwin/0001-follow-symlinks.patch b/nixpkgs/pkgs/desktops/plasma-5/kwin/0001-follow-symlinks.patch
index 06b3653acee4..efde4f4dcf04 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/kwin/0001-follow-symlinks.patch
+++ b/nixpkgs/pkgs/desktops/plasma-5/kwin/0001-follow-symlinks.patch
@@ -4,13 +4,13 @@ Date: Mon, 27 Jan 2020 05:31:13 -0600
 Subject: [PATCH 1/3] follow symlinks
 
 ---
- plugins/kdecorations/aurorae/src/aurorae.cpp | 2 +-
+ src/plugins/kdecorations/aurorae/src/aurorae.cpp | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/plugins/kdecorations/aurorae/src/aurorae.cpp b/plugins/kdecorations/aurorae/src/aurorae.cpp
+diff --git a/src/plugins/kdecorations/aurorae/src/aurorae.cpp b/src/plugins/kdecorations/aurorae/src/aurorae.cpp
 index 5242cb7..2e4ddae 100644
---- a/plugins/kdecorations/aurorae/src/aurorae.cpp
-+++ b/plugins/kdecorations/aurorae/src/aurorae.cpp
+--- a/src/plugins/kdecorations/aurorae/src/aurorae.cpp
++++ b/src/plugins/kdecorations/aurorae/src/aurorae.cpp
 @@ -201,7 +201,7 @@ void Helper::init()
      // so let's try to locate our plugin:
      QString pluginPath;
diff --git a/nixpkgs/pkgs/desktops/plasma-5/kwin/0002-xwayland.patch b/nixpkgs/pkgs/desktops/plasma-5/kwin/0002-xwayland.patch
index 312daa093848..9e37d51c4996 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/kwin/0002-xwayland.patch
+++ b/nixpkgs/pkgs/desktops/plasma-5/kwin/0002-xwayland.patch
@@ -4,13 +4,13 @@ Date: Mon, 27 Jan 2020 05:31:23 -0600
 Subject: [PATCH 2/3] xwayland
 
 ---
- xwl/xwayland.cpp | 2 +-
+ src/xwl/xwayland.cpp | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/xwl/xwayland.cpp b/xwl/xwayland.cpp
+diff --git a/src/xwl/xwayland.cpp b/src/xwl/xwayland.cpp
 index 57efdde..a211a58 100644
---- a/xwl/xwayland.cpp
-+++ b/xwl/xwayland.cpp
+--- a/src/xwl/xwayland.cpp
++++ b/src/xwl/xwayland.cpp
 @@ -124,7 +124,7 @@ void Xwayland::start()
  
      m_xwaylandProcess = new Process(this);
diff --git a/nixpkgs/pkgs/desktops/plasma-5/kwin/0003-plugins-qpa-allow-using-nixos-wrapper.patch b/nixpkgs/pkgs/desktops/plasma-5/kwin/0003-plugins-qpa-allow-using-nixos-wrapper.patch
index eaffaf591875..50c7cef3f8cd 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/kwin/0003-plugins-qpa-allow-using-nixos-wrapper.patch
+++ b/nixpkgs/pkgs/desktops/plasma-5/kwin/0003-plugins-qpa-allow-using-nixos-wrapper.patch
@@ -5,13 +5,13 @@ Subject: [PATCH 3/3] plugins/qpa: allow using nixos wrapper
 
 Signed-off-by: Yaroslav  Bolyukin <iam@lach.pw>
 ---
- plugins/qpa/main.cpp | 2 +-
+ src/plugins/qpa/main.cpp | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/plugins/qpa/main.cpp b/plugins/qpa/main.cpp
+diff --git a/src/plugins/qpa/main.cpp b/src/plugins/qpa/main.cpp
 index efd236b..a69c046 100644
---- a/plugins/qpa/main.cpp
-+++ b/plugins/qpa/main.cpp
+--- a/src/plugins/qpa/main.cpp
++++ b/src/plugins/qpa/main.cpp
 @@ -23,7 +23,7 @@ public:
  QPlatformIntegration *KWinIntegrationPlugin::create(const QString &system, const QStringList &paramList)
  {
diff --git a/nixpkgs/pkgs/desktops/plasma-5/layer-shell-qt.nix b/nixpkgs/pkgs/desktops/plasma-5/layer-shell-qt.nix
new file mode 100644
index 000000000000..9e18bbb4bff5
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/plasma-5/layer-shell-qt.nix
@@ -0,0 +1,10 @@
+{ mkDerivation, lib
+, extra-cmake-modules
+, kguiaddons, kidletime, kwayland, kwindowsystem, qtbase, wayland-scanner, wayland, wayland-protocols
+}:
+
+mkDerivation {
+  name = "layer-shell-qt";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ kguiaddons kidletime kwindowsystem kwayland qtbase wayland-scanner wayland wayland-protocols ];
+}
diff --git a/nixpkgs/pkgs/desktops/plasma-5/libksysguard/default.nix b/nixpkgs/pkgs/desktops/plasma-5/libksysguard/default.nix
index e291bc5c4c40..ee9237a318c1 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/libksysguard/default.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/libksysguard/default.nix
@@ -3,7 +3,7 @@
   extra-cmake-modules,
   kauth, kcompletion, kconfig, kconfigwidgets, kcoreaddons, ki18n, kiconthemes,
   knewstuff, kservice, kwidgetsaddons, kwindowsystem, plasma-framework,
-  qtbase, qtscript, qtwebengine, qtx11extras
+  qtbase, qtscript, qtwebengine, qtx11extras, libnl
 }:
 
 mkDerivation {
@@ -15,7 +15,7 @@ mkDerivation {
   buildInputs = [
     kauth kconfig ki18n kiconthemes kwindowsystem kcompletion kconfigwidgets
     kcoreaddons kservice kwidgetsaddons plasma-framework qtscript qtx11extras
-    qtwebengine knewstuff
+    qtwebengine knewstuff libnl
   ];
   outputs = [ "bin" "dev" "out" ];
 }
diff --git a/nixpkgs/pkgs/desktops/plasma-5/plasma-desktop/default.nix b/nixpkgs/pkgs/desktops/plasma-5/plasma-desktop/default.nix
index e6b161a07232..d8ca0ddfdec3 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/plasma-desktop/default.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/plasma-desktop/default.nix
@@ -12,7 +12,7 @@
   attica, baloo, kaccounts-integration, kactivities, kactivities-stats, kauth,
   kcmutils, kdbusaddons, kdeclarative, kded, kdelibs4support, kemoticons,
   kglobalaccel, ki18n, kitemmodels, knewstuff, knotifications, knotifyconfig,
-  kpeople, krunner, kscreenlocker, ksysguard, kwallet, kwin, phonon,
+  kpeople, krunner, kscreenlocker, kwallet, kwin, phonon,
   plasma-framework, plasma-workspace, qqc2-desktop-style, xf86inputlibinput
 }:
 
@@ -28,7 +28,7 @@ mkDerivation {
     attica baloo kaccounts-integration kactivities kactivities-stats kauth
     kcmutils kdbusaddons kdeclarative kded kdelibs4support kemoticons
     kglobalaccel ki18n kitemmodels knewstuff knotifications knotifyconfig
-    kpeople krunner kscreenlocker ksysguard kwallet kwin plasma-framework
+    kpeople krunner kscreenlocker kwallet kwin plasma-framework
     plasma-workspace qqc2-desktop-style
   ];
 
@@ -41,11 +41,11 @@ mkDerivation {
   '';
   CXXFLAGS = [
     "-I${lib.getDev xorgserver}/include/xorg"
+    "-I${lib.getDev xf86inputsynaptics}/include/xorg"
     ''-DNIXPKGS_HWCLOCK=\"${lib.getBin util-linux}/sbin/hwclock\"''
   ];
   cmakeFlags = [
     "-DEvdev_INCLUDE_DIRS=${lib.getDev xf86inputevdev}/include/xorg"
-    "-DSynaptics_INCLUDE_DIRS=${lib.getDev xf86inputsynaptics}/include/xorg"
     "-DXORGLIBINPUT_INCLUDE_DIRS=${lib.getDev xf86inputlibinput}/include/xorg"
   ];
   postInstall = ''
diff --git a/nixpkgs/pkgs/desktops/plasma-5/plasma-vault/encfs-path.patch b/nixpkgs/pkgs/desktops/plasma-5/plasma-vault/encfs-path.patch
index e1c325e16934..14f593ea60a8 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/plasma-vault/encfs-path.patch
+++ b/nixpkgs/pkgs/desktops/plasma-5/plasma-vault/encfs-path.patch
@@ -2,21 +2,18 @@ diff --git a/kded/engine/backends/encfs/encfsbackend.cpp b/kded/engine/backends/
 index 628af7b..6edd38e 100644
 --- a/kded/engine/backends/encfs/encfsbackend.cpp
 +++ b/kded/engine/backends/encfs/encfsbackend.cpp
-@@ -137,7 +137,7 @@ QProcess *EncFsBackend::encfs(const QStringList &arguments) const
+@@ -100,12 +100,12 @@ QProcess *EncFsBackend::encfs(const QStringList &arguments) const
      auto config = KSharedConfig::openConfig(PLASMAVAULT_CONFIG_FILE);
      KConfigGroup backendConfig(config, "EncfsBackend");
- 
--    return process("encfs",
-+    return process(NIXPKGS_ENCFS,
-                    arguments + backendConfig.readEntry("extraMountOptions", QStringList{}),
-                    {});
+
+-    return process("encfs", arguments + backendConfig.readEntry("extraMountOptions", QStringList{}), {});
++    return process(NIXPKGS_ENCFS, arguments + backendConfig.readEntry("extraMountOptions", QStringList{}), {});
  }
-@@ -146,7 +146,7 @@ QProcess *EncFsBackend::encfs(const QStringList &arguments) const
- 
+
  QProcess *EncFsBackend::encfsctl(const QStringList &arguments) const
  {
 -    return process("encfsctl", arguments, {});
 +    return process(NIXPKGS_ENCFSCTL, arguments, {});
  }
- 
- 
+
+ } // namespace PlasmaVault
diff --git a/nixpkgs/pkgs/desktops/plasma-5/srcs.nix b/nixpkgs/pkgs/desktops/plasma-5/srcs.nix
index 90d70bb8a708..0cd26b6a6cf3 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/srcs.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/srcs.nix
@@ -4,419 +4,427 @@
 
 {
   bluedevil = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/bluedevil-5.21.5.tar.xz";
-      sha256 = "12b23xr919lb9hjy0rd9hbcz0x0im2i879affdyjxz4px53kgc16";
-      name = "bluedevil-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/bluedevil-5.22.4.tar.xz";
+      sha256 = "10bqk46ygnf72aqxxaxlx4khv1gwj46la1czsjmlszvkcqxrpwa0";
+      name = "bluedevil-5.22.4.tar.xz";
     };
   };
   breeze = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/breeze-5.21.5.tar.xz";
-      sha256 = "034qfnqfhmvszjd4rc41av61qfk60bh5hlzq2r8w8lbxvaawcx4p";
-      name = "breeze-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/breeze-5.22.4.tar.xz";
+      sha256 = "1b4zrwpaayd6mlwsnwg416ryba32zpg8w2dlh56qbmg6jxzjnybx";
+      name = "breeze-5.22.4.tar.xz";
     };
   };
   breeze-grub = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/breeze-grub-5.21.5.tar.xz";
-      sha256 = "1vqdq2kxzyrdy31c2xjp200b40892mvgzmlp7ndc9yp3zj6cj9z7";
-      name = "breeze-grub-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/breeze-grub-5.22.4.tar.xz";
+      sha256 = "19zlhq3k80id676sxlf8nhk0a11rkrwmbd256aggdwhz1fivxc1c";
+      name = "breeze-grub-5.22.4.tar.xz";
     };
   };
   breeze-gtk = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/breeze-gtk-5.21.5.tar.xz";
-      sha256 = "06f7y19xrn9lr7ra5fszhs69dkpdna7sn0apwl6xyivl4cphbaqg";
-      name = "breeze-gtk-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/breeze-gtk-5.22.4.tar.xz";
+      sha256 = "1p47vsr2xj00p1r2jhyns2wzchjlhymzzyv2xqy9xd4l8pkv8scb";
+      name = "breeze-gtk-5.22.4.tar.xz";
     };
   };
   breeze-plymouth = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/breeze-plymouth-5.21.5.tar.xz";
-      sha256 = "0rjbbvmngy4m073z9dyy59cdcvkjbxlqg55n19k8m0f6k0r2ibgk";
-      name = "breeze-plymouth-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/breeze-plymouth-5.22.4.tar.xz";
+      sha256 = "0b9sjn8lfhgyc2sz1r9rnknkas79526qmwi5j3wbxb0va2rcap9z";
+      name = "breeze-plymouth-5.22.4.tar.xz";
     };
   };
   discover = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/discover-5.21.5.tar.xz";
-      sha256 = "112g5xigfpazkh5m8pvd8dhiq44g1vnx7md4789pp6axl88dbf19";
-      name = "discover-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/discover-5.22.4.tar.xz";
+      sha256 = "0ij7b1fyv9rgiw6ywgxzj35c9bd3937w3njzqmkzi2l9zlnrzwvg";
+      name = "discover-5.22.4.tar.xz";
     };
   };
   drkonqi = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/drkonqi-5.21.5.tar.xz";
-      sha256 = "1bn69i964467k3967934wkkypkzchdmnkxk5nqxs6md835sfb5a0";
-      name = "drkonqi-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/drkonqi-5.22.4.tar.xz";
+      sha256 = "1dy5v50icnlwa4pl5z30q5abv2sbznlrpgiy28hh1mf64hx6hl3w";
+      name = "drkonqi-5.22.4.tar.xz";
     };
   };
   kactivitymanagerd = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/kactivitymanagerd-5.21.5.tar.xz";
-      sha256 = "1j7hkqlbhiq3hc2yb250x7zdidi4wndpnbm0x9aqrmi7mr63kdbp";
-      name = "kactivitymanagerd-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/kactivitymanagerd-5.22.4.tar.xz";
+      sha256 = "1km0mlqyrvflq45gwffrbwvkrqirb44qn1rp37iif4d82pmx11yv";
+      name = "kactivitymanagerd-5.22.4.tar.xz";
     };
   };
   kde-cli-tools = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/kde-cli-tools-5.21.5.tar.xz";
-      sha256 = "0j8yv814qbyl5d5iyzcw5q6w08gkwhsvbdc19nmlbk9zldvy37rn";
-      name = "kde-cli-tools-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/kde-cli-tools-5.22.4.tar.xz";
+      sha256 = "1kh8pba9q61qjjpc945nvx42mm63vrj5bny4iv60jgcfxxwy7qj4";
+      name = "kde-cli-tools-5.22.4.tar.xz";
     };
   };
   kdecoration = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/kdecoration-5.21.5.tar.xz";
-      sha256 = "0k6mhwkv4r5q57bm7jc9wf51gdk8h8zwafmkfqp7ddg5zmxhnmdw";
-      name = "kdecoration-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/kdecoration-5.22.4.tar.xz";
+      sha256 = "0cc0lskm359lbg93bxny84cf1qnk0h53f64bxy3dvbyn5gmvzsch";
+      name = "kdecoration-5.22.4.tar.xz";
     };
   };
   kde-gtk-config = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/kde-gtk-config-5.21.5.tar.xz";
-      sha256 = "07gc8rydqnvsyrjvgy99ggl5imklzzrmhc36q7kdkp5zkjm7i4gk";
-      name = "kde-gtk-config-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/kde-gtk-config-5.22.4.tar.xz";
+      sha256 = "0d56brzpk5yi7cdyvpqg3jlk5n3l2dvk98npw34fd4i3gw357px8";
+      name = "kde-gtk-config-5.22.4.tar.xz";
     };
   };
   kdeplasma-addons = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/kdeplasma-addons-5.21.5.tar.xz";
-      sha256 = "0zbxc58z4v3hl2m9p8gc035k4bmimwv1k0y6gsdviclvdhkdfv9w";
-      name = "kdeplasma-addons-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/kdeplasma-addons-5.22.4.tar.xz";
+      sha256 = "1flf4mq0zcjh7fnv155hklliidfvflh20d1s84rj8q2ka7phcwk0";
+      name = "kdeplasma-addons-5.22.4.tar.xz";
     };
   };
   kgamma5 = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/kgamma5-5.21.5.tar.xz";
-      sha256 = "1qaqcns4xnlxw6pjn7h3gdmwly8w94p9l03bnar7gb75ir342jz6";
-      name = "kgamma5-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/kgamma5-5.22.4.tar.xz";
+      sha256 = "0fgx9i031iqrp7w7v7px1vha079cjcdv9w5ah4k1m53g8abriddl";
+      name = "kgamma5-5.22.4.tar.xz";
     };
   };
   khotkeys = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/khotkeys-5.21.5.tar.xz";
-      sha256 = "04wwz6ji4pna4jd8ps14i9r1s86fdmm7dh8qfy3qz4jzf2gjjn1d";
-      name = "khotkeys-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/khotkeys-5.22.4.tar.xz";
+      sha256 = "1lm1xrbrpym7nhvnzljdgr5nsas8z3i0hgda53j5k6svzk5r3qg8";
+      name = "khotkeys-5.22.4.tar.xz";
     };
   };
   kinfocenter = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/kinfocenter-5.21.5.tar.xz";
-      sha256 = "177llrwhk54s91f69ny5v17w1kvqizap55h40kc1a5bndlgqfnki";
-      name = "kinfocenter-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/kinfocenter-5.22.4.tar.xz";
+      sha256 = "14vfz5j3fxhfb1fip00fgg9k6dc9ffjf0ss8ij1cx7bga14nmzvw";
+      name = "kinfocenter-5.22.4.tar.xz";
     };
   };
   kmenuedit = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/kmenuedit-5.21.5.tar.xz";
-      sha256 = "0yzdx80jgjiaw7nk897m151pg67q11qyww2j8r8rx22bz06rfi70";
-      name = "kmenuedit-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/kmenuedit-5.22.4.tar.xz";
+      sha256 = "186j8ky5z3l0mmxx327xzahhsyf7wlds1rsmzzmlxficpg43n90b";
+      name = "kmenuedit-5.22.4.tar.xz";
     };
   };
   kscreen = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/kscreen-5.21.5.tar.xz";
-      sha256 = "1nl43888jib16z0djzy3mck6h9rahdwwdwk76y1hp3nhbbaqnsa6";
-      name = "kscreen-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/kscreen-5.22.4.tar.xz";
+      sha256 = "0hkn7ap55x4rzm6x3qdinjar9qhnb742zgzmvswy1kn3a8mxby17";
+      name = "kscreen-5.22.4.tar.xz";
     };
   };
   kscreenlocker = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/kscreenlocker-5.21.5.tar.xz";
-      sha256 = "0drnj3xdza9cbw8124ja2bic8y37k8q1p7mwfxvhgqciqyvpdb8x";
-      name = "kscreenlocker-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/kscreenlocker-5.22.4.tar.xz";
+      sha256 = "0i7c6a378h7366h7nl5051mwrx7cadzfaryfnhpskhlgy3l7119j";
+      name = "kscreenlocker-5.22.4.tar.xz";
     };
   };
   ksshaskpass = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/ksshaskpass-5.21.5.tar.xz";
-      sha256 = "06gi254yq4cr8f5rl83aprsvvham9h5q4jk6cfd67ghwk6ln7yd2";
-      name = "ksshaskpass-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/ksshaskpass-5.22.4.tar.xz";
+      sha256 = "01f2rz1xqb1jy83427f7rmsb3a7ivkgf2qmm04kwjv29zplg796f";
+      name = "ksshaskpass-5.22.4.tar.xz";
     };
   };
-  ksysguard = {
-    version = "5.21.5";
+  ksystemstats = {
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/ksysguard-5.21.5.tar.xz";
-      sha256 = "1c0vr85j3b1pshyd4w12w9i57bg21gkpvdh1rgqimsnj7yw38fqh";
-      name = "ksysguard-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/ksystemstats-5.22.4.tar.xz";
+      sha256 = "1daz3890v7qbkcsb9m535mfnijdq3rbasxwqs0ixhn2m400yivvg";
+      name = "ksystemstats-5.22.4.tar.xz";
     };
   };
   kwallet-pam = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/kwallet-pam-5.21.5.tar.xz";
-      sha256 = "0svf0iabgfm0sizgar1cbxn2577r04nxh91fznq7jp5zj3lk0gxz";
-      name = "kwallet-pam-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/kwallet-pam-5.22.4.tar.xz";
+      sha256 = "1ljrrgjvkvs3fsiijgaxj82hzp1fhsiy39r4amwp21v411c80jwq";
+      name = "kwallet-pam-5.22.4.tar.xz";
     };
   };
   kwayland-integration = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/kwayland-integration-5.21.5.tar.xz";
-      sha256 = "1wh44hy1mmrn4kg8jppqvxk9zzfrbiyqzc2i6lfnzic4llz7275x";
-      name = "kwayland-integration-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/kwayland-integration-5.22.4.tar.xz";
+      sha256 = "17nl033vl8i9a92bjbgwwwrkf03lg4726lwdbj3y8xajdp8ql1nb";
+      name = "kwayland-integration-5.22.4.tar.xz";
     };
   };
   kwayland-server = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/kwayland-server-5.21.5.tar.xz";
-      sha256 = "1j91iqzrip5ady4cz5ipiirs0dhvib05wwa8h7dqa7ysidpc3krg";
-      name = "kwayland-server-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/kwayland-server-5.22.4.tar.xz";
+      sha256 = "0z3ni5ar2bwpc75ssb3qmkbff85a489sxr7vzqhxa40n48bp85ns";
+      name = "kwayland-server-5.22.4.tar.xz";
     };
   };
   kwin = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/kwin-5.21.5.tar.xz";
-      sha256 = "0cc3h1n6g902ff50aj3w631cmg6gjaqfvqsfa5jkbxrvl7xfv1m2";
-      name = "kwin-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/kwin-5.22.4.tar.xz";
+      sha256 = "1x5338aib7kn1lgpb06b8s06bfj2ybfgyr6k0q91zlc53x61qamh";
+      name = "kwin-5.22.4.tar.xz";
     };
   };
   kwrited = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/kwrited-5.21.5.tar.xz";
-      sha256 = "0ki9j44ccgrnm7nh8ddwwkv0144yn2ygfijf0yjyyzb5p5391rz1";
-      name = "kwrited-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/kwrited-5.22.4.tar.xz";
+      sha256 = "1rbkbqf5v8wqd2aldpg396ki8a9fsw82jmzmdhsirq33r5yznn4i";
+      name = "kwrited-5.22.4.tar.xz";
+    };
+  };
+  layer-shell-qt = {
+    version = "5.22.4";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.22.4/layer-shell-qt-5.22.4.tar.xz";
+      sha256 = "11iqk4bla0y0w2frmvzxi4a3jxj3cj2m8y473z3nfb0z8i5yca0m";
+      name = "layer-shell-qt-5.22.4.tar.xz";
     };
   };
   libkscreen = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/libkscreen-5.21.5.tar.xz";
-      sha256 = "1fkw3rykpj4vvc1iw19kcjhvdbbll6bag91icaxznpir3bvry18k";
-      name = "libkscreen-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/libkscreen-5.22.4.tar.xz";
+      sha256 = "0z2mzha22f2yl7l0ijy4pqpab6n1ivib3grnd583znff02wvj4d2";
+      name = "libkscreen-5.22.4.tar.xz";
     };
   };
   libksysguard = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/libksysguard-5.21.5.tar.xz";
-      sha256 = "1s7b336ljvnyjsqfn6f6jqbr7k9l4afh2b5rqj7d4ifjm63wdy2z";
-      name = "libksysguard-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/libksysguard-5.22.4.tar.xz";
+      sha256 = "14h66gs7z6gf7wrpdhpd1461431q2plv7kvfsh02fj52l1dzpcc0";
+      name = "libksysguard-5.22.4.tar.xz";
     };
   };
   milou = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/milou-5.21.5.tar.xz";
-      sha256 = "061vd1slk1h0m4l22sxzkzliag4f8bmrv6cbfhdhhk5a90xxph1i";
-      name = "milou-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/milou-5.22.4.tar.xz";
+      sha256 = "11fa9bj3yzriaydfk8q9kc626yv0s0sal5ws13pcd6ksbhslz83s";
+      name = "milou-5.22.4.tar.xz";
     };
   };
   oxygen = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/oxygen-5.21.5.tar.xz";
-      sha256 = "0j9nv00fxy7l62w7486410ivn8hyfnv736740dqqpl1q4jvd62mc";
-      name = "oxygen-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/oxygen-5.22.4.tar.xz";
+      sha256 = "1p5hklryi02xw0byy5zcaxx5zw81vd6vq3s1h8dyhj07vspimpzw";
+      name = "oxygen-5.22.4.tar.xz";
     };
   };
   plasma-browser-integration = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/plasma-browser-integration-5.21.5.tar.xz";
-      sha256 = "16v43m5nd48if8j2rbrkklk3w1rg6icggx9hdcw6765q0h1251ab";
-      name = "plasma-browser-integration-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/plasma-browser-integration-5.22.4.tar.xz";
+      sha256 = "023qbp77ga0jblhhx3437v9jjxx5va7q58abmnpv2nls1xwyq8hb";
+      name = "plasma-browser-integration-5.22.4.tar.xz";
     };
   };
   plasma-desktop = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/plasma-desktop-5.21.5.tar.xz";
-      sha256 = "09qsnc7dck4j54aj19g94jrd2ifgs7gbxql1ccidj8c0bhq7wl6y";
-      name = "plasma-desktop-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/plasma-desktop-5.22.4.tar.xz";
+      sha256 = "0c225lckhsmhig7xsnv5yfajys3w67g6xj4w1hvz1x3hqs79z3kj";
+      name = "plasma-desktop-5.22.4.tar.xz";
     };
   };
   plasma-disks = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/plasma-disks-5.21.5.tar.xz";
-      sha256 = "1850ms6nmff4mlfshdbbjlf77siv9h6isldhxk36n555mrrq4791";
-      name = "plasma-disks-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/plasma-disks-5.22.4.tar.xz";
+      sha256 = "02brm36akqfhjz9fzyzfinjnb954glrrlwpyhiq1sx073v2ibyap";
+      name = "plasma-disks-5.22.4.tar.xz";
     };
   };
   plasma-firewall = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/plasma-firewall-5.21.5.tar.xz";
-      sha256 = "1wal8izrwhm20jkjiqf55y6pk2l3ljk16racb8isr73m568ii6ak";
-      name = "plasma-firewall-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/plasma-firewall-5.22.4.tar.xz";
+      sha256 = "1c1mzpd45hd4sb6qsylqgq2x4fay1nskkgmcc1vswmnapcm9gp91";
+      name = "plasma-firewall-5.22.4.tar.xz";
     };
   };
   plasma-integration = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/plasma-integration-5.21.5.tar.xz";
-      sha256 = "0x8chc6r3ibv4xxmgi27c0mkr5ym9imw8zzxl596llm4r5q5ax0y";
-      name = "plasma-integration-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/plasma-integration-5.22.4.tar.xz";
+      sha256 = "0rslli0jsyyhm6prac3xgilwf58gjxqhsijgvr25sipg6200r2z0";
+      name = "plasma-integration-5.22.4.tar.xz";
     };
   };
   plasma-nano = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/plasma-nano-5.21.5.tar.xz";
-      sha256 = "04irqa41y6j4582035inkgwy1q27w0fq7fckfj7pbbjz4p9wqx26";
-      name = "plasma-nano-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/plasma-nano-5.22.4.tar.xz";
+      sha256 = "1ag57nphgkj3f17s42d81npk0z2n27623szbiz1hpgp7f6994l90";
+      name = "plasma-nano-5.22.4.tar.xz";
     };
   };
   plasma-nm = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/plasma-nm-5.21.5.tar.xz";
-      sha256 = "18qbf2n08qcdw6pshhipnpr7sab8nmhj7bfr3qb23s4ildhfd64h";
-      name = "plasma-nm-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/plasma-nm-5.22.4.tar.xz";
+      sha256 = "1cvfawsqzk3yzjwnz6gc6l7p3pz9brbh0n6km23i1bis08rks168";
+      name = "plasma-nm-5.22.4.tar.xz";
     };
   };
   plasma-pa = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/plasma-pa-5.21.5.tar.xz";
-      sha256 = "00lhr8j5aj1xhyfsdzvm67d1bhqihrp3ki4zl0bqgvy89fi1xvzn";
-      name = "plasma-pa-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/plasma-pa-5.22.4.tar.xz";
+      sha256 = "1p000y08p89wvv73glv9ic0gdbdhc9fpzvphx72y420g5hhmnnwa";
+      name = "plasma-pa-5.22.4.tar.xz";
     };
   };
   plasma-phone-components = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/plasma-phone-components-5.21.5.tar.xz";
-      sha256 = "0sg78n5fr38n629h0mf66d61hh43hq2r1ag69krb5g0cdycdj6w1";
-      name = "plasma-phone-components-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/plasma-phone-components-5.22.4.tar.xz";
+      sha256 = "0mkr7amxvr325y7f98y1368iv4gs6j2x6bkpi20rp8c2vifkvg5b";
+      name = "plasma-phone-components-5.22.4.tar.xz";
     };
   };
   plasma-sdk = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/plasma-sdk-5.21.5.tar.xz";
-      sha256 = "15ay8jiyyg2h25w4lnvxjnl606bqjk5j3asgnzjkz3n9ny9c1ah1";
-      name = "plasma-sdk-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/plasma-sdk-5.22.4.tar.xz";
+      sha256 = "0nrh3zbff25wr59hbsvrygjix56as8rd95smr5075qwdyamcqnhf";
+      name = "plasma-sdk-5.22.4.tar.xz";
     };
   };
   plasma-systemmonitor = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/plasma-systemmonitor-5.21.5.tar.xz";
-      sha256 = "1kwfk3b0y2ssj90qwv3diazl5bpf75aigxy7wvp6izbjsjn7yk9w";
-      name = "plasma-systemmonitor-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/plasma-systemmonitor-5.22.4.tar.xz";
+      sha256 = "1gl6kjk6b8xwcfrk6xf41jf1lh3zxr5b6qvdv7z6i8wb3pll63cb";
+      name = "plasma-systemmonitor-5.22.4.tar.xz";
     };
   };
   plasma-tests = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/plasma-tests-5.21.5.tar.xz";
-      sha256 = "107a0rq220mjhd2g77xaxgs9k29iyzfg5s64rbxrqs8kjzb0h90k";
-      name = "plasma-tests-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/plasma-tests-5.22.4.tar.xz";
+      sha256 = "1wf33c0izm9yyjcysiimcpiwmsa64b4ypklga2rbg7kkk7q0nq82";
+      name = "plasma-tests-5.22.4.tar.xz";
     };
   };
   plasma-thunderbolt = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/plasma-thunderbolt-5.21.5.tar.xz";
-      sha256 = "161c94haajs7vnbb0lk94h4mb9kd0by7jai1f8lj0zksk6g5vf51";
-      name = "plasma-thunderbolt-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/plasma-thunderbolt-5.22.4.tar.xz";
+      sha256 = "1c5ihvam5hfk7xiy3m707jjhpv2rxgl7d2f6m0d764zynm6zax79";
+      name = "plasma-thunderbolt-5.22.4.tar.xz";
     };
   };
   plasma-vault = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/plasma-vault-5.21.5.tar.xz";
-      sha256 = "16wpv37jvcbl0p3s3jh15rsjf81bblpc4vxn508mg7z543dba6bm";
-      name = "plasma-vault-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/plasma-vault-5.22.4.tar.xz";
+      sha256 = "1p6bl8as8rx36nzwx2rymqmx4rg7dg0bfrxr0flx9jqp1adclf39";
+      name = "plasma-vault-5.22.4.tar.xz";
     };
   };
   plasma-workspace = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/plasma-workspace-5.21.5.tar.xz";
-      sha256 = "02p931b0iz7gak8i7bhig3j9p7xs6fam7k6hhb5f1bd9pks6xccw";
-      name = "plasma-workspace-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/plasma-workspace-5.22.4.tar.xz";
+      sha256 = "1fi0c66f2cgqcbshbaxzch75r28l5w4l3flggccil5c73lavf5mg";
+      name = "plasma-workspace-5.22.4.tar.xz";
     };
   };
   plasma-workspace-wallpapers = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/plasma-workspace-wallpapers-5.21.5.tar.xz";
-      sha256 = "0jj0092mhnf45qk84zbisqbndvwg0c160dnra73p5qp1dldwv6km";
-      name = "plasma-workspace-wallpapers-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/plasma-workspace-wallpapers-5.22.4.tar.xz";
+      sha256 = "0abz3qic8m7dcbd0m1ci8qspfds3fdsqhgv8m6ks2jkcm7z4vnnr";
+      name = "plasma-workspace-wallpapers-5.22.4.tar.xz";
     };
   };
   plymouth-kcm = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/plymouth-kcm-5.21.5.tar.xz";
-      sha256 = "1janrgz8934pzz83npk02p63vxasbmr3dy39x36qr4qmk9b8qzv0";
-      name = "plymouth-kcm-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/plymouth-kcm-5.22.4.tar.xz";
+      sha256 = "0vh39lidm0dqah14y7nkzqpanlkxpmylf7wc40giavady3d2i1y1";
+      name = "plymouth-kcm-5.22.4.tar.xz";
     };
   };
   polkit-kde-agent = {
-    version = "1-5.21.5";
+    version = "1-5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/polkit-kde-agent-1-5.21.5.tar.xz";
-      sha256 = "1bc9sqg77xywly7yllzrr81agny96hj5as7gi8n0ji4i9l4av2z6";
-      name = "polkit-kde-agent-1-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/polkit-kde-agent-1-5.22.4.tar.xz";
+      sha256 = "0pxrrn4qs96a5p9cp890vdq2g79ah72p655643ciqdb14936p0z2";
+      name = "polkit-kde-agent-1-5.22.4.tar.xz";
     };
   };
   powerdevil = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/powerdevil-5.21.5.tar.xz";
-      sha256 = "18yxs115qk9mgq0mi2ycaqs43c2m9rha7wz245yz2ib3axdk1c7x";
-      name = "powerdevil-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/powerdevil-5.22.4.tar.xz";
+      sha256 = "17427sv6yh16hmgl94lyb4d7gds0r4hvx8vbbqhzysih2x81xl6m";
+      name = "powerdevil-5.22.4.tar.xz";
     };
   };
   qqc2-breeze-style = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/qqc2-breeze-style-5.21.5.tar.xz";
-      sha256 = "01z91xr2m9j2ch2d3g10vqy60lflvzp8x9wa7p0nsjm5h3fd9jiy";
-      name = "qqc2-breeze-style-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/qqc2-breeze-style-5.22.4.tar.xz";
+      sha256 = "15h9rjc4ry3kw18aw18r8y8av4cn2wckab8gyyi7zx7s54n6zpvc";
+      name = "qqc2-breeze-style-5.22.4.tar.xz";
     };
   };
   sddm-kcm = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/sddm-kcm-5.21.5.tar.xz";
-      sha256 = "0v9drq9dlgrv5lkxj3sr2a7ky2h2cqghkq2csh43h8v7a7kwi02j";
-      name = "sddm-kcm-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/sddm-kcm-5.22.4.tar.xz";
+      sha256 = "08j0qd288a5msagpyaqwrw0w6wymxsgqq3rlk8kv3n6qvrsm7174";
+      name = "sddm-kcm-5.22.4.tar.xz";
     };
   };
   systemsettings = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/systemsettings-5.21.5.tar.xz";
-      sha256 = "1kbsk37fmin0afw5wrn70504bn0cd5pm7i0bppmpi5y81mplwy4m";
-      name = "systemsettings-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/systemsettings-5.22.4.tar.xz";
+      sha256 = "1ap2h1sa6hdakhf6lzy4bhaq5pxc8g7p32iz04894hd7dbb2iv8h";
+      name = "systemsettings-5.22.4.tar.xz";
     };
   };
   xdg-desktop-portal-kde = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/xdg-desktop-portal-kde-5.21.5.tar.xz";
-      sha256 = "11c2ndmb432j4gwnvmyliycmd0fqyxj76ywki9hi66cv1lifm9xh";
-      name = "xdg-desktop-portal-kde-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/xdg-desktop-portal-kde-5.22.4.tar.xz";
+      sha256 = "1xmlw66bw60cl530hjjab8g4krv6di4wpimjaz0a9mv3dnq9xz7m";
+      name = "xdg-desktop-portal-kde-5.22.4.tar.xz";
     };
   };
 }
diff --git a/nixpkgs/pkgs/desktops/xfce/applications/catfish/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/catfish/default.nix
index 072181595a6f..df072f862080 100644
--- a/nixpkgs/pkgs/desktops/xfce/applications/catfish/default.nix
+++ b/nixpkgs/pkgs/desktops/xfce/applications/catfish/default.nix
@@ -1,15 +1,15 @@
 { lib, fetchurl, file, which, intltool, gobject-introspection,
-  findutils, xdg-utils, dconf, gtk3, python3Packages,
+  findutils, xdg-utils, dconf, gtk3, python3Packages, xfconf,
   wrapGAppsHook
 }:
 
 python3Packages.buildPythonApplication rec {
   pname = "catfish";
-  version = "1.4.13";
+  version = "4.16.2";
 
   src = fetchurl {
     url = "https://archive.xfce.org/src/apps/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-WMDqBuXyhgGSlVRfv9HbyiOup0xiV2K7tMiab0hK6Dk=";
+    sha256 = "sha256-shouFRlD8LGU04sX/qrzghh5R+0SoCw9ZJKvt0gBKms=";
   };
 
   nativeBuildInputs = [
@@ -36,6 +36,7 @@ python3Packages.buildPythonApplication rec {
     python3Packages.pexpect
     xdg-utils
     findutils
+    xfconf
   ];
 
   # Explicitly set the prefix dir in "setup.py" because setuptools is
diff --git a/nixpkgs/pkgs/desktops/xfce/applications/mousepad/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/mousepad/default.nix
index 11ef1c6841d2..c3e7805b112d 100644
--- a/nixpkgs/pkgs/desktops/xfce/applications/mousepad/default.nix
+++ b/nixpkgs/pkgs/desktops/xfce/applications/mousepad/default.nix
@@ -3,10 +3,10 @@
 mkXfceDerivation {
   category = "apps";
   pname = "mousepad";
-  version = "0.5.5";
+  version = "0.5.6";
   odd-unstable = false;
 
-  sha256 = "sha256-ViiibikQ90S47stb3egXwK5JbcMYYiJAsKukMVYvKLE=";
+  sha256 = "sha256-cdM2NHUnN2FITITb4077Je5Z8xwZAJfjmwXfV+WE6jk=";
 
   nativeBuildInputs = [ gobject-introspection ];
 
diff --git a/nixpkgs/pkgs/desktops/xfce/applications/xfdashboard/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/xfdashboard/default.nix
index 493a70a75ed0..527696c995ed 100644
--- a/nixpkgs/pkgs/desktops/xfce/applications/xfdashboard/default.nix
+++ b/nixpkgs/pkgs/desktops/xfce/applications/xfdashboard/default.nix
@@ -17,11 +17,11 @@
 mkXfceDerivation {
   category = "apps";
   pname = "xfdashboard";
-  version = "0.9.2";
+  version = "0.9.3";
   rev-prefix = "";
   odd-unstable = false;
 
-  sha256 = "sha256-Q6r9FoPl+vvqZWP5paAjT3VX3M/6TvqzrrGKPCH8+xo=";
+  sha256 = "sha256-xoeqVsfvBH2zzQqDUJGiA47hgVvEkvVf9bNYQmyiytk=";
 
   buildInputs = [
     clutter
diff --git a/nixpkgs/pkgs/desktops/xfce/core/thunar/wrapper.nix b/nixpkgs/pkgs/desktops/xfce/core/thunar/wrapper.nix
index 4e9732ce1c4a..5381dceae4a4 100644
--- a/nixpkgs/pkgs/desktops/xfce/core/thunar/wrapper.nix
+++ b/nixpkgs/pkgs/desktops/xfce/core/thunar/wrapper.nix
@@ -36,6 +36,6 @@ symlinkJoin {
 
     description = thunar.meta.description + optionalString
       (0 != length thunarPlugins)
-      " (with plugins: ${concatStrings (intersperse ", " (map (x: x.name) thunarPlugins))})";
+      " (with plugins: ${concatStringsSep  ", " (map (x: x.name) thunarPlugins)})";
   };
 }
diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin/default.nix
index 2e275f2b35d9..3e592b60f141 100644
--- a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin/default.nix
+++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin/default.nix
@@ -8,11 +8,11 @@ in
 
 stdenv.mkDerivation rec {
   pname  = "xfce4-sensors-plugin";
-  version = "1.3.95";
+  version = "1.4.1";
 
   src = fetchurl {
     url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-g8ZK5GGN1ZKXHPoLwoWptHr4AaPthWg1zbKkxTPHhGw=";
+    sha256 = "sha256-N9DcVp5zXkgqGFRcJOsc4CKdaRDjpNTB3uBoCZkjS+I=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/beam-modules/build-mix.nix b/nixpkgs/pkgs/development/beam-modules/build-mix.nix
index 728d249c97d8..6b6ef7ce3501 100644
--- a/nixpkgs/pkgs/development/beam-modules/build-mix.nix
+++ b/nixpkgs/pkgs/development/beam-modules/build-mix.nix
@@ -42,6 +42,14 @@ let
     nativeBuildInputs = nativeBuildInputs ++ [ elixir hex ];
     propagatedBuildInputs = propagatedBuildInputs ++ beamDeps;
 
+    configurePhase = attrs.configurePhase or ''
+      runHook preConfigure
+
+      ${./mix-configure-hook.sh}
+
+      runHook postConfigure
+    '';
+
     buildPhase = attrs.buildPhase or ''
       runHook preBuild
       export HEX_HOME="$TEMPDIR/hex"
@@ -83,3 +91,4 @@ let
   });
 in
 fix pkg
+
diff --git a/nixpkgs/pkgs/development/beam-modules/default.nix b/nixpkgs/pkgs/development/beam-modules/default.nix
index b6be8c3e7fbd..1c9d5099b44f 100644
--- a/nixpkgs/pkgs/development/beam-modules/default.nix
+++ b/nixpkgs/pkgs/development/beam-modules/default.nix
@@ -76,7 +76,7 @@ let
         debugInfo = true;
       };
 
-      elixir_ls = callPackage ./elixir_ls.nix { inherit elixir fetchMixDeps mixRelease; };
+      elixir_ls = callPackage ./elixir-ls { inherit elixir fetchMixDeps mixRelease; };
 
       lfe = lfe_1_3;
       lfe_1_3 = lib'.callLFE ../interpreters/lfe/1.3.nix { inherit erlang buildRebar3 buildHex; };
diff --git a/nixpkgs/pkgs/development/beam-modules/elixir_ls.nix b/nixpkgs/pkgs/development/beam-modules/elixir-ls/default.nix
index 5afab0e1babd..1385b40fc1f5 100644
--- a/nixpkgs/pkgs/development/beam-modules/elixir_ls.nix
+++ b/nixpkgs/pkgs/development/beam-modules/elixir-ls/default.nix
@@ -4,20 +4,20 @@
 
 mixRelease rec {
   pname = "elixir-ls";
-  version = "0.7.0";
+  version = "0.8.1";
 
   src = fetchFromGitHub {
     owner = "elixir-lsp";
     repo = "elixir-ls";
     rev = "v${version}";
-    sha256 = "0d0hqc35hfjkpm88vz21mnm2a9rxiqfrdi83whhhh6d2ba216b7s";
+    sha256 = "sha256-KlZq12RCor9GrwA8QMP3R+jUQ/xFHRjkLwwkvthiMU0=";
     fetchSubmodules = true;
   };
 
   mixFodDeps = fetchMixDeps {
     pname = "mix-deps-${pname}";
     inherit src version;
-    sha256 = "0r9x223imq4j9pn9niskyaybvk7jmq8dxcyzk7kwfsi128qig1a1";
+    sha256 = "sha256-OzjToAg+q/ybCyqzNFk28OBsItjFTbdPi416EPh2qX0=";
   };
 
   # elixir_ls is an umbrella app
@@ -68,4 +68,5 @@ mixRelease rec {
     platforms = platforms.unix;
     maintainers = teams.beam.members;
   };
+  passthru.updateScript = ./update.sh;
 }
diff --git a/nixpkgs/pkgs/development/beam-modules/elixir-ls/update.sh b/nixpkgs/pkgs/development/beam-modules/elixir-ls/update.sh
new file mode 100755
index 000000000000..8bc1c2b6e966
--- /dev/null
+++ b/nixpkgs/pkgs/development/beam-modules/elixir-ls/update.sh
@@ -0,0 +1,32 @@
+#!/usr/bin/env nix-shell
+#! nix-shell -i oil -p jq sd nix-prefetch-github ripgrep
+
+# TODO set to `verbose` or `extdebug` once implemented in oil
+shopt --set xtrace
+
+var directory = $(dirname $0 | xargs realpath)
+var owner = "elixir-lsp"
+var repo = "elixir-ls"
+var latest_rev = $(curl -q https://api.github.com/repos/${owner}/${repo}/releases/latest | \
+  jq -r '.tag_name')
+var latest_version = $(echo $latest_rev | sd 'v' '')
+var current_version = $(nix-instantiate -A elixir_ls.version --eval --json | jq -r)
+if ("$latest_version" == "$current_version") {
+  echo "elixir-ls is already up-to-date"
+  return 0
+} else {
+  var tarball_meta = $(nix-prefetch-github $owner $repo --rev "$latest_rev")
+  var tarball_hash = "sha256-$(echo $tarball_meta | jq -r '.sha256')"
+  var sha256s = $(rg '"sha256-.+"' $directory/default.nix | sd '.+"(.+)";' '$1' )
+  echo $sha256s | read --line :github_sha256
+  echo $sha256s | tail -n 1 | read --line :old_mix_sha256
+  sd 'version = ".+"' "version = \"$latest_version\"" "$directory/default.nix"
+  sd "sha256 = \"$github_sha256\"" "sha256 = \"$tarball_hash\"" "$directory/default.nix"
+  sd "sha256 = \"$old_mix_sha256\"" "sha256 = \"\"" "$directory/default.nix"
+
+  var new_mix_hash = $(nix-build -A elixir_ls.mixFodDeps 2>&1 | \
+    tail -n 1 | \
+    sd '\s+got:\s+' '')
+
+  sd "sha256 = \"\"" "sha256 = \"$new_mix_hash\"" "$directory/default.nix"
+}
diff --git a/nixpkgs/pkgs/development/beam-modules/erlang-ls/default.nix b/nixpkgs/pkgs/development/beam-modules/erlang-ls/default.nix
index 7635e46237b4..9f7d434193a4 100644
--- a/nixpkgs/pkgs/development/beam-modules/erlang-ls/default.nix
+++ b/nixpkgs/pkgs/development/beam-modules/erlang-ls/default.nix
@@ -1,10 +1,11 @@
-{ fetchFromGitHub, fetchHex, rebar3Relx, buildRebar3, rebar3-proper, lib }:
+{ fetchFromGitHub, fetchgit, fetchHex, rebar3Relx, buildRebar3, rebar3-proper
+, stdenv, writeScript, lib }:
 let
-  version = "0.17.0";
+  version = "0.18.0";
   owner = "erlang-ls";
   repo = "erlang_ls";
   deps = import ./rebar-deps.nix {
-    inherit fetchHex fetchFromGitHub;
+    inherit fetchHex fetchFromGitHub fetchgit;
     builder = buildRebar3;
     overrides = (self: super: {
       proper = super.proper.overrideAttrs (_: {
@@ -18,7 +19,7 @@ rebar3Relx {
   inherit version;
   src = fetchFromGitHub {
     inherit owner repo;
-    sha256 = "0szg9hx436cvy80sh94dzmf2rainnw3fjc84bv3hlzjwwzmxj9aw";
+    sha256 = "sha256-miCl04qqrirVPubOs558yWvXP3Sgs3bcDuGO9DZIsow=";
     rev = version;
   };
   releaseType = "escript";
@@ -32,7 +33,8 @@ rebar3Relx {
     HOME=. rebar3 ct
     HOME=. rebar3 proper --constraint_tries 100
   '';
-  doCheck = true;
+  # tests seem to be a bit flaky on darwin, skip them for now
+  doCheck = !stdenv.isDarwin;
   installPhase = ''
     mkdir -p $out/bin
     cp _build/default/bin/erlang_ls $out/bin/
@@ -44,4 +46,22 @@ rebar3Relx {
     platforms = platforms.unix;
     license = licenses.asl20;
   };
+  passthru.updateScript = writeScript "update.sh" ''
+    #!/usr/bin/env nix-shell
+    #! nix-shell -i bash -p common-updater-scripts coreutils git gnused gnutar gzip "rebar3WithPlugins { globalPlugins = [ beamPackages.rebar3-nix ]; }"
+
+    set -ox errexit
+    latest=$(list-git-tags https://github.com/${owner}/${repo}.git | sed -n '/[\d\.]\+/p' | sort -V | tail -1)
+    if [[ "$latest" != "${version}" ]]; then
+      nixpkgs="$(git rev-parse --show-toplevel)"
+      nix_path="$nixpkgs/pkgs/development/beam-modules/erlang-ls"
+      update-source-version erlang-ls "$latest" --version-key=version --print-changes --file="$nix_path/default.nix"
+      tmpdir=$(mktemp -d)
+      cp -R $(nix-build $nixpkgs --no-out-link -A erlang-ls.src)/* "$tmpdir"
+      DEBUG=1
+      (cd "$tmpdir" && HOME=. rebar3 as test nix lock -o "$nix_path/rebar-deps.nix")
+    else
+      echo "erlang-ls is already up-to-date"
+    fi
+  '';
 }
diff --git a/nixpkgs/pkgs/development/beam-modules/erlang-ls/rebar-deps.nix b/nixpkgs/pkgs/development/beam-modules/erlang-ls/rebar-deps.nix
index 5d55ce0c5236..75d033a13d58 100644
--- a/nixpkgs/pkgs/development/beam-modules/erlang-ls/rebar-deps.nix
+++ b/nixpkgs/pkgs/development/beam-modules/erlang-ls/rebar-deps.nix
@@ -1,6 +1,6 @@
 # Generated by rebar3_nix
 let fetchOnly = { src, ... }: src;
-in { builder ? fetchOnly, fetchHex, fetchFromGitHub, overrides ? (x: y: { }) }:
+in { builder ? fetchOnly, fetchHex, fetchgit, fetchFromGitHub, overrides ? (x: y: { }) }:
 let
   self = packages // (overrides self packages);
   packages = with self; {
diff --git a/nixpkgs/pkgs/development/beam-modules/fetch-hex.nix b/nixpkgs/pkgs/development/beam-modules/fetch-hex.nix
index 7f84e2360704..9c2ed1ea22b6 100644
--- a/nixpkgs/pkgs/development/beam-modules/fetch-hex.nix
+++ b/nixpkgs/pkgs/development/beam-modules/fetch-hex.nix
@@ -1,21 +1,25 @@
 { lib, stdenv, fetchurl }:
 
-{ pkg, version, sha256
-, meta ? {}
+{ pkg
+, version
+, sha256
+, meta ? { }
 }:
 
 with lib;
 
 stdenv.mkDerivation ({
-  name = "hex-source-${pkg}-${version}";
+  pname = "hex-source-${pkg}";
+  inherit version;
+  dontBuild = true;
+  dontConfigure = true;
+  dontFixup = true;
 
   src = fetchurl {
     url = "https://repo.hex.pm/tarballs/${pkg}-${version}.tar";
     inherit sha256;
   };
 
-  phases = [ "unpackPhase" "installPhase" ];
-
   unpackCmd = ''
     tar -xf $curSrc contents.tar.gz
     mkdir contents
diff --git a/nixpkgs/pkgs/development/beam-modules/fetch-rebar-deps.nix b/nixpkgs/pkgs/development/beam-modules/fetch-rebar-deps.nix
index d858b3d81aff..31bef024d320 100644
--- a/nixpkgs/pkgs/development/beam-modules/fetch-rebar-deps.nix
+++ b/nixpkgs/pkgs/development/beam-modules/fetch-rebar-deps.nix
@@ -1,27 +1,36 @@
 { lib, stdenv, rebar3 }:
 
-{ name, version, sha256, src
-, meta ? {}
+{ name
+, version
+, sha256
+, src
+, meta ? { }
 }:
 
 with lib;
 
 stdenv.mkDerivation ({
-  name = "rebar-deps-${name}-${version}";
+  pname = "rebar-deps-${name}";
+  inherit version;
 
-  phases = [ "downloadPhase" "installPhase" ];
+  dontUnpack = true;
+  dontConfigure = true;
+  dontBuild = true;
+  dontFixup = true;
 
-  downloadPhase = ''
+  prePhases = ''
     cp ${src} .
     HOME='.' DEBUG=1 ${rebar3}/bin/rebar3 get-deps
   '';
 
   installPhase = ''
+    runHook preInstall
     mkdir -p "$out/_checkouts"
     for i in ./_build/default/lib/* ; do
        echo "$i"
        cp -R "$i" "$out/_checkouts"
     done
+    runHook postInstall
   '';
 
   outputHashAlgo = "sha256";
diff --git a/nixpkgs/pkgs/development/beam-modules/mix-configure-hook.sh b/nixpkgs/pkgs/development/beam-modules/mix-configure-hook.sh
new file mode 100755
index 000000000000..f8b4f3d159fe
--- /dev/null
+++ b/nixpkgs/pkgs/development/beam-modules/mix-configure-hook.sh
@@ -0,0 +1,18 @@
+# shellcheck shell=bash
+# this hook will symlink all dependencies found in ERL_LIBS
+# since Elixir 1.12.2 elixir does not look into ERL_LIBS for
+# elixir depencencies anymore, so those have to be symlinked to the _build directory
+mkdir -p _build/"$MIX_ENV"/lib
+while read -r -d ':' lib; do
+    for dir in "$lib"/*; do
+    # Strip version number for directory name if it exists, so naming of
+    # all libs matches what mix's expectation.
+    dest=$(basename "$dir" | cut -d '-' -f1)
+    build_dir="_build/$MIX_ENV/lib/$dest"
+    ((MIX_DEBUG == 1)) && echo "Linking $dir to $build_dir"
+    # Symlink libs to _build so that mix can find them when compiling.
+    # This is what allows mix to compile the package without searching
+    # for dependencies over the network.
+    ln -s "$dir" "$build_dir"
+    done
+done <<< "$ERL_LIBS:"
diff --git a/nixpkgs/pkgs/development/beam-modules/mix-release.nix b/nixpkgs/pkgs/development/beam-modules/mix-release.nix
index 80e8721302e8..c65e497f4d75 100644
--- a/nixpkgs/pkgs/development/beam-modules/mix-release.nix
+++ b/nixpkgs/pkgs/development/beam-modules/mix-release.nix
@@ -58,6 +58,7 @@ stdenv.mkDerivation (overridable // {
   configurePhase = attrs.configurePhase or ''
     runHook preConfigure
 
+    ${./mix-configure-hook.sh}
     # this is needed for projects that have a specific compile step
     # the dependency needs to be compiled in order for the task
     # to be available
diff --git a/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/jdk-darwin-base.nix b/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/jdk-darwin-base.nix
index bcd3309fc398..ef3e4b7219e4 100644
--- a/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/jdk-darwin-base.nix
+++ b/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/jdk-darwin-base.nix
@@ -26,6 +26,9 @@ let cpuName = stdenv.hostPlatform.parsed.cpu.name;
 
     mv $sourceRoot $out
 
+    # jni.h expects jni_md.h to be in the header search path.
+    ln -s $out/Contents/Home/include/darwin/*_md.h $out/Contents/Home/include/
+
     rm -rf $out/Home/demo
 
     # Remove some broken manpages.
diff --git a/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix b/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix
index f61d925036c0..39685131edd3 100644
--- a/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix
+++ b/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix
@@ -66,6 +66,9 @@ let result = stdenv.mkDerivation rec {
 
     mv $sourceRoot $out
 
+    # jni.h expects jni_md.h to be in the header search path.
+    ln -s $out/include/linux/*_md.h $out/include/
+
     rm -rf $out/demo
 
     # Remove some broken manpages.
diff --git a/nixpkgs/pkgs/development/compilers/adoptopenjdk-icedtea-web/default.nix b/nixpkgs/pkgs/development/compilers/adoptopenjdk-icedtea-web/default.nix
index d062c8605b66..88aa7f306691 100644
--- a/nixpkgs/pkgs/development/compilers/adoptopenjdk-icedtea-web/default.nix
+++ b/nixpkgs/pkgs/development/compilers/adoptopenjdk-icedtea-web/default.nix
@@ -3,13 +3,13 @@
 stdenv.mkDerivation rec {
   pname = "adoptopenjdk-icedtea-web";
 
-  version = "1.8.6";
+  version = "1.8.7";
 
   src = fetchFromGitHub {
     owner = "AdoptOpenJDK";
     repo = "IcedTea-Web";
     rev = "icedtea-web-${version}";
-    sha256 = "sha256-meqbFLGwCMpFoOVAfvtriRAS8ZWr374eSN3m0CdC2aM=";
+    sha256 = "sha256-XY6S1IvDqPxkYgFs7kB9AR0zQ4n3COVbS2lUT5mhTVc=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config bc ];
diff --git a/nixpkgs/pkgs/development/compilers/aldor/default.nix b/nixpkgs/pkgs/development/compilers/aldor/default.nix
index 3799f2c92127..1b87b508b6a1 100644
--- a/nixpkgs/pkgs/development/compilers/aldor/default.nix
+++ b/nixpkgs/pkgs/development/compilers/aldor/default.nix
@@ -2,7 +2,8 @@
 , autoconf, automake, libtool, jdk, perl }:
 
 stdenv.mkDerivation {
-  name = "aldor-1.2.0";
+  pname = "aldor";
+  version = "1.2.0";
 
   src = fetchgit {
     url = "https://github.com/pippijn/aldor";
diff --git a/nixpkgs/pkgs/development/compilers/algol68g/0001-plotutils-png-support.diff b/nixpkgs/pkgs/development/compilers/algol68g/0001-plotutils-png-support.diff
new file mode 100644
index 000000000000..14e7ccd56244
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/algol68g/0001-plotutils-png-support.diff
@@ -0,0 +1,27 @@
+diff -Naur algol68g-2.8.4-old/source/plotutils.c algol68g-2.8.4-new/source/plotutils.c
+--- algol68g-2.8.4-old/source/plotutils.c	2016-10-11 18:14:48.000000000 -0300
++++ algol68g-2.8.4-new/source/plotutils.c	2021-07-30 02:42:29.762627511 -0300
+@@ -1026,10 +1026,10 @@
+     X_COORD (&DEVICE (f)) = 0;
+     Y_COORD (&DEVICE (f)) = 0;
+     return (PLOTTER (&DEVICE (f)));
+-  } else if (!strcmp (device_type, "gif")) {
+-/*------------------------------------+
+-| Supported plotter type - pseudo GIF |
+-+------------------------------------*/
++  } else if (!strcmp (device_type, "gif") || !strcmp (device_type, "png")) {
++/*-------------------------------------------+
++| Supported plotter type - pseudo GIF or PNG |
+++-------------------------------------------*/
+     char *z = DEREF (char, &A68_PAGE_SIZE (&DEVICE (f))), size[BUFFER_SIZE];
+ /* Establish page size */
+     if (!scan_int (&z, &(WINDOW_X_SIZE (&DEVICE (f))))) {
+@@ -1067,7 +1067,7 @@
+     (void) pl_setplparam (PLOTTER_PARAMS (&DEVICE (f)), "BITMAPSIZE", size);
+     (void) pl_setplparam (PLOTTER_PARAMS (&DEVICE (f)), "BG_COLOR", (void *) "black");
+     (void) pl_setplparam (PLOTTER_PARAMS (&DEVICE (f)), "GIF_ANIMATION", (void *) "no");
+-    PLOTTER (&DEVICE (f)) = pl_newpl_r ("gif", NULL, STREAM (&DEVICE (f)), stderr, PLOTTER_PARAMS (&DEVICE (f)));
++    PLOTTER (&DEVICE (f)) = pl_newpl_r (device_type, NULL, STREAM (&DEVICE (f)), stderr, PLOTTER_PARAMS (&DEVICE (f)));
+     if (PLOTTER (&DEVICE (f)) == NULL) {
+       diagnostic_node (A68_RUNTIME_ERROR, p, ERROR_DEVICE_CANNOT_OPEN);
+       exit_genie (p, A68_RUNTIME_ERROR);
diff --git a/nixpkgs/pkgs/development/compilers/algol68g/default.nix b/nixpkgs/pkgs/development/compilers/algol68g/default.nix
new file mode 100644
index 000000000000..88210ca5b72e
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/algol68g/default.nix
@@ -0,0 +1,55 @@
+{ lib
+, stdenv
+, fetchurl
+, gsl
+, plotutils
+, postgresql
+}:
+
+stdenv.mkDerivation rec {
+  pname = "algol68g";
+  version = "2.8.4";
+
+  src = fetchurl {
+    url = "https://jmvdveer.home.xs4all.nl/${pname}-${version}.tar.gz";
+    hash = "sha256-WCPM0MGP4Qo2ihF8w5JHSMSl0P6N/w2dgY/3PDQlZfA=";
+  };
+
+  patches = [
+    # add PNG support
+    ./0001-plotutils-png-support.diff
+  ];
+
+  buildInputs = [
+    gsl
+    plotutils
+    postgresql
+  ];
+
+  postInstall = let
+    pdfdoc = fetchurl {
+      url = "https://jmvdveer.home.xs4all.nl/learning-algol-68-genie.pdf";
+      hash = "sha256-QCwn1e/lVfTYTeolCFErvfMhvwCgsBnASqq2K+NYmlU=";
+    };
+  in
+    ''
+      install -m644 ${pdfdoc} $out/share/doc/${pname}/learning-algol-68-genie.pdf
+    '';
+
+  meta = with lib; {
+    homepage = "https://jmvdveer.home.xs4all.nl/en.algol-68-genie.html";
+    description = "Algol 68 Genie compiler-interpreter";
+    longDescription = ''
+      Algol 68 Genie (a68g) is a recent checkout hybrid compiler-interpreter,
+      written from scratch by Marcel van der Veer. It ranks among the most
+      complete Algol 68 implementations. It implements for example arbitrary
+      precision arithmetic, complex numbers, parallel processing, partial
+      parametrisation and formatted transput, as well as support for curses,
+      regular expressions and sounds. It can be linked to GNU plotutils, the GNU
+      scientific library and PostgreSQL.
+    '';
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/development/compilers/aliceml/default.nix b/nixpkgs/pkgs/development/compilers/aliceml/default.nix
index 8f560ef61981..55a35176e7bb 100644
--- a/nixpkgs/pkgs/development/compilers/aliceml/default.nix
+++ b/nixpkgs/pkgs/development/compilers/aliceml/default.nix
@@ -1,7 +1,8 @@
 {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 {
-  name = "aliceml-1.4-7d44dc8e";
+  pname = "aliceml";
+  version = "1.4-7d44dc8e";
 
   src = fetchgit {
     url = "https://github.com/aliceml/aliceml";
diff --git a/nixpkgs/pkgs/development/compilers/avra/default.nix b/nixpkgs/pkgs/development/compilers/avra/default.nix
index 9d360780053c..30fd5f52d116 100644
--- a/nixpkgs/pkgs/development/compilers/avra/default.nix
+++ b/nixpkgs/pkgs/development/compilers/avra/default.nix
@@ -1,9 +1,10 @@
 { lib, stdenv, fetchurl, autoconf, automake }:
 stdenv.mkDerivation rec {
-  name = "avra-1.3.0";
+  pname = "avra";
+  version = "1.3.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/avra/${name}.tar.bz2";
+    url = "mirror://sourceforge/avra/avra-${version}.tar.bz2";
     sha256 = "04lp0k0h540l5pmnaai07637f0p4zi766v6sfm7cryfaca3byb56";
   };
 
diff --git a/nixpkgs/pkgs/development/compilers/bigloo/default.nix b/nixpkgs/pkgs/development/compilers/bigloo/default.nix
index a4f4287523f4..c4fa5712ea63 100644
--- a/nixpkgs/pkgs/development/compilers/bigloo/default.nix
+++ b/nixpkgs/pkgs/development/compilers/bigloo/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bigloo";
-  version = "4.3h";
+  version = "4.4b";
 
   src = fetchurl {
     url = "ftp://ftp-sop.inria.fr/indes/fp/Bigloo/bigloo-${version}.tar.gz";
-    sha256 = "0fw08096sf8ma2cncipnidnysxii0h0pc7kcqkjhkhdchknp8vig";
+    sha256 = "sha256-oxOSJwKWmwo7PYAwmeoFrKaYdYvmvQquWXyutolc488=";
   };
 
   nativeBuildInputs = [ autoconf automake libtool ];
diff --git a/nixpkgs/pkgs/development/compilers/binaryen/default.nix b/nixpkgs/pkgs/development/compilers/binaryen/default.nix
index ee47ebd98887..533be220633f 100644
--- a/nixpkgs/pkgs/development/compilers/binaryen/default.nix
+++ b/nixpkgs/pkgs/development/compilers/binaryen/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "binaryen";
-  version = "99";
+  version = "101";
 
   src = fetchFromGitHub {
     owner = "WebAssembly";
     repo = "binaryen";
     rev = "version_${version}";
-    sha256 = "1a6ixxm1f8mrr9mn6a0pimajdzsdr4w1qhr92skxq67168vvc1ic";
+    sha256 = "sha256-rNiZQIQqNbc1P2A6UTn0dRHeT3BS+nv1o81aPaJy+5U=";
   };
 
   nativeBuildInputs = [ cmake python3 ];
diff --git a/nixpkgs/pkgs/development/compilers/bluespec/default.nix b/nixpkgs/pkgs/development/compilers/bluespec/default.nix
index 7a76d4948e73..d89ed3e0d49f 100644
--- a/nixpkgs/pkgs/development/compilers/bluespec/default.nix
+++ b/nixpkgs/pkgs/development/compilers/bluespec/default.nix
@@ -1,66 +1,45 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchFromGitHub
-, fetchpatch
 , autoconf
 , automake
 , fontconfig
-, gmp-static
-, gperf
 , libX11
-, libpoly
 , perl
 , flex
 , bison
 , pkg-config
-, itktcl
-, incrtcl
 , tcl
 , tk
-, verilog
 , xorg
 , yices
 , zlib
 , ghc
-}:
+, gmp-static
+, verilog
+, asciidoctor
+, tex }:
 
 let
-  ghcWithPackages = ghc.withPackages (g: (with g; [old-time regex-compat syb split ]));
+  ghcWithPackages = ghc.withPackages (g: (with g; [ old-time regex-compat syb split ]));
+
 in stdenv.mkDerivation rec {
   pname = "bluespec";
-  version = "unstable-2021.03.29";
+  version = "2021.07";
 
   src = fetchFromGitHub {
-      owner  = "B-Lang-org";
-      repo   = "bsc";
-      rev    = "00185f7960bd1bd5554a1167be9f37e1f18ac454";
-      sha256 = "1bcdhql4cla137d8xr8m2h21dyxv0jpjpalpr5mgj2jxqfsmkbrn";
-    };
+    owner = "B-Lang-org";
+    repo = "bsc";
+    rev = version;
+    sha256 = "0gw8wyp65lpkyfhv3laazz9qypdl8qkp1j7cqp0gv11592a9p5qw";
+  };
 
   enableParallelBuilding = true;
 
-  patches = [ ./libstp_stub_makefile.patch ];
-
-  buildInputs = yices.buildInputs ++ [
-    zlib
-    tcl tk
-    libX11 # tcltk
-    xorg.libXft
-    fontconfig
-  ];
-
-  nativeBuildInputs = [
-    automake autoconf
-    perl
-    flex
-    bison
-    pkg-config
-    ghcWithPackages
-  ];
-
-  checkInputs = [
-    verilog
-  ];
+  outputs = [ "out" "doc" ];
 
+  # https://github.com/B-Lang-org/bsc/pull/278
+  patches = [ ./libstp_stub_makefile.patch ];
 
   postUnpack = ''
     mkdir -p $sourceRoot/src/vendor/yices/v2.6/yices2
@@ -79,25 +58,65 @@ in stdenv.mkDerivation rec {
     substituteInPlace src/comp/Makefile \
       --replace 'BINDDIR' 'BINDIR' \
       --replace 'install-bsc install-bluetcl' 'install-bsc install-bluetcl $(UTILEXES) install-utils'
+
     # allow running bsc to bootstrap
-    export LD_LIBRARY_PATH=/build/source/inst/lib/SAT
+    export LD_LIBRARY_PATH=$PWD/inst/lib/SAT
   '';
 
+  buildInputs = yices.buildInputs ++ [
+    fontconfig
+    libX11 # tcltk
+    tcl
+    tk
+    xorg.libXft
+    zlib
+  ];
+
+  nativeBuildInputs = [
+    automake
+    autoconf
+    asciidoctor
+    bison
+    flex
+    ghcWithPackages
+    perl
+    pkg-config
+    tex
+  ];
+
   makeFlags = [
+    "release"
     "NO_DEPS_CHECKS=1" # skip the subrepo check (this deriviation uses yices.src instead of the subrepo)
     "NOGIT=1" # https://github.com/B-Lang-org/bsc/issues/12
     "LDCONFIG=ldconfig" # https://github.com/B-Lang-org/bsc/pull/43
     "STP_STUB=1"
   ];
 
-  installPhase = "mv inst $out";
-
   doCheck = true;
 
+  checkInputs = [
+    gmp-static
+    verilog
+  ];
+
+  checkTarget = "check-smoke";
+
+  installPhase = ''
+    mkdir -p $out
+    mv inst/bin $out
+    mv inst/lib $out
+
+    # fragile, I know..
+    mkdir -p $doc/share/doc/bsc
+    mv inst/README $doc/share/doc/bsc
+    mv inst/ReleaseNotes.* $doc/share/doc/bsc
+    mv inst/doc/*.pdf $doc/share/doc/bsc
+  '';
+
   meta = {
     description = "Toolchain for the Bluespec Hardware Definition Language";
-    homepage    = "https://github.com/B-Lang-org/bsc";
-    license     = lib.licenses.bsd3;
+    homepage = "https://github.com/B-Lang-org/bsc";
+    license = lib.licenses.bsd3;
     platforms = [ "x86_64-linux" ];
     # darwin fails at https://github.com/B-Lang-org/bsc/pull/35#issuecomment-583731562
     # aarch64 fails, as GHC fails with "ghc: could not execute: opt"
diff --git a/nixpkgs/pkgs/development/compilers/bupc/default.nix b/nixpkgs/pkgs/development/compilers/bupc/default.nix
index 9b3a291a1a08..94256ed43735 100644
--- a/nixpkgs/pkgs/development/compilers/bupc/default.nix
+++ b/nixpkgs/pkgs/development/compilers/bupc/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, perl, coreutils }:
 
 stdenv.mkDerivation rec {
-  name = "berkeley_upc-2.22.0";
+  pname = "berkeley_upc";
+  version = "2.22.0";
 
   src = fetchurl {
-    url = "http://upc.lbl.gov/download/release/${name}.tar.gz";
+    url = "http://upc.lbl.gov/download/release/berkeley_upc-${version}.tar.gz";
     sha256 = "041l215x8z1cvjcx7kwjdgiaf9rl2d778k6kiv8q09bc68nwd44m";
   };
 
diff --git a/nixpkgs/pkgs/development/compilers/c3c/default.nix b/nixpkgs/pkgs/development/compilers/c3c/default.nix
new file mode 100644
index 000000000000..2fa280fc898c
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/c3c/default.nix
@@ -0,0 +1,47 @@
+{ llvmPackages
+, lib
+, fetchFromGitHub
+, cmake
+, python3
+}:
+
+llvmPackages.stdenv.mkDerivation rec {
+  pname = "c3c";
+  version = "unstable-2021-07-30";
+
+  src = fetchFromGitHub {
+    owner = "c3lang";
+    repo = pname;
+    rev = "2246b641b16e581aec9059c8358858e10a548d94";
+    sha256 = "VdMKdQsedDQCnsmTxO4HnBj5GH/EThspnotvrAscSqE=";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = [
+    llvmPackages.llvm
+    llvmPackages.lld
+  ];
+
+  checkInputs = [ python3 ];
+
+  doCheck = true;
+
+  checkPhase = ''
+    ( cd ../resources/testproject; ../../build/c3c build )
+    ( cd ../test; python src/tester.py ../build/c3c test_suite )
+  '';
+
+  installPhase = ''
+    install -Dm755 c3c $out/bin/c3c
+    cp -r lib $out
+  '';
+
+  meta = with lib; {
+    description = "Compiler for the C3 language";
+    homepage = "https://github.com/c3lang/c3c";
+    license = licenses.lgpl3Only;
+    maintainers = with maintainers; [ luc65r ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/compilers/clasp/default.nix b/nixpkgs/pkgs/development/compilers/clasp/default.nix
index 3aa7063f5513..0113a9aebc08 100644
--- a/nixpkgs/pkgs/development/compilers/clasp/default.nix
+++ b/nixpkgs/pkgs/development/compilers/clasp/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchFromGitHub, fetchFromGitLab
 , llvmPackages
 , cmake, boehmgc, gmp, zlib, ncurses, boost, libelf
-, python, git, sbcl
+, python3, git, sbcl
 , wafHook
 }:
 let
@@ -67,7 +67,7 @@ stdenv.mkDerivation rec {
     fetchSubmodules = true;
   };
 
-  nativeBuildInputs = [ cmake python git sbcl wafHook ] ++
+  nativeBuildInputs = [ cmake python3 git sbcl wafHook ] ++
     (with llvmPackages; [ llvm clang ]);
 
   buildInputs = with llvmPackages;
diff --git a/nixpkgs/pkgs/development/compilers/closure/default.nix b/nixpkgs/pkgs/development/compilers/closure/default.nix
index b5ac2e187d8c..eb8c898e09ed 100644
--- a/nixpkgs/pkgs/development/compilers/closure/default.nix
+++ b/nixpkgs/pkgs/development/compilers/closure/default.nix
@@ -2,21 +2,21 @@
 
 stdenv.mkDerivation rec {
   pname = "closure-compiler";
-  version = "20200719";
+  version = "20210808";
 
   src = fetchurl {
-    url = "https://dl.google.com/closure-compiler/compiler-${version}.tar.gz";
-    sha256 = "18095i98mk5kc1vpaf6gvmvhiyl2x4zrcwd7ix5l98jydldiz7wx";
+    url = "https://repo1.maven.org/maven2/com/google/javascript/closure-compiler/v${version}/closure-compiler-v${version}.jar";
+    sha256 = "1cvibvm8l4mp64ml6lpsh3w62bgbr42pi3i7ga8ss0prhr0dsk3y";
   };
 
-  sourceRoot = ".";
+  dontUnpack = true;
 
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ jre ];
 
   installPhase = ''
     mkdir -p $out/share/java $out/bin
-    cp closure-compiler-v${version}.jar $out/share/java
+    cp ${src} $out/share/java/closure-compiler-v${version}.jar
     makeWrapper ${jre}/bin/java $out/bin/closure-compiler \
       --add-flags "-jar $out/share/java/closure-compiler-v${version}.jar"
   '';
diff --git a/nixpkgs/pkgs/development/compilers/cmdstan/default.nix b/nixpkgs/pkgs/development/compilers/cmdstan/default.nix
index c52ffa0bafdb..a41f836e10ca 100644
--- a/nixpkgs/pkgs/development/compilers/cmdstan/default.nix
+++ b/nixpkgs/pkgs/development/compilers/cmdstan/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, python3, runtimeShell }:
 
-stdenv.mkDerivation {
-  name = "cmdstan-2.17.1";
+stdenv.mkDerivation rec {
+  pname = "cmdstan";
+  version = "2.17.1";
 
   src = fetchurl {
-    url = "https://github.com/stan-dev/cmdstan/releases/download/v2.17.1/cmdstan-2.17.1.tar.gz";
+    url = "https://github.com/stan-dev/cmdstan/releases/download/v${version}/cmdstan-${version}.tar.gz";
     sha256 = "1vq1cnrkvrvbfl40j6ajc60jdrjcxag1fi6kff5pqmadfdz9564j";
   };
 
diff --git a/nixpkgs/pkgs/development/compilers/cone/default.nix b/nixpkgs/pkgs/development/compilers/cone/default.nix
new file mode 100644
index 000000000000..9344160ad762
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/cone/default.nix
@@ -0,0 +1,42 @@
+{ llvmPackages
+, lib
+, fetchFromGitHub
+, cmake
+}:
+
+llvmPackages.stdenv.mkDerivation rec {
+  pname = "cone";
+  version = "unstable-2021-07-25";
+
+  src = fetchFromGitHub {
+    owner = "jondgoodwin";
+    repo = pname;
+    rev = "5feaabc342bcff3755f638a7e25155cd12127592";
+    sha256 = "CTDS83AWtuDY5g6NDn7O2awrYsKFf3Kp35FkMEjfbVw=";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = [
+    llvmPackages.llvm
+  ];
+
+  postPatch = ''
+    sed -i CMakeLists.txt \
+        -e 's/LLVM 7/LLVM/' \
+        -e '/AVR/d'
+  '';
+
+  installPhase = ''
+    install -Dm755 conec $out/bin/conec
+    install -Dm644 libconestd.a $out/lib/libconestd.a
+  '';
+
+  meta = with lib; {
+    description = "Cone Programming Language";
+    homepage = "https://cone.jondgoodwin.com";
+    license = licenses.mit;
+    maintainers = with maintainers; [ luc65r ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/compilers/dictu/0001-force-sqlite-to-be-found.patch b/nixpkgs/pkgs/development/compilers/dictu/0001-force-sqlite-to-be-found.patch
new file mode 100644
index 000000000000..8de4c9f57f6a
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/dictu/0001-force-sqlite-to-be-found.patch
@@ -0,0 +1,46 @@
+From bb4767f8fc413ca4cb42879a9a226fd26f10e094 Mon Sep 17 00:00:00 2001
+From: Lucas Ransan <lucas@ransan.tk>
+Date: Tue, 3 Aug 2021 20:39:11 +0200
+Subject: [PATCH] force sqlite to be found
+
+---
+ src/CMakeLists.txt | 16 +++++-----------
+ 1 file changed, 5 insertions(+), 11 deletions(-)
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index a0f3fee..58b4d0b 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -9,7 +9,7 @@ set(INCLUDE_DIR include/)
+ list(FILTER sources EXCLUDE REGEX "(main|linenoise|utf8).c")
+ list(FILTER headers EXCLUDE REGEX "(linenoise|utf8).h")
+ 
+-find_library(SQLITE_LIB SQLite3)
++find_package(SQLite3 REQUIRED)
+ set(THREADS)
+ 
+ if(DISABLE_HTTP)
+@@ -20,16 +20,10 @@ else()
+     list(APPEND libraries curl)
+ endif()
+ 
+-if(NOT SQLITE_LIB)
+-    set(THREADS_PREFER_PTHREAD_FLAG ON)
+-    find_package(Threads REQUIRED)
+-    set(THREADS Threads::Threads)
+-else()
+-    list(FILTER sources EXCLUDE REGEX "sqlite3.c")
+-    list(FILTER headers EXCLUDE REGEX "sqlite3.h")
+-    list(APPEND libraries ${SQLITE_LIB})
+-    add_compile_definitions(INCLUDE_SQLITE_LIB)
+-endif()
++list(FILTER sources EXCLUDE REGEX "sqlite3.c")
++list(FILTER headers EXCLUDE REGEX "sqlite3.h")
++list(APPEND libraries ${SQLite3_LIBRARIES})
++add_compile_definitions(SQLite3_INCLUDE_DIR)
+ 
+ if(WIN32)
+     # ws2_32 is required for winsock2.h to work correctly
+-- 
+2.32.0
+
diff --git a/nixpkgs/pkgs/development/compilers/dictu/default.nix b/nixpkgs/pkgs/development/compilers/dictu/default.nix
new file mode 100644
index 000000000000..ed142f658e6c
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/dictu/default.nix
@@ -0,0 +1,84 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, cmake
+, sqlite
+, httpSupport ? true, curl
+, cliSupport ? true
+, linenoiseSupport ? cliSupport, linenoise
+, enableLTO ? stdenv.cc.isGNU
+}:
+
+assert enableLTO -> stdenv.cc.isGNU;
+
+stdenv.mkDerivation rec {
+  pname = "dictu";
+  version = "0.20.0";
+
+  src = fetchFromGitHub {
+    owner = "dictu-lang";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-GiiNIySrfpjYf5faNNml7ZRXT5pDU0SVvNvMyBh1K8E=";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = [
+    sqlite
+  ] ++ lib.optional httpSupport curl
+  ++ lib.optional linenoiseSupport linenoise;
+
+  patches = [
+    ./0001-force-sqlite-to-be-found.patch
+  ];
+
+  postPatch = lib.optionalString (!enableLTO) ''
+    sed -i src/CMakeLists.txt \
+        -e 's/-flto/${lib.optionalString stdenv.cc.isGNU "-Wno-error=format-truncation"}/'
+  '';
+
+  cmakeFlags = [
+    "-DBUILD_CLI=${if cliSupport then "ON" else "OFF"}"
+    "-DDISABLE_HTTP=${if httpSupport then "OFF" else "ON"}"
+    "-DDISABLE_LINENOISE=${if linenoiseSupport then "OFF" else "ON"}"
+  ] ++ lib.optionals enableLTO [ # TODO: LTO with LLVM
+    "-DCMAKE_AR=${stdenv.cc.cc}/bin/gcc-ar"
+    "-DCMAKE_RANLIB=${stdenv.cc.cc}/bin/gcc-ranlib"
+  ];
+
+  doCheck = cliSupport;
+
+  preCheck = ''
+    cd ..
+    sed -i tests/runTests.du \
+        -e '/http/d'
+    sed -i tests/path/realpath.du \
+        -e 's/usr/build/g'
+    sed -i tests/path/isDir.du \
+        -e 's,/usr/bin,/build/source,' \
+        -e '/home/d'
+  '';
+
+  checkPhase = ''
+    runHook preCheck
+    ./dictu tests/runTests.du
+  '';
+
+  installPhase = ''
+    mkdir -p $out
+    cp -r /build/source/src/include $out/include
+    mkdir -p $out/lib
+    cp /build/source/build/src/libdictu_api* $out/lib
+  '' + lib.optionalString cliSupport ''
+    install -Dm755 /build/source/dictu $out/bin/dictu
+  '';
+
+  meta = with lib; {
+    description = "High-level dynamically typed, multi-paradigm, interpreted programming language";
+    homepage = "https://dictu-lang.com";
+    license = licenses.mit;
+    maintainers = with maintainers; [ luc65r ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/compilers/dtc/default.nix b/nixpkgs/pkgs/development/compilers/dtc/default.nix
index ac1acfe4b8f1..04dca4772a98 100644
--- a/nixpkgs/pkgs/development/compilers/dtc/default.nix
+++ b/nixpkgs/pkgs/development/compilers/dtc/default.nix
@@ -1,15 +1,15 @@
 { stdenv, lib, fetchgit, flex, bison, pkg-config, which
-, pythonSupport ? false, python, swig, libyaml
+, pythonSupport ? false, python ? null, swig, libyaml
 }:
 
 stdenv.mkDerivation rec {
   pname = "dtc";
-  version = "1.6.0";
+  version = "1.6.1";
 
   src = fetchgit {
     url = "https://git.kernel.org/pub/scm/utils/dtc/dtc.git";
     rev = "refs/tags/v${version}";
-    sha256 = "0li992wwd7kgy71bikanqky49y4hq3p3vx35p2hvyxy1k0wfy7i8";
+    sha256 = "sha256-gx9LG3U9etWhPxm7Ox7rOu9X5272qGeHqZtOe68zFs4=";
   };
 
   buildInputs = [ libyaml ];
@@ -22,7 +22,9 @@ stdenv.mkDerivation rec {
   makeFlags = [ "PYTHON=python" ];
   installFlags = [ "INSTALL=install" "PREFIX=$(out)" "SETUP_PREFIX=$(out)" ];
 
-  doCheck = true;
+  # Checks are broken on aarch64 darwin
+  # https://github.com/NixOS/nixpkgs/pull/118700#issuecomment-885892436
+  doCheck = !stdenv.isDarwin;
 
   meta = with lib; {
     description = "Device Tree Compiler";
diff --git a/nixpkgs/pkgs/development/compilers/ecl/16.1.2.nix b/nixpkgs/pkgs/development/compilers/ecl/16.1.2.nix
index 0789addb337b..2742c2b8c07e 100644
--- a/nixpkgs/pkgs/development/compilers/ecl/16.1.2.nix
+++ b/nixpkgs/pkgs/development/compilers/ecl/16.1.2.nix
@@ -7,15 +7,13 @@
 , useBoehmgc ? true, boehmgc
 }:
 
-assert useBoehmgc -> boehmgc != null;
-
 let
   s = # Generated upstream information
   rec {
     baseName="ecl";
     version="16.1.2";
     name="${baseName}-${version}";
-    url="https://common-lisp.net/project/ecl/static/files/release/ecl-16.1.2.tgz";
+    url="https://common-lisp.net/project/ecl/static/files/release/ecl-${version}.tgz";
     sha256="16ab8qs3awvdxy8xs8jy82v8r04x4wr70l9l2j45vgag18d2nj1d";
   };
   buildInputs = [
@@ -38,12 +36,11 @@ stdenv.mkDerivation {
 
   configureFlags = [
     (if threadSupport then "--enable-threads" else "--disable-threads")
-    "--with-gmp-prefix=${gmp.dev}"
-    "--with-libffi-prefix=${libffi.dev}"
-    ]
-    ++
-    (lib.optional (! noUnicode)
-      "--enable-unicode")
+    "--with-gmp-incdir=${lib.getDev gmp}/include"
+    "--with-gmp-libdir=${lib.getLib gmp}/lib"
+    # -incdir, -libdir doesn't seem to be supported for libffi
+    "--with-libffi-prefix=${lib.getDev libffi}"
+    ] ++ lib.optional (! noUnicode) "--enable-unicode"
     ;
 
   patches = [
@@ -69,16 +66,31 @@ stdenv.mkDerivation {
   postInstall = ''
     sed -e 's/@[-a-zA-Z_]*@//g' -i $out/bin/ecl-config
     wrapProgram "$out/bin/ecl" \
-      --prefix PATH ':' "${gcc}/bin" \
-      --prefix NIX_LDFLAGS ' ' "-L${gmp.lib or gmp.out or gmp}/lib" \
-      --prefix NIX_LDFLAGS ' ' "-L${libffi.lib or libffi.out or libffi}/lib"
+      --prefix PATH ':' "${
+        lib.makeBinPath [
+          gcc                   # for the C compiler
+          gcc.bintools.bintools # for ar
+        ]
+      }" \
+  ''
+  # ecl 16.1.2 is too old to have -libdir for libffi and boehmgc, so we need to
+  # use NIX_LDFLAGS_BEFORE to make gcc find these particular libraries.
+  # Since it is missing even the prefix flag for boehmgc we also need to inject
+  # the correct -I flag via NIX_CFLAGS_COMPILE. Since we have access to it, we
+  # create the variables with suffixSalt (which seems to be necessary for
+  # NIX_CFLAGS_COMPILE even).
+  + lib.optionalString useBoehmgc ''
+      --prefix NIX_CFLAGS_COMPILE_${gcc.suffixSalt} ' ' "-I${lib.getDev boehmgc}/include" \
+      --prefix NIX_LDFLAGS_BEFORE_${gcc.bintools.suffixSalt} ' ' "-L${lib.getLib boehmgc}/lib" \
+  '' + ''
+      --prefix NIX_LDFLAGS_BEFORE_${gcc.bintools.suffixSalt} ' ' "-L${lib.getLib libffi}/lib"
   '';
 
-  meta = {
+  meta = with lib; {
     inherit (s) version;
     description = "Lisp implementation aiming to be small, fast and easy to embed";
-    license = lib.licenses.mit ;
-    maintainers = [lib.maintainers.raskin];
-    platforms = lib.platforms.unix;
+    license = licenses.mit ;
+    maintainers = [ maintainers.raskin ];
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/compilers/ecl/default.nix b/nixpkgs/pkgs/development/compilers/ecl/default.nix
index 083998049c1e..44f7eab62ee5 100644
--- a/nixpkgs/pkgs/development/compilers/ecl/default.nix
+++ b/nixpkgs/pkgs/development/compilers/ecl/default.nix
@@ -45,31 +45,33 @@ stdenv.mkDerivation {
 
   configureFlags = [
     (if threadSupport then "--enable-threads" else "--disable-threads")
-    "--with-gmp-prefix=${gmp.dev}"
-    "--with-libffi-prefix=${libffi.dev}"
-    ]
-    ++
-    (lib.optional (! noUnicode)
-      "--enable-unicode")
-    ;
+    "--with-gmp-incdir=${lib.getDev gmp}/include"
+    "--with-gmp-libdir=${lib.getLib gmp}/lib"
+    "--with-libffi-incdir=${lib.getDev libffi}/include"
+    "--with-libffi-libdir=${lib.getLib libffi}/lib"
+  ] ++ lib.optionals useBoehmgc [
+    "--with-libgc-incdir=${lib.getDev boehmgc}/include"
+    "--with-libgc-libdir=${lib.getLib boehmgc}/lib"
+  ] ++ lib.optional (!noUnicode) "--enable-unicode";
 
   hardeningDisable = [ "format" ];
 
   postInstall = ''
     sed -e 's/@[-a-zA-Z_]*@//g' -i $out/bin/ecl-config
-    wrapProgram "$out/bin/ecl" \
-      --prefix PATH ':' "${gcc}/bin" \
-      --prefix NIX_LDFLAGS ' ' "-L${gmp.lib or gmp.out or gmp}/lib" \
-      --prefix NIX_LDFLAGS ' ' "-L${libffi.lib or libffi.out or libffi}/lib"
+    wrapProgram "$out/bin/ecl" --prefix PATH ':' "${
+      lib.makeBinPath [
+        gcc                   # for the C compiler
+        gcc.bintools.bintools # for ar
+      ]
+    }"
   '';
 
-  meta = {
-    inherit (s) version;
+  meta = with lib; {
     description = "Lisp implementation aiming to be small, fast and easy to embed";
     homepage = "https://common-lisp.net/project/ecl/";
-    license = lib.licenses.mit ;
-    maintainers = [lib.maintainers.raskin];
-    platforms = lib.platforms.unix;
+    license = licenses.mit ;
+    maintainers = [ maintainers.raskin ];
+    platforms = platforms.unix;
     changelog = "https://gitlab.com/embeddable-common-lisp/ecl/-/raw/${s.version}/CHANGELOG";
   };
 }
diff --git a/nixpkgs/pkgs/development/compilers/edk2/default.nix b/nixpkgs/pkgs/development/compilers/edk2/default.nix
index 9d1abc11af19..1a6685e91411 100644
--- a/nixpkgs/pkgs/development/compilers/edk2/default.nix
+++ b/nixpkgs/pkgs/development/compilers/edk2/default.nix
@@ -5,7 +5,6 @@
   fetchpatch,
   libuuid,
   python3,
-  iasl,
   bc,
   clang_9,
   llvmPackages_9,
diff --git a/nixpkgs/pkgs/development/compilers/emscripten/0001-emulate-clang-sysroot-include-logic.patch b/nixpkgs/pkgs/development/compilers/emscripten/0001-emulate-clang-sysroot-include-logic.patch
new file mode 100644
index 000000000000..9cb3ca2bf9f6
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/emscripten/0001-emulate-clang-sysroot-include-logic.patch
@@ -0,0 +1,42 @@
+From 67f54fde2b1683aae3800f7a86a4e507c1125be8 Mon Sep 17 00:00:00 2001
+From: Yureka <yuka@yuka.dev>
+Date: Sat, 7 Aug 2021 09:16:46 +0200
+Subject: [PATCH] emulate clang 'sysroot + /include' logic
+
+Authored-By: Alexander Khovansky <alex@khovansky.me>
+Co-Authored-By: Yureka <yuka@yuka.dev>
+
+Clang provided by nix patches out logic that appends 'sysroot + /include'
+to the include path as well as automatic inclusion of libcxx includes (/include/c++/v1).
+The patch below adds that logic back by introducing cflags emulating this behavior to emcc
+invocations directly.
+
+Important note: with non-nix clang, sysroot/include dir ends up being the last
+in the include search order, right after the resource root.
+Hence usage of -idirafter. Clang also documents an -isystem-after flag
+but it doesn't appear to work
+---
+ emcc.py | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/emcc.py b/emcc.py
+index 999314afc..0e23c066c 100755
+--- a/emcc.py
++++ b/emcc.py
+@@ -759,7 +759,12 @@ def emsdk_ldflags(user_args):
+ 
+ 
+ def emsdk_cflags(user_args):
+-  cflags = ['--sysroot=' + shared.Cache.get_sysroot(absolute=True)]
++  cflags = [
++    '--sysroot=' + shared.Cache.get_sysroot(absolute=True),
++    '-resource-dir=@resourceDir@',
++    '-idirafter' + shared.Cache.get_sysroot(absolute=True) + os.path.join('/include'),
++    '-iwithsysroot' + os.path.join('/include','c++','v1')
++  ]
+ 
+   def array_contains_any_of(hay, needles):
+     for n in needles:
+-- 
+2.32.0
+
diff --git a/nixpkgs/pkgs/development/compilers/emscripten/default.nix b/nixpkgs/pkgs/development/compilers/emscripten/default.nix
index a142008e2e30..c514b86a6c42 100644
--- a/nixpkgs/pkgs/development/compilers/emscripten/default.nix
+++ b/nixpkgs/pkgs/development/compilers/emscripten/default.nix
@@ -1,17 +1,17 @@
 { lib, stdenv, fetchFromGitHub, python3, nodejs, closurecompiler
 , jre, binaryen
-, llvmPackages_11
-, symlinkJoin, makeWrapper
+, llvmPackages
+, symlinkJoin, makeWrapper, substituteAll
 , mkYarnModules
 }:
 
 stdenv.mkDerivation rec {
   pname = "emscripten";
-  version = "2.0.10";
+  version = "2.0.27";
 
   llvmEnv = symlinkJoin {
     name = "emscripten-llvm-${version}";
-    paths = with llvmPackages_11; [ clang-unwrapped lld llvm ];
+    paths = with llvmPackages; [ clang-unwrapped clang-unwrapped.lib lld llvm ];
   };
 
   nodeModules = mkYarnModules {
@@ -26,27 +26,32 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "emscripten-core";
     repo = "emscripten";
-    sha256 = "0jy4n1pykk9vkm5da9v3qsfrl6j7yhngcazh2792xxs6wzfcs9gk";
+    sha256 = "1dpfib2nmbvskqlaqw3kvaay69qpa7d155hd4w05c2xgmahmrd4n";
     rev = version;
   };
 
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ nodejs python3 ];
 
+  patches = [
+    (substituteAll {
+      src = ./0001-emulate-clang-sysroot-include-logic.patch;
+      resourceDir = "${llvmEnv}/lib/clang/${llvmPackages.release_version}/";
+    })
+  ];
+
   buildPhase = ''
+    runHook preBuild
+
     patchShebangs .
 
     # fixes cmake support
     sed -i -e "s/print \('emcc (Emscript.*\)/sys.stderr.write(\1); sys.stderr.flush()/g" emcc.py
 
     # disables cache in user home, use installation directory instead
-    sed -i '/^def/!s/root_is_writable()/True/' tools/shared.py
+    sed -i '/^def/!s/root_is_writable()/True/' tools/config.py
     sed -i "/^def check_sanity/a\\  return" tools/shared.py
 
-    # super ugly: monkeypatch to add sysroot/include to the include
-    # path because they are otherwise not part of Nix's clang.
-    sed -i "490a\\ '/include'," tools/shared.py
-
     # required for wasm2c
     ln -s ${nodeModules}/node_modules .
 
@@ -66,19 +71,19 @@ stdenv.mkDerivation rec {
     sed -i "s|^EMAR =.*|EMAR='$out/bin/emar'|" tools/shared.py
     sed -i "s|^EMRANLIB =.*|EMRANLIB='$out/bin/emranlib'|" tools/shared.py
 
-    # The tests use the C compiler to compile generated C code,
-    # use the wrapped compiler
-    sed -i 's/shared.CLANG_CC/"cc"/' tests/runner.py
+    runHook postBuild
   '';
 
   installPhase = ''
+    runHook preInstall
+
     appdir=$out/share/emscripten
     mkdir -p $appdir
     cp -r . $appdir
     chmod -R +w $appdir
 
     mkdir -p $out/bin
-    for b in em++ em-config emar embuilder.py emcc emcmake emconfigure emmake emranlib emrun emscons; do
+    for b in em++ em-config emar embuilder.py emcc emcmake emconfigure emmake emranlib emrun emscons emsize; do
       makeWrapper $appdir/$b $out/bin/$b \
         --set NODE_PATH ${nodeModules}/node_modules \
         --set EM_EXCLUSIVE_CACHE_ACCESS 1 \
@@ -92,8 +97,12 @@ stdenv.mkDerivation rec {
       # wasm2c doesn't work with PIC
       $out/bin/emcc -s WASM2C -s STANDALONE_WASM $LTO test.c
 
-      for RELOCATABLE in "" "-s RELOCATABLE"; do
-        $out/bin/emcc $RELOCATABLE $LTO test.c
+      for BIND in "" "--bind"; do
+        for MT in "" "-s USE_PTHREADS"; do
+          for RELOCATABLE in "" "-s RELOCATABLE"; do
+            $out/bin/emcc $RELOCATABLE $BIND $MT $LTO test.c
+          done
+        done
       done
     done
     popd
@@ -103,6 +112,8 @@ stdenv.mkDerivation rec {
     pushd $appdir
     python tests/runner.py test_hello_world
     popd
+
+    runHook postInstall
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/compilers/emscripten/package.json b/nixpkgs/pkgs/development/compilers/emscripten/package.json
index 36cd2efe27a0..1102fd62ef2a 100644
--- a/nixpkgs/pkgs/development/compilers/emscripten/package.json
+++ b/nixpkgs/pkgs/development/compilers/emscripten/package.json
@@ -1,15 +1,21 @@
 {
   "name": "emscripten",
-  "version": "2.0.10",
+  "version": "2.0.26",
+  "private": true,
   "devDependencies": {
-    "es-check": "^5.1.0",
+    "es-check": "^5.2.4",
+    "eslint": "^7.29.0",
+    "eslint-config-google": "^0.14.0",
+    "source-map": "0.5.7",
     "ws": "~0.4.28"
   },
   "dependencies": {
-    "acorn": "7.3.1",
-    "google-closure-compiler": "20200920.0.0",
-    "html-minifier-terser": "5.0.2",
-    "source-map": "0.5.6",
+    "acorn": "8.4.1",
+    "google-closure-compiler": "20210601.0.0",
+    "html-minifier-terser": "5.1.1",
     "wasm2c": "1.0.0"
+  },
+  "scripts": {
+    "lint": "eslint src/parseTools.js"
   }
 }
diff --git a/nixpkgs/pkgs/development/compilers/emscripten/yarn.lock b/nixpkgs/pkgs/development/compilers/emscripten/yarn.lock
index 948fcd4ed7f1..0e8853952950 100644
--- a/nixpkgs/pkgs/development/compilers/emscripten/yarn.lock
+++ b/nixpkgs/pkgs/development/compilers/emscripten/yarn.lock
@@ -2,16 +2,87 @@
 # yarn lockfile v1
 
 
-acorn@7.3.1:
-  version "7.3.1"
-  resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.3.1.tgz#85010754db53c3fbaf3b9ea3e083aa5c5d147ffd"
-  integrity sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA==
+"@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/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/highlight@^7.10.4":
+  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"
+    chalk "^2.0.0"
+    js-tokens "^4.0.0"
+
+"@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==
+  dependencies:
+    ajv "^6.12.4"
+    debug "^4.1.1"
+    espree "^7.3.0"
+    globals "^13.9.0"
+    ignore "^4.0.6"
+    import-fresh "^3.2.1"
+    js-yaml "^3.13.1"
+    minimatch "^3.0.4"
+    strip-json-comments "^3.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==
+
+acorn@8.4.1:
+  version "8.4.1"
+  resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.4.1.tgz#56c36251fc7cabc7096adc18f05afe814321a28c"
+  integrity sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==
 
 acorn@^6.4.1:
   version "6.4.2"
   resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6"
   integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==
 
+acorn@^7.4.0:
+  version "7.4.1"
+  resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
+  integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
+
+ajv@^6.10.0, ajv@^6.12.4:
+  version "6.12.6"
+  resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
+  integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
+  dependencies:
+    fast-deep-equal "^3.1.1"
+    fast-json-stable-stringify "^2.0.0"
+    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-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==
+
 ansi-escapes@^1.1.0:
   version "1.4.0"
   resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e"
@@ -27,6 +98,11 @@ ansi-regex@^3.0.0:
   resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
   integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=
 
+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-styles@^2.2.1:
   version "2.2.1"
   resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
@@ -39,6 +115,13 @@ ansi-styles@^3.2.1:
   dependencies:
     color-convert "^1.9.0"
 
+ansi-styles@^4.0.0, ansi-styles@^4.1.0:
+  version "4.3.0"
+  resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
+  integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
+  dependencies:
+    color-convert "^2.0.1"
+
 ansi@^0.3.0, ansi@~0.3.1:
   version "0.3.1"
   resolved "https://registry.yarnpkg.com/ansi/-/ansi-0.3.1.tgz#0c42d4fb17160d5a9af1e484bace1c66922c1b21"
@@ -52,6 +135,18 @@ are-we-there-yet@~1.1.2:
     delegates "^1.0.0"
     readable-stream "^2.0.6"
 
+argparse@^1.0.7:
+  version "1.0.10"
+  resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
+  integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
+  dependencies:
+    sprintf-js "~1.0.2"
+
+astral-regex@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31"
+  integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==
+
 async@~1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/async/-/async-1.0.0.tgz#f8fc04ca3a13784ade9e1641af98578cfbd647a9"
@@ -80,13 +175,18 @@ buffer-from@^1.0.0:
   resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
   integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==
 
-camel-case@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73"
-  integrity sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=
+callsites@^3.0.0:
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
+  integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
+
+camel-case@^4.1.1:
+  version "4.1.2"
+  resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a"
+  integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==
   dependencies:
-    no-case "^2.2.0"
-    upper-case "^1.1.1"
+    pascal-case "^3.1.2"
+    tslib "^2.0.3"
 
 caporal@1.4.0:
   version "1.4.0"
@@ -103,7 +203,7 @@ caporal@1.4.0:
     tabtab "^2.2.2"
     winston "^2.3.1"
 
-chalk@2.x:
+chalk@2.x, 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==
@@ -123,7 +223,15 @@ chalk@^1.0.0:
     strip-ansi "^3.0.0"
     supports-color "^2.0.0"
 
-clean-css@^4.2.1:
+chalk@^4.0.0:
+  version "4.1.1"
+  resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.1.tgz#c80b3fab28bf6371e6863325eee67e618b77e6ad"
+  integrity sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==
+  dependencies:
+    ansi-styles "^4.1.0"
+    supports-color "^7.1.0"
+
+clean-css@^4.2.3:
   version "4.2.3"
   resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78"
   integrity sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==
@@ -188,11 +296,23 @@ color-convert@^1.9.0:
   dependencies:
     color-name "1.1.3"
 
+color-convert@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
+  integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
+  dependencies:
+    color-name "~1.1.4"
+
 color-name@1.1.3:
   version "1.1.3"
   resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
   integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
 
+color-name@~1.1.4:
+  version "1.1.4"
+  resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
+  integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
+
 colorette@^1.0.1:
   version "1.2.2"
   resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94"
@@ -213,7 +333,7 @@ commander@^2.20.0:
   resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
   integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
 
-commander@^4.0.0:
+commander@^4.1.1:
   version "4.1.1"
   resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068"
   integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==
@@ -243,6 +363,15 @@ core-util-is@~1.0.0:
   resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
   integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
 
+cross-spawn@^7.0.2:
+  version "7.0.3"
+  resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
+  integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
+  dependencies:
+    path-key "^3.1.0"
+    shebang-command "^2.0.0"
+    which "^2.0.1"
+
 cycle@1.0.x:
   version "1.0.3"
   resolved "https://registry.yarnpkg.com/cycle/-/cycle-1.0.3.tgz#21e80b2be8580f98b468f379430662b046c34ad2"
@@ -255,12 +384,51 @@ debug@^2.2.0:
   dependencies:
     ms "2.0.0"
 
+debug@^4.0.1, debug@^4.1.1:
+  version "4.3.1"
+  resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee"
+  integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==
+  dependencies:
+    ms "2.1.2"
+
+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=
+
 delegates@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
   integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=
 
-es-check@^5.1.0:
+doctrine@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
+  integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==
+  dependencies:
+    esutils "^2.0.2"
+
+dot-case@^3.0.4:
+  version "3.0.4"
+  resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751"
+  integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==
+  dependencies:
+    no-case "^3.0.4"
+    tslib "^2.0.3"
+
+emoji-regex@^8.0.0:
+  version "8.0.0"
+  resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
+  integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
+
+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"
+
+es-check@^5.2.4:
   version "5.2.4"
   resolved "https://registry.yarnpkg.com/es-check/-/es-check-5.2.4.tgz#76fe2d96ad238bd8ec1d9c3b3d0e98ddbcc723e7"
   integrity sha512-FZ3qAJ9hwguqPvGGagaKAVDnusSkezeHbiKNM5rOepOjloeVuX2e6meMxQ+mKcnWbAFucCG7fszNrzUT8bvHcQ==
@@ -274,6 +442,129 @@ escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
   resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
   integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
 
+escape-string-regexp@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
+  integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
+
+eslint-config-google@^0.14.0:
+  version "0.14.0"
+  resolved "https://registry.yarnpkg.com/eslint-config-google/-/eslint-config-google-0.14.0.tgz#4f5f8759ba6e11b424294a219dbfa18c508bcc1a"
+  integrity sha512-WsbX4WbjuMvTdeVL6+J3rK1RGhCTqjsFjX7UMSMgZiyxxaNLkoJENbrGExzERFeoTpGw3F3FypTiWAP9ZXzkEw==
+
+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==
+  dependencies:
+    esrecurse "^4.3.0"
+    estraverse "^4.1.1"
+
+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==
+  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:
+  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==
+  dependencies:
+    "@babel/code-frame" "7.12.11"
+    "@eslint/eslintrc" "^0.4.2"
+    ajv "^6.10.0"
+    chalk "^4.0.0"
+    cross-spawn "^7.0.2"
+    debug "^4.0.1"
+    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"
+    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"
+    globals "^13.6.0"
+    ignore "^4.0.6"
+    import-fresh "^3.0.0"
+    imurmurhash "^0.1.4"
+    is-glob "^4.0.0"
+    js-yaml "^3.13.1"
+    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"
+    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==
+  dependencies:
+    acorn "^7.4.0"
+    acorn-jsx "^5.3.1"
+    eslint-visitor-keys "^1.3.0"
+
+esprima@^4.0.0:
+  version "4.0.1"
+  resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
+  integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
+
+esquery@^1.4.0:
+  version "1.4.0"
+  resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5"
+  integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==
+  dependencies:
+    estraverse "^5.1.0"
+
+esrecurse@^4.3.0:
+  version "4.3.0"
+  resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
+  integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
+  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==
+
+esutils@^2.0.2:
+  version "2.0.3"
+  resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
+  integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
+
 exit-hook@^1.0.0:
   version "1.1.1"
   resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8"
@@ -298,6 +589,16 @@ eyes@0.1.x:
   resolved "https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0"
   integrity sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=
 
+fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
+  version "3.1.3"
+  resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
+  integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
+
+fast-json-stable-stringify@^2.0.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
+  integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
+
 fast-levenshtein@^2.0.6:
   version "2.0.6"
   resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
@@ -311,11 +612,36 @@ figures@^1.3.5:
     escape-string-regexp "^1.0.5"
     object-assign "^4.1.0"
 
+file-entry-cache@^6.0.1:
+  version "6.0.1"
+  resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027"
+  integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==
+  dependencies:
+    flat-cache "^3.0.4"
+
+flat-cache@^3.0.4:
+  version "3.0.4"
+  resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11"
+  integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==
+  dependencies:
+    flatted "^3.1.0"
+    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==
+
 fs.realpath@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
   integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
 
+functional-red-black-tree@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
+  integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=
+
 gauge@~1.2.5:
   version "1.2.7"
   resolved "https://registry.yarnpkg.com/gauge/-/gauge-1.2.7.tgz#e9cec5483d3d4ee0ef44b60a7d99e4935e136d93"
@@ -327,7 +653,14 @@ gauge@~1.2.5:
     lodash.padend "^4.1.0"
     lodash.padstart "^4.1.0"
 
-glob@^7.1.2:
+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==
+  dependencies:
+    is-glob "^4.0.1"
+
+glob@^7.1.2, glob@^7.1.3:
   version "7.1.7"
   resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90"
   integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==
@@ -339,40 +672,47 @@ glob@^7.1.2:
     once "^1.3.0"
     path-is-absolute "^1.0.0"
 
-google-closure-compiler-java@^20200920.0.0:
-  version "20200920.0.0"
-  resolved "https://registry.yarnpkg.com/google-closure-compiler-java/-/google-closure-compiler-java-20200920.0.0.tgz#23519b14e004f2a9eda4f5b887842ae46ad7022e"
-  integrity sha512-q8m/+QLBWrzjg5VZ2b4B628zDvbi0Gyenj9bvZQlPY7mqj68HXhe5aOfKzZO7vXgHDXMvsvI3v/1g5mPAku/5w==
-
-google-closure-compiler-linux@^20200920.0.0:
-  version "20200920.0.0"
-  resolved "https://registry.yarnpkg.com/google-closure-compiler-linux/-/google-closure-compiler-linux-20200920.0.0.tgz#622c28a784e8a93f9cc5e7cd7b675d2ed0e11d0b"
-  integrity sha512-F5HcTbeklcaxdWzlZu5b1ZKzCt1kSBUWsBfvlrDCFkA2pdBxIIC2VPokGAUZCqlfno2J2gYARz8FNCrx0tCx5g==
-
-google-closure-compiler-osx@^20200920.0.0:
-  version "20200920.0.0"
-  resolved "https://registry.yarnpkg.com/google-closure-compiler-osx/-/google-closure-compiler-osx-20200920.0.0.tgz#6157a06e7d851d25d60de95c4bcd464d768278b1"
-  integrity sha512-2WY+HaUWVQNg9WZs9d4Op3zvS6yIVN2AIouU4grwYWXfFk+CMXZou0ASlsOURaYc2WZ22LW/G1w3vINDoCkSww==
-
-google-closure-compiler-windows@^20200920.0.0:
-  version "20200920.0.0"
-  resolved "https://registry.yarnpkg.com/google-closure-compiler-windows/-/google-closure-compiler-windows-20200920.0.0.tgz#755ddeb8032530c6ed13962e328d9af3269d0748"
-  integrity sha512-0c4Dem3em3ASNpcR/2USx1Kvb+I7L2MvsV1IZ5Pu98jTuhnkmlccQqPzk2rZR6lllVbVFXTb6tju0JxZ7Zoxjg==
-
-google-closure-compiler@20200920.0.0:
-  version "20200920.0.0"
-  resolved "https://registry.yarnpkg.com/google-closure-compiler/-/google-closure-compiler-20200920.0.0.tgz#e1c54b7f1be8cbb33649d8d05e761bbf11e4eaa3"
-  integrity sha512-IOC77xL3+pYcAM+OVfcILKdrZNEy767JmpdVs2sq3I9+4JoHeKaJrmQXgbcXN2reUmzBw5b5m9Kd036Cr8ouBA==
+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==
+  dependencies:
+    type-fest "^0.20.2"
+
+google-closure-compiler-java@^20210601.0.0:
+  version "20210601.0.0"
+  resolved "https://registry.yarnpkg.com/google-closure-compiler-java/-/google-closure-compiler-java-20210601.0.0.tgz#88dc11b334bee6a704d9674c5143fd2e0d553517"
+  integrity sha512-bH6nIwOmp4qDWvlbXx5/DE3XA2aDGQoCpmRYZJGONY1Sy6Xfbq0ioXRHH9eBDP9hxhCJ5Sd/K89A0NZ8Nz9RJA==
+
+google-closure-compiler-linux@^20210601.0.0:
+  version "20210601.0.0"
+  resolved "https://registry.yarnpkg.com/google-closure-compiler-linux/-/google-closure-compiler-linux-20210601.0.0.tgz#6e5dd7b00b96dc1fd1ba30e3401af85558768322"
+  integrity sha512-rnEQt7zz/1P1SfPhJiHQpfCgMPrsVVyEgDs09h67xn6+LXa9L0RP+hrJDEHqSWwjDPz0BkfUUv6zkqZvp1h/lw==
+
+google-closure-compiler-osx@^20210601.0.0:
+  version "20210601.0.0"
+  resolved "https://registry.yarnpkg.com/google-closure-compiler-osx/-/google-closure-compiler-osx-20210601.0.0.tgz#e23356bc9ef6e68c2980f60a207f603767b50b21"
+  integrity sha512-A5r4s/WthR2iLMM0mxsluw8EW2AcOomC5ri/H6FjzpMq0RVEnLTgaGYdXolUAfEzH/7XtJJT2+JkYk3HSLCtrg==
+
+google-closure-compiler-windows@^20210601.0.0:
+  version "20210601.0.0"
+  resolved "https://registry.yarnpkg.com/google-closure-compiler-windows/-/google-closure-compiler-windows-20210601.0.0.tgz#b5400d06bbf0bbd2602ee3ae0c2bc7ebd5829692"
+  integrity sha512-6r94bPShnB0XXh9+5/qXGDHJN2PQGhF9yJPcgBZj+FAZlQGzlYkT0pkyp+loZT3lG+YRbjD28Lgo7xMcY4xgkA==
+
+google-closure-compiler@20210601.0.0:
+  version "20210601.0.0"
+  resolved "https://registry.yarnpkg.com/google-closure-compiler/-/google-closure-compiler-20210601.0.0.tgz#34597c33c9285ebd3a5364f5299f6c9ddc9fc88a"
+  integrity sha512-lzzEoG2VTB7uUjnWnMyeZMU163w69HJpM27yh8Up9Ha5McHZeESjt3NRwU8cWMbCRdY06nFbRCDIVCRcadHCiw==
   dependencies:
     chalk "2.x"
-    google-closure-compiler-java "^20200920.0.0"
+    google-closure-compiler-java "^20210601.0.0"
     minimist "1.x"
     vinyl "2.x"
     vinyl-sourcemaps-apply "^0.2.0"
   optionalDependencies:
-    google-closure-compiler-linux "^20200920.0.0"
-    google-closure-compiler-osx "^20200920.0.0"
-    google-closure-compiler-windows "^20200920.0.0"
+    google-closure-compiler-linux "^20210601.0.0"
+    google-closure-compiler-osx "^20210601.0.0"
+    google-closure-compiler-windows "^20210601.0.0"
 
 has-ansi@^2.0.0:
   version "2.0.0"
@@ -386,6 +726,11 @@ has-flag@^3.0.0:
   resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
   integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
 
+has-flag@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
+  integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
+
 has-unicode@^2.0.0:
   version "2.0.1"
   resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
@@ -396,18 +741,36 @@ he@^1.2.0:
   resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
   integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
 
-html-minifier-terser@5.0.2:
-  version "5.0.2"
-  resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-5.0.2.tgz#0e67a0b062ae1dd0719fc73199479298f807ae16"
-  integrity sha512-VAaitmbBuHaPKv9bj47XKypRhgDxT/cDLvsPiiF7w+omrN3K0eQhpigV9Z1ilrmHa9e0rOYcD6R/+LCDADGcnQ==
+html-minifier-terser@5.1.1:
+  version "5.1.1"
+  resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz#922e96f1f3bb60832c2634b79884096389b1f054"
+  integrity sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==
   dependencies:
-    camel-case "^3.0.0"
-    clean-css "^4.2.1"
-    commander "^4.0.0"
+    camel-case "^4.1.1"
+    clean-css "^4.2.3"
+    commander "^4.1.1"
     he "^1.2.0"
-    param-case "^2.1.1"
+    param-case "^3.0.3"
     relateurl "^0.2.7"
-    terser "^4.3.9"
+    terser "^4.6.3"
+
+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==
+
+import-fresh@^3.0.0, import-fresh@^3.2.1:
+  version "3.3.0"
+  resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
+  integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==
+  dependencies:
+    parent-module "^1.0.0"
+    resolve-from "^4.0.0"
+
+imurmurhash@^0.1.4:
+  version "0.1.4"
+  resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
+  integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
 
 inflight@^1.0.4:
   version "1.0.6"
@@ -442,6 +805,11 @@ inquirer@^1.0.2:
     strip-ansi "^3.0.0"
     through "^2.3.6"
 
+is-extglob@^2.1.1:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
+  integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
+
 is-fullwidth-code-point@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
@@ -454,26 +822,89 @@ is-fullwidth-code-point@^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"
+  integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
+
+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==
+  dependencies:
+    is-extglob "^2.1.1"
+
 isarray@~1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
   integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
 
+isexe@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
+  integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
+
 isstream@0.1.x:
   version "0.1.2"
   resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
   integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=
 
+js-tokens@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
+  integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
+
+js-yaml@^3.13.1:
+  version "3.14.1"
+  resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"
+  integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
+  dependencies:
+    argparse "^1.0.7"
+    esprima "^4.0.0"
+
+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"
+  integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=
+
+levn@^0.4.1:
+  version "0.4.1"
+  resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
+  integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==
+  dependencies:
+    prelude-ls "^1.2.1"
+    type-check "~0.4.0"
+
 lodash.camelcase@^4.3.0:
   version "4.3.0"
   resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6"
   integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY=
 
+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.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.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.pad@^4.1.0:
   version "4.5.1"
   resolved "https://registry.yarnpkg.com/lodash.pad/-/lodash.pad-4.5.1.tgz#4330949a833a7c8da22cc20f6a26c4d59debba70"
@@ -489,6 +920,11 @@ lodash.padstart@^4.1.0:
   resolved "https://registry.yarnpkg.com/lodash.padstart/-/lodash.padstart-4.6.1.tgz#d2e3eebff0d9d39ad50f5cbd1b52a7bce6bb611b"
   integrity sha1-0uPuv/DZ05rVD1y9G1KnvOa7YRs=
 
+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.uniq@^4.5.0:
   version "4.5.0"
   resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
@@ -499,10 +935,19 @@ lodash@^4.17.14, lodash@^4.3.0:
   resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
   integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
 
-lower-case@^1.1.1:
-  version "1.1.4"
-  resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac"
-  integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw=
+lower-case@^2.0.2:
+  version "2.0.2"
+  resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28"
+  integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==
+  dependencies:
+    tslib "^2.0.3"
+
+lru-cache@^6.0.0:
+  version "6.0.0"
+  resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
+  integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
+  dependencies:
+    yallist "^4.0.0"
 
 micromist@1.1.0:
   version "1.1.0"
@@ -535,6 +980,11 @@ ms@2.0.0:
   resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
   integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
 
+ms@2.1.2:
+  version "2.1.2"
+  resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
+  integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
+
 mute-stream@0.0.6:
   version "0.0.6"
   resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.6.tgz#48962b19e169fd1dfc240b3f1e7317627bbc47db"
@@ -545,12 +995,18 @@ nan@~1.0.0:
   resolved "https://registry.yarnpkg.com/nan/-/nan-1.0.0.tgz#ae24f8850818d662fcab5acf7f3b95bfaa2ccf38"
   integrity sha1-riT4hQgY1mL8q1rPfzuVv6oszzg=
 
-no-case@^2.2.0:
-  version "2.3.2"
-  resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac"
-  integrity sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==
+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=
+
+no-case@^3.0.4:
+  version "3.0.4"
+  resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d"
+  integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==
   dependencies:
-    lower-case "^1.1.1"
+    lower-case "^2.0.2"
+    tslib "^2.0.3"
 
 npmlog@^2.0.3:
   version "2.0.4"
@@ -583,6 +1039,18 @@ onetime@^1.0.0:
   resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789"
   integrity sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=
 
+optionator@^0.9.1:
+  version "0.9.1"
+  resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499"
+  integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==
+  dependencies:
+    deep-is "^0.1.3"
+    fast-levenshtein "^2.0.6"
+    levn "^0.4.1"
+    prelude-ls "^1.2.1"
+    type-check "^0.4.0"
+    word-wrap "^1.2.3"
+
 options@>=0.0.5:
   version "0.0.6"
   resolved "https://registry.yarnpkg.com/options/-/options-0.0.6.tgz#ec22d312806bb53e731773e7cdaefcf1c643128f"
@@ -598,18 +1066,39 @@ os-tmpdir@~1.0.1:
   resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
   integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=
 
-param-case@^2.1.1:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247"
-  integrity sha1-35T9jPZTHs915r75oIWPvHK+Ikc=
+param-case@^3.0.3:
+  version "3.0.4"
+  resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5"
+  integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==
+  dependencies:
+    dot-case "^3.0.4"
+    tslib "^2.0.3"
+
+parent-module@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
+  integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
   dependencies:
-    no-case "^2.2.0"
+    callsites "^3.0.0"
+
+pascal-case@^3.1.2:
+  version "3.1.2"
+  resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb"
+  integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==
+  dependencies:
+    no-case "^3.0.4"
+    tslib "^2.0.3"
 
 path-is-absolute@^1.0.0:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
   integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
 
+path-key@^3.1.0:
+  version "3.1.1"
+  resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
+  integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
+
 pinkie-promise@^2.0.0:
   version "2.0.1"
   resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
@@ -622,6 +1111,11 @@ pinkie@^2.0.0:
   resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
   integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA=
 
+prelude-ls@^1.2.1:
+  version "1.2.1"
+  resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
+  integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
+
 prettyjson@^1.2.1:
   version "1.2.1"
   resolved "https://registry.yarnpkg.com/prettyjson/-/prettyjson-1.2.1.tgz#fcffab41d19cab4dfae5e575e64246619b12d289"
@@ -635,6 +1129,16 @@ process-nextick-args@^2.0.0, process-nextick-args@~2.0.0:
   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:
+  version "2.0.3"
+  resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
+  integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
+
+punycode@^2.1.0:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
+  integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
+
 readable-stream@^2.0.6, readable-stream@^2.2.2, readable-stream@^2.3.5:
   version "2.3.7"
   resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57"
@@ -648,6 +1152,11 @@ readable-stream@^2.0.6, readable-stream@^2.2.2, readable-stream@^2.3.5:
     string_decoder "~1.1.1"
     util-deprecate "~1.0.1"
 
+regexpp@^3.1.0:
+  version "3.2.0"
+  resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2"
+  integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==
+
 relateurl@^0.2.7:
   version "0.2.7"
   resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9"
@@ -663,6 +1172,16 @@ replace-ext@^1.0.0:
   resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.1.tgz#2d6d996d04a15855d967443631dd5f77825b016a"
   integrity sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==
 
+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==
+
+resolve-from@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
+  integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
+
 restore-cursor@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541"
@@ -671,6 +1190,13 @@ restore-cursor@^1.0.1:
     exit-hook "^1.0.0"
     onetime "^1.0.0"
 
+rimraf@^3.0.2:
+  version "3.0.2"
+  resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
+  integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
+  dependencies:
+    glob "^7.1.3"
+
 run-async@^2.2.0:
   version "2.4.1"
   resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455"
@@ -686,6 +1212,34 @@ 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==
 
+semver@^7.2.1:
+  version "7.3.5"
+  resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7"
+  integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==
+  dependencies:
+    lru-cache "^6.0.0"
+
+shebang-command@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
+  integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
+  dependencies:
+    shebang-regex "^3.0.0"
+
+shebang-regex@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
+  integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
+
+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==
+  dependencies:
+    ansi-styles "^4.0.0"
+    astral-regex "^2.0.0"
+    is-fullwidth-code-point "^3.0.0"
+
 source-map-support@~0.5.12:
   version "0.5.19"
   resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61"
@@ -694,12 +1248,7 @@ source-map-support@~0.5.12:
     buffer-from "^1.0.0"
     source-map "^0.6.0"
 
-source-map@0.5.6:
-  version "0.5.6"
-  resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412"
-  integrity sha1-dc449SvwczxafwwRjYEzSiu19BI=
-
-source-map@^0.5.1:
+source-map@0.5.7, source-map@^0.5.1:
   version "0.5.7"
   resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
   integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
@@ -717,6 +1266,11 @@ spawn-sync@^1.0.15:
     concat-stream "^1.4.7"
     os-shim "^0.1.2"
 
+sprintf-js@~1.0.2:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
+  integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
+
 stack-trace@0.0.x:
   version "0.0.10"
   resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0"
@@ -739,6 +1293,15 @@ string-width@^2.1.1:
     is-fullwidth-code-point "^2.0.0"
     strip-ansi "^4.0.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==
+  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.1.1"
   resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
@@ -760,6 +1323,18 @@ strip-ansi@^4.0.0:
   dependencies:
     ansi-regex "^3.0.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==
+  dependencies:
+    ansi-regex "^5.0.0"
+
+strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
+  version "3.1.1"
+  resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
+  integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
+
 supports-color@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
@@ -772,6 +1347,25 @@ supports-color@^5.3.0:
   dependencies:
     has-flag "^3.0.0"
 
+supports-color@^7.1.0:
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
+  integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
+  dependencies:
+    has-flag "^4.0.0"
+
+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"
+
 tabtab@^2.2.2:
   version "2.2.2"
   resolved "https://registry.yarnpkg.com/tabtab/-/tabtab-2.2.2.tgz#7a047f143b010b4cbd31f857e82961512cbf4e14"
@@ -786,7 +1380,7 @@ tabtab@^2.2.2:
     npmlog "^2.0.3"
     object-assign "^4.1.0"
 
-terser@^4.3.9:
+terser@^4.6.3:
   version "4.8.0"
   resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17"
   integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==
@@ -795,6 +1389,11 @@ terser@^4.3.9:
     source-map "~0.6.1"
     source-map-support "~0.5.12"
 
+text-table@^0.2.0:
+  version "0.2.0"
+  resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
+  integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=
+
 through@^2.3.6:
   version "2.3.8"
   resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
@@ -812,21 +1411,45 @@ tmp@^0.0.29:
   dependencies:
     os-tmpdir "~1.0.1"
 
+tslib@^2.0.3:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.0.tgz#803b8cdab3e12ba581a4ca41c8839bbb0dacb09e"
+  integrity sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==
+
+type-check@^0.4.0, type-check@~0.4.0:
+  version "0.4.0"
+  resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
+  integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
+  dependencies:
+    prelude-ls "^1.2.1"
+
+type-fest@^0.20.2:
+  version "0.20.2"
+  resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4"
+  integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==
+
 typedarray@^0.0.6:
   version "0.0.6"
   resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
   integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
 
-upper-case@^1.1.1:
-  version "1.1.3"
-  resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598"
-  integrity sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=
+uri-js@^4.2.2:
+  version "4.4.1"
+  resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
+  integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
+  dependencies:
+    punycode "^2.1.0"
 
 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=
 
+v8-compile-cache@^2.0.3:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee"
+  integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==
+
 vinyl-sourcemaps-apply@^0.2.0:
   version "0.2.1"
   resolved "https://registry.yarnpkg.com/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz#ab6549d61d172c2b1b87be5c508d239c8ef87705"
@@ -835,9 +1458,9 @@ vinyl-sourcemaps-apply@^0.2.0:
     source-map "^0.5.1"
 
 vinyl@2.x:
-  version "2.2.0"
-  resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.0.tgz#d85b07da96e458d25b2ffe19fece9f2caa13ed86"
-  integrity sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg==
+  version "2.2.1"
+  resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.1.tgz#23cfb8bbab5ece3803aa2c0a1eb28af7cbba1974"
+  integrity sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==
   dependencies:
     clone "^2.1.1"
     clone-buffer "^1.0.0"
@@ -851,6 +1474,13 @@ wasm2c@1.0.0:
   resolved "https://registry.yarnpkg.com/wasm2c/-/wasm2c-1.0.0.tgz#761671e141c46b8a7c6c54429db1e6bfa3cd0ec0"
   integrity sha512-4SIESF2JNxrry6XFa/UQcsQibn+bxPkQ/oqixiXz2o8fsMl8J4vtvhH/evgbi8vZajAlaukuihEcQTWb9tVLUA==
 
+which@^2.0.1:
+  version "2.0.2"
+  resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
+  integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
+  dependencies:
+    isexe "^2.0.0"
+
 winston@^2.3.1:
   version "2.4.5"
   resolved "https://registry.yarnpkg.com/winston/-/winston-2.4.5.tgz#f2e431d56154c4ea765545fc1003bd340c95b59a"
@@ -863,6 +1493,11 @@ winston@^2.3.1:
     isstream "0.1.x"
     stack-trace "0.0.x"
 
+word-wrap@^1.2.3:
+  version "1.2.3"
+  resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
+  integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
+
 wrappy@1:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
@@ -877,3 +1512,8 @@ ws@~0.4.28:
     nan "~1.0.0"
     options ">=0.0.5"
     tinycolor "0.x"
+
+yallist@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
+  integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
diff --git a/nixpkgs/pkgs/development/compilers/emscripten/yarn.nix b/nixpkgs/pkgs/development/compilers/emscripten/yarn.nix
index d0c3395f28af..e4281f4856ad 100644
--- a/nixpkgs/pkgs/development/compilers/emscripten/yarn.nix
+++ b/nixpkgs/pkgs/development/compilers/emscripten/yarn.nix
@@ -1,12 +1,52 @@
-{ fetchurl, fetchgit, linkFarm, runCommandNoCC, gnutar }: rec {
+{ fetchurl, fetchgit, linkFarm, runCommand, gnutar }: rec {
   offline_cache = linkFarm "offline" packages;
   packages = [
     {
-      name = "acorn___acorn_7.3.1.tgz";
+      name = "_babel_code_frame___code_frame_7.12.11.tgz";
       path = fetchurl {
-        name = "acorn___acorn_7.3.1.tgz";
-        url  = "https://registry.yarnpkg.com/acorn/-/acorn-7.3.1.tgz";
-        sha1 = "85010754db53c3fbaf3b9ea3e083aa5c5d147ffd";
+        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 = "_babel_helper_validator_identifier___helper_validator_identifier_7.14.5.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_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 = "_eslint_eslintrc___eslintrc_0.4.2.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 = "acorn_jsx___acorn_jsx_5.3.1.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___acorn_8.4.1.tgz";
+      path = fetchurl {
+        name = "acorn___acorn_8.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/acorn/-/acorn-8.4.1.tgz";
+        sha1 = "56c36251fc7cabc7096adc18f05afe814321a28c";
       };
     }
     {
@@ -18,6 +58,38 @@
       };
     }
     {
+      name = "acorn___acorn_7.4.1.tgz";
+      path = fetchurl {
+        name = "acorn___acorn_7.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz";
+        sha1 = "feaed255973d2e77555b83dbc08851a6c63520fa";
+      };
+    }
+    {
+      name = "ajv___ajv_6.12.6.tgz";
+      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_colors___ansi_colors_4.1.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_escapes___ansi_escapes_1.4.0.tgz";
       path = fetchurl {
         name = "ansi_escapes___ansi_escapes_1.4.0.tgz";
@@ -42,6 +114,14 @@
       };
     }
     {
+      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_styles___ansi_styles_2.2.1.tgz";
       path = fetchurl {
         name = "ansi_styles___ansi_styles_2.2.1.tgz";
@@ -58,6 +138,14 @@
       };
     }
     {
+      name = "ansi_styles___ansi_styles_4.3.0.tgz";
+      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";
+      };
+    }
+    {
       name = "ansi___ansi_0.3.1.tgz";
       path = fetchurl {
         name = "ansi___ansi_0.3.1.tgz";
@@ -74,6 +162,22 @@
       };
     }
     {
+      name = "argparse___argparse_1.0.10.tgz";
+      path = fetchurl {
+        name = "argparse___argparse_1.0.10.tgz";
+        url  = "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz";
+        sha1 = "bcd6791ea5ae09725e17e5ad988134cd40b3d911";
+      };
+    }
+    {
+      name = "astral_regex___astral_regex_2.0.0.tgz";
+      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";
+      };
+    }
+    {
       name = "async___async_1.0.0.tgz";
       path = fetchurl {
         name = "async___async_1.0.0.tgz";
@@ -114,11 +218,19 @@
       };
     }
     {
-      name = "camel_case___camel_case_3.0.0.tgz";
+      name = "callsites___callsites_3.1.0.tgz";
+      path = fetchurl {
+        name = "callsites___callsites_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz";
+        sha1 = "b3630abd8943432f54b3f0519238e33cd7df2f73";
+      };
+    }
+    {
+      name = "camel_case___camel_case_4.1.2.tgz";
       path = fetchurl {
-        name = "camel_case___camel_case_3.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz";
-        sha1 = "ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73";
+        name = "camel_case___camel_case_4.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.2.tgz";
+        sha1 = "9728072a954f805228225a6deea6b38461e1bd5a";
       };
     }
     {
@@ -146,6 +258,14 @@
       };
     }
     {
+      name = "chalk___chalk_4.1.1.tgz";
+      path = fetchurl {
+        name = "chalk___chalk_4.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/chalk/-/chalk-4.1.1.tgz";
+        sha1 = "c80b3fab28bf6371e6863325eee67e618b77e6ad";
+      };
+    }
+    {
       name = "clean_css___clean_css_4.2.3.tgz";
       path = fetchurl {
         name = "clean_css___clean_css_4.2.3.tgz";
@@ -226,6 +346,14 @@
       };
     }
     {
+      name = "color_convert___color_convert_2.0.1.tgz";
+      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";
+      };
+    }
+    {
       name = "color_name___color_name_1.1.3.tgz";
       path = fetchurl {
         name = "color_name___color_name_1.1.3.tgz";
@@ -234,6 +362,14 @@
       };
     }
     {
+      name = "color_name___color_name_1.1.4.tgz";
+      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";
@@ -306,6 +442,14 @@
       };
     }
     {
+      name = "cross_spawn___cross_spawn_7.0.3.tgz";
+      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";
+      };
+    }
+    {
       name = "cycle___cycle_1.0.3.tgz";
       path = fetchurl {
         name = "cycle___cycle_1.0.3.tgz";
@@ -322,6 +466,22 @@
       };
     }
     {
+      name = "debug___debug_4.3.1.tgz";
+      path = fetchurl {
+        name = "debug___debug_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz";
+        sha1 = "f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee";
+      };
+    }
+    {
+      name = "deep_is___deep_is_0.1.3.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 = "delegates___delegates_1.0.0.tgz";
       path = fetchurl {
         name = "delegates___delegates_1.0.0.tgz";
@@ -330,6 +490,38 @@
       };
     }
     {
+      name = "doctrine___doctrine_3.0.0.tgz";
+      path = fetchurl {
+        name = "doctrine___doctrine_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz";
+        sha1 = "addebead72a6574db783639dc87a121773973961";
+      };
+    }
+    {
+      name = "dot_case___dot_case_3.0.4.tgz";
+      path = fetchurl {
+        name = "dot_case___dot_case_3.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz";
+        sha1 = "9b2b670d00a431667a8a75ba29cd1b98809ce751";
+      };
+    }
+    {
+      name = "emoji_regex___emoji_regex_8.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "enquirer___enquirer_2.3.6.tgz";
+      path = fetchurl {
+        name = "enquirer___enquirer_2.3.6.tgz";
+        url  = "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz";
+        sha1 = "2a7fe5dd634a1e4125a975ec994ff5456dc3734d";
+      };
+    }
+    {
       name = "es_check___es_check_5.2.4.tgz";
       path = fetchurl {
         name = "es_check___es_check_5.2.4.tgz";
@@ -346,6 +538,118 @@
       };
     }
     {
+      name = "escape_string_regexp___escape_string_regexp_4.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "eslint_config_google___eslint_config_google_0.14.0.tgz";
+      path = fetchurl {
+        name = "eslint_config_google___eslint_config_google_0.14.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-config-google/-/eslint-config-google-0.14.0.tgz";
+        sha1 = "4f5f8759ba6e11b424294a219dbfa18c508bcc1a";
+      };
+    }
+    {
+      name = "eslint_scope___eslint_scope_5.1.1.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_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";
+      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";
+      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___eslint_7.29.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 = "espree___espree_7.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 = "esprima___esprima_4.0.1.tgz";
+      path = fetchurl {
+        name = "esprima___esprima_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz";
+        sha1 = "13b04cdb3e6c5d19df91ab6987a8695619b0aa71";
+      };
+    }
+    {
+      name = "esquery___esquery_1.4.0.tgz";
+      path = fetchurl {
+        name = "esquery___esquery_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz";
+        sha1 = "2148ffc38b82e8c7057dfed48425b3e61f0f24a5";
+      };
+    }
+    {
+      name = "esrecurse___esrecurse_4.3.0.tgz";
+      path = fetchurl {
+        name = "esrecurse___esrecurse_4.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz";
+        sha1 = "7ad7964d679abb28bee72cec63758b1c5d2c9921";
+      };
+    }
+    {
+      name = "estraverse___estraverse_4.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 = "esutils___esutils_2.0.3.tgz";
+      path = fetchurl {
+        name = "esutils___esutils_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz";
+        sha1 = "74d2eb4de0b8da1293711910d50775b9b710ef64";
+      };
+    }
+    {
       name = "exit_hook___exit_hook_1.1.1.tgz";
       path = fetchurl {
         name = "exit_hook___exit_hook_1.1.1.tgz";
@@ -378,6 +682,22 @@
       };
     }
     {
+      name = "fast_deep_equal___fast_deep_equal_3.1.3.tgz";
+      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";
+      };
+    }
+    {
+      name = "fast_json_stable_stringify___fast_json_stable_stringify_2.1.0.tgz";
+      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";
+      };
+    }
+    {
       name = "fast_levenshtein___fast_levenshtein_2.0.6.tgz";
       path = fetchurl {
         name = "fast_levenshtein___fast_levenshtein_2.0.6.tgz";
@@ -394,6 +714,30 @@
       };
     }
     {
+      name = "file_entry_cache___file_entry_cache_6.0.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "flat_cache___flat_cache_3.0.4.tgz";
+      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";
+      };
+    }
+    {
+      name = "flatted___flatted_3.1.1.tgz";
+      path = fetchurl {
+        name = "flatted___flatted_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/flatted/-/flatted-3.1.1.tgz";
+        sha1 = "c4b489e80096d9df1dfc97c79871aea7c617c469";
+      };
+    }
+    {
       name = "fs.realpath___fs.realpath_1.0.0.tgz";
       path = fetchurl {
         name = "fs.realpath___fs.realpath_1.0.0.tgz";
@@ -402,6 +746,14 @@
       };
     }
     {
+      name = "functional_red_black_tree___functional_red_black_tree_1.0.1.tgz";
+      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";
+      };
+    }
+    {
       name = "gauge___gauge_1.2.7.tgz";
       path = fetchurl {
         name = "gauge___gauge_1.2.7.tgz";
@@ -410,6 +762,14 @@
       };
     }
     {
+      name = "glob_parent___glob_parent_5.1.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___glob_7.1.7.tgz";
       path = fetchurl {
         name = "glob___glob_7.1.7.tgz";
@@ -418,43 +778,51 @@
       };
     }
     {
-      name = "google_closure_compiler_java___google_closure_compiler_java_20200920.0.0.tgz";
+      name = "globals___globals_13.9.0.tgz";
       path = fetchurl {
-        name = "google_closure_compiler_java___google_closure_compiler_java_20200920.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/google-closure-compiler-java/-/google-closure-compiler-java-20200920.0.0.tgz";
-        sha1 = "23519b14e004f2a9eda4f5b887842ae46ad7022e";
+        name = "globals___globals_13.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/globals/-/globals-13.9.0.tgz";
+        sha1 = "4bf2bf635b334a173fb1daf7c5e6b218ecdc06cb";
       };
     }
     {
-      name = "google_closure_compiler_linux___google_closure_compiler_linux_20200920.0.0.tgz";
+      name = "google_closure_compiler_java___google_closure_compiler_java_20210601.0.0.tgz";
       path = fetchurl {
-        name = "google_closure_compiler_linux___google_closure_compiler_linux_20200920.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/google-closure-compiler-linux/-/google-closure-compiler-linux-20200920.0.0.tgz";
-        sha1 = "622c28a784e8a93f9cc5e7cd7b675d2ed0e11d0b";
+        name = "google_closure_compiler_java___google_closure_compiler_java_20210601.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/google-closure-compiler-java/-/google-closure-compiler-java-20210601.0.0.tgz";
+        sha1 = "88dc11b334bee6a704d9674c5143fd2e0d553517";
       };
     }
     {
-      name = "google_closure_compiler_osx___google_closure_compiler_osx_20200920.0.0.tgz";
+      name = "google_closure_compiler_linux___google_closure_compiler_linux_20210601.0.0.tgz";
       path = fetchurl {
-        name = "google_closure_compiler_osx___google_closure_compiler_osx_20200920.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/google-closure-compiler-osx/-/google-closure-compiler-osx-20200920.0.0.tgz";
-        sha1 = "6157a06e7d851d25d60de95c4bcd464d768278b1";
+        name = "google_closure_compiler_linux___google_closure_compiler_linux_20210601.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/google-closure-compiler-linux/-/google-closure-compiler-linux-20210601.0.0.tgz";
+        sha1 = "6e5dd7b00b96dc1fd1ba30e3401af85558768322";
       };
     }
     {
-      name = "google_closure_compiler_windows___google_closure_compiler_windows_20200920.0.0.tgz";
+      name = "google_closure_compiler_osx___google_closure_compiler_osx_20210601.0.0.tgz";
       path = fetchurl {
-        name = "google_closure_compiler_windows___google_closure_compiler_windows_20200920.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/google-closure-compiler-windows/-/google-closure-compiler-windows-20200920.0.0.tgz";
-        sha1 = "755ddeb8032530c6ed13962e328d9af3269d0748";
+        name = "google_closure_compiler_osx___google_closure_compiler_osx_20210601.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/google-closure-compiler-osx/-/google-closure-compiler-osx-20210601.0.0.tgz";
+        sha1 = "e23356bc9ef6e68c2980f60a207f603767b50b21";
       };
     }
     {
-      name = "google_closure_compiler___google_closure_compiler_20200920.0.0.tgz";
+      name = "google_closure_compiler_windows___google_closure_compiler_windows_20210601.0.0.tgz";
       path = fetchurl {
-        name = "google_closure_compiler___google_closure_compiler_20200920.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/google-closure-compiler/-/google-closure-compiler-20200920.0.0.tgz";
-        sha1 = "e1c54b7f1be8cbb33649d8d05e761bbf11e4eaa3";
+        name = "google_closure_compiler_windows___google_closure_compiler_windows_20210601.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/google-closure-compiler-windows/-/google-closure-compiler-windows-20210601.0.0.tgz";
+        sha1 = "b5400d06bbf0bbd2602ee3ae0c2bc7ebd5829692";
+      };
+    }
+    {
+      name = "google_closure_compiler___google_closure_compiler_20210601.0.0.tgz";
+      path = fetchurl {
+        name = "google_closure_compiler___google_closure_compiler_20210601.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/google-closure-compiler/-/google-closure-compiler-20210601.0.0.tgz";
+        sha1 = "34597c33c9285ebd3a5364f5299f6c9ddc9fc88a";
       };
     }
     {
@@ -474,6 +842,14 @@
       };
     }
     {
+      name = "has_flag___has_flag_4.0.0.tgz";
+      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";
+      };
+    }
+    {
       name = "has_unicode___has_unicode_2.0.1.tgz";
       path = fetchurl {
         name = "has_unicode___has_unicode_2.0.1.tgz";
@@ -490,11 +866,35 @@
       };
     }
     {
-      name = "html_minifier_terser___html_minifier_terser_5.0.2.tgz";
+      name = "html_minifier_terser___html_minifier_terser_5.1.1.tgz";
+      path = fetchurl {
+        name = "html_minifier_terser___html_minifier_terser_5.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz";
+        sha1 = "922e96f1f3bb60832c2634b79884096389b1f054";
+      };
+    }
+    {
+      name = "ignore___ignore_4.0.6.tgz";
       path = fetchurl {
-        name = "html_minifier_terser___html_minifier_terser_5.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-5.0.2.tgz";
-        sha1 = "0e67a0b062ae1dd0719fc73199479298f807ae16";
+        name = "ignore___ignore_4.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz";
+        sha1 = "750e3db5862087b4737ebac8207ffd1ef27b25fc";
+      };
+    }
+    {
+      name = "import_fresh___import_fresh_3.3.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "imurmurhash___imurmurhash_0.1.4.tgz";
+      path = fetchurl {
+        name = "imurmurhash___imurmurhash_0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz";
+        sha1 = "9218b9b2b928a238b13dc4fb6b6d576f231453ea";
       };
     }
     {
@@ -522,6 +922,14 @@
       };
     }
     {
+      name = "is_extglob___is_extglob_2.1.1.tgz";
+      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_1.0.0.tgz";
       path = fetchurl {
         name = "is_fullwidth_code_point___is_fullwidth_code_point_1.0.0.tgz";
@@ -538,6 +946,22 @@
       };
     }
     {
+      name = "is_fullwidth_code_point___is_fullwidth_code_point_3.0.0.tgz";
+      path = fetchurl {
+        name = "is_fullwidth_code_point___is_fullwidth_code_point_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz";
+        sha1 = "f116f8064fe90b3f7844a38997c0b75051269f1d";
+      };
+    }
+    {
+      name = "is_glob___is_glob_4.0.1.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 = "isarray___isarray_1.0.0.tgz";
       path = fetchurl {
         name = "isarray___isarray_1.0.0.tgz";
@@ -546,6 +970,14 @@
       };
     }
     {
+      name = "isexe___isexe_2.0.0.tgz";
+      path = fetchurl {
+        name = "isexe___isexe_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz";
+        sha1 = "e8fbf374dc556ff8947a10dcb0572d633f2cfa10";
+      };
+    }
+    {
       name = "isstream___isstream_0.1.2.tgz";
       path = fetchurl {
         name = "isstream___isstream_0.1.2.tgz";
@@ -554,6 +986,54 @@
       };
     }
     {
+      name = "js_tokens___js_tokens_4.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "js_yaml___js_yaml_3.14.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "json_schema_traverse___json_schema_traverse_0.4.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_schema_traverse___json_schema_traverse_1.0.0.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_stable_stringify_without_jsonify___json_stable_stringify_without_jsonify_1.0.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "levn___levn_0.4.1.tgz";
+      path = fetchurl {
+        name = "levn___levn_0.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz";
+        sha1 = "ae4562c007473b932a6200d403268dd2fffc6ade";
+      };
+    }
+    {
       name = "lodash.camelcase___lodash.camelcase_4.3.0.tgz";
       path = fetchurl {
         name = "lodash.camelcase___lodash.camelcase_4.3.0.tgz";
@@ -562,6 +1042,14 @@
       };
     }
     {
+      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.difference___lodash.difference_4.5.0.tgz";
       path = fetchurl {
         name = "lodash.difference___lodash.difference_4.5.0.tgz";
@@ -570,6 +1058,14 @@
       };
     }
     {
+      name = "lodash.merge___lodash.merge_4.6.2.tgz";
+      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.pad___lodash.pad_4.5.1.tgz";
       path = fetchurl {
         name = "lodash.pad___lodash.pad_4.5.1.tgz";
@@ -594,6 +1090,14 @@
       };
     }
     {
+      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.uniq___lodash.uniq_4.5.0.tgz";
       path = fetchurl {
         name = "lodash.uniq___lodash.uniq_4.5.0.tgz";
@@ -610,11 +1114,19 @@
       };
     }
     {
-      name = "lower_case___lower_case_1.1.4.tgz";
+      name = "lower_case___lower_case_2.0.2.tgz";
       path = fetchurl {
-        name = "lower_case___lower_case_1.1.4.tgz";
-        url  = "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz";
-        sha1 = "9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac";
+        name = "lower_case___lower_case_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz";
+        sha1 = "6fa237c63dbdc4a82ca0fd882e4722dc5e634e28";
+      };
+    }
+    {
+      name = "lru_cache___lru_cache_6.0.0.tgz";
+      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";
       };
     }
     {
@@ -658,6 +1170,14 @@
       };
     }
     {
+      name = "ms___ms_2.1.2.tgz";
+      path = fetchurl {
+        name = "ms___ms_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz";
+        sha1 = "d09d1f357b443f493382a8eb3ccd183872ae6009";
+      };
+    }
+    {
       name = "mute_stream___mute_stream_0.0.6.tgz";
       path = fetchurl {
         name = "mute_stream___mute_stream_0.0.6.tgz";
@@ -674,11 +1194,19 @@
       };
     }
     {
-      name = "no_case___no_case_2.3.2.tgz";
+      name = "natural_compare___natural_compare_1.4.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "no_case___no_case_3.0.4.tgz";
       path = fetchurl {
-        name = "no_case___no_case_2.3.2.tgz";
-        url  = "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz";
-        sha1 = "60b813396be39b3f1288a4c1ed5d1e7d28b464ac";
+        name = "no_case___no_case_3.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz";
+        sha1 = "d361fd5c9800f558551a8369fc0dcd4662b6124d";
       };
     }
     {
@@ -722,6 +1250,14 @@
       };
     }
     {
+      name = "optionator___optionator_0.9.1.tgz";
+      path = fetchurl {
+        name = "optionator___optionator_0.9.1.tgz";
+        url  = "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz";
+        sha1 = "4f236a6373dae0566a6d43e1326674f50c291499";
+      };
+    }
+    {
       name = "options___options_0.0.6.tgz";
       path = fetchurl {
         name = "options___options_0.0.6.tgz";
@@ -746,11 +1282,27 @@
       };
     }
     {
-      name = "param_case___param_case_2.1.1.tgz";
+      name = "param_case___param_case_3.0.4.tgz";
+      path = fetchurl {
+        name = "param_case___param_case_3.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz";
+        sha1 = "7d17fe4aa12bde34d4a77d91acfb6219caad01c5";
+      };
+    }
+    {
+      name = "parent_module___parent_module_1.0.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "pascal_case___pascal_case_3.1.2.tgz";
       path = fetchurl {
-        name = "param_case___param_case_2.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz";
-        sha1 = "df94fd8cf6531ecf75e6bef9a0858fbc72be2247";
+        name = "pascal_case___pascal_case_3.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.2.tgz";
+        sha1 = "b48e0ef2b98e205e7c1dae747d0b1508237660eb";
       };
     }
     {
@@ -762,6 +1314,14 @@
       };
     }
     {
+      name = "path_key___path_key_3.1.1.tgz";
+      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";
+      };
+    }
+    {
       name = "pinkie_promise___pinkie_promise_2.0.1.tgz";
       path = fetchurl {
         name = "pinkie_promise___pinkie_promise_2.0.1.tgz";
@@ -778,6 +1338,14 @@
       };
     }
     {
+      name = "prelude_ls___prelude_ls_1.2.1.tgz";
+      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";
+      };
+    }
+    {
       name = "prettyjson___prettyjson_1.2.1.tgz";
       path = fetchurl {
         name = "prettyjson___prettyjson_1.2.1.tgz";
@@ -794,6 +1362,22 @@
       };
     }
     {
+      name = "progress___progress_2.0.3.tgz";
+      path = fetchurl {
+        name = "progress___progress_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz";
+        sha1 = "7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8";
+      };
+    }
+    {
+      name = "punycode___punycode_2.1.1.tgz";
+      path = fetchurl {
+        name = "punycode___punycode_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz";
+        sha1 = "b58b010ac40c22c5657616c8d2c2c02c7bf479ec";
+      };
+    }
+    {
       name = "readable_stream___readable_stream_2.3.7.tgz";
       path = fetchurl {
         name = "readable_stream___readable_stream_2.3.7.tgz";
@@ -802,6 +1386,14 @@
       };
     }
     {
+      name = "regexpp___regexpp_3.2.0.tgz";
+      path = fetchurl {
+        name = "regexpp___regexpp_3.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz";
+        sha1 = "0425a2768d8f23bad70ca4b90461fa2f1213e1b2";
+      };
+    }
+    {
       name = "relateurl___relateurl_0.2.7.tgz";
       path = fetchurl {
         name = "relateurl___relateurl_0.2.7.tgz";
@@ -826,6 +1418,22 @@
       };
     }
     {
+      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 = "resolve_from___resolve_from_4.0.0.tgz";
+      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";
+      };
+    }
+    {
       name = "restore_cursor___restore_cursor_1.0.1.tgz";
       path = fetchurl {
         name = "restore_cursor___restore_cursor_1.0.1.tgz";
@@ -834,6 +1442,14 @@
       };
     }
     {
+      name = "rimraf___rimraf_3.0.2.tgz";
+      path = fetchurl {
+        name = "rimraf___rimraf_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz";
+        sha1 = "f1a5402ba6220ad52cc1282bac1ae3aa49fd061a";
+      };
+    }
+    {
       name = "run_async___run_async_2.4.1.tgz";
       path = fetchurl {
         name = "run_async___run_async_2.4.1.tgz";
@@ -858,19 +1474,43 @@
       };
     }
     {
-      name = "source_map_support___source_map_support_0.5.19.tgz";
+      name = "semver___semver_7.3.5.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 = "semver___semver_7.3.5.tgz";
+        url  = "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz";
+        sha1 = "0b621c879348d8998e4b0e4be94b3f12e6018ef7";
       };
     }
     {
-      name = "source_map___source_map_0.5.6.tgz";
+      name = "shebang_command___shebang_command_2.0.0.tgz";
       path = fetchurl {
-        name = "source_map___source_map_0.5.6.tgz";
-        url  = "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz";
-        sha1 = "75ce38f52bf0733c5a7f0c118d81334a2bb5f412";
+        name = "shebang_command___shebang_command_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz";
+        sha1 = "ccd0af4f8835fbdc265b82461aaf0c36663f34ea";
+      };
+    }
+    {
+      name = "shebang_regex___shebang_regex_3.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "slice_ansi___slice_ansi_4.0.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 = "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";
       };
     }
     {
@@ -898,6 +1538,14 @@
       };
     }
     {
+      name = "sprintf_js___sprintf_js_1.0.3.tgz";
+      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";
+      };
+    }
+    {
       name = "stack_trace___stack_trace_0.0.10.tgz";
       path = fetchurl {
         name = "stack_trace___stack_trace_0.0.10.tgz";
@@ -922,6 +1570,14 @@
       };
     }
     {
+      name = "string_width___string_width_4.2.2.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.1.1.tgz";
       path = fetchurl {
         name = "string_decoder___string_decoder_1.1.1.tgz";
@@ -946,6 +1602,22 @@
       };
     }
     {
+      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_json_comments___strip_json_comments_3.1.1.tgz";
+      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";
+      };
+    }
+    {
       name = "supports_color___supports_color_2.0.0.tgz";
       path = fetchurl {
         name = "supports_color___supports_color_2.0.0.tgz";
@@ -962,6 +1634,22 @@
       };
     }
     {
+      name = "supports_color___supports_color_7.2.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "table___table_6.7.1.tgz";
+      path = fetchurl {
+        name = "table___table_6.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/table/-/table-6.7.1.tgz";
+        sha1 = "ee05592b7143831a8c94f3cee6aae4c1ccef33e2";
+      };
+    }
+    {
       name = "tabtab___tabtab_2.2.2.tgz";
       path = fetchurl {
         name = "tabtab___tabtab_2.2.2.tgz";
@@ -978,6 +1666,14 @@
       };
     }
     {
+      name = "text_table___text_table_0.2.0.tgz";
+      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";
+      };
+    }
+    {
       name = "through___through_2.3.8.tgz";
       path = fetchurl {
         name = "through___through_2.3.8.tgz";
@@ -1002,6 +1698,30 @@
       };
     }
     {
+      name = "tslib___tslib_2.3.0.tgz";
+      path = fetchurl {
+        name = "tslib___tslib_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/tslib/-/tslib-2.3.0.tgz";
+        sha1 = "803b8cdab3e12ba581a4ca41c8839bbb0dacb09e";
+      };
+    }
+    {
+      name = "type_check___type_check_0.4.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "type_fest___type_fest_0.20.2.tgz";
+      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";
+      };
+    }
+    {
       name = "typedarray___typedarray_0.0.6.tgz";
       path = fetchurl {
         name = "typedarray___typedarray_0.0.6.tgz";
@@ -1010,11 +1730,11 @@
       };
     }
     {
-      name = "upper_case___upper_case_1.1.3.tgz";
+      name = "uri_js___uri_js_4.4.1.tgz";
       path = fetchurl {
-        name = "upper_case___upper_case_1.1.3.tgz";
-        url  = "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz";
-        sha1 = "f6b4501c2ec4cdd26ba78be7222961de77621598";
+        name = "uri_js___uri_js_4.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz";
+        sha1 = "9b1a52595225859e55f669d928f88c6c57f2a77e";
       };
     }
     {
@@ -1026,6 +1746,14 @@
       };
     }
     {
+      name = "v8_compile_cache___v8_compile_cache_2.3.0.tgz";
+      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";
+      };
+    }
+    {
       name = "vinyl_sourcemaps_apply___vinyl_sourcemaps_apply_0.2.1.tgz";
       path = fetchurl {
         name = "vinyl_sourcemaps_apply___vinyl_sourcemaps_apply_0.2.1.tgz";
@@ -1034,11 +1762,11 @@
       };
     }
     {
-      name = "vinyl___vinyl_2.2.0.tgz";
+      name = "vinyl___vinyl_2.2.1.tgz";
       path = fetchurl {
-        name = "vinyl___vinyl_2.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.0.tgz";
-        sha1 = "d85b07da96e458d25b2ffe19fece9f2caa13ed86";
+        name = "vinyl___vinyl_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.1.tgz";
+        sha1 = "23cfb8bbab5ece3803aa2c0a1eb28af7cbba1974";
       };
     }
     {
@@ -1050,6 +1778,14 @@
       };
     }
     {
+      name = "which___which_2.0.2.tgz";
+      path = fetchurl {
+        name = "which___which_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz";
+        sha1 = "7c6a8dd0a636a0327e10b59c9286eee93f3f51b1";
+      };
+    }
+    {
       name = "winston___winston_2.4.5.tgz";
       path = fetchurl {
         name = "winston___winston_2.4.5.tgz";
@@ -1058,6 +1794,14 @@
       };
     }
     {
+      name = "word_wrap___word_wrap_1.2.3.tgz";
+      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";
+      };
+    }
+    {
       name = "wrappy___wrappy_1.0.2.tgz";
       path = fetchurl {
         name = "wrappy___wrappy_1.0.2.tgz";
@@ -1073,5 +1817,13 @@
         sha1 = "787a6154414f3c99ed83c5772153b20feb0cec32";
       };
     }
+    {
+      name = "yallist___yallist_4.0.0.tgz";
+      path = fetchurl {
+        name = "yallist___yallist_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz";
+        sha1 = "9bb92790d9c0effec63be73519e11a35019a3a72";
+      };
+    }
   ];
 }
diff --git a/nixpkgs/pkgs/development/compilers/fennel/default.nix b/nixpkgs/pkgs/development/compilers/fennel/default.nix
index 6165a522c3aa..bae976a9b68f 100644
--- a/nixpkgs/pkgs/development/compilers/fennel/default.nix
+++ b/nixpkgs/pkgs/development/compilers/fennel/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fennel";
-  version = "0.9.2";
+  version = "0.10.0";
 
   src = fetchFromSourcehut {
     owner = "~technomancy";
     repo = pname;
     rev = version;
-    sha256 = "1kpm3lzxzwkhxm4ghpbx8iw0ni7gb73y68lsc3ll2rcx0fwv9303";
+    sha256 = "sha256-/xCnaDNZJTBGxIgjPUVeEyMVeRWg8RCNuo5nPpLrJXY=";
   };
 
   nativeBuildInputs = [ installShellFiles ];
diff --git a/nixpkgs/pkgs/development/compilers/fstar/default.nix b/nixpkgs/pkgs/development/compilers/fstar/default.nix
index 7abdf132b51e..0ef2e89f123a 100644
--- a/nixpkgs/pkgs/development/compilers/fstar/default.nix
+++ b/nixpkgs/pkgs/development/compilers/fstar/default.nix
@@ -1,36 +1,66 @@
 { lib, stdenv, fetchFromGitHub, z3, ocamlPackages, makeWrapper, installShellFiles }:
 
+let
+  # FStar requires sedlex < 2.4
+  # see https://github.com/FStarLang/FStar/issues/2343
+  sedlex-2_3 = ocamlPackages.sedlex_2.overrideAttrs (_: rec {
+    pname = "sedlex";
+    version = "2.3";
+    src = fetchFromGitHub {
+       owner = "ocaml-community";
+       repo = "sedlex";
+       rev = "v${version}";
+       sha256 = "WXUXUuIaBUrFPQOKtZ7dgDZYdpEVnoJck0dkrCi8g0c=";
+    };
+  });
+in
+
 stdenv.mkDerivation rec {
   pname = "fstar";
-  version = "0.9.6.0";
+  version = "2021.08.27";
 
   src = fetchFromGitHub {
     owner = "FStarLang";
     repo = "FStar";
     rev = "v${version}";
-    sha256 = "0wix7l229afkn6c6sk4nwkfq0nznsiqdkds4ixi2yyf72immwmmb";
+    sha256 = "1bf5hrv2nv0ljvdf6jhk59lw1ds3j5qkkcylgxwakylw30g8rxqb";
   };
 
   nativeBuildInputs = [ makeWrapper installShellFiles ];
 
-  buildInputs = with ocamlPackages; [
-    z3 ocaml findlib batteries menhir menhirLib stdint
-    zarith camlp4 yojson pprint
-    ulex ocaml-migrate-parsetree process ppx_deriving ppx_deriving_yojson ocamlbuild
-  ];
+  buildInputs = [
+    z3
+  ] ++ (with ocamlPackages; [
+    ocaml
+    findlib
+    ocamlbuild
+    batteries
+    zarith
+    stdint
+    yojson
+    fileutils
+    menhir
+    menhirLib
+    pprint
+    sedlex-2_3
+    ppxlib
+    ppx_deriving
+    ppx_deriving_yojson
+    process
+  ]);
 
   makeFlags = [ "PREFIX=$(out)" ];
 
-  preBuild = ''
-    patchShebangs src/tools
-    patchShebangs bin
+  buildFlags = [ "libs" ];
+
+  postPatch = ''
+    patchShebangs ulib/gen_mllib.sh
+    substituteInPlace src/ocaml-output/Makefile --replace '$(COMMIT)' 'v${version}'
   '';
-  buildFlags = [ "-C" "src/ocaml-output" ];
 
   preInstall = ''
     mkdir -p $out/lib/ocaml/${ocamlPackages.ocaml.version}/site-lib/fstarlib
   '';
-  installFlags = [ "-C" "src/ocaml-output" ];
   postInstall = ''
     wrapProgram $out/bin/fstar.exe --prefix PATH ":" "${z3}/bin"
     installShellCompletion --bash .completion/bash/fstar.exe.bash
@@ -42,6 +72,7 @@ stdenv.mkDerivation rec {
     description = "ML-like functional programming language aimed at program verification";
     homepage = "https://www.fstar-lang.org";
     license = licenses.asl20;
+    changelog = "https://github.com/FStarLang/FStar/raw/v${version}/CHANGES.md";
     platforms = with platforms; darwin ++ linux;
     maintainers = with maintainers; [ gebner ];
   };
diff --git a/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/10/default.nix b/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/10/default.nix
index 441ce6cdcd59..edb9b1ba7167 100644
--- a/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/10/default.nix
+++ b/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/10/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchurl
 , ncurses5
 , python27
@@ -6,22 +7,21 @@
 
 stdenv.mkDerivation rec {
   pname = "gcc-arm-embedded";
-  version = "10.2.1";
-  release = "10-2020-q4-major";
-  subdir = "10-2020q4";
+  version = "10.3.1";
+  release = "10.3-2021.07";
 
   suffix = {
     aarch64-linux = "aarch64-linux";
-    x86_64-darwin = "mac";
+    x86_64-darwin = "mac-10.14.6";
     x86_64-linux  = "x86_64-linux";
   }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
 
   src = fetchurl {
-    url = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${subdir}/gcc-arm-none-eabi-${release}-${suffix}.tar.bz2";
+    url = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${release}/gcc-arm-none-eabi-${release}-${suffix}.tar.bz2";
     sha256 = {
-      aarch64-linux = "0spkbh7vnda1w0nvavk342nb24nqxn8kln3k9j85mzil560qqg9l";
-      x86_64-darwin = "1h5xn0npwkilqxg7ifrymsl7kjpafr9r9gjqgcpb0kjxavijvldy";
-      x86_64-linux  = "066nvhg5zdf3jvy9w23y439ghf1hvbicdyrrw9957gwb8ym4q4r1";
+      aarch64-linux = "0y4nyrff5bq90v44z2h90gqgl18bs861i9lygx4z89ym85jycx9s";
+      x86_64-darwin = "1r3yidmgx1xq1f19y2c5njf2g95vs9cssmmsxsb68qm192r58i8a";
+      x86_64-linux  = "1skcalz1sr0hhpjcl8qjsqd16n2w0zrbnlrbr8sx0g728kiqsnwc";
     }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
   };
 
diff --git a/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/6/default.nix b/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/6/default.nix
index bab73948ace1..a0d414d974f0 100644
--- a/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/6/default.nix
+++ b/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/6/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchurl
 , ncurses5
 , python27
diff --git a/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/7/default.nix b/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/7/default.nix
index ccd99e096f85..4df2a90f52ea 100644
--- a/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/7/default.nix
+++ b/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/7/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchurl
 , ncurses5
 , python27
diff --git a/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/8/default.nix b/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/8/default.nix
index 363e87ecb65a..152ecdb867d9 100644
--- a/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/8/default.nix
+++ b/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/8/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchurl
 , ncurses5
 , python27
diff --git a/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/9/default.nix b/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/9/default.nix
index 6ff1567286da..c625134508e3 100644
--- a/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/9/default.nix
+++ b/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/9/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchurl
 , ncurses5
 , python27
diff --git a/nixpkgs/pkgs/development/compilers/gcc/10/default.nix b/nixpkgs/pkgs/development/compilers/gcc/10/default.nix
index 143681c2a5bb..58a4dfbe36e1 100644
--- a/nixpkgs/pkgs/development/compilers/gcc/10/default.nix
+++ b/nixpkgs/pkgs/development/compilers/gcc/10/default.nix
@@ -156,7 +156,9 @@ stdenv.mkDerivation ({
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
   nativeBuildInputs = [ texinfo which gettext ]
-    ++ (optional (perl != null) perl);
+    ++ (optional (perl != null) perl)
+    ++ (optional langAda gnatboot)
+    ;
 
   # For building runtime libs
   depsBuildTarget =
@@ -177,7 +179,6 @@ stdenv.mkDerivation ({
     # The builder relies on GNU sed (for instance, Darwin's `sed' fails with
     # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
     ++ (optional hostPlatform.isDarwin gnused)
-    ++ (optional langAda gnatboot)
     ;
 
   depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;
diff --git a/nixpkgs/pkgs/development/compilers/gcc/11/default.nix b/nixpkgs/pkgs/development/compilers/gcc/11/default.nix
index 7efc9d589f98..15d935618712 100644
--- a/nixpkgs/pkgs/development/compilers/gcc/11/default.nix
+++ b/nixpkgs/pkgs/development/compilers/gcc/11/default.nix
@@ -161,7 +161,9 @@ stdenv.mkDerivation ({
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
   nativeBuildInputs = [ texinfo which gettext ]
-    ++ (optional (perl != null) perl);
+    ++ (optional (perl != null) perl)
+    ++ (optional langAda gnatboot)
+    ;
 
   # For building runtime libs
   depsBuildTarget =
@@ -182,7 +184,6 @@ stdenv.mkDerivation ({
     # The builder relies on GNU sed (for instance, Darwin's `sed' fails with
     # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
     ++ (optional hostPlatform.isDarwin gnused)
-    ++ (optional langAda gnatboot)
     ;
 
   depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;
diff --git a/nixpkgs/pkgs/development/compilers/gcc/6/default.nix b/nixpkgs/pkgs/development/compilers/gcc/6/default.nix
index 4567e8b43e9f..df4a632db05d 100644
--- a/nixpkgs/pkgs/development/compilers/gcc/6/default.nix
+++ b/nixpkgs/pkgs/development/compilers/gcc/6/default.nix
@@ -199,7 +199,9 @@ stdenv.mkDerivation ({
   nativeBuildInputs = [ texinfo which gettext ]
     ++ (optional (perl != null) perl)
     ++ (optional javaAwtGtk pkg-config)
-    ++ (optional (with stdenv.targetPlatform; isVc4 || isRedox) flex);
+    ++ (optional (with stdenv.targetPlatform; isVc4 || isRedox) flex)
+    ++ (optional langAda gnatboot)
+    ;
 
   # For building runtime libs
   depsBuildTarget =
@@ -222,7 +224,6 @@ stdenv.mkDerivation ({
     # The builder relies on GNU sed (for instance, Darwin's `sed' fails with
     # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
     ++ (optional hostPlatform.isDarwin gnused)
-    ++ (optional langAda gnatboot)
     ;
 
   depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;
diff --git a/nixpkgs/pkgs/development/compilers/gcc/9/default.nix b/nixpkgs/pkgs/development/compilers/gcc/9/default.nix
index 857263e51e0b..43b2e0b5ef51 100644
--- a/nixpkgs/pkgs/development/compilers/gcc/9/default.nix
+++ b/nixpkgs/pkgs/development/compilers/gcc/9/default.nix
@@ -170,7 +170,9 @@ stdenv.mkDerivation ({
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
   nativeBuildInputs = [ texinfo which gettext ]
-    ++ (optional (perl != null) perl);
+    ++ (optional (perl != null) perl)
+    ++ (optional langAda gnatboot)
+    ;
 
   # For building runtime libs
   depsBuildTarget =
@@ -191,7 +193,6 @@ stdenv.mkDerivation ({
     # The builder relies on GNU sed (for instance, Darwin's `sed' fails with
     # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
     ++ (optional hostPlatform.isDarwin gnused)
-    ++ (optional langAda gnatboot)
     ;
 
   depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;
diff --git a/nixpkgs/pkgs/development/compilers/gcc/common/configure-flags.nix b/nixpkgs/pkgs/development/compilers/gcc/common/configure-flags.nix
index 997771c2abfe..6744ad8b0bfe 100644
--- a/nixpkgs/pkgs/development/compilers/gcc/common/configure-flags.nix
+++ b/nixpkgs/pkgs/development/compilers/gcc/common/configure-flags.nix
@@ -133,7 +133,7 @@ let
       "--with-system-zlib"
       "--enable-static"
       "--enable-languages=${
-        lib.concatStrings (lib.intersperse ","
+        lib.concatStringsSep ","
           (  lib.optional langC        "c"
           ++ lib.optional langCC       "c++"
           ++ lib.optional langD        "d"
@@ -146,7 +146,6 @@ let
           ++ lib.optionals crossDarwin [ "objc" "obj-c++" ]
           ++ lib.optional langJit      "jit"
           )
-        )
       }"
     ]
 
@@ -158,9 +157,15 @@ let
       (lib.enableFeature enablePlugin "plugin")
     ]
 
-    # Support -m32 on powerpc64le
+    # Support -m32 on powerpc64le/be
     ++ lib.optional (targetPlatform.system == "powerpc64le-linux")
       "--enable-targets=powerpcle-linux"
+    ++ lib.optional (targetPlatform.system == "powerpc64-linux")
+      "--enable-targets=powerpc-linux"
+
+    # Fix "unknown long double size, cannot define BFP_FMT"
+    ++ lib.optional (targetPlatform.isPower && targetPlatform.isMusl)
+      "--disable-decimal-float"
 
     # Optional features
     ++ lib.optional (isl != null) "--with-isl=${isl}"
@@ -170,8 +175,11 @@ let
       "--enable-cloog-backend=isl"
     ]
 
-    # Ada options
-    ++ lib.optional langAda "--enable-libada"
+    # Ada options, gcc can't build the runtime library for a cross compiler
+    ++ lib.optional langAda
+      (if hostPlatform == targetPlatform
+       then "--enable-libada"
+       else "--disable-libada")
 
     # Java options
     ++ lib.optionals langJava [
diff --git a/nixpkgs/pkgs/development/compilers/ghc/8.10.2-binary.nix b/nixpkgs/pkgs/development/compilers/ghc/8.10.2-binary.nix
index 3ef4ebb9b98f..824794774cec 100644
--- a/nixpkgs/pkgs/development/compilers/ghc/8.10.2-binary.nix
+++ b/nixpkgs/pkgs/development/compilers/ghc/8.10.2-binary.nix
@@ -374,6 +374,6 @@ stdenv.mkDerivation rec {
     # `pkgsMusl`.
     platforms = builtins.attrNames ghcBinDists.${distSetName};
     hydraPlatforms = builtins.filter (p: minimal || p != "aarch64-linux") platforms;
-    maintainers = with lib.maintainers; [ lostnet ];
+    maintainers = with lib.maintainers; [ lostnet guibou ];
   };
 }
diff --git a/nixpkgs/pkgs/development/compilers/ghc/8.10.7-binary.nix b/nixpkgs/pkgs/development/compilers/ghc/8.10.7-binary.nix
new file mode 100644
index 000000000000..34643dd2f87c
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/ghc/8.10.7-binary.nix
@@ -0,0 +1,391 @@
+{ lib, stdenv
+, fetchurl, perl, gcc
+, ncurses5
+, ncurses6, gmp, libiconv, numactl
+, llvmPackages
+
+  # minimal = true; will remove files that aren't strictly necessary for
+  # regular builds and GHC bootstrapping.
+  # This is "useful" for staying within hydra's output limits for at least the
+  # aarch64-linux architecture.
+, minimal ? false
+}:
+
+# Prebuilt only does native
+assert stdenv.targetPlatform == stdenv.hostPlatform;
+
+let
+  downloadsUrl = "https://downloads.haskell.org/ghc";
+
+  # Copy sha256 from https://downloads.haskell.org/~ghc/8.10.7/SHA256SUMS
+  version = "8.10.7";
+
+  # Information about available bindists that we use in the build.
+  #
+  # # Bindist library checking
+  #
+  # The field `archSpecificLibraries` also provides a way for us get notified
+  # early when the upstream bindist changes its dependencies (e.g. because a
+  # newer Debian version is used that uses a new `ncurses` version).
+  #
+  # Usage:
+  #
+  # * You can find the `fileToCheckFor` of libraries by running `readelf -d`
+  #   on the compiler binary (`exePathForLibraryCheck`).
+  # * To skip library checking for an architecture,
+  #   set `exePathForLibraryCheck = null`.
+  # * To skip file checking for a specific arch specfic library,
+  #   set `fileToCheckFor = null`.
+  ghcBinDists = {
+    # Binary distributions for the default libc (e.g. glibc, or libSystem on Darwin)
+    # nixpkgs uses for the respective system.
+    defaultLibc = {
+      i686-linux = {
+        src = {
+          url = "${downloadsUrl}/${version}/ghc-${version}-i386-deb9-linux.tar.xz";
+          sha256 = "fbfc1ef194f4e7a4c0da8c11cc69b17458a4b928b609b3622c97acc4acd5c5ab";
+        };
+        exePathForLibraryCheck = "ghc/stage2/build/tmp/ghc-stage2";
+        archSpecificLibraries = [
+          # The i686-linux bindist provided by GHC HQ is currently built on Debian 9,
+          # which link it against `libtinfo.so.5` (ncurses 5).
+          # Other bindists are linked `libtinfo.so.6` (ncurses 6).
+          { nixPackage = ncurses5; fileToCheckFor = "libtinfo.so.5"; }
+        ];
+      };
+      x86_64-linux = {
+        src = {
+          url = "${downloadsUrl}/${version}/ghc-${version}-x86_64-deb10-linux.tar.xz";
+          sha256 = "a13719bca87a0d3ac0c7d4157a4e60887009a7f1a8dbe95c4759ec413e086d30";
+        };
+        exePathForLibraryCheck = "ghc/stage2/build/tmp/ghc-stage2";
+        archSpecificLibraries = [
+          { nixPackage = ncurses6; fileToCheckFor = "libtinfo.so.6"; }
+        ];
+      };
+      armv7l-linux = {
+        src = {
+          url = "${downloadsUrl}/${version}/ghc-${version}-armv7-deb10-linux.tar.xz";
+          sha256 = "3949c31bdf7d3b4afb765ea8246bca4ca9707c5d988d9961a244f0da100956a2";
+        };
+        exePathForLibraryCheck = "ghc/stage2/build/tmp/ghc-stage2";
+        archSpecificLibraries = [
+          { nixPackage = ncurses6; fileToCheckFor = "libtinfo.so.6"; }
+        ];
+      };
+      aarch64-linux = {
+        src = {
+          url = "${downloadsUrl}/${version}/ghc-${version}-aarch64-deb10-linux.tar.xz";
+          sha256 = "fad2417f9b295233bf8ade79c0e6140896359e87be46cb61cd1d35863d9d0e55";
+        };
+        exePathForLibraryCheck = "ghc/stage2/build/tmp/ghc-stage2";
+        archSpecificLibraries = [
+          { nixPackage = ncurses6; fileToCheckFor = "libtinfo.so.6"; }
+          { nixPackage = numactl; fileToCheckFor = null; }
+        ];
+      };
+      x86_64-darwin = {
+        src = {
+          url = "${downloadsUrl}/${version}/ghc-${version}-x86_64-apple-darwin.tar.xz";
+          sha256 = "287db0f9c338c9f53123bfa8731b0996803ee50f6ee847fe388092e5e5132047";
+        };
+        exePathForLibraryCheck = null; # we don't have a library check for darwin yet
+        archSpecificLibraries = [
+          { nixPackage = ncurses6; fileToCheckFor = null; }
+          { nixPackage = libiconv; fileToCheckFor = null; }
+        ];
+      };
+      aarch64-darwin = {
+        src = {
+          url = "${downloadsUrl}/${version}/ghc-${version}-aarch64-apple-darwin.tar.xz";
+          sha256 = "dc469fc3c35fd2a33a5a575ffce87f13de7b98c2d349a41002e200a56d9bba1c";
+        };
+        exePathForLibraryCheck = null; # we don't have a library check for darwin yet
+        archSpecificLibraries = [
+          { nixPackage = ncurses6; fileToCheckFor = null; }
+          { nixPackage = libiconv; fileToCheckFor = null; }
+        ];
+      };
+    };
+    # Binary distributions for the musl libc for the respective system.
+    musl = {
+      x86_64-linux = {
+        src = {
+          url = "${downloadsUrl}/${version}/ghc-${version}-x86_64-alpine3.10-linux-integer-simple.tar.xz";
+          sha256 = "16903df850ef73d5246f2ff169cbf57ecab76c2ac5acfa9928934282cfad575c";
+        };
+        exePathForLibraryCheck = "bin/ghc";
+        archSpecificLibraries = [
+          # In contrast to glibc builds, the musl-bindist uses `libncursesw.so.*`
+          # instead of `libtinfo.so.*.`
+          { nixPackage = ncurses6; fileToCheckFor = "libncursesw.so.6"; }
+        ];
+      };
+    };
+  };
+
+  distSetName = if stdenv.hostPlatform.isMusl then "musl" else "defaultLibc";
+
+  binDistUsed = ghcBinDists.${distSetName}.${stdenv.hostPlatform.system}
+    or (throw "cannot bootstrap GHC on this platform ('${stdenv.hostPlatform.system}' with libc '${distSetName}')");
+
+  useLLVM = !stdenv.targetPlatform.isx86;
+
+  libPath =
+    lib.makeLibraryPath (
+      [
+        gmp
+      ]
+      # Add arch-specific libraries.
+      ++ map ({ nixPackage, ... }: nixPackage) binDistUsed.archSpecificLibraries
+    );
+
+  libEnvVar = lib.optionalString stdenv.hostPlatform.isDarwin "DY"
+    + "LD_LIBRARY_PATH";
+
+in
+
+stdenv.mkDerivation rec {
+  inherit version;
+
+  name = "ghc-${version}-binary";
+
+  src = fetchurl binDistUsed.src;
+
+  nativeBuildInputs = [ perl ];
+  propagatedBuildInputs =
+    lib.optionals useLLVM [ llvmPackages.llvm ]
+    # Because musl bindists currently provide no way to tell where
+    # libgmp is (see not [musl bindists have no .buildinfo]), we need
+    # to propagate `gmp`, otherwise programs built by this ghc will
+    # fail linking with `cannot find -lgmp` errors.
+    # Also, as of writing, the release pages of musl bindists claim
+    # that they use `integer-simple` and do not require `gmp`; however
+    # that is incorrect, so `gmp` is required until a release has been
+    # made that includes https://gitlab.haskell.org/ghc/ghc/-/issues/20059.
+    # (Note that for packaging the `-binary` compiler, nixpkgs does not care
+    # about whether or not `gmp` is used; this comment is just here to explain
+    # why the `gmp` dependency exists despite what the release page says.)
+    ++ lib.optionals stdenv.hostPlatform.isMusl [ gmp ]; # musl bindist needs this
+
+  # Set LD_LIBRARY_PATH or equivalent so that the programs running as part
+  # of the bindist installer can find the libraries they expect.
+  # Cannot patchelf beforehand due to relative RPATHs that anticipate
+  # the final install location.
+  ${libEnvVar} = libPath;
+
+  postUnpack =
+    # Verify our assumptions of which `libtinfo.so` (ncurses) version is used,
+    # so that we know when ghc bindists upgrade that and we need to update the
+    # version used in `libPath`.
+    lib.optionalString
+      (binDistUsed.exePathForLibraryCheck != null)
+      # Note the `*` glob because some GHCs have a suffix when unpacked, e.g.
+      # the musl bindist has dir `ghc-VERSION-x86_64-unknown-linux/`.
+      # As a result, don't shell-quote this glob when splicing the string.
+      (let buildExeGlob = ''ghc-${version}*/"${binDistUsed.exePathForLibraryCheck}"''; in
+        lib.concatStringsSep "\n" [
+          (''
+            echo "Checking that ghc binary exists in bindist at ${buildExeGlob}"
+            if ! test -e ${buildExeGlob}; then
+              echo >&2 "GHC binary ${binDistUsed.exePathForLibraryCheck} could not be found in the bindist build directory (at ${buildExeGlob}) for arch ${stdenv.hostPlatform.system}, please check that ghcBinDists correctly reflect the bindist dependencies!"; exit 1;
+            fi
+          '')
+          (lib.concatMapStringsSep
+            "\n"
+            ({ fileToCheckFor, nixPackage }:
+              lib.optionalString (fileToCheckFor != null) ''
+                echo "Checking bindist for ${fileToCheckFor} to ensure that is still used"
+                if ! readelf -d ${buildExeGlob} | grep "${fileToCheckFor}"; then
+                  echo >&2 "File ${fileToCheckFor} could not be found in ${binDistUsed.exePathForLibraryCheck} for arch ${stdenv.hostPlatform.system}, please check that ghcBinDists correctly reflect the bindist dependencies!"; exit 1;
+                fi
+
+                echo "Checking that the nix package ${nixPackage} contains ${fileToCheckFor}"
+                if ! test -e "${lib.getLib nixPackage}/lib/${fileToCheckFor}"; then
+                  echo >&2 "Nix package ${nixPackage} did not contain ${fileToCheckFor} for arch ${stdenv.hostPlatform.system}, please check that ghcBinDists correctly reflect the bindist dependencies!"; exit 1;
+                fi
+              ''
+            )
+            binDistUsed.archSpecificLibraries
+          )
+        ])
+    # GHC has dtrace probes, which causes ld to try to open /usr/lib/libdtrace.dylib
+    # during linking
+    + lib.optionalString stdenv.isDarwin ''
+      export NIX_LDFLAGS+=" -no_dtrace_dof"
+      # not enough room in the object files for the full path to libiconv :(
+      for exe in $(find . -type f -executable); do
+        isScript $exe && continue
+        ln -fs ${libiconv}/lib/libiconv.dylib $(dirname $exe)/libiconv.dylib
+        install_name_tool -change /usr/lib/libiconv.2.dylib @executable_path/libiconv.dylib -change /usr/local/lib/gcc/6/libgcc_s.1.dylib ${gcc.cc.lib}/lib/libgcc_s.1.dylib $exe
+      done
+    '' +
+
+    # Some scripts used during the build need to have their shebangs patched
+    ''
+      patchShebangs ghc-${version}/utils/
+      patchShebangs ghc-${version}/configure
+    '' +
+    # We have to patch the GMP paths for the integer-gmp package.
+    # Note [musl bindists have no .buildinfo]
+    # Note that musl bindists do not contain them; unclear if that's intended;
+    # see: https://gitlab.haskell.org/ghc/ghc/-/issues/20073#note_363231
+    ''
+      find . -name integer-gmp.buildinfo \
+          -exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${gmp.out}/lib@" {} \;
+    '' + lib.optionalString stdenv.isDarwin ''
+      find . -name base.buildinfo \
+          -exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${libiconv}/lib@" {} \;
+    '' +
+    # aarch64 does HAVE_NUMA so -lnuma requires it in library-dirs in rts/package.conf.in
+    # FFI_LIB_DIR is a good indication of places it must be needed.
+    lib.optionalString (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) ''
+      find . -name package.conf.in \
+          -exec sed -i "s@FFI_LIB_DIR@FFI_LIB_DIR ${numactl.out}/lib@g" {} \;
+    '' +
+    # Rename needed libraries and binaries, fix interpreter
+    lib.optionalString stdenv.isLinux ''
+      find . -type f -executable -exec patchelf \
+          --interpreter ${stdenv.cc.bintools.dynamicLinker} {} \;
+    '';
+
+  # fix for `configure: error: Your linker is affected by binutils #16177`
+  preConfigure = lib.optionalString
+    stdenv.targetPlatform.isAarch32
+    "LD=ld.gold";
+
+  configurePlatforms = [ ];
+  configureFlags = [
+    "--with-gmp-includes=${lib.getDev gmp}/include"
+    # Note `--with-gmp-libraries` does nothing for GHC bindists:
+    # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/6124
+  ] ++ lib.optional stdenv.isDarwin "--with-gcc=${./gcc-clang-wrapper.sh}"
+    # From: https://github.com/NixOS/nixpkgs/pull/43369/commits
+    ++ lib.optional stdenv.hostPlatform.isMusl "--disable-ld-override";
+
+  # No building is necessary, but calling make without flags ironically
+  # calls install-strip ...
+  dontBuild = true;
+
+  # Apparently necessary for the ghc Alpine (musl) bindist:
+  # When we strip, and then run the
+  #     patchelf --set-rpath "${libPath}:$(patchelf --print-rpath $p)" $p
+  # below, running ghc (e.g. during `installCheckPhase)` gives some apparently
+  # corrupted rpath or whatever makes the loader work on nonsensical strings:
+  #     running install tests
+  #     Error relocating /nix/store/...-ghc-8.10.2-binary/lib/ghc-8.10.5/bin/ghc: : symbol not found
+  #     Error relocating /nix/store/...-ghc-8.10.2-binary/lib/ghc-8.10.5/bin/ghc: ir6zf6c9f86pfx8sr30n2vjy-ghc-8.10.2-binary/lib/ghc-8.10.5/bin/../lib/x86_64-linux-ghc-8.10.5/libHSexceptions-0.10.4-ghc8.10.5.so: symbol not found
+  #     Error relocating /nix/store/...-ghc-8.10.2-binary/lib/ghc-8.10.5/bin/ghc: y/lib/ghc-8.10.5/bin/../lib/x86_64-linux-ghc-8.10.5/libHStemplate-haskell-2.16.0.0-ghc8.10.5.so: symbol not found
+  #     Error relocating /nix/store/...-ghc-8.10.2-binary/lib/ghc-8.10.5/bin/ghc: 8.10.5/libHStemplate-haskell-2.16.0.0-ghc8.10.5.so: symbol not found
+  #     Error relocating /nix/store/...-ghc-8.10.2-binary/lib/ghc-8.10.5/bin/ghc: �: symbol not found
+  #     Error relocating /nix/store/...-ghc-8.10.2-binary/lib/ghc-8.10.5/bin/ghc: �?: symbol not found
+  #     Error relocating /nix/store/...-ghc-8.10.2-binary/lib/ghc-8.10.5/bin/ghc: 64-linux-ghc-8.10.5/libHSexceptions-0.10.4-ghc8.10.5.so: symbol not found
+  # This is extremely bogus and should be investigated.
+  dontStrip = if stdenv.hostPlatform.isMusl then true else false; # `if` for explicitness
+
+  # On Linux, use patchelf to modify the executables so that they can
+  # find editline/gmp.
+  postFixup = lib.optionalString stdenv.isLinux
+    (if stdenv.hostPlatform.isAarch64 then
+      # Keep rpath as small as possible on aarch64 for patchelf#244.  All Elfs
+      # are 2 directories deep from $out/lib, so pooling symlinks there makes
+      # a short rpath.
+      ''
+      (cd $out/lib; ln -s ${ncurses6.out}/lib/libtinfo.so.6)
+      (cd $out/lib; ln -s ${gmp.out}/lib/libgmp.so.10)
+      (cd $out/lib; ln -s ${numactl.out}/lib/libnuma.so.1)
+      for p in $(find "$out/lib" -type f -name "*\.so*"); do
+        (cd $out/lib; ln -s $p)
+      done
+
+      for p in $(find "$out/lib" -type f -executable); do
+        if isELF "$p"; then
+          echo "Patchelfing $p"
+          patchelf --set-rpath "\$ORIGIN:\$ORIGIN/../.." $p
+        fi
+      done
+      ''
+    else
+      ''
+      for p in $(find "$out" -type f -executable); do
+        if isELF "$p"; then
+          echo "Patchelfing $p"
+          patchelf --set-rpath "${libPath}:$(patchelf --print-rpath $p)" $p
+        fi
+      done
+    '') + lib.optionalString stdenv.isDarwin ''
+    # not enough room in the object files for the full path to libiconv :(
+    for exe in $(find "$out" -type f -executable); do
+      isScript $exe && continue
+      ln -fs ${libiconv}/lib/libiconv.dylib $(dirname $exe)/libiconv.dylib
+      install_name_tool -change /usr/lib/libiconv.2.dylib @executable_path/libiconv.dylib -change /usr/local/lib/gcc/6/libgcc_s.1.dylib ${gcc.cc.lib}/lib/libgcc_s.1.dylib $exe
+    done
+
+    for file in $(find "$out" -name setup-config); do
+      substituteInPlace $file --replace /usr/bin/ranlib "$(type -P ranlib)"
+    done
+  '' +
+  lib.optionalString minimal ''
+    # Remove profiling files
+    find $out -type f -name '*.p_o' -delete
+    find $out -type f -name '*.p_hi' -delete
+    find $out -type f -name '*_p.a' -delete
+    # `-f` because e.g. musl bindist does not have this file.
+    rm -f $out/lib/ghc-*/bin/ghc-iserv-prof
+    # Hydra will redistribute this derivation, so we have to keep the docs for
+    # legal reasons (retaining the legal notices etc)
+    # As a last resort we could unpack the docs separately and symlink them in.
+    # They're in $out/share/{doc,man}.
+  '';
+
+  # In nixpkgs, musl based builds currently enable `pie` hardening by default
+  # (see `defaultHardeningFlags` in `make-derivation.nix`).
+  # But GHC cannot currently produce outputs that are ready for `-pie` linking.
+  # Thus, disable `pie` hardening, otherwise `recompile with -fPIE` errors appear.
+  # See:
+  # * https://github.com/NixOS/nixpkgs/issues/129247
+  # * https://gitlab.haskell.org/ghc/ghc/-/issues/19580
+  hardeningDisable = lib.optional stdenv.targetPlatform.isMusl "pie";
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    unset ${libEnvVar}
+    # Sanity check, can ghc create executables?
+    cd $TMP
+    mkdir test-ghc; cd test-ghc
+    cat > main.hs << EOF
+      {-# LANGUAGE TemplateHaskell #-}
+      module Main where
+      main = putStrLn \$([|"yes"|])
+    EOF
+    $out/bin/ghc --make main.hs || exit 1
+    echo compilation ok
+    [ $(./main) == "yes" ]
+  '';
+
+  passthru = {
+    targetPrefix = "";
+    enableShared = true;
+
+    # Our Cabal compiler name
+    haskellCompilerName = "ghc-${version}";
+  };
+
+  meta = rec {
+    homepage = "http://haskell.org/ghc";
+    description = "The Glasgow Haskell Compiler";
+    license = lib.licenses.bsd3;
+    # HACK: since we can't encode the libc / abi in platforms, we need
+    # to make the platform list dependent on the evaluation platform
+    # in order to avoid eval errors with musl which supports less
+    # platforms than the default libcs (i. e. glibc / libSystem).
+    # This is done for the benefit of Hydra, so `packagePlatforms`
+    # won't return any platforms that would cause an evaluation
+    # failure for `pkgsMusl.haskell.compiler.ghc8102Binary`, as
+    # long as the evaluator runs on a platform that supports
+    # `pkgsMusl`.
+    platforms = builtins.attrNames ghcBinDists.${distSetName};
+    hydraPlatforms = builtins.filter (p: minimal || p != "aarch64-linux") platforms;
+    maintainers = with lib.maintainers; [ lostnet ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/compilers/ghc/8.10.4.nix b/nixpkgs/pkgs/development/compilers/ghc/8.10.7.nix
index 10ca2f6662c2..f1078a0ad340 100644
--- a/nixpkgs/pkgs/development/compilers/ghc/8.10.4.nix
+++ b/nixpkgs/pkgs/development/compilers/ghc/8.10.7.nix
@@ -3,6 +3,7 @@
 # build-tools
 , bootPkgs
 , autoconf, automake, coreutils, fetchpatch, fetchurl, perl, python3, m4, sphinx
+, xattr, autoSignDarwinBinariesHook
 , bash
 
 , libiconv ? null, ncurses
@@ -135,12 +136,12 @@ let
 
 in
 stdenv.mkDerivation (rec {
-  version = "8.10.4";
+  version = "8.10.7";
   name = "${targetPrefix}ghc-${version}";
 
   src = fetchurl {
     url = "https://downloads.haskell.org/ghc/${version}/ghc-${version}-src.tar.xz";
-    sha256 = "03li4k10hxgyxcdyyz2092wx09spr1599hi0sxbh4m889qdqgbsj";
+    sha256 = "e3eef6229ce9908dfe1ea41436befb0455fefb1932559e860ad4c606b0d03c9d";
   };
 
   enableParallelBuilding = true;
@@ -155,9 +156,6 @@ stdenv.mkDerivation (rec {
     # upstream patch. Don't forget to check backport status of the upstream patch
     # when adding new GHC releases in nixpkgs.
     ./respect-ar-path.patch
-    # Fix documentation configuration which causes a syntax error with sphinx 4.*
-    # See https://gitlab.haskell.org/ghc/ghc/-/issues/19962, remove at 8.10.6.
-    ./sphinx-4-configuration.patch
   ] ++ lib.optionals stdenv.isDarwin [
     # Make Block.h compile with c++ compilers. Remove with the next release
     (fetchpatch {
@@ -192,6 +190,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 ''
@@ -249,6 +250,8 @@ stdenv.mkDerivation (rec {
   nativeBuildInputs = [
     perl autoconf automake m4 python3
     ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
+  ] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
+    autoSignDarwinBinariesHook
   ] ++ lib.optionals enableDocs [
     sphinx
   ];
@@ -281,6 +284,10 @@ stdenv.mkDerivation (rec {
     # * https://gitlab.haskell.org/ghc/ghc/-/issues/19580
     ++ lib.optional stdenv.targetPlatform.isMusl "pie";
 
+  # big-parallel allows us to build with more than 2 cores on
+  # Hydra which already warrants a significant speedup
+  requiredSystemFeatures = [ "big-parallel" ];
+
   postInstall = ''
     # Install the bash completion file.
     install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
@@ -306,9 +313,13 @@ stdenv.mkDerivation (rec {
   meta = {
     homepage = "http://haskell.org/ghc";
     description = "The Glasgow Haskell Compiler";
-    maintainers = with lib.maintainers; [ marcweber andres peti ];
+    maintainers = with lib.maintainers; [ marcweber andres peti guibou ];
     timeout = 24 * 3600;
     inherit (ghc.meta) license platforms;
+
+    # integer-simple builds are broken when GHC links against musl.
+    # See https://github.com/NixOS/nixpkgs/pull/129606#issuecomment-881323743.
+    broken = enableIntegerSimple && hostPlatform.isMusl;
   };
 
 } // lib.optionalAttrs targetPlatform.useAndroidPrebuilt {
diff --git a/nixpkgs/pkgs/development/compilers/ghc/8.6.5-binary.nix b/nixpkgs/pkgs/development/compilers/ghc/8.6.5-binary.nix
index ea4542a38b22..c2fac6faf774 100644
--- a/nixpkgs/pkgs/development/compilers/ghc/8.6.5-binary.nix
+++ b/nixpkgs/pkgs/development/compilers/ghc/8.6.5-binary.nix
@@ -192,5 +192,6 @@ stdenv.mkDerivation rec {
     hydraPlatforms = builtins.filter (p: p != "aarch64-linux") platforms;
     # build segfaults, use ghc8102Binary which has proper musl support instead
     broken = stdenv.hostPlatform.isMusl;
+    maintainers = with lib.maintainers; [ guibou ];
   };
 }
diff --git a/nixpkgs/pkgs/development/compilers/ghc/8.8.4.nix b/nixpkgs/pkgs/development/compilers/ghc/8.8.4.nix
index 238266147167..66862fca7318 100644
--- a/nixpkgs/pkgs/development/compilers/ghc/8.8.4.nix
+++ b/nixpkgs/pkgs/development/compilers/ghc/8.8.4.nix
@@ -316,9 +316,13 @@ stdenv.mkDerivation (rec {
   meta = {
     homepage = "http://haskell.org/ghc";
     description = "The Glasgow Haskell Compiler";
-    maintainers = with lib.maintainers; [ marcweber andres peti ];
+    maintainers = with lib.maintainers; [ marcweber andres peti guibou ];
     timeout = 24 * 3600;
     inherit (ghc.meta) license platforms;
+
+    # integer-simple builds are broken when GHC links against musl.
+    # See https://github.com/NixOS/nixpkgs/pull/129606#issuecomment-881323743.
+    broken = enableIntegerSimple && hostPlatform.isMusl;
   };
 
   dontStrip = (targetPlatform.useAndroidPrebuilt || targetPlatform.isWasm);
diff --git a/nixpkgs/pkgs/development/compilers/ghc/9.0.1.nix b/nixpkgs/pkgs/development/compilers/ghc/9.0.1.nix
index d2ae51c66dee..c2cc1358e821 100644
--- a/nixpkgs/pkgs/development/compilers/ghc/9.0.1.nix
+++ b/nixpkgs/pkgs/development/compilers/ghc/9.0.1.nix
@@ -268,6 +268,10 @@ stdenv.mkDerivation (rec {
     # * https://gitlab.haskell.org/ghc/ghc/-/issues/19580
     ++ lib.optional stdenv.targetPlatform.isMusl "pie";
 
+  # big-parallel allows us to build with more than 2 cores on
+  # Hydra which already warrants a significant speedup
+  requiredSystemFeatures = [ "big-parallel" ];
+
   postInstall = ''
     # Install the bash completion file.
     install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
@@ -293,9 +297,13 @@ stdenv.mkDerivation (rec {
   meta = {
     homepage = "http://haskell.org/ghc";
     description = "The Glasgow Haskell Compiler";
-    maintainers = with lib.maintainers; [ marcweber andres peti ];
+    maintainers = with lib.maintainers; [ marcweber andres peti guibou ];
     timeout = 24 * 3600;
     inherit (ghc.meta) license platforms;
+
+    # integer-simple builds are broken when GHC links against musl.
+    # See https://github.com/NixOS/nixpkgs/pull/129606#issuecomment-881323743.
+    broken = enableIntegerSimple && hostPlatform.isMusl;
   };
 
 } // lib.optionalAttrs targetPlatform.useAndroidPrebuilt {
diff --git a/nixpkgs/pkgs/development/compilers/ghc/9.2.1.nix b/nixpkgs/pkgs/development/compilers/ghc/9.2.1.nix
new file mode 100644
index 000000000000..4664ed834f57
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/ghc/9.2.1.nix
@@ -0,0 +1,320 @@
+{ lib, stdenv, pkgsBuildTarget, targetPackages
+
+# build-tools
+, bootPkgs
+, autoconf, automake, coreutils, fetchurl, perl, python3, m4, sphinx, xattr
+, bash
+
+, libiconv ? null, ncurses
+, glibcLocales ? null
+
+, # GHC can be built with system libffi or a bundled one.
+  libffi ? null
+
+, useLLVM ? !stdenv.targetPlatform.isx86
+, # LLVM is conceptually a run-time-only depedendency, but for
+  # non-x86, we need LLVM to bootstrap later stages, so it becomes a
+  # build-time dependency too.
+  buildLlvmPackages, llvmPackages
+
+, # If enabled, GHC will be built with the GPL-free but slower integer-simple
+  # library instead of the faster but GPLed integer-gmp library.
+  enableIntegerSimple ? !(lib.meta.availableOn stdenv.hostPlatform gmp), gmp
+
+, # If enabled, use -fPIC when compiling static libs.
+  enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform
+
+  # aarch64 outputs otherwise exceed 2GB limit
+, enableProfiledLibs ? !stdenv.targetPlatform.isAarch64
+
+, # 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
+
+, # Whether to build terminfo.
+  enableTerminfo ? !stdenv.targetPlatform.isWindows
+
+, # What flavour to build. An empty string indicates no
+  # specific flavour and falls back to ghc default values.
+  ghcFlavour ? lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform)
+    (if useLLVM then "perf-cross" else "perf-cross-ncg")
+
+, #  Whether to build sphinx documentation.
+  enableDocs ? (
+    # Docs disabled for musl and cross because it's a large task to keep
+    # all `sphinx` dependencies building in those environments.
+    # `sphinx` pullls in among others:
+    # Ruby, Python, Perl, Rust, OpenGL, Xorg, gtk, LLVM.
+    (stdenv.targetPlatform == stdenv.hostPlatform)
+    && !stdenv.hostPlatform.isMusl
+  )
+
+, enableHaddockProgram ?
+    # Disabled for cross; see note [HADDOCK_DOCS].
+    (stdenv.targetPlatform == stdenv.hostPlatform)
+
+, # Whether to disable the large address space allocator
+  # necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
+  disableLargeAddressSpace ? stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64
+}:
+
+assert !enableIntegerSimple -> gmp != null;
+
+# Cross cannot currently build the `haddock` program for silly reasons,
+# see note [HADDOCK_DOCS].
+assert (stdenv.targetPlatform != stdenv.hostPlatform) -> !enableHaddockProgram;
+
+let
+  inherit (stdenv) buildPlatform hostPlatform targetPlatform;
+
+  inherit (bootPkgs) ghc;
+
+  # TODO(@Ericson2314) Make unconditional
+  targetPrefix = lib.optionalString
+    (targetPlatform != hostPlatform)
+    "${targetPlatform.config}-";
+
+  buildMK = ''
+    BuildFlavour = ${ghcFlavour}
+    ifneq \"\$(BuildFlavour)\" \"\"
+    include mk/flavours/\$(BuildFlavour).mk
+    endif
+    BUILD_SPHINX_HTML = ${if enableDocs then "YES" else "NO"}
+    BUILD_SPHINX_PDF = NO
+  '' +
+  # Note [HADDOCK_DOCS]:
+  # Unfortunately currently `HADDOCK_DOCS` controls both whether the `haddock`
+  # program is built (which we generally always want to have a complete GHC install)
+  # and whether it is run on the GHC sources to generate hyperlinked source code
+  # (which is impossible for cross-compilation); see:
+  # https://gitlab.haskell.org/ghc/ghc/-/issues/20077
+  # This implies that currently a cross-compiled GHC will never have a `haddock`
+  # program, so it can never generate haddocks for any packages.
+  # If this is solved in the future, we'd like to unconditionally
+  # build the haddock program (removing the `enableHaddockProgram` option).
+  ''
+    HADDOCK_DOCS = ${if enableHaddockProgram then "YES" else "NO"}
+    DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
+    INTEGER_LIBRARY = ${if enableIntegerSimple then "integer-simple" else "integer-gmp"}
+  '' + lib.optionalString (targetPlatform != hostPlatform) ''
+    Stage1Only = ${if targetPlatform.system == hostPlatform.system then "NO" else "YES"}
+    CrossCompilePrefix = ${targetPrefix}
+  '' + lib.optionalString (!enableProfiledLibs) ''
+    GhcLibWays = "v dyn"
+  '' + lib.optionalString enableRelocatedStaticLibs ''
+    GhcLibHcOpts += -fPIC
+    GhcRtsHcOpts += -fPIC
+  '' + lib.optionalString targetPlatform.useAndroidPrebuilt ''
+    EXTRA_CC_OPTS += -std=gnu99
+  '';
+
+  # Splicer will pull out correct variations
+  libDeps = platform: lib.optional enableTerminfo ncurses
+    ++ [libffi]
+    ++ lib.optional (!enableIntegerSimple) gmp
+    ++ lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
+
+  toolsForTarget = [
+    pkgsBuildTarget.targetPackages.stdenv.cc
+  ] ++ lib.optional useLLVM buildLlvmPackages.llvm;
+
+  targetCC = builtins.head toolsForTarget;
+
+  # Use gold either following the default, or to avoid the BFD linker due to some bugs / perf issues.
+  # But we cannot avoid BFD when using musl libc due to https://sourceware.org/bugzilla/show_bug.cgi?id=23856
+  # see #84670 and #49071 for more background.
+  useLdGold = targetPlatform.linker == "gold" || (targetPlatform.linker == "bfd" && !targetPlatform.isMusl);
+
+  runtimeDeps = [
+    targetPackages.stdenv.cc.bintools
+    coreutils
+  ]
+  # On darwin, we need unwrapped bintools as well (for otool)
+  ++ lib.optionals (stdenv.targetPlatform.linker == "cctools") [
+    targetPackages.stdenv.cc.bintools.bintools
+  ];
+
+in
+stdenv.mkDerivation (rec {
+  version = "9.2.0.20210821";
+  name = "${targetPrefix}ghc-${version}";
+
+  src = fetchurl {
+    url = "https://downloads.haskell.org/ghc/9.2.1-rc1/ghc-${version}-src.tar.xz";
+    sha256 = "1q2pppxv2avhykyxvyq72r5p97rkkiqp19b77yhp85ralbcp4ivw";
+  };
+
+  enableParallelBuilding = true;
+
+  outputs = [ "out" "doc" ];
+
+  postPatch = "patchShebangs .";
+
+  # GHC needs the locale configured during the Haddock phase.
+  LANG = "en_US.UTF-8";
+
+  # GHC is a bit confused on its cross terminology.
+  preConfigure = ''
+    for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
+      export "''${env#TARGET_}=''${!env}"
+    done
+    # GHC is a bit confused on its cross terminology, as these would normally be
+    # the *host* tools.
+    export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
+    export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
+    # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
+    export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${lib.optionalString useLdGold ".gold"}"
+    export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
+    export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
+    export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
+    export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
+    export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
+    export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
+
+    echo -n "${buildMK}" > mk/build.mk
+    sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
+  '' + lib.optionalString (stdenv.isLinux && hostPlatform.libc == "glibc") ''
+    export LOCALE_ARCHIVE="${glibcLocales}/lib/locale/locale-archive"
+  '' + lib.optionalString (!stdenv.isDarwin) ''
+    export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}"
+  '' + lib.optionalString stdenv.isDarwin ''
+    export NIX_LDFLAGS+=" -no_dtrace_dof"
+  '' + 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 ''
+      echo "patching llvm-targets for musl targets..."
+      echo "Cloning these existing '*-linux-gnu*' targets:"
+      grep linux-gnu llvm-targets | sed 's/^/  /'
+      echo "(go go gadget sed)"
+      sed -i 's,\(^.*linux-\)gnu\(.*\)$,\0\n\1musl\2,' llvm-targets
+      echo "llvm-targets now contains these '*-linux-musl*' targets:"
+      grep linux-musl llvm-targets | sed 's/^/  /'
+
+      echo "And now patching to preserve '-musleabi' as done with '-gnueabi'"
+      # (aclocal.m4 is actual source, but patch configure as well since we don't re-gen)
+      for x in configure aclocal.m4; do
+        substituteInPlace $x \
+          --replace '*-android*|*-gnueabi*)' \
+                    '*-android*|*-gnueabi*|*-musleabi*)'
+      done
+  '';
+
+  # TODO(@Ericson2314): Always pass "--target" and always prefix.
+  configurePlatforms = [ "build" "host" ]
+    ++ lib.optional (targetPlatform != hostPlatform) "target";
+
+  # `--with` flags for libraries needed for RTS linker
+  configureFlags = [
+    "--datadir=$doc/share/doc/ghc"
+    "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
+  ] ++ lib.optionals (libffi != null) [
+    "--with-system-libffi"
+    "--with-ffi-includes=${targetPackages.libffi.dev}/include"
+    "--with-ffi-libraries=${targetPackages.libffi.out}/lib"
+  ] ++ lib.optionals (targetPlatform == hostPlatform && !enableIntegerSimple) [
+    "--with-gmp-includes=${targetPackages.gmp.dev}/include"
+    "--with-gmp-libraries=${targetPackages.gmp.out}/lib"
+  ] ++ lib.optionals (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
+    "--with-iconv-includes=${libiconv}/include"
+    "--with-iconv-libraries=${libiconv}/lib"
+  ] ++ lib.optionals (targetPlatform != hostPlatform) [
+    "--enable-bootstrap-with-devel-snapshot"
+  ] ++ lib.optionals useLdGold [
+    "CFLAGS=-fuse-ld=gold"
+    "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
+    "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
+  ] ++ lib.optionals (disableLargeAddressSpace) [
+    "--disable-large-address-space"
+  ];
+
+  # Make sure we never relax`$PATH` and hooks support for compatibility.
+  strictDeps = true;
+
+  # Don’t add -liconv to LDFLAGS automatically so that GHC will add it itself.
+  dontAddExtraLibs = true;
+
+  nativeBuildInputs = [
+    perl autoconf automake m4 python3
+    ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
+  ] ++ lib.optionals enableDocs [
+    sphinx
+  ] ++ lib.optionals stdenv.isDarwin [
+    # TODO(@sternenseemann): use XATTR env var after backport of
+    # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/6447
+    xattr
+  ];
+
+  # For building runtime libs
+  depsBuildTarget = toolsForTarget;
+
+  buildInputs = [ perl bash ] ++ (libDeps hostPlatform);
+
+  propagatedBuildInputs = [ targetPackages.stdenv.cc ]
+    ++ lib.optional useLLVM llvmPackages.llvm;
+
+  depsTargetTarget = map lib.getDev (libDeps targetPlatform);
+  depsTargetTargetPropagated = map (lib.getOutput "out") (libDeps targetPlatform);
+
+  # required, because otherwise all symbols from HSffi.o are stripped, and
+  # that in turn causes GHCi to abort
+  stripDebugFlags = [ "-S" ] ++ lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols";
+
+  checkTarget = "test";
+
+  hardeningDisable =
+    [ "format" ]
+    # In nixpkgs, musl based builds currently enable `pie` hardening by default
+    # (see `defaultHardeningFlags` in `make-derivation.nix`).
+    # But GHC cannot currently produce outputs that are ready for `-pie` linking.
+    # Thus, disable `pie` hardening, otherwise `recompile with -fPIE` errors appear.
+    # See:
+    # * https://github.com/NixOS/nixpkgs/issues/129247
+    # * https://gitlab.haskell.org/ghc/ghc/-/issues/19580
+    ++ lib.optional stdenv.targetPlatform.isMusl "pie";
+
+  # big-parallel allows us to build with more than 2 cores on
+  # Hydra which already warrants a significant speedup
+  requiredSystemFeatures = [ "big-parallel" ];
+
+  postInstall = ''
+    # Install the bash completion file.
+    install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
+
+    # Patch scripts to include "readelf" and "cat" in $PATH.
+    for i in "$out/bin/"*; do
+      test ! -h $i || continue
+      egrep --quiet '^#!' <(head -n 1 $i) || continue
+      sed -i -e '2i export PATH="$PATH:${lib.makeBinPath runtimeDeps}"' $i
+    done
+  '';
+
+  passthru = {
+    inherit bootPkgs targetPrefix;
+
+    inherit llvmPackages;
+    inherit enableShared;
+
+    # Our Cabal compiler name
+    haskellCompilerName = "ghc-${version}";
+  };
+
+  meta = {
+    homepage = "http://haskell.org/ghc";
+    description = "The Glasgow Haskell Compiler";
+    maintainers = with lib.maintainers; [ marcweber andres peti guibou ];
+    timeout = 24 * 3600;
+    inherit (ghc.meta) license platforms;
+
+    # integer-simple builds are broken when GHC links against musl.
+    # See https://github.com/NixOS/nixpkgs/pull/129606#issuecomment-881323743.
+    # Linker failure on macOS:
+    # https://gitlab.haskell.org/ghc/ghc/-/issues/19950#note_373726
+    broken = (enableIntegerSimple && hostPlatform.isMusl)
+      || stdenv.hostPlatform.isDarwin;
+  };
+
+} // lib.optionalAttrs targetPlatform.useAndroidPrebuilt {
+  dontStrip = true;
+  dontPatchELF = true;
+  noAuditTmpdir = true;
+})
diff --git a/nixpkgs/pkgs/development/compilers/ghc/head.nix b/nixpkgs/pkgs/development/compilers/ghc/head.nix
index 2ea14b78cc4a..d39adcaab540 100644
--- a/nixpkgs/pkgs/development/compilers/ghc/head.nix
+++ b/nixpkgs/pkgs/development/compilers/ghc/head.nix
@@ -2,7 +2,7 @@
 
 # build-tools
 , bootPkgs
-, autoconf, autoreconfHook, automake, coreutils, fetchgit, perl, python3, m4, sphinx
+, autoconf, autoreconfHook, automake, coreutils, fetchgit, perl, python3, m4, sphinx, xattr
 , bash
 
 , libiconv ? null, ncurses
@@ -40,7 +40,7 @@
 , # Whether to build terminfo.
   enableTerminfo ? !stdenv.targetPlatform.isWindows
 
-, version ? "9.3.20210504"
+, version ? "9.3.20210806"
 , # What flavour to build. An empty string indicates no
   # specific flavour and falls back to ghc default values.
   ghcFlavour ? lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform)
@@ -152,8 +152,8 @@ stdenv.mkDerivation (rec {
 
   src = fetchgit {
     url = "https://gitlab.haskell.org/ghc/ghc.git/";
-    rev = "049c3a83fbce67e58e70c727d89e8331608a4e04";
-    sha256 = "0dk7c9ywam9fj33lqzpwxhiwz017m58j6ixvc8b07kzp7kskaxq7";
+    rev = "5d651c78fed7e55b3b3cd21a04499d1a2f75204d";
+    sha256 = "1z9xg8jsqr9id985wxfhkjyb3kpyrmr7vjdqzfv42cpxynd483r8";
   };
 
   enableParallelBuilding = true;
@@ -255,6 +255,10 @@ stdenv.mkDerivation (rec {
     ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
   ] ++ lib.optionals enableDocs [
     sphinx
+  ] ++ lib.optionals stdenv.isDarwin [
+    # TODO(@sternenseemann): use XATTR env var once we have
+    # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/6447
+    xattr
   ];
 
   # For building runtime libs
@@ -285,6 +289,10 @@ stdenv.mkDerivation (rec {
     # * https://gitlab.haskell.org/ghc/ghc/-/issues/19580
     ++ lib.optional stdenv.targetPlatform.isMusl "pie";
 
+  # big-parallel allows us to build with more than 2 cores on
+  # Hydra which already warrants a significant speedup
+  requiredSystemFeatures = [ "big-parallel" ];
+
   postInstall = ''
     # Install the bash completion file.
     install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
@@ -310,7 +318,8 @@ stdenv.mkDerivation (rec {
   meta = {
     homepage = "http://haskell.org/ghc";
     description = "The Glasgow Haskell Compiler";
-    maintainers = with lib.maintainers; [ marcweber andres peti ];
+    maintainers = with lib.maintainers; [ marcweber andres peti guibou ];
+    timeout = 24 * 3600;
     inherit (ghc.meta) license platforms;
     # ghcHEAD times out on aarch64-linux on Hydra.
     hydraPlatforms = builtins.filter (p: p != "aarch64-linux") ghc.meta.platforms;
diff --git a/nixpkgs/pkgs/development/compilers/gnatboot/default.nix b/nixpkgs/pkgs/development/compilers/gnatboot/default.nix
index d97298d02386..c68c4fd4ba03 100644
--- a/nixpkgs/pkgs/development/compilers/gnatboot/default.nix
+++ b/nixpkgs/pkgs/development/compilers/gnatboot/default.nix
@@ -1,15 +1,19 @@
 { lib, stdenv, fetchurl }:
 
+if stdenv.hostPlatform != stdenv.targetPlatform
+then builtins.throw "gnatboot can't cross-compile"
+else
+
 stdenv.mkDerivation {
   pname = "gentoo-gnatboot";
   version = "4.1";
 
-  src = if stdenv.system == "i686-linux" then
+  src = if stdenv.hostPlatform.system == "i686-linux" then
     fetchurl {
       url = mirror://gentoo/distfiles/gnatboot-4.1-i386.tar.bz2;
       sha256 = "0665zk71598204bf521vw68i5y6ccqarq9fcxsqp7ccgycb4lysr";
     }
-  else if stdenv.system == "x86_64-linux" then
+  else if stdenv.hostPlatform.system == "x86_64-linux" then
     fetchurl {
       url = mirror://gentoo/distfiles/gnatboot-4.1-amd64.tar.bz2;
       sha256 = "1li4d52lmbnfs6llcshlbqyik2q2q4bvpir0f7n38nagp0h6j0d4";
diff --git a/nixpkgs/pkgs/development/compilers/go/1.14.nix b/nixpkgs/pkgs/development/compilers/go/1.14.nix
deleted file mode 100644
index 21080fd96cb6..000000000000
--- a/nixpkgs/pkgs/development/compilers/go/1.14.nix
+++ /dev/null
@@ -1,284 +0,0 @@
-{ lib
-, stdenv
-, fetchurl
-, tzdata
-, iana-etc
-, runCommand
-, perl
-, which
-, pkg-config
-, patch
-, procps
-, pcre
-, cacert
-, Security
-, Foundation
-, mailcap
-, runtimeShell
-, buildPackages
-, pkgsBuildTarget
-, fetchpatch
-, callPackage
-}:
-
-let
-  go_bootstrap = buildPackages.callPackage ./bootstrap.nix { };
-
-  goBootstrap = runCommand "go-bootstrap" { } ''
-    mkdir $out
-    cp -rf ${go_bootstrap}/* $out/
-    chmod -R u+w $out
-    find $out -name "*.c" -delete
-    cp -rf $out/bin/* $out/share/go/bin/
-  '';
-
-  goarch = platform: {
-    "i686" = "386";
-    "x86_64" = "amd64";
-    "aarch64" = "arm64";
-    "arm" = "arm";
-    "armv5tel" = "arm";
-    "armv6l" = "arm";
-    "armv7l" = "arm";
-    "powerpc64le" = "ppc64le";
-    "mips" = "mips";
-  }.${platform.parsed.cpu.name} or (throw "Unsupported system");
-
-  # We need a target compiler which is still runnable at build time,
-  # to handle the cross-building case where build != host == target
-  targetCC = pkgsBuildTarget.targetPackages.stdenv.cc;
-in
-
-stdenv.mkDerivation rec {
-  pname = "go";
-  version = "1.14.15";
-
-  src = fetchurl {
-    url = "https://dl.google.com/go/go${version}.src.tar.gz";
-    sha256 = "0jci03f5z09xibbdqg4lnv2k3crhal1phzwr6lc4ajp514i3plby";
-  };
-
-  # perl is used for testing go vet
-  nativeBuildInputs = [ perl which pkg-config patch procps ];
-  buildInputs = [ cacert pcre ]
-    ++ lib.optionals stdenv.isLinux [ stdenv.cc.libc.out ]
-    ++ lib.optionals (stdenv.hostPlatform.libc == "glibc") [ stdenv.cc.libc.static ];
-
-  depsTargetTargetPropagated = lib.optionals stdenv.isDarwin [ Security Foundation ];
-
-  hardeningDisable = [ "all" ];
-
-  prePatch = ''
-    patchShebangs ./ # replace /bin/bash
-
-    # This source produces shell script at run time,
-    # and thus it is not corrected by patchShebangs.
-    substituteInPlace misc/cgo/testcarchive/carchive_test.go \
-      --replace '#!/usr/bin/env bash' '#!${runtimeShell}'
-
-    # Patch the mimetype database location which is missing on NixOS.
-    # but also allow static binaries built with NixOS to run outside nix
-    sed -i 's,\"/etc/mime.types,"${mailcap}/etc/mime.types\"\,\n\t&,' src/mime/type_unix.go
-
-    # Disabling the 'os/http/net' tests (they want files not available in
-    # chroot builds)
-    rm src/net/{listen,parse}_test.go
-    rm src/syscall/exec_linux_test.go
-
-    # !!! substituteInPlace does not seems to be effective.
-    # The os test wants to read files in an existing path. Just don't let it be /usr/bin.
-    sed -i 's,/usr/bin,'"`pwd`", src/os/os_test.go
-    sed -i 's,/bin/pwd,'"`type -P pwd`", src/os/os_test.go
-    # Disable the unix socket test
-    sed -i '/TestShutdownUnix/aif true \{ return\; \}' src/net/net_test.go
-    # Disable the hostname test
-    sed -i '/TestHostname/aif true \{ return\; \}' src/os/os_test.go
-    # ParseInLocation fails the test
-    sed -i '/TestParseInSydney/aif true \{ return\; \}' src/time/format_test.go
-    # Remove the api check as it never worked
-    sed -i '/src\/cmd\/api\/run.go/ireturn nil' src/cmd/dist/test.go
-    # Remove the coverage test as we have removed this utility
-    sed -i '/TestCoverageWithCgo/aif true \{ return\; \}' src/cmd/go/go_test.go
-    # Remove the timezone naming test
-    sed -i '/TestLoadFixed/aif true \{ return\; \}' src/time/time_test.go
-    # Remove disable setgid test
-    sed -i '/TestRespectSetgidDir/aif true \{ return\; \}' src/cmd/go/internal/work/build_test.go
-    # Remove cert tests that conflict with NixOS's cert resolution
-    sed -i '/TestEnvVars/aif true \{ return\; \}' src/crypto/x509/root_unix_test.go
-    # TestWritevError hangs sometimes
-    sed -i '/TestWritevError/aif true \{ return\; \}' src/net/writev_test.go
-    # TestVariousDeadlines fails sometimes
-    sed -i '/TestVariousDeadlines/aif true \{ return\; \}' src/net/timeout_test.go
-
-    sed -i 's,/etc/protocols,${iana-etc}/etc/protocols,' src/net/lookup_unix.go
-    sed -i 's,/etc/services,${iana-etc}/etc/services,' src/net/port_unix.go
-
-    # Disable cgo lookup tests not works, they depend on resolver
-    rm src/net/cgo_unix_test.go
-
-  '' + lib.optionalString stdenv.isLinux ''
-    # prepend the nix path to the zoneinfo files but also leave the original value for static binaries
-    # that run outside a nix server
-    sed -i 's,\"/usr/share/zoneinfo/,"${tzdata}/share/zoneinfo/\"\,\n\t&,' src/time/zoneinfo_unix.go
-
-  '' + lib.optionalString stdenv.isAarch32 ''
-    echo '#!${runtimeShell}' > misc/cgo/testplugin/test.bash
-  '' + lib.optionalString stdenv.isDarwin ''
-    substituteInPlace src/race.bash --replace \
-      "sysctl machdep.cpu.extfeatures | grep -qv EM64T" true
-    sed -i 's,strings.Contains(.*sysctl.*,true {,' src/cmd/dist/util.go
-    sed -i 's,"/etc","'"$TMPDIR"'",' src/os/os_test.go
-    sed -i 's,/_go_os_test,'"$TMPDIR"'/_go_os_test,' src/os/path_test.go
-
-    sed -i '/TestChdirAndGetwd/aif true \{ return\; \}' src/os/os_test.go
-    sed -i '/TestCredentialNoSetGroups/aif true \{ return\; \}' src/os/exec/exec_posix_test.go
-    sed -i '/TestRead0/aif true \{ return\; \}' src/os/os_test.go
-    sed -i '/TestSystemRoots/aif true \{ return\; \}' src/crypto/x509/root_darwin_test.go
-
-    sed -i '/TestGoInstallRebuildsStalePackagesInOtherGOPATH/aif true \{ return\; \}' src/cmd/go/go_test.go
-    sed -i '/TestBuildDashIInstallsDependencies/aif true \{ return\; \}' src/cmd/go/go_test.go
-
-    sed -i '/TestDisasmExtld/aif true \{ return\; \}' src/cmd/objdump/objdump_test.go
-
-    sed -i 's/unrecognized/unknown/' src/cmd/link/internal/ld/lib.go
-
-    # TestCurrent fails because Current is not implemented on Darwin
-    sed -i 's/TestCurrent/testCurrent/g' src/os/user/user_test.go
-    sed -i 's/TestLookup/testLookup/g' src/os/user/user_test.go
-
-    touch $TMPDIR/group $TMPDIR/hosts $TMPDIR/passwd
-  '';
-
-  patches = [
-    ./remove-tools-1.11.patch
-    ./ssl-cert-file-1.13.patch
-    ./remove-test-pie-1.14.patch
-    ./creds-test.patch
-    ./go-1.9-skip-flaky-19608.patch
-    ./go-1.9-skip-flaky-20072.patch
-    ./skip-external-network-tests.patch
-    ./skip-nohup-tests.patch
-    ./go_no_vendor_checks-1_14.patch
-
-    # support TZ environment variable starting with colon
-    (fetchpatch {
-      name = "tz-support-colon.patch";
-      url = "https://github.com/golang/go/commit/58fe2cd4022c77946ce4b598cf3e30ccc8367143.patch";
-      sha256 = "0vphwiqrm0qykfj3rfayr65qzk22fksg7qkamvaz0lmf6fqvbd2f";
-    })
-
-    # fix rare TestDontCacheBrokenHTTP2Conn failure
-    (fetchpatch {
-      url = "https://github.com/golang/go/commit/ea1437a8cdf6bb3c2d2447833a5d06dbd75f7ae4.patch";
-      sha256 = "1lyzy4nf8c34a966vw45j3j7hzpvncq2gqspfxffzkyh17xd8sgy";
-    })
-  ] ++ [
-    # breaks under load: https://github.com/golang/go/issues/25628
-    (if stdenv.isAarch32
-    then ./skip-test-extra-files-on-aarch32-1.14.patch
-    else ./skip-test-extra-files-on-386-1.14.patch)
-  ];
-
-  postPatch = ''
-    find . -name '*.orig' -exec rm {} ';'
-  '';
-
-  GOOS = stdenv.targetPlatform.parsed.kernel.name;
-  GOARCH = goarch stdenv.targetPlatform;
-  # GOHOSTOS/GOHOSTARCH must match the building system, not the host system.
-  # Go will nevertheless build a for host system that we will copy over in
-  # the install phase.
-  GOHOSTOS = stdenv.buildPlatform.parsed.kernel.name;
-  GOHOSTARCH = goarch stdenv.buildPlatform;
-
-  # {CC,CXX}_FOR_TARGET must be only set for cross compilation case as go expect those
-  # to be different from CC/CXX
-  CC_FOR_TARGET =
-    if (stdenv.buildPlatform != stdenv.targetPlatform) then
-      "${targetCC}/bin/${targetCC.targetPrefix}cc"
-    else
-      null;
-  CXX_FOR_TARGET =
-    if (stdenv.buildPlatform != stdenv.targetPlatform) then
-      "${targetCC}/bin/${targetCC.targetPrefix}c++"
-    else
-      null;
-
-  GOARM = toString (lib.intersectLists [ (stdenv.hostPlatform.parsed.cpu.version or "") ] [ "5" "6" "7" ]);
-  GO386 = 387; # from Arch: don't assume sse2 on i686
-  CGO_ENABLED = 1;
-  # Hopefully avoids test timeouts on Hydra
-  GO_TEST_TIMEOUT_SCALE = 3;
-
-  # Indicate that we are running on build infrastructure
-  # Some tests assume things like home directories and users exists
-  GO_BUILDER_NAME = "nix";
-
-  GOROOT_BOOTSTRAP = "${goBootstrap}/share/go";
-
-  postConfigure = ''
-    export GOCACHE=$TMPDIR/go-cache
-    # this is compiled into the binary
-    export GOROOT_FINAL=$out/share/go
-
-    export PATH=$(pwd)/bin:$PATH
-
-    ${lib.optionalString (stdenv.buildPlatform != stdenv.targetPlatform) ''
-    # Independent from host/target, CC should produce code for the building system.
-    # We only set it when cross-compiling.
-    export CC=${buildPackages.stdenv.cc}/bin/cc
-    ''}
-    ulimit -a
-  '';
-
-  postBuild = ''
-    (cd src && ./make.bash)
-  '';
-
-  doCheck = stdenv.hostPlatform == stdenv.targetPlatform && !stdenv.isDarwin;
-
-  checkPhase = ''
-    runHook preCheck
-    (cd src && HOME=$TMPDIR GOCACHE=$TMPDIR/go-cache ./run.bash --no-rebuild)
-    runHook postCheck
-  '';
-
-  preInstall = ''
-    rm -r pkg/obj
-    # Contains the wrong perl shebang when cross compiling,
-    # since it is not used for anything we can deleted as well.
-    rm src/regexp/syntax/make_perl_groups.pl
-  '' + (if (stdenv.buildPlatform != stdenv.hostPlatform) then ''
-    mv bin/*_*/* bin
-    rmdir bin/*_*
-    ${lib.optionalString (!(GOHOSTARCH == GOARCH && GOOS == GOHOSTOS)) ''
-      rm -rf pkg/${GOHOSTOS}_${GOHOSTARCH} pkg/tool/${GOHOSTOS}_${GOHOSTARCH}
-    ''}
-  '' else if (stdenv.hostPlatform != stdenv.targetPlatform) then ''
-    rm -rf bin/*_*
-    ${lib.optionalString (!(GOHOSTARCH == GOARCH && GOOS == GOHOSTOS)) ''
-      rm -rf pkg/${GOOS}_${GOARCH} pkg/tool/${GOOS}_${GOARCH}
-    ''}
-  '' else "");
-
-  installPhase = ''
-    runHook preInstall
-    mkdir -p $GOROOT_FINAL
-    cp -a bin pkg src lib misc api doc $GOROOT_FINAL
-    ln -s $GOROOT_FINAL/bin $out/bin
-    runHook postInstall
-  '';
-
-  disallowedReferences = [ goBootstrap ];
-
-  meta = with lib; {
-    homepage = "http://golang.org/";
-    description = "The Go Programming language";
-    license = licenses.bsd3;
-    maintainers = teams.golang.members;
-    platforms = platforms.linux ++ platforms.darwin;
-    knownVulnerabilities = [
-      "Support for Go 1.14 ended with the release of Go 1.16: https://golang.org/doc/devel/release.html#policy"
-    ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/compilers/go/1.15.nix b/nixpkgs/pkgs/development/compilers/go/1.15.nix
index 74ab1342dab5..f9bba06d6336 100644
--- a/nixpkgs/pkgs/development/compilers/go/1.15.nix
+++ b/nixpkgs/pkgs/development/compilers/go/1.15.nix
@@ -51,11 +51,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "go";
-  version = "1.15.14";
+  version = "1.15.15";
 
   src = fetchurl {
     url = "https://dl.google.com/go/go${version}.src.tar.gz";
-    sha256 = "sha256-YKSlxI1j0KE+yohJAJtiRin/QpyLxdGmqMPE2p805wo=";
+    sha256 = "sha256-BmKuOBMzAoDV8al6LuI7vb46Wnz6YAGySphzoZoNx+w=";
   };
 
   # perl is used for testing go vet
diff --git a/nixpkgs/pkgs/development/compilers/go/1.16.nix b/nixpkgs/pkgs/development/compilers/go/1.16.nix
index 49a2f9656f35..a97aa4fe80d6 100644
--- a/nixpkgs/pkgs/development/compilers/go/1.16.nix
+++ b/nixpkgs/pkgs/development/compilers/go/1.16.nix
@@ -51,11 +51,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "go";
-  version = "1.16.6";
+  version = "1.16.7";
 
   src = fetchurl {
     url = "https://dl.google.com/go/go${version}.src.tar.gz";
-    sha256 = "sha256-o6XUvEAbUdsGXk+TtSM0ek00OuDAsIplw0I7BaE4A30=";
+    sha256 = "sha256-Gp8olNPYeHKfcEUHLzC+zr4kNSTPL85OCnskix4GVKw=";
   };
 
   # perl is used for testing go vet
diff --git a/nixpkgs/pkgs/development/compilers/go/go_no_vendor_checks-1_14.patch b/nixpkgs/pkgs/development/compilers/go/go_no_vendor_checks-1_14.patch
deleted file mode 100644
index 53e4ba78ff18..000000000000
--- a/nixpkgs/pkgs/development/compilers/go/go_no_vendor_checks-1_14.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Starting from go1.14, go verifes that vendor/modules.txt matches the requirements
-and replacements listed in the main module go.mod file, and it is a hard failure if
-vendor/modules.txt is missing.
-
-Relax module consistency checks and switch back to pre go1.14 behaviour if
-vendor/modules.txt is missing regardless of go version requirement in go.mod.
-
-This has been ported from FreeBSD: https://reviews.freebsd.org/D24122
-See https://github.com/golang/go/issues/37948 for discussion.
-
-diff --git a/src/cmd/go/internal/modload/init.go b/src/cmd/go/internal/modload/init.go
-index 71f68efbcc..3c566d04dd 100644
---- a/src/cmd/go/internal/modload/init.go
-+++ b/src/cmd/go/internal/modload/init.go
-@@ -133,7 +133,7 @@ func checkVendorConsistency() {
- 	readVendorList()
-
- 	pre114 := false
--	if modFile.Go == nil || semver.Compare("v"+modFile.Go.Version, "v1.14") < 0 {
-+	if modFile.Go == nil || semver.Compare("v"+modFile.Go.Version, "v1.14") < 0 || (os.Getenv("GO_NO_VENDOR_CHECKS") == "1" && len(vendorMeta) == 0) {
- 		// Go versions before 1.14 did not include enough information in
- 		// vendor/modules.txt to check for consistency.
- 		// If we know that we're on an earlier version, relax the consistency check.
diff --git a/nixpkgs/pkgs/development/compilers/go/remove-test-pie-1.14.patch b/nixpkgs/pkgs/development/compilers/go/remove-test-pie-1.14.patch
deleted file mode 100644
index 218fcd46d892..000000000000
--- a/nixpkgs/pkgs/development/compilers/go/remove-test-pie-1.14.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-diff --git a/src/cmd/dist/test.go b/src/cmd/dist/test.go
-index 56bdfcac19..d7d67ab94d 100644
---- a/src/cmd/dist/test.go
-+++ b/src/cmd/dist/test.go
-@@ -580,29 +580,6 @@ func (t *tester) registerTests() {
- 		})
- 	}
- 
--	// Test internal linking of PIE binaries where it is supported.
--	if goos == "linux" && (goarch == "amd64" || goarch == "arm64") {
--		t.tests = append(t.tests, distTest{
--			name:    "pie_internal",
--			heading: "internal linking of -buildmode=pie",
--			fn: func(dt *distTest) error {
--				t.addCmd(dt, "src", t.goTest(), "reflect", "-buildmode=pie", "-ldflags=-linkmode=internal", t.timeout(60))
--				return nil
--			},
--		})
--		// Also test a cgo package.
--		if t.cgoEnabled && t.internalLink() {
--			t.tests = append(t.tests, distTest{
--				name:    "pie_internal_cgo",
--				heading: "internal linking of -buildmode=pie",
--				fn: func(dt *distTest) error {
--					t.addCmd(dt, "src", t.goTest(), "os/user", "-buildmode=pie", "-ldflags=-linkmode=internal", t.timeout(60))
--					return nil
--				},
--			})
--		}
--	}
--
- 	// sync tests
- 	if goos != "js" { // js doesn't support -cpu=10
- 		t.tests = append(t.tests, distTest{
diff --git a/nixpkgs/pkgs/development/compilers/go/skip-external-network-tests.patch b/nixpkgs/pkgs/development/compilers/go/skip-external-network-tests.patch
deleted file mode 100644
index 5791b213cb59..000000000000
--- a/nixpkgs/pkgs/development/compilers/go/skip-external-network-tests.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/src/cmd/go/go_test.go b/src/cmd/go/go_test.go
-index 85cae90..94b4edd 100644
---- a/src/cmd/go/go_test.go
-+++ b/src/cmd/go/go_test.go
-@@ -4946,6 +4946,8 @@ func TestBuildmodePIE(t *testing.T) {
- }
- 
- func TestExecBuildX(t *testing.T) {
-+	t.Skipf("skipping, test requires networking")
-+
- 	tooSlow(t)
- 	if !canCgo {
- 		t.Skip("skipping because cgo not enabled")
-diff --git a/src/net/dial_test.go b/src/net/dial_test.go
-index 00a84d1..27f9ec9 100644
---- a/src/net/dial_test.go
-+++ b/src/net/dial_test.go
-@@ -968,6 +968,8 @@ func TestDialerControl(t *testing.T) {
- // mustHaveExternalNetwork is like testenv.MustHaveExternalNetwork
- // except that it won't skip testing on non-iOS builders.
- func mustHaveExternalNetwork(t *testing.T) {
-+	t.Skipf("Nix sandbox does not have networking")
-+
- 	t.Helper()
- 	ios := runtime.GOOS == "darwin" && (runtime.GOARCH == "arm" || runtime.GOARCH == "arm64")
- 	if testenv.Builder() == "" || ios {
diff --git a/nixpkgs/pkgs/development/compilers/go/ssl-cert-file-1.13.patch b/nixpkgs/pkgs/development/compilers/go/ssl-cert-file-1.13.patch
deleted file mode 100644
index 02a50d9c72f3..000000000000
--- a/nixpkgs/pkgs/development/compilers/go/ssl-cert-file-1.13.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-diff --git a/src/crypto/x509/root_cgo_darwin.go b/src/crypto/x509/root_cgo_darwin.go
-index 255a8d3525..a467255a54 100644
---- a/src/crypto/x509/root_cgo_darwin.go
-+++ b/src/crypto/x509/root_cgo_darwin.go
-@@ -280,6 +280,8 @@ int CopyPEMRoots(CFDataRef *pemRoots, CFDataRef *untrustedPemRoots, bool debugDa
- import "C"
- import (
- 	"errors"
-+	"io/ioutil"
-+	"os"
- 	"unsafe"
- )
- 
-@@ -295,6 +297,13 @@ func loadSystemRoots() (*CertPool, error) {
- 	buf := C.GoBytes(unsafe.Pointer(C.CFDataGetBytePtr(data)), C.int(C.CFDataGetLength(data)))
- 	roots := NewCertPool()
- 	roots.AppendCertsFromPEM(buf)
-+	if file := os.Getenv("NIX_SSL_CERT_FILE"); file != "" {
-+		data, err := ioutil.ReadFile(file)
-+		if err == nil {
-+			roots.AppendCertsFromPEM(data)
-+			return roots, nil
-+		}
-+	}
- 
- 	if C.CFDataGetLength(untrustedData) == 0 {
- 		return roots, nil
-diff --git a/src/crypto/x509/root_darwin.go b/src/crypto/x509/root_darwin.go
-index 2f6a8b8d60..b81889fe69 100644
---- a/src/crypto/x509/root_darwin.go
-+++ b/src/crypto/x509/root_darwin.go
-@@ -92,6 +92,14 @@ func execSecurityRoots() (*CertPool, error) {
- 		verifyCh    = make(chan rootCandidate)
- 	)
- 
-+	if file := os.Getenv("NIX_SSL_CERT_FILE"); file != "" {
-+		data, err := ioutil.ReadFile(file)
-+		if err == nil {
-+			roots.AppendCertsFromPEM(data)
-+			return roots, nil
-+		}
-+	}
-+
- 	// Using 4 goroutines to pipe into verify-cert seems to be
- 	// about the best we can do. The verify-cert binary seems to
- 	// just RPC to another server with coarse locking anyway, so
-diff --git a/src/crypto/x509/root_unix.go b/src/crypto/x509/root_unix.go
-index 48de50b4ea..750e12c6b4 100644
---- a/src/crypto/x509/root_unix.go
-+++ b/src/crypto/x509/root_unix.go
-@@ -38,6 +38,13 @@ func (c *Certificate) systemVerify(opts *VerifyOptions) (chains [][]*Certificate
- 
- func loadSystemRoots() (*CertPool, error) {
- 	roots := NewCertPool()
-+	if file := os.Getenv("NIX_SSL_CERT_FILE"); file != "" {
-+		data, err := ioutil.ReadFile(file)
-+		if err == nil {
-+			roots.AppendCertsFromPEM(data)
-+			return roots, nil
-+		}
-+	}
- 
- 	files := certFiles
- 	if f := os.Getenv(certFileEnv); f != "" {
diff --git a/nixpkgs/pkgs/development/compilers/gprolog/default.nix b/nixpkgs/pkgs/development/compilers/gprolog/default.nix
index b21f0196d4b4..16a7552dd4e3 100644
--- a/nixpkgs/pkgs/development/compilers/gprolog/default.nix
+++ b/nixpkgs/pkgs/development/compilers/gprolog/default.nix
@@ -1,12 +1,13 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "gprolog-1.5.0";
+  pname = "gprolog";
+  version = "1.5.0";
 
   src = fetchurl {
     urls = [
-      "mirror://gnu/gprolog/${name}.tar.gz"
-      "http://www.gprolog.org/${name}.tar.gz"
+      "mirror://gnu/gprolog/gprolog-${version}.tar.gz"
+      "http://www.gprolog.org/gprolog-${version}.tar.gz"
     ];
     sha256 = "sha256-ZwZCtDwPqifr1olh77F+vnB2iPkbaAlWbd1gYTlRLAE=";
   };
@@ -22,13 +23,13 @@ stdenv.mkDerivation rec {
     configureFlagsArray=(
       "--with-install-dir=$out"
       "--without-links-dir"
-      "--with-examples-dir=$out/share/${name}/examples"
-      "--with-doc-dir=$out/share/${name}/doc"
+      "--with-examples-dir=$out/share/gprolog-${version}/examples"
+      "--with-doc-dir=$out/share/gprolog-${version}/doc"
     )
   '';
 
   postInstall = ''
-    mv -v $out/[A-Z]* $out/gprolog.ico $out/share/${name}/
+    mv -v $out/[A-Z]* $out/gprolog.ico $out/share/gprolog-${version}/
   '';
 
   doCheck = true;
diff --git a/nixpkgs/pkgs/development/compilers/graalvm/community-edition.nix b/nixpkgs/pkgs/development/compilers/graalvm/community-edition.nix
deleted file mode 100644
index 8669b57dcca2..000000000000
--- a/nixpkgs/pkgs/development/compilers/graalvm/community-edition.nix
+++ /dev/null
@@ -1,285 +0,0 @@
-{ stdenv
-, lib
-, fetchurl
-, autoPatchelfHook
-, setJavaClassPath
-, makeWrapper
-# minimum dependencies
-, Foundation
-, alsa-lib
-, fontconfig
-, freetype
-, glibc
-, openssl
-, perl
-, unzip
-, xorg
-, zlib
-# runtime dependencies
-, cups
-# runtime dependencies for GTK+ Look and Feel
-, gtkSupport ? true
-, cairo
-, glib
-, gtk3
-}:
-
-let
-  platform = if stdenv.isDarwin then "darwin-amd64" else "linux-amd64";
-  runtimeDependencies = [
-    cups
-  ] ++ lib.optionals gtkSupport [
-    cairo glib gtk3
-  ];
-  runtimeLibraryPath = lib.makeLibraryPath runtimeDependencies;
-  common = javaVersion:
-    let
-      javaVersionPlatform = "${javaVersion}-${platform}";
-      graalvmXXX-ce = stdenv.mkDerivation rec {
-        pname = "graalvm${javaVersion}-ce";
-        version = "21.0.0";
-        srcs = [
-          (fetchurl {
-             sha256 = {  "8-linux-amd64"  = "18q1plrpclp02rlwn3vvv2fcyspvqv2gkzn14f0b59pnladmlv1j";
-                        "11-linux-amd64"  = "1g1xjbr693rimdy2cy6jvz4vgnbnw76wa87xcmaszka206fmpnsc";
-                         "8-darwin-amd64" = "0giv8f7ybdykadzmxjy91i6njbdx6dclyx7g6vyhwk2l1cvxi4li";
-                        "11-darwin-amd64" = "1a8gjp6fp11ms05pd62h1x1ifkkr3wv0hrxic670v90bbps9lsqf";
-                      }.${javaVersionPlatform};
-             url    = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${version}/graalvm-ce-java${javaVersionPlatform}-${version}.tar.gz";
-          })
-          (fetchurl {
-             sha256 = {  "8-linux-amd64"  = "0hpq2g9hc8b7j4d8a08kq1mnl6pl7a4kwaj0a3gka3d4m6r7cscg";
-                        "11-linux-amd64"  = "0z3hb2bf0lqzw760civ3h1wvx22a75n7baxc0l2i9h5wxas002y7";
-                         "8-darwin-amd64" = "1izbgl4hjg5jyi422xnkx006qnw163r1i1djf76q1plms40y01ph";
-                        "11-darwin-amd64" = "1d9z75gil0if74ndla9yw3xx9i2bfbcs32qa0z6wi5if66cmknb8";
-                      }.${javaVersionPlatform};
-             url    = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${version}/native-image-installable-svm-java${javaVersionPlatform}-${version}.jar";
-          })
-          (fetchurl {
-             sha256 = {  "8-linux-amd64"  = "122p8psgmzhqnjb2fy1lwghg0kw5qa8xkzgyjp682lwg4j8brz43";
-                        "11-linux-amd64"  = "1vdc90m6s013cbhmj58nb4vyxllbxirw0idlgv0iv9cyhx90hzgz";
-                         "8-darwin-amd64" = "04q0s9xsaskqn9kbhz0mgdk28j2qnxrzqfmw6jn2znr8s8jsc6yp";
-                        "11-darwin-amd64" = "1pw4xd8g5cc9bm52awmm1zxs96ijws43vws7y10wxa6a0nhv7z5f";
-                      }.${javaVersionPlatform};
-             url    = "https://github.com/oracle/truffleruby/releases/download/vm-${version}/ruby-installable-svm-java${javaVersionPlatform}-${version}.jar";
-          })
-          (fetchurl {
-             sha256 = {  "8-linux-amd64"  = "19m7n4f5jrmsfvgv903sarkcjh55l0nlnw99lvjlcafw5hqzyb91";
-                        "11-linux-amd64"  = "18ibb7l7b4hmbnvyr8j7mrs11mvlsf2j0c8rdd2s93x2114f26ba";
-                         "8-darwin-amd64" = "1zlzi00339kvg4ym2j75ypfkzn8zbwdpriqmkaz4fh28qjmc1dwq";
-                        "11-darwin-amd64" = "0x301i1fimakhi2x29ldr0fsqkb3qs0g9jsmjv27d62dpqx8kgc8";
-                      }.${javaVersionPlatform};
-             url    = "https://github.com/graalvm/graalpython/releases/download/vm-${version}/python-installable-svm-java${javaVersionPlatform}-${version}.jar";
-          })
-          (fetchurl {
-             sha256 = {  "8-linux-amd64"  = "0dlgbg6kri89r9zbk6n0ch3g8356j1g35bwjng87c2y5y0vcw0b5";
-                        "11-linux-amd64"  = "1yby65hww6zmd2g5pjwbq5pv3iv4gfv060b8fq75fjhwrisyj5gd";
-                         "8-darwin-amd64" = "1smdj491g23i3z7p5rybid18nnz8bphrqjkv0lg2ffyrpn8k6g93";
-                        "11-darwin-amd64" = "056zyn0lpd7741k1szzjwwacka0g7rn0j4ypfmav4h1245mjg8lx";
-                      }.${javaVersionPlatform};
-             url    = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${version}/wasm-installable-svm-java${javaVersionPlatform}-${version}.jar";
-          })
-        ];
-
-        buildInputs = lib.optionals stdenv.isLinux [
-          alsa-lib # libasound.so wanted by lib/libjsound.so
-          fontconfig
-          freetype
-          openssl # libssl.so wanted by languages/ruby/lib/mri/openssl.so
-          stdenv.cc.cc.lib # libstdc++.so.6
-          xorg.libX11
-          xorg.libXext
-          xorg.libXi
-          xorg.libXrender
-          xorg.libXtst
-          zlib
-        ];
-
-        # Workaround for libssl.so.10 wanted by TruffleRuby
-        # Resulting TruffleRuby cannot use `openssl` library.
-        autoPatchelfIgnoreMissingDeps = true;
-
-        nativeBuildInputs = [ unzip perl autoPatchelfHook makeWrapper ];
-
-        unpackPhase = ''
-           unpack_jar() {
-             jar=$1
-             unzip -q -o $jar -d $out
-             perl -ne 'use File::Path qw(make_path);
-                       use File::Basename qw(dirname);
-                       if (/^(.+) = (.+)$/) {
-                         make_path dirname("$ENV{out}/$1");
-                         system "ln -s $2 $ENV{out}/$1";
-                       }' $out/META-INF/symlinks
-             perl -ne 'if (/^(.+) = ([r-])([w-])([x-])([r-])([w-])([x-])([r-])([w-])([x-])$/) {
-                         my $mode = ($2 eq 'r' ? 0400 : 0) + ($3 eq 'w' ? 0200 : 0) + ($4  eq 'x' ? 0100 : 0) +
-                                    ($5 eq 'r' ? 0040 : 0) + ($6 eq 'w' ? 0020 : 0) + ($7  eq 'x' ? 0010 : 0) +
-                                    ($8 eq 'r' ? 0004 : 0) + ($9 eq 'w' ? 0002 : 0) + ($10 eq 'x' ? 0001 : 0);
-                         chmod $mode, "$ENV{out}/$1";
-                       }' $out/META-INF/permissions
-             rm -rf $out/META-INF
-           }
-
-           mkdir -p $out
-           arr=($srcs)
-
-           # The tarball on Linux has the following directory structure:
-           #
-           #   graalvm-ce-java11-20.3.0/*
-           #
-           # while on Darwin it looks like this:
-           #
-           #   graalvm-ce-java11-20.3.0/Contents/Home/*
-           #
-           # We therefor use --strip-components=1 vs 3 depending on the platform.
-           tar xf ''${arr[0]} -C $out --strip-components=${if stdenv.isLinux then "1" else "3"}
-
-           # Sanity check
-           if [ ! -d $out/bin ]; then
-              echo "The `bin` is directory missing after extracting the graalvm"
-              echo "tarball, please compare the directory structure of the"
-              echo "tarball with what happens in the unpackPhase (in particular"
-              echo "with regards to the `--strip-components` flag)."
-              exit 1
-           fi
-
-           unpack_jar ''${arr[1]}
-           unpack_jar ''${arr[2]}
-           unpack_jar ''${arr[3]}
-           unpack_jar ''${arr[4]}
-        '';
-
-        installPhase = {
-          "8-linux-amd64" = ''
-            # BUG workaround http://mail.openjdk.java.net/pipermail/graal-dev/2017-December/005141.html
-            substituteInPlace $out/jre/lib/security/java.security \
-              --replace file:/dev/random    file:/dev/./urandom \
-              --replace NativePRNGBlocking  SHA1PRNG
-
-            # provide libraries needed for static compilation
-            for f in ${glibc}/lib/* ${glibc.static}/lib/* ${zlib.static}/lib/*; do
-              ln -s $f $out/jre/lib/svm/clibraries/${platform}/$(basename $f)
-            done
-
-            # allow using external truffle-api.jar and languages not included in the distrubution
-            rm $out/jre/lib/jvmci/parentClassLoader.classpath
-          '';
-          "11-linux-amd64" = ''
-            # BUG workaround http://mail.openjdk.java.net/pipermail/graal-dev/2017-December/005141.html
-            substituteInPlace $out/conf/security/java.security \
-              --replace file:/dev/random    file:/dev/./urandom \
-              --replace NativePRNGBlocking  SHA1PRNG
-
-            # provide libraries needed for static compilation
-            for f in ${glibc}/lib/* ${glibc.static}/lib/* ${zlib.static}/lib/*; do
-              ln -s $f $out/lib/svm/clibraries/${platform}/$(basename $f)
-            done
-          '';
-          "8-darwin-amd64" = ''
-            # allow using external truffle-api.jar and languages not included in the distrubution
-            rm $out/jre/lib/jvmci/parentClassLoader.classpath
-          '';
-          "11-darwin-amd64" = ''
-            # BUG workaround http://mail.openjdk.java.net/pipermail/graal-dev/2017-December/005141.html
-            substituteInPlace $out/conf/security/java.security \
-              --replace file:/dev/random    file:/dev/./urandom \
-              --replace NativePRNGBlocking  SHA1PRNG
-          '';
-        }.${javaVersionPlatform};
-
-        dontStrip = true;
-
-        preFixup = ''
-          # We cannot use -exec since wrapProgram is a function but not a
-          # command.
-          #
-          # jspawnhelper is executed from JVM, so it doesn't need to wrap it,
-          # and it breaks building OpenJDK (#114495).
-          for bin in $( find "$out" -executable -type f -not -path '*/languages/ruby/lib/gems/*' -not -name jspawnhelper ); do
-            if patchelf --print-interpreter "$bin" &> /dev/null || head -n 1 "$bin" | grep '^#!' -q; then
-              wrapProgram "$bin" \
-                --prefix LD_LIBRARY_PATH : "${runtimeLibraryPath}"
-            fi
-          done
-
-          # 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
-
-          find "$out" -name libfontmanager.so -exec \
-            patchelf --add-needed libfontconfig.so {} \;
-        '';
-
-        # $out/bin/native-image needs zlib to build native executables.
-        propagatedBuildInputs = [ setJavaClassPath zlib ] ++
-          # On Darwin native-image calls clang and it
-          # tries to include <Foundation/Foundation.h>,
-          # and Interactive Ruby (irb) requires OpenSSL
-          # headers.
-          lib.optionals stdenv.hostPlatform.isDarwin [ Foundation openssl ];
-
-        doInstallCheck = true;
-        installCheckPhase = ''
-          echo ${lib.escapeShellArg ''
-                   public class HelloWorld {
-                     public static void main(String[] args) {
-                       System.out.println("Hello World");
-                     }
-                   }
-                 ''} > HelloWorld.java
-          $out/bin/javac HelloWorld.java
-
-          # run on JVM with Graal Compiler
-          $out/bin/java -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler HelloWorld | fgrep 'Hello World'
-
-          # Ahead-Of-Time compilation
-          $out/bin/native-image -H:-CheckToolchain -H:+ReportExceptionStackTraces --no-server HelloWorld
-          ./helloworld | fgrep 'Hello World'
-
-          ${lib.optionalString stdenv.isLinux ''
-            # Ahead-Of-Time compilation with --static
-            # --static flag doesn't work for darwin
-            $out/bin/native-image --no-server --static HelloWorld
-            ./helloworld | fgrep 'Hello World'
-          ''}
-
-          echo "Testing interpreted languages"
-          $out/bin/graalpython -c 'print(1 + 1)'
-          $out/bin/ruby -e 'puts(1 + 1)'
-          $out/bin/node -e 'console.log(1 + 1)'
-
-          echo '1 + 1' | $out/bin/graalpython
-
-          ${lib.optionalString stdenv.isLinux ''
-            # TODO: `irb` on MacOS gives an error saying "Could not find OpenSSL
-            # headers, install via Homebrew or MacPorts or set OPENSSL_PREFIX", even
-            # though `openssl` is in `propagatedBuildInputs`. For more details see:
-            # https://github.com/NixOS/nixpkgs/pull/105815
-            echo '1 + 1' | $out/bin/irb
-          ''}
-
-          echo '1 + 1' | $out/bin/node -i
-        ${lib.optionalString (javaVersion == "11" && stdenv.isLinux) ''
-          # Doesn't work on MacOS, we have this error: "Launching JShell execution engine threw: Operation not permitted (Bind failed)"
-          echo '1 + 1' | $out/bin/jshell
-        ''}'';
-
-        passthru.home = graalvmXXX-ce;
-
-        meta = with lib; {
-          homepage = "https://www.graalvm.org/";
-          description = "High-Performance Polyglot VM";
-          license = with licenses; [ upl gpl2Classpath bsd3 ];
-          maintainers = with maintainers; [ bandresen volth hlolli glittershark babariviere ];
-          platforms = [ "x86_64-linux" "x86_64-darwin" ];
-        };
-      };
-    in
-      graalvmXXX-ce;
-in {
-  graalvm8-ce  = common  "8";
-  graalvm11-ce = common "11";
-}
diff --git a/nixpkgs/pkgs/development/compilers/graalvm/community-edition/default.nix b/nixpkgs/pkgs/development/compilers/graalvm/community-edition/default.nix
new file mode 100644
index 000000000000..54cc917a5be0
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/graalvm/community-edition/default.nix
@@ -0,0 +1,21 @@
+{ callPackage, Foundation }:
+
+let
+  mkGraal = opts: callPackage (import ./repository.nix opts) {
+    inherit Foundation;
+  };
+in {
+  inherit mkGraal;
+
+  graalvm8-ce = mkGraal rec {
+    version = "21.2.0";
+    javaVersion = "8";
+    platforms = ["x86_64-linux"];
+  };
+
+  graalvm11-ce = mkGraal rec {
+    version = "21.2.0";
+    javaVersion = "11";
+    platforms = ["x86_64-linux" "x86_64-darwin"];
+  };
+}
diff --git a/nixpkgs/pkgs/development/compilers/graalvm/community-edition/repository.nix b/nixpkgs/pkgs/development/compilers/graalvm/community-edition/repository.nix
new file mode 100644
index 000000000000..50a3b53c579c
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/graalvm/community-edition/repository.nix
@@ -0,0 +1,271 @@
+{ version, javaVersion, platforms }:
+
+{ stdenv, lib, fetchurl, autoPatchelfHook, setJavaClassPath, makeWrapper
+# minimum dependencies
+, Foundation, alsa-lib, fontconfig, freetype, glibc, openssl, perl, unzip, xorg
+, zlib
+# runtime dependencies
+, cups
+# runtime dependencies for GTK+ Look and Feel
+, gtkSupport ? true, cairo, glib, gtk3 }:
+
+let
+  platform = if stdenv.isDarwin then "darwin-amd64" else "linux-amd64";
+  runtimeDependencies = [ cups ]
+    ++ lib.optionals gtkSupport [ cairo glib gtk3 ];
+  runtimeLibraryPath = lib.makeLibraryPath runtimeDependencies;
+  javaVersionPlatform = "${javaVersion}-${platform}";
+  graalvmXXX-ce = stdenv.mkDerivation rec {
+    name = "graalvm${javaVersion}-ce";
+    srcs = [
+      (fetchurl {
+        sha256 = {
+          "8-linux-amd64" = "01gyxjmfp7wpcyn7x8b184fn0lp3xryfw619bqch120pzvr6z88f";
+          "11-linux-amd64" = "0w7lhvxm4nggqdcl4xrhdd3y6dqw9jhyca9adjkp508n4lqf1lxv";
+          "11-darwin-amd64" = "0dnahicdl0vhrbiml9z9nbb7k75hbsjj8rs246i1lwril12dqb7n";
+        }.${javaVersionPlatform};
+        url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${version}/graalvm-ce-java${javaVersionPlatform}-${version}.tar.gz";
+      })
+      (fetchurl {
+        sha256 = {
+          "8-linux-amd64" = "1jlvrxdlbsmlk3ia43h9m29kmmdn83h6zdlnf8qb7bm38c84nhsc";
+          "11-linux-amd64" = "1ybd7a6ii6582skr0nkxx7bccsa7gkg0yriql2h1lcz0rfzcdi3g";
+          "11-darwin-amd64" = "1jdy845vanmz05zx5b9227gb1msh9wdrz2kf3fx9z54ssd9qgdhm";
+        }.${javaVersionPlatform};
+        url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${version}/native-image-installable-svm-java${javaVersionPlatform}-${version}.jar";
+      })
+      (fetchurl {
+        sha256 = {
+          "8-linux-amd64" = "18ip0ay06q1pryqs8ja988mvk9vw475c0nfjcznnsd1zp296p6jc";
+          "11-linux-amd64" = "1jszz97mkqavxzyhx5jxhi43kqjxk9c36j5l5hy3kn8sdfmbplm4";
+          "11-darwin-amd64" = "1767ryhv2cn5anlys63ysax1p8ag79bykac1xfrjfan8yv6d8ybl";
+        }.${javaVersionPlatform};
+        url = "https://github.com/oracle/truffleruby/releases/download/vm-${version}/ruby-installable-svm-java${javaVersionPlatform}-${version}.jar";
+      })
+      (fetchurl {
+        sha256 = {
+          "8-linux-amd64" = "0il15438qnikqsxdsl7fcdg0c8zs3cbm4ry7pys7fxxr1ckd8szq";
+          "11-linux-amd64" = "07759sr8nijvqm8aqn69x9vq7lyppns7a6l6xribv43jvfmwpfkl";
+          "11-darwin-amd64" = "01l3as8dihc7xqy5sdkrpxmpzrqbcvvg84m2s6j1j8y2db1khf2s";
+        }.${javaVersionPlatform};
+        url = "https://github.com/graalvm/graalpython/releases/download/vm-${version}/python-installable-svm-java${javaVersionPlatform}-${version}.jar";
+      })
+      (fetchurl {
+        sha256 = {
+          "8-linux-amd64" = "08s36rjy5irg25b7lqx0m4v2wpywin3cqyhdrywhvq14f7zshsd5";
+          "11-linux-amd64" = "1ybjaknmbsdg8qzb986x39fq0h7fyiymdcigc7y86swk8dd916hv";
+          "11-darwin-amd64" = "02dwlb62kqr4rjjmvkhn2xk9l1p47ahg9xyyfkw7im1jwlqmqnzf";
+        }.${javaVersionPlatform};
+        url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${version}/wasm-installable-svm-java${javaVersionPlatform}-${version}.jar";
+      })
+    ];
+
+    buildInputs = lib.optionals stdenv.isLinux [
+      alsa-lib # libasound.so wanted by lib/libjsound.so
+      fontconfig
+      freetype
+      openssl # libssl.so wanted by languages/ruby/lib/mri/openssl.so
+      stdenv.cc.cc.lib # libstdc++.so.6
+      xorg.libX11
+      xorg.libXext
+      xorg.libXi
+      xorg.libXrender
+      xorg.libXtst
+      zlib
+    ];
+
+    # Workaround for libssl.so.10 wanted by TruffleRuby
+    # Resulting TruffleRuby cannot use `openssl` library.
+    autoPatchelfIgnoreMissingDeps = true;
+
+    nativeBuildInputs = [ unzip perl autoPatchelfHook makeWrapper ];
+
+    unpackPhase = ''
+      unpack_jar() {
+        jar=$1
+        unzip -q -o $jar -d $out
+        perl -ne 'use File::Path qw(make_path);
+                  use File::Basename qw(dirname);
+                  if (/^(.+) = (.+)$/) {
+                    make_path dirname("$ENV{out}/$1");
+                    system "ln -s $2 $ENV{out}/$1";
+                  }' $out/META-INF/symlinks
+        perl -ne 'if (/^(.+) = ([r-])([w-])([x-])([r-])([w-])([x-])([r-])([w-])([x-])$/) {
+                    my $mode = ($2 eq 'r' ? 0400 : 0) + ($3 eq 'w' ? 0200 : 0) + ($4  eq 'x' ? 0100 : 0) +
+                               ($5 eq 'r' ? 0040 : 0) + ($6 eq 'w' ? 0020 : 0) + ($7  eq 'x' ? 0010 : 0) +
+                               ($8 eq 'r' ? 0004 : 0) + ($9 eq 'w' ? 0002 : 0) + ($10 eq 'x' ? 0001 : 0);
+                    chmod $mode, "$ENV{out}/$1";
+                  }' $out/META-INF/permissions
+        rm -rf $out/META-INF
+      }
+
+      mkdir -p $out
+      arr=($srcs)
+
+      # The tarball on Linux has the following directory structure:
+      #
+      #   graalvm-ce-java11-20.3.0/*
+      #
+      # while on Darwin it looks like this:
+      #
+      #   graalvm-ce-java11-20.3.0/Contents/Home/*
+      #
+      # We therefor use --strip-components=1 vs 3 depending on the platform.
+      tar xf ''${arr[0]} -C $out --strip-components=${
+        if stdenv.isLinux then "1" else "3"
+      }
+
+      # Sanity check
+      if [ ! -d $out/bin ]; then
+         echo "The `bin` is directory missing after extracting the graalvm"
+         echo "tarball, please compare the directory structure of the"
+         echo "tarball with what happens in the unpackPhase (in particular"
+         echo "with regards to the `--strip-components` flag)."
+         exit 1
+      fi
+
+      unpack_jar ''${arr[1]}
+      unpack_jar ''${arr[2]}
+      unpack_jar ''${arr[3]}
+      unpack_jar ''${arr[4]}
+    '';
+
+    installPhase = {
+      "8-linux-amd64" = ''
+        # BUG workaround http://mail.openjdk.java.net/pipermail/graal-dev/2017-December/005141.html
+        substituteInPlace $out/jre/lib/security/java.security \
+          --replace file:/dev/random    file:/dev/./urandom \
+          --replace NativePRNGBlocking  SHA1PRNG
+
+        # provide libraries needed for static compilation
+        for f in ${glibc}/lib/* ${glibc.static}/lib/* ${zlib.static}/lib/*; do
+          ln -s $f $out/jre/lib/svm/clibraries/${platform}/$(basename $f)
+        done
+
+        # allow using external truffle-api.jar and languages not included in the distrubution
+        rm $out/jre/lib/jvmci/parentClassLoader.classpath
+      '';
+      "11-linux-amd64" = ''
+        # BUG workaround http://mail.openjdk.java.net/pipermail/graal-dev/2017-December/005141.html
+        substituteInPlace $out/conf/security/java.security \
+          --replace file:/dev/random    file:/dev/./urandom \
+          --replace NativePRNGBlocking  SHA1PRNG
+
+        # provide libraries needed for static compilation
+        for f in ${glibc}/lib/* ${glibc.static}/lib/* ${zlib.static}/lib/*; do
+          ln -s $f $out/lib/svm/clibraries/${platform}/$(basename $f)
+        done
+      '';
+      "11-darwin-amd64" = ''
+        # BUG workaround http://mail.openjdk.java.net/pipermail/graal-dev/2017-December/005141.html
+        substituteInPlace $out/conf/security/java.security \
+          --replace file:/dev/random    file:/dev/./urandom \
+          --replace NativePRNGBlocking  SHA1PRNG
+      '';
+    }.${javaVersionPlatform} + ''
+      # jni.h expects jni_md.h to be in the header search path.
+      ln -s $out/include/linux/*_md.h $out/include/
+    '';
+
+    dontStrip = true;
+
+    preFixup = ''
+      # We cannot use -exec since wrapProgram is a function but not a
+      # command.
+      #
+      # jspawnhelper is executed from JVM, so it doesn't need to wrap it,
+      # and it breaks building OpenJDK (#114495).
+      for bin in $( find "$out" -executable -type f -not -path '*/languages/ruby/lib/gems/*' -not -name jspawnhelper ); do
+        if patchelf --print-interpreter "$bin" &> /dev/null || head -n 1 "$bin" | grep '^#!' -q; then
+          wrapProgram "$bin" \
+            --prefix LD_LIBRARY_PATH : "${runtimeLibraryPath}"
+        fi
+      done
+
+      # 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
+
+      find "$out" -name libfontmanager.so -exec \
+        patchelf --add-needed libfontconfig.so {} \;
+    '';
+
+    # $out/bin/native-image needs zlib to build native executables.
+    propagatedBuildInputs = [ setJavaClassPath zlib ] ++
+      # On Darwin native-image calls clang and it
+      # tries to include <Foundation/Foundation.h>,
+      # and Interactive Ruby (irb) requires OpenSSL
+      # headers.
+      lib.optionals stdenv.hostPlatform.isDarwin [ Foundation openssl ];
+
+    doInstallCheck = true;
+    installCheckPhase = ''
+        echo ${
+          lib.escapeShellArg ''
+            public class HelloWorld {
+              public static void main(String[] args) {
+                System.out.println("Hello World");
+              }
+            }
+          ''
+        } > HelloWorld.java
+        $out/bin/javac HelloWorld.java
+
+        # run on JVM with Graal Compiler
+        $out/bin/java -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler HelloWorld | fgrep 'Hello World'
+
+        # Ahead-Of-Time compilation
+        $out/bin/native-image -H:-CheckToolchain -H:+ReportExceptionStackTraces --no-server HelloWorld
+        ./helloworld | fgrep 'Hello World'
+
+        ${
+          lib.optionalString stdenv.isLinux ''
+            # Ahead-Of-Time compilation with --static
+            # --static flag doesn't work for darwin
+            $out/bin/native-image --no-server --static HelloWorld
+            ./helloworld | fgrep 'Hello World'
+          ''
+        }
+
+        echo "Testing interpreted languages"
+        $out/bin/graalpython -c 'print(1 + 1)'
+        $out/bin/ruby -e 'puts(1 + 1)'
+
+        echo '1 + 1' | $out/bin/graalpython
+
+        ${
+          lib.optionalString stdenv.isLinux ''
+            # TODO: `irb` on MacOS gives an error saying "Could not find OpenSSL
+            # headers, install via Homebrew or MacPorts or set OPENSSL_PREFIX", even
+            # though `openssl` is in `propagatedBuildInputs`. For more details see:
+            # https://github.com/NixOS/nixpkgs/pull/105815
+            echo '1 + 1' | $out/bin/irb
+          ''
+        }
+
+      ${lib.optionalString (javaVersion == "11" && stdenv.isLinux) ''
+        # Doesn't work on MacOS, we have this error: "Launching JShell execution engine threw: Operation not permitted (Bind failed)"
+        echo '1 + 1' | $out/bin/jshell
+      ''}'';
+
+    passthru.home = graalvmXXX-ce;
+
+    meta = with lib; {
+      homepage = "https://www.graalvm.org/";
+      description = "High-Performance Polyglot VM";
+      license = with licenses; [ upl gpl2Classpath bsd3 ];
+      maintainers = with maintainers; [
+        bandresen
+        volth
+        hlolli
+        glittershark
+        babariviere
+        ericdallo
+      ];
+      platforms = platforms;
+    };
+  };
+in graalvmXXX-ce
diff --git a/nixpkgs/pkgs/development/compilers/hop/default.nix b/nixpkgs/pkgs/development/compilers/hop/default.nix
index 8e5bd6a7df03..00900b6fffe4 100644
--- a/nixpkgs/pkgs/development/compilers/hop/default.nix
+++ b/nixpkgs/pkgs/development/compilers/hop/default.nix
@@ -7,10 +7,11 @@ let bigloo-release =
 ; in
 
 stdenv.mkDerivation rec {
-  name = "hop-3.3.0";
+  pname = "hop";
+  version = "3.4.4";
   src = fetchurl {
-    url = "ftp://ftp-sop.inria.fr/indes/fp/Hop/${name}.tar.gz";
-    sha256 = "14gf9ihmw95zdnxsqhn5jymfivpfq5cg9v0y7yjd5i7c787dncp5";
+    url = "ftp://ftp-sop.inria.fr/indes/fp/Hop/hop-${version}.tar.gz";
+    sha256 = "sha256-GzXh4HC+SFFoUi7SMqu36iYRPAJ6tMnOHd+he6n9k1I=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/compilers/iasl/default.nix b/nixpkgs/pkgs/development/compilers/iasl/default.nix
deleted file mode 100644
index fb6bd41344ad..000000000000
--- a/nixpkgs/pkgs/development/compilers/iasl/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{lib, stdenv, fetchurl, fetchpatch, bison, flex}:
-
-stdenv.mkDerivation rec {
-  pname = "iasl";
-  version = "20200110";
-
-  src = fetchurl {
-    url = "https://acpica.org/sites/acpica/files/acpica-unix-${version}.tar.gz";
-    sha256 = "1cb6aa6acrixmdzvj9vv4qs9lmlsbkd27pjlz14i1kq1x3xn0gwx";
-  };
-
-  NIX_CFLAGS_COMPILE = "-O3";
-
-  buildFlags = [ "iasl" ];
-
-  buildInputs = [ bison flex ];
-
-  installPhase =
-    ''
-      install -d $out/bin
-      install generate/unix/bin*/iasl $out/bin
-    '';
-
-  meta = {
-    description = "Intel ACPI Compiler";
-    homepage = "http://www.acpica.org/";
-    license = lib.licenses.iasl;
-    platforms = lib.platforms.unix;
-  };
-}
diff --git a/nixpkgs/pkgs/development/compilers/intel-graphics-compiler/default.nix b/nixpkgs/pkgs/development/compilers/intel-graphics-compiler/default.nix
index 75687de4e9e2..1c40d7fe516b 100644
--- a/nixpkgs/pkgs/development/compilers/intel-graphics-compiler/default.nix
+++ b/nixpkgs/pkgs/development/compilers/intel-graphics-compiler/default.nix
@@ -1,8 +1,8 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchFromGitHub
 , cmake
-, pkg-config
-
+, runCommandLocal
 , bison
 , flex
 , llvmPackages_8
@@ -46,18 +46,14 @@ stdenv.mkDerivation rec {
   doCheck = false;
 
   # Handholding the braindead build script
-  # We put this in a derivation because the cmake requires an absolute path
-  prebuilds = stdenv.mkDerivation {
-    name = "igc-cclang-prebuilds";
-    phases = [ "installPhase" ];
-    installPhase = ''
-      mkdir $out
-      ln -s ${clang}/bin/clang $out/
-      ln -s clang $out/clang-${versions.major (getVersion clang)}
-      ln -s ${opencl-clang}/lib/* $out/
-      ln -s ${lib.getLib libclang}/lib/clang/${getVersion clang}/include/opencl-c.h $out/
-    '';
-  };
+  # cmake requires an absolute path
+  prebuilds = runCommandLocal "igc-cclang-prebuilds" { } ''
+    mkdir $out
+    ln -s ${clang}/bin/clang $out/
+    ln -s clang $out/clang-${versions.major (getVersion clang)}
+    ln -s ${opencl-clang}/lib/* $out/
+    ln -s ${lib.getLib libclang}/lib/clang/${getVersion clang}/include/opencl-c.h $out/
+  '';
 
   cmakeFlags = [
     "-DCCLANG_BUILD_PREBUILDS=ON"
@@ -66,10 +62,10 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with lib; {
-    homepage    = "https://github.com/intel/intel-graphics-compiler";
+    homepage = "https://github.com/intel/intel-graphics-compiler";
     description = "LLVM-based compiler for OpenCL targeting Intel Gen graphics hardware";
-    license     = licenses.mit;
-    platforms   = platforms.all;
+    license = licenses.mit;
+    platforms = platforms.all;
     maintainers = with maintainers; [ gloaming ];
   };
 }
diff --git a/nixpkgs/pkgs/development/compilers/jetbrains-jdk/default.nix b/nixpkgs/pkgs/development/compilers/jetbrains-jdk/default.nix
index f3bd5d9f4a31..e36dedf3c875 100644
--- a/nixpkgs/pkgs/development/compilers/jetbrains-jdk/default.nix
+++ b/nixpkgs/pkgs/development/compilers/jetbrains-jdk/default.nix
@@ -2,12 +2,12 @@
 
 openjdk11.overrideAttrs (oldAttrs: rec {
   pname = "jetbrains-jdk";
-  version = "11.0.10-b1427";
+  version = "11_0_11-b1504.13";
   src = fetchFromGitHub {
     owner = "JetBrains";
     repo = "JetBrainsRuntime";
-    rev = "jb${lib.replaceStrings ["."] ["_"] version}";
-    sha256 = "sha256-2cn+FiFfGpp7CBeQMAASVZwTm6DOFaXaWxAL/nVC2Nk=";
+    rev = "jb${version}";
+    sha256 = "1xpgsgmmj5jp5qyw98hqmik6a7z3hfwmij023ij3qqymyj3nhm2i";
   };
   patches = [];
   meta = with lib; {
@@ -23,7 +23,7 @@ openjdk11.overrideAttrs (oldAttrs: rec {
      JetBrains Runtime is not a certified build of OpenJDK. Please, use at
      your own risk.
     '';
-    homepage = "https://bintray.com/jetbrains/intellij-jdk/";
+    homepage = "https://confluence.jetbrains.com/display/JBR/JetBrains+Runtime";
     inherit (openjdk11.meta) license platforms mainProgram;
     maintainers = with maintainers; [ edwtjo petabyteboy ];
   };
diff --git a/nixpkgs/pkgs/development/compilers/jwasm/default.nix b/nixpkgs/pkgs/development/compilers/jwasm/default.nix
index 2f1727ae0de0..88e9450ef9d6 100644
--- a/nixpkgs/pkgs/development/compilers/jwasm/default.nix
+++ b/nixpkgs/pkgs/development/compilers/jwasm/default.nix
@@ -1,33 +1,42 @@
-{ lib, stdenv, fetchFromGitHub
-, cmake }:
+{ lib
+, stdenv
+, fetchFromGitHub
+}:
 
-with lib;
 stdenv.mkDerivation rec {
   pname = "jwasm";
-  version = "2.13";
+  version = "2.14";
 
   src = fetchFromGitHub {
-    owner = "JWasm";
+    owner = "Baron-von-Riedesel";
     repo  = "JWasm";
-    rev = version;
-    sha256 = "0m972pc8vk8s9yv1pi85fsjgm6hj24gab7nalw2q04l0359nqi7w";
+    rev = "v${version}";
+    hash = "sha256-BUSsF73Q2vq6tF/YHMUyAmmFE/WWVQLRFJZkOD8T7f8=";
   };
 
-  nativeBuildInputs = [ cmake ];
+  outputs = [ "out" "doc" ];
 
-  installPhase = ''
-    install -Dpm755 jwasm -t $out/bin/
-    install -Dpm644 $src/History.txt  $src/Readme.txt \
-                    $src/Doc/enh.txt $src/Doc/fixes.txt \
-                    $src/Doc/gencode.txt $src/Doc/overview.txt \
-                    -t $out/share/doc/jwasm/
+  dontConfigure = true;
+
+  preBuild = ''
+    cp ${if stdenv.cc.isClang then "CLUnix.mak" else "GccUnix.mak"} Makefile
+    substituteInPlace Makefile \
+      --replace "/usr/local/bin" "${placeholder "out"}/bin"
+  '';
+
+  postInstall = ''
+    install -Dpm644 $src/Html/License.html \
+                    $src/Html/Manual.html \
+                    $src/Html/Readme.html \
+                    -t $doc/share/doc/jwasm/
   '';
 
-  meta = {
+  meta = with lib; {
+    homepage = "https://github.com/Baron-von-Riedesel/JWasm/";
     description = "A MASM-compatible x86 assembler";
-    homepage = "http://jwasm.github.io/";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ AndersonTorres ];
-    platforms = platforms.darwin ++ platforms.linux;
+    platforms = platforms.unix;
   };
 }
+# TODO: generalize for Windows builds
diff --git a/nixpkgs/pkgs/development/compilers/kotlin/default.nix b/nixpkgs/pkgs/development/compilers/kotlin/default.nix
index 7e46e4bf2eaf..a1de91f2d396 100644
--- a/nixpkgs/pkgs/development/compilers/kotlin/default.nix
+++ b/nixpkgs/pkgs/development/compilers/kotlin/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "kotlin";
-  version = "1.5.21";
+  version = "1.5.30";
 
   src = fetchurl {
     url = "https://github.com/JetBrains/kotlin/releases/download/v${version}/kotlin-compiler-${version}.zip";
-    sha256 = "sha256-8zE6/dar8bjHXGKS9OQfLbr+/I9scnYse6mz2u712lk=";
+    sha256 = "sha256-Je69ubsuFl5LqO+/j/lDxF1Pw52//CwcqgWejdgTZ18=";
   };
 
   propagatedBuildInputs = [ jre ] ;
diff --git a/nixpkgs/pkgs/development/compilers/llvm/10/compiler-rt/default.nix b/nixpkgs/pkgs/development/compilers/llvm/10/compiler-rt/default.nix
index c48e2a84336a..faba5d97b79d 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/10/compiler-rt/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/10/compiler-rt/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, llvm, libcxxabi }:
+{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, libllvm, libcxxabi }:
 
 let
 
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
   inherit version;
   src = fetch "compiler-rt" "1yjqjri753w0fzmxcyz687nvd97sbc9rsqrxzpq720na47hwh3fr";
 
-  nativeBuildInputs = [ cmake python3 llvm.dev ];
+  nativeBuildInputs = [ cmake python3 libllvm.dev ];
   buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
 
   NIX_CFLAGS_COMPILE = [
diff --git a/nixpkgs/pkgs/development/compilers/llvm/10/default.nix b/nixpkgs/pkgs/development/compilers/llvm/10/default.nix
index 11367d453cde..690328b26ae2 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/10/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/10/default.nix
@@ -259,4 +259,4 @@ let
     };
   });
 
-in { inherit tools libraries; } // libraries // tools
+in { inherit tools libraries release_version; } // libraries // tools
diff --git a/nixpkgs/pkgs/development/compilers/llvm/11/compiler-rt/default.nix b/nixpkgs/pkgs/development/compilers/llvm/11/compiler-rt/default.nix
index 65b024e8cc32..e5b79692ae24 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/11/compiler-rt/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/11/compiler-rt/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, llvm, libcxxabi }:
+{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, libllvm, libcxxabi }:
 
 let
 
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
   inherit version;
   src = fetch "compiler-rt" "0x1j8ngf1zj63wlnns9vlibafq48qcm72p4jpaxkmkb4qw0grwfy";
 
-  nativeBuildInputs = [ cmake python3 llvm.dev ];
+  nativeBuildInputs = [ cmake python3 libllvm.dev ];
 
   NIX_CFLAGS_COMPILE = [
     "-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0"
@@ -112,5 +112,8 @@ stdenv.mkDerivation {
     # "All of the code in the compiler-rt project is dual licensed under the MIT
     # license and the UIUC License (a BSD-like license)":
     license = with lib.licenses; [ mit ncsa ];
+    # compiler-rt requires a Clang stdenv on 32-bit RISC-V:
+    # https://reviews.llvm.org/D43106#1019077
+    broken = stdenv.hostPlatform.isRiscV && stdenv.hostPlatform.is32bit && !stdenv.cc.isClang;
   };
 }
diff --git a/nixpkgs/pkgs/development/compilers/llvm/11/default.nix b/nixpkgs/pkgs/development/compilers/llvm/11/default.nix
index 1aad123fba9a..9834ce30cdd2 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/11/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/11/default.nix
@@ -227,7 +227,7 @@ let
 
     compiler-rt-libc = callPackage ./compiler-rt {
       inherit llvm_meta;
-      stdenv = if (stdenv.hostPlatform.useLLVM or false) || (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64)
+      stdenv = if (stdenv.hostPlatform.useLLVM or false) || (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) || (stdenv.hostPlatform.isRiscV && stdenv.hostPlatform.is32bit)
                then overrideCC stdenv buildLlvmTools.clangNoCompilerRtWithLibc
                else stdenv;
     };
@@ -240,7 +240,7 @@ let
     };
 
     # N.B. condition is safe because without useLLVM both are the same.
-    compiler-rt = if stdenv.hostPlatform.isAndroid || (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64)
+    compiler-rt = if stdenv.hostPlatform.isAndroid || (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) || (stdenv.hostPlatform.libc == "newlib")
       then libraries.compiler-rt-libc
       else libraries.compiler-rt-no-libc;
 
@@ -274,4 +274,4 @@ let
     };
   });
 
-in { inherit tools libraries; } // libraries // tools
+in { inherit tools libraries release_version; } // libraries // tools
diff --git a/nixpkgs/pkgs/development/compilers/llvm/11/llvm/default.nix b/nixpkgs/pkgs/development/compilers/llvm/11/llvm/default.nix
index 192cacd6510c..f0148850dbe8 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/11/llvm/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/11/llvm/default.nix
@@ -94,6 +94,7 @@ in stdenv.mkDerivation (rec {
     rm test/DebugInfo/X86/convert-inlined.ll
     rm test/DebugInfo/X86/convert-linked.ll
     rm test/tools/dsymutil/X86/op-convert.test
+    rm test/tools/llvm-readobj/ELF/dependent-libraries.test
   '' + optionalString (stdenv.hostPlatform.system == "armv6l-linux") ''
     # Seems to require certain floating point hardware (NEON?)
     rm test/ExecutionEngine/frem.ll
diff --git a/nixpkgs/pkgs/development/compilers/llvm/12/compiler-rt/default.nix b/nixpkgs/pkgs/development/compilers/llvm/12/compiler-rt/default.nix
index fdc134bdf4b1..16f58616aab7 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/12/compiler-rt/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/12/compiler-rt/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, llvm, libcxxabi }:
+{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, libllvm, libcxxabi }:
 
 let
 
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
   inherit version;
   src = fetch "compiler-rt" "1950rg294izdwkaasi7yjrmadc9mzdd5paf0q63jjcq2m3rdbj5l";
 
-  nativeBuildInputs = [ cmake python3 llvm.dev ];
+  nativeBuildInputs = [ cmake python3 libllvm.dev ];
   buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
 
   NIX_CFLAGS_COMPILE = [
diff --git a/nixpkgs/pkgs/development/compilers/llvm/12/default.nix b/nixpkgs/pkgs/development/compilers/llvm/12/default.nix
index 212c6e52876f..388c7d95f69c 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/12/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/12/default.nix
@@ -267,4 +267,4 @@ let
     };
   });
 
-in { inherit tools libraries; } // libraries // tools
+in { inherit tools libraries release_version; } // libraries // tools
diff --git a/nixpkgs/pkgs/development/compilers/llvm/12/llvm/default.nix b/nixpkgs/pkgs/development/compilers/llvm/12/llvm/default.nix
index 361c6798385d..7ac5031c36bb 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/12/llvm/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/12/llvm/default.nix
@@ -98,7 +98,6 @@ in stdenv.mkDerivation (rec {
     rm test/DebugInfo/X86/convert-debugloc.ll
     rm test/DebugInfo/X86/convert-inlined.ll
     rm test/DebugInfo/X86/convert-linked.ll
-    rm test/DebugInfo/X86/vla-multi.ll
     rm test/tools/dsymutil/X86/op-convert.test
   '' + optionalString (stdenv.hostPlatform.system == "armv6l-linux") ''
     # Seems to require certain floating point hardware (NEON?)
diff --git a/nixpkgs/pkgs/development/compilers/llvm/13/bintools/default.nix b/nixpkgs/pkgs/development/compilers/llvm/13/bintools/default.nix
new file mode 100644
index 000000000000..53f7941e3369
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/13/bintools/default.nix
@@ -0,0 +1,29 @@
+{ runCommand, stdenv, llvm, lld, version }:
+
+let
+  prefix =
+    if stdenv.hostPlatform != stdenv.targetPlatform
+    then "${stdenv.targetPlatform.config}-"
+    else "";
+in runCommand "llvm-binutils-${version}" { preferLocalBuild = true; } ''
+   mkdir -p $out/bin
+   for prog in ${lld}/bin/*; do
+     ln -s $prog $out/bin/${prefix}$(basename $prog)
+   done
+   for prog in ${llvm}/bin/*; do
+     ln -sf $prog $out/bin/${prefix}$(basename $prog)
+   done
+
+   ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ar
+   ln -s ${llvm}/bin/llvm-as $out/bin/${prefix}as
+   ln -s ${llvm}/bin/llvm-dwp $out/bin/${prefix}dwp
+   ln -s ${llvm}/bin/llvm-nm $out/bin/${prefix}nm
+   ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}objcopy
+   ln -s ${llvm}/bin/llvm-objdump $out/bin/${prefix}objdump
+   ln -s ${llvm}/bin/llvm-ranlib $out/bin/${prefix}ranlib
+   ln -s ${llvm}/bin/llvm-readelf $out/bin/${prefix}readelf
+   ln -s ${llvm}/bin/llvm-size $out/bin/${prefix}size
+   ln -s ${llvm}/bin/llvm-strip $out/bin/${prefix}strip
+
+   ln -s ${lld}/bin/lld $out/bin/${prefix}ld
+''
diff --git a/nixpkgs/pkgs/development/compilers/llvm/13/clang/default.nix b/nixpkgs/pkgs/development/compilers/llvm/13/clang/default.nix
new file mode 100644
index 000000000000..78c2831a2f35
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/13/clang/default.nix
@@ -0,0 +1,122 @@
+{ lib, stdenv, llvm_meta, src, substituteAll, cmake, libxml2, libllvm, version, python3
+, buildLlvmTools
+, fixDarwinDylibNames
+, enableManpages ? false
+}:
+
+let
+  self = stdenv.mkDerivation ({
+    pname = "clang";
+    inherit version;
+
+    inherit src;
+    sourceRoot = "source/clang";
+
+    nativeBuildInputs = [ cmake python3 ]
+      ++ lib.optional enableManpages python3.pkgs.sphinx
+      ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
+
+    buildInputs = [ libxml2 libllvm ];
+
+    cmakeFlags = [
+      "-DCMAKE_CXX_FLAGS=-std=c++14"
+      "-DCLANGD_BUILD_XPC=OFF"
+      "-DLLVM_CONFIG_PATH=${libllvm.dev}/bin/llvm-config${lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) "-native"}"
+    ] ++ lib.optionals enableManpages [
+      "-DCLANG_INCLUDE_DOCS=ON"
+      "-DLLVM_ENABLE_SPHINX=ON"
+      "-DSPHINX_OUTPUT_MAN=ON"
+      "-DSPHINX_OUTPUT_HTML=OFF"
+      "-DSPHINX_WARNINGS_AS_ERRORS=OFF"
+    ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
+      "-DLLVM_TABLEGEN_EXE=${buildLlvmTools.llvm}/bin/llvm-tblgen"
+      "-DCLANG_TABLEGEN=${buildLlvmTools.libclang.dev}/bin/clang-tblgen"
+    ];
+
+    patches = [
+      ./purity.patch
+      # https://reviews.llvm.org/D51899
+      ./gnu-install-dirs.patch
+      (substituteAll {
+        src = ../../clang-11-12-LLVMgold-path.patch;
+        libllvmLibdir = "${libllvm.lib}/lib";
+      })
+    ];
+
+    postPatch = ''
+      sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' \
+             -e 's/Args.hasArg(options::OPT_nostdlibinc)/true/' \
+             lib/Driver/ToolChains/*.cpp
+
+      # Patch for standalone doc building
+      sed -i '1s,^,find_package(Sphinx REQUIRED)\n,' docs/CMakeLists.txt
+    '' + lib.optionalString stdenv.hostPlatform.isMusl ''
+      sed -i -e 's/lgcc_s/lgcc_eh/' lib/Driver/ToolChains/*.cpp
+    '';
+
+    outputs = [ "out" "lib" "dev" "python" ];
+
+    postInstall = ''
+      ln -sv $out/bin/clang $out/bin/cpp
+
+      # Move libclang to 'lib' output
+      moveToOutput "lib/libclang.*" "$lib"
+      moveToOutput "lib/libclang-cpp.*" "$lib"
+      substituteInPlace $out/lib/cmake/clang/ClangTargets-release.cmake \
+          --replace "\''${_IMPORT_PREFIX}/lib/libclang." "$lib/lib/libclang." \
+          --replace "\''${_IMPORT_PREFIX}/lib/libclang-cpp." "$lib/lib/libclang-cpp."
+
+      mkdir -p $python/bin $python/share/clang/
+      mv $out/bin/{git-clang-format,scan-view} $python/bin
+      if [ -e $out/bin/set-xcode-analyzer ]; then
+        mv $out/bin/set-xcode-analyzer $python/bin
+      fi
+      mv $out/share/clang/*.py $python/share/clang
+      rm $out/bin/c-index-test
+
+      mkdir -p $dev/bin
+      cp bin/clang-tblgen $dev/bin
+    '';
+
+    passthru = {
+      isClang = true;
+      inherit libllvm;
+    };
+
+    meta = llvm_meta // {
+      homepage = "https://clang.llvm.org/";
+      description = "A C language family frontend for LLVM";
+      longDescription = ''
+        The Clang project provides a language front-end and tooling
+        infrastructure for languages in the C language family (C, C++, Objective
+        C/C++, OpenCL, CUDA, and RenderScript) for the LLVM project.
+        It aims to deliver amazingly fast compiles, extremely useful error and
+        warning messages and to provide a platform for building great source
+        level tools. The Clang Static Analyzer and clang-tidy are tools that
+        automatically find bugs in your code, and are great examples of the sort
+        of tools that can be built using the Clang frontend as a library to
+        parse C/C++ code.
+      '';
+    };
+  } // lib.optionalAttrs enableManpages {
+    pname = "clang-manpages";
+
+    buildPhase = ''
+      make docs-clang-man
+    '';
+
+    installPhase = ''
+      mkdir -p $out/share/man/man1
+      # Manually install clang manpage
+      cp docs/man/*.1 $out/share/man/man1/
+    '';
+
+    outputs = [ "out" ];
+
+    doCheck = false;
+
+    meta = llvm_meta // {
+      description = "man page for Clang ${version}";
+    };
+  });
+in self
diff --git a/nixpkgs/pkgs/development/compilers/llvm/13/clang/gnu-install-dirs.patch b/nixpkgs/pkgs/development/compilers/llvm/13/clang/gnu-install-dirs.patch
new file mode 100644
index 000000000000..b834d386b4eb
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/13/clang/gnu-install-dirs.patch
@@ -0,0 +1,235 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 9e74014134a0..976e6a1757fd 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -5,6 +5,8 @@ cmake_minimum_required(VERSION 3.13.4)
+ if( CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR )
+   project(Clang)
+ 
++  include(GNUInstallDirs)
++
+   set(CMAKE_CXX_STANDARD 14 CACHE STRING "C++ standard to conform to")
+   set(CMAKE_CXX_STANDARD_REQUIRED YES)
+   set(CMAKE_CXX_EXTENSIONS NO)
+@@ -416,7 +418,7 @@ include_directories(BEFORE
+ 
+ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
+   install(DIRECTORY include/clang include/clang-c
+-    DESTINATION include
++    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
+     COMPONENT clang-headers
+     FILES_MATCHING
+     PATTERN "*.def"
+@@ -425,7 +427,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
+     )
+ 
+   install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/clang
+-    DESTINATION include
++    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
+     COMPONENT clang-headers
+     FILES_MATCHING
+     PATTERN "CMakeFiles" EXCLUDE
+@@ -445,7 +447,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
+ 
+   add_custom_target(bash-autocomplete DEPENDS utils/bash-autocomplete.sh)
+   install(PROGRAMS utils/bash-autocomplete.sh
+-          DESTINATION share/clang
++          DESTINATION ${CMAKE_INSTALL_DATADIR}/clang
+           COMPONENT bash-autocomplete)
+   if(NOT LLVM_ENABLE_IDE)
+     add_llvm_install_targets(install-bash-autocomplete
+diff --git a/cmake/modules/AddClang.cmake b/cmake/modules/AddClang.cmake
+index 704278a0e93b..d25c8d325c71 100644
+--- a/cmake/modules/AddClang.cmake
++++ b/cmake/modules/AddClang.cmake
+@@ -123,9 +123,9 @@ macro(add_clang_library name)
+         install(TARGETS ${lib}
+           COMPONENT ${lib}
+           ${export_to_clangtargets}
+-          LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
+-          ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}
+-          RUNTIME DESTINATION bin)
++          LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}
++          ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}
++          RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+ 
+         if (NOT LLVM_ENABLE_IDE)
+           add_llvm_install_targets(install-${lib}
+@@ -170,7 +170,7 @@ macro(add_clang_tool name)
+ 
+     install(TARGETS ${name}
+       ${export_to_clangtargets}
+-      RUNTIME DESTINATION bin
++      RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+       COMPONENT ${name})
+ 
+     if(NOT LLVM_ENABLE_IDE)
+@@ -185,7 +185,7 @@ endmacro()
+ macro(add_clang_symlink name dest)
+   add_llvm_tool_symlink(${name} ${dest} ALWAYS_GENERATE)
+   # Always generate install targets
+-  llvm_install_symlink(${name} ${dest} ALWAYS_GENERATE)
++  llvm_install_symlink(${name} ${dest} ${CMAKE_INSTALL_FULL_BINDIR} ALWAYS_GENERATE)
+ endmacro()
+ 
+ function(clang_target_link_libraries target type)
+diff --git a/lib/Headers/CMakeLists.txt b/lib/Headers/CMakeLists.txt
+index b2c0ce8dd4a0..19e5443d8c25 100644
+--- a/lib/Headers/CMakeLists.txt
++++ b/lib/Headers/CMakeLists.txt
+@@ -215,7 +215,7 @@ set_target_properties(clang-resource-headers PROPERTIES
+   FOLDER "Misc"
+   RUNTIME_OUTPUT_DIRECTORY "${output_dir}")
+ 
+-set(header_install_dir lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include)
++set(header_install_dir ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include)
+ 
+ install(
+   FILES ${files} ${generated_files}
+diff --git a/tools/c-index-test/CMakeLists.txt b/tools/c-index-test/CMakeLists.txt
+index ceef4b08637c..8efad5520ca4 100644
+--- a/tools/c-index-test/CMakeLists.txt
++++ b/tools/c-index-test/CMakeLists.txt
+@@ -54,7 +54,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
+     set_property(TARGET c-index-test APPEND PROPERTY INSTALL_RPATH
+        "@executable_path/../../lib")
+   else()
+-    set(INSTALL_DESTINATION bin)
++    set(INSTALL_DESTINATION ${CMAKE_INSTALL_BINDIR})
+   endif()
+ 
+   install(TARGETS c-index-test
+diff --git a/tools/clang-format/CMakeLists.txt b/tools/clang-format/CMakeLists.txt
+index 35ecdb11253c..d77d75de0094 100644
+--- a/tools/clang-format/CMakeLists.txt
++++ b/tools/clang-format/CMakeLists.txt
+@@ -21,20 +21,20 @@ if( LLVM_LIB_FUZZING_ENGINE OR LLVM_USE_SANITIZE_COVERAGE )
+ endif()
+ 
+ install(PROGRAMS clang-format-bbedit.applescript
+-  DESTINATION share/clang
++  DESTINATION ${CMAKE_INSTALL_DATADIR}/clang
+   COMPONENT clang-format)
+ install(PROGRAMS clang-format-diff.py
+-  DESTINATION share/clang
++  DESTINATION ${CMAKE_INSTALL_DATADIR}/clang
+   COMPONENT clang-format)
+ install(PROGRAMS clang-format-sublime.py
+-  DESTINATION share/clang
++  DESTINATION ${CMAKE_INSTALL_DATADIR}/clang
+   COMPONENT clang-format)
+ install(PROGRAMS clang-format.el
+-  DESTINATION share/clang
++  DESTINATION ${CMAKE_INSTALL_DATADIR}/clang
+   COMPONENT clang-format)
+ install(PROGRAMS clang-format.py
+-  DESTINATION share/clang
++  DESTINATION ${CMAKE_INSTALL_DATADIR}/clang
+   COMPONENT clang-format)
+ install(PROGRAMS git-clang-format
+-  DESTINATION bin
++  DESTINATION ${CMAKE_INSTALL_BINDIR}
+   COMPONENT clang-format)
+diff --git a/tools/clang-rename/CMakeLists.txt b/tools/clang-rename/CMakeLists.txt
+index cda8e29ec5b1..0134d8ccd70b 100644
+--- a/tools/clang-rename/CMakeLists.txt
++++ b/tools/clang-rename/CMakeLists.txt
+@@ -19,8 +19,8 @@ clang_target_link_libraries(clang-rename
+   )
+ 
+ install(PROGRAMS clang-rename.py
+-  DESTINATION share/clang
++  DESTINATION ${CMAKE_INSTALL_DATADIR}/clang
+   COMPONENT clang-rename)
+ install(PROGRAMS clang-rename.el
+-  DESTINATION share/clang
++  DESTINATION ${CMAKE_INSTALL_DATADIR}/clang
+   COMPONENT clang-rename)
+diff --git a/tools/libclang/CMakeLists.txt b/tools/libclang/CMakeLists.txt
+index 51ff2e7e1565..1ed5f8a079a1 100644
+--- a/tools/libclang/CMakeLists.txt
++++ b/tools/libclang/CMakeLists.txt
+@@ -166,7 +166,7 @@ endif()
+ if(INTERNAL_INSTALL_PREFIX)
+   set(LIBCLANG_HEADERS_INSTALL_DESTINATION "${INTERNAL_INSTALL_PREFIX}/include")
+ else()
+-  set(LIBCLANG_HEADERS_INSTALL_DESTINATION include)
++  set(LIBCLANG_HEADERS_INSTALL_DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+ endif()
+ 
+ install(DIRECTORY ../../include/clang-c
+@@ -196,7 +196,7 @@ foreach(PythonVersion ${CLANG_PYTHON_BINDINGS_VERSIONS})
+           COMPONENT
+             libclang-python-bindings
+           DESTINATION
+-            "lib${LLVM_LIBDIR_SUFFIX}/python${PythonVersion}/site-packages")
++            "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/python${PythonVersion}/site-packages")
+ endforeach()
+ if(NOT LLVM_ENABLE_IDE)
+   add_custom_target(libclang-python-bindings)
+diff --git a/tools/scan-build/CMakeLists.txt b/tools/scan-build/CMakeLists.txt
+index ec0702d76f18..d25d982f51da 100644
+--- a/tools/scan-build/CMakeLists.txt
++++ b/tools/scan-build/CMakeLists.txt
+@@ -47,7 +47,7 @@ if(CLANG_INSTALL_SCANBUILD)
+                        DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bin/${BinFile})
+     list(APPEND Depends ${CMAKE_BINARY_DIR}/bin/${BinFile})
+     install(PROGRAMS bin/${BinFile}
+-            DESTINATION bin
++            DESTINATION ${CMAKE_INSTALL_BINDIR}
+             COMPONENT scan-build)
+   endforeach()
+ 
+@@ -61,7 +61,7 @@ if(CLANG_INSTALL_SCANBUILD)
+                        DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/libexec/${LibexecFile})
+     list(APPEND Depends ${CMAKE_BINARY_DIR}/libexec/${LibexecFile})
+     install(PROGRAMS libexec/${LibexecFile}
+-            DESTINATION libexec
++            DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}
+             COMPONENT scan-build)
+   endforeach()
+ 
+@@ -89,7 +89,7 @@ if(CLANG_INSTALL_SCANBUILD)
+                        DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/share/scan-build/${ShareFile})
+     list(APPEND Depends ${CMAKE_BINARY_DIR}/share/scan-build/${ShareFile})
+     install(FILES share/scan-build/${ShareFile}
+-            DESTINATION share/scan-build
++            DESTINATION ${CMAKE_INSTALL_DATADIR}/scan-build
+             COMPONENT scan-build)
+   endforeach()
+ 
+diff --git a/tools/scan-view/CMakeLists.txt b/tools/scan-view/CMakeLists.txt
+index dd3d33439299..fea19c12ce70 100644
+--- a/tools/scan-view/CMakeLists.txt
++++ b/tools/scan-view/CMakeLists.txt
+@@ -19,7 +19,7 @@ if(CLANG_INSTALL_SCANVIEW)
+                        DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bin/${BinFile})
+     list(APPEND Depends ${CMAKE_BINARY_DIR}/bin/${BinFile})
+     install(PROGRAMS bin/${BinFile}
+-            DESTINATION bin
++            DESTINATION ${CMAKE_INSTALL_BINDIR}
+             COMPONENT scan-view)
+   endforeach()
+ 
+@@ -33,7 +33,7 @@ if(CLANG_INSTALL_SCANVIEW)
+                        DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/share/${ShareFile})
+     list(APPEND Depends ${CMAKE_BINARY_DIR}/share/scan-view/${ShareFile})
+     install(FILES share/${ShareFile}
+-            DESTINATION share/scan-view
++            DESTINATION ${CMAKE_INSTALL_DATADIR}/scan-view
+             COMPONENT scan-view)
+   endforeach()
+ 
+diff --git a/utils/hmaptool/CMakeLists.txt b/utils/hmaptool/CMakeLists.txt
+index 62f2de0cb15c..6aa66825b6ec 100644
+--- a/utils/hmaptool/CMakeLists.txt
++++ b/utils/hmaptool/CMakeLists.txt
+@@ -10,7 +10,7 @@ add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin/${CLANG_HM
+ 
+ list(APPEND Depends ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin/${CLANG_HMAPTOOL})
+ install(PROGRAMS ${CLANG_HMAPTOOL}
+-        DESTINATION bin
++        DESTINATION ${CMAKE_INSTALL_BINDIR}
+         COMPONENT hmaptool)
+ 
+ add_custom_target(hmaptool ALL DEPENDS ${Depends})
diff --git a/nixpkgs/pkgs/development/compilers/llvm/13/clang/purity.patch b/nixpkgs/pkgs/development/compilers/llvm/13/clang/purity.patch
new file mode 100644
index 000000000000..deb230a36c5b
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/13/clang/purity.patch
@@ -0,0 +1,28 @@
+From 4add81bba40dcec62c4ea4481be8e35ac53e89d8 Mon Sep 17 00:00:00 2001
+From: Will Dietz <w@wdtz.org>
+Date: Thu, 18 May 2017 11:56:12 -0500
+Subject: [PATCH] "purity" patch for 5.0
+
+---
+ lib/Driver/ToolChains/Gnu.cpp | 7 -------
+ 1 file changed, 7 deletions(-)
+
+diff --git a/lib/Driver/ToolChains/Gnu.cpp b/lib/Driver/ToolChains/Gnu.cpp
+index fe3c0191bb..c6a482bece 100644
+--- a/lib/Driver/ToolChains/Gnu.cpp
++++ b/lib/Driver/ToolChains/Gnu.cpp
+@@ -487,12 +487,6 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
+   if (!IsStatic) {
+     if (Args.hasArg(options::OPT_rdynamic))
+       CmdArgs.push_back("-export-dynamic");
+-
+-    if (!Args.hasArg(options::OPT_shared) && !IsStaticPIE) {
+-      CmdArgs.push_back("-dynamic-linker");
+-      CmdArgs.push_back(Args.MakeArgString(Twine(D.DyldPrefix) +
+-                                           ToolChain.getDynamicLinker(Args)));
+-    }
+   }
+ 
+   CmdArgs.push_back("-o");
+-- 
+2.11.0
diff --git a/nixpkgs/pkgs/development/compilers/llvm/13/compiler-rt/X86-support-extension.patch b/nixpkgs/pkgs/development/compilers/llvm/13/compiler-rt/X86-support-extension.patch
new file mode 100644
index 000000000000..66742e5b1498
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/13/compiler-rt/X86-support-extension.patch
@@ -0,0 +1,21 @@
+diff --git a/lib/builtins/CMakeLists.txt b/lib/builtins/CMakeLists.txt
+index 3a66dd9c3fb..7efc85d9f9f 100644
+--- a/lib/builtins/CMakeLists.txt
++++ b/lib/builtins/CMakeLists.txt
+@@ -345,4 +345,8 @@ if (NOT MSVC)
+ 
++  set(i486_SOURCES ${i386_SOURCES})
++  set(i586_SOURCES ${i386_SOURCES})
++  set(i686_SOURCES ${i386_SOURCES})
++
+   if (WIN32)
+     set(i386_SOURCES
+       ${i386_SOURCES}
+@@ -608,6 +612,7 @@ else ()
+   endif()
+ 
+   foreach (arch ${BUILTIN_SUPPORTED_ARCH})
++      message("arch: ${arch}")
+     if (CAN_TARGET_${arch})
+       # For ARM archs, exclude any VFP builtins if VFP is not supported
+       if (${arch} MATCHES "^(arm|armhf|armv7|armv7s|armv7k|armv7m|armv7em)$")
diff --git a/nixpkgs/pkgs/development/compilers/llvm/13/compiler-rt/armv7l.patch b/nixpkgs/pkgs/development/compilers/llvm/13/compiler-rt/armv7l.patch
new file mode 100644
index 000000000000..120cfe6feb2a
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/13/compiler-rt/armv7l.patch
@@ -0,0 +1,32 @@
+diff -ur compiler-rt-10.0.0.src/cmake/builtin-config-ix.cmake compiler-rt-10.0.0.src-patched/cmake/builtin-config-ix.cmake
+--- compiler-rt-10.0.0.src/cmake/builtin-config-ix.cmake	2020-03-24 00:01:02.000000000 +0900
++++ compiler-rt-10.0.0.src-patched/cmake/builtin-config-ix.cmake	2020-05-10 03:42:00.883450706 +0900
+@@ -24,7 +24,7 @@
+ 
+ 
+ set(ARM64 aarch64)
+-set(ARM32 arm armhf armv6m armv7m armv7em armv7 armv7s armv7k)
++set(ARM32 arm armhf armv6m armv7m armv7em armv7 armv7s armv7k armv7l)
+ set(HEXAGON hexagon)
+ set(X86 i386)
+ set(X86_64 x86_64)
+diff -ur compiler-rt-10.0.0.src/lib/builtins/CMakeLists.txt compiler-rt-10.0.0.src-patched/lib/builtins/CMakeLists.txt
+--- compiler-rt-10.0.0.src/lib/builtins/CMakeLists.txt	2020-03-24 00:01:02.000000000 +0900
++++ compiler-rt-10.0.0.src-patched/lib/builtins/CMakeLists.txt	2020-05-10 03:44:49.468579650 +0900
+@@ -474,6 +474,7 @@
+ set(armv7_SOURCES ${arm_SOURCES})
+ set(armv7s_SOURCES ${arm_SOURCES})
+ set(armv7k_SOURCES ${arm_SOURCES})
++set(armv7l_SOURCES ${arm_SOURCES})
+ set(arm64_SOURCES ${aarch64_SOURCES})
+ 
+ # macho_embedded archs
+@@ -595,7 +596,7 @@
+   foreach (arch ${BUILTIN_SUPPORTED_ARCH})
+     if (CAN_TARGET_${arch})
+       # For ARM archs, exclude any VFP builtins if VFP is not supported
+-      if (${arch} MATCHES "^(arm|armhf|armv7|armv7s|armv7k|armv7m|armv7em)$")
++      if (${arch} MATCHES "^(arm|armhf|armv7|armv7s|armv7k|armv7l|armv7m|armv7em)$")
+         string(REPLACE ";" " " _TARGET_${arch}_CFLAGS "${TARGET_${arch}_CFLAGS}")
+         check_compile_definition(__VFP_FP__ "${CMAKE_C_FLAGS} ${_TARGET_${arch}_CFLAGS}" COMPILER_RT_HAS_${arch}_VFP)
+         if(NOT COMPILER_RT_HAS_${arch}_VFP)
diff --git a/nixpkgs/pkgs/development/compilers/llvm/13/compiler-rt/codesign.patch b/nixpkgs/pkgs/development/compilers/llvm/13/compiler-rt/codesign.patch
new file mode 100644
index 000000000000..065959d14d46
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/13/compiler-rt/codesign.patch
@@ -0,0 +1,33 @@
+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 bc69ec95c419..9f100fdcec2f 100644
+--- a/cmake/Modules/AddCompilerRT.cmake
++++ b/cmake/Modules/AddCompilerRT.cmake
+@@ -366,14 +366,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_OUTPUT_LIBRARY_DIR}
+-        )
+-      endif()
+     endif()
+ 
+     set(parent_target_arg)
+2.14.1
+
diff --git a/nixpkgs/pkgs/development/compilers/llvm/13/compiler-rt/darwin-targetconditionals.patch b/nixpkgs/pkgs/development/compilers/llvm/13/compiler-rt/darwin-targetconditionals.patch
new file mode 100644
index 000000000000..425dc2af01e7
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/13/compiler-rt/darwin-targetconditionals.patch
@@ -0,0 +1,71 @@
+diff --git a/lib/sanitizer_common/sanitizer_mac.cpp b/lib/sanitizer_common/sanitizer_mac.cpp
+--- a/lib/sanitizer_common/sanitizer_mac.cpp
++++ b/lib/sanitizer_common/sanitizer_mac.cpp
+@@ -613,9 +613,15 @@ HandleSignalMode GetHandleSignalMode(int signum) {
+ // Offset example:
+ // XNU 17 -- macOS 10.13 -- iOS 11 -- tvOS 11 -- watchOS 4
+ constexpr u16 GetOSMajorKernelOffset() {
+-  if (TARGET_OS_OSX) return 4;
+-  if (TARGET_OS_IOS || TARGET_OS_TV) return 6;
+-  if (TARGET_OS_WATCH) return 13;
++#if TARGET_OS_OSX
++  return 4;
++#endif
++#if TARGET_OS_IOS || TARGET_OS_TV
++  return 6;
++#endif
++#if TARGET_OS_WATCH
++  return 13;
++#endif
+ }
+ 
+ using VersStr = char[64];
+@@ -627,13 +633,13 @@ static uptr ApproximateOSVersionViaKernelVersion(VersStr vers) {
+   u16 os_major = kernel_major - offset;
+ 
+   const char *format = "%d.0";
+-  if (TARGET_OS_OSX) {
+-    if (os_major >= 16) {  // macOS 11+
+-      os_major -= 5;
+-    } else {  // macOS 10.15 and below
+-      format = "10.%d";
+-    }
++#if TARGET_OS_OSX
++  if (os_major >= 16) {  // macOS 11+
++    os_major -= 5;
++  } else {  // macOS 10.15 and below
++    format = "10.%d";
+   }
++#endif
+   return internal_snprintf(vers, sizeof(VersStr), format, os_major);
+ }
+ 
+@@ -681,15 +687,14 @@ void ParseVersion(const char *vers, u16 *major, u16 *minor) {
+ // Aligned versions example:
+ // macOS 10.15 -- iOS 13 -- tvOS 13 -- watchOS 6
+ static void MapToMacos(u16 *major, u16 *minor) {
+-  if (TARGET_OS_OSX)
+-    return;
+-
+-  if (TARGET_OS_IOS || TARGET_OS_TV)
++#if !TARGET_OS_OSX
++#if TARGET_OS_IOS || TARGET_OS_TV
+     *major += 2;
+-  else if (TARGET_OS_WATCH)
++#elif TARGET_OS_WATCH
+     *major += 9;
+-  else
++#else
+     UNREACHABLE("unsupported platform");
++#endif
+ 
+   if (*major >= 16) {  // macOS 11+
+     *major -= 5;
+@@ -697,6 +702,7 @@ static void MapToMacos(u16 *major, u16 *minor) {
+     *minor = *major;
+     *major = 10;
+   }
++#endif
+ }
+ 
+ static MacosVersion GetMacosAlignedVersionInternal() {
diff --git a/nixpkgs/pkgs/development/compilers/llvm/13/compiler-rt/default.nix b/nixpkgs/pkgs/development/compilers/llvm/13/compiler-rt/default.nix
new file mode 100644
index 000000000000..8fc32bbd0aec
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/13/compiler-rt/default.nix
@@ -0,0 +1,116 @@
+{ lib, stdenv, llvm_meta, version, src, cmake, python3, libllvm, libcxxabi }:
+
+let
+
+  useLLVM = stdenv.hostPlatform.useLLVM or false;
+  bareMetal = stdenv.hostPlatform.parsed.kernel.name == "none";
+  haveLibc = stdenv.cc.libc != null;
+  inherit (stdenv.hostPlatform) isMusl;
+
+in
+
+stdenv.mkDerivation {
+  pname = "compiler-rt" + lib.optionalString (haveLibc) "-libc";
+  inherit version;
+
+  inherit src;
+  sourceRoot = "source/compiler-rt";
+
+  nativeBuildInputs = [ cmake python3 libllvm.dev ];
+  buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
+
+  NIX_CFLAGS_COMPILE = [
+    "-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0"
+  ];
+
+  cmakeFlags = [
+    "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON"
+    "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}"
+    "-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}"
+  ] ++ lib.optionals (useLLVM || bareMetal || isMusl) [
+    "-DCOMPILER_RT_BUILD_SANITIZERS=OFF"
+    "-DCOMPILER_RT_BUILD_XRAY=OFF"
+    "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF"
+    "-DCOMPILER_RT_BUILD_PROFILE=OFF"
+  ] ++ lib.optionals ((useLLVM || bareMetal) && !haveLibc) [
+    "-DCMAKE_C_COMPILER_WORKS=ON"
+    "-DCMAKE_CXX_COMPILER_WORKS=ON"
+    "-DCOMPILER_RT_BAREMETAL_BUILD=ON"
+    "-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}"
+  ] ++ lib.optionals (useLLVM && !haveLibc) [
+    "-DCMAKE_C_FLAGS=-nodefaultlibs"
+  ] ++ lib.optionals (useLLVM) [
+    "-DCOMPILER_RT_BUILD_BUILTINS=ON"
+    #https://stackoverflow.com/questions/53633705/cmake-the-c-compiler-is-not-able-to-compile-a-simple-test-program
+    "-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY"
+  ] ++ lib.optionals (bareMetal) [
+    "-DCOMPILER_RT_OS_DIR=baremetal"
+  ] ++ lib.optionals (stdenv.hostPlatform.isDarwin) [
+    "-DDARWIN_macosx_OVERRIDE_SDK_VERSION=ON"
+    "-DDARWIN_osx_ARCHS=${stdenv.hostPlatform.darwinArch}"
+    "-DDARWIN_osx_BUILTIN_ARCHS=${stdenv.hostPlatform.darwinArch}"
+  ];
+
+  outputs = [ "out" "dev" ];
+
+  patches = [
+    ./codesign.patch # Revert compiler-rt commit that makes codesign mandatory
+    ./X86-support-extension.patch # Add support for i486 i586 i686 by reusing i386 config
+    # ld-wrapper dislikes `-rpath-link //nix/store`, so we normalize away the
+    # extra `/`.
+    ./normalize-var.patch
+  ]# ++ lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch
+    # Prevent a compilation error on darwin
+    ++ lib.optional stdenv.hostPlatform.isDarwin ./darwin-targetconditionals.patch
+    ++ lib.optional stdenv.hostPlatform.isAarch32 ./armv7l.patch;
+
+  # 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
+  # can build this. If we didn't do it, basically the entire nixpkgs on Darwin would have an unfree dependency and we'd
+  # get no binary cache for the entire platform. If you really find yourself wanting the TSAN, make this controllable by
+  # a flag and turn the flag off during the stdenv build.
+  postPatch = lib.optionalString (!stdenv.isDarwin) ''
+    substituteInPlace cmake/builtin-config-ix.cmake \
+      --replace 'set(X86 i386)' 'set(X86 i386 i486 i586 i686)'
+  '' + lib.optionalString stdenv.isDarwin ''
+    substituteInPlace cmake/builtin-config-ix.cmake \
+      --replace 'set(ARM64 arm64 arm64e)' 'set(ARM64)'
+    substituteInPlace cmake/config-ix.cmake \
+      --replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)'
+  '' + lib.optionalString (useLLVM) ''
+    substituteInPlace lib/builtins/int_util.c \
+      --replace "#include <stdlib.h>" ""
+    substituteInPlace lib/builtins/clear_cache.c \
+      --replace "#include <assert.h>" ""
+    substituteInPlace lib/builtins/cpu_model.c \
+      --replace "#include <assert.h>" ""
+  '';
+
+  # Hack around weird upsream RPATH bug
+  postInstall = lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) ''
+    ln -s "$out/lib"/*/* "$out/lib"
+  '' + lib.optionalString (useLLVM) ''
+    ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/crtbegin.o
+    ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/crtend.o
+    ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/crtbeginS.o
+    ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/crtendS.o
+  '';
+
+  meta = llvm_meta // {
+    homepage = "https://compiler-rt.llvm.org/";
+    description = "Compiler runtime libraries";
+    longDescription = ''
+      The compiler-rt project provides highly tuned implementations of the
+      low-level code generator support routines like "__fixunsdfdi" and other
+      calls generated when a target doesn't have a short sequence of native
+      instructions to implement a core IR operation. It also provides
+      implementations of run-time libraries for dynamic testing tools such as
+      AddressSanitizer, ThreadSanitizer, MemorySanitizer, and DataFlowSanitizer.
+    '';
+    # "All of the code in the compiler-rt project is dual licensed under the MIT
+    # license and the UIUC License (a BSD-like license)":
+    license = with lib.licenses; [ mit ncsa ];
+    # TODO/FIXME: Build fails on Hydra:
+    broken = stdenv.isAarch64;
+  };
+}
diff --git a/nixpkgs/pkgs/development/compilers/llvm/13/compiler-rt/normalize-var.patch b/nixpkgs/pkgs/development/compilers/llvm/13/compiler-rt/normalize-var.patch
new file mode 100644
index 000000000000..135cf625ef78
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/13/compiler-rt/normalize-var.patch
@@ -0,0 +1,16 @@
+diff --git a/compiler-rt/cmake/Modules/CompilerRTUtils.cmake b/compiler-rt/cmake/Modules/CompilerRTUtils.cmake
+index f1f46fb9599c..6f19e69507ba 100644
+--- a/cmake/Modules/CompilerRTUtils.cmake
++++ b/cmake/Modules/CompilerRTUtils.cmake
+@@ -302,8 +302,9 @@ macro(load_llvm_config)
+     # Get some LLVM variables from LLVMConfig.
+     include("${LLVM_CMAKE_PATH}/LLVMConfig.cmake")
+ 
+-    set(LLVM_LIBRARY_OUTPUT_INTDIR
+-      ${LLVM_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX})
++    get_filename_component(LLVM_LIBRARY_OUTPUT_INTDIR
++      ${LLVM_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX}
++      REALPATH)
+   endif()
+ endmacro()
+ 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/13/compiler-rt/sanitizers-nongnu.patch b/nixpkgs/pkgs/development/compilers/llvm/13/compiler-rt/sanitizers-nongnu.patch
new file mode 100644
index 000000000000..1f2ac97818eb
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/13/compiler-rt/sanitizers-nongnu.patch
@@ -0,0 +1,412 @@
+From f7a253f8f85d0f49df6b73996737a3e84ac64236 Mon Sep 17 00:00:00 2001
+From: Will Dietz <w@wdtz.org>
+Date: Mon, 24 Sep 2018 11:17:25 -0500
+Subject: [PATCH] Ported to 7.0, taken from gentoo-musl project.
+
+------
+Ported to compiler-rt-sanitizers-5.0.0. Taken from
+
+https://gist.githubusercontent.com/pwaller/2337f3290f12634cad3e3730cff0a6c1/raw/83c87a8585e2f9662494db5662e5361beb093c26/nongnu.patch
+Signed-off-by: Jory A. Pratt <anarchy@gentoo.org>
+
+Taken from gentoo-musl project, with a few additional minor fixes.
+---
+ lib/asan/asan_linux.cc                        |  4 +-
+ lib/interception/interception_linux.cc        |  2 +-
+ lib/interception/interception_linux.h         |  2 +-
+ lib/msan/msan_linux.cc                        |  2 +-
+ lib/sanitizer_common/sanitizer_allocator.cc   |  2 +-
+ .../sanitizer_common_interceptors_ioctl.inc   |  4 +-
+ .../sanitizer_common_syscalls.inc             |  2 +-
+ lib/sanitizer_common/sanitizer_linux.cc       |  8 +++-
+ .../sanitizer_linux_libcdep.cc                | 10 ++---
+ lib/sanitizer_common/sanitizer_platform.h     |  6 +++
+ .../sanitizer_platform_interceptors.h         |  4 +-
+ .../sanitizer_platform_limits_posix.cc        | 37 +++++++++++--------
+ lib/tsan/rtl/tsan_platform_linux.cc           |  2 +-
+ 13 files changed, 51 insertions(+), 34 deletions(-)
+
+diff --git a/lib/asan/asan_linux.cc b/lib/asan/asan_linux.cc
+index 625f32d40..73cf77aca 100644
+--- a/lib/asan/asan_linux.cc
++++ b/lib/asan/asan_linux.cc
+@@ -46,7 +46,7 @@
+ #include <link.h>
+ #endif
+ 
+-#if SANITIZER_ANDROID || SANITIZER_FREEBSD || SANITIZER_SOLARIS
++#if SANITIZER_ANDROID || SANITIZER_FREEBSD || SANITIZER_SOLARIS || SANITIZER_NONGNU
+ #include <ucontext.h>
+ extern "C" void* _DYNAMIC;
+ #elif SANITIZER_NETBSD
+@@ -139,7 +139,7 @@ void AsanApplyToGlobals(globals_op_fptr op, const void *needle) {
+   UNIMPLEMENTED();
+ }
+ 
+-#if SANITIZER_ANDROID
++#if SANITIZER_ANDROID || SANITIZER_NONGNU
+ // FIXME: should we do anything for Android?
+ void AsanCheckDynamicRTPrereqs() {}
+ void AsanCheckIncompatibleRT() {}
+diff --git a/lib/interception/interception_linux.cc b/lib/interception/interception_linux.cc
+index 26bfcd8f6..529b234f7 100644
+--- a/lib/interception/interception_linux.cc
++++ b/lib/interception/interception_linux.cc
+@@ -43,7 +43,7 @@ bool GetRealFunctionAddress(const char *func_name, uptr *func_addr,
+ }
+ 
+ // Android and Solaris do not have dlvsym
+-#if !SANITIZER_ANDROID && !SANITIZER_SOLARIS && !SANITIZER_OPENBSD
++#if !SANITIZER_ANDROID && !SANITIZER_SOLARIS && !SANITIZER_OPENBSD && !SANITIZER_NONGNU
+ void *GetFuncAddrVer(const char *func_name, const char *ver) {
+   return dlvsym(RTLD_NEXT, func_name, ver);
+ }
+diff --git a/lib/interception/interception_linux.h b/lib/interception/interception_linux.h
+index 942c25609..24a4d5080 100644
+--- a/lib/interception/interception_linux.h
++++ b/lib/interception/interception_linux.h
+@@ -36,7 +36,7 @@ void *GetFuncAddrVer(const char *func_name, const char *ver);
+       (::__interception::uptr) & WRAP(func))
+ 
+ // Android,  Solaris and OpenBSD do not have dlvsym
+-#if !SANITIZER_ANDROID && !SANITIZER_SOLARIS && !SANITIZER_OPENBSD
++#if !SANITIZER_ANDROID && !SANITIZER_SOLARIS && !SANITIZER_OPENBSD && !SANITIZER_NONGNU
+ #define INTERCEPT_FUNCTION_VER_LINUX_OR_FREEBSD(func, symver) \
+   (::__interception::real_##func = (func##_f)(                \
+        unsigned long)::__interception::GetFuncAddrVer(#func, symver))
+diff --git a/lib/msan/msan_linux.cc b/lib/msan/msan_linux.cc
+index 385a650c4..6e30a8ce9 100644
+--- a/lib/msan/msan_linux.cc
++++ b/lib/msan/msan_linux.cc
+@@ -13,7 +13,7 @@
+ //===----------------------------------------------------------------------===//
+ 
+ #include "sanitizer_common/sanitizer_platform.h"
+-#if SANITIZER_FREEBSD || SANITIZER_LINUX || SANITIZER_NETBSD
++#if SANITIZER_FREEBSD || (SANITIZER_LINUX && !SANITIZER_NONGNU) || SANITIZER_NETBSD
+ 
+ #include "msan.h"
+ #include "msan_report.h"
+diff --git a/lib/sanitizer_common/sanitizer_allocator.cc b/lib/sanitizer_common/sanitizer_allocator.cc
+index 6bfd5e5ee..048f6154f 100644
+--- a/lib/sanitizer_common/sanitizer_allocator.cc
++++ b/lib/sanitizer_common/sanitizer_allocator.cc
+@@ -27,7 +27,7 @@ const char *SecondaryAllocatorName = "LargeMmapAllocator";
+ 
+ // ThreadSanitizer for Go uses libc malloc/free.
+ #if SANITIZER_GO || defined(SANITIZER_USE_MALLOC)
+-# if SANITIZER_LINUX && !SANITIZER_ANDROID
++# if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ extern "C" void *__libc_malloc(uptr size);
+ #  if !SANITIZER_GO
+ extern "C" void *__libc_memalign(uptr alignment, uptr size);
+diff --git a/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc b/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
+index 2d633c173..b6eb23116 100644
+--- a/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
++++ b/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
+@@ -104,7 +104,7 @@ static void ioctl_table_fill() {
+   _(SIOCGETVIFCNT, WRITE, struct_sioc_vif_req_sz);
+ #endif
+ 
+-#if SANITIZER_LINUX
++#if SANITIZER_LINUX && !SANITIZER_NONGNU
+   // Conflicting request ids.
+   // _(CDROMAUDIOBUFSIZ, NONE, 0);
+   // _(SNDCTL_TMR_CONTINUE, NONE, 0);
+@@ -365,7 +365,7 @@ static void ioctl_table_fill() {
+   _(VT_WAITACTIVE, NONE, 0);
+ #endif
+ 
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+   // _(SIOCDEVPLIP, WRITE, struct_ifreq_sz); // the same as EQL_ENSLAVE
+   _(CYGETDEFTHRESH, WRITE, sizeof(int));
+   _(CYGETDEFTIMEOUT, WRITE, sizeof(int));
+diff --git a/lib/sanitizer_common/sanitizer_common_syscalls.inc b/lib/sanitizer_common/sanitizer_common_syscalls.inc
+index 469c8eb7e..24f87867d 100644
+--- a/lib/sanitizer_common/sanitizer_common_syscalls.inc
++++ b/lib/sanitizer_common/sanitizer_common_syscalls.inc
+@@ -2038,7 +2038,7 @@ POST_SYSCALL(setrlimit)(long res, long resource, void *rlim) {
+   }
+ }
+ 
+-#if !SANITIZER_ANDROID
++#if !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ PRE_SYSCALL(prlimit64)(long pid, long resource, const void *new_rlim,
+                        void *old_rlim) {
+   if (new_rlim) PRE_READ(new_rlim, struct_rlimit64_sz);
+diff --git a/lib/sanitizer_common/sanitizer_linux.cc b/lib/sanitizer_common/sanitizer_linux.cc
+index 96d6c1eff..9e2b7fb9d 100644
+--- a/lib/sanitizer_common/sanitizer_linux.cc
++++ b/lib/sanitizer_common/sanitizer_linux.cc
+@@ -541,13 +541,13 @@ const char *GetEnv(const char *name) {
+ #endif
+ }
+ 
+-#if !SANITIZER_FREEBSD && !SANITIZER_NETBSD && !SANITIZER_OPENBSD
++#if !SANITIZER_FREEBSD && !SANITIZER_NETBSD && !SANITIZER_OPENBSD && !SANITIZER_NONGNU
+ extern "C" {
+ SANITIZER_WEAK_ATTRIBUTE extern void *__libc_stack_end;
+ }
+ #endif
+ 
+-#if !SANITIZER_GO && !SANITIZER_FREEBSD && !SANITIZER_NETBSD &&                \
++#if (!SANITIZER_GO || SANITIZER_NONGNU) && !SANITIZER_FREEBSD && !SANITIZER_NETBSD &&                \
+     !SANITIZER_OPENBSD
+ static void ReadNullSepFileToArray(const char *path, char ***arr,
+                                    int arr_size) {
+@@ -590,6 +590,10 @@ static void GetArgsAndEnv(char ***argv, char ***envp) {
+ #elif SANITIZER_NETBSD
+   *argv = __ps_strings->ps_argvstr;
+   *envp = __ps_strings->ps_envstr;
++#elif SANITIZER_NONGNU
++    static const int kMaxArgv = 2000, kMaxEnvp = 2000;
++    ReadNullSepFileToArray("/proc/self/cmdline", argv, kMaxArgv);
++    ReadNullSepFileToArray("/proc/self/environ", envp, kMaxEnvp);
+ #else // SANITIZER_FREEBSD
+ #if !SANITIZER_GO
+   if (&__libc_stack_end) {
+diff --git a/lib/sanitizer_common/sanitizer_linux_libcdep.cc b/lib/sanitizer_common/sanitizer_linux_libcdep.cc
+index 4962ff832..438f94dbe 100644
+--- a/lib/sanitizer_common/sanitizer_linux_libcdep.cc
++++ b/lib/sanitizer_common/sanitizer_linux_libcdep.cc
+@@ -179,7 +179,7 @@ __attribute__((unused)) static bool GetLibcVersion(int *major, int *minor,
+ }
+ 
+ #if !SANITIZER_FREEBSD && !SANITIZER_ANDROID && !SANITIZER_GO &&               \
+-    !SANITIZER_NETBSD && !SANITIZER_OPENBSD && !SANITIZER_SOLARIS
++    !SANITIZER_NETBSD && !SANITIZER_OPENBSD && !SANITIZER_SOLARIS && !SANITIZER_NONGNU
+ static uptr g_tls_size;
+ 
+ #ifdef __i386__
+@@ -261,7 +261,7 @@ void InitTlsSize() { }
+ #if (defined(__x86_64__) || defined(__i386__) || defined(__mips__) ||          \
+      defined(__aarch64__) || defined(__powerpc64__) || defined(__s390__) ||    \
+      defined(__arm__)) &&                                                      \
+-    SANITIZER_LINUX && !SANITIZER_ANDROID
++    SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ // sizeof(struct pthread) from glibc.
+ static atomic_uintptr_t thread_descriptor_size;
+ 
+@@ -426,7 +426,7 @@ int GetSizeFromHdr(struct dl_phdr_info *info, size_t size, void *data) {
+ 
+ #if !SANITIZER_GO
+ static void GetTls(uptr *addr, uptr *size) {
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ # if defined(__x86_64__) || defined(__i386__) || defined(__s390__)
+   *addr = ThreadSelf();
+   *size = GetTlsSize();
+@@ -470,7 +470,7 @@ static void GetTls(uptr *addr, uptr *size) {
+ #elif SANITIZER_OPENBSD
+   *addr = 0;
+   *size = 0;
+-#elif SANITIZER_ANDROID
++#elif SANITIZER_ANDROID || SANITIZER_NONGNU
+   *addr = 0;
+   *size = 0;
+ #elif SANITIZER_SOLARIS
+@@ -486,7 +486,7 @@ static void GetTls(uptr *addr, uptr *size) {
+ #if !SANITIZER_GO
+ uptr GetTlsSize() {
+ #if SANITIZER_FREEBSD || SANITIZER_ANDROID || SANITIZER_NETBSD ||              \
+-    SANITIZER_OPENBSD || SANITIZER_SOLARIS
++    SANITIZER_OPENBSD || SANITIZER_SOLARIS || SANITIZER_NONGNU
+   uptr addr, size;
+   GetTls(&addr, &size);
+   return size;
+diff --git a/lib/sanitizer_common/sanitizer_platform.h b/lib/sanitizer_common/sanitizer_platform.h
+index d81e25580..e10680ac8 100644
+--- a/lib/sanitizer_common/sanitizer_platform.h
++++ b/lib/sanitizer_common/sanitizer_platform.h
+@@ -208,6 +208,12 @@
+ # define SANITIZER_SOLARIS32 0
+ #endif
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++# define SANITIZER_NONGNU 1
++#else
++# define SANITIZER_NONGNU 0
++#endif
++
+ #if defined(__myriad2__)
+ # define SANITIZER_MYRIAD2 1
+ #else
+diff --git a/lib/sanitizer_common/sanitizer_platform_interceptors.h b/lib/sanitizer_common/sanitizer_platform_interceptors.h
+index f95539a73..6c53b3415 100644
+--- a/lib/sanitizer_common/sanitizer_platform_interceptors.h
++++ b/lib/sanitizer_common/sanitizer_platform_interceptors.h
+@@ -39,7 +39,7 @@
+ # include "sanitizer_platform_limits_solaris.h"
+ #endif
+ 
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ # define SI_LINUX_NOT_ANDROID 1
+ #else
+ # define SI_LINUX_NOT_ANDROID 0
+@@ -322,7 +322,7 @@
+ #define SANITIZER_INTERCEPT_ETHER_R (SI_FREEBSD || SI_LINUX_NOT_ANDROID)
+ #define SANITIZER_INTERCEPT_SHMCTL          \
+   (SI_NETBSD || SI_OPENBSD || SI_SOLARIS || \
+-  ((SI_FREEBSD || SI_LINUX_NOT_ANDROID) && \
++  ((SI_FREEBSD || SI_LINUX_NOT_ANDROID || SANITIZER_NONGNU) && \
+     SANITIZER_WORDSIZE == 64))  // NOLINT
+ #define SANITIZER_INTERCEPT_RANDOM_R SI_LINUX_NOT_ANDROID
+ #define SANITIZER_INTERCEPT_PTHREAD_ATTR_GET SI_POSIX
+diff --git a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
+index 54da635d7..2f6ff69c3 100644
+--- a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
++++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
+@@ -14,6 +14,9 @@
+ 
+ #include "sanitizer_platform.h"
+ 
++// Workaround musl <--> linux conflicting definition of 'struct sysinfo'
++#define _LINUX_SYSINFO_H
++
+ #if SANITIZER_LINUX || SANITIZER_FREEBSD || SANITIZER_MAC
+ // Tests in this file assume that off_t-dependent data structures match the
+ // libc ABI. For example, struct dirent here is what readdir() function (as
+@@ -138,12 +141,14 @@ typedef struct user_fpregs elf_fpregset_t;
+ 
+ #if SANITIZER_LINUX && !SANITIZER_ANDROID
+ #include <glob.h>
+-#include <obstack.h>
++#  if !SANITIZER_NONGNU
++#    include <obstack.h>
++#  endif
+ #include <mqueue.h>
+-#include <net/if_ppp.h>
+-#include <netax25/ax25.h>
+-#include <netipx/ipx.h>
+-#include <netrom/netrom.h>
++#include <linux/if_ppp.h>
++#include <linux/ax25.h>
++#include <linux/ipx.h>
++#include <linux/netrom.h>
+ #if HAVE_RPC_XDR_H
+ # include <rpc/xdr.h>
+ #elif HAVE_TIRPC_RPC_XDR_H
+@@ -251,7 +256,7 @@ namespace __sanitizer {
+   unsigned struct_itimerspec_sz = sizeof(struct itimerspec);
+ #endif // SANITIZER_LINUX || SANITIZER_FREEBSD
+ 
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+   // Use pre-computed size of struct ustat to avoid <sys/ustat.h> which
+   // has been removed from glibc 2.28.
+ #if defined(__aarch64__) || defined(__s390x__) || defined (__mips64) \
+@@ -322,7 +327,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(ElfW(Phdr));
+ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
+ #endif
+ 
+-#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
++#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+   int glob_nomatch = GLOB_NOMATCH;
+   int glob_altdirfunc = GLOB_ALTDIRFUNC;
+ #endif
+@@ -416,7 +421,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
+   unsigned struct_termios_sz = sizeof(struct termios);
+   unsigned struct_winsize_sz = sizeof(struct winsize);
+ 
+-#if SANITIZER_LINUX
++#if SANITIZER_LINUX && !SANITIZER_NONGNU
+   unsigned struct_arpreq_sz = sizeof(struct arpreq);
+   unsigned struct_cdrom_msf_sz = sizeof(struct cdrom_msf);
+   unsigned struct_cdrom_multisession_sz = sizeof(struct cdrom_multisession);
+@@ -466,7 +471,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
+   unsigned struct_vt_mode_sz = sizeof(struct vt_mode);
+ #endif // SANITIZER_LINUX || SANITIZER_FREEBSD
+ 
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+   unsigned struct_ax25_parms_struct_sz = sizeof(struct ax25_parms_struct);
+   unsigned struct_cyclades_monitor_sz = sizeof(struct cyclades_monitor);
+ #if EV_VERSION > (0x010000)
+@@ -834,7 +839,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
+   unsigned IOCTL_VT_WAITACTIVE = VT_WAITACTIVE;
+ #endif // SANITIZER_LINUX || SANITIZER_FREEBSD
+ 
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+   unsigned IOCTL_CYGETDEFTHRESH = CYGETDEFTHRESH;
+   unsigned IOCTL_CYGETDEFTIMEOUT = CYGETDEFTIMEOUT;
+   unsigned IOCTL_CYGETMON = CYGETMON;
+@@ -989,7 +994,7 @@ CHECK_SIZE_AND_OFFSET(dl_phdr_info, dlpi_phdr);
+ CHECK_SIZE_AND_OFFSET(dl_phdr_info, dlpi_phnum);
+ #endif // SANITIZER_LINUX || SANITIZER_FREEBSD
+ 
+-#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
++#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ CHECK_TYPE_SIZE(glob_t);
+ CHECK_SIZE_AND_OFFSET(glob_t, gl_pathc);
+ CHECK_SIZE_AND_OFFSET(glob_t, gl_pathv);
+@@ -1023,6 +1028,7 @@ CHECK_TYPE_SIZE(iovec);
+ CHECK_SIZE_AND_OFFSET(iovec, iov_base);
+ CHECK_SIZE_AND_OFFSET(iovec, iov_len);
+ 
++#if !SANITIZER_NONGNU
+ CHECK_TYPE_SIZE(msghdr);
+ CHECK_SIZE_AND_OFFSET(msghdr, msg_name);
+ CHECK_SIZE_AND_OFFSET(msghdr, msg_namelen);
+@@ -1036,6 +1042,7 @@ CHECK_TYPE_SIZE(cmsghdr);
+ CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_len);
+ CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_level);
+ CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_type);
++#endif
+ 
+ #ifndef __GLIBC_PREREQ
+ #define __GLIBC_PREREQ(x, y) 0
+@@ -1145,7 +1152,7 @@ CHECK_SIZE_AND_OFFSET(mntent, mnt_passno);
+ 
+ CHECK_TYPE_SIZE(ether_addr);
+ 
+-#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
++#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ CHECK_TYPE_SIZE(ipc_perm);
+ # if SANITIZER_FREEBSD
+ CHECK_SIZE_AND_OFFSET(ipc_perm, key);
+@@ -1206,7 +1213,7 @@ CHECK_SIZE_AND_OFFSET(ifaddrs, ifa_dstaddr);
+ CHECK_SIZE_AND_OFFSET(ifaddrs, ifa_data);
+ #endif
+ 
+-#if SANITIZER_LINUX
++#if SANITIZER_LINUX && !SANITIZER_NONGNU
+ COMPILER_CHECK(sizeof(__sanitizer_mallinfo) == sizeof(struct mallinfo));
+ #endif
+ 
+@@ -1256,7 +1263,7 @@ COMPILER_CHECK(__sanitizer_XDR_DECODE == XDR_DECODE);
+ COMPILER_CHECK(__sanitizer_XDR_FREE == XDR_FREE);
+ #endif
+ 
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ COMPILER_CHECK(sizeof(__sanitizer_FILE) <= sizeof(FILE));
+ CHECK_SIZE_AND_OFFSET(FILE, _flags);
+ CHECK_SIZE_AND_OFFSET(FILE, _IO_read_ptr);
+@@ -1275,7 +1282,7 @@ CHECK_SIZE_AND_OFFSET(FILE, _chain);
+ CHECK_SIZE_AND_OFFSET(FILE, _fileno);
+ #endif
+ 
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ COMPILER_CHECK(sizeof(__sanitizer__obstack_chunk) <= sizeof(_obstack_chunk));
+ CHECK_SIZE_AND_OFFSET(_obstack_chunk, limit);
+ CHECK_SIZE_AND_OFFSET(_obstack_chunk, prev);
+diff --git a/lib/tsan/rtl/tsan_platform_linux.cc b/lib/tsan/rtl/tsan_platform_linux.cc
+index de989b780..51a97b554 100644
+--- a/lib/tsan/rtl/tsan_platform_linux.cc
++++ b/lib/tsan/rtl/tsan_platform_linux.cc
+@@ -294,7 +294,7 @@ void InitializePlatform() {
+ // This is required to properly "close" the fds, because we do not see internal
+ // closes within glibc. The code is a pure hack.
+ int ExtractResolvFDs(void *state, int *fds, int nfd) {
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+   int cnt = 0;
+   struct __res_state *statp = (struct __res_state*)state;
+   for (int i = 0; i < MAXNS && cnt < nfd; i++) {
+-- 
+2.19.0
+
diff --git a/nixpkgs/pkgs/development/compilers/llvm/13/default.nix b/nixpkgs/pkgs/development/compilers/llvm/13/default.nix
new file mode 100644
index 000000000000..76a46492cf74
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/13/default.nix
@@ -0,0 +1,267 @@
+{ lowPrio, newScope, pkgs, lib, stdenv, cmake
+, gccForLibs, preLibcCrossHeaders
+, libxml2, python3, isl, fetchFromGitHub, overrideCC, wrapCCWith, wrapBintoolsWith
+, buildLlvmTools # tools, but from the previous stage, for cross
+, targetLlvmLibraries # libraries, but from the next stage, for cross
+# This is the default binutils, but with *this* version of LLD rather
+# than the default LLVM verion's, if LLD is the choice. We use these for
+# the `useLLVM` bootstrapping below.
+, bootBintoolsNoLibc ?
+    if stdenv.targetPlatform.linker == "lld"
+    then null
+    else pkgs.bintoolsNoLibc
+, bootBintools ?
+    if stdenv.targetPlatform.linker == "lld"
+    then null
+    else pkgs.bintools
+, darwin
+}:
+
+let
+  release_version = "13.0.0";
+  candidate = "rc2"; # empty or "rcN"
+  dash-candidate = lib.optionalString (candidate != "") "-${candidate}";
+  rev = ""; # When using a Git commit
+  rev-version = ""; # When using a Git commit
+  version = if rev != "" then rev-version else "${release_version}${dash-candidate}";
+  targetConfig = stdenv.targetPlatform.config;
+
+  src = fetchFromGitHub {
+    owner = "llvm";
+    repo = "llvm-project";
+    rev = if rev != "" then rev else "llvmorg-${version}";
+    sha256 = "06cy6v231w067g310bwpk6a654j6q9rcxa0y0wz5sc5rrh61zjrn";
+  };
+
+  llvm_meta = {
+    license     = lib.licenses.ncsa;
+    maintainers = with lib.maintainers; [ lovek323 raskin dtzWill primeos ];
+    platforms   = lib.platforms.all;
+  };
+
+  tools = lib.makeExtensible (tools: let
+    callPackage = newScope (tools // { inherit stdenv cmake libxml2 python3 isl release_version version src buildLlvmTools; });
+    mkExtraBuildCommands0 = cc: ''
+      rsrc="$out/resource-root"
+      mkdir "$rsrc"
+      ln -s "${cc.lib}/lib/clang/${release_version}/include" "$rsrc"
+      echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags
+    '';
+    mkExtraBuildCommands = cc: mkExtraBuildCommands0 cc + ''
+      ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib"
+      ln -s "${targetLlvmLibraries.compiler-rt.out}/share" "$rsrc/share"
+    '';
+
+  bintoolsNoLibc' =
+    if bootBintoolsNoLibc == null
+    then tools.bintoolsNoLibc
+    else bootBintoolsNoLibc;
+  bintools' =
+    if bootBintools == null
+    then tools.bintools
+    else bootBintools;
+
+  in {
+
+    libllvm = callPackage ./llvm {
+      inherit llvm_meta;
+    };
+
+    # `llvm` historically had the binaries.  When choosing an output explicitly,
+    # we need to reintroduce `outputUnspecified` to get the expected behavior e.g. of lib.get*
+    llvm = tools.libllvm.out // { outputUnspecified = true; };
+
+    libclang = callPackage ./clang {
+      inherit llvm_meta;
+    };
+
+    clang-unwrapped = tools.libclang.out // { outputUnspecified = true; };
+
+    llvm-manpages = lowPrio (tools.libllvm.override {
+      enableManpages = true;
+      python3 = pkgs.python3;  # don't use python-boot
+    });
+
+    clang-manpages = lowPrio (tools.libclang.override {
+      enableManpages = true;
+      python3 = pkgs.python3;  # don't use python-boot
+    });
+
+    # TODO: lldb/docs/index.rst:155:toctree contains reference to nonexisting document 'design/structureddataplugins'
+    # lldb-manpages = lowPrio (tools.lldb.override {
+    #   enableManpages = true;
+    #   python3 = pkgs.python3;  # don't use python-boot
+    # });
+
+    clang = if stdenv.cc.isGNU then tools.libstdcxxClang else tools.libcxxClang;
+
+    libstdcxxClang = wrapCCWith rec {
+      cc = tools.clang-unwrapped;
+      # libstdcxx is taken from gcc in an ad-hoc way in cc-wrapper.
+      libcxx = null;
+      extraPackages = [
+        targetLlvmLibraries.compiler-rt
+      ];
+      extraBuildCommands = mkExtraBuildCommands cc;
+    };
+
+    libcxxClang = wrapCCWith rec {
+      cc = tools.clang-unwrapped;
+      libcxx = targetLlvmLibraries.libcxx;
+      extraPackages = [
+        targetLlvmLibraries.libcxxabi
+        targetLlvmLibraries.compiler-rt
+      ];
+      extraBuildCommands = mkExtraBuildCommands cc;
+    };
+
+    lld = callPackage ./lld {
+      inherit llvm_meta;
+    };
+
+    lldb = callPackage ./lldb {
+      inherit llvm_meta;
+      inherit (darwin) libobjc bootstrap_cmds;
+      inherit (darwin.apple_sdk.libs) xpc;
+      inherit (darwin.apple_sdk.frameworks) Foundation Carbon Cocoa;
+    };
+
+    # Below, is the LLVM bootstrapping logic. It handles building a
+    # fully LLVM toolchain from scratch. No GCC toolchain should be
+    # pulled in. As a consequence, it is very quick to build different
+    # targets provided by LLVM and we can also build for what GCC
+    # doesn’t support like LLVM. Probably we should move to some other
+    # file.
+
+    bintools-unwrapped = callPackage ./bintools {};
+
+    bintoolsNoLibc = wrapBintoolsWith {
+      bintools = tools.bintools-unwrapped;
+      libc = preLibcCrossHeaders;
+    };
+
+    bintools = wrapBintoolsWith {
+      bintools = tools.bintools-unwrapped;
+    };
+
+    clangUseLLVM = wrapCCWith rec {
+      cc = tools.clang-unwrapped;
+      libcxx = targetLlvmLibraries.libcxx;
+      bintools = bintools';
+      extraPackages = [
+        targetLlvmLibraries.libcxxabi
+        targetLlvmLibraries.compiler-rt
+      ] ++ lib.optionals (!stdenv.targetPlatform.isWasm) [
+        targetLlvmLibraries.libunwind
+      ];
+      extraBuildCommands = ''
+        echo "-rtlib=compiler-rt -Wno-unused-command-line-argument" >> $out/nix-support/cc-cflags
+        echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags
+      '' + lib.optionalString (!stdenv.targetPlatform.isWasm) ''
+        echo "--unwindlib=libunwind" >> $out/nix-support/cc-cflags
+      '' + lib.optionalString (!stdenv.targetPlatform.isWasm && stdenv.targetPlatform.useLLVM or false) ''
+        echo "-lunwind" >> $out/nix-support/cc-ldflags
+      '' + lib.optionalString stdenv.targetPlatform.isWasm ''
+        echo "-fno-exceptions" >> $out/nix-support/cc-cflags
+      '' + mkExtraBuildCommands cc;
+    };
+
+    clangNoLibcxx = wrapCCWith rec {
+      cc = tools.clang-unwrapped;
+      libcxx = null;
+      bintools = bintools';
+      extraPackages = [
+        targetLlvmLibraries.compiler-rt
+      ];
+      extraBuildCommands = ''
+        echo "-rtlib=compiler-rt" >> $out/nix-support/cc-cflags
+        echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags
+        echo "-nostdlib++" >> $out/nix-support/cc-cflags
+      '' + mkExtraBuildCommands cc;
+    };
+
+    clangNoLibc = wrapCCWith rec {
+      cc = tools.clang-unwrapped;
+      libcxx = null;
+      bintools = bintoolsNoLibc';
+      extraPackages = [
+        targetLlvmLibraries.compiler-rt
+      ];
+      extraBuildCommands = ''
+        echo "-rtlib=compiler-rt" >> $out/nix-support/cc-cflags
+        echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags
+      '' + mkExtraBuildCommands cc;
+    };
+
+    clangNoCompilerRt = wrapCCWith rec {
+      cc = tools.clang-unwrapped;
+      libcxx = null;
+      bintools = bintoolsNoLibc';
+      extraPackages = [ ];
+      extraBuildCommands = ''
+        echo "-nostartfiles" >> $out/nix-support/cc-cflags
+      '' + mkExtraBuildCommands0 cc;
+    };
+
+    clangNoCompilerRtWithLibc = wrapCCWith rec {
+      cc = tools.clang-unwrapped;
+      libcxx = null;
+      bintools = bintools';
+      extraPackages = [ ];
+      extraBuildCommands = mkExtraBuildCommands0 cc;
+    };
+
+  });
+
+  libraries = lib.makeExtensible (libraries: let
+    callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake libxml2 python3 isl release_version version src; });
+  in {
+
+    compiler-rt-libc = callPackage ./compiler-rt {
+      inherit llvm_meta;
+      stdenv = if stdenv.hostPlatform.useLLVM or false
+               then overrideCC stdenv buildLlvmTools.clangNoCompilerRtWithLibc
+               else stdenv;
+    };
+
+    compiler-rt-no-libc = callPackage ./compiler-rt {
+      inherit llvm_meta;
+      stdenv = if stdenv.hostPlatform.useLLVM or false
+               then overrideCC stdenv buildLlvmTools.clangNoCompilerRt
+               else stdenv;
+    };
+
+    # N.B. condition is safe because without useLLVM both are the same.
+    compiler-rt = if stdenv.hostPlatform.isAndroid
+      then libraries.compiler-rt-libc
+      else libraries.compiler-rt-no-libc;
+
+    stdenv = overrideCC stdenv buildLlvmTools.clang;
+
+    libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang;
+
+    libcxx = callPackage ./libcxx {
+      inherit llvm_meta;
+      stdenv = if stdenv.hostPlatform.useLLVM or false
+               then overrideCC stdenv buildLlvmTools.clangNoLibcxx
+               else stdenv;
+    };
+
+    libcxxabi = callPackage ./libcxxabi {
+      inherit llvm_meta;
+      stdenv = if stdenv.hostPlatform.useLLVM or false
+               then overrideCC stdenv buildLlvmTools.clangNoLibcxx
+               else stdenv;
+    };
+
+    libunwind = callPackage ./libunwind {
+      inherit llvm_meta;
+      stdenv = overrideCC stdenv buildLlvmTools.clangNoLibcxx;
+    };
+
+    openmp = callPackage ./openmp {
+      inherit llvm_meta;
+    };
+  });
+
+in { inherit tools libraries release_version; } // libraries // tools
diff --git a/nixpkgs/pkgs/development/compilers/llvm/13/libcxx/default.nix b/nixpkgs/pkgs/development/compilers/llvm/13/libcxx/default.nix
new file mode 100644
index 000000000000..c60039274deb
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/13/libcxx/default.nix
@@ -0,0 +1,55 @@
+{ lib, stdenv, llvm_meta, src, cmake, python3, fixDarwinDylibNames, version
+, enableShared ? !stdenv.hostPlatform.isStatic
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libcxx";
+  inherit version;
+
+  inherit src;
+  sourceRoot = "source/${pname}";
+
+  outputs = [ "out" "dev" ];
+
+  patches = [
+    ./gnu-install-dirs.patch
+  ] ++ lib.optionals stdenv.hostPlatform.isMusl [
+    ../../libcxx-0001-musl-hacks.patch
+  ];
+
+  preConfigure = lib.optionalString stdenv.hostPlatform.isMusl ''
+    patchShebangs utils/cat_files.py
+  '';
+
+  nativeBuildInputs = [ cmake python3 ]
+    ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
+
+  cmakeFlags = [
+  ] ++ lib.optional (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) "-DLIBCXX_HAS_MUSL_LIBC=1"
+    ++ lib.optional (stdenv.hostPlatform.useLLVM or false) "-DLIBCXX_USE_COMPILER_RT=ON"
+    ++ lib.optional stdenv.hostPlatform.isWasm [
+      "-DLIBCXX_ENABLE_THREADS=OFF"
+      "-DLIBCXX_ENABLE_FILESYSTEM=OFF"
+      "-DLIBCXX_ENABLE_EXCEPTIONS=OFF"
+    ] ++ lib.optional (!enableShared) "-DLIBCXX_ENABLE_SHARED=OFF";
+
+  passthru = {
+    isLLVM = true;
+  };
+
+  meta = llvm_meta // {
+    homepage = "https://libcxx.llvm.org/";
+    description = "C++ standard library";
+    longDescription = ''
+      libc++ is an implementation of the C++ standard library, targeting C++11,
+      C++14 and above.
+    '';
+
+    # https://github.com/NixOS/nixpkgs/pull/133217#issuecomment-895742807
+    broken = stdenv.isDarwin;
+
+    # "All of the code in libc++ is dual licensed under the MIT license and the
+    # UIUC License (a BSD-like license)":
+    license = with lib.licenses; [ mit ncsa ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/compilers/llvm/13/libcxx/gnu-install-dirs.patch b/nixpkgs/pkgs/development/compilers/llvm/13/libcxx/gnu-install-dirs.patch
new file mode 100644
index 000000000000..744967a6ee0b
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/13/libcxx/gnu-install-dirs.patch
@@ -0,0 +1,82 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b1e25358d41a..7fe1f4d85401 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -26,6 +26,8 @@ set(LIBCXX_BINARY_INCLUDE_DIR "${LIBCXX_BINARY_DIR}/include/c++build")
+ if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR OR LIBCXX_STANDALONE_BUILD)
+   project(libcxx CXX C)
+ 
++  include(GNUInstallDirs)
++
+   set(PACKAGE_NAME libcxx)
+   set(PACKAGE_VERSION 13.0.0git)
+   set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
+@@ -412,7 +414,7 @@ if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
+   set(LIBCXX_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}/${LLVM_DEFAULT_TARGET_TRIPLE})
+   set(LIBCXX_GENERATED_INCLUDE_DIR "${LLVM_BINARY_DIR}/include/c++/v1")
+   set(LIBCXX_GENERATED_INCLUDE_TARGET_DIR "${LLVM_BINARY_DIR}/include/${LLVM_DEFAULT_TARGET_TRIPLE}/c++/v1")
+-  set(LIBCXX_INSTALL_LIBRARY_DIR lib${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE} CACHE PATH
++  set(LIBCXX_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE} CACHE PATH
+       "Path where built libc++ libraries should be installed.")
+   set(LIBCXX_INSTALL_INCLUDE_DIR "include/c++/v1" CACHE PATH
+       "Path where target-agnostic libc++ headers should be installed.")
+@@ -426,7 +428,7 @@ elseif(LLVM_LIBRARY_OUTPUT_INTDIR)
+   set(LIBCXX_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR})
+   set(LIBCXX_GENERATED_INCLUDE_DIR "${LLVM_BINARY_DIR}/include/c++/v1")
+   set(LIBCXX_GENERATED_INCLUDE_TARGET_DIR "${LIBCXX_GENERATED_INCLUDE_DIR}")
+-  set(LIBCXX_INSTALL_LIBRARY_DIR lib${LIBCXX_LIBDIR_SUFFIX} CACHE PATH
++  set(LIBCXX_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LIBCXX_LIBDIR_SUFFIX} CACHE PATH
+       "Path where built libc++ libraries should be installed.")
+   set(LIBCXX_INSTALL_INCLUDE_DIR "include/c++/v1" CACHE PATH
+       "Path where target-agnostic libc++ headers should be installed.")
+@@ -436,7 +438,7 @@ else()
+   set(LIBCXX_LIBRARY_DIR ${CMAKE_BINARY_DIR}/lib${LIBCXX_LIBDIR_SUFFIX})
+   set(LIBCXX_GENERATED_INCLUDE_DIR "${CMAKE_BINARY_DIR}/include/c++/v1")
+   set(LIBCXX_GENERATED_INCLUDE_TARGET_DIR "${LIBCXX_GENERATED_INCLUDE_DIR}")
+-  set(LIBCXX_INSTALL_LIBRARY_DIR lib${LIBCXX_LIBDIR_SUFFIX} CACHE PATH
++  set(LIBCXX_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LIBCXX_LIBDIR_SUFFIX} CACHE PATH
+       "Path where built libc++ libraries should be installed.")
+   set(LIBCXX_INSTALL_INCLUDE_DIR "include/c++/v1" CACHE PATH
+       "Path where target-agnostic libc++ headers should be installed.")
+diff --git a/cmake/Modules/HandleLibCXXABI.cmake b/cmake/Modules/HandleLibCXXABI.cmake
+index 5a8a4a270a1a..c06bae0001aa 100644
+--- a/cmake/Modules/HandleLibCXXABI.cmake
++++ b/cmake/Modules/HandleLibCXXABI.cmake
+@@ -63,7 +63,7 @@ macro(setup_abi_lib abidefines abishared abistatic abifiles abidirs)
+ 
+         if (LIBCXX_INSTALL_HEADERS)
+           install(FILES "${LIBCXX_BINARY_INCLUDE_DIR}/${fpath}"
+-            DESTINATION include/c++/v1/${dstdir}
++            DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/c++/v1/${dstdir}
+             COMPONENT cxx-headers
+             PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
+             )
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 496429f3841e..1a0c9c0a3159 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -376,21 +376,21 @@ if (LIBCXX_INSTALL_SHARED_LIBRARY)
+   install(TARGETS cxx_shared
+     ARCHIVE DESTINATION ${LIBCXX_INSTALL_LIBRARY_DIR} COMPONENT cxx
+     LIBRARY DESTINATION ${LIBCXX_INSTALL_LIBRARY_DIR} COMPONENT cxx
+-    RUNTIME DESTINATION bin COMPONENT cxx)
++    RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT cxx)
+ endif()
+ 
+ if (LIBCXX_INSTALL_STATIC_LIBRARY)
+   install(TARGETS cxx_static
+     ARCHIVE DESTINATION ${LIBCXX_INSTALL_LIBRARY_DIR} COMPONENT cxx
+     LIBRARY DESTINATION ${LIBCXX_INSTALL_LIBRARY_DIR} COMPONENT cxx
+-    RUNTIME DESTINATION bin COMPONENT cxx)
++    RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT cxx)
+ endif()
+ 
+ if(LIBCXX_INSTALL_EXPERIMENTAL_LIBRARY)
+   install(TARGETS cxx_experimental
+     LIBRARY DESTINATION ${LIBCXX_INSTALL_LIBRARY_DIR} COMPONENT cxx
+     ARCHIVE DESTINATION ${LIBCXX_INSTALL_LIBRARY_DIR} COMPONENT cxx
+-    RUNTIME DESTINATION bin COMPONENT cxx)
++    RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT cxx)
+ endif()
+ 
+ # NOTE: This install command must go after the cxx install command otherwise
diff --git a/nixpkgs/pkgs/development/compilers/llvm/13/libcxxabi/default.nix b/nixpkgs/pkgs/development/compilers/llvm/13/libcxxabi/default.nix
new file mode 100644
index 000000000000..7fadc6d6dcac
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/13/libcxxabi/default.nix
@@ -0,0 +1,76 @@
+{ lib, stdenv, llvm_meta, cmake, python3, src, libunwind, version
+, enableShared ? !stdenv.hostPlatform.isStatic
+, libcxx
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libcxxabi";
+  inherit version;
+
+  inherit src;
+  sourceRoot = "source/${pname}";
+
+  outputs = [ "out" "dev" ];
+
+  postUnpack = lib.optionalString stdenv.isDarwin ''
+    export TRIPLE=x86_64-apple-darwin
+  '' + lib.optionalString stdenv.hostPlatform.isMusl ''
+    patch -p1 -d libcxx -i ${../../libcxx-0001-musl-hacks.patch}
+  '' + lib.optionalString stdenv.hostPlatform.isWasm ''
+    patch -p1 -d llvm -i ${./wasm.patch}
+  '';
+
+  patches = [
+    ./gnu-install-dirs.patch
+  ];
+
+  nativeBuildInputs = [ cmake python3 ];
+  buildInputs = lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD && !stdenv.hostPlatform.isWasm) libunwind;
+
+  cmakeFlags = [
+    "-DLIBCXXABI_LIBCXX_INCLUDES=${libcxx.dev}/include/c++/v1"
+  ] ++ lib.optionals (stdenv.hostPlatform.useLLVM or false) [
+    "-DLLVM_ENABLE_LIBCXX=ON"
+    "-DLIBCXXABI_USE_LLVM_UNWINDER=ON"
+  ] ++ lib.optionals stdenv.hostPlatform.isWasm [
+    "-DLIBCXXABI_ENABLE_THREADS=OFF"
+    "-DLIBCXXABI_ENABLE_EXCEPTIONS=OFF"
+  ] ++ lib.optionals (!enableShared) [
+    "-DLIBCXXABI_ENABLE_SHARED=OFF"
+  ];
+
+  installPhase = if stdenv.isDarwin
+    then ''
+      for file in lib/*.dylib; do
+        # this should be done in CMake, but having trouble figuring out
+        # the magic combination of necessary CMake variables
+        # if you fancy a try, take a look at
+        # https://gitlab.kitware.com/cmake/community/-/wikis/doc/cmake/RPATH-handling
+        install_name_tool -id $out/$file $file
+      done
+      make install
+      install -d 755 $out/include
+      install -m 644 ../include/*.h $out/include
+    ''
+    else ''
+      install -d -m 755 $out/include $out/lib
+      install -m 644 lib/libc++abi.a $out/lib
+      install -m 644 ../include/cxxabi.h $out/include
+    '' + lib.optionalString enableShared ''
+      install -m 644 lib/libc++abi.so.1.0 $out/lib
+      ln -s libc++abi.so.1.0 $out/lib/libc++abi.so
+      ln -s libc++abi.so.1.0 $out/lib/libc++abi.so.1
+    '';
+
+  meta = llvm_meta // {
+    homepage = "https://libcxxabi.llvm.org/";
+    description = "Provides C++ standard library support";
+    longDescription = ''
+      libc++abi is a new implementation of low level support for a standard C++ library.
+    '';
+    # "All of the code in libc++abi is dual licensed under the MIT license and
+    # the UIUC License (a BSD-like license)":
+    license = with lib.licenses; [ mit ncsa ];
+    maintainers = llvm_meta.maintainers ++ [ lib.maintainers.vlstill ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/compilers/llvm/13/libcxxabi/gnu-install-dirs.patch b/nixpkgs/pkgs/development/compilers/llvm/13/libcxxabi/gnu-install-dirs.patch
new file mode 100644
index 000000000000..5d562dd59a99
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/13/libcxxabi/gnu-install-dirs.patch
@@ -0,0 +1,37 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 9fb35860d483..5739d9e8af62 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -27,6 +27,8 @@ set(LIBCXXABI_LIBCXX_PATH "${CMAKE_CURRENT_LIST_DIR}/../libcxx" CACHE PATH
+ if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR OR LIBCXXABI_STANDALONE_BUILD)
+   project(libcxxabi CXX C)
+ 
++  include(GNUInstallDirs)
++
+   set(PACKAGE_NAME libcxxabi)
+   set(PACKAGE_VERSION 11.0.0git)
+   set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
+@@ -195,7 +197,7 @@ set(CMAKE_MODULE_PATH
+ if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
+   set(LIBCXXABI_HEADER_DIR ${LLVM_BINARY_DIR})
+   set(LIBCXXABI_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}/${LLVM_DEFAULT_TARGET_TRIPLE})
+-  set(LIBCXXABI_INSTALL_LIBRARY_DIR lib${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE} CACHE PATH
++  set(LIBCXXABI_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE} CACHE PATH
+       "Path where built libc++abi libraries should be installed.")
+   if(LIBCXX_LIBDIR_SUBDIR)
+     string(APPEND LIBCXXABI_LIBRARY_DIR /${LIBCXXABI_LIBDIR_SUBDIR})
+@@ -204,12 +206,12 @@ if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
+ elseif(LLVM_LIBRARY_OUTPUT_INTDIR)
+   set(LIBCXXABI_HEADER_DIR ${LLVM_BINARY_DIR})
+   set(LIBCXXABI_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR})
+-  set(LIBCXXABI_INSTALL_LIBRARY_DIR lib${LIBCXXABI_LIBDIR_SUFFIX} CACHE PATH
++  set(LIBCXXABI_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LIBCXXABI_LIBDIR_SUFFIX} CACHE PATH
+       "Path where built libc++abi libraries should be installed.")
+ else()
+   set(LIBCXXABI_HEADER_DIR ${CMAKE_BINARY_DIR})
+   set(LIBCXXABI_LIBRARY_DIR ${CMAKE_BINARY_DIR}/lib${LIBCXXABI_LIBDIR_SUFFIX})
+-  set(LIBCXXABI_INSTALL_LIBRARY_DIR lib${LIBCXXABI_LIBDIR_SUFFIX} CACHE PATH
++  set(LIBCXXABI_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LIBCXXABI_LIBDIR_SUFFIX} CACHE PATH
+       "Path where built libc++abi libraries should be installed.")
+ endif()
+ 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/13/libcxxabi/wasm.patch b/nixpkgs/pkgs/development/compilers/llvm/13/libcxxabi/wasm.patch
new file mode 100644
index 000000000000..4ebfe46aa813
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/13/libcxxabi/wasm.patch
@@ -0,0 +1,16 @@
+diff --git a/cmake/modules/HandleLLVMOptions.cmake b/cmake/modules/HandleLLVMOptions.cmake
+index 15497d405e0..33f7f18193a 100644
+--- a/cmake/modules/HandleLLVMOptions.cmake
++++ b/cmake/modules/HandleLLVMOptions.cmake
+@@ -127,7 +127,10 @@ else(WIN32)
+       set(LLVM_HAVE_LINK_VERSION_SCRIPT 1)
+     endif()
+   else(FUCHSIA OR UNIX)
+-    MESSAGE(SEND_ERROR "Unable to determine platform")
++    if(${CMAKE_SYSTEM_NAME} MATCHES "Wasi")
++    else()
++      MESSAGE(SEND_ERROR "Unable to determine platform")
++    endif()
+   endif(FUCHSIA OR UNIX)
+ endif(WIN32)
+ 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/13/libunwind/default.nix b/nixpkgs/pkgs/development/compilers/llvm/13/libunwind/default.nix
new file mode 100644
index 000000000000..b6017e741728
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/13/libunwind/default.nix
@@ -0,0 +1,33 @@
+{ lib, stdenv, llvm_meta, version, src, cmake
+, enableShared ? !stdenv.hostPlatform.isStatic
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libunwind";
+  inherit version;
+
+  inherit src;
+  sourceRoot = "source/${pname}";
+
+  patches = [
+    ./gnu-install-dirs.patch
+  ];
+
+  outputs = [ "out" "dev" ];
+
+  nativeBuildInputs = [ cmake ];
+
+  cmakeFlags = lib.optional (!enableShared) "-DLIBUNWIND_ENABLE_SHARED=OFF";
+
+  meta = llvm_meta // {
+    # Details: https://github.com/llvm/llvm-project/blob/main/libunwind/docs/index.rst
+    homepage = "https://clang.llvm.org/docs/Toolchain.html#unwind-library";
+    description = "LLVM's unwinder library";
+    longDescription = ''
+      The unwind library provides a family of _Unwind_* functions implementing
+      the language-neutral stack unwinding portion of the Itanium C++ ABI (Level
+      I). It is a dependency of the C++ ABI library, and sometimes is a
+      dependency of other runtimes.
+    '';
+  };
+}
diff --git a/nixpkgs/pkgs/development/compilers/llvm/13/libunwind/gnu-install-dirs.patch b/nixpkgs/pkgs/development/compilers/llvm/13/libunwind/gnu-install-dirs.patch
new file mode 100644
index 000000000000..8cd25c56f8cc
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/13/libunwind/gnu-install-dirs.patch
@@ -0,0 +1,36 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 81eddbc24879..e2afb2002150 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -23,6 +23,8 @@ set(LIBUNWIND_LIBCXX_PATH "${CMAKE_CURRENT_LIST_DIR}/../libcxx" CACHE PATH
+ if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR OR LIBUNWIND_STANDALONE_BUILD)
+   project(libunwind LANGUAGES C CXX ASM)
+ 
++  include(GNUInstallDirs)
++
+   set(PACKAGE_NAME libunwind)
+   set(PACKAGE_VERSION 13.0.0git)
+   set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
+@@ -116,7 +118,7 @@ set(CMAKE_MODULE_PATH
+ 
+ if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
+   set(LIBUNWIND_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}/${LLVM_DEFAULT_TARGET_TRIPLE})
+-  set(LIBUNWIND_INSTALL_LIBRARY_DIR lib${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE} CACHE PATH
++  set(LIBUNWIND_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE} CACHE PATH
+       "Path where built libunwind libraries should be installed.")
+   if(LIBCXX_LIBDIR_SUBDIR)
+     string(APPEND LIBUNWIND_LIBRARY_DIR /${LIBUNWIND_LIBDIR_SUBDIR})
+@@ -124,11 +126,11 @@ if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
+   endif()
+ elseif(LLVM_LIBRARY_OUTPUT_INTDIR)
+   set(LIBUNWIND_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR})
+-  set(LIBUNWIND_INSTALL_LIBRARY_DIR lib${LIBUNWIND_LIBDIR_SUFFIX} CACHE PATH
++  set(LIBUNWIND_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX} CACHE PATH
+       "Path where built libunwind libraries should be installed.")
+ else()
+   set(LIBUNWIND_LIBRARY_DIR ${CMAKE_BINARY_DIR}/lib${LIBUNWIND_LIBDIR_SUFFIX})
+-  set(LIBUNWIND_INSTALL_LIBRARY_DIR lib${LIBUNWIND_LIBDIR_SUFFIX} CACHE PATH
++  set(LIBUNWIND_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX} CACHE PATH
+       "Path where built libunwind libraries should be installed.")
+ endif()
+ 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/13/lld/default.nix b/nixpkgs/pkgs/development/compilers/llvm/13/lld/default.nix
new file mode 100644
index 000000000000..34ac265f4bfd
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/13/lld/default.nix
@@ -0,0 +1,44 @@
+{ lib, stdenv, llvm_meta
+, buildLlvmTools
+, src
+, cmake
+, libxml2
+, libllvm
+, version
+}:
+
+stdenv.mkDerivation rec {
+  pname = "lld";
+  inherit version;
+
+  inherit src;
+  sourceRoot = "source/${pname}";
+
+  patches = [
+    ./gnu-install-dirs.patch
+  ];
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ libllvm libxml2 ];
+
+  cmakeFlags = [
+    "-DLLVM_CONFIG_PATH=${libllvm.dev}/bin/llvm-config${lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) "-native"}"
+  ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
+    "-DLLVM_TABLEGEN_EXE=${buildLlvmTools.llvm}/bin/llvm-tblgen"
+  ];
+
+  outputs = [ "out" "lib" "dev" ];
+
+  meta = llvm_meta // {
+    homepage = "https://lld.llvm.org/";
+    description = "The LLVM linker";
+    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
+      that are useful for toolchain developers.
+      The linker supports ELF (Unix), PE/COFF (Windows), Mach-O (macOS), and
+      WebAssembly in descending order of completeness. Internally, LLD consists
+      of several different linkers.
+    '';
+  };
+}
diff --git a/nixpkgs/pkgs/development/compilers/llvm/13/lld/gnu-install-dirs.patch b/nixpkgs/pkgs/development/compilers/llvm/13/lld/gnu-install-dirs.patch
new file mode 100644
index 000000000000..61e2f0e48653
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/13/lld/gnu-install-dirs.patch
@@ -0,0 +1,68 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index d4e561b50d8f..cfa5bdd79c2a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -6,6 +6,8 @@ if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
+   set(CMAKE_INCLUDE_CURRENT_DIR ON)
+   set(LLD_BUILT_STANDALONE TRUE)
+ 
++  include(GNUInstallDirs)
++
+   find_program(LLVM_CONFIG_PATH "llvm-config" DOC "Path to llvm-config binary")
+   if(NOT LLVM_CONFIG_PATH)
+     message(FATAL_ERROR "llvm-config not found: specify LLVM_CONFIG_PATH")
+@@ -179,7 +181,7 @@ include_directories(BEFORE
+ 
+ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
+   install(DIRECTORY include/
+-    DESTINATION include
++    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
+     FILES_MATCHING
+     PATTERN "*.h"
+     )
+diff --git a/cmake/modules/AddLLD.cmake b/cmake/modules/AddLLD.cmake
+index 23df41312403..d62372c88de7 100644
+--- a/cmake/modules/AddLLD.cmake
++++ b/cmake/modules/AddLLD.cmake
+@@ -20,9 +20,9 @@ macro(add_lld_library name)
+     install(TARGETS ${name}
+       COMPONENT ${name}
+       ${export_to_lldtargets}
+-      LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
+-      ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}
+-      RUNTIME DESTINATION bin)
++      LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}
++      ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}
++      RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+ 
+     if (${ARG_SHARED} AND NOT CMAKE_CONFIGURATION_TYPES)
+       add_llvm_install_targets(install-${name}
+@@ -54,7 +54,7 @@ macro(add_lld_tool name)
+ 
+     install(TARGETS ${name}
+       ${export_to_lldtargets}
+-      RUNTIME DESTINATION bin
++      RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+       COMPONENT ${name})
+ 
+     if(NOT CMAKE_CONFIGURATION_TYPES)
+@@ -69,5 +69,5 @@ endmacro()
+ macro(add_lld_symlink name dest)
+   add_llvm_tool_symlink(${name} ${dest} ALWAYS_GENERATE)
+   # Always generate install targets
+-  llvm_install_symlink(${name} ${dest} ALWAYS_GENERATE)
++  llvm_install_symlink(${name} ${dest} ${CMAKE_INSTALL_FULL_BINDIR} ALWAYS_GENERATE)
+ endmacro()
+diff --git a/tools/lld/CMakeLists.txt b/tools/lld/CMakeLists.txt
+index 5cff736ff57f..64e775c771b9 100644
+--- a/tools/lld/CMakeLists.txt
++++ b/tools/lld/CMakeLists.txt
+@@ -21,7 +21,7 @@ target_link_libraries(lld
+   )
+ 
+ install(TARGETS lld
+-  RUNTIME DESTINATION bin)
++  RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+ 
+ if(NOT LLD_SYMLINKS_TO_CREATE)
+   set(LLD_SYMLINKS_TO_CREATE
diff --git a/nixpkgs/pkgs/development/compilers/llvm/13/lldb/default.nix b/nixpkgs/pkgs/development/compilers/llvm/13/lldb/default.nix
new file mode 100644
index 000000000000..96d8b19ee419
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/13/lldb/default.nix
@@ -0,0 +1,139 @@
+{ lib, stdenv, llvm_meta
+, runCommand
+, src
+, cmake
+, zlib
+, ncurses
+, swig
+, which
+, libedit
+, libxml2
+, libllvm
+, libclang
+, python3
+, version
+, libobjc
+, xpc
+, Foundation
+, bootstrap_cmds
+, Carbon
+, Cocoa
+, lit
+, makeWrapper
+, enableManpages ? false
+}:
+
+stdenv.mkDerivation (rec {
+  pname = "lldb";
+  inherit version;
+
+  inherit src;
+  sourceRoot = "source/${pname}";
+
+  patches = [
+    ./procfs.patch
+    (runCommand "resource-dir.patch" {
+      clangLibDir = "${libclang.lib}/lib";
+    } ''
+      substitute '${./resource-dir.patch}' "$out" --subst-var clangLibDir
+    '')
+    ./gnu-install-dirs.patch
+  ];
+
+  outputs = [ "out" "lib" "dev" ];
+
+  nativeBuildInputs = [
+    cmake python3 which swig lit makeWrapper
+  ] ++ lib.optionals enableManpages [
+    python3.pkgs.sphinx python3.pkgs.recommonmark
+  ];
+
+  buildInputs = [
+    ncurses
+    zlib
+    libedit
+    libxml2
+    libllvm
+  ] ++ lib.optionals stdenv.isDarwin [
+    libobjc
+    xpc
+    Foundation
+    bootstrap_cmds
+    Carbon
+    Cocoa
+  ];
+
+  hardeningDisable = [ "format" ];
+
+  cmakeFlags = [
+    "-DLLDB_INCLUDE_TESTS=${if doCheck then "YES" else "NO"}"
+    "-DLLVM_ENABLE_RTTI=OFF"
+    "-DClang_DIR=${libclang.dev}/lib/cmake"
+    "-DLLVM_EXTERNAL_LIT=${lit}/bin/lit"
+  ] ++ lib.optionals stdenv.isDarwin [
+    "-DLLDB_USE_SYSTEM_DEBUGSERVER=ON"
+  ] ++ lib.optionals (!stdenv.isDarwin) [
+    "-DLLDB_CODESIGN_IDENTITY=" # codesigning makes nondeterministic
+  ] ++ lib.optionals enableManpages [
+    "-DLLVM_ENABLE_SPHINX=ON"
+    "-DSPHINX_OUTPUT_MAN=ON"
+    "-DSPHINX_OUTPUT_HTML=OFF"
+  ] ++ lib.optionals doCheck [
+    "-DLLDB_TEST_C_COMPILER=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc"
+    "-DLLDB_TEST_CXX_COMPILER=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}c++"
+  ];
+
+  doCheck = false;
+
+  installCheckPhase = ''
+    if [ ! -e "$lib/${python3.sitePackages}/lldb/_lldb.so" ] ; then
+        return 1;
+    fi
+  '';
+
+  postInstall = ''
+    wrapProgram $out/bin/lldb --prefix PYTHONPATH : $lib/${python3.sitePackages}/
+
+    # Editor support
+    # vscode:
+    install -D ../tools/lldb-vscode/package.json $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/package.json
+    mkdir -p $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin
+    ln -s $out/bin/lldb-vscode $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin
+  '';
+
+  meta = llvm_meta // {
+    homepage = "https://lldb.llvm.org/";
+    description = "A next-generation high-performance debugger";
+    longDescription = ''
+      LLDB is a next generation, high-performance debugger. It is built as a set
+      of reusable components which highly leverage existing libraries in the
+      larger LLVM Project, such as the Clang expression parser and LLVM
+      disassembler.
+    '';
+  };
+} // lib.optionalAttrs enableManpages {
+  pname = "lldb-manpages";
+
+  buildPhase = ''
+    make docs-lldb-man
+  '';
+
+  propagatedBuildInputs = [];
+
+  # manually install lldb man page
+  installPhase = ''
+    mkdir -p $out/share/man/man1
+    install docs/man/lldb.1 -t $out/share/man/man1/
+  '';
+
+  postPatch = null;
+  postInstall = null;
+
+  outputs = [ "out" ];
+
+  doCheck = false;
+
+  meta = llvm_meta // {
+    description = "man pages for LLDB ${version}";
+  };
+})
diff --git a/nixpkgs/pkgs/development/compilers/llvm/13/lldb/gnu-install-dirs.patch b/nixpkgs/pkgs/development/compilers/llvm/13/lldb/gnu-install-dirs.patch
new file mode 100644
index 000000000000..afc945ce2614
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/13/lldb/gnu-install-dirs.patch
@@ -0,0 +1,91 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b5633e21c56a..f2f1035e9238 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -10,6 +10,8 @@ set(CMAKE_MODULE_PATH
+ # If we are not building as part of LLVM, build LLDB as a standalone project,
+ # using LLVM as an external library.
+ if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
++  include(GNUInstallDirs)
++
+   project(lldb)
+   include(LLDBStandalone)
+ 
+diff --git a/cmake/modules/AddLLDB.cmake b/cmake/modules/AddLLDB.cmake
+index 4ed5c647c5d2..89f96e710d55 100644
+--- a/cmake/modules/AddLLDB.cmake
++++ b/cmake/modules/AddLLDB.cmake
+@@ -107,13 +107,13 @@ function(add_lldb_library name)
+   endif()
+ 
+   if(PARAM_SHARED)
+-    set(install_dest lib${LLVM_LIBDIR_SUFFIX})
++    set(install_dest ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX})
+     if(PARAM_INSTALL_PREFIX)
+       set(install_dest ${PARAM_INSTALL_PREFIX})
+     endif()
+     # RUNTIME is relevant for DLL platforms, FRAMEWORK for macOS
+     install(TARGETS ${name} COMPONENT ${name}
+-      RUNTIME DESTINATION bin
++      RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+       LIBRARY DESTINATION ${install_dest}
+       ARCHIVE DESTINATION ${install_dest}
+       FRAMEWORK DESTINATION ${install_dest})
+diff --git a/cmake/modules/LLDBConfig.cmake b/cmake/modules/LLDBConfig.cmake
+index 2fdf1502d055..37364341ff8b 100644
+--- a/cmake/modules/LLDBConfig.cmake
++++ b/cmake/modules/LLDBConfig.cmake
+@@ -225,7 +225,7 @@ include_directories(BEFORE
+ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
+   install(DIRECTORY include/
+     COMPONENT lldb-headers
+-    DESTINATION include
++    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
+     FILES_MATCHING
+     PATTERN "*.h"
+     PATTERN ".cmake" EXCLUDE
+@@ -233,7 +233,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
+ 
+   install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/
+     COMPONENT lldb-headers
+-    DESTINATION include
++    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
+     FILES_MATCHING
+     PATTERN "*.h"
+     PATTERN ".cmake" EXCLUDE
+diff --git a/tools/intel-features/CMakeLists.txt b/tools/intel-features/CMakeLists.txt
+index 734167e51bc5..f95761b5df58 100644
+--- a/tools/intel-features/CMakeLists.txt
++++ b/tools/intel-features/CMakeLists.txt
+@@ -65,4 +65,4 @@ if (LLDB_ENABLE_PYTHON AND LLDB_BUILD_INTEL_PT)
+ endif()
+ 
+ install(TARGETS lldbIntelFeatures
+-  LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX})
++  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX})
+diff --git a/cmake/modules/LLDBStandalone.cmake b/cmake/modules/LLDBStandalone.cmake
+index 752113b..010f187 100644
+--- a/cmake/modules/LLDBStandalone.cmake
++++ b/cmake/modules/LLDBStandalone.cmake
+@@ -62,7 +62,7 @@ endif()
+
+ # They are used as destination of target generators.
+ set(LLVM_RUNTIME_OUTPUT_INTDIR ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin)
+-set(LLVM_LIBRARY_OUTPUT_INTDIR ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX})
++set(LLVM_LIBRARY_OUTPUT_INTDIR ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX})
+ if(WIN32 OR CYGWIN)
+   # DLL platform -- put DLLs into bin.
+   set(LLVM_SHLIB_OUTPUT_INTDIR ${LLVM_RUNTIME_OUTPUT_INTDIR})
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b5633e2..86e4738 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -79,7 +79,7 @@ if (LLDB_ENABLE_PYTHON)
+   if(LLDB_BUILD_FRAMEWORK)
+     set(lldb_python_target_dir "${LLDB_FRAMEWORK_ABSOLUTE_BUILD_DIR}/LLDB.framework/Resources/Python/lldb")
+   else()
+-    set(lldb_python_target_dir "${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${LLDB_PYTHON_RELATIVE_PATH}/lldb")
++    set(lldb_python_target_dir "${CMAKE_INSTALL_LIBDIR}/../${LLDB_PYTHON_RELATIVE_PATH}/lldb")
+   endif()
+   get_target_property(lldb_python_bindings_dir swig_wrapper_python BINARY_DIR)
+   finish_swig_python("lldb-python" "${lldb_python_bindings_dir}" "${lldb_python_target_dir}")
diff --git a/nixpkgs/pkgs/development/compilers/llvm/13/lldb/procfs.patch b/nixpkgs/pkgs/development/compilers/llvm/13/lldb/procfs.patch
new file mode 100644
index 000000000000..b075dbaeee0a
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/13/lldb/procfs.patch
@@ -0,0 +1,31 @@
+--- a/source/Plugins/Process/Linux/Procfs.h
++++ b/source/Plugins/Process/Linux/Procfs.h
+@@ -11,21 +11,12 @@
+ // sys/procfs.h on Android/Linux for all supported architectures.
+ 
+ #include <sys/ptrace.h>
++#include <asm/ptrace.h>
+ 
+-#ifdef __ANDROID__
+-#if defined(__arm64__) || defined(__aarch64__)
+-typedef unsigned long elf_greg_t;
+-typedef elf_greg_t
+-    elf_gregset_t[(sizeof(struct user_pt_regs) / sizeof(elf_greg_t))];
+-typedef struct user_fpsimd_state elf_fpregset_t;
+-#ifndef NT_FPREGSET
+-#define NT_FPREGSET NT_PRFPREG
+-#endif // NT_FPREGSET
+-#elif defined(__mips__)
+-#ifndef NT_FPREGSET
+-#define NT_FPREGSET NT_PRFPREG
+-#endif // NT_FPREGSET
+-#endif
+-#else // __ANDROID__
++#if !defined(__GLIBC__) && defined(__powerpc__)
++#define pt_regs musl_pt_regs
++#include <sys/procfs.h>
++#undef pt_regs
++#else
+ #include <sys/procfs.h>
+-#endif // __ANDROID__
++#endif
diff --git a/nixpkgs/pkgs/development/compilers/llvm/13/lldb/resource-dir.patch b/nixpkgs/pkgs/development/compilers/llvm/13/lldb/resource-dir.patch
new file mode 100644
index 000000000000..e0db80afeb9f
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/13/lldb/resource-dir.patch
@@ -0,0 +1,13 @@
+diff --git a/lldb/cmake/modules/LLDBConfig.cmake b/lldb/cmake/modules/LLDBConfig.cmake
+index 37364341ff8b..7f74c1a3e257 100644
+--- a/cmake/modules/LLDBConfig.cmake
++++ b/cmake/modules/LLDBConfig.cmake
+@@ -257,7 +257,7 @@ if (NOT TARGET clang-resource-headers)
+   # Iterate over the possible places where the external resource directory
+   # could be and pick the first that exists.
+   foreach(CANDIDATE "${Clang_DIR}/../.." "${LLVM_DIR}" "${LLVM_LIBRARY_DIRS}"
+-                    "${LLVM_BUILD_LIBRARY_DIR}"
++                    "${LLVM_BUILD_LIBRARY_DIR}" "@clangLibDir@"
+                     "${LLVM_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}")
+     # Build the resource directory path by appending 'clang/<version number>'.
+     set(CANDIDATE_RESOURCE_DIR "${CANDIDATE}/clang/${LLDB_CLANG_RESOURCE_DIR_NAME}")
diff --git a/nixpkgs/pkgs/development/compilers/llvm/13/llvm/default.nix b/nixpkgs/pkgs/development/compilers/llvm/13/llvm/default.nix
new file mode 100644
index 000000000000..a15bcc872a6d
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/13/llvm/default.nix
@@ -0,0 +1,224 @@
+{ lib, stdenv, llvm_meta
+, pkgsBuildBuild
+, src
+, fetchpatch
+, cmake
+, python3
+, libffi
+, libbfd
+, libpfm
+, libxml2
+, ncurses
+, version
+, release_version
+, zlib
+, which
+, buildLlvmTools
+, debugVersion ? false
+, enableManpages ? false
+, enableSharedLibraries ? !stdenv.hostPlatform.isStatic
+, enablePFM ? !(stdenv.isDarwin
+  || stdenv.isAarch64 # broken for Ampere eMAG 8180 (c2.large.arm on Packet) #56245
+  || stdenv.isAarch32 # broken for the armv7l builder
+)
+, enablePolly ? false
+}:
+
+let
+  inherit (lib) optional optionals optionalString;
+
+  # Used when creating a version-suffixed symlink of libLLVM.dylib
+  shortVersion = with lib;
+    concatStringsSep "." (take 1 (splitString "." release_version));
+
+in stdenv.mkDerivation (rec {
+  pname = "llvm";
+  inherit version;
+
+  inherit src;
+  sourceRoot = "source/${pname}";
+
+  outputs = [ "out" "lib" "dev" "python" ];
+
+  nativeBuildInputs = [ cmake python3 ]
+    ++ optionals enableManpages [ python3.pkgs.sphinx python3.pkgs.recommonmark ];
+
+  buildInputs = [ libxml2 libffi ]
+    ++ optional enablePFM libpfm; # exegesis
+
+  propagatedBuildInputs = [ ncurses zlib ];
+
+  checkInputs = [ which ];
+
+  patches = [
+    ./gnu-install-dirs.patch
+
+    # Fix random compiler crashes: https://bugs.llvm.org/show_bug.cgi?id=50611
+    (fetchpatch {
+      url = "https://raw.githubusercontent.com/archlinux/svntogit-packages/4764a4f8c920912a2bfd8b0eea57273acfe0d8a8/trunk/no-strict-aliasing-DwarfCompileUnit.patch";
+      sha256 = "18l6mrvm2vmwm77ckcnbjvh6ybvn72rhrb799d4qzwac4x2ifl7g";
+      stripLen = 1;
+    })
+  ] ++ lib.optional enablePolly ./gnu-install-dirs-polly.patch;
+
+  postPatch = optionalString stdenv.isDarwin ''
+    substituteInPlace cmake/modules/AddLLVM.cmake \
+      --replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir)" \
+      --replace 'set(_install_rpath "@loader_path/../''${CMAKE_INSTALL_LIBDIR}''${LLVM_LIBDIR_SUFFIX}" ''${extra_libdir})' ""
+  ''
+  # Patch llvm-config to return correct library path based on --link-{shared,static}.
+  + optionalString (enableSharedLibraries) ''
+    substitute '${./outputs.patch}' ./outputs.patch --subst-var lib
+    patch -p1 < ./outputs.patch
+  '' + ''
+    # FileSystem permissions tests fail with various special bits
+    substituteInPlace unittests/Support/CMakeLists.txt \
+      --replace "Path.cpp" ""
+    rm unittests/Support/Path.cpp
+    substituteInPlace unittests/IR/CMakeLists.txt \
+      --replace "PassBuilderCallbacksTest.cpp" ""
+    rm unittests/IR/PassBuilderCallbacksTest.cpp
+    rm test/tools/llvm-objcopy/ELF/mirror-permissions-unix.test
+  '' + optionalString stdenv.hostPlatform.isMusl ''
+    patch -p1 -i ${../../TLI-musl.patch}
+    substituteInPlace unittests/Support/CMakeLists.txt \
+      --replace "add_subdirectory(DynamicLibrary)" ""
+    rm unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp
+    # valgrind unhappy with musl or glibc, but fails w/musl only
+    rm test/CodeGen/AArch64/wineh4.mir
+  '' + optionalString stdenv.hostPlatform.isAarch32 ''
+    # skip failing X86 test cases on 32-bit ARM
+    rm test/DebugInfo/X86/convert-debugloc.ll
+    rm test/DebugInfo/X86/convert-inlined.ll
+    rm test/DebugInfo/X86/convert-linked.ll
+    rm test/tools/dsymutil/X86/op-convert.test
+  '' + optionalString (stdenv.hostPlatform.system == "armv6l-linux") ''
+    # Seems to require certain floating point hardware (NEON?)
+    rm test/ExecutionEngine/frem.ll
+  '' + ''
+    patchShebangs test/BugPoint/compile-custom.ll.py
+  '';
+
+  # hacky fix: created binaries need to be run before installation
+  preBuild = ''
+    mkdir -p $out/
+    ln -sv $PWD/lib $out
+  '';
+
+  # E.g. mesa.drivers use the build-id as a cache key (see #93946):
+  LDFLAGS = optionalString (enableSharedLibraries && !stdenv.isDarwin) "-Wl,--build-id=sha1";
+
+  cmakeFlags = with stdenv; [
+    "-DLLVM_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake/llvm/"
+    "-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}"
+    "-DLLVM_INSTALL_UTILS=ON"  # Needed by rustc
+    "-DLLVM_BUILD_TESTS=ON"
+    "-DLLVM_ENABLE_FFI=ON"
+    "-DLLVM_ENABLE_RTTI=ON"
+    "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}"
+    "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}"
+    "-DLLVM_ENABLE_DUMP=ON"
+  ] ++ optionals enableSharedLibraries [
+    "-DLLVM_LINK_LLVM_DYLIB=ON"
+  ] ++ optionals enableManpages [
+    "-DLLVM_BUILD_DOCS=ON"
+    "-DLLVM_ENABLE_SPHINX=ON"
+    "-DSPHINX_OUTPUT_MAN=ON"
+    "-DSPHINX_OUTPUT_HTML=OFF"
+    "-DSPHINX_WARNINGS_AS_ERRORS=OFF"
+  ] ++ optionals (!isDarwin) [
+    "-DLLVM_BINUTILS_INCDIR=${libbfd.dev}/include"
+  ] ++ optionals isDarwin [
+    "-DLLVM_ENABLE_LIBCXX=ON"
+    "-DCAN_TARGET_i386=false"
+  ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
+    "-DCMAKE_CROSSCOMPILING=True"
+    "-DLLVM_TABLEGEN=${buildLlvmTools.llvm}/bin/llvm-tblgen"
+    (
+      let
+        nativeCC = pkgsBuildBuild.targetPackages.stdenv.cc;
+        nativeBintools = nativeCC.bintools.bintools;
+        nativeToolchainFlags = [
+          "-DCMAKE_C_COMPILER=${nativeCC}/bin/${nativeCC.targetPrefix}cc"
+          "-DCMAKE_CXX_COMPILER=${nativeCC}/bin/${nativeCC.targetPrefix}c++"
+          "-DCMAKE_AR=${nativeBintools}/bin/${nativeBintools.targetPrefix}ar"
+          "-DCMAKE_STRIP=${nativeBintools}/bin/${nativeBintools.targetPrefix}strip"
+          "-DCMAKE_RANLIB=${nativeBintools}/bin/${nativeBintools.targetPrefix}ranlib"
+        ];
+      in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list=${lib.concatStringsSep ";" nativeToolchainFlags}"
+    )
+  ];
+
+  postBuild = ''
+    rm -fR $out
+  '';
+
+  preCheck = ''
+    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}$PWD/lib
+  '';
+
+  postInstall = ''
+    mkdir -p $python/share
+    mv $out/share/opt-viewer $python/share/opt-viewer
+    moveToOutput "bin/llvm-config*" "$dev"
+    substituteInPlace "$dev/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake" \
+      --replace "\''${_IMPORT_PREFIX}/lib/lib" "$lib/lib/lib" \
+      --replace "$out/bin/llvm-config" "$dev/bin/llvm-config"
+    substituteInPlace "$dev/lib/cmake/llvm/LLVMConfig.cmake" \
+      --replace 'set(LLVM_BINARY_DIR "''${LLVM_INSTALL_PREFIX}")' 'set(LLVM_BINARY_DIR "''${LLVM_INSTALL_PREFIX}'"$lib"'")'
+  ''
+  + optionalString (stdenv.isDarwin && enableSharedLibraries) ''
+    ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${shortVersion}.dylib
+    ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${release_version}.dylib
+  ''
+  + optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
+    cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native
+  '';
+
+  doCheck = stdenv.isLinux && (!stdenv.isx86_32) && (!stdenv.hostPlatform.isMusl);
+
+  checkTarget = "check-all";
+
+  requiredSystemFeatures = [ "big-parallel" ];
+  meta = llvm_meta // {
+    homepage = "https://llvm.org/";
+    description = "A collection of modular and reusable compiler and toolchain technologies";
+    longDescription = ''
+      The LLVM Project is a collection of modular and reusable compiler and
+      toolchain technologies. Despite its name, LLVM has little to do with
+      traditional virtual machines. The name "LLVM" itself is not an acronym; it
+      is the full name of the project.
+      LLVM began as a research project at the University of Illinois, with the
+      goal of providing a modern, SSA-based compilation strategy capable of
+      supporting both static and dynamic compilation of arbitrary programming
+      languages. Since then, LLVM has grown to be an umbrella project consisting
+      of a number of subprojects, many of which are being used in production by
+      a wide variety of commercial and open source projects as well as being
+      widely used in academic research. Code in the LLVM project is licensed
+      under the "Apache 2.0 License with LLVM exceptions".
+    '';
+  };
+} // lib.optionalAttrs enableManpages {
+  pname = "llvm-manpages";
+
+  buildPhase = ''
+    make docs-llvm-man
+  '';
+
+  propagatedBuildInputs = [];
+
+  installPhase = ''
+    make -C docs install
+  '';
+
+  postPatch = null;
+  postInstall = null;
+
+  outputs = [ "out" ];
+
+  doCheck = false;
+
+  meta = llvm_meta // {
+    description = "man pages for LLVM ${version}";
+  };
+})
diff --git a/nixpkgs/pkgs/development/compilers/llvm/13/llvm/gnu-install-dirs-polly.patch b/nixpkgs/pkgs/development/compilers/llvm/13/llvm/gnu-install-dirs-polly.patch
new file mode 100644
index 000000000000..68f3c45396f6
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/13/llvm/gnu-install-dirs-polly.patch
@@ -0,0 +1,105 @@
+diff --git a/tools/polly/CMakeLists.txt b/tools/polly/CMakeLists.txt
+index ca7c04c565bb..6ed5db5dd4f8 100644
+--- a/tools/polly/CMakeLists.txt
++++ b/tools/polly/CMakeLists.txt
+@@ -2,7 +2,11 @@
+ if (NOT DEFINED LLVM_MAIN_SRC_DIR)
+   project(Polly)
+   cmake_minimum_required(VERSION 3.13.4)
++endif()
++
++include(GNUInstallDirs)
+ 
++if (NOT DEFINED LLVM_MAIN_SRC_DIR)
+   # Where is LLVM installed?
+   find_package(LLVM CONFIG REQUIRED)
+   set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${LLVM_CMAKE_DIR})
+@@ -122,13 +126,13 @@ include_directories(
+ 
+ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
+   install(DIRECTORY include/
+-    DESTINATION include
++    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
+     FILES_MATCHING
+     PATTERN "*.h"
+     )
+ 
+   install(DIRECTORY ${POLLY_BINARY_DIR}/include/
+-    DESTINATION include
++    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
+     FILES_MATCHING
+     PATTERN "*.h"
+     PATTERN "CMakeFiles" EXCLUDE
+diff --git a/tools/polly/cmake/CMakeLists.txt b/tools/polly/cmake/CMakeLists.txt
+index 7cc129ba2e90..137be25e4b80 100644
+--- a/tools/polly/cmake/CMakeLists.txt
++++ b/tools/polly/cmake/CMakeLists.txt
+@@ -79,18 +79,18 @@ file(GENERATE
+ 
+ # Generate PollyConfig.cmake for the install tree.
+ unset(POLLY_EXPORTS)
+-set(POLLY_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
++set(POLLY_INSTALL_PREFIX "")
+ set(POLLY_CONFIG_LLVM_CMAKE_DIR "${LLVM_BINARY_DIR}/${LLVM_INSTALL_PACKAGE_DIR}")
+-set(POLLY_CONFIG_CMAKE_DIR "${POLLY_INSTALL_PREFIX}/${POLLY_INSTALL_PACKAGE_DIR}")
+-set(POLLY_CONFIG_LIBRARY_DIRS "${POLLY_INSTALL_PREFIX}/lib${LLVM_LIBDIR_SUFFIX}")
++set(POLLY_CONFIG_CMAKE_DIR "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_PREFIX}/${POLLY_INSTALL_PACKAGE_DIR}")
++set(POLLY_CONFIG_LIBRARY_DIRS "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_LIBDIR}${LLVM_LIBDIR_SUFFIX}")
+ if (POLLY_BUNDLED_ISL)
+   set(POLLY_CONFIG_INCLUDE_DIRS
+-    "${POLLY_INSTALL_PREFIX}/include"
+-    "${POLLY_INSTALL_PREFIX}/include/polly"
++    "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_LIBDIR}"
++    "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_LIBDIR}/polly"
+     )
+ else()
+   set(POLLY_CONFIG_INCLUDE_DIRS
+-    "${POLLY_INSTALL_PREFIX}/include"
++    "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_INCLUDEDIR}"
+     ${ISL_INCLUDE_DIRS}
+     )
+ endif()
+@@ -100,12 +100,12 @@ endif()
+ foreach(tgt IN LISTS POLLY_CONFIG_EXPORTED_TARGETS)
+   get_target_property(tgt_type ${tgt} TYPE)
+   if (tgt_type STREQUAL "EXECUTABLE")
+-    set(tgt_prefix "bin/")
++    set(tgt_prefix "${CMAKE_INSTALL_BINDIR}/")
+   else()
+-    set(tgt_prefix "lib/")
++    set(tgt_prefix "${CMAKE_INSTALL_LIBDIR}/")
+   endif()
+ 
+-  set(tgt_path "${CMAKE_INSTALL_PREFIX}/${tgt_prefix}$<TARGET_FILE_NAME:${tgt}>")
++  set(tgt_path "${tgt_prefix}$<TARGET_FILE_NAME:${tgt}>")
+   file(RELATIVE_PATH tgt_path ${POLLY_CONFIG_CMAKE_DIR} ${tgt_path})
+ 
+   if (NOT tgt_type STREQUAL "INTERFACE_LIBRARY")
+diff --git a/tools/polly/cmake/polly_macros.cmake b/tools/polly/cmake/polly_macros.cmake
+index 518a09b45a42..bd9d6f5542ad 100644
+--- a/tools/polly/cmake/polly_macros.cmake
++++ b/tools/polly/cmake/polly_macros.cmake
+@@ -44,8 +44,8 @@ macro(add_polly_library name)
+   if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ${name} STREQUAL "LLVMPolly")
+     install(TARGETS ${name}
+       EXPORT LLVMExports
+-      LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
+-      ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX})
++	  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}
++      ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX})
+   endif()
+   set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name})
+ endmacro(add_polly_library)
+diff --git a/tools/polly/lib/External/CMakeLists.txt b/tools/polly/lib/External/CMakeLists.txt
+index 8991094d92c7..178d8ad606bb 100644
+--- a/tools/polly/lib/External/CMakeLists.txt
++++ b/tools/polly/lib/External/CMakeLists.txt
+@@ -275,7 +275,7 @@ if (POLLY_BUNDLED_ISL)
+     install(DIRECTORY
+       ${ISL_SOURCE_DIR}/include/
+       ${ISL_BINARY_DIR}/include/
+-      DESTINATION include/polly
++      DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/polly
+       FILES_MATCHING
+       PATTERN "*.h"
+       PATTERN "CMakeFiles" EXCLUDE
diff --git a/nixpkgs/pkgs/development/compilers/llvm/13/llvm/gnu-install-dirs.patch b/nixpkgs/pkgs/development/compilers/llvm/13/llvm/gnu-install-dirs.patch
new file mode 100644
index 000000000000..18fa5fc6d89c
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/13/llvm/gnu-install-dirs.patch
@@ -0,0 +1,381 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 135036f509d2..265c36f8211b 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -270,15 +270,21 @@ if (CMAKE_BUILD_TYPE AND
+   message(FATAL_ERROR "Invalid value for CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}")
+ endif()
+ 
++include(GNUInstallDirs)
++
+ set(LLVM_LIBDIR_SUFFIX "" CACHE STRING "Define suffix of library directory name (32/64)" )
+ 
+-set(LLVM_TOOLS_INSTALL_DIR "bin" CACHE STRING "Path for binary subdirectory (defaults to 'bin')")
++set(LLVM_TOOLS_INSTALL_DIR "${CMAKE_INSTALL_BINDIR}" CACHE STRING
++    "Path for binary subdirectory (defaults to 'bin')")
+ mark_as_advanced(LLVM_TOOLS_INSTALL_DIR)
+ 
+ set(LLVM_UTILS_INSTALL_DIR "${LLVM_TOOLS_INSTALL_DIR}" CACHE STRING
+     "Path to install LLVM utilities (enabled by LLVM_INSTALL_UTILS=ON) (defaults to LLVM_TOOLS_INSTALL_DIR)")
+ mark_as_advanced(LLVM_UTILS_INSTALL_DIR)
+ 
++set(LLVM_INSTALL_CMAKE_DIR "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/cmake/llvm" CACHE STRING
++	"Path for CMake subdirectory (defaults to lib/cmake/llvm)" )
++
+ # They are used as destination of target generators.
+ set(LLVM_RUNTIME_OUTPUT_INTDIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin)
+ set(LLVM_LIBRARY_OUTPUT_INTDIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX})
+@@ -581,9 +587,9 @@ option (LLVM_ENABLE_SPHINX "Use Sphinx to generate llvm documentation." OFF)
+ option (LLVM_ENABLE_OCAMLDOC "Build OCaml bindings documentation." ON)
+ option (LLVM_ENABLE_BINDINGS "Build bindings." ON)
+ 
+-set(LLVM_INSTALL_DOXYGEN_HTML_DIR "share/doc/llvm/doxygen-html"
++set(LLVM_INSTALL_DOXYGEN_HTML_DIR "${CMAKE_INSTALL_DOCDIR}/${project}/doxygen-html"
+     CACHE STRING "Doxygen-generated HTML documentation install directory")
+-set(LLVM_INSTALL_OCAMLDOC_HTML_DIR "share/doc/llvm/ocaml-html"
++set(LLVM_INSTALL_OCAMLDOC_HTML_DIR "${CMAKE_INSTALL_DOCDIR}/${project}/ocaml-html"
+     CACHE STRING "OCamldoc-generated HTML documentation install directory")
+ 
+ option (LLVM_BUILD_EXTERNAL_COMPILER_RT
+@@ -1048,7 +1054,7 @@ endif()
+ 
+ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
+   install(DIRECTORY include/llvm include/llvm-c
+-    DESTINATION include
++    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
+     COMPONENT llvm-headers
+     FILES_MATCHING
+     PATTERN "*.def"
+@@ -1059,7 +1065,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
+     )
+ 
+   install(DIRECTORY ${LLVM_INCLUDE_DIR}/llvm ${LLVM_INCLUDE_DIR}/llvm-c
+-    DESTINATION include
++    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
+     COMPONENT llvm-headers
+     FILES_MATCHING
+     PATTERN "*.def"
+@@ -1073,13 +1079,13 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
+ 
+   if (LLVM_INSTALL_MODULEMAPS)
+     install(DIRECTORY include/llvm include/llvm-c
+-            DESTINATION include
++            DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
+             COMPONENT llvm-headers
+             FILES_MATCHING
+             PATTERN "module.modulemap"
+             )
+     install(FILES include/llvm/module.install.modulemap
+-            DESTINATION include/llvm
++            DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/llvm
+             COMPONENT llvm-headers
+             RENAME "module.extern.modulemap"
+             )
+diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake
+index 9c2b85374307..5531ceeb2eeb 100644
+--- a/cmake/modules/AddLLVM.cmake
++++ b/cmake/modules/AddLLVM.cmake
+@@ -818,9 +818,9 @@ macro(add_llvm_library name)
+       get_target_export_arg(${name} LLVM export_to_llvmexports ${umbrella})
+       install(TARGETS ${name}
+               ${export_to_llvmexports}
+-              LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} COMPONENT ${name}
+-              ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX} COMPONENT ${name}
+-              RUNTIME DESTINATION bin COMPONENT ${name})
++              LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX} COMPONENT ${name}
++              ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX} COMPONENT ${name}
++              RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT ${name})
+ 
+       if (NOT LLVM_ENABLE_IDE)
+         add_llvm_install_targets(install-${name}
+@@ -1036,7 +1036,7 @@ function(process_llvm_pass_plugins)
+           "set(LLVM_STATIC_EXTENSIONS ${LLVM_STATIC_EXTENSIONS})")
+       install(FILES
+           ${llvm_cmake_builddir}/LLVMConfigExtensions.cmake
+-          DESTINATION ${LLVM_INSTALL_PACKAGE_DIR}
++          DESTINATION ${LLVM_INSTALL_CMAKE_DIR}
+           COMPONENT cmake-exports)
+ 
+       set(ExtensionDef "${LLVM_BINARY_DIR}/include/llvm/Support/Extension.def")
+@@ -1250,7 +1250,7 @@ macro(add_llvm_example name)
+   endif()
+   add_llvm_executable(${name} ${ARGN})
+   if( LLVM_BUILD_EXAMPLES )
+-    install(TARGETS ${name} RUNTIME DESTINATION examples)
++    install(TARGETS ${name} RUNTIME DESTINATION ${CMAKE_INSTALL_DOCDIR}/examples)
+   endif()
+   set_target_properties(${name} PROPERTIES FOLDER "Examples")
+ endmacro(add_llvm_example name)
+@@ -1868,7 +1868,7 @@ function(llvm_install_library_symlink name dest type)
+   set(full_name ${CMAKE_${type}_LIBRARY_PREFIX}${name}${CMAKE_${type}_LIBRARY_SUFFIX})
+   set(full_dest ${CMAKE_${type}_LIBRARY_PREFIX}${dest}${CMAKE_${type}_LIBRARY_SUFFIX})
+ 
+-  set(output_dir lib${LLVM_LIBDIR_SUFFIX})
++  set(output_dir ${CMAKE_INSTALL_FULL_LIBDIR}${LLVM_LIBDIR_SUFFIX})
+   if(WIN32 AND "${type}" STREQUAL "SHARED")
+     set(output_dir bin)
+   endif()
+@@ -1879,7 +1879,7 @@ function(llvm_install_library_symlink name dest type)
+ 
+ endfunction()
+ 
+-function(llvm_install_symlink name dest)
++function(llvm_install_symlink name dest output_dir)
+   cmake_parse_arguments(ARG "ALWAYS_GENERATE" "COMPONENT" "" ${ARGN})
+   foreach(path ${CMAKE_MODULE_PATH})
+     if(EXISTS ${path}/LLVMInstallSymlink.cmake)
+@@ -1902,7 +1902,7 @@ function(llvm_install_symlink name dest)
+   set(full_dest ${dest}${CMAKE_EXECUTABLE_SUFFIX})
+ 
+   install(SCRIPT ${INSTALL_SYMLINK}
+-          CODE "install_symlink(${full_name} ${full_dest} ${LLVM_TOOLS_INSTALL_DIR})"
++          CODE "install_symlink(${full_name} ${full_dest} ${output_dir})"
+           COMPONENT ${component})
+ 
+   if (NOT LLVM_ENABLE_IDE AND NOT ARG_ALWAYS_GENERATE)
+@@ -1985,7 +1985,8 @@ function(add_llvm_tool_symlink link_name target)
+     endif()
+ 
+     if ((TOOL_IS_TOOLCHAIN OR NOT LLVM_INSTALL_TOOLCHAIN_ONLY) AND LLVM_BUILD_TOOLS)
+-      llvm_install_symlink(${link_name} ${target})
++      GNUInstallDirs_get_absolute_install_dir(output_dir LLVM_TOOLS_INSTALL_DIR)
++      llvm_install_symlink(${link_name} ${target} ${output_dir})
+     endif()
+   endif()
+ endfunction()
+@@ -2114,9 +2115,9 @@ function(llvm_setup_rpath name)
+     # Since BUILD_SHARED_LIBS is only recommended for use by developers,
+     # hardcode the rpath to build/install lib dir first in this mode.
+     # FIXME: update this when there is better solution.
+-    set(_install_rpath "${LLVM_LIBRARY_OUTPUT_INTDIR}" "${CMAKE_INSTALL_PREFIX}/lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
++    set(_install_rpath "${LLVM_LIBRARY_OUTPUT_INTDIR}" "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
+   elseif(UNIX)
+-    set(_install_rpath "\$ORIGIN/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
++    set(_install_rpath "\$ORIGIN/../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
+     if(${CMAKE_SYSTEM_NAME} MATCHES "(FreeBSD|DragonFly)")
+       set_property(TARGET ${name} APPEND_STRING PROPERTY
+                    LINK_FLAGS " -Wl,-z,origin ")
+diff --git a/cmake/modules/AddOCaml.cmake b/cmake/modules/AddOCaml.cmake
+index 554046b20edf..4d1ad980641e 100644
+--- a/cmake/modules/AddOCaml.cmake
++++ b/cmake/modules/AddOCaml.cmake
+@@ -144,9 +144,9 @@ function(add_ocaml_library name)
+   endforeach()
+ 
+   if( APPLE )
+-    set(ocaml_rpath "@executable_path/../../../lib${LLVM_LIBDIR_SUFFIX}")
++    set(ocaml_rpath "@executable_path/../../../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}")
+   elseif( UNIX )
+-    set(ocaml_rpath "\\$ORIGIN/../../../lib${LLVM_LIBDIR_SUFFIX}")
++    set(ocaml_rpath "\\$ORIGIN/../../../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}")
+   endif()
+   list(APPEND ocaml_flags "-ldopt" "-Wl,-rpath,${ocaml_rpath}")
+ 
+diff --git a/cmake/modules/AddSphinxTarget.cmake b/cmake/modules/AddSphinxTarget.cmake
+index e80c3b5c1cac..482f6d715ef5 100644
+--- a/cmake/modules/AddSphinxTarget.cmake
++++ b/cmake/modules/AddSphinxTarget.cmake
+@@ -90,7 +90,7 @@ function (add_sphinx_target builder project)
+         endif()
+       elseif (builder STREQUAL html)
+         string(TOUPPER "${project}" project_upper)
+-        set(${project_upper}_INSTALL_SPHINX_HTML_DIR "share/doc/${project}/html"
++        set(${project_upper}_INSTALL_SPHINX_HTML_DIR "${CMAKE_INSTALL_DOCDIR}/${project}/html"
+             CACHE STRING "HTML documentation install directory for ${project}")
+ 
+         # '/.' indicates: copy the contents of the directory directly into
+diff --git a/cmake/modules/CMakeLists.txt b/cmake/modules/CMakeLists.txt
+index 51b6a4fdc284..4adc2acfc074 100644
+--- a/cmake/modules/CMakeLists.txt
++++ b/cmake/modules/CMakeLists.txt
+@@ -1,6 +1,6 @@
+ include(LLVMDistributionSupport)
+ 
+-set(LLVM_INSTALL_PACKAGE_DIR lib${LLVM_LIBDIR_SUFFIX}/cmake/llvm)
++set(LLVM_INSTALL_PACKAGE_DIR ${LLVM_INSTALL_CMAKE_DIR} CACHE STRING "Path for CMake subdirectory (defaults to 'cmake/llvm')")
+ set(llvm_cmake_builddir "${LLVM_BINARY_DIR}/${LLVM_INSTALL_PACKAGE_DIR}")
+ 
+ # First for users who use an installed LLVM, create the LLVMExports.cmake file.
+@@ -109,13 +109,13 @@ foreach(p ${_count})
+   set(LLVM_CONFIG_CODE "${LLVM_CONFIG_CODE}
+ get_filename_component(LLVM_INSTALL_PREFIX \"\${LLVM_INSTALL_PREFIX}\" PATH)")
+ endforeach(p)
+-set(LLVM_CONFIG_INCLUDE_DIRS "\${LLVM_INSTALL_PREFIX}/include")
++set(LLVM_CONFIG_INCLUDE_DIRS "\${LLVM_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}")
+ set(LLVM_CONFIG_INCLUDE_DIR "${LLVM_CONFIG_INCLUDE_DIRS}")
+ set(LLVM_CONFIG_MAIN_INCLUDE_DIR "${LLVM_CONFIG_INCLUDE_DIRS}")
+-set(LLVM_CONFIG_LIBRARY_DIRS "\${LLVM_INSTALL_PREFIX}/lib\${LLVM_LIBDIR_SUFFIX}")
++set(LLVM_CONFIG_LIBRARY_DIRS "\${LLVM_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}\${LLVM_LIBDIR_SUFFIX}")
+ set(LLVM_CONFIG_CMAKE_DIR "\${LLVM_INSTALL_PREFIX}/${LLVM_INSTALL_PACKAGE_DIR}")
+ set(LLVM_CONFIG_BINARY_DIR "\${LLVM_INSTALL_PREFIX}")
+-set(LLVM_CONFIG_TOOLS_BINARY_DIR "\${LLVM_INSTALL_PREFIX}/bin")
++set(LLVM_CONFIG_TOOLS_BINARY_DIR "\${LLVM_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}")
+ 
+ # Generate a default location for lit
+ if (LLVM_INSTALL_UTILS AND LLVM_BUILD_UTILS)
+diff --git a/cmake/modules/LLVMInstallSymlink.cmake b/cmake/modules/LLVMInstallSymlink.cmake
+index 3e6a2c9a2648..52e14d955c60 100644
+--- a/cmake/modules/LLVMInstallSymlink.cmake
++++ b/cmake/modules/LLVMInstallSymlink.cmake
+@@ -4,7 +4,7 @@
+ 
+ function(install_symlink name target outdir)
+   set(DESTDIR $ENV{DESTDIR})
+-  set(bindir "${DESTDIR}${CMAKE_INSTALL_PREFIX}/${outdir}/")
++  set(bindir "${DESTDIR}${outdir}/")
+ 
+   message(STATUS "Creating ${name}")
+ 
+diff --git a/docs/CMake.rst b/docs/CMake.rst
+index f1ac2c7d4934..c6e1469b5e13 100644
+--- a/docs/CMake.rst
++++ b/docs/CMake.rst
+@@ -202,7 +202,7 @@ CMake manual, or execute ``cmake --help-variable VARIABLE_NAME``.
+ **LLVM_LIBDIR_SUFFIX**:STRING
+   Extra suffix to append to the directory where libraries are to be
+   installed. On a 64-bit architecture, one could use ``-DLLVM_LIBDIR_SUFFIX=64``
+-  to install libraries to ``/usr/lib64``.
++  to install libraries to ``/usr/lib64``. See also ``CMAKE_INSTALL_LIBDIR``.
+ 
+ Rarely-used CMake variables
+ ---------------------------
+@@ -551,8 +551,8 @@ LLVM-specific variables
+ 
+ **LLVM_INSTALL_DOXYGEN_HTML_DIR**:STRING
+   The path to install Doxygen-generated HTML documentation to. This path can
+-  either be absolute or relative to the CMAKE_INSTALL_PREFIX. Defaults to
+-  `share/doc/llvm/doxygen-html`.
++  either be absolute or relative to the ``CMAKE_INSTALL_PREFIX``. Defaults to
++  `${CMAKE_INSTALL_DOCDIR}/${project}/doxygen-html`.
+ 
+ **LLVM_LINK_LLVM_DYLIB**:BOOL
+   If enabled, tools will be linked with the libLLVM shared library. Defaults
+@@ -792,9 +792,11 @@ the ``cmake`` command or by setting it directly in ``ccmake`` or ``cmake-gui``).
+ 
+ This file is available in two different locations.
+ 
+-* ``<INSTALL_PREFIX>/lib/cmake/llvm/LLVMConfig.cmake`` where
+-  ``<INSTALL_PREFIX>`` is the install prefix of an installed version of LLVM.
+-  On Linux typically this is ``/usr/lib/cmake/llvm/LLVMConfig.cmake``.
++* ``<LLVM_INSTALL_PACKAGE_DIR>LLVMConfig.cmake`` where
++  ``<LLVM_INSTALL_PACKAGE_DIR>`` is the location where LLVM CMake modules are
++  installed as part of an installed version of LLVM. This is typically
++  ``cmake/llvm/`` within the lib directory. On Linux, this is typically
++  ``/usr/lib/cmake/llvm/LLVMConfig.cmake``.
+ 
+ * ``<LLVM_BUILD_ROOT>/lib/cmake/llvm/LLVMConfig.cmake`` where
+   ``<LLVM_BUILD_ROOT>`` is the root of the LLVM build tree. **Note: this is only
+diff --git a/examples/Bye/CMakeLists.txt b/examples/Bye/CMakeLists.txt
+index bb96edb4b4bf..678c22fb43c8 100644
+--- a/examples/Bye/CMakeLists.txt
++++ b/examples/Bye/CMakeLists.txt
+@@ -14,6 +14,6 @@ if (NOT WIN32)
+     BUILDTREE_ONLY
+    )
+ 
+-  install(TARGETS ${name} RUNTIME DESTINATION examples)
++  install(TARGETS ${name} RUNTIME DESTINATION ${CMAKE_INSTALL_DOCDIR}/examples)
+   set_target_properties(${name} PROPERTIES FOLDER "Examples")
+ endif()
+diff --git a/include/llvm/CMakeLists.txt b/include/llvm/CMakeLists.txt
+index b46319f24fc8..2feabd1954e4 100644
+--- a/include/llvm/CMakeLists.txt
++++ b/include/llvm/CMakeLists.txt
+@@ -5,5 +5,5 @@ add_subdirectory(Frontend)
+ # If we're doing an out-of-tree build, copy a module map for generated
+ # header files into the build area.
+ if (NOT "${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}")
+-  configure_file(module.modulemap.build module.modulemap COPYONLY)
++  configure_file(module.modulemap.build ${LLVM_INCLUDE_DIR}/module.modulemap COPYONLY)
+ endif (NOT "${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}")
+diff --git a/tools/llvm-config/BuildVariables.inc.in b/tools/llvm-config/BuildVariables.inc.in
+index ebe5b73a5c65..70c497be12f5 100644
+--- a/tools/llvm-config/BuildVariables.inc.in
++++ b/tools/llvm-config/BuildVariables.inc.in
+@@ -23,6 +23,10 @@
+ #define LLVM_CXXFLAGS "@LLVM_CXXFLAGS@"
+ #define LLVM_BUILDMODE "@LLVM_BUILDMODE@"
+ #define LLVM_LIBDIR_SUFFIX "@LLVM_LIBDIR_SUFFIX@"
++#define LLVM_INSTALL_BINDIR "@CMAKE_INSTALL_BINDIR@"
++#define LLVM_INSTALL_LIBDIR "@CMAKE_INSTALL_LIBDIR@"
++#define LLVM_INSTALL_INCLUDEDIR "@CMAKE_INSTALL_INCLUDEDIR@"
++#define LLVM_INSTALL_CMAKEDIR "@LLVM_INSTALL_CMAKE_DIR@"
+ #define LLVM_TARGETS_BUILT "@LLVM_TARGETS_BUILT@"
+ #define LLVM_SYSTEM_LIBS "@LLVM_SYSTEM_LIBS@"
+ #define LLVM_BUILD_SYSTEM "@LLVM_BUILD_SYSTEM@"
+diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
+index 1a2f04552d13..44fa7d3eec6b 100644
+--- a/tools/llvm-config/llvm-config.cpp
++++ b/tools/llvm-config/llvm-config.cpp
+@@ -357,12 +357,26 @@ int main(int argc, char **argv) {
+         ("-I" + ActiveIncludeDir + " " + "-I" + ActiveObjRoot + "/include");
+   } else {
+     ActivePrefix = CurrentExecPrefix;
+-    ActiveIncludeDir = ActivePrefix + "/include";
+-    SmallString<256> path(StringRef(LLVM_TOOLS_INSTALL_DIR));
+-    sys::fs::make_absolute(ActivePrefix, path);
+-    ActiveBinDir = std::string(path.str());
+-    ActiveLibDir = ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX;
+-    ActiveCMakeDir = ActiveLibDir + "/cmake/llvm";
++    {
++      SmallString<256> path(StringRef(LLVM_INSTALL_INCLUDEDIR));
++      sys::fs::make_absolute(ActivePrefix, path);
++      ActiveIncludeDir = std::string(path.str());
++    }
++    {
++      SmallString<256> path(StringRef(LLVM_INSTALL_BINDIR));
++      sys::fs::make_absolute(ActivePrefix, path);
++      ActiveBinDir = std::string(path.str());
++    }
++    {
++      SmallString<256> path(StringRef(LLVM_INSTALL_LIBDIR LLVM_LIBDIR_SUFFIX));
++      sys::fs::make_absolute(ActivePrefix, path);
++      ActiveLibDir = std::string(path.str());
++    }
++    {
++      SmallString<256> path(StringRef(LLVM_INSTALL_CMAKEDIR));
++      sys::fs::make_absolute(ActivePrefix, path);
++      ActiveCMakeDir = std::string(path.str());
++    }
+     ActiveIncludeOption = "-I" + ActiveIncludeDir;
+   }
+ 
+diff --git a/tools/lto/CMakeLists.txt b/tools/lto/CMakeLists.txt
+index 0af29ad762c5..37b99b83e35c 100644
+--- a/tools/lto/CMakeLists.txt
++++ b/tools/lto/CMakeLists.txt
+@@ -33,7 +33,7 @@ add_llvm_library(${LTO_LIBRARY_NAME} ${LTO_LIBRARY_TYPE} INSTALL_WITH_TOOLCHAIN
+     ${SOURCES} DEPENDS intrinsics_gen)
+ 
+ install(FILES ${LLVM_MAIN_INCLUDE_DIR}/llvm-c/lto.h
+-  DESTINATION include/llvm-c
++  DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/llvm-c
+   COMPONENT LTO)
+ 
+ if (APPLE)
+diff --git a/tools/opt-viewer/CMakeLists.txt b/tools/opt-viewer/CMakeLists.txt
+index ead73ec13a8f..250362021f17 100644
+--- a/tools/opt-viewer/CMakeLists.txt
++++ b/tools/opt-viewer/CMakeLists.txt
+@@ -8,7 +8,7 @@ set (files
+ 
+ foreach (file ${files})
+   install(PROGRAMS ${file}
+-    DESTINATION share/opt-viewer
++    DESTINATION ${CMAKE_INSTALL_DATADIR}/opt-viewer
+     COMPONENT opt-viewer)
+ endforeach (file)
+ 
+diff --git a/tools/remarks-shlib/CMakeLists.txt b/tools/remarks-shlib/CMakeLists.txt
+index 865436247270..ce1daa62f6ab 100644
+--- a/tools/remarks-shlib/CMakeLists.txt
++++ b/tools/remarks-shlib/CMakeLists.txt
+@@ -19,7 +19,7 @@ if(LLVM_ENABLE_PIC)
+   endif()
+   
+   install(FILES ${LLVM_MAIN_INCLUDE_DIR}/llvm-c/Remarks.h
+-    DESTINATION include/llvm-c
++    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/llvm-c
+     COMPONENT Remarks)
+ 
+   if (APPLE)
diff --git a/nixpkgs/pkgs/development/compilers/llvm/13/llvm/outputs.patch b/nixpkgs/pkgs/development/compilers/llvm/13/llvm/outputs.patch
new file mode 100644
index 000000000000..40096fa3497f
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/13/llvm/outputs.patch
@@ -0,0 +1,26 @@
+diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
+index 94d426b..37f7794 100644
+--- a/tools/llvm-config/llvm-config.cpp
++++ b/tools/llvm-config/llvm-config.cpp
+@@ -333,6 +333,21 @@ int main(int argc, char **argv) {
+     ActiveIncludeOption = "-I" + ActiveIncludeDir;
+   }
+ 
++  /// Nix-specific multiple-output handling: override ActiveLibDir if --link-shared
++  if (!IsInDevelopmentTree) {
++    bool WantShared = true;
++    for (int i = 1; i < argc; ++i) {
++      StringRef Arg = argv[i];
++      if (Arg == "--link-shared")
++        WantShared = true;
++      else if (Arg == "--link-static")
++        WantShared = false; // the last one wins
++    }
++
++    if (WantShared)
++      ActiveLibDir = std::string("@lib@") + "/lib" + LLVM_LIBDIR_SUFFIX;
++  }
++
+   /// We only use `shared library` mode in cases where the static library form
+   /// of the components provided are not available; note however that this is
+   /// skipped if we're run from within the build dir. However, once installed,
diff --git a/nixpkgs/pkgs/development/compilers/llvm/13/openmp/default.nix b/nixpkgs/pkgs/development/compilers/llvm/13/openmp/default.nix
new file mode 100644
index 000000000000..c5a33df97560
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/13/openmp/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, stdenv
+, llvm_meta
+, src
+, cmake
+, llvm
+, perl
+, version
+}:
+
+stdenv.mkDerivation rec {
+  pname = "openmp";
+  inherit version;
+
+  inherit src;
+  sourceRoot = "source/${pname}";
+
+  nativeBuildInputs = [ cmake perl ];
+  buildInputs = [ llvm ];
+
+  cmakeFlags = [
+    "-DLIBOMPTARGET_BUILD_AMDGCN_BCLIB=OFF" # Building the AMDGCN device RTL currently fails
+  ];
+
+  meta = llvm_meta // {
+    homepage = "https://openmp.llvm.org/";
+    description = "Support for the OpenMP language";
+    longDescription = ''
+      The OpenMP subproject of LLVM contains the components required to build an
+      executable OpenMP program that are outside the compiler itself.
+      Contains the code for the runtime library against which code compiled by
+      "clang -fopenmp" must be linked before it can run and the library that
+      supports offload to target devices.
+    '';
+    # "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 ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt/default.nix b/nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt/default.nix
index dce7cde3713e..9f937ed140fd 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, llvm, libcxxabi }:
+{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, libllvm, libcxxabi }:
 
 let
 
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
   inherit version;
   src = fetch "compiler-rt" "0ipd4jdxpczgr2w6lzrabymz6dhzj69ywmyybjjc1q397zgrvziy";
 
-  nativeBuildInputs = [ cmake python3 llvm.dev ];
+  nativeBuildInputs = [ cmake python3 libllvm.dev ];
   buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
 
   NIX_CFLAGS_COMPILE = [
diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/default.nix b/nixpkgs/pkgs/development/compilers/llvm/5/default.nix
index d11c08329d54..8205c67da77a 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/5/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/5/default.nix
@@ -121,4 +121,4 @@ let
     };
   });
 
-in { inherit tools libraries; } // libraries // tools
+in { inherit tools libraries release_version; } // libraries // tools
diff --git a/nixpkgs/pkgs/development/compilers/llvm/6/compiler-rt/default.nix b/nixpkgs/pkgs/development/compilers/llvm/6/compiler-rt/default.nix
index d97333bc503a..7ee0943a8886 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/6/compiler-rt/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/6/compiler-rt/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, llvm, libcxxabi }:
+{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, libllvm, libcxxabi }:
 
 let
 
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
   inherit version;
   src = fetch "compiler-rt" "1fcr3jn24yr8lh36nc0c4ikli4744i2q9m1ik67p1jymwwaixkgl";
 
-  nativeBuildInputs = [ cmake python3 llvm.dev ];
+  nativeBuildInputs = [ cmake python3 libllvm.dev ];
   buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
 
   NIX_CFLAGS_COMPILE = [
diff --git a/nixpkgs/pkgs/development/compilers/llvm/6/default.nix b/nixpkgs/pkgs/development/compilers/llvm/6/default.nix
index a0cc84d8d733..7651b5ab13dc 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/6/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/6/default.nix
@@ -122,4 +122,4 @@ let
     };
   });
 
-in { inherit tools libraries; } // libraries // tools
+in { inherit tools libraries release_version; } // libraries // tools
diff --git a/nixpkgs/pkgs/development/compilers/llvm/7/compiler-rt/default.nix b/nixpkgs/pkgs/development/compilers/llvm/7/compiler-rt/default.nix
index 87ebc3eff025..f6190b799189 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/7/compiler-rt/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/7/compiler-rt/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, llvm, libcxxabi }:
+{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, libllvm, libcxxabi }:
 
 let
 
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
   inherit version;
   src = fetch "compiler-rt" "1n48p8gjarihkws0i2bay5w9bdwyxyxxbpwyng7ba58jb30dlyq5";
 
-  nativeBuildInputs = [ cmake python3 llvm.dev ];
+  nativeBuildInputs = [ cmake python3 libllvm.dev ];
   buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
 
   NIX_CFLAGS_COMPILE = [
diff --git a/nixpkgs/pkgs/development/compilers/llvm/7/default.nix b/nixpkgs/pkgs/development/compilers/llvm/7/default.nix
index 4057f206caf1..6864353424f1 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/7/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/7/default.nix
@@ -268,4 +268,4 @@ let
     };
   });
 
-in { inherit tools libraries; } // libraries // tools
+in { inherit tools libraries release_version; } // libraries // tools
diff --git a/nixpkgs/pkgs/development/compilers/llvm/8/compiler-rt/default.nix b/nixpkgs/pkgs/development/compilers/llvm/8/compiler-rt/default.nix
index a3ce09cba976..bbaae803738d 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/8/compiler-rt/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/8/compiler-rt/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, llvm, libcxxabi }:
+{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, libllvm, libcxxabi }:
 
 let
 
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
   inherit version;
   src = fetch "compiler-rt" "0dqqf8f930l8gag4d9qjgn1n0pj0nbv2anviqqhdi1rkhas8z0hi";
 
-  nativeBuildInputs = [ cmake python3 llvm.dev ];
+  nativeBuildInputs = [ cmake python3 libllvm.dev ];
   buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
 
   NIX_CFLAGS_COMPILE = [
diff --git a/nixpkgs/pkgs/development/compilers/llvm/8/default.nix b/nixpkgs/pkgs/development/compilers/llvm/8/default.nix
index a7a293cfbbf6..34f204be3315 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/8/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/8/default.nix
@@ -267,4 +267,4 @@ let
     };
   });
 
-in { inherit tools libraries; } // libraries // tools
+in { inherit tools libraries release_version; } // libraries // tools
diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/compiler-rt/default.nix b/nixpkgs/pkgs/development/compilers/llvm/9/compiler-rt/default.nix
index a3db5c0ad68d..4dc75bd1c14c 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/9/compiler-rt/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/9/compiler-rt/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, llvm, libcxxabi }:
+{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, libllvm, libcxxabi }:
 
 let
 
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
   inherit version;
   src = fetch "compiler-rt" "0xwh79g3zggdabxgnd0bphry75asm1qz7mv3hcqihqwqr6aspgy2";
 
-  nativeBuildInputs = [ cmake python3 llvm.dev ];
+  nativeBuildInputs = [ cmake python3 libllvm.dev ];
   buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
 
   NIX_CFLAGS_COMPILE = [
diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/default.nix b/nixpkgs/pkgs/development/compilers/llvm/9/default.nix
index 8521354dbb8e..8468fc363818 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/9/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/9/default.nix
@@ -267,4 +267,4 @@ let
     };
   });
 
-in { inherit tools libraries; } // libraries // tools
+in { inherit tools libraries release_version; } // libraries // tools
diff --git a/nixpkgs/pkgs/development/compilers/llvm/git/clang/default.nix b/nixpkgs/pkgs/development/compilers/llvm/git/clang/default.nix
index cfafe43c3a5f..78c2831a2f35 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/git/clang/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/git/clang/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, llvm_meta, src, cmake, libxml2, libllvm, version, python3
+{ lib, stdenv, llvm_meta, src, substituteAll, cmake, libxml2, libllvm, version, python3
 , buildLlvmTools
 , fixDarwinDylibNames
 , enableManpages ? false
@@ -37,6 +37,10 @@ let
       ./purity.patch
       # https://reviews.llvm.org/D51899
       ./gnu-install-dirs.patch
+      (substituteAll {
+        src = ../../clang-11-12-LLVMgold-path.patch;
+        libllvmLibdir = "${libllvm.lib}/lib";
+      })
     ];
 
     postPatch = ''
@@ -52,12 +56,7 @@ let
 
     outputs = [ "out" "lib" "dev" "python" ];
 
-    # Clang expects to find LLVMgold in its own prefix
     postInstall = ''
-      if [ -e ${libllvm.lib}/lib/LLVMgold.so ]; then
-        ln -sv ${libllvm.lib}/lib/LLVMgold.so $lib/lib
-      fi
-
       ln -sv $out/bin/clang $out/bin/cpp
 
       # Move libclang to 'lib' output
diff --git a/nixpkgs/pkgs/development/compilers/llvm/git/compiler-rt/X86-support-extension.patch b/nixpkgs/pkgs/development/compilers/llvm/git/compiler-rt/X86-support-extension.patch
index f6f9336ad5ad..66742e5b1498 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/git/compiler-rt/X86-support-extension.patch
+++ b/nixpkgs/pkgs/development/compilers/llvm/git/compiler-rt/X86-support-extension.patch
@@ -2,9 +2,7 @@ diff --git a/lib/builtins/CMakeLists.txt b/lib/builtins/CMakeLists.txt
 index 3a66dd9c3fb..7efc85d9f9f 100644
 --- a/lib/builtins/CMakeLists.txt
 +++ b/lib/builtins/CMakeLists.txt
-@@ -301,6 +301,10 @@ if (NOT MSVC)
-     i386/umoddi3.S
-   )
+@@ -345,4 +345,8 @@ if (NOT MSVC)
  
 +  set(i486_SOURCES ${i386_SOURCES})
 +  set(i586_SOURCES ${i386_SOURCES})
diff --git a/nixpkgs/pkgs/development/compilers/llvm/git/compiler-rt/codesign.patch b/nixpkgs/pkgs/development/compilers/llvm/git/compiler-rt/codesign.patch
index 3cc12b94b200..065959d14d46 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/git/compiler-rt/codesign.patch
+++ b/nixpkgs/pkgs/development/compilers/llvm/git/compiler-rt/codesign.patch
@@ -11,10 +11,10 @@ Subject: [PATCH] remove codesign use on Apple, disable ios sim testing that
  3 files changed, 107 deletions(-)
 
 diff --git a/cmake/Modules/AddCompilerRT.cmake b/cmake/Modules/AddCompilerRT.cmake
-index bc5fb9ff7..b64eb4246 100644
+index bc69ec95c419..9f100fdcec2f 100644
 --- a/cmake/Modules/AddCompilerRT.cmake
 +++ b/cmake/Modules/AddCompilerRT.cmake
-@@ -210,14 +210,6 @@ function(add_compiler_rt_runtime name type)
+@@ -366,14 +366,6 @@ function(add_compiler_rt_runtime name type)
          set_target_properties(${libname} PROPERTIES IMPORT_PREFIX "")
          set_target_properties(${libname} PROPERTIES IMPORT_SUFFIX ".lib")
        endif()
@@ -23,11 +23,11 @@ index bc5fb9ff7..b64eb4246 100644
 -        add_custom_command(TARGET ${libname}
 -          POST_BUILD  
 -          COMMAND codesign --sign - $<TARGET_FILE:${libname}>
--          WORKING_DIRECTORY ${COMPILER_RT_LIBRARY_OUTPUT_DIR}
+-          WORKING_DIRECTORY ${COMPILER_RT_OUTPUT_LIBRARY_DIR}
 -        )
 -      endif()
      endif()
-     install(TARGETS ${libname}
-       ARCHIVE DESTINATION ${COMPILER_RT_LIBRARY_INSTALL_DIR}
+ 
+     set(parent_target_arg)
 2.14.1
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/git/compiler-rt/darwin-targetconditionals.patch b/nixpkgs/pkgs/development/compilers/llvm/git/compiler-rt/darwin-targetconditionals.patch
new file mode 100644
index 000000000000..425dc2af01e7
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/git/compiler-rt/darwin-targetconditionals.patch
@@ -0,0 +1,71 @@
+diff --git a/lib/sanitizer_common/sanitizer_mac.cpp b/lib/sanitizer_common/sanitizer_mac.cpp
+--- a/lib/sanitizer_common/sanitizer_mac.cpp
++++ b/lib/sanitizer_common/sanitizer_mac.cpp
+@@ -613,9 +613,15 @@ HandleSignalMode GetHandleSignalMode(int signum) {
+ // Offset example:
+ // XNU 17 -- macOS 10.13 -- iOS 11 -- tvOS 11 -- watchOS 4
+ constexpr u16 GetOSMajorKernelOffset() {
+-  if (TARGET_OS_OSX) return 4;
+-  if (TARGET_OS_IOS || TARGET_OS_TV) return 6;
+-  if (TARGET_OS_WATCH) return 13;
++#if TARGET_OS_OSX
++  return 4;
++#endif
++#if TARGET_OS_IOS || TARGET_OS_TV
++  return 6;
++#endif
++#if TARGET_OS_WATCH
++  return 13;
++#endif
+ }
+ 
+ using VersStr = char[64];
+@@ -627,13 +633,13 @@ static uptr ApproximateOSVersionViaKernelVersion(VersStr vers) {
+   u16 os_major = kernel_major - offset;
+ 
+   const char *format = "%d.0";
+-  if (TARGET_OS_OSX) {
+-    if (os_major >= 16) {  // macOS 11+
+-      os_major -= 5;
+-    } else {  // macOS 10.15 and below
+-      format = "10.%d";
+-    }
++#if TARGET_OS_OSX
++  if (os_major >= 16) {  // macOS 11+
++    os_major -= 5;
++  } else {  // macOS 10.15 and below
++    format = "10.%d";
+   }
++#endif
+   return internal_snprintf(vers, sizeof(VersStr), format, os_major);
+ }
+ 
+@@ -681,15 +687,14 @@ void ParseVersion(const char *vers, u16 *major, u16 *minor) {
+ // Aligned versions example:
+ // macOS 10.15 -- iOS 13 -- tvOS 13 -- watchOS 6
+ static void MapToMacos(u16 *major, u16 *minor) {
+-  if (TARGET_OS_OSX)
+-    return;
+-
+-  if (TARGET_OS_IOS || TARGET_OS_TV)
++#if !TARGET_OS_OSX
++#if TARGET_OS_IOS || TARGET_OS_TV
+     *major += 2;
+-  else if (TARGET_OS_WATCH)
++#elif TARGET_OS_WATCH
+     *major += 9;
+-  else
++#else
+     UNREACHABLE("unsupported platform");
++#endif
+ 
+   if (*major >= 16) {  // macOS 11+
+     *major -= 5;
+@@ -697,6 +702,7 @@ static void MapToMacos(u16 *major, u16 *minor) {
+     *minor = *major;
+     *major = 10;
+   }
++#endif
+ }
+ 
+ static MacosVersion GetMacosAlignedVersionInternal() {
diff --git a/nixpkgs/pkgs/development/compilers/llvm/git/compiler-rt/default.nix b/nixpkgs/pkgs/development/compilers/llvm/git/compiler-rt/default.nix
index 8aeaabb0cd33..9557f9d2d808 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/git/compiler-rt/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/git/compiler-rt/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, llvm_meta, version, src, cmake, python3, llvm, libcxxabi }:
+{ lib, stdenv, llvm_meta, version, src, cmake, python3, libllvm, libcxxabi }:
 
 let
 
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
   inherit src;
   sourceRoot = "source/compiler-rt";
 
-  nativeBuildInputs = [ cmake python3 llvm.dev ];
+  nativeBuildInputs = [ cmake python3 libllvm.dev ];
   buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
 
   NIX_CFLAGS_COMPILE = [
@@ -56,11 +56,12 @@ stdenv.mkDerivation {
   patches = [
     ./codesign.patch # Revert compiler-rt commit that makes codesign mandatory
     ./X86-support-extension.patch # Add support for i486 i586 i686 by reusing i386 config
-    ./gnu-install-dirs.patch
     # ld-wrapper dislikes `-rpath-link //nix/store`, so we normalize away the
     # extra `/`.
     ./normalize-var.patch
   ]# ++ lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch
+    # Prevent a compilation error on darwin
+    ++ lib.optional stdenv.hostPlatform.isDarwin ./darwin-targetconditionals.patch
     ++ lib.optional stdenv.hostPlatform.isAarch32 ./armv7l.patch;
 
   # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks
diff --git a/nixpkgs/pkgs/development/compilers/llvm/git/compiler-rt/gnu-install-dirs.patch b/nixpkgs/pkgs/development/compilers/llvm/git/compiler-rt/gnu-install-dirs.patch
deleted file mode 100644
index 5f025764de1c..000000000000
--- a/nixpkgs/pkgs/development/compilers/llvm/git/compiler-rt/gnu-install-dirs.patch
+++ /dev/null
@@ -1,129 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index b44ad2c2118e..d42f5664d448 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -8,6 +8,7 @@ cmake_minimum_required(VERSION 3.13.4)
- # Check if compiler-rt is built as a standalone project.
- if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR OR COMPILER_RT_STANDALONE_BUILD)
-   project(CompilerRT C CXX ASM)
-+  include(GNUInstallDirs)
-   set(COMPILER_RT_STANDALONE_BUILD TRUE)
-   set_property(GLOBAL PROPERTY USE_FOLDERS ON)
- endif()
-diff --git a/cmake/Modules/AddCompilerRT.cmake b/cmake/Modules/AddCompilerRT.cmake
-index 361538a58e47..f0d8d9ab80f1 100644
---- a/cmake/Modules/AddCompilerRT.cmake
-+++ b/cmake/Modules/AddCompilerRT.cmake
-@@ -495,7 +495,7 @@ macro(add_compiler_rt_resource_file target_name file_name component)
-   add_custom_target(${target_name} DEPENDS ${dst_file})
-   # Install in Clang resource directory.
-   install(FILES ${file_name}
--    DESTINATION ${COMPILER_RT_INSTALL_PATH}/share
-+    DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_DATADIR}
-     COMPONENT ${component})
-   add_dependencies(${component} ${target_name})
- 
-@@ -512,7 +512,7 @@ macro(add_compiler_rt_script name)
-   add_custom_target(${name} DEPENDS ${dst})
-   install(FILES ${dst}
-     PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
--    DESTINATION ${COMPILER_RT_INSTALL_PATH}/bin)
-+    DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_BINDIR})
- endmacro(add_compiler_rt_script src name)
- 
- # Builds custom version of libc++ and installs it in <prefix>.
-diff --git a/cmake/Modules/CompilerRTDarwinUtils.cmake b/cmake/Modules/CompilerRTDarwinUtils.cmake
-index 456a8dcda59f..7a09e74c7c79 100644
---- a/cmake/Modules/CompilerRTDarwinUtils.cmake
-+++ b/cmake/Modules/CompilerRTDarwinUtils.cmake
-@@ -508,7 +508,7 @@ macro(darwin_add_embedded_builtin_libraries)
-     set(DARWIN_macho_embedded_LIBRARY_OUTPUT_DIR
-       ${COMPILER_RT_OUTPUT_DIR}/lib/macho_embedded)
-     set(DARWIN_macho_embedded_LIBRARY_INSTALL_DIR
--      ${COMPILER_RT_INSTALL_PATH}/lib/macho_embedded)
-+      ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_LIBDIR}/macho_embedded)
-       
-     set(CFLAGS_armv7 "-target thumbv7-apple-darwin-eabi")
-     set(CFLAGS_i386 "-march=pentium")
-diff --git a/cmake/Modules/CompilerRTUtils.cmake b/cmake/Modules/CompilerRTUtils.cmake
-index f61d487e93a0..f1f46fb9599c 100644
---- a/cmake/Modules/CompilerRTUtils.cmake
-+++ b/cmake/Modules/CompilerRTUtils.cmake
-@@ -378,7 +378,7 @@ endfunction()
- function(get_compiler_rt_install_dir arch install_dir)
-   if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
-     get_compiler_rt_target(${arch} target)
--    set(${install_dir} ${COMPILER_RT_INSTALL_PATH}/lib/${target} PARENT_SCOPE)
-+    set(${install_dir} ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_LIBDIR}/${target} PARENT_SCOPE)
-   else()
-     set(${install_dir} ${COMPILER_RT_LIBRARY_INSTALL_DIR} PARENT_SCOPE)
-   endif()
-diff --git a/cmake/base-config-ix.cmake b/cmake/base-config-ix.cmake
-index 1edab43e7c0d..1aac6b73ff82 100644
---- a/cmake/base-config-ix.cmake
-+++ b/cmake/base-config-ix.cmake
-@@ -65,11 +65,11 @@ if (LLVM_TREE_AVAILABLE)
- else()
-     # Take output dir and install path from the user.
-   set(COMPILER_RT_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR} CACHE PATH
--    "Path where built compiler-rt libraries should be stored.")
-+    "Path where built compiler-rt build artifacts should be stored.")
-   set(COMPILER_RT_EXEC_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/bin CACHE PATH
-     "Path where built compiler-rt executables should be stored.")
--  set(COMPILER_RT_INSTALL_PATH ${CMAKE_INSTALL_PREFIX} CACHE PATH
--    "Path where built compiler-rt libraries should be installed.")
-+  set(COMPILER_RT_INSTALL_PATH "" CACHE PATH
-+    "Prefix where built compiler-rt artifacts should be installed, comes before CMAKE_INSTALL_PREFIX.")
-   option(COMPILER_RT_INCLUDE_TESTS "Generate and build compiler-rt unit tests." OFF)
-   option(COMPILER_RT_ENABLE_WERROR "Fail and stop if warning is triggered" OFF)
-   # Use a host compiler to compile/link tests.
-@@ -97,7 +97,7 @@ else(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR)
-   set(COMPILER_RT_LIBRARY_OUTPUT_DIR
-     ${COMPILER_RT_OUTPUT_DIR}/lib/${COMPILER_RT_OS_DIR})
-   set(COMPILER_RT_LIBRARY_INSTALL_DIR
--    ${COMPILER_RT_INSTALL_PATH}/lib/${COMPILER_RT_OS_DIR})
-+    ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_LIBDIR}/${COMPILER_RT_OS_DIR})
- endif()
- 
- if(APPLE)
-diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt
-index b00e8caa1ddd..0fe64e4862c9 100644
---- a/include/CMakeLists.txt
-+++ b/include/CMakeLists.txt
-@@ -69,22 +69,22 @@ set_target_properties(compiler-rt-headers PROPERTIES FOLDER "Compiler-RT Misc")
- install(FILES ${SANITIZER_HEADERS}
-   COMPONENT compiler-rt-headers
-   PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
--  DESTINATION ${COMPILER_RT_INSTALL_PATH}/include/sanitizer)
-+  DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_INCLUDEDIR}/sanitizer)
- # Install fuzzer headers.
- install(FILES ${FUZZER_HEADERS}
-   COMPONENT compiler-rt-headers
-   PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
--  DESTINATION ${COMPILER_RT_INSTALL_PATH}/include/fuzzer)
-+  DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_INCLUDEDIR}/fuzzer)
- # Install xray headers.
- install(FILES ${XRAY_HEADERS}
-   COMPONENT compiler-rt-headers
-   PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
--  DESTINATION ${COMPILER_RT_INSTALL_PATH}/include/xray)
-+  DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_INCLUDEDIR}/xray)
- # Install profile headers.
- install(FILES ${PROFILE_HEADERS}
-   COMPONENT compiler-rt-headers
-   PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
--  DESTINATION ${COMPILER_RT_INSTALL_PATH}/include/profile)
-+  DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_INCLUDEDIR}/profile)
- 
- if (NOT CMAKE_CONFIGURATION_TYPES) # don't add this for IDEs.
-   add_custom_target(install-compiler-rt-headers
-diff --git a/lib/dfsan/CMakeLists.txt b/lib/dfsan/CMakeLists.txt
-index a29de8deff1b..d39ff01613d2 100644
---- a/lib/dfsan/CMakeLists.txt
-+++ b/lib/dfsan/CMakeLists.txt
-@@ -57,4 +57,4 @@ add_custom_command(OUTPUT ${dfsan_abilist_filename}
-                    DEPENDS done_abilist.txt libc_ubuntu1404_abilist.txt)
- add_dependencies(dfsan dfsan_abilist)
- install(FILES ${dfsan_abilist_filename}
--        DESTINATION ${COMPILER_RT_INSTALL_PATH}/share)
-+        DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_DATADIR})
diff --git a/nixpkgs/pkgs/development/compilers/llvm/git/default.nix b/nixpkgs/pkgs/development/compilers/llvm/git/default.nix
index ef65827fbf2f..300de57b696e 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/git/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/git/default.nix
@@ -18,11 +18,11 @@
 }:
 
 let
-  release_version = "13.0.0";
+  release_version = "14.0.0";
   candidate = ""; # empty or "rcN"
   dash-candidate = lib.optionalString (candidate != "") "-${candidate}";
-  rev = "1605fce6c3074f8d1dff5a917a1840ffa66abd86"; # When using a Git commit
-  rev-version = "unstable-2021-06-19"; # When using a Git commit
+  rev = "ee65938357d5fffe9e586fa155b37268b5a358ac"; # When using a Git commit
+  rev-version = "unstable-2021-08-13"; # When using a Git commit
   version = if rev != "" then rev-version else "${release_version}${dash-candidate}";
   targetConfig = stdenv.targetPlatform.config;
 
@@ -30,7 +30,7 @@ let
     owner = "llvm";
     repo = "llvm-project";
     rev = if rev != "" then rev else "llvmorg-${version}";
-    sha256 = "1jf0b9vn4qv5gsvhyg6xsqdkdl4vzn7j4sfcldl8bggcgjmzp0q1";
+    sha256 = "10ahc108wbg2rsp50j3mc8h018a453ykg1rivjkhizng80pyllm1";
   };
 
   llvm_meta = {
@@ -77,18 +77,17 @@ let
 
     clang-unwrapped = tools.libclang.out // { outputUnspecified = true; };
 
-    # disabled until recommonmark supports sphinx 3
-    #Llvm-manpages = lowPrio (tools.libllvm.override {
-    #  enableManpages = true;
-    #  python3 = pkgs.python3;  # don't use python-boot
-    #});
+    llvm-manpages = lowPrio (tools.libllvm.override {
+      enableManpages = true;
+      python3 = pkgs.python3;  # don't use python-boot
+    });
 
     clang-manpages = lowPrio (tools.libclang.override {
       enableManpages = true;
       python3 = pkgs.python3;  # don't use python-boot
     });
 
-    # disabled until recommonmark supports sphinx 3
+    # TODO: lldb/docs/index.rst:155:toctree contains reference to nonexisting document 'design/structureddataplugins'
     # lldb-manpages = lowPrio (tools.lldb.override {
     #   enableManpages = true;
     #   python3 = pkgs.python3;  # don't use python-boot
@@ -265,4 +264,4 @@ let
     };
   });
 
-in { inherit tools libraries; } // libraries // tools
+in { inherit tools libraries release_version; } // libraries // tools
diff --git a/nixpkgs/pkgs/development/compilers/llvm/git/libcxx/gnu-install-dirs.patch b/nixpkgs/pkgs/development/compilers/llvm/git/libcxx/gnu-install-dirs.patch
index f59d7f8dfafc..744967a6ee0b 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/git/libcxx/gnu-install-dirs.patch
+++ b/nixpkgs/pkgs/development/compilers/llvm/git/libcxx/gnu-install-dirs.patch
@@ -1,8 +1,8 @@
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 06ee1d74a03e..6c3c6f8f8d47 100644
+index b1e25358d41a..7fe1f4d85401 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -28,6 +28,8 @@ set(LIBCXX_BINARY_INCLUDE_DIR "${LIBCXX_BINARY_DIR}/include/c++build")
+@@ -26,6 +26,8 @@ set(LIBCXX_BINARY_INCLUDE_DIR "${LIBCXX_BINARY_DIR}/include/c++build")
  if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR OR LIBCXX_STANDALONE_BUILD)
    project(libcxx CXX C)
  
@@ -11,32 +11,33 @@ index 06ee1d74a03e..6c3c6f8f8d47 100644
    set(PACKAGE_NAME libcxx)
    set(PACKAGE_VERSION 13.0.0git)
    set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
-@@ -409,7 +411,7 @@ if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
+@@ -412,7 +414,7 @@ if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
    set(LIBCXX_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}/${LLVM_DEFAULT_TARGET_TRIPLE})
    set(LIBCXX_GENERATED_INCLUDE_DIR "${LLVM_BINARY_DIR}/include/c++/v1")
    set(LIBCXX_GENERATED_INCLUDE_TARGET_DIR "${LLVM_BINARY_DIR}/include/${LLVM_DEFAULT_TARGET_TRIPLE}/c++/v1")
--  set(LIBCXX_INSTALL_LIBRARY_DIR lib${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE})
-+  set(LIBCXX_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE})
-   set(LIBCXX_INSTALL_INCLUDE_DIR "include/c++/v1")
-   set(LIBCXX_INSTALL_INCLUDE_TARGET_DIR "include/${LLVM_DEFAULT_TARGET_TRIPLE}/c++/v1")
-   if(LIBCXX_LIBDIR_SUBDIR)
-@@ -420,14 +422,14 @@ elseif(LLVM_LIBRARY_OUTPUT_INTDIR)
+-  set(LIBCXX_INSTALL_LIBRARY_DIR lib${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE} CACHE PATH
++  set(LIBCXX_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE} CACHE PATH
+       "Path where built libc++ libraries should be installed.")
+   set(LIBCXX_INSTALL_INCLUDE_DIR "include/c++/v1" CACHE PATH
+       "Path where target-agnostic libc++ headers should be installed.")
+@@ -426,7 +428,7 @@ elseif(LLVM_LIBRARY_OUTPUT_INTDIR)
    set(LIBCXX_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR})
    set(LIBCXX_GENERATED_INCLUDE_DIR "${LLVM_BINARY_DIR}/include/c++/v1")
    set(LIBCXX_GENERATED_INCLUDE_TARGET_DIR "${LIBCXX_GENERATED_INCLUDE_DIR}")
--  set(LIBCXX_INSTALL_LIBRARY_DIR lib${LIBCXX_LIBDIR_SUFFIX})
-+  set(LIBCXX_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LIBCXX_LIBDIR_SUFFIX})
-   set(LIBCXX_INSTALL_INCLUDE_DIR "include/c++/v1")
-   set(LIBCXX_INSTALL_INCLUDE_TARGET_DIR "${LIBCXX_INSTALL_INCLUDE_DIR}")
- else()
+-  set(LIBCXX_INSTALL_LIBRARY_DIR lib${LIBCXX_LIBDIR_SUFFIX} CACHE PATH
++  set(LIBCXX_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LIBCXX_LIBDIR_SUFFIX} CACHE PATH
+       "Path where built libc++ libraries should be installed.")
+   set(LIBCXX_INSTALL_INCLUDE_DIR "include/c++/v1" CACHE PATH
+       "Path where target-agnostic libc++ headers should be installed.")
+@@ -436,7 +438,7 @@ else()
    set(LIBCXX_LIBRARY_DIR ${CMAKE_BINARY_DIR}/lib${LIBCXX_LIBDIR_SUFFIX})
    set(LIBCXX_GENERATED_INCLUDE_DIR "${CMAKE_BINARY_DIR}/include/c++/v1")
    set(LIBCXX_GENERATED_INCLUDE_TARGET_DIR "${LIBCXX_GENERATED_INCLUDE_DIR}")
--  set(LIBCXX_INSTALL_LIBRARY_DIR lib${LIBCXX_LIBDIR_SUFFIX})
-+  set(LIBCXX_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LIBCXX_LIBDIR_SUFFIX})
-   set(LIBCXX_INSTALL_INCLUDE_DIR "include/c++/v1")
-   set(LIBCXX_INSTALL_INCLUDE_TARGET_DIR "${LIBCXX_INSTALL_INCLUDE_DIR}")
- endif()
+-  set(LIBCXX_INSTALL_LIBRARY_DIR lib${LIBCXX_LIBDIR_SUFFIX} CACHE PATH
++  set(LIBCXX_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LIBCXX_LIBDIR_SUFFIX} CACHE PATH
+       "Path where built libc++ libraries should be installed.")
+   set(LIBCXX_INSTALL_INCLUDE_DIR "include/c++/v1" CACHE PATH
+       "Path where target-agnostic libc++ headers should be installed.")
 diff --git a/cmake/Modules/HandleLibCXXABI.cmake b/cmake/Modules/HandleLibCXXABI.cmake
 index 5a8a4a270a1a..c06bae0001aa 100644
 --- a/cmake/Modules/HandleLibCXXABI.cmake
@@ -51,10 +52,10 @@ index 5a8a4a270a1a..c06bae0001aa 100644
              PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
              )
 diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 87b71f7ba334..d20a783079b7 100644
+index 496429f3841e..1a0c9c0a3159 100644
 --- a/src/CMakeLists.txt
 +++ b/src/CMakeLists.txt
-@@ -369,21 +369,21 @@ if (LIBCXX_INSTALL_SHARED_LIBRARY)
+@@ -376,21 +376,21 @@ if (LIBCXX_INSTALL_SHARED_LIBRARY)
    install(TARGETS cxx_shared
      ARCHIVE DESTINATION ${LIBCXX_INSTALL_LIBRARY_DIR} COMPONENT cxx
      LIBRARY DESTINATION ${LIBCXX_INSTALL_LIBRARY_DIR} COMPONENT cxx
diff --git a/nixpkgs/pkgs/development/compilers/llvm/git/libcxxabi/gnu-install-dirs.patch b/nixpkgs/pkgs/development/compilers/llvm/git/libcxxabi/gnu-install-dirs.patch
index 45641acb0c74..5d562dd59a99 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/git/libcxxabi/gnu-install-dirs.patch
+++ b/nixpkgs/pkgs/development/compilers/llvm/git/libcxxabi/gnu-install-dirs.patch
@@ -1,5 +1,5 @@
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 1e8b73aa38cc..6f7b2a25d205 100644
+index 9fb35860d483..5739d9e8af62 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
 @@ -27,6 +27,8 @@ set(LIBCXXABI_LIBCXX_PATH "${CMAKE_CURRENT_LIST_DIR}/../libcxx" CACHE PATH
@@ -11,26 +11,27 @@ index 1e8b73aa38cc..6f7b2a25d205 100644
    set(PACKAGE_NAME libcxxabi)
    set(PACKAGE_VERSION 11.0.0git)
    set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
-@@ -196,7 +198,7 @@ set(CMAKE_MODULE_PATH
+@@ -195,7 +197,7 @@ set(CMAKE_MODULE_PATH
  if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
    set(LIBCXXABI_HEADER_DIR ${LLVM_BINARY_DIR})
    set(LIBCXXABI_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}/${LLVM_DEFAULT_TARGET_TRIPLE})
--  set(LIBCXXABI_INSTALL_LIBRARY_DIR lib${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE})
-+  set(LIBCXXABI_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE})
+-  set(LIBCXXABI_INSTALL_LIBRARY_DIR lib${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE} CACHE PATH
++  set(LIBCXXABI_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE} CACHE PATH
+       "Path where built libc++abi libraries should be installed.")
    if(LIBCXX_LIBDIR_SUBDIR)
      string(APPEND LIBCXXABI_LIBRARY_DIR /${LIBCXXABI_LIBDIR_SUBDIR})
-     string(APPEND LIBCXXABI_INSTALL_LIBRARY_DIR /${LIBCXXABI_LIBDIR_SUBDIR})
-@@ -204,11 +206,11 @@ if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
+@@ -204,12 +206,12 @@ if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
  elseif(LLVM_LIBRARY_OUTPUT_INTDIR)
    set(LIBCXXABI_HEADER_DIR ${LLVM_BINARY_DIR})
    set(LIBCXXABI_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR})
--  set(LIBCXXABI_INSTALL_LIBRARY_DIR lib${LIBCXXABI_LIBDIR_SUFFIX})
-+  set(LIBCXXABI_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LIBCXXABI_LIBDIR_SUFFIX})
+-  set(LIBCXXABI_INSTALL_LIBRARY_DIR lib${LIBCXXABI_LIBDIR_SUFFIX} CACHE PATH
++  set(LIBCXXABI_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LIBCXXABI_LIBDIR_SUFFIX} CACHE PATH
+       "Path where built libc++abi libraries should be installed.")
  else()
    set(LIBCXXABI_HEADER_DIR ${CMAKE_BINARY_DIR})
    set(LIBCXXABI_LIBRARY_DIR ${CMAKE_BINARY_DIR}/lib${LIBCXXABI_LIBDIR_SUFFIX})
--  set(LIBCXXABI_INSTALL_LIBRARY_DIR lib${LIBCXXABI_LIBDIR_SUFFIX})
-+  set(LIBCXXABI_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LIBCXXABI_LIBDIR_SUFFIX})
+-  set(LIBCXXABI_INSTALL_LIBRARY_DIR lib${LIBCXXABI_LIBDIR_SUFFIX} CACHE PATH
++  set(LIBCXXABI_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LIBCXXABI_LIBDIR_SUFFIX} CACHE PATH
+       "Path where built libc++abi libraries should be installed.")
  endif()
  
- set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${LIBCXXABI_LIBRARY_DIR})
diff --git a/nixpkgs/pkgs/development/compilers/llvm/git/libunwind/gnu-install-dirs.patch b/nixpkgs/pkgs/development/compilers/llvm/git/libunwind/gnu-install-dirs.patch
index 56231cd31b2a..8cd25c56f8cc 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/git/libunwind/gnu-install-dirs.patch
+++ b/nixpkgs/pkgs/development/compilers/llvm/git/libunwind/gnu-install-dirs.patch
@@ -1,5 +1,5 @@
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index a2c03fd3f8aa..98de2f8ea7c8 100644
+index 81eddbc24879..e2afb2002150 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
 @@ -23,6 +23,8 @@ set(LIBUNWIND_LIBCXX_PATH "${CMAKE_CURRENT_LIST_DIR}/../libcxx" CACHE PATH
@@ -11,24 +11,26 @@ index a2c03fd3f8aa..98de2f8ea7c8 100644
    set(PACKAGE_NAME libunwind)
    set(PACKAGE_VERSION 13.0.0git)
    set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
-@@ -116,17 +118,17 @@ set(CMAKE_MODULE_PATH
+@@ -116,7 +118,7 @@ set(CMAKE_MODULE_PATH
  
  if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
    set(LIBUNWIND_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}/${LLVM_DEFAULT_TARGET_TRIPLE})
--  set(LIBUNWIND_INSTALL_LIBRARY_DIR lib${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE})
-+  set(LIBUNWIND_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE})
+-  set(LIBUNWIND_INSTALL_LIBRARY_DIR lib${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE} CACHE PATH
++  set(LIBUNWIND_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE} CACHE PATH
+       "Path where built libunwind libraries should be installed.")
    if(LIBCXX_LIBDIR_SUBDIR)
      string(APPEND LIBUNWIND_LIBRARY_DIR /${LIBUNWIND_LIBDIR_SUBDIR})
-     string(APPEND LIBUNWIND_INSTALL_LIBRARY_DIR /${LIBUNWIND_LIBDIR_SUBDIR})
+@@ -124,11 +126,11 @@ if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
    endif()
  elseif(LLVM_LIBRARY_OUTPUT_INTDIR)
    set(LIBUNWIND_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR})
--  set(LIBUNWIND_INSTALL_LIBRARY_DIR lib${LIBUNWIND_LIBDIR_SUFFIX})
-+  set(LIBUNWIND_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX})
+-  set(LIBUNWIND_INSTALL_LIBRARY_DIR lib${LIBUNWIND_LIBDIR_SUFFIX} CACHE PATH
++  set(LIBUNWIND_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX} CACHE PATH
+       "Path where built libunwind libraries should be installed.")
  else()
    set(LIBUNWIND_LIBRARY_DIR ${CMAKE_BINARY_DIR}/lib${LIBUNWIND_LIBDIR_SUFFIX})
--  set(LIBUNWIND_INSTALL_LIBRARY_DIR lib${LIBUNWIND_LIBDIR_SUFFIX})
-+  set(LIBUNWIND_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX})
+-  set(LIBUNWIND_INSTALL_LIBRARY_DIR lib${LIBUNWIND_LIBDIR_SUFFIX} CACHE PATH
++  set(LIBUNWIND_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX} CACHE PATH
+       "Path where built libunwind libraries should be installed.")
  endif()
  
- set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${LIBUNWIND_LIBRARY_DIR})
diff --git a/nixpkgs/pkgs/development/compilers/llvm/git/lldb/default.nix b/nixpkgs/pkgs/development/compilers/llvm/git/lldb/default.nix
index f8c7e7b55e67..96d8b19ee419 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/git/lldb/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/git/lldb/default.nix
@@ -19,6 +19,7 @@
 , Carbon
 , Cocoa
 , lit
+, makeWrapper
 , enableManpages ? false
 }:
 
@@ -42,7 +43,7 @@ stdenv.mkDerivation (rec {
   outputs = [ "out" "lib" "dev" ];
 
   nativeBuildInputs = [
-    cmake python3 which swig lit
+    cmake python3 which swig lit makeWrapper
   ] ++ lib.optionals enableManpages [
     python3.pkgs.sphinx python3.pkgs.recommonmark
   ];
@@ -53,8 +54,7 @@ stdenv.mkDerivation (rec {
     libedit
     libxml2
     libllvm
-  ]
-  ++ lib.optionals stdenv.isDarwin [
+  ] ++ lib.optionals stdenv.isDarwin [
     libobjc
     xpc
     Foundation
@@ -85,7 +85,15 @@ stdenv.mkDerivation (rec {
 
   doCheck = false;
 
+  installCheckPhase = ''
+    if [ ! -e "$lib/${python3.sitePackages}/lldb/_lldb.so" ] ; then
+        return 1;
+    fi
+  '';
+
   postInstall = ''
+    wrapProgram $out/bin/lldb --prefix PYTHONPATH : $lib/${python3.sitePackages}/
+
     # Editor support
     # vscode:
     install -D ../tools/lldb-vscode/package.json $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/package.json
diff --git a/nixpkgs/pkgs/development/compilers/llvm/git/lldb/gnu-install-dirs.patch b/nixpkgs/pkgs/development/compilers/llvm/git/lldb/gnu-install-dirs.patch
index 98321f4479e6..afc945ce2614 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/git/lldb/gnu-install-dirs.patch
+++ b/nixpkgs/pkgs/development/compilers/llvm/git/lldb/gnu-install-dirs.patch
@@ -63,3 +63,29 @@ index 734167e51bc5..f95761b5df58 100644
  install(TARGETS lldbIntelFeatures
 -  LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX})
 +  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX})
+diff --git a/cmake/modules/LLDBStandalone.cmake b/cmake/modules/LLDBStandalone.cmake
+index 752113b..010f187 100644
+--- a/cmake/modules/LLDBStandalone.cmake
++++ b/cmake/modules/LLDBStandalone.cmake
+@@ -62,7 +62,7 @@ endif()
+
+ # They are used as destination of target generators.
+ set(LLVM_RUNTIME_OUTPUT_INTDIR ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin)
+-set(LLVM_LIBRARY_OUTPUT_INTDIR ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX})
++set(LLVM_LIBRARY_OUTPUT_INTDIR ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX})
+ if(WIN32 OR CYGWIN)
+   # DLL platform -- put DLLs into bin.
+   set(LLVM_SHLIB_OUTPUT_INTDIR ${LLVM_RUNTIME_OUTPUT_INTDIR})
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b5633e2..86e4738 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -79,7 +79,7 @@ if (LLDB_ENABLE_PYTHON)
+   if(LLDB_BUILD_FRAMEWORK)
+     set(lldb_python_target_dir "${LLDB_FRAMEWORK_ABSOLUTE_BUILD_DIR}/LLDB.framework/Resources/Python/lldb")
+   else()
+-    set(lldb_python_target_dir "${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${LLDB_PYTHON_RELATIVE_PATH}/lldb")
++    set(lldb_python_target_dir "${CMAKE_INSTALL_LIBDIR}/../${LLDB_PYTHON_RELATIVE_PATH}/lldb")
+   endif()
+   get_target_property(lldb_python_bindings_dir swig_wrapper_python BINARY_DIR)
+   finish_swig_python("lldb-python" "${lldb_python_bindings_dir}" "${lldb_python_target_dir}")
diff --git a/nixpkgs/pkgs/development/compilers/llvm/rocm/clang.nix b/nixpkgs/pkgs/development/compilers/llvm/rocm/clang.nix
index 45c0bfda1922..d6bfd07d444e 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/rocm/clang.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/rocm/clang.nix
@@ -1,7 +1,7 @@
 { lib, stdenv
 , fetchFromGitHub
 , cmake
-, python
+, python3
 , llvm
 , clang-tools-extra_src ? null
 , lld
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   pname = "clang";
 
-  nativeBuildInputs = [ cmake python ];
+  nativeBuildInputs = [ cmake python3 ];
 
   buildInputs = [ llvm ];
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/update-git.py b/nixpkgs/pkgs/development/compilers/llvm/update-git.py
index 880cad1c72b1..488f415f4394 100755
--- a/nixpkgs/pkgs/development/compilers/llvm/update-git.py
+++ b/nixpkgs/pkgs/development/compilers/llvm/update-git.py
@@ -79,8 +79,14 @@ hash = nix_prefetch_url(f'https://github.com/llvm/llvm-project/archive/{commit["
 print('Updating default.nix...')
 with fileinput.FileInput(DEFAULT_NIX, inplace=True) as f:
     for line in f:
+        if match := re.search(r'^  rev-version = "unstable-(.+)";', line):
+                old_date = match.group(1)
         result = re.sub(r'^  release_version = ".+";', f'  release_version = "{release_version}";', line)
         result = re.sub(r'^  rev = ".*";', f'  rev = "{commit["sha"]}";', result)
         result = re.sub(r'^  rev-version = ".+";', f'  rev-version = "{version}";', result)
         result = re.sub(r'^    sha256 = ".+";', f'    sha256 = "{hash}";', result)
         print(result, end='')
+# Commit the result:
+commit_message = f"llvmPackages_git: {old_date} -> {date}"
+subprocess.run(['git', 'add', DEFAULT_NIX], check=True)
+subprocess.run(['git', 'commit', '--file=-'], input=commit_message.encode(), check=True)
diff --git a/nixpkgs/pkgs/development/compilers/llvm/update.sh b/nixpkgs/pkgs/development/compilers/llvm/update.sh
index 8f28d34073cd..603c603f275b 100755
--- a/nixpkgs/pkgs/development/compilers/llvm/update.sh
+++ b/nixpkgs/pkgs/development/compilers/llvm/update.sh
@@ -19,19 +19,26 @@ sed -Ei \
   "$FILE"
 
 readonly ATTRSET="llvmPackages_$VERSION_MAJOR"
-readonly SOURCES=(
-  "clang-unwrapped.src"
-  "compiler-rt.src"
-  "clang-unwrapped.clang-tools-extra_src"
-  "libcxx.src"
-  "libcxxabi.src"
-  "libunwind.src"
-  "lld.src"
-  "lldb.src"
-  "llvm.src"
-  "llvm.polly_src"
-  "openmp.src"
-)
+
+if [ "$VERSION_MAJOR" -ge "13" ]; then
+  readonly SOURCES=(
+    "llvm.src"
+  )
+else
+  readonly SOURCES=(
+    "clang-unwrapped.src"
+    "compiler-rt.src"
+    "clang-unwrapped.clang-tools-extra_src"
+    "libcxx.src"
+    "libcxxabi.src"
+    "libunwind.src"
+    "lld.src"
+    "lldb.src"
+    "llvm.src"
+    "llvm.polly_src"
+    "openmp.src"
+  )
+fi
 
 for SOURCE in "${SOURCES[@]}"; do
   echo "Updating the hash of $SOURCE:"
diff --git a/nixpkgs/pkgs/development/compilers/marst/default.nix b/nixpkgs/pkgs/development/compilers/marst/default.nix
new file mode 100644
index 000000000000..8412c149c234
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/marst/default.nix
@@ -0,0 +1,54 @@
+{ lib
+, stdenv
+, fetchurl
+, texinfo
+}:
+
+stdenv.mkDerivation rec {
+  pname = "marst";
+  version = "2.7";
+
+  src = fetchurl {
+    url = "mirror://gnu/gnu/${pname}/${pname}-${version}.tar.gz";
+    hash = "sha256-Pue50cvjzZ+19iJxfae7VQbxpto7MPgS4jhLh7zk2lA=";
+  };
+
+  nativeBuildInputs = [
+    texinfo
+  ];
+
+  postBuild = ''
+    makeinfo doc/marst.texi -o doc/marst.info
+  '';
+
+  postInstall = ''
+    install -m644 doc/marst.info -Dt $out/share/info/
+    install -m644 doc/marst.pdf -Dt $out/share/doc/${pname}/
+  '';
+
+  meta = with lib; {
+    homepage = "https://www.gnu.org/software/marst/";
+    description = "An Algol-60-to-C translator";
+    longDescription = ''
+      MARST is an Algol-to-C translator. It automatically translates programs
+      written on the algorithmic language Algol 60 to the C programming
+      language.
+
+      The MARST package includes three main components:
+
+      - the translator, MARST, that translates Algol 60 programs to the C
+        programming language.
+
+      - the library, ALGLIB, that contains precompiled standard Algol 60
+        procedures and other necessary library routines. This library is to be
+        used at linking stage. (In the distribution the name libalgol.a is used
+        for this library.)
+
+      - the converter, MACVT, that allows to convert existing Algol 60 programs
+        from some other representations to MARST representation.
+    '';
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/development/compilers/meta-environment/meta-build-env/default.nix b/nixpkgs/pkgs/development/compilers/meta-environment/meta-build-env/default.nix
index 454156c2d280..195f0c0e36f8 100644
--- a/nixpkgs/pkgs/development/compilers/meta-environment/meta-build-env/default.nix
+++ b/nixpkgs/pkgs/development/compilers/meta-environment/meta-build-env/default.nix
@@ -1,9 +1,11 @@
 { lib, stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "meta-build-env-0.1";
+stdenv.mkDerivation rec {
+  pname = "meta-build-env";
+  version = "0.1";
+
   src = fetchurl {
-    url = "http://www.meta-environment.org/releases/meta-build-env-0.1.tar.gz";
+    url = "http://www.meta-environment.org/releases/meta-build-env-${version}.tar.gz";
     sha256 = "1imn1gaan4fv73v8w3k3lgyjzkcn7bdp69k6hlz0vqdg17ysd1x3";
   };
 
diff --git a/nixpkgs/pkgs/development/compilers/mezzo/default.nix b/nixpkgs/pkgs/development/compilers/mezzo/default.nix
index 1710fb986ead..23c75ae28bb7 100644
--- a/nixpkgs/pkgs/development/compilers/mezzo/default.nix
+++ b/nixpkgs/pkgs/development/compilers/mezzo/default.nix
@@ -12,7 +12,8 @@ assert check-ocaml-version "4";
 
 stdenv.mkDerivation {
 
-  name = "mezzo-0.0.m8";
+  pname = "mezzo";
+  version = "0.0.m8";
 
   src = fetchFromGitHub {
     owner = "protz";
diff --git a/nixpkgs/pkgs/development/compilers/mit-scheme/default.nix b/nixpkgs/pkgs/development/compilers/mit-scheme/default.nix
index 8cf709c10aea..e7098abb60af 100644
--- a/nixpkgs/pkgs/development/compilers/mit-scheme/default.nix
+++ b/nixpkgs/pkgs/development/compilers/mit-scheme/default.nix
@@ -1,12 +1,15 @@
 { fetchurl, lib, stdenv, makeWrapper, gnum4, texinfo, texLive, automake,
-  enableX11 ? false, xlibsWrapper ? null }:
+  autoconf, libtool, ghostscript, ncurses,
+  enableX11 ? false, xlibsWrapper }:
 
 let
-  version = "10.1.10";
-  bootstrapFromC = ! (stdenv.isi686 || stdenv.isx86_64);
+  version = "11.2";
+  bootstrapFromC = ! ((stdenv.isLinux && stdenv.isAarch64) || stdenv.isx86_64);
 
-  arch = if      stdenv.isi686   then "-i386"
-         else                         "-x86-64";
+  arch = if stdenv.isLinux && stdenv.isAarch64 then
+    "-aarch64le"
+   else
+     "-x86-64";
 in
 stdenv.mkDerivation {
   name = if enableX11 then "mit-scheme-x11-${version}" else "mit-scheme-${version}";
@@ -16,49 +19,55 @@ stdenv.mkDerivation {
   # leads to more efficient code than when building the tarball that contains
   # generated C code instead of those binaries.
   src =
-    if stdenv.isi686
+    if stdenv.isLinux && stdenv.isAarch64
     then fetchurl {
-      url = "mirror://gnu/mit-scheme/stable.pkg/${version}/mit-scheme-${version}-i386.tar.gz";
-      sha256 = "117lf06vcdbaa5432hwqnskpywc6x8ai0gj99h480a4wzkp3vhy6";
+      url = "mirror://gnu/mit-scheme/stable.pkg/${version}/mit-scheme-${version}-aarch64le.tar.gz";
+      sha256 = "11maixldk20wqb5js5p4imq221zz9nf27649v9pqkdf8fv7rnrs9";
   } else fetchurl {
       url = "mirror://gnu/mit-scheme/stable.pkg/${version}/mit-scheme-${version}-x86-64.tar.gz";
-      sha256 = "1rljv6iddrbssm91c0nn08myj92af36hkix88cc6qwq38xsxs52g";
+      sha256 = "17822hs9y07vcviv2af17p3va7qh79dird49nj50bwi9rz64ia3w";
     };
 
-  buildInputs = if enableX11 then [xlibsWrapper] else [];
+  buildInputs = [ ncurses ] ++ lib.optional enableX11 xlibsWrapper;
 
-  configurePhase =
-    '' (cd src && ./configure)
-       (cd doc && ./configure)
-    '';
+  configurePhase = ''
+    runHook preConfigure
+    (cd src && ./configure)
+    (cd doc && ./configure)
+    runHook postConfigure
+  '';
 
-  buildPhase =
-    '' cd src
-       ${if bootstrapFromC
-         then "./etc/make-liarc.sh --prefix=$out"
-         else "make compile-microcode"}
+  buildPhase = ''
+    runHook preBuild
+    cd src
 
-       cd ../doc
+   ${if bootstrapFromC
+      then "./etc/make-liarc.sh --prefix=$out"
+      else "make compile-microcode"}
 
-       # Provide a `texinfo.tex'.
-       export TEXINPUTS="$(echo ${automake}/share/automake-*)"
-       echo "\$TEXINPUTS is \`$TEXINPUTS'"
-       make
+    cd ../doc
 
-       cd ..
-    '';
+    make
 
-  installPhase =
-    '' make prefix=$out install -C src
-       make prefix=$out install -C doc
-    '';
+    cd ..
+
+    runHook postBuild
+  '';
+
+
+  installPhase = ''
+    runHook preInstall
+    make prefix=$out install -C src
+    make prefix=$out install -C doc
+    runHook postInstall
+  '';
 
-  fixupPhase =
+  postFixup =
     '' wrapProgram $out/bin/mit-scheme${arch} --set MITSCHEME_LIBRARY_PATH \
          $out/lib/mit-scheme${arch}
     '';
 
-  nativeBuildInputs = [ makeWrapper gnum4 texinfo texLive automake ];
+  nativeBuildInputs = [ makeWrapper gnum4 texinfo texLive automake ghostscript autoconf libtool ];
 
   # XXX: The `check' target doesn't exist.
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/compilers/mkcl/default.nix b/nixpkgs/pkgs/development/compilers/mkcl/default.nix
index 3656f1e0dd82..e8452f46a8a5 100644
--- a/nixpkgs/pkgs/development/compilers/mkcl/default.nix
+++ b/nixpkgs/pkgs/development/compilers/mkcl/default.nix
@@ -1,6 +1,6 @@
-{ lib, stdenv, fetchFromGitHub, makeWrapper, gmp, gcc }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, makeWrapper, gmp, gcc }:
 
-with lib; stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "mkcl";
   version = "1.1.11";
 
@@ -11,6 +11,15 @@ with lib; stdenv.mkDerivation rec {
     sha256 = "0i2bfkda20lfypis6i4m7srfz6miyf66d8knp693d6sms73m2l26";
   };
 
+  patches = [
+    # "Array sys_siglist[] never was part of the public interface. Replace it with calls to psiginfo()."
+    (fetchpatch {
+      name = "sys_siglist.patch";
+      url = "https://github.com/jcbeaudoin/MKCL/commit/0777dd08254c88676f4f101117b10786b22111d6.patch";
+      sha256 = "1dnr1jzha77nrxs22mclrcqyqvxxn6q1sfn35qjs77fi3jcinjsc";
+    })
+  ];
+
   nativeBuildInputs = [ makeWrapper ];
 
   propagatedBuildInputs = [ gmp ];
@@ -18,7 +27,7 @@ with lib; stdenv.mkDerivation rec {
   hardeningDisable = [ "format" ];
 
   configureFlags = [
-    "GMP_CFLAGS=-I${gmp.dev}/include"
+    "GMP_CFLAGS=-I${lib.getDev gmp}/include"
     "GMP_LDFLAGS=-L${gmp.out}/lib"
   ];
 
@@ -27,9 +36,9 @@ with lib; stdenv.mkDerivation rec {
     cd contrib/tinycc
     ./configure --cc=cc \
       --elfinterp=$(< $NIX_CC/nix-support/dynamic-linker) \
-      --crtprefix=${getLib stdenv.cc.libc}/lib \
-      --sysincludepaths=${getDev stdenv.cc.libc}/include:{B}/include \
-      --libpaths=${getLib stdenv.cc.libc}/lib
+      --crtprefix=${lib.getLib stdenv.cc.libc}/lib \
+      --sysincludepaths=${lib.getDev stdenv.cc.libc}/include:{B}/include \
+      --libpaths=${lib.getLib stdenv.cc.libc}/lib
   )'';
 
   postInstall = ''
@@ -38,7 +47,7 @@ with lib; stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  meta = {
+  meta = with lib; {
     description = "ANSI Common Lisp Implementation";
     homepage = "https://common-lisp.net/project/mkcl/";
     license = licenses.lgpl2Plus;
diff --git a/nixpkgs/pkgs/development/compilers/mlkit/default.nix b/nixpkgs/pkgs/development/compilers/mlkit/default.nix
index 1769b31b5a5c..77d2fe6cac9d 100644
--- a/nixpkgs/pkgs/development/compilers/mlkit/default.nix
+++ b/nixpkgs/pkgs/development/compilers/mlkit/default.nix
@@ -18,7 +18,9 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Standard ML Compiler and Toolkit";
     homepage = "https://elsman.com/mlkit/";
+    changelog = "https://github.com/melsman/mlkit/blob/v${version}/NEWS.md";
     license = licenses.gpl2Plus;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ athas ];
   };
 }
diff --git a/nixpkgs/pkgs/development/compilers/mono/6.nix b/nixpkgs/pkgs/development/compilers/mono/6.nix
index 04028648a255..1a7297af918e 100644
--- a/nixpkgs/pkgs/development/compilers/mono/6.nix
+++ b/nixpkgs/pkgs/development/compilers/mono/6.nix
@@ -2,8 +2,8 @@
 
 callPackage ./generic.nix ({
   inherit Foundation libobjc;
-  version = "6.12.0.90";
+  version = "6.12.0.122";
   srcArchiveSuffix = "tar.xz";
-  sha256 = "1b6d0926rd0nkmsppwjgmwsxx1479jjvr1gm7zwk64siml15rpji";
+  sha256 = "sha256-KcJ3Zg/F51ExB67hy/jFBXyTcKTN/tovx4G+aYbYnSM=";
   enableParallelBuilding = true;
 })
diff --git a/nixpkgs/pkgs/development/compilers/nextpnr/default.nix b/nixpkgs/pkgs/development/compilers/nextpnr/default.nix
index efb299854525..949c70318ace 100644
--- a/nixpkgs/pkgs/development/compilers/nextpnr/default.nix
+++ b/nixpkgs/pkgs/development/compilers/nextpnr/default.nix
@@ -14,21 +14,21 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "nextpnr";
-  version = "2021.01.02";
+  version = "2021.08.16";
 
   srcs = [
     (fetchFromGitHub {
       owner  = "YosysHQ";
       repo   = "nextpnr";
-      rev    = "9b9628047c01a970cfe20f83f2b7129ed109440d";
-      sha256 = "0pcv96d0n40h2ipywi909hpzlys5b6r4pamc320qk1xxhppmgkmm";
+      rev    = "b37d133c43c45862bd5c550b5d7fffaa8c49b968";
+      sha256 = "0qc9d8cay2j5ggn0mgjq484vv7a14na16s9dmp7bqz7r9cn4b98n";
       name   = "nextpnr";
     })
     (fetchFromGitHub {
       owner  = "YosysHQ";
       repo   = "nextpnr-tests";
-      rev    = "8f93e7e0f897b1b5da469919c9a43ba28b623b2a";
-      sha256 = "0zpd0w49k9l7rs3wmi2v8z5s4l4lad5rprs5l83w13667himpzyc";
+      rev    = "ccc61e5ec7cc04410462ec3196ad467354787afb";
+      sha256 = "09a0bhrphr3rsppryrfak4rhziyj8k3s17kgb0vgm0abjiz0jgam";
       name   = "nextpnr-tests";
     })
   ];
diff --git a/nixpkgs/pkgs/development/compilers/ocaml/4.13.nix b/nixpkgs/pkgs/development/compilers/ocaml/4.13.nix
index 008d2cd6d075..723b597b88dc 100644
--- a/nixpkgs/pkgs/development/compilers/ocaml/4.13.nix
+++ b/nixpkgs/pkgs/development/compilers/ocaml/4.13.nix
@@ -1,9 +1,9 @@
 import ./generic.nix {
   major_version = "4";
   minor_version = "13";
-  patch_version = "0-alpha2";
+  patch_version = "0-beta1";
   src = fetchTarball {
-    url = "https://caml.inria.fr/pub/distrib/ocaml-4.13/ocaml-4.13.0~alpha2.tar.xz";
-    sha256 = "0krb0254i6ihbymjn6mwgzcfrzsvpk9hbagl0agm6wml21zpcsif";
+    url = "https://caml.inria.fr/pub/distrib/ocaml-4.13/ocaml-4.13.0~beta1.tar.xz";
+    sha256 = "0dbz69p1kqabjvzaasy2malfdfn4b93s504x2xs0dl5l3fa3p6c3";
   };
 }
diff --git a/nixpkgs/pkgs/development/compilers/ocaml/generic.nix b/nixpkgs/pkgs/development/compilers/ocaml/generic.nix
index d9853dd642ab..2dd959600eac 100644
--- a/nixpkgs/pkgs/development/compilers/ocaml/generic.nix
+++ b/nixpkgs/pkgs/development/compilers/ocaml/generic.nix
@@ -81,37 +81,33 @@ stdenv.mkDerivation (args // {
   };
 
   meta = with lib; {
-    homepage = "http://caml.inria.fr/ocaml";
+    homepage = "https://ocaml.org/";
     branch = versionNoPatch;
     license = with licenses; [
       qpl /* compiler */
       lgpl2 /* library */
     ];
-    description = "Most popular variant of the Caml language";
-
-    longDescription =
-      ''
-        OCaml is the most popular variant of the Caml language.  From a
-        language standpoint, it extends the core Caml language with a
-        fully-fledged object-oriented layer, as well as a powerful module
-        system, all connected by a sound, polymorphic type system featuring
-        type inference.
-
-        The OCaml system is an industrial-strength implementation of this
-        language, featuring a high-performance native-code compiler (ocamlopt)
-        for 9 processor architectures (IA32, PowerPC, AMD64, Alpha, Sparc,
-        Mips, IA64, HPPA, StrongArm), as well as a bytecode compiler (ocamlc)
-        and an interactive read-eval-print loop (ocaml) for quick development
-        and portability.  The OCaml distribution includes a comprehensive
-        standard library, a replay debugger (ocamldebug), lexer (ocamllex) and
-        parser (ocamlyacc) generators, a pre-processor pretty-printer (camlp4)
-        and a documentation generator (ocamldoc).
-      '';
+    description = "OCaml is an industrial-strength programming language supporting functional, imperative and object-oriented styles";
+
+    longDescription = ''
+      OCaml is a general purpose programming language with an emphasis on expressiveness and safety. Developed for more than 20 years at Inria by a group of leading researchers, it has an advanced type system that helps catch your mistakes without getting in your way. It's used in environments where a single mistake can cost millions and speed matters, is supported by an active community, and has a rich set of libraries and development tools. It's widely used in teaching for its power and simplicity.
+
+      Strengths:
+      * A powerful type system, equipped with parametric polymorphism and type inference. For instance, the type of a collection can be parameterized by the type of its elements. This allows defining some operations over a collection independently of the type of its elements: sorting an array is one example. Furthermore, type inference allows defining such operations without having to explicitly provide the type of their parameters and result.
+      * User-definable algebraic data types and pattern-matching. New algebraic data types can be defined as combinations of records and sums. Functions that operate over such data structures can then be defined by pattern matching, a generalized form of the well-known switch statement, which offers a clean and elegant way of simultaneously examining and naming data.
+      * Automatic memory management, thanks to a fast, unobtrusive, incremental garbage collector.
+      * Separate compilation of standalone applications. Portable bytecode compilers allow creating stand-alone applications out of Caml Light or OCaml programs. A foreign function interface allows OCaml code to interoperate with C code when necessary. Interactive use of OCaml is also supported via a “read-evaluate-print” loop.
+
+      In addition, OCaml features:
+      * A sophisticated module system, which allows organizing modules hierarchically and parameterizing a module over a number of other modules.
+      * An expressive object-oriented layer, featuring multiple inheritance, parametric and virtual classes.
+      * Efficient native code compilers. In addition to its bytecode compiler, OCaml offers a compiler that produces efficient machine code for many architectures.
+
+      Learn more at: https://ocaml.org/learn/description.html
+    '';
 
     platforms = with platforms; linux ++ darwin;
     broken = stdenv.isAarch64 && !lib.versionAtLeast version "4.06";
   };
 
 })
-
-
diff --git a/nixpkgs/pkgs/development/compilers/opendylan/default.nix b/nixpkgs/pkgs/development/compilers/opendylan/default.nix
index 45b2454259f7..1ffc85a6ada5 100644
--- a/nixpkgs/pkgs/development/compilers/opendylan/default.nix
+++ b/nixpkgs/pkgs/development/compilers/opendylan/default.nix
@@ -2,7 +2,8 @@
 {lib, stdenv, fetchgit, boehmgc, mps, gnused, opendylan-bootstrap, autoconf, automake, perl, makeWrapper, gcc }:
 
 stdenv.mkDerivation {
-  name = "opendylan-2016.1pre";
+  pname = "opendylan";
+  version = "2016.1pre";
 
   src = fetchgit {
     url = "https://github.com/dylan-lang/opendylan";
diff --git a/nixpkgs/pkgs/development/compilers/openjdk/darwin/11.nix b/nixpkgs/pkgs/development/compilers/openjdk/darwin/11.nix
index ae045ddfdba0..0b158a169321 100644
--- a/nixpkgs/pkgs/development/compilers/openjdk/darwin/11.nix
+++ b/nixpkgs/pkgs/development/compilers/openjdk/darwin/11.nix
@@ -65,6 +65,12 @@ let
       EOF
     '';
 
+    # fixupPhase is moving the man to share/man which breaks it because it's a
+    # relative symlink.
+    postFixup = ''
+      ln -nsf ../zulu-11.jdk/Contents/Home/man $out/share/man
+    '';
+
     passthru = {
       home = jdk;
     };
diff --git a/nixpkgs/pkgs/development/compilers/openjdk/darwin/default.nix b/nixpkgs/pkgs/development/compilers/openjdk/darwin/default.nix
index 9478f83477c8..1d6776303bf0 100644
--- a/nixpkgs/pkgs/development/compilers/openjdk/darwin/default.nix
+++ b/nixpkgs/pkgs/development/compilers/openjdk/darwin/default.nix
@@ -65,6 +65,12 @@ let
       EOF
     '';
 
+    # fixupPhase is moving the man to share/man which breaks it because it's a
+    # relative symlink.
+    postFixup = ''
+      ln -nsf ../zulu-${lib.versions.major version}.jdk/Contents/Home/man $out/share/man
+    '';
+
     passthru = {
       home = jdk;
     };
diff --git a/nixpkgs/pkgs/development/compilers/openjdk/jre_minimal_test1.nix b/nixpkgs/pkgs/development/compilers/openjdk/jre_minimal_test1.nix
deleted file mode 100644
index eebd11fb2fdf..000000000000
--- a/nixpkgs/pkgs/development/compilers/openjdk/jre_minimal_test1.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ runCommand
-, callPackage
-, jdk
-, jre_minimal
-}:
-
-let
-  hello = callPackage tests/hello.nix {
-    jdk = jdk;
-    jre = jre_minimal;
-  };
-in
-  runCommand "test" {} ''
-    ${hello}/bin/hello | grep "Hello, world!"
-    touch $out
-  ''
diff --git a/nixpkgs/pkgs/development/compilers/openjdk/openjfx/11.nix b/nixpkgs/pkgs/development/compilers/openjdk/openjfx/11.nix
index 228dbf9b14e9..1d741fd8be2d 100644
--- a/nixpkgs/pkgs/development/compilers/openjdk/openjfx/11.nix
+++ b/nixpkgs/pkgs/development/compilers/openjdk/openjfx/11.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchurl, writeText, gradleGen, pkg-config, perl, cmake
-, gperf, gtk2, gtk3, libXtst, libXxf86vm, glib, alsa-lib, ffmpeg, python, ruby
+, gperf, gtk2, gtk3, libXtst, libXxf86vm, glib, alsa-lib, ffmpeg, python2, ruby
 , openjdk11-bootstrap }:
 
 let
@@ -20,7 +20,7 @@ let
     };
 
     buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg ];
-    nativeBuildInputs = [ gradle_ perl pkg-config cmake gperf python ruby ];
+    nativeBuildInputs = [ gradle_ perl pkg-config cmake gperf python2 ruby ];
 
     dontUseCmakeConfigure = true;
 
diff --git a/nixpkgs/pkgs/development/compilers/osl/default.nix b/nixpkgs/pkgs/development/compilers/osl/default.nix
index 100676448131..eeaba75c0de4 100644
--- a/nixpkgs/pkgs/development/compilers/osl/default.nix
+++ b/nixpkgs/pkgs/development/compilers/osl/default.nix
@@ -1,6 +1,6 @@
 { clangStdenv, lib, fetchFromGitHub, cmake, zlib, openexr,
 openimageio, llvm, boost165, flex, bison, partio, pugixml,
-util-linux, python
+util-linux, python3
 }:
 
 let boost_static = boost165.override { enableStatic = true; };
@@ -26,7 +26,7 @@ in clangStdenv.mkDerivation rec {
      zlib openexr openimageio llvm
      partio pugixml
      util-linux # needed just for hexdump
-     python # CMake doesn't check this?
+     python3 # CMake doesn't check this?
   ];
   # TODO: How important is partio? CMake doesn't seem to find it
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/compilers/ponyc/pony-corral.nix b/nixpkgs/pkgs/development/compilers/ponyc/pony-corral.nix
index 3f40a4d7889e..43fe247b79fb 100644
--- a/nixpkgs/pkgs/development/compilers/ponyc/pony-corral.nix
+++ b/nixpkgs/pkgs/development/compilers/ponyc/pony-corral.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation ( rec {
   pname = "corral";
-  version = "0.5.1";
+  version = "0.5.3";
 
   src = fetchFromGitHub {
     owner = "ponylang";
     repo = pname;
     rev = version;
-    sha256 = "1g4dkf5hsnykn3x6yx6ycjzmzzr1nwl59lj13j7zyka1ibv53hwf";
+    sha256 = "sha256-27J1Y3+tbZK7RX+63xVV2eaX/LF525vBR3Ff9EYDEl0=";
   };
 
   buildInputs = [ ponyc ];
diff --git a/nixpkgs/pkgs/development/compilers/purescript/purescript/default.nix b/nixpkgs/pkgs/development/compilers/purescript/purescript/default.nix
index adf9dd13c71f..9b71975f5023 100644
--- a/nixpkgs/pkgs/development/compilers/purescript/purescript/default.nix
+++ b/nixpkgs/pkgs/development/compilers/purescript/purescript/default.nix
@@ -18,19 +18,20 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "purescript";
-  version = "0.14.3";
+  version = "0.14.4";
 
+  # These hashes can be updated automatically by running the ./update.sh script.
   src =
     if stdenv.isDarwin
     then
     fetchurl {
       url = "https://github.com/${pname}/${pname}/releases/download/v${version}/macos.tar.gz";
-      sha256 = "1ipksp6kx3h030xf1y3y30gazrdz893pklanwak27hbqfy3ckssj";
+      sha256 = "0m6zwb5f890d025zpn006qr8cky6zhjycap5az9zh6h47jfbrcf9";
     }
     else
     fetchurl {
       url = "https://github.com/${pname}/${pname}/releases/download/v${version}/linux64.tar.gz";
-      sha256 = "158jyjpfgd84gbwpxqj41mvpy0fmb1d1iqq2h42sc7041v2f38p0";
+      sha256 = "0hgsh6l52z873b2zk3llvqik18ifika48lmr71qyhlqf250ng9m0";
     };
 
 
@@ -51,8 +52,11 @@ in stdenv.mkDerivation rec {
     $PURS --bash-completion-script $PURS > $out/share/bash-completion/completions/purs-completion.bash
   '';
 
-  passthru.tests = {
-    minimal-module = pkgs.callPackage ./test-minimal-module {};
+  passthru = {
+    updateScript = ./update.sh;
+    tests = {
+      minimal-module = pkgs.callPackage ./test-minimal-module {};
+    };
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/compilers/purescript/purescript/update.sh b/nixpkgs/pkgs/development/compilers/purescript/purescript/update.sh
new file mode 100755
index 000000000000..ea6663d810c4
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/purescript/purescript/update.sh
@@ -0,0 +1,43 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p curl gnused jq -I nixpkgs=.
+#
+# This script will update the purescript derivation to the latest version.
+
+set -eo pipefail
+
+# This is the directory of this update.sh script.
+script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
+
+purescript_derivation_file="${script_dir}/default.nix"
+
+# This is the current revision of PureScript in Nixpkgs.
+old_version="$(sed -En 's/.*\bversion = "(.*?)".*/\1/p' "$purescript_derivation_file")"
+
+# This is the latest release version of PureScript on GitHub.
+new_version=$(curl --silent "https://api.github.com/repos/purescript/purescript/releases" | jq '.[0].tag_name' --raw-output | sed -e 's/v//')
+
+echo "Updating purescript from old version v${old_version} to new version v${new_version}."
+echo
+
+echo "Fetching both old and new release tarballs for Darwin and Linux in order to confirm hashes."
+echo
+old_linux_version_hash="$(nix-prefetch-url "https://github.com/purescript/purescript/releases/download/v${old_version}/linux64.tar.gz")"
+echo "v${old_version} linux tarball hash (current version): $old_linux_version_hash"
+new_linux_version_hash="$(nix-prefetch-url "https://github.com/purescript/purescript/releases/download/v${new_version}/linux64.tar.gz")"
+echo "v${new_version} linux tarball hash: $new_linux_version_hash"
+old_darwin_version_hash="$(nix-prefetch-url "https://github.com/purescript/purescript/releases/download/v${old_version}/macos.tar.gz")"
+echo "v${old_version} darwin tarball hash (current version): $old_darwin_version_hash"
+new_darwin_version_hash="$(nix-prefetch-url "https://github.com/purescript/purescript/releases/download/v${new_version}/macos.tar.gz")"
+echo "v${new_version} darwin tarball hash: $new_darwin_version_hash"
+echo
+
+echo "Replacing version and hashes in ${purescript_derivation_file}."
+sed -i -e "s/${old_linux_version_hash}/${new_linux_version_hash}/" "$purescript_derivation_file"
+sed -i -e "s/${old_darwin_version_hash}/${new_darwin_version_hash}/" "$purescript_derivation_file"
+sed -i -e "s/${old_version}/${new_version}/" "$purescript_derivation_file"
+echo
+
+echo "Finished.  Make sure you run the following commands to confirm PureScript builds correctly:"
+echo ' - `nix build -L -f ./. purescript`'
+echo ' - `nix build -L -f ./. purescript.passthru.tests.minimal-module`'
+echo ' - `sudo nix build -L -f ./. spago.passthru.tests --option sandbox relaxed`'
diff --git a/nixpkgs/pkgs/development/compilers/rgbds/default.nix b/nixpkgs/pkgs/development/compilers/rgbds/default.nix
index 6bc74971c4e9..00b20abbda8a 100644
--- a/nixpkgs/pkgs/development/compilers/rgbds/default.nix
+++ b/nixpkgs/pkgs/development/compilers/rgbds/default.nix
@@ -1,23 +1,19 @@
 {lib, stdenv, fetchFromGitHub, bison, flex, pkg-config, libpng}:
 
-# TODO: byacc is the recommended parser generator but due to https://github.com/rednex/rgbds/issues/333
-# it does not work for the moment. We should switch back to byacc as soon as the fix is integrated
-# in a published version.
-
 stdenv.mkDerivation rec {
   pname = "rgbds";
-  version = "0.4.2";
+  version = "0.5.1";
   src = fetchFromGitHub {
-    owner = "rednex";
+    owner = "gbdev";
     repo = "rgbds";
     rev = "v${version}";
-    sha256 = "0lygj7jzjlq4w0mkiir7ycysrd1p1akyvzrppjcchja05mi8wy9p";
+    sha256 = "11b1hg2m2f60q5622rb0nxhrzzylsxjx0c8inbxifi6lvmj9ak4x";
   };
   nativeBuildInputs = [ bison flex pkg-config libpng ];
   installFlags = [ "PREFIX=\${out}" ];
 
   meta = with lib; {
-    homepage = "https://rednex.github.io/rgbds/";
+    homepage = "https://rgbds.gbdev.io/";
     description = "A free assembler/linker package for the Game Boy and Game Boy Color";
     license = licenses.mit;
     longDescription =
diff --git a/nixpkgs/pkgs/development/compilers/rust/default.nix b/nixpkgs/pkgs/development/compilers/rust/default.nix
index fee21023c4c2..3e6f3a044fb4 100644
--- a/nixpkgs/pkgs/development/compilers/rust/default.nix
+++ b/nixpkgs/pkgs/development/compilers/rust/default.nix
@@ -38,8 +38,11 @@
       "armv5tel" = "armv5te";
       "riscv64" = "riscv64gc";
     }.${cpu.name} or cpu.name;
+    vendor_ = platform.rustc.platform.vendor or {
+      "w64" = "pc";
+    }.${vendor.name} or vendor.name;
   in platform.rustc.config
-    or "${cpu_}-${vendor.name}-${kernel.name}${lib.optionalString (abi.name != "unknown") "-${abi.name}"}";
+    or "${cpu_}-${vendor_}-${kernel.name}${lib.optionalString (abi.name != "unknown") "-${abi.name}"}";
 
   # Returns the name of the rust target if it is standard, or the json file
   # containing the custom target spec.
diff --git a/nixpkgs/pkgs/development/compilers/sbcl/common.nix b/nixpkgs/pkgs/development/compilers/sbcl/common.nix
index eb3f6aba200c..d81d1bf8f630 100644
--- a/nixpkgs/pkgs/development/compilers/sbcl/common.nix
+++ b/nixpkgs/pkgs/development/compilers/sbcl/common.nix
@@ -1,6 +1,6 @@
 { version, sha256 }:
 
-{ lib, stdenv, fetchurl, writeText, sbclBootstrap
+{ lib, stdenv, fetchurl, fetchpatch, writeText, sbclBootstrap
 , sbclBootstrapHost ? "${sbclBootstrap}/bin/sbcl --disable-debugger --no-userinit --no-sysinit"
 , threadSupport ? (stdenv.isi686 || stdenv.isx86_64 || "aarch64-linux" == stdenv.hostPlatform.system || "aarch64-darwin" == stdenv.hostPlatform.system)
 , disableImmobileSpace ? false
@@ -22,6 +22,14 @@ stdenv.mkDerivation rec {
 
   buildInputs = [texinfo];
 
+  patches = lib.optional
+    (lib.versionAtLeast version "2.1.2" && lib.versionOlder version "2.1.8")
+    (fetchpatch {
+      # Fix segfault on ARM when reading large core files
+      url = "https://github.com/sbcl/sbcl/commit/8fa3f76fba2e8572e86ac6fc5754e6b2954fc774.patch";
+      sha256 = "1ic531pjnws1k3xd03a5ixbq8cn10dlh2nfln59k0vbm0253g3lv";
+    });
+
   postPatch = ''
     echo '"${version}.nixos"' > version.lisp-expr
 
diff --git a/nixpkgs/pkgs/development/compilers/scala-runners/default.nix b/nixpkgs/pkgs/development/compilers/scala-runners/default.nix
index e379bf4e38e9..0f0de015af5f 100644
--- a/nixpkgs/pkgs/development/compilers/scala-runners/default.nix
+++ b/nixpkgs/pkgs/development/compilers/scala-runners/default.nix
@@ -1,16 +1,17 @@
-{ stdenv, lib, fetchFromGitHub, jre, coursier }:
+{ stdenv, lib, fetchFromGitHub, coursier }:
 
 stdenv.mkDerivation rec {
   pname = "scala-runners";
-  version = "unstable-2020-02-02";
+  version = "unstable-2021-07-28";
 
   src = fetchFromGitHub {
     repo = pname;
     owner = "dwijnand";
-    rev = "95e03c9f9de0fe0ab61eeb6dea2a364f9d081d31";
-    sha256 = "0mvlc6fxsh5d6gsyak9n3g98g4r061n8pir37jpiqb7z00m9lfrx";
+    rev = "9bf096ca81f4974d7327e291eac291e22b344a8f";
+    sha256 = "032fds5nr102h1lc81n9jc60jmxzivi4md4hcjrlqn076hfhj4ax";
   };
 
+  dontBuild = true;
   installPhase = ''
     mkdir -p $out/bin $out/lib
     sed -ie "s| cs | ${coursier}/bin/coursier |" scala-runner
diff --git a/nixpkgs/pkgs/development/compilers/scala/2.x.nix b/nixpkgs/pkgs/development/compilers/scala/2.x.nix
index fe821f18c156..1ffdc5ec0263 100644
--- a/nixpkgs/pkgs/development/compilers/scala/2.x.nix
+++ b/nixpkgs/pkgs/development/compilers/scala/2.x.nix
@@ -1,5 +1,5 @@
-{ stdenv, lib, fetchurl, makeWrapper, jre, gnugrep, coreutils
-, writeScript, common-updater-scripts, git, gnused, nix, nixfmt, majorVersion }:
+{ stdenv, lib, fetchurl, makeWrapper, jre, gnugrep, coreutils, writeScript
+, common-updater-scripts, git, gnused, nix, nixfmt, majorVersion }:
 
 with lib;
 
@@ -20,8 +20,8 @@ let
     };
 
     "2.12" = {
-      version = "2.12.13";
-      sha256 = "17548sx7liskkadqiqaajmwp2w7bh9m2d8hp2mwyg8yslmjx4pcc";
+      version = "2.12.14";
+      sha256 = "/X4+QDIogBOinAoUR8WX+vew5Jl2LA2YHbIQmel4BCY=";
       pname = "scala_2_12";
     };
 
diff --git a/nixpkgs/pkgs/development/compilers/sdcc/default.nix b/nixpkgs/pkgs/development/compilers/sdcc/default.nix
index d0ebb57920bc..28a461b09883 100644
--- a/nixpkgs/pkgs/development/compilers/sdcc/default.nix
+++ b/nixpkgs/pkgs/development/compilers/sdcc/default.nix
@@ -23,6 +23,12 @@ stdenv.mkDerivation rec {
 
   configureFlags = map (f: "--disable-${f}-port") excludedPorts;
 
+  preConfigure = ''
+    if test -n "''${dontStrip-}"; then
+      export STRIP=none
+    fi
+  '';
+
   meta = {
     description = "Small Device C Compiler";
     longDescription = ''
diff --git a/nixpkgs/pkgs/development/compilers/seexpr/default.nix b/nixpkgs/pkgs/development/compilers/seexpr/default.nix
index 7fc1fc7b1b6d..5dfa08c45727 100644
--- a/nixpkgs/pkgs/development/compilers/seexpr/default.nix
+++ b/nixpkgs/pkgs/development/compilers/seexpr/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub, cmake, libpng, zlib, qt4,
-bison, flex, libGLU, pythonPackages
+bison, flex, libGLU, python2Packages
 }:
 
 stdenv.mkDerivation {
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ libGLU libpng zlib qt4 pythonPackages.pyqt4 bison flex ];
+  buildInputs = [ libGLU libpng zlib qt4 python2Packages.pyqt4 bison flex ];
   meta = with lib; {
     description = "Embeddable expression evaluation engine from Disney Animation";
     homepage = "https://www.disneyanimation.com/technology/seexpr.html";
diff --git a/nixpkgs/pkgs/development/compilers/stalin/default.nix b/nixpkgs/pkgs/development/compilers/stalin/default.nix
index f47086b1ca25..50603919b8b3 100644
--- a/nixpkgs/pkgs/development/compilers/stalin/default.nix
+++ b/nixpkgs/pkgs/development/compilers/stalin/default.nix
@@ -1,7 +1,8 @@
 { fetchurl, lib, stdenv, ncompress, libX11 }:
 
 stdenv.mkDerivation rec {
-  name = "stalin-0.11";
+  pname = "stalin";
+  version = "0.11";
 
   src = fetchurl {
     url = "ftp://ftp.ecn.purdue.edu/qobi/stalin.tar.Z";
@@ -22,16 +23,16 @@ stdenv.mkDerivation rec {
     mkdir -p "$out/share/emacs/site-lisp"
     cp stalin.el "$out/share/emacs/site-lisp"
 
-    mkdir -p "$out/doc/${name}"
-    cp README "$out/doc/${name}"
+    mkdir -p "$out/doc/stalin-${version}"
+    cp README "$out/doc/stalin-${version}"
 
-    mkdir -p "$out/share/${name}/include"
-    cp "include/"* "$out/share/${name}/include"
+    mkdir -p "$out/share/stalin-${version}/include"
+    cp "include/"* "$out/share/stalin-${version}/include"
 
     substituteInPlace "$out/bin/stalin" \
-      --replace "$PWD/include/stalin" "$out/share/${name}/include/stalin"
+      --replace "$PWD/include/stalin" "$out/share/stalin-${version}/include/stalin"
     substituteInPlace "$out/bin/stalin" \
-      --replace "$PWD/include" "$out/share/${name}/include"
+      --replace "$PWD/include" "$out/share/stalin-${version}/include"
   '';
 
   meta = {
diff --git a/nixpkgs/pkgs/development/compilers/swift/default.nix b/nixpkgs/pkgs/development/compilers/swift/default.nix
index 530115602673..7fc2485da019 100644
--- a/nixpkgs/pkgs/development/compilers/swift/default.nix
+++ b/nixpkgs/pkgs/development/compilers/swift/default.nix
@@ -12,12 +12,13 @@
 , swig
 , bash
 , libxml2
-, clang
-, python
+, clang_10
+, python3
 , ncurses
 , libuuid
 , libbsd
 , icu
+, libgcc
 , autoconf
 , libtool
 , automake
@@ -35,9 +36,14 @@
 }:
 
 let
-  version = "5.1.1";
+  version = "5.4.2";
 
-  fetch = { repo, sha256, fetchSubmodules ? false }:
+  # These dependency versions can be found in utils/update_checkout/update-checkout-config.json.
+  swiftArgumentParserVersion = "0.3.0";
+  yamsVersion = "3.0.1";
+  swiftFormatVersion = "0.50400.0";
+
+  fetchSwiftRelease = { repo, sha256, fetchSubmodules ? false }:
     fetchFromGitHub {
       owner = "apple";
       inherit repo sha256 fetchSubmodules;
@@ -45,63 +51,87 @@ let
       name = "${repo}-${version}-src";
     };
 
+  # Sources based on utils/update_checkout/update_checkout-config.json.
   sources = {
-    llvm = fetch {
-      repo = "swift-llvm";
-      sha256 = "00ldd9dby6fl6nk3z17148fvb7g9x4jkn1afx26y51v8rwgm1i7f";
-    };
-    compilerrt = fetch {
-      repo = "swift-compiler-rt";
-      sha256 = "1431f74l0n2dxn728qp65nc6hivx88fax1wzfrnrv19y77br05wj";
-    };
-    clang = fetch {
-      repo = "swift-clang";
-      sha256 = "0n7k6nvzgqp6h6bfqcmna484w90db3zv4sh5rdh89wxyhdz6rk4v";
-    };
-    clangtools = fetch {
-      repo = "swift-clang-tools-extra";
-      sha256 = "0snp2rpd60z239pr7fxpkj332rkdjhg63adqvqdkjsbrxcqqcgqa";
+    swift = fetchSwiftRelease {
+      repo = "swift";
+      sha256 = "0qrkqkwpmk312fi12kwwyihin01qb7sphhdz5c6an8j1rjfd9wbv";
     };
-    indexstore = fetch {
-      repo = "indexstore-db";
-      sha256 = "1gwkqkdmpd5hn7555dpdkys0z50yh00hjry2886h6rx7avh5p05n";
+    cmark = fetchSwiftRelease {
+      repo = "swift-cmark";
+      sha256 = "0340j9x2n40yx61ma2pgqfbn3a9ijrh20iwzd1zxqq87rr76hh3z";
     };
-    sourcekit = fetch {
-      repo = "sourcekit-lsp";
-      sha256 = "0k84ssr1k7grbvpk81rr21ii8csnixn9dp0cga98h6i1gshn8ml4";
+    llbuild = fetchSwiftRelease {
+      repo = "swift-llbuild";
+      sha256 = "0d7sj5a9b5c1ry2209cpccic5radf9s48sp1lahqzmd1pdx3n7pi";
     };
-    cmark = fetch {
-      repo = "swift-cmark";
-      sha256 = "079smm79hbwr06bvghd2sb86b8gpkprnzlyj9kh95jy38xhlhdnj";
+    argumentParser = fetchFromGitHub {
+      owner = "apple";
+      repo = "swift-argument-parser";
+      rev = swiftArgumentParserVersion;
+      sha256 = "15vv7hnffa84142q97dwjcn196p2bg8nfh89d6nnix0i681n1qfd";
+      name = "swift-argument-parser-${swiftArgumentParserVersion}";
     };
-    lldb = fetch {
-      repo = "swift-lldb";
-      sha256 = "0j787475f0nlmvxqblkhn3yrvn9qhcb2jcijwijxwq95ar2jdygs";
+    driver = fetchSwiftRelease {
+      repo = "swift-driver";
+      sha256 = "1j08273haqv7786rkwsmw7g103glfwy1d2807490id9lagq3r66z";
     };
-    llbuild = fetch {
-      repo = "swift-llbuild";
-      sha256 = "1n2s5isxyl6b6ya617gdzjbw68shbvd52vsfqc1256rk4g448v8b";
+    toolsSupportCore = fetchSwiftRelease {
+      repo = "swift-tools-support-core";
+      sha256 = "07gm28ki4px7xzrplvk9nd1pp5r9nyi87l21i0rcbb3r6wrikxb4";
     };
-    pm = fetch {
+    swiftpm = fetchSwiftRelease {
       repo = "swift-package-manager";
-      sha256 = "1a49jmag5mpld9zr96g8a773334mrz1c4nyw38gf4p6sckf4jp29";
+      sha256 = "05linnzlidxamzl3723zhyrfm24pk2cf1x66a3nk0cxgnajw0vzx";
+    };
+    syntax = fetchSwiftRelease {
+      repo = "swift-syntax";
+      sha256 = "1y9agx9bg037xjhkwc28xm28kjyqydgv21s4ijgy5l51yg1g0daj";
     };
-    xctest = fetch {
+    # TODO: possibly re-add stress-tester.
+    corelibsXctest = fetchSwiftRelease {
       repo = "swift-corelibs-xctest";
-      sha256 = "0rxy9sq7i0s0kxfkz0hvdp8zyb40h31f7g4m0kry36qk82gzzh89";
+      sha256 = "00c68580yr12yxshl0hxyhp8psm15fls3c7iqp52hignyl4v745r";
     };
-    foundation = fetch {
+    corelibsFoundation = fetchSwiftRelease {
       repo = "swift-corelibs-foundation";
-      sha256 = "1iiiijsnys0r3hjcj1jlkn3yszzi7hwb2041cnm5z306nl9sybzp";
+      sha256 = "1jyadm2lm7hhik8n8wacfiffpdwqsgnilwmcw22qris5s2drj499";
     };
-    libdispatch = fetch {
+    corelibsLibdispatch = fetchSwiftRelease {
       repo = "swift-corelibs-libdispatch";
-      sha256 = "0laqsizsikyjhrzn0rghvxd8afg4yav7cbghvnf7ywk9wc6kpkmn";
+      sha256 = "1s46c0hrxi42r43ff5f1pq2imb3hs05adfpwfxkilgqyb5svafsp";
       fetchSubmodules = true;
     };
-    swift = fetch {
-      repo = "swift";
-      sha256 = "0m4r1gzrnn0s1c7haqq9dlmvpqxbgbkbdfmq6qaph869wcmvdkvy";
+    # TODO: possibly re-add integration-tests.
+    # Linux does not support Xcode playgrounds.
+    # We provide our own ninja.
+    # We provider our own icu.
+    yams = fetchFromGitHub {
+      owner = "jpsim";
+      repo = "Yams";
+      rev = yamsVersion;
+      sha256 = "13md54y7lalrpynrw1s0w5yw6rrjpw46fml9dsk2m3ph1bnlrqrq";
+      name = "Yams-${yamsVersion}";
+    };
+    # We provide our own CMake.
+    indexstoreDb = fetchSwiftRelease {
+      repo = "indexstore-db";
+      sha256 = "1ap3hiq2jd3cn10d8d674xysq27by878mvq087a80681r8cdivn3";
+    };
+    sourcekitLsp = fetchSwiftRelease {
+      repo = "sourcekit-lsp";
+      sha256 = "02m9va0lsn2hnwkmgrbgj452sbyaswwmq14lqvxgnb7gssajv4gc";
+    };
+    format = fetchFromGitHub {
+      owner = "apple";
+      repo = "swift-format";
+      rev = swiftFormatVersion;
+      sha256 = "0skmmggsh31f3rnqcrx43178bc7scrjihibnwn68axagasgbqn4k";
+      name = "swift-format-${swiftFormatVersion}-src";
+    };
+    llvmProject = fetchSwiftRelease {
+      repo = "llvm-project";
+      sha256 = "166hd9d2i55zj70xjb1qmbblbfyk8hdb2qv974i07j6cvynn30lm";
     };
   };
 
@@ -112,6 +142,7 @@ let
     libblocksruntime
     libbsd
     libedit
+    libgcc
     libuuid
     libxml2
     ncurses
@@ -119,6 +150,8 @@ let
     swig
   ];
 
+  python = (python3.withPackages (ps: [ps.six]));
+
   cmakeFlags = [
     "-DGLIBC_INCLUDE_PATH=${stdenv.cc.libc.dev}/include"
     "-DC_INCLUDE_DIRS=${lib.makeSearchPathOutput "dev" "include" devInputs}:${libxml2.dev}/include/libxml2"
@@ -136,6 +169,7 @@ stdenv.mkDerivation {
     cmake
     coreutils
     findutils
+    git
     gnumake
     libtool
     makeWrapper
@@ -147,11 +181,12 @@ stdenv.mkDerivation {
     which
   ];
   buildInputs = devInputs ++ [
-    clang
+    clang_10
   ];
 
-  # TODO: Revisit what's propagated and how
+  # TODO: Revisit what needs to be propagated and how.
   propagatedBuildInputs = [
+    libgcc
     libgit2
     python
   ];
@@ -164,32 +199,33 @@ stdenv.mkDerivation {
     cd src
     export SWIFT_SOURCE_ROOT=$PWD
 
-    cp -r ${sources.llvm} llvm
-    cp -r ${sources.compilerrt} compiler-rt
-    cp -r ${sources.clang} clang
-    cp -r ${sources.clangtools} clang-tools-extra
-    cp -r ${sources.indexstore} indexstore-db
-    cp -r ${sources.sourcekit} sourcekit-lsp
+    cp -r ${sources.swift} swift
     cp -r ${sources.cmark} cmark
-    cp -r ${sources.lldb} lldb
     cp -r ${sources.llbuild} llbuild
-    cp -r ${sources.pm} swiftpm
-    cp -r ${sources.xctest} swift-corelibs-xctest
-    cp -r ${sources.foundation} swift-corelibs-foundation
-    cp -r ${sources.libdispatch} swift-corelibs-libdispatch
-    cp -r ${sources.swift} swift
+    cp -r ${sources.argumentParser} swift-argument-parser
+    cp -r ${sources.driver} swift-driver
+    cp -r ${sources.toolsSupportCore} swift-tools-support-core
+    cp -r ${sources.swiftpm} swiftpm
+    cp -r ${sources.syntax} swift-syntax
+    # TODO: possibly re-add stress-tester.
+    cp -r ${sources.corelibsXctest} swift-corelibs-xctest
+    cp -r ${sources.corelibsFoundation} swift-corelibs-foundation
+    cp -r ${sources.corelibsLibdispatch} swift-corelibs-libdispatch
+    # TODO: possibly re-add integration-tests.
+    cp -r ${sources.yams} yams
+    cp -r ${sources.indexstoreDb} indexstore-db
+    cp -r ${sources.sourcekitLsp} sourcekit-lsp
+    cp -r ${sources.format} swift-format
+    cp -r ${sources.llvmProject} llvm-project
 
     chmod -R u+w .
   '';
 
   patchPhase = ''
-    # Glibc 2.31 fix
-    patch -p1 -i ${./patches/swift-llvm.patch}
-
-    # Just patch all the things for now, we can focus this later
+    # Just patch all the things for now, we can focus this later.
     patchShebangs $SWIFT_SOURCE_ROOT
 
-    # TODO eliminate use of env.
+    # TODO: eliminate use of env.
     find -type f -print0 | xargs -0 sed -i \
       -e 's|/usr/bin/env|${coreutils}/bin/env|g' \
       -e 's|/usr/bin/make|${gnumake}/bin/make|g' \
@@ -197,16 +233,13 @@ stdenv.mkDerivation {
       -e 's|/bin/cp|${coreutils}/bin/cp|g' \
       -e 's|/usr/bin/file|${file}/bin/file|g'
 
-    substituteInPlace swift/stdlib/public/Platform/CMakeLists.txt \
-      --replace '/usr/include' "${stdenv.cc.libc.dev}/include"
-    substituteInPlace swift/utils/build-script-impl \
-      --replace '/usr/include/c++' "${gccForLibs}/include/c++"
-    patch -p1 -d swift -i ${./patches/glibc-arch-headers.patch}
+    # Build configuration patches.
     patch -p1 -d swift -i ${./patches/0001-build-presets-linux-don-t-require-using-Ninja.patch}
     patch -p1 -d swift -i ${./patches/0002-build-presets-linux-allow-custom-install-prefix.patch}
     patch -p1 -d swift -i ${./patches/0003-build-presets-linux-don-t-build-extra-libs.patch}
     patch -p1 -d swift -i ${./patches/0004-build-presets-linux-plumb-extra-cmake-options.patch}
-
+    substituteInPlace swift/cmake/modules/SwiftConfigureSDK.cmake \
+      --replace '/usr/include' "${stdenv.cc.libc.dev}/include"
     sed -i swift/utils/build-presets.ini \
       -e 's/^test-installable-package$/# \0/' \
       -e 's/^test$/# \0/' \
@@ -214,41 +247,37 @@ stdenv.mkDerivation {
       -e 's/^long-test$/# \0/' \
       -e 's/^stress-test$/# \0/' \
       -e 's/^test-optimized$/# \0/' \
-      \
       -e 's/^swift-install-components=autolink.*$/\0;editor-integration/'
 
-    substituteInPlace clang/lib/Driver/ToolChains/Linux.cpp \
-      --replace 'SysRoot + "/lib' '"${glibc}/lib" "'
-    substituteInPlace clang/lib/Driver/ToolChains/Linux.cpp \
-      --replace 'SysRoot + "/usr/lib' '"${glibc}/lib" "'
-    patch -p1 -d clang -i ${./patches/llvm-toolchain-dir.patch}
-    patch -p1 -d clang -i ${./purity.patch}
-
-    # Workaround hardcoded dep on "libcurses" (vs "libncurses"):
+    # LLVM toolchain patches.
+    patch -p1 -d llvm-project/clang -i ${./patches/0005-clang-toolchain-dir.patch}
+    patch -p1 -d llvm-project/clang -i ${./patches/0006-clang-purity.patch}
+    substituteInPlace llvm-project/clang/lib/Driver/ToolChains/Linux.cpp \
+      --replace 'SysRoot + "/lib' '"${glibc}/lib" "' \
+      --replace 'SysRoot + "/usr/lib' '"${glibc}/lib" "' \
+      --replace 'LibDir = "lib";' 'LibDir = "${glibc}/lib";' \
+      --replace 'LibDir = "lib64";' 'LibDir = "${glibc}/lib";' \
+      --replace 'LibDir = X32 ? "libx32" : "lib64";' 'LibDir = "${glibc}/lib";'
+
+    # Substitute ncurses for curses in llbuild.
     sed -i 's/curses/ncurses/' llbuild/*/*/CMakeLists.txt
-    # uuid.h is not part of glibc, but of libuuid
-    sed -i 's|''${GLIBC_INCLUDE_PATH}/uuid/uuid.h|${libuuid.dev}/include/uuid/uuid.h|' swift/stdlib/public/Platform/glibc.modulemap.gyb
+    sed -i 's/curses/ncurses/' llbuild/*/*/*/CMakeLists.txt
 
-    # Compatibility with glibc 2.30
-    # Adapted from https://github.com/apple/swift-package-manager/pull/2408
-    patch -p1 -d swiftpm -i ${./patches/swift-package-manager-glibc-2.30.patch}
-    # https://github.com/apple/swift/pull/27288
-    patch -p1 -d swift -i ${fetchpatch {
-      url = "https://github.com/apple/swift/commit/f968f4282d53f487b29cf456415df46f9adf8748.patch";
-      sha256 = "1aa7l66wlgip63i4r0zvi9072392bnj03s4cn12p706hbpq0k37c";
-    }}
+    # uuid.h is not part of glibc, but of libuuid.
+    sed -i 's|''${GLIBC_INCLUDE_PATH}/uuid/uuid.h|${libuuid.dev}/include/uuid/uuid.h|' swift/stdlib/public/Platform/glibc.modulemap.gyb
 
+    # Support library build script patches.
     PREFIX=''${out/#\/}
-    substituteInPlace indexstore-db/Utilities/build-script-helper.py \
-      --replace usr "$PREFIX"
-    substituteInPlace sourcekit-lsp/Utilities/build-script-helper.py \
-      --replace usr "$PREFIX"
+    substituteInPlace swift/utils/swift_build_support/swift_build_support/products/benchmarks.py \
+      --replace \
+      "'--toolchain', toolchain_path," \
+      "'--toolchain', '/build/install/$PREFIX',"
+    substituteInPlace swift/benchmark/scripts/build_script_helper.py \
+      --replace \
+      "swiftbuild_path = os.path.join(args.toolchain, \"usr\", \"bin\", \"swift-build\")" \
+      "swiftbuild_path = os.path.join(args.toolchain, \"bin\", \"swift-build\")"
     substituteInPlace swift-corelibs-xctest/build_script.py \
       --replace usr "$PREFIX"
-    substituteInPlace swift-corelibs-foundation/CoreFoundation/PlugIn.subproj/CFBundle_InfoPlist.c \
-      --replace "if !TARGET_OS_ANDROID" "if TARGET_OS_MAC || TARGET_OS_BSD"
-    substituteInPlace swift-corelibs-foundation/CoreFoundation/PlugIn.subproj/CFBundle_Resources.c \
-      --replace "if !TARGET_OS_ANDROID" "if TARGET_OS_MAC || TARGET_OS_BSD"
   '';
 
   configurePhase = ''
@@ -265,17 +294,15 @@ stdenv.mkDerivation {
   '';
 
   buildPhase = ''
-    # explicitly include C++ headers to prevent errors where stdlib.h is not found from cstdlib
-    export NIX_CFLAGS_COMPILE="$(< ${clang}/nix-support/libcxx-cxxflags) $NIX_CFLAGS_COMPILE"
-    # During the Swift build, a full local LLVM build is performed and the resulting clang is invoked.
-    # This compiler is not using the Nix wrappers, so it needs some help to find things.
+    # Explicitly include C++ headers to prevent errors where stdlib.h is not found from cstdlib.
+    export NIX_CFLAGS_COMPILE="$(< ${clang_10}/nix-support/libcxx-cxxflags) $NIX_CFLAGS_COMPILE"
+
+    # During the Swift build, a full local LLVM build is performed and the resulting clang is
+    # invoked. This compiler is not using the Nix wrappers, so it needs some help to find things.
     export NIX_LDFLAGS_BEFORE="-rpath ${gccForLibs.lib}/lib -L${gccForLibs.lib}/lib $NIX_LDFLAGS_BEFORE"
-    # However, we want to use the wrapped compiler whenever possible.
-    export CC="${clang}/bin/clang"
 
-    # fix for https://bugs.llvm.org/show_bug.cgi?id=39743
-    # see also https://forums.swift.org/t/18138/15
-    export CCC_OVERRIDE_OPTIONS="#x-fmodules s/-fmodules-cache-path.*//"
+    # However, we want to use the wrapped compiler whenever possible.
+    export CC="${clang_10}/bin/clang"
 
     $SWIFT_SOURCE_ROOT/swift/utils/build-script \
       --preset=buildbot_linux \
@@ -290,14 +317,31 @@ stdenv.mkDerivation {
   checkInputs = [ file ];
 
   checkPhase = ''
-    # FIXME: disable non-working tests
-    rm $SWIFT_SOURCE_ROOT/swift/test/Driver/static-stdlib-linux.swift  # static linkage of libatomic.a complains about missing PIC
-    rm $SWIFT_SOURCE_ROOT/swift/validation-test/Python/build_swift.swift  # install_prefix not passed properly
+    # Remove compiler build system tests which fail due to our modified default build profile and
+    # nixpkgs-provided version of CMake.
+    rm $SWIFT_SOURCE_ROOT/swift/validation-test/BuildSystem/infer_implies_install_all.test
+    rm $SWIFT_SOURCE_ROOT/swift/validation-test/BuildSystem/infer_dumps_deps_if_verbose_build.test
+
+    # This test apparently requires Python 2 (strings are assumed to be bytes-like), but the build
+    # process overall now otherwise requires Python 3 (which is what we have updated to). A fix PR
+    # has been submitted upstream.
+    rm $SWIFT_SOURCE_ROOT/swift/validation-test/SIL/verify_all_overlays.py
+
+    # TODO: consider fixing and re-adding. This test fails due to a non-standard "install_prefix".
+    rm $SWIFT_SOURCE_ROOT/swift/validation-test/Python/build_swift.swift
+
+    # We cannot handle the SDK location being in "Weird Location" due to Nix isolation.
+    rm $SWIFT_SOURCE_ROOT/swift/test/DebugInfo/compiler-flags.swift
 
-    # match the swift wrapper in the install phase
-    export LIBRARY_PATH=${icu}/lib:${libuuid.out}/lib
+    # TODO: Fix issue with ld.gold invoked from script finding crtbeginS.o and crtendS.o.
+    rm $SWIFT_SOURCE_ROOT/swift/test/IRGen/ELF-remove-autolink-section.swift
 
-    checkTarget=check-swift-all
+    # TODO: consider using stress-tester and integration-test.
+
+    # Match the wrapped version of Swift to be installed.
+    export LIBRARY_PATH=${icu}/lib:${libgcc}/lib:${libuuid.out}/lib:$l
+
+    checkTarget=check-swift-all-${stdenv.hostPlatform.parsed.kernel.name}-${stdenv.hostPlatform.parsed.cpu.name}
     ninjaFlags='-C buildbot_linux/swift-${stdenv.hostPlatform.parsed.kernel.name}-${stdenv.hostPlatform.parsed.cpu.name}'
     ninjaCheckPhase
   '';
@@ -305,19 +349,26 @@ stdenv.mkDerivation {
   installPhase = ''
     mkdir -p $out
 
-    # Extract the generated tarball into the store
+    # Extract the generated tarball into the store.
     tar xf $INSTALLABLE_PACKAGE -C $out --strip-components=3 ''${out/#\/}
     find $out -type d -empty -delete
 
-    # fix installation weirdness, also present in Apple’s official tarballs
+    # Fix installation weirdness, also present in Apple’s official tarballs.
     mv $out/local/include/indexstore $out/include
     rmdir $out/local/include $out/local
     rm -r $out/bin/sdk-module-lists $out/bin/swift-api-checker.py
 
     wrapProgram $out/bin/swift \
+      --set CC $out/bin/clang \
+      --suffix C_INCLUDE_PATH : $out/lib/swift/clang/include \
+      --suffix CPLUS_INCLUDE_PATH : $out/lib/swift/clang/include \
+      --suffix LIBRARY_PATH : ${icu}/lib:${libgcc}/lib:${libuuid.out}/lib
+
+    wrapProgram $out/bin/swiftc \
+      --set CC $out/bin/clang \
       --suffix C_INCLUDE_PATH : $out/lib/swift/clang/include \
       --suffix CPLUS_INCLUDE_PATH : $out/lib/swift/clang/include \
-      --suffix LIBRARY_PATH : ${icu}/lib:${libuuid.out}/lib
+      --suffix LIBRARY_PATH : ${icu}/lib:${libgcc}/lib:${libuuid.out}/lib
   '';
 
   # Hack to avoid build and install directories in RPATHs.
@@ -326,14 +377,11 @@ stdenv.mkDerivation {
   meta = with lib; {
     description = "The Swift Programming Language";
     homepage = "https://github.com/apple/swift";
-    maintainers = with maintainers; [ dtzWill ];
+    maintainers = with maintainers; [ dtzWill trepetti ];
     license = licenses.asl20;
-    # Swift doesn't support 32bit Linux, unknown on other platforms.
+    # Swift doesn't support 32-bit Linux, unknown on other platforms.
     platforms = platforms.linux;
     badPlatforms = platforms.i686;
-    broken = true; # 2021-01-29
-    knownVulnerabilities = [
-      "CVE-2020-9861"
-    ];
+    timeout = 86400; # 24 hours.
   };
 }
diff --git a/nixpkgs/pkgs/development/compilers/swift/patches/0001-build-presets-linux-don-t-require-using-Ninja.patch b/nixpkgs/pkgs/development/compilers/swift/patches/0001-build-presets-linux-don-t-require-using-Ninja.patch
index 60b2996b3405..6c42921cd233 100644
--- a/nixpkgs/pkgs/development/compilers/swift/patches/0001-build-presets-linux-don-t-require-using-Ninja.patch
+++ b/nixpkgs/pkgs/development/compilers/swift/patches/0001-build-presets-linux-don-t-require-using-Ninja.patch
@@ -2,12 +2,12 @@ Don't build Ninja, we use our own.
 
 --- a/utils/build-presets.ini
 +++ b/utils/build-presets.ini
-@@ -745,7 +745,7 @@ swiftpm
- 
+@@ -779,7 +779,7 @@ swiftpm
+
  dash-dash
- 
+
 -build-ninja
 +# build-ninja
+ install-llvm
  install-swift
  install-lldb
- install-llbuild
diff --git a/nixpkgs/pkgs/development/compilers/swift/patches/0002-build-presets-linux-allow-custom-install-prefix.patch b/nixpkgs/pkgs/development/compilers/swift/patches/0002-build-presets-linux-allow-custom-install-prefix.patch
index 5ca6bf1354dc..0b4c2cc55c4f 100644
--- a/nixpkgs/pkgs/development/compilers/swift/patches/0002-build-presets-linux-allow-custom-install-prefix.patch
+++ b/nixpkgs/pkgs/development/compilers/swift/patches/0002-build-presets-linux-allow-custom-install-prefix.patch
@@ -1,8 +1,8 @@
-allow custom install prefix
+Use custom install prefix.
 
---- a/utils/build-presets.ini	2019-04-11 14:51:40.060259462 +0200
-+++ b/utils/build-presets.ini	2019-04-11 15:16:17.471137969 +0200
-@@ -752,7 +752,7 @@
+--- a/utils/build-presets.ini
++++ b/utils/build-presets.ini
+@@ -788,7 +788,7 @@
  install-swiftpm
  install-xctest
  install-libicu
diff --git a/nixpkgs/pkgs/development/compilers/swift/patches/0003-build-presets-linux-don-t-build-extra-libs.patch b/nixpkgs/pkgs/development/compilers/swift/patches/0003-build-presets-linux-don-t-build-extra-libs.patch
index 0a66af9e5137..7d626e187755 100644
--- a/nixpkgs/pkgs/development/compilers/swift/patches/0003-build-presets-linux-don-t-build-extra-libs.patch
+++ b/nixpkgs/pkgs/development/compilers/swift/patches/0003-build-presets-linux-don-t-build-extra-libs.patch
@@ -1,17 +1,17 @@
 Disable targets, where we use Nix packages.
 
---- a/utils/build-presets.ini	2019-04-11 15:19:57.845178834 +0200
-+++ b/utils/build-presets.ini	2019-04-11 15:27:42.041297057 +0200
-@@ -740,8 +740,6 @@
+--- a/utils/build-presets.ini
++++ b/utils/build-presets.ini
+@@ -776,8 +776,6 @@
  llbuild
  swiftpm
  xctest
 -libicu
 -libcxx
- 
+
  dash-dash
- 
-@@ -751,9 +749,7 @@
+
+@@ -785,9 +785,7 @@
  install-llbuild
  install-swiftpm
  install-xctest
diff --git a/nixpkgs/pkgs/development/compilers/swift/patches/0004-build-presets-linux-plumb-extra-cmake-options.patch b/nixpkgs/pkgs/development/compilers/swift/patches/0004-build-presets-linux-plumb-extra-cmake-options.patch
index 304b53a1dbf1..3cacdfc0c55e 100644
--- a/nixpkgs/pkgs/development/compilers/swift/patches/0004-build-presets-linux-plumb-extra-cmake-options.patch
+++ b/nixpkgs/pkgs/development/compilers/swift/patches/0004-build-presets-linux-plumb-extra-cmake-options.patch
@@ -1,11 +1,11 @@
-plumb extra-cmake-options
+Plumb extra-cmake-options.
 
 --- a/utils/build-presets.ini
 +++ b/utils/build-presets.ini
-@@ -766,6 +766,8 @@ install-destdir=%(install_destdir)s
+@@ -812,6 +812,8 @@
  # Path to the .tar.gz package we would create.
  installable-package=%(installable_package)s
- 
+
 +extra-cmake-options=%(extra_cmake_options)s
 +
  [preset: buildbot_linux]
diff --git a/nixpkgs/pkgs/development/compilers/swift/patches/0005-clang-toolchain-dir.patch b/nixpkgs/pkgs/development/compilers/swift/patches/0005-clang-toolchain-dir.patch
new file mode 100644
index 000000000000..40d7728cf788
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/swift/patches/0005-clang-toolchain-dir.patch
@@ -0,0 +1,13 @@
+Use the Nix include dirs and gcc runtime dir, when no sysroot is configured.
+
+--- a/lib/Driver/ToolChains/Linux.cpp
++++ b/lib/Driver/ToolChains/Linux.cpp
+@@ -574,7 +574,7 @@
+
+   // Check for configure-time C include directories.
+   StringRef CIncludeDirs(C_INCLUDE_DIRS);
+-  if (CIncludeDirs != "") {
++  if (CIncludeDirs != "" && (SysRoot.empty() || SysRoot == "/")) {
+     SmallVector<StringRef, 5> dirs;
+     CIncludeDirs.split(dirs, ":");
+     for (StringRef dir : dirs) {
diff --git a/nixpkgs/pkgs/development/compilers/swift/patches/0006-clang-purity.patch b/nixpkgs/pkgs/development/compilers/swift/patches/0006-clang-purity.patch
new file mode 100644
index 000000000000..928c1db6dee8
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/swift/patches/0006-clang-purity.patch
@@ -0,0 +1,16 @@
+Apply the "purity" patch (updated for 5.4.2).
+
+--- a/lib/Driver/ToolChains/Gnu.cpp
++++ b/lib/Driver/ToolChains/Gnu.cpp
+@@ -488,11 +488,5 @@
+     if (Args.hasArg(options::OPT_rdynamic))
+       CmdArgs.push_back("-export-dynamic");
+-
+-    if (!Args.hasArg(options::OPT_shared) && !IsStaticPIE) {
+-      CmdArgs.push_back("-dynamic-linker");
+-      CmdArgs.push_back(Args.MakeArgString(Twine(D.DyldPrefix) +
+-                                           ToolChain.getDynamicLinker(Args)));
+-    }
+   }
+
+   CmdArgs.push_back("-o");
diff --git a/nixpkgs/pkgs/development/compilers/swift/patches/glibc-arch-headers.patch b/nixpkgs/pkgs/development/compilers/swift/patches/glibc-arch-headers.patch
deleted file mode 100644
index c05db5208012..000000000000
--- a/nixpkgs/pkgs/development/compilers/swift/patches/glibc-arch-headers.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-The Nix glibc headers do not use include/x86_64-linux-gnu subdirectories.
-
---- swift/stdlib/public/Platform/CMakeLists.txt	2019-04-09 20:14:44.493801403 +0200
-+++ swift/stdlib/public/Platform/CMakeLists.txt	2019-04-09 20:14:44.577800593 +0200
-@@ -77,7 +77,7 @@
-     endif()
- 
-     set(GLIBC_INCLUDE_PATH "${GLIBC_SYSROOT_RELATIVE_INCLUDE_PATH}")
--    set(GLIBC_ARCH_INCLUDE_PATH "${GLIBC_SYSROOT_RELATIVE_ARCH_INCLUDE_PATH}")
-+    set(GLIBC_ARCH_INCLUDE_PATH "${GLIBC_SYSROOT_RELATIVE_INCLUDE_PATH}")
- 
-     if(NOT "${SWIFT_SDK_${sdk}_ARCH_${arch}_PATH}" STREQUAL "/" AND NOT "${sdk}" STREQUAL "ANDROID")
-       set(GLIBC_INCLUDE_PATH "${SWIFT_SDK_${sdk}_ARCH_${arch}_PATH}${GLIBC_INCLUDE_PATH}")
diff --git a/nixpkgs/pkgs/development/compilers/swift/patches/llvm-toolchain-dir.patch b/nixpkgs/pkgs/development/compilers/swift/patches/llvm-toolchain-dir.patch
deleted file mode 100644
index c22b5c820c85..000000000000
--- a/nixpkgs/pkgs/development/compilers/swift/patches/llvm-toolchain-dir.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Use the Nix include dirs and gcc runtime dir, when no sysroot is configured.
-
---- clang/lib/Driver/ToolChains/Linux.cpp	2018-10-05 18:01:15.731109551 +0200
-+++ clang/lib/Driver/ToolChains/Linux.cpp	2018-10-05 18:00:27.959509924 +0200
-@@ -665,7 +665,7 @@
- 
-   // Check for configure-time C include directories.
-   StringRef CIncludeDirs(C_INCLUDE_DIRS);
--  if (CIncludeDirs != "") {
-+  if (CIncludeDirs != "" && (SysRoot.empty() || SysRoot == "/")) {
-     SmallVector<StringRef, 5> dirs;
-     CIncludeDirs.split(dirs, ":");
-     for (StringRef dir : dirs) {
---- clang/lib/Driver/ToolChains/Gnu.cpp	2019-10-26 09:49:27.003752743 +0200
-+++ clang/lib/Driver/ToolChains/Gnu.cpp	2019-10-26 09:50:49.067236497 +0200
-@@ -1743,7 +1743,7 @@
-   // If we have a SysRoot, ignore GCC_INSTALL_PREFIX.
-   // GCC_INSTALL_PREFIX specifies the gcc installation for the default
-   // sysroot and is likely not valid with a different sysroot.
--  if (!SysRoot.empty())
-+  if (!(SysRoot.empty() || SysRoot == "/"))
-     return "";
- 
-   return GCC_INSTALL_PREFIX;
diff --git a/nixpkgs/pkgs/development/compilers/swift/patches/swift-llvm.patch b/nixpkgs/pkgs/development/compilers/swift/patches/swift-llvm.patch
deleted file mode 100644
index fcd9533fd72a..000000000000
--- a/nixpkgs/pkgs/development/compilers/swift/patches/swift-llvm.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cc b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
-index bc6675bf4..2f3514b64 100644
---- a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
-+++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
-@@ -1129,8 +1129,9 @@ CHECK_SIZE_AND_OFFSET(ipc_perm, uid);
- CHECK_SIZE_AND_OFFSET(ipc_perm, gid);
- CHECK_SIZE_AND_OFFSET(ipc_perm, cuid);
- CHECK_SIZE_AND_OFFSET(ipc_perm, cgid);
--#if !defined(__aarch64__) || !SANITIZER_LINUX || __GLIBC_PREREQ (2, 21)
--/* On aarch64 glibc 2.20 and earlier provided incorrect mode field.  */
-+#if !SANITIZER_LINUX || __GLIBC_PREREQ (2, 31)
-+/* glibc 2.30 and earlier provided 16-bit mode field instead of 32-bit
-+   on many architectures.  */
- CHECK_SIZE_AND_OFFSET(ipc_perm, mode);
- #endif
- 
-diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
-index de69852d3..652d5cb3b 100644
---- a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
-+++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
-@@ -204,26 +204,13 @@ namespace __sanitizer {
-     u64 __unused1;
-     u64 __unused2;
- #elif defined(__sparc__)
--#if defined(__arch64__)
-     unsigned mode;
--    unsigned short __pad1;
--#else
--    unsigned short __pad1;
--    unsigned short mode;
-     unsigned short __pad2;
--#endif
-     unsigned short __seq;
-     unsigned long long __unused1;
-     unsigned long long __unused2;
--#elif defined(__mips__) || defined(__aarch64__) || defined(__s390x__)
--    unsigned int mode;
--    unsigned short __seq;
--    unsigned short __pad1;
--    unsigned long __unused1;
--    unsigned long __unused2;
- #else
--    unsigned short mode;
--    unsigned short __pad1;
-+    unsigned int mode;
-     unsigned short __seq;
-     unsigned short __pad2;
- #if defined(__x86_64__) && !defined(_LP64)
diff --git a/nixpkgs/pkgs/development/compilers/swift/patches/swift-package-manager-glibc-2.30.patch b/nixpkgs/pkgs/development/compilers/swift/patches/swift-package-manager-glibc-2.30.patch
deleted file mode 100644
index 14ef38497645..000000000000
--- a/nixpkgs/pkgs/development/compilers/swift/patches/swift-package-manager-glibc-2.30.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff --git a/Sources/Basic/Process.swift b/Sources/Basic/Process.swift
-index f388c769..8f208691 100644
---- a/Sources/Basic/Process.swift
-+++ b/Sources/Basic/Process.swift
-@@ -322,7 +322,10 @@ public final class Process: ObjectIdentifierProtocol {
-         defer { posix_spawn_file_actions_destroy(&fileActions) }
- 
-         // Workaround for https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=89e435f3559c53084498e9baad22172b64429362
--        let devNull = strdup("/dev/null")
-+        // Change allowing for newer version of glibc
-+        guard let devNull = strdup("/dev/null") else {
-+            throw SystemError.posix_spawn(0, arguments)
-+        }
-         defer { free(devNull) }
-         // Open /dev/null as stdin.
-         posix_spawn_file_actions_addopen(&fileActions, 0, devNull, O_RDONLY, 0)
-@@ -348,7 +351,7 @@ public final class Process: ObjectIdentifierProtocol {
- 
-         let argv = CStringArray(arguments)
-         let env = CStringArray(environment.map({ "\($0.0)=\($0.1)" }))
--        let rv = posix_spawnp(&processID, argv.cArray[0], &fileActions, &attributes, argv.cArray, env.cArray)
-+        let rv = posix_spawnp(&processID, argv.cArray[0]!, &fileActions, &attributes, argv.cArray, env.cArray)
- 
-         guard rv == 0 else {
-             throw SystemError.posix_spawn(rv, arguments)
diff --git a/nixpkgs/pkgs/development/compilers/swift/purity.patch b/nixpkgs/pkgs/development/compilers/swift/purity.patch
deleted file mode 100644
index 4133e89c2830..000000000000
--- a/nixpkgs/pkgs/development/compilers/swift/purity.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-"purity" patch for 5.0
-
---- a/lib/Driver/ToolChains/Gnu.cpp
-+++ b/lib/Driver/ToolChains/Gnu.cpp
-@@ -402,13 +402,6 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
-   if (!Args.hasArg(options::OPT_static)) {
-     if (Args.hasArg(options::OPT_rdynamic))
-       CmdArgs.push_back("-export-dynamic");
--
--    if (!Args.hasArg(options::OPT_shared)) {
--      const std::string Loader =
--          D.DyldPrefix + ToolChain.getDynamicLinker(Args);
--      CmdArgs.push_back("-dynamic-linker");
--      CmdArgs.push_back(Args.MakeArgString(Loader));
--    }
-   }
- 
-   CmdArgs.push_back("-o");
diff --git a/nixpkgs/pkgs/development/compilers/terra/default.nix b/nixpkgs/pkgs/development/compilers/terra/default.nix
index ac1851a683bf..9919973de241 100644
--- a/nixpkgs/pkgs/development/compilers/terra/default.nix
+++ b/nixpkgs/pkgs/development/compilers/terra/default.nix
@@ -50,7 +50,6 @@ in stdenv.mkDerivation rec {
   ] ++ lib.optional enableCUDA "-DTERRA_ENABLE_CUDA=ON";
 
   doCheck = true;
-  enableParallelBuilding = true;
   hardeningDisable = [ "fortify" ];
   outputs = [ "bin" "dev" "out" "static" ];
 
@@ -82,7 +81,7 @@ in stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A low-level counterpart to Lua";
-    homepage = "http://terralang.org/";
+    homepage = "https://terralang.org/";
     platforms = platforms.x86_64;
     maintainers = with maintainers; [ jb55 seylerius thoughtpolice ];
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/development/compilers/vala/default.nix b/nixpkgs/pkgs/development/compilers/vala/default.nix
index e3a005564d06..8f93a6746ea2 100644
--- a/nixpkgs/pkgs/development/compilers/vala/default.nix
+++ b/nixpkgs/pkgs/development/compilers/vala/default.nix
@@ -69,7 +69,7 @@ let
     # so that it can be used to regenerate documentation.
     patches        = lib.optionals disableGraphviz [ graphvizPatch ./gvc-compat.patch ];
     configureFlags = lib.optional  disableGraphviz "--disable-graphviz";
-    preBuild       = lib.optional  disableGraphviz "buildFlagsArray+=(\"VALAC=$(pwd)/compiler/valac\")";
+    preBuild       = lib.optionalString disableGraphviz "buildFlagsArray+=(\"VALAC=$(pwd)/compiler/valac\")";
 
     outputs = [ "out" "devdoc" ];
 
@@ -100,7 +100,7 @@ let
       homepage = "https://wiki.gnome.org/Projects/Vala";
       license = licenses.lgpl21Plus;
       platforms = platforms.unix;
-      maintainers = with maintainers; [ antono jtojnar peterhoeg maxeaubrey ];
+      maintainers = with maintainers; [ antono jtojnar peterhoeg maxeaubrey ] ++ teams.pantheon.members;
     };
   });
 
diff --git a/nixpkgs/pkgs/development/compilers/vlang/default.nix b/nixpkgs/pkgs/development/compilers/vlang/default.nix
index 326fb9eff7d0..1535411149d6 100644
--- a/nixpkgs/pkgs/development/compilers/vlang/default.nix
+++ b/nixpkgs/pkgs/development/compilers/vlang/default.nix
@@ -1,6 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, glfw, freetype, openssl, upx ? null }:
-
-assert stdenv.hostPlatform.isUnix -> upx != null;
+{ lib, stdenv, fetchFromGitHub, glfw, freetype, openssl, makeWrapper, upx }:
 
 stdenv.mkDerivation rec {
   pname = "vlang";
@@ -25,16 +23,15 @@ stdenv.mkDerivation rec {
   propagatedBuildInputs = [ glfw freetype openssl ]
     ++ lib.optional stdenv.hostPlatform.isUnix upx;
 
-  buildPhase = ''
-    runHook preBuild
-    cc -std=gnu11 $CFLAGS -w -o v $vc/v.c -lm $LDFLAGS
-    # vlang seems to want to write to $HOME/.vmodules,
-    # so lets give it a writable HOME
-    HOME=$PWD ./v -prod self
-    # Exclude thirdparty/vschannel as it is windows-specific.
-    find thirdparty -path thirdparty/vschannel -prune -o -type f -name "*.c" -execdir cc -std=gnu11 $CFLAGS -w -c {} $LDFLAGS ';'
-    runHook postBuild
-  '';
+  nativeBuildInputs = [ makeWrapper ];
+
+  makeFlags = [
+    "local=1"
+    "VC=${vc}"
+    # vlang seems to want to write to $HOME/.vmodules , so lets give
+    # it a writable HOME
+    "HOME=$TMPDIR"
+  ];
 
   installPhase = ''
     runHook preInstall
@@ -43,6 +40,7 @@ stdenv.mkDerivation rec {
     cp -r {cmd,vlib,thirdparty} $out/lib
     mv v $out/lib
     ln -s $out/lib/v $out/bin/v
+    wrapProgram $out/bin/v --prefix PATH : ${lib.makeBinPath [ stdenv.cc ]}
     runHook postInstall
   '';
 
diff --git a/nixpkgs/pkgs/development/compilers/vyper/default.nix b/nixpkgs/pkgs/development/compilers/vyper/default.nix
index 74c2503523e8..431afe5ec205 100644
--- a/nixpkgs/pkgs/development/compilers/vyper/default.nix
+++ b/nixpkgs/pkgs/development/compilers/vyper/default.nix
@@ -14,20 +14,21 @@ in
 
 buildPythonPackage rec {
   pname = "vyper";
-  version = "0.2.11";
+  version = "0.2.16";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e763561a161c35c03b92a0c176096dd9b4c78ab003c2f08324d443f459b3de84";
+    sha256 = "6cf347440716964012d46686faefc9c689f01872f19736287a63aa8652ac3ddd";
   };
 
   nativeBuildInputs = [ pytest-runner ];
 
+  # Replace the dynamic commit hash lookup with the hash from the tag
   postPatch = ''
     substituteInPlace setup.py \
       --replace 'asttokens==' 'asttokens>=' \
       --replace 'subprocess.check_output("git rev-parse HEAD".split())' "' '" \
-      --replace 'commithash.decode("utf-8").strip()' "'069936fa3fee8646ff362145593128d7ef07da38'"
+      --replace 'commithash.decode("utf-8").strip()' "'6e7dba7a8b5f29762d3470da4f44634b819c808d'"
   '';
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/compilers/yosys/default.nix b/nixpkgs/pkgs/development/compilers/yosys/default.nix
index a0c02e26db0c..7a733ce2cb9b 100644
--- a/nixpkgs/pkgs/development/compilers/yosys/default.nix
+++ b/nixpkgs/pkgs/development/compilers/yosys/default.nix
@@ -34,13 +34,13 @@
 
 stdenv.mkDerivation rec {
   pname   = "yosys";
-  version = "0.9+4052";
+  version = "0.9+4276";
 
   src = fetchFromGitHub {
     owner  = "YosysHQ";
     repo   = "yosys";
-    rev    = "687f381b6985d9dda7e11535628e2fafff267af5";
-    sha256 = "15lcj798ckh9zwvdqb5gnvicilsxjyxv01gcviijg310hq62n7vf";
+    rev    = "75a4cdfc8afc10fed80e43fb1ba31c7edaf6e361";
+    sha256 = "13xb7ny6i0kr6z6xkj9wmmcj551si7w05r3cghq8h8wkikyh6c8p";
   };
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/development/compilers/yosys/plugins/bluespec.nix b/nixpkgs/pkgs/development/compilers/yosys/plugins/bluespec.nix
index 58fef968e46d..6e436cd0043b 100644
--- a/nixpkgs/pkgs/development/compilers/yosys/plugins/bluespec.nix
+++ b/nixpkgs/pkgs/development/compilers/yosys/plugins/bluespec.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation {
   pname = "yosys-bluespec";
-  version = "2021.01.17";
+  version = "2021.08.19";
 
   src = fetchFromGitHub {
     owner  = "thoughtpolice";
     repo   = "yosys-bluespec";
-    rev    = "3cfa22c2810b840f406610efe3d7657477c1b0ed";
-    sha256 = "1r48128yisw5lpziaj3hq88acghwi94pvm4735xajx8dl79jkcng";
+    rev    = "bcea1635c97747acd3bcb5b8f1968b3f57ae62bc";
+    sha256 = "0ipx9yjngs3haksdb440wlydviszwqnxgzynpp7yic2x3ai7i8m1";
   };
 
   buildInputs = [ yosys readline zlib bluespec ];
diff --git a/nixpkgs/pkgs/development/compilers/zulu/8.nix b/nixpkgs/pkgs/development/compilers/zulu/8.nix
index 6fcdacf535b8..48573c672415 100644
--- a/nixpkgs/pkgs/development/compilers/zulu/8.nix
+++ b/nixpkgs/pkgs/development/compilers/zulu/8.nix
@@ -70,6 +70,9 @@ in stdenv.mkDerivation {
     mkdir -p $out
     cp -r ./* "$out/"
 
+    # jni.h expects jni_md.h to be in the header search path.
+    ln -s $out/include/linux/*_md.h $out/include/
+
     mkdir -p $out/nix-support
     printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs
 
diff --git a/nixpkgs/pkgs/development/compilers/zulu/default.nix b/nixpkgs/pkgs/development/compilers/zulu/default.nix
index 81edb8b469a8..dee1a4527607 100644
--- a/nixpkgs/pkgs/development/compilers/zulu/default.nix
+++ b/nixpkgs/pkgs/development/compilers/zulu/default.nix
@@ -22,11 +22,11 @@
 }:
 
 let
-  version = "11.41.23";
-  openjdk = "11.0.8";
+  version = "11.50.19";
+  openjdk = "11.0.12";
 
-  sha256_linux = "f8aee4ab30ca11ab3c8f401477df0e455a9d6b06f2710b2d1b1ddcf06067bc79";
-  sha256_darwin = "643c6648cc4374f39e830e4fcb3d68f8667893d487c07eb7091df65937025cc3";
+  sha256_linux = "b8e8a63b79bc312aa90f3558edbea59e71495ef1a9c340e38900dd28a1c579f3";
+  sha256_darwin = "9bc6874932f7f88d0a48220d3200449ddf7dc5c0e82af2df2738bc13d21b0e4e";
 
   platform = if stdenv.isDarwin then "macosx" else "linux";
   hash = if stdenv.isDarwin then sha256_darwin else sha256_linux;
@@ -71,7 +71,10 @@ in stdenv.mkDerivation {
   installPhase = ''
     mkdir -p $out
     cp -r ./* "$out/"
-
+  '' + lib.optionalString stdenv.isLinux ''
+    # jni.h expects jni_md.h to be in the header search path.
+    ln -s $out/include/linux/*_md.h $out/include/
+  '' + ''
     mkdir -p $out/nix-support
     printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs
 
diff --git a/nixpkgs/pkgs/development/coq-modules/QuickChick/default.nix b/nixpkgs/pkgs/development/coq-modules/QuickChick/default.nix
index 6490391eb636..fcaaaac615e7 100644
--- a/nixpkgs/pkgs/development/coq-modules/QuickChick/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/QuickChick/default.nix
@@ -1,10 +1,11 @@
-{ lib, mkCoqDerivation, coq, ssreflect, coq-ext-lib, simple-io }:
-with lib;
-let recent = versions.isGe "8.7" coq.coq-version; in
+{ lib, mkCoqDerivation, coq, ssreflect, coq-ext-lib, simple-io, version ? null }:
+
+let recent = lib.versions.isGe "8.7" coq.coq-version; in
 mkCoqDerivation {
   pname = "QuickChick";
   owner = "QuickChick";
-  defaultVersion = with versions; switch [ coq.coq-version ssreflect.version ] [
+  inherit version;
+  defaultVersion = with lib; with versions; lib.switch [ coq.coq-version ssreflect.version ] [
       { cases = [ "8.13" pred.true  ]; out = "1.5.0"; }
       { cases = [ "8.12" pred.true  ]; out = "1.4.0"; }
       { cases = [ "8.11" pred.true  ]; out = "1.3.2"; }
@@ -29,19 +30,19 @@ mkCoqDerivation {
   release."20170512".sha256 = "033ch10i5wmqyw8j6wnr0dlbnibgfpr1vr0c07q3yj6h23xkmqpg";
   releaseRev = v: "v${v}";
 
-  preConfigure = optionalString recent
+  preConfigure = lib.optionalString recent
     "substituteInPlace Makefile --replace quickChickTool.byte quickChickTool.native";
 
   mlPlugin = true;
-  extraBuildInputs = optional recent coq.ocamlPackages.num;
+  extraBuildInputs = lib.optional recent coq.ocamlPackages.num;
   propagatedBuildInputs = [ ssreflect ]
-    ++ optionals recent [ coq-ext-lib simple-io ]
-    ++ optional  recent coq.ocamlPackages.ocamlbuild;
+    ++ lib.optionals recent [ coq-ext-lib simple-io ]
+    ++ lib.optional recent coq.ocamlPackages.ocamlbuild;
   extraInstallFlags = [ "-f Makefile.coq" ];
 
   enableParallelBuilding = false;
 
-  meta = {
+  meta = with lib; {
     description = "Randomized property-based testing plugin for Coq; a clone of Haskell QuickCheck";
     maintainers = with maintainers; [ jwiegley ];
   };
diff --git a/nixpkgs/pkgs/development/coq-modules/VST/default.nix b/nixpkgs/pkgs/development/coq-modules/VST/default.nix
index 5ee1df774185..1d2a1a3c05fc 100644
--- a/nixpkgs/pkgs/development/coq-modules/VST/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/VST/default.nix
@@ -1,4 +1,16 @@
-{ lib, mkCoqDerivation, coq, compcert, version ? null }:
+{ lib, mkCoqDerivation, coq, compcert, ITree, version ? null }:
+
+# A few modules that are not built and installed by default
+#  but that may be useful to some users.
+# They depend on ITree.
+let extra_floyd_files = [
+  "ASTsize.v"
+  "io_events.v"
+  "powerlater.v"
+  "printf.v"
+  "quickprogram.v"
+  ];
+in
 
 with lib; mkCoqDerivation {
   pname = "coq${coq.coq-version}-VST";
@@ -12,9 +24,14 @@ with lib; mkCoqDerivation {
   ] null;
   release."2.8".sha256 = "sha256-cyK88uzorRfjapNQ6XgQEmlbWnDsiyLve5po1VG52q0=";
   releaseRev = v: "v${v}";
+  extraBuildInputs = [ ITree ];
   propagatedBuildInputs = [ compcert ];
 
-  preConfigure = "patchShebangs util";
+  preConfigure = ''
+    patchShebangs util
+    substituteInPlace Makefile \
+      --replace 'FLOYD_FILES=' 'FLOYD_FILES= ${toString extra_floyd_files}'
+  '';
 
   makeFlags = [
     "BITSIZE=64"
diff --git a/nixpkgs/pkgs/development/coq-modules/addition-chains/default.nix b/nixpkgs/pkgs/development/coq-modules/addition-chains/default.nix
new file mode 100644
index 000000000000..f2ddacf2e308
--- /dev/null
+++ b/nixpkgs/pkgs/development/coq-modules/addition-chains/default.nix
@@ -0,0 +1,33 @@
+{ lib, mkCoqDerivation, coq, mathcomp-ssreflect, mathcomp-algebra, paramcoq
+, version ? null }:
+with lib;
+
+mkCoqDerivation {
+  pname = "addition-chains";
+  repo = "hydra-battles";
+
+  release."0.4".sha256 = "sha256:1f7pc4w3kir4c9p0fjx5l77401bx12y72nmqxrqs3qqd3iynvqlp";
+  releaseRev = (v: "v${v}");
+
+  inherit version;
+  defaultVersion = with versions; switch coq.coq-version [
+    { case = isGe "8.11"; out = "0.4"; }
+  ] null;
+
+  propagatedBuildInputs = [ mathcomp-ssreflect mathcomp-algebra paramcoq ];
+
+  useDune2 = true;
+
+  meta = {
+    description = "Exponentiation algorithms following addition chains";
+    longDescription = ''
+      Addition chains are algorithms for computations of the p-th
+      power of some x, with the least number of multiplication as
+      possible. We present a few implementations of addition chains,
+      with proofs of their correctness.
+    '';
+    maintainers = with maintainers; [ Zimmi48 ];
+    license = licenses.mit;
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/development/coq-modules/category-theory/default.nix b/nixpkgs/pkgs/development/coq-modules/category-theory/default.nix
index 339bcb9d6b09..d24cf1479307 100644
--- a/nixpkgs/pkgs/development/coq-modules/category-theory/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/category-theory/default.nix
@@ -5,6 +5,8 @@ with lib; mkCoqDerivation {
   pname = "category-theory";
   owner = "jwiegley";
 
+  release."20210730".rev    = "d87937faaf7460bcd6985931ac36f551d67e11af";
+  release."20210730".sha256 = "04x7433yvibxknk6gy4971yzb4saa3z4dnfy9n6irhyafzlxyf0f";
   release."20190414".rev    = "706fdb4065cc2302d92ac2bce62cb59713253119";
   release."20190414".sha256 = "16lg4xs2wzbdbsn148xiacgl4wq4xwfqjnjkdhfr3w0qh1s81hay";
   release."20180709".rev    = "3b9ba7b26a64d49a55e8b6ccea570a7f32c11ead";
@@ -12,6 +14,7 @@ with lib; mkCoqDerivation {
 
   inherit version;
   defaultVersion = with versions; switch coq.coq-version [
+    { case = range "8.10" "8.13"; out = "20210730"; }
     { case = range "8.8" "8.9"; out = "20190414"; }
     { case = range "8.6" "8.7"; out = "20180709"; }
   ] null;
diff --git a/nixpkgs/pkgs/development/coq-modules/coqeal/default.nix b/nixpkgs/pkgs/development/coq-modules/coqeal/default.nix
index 615c200c633e..7c3470fb4b72 100644
--- a/nixpkgs/pkgs/development/coq-modules/coqeal/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/coqeal/default.nix
@@ -7,11 +7,13 @@ with lib; mkCoqDerivation {
   owner = "CoqEAL";
   inherit version;
   defaultVersion = with versions; switch [ coq.version mathcomp.version ]  [
+      { cases = [ (isGe "8.10") "1.12.0" ]; out = "1.0.6"; }
       { cases = [ (isGe "8.10") (range "1.11.0" "1.12.0") ]; out = "1.0.5"; }
       { cases = [ (isGe "8.7") "1.11.0" ]; out = "1.0.4"; }
       { cases = [ (isGe "8.7") "1.10.0" ]; out = "1.0.3"; }
     ] null;
 
+  release."1.0.6".sha256 = "0lqkyfj4qbq8wr3yk8qgn7mclw582n3fjl9l19yp8cnchspzywx0";
   release."1.0.5".sha256 = "0cmvky8glb5z2dy3q62aln6qbav4lrf2q1589f6h1gn5bgjrbzkm";
   release."1.0.4".sha256 = "1g5m26lr2lwxh6ld2gykailhay4d0ayql4bfh0aiwqpmmczmxipk";
   release."1.0.3".sha256 = "0hc63ny7phzbihy8l7wxjvn3haxx8jfnhi91iw8hkq8n29i23v24";
diff --git a/nixpkgs/pkgs/development/coq-modules/corn/default.nix b/nixpkgs/pkgs/development/coq-modules/corn/default.nix
index 6910f487c64e..6a3ea81ca0d5 100644
--- a/nixpkgs/pkgs/development/coq-modules/corn/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/corn/default.nix
@@ -6,10 +6,12 @@ with lib; mkCoqDerivation rec {
   defaultVersion = switch coq.coq-version [
     { case = "8.6"; out = "8.8.1"; }
     { case = (versions.range "8.7" "8.12"); out = "8.12.0"; }
+    { case = (versions.range "8.13" "8.13"); out = "c366d3f01ec1812b145117a4da940518b092d3a6"; }
   ] null;
   release = {
     "8.8.1".sha256 = "0gh32j0f18vv5lmf6nb87nr5450w6ai06rhrnvlx2wwi79gv10wp";
     "8.12.0".sha256 = "0b92vhyzn1j6cs84z2182fn82hxxj0bqq7hk6cs4awwb3vc7dkhi";
+    "c366d3f01ec1812b145117a4da940518b092d3a6".sha256 = "1wzr7mdsnf1rq7q0dvmv55vxzysy85b00ahwbs868bl7m8fk8x5b";
   };
 
   preConfigure = "patchShebangs ./configure.sh";
diff --git a/nixpkgs/pkgs/development/coq-modules/gaia/default.nix b/nixpkgs/pkgs/development/coq-modules/gaia/default.nix
new file mode 100644
index 000000000000..57a1beead497
--- /dev/null
+++ b/nixpkgs/pkgs/development/coq-modules/gaia/default.nix
@@ -0,0 +1,24 @@
+{ lib, mkCoqDerivation, coq, mathcomp, version ? null }:
+
+with lib; mkCoqDerivation {
+  pname = "gaia";
+
+  release."1.11".sha256 = "sha256:0gwb0blf37sv9gb0qpn34dab71zdcx7jsnqm3j9p58qw65cgsqn5";
+  release."1.12".sha256 = "sha256:0c6cim4x6f9944g8v0cp0lxs244lrhb04ms4y2s6y1wh321zj5mi";
+  releaseRev = (v: "v${v}");
+
+  inherit version;
+  defaultVersion = with versions; switch [ coq.version mathcomp.version ] [
+    { cases = [ (range "8.10" "8.13") "1.12.0" ]; out = "1.12"; }
+    { cases = [ (range "8.10" "8.12") "1.11.0" ]; out = "1.11"; }
+  ] null;
+
+  propagatedBuildInputs =
+    [ mathcomp.ssreflect mathcomp.algebra ];
+
+  meta = {
+    description = "Implementation of books from Bourbaki's Elements of Mathematics in Coq";
+    maintainers = with maintainers; [ Zimmi48 ];
+    license = licenses.mit;
+  };
+}
diff --git a/nixpkgs/pkgs/development/coq-modules/graph-theory/default.nix b/nixpkgs/pkgs/development/coq-modules/graph-theory/default.nix
new file mode 100644
index 000000000000..5607d342a2eb
--- /dev/null
+++ b/nixpkgs/pkgs/development/coq-modules/graph-theory/default.nix
@@ -0,0 +1,33 @@
+{ lib, mkCoqDerivation, coq, mathcomp-algebra, mathcomp-finmap
+, hierarchy-builder, version ? null }:
+
+with lib;
+
+mkCoqDerivation {
+  pname = "graph-theory";
+
+  release."0.9".sha256 = "sha256-Hl3JS9YERD8QQziXqZ9DqLHKp63RKI9HxoFYWSkJQZI=";
+
+  releaseRev = v: "v${v}";
+
+  inherit version;
+  defaultVersion = with versions; switch coq.coq-version [
+    { case = isGe "8.13"; out = "0.9"; }
+  ] null;
+
+  propagatedBuildInputs = [ mathcomp-algebra mathcomp-finmap hierarchy-builder ];
+
+  meta = {
+    description = "Library of formalized graph theory results in Coq";
+    longDescription = ''
+      A library of formalized graph theory results, including various
+      standard results from the literature (e.g., Menger’s Theorem, Hall’s
+      Marriage Theorem, and the excluded minor characterization of
+      treewidth-two graphs) as well as some more recent results arising from
+      the study of relation algebra within the ERC CoVeCe project (e.g.,
+      soundness and completeness of an axiomatization of graph isomorphism).
+    '';
+    maintainers = with maintainers; [ siraben ];
+    license = licenses.cecill-b;
+  };
+}
diff --git a/nixpkgs/pkgs/development/coq-modules/hydra-battles/default.nix b/nixpkgs/pkgs/development/coq-modules/hydra-battles/default.nix
index a74eec4b64fc..6c3c9d88e0cb 100644
--- a/nixpkgs/pkgs/development/coq-modules/hydra-battles/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/hydra-battles/default.nix
@@ -1,28 +1,32 @@
-{ lib, mkCoqDerivation, coq, mathcomp, equations, paramcoq, version ? null }:
+{ lib, mkCoqDerivation, coq, equations, version ? null }:
 with lib;
 
 mkCoqDerivation {
   pname = "hydra-battles";
   owner = "coq-community";
 
-  release."0.3".rev    = "v0.3";
-  release."0.3".sha256 = "sha256-rXP/vJqVEg2tN/I9LWV13YQ1+C7M6lzGu3oI+7pSZzg=";
+  release."0.4".sha256 = "sha256:1f7pc4w3kir4c9p0fjx5l77401bx12y72nmqxrqs3qqd3iynvqlp";
+  releaseRev = (v: "v${v}");
 
   inherit version;
   defaultVersion = with versions; switch coq.coq-version [
-    { case = isGe "8.11"; out = "0.3"; }
+    { case = isGe "8.11"; out = "0.4"; }
   ] null;
 
-  propagatedBuildInputs = [ mathcomp equations paramcoq ];
+  propagatedBuildInputs = [ equations ];
+
+  useDune2 = true;
 
   meta = {
-    description = "Variations on Kirby & Paris' hydra battles and other entertaining math in Coq";
+    description = "Exploration of some properties of Kirby and Paris' hydra battles, with the help of Coq";
     longDescription = ''
-       Variations on Kirby & Paris' hydra battles and other
-       entertaining math in Coq (collaborative, documented, includes
-       exercises)
+      An exploration of some properties of Kirby and Paris' hydra
+      battles, with the help of the Coq Proof assistant. This
+      development includes the study of several representations of
+      ordinal numbers, and a part of the so-called Ketonen and Solovay
+      machinery (combinatorial properties of epsilon0).
     '';
-    maintainers = with maintainers; [ siraben ];
+    maintainers = with maintainers; [ siraben Zimmi48 ];
     license = licenses.mit;
     platforms = platforms.unix;
   };
diff --git a/nixpkgs/pkgs/development/coq-modules/interval/default.nix b/nixpkgs/pkgs/development/coq-modules/interval/default.nix
index cdb904523651..12fe66b50da6 100644
--- a/nixpkgs/pkgs/development/coq-modules/interval/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/interval/default.nix
@@ -1,16 +1,18 @@
-{ lib, mkCoqDerivation, which, autoconf, coq, coquelicot, flocq, bignums ? null, version ? null }:
+{ lib, mkCoqDerivation, which, autoconf, coq, coquelicot, flocq, bignums ? null, gnuplot_qt, version ? null }:
 
-with lib; mkCoqDerivation {
+mkCoqDerivation rec {
   pname = "interval";
   owner = "coqinterval";
   domain = "gitlab.inria.fr";
   inherit version;
-  defaultVersion = with versions; switch coq.coq-version [
-    { case = isGe "8.8" ;        out = "4.1.1"; }
+  defaultVersion = with lib.versions; lib.switch coq.coq-version [
+    { case = isGe "8.8" ;        out = "4.3.0"; }
     { case = range "8.8" "8.12"; out = "4.0.0"; }
     { case = range "8.7" "8.11"; out = "3.4.2"; }
     { case = range "8.5" "8.6";  out = "3.3.0"; }
   ] null;
+  release."4.3.0".sha256 = "sha256-k8DLC4HYYpHeEEgXUafS8jkaECqlM+/CoYaInmUTYko=";
+  release."4.2.0".sha256 = "sha256-SD5thgpirs3wmZBICjXGpoefg9AAXyExb5t8tz3iZhE=";
   release."4.1.1".sha256 = "sha256-h2NJ6sZt1C/88v7W2xyuftEDoyRt3H6kqm5g2hc1aoU=";
   release."4.0.0".sha256 = "1hhih6zmid610l6c8z3x4yzdzw9jniyjiknd1vpkyb2rxvqm3gzp";
   release."3.4.2".sha256 = "07ngix32qarl3pjnm9d0vqc9fdrgm08gy7zp306hwxjyq7h1v7z0";
@@ -18,8 +20,11 @@ with lib; mkCoqDerivation {
   releaseRev = v: "interval-${v}";
 
   nativeBuildInputs = [ which autoconf ];
-  propagatedBuildInputs = [ bignums coquelicot flocq ];
+  propagatedBuildInputs = [ bignums coquelicot flocq ]
+    ++ lib.optionals (lib.versions.isGe "4.2.0" defaultVersion) [ gnuplot_qt ];
   useMelquiondRemake.logpath = "Interval";
+  mlPlugin = true;
+  enableParallelBuilding = true;
 
   meta = with lib; {
     description = "Tactics for simplifying the proofs of inequalities on expressions of real numbers for the Coq proof assistant";
diff --git a/nixpkgs/pkgs/development/coq-modules/mathcomp/default.nix b/nixpkgs/pkgs/development/coq-modules/mathcomp/default.nix
index 4637edebdb77..ddbad5eea874 100644
--- a/nixpkgs/pkgs/development/coq-modules/mathcomp/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/mathcomp/default.nix
@@ -19,7 +19,7 @@ let
   owner = "math-comp";
   withDoc = single && (args.withDoc or false);
   defaultVersion = with versions; switch coq.coq-version [
-      { case = isGe  "8.13";        out = "1.12.0"; } # lower version of coq to 8.10 when all mathcomp packages are ported
+      { case = isGe  "8.10";        out = "1.12.0"; }
       { case = range "8.7"  "8.12"; out = "1.11.0"; }
       { case = range "8.7" "8.11";  out = "1.10.0"; }
       { case = range "8.7" "8.11";  out = "1.9.0";  }
diff --git a/nixpkgs/pkgs/development/coq-modules/multinomials/default.nix b/nixpkgs/pkgs/development/coq-modules/multinomials/default.nix
index dfa6a63571fd..acbb602a54ef 100644
--- a/nixpkgs/pkgs/development/coq-modules/multinomials/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/multinomials/default.nix
@@ -4,7 +4,10 @@ with lib; mkCoqDerivation {
 
   namePrefix = [ "coq" "mathcomp" ];
   pname = "multinomials";
+  opam-name = "coq-mathcomp-multinomials";
+
   owner = "math-comp";
+
   inherit version;
   defaultVersion =  with versions; switch [ coq.version mathcomp.version ] [
       { cases = [ (range "8.10" "8.13") "1.12.0" ];             out = "1.5.4"; }
diff --git a/nixpkgs/pkgs/development/coq-modules/serapi/default.nix b/nixpkgs/pkgs/development/coq-modules/serapi/default.nix
new file mode 100644
index 000000000000..5505713eb479
--- /dev/null
+++ b/nixpkgs/pkgs/development/coq-modules/serapi/default.nix
@@ -0,0 +1,72 @@
+{ lib, fetchzip, mkCoqDerivation, coq, version ? null }:
+
+let
+  ocamlPackages =
+    coq.ocamlPackages.overrideScope'
+      (self: super: {
+        ppxlib = super.ppxlib.override { version = "0.15.0"; };
+        # the following does not work
+        ppx_sexp_conv = super.ppx_sexp_conv.overrideAttrs (_: {
+          src = fetchzip {
+            url = "https://github.com/janestreet/ppx_sexp_conv/archive/v0.14.1.tar.gz";
+            sha256 = "04bx5id99clrgvkg122nx03zig1m7igg75piphhyx04w33shgkz2";
+          };
+        });
+      });
+
+  release = {
+    "8.13.0+0.13.0".sha256 = "sha256:0k69907xn4k61w4mkhwf8kh8drw9pijk9ynijsppihw98j8w38fy";
+    "8.12.0+0.12.1".sha256 = "sha256:048x3sgcq4h845hi6hm4j4dsfca8zfj70dm42w68n63qcm6xf9hn";
+    "8.11.0+0.11.1".sha256 = "sha256:1phmh99yqv71vlwklqgfxiq2vj99zrzxmryj2j4qvg5vav3y3y6c";
+    "8.10.0+0.7.2".sha256  = "sha256:1ljzm63hpd0ksvkyxcbh8rdf7p90vg91gb4h0zz0941v1zh40k8c";
+  };
+in
+
+(with lib; mkCoqDerivation rec {
+  pname = "serapi";
+  inherit version release;
+
+  defaultVersion =  with versions; switch coq.version [
+      { case = isEq "8.13"; out = "8.13.0+0.13.0"; }
+      { case = isEq "8.12"; out = "8.12.0+0.12.1"; }
+      { case = isEq "8.11"; out = "8.11.0+0.11.1"; }
+      { case = isEq "8.10"; out = "8.10.0+0.7.2";  }
+    ] null;
+
+  useDune2 = true;
+
+  propagatedBuildInputs =
+    with ocamlPackages; [
+      cmdliner
+      findlib # run time dependency of SerAPI
+      ppx_deriving
+      ppx_deriving_yojson
+      ppx_import
+      ppx_sexp_conv
+      sexplib
+      yojson
+      zarith # needed because of Coq
+    ];
+
+  installPhase = ''
+    runHook preInstall
+    dune install --prefix $out --libdir $OCAMLFIND_DESTDIR coq-serapi
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = https://github.com/ejgallego/coq-serapi;
+    description = "SerAPI is a library for machine-to-machine interaction with the Coq proof assistant";
+    license = licenses.lgpl21Plus;
+    maintainers = [ maintainers.Zimmi48 ];
+  };
+}).overrideAttrs(o:
+  let inherit (o) version; in {
+  src = fetchzip {
+    url = "https://github.com/ejgallego/coq-serapi/releases/download/${version}/coq-serapi-${
+        if version == "8.11.0+0.11.1" then version
+        else builtins.replaceStrings [ "+" ] [ "." ] version
+      }.tbz";
+    sha256 = release."${version}".sha256;
+  };
+})
diff --git a/nixpkgs/pkgs/development/coq-modules/topology/default.nix b/nixpkgs/pkgs/development/coq-modules/topology/default.nix
index b4367f0a8fcc..37585eea8c79 100644
--- a/nixpkgs/pkgs/development/coq-modules/topology/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/topology/default.nix
@@ -6,6 +6,7 @@ mkCoqDerivation rec {
 
   releaseRev = v: "v${v}";
 
+  release."9.0.0".sha256 = "sha256:03lgy53xg9pmrdd3d8qb4087k5qjnk260655svp6d79x4p2lxr8c";
   release."8.12.0".sha256 = "sha256-ypHmHwzwZ6MQPYwuS3QyZmVOEPUCSbO2lhVaA6TypgQ=";
   release."8.10.0".sha256 = "sha256-mCLF3JYIiO3AEW9yvlcLeF7zN4SjW3LG+Y5vYB0l55A=";
   release."8.9.0".sha256 = "sha256-ZJh1BM34iZOQ75zqLIA+KtBjO2y33y0UpAw/ydCWQYc=";
@@ -15,16 +16,16 @@ mkCoqDerivation rec {
 
   inherit version;
   defaultVersion = with versions; switch coq.coq-version [
-    { case = isGe "8.12"; out = "8.12.0"; }
-    { case = "8.11"; out = "8.12.0"; }
-    { case = "8.10"; out = "8.10.0"; }
+    { case = isGe "8.10"; out = "9.0.0"; }
     { case = "8.9"; out = "8.9.0"; }
     { case = "8.8"; out = "8.8.0"; }
     { case = "8.7"; out = "8.7.0"; }
     { case = "8.6"; out = "8.6.0"; }
   ] null;
 
-  propagatedBuildInputs = optional (versions.isLe "8.12" defaultVersion) zorns-lemma;
+  propagatedBuildInputs = [ zorns-lemma ];
+
+  useDune2ifVersion = versions.isGe "9.0";
 
   meta = {
     description = "General topology in Coq";
diff --git a/nixpkgs/pkgs/development/coq-modules/zorns-lemma/default.nix b/nixpkgs/pkgs/development/coq-modules/zorns-lemma/default.nix
index 84c3fd805197..cf3e9ca15db8 100644
--- a/nixpkgs/pkgs/development/coq-modules/zorns-lemma/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/zorns-lemma/default.nix
@@ -3,9 +3,11 @@ with lib;
 
 mkCoqDerivation {
   pname = "zorns-lemma";
+  repo = "topology";
 
   releaseRev = v: "v${v}";
 
+  release."9.0.0".sha256 = "sha256:03lgy53xg9pmrdd3d8qb4087k5qjnk260655svp6d79x4p2lxr8c";
   release."8.11.0".sha256 = "sha256-2Hf7YwRcFmP/DqwFtF1p78MCNV50qUWfMVQtZbwKd0k=";
   release."8.10.0".sha256 = "sha256-qLPLK2ZLJQ4SmJX2ADqFiP4kgHuQFJTeNXkBbjiFS+4=";
   release."8.9.0".sha256 = "sha256-lEh978cXehglFX9D92RVltEuvN8umfPo/hvmFZm2NGo=";
@@ -16,8 +18,7 @@ mkCoqDerivation {
 
   inherit version;
   defaultVersion = with versions; switch coq.coq-version [
-    { case = isGe "8.11"; out = "8.11.0"; }
-    { case = "8.10"; out = "8.10.0"; }
+    { case = isGe "8.10"; out = "9.0.0"; }
     { case = "8.9"; out = "8.9.0"; }
     { case = "8.8"; out = "8.8.0"; }
     { case = "8.7"; out = "8.7.0"; }
@@ -25,6 +26,8 @@ mkCoqDerivation {
     { case = "8.5"; out = "8.5.0"; }
   ] null;
 
+  useDune2ifVersion = versions.isGe "9.0";
+
   meta = {
     description = "Development of basic set theory";
     longDescription = ''
diff --git a/nixpkgs/pkgs/development/em-modules/generic/default.nix b/nixpkgs/pkgs/development/em-modules/generic/default.nix
index a260beb51044..8bfbf6ec3099 100644
--- a/nixpkgs/pkgs/development/em-modules/generic/default.nix
+++ b/nixpkgs/pkgs/development/em-modules/generic/default.nix
@@ -1,4 +1,4 @@
-{ pkgs, lib, emscripten, python }:
+{ pkgs, lib, emscripten, python2 }:
 
 { buildInputs ? [], nativeBuildInputs ? []
 
@@ -12,8 +12,8 @@ pkgs.stdenv.mkDerivation (
 
   pname = "emscripten-${lib.getName args}";
   version = lib.getVersion args;
-  buildInputs = [ emscripten python ] ++ buildInputs;
-  nativeBuildInputs = [ emscripten python ] ++ nativeBuildInputs;
+  buildInputs = [ emscripten python2 ] ++ buildInputs;
+  nativeBuildInputs = [ emscripten python2 ] ++ nativeBuildInputs;
 
   # fake conftest results with emscripten's python magic
   EMCONFIGURE_JS=2;
diff --git a/nixpkgs/pkgs/development/arduino/arduino-ci/default.nix b/nixpkgs/pkgs/development/embedded/arduino/arduino-ci/default.nix
index fe28a962e102..fe28a962e102 100644
--- a/nixpkgs/pkgs/development/arduino/arduino-ci/default.nix
+++ b/nixpkgs/pkgs/development/embedded/arduino/arduino-ci/default.nix
diff --git a/nixpkgs/pkgs/development/arduino/arduino-cli/default.nix b/nixpkgs/pkgs/development/embedded/arduino/arduino-cli/default.nix
index 84c39dba9000..8fd4cf0a35ae 100644
--- a/nixpkgs/pkgs/development/arduino/arduino-cli/default.nix
+++ b/nixpkgs/pkgs/development/embedded/arduino/arduino-cli/default.nix
@@ -19,8 +19,8 @@ let
 
     doCheck = false;
 
-    buildFlagsArray = [
-      "-ldflags=-s -w -X github.com/arduino/arduino-cli/version.versionString=${version} -X github.com/arduino/arduino-cli/version.commit=unknown"
+    ldflags = [
+      "-s" "-w" "-X github.com/arduino/arduino-cli/version.versionString=${version}" "-X github.com/arduino/arduino-cli/version.commit=unknown"
     ] ++ lib.optionals stdenv.isLinux [ "-extldflags '-static'" ];
 
     meta = with lib; {
diff --git a/nixpkgs/pkgs/development/arduino/arduino-core/default.nix b/nixpkgs/pkgs/development/embedded/arduino/arduino-core/default.nix
index 529be6e2a56e..529be6e2a56e 100644
--- a/nixpkgs/pkgs/development/arduino/arduino-core/default.nix
+++ b/nixpkgs/pkgs/development/embedded/arduino/arduino-core/default.nix
diff --git a/nixpkgs/pkgs/development/arduino/arduino-core/downloads.nix b/nixpkgs/pkgs/development/embedded/arduino/arduino-core/downloads.nix
index 76fa7664f0e0..76fa7664f0e0 100644
--- a/nixpkgs/pkgs/development/arduino/arduino-core/downloads.nix
+++ b/nixpkgs/pkgs/development/embedded/arduino/arduino-core/downloads.nix
diff --git a/nixpkgs/pkgs/development/arduino/arduino-mk/default.nix b/nixpkgs/pkgs/development/embedded/arduino/arduino-mk/default.nix
index d5f506038ca6..d5f506038ca6 100644
--- a/nixpkgs/pkgs/development/arduino/arduino-mk/default.nix
+++ b/nixpkgs/pkgs/development/embedded/arduino/arduino-mk/default.nix
diff --git a/nixpkgs/pkgs/development/arduino/ino/default.nix b/nixpkgs/pkgs/development/embedded/arduino/ino/default.nix
index 822cfb0e361a..e25a7b83e9c7 100644
--- a/nixpkgs/pkgs/development/arduino/ino/default.nix
+++ b/nixpkgs/pkgs/development/embedded/arduino/ino/default.nix
@@ -2,11 +2,11 @@
 , avrdude, arduino-core }:
 
 python2Packages.buildPythonApplication rec {
-  name = "ino-0.3.6";
-  namePrefix = "";
+  pname = "ino";
+  version = "0.3.6";
 
   src = fetchurl {
-    url = "mirror://pypi/i/ino/${name}.tar.gz";
+    url = "mirror://pypi/i/ino/ino-${version}.tar.gz";
     sha256 = "0k6lzfcn55favbj0w4afrvnmwyskf7bgzg9javv2ycvskp35srwv";
   };
 
diff --git a/nixpkgs/pkgs/development/tools/misc/avrdude/default.nix b/nixpkgs/pkgs/development/embedded/avrdude/default.nix
index db2ffce50cec..db2ffce50cec 100644
--- a/nixpkgs/pkgs/development/tools/misc/avrdude/default.nix
+++ b/nixpkgs/pkgs/development/embedded/avrdude/default.nix
diff --git a/nixpkgs/pkgs/development/tools/misc/blackmagic/default.nix b/nixpkgs/pkgs/development/embedded/blackmagic/default.nix
index f3b3b0b2d04b..f3b3b0b2d04b 100644
--- a/nixpkgs/pkgs/development/tools/misc/blackmagic/default.nix
+++ b/nixpkgs/pkgs/development/embedded/blackmagic/default.nix
diff --git a/nixpkgs/pkgs/development/tools/misc/blackmagic/helper.sh b/nixpkgs/pkgs/development/embedded/blackmagic/helper.sh
index bae57f633cfb..bae57f633cfb 100755
--- a/nixpkgs/pkgs/development/tools/misc/blackmagic/helper.sh
+++ b/nixpkgs/pkgs/development/embedded/blackmagic/helper.sh
diff --git a/nixpkgs/pkgs/development/tools/misc/bossa/bin2c.c b/nixpkgs/pkgs/development/embedded/bossa/bin2c.c
index f0b915de540a..f0b915de540a 100644
--- a/nixpkgs/pkgs/development/tools/misc/bossa/bin2c.c
+++ b/nixpkgs/pkgs/development/embedded/bossa/bin2c.c
diff --git a/nixpkgs/pkgs/development/tools/misc/bossa/bossa-no-applet-build.patch b/nixpkgs/pkgs/development/embedded/bossa/bossa-no-applet-build.patch
index 4284245f485d..4284245f485d 100644
--- a/nixpkgs/pkgs/development/tools/misc/bossa/bossa-no-applet-build.patch
+++ b/nixpkgs/pkgs/development/embedded/bossa/bossa-no-applet-build.patch
diff --git a/nixpkgs/pkgs/development/tools/misc/bossa/default.nix b/nixpkgs/pkgs/development/embedded/bossa/default.nix
index 4e35ff35f660..4e35ff35f660 100644
--- a/nixpkgs/pkgs/development/tools/misc/bossa/default.nix
+++ b/nixpkgs/pkgs/development/embedded/bossa/default.nix
diff --git a/nixpkgs/pkgs/development/tools/misc/cc-tool/default.nix b/nixpkgs/pkgs/development/embedded/cc-tool/default.nix
index e2a511a0e328..e2a511a0e328 100644
--- a/nixpkgs/pkgs/development/tools/misc/cc-tool/default.nix
+++ b/nixpkgs/pkgs/development/embedded/cc-tool/default.nix
diff --git a/nixpkgs/pkgs/development/tools/misc/easypdkprog/default.nix b/nixpkgs/pkgs/development/embedded/easypdkprog/default.nix
index 92d1a550ea80..92d1a550ea80 100644
--- a/nixpkgs/pkgs/development/tools/misc/easypdkprog/default.nix
+++ b/nixpkgs/pkgs/development/embedded/easypdkprog/default.nix
diff --git a/nixpkgs/pkgs/development/embedded/fpga/apio/default.nix b/nixpkgs/pkgs/development/embedded/fpga/apio/default.nix
new file mode 100644
index 000000000000..95de28113f84
--- /dev/null
+++ b/nixpkgs/pkgs/development/embedded/fpga/apio/default.nix
@@ -0,0 +1,69 @@
+{ lib
+, buildPythonApplication
+, fetchFromGitHub
+, click
+, semantic-version
+, requests
+, colorama
+, pyserial
+, wheel
+, setuptools
+, tinyprog
+, pytestCheckHook
+}:
+
+buildPythonApplication rec {
+  pname = "apio";
+  version = "0.7.6";
+  format = "flit";
+
+  src = fetchFromGitHub {
+    owner = "FPGAwars";
+    repo = "apio";
+    rev = "v${version}";
+    sha256 = "sha256-KmqxwYKsvcTSuUSVXgegR47y9VeU/vICbYWD7z3aDRM=";
+  };
+
+  postPatch = ''
+    substituteInPlace apio/managers/scons.py --replace \
+      'return "tinyprog --libusb --program"' \
+      'return "${tinyprog}/bin/tinyprog --libusb --program"'
+    substituteInPlace apio/util.py --replace \
+      '_command = join(get_bin_dir(), "tinyprog")' \
+      '_command = "${tinyprog}/bin/tinyprog"'
+
+    # semantic-version seems to not support version numbers like the one of tinyprog in Nixpkgs (1.0.24.dev114+gxxxxxxx).
+    # See https://github.com/rbarrois/python-semanticversion/issues/47.
+    # This leads to an error like "Error: Invalid version string: '1.0.24.dev114+g97f6353'"
+    # when executing "apio upload" for a TinyFPGA.
+    # Replace the dot with a dash to work around this problem.
+    substituteInPlace apio/managers/scons.py --replace \
+        'version = semantic_version.Version(pkg_version)' \
+        'version = semantic_version.Version(pkg_version.replace(".dev", "-dev"))'
+  '';
+
+  propagatedBuildInputs = [
+    click
+    semantic-version
+    requests
+    colorama
+    pyserial
+    wheel
+    setuptools # needs pkg_resources at runtime (technically not needed when tinyprog is also in this list because of the propagatedBuildInputs of tinyprog)
+
+    tinyprog # needed for upload to TinyFPGA
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pytestFlagsArray = [ "--offline" ];
+
+  meta = with lib; {
+    description = "Open source ecosystem for open FPGA boards";
+    homepage = "https://github.com/FPGAwars/apio";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ Luflosi ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/ecpdap/default.nix b/nixpkgs/pkgs/development/embedded/fpga/ecpdap/default.nix
index 38ba9d78712e..38ba9d78712e 100644
--- a/nixpkgs/pkgs/development/tools/ecpdap/default.nix
+++ b/nixpkgs/pkgs/development/embedded/fpga/ecpdap/default.nix
diff --git a/nixpkgs/pkgs/development/tools/misc/fujprog/default.nix b/nixpkgs/pkgs/development/embedded/fpga/fujprog/default.nix
index db1f42e3a266..db1f42e3a266 100644
--- a/nixpkgs/pkgs/development/tools/misc/fujprog/default.nix
+++ b/nixpkgs/pkgs/development/embedded/fpga/fujprog/default.nix
diff --git a/nixpkgs/pkgs/development/tools/icestorm/default.nix b/nixpkgs/pkgs/development/embedded/fpga/icestorm/default.nix
index 2644821529b7..2644821529b7 100644
--- a/nixpkgs/pkgs/development/tools/icestorm/default.nix
+++ b/nixpkgs/pkgs/development/embedded/fpga/icestorm/default.nix
diff --git a/nixpkgs/pkgs/development/tools/lattice-diamond/default.nix b/nixpkgs/pkgs/development/embedded/fpga/lattice-diamond/default.nix
index ce3525420613..e8bc4c1b1be5 100644
--- a/nixpkgs/pkgs/development/tools/lattice-diamond/default.nix
+++ b/nixpkgs/pkgs/development/embedded/fpga/lattice-diamond/default.nix
@@ -109,7 +109,7 @@ stdenv.mkDerivation {
       for cost- sensitive, low-power Lattice FPGA architectures. It is the
       next-generation replacement for ispLEVER.
     '';
-    homepage = "http://www.latticesemi.com/latticediamond";
+    homepage = "https://www.latticesemi.com/latticediamond";
     license = lib.licenses.unfree;
     maintainers = with lib.maintainers; [ q3k ];
     platforms = [ "x86_64-linux" ];
diff --git a/nixpkgs/pkgs/development/tools/misc/openfpgaloader/default.nix b/nixpkgs/pkgs/development/embedded/fpga/openfpgaloader/default.nix
index 1e3b3469dca3..b08c94439b9f 100644
--- a/nixpkgs/pkgs/development/tools/misc/openfpgaloader/default.nix
+++ b/nixpkgs/pkgs/development/embedded/fpga/openfpgaloader/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "openfpgaloader";
-  version = "0.2.6";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "trabucayre";
     repo = "openFPGALoader";
     rev = "v${version}";
-    sha256 = "sha256-OWRMWNOPm6flgeTKYWYE+LcG3HW6i8s2NQ1dr/oeOEw=";
+    sha256 = "sha256-g1mr7S9Z70A+dXWptZPLHt90JpuclJAEDwUTicpxtic=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/nixpkgs/pkgs/development/tools/misc/tinyprog/default.nix b/nixpkgs/pkgs/development/embedded/fpga/tinyprog/default.nix
index 06a8c3e98712..06a8c3e98712 100644
--- a/nixpkgs/pkgs/development/tools/misc/tinyprog/default.nix
+++ b/nixpkgs/pkgs/development/embedded/fpga/tinyprog/default.nix
diff --git a/nixpkgs/pkgs/development/tools/trellis/default.nix b/nixpkgs/pkgs/development/embedded/fpga/trellis/default.nix
index 8f9acd6c140c..4d3859a77df8 100644
--- a/nixpkgs/pkgs/development/tools/trellis/default.nix
+++ b/nixpkgs/pkgs/development/embedded/fpga/trellis/default.nix
@@ -1,30 +1,27 @@
-{ lib, stdenv, fetchFromGitHub
-, python3, boost
-, cmake
-}:
-
-stdenv.mkDerivation rec {
-  pname = "trellis";
-  version = "2021.01.02";
+{ lib, stdenv, fetchFromGitHub, python3, boost, cmake }:
 
+let
+  rev = "03e0070f263fbe31c247de61d259544722786210";
   # git describe --tags
-  realVersion = with lib; with builtins;
-    "1.0-482-g${substring 0 7 (elemAt srcs 0).rev}";
+  realVersion = "1.0-532-g${builtins.substring 0 7 rev}";
+in stdenv.mkDerivation rec {
+  pname = "trellis";
+  version = "2021-09-01";
 
   srcs = [
     (fetchFromGitHub {
        owner  = "YosysHQ";
        repo   = "prjtrellis";
-       rev    = "60c05b3f4e71fd78d4fba5c31f9974694245199e";
-       sha256 = "1k37mxwxv9fpm6xnrxlqqap7zqh2dvgqncphj3asi2rz0kh07ppf";
+       inherit rev;
+       sha256 = "joQMsjVj8d3M3IaqOkfVQ1I5qPDM8HHJiye+Ak8f3dg=";
        name   = "trellis";
      })
 
     (fetchFromGitHub {
       owner  = "YosysHQ";
       repo   = "prjtrellis-db";
-      rev    = "2cf058e7a3ba36134d21e34823e9b2ecaaceac2c";
-      sha256 = "1hjaw5jkwiaiznm2z0smy88m2cdz63cd51z4nibajfih7ikvkj6g";
+      rev    = "fdf4bf275a7402654bc643db537173e2fbc86103";
+      sha256 = "eDq2wU2pnfK9bOkEVZ07NQPv02Dc6iB+p5GTtVBiyQA=";
       name   = "trellis-database";
     })
   ];
@@ -34,14 +31,11 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake python3 ];
   cmakeFlags = [
     "-DCURRENT_GIT_VERSION=${realVersion}"
-    # TODO: should this be in stdenv instead?
-    "-DCMAKE_INSTALL_DATADIR=${placeholder "out"}/share"
   ];
 
-  preConfigure = with builtins; ''
-    rmdir database && ln -sfv ${elemAt srcs 1} ./database
+  preConfigure = ''
+    rmdir database && ln -sfv ${builtins.elemAt srcs 1} ./database
 
-    source environment.sh
     cd libtrellis
   '';
 
@@ -53,9 +47,9 @@ stdenv.mkDerivation rec {
       to provide sufficient information to develop a free and
       open Verilog to bitstream toolchain for these devices.
     '';
-    homepage    = "https://github.com/SymbiFlow/prjtrellis";
-    license     = lib.licenses.isc;
+    homepage    = "https://github.com/YosysHQ/prjtrellis";
+    license     = licenses.isc;
     maintainers = with maintainers; [ q3k thoughtpolice emily ];
-    platforms   = lib.platforms.all;
+    platforms   = platforms.all;
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/misc/gputils/default.nix b/nixpkgs/pkgs/development/embedded/gputils/default.nix
index c07949e80968..c07949e80968 100644
--- a/nixpkgs/pkgs/development/tools/misc/gputils/default.nix
+++ b/nixpkgs/pkgs/development/embedded/gputils/default.nix
diff --git a/nixpkgs/pkgs/development/tools/misc/openocd/default.nix b/nixpkgs/pkgs/development/embedded/openocd/default.nix
index 7b3a16fb75e4..7b3a16fb75e4 100644
--- a/nixpkgs/pkgs/development/tools/misc/openocd/default.nix
+++ b/nixpkgs/pkgs/development/embedded/openocd/default.nix
diff --git a/nixpkgs/pkgs/development/arduino/platformio/chrootenv.nix b/nixpkgs/pkgs/development/embedded/platformio/chrootenv.nix
index 72384c0994a2..72384c0994a2 100644
--- a/nixpkgs/pkgs/development/arduino/platformio/chrootenv.nix
+++ b/nixpkgs/pkgs/development/embedded/platformio/chrootenv.nix
diff --git a/nixpkgs/pkgs/development/arduino/platformio/core.nix b/nixpkgs/pkgs/development/embedded/platformio/core.nix
index 344835b831b3..a3dcbdd35fdf 100644
--- a/nixpkgs/pkgs/development/arduino/platformio/core.nix
+++ b/nixpkgs/pkgs/development/embedded/platformio/core.nix
@@ -9,11 +9,15 @@ let
   python = python3.override {
     packageOverrides = self: super: {
       aiofiles = super.aiofiles.overridePythonAttrs (oldAttrs: rec {
+        pname = "aiofiles";
         version = "0.6.0";
-        src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "e0281b157d3d5d59d803e3f4557dcc9a3dff28a4dd4829a9ff478adae50ca092";
+        src = fetchFromGitHub {
+          owner = "Tinche";
+          repo = pname;
+          rev = "v${version}";
+          sha256 = "0w23d88q65m06884pfcps661clr11w9wm701ihx6kfxjwga6fkzf";
         };
+        doCheck = false;
       });
 
       click = super.click.overridePythonAttrs (oldAttrs: rec {
diff --git a/nixpkgs/pkgs/development/arduino/platformio/default.nix b/nixpkgs/pkgs/development/embedded/platformio/default.nix
index 312c2d1044be..312c2d1044be 100644
--- a/nixpkgs/pkgs/development/arduino/platformio/default.nix
+++ b/nixpkgs/pkgs/development/embedded/platformio/default.nix
diff --git a/nixpkgs/pkgs/development/arduino/platformio/fix-searchpath.patch b/nixpkgs/pkgs/development/embedded/platformio/fix-searchpath.patch
index 46e84d15a82f..46e84d15a82f 100644
--- a/nixpkgs/pkgs/development/arduino/platformio/fix-searchpath.patch
+++ b/nixpkgs/pkgs/development/embedded/platformio/fix-searchpath.patch
diff --git a/nixpkgs/pkgs/development/arduino/platformio/missing-udev-rules-nixos.patch b/nixpkgs/pkgs/development/embedded/platformio/missing-udev-rules-nixos.patch
index 36af82245c53..36af82245c53 100644
--- a/nixpkgs/pkgs/development/arduino/platformio/missing-udev-rules-nixos.patch
+++ b/nixpkgs/pkgs/development/embedded/platformio/missing-udev-rules-nixos.patch
diff --git a/nixpkgs/pkgs/development/arduino/platformio/use-local-spdx-license-list.patch b/nixpkgs/pkgs/development/embedded/platformio/use-local-spdx-license-list.patch
index e0016adcf7df..e0016adcf7df 100644
--- a/nixpkgs/pkgs/development/arduino/platformio/use-local-spdx-license-list.patch
+++ b/nixpkgs/pkgs/development/embedded/platformio/use-local-spdx-license-list.patch
diff --git a/nixpkgs/pkgs/development/tools/rshell/default.nix b/nixpkgs/pkgs/development/embedded/rshell/default.nix
index bcda3c02dd63..bcda3c02dd63 100644
--- a/nixpkgs/pkgs/development/tools/rshell/default.nix
+++ b/nixpkgs/pkgs/development/embedded/rshell/default.nix
diff --git a/nixpkgs/pkgs/development/misc/stm32/betaflight/default.nix b/nixpkgs/pkgs/development/embedded/stm32/betaflight/default.nix
index 1ecf9be5d8d0..1ecf9be5d8d0 100644
--- a/nixpkgs/pkgs/development/misc/stm32/betaflight/default.nix
+++ b/nixpkgs/pkgs/development/embedded/stm32/betaflight/default.nix
diff --git a/nixpkgs/pkgs/development/misc/stm32/inav/default.nix b/nixpkgs/pkgs/development/embedded/stm32/inav/default.nix
index c1f762e47d86..c1f762e47d86 100644
--- a/nixpkgs/pkgs/development/misc/stm32/inav/default.nix
+++ b/nixpkgs/pkgs/development/embedded/stm32/inav/default.nix
diff --git a/nixpkgs/pkgs/development/tools/misc/stm32cubemx/default.nix b/nixpkgs/pkgs/development/embedded/stm32/stm32cubemx/default.nix
index bca4f87f9a55..bca4f87f9a55 100644
--- a/nixpkgs/pkgs/development/tools/misc/stm32cubemx/default.nix
+++ b/nixpkgs/pkgs/development/embedded/stm32/stm32cubemx/default.nix
diff --git a/nixpkgs/pkgs/development/tools/misc/stm32flash/default.nix b/nixpkgs/pkgs/development/embedded/stm32/stm32flash/default.nix
index bc33d417f885..52b301154993 100644
--- a/nixpkgs/pkgs/development/tools/misc/stm32flash/default.nix
+++ b/nixpkgs/pkgs/development/embedded/stm32/stm32flash/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "stm32flash";
-  version = "0.5";
+  version = "0.6";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "01p396daqw3zh6nijffbfbwyqza33bi2k4q3m5yjzs02xwi99alp";
+    sha256 = "sha256-7ptA1NPlzSi5k+CK4qLDxVm2vqhzDNfh1Acn3tsd2gk=";
   };
 
   buildFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
diff --git a/nixpkgs/pkgs/development/tools/misc/teensy-loader-cli/default.nix b/nixpkgs/pkgs/development/embedded/teensy-loader-cli/default.nix
index 156e3f7f895d..ccae93770249 100644
--- a/nixpkgs/pkgs/development/tools/misc/teensy-loader-cli/default.nix
+++ b/nixpkgs/pkgs/development/embedded/teensy-loader-cli/default.nix
@@ -1,31 +1,46 @@
-{ lib, stdenv, fetchFromGitHub, go-md2man, installShellFiles, libusb-compat-0_1 }:
+{ stdenv
+, lib
+, fetchFromGitHub
+, go-md2man
+, installShellFiles
+, libusb-compat-0_1
+}:
 
 stdenv.mkDerivation rec {
   pname = "teensy-loader-cli";
-  version = "2.1.20191110";
+  version = "2.1+unstable=2021-04-10";
 
   src = fetchFromGitHub {
     owner = "PaulStoffregen";
     repo = "teensy_loader_cli";
-    rev = "e98b5065cdb9f04aa4dde3f2e6e6e6f12dd97592";
-    sha256 = "1yx8vsh6b29pqr4zb6sx47429i9x51hj9psn8zksfz75j5ivfd5i";
+    rev = "9dbbfa3b367b6c37e91e8a42dae3c6edfceccc4d";
+    sha256 = "lQ1XtaWPr6nvE8NArD1980QVOH6NggO3FlfsntUjY7s=";
   };
 
-  buildInputs = [ libusb-compat-0_1 ];
+  nativeBuildInputs = [
+    go-md2man
+    installShellFiles
+  ];
 
-  nativeBuildInputs = [ go-md2man installShellFiles ];
+  buildInputs = [
+    libusb-compat-0_1
+  ];
 
   installPhase = ''
+    runHook preInstall
+
     install -Dm555 teensy_loader_cli $out/bin/teensy-loader-cli
     install -Dm444 -t $out/share/doc/${pname} *.md *.txt
     go-md2man -in README.md -out ${pname}.1
     installManPage *.1
+
+    runHook postInstall
   '';
 
   meta = with lib; {
     description = "Firmware uploader for the Teensy microcontroller boards";
     homepage = "https://www.pjrc.com/teensy/";
-    license = licenses.gpl3;
+    license = licenses.gpl3Only;
     platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/misc/uisp/default.nix b/nixpkgs/pkgs/development/embedded/uisp/default.nix
index 986a560ff6e8..986a560ff6e8 100644
--- a/nixpkgs/pkgs/development/tools/misc/uisp/default.nix
+++ b/nixpkgs/pkgs/development/embedded/uisp/default.nix
diff --git a/nixpkgs/pkgs/development/tools/misc/xc3sprog/default.nix b/nixpkgs/pkgs/development/embedded/xc3sprog/default.nix
index b9785bac7c5c..b9785bac7c5c 100644
--- a/nixpkgs/pkgs/development/tools/misc/xc3sprog/default.nix
+++ b/nixpkgs/pkgs/development/embedded/xc3sprog/default.nix
diff --git a/nixpkgs/pkgs/development/go-modules/generic/default.nix b/nixpkgs/pkgs/development/go-modules/generic/default.nix
index cda43ebf0ed6..ff6df85e5ae9 100644
--- a/nixpkgs/pkgs/development/go-modules/generic/default.nix
+++ b/nixpkgs/pkgs/development/go-modules/generic/default.nix
@@ -12,6 +12,9 @@ let
     # Go linker flags, passed to go via -ldflags
     , ldflags ? []
 
+    # Go tags, passed to go via -tag
+    , tags ? []
+
     # A function to override the go-modules derivation
     , overrideModAttrs ? (_oldAttrs : {})
 
@@ -28,6 +31,10 @@ let
     # Whether to run the vend tool to regenerate the vendor directory.
     # This is useful if any dependency contain C files.
     , runVend ? false
+    # Whether to fetch (go mod download) and proxy the vendor directory.
+    # This is useful if any dependency has case-insensitive conflicts
+    # which will produce platform dependant `vendorSha256` checksums.
+    , proxyVendor ? false
 
     # We want parallel builds by default
     , enableParallelBuilding ? true
@@ -41,10 +48,16 @@ let
     # Not needed with buildGoModule
     , goPackagePath ? ""
 
+    # needed for buildFlags{,Array} warning
+    , buildFlags ? ""
+    , buildFlagsArray ? ""
+
     , ... }@args':
 
     with builtins;
 
+    assert (runVend == true && proxyVendor == true) -> throw "can't use `runVend` and `proxyVendor` together";
+
     assert goPackagePath != "" -> throw "`goPackagePath` is not needed with `buildGoModule`";
 
     let
@@ -96,6 +109,9 @@ let
         ${if runVend then ''
           echo "running 'vend' to rewrite vendor folder"
           ${vend}/bin/vend
+        '' else if proxyVendor then ''
+          mkdir -p "''${GOPATH}/pkg/mod/cache/download"
+          go mod download
         '' else ''
           go mod vendor
         ''}
@@ -108,8 +124,12 @@ let
         installPhase = args.modInstallPhase or ''
           runHook preInstall
 
-          # remove cached lookup results and tiles
+        ${if proxyVendor then ''
+          rm -rf "''${GOPATH}/pkg/mod/cache/download/sumdb"
+          cp -r --reflink=auto "''${GOPATH}/pkg/mod/cache/download" $out
+        '' else ''
           cp -r --reflink=auto vendor $out
+        ''}
 
           runHook postInstall
         '';
@@ -129,7 +149,7 @@ let
         inherit (go) GOOS GOARCH;
 
         GO111MODULE = "on";
-        GOFLAGS = [ "-mod=vendor" ] ++ lib.optionals (!allowGoReference) [ "-trimpath" ];
+        GOFLAGS = lib.optionals (!proxyVendor) [ "-mod=vendor" ] ++ lib.optionals (!allowGoReference) [ "-trimpath" ];
 
         configurePhase = args.configurePhase or ''
           runHook preConfigure
@@ -137,11 +157,15 @@ let
           export GOCACHE=$TMPDIR/go-cache
           export GOPATH="$TMPDIR/go"
           export GOSUMDB=off
-          export GOPROXY=off
           cd "$modRoot"
         '' + lib.optionalString (go-modules != "") ''
-          rm -rf vendor
-          cp -r --reflink=auto ${go-modules} vendor
+          ${if proxyVendor then ''
+            export GOPROXY=file://${go-modules}
+          '' else ''
+            export GOPROXY=off
+            rm -rf vendor
+            cp -r --reflink=auto ${go-modules} vendor
+          ''}
         '' + ''
 
           runHook postConfigure
@@ -158,7 +182,7 @@ let
             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[@]}" ''${ldflags:+-ldflags="$ldflags"} -v -p $NIX_BUILD_CORES $d 2>&1)"; then
+            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
                 echo "$OUT" >&2
                 return 1
@@ -252,6 +276,9 @@ let
         overrideGoAttrs = f: buildGoPackage (args' // (f args'));
       };
     in
+    lib.warnIf (buildFlags != "" || buildFlagsArray != "")
+      "Use the `ldflags` and/or `tags` attributes instead of `buildFlags`/`buildFlagsArray`"
       package;
 in
   buildGoPackage
+
diff --git a/nixpkgs/pkgs/development/go-packages/generic/default.nix b/nixpkgs/pkgs/development/go-packages/generic/default.nix
index 0fb51b68eca6..7c4d173b937b 100644
--- a/nixpkgs/pkgs/development/go-packages/generic/default.nix
+++ b/nixpkgs/pkgs/development/go-packages/generic/default.nix
@@ -10,6 +10,9 @@
 # Go linker flags, passed to go via -ldflags
 , ldflags ? []
 
+# Go tags, passed to go via -tag
+, tags ? []
+
 # We want parallel builds by default
 , enableParallelBuilding ? true
 
@@ -40,6 +43,10 @@
 
 , CGO_ENABLED ? go.CGO_ENABLED
 
+# needed for buildFlags{,Array} warning
+, buildFlags ? ""
+, buildFlagsArray ? ""
+
 , meta ? {}, ... } @ args:
 
 
@@ -151,7 +158,7 @@ let
         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[@]}" ''${ldflags:+-ldflags="$ldflags"} -v -p $NIX_BUILD_CORES $d 2>&1)"; then
+        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
             echo "$OUT" >&2
             return 1
@@ -254,4 +261,6 @@ let
     } // meta;
   });
 in
+lib.warnIf (buildFlags != "" || buildFlagsArray != "")
+  "Use the `ldflags` and/or `tags` attributes instead of `buildFlags`/`buildFlagsArray`"
   package
diff --git a/nixpkgs/pkgs/development/guile-modules/guile-lib/default.nix b/nixpkgs/pkgs/development/guile-modules/guile-lib/default.nix
index 50c6a1daefb2..b5c358373fd2 100644
--- a/nixpkgs/pkgs/development/guile-modules/guile-lib/default.nix
+++ b/nixpkgs/pkgs/development/guile-modules/guile-lib/default.nix
@@ -10,11 +10,11 @@ assert stdenv ? cc && stdenv.cc.isGNU;
 
 stdenv.mkDerivation rec {
   pname = "guile-lib";
-  version = "0.2.6.1";
+  version = "0.2.7";
 
   src = fetchurl {
     url = "mirror://savannah/${pname}/${pname}-${version}.tar.gz";
-    hash = "sha256-bR09DxTbnSgLjUJ9bh3sRBfd0Cv/I71Zguy24mLrPyo=";
+    hash = "sha256-5O87hF8SGILHwM8E+BocuP02DG9ktWuGjeVUYhT5BN4=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/haskell-modules/HACKING.md b/nixpkgs/pkgs/development/haskell-modules/HACKING.md
index 1161bd828f2a..9024a90a09da 100644
--- a/nixpkgs/pkgs/development/haskell-modules/HACKING.md
+++ b/nixpkgs/pkgs/development/haskell-modules/HACKING.md
@@ -241,6 +241,14 @@ When you've double-checked these points, go ahead and merge the `haskell-updates
 After merging, **make sure not to delete the `haskell-updates` branch**, since it
 causes all currently open Haskell-related pull-requests to be automatically closed on GitHub.
 
+## Update Hackage Version Information
+
+After merging into `master` you can update what hackage displays as the current
+version in NixOS for every individual package.
+To do this you run `maintainers/scripts/haskell/upload-nixos-package-list-to-hackage.sh`.
+See the script for how to provide credentials. Once you have configured that
+running this takes only a few seconds.
+
 ## Additional Info
 
 Here are some additional tips that didn't fit in above.
@@ -287,3 +295,34 @@ Here are some additional tips that didn't fit in above.
 
 -   The Haskell team members generally hang out in the Matrix room
     [#haskell:nixos.org](https://matrix.to/#/#haskell:nixos.org).
+
+-   This is a checklist for things that need to happen when a new
+    member is added to the Nixpkgs Haskell team.
+
+    1.  Add the person to the
+        [@NixOS/haskell](https://github.com/orgs/NixOS/teams/haskell)
+        team.  You may need to ask someone in the NixOS organization
+        to do this, like [@domenkozar](https://github.com/domenkozar).
+        This gives the new member access to the GitHub repos like
+        [cabal2nix](https://github.com/NixOS/cabal2nix).
+
+    1.  Add the person as a maintainer for the following packages
+        on Hackage:
+        - https://hackage.haskell.org/package/cabal2nix
+        - https://hackage.haskell.org/package/distribution-nixpkgs
+        - https://hackage.haskell.org/package/hackage-db
+        - https://hackage.haskell.org/package/jailbreak-cabal
+        - https://hackage.haskell.org/package/language-nix
+
+    1.  Add the person to the `haskell` team in
+        [`maintainers/team-list.nix`](../../../maintainers/team-list.nix).
+        This team is responsible for some important packages in
+        [release-haskell.nix](../../top-level/release-haskell.nix).
+
+    1.  Update the
+        [Nextcloud Calendar](https://cloud.maralorn.de/apps/calendar/p/Mw5WLnzsP7fC4Zky)
+        and work the new member into the `haskell-updates` rotation.
+
+    1.  Optionally, have the new member add themselves to the Haskell
+        section in [`CODEOWNERS`](../../../.github/CODEOWNERS).  This
+        will cause them to get pinged on most Haskell-related PRs.
diff --git a/nixpkgs/pkgs/development/haskell-modules/cabal2nix-unstable.nix b/nixpkgs/pkgs/development/haskell-modules/cabal2nix-unstable.nix
index 6a769a47ef88..be80f3ed5ce6 100644
--- a/nixpkgs/pkgs/development/haskell-modules/cabal2nix-unstable.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/cabal2nix-unstable.nix
@@ -8,10 +8,10 @@
 }:
 mkDerivation {
   pname = "cabal2nix";
-  version = "unstable-2021-07-08";
+  version = "unstable-2021-08-27";
   src = fetchzip {
-    url = "https://github.com/NixOS/cabal2nix/archive/b28902718d89f6a14a836d95a7093bc46e4f8bb5.tar.gz";
-    sha256 = "1jdbz0krwzzsl3vb10xgman642v49bbgwyl6dw3p9aw6s7a8nfgk";
+    url = "https://github.com/NixOS/cabal2nix/archive/05b1b404e20eb6252f93c821d4d7974ab7277d90.tar.gz";
+    sha256 = "03zvp3wwqph9niadgbvkfcqabafgyhnw12r09cw23hm69hsb64d5";
   };
   isLibrary = true;
   isExecutable = true;
diff --git a/nixpkgs/pkgs/development/haskell-modules/configuration-arm.nix b/nixpkgs/pkgs/development/haskell-modules/configuration-arm.nix
index 550b976a5cf6..1013975ac66f 100644
--- a/nixpkgs/pkgs/development/haskell-modules/configuration-arm.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/configuration-arm.nix
@@ -45,6 +45,8 @@ self: super: {
   # TODO: figure out if needed on aarch32 as well
   BNFC = dontCheck super.BNFC;
   C-structs = dontCheck super.C-structs;
+  Chart-tests = dontCheck super.Chart-tests;
+  Jikka = dontCheck super.Jikka;
   accelerate = dontCheck super.accelerate;
   ad = dontCheck super.ad;
   autoapply = dontCheck super.autoapply;
@@ -93,6 +95,9 @@ self: super: {
   # https://github.com/ekmett/half/issues/35
   half = dontCheck super.half;
 
+  # We disable profiling on aarch64, so tests naturally fail
+  ghc-prof = dontCheck super.ghc-prof;
+
 } // lib.optionalAttrs pkgs.stdenv.hostPlatform.isAarch32 {
   # AARCH32-SPECIFIC OVERRIDES
 
diff --git a/nixpkgs/pkgs/development/haskell-modules/configuration-common.nix b/nixpkgs/pkgs/development/haskell-modules/configuration-common.nix
index 9594c0788c79..069b90f04372 100644
--- a/nixpkgs/pkgs/development/haskell-modules/configuration-common.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/configuration-common.nix
@@ -64,7 +64,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 = "0nvaaba06dgkl2kfq6ldmj0v6mm2dh7wfky6lsxxy5kskbncyqjr";
+      sha256 = "0kcsb5kqyx256fp1bj3y0x6k3286j4cykrx0yr4k3vvb3maakf7k";
       # 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
@@ -120,14 +120,6 @@ self: super: {
   # Jailbreak is necessary for QuickCheck dependency.
   vector = doJailbreak (if pkgs.stdenv.isi686 then appendConfigureFlag super.vector "--ghc-options=-msse2" else super.vector);
 
-  # Test suite fails due golden tests checking text representation
-  # of normalized dhall expressions, and newer dhall versions format
-  # differently.
-  hpack-dhall =
-    if pkgs.lib.versionOlder "0.5.2" super.hpack-dhall.version
-    then throw "Drop dontCheck override for hpack-dhall > 0.5.2"
-    else dontCheck super.hpack-dhall;
-
   inline-c-cpp = overrideCabal super.inline-c-cpp (drv: {
     postPatch = (drv.postPatch or "") + ''
       substituteInPlace inline-c-cpp.cabal --replace "-optc-std=c++11" ""
@@ -178,51 +170,17 @@ self: super: {
   digit = doJailbreak super.digit;
 
   hnix = generateOptparseApplicativeCompletion "hnix"
-    (overrideCabal super.hnix (drv: {
+    (overrideCabal (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;
+    }) (drv: {
       # 2020-06-05: HACK: does not pass own build suite - `dontCheck`
       doCheck = false;
-      # 2021-05-12: Revert a few dependency cleanups which depend on release
-      # that are not in stackage yet:
-      # * Depend on semialign-indexed for Data.Semialign.Indexed
-      #   (remove when semialign >= 1.2 in stackage)
-      # * Readd dependencies to text and unordered-containers.
-      #   (remove when relude >= 1.0.0.0 is in stackage, see
-      #   https://github.com/haskell-nix/hnix/issues/933)
-      libraryHaskellDepends = [
-        self.semialign-indexed
-      ] ++ drv.libraryHaskellDepends;
-      patches = [
-        # depend on semialign-indexed again
-        (pkgs.fetchpatch {
-          url = "https://github.com/haskell-nix/hnix/commit/16fc342a4f2974f855968472252cd9274609f177.patch";
-          sha256 = "0gm4gy3jpn4dqnrhnqlsavfpw9c1j1xa8002v54knnlw6vpk9niy";
-          revert = true;
-        })
-        # depend on text again
-        (pkgs.fetchpatch {
-          url = "https://github.com/haskell-nix/hnix/commit/73057618576e86bb87dfd42f62b855d24bbdf469.patch";
-          sha256 = "03cyk96d5ad362i1pnz9bs8ifr84kpv8phnr628gys4j6a0bqwzc";
-          revert = true;
-        })
-        # depend on unordered-containers again
-        (pkgs.fetchpatch {
-          url = "https://github.com/haskell-nix/hnix/commit/70643481883ed448b51221a030a76026fb5eb731.patch";
-          sha256 = "0pqmijfkysjixg3gb4kmrqdif7s2saz8qi6k337jf15i0npzln8d";
-          revert = true;
-        })
-        # allow relude < 1.0 again
-        (pkgs.fetchpatch {
-          url = "https://github.com/haskell-nix/hnix/commit/f4ea5dcb344369916586498ba33c00d0fc605a79.patch";
-          sha256 = "1ajl7d49d658xhalgf3pc5svmbq73dsysy6z434n75vb1357mx86";
-          revert = true;
-        })
-      ] ++ (drv.patches or []);
-      # make sure patches are not broken by cabal file revisions
-      revision = null;
-      editedCabalFile = null;
     }));
 
   # Fails for non-obvious reasons while attempting to use doctest.
+  focuslist = dontCheck super.focuslist;
   search = dontCheck super.search;
 
   # see https://github.com/LumiGuide/haskell-opencv/commit/cd613e200aa20887ded83256cf67d6903c207a60
@@ -783,6 +741,9 @@ self: super: {
 
   # Needs pginit to function and pgrep to verify.
   tmp-postgres = overrideCabal super.tmp-postgres (drv: {
+    # Flaky tests: https://github.com/jfischoff/tmp-postgres/issues/274
+    doCheck = false;
+
     preCheck = ''
       export HOME="$TMPDIR"
     '' + (drv.preCheck or "");
@@ -1042,10 +1003,14 @@ self: super: {
   # https://github.com/mgajda/json-autotype/issues/25
   json-autotype = dontCheck super.json-autotype;
 
+  # Requires dlist <0.9 but it works fine with dlist-1.0
+  # https://github.com/haskell-beam/beam/issues/581
+  beam-core = doJailbreak super.beam-core;
+
   # Requires pg_ctl command during tests
   beam-postgres = overrideCabal super.beam-postgres (drv: {
     testToolDepends = (drv.testToolDepends or []) ++ [pkgs.postgresql];
-    });
+  });
 
   # Fix for base >= 4.11
   scat = overrideCabal super.scat (drv: {
@@ -1071,12 +1036,6 @@ self: super: {
   # Has tasty < 1.2 requirement, but works just fine with 1.2
   temporary-resourcet = doJailbreak super.temporary-resourcet;
 
-  # fake a home dir and capture generated man page
-  ats-format = overrideCabal super.ats-format (old : {
-    preConfigure = "export HOME=$PWD";
-    postBuild = "mv .local/share $out";
-  });
-
   # Test suite doesn't work with current QuickCheck
   # https://github.com/pruvisto/heap/issues/11
   heap = dontCheck super.heap;
@@ -1182,14 +1141,8 @@ self: super: {
   # $HOME, which we don't have in our build sandbox.
   cabal-install-parsers = dontCheck super.cabal-install-parsers;
 
-  # jailbreak and patch (for pandoc >= 2.12) ensure compilation with newer dependencies.
-  # can both be removed at the next release (current is 0.13.0.0)
-  gitit = doJailbreak (appendPatch super.gitit
-    (pkgs.fetchpatch {
-      url = "https://github.com/jgm/gitit/commit/e8c9d94be332e2f73de9b0eee222a2a09f191faf.patch";
-      sha256 = "1rl2c3sz8cd2c3qwv9b640853s4bblcknvfv29k472wqhs62mwz1";
-      includes = [ "src/**" ];
-    }));
+  # 2021-08-18: Erroneously  claims that it needs a newer HStringTemplate (>= 0.8.8) than stackage.
+  gitit = doJailbreak super.gitit;
 
   # Test suite requires database
   persistent-mysql = dontCheck super.persistent-mysql;
@@ -1312,8 +1265,10 @@ self: super: {
   # https://github.com/jgm/commonmark-hs/issues/55
   commonmark-extensions = dontCheck super.commonmark-extensions;
 
-  # Testsuite trying to run `which haskeline-examples-Test`
-  haskeline_0_8_1_2 = dontCheck super.haskeline_0_8_1_2;
+  # Fails with encoding problems, likely needs locale data.
+  # Test can be executed by adding which to testToolDepends and
+  # $PWD/dist/build/haskeline-examples-Test to $PATH.
+  haskeline_0_8_2 = dontCheck super.haskeline_0_8_2;
 
   # Tests for list-t, superbuffer, and stm-containers
   # depend on HTF and it is broken, 2020-08-23
@@ -1324,23 +1279,39 @@ self: super: {
   # Fails with "supports custom headers"
   Spock-core = dontCheck super.Spock-core;
 
-  # Needed by Hasura  1.3.1
-  dependent-map_0_2_4_0 = super.dependent-map_0_2_4_0.override {
-    dependent-sum = self.dependent-sum_0_4;
-  };
-
-  # Hasura 1.3.1
-  # Because of ghc-heap-view, profiling needs to be disabled.
-  graphql-engine = disableLibraryProfiling( overrideCabal (super.graphql-engine.override {
-     immortal = self.immortal_0_2_2_1;
-     dependent-map = self.dependent-map_0_2_4_0;
-     dependent-sum = self.dependent-sum_0_4;
+  # hasura packages need some extra care
+  graphql-engine = overrideCabal (super.graphql-engine.overrideScope (self: super: {
+    immortal = self.immortal_0_2_2_1;
+    resource-pool = self.hasura-resource-pool;
+    ekg-core = self.hasura-ekg-core;
+    ekg-json = self.hasura-ekg-json;
+    hspec = dontCheck self.hspec_2_8_3;
+    hspec-core = dontCheck self.hspec-core_2_8_3;
+    hspec-discover = dontCheck super.hspec-discover_2_8_3;
+    tasty-hspec = self.tasty-hspec_1_2;
+  })) (drv: {
+    patches = [ ./patches/graphql-engine-mapkeys.patch ];
+    doHaddock = false;
+    version = "2.0.7";
+  });
+  hasura-ekg-core = super.hasura-ekg-core.overrideScope (self: super: {
+    hspec = dontCheck self.hspec_2_8_3;
+    hspec-core = dontCheck self.hspec-core_2_8_3;
+    hspec-discover = dontCheck super.hspec-discover_2_8_3;
+  });
+  hasura-ekg-json = super.hasura-ekg-json.overrideScope (self: super: {
+    ekg-core = self.hasura-ekg-core;
+    hspec = dontCheck self.hspec_2_8_3;
+    hspec-core = dontCheck self.hspec-core_2_8_3;
+    hspec-discover = dontCheck super.hspec-discover_2_8_3;
+  });
+  pg-client = overrideCabal (super.pg-client.override {
+    resource-pool = self.hasura-resource-pool;
   }) (drv: {
-     # version in cabal file is invalid
-     version = "1.3.1-beta1";
-     # hasura needs VERSION env exported during build
-     preBuild = "export VERSION=1.3.1-beta1";
-  }));
+    librarySystemDepends = with pkgs; [ postgresql krb5.dev openssl.dev ];
+    # wants a running DB to check against
+    doCheck = false;
+  });
 
   # https://github.com/bos/statistics/issues/170
   statistics = dontCheck super.statistics;
@@ -1464,7 +1435,7 @@ self: super: {
   # 2020-11-19: Jailbreaking until: https://github.com/snapframework/heist/pull/124
   heist = doJailbreak super.heist;
 
-  hinit = generateOptparseApplicativeCompletion "hi" (super.hinit.override { haskeline = self.haskeline_0_8_1_2; });
+  hinit = generateOptparseApplicativeCompletion "hi" (super.hinit.override { haskeline = self.haskeline_0_8_2; });
 
   # 2020-11-19: Jailbreaking until: https://github.com/snapframework/snap/pull/219
   snap = doJailbreak super.snap;
@@ -1489,6 +1460,10 @@ self: super: {
     addBuildDepend (unmarkBroken super.hercules-ci-cli) super.hercules-ci-optparse-applicative
   );
 
+  # 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 super.readline ./patches/readline-fix-for-cabal-3.patch;
+
   # 2020-12-05: http-client is fixed on too old version
   essence-of-live-coding-warp = doJailbreak (super.essence-of-live-coding-warp.override {
     http-client = self.http-client_0_7_8;
@@ -1745,9 +1720,6 @@ self: super: {
     excludes = ["test/buildtest"];
   });
 
-  # workaround for https://github.com/peti/distribution-nixpkgs/issues/9
-  pam = super.pam.override { inherit (pkgs) pam; };
-
   # Too strict version bounds on base:
   # https://github.com/obsidiansystems/database-id/issues/1
   database-id-class = doJailbreak super.database-id-class;
@@ -1903,8 +1875,6 @@ EOT
   # https://github.com/HeinrichApfelmus/reactive-banana/issues/215
   reactive-banana = doJailbreak super.reactive-banana;
 
-  hackage-db_2_1_0 = doDistribute super.hackage-db_2_1_0;
-
   # Too strict bounds on QuickCheck
   # https://github.com/muesli4/table-layout/issues/16
   table-layout = doJailbreak super.table-layout;
@@ -1921,10 +1891,6 @@ EOT
   # https://github.com/google/proto-lens/issues/413
   proto-lens = doJailbreak super.proto-lens;
 
-  # Too strict bounds on profunctors
-  # https://github.com/jcranch/tophat/issues/1
-  tophat = doJailbreak super.tophat;
-
   # 2021-06-20: Outdated upper bounds
   # https://github.com/Porges/email-validate-hs/issues/58
   email-validate = doJailbreak super.email-validate;
@@ -1944,16 +1910,52 @@ EOT
   # Fixed on upstream: https://github.com/softwarefactory-project/matrix-client-haskell/commit/4ca4963cfd06379d9bdce49742af854aed6a0d37
   matrix-client = dontCheck super.matrix-client;
 
-  # Flakey tests
-  # upstream https://github.com/circuithub/rel8/issues/86
-  rel8 = dontCheck (super.rel8.override {
-    opaleye = dontCheck super.opaleye_0_7_2_0;
-  });
-
   # 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;
 
+  # Test suite doesn't build with base16-bytestring >= 1.0.0.0
+  # https://github.com/emilypi/Base16/issues/9
+  base16 = dontCheck super.base16;
+
+  # gtk2hsC2hs fails to build on certain architectures (aarch64, ppc64(le), ...)
+  # with a linker error. As a workaround, we build gtk2hs-buildtools with -O0
+  # as suggested in the GHC thread below. An alternative to this could be to use
+  # -fllvm. I haven't been able to get this to work without linker errors, though.
+  # See also:
+  # * https://gitlab.haskell.org/ghc/ghc/-/issues/17203
+  # * https://github.com/gtk2hs/gtk2hs/issues/305
+  # * https://github.com/gtk2hs/gtk2hs/issues/279
+  gtk2hs-buildtools = appendConfigureFlags super.gtk2hs-buildtools
+    (pkgs.lib.optionals (with pkgs.stdenv.hostPlatform; isAarch64 || isPowerPC) [
+      "--ghc-option=-O0"
+    ]);
+
+  # https://github.com/ajscholl/basic-cpuid/pull/1
+  basic-cpuid = appendPatch super.basic-cpuid (pkgs.fetchpatch {
+    url = "https://github.com/ajscholl/basic-cpuid/commit/2f2bd7a7b53103fb0cf26883f094db9d7659887c.patch";
+    sha256 = "0l15ccfdys100jf50s9rr4p0d0ikn53bkh7a9qlk9i0y0z5jc6x1";
+  });
+
+  # Needs Cabal >= 3.4
+  chs-cabal = super.chs-cabal.override {
+    Cabal = self.Cabal_3_6_0_0;
+  };
+
+  # ghc-api-compat needlessly requires 8.10.5 exactly, but we have 8.10.6
+  ghc-api-compat = doJailbreak super.ghc-api-compat;
+
+  # 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;
+
+  distribution-nixpkgs = assert super.distribution-nixpkgs.version == "1.6.0";
+    overrideCabal super.distribution-nixpkgs {
+      version = "1.6.1";
+      revision = null;
+      sha256 = "136q893in07iw53m9pqr65h3mrnpvfda272bl4rq1b0z3hzpyhkm";
+      editedCabalFile = null;
+    };
+
 } // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
diff --git a/nixpkgs/pkgs/development/haskell-modules/configuration-darwin.nix b/nixpkgs/pkgs/development/haskell-modules/configuration-darwin.nix
index 492af32edb14..bf7b05148dc7 100644
--- a/nixpkgs/pkgs/development/haskell-modules/configuration-darwin.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/configuration-darwin.nix
@@ -8,7 +8,7 @@ in
 
 with haskellLib;
 
-self: super: {
+self: super: ({
 
   # the tests for shell-conduit on Darwin illegitimatey assume non-GNU echo
   # see: https://github.com/psibi/shell-conduit/issues/12
@@ -58,6 +58,12 @@ self: super: {
 
   OpenAL = addExtraLibrary super.OpenAL darwin.apple_sdk.frameworks.OpenAL;
 
+  al = overrideCabal super.al (drv: {
+    libraryFrameworkDepends = [
+      darwin.apple_sdk.frameworks.OpenAL
+    ] ++ (drv.libraryFrameworkDepends or []);
+  });
+
   proteaaudio = addExtraLibrary super.proteaaudio darwin.apple_sdk.frameworks.AudioToolbox;
 
   # the system-fileio tests use canonicalizePath, which fails in the sandbox
@@ -100,6 +106,12 @@ self: super: {
 
   hmatrix = addBuildDepend super.hmatrix darwin.apple_sdk.frameworks.Accelerate;
 
+  blas-hs = overrideCabal super.blas-hs (drv: {
+    libraryFrameworkDepends = [
+      darwin.apple_sdk.frameworks.Accelerate
+    ] ++ (drv.libraryFrameworkDepends or []);
+  });
+
   # Ensure the necessary frameworks are propagatedBuildInputs on darwin
   OpenGLRaw = overrideCabal super.OpenGLRaw (drv: {
     librarySystemDepends = [];
@@ -168,14 +180,84 @@ self: super: {
     '' + (drv.postPatch or "");
   });
 
+  # conditional dependency via a cabal flag
+  cas-store = overrideCabal super.cas-store (drv: {
+    libraryHaskellDepends = [
+      self.kqueue
+    ] ++ (drv.libraryHaskellDepends or []);
+  });
+
   # 2021-05-25: Tests fail and I have no way to debug them.
   hls-class-plugin = dontCheck super.hls-class-plugin;
   hls-brittany-plugin = dontCheck super.hls-brittany-plugin;
   hls-fourmolu-plugin = dontCheck super.hls-fourmolu-plugin;
   hls-module-name-plugin = dontCheck super.hls-module-name-plugin;
   hls-splice-plugin = dontCheck super.hls-splice-plugin;
+  hls-ormolu-plugin = dontCheck super.hls-ormolu-plugin;
+  hls-pragmas-plugin = dontCheck super.hls-pragmas-plugin;
+  hls-haddock-comments-plugin = dontCheck super.hls-haddock-comments-plugin;
+  hls-floskell-plugin = dontCheck super.hls-floskell-plugin;
 
   # We are lacking pure pgrep at the moment for tests to work
   tmp-postgres = dontCheck super.tmp-postgres;
 
-}
+  # On darwin librt doesn't exist and will fail to link against,
+  # however linking against it is also not necessary there
+  GLHUI = overrideCabal super.GLHUI (drv: {
+    postPatch = ''
+      substituteInPlace GLHUI.cabal --replace " rt" ""
+    '' + (drv.postPatch or "");
+  });
+
+  SDL-image = overrideCabal super.SDL-image (drv: {
+    # Prevent darwin-specific configuration code path being taken
+    # which doesn't work with nixpkgs' SDL libraries
+    postPatch = ''
+      substituteInPlace configure --replace xDarwin noDarwinSpecialCasing
+    '' + (drv.postPatch or "");
+    patches = [
+      # Work around SDL_main.h redefining main to SDL_main
+      ./patches/SDL-image-darwin-hsc.patch
+    ];
+  });
+
+  # Prevent darwin-specific configuration code path being taken which
+  # doesn't work with nixpkgs' SDL libraries
+  SDL-mixer = overrideCabal super.SDL-mixer (drv: {
+    postPatch = ''
+      substituteInPlace configure --replace xDarwin noDarwinSpecialCasing
+    '' + (drv.postPatch or "");
+  });
+
+  # Work around SDL_main.h redefining main to SDL_main
+  SDL-ttf = appendPatch super.SDL-ttf ./patches/SDL-ttf-darwin-hsc.patch;
+
+  # Disable a bunch of test suites that fail because of darwin's case insensitive
+  # file system: When a test suite has a test suite file that has the same name
+  # as a module in scope, but in different case (e. g. hedgehog.hs and Hedgehog
+  # in scope), GHC will complain that the file name and module name differ (in
+  # the example hedgehog.hs would be Main).
+  # These failures can easily be fixed by upstream by renaming files, so we
+  # should create issues for them.
+  # https://github.com/typeclasses/aws-cloudfront-signed-cookies/issues/2
+  aws-cloudfront-signed-cookies = dontCheck super.aws-cloudfront-signed-cookies;
+  # https://github.com/typeclasses/assoc-list/issues/2
+  assoc-list = dontCheck super.assoc-list;
+  assoc-listlike = dontCheck super.assoc-listlike;
+  # https://github.com/typeclasses/dsv/issues/1
+  dsv = dontCheck super.dsv;
+
+  # https://github.com/acid-state/acid-state/issues/133
+  acid-state = dontCheck super.acid-state;
+
+  # Otherwise impure gcc is used, which is Apple's weird wrapper
+  c2hsc = addTestToolDepends super.c2hsc [ pkgs.gcc ];
+
+} // lib.optionalAttrs pkgs.stdenv.isAarch64 {  # aarch64-darwin
+
+  # https://github.com/fpco/unliftio/issues/87
+  unliftio = dontCheck super.unliftio;
+
+  # https://github.com/fpco/inline-c/issues/127
+  inline-c-cpp = dontCheck super.inline-c-cpp;
+})
diff --git a/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix b/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix
index 251a3d94bb20..5ef659349b38 100644
--- a/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix
@@ -84,8 +84,4 @@ self: super: {
       executableHaskellDepends = drv.executableToolDepends or [] ++ [ self.repline ];
     }));
 
-  # hackage-db 2.1.1 is incompatible with Cabal < 3.4
-  # See https://github.com/NixOS/cabal2nix/issues/501
-  hackage-db = self.hackage-db_2_1_0;
-
 }
diff --git a/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix b/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix
index 42fa603d3313..99b53b9f14f3 100644
--- a/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix
@@ -106,8 +106,4 @@ self: super: {
   # https://github.com/haskellari/time-compat/issues/23
   time-compat = dontCheck super.time-compat;
 
-  # hackage-db 2.1.1 is incompatible with Cabal < 3.4
-  # See https://github.com/NixOS/cabal2nix/issues/501
-  hackage-db = super.hackage-db_2_1_0;
-
 }
diff --git a/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix b/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
index 7908066ebb59..08431ee0dd39 100644
--- a/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
@@ -41,13 +41,6 @@ self: super: {
   unix = null;
   xhtml = null;
 
-  # Hasura 1.3.1
-  # Because of ghc-heap-view, profiling needs to be disabled.
-  graphql-engine = overrideCabal (super.graphql-engine) (drv: {
-     # GHC 8.8.x needs a revert of https://github.com/hasura/graphql-engine/commit/a77bb0570f4210fb826985e17a84ddcc4c95d3ea
-     patches = [ ./patches/hasura-884-compat.patch ];
-  });
-
   # GHC 8.8.x can build haddock version 2.23.*
   haddock = self.haddock_2_23_1;
   haddock-api = self.haddock-api_2_23_1;
@@ -136,7 +129,5 @@ self: super: {
   # vector 0.12.2 indroduced doctest checks that don‘t work on older compilers
   vector = dontCheck super.vector;
 
-  # hackage-db 2.1.1 is incompatible with Cabal < 3.4
-  # See https://github.com/NixOS/cabal2nix/issues/501
-  hackage-db = super.hackage-db_2_1_0;
+  ghc-api-compat = super.ghc-api-compat_8_6;
 }
diff --git a/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix b/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix
new file mode 100644
index 000000000000..f549dfbce1ad
--- /dev/null
+++ b/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix
@@ -0,0 +1,115 @@
+{ pkgs, haskellLib }:
+
+with haskellLib;
+
+self: super: {
+
+  # This compiler version needs llvm 10.x.
+  llvmPackages = pkgs.lib.dontRecurseIntoAttrs pkgs.llvmPackages_10;
+
+  # Disable GHC 9.2.x core libraries.
+  array = null;
+  base = null;
+  binary = null;
+  bytestring = null;
+  Cabal = null;
+  containers = null;
+  deepseq = null;
+  directory = null;
+  exceptions = null;
+  filepath = null;
+  ghc-bignum = null;
+  ghc-boot = null;
+  ghc-boot-th = null;
+  ghc-compact = null;
+  ghc-heap = null;
+  ghc-prim = null;
+  ghci = null;
+  haskeline = null;
+  hpc = null;
+  integer-gmp = null;
+  libiserv = null;
+  mtl = null;
+  parsec = null;
+  pretty = null;
+  process = null;
+  rts = null;
+  stm = null;
+  template-haskell = null;
+  terminfo = null;
+  text = null;
+  time = null;
+  transformers = null;
+  unix = null;
+  xhtml = null;
+
+  # cabal-install needs more recent versions of Cabal and base16-bytestring.
+  cabal-install = (doJailbreak super.cabal-install).overrideScope (self: super: {
+    Cabal = null;
+    base16-bytestring = self.base16-bytestring_0_1_1_7;
+  });
+
+  # Jailbreaks & Version Updates
+  async = doJailbreak super.async;
+  ChasingBottoms = markBrokenVersion "1.3.1.9" super.ChasingBottoms;
+  data-fix = doJailbreak super.data-fix;
+  dec = doJailbreak super.dec;
+  ed25519 = doJailbreak super.ed25519;
+  hackage-security = doJailbreak super.hackage-security;
+  hashable = overrideCabal (doJailbreak (dontCheck super.hashable)) (drv: { postPatch = "sed -i -e 's,integer-gmp .*<1.1,integer-gmp < 2,' hashable.cabal"; });
+  hashable-time = doJailbreak super.hashable-time;
+  HTTP = overrideCabal (doJailbreak super.HTTP) (drv: { postPatch = "sed -i -e 's,! Socket,!Socket,' Network/TCP.hs"; });
+  integer-logarithms = overrideCabal (doJailbreak super.integer-logarithms) (drv: { postPatch = "sed -i -e 's,integer-gmp <1.1,integer-gmp < 2,' integer-logarithms.cabal"; });
+  lukko = doJailbreak super.lukko;
+  parallel = doJailbreak super.parallel;
+  primitive = doJailbreak (dontCheck super.primitive);
+  regex-posix = doJailbreak super.regex-posix;
+  resolv = doJailbreak super.resolv;
+  singleton-bool = doJailbreak super.singleton-bool;
+  split = doJailbreak super.split;
+  tar = doJailbreak super.tar;
+  time-compat = doJailbreak super.time-compat;
+  vector = doJailbreak (dontCheck super.vector);
+  vector-binary-instances = doJailbreak super.vector-binary-instances;
+  vector-th-unbox = doJailbreak super.vector-th-unbox;
+  zlib = doJailbreak super.zlib;
+
+  # Apply patches from head.hackage.
+  alex = appendPatch (dontCheck super.alex) (pkgs.fetchpatch {
+    url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/fe192e12b88b09499d4aff0e562713e820544bd6/patches/alex-3.2.6.patch";
+    sha256 = "1rzs764a0nhx002v4fadbys98s6qblw4kx4g46galzjf5f7n2dn4";
+  });
+  doctest = dontCheck (doJailbreak super.doctest_0_18_1);
+  language-haskell-extract = appendPatch (doJailbreak super.language-haskell-extract) (pkgs.fetchpatch {
+    url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/master/patches/language-haskell-extract-0.2.4.patch";
+    sha256 = "0rgzrq0513nlc1vw7nw4km4bcwn4ivxcgi33jly4a7n3c1r32v1f";
+  });
+
+  # The test suite depends on ChasingBottoms, which is broken with ghc-9.0.x.
+  unordered-containers = dontCheck super.unordered-containers;
+
+  # 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_0_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;
+
+  # Disable tests pending resolution of
+  # https://github.com/Soostone/retry/issues/71
+  retry = dontCheck super.retry;
+
+  # hlint 3.3 needs a ghc-lib-parser newer than the one from stackage
+  hlint = super.hlint_3_3_1.overrideScope (self: super: {
+    ghc-lib-parser = overrideCabal self.ghc-lib-parser_9_0_1_20210324 {
+      doHaddock = false;
+    };
+    ghc-lib-parser-ex = self.ghc-lib-parser-ex_9_0_0_4;
+  });
+}
diff --git a/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml b/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
index 302c2722ee08..8a13571f0a17 100644
--- a/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
+++ b/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
@@ -121,6 +121,7 @@ broken-packages:
   - alto
   - alure
   - amazon-emailer
+  - amazonka-contrib-rds-utils
   - amazonka-s3-streaming
   - amazon-products
   - amby
@@ -180,6 +181,7 @@ broken-packages:
   - argparser
   - arguedit
   - arion
+  - arith-encode
   - armada
   - arpa
   - arpack
@@ -286,7 +288,6 @@ broken-packages:
   - barrie
   - barrier
   - barrier-monad
-  - base16
   - base64-conduit
   - base-compat-migrate
   - base-encoding
@@ -305,7 +306,9 @@ broken-packages:
   - bdo
   - beam
   - beamable
-  - beam-core
+  - beam-mysql
+  - beam-newtype-field
+  - beam-sqlite
   - bech32
   - bed-and-breakfast
   - beeminder-api
@@ -466,6 +469,7 @@ broken-packages:
   - butter
   - buttplug-hs-core
   - bv-sized
+  - byline
   - bytable
   - bytearray-parsing
   - bytestring-arbitrary
@@ -628,7 +632,6 @@ broken-packages:
   - cio
   - cipher-blowfish
   - circlehs
-  - circular
   - citeproc-hs
   - cjk
   - cj-token
@@ -712,6 +715,8 @@ broken-packages:
   - combinatorial-problems
   - combinator-interactive
   - combobuffer
+  - comfort-array-shape
+  - comfort-fftw
   - Command
   - commander
   - Commando
@@ -732,6 +737,7 @@ broken-packages:
   - compilation
   - complex-generic
   - compose-trans
+  - composite-dhall
   - composite-opaleye
   - composition-tree
   - comprehensions-ghc
@@ -789,12 +795,14 @@ broken-packages:
   - consul-haskell
   - Consumer
   - containers-benchmark
+  - containers-unicode-symbols
   - containers-verified
   - ContArrow
   - content-store
   - ContextAlgebra
   - context-free-grammar
   - context-stack
+  - contiguous
   - contiguous-checked
   - continue
   - Contract
@@ -925,6 +933,7 @@ broken-packages:
   - data-nat
   - data-object
   - datapacker
+  - data-pdf-fieldreader
   - data-pprint
   - data-quotientref
   - data-reify-cse
@@ -1011,9 +1020,11 @@ broken-packages:
   - dgim
   - dgs
   - dhall-check
+  - dhall-csv
   - dhall-fly
   - dhall-text
   - dhall-to-cabal
+  - dhall-toml
   - dhcp-lease-parser
   - dhrun
   - dia-base
@@ -1219,6 +1230,7 @@ broken-packages:
   - EnumMap
   - enummapmap
   - enum-utf8
+  - env-extra
   - env-parser
   - envstatus
   - epanet-haskell
@@ -1445,6 +1457,7 @@ broken-packages:
   - fractals
   - fraction
   - frag
+  - Frames-beam
   - Frames-map-reduce
   - franchise
   - fraxl
@@ -1607,6 +1620,7 @@ broken-packages:
   - ghc-syb-utils
   - ghc-tags
   - ghc-tags-core
+  - ghc-tcplugin-api
   - ghc-time-alloc-prof
   - ghc-usage
   - gh-labeler
@@ -1735,6 +1749,7 @@ broken-packages:
   - gtk2hs-rpn
   - gtk3-mac-integration
   - gtkglext
+  - gtk-mac-integration
   - gtksourceview2
   - gtksourceview3
   - gtk-toy
@@ -1999,6 +2014,7 @@ broken-packages:
   - hedgehog-checkers
   - hedgehog-generic
   - hedgehog-golden
+  - hedgehog-optics
   - hedgehog-servant
   - hedis-config
   - hedis-namespace
@@ -2023,7 +2039,6 @@ broken-packages:
   - heterogeneous-list-literals
   - hetris
   - heukarya
-  - hevm
   - HExcel
   - hexchat
   - hexif
@@ -2174,6 +2189,7 @@ broken-packages:
   - HOpenCV
   - hopfield
   - hops
+  - hoq
   - ho-rewriting
   - horizon
   - horname
@@ -2211,6 +2227,7 @@ broken-packages:
   - hs2ps
   - hsakamai
   - hsaml2
+  - hs-aws-lambda
   - hsay
   - hsbc
   - hsbencher
@@ -2223,6 +2240,7 @@ broken-packages:
   - hscd
   - hs-cdb
   - hscdio
+  - hscim
   - hsclock
   - hScraper
   - hscuid
@@ -2265,6 +2283,7 @@ broken-packages:
   - hsmodetweaks
   - Hsmtlib
   - hsmtpclient
+  - hsnock
   - hs-nombre-generator
   - hsns
   - hsnsq
@@ -2306,6 +2325,7 @@ broken-packages:
   - hs-tags
   - hstats
   - hstatsd
+  - hs-term-emulator
   - hstest
   - hstidy
   - hs-twitter
@@ -2376,6 +2396,7 @@ broken-packages:
   - hunspell-hs
   - hup
   - hurriyet
+  - husky
   - hutton
   - huttons-razor
   - hVOIDP
@@ -2481,6 +2502,7 @@ broken-packages:
   - interpolatedstring-qq2
   - interruptible
   - interval
+  - interval-algebra
   - IntFormats
   - int-multimap
   - intricacy
@@ -2514,10 +2536,12 @@ broken-packages:
   - IsNull
   - iso8601-duration
   - isobmff
+  - isocline
   - isotope
   - itcli
   - itemfield
   - iteratee
+  - iterative-forward-search
   - iterIO
   - it-has
   - ivory
@@ -2545,6 +2569,7 @@ broken-packages:
   - jenga
   - jenkinsPlugins2nix
   - jespresso
+  - jet-stream
   - jinquantities
   - jml-web-service
   - jni
@@ -2596,6 +2621,7 @@ broken-packages:
   - kalman
   - Kalman
   - kangaroo
+  - karabiner-config
   - karps
   - katip-kafka
   - katip-raven
@@ -2623,7 +2649,6 @@ broken-packages:
   - koellner-phonetic
   - kontra-config
   - kparams
-  - kqueue
   - kraken
   - krapsh
   - Kriens
@@ -2639,6 +2664,7 @@ broken-packages:
   - lagrangian
   - lambda2js
   - lambdaBase
+  - lambdabot-social-plugins
   - lambdabot-utils
   - lambda-bridge
   - lambda-canvas
@@ -2751,6 +2777,7 @@ broken-packages:
   - life-sync
   - lifted-protolude
   - lifter
+  - lifx-lan
   - ligature
   - lilypond
   - Limit
@@ -2817,6 +2844,7 @@ broken-packages:
   - loch
   - log2json
   - log4hs
+  - log-base
   - logentries
   - logger
   - logging-effect-extra-file
@@ -2992,6 +3020,7 @@ broken-packages:
   - miku
   - milena
   - mime-directory
+  - miniforth
   - minilens
   - minilight
   - minions
@@ -3008,6 +3037,7 @@ broken-packages:
   - mit-3qvpPyAi6mH
   - mix-arrows
   - mixpanel-client
+  - mkcabal
   - mltool
   - ml-w
   - mm2
@@ -3166,12 +3196,12 @@ broken-packages:
   - nanomsg-haskell
   - nanoparsec
   - NanoProlog
-  - nanovg
   - nanq
   - naperian
   - naqsha
   - narc
   - nationstates
+  - nat-optics
   - nats-client
   - nat-sized-numbers
   - natural
@@ -3267,7 +3297,6 @@ broken-packages:
   - no-role-annots
   - notcpp
   - not-gloss-examples
-  - notifications-tray-icon
   - NoTrace
   - now-haskell
   - np-extras
@@ -3307,14 +3336,12 @@ broken-packages:
   - oblivious-transfer
   - ocaml-export
   - Octree
-  - odbc
   - OddWord
   - oden-go-packages
   - oeis2
   - OGL
   - ogmarkup
   - oi
-  - oidc-client
   - om-actor
   - omaketex
   - ombra
@@ -3468,6 +3495,7 @@ broken-packages:
   - parsergen
   - parser-helper
   - parsers-megaparsec
+  - parser-unbiased-choice-monad-embedding
   - parsimony
   - parsley
   - parsley-core
@@ -3646,6 +3674,7 @@ broken-packages:
   - polysemy
   - polysemy-zoo
   - polytypeable
+  - pomaps
   - pomohoro
   - ponder
   - pong-server
@@ -3667,6 +3696,7 @@ broken-packages:
   - postgres-embedded
   - postgresql-lo-stream
   - postgresql-named
+  - postgresql-resilient
   - postgresql-simple-bind
   - postgresql-simple-named
   - postgresql-simple-sop
@@ -3734,6 +3764,7 @@ broken-packages:
   - process-leksah
   - process-listlike
   - processmemory
+  - procex
   - procrastinating-variable
   - procstat
   - prof2pretty
@@ -3812,6 +3843,7 @@ broken-packages:
   - quarantimer
   - qudb
   - quenya-verb
+  - questioner
   - QuickAnnotate
   - quickbooks
   - quickcheck-property-comb
@@ -3880,7 +3912,7 @@ broken-packages:
   - read-bounded
   - read-ctags
   - read-io
-  - readline
+  - readline-statevar
   - readme-lhs
   - readshp
   - really-simple-xml-parser
@@ -4019,6 +4051,7 @@ broken-packages:
   - robin
   - robots-txt
   - roc-cluster
+  - rocksdb-haskell
   - roku-api
   - rollbar
   - rollbar-client
@@ -4229,6 +4262,7 @@ broken-packages:
   - shadower
   - shake-bindist
   - shakebook
+  - shake-cabal
   - shake-cabal-build
   - shake-dhall
   - shake-extras
@@ -4527,7 +4561,7 @@ broken-packages:
   - streaming-utils
   - streaming-with
   - streamly-examples
-  - streamly-fsnotify
+  - streamly-process
   - stream-monad
   - streamproc
   - StrictBench
@@ -4586,6 +4620,7 @@ broken-packages:
   - svndump
   - swagger-petstore
   - swagger-test
+  - swearjure
   - swf
   - swift-lda
   - swiss-ephemeris
@@ -4648,6 +4683,7 @@ broken-packages:
   - tapioca
   - TaskMonad
   - tasty-auto
+  - tasty-checklist
   - tasty-fail-fast
   - tasty-grading-system
   - tasty-hedgehog-coverage
@@ -4767,6 +4803,7 @@ broken-packages:
   - th-traced
   - thumbnail-plus
   - tianbar
+  - ticket-management
   - TicTacToe
   - tictactoe3d
   - tidal-midi
@@ -4805,7 +4842,6 @@ broken-packages:
   - Titim
   - tkhs
   - tkyprof
-  - tmp-postgres
   - todo
   - tofromxml
   - to-haskell
@@ -4900,6 +4936,7 @@ broken-packages:
   - twilio
   - twine
   - twirp
+  - twitter
   - twitter-feed
   - tx
   - txtblk
@@ -5294,6 +5331,7 @@ broken-packages:
   - yandex-translate
   - yaop
   - yap
+  - yapb
   - yarr
   - yaya-test
   - yaya-unsafe-test
@@ -5358,6 +5396,7 @@ broken-packages:
   - yi-solarized
   - yi-spolsky
   - yoda
+  - Yogurt
   - yst
   - yu-core
   - yu-tool
diff --git a/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml b/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
index c63942afe1af..7637972c07fd 100644
--- a/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
+++ b/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
@@ -63,10 +63,9 @@ core-packages:
 # available on Hackage, `hackage2nix` would generate two packages, `aeson`
 # at version 1.4.6.0 and `aeson_1_5_0_0` at version 1.5.0.0.
 #
-# WARNING: This list is generated semiautomatically based on the most recent
-# LTS package set. If you want to add entries to it, you must do so before the
-# comment saying "# LTS Haskell x.y". Any changes after that comment will be
-# lost the next time `update-stackage.sh` runs.
+# WARNING: We import a list of default-package-overrides from stackage which is
+# tracked in stackage.yaml. Adding conflicting overrides with stackage here will
+# not work.
 default-package-overrides:
   # This was only intended for ghc-7.0.4, and has very old deps, one hidden behind a flag
   - MissingH ==1.4.2.0
@@ -85,15 +84,21 @@ default-package-overrides:
   - dual-tree < 0.2.3.0
   - diagrams-core < 1.5.0
   - diagrams-lib < 1.4.4
-  # 2021-06-14: hnix still needs old versions https://github.com/haskell-nix/hnix/issues/952
-  - hnix-store-core < 0.5
-  - hnix-store-remote < 0.5
+  # 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
 
 extra-packages:
   - base16-bytestring < 1               # required for cabal-install etc.
   - Cabal == 2.2.*                      # required for jailbreak-cabal etc.
   - Cabal == 2.4.*                      # required for cabal-install etc.
   - Cabal == 3.2.*                      # required for cabal-install etc.
+  - Cabal == 3.4.*                      # required for cabal-install etc.
   - dependent-map == 0.2.4.0            # required by Hasura 1.3.1, 2020-08-20
   - dependent-sum == 0.4                # required by Hasura 1.3.1, 2020-08-20
   - dhall == 1.29.0                     # required for ats-pkg
@@ -114,12 +119,15 @@ extra-packages:
   - sbv == 7.13                         # required for pkgs.petrinizer
   - crackNum < 3.0                      # 2021-05-21: 3.0 removed the lib which sbv 7.13 uses
   - ShellCheck == 0.7.1                 # 2021-05-09: haskell-ci 0.12.1 pins this version
-  - hackage-db < 2.1.1                  # 2021-06-10: Need older hackage-db as long as Cabal < 3.4, see https://github.com/NixOS/cabal2nix/issues/501
-  - opaleye < 0.7.3.0                   # 2021-07-11: for rel8 <= 1.0.0.1, see https://github.com/circuithub/rel8/issues/95#issuecomment-877616118
+  - ghc-api-compat < 8.10.5             # 2021-08-18: ghc-api-compat 8.10.5 is only compatible with ghc 8.10.5
 
 package-maintainers:
   abbradar:
     - Agda
+  Anton-Latukha:
+    - hnix
+    - hnix-store-core
+    - hnix-store-remote
   berberman:
     - nvfetcher
     - arch-web
@@ -231,6 +239,7 @@ package-maintainers:
     - stm-containers
     - streamly
     - taskwarrior
+    - witch
   pacien:
     - ldgallery-compiler
   peti:
@@ -329,123 +338,130 @@ package-maintainers:
     - nix-tree
 
 unsupported-platforms:
-  Allure:                                       [ x86_64-darwin ]
-  alsa-mixer:                                   [ x86_64-darwin ]
-  alsa-pcm:                                     [ x86_64-darwin ]
-  alsa-seq:                                     [ x86_64-darwin ]
-  AWin32Console:                                [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-linux, armv7l-linux ]
+  Allure:                                       [ x86_64-darwin, aarch64-darwin ]
+  alsa-mixer:                                   [ x86_64-darwin, aarch64-darwin ]
+  alsa-pcm:                                     [ x86_64-darwin, aarch64-darwin ]
+  alsa-seq:                                     [ x86_64-darwin, aarch64-darwin ]
+  AWin32Console:                                [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-darwin, aarch64-linux, armv7l-linux ]
   barbly:                                       [ i686-linux, x86_64-linux, aarch64-linux, armv7l-linux ]
-  bdcs-api:                                     [ x86_64-darwin ]
-  bindings-directfb:                            [ x86_64-darwin ]
-  bindings-sane:                                [ x86_64-darwin ]
-  bustle:                                       [ x86_64-darwin ] # uses glibc-specific ptsname_r
+  bdcs-api:                                     [ x86_64-darwin, aarch64-darwin ]
+  bindings-directfb:                            [ x86_64-darwin, aarch64-darwin ]
+  bindings-parport:                             [ x86_64-darwin, aarch64-darwin ] # parport is a linux kernel component
+  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
   charsetdetect:                                [ aarch64-linux ] # not supported by vendored lib / not configured properly https://github.com/batterseapower/libcharsetdetect/issues/3
   crackNum:                                     [ aarch64-linux ] # depends on sbv, which is not supported on aarch64-linux
-  cut-the-crap:                                 [ x86_64-darwin ]
-  d3d11binding:                                 [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-linux, armv7l-linux ]
-  DirectSound:                                  [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-linux, armv7l-linux ]
-  dx9base:                                      [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-linux, armv7l-linux ]
-  dx9d3d:                                       [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-linux, armv7l-linux ]
-  dx9d3dx:                                      [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-linux, armv7l-linux ]
-  Euterpea:                                     [ x86_64-darwin ]
-  follow-file:                                  [ x86_64-darwin ]
-  freenect:                                     [ x86_64-darwin ]
-  FTGL:                                         [ x86_64-darwin ]
-  ghcjs-dom-hello:                              [ x86_64-darwin ]
-  gi-dbusmenugtk3:                              [ x86_64-darwin ]
-  gi-dbusmenu:                                  [ x86_64-darwin ]
-  gi-ggit:                                      [ x86_64-darwin ]
-  gi-ibus:                                      [ x86_64-darwin ]
-  gi-ostree:                                    [ x86_64-darwin ]
-  gi-vte:                                       [ x86_64-darwin ]
-  gi-wnck:                                      [ x86_64-darwin ]
-  gnome-keyring:                                [ x86_64-darwin ]
+  cut-the-crap:                                 [ x86_64-darwin, aarch64-darwin ]
+  d3d11binding:                                 [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-darwin, aarch64-linux, armv7l-linux ]
+  DirectSound:                                  [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-darwin, aarch64-linux, armv7l-linux ]
+  dx9base:                                      [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-darwin, aarch64-linux, armv7l-linux ]
+  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 ]
+  follow-file:                                  [ x86_64-darwin, aarch64-darwin ]
+  freenect:                                     [ x86_64-darwin, aarch64-darwin ]
+  FTGL:                                         [ x86_64-darwin, aarch64-darwin ]
+  fuzzytime:                                    [ x86_64-darwin, aarch64-darwin ] # https://github.com/kamwitsta/fuzzytime/issues/2
+  ghcjs-dom-hello:                              [ x86_64-darwin, aarch64-darwin ]
+  gi-dbusmenugtk3:                              [ x86_64-darwin, aarch64-darwin ]
+  gi-dbusmenu:                                  [ x86_64-darwin, aarch64-darwin ]
+  gi-ggit:                                      [ x86_64-darwin, aarch64-darwin ]
+  gi-ibus:                                      [ x86_64-darwin, aarch64-darwin ]
+  gi-ostree:                                    [ x86_64-darwin, aarch64-darwin ]
+  gi-vte:                                       [ x86_64-darwin, aarch64-darwin ]
+  gi-wnck:                                      [ x86_64-darwin, aarch64-darwin ]
+  gnome-keyring:                                [ x86_64-darwin, aarch64-darwin ]
   gtk-mac-integration:                          [ i686-linux, x86_64-linux, aarch64-linux, armv7l-linux ]
-  gtk-sni-tray:                                 [ x86_64-darwin ]
-  haskell-snake:                                [ x86_64-darwin ]
-  hcwiid:                                       [ x86_64-darwin ]
-  HFuse:                                        [ x86_64-darwin ]
-  hidapi:                                       [ x86_64-darwin ]
-  hinotify-bytestring:                          [ x86_64-darwin ]
-  hommage-ds:                                   [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-linux, armv7l-linux ]
-  honk:                                         [ x86_64-darwin ]
-  hpapi:                                        [ x86_64-darwin ]
-  HSoM:                                         [ x86_64-darwin ]
-  iwlib:                                        [ x86_64-darwin ]
-  jsaddle-webkit2gtk:                           [ x86_64-darwin ]
-  LambdaHack:                                   [ x86_64-darwin ]
+  gtk-sni-tray:                                 [ x86_64-darwin, aarch64-darwin ]
+  haskell-snake:                                [ x86_64-darwin, aarch64-darwin ]
+  hcwiid:                                       [ x86_64-darwin, aarch64-darwin ]
+  hevm:                                         [ aarch64-linux ] # depends on sbv, which is not supported on aarch64-linux
+  HFuse:                                        [ x86_64-darwin, aarch64-darwin ]
+  hidapi:                                       [ x86_64-darwin, aarch64-darwin ]
+  hinotify-bytestring:                          [ x86_64-darwin, aarch64-darwin ]
+  hommage-ds:                                   [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-darwin, aarch64-linux, armv7l-linux ]
+  honk:                                         [ x86_64-darwin, aarch64-darwin ]
+  hpapi:                                        [ x86_64-darwin, aarch64-darwin ]
+  HQu:                                          [ aarch64-linux, armv7l-linux ] # unsupported by vendored C++ library, TODO: explicitly list supported platforms
+  HSoM:                                         [ x86_64-darwin, aarch64-darwin ]
+  iwlib:                                        [ x86_64-darwin, aarch64-darwin ]
+  jsaddle-webkit2gtk:                           [ x86_64-darwin, aarch64-darwin ]
+  kqueue:                                       [ x86_64-linux, aarch64-linux, i686-linux, armv7l-linux ] # BSD / Darwin only API
+  LambdaHack:                                   [ x86_64-darwin, aarch64-darwin ]
   large-hashable:                               [ aarch64-linux ] # https://github.com/factisresearch/large-hashable/issues/17
-  libmodbus:                                    [ x86_64-darwin ]
-  libsystemd-journal:                           [ x86_64-darwin ]
-  libtelnet:                                    [ x86_64-darwin ]
-  libzfs:                                       [ x86_64-darwin ]
+  libmodbus:                                    [ x86_64-darwin, aarch64-darwin ]
+  libsystemd-journal:                           [ x86_64-darwin, aarch64-darwin ]
+  libtelnet:                                    [ x86_64-darwin, aarch64-darwin ]
+  libzfs:                                       [ x86_64-darwin, aarch64-darwin ]
   linearEqSolver:                               [ aarch64-linux ]
-  linux-evdev:                                  [ x86_64-darwin ]
-  linux-file-extents:                           [ x86_64-darwin ]
-  linux-inotify:                                [ x86_64-darwin ]
-  linux-mount:                                  [ x86_64-darwin ]
-  linux-namespaces:                             [ x86_64-darwin ]
-  lio-fs:                                       [ x86_64-darwin ]
-  logging-facade-journald:                      [ x86_64-darwin ]
-  midi-alsa:                                    [ x86_64-darwin ]
-  mpi-hs:                                       [ aarch64-linux, x86_64-darwin ]
-  mpi-hs-binary:                                [ aarch64-linux, x86_64-darwin ]
-  mpi-hs-cereal:                                [ aarch64-linux, x86_64-darwin ]
-  mpi-hs-store:                                 [ aarch64-linux, x86_64-darwin ]
+  linux-evdev:                                  [ x86_64-darwin, aarch64-darwin ]
+  linux-file-extents:                           [ x86_64-darwin, aarch64-darwin ]
+  linux-inotify:                                [ x86_64-darwin, aarch64-darwin ]
+  linux-mount:                                  [ x86_64-darwin, aarch64-darwin ]
+  linux-namespaces:                             [ x86_64-darwin, aarch64-darwin ]
+  lio-fs:                                       [ x86_64-darwin, aarch64-darwin ]
+  logging-facade-journald:                      [ 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 ]
+  mpi-hs-cereal:                                [ aarch64-linux, x86_64-darwin, aarch64-darwin ]
+  mpi-hs-store:                                 [ aarch64-linux, x86_64-darwin, aarch64-darwin ]
   mplayer-spot:                                 [ aarch64-linux ]
-  mptcp-pm:                                     [ x86_64-darwin ]
-  netlink:                                      [ x86_64-darwin ]
-  oculus:                                       [ x86_64-darwin ]
-  pam:                                          [ x86_64-darwin ]
-  parport:                                      [ x86_64-darwin ]
+  mptcp-pm:                                     [ x86_64-darwin, aarch64-darwin ]
+  netlink:                                      [ x86_64-darwin, aarch64-darwin ]
+  notifications-tray-icon:                      [ x86_64-darwin, aarch64-darwin ] # depends on gi-dbusmenu
+  oculus:                                       [ x86_64-darwin, aarch64-darwin ]
+  pam:                                          [ x86_64-darwin, aarch64-darwin ]
+  parport:                                      [ x86_64-darwin, aarch64-darwin ]
   password:                                     [ aarch64-linux, armv7l-linux ] # uses scrypt, which requries x86
   password-instances:                           [ aarch64-linux, armv7l-linux ] # uses scrypt, which requries x86
   persist-state:                                [ aarch64-linux, armv7l-linux ] # https://github.com/minad/persist-state/blob/6fd68c0b8b93dec78218f6d5a1f4fa06ced4e896/src/Data/PersistState.hs#L122-L128
-  piyo:                                         [ x86_64-darwin ]
-  PortMidi-simple:                              [ x86_64-darwin ]
-  PortMidi:                                     [ x86_64-darwin ]
-  posix-api:                                    [ x86_64-darwin ]
-  Raincat:                                      [ x86_64-darwin ]
-  reactive-balsa:                               [ x86_64-darwin ] # depends on alsa-core
-  reactivity:                                   [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-linux, armv7l-linux ]
-  reflex-dom-fragment-shader-canvas:            [ x86_64-darwin, aarch64-linux ]
-  reflex-dom:                                   [ x86_64-darwin, aarch64-linux ]
-  reflex-localize-dom:                          [ x86_64-darwin, aarch64-linux ]
-  rtlsdr:                                       [ x86_64-darwin ]
-  rubberband:                                   [ x86_64-darwin ]
+  piyo:                                         [ x86_64-darwin, aarch64-darwin ]
+  PortMidi-simple:                              [ x86_64-darwin, aarch64-darwin ]
+  PortMidi:                                     [ x86_64-darwin, aarch64-darwin ]
+  posix-api:                                    [ x86_64-darwin, aarch64-darwin ]
+  Raincat:                                      [ x86_64-darwin, aarch64-darwin ]
+  reactive-balsa:                               [ x86_64-darwin, aarch64-darwin ] # depends on alsa-core
+  reactivity:                                   [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-darwin, aarch64-linux, armv7l-linux ]
+  reflex-dom-fragment-shader-canvas:            [ x86_64-darwin, aarch64-darwin, aarch64-linux ]
+  reflex-dom:                                   [ x86_64-darwin, aarch64-darwin, aarch64-linux ]
+  reflex-localize-dom:                          [ x86_64-darwin, aarch64-darwin, aarch64-linux ]
+  rtlsdr:                                       [ x86_64-darwin, aarch64-darwin ]
+  rubberband:                                   [ x86_64-darwin, aarch64-darwin ]
   sbv:                                          [ aarch64-linux ]
   scat:                                         [ aarch64-linux, armv7l-linux ] # uses scrypt, which requries x86
   scrypt:                                       [ aarch64-linux, armv7l-linux ] # https://github.com/informatikr/scrypt/issues/8
-  sdl2-mixer:                                   [ x86_64-darwin ]
-  sdl2-ttf:                                     [ x86_64-darwin ]
-  synthesizer-alsa:                             [ x86_64-darwin ]
-  taffybar:                                     [ x86_64-darwin ]
-  termonad:                                     [ x86_64-darwin ]
-  tokyotyrant-haskell:                          [ x86_64-darwin ]
-  udev:                                         [ x86_64-darwin ]
-  Unixutils-shadow:                             [ x86_64-darwin ]
+  sdl2-mixer:                                   [ x86_64-darwin, aarch64-darwin ]
+  sdl2-ttf:                                     [ x86_64-darwin, aarch64-darwin ]
+  synthesizer-alsa:                             [ x86_64-darwin, aarch64-darwin ]
+  taffybar:                                     [ x86_64-darwin, aarch64-darwin ]
+  termonad:                                     [ x86_64-darwin, aarch64-darwin ]
+  tokyotyrant-haskell:                          [ x86_64-darwin, aarch64-darwin ]
+  udev:                                         [ x86_64-darwin, aarch64-darwin ]
+  Unixutils-shadow:                             [ x86_64-darwin, aarch64-darwin ]
   verifiable-expressions:                       [ aarch64-linux ]
-  vrpn:                                         [ x86_64-darwin ]
-  vulkan:                                       [ i686-linux, armv7l-linux, x86_64-darwin ]
-  VulkanMemoryAllocator:                        [ i686-linux, armv7l-linux, x86_64-darwin ]
-  vulkan-utils:                                 [ x86_64-darwin ]
-  webkit2gtk3-javascriptcore:                   [ x86_64-darwin ]
-  Win32-console:                                [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-linux, armv7l-linux ]
-  Win32-dhcp-server:                            [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-linux, armv7l-linux ]
-  Win32-errors:                                 [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-linux, armv7l-linux ]
-  Win32-extras:                                 [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-linux, armv7l-linux ]
-  Win32:                                        [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-linux, armv7l-linux ]
-  Win32-junction-point:                         [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-linux, armv7l-linux ]
-  Win32-notify:                                 [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-linux, armv7l-linux ]
-  Win32-security:                               [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-linux, armv7l-linux ]
-  Win32-services:                               [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-linux, armv7l-linux ]
-  Win32-services-wrapper:                       [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-linux, armv7l-linux ]
-  xattr:                                        [ x86_64-darwin ]
+  vrpn:                                         [ x86_64-darwin, aarch64-darwin ]
+  vulkan:                                       [ i686-linux, armv7l-linux, x86_64-darwin, aarch64-darwin ]
+  VulkanMemoryAllocator:                        [ i686-linux, armv7l-linux, x86_64-darwin, aarch64-darwin ]
+  vulkan-utils:                                 [ x86_64-darwin, aarch64-darwin ]
+  webkit2gtk3-javascriptcore:                   [ x86_64-darwin, aarch64-darwin ]
+  Win32-console:                                [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-darwin, aarch64-linux, armv7l-linux ]
+  Win32-dhcp-server:                            [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-darwin, aarch64-linux, armv7l-linux ]
+  Win32-errors:                                 [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-darwin, aarch64-linux, armv7l-linux ]
+  Win32-extras:                                 [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-darwin, aarch64-linux, armv7l-linux ]
+  Win32:                                        [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-darwin, aarch64-linux, armv7l-linux ]
+  Win32-junction-point:                         [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-darwin, aarch64-linux, armv7l-linux ]
+  Win32-notify:                                 [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-darwin, aarch64-linux, armv7l-linux ]
+  Win32-security:                               [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-darwin, aarch64-linux, armv7l-linux ]
+  Win32-services:                               [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-darwin, aarch64-linux, armv7l-linux ]
+  Win32-services-wrapper:                       [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-darwin, aarch64-linux, armv7l-linux ]
+  xattr:                                        [ x86_64-darwin, aarch64-darwin ]
   xgboost-haskell:                              [ aarch64-linux, armv7l-linux ]
-  XInput:                                       [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-linux, armv7l-linux ]
-  xmobar:                                       [ x86_64-darwin ]
-  xmonad-extras:                                [ x86_64-darwin ]
-  xmonad-volume:                                [ x86_64-darwin ]
+  XInput:                                       [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-darwin, aarch64-linux, armv7l-linux ]
+  xmobar:                                       [ x86_64-darwin, aarch64-darwin ]
+  xmonad-extras:                                [ x86_64-darwin, aarch64-darwin ]
+  xmonad-volume:                                [ x86_64-darwin, aarch64-darwin ]
 
 dont-distribute-packages:
   # Depends on shine, which is a ghcjs project.
diff --git a/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml b/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
index 2098609cd696..cb8c927bad33 100644
--- a/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
+++ b/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
@@ -1,4 +1,4 @@
-# Stackage LTS 18.1
+# Stackage LTS 18.7
 # This file is auto-generated by
 # maintainers/scripts/haskell/update-stackage.sh
 default-package-overrides:
@@ -11,8 +11,8 @@ default-package-overrides:
   - ad ==4.4.1
   - adjunctions ==4.4
   - adler32 ==0.1.2.0
-  - aern2-mp ==0.2.7.0
-  - aern2-real ==0.2.7.0
+  - aern2-mp ==0.2.8.0
+  - aern2-real ==0.2.8.0
   - aeson ==1.5.6.0
   - aeson-attoparsec ==0.0.0
   - aeson-better-errors ==0.9.1.0
@@ -145,7 +145,7 @@ default-package-overrides:
   - ansi-terminal ==0.11
   - ansi-wl-pprint ==0.6.9
   - ANum ==0.2.0.2
-  - apecs ==0.9.2
+  - apecs ==0.9.3
   - apecs-gloss ==0.2.4
   - apecs-physics ==0.4.5
   - api-field-json-th ==0.1.0.2
@@ -207,7 +207,7 @@ default-package-overrides:
   - backprop ==0.2.6.4
   - backtracking ==0.1.0
   - bank-holidays-england ==0.2.0.6
-  - barbies ==2.0.2.0
+  - barbies ==2.0.3.0
   - base16 ==0.3.0.1
   - base16-bytestring ==1.0.1.0
   - base16-lens ==0.1.3.2
@@ -269,7 +269,7 @@ default-package-overrides:
   - blake2 ==0.3.0
   - blanks ==0.5.0
   - blas-carray ==0.1.0.1
-  - blas-comfort-array ==0.0.0.2
+  - blas-comfort-array ==0.0.0.3
   - blas-ffi ==0.1
   - blaze-bootstrap ==0.1.0.1
   - blaze-builder ==0.4.2.1
@@ -288,7 +288,7 @@ default-package-overrides:
   - boots ==0.2.0.1
   - bordacount ==0.1.0.0
   - boring ==0.2
-  - both ==0.1.1.1
+  - both ==0.1.1.2
   - bound ==2.0.3
   - BoundedChan ==1.0.3.0
   - bounded-queue ==1.0.0
@@ -311,7 +311,7 @@ default-package-overrides:
   - bv ==0.5
   - bv-little ==1.1.1
   - byteable ==0.1.1
-  - byte-count-reader ==0.10.1.3
+  - byte-count-reader ==0.10.1.5
   - bytedump ==1.0
   - byte-order ==0.1.2.0
   - byteorder ==1.0.4
@@ -331,13 +331,15 @@ default-package-overrides:
   - c2hs ==0.28.8
   - cabal2spec ==2.6.2
   - cabal-appimage ==0.3.0.2
+  - cabal-clean ==0.1.20210815
   - cabal-debian ==5.1
   - cabal-doctest ==1.0.8
   - cabal-file ==0.1.1
   - cabal-flatpak ==0.1.0.2
   - cabal-plan ==0.7.2.0
-  - cabal-rpm ==2.0.9
+  - cabal-rpm ==2.0.10
   - cache ==0.1.3.0
+  - cached-json-file ==0.1.0
   - cacophony ==0.10.1
   - calendar-recycling ==0.0.0.1
   - call-stack ==0.3.0
@@ -381,7 +383,7 @@ default-package-overrides:
   - cheapskate-lucid ==0.1.0.0
   - checkers ==0.5.6
   - checksum ==0.0
-  - chimera ==0.3.1.0
+  - chimera ==0.3.2.0
   - chiphunk ==0.1.4.0
   - choice ==0.2.2
   - chronologique ==0.3.1.3
@@ -395,9 +397,9 @@ default-package-overrides:
   - circle-packing ==0.1.0.6
   - circular ==0.4.0.0
   - citeproc ==0.4.0.1
-  - clash-ghc ==1.4.2
-  - clash-lib ==1.4.2
-  - clash-prelude ==1.4.2
+  - clash-ghc ==1.4.3
+  - clash-lib ==1.4.3
+  - clash-prelude ==1.4.3
   - classy-prelude ==1.5.0
   - classy-prelude-conduit ==1.5.0
   - clay ==0.13.3
@@ -415,7 +417,7 @@ default-package-overrides:
   - codec-beam ==0.2.0
   - code-page ==0.2.1
   - collect-errors ==0.1.5.0
-  - co-log-concurrent ==0.5.0.0
+  - co-log-concurrent ==0.5.1.0
   - co-log-core ==0.2.1.1
   - Color ==0.3.2
   - colorful-monoids ==0.2.1.3
@@ -439,7 +441,7 @@ default-package-overrides:
   - composition ==1.0.2.2
   - composition-extra ==2.0.0
   - concise ==0.1.0.1
-  - concurrency ==1.11.0.1
+  - concurrency ==1.11.0.2
   - concurrent-extra ==0.7.0.12
   - concurrent-output ==1.10.12
   - concurrent-split ==0.0.1.1
@@ -469,7 +471,7 @@ default-package-overrides:
   - constraints-extras ==0.3.1.0
   - constraint-tuples ==0.1.2
   - construct ==0.3.0.2
-  - contravariant ==1.5.3
+  - contravariant ==1.5.5
   - contravariant-extras ==0.3.5.2
   - control-bool ==0.2.1
   - control-dsl ==0.2.1.3
@@ -549,7 +551,7 @@ default-package-overrides:
   - datadog ==0.2.5.0
   - data-dword ==0.3.2
   - data-endian ==0.1.1
-  - data-fix ==0.3.1
+  - data-fix ==0.3.2
   - data-forest ==0.1.0.8
   - data-has ==0.4.0.0
   - data-hash ==0.2.0.1
@@ -579,7 +581,7 @@ default-package-overrides:
   - deepseq-generics ==0.2.0.0
   - deepseq-instances ==0.1.0.1
   - deferred-folds ==0.9.17
-  - dejafu ==2.4.0.2
+  - dejafu ==2.4.0.3
   - dense-linear-algebra ==0.1.0.0
   - dependent-map ==0.4.0.0
   - dependent-sum ==0.7.1.0
@@ -601,7 +603,7 @@ default-package-overrides:
   - di-core ==1.0.4
   - dictionary-sharing ==0.1.0.0
   - Diff ==0.4.0
-  - digest ==0.0.1.2
+  - digest ==0.0.1.3
   - digits ==0.3.1
   - dimensional ==1.4
   - di-monad ==1.3.1
@@ -703,7 +705,7 @@ default-package-overrides:
   - errors ==2.3.0
   - errors-ext ==0.4.2
   - ersatz ==0.4.9
-  - esqueleto ==3.5.2.0
+  - esqueleto ==3.5.2.1
   - essence-of-live-coding ==0.2.5
   - essence-of-live-coding-gloss ==0.2.5
   - essence-of-live-coding-pulse ==0.2.5
@@ -720,7 +722,7 @@ default-package-overrides:
   - exception-hierarchy ==0.1.0.4
   - exception-mtl ==0.4.0.1
   - exceptions ==0.10.4
-  - exception-transformers ==0.4.0.9
+  - exception-transformers ==0.4.0.10
   - exception-via ==0.1.0.0
   - executable-path ==0.0.3.1
   - exit-codes ==1.0.0
@@ -743,7 +745,7 @@ default-package-overrides:
   - fakefs ==0.3.0.2
   - fakepull ==0.3.0.2
   - faktory ==1.0.3.1
-  - fast-digits ==0.3.0.0
+  - fast-digits ==0.3.1.0
   - fast-logger ==3.0.5
   - fast-math ==1.0.2
   - fb ==2.1.1
@@ -759,7 +761,7 @@ default-package-overrides:
   - file-embed-lzma ==0
   - filelock ==0.1.1.5
   - filemanip ==0.3.6.3
-  - filepath-bytestring ==1.4.2.1.7
+  - filepath-bytestring ==1.4.2.1.8
   - file-path-th ==0.1.0.0
   - filepattern ==0.1.2
   - fileplow ==0.1.0.0
@@ -772,10 +774,10 @@ default-package-overrides:
   - first-class-patterns ==0.3.2.5
   - fitspec ==0.4.10
   - fixed ==0.3
-  - fixed-length ==0.2.2.1
+  - fixed-length ==0.2.3
   - fixed-vector ==1.2.0.0
   - fixed-vector-hetero ==0.6.1.0
-  - fix-whitespace ==0.0.5
+  - fix-whitespace ==0.0.6
   - flac ==0.2.0
   - flac-picture ==0.1.2
   - flags-applicative ==0.1.0.3
@@ -787,14 +789,14 @@ default-package-overrides:
   - flow ==1.0.22
   - flush-queue ==1.0.0
   - fmlist ==0.9.4
-  - fmt ==0.6.1.2
+  - fmt ==0.6.2.0
   - fn ==0.3.0.2
   - focus ==1.0.2
   - focuslist ==0.1.0.2
   - foldable1 ==0.1.0.0
   - fold-debounce ==0.2.0.9
   - fold-debounce-conduit ==0.2.0.6
-  - foldl ==1.4.11
+  - foldl ==1.4.12
   - folds ==0.7.6
   - follow-file ==0.0.3
   - FontyFruity ==0.5.3.5
@@ -890,13 +892,13 @@ default-package-overrides:
   - ghcid ==0.8.7
   - ghci-hexcalc ==0.1.1.0
   - ghcjs-codemirror ==0.0.0.2
-  - ghc-lib ==8.10.5.20210606
-  - ghc-lib-parser ==8.10.5.20210606
-  - ghc-lib-parser-ex ==8.10.0.21
+  - ghc-lib ==8.10.6.20210814
+  - ghc-lib-parser ==8.10.6.20210814
+  - ghc-lib-parser-ex ==8.10.0.22
   - ghc-parser ==0.2.3.0
   - ghc-paths ==0.1.0.12
-  - ghc-prof ==1.4.1.8
-  - ghc-source-gen ==0.4.0.0
+  - ghc-prof ==1.4.1.9
+  - ghc-source-gen ==0.4.1.0
   - ghc-syntax-highlighter ==0.0.6.0
   - ghc-tcplugins-extra ==0.4.2
   - ghc-trace-events ==0.1.2.3
@@ -963,7 +965,7 @@ default-package-overrides:
   - gtk-strut ==0.1.3.0
   - guarded-allocation ==0.0.1
   - H ==0.9.0.1
-  - hackage-db ==2.1.1
+  - hackage-db ==2.1.2
   - hackage-security ==0.6.0.1
   - haddock-library ==1.10.0
   - hadoop-streaming ==0.2.0.3
@@ -978,14 +980,14 @@ default-package-overrides:
   - happy ==1.20.0
   - happy-meta ==0.2.0.11
   - HasBigDecimal ==0.1.1
-  - hasbolt ==0.1.5.0
+  - hasbolt ==0.1.6.1
   - hashable ==1.3.0.0
   - hashable-time ==0.2.1
   - hashids ==1.0.2.4
   - hashing ==0.1.0.1
   - hashmap ==1.3.3
   - hashtables ==1.2.4.1
-  - haskeline ==0.8.1.2
+  - haskeline ==0.8.2
   - haskell-awk ==1.2.0.1
   - haskell-gi ==0.25.0
   - haskell-gi-base ==0.25.0
@@ -1081,7 +1083,7 @@ default-package-overrides:
   - hourglass-orphans ==0.1.0.0
   - hp2pretty ==0.10
   - hpack ==0.34.4
-  - hpack-dhall ==0.5.2
+  - hpack-dhall ==0.5.3
   - hpc-codecov ==0.3.0.0
   - hpc-lcov ==1.0.1
   - hprotoc ==2.4.17
@@ -1105,7 +1107,7 @@ default-package-overrides:
   - hslua-module-path ==0.1.0.1
   - hslua-module-system ==0.2.2.1
   - hslua-module-text ==0.3.0.1
-  - HsOpenSSL ==0.11.7
+  - HsOpenSSL ==0.11.7.1
   - HsOpenSSL-x509-system ==0.1.0.4
   - hsp ==0.10.0
   - hspec ==2.7.10
@@ -1121,7 +1123,7 @@ default-package-overrides:
   - hspec-golden ==0.1.0.3
   - hspec-golden-aeson ==0.7.0.0
   - hspec-hedgehog ==0.0.1.2
-  - hspec-junit-formatter ==1.0.0.4
+  - hspec-junit-formatter ==1.0.0.5
   - hspec-leancheck ==0.0.6
   - hspec-megaparsec ==2.2.0
   - hspec-meta ==2.7.8
@@ -1134,7 +1136,7 @@ default-package-overrides:
   - hs-php-session ==0.0.9.3
   - hsshellscript ==3.5.0
   - hs-tags ==0.1.5
-  - HStringTemplate ==0.8.7
+  - HStringTemplate ==0.8.8
   - HSvm ==0.1.1.3.22
   - HsYAML ==0.2.1.0
   - HsYAML-aeson ==0.2.0.0
@@ -1142,7 +1144,7 @@ default-package-overrides:
   - htaglib ==1.2.0
   - HTF ==0.14.0.6
   - html ==1.0.1.2
-  - html-conduit ==1.3.2.1
+  - html-conduit ==1.3.2.2
   - html-entities ==1.1.4.5
   - html-entity-map ==0.1.0.0
   - htoml ==1.0.0.3
@@ -1168,7 +1170,7 @@ default-package-overrides:
   - human-readable-duration ==0.2.1.4
   - HUnit ==1.6.2.0
   - HUnit-approx ==1.1.1.1
-  - hunit-dejafu ==2.0.0.4
+  - hunit-dejafu ==2.0.0.5
   - hvect ==0.4.0.0
   - hvega ==0.11.0.1
   - hw-balancedparens ==0.4.1.1
@@ -1218,7 +1220,7 @@ default-package-overrides:
   - ieee754 ==0.8.0
   - if ==0.1.0.0
   - iff ==0.0.6
-  - ihaskell ==0.10.2.0
+  - ihaskell ==0.10.2.1
   - ihs ==0.1.0.3
   - ilist ==0.4.0.1
   - imagesize-conduit ==1.1
@@ -1244,7 +1246,7 @@ default-package-overrides:
   - inline-c-cpp ==0.4.0.3
   - inline-r ==0.10.4
   - inliterate ==0.1.0
-  - input-parsers ==0.2.2
+  - input-parsers ==0.2.3
   - insert-ordered-containers ==0.2.5
   - inspection-testing ==0.4.5.0
   - instance-control ==0.1.2.0
@@ -1255,7 +1257,7 @@ default-package-overrides:
   - intern ==0.9.4
   - interpolate ==0.2.1
   - interpolatedstring-perl6 ==1.0.2
-  - interpolation ==0.1.1.1
+  - interpolation ==0.1.1.2
   - interpolator ==1.1.0.2
   - IntervalMap ==0.6.1.2
   - intervals ==0.9.2
@@ -1278,9 +1280,9 @@ default-package-overrides:
   - ipynb ==0.1.0.1
   - ipython-kernel ==0.10.2.1
   - irc ==0.6.1.0
-  - irc-client ==1.1.2.1
-  - irc-conduit ==0.3.0.4
-  - irc-ctcp ==0.1.3.0
+  - irc-client ==1.1.2.2
+  - irc-conduit ==0.3.0.5
+  - irc-ctcp ==0.1.3.1
   - isbn ==1.1.0.2
   - islink ==0.1.0.0
   - iso3166-country-codes ==0.20140203.8
@@ -1294,6 +1296,7 @@ default-package-overrides:
   - 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.2
@@ -1308,12 +1311,12 @@ default-package-overrides:
   - json-rpc-generic ==0.2.1.5
   - JuicyPixels ==3.3.5
   - JuicyPixels-blurhash ==0.1.0.3
-  - JuicyPixels-extra ==0.5.1
+  - 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.0
-  - kan-extensions ==5.2.2
+  - kan-extensions ==5.2.3
   - kanji ==3.4.1
   - katip ==0.8.5.0
   - katip-logstash ==0.1.0.0
@@ -1330,19 +1333,19 @@ default-package-overrides:
   - kmeans ==0.1.3
   - koji ==0.0.2
   - koofr-client ==1.0.0.3
-  - krank ==0.2.2
+  - krank ==0.2.3
   - kubernetes-webhook-haskell ==0.2.0.3
   - l10n ==0.1.0.1
   - labels ==0.3.3
   - lackey ==1.0.15
-  - lambdabot-core ==5.3.0.1
+  - lambdabot-core ==5.3.0.2
   - LambdaHack ==0.10.2.0
   - lame ==0.2.0
   - language-avro ==0.1.3.1
   - language-bash ==0.9.2
   - language-c ==0.9.0.1
   - language-c-quote ==0.13
-  - language-docker ==10.0.1
+  - language-docker ==10.0.2
   - language-java ==0.2.9
   - language-javascript ==0.7.1.0
   - language-protobuf ==1.0.1
@@ -1350,7 +1353,7 @@ default-package-overrides:
   - language-thrift ==0.12.0.0
   - lapack ==0.3.2
   - lapack-carray ==0.0.3
-  - lapack-comfort-array ==0.0.0.1
+  - lapack-comfort-array ==0.0.1
   - lapack-ffi ==0.0.3
   - lapack-ffi-tools ==0.1.2.1
   - largeword ==1.2.5
@@ -1389,7 +1392,7 @@ default-package-overrides:
   - liboath-hs ==0.0.1.2
   - libyaml ==0.1.2
   - LibZip ==1.0.1
-  - lifted-async ==0.10.2
+  - lifted-async ==0.10.2.1
   - lifted-base ==0.2.3.12
   - lift-generics ==0.2
   - lift-type ==0.1.0.1
@@ -1437,6 +1440,7 @@ default-package-overrides:
   - lukko ==0.1.1.3
   - lz4-frame-conduit ==0.1.0.1
   - lzma ==0.0.0.3
+  - lzma-clib ==5.2.2
   - lzma-conduit ==1.2.1
   - machines ==0.7.2
   - machines-binary ==7.0.0.0
@@ -1509,7 +1513,7 @@ default-package-overrides:
   - min-max-pqueue ==0.1.0.2
   - mintty ==0.1.2
   - missing-foreign ==0.1.1
-  - mixed-types-num ==0.5.8.0
+  - mixed-types-num ==0.5.9.1
   - mltool ==0.2.0.1
   - mmap ==0.5.9
   - mmark ==0.0.7.2
@@ -1525,9 +1529,9 @@ default-package-overrides:
   - modern-uri ==0.3.4.1
   - modular ==0.1.0.8
   - monad-chronicle ==1.0.0.1
-  - monad-control ==1.0.2.3
+  - monad-control ==1.0.3.1
   - monad-control-aligned ==0.0.1.1
-  - monad-coroutine ==0.9.1.2
+  - monad-coroutine ==0.9.1.3
   - monad-extras ==0.6.0
   - monadic-arrays ==0.2.2
   - monad-journal ==0.8.1
@@ -1540,7 +1544,7 @@ default-package-overrides:
   - monad-memo ==0.5.3
   - monad-metrics ==0.2.2.0
   - monad-par ==0.3.5
-  - monad-parallel ==0.7.2.4
+  - monad-parallel ==0.7.2.5
   - monad-par-extras ==0.3.3
   - monad-peel ==0.2.1.2
   - monad-primitive ==0.1
@@ -1555,7 +1559,7 @@ default-package-overrides:
   - monad-unlift ==0.2.0
   - monad-unlift-ref ==0.2.1
   - mongoDB ==2.7.1.1
-  - monoid-subclasses ==1.1
+  - monoid-subclasses ==1.1.1
   - monoid-transformer ==0.0.4
   - mono-traversable ==1.0.15.1
   - mono-traversable-instances ==0.1.1.0
@@ -1585,7 +1589,7 @@ default-package-overrides:
   - mustache ==2.3.1
   - mutable-containers ==0.3.4
   - mwc-probability ==2.3.1
-  - mwc-random ==0.15.0.1
+  - mwc-random ==0.15.0.2
   - mwc-random-monad ==0.7.3.1
   - mx-state-codes ==1.0.0.0
   - mysql ==0.2.0.1
@@ -1603,7 +1607,7 @@ default-package-overrides:
   - neat-interpolation ==0.5.1.2
   - netcode-io ==0.0.2
   - netlib-carray ==0.1
-  - netlib-comfort-array ==0.0.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
@@ -1647,7 +1651,7 @@ default-package-overrides:
   - nqe ==0.6.3
   - nri-env-parser ==0.1.0.7
   - nri-observability ==0.1.1.1
-  - nri-prelude ==0.6.0.2
+  - nri-prelude ==0.6.0.3
   - nsis ==0.3.3
   - numbers ==3000.2.0.2
   - numeric-extras ==0.1
@@ -1673,7 +1677,7 @@ default-package-overrides:
   - OneTuple ==0.2.2.1
   - Only ==0.1
   - oo-prototypes ==0.1.0.0
-  - opaleye ==0.7.3.0
+  - opaleye ==0.7.4.0
   - OpenAL ==1.7.0.5
   - openapi3 ==3.1.0
   - open-browser ==0.2.1.0
@@ -1802,6 +1806,7 @@ default-package-overrides:
   - pointedlist ==0.6.1
   - pointless-fun ==1.1.0.6
   - 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
@@ -1843,7 +1848,7 @@ default-package-overrides:
   - pretty-sop ==0.2.0.3
   - pretty-terminal ==0.1.0.0
   - primes ==0.2.1.0
-  - primitive ==0.7.1.0
+  - primitive ==0.7.2.0
   - primitive-addr ==0.1.0.2
   - primitive-extras ==0.10.1
   - primitive-unaligned ==0.1.1.1
@@ -1867,7 +1872,7 @@ default-package-overrides:
   - prospect ==0.1.0.0
   - proto3-wire ==1.2.2
   - protobuf ==0.2.1.3
-  - protobuf-simple ==0.1.1.0
+  - protobuf-simple ==0.1.1.1
   - protocol-buffers ==2.4.17
   - protocol-buffers-descriptor ==2.4.17
   - protocol-radius ==0.0.1.1
@@ -1923,7 +1928,7 @@ default-package-overrides:
   - Ranged-sets ==0.4.0
   - range-set-list ==0.1.3.1
   - rank1dynamic ==0.4.1
-  - rank2classes ==1.4.1
+  - rank2classes ==1.4.2
   - Rasterific ==0.7.5.4
   - rasterific-svg ==0.3.3.2
   - ratel ==1.0.15
@@ -1969,30 +1974,31 @@ default-package-overrides:
   - regex-compat-tdfa ==0.95.1.4
   - regex-pcre ==0.95.0.0
   - regex-pcre-builtin ==0.95.2.3.8.43
-  - regex-posix ==0.96.0.0
+  - regex-posix ==0.96.0.1
+  - regex-posix-clib ==2.7
   - regex-tdfa ==1.3.1.1
   - regex-with-pcre ==1.1.0.0
   - registry ==0.2.0.3
   - reinterpret-cast ==0.1.0
   - relapse ==1.0.0.0
-  - relational-query ==0.12.2.3
+  - 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
   - reliable-io ==0.0.1
   - relude ==0.7.0.0
   - renderable ==0.2.0.1
-  - replace-attoparsec ==1.4.4.0
+  - replace-attoparsec ==1.4.5.0
   - replace-megaparsec ==1.4.4.0
   - repline ==0.4.0.0
   - req ==3.9.0
-  - req-conduit ==1.0.0
+  - req-conduit ==1.0.1
   - rerebase ==1.13.0.1
   - rescue ==0.4.2.1
   - resistor-cube ==0.0.1.2
   - resolv ==0.1.2.0
   - resource-pool ==0.2.3.2
-  - resourcet ==1.2.4.2
+  - resourcet ==1.2.4.3
   - result ==0.2.6.0
   - rethinkdb-client-driver ==0.0.25
   - retry ==0.8.1.2
@@ -2003,7 +2009,7 @@ default-package-overrides:
   - rhine ==0.7.0
   - rhine-gloss ==0.7.0
   - rigel-viz ==0.2.0.0
-  - rio ==0.1.20.0
+  - rio ==0.1.21.0
   - rio-orphans ==0.1.2.0
   - rio-prettyprint ==0.1.1.0
   - roc-id ==0.1.0.0
@@ -2015,6 +2021,7 @@ default-package-overrides:
   - rosezipper ==0.2
   - rot13 ==0.2.0.1
   - rpmbuild-order ==0.4.5
+  - rpm-nvr ==0.1.0
   - rp-tree ==0.6
   - RSA ==2.4.1
   - runmemo ==1.0.0.1
@@ -2024,7 +2031,7 @@ default-package-overrides:
   - safe-coloured-text-terminfo ==0.0.0.0
   - safecopy ==0.10.4.2
   - safe-decimal ==0.2.1.0
-  - safe-exceptions ==0.1.7.1
+  - safe-exceptions ==0.1.7.2
   - safe-foldable ==0.1.0.0
   - safeio ==0.0.5.0
   - safe-json ==1.1.1.1
@@ -2039,7 +2046,7 @@ default-package-overrides:
   - sandwich ==0.1.0.8
   - sandwich-quickcheck ==0.1.0.5
   - sandwich-slack ==0.1.0.4
-  - sandwich-webdriver ==0.1.0.5
+  - sandwich-webdriver ==0.1.0.6
   - say ==0.1.0.1
   - sbp ==2.6.3
   - sbv ==8.15
@@ -2122,7 +2129,7 @@ default-package-overrides:
   - SHA ==1.6.4.4
   - shake ==0.19.5
   - shake-language-c ==0.12.0
-  - shake-plus ==0.3.3.1
+  - shake-plus ==0.3.4.0
   - shake-plus-extended ==0.4.1.0
   - shakespeare ==2.0.25
   - shared-memory ==0.2.0.0
@@ -2156,6 +2163,7 @@ default-package-overrides:
   - singletons ==2.7
   - singletons-presburger ==0.6.0.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
@@ -2214,14 +2222,14 @@ default-package-overrides:
   - squeather ==0.8.0.0
   - srcloc ==0.6
   - stache ==2.3.0
-  - stack ==2.7.1
+  - stack ==2.7.3
   - stackcollapse-ghc ==0.0.1.3
   - stack-templatizer ==0.1.0.2
   - stateref ==0.3
-  - StateVar ==1.2.1
-  - static-text ==0.2.0.6
+  - StateVar ==1.2.2
+  - static-text ==0.2.0.7
   - statistics ==0.15.2.0
-  - status-notifier-item ==0.3.0.5
+  - status-notifier-item ==0.3.1.0
   - stb-image-redux ==0.2.1.3
   - step-function ==0.2
   - stm-chans ==3.0.0.4
@@ -2237,7 +2245,7 @@ default-package-overrides:
   - storable-record ==0.0.5
   - storable-tuple ==0.0.3.3
   - storablevector ==0.2.13.1
-  - store ==0.7.11
+  - store ==0.7.12
   - store-core ==0.4.4.4
   - store-streaming ==0.2.0.3
   - stratosphere ==0.59.1
@@ -2313,7 +2321,7 @@ default-package-overrides:
   - tasty ==1.4.1
   - tasty-ant-xml ==1.1.8
   - tasty-bench ==0.2.5
-  - tasty-dejafu ==2.0.0.7
+  - tasty-dejafu ==2.0.0.8
   - tasty-discover ==4.2.2
   - tasty-expected-failure ==0.12.3
   - tasty-focus ==1.0.1
@@ -2354,7 +2362,7 @@ 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
+  - texmath ==0.12.3.1
   - text-ansi ==0.1.1
   - text-binary ==0.2.1.1
   - text-builder ==0.6.6.2
@@ -2408,7 +2416,7 @@ default-package-overrides:
   - th-test-utils ==1.1.0
   - th-utilities ==0.2.4.3
   - thyme ==0.3.5.5
-  - tidal ==1.7.7
+  - tidal ==1.7.8
   - tile ==0.3.0.0
   - time-compat ==1.9.5
   - timeit ==2.0
@@ -2425,7 +2433,7 @@ default-package-overrides:
   - timezone-series ==0.1.9
   - tinylog ==0.15.0
   - titlecase ==1.0.1
-  - tldr ==0.9.0
+  - tldr ==0.9.1
   - tls ==1.5.5
   - tls-debug ==0.4.8
   - tls-session-manager ==0.0.4
@@ -2439,7 +2447,7 @@ default-package-overrides:
   - torsor ==0.1
   - tostring ==0.2.1.1
   - transaction ==0.1.1.3
-  - transformers-base ==0.4.5.2
+  - transformers-base ==0.4.6
   - transformers-bifunctors ==0.1
   - transformers-compat ==0.6.6
   - transformers-fix ==1.0
@@ -2461,11 +2469,11 @@ default-package-overrides:
   - turtle ==1.5.22
   - typecheck-plugin-nat-simple ==0.1.0.2
   - TypeCompose ==0.9.14
-  - typed-process ==0.2.6.0
+  - typed-process ==0.2.6.1
   - typed-uuid ==0.1.0.0
   - type-equality ==1
   - type-errors ==0.2.0.0
-  - type-errors-pretty ==0.0.1.1
+  - type-errors-pretty ==0.0.1.2
   - type-hint ==0.1
   - type-level-integers ==0.0.1
   - type-level-kv-list ==1.1.0
@@ -2519,7 +2527,7 @@ default-package-overrides:
   - unix-bytestring ==0.3.7.3
   - unix-compat ==0.5.3
   - unix-time ==0.4.7
-  - unliftio ==0.2.18
+  - unliftio ==0.2.19
   - unliftio-core ==0.2.0.1
   - unliftio-pool ==0.2.1.1
   - unliftio-streams ==0.1.1.1
@@ -2562,7 +2570,7 @@ default-package-overrides:
   - vector-algorithms ==0.8.0.4
   - vector-binary-instances ==0.2.5.2
   - vector-buffer ==0.4.1
-  - vector-builder ==0.3.8.1
+  - vector-builder ==0.3.8.2
   - vector-bytes-instances ==0.1.1
   - vector-circular ==0.1.3
   - vector-instances ==3.4
@@ -2591,7 +2599,7 @@ default-package-overrides:
   - wai-feature-flags ==0.1.0.1
   - wai-handler-launch ==3.0.3.1
   - wai-logger ==2.3.6
-  - wai-middleware-auth ==0.2.5.0
+  - wai-middleware-auth ==0.2.5.1
   - wai-middleware-caching ==0.1.0.2
   - wai-middleware-clacks ==0.1.0.1
   - wai-middleware-prometheus ==1.0.0
@@ -2625,7 +2633,7 @@ default-package-overrides:
   - Win32 ==2.6.1.0
   - Win32-notify ==0.3.0.3
   - windns ==0.1.0.1
-  - witch ==0.3.3.0
+  - witch ==0.3.4.0
   - witherable ==0.4.1
   - within ==0.2.0.1
   - with-location ==0.1.0
@@ -2647,7 +2655,7 @@ default-package-overrides:
   - writer-cps-transformers ==0.5.6.1
   - wss-client ==0.3.0.0
   - wuss ==1.1.18
-  - X11 ==1.10
+  - X11 ==1.10.1
   - X11-xft ==0.3.1
   - x11-xim ==0.0.9.0
   - x509 ==1.7.5
@@ -2686,13 +2694,13 @@ default-package-overrides:
   - yesod-auth-hashdb ==1.7.1.7
   - yesod-auth-oauth2 ==0.6.3.4
   - yesod-bin ==1.6.1
-  - yesod-core ==1.6.20.2
+  - yesod-core ==1.6.21.0
   - yesod-fb ==0.6.1
   - yesod-form ==1.7.0
-  - yesod-gitrev ==0.2.1
+  - yesod-gitrev ==0.2.2
   - yesod-markdown ==0.12.6.11
   - yesod-newsfeed ==1.7.0.0
-  - yesod-page-cursor ==2.0.0.8
+  - yesod-page-cursor ==2.0.0.9
   - yesod-paginator ==1.1.1.0
   - yesod-persistent ==1.6.0.7
   - yesod-sitemap ==1.6.0
diff --git a/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml b/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
index e8e415695cf1..d44ef0dafcc8 100644
--- a/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
+++ b/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
@@ -58,7 +58,6 @@ dont-distribute-packages:
  - CC-delcont-alt
  - CMCompare
  - CPBrainfuck
- - CPL
  - CSPM-Interpreter
  - CSPM-ToProlog
  - CSPM-cspm
@@ -113,7 +112,6 @@ dont-distribute-packages:
  - Forestry
  - FormalGrammars
  - Foster
- - Frames-beam
  - Frames-dsv
  - Frank
  - GLFW-OGL
@@ -372,7 +370,6 @@ dont-distribute-packages:
  - XSaiga
  - YACPong
  - Yablog
- - Yogurt
  - Yogurt-Standalone
  - Z-Botan
  - Z-IO
@@ -406,6 +403,7 @@ dont-distribute-packages:
  - algebra-driven-design
  - algebra-sql
  - algolia
+ - align-audio
  - alms
  - alpha
  - alsa-gui
@@ -469,8 +467,10 @@ dont-distribute-packages:
  - atomic-primops-foreign
  - atp
  - attoparsec-enumerator
+ - attoparsec-ip
  - attoparsec-iteratee
  - attoparsec-text-enumerator
+ - attoparsec-uri
  - atuin
  - audiovisual
  - aura
@@ -515,7 +515,6 @@ dont-distribute-packages:
  - bamboo-theme-mini-html5
  - bamse
  - bamstats
- - base16-lens
  - base32-bytestring
  - base64-bytes
  - baserock-schema
@@ -527,11 +526,6 @@ dont-distribute-packages:
  - bdcs
  - bdcs-api
  - beam-automigrate
- - beam-migrate
- - beam-mysql
- - beam-newtype-field
- - beam-postgres
- - beam-sqlite
  - beam-th
  - beautifHOL
  - bech32-th
@@ -634,6 +628,7 @@ dont-distribute-packages:
  - bv-sized-lens
  - bytehash
  - bytelog
+ - bytesmith
  - bytestring-read
  - c0check
  - cabal-bounds
@@ -719,9 +714,11 @@ dont-distribute-packages:
  - clash-lib
  - clash-multisignal
  - clash-prelude-quickcheck
+ - clash-shake
  - clash-systemverilog
  - clash-verilog
  - clash-vhdl
+ - clashilator
  - classify-frog
  - classy-miso
  - clckwrks
@@ -798,6 +795,7 @@ dont-distribute-packages:
  - consumers
  - container
  - containers-accelerate
+ - contiguous-fft
  - continuum
  - continuum-client
  - control
@@ -1019,6 +1017,7 @@ dont-distribute-packages:
  - entangle
  - enumerate
  - enumerate-function
+ - enumeration
  - enumerator-fd
  - enumerator-tf
  - ephemeral
@@ -1063,7 +1062,6 @@ dont-distribute-packages:
  - falling-turnip
  - fallingblocks
  - family-tree
- - fast-digits
  - fastirc
  - fault-tree
  - fbrnch
@@ -1131,6 +1129,7 @@ dont-distribute-packages:
  - fplll
  - fpnla-examples
  - frame-markdown
+ - freckle-app
  - free-theorems-counterexamples
  - free-theorems-seq
  - free-theorems-seq-webui
@@ -1444,7 +1443,6 @@ dont-distribute-packages:
  - hasql-cursor-query
  - hasql-postgres
  - hasql-postgres-options
- - hasql-queue
  - hasql-th
  - hastache-aeson
  - haste-app
@@ -1546,6 +1544,7 @@ dont-distribute-packages:
  - hmeap-utils
  - hmep
  - hmm-lapack
+ - hmm-lapack_0_4_1
  - hmt
  - hmt-diagrams
  - hnormalise
@@ -1564,7 +1563,6 @@ dont-distribute-packages:
  - hoodle-publish
  - hoodle-render
  - hoovie
- - hoq
  - hp2any-graph
  - hp2any-manager
  - hpaco
@@ -1589,6 +1587,7 @@ dont-distribute-packages:
  - hs-ffmpeg
  - hs-gen-iface
  - hs-pkpass
+ - hs-sdl-term-emulator
  - hs-swisstable-hashtables-class
  - hs2dot
  - hsautogui
@@ -1617,7 +1616,6 @@ dont-distribute-packages:
  - hset
  - hsfacter
  - hslogstash
- - hsnock
  - hspec-expectations-pretty
  - hspec-pg-transact
  - hspec-setup
@@ -1659,7 +1657,6 @@ dont-distribute-packages:
  - hunt-searchengine
  - hunt-server
  - hurdle
- - husky
  - huzzy
  - hw-all
  - hw-dsv
@@ -1742,6 +1739,7 @@ dont-distribute-packages:
  - intset
  - invertible-hlist
  - ion
+ - ip
  - ipatch
  - ipc
  - ipld-cid
@@ -1838,6 +1836,7 @@ dont-distribute-packages:
  - keid-geometry
  - keid-render-basic
  - keid-resource-gltf
+ - keid-sound-openal
  - keid-ui-dearimgui
  - kevin
  - keysafe
@@ -1855,7 +1854,6 @@ dont-distribute-packages:
  - knots
  - korfu
  - ks-test
- - kubernetes-client
  - kurita
  - laborantin-hs
  - labsat
@@ -1867,6 +1865,8 @@ dont-distribute-packages:
  - lambda-options
  - lambdaFeed
  - lambdaLit
+ - lambdabot
+ - lambdabot-xmpp
  - lambdabot-zulip
  - lambdacms-media
  - lambdacube
@@ -1893,6 +1893,8 @@ dont-distribute-packages:
  - lapack
  - lapack-carray
  - lapack-comfort-array
+ - lapack-hmatrix
+ - lapack_0_4
  - lat
  - latex-formulae-hakyll
  - latex-formulae-pandoc
@@ -1937,6 +1939,7 @@ dont-distribute-packages:
  - lighttpd-conf
  - lighttpd-conf-qq
  - linear-circuit
+ - linear-circuit_0_1_0_3
  - linearmap-category
  - linearscan-hoopl
  - linkchk
@@ -1972,10 +1975,14 @@ dont-distribute-packages:
  - llvm-tf
  - llvm-tools
  - lmonad-yesod
+ - lnd-client
+ - lnurl
+ - lnurl-authenticator
  - local-search
  - localize
  - locked-poll
  - log
+ - log-elasticsearch
  - log-postgres
  - log-utils
  - logging-effect-extra
@@ -1996,7 +2003,6 @@ dont-distribute-packages:
  - loup
  - ls-usb
  - lsystem
- - lti13
  - luachunk
  - lucid-colonnade
  - lucienne
@@ -2013,6 +2019,7 @@ dont-distribute-packages:
  - magic-wormhole
  - magicbane
  - magico
+ - magico_0_0_2_2
  - mahoro
  - maid
  - mail-pool
@@ -2039,6 +2046,7 @@ dont-distribute-packages:
  - markdown-pap
  - markdown2svg
  - markov-processes
+ - markup
  - marmalade-upload
  - marquise
  - marvin
@@ -2052,7 +2060,6 @@ dont-distribute-packages:
  - maxent
  - maxent-learner-hw-gui
  - maxsharing
- - mcmc
  - mcmc-samplers
  - mealy
  - mediabus-fdk-aac
@@ -2075,7 +2082,6 @@ dont-distribute-packages:
  - minecraft-data
  - minesweeper
  - mini-egison
- - miniforth
  - minilight-lua
  - minimung
  - minioperational
@@ -2084,7 +2090,6 @@ dont-distribute-packages:
  - missing-py2
  - mixed-strategies
  - mkbndl
- - mkcabal
  - mlist
  - mmark-cli
  - mmark-ext
@@ -2161,7 +2166,6 @@ dont-distribute-packages:
  - mywatch
  - n2o-web
  - nakadi-client
- - nanovg-simple
  - nats-queue
  - natural-number
  - nemesis-titan
@@ -2341,21 +2345,27 @@ dont-distribute-packages:
  - polysemy-fskvstore
  - polysemy-http
  - polysemy-keyed-state
+ - polysemy-kvstore
  - polysemy-kvstore-jsonfile
  - polysemy-log
  - polysemy-log-co
  - polysemy-log-di
  - polysemy-methodology
+ - polysemy-methodology-co-log
  - polysemy-methodology-composite
  - polysemy-mocks
  - polysemy-optics
  - polysemy-path
  - polysemy-plugin
+ - polysemy-plugin_0_4_0_0
  - polysemy-readline
  - polysemy-req
  - polysemy-resume
+ - polysemy-several
+ - polysemy-socket
  - polysemy-test
  - polysemy-time
+ - polysemy-uncontrolled
  - polysemy-video
  - polysemy-vinyl
  - polysemy-webserver
@@ -2376,6 +2386,7 @@ dont-distribute-packages:
  - postgresql-tx-query
  - postgresql-tx-squeal
  - postgresql-tx-squeal-compat-simple
+ - postgrest_8_0_0
  - postmark
  - potoki
  - potoki-cereal
@@ -2390,6 +2401,8 @@ dont-distribute-packages:
  - prednote-test
  - presto-hdbc
  - preview
+ - primitive-containers
+ - primitive-sort
  - primula-board
  - primula-bot
  - proc
@@ -2440,7 +2453,6 @@ dont-distribute-packages:
  - queryparser-hive
  - queryparser-presto
  - queryparser-vertica
- - questioner
  - queuelike
  - quickbench
  - quickcheck-combinators
@@ -2504,7 +2516,6 @@ dont-distribute-packages:
  - reactive-fieldtrip
  - reactive-glut
  - reactor
- - readline-statevar
  - readpyc
  - reanimate
  - record-aeson
@@ -2557,6 +2568,7 @@ dont-distribute-packages:
  - representable-tries
  - req-oauth2
  - resistor-cube
+ - resistor-cube_0_0_1_3
  - resource-pool-catchio
  - resource-simple
  - respond
@@ -2572,6 +2584,8 @@ dont-distribute-packages:
  - restful-snap
  - restricted-workers
  - rethinkdb-model
+ - retroclash-lib
+ - retroclash-sim
  - rewrite
  - rewriting
  - rezoom
@@ -2585,6 +2599,7 @@ dont-distribute-packages:
  - ribosome-root
  - ribosome-test
  - ridley-extras
+ - ring-buffers
  - rio-process-pool
  - riot
  - ripple
@@ -2658,6 +2673,7 @@ dont-distribute-packages:
  - scholdoc
  - scholdoc-citeproc
  - scholdoc-texmath
+ - scientific-notation
  - scion
  - scion-browser
  - scope
@@ -2710,7 +2726,6 @@ dont-distribute-packages:
  - servant-streaming-docs
  - servant-streaming-server
  - servant-swagger-tags
- - servant-util-beam-pg
  - servant-waargonaut
  - servant-zeppelin-client
  - servant-zeppelin-server
@@ -2719,6 +2734,7 @@ dont-distribute-packages:
  - sgf
  - sgrep
  - sha1
+ - shake-ats
  - shake-minify-css
  - shaker
  - shapefile
@@ -2757,6 +2773,7 @@ dont-distribute-packages:
  - smallstring
  - smartword
  - smcdel
+ - smith
  - smith-cli
  - smith-client
  - smtlib2-debug
@@ -2890,10 +2907,8 @@ dont-distribute-packages:
  - svg2q
  - svgone
  - swapper
- - swearjure
  - sweet-egison
  - switch
- - sydtest-persistent-postgresql
  - sylvia
  - sym-plot
  - symantic-atom
@@ -3033,7 +3048,6 @@ dont-distribute-packages:
  - twidge
  - twilight-stm
  - twill
- - twitter
  - twitter-enumerator
  - type-assertions
  - type-cache
@@ -3088,6 +3102,8 @@ dont-distribute-packages:
  - urembed
  - uri-enumerator
  - uri-enumerator-file
+ - url-bytes
+ - urlpath
  - usb
  - usb-enumerator
  - usb-hid
@@ -3099,6 +3115,7 @@ dont-distribute-packages:
  - uu-cco-examples
  - uu-cco-hut-parsing
  - uu-cco-uu-parsinglib
+ - uuid-bytes
  - uuid-crypto
  - uvector-algorithms
  - v4l2
@@ -3119,6 +3136,7 @@ dont-distribute-packages:
  - venzone
  - verdict-json
  - versioning-servant
+ - vessel
  - vflow-types
  - vformat-aeson
  - vformat-time
@@ -3140,10 +3158,12 @@ dont-distribute-packages:
  - wai-dispatch
  - wai-handler-snap
  - wai-hastache
+ - wai-log
  - wai-middleware-brotli
  - wai-middleware-cache
  - wai-middleware-cache-redis
  - wai-middleware-consul
+ - wai-middleware-content-type
  - wai-middleware-rollbar
  - wai-middleware-route
  - wai-session-tokyocabinet
@@ -3185,6 +3205,7 @@ dont-distribute-packages:
  - wrecker-ui
  - wright
  - writer-cps-full
+ - ws
  - wss-client
  - wtk-gtk
  - wu-wei
@@ -3244,7 +3265,6 @@ dont-distribute-packages:
  - yeshql
  - yesod-articles
  - yesod-auth-ldap
- - yesod-auth-lti13
  - yesod-colonnade
  - yesod-continuations
  - yesod-examples
diff --git a/nixpkgs/pkgs/development/haskell-modules/configuration-nix.nix b/nixpkgs/pkgs/development/haskell-modules/configuration-nix.nix
index ef0bd0656ffd..3553b4fe6a13 100644
--- a/nixpkgs/pkgs/development/haskell-modules/configuration-nix.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/configuration-nix.nix
@@ -167,6 +167,7 @@ self: super: builtins.intersectAttrs super {
   mongoDB = dontCheck super.mongoDB;
   network-transport-tcp = dontCheck super.network-transport-tcp;
   network-transport-zeromq = dontCheck super.network-transport-zeromq; # https://github.com/tweag/network-transport-zeromq/issues/30
+  oidc-client = dontCheck super.oidc-client;            # the spec runs openid against google.com
   pipes-mongodb = dontCheck super.pipes-mongodb;        # http://hydra.cryp.to/build/926195/log/raw
   pixiv = dontCheck super.pixiv;
   raven-haskell = dontCheck super.raven-haskell;        # http://hydra.cryp.to/build/502053/log/raw
@@ -222,7 +223,14 @@ self: super: builtins.intersectAttrs super {
   wxcore = super.wxcore.override { wxGTK = pkgs.wxGTK30; };
 
   # Test suite wants to connect to $DISPLAY.
+  bindings-GLFW = dontCheck super.bindings-GLFW;
+  gi-gtk-declarative = dontCheck super.gi-gtk-declarative;
+  gi-gtk-declarative-app-simple = dontCheck super.gi-gtk-declarative-app-simple;
   hsqml = dontCheck (addExtraLibraries (super.hsqml.override { qt5 = pkgs.qt5Full; }) [pkgs.libGLU pkgs.libGL]);
+  monomer = dontCheck super.monomer;
+
+  # Wants to check against a real DB, Needs freetds
+  odbc = dontCheck (addExtraLibraries super.odbc [ pkgs.freetds ]);
 
   # Tests attempt to use NPM to install from the network into
   # /homeless-shelter. Disabled.
@@ -348,13 +356,6 @@ self: super: builtins.intersectAttrs super {
   # Looks like Avahi provides the missing library
   dnssd = super.dnssd.override { dns_sd = pkgs.avahi.override { withLibdnssdCompat = true; }; };
 
-  # requires an X11 display
-  bindings-GLFW = dontCheck super.bindings-GLFW;
-
-  # requires an X11 display in test suite
-  gi-gtk-declarative = dontCheck super.gi-gtk-declarative;
-  gi-gtk-declarative-app-simple = dontCheck super.gi-gtk-declarative-app-simple;
-
   # tests depend on executable
   ghcide = overrideCabal super.ghcide (drv: {
     preCheck = ''export PATH="$PWD/dist/build/ghcide:$PATH"'';
@@ -788,6 +789,11 @@ self: super: builtins.intersectAttrs super {
     platforms = pkgs.lib.platforms.x86;
   };
 
+  # uses x86 intrinsics
+  geomancy = overrideCabal super.geomancy {
+    platforms = pkgs.lib.platforms.x86;
+  };
+
   hls-brittany-plugin = overrideCabal super.hls-brittany-plugin (drv: {
     testToolDepends = [ pkgs.git ];
     preCheck = ''
@@ -919,4 +925,29 @@ self: super: builtins.intersectAttrs super {
   # Flag added in Agda 2.6.2
   Agda = appendConfigureFlag super.Agda "-foptimise-heavily";
 
+  # ats-format uses cli-setup in Setup.hs which is quite happy to write
+  # to arbitrary files in $HOME. This doesn't either not achieve anything
+  # or even fail, so we prevent it and install everything necessary ourselves.
+  # See also: https://hackage.haskell.org/package/cli-setup-0.2.1.4/docs/src/Distribution.CommandLine.html#setManpathGeneric
+  ats-format = generateOptparseApplicativeCompletion "atsfmt" (
+    justStaticExecutables (
+      overrideCabal super.ats-format (drv: {
+        # use vanilla Setup.hs
+        preCompileBuildDriver = ''
+          cat > Setup.hs << EOF
+          module Main where
+          import Distribution.Simple
+          main = defaultMain
+          EOF
+        '' + (drv.preCompileBuildDriver or "");
+        # install man page
+        buildTools = [
+          pkgs.buildPackages.installShellFiles
+        ] ++ (drv.buildTools or []);
+        postInstall = ''
+          installManPage man/atsfmt.1
+        '' + (drv.postInstall or "");
+      })
+    )
+  );
 }
diff --git a/nixpkgs/pkgs/development/haskell-modules/hackage-packages.nix b/nixpkgs/pkgs/development/haskell-modules/hackage-packages.nix
index c895053704be..22c4b4143c89 100644
--- a/nixpkgs/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/hackage-packages.nix
@@ -2483,7 +2483,6 @@ self: {
        ];
        description = "An interpreter of Hagino's Categorical Programming Language (CPL)";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "CSPM-CoreLanguage" = callPackage
@@ -2762,6 +2761,26 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "Cabal_3_6_0_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.0.0";
+       sha256 = "0xkyip9fm1k4cwjifqsh12xwi7za5lcbszqkl11gjyx6nxddzdhv";
+       setupHaskellDepends = [ mtl parsec ];
+       libraryHaskellDepends = [
+         array base binary bytestring containers deepseq directory filepath
+         mtl parsec pretty process text time transformers unix
+       ];
+       doCheck = false;
+       description = "A framework for packaging Haskell software";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "Cabal-ide-backend" = callPackage
     ({ mkDerivation, array, base, binary, bytestring, Cabal, containers
      , deepseq, directory, extensible-exceptions, filepath, HUnit
@@ -6395,6 +6414,7 @@ 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
@@ -7271,6 +7291,8 @@ self: {
        pname = "Glob";
        version = "0.10.1";
        sha256 = "05fknrb114qvfzv6324ngx0fz43cwgrhrc700l3h2is9jinlgr6a";
+       revision = "1";
+       editedCabalFile = "1mnhsl38mv9p46njns72xi4564nikx7v6plg2s6jilr3y3sfijqp";
        libraryHaskellDepends = [
          base containers directory dlist filepath transformers
          transformers-compat
@@ -8782,7 +8804,7 @@ self: {
      }) {};
 
   "HMock" = callPackage
-    ({ mkDerivation, base, constraints, containers, data-default
+    ({ mkDerivation, array, base, constraints, containers, data-default
      , deepseq, directory, doctest-exitcode-stdio, doctest-lib
      , exceptions, extra, hspec, monad-control, mono-traversable, mtl
      , QuickCheck, regex-tdfa, stm, syb, template-haskell
@@ -8790,10 +8812,10 @@ self: {
      }:
      mkDerivation {
        pname = "HMock";
-       version = "0.3.0.0";
-       sha256 = "0rvb3a0nbf8i0qfg7na5rvd966amids07l8w8ka6b7hdw46lkczn";
+       version = "0.4.0.0";
+       sha256 = "1xkb4qyccpp5iws0jysgmcypbcab8yig6hnc756890z1dz5d1vy5";
        libraryHaskellDepends = [
-         base constraints containers data-default exceptions extra
+         array base constraints containers data-default exceptions extra
          monad-control mono-traversable mtl regex-tdfa stm syb
          template-haskell transformers-base unliftio
        ];
@@ -8995,6 +9017,35 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "HQu" = callPackage
+    ({ mkDerivation, base, bytestring, cassava, containers, conversion
+     , data-default-class, erf, gauge, gsl, hmatrix, hmatrix-gsl
+     , hmatrix-gsl-stats, hspec, hspec-expectations, ieee754
+     , math-functions, mersenne-random-pure64, monad-loops, mtl, random
+     , random-fu, random-source, rvar, sorted-list, statistics, stm
+     , text, time, vector, vector-algorithms
+     }:
+     mkDerivation {
+       pname = "HQu";
+       version = "0.0.0.5";
+       sha256 = "1izaamiw14gl4wciq99bh6ynra0kxav0b65zpm36q72brchr3z0r";
+       libraryHaskellDepends = [
+         base bytestring cassava containers conversion data-default-class
+         erf hmatrix hmatrix-gsl hmatrix-gsl-stats ieee754 math-functions
+         mersenne-random-pure64 monad-loops mtl random random-fu
+         random-source rvar sorted-list statistics stm text time vector
+         vector-algorithms
+       ];
+       librarySystemDepends = [ gsl ];
+       testHaskellDepends = [ base hspec hspec-expectations ];
+       benchmarkHaskellDepends = [ base gauge ];
+       description = "quantitative finance library";
+       license = lib.licenses.mit;
+       platforms = [
+         "aarch64-darwin" "i686-linux" "x86_64-darwin" "x86_64-linux"
+       ];
+     }) {inherit (pkgs) gsl;};
+
   "HROOT" = callPackage
     ({ mkDerivation, base, fficxx, fficxx-runtime, HROOT-core
      , HROOT-graf, HROOT-hist, HROOT-io, HROOT-math, HROOT-tree
@@ -9280,20 +9331,20 @@ self: {
 
   "HStringTemplate" = callPackage
     ({ mkDerivation, array, base, blaze-builder, bytestring, containers
-     , deepseq, directory, filepath, mtl, old-locale, parsec, pretty
-     , semigroups, syb, template-haskell, text, time, void
+     , deepseq, directory, filepath, HUnit, mtl, old-locale, parsec
+     , pretty, QuickCheck, random, semigroups, syb, template-haskell
+     , text, time, void
      }:
      mkDerivation {
        pname = "HStringTemplate";
-       version = "0.8.7";
-       sha256 = "03kbmyh0713j3qhhrl7jqbmsvyq1q82h2yxq45cc9rs55sma8kjg";
-       revision = "1";
-       editedCabalFile = "0s7y606q2q0vnbg9c51kypawyvapva60i2lw1dg1bij50aiv5d3i";
+       version = "0.8.8";
+       sha256 = "1n8ci0kzjcgnqh4dfpqwlh7mnlzyiqiqc6hc0zr65p0balbg8zbi";
        libraryHaskellDepends = [
          array base blaze-builder bytestring containers deepseq directory
          filepath mtl old-locale parsec pretty semigroups syb
          template-haskell text time void
        ];
+       testHaskellDepends = [ base containers HUnit QuickCheck random ];
        description = "StringTemplate implementation in Haskell";
        license = lib.licenses.bsd3;
      }) {};
@@ -10720,8 +10771,8 @@ self: {
     ({ mkDerivation, base, bytestring, Cabal, network, openssl, time }:
      mkDerivation {
        pname = "HsOpenSSL";
-       version = "0.11.7";
-       sha256 = "0kji758bi8agcjvpbb3hpppv55qm9g2r02mamiv568zwmlkkxsm3";
+       version = "0.11.7.1";
+       sha256 = "1vkcs0crifjpgr1rxkbzkwyhl4zg84m5bfxkp095mgry557gqzm8";
        setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [ base bytestring network time ];
        librarySystemDepends = [ openssl ];
@@ -11532,6 +11583,36 @@ self: {
        broken = true;
      }) {};
 
+  "Jikka" = callPackage
+    ({ mkDerivation, alex, ansi-terminal, array, base, containers
+     , deepseq, directory, doctest, happy, hlint, hspec, hspec-discover
+     , mtl, ormolu, template-haskell, text, transformers, vector
+     }:
+     mkDerivation {
+       pname = "Jikka";
+       version = "5.3.0.0";
+       sha256 = "0njy5mgzbpvqdqp343a7bh69sdrmvfd57skr3qwma7dya5m12v2r";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         ansi-terminal array base containers deepseq directory mtl
+         template-haskell text transformers vector
+       ];
+       libraryToolDepends = [ alex happy ];
+       executableHaskellDepends = [
+         ansi-terminal array base containers deepseq directory mtl
+         template-haskell text transformers vector
+       ];
+       testHaskellDepends = [
+         ansi-terminal array base containers deepseq directory doctest hlint
+         hspec mtl ormolu template-haskell text transformers vector
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "A transpiler from Python to C++ for competitive programming";
+       license = lib.licenses.asl20;
+     }) {};
+
   "JsContracts" = callPackage
     ({ mkDerivation, base, containers, directory, filepath, mtl, parsec
      , pretty, syb, WebBits, WebBits-Html
@@ -11683,8 +11764,8 @@ self: {
      }:
      mkDerivation {
        pname = "JuicyPixels-extra";
-       version = "0.5.1";
-       sha256 = "1kgb2l6ymhjr7wq93jpdhxy3k4i7jz0rz256phz10ycdpyvdbjpq";
+       version = "0.5.2";
+       sha256 = "11y4735bbp99wvi4fkpvkda7cj4c6iqp437drs27flicx2ygc687";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [ base JuicyPixels ];
        testHaskellDepends = [ base hspec JuicyPixels ];
@@ -11855,8 +11936,8 @@ self: {
     ({ mkDerivation, base, containers, mtl }:
      mkDerivation {
        pname = "Kawaii-Parser";
-       version = "1.0.1";
-       sha256 = "032kglqc4pfhig7wqqsps0g490ajp1yffl4h4lr3qs98vi7vl4x6";
+       version = "2.0.0";
+       sha256 = "1b0b6hr128jahwlivl0w27s11l51p6y5xjijjlgqhb17yjicxfl1";
        libraryHaskellDepends = [ base containers mtl ];
        description = "A simple parsing library";
        license = lib.licenses.bsd3;
@@ -12792,7 +12873,7 @@ self: {
        description = "an adapter for LogicGrowsOnTrees that uses MPI";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-     }) {openmpi = null;};
+     }) {inherit (pkgs) openmpi;};
 
   "LogicGrowsOnTrees-network" = callPackage
     ({ mkDerivation, base, cereal, cmdtheline, composition, containers
@@ -13686,8 +13767,8 @@ self: {
        pname = "MonadRandom";
        version = "0.5.3";
        sha256 = "17qaw1gg42p9v6f87dj5vih7l88lddbyd8880ananj8avanls617";
-       revision = "1";
-       editedCabalFile = "1wpgmcv704i7x38jwalnbmx8c10vdw269gbvzjxaj4rlvff3s4sq";
+       revision = "2";
+       editedCabalFile = "1diy29if7w1c9ckc465mrrb52fm0zmd8zzym1h5ryh5a58qafwhr";
        libraryHaskellDepends = [
          base mtl primitive random transformers transformers-compat
        ];
@@ -13736,16 +13817,16 @@ self: {
      }) {};
 
   "Monadoro" = callPackage
-    ({ mkDerivation, ansi-terminal, base, doctest, process, time }:
+    ({ mkDerivation, ansi-terminal, base, doctest, hspec, time }:
      mkDerivation {
        pname = "Monadoro";
-       version = "0.2.1.11";
-       sha256 = "1vf1g298kygjkqxm99w2dnfd6a6iz0fnkzz0km95isnl0pdfgfnk";
+       version = "0.2.5.0";
+       sha256 = "0p3270xzwhq1j8m3mb4bvh95c4w16vrjj4cd0p87aq35xy99f4dr";
        isLibrary = true;
        isExecutable = true;
-       libraryHaskellDepends = [ ansi-terminal base process time ];
-       executableHaskellDepends = [ ansi-terminal base process time ];
-       testHaskellDepends = [ ansi-terminal base doctest process time ];
+       libraryHaskellDepends = [ ansi-terminal base time ];
+       executableHaskellDepends = [ ansi-terminal base time ];
+       testHaskellDepends = [ ansi-terminal base doctest hspec time ];
        description = "A minimalistic CLI Pomodoro timer";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
@@ -14099,20 +14180,20 @@ self: {
      }) {};
 
   "NaCl" = callPackage
-    ({ mkDerivation, base, bytestring, hedgehog, HUnit, libsodium
-     , memory, safe-exceptions, tasty, tasty-discover, tasty-hedgehog
-     , tasty-hunit
+    ({ mkDerivation, base, base16, bytestring, hedgehog, HUnit
+     , libsodium, memory, safe-exceptions, tasty, tasty-discover
+     , tasty-hedgehog, tasty-hunit
      }:
      mkDerivation {
        pname = "NaCl";
-       version = "0.0.3.1";
-       sha256 = "1ff793w4dc34nmd9s9pxdz6nrpqz9wv6bx5j0kxgmjvwzjx9i5ql";
+       version = "0.0.4.0";
+       sha256 = "13wjrki7d7a7zk67np00in5n3gkpmgw682hib09fmncnnisrwd9m";
        libraryHaskellDepends = [
          base bytestring libsodium memory safe-exceptions
        ];
        testHaskellDepends = [
-         base bytestring hedgehog HUnit libsodium memory safe-exceptions
-         tasty tasty-hedgehog tasty-hunit
+         base base16 bytestring hedgehog HUnit libsodium memory
+         safe-exceptions tasty tasty-hedgehog tasty-hunit
        ];
        testToolDepends = [ tasty-discover ];
        description = "Easy-and-safe-to-use high-level Haskell bindings to NaCl";
@@ -14133,16 +14214,18 @@ self: {
      }) {};
 
   "NanoID" = callPackage
-    ({ mkDerivation, base, bytestring, extra, mwc-random
-     , optparse-applicative
+    ({ mkDerivation, aeson, base, bytestring, cereal, extra, mwc-random
+     , optparse-applicative, text
      }:
      mkDerivation {
        pname = "NanoID";
-       version = "2.1.0";
-       sha256 = "0ila2yrdva18y20wm533hkqmmb2mrh1j212jp2ck6p6yiwam687j";
+       version = "3.1.0";
+       sha256 = "0f3sadmnwdqbvl86gdaqgzixgk4zly39afhc2m5mws1j18y9v738";
        isLibrary = true;
        isExecutable = true;
-       libraryHaskellDepends = [ base bytestring extra mwc-random ];
+       libraryHaskellDepends = [
+         aeson base bytestring cereal extra mwc-random text
+       ];
        executableHaskellDepends = [
          base bytestring mwc-random optparse-applicative
        ];
@@ -17207,8 +17290,8 @@ self: {
      }:
      mkDerivation {
        pname = "RtMidi";
-       version = "0.5.0.0";
-       sha256 = "0yb52a4c03x28nbq8shpzqsczr04ngi0fa1hw0mflhql5rzd7yy5";
+       version = "0.5.0.1";
+       sha256 = "13fzqfq47zx3anpc1y9ypfa2h7bxzzj95zd7hpm3niykjrl9zadr";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base deepseq unliftio-core vector ];
@@ -17692,6 +17775,23 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "STMonadTrans_0_4_6" = callPackage
+    ({ mkDerivation, array, base, mtl, tasty, tasty-hunit
+     , tasty-quickcheck, transformers
+     }:
+     mkDerivation {
+       pname = "STMonadTrans";
+       version = "0.4.6";
+       sha256 = "0rvhh0hhwz601ibpzisry7xf3j61r5sxfgp47imaa37i5bvrlynb";
+       libraryHaskellDepends = [ array base mtl ];
+       testHaskellDepends = [
+         array base tasty tasty-hunit tasty-quickcheck transformers
+       ];
+       description = "A monad transformer version of the ST monad";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "SVD2HS" = callPackage
     ({ mkDerivation, base, containers, pretty, text, xml-conduit
      , xml-lens
@@ -17737,6 +17837,8 @@ self: {
        pname = "SVGFonts";
        version = "1.7.0.1";
        sha256 = "06vnpkkr19s9b1wjp7l2w29vr7fsghcrffd2knlxvdhjacrfpc9h";
+       revision = "1";
+       editedCabalFile = "110zlafis1rivba3za7in92fq6a7738hh57w5gkivi50d7pfbw24";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          attoparsec base blaze-markup blaze-svg bytestring cereal
@@ -19176,8 +19278,8 @@ self: {
     ({ mkDerivation, base, stm, transformers }:
      mkDerivation {
        pname = "StateVar";
-       version = "1.2.1";
-       sha256 = "12qg01aksbnc7cdh01y4z4jwrrhhwcakc9gh6ywxhq1bj591a9pf";
+       version = "1.2.2";
+       sha256 = "098q4lk60najzpbfal4bg4sh7izxm840aa5h4ycaamjn77d3jjsy";
        libraryHaskellDepends = [ base stm transformers ];
        description = "State variables";
        license = lib.licenses.bsd3;
@@ -20727,8 +20829,8 @@ self: {
     ({ mkDerivation, base, bytestring, transformers, vector, vulkan }:
      mkDerivation {
        pname = "VulkanMemoryAllocator";
-       version = "0.6.0.1";
-       sha256 = "082i8jhx9s977j8dgn6v92h9nzkblcyw820jk87bg14w4lcgi91v";
+       version = "0.7.1";
+       sha256 = "1h9kz02s7ams9fw9x8k947nzji2b82s9xn2yvqzys14ypzc34qpn";
        libraryHaskellDepends = [
          base bytestring transformers vector vulkan
        ];
@@ -21400,8 +21502,8 @@ self: {
      }:
      mkDerivation {
        pname = "X11";
-       version = "1.10";
-       sha256 = "1zrdqryx99izjvsrsalb65ihpmikm9r6cjlci7cfp6wlwa3i585n";
+       version = "1.10.1";
+       sha256 = "13a0qf8rwn1s43wcl39f1pcq3h1kw1ddfq205j1ry0j3yafnazxg";
        libraryHaskellDepends = [ base data-default-class ];
        librarySystemDepends = [
          libX11 libXext libXinerama libXrandr libXrender libXScrnSaver
@@ -21837,6 +21939,7 @@ self: {
        description = "A MUD client library";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "Yogurt-Standalone" = callPackage
@@ -21886,18 +21989,19 @@ self: {
     ({ mkDerivation, base, bytestring, Cabal, case-insensitive
      , containers, deepseq, ghc-prim, hashable, hspec, hspec-discover
      , HUnit, integer-gmp, primitive, QuickCheck, quickcheck-instances
-     , scientific, tagged, template-haskell, time, unicode-collation
-     , unordered-containers
+     , random, scientific, tagged, template-haskell, time
+     , unicode-collation, unordered-containers, uuid-types
      }:
      mkDerivation {
        pname = "Z-Data";
-       version = "0.9.0.0";
-       sha256 = "1i5xa299vkvvs4j9mxzyfbw3wgcraihyk9x6wxk0plgj385zl3hr";
+       version = "1.1.0.0";
+       sha256 = "0zjgai814a4zbcyjrmfcy1kq97rds0pjsiz8lma1g8c0fhq2gy5c";
        setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [
          base bytestring case-insensitive containers deepseq ghc-prim
-         hashable integer-gmp primitive QuickCheck scientific tagged
+         hashable integer-gmp primitive QuickCheck random scientific tagged
          template-haskell time unicode-collation unordered-containers
+         uuid-types
        ];
        testHaskellDepends = [
          base containers hashable hspec HUnit integer-gmp primitive
@@ -21912,19 +22016,19 @@ self: {
      }) {};
 
   "Z-IO" = callPackage
-    ({ mkDerivation, base, bytestring, containers, exceptions, hashable
-     , hspec, hspec-discover, HUnit, primitive, QuickCheck
+    ({ mkDerivation, base, bytestring, containers, exceptions, foldl
+     , hashable, hspec, hspec-discover, HUnit, primitive, QuickCheck
      , quickcheck-instances, scientific, stm, time, unix-time
      , unordered-containers, Z-Data, zlib
      }:
      mkDerivation {
        pname = "Z-IO";
-       version = "0.8.1.1";
-       sha256 = "05d4dbvzdr2sall0sj9yh8hv09lh1af4bqfhnbss2jlj1jc1y1dr";
+       version = "1.0.0.0";
+       sha256 = "0mam287629rlcq8l04ykm8y4lad9vry403a4svq226d51v2p7mni";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base containers exceptions primitive stm time unix-time
+         base containers exceptions foldl primitive stm time unix-time
          unordered-containers Z-Data
        ];
        libraryToolDepends = [ hspec-discover ];
@@ -23913,6 +24017,17 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "ad-delcont" = callPackage
+    ({ mkDerivation, base, transformers }:
+     mkDerivation {
+       pname = "ad-delcont";
+       version = "0.3.0.0";
+       sha256 = "1gdnvl4f4m95jp2p2wdival48d3j4ymizxwp9phf0f698baxs28k";
+       libraryHaskellDepends = [ base transformers ];
+       description = "Reverse-mode automatic differentiation with delimited continuations";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "adaptive-containers" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -24242,8 +24357,8 @@ self: {
      }:
      mkDerivation {
        pname = "aern2-mp";
-       version = "0.2.7.0";
-       sha256 = "1gsqaggg6mpcpl9s3z566gmbynj4l6n1fhni5b0p8pf5hj8n93gg";
+       version = "0.2.8.0";
+       sha256 = "0nfd2r05jm93idsgijccxzqkkpjkpkn8jz3kqwanlma0x3wj02cj";
        libraryHaskellDepends = [
          base cdar-mBound collect-errors deepseq hspec integer-logarithms
          mixed-types-num QuickCheck reflection regex-tdfa template-haskell
@@ -24264,8 +24379,8 @@ self: {
      }:
      mkDerivation {
        pname = "aern2-real";
-       version = "0.2.7.0";
-       sha256 = "0dsph1775rifr9vvx4w7v55bryqmh04fhk6nyk7d91yhn1sf6wc9";
+       version = "0.2.8.0";
+       sha256 = "13nk4s5r7h7wg4q0x01f8aiy432zngynd5qbqsqi9fz149k7mik1";
        libraryHaskellDepends = [
          aern2-mp base collect-errors hspec integer-logarithms
          mixed-types-num QuickCheck
@@ -25241,6 +25356,8 @@ self: {
        pname = "aeson-with";
        version = "0.1.2.0";
        sha256 = "0zj8jjsq26i6k8m3zfszpjxnnkar3gmvdw1adl9rxlgha2v5kfz8";
+       revision = "2";
+       editedCabalFile = "1li326p1vvgfs54pai7xswssj67j58prr40pqzhmlgs8v193q175";
        libraryHaskellDepends = [
          aeson base lens lens-aeson scientific text unordered-containers
          vector
@@ -26521,6 +26638,27 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "align-audio" = callPackage
+    ({ mkDerivation, base, comfort-array, comfort-fftw, containers
+     , netlib-ffi, numeric-prelude, optparse-applicative, shell-utility
+     , soxlib, storablevector, Stream, synthesizer-core, utility-ht
+     }:
+     mkDerivation {
+       pname = "align-audio";
+       version = "0.0";
+       sha256 = "0sa7q5fzkc0z4vzibs5l21pvrkil0swdpbl27qn30vb6giy3yh7a";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base comfort-array comfort-fftw containers netlib-ffi
+         numeric-prelude optparse-applicative shell-utility soxlib
+         storablevector Stream synthesizer-core utility-ht
+       ];
+       description = "Find relative time displacement of two recordings of the same music";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "align-text" = callPackage
     ({ mkDerivation, base, optparse-applicative, text }:
      mkDerivation {
@@ -26864,6 +27002,8 @@ self: {
        pname = "alsa-seq";
        version = "0.6.0.8";
        sha256 = "00f7873484nifbimdav0b25sipgx3rn6xx1il6qgvz0p70pzzljv";
+       revision = "1";
+       editedCabalFile = "1mzdlqgxrgjmr3ljf4xg8rcks1fdq0s0zpb4lkipcm1lyq0kk32j";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -27723,6 +27863,28 @@ self: {
        license = lib.licenses.mpl20;
      }) {};
 
+  "amazonka-contrib-rds-utils" = callPackage
+    ({ mkDerivation, amazonka, amazonka-core, amazonka-rds, base
+     , bytestring, lens, optparse-applicative, text, time
+     }:
+     mkDerivation {
+       pname = "amazonka-contrib-rds-utils";
+       version = "1.6.1.0";
+       sha256 = "1j43kn2ia8q6689p8g1b5q8pd8zcmhfjny8kydh3g5zf5360hnaz";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         amazonka amazonka-core amazonka-rds base bytestring lens text time
+       ];
+       executableHaskellDepends = [
+         amazonka base bytestring lens optparse-applicative text
+       ];
+       description = "A Haskell equivalent of \"aws rds generate-db-auth-token\"";
+       license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "amazonka-core" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bifunctors, bytestring
      , case-insensitive, conduit, conduit-extra, cryptonite
@@ -30940,8 +31102,8 @@ self: {
      }:
      mkDerivation {
        pname = "apecs";
-       version = "0.9.2";
-       sha256 = "1ca9wpp60jslj63q77v55qql46f20jknfqsz7cjmqns41ml5g3q8";
+       version = "0.9.3";
+       sha256 = "02qi63bj0prvmxi6ksw2cq0b7fvhcdv8fgbsjbv7vf51p4c6rbh7";
        libraryHaskellDepends = [
          array base containers exceptions mtl template-haskell vector
        ];
@@ -30999,8 +31161,8 @@ self: {
      }:
      mkDerivation {
        pname = "apecs-stm";
-       version = "0.1.4";
-       sha256 = "1x9bc3b0x7s7sphr4wzz4mnzz97n2rz3kn48rs889cvqa825dgr9";
+       version = "0.1.5";
+       sha256 = "10zfmc1zgmw5fkrrcs0mnsb2h44b0zfn2y7w1ld47skvmz580dxp";
        libraryHaskellDepends = [
          apecs base containers list-t stm stm-containers template-haskell
          vector
@@ -32249,8 +32411,8 @@ self: {
      }:
      mkDerivation {
        pname = "arch-hs";
-       version = "0.9.0.0";
-       sha256 = "09i5b4pdbc1x7977icq0m7amk59iy0822ki5dlhd7y74m2dmdf9z";
+       version = "0.9.1.0";
+       sha256 = "0k9xi2k4ifrnnh6p80pf1xhf45cbhrs1zdwy0ayp08p0ajdlh74b";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -32283,6 +32445,8 @@ self: {
        pname = "arch-web";
        version = "0.1.0";
        sha256 = "1wiy4swpi3ca8sri2drycfr6i674da2kgiplfng7jcjlxr5nmdpz";
+       revision = "1";
+       editedCabalFile = "0g6mngy0b18n0w247ff2fyqxhdb6pxz6jywzypiq54w3f4vdqxr9";
        libraryHaskellDepends = [
          aeson base deriving-aeson exceptions http-client http-client-tls
          http-types lens mtl servant servant-client servant-client-core text
@@ -32722,6 +32886,8 @@ self: {
        ];
        description = "A practical arithmetic encoding (aka Godel numbering) library";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "arithmatic" = callPackage
@@ -33124,6 +33290,24 @@ self: {
        broken = true;
      }) {};
 
+  "arrow-utils" = callPackage
+    ({ mkDerivation, base, QuickCheck, test-framework
+     , test-framework-quickcheck2, vector-sized
+     }:
+     mkDerivation {
+       pname = "arrow-utils";
+       version = "0.1.0.0";
+       sha256 = "1l8njh623a00hvfd3cczvb4ngh7c39z6f0kfhr8hr6xhbkrgwqnc";
+       revision = "1";
+       editedCabalFile = "1jdl1jmr8hbjiybrjnfr8rraqdf95l4qia3nna3nh9pvh8c69jln";
+       libraryHaskellDepends = [ base vector-sized ];
+       testHaskellDepends = [
+         base QuickCheck test-framework test-framework-quickcheck2
+       ];
+       description = "functions for working with arrows";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "arrowapply-utils" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -33949,26 +34133,25 @@ self: {
      }) {};
 
   "assoc-list" = callPackage
-    ({ mkDerivation, base, contravariant, doctest, hedgehog }:
+    ({ mkDerivation, base, contravariant, hedgehog }:
      mkDerivation {
        pname = "assoc-list";
-       version = "0.1.0.0";
-       sha256 = "13n847aypm39djgpyrkr428y11xj7glpwavp5qxfd49n93ii8zy3";
+       version = "0.1.0.1";
+       sha256 = "1ggvws2ma9cn165h03dx0v0zd1aifhi5qx05lnymf9ca98pa7ls9";
        libraryHaskellDepends = [ base contravariant ];
-       testHaskellDepends = [ base contravariant doctest hedgehog ];
+       testHaskellDepends = [ base contravariant hedgehog ];
        description = "Association lists (lists of tuples)";
        license = lib.licenses.mit;
      }) {};
 
   "assoc-listlike" = callPackage
-    ({ mkDerivation, base, contravariant, doctest, hedgehog, ListLike
-     }:
+    ({ mkDerivation, base, contravariant, hedgehog, ListLike }:
      mkDerivation {
        pname = "assoc-listlike";
-       version = "0.1.0.0";
-       sha256 = "0nph5yvawxk1afnlqm0vizg8dv53wl1cziqqnnlqgv45yimp4fbz";
+       version = "0.1.0.1";
+       sha256 = "1jzv0x8397274ks8azm89xcca8i1h6rgi8drbp4nj05mxzvz6brv";
        libraryHaskellDepends = [ base contravariant ListLike ];
-       testHaskellDepends = [ base contravariant doctest hedgehog ];
+       testHaskellDepends = [ base contravariant hedgehog ListLike ];
        description = "Association lists (list-like collections of tuples)";
        license = lib.licenses.mit;
      }) {};
@@ -35125,6 +35308,7 @@ self: {
        ];
        description = "Parse IP data types with attoparsec";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "attoparsec-iso8601" = callPackage
@@ -35261,6 +35445,7 @@ self: {
        ];
        description = "URI parser / printer using attoparsec";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "attoparsec-varword" = callPackage
@@ -35443,6 +35628,8 @@ self: {
        pname = "aura";
        version = "3.2.5";
        sha256 = "1zrsjcvmhh3y0pahnz2fr944j2xz8sv4dcd9xz08vci4x1lm87hr";
+       revision = "1";
+       editedCabalFile = "0rmihjl4ysw36fpj4g5zkdhzvq8c0n0vxv4zlcmn35q37k85qpb6";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -36936,6 +37123,31 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "aws-transcribe-ws" = callPackage
+    ({ mkDerivation, aeson, am-test, async, base, base16-bytestring
+     , binary, bytestring, crc, cryptohash-sha256, lens, stm, text, time
+     , websockets, wuss
+     }:
+     mkDerivation {
+       pname = "aws-transcribe-ws";
+       version = "0.0.1.0";
+       sha256 = "151mlkgbb1lnhqwb4xwriqyj05fsz2dam3sr65j4zh476dmyv6bk";
+       revision = "1";
+       editedCabalFile = "032n5y32wq8pq8pky1qmjp34p7np72lkq89r7fr8fl8jl9hv6h26";
+       libraryHaskellDepends = [
+         aeson async base base16-bytestring binary bytestring crc
+         cryptohash-sha256 lens stm text time websockets wuss
+       ];
+       testHaskellDepends = [
+         aeson am-test async base base16-bytestring binary bytestring crc
+         cryptohash-sha256 lens stm text time websockets wuss
+       ];
+       description = "Websocket streaming to Amazon Transcribe service";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {am-test = null;};
+
   "aws-xray-client" = callPackage
     ({ mkDerivation, aeson, aeson-qq, async, base, bytestring
      , criterion, deepseq, generic-arbitrary, hspec, http-types, lens
@@ -37808,8 +38020,8 @@ self: {
      }:
      mkDerivation {
        pname = "barbies";
-       version = "2.0.2.0";
-       sha256 = "0x9wn7whn36b4vsaq008zpcw47rs78dfqcysk8x7yhprxbzn7mi2";
+       version = "2.0.3.0";
+       sha256 = "0br4pd4vswyqfjkp5bj6svmqxwn3pfprrwxjmqda1z62dli5ps4m";
        libraryHaskellDepends = [ base distributive transformers ];
        testHaskellDepends = [
          base distributive QuickCheck tasty tasty-hunit tasty-quickcheck
@@ -37818,6 +38030,21 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "barbies-layered" = callPackage
+    ({ mkDerivation, barbies, base, doctest, doctest-discover, hspec
+     , hspec-discover, transformers
+     }:
+     mkDerivation {
+       pname = "barbies-layered";
+       version = "0.1.0.0";
+       sha256 = "1cxiwgl5rfdvf29f18hymh33ycylz94baj2v4fm8z10kiibi9snv";
+       libraryHaskellDepends = [ barbies base transformers ];
+       testHaskellDepends = [ barbies base doctest hspec ];
+       testToolDepends = [ doctest-discover hspec-discover ];
+       description = "Barbies with layered clothes";
+       license = lib.licenses.asl20;
+     }) {};
+
   "barbies-th" = callPackage
     ({ mkDerivation, barbies, base, split, template-haskell }:
      mkDerivation {
@@ -37848,7 +38075,7 @@ self: {
        ];
        description = "Create status bar menus for macOS from executables";
        license = lib.licenses.bsd3;
-       platforms = [ "x86_64-darwin" ];
+       platforms = [ "aarch64-darwin" "x86_64-darwin" ];
      }) {};
 
   "barchart" = callPackage
@@ -38149,8 +38376,6 @@ self: {
        ];
        description = "Fast RFC 4648-compliant Base16 encoding";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "base16-bytestring_0_1_1_7" = callPackage
@@ -38199,7 +38424,6 @@ self: {
        ];
        description = "Optics for the Base16 library";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "base32" = callPackage
@@ -38435,15 +38659,15 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "base64-bytestring_1_2_0_1" = callPackage
+  "base64-bytestring_1_2_1_0" = callPackage
     ({ mkDerivation, base, bytestring, criterion, deepseq, HUnit
      , QuickCheck, test-framework, test-framework-hunit
      , test-framework-quickcheck2
      }:
      mkDerivation {
        pname = "base64-bytestring";
-       version = "1.2.0.1";
-       sha256 = "0f66mzsyik3zrn72cygg8w3375qpvn3422z3j4fkkc9f0xyv22dg";
+       version = "1.2.1.0";
+       sha256 = "1ja9vkgnpkzaw8gz6sm5jmgha6wg3m1j281m0nv1w9yyxlqfvy7v";
        libraryHaskellDepends = [ base bytestring ];
        testHaskellDepends = [
          base bytestring HUnit QuickCheck test-framework
@@ -39260,8 +39484,6 @@ self: {
        ];
        description = "Type-safe, feature-complete SQL query and manipulation interface for Haskell";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "beam-migrate" = callPackage
@@ -39282,7 +39504,6 @@ self: {
        ];
        description = "SQL DDL support and migrations support library for Beam";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "beam-mysql" = callPackage
@@ -39301,6 +39522,7 @@ self: {
        description = "Connection layer between beam and MySQL/MariaDB";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "beam-newtype-field" = callPackage
@@ -39317,6 +39539,7 @@ self: {
        description = "A newtype for wrapping newtypes into beam schemas";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "beam-postgres" = callPackage
@@ -39344,7 +39567,6 @@ self: {
        ];
        description = "Connection layer between beam and postgres";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "beam-sqlite" = callPackage
@@ -39370,6 +39592,7 @@ self: {
        description = "Beam driver for SQLite";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "beam-th" = callPackage
@@ -40194,6 +40417,8 @@ self: {
        pname = "bifunctors";
        version = "5.5.11";
        sha256 = "070964w7gz578379lyj6xvdbcf367csmz22cryarjr5bz9r9csrb";
+       revision = "1";
+       editedCabalFile = "1xl5xqr76k7ixq2bjszjh83xkg3szarnzbrv2ahxnmmfbbl5whnc";
        libraryHaskellDepends = [
          base base-orphans comonad containers tagged template-haskell
          th-abstraction transformers
@@ -40409,7 +40634,7 @@ self: {
        license = lib.licenses.gpl2Plus;
      }) {};
 
-  "binary_0_8_8_0" = callPackage
+  "binary_0_8_9_0" = callPackage
     ({ mkDerivation, array, attoparsec, base, base-orphans, bytestring
      , Cabal, cereal, containers, criterion, deepseq, directory
      , filepath, generic-deriving, HUnit, mtl, QuickCheck, random
@@ -40418,8 +40643,8 @@ self: {
      }:
      mkDerivation {
        pname = "binary";
-       version = "0.8.8.0";
-       sha256 = "01dwxak6j4499599r22c422js68gn6irxfa3hplzhn7rrx82r6h5";
+       version = "0.8.9.0";
+       sha256 = "0nv1jpa4c982ic1pqi9nb7n1rsj1vwbi733yim3j3vh5pn45cv2v";
        libraryHaskellDepends = [ array base bytestring containers ];
        testHaskellDepends = [
          array base base-orphans bytestring Cabal containers directory
@@ -40572,15 +40797,16 @@ self: {
      }) {};
 
   "binary-generic-combinators" = callPackage
-    ({ mkDerivation, base, binary, generic-arbitrary, hspec, QuickCheck
+    ({ mkDerivation, base, binary, byte-order, generic-arbitrary, hspec
+     , QuickCheck
      }:
      mkDerivation {
        pname = "binary-generic-combinators";
-       version = "0.4.2.0";
-       sha256 = "1z1ngjcssb0nrkyd1chklmv19xf2qz7vqh2idsvkxa67ryp5g4a3";
+       version = "0.4.3.0";
+       sha256 = "1ng2jg3qpwplx9yjpmkj232rflyjnc3fymzjifqdwmvvzsdf9v4v";
        libraryHaskellDepends = [ base binary QuickCheck ];
        testHaskellDepends = [
-         base binary generic-arbitrary hspec QuickCheck
+         base binary byte-order generic-arbitrary hspec QuickCheck
        ];
        description = "Combinators and utilities to make Generic-based deriving of Binary easier and more expressive";
        license = lib.licenses.bsd3;
@@ -41422,7 +41648,7 @@ self: {
        license = "unknown";
        hydraPlatforms = lib.platforms.none;
        broken = true;
-     }) {inherit (pkgs) blas; liblapack = null;};
+     }) {inherit (pkgs) blas; inherit (pkgs) liblapack;};
 
   "bindings-libcddb" = callPackage
     ({ mkDerivation, base, bindings-DSL, libcddb }:
@@ -41652,6 +41878,9 @@ self: {
        libraryHaskellDepends = [ base bindings-DSL ];
        description = "parport bindings";
        license = lib.licenses.bsd3;
+       platforms = [
+         "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
+       ];
      }) {};
 
   "bindings-portaudio" = callPackage
@@ -43534,8 +43763,8 @@ self: {
      }:
      mkDerivation {
        pname = "blas-comfort-array";
-       version = "0.0.0.2";
-       sha256 = "1n9w905ppb08w0d8xbxvgipr9fv1iapwq3ybvk0dbj009w341kd1";
+       version = "0.0.0.3";
+       sha256 = "1g0bvag205ag520vlxv24cv63idjg6j8nwnadq9gbcibn4gvsisz";
        libraryHaskellDepends = [
          base blas-ffi comfort-array netlib-comfort-array netlib-ffi
          storable-complex transformers
@@ -44274,8 +44503,8 @@ self: {
      }:
      mkDerivation {
        pname = "blucontrol";
-       version = "0.6.0.0";
-       sha256 = "1rywy6r5wachz3y9vw1iy5b46fvlxcv5s33lrriffimqprkglbcj";
+       version = "0.7.0.0";
+       sha256 = "1h22r8l1hsdlzjcg7bdv5m9mlscpilcfg0brar0dy5rs7wghs4wj";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -44423,6 +44652,29 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "bnb-staking-csvs" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, cassava, cmdargs
+     , cointracking-imports, hedgehog, req, scientific, tasty
+     , tasty-hedgehog, tasty-hunit, text, time
+     }:
+     mkDerivation {
+       pname = "bnb-staking-csvs";
+       version = "0.2.0.0";
+       sha256 = "1m2bd6cwlgavq3nri3xwbqim2zikzv1dxqf5a5gxkqra1qgbvm4v";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring cassava cmdargs cointracking-imports req
+         scientific text time
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base hedgehog tasty tasty-hedgehog tasty-hunit
+       ];
+       description = "Generate CSV Exports of Your BNB Staking Rewards";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "bno055-haskell" = callPackage
     ({ mkDerivation, base, bytestring, cereal, h2c, mtl, resourcet }:
      mkDerivation {
@@ -45202,8 +45454,8 @@ self: {
     ({ mkDerivation, base, semigroups, zero }:
      mkDerivation {
        pname = "both";
-       version = "0.1.1.1";
-       sha256 = "0kdqz901fpdgggmkm9rpnpv7gma9c8d887bszhnz6xd3v96gg7xn";
+       version = "0.1.1.2";
+       sha256 = "1bf9fvc2ajbwwx31lmmyc1rzp3xzypwb3yjcmbhn6si5xnlbvqhl";
        libraryHaskellDepends = [ base semigroups zero ];
        description = "Like Maybe, but with a different Monoid instance";
        license = lib.licenses.mit;
@@ -45260,6 +45512,8 @@ self: {
        pname = "bound";
        version = "2.0.3";
        sha256 = "0rhpcz99sax81zh2k1ww7g2xgfcna56ppj9xc1l4gfnsrrlb27yg";
+       revision = "1";
+       editedCabalFile = "16hy32ccjrch3zw45282m630p5hk1hziapmmk8a5nis2mlkq6z2h";
        libraryHaskellDepends = [
          base bifunctors binary bytes cereal comonad deepseq hashable mmorph
          profunctors template-haskell th-abstraction transformers
@@ -46386,6 +46640,9 @@ self: {
        libraryHaskellDepends = [ base bytestring time unix ];
        description = "Bindings to the btrfs API";
        license = lib.licenses.bsd3;
+       platforms = [
+         "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
+       ];
      }) {};
 
   "buchhaltung" = callPackage
@@ -47273,6 +47530,8 @@ self: {
        ];
        description = "Library for creating command-line interfaces (colors, menus, etc.)";
        license = lib.licenses.bsd2;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "bytable" = callPackage
@@ -47293,8 +47552,8 @@ self: {
      }:
      mkDerivation {
        pname = "byte-count-reader";
-       version = "0.10.1.3";
-       sha256 = "1z02g8mkjwxdrbyxncbvrwg18knyiqa3w9n0x01y2xmbr279rsh0";
+       version = "0.10.1.5";
+       sha256 = "0iq40gnfw8z1rkri1rpaqx5av1ay45h6518cg0a0m4ypdzf03r0s";
        libraryHaskellDepends = [ base extra parsec parsec-numbers text ];
        testHaskellDepends = [
          base extra hspec parsec parsec-numbers text
@@ -47513,6 +47772,7 @@ self: {
        ];
        description = "Nonresumable byte parser";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "bytestring_0_11_1_0" = callPackage
@@ -48557,6 +48817,24 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "cabal-clean" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, mtl
+     , optparse-applicative, pretty-terminal, process, split, string-qq
+     }:
+     mkDerivation {
+       pname = "cabal-clean";
+       version = "0.1.20210815";
+       sha256 = "0bx11grnw1x594n6si3lnswb87n2gsnn7fn7lr1ggn3rd0dm2ccg";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base containers directory filepath mtl optparse-applicative
+         pretty-terminal process split string-qq
+       ];
+       description = "Remove outdated cabal build artefacts from `dist-newstyle`";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "cabal-constraints" = callPackage
     ({ mkDerivation, base, Cabal, optparse-applicative }:
      mkDerivation {
@@ -49197,8 +49475,8 @@ self: {
      }:
      mkDerivation {
        pname = "cabal-rpm";
-       version = "2.0.9";
-       sha256 = "1r6a0dki4wsrmq5xfjb9bkj0dl7cnhwdf46427k71ay90hmc6ncq";
+       version = "2.0.10";
+       sha256 = "028kvvdm8dqjmk16ag8p1mb4d3nfyz1i6x8ijfcr45hrb93hdd77";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -49483,8 +49761,8 @@ self: {
      }:
      mkDerivation {
        pname = "cabal2nix";
-       version = "2.17.0";
-       sha256 = "0y91agkhgpzzaf9l7l1h7x516iryj8z2vk1in1h7pyjlxaiak6lm";
+       version = "2.18.0";
+       sha256 = "11hzic1l7amd2hwqwgfmy2r855z9w0m2rvvx7r52x347q0nn142b";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -49757,6 +50035,22 @@ self: {
        license = lib.licenses.asl20;
      }) {};
 
+  "cached-json-file" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, directory, filepath
+     , http-query, time, xdg-basedir
+     }:
+     mkDerivation {
+       pname = "cached-json-file";
+       version = "0.1.0";
+       sha256 = "1w1zxzcbyf4c0p5hg4j2b531r6vg95745ah3qqwiafwb4z11l7ih";
+       libraryHaskellDepends = [
+         aeson base bytestring directory filepath http-query time
+         xdg-basedir
+       ];
+       description = "Locally cache a json file obtained by http";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "cached-traversable" = callPackage
     ({ mkDerivation, base, binary, bytestring, containers, directory
      , filepath, mtl
@@ -50181,8 +50475,8 @@ self: {
      }:
      mkDerivation {
        pname = "calamity";
-       version = "0.1.30.3";
-       sha256 = "0r6vrcdqqf6a8rihjgppmp625ws5vmsmq98i177xfg14hsal49pp";
+       version = "0.1.30.4";
+       sha256 = "038df356by37c1wj5i0a31hihxad44bbks1fb6xbx2abzp3343ji";
        libraryHaskellDepends = [
          aeson async base bytestring calamity-commands colour
          concurrent-extra connection containers data-default-class
@@ -50788,6 +51082,30 @@ self: {
        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";
+       libraryHaskellDepends = [
+         base constraints dlist exceptions generic-lens lens monad-control
+         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;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "capataz" = callPackage
     ({ mkDerivation, async, base, bytestring, pretty-show
      , prettyprinter, rio, tasty, tasty-hunit, tasty-smallcheck
@@ -50813,39 +51131,45 @@ self: {
 
   "capnp" = callPackage
     ({ mkDerivation, async, base, bifunctors, bytes, bytestring
-     , containers, cpu, data-default, data-default-instances-vector
-     , deepseq, directory, exceptions, filepath, focus, hashable
-     , heredoc, hspec, list-t, monad-stm, mtl, network, network-simple
-     , pretty-show, primitive, process, process-extras, QuickCheck
+     , containers, criterion, data-default
+     , data-default-instances-vector, deepseq, directory, exceptions
+     , filepath, focus, ghc-prim, hashable, heredoc, hspec, lifetimes
+     , list-t, monad-stm, mtl, network, network-simple, pretty-show
+     , primitive, process, process-extras, QuickCheck
      , quickcheck-instances, quickcheck-io, resourcet, safe-exceptions
      , stm, stm-containers, supervisors, template-haskell, text
      , transformers, vector, wl-pprint-text
      }:
      mkDerivation {
        pname = "capnp";
-       version = "0.10.0.1";
-       sha256 = "1p5vx7gcswz08f790swb8pi2ckbphqr76j8gav4rvrbalscd3zvf";
+       version = "0.14.0.0";
+       sha256 = "15v0s597wq0ipvikd727fzcqg5r6685lvr8y1x93q5mdl975gi8m";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         async base bytes bytestring containers cpu data-default
-         data-default-instances-vector exceptions focus hashable list-t
-         monad-stm mtl network network-simple pretty-show primitive
-         safe-exceptions stm stm-containers supervisors template-haskell
-         text transformers vector
+         async base bytes bytestring containers data-default
+         data-default-instances-vector exceptions focus ghc-prim hashable
+         lifetimes list-t monad-stm mtl network network-simple pretty-show
+         primitive safe-exceptions stm stm-containers supervisors
+         template-haskell text transformers vector
        ];
        executableHaskellDepends = [
          base bifunctors bytes bytestring containers data-default directory
-         exceptions filepath monad-stm mtl primitive safe-exceptions text
-         transformers vector wl-pprint-text
+         exceptions filepath ghc-prim monad-stm mtl primitive
+         safe-exceptions text transformers vector wl-pprint-text
        ];
        testHaskellDepends = [
          async base bytes bytestring containers data-default deepseq
-         directory exceptions heredoc hspec monad-stm mtl network
+         directory exceptions ghc-prim heredoc hspec monad-stm mtl network
          network-simple pretty-show primitive process process-extras
          QuickCheck quickcheck-instances quickcheck-io resourcet
          safe-exceptions stm supervisors text transformers vector
        ];
+       benchmarkHaskellDepends = [
+         base bytes bytestring containers criterion data-default deepseq
+         exceptions ghc-prim monad-stm mtl primitive process-extras
+         safe-exceptions text transformers vector
+       ];
        description = "Cap'n Proto for Haskell";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
@@ -53342,7 +53666,8 @@ self: {
        description = "Character set detection using Mozilla's Universal Character Set Detector";
        license = "LGPL";
        platforms = [
-         "armv7l-linux" "i686-linux" "x86_64-darwin" "x86_64-linux"
+         "aarch64-darwin" "armv7l-linux" "i686-linux" "x86_64-darwin"
+         "x86_64-linux"
        ];
      }) {};
 
@@ -53522,20 +53847,18 @@ self: {
 
   "chassis" = callPackage
     ({ mkDerivation, base, bytestring, comonad, composite-base
-     , containers, contravariant, distributive, either, exceptions
-     , extra, first-class-families, path, profunctors, rio, text, time
-     , vinyl
+     , containers, distributive, extra, first-class-families, path
+     , profunctors, text, time, vinyl
      }:
      mkDerivation {
        pname = "chassis";
-       version = "0.0.5.0";
-       sha256 = "0f9iipl7l9jhi6754yysk9kkliiab60ds95k8r4gjcch3hh4zbcj";
+       version = "0.0.6.0";
+       sha256 = "0lb2hkyzyq7rm3h6s5n16v4zvqsan98p3k3a1fig9gf61538rkvy";
        libraryHaskellDepends = [
-         base bytestring comonad composite-base containers contravariant
-         distributive either exceptions extra first-class-families path
-         profunctors rio text time vinyl
+         base bytestring comonad composite-base containers distributive
+         extra first-class-families path profunctors text time vinyl
        ];
-       description = "Prelude with algebraic constructs and polykinds on";
+       description = "Polykinded Prelude Kernel";
        license = lib.licenses.mit;
      }) {};
 
@@ -53921,8 +54244,8 @@ self: {
      }:
      mkDerivation {
        pname = "chessIO";
-       version = "0.8.0.0";
-       sha256 = "16xgq8xvfvk6rsjzaimd29b867ffml2h9nldsy5d5sninbmbq0k8";
+       version = "0.9.1.0";
+       sha256 = "19lkjrqji01kmfjm065xmlxsrwwr0z2vz2cz19wr0bx6sz4hw3zr";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -54021,14 +54344,14 @@ self: {
      }) {};
 
   "chimera" = callPackage
-    ({ mkDerivation, adjunctions, base, distributive, gauge, mtl
-     , QuickCheck, random, tasty, tasty-hunit, tasty-quickcheck
+    ({ mkDerivation, adjunctions, base, distributive, mtl, QuickCheck
+     , random, tasty, tasty-bench, tasty-hunit, tasty-quickcheck
      , tasty-smallcheck, vector
      }:
      mkDerivation {
        pname = "chimera";
-       version = "0.3.1.0";
-       sha256 = "09dk9x2har2k6apm1wlm2k5k97jf3qxy4rzx94rbfmhs5fhz0i99";
+       version = "0.3.2.0";
+       sha256 = "1p8in1a37hrb0qwvabwi4a9ahzydkd8j3v402cn2i3xmkzcr0kh9";
        libraryHaskellDepends = [
          adjunctions base distributive mtl vector
        ];
@@ -54036,8 +54359,8 @@ self: {
          base QuickCheck tasty tasty-hunit tasty-quickcheck tasty-smallcheck
          vector
        ];
-       benchmarkHaskellDepends = [ base gauge mtl random ];
-       description = "Lazy infinite streams with O(1) indexing";
+       benchmarkHaskellDepends = [ base mtl random tasty-bench ];
+       description = "Lazy infinite streams with O(1) indexing and applications for memoization";
        license = lib.licenses.bsd3;
      }) {};
 
@@ -54462,10 +54785,8 @@ self: {
     ({ mkDerivation, base, Cabal, chs-deps }:
      mkDerivation {
        pname = "chs-cabal";
-       version = "0.1.1.0";
-       sha256 = "0zan47md9zivzc1gd1j1g0200n8d0ffx4dcmkd9vriqjsdwhqvl5";
-       revision = "2";
-       editedCabalFile = "1axn8xmnrk42j1b8bxykbrqjy1ia0ajg27jirjb2gix1vvvpxb1d";
+       version = "0.1.1.1";
+       sha256 = "0fvf26394rpn9g4f3rp13bq8rrhzs9d95k7nbcpayzml2j9rsv3l";
        libraryHaskellDepends = [ base Cabal chs-deps ];
        description = "Cabal with c2hs dependencies";
        license = lib.licenses.bsd3;
@@ -54985,8 +55306,21 @@ self: {
        benchmarkHaskellDepends = [ base criterion vector ];
        description = "Circular fixed-sized mutable vectors";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
+     }) {};
+
+  "circus" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, mtl, syb
+     , text
+     }:
+     mkDerivation {
+       pname = "circus";
+       version = "0.1.0.0";
+       sha256 = "07pdn24llhi7lrxvdcn097dw7d7a4z3yn7z1srymiafb5csg8vlf";
+       libraryHaskellDepends = [
+         aeson base bytestring containers mtl syb text
+       ];
+       description = "Types and a small DSL for working with netlistsvg";
+       license = lib.licenses.bsd3;
      }) {};
 
   "cirru-parser" = callPackage
@@ -55078,6 +55412,33 @@ self: {
        license = lib.licenses.bsd2;
      }) {};
 
+  "citeproc_0_5" = 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.5";
+       sha256 = "14l7gpa2phgmgcx2mdln1wf1gfqjmbkm5nyxnihrybmrkg9l8yfk";
+       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;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "citeproc-hs" = callPackage
     ({ mkDerivation, base, bytestring, containers, directory, filepath
      , hexpat, hs-bibutils, HTTP, json, mtl, network, network-uri
@@ -55427,8 +55788,8 @@ self: {
      }:
      mkDerivation {
        pname = "clash-ghc";
-       version = "1.4.2";
-       sha256 = "04sj88mcxszgbr8rxnrwa48r2pkf7h612507gcyk131f5kf6mkss";
+       version = "1.4.3";
+       sha256 = "00ipx45s2qdjv5cj6v3cg7dgwsw3sd8ai3cr1q9n1k6g26dzc3pw";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -55463,8 +55824,8 @@ self: {
      }:
      mkDerivation {
        pname = "clash-lib";
-       version = "1.4.2";
-       sha256 = "1gismfz0pahhgfgra8kn34i3g82ip5nfy9aj38ym3rcnpg4aw10m";
+       version = "1.4.3";
+       sha256 = "0p6sf9wn25i1f0isqskpy35x6qm2ym63x9fpb54kbd1pp9xqgysl";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson aeson-pretty ansi-terminal array attoparsec base
@@ -55519,8 +55880,8 @@ self: {
      }:
      mkDerivation {
        pname = "clash-prelude";
-       version = "1.4.2";
-       sha256 = "04hshjdddd9sk697zvbwlq6cdvyvdfrw670ksfdxxgssyrcsid95";
+       version = "1.4.3";
+       sha256 = "07mdl3196yb971hpcbysyaj6vciyrm1p5m9prcymkhkqh7vw9igy";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          array arrows base bifunctors binary bytestring constraints
@@ -55559,6 +55920,26 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "clash-shake" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, clash-ghc, clash-lib
+     , clash-prelude, directory, ghc-typelits-extra
+     , ghc-typelits-knownnat, ghc-typelits-natnormalise, shake, split
+     , stache, text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "clash-shake";
+       version = "0.1.0";
+       sha256 = "0zjlbi8p0wxaxgfxhljbp9vzhki3ll8g1qqv3gghqkh7cym73kgq";
+       libraryHaskellDepends = [
+         aeson base bytestring clash-ghc clash-lib clash-prelude directory
+         ghc-typelits-extra ghc-typelits-knownnat ghc-typelits-natnormalise
+         shake split stache text unordered-containers
+       ];
+       description = "Shake rules for building Clash programs";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "clash-systemverilog" = callPackage
     ({ mkDerivation, base, clash-lib, clash-prelude, fgl, hashable
      , lens, mtl, text, unordered-containers, wl-pprint-text
@@ -55613,6 +55994,30 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "clashilator" = callPackage
+    ({ mkDerivation, aeson, base, Cabal, clash-ghc, clash-lib
+     , containers, filepath, ghc, lens, optparse-applicative, shake
+     , stache, text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "clashilator";
+       version = "0.1.0";
+       sha256 = "0nlyjhf4vy5ypimdv3ac9qw9aljm2k99y42b2pkhhw84iblv4qgy";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base Cabal clash-ghc clash-lib containers filepath ghc lens
+         optparse-applicative shake stache text unordered-containers
+       ];
+       executableHaskellDepends = [
+         aeson base Cabal clash-ghc clash-lib containers filepath ghc lens
+         optparse-applicative shake stache text unordered-containers
+       ];
+       description = "Automated Clash to Verilator bridge";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "classify" = callPackage
     ({ mkDerivation, base, containers, mtl }:
      mkDerivation {
@@ -55818,8 +56223,8 @@ self: {
      }:
      mkDerivation {
        pname = "clckwrks";
-       version = "0.26.3";
-       sha256 = "119hybfny3sriscgk8zjf56yfc36jxnzydkhb04wxfip9r84mn03";
+       version = "0.26.4";
+       sha256 = "0gvfplid34idkfg5s7dvcwg22ij3fryn82hz958z2960a4jb7ngv";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          acid-state aeson aeson-qq attoparsec base blaze-html bytestring
@@ -56039,8 +56444,8 @@ self: {
      }:
      mkDerivation {
        pname = "clckwrks-theme-bootstrap";
-       version = "0.4.2.4";
-       sha256 = "0ay3rb6vfzvb43mwhjzgdf3cp7dcya0l9sl7msns0niak4xmnz1l";
+       version = "0.4.3";
+       sha256 = "01hs4rh89zp0y2gkfam27kdwywh5fqr10pzwf1d4c92kpnz9xd5d";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base clckwrks happstack-authenticate hsp hsx-jmacro hsx2hs jmacro
@@ -56690,13 +57095,13 @@ self: {
 
   "closed-intervals" = callPackage
     ({ mkDerivation, base, containers, doctest-exitcode-stdio
-     , doctest-lib, QuickCheck, time, utility-ht
+     , doctest-lib, filtrable, QuickCheck, time, utility-ht
      }:
      mkDerivation {
        pname = "closed-intervals";
-       version = "0.1.1.0";
-       sha256 = "0wmxacb9msr7bip5pz9qwgvg9kgvpyylps6xhsg85blhd2bplmbi";
-       libraryHaskellDepends = [ base containers time ];
+       version = "0.2.0.0";
+       sha256 = "0d9zv0chib2z8q6pnssm2k8cy5lh4sszq5bqypwsbwa76mhz7yxw";
+       libraryHaskellDepends = [ base containers filtrable time ];
        testHaskellDepends = [
          base containers doctest-exitcode-stdio doctest-lib QuickCheck time
          utility-ht
@@ -57538,8 +57943,8 @@ self: {
     ({ mkDerivation, base, co-log-core, stm }:
      mkDerivation {
        pname = "co-log-concurrent";
-       version = "0.5.0.0";
-       sha256 = "07z4aklk7dc2fhbc30kd9hbdvq71sa4ip6r2pyifcpn3p2pr3mna";
+       version = "0.5.1.0";
+       sha256 = "07qmx9z03vmgq2cgz4352fsav7r1nx8n7svmrhg2lkdiyp0j7a59";
        libraryHaskellDepends = [ base co-log-core stm ];
        description = "Asynchronous backend for co-log library";
        license = lib.licenses.mpl20;
@@ -57750,8 +58155,8 @@ self: {
      }:
      mkDerivation {
        pname = "code-conjure";
-       version = "0.3.6";
-       sha256 = "01qgxzh9gnajpaqwbvk027y8q8zalxk3d9axxyq6l30mxgjjacsk";
+       version = "0.4.2";
+       sha256 = "1y8pg8siz4myia38bbyzaibargkjbsls57i9n79w0z63kqij6wn4";
        libraryHaskellDepends = [
          base express leancheck speculate template-haskell
        ];
@@ -58062,10 +58467,8 @@ self: {
     ({ mkDerivation, base, profunctors }:
      mkDerivation {
        pname = "coercible-subtypes";
-       version = "0.1.0.0";
-       sha256 = "1z5fmdgv52x410x2z4gxyac18f98226dymzdvhcvkx7mw2k9q44x";
-       revision = "1";
-       editedCabalFile = "05bd9lp5jp31ac039vq0p58kr03g5ai3cyymc4ikhbnl3x44hx4d";
+       version = "0.1.1.0";
+       sha256 = "1q6a38y49a31vl19i5c5kym36fjxspxj6vfi0b35j4gb9b7r642r";
        libraryHaskellDepends = [ base profunctors ];
        description = "Coercible but only in one direction";
        license = lib.licenses.bsd3;
@@ -58240,30 +58643,30 @@ self: {
 
   "coinbase-pro" = callPackage
     ({ mkDerivation, aeson, aeson-casing, async, base, binary
-     , bytestring, containers, cryptonite, HsOpenSSL, http-api-data
-     , http-client, http-client-tls, http-streams, http-types
-     , io-streams, memory, network, servant, servant-client
+     , bytestring, containers, cryptonite, exceptions, HsOpenSSL
+     , http-api-data, http-client, http-client-tls, http-streams
+     , http-types, io-streams, memory, network, servant, servant-client
      , servant-client-core, text, time, transformers, unagi-streams
      , unordered-containers, uuid, vector, websockets, wuss
      }:
      mkDerivation {
        pname = "coinbase-pro";
-       version = "0.9.2.0";
-       sha256 = "0x7wmm123rf7zk9802bymx1b9pbsnmzhkabyacwini01gb56bwxy";
+       version = "0.9.2.2";
+       sha256 = "1jfmzzwjk81w5bm9v4zfan2w7qi2sl2a1py9nxisz1wq8vxdyvxn";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson aeson-casing async base binary bytestring containers
-         cryptonite HsOpenSSL http-api-data http-client http-client-tls
-         http-streams http-types io-streams memory network servant
-         servant-client servant-client-core text time transformers
+         cryptonite exceptions HsOpenSSL http-api-data http-client
+         http-client-tls http-streams http-types io-streams memory network
+         servant servant-client servant-client-core text time transformers
          unagi-streams unordered-containers uuid vector websockets wuss
        ];
        executableHaskellDepends = [
          aeson aeson-casing async base binary bytestring containers
-         cryptonite HsOpenSSL http-api-data http-client http-client-tls
-         http-streams http-types io-streams memory network servant
-         servant-client servant-client-core text time transformers
+         cryptonite exceptions HsOpenSSL http-api-data http-client
+         http-client-tls http-streams http-types io-streams memory network
+         servant servant-client servant-client-core text time transformers
          unagi-streams unordered-containers uuid vector websockets wuss
        ];
        description = "Client for Coinbase Pro";
@@ -58273,18 +58676,19 @@ self: {
      }) {};
 
   "coincident-root-loci" = callPackage
-    ({ mkDerivation, array, base, combinat, containers, random, tasty
-     , tasty-hunit, transformers
+    ({ mkDerivation, array, base, combinat, containers
+     , polynomial-algebra, random, tasty, tasty-hunit, transformers
      }:
      mkDerivation {
        pname = "coincident-root-loci";
-       version = "0.2";
-       sha256 = "0p6wm5gd57m809cqr0p3hb29drs1q25f539j2pf1cw03hlkahpxh";
+       version = "0.3";
+       sha256 = "1m7a1f2qxkq4jgbvmyn8zzz6pq44a4cfkkm74zlssg74xmx0d4ir";
        libraryHaskellDepends = [
-         array base combinat containers random transformers
+         array base combinat containers polynomial-algebra random
+         transformers
        ];
        testHaskellDepends = [
-         array base combinat containers tasty tasty-hunit
+         array base combinat containers polynomial-algebra tasty tasty-hunit
        ];
        description = "Equivariant CSM classes of coincident root loci";
        license = lib.licenses.bsd3;
@@ -58292,6 +58696,27 @@ self: {
        broken = true;
      }) {};
 
+  "cointracking-imports" = callPackage
+    ({ mkDerivation, base, base-compat-batteries, bytestring, cassava
+     , filepath, hedgehog, lens, scientific, tasty, tasty-hedgehog
+     , tasty-hunit, text, time, xlsx
+     }:
+     mkDerivation {
+       pname = "cointracking-imports";
+       version = "0.1.0.1";
+       sha256 = "19in8n8sigcbph29cgrbg1ccbxzadav1siryfjfc1g112p6mrf91";
+       libraryHaskellDepends = [
+         base base-compat-batteries bytestring cassava filepath lens
+         scientific text time xlsx
+       ];
+       testHaskellDepends = [
+         base base-compat-batteries bytestring cassava filepath hedgehog
+         lens scientific tasty tasty-hedgehog tasty-hunit text time xlsx
+       ];
+       description = "Generate CSV & XLSX files for importing into CoinTracking";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "colada" = callPackage
     ({ mkDerivation, base, bytestring, cereal, cmdargs, containers
      , fclabels, ghc-prim, ListZipper, monad-atom, mtl, nlp-scores
@@ -59029,6 +59454,75 @@ self: {
        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 {
+       pname = "comfort-array";
+       version = "0.5.1";
+       sha256 = "0kx4z07a15jrc3dzaxx1335j1wxkgkajmyiraf5wb18l3xyd36b4";
+       libraryHaskellDepends = [
+         base containers deepseq guarded-allocation non-empty prelude-compat
+         primitive QuickCheck semigroups storable-record storablevector
+         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;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
+  "comfort-array-shape" = callPackage
+    ({ mkDerivation, base, ChasingBottoms, comfort-array, containers
+     , doctest-exitcode-stdio, doctest-lib, fixed-length, non-empty
+     , QuickCheck, tagged, tfp, utility-ht
+     }:
+     mkDerivation {
+       pname = "comfort-array-shape";
+       version = "0.0";
+       sha256 = "0caw0d9566qi9difgprfg3g9yqfiks2ycqjbr7wx7xcplagqdcn7";
+       libraryHaskellDepends = [
+         base comfort-array fixed-length non-empty tfp utility-ht
+       ];
+       testHaskellDepends = [
+         base ChasingBottoms comfort-array containers doctest-exitcode-stdio
+         doctest-lib fixed-length QuickCheck tagged tfp
+       ];
+       doHaddock = false;
+       description = "Additional shape types for the comfort-array package";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "comfort-fftw" = callPackage
+    ({ mkDerivation, base, comfort-array, deepseq
+     , doctest-exitcode-stdio, doctest-lib, fftw-ffi, netlib-ffi
+     , non-empty, QuickCheck, storable-record
+     }:
+     mkDerivation {
+       pname = "comfort-fftw";
+       version = "0.0";
+       sha256 = "1g43fj1wmzdsfqz9axrq35bp2ad2900zcqvf9b2w57k3pl2cdk65";
+       libraryHaskellDepends = [
+         base comfort-array deepseq fftw-ffi netlib-ffi QuickCheck
+       ];
+       testHaskellDepends = [
+         base comfort-array deepseq doctest-exitcode-stdio doctest-lib
+         netlib-ffi non-empty QuickCheck storable-record
+       ];
+       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
@@ -59122,16 +59616,21 @@ self: {
      }) {};
 
   "commander-cli" = callPackage
-    ({ mkDerivation, base, bytestring, commandert, containers, mtl
-     , text, unordered-containers
+    ({ mkDerivation, base, bytestring, commandert, containers
+     , directory, mtl, process, text, unordered-containers
      }:
      mkDerivation {
        pname = "commander-cli";
-       version = "0.10.1.2";
-       sha256 = "0hkz657j9rpmda1rr4v7696216xxwjwpzgc5npg5ajhdk74w1vz0";
+       version = "0.10.2.0";
+       sha256 = "1cp7g04ag1pkcqlckpzxfq3x4vw7yd6v9vzhhp228pjc1f36iqgx";
+       isLibrary = true;
+       isExecutable = true;
        libraryHaskellDepends = [
          base bytestring commandert containers mtl text unordered-containers
        ];
+       executableHaskellDepends = [
+         base commandert directory mtl process text
+       ];
        testHaskellDepends = [ base commandert text unordered-containers ];
        description = "A command line argument/option parser library";
        license = lib.licenses.mit;
@@ -59141,8 +59640,8 @@ self: {
     ({ mkDerivation, base, hspec, mtl }:
      mkDerivation {
        pname = "commandert";
-       version = "0.1.0.0";
-       sha256 = "0r4qkiw4jzqjkzcimpm6adwq56gj31sqrm0cjddhlwskjbp73g71";
+       version = "0.1.1.0";
+       sha256 = "0li8ja7j8386k5j7l6vczq3g74bnj0qrz4n4f1hkgf82sg333jxz";
        libraryHaskellDepends = [ base mtl ];
        testHaskellDepends = [ base hspec mtl ];
        description = "A monad for commanders";
@@ -59315,6 +59814,8 @@ self: {
        pname = "comonad";
        version = "5.0.8";
        sha256 = "04rxycp2pbkrvhjgpgx08jmsipjz4cdmhv59dbp47k4jq8ndyv7g";
+       revision = "1";
+       editedCabalFile = "0zlgkcd61cwsdbgjz03pfbjxhj6dc25792h7rwh0zy677vbsn6hz";
        libraryHaskellDepends = [
          base containers distributive indexed-traversable tagged
          transformers transformers-compat
@@ -59536,8 +60037,8 @@ self: {
     ({ mkDerivation, base, containers, transformers, vector }:
      mkDerivation {
        pname = "compactable";
-       version = "0.1.2.3";
-       sha256 = "1qw47ps6bnp6xwaksqq7plry0ivsm18f0vf79yi1n755w6p49648";
+       version = "0.1.2.4";
+       sha256 = "13lynjbwr78jy3j0zx6g2rk8qvyzkgw1smriqm6sslp3nn0v1g4r";
        libraryHaskellDepends = [ base containers transformers vector ];
        description = "A typeclass for structures which can be catMaybed, filtered, and partitioned";
        license = lib.licenses.bsd3;
@@ -59677,8 +60178,10 @@ self: {
      }:
      mkDerivation {
        pname = "compdoc";
-       version = "0.2.0.0";
-       sha256 = "0cdgyvbx2xf7dgvg0h6k980yfh9vj7yg5vsg08i7cb8iik2w0k0m";
+       version = "0.3.0.0";
+       sha256 = "07gbs64r8qsxw4j0mlk7kldbdjjzz4v34pm8b5cj7a6r1l33w7k5";
+       revision = "4";
+       editedCabalFile = "14p4gi1wyiwv738m505j6j2v8j2dimw1gp6qb7wfq4f8mf53lpll";
        libraryHaskellDepends = [
          aeson base composite-aeson composite-aeson-throw composite-base
          pandoc pandoc-throw path rio vinyl
@@ -59693,10 +60196,10 @@ self: {
      }:
      mkDerivation {
        pname = "compdoc-dhall-decoder";
-       version = "0.2.0.0";
-       sha256 = "0iygbgcqcs3ixdnphhrp57s1ihpwnf9q59z7r74qqj7qx1yjrxig";
+       version = "0.3.0.0";
+       sha256 = "0qsq67zj8gr9xlgcbxgn5fi1cyv4qf7w5vzfl3v4hvil7xf3fn77";
        revision = "1";
-       editedCabalFile = "1g15qxkxfipvf6al3k8bdcvvcl1vyhjhg3r1w2z2g91ngz0b5y18";
+       editedCabalFile = "0k08bcjjnvs54fjvxzy1hv7zp7z2n0iydsiix83x6a2jii7105v4";
        libraryHaskellDepends = [
          base compdoc composite-aeson composite-base dhall either pandoc
          text
@@ -60044,6 +60547,24 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "composite-dhall" = callPackage
+    ({ mkDerivation, base, composite-base, dhall, tasty, tasty-hunit
+     , text
+     }:
+     mkDerivation {
+       pname = "composite-dhall";
+       version = "0.0.4.1";
+       sha256 = "19lhw02my7dv6gx2zlvmsbc2w4g09j1yxpwg6s203bd5n4dp5v9v";
+       libraryHaskellDepends = [ base composite-base dhall text ];
+       testHaskellDepends = [
+         base composite-base dhall tasty tasty-hunit text
+       ];
+       description = "Dhall instances for composite records";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "composite-ekg" = callPackage
     ({ mkDerivation, base, composite-base, ekg-core, lens, text, vinyl
      }:
@@ -60069,6 +60590,17 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "composite-lens-extra" = callPackage
+    ({ mkDerivation, base, composite-base, lens, vinyl }:
+     mkDerivation {
+       pname = "composite-lens-extra";
+       version = "0.0.1.0";
+       sha256 = "1dcasjymwkgkbpx0ynmdagpazfdnrjidvn5fywnm1jf1r08armzy";
+       libraryHaskellDepends = [ base composite-base lens vinyl ];
+       description = "Extra lens functions for composite";
+       license = lib.licenses.mit;
+     }) {};
+
   "composite-opaleye" = callPackage
     ({ mkDerivation, base, bytestring, composite-base, hspec, lens
      , opaleye, postgresql-simple, product-profunctors, profunctors
@@ -60120,6 +60652,8 @@ self: {
        pname = "composite-tuple";
        version = "0.1.2.0";
        sha256 = "0y5xz4q5z2lw3jy3fdm5rl19sd969cdpq1a44ar45dpab0qffr41";
+       revision = "1";
+       editedCabalFile = "0j7mj8g3v4x0vy4rbx00kxb7d41r3s3djbfin9f1h592ahyap1va";
        libraryHaskellDepends = [ base composite-base ];
        description = "Tuple functions for composite records";
        license = lib.licenses.mit;
@@ -60395,15 +60929,12 @@ self: {
      }) {};
 
   "conceit" = callPackage
-    ({ mkDerivation, base, bifunctors, semigroupoids, semigroups, void
-     }:
+    ({ mkDerivation, base }:
      mkDerivation {
        pname = "conceit";
-       version = "0.4.0.0";
-       sha256 = "02wq99h7rnsvzkkm6i7x6qk7d4fiy6llg5yr75h2zks387yalwl9";
-       libraryHaskellDepends = [
-         base bifunctors semigroupoids semigroups void
-       ];
+       version = "0.5.0.0";
+       sha256 = "0aprzrslrbsl3d7j49nmx0kxx71m39zi7xlfyw8wnazqpi8mfwwb";
+       libraryHaskellDepends = [ base ];
        description = "Concurrent actions that may fail with a value";
        license = lib.licenses.bsd3;
      }) {};
@@ -60636,8 +61167,8 @@ self: {
      }:
      mkDerivation {
        pname = "concurrency";
-       version = "1.11.0.1";
-       sha256 = "0ds55wpkxlrw2x5ql34p9b05xlycnc4v7962f27a54nhrjfhb2ah";
+       version = "1.11.0.2";
+       sha256 = "0c7nq4d29s49a3h9wzjdi3idm6r68vxn6ybphsbrk2vmwqyfq36y";
        libraryHaskellDepends = [
          array atomic-primops base exceptions monad-control mtl stm
          transformers
@@ -62919,6 +63450,8 @@ 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
@@ -63091,14 +63624,14 @@ self: {
   "contiguous" = callPackage
     ({ mkDerivation, base, deepseq, primitive, primitive-unlifted
      , QuickCheck, quickcheck-classes, quickcheck-instances, random
-     , random-shuffle, vector, weigh
+     , random-shuffle, run-st, vector, weigh
      }:
      mkDerivation {
        pname = "contiguous";
-       version = "0.5.1";
-       sha256 = "1y02gqgd012zggs7kqxkky0prmbl0k9ji5ynb74i5mym88xrj67h";
+       version = "0.5.2";
+       sha256 = "04ylz0mld2yj0mdj88k38jw9330p88h0ga46p4wzlmazsy0p5s67";
        libraryHaskellDepends = [
-         base deepseq primitive primitive-unlifted
+         base deepseq primitive primitive-unlifted run-st
        ];
        testHaskellDepends = [
          base primitive QuickCheck quickcheck-classes quickcheck-instances
@@ -63109,6 +63642,8 @@ self: {
        ];
        description = "Unified interface for primitive arrays";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "contiguous-checked" = callPackage
@@ -63133,6 +63668,7 @@ self: {
        libraryHaskellDepends = [ base contiguous primitive semirings ];
        description = "dft of contiguous memory structures";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "continue" = callPackage
@@ -63245,8 +63781,8 @@ self: {
     ({ mkDerivation, base, StateVar, transformers }:
      mkDerivation {
        pname = "contravariant";
-       version = "1.5.3";
-       sha256 = "1haxsq7jl95gzmbjdr2pgza9b7j0j3f26wwkf494gphz6c76yls4";
+       version = "1.5.5";
+       sha256 = "1ynz89vfn7czxpa203zmdqknkvpylzzl9rlkpasx1anph1jxcbq6";
        libraryHaskellDepends = [ base StateVar transformers ];
        description = "Contravariant functors";
        license = lib.licenses.bsd3;
@@ -64678,6 +65214,8 @@ self: {
        pname = "cpuid";
        version = "0.2.3";
        sha256 = "126xg98yaf3q61h85yrs1cm6wxlayf590l0a3h0gw6c282s8l6gq";
+       revision = "1";
+       editedCabalFile = "1nq08npkjpl4j047d268qrwxii5xhc30iwji7azkc8dh2gja6g2j";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base data-accessor enumset ];
@@ -64726,7 +65264,7 @@ self: {
        license = lib.licenses.gpl3Only;
        hydraPlatforms = lib.platforms.none;
        broken = true;
-     }) {python3 = null;};
+     }) {inherit (pkgs) python3;};
 
   "cql" = callPackage
     ({ mkDerivation, base, bytestring, cereal, containers, Decimal
@@ -64999,7 +65537,8 @@ self: {
        description = "Crack various integer, floating-point data formats";
        license = lib.licenses.bsd3;
        platforms = [
-         "armv7l-linux" "i686-linux" "x86_64-darwin" "x86_64-linux"
+         "aarch64-darwin" "armv7l-linux" "i686-linux" "x86_64-darwin"
+         "x86_64-linux"
        ];
        hydraPlatforms = lib.platforms.none;
      }) {};
@@ -65020,7 +65559,8 @@ self: {
        description = "Crack various integer and floating-point data formats";
        license = lib.licenses.bsd3;
        platforms = [
-         "armv7l-linux" "i686-linux" "x86_64-darwin" "x86_64-linux"
+         "aarch64-darwin" "armv7l-linux" "i686-linux" "x86_64-darwin"
+         "x86_64-linux"
        ];
      }) {};
 
@@ -65040,7 +65580,8 @@ self: {
        description = "Crack various integer and floating-point data formats";
        license = lib.licenses.bsd3;
        platforms = [
-         "armv7l-linux" "i686-linux" "x86_64-darwin" "x86_64-linux"
+         "aarch64-darwin" "armv7l-linux" "i686-linux" "x86_64-darwin"
+         "x86_64-linux"
        ];
        hydraPlatforms = lib.platforms.none;
      }) {};
@@ -65282,8 +65823,8 @@ self: {
      }:
      mkDerivation {
        pname = "creatur";
-       version = "5.9.28";
-       sha256 = "11fscbkzyzajgg6m50s5x4rmxy1mxrgiqflamqxiwsyj9szw16xl";
+       version = "5.9.30";
+       sha256 = "1zxg8zkm1n78c80z6xqnnx6x8jzpfx0lfdjn26i9p3rr3wd78bf3";
        libraryHaskellDepends = [
          array base binary bytestring cereal cond directory exceptions
          filepath gray-extended hdaemonize hsyslog MonadRandom mtl random
@@ -65511,6 +66052,44 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "criterion_1_5_10_0" = callPackage
+    ({ mkDerivation, aeson, ansi-wl-pprint, base, base-compat
+     , base-compat-batteries, binary, binary-orphans, bytestring
+     , cassava, code-page, containers, criterion-measurement, deepseq
+     , directory, exceptions, filepath, Glob, HUnit, js-chart
+     , microstache, mtl, mwc-random, optparse-applicative, parsec
+     , QuickCheck, statistics, tasty, tasty-hunit, tasty-quickcheck
+     , text, time, transformers, transformers-compat, vector
+     , vector-algorithms
+     }:
+     mkDerivation {
+       pname = "criterion";
+       version = "1.5.10.0";
+       sha256 = "0akws27z3i9381xrb0p0h5qicz4w5nnxy8jq7gk68gi50gj0flxq";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson ansi-wl-pprint base base-compat-batteries binary
+         binary-orphans bytestring cassava code-page containers
+         criterion-measurement deepseq directory exceptions filepath Glob
+         js-chart microstache mtl mwc-random optparse-applicative parsec
+         statistics text time transformers transformers-compat vector
+         vector-algorithms
+       ];
+       executableHaskellDepends = [
+         base base-compat-batteries optparse-applicative
+       ];
+       testHaskellDepends = [
+         aeson base base-compat base-compat-batteries bytestring deepseq
+         directory HUnit QuickCheck statistics tasty tasty-hunit
+         tasty-quickcheck vector
+       ];
+       description = "Robust, reliable performance measurement and analysis";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "criterion-cmp" = callPackage
     ({ mkDerivation, ansi-terminal, base, boxes, bytestring, cassava
      , containers, filepath, optparse-applicative, vector
@@ -66164,19 +66743,19 @@ self: {
      }) {};
 
   "crypto-sodium" = callPackage
-    ({ mkDerivation, base, base16-bytestring, bytestring, cereal
-     , hedgehog, HUnit, libsodium, memory, NaCl, safe-exceptions, tasty
-     , tasty-discover, tasty-hedgehog, tasty-hunit
+    ({ mkDerivation, base, base16, bytestring, cereal, deepseq
+     , hedgehog, HUnit, libsodium, memory, NaCl, random, safe-exceptions
+     , tasty, tasty-discover, tasty-hedgehog, tasty-hunit
      }:
      mkDerivation {
        pname = "crypto-sodium";
-       version = "0.0.3.1";
-       sha256 = "1hjwxbxszhg9z83i6p141avalwi9rjh4v014vh1dcj69dqb7q00h";
+       version = "0.0.4.0";
+       sha256 = "0wypzd06z12mc7pffryp7bq7rzzws348i79yg3x25d4kmi6xqydw";
        libraryHaskellDepends = [
-         base bytestring cereal libsodium memory NaCl safe-exceptions
+         base bytestring cereal libsodium memory NaCl random safe-exceptions
        ];
        testHaskellDepends = [
-         base base16-bytestring bytestring hedgehog HUnit libsodium memory
+         base base16 bytestring deepseq hedgehog HUnit libsodium memory
          safe-exceptions tasty tasty-hedgehog tasty-hunit
        ];
        testToolDepends = [ tasty-discover ];
@@ -67630,8 +68209,8 @@ self: {
      }:
      mkDerivation {
        pname = "cursedcsv";
-       version = "0.1.3";
-       sha256 = "0q6pqsv0bvn30nlkfk285hilixa9hi3n3gzil0gb4gic2zpb55dk";
+       version = "0.1.4";
+       sha256 = "1zh71fcp2qp516lzvqc7n3yamg1lwbdjh74k5f3ni1j9ynz6zh28";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -67743,8 +68322,8 @@ self: {
      }:
      mkDerivation {
        pname = "curve25519";
-       version = "0.2.5";
-       sha256 = "1j2fc1wv6xx95sicx2m44dm41gdfspb74qmh58592pp5fcv54vbb";
+       version = "0.2.6";
+       sha256 = "11xrr8d4a8mwagqy8wfmja9aj875854bc0ns37x01wdcpwsr3s2h";
        libraryHaskellDepends = [ base bytestring crypto-api ];
        testHaskellDepends = [
          base bytestring crypto-api DRBG HUnit QuickCheck tagged
@@ -68001,12 +68580,12 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "d10_0_3_0_1" = callPackage
+  "d10_1_0_0_1" = callPackage
     ({ mkDerivation, base, hedgehog, template-haskell }:
      mkDerivation {
        pname = "d10";
-       version = "0.3.0.1";
-       sha256 = "0fw6hl0ikfxgqhns18f0h3hs2ihi2d09jpjvmgrzddf3d8lrrlnh";
+       version = "1.0.0.1";
+       sha256 = "0jaql1ql1pm0s6xd0mmi0gadx7z0ms62q46rxy4ida8k4v76r7cl";
        libraryHaskellDepends = [ base template-haskell ];
        testHaskellDepends = [ base hedgehog template-haskell ];
        description = "Digits 0-9";
@@ -69412,8 +69991,8 @@ self: {
     ({ mkDerivation, base, deepseq, hashable }:
      mkDerivation {
        pname = "data-fix";
-       version = "0.3.1";
-       sha256 = "0yfciggx8l82nfpv40w2673glnl9nnbh269kpfbw28i98x0c0icv";
+       version = "0.3.2";
+       sha256 = "1k0rcbb6dzv0ggdxqa2bh4jr829y0bczjrg98mrk5733q0xjs5rs";
        libraryHaskellDepends = [ base deepseq hashable ];
        description = "Fixpoint data types";
        license = lib.licenses.bsd3;
@@ -69913,6 +70492,28 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "data-pdf-fieldreader" = callPackage
+    ({ mkDerivation, base, bytestring, containers, megaparsec
+     , optparse-applicative, text
+     }:
+     mkDerivation {
+       pname = "data-pdf-fieldreader";
+       version = "0.1.1.0";
+       sha256 = "0mcf676mgjgckzk97qi60z03530zk05mby73dxv7dnbdxw340zn7";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring containers megaparsec text
+       ];
+       executableHaskellDepends = [
+         base bytestring containers optparse-applicative text
+       ];
+       description = "Read PDF form fields";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "data-pprint" = callPackage
     ({ mkDerivation, base, deepseq, mtl, parallel, pretty, time }:
      mkDerivation {
@@ -72119,8 +72720,8 @@ self: {
        pname = "deepseq-generics";
        version = "0.2.0.0";
        sha256 = "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh";
-       revision = "5";
-       editedCabalFile = "1iqgza1larap5n4f1z7d7ag1s3b0zzlvgb91lrwwa5khgw2m7mrg";
+       revision = "6";
+       editedCabalFile = "1qwnpdjsrqzn18pjmvv9aqz3l12fbdcimf62wkj33yfh69rx4s42";
        libraryHaskellDepends = [ base deepseq ghc-prim ];
        testHaskellDepends = [
          base deepseq ghc-prim HUnit test-framework test-framework-hunit
@@ -72352,8 +72953,8 @@ self: {
      }:
      mkDerivation {
        pname = "dejafu";
-       version = "2.4.0.2";
-       sha256 = "1hwhyxjjwapk6jgsbs0vh033xbc9b8mr5iqd93vskvvljnb40v9h";
+       version = "2.4.0.3";
+       sha256 = "1qzc8jbl6zwbncfmfmcwwmmhwzgbwc7wmnxxxa3mbcjbwhyibf92";
        libraryHaskellDepends = [
          base concurrency containers contravariant deepseq exceptions
          leancheck profunctors random transformers
@@ -73108,8 +73709,8 @@ self: {
      }:
      mkDerivation {
        pname = "derive-storable-plugin";
-       version = "0.2.3.3";
-       sha256 = "1p15iia1zg9hm462wbhbcrk70zaphpsbkdbksfxizyfcw9c0v9qf";
+       version = "0.2.3.4";
+       sha256 = "0yvfmm8wkix8icsfqm9wd81000dlfgmwjzbnhspzd6a9wpd73i6p";
        libraryHaskellDepends = [ base derive-storable ghc ghci ];
        testHaskellDepends = [
          base derive-storable ghc ghci hspec QuickCheck
@@ -73799,6 +74400,8 @@ self: {
        pname = "dhall";
        version = "1.39.0";
        sha256 = "1by2d84fbckspczddl4npfsf89q6nprmbg0i5g8yr1psp0fpl4ab";
+       revision = "3";
+       editedCabalFile = "1yhslq8i3407yaw30vgyffmmmq61f4g3ik4ikjhhplcbl6hb57l6";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -73833,6 +74436,61 @@ self: {
        maintainers = with lib.maintainers; [ Gabriel439 ];
      }) {};
 
+  "dhall_1_40_0" = 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, temporary, text
+     , text-manipulate, th-lift-instances, time, transformers, turtle
+     , unordered-containers, uri-encode, vector
+     }:
+     mkDerivation {
+       pname = "dhall";
+       version = "1.40.0";
+       sha256 = "1a5hvfrygk9y9jlldyrbhfv9nzl03s6lqlmzf5dkwycwmfb7cc66";
+       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 time transformers unordered-containers uri-encode
+         vector
+       ];
+       executableHaskellDepends = [ base ];
+       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
+         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
+       ];
+       doCheck = false;
+       description = "A configuration language guaranteed to terminate";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       maintainers = with lib.maintainers; [ Gabriel439 ];
+     }) {};
+
   "dhall-bash" = callPackage
     ({ mkDerivation, base, bytestring, containers, dhall
      , neat-interpolation, optparse-generic, shell-escape, text
@@ -73855,6 +74513,29 @@ self: {
        maintainers = with lib.maintainers; [ Gabriel439 ];
      }) {};
 
+  "dhall-bash_1_0_38" = callPackage
+    ({ mkDerivation, base, bytestring, containers, dhall
+     , neat-interpolation, optparse-generic, shell-escape, text
+     }:
+     mkDerivation {
+       pname = "dhall-bash";
+       version = "1.0.38";
+       sha256 = "0pfwqz4l3nn4mr16pv5703j517g3nsgzpmiv18kzl4fs6141d881";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring containers dhall neat-interpolation shell-escape
+         text
+       ];
+       executableHaskellDepends = [
+         base bytestring dhall optparse-generic text
+       ];
+       description = "Compile Dhall to Bash";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       maintainers = with lib.maintainers; [ Gabriel439 ];
+     }) {};
+
   "dhall-check" = callPackage
     ({ mkDerivation, base, containers, dhall, directory, filepath
      , fsnotify, text, trifecta
@@ -73874,6 +74555,38 @@ self: {
        broken = true;
      }) {};
 
+  "dhall-csv" = callPackage
+    ({ mkDerivation, ansi-terminal, base, bytestring, cassava
+     , containers, dhall, either, exceptions, filepath
+     , optparse-applicative, prettyprinter, prettyprinter-ansi-terminal
+     , tasty, tasty-hunit, tasty-silver, text, unordered-containers
+     , vector
+     }:
+     mkDerivation {
+       pname = "dhall-csv";
+       version = "1.0.0";
+       sha256 = "1dg310mq4c00ykkm1vsvrcicls25zbx7iypcg0nqa8ggchac5jmh";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring cassava containers dhall either exceptions filepath
+         optparse-applicative prettyprinter text unordered-containers vector
+       ];
+       executableHaskellDepends = [
+         ansi-terminal base bytestring cassava dhall optparse-applicative
+         prettyprinter prettyprinter-ansi-terminal text unordered-containers
+         vector
+       ];
+       testHaskellDepends = [
+         base bytestring cassava dhall filepath tasty tasty-hunit
+         tasty-silver text unordered-containers vector
+       ];
+       description = "Convert bidirectionally between Dhall and CSV files";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "dhall-docs" = callPackage
     ({ mkDerivation, base, bytestring, containers, cryptonite, dhall
      , directory, doctest, file-embed, filepath, foldl, hashable
@@ -73883,10 +74596,8 @@ self: {
      }:
      mkDerivation {
        pname = "dhall-docs";
-       version = "1.0.6";
-       sha256 = "004n8kh8riw67aqwp6z9199jwv2c9r1dbkg92s71vd9zc04wxljv";
-       revision = "1";
-       editedCabalFile = "1m8ms4y4pxiays620k4zjf7hnfk103y990pnhnb6hr0h70n7i157";
+       version = "1.0.7";
+       sha256 = "1h7bzpp3xa5m8zknhi24q0wh1n6w6z26ka780mdsbmchhhj59njm";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -73971,6 +74682,37 @@ self: {
        maintainers = with lib.maintainers; [ Gabriel439 ];
      }) {};
 
+  "dhall-json_1_7_8" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, aeson-yaml, ansi-terminal
+     , base, bytestring, containers, dhall, exceptions, filepath
+     , lens-family-core, optparse-applicative, prettyprinter
+     , prettyprinter-ansi-terminal, scientific, tasty, tasty-hunit
+     , tasty-silver, text, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "dhall-json";
+       version = "1.7.8";
+       sha256 = "0g4c71di93r6vnbhajsj5k3ivhzvn0n0aicvvc2j9nbjfhvahd3h";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson aeson-pretty aeson-yaml base bytestring containers dhall
+         exceptions filepath lens-family-core optparse-applicative
+         prettyprinter scientific text unordered-containers vector
+       ];
+       executableHaskellDepends = [
+         aeson aeson-pretty ansi-terminal base bytestring dhall exceptions
+         optparse-applicative prettyprinter prettyprinter-ansi-terminal text
+       ];
+       testHaskellDepends = [
+         aeson base bytestring dhall tasty tasty-hunit tasty-silver text
+       ];
+       description = "Convert between Dhall and JSON or YAML";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       maintainers = with lib.maintainers; [ Gabriel439 ];
+     }) {};
+
   "dhall-lex" = callPackage
     ({ mkDerivation, alex, array, base, bytestring, criterion, deepseq
      , hspec, hspec-dirstream, scientific
@@ -74002,6 +74744,8 @@ self: {
        pname = "dhall-lsp-server";
        version = "1.0.15";
        sha256 = "0bq6k92g22vdym9zyj95gx052yyzvgr1jv7yszlcj8p5angbxdqy";
+       revision = "1";
+       editedCabalFile = "0l1y8c02i4ydh3y67br1727al9xahpld879pinwgyv45f30n1jcb";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -74020,6 +74764,37 @@ self: {
        maintainers = with lib.maintainers; [ Gabriel439 ];
      }) {};
 
+  "dhall-lsp-server_1_0_16" = 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
+     }:
+     mkDerivation {
+       pname = "dhall-lsp-server";
+       version = "1.0.16";
+       sha256 = "04s4kvbjp4ai17l64syram0br3qc4fpz669ps24r8fkcbbaczckq";
+       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
+         unordered-containers uri-encode
+       ];
+       executableHaskellDepends = [ base optparse-applicative ];
+       testHaskellDepends = [
+         base directory doctest filepath haskell-lsp-types hspec lsp-test
+         QuickCheck tasty tasty-hspec text
+       ];
+       description = "Language Server Protocol (LSP) server for Dhall";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       maintainers = with lib.maintainers; [ Gabriel439 ];
+     }) {};
+
   "dhall-nix" = callPackage
     ({ mkDerivation, base, containers, data-fix, dhall, hnix
      , lens-family-core, neat-interpolation, optparse-generic, text
@@ -74028,6 +74803,30 @@ self: {
        pname = "dhall-nix";
        version = "1.1.21";
        sha256 = "0yqqjq8yqswcaiqrrgx37rlwvxgciwhvird34hsaq4fr3kbjgv4h";
+       revision = "1";
+       editedCabalFile = "0pnnlm299sw7jgz6a1bg18nvc2qfgylinc90b3da0cpvaardp6wz";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base containers data-fix dhall hnix lens-family-core
+         neat-interpolation text
+       ];
+       executableHaskellDepends = [
+         base dhall hnix optparse-generic text
+       ];
+       description = "Dhall to Nix compiler";
+       license = lib.licenses.bsd3;
+       maintainers = with lib.maintainers; [ Gabriel439 ];
+     }) {};
+
+  "dhall-nix_1_1_22" = callPackage
+    ({ mkDerivation, base, containers, data-fix, dhall, hnix
+     , lens-family-core, neat-interpolation, optparse-generic, text
+     }:
+     mkDerivation {
+       pname = "dhall-nix";
+       version = "1.1.22";
+       sha256 = "1da64h52fz4imvk7hqblri27zg54r9rcs6hlyzkbnqg4yivpiclg";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -74039,6 +74838,7 @@ self: {
        ];
        description = "Dhall to Nix compiler";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ Gabriel439 ];
      }) {};
 
@@ -74050,8 +74850,8 @@ self: {
      }:
      mkDerivation {
        pname = "dhall-nixpkgs";
-       version = "1.0.5";
-       sha256 = "10gvkw2rdmz7pgr9675xqnhkgi8pwjid77mwsriid81d703z2b6j";
+       version = "1.0.6";
+       sha256 = "12sfxz7n86m69m1xbnrrr1ybggh70rfwmr4maflq522bhkc2hgvk";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -74071,8 +74871,8 @@ self: {
      }:
      mkDerivation {
        pname = "dhall-openapi";
-       version = "1.0.1";
-       sha256 = "1n34amb97dqpvz0s3mhqb46gjq1ix1gicsq700z6v6y7xssrgbz2";
+       version = "1.0.2";
+       sha256 = "1p678nn1gfj2xp0kmw8i5pzsv6s5bpnsmyng45adb9pnpiyxbcyj";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -74097,6 +74897,8 @@ self: {
        pname = "dhall-recursive-adt";
        version = "0.1.0.1";
        sha256 = "09s3m86vflj5im2walab8d0wpvihsvxc5mzy55m10pfzr3gxsd11";
+       revision = "1";
+       editedCabalFile = "0phfa1y6fic6wyvm3bp56z4sj43wbf75rzggzgf763vivlnvc7xw";
        libraryHaskellDepends = [ base data-fix dhall recursion-schemes ];
        testHaskellDepends = [
          base dhall either hedgehog recursion-schemes tasty tasty-hedgehog
@@ -74156,6 +74958,32 @@ self: {
        broken = true;
      }) {};
 
+  "dhall-toml" = callPackage
+    ({ mkDerivation, base, containers, dhall, directory, doctest
+     , filepath, prettyprinter, tasty, tasty-hunit, text, tomland
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "dhall-toml";
+       version = "1.0.0";
+       sha256 = "13pz6y0l70h3x62wkhay2jiws6s5m6dy9v7kpd2c5mqzaspfy0w2";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base containers dhall prettyprinter text tomland
+         unordered-containers
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base dhall directory doctest filepath tasty tasty-hunit text
+         tomland
+       ];
+       description = "Convert between Dhall and TOML";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "dhall-yaml" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, base, bytestring, dhall
      , dhall-json, exceptions, HsYAML, HsYAML-aeson
@@ -74185,6 +75013,36 @@ self: {
        maintainers = with lib.maintainers; [ Gabriel439 ];
      }) {};
 
+  "dhall-yaml_1_2_8" = 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.8";
+       sha256 = "1p766ybwib3f2i5h7m1hh71vc255ahvf7237bpprdapqw3ag8nak";
+       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;
+       hydraPlatforms = lib.platforms.none;
+       maintainers = with lib.maintainers; [ Gabriel439 ];
+     }) {};
+
   "dhcp-lease-parser" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, chronos, ip, tasty
      , tasty-hunit, text
@@ -74436,6 +75294,8 @@ self: {
        pname = "diagrams-builder";
        version = "0.8.0.5";
        sha256 = "0dz617kfkvjf3f2zbphkdx1scglcjj162qsfk9xj7slbapnj918m";
+       revision = "2";
+       editedCabalFile = "1jys7j2s8shwh5yr7w597qd46ip5xqvszaqgpjvnx9fxazqp6r0v";
        configureFlags = [ "-fcairo" "-fps" "-frasterific" "-fsvg" ];
        isLibrary = true;
        isExecutable = true;
@@ -74465,8 +75325,8 @@ self: {
        pname = "diagrams-cairo";
        version = "1.4.1.1";
        sha256 = "0vyd2yr55n7x71194i18lnbcshdjpnqw4qyq7vj5zx377rsz711k";
-       revision = "2";
-       editedCabalFile = "0ngbshqmb86sc9djmgkn3zc9l69bn3kdml7ld6qx36dsyq6mafq9";
+       revision = "3";
+       editedCabalFile = "16jm9g9rfc7d1dy2kwq3n9wfgcj8l6c0d54lym1r6b0arc7yjqlb";
        libraryHaskellDepends = [
          array base bytestring cairo colour containers data-default-class
          diagrams-core diagrams-lib filepath hashable JuicyPixels lens mtl
@@ -74486,6 +75346,8 @@ self: {
        pname = "diagrams-canvas";
        version = "1.4.1";
        sha256 = "1ihmv42412d8dk3s894zd70xd386wrk9ycxkid19barry1vz5plj";
+       revision = "2";
+       editedCabalFile = "0x8iv0998nn42l0ph90xq50ca514m3zhac4s9zl1hc5hzivj10sl";
        libraryHaskellDepends = [
          base blank-canvas cmdargs containers data-default-class
          diagrams-core diagrams-lib lens mtl NumInstances
@@ -74509,8 +75371,8 @@ self: {
        pname = "diagrams-contrib";
        version = "1.4.4";
        sha256 = "043jpr7lqg708lzmv6cqys7312lfdwnf8ijcnpl4jkbvcwl87c1m";
-       revision = "2";
-       editedCabalFile = "1mkpq356z7b2q6ifa4f1k7whsmhgn3hww8scacca0q2wnc8p4xjg";
+       revision = "3";
+       editedCabalFile = "03drxpqhyv62kzsxiabhfjiayk79fpv8wrq4qapsjbv7ph2jhx2v";
        libraryHaskellDepends = [
          base circle-packing colour containers cubicbezier data-default
          data-default-class diagrams-core diagrams-lib diagrams-solve
@@ -74553,6 +75415,8 @@ self: {
        pname = "diagrams-core";
        version = "1.5.0";
        sha256 = "0y3smp3hiyfdirdak3j4048cgqv7a5q9p2jb6z8na2llys5mrmdn";
+       revision = "1";
+       editedCabalFile = "1718pkifs74nq8bdwcm6firahy8riiinwarcxkk087brmm2rbfli";
        libraryHaskellDepends = [
          adjunctions base containers distributive dual-tree lens linear
          monoid-extras mtl profunctors semigroups unordered-containers
@@ -74570,8 +75434,8 @@ self: {
        pname = "diagrams-graphviz";
        version = "1.4.1.1";
        sha256 = "0lscrxd682jvyrl5bj4dxp7593qwyis01sl0p4jm2jfn335wdq40";
-       revision = "1";
-       editedCabalFile = "1qx69541pxf71whfz2a913yzbhfcks2pyzfprkgrcmiiyv0a3i7b";
+       revision = "2";
+       editedCabalFile = "0cxg21lsahkrf129k5h82d4znm3861dqc597mgzwyl5f0ywhllzr";
        libraryHaskellDepends = [
          base containers diagrams-lib fgl graphviz split
        ];
@@ -74600,22 +75464,24 @@ self: {
 
   "diagrams-haddock" = callPackage
     ({ mkDerivation, ansi-terminal, base, base64-bytestring, bytestring
-     , Cabal, cautious-file, cmdargs, containers, cpphs
-     , diagrams-builder, diagrams-lib, diagrams-svg, directory, filepath
-     , haskell-src-exts, lens, linear, mtl, parsec, QuickCheck, split
-     , strict, svg-builder, tasty, tasty-quickcheck, text, uniplate
+     , Cabal, cmdargs, containers, cpphs, diagrams-builder, diagrams-lib
+     , diagrams-svg, directory, filepath, haskell-src-exts, lens, linear
+     , mtl, parsec, QuickCheck, split, strict, svg-builder, tasty
+     , tasty-quickcheck, text, uniplate, unliftio
      }:
      mkDerivation {
        pname = "diagrams-haddock";
-       version = "0.4.0.3";
-       sha256 = "1kv1m9hg2npm2k11svh0c27xknvh2j7x662wcbnpxnc44cxlqyak";
+       version = "0.4.1";
+       sha256 = "0p978saxsfad6d8wkjnp6i300cf58ps02yw7a1zzhjfgk5ih2qlb";
+       revision = "1";
+       editedCabalFile = "063j6drlybzbm6bf9yfix86hs3hvgb98sgh4rzgrqkq9kvarj2ij";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         ansi-terminal base base64-bytestring bytestring cautious-file
-         containers cpphs diagrams-builder diagrams-lib diagrams-svg
-         directory filepath haskell-src-exts lens linear mtl parsec split
-         strict svg-builder text uniplate
+         ansi-terminal base base64-bytestring bytestring containers cpphs
+         diagrams-builder diagrams-lib diagrams-svg directory filepath
+         haskell-src-exts lens linear mtl parsec split strict svg-builder
+         text uniplate unliftio
        ];
        executableHaskellDepends = [
          base Cabal cmdargs cpphs directory filepath
@@ -74808,8 +75674,8 @@ self: {
        pname = "diagrams-postscript";
        version = "1.5";
        sha256 = "00j58mc84srjvrf21v6zjxxlbw6b8ahhn1jmbq697w8kw3cvygpa";
-       revision = "2";
-       editedCabalFile = "0dyji1b8mcxaxwzgckkk3p3ji0prrp7rsin98f1hmyjlj3ih735b";
+       revision = "3";
+       editedCabalFile = "1aq214837jk85b2l79adm5rcrv8y929aspvix7yjq1skyrqgk7pa";
        libraryHaskellDepends = [
          base bytestring containers data-default-class diagrams-core
          diagrams-lib hashable lens monoid-extras mtl semigroups split
@@ -74845,8 +75711,8 @@ self: {
        pname = "diagrams-rasterific";
        version = "1.4.2.1";
        sha256 = "09a1jnpc4kplg1yhv5kxhi0ph22m5xyr0vmnjv2c5wlz72c72z2z";
-       revision = "1";
-       editedCabalFile = "1nc12hm4qbj2lmbpk3a77cd46n5bcf20vwd075qj2vglbca2yl9b";
+       revision = "2";
+       editedCabalFile = "1vd8njhanjaa86h0g8hb6khz11bv9zvg8l4pfx0dj4ypknz4hwak";
        libraryHaskellDepends = [
          base bytestring containers data-default-class diagrams-core
          diagrams-lib file-embed filepath FontyFruity hashable JuicyPixels
@@ -74898,6 +75764,8 @@ self: {
        pname = "diagrams-solve";
        version = "0.1.3";
        sha256 = "09qqwcvbvd3a0j5fnp40dbzw0i3py9c7kgizj2aawajwbyjvpd17";
+       revision = "1";
+       editedCabalFile = "0dp61igq17l7hvhs3167skdi1vmlm773qrrmsqmj08951l4cgv0h";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [
          base deepseq tasty tasty-hunit tasty-quickcheck
@@ -74916,8 +75784,8 @@ self: {
        pname = "diagrams-svg";
        version = "1.4.3";
        sha256 = "1ysv6cz0fngrndl4wjmw4hrdj2rik5fxa1dkxzwnlgf1xwpvxgk8";
-       revision = "3";
-       editedCabalFile = "19n3g9wvp2fj4dlz3ssyjqx1b6ihskg5s595x9z2c99bpbzyykkv";
+       revision = "4";
+       editedCabalFile = "0irjf0g1barr06fy409r0ld2hypihrhh6n80ig3487xxny6gfzs0";
        libraryHaskellDepends = [
          base base64-bytestring bytestring colour containers diagrams-core
          diagrams-lib filepath hashable JuicyPixels lens monoid-extras mtl
@@ -75374,8 +76242,8 @@ self: {
     ({ mkDerivation, base, bytestring, zlib }:
      mkDerivation {
        pname = "digest";
-       version = "0.0.1.2";
-       sha256 = "04gy2zp8yzvv7j9bdfvmfzcz3sqyqa6rwslqcn4vyair2vmif5v4";
+       version = "0.0.1.3";
+       sha256 = "1l5383l5pvp018rj3vabrppnzcqrr2g0dvgvmsrbjdn02wzab5jm";
        libraryHaskellDepends = [ base bytestring ];
        librarySystemDepends = [ zlib ];
        description = "Various cryptographic hashes for bytestrings; CRC32 and Adler32 for now";
@@ -75657,8 +76525,8 @@ self: {
      }:
      mkDerivation {
        pname = "digraph";
-       version = "0.2.1";
-       sha256 = "04x8y6snlfm8w22l0mn58sqbgdsc3av9l6qz2wqfdjmcp7h7s79r";
+       version = "0.2.2";
+       sha256 = "1v7mayj3cjr1gl27d5fzgghrwk08d87da9ckyk5l7ksjqf6d4px7";
        libraryHaskellDepends = [
          base containers deepseq hashable massiv mwc-random streaming
          transformers unordered-containers
@@ -75841,25 +76709,26 @@ self: {
      }) {};
 
   "diohsc" = callPackage
-    ({ mkDerivation, asn1-types, base, bytestring, containers
-     , cryptonite, data-default-class, data-hash, directory
+    ({ mkDerivation, asn1-encoding, asn1-types, base, bytestring
+     , containers, cryptonite, data-default-class, data-hash, directory
      , drunken-bishop, exceptions, filepath, haskeline, hourglass, iconv
-     , mime, mtl, network, network-simple, network-uri, parsec, pem
-     , process, regex-compat, safe, temporary, terminal-size, text, tls
-     , transformers, unix, x509, x509-store, x509-validation
+     , memory, mime, mtl, network, network-simple, network-uri, parsec
+     , pem, process, regex-compat, safe, temporary, terminal-size, text
+     , tls, transformers, unix, x509, x509-store, x509-validation
      }:
      mkDerivation {
        pname = "diohsc";
-       version = "0.1.7";
-       sha256 = "0xhpj1dhcppvxv8558aai1azx8i3awv4adwl0vffzwj2kas23gjm";
+       version = "0.1.8";
+       sha256 = "0a614db90pwfc689gb174af6q5fdrb6i9bvhjgvq8vkgldicg4wb";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         asn1-types base bytestring containers cryptonite data-default-class
-         data-hash directory drunken-bishop exceptions filepath haskeline
-         hourglass iconv mime mtl network network-simple network-uri parsec
-         pem process regex-compat safe temporary terminal-size text tls
-         transformers unix x509 x509-store x509-validation
+         asn1-encoding asn1-types base bytestring containers cryptonite
+         data-default-class data-hash directory drunken-bishop exceptions
+         filepath haskeline hourglass iconv memory mime mtl network
+         network-simple network-uri parsec pem process regex-compat safe
+         temporary terminal-size text tls transformers unix x509 x509-store
+         x509-validation
        ];
        description = "Gemini client";
        license = lib.licenses.gpl3Only;
@@ -77306,8 +78175,11 @@ self: {
      }:
      mkDerivation {
        pname = "distribution-nixpkgs";
-       version = "1.5.0";
-       sha256 = "07z1dkyzz9sabxda48cy6y2pfyq14sz2m9bv6y6dajn15cy7m3pk";
+       version = "1.6.0";
+       sha256 = "0m1kw3wy0n611487qhskldivrxmkh7m5bkzib44d8n0qfg5lv06i";
+       revision = "1";
+       editedCabalFile = "0j35y7ws7rbc68vkmyvpa4m2dyfpzpzzvm4lv7h6r7x34w331dgg";
+       enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base bytestring Cabal containers deepseq language-nix lens
          pretty process split
@@ -77364,6 +78236,8 @@ self: {
        pname = "distributive";
        version = "0.6.2.1";
        sha256 = "14bb66qyfn43bj688igfvnfjw7iycjf4n2k38sm8rxbqw2916dfp";
+       revision = "1";
+       editedCabalFile = "033890dfyd23dh7g7px863l0hr1b881jnhv4kgwaq16a3iagb68g";
        libraryHaskellDepends = [ base base-orphans tagged transformers ];
        testHaskellDepends = [ base generic-deriving hspec ];
        testToolDepends = [ hspec-discover ];
@@ -77830,18 +78704,20 @@ self: {
     ({ mkDerivation, base, base16-bytestring, bytestring
      , case-insensitive, conduit, conduit-extra, config-ini, containers
      , cryptonite, exceptions, extra, filepath, generic-lens, hspec
-     , http-client-tls, http-conduit, http-types, memory, microlens
-     , mime-types, mtl, resourcet, text, time, transformers, xml-conduit
+     , http-api-data, http-client-tls, http-conduit, http-types, memory
+     , microlens, mime-types, mtl, resourcet, text, time, transformers
+     , unliftio, xml-conduit
      }:
      mkDerivation {
        pname = "do-spaces";
-       version = "0.1.0";
-       sha256 = "1xj0n2pmmwkm4ss5gvsbvw8m545w4890a3hhk1ns1vbbm06zmvsi";
+       version = "0.2";
+       sha256 = "0nl3gj7jfamm4j8z16jxxl6xq3507p091zsvsa0gxmqiwkjqfc65";
        libraryHaskellDepends = [
          base base16-bytestring bytestring case-insensitive conduit
          conduit-extra config-ini containers cryptonite exceptions extra
-         filepath generic-lens http-client-tls http-conduit http-types
-         memory microlens mime-types mtl text time transformers xml-conduit
+         filepath generic-lens http-api-data http-client-tls http-conduit
+         http-types memory microlens mime-types mtl text time transformers
+         unliftio xml-conduit
        ];
        testHaskellDepends = [
          base bytestring case-insensitive conduit conduit-extra containers
@@ -78300,6 +79176,33 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "doctemplates_0_10" = callPackage
+    ({ 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.10";
+       sha256 = "1nwav01dqxhbbmf4si8ks70lmhkldmy70m1dw89xrndvcgcynmrx";
+       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;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "doctest" = callPackage
     ({ mkDerivation, base, base-compat, code-page, deepseq, directory
      , filepath, ghc, ghc-paths, hspec, hspec-core, HUnit, mockery
@@ -79915,8 +80818,8 @@ self: {
      }:
      mkDerivation {
        pname = "dsv";
-       version = "1.0.0.1";
-       sha256 = "1lf6fan0mis0hs30yfpslfyj0gpk028z24wca3lylq877pq7z6nz";
+       version = "1.0.0.2";
+       sha256 = "1499qdsxn6qvavgi0g6x75w0cl21dc1f7nn79ajr0lq56dpdx873";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          attoparsec base bytestring cassava containers foldl pipes
@@ -80088,6 +80991,8 @@ self: {
        pname = "dual-tree";
        version = "0.2.3.0";
        sha256 = "0qyn7kb42wvlcvb1wbf1qx3isc2y6k3hzp5iq6ab0r0llw9g6qlg";
+       revision = "1";
+       editedCabalFile = "1babd7ybsgk73x57yl35q0n1i7mbbqmv4am710kq1hzg3in4g9dv";
        libraryHaskellDepends = [
          base monoid-extras newtype-generics semigroups
        ];
@@ -80757,22 +81662,22 @@ self: {
      }) {};
 
   "dynamic-pipeline" = callPackage
-    ({ mkDerivation, async, base, bytestring, HList, hspec
+    ({ mkDerivation, async, base, bytestring, containers, HList, hspec
      , hspec-discover, lens, optparse-applicative, QuickCheck, relude
      , trifecta, unagi-chan
      }:
      mkDerivation {
        pname = "dynamic-pipeline";
-       version = "0.1.0.5";
-       sha256 = "0smj2fk7dj0kxfgs00n52bpkvrb4yx0h2bkwabjkag96a867f9gr";
+       version = "0.3.2.0";
+       sha256 = "1wm9dk1y4crrskj6c5fyamx2p6b3xmvwa0xyj27wwlps6zhwxyj8";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          async base bytestring HList lens relude unagi-chan
        ];
        executableHaskellDepends = [
-         async base bytestring HList lens optparse-applicative relude
-         trifecta unagi-chan
+         async base bytestring containers HList lens optparse-applicative
+         relude trifecta unagi-chan
        ];
        testHaskellDepends = [
          async base bytestring HList hspec lens QuickCheck relude unagi-chan
@@ -82815,6 +83720,23 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "elm-bridge_0_7_0" = callPackage
+    ({ mkDerivation, aeson, base, containers, hspec, QuickCheck
+     , template-haskell, text
+     }:
+     mkDerivation {
+       pname = "elm-bridge";
+       version = "0.7.0";
+       sha256 = "1ccqsvyy60bzq7vhy9kwbl6rmlnpk0bpy7wyqapm54qxkx71bfk6";
+       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;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "elm-build-lib" = callPackage
     ({ mkDerivation, base, bytestring, containers, elm-compiler
      , elm-core-sources, file-embed, template-haskell
@@ -84254,6 +85176,7 @@ self: {
        testHaskellDepends = [ arith-encode base binary HUnit-Plus ];
        description = "A practical API for building recursive enumeration procedures and enumerating datatypes";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "enumerator" = callPackage
@@ -84393,6 +85316,21 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "enumset_0_1" = callPackage
+    ({ mkDerivation, base, data-accessor, semigroups, storable-record
+     }:
+     mkDerivation {
+       pname = "enumset";
+       version = "0.1";
+       sha256 = "1flsyc8a9hj33pl35jkcls8sdc7yw8yc9xfflynm0h9ncq1frlcr";
+       libraryHaskellDepends = [
+         base data-accessor semigroups storable-record
+       ];
+       description = "Sets of enumeration values represented by machine words";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "env-extra" = callPackage
     ({ mkDerivation, base, exceptions, tasty, tasty-hunit, text
      , transformers
@@ -84409,6 +85347,8 @@ self: {
        ];
        description = "Safe helpers for accessing and modifying environment variables";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "env-locale" = callPackage
@@ -84585,8 +85525,8 @@ self: {
      }:
      mkDerivation {
        pname = "epi-sim";
-       version = "0.4.2";
-       sha256 = "0hwamynf66abhnipjdb292zpsf80hafpjjdv0yfq712qgjb9mgvp";
+       version = "0.7.0";
+       sha256 = "0i06wlrgpyh19q25mc3ndrhrhkyjfdg91v4pzbmgwgzpbvasgx42";
        libraryHaskellDepends = [
          aeson base bytestring hspec mwc-random primitive statistics vector
        ];
@@ -85130,6 +86070,18 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "error-or_0_2_0_0" = callPackage
+    ({ mkDerivation, base, containers, mtl, text }:
+     mkDerivation {
+       pname = "error-or";
+       version = "0.2.0.0";
+       sha256 = "0wpw8ms1rxc8zhdcr078bang10jl2wkd0ji944knzcvspfnx9hib";
+       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 {
@@ -85141,6 +86093,18 @@ self: {
        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
     ({ mkDerivation, base, transformers }:
      mkDerivation {
@@ -85174,6 +86138,8 @@ self: {
        pname = "errors";
        version = "2.3.0";
        sha256 = "0x8znwn31qcx6kqx99wp7bc86kckfb39ncz3zxvj1s07kxlfawk7";
+       revision = "1";
+       editedCabalFile = "08y607nwnw12vlbmwcppv1ydw726x8p3kwwx4rgaiss906hgnzrp";
        libraryHaskellDepends = [
          base exceptions safe text transformers transformers-compat
        ];
@@ -85462,8 +86428,8 @@ self: {
      }:
      mkDerivation {
        pname = "esqueleto";
-       version = "3.5.2.0";
-       sha256 = "06z5n0nbyrdvzlfqmx3jvh76kkss3bis19k5ppqkifsfgwi07rzw";
+       version = "3.5.2.1";
+       sha256 = "1hx3v9cb5w0zckgi83qa1ibfs44172syj89p36xsiphxqhlgaa0s";
        libraryHaskellDepends = [
          aeson attoparsec base blaze-html bytestring conduit containers
          monad-logger persistent resourcet tagged text time transformers
@@ -86158,12 +87124,29 @@ self: {
        broken = true;
      }) {};
 
+  "eved" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, case-insensitive
+     , http-api-data, http-client, http-media, http-types, mtl, text
+     , wai
+     }:
+     mkDerivation {
+       pname = "eved";
+       version = "0.0.3.0";
+       sha256 = "12wz0khrvj85vkk7bsq65gsikqmzahmlpmi08vdalnsfxqlflc6r";
+       libraryHaskellDepends = [
+         aeson base bytestring case-insensitive http-api-data http-client
+         http-media http-types mtl text wai
+       ];
+       description = "A value level web framework";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "eveff" = callPackage
     ({ mkDerivation, base, ghc-prim, primitive }:
      mkDerivation {
        pname = "eveff";
-       version = "1.0.0.1";
-       sha256 = "0668345qdais176w8vbmjklys64ys36m4ppkiyqbad866n0zg7n9";
+       version = "1.0.0.2";
+       sha256 = "1fplciayjmvb9vp5pgi7zf656jf93zay7fz992z8jc9jz2a6k8k4";
        libraryHaskellDepends = [ base ghc-prim primitive ];
        description = "Efficient effect handlers based on evidence translation";
        license = lib.licenses.mit;
@@ -86866,8 +87849,8 @@ self: {
      }:
      mkDerivation {
        pname = "exception-transformers";
-       version = "0.4.0.9";
-       sha256 = "033z8mhczwf59lh59q3z546gkcsy0bzg98r1qhm3fiq7j11hgd95";
+       version = "0.4.0.10";
+       sha256 = "11ghvxm32q3kzccbngz4068j2rrrhs03amlaq5i5r1vankrbxg0n";
        libraryHaskellDepends = [ base transformers transformers-compat ];
        testHaskellDepends = [
          base HUnit test-framework test-framework-hunit transformers
@@ -87424,6 +88407,27 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "exon" = callPackage
+    ({ mkDerivation, base, flatparse, haskell-src-exts
+     , haskell-src-meta, hedgehog, relude, tasty, tasty-hedgehog
+     , template-haskell, text
+     }:
+     mkDerivation {
+       pname = "exon";
+       version = "0.1.0.0";
+       sha256 = "014jbbzhb9ar3azxqjnagyyasack0dik32h2d0lzb6yr0yiwsv8m";
+       libraryHaskellDepends = [
+         base flatparse haskell-src-exts haskell-src-meta relude
+         template-haskell text
+       ];
+       testHaskellDepends = [
+         base flatparse haskell-src-exts haskell-src-meta hedgehog relude
+         tasty tasty-hedgehog template-haskell text
+       ];
+       description = "Monoidal Quasiquote Interpolation";
+       license = "BSD-2-Clause-Patent";
+     }) {};
+
   "exotic-list-monads" = callPackage
     ({ mkDerivation, base, hspec, hspec-core, hspec-discover
      , QuickCheck
@@ -87787,12 +88791,12 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "express_1_0_0" = callPackage
+  "express_1_0_4" = callPackage
     ({ mkDerivation, base, leancheck, template-haskell }:
      mkDerivation {
        pname = "express";
-       version = "1.0.0";
-       sha256 = "1aymnlq1nkw7qvrydmy0447ls5lnnjkhvpgicr56p2v65xrd37qx";
+       version = "1.0.4";
+       sha256 = "0yv7gn7pj6ya4ijvwsh6gqn02qm4xn3ri98q10zd0zvjipmn20db";
        libraryHaskellDepends = [ base template-haskell ];
        testHaskellDepends = [ base leancheck ];
        benchmarkHaskellDepends = [ base leancheck ];
@@ -88793,16 +89797,16 @@ self: {
        broken = true;
      }) {};
 
-  "faktory_1_1_0_0" = 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
+  "faktory_1_1_1_0" = callPackage
+    ({ mkDerivation, aeson, aeson-casing, aeson-qq, 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.1.0.0";
-       sha256 = "0bxwrrypkwhq7whaj79dkibad022bdxd8r5vh1dnd4aka3bdk8mj";
+       version = "1.1.1.0";
+       sha256 = "1lh427lq991pclzqr112dw4jjalcxpkwl440ygg2fhl6bgn082wx";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -88812,7 +89816,7 @@ self: {
        ];
        executableHaskellDepends = [ aeson base safe-exceptions ];
        testHaskellDepends = [
-         aeson async base hspec markdown-unlit mtl time
+         aeson aeson-qq async base hspec markdown-unlit mtl time
        ];
        testToolDepends = [ markdown-unlit ];
        description = "Faktory Worker for Haskell";
@@ -88937,8 +89941,8 @@ self: {
      }:
      mkDerivation {
        pname = "fast-builder";
-       version = "0.1.2.1";
-       sha256 = "0j11ahdmbni56car4zblwz9yz1qkrr6qbmpbah4fgpiyq6177cn9";
+       version = "0.1.3.0";
+       sha256 = "0j2dfh6y689sk5ahh232zl8glbmwp34xnqkmaq9n9jwbddw4fg5z";
        libraryHaskellDepends = [ base bytestring ghc-prim ];
        testHaskellDepends = [ base bytestring process QuickCheck stm ];
        benchmarkHaskellDepends = [
@@ -88970,23 +89974,21 @@ self: {
      }) {};
 
   "fast-digits" = callPackage
-    ({ mkDerivation, base, digits, gauge, integer-gmp, QuickCheck
-     , smallcheck, tasty, tasty-quickcheck, tasty-smallcheck
+    ({ mkDerivation, base, integer-gmp, QuickCheck, smallcheck, tasty
+     , tasty-bench, tasty-quickcheck, tasty-smallcheck
      }:
      mkDerivation {
        pname = "fast-digits";
-       version = "0.3.0.0";
-       sha256 = "1vlmjlkmv1nmw1rriafm2hzkmqd5xnwgzmvrg6xxqj1ab5sdsafs";
+       version = "0.3.1.0";
+       sha256 = "1q6kq5rrd4ivg4s8yhzqsc3gx4n554nz7285mgfqwxgfx8r4mmki";
        libraryHaskellDepends = [ base integer-gmp ];
        testHaskellDepends = [
-         base digits QuickCheck smallcheck tasty tasty-quickcheck
-         tasty-smallcheck
+         base QuickCheck smallcheck tasty tasty-quickcheck tasty-smallcheck
        ];
-       benchmarkHaskellDepends = [ base digits gauge ];
+       benchmarkHaskellDepends = [ base tasty-bench ];
        doHaddock = false;
        description = "Integer-to-digits conversion";
        license = lib.licenses.gpl3Only;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "fast-downward" = callPackage
@@ -89554,26 +90556,23 @@ self: {
      , config-ini, directory, email-validate, extra, filepath
      , http-conduit, http-directory, http-query, koji, lens, lens-aeson
      , network-uri, optparse-applicative, pretty-terminal, process
-     , rpmbuild-order, simple-cmd, simple-cmd-args, text, time
+     , rpm-nvr, rpmbuild-order, simple-cmd, simple-cmd-args, text, time
      , typed-process, unordered-containers, utf8-string, xdg-basedir
      }:
      mkDerivation {
        pname = "fbrnch";
-       version = "0.9";
-       sha256 = "1basamg578nyyjl677q3fax31pxcckxvdpw4f48gdmnmlnd9f6vm";
+       version = "0.9.1.1";
+       sha256 = "00qqgvbbv03qafbmvcgy8yf5l0jlyal6c2cmsfqnkl3c0qp0mq88";
        isLibrary = false;
        isExecutable = true;
-       libraryHaskellDepends = [
-         aeson base http-query lens lens-aeson text time
-       ];
        executableHaskellDepends = [
          aeson async base bugzilla-redhat bytestring config-ini directory
          email-validate extra filepath http-conduit http-directory
-         http-query koji network-uri optparse-applicative pretty-terminal
-         process rpmbuild-order simple-cmd simple-cmd-args text time
-         typed-process unordered-containers utf8-string xdg-basedir
+         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
        ];
-       doHaddock = false;
        description = "Build and create Fedora package repos and branches";
        license = lib.licenses.gpl2Only;
        hydraPlatforms = lib.platforms.none;
@@ -90543,26 +91542,26 @@ self: {
 
   "ffmpeg-light" = callPackage
     ({ mkDerivation, base, bytestring, either, exceptions, ffmpeg
-     , JuicyPixels, libavcodec, libavdevice, libavformat, libswscale
-     , mtl, transformers, vector
+     , JuicyPixels, libavcodec, libavdevice, libavformat, libswresample
+     , libswscale, mtl, stm, transformers, vector
      }:
      mkDerivation {
        pname = "ffmpeg-light";
-       version = "0.13.0";
-       sha256 = "1xvhpzd3kf2xn6s94lmpkxp9nv1jy20pr3x2qmqhc2gjxx9vcqg1";
+       version = "0.14.0";
+       sha256 = "022xikz4gml9w52agq6q9dwx8ldbs1pwxhp3xbi79ysskivj14x1";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base bytestring either exceptions JuicyPixels mtl transformers
+         base bytestring either exceptions JuicyPixels mtl stm transformers
          vector
        ];
        libraryPkgconfigDepends = [
-         ffmpeg libavcodec libavdevice libavformat libswscale
+         ffmpeg libavcodec libavdevice libavformat libswresample libswscale
        ];
        description = "Minimal bindings to the FFmpeg library";
        license = lib.licenses.bsd3;
      }) {inherit (pkgs) ffmpeg; libavcodec = null; libavdevice = null; 
-         libavformat = null; libswscale = null;};
+         libavformat = null; libswresample = null; libswscale = null;};
 
   "ffmpeg-tutorials" = callPackage
     ({ mkDerivation, base, bytestring, haskell98, hs-ffmpeg, SDL, stm
@@ -90598,6 +91597,20 @@ self: {
        license = lib.licenses.bsd3;
      }) {inherit (pkgs) fftw; inherit (pkgs) fftwFloat;};
 
+  "fftw-ffi" = callPackage
+    ({ mkDerivation, base, enumset, fftw, fftwFloat, netlib-ffi }:
+     mkDerivation {
+       pname = "fftw-ffi";
+       version = "0.1";
+       sha256 = "1a0a28i54s1gjyf0lk96l512gm6i2rn6ac1hh76r3gk5n7ijbx7p";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base enumset netlib-ffi ];
+       libraryPkgconfigDepends = [ fftw fftwFloat ];
+       description = "Low-level interface to FFTW (Fast Fourier Transform)";
+       license = lib.licenses.bsd3;
+     }) {inherit (pkgs) fftw; inherit (pkgs) fftwFloat;};
+
   "fftwRaw" = callPackage
     ({ mkDerivation, base, fftw }:
      mkDerivation {
@@ -91069,13 +92082,16 @@ self: {
      }) {};
 
   "filepath-bytestring" = callPackage
-    ({ mkDerivation, base, bytestring, filepath, QuickCheck, unix }:
+    ({ mkDerivation, base, bytestring, criterion, filepath, QuickCheck
+     , unix
+     }:
      mkDerivation {
        pname = "filepath-bytestring";
-       version = "1.4.2.1.7";
-       sha256 = "00xayqjq2qvb4yj0ppx838cabg5cx9swh0mzfb8c6njk9y5rc41n";
+       version = "1.4.2.1.8";
+       sha256 = "0qrrvbjpjsk75ghqrdqzwqg7wjgm3rr9kk7p04ax98ilv90pm0ip";
        libraryHaskellDepends = [ base bytestring unix ];
        testHaskellDepends = [ base bytestring filepath QuickCheck ];
+       benchmarkHaskellDepends = [ base criterion filepath ];
        description = "Library for manipulating RawFilePaths in a cross platform way";
        license = lib.licenses.bsd3;
      }) {};
@@ -91955,8 +92971,8 @@ self: {
      }:
      mkDerivation {
        pname = "fix-whitespace";
-       version = "0.0.5";
-       sha256 = "1774h18dqarkbsdq47cx1zrxx0k1a7asxngz85yz5vrc2aa37hy7";
+       version = "0.0.6";
+       sha256 = "087sp7bf7k4h9clmhqdzk8j1y12rc6lhd22p2w6kp7w1ppgg06aw";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -91979,14 +92995,15 @@ self: {
      }) {};
 
   "fixed-length" = callPackage
-    ({ mkDerivation, base, non-empty, storable-record, tfp, utility-ht
+    ({ mkDerivation, base, non-empty, storable-record, tfp
+     , transformers, utility-ht
      }:
      mkDerivation {
        pname = "fixed-length";
-       version = "0.2.2.1";
-       sha256 = "123iyy1id86h0j45jyc9jiz24hvjw7j3l57iv80b57gv4hd8a6q7";
+       version = "0.2.3";
+       sha256 = "0g2z9vswjbzishbx6wl6vln7x4avl8glxc14kr4bjwxdlvvn2ic1";
        libraryHaskellDepends = [
-         base non-empty storable-record tfp utility-ht
+         base non-empty storable-record tfp transformers utility-ht
        ];
        description = "Lists with statically known length based on non-empty package";
        license = lib.licenses.bsd3;
@@ -92654,19 +93671,19 @@ self: {
 
   "flatparse" = callPackage
     ({ mkDerivation, attoparsec, base, bytesmith, bytestring
-     , containers, gauge, megaparsec, parsec, primitive
+     , containers, gauge, integer-gmp, megaparsec, parsec, primitive
      , template-haskell
      }:
      mkDerivation {
        pname = "flatparse";
-       version = "0.2.1.0";
-       sha256 = "19vwh9fqda7fp7nv7sgxafvvc5kckaayizjw2vvmd634ka0bsyrr";
+       version = "0.2.2.0";
+       sha256 = "13cm882c2n0p52dwn802cqgfqrgkmlrb1kaxm2l89yfpb6wqynfz";
        libraryHaskellDepends = [
-         base bytestring containers template-haskell
+         base bytestring containers integer-gmp template-haskell
        ];
        benchmarkHaskellDepends = [
-         attoparsec base bytesmith bytestring gauge megaparsec parsec
-         primitive
+         attoparsec base bytesmith bytestring gauge integer-gmp megaparsec
+         parsec primitive
        ];
        description = "High-performance parsing from strict bytestrings";
        license = lib.licenses.mit;
@@ -92826,19 +93843,20 @@ self: {
 
   "flink-statefulfun" = callPackage
     ({ mkDerivation, aeson, base, bytestring, Cabal, containers, either
-     , http-media, http-types, lens-family, mtl, proto-lens
+     , http-media, http-types, lens-family, microlens, mtl, proto-lens
      , proto-lens-protobuf-types, proto-lens-protoc, proto-lens-runtime
-     , proto-lens-setup, servant, servant-server, text, wai, warp
+     , proto-lens-setup, servant, servant-server, text, time, uuid, wai
+     , warp
      }:
      mkDerivation {
        pname = "flink-statefulfun";
-       version = "0.3.0.0";
-       sha256 = "046acb9mb40cxdbm57s3davdwlpgjkf23xxkprxrl3pbyfxl1g8k";
+       version = "0.4.0.0";
+       sha256 = "1g4qvp5d9j8fgqxjz624nbmfmyk9sd777l1cfhcgr7vhjq2i98kj";
        setupHaskellDepends = [ base Cabal proto-lens-setup ];
        libraryHaskellDepends = [
          aeson base bytestring containers either http-media http-types
-         lens-family mtl proto-lens proto-lens-protobuf-types
-         proto-lens-runtime servant servant-server text wai warp
+         lens-family microlens mtl proto-lens proto-lens-protobuf-types
+         proto-lens-runtime servant servant-server text time uuid wai warp
        ];
        libraryToolDepends = [ proto-lens-protoc ];
        description = "Flink stateful functions SDK";
@@ -93559,8 +94577,8 @@ self: {
      }:
      mkDerivation {
        pname = "fmt";
-       version = "0.6.1.2";
-       sha256 = "1fcamg5vpbmn0h7y4xkyrrmpkbyqqkijpgm2bhsw82swnbfppvbq";
+       version = "0.6.2.0";
+       sha256 = "14h5f7nz9czfg1ar0ga9vry4ck2xf7h6rxiyk276w871yra01l9g";
        libraryHaskellDepends = [
          base base64-bytestring bytestring call-stack containers formatting
          microlens text time time-locale-compat
@@ -93744,28 +94762,6 @@ self: {
 
   "foldl" = callPackage
     ({ mkDerivation, base, bytestring, comonad, containers
-     , contravariant, criterion, doctest, hashable, mwc-random
-     , primitive, profunctors, semigroupoids, text, transformers
-     , unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "foldl";
-       version = "1.4.11";
-       sha256 = "05i87pqldk1xfpx66nh1lhn75x3g7s8kvhf9k9yll33a6ggawwxl";
-       libraryHaskellDepends = [
-         base bytestring comonad containers contravariant hashable
-         mwc-random primitive profunctors semigroupoids text transformers
-         unordered-containers vector
-       ];
-       testHaskellDepends = [ base doctest ];
-       benchmarkHaskellDepends = [ base criterion ];
-       description = "Composable, streaming, and efficient left folds";
-       license = lib.licenses.bsd3;
-       maintainers = with lib.maintainers; [ Gabriel439 ];
-     }) {};
-
-  "foldl_1_4_12" = callPackage
-    ({ mkDerivation, base, bytestring, comonad, containers
      , contravariant, criterion, doctest, hashable, primitive
      , profunctors, random, semigroupoids, text, transformers
      , unordered-containers, vector
@@ -93783,7 +94779,6 @@ self: {
        benchmarkHaskellDepends = [ base criterion ];
        description = "Composable, streaming, and efficient left folds";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ Gabriel439 ];
      }) {};
 
@@ -94268,8 +95263,8 @@ self: {
      }:
      mkDerivation {
        pname = "forex2ledger";
-       version = "1.0.0.1";
-       sha256 = "0v6adrl9c9vjpf4gm8x729qxq7yl84bfbiawmdpks2jzdckxvgdb";
+       version = "1.0.0.2";
+       sha256 = "1x6ln7pw77psppryi71jbsz5px4z4a96ppz6wmj4kjr7rwkkbrg4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -95149,6 +96144,43 @@ self: {
        broken = true;
      }) {};
 
+  "freckle-app" = callPackage
+    ({ mkDerivation, aeson, ansi-terminal, base, bytestring
+     , case-insensitive, conduit, data-default, datadog, directory
+     , doctest, errors, exceptions, fast-logger, filepath, Glob, hspec
+     , hspec-core, hspec-expectations-lifted, hspec-junit-formatter
+     , http-client, http-conduit, http-link-header, http-types, immortal
+     , iproute, lens, lens-aeson, load-env, monad-control, monad-logger
+     , MonadRandom, mtl, network, network-uri, persistent
+     , persistent-postgresql, postgresql-simple, primitive, process
+     , resource-pool, retry, rio, temporary, text, time, transformers
+     , transformers-base, unliftio, unliftio-core, wai, wai-extra, yaml
+     , yesod, yesod-core
+     }:
+     mkDerivation {
+       pname = "freckle-app";
+       version = "1.0.0.2";
+       sha256 = "1mrydqmwzwa391cb6pzxmjd5yl04f5xggz0wha7rm2a0pksgxphy";
+       libraryHaskellDepends = [
+         aeson ansi-terminal base bytestring case-insensitive conduit
+         data-default datadog doctest errors exceptions fast-logger filepath
+         Glob hspec hspec-core hspec-expectations-lifted
+         hspec-junit-formatter http-client http-conduit http-link-header
+         http-types immortal iproute lens load-env monad-control
+         monad-logger MonadRandom mtl network network-uri persistent
+         persistent-postgresql postgresql-simple primitive process
+         resource-pool retry rio text time transformers transformers-base
+         unliftio unliftio-core wai wai-extra yaml yesod yesod-core
+       ];
+       testHaskellDepends = [
+         aeson base bytestring directory hspec http-types lens lens-aeson
+         process temporary text time wai wai-extra
+       ];
+       description = "Haskell application toolkit used at Freckle";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "freddy" = callPackage
     ({ mkDerivation, amqp, async, base, broadcast-chan, bytestring
      , data-default, hspec, random, text, uuid
@@ -97405,18 +98437,17 @@ self: {
 
   "futhark-data" = callPackage
     ({ mkDerivation, base, binary, bytestring, bytestring-to-vector
-     , containers, megaparsec, mtl, QuickCheck, tasty, tasty-hunit
-     , tasty-quickcheck, text, vector, vector-binary-instances
+     , containers, half, megaparsec, mtl, QuickCheck, scientific, tasty
+     , tasty-hunit, tasty-quickcheck, text, vector
+     , vector-binary-instances
      }:
      mkDerivation {
        pname = "futhark-data";
-       version = "1.0.0.1";
-       sha256 = "126b7igrk0aldj4kjwkyvvsy3v64g9iv6w9ladbbfnd4qw7svswm";
-       revision = "1";
-       editedCabalFile = "08p820dmdlg5x6ikgi69sddkywj71cnnjwz2fppnv901bbn55fav";
+       version = "1.0.2.0";
+       sha256 = "1z5arzvd3n7cjmws2cwz7i8ji14xngrnza55781h06qh0pakg8dd";
        libraryHaskellDepends = [
-         base binary bytestring bytestring-to-vector containers megaparsec
-         mtl text vector vector-binary-instances
+         base binary bytestring bytestring-to-vector containers half
+         megaparsec mtl scientific text vector vector-binary-instances
        ];
        testHaskellDepends = [
          base binary bytestring megaparsec QuickCheck tasty tasty-hunit
@@ -97679,6 +98710,9 @@ self: {
        ];
        description = "A 'ten past six' style clock";
        license = "GPL";
+       platforms = [
+         "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
+       ];
      }) {};
 
   "fvars" = callPackage
@@ -99176,6 +100210,25 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "generic-lens_2_2_0_0" = callPackage
+    ({ mkDerivation, base, doctest, generic-lens-core, HUnit
+     , inspection-testing, lens, profunctors, text
+     }:
+     mkDerivation {
+       pname = "generic-lens";
+       version = "2.2.0.0";
+       sha256 = "0n61hrfciryl33w6vxd5p1yqjfxl02n717dahlvb6fxlg9339nxp";
+       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;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "generic-lens-core" = callPackage
     ({ mkDerivation, base, indexed-profunctors, text }:
      mkDerivation {
@@ -99187,6 +100240,18 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "generic-lens-core_2_2_0_0" = callPackage
+    ({ mkDerivation, base, indexed-profunctors, text }:
+     mkDerivation {
+       pname = "generic-lens-core";
+       version = "2.2.0.0";
+       sha256 = "0nj6ldwfidbyid85076gy8f5sa02xnbdhn51pkyg4dfqqz4r4hg8";
+       libraryHaskellDepends = [ base indexed-profunctors text ];
+       description = "Generically derive traversals, lenses and prisms";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "generic-lens-labels" = callPackage
     ({ mkDerivation, base, generic-lens }:
      mkDerivation {
@@ -99231,8 +100296,8 @@ self: {
     ({ mkDerivation, base, generics-sop }:
      mkDerivation {
        pname = "generic-match";
-       version = "0.3.0.0";
-       sha256 = "1h27gd7f0px3xgan9liqwav8xhl0smn6nhdmi7ggd18mjafa1ngv";
+       version = "0.3.0.1";
+       sha256 = "1qznsnb2d3dd9h5bdn54nkmqas4l4rsnp3fzj0bcpmbj3g245lc4";
        libraryHaskellDepends = [ base generics-sop ];
        description = "First class pattern matching";
        license = lib.licenses.mit;
@@ -99293,6 +100358,26 @@ self: {
        maintainers = with lib.maintainers; [ maralorn ];
      }) {};
 
+  "generic-optics_2_2_0_0" = callPackage
+    ({ mkDerivation, base, doctest, generic-lens-core, HUnit
+     , inspection-testing, optics-core, text
+     }:
+     mkDerivation {
+       pname = "generic-optics";
+       version = "2.2.0.0";
+       sha256 = "1iy7m5rs7rhk38zipwc018vcbkvlkpyr0rljkms6v0ajsvgkb783";
+       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;
+       hydraPlatforms = lib.platforms.none;
+       maintainers = with lib.maintainers; [ maralorn ];
+     }) {};
+
   "generic-optics-lite" = callPackage
     ({ mkDerivation, base, generic-lens-lite, optics-core }:
      mkDerivation {
@@ -99365,6 +100450,19 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "generic-random_1_5_0_0" = callPackage
+    ({ mkDerivation, base, deepseq, QuickCheck }:
+     mkDerivation {
+       pname = "generic-random";
+       version = "1.5.0.0";
+       sha256 = "033cs5vkx57ny035ngndhg3n32jbzyp98li9559gyiz8glp79pzg";
+       libraryHaskellDepends = [ base QuickCheck ];
+       testHaskellDepends = [ base deepseq QuickCheck ];
+       description = "Generic random generators for QuickCheck";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "generic-records" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -100591,14 +101689,14 @@ self: {
      }) {};
 
   "geomancy" = callPackage
-    ({ mkDerivation, base, criterion, deepseq, hedgehog, linear }:
+    ({ mkDerivation, base, containers, criterion, deepseq, hedgehog
+     , linear
+     }:
      mkDerivation {
        pname = "geomancy";
-       version = "0.2.2.3";
-       sha256 = "17xg6cxyl83dxlb1yv85cnavw8cgqj3mbr1v9sa46fawb4mlv9i8";
-       revision = "1";
-       editedCabalFile = "06cfw1jf1380cxqc5ywj768svym7nm0rmrglhjkfz6p29arc6hwr";
-       libraryHaskellDepends = [ base deepseq ];
+       version = "0.2.2.4";
+       sha256 = "0vx2dz7fxd4hq50whsx0g6i3v1aidr7rpbylf169q1vshhrl8yaf";
+       libraryHaskellDepends = [ base containers deepseq ];
        testHaskellDepends = [ base deepseq hedgehog linear ];
        benchmarkHaskellDepends = [ base criterion deepseq linear ];
        description = "Geometry and matrix manipulation";
@@ -100709,24 +101807,24 @@ self: {
 
   "gf" = callPackage
     ({ mkDerivation, alex, array, base, bytestring, Cabal, cgi
-     , containers, directory, exceptions, filepath, happy, haskeline
-     , httpd-shed, json, mtl, network, network-uri, parallel, pretty
-     , process, random, terminfo, time, time-compat, unix, utf8-string
+     , containers, directory, exceptions, filepath, ghc-prim, happy
+     , haskeline, httpd-shed, json, mtl, network, network-uri, parallel
+     , pretty, process, random, terminfo, time, transformers-compat
+     , unix, utf8-string
      }:
      mkDerivation {
        pname = "gf";
-       version = "3.10";
-       sha256 = "1f0wwrhid0iqk2lmf9aprkzml8xpc3vsvvfpqfywf8qk8i76wwkv";
-       revision = "3";
-       editedCabalFile = "1c6gv692pz1xf41ajdji62xs41l8yy35nlcn6x7rs7symgx1v1bg";
+       version = "3.11";
+       sha256 = "18fx0kba86hyyimrahvgs7jsd5g718psis4drmxmxmx3bdvxj3bd";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        setupHaskellDepends = [ base Cabal directory filepath process ];
        libraryHaskellDepends = [
          array base bytestring cgi containers directory exceptions filepath
-         haskeline httpd-shed json mtl network network-uri parallel pretty
-         process random terminfo time time-compat unix utf8-string
+         ghc-prim haskeline httpd-shed json mtl network network-uri parallel
+         pretty process random terminfo time transformers-compat unix
+         utf8-string
        ];
        libraryToolDepends = [ alex happy ];
        executableHaskellDepends = [ base ];
@@ -100816,16 +101914,31 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "ghc-api-compat" = callPackage
+  "ghc-api-compat_8_6" = callPackage
     ({ mkDerivation, ghc }:
      mkDerivation {
        pname = "ghc-api-compat";
        version = "8.6";
        sha256 = "1pxnb5qrf9fz7ghy68xvpdc44fh2kz3f9i5cn66ch7k0ah8j2w3s";
+       revision = "1";
+       editedCabalFile = "01i6h8358n148nzjx6k774d2i2hm6dhgpx162ppkmwmim17f3zyn";
        libraryHaskellDepends = [ ghc ];
        doHaddock = false;
        description = "GHC-API compatibility helpers";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
+  "ghc-api-compat" = callPackage
+    ({ mkDerivation, base, ghc }:
+     mkDerivation {
+       pname = "ghc-api-compat";
+       version = "8.10.6";
+       sha256 = "1zrwa266v776w8rvcjggdpnyhs8kk36w5wrh63l16kxh58yc2vjz";
+       libraryHaskellDepends = [ base ghc ];
+       doHaddock = false;
+       description = "GHC-API compatibility helpers";
+       license = lib.licenses.bsd3;
      }) {};
 
   "ghc-bignum" = callPackage
@@ -101417,8 +102530,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-lib";
-       version = "8.10.5.20210606";
-       sha256 = "0bl2jp44s3pd1a1sg0kslkhi97f4z2423kdkizg65m6cvmk25ijs";
+       version = "8.10.6.20210814";
+       sha256 = "0gnjps6xf5wq0nl4rlm4c1mqp3a3rbkwskv85fm852n5cf7bicd6";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory filepath
@@ -101453,17 +102566,17 @@ self: {
 
   "ghc-lib-parser" = callPackage
     ({ mkDerivation, alex, array, base, binary, bytestring, containers
-     , deepseq, directory, filepath, ghc-prim, happy, hpc, pretty
-     , process, time, transformers, unix
+     , deepseq, directory, filepath, ghc-prim, happy, pretty, process
+     , time, transformers, unix
      }:
      mkDerivation {
        pname = "ghc-lib-parser";
-       version = "8.10.5.20210606";
-       sha256 = "0pqsq49kvqwgbi6jw0dycbdzyldi0sannyqkfzavhqjf4mwjzn4a";
+       version = "8.10.6.20210814";
+       sha256 = "16kmm5wv3kym3qjq43pldycnira64zyga2c4b2vccvlvbi0v40hi";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory filepath
-         ghc-prim hpc pretty process time transformers unix
+         ghc-prim pretty process time transformers unix
        ];
        libraryToolDepends = [ alex happy ];
        description = "The GHC API, decoupled from GHC versions";
@@ -101498,8 +102611,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-lib-parser-ex";
-       version = "8.10.0.21";
-       sha256 = "0ynrn7qdmim35fs9qdlbajqwyz559x1l9cqmjhb54vbrs2xnk6vp";
+       version = "8.10.0.22";
+       sha256 = "1a1yhm8rflln6m8sn2bbh5x6cbn20zfq91vfk1ywmia0v5y2sx03";
        libraryHaskellDepends = [
          base bytestring containers ghc ghc-boot ghc-boot-th uniplate
        ];
@@ -101771,8 +102884,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-prof";
-       version = "1.4.1.8";
-       sha256 = "02k6il0a6cdr5dvf5x6gpjyn9vzn43kahqdsq5lzjvw5c6l0462p";
+       version = "1.4.1.9";
+       sha256 = "1m7pwrwf45hc8nscl9kzzw9n0blnfpx7dl38kv8hvshaqbbg0v4q";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -101820,8 +102933,8 @@ self: {
     ({ mkDerivation, base, filepath, optparse-applicative, process }:
      mkDerivation {
        pname = "ghc-prof-flamegraph";
-       version = "0.2.0.0";
-       sha256 = "1jvn243v0fhckqk3yjw2qf3zj3smhk2wjxqbj389gpxh790183cd";
+       version = "0.2.0.1";
+       sha256 = "11d9p9rb4z2ysmx5z076vaw0hr5y0h7bszwwx24vylkfddawv7v5";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -101901,8 +103014,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-source-gen";
-       version = "0.4.0.0";
-       sha256 = "0ch3nahhbm0lvz0x5dlmiv07rd0a6398bf046byx36fwrkqglswh";
+       version = "0.4.1.0";
+       sha256 = "09rd6p8bprmj9nbdhh2909hw5il9gapj0cm3i7aiin200v80k84y";
        libraryHaskellDepends = [ base ghc ];
        testHaskellDepends = [
          base ghc ghc-paths QuickCheck tasty tasty-hunit tasty-quickcheck
@@ -102057,6 +103170,19 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "ghc-tcplugin-api" = callPackage
+    ({ mkDerivation, base, ghc, transformers }:
+     mkDerivation {
+       pname = "ghc-tcplugin-api";
+       version = "0.3.1.0";
+       sha256 = "10s9i2n8r3ckdz3kd1s4pwwm4j8p8fg13xhn2m2dy4832iwg12bz";
+       libraryHaskellDepends = [ base ghc transformers ];
+       description = "An API for type-checker plugins";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "ghc-tcplugins-extra_0_3_2" = callPackage
     ({ mkDerivation, base, ghc }:
      mkDerivation {
@@ -102281,8 +103407,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghci-dap";
-       version = "0.0.15.0";
-       sha256 = "1m4ypd2d9bjdkdqrnqijc1na5g14mmjrcr5msgr7spsnskhzi4yg";
+       version = "0.0.16.0";
+       sha256 = "1ywlk4bf7m868vvd07vmzpv7d7xmw9haa16p13rx3kdf5rqc7wcv";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -102472,6 +103598,8 @@ self: {
        pname = "ghcide";
        version = "1.4.0.3";
        sha256 = "1znf54l3g44cskx5blfaibf1frgyhy5z7906rdvyzb0dqfmkbzpw";
+       revision = "1";
+       editedCabalFile = "1qm3zj7c8qkc0ncm9bl57zj5nj7jm8c4lg2wzjrgmz3vvfmsd11c";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -103202,6 +104330,21 @@ self: {
        license = lib.licenses.lgpl21Only;
      }) {inherit (pkgs) glib;};
 
+  "gi-gio-hs-list-model" = callPackage
+    ({ mkDerivation, base, containers, gi-gio, gi-gobject
+     , haskell-gi-base
+     }:
+     mkDerivation {
+       pname = "gi-gio-hs-list-model";
+       version = "0.1.0.1";
+       sha256 = "03gyr2fj8jaqrb6r7j14ylw1za7aqdblw0aihp6nr9s8hvqr80c2";
+       libraryHaskellDepends = [
+         base containers gi-gio gi-gobject haskell-gi-base
+       ];
+       description = "Haskell implementation of GListModel interface from gi-gio";
+       license = lib.licenses.lgpl21Only;
+     }) {};
+
   "gi-girepository" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, gi-glib
      , gi-gobject, gobject-introspection, haskell-gi, haskell-gi-base
@@ -103586,7 +104729,7 @@ self: {
        license = lib.licenses.lgpl21Only;
        hydraPlatforms = lib.platforms.none;
        broken = true;
-     }) {gtk-mac-integration-gtk3 = null;};
+     }) {inherit (pkgs) gtk-mac-integration-gtk3;};
 
   "gi-gtksheet" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, gi-atk
@@ -104350,8 +105493,8 @@ self: {
      }:
      mkDerivation {
        pname = "git-annex";
-       version = "8.20210630";
-       sha256 = "0mxzddaf7ra807aazx9gd4rl5565xzky0hwiyby0a06yqnf02266";
+       version = "8.20210803";
+       sha256 = "0777q454bgkzr930wacn48xm6ygi4i6rxsizvxjm3a0dlffnv3b2";
        configureFlags = [
          "-fassistant" "-f-benchmark" "-fdbus" "-f-debuglocks" "-fmagicmime"
          "-fnetworkbsd" "-fpairing" "-fproduction" "-fs3" "-ftorrentparser"
@@ -105013,6 +106156,30 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "github-rest_1_1_0" = 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.0";
+       sha256 = "0xyvmc8hj3rfglnhg6xcrdsd9gbii8yzh8qw5xjdyccmdsibckx3";
+       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;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "github-tools" = callPackage
     ({ mkDerivation, base, bytestring, containers, exceptions, github
      , groom, html, http-client, http-client-tls, monad-parallel
@@ -105177,14 +106344,14 @@ self: {
      , hslogger, HStringTemplate, HTTP, http-client-tls, http-conduit
      , json, mtl, network, network-bsd, network-uri, old-locale
      , old-time, pandoc, pandoc-types, parsec, pretty, process, random
-     , recaptcha, safe, SHA, skylighting, split, syb, tagsoup, text
-     , time, uri-bytestring, url, utf8-string, uuid, xhtml, xml
+     , recaptcha, safe, SHA, skylighting, split, syb, tagsoup, temporary
+     , text, time, uri-bytestring, url, utf8-string, uuid, xhtml, xml
      , xml-conduit, xml-types, xss-sanitize, zlib
      }:
      mkDerivation {
        pname = "gitit";
-       version = "0.13.0.0";
-       sha256 = "1d9vfjhr38xxpm0fq0b6dy581a1qacqg643njp8z2fz37rma3z15";
+       version = "0.15.0.0";
+       sha256 = "05kz7dxmiabp0gkivn5ngmn3xah3h7a14a421qw6nx2ld1cr9vgf";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -105195,8 +106362,8 @@ self: {
          http-client-tls http-conduit json mtl network network-bsd
          network-uri old-locale old-time pandoc pandoc-types parsec pretty
          process random recaptcha safe SHA skylighting split syb tagsoup
-         text time uri-bytestring url utf8-string uuid xhtml xml xml-conduit
-         xml-types xss-sanitize zlib
+         temporary text time uri-bytestring url utf8-string uuid xhtml xml
+         xml-conduit xml-types xss-sanitize zlib
        ];
        executableHaskellDepends = [
          base bytestring directory filepath hslogger HTTP mtl network
@@ -105244,19 +106411,20 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "gitlab-haskell_0_3_0" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, connection, http-conduit
-     , http-types, tasty, tasty-hunit, temporary, text, time
-     , transformers, unix, unliftio, unliftio-core
+  "gitlab-haskell_0_3_0_2" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, connection, http-client
+     , http-conduit, http-types, tasty, tasty-hunit, temporary, text
+     , time, transformers, unix, unliftio, unliftio-core
      }:
      mkDerivation {
        pname = "gitlab-haskell";
-       version = "0.3.0";
-       sha256 = "0krcan8i9lkickl77r9dyf93k96yxj5zp0asmzq86ds13m8f3s9i";
+       version = "0.3.0.2";
+       sha256 = "0ndwff0rk1b7vkggymb0ca0h0hg69kym7npcckv2x2pnw55lb5yz";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         aeson base bytestring connection http-conduit http-types temporary
-         text time transformers unix unliftio unliftio-core
+         aeson base bytestring connection http-client 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";
@@ -106142,8 +107310,8 @@ self: {
      }:
      mkDerivation {
        pname = "gloss-export";
-       version = "0.1.0.3";
-       sha256 = "1m1fxv516kfqx4y684xcd1x0vvzirgv1acawiam5nm26hqvxcf85";
+       version = "0.1.0.4";
+       sha256 = "1mllkmb11cqgaw183jjxmivs8h1n8vbr31bqlw94v4vjm4r4ljzl";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -106469,6 +107637,24 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "gmail-simple" = callPackage
+    ({ mkDerivation, aeson, base, base64, blaze-html, bytestring
+     , containers, cryptonite, http-api-data, http-conduit, http-media
+     , jwt, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "gmail-simple";
+       version = "0.1.0.2";
+       sha256 = "03zqp5gl3jxn2y5mx3qpb9xxj1zsbsbqapz9jdmvfrxdsb1xsa56";
+       libraryHaskellDepends = [
+         aeson base base64 blaze-html bytestring containers cryptonite
+         http-api-data http-conduit http-media jwt text time
+         unordered-containers
+       ];
+       description = "Simple library for Google Mail (GMail)";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "gmap" = callPackage
     ({ mkDerivation, array, AvlTree, base, COrdering, QuickCheck
      , random
@@ -109778,6 +110964,30 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "gotyno-hs" = callPackage
+    ({ mkDerivation, aeson, base, fsnotify, hspec, megaparsec
+     , optparse-applicative, pretty-show, rio, text
+     }:
+     mkDerivation {
+       pname = "gotyno-hs";
+       version = "1.1.0";
+       sha256 = "06iyihagbsxddn2lq26razb5q6j3g4mwb134lb62caw3r7iyxfd7";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base fsnotify megaparsec pretty-show rio text
+       ];
+       executableHaskellDepends = [
+         aeson base fsnotify megaparsec optparse-applicative pretty-show rio
+         text
+       ];
+       testHaskellDepends = [
+         aeson base fsnotify hspec megaparsec pretty-show rio text
+       ];
+       description = "A type definition compiler supporting multiple output languages";
+       license = lib.licenses.bsd2;
+     }) {};
+
   "gpah" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, cmdargs, containers, csv
      , deepseq, directory, filepath, haskell-src-exts, hint, HTTP
@@ -110037,18 +111247,18 @@ self: {
      , containers, criterion, deepseq, doctest, input-parsers
      , markdown-unlit, monoid-subclasses, parsers, QuickCheck
      , rank2classes, size-based, tasty, tasty-quickcheck, testing-feat
-     , text, transformers, witherable-class
+     , text, transformers, witherable
      }:
      mkDerivation {
        pname = "grammatical-parsers";
-       version = "0.5.1";
-       sha256 = "1y5w49bcfbadchy580q5dnkgl0k5daqykc2jhz8yai94pr43ishg";
+       version = "0.5.2";
+       sha256 = "1xnm5j0lznabscpswzvxjccwxb6c8js7jg3z1ddd60gffq69wpip";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          attoparsec base containers input-parsers monoid-subclasses parsers
-         rank2classes transformers witherable-class
+         rank2classes transformers witherable
        ];
        executableHaskellDepends = [
          base containers monoid-subclasses parsers rank2classes
@@ -110056,7 +111266,7 @@ self: {
        testHaskellDepends = [
          base checkers containers doctest monoid-subclasses parsers
          QuickCheck rank2classes size-based tasty tasty-quickcheck
-         testing-feat
+         testing-feat witherable
        ];
        testToolDepends = [ markdown-unlit ];
        benchmarkHaskellDepends = [
@@ -110948,8 +112158,8 @@ self: {
      }:
      mkDerivation {
        pname = "gray-extended";
-       version = "1.5.8";
-       sha256 = "1vli6dc0wc1an6vfhchai6s8xrg8rfds2k07x2xszaqg7r2njc9k";
+       version = "1.5.9";
+       sha256 = "0j2qw42fv5pg6v6bq51hk6lw3gcz35xd1gfvm8i74irv6bqialgy";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [
          base QuickCheck test-framework test-framework-quickcheck2
@@ -111188,8 +112398,8 @@ self: {
      }:
      mkDerivation {
        pname = "grid";
-       version = "7.8.14";
-       sha256 = "11rnsl6bs6qpx90p8jzdigncv6m5wbn6sav8gb3mlbm40fpi3p93";
+       version = "7.8.15";
+       sha256 = "0fsgax3xpdhnwn67s4wqqpvmm98j7b1fp6lrx98m15nxmjqb7rcc";
        libraryHaskellDepends = [ base containers ];
        testHaskellDepends = [
          base QuickCheck test-framework test-framework-quickcheck2
@@ -112122,7 +113332,9 @@ self: {
        libraryPkgconfigDepends = [ gtk-mac-integration-gtk2 ];
        description = "Bindings for the Gtk/OS X integration library";
        license = lib.licenses.lgpl21Only;
-       platforms = [ "x86_64-darwin" ];
+       platforms = [ "aarch64-darwin" "x86_64-darwin" ];
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {inherit (pkgs) gtk-mac-integration-gtk2;};
 
   "gtk-serialized-event" = callPackage
@@ -112164,8 +113376,8 @@ self: {
      }:
      mkDerivation {
        pname = "gtk-sni-tray";
-       version = "0.1.6.2";
-       sha256 = "1rcw57d5f0298y40ajmb2664ryrqsmcwbr2y1pk0sl2ggwr1zzsl";
+       version = "0.1.8.0";
+       sha256 = "0b8b8hvsv60zvnjidqm1qchxdgqdf5gcmm5pz8fvrvcjqq27b1xa";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -112439,7 +113651,7 @@ self: {
        license = lib.licenses.lgpl21Only;
        hydraPlatforms = lib.platforms.none;
        broken = true;
-     }) {gtk-mac-integration-gtk3 = null;};
+     }) {inherit (pkgs) gtk-mac-integration-gtk3;};
 
   "gtkglext" = callPackage
     ({ mkDerivation, base, Cabal, glib, gtk, gtk2, gtk2hs-buildtools
@@ -113229,7 +114441,7 @@ self: {
        license = "GPL";
        hydraPlatforms = lib.platforms.none;
        broken = true;
-     }) {inherit (pkgs) blas; liblapack = null;};
+     }) {inherit (pkgs) blas; inherit (pkgs) liblapack;};
 
   "hXmixer" = callPackage
     ({ mkDerivation, base, directory, gtk3, process, split, text }:
@@ -113786,36 +114998,14 @@ self: {
        broken = true;
      }) {};
 
-  "hackage-db_2_1_0" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, Cabal, containers
-     , directory, exceptions, filepath, tar, time, utf8-string
-     }:
-     mkDerivation {
-       pname = "hackage-db";
-       version = "2.1.0";
-       sha256 = "1vsc0lrbrb525frycqq0c5z846whymgcjl888gnlqd16nknbsn3l";
-       revision = "1";
-       editedCabalFile = "1h3x5a8xmqkkcd3h1m7z0il1vbsh2c77685y68zmyp21zb1y88hy";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson base bytestring Cabal containers directory exceptions
-         filepath tar time utf8-string
-       ];
-       description = "Access cabal-install's Hackage database via Data.Map";
-       license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       maintainers = with lib.maintainers; [ peti ];
-     }) {};
-
   "hackage-db" = callPackage
     ({ mkDerivation, aeson, base, bytestring, Cabal, containers
      , directory, exceptions, filepath, tar, time, utf8-string
      }:
      mkDerivation {
        pname = "hackage-db";
-       version = "2.1.1";
-       sha256 = "16y1iqb3y019hjdsq7q3zx51qy834ky3mw5vszqmzzhflqpicd31";
+       version = "2.1.2";
+       sha256 = "1aj82n2ay16zman829gq7s9dkg3qyyavca8hhjfibx8hzg6pmnap";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -113973,8 +115163,8 @@ self: {
        pname = "hackage-security";
        version = "0.6.0.1";
        sha256 = "05rgz31cmp52137j4jk0074z8lfgk8mrf2x56bzw28asmxrv8qli";
-       revision = "5";
-       editedCabalFile = "0vr2fcgp3pjjnp0sy7mvbabqh92215alw62f70pjys9i4z1ks977";
+       revision = "8";
+       editedCabalFile = "1xpzcdpfz0agbv75sadsylq6r8pq7zr0pyzbzrz0nz130yixsv5f";
        libraryHaskellDepends = [
          base base16-bytestring base64-bytestring bytestring Cabal
          containers cryptohash-sha256 directory ed25519 filepath ghc-prim
@@ -114207,8 +115397,8 @@ self: {
      }:
      mkDerivation {
        pname = "hackport";
-       version = "0.6.7";
-       sha256 = "1n7njjw7mc7c460zy3gfdk5x5xbmvna5f6ivc3qakabsh7n1l5d1";
+       version = "0.7";
+       sha256 = "0jp0120m11390bbrcarrqvavqj6fbjfm44wnhn8c6n6yfr29im24";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -114476,8 +115666,8 @@ self: {
      }:
      mkDerivation {
        pname = "hadolint";
-       version = "2.6.0";
-       sha256 = "0kxj853j4kr9vfp66mc47bd0ylzddbj6in6i7sjlcx4i861n3xnj";
+       version = "2.6.1";
+       sha256 = "1h4bcgjf6kxhaxjhdmpxkgxamrg3ibw43hkr97iqk9h5skjcx6d9";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -115304,8 +116494,8 @@ self: {
      }:
      mkDerivation {
        pname = "hakyll-images";
-       version = "1.0.1";
-       sha256 = "1fbwg37899m82y0gskk9wsif8bc9c3j4iznyqj7v54m5y0hxlhc0";
+       version = "1.1.0";
+       sha256 = "0kafqdhzwj8cjsdwv395981j09yjbzy2k8m09ql90l968zlm3bic";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base binary bytestring hakyll JuicyPixels JuicyPixels-extra
@@ -116155,8 +117345,8 @@ self: {
      }:
      mkDerivation {
        pname = "hanspell";
-       version = "0.2.3.0";
-       sha256 = "1n692i4d92g25j31v7iyp7w3135hxcdm5p18zki8mmx6x1pg244a";
+       version = "0.2.6.0";
+       sha256 = "0qk7zxq43mjcxyzhiidk0zm4sb2ii5wwr4zqihky538s6mqf5ccz";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -117363,26 +118553,6 @@ self: {
      }) {};
 
   "hasbolt" = callPackage
-    ({ mkDerivation, base, binary, bytestring, connection, containers
-     , data-binary-ieee754, data-default, hspec, mtl, network
-     , QuickCheck, text
-     }:
-     mkDerivation {
-       pname = "hasbolt";
-       version = "0.1.5.0";
-       sha256 = "0q0nd8d22knf6b1xwqz3gxmpymbvlx1p20hyahd5qr1yhjgpch0b";
-       libraryHaskellDepends = [
-         base binary bytestring connection containers data-binary-ieee754
-         data-default mtl network text
-       ];
-       testHaskellDepends = [
-         base bytestring containers hspec QuickCheck text
-       ];
-       description = "Haskell driver for Neo4j 3+ (BOLT protocol)";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "hasbolt_0_1_6_1" = callPackage
     ({ mkDerivation, base, base64-bytestring, binary, bytestring
      , connection, containers, criterion, data-binary-ieee754
      , data-default, deepseq, deepseq-generics, hspec, mtl, network
@@ -117405,7 +118575,6 @@ self: {
        ];
        description = "Haskell driver for Neo4j 3+ (BOLT protocol)";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hasbolt-extras" = callPackage
@@ -117485,8 +118654,8 @@ self: {
      }:
      mkDerivation {
        pname = "hascard";
-       version = "0.5.0.2";
-       sha256 = "1sh4903x05fwci7nmlqd0f2wjjs5b9bqckmgrkjpnawcnsbby1ds";
+       version = "0.5.0.3";
+       sha256 = "0ca6vpin2vavff94lw8an5sisni5ncz9cvidy48dvw5y5hlj2yv8";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -117702,6 +118871,8 @@ self: {
        pname = "hashable";
        version = "1.3.2.0";
        sha256 = "0dyn343wdwbm1facpcjiyd8w0s0hk23jqh7mbj108az5dx5rdgar";
+       revision = "1";
+       editedCabalFile = "05jwmd6d127vykb1y13q7sjn5mhfs5pbbkal33jq5kg1rx3hj6kq";
        libraryHaskellDepends = [
          base bytestring deepseq ghc-prim integer-gmp text
        ];
@@ -118241,15 +119412,15 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "haskeline_0_8_1_2" = callPackage
+  "haskeline_0_8_2" = callPackage
     ({ mkDerivation, base, bytestring, containers, directory
      , exceptions, filepath, HUnit, process, stm, terminfo, text
      , transformers, unix
      }:
      mkDerivation {
        pname = "haskeline";
-       version = "0.8.1.2";
-       sha256 = "0axr258a8wrsq37jwx4g343969lycydx9symijnp64a7ki67jrnp";
+       version = "0.8.2";
+       sha256 = "1pr7zik1138cj0463867i1qqb2bgsq716mryap18jx7zb9f1b7gc";
        configureFlags = [ "-fterminfo" ];
        isLibrary = true;
        isExecutable = true;
@@ -118618,8 +119789,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-debug-adapter";
-       version = "0.0.34.0";
-       sha256 = "00z9yhs2c34rdki404gcwf938a2lshr0a7mrvzpknk70n1a0gall";
+       version = "0.0.35.0";
+       sha256 = "1n8v7wgx5lqqw150lj9p8nzzxnmnjm2ksdvm7gcgb85shii7r2nf";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -119198,7 +120369,7 @@ self: {
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
        broken = true;
-     }) {open-pal = null; open-rte = null; openmpi = null;};
+     }) {open-pal = null; open-rte = null; inherit (pkgs) openmpi;};
 
   "haskell-names" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers
@@ -119584,8 +120755,8 @@ self: {
        pname = "haskell-src";
        version = "1.0.3.1";
        sha256 = "0cjigvshk4b8wqdk0v0hz9ag1kyjjsmqsy4a1m3n28ac008cg746";
-       revision = "3";
-       editedCabalFile = "0hjridmgm95lrb9qs972zicipsqcfwpr35gwkzxncpgwcm0vn0b6";
+       revision = "4";
+       editedCabalFile = "0cyqdw77clzz7mq0b4c0jg2d1kdz9xii41268w2psmqmfpyn29pc";
        libraryHaskellDepends = [ array base pretty syb ];
        libraryToolDepends = [ happy ];
        description = "Support for manipulating Haskell source code";
@@ -119731,6 +120902,8 @@ self: {
        pname = "haskell-src-meta";
        version = "0.8.7";
        sha256 = "1yy2dfb1ip1zqx3xh28g92209555abzvxrxiwcl95j27zzqxc6in";
+       revision = "1";
+       editedCabalFile = "1xf1rrbqa6fsr072xv4j4h687kk3glr9vlf16as6pdfaq7h5mz73";
        libraryHaskellDepends = [
          base haskell-src-exts pretty syb template-haskell th-orphans
        ];
@@ -120996,24 +122169,30 @@ self: {
      }) {};
 
   "hasklepias" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, containers, flow, hspec
-     , interval-algebra, lens, lens-aeson, QuickCheck, safe, text, time
+    ({ mkDerivation, aeson, base, bytestring, cmdargs, co-log
+     , containers, flow, ghc-prim, hspec, interval-algebra, lens
+     , lens-aeson, mtl, nonempty-containers, QuickCheck, safe
+     , semiring-simple, tasty, tasty-hspec, tasty-hunit, text, time
      , unordered-containers, vector, witherable
      }:
      mkDerivation {
        pname = "hasklepias";
-       version = "0.8.3";
-       sha256 = "01lq7q9gq7b5zi2bwlc6wpj914l660cl5wlvbznimhfnkr1aqrgm";
+       version = "0.16.1";
+       sha256 = "19bskg552zfkfxrkgp7s3pcwjccn3ra3qc13inis55gxg56gwcs0";
+       isLibrary = true;
+       isExecutable = true;
        libraryHaskellDepends = [
-         aeson base bytestring containers flow interval-algebra lens
-         lens-aeson QuickCheck safe text time unordered-containers vector
-         witherable
+         aeson base bytestring cmdargs co-log containers flow ghc-prim
+         interval-algebra lens lens-aeson mtl nonempty-containers QuickCheck
+         safe semiring-simple tasty tasty-hunit text time
+         unordered-containers vector witherable
        ];
        testHaskellDepends = [
          aeson base bytestring containers flow hspec interval-algebra lens
-         QuickCheck text time unordered-containers vector
+         QuickCheck tasty tasty-hspec tasty-hunit text time
+         unordered-containers vector
        ];
-       description = "Define features from events";
+       description = "embedded DSL for defining epidemiologic cohorts";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
        broken = true;
@@ -121147,8 +122326,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskoin-node";
-       version = "0.17.12";
-       sha256 = "0jb1ypscy5hgvbw5jrd5qjl7mdi2qgc7h3amyi50zh2m3lhmgjnv";
+       version = "0.17.14";
+       sha256 = "0a8lmap19gj2f6xyzz7mk4jdb8rc8vvzrri4jsb10n8xl5g9c2jj";
        libraryHaskellDepends = [
          base bytestring cereal conduit conduit-extra containers
          data-default hashable haskoin-core monad-logger mtl network nqe
@@ -121230,8 +122409,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskoin-store";
-       version = "0.53.4";
-       sha256 = "04q5a2hf198949z3dlswjq384ymlasq0my1a7n1v3kfr47hr1cjx";
+       version = "0.53.10";
+       sha256 = "0a20808l907wvgcdvbv7jvkpphpfj64x9cm7a07hpldsi2r3c26p";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -121276,8 +122455,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskoin-store-data";
-       version = "0.53.4";
-       sha256 = "034yb730i2f2dklqk6fcygg7c1h1l0zpm0xh6zkp4a7wjb77f4jp";
+       version = "0.53.10";
+       sha256 = "0rnqa294j909s06nadg58vdblfvswb6si04m6gyf4k3ihmd1nj39";
        libraryHaskellDepends = [
          aeson base binary bytes bytestring cereal containers data-default
          deepseq hashable haskoin-core http-client http-types lens mtl
@@ -122446,7 +123625,6 @@ self: {
        ];
        description = "A PostgreSQL backed queue";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hasql-simple" = callPackage
@@ -123396,7 +124574,7 @@ self: {
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
        broken = true;
-     }) {inherit (pkgs) blas; liblapack = null;};
+     }) {inherit (pkgs) blas; inherit (pkgs) liblapack;};
 
   "hblock" = callPackage
     ({ mkDerivation, aeson, base, blaze-markup, bytestring, cereal
@@ -124681,6 +125859,36 @@ self: {
        broken = true;
      }) {};
 
+  "heddit" = callPackage
+    ({ mkDerivation, aeson, aeson-casing, base, bytestring
+     , case-insensitive, conduit, conduit-extra, config-ini, containers
+     , exceptions, filepath, generic-lens, hashable, hspec
+     , http-api-data, http-client, http-client-tls, http-conduit
+     , http-types, microlens, microlens-ghc, mtl, random, scientific
+     , split, text, time, unliftio, unordered-containers, uri-bytestring
+     }:
+     mkDerivation {
+       pname = "heddit";
+       version = "0.2";
+       sha256 = "1hxshqw9s40yzpk0j4byqyvb3cqnfw2l3b2s4azbng77prvnmmd7";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson aeson-casing base bytestring case-insensitive conduit
+         conduit-extra config-ini containers exceptions filepath
+         generic-lens hashable http-api-data http-client http-client-tls
+         http-conduit http-types microlens microlens-ghc mtl random
+         scientific split text time unliftio unordered-containers
+         uri-bytestring
+       ];
+       testHaskellDepends = [
+         aeson base bytestring containers generic-lens hspec microlens
+       ];
+       description = "Reddit API bindings";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "hedgehog" = callPackage
     ({ mkDerivation, ansi-terminal, async, base, bytestring
      , concurrent-output, containers, deepseq, directory, erf
@@ -124744,6 +125952,8 @@ self: {
        pname = "hedgehog-classes";
        version = "0.2.5.2";
        sha256 = "0h9givw1l83l8z59w6y1rjcnply297b2iag3qhy1rmcjyq3d6m0m";
+       revision = "1";
+       editedCabalFile = "1z8b4mn4y0lnna5acp7fryqpq2355bgi7rzivg34fgfnf3fmwa0a";
        libraryHaskellDepends = [
          aeson base binary comonad containers hedgehog pretty-show primitive
          semirings silently transformers vector wl-pprint-annotated
@@ -124864,6 +126074,19 @@ self: {
        broken = true;
      }) {};
 
+  "hedgehog-optics" = callPackage
+    ({ mkDerivation, base, hedgehog, optics-core }:
+     mkDerivation {
+       pname = "hedgehog-optics";
+       version = "1.0.0.1";
+       sha256 = "0ybpq4c74w8y3wnfmy7macana4zlr4w1m2s0kk88yq67cvzfgb5w";
+       libraryHaskellDepends = [ base hedgehog optics-core ];
+       description = "Hedgehog properties for optics laws";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "hedgehog-quickcheck" = callPackage
     ({ mkDerivation, base, hedgehog, QuickCheck, transformers }:
      mkDerivation {
@@ -125220,10 +126443,10 @@ self: {
      }:
      mkDerivation {
        pname = "helf";
-       version = "0.2016.12.25";
-       sha256 = "03hslws4v8md2m89ppawh9gfqri7f2rjjiklgc5nvc8nfyxvg5kx";
+       version = "0.2021.8.12";
+       sha256 = "020ri4yjlascjmj4ywc2hji05673bszsb3q5frg1a66nbadzbi2h";
        revision = "1";
-       editedCabalFile = "11a3k59ig549dm3pg5wh2brrdiss1ln0yw3j0j4mgcvqi7kzzmd3";
+       editedCabalFile = "1573q8d39hgb4jq1bwpb7glxcv5bxv9vi27smhngk2wxxby9l4w3";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -125232,8 +126455,7 @@ self: {
        ];
        executableToolDepends = [ alex happy ];
        description = "Typechecking terms of the Edinburgh Logical Framework (LF)";
-       license = "unknown";
-       hydraPlatforms = lib.platforms.none;
+       license = lib.licenses.mit;
      }) {};
 
   "helics" = callPackage
@@ -126261,16 +127483,16 @@ self: {
      }:
      mkDerivation {
        pname = "hevm";
-       version = "0.46.0";
-       sha256 = "1pqs4hcjy1gipdp63d8jcy035n96rfx14x0s67ihmh16s11i85bz";
+       version = "0.48.0";
+       sha256 = "12clxkhkap4j0xkn5s2i6cphkhri8vccalg92znlm5drjpbmf457";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         abstract-par aeson ansi-wl-pprint base base16-bytestring binary
-         brick bytestring cereal containers cryptonite data-dword Decimal
-         deepseq directory fgl filepath free haskeline lens lens-aeson
-         megaparsec memory monad-par mtl multiset operational
+         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
          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
@@ -126292,8 +127514,10 @@ self: {
        testSystemDepends = [ secp256k1 ];
        description = "Ethereum virtual machine evaluator";
        license = lib.licenses.agpl3Only;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
+       platforms = [
+         "aarch64-darwin" "armv7l-linux" "i686-linux" "x86_64-darwin"
+         "x86_64-linux"
+       ];
      }) {inherit (pkgs) libff; inherit (pkgs) secp256k1;};
 
   "hevolisa" = callPackage
@@ -126928,7 +128152,7 @@ self: {
        libraryToolDepends = [ CoreServices ];
        description = "File/folder watching for OS X";
        license = lib.licenses.bsd3;
-       platforms = [ "x86_64-darwin" ];
+       platforms = [ "aarch64-darwin" "x86_64-darwin" ];
      }) {inherit (pkgs.darwin.apple_sdk.frameworks) Cocoa; 
          inherit (pkgs.darwin.apple_sdk.frameworks) CoreServices;};
 
@@ -129560,7 +130784,7 @@ self: {
        maintainers = with lib.maintainers; [ peti ];
      }) {};
 
-  "hledger_1_22" = callPackage
+  "hledger_1_22_2" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, base, base-compat-batteries
      , bytestring, cmdargs, containers, data-default, Decimal, Diff
      , directory, extra, filepath, githash, hashable, haskeline
@@ -129571,8 +130795,8 @@ self: {
      }:
      mkDerivation {
        pname = "hledger";
-       version = "1.22";
-       sha256 = "1w7akdl9pn77s3fnb5wq3f7k2xpxnf91ann8qy5gpq66nszm6pqc";
+       version = "1.22.2";
+       sha256 = "1g1v56fxgs7ya8yl22brwgrs49a50kd77k8ad8m8l5cnlnviqb3g";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -129723,6 +130947,41 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "hledger-iadd_1_3_15" = 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.15";
+       sha256 = "1jnym3jfixyrldl83jjy3syx6n411gd8dr2jh69lx5wbq8qddpfm";
+       revision = "1";
+       editedCabalFile = "1vyvnk64397kmlhflq1vp9rswhxbcywdw20738z3wq1pig2hqf7b";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base brick containers directory free hledger-lib megaparsec
+         microlens microlens-th optparse-applicative 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;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "hledger-interest" = callPackage
     ({ mkDerivation, base, Cabal, Decimal, hledger-lib, mtl, text, time
      }:
@@ -129740,6 +130999,24 @@ self: {
        maintainers = with lib.maintainers; [ peti ];
      }) {};
 
+  "hledger-interest_1_6_2" = callPackage
+    ({ mkDerivation, base, Cabal, Decimal, hledger-lib, mtl, text, time
+     }:
+     mkDerivation {
+       pname = "hledger-interest";
+       version = "1.6.2";
+       sha256 = "06gx19vld2lqq5w15hj7amcn1yi7rx8dxrb32hb05aari8b9qdzz";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base Cabal Decimal hledger-lib mtl text time
+       ];
+       description = "computes interest for a given account";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       maintainers = with lib.maintainers; [ peti ];
+     }) {};
+
   "hledger-irr" = callPackage
     ({ mkDerivation, base, Cabal, data-default-class, Decimal
      , hledger-lib, math-functions, text, time
@@ -129796,7 +131073,7 @@ self: {
        license = lib.licenses.gpl3Only;
      }) {};
 
-  "hledger-lib_1_22" = callPackage
+  "hledger-lib_1_22_2" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, array, base
      , base-compat-batteries, blaze-markup, bytestring, call-stack
      , cassava, cassava-megaparsec, cmdargs, containers, data-default
@@ -129808,8 +131085,8 @@ self: {
      }:
      mkDerivation {
        pname = "hledger-lib";
-       version = "1.22";
-       sha256 = "06qddk2nhjq3g02in3hcxz4hfwq9fcb3356shzbljx7ssmzjakzm";
+       version = "1.22.2";
+       sha256 = "0xv8g6xyqjlqqlgq4qc0r1nskj4r53q000q5075hzp7gww8lzidl";
        libraryHaskellDepends = [
          aeson aeson-pretty ansi-terminal array base base-compat-batteries
          blaze-markup bytestring call-stack cassava cassava-megaparsec
@@ -129905,7 +131182,7 @@ self: {
        maintainers = with lib.maintainers; [ peti ];
      }) {};
 
-  "hledger-ui_1_22" = callPackage
+  "hledger-ui_1_22_2" = callPackage
     ({ mkDerivation, ansi-terminal, async, base, base-compat-batteries
      , brick, cmdargs, containers, data-default, directory, extra
      , filepath, fsnotify, hledger, hledger-lib, megaparsec, microlens
@@ -129914,8 +131191,8 @@ self: {
      }:
      mkDerivation {
        pname = "hledger-ui";
-       version = "1.22";
-       sha256 = "1izidpxwygghq0c3z7pygf9c9qlsydw89gs6475hsd4qiqc06gjr";
+       version = "1.22.2";
+       sha256 = "07mal5ql3yvx0m38kkfh7zyjqn34m5a07jmhm23mwv4a4pdck4rw";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -129987,7 +131264,7 @@ self: {
        maintainers = with lib.maintainers; [ peti ];
      }) {};
 
-  "hledger-web_1_22" = callPackage
+  "hledger-web_1_22_2" = callPackage
     ({ mkDerivation, aeson, base, blaze-html, blaze-markup, bytestring
      , case-insensitive, clientsession, cmdargs, conduit, conduit-extra
      , containers, data-default, Decimal, directory, extra, filepath
@@ -130000,8 +131277,8 @@ self: {
      }:
      mkDerivation {
        pname = "hledger-web";
-       version = "1.22";
-       sha256 = "0miy111zz8yqw0i87sn91aiplznc7fbirznpar8y5mch8z4wn4bs";
+       version = "1.22.2";
+       sha256 = "1ia11h2r6cl1985lij598qighxfhqfcv4am0nyfpvfihik14fq4c";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -130253,8 +131530,8 @@ self: {
        pname = "hlrdb";
        version = "0.3.2.0";
        sha256 = "1k4dsd4h3fv1ag753gwxvirfrj53ra4ik948pyacq31c16mz1l2p";
-       revision = "1";
-       editedCabalFile = "1ypb0197v5x6a5zkj7qqrr7lam3sxvvi3wbgk5imvdppq2rj7hqz";
+       revision = "2";
+       editedCabalFile = "15z6f2qqis3qi1cfq43hhcqgcsinx58ha3bghh0pfybqysvbjmmd";
        libraryHaskellDepends = [
          base base64-bytestring bytestring cryptonite hashable hedis
          hlrdb-core memory random store time unordered-containers zstd
@@ -130533,6 +131810,8 @@ self: {
        pname = "hls-plugin-api";
        version = "1.1.0.2";
        sha256 = "1x49h8087x3fynagm4na72lyqyy58bb33kcrzkfcpbr3lsb8k455";
+       revision = "1";
+       editedCabalFile = "0pgicyph7zz2c7pbcair4wp4x5vvkmigbxxzrsxsgmvavki8r904";
        libraryHaskellDepends = [
          aeson base containers data-default dependent-map dependent-sum Diff
          dlist ghc ghc-api-compat hashable hls-graph hslogger lens lsp
@@ -130654,6 +131933,8 @@ self: {
        pname = "hls-tactics-plugin";
        version = "1.2.0.0";
        sha256 = "0djyskzsv1hz92p6x62nf78j1f0x9nl55fl5mzc29lncqib8g8ak";
+       revision = "2";
+       editedCabalFile = "0ywqrd6wxbmblmf7m58cj5yarcl4869fdzrlnm0gia6qc1qa0y8j";
        libraryHaskellDepends = [
          aeson base containers deepseq directory extra filepath fingertree
          generic-lens ghc ghc-boot-th ghc-exactprint ghc-source-gen ghcide
@@ -130815,7 +132096,7 @@ self: {
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
        broken = true;
-     }) {liblapack = null;};
+     }) {inherit (pkgs) liblapack;};
 
   "hmatrix-csv" = callPackage
     ({ mkDerivation, base, bytestring, cassava, hmatrix, vector }:
@@ -130902,7 +132183,7 @@ self: {
        benchmarkHaskellDepends = [ base criterion hmatrix ];
        description = "Low-level machine learning auxiliary functions";
        license = lib.licenses.bsd3;
-     }) {inherit (pkgs) blas; liblapack = null;};
+     }) {inherit (pkgs) blas; inherit (pkgs) liblapack;};
 
   "hmatrix-nipals" = callPackage
     ({ mkDerivation, base, hmatrix }:
@@ -131273,6 +132554,34 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "hmm-lapack_0_4_1" = callPackage
+    ({ mkDerivation, base, comfort-array, comfort-array-shape
+     , containers, deepseq, doctest-exitcode-stdio, doctest-lib
+     , 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.1";
+       sha256 = "0m0axils10dr49b7ag8cnfnlwb9va6ng615hhbpqw81kir6avq6z";
+       libraryHaskellDepends = [
+         base comfort-array comfort-array-shape containers deepseq
+         explicit-exception fixed-length lapack lazy-csv netlib-ffi
+         non-empty prelude-compat random semigroups tfp transformers
+         utility-ht
+       ];
+       testHaskellDepends = [
+         base comfort-array comfort-array-shape containers deepseq
+         doctest-exitcode-stdio doctest-lib fixed-length lapack non-empty
+         QuickCheck random tfp utility-ht
+       ];
+       doHaddock = false;
+       description = "Hidden Markov Models using LAPACK primitives";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "hmp3" = callPackage
     ({ mkDerivation, array, base, binary, bytestring, containers
      , directory, mersenne-random, ncurses, old-time, pcre-light
@@ -131420,9 +132729,9 @@ self: {
 
   "hnix" = callPackage
     ({ mkDerivation, aeson, array, base, base16-bytestring, binary
-     , bytestring, comonad, containers, criterion, data-fix, deepseq
-     , deriving-compat, Diff, directory, exceptions, filepath, free
-     , gitrev, Glob, hashable, hashing, haskeline, hedgehog
+     , bytestring, comonad, containers, criterion, cryptonite, data-fix
+     , deepseq, deriving-compat, Diff, directory, exceptions, filepath
+     , free, gitrev, Glob, hashable, hashing, haskeline, hedgehog
      , hnix-store-core, hnix-store-remote, http-client, http-client-tls
      , http-types, lens-family, lens-family-core, lens-family-th, logict
      , megaparsec, monad-control, monadlist, mtl, neat-interpolation
@@ -131435,17 +132744,15 @@ self: {
      }:
      mkDerivation {
        pname = "hnix";
-       version = "0.13.1";
-       sha256 = "12mqwhvxk0w0fjbdl3ignayp08nm31qi028wq5qrkcyxw29ff1k7";
-       revision = "1";
-       editedCabalFile = "01dmzpcqav7p764dpicih8jm0g6yiiqgww8b5m6c0bfvvgfqyx2h";
+       version = "0.14.0.1";
+       sha256 = "1d8rsbifx29560c3kj4l688snxb6sz391m1pkkcfdakizwjzz983";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson array base base16-bytestring binary bytestring comonad
-         containers data-fix deepseq deriving-compat directory exceptions
-         filepath free gitrev hashable hashing hnix-store-core
+         containers cryptonite data-fix deepseq deriving-compat directory
+         exceptions filepath free gitrev hashable hashing hnix-store-core
          hnix-store-remote http-client http-client-tls http-types
          lens-family lens-family-core lens-family-th logict megaparsec
          monad-control monadlist mtl neat-interpolation optparse-applicative
@@ -131471,43 +132778,12 @@ self: {
        ];
        description = "Haskell implementation of the Nix language";
        license = lib.licenses.bsd3;
+       maintainers = with lib.maintainers; [ Anton-Latukha ];
      }) {};
 
   "hnix-store-core" = callPackage
     ({ mkDerivation, algebraic-graphs, attoparsec, base
      , base16-bytestring, base64-bytestring, binary, bytestring, cereal
-     , containers, cryptohash-md5, cryptohash-sha1, cryptohash-sha256
-     , cryptohash-sha512, directory, filepath, hashable, hspec
-     , lifted-base, monad-control, mtl, nix-derivation, process, saltine
-     , tasty, tasty-discover, tasty-golden, tasty-hspec, tasty-hunit
-     , tasty-quickcheck, temporary, text, time, unix
-     , unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "hnix-store-core";
-       version = "0.4.3.0";
-       sha256 = "17l7198s3dzjx416nplinyghbqgignvpvxkww241gjv4p23izf77";
-       libraryHaskellDepends = [
-         algebraic-graphs attoparsec base base16-bytestring
-         base64-bytestring bytestring cereal containers cryptohash-md5
-         cryptohash-sha1 cryptohash-sha256 cryptohash-sha512 directory
-         filepath hashable lifted-base monad-control mtl nix-derivation
-         saltine text time unix unordered-containers vector
-       ];
-       testHaskellDepends = [
-         attoparsec base base16-bytestring base64-bytestring binary
-         bytestring containers directory filepath hspec process tasty
-         tasty-golden tasty-hspec tasty-hunit tasty-quickcheck temporary
-         text unix
-       ];
-       testToolDepends = [ tasty-discover ];
-       description = "Core effects for interacting with the Nix store";
-       license = lib.licenses.asl20;
-     }) {};
-
-  "hnix-store-core_0_5_0_0" = callPackage
-    ({ mkDerivation, algebraic-graphs, attoparsec, base
-     , base16-bytestring, base64-bytestring, binary, bytestring, cereal
      , containers, cryptonite, directory, filepath, hashable, hspec
      , lifted-base, memory, monad-control, mtl, nix-derivation, process
      , saltine, tasty, tasty-discover, tasty-golden, tasty-hspec
@@ -131535,28 +132811,11 @@ self: {
        testToolDepends = [ tasty-discover ];
        description = "Core effects for interacting with the Nix store";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
+       maintainers = with lib.maintainers; [ Anton-Latukha ];
      }) {};
 
   "hnix-store-remote" = callPackage
     ({ mkDerivation, attoparsec, base, binary, bytestring, containers
-     , hnix-store-core, mtl, network, nix-derivation, text, time
-     , unordered-containers
-     }:
-     mkDerivation {
-       pname = "hnix-store-remote";
-       version = "0.4.3.1";
-       sha256 = "1wp6z5f13fkgh3mdzr1zcqdvsx1j90l5isf671gsg43brsv4c2vl";
-       libraryHaskellDepends = [
-         attoparsec base binary bytestring containers hnix-store-core mtl
-         network nix-derivation text time unordered-containers
-       ];
-       description = "Remote hnix store";
-       license = lib.licenses.asl20;
-     }) {};
-
-  "hnix-store-remote_0_5_0_0" = callPackage
-    ({ mkDerivation, attoparsec, base, binary, bytestring, containers
      , cryptonite, hnix-store-core, mtl, network, nix-derivation, text
      , time, unordered-containers
      }:
@@ -131571,7 +132830,7 @@ self: {
        ];
        description = "Remote hnix store";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
+       maintainers = with lib.maintainers; [ Anton-Latukha ];
      }) {};
 
   "hnn" = callPackage
@@ -132992,6 +134251,7 @@ self: {
        description = "A language based on homotopy type theory with an interval type";
        license = lib.licenses.gpl2Only;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hora" = callPackage
@@ -133471,14 +134731,14 @@ self: {
 
   "hpack-dhall" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, Cabal
-     , dhall, dhall-json, Diff, directory, filepath, hpack, megaparsec
-     , microlens, optparse-applicative, prettyprinter, tasty
+     , dhall, dhall-json, Diff, directory, filepath, hlint, hpack
+     , megaparsec, microlens, optparse-applicative, prettyprinter, tasty
      , tasty-golden, text, transformers, utf8-string, yaml
      }:
      mkDerivation {
        pname = "hpack-dhall";
-       version = "0.5.2";
-       sha256 = "16mnh9hwp0224cn3rlpbjgqklgvbaffbzjskyksakpgxc0phk1zi";
+       version = "0.5.3";
+       sha256 = "1prpk9lppz8h5bp6slhl7lm28jw6jf746py9vras0m0g6mrcc3l7";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -133492,8 +134752,8 @@ self: {
        ];
        testHaskellDepends = [
          aeson aeson-pretty base bytestring Cabal dhall dhall-json Diff
-         directory filepath hpack megaparsec microlens prettyprinter tasty
-         tasty-golden text transformers utf8-string yaml
+         directory filepath hlint hpack megaparsec microlens prettyprinter
+         tasty tasty-golden text transformers utf8-string yaml
        ];
        description = "hpack's dhalling";
        license = lib.licenses.bsd3;
@@ -133641,14 +134901,14 @@ self: {
 
   "hpath-directory" = callPackage
     ({ mkDerivation, base, bytestring, exceptions, hpath-filepath
-     , hpath-posix, hspec, HUnit, IfElse, process, safe-exceptions
-     , streamly, streamly-bytestring, streamly-posix, time, transformers
-     , unix, unix-bytestring, utf8-string
+     , hpath-posix, hspec, hspec-discover, HUnit, IfElse, process
+     , safe-exceptions, streamly, streamly-bytestring, streamly-posix
+     , time, transformers, unix, unix-bytestring, utf8-string
      }:
      mkDerivation {
        pname = "hpath-directory";
-       version = "0.14.2";
-       sha256 = "04lkan37v8i1clw459csn8jvkzasz0p8ik8q8slqb9g3a5j68hjy";
+       version = "0.14.2.2";
+       sha256 = "0541pd1ac47wyxwz07yvk8yg1ldbfwzgfaq6rfl8pf182p607a6m";
        libraryHaskellDepends = [
          base bytestring exceptions hpath-filepath hpath-posix IfElse
          safe-exceptions streamly streamly-bytestring streamly-posix time
@@ -133658,6 +134918,7 @@ self: {
          base bytestring hpath-filepath hpath-posix hspec HUnit IfElse
          process time unix unix-bytestring utf8-string
        ];
+       testToolDepends = [ hspec-discover ];
        description = "Alternative to 'directory' package with ByteString based filepaths";
        license = lib.licenses.bsd3;
      }) {};
@@ -133991,8 +135252,8 @@ self: {
      }:
      mkDerivation {
        pname = "hpqtypes";
-       version = "1.9.1.1";
-       sha256 = "0s5dyia6v59vz7xk8m6gj0shdygk39pmks5yr7dlzksb8gqfgral";
+       version = "1.9.1.2";
+       sha256 = "1dvyvsj5f5fpqs6jgqxhrf1dfq2nwb75rf797zkyy3m4a278d58q";
        setupHaskellDepends = [ base Cabal directory filepath ];
        libraryHaskellDepends = [
          aeson async base bytestring containers exceptions lifted-base
@@ -134258,6 +135519,32 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "hq" = callPackage
+    ({ mkDerivation, base, bytestring, cassava, containers, conversion
+     , data-default-class, erf, gsl, hmatrix, hmatrix-gsl
+     , hmatrix-gsl-stats, hspec, hspec-expectations, ieee754
+     , math-functions, mersenne-random-pure64, monad-loops, mtl, random
+     , random-fu, random-source, rvar, sorted-list, statistics, stm
+     , text, time, vector, vector-algorithms
+     }:
+     mkDerivation {
+       pname = "hq";
+       version = "0.1.0.11";
+       sha256 = "093hckgsivd6fnpihrvqaq3hba78wgczaj2yyrlkskdx1hqdqbbw";
+       libraryHaskellDepends = [
+         base bytestring cassava containers conversion data-default-class
+         erf hmatrix hmatrix-gsl hmatrix-gsl-stats ieee754 math-functions
+         mersenne-random-pure64 monad-loops mtl random random-fu
+         random-source rvar sorted-list statistics stm text time vector
+         vector-algorithms
+       ];
+       librarySystemDepends = [ gsl ];
+       libraryPkgconfigDepends = [ gsl ];
+       testHaskellDepends = [ base hspec hspec-expectations ];
+       description = "Quantitative Library";
+       license = lib.licenses.bsd3;
+     }) {inherit (pkgs) gsl;};
+
   "hquantlib" = callPackage
     ({ mkDerivation, base, containers, hmatrix, hmatrix-gsl
      , hmatrix-special, hquantlib-time, HUnit, mersenne-random-pure64
@@ -134554,21 +135841,23 @@ self: {
      }) {GeoIP = null;};
 
   "hs-aws-lambda" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, case-insensitive
+    ({ mkDerivation, aeson, base, base64, bytestring, case-insensitive
      , containers, deepseq, http-client, http-types, safe-exceptions
-     , text, unliftio
+     , text, time, unliftio, vector
      }:
      mkDerivation {
        pname = "hs-aws-lambda";
-       version = "0.1.0.4";
-       sha256 = "1brykgglhslvgh3jrklr4m3mjcrzp0yq90xxyqh3h0prmswnx9y7";
+       version = "0.2.0.0";
+       sha256 = "0s79riyqx8aaaqcq83izidwx46jhgggmag5z2shx9hbmw8bx64cq";
        libraryHaskellDepends = [
-         aeson base bytestring case-insensitive containers deepseq
-         http-client http-types safe-exceptions text unliftio
+         aeson base base64 bytestring case-insensitive containers deepseq
+         http-client http-types safe-exceptions text time unliftio vector
        ];
-       testHaskellDepends = [ base ];
-       description = "A modern and easy-to-use wrapper for Docker-based Lambda implementations";
+       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
@@ -135228,6 +136517,28 @@ self: {
        broken = true;
      }) {};
 
+  "hs-sdl-term-emulator" = callPackage
+    ({ mkDerivation, ansi-terminal, async, base, bytestring, conduit
+     , conduit-extra, hs-term-emulator, lens, linear, posix-pty, process
+     , sdl2, stm, stm-conduit, vector
+     }:
+     mkDerivation {
+       pname = "hs-sdl-term-emulator";
+       version = "0.1.0.4";
+       sha256 = "1pknfni2a39vgm28z0xiynnzah4znp8l5z5b3i5fymsv3a0qf9sn";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         ansi-terminal async base bytestring conduit conduit-extra
+         hs-term-emulator lens linear posix-pty process sdl2 stm stm-conduit
+         vector
+       ];
+       executableHaskellDepends = [ base ];
+       description = "Terminal Emulator written in Haskell, SDL2 Backend";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "hs-server-starter" = callPackage
     ({ mkDerivation, base, directory, HUnit, network, temporary, unix
      }:
@@ -135313,6 +136624,49 @@ self: {
        broken = true;
      }) {};
 
+  "hs-tags_0_1_5_1" = callPackage
+    ({ mkDerivation, base, Cabal, containers, directory, filepath, ghc
+     , ghc-paths, mtl, process, strict
+     }:
+     mkDerivation {
+       pname = "hs-tags";
+       version = "0.1.5.1";
+       sha256 = "1yk1x24qar19hx47yjlr4f1qz3ld45hzpc74yxak73rsz08c08dx";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base Cabal containers directory filepath ghc ghc-paths mtl process
+         strict
+       ];
+       description = "Create tag files (ctags and etags) for Haskell code";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "hs-term-emulator" = callPackage
+    ({ mkDerivation, ansi-terminal, attoparsec, base, bytestring
+     , containers, criterion, hspec, hspec-discover, lens, text, vector
+     }:
+     mkDerivation {
+       pname = "hs-term-emulator";
+       version = "0.1.0.4";
+       sha256 = "1fcfym449w2rk56sjarbqjmkxs6w3ww32viazl2p1ghn6cb9pk10";
+       libraryHaskellDepends = [
+         ansi-terminal attoparsec base bytestring containers lens text
+         vector
+       ];
+       testHaskellDepends = [
+         ansi-terminal attoparsec base hspec lens text vector
+       ];
+       testToolDepends = [ hspec-discover ];
+       benchmarkHaskellDepends = [ base criterion ];
+       description = "Terminal Emulator written in 100% Haskell";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "hs-twitter" = callPackage
     ({ mkDerivation, base, HTTP, json, mime, network, old-locale
      , old-time, random, utf8-string
@@ -136373,6 +137727,56 @@ self: {
        license = lib.licenses.lgpl3Only;
      }) {};
 
+  "hscim" = callPackage
+    ({ mkDerivation, aeson, aeson-qq, attoparsec, base, bytestring
+     , case-insensitive, email-validate, hashable, hedgehog, hspec
+     , hspec-discover, hspec-expectations, hspec-wai, http-api-data
+     , http-media, http-types, hw-hspec-hedgehog, list-t, microlens
+     , mmorph, mtl, network-uri, retry, scientific, servant
+     , servant-client, servant-client-core, servant-server, stm
+     , stm-containers, string-conversions, template-haskell, text, time
+     , unordered-containers, uuid, wai, wai-extra, warp
+     }:
+     mkDerivation {
+       pname = "hscim";
+       version = "0.3.5";
+       sha256 = "16qkrw1a5la2x26d3q1bixxlnf1giqcc8bx4gn4swbynkyrsihr5";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson aeson-qq attoparsec base bytestring case-insensitive
+         email-validate hashable hedgehog hspec hspec-expectations hspec-wai
+         http-api-data http-media http-types hw-hspec-hedgehog list-t
+         microlens mmorph mtl network-uri retry scientific servant
+         servant-client servant-client-core servant-server stm
+         stm-containers string-conversions template-haskell text time
+         unordered-containers uuid wai wai-extra warp
+       ];
+       executableHaskellDepends = [
+         aeson aeson-qq attoparsec base bytestring case-insensitive
+         email-validate hashable hedgehog hspec hspec-expectations hspec-wai
+         http-api-data http-media http-types hw-hspec-hedgehog list-t
+         microlens mmorph mtl network-uri retry scientific servant
+         servant-client servant-client-core servant-server stm
+         stm-containers string-conversions template-haskell text time
+         unordered-containers uuid wai wai-extra warp
+       ];
+       testHaskellDepends = [
+         aeson aeson-qq attoparsec base bytestring case-insensitive
+         email-validate hashable hedgehog hspec hspec-expectations hspec-wai
+         http-api-data http-media http-types hw-hspec-hedgehog list-t
+         microlens mmorph mtl network-uri retry scientific servant
+         servant-client servant-client-core servant-server stm
+         stm-containers string-conversions template-haskell text time
+         unordered-containers uuid wai wai-extra warp
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "hscim json schema and server implementation";
+       license = lib.licenses.agpl3Only;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "hsclock" = callPackage
     ({ mkDerivation, base, cairo, glib, gtk, old-time }:
      mkDerivation {
@@ -136893,7 +138297,8 @@ self: {
        libraryPkgconfigDepends = [ gsl ];
        description = "Signal processing and EEG data analysis";
        license = lib.licenses.bsd3;
-     }) {inherit (pkgs) blas; inherit (pkgs) gsl; liblapack = null;};
+     }) {inherit (pkgs) blas; inherit (pkgs) gsl; 
+         inherit (pkgs) liblapack;};
 
   "hsilop" = callPackage
     ({ mkDerivation, base, directory, filepath, haskeline, xdg-basedir
@@ -137334,7 +138739,7 @@ self: {
 
   "hsmagick" = callPackage
     ({ mkDerivation, base, bytestring, bzip2, directory, filepath
-     , freetype2, GraphicsMagick, jasper, lcms, libjpeg, libpng, libxml2
+     , freetype, GraphicsMagick, jasper, lcms, libjpeg, libpng, libxml2
      , pretty, process, tiff, wmflite, zlib
      }:
      mkDerivation {
@@ -137348,18 +138753,16 @@ self: {
        librarySystemDepends = [
          bzip2 jasper libjpeg libpng tiff wmflite zlib
        ];
-       libraryPkgconfigDepends = [
-         freetype2 GraphicsMagick lcms libxml2
-       ];
+       libraryPkgconfigDepends = [ freetype GraphicsMagick lcms libxml2 ];
        description = "FFI bindings for the GraphicsMagick library";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
        broken = true;
-     }) {GraphicsMagick = null; inherit (pkgs) bzip2; freetype2 = null; 
-         inherit (pkgs) jasper; inherit (pkgs) lcms; 
-         inherit (pkgs) libjpeg; inherit (pkgs) libpng; 
-         inherit (pkgs) libxml2; tiff = null; wmflite = null; 
-         inherit (pkgs) zlib;};
+     }) {GraphicsMagick = null; inherit (pkgs) bzip2; 
+         inherit (pkgs) freetype; inherit (pkgs) jasper; 
+         inherit (pkgs) lcms; inherit (pkgs) libjpeg; 
+         inherit (pkgs) libpng; inherit (pkgs) libxml2; tiff = null; 
+         wmflite = null; inherit (pkgs) zlib;};
 
   "hsmisc" = callPackage
     ({ mkDerivation, base, containers, HUnit, mtl, old-locale, parsec
@@ -137464,6 +138867,7 @@ self: {
        description = "Nock 5K interpreter";
        license = lib.licenses.publicDomain;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hsnoise" = callPackage
@@ -137686,14 +139090,14 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "hspec_2_8_2" = callPackage
+  "hspec_2_8_3" = callPackage
     ({ mkDerivation, base, hspec-core, hspec-discover
      , hspec-expectations, QuickCheck
      }:
      mkDerivation {
        pname = "hspec";
-       version = "2.8.2";
-       sha256 = "1s03c1928ndl8bqi3n9fb8a5adr0lycl9qs3x1i6aprzr851myh5";
+       version = "2.8.3";
+       sha256 = "1ryv1qad2rw40ak6n7agfd0sib1xk2iyqpz0qhgyxwp3kkjhrn49";
        libraryHaskellDepends = [
          base hspec-core hspec-discover hspec-expectations QuickCheck
        ];
@@ -137784,7 +139188,7 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "hspec-core_2_8_2" = callPackage
+  "hspec-core_2_8_3" = callPackage
     ({ mkDerivation, ansi-terminal, array, base, call-stack, clock
      , deepseq, directory, filepath, hspec-expectations, hspec-meta
      , HUnit, process, QuickCheck, quickcheck-io, random, setenv
@@ -137792,8 +139196,8 @@ self: {
      }:
      mkDerivation {
        pname = "hspec-core";
-       version = "2.8.2";
-       sha256 = "0id4c70hq46y2s623y4zsj9pycqp90a3ig991shrhxxd6836c4cx";
+       version = "2.8.3";
+       sha256 = "0khq0xa6agqcvbngzlxnvd9xwh7dmp4rsb2nzvfwsaknw2674i0k";
        libraryHaskellDepends = [
          ansi-terminal array base call-stack clock deepseq directory
          filepath hspec-expectations HUnit QuickCheck quickcheck-io random
@@ -137849,19 +139253,20 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "hspec-discover_2_8_2" = callPackage
-    ({ mkDerivation, base, directory, filepath, hspec-meta, QuickCheck
+  "hspec-discover_2_8_3" = callPackage
+    ({ mkDerivation, base, directory, filepath, hspec-meta, mockery
+     , QuickCheck
      }:
      mkDerivation {
        pname = "hspec-discover";
-       version = "2.8.2";
-       sha256 = "0bmdph9q4rg5rgr6s65h7si2l5rxyyqv80j5rri6zb4d1n9ih6hs";
+       version = "2.8.3";
+       sha256 = "09rjrq289si08cza48gcp29780rv21rs0b12xglkmbd6vfqzp6cs";
        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";
@@ -138121,8 +139526,8 @@ self: {
      }:
      mkDerivation {
        pname = "hspec-junit-formatter";
-       version = "1.0.0.4";
-       sha256 = "1fyxx847d37ib0dhdn4n7y6sk7d0xw1zcind39m3hmbvxvx3j648";
+       version = "1.0.0.5";
+       sha256 = "0s5k3svkhzn0l2r39vvs50d8hfqljal04l2cx3c5ymnkjfi49mdv";
        libraryHaskellDepends = [
          base conduit directory exceptions hashable hspec hspec-core
          resourcet temporary text xml-conduit xml-types
@@ -138676,8 +140081,8 @@ self: {
      }:
      mkDerivation {
        pname = "hspretty";
-       version = "0.1.0.0";
-       sha256 = "11mbrr785j6pa02zil705sy67cdvjhwq9l927mm74barf9ph776r";
+       version = "0.2.0.0";
+       sha256 = "1nxsw25a8g8xhfbcybsamn64bzrr7gl2q6ydd62zj073bkh413iq";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -139723,8 +141128,8 @@ self: {
      }:
      mkDerivation {
        pname = "html-conduit";
-       version = "1.3.2.1";
-       sha256 = "196c8zcnjp1pc5qvqxd8arx3xkw0a90rvg9mmiw2l4zwnx65709n";
+       version = "1.3.2.2";
+       sha256 = "09bwrdam3y47kqllgg6w098ghqb8jb10dp4wxirsvx5ddpx9zpi6";
        libraryHaskellDepends = [
          attoparsec base bytestring conduit conduit-extra containers
          resourcet text transformers xml-conduit xml-types
@@ -140547,6 +141952,24 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "http-common_0_8_3_4" = callPackage
+    ({ mkDerivation, base, base64-bytestring, blaze-builder, bytestring
+     , case-insensitive, directory, mtl, network, random, text
+     , transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "http-common";
+       version = "0.8.3.4";
+       sha256 = "1xpbnfac0fqa5r670ggwm4kq3cmz9jpaw9bx40j9w9qiw6xi4i28";
+       libraryHaskellDepends = [
+         base base64-bytestring blaze-builder bytestring case-insensitive
+         directory mtl network random text transformers unordered-containers
+       ];
+       description = "Common types for HTTP clients and servers";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "http-conduit" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, blaze-builder, bytestring
      , case-insensitive, conduit, conduit-extra, connection, cookie
@@ -141196,6 +142619,38 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "http-streams_0_8_9_4" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, attoparsec, base
+     , base64-bytestring, blaze-builder, bytestring, case-insensitive
+     , directory, filepath, ghc-prim, HsOpenSSL, hspec
+     , hspec-expectations, http-common, HUnit, io-streams, lifted-base
+     , mtl, network, network-uri, openssl-streams, random, snap-core
+     , snap-server, system-fileio, system-filepath, text, transformers
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "http-streams";
+       version = "0.8.9.4";
+       sha256 = "03xdcb0v735xdrkjlm1w56mskh3x08cbsjrcd7wn4li65ixc20xa";
+       libraryHaskellDepends = [
+         aeson attoparsec base base64-bytestring blaze-builder bytestring
+         case-insensitive directory filepath HsOpenSSL http-common
+         io-streams mtl network network-uri openssl-streams text
+         transformers unordered-containers
+       ];
+       testHaskellDepends = [
+         aeson aeson-pretty attoparsec base base64-bytestring blaze-builder
+         bytestring case-insensitive directory ghc-prim HsOpenSSL hspec
+         hspec-expectations http-common HUnit io-streams lifted-base mtl
+         network network-uri openssl-streams random snap-core snap-server
+         system-fileio system-filepath text transformers
+         unordered-containers
+       ];
+       description = "An HTTP client using io-streams";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "http-test" = callPackage
     ({ mkDerivation, aeson, base, bytestring, http-client, lens
      , lens-aeson, mtl, tasty, tasty-hunit, text, time, wreq
@@ -141844,8 +143299,8 @@ self: {
     ({ mkDerivation, base, dejafu, exceptions, HUnit }:
      mkDerivation {
        pname = "hunit-dejafu";
-       version = "2.0.0.4";
-       sha256 = "11d52blw31mcsg7c3w1f7khy3vk2p03h4c5z6ja6wb9k5bg4d004";
+       version = "2.0.0.5";
+       sha256 = "0pbsbj70a2m7zvk25wa8mi0ymxv4c49g2vgg8819wpjcrxw8sy64";
        libraryHaskellDepends = [ base dejafu exceptions HUnit ];
        description = "Deja Fu support for the HUnit test framework";
        license = lib.licenses.mit;
@@ -142065,8 +143520,8 @@ self: {
      }:
      mkDerivation {
        pname = "hurl";
-       version = "2.1.0.1";
-       sha256 = "16j7kxxp60i0nbiscc1x5a14s7n8qyv8rzjm6a03pqdpbmfzrrwq";
+       version = "2.1.1.0";
+       sha256 = "0hlkqgbk8siycz055lqn01qgn8npgqyq59br2yvpbk4rz7jzjmfa";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -142155,6 +143610,7 @@ self: {
        description = "A simple command line calculator";
        license = "GPL";
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hutton" = callPackage
@@ -142241,8 +143697,8 @@ self: {
     ({ mkDerivation, base, hvega, text }:
      mkDerivation {
        pname = "hvega-theme";
-       version = "0.2.0.4";
-       sha256 = "0g2h5is0gbr43fn8pbfj2nzh4wlgx6kjayq4lcnbr10z0j3vpqpv";
+       version = "0.2.0.5";
+       sha256 = "19pkrv92wr0bzalrzz15fmz74ylzcab8klqppnjzpdmym43zd0rm";
        libraryHaskellDepends = [ base hvega text ];
        description = "Theme for hvega";
        license = lib.licenses.gpl3Only;
@@ -145693,41 +147149,6 @@ self: {
      }:
      mkDerivation {
        pname = "ihaskell";
-       version = "0.10.2.0";
-       sha256 = "061gpwclcykrs4pqhsb96hrbwnpmq0q6fx9701wk684v01xjfddk";
-       isLibrary = true;
-       isExecutable = true;
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         aeson base base64-bytestring bytestring cereal cmdargs containers
-         directory exceptions filepath ghc ghc-boot ghc-parser ghc-paths
-         haskeline hlint http-client http-client-tls ipython-kernel mtl
-         parsec process random shelly split stm strict text time
-         transformers unix unordered-containers utf8-string vector
-       ];
-       executableHaskellDepends = [
-         aeson base bytestring containers directory ghc ipython-kernel
-         process strict text transformers unix unordered-containers
-       ];
-       testHaskellDepends = [
-         base directory ghc ghc-paths here hspec hspec-contrib HUnit
-         raw-strings-qq setenv shelly text transformers
-       ];
-       description = "A Haskell backend kernel for the IPython project";
-       license = lib.licenses.mit;
-     }) {};
-
-  "ihaskell_0_10_2_1" = callPackage
-    ({ mkDerivation, aeson, base, base64-bytestring, bytestring, cereal
-     , cmdargs, containers, directory, exceptions, filepath, ghc
-     , ghc-boot, ghc-parser, ghc-paths, haskeline, here, hlint, hspec
-     , hspec-contrib, http-client, http-client-tls, HUnit
-     , ipython-kernel, mtl, parsec, process, random, raw-strings-qq
-     , setenv, shelly, split, stm, strict, text, time, transformers
-     , unix, unordered-containers, utf8-string, vector
-     }:
-     mkDerivation {
-       pname = "ihaskell";
        version = "0.10.2.1";
        sha256 = "1bpxm51c8f0cl7cvg7d2f39fnar7a811s3fgxvxmvsb7yw3v92vc";
        isLibrary = true;
@@ -145750,7 +147171,6 @@ self: {
        ];
        description = "A Haskell backend kernel for the IPython project";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ihaskell-aeson" = callPackage
@@ -146030,6 +147450,8 @@ self: {
        pname = "ilist";
        version = "0.4.0.1";
        sha256 = "016wa9n4glxcyvbifvfz2khk9i1i5wzfyl952vp1fhwpjrr8aj04";
+       revision = "1";
+       editedCabalFile = "0v95piihkiaw69n5wr761h7ky463z6irpg4dwszj1b7g0g7vcyhy";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base hspec transformers ];
        benchmarkHaskellDepends = [
@@ -146565,8 +147987,8 @@ self: {
      }:
      mkDerivation {
        pname = "implicit-hie";
-       version = "0.1.2.5";
-       sha256 = "0jgnsbd38gw20h1lv39bh3n9bhawkjq90ajalgjyy5pih434mphf";
+       version = "0.1.2.6";
+       sha256 = "1j2q1mqxfgcb8r6388xanmp5i1sdh6w52s08nd94g5lpg93mjz2q";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -146593,8 +148015,8 @@ self: {
      }:
      mkDerivation {
        pname = "implicit-hie-cradle";
-       version = "0.3.0.3";
-       sha256 = "1rv6piiyy0f9l2pmwlc3j47g2lnz7sbipb5jdn1m76z4j66y05n9";
+       version = "0.3.0.5";
+       sha256 = "0c8pyw5nx8b05wqdczy892n0knsniysrxllg2y8q5905mns8h7pc";
        libraryHaskellDepends = [
          base base16-bytestring bytestring containers directory extra
          filepath hie-bios hslogger implicit-hie process temporary text time
@@ -146839,6 +148261,18 @@ self: {
        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
     ({ mkDerivation, base, stm }:
      mkDerivation {
@@ -147260,6 +148694,8 @@ self: {
        pname = "indexed-traversable";
        version = "0.1.1";
        sha256 = "0fc18vdm1894yjbjkj9wjm27bf37ac3gvkzak677mgiw2pinmhvs";
+       revision = "1";
+       editedCabalFile = "0krvp9v5dh4w2076kar48cpkk62ndqp769v2ai3b38rsa5bj6q74";
        libraryHaskellDepends = [ array base containers transformers ];
        description = "FunctorWithIndex, FoldableWithIndex, TraversableWithIndex";
        license = lib.licenses.bsd2;
@@ -147914,8 +149350,8 @@ self: {
      }:
      mkDerivation {
        pname = "input-parsers";
-       version = "0.2.2";
-       sha256 = "1kb70nxg8bji7bd0y0w81bqyhx62xrbv3y2vib6sp3jkz7yriarz";
+       version = "0.2.3";
+       sha256 = "1ck2y3bl60bgzqg43kfcff1y84qygmanay1x8cjlxam60mip1w7v";
        libraryHaskellDepends = [
          attoparsec base binary bytestring monoid-subclasses parsec parsers
          text transformers
@@ -148009,6 +149445,23 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "inspection-testing_0_4_6_0" = callPackage
+    ({ mkDerivation, base, containers, ghc, mtl, template-haskell
+     , transformers
+     }:
+     mkDerivation {
+       pname = "inspection-testing";
+       version = "0.4.6.0";
+       sha256 = "0qz1npyycj4bvyly9xmjbnhw569l52h38gx02rk0r7zhapw83aig";
+       libraryHaskellDepends = [
+         base containers ghc mtl template-haskell transformers
+       ];
+       testHaskellDepends = [ base ];
+       description = "GHC plugin to do inspection testing";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "inspector-wrecker" = callPackage
     ({ mkDerivation, aeson, base, bytestring, case-insensitive
      , connection, data-default, http-client, http-client-tls
@@ -148789,16 +150242,19 @@ self: {
      }) {};
 
   "interpolation" = callPackage
-    ({ mkDerivation, array, base, containers, QuickCheck, utility-ht }:
+    ({ mkDerivation, array, base, containers, doctest-exitcode-stdio
+     , doctest-lib, QuickCheck, utility-ht
+     }:
      mkDerivation {
        pname = "interpolation";
-       version = "0.1.1.1";
-       sha256 = "081xlf59xp0j1svigkqfcz5an3yl3p8f5402i6492hz9rpv5qwy5";
+       version = "0.1.1.2";
+       sha256 = "0y61hwm4xfa1wna4xk61c5p3b3z8i589lz6cxkk2pbaifydccxy0";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base utility-ht ];
        testHaskellDepends = [
-         array base containers QuickCheck utility-ht
+         array base containers doctest-exitcode-stdio doctest-lib QuickCheck
+         utility-ht
        ];
        description = "piecewise linear and cubic Hermite interpolation";
        license = lib.licenses.bsd3;
@@ -148887,21 +150343,23 @@ self: {
      }) {};
 
   "interval-algebra" = callPackage
-    ({ mkDerivation, base, containers, hspec, QuickCheck, safe, time
-     , witherable
+    ({ mkDerivation, base, containers, foldl, hspec, QuickCheck, safe
+     , time, witherable
      }:
      mkDerivation {
        pname = "interval-algebra";
-       version = "0.8.2";
-       sha256 = "1xa9rlb9klf0bnig0ccryjxcbz023hwy1wnxp4vwn5ggb0fbmzys";
+       version = "0.10.1";
+       sha256 = "1nplznmspji7g51g2xxsr2b5lahhxqnmbs180mm3zmvkam8zizri";
        libraryHaskellDepends = [
-         base containers QuickCheck safe time witherable
+         base containers foldl QuickCheck safe time witherable
        ];
        testHaskellDepends = [
-         base containers hspec QuickCheck safe time
+         base containers hspec QuickCheck safe time witherable
        ];
        description = "An implementation of Allen's interval algebra for temporal logic";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "interval-functor" = callPackage
@@ -149569,6 +151027,7 @@ self: {
        ];
        description = "Library for IP and MAC addresses";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ip-quoter" = callPackage
@@ -149941,8 +151400,8 @@ self: {
      }:
      mkDerivation {
        pname = "irc-client";
-       version = "1.1.2.1";
-       sha256 = "1zaa8na730m96flgiyzcwq95v2ianvflsw3abvdavf7xpq4s71ld";
+       version = "1.1.2.2";
+       sha256 = "0hhaf7xhy3q48gkp2j01jjiiz0ww9mwwjh8brbqs8phlal03ks70";
        libraryHaskellDepends = [
          base bytestring conduit connection containers contravariant
          exceptions irc-conduit irc-ctcp mtl network-conduit-tls old-locale
@@ -149972,8 +151431,8 @@ self: {
      }:
      mkDerivation {
        pname = "irc-conduit";
-       version = "0.3.0.4";
-       sha256 = "0asaddcbdcnbp0bbhvzaq5514nw2l1cp1gac3jbn4mh7brgfwjc1";
+       version = "0.3.0.5";
+       sha256 = "02ziqjzqdyaizhrrzlbq4ddkfjfjf58jvwqfzrbf0mf0f5scv9cz";
        libraryHaskellDepends = [
          async base bytestring conduit conduit-extra connection irc irc-ctcp
          network-conduit-tls profunctors text time tls transformers
@@ -150005,8 +151464,8 @@ self: {
     ({ mkDerivation, base, bytestring, text }:
      mkDerivation {
        pname = "irc-ctcp";
-       version = "0.1.3.0";
-       sha256 = "16mp9dpp57id760zc932dszd5r1ncskwwxrp0djka5r1alddjz6n";
+       version = "0.1.3.1";
+       sha256 = "1ckdbxnjv96bpyhcpdi0vj6pjjq8wm4zyh75fps57wi1j61c4v2n";
        libraryHaskellDepends = [ base bytestring text ];
        description = "A CTCP encoding and decoding library for IRC clients";
        license = lib.licenses.mit;
@@ -150505,6 +151964,23 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "isocline" = callPackage
+    ({ mkDerivation, base, bytestring, text }:
+     mkDerivation {
+       pname = "isocline";
+       version = "1.0.1";
+       sha256 = "1s57gqzhic1zjc0fn1j8l834cfa24w9q2rvhbxdfkb442qpw4piw";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base bytestring text ];
+       executableHaskellDepends = [ base bytestring text ];
+       testHaskellDepends = [ base bytestring text ];
+       description = "A portable alternative to GNU Readline";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "isohunt" = callPackage
     ({ mkDerivation, aeson, base, bytestring, data-default, ghc-prim
      , http-conduit, text, unordered-containers, uri, vector
@@ -150780,6 +152256,28 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "iterative-forward-search" = callPackage
+    ({ mkDerivation, base, containers, criterion, deepseq, fingertree
+     , hashable, random, time, transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "iterative-forward-search";
+       version = "0.1.0.0";
+       sha256 = "03cnrhnr93va6vd1fi6ccqzdlng37ggkh0ff45bk9m4b25pwrgql";
+       libraryHaskellDepends = [
+         base containers deepseq fingertree hashable random time
+         transformers unordered-containers
+       ];
+       benchmarkHaskellDepends = [
+         base containers criterion deepseq fingertree hashable random time
+         transformers unordered-containers
+       ];
+       description = "An IFS constraint solver";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "iterio-server" = callPackage
     ({ mkDerivation, base, bytestring, filepath, iterIO, ListLike
      , monadIO, mtl, network, split, transformers, unix
@@ -151363,6 +152861,8 @@ self: {
        pname = "jack";
        version = "0.7.2";
        sha256 = "0aa7nz8ybsw7s0nmf12kxnjm5z1afj88c97b1w17b7lvdwvfs3cx";
+       revision = "1";
+       editedCabalFile = "16g5xc67811jvckfn0xfvcwbxi0kcx1qh87pyhrqvrp4k8m68g2v";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -151900,18 +153400,18 @@ self: {
 
   "jenkinsPlugins2nix" = callPackage
     ({ mkDerivation, attoparsec, base, bimap, bytestring, containers
-     , cryptohash, hnix, http-conduit, mtl, optparse-applicative
+     , cryptonite, hnix, http-conduit, mtl, optparse-applicative
      , prettyprinter, prettyprinter-ansi-terminal, tasty-hspec, text
      , zip-archive
      }:
      mkDerivation {
        pname = "jenkinsPlugins2nix";
-       version = "0.3.0.1";
-       sha256 = "0jqapzgq0z346af1626zl67dnnpr6i7bsqrhxhiz32w70kjhisa1";
+       version = "0.5.0.0";
+       sha256 = "15nalymjgvzsv6pyhy4fx70cdnffd1kamhl94w0xg0vrzrqq17rc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         attoparsec base bytestring containers cryptohash hnix http-conduit
+         attoparsec base bytestring containers cryptonite hnix http-conduit
          mtl prettyprinter text zip-archive
        ];
        executableHaskellDepends = [
@@ -151955,6 +153455,27 @@ self: {
        broken = true;
      }) {};
 
+  "jet-stream" = callPackage
+    ({ mkDerivation, async, base, bytestring, conceit, doctest, foldl
+     , process, stm, stm-chans, tasty, tasty-hunit, text, time
+     }:
+     mkDerivation {
+       pname = "jet-stream";
+       version = "1.0.0.0";
+       sha256 = "1nbxm1g83wf2wv0hlrrc37rppj80r4hwij47j98n6rwsm94rvigd";
+       libraryHaskellDepends = [
+         async base bytestring conceit process stm stm-chans text
+       ];
+       testHaskellDepends = [
+         async base bytestring conceit doctest foldl process stm stm-chans
+         tasty tasty-hunit text time
+       ];
+       description = "Yet another streaming library";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "jinquantities" = callPackage
     ({ mkDerivation, base, containers, doctest, Glob, hlint, hspec, mtl
      , parsec, process, quantities, regex-compat
@@ -152315,6 +153836,37 @@ self: {
        license = lib.licenses.asl20;
      }) {};
 
+  "jose_0_8_4_1" = 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.1";
+       sha256 = "0zwac71gqxf2wz840gfwnpv0ax7c4wpiwkcxqwcfil7fn4bqjlpw";
+       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;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "jose-jwt" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, cereal
      , containers, criterion, cryptonite, hspec, HUnit, memory, mtl
@@ -153106,7 +154658,7 @@ self: {
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
        broken = true;
-     }) {python = null;};
+     }) {inherit (pkgs) python;};
 
   "json-qq" = callPackage
     ({ mkDerivation, base, haskell-src-meta, parsec, template-haskell
@@ -153692,8 +155244,8 @@ self: {
      }:
      mkDerivation {
        pname = "jsonrpc-conduit";
-       version = "0.3.4";
-       sha256 = "18lqkcq69k3hjbqzxycdgrfrd2a5m3ahxwja0yw8xi9x6mw33cxi";
+       version = "0.3.5";
+       sha256 = "08w59nhb13vbimcad42k2n9mfd501wqc8zvdqzrxi0c2lkx0gfkx";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring conduit conduit-extra mtl text
          transformers unordered-containers
@@ -154468,8 +156020,8 @@ self: {
      }:
      mkDerivation {
        pname = "kan-extensions";
-       version = "5.2.2";
-       sha256 = "184qhhjd24i15mcs4lq8fdb86pdg3g5nxhx1x41prigrmi6cxwrv";
+       version = "5.2.3";
+       sha256 = "1rkjxwc2k2425d2shdra6wzd4f4dpj76hxmq8mish4f0lz9gxxml";
        libraryHaskellDepends = [
          adjunctions array base comonad containers contravariant
          distributive free invariant mtl profunctors semigroupoids tagged
@@ -154616,6 +156168,27 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "karabiner-config" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, bytestring, directory
+     , file-embed, hspec, process, temporary, text
+     }:
+     mkDerivation {
+       pname = "karabiner-config";
+       version = "0.0.0.0";
+       sha256 = "0ic8h33f6ij63y718zy43x8yvcmayd8hxrqb8fs9v2f5b3sxxp9v";
+       libraryHaskellDepends = [
+         aeson aeson-pretty base bytestring directory text
+       ];
+       testHaskellDepends = [
+         aeson aeson-pretty base bytestring directory file-embed hspec
+         process temporary text
+       ];
+       description = "Karabiner elements configuration generation";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "karakuri" = callPackage
     ({ mkDerivation, base, comonad, containers, minioperational, mtl
      , transformers
@@ -155579,8 +157152,8 @@ self: {
      }:
      mkDerivation {
        pname = "keid-core";
-       version = "0.1.0.0";
-       sha256 = "05h4dp27sp23ihmr8hvflqr1bqyf590s607sxl9vc1k46k9hc179";
+       version = "0.1.0.1";
+       sha256 = "1hvrnyw1m03v36xyak514a4v0l2jrwz7mr5k3jqzdmab4srz887s";
        libraryHaskellDepends = [
          adjunctions base binary bytestring cryptohash-md5 derive-storable
          derive-storable-plugin distributive foldl geomancy GLFW-b ktx-codec
@@ -155595,13 +157168,15 @@ self: {
      }) {};
 
   "keid-geometry" = callPackage
-    ({ mkDerivation, base, geomancy, keid-core, rio, rio-app, vulkan }:
+    ({ mkDerivation, base, geomancy, keid-core, mtl, rio, rio-app
+     , vector, vulkan
+     }:
      mkDerivation {
        pname = "keid-geometry";
-       version = "0.1.0.0";
-       sha256 = "1bhmxgbza1l9qr25g8ad31j70z1dmvsa5gd05fgpwha9liixahsc";
+       version = "0.1.0.1";
+       sha256 = "0cnvgkqcc4nqvsbm9h6kn1l3sgs7dlhcb7iq6z18ynwry8z510w0";
        libraryHaskellDepends = [
-         base geomancy keid-core rio rio-app vulkan
+         base geomancy keid-core mtl rio rio-app vector vulkan
        ];
        description = "Geometry primitives for Keid engine";
        license = lib.licenses.bsd3;
@@ -155611,19 +157186,19 @@ self: {
   "keid-render-basic" = callPackage
     ({ mkDerivation, aeson, base, binary, bytestring, cryptohash-md5
      , derive-storable, derive-storable-plugin, foldl, geomancy, GLFW-b
-     , keid-core, neat-interpolation, resourcet, rio, rio-app, tagged
-     , text, unliftio, vector, vulkan, vulkan-utils
+     , keid-core, keid-geometry, neat-interpolation, resourcet, rio
+     , rio-app, tagged, text, unliftio, vector, vulkan, vulkan-utils
      , VulkanMemoryAllocator, zstd
      }:
      mkDerivation {
        pname = "keid-render-basic";
-       version = "0.1.0.0";
-       sha256 = "1rjvf5bxh3llfq1pd9hwy8laida9rhw4f49ca5hn69cnpchpngmy";
+       version = "0.1.1.0";
+       sha256 = "0j8474chg9qbknj71nd288h8r5652rk55vax7y5nzm5qznbirg1b";
        libraryHaskellDepends = [
          aeson base binary bytestring cryptohash-md5 derive-storable
          derive-storable-plugin foldl geomancy GLFW-b keid-core
-         neat-interpolation resourcet rio rio-app tagged text unliftio
-         vector vulkan vulkan-utils VulkanMemoryAllocator zstd
+         keid-geometry neat-interpolation resourcet rio rio-app tagged text
+         unliftio vector vulkan vulkan-utils VulkanMemoryAllocator zstd
        ];
        description = "Basic rendering programs for Keid engine";
        license = lib.licenses.bsd3;
@@ -155648,6 +157223,22 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "keid-sound-openal" = callPackage
+    ({ mkDerivation, base, geomancy, keid-core, OpenAL, opusfile
+     , resourcet, rio, unliftio
+     }:
+     mkDerivation {
+       pname = "keid-sound-openal";
+       version = "0.1.0.0";
+       sha256 = "17ml9xh8qrvyrcsi1ai6br286bf9c6j29wbmp5sp65spp2kwlyng";
+       libraryHaskellDepends = [
+         base geomancy keid-core OpenAL opusfile resourcet rio unliftio
+       ];
+       description = "OpenAL sound system for Keid engine";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "keid-ui-dearimgui" = callPackage
     ({ mkDerivation, base, binary, bytestring, cryptohash-md5
      , dear-imgui, derive-storable, derive-storable-plugin, foldl
@@ -156640,8 +158231,7 @@ self: {
        libraryToolDepends = [ c2hs ];
        description = "A binding to the kqueue event library";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
+       platforms = [ "aarch64-darwin" "x86_64-darwin" ];
      }) {};
 
   "kraken" = callPackage
@@ -156666,13 +158256,13 @@ self: {
   "krank" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, hspec
      , hspec-expectations, http-client, http-types, lifted-async, mtl
-     , optparse-applicative, pcre-heavy, pretty-terminal, PyF, req
-     , safe-exceptions, text, unordered-containers
+     , optparse-applicative, pcre-heavy, pretty-terminal, process, PyF
+     , req, safe-exceptions, text, unordered-containers
      }:
      mkDerivation {
        pname = "krank";
-       version = "0.2.2";
-       sha256 = "10w6vbpcn9n07s99w02izg7nfizpbq5m5mg6zv46f1llm35jpv6w";
+       version = "0.2.3";
+       sha256 = "0y78njv85s7mcza541gdax5l9651vm78k78ay42phcfvniv82hgx";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -156682,14 +158272,14 @@ self: {
        ];
        executableHaskellDepends = [
          base containers mtl optparse-applicative pcre-heavy pretty-terminal
-         PyF text
+         process PyF text
        ];
        testHaskellDepends = [
          aeson base bytestring containers hspec hspec-expectations
          http-client http-types lifted-async mtl pcre-heavy pretty-terminal
          PyF req safe-exceptions text unordered-containers
        ];
-       description = "Krank checks your code source comments for important markers";
+       description = "Krank checks issue tracker link status in your source code";
        license = lib.licenses.bsd3;
      }) {};
 
@@ -156838,7 +158428,6 @@ self: {
        ];
        description = "Client library for Kubernetes";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "kubernetes-client-core" = callPackage
@@ -157292,6 +158881,22 @@ self: {
        broken = true;
      }) {};
 
+  "lambda-cube" = callPackage
+    ({ mkDerivation, base, hspec, megaparsec, QuickCheck
+     , template-haskell, text
+     }:
+     mkDerivation {
+       pname = "lambda-cube";
+       version = "0.1.0.0";
+       sha256 = "0s5sh4r43r5xhlldxqy2snddc5dgnx2rpawk4pipxp69983xhazi";
+       revision = "3";
+       editedCabalFile = "0ycaf4j9g0zsbw4qjwd6san4vn7h6iiyyf0dqgqwcl0vfv7z2hf0";
+       libraryHaskellDepends = [ base megaparsec template-haskell text ];
+       testHaskellDepends = [ base hspec QuickCheck ];
+       description = "Haskell implementation of (some of) lambda cube calculi";
+       license = lib.licenses.mit;
+     }) {};
+
   "lambda-devs" = callPackage
     ({ mkDerivation, base, binary, containers, dimensional
      , distributed-process, HUnit, numtype, QuickCheck, test-framework
@@ -157444,8 +159049,8 @@ self: {
      }:
      mkDerivation {
        pname = "lambdabot";
-       version = "5.3.0.1";
-       sha256 = "0jkp4qr2d37pd0nr074fzrvjn95jg7x7zjwnddsqw5m4m2l1iqsr";
+       version = "5.3.0.2";
+       sha256 = "0c5qwgzisvqxlyh378bbnabb9lbinknwvcf46sjpm6355krcw3g7";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -157456,6 +159061,7 @@ self: {
        ];
        description = "Lambdabot is a development tool and advanced IRC bot";
        license = "GPL";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "lambdabot-core" = callPackage
@@ -157469,8 +159075,8 @@ self: {
      }:
      mkDerivation {
        pname = "lambdabot-core";
-       version = "5.3.0.1";
-       sha256 = "05xx68f3gpc7s1k8p81pwphmiznf7niradf52p39rss3nx8rr3ay";
+       version = "5.3.0.2";
+       sha256 = "1i375kiw98j5gd4pixh59lcqk0lakwmrgxzpkr0431a48kxffq7r";
        libraryHaskellDepends = [
          base binary bytestring containers dependent-map dependent-sum
          dependent-sum-template directory edit-distance exceptions filepath
@@ -157494,8 +159100,8 @@ self: {
      }:
      mkDerivation {
        pname = "lambdabot-haskell-plugins";
-       version = "5.3";
-       sha256 = "1vlyjkz0dammzf5v8i9sfyswbnpfv0vpwpxybc1dhzm1qv04vbwh";
+       version = "5.3.0.2";
+       sha256 = "1h2f86dw3356n66n1nfcqi5hsnj6kvlc1px8s4nrw3zvjlkangzq";
        libraryHaskellDepends = [
          array arrows base bytestring containers data-memocombinators
          directory filepath haskell-src-exts-simple hoogle HTTP IOSpec
@@ -157515,8 +159121,8 @@ self: {
      }:
      mkDerivation {
        pname = "lambdabot-irc-plugins";
-       version = "5.3";
-       sha256 = "0dm5bsr8hly43hzfja8h6i3n3jai38ln9629p4dlsr8s1himcjbm";
+       version = "5.3.0.2";
+       sha256 = "1pwl77dh474sqvhd4nfqcqvzicz36xww13sw49qs5wd2fkp50zqi";
        libraryHaskellDepends = [
          base bytestring containers directory filepath lambdabot-core
          lifted-base mtl network SafeSemaphore split time
@@ -157534,8 +159140,8 @@ self: {
      }:
      mkDerivation {
        pname = "lambdabot-misc-plugins";
-       version = "5.3";
-       sha256 = "03cj8bzmg7q6b66mblmxv39aw5jd586w1w90zyl632rff4j5f0bh";
+       version = "5.3.0.2";
+       sha256 = "0m2rarvcmmas78ghzvzjf1flicj2sf4d14i7y5cxfpc5l3zcyqwq";
        libraryHaskellDepends = [
          base bytestring containers filepath lambdabot-core lifted-base mtl
          network network-uri parsec process random random-fu random-source
@@ -157553,8 +159159,8 @@ self: {
      }:
      mkDerivation {
        pname = "lambdabot-novelty-plugins";
-       version = "5.3";
-       sha256 = "0f7frjj41wpkhzvzi2xz7hsv8cr0fg653iqf8gqxlprk4k1sag5n";
+       version = "5.3.0.2";
+       sha256 = "09rqshkh1k7536b9zw4rga370l35v47vf28xdlnrh7knwh88yr70";
        libraryHaskellDepends = [
          base binary brainfuck bytestring containers dice directory
          lambdabot-core misfortune process random-fu regex-tdfa unlambda
@@ -157570,8 +159176,8 @@ self: {
      }:
      mkDerivation {
        pname = "lambdabot-reference-plugins";
-       version = "5.3";
-       sha256 = "0xg8cpd25d01a35y2qmrhp402iphhdjb8sld5lnwc8rzyn6nd7gb";
+       version = "5.3.0.2";
+       sha256 = "1n9r29gmllmad2nr83gnbafka7gp99qji1pj0hhcr7gb31asz2xl";
        libraryHaskellDepends = [
          base bytestring containers HTTP lambdabot-core mtl network
          network-uri oeis process regex-tdfa split tagsoup utf8-string
@@ -157586,21 +159192,23 @@ self: {
      }:
      mkDerivation {
        pname = "lambdabot-social-plugins";
-       version = "5.3";
-       sha256 = "0gncll1z2x26v4g874vbwpg8yh9kang6wcvb4ywmfmlrs7kqw9fn";
+       version = "5.3.0.2";
+       sha256 = "10yl1z562cnnx0ml343c7psaw5zsil66zrbsgvij6cy2b2p2d3m2";
        libraryHaskellDepends = [
          base binary bytestring containers lambdabot-core mtl split time
        ];
        description = "Social plugins for Lambdabot";
        license = "GPL";
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "lambdabot-trusted" = callPackage
     ({ mkDerivation, base, oeis, QuickCheck, QuickCheck-safe }:
      mkDerivation {
        pname = "lambdabot-trusted";
-       version = "5.3";
-       sha256 = "0847bxdnwh15szrhjb42y9nrb6qbaq6qyylwbmk1hkavp1baw77b";
+       version = "5.3.0.2";
+       sha256 = "1mwgamd75llraiafk7s43j6qz495j96s1dprckrisww37gv3nn8d";
        libraryHaskellDepends = [ base oeis QuickCheck QuickCheck-safe ];
        description = "Lambdabot trusted code";
        license = "GPL";
@@ -158436,20 +160044,21 @@ self: {
 
   "language-docker" = callPackage
     ({ mkDerivation, base, bytestring, containers, data-default-class
-     , hspec, HUnit, megaparsec, prettyprinter, QuickCheck, split, text
-     , time
+     , hspec, hspec-megaparsec, HUnit, megaparsec, prettyprinter
+     , QuickCheck, split, text, time
      }:
      mkDerivation {
        pname = "language-docker";
-       version = "10.0.1";
-       sha256 = "19pyms0ik37wpzjnlplj2vwikbjdjaw78llpfjp0a0467wlk7na6";
+       version = "10.0.2";
+       sha256 = "0x8lwc28j2f4rdk1yfhb4jkkrlvvhj46m0d42yv2f94y6v8adkr8";
        libraryHaskellDepends = [
          base bytestring containers data-default-class megaparsec
          prettyprinter split text time
        ];
        testHaskellDepends = [
-         base bytestring containers data-default-class hspec HUnit
-         megaparsec prettyprinter QuickCheck split text time
+         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;
@@ -159438,6 +161047,37 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "lapack_0_4" = 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
+     , QuickCheck, quickcheck-transformer, random, semigroups, Stream
+     , tagged, text, tfp, transformers, unique-logic-tf, utility-ht
+     }:
+     mkDerivation {
+       pname = "lapack";
+       version = "0.4";
+       sha256 = "138vy9nxvqlv2lkgq5i9fkyf6140vw6pk60374vjcgv2h8hkkbqd";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base blas-ffi blaze-html boxes comfort-array comfort-array-shape
+         deepseq fixed-length guarded-allocation hyper lapack-ffi lazyio
+         netlib-ffi non-empty semigroups Stream tagged text tfp transformers
+         utility-ht
+       ];
+       testHaskellDepends = [
+         base ChasingBottoms comfort-array comfort-array-shape 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;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "lapack-carray" = callPackage
     ({ mkDerivation, base, carray, lapack-ffi, netlib-carray
      , netlib-ffi, storable-complex, transformers
@@ -159461,8 +161101,8 @@ self: {
      }:
      mkDerivation {
        pname = "lapack-comfort-array";
-       version = "0.0.0.1";
-       sha256 = "0kn9bb3q772sbzm54rdqbqrmp21kck2gvc0xagi974dq7b1wilh1";
+       version = "0.0.1";
+       sha256 = "1p4vfw95qnd48cbizncb7b7fgzkxbv7r3rp3ffw6r11wymhm67q0";
        libraryHaskellDepends = [
          base comfort-array lapack-ffi netlib-comfort-array netlib-ffi
          storable-complex transformers
@@ -159484,7 +161124,7 @@ self: {
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
        broken = true;
-     }) {liblapack = null;};
+     }) {inherit (pkgs) liblapack;};
 
   "lapack-ffi-tools" = callPackage
     ({ mkDerivation, base, bytestring, cassava, containers
@@ -159510,6 +161150,23 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "lapack-hmatrix" = callPackage
+    ({ mkDerivation, base, comfort-array, hmatrix, lapack, netlib-ffi
+     , transformers, utility-ht, vector
+     }:
+     mkDerivation {
+       pname = "lapack-hmatrix";
+       version = "0.0";
+       sha256 = "024lfbj5v4rgxvfs4cgfr6xajf3svdlxv7sl9wkyzwi7dk1zh9pr";
+       libraryHaskellDepends = [
+         base comfort-array hmatrix lapack netlib-ffi transformers
+         utility-ht vector
+       ];
+       description = "Conversion of objects between 'lapack' and 'hmatrix'";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "large-hashable" = callPackage
     ({ mkDerivation, aeson, base, base16-bytestring, byteable, bytes
      , bytestring, cereal, containers, cryptohash, deepseq, hashable
@@ -159539,11 +161196,42 @@ self: {
        description = "Efficiently hash (large) Haskell values";
        license = lib.licenses.bsd3;
        platforms = [
-         "armv7l-linux" "i686-linux" "x86_64-darwin" "x86_64-linux"
+         "aarch64-darwin" "armv7l-linux" "i686-linux" "x86_64-darwin"
+         "x86_64-linux"
        ];
        maintainers = with lib.maintainers; [ sternenseemann ];
      }) {};
 
+  "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
+     , transformers, vector
+     }:
+     mkDerivation {
+       pname = "large-records";
+       version = "0.1.0.0";
+       sha256 = "1l4j7vb3lckqn1cvyvcg6g3bnvi8x69nsjmkmmi7666025bxfw61";
+       revision = "1";
+       editedCabalFile = "1j89aypcp97vwb7qyg4n2ffilsp064z1w7kck1wh2rp69wk5r51n";
+       libraryHaskellDepends = [
+         aeson base containers generics-sop haskell-src-exts
+         haskell-src-meta microlens mtl record-hasfield sop-core syb
+         template-haskell text 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
+       ];
+       testToolDepends = [ record-dot-preprocessor ];
+       description = "Efficient compilation for large records, linear in the size of the record";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "largeword" = callPackage
     ({ mkDerivation, base, binary, bytestring, HUnit, QuickCheck
      , test-framework, test-framework-hunit, test-framework-quickcheck2
@@ -160030,6 +161718,27 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "lazy-async" = callPackage
+    ({ mkDerivation, base, exceptions, hedgehog, lifted-async
+     , monad-control, optics-core, optics-th, rank2classes, stm
+     , transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "lazy-async";
+       version = "1.0.0.0";
+       sha256 = "0kk8pzwm04z4jljl38gd0n03nkxw3mxg8rg93ka0rvnibfwm8dda";
+       libraryHaskellDepends = [
+         base exceptions lifted-async monad-control rank2classes stm
+         transformers transformers-base
+       ];
+       testHaskellDepends = [
+         base exceptions hedgehog lifted-async monad-control optics-core
+         optics-th rank2classes stm transformers transformers-base
+       ];
+       description = "Asynchronous actions that don't start right away";
+       license = lib.licenses.mit;
+     }) {};
+
   "lazy-csv" = callPackage
     ({ mkDerivation, base, bytestring }:
      mkDerivation {
@@ -162266,6 +163975,22 @@ self: {
        broken = true;
      }) {};
 
+  "libmdbx" = callPackage
+    ({ mkDerivation, base, bytestring, c2hs, mtl, store, text }:
+     mkDerivation {
+       pname = "libmdbx";
+       version = "0.1.0.4";
+       sha256 = "0gkpj2chxmq9kb6mg9r78x4w4lspr2sq3462xy1m9y2frcbbkf8p";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base mtl text ];
+       libraryToolDepends = [ c2hs ];
+       executableHaskellDepends = [ base bytestring mtl store text ];
+       testHaskellDepends = [ base mtl text ];
+       description = "Bindings for libmdbx, an embedded key/value store";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "libmodbus" = callPackage
     ({ mkDerivation, base, bytestring, data-default, modbus, vector }:
      mkDerivation {
@@ -162604,19 +164329,21 @@ self: {
      }) {};
 
   "libsodium" = callPackage
-    ({ mkDerivation, base, hedgehog, libsodium, tasty, tasty-hedgehog
-     , tasty-hunit
+    ({ mkDerivation, base, c2hs, hedgehog, libsodium, tasty
+     , tasty-hedgehog, tasty-hunit
      }:
      mkDerivation {
        pname = "libsodium";
-       version = "1.0.18.1";
-       sha256 = "0injknfijncmfq10szdl1ay75wwpi8rgm3qfdl654aprd95kvpf1";
+       version = "1.0.18.2";
+       sha256 = "021167kkpii8szx32m5ljgmy5vhvhdijasnz350b14wr047n5iww";
        libraryHaskellDepends = [ base ];
        libraryPkgconfigDepends = [ libsodium ];
+       libraryToolDepends = [ c2hs ];
        testHaskellDepends = [
          base hedgehog tasty tasty-hedgehog tasty-hunit
        ];
        testPkgconfigDepends = [ libsodium ];
+       testToolDepends = [ c2hs ];
        description = "Low-level bindings to the libsodium C library";
        license = lib.licenses.isc;
      }) {inherit (pkgs) libsodium;};
@@ -163043,8 +164770,8 @@ self: {
      }:
      mkDerivation {
        pname = "lifted-async";
-       version = "0.10.2";
-       sha256 = "0alhvrvxp4f4srllyq5br3waiba4c93cc4nxm7jd23440swr6a31";
+       version = "0.10.2.1";
+       sha256 = "0j4f5471qfxkxy84ri87bcvp30ikh4m30imcggwn8m5v8igp218d";
        libraryHaskellDepends = [
          async base constraints lifted-base monad-control transformers-base
        ];
@@ -163179,14 +164906,16 @@ self: {
      }:
      mkDerivation {
        pname = "lifx-lan";
-       version = "0.3.0";
-       sha256 = "051h65m47vnhakg37a8dj1mbisxc9pb5zk4yp41dvcr0as2x4ngl";
+       version = "0.5.0.1";
+       sha256 = "0rww31gcp5asbc0zb6fz7ddgw3dih6l2mc0rln7nf3qd04hplk6v";
        libraryHaskellDepends = [
          base binary bytestring composition containers extra monad-loops mtl
          network random safe text time transformers
        ];
        description = "LIFX LAN API";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "ligature" = callPackage
@@ -163460,16 +165189,16 @@ self: {
   "line-bot-sdk" = callPackage
     ({ mkDerivation, aeson, aeson-qq, base, base64-bytestring
      , bytestring, cryptohash-sha256, deepseq, free, hspec
-     , hspec-expectations, hspec-wai, http-api-data, http-client
-     , http-client-tls, http-media, http-types, mtl, scientific, servant
-     , servant-client, servant-client-core, servant-server
-     , string-conversions, text, time, transformers, wai, wai-extra
-     , warp
+     , hspec-discover, hspec-expectations, hspec-wai, http-api-data
+     , http-client, http-client-tls, http-media, http-types, mtl
+     , scientific, servant, servant-client, servant-client-core
+     , servant-server, string-conversions, text, time, transformers, wai
+     , wai-extra, warp
      }:
      mkDerivation {
        pname = "line-bot-sdk";
-       version = "0.7.0";
-       sha256 = "05pw5qj0bd62gdb8llalsdpm62y8vhxxfch3zc18152qajn228yp";
+       version = "0.7.1";
+       sha256 = "0q7nzycmd3adckpzrskjfjw72bcxia278qb9z72sa991riyawscz";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -163487,6 +165216,7 @@ self: {
          http-client-tls http-types servant servant-client
          servant-client-core servant-server text time transformers wai warp
        ];
+       testToolDepends = [ hspec-discover ];
        description = "Haskell SDK for LINE Messaging API";
        license = lib.licenses.bsd3;
      }) {};
@@ -163663,6 +165393,28 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "linear-circuit_0_1_0_3" = 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.3";
+       sha256 = "0nffl1sq273ndfsnfhbblbxmnh53v0b8p6hgd3d3lbnypksh7bkk";
+       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;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "linear-code" = callPackage
     ({ mkDerivation, base, containers, data-default
      , ghc-typelits-knownnat, ghc-typelits-natnormalise, HaskellForMaths
@@ -163799,7 +165551,8 @@ self: {
        description = "Use SMT solvers to solve linear systems over integers and rationals";
        license = lib.licenses.bsd3;
        platforms = [
-         "armv7l-linux" "i686-linux" "x86_64-darwin" "x86_64-linux"
+         "aarch64-darwin" "armv7l-linux" "i686-linux" "x86_64-darwin"
+         "x86_64-linux"
        ];
      }) {};
 
@@ -165606,6 +167359,8 @@ self: {
        pname = "llvm-extra";
        version = "0.10.1";
        sha256 = "0m8fxip4345k92nq5n0dqdbjyahah0nind6lrwa5r7f9ff9j8gc9";
+       revision = "1";
+       editedCabalFile = "12b7icp5vk26nwl5q8jhsrcqp10h0w72yxqsw9dzr3lzca4g6wl2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -165628,6 +167383,8 @@ self: {
        pname = "llvm-ffi";
        version = "9.1.0.1";
        sha256 = "19bj8gkzmzg3khnj1pnksc789p1hls0ji48kvwp72zbhhzgpr75d";
+       revision = "1";
+       editedCabalFile = "0iq9csqrbzrhvpzgz8nbs9k390sh3440002ipcicjlqkm4ssi330";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base enumset ];
@@ -165887,6 +167644,8 @@ self: {
        pname = "llvm-tf";
        version = "9.2";
        sha256 = "1p4r9m1svp6k235r0azx6dkpdarakgy3420z3kk06bdiy1m2jk1s";
+       revision = "1";
+       editedCabalFile = "0maav3vis08vdvp0zwclyjznf2k4r8qi7szpwxhkya0xa87fh96d";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -166020,6 +167779,87 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "lnd-client" = callPackage
+    ({ mkDerivation, aeson, asn1-encoding, asn1-types, async, base
+     , base16-bytestring, base64-bytestring, bytestring, chronos
+     , containers, cryptohash-sha256, cryptonite, deepseq, envparse
+     , extra, hspec, http2, http2-client, http2-client-grpc
+     , http2-grpc-proto-lens, http2-grpc-types, JuicyPixels, katip
+     , microlens, network-bitcoin, pem, persistent, proto-lens
+     , proto-lens-runtime, qrcode-core, qrcode-juicypixels, scientific
+     , stm, template-haskell, text, unbounded-delays, universum
+     , unliftio, x509
+     }:
+     mkDerivation {
+       pname = "lnd-client";
+       version = "0.1.0.0";
+       sha256 = "0fjjm9gamj50scd9m55mv587klhn8xpj35x8abvms5pmpf0npzgq";
+       libraryHaskellDepends = [
+         aeson asn1-encoding asn1-types async base base16-bytestring
+         base64-bytestring bytestring chronos containers cryptohash-sha256
+         cryptonite deepseq envparse extra hspec http2 http2-client
+         http2-client-grpc http2-grpc-proto-lens http2-grpc-types
+         JuicyPixels katip microlens network-bitcoin pem persistent
+         proto-lens proto-lens-runtime qrcode-core qrcode-juicypixels
+         scientific stm template-haskell text unbounded-delays universum
+         unliftio x509
+       ];
+       testHaskellDepends = [
+         aeson asn1-encoding asn1-types async base base16-bytestring
+         base64-bytestring bytestring chronos containers cryptohash-sha256
+         cryptonite deepseq envparse extra hspec http2 http2-client
+         http2-client-grpc http2-grpc-proto-lens http2-grpc-types
+         JuicyPixels katip microlens network-bitcoin pem persistent
+         proto-lens proto-lens-runtime qrcode-core qrcode-juicypixels
+         scientific stm template-haskell text unbounded-delays universum
+         unliftio x509
+       ];
+       description = "Lightning Network Daemon (LND) client library for Haskell";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
+  "lnurl" = callPackage
+    ({ mkDerivation, aeson, base, base16, base64, bytestring, cereal
+     , cryptonite, extra, haskoin-core, http-types, memory, network-uri
+     , text
+     }:
+     mkDerivation {
+       pname = "lnurl";
+       version = "0.1.0.0";
+       sha256 = "0rw4z8rg06a1dp0adgnxqgcv75v183apm9lcpc986sx4pns96pjs";
+       libraryHaskellDepends = [
+         aeson base base16 base64 bytestring cereal cryptonite extra
+         haskoin-core http-types memory network-uri text
+       ];
+       description = "Support for developing against the LNURL protocol";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
+  "lnurl-authenticator" = callPackage
+    ({ mkDerivation, aeson, base, bech32, bytestring, Clipboard
+     , containers, cryptonite, directory, filepath, haskeline
+     , haskoin-core, http-client, http-client-tls, lnurl, memory
+     , optparse-applicative, text, time
+     }:
+     mkDerivation {
+       pname = "lnurl-authenticator";
+       version = "0.1.0.0";
+       sha256 = "0jzw0h4rp9i3cqa60i3y0vxhaplqg07qmf1182h6anhzmi16n43h";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bech32 bytestring containers cryptonite directory
+         filepath haskeline haskoin-core http-client http-client-tls lnurl
+         memory text time
+       ];
+       executableHaskellDepends = [ base Clipboard optparse-applicative ];
+       description = "A command line tool to manage LNURL auth identities";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "load-balancing" = callPackage
     ({ mkDerivation, base, containers, hslogger, PSQueue, stm }:
      mkDerivation {
@@ -166352,8 +168192,8 @@ self: {
      }:
      mkDerivation {
        pname = "log-base";
-       version = "0.10.0.0";
-       sha256 = "1rbp34p7a89w960rpwmqwfqrj6nvqybbc5aqiji60zldxigvy3si";
+       version = "0.10.0.1";
+       sha256 = "0h4b7hjxcc75swj43wx0axcp5znsndkrnhn9c8fm7f7a2gmvb8l1";
        libraryHaskellDepends = [
          aeson aeson-pretty base bytestring deepseq exceptions mmorph
          monad-control mtl semigroups stm text time transformers-base
@@ -166361,6 +168201,8 @@ self: {
        ];
        description = "Structured logging solution (base package)";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "log-domain" = callPackage
@@ -166435,6 +168277,7 @@ self: {
        ];
        description = "Structured logging solution (Elasticsearch back end)";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "log-postgres" = callPackage
@@ -166445,8 +168288,8 @@ self: {
      }:
      mkDerivation {
        pname = "log-postgres";
-       version = "0.8.0.0";
-       sha256 = "0vc3n53rpn3qwysp8y5i19ajaag386izsrf9h9k7c2g907k1skw6";
+       version = "0.8.0.1";
+       sha256 = "0bc63v9w023xw1fq0pkfnk4ac336hgliayy21ny0zaz9xf39a24l";
        libraryHaskellDepends = [
          aeson aeson-pretty base base64-bytestring bytestring deepseq
          hpqtypes http-client lifted-base log-base mtl semigroups split text
@@ -166870,6 +168713,17 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "logict-sequence" = callPackage
+    ({ mkDerivation, base, logict, mtl, sequence, type-aligned }:
+     mkDerivation {
+       pname = "logict-sequence";
+       version = "0.1.0.1";
+       sha256 = "15cxn5v3afm5688x972vvd6j7d7x889jwdhnlilpy1c2nzfl9w3i";
+       libraryHaskellDepends = [ base logict mtl sequence type-aligned ];
+       description = "A backtracking logic-programming monad with asymptotic improvements to msplit";
+       license = lib.licenses.mit;
+     }) {};
+
   "logict-state" = callPackage
     ({ mkDerivation, base, logict, mtl, transformers }:
      mkDerivation {
@@ -167461,8 +169315,8 @@ self: {
      }:
      mkDerivation {
        pname = "lorentz";
-       version = "0.11.0";
-       sha256 = "0mnxch3bz5hpbykfpgjvq521a596g59lkzydijwqccj9cganmr55";
+       version = "0.12.1";
+       sha256 = "1ba511lxmlmv3dj483q6bgk5bvb16d2js0qldz513j4azqjr5f19";
        libraryHaskellDepends = [
          aeson-pretty base-noprelude bimap bytestring constraints containers
          data-default first-class-families fmt interpolate lens morley
@@ -167756,6 +169610,37 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "lsp_1_2_0_1" = callPackage
+    ({ mkDerivation, aeson, async, attoparsec, base, bytestring
+     , containers, data-default, dependent-map, exceptions, 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.1";
+       sha256 = "1bdgbxakdyhkrddj58f0al2wrx1mckp6hia7hk2wqjix20my8v49";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson async attoparsec base bytestring containers data-default
+         dependent-map exceptions hashable hslogger lens lsp-types mtl
+         network-uri random scientific sorted-list stm text time
+         transformers unliftio-core unordered-containers uuid
+       ];
+       testHaskellDepends = [
+         aeson base containers filepath hspec lens network-uri QuickCheck
+         quickcheck-instances rope-utf16-splay sorted-list text
+         unordered-containers
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Haskell library for the Microsoft Language Server Protocol";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "lsp-test" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, async, base
      , bytestring, conduit, conduit-parse, containers, data-default
@@ -167783,6 +169668,34 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "lsp-test_0_14_0_1" = 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.1";
+       sha256 = "0fr1812dnzv9hljb77khspaz666wqr6m1gj963v0z2j6xgvw2ipy";
+       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;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "lsp-types" = callPackage
     ({ mkDerivation, aeson, base, binary, bytestring, containers
      , data-default, deepseq, dependent-sum, dependent-sum-template
@@ -167804,6 +169717,28 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "lsp-types_1_3_0_1" = callPackage
+    ({ mkDerivation, aeson, base, binary, bytestring, containers
+     , data-default, deepseq, dependent-sum, dependent-sum-template
+     , Diff, directory, dlist, filepath, hashable, hslogger, lens, mtl
+     , network-uri, rope-utf16-splay, scientific, some, template-haskell
+     , temporary, text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "lsp-types";
+       version = "1.3.0.1";
+       sha256 = "05zgd99y7xnxnydisq5x24n1af2isar172p247hb5q0mp12hdd3z";
+       libraryHaskellDepends = [
+         aeson base binary bytestring containers data-default deepseq
+         dependent-sum dependent-sum-template Diff directory dlist filepath
+         hashable hslogger lens mtl 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;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "lss" = callPackage
     ({ mkDerivation, attoparsec, base, containers, directory, filepath
      , hspec2, language-css, language-css-attoparsec, text, xmlhtml
@@ -167882,8 +169817,8 @@ self: {
      }:
      mkDerivation {
        pname = "lti13";
-       version = "0.2.0.1";
-       sha256 = "1fcjypadap94f238vnhbchq9dy61mhgwlqpy4v22m34881dvx8gf";
+       version = "0.2.0.3";
+       sha256 = "1ls1hfyivmx5yi9i15m95j9j12agyrmfiwza3w9dfa23c210fcxh";
        libraryHaskellDepends = [
          aeson base bytestring containers http-client http-types jose-jwt
          oidc-client safe-exceptions text
@@ -167893,7 +169828,6 @@ self: {
        ];
        description = "Core functionality for LTI 1.3.";
        license = lib.licenses.lgpl3Only;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ltiv1p1" = callPackage
@@ -169357,6 +171291,24 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "magico_0_0_2_2" = callPackage
+    ({ mkDerivation, base, comfort-array, lapack, transformers
+     , utility-ht
+     }:
+     mkDerivation {
+       pname = "magico";
+       version = "0.0.2.2";
+       sha256 = "17mpxfw6y1swk0d8dksr71qvagrgmw38xj585dz0s0zwn4y73bzx";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base comfort-array lapack transformers utility-ht
+       ];
+       description = "Compute solutions for Magico puzzle";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "magma" = callPackage
     ({ mkDerivation, base, deepseq, ghc-prim, profunctors, semigroups
      }:
@@ -170679,6 +172631,7 @@ self: {
        ];
        description = "Abstraction for HTML-embedded content";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "markup-preview" = callPackage
@@ -170920,6 +172873,8 @@ self: {
        pname = "massiv";
        version = "0.6.1.0";
        sha256 = "0j3br93kxxyb1q5mdf440f8l8d2lc0gi9vhc3h3ri94ls4ix099v";
+       revision = "1";
+       editedCabalFile = "10k8az97kvwbs9ac1dwvrhlawr0v89ksb4wji8c8i3kas1vmnhqh";
        libraryHaskellDepends = [
          base bytestring deepseq exceptions primitive scheduler
          unliftio-core vector
@@ -170932,6 +172887,28 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "massiv_1_0_0_0" = callPackage
+    ({ mkDerivation, base, bytestring, deepseq, doctest, exceptions
+     , mersenne-random-pure64, mwc-random, primitive, QuickCheck, random
+     , scheduler, splitmix, template-haskell, unliftio-core, vector
+     }:
+     mkDerivation {
+       pname = "massiv";
+       version = "1.0.0.0";
+       sha256 = "0cb9riab486gz9xxx44sx5pagfjc8kv8936avywxpwpn3dhbxg6a";
+       libraryHaskellDepends = [
+         base bytestring deepseq exceptions primitive random scheduler
+         unliftio-core vector
+       ];
+       testHaskellDepends = [
+         base doctest mersenne-random-pure64 mwc-random QuickCheck random
+         splitmix template-haskell
+       ];
+       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
@@ -170942,6 +172919,30 @@ self: {
        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_0" = callPackage
+    ({ mkDerivation, base, bytestring, Color, data-default-class
+     , deepseq, doctest, exceptions, filepath, hspec, hspec-discover
+     , JuicyPixels, massiv, massiv-test, netpbm, QuickCheck, random
+     , template-haskell, unliftio, vector
+     }:
+     mkDerivation {
+       pname = "massiv-io";
+       version = "1.0.0.0";
+       sha256 = "186zn0rw61hjsf99ry12qa7dmrjl92km8snksddfq9929q0dss6x";
        libraryHaskellDepends = [
          base bytestring Color data-default-class deepseq exceptions
          filepath JuicyPixels massiv netpbm unliftio vector
@@ -170950,8 +172951,10 @@ self: {
          base bytestring doctest hspec JuicyPixels massiv massiv-test
          QuickCheck random template-haskell
        ];
+       testToolDepends = [ hspec-discover ];
        description = "Import/export of Image files into massiv Arrays";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "massiv-persist" = callPackage
@@ -170963,6 +172966,30 @@ self: {
        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_0" = callPackage
+    ({ mkDerivation, base, bytestring, deepseq, doctest, hspec
+     , hspec-discover, massiv, massiv-test, persist, primitive
+     , QuickCheck
+     }:
+     mkDerivation {
+       pname = "massiv-persist";
+       version = "1.0.0.0";
+       sha256 = "0kgw4ac6ywgx44mqyfyhhxpaxzyph9pgz27nvr625j4hg84mx552";
        libraryHaskellDepends = [
          base bytestring deepseq massiv persist primitive
        ];
@@ -171004,6 +173031,27 @@ self: {
        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_0" = callPackage
+    ({ mkDerivation, base, deepseq, doctest, hspec, hspec-discover
+     , massiv, massiv-test, QuickCheck, serialise, vector
+     }:
+     mkDerivation {
+       pname = "massiv-serialise";
+       version = "1.0.0.0";
+       sha256 = "18ahbfq54mggar7wknghdjybd4pbqjzgfaghv5lp5daccbxahgyd";
        libraryHaskellDepends = [ base deepseq massiv serialise vector ];
        testHaskellDepends = [
          base doctest hspec massiv massiv-test QuickCheck serialise
@@ -171025,6 +173073,8 @@ self: {
        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
@@ -171037,6 +173087,30 @@ self: {
        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
+     }:
+     mkDerivation {
+       pname = "massiv-test";
+       version = "1.0.0.0";
+       sha256 = "1hd9y2n038ja3wz317ah0k84dz30cnmzx0nms9hkr5inf62gbd3n";
+       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
+       ];
+       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
     ({ mkDerivation, base, diagrams, diagrams-lib, diagrams-rasterific
      , hspec, megaparsec, mtl, optparse-applicative, QuickCheck
@@ -171496,22 +173570,23 @@ self: {
      }) {};
 
   "matrix-client" = callPackage
-    ({ mkDerivation, aeson, base, base64, bytestring, doctest
-     , exceptions, hashable, hspec, http-client, http-client-tls, retry
-     , SHA, text, time, unordered-containers
+    ({ mkDerivation, aeson, aeson-pretty, base, base64, bytestring
+     , doctest, exceptions, hashable, hspec, http-client
+     , http-client-tls, http-types, retry, SHA, text, time
+     , unordered-containers
      }:
      mkDerivation {
        pname = "matrix-client";
-       version = "0.1.0.0";
-       sha256 = "10w1q846b4jnyg9yb87d69ixfyhl205ryrib6a53pbk0bx6zn59w";
+       version = "0.1.1.0";
+       sha256 = "13ncklhrwb10g6pki1zsli1gnja01ic9scil4f5nky8hdmaw9jq2";
        libraryHaskellDepends = [
          aeson base base64 bytestring exceptions hashable http-client
-         http-client-tls retry SHA text time unordered-containers
+         http-client-tls http-types retry SHA text time unordered-containers
        ];
        testHaskellDepends = [
-         aeson base base64 bytestring doctest exceptions hashable hspec
-         http-client http-client-tls retry SHA text time
-         unordered-containers
+         aeson aeson-pretty base base64 bytestring doctest exceptions
+         hashable hspec http-client http-client-tls http-types retry SHA
+         text time unordered-containers
        ];
        description = "A matrix client library";
        license = lib.licenses.asl20;
@@ -172089,7 +174164,6 @@ self: {
        ];
        description = "Sample from a posterior using Markov chain Monte Carlo";
        license = lib.licenses.gpl3Plus;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "mcmc-samplers" = callPackage
@@ -172625,6 +174699,29 @@ self: {
        license = lib.licenses.bsd2;
      }) {};
 
+  "megaparsec_9_1_0" = callPackage
+    ({ mkDerivation, base, bytestring, case-insensitive, containers
+     , criterion, deepseq, mtl, parser-combinators, scientific, text
+     , transformers, weigh
+     }:
+     mkDerivation {
+       pname = "megaparsec";
+       version = "9.1.0";
+       sha256 = "0rbs0nwr3ffhn10gl9sxqd2q8n6pn96ggf0dyz23myfskzar1fn1";
+       revision = "1";
+       editedCabalFile = "0aw0kvx744730h232rw23yh8ds07irc2ywv5i5iacgqyrh48mvzj";
+       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;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "megaparsec-tests" = callPackage
     ({ mkDerivation, base, bytestring, case-insensitive, containers
      , hspec, hspec-discover, hspec-expectations, hspec-megaparsec
@@ -172651,6 +174748,31 @@ self: {
        license = lib.licenses.bsd2;
      }) {};
 
+  "megaparsec-tests_9_1_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.1.0";
+       sha256 = "0hz76bszcxk4p548nvalkh1vyrkwkp3scv2bhdmpb1d853whdskp";
+       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;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "meldable-heap" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -174929,6 +177051,7 @@ self: {
        description = "Miniature FORTH-like interpreter";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "minilens" = callPackage
@@ -175691,8 +177814,8 @@ self: {
      }:
      mkDerivation {
        pname = "mixed-types-num";
-       version = "0.5.8.0";
-       sha256 = "1i40g6kf4my91i7xg54wfi6n2s8ivmx5k08ccqz3iycn6gha8pr7";
+       version = "0.5.9.1";
+       sha256 = "009hsagx0g1myf2jlljqnf96mwnz3a4jbcmrcjs0lizskprzj1n2";
        libraryHaskellDepends = [
          base collect-errors hspec hspec-smallcheck mtl QuickCheck
          smallcheck template-haskell
@@ -175761,6 +177884,7 @@ self: {
        description = "Generate cabal files for a Haskell project";
        license = "GPL";
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "ml-w" = callPackage
@@ -175937,6 +178061,8 @@ self: {
        pname = "mmark-ext";
        version = "0.2.1.3";
        sha256 = "1hc95gvw4dyjlf2y4nli68zavjd0aj9br55n7417r7g70si1m82s";
+       revision = "1";
+       editedCabalFile = "0wkmi06n57ppm5n4x0l4mc6any21q70pb1v01ssv386hrc67bxwv";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base foldl ghc-syntax-highlighter lucid microlens mmark modern-uri
@@ -175980,6 +178106,23 @@ self: {
        maintainers = with lib.maintainers; [ Gabriel439 ];
      }) {};
 
+  "mmorph_1_2_0" = callPackage
+    ({ mkDerivation, base, mtl, transformers, transformers-compat }:
+     mkDerivation {
+       pname = "mmorph";
+       version = "1.2.0";
+       sha256 = "1022d8mm523dihkf85mqsqxpm9rnyicmv91c8rm4csv7xdc80cv1";
+       revision = "1";
+       editedCabalFile = "13j6znh33pnnk8yfxnndqiiwal1w6rs2jigs7fgpa26883ff2788";
+       libraryHaskellDepends = [
+         base mtl transformers transformers-compat
+       ];
+       description = "Monad morphisms";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       maintainers = with lib.maintainers; [ Gabriel439 ];
+     }) {};
+
   "mmsyn2" = callPackage
     ({ mkDerivation, base, vector }:
      mkDerivation {
@@ -176972,8 +179115,8 @@ self: {
      }:
      mkDerivation {
        pname = "monad-control";
-       version = "1.0.2.3";
-       sha256 = "1c92833gr6cadidjdp8mlznkpp8lyxl0w3y7d19y8yi3klc3843c";
+       version = "1.0.3.1";
+       sha256 = "0g3if9km8ik80bcy130a826ig9wlk4bnf0qli3vmwdwr9nhaw2xf";
        libraryHaskellDepends = [
          base stm transformers transformers-base transformers-compat
        ];
@@ -177017,8 +179160,8 @@ self: {
      }:
      mkDerivation {
        pname = "monad-coroutine";
-       version = "0.9.1.2";
-       sha256 = "1s4975q1k23b2skyq9mwkkda08f2zxkv96x0yplzhz9n64kchhf3";
+       version = "0.9.1.3";
+       sha256 = "0ns8863695hm4yabd4908znpn1bqc7ayfnzl9bkkqhs70rff2dmh";
        libraryHaskellDepends = [
          base monad-parallel transformers transformers-compat
        ];
@@ -177598,8 +179741,8 @@ self: {
      }:
      mkDerivation {
        pname = "monad-parallel";
-       version = "0.7.2.4";
-       sha256 = "1h36hwbk800v0cq2x8kxf7v3gkr8maws7ijxckvsqp480xr4r5xx";
+       version = "0.7.2.5";
+       sha256 = "0yjn8acn8z8b1v5nnmwrmrcim9lqh942kgi2c03cnnklfdc1cqip";
        libraryHaskellDepends = [
          base parallel transformers transformers-compat
        ];
@@ -177908,6 +180051,17 @@ self: {
        broken = true;
      }) {};
 
+  "monad-tree" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "monad-tree";
+       version = "0.1.0";
+       sha256 = "1rjrcai2wqz3qkn3sk1fj6c0vvzk58gmghzwp9w9xvr09kd7zyd2";
+       libraryHaskellDepends = [ base ];
+       description = "Tree data structure for nondeterministic computations";
+       license = lib.licenses.mit;
+     }) {};
+
   "monad-tx" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -178513,6 +180667,8 @@ self: {
        pname = "mono-traversable";
        version = "1.0.15.1";
        sha256 = "1psxhfjmpv3y54wy8f8dwa43finlj7aw2mry67pg521gxmwmppy2";
+       revision = "1";
+       editedCabalFile = "1bzzfyn8q4v9d7nnaxa2vx81xxii4n9596cb2gph9sml1wk3i9ly";
        libraryHaskellDepends = [
          base bytestring containers hashable split text transformers
          unordered-containers vector vector-algorithms
@@ -178678,8 +180834,8 @@ self: {
      }:
      mkDerivation {
        pname = "monoid-subclasses";
-       version = "1.1";
-       sha256 = "1bv0ripdw53121aj39zalczkfwrajpzzd1i99jn49sr4bfwgy3p4";
+       version = "1.1.1";
+       sha256 = "13nc9qcwz10y1gxdp277gqq675pbcxav35fwqnbyrvz9hx1m545x";
        libraryHaskellDepends = [
          base bytestring containers primes text vector
        ];
@@ -178752,6 +180908,47 @@ self: {
        broken = true;
      }) {};
 
+  "monomer" = callPackage
+    ({ mkDerivation, aeson, async, attoparsec, base, bytestring
+     , bytestring-to-vector, c2hs, containers, data-default, directory
+     , exceptions, extra, formatting, glew, hspec, http-client, HUnit
+     , JuicyPixels, lens, mtl, nanovg, OpenGL, process, random, safe
+     , scientific, sdl2, silently, stm, text, text-show, time
+     , transformers, unordered-containers, vector, websockets, wreq
+     , wuss
+     }:
+     mkDerivation {
+       pname = "monomer";
+       version = "1.0.0.2";
+       sha256 = "1m0c6ldc5sg2if4b21n7b13f5rpyws0vmw9nn8gjqly7rbq446az";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         async attoparsec base bytestring bytestring-to-vector containers
+         data-default exceptions extra formatting http-client JuicyPixels
+         lens mtl nanovg OpenGL process safe sdl2 stm text text-show time
+         transformers unordered-containers vector wreq
+       ];
+       librarySystemDepends = [ glew ];
+       libraryToolDepends = [ c2hs ];
+       executableHaskellDepends = [
+         aeson async attoparsec base bytestring bytestring-to-vector
+         containers data-default exceptions extra formatting http-client
+         JuicyPixels lens mtl nanovg OpenGL process random safe scientific
+         sdl2 stm text text-show time transformers unordered-containers
+         vector websockets wreq wuss
+       ];
+       testHaskellDepends = [
+         async attoparsec base bytestring bytestring-to-vector containers
+         data-default directory exceptions extra formatting hspec
+         http-client HUnit JuicyPixels lens mtl nanovg OpenGL process safe
+         sdl2 silently stm text text-show time transformers
+         unordered-containers vector wreq
+       ];
+       description = "A GUI library for writing native Haskell applications";
+       license = lib.licenses.bsd3;
+     }) {inherit (pkgs) glew;};
+
   "monomorphic" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -179042,8 +181239,8 @@ self: {
      }:
      mkDerivation {
        pname = "morley";
-       version = "1.14.0";
-       sha256 = "1rajgkgmckiy54mdilbq21df5h3ij9a1n1v6jahgrgy9hyyg8qcv";
+       version = "1.15.1";
+       sha256 = "03r6p37b9hw9n0b143d38z07fjv05jnbw76s1fjx92rm2ybbgh3p";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -179058,9 +181255,8 @@ self: {
          with-utf8 wl-pprint-text
        ];
        executableHaskellDepends = [
-         aeson base-noprelude bytestring data-default fmt haskeline
-         megaparsec morley-prelude named optparse-applicative text vinyl
-         with-utf8
+         aeson base-noprelude bytestring fmt haskeline megaparsec
+         morley-prelude named optparse-applicative text vinyl with-utf8
        ];
        testHaskellDepends = [
          base-noprelude bytestring Cabal doctest morley-prelude
@@ -179073,12 +181269,12 @@ self: {
      }) {};
 
   "morley-prelude" = callPackage
-    ({ mkDerivation, base-noprelude, universum }:
+    ({ mkDerivation, base-noprelude, lens, universum }:
      mkDerivation {
        pname = "morley-prelude";
-       version = "0.4.0";
-       sha256 = "1g2ng8d5s32xwflbcfl1fsr2c2lzyh3vvyqslk76w9jn3nln164l";
-       libraryHaskellDepends = [ base-noprelude universum ];
+       version = "0.4.2";
+       sha256 = "0cmrs0hqrbwrmxycqk39csk0y7hswj2r6p1hgzrxyhy536szabby";
+       libraryHaskellDepends = [ base-noprelude lens universum ];
        description = "A custom prelude used in Morley";
        license = lib.licenses.mit;
      }) {};
@@ -179672,6 +181868,17 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "mpeff" = callPackage
+    ({ mkDerivation, base, ghc-prim, primitive }:
+     mkDerivation {
+       pname = "mpeff";
+       version = "0.1.0.0";
+       sha256 = "08i06akvjxgxspkz5lrfzyd7fx0pnajb0ksbm38zf66f7zm8dk54";
+       libraryHaskellDepends = [ base ghc-prim primitive ];
+       description = "Efficient effect handlers based on evidence-passing semantics";
+       license = lib.licenses.mit;
+     }) {};
+
   "mpg123-bindings" = callPackage
     ({ mkDerivation, base, mpg123 }:
      mkDerivation {
@@ -179777,7 +181984,8 @@ self: {
        description = "Save your spot when watching movies with @mplayer@";
        license = lib.licenses.bsd3;
        platforms = [
-         "armv7l-linux" "i686-linux" "x86_64-darwin" "x86_64-linux"
+         "aarch64-darwin" "armv7l-linux" "i686-linux" "x86_64-darwin"
+         "x86_64-linux"
        ];
      }) {};
 
@@ -180266,8 +182474,8 @@ self: {
      }:
      mkDerivation {
        pname = "mssql-simple";
-       version = "0.6.0.1";
-       sha256 = "1qrbrvk4df7179zpjngq6r0xvy3jfv4r1vh88m7knzm75wkg77xx";
+       version = "0.6.0.2";
+       sha256 = "1glp86kbimsjh1hlmdivp12qzvcy6c5yyx5ynvrwibwnxj5g968v";
        libraryHaskellDepends = [
          base binary bytestring hostname ms-tds mtl network template-haskell
          text time tls uuid-types
@@ -180997,6 +183205,20 @@ self: {
        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 ];
+       testHaskellDepends = [ base containers hspec ];
+       testToolDepends = [ hspec-discover ];
+       description = "A few multimap variants";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "multi-except" = callPackage
     ({ mkDerivation, base, dlist-nonempty, hspec, semigroupoids }:
      mkDerivation {
@@ -182387,10 +184609,8 @@ self: {
      }:
      mkDerivation {
        pname = "mwc-random";
-       version = "0.15.0.1";
-       sha256 = "1p8c5g4hb72k90ai39rgpn6cr942i6636l1y0zfp9xgjb3v0a2q3";
-       revision = "2";
-       editedCabalFile = "0si7d23ycyg1072w10v06zh1xx4yy5jxwmrrs65inrs7fhdb1r28";
+       version = "0.15.0.2";
+       sha256 = "0ny2mw4am24d6ykrm8rbcjnrq6p2cjmzjb4m6qfk54wfdxflvmim";
        libraryHaskellDepends = [
          base math-functions primitive random time vector
        ];
@@ -183494,28 +185714,25 @@ self: {
      }) {};
 
   "nanovg" = callPackage
-    ({ mkDerivation, base, bytestring, c2hs, containers, GLEW, glew
-     , hspec, inline-c, libGL, libGLU, QuickCheck, text, vector
+    ({ mkDerivation, base, bytestring, c2hs, containers, freetype, glew
+     , hspec, inline-c, libGL, libGLU, libX11, QuickCheck, text, vector
      }:
      mkDerivation {
        pname = "nanovg";
-       version = "0.6.0.0";
-       sha256 = "15nljmlcgj1pw9ydy3a9nmk6zpgfp3p71arw04b1krx2y9r2fnp3";
-       revision = "1";
-       editedCabalFile = "1lhfsq50r9bdby7mfscw8ih3wsz2m19lr2a2z9b6diaf5kz76vij";
+       version = "0.8.0.0";
+       sha256 = "1il4305wv7f53225jv5s04nf7gf5rw6cfxm8j3v1di2xvhdingz5";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base bytestring containers text vector ];
-       librarySystemDepends = [ GLEW libGL libGLU ];
-       libraryPkgconfigDepends = [ glew ];
+       librarySystemDepends = [ glew libGL libGLU libX11 ];
+       libraryPkgconfigDepends = [ freetype glew ];
        libraryToolDepends = [ c2hs ];
        testHaskellDepends = [ base containers hspec inline-c QuickCheck ];
        description = "Haskell bindings for nanovg";
        license = lib.licenses.isc;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {GLEW = null; inherit (pkgs) glew; inherit (pkgs) libGL; 
-         inherit (pkgs) libGLU;};
+     }) {inherit (pkgs) freetype; inherit (pkgs) glew; 
+         inherit (pkgs) libGL; inherit (pkgs) libGLU; 
+         inherit (pkgs.xorg) libX11;};
 
   "nanovg-simple" = callPackage
     ({ mkDerivation, base, GLFW-b, monad-loops, nanovg, OpenGL
@@ -183532,7 +185749,6 @@ self: {
        ];
        description = "Simple interface to rendering with NanoVG";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "nanq" = callPackage
@@ -183619,6 +185835,20 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "nat-optics" = callPackage
+    ({ mkDerivation, base, hedgehog, optics-core, text }:
+     mkDerivation {
+       pname = "nat-optics";
+       version = "1.0.0.1";
+       sha256 = "1ba5lnb70gdaa9hwfcg2r0x76h2mxknn49rwplmbgcyxyh79x4jl";
+       libraryHaskellDepends = [ base optics-core text ];
+       testHaskellDepends = [ base hedgehog 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
     ({ mkDerivation, base, deepseq, doctest, hedgehog, QuickCheck }:
      mkDerivation {
@@ -184691,8 +186921,8 @@ self: {
     ({ mkDerivation, base, comfort-array, netlib-ffi, transformers }:
      mkDerivation {
        pname = "netlib-comfort-array";
-       version = "0.0.0.1";
-       sha256 = "0v4p1l8gjqkxncjrp6bv664x6xs3y6n5h76pvgccsja5rammwbp3";
+       version = "0.0.0.2";
+       sha256 = "1mwgdll9m0ryy5y1385sx2asff98kqfkz4bif8s4i0dkrqalsfx4";
        libraryHaskellDepends = [
          base comfort-array netlib-ffi transformers
        ];
@@ -188203,6 +190433,22 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "not-prelude" = callPackage
+    ({ mkDerivation, base-noprelude, data-default, exceptions, failable
+     , mtl, text, transformers
+     }:
+     mkDerivation {
+       pname = "not-prelude";
+       version = "0.1.0.0";
+       sha256 = "0hb3ri6g1v21wi3saaai56b1a2r76g2dgaa7xqqchi31lh004131";
+       libraryHaskellDepends = [
+         base-noprelude data-default exceptions failable mtl text
+         transformers
+       ];
+       description = "An opinionated Prelude replacement library";
+       license = lib.licenses.mit;
+     }) {};
+
   "notcpp" = callPackage
     ({ mkDerivation, base, template-haskell }:
      mkDerivation {
@@ -188244,8 +190490,8 @@ self: {
      }:
      mkDerivation {
        pname = "notifications-tray-icon";
-       version = "0.1.0.0";
-       sha256 = "0w047kwqccwkcykmryn3dmf3kkpjkcffz0slsmyf52va604kk7x4";
+       version = "0.1.1.0";
+       sha256 = "07q201smb9knbwlflca1py5chck4a74lz0dvz7im01q1b1w6799r";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -188258,8 +190504,9 @@ self: {
          transformers tuple
        ];
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
+       platforms = [
+         "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
+       ];
      }) {};
 
   "notmuch" = callPackage
@@ -188602,8 +190849,8 @@ self: {
      }:
      mkDerivation {
        pname = "nri-prelude";
-       version = "0.6.0.2";
-       sha256 = "002bq6qwaiw4v30b677hg8pv2sa9iaqdv90h02fbq4pkhqsqhpkw";
+       version = "0.6.0.3";
+       sha256 = "1xv1khi5pv84haasrf24lyyi41zc5biyqlgahzlg4n3mci2zz9ik";
        libraryHaskellDepends = [
          aeson aeson-pretty async auto-update base bytestring containers
          directory exceptions filepath ghc hedgehog junit-xml pretty-diff
@@ -188627,8 +190874,8 @@ self: {
      }:
      mkDerivation {
        pname = "nri-redis";
-       version = "0.1.0.0";
-       sha256 = "00im3rnb7w45xm60l42kzrj3sc9dg3098w988fdhdschwk34zqpc";
+       version = "0.1.0.1";
+       sha256 = "0nvkq4h7fdc9jifk3dd2sac6bwk4ks4bda8slln8dqwgxbh31ln2";
        libraryHaskellDepends = [
          aeson async base bytestring conduit hedis nri-env-parser
          nri-observability nri-prelude resourcet safe-exceptions text
@@ -188645,15 +190892,16 @@ self: {
 
   "nri-test-encoding" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, filepath
-     , nri-prelude, servant, servant-auth-server, servant-server, text
+     , nri-prelude, nri-redis, servant, servant-auth-server
+     , servant-server, text
      }:
      mkDerivation {
        pname = "nri-test-encoding";
-       version = "0.1.0.0";
-       sha256 = "11vk1f99xbqs678rxldxh9qfwailinxpjl6q6pvikb8f32rrb74y";
+       version = "0.1.1.0";
+       sha256 = "0k21hyd0kbgdg3kmfwy20vf21r6963ygybz1v84wjmfzqbc5fcq5";
        libraryHaskellDepends = [
-         aeson aeson-pretty base bytestring filepath nri-prelude servant
-         servant-auth-server servant-server text
+         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;
@@ -189671,6 +191919,8 @@ self: {
        pname = "o-clock";
        version = "1.2.1";
        sha256 = "17y44aajipysw1p268rq8a6lhv9cdhkvxjcpcdij93sqp818q96z";
+       revision = "1";
+       editedCabalFile = "1n8ns0f4ljbarb5xmlwfs1lq24jg30m3hv0gmpgd26y666d3hh95";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base ghc-prim ];
@@ -190179,8 +192429,6 @@ self: {
        benchmarkHaskellDepends = [ async base text weigh ];
        description = "Haskell binding to the ODBC API, aimed at SQL Server driver";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {inherit (pkgs) unixODBC;};
 
   "odd-jobs" = callPackage
@@ -190419,8 +192667,6 @@ self: {
        ];
        description = "OpenID Connect 1.0 library for RP";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "ois-input-manager" = callPackage
@@ -190973,35 +193219,6 @@ self: {
        broken = true;
      }) {};
 
-  "opaleye_0_7_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-locale-compat, transformers, uuid
-     , void
-     }:
-     mkDerivation {
-       pname = "opaleye";
-       version = "0.7.2.0";
-       sha256 = "1qz34isgb5hl2ab5vij3zw1h3xwvl3a0d1k02n156xszibnkcgf1";
-       libraryHaskellDepends = [
-         aeson base base16-bytestring bytestring case-insensitive
-         contravariant postgresql-simple pretty product-profunctors
-         profunctors scientific semigroups text time 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 transformers uuid
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "An SQL-generating DSL targeting PostgreSQL";
-       license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-     }) {};
-
   "opaleye" = callPackage
     ({ mkDerivation, aeson, base, base16-bytestring, bytestring
      , case-insensitive, containers, contravariant, dotenv, hspec
@@ -191012,8 +193229,8 @@ self: {
      }:
      mkDerivation {
        pname = "opaleye";
-       version = "0.7.3.0";
-       sha256 = "0ls8hk8iy47hna1y7kbakzv9ihp61lv605f1ap4di95fv03wy288";
+       version = "0.7.4.0";
+       sha256 = "1v4gxqnjacyj7npcvl70dzksgl12qrgwscv4l47kvzmf76i1x6rd";
        libraryHaskellDepends = [
          aeson base base16-bytestring bytestring case-insensitive
          contravariant postgresql-simple pretty product-profunctors
@@ -192735,8 +194952,8 @@ self: {
      }:
      mkDerivation {
        pname = "optima";
-       version = "0.4.0.1";
-       sha256 = "029bizcajhmvkgmr7yb95bbhi00bnvhnlx4crbx06wridhz2lp23";
+       version = "0.4.0.2";
+       sha256 = "05jpgf4lyq4pg4j98cl2jlax1jjy27knsgjqcbbg38p1n33m7gki";
        libraryHaskellDepends = [
          attoparsec attoparsec-data base optparse-applicative text
          text-builder
@@ -192923,6 +195140,8 @@ self: {
        pname = "optparse-applicative";
        version = "0.16.1.0";
        sha256 = "16nnrkmgd28h540f17nb017ziq4gbzgkxpdraqicaczkca1jf1b2";
+       revision = "1";
+       editedCabalFile = "0401ik87gm9gjpch6lmkczygp59na3f1j7bcs6mc2r929c2xgsqn";
        libraryHaskellDepends = [
          ansi-wl-pprint base process transformers transformers-compat
        ];
@@ -192982,8 +195201,8 @@ self: {
        pname = "optparse-generic";
        version = "1.4.4";
        sha256 = "0xy0kc8qximsiqpnc1fmh5zlsh6n26s7scrixin5bwnylg056j74";
-       revision = "2";
-       editedCabalFile = "172x8990wx4jhyb7yp9k18nd6q4sis8km09x2afr238siqviclrc";
+       revision = "3";
+       editedCabalFile = "1y5m84d72z2fhnzznlyq4hj4hfg04hgszng3ps4dz4s1wd565m1s";
        libraryHaskellDepends = [
          base bytestring Only optparse-applicative system-filepath text time
          transformers void
@@ -193566,6 +195785,34 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "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
+     , text
+     }:
+     mkDerivation {
+       pname = "ormolu";
+       version = "0.2.0.0";
+       sha256 = "0zivz7vcl4m1rjay5md6cdqac9cnfwz9c844l20byiz5h49bwfhb";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         ansi-terminal base bytestring containers Diff dlist exceptions
+         ghc-lib-parser mtl syb text
+       ];
+       executableHaskellDepends = [
+         base filepath 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;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "orthotope" = callPackage
     ({ mkDerivation, base, deepseq, dlist, HUnit, pretty, QuickCheck
      , test-framework, test-framework-hunit, test-framework-quickcheck2
@@ -193621,8 +195868,8 @@ self: {
      }:
      mkDerivation {
        pname = "ory-kratos";
-       version = "0.0.5.10";
-       sha256 = "0cn52z8d4l7z08xnz8dxiazbd109zsnl7qpy38biwvfsmzh9s46w";
+       version = "0.0.6.0";
+       sha256 = "02hk0agzjj1y928wb2i0cl2lq0bwrn9iqny4m67csgnxjpain1il";
        libraryHaskellDepends = [
          aeson base containers exceptions http-api-data http-client
          http-client-tls http-types mtl network-uri servant servant-client
@@ -194072,6 +196319,20 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "packcheck_0_6_0" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "packcheck";
+       version = "0.6.0";
+       sha256 = "0n050lpbcykzhaxwjxyh65crp2iyn3bvdagybap9prqid0zj4k8z";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base ];
+       benchmarkHaskellDepends = [ base ];
+       description = "Universal build and CI testing for Haskell packages";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "packdeps" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, directory
      , filepath, optparse-applicative, process, semigroups, split, tar
@@ -194437,6 +196698,23 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "pagerduty-hs" = callPackage
+    ({ mkDerivation, aeson, base, exceptions, HUnit, lens, tasty
+     , tasty-hunit, tasty-quickcheck, text, wreq
+     }:
+     mkDerivation {
+       pname = "pagerduty-hs";
+       version = "0.2.0.0";
+       sha256 = "0znjxcf4a6x71sfykmgdx4zlmdghc864yis6rl5q7y85qq9s324i";
+       libraryHaskellDepends = [ aeson base exceptions lens text wreq ];
+       testHaskellDepends = [
+         aeson base exceptions HUnit lens tasty tasty-hunit tasty-quickcheck
+         text wreq
+       ];
+       description = "An interface to the PagerDuty API";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "pagination" = callPackage
     ({ mkDerivation, base, deepseq, exceptions, hspec, QuickCheck }:
      mkDerivation {
@@ -194532,8 +196810,8 @@ self: {
        pname = "palette";
        version = "0.3.0.2";
        sha256 = "0820n3cj4zy9s46diln2rrs4lrxbipkhdw74p2w42gc7k1nlj54i";
-       revision = "1";
-       editedCabalFile = "0x536r15zzxlkf5p5a2x64qr5szdf9yh04vaiiwfhsm232qb6fjq";
+       revision = "2";
+       editedCabalFile = "134w4bm1p6piyx594dx4hncf3adycqld4935bs2wbrq634w7ngxg";
        libraryHaskellDepends = [
          array base colour containers MonadRandom
        ];
@@ -194572,7 +196850,7 @@ self: {
        platforms = [
          "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
        ];
-     }) {pam = null;};
+     }) {inherit (pkgs) pam;};
 
   "pan-os-syslog" = callPackage
     ({ mkDerivation, base, byteslice, bytesmith, chronos, gauge, ip
@@ -194672,6 +196950,65 @@ self: {
        maintainers = with lib.maintainers; [ peti ];
      }) {};
 
+  "pandoc_2_14_2" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, array, attoparsec, base
+     , base64-bytestring, binary, blaze-html, blaze-markup, bytestring
+     , case-insensitive, citeproc, commonmark, commonmark-extensions
+     , commonmark-pandoc, connection, containers, data-default, deepseq
+     , Diff, directory, doclayout, doctemplates, emojis, exceptions
+     , file-embed, filepath, Glob, haddock-library, hslua
+     , hslua-module-path, hslua-module-system, hslua-module-text, HsYAML
+     , 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.2";
+       sha256 = "1bjw5di5dwfpnxgkj2qmri8f1nv6yin23cd8s38chwan29vd7xrc";
+       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-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;
+       hydraPlatforms = lib.platforms.none;
+       maintainers = with lib.maintainers; [ peti ];
+     }) {};
+
   "pandoc-citeproc" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, attoparsec, base, bytestring
      , Cabal, containers, data-default, directory, filepath, hs-bibutils
@@ -195080,6 +197417,41 @@ self: {
        license = lib.licenses.gpl2Plus;
      }) {};
 
+  "pandoc-plot_1_3_0" = callPackage
+    ({ mkDerivation, 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
+     , tasty, tasty-hspec, tasty-hunit, template-haskell, text
+     , typed-process, unix, yaml
+     }:
+     mkDerivation {
+       pname = "pandoc-plot";
+       version = "1.3.0";
+       sha256 = "0d33cbw0ygsdwh718q7q5gw2s6565dbrjwi3rz0qdf78q14wiayi";
+       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
+       ];
+       executableHaskellDepends = [
+         base containers directory filepath gitrev optparse-applicative
+         pandoc pandoc-types template-haskell text typed-process
+       ];
+       testHaskellDepends = [
+         base containers directory filepath hspec hspec-expectations
+         pandoc-types tasty tasty-hspec tasty-hunit text
+       ];
+       benchmarkHaskellDepends = [
+         base criterion pandoc-types template-haskell text
+       ];
+       description = "A Pandoc filter to include figures generated from code blocks using your plotting toolkit of choice";
+       license = lib.licenses.gpl2Plus;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "pandoc-pyplot" = callPackage
     ({ mkDerivation, base, containers, data-default-class, deepseq
      , directory, filepath, hashable, hspec, hspec-expectations, mtl
@@ -195233,8 +197605,8 @@ self: {
     ({ mkDerivation }:
      mkDerivation {
        pname = "pandora";
-       version = "0.4.2";
-       sha256 = "1gn3bl9nls9rqn2mdxdiaik740l2g8ji7djn6626j4jnmvwkcwks";
+       version = "0.4.5";
+       sha256 = "0r8pw2zy6yckizy9hrwg3kpg6f9v0dkj0fxw873sxpc4ccz5nkl0";
        description = "A box of patterns and paradigms";
        license = lib.licenses.mit;
      }) {};
@@ -196730,6 +199102,24 @@ self: {
        broken = true;
      }) {};
 
+  "parser-unbiased-choice-monad-embedding" = callPackage
+    ({ mkDerivation, base, containers, doctest, Earley
+     , lexer-applicative, regex-applicative, srcloc
+     }:
+     mkDerivation {
+       pname = "parser-unbiased-choice-monad-embedding";
+       version = "0.0.0.3";
+       sha256 = "0p8w52f5bmf1y9b6zw5sc8dhhbm4lf8ld59j52a50piyyyl9y0xi";
+       libraryHaskellDepends = [ base containers Earley srcloc ];
+       testHaskellDepends = [
+         base doctest lexer-applicative regex-applicative
+       ];
+       description = "Parsing library with unbiased choice and support for embedding arbitrary monad";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "parser241" = callPackage
     ({ mkDerivation, base, containers, hspec, mtl }:
      mkDerivation {
@@ -196876,14 +199266,14 @@ self: {
      }:
      mkDerivation {
        pname = "parsley";
-       version = "1.0.0.1";
-       sha256 = "0z4w6hwa0yj34xsqp63kqy3wkk51k343fv8ijbk0s4w4hdx7d7jb";
+       version = "1.0.0.2";
+       sha256 = "06rc8zcgp5zyvf17pgzf1nqlc3avdl8rmbwabkggk4v4x9rxwkjx";
        libraryHaskellDepends = [
          base parsley-core template-haskell text
        ];
        testHaskellDepends = [
-         base deepseq parsley-garnish tasty tasty-hunit tasty-quickcheck
-         template-haskell th-test-utils
+         base deepseq parsley-core parsley-garnish tasty tasty-hunit
+         tasty-quickcheck template-haskell th-test-utils
        ];
        benchmarkHaskellDepends = [
          array attoparsec base bytestring containers criterion deepseq
@@ -196899,18 +199289,22 @@ self: {
   "parsley-core" = callPackage
     ({ mkDerivation, array, base, bytestring, containers, cpphs
      , dependent-map, dependent-sum, ghc-prim, hashable, mtl
-     , pretty-terminal, template-haskell, text, unordered-containers
+     , pretty-terminal, tasty, tasty-hunit, tasty-quickcheck
+     , template-haskell, text, unordered-containers
      }:
      mkDerivation {
        pname = "parsley-core";
-       version = "1.3.0.0";
-       sha256 = "0qx5q7a9hkj9swpwlxh24c19pf9i6yvlmp44xiwshflz4cf1n8dq";
+       version = "1.6.0.0";
+       sha256 = "1hjsnwh3gxwk1jmc0xylvjpsa3shzvjb5sn1imypgnnb887iabv6";
        libraryHaskellDepends = [
          array base bytestring containers dependent-map dependent-sum
          ghc-prim hashable mtl pretty-terminal template-haskell text
          unordered-containers
        ];
        libraryToolDepends = [ cpphs ];
+       testHaskellDepends = [
+         base containers tasty tasty-hunit tasty-quickcheck
+       ];
        description = "A fast parser combinator library backed by Typed Template Haskell";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -197242,7 +199636,9 @@ self: {
        ];
        description = "Hashing and checking of passwords";
        license = lib.licenses.bsd3;
-       platforms = [ "i686-linux" "x86_64-darwin" "x86_64-linux" ];
+       platforms = [
+         "aarch64-darwin" "i686-linux" "x86_64-darwin" "x86_64-linux"
+       ];
        maintainers = with lib.maintainers; [ cdepillabout ];
      }) {};
 
@@ -197267,7 +199663,9 @@ self: {
        ];
        description = "typeclass instances for password package";
        license = lib.licenses.bsd3;
-       platforms = [ "i686-linux" "x86_64-darwin" "x86_64-linux" ];
+       platforms = [
+         "aarch64-darwin" "i686-linux" "x86_64-darwin" "x86_64-linux"
+       ];
        maintainers = with lib.maintainers; [ cdepillabout ];
      }) {};
 
@@ -197426,6 +199824,8 @@ self: {
        pname = "patch-image";
        version = "0.3.3.1";
        sha256 = "0nvp2y2f5cb29vzk2a9bvr3mgf17j70ir0nhb648pzfa0h1xj76k";
+       revision = "1";
+       editedCabalFile = "0l21xqwh95v5jdv46qbmaw6d4rfbmn1yx3zraq0srxawc1fgdfgx";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -197557,6 +199957,17 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "path-formatting" = callPackage
+    ({ mkDerivation, base, formatting, path }:
+     mkDerivation {
+       pname = "path-formatting";
+       version = "0.1.0.0";
+       sha256 = "0jfl2ggvghnkwhp8p8r1dswjb5dpng8hifzhjh2a982bmlsln9c6";
+       libraryHaskellDepends = [ base formatting path ];
+       description = "Formatting for path";
+       license = lib.licenses.mit;
+     }) {};
+
   "path-io" = callPackage
     ({ mkDerivation, base, containers, directory, dlist, exceptions
      , filepath, hspec, path, temporary, time, transformers, unix-compat
@@ -197565,8 +199976,8 @@ self: {
        pname = "path-io";
        version = "1.6.3";
        sha256 = "1dnc48hf8x83p0jy05qi8j8gmfmsy50swnql9ssdv74lsryp615n";
-       revision = "1";
-       editedCabalFile = "0hzpwyxyj332mq09vgf06vfsga9b0q711fr52x3xswcmhvvsv60g";
+       revision = "3";
+       editedCabalFile = "0rsr9r2175lf7zcz2sns0mhxkvl21pm50sjidjq5v75nalrsw6rp";
        libraryHaskellDepends = [
          base containers directory dlist exceptions filepath path temporary
          time transformers unix-compat
@@ -198257,24 +200668,25 @@ self: {
        license = lib.licenses.asl20;
      }) {};
 
-  "pcre2_2_0_0" = callPackage
-    ({ mkDerivation, base, containers, criterion, hspec
+  "pcre2_2_0_1" = callPackage
+    ({ mkDerivation, base, containers, criterion, hspec, microlens
      , microlens-platform, mtl, pcre-light, regex-pcre-builtin
      , template-haskell, text
      }:
      mkDerivation {
        pname = "pcre2";
-       version = "2.0.0";
-       sha256 = "1jkyc2s3x5n7zrw9b78gk8jj262xfmg8cva2gr7mlzzl0hd9r11y";
+       version = "2.0.1";
+       sha256 = "0f93z99qhlhyvq7xsfn0nap9cxpxg2hs7790jqc5hi5kmqxlwvmy";
        libraryHaskellDepends = [
-         base containers mtl template-haskell text
+         base containers microlens mtl template-haskell text
        ];
        testHaskellDepends = [
-         base containers hspec microlens-platform mtl template-haskell text
+         base containers hspec microlens microlens-platform mtl
+         template-haskell text
        ];
        benchmarkHaskellDepends = [
-         base containers criterion microlens-platform mtl pcre-light
-         regex-pcre-builtin template-haskell text
+         base containers criterion microlens microlens-platform mtl
+         pcre-light regex-pcre-builtin template-haskell text
        ];
        description = "Regular expressions via the PCRE2 C library (included)";
        license = lib.licenses.asl20;
@@ -199429,7 +201841,9 @@ self: {
        ];
        description = "Serialization library with state and leb128 encoding";
        license = lib.licenses.bsd3;
-       platforms = [ "i686-linux" "x86_64-darwin" "x86_64-linux" ];
+       platforms = [
+         "aarch64-darwin" "i686-linux" "x86_64-darwin" "x86_64-linux"
+       ];
      }) {};
 
   "persist2er" = callPackage
@@ -199624,8 +202038,8 @@ self: {
      }:
      mkDerivation {
        pname = "persistent-documentation";
-       version = "0.1.0.3";
-       sha256 = "03p3ppjrn9j76bwgq7n921c2h0xkzsf9ish6nx6bhxdggyq3bfwy";
+       version = "0.1.0.4";
+       sha256 = "0ib56hz4q83knw6lqdbfcflnpwd0x8381p67yibmnbyn9p5b6r1q";
        libraryHaskellDepends = [
          base containers mtl persistent template-haskell text
        ];
@@ -199803,6 +202217,32 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "persistent-mtl_0_3_0_0" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, containers, esqueleto
+     , 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.3.0.0";
+       sha256 = "1srahd7n5xcl6sai2p3y1vmin9sbyf30xxqcjhqsj3bl5hjab5hz";
+       libraryHaskellDepends = [
+         base conduit containers mtl persistent resource-pool resourcet text
+         transformers unliftio unliftio-core unliftio-pool
+       ];
+       testHaskellDepends = [
+         base bytestring conduit containers esqueleto 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;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "persistent-mysql" = callPackage
     ({ mkDerivation, aeson, base, blaze-builder, bytestring, conduit
      , containers, fast-logger, hspec, http-api-data, HUnit
@@ -200945,19 +203385,19 @@ self: {
 
   "phonetic-languages-phonetics-basics" = callPackage
     ({ mkDerivation, base, foldable-ix, lists-flines, mmsyn2-array
-     , mmsyn5
+     , mmsyn3, mmsyn5
      }:
      mkDerivation {
        pname = "phonetic-languages-phonetics-basics";
-       version = "0.7.0.0";
-       sha256 = "16a8b5xpdrayfh03czs0nb1xz6kn95rr4k4dim5viqjxpc9f0zbn";
+       version = "0.8.1.0";
+       sha256 = "1y67w8ywcmv8d86b52vhiqxsgk31pglf8hcjnmml2q5kh8cpjwmp";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base foldable-ix lists-flines mmsyn2-array mmsyn5
+         base foldable-ix lists-flines mmsyn2-array mmsyn3 mmsyn5
        ];
        executableHaskellDepends = [
-         base foldable-ix lists-flines mmsyn2-array mmsyn5
+         base foldable-ix lists-flines mmsyn2-array mmsyn3 mmsyn5
        ];
        description = "A library for working with generalized phonetic languages usage";
        license = lib.licenses.mit;
@@ -201005,10 +203445,10 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "phonetic-languages-rhythmicity";
-       version = "0.2.0.0";
-       sha256 = "0cvn2l0ds5nyz4inx354l8r9m4bkqjic7plpjgvhih8f4b53j6ln";
+       version = "0.9.0.0";
+       sha256 = "1xymd8r5lp4jn0qb4p1dyzbhdyb3nsnvphx7f9nvf46kjbz18670";
        libraryHaskellDepends = [ base ];
-       description = "Allows to estimate the rhythmicity properties for the text (usually, the Ukrainian poetic one)";
+       description = "Allows to estimate the rhythmicity properties for the text";
        license = lib.licenses.mit;
      }) {};
 
@@ -201050,13 +203490,13 @@ self: {
      , phonetic-languages-simplified-base
      , phonetic-languages-simplified-examples-common
      , phonetic-languages-simplified-properties-array
-     , phonetic-languages-ukrainian-array, subG
+     , phonetic-languages-ukrainian-array, string-interpreter, subG
      , ukrainian-phonetics-basic-array, uniqueness-periods-vector-stats
      }:
      mkDerivation {
        pname = "phonetic-languages-simplified-examples-array";
-       version = "0.4.2.0";
-       sha256 = "02lv4w9v8jf7v6dkrwwmy79h7yphmk37n54r9whii6kicns80ff2";
+       version = "0.10.0.0";
+       sha256 = "0m7p4iddilaf0v81kjya41m6rczplhw8cl3gq4axwq5lw0x5nppf";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -201067,7 +203507,7 @@ self: {
          phonetic-languages-rhythmicity phonetic-languages-simplified-base
          phonetic-languages-simplified-examples-common
          phonetic-languages-simplified-properties-array
-         phonetic-languages-ukrainian-array subG
+         phonetic-languages-ukrainian-array string-interpreter subG
          ukrainian-phonetics-basic-array uniqueness-periods-vector-stats
        ];
        executableHaskellDepends = [
@@ -201078,7 +203518,7 @@ self: {
          phonetic-languages-rhythmicity phonetic-languages-simplified-base
          phonetic-languages-simplified-examples-common
          phonetic-languages-simplified-properties-array
-         phonetic-languages-ukrainian-array subG
+         phonetic-languages-ukrainian-array string-interpreter subG
          ukrainian-phonetics-basic-array uniqueness-periods-vector-stats
        ];
        description = "Helps to create Ukrainian texts with the given phonetic properties";
@@ -201113,12 +203553,12 @@ self: {
      , phonetic-languages-simplified-base
      , phonetic-languages-simplified-generalized-examples-common
      , phonetic-languages-simplified-generalized-properties-array
-     , process, subG
+     , process, string-interpreter, subG
      }:
      mkDerivation {
        pname = "phonetic-languages-simplified-generalized-examples-array";
-       version = "0.4.1.1";
-       sha256 = "1xk4vj7bj93s8r9l09z2w9h0sbkd73qcv441jisa04m0s6hlhgby";
+       version = "0.10.0.0";
+       sha256 = "169ln5g5gz4lshsk2qfmj6h25x3xch0ar4mm0i9wn07wa7g1yyvj";
        libraryHaskellDepends = [
          base heaps mmsyn2-array mmsyn3 parallel
          phonetic-languages-constraints-array
@@ -201128,7 +203568,7 @@ self: {
          phonetic-languages-simplified-base
          phonetic-languages-simplified-generalized-examples-common
          phonetic-languages-simplified-generalized-properties-array process
-         subG
+         string-interpreter subG
        ];
        description = "Helps to create texts with the given phonetic properties (e. g. poetic).";
        license = lib.licenses.mit;
@@ -201156,8 +203596,8 @@ self: {
      }:
      mkDerivation {
        pname = "phonetic-languages-simplified-generalized-properties-array";
-       version = "0.2.0.0";
-       sha256 = "1k1id4dz0siz3qqax738k4k2dfj68slph4yy8ad6f4r9fink9jqr";
+       version = "0.8.0.0";
+       sha256 = "0fi76agkx6i55121pcj3wxrfw4ymqyqb5l8sa8vm78nvx5r54nsd";
        libraryHaskellDepends = [
          base phonetic-languages-phonetics-basics
          phonetic-languages-rhythmicity phonetic-languages-simplified-base
@@ -201208,8 +203648,8 @@ self: {
      }:
      mkDerivation {
        pname = "phonetic-languages-simplified-properties-array";
-       version = "0.2.0.0";
-       sha256 = "1y7cki8c07q9423b54cjvy9k6a9byarpww3px50bc91ivirda6zr";
+       version = "0.8.0.0";
+       sha256 = "1h32g5cqib72j2ib26ch6b1r50j506arx0pz6zfxl968095vmcan";
        libraryHaskellDepends = [
          base phonetic-languages-rhythmicity
          phonetic-languages-simplified-base ukrainian-phonetics-basic-array
@@ -201273,8 +203713,8 @@ self: {
     ({ mkDerivation, base, mmsyn2-array, mmsyn5 }:
      mkDerivation {
        pname = "phonetic-languages-ukrainian-array";
-       version = "0.1.0.0";
-       sha256 = "0h88qcdkckgn5cjyjiwvdxci8p04h12xr6jj5pjp4wzqyp6a5wcf";
+       version = "0.2.1.0";
+       sha256 = "17gyg64hwk5cj9drpdsadyn3l94g2n6m859ghfplr665id2pgzlg";
        libraryHaskellDepends = [ base mmsyn2-array mmsyn5 ];
        description = "Prepares Ukrainian text to be used as a phonetic language text";
        license = lib.licenses.mit;
@@ -201961,8 +204401,8 @@ self: {
      }:
      mkDerivation {
        pname = "pinned-warnings";
-       version = "0.1.0.6";
-       sha256 = "1n0h2v71x3j0wn0g2f3zq3xw681s16hl7ffywi83z50hacd8x6kx";
+       version = "0.1.0.8";
+       sha256 = "0ky5lqvf1bfbjzblqgnj47jhkxw4fb7gz7k268hnf41gfnbsy3i4";
        libraryHaskellDepends = [
          base bytestring containers directory ghc time transformers
        ];
@@ -202075,6 +204515,8 @@ self: {
        pname = "pipes";
        version = "4.3.16";
        sha256 = "163lx5sf68zx5kik5h1fjsyckwr9shdsn5k2dsjq3mhg077nxqgl";
+       revision = "1";
+       editedCabalFile = "1b2hkxrb3sv2jgxw3pwhzkskdbgwmli1ckmnycba4llajn9yczmh";
        libraryHaskellDepends = [
          base exceptions mmorph mtl transformers void
        ];
@@ -204636,6 +207078,28 @@ self: {
        broken = true;
      }) {};
 
+  "poker" = callPackage
+    ({ mkDerivation, array, base, binary, gauge, hspec, mtl, random-fu
+     , random-source, rvar, split, vector
+     }:
+     mkDerivation {
+       pname = "poker";
+       version = "0.1.0.0";
+       sha256 = "15kykgv52w9q6bngggpdg4kgp0yms5n0kg500ip7rh1l88d7rzr5";
+       revision = "1";
+       editedCabalFile = "0z3inj16xfkniynigdphfwcmcgk3wyf9ypx0v8jycv2ibvqkc2hp";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         array base binary mtl random-fu random-source rvar vector
+       ];
+       executableHaskellDepends = [ base random-fu ];
+       testHaskellDepends = [ base hspec split ];
+       benchmarkHaskellDepends = [ base gauge ];
+       description = "Texas holdem hand evaluation and simulation";
+       license = lib.licenses.mit;
+     }) {};
+
   "poker-eval" = callPackage
     ({ mkDerivation, array, base, mtl, poker-eval, random, vector }:
      mkDerivation {
@@ -204769,11 +207233,33 @@ self: {
        pname = "poll";
        version = "0.0.0.2";
        sha256 = "1bllh4yr96p7k44bc10zyhdx2zdh3brl0im3gnn5a1m6irsx6j42";
+       revision = "1";
+       editedCabalFile = "05ghv8acp0gr86wlxsmjd0x6jaj981213ggg629hb78a95119f2q";
        libraryHaskellDepends = [ base enumset utility-ht ];
        description = "Bindings to poll.h";
        license = lib.licenses.bsd3;
      }) {};
 
+  "polling-cache" = callPackage
+    ({ mkDerivation, base, exceptions, hspec, hspec-discover, mtl
+     , random, stm, time, transformers, unliftio
+     }:
+     mkDerivation {
+       pname = "polling-cache";
+       version = "0.1.1.0";
+       sha256 = "16hz5s5flz96j3l3b827hdymz75qqs66a05rwmz4b8332db3y5dm";
+       libraryHaskellDepends = [
+         base exceptions random stm time unliftio
+       ];
+       testHaskellDepends = [
+         base exceptions hspec hspec-discover mtl random stm time
+         transformers unliftio
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Cache infrequently updated data for simpler distributed systems";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "poly" = callPackage
     ({ mkDerivation, base, deepseq, doctest, finite-typelits, gauge
      , mod, primitive, QuickCheck, quickcheck-classes, semirings, tasty
@@ -204948,6 +207434,19 @@ self: {
        broken = true;
      }) {};
 
+  "polynomial-algebra" = callPackage
+    ({ mkDerivation, array, base, compact-word-vectors, containers }:
+     mkDerivation {
+       pname = "polynomial-algebra";
+       version = "0.1";
+       sha256 = "03133j7hknn0d6b6lvq0q05zy6m92lx5wh68chimgm45xh2p8y0a";
+       libraryHaskellDepends = [
+         array base compact-word-vectors containers
+       ];
+       description = "Multivariate polynomial rings";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "polynomials-bernstein" = callPackage
     ({ mkDerivation, base, vector }:
      mkDerivation {
@@ -205007,6 +207506,39 @@ self: {
        broken = true;
      }) {};
 
+  "polysemy_1_6_0_0" = callPackage
+    ({ mkDerivation, async, base, Cabal, cabal-doctest, containers
+     , criterion, doctest, first-class-families, free, freer-simple
+     , hspec, hspec-discover, inspection-testing, mtl, QuickCheck, stm
+     , syb, template-haskell, th-abstraction, transformers, type-errors
+     , unagi-chan
+     }:
+     mkDerivation {
+       pname = "polysemy";
+       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 unagi-chan
+       ];
+       testHaskellDepends = [
+         async base containers doctest first-class-families hspec
+         inspection-testing mtl QuickCheck stm syb template-haskell
+         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 unagi-chan
+       ];
+       description = "Higher-order, low-boilerplate free monads";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "polysemy-RandomFu" = callPackage
     ({ mkDerivation, base, hspec, hspec-discover, polysemy
      , polysemy-plugin, polysemy-zoo, random-fu, random-source, text
@@ -205031,20 +207563,19 @@ self: {
 
   "polysemy-chronos" = callPackage
     ({ mkDerivation, aeson, base, chronos, containers, hedgehog
-     , polysemy, polysemy-plugin, polysemy-test, polysemy-time, relude
-     , tasty, tasty-hedgehog, text
+     , polysemy, polysemy-test, polysemy-time, relude, tasty
+     , tasty-hedgehog, text
      }:
      mkDerivation {
        pname = "polysemy-chronos";
-       version = "0.1.2.3";
-       sha256 = "0awsnl207i1fi7qv4cqhfa22r2diq7js6s06xgwgxbzd0wmq2j9g";
+       version = "0.1.3.2";
+       sha256 = "0h3fla28m0y9fgw5pxrirz3bhm7baf12z70a5s8rmpi8q5h8v841";
        libraryHaskellDepends = [
-         aeson base chronos containers polysemy polysemy-plugin
-         polysemy-time relude text
+         aeson base chronos containers polysemy polysemy-time relude text
        ];
        testHaskellDepends = [
-         aeson base chronos containers hedgehog polysemy polysemy-plugin
-         polysemy-test polysemy-time relude tasty tasty-hedgehog text
+         aeson base chronos containers hedgehog polysemy polysemy-test
+         polysemy-time relude tasty tasty-hedgehog text
        ];
        description = "Polysemy-time Interpreters for Chronos";
        license = "BSD-2-Clause-Patent";
@@ -205055,20 +207586,20 @@ self: {
     ({ mkDerivation, async, base, containers, hedgehog, polysemy
      , polysemy-test, polysemy-time, relude, stm, stm-chans
      , string-interpolate, tasty, tasty-hedgehog, template-haskell, text
-     , time, unix
+     , time, unagi-chan, unix
      }:
      mkDerivation {
        pname = "polysemy-conc";
-       version = "0.1.0.2";
-       sha256 = "0kzb1lp5a94ahb25rzscxam77ms45jy0v0czvmwidlg0b082zwbw";
+       version = "0.1.1.0";
+       sha256 = "0mhhywk0iziw33j8i47k8fbdk8xrzr382afkk5wlwac7gqr4hxkf";
        libraryHaskellDepends = [
          async base containers polysemy polysemy-time relude stm stm-chans
-         string-interpolate template-haskell text time unix
+         string-interpolate template-haskell text time unagi-chan unix
        ];
        testHaskellDepends = [
          async base containers hedgehog polysemy polysemy-test polysemy-time
          relude stm stm-chans string-interpolate tasty tasty-hedgehog
-         template-haskell text time unix
+         template-haskell text time unagi-chan unix
        ];
        description = "Polysemy Effects for Concurrency";
        license = "BSD-2-Clause-Patent";
@@ -205076,17 +207607,17 @@ self: {
      }) {};
 
   "polysemy-extra" = callPackage
-    ({ mkDerivation, base, containers, exceptions, extra, polysemy
-     , polysemy-zoo
-     }:
+    ({ mkDerivation, base, containers, polysemy, polysemy-kvstore }:
      mkDerivation {
        pname = "polysemy-extra";
-       version = "0.1.7.0";
-       sha256 = "1cr4gmsxf07754gz1jlv8jr7a4zgs9w5v3s8g8hz1lhps090cdf4";
+       version = "0.2.0.0";
+       sha256 = "0w8spy9l66ys1x9riwy8cwvywzqxkcbhzrqyia85jgl6mgp96zis";
+       revision = "1";
+       editedCabalFile = "0j44rqp13n5hxl0kx06hhliwmsqxl81jrcylsk7h8khjqmphgsn7";
        libraryHaskellDepends = [
-         base containers exceptions extra polysemy polysemy-zoo
+         base containers polysemy polysemy-kvstore
        ];
-       description = "Extra Input and Output functions for polysemy..";
+       description = "Extra Input and Output functions for polysemy";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
      }) {};
@@ -205099,6 +207630,8 @@ self: {
        pname = "polysemy-fs";
        version = "0.1.0.0";
        sha256 = "16lf6a5ypf5injdl8aljrnrdrfz21b0rhcmypx5ngvw1k2mgh6zl";
+       revision = "1";
+       editedCabalFile = "0cbplvbx35q3h4ln9ldyk8yvx1c4sgbybbm02frf8nlp1khxji0w";
        libraryHaskellDepends = [
          base bytestring path polysemy rio temporary text unliftio-path
        ];
@@ -205108,15 +207641,15 @@ self: {
      }) {};
 
   "polysemy-fskvstore" = callPackage
-    ({ mkDerivation, base, bytestring, path, polysemy, polysemy-zoo
+    ({ mkDerivation, base, bytestring, path, polysemy, polysemy-kvstore
      , rio, unliftio-path
      }:
      mkDerivation {
        pname = "polysemy-fskvstore";
-       version = "0.1.0.0";
-       sha256 = "1hg552w21hgq5jvcbrw1kn1870xdyf44a3xqd87nrj9s9k2j4pk2";
+       version = "0.1.1.0";
+       sha256 = "1jpiqq65lv1dp7h2wdl2b2czpax6wqwlv4fqh8vhg26pw49mc2lr";
        libraryHaskellDepends = [
-         base bytestring path polysemy polysemy-zoo rio unliftio-path
+         base bytestring path polysemy polysemy-kvstore rio unliftio-path
        ];
        description = "Run a KVStore as a filesystem in polysemy";
        license = lib.licenses.mit;
@@ -205133,8 +207666,8 @@ self: {
      }:
      mkDerivation {
        pname = "polysemy-http";
-       version = "0.4.0.3";
-       sha256 = "0sp4s8spf0nzqs8cw9swnsxd2wxa0g4cnz236n7m6z73450ih3c7";
+       version = "0.4.0.6";
+       sha256 = "1h35qv4gnjkgn37q6gvdn3www83azq7gj6d1zza0g6dmil0vvlr4";
        libraryHaskellDepends = [
          aeson ansi-terminal base bytestring case-insensitive composition
          containers data-default either http-client http-client-tls
@@ -205148,7 +207681,7 @@ self: {
          relude servant servant-client servant-server string-interpolate
          tasty tasty-hedgehog template-haskell text time warp
        ];
-       description = "Polysemy effect for http-client";
+       description = "Polysemy Effect for Http-Client";
        license = "BSD-2-Clause-Patent";
        hydraPlatforms = lib.platforms.none;
      }) {};
@@ -205159,8 +207692,8 @@ self: {
      }:
      mkDerivation {
        pname = "polysemy-keyed-state";
-       version = "0.1";
-       sha256 = "00jcb0rd7s8yvflqx6xjas10lgh0dmg4ywb18cbkm8xd0pdn0d2j";
+       version = "0.1.1";
+       sha256 = "0851hj58ka7gjpai9ld2mqrba6gy040wzdwj1bjzzdwrgdj85246";
        libraryHaskellDepends = [
          base constraints constraints-extras polysemy some StateVar
          trivial-constraint
@@ -205174,17 +207707,31 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "polysemy-kvstore" = callPackage
+    ({ mkDerivation, base, containers, polysemy }:
+     mkDerivation {
+       pname = "polysemy-kvstore";
+       version = "0.1.2.0";
+       sha256 = "1wa9rn948gaaz4z7pk0k2k023rap1ia3xxaxyqw5wzalfb2bm2zx";
+       libraryHaskellDepends = [ base containers polysemy ];
+       description = "KVStore effect for polysemy";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "polysemy-kvstore-jsonfile" = callPackage
     ({ mkDerivation, aeson, base, containers, exceptions, extra, path
-     , polysemy, polysemy-zoo, unliftio-path
+     , polysemy, polysemy-kvstore, unliftio-path
      }:
      mkDerivation {
        pname = "polysemy-kvstore-jsonfile";
-       version = "0.1.0.0";
-       sha256 = "1lbjq1hlq6cf6px5f6zqi04sl0yz0rpyq2m2y16zknjz3wi7zqvi";
+       version = "0.1.1.0";
+       sha256 = "1aibvhr6fsz4d02rj74pa0hwhkqzmxbp64gxf5r3q6l67ij2faw3";
+       revision = "1";
+       editedCabalFile = "18yk8l7rca4nhgk0iw42smv9n43z467dpynl05qw97w9ip1gsxj5";
        libraryHaskellDepends = [
-         aeson base containers exceptions extra path polysemy polysemy-zoo
-         unliftio-path
+         aeson base containers exceptions extra path polysemy
+         polysemy-kvstore unliftio-path
        ];
        description = "Run a KVStore as a single json file in polysemy";
        license = lib.licenses.mit;
@@ -205199,8 +207746,8 @@ self: {
      }:
      mkDerivation {
        pname = "polysemy-log";
-       version = "0.2.2.1";
-       sha256 = "09dcw78gbw14fxa46w6xsw7b9xn9cqvvh9ngdnyjjv58vgd0k3yk";
+       version = "0.2.2.2";
+       sha256 = "16xr9ym9ahc4452v5rdna8i5xsm7z50zjkjxa6kl6ql3vxrqfj2m";
        libraryHaskellDepends = [
          ansi-terminal base polysemy polysemy-conc polysemy-time relude
          string-interpolate template-haskell text time
@@ -205210,7 +207757,7 @@ self: {
          polysemy-time relude string-interpolate tasty tasty-hedgehog
          template-haskell text time
        ];
-       description = "Polysemy effects for logging";
+       description = "Polysemy Effects for Logging";
        license = "BSD-2-Clause-Patent";
        hydraPlatforms = lib.platforms.none;
      }) {};
@@ -205222,8 +207769,8 @@ self: {
      }:
      mkDerivation {
        pname = "polysemy-log-co";
-       version = "0.2.2.1";
-       sha256 = "0k8zabqc31vgk2dqxmbxk2dkmirdqxypfr8h6k0svgi66jbqbmv8";
+       version = "0.2.2.2";
+       sha256 = "1w3jyl8qb491v2a0lbkffpg7yx04mwhxsv1zqk7894145rryxkpn";
        libraryHaskellDepends = [
          base co-log co-log-core co-log-polysemy polysemy polysemy-conc
          polysemy-log polysemy-time relude text time
@@ -205233,7 +207780,7 @@ self: {
          polysemy-conc polysemy-log polysemy-test polysemy-time relude tasty
          tasty-hedgehog text time
        ];
-       description = "polysemy-log interpreter for co-log";
+       description = "Colog Adapters for Polysemy-Log";
        license = "BSD-2-Clause-Patent";
        hydraPlatforms = lib.platforms.none;
      }) {};
@@ -205245,8 +207792,8 @@ self: {
      }:
      mkDerivation {
        pname = "polysemy-log-di";
-       version = "0.2.2.1";
-       sha256 = "0rvikvzxk0qqbwx58w8fwmj3xkdf7i0zwz3w8brn79k3bq3m9bf5";
+       version = "0.2.2.2";
+       sha256 = "0p1sz7w247fqvxjmz0bjh34nbvb8p9pc4wimklcmkvghqzny5qkz";
        libraryHaskellDepends = [
          base di-polysemy polysemy polysemy-conc polysemy-log polysemy-time
          relude text time
@@ -205255,27 +207802,46 @@ self: {
          base di-polysemy hedgehog polysemy polysemy-conc polysemy-log
          polysemy-test polysemy-time relude tasty tasty-hedgehog text time
        ];
-       description = "polysemy-log interpreter for di";
+       description = "Di Adapters for Polysemy-Log";
        license = "BSD-2-Clause-Patent";
        hydraPlatforms = lib.platforms.none;
      }) {};
 
   "polysemy-methodology" = callPackage
-    ({ mkDerivation, base, co-log-polysemy, polysemy, polysemy-plugin
-     , polysemy-zoo
+    ({ mkDerivation, base, polysemy, polysemy-kvstore, polysemy-several
      }:
      mkDerivation {
        pname = "polysemy-methodology";
-       version = "0.1.8.0";
-       sha256 = "0p4h6vjrq6g6pd27mqpzp33jg84gfi3wpymjkbxfrwz7ky74jag5";
+       version = "0.2.1.0";
+       sha256 = "17md6l5smy1ssn99kij6rnb42bx3fx8h49z85cm9sf41k6lb5k1g";
+       revision = "2";
+       editedCabalFile = "0dpancn85f8j3pxhk43lik6fbznp502cc68rkhqkan791kh1bbc7";
        libraryHaskellDepends = [
-         base co-log-polysemy polysemy polysemy-plugin polysemy-zoo
+         base polysemy polysemy-kvstore polysemy-several
        ];
        description = "Domain modelling algebra for polysemy";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "polysemy-methodology-co-log" = callPackage
+    ({ mkDerivation, base, co-log-polysemy, polysemy
+     , polysemy-methodology, polysemy-plugin
+     }:
+     mkDerivation {
+       pname = "polysemy-methodology-co-log";
+       version = "0.1.0.0";
+       sha256 = "1pvvb83lkpxqni6055y3s0ckjg50nd1jfivq1c8701zjv31ylbpa";
+       revision = "1";
+       editedCabalFile = "1b617fpgnzxykdhz2fp9syzzzhppi3cmkrwwfd1ar9jijqwfcdx4";
+       libraryHaskellDepends = [
+         base co-log-polysemy polysemy polysemy-methodology polysemy-plugin
+       ];
+       description = "Logging functions for polysemy-methodology";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "polysemy-methodology-composite" = callPackage
     ({ mkDerivation, base, composite-base, polysemy, polysemy-extra
      , polysemy-methodology, polysemy-vinyl, vinyl
@@ -205284,6 +207850,8 @@ self: {
        pname = "polysemy-methodology-composite";
        version = "0.1.4.0";
        sha256 = "014kfaxxi24n99gvrvf9c6c8cx8csbb9a8fbfb2md5g2d2q4v08g";
+       revision = "2";
+       editedCabalFile = "0sz200c83xjj22ifx9babvps0cnqk9gz42h081m5wb6s1w58dnib";
        libraryHaskellDepends = [
          base composite-base polysemy polysemy-extra polysemy-methodology
          polysemy-vinyl vinyl
@@ -205322,16 +207890,14 @@ self: {
      }) {};
 
   "polysemy-path" = callPackage
-    ({ mkDerivation, base, path, polysemy, polysemy-extra
-     , polysemy-plugin
-     }:
+    ({ mkDerivation, base, path, polysemy, polysemy-extra }:
      mkDerivation {
        pname = "polysemy-path";
-       version = "0.2.0.0";
-       sha256 = "0p5ylp8758zkhlgqrhq6v6fli03q9gmak7bzkw1czrxwdshkv0gi";
-       libraryHaskellDepends = [
-         base path polysemy polysemy-extra polysemy-plugin
-       ];
+       version = "0.2.1.0";
+       sha256 = "0smaai432vpqci9w7pyg443kcd1rpz7zpwww2wcxbyqszzllbhnr";
+       revision = "1";
+       editedCabalFile = "0x9b1zm804bnmjs0qbrx23s1mzgb6h9dqfchf8i3ri7x1sy24ibh";
+       libraryHaskellDepends = [ base path polysemy polysemy-extra ];
        description = "Polysemy versions of Path functions";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
@@ -205361,17 +207927,46 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "polysemy-plugin_0_4_0_0" = callPackage
+    ({ mkDerivation, base, Cabal, cabal-doctest, containers, doctest
+     , ghc, ghc-tcplugins-extra, hspec, hspec-discover
+     , inspection-testing, polysemy, should-not-typecheck, syb
+     , transformers
+     }:
+     mkDerivation {
+       pname = "polysemy-plugin";
+       version = "0.4.0.0";
+       sha256 = "0r3cy26smq3z1lw1pjjgankgal5m166c4cflm4chrw4bi056ipss";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         base containers ghc ghc-tcplugins-extra polysemy syb transformers
+       ];
+       testHaskellDepends = [
+         base containers doctest ghc ghc-tcplugins-extra hspec
+         inspection-testing polysemy should-not-typecheck syb transformers
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Disambiguate obvious uses of effects";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "polysemy-readline" = callPackage
     ({ mkDerivation, base, exceptions, haskeline, polysemy
      , polysemy-plugin
      }:
      mkDerivation {
        pname = "polysemy-readline";
-       version = "0.1.0.0";
-       sha256 = "19nic0n5k3r5qbmhnrzwrkncj61ba43qmg86mx0y190mvx540yz1";
+       version = "0.2.0.0";
+       sha256 = "0zkzlrwcbxkxiy2xmh3ms9saa379lmw49d9hfkmd487vi33q0isn";
+       isLibrary = true;
+       isExecutable = true;
        libraryHaskellDepends = [
          base exceptions haskeline polysemy polysemy-plugin
        ];
+       executableHaskellDepends = [
+         base exceptions haskeline polysemy polysemy-plugin
+       ];
        testHaskellDepends = [
          base exceptions haskeline polysemy polysemy-plugin
        ];
@@ -205398,8 +207993,8 @@ self: {
      }:
      mkDerivation {
        pname = "polysemy-resume";
-       version = "0.1.0.3";
-       sha256 = "02nlhkhzjr5zg8q4ff0an1vxm5vxwkq1d83j4980xkq20582sfvl";
+       version = "0.1.0.4";
+       sha256 = "0z7d40vimdl5dr05cxr9c88fayg6cx2km537z81c67sxdv79mgzp";
        libraryHaskellDepends = [ base polysemy relude transformers ];
        testHaskellDepends = [
          base hedgehog polysemy polysemy-plugin polysemy-test relude tasty
@@ -205410,25 +208005,53 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "polysemy-several" = callPackage
+    ({ mkDerivation, base, polysemy }:
+     mkDerivation {
+       pname = "polysemy-several";
+       version = "0.1.0.0";
+       sha256 = "1mw6a6fz3879yqnpq6h0221i8b8f05j90b1zydhzr57nsbklxzps";
+       revision = "3";
+       editedCabalFile = "0ig9jqrv9dqasgjhshapcxjqp4vdpl1p09q0fy34847vchg5jgpb";
+       libraryHaskellDepends = [ base polysemy ];
+       description = "Run several effects at once, taken from the polysemy-zoo";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
+  "polysemy-socket" = callPackage
+    ({ mkDerivation, base, bytestring, polysemy, socket }:
+     mkDerivation {
+       pname = "polysemy-socket";
+       version = "0.0.2.0";
+       sha256 = "0465sax3927cig1plbdyhifx1xipai68w01085mvslvd6am9mz6y";
+       revision = "1";
+       editedCabalFile = "05wxllpppxmzagf3zp80jm3vzdika9jcrd5bjvb7pasvxsg1rln4";
+       libraryHaskellDepends = [ base bytestring polysemy socket ];
+       description = "Socket effect for polysemy";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "polysemy-test" = callPackage
     ({ mkDerivation, base, containers, either, hedgehog, path, path-io
-     , polysemy, polysemy-plugin, relude, string-interpolate, tasty
-     , tasty-hedgehog, template-haskell, text, transformers
+     , polysemy, relude, string-interpolate, tasty, tasty-hedgehog
+     , template-haskell, text, transformers
      }:
      mkDerivation {
        pname = "polysemy-test";
-       version = "0.3.1.4";
-       sha256 = "0cysny71f92d4ncx0mjglc3wjc7yna2x6113rq8kk4s5z0zsqj7z";
+       version = "0.3.1.7";
+       sha256 = "0cra8zz7xmgw1103j3a1a4sk8jvk073wnyyk51x2fxiwjpqmax1y";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         base containers either hedgehog path path-io polysemy
-         polysemy-plugin relude string-interpolate tasty tasty-hedgehog
-         template-haskell text transformers
+         base containers either hedgehog path path-io polysemy relude
+         string-interpolate tasty tasty-hedgehog template-haskell text
+         transformers
        ];
        testHaskellDepends = [
-         base containers either hedgehog path path-io polysemy
-         polysemy-plugin relude string-interpolate tasty tasty-hedgehog
-         template-haskell text transformers
+         base containers either hedgehog path path-io polysemy relude
+         string-interpolate tasty tasty-hedgehog template-haskell text
+         transformers
        ];
        description = "Polysemy effects for testing";
        license = "BSD-2-Clause-Patent";
@@ -205437,50 +208060,76 @@ self: {
 
   "polysemy-time" = callPackage
     ({ mkDerivation, aeson, base, composition, containers, data-default
-     , either, hedgehog, polysemy, polysemy-plugin, polysemy-test
-     , relude, string-interpolate, tasty, tasty-hedgehog
-     , template-haskell, text, time, torsor
+     , either, hedgehog, polysemy, polysemy-test, relude
+     , string-interpolate, tasty, tasty-hedgehog, template-haskell, text
+     , time, torsor
      }:
      mkDerivation {
        pname = "polysemy-time";
-       version = "0.1.2.3";
-       sha256 = "0hxh9i3rw434igzx41nzbgglnvgvvgrxbgwz7cb25srj4911n69j";
+       version = "0.1.3.2";
+       sha256 = "0h0fds1qz2k9w24v6kng8hb5zr32r6y6r8jm2jaj2krn9s58pv7b";
        libraryHaskellDepends = [
          aeson base composition containers data-default either polysemy
          relude string-interpolate template-haskell text time torsor
        ];
        testHaskellDepends = [
          aeson base composition containers data-default either hedgehog
-         polysemy polysemy-plugin polysemy-test relude string-interpolate
-         tasty tasty-hedgehog template-haskell text time torsor
+         polysemy polysemy-test relude string-interpolate tasty
+         tasty-hedgehog template-haskell text time torsor
        ];
        description = "Polysemy Effect for Time";
        license = "BSD-2-Clause-Patent";
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "polysemy-uncontrolled" = callPackage
+    ({ mkDerivation, base, polysemy, polysemy-methodology }:
+     mkDerivation {
+       pname = "polysemy-uncontrolled";
+       version = "0.1.1.0";
+       sha256 = "08q69sn1ac4xhpffiabayw2l5j1jy9iz1y37ww84kx32njas9c2b";
+       revision = "1";
+       editedCabalFile = "09j8fw0m1i0zp33v7pg3g2550blwajksvwbfnqq1slhmbyigd2jr";
+       libraryHaskellDepends = [ base polysemy polysemy-methodology ];
+       description = "Uncontrolled toy effect for polysemy";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "polysemy-video" = callPackage
-    ({ mkDerivation, base, formatting, path, path-utils, polysemy, text
+    ({ mkDerivation, base, formatting, path, path-formatting, polysemy
+     , simple-media-timestamp, simple-media-timestamp-formatting, text
      , turtle
      }:
      mkDerivation {
        pname = "polysemy-video";
-       version = "0.1.2.0";
-       sha256 = "1q6acrcxin32ykhzrmd562xb45d972c37sqydh9mz1xp49764fy9";
+       version = "0.2.0.1";
+       sha256 = "1lbjjq6q3i6v41ssqy69p4iwvybidrmxcxwjzddbxcrmymr0rmlc";
+       revision = "2";
+       editedCabalFile = "1jjwn6ysygc3dz963zqhlmcqvhv79ll7kp6mbpm73fhad4jbrfvs";
        libraryHaskellDepends = [
-         base formatting path path-utils polysemy text turtle
+         base formatting path path-formatting polysemy
+         simple-media-timestamp simple-media-timestamp-formatting text
+         turtle
        ];
+       description = "Experimental video processing DSL for polysemy";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
      }) {};
 
   "polysemy-vinyl" = callPackage
-    ({ mkDerivation, base, polysemy, polysemy-extra, vinyl }:
+    ({ mkDerivation, base, polysemy, polysemy-extra, polysemy-several
+     , vinyl
+     }:
      mkDerivation {
        pname = "polysemy-vinyl";
-       version = "0.1.4.0";
-       sha256 = "1545a125bfgi5314dxhak5dnx9h5kwanzgbp1f88f96hlxik1rjh";
-       libraryHaskellDepends = [ base polysemy polysemy-extra vinyl ];
+       version = "0.1.5.0";
+       sha256 = "06y91nv2fcis058gqv5hlpl5a6kmia5r9sc6npp6102lc19vkkc4";
+       revision = "1";
+       editedCabalFile = "13f289dxr03habyggn3vl7lzrl2r3a9r0y0bisrfmq48qaiv08n1";
+       libraryHaskellDepends = [
+         base polysemy polysemy-extra polysemy-several vinyl
+       ];
        description = "Functions for mapping vinyl records in polysemy";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
@@ -205628,6 +208277,8 @@ self: {
        ];
        description = "Maps and sets of partial orders";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "pomodoro" = callPackage
@@ -205739,8 +208390,8 @@ self: {
      }:
      mkDerivation {
        pname = "pontarius-xmpp";
-       version = "0.5.6.4";
-       sha256 = "1izcyk30r527p4zx8yyi42r1xsl01gc5jpdrpkz1lksnjc6vzxq3";
+       version = "0.5.6.5";
+       sha256 = "1k01mmd19wcv5gzavnh81fhdiq8rlhvnv63f6n3s582qlsdc2lhi";
        libraryHaskellDepends = [
          attoparsec base base64-bytestring binary bytestring conduit
          containers crypto-api crypto-random cryptohash cryptohash-cryptoapi
@@ -206909,20 +209560,35 @@ self: {
      }:
      mkDerivation {
        pname = "postgresql-replicant";
-       version = "0.1.0.1";
-       sha256 = "1jlmbi5inwwpwyvrfg13b91fv642xcahfv8nhi0y6dqrvfj69h0q";
+       version = "0.2.0.0";
+       sha256 = "06r5psp6zv2pdbn4l5mp9mh8gywx4s75rny21qbbizramvl77h1k";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson async attoparsec base bits bytestring cereal containers
          keep-alive postgresql-libpq scientific stm text time
        ];
-       executableHaskellDepends = [ base postgresql-libpq ];
+       executableHaskellDepends = [ aeson base postgresql-libpq ];
        testHaskellDepends = [ base binary bytestring cereal hspec ];
        description = "PostgreSQL logical streaming replication library";
        license = lib.licenses.bsd3;
      }) {};
 
+  "postgresql-resilient" = callPackage
+    ({ mkDerivation, base, exceptions, postgresql-simple }:
+     mkDerivation {
+       pname = "postgresql-resilient";
+       version = "0.1.0.0";
+       sha256 = "178hq0mdd2cnw2ysncyqva6nqbfwxd2ka5np53zyjjp8jga59lgj";
+       revision = "1";
+       editedCabalFile = "0j2klssj7d379i4vyp34p6n37wrc0ipl89az6k1aknh7n92c1ga2";
+       libraryHaskellDepends = [ base exceptions postgresql-simple ];
+       description = "Automatic re-connection support for PostgreSQL";
+       license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "postgresql-schema" = callPackage
     ({ mkDerivation, base, basic-prelude, optparse-applicative
      , postgresql-simple, shelly, text, time
@@ -207378,6 +210044,53 @@ self: {
        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
+     , insert-ordered-containers, interpolatedstring-perl6, jose, lens
+     , lens-aeson, monad-control, mtl, 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-logger, wai-middleware-static, warp
+     }:
+     mkDerivation {
+       pname = "postgrest";
+       version = "8.0.0";
+       sha256 = "0ypgfpm8732rg94yiava27w1pyng9fg0zqad5nb94q1z402rfgfi";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson ansi-wl-pprint 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 HTTP http-types insert-ordered-containers
+         interpolatedstring-perl6 jose lens lens-aeson mtl network
+         network-uri optparse-applicative parsec protolude Ranged-sets
+         regex-tdfa retry scientific swagger2 text time unix
+         unordered-containers vector wai wai-cors wai-extra wai-logger
+         wai-middleware-static warp
+       ];
+       executableHaskellDepends = [ base containers protolude ];
+       testHaskellDepends = [
+         aeson aeson-qq async auto-update base base64-bytestring bytestring
+         case-insensitive cassava containers contravariant hasql
+         hasql-dynamic-statements 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;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "postgrest-ws" = callPackage
     ({ mkDerivation, aeson, ansi-wl-pprint, base, base64-bytestring
      , bytestring, configurator, containers, contravariant, either
@@ -208439,17 +211152,18 @@ self: {
      , criterion, deepseq, generic-random, happy, hedgehog, mtl
      , postgresql-binary, postgresql-libpq, scientific, syb, tasty
      , tasty-hedgehog, tasty-hunit, template-haskell, text
-     , th-lift-instances, time, transformers, uuid, vector, vector-sized
+     , th-lift-instances, time, transformers, unordered-containers, uuid
+     , vector, vector-sized
      }:
      mkDerivation {
        pname = "preql";
-       version = "0.5";
-       sha256 = "13lyk12x8i34q5s6dc9q7mzhax7662r7frhiiklvd0s0ksk25rqq";
+       version = "0.6";
+       sha256 = "0yixz7g6jvn2f60jj4ih0l01i3qh9nhkwsk9ykdf33mixlpq546f";
        libraryHaskellDepends = [
          aeson array base binary-parser bytestring bytestring-strict-builder
          contravariant mtl postgresql-binary postgresql-libpq scientific syb
-         template-haskell text th-lift-instances time transformers uuid
-         vector vector-sized
+         template-haskell text th-lift-instances time transformers
+         unordered-containers uuid vector vector-sized
        ];
        libraryToolDepends = [ alex happy ];
        testHaskellDepends = [
@@ -208457,14 +211171,15 @@ self: {
          containers contravariant generic-random hedgehog mtl
          postgresql-binary postgresql-libpq scientific syb tasty
          tasty-hedgehog tasty-hunit template-haskell text th-lift-instances
-         time transformers uuid vector vector-sized
+         time transformers unordered-containers uuid vector vector-sized
        ];
        testToolDepends = [ alex happy ];
        benchmarkHaskellDepends = [
          aeson array base binary-parser bytestring bytestring-strict-builder
          contravariant criterion deepseq mtl postgresql-binary
          postgresql-libpq scientific syb template-haskell text
-         th-lift-instances time transformers uuid vector vector-sized
+         th-lift-instances time transformers unordered-containers uuid
+         vector vector-sized
        ];
        benchmarkToolDepends = [ alex happy ];
        description = "safe PostgreSQL queries using Quasiquoters";
@@ -209177,20 +211892,17 @@ self: {
 
   "primitive" = callPackage
     ({ mkDerivation, base, base-orphans, deepseq, ghc-prim, QuickCheck
-     , quickcheck-classes-base, semigroups, tagged, tasty
-     , tasty-quickcheck, transformers, transformers-compat
+     , quickcheck-classes-base, tagged, tasty, tasty-quickcheck
+     , transformers, transformers-compat
      }:
      mkDerivation {
        pname = "primitive";
-       version = "0.7.1.0";
-       sha256 = "1w53i4mk248g58xrffmksznr4nmn2bbbycajzpcqfxx5ybyyrsvb";
-       revision = "3";
-       editedCabalFile = "03vgkhib8w3g0m0zwpz74hsixrf0pvgh6ql0xcy05fpq1kynppi9";
+       version = "0.7.2.0";
+       sha256 = "1facmq2wxhn5mbgd209zz5swyaw1q970fv3hd84klaxrhabqaxwi";
        libraryHaskellDepends = [ base deepseq transformers ];
        testHaskellDepends = [
          base base-orphans ghc-prim QuickCheck quickcheck-classes-base
-         semigroups tagged tasty tasty-quickcheck transformers
-         transformers-compat
+         tagged tasty tasty-quickcheck transformers transformers-compat
        ];
        description = "Primitive memory-related operations";
        license = lib.licenses.bsd3;
@@ -209257,6 +211969,7 @@ self: {
        ];
        description = "containers backed by arrays";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "primitive-convenience" = callPackage
@@ -209409,6 +212122,7 @@ self: {
        benchmarkHaskellDepends = [ base gauge ghc-prim primitive random ];
        description = "Sort primitive arrays";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "primitive-stablename" = callPackage
@@ -209791,14 +212505,14 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "process_1_6_12_0" = callPackage
+  "process_1_6_13_2" = callPackage
     ({ mkDerivation, base, bytestring, deepseq, directory, filepath
      , unix
      }:
      mkDerivation {
        pname = "process";
-       version = "1.6.12.0";
-       sha256 = "1zw551zrnq70ip9dsc564aw1zf90l48jf59rxhjgx4d00ngs165x";
+       version = "1.6.13.2";
+       sha256 = "01p3lqj23czqpmih4mdz1lknsy1c4z6ly3iyrnx4pxxmw9vnp2lw";
        libraryHaskellDepends = [ base deepseq directory filepath unix ];
        testHaskellDepends = [ base bytestring directory ];
        description = "Process libraries";
@@ -210036,6 +212750,24 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "procex" = callPackage
+    ({ mkDerivation, async, base, bytestring, containers, deepseq
+     , hspec, unix, utf8-string
+     }:
+     mkDerivation {
+       pname = "procex";
+       version = "0.3.0";
+       sha256 = "1s4p6150ps17pb1wzq1qysw92nivy1pxqpwacqyyclkrg07rql9b";
+       libraryHaskellDepends = [
+         async base bytestring containers deepseq unix utf8-string
+       ];
+       testHaskellDepends = [ async base bytestring hspec unix ];
+       description = "Ergonomic process launching with extreme flexibility and speed";
+       license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "procrastinating-structure" = callPackage
     ({ mkDerivation, base, procrastinating-variable }:
      mkDerivation {
@@ -210325,6 +213057,8 @@ self: {
        pname = "profunctors";
        version = "5.6.2";
        sha256 = "0an9v003ivxmjid0s51qznbjhd5fsa1dkcfsrhxllnjja1xmv5b5";
+       revision = "1";
+       editedCabalFile = "1babivznc9027xdafv28jb34a74bsymafp1xahbdd1n1gz7q27nr";
        libraryHaskellDepends = [
          base base-orphans bifunctors comonad contravariant distributive
          tagged transformers
@@ -210916,8 +213650,8 @@ self: {
      }:
      mkDerivation {
        pname = "propellor";
-       version = "5.12";
-       sha256 = "0j2w2j6df965fhh828y6x55p70wi4r7plrlzzgzxxhq0lhjdjyr0";
+       version = "5.13";
+       sha256 = "0hr2n5kxc7l6a0h5fs6i5hspni7ymw5dzgxwfdsa8j6mpzrw5yd4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -211088,8 +213822,8 @@ self: {
      }:
      mkDerivation {
        pname = "proteaaudio";
-       version = "0.9.1";
-       sha256 = "1l2rxhs5v8mi77qw98849m0w2swwxvg5wm6d4j123sa29riyb70a";
+       version = "0.9.2";
+       sha256 = "0wrahbiq7pa7bg0x7z9ynmy9ap30rj0lldgc2m7b49zhj43kax83";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base bytestring ];
@@ -211107,8 +213841,8 @@ self: {
     ({ mkDerivation, base, bytestring, c2hs, SDL2 }:
      mkDerivation {
        pname = "proteaaudio-sdl";
-       version = "0.9.1";
-       sha256 = "1qgb7zj7sj8sc3b7fwfq51s5m997dqgx74dmmkfam2s4v46fhqr4";
+       version = "0.9.2";
+       sha256 = "0qn6rnv4wc0g8s2mnsx71281nmgi29gnnnbskzy1kbzrwxlshrcc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base bytestring ];
@@ -211460,8 +214194,8 @@ self: {
      }:
      mkDerivation {
        pname = "protobuf-simple";
-       version = "0.1.1.0";
-       sha256 = "1i6dmf9nppjk2xd2s91bmbnb9r915h5ypq5923jpralry2ax6ach";
+       version = "0.1.1.1";
+       sha256 = "1j4grl8dvzhrj88q2ig6slsdj60lcw29r1ls123zk66fgj19f8l6";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -211706,8 +214440,8 @@ self: {
      }:
      mkDerivation {
        pname = "provenience";
-       version = "0.1.2.0";
-       sha256 = "0irhlscjq3anfhzn2qs28w4k6z48p557a060iqpimjw2kjkyrr4d";
+       version = "0.1.2.2";
+       sha256 = "1glilqib6bs1kbb0yyrzqxbsijrcrdm9q3cgmymgacc7kllc616n";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -212831,18 +215565,18 @@ self: {
     ({ mkDerivation, aeson, base, base16-bytestring, binary, bytestring
      , containers, data-default, hspec, http2, http2-client, lifted-base
      , mtl, optparse-applicative, random, resource-pool, semigroups
-     , text, time, tls, x509, x509-store
+     , text, time, tls, x509, x509-store, x509-system
      }:
      mkDerivation {
        pname = "push-notify-apn";
-       version = "0.2.0.2";
-       sha256 = "194xn4wrnpdcyc76b9qplyfv15qgrqb60x41j43lwskh8yvr57sx";
+       version = "0.3.0.0";
+       sha256 = "1bvdndyvrggvjc6y2dkhx570g8l9y58cr88kinbv4sg65kxnxsy0";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson base base16-bytestring binary bytestring containers
          data-default http2 http2-client lifted-base mtl random
-         resource-pool semigroups text time tls x509 x509-store
+         resource-pool semigroups text time tls x509 x509-store x509-system
        ];
        executableHaskellDepends = [
          base bytestring optparse-applicative semigroups text
@@ -213243,7 +215977,7 @@ self: {
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
        broken = true;
-     }) {python = null;};
+     }) {inherit (pkgs) python;};
 
   "pyfi" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, pureMD5
@@ -213261,7 +215995,7 @@ self: {
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
        broken = true;
-     }) {python = null;};
+     }) {inherit (pkgs) python;};
 
   "python-pickle" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, cereal, cmdargs
@@ -214091,6 +216825,7 @@ self: {
        description = "A package for prompting values from the command-line";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "queue" = callPackage
@@ -214318,8 +217053,8 @@ self: {
        pname = "quickcheck-instances";
        version = "0.3.25.2";
        sha256 = "0ihqbarl2ddrfgq3mq09lswwn8213qpw13g49qxs5mjkcm6gbk3h";
-       revision = "1";
-       editedCabalFile = "0pmsq83jzf7gxr59h8j85121n6n0iqbl3smccl9v7n3gkp70kr2q";
+       revision = "2";
+       editedCabalFile = "1lsa3pbg4ljlk29fhm3mdklnx3hwffyga1nr5krbpcyc3ywq8fq8";
        libraryHaskellDepends = [
          array base bytestring case-insensitive containers data-fix hashable
          integer-logarithms old-time QuickCheck scientific splitmix strict
@@ -214514,8 +217249,8 @@ self: {
      }:
      mkDerivation {
        pname = "quickcheck-state-machine";
-       version = "0.7.0";
-       sha256 = "053fc1hxkpfpmwn5dq5x5vd094g978hwc145qpzknwbk6hrc28ka";
+       version = "0.7.1";
+       sha256 = "0s6j3y0fkbbhmid0skqxx2m3mpbphz6npw9fvim5kx7w4i6jrvfz";
        libraryHaskellDepends = [
          ansi-wl-pprint base containers directory exceptions filepath
          generic-data graphviz markov-chain-usage-model matrix mtl
@@ -215255,6 +217990,20 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "quotet" = callPackage
+    ({ mkDerivation, base, exceptions, mtl, template-haskell, th-compat
+     }:
+     mkDerivation {
+       pname = "quotet";
+       version = "0.0.0.1";
+       sha256 = "030d1r5skmv0gayryy89yfxr5cq4qs01anbhaclil92g07ffblhz";
+       libraryHaskellDepends = [
+         base exceptions mtl template-haskell th-compat
+       ];
+       description = "Monad transformer for Quote from template-haskell";
+       license = lib.licenses.cc0;
+     }) {};
+
   "qux" = callPackage
     ({ mkDerivation, base, bytestring, containers, directory, filepath
      , language-qux, llvm-general, mtl, optparse-applicative, pretty
@@ -215912,8 +218661,8 @@ self: {
        pname = "random";
        version = "1.2.0";
        sha256 = "1pmr7zbbqg58kihhhwj8figf5jdchhi7ik2apsyxbgsqq3vrqlg4";
-       revision = "5";
-       editedCabalFile = "1jai1pcs39ijdhxc8q36x1yayr8rsblhx3y88paf4bqxrks2vmrh";
+       revision = "6";
+       editedCabalFile = "1hzfz9b1cxrsya8i53yx145iypaakfsfjix7l8girhx7vbz0cm8r";
        libraryHaskellDepends = [ base bytestring deepseq mtl splitmix ];
        testHaskellDepends = [
          base bytestring containers doctest mwc-random primitive smallcheck
@@ -216388,8 +219137,8 @@ self: {
      }:
      mkDerivation {
        pname = "rank2classes";
-       version = "1.4.1";
-       sha256 = "1cmc7xqnvjdvzgfyz7i3nmnhdm92rwfc9bqlpjcirmnkn47va4kb";
+       version = "1.4.2";
+       sha256 = "0b32mgqzwj9hzz29fhvzidw40iygkbra5ng7z7l9kpp15pbak0pp";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base distributive template-haskell transformers
@@ -216878,6 +219627,28 @@ self: {
        broken = true;
      }) {};
 
+  "rattletrap_11_2_1" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, array, base, bytestring
+     , containers, filepath, http-client, http-client-tls, HUnit, text
+     }:
+     mkDerivation {
+       pname = "rattletrap";
+       version = "11.2.1";
+       sha256 = "0kmr3178rilifbqs2zkifx47fdq279n4wzxbcr6kn71450xi5xyx";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson aeson-pretty array base bytestring containers filepath
+         http-client http-client-tls text
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [ base bytestring filepath HUnit ];
+       description = "Parse and generate Rocket League replays";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "raven-haskell" = callPackage
     ({ mkDerivation, aeson, base, bytestring, hspec, http-conduit, mtl
      , network, random, resourcet, text, time, unordered-containers
@@ -217833,8 +220604,6 @@ self: {
        librarySystemDepends = [ ncurses readline ];
        description = "An interface to the GNU readline library";
        license = "GPL";
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {inherit (pkgs) ncurses; inherit (pkgs) readline;};
 
   "readline-statevar" = callPackage
@@ -217847,6 +220616,7 @@ self: {
        description = "Readline with variables (setX/getY) wrapped in state vars";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "readme-lhs" = callPackage
@@ -217938,9 +220708,10 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "realworldhaskell";
-       version = "0.0.1.0";
-       sha256 = "0695y4af42vm50njpldx3i03ia4bws0lx3yhw6p2rv032jhmp5w6";
+       version = "0.0.1.1";
+       sha256 = "1gys7lcpl50nza5jgbmacw7n42c6s4f0jk7ga351w1g4z4ysrblg";
        libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base ];
        description = "The Real World Haskell Book";
        license = lib.licenses.publicDomain;
      }) {};
@@ -218219,6 +220990,17 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "record-operations" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "record-operations";
+       version = "0.0.1";
+       sha256 = "07wasqlzl1flrm16429mg5wcryd3p1sj1w7q8h59y31rm2ap643j";
+       libraryHaskellDepends = [ base ];
+       description = "polymorphic record operations";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "record-preprocessor" = callPackage
     ({ mkDerivation, base, base-prelude, basic-lens, conversion
      , conversion-text, record, record-syntax, text
@@ -218649,7 +221431,7 @@ self: {
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
        broken = true;
-     }) {raptor2 = null; redland = null;};
+     }) {raptor2 = null; inherit (pkgs) redland;};
 
   "redo" = callPackage
     ({ mkDerivation, base, bytestring, containers, directory, filepath
@@ -220034,6 +222816,8 @@ self: {
        pname = "regex-base";
        version = "0.94.0.1";
        sha256 = "1ngdmmrxs1rhvib052c6shfa40yad82jylylikz327r0zxpxkcbi";
+       revision = "1";
+       editedCabalFile = "19rzll80mpr4licfzz6qfy4i9xbmhxy4r7n1d523db73q09jvzrm";
        libraryHaskellDepends = [
          array base bytestring containers mtl text
        ];
@@ -220047,6 +222831,8 @@ self: {
        pname = "regex-compat";
        version = "0.95.2.1";
        sha256 = "0ivrdrcphrz3g6nr5wbsmfiv8i82caw0kf6z5qlmlq7xf9n3hywg";
+       revision = "1";
+       editedCabalFile = "1r9gvk0lifppydlns81zh8052941saaaahydvbcgnrz0jwn1di9j";
        libraryHaskellDepends = [ array base regex-base regex-posix ];
        description = "Replaces/enhances \"Text.Regex\"";
        license = lib.licenses.bsd3;
@@ -220228,8 +223014,8 @@ self: {
        pname = "regex-pcre";
        version = "0.95.0.0";
        sha256 = "0nn76q4bsjnxim0j0d01jifmh36as9jdpcvm001a851vvq86zb8n";
-       revision = "2";
-       editedCabalFile = "0bvpy3rswyawv23s14nbxvgz5761s61g0shcj7p032i95iq7dj6d";
+       revision = "3";
+       editedCabalFile = "1mxy2y7dmv37hhsasm17x2mb9dhmzza13pc7jfrk77inpig78ib8";
        libraryHaskellDepends = [
          array base bytestring containers regex-base
        ];
@@ -220291,10 +223077,8 @@ self: {
     ({ mkDerivation, array, base, bytestring, containers, regex-base }:
      mkDerivation {
        pname = "regex-posix";
-       version = "0.96.0.0";
-       sha256 = "08a584jabmmn5gmaqrcar5wsp3qzk0hklldzp2mr2bmvlvqh04r5";
-       revision = "2";
-       editedCabalFile = "10al5qljh6pc46581nkhrs0rjn8w05pp6jb4v55lgfr17ac0z1xx";
+       version = "0.96.0.1";
+       sha256 = "1715b57z67q4hg0jz44wkxrxi3v7n5iagw6gw48pf8hr34wpr0n7";
        libraryHaskellDepends = [
          array base bytestring containers regex-base
        ];
@@ -220341,6 +223125,8 @@ self: {
        pname = "regex-tdfa";
        version = "1.3.1.1";
        sha256 = "1msrq31k4jmn2lmrdzn87jqarqhw265ca69rfg5jpa5adrzm3gmi";
+       revision = "1";
+       editedCabalFile = "02gwf740vs0jy3l6dgw72r8c04yggshia6w16n140ncpsici8c4r";
        libraryHaskellDepends = [
          array base bytestring containers mtl parsec regex-base text
        ];
@@ -220952,27 +223738,26 @@ self: {
      }) {};
 
   "rel8" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, case-insensitive
-     , containers, contravariant, hasql, hedgehog, lifted-base
-     , monad-control, opaleye, profunctors, scientific, semialign
+    ({ 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.0.0.1";
-       sha256 = "1kwvib3chqw5xrz6v7z0jy75mgyhqqb755xzn02zz2hvjwfcqc6v";
-       revision = "1";
-       editedCabalFile = "04lq11nxq5n6l6hlgqi78xbfknvx7s5mycwzcp2a0p99kcn3x9a4";
+       version = "1.1.0.0";
+       sha256 = "1p67r6l89hnl54sgqxsy5w66cx4xxwcxkidm9n1fbc2gzkd4dzbm";
        libraryHaskellDepends = [
-         aeson base bytestring case-insensitive contravariant hasql opaleye
-         profunctors scientific semialign semigroupoids text these time
-         transformers uuid
+         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 hedgehog
-         lifted-base monad-control scientific tasty tasty-hedgehog text time
-         tmp-postgres uuid
+         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;
@@ -221060,8 +223845,8 @@ self: {
      }:
      mkDerivation {
        pname = "relational-query";
-       version = "0.12.2.3";
-       sha256 = "0zjqk0gkzdhg1l8rw0bz7iwvp55p585xaqp8dc3sbbr0abhmsgi5";
+       version = "0.12.3.0";
+       sha256 = "1acbz0zy4bb8r7q2nw96jgpi45y8gy4j1qik4fn8ndqw8l3fpzvl";
        libraryHaskellDepends = [
          array base bytestring containers dlist names-th persistable-record
          product-isomorphic sql-words template-haskell text
@@ -221069,7 +223854,8 @@ self: {
          transformers
        ];
        testHaskellDepends = [
-         base containers product-isomorphic quickcheck-simple transformers
+         base bytestring containers product-isomorphic quickcheck-simple
+         transformers
        ];
        description = "Typeful, Modular, Relational, algebraic query engine";
        license = lib.licenses.bsd3;
@@ -221958,8 +224744,8 @@ self: {
      }:
      mkDerivation {
        pname = "replace-attoparsec";
-       version = "1.4.4.0";
-       sha256 = "06js4adbzvm2qn18vlaaxhav2dq1hqp825lmsvpg69cylp72fzif";
+       version = "1.4.5.0";
+       sha256 = "1mr7d6w5x6igsvl6mccchr2wbxxr5p86kpyxlbk7m17dplvwazcq";
        libraryHaskellDepends = [ attoparsec base bytestring text ];
        testHaskellDepends = [
          attoparsec base bytestring Cabal parsers text
@@ -222233,8 +225019,8 @@ self: {
        pname = "req";
        version = "3.9.1";
        sha256 = "0468ah4142jrqp5l3pw4izrw6f6kznisan888b30jhif4c6xncr0";
-       revision = "1";
-       editedCabalFile = "0g2g8l1nhmqxgk2ylvavv7rw6bq73d3awd21l438mzzljqj4kvh8";
+       revision = "3";
+       editedCabalFile = "0xx161kb3j1givixs489yhd6zgiscajbn6hdkf00pdkwqdy59k75";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson authenticate-oauth base blaze-builder bytestring
@@ -222258,14 +225044,13 @@ self: {
 
   "req-conduit" = callPackage
     ({ mkDerivation, base, bytestring, conduit, conduit-extra, hspec
-     , http-client, req, resourcet, temporary, transformers, weigh
+     , hspec-discover, http-client, req, resourcet, temporary
+     , transformers, weigh
      }:
      mkDerivation {
        pname = "req-conduit";
-       version = "1.0.0";
-       sha256 = "193bv4jp7rrbpb1i9as9s2l978wz5kbz5kvr7ppllif5ppj699qx";
-       revision = "8";
-       editedCabalFile = "1md7zajmw87qrx6rvs35yrkbjs3s9nm0akg35jmf7a34xccrr7a7";
+       version = "1.0.1";
+       sha256 = "0zyy9j6iiz8z2jdx25vp77arfbmrck7bjndm3p4s9l9399c5bm62";
        libraryHaskellDepends = [
          base bytestring conduit http-client req resourcet transformers
        ];
@@ -222273,6 +225058,7 @@ self: {
          base bytestring conduit conduit-extra hspec req resourcet temporary
          transformers
        ];
+       testToolDepends = [ hspec-discover ];
        benchmarkHaskellDepends = [
          base bytestring conduit conduit-extra req resourcet temporary weigh
        ];
@@ -222370,13 +225156,13 @@ self: {
 
   "require" = callPackage
     ({ mkDerivation, ansi-terminal, base, bytestring, criterion
-     , directory, dlist, megaparsec, mtl, optparse-generic, relude
-     , tasty, tasty-hspec, text
+     , directory, dlist, hspec, megaparsec, mtl, optparse-generic
+     , relude, tasty, tasty-hspec, text
      }:
      mkDerivation {
        pname = "require";
-       version = "0.4.10";
-       sha256 = "0ha9301ncb5li3sxjlbbq5hgjijr40vl5jy33fsi0wn13zp99x94";
+       version = "0.4.11";
+       sha256 = "17nfpzwhwxnl6jmqnh2rf52mki3mh44y24w7masscbnadxnfp98a";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -222388,7 +225174,7 @@ self: {
          optparse-generic relude text
        ];
        testHaskellDepends = [
-         ansi-terminal base bytestring directory dlist megaparsec mtl
+         ansi-terminal base bytestring directory dlist hspec megaparsec mtl
          optparse-generic relude tasty tasty-hspec text
        ];
        benchmarkHaskellDepends = [
@@ -222501,23 +225287,24 @@ self: {
      }) {};
 
   "reserve" = callPackage
-    ({ mkDerivation, base, base-compat, bytestring, directory, hspec
-     , http-conduit, http-kit, http-types, network, process, QuickCheck
-     , unix, warp
+    ({ mkDerivation, base, bytestring, directory, hspec, http-conduit
+     , http-kit, http-types, interpolate, mockery, network, process
+     , QuickCheck, streaming-commons, unix, warp
      }:
      mkDerivation {
        pname = "reserve";
-       version = "0.1.1";
-       sha256 = "152pngw3xrlyrq905a231hi9hg3pf5ddpcihwic496rng5hd5hj2";
+       version = "0.1.2";
+       sha256 = "1fdqdxnj2177s0qlyprrsrhykgm93zwm6lgmsjp3ax4j4c42cpaf";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         base base-compat bytestring directory http-kit http-types network
-         process unix
+         base bytestring directory http-kit http-types network process
+         streaming-commons unix
        ];
        testHaskellDepends = [
-         base base-compat bytestring directory hspec http-conduit http-kit
-         http-types network process QuickCheck unix warp
+         base bytestring directory hspec http-conduit http-kit http-types
+         interpolate mockery network process QuickCheck streaming-commons
+         unix warp
        ];
        description = "Reserve reloads web applications";
        license = lib.licenses.mit;
@@ -222565,6 +225352,20 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "resistor-cube_0_0_1_3" = callPackage
+    ({ mkDerivation, base, comfort-array, lapack }:
+     mkDerivation {
+       pname = "resistor-cube";
+       version = "0.0.1.3";
+       sha256 = "1i96s6x3xzs3jxk00fakfjk4jvfr700gfh56jgzqj4w49pdf09k4";
+       isLibrary = false;
+       isExecutable = true;
+       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
     ({ mkDerivation, base, base16-bytestring, binary, bytestring
      , containers, directory, filepath, tasty, tasty-hunit
@@ -222749,8 +225550,8 @@ self: {
      }:
      mkDerivation {
        pname = "resourcet";
-       version = "1.2.4.2";
-       sha256 = "11zb4figcs22hjaq6zsknf70kf9k2bxnw6w03ab9kl9s0i10iwhp";
+       version = "1.2.4.3";
+       sha256 = "0zrvnikw1a0r2j59k12fxikyrg0ki5a7xhqhjgfl9h6dqpz54h85";
        libraryHaskellDepends = [
          base containers exceptions mtl primitive transformers unliftio-core
        ];
@@ -223223,6 +226024,47 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "retroclash-lib" = callPackage
+    ({ mkDerivation, barbies, base, clash-ghc, clash-lib, clash-prelude
+     , containers, ghc-typelits-extra, ghc-typelits-knownnat
+     , ghc-typelits-natnormalise, lens, lift-type, monoidal-containers
+     , mtl, template-haskell, transformers
+     }:
+     mkDerivation {
+       pname = "retroclash-lib";
+       version = "0.1.0";
+       sha256 = "062pjqhba41d4bb9gb8wxpd87mpsmzj3np8y9ymagjrnv5iyaf5w";
+       libraryHaskellDepends = [
+         barbies base clash-ghc clash-lib clash-prelude containers
+         ghc-typelits-extra ghc-typelits-knownnat ghc-typelits-natnormalise
+         lens lift-type monoidal-containers mtl template-haskell
+         transformers
+       ];
+       description = "Code shared across the code samples in the book \"Retrocomputing with Clash\"";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
+  "retroclash-sim" = callPackage
+    ({ mkDerivation, array, arrows, base, clash-ghc, clash-lib
+     , clash-prelude, ghc-typelits-extra, ghc-typelits-knownnat
+     , ghc-typelits-natnormalise, lens, mtl, retroclash-lib, sdl2, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "retroclash-sim";
+       version = "0.1.0";
+       sha256 = "1wv8is17ds9y49an832dlgixly9b98h8x6ybc5dj7zzf1jwplyp8";
+       libraryHaskellDepends = [
+         array arrows base clash-ghc clash-lib clash-prelude
+         ghc-typelits-extra ghc-typelits-knownnat ghc-typelits-natnormalise
+         lens mtl retroclash-lib sdl2 text transformers
+       ];
+       description = "High-level simulators from the book \"Retrocomputing with Clash\"";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "retry" = callPackage
     ({ mkDerivation, base, exceptions, ghc-prim, hedgehog, HUnit, mtl
      , random, stm, tasty, tasty-hedgehog, tasty-hunit, time
@@ -224146,6 +226988,7 @@ self: {
        testHaskellDepends = [ base HUnit primitive QuickCheck ];
        description = "mutable ring buffers with atomic updates in GHC Haskell";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "rings" = callPackage
@@ -224166,14 +227009,15 @@ self: {
 
   "rio" = callPackage
     ({ mkDerivation, base, bytestring, containers, deepseq, directory
-     , exceptions, filepath, hashable, hspec, microlens, microlens-mtl
-     , mtl, primitive, process, QuickCheck, text, time, typed-process
-     , unix, unliftio, unliftio-core, unordered-containers, vector
+     , exceptions, filepath, hashable, hspec, hspec-discover, microlens
+     , microlens-mtl, mtl, primitive, process, QuickCheck, text, time
+     , typed-process, unix, unliftio, unliftio-core
+     , unordered-containers, vector
      }:
      mkDerivation {
        pname = "rio";
-       version = "0.1.20.0";
-       sha256 = "0x5b5c0y97b5n1lvbcsqlkhbv4nbbznx1w1fp3a17a03pz7qf61s";
+       version = "0.1.21.0";
+       sha256 = "013m4xgsmg8h1rba9krxppz49lc5wz26gksms5zibsjj0w59m58h";
        libraryHaskellDepends = [
          base bytestring containers deepseq directory exceptions filepath
          hashable microlens microlens-mtl mtl primitive process text time
@@ -224186,6 +227030,7 @@ self: {
          QuickCheck text time typed-process unix unliftio unliftio-core
          unordered-containers vector
        ];
+       testToolDepends = [ hspec-discover ];
        description = "A standard library for Haskell";
        license = lib.licenses.mit;
      }) {};
@@ -224358,8 +227203,8 @@ self: {
      }:
      mkDerivation {
        pname = "risc386";
-       version = "0.0.20210125";
-       sha256 = "0fc551nvmqgl1sj3c45bwjzc9ksqbwg17dzkipyyzdrgi1shawn2";
+       version = "0.0.20210812";
+       sha256 = "0fxwmah8f4jhs480hrvbvchkmxgfmnsswg0d5zlbdgsiqfln42qv";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [ array base containers mtl pretty ];
@@ -224841,6 +227686,8 @@ self: {
        ];
        description = "Haskell bindings to RocksDB";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {inherit (pkgs) rocksdb;};
 
   "rocksdb-haskell-jprupp" = callPackage
@@ -225181,15 +228028,16 @@ self: {
     ({ mkDerivation, aeson, attoparsec, base, binary, bytestring
      , containers, criterion, deepseq, hashable, integer-gmp, mtl
      , scientific, template-haskell, text, time, unordered-containers
+     , vector
      }:
      mkDerivation {
        pname = "ron";
-       version = "0.11";
-       sha256 = "1sdgjxz609m1ddcby29g5sd9bmh20wav3q4ab4bmsfl5ar2yq53i";
+       version = "0.12";
+       sha256 = "0hmnvlla8zm8jhn56qbaqs248dq4b4sf48kz7dcggz150i624aa9";
        libraryHaskellDepends = [
          aeson attoparsec base binary bytestring containers hashable
          integer-gmp mtl scientific template-haskell text time
-         unordered-containers
+         unordered-containers vector
        ];
        benchmarkHaskellDepends = [ base criterion deepseq integer-gmp ];
        description = "RON";
@@ -225930,20 +228778,21 @@ self: {
      }) {};
 
   "rrb-vector" = callPackage
-    ({ mkDerivation, base, deepseq, gauge, hspec, indexed-traversable
-     , primitive, QuickCheck
+    ({ mkDerivation, base, deepseq, ghc-heap-view, indexed-traversable
+     , primitive, tasty, tasty-bench, tasty-quickcheck
      }:
      mkDerivation {
        pname = "rrb-vector";
-       version = "0.1.0.0";
-       sha256 = "1kn4ygi0jrx0a6s6cbfxx60r2vqgzrqflm5yaffjlwb55jf88m8i";
-       revision = "1";
-       editedCabalFile = "1ydx0mxkqfjdgq9rqg2bzn5rqc0jdn8f40d4pa9yg0l00kjl4kcz";
+       version = "0.1.1.0";
+       sha256 = "0awpx18qklxz5lscmj5ypl8paqja4r2xk4aqj0r181560j7arv3j";
        libraryHaskellDepends = [
          base deepseq indexed-traversable primitive
        ];
-       testHaskellDepends = [ base hspec QuickCheck ];
-       benchmarkHaskellDepends = [ base gauge primitive ];
+       testHaskellDepends = [
+         base deepseq ghc-heap-view indexed-traversable tasty
+         tasty-quickcheck
+       ];
+       benchmarkHaskellDepends = [ base primitive tasty-bench ];
        description = "Efficient RRB-Vectors";
        license = lib.licenses.bsd3;
      }) {};
@@ -226819,10 +229668,10 @@ self: {
      }:
      mkDerivation {
        pname = "safe-exceptions";
-       version = "0.1.7.1";
-       sha256 = "0gkxacfiqp55xzbmpz5i5c4kqma8jal49q7c8gl9n9qq5c5dvxjb";
+       version = "0.1.7.2";
+       sha256 = "15a80s87f603w8l7fnaba2cyqx62042vvcidpjzyga2685wpyqv9";
        libraryHaskellDepends = [ base deepseq exceptions transformers ];
-       testHaskellDepends = [ base hspec void ];
+       testHaskellDepends = [ base hspec transformers void ];
        description = "Safe, consistent, and easy exception handling";
        license = lib.licenses.mit;
      }) {};
@@ -226916,6 +229765,8 @@ self: {
        pname = "safe-json";
        version = "1.1.1.1";
        sha256 = "0wp955ak673jjcjwqmliwv3dk723kf0nl4rwvzqmlgfg9c57n2j3";
+       revision = "1";
+       editedCabalFile = "0bwdim4vslpgnh77b5lgxmfrh2xaza1rgqgnh2xz73b4jb8lg2p4";
        libraryHaskellDepends = [
          aeson base bytestring containers dlist hashable scientific tasty
          tasty-hunit tasty-quickcheck text time unordered-containers
@@ -227941,43 +230792,43 @@ self: {
      }) {};
 
   "sandwich-webdriver" = callPackage
-    ({ mkDerivation, aeson, base, containers, convertible, data-default
-     , directory, exceptions, filepath, http-client, http-client-tls
-     , http-conduit, lifted-base, microlens, microlens-aeson
-     , monad-control, monad-logger, mtl, network, process, random, retry
+    ({ mkDerivation, aeson, base, containers, data-default, directory
+     , exceptions, filepath, http-client, http-client-tls, http-conduit
+     , lifted-base, microlens, microlens-aeson, monad-control
+     , monad-logger, mtl, network, process, random, regex-compat, retry
      , safe, safe-exceptions, sandwich, string-interpolate, temporary
      , text, time, transformers, unix, unordered-containers, vector
-     , webdriver, X11
+     , webdriver
      }:
      mkDerivation {
        pname = "sandwich-webdriver";
-       version = "0.1.0.5";
-       sha256 = "113as1i4f3hghbwrf4ii8lnxxb8nih177ffjbx3shsddnhx0fa8y";
+       version = "0.1.0.6";
+       sha256 = "1x8f9jvfcqwhjly9gnqsb9lv9b8dvyj4rd21x9alsqk44jlxhzkf";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson base containers convertible data-default directory exceptions
-         filepath http-client http-client-tls http-conduit lifted-base
-         microlens microlens-aeson monad-control monad-logger mtl network
-         process random retry safe safe-exceptions sandwich
+         aeson base containers data-default directory exceptions filepath
+         http-client http-client-tls http-conduit lifted-base microlens
+         microlens-aeson monad-control monad-logger mtl network process
+         random regex-compat retry safe safe-exceptions sandwich
          string-interpolate temporary text time transformers unix
-         unordered-containers vector webdriver X11
+         unordered-containers vector webdriver
        ];
        executableHaskellDepends = [
-         aeson base containers convertible data-default directory exceptions
-         filepath http-client http-client-tls http-conduit lifted-base
-         microlens microlens-aeson monad-control monad-logger mtl network
-         process random retry safe safe-exceptions sandwich
+         aeson base containers data-default directory exceptions filepath
+         http-client http-client-tls http-conduit lifted-base microlens
+         microlens-aeson monad-control monad-logger mtl network process
+         random regex-compat retry safe safe-exceptions sandwich
          string-interpolate temporary text time transformers unix
-         unordered-containers vector webdriver X11
+         unordered-containers vector webdriver
        ];
        testHaskellDepends = [
-         aeson base containers convertible data-default directory exceptions
-         filepath http-client http-client-tls http-conduit lifted-base
-         microlens microlens-aeson monad-control monad-logger mtl network
-         process random retry safe safe-exceptions sandwich
+         aeson base containers data-default directory exceptions filepath
+         http-client http-client-tls http-conduit lifted-base microlens
+         microlens-aeson monad-control monad-logger mtl network process
+         random regex-compat retry safe safe-exceptions sandwich
          string-interpolate temporary text time transformers unix
-         unordered-containers vector webdriver X11
+         unordered-containers vector webdriver
        ];
        description = "Sandwich integration with Selenium WebDriver";
        license = lib.licenses.bsd3;
@@ -228316,7 +231167,8 @@ self: {
        description = "SMT Based Verification: Symbolic Haskell theorem prover using SMT solving";
        license = lib.licenses.bsd3;
        platforms = [
-         "armv7l-linux" "i686-linux" "x86_64-darwin" "x86_64-linux"
+         "aarch64-darwin" "armv7l-linux" "i686-linux" "x86_64-darwin"
+         "x86_64-linux"
        ];
        hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) z3;};
@@ -228351,8 +231203,45 @@ self: {
        description = "SMT Based Verification: Symbolic Haskell theorem prover using SMT solving";
        license = lib.licenses.bsd3;
        platforms = [
-         "armv7l-linux" "i686-linux" "x86_64-darwin" "x86_64-linux"
+         "aarch64-darwin" "armv7l-linux" "i686-linux" "x86_64-darwin"
+         "x86_64-linux"
+       ];
+     }) {inherit (pkgs) z3;};
+
+  "sbv_8_16" = 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.16";
+       sha256 = "1jmcc9qz659my5i3ir6lq34zfbjp9wcnq61fppic1hlwm39qjppd";
+       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;
+       platforms = [
+         "aarch64-darwin" "armv7l-linux" "i686-linux" "x86_64-darwin"
+         "x86_64-linux"
        ];
+       hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) z3;};
 
   "sbvPlugin" = callPackage
@@ -228714,7 +231603,9 @@ self: {
        ];
        description = "Generates unique passwords for various websites from a single password";
        license = lib.licenses.bsd3;
-       platforms = [ "i686-linux" "x86_64-darwin" "x86_64-linux" ];
+       platforms = [
+         "aarch64-darwin" "i686-linux" "x86_64-darwin" "x86_64-linux"
+       ];
      }) {};
 
   "scc" = callPackage
@@ -228868,6 +231759,29 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "scheduler_2_0_0" = callPackage
+    ({ mkDerivation, atomic-primops, base, deepseq, doctest, exceptions
+     , genvalidity-hspec, hspec, hspec-discover, mwc-random, primitive
+     , pvar, QuickCheck, template-haskell, unliftio, unliftio-core
+     , vector
+     }:
+     mkDerivation {
+       pname = "scheduler";
+       version = "2.0.0";
+       sha256 = "1i0fz2gj2q12gfl1h8ar0ikkqksznr1rij7fsx1v0qi6qg9d7cc3";
+       libraryHaskellDepends = [
+         atomic-primops base deepseq exceptions primitive pvar unliftio-core
+       ];
+       testHaskellDepends = [
+         base deepseq doctest genvalidity-hspec hspec mwc-random QuickCheck
+         template-haskell unliftio vector
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Work stealing scheduler";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "schedyield" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -229201,6 +232115,7 @@ self: {
        ];
        description = "Scientific notation intended for tokenization";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "scion" = callPackage
@@ -229352,8 +232267,8 @@ self: {
        pname = "scotty";
        version = "0.12";
        sha256 = "1lpggpdzgjk23mq7aa64yylds5dbm4ynhcvbarqihjxabvh7xmz1";
-       revision = "3";
-       editedCabalFile = "0lvvfbjf4w73y43ax80h9yb2nvf3n2kc859j9advcmfnmdn33x5v";
+       revision = "4";
+       editedCabalFile = "0xwqybz4hhhw6ccqgyf4khis06p2pc17h9b78va0wywqsz01xaqb";
        libraryHaskellDepends = [
          aeson base base-compat-batteries blaze-builder bytestring
          case-insensitive data-default-class exceptions fail http-types
@@ -229873,7 +232788,9 @@ self: {
        ];
        description = "Stronger password hashing via sequential memory-hard functions";
        license = lib.licenses.bsd3;
-       platforms = [ "i686-linux" "x86_64-darwin" "x86_64-linux" ];
+       platforms = [
+         "aarch64-darwin" "i686-linux" "x86_64-darwin" "x86_64-linux"
+       ];
      }) {};
 
   "scrz" = callPackage
@@ -230723,6 +233640,33 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "secure-memory" = callPackage
+    ({ mkDerivation, async, base, bytestring, hedgehog, HUnit
+     , libsodium, memory, reflection, safe-exceptions, tasty
+     , tasty-discover, tasty-hedgehog, tasty-hunit, text, unix
+     }:
+     mkDerivation {
+       pname = "secure-memory";
+       version = "0.0.0.1";
+       sha256 = "0765lkdnkzdmk3r8hbipxb2brg000jg4dqscqcjjh59lvsiaq367";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring libsodium memory reflection safe-exceptions text
+         unix
+       ];
+       executableHaskellDepends = [
+         base bytestring libsodium memory safe-exceptions
+       ];
+       testHaskellDepends = [
+         async base bytestring hedgehog HUnit libsodium memory
+         safe-exceptions tasty tasty-hedgehog tasty-hunit unix
+       ];
+       testToolDepends = [ tasty-discover ];
+       description = "Securely allocated and deallocated memory";
+       license = lib.licenses.mpl20;
+     }) {};
+
   "secure-sockets" = callPackage
     ({ mkDerivation, base, bytestring, directory, HsOpenSSL, network
      , process, transformers
@@ -231112,6 +234056,8 @@ self: {
        pname = "semialign";
        version = "1.2";
        sha256 = "04dcyj69g7bm1sydxk89vin9mh2pmm0pqf0cm9v981i98xp6xxdj";
+       revision = "1";
+       editedCabalFile = "0s5s5k0xngb3wgnzyiwsqqnpy8c6nma4rn9146zk17shzsjy7ryk";
        libraryHaskellDepends = [
          base containers hashable indexed-traversable
          indexed-traversable-instances semigroupoids tagged these
@@ -231239,6 +234185,8 @@ self: {
        pname = "semigroupoids";
        version = "5.3.5";
        sha256 = "1c66sc9w9724xhlly9wfjhghmnnw99z9al69264i2izk7vhihbsm";
+       revision = "1";
+       editedCabalFile = "13ssan43xr6yk465axy35m87jrxy3rmrsbzxah055jmsldjp5bg9";
        libraryHaskellDepends = [
          base base-orphans bifunctors comonad containers contravariant
          distributive hashable tagged template-haskell transformers
@@ -231276,6 +234224,8 @@ self: {
        pname = "semigroups";
        version = "0.19.1";
        sha256 = "0j36cha1wb9vxnd8axfna92b2q5hnrn3ap8d8yin89c69gk63rvr";
+       revision = "1";
+       editedCabalFile = "10hp5ij4zivkgh1paxiwnwclgwf5xv3zrkfyvqkpgdf2l2mpm0nd";
        libraryHaskellDepends = [ base ];
        description = "Anything that associates";
        license = lib.licenses.bsd3;
@@ -231769,13 +234719,16 @@ self: {
      }) {};
 
   "sequence" = callPackage
-    ({ mkDerivation, base, containers, transformers }:
+    ({ mkDerivation, base, containers, QuickCheck, tasty
+     , tasty-quickcheck, transformers
+     }:
      mkDerivation {
        pname = "sequence";
-       version = "0.9.8";
-       sha256 = "0ayxy0lbkah90kpyjac0llv6lrbwymvfz2d3pdfrz1079si65jsh";
+       version = "0.9.9.0";
+       sha256 = "17jklfz4w73i7k4w22czc81wll8bi614wh513ra6hcnd06ba70rs";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [ base containers transformers ];
+       testHaskellDepends = [ base QuickCheck tasty tasty-quickcheck ];
        description = "A type class for sequences and various sequence data structures";
        license = lib.licenses.bsd3;
      }) {};
@@ -234160,8 +237113,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-serf";
-       version = "0.1.0";
-       sha256 = "08x4d595czal5j5dgd08bps4swsrh547nnmk4i006jjvbl0315nf";
+       version = "0.1.1";
+       sha256 = "0n4970bx48hwxixqgq1jayprcaq82mm2462iclyzkbfxl6v01zrd";
        isLibrary = true;
        isExecutable = true;
        executableHaskellDepends = [
@@ -234425,6 +237378,29 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "servant-streamly" = callPackage
+    ({ mkDerivation, base, bytestring, hspec, http-client, resourcet
+     , servant, servant-client, servant-server, streamly
+     , streamly-bytestring, wai, warp
+     }:
+     mkDerivation {
+       pname = "servant-streamly";
+       version = "0.1.0.0";
+       sha256 = "10f0pqhaypdk46v5gkpv3001k14v7ppfffv89x25lqlls9yrqfvf";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base resourcet servant streamly ];
+       executableHaskellDepends = [
+         base bytestring http-client resourcet servant servant-client
+         servant-server streamly streamly-bytestring wai warp
+       ];
+       testHaskellDepends = [
+         base hspec resourcet servant servant-server streamly
+       ];
+       description = "Servant Stream support for streamly";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "servant-subscriber" = callPackage
     ({ mkDerivation, aeson, async, attoparsec, base, blaze-builder
      , bytestring, case-insensitive, containers, directory, filepath
@@ -234627,19 +237603,19 @@ self: {
      }) {};
 
   "servant-util" = callPackage
-    ({ mkDerivation, aeson, autoexporter, base, containers
-     , data-default, fmt, hspec, hspec-discover, hspec-expectations
-     , http-client, http-types, insert-ordered-containers, lens
-     , megaparsec, mtl, pretty-terminal, QuickCheck, reflection
-     , regex-posix, safe-exceptions, servant, servant-client
-     , servant-client-core, servant-server, servant-swagger
-     , servant-swagger-ui, servant-swagger-ui-core, swagger2, text
-     , text-format, time, universum, wai, wai-extra, warp
+    ({ mkDerivation, aeson, base, containers, data-default, fmt, hspec
+     , hspec-discover, hspec-expectations, http-client, http-types
+     , insert-ordered-containers, lens, megaparsec, mtl, pretty-terminal
+     , QuickCheck, reflection, regex-posix, safe-exceptions, servant
+     , servant-client, servant-client-core, servant-server
+     , servant-swagger, servant-swagger-ui, servant-swagger-ui-core
+     , swagger2, text, text-format, time, universum, wai, wai-extra
+     , warp
      }:
      mkDerivation {
        pname = "servant-util";
-       version = "0.1.0.1";
-       sha256 = "0idb3h2482hhrj9yvphdb74wxyr2y3rzfql2q2qn2a724b1bmax4";
+       version = "0.1.0.2";
+       sha256 = "1l0pwwz8y4qwnpn30w3mla3j3dmbyv99kilbb8z283iwpnbgrn2w";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -234650,7 +237626,6 @@ self: {
          servant-swagger-ui servant-swagger-ui-core swagger2 text
          text-format time universum wai
        ];
-       libraryToolDepends = [ autoexporter ];
        executableHaskellDepends = [
          aeson base containers data-default fmt http-types
          insert-ordered-containers lens megaparsec mtl pretty-terminal
@@ -234674,22 +237649,21 @@ self: {
      }) {};
 
   "servant-util-beam-pg" = callPackage
-    ({ mkDerivation, autoexporter, base, beam-core, beam-postgres
-     , containers, hspec, hspec-discover, QuickCheck, servant
-     , servant-client, servant-client-core, servant-server, servant-util
-     , text, universum
+    ({ mkDerivation, base, beam-core, beam-postgres, containers, hspec
+     , hspec-discover, QuickCheck, servant, servant-client
+     , servant-client-core, servant-server, servant-util, text
+     , universum
      }:
      mkDerivation {
        pname = "servant-util-beam-pg";
-       version = "0.1.0.1";
-       sha256 = "1qhs2bvlka3qm4kv64m5p5ldcd9nfgzs0za9vqy2z9fmdhzihxz1";
+       version = "0.1.0.2";
+       sha256 = "048ybnlkhp7dabki4r3k6q147cdm3w3l14c57rrf1n1vf4rwkgn2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          base beam-core beam-postgres containers servant servant-client
          servant-client-core servant-server servant-util text universum
        ];
-       libraryToolDepends = [ autoexporter ];
        executableHaskellDepends = [
          base beam-core beam-postgres containers servant servant-client
          servant-client-core servant-server servant-util text universum
@@ -234702,7 +237676,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Implementation of servant-util primitives for beam-postgres";
        license = lib.licenses.mpl20;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "servant-validate" = callPackage
@@ -235965,6 +238938,7 @@ self: {
        ];
        description = "Utilities for building ATS projects with shake";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "shake-bench" = callPackage
@@ -236018,14 +238992,16 @@ self: {
      }:
      mkDerivation {
        pname = "shake-cabal";
-       version = "0.2.2.1";
-       sha256 = "1vyz95qa5f6k0lqf24w60dmlszs1sv0sqv2p0sncn8ll7g785sx1";
+       version = "0.2.2.2";
+       sha256 = "1z1l4mah7nmpa6ycx9f5ynr9rn24irs1w44nq1j3ck25b408g460";
        libraryHaskellDepends = [
          base binary Cabal composition-prelude deepseq directory filepath
          hashable shake
        ];
        description = "Shake library for use with cabal";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "shake-cabal-build" = callPackage
@@ -236246,8 +239222,10 @@ self: {
     ({ mkDerivation, base, extra, path, rio, shake }:
      mkDerivation {
        pname = "shake-plus";
-       version = "0.3.3.1";
-       sha256 = "09zinaphlmdshny3hiyibbqqkfflj2rkxh8zkpnnk5dvf2qb15p5";
+       version = "0.3.4.0";
+       sha256 = "0022npwhvzlpz6d6xl75kx0f7ydr8fqqcy04zkv70gwsv0gp5zbm";
+       revision = "1";
+       editedCabalFile = "1az2234agrza3qhsd400bw94qj3dcxjh3fi0aq24ihbm8yx1a21s";
        libraryHaskellDepends = [ base extra path rio shake ];
        description = "Re-export of Shake using well-typed paths and ReaderT";
        license = lib.licenses.mit;
@@ -237175,6 +240153,30 @@ self: {
        broken = true;
      }) {};
 
+  "shortbytestring" = callPackage
+    ({ mkDerivation, base, bytestring, deepseq, exceptions, ghc-prim
+     , primitive, random, tasty, tasty-bench, tasty-quickcheck
+     , template-haskell, text, word16, word8
+     }:
+     mkDerivation {
+       pname = "shortbytestring";
+       version = "0.1.0.0";
+       sha256 = "1wjk73xlrk0qgnn8j53ngnikh034v295mm7w9nqadvwg9y3absfy";
+       libraryHaskellDepends = [
+         base bytestring exceptions primitive template-haskell text word16
+         word8
+       ];
+       testHaskellDepends = [
+         base bytestring deepseq ghc-prim tasty tasty-quickcheck word16
+         word8
+       ];
+       benchmarkHaskellDepends = [
+         base bytestring deepseq random tasty-bench
+       ];
+       description = "Additional ShortByteString API";
+       license = lib.licenses.mit;
+     }) {};
+
   "shortcircuit" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -238289,6 +241291,39 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "simple-media-timestamp" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "simple-media-timestamp";
+       version = "0.2.0.0";
+       sha256 = "1v4svw4s07m538dyma2bmfxkpw8mr6z8gh6cs75cvgpjzbvxqvs1";
+       libraryHaskellDepends = [ base ];
+       description = "A very simple timestamp";
+       license = lib.licenses.mit;
+     }) {};
+
+  "simple-media-timestamp-attoparsec" = callPackage
+    ({ mkDerivation, attoparsec, base, simple-media-timestamp }:
+     mkDerivation {
+       pname = "simple-media-timestamp-attoparsec";
+       version = "0.1.0.0";
+       sha256 = "0zkwb24blzmhb6y9yy2cjsgsv1l756wgpcp90drb5ga73qix0k5g";
+       libraryHaskellDepends = [ attoparsec base simple-media-timestamp ];
+       description = "Attoparsec parser for simple-media-timestamp";
+       license = lib.licenses.mit;
+     }) {};
+
+  "simple-media-timestamp-formatting" = callPackage
+    ({ mkDerivation, base, formatting, simple-media-timestamp }:
+     mkDerivation {
+       pname = "simple-media-timestamp-formatting";
+       version = "0.1.1.0";
+       sha256 = "1fkjplpkv1jxcadhc596rv7jzbgn2f1xnmwdfa68wls3hl0h7s70";
+       libraryHaskellDepends = [ base formatting simple-media-timestamp ];
+       description = "Formatting for simple-media-timestamp";
+       license = lib.licenses.mit;
+     }) {};
+
   "simple-money" = callPackage
     ({ mkDerivation, base, containers }:
      mkDerivation {
@@ -238357,21 +241392,22 @@ self: {
      }) {};
 
   "simple-parser" = callPackage
-    ({ mkDerivation, base, containers, list-t, mmorph, mtl
-     , nonempty-containers, scientific, tasty, tasty-hunit, tasty-th
-     , text, text-builder
+    ({ mkDerivation, base, bytestring, containers, errata, list-t
+     , mmorph, mtl, nonempty-containers, scientific, tasty, tasty-hunit
+     , tasty-th, text, text-builder
      }:
      mkDerivation {
        pname = "simple-parser";
-       version = "0.5.0";
-       sha256 = "0qkgk7gxk69ns4067viz59wbp5hz05j1d26hv0wmbkhixsxa56s3";
+       version = "0.8.2";
+       sha256 = "15nxh0byl0893gzsakb80asam8dr4lqxqnlj372cdjgqvrzcxrap";
        libraryHaskellDepends = [
-         base containers list-t mmorph mtl nonempty-containers scientific
-         text text-builder
+         base bytestring containers errata list-t mmorph mtl
+         nonempty-containers scientific text text-builder
        ];
        testHaskellDepends = [
-         base containers list-t mmorph mtl nonempty-containers scientific
-         tasty tasty-hunit tasty-th text text-builder
+         base bytestring containers errata list-t mmorph mtl
+         nonempty-containers scientific tasty tasty-hunit tasty-th text
+         text-builder
        ];
        description = "Simple parser combinators";
        license = lib.licenses.bsd3;
@@ -239840,6 +242876,28 @@ self: {
        license = lib.licenses.gpl2Only;
      }) {};
 
+  "skylighting_0_11" = callPackage
+    ({ mkDerivation, base, binary, blaze-html, bytestring, containers
+     , pretty-show, skylighting-core, text
+     }:
+     mkDerivation {
+       pname = "skylighting";
+       version = "0.11";
+       sha256 = "12m119j65yngryrx23jiz6c86wihqp47ysv0wnmqfgc6cbv0k97r";
+       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;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "skylighting-core" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, attoparsec, base
      , base64-bytestring, binary, blaze-html, bytestring
@@ -239871,6 +242929,38 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "skylighting-core_0_11" = 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.11";
+       sha256 = "1pgi0xfwbvgpgdcka3z3zl1hg1y4n3s2r9561gzclydyldb2jxc3";
+       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;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "skylighting-extensions" = callPackage
     ({ mkDerivation, base, containers, skylighting, skylighting-modding
      , text
@@ -240388,6 +243478,21 @@ self: {
        broken = true;
      }) {};
 
+  "slugger" = callPackage
+    ({ mkDerivation, base, hspec, text, text-icu }:
+     mkDerivation {
+       pname = "slugger";
+       version = "0.1.0.1";
+       sha256 = "1d1cx9c3qv8yd7q72q2vjp16mcsim4aw47dxv880q6xi5nmddcka";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base text text-icu ];
+       executableHaskellDepends = [ base text text-icu ];
+       testHaskellDepends = [ base hspec text text-icu ];
+       description = "Clean URI slugs for Haskell";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "slugify" = callPackage
     ({ mkDerivation, base, hspec, hspec-discover, QuickCheck, text
      , unicode-transforms
@@ -240888,6 +243993,7 @@ self: {
        libraryHaskellDepends = [ base bytesmith primitive ];
        description = "Parse arrays of tokens";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "smith-cli" = callPackage
@@ -242773,6 +245879,26 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "snowchecked" = callPackage
+    ({ mkDerivation, base, bytestring, data-default, deepseq, hedgehog
+     , text, text-conversions, time, wide-word
+     }:
+     mkDerivation {
+       pname = "snowchecked";
+       version = "0.0.1.0";
+       sha256 = "1128b0a4q7vnzz07ddalp6rjcmyvg98r8z77pzj573scrp214abn";
+       libraryHaskellDepends = [
+         base bytestring data-default deepseq text text-conversions time
+         wide-word
+       ];
+       testHaskellDepends = [
+         base bytestring data-default deepseq hedgehog text text-conversions
+         time wide-word
+       ];
+       description = "A checksummed variation on Twitter's Snowflake UID generation algorithm";
+       license = lib.licenses.asl20;
+     }) {};
+
   "snowflake" = callPackage
     ({ mkDerivation, base, time }:
      mkDerivation {
@@ -243221,6 +246347,29 @@ self: {
        broken = true;
      }) {softfloat = null;};
 
+  "solana-staking-csvs" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, cassava, cmdargs
+     , cointracking-imports, hedgehog, mtl, req, scientific, tasty
+     , tasty-hedgehog, tasty-hunit, text, time
+     }:
+     mkDerivation {
+       pname = "solana-staking-csvs";
+       version = "0.1.1.0";
+       sha256 = "0ya63vgh0nf4p7hz6fj38m44wr77jj76bf2qxdgra3lpiziqsjd5";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring cassava cmdargs cointracking-imports mtl req
+         scientific text time
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base hedgehog tasty tasty-hedgehog tasty-hunit
+       ];
+       description = "Generate CSV Exports of your Solana Staking Rewards";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "solar" = callPackage
     ({ mkDerivation, base, time }:
      mkDerivation {
@@ -243342,6 +246491,18 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "some-dict-of" = callPackage
+    ({ mkDerivation, base, constraints }:
+     mkDerivation {
+       pname = "some-dict-of";
+       version = "0.1.0.0";
+       sha256 = "0c7gr41fqak777wnh0q81mkpv89j6m1q3qqca5r2mzqhkqli4d4d";
+       libraryHaskellDepends = [ base constraints ];
+       testHaskellDepends = [ base constraints ];
+       description = "Carry evidence of constraints around";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "sonic-visualiser" = callPackage
     ({ mkDerivation, array, base, bytestring, bzlib, containers, mtl
      , pretty, utf8-string, xml
@@ -243545,22 +246706,21 @@ self: {
      }) {};
 
   "sound-collage" = callPackage
-    ({ mkDerivation, array, base, carray, containers, fft, filepath
-     , numeric-prelude, optparse-applicative, pathtype, sample-frame
-     , shell-utility, soxlib, storablevector, storablevector-carray
+    ({ mkDerivation, base, comfort-array, comfort-fftw, containers
+     , filepath, numeric-prelude, optparse-applicative, pathtype
+     , sample-frame, shell-utility, soxlib, storablevector
      , synthesizer-core, temporary, transformers, utility-ht
      }:
      mkDerivation {
        pname = "sound-collage";
-       version = "0.2.0.2";
-       sha256 = "11rirlg25iawv4shwhvc4bcnzk4axvgk5n7yj05nnbpyx4s6r0pp";
+       version = "0.2.1";
+       sha256 = "09g63b3k0l30z3lxmcz0zpggqqhnr7m01wh2vpm5v561rbnl8rsi";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         array base carray containers fft filepath numeric-prelude
+         base comfort-array comfort-fftw containers filepath numeric-prelude
          optparse-applicative pathtype sample-frame shell-utility soxlib
-         storablevector storablevector-carray synthesizer-core temporary
-         transformers utility-ht
+         storablevector synthesizer-core temporary transformers utility-ht
        ];
        description = "Approximate a song from other pieces of sound";
        license = lib.licenses.bsd3;
@@ -244355,6 +247515,23 @@ self: {
        broken = true;
      }) {};
 
+  "speculate_0_4_12" = callPackage
+    ({ mkDerivation, base, cmdargs, containers, express, leancheck }:
+     mkDerivation {
+       pname = "speculate";
+       version = "0.4.12";
+       sha256 = "0v5c8nzad1y5wjrnjswq4hyahkfmmb4npzhrrkdg5brwv6c784v7";
+       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;
+     }) {};
+
   "speculation" = callPackage
     ({ mkDerivation, base, ghc-prim, stm, transformers }:
      mkDerivation {
@@ -244762,18 +247939,18 @@ self: {
      }) {};
 
   "split-record" = callPackage
-    ({ mkDerivation, base, numeric-prelude, soxlib, storablevector
-     , synthesizer-core, transformers, utility-ht
+    ({ mkDerivation, base, numeric-prelude, shell-utility, soxlib
+     , storablevector, synthesizer-core, transformers, utility-ht
      }:
      mkDerivation {
        pname = "split-record";
-       version = "0.1.1.3";
-       sha256 = "0ydsdf2pk8gzcqriqm6pv7him55qz62ycfqxjm8qhpy1k8i3ipqj";
+       version = "0.1.1.4";
+       sha256 = "0yjmyanwzxvz43ry5ypg9d65yp1yplpwczzwhxmy221nrm2wfch4";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         base numeric-prelude soxlib storablevector synthesizer-core
-         transformers utility-ht
+         base numeric-prelude shell-utility soxlib storablevector
+         synthesizer-core transformers utility-ht
        ];
        description = "Split a big audio file into pieces at positions of silence";
        license = lib.licenses.bsd3;
@@ -245543,6 +248720,69 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "srt" = callPackage
+    ({ mkDerivation, base, simple-media-timestamp, text }:
+     mkDerivation {
+       pname = "srt";
+       version = "0.1.1.0";
+       sha256 = "1a3bpb3xz6m4igirmqg1yndyb1733jfwyarmmnizjw0m8v01sik0";
+       libraryHaskellDepends = [ base simple-media-timestamp text ];
+       description = "The data type for SRT files";
+       license = lib.licenses.mit;
+     }) {};
+
+  "srt-attoparsec" = callPackage
+    ({ mkDerivation, attoparsec, base, mtl, simple-media-timestamp
+     , simple-media-timestamp-attoparsec, srt, text
+     }:
+     mkDerivation {
+       pname = "srt-attoparsec";
+       version = "0.1.0.0";
+       sha256 = "1j096cz1frig4hizlwnraqsdhbrq44ypwyc4s0gbk9vg77sgq6sz";
+       libraryHaskellDepends = [
+         attoparsec base mtl simple-media-timestamp
+         simple-media-timestamp-attoparsec srt text
+       ];
+       description = "Attoparsec parser for the SRT format";
+       license = lib.licenses.mit;
+     }) {};
+
+  "srt-dhall" = callPackage
+    ({ mkDerivation, attoparsec, base, dhall, either, formatting
+     , simple-media-timestamp, simple-media-timestamp-formatting, srt
+     , srt-attoparsec, srt-formatting, text
+     }:
+     mkDerivation {
+       pname = "srt-dhall";
+       version = "0.1.0.0";
+       sha256 = "16ygxiqb9d0js3gr4823fdkk8pzsairby6iywnvsafas1qvhm0yp";
+       revision = "1";
+       editedCabalFile = "0y1x65mmhsa78svk19nwf7211fny9c4w3gf9d31d10j9bglyly8f";
+       libraryHaskellDepends = [
+         attoparsec base dhall either formatting simple-media-timestamp
+         simple-media-timestamp-formatting srt srt-attoparsec srt-formatting
+         text
+       ];
+       description = "Dhall Encoder/Decoder for SRT";
+       license = lib.licenses.mit;
+     }) {};
+
+  "srt-formatting" = callPackage
+    ({ mkDerivation, base, formatting, simple-media-timestamp
+     , simple-media-timestamp-formatting, srt
+     }:
+     mkDerivation {
+       pname = "srt-formatting";
+       version = "0.1.0.0";
+       sha256 = "0ssbxjlzqn0n3lj3f4m3881m1z0jk5qq94badddwszxs898d1zk5";
+       libraryHaskellDepends = [
+         base formatting simple-media-timestamp
+         simple-media-timestamp-formatting srt
+       ];
+       description = "Format an SRT";
+       license = lib.licenses.mit;
+     }) {};
+
   "sscan" = callPackage
     ({ mkDerivation, async, base, brick, directory, filepath, microlens
      , microlens-th, process, temporary, text, time, vty
@@ -245923,8 +249163,8 @@ self: {
      }:
      mkDerivation {
        pname = "stack";
-       version = "2.7.1";
-       sha256 = "09mw5jwgcmbkwsgvg1ls114hq9v2vl49pdvix8ir7vvgicvdhnv0";
+       version = "2.7.3";
+       sha256 = "0i2v5i6bg90n6i4clcaww8m8702d3y5z8r03xdizdisjhf0zijj7";
        configureFlags = [
          "-fdisable-git-info" "-fhide-dependency-versions"
          "-fsupported-build"
@@ -246046,8 +249286,8 @@ self: {
      }:
      mkDerivation {
        pname = "stack-clean-old";
-       version = "0.3";
-       sha256 = "1nszwagwsc6n02smqg70c79a21q9bwamlk4nqqbgzp009jfv0b7c";
+       version = "0.3.1";
+       sha256 = "034y2a8zhfjrf2wjqhsvkxycwypyykyq9abq2ir33nadgxlshfk4";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -247304,8 +250544,8 @@ self: {
      }:
      mkDerivation {
        pname = "static-text";
-       version = "0.2.0.6";
-       sha256 = "14z6ib2b1n6m460c5li58wh0p5kwmb471zwpwjn0pmgsayp8vzzi";
+       version = "0.2.0.7";
+       sha256 = "1mphxd0wpr4qwyznff96qn5b1xb2x9k956aghap6nnabnyhgvqr4";
        libraryHaskellDepends = [
          base bytestring template-haskell text vector
        ];
@@ -247539,8 +250779,8 @@ self: {
      }:
      mkDerivation {
        pname = "status-notifier-item";
-       version = "0.3.0.5";
-       sha256 = "165kdg1wb0xpy4z7hlk8654ph2psdibal1p0f32zzrccbnk0w801";
+       version = "0.3.1.0";
+       sha256 = "1x3zqa2b9vl5mirfbh2bmyali47jpfcqsw4xxgbmsgz9jiffpda9";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -247970,8 +251210,8 @@ self: {
      }:
      mkDerivation {
        pname = "stm-actor";
-       version = "0.2.3.0";
-       sha256 = "0982wj1lnxs7jv35hrkjpp539x3nn5hrwm652i1xbvmmy4i2k41p";
+       version = "0.2.3.1";
+       sha256 = "1gl4hladndwbjdb02hcb5mdirm9gnz23ayclh0wws8xsq23dv2b4";
        libraryHaskellDepends = [
          base mtl stm stm-queue transformers unliftio-core
        ];
@@ -248477,6 +251717,24 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "storable-record_0_0_6" = callPackage
+    ({ mkDerivation, base, QuickCheck, semigroups, transformers
+     , utility-ht
+     }:
+     mkDerivation {
+       pname = "storable-record";
+       version = "0.0.6";
+       sha256 = "1d4c1ccbrpq8rnacsjib9nmxhgxk9yb1zxx1nvfavhqhv8nwq2fd";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base QuickCheck semigroups transformers utility-ht
+       ];
+       description = "Elegant definition of Storable instances for records";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "storable-static-array" = callPackage
     ({ mkDerivation, array, base, tagged, vector }:
      mkDerivation {
@@ -248567,8 +251825,8 @@ self: {
      }:
      mkDerivation {
        pname = "store";
-       version = "0.7.11";
-       sha256 = "03i9gd18xqbfmj5kmiv4k4sw44gn6mn4faj71r2723abm3qwklwr";
+       version = "0.7.12";
+       sha256 = "1r6wajaxjlh38bivzmcdx8p0x89g04p6alddlibpa356drzl3jbp";
        libraryHaskellDepends = [
          array async base base-orphans base64-bytestring bifunctors
          bytestring containers contravariant cryptohash deepseq directory
@@ -249497,6 +252755,28 @@ self: {
        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;
+       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;
+       hydraPlatforms = lib.platforms.none;
+     }) {archive = null;};
+
   "streamly-binary" = callPackage
     ({ mkDerivation, base, binary, bytestring, hspec, QuickCheck
      , streamly
@@ -249535,6 +252815,29 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "streamly-bytestring_0_1_3" = callPackage
+    ({ mkDerivation, base, bytestring, deepseq, directory, filepath
+     , gauge, hspec, hspec-discover, quickcheck-instances, random
+     , streamly, temporary
+     }:
+     mkDerivation {
+       pname = "streamly-bytestring";
+       version = "0.1.3";
+       sha256 = "00iqbzijxs112sd9423q35w0v8cx9wpq1y2kfikc3sacqvfwx0cs";
+       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;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "streamly-cassava" = callPackage
     ({ mkDerivation, base, bytestring, cassava, criterion, exceptions
      , hspec, mtl, QuickCheck, quickcheck-instances, streaming
@@ -249597,8 +252900,6 @@ self: {
        ];
        description = "Folder watching as a Streamly stream";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "streamly-lmdb" = callPackage
@@ -249620,6 +252921,26 @@ self: {
        license = lib.licenses.bsd3;
      }) {inherit (pkgs) lmdb;};
 
+  "streamly-lmdb_0_3_0" = callPackage
+    ({ mkDerivation, async, base, bytestring, directory, lmdb
+     , QuickCheck, streamly, tasty, tasty-quickcheck, temporary
+     }:
+     mkDerivation {
+       pname = "streamly-lmdb";
+       version = "0.3.0";
+       sha256 = "1da87rbmh9sgffjy5367pzy1d80f7zlxhszi9sq87jfws4i20pk7";
+       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;
+       hydraPlatforms = lib.platforms.none;
+     }) {inherit (pkgs) lmdb;};
+
   "streamly-posix" = callPackage
     ({ mkDerivation, base, bytestring, filepath, hpath-posix, hspec
      , hspec-discover, safe-exceptions, streamly, streamly-bytestring
@@ -249627,8 +252948,8 @@ self: {
      }:
      mkDerivation {
        pname = "streamly-posix";
-       version = "0.1.0.1";
-       sha256 = "1z6hmnhgglr5zwsaakn7c6d0cgq32pwcdds8fkn28y9p3yc89bvv";
+       version = "0.1.0.2";
+       sha256 = "14ncn4k0nd05rgbyf0apy4lk2w4lzsz4cbhykvfwxgf871yxd9lf";
        libraryHaskellDepends = [
          base bytestring hpath-posix safe-exceptions streamly
          streamly-bytestring transformers unix word8
@@ -249641,6 +252962,27 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "streamly-process" = callPackage
+    ({ mkDerivation, base, directory, exceptions, fusion-plugin, hspec
+     , process, QuickCheck, streamly, tasty-bench, unix
+     }:
+     mkDerivation {
+       pname = "streamly-process";
+       version = "0.1.0";
+       sha256 = "066ldbphb230cc21jvsmmqlnjli6cwqpphs7vjb88q62lbl8yf6p";
+       libraryHaskellDepends = [ base exceptions process streamly unix ];
+       testHaskellDepends = [
+         base directory exceptions hspec process QuickCheck streamly
+       ];
+       benchmarkHaskellDepends = [
+         base directory fusion-plugin process streamly tasty-bench
+       ];
+       description = "Use OS processes as stream transformation functions";
+       license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "streamproc" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -249749,6 +253091,8 @@ self: {
        pname = "strict";
        version = "0.4.0.1";
        sha256 = "0hb24a09c3agsq7sdv8r2b2jc2f4g1blg2xvj4cfadynib0apxnz";
+       revision = "1";
+       editedCabalFile = "04js9aj6h49gr8plrgqm7jall0baw5wjkvqjxbpmi8ji0xspw62h";
        libraryHaskellDepends = [
          assoc base binary bytestring deepseq ghc-prim hashable text these
          transformers
@@ -250148,6 +253492,8 @@ self: {
        pname = "string-interpolate";
        version = "0.3.1.1";
        sha256 = "0hhzvrs9msyqsxwsqqm55lyxf85vhg4vcsszl735zsbs7431av69";
+       revision = "1";
+       editedCabalFile = "1grn08zg3n26d58al25hvg6czbliabrlf1srlhymjdvkvd4a5i4y";
        libraryHaskellDepends = [
          base bytestring haskell-src-exts haskell-src-meta split
          template-haskell text text-conversions utf8-string
@@ -250165,6 +253511,17 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "string-interpreter" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "string-interpreter";
+       version = "0.2.0.0";
+       sha256 = "1bwdfbpmlfqixfwc02jxdyyv0pkiysh24pnmna12cwpvb9582f6n";
+       libraryHaskellDepends = [ base ];
+       description = "Is used in the recursive mode for phonetic languages approach";
+       license = lib.licenses.mit;
+     }) {};
+
   "string-isos" = callPackage
     ({ mkDerivation, base, bytestring, mono-traversable, safe, text
      , type-iso
@@ -250678,18 +254035,18 @@ self: {
      }) {};
 
   "strong-path" = callPackage
-    ({ mkDerivation, base, exceptions, filepath, path, tasty
+    ({ mkDerivation, base, exceptions, filepath, hspec, path, tasty
      , tasty-discover, tasty-hspec, tasty-quickcheck, template-haskell
      }:
      mkDerivation {
        pname = "strong-path";
-       version = "1.0.0.0";
-       sha256 = "0xpflbqzdbf7pk2v5c5acd5j4ijldklx0vvypw36zvy50ld4ffpz";
+       version = "1.0.1.1";
+       sha256 = "0jxn7ixqgz70csjw6f73v7j8pdwaj51qxy59hl62f6763bf4z392";
        libraryHaskellDepends = [
          base exceptions filepath path template-haskell
        ];
        testHaskellDepends = [
-         base filepath path tasty tasty-discover tasty-hspec
+         base filepath hspec path tasty tasty-discover tasty-hspec
          tasty-quickcheck
        ];
        testToolDepends = [ tasty-discover ];
@@ -251502,12 +254859,12 @@ self: {
      }) {};
 
   "summer" = callPackage
-    ({ mkDerivation, base, vector }:
+    ({ mkDerivation, base, generics-sop, vector }:
      mkDerivation {
        pname = "summer";
-       version = "0.1.2.0";
-       sha256 = "1xcfw3f4y53a9jdj2a7jy32pp5pcvqsv78gblkjj1bxvsijwa4ab";
-       libraryHaskellDepends = [ base vector ];
+       version = "0.2.0.1";
+       sha256 = "0kxxvifs68gbmh7vdjfcsf1baiih646s9msvd5rh7hrbr8n14w5l";
+       libraryHaskellDepends = [ base generics-sop vector ];
        testHaskellDepends = [ base ];
        description = "An implementation of extensible products and sums";
        license = lib.licenses.mit;
@@ -252087,6 +255444,25 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "sv2v" = callPackage
+    ({ mkDerivation, alex, array, base, cmdargs, containers, directory
+     , filepath, githash, happy, hashable, mtl, vector
+     }:
+     mkDerivation {
+       pname = "sv2v";
+       version = "0.0.8";
+       sha256 = "1zkl0qsg9pg8dl4k5cvq2gbp6alxx1hzhmbdqpm7wdd9z9qag17w";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         array base cmdargs containers directory filepath githash hashable
+         mtl vector
+       ];
+       executableToolDepends = [ alex happy ];
+       description = "SystemVerilog to Verilog conversion";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "svfactor" = callPackage
     ({ mkDerivation, attoparsec, base, bifunctors, bytestring, charset
      , deepseq, hedgehog, lens, parsec, parsers, semigroupoids
@@ -252454,6 +255830,7 @@ self: {
        description = "Clojure without alphanumerics";
        license = lib.licenses.lgpl3Only;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "sweet-egison" = callPackage
@@ -252713,7 +256090,7 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "sydtest_0_3_0_2" = callPackage
+  "sydtest_0_3_0_3" = callPackage
     ({ mkDerivation, async, base, bytestring, containers, Diff, dlist
      , envparse, filepath, MonadRandom, mtl, optparse-applicative, path
      , path-io, pretty-show, QuickCheck, quickcheck-io, random-shuffle
@@ -252722,8 +256099,8 @@ self: {
      }:
      mkDerivation {
        pname = "sydtest";
-       version = "0.3.0.2";
-       sha256 = "1823g9czwgf0p0jyxlddqwnpwhs3622892c9ah6cacvl9xfl3sg9";
+       version = "0.3.0.3";
+       sha256 = "1h6x9k5shpsp028d5mhi03pgzg324qglapk1nick1cnr0njr7v7w";
        libraryHaskellDepends = [
          async base bytestring containers Diff dlist envparse filepath
          MonadRandom mtl optparse-applicative path path-io pretty-show
@@ -253253,14 +256630,19 @@ self: {
      }) {};
 
   "symantic-base" = callPackage
-    ({ mkDerivation, base }:
+    ({ mkDerivation, base, containers, hashable, template-haskell
+     , transformers, unordered-containers
+     }:
      mkDerivation {
        pname = "symantic-base";
-       version = "0.0.2.20200708";
-       sha256 = "1yvlvsr38b1ydplpz1jldy816sngmic273iajcmhr73rlyzk5y3d";
-       libraryHaskellDepends = [ base ];
-       description = "Basic symantics for writing Embedded Domain-Specific Languages (EDSL)";
-       license = lib.licenses.gpl3Only;
+       version = "0.1.0.20210703";
+       sha256 = "1jwk22d028k34h468218fx0czmr9ksc8fm2462am82av20azb07h";
+       libraryHaskellDepends = [
+         base containers hashable template-haskell transformers
+         unordered-containers
+       ];
+       description = "Commonly useful symantics for Embedded Domain-Specific Languages (EDSL)";
+       license = lib.licenses.agpl3Plus;
      }) {};
 
   "symantic-cli" = callPackage
@@ -253465,26 +256847,35 @@ self: {
      }) {};
 
   "symantic-parser" = callPackage
-    ({ mkDerivation, array, base, bytestring, containers, deepseq
-     , directory, filepath, ghc-prim, hashable, process, strict, tasty
-     , tasty-golden, template-haskell, text, transformers, unix
-     , unordered-containers
+    ({ mkDerivation, array, attoparsec, base, bytestring, containers
+     , criterion, deepseq, directory, filepath, ghc-prim, hashable
+     , megaparsec, ormolu, pretty, process, random, strict
+     , symantic-base, tasty, tasty-golden, template-haskell, text
+     , transformers, unix, unordered-containers
      }:
      mkDerivation {
        pname = "symantic-parser";
-       version = "0.1.0.20210201";
-       sha256 = "0c7vqxd0dagn7l3k4khbqvwg51y6a40m0f5qf587vj4rpjalc473";
+       version = "0.2.0.20210703";
+       sha256 = "16mpc4s9y41a9hqxvx9jfnv1nrnpzk342bylh9091qd34gw657il";
        libraryHaskellDepends = [
-         array base bytestring containers ghc-prim hashable template-haskell
-         text transformers unordered-containers
+         array attoparsec base bytestring containers deepseq directory
+         filepath ghc-prim hashable megaparsec pretty process strict
+         symantic-base tasty tasty-golden template-haskell text transformers
+         unix unordered-containers
        ];
        testHaskellDepends = [
          base bytestring containers deepseq directory filepath hashable
          process strict tasty tasty-golden template-haskell text
          transformers unix unordered-containers
        ];
+       testToolDepends = [ ormolu ];
+       benchmarkHaskellDepends = [
+         attoparsec base bytestring containers criterion deepseq megaparsec
+         random template-haskell text transformers
+       ];
+       doHaddock = false;
        description = "Parser combinators statically optimized and staged via typed meta-programming";
-       license = lib.licenses.gpl3Plus;
+       license = lib.licenses.agpl3Plus;
        hydraPlatforms = lib.platforms.none;
        broken = true;
      }) {};
@@ -254006,6 +257397,8 @@ self: {
        pname = "synthesizer-alsa";
        version = "0.5.0.5";
        sha256 = "09nf2c7nc5dbrd8nskmjrxz8fynnacbnml2wcf5p5qghq2dcd6ma";
+       revision = "1";
+       editedCabalFile = "0acwdxdi8wj63x6f3vcm366hm9liyjbm0czv4mwmm9ryrnc36sc6";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -254035,6 +257428,8 @@ self: {
        pname = "synthesizer-core";
        version = "0.8.2.1";
        sha256 = "1sdvqabxlgiqqb3kppxwyvmkmvcqrmrzicbmcmy6mr5c4npjxffj";
+       revision = "1";
+       editedCabalFile = "1c3l83qrdn3nxpp0gsr06iz9praw37c2j9zjj15pxd8in73mb74a";
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq event-list
          explicit-exception filepath non-empty non-negative numeric-prelude
@@ -254895,8 +258290,8 @@ self: {
      }:
      mkDerivation {
        pname = "taffybar";
-       version = "3.2.5";
-       sha256 = "1gfdlqgdqq2ivvzj7cgqahpm2bmwg90ri5ss7ah38alrp5rvda1v";
+       version = "3.3.0";
+       sha256 = "17ggcv1y3md11sccbb9mpss2qdanlkv7wy098qh28gra9kq4ibgm";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -254986,8 +258381,8 @@ self: {
        pname = "tagged";
        version = "0.8.6.1";
        sha256 = "00kcc6lmj7v3xm2r3wzw5jja27m4alcw1wi8yiismd0bbzwzrq7m";
-       revision = "1";
-       editedCabalFile = "1rzqfw2pafxbnfpl1lizf9zldpxyy28g92x4jzq49miw9hr1xpsx";
+       revision = "2";
+       editedCabalFile = "0qi63c3z40i9qm44r571yjzcpb8d473vj2km4kq0fij0ljc7vii9";
        libraryHaskellDepends = [
          base deepseq template-haskell transformers
        ];
@@ -255896,8 +259291,8 @@ self: {
      }:
      mkDerivation {
        pname = "taskell";
-       version = "1.11.0";
-       sha256 = "0bwv4ma7dzyyygsvnyfp4siidr9an729y4zq85158dwwv74y4nkm";
+       version = "1.11.3";
+       sha256 = "1wymiy9cp8d3h17nbk6qfb1visdr30c6ivrygm6dwxrbambarvd8";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -255976,6 +259371,24 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "tasty_1_4_2" = callPackage
+    ({ mkDerivation, ansi-terminal, base, clock, containers, mtl
+     , optparse-applicative, stm, tagged, unbounded-delays, unix
+     , wcwidth
+     }:
+     mkDerivation {
+       pname = "tasty";
+       version = "1.4.2";
+       sha256 = "0574hbqzxzyv6vsk5kzbf04kz58y0iy8x9ydcj4b8fpncgmgy63g";
+       libraryHaskellDepends = [
+         ansi-terminal base clock containers mtl optparse-applicative stm
+         tagged unbounded-delays unix wcwidth
+       ];
+       description = "Modern and extensible testing framework";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "tasty-ant-xml" = callPackage
     ({ mkDerivation, base, containers, directory, filepath
      , generic-deriving, ghc-prim, mtl, stm, tagged, tasty, transformers
@@ -256067,30 +259480,33 @@ self: {
      }) {};
 
   "tasty-checklist" = callPackage
-    ({ mkDerivation, base, exceptions, parameterized-utils, tasty
-     , tasty-expected-failure, tasty-hunit, text
+    ({ mkDerivation, base, doctest, exceptions, HUnit
+     , parameterized-utils, tasty, tasty-expected-failure, tasty-hunit
+     , text
      }:
      mkDerivation {
        pname = "tasty-checklist";
-       version = "1.0.1.0";
-       sha256 = "0nj4xjnlrd3righ0d0yv4py7wjls51khjyacpgjs3s5knaxyippp";
+       version = "1.0.3.0";
+       sha256 = "0vlhpc50w8gzdix1ys42cgpdv8rnkffal2zn283pccf1lfbimbjk";
        libraryHaskellDepends = [
          base exceptions parameterized-utils text
        ];
        testHaskellDepends = [
-         base parameterized-utils tasty tasty-expected-failure tasty-hunit
-         text
+         base doctest HUnit parameterized-utils tasty tasty-expected-failure
+         tasty-hunit text
        ];
        description = "Check multiple items during a tasty test";
        license = lib.licenses.isc;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "tasty-dejafu" = callPackage
     ({ mkDerivation, base, dejafu, random, tagged, tasty }:
      mkDerivation {
        pname = "tasty-dejafu";
-       version = "2.0.0.7";
-       sha256 = "0jzaqra7gsrvy33j1g6bnrwg7x5pyg5p50l5mgvpz71kd946725l";
+       version = "2.0.0.8";
+       sha256 = "0v0vkbj8nr4jg62a5c0qygj1pjkz1vnssiicafv87qis02j36myx";
        libraryHaskellDepends = [ base dejafu random tagged tasty ];
        description = "Deja Fu support for the Tasty test framework";
        license = lib.licenses.mit;
@@ -257252,6 +260668,8 @@ self: {
        pname = "techlab";
        version = "0.1.1.0";
        sha256 = "1139slr5pd03zr7w6m3mw625wkfd9jw8slqddgmbawpbi2z20p80";
+       revision = "1";
+       editedCabalFile = "09y7yymfgvrj28d7k2a4lqkwrif0wr6pp028kzcsj2i4k9b4krdg";
        libraryHaskellDepends = [
          base chassis co-log-polysemy composite-base containers dhall
          formatting optics path-dhall-instance polysemy polysemy-extra
@@ -258034,7 +261452,7 @@ self: {
        license = lib.licenses.asl20;
        hydraPlatforms = lib.platforms.none;
        broken = true;
-     }) {libtensorflow = null;};
+     }) {inherit (pkgs) libtensorflow;};
 
   "tensorflow-core-ops" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, directory, filepath
@@ -259352,8 +262770,8 @@ self: {
      }:
      mkDerivation {
        pname = "texmath";
-       version = "0.12.3";
-       sha256 = "0lhbgnswhss56lrp25i70hvmn6zg6xcfwdigfmwjggmhz0h5q88x";
+       version = "0.12.3.1";
+       sha256 = "1qyiihb9h7w7074p495yd4s8dj9adz0dy865gyp822z69jvmkcki";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -259391,18 +262809,29 @@ self: {
        broken = true;
      }) {};
 
-  "text_1_2_4_1" = callPackage
-    ({ mkDerivation, array, base, binary, bytestring, deepseq, ghc-prim
-     , integer-gmp, template-haskell
+  "text_1_2_5_0" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, bytestring-lexing
+     , containers, deepseq, directory, filepath, ghc-prim, QuickCheck
+     , quickcheck-unicode, random, stringsearch, tasty, tasty-bench
+     , tasty-hunit, tasty-inspection-testing, tasty-quickcheck
+     , template-haskell, transformers, vector
      }:
      mkDerivation {
        pname = "text";
-       version = "1.2.4.1";
-       sha256 = "0bnb4g5lpranra58zpwqh14hvwdh6zc4nz3hwppzrpdahi10s7hv";
+       version = "1.2.5.0";
+       sha256 = "0wwgsq7px8cvmqj3264132xsbj6b92j6mfgd1jlk08vdl8hmx821";
        libraryHaskellDepends = [
-         array base binary bytestring deepseq ghc-prim integer-gmp
+         array base binary bytestring deepseq ghc-prim template-haskell
+       ];
+       testHaskellDepends = [
+         base bytestring deepseq directory QuickCheck quickcheck-unicode
+         random tasty tasty-hunit tasty-inspection-testing tasty-quickcheck
          template-haskell
        ];
+       benchmarkHaskellDepends = [
+         base binary bytestring bytestring-lexing containers deepseq
+         filepath stringsearch tasty-bench transformers vector
+       ];
        doCheck = false;
        description = "An efficient packed Unicode text type";
        license = lib.licenses.bsd2;
@@ -259859,6 +263288,22 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "text-metrics_0_3_1" = callPackage
+    ({ mkDerivation, base, containers, criterion, deepseq, hspec
+     , QuickCheck, text, vector, weigh
+     }:
+     mkDerivation {
+       pname = "text-metrics";
+       version = "0.3.1";
+       sha256 = "17bp1lnbkqr5ykrcd6v5sqv0fhljck7hky8zrrpw7rlkb1f3sdc2";
+       libraryHaskellDepends = [ base containers text vector ];
+       testHaskellDepends = [ base hspec QuickCheck text ];
+       benchmarkHaskellDepends = [ base criterion deepseq text weigh ];
+       description = "Calculate various string metrics efficiently";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "text-normal" = callPackage
     ({ mkDerivation, base, deepseq, hspec, QuickCheck
      , quickcheck-instances, text, text-icu
@@ -260302,8 +263747,8 @@ self: {
      }:
      mkDerivation {
        pname = "text1";
-       version = "0.0.7.0";
-       sha256 = "0ph9vyx88mwh4d6n0wxbhicjc1x3d645kglw82nr5ggapgsab2a1";
+       version = "0.0.7.4";
+       sha256 = "0xsqikhbv1900sl6d431cb5d393d6a5rk58284ximpgz6j1qxgab";
        libraryHaskellDepends = [
          base binary lens semigroupoids semigroups text
        ];
@@ -261272,8 +264717,8 @@ self: {
        pname = "these";
        version = "1.1.1.1";
        sha256 = "027m1gd7i6jf2ppfkld9qrv3xnxg276587pmx10z9phpdvswk66p";
-       revision = "1";
-       editedCabalFile = "1bzi28jvaxil9rc6z1hkf87pfjsa3r5gfc9n0ixffnnv519cd0g9";
+       revision = "2";
+       editedCabalFile = "16x3am622jn97j1d9879x7j5zbjn33bkfaa0dq0xyp1fbc0s7h5x";
        libraryHaskellDepends = [ assoc base binary deepseq hashable ];
        description = "An either-or-both data type";
        license = lib.licenses.bsd3;
@@ -261979,6 +265424,28 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "ticket-management" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, containers, directory
+     , optparse-applicative, QuickCheck, text, time, unliftio
+     }:
+     mkDerivation {
+       pname = "ticket-management";
+       version = "0.2.0.0";
+       sha256 = "0cbdkjjh2sfsj4cjgxvxjrva6rb0gli36q3g8idhwf7wa2llyz4w";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring cereal containers directory optparse-applicative
+         QuickCheck text time unliftio
+       ];
+       executableHaskellDepends = [ base ];
+       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
     ({ mkDerivation, base, bifunctors, bytestring, checkers, filepath
      , lens, mtl, papa, QuickCheck, semigroupoids, semigroups, tasty
@@ -262020,8 +265487,8 @@ self: {
      }:
      mkDerivation {
        pname = "tidal";
-       version = "1.7.7";
-       sha256 = "19r9h45yd2xwmah81xqmwx5bi5gi0x2hqhq2nqa47jgb0nd12a25";
+       version = "1.7.8";
+       sha256 = "0l8k4f89rhmvd0ys7klgi57k0313ki1vr256mkc60xc6a6gb3g93";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base bifunctors bytestring clock colour containers deepseq hosc
@@ -263496,8 +266963,8 @@ self: {
      }:
      mkDerivation {
        pname = "tldr";
-       version = "0.9.0";
-       sha256 = "0dixx8i6ka3ksfcr6bjybs1i3ry0wpiffsmskh56cxxcys0jgm5h";
+       version = "0.9.1";
+       sha256 = "0xgj3mf51iv68fhgyrjvxfmzrbcwnk7siaynm213x0kgcyvkwbz0";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -263791,8 +267258,6 @@ self: {
        ];
        description = "Start and stop a temporary postgres";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "tmpl" = callPackage
@@ -264041,6 +267506,23 @@ self: {
        broken = true;
      }) {};
 
+  "token-limiter-concurrent" = callPackage
+    ({ mkDerivation, async, base, genvalidity, genvalidity-sydtest
+     , QuickCheck, sydtest, sydtest-discover
+     }:
+     mkDerivation {
+       pname = "token-limiter-concurrent";
+       version = "0.0.0.0";
+       sha256 = "1g64638v7kiblixb8xg5dvnif60mlpplp1l18pv32lr9sph7yv1c";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [
+         async base genvalidity genvalidity-sydtest QuickCheck sydtest
+       ];
+       testToolDepends = [ sydtest-discover ];
+       description = "A thread-safe concurrent token-bucket rate limiter that guarantees fairness";
+       license = lib.licenses.mit;
+     }) {};
+
   "token-search" = callPackage
     ({ mkDerivation, aeson, base, bytestring, conduit, hashable, hspec
      , process, streaming-commons, text, unordered-containers
@@ -264597,8 +268079,8 @@ self: {
     ({ mkDerivation, base, filepath, hspec, profunctors, text }:
      mkDerivation {
        pname = "tophat";
-       version = "1.0.1.0";
-       sha256 = "0q00lrv02pmy5zgnqciwaj87hs7daraj6pvcz9hm93djk6cgs5fn";
+       version = "1.0.4.0";
+       sha256 = "1hzppwrdqz4l88r33m1gh9kzialjq82m1mhzqzzlsaicy5ps84zw";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base profunctors text ];
@@ -265094,6 +268576,8 @@ self: {
        pname = "tracetree";
        version = "0.1.0.2";
        sha256 = "0ga78nkrfg2hlanqfd65il0yw596n7xy9jx76l7sffs438mx4wvr";
+       revision = "1";
+       editedCabalFile = "1k6a5n70qmch9vqyv9kyrkii4pnwjdgbiwrqwk8q3yhv9naqijkh";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -265452,12 +268936,14 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "transformers_0_5_6_2" = callPackage
+  "transformers_0_6_0_2" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "transformers";
-       version = "0.5.6.2";
-       sha256 = "0v66j5k0xqk51pmca55wq192qyw2p43s2mgxlz4f95q2c1fpjs5n";
+       version = "0.6.0.2";
+       sha256 = "1d907i06lgmis4s1mhjn6f4f3991vpycv9pl61h4xn2hwxasq3k2";
+       revision = "1";
+       editedCabalFile = "0g536mmdq72j72jy6437q64vsxj8yba0mamm15xirs67j551azn1";
        libraryHaskellDepends = [ base ];
        description = "Concrete functor and monad transformers";
        license = lib.licenses.bsd3;
@@ -265486,8 +268972,8 @@ self: {
      }:
      mkDerivation {
        pname = "transformers-base";
-       version = "0.4.5.2";
-       sha256 = "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h";
+       version = "0.4.6";
+       sha256 = "146g69yxmlrmvqnzwcw4frxfl3z04lda9zqwcqib34dnkrlghfrj";
        libraryHaskellDepends = [
          base base-orphans stm transformers transformers-compat
        ];
@@ -265519,6 +269005,18 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "transformers-compat_0_7" = callPackage
+    ({ mkDerivation, base, ghc-prim, transformers }:
+     mkDerivation {
+       pname = "transformers-compat";
+       version = "0.7";
+       sha256 = "13x9f3rq1ibx5lhzrsysg7m5nkqas75kv6b0zmzvspjiswfp7bd4";
+       libraryHaskellDepends = [ base ghc-prim transformers ];
+       description = "A small compatibility shim for the transformers library";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "transformers-compose" = callPackage
     ({ mkDerivation, base, transformers }:
      mkDerivation {
@@ -265586,8 +269084,8 @@ self: {
     ({ mkDerivation, base, exceptions, text, transformers }:
      mkDerivation {
        pname = "transformers-either";
-       version = "0.1.1";
-       sha256 = "1hjkiz3dhk4dp8a4lgpyns4nd867lg7ydq4r4zf57w4i6ys7j4l7";
+       version = "0.1.2";
+       sha256 = "1vb6jr2lpj6mqx9bv0ziqs6586gj6xka218qagxsm7w52w0hvz1v";
        libraryHaskellDepends = [ base exceptions text transformers ];
        description = "An Either monad transformer";
        license = lib.licenses.bsd3;
@@ -265597,8 +269095,8 @@ self: {
     ({ mkDerivation, base, exceptions, text, transformers }:
      mkDerivation {
        pname = "transformers-except";
-       version = "0.1.1";
-       sha256 = "1i89k4bml223f7m3pin73vrz51xb2j7q7rr39x9v587hmm40mvkm";
+       version = "0.1.2";
+       sha256 = "00zxpip9nhli7ic1zaks7c4hj851dhdgkkwq5qw9vamr6whgh9cr";
        libraryHaskellDepends = [ base exceptions text transformers ];
        description = "An Except monad transformer with";
        license = lib.licenses.bsd3;
@@ -266056,6 +269554,8 @@ self: {
        pname = "treap";
        version = "0.0.0.0";
        sha256 = "0zq2jislk5fg7lshya6iivcksxh5wgb54kgllgqqra07w0sp6bd9";
+       revision = "1";
+       editedCabalFile = "1fljz20yn9igag80vapjw266nsnlkxvkwcdrz73kzh9m53gjymhz";
        libraryHaskellDepends = [ base deepseq mersenne-random-pure64 ];
        testHaskellDepends = [ base doctest Glob hspec hspec-core ];
        description = "Efficient implementation of the implicit treap data structure";
@@ -266530,6 +270030,8 @@ self: {
        pname = "trial";
        version = "0.0.0.0";
        sha256 = "0lnq80983bg2cjim3fy8rwisn55f6acqwp67w7791kzfdwshxkww";
+       revision = "1";
+       editedCabalFile = "1anl65i1zk2764078n7xa0ymrrg58hwlsnm4b6km56yw77j3nkc3";
        libraryHaskellDepends = [ base colourista dlist ];
        testHaskellDepends = [
          base dlist doctest hedgehog hspec hspec-hedgehog splitmix
@@ -266555,6 +270057,8 @@ self: {
        pname = "trial-tomland";
        version = "0.0.0.0";
        sha256 = "12klfq5ajn4bjrws633pfdc2zhpkwvwmrm7269xfh252fjwk1x23";
+       revision = "1";
+       editedCabalFile = "1h2ygxwg75hvx8izmfgrkk1sznafpkaxz3v18hxfv4b8lfm9nfkl";
        libraryHaskellDepends = [ base text tomland trial ];
        description = "Trial helper functions for tomland";
        license = lib.licenses.mpl20;
@@ -266689,6 +270193,22 @@ self: {
        broken = true;
      }) {};
 
+  "trimdent" = callPackage
+    ({ mkDerivation, base, doctest, hspec
+     , hspec-expectations-pretty-diff, raw-strings-qq
+     }:
+     mkDerivation {
+       pname = "trimdent";
+       version = "0.1.0.0";
+       sha256 = "1jvhfmkha9a0g2ikxqdbwv0mvafysva2hym1z7ws2sfirfx483dp";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base doctest hspec hspec-expectations-pretty-diff raw-strings-qq
+       ];
+       description = "A utility for neat multiline string trimming";
+       license = lib.licenses.agpl3Only;
+     }) {};
+
   "trimpolya" = callPackage
     ({ mkDerivation, base, bio, bytestring, simpleargs }:
      mkDerivation {
@@ -267142,6 +270662,23 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "ttc_1_1_0_2" = callPackage
+    ({ mkDerivation, base, bytestring, tasty, tasty-hunit
+     , template-haskell, text
+     }:
+     mkDerivation {
+       pname = "ttc";
+       version = "1.1.0.2";
+       sha256 = "0i1jnign6xb0i4y5rkwz2rp2lj7q3r50i4bkjghz8i2djw2sd1cw";
+       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
     ({ mkDerivation, base, clock, containers, data-default, failable
      , hashable, hashtables, hspec, mtl, transformers
@@ -267654,8 +271191,8 @@ self: {
      }:
      mkDerivation {
        pname = "twee";
-       version = "2.3.1";
-       sha256 = "0s9mplfbv2y8p745pzhmd7il1ykvndrbfs86c4w7r01lgy7dplxf";
+       version = "2.4.1";
+       sha256 = "0gh0cr3f19jsfq6025y1lq0mcg8cd920xd3x7jmd1cjlyjbkslsf";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -267673,8 +271210,8 @@ self: {
      }:
      mkDerivation {
        pname = "twee-lib";
-       version = "2.3.1";
-       sha256 = "10n9p8d59baqkb1qmgl3wdybv1jyk343l4jrbjjcm0s8rbp842xm";
+       version = "2.4.1";
+       sha256 = "14pvmxq0dp8lwbmkvch4c6v4rblc8a2ybkm7q3hhr1qaj2pyiv0b";
        libraryHaskellDepends = [
          base containers dlist ghc-prim pretty primitive random transformers
          uglymemo vector
@@ -267692,8 +271229,8 @@ self: {
      }:
      mkDerivation {
        pname = "tweet-hs";
-       version = "1.0.2.2";
-       sha256 = "1sl4pld3jig1m26alhj4s96ff43v3g00wxzrng4yhb76d88z0ipw";
+       version = "1.0.2.3";
+       sha256 = "0chkg9xkancp6dms0ha0m86fkcmvk690q6z0rvprg37lhj42xp1i";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -268099,6 +271636,7 @@ self: {
        description = "A Haskell-based CLI Twitter client";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "twitter-conduit" = callPackage
@@ -268522,10 +272060,8 @@ self: {
     ({ mkDerivation, base, doctest, Glob }:
      mkDerivation {
        pname = "type-errors-pretty";
-       version = "0.0.1.1";
-       sha256 = "1z6rqah3qnvnlckcw3xhsp4yyfd21harw6kzqbz20y6k7a22jlf0";
-       revision = "1";
-       editedCabalFile = "1qfm0018ids9s7kdwf6d3r1cwnb5aqn55in4vdwklas3ydi8mmrx";
+       version = "0.0.1.2";
+       sha256 = "01zdb5mw77d5rj3yvabqdch132mjw49awpjnjvms20hdhwjgqb6b";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base doctest Glob ];
        description = "Combinators for writing pretty type errors easily";
@@ -269201,8 +272737,8 @@ self: {
      }:
      mkDerivation {
        pname = "typed-process";
-       version = "0.2.6.0";
-       sha256 = "1cf2pfym8zdxvvy7xv72ixj7wy3rjrdss6f57k1ysgs66cgsi8ii";
+       version = "0.2.6.1";
+       sha256 = "0w4c76qln49967nnhf7f1zj3gbdfqp2qgf5ym8svhqyhp5gh61ws";
        libraryHaskellDepends = [
          async base bytestring process stm transformers unliftio-core
        ];
@@ -269519,6 +273055,31 @@ self: {
        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";
+       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;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "types-compat" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -270870,6 +274431,19 @@ self: {
        license = lib.licenses.bsd2;
      }) {};
 
+  "unicode-data" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "unicode-data";
+       version = "0.1.0.1";
+       sha256 = "1rxybzbls2l732gj5ql0ccmlzsmcncaw22g0l9bc2ism0i2qf2gz";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base ];
+       description = "Access Unicode character database";
+       license = lib.licenses.asl20;
+     }) {};
+
   "unicode-general-category" = callPackage
     ({ mkDerivation, array, base, binary, bytestring, containers
      , file-embed, hspec, QuickCheck, text
@@ -270974,8 +274548,8 @@ self: {
        pname = "unicode-transforms";
        version = "0.3.7.1";
        sha256 = "1010sahi4mjzqmxqlj3w73rlymbl2370x5vizjqbx7mb86kxzx4f";
-       revision = "1";
-       editedCabalFile = "01kf1hanqcwc7vpkwq2rw5v2mn4nxx58l3v5hpk166jalmwqijaz";
+       revision = "2";
+       editedCabalFile = "0kbcn5881sxh0i8pqckjam4kwr1n7m3gl5ppcq4li32dzfiz9b57";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base bytestring ghc-prim text ];
@@ -270989,6 +274563,32 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "unicode-transforms_0_3_8" = callPackage
+    ({ mkDerivation, base, bytestring, deepseq, filepath
+     , getopt-generics, ghc-prim, hspec, path, path-io, QuickCheck
+     , split, tasty-bench, text, unicode-data
+     }:
+     mkDerivation {
+       pname = "unicode-transforms";
+       version = "0.3.8";
+       sha256 = "1j3dwz3qmak3fyb1p4qzr1rnxch2ydqfp2jizyy4rv425h0smxzl";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring ghc-prim text unicode-data
+       ];
+       testHaskellDepends = [
+         base deepseq getopt-generics 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
     ({ mkDerivation, base, containers, data-default, deepseq, hashable
      , hspec, hspec-discover, QuickCheck, text
@@ -271235,8 +274835,8 @@ self: {
     ({ mkDerivation, array, base, mtl }:
      mkDerivation {
        pname = "union-find-array";
-       version = "0.1.0.2";
-       sha256 = "1pxb1v2k04i8ds2n8zqra74gacry6dj5p87sxgkf4fazx4s316dk";
+       version = "0.1.0.3";
+       sha256 = "1nfvgmgvins9gq5ba9vf9yqj9svj2c22xgvvfq03ls9wm62vj1xw";
        libraryHaskellDepends = [ array base mtl ];
        description = "union find data structure";
        license = lib.licenses.mit;
@@ -271872,6 +275472,8 @@ self: {
        pname = "universum";
        version = "1.7.2";
        sha256 = "1ka7q5vr9xkf8z5mzpkp648mpf8az7b14lnhbvfakg3v5xy3f7gb";
+       revision = "1";
+       editedCabalFile = "17w3zpbv5ap9as506fn43xlnh6sqxni8mmczlp5l86hvn7zd8y6z";
        libraryHaskellDepends = [
          base bytestring containers deepseq ghc-prim hashable microlens
          microlens-mtl mtl safe-exceptions stm text transformers
@@ -271893,8 +275495,8 @@ self: {
        pname = "unix";
        version = "2.7.2.2";
        sha256 = "1b6ygkasn5bvmdci8g3zjkahl34kfqhf5jrayibvnrcdnaqlxpcq";
-       revision = "6";
-       editedCabalFile = "1wjy6cr4ls9gaisbq97knkw4rzk7aavcwvl4szx1vs7dbrfzrf6x";
+       revision = "7";
+       editedCabalFile = "1hkmb19m2mm8h2v69awip25i7cpg0967yih89q5npqsxknix4hkw";
        libraryHaskellDepends = [ base bytestring time ];
        description = "POSIX functionality";
        license = lib.licenses.bsd3;
@@ -272147,8 +275749,8 @@ self: {
      }:
      mkDerivation {
        pname = "unliftio";
-       version = "0.2.18";
-       sha256 = "0yg5x2v3p4pdw7892l1mkihmdbak14qvmni1vk2a0y2gdmxfvx1y";
+       version = "0.2.19";
+       sha256 = "052m0vr6444r5adzyzr3aqj07p9ay5y2sqfsczwj52bc66qqyy36";
        libraryHaskellDepends = [
          async base bytestring deepseq directory filepath process stm time
          transformers unix unliftio-core
@@ -272171,8 +275773,8 @@ self: {
        pname = "unliftio-core";
        version = "0.2.0.1";
        sha256 = "16i97jax8rys57l0g0qswfwxh1cl5bgw2lw525rm6bzajw90v7wi";
-       revision = "1";
-       editedCabalFile = "16k5fxlm9xpbd0ca861nmhb1j2ahyid02m1vbg1vzb5ckbm48glv";
+       revision = "2";
+       editedCabalFile = "1xx9nmxxg87nhwxgbmmw0xbrppnjc23ppyryar04i3njyg9wvazr";
        libraryHaskellDepends = [ base transformers ];
        description = "The MonadUnliftIO typeclass for unlifting monads to IO";
        license = lib.licenses.mit;
@@ -272757,8 +276359,8 @@ self: {
      }:
      mkDerivation {
        pname = "update-nix-fetchgit";
-       version = "0.2.7";
-       sha256 = "0knwn11c3kdh1xbpa8l6kgskis9fcsjr06hxay3rl4yiqprf80xn";
+       version = "0.2.9";
+       sha256 = "0wdw03pl5bx8vsi3kg4l902ah2l1v4x8922g9malyqyh3bvqfham";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -273175,6 +276777,7 @@ self: {
        ];
        description = "Memory efficient url type and parser";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "url-decoders" = callPackage
@@ -273268,10 +276871,8 @@ self: {
      }:
      mkDerivation {
        pname = "urlencoded";
-       version = "0.4.2.0";
-       sha256 = "1i88qf5dq52ra7hl29ka1i0bhyfic3sg7ksm1n6bpb2hj38hr139";
-       revision = "5";
-       editedCabalFile = "1c9af5bzz5lkppqgd4bfynjxdqwps59n391fiw73nx3aq2nr7m0i";
+       version = "0.5.0.0";
+       sha256 = "0d1vj7w297cf9sk9x942za00f7ihqzcgbgjdbn7r9g0hz7qyl6nn";
        libraryHaskellDepends = [ base mtl network network-uri split ];
        testHaskellDepends = [ base network network-uri QuickCheck ];
        description = "Generate or process x-www-urlencoded data";
@@ -273297,6 +276898,7 @@ self: {
        ];
        description = "Painfully simple URL deployment";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "urn" = callPackage
@@ -274073,6 +277675,7 @@ self: {
        ];
        description = "UUID parsing using byteverse packages";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "uuid-crypto" = callPackage
@@ -274427,6 +278030,22 @@ self: {
        broken = true;
      }) {};
 
+  "valida" = callPackage
+    ({ mkDerivation, base, smallcheck, tasty, tasty-hunit
+     , tasty-quickcheck, tasty-smallcheck
+     }:
+     mkDerivation {
+       pname = "valida";
+       version = "0.1.0";
+       sha256 = "1spdf40jcm9b6ah18m5nw550x2mlq4bjmqvscf4cnjpc7izdmdng";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base smallcheck tasty tasty-hunit tasty-quickcheck tasty-smallcheck
+       ];
+       description = "Simple applicative validation for product types, batteries included!";
+       license = lib.licenses.mit;
+     }) {};
+
   "validate" = callPackage
     ({ mkDerivation }:
      mkDerivation {
@@ -274829,6 +278448,39 @@ self: {
        broken = true;
      }) {};
 
+  "variable-media-field" = callPackage
+    ({ mkDerivation, base, text }:
+     mkDerivation {
+       pname = "variable-media-field";
+       version = "0.1.0.0";
+       sha256 = "13fpvd3w3c7lndkf4l4d48fcfsssxwi7ip9309gzwlrlycq57908";
+       libraryHaskellDepends = [ base text ];
+       description = "Simple type for representing one of several media types";
+       license = lib.licenses.mit;
+     }) {};
+
+  "variable-media-field-dhall" = callPackage
+    ({ mkDerivation, base, dhall, variable-media-field }:
+     mkDerivation {
+       pname = "variable-media-field-dhall";
+       version = "0.1.0.0";
+       sha256 = "0h2gm5h86n7bm5gf9rbc0zlkkhrkyavygvrkz251r9l57qw48qax";
+       libraryHaskellDepends = [ base dhall variable-media-field ];
+       description = "Dhall instances for VF";
+       license = lib.licenses.mit;
+     }) {};
+
+  "variable-media-field-optics" = callPackage
+    ({ mkDerivation, base, optics-th, variable-media-field }:
+     mkDerivation {
+       pname = "variable-media-field-optics";
+       version = "0.1.0.0";
+       sha256 = "1n4ccd52yy5yna28bmn4sc7cyrngyllgk976q4v7f262l49wmphj";
+       libraryHaskellDepends = [ base optics-th variable-media-field ];
+       description = "Optics for variable-media-field";
+       license = lib.licenses.mit;
+     }) {};
+
   "variable-precision" = callPackage
     ({ mkDerivation, base, complex-generic, floatshow, integer-gmp
      , type-level-natural-number
@@ -275391,23 +279043,6 @@ self: {
      }:
      mkDerivation {
        pname = "vector-builder";
-       version = "0.3.8.1";
-       sha256 = "1fd0zwycp7aprj5q1c7na97a7wqivyr2fmy8ms16fh4wln62x50y";
-       libraryHaskellDepends = [ base vector ];
-       testHaskellDepends = [
-         attoparsec QuickCheck quickcheck-instances rerebase tasty
-         tasty-hunit tasty-quickcheck
-       ];
-       description = "Vector builder";
-       license = lib.licenses.mit;
-     }) {};
-
-  "vector-builder_0_3_8_2" = callPackage
-    ({ mkDerivation, attoparsec, base, QuickCheck, quickcheck-instances
-     , rerebase, tasty, tasty-hunit, tasty-quickcheck, vector
-     }:
-     mkDerivation {
-       pname = "vector-builder";
        version = "0.3.8.2";
        sha256 = "1g1zxp6xcwcq3372a5qqs44cl09a48p21m1jsys5bsampprlmcgs";
        libraryHaskellDepends = [ base vector ];
@@ -275417,7 +279052,6 @@ self: {
        ];
        description = "Vector builder";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "vector-bytes-instances" = callPackage
@@ -276007,7 +279641,8 @@ self: {
        description = "An intermediate language for Hoare logic style verification";
        license = lib.licenses.asl20;
        platforms = [
-         "armv7l-linux" "i686-linux" "x86_64-darwin" "x86_64-linux"
+         "aarch64-darwin" "armv7l-linux" "i686-linux" "x86_64-darwin"
+         "x86_64-linux"
        ];
      }) {};
 
@@ -276142,6 +279777,32 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "vessel" = callPackage
+    ({ mkDerivation, aeson, aeson-gadt-th, base, bifunctors
+     , constraints, constraints-extras, containers, dependent-map
+     , dependent-monoidal-map, dependent-sum
+     , dependent-sum-aeson-orphans, dependent-sum-template, lens
+     , markdown-unlit, monoidal-containers, mtl, patch, reflex
+     , semialign, text, these, witherable
+     }:
+     mkDerivation {
+       pname = "vessel";
+       version = "0.1.0.0";
+       sha256 = "0j6i2xgb9yahyw5ab15gg5qy5dphkblkcn1p629dm800759njy1s";
+       libraryHaskellDepends = [
+         aeson aeson-gadt-th base bifunctors constraints constraints-extras
+         containers dependent-map dependent-monoidal-map dependent-sum
+         dependent-sum-aeson-orphans dependent-sum-template lens
+         markdown-unlit monoidal-containers mtl patch reflex semialign text
+         these witherable
+       ];
+       libraryToolDepends = [ markdown-unlit ];
+       doHaddock = false;
+       description = "Functor-parametric containers";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "vflow-types" = callPackage
     ({ mkDerivation, aeson, base, bytestring, ip, json-alt
      , json-autotype, neat-interpolation, QuickCheck, quickcheck-classes
@@ -277283,8 +280944,8 @@ self: {
      }:
      mkDerivation {
        pname = "vulkan";
-       version = "3.11.2";
-       sha256 = "1pvszf89q1b7r5a1lzdvc28cylmlgnvvss5nw6497iclzh6hs82i";
+       version = "3.12.2";
+       sha256 = "1vypjnwvvvd0rw99qsb00jnwpq792s9x1wi62zdyzq9cwlf47ici";
        libraryHaskellDepends = [ base bytestring transformers vector ];
        libraryPkgconfigDepends = [ vulkan ];
        testHaskellDepends = [
@@ -277316,8 +280977,8 @@ self: {
      }:
      mkDerivation {
        pname = "vulkan-utils";
-       version = "0.5.0.2";
-       sha256 = "19jxd73li1ybdfzznlql2im8k0qad1yas75d5cdfvjazv7x4g3n1";
+       version = "0.5.2";
+       sha256 = "05h54dzci8ahnxshrcd7l6bpg1q8llnrwycgpbpn12cf6ddmdc59";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base bytestring containers dependent-map dependent-sum extra
@@ -278051,6 +281712,7 @@ self: {
        ];
        description = "A logging middleware for WAI applications";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "wai-logger" = callPackage
@@ -278121,8 +281783,8 @@ self: {
      }:
      mkDerivation {
        pname = "wai-make-assets";
-       version = "0.2";
-       sha256 = "0h6ng8g42bpb8d75wykb1q9byqh3zx745asy31yqzp49v0aip1vy";
+       version = "0.3";
+       sha256 = "07h56bjyap8x2aaay23k3l6n6gk1h5a3qqijd33b4pnc0nygfzci";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -278156,8 +281818,8 @@ self: {
      }:
      mkDerivation {
        pname = "wai-middleware-auth";
-       version = "0.2.5.0";
-       sha256 = "12yv8rcybd7saflfcyjy08p1m6il07nk831pkj0isxk8mwjq64l4";
+       version = "0.2.5.1";
+       sha256 = "0ch9vh14bhnf7g789rbqqgnn3q2nc892xs73kf7k6l8n9p2md0yd";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -278385,6 +282047,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
@@ -280766,8 +284429,8 @@ self: {
      }:
      mkDerivation {
        pname = "webify";
-       version = "0.1.9.0";
-       sha256 = "0gfdzxy7qsxpqqrkm3dy37d68xp8nvx0q9189msbfp3x4yalfb1z";
+       version = "0.1.10.0";
+       sha256 = "11c1va4yl0r8x3qf218jq1f0ik8mpfbzmzp6y2is8hzyf3w8glm8";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -281344,6 +285007,39 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "wgpu-hs" = callPackage
+    ({ mkDerivation, base, bytestring, data-default, GLFW-b, text
+     , transformers, vector, wgpu-raw-hs
+     }:
+     mkDerivation {
+       pname = "wgpu-hs";
+       version = "0.2.0.0";
+       sha256 = "1kc5xmknfhh9dmn90rbnplmx8n7f07xwvrvz7dcybjpiw8pr2dml";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring data-default GLFW-b text transformers vector
+         wgpu-raw-hs
+       ];
+       executableHaskellDepends = [
+         base data-default GLFW-b text transformers
+       ];
+       doHaddock = false;
+       description = "WGPU";
+       license = lib.licenses.bsd3;
+     }) {};
+
+  "wgpu-raw-hs" = callPackage
+    ({ mkDerivation, base, GLFW-b, unix }:
+     mkDerivation {
+       pname = "wgpu-raw-hs";
+       version = "0.2.0.0";
+       sha256 = "05dzz6q5laxw7wwhly7v5i4bppfqz4yahh8qq6qc0h2c8v0qmdzp";
+       libraryHaskellDepends = [ base GLFW-b unix ];
+       description = "WGPU Raw";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "what4" = callPackage
     ({ mkDerivation, attoparsec, base, bifunctors, bimap, bv-sized
      , bytestring, config-value, containers, contravariant
@@ -281947,8 +285643,8 @@ self: {
      }:
      mkDerivation {
        pname = "witch";
-       version = "0.3.3.0";
-       sha256 = "0wckjjy7yxq899f515xhwl2izqmrr9zck0kjlgz6qfa1fsl6lbvx";
+       version = "0.3.4.0";
+       sha256 = "0ykdd47kfan9zr656l6q3cmp3npxq44ykjci2q51bphlawiwh496";
        libraryHaskellDepends = [
          base bytestring containers template-haskell text time
        ];
@@ -281957,6 +285653,7 @@ self: {
        ];
        description = "Convert values from one type into another";
        license = lib.licenses.isc;
+       maintainers = with lib.maintainers; [ maralorn ];
      }) {};
 
   "with-index" = callPackage
@@ -282157,8 +285854,8 @@ self: {
      }:
      mkDerivation {
        pname = "wkt-geom";
-       version = "0.0.11";
-       sha256 = "19mcfs9php03g3kb7pgfxcpilvmq5bxbyfkx59mk41nx6f0jfl0d";
+       version = "0.0.12";
+       sha256 = "118wl1g1p4cqbqil0swr5n0czwd5wi2qqngjwdggrhkspzmqbqd1";
        libraryHaskellDepends = [
          base base16-bytestring binary bytestring containers geojson
          scientific trifecta utf8-string vector
@@ -282477,6 +286174,22 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "word16" = callPackage
+    ({ mkDerivation, base, bytestring, criterion, hspec, hspec-discover
+     , template-haskell, text
+     }:
+     mkDerivation {
+       pname = "word16";
+       version = "0.1.0.0";
+       sha256 = "0z2nabnh7b42bl7hqy2iw68a1gxay26pgsid7m4hs8s2d7cghndx";
+       libraryHaskellDepends = [ base bytestring template-haskell text ];
+       testHaskellDepends = [ base hspec ];
+       testToolDepends = [ hspec-discover ];
+       benchmarkHaskellDepends = [ base bytestring criterion ];
+       description = "Word16 library";
+       license = lib.licenses.mit;
+     }) {};
+
   "word24" = callPackage
     ({ mkDerivation, base, criterion, deepseq, QuickCheck
      , test-framework, test-framework-quickcheck2
@@ -283369,6 +287082,7 @@ self: {
        ];
        description = "A simple CLI utility for interacting with a websocket";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ws-chans" = callPackage
@@ -284293,7 +288007,9 @@ self: {
        executableSystemDepends = [ xgboost ];
        description = "XGBoost library for Haskell";
        license = lib.licenses.mit;
-       platforms = [ "i686-linux" "x86_64-darwin" "x86_64-linux" ];
+       platforms = [
+         "aarch64-darwin" "i686-linux" "x86_64-darwin" "x86_64-linux"
+       ];
      }) {inherit (pkgs) xgboost;};
 
   "xhaskell-library" = callPackage
@@ -285039,6 +288755,28 @@ self: {
        broken = true;
      }) {};
 
+  "xml-parser" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, containers, hashable
+     , QuickCheck, quickcheck-instances, rerebase, tasty, tasty-hunit
+     , tasty-quickcheck, text, text-builder, transformers
+     , unordered-containers, xml-conduit
+     }:
+     mkDerivation {
+       pname = "xml-parser";
+       version = "0.1.0.1";
+       sha256 = "079ggb9bhad9px6gqbjhbir423hds389p42jc853caz7232dc6vx";
+       libraryHaskellDepends = [
+         attoparsec base bytestring containers hashable text text-builder
+         transformers unordered-containers xml-conduit
+       ];
+       testHaskellDepends = [
+         attoparsec QuickCheck quickcheck-instances rerebase tasty
+         tasty-hunit tasty-quickcheck xml-conduit
+       ];
+       description = "XML parser with informative error-reporting and simple API";
+       license = lib.licenses.mit;
+     }) {};
+
   "xml-picklers" = callPackage
     ({ mkDerivation, base, Cabal, containers, QuickCheck, tasty
      , tasty-hunit, tasty-quickcheck, text, xml-types
@@ -285474,8 +289212,8 @@ self: {
      }:
      mkDerivation {
        pname = "xmobar";
-       version = "0.38";
-       sha256 = "1h7y5bnrsxc9k92zn5pfyimpdvm9245b93rxf0ff1avssnp1i31s";
+       version = "0.39";
+       sha256 = "1k1n3ff0ikdmfq0mi8r2vpqg1iq6hsw1drvxps6k98rvvn87pws6";
        configureFlags = [
          "-fwith_alsa" "-fwith_conduit" "-fwith_datezone" "-fwith_dbus"
          "-fwith_inotify" "-fwith_iwlib" "-fwith_mpd" "-fwith_mpris"
@@ -286058,16 +289796,15 @@ self: {
      }) {};
 
   "xsd" = callPackage
-    ({ mkDerivation, attoparsec, base, directory, doctest, filepath
-     , lens, QuickCheck, quickcheck-instances, text, time
+    ({ mkDerivation, base, lens, parsec, parsers, semigroupoids, text
+     , time
      }:
      mkDerivation {
        pname = "xsd";
-       version = "0.5.0.1";
-       sha256 = "1a5i2idpkm5i70jpp2kjglpylja4b9cd0nklgvl6lm8cpjn2j0k0";
-       libraryHaskellDepends = [ attoparsec base lens text time ];
-       testHaskellDepends = [
-         base directory doctest filepath QuickCheck quickcheck-instances
+       version = "0.6.2";
+       sha256 = "0m8xb12bfcr03w5b15xx5s2wwy7kz735vwaxyk3qbny3wkq7m0fw";
+       libraryHaskellDepends = [
+         base lens parsec parsers semigroupoids text time
        ];
        description = "XML Schema data structures";
        license = lib.licenses.bsd3;
@@ -287092,6 +290829,8 @@ self: {
        pname = "yap";
        version = "0.2";
        sha256 = "14lq549jhgnf51pgy1jv31ik8qx71yl7d53w8dpq1f9mlsn1g16i";
+       revision = "1";
+       editedCabalFile = "04q5xgnqy67klf0rzmap454gq4kwy0ly7a9ggfywg1ad15dxwb5v";
        libraryHaskellDepends = [ base ];
        description = "yet another prelude - a simplistic refactoring with algebraic classes";
        license = lib.licenses.bsd3;
@@ -287100,22 +290839,24 @@ self: {
      }) {};
 
   "yapb" = callPackage
-    ({ mkDerivation, base, bytestring, directory, hashable, network
-     , process, regex-tdfa
+    ({ mkDerivation, base, bytestring, directory, hashable, hspec
+     , network, process, regex-tdfa
      }:
      mkDerivation {
        pname = "yapb";
-       version = "0.1.1";
-       sha256 = "1zbk2whfi09wzx9ql4dhkbg50s7v45y309avxljypg7z9i9pvx3x";
+       version = "0.1.3";
+       sha256 = "11p3ygnfpsh9dqlnpppi02baa5bk86pw6w6f1gawdd848qh7q9if";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base bytestring directory hashable network process regex-tdfa
+         base bytestring directory hashable hspec network process regex-tdfa
        ];
-       executableHaskellDepends = [ base regex-tdfa ];
-       testHaskellDepends = [ base ];
+       executableHaskellDepends = [ base hspec regex-tdfa ];
+       testHaskellDepends = [ base hspec process ];
        description = "Yet Another Parser Builder (YAPB)";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "yarn-lock" = callPackage
@@ -287928,24 +291669,23 @@ self: {
   "yesod-auth-lti13" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, base64-bytestring
      , bytestring, containers, cryptonite, http-client, http-conduit
-     , jose-jwt, load-env, lti13, microlens, oidc-client, random
+     , jose-jwt, load-env, lti13, microlens, oidc-client
      , safe-exceptions, text, time, warp, yesod, yesod-auth, yesod-core
      }:
      mkDerivation {
        pname = "yesod-auth-lti13";
-       version = "0.2.0.1";
-       sha256 = "1ylwg85q6j04rmq0lclyiv7by3dgwmpya5hv1dqhaw62nlfh05r6";
+       version = "0.2.0.3";
+       sha256 = "06xlpdirr7s4l9a9sxydn7vj0z9dy600yn6nmccv042awkdg5l0f";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson aeson-pretty base base64-bytestring bytestring containers
          cryptonite http-client http-conduit jose-jwt load-env lti13
-         microlens oidc-client random safe-exceptions text time warp yesod
+         microlens oidc-client safe-exceptions text time warp yesod
          yesod-auth yesod-core
        ];
        description = "A yesod-auth plugin for LTI 1.3";
        license = lib.licenses.lgpl3Only;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "yesod-auth-nopassword" = callPackage
@@ -288219,8 +291959,8 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-core";
-       version = "1.6.20.2";
-       sha256 = "184j6nslwrfxw4zmsxlii6gs1z0h350kgmbnr5y3wwk3n4dsdzyb";
+       version = "1.6.21.0";
+       sha256 = "0wmh7ip318p89lyy6k5mvxkkpq43knp41wlq9iaf3icz0ahqdmb7";
        libraryHaskellDepends = [
          aeson auto-update base blaze-html blaze-markup bytestring
          case-insensitive cereal clientsession conduit conduit-extra
@@ -288630,16 +292370,17 @@ self: {
      }) {};
 
   "yesod-gitrev" = callPackage
-    ({ mkDerivation, aeson, base, githash, template-haskell, yesod-core
+    ({ mkDerivation, aeson, base, githash, process, template-haskell
+     , yesod-core
      }:
      mkDerivation {
        pname = "yesod-gitrev";
-       version = "0.2.1";
-       sha256 = "0wd6xvq9aa11n8y4hna0a5ivqfxnbg8w2bq5lramm895xs7c8d7w";
+       version = "0.2.2";
+       sha256 = "048g2pp2pgdhhv9g9wazwh4mjavdvrmrs2z5lks42bccsfgg00h8";
        libraryHaskellDepends = [
          aeson base githash template-haskell yesod-core
        ];
-       testHaskellDepends = [ base yesod-core ];
+       testHaskellDepends = [ base process template-haskell yesod-core ];
        description = "A subsite for displaying git information";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -288844,8 +292585,8 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-page-cursor";
-       version = "2.0.0.8";
-       sha256 = "1azd2kv5b36kryz3l587mn329a46m8mp4z8knzx5va24bmhca9jy";
+       version = "2.0.0.9";
+       sha256 = "13wvivls1yqaanvkc9bpbiwx6qxa78ffgivm4qws4fyicqp628ak";
        libraryHaskellDepends = [
          aeson base bytestring containers http-link-header network-uri text
          unliftio yesod-core
@@ -290369,8 +294110,8 @@ self: {
      }:
      mkDerivation {
        pname = "yst";
-       version = "0.7.1";
-       sha256 = "0clvfkdrmw7lmrcyn8cilgf0k7438c384vwvjx256pyl46y3ym5m";
+       version = "0.7.1.2";
+       sha256 = "1wg1vvf7wna5pv2mgs66c82rjan0ig4vv6vv2vlsnxzbpkn7vvf5";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -290380,7 +294121,7 @@ self: {
          split text time unordered-containers yaml
        ];
        description = "Builds a static website from templates and data in YAML or CSV files";
-       license = "GPL";
+       license = lib.licenses.gpl2Plus;
        hydraPlatforms = lib.platforms.none;
        broken = true;
      }) {};
@@ -290839,8 +294580,8 @@ self: {
      }:
      mkDerivation {
        pname = "zeolite-lang";
-       version = "0.17.0.0";
-       sha256 = "1czw727j73n4rdlxb97jvr082xdvsqyp6n99qxq73gigag6jp0zk";
+       version = "0.18.0.1";
+       sha256 = "0sjzqn1mxqqlqg4zhkl1r3nh125i0pkpl2lplw99dgsbpdv8q71a";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -290850,7 +294591,7 @@ self: {
          unix
        ];
        executableHaskellDepends = [
-         base containers directory filepath unix
+         base containers directory filepath mtl unix
        ];
        testHaskellDepends = [ base directory filepath ];
        doHaddock = false;
@@ -291352,6 +295093,8 @@ self: {
        pname = "zip";
        version = "1.7.1";
        sha256 = "0impiv9xsirbvnpnv1lh6lhnl8a4fqylpjif7niyjjbcvyxh4zqd";
+       revision = "1";
+       editedCabalFile = "0a8wj2bkg66mhiac2m71n39ynvvcx5ar79ak35fmn1is73z7c5xk";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
diff --git a/nixpkgs/pkgs/development/haskell-modules/non-hackage-packages.nix b/nixpkgs/pkgs/development/haskell-modules/non-hackage-packages.nix
index 6bbcabbf5a5e..4aead5d18800 100644
--- a/nixpkgs/pkgs/development/haskell-modules/non-hackage-packages.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/non-hackage-packages.nix
@@ -26,14 +26,15 @@ self: super: {
 
   nix-output-monitor = self.callPackage ../../tools/nix/nix-output-monitor { };
 
-  # cabal2nix --revision <rev> https://github.com/hasura/ci-info-hs.git
-  ci-info = self.callPackage ../misc/haskell/hasura/ci-info {};
-  # cabal2nix --revision <rev> https://github.com/hasura/pg-client-hs.git
-  pg-client = self.callPackage ../misc/haskell/hasura/pg-client {};
-  # cabal2nix --revision <rev> https://github.com/hasura/graphql-parser-hs.git
-  graphql-parser = self.callPackage ../misc/haskell/hasura/graphql-parser {};
-  # cabal2nix  --subpath server --maintainer offline --no-check --revision 1.2.1 https://github.com/hasura/graphql-engine.git
-  graphql-engine = self.callPackage ../misc/haskell/hasura/graphql-engine {};
+  # hasura graphql-engine is not released to hackage.
+  # https://github.com/hasura/graphql-engine/issues/7391
+  ci-info = self.callPackage ../misc/haskell/hasura/ci-info.nix {};
+  pg-client = self.callPackage ../misc/haskell/hasura/pg-client.nix {};
+  graphql-parser = self.callPackage ../misc/haskell/hasura/graphql-parser.nix {};
+  graphql-engine = self.callPackage ../misc/haskell/hasura/graphql-engine.nix {};
+  hasura-resource-pool = self.callPackage ../misc/haskell/hasura/pool.nix {};
+  hasura-ekg-core = self.callPackage ../misc/haskell/hasura/ekg-core.nix {};
+  hasura-ekg-json = self.callPackage ../misc/haskell/hasura/ekg-json.nix {};
 
   # Unofficial fork until PRs are merged https://github.com/pcapriotti/optparse-applicative/pulls/roberth
   # cabal2nix --maintainer roberth https://github.com/hercules-ci/optparse-applicative.git > pkgs/development/misc/haskell/hercules-ci-optparse-applicative.nix
diff --git a/nixpkgs/pkgs/development/haskell-modules/package-list.nix b/nixpkgs/pkgs/development/haskell-modules/package-list.nix
new file mode 100644
index 000000000000..64f4be3a7722
--- /dev/null
+++ b/nixpkgs/pkgs/development/haskell-modules/package-list.nix
@@ -0,0 +1,19 @@
+{ runCommand, haskellPackages, lib, all-cabal-hashes, writeShellScript }:
+let
+  pkgLine = name: pkg:
+    let
+      version = pkg.version or "";
+    in
+    if version != "" then
+      ''"${name}","${version}","http://hydra.nixos.org/job/nixpkgs/trunk/haskellPackages.${name}.x86_64-linux"''
+    else "";
+  all-haskellPackages = builtins.toFile "all-haskellPackages" (lib.concatStringsSep "\n" (lib.filter (x: x != "") (lib.mapAttrsToList pkgLine haskellPackages)));
+in
+runCommand "hackage-package-list" { }
+  # This command will make a join between all packages on hackage and haskellPackages.*.
+  # It creates a valid csv file which can be uploaded to hackage.haskell.org.
+  # The call is wrapped in echo $(...) to trim trailing newline, which hackage requires.
+  ''
+    mkdir -p $out/bin
+    echo -n "$(tar -t -f ${all-cabal-hashes} | sed 's![^/]*/\([^/]*\)/.*!"\1"!' | sort -u | join -t , - ${all-haskellPackages})" > $out/nixos-hackage-packages.csv
+  ''
diff --git a/nixpkgs/pkgs/development/haskell-modules/patches/SDL-image-darwin-hsc.patch b/nixpkgs/pkgs/development/haskell-modules/patches/SDL-image-darwin-hsc.patch
new file mode 100644
index 000000000000..74d7fca853f7
--- /dev/null
+++ b/nixpkgs/pkgs/development/haskell-modules/patches/SDL-image-darwin-hsc.patch
@@ -0,0 +1,9 @@
+--- SDL-image-0.6.2.0/Graphics/UI/SDL/Image/Version.hsc.orig	2021-08-06 01:21:05.000000000 +0200
++++ SDL-image-0.6.2.0/Graphics/UI/SDL/Image/Version.hsc	2021-08-06 01:21:56.000000000 +0200
+@@ -1,4 +1,6 @@
+ #include "SDL_image.h"
++-- override SDL_main.h redefining main to SDL_main on darwin
++#define main main
+ module Graphics.UI.SDL.Image.Version
+     ( compiledFor
+     , linkedWith
diff --git a/nixpkgs/pkgs/development/haskell-modules/patches/SDL-ttf-darwin-hsc.patch b/nixpkgs/pkgs/development/haskell-modules/patches/SDL-ttf-darwin-hsc.patch
new file mode 100644
index 000000000000..3cc5c54f065b
--- /dev/null
+++ b/nixpkgs/pkgs/development/haskell-modules/patches/SDL-ttf-darwin-hsc.patch
@@ -0,0 +1,9 @@
+--- SDL-ttf-0.6.3.0/Graphics/UI/SDL/TTF/Version.hsc.orig	2021-08-06 01:31:39.000000000 +0200
++++ SDL-ttf-0.6.3.0/Graphics/UI/SDL/TTF/Version.hsc	2021-08-06 01:32:03.000000000 +0200
+@@ -1,4 +1,6 @@
+ #include "SDL_ttf.h"
++-- override SDL_main.h redefining main to SDL_main on darwin
++#define main main
+ module Graphics.UI.SDL.TTF.Version
+     ( compiledFor
+     , linkedWith
diff --git a/nixpkgs/pkgs/development/haskell-modules/patches/graphql-engine-mapkeys.patch b/nixpkgs/pkgs/development/haskell-modules/patches/graphql-engine-mapkeys.patch
new file mode 100644
index 000000000000..9035185dc2d5
--- /dev/null
+++ b/nixpkgs/pkgs/development/haskell-modules/patches/graphql-engine-mapkeys.patch
@@ -0,0 +1,33 @@
+diff --git a/server/src-lib/Data/HashMap/Strict/Extended.hs b/server/src-lib/Data/HashMap/Strict/Extended.hs
+index eaff0dfba..9902cadd0 100644
+--- a/src-lib/Data/HashMap/Strict/Extended.hs
++++ b/src-lib/Data/HashMap/Strict/Extended.hs
+@@ -7,7 +7,6 @@ module Data.HashMap.Strict.Extended
+   , groupOnNE
+   , differenceOn
+   , lpadZip
+-  , mapKeys
+   , unionsWith
+   ) where
+ 
+@@ -54,20 +53,6 @@ lpadZip left = catMaybes . flip A.alignWith left \case
+   That    b -> Just (Nothing, b)
+   These a b -> Just (Just a,  b)
+ 
+--- | @'mapKeys' f s@ is the map obtained by applying @f@ to each key of @s@.
+---
+--- The size of the result may be smaller if @f@ maps two or more distinct
+--- keys to the same new key.  In this case the value at the greatest of the
+--- original keys is retained.
+---
+--- > mapKeys (+ 1) (fromList [(5,"a"), (3,"b")])                        == fromList [(4, "b"), (6, "a")]
+--- > mapKeys (\ _ -> 1) (fromList [(1,"b"), (2,"a"), (3,"d"), (4,"c")]) == singleton 1 "c"
+--- > mapKeys (\ _ -> 3) (fromList [(1,"b"), (2,"a"), (3,"d"), (4,"c")]) == singleton 3 "c"
+---
+--- copied from https://hackage.haskell.org/package/containers-0.6.4.1/docs/src/Data.Map.Internal.html#mapKeys
+-mapKeys :: (Ord k2, Hashable k2) => (k1 -> k2) -> HashMap k1 a -> HashMap k2 a
+-mapKeys f = fromList . foldrWithKey (\k x xs -> (f k, x) : xs) []
+-
+ -- | The union of a list of maps, with a combining operation:
+ --   (@'unionsWith' f == 'Prelude.foldl' ('unionWith' f) 'empty'@).
+ --
diff --git a/nixpkgs/pkgs/development/haskell-modules/patches/hasura-884-compat.patch b/nixpkgs/pkgs/development/haskell-modules/patches/hasura-884-compat.patch
deleted file mode 100644
index bc000ba9cca2..000000000000
--- a/nixpkgs/pkgs/development/haskell-modules/patches/hasura-884-compat.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git server/src-lib/Hasura/GraphQL/Transport/WebSocket/Server.hs server/src-lib/Hasura/GraphQL/Transport/WebSocket/Server.hs
-index 6cb70cf0..0c3789cd 100644
---- server/src-lib/Hasura/GraphQL/Transport/WebSocket/Server.hs
-+++ server/src-lib/Hasura/GraphQL/Transport/WebSocket/Server.hs
-@@ -45,7 +45,7 @@ import           GHC.AssertNF
- import qualified ListT
- import qualified Network.WebSockets                   as WS
- import qualified StmContainers.Map                    as STMMap
--import qualified System.IO.Error                      as E
-+--import qualified System.IO.Error                      as E
- 
- import qualified Hasura.Logging                       as L
- 
-@@ -287,12 +287,6 @@ createServerApp (WSServer logger@(L.Logger writeLog) serverStatus) wsHandlers !p
-           let rcv = forever $ do
-                 -- Process all messages serially (important!), in a separate thread:
-                 msg <- liftIO $ 
--                  -- Re-throw "receiveloop: resource vanished (Connection reset by peer)" :
--                  --   https://github.com/yesodweb/wai/blob/master/warp/Network/Wai/Handler/Warp/Recv.hs#L112 
--                  -- as WS exception signaling cleanup below. It's not clear why exactly this gets 
--                  -- raised occasionally; I suspect an equivalent handler is missing from WS itself.
--                  -- Regardless this should be safe:
--                  handleJust (guard . E.isResourceVanishedError) (\()-> throw WS.ConnectionClosed) $
-                     WS.receiveData conn
-                 writeLog $ WSLog wsId (EMessageReceived $ TBS.fromLBS msg) Nothing
-                 _hOnMessage wsHandlers wsConn msg
diff --git a/nixpkgs/pkgs/development/haskell-modules/patches/readline-fix-for-cabal-3.patch b/nixpkgs/pkgs/development/haskell-modules/patches/readline-fix-for-cabal-3.patch
new file mode 100644
index 000000000000..95853b32a14b
--- /dev/null
+++ b/nixpkgs/pkgs/development/haskell-modules/patches/readline-fix-for-cabal-3.patch
@@ -0,0 +1,8 @@
+--- a/Setup.hs	2021-02-04 14:01:09.557970245 +0100
++++ b/Setup.hs	2021-02-04 14:07:45.047443753 +0100
+@@ -3,4 +3,4 @@
+ import           Distribution.Simple
+ 
+ main :: IO ()
+-main = defaultMainWithHooks defaultUserHooks
++main = defaultMainWithHooks autoconfUserHooks
diff --git a/nixpkgs/pkgs/development/interpreters/acl2/0001-Fix-some-paths-for-Nix-build.patch b/nixpkgs/pkgs/development/interpreters/acl2/0001-Fix-some-paths-for-Nix-build.patch
index 2b7f8b6a53b1..ac107414a92d 100644
--- a/nixpkgs/pkgs/development/interpreters/acl2/0001-Fix-some-paths-for-Nix-build.patch
+++ b/nixpkgs/pkgs/development/interpreters/acl2/0001-Fix-some-paths-for-Nix-build.patch
@@ -1,54 +1,46 @@
-From 43d23211dd7d22b5264ed06d446f89d632125da8 Mon Sep 17 00:00:00 2001
+From d0136f350b82ae845d56029db43d153c91d5e494 Mon Sep 17 00:00:00 2001
 From: Keshav Kini <keshav.kini@gmail.com>
 Date: Sat, 30 May 2020 21:27:47 -0700
-Subject: [PATCH 1/2] Fix some paths for Nix build
+Subject: [PATCH] Fix some paths for Nix build
 
 ---
  books/build/features.sh                       |  1 +
- .../ipasir/load-ipasir-sharedlib-raw.lsp      | 16 +++----
+ .../ipasir/load-ipasir-sharedlib-raw.lsp      |  6 +--
  books/projects/smtlink/config.lisp            |  2 +-
  books/projects/smtlink/examples/examples.lisp |  4 +-
  books/projects/smtlink/smtlink-config         |  2 +-
- .../cl+ssl-20181018-git/src/reload.lisp       | 48 ++-----------------
- .../shellpool-20150505-git/src/main.lisp      | 20 +-------
- 7 files changed, 15 insertions(+), 78 deletions(-)
+ .../cl+ssl-20200610-git/src/reload.lisp       | 53 +------------------
+ 6 files changed, 8 insertions(+), 60 deletions(-)
 
 diff --git a/books/build/features.sh b/books/build/features.sh
-index c8493d51a..def853f53 100755
+index d45a7aa61..27256b7cd 100755
 --- a/books/build/features.sh
 +++ b/books/build/features.sh
-@@ -84,6 +84,7 @@ fi
- 
+@@ -122,6 +122,7 @@ EOF
+ fi
  
  echo "Determining whether an ipasir shared library is installed" 1>&2
-+IPASIR_SHARED_LIBRARY=${IPASIR_SHARED_LIBRARY:-@libipasirglucose4@/lib/libipasirglucose4.so}
- if [[ $IPASIR_SHARED_LIBRARY != '' ]];
- then
-     if [[ -e $IPASIR_SHARED_LIBRARY ]];
++IPASIR_SHARED_LIBRARY=${IPASIR_SHARED_LIBRARY:-@libipasir@}
+ if check_ipasir; then
+     cat >> Makefile-features <<EOF
+ export OS_HAS_IPASIR ?= 1
 diff --git a/books/centaur/ipasir/load-ipasir-sharedlib-raw.lsp b/books/centaur/ipasir/load-ipasir-sharedlib-raw.lsp
-index c6b0b3185..5ac5c675a 100644
+index 762e4ad4c..c9802cb58 100644
 --- a/books/centaur/ipasir/load-ipasir-sharedlib-raw.lsp
 +++ b/books/centaur/ipasir/load-ipasir-sharedlib-raw.lsp
-@@ -28,13 +28,9 @@
- ;
- ; Original authors: Sol Swords <sswords@centtech.com>
+@@ -30,11 +30,7 @@
  
--(er-let* ((libname (acl2::getenv$ "IPASIR_SHARED_LIBRARY" acl2::*the-live-state*)))
--         (if libname
--             (handler-case 
--               (cffi::load-foreign-library libname)
--               (error () (er hard? 'load-ipasir-shardlib-raw
--                             "Couldn't load the specified ipasir shared library, ~s0."
--                             libname)))
--           (er hard? 'load-ipasir-shardlib-raw
--               "Couldn't load an ipasir library because the ~
--                IPASIR_SHARED_LIBRARY environment variable was unset.")))
-+(let ((libname "@libipasirglucose4@/lib/libipasirglucose4.so"))
-+  (handler-case
-+      (cffi::load-foreign-library libname)
-+    (error () (er hard? 'load-ipasir-shardlib-raw
-+                  "Couldn't load the specified ipasir shared library, ~s0."
-+                  libname))))
+ (er-let* ((libname (acl2::getenv$ "IPASIR_SHARED_LIBRARY" acl2::*the-live-state*)))
+   (handler-case
+-      (cffi::load-foreign-library
+-       (or libname
+-           (cw "WARNING: $IPASIR_SHARED_LIBRARY not specified, ~
+-                defaulting to \"libipasirglucose4.so\"")
+-           "libipasirglucose4.so"))
++      (cffi::load-foreign-library (or libname "@libipasir@"))
+     (error () (er hard? 'load-ipasir-shardlib-raw
+                   "Couldn't load ipasir shared library from ~s0."
+                   libname))))
 diff --git a/books/projects/smtlink/config.lisp b/books/projects/smtlink/config.lisp
 index c74073174..8d92355f7 100644
 --- a/books/projects/smtlink/config.lisp
@@ -63,7 +55,7 @@ index c74073174..8d92355f7 100644
  
  ;; -----------------------------------------------------------------
 diff --git a/books/projects/smtlink/examples/examples.lisp b/books/projects/smtlink/examples/examples.lisp
-index bc66e0165..24f0d639c 100644
+index 90534892f..4ab98b2f0 100644
 --- a/books/projects/smtlink/examples/examples.lisp
 +++ b/books/projects/smtlink/examples/examples.lisp
 @@ -75,7 +75,7 @@ Subgoal 2
@@ -91,25 +83,32 @@ index 0d2703545..0f58904ea 100644
 @@ -1 +1 @@
 -smt-cmd=/usr/bin/env python
 +smt-cmd=python
-diff --git a/books/quicklisp/bundle/software/cl+ssl-20181018-git/src/reload.lisp b/books/quicklisp/bundle/software/cl+ssl-20181018-git/src/reload.lisp
-index 3f6aa35d0..ac4012363 100644
---- a/books/quicklisp/bundle/software/cl+ssl-20181018-git/src/reload.lisp
-+++ b/books/quicklisp/bundle/software/cl+ssl-20181018-git/src/reload.lisp
-@@ -20,54 +20,12 @@
- (in-package :cl+ssl)
+diff --git a/books/quicklisp/bundle/software/cl+ssl-20200610-git/src/reload.lisp b/books/quicklisp/bundle/software/cl+ssl-20200610-git/src/reload.lisp
+index e5db28645..65eb818a1 100644
+--- a/books/quicklisp/bundle/software/cl+ssl-20200610-git/src/reload.lisp
++++ b/books/quicklisp/bundle/software/cl+ssl-20200610-git/src/reload.lisp
+@@ -37,59 +37,10 @@
+ ;; These are 32-bit only.
  
  (cffi:define-foreign-library libcrypto
+-  (:windows (:or #+(and windows x86-64) "libcrypto-1_1-x64.dll"
+-                 #+(and windows x86) "libcrypto-1_1.dll"
+-                 "libeay32.dll"))
 -  (:openbsd "libcrypto.so")
 -  (:darwin (:or "/opt/local/lib/libcrypto.dylib" ;; MacPorts
 -                "/sw/lib/libcrypto.dylib"        ;; Fink
 -                "/usr/local/opt/openssl/lib/libcrypto.dylib" ;; Homebrew
 -                "/usr/local/lib/libcrypto.dylib" ;; personalized install
 -                "libcrypto.dylib"                ;; default system libcrypto, which may have insufficient crypto
--                "/usr/lib/libcrypto.dylib")))
+-                "/usr/lib/libcrypto.dylib"))
+-  (:cygwin (:or "cygcrypto-1.1.dll" "cygcrypto-1.0.0.dll")))
 +  (t "@openssl@/lib/libcrypto.so"))
  
  (cffi:define-foreign-library libssl
--  (:windows (:or "libssl32.dll" "ssleay32.dll"))
+-  (:windows (:or #+(and windows x86-64) "libssl-1_1-x64.dll"
+-                 #+(and windows x86) "libssl-1_1.dll"
+-                 "libssl32.dll"
+-                 "ssleay32.dll"))
 -  ;; The default OS-X libssl seems have had insufficient crypto algos
 -  ;; (missing TLSv1_[1,2]_XXX methods,
 -  ;; see https://github.com/cl-plus-ssl/cl-plus-ssl/issues/56)
@@ -128,11 +127,13 @@ index 3f6aa35d0..ac4012363 100644
 -  ;; so we can just use just "libssl.so".
 -  ;; More info at https://github.com/cl-plus-ssl/cl-plus-ssl/pull/2.
 -  (:openbsd "libssl.so")
--  ((and :unix (not :cygwin)) (:or "libssl.so.1.0.2m"
+-  ((and :unix (not :cygwin)) (:or "libssl.so.1.1"
+-                                  "libssl.so.1.0.2m"
 -                                  "libssl.so.1.0.2k"
 -                                  "libssl.so.1.0.2"
 -                                  "libssl.so.1.0.1l"
 -                                  "libssl.so.1.0.1j"
+-                                  "libssl.so.1.0.1f"
 -                                  "libssl.so.1.0.1e"
 -                                  "libssl.so.1.0.1"
 -                                  "libssl.so.1.0.0q"
@@ -142,49 +143,12 @@ index 3f6aa35d0..ac4012363 100644
 -                                  "libssl.so.10"
 -                                  "libssl.so.4"
 -                                  "libssl.so"))
--  (:cygwin "cygssl-1.0.0.dll")
+-  (:cygwin (:or "cygssl-1.1.dll" "cygssl-1.0.0.dll"))
 -  (t (:default "libssl3")))
--
--(cffi:define-foreign-library libeay32
--  (:windows "libeay32.dll"))
 +  (t "@openssl@/lib/libssl.so"))
  
-+(cffi:define-foreign-library libeay32)
- 
  (unless (member :cl+ssl-foreign-libs-already-loaded
                  *features*)
-diff --git a/books/quicklisp/bundle/software/shellpool-20150505-git/src/main.lisp b/books/quicklisp/bundle/software/shellpool-20150505-git/src/main.lisp
-index cda8dc94c..11035ea09 100644
---- a/books/quicklisp/bundle/software/shellpool-20150505-git/src/main.lisp
-+++ b/books/quicklisp/bundle/software/shellpool-20150505-git/src/main.lisp
-@@ -106,26 +106,8 @@
- ; Glue
- 
- 
--#-sbcl
- (defun find-bash ()
--  #+windows "bash.exe"
--  #-windows "bash")
--
--#+sbcl
--;; SBCL (on Linux, at least) won't successfully run "bash" all by itself.  So,
--;; on SBCL, try to find a likely bash.  BOZO this probably isn't great.  It
--;; would be better to search the user's PATH for which bash to use.
--(let ((found-bash))
--  (defun find-bash ()
--    (or found-bash
--        (let ((paths-to-try '("/bin/bash"
--                              "/usr/bin/bash"
--                              "/usr/local/bin/bash")))
--          (loop for path in paths-to-try do
--                (when (cl-fad::file-exists-p path)
--                  (setq found-bash path)
--                  (return-from find-bash path)))
--          (error "Bash not found among ~s" paths-to-try)))))
-+  "@bash@/bin/bash")
- 
- #+(or allegro lispworks)
- (defstruct bashprocess
 -- 
-2.25.4
+2.31.1
 
diff --git a/nixpkgs/pkgs/development/interpreters/acl2/0002-Restrict-RDTSC-to-x86.patch b/nixpkgs/pkgs/development/interpreters/acl2/0002-Restrict-RDTSC-to-x86.patch
deleted file mode 100644
index 74af5adef649..000000000000
--- a/nixpkgs/pkgs/development/interpreters/acl2/0002-Restrict-RDTSC-to-x86.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From b0ccf68f277d0bd5e6fc9d41742f31ddda99a955 Mon Sep 17 00:00:00 2001
-From: Keshav Kini <keshav.kini@gmail.com>
-Date: Mon, 1 Jun 2020 21:42:24 -0700
-Subject: [PATCH 2/2] Restrict RDTSC to x86
-
-Backported from [1].  According to Curtis Dunham, this should fix the ACL2 base
-system build on ARM.
-
-[1]: https://github.com/acl2/acl2/commit/292fa2ccc6217e6307d7bb8373eb90f5d258ea5e
----
- memoize-raw.lisp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/memoize-raw.lisp b/memoize-raw.lisp
-index 205e78653..478198dee 100644
---- a/memoize-raw.lisp
-+++ b/memoize-raw.lisp
-@@ -189,7 +189,7 @@
- ;; RDTSC nonsense, but we still can report mysterious results since we have no
- ;; clue about which core we are running on in CCL (or, presumably, SBCL).
- 
--#+(or ccl sbcl)
-+#+(and (or ccl sbcl) x86-64)
- (eval-when
-  (:execute :compile-toplevel :load-toplevel)
-  (when #+ccl (fboundp 'ccl::rdtsc)
--- 
-2.25.4
-
diff --git a/nixpkgs/pkgs/development/interpreters/acl2/default.nix b/nixpkgs/pkgs/development/interpreters/acl2/default.nix
index c089916158bd..9436cf58e427 100644
--- a/nixpkgs/pkgs/development/interpreters/acl2/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/acl2/default.nix
@@ -1,50 +1,53 @@
-{ lib, stdenv, callPackage, fetchFromGitHub, writeShellScriptBin, substituteAll
+{ lib, stdenv, callPackage, fetchFromGitHub, runCommandLocal, makeWrapper, substituteAll
 , sbcl, bash, which, perl, nettools
-, openssl, glucose, minisat, abc-verifier, z3, python2
+, openssl, glucose, minisat, abc-verifier, z3, python
 , certifyBooks ? true
 } @ args:
 
 let
-  # Disable immobile space so we don't run out of memory on large books; see
+  # Disable immobile space so we don't run out of memory on large books, and
+  # supply 2GB of dynamic space to avoid exhausting the heap while building the
+  # ACL2 system itself; see
   # https://www.cs.utexas.edu/users/moore/acl2/current/HTML/installation/requirements.html#Obtaining-SBCL
-  sbcl = args.sbcl.override { disableImmobileSpace = true; };
-
-  # Wrap to add `-model` argument because some of the books in 8.3 need this.
-  # Fixed upstream (https://github.com/acl2/acl2/commit/0359538a), so this can
-  # be removed in ACL2 8.4.
-  glucose = writeShellScriptBin "glucose" ''exec ${args.glucose}/bin/glucose -model "$@"'';
+  sbcl' = args.sbcl.override { disableImmobileSpace = true; };
+  sbcl = runCommandLocal args.sbcl.name { buildInputs = [ makeWrapper ]; } ''
+    makeWrapper ${sbcl'}/bin/sbcl $out/bin/sbcl \
+      --add-flags "--dynamic-space-size 2000"
+  '';
 
 in stdenv.mkDerivation rec {
   pname = "acl2";
-  version = "8.3";
+  version = "8.4";
 
   src = fetchFromGitHub {
     owner = "acl2-devel";
     repo = "acl2-devel";
     rev = version;
-    sha256 = "0c0wimaf16nrr3d6cxq6p7nr7rxffvpmn66hkpwc1m6zpcipf0y5";
+    sha256 = "16rr9zqmd3y1sd6zxff2f9gdd84l99pr7mdp1sjwmh427h661c68";
   };
 
-  libipasirglucose4 = callPackage ./libipasirglucose4 { };
+  # You can swap this out with any other IPASIR implementation at
+  # build time by using overrideAttrs (make sure the derivation you
+  # use has a "libname" attribute so we can plug it into the patch
+  # below).  Or, you can override it at runtime by setting the
+  # $IPASIR_SHARED_LIBRARY environment variable.
+  libipasir = callPackage ./libipasirglucose4 { };
 
-  patches = [
-    (substituteAll {
-      src = ./0001-Fix-some-paths-for-Nix-build.patch;
-      inherit bash libipasirglucose4;
-      openssl = openssl.out;
-    })
-    ./0002-Restrict-RDTSC-to-x86.patch
-  ];
+  patches = [(substituteAll {
+    src = ./0001-Fix-some-paths-for-Nix-build.patch;
+    libipasir = "${libipasir}/lib/${libipasir.libname}";
+    openssl = openssl.out;
+  })];
 
   buildInputs = [
     # ACL2 itself only needs a Common Lisp compiler/interpreter:
     sbcl
   ] ++ lib.optionals certifyBooks [
     # To build community books, we need Perl and a couple of utilities:
-    which perl nettools
+    which perl nettools makeWrapper
     # Some of the books require one or more of these external tools:
-    openssl.out glucose minisat abc-verifier libipasirglucose4
-    z3 (python2.withPackages (ps: [ ps.z3 ]))
+    openssl.out glucose minisat abc-verifier libipasir
+    z3 (python.withPackages (ps: [ ps.z3 ]))
   ];
 
   # NOTE: Parallel building can be memory-intensive depending on the number of
@@ -71,7 +74,7 @@ in stdenv.mkDerivation rec {
   '';
 
   preBuild = "mkdir -p $HOME";
-  makeFlags="LISP=${sbcl}/bin/sbcl";
+  makeFlags = "LISP=${sbcl}/bin/sbcl ACL2_MAKE_LOG=NONE";
 
   doCheck = true;
   checkTarget = "mini-proveall";
@@ -90,8 +93,13 @@ in stdenv.mkDerivation rec {
     # Certify the community books
     pushd $out/share/${pname}/books
     makeFlags="ACL2=$out/share/${pname}/saved_acl2"
-    buildFlags="everything"
+    buildFlags="all"
     buildPhase
+
+    # Clean up some stuff to save space
+    find -name '*@useless-runes.lsp' -execdir rm {} +  # saves ~1GB of space
+    find -name '*.cert.out' -execdir gzip {} +         # saves ~400MB of space
+
     popd
   '';
 
diff --git a/nixpkgs/pkgs/development/interpreters/acl2/libipasirglucose4/default.nix b/nixpkgs/pkgs/development/interpreters/acl2/libipasirglucose4/default.nix
index 5c10c176c14a..dc8308267f40 100644
--- a/nixpkgs/pkgs/development/interpreters/acl2/libipasirglucose4/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/acl2/libipasirglucose4/default.nix
@@ -1,17 +1,14 @@
 { lib, stdenv, fetchurl, zlib, unzip }:
 
-let
-
-  cxx = "${stdenv.cc.targetPrefix}c++";
-  libName = "libipasirglucose4" + stdenv.targetPlatform.extensions.sharedLibrary;
-
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "libipasirglucose4";
   # This library has no version number AFAICT (beyond generally being based on
   # Glucose 4.x), but it was submitted to the 2017 SAT competition so let's use
   # that as the version number, I guess.
   version = "2017";
 
+  libname = pname + stdenv.targetPlatform.extensions.sharedLibrary;
+
   src = fetchurl {
     url = "https://baldur.iti.kit.edu/sat-competition-2017/solvers/incremental/glucose-ipasir.zip";
     sha256 = "0xchgady9vwdh8frmc8swz6va53igp2wj1y9sshd0g7549n87wdj";
@@ -23,16 +20,16 @@ in stdenv.mkDerivation rec {
   sourceRoot = "sat/glucose4";
   patches = [ ./0001-Support-shared-library-build.patch ];
 
-  makeFlags = [ "CXX=${cxx}" ];
+  makeFlags = [ "CXX=${stdenv.cc.targetPrefix}c++" ];
 
   postBuild = ''
-    ${cxx} -shared -o ${libName} \
-        ${if stdenv.cc.isClang then "" else "-Wl,-soname,${libName}"} \
+    $CXX -shared -o ${libname} \
+        ${if stdenv.cc.isClang then "" else "-Wl,-soname,${libname}"} \
         ipasirglucoseglue.o libipasirglucose4.a
   '';
 
   installPhase = ''
-    install -D ${libName} $out/lib/${libName}
+    install -D ${libname} $out/lib/${libname}
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/interpreters/bic/default.nix b/nixpkgs/pkgs/development/interpreters/bic/default.nix
new file mode 100644
index 000000000000..c27270f7a95e
--- /dev/null
+++ b/nixpkgs/pkgs/development/interpreters/bic/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, readline
+, autoreconfHook
+, autoconf-archive
+, gmp
+, flex
+, bison
+}:
+
+stdenv.mkDerivation rec {
+  pname = "bic";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "hexagonal-sun";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1ws46h1ngzk14dspmsggj9535yl04v9wh8v4gb234n34rdkdsyyw";
+  };
+
+  buildInputs = [ readline gmp ];
+  nativeBuildInputs = [
+    autoreconfHook
+    autoconf-archive
+    bison
+    flex
+  ];
+
+  meta = with lib; {
+    description = "A C interpreter and API explorer";
+    longDescription = ''
+      bic This a project that allows developers to explore and test C-APIs using a
+      read eval print loop, also known as a REPL.
+    '';
+    license = with licenses; [ gpl2Plus ];
+    homepage = "https://github.com/hexagonal-sun/bic";
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ hexagonal-sun ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/interpreters/ceptre/default.nix b/nixpkgs/pkgs/development/interpreters/ceptre/default.nix
index c3fa6a645e07..56d37dd4e947 100644
--- a/nixpkgs/pkgs/development/interpreters/ceptre/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/ceptre/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchgit, mlton }:
 
 stdenv.mkDerivation {
-  name = "ceptre-2016-11-27";
+  pname = "ceptre";
+  version = "unstable-2016-11-27";
 
   src = fetchgit {
     url = "https://github.com/chrisamaphone/interactive-lp";
diff --git a/nixpkgs/pkgs/development/interpreters/cling/default.nix b/nixpkgs/pkgs/development/interpreters/cling/default.nix
index 73ed5b523dde..968817cf067a 100644
--- a/nixpkgs/pkgs/development/interpreters/cling/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/cling/default.nix
@@ -7,7 +7,6 @@
 , fetchgit
 , makeWrapper
 , runCommand
-, runCommandNoCC
 , llvmPackages_5
 , glibc
 , ncurses
@@ -85,7 +84,7 @@ let
   # https://github.com/root-project/cling/blob/v0.7/lib/Interpreter/CIFactory.cpp#L107:L111
   # Note: it would be nice to just put the compiler in Cling's PATH and let it do this by itself, but
   # unfortunately passing -nostdinc/-nostdinc++ disables Cling's autodetection logic.
-  compilerIncludeFlags = runCommandNoCC "compiler-include-flags.txt" {} ''
+  compilerIncludeFlags = runCommand "compiler-include-flags.txt" {} ''
     export LC_ALL=C
     ${stdenv.cc}/bin/c++ -xc++ -E -v /dev/null 2>&1 | sed -n -e '/^.include/,''${' -e '/^ \/.*++/p' -e '}' > tmp
     sed -e 's/^/-isystem /' -i tmp
diff --git a/nixpkgs/pkgs/development/interpreters/clojure/babashka.nix b/nixpkgs/pkgs/development/interpreters/clojure/babashka.nix
index 58ed4c689b14..e8a1bfeb1909 100644
--- a/nixpkgs/pkgs/development/interpreters/clojure/babashka.nix
+++ b/nixpkgs/pkgs/development/interpreters/clojure/babashka.nix
@@ -2,17 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "babashka";
-  version = "0.4.5";
-
-  reflectionJson = fetchurl {
-    name = "reflection.json";
-    url = "https://github.com/babashka/${pname}/releases/download/v${version}/${pname}-${version}-reflection.json";
-    sha256 = "sha256-TVFdGFXclJE9GpolKzTGSmeianBdb2Yp3kbNUWlddPw=";
-  };
+  version = "0.6.0";
 
   src = fetchurl {
     url = "https://github.com/babashka/${pname}/releases/download/v${version}/${pname}-${version}-standalone.jar";
-    sha256 = "sha256-SnKs30c6VTp1yzW2Glooi6ghSUIZgF6nsob1hDljTA8=";
+    sha256 = "sha256-W7zcTs0nTw1ed04ev7WKAMyBd/2n4Mezo5kh0sHFyyc=";
   };
 
   dontUnpack = true;
@@ -27,41 +21,18 @@ stdenv.mkDerivation rec {
   buildPhase = ''
     runHook preBuild
 
-    # https://github.com/babashka/babashka/blob/77daea7362d8e2562c89c315b1fbcefde6fa56a5/script/compile
+    # https://github.com/babashka/babashka/blob/v0.6.0/script/compile#L41-L52
     args=("-jar" "$BABASHKA_JAR"
           "-H:Name=$BABASHKA_BINARY"
-          "${lib.optionalString stdenv.isDarwin ''-H:-CheckToolchain''}"
           "-H:+ReportExceptionStackTraces"
-          "-J-Dclojure.spec.skip-macros=true"
-          "-J-Dclojure.compiler.direct-linking=true"
-          "-H:IncludeResources=BABASHKA_VERSION"
-          "-H:IncludeResources=SCI_VERSION"
-          "-H:ReflectionConfigurationFiles=${reflectionJson}"
-          "--initialize-at-build-time"
           # "-H:+PrintAnalysisCallTree"
           # "-H:+DashboardAll"
           # "-H:DashboardDump=reports/dump"
           # "-H:+DashboardPretty"
           # "-H:+DashboardJson"
-          "-H:Log=registerResource:"
-          "-H:EnableURLProtocols=http,https,jar"
-          "--enable-all-security-services"
-          "-H:+JNI"
           "--verbose"
           "--no-fallback"
-          "--no-server"
-          "--report-unsupported-elements-at-runtime"
-          "--initialize-at-run-time=org.postgresql.sspi.SSPIClient"
           "--native-image-info"
-          "--verbose"
-          "-H:ServiceLoaderFeatureExcludeServices=javax.sound.sampled.spi.AudioFileReader"
-          "-H:ServiceLoaderFeatureExcludeServices=javax.sound.midi.spi.MidiFileReader"
-          "-H:ServiceLoaderFeatureExcludeServices=javax.sound.sampled.spi.MixerProvider"
-          "-H:ServiceLoaderFeatureExcludeServices=javax.sound.sampled.spi.FormatConversionProvider"
-          "-H:ServiceLoaderFeatureExcludeServices=javax.sound.sampled.spi.AudioFileWriter"
-          "-H:ServiceLoaderFeatureExcludeServices=javax.sound.midi.spi.MidiDeviceProvider"
-          "-H:ServiceLoaderFeatureExcludeServices=javax.sound.midi.spi.SoundbankReader"
-          "-H:ServiceLoaderFeatureExcludeServices=javax.sound.midi.spi.MidiFileWriter"
           "$BABASHKA_XMX")
 
      native-image ''${args[@]}
@@ -111,6 +82,7 @@ stdenv.mkDerivation rec {
     - Library support via popular tools like the clojure CLI
     '';
     homepage = "https://github.com/babashka/babashka";
+    changelog = "https://github.com/babashka/babashka/blob/v${version}/CHANGELOG.md";
     license = licenses.epl10;
     platforms = graalvm11-ce.meta.platforms;
     maintainers = with maintainers; [
diff --git a/nixpkgs/pkgs/development/interpreters/clojure/default.nix b/nixpkgs/pkgs/development/interpreters/clojure/default.nix
index 9ae94f0a2487..659f9b87e619 100644
--- a/nixpkgs/pkgs/development/interpreters/clojure/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/clojure/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "clojure";
-  version = "1.10.3.855";
+  version = "1.10.3.943";
 
   src = fetchurl {
     # https://clojure.org/releases/tools
     url = "https://download.clojure.org/install/clojure-tools-${version}.tar.gz";
-    sha256 = "sha256-y2PuOBRq5kZlTpPV8NwkWhspQKlNxwjl+k/Drwixk4Q=";
+    sha256 = "sha256-w3DRvZsie22uoJMrNQTxN5hW0pIFjH5zAw5Z41I1M/s=";
   };
 
   nativeBuildInputs = [
@@ -29,6 +29,7 @@ stdenv.mkDerivation rec {
       echo "Installing libs into $clojure_lib_dir"
       install -Dm644 deps.edn "$clojure_lib_dir/deps.edn"
       install -Dm644 example-deps.edn "$clojure_lib_dir/example-deps.edn"
+      install -Dm644 tools.edn "$clojure_lib_dir/tools.edn"
       install -Dm644 exec.jar "$clojure_lib_dir/libexec/exec.jar"
       install -Dm644 clojure-tools-${version}.jar "$clojure_lib_dir/libexec/clojure-tools-${version}.jar"
 
@@ -48,7 +49,7 @@ stdenv.mkDerivation rec {
 
   doInstallCheck = true;
   installCheckPhase = ''
-    CLJ_CONFIG=$out CLJ_CACHE=$out/libexec $out/bin/clojure \
+    CLJ_CONFIG=$TMPDIR CLJ_CACHE=$TMPDIR/.clj_cache $out/bin/clojure \
       -Spath \
       -Sverbose \
       -Scp $out/libexec/clojure-tools-${version}.jar
diff --git a/nixpkgs/pkgs/development/interpreters/elixir/1.12.nix b/nixpkgs/pkgs/development/interpreters/elixir/1.12.nix
index cd5246d989d1..4b631098fe19 100644
--- a/nixpkgs/pkgs/development/interpreters/elixir/1.12.nix
+++ b/nixpkgs/pkgs/development/interpreters/elixir/1.12.nix
@@ -3,7 +3,7 @@
 # How to obtain `sha256`:
 # nix-prefetch-url --unpack https://github.com/elixir-lang/elixir/archive/v${version}.tar.gz
 mkDerivation {
-  version = "1.12.1";
-  sha256 = "sha256-gRgGXb4btMriQwT/pRIYOJt+NM7rtYBd+A3SKfowC7k=";
+  version = "1.12.2";
+  sha256 = "sha256-PQkvBaQQljATt+LA3hWJOFyQessqqR1t6o1J2LHllec=";
   minimumOTPVersion = "22";
 }
diff --git a/nixpkgs/pkgs/development/interpreters/erlang/R23.nix b/nixpkgs/pkgs/development/interpreters/erlang/R23.nix
index 9e344adc15a3..3d0a2b160065 100644
--- a/nixpkgs/pkgs/development/interpreters/erlang/R23.nix
+++ b/nixpkgs/pkgs/development/interpreters/erlang/R23.nix
@@ -3,6 +3,6 @@
 # How to obtain `sha256`:
 # nix-prefetch-url --unpack https://github.com/erlang/otp/archive/OTP-${version}.tar.gz
 mkDerivation {
-  version = "23.3.4.4";
-  sha256 = "dnoSGfBUZrgcnNQNAoqmVOxK/NQlt1DC187sxg7mPq8=";
+  version = "23.3.4.5";
+  sha256 = "2u/w8IPKHEZ+rZ3T7Wn9+Ggxe6JY8cHz8q/N0RjbrNU=";
 }
diff --git a/nixpkgs/pkgs/development/interpreters/erlang/R24.nix b/nixpkgs/pkgs/development/interpreters/erlang/R24.nix
index 7f4b49c5c322..162af7c02b9b 100644
--- a/nixpkgs/pkgs/development/interpreters/erlang/R24.nix
+++ b/nixpkgs/pkgs/development/interpreters/erlang/R24.nix
@@ -3,6 +3,6 @@
 # How to obtain `sha256`:
 # nix-prefetch-url --unpack https://github.com/erlang/otp/archive/OTP-${version}.tar.gz
 mkDerivation {
-  version = "24.0.3";
-  sha256 = "KVMISrWNBkk+w37gB4M5TQkgm4odZ+GqLvKN4stzOUI=";
+  version = "24.0.6";
+  sha256 = "0z01hkzf2y6lz20s2vkn4q874lb6n6j00jkbgk4gg60rhrmq904z";
 }
diff --git a/nixpkgs/pkgs/development/interpreters/evcxr/default.nix b/nixpkgs/pkgs/development/interpreters/evcxr/default.nix
index 7dabff3d2e5e..81200a94aae9 100644
--- a/nixpkgs/pkgs/development/interpreters/evcxr/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/evcxr/default.nix
@@ -3,16 +3,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "evcxr";
-  version = "0.10.0";
+  version = "0.11.0";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "evcxr";
     rev = "v${version}";
-    sha256 = "sha256-EPxWLPw+V5eIm+eL8m8Xw14adgshthJSDRyWohsJH88=";
+    sha256 = "sha256-JziLEsY6kF5UeDt17q/HDrTlNtHj7DWy1tTq3s2eZHE=";
   };
 
-  cargoSha256 = "sha256-5jGrv0YRVMo2X9p/WPgjYV3z193hl2+NiFTZr3v0Iik=";
+  cargoSha256 = "sha256-I164eXgc/yiKKskloh6FGYD3bLCLWXaM6uWa01PRDXs=";
 
   RUST_SRC_PATH = "${rustPlatform.rustLibSrc}";
 
diff --git a/nixpkgs/pkgs/development/interpreters/io/default.nix b/nixpkgs/pkgs/development/interpreters/io/default.nix
index 48462a333bcb..9f6ecb2516ed 100644
--- a/nixpkgs/pkgs/development/interpreters/io/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/io/default.nix
@@ -59,7 +59,7 @@ stdenv.mkDerivation {
 
   meta = with lib; {
     description = "Io programming language";
-    homepage = "http://iolanguage.org/";
+    homepage = "https://iolanguage.org/";
     license = licenses.bsd3;
 
     maintainers = with maintainers; [
diff --git a/nixpkgs/pkgs/development/interpreters/joker/default.nix b/nixpkgs/pkgs/development/interpreters/joker/default.nix
index 8a2130050bfa..652e828eb5f4 100644
--- a/nixpkgs/pkgs/development/interpreters/joker/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/joker/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "joker";
-  version = "0.17.1";
+  version = "0.17.2";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "candid82";
     repo = "joker";
-    sha256 = "sha256-3OimYXcQ3KPav44sClbC60220/YK4Jhq+l5UfRFYoJI=";
+    sha256 = "sha256-rboyRancRTyrSY+13Blrz7OsIzclDS4X4hkHGD6cpyk=";
   };
 
   vendorSha256 = "sha256-AYoespfzFLP/jIIxbw5K653wc7sSfLY8K7di8GZ64wA=";
diff --git a/nixpkgs/pkgs/development/interpreters/lua-5/build-lua-package.nix b/nixpkgs/pkgs/development/interpreters/lua-5/build-lua-package.nix
index 74f5b2b7b395..5639b2a4bb90 100644
--- a/nixpkgs/pkgs/development/interpreters/lua-5/build-lua-package.nix
+++ b/nixpkgs/pkgs/development/interpreters/lua-5/build-lua-package.nix
@@ -7,8 +7,7 @@
 }:
 
 {
-name ? "${attrs.pname}-${attrs.version}"
-
+pname
 , version
 
 # by default prefix `name` e.g. "lua5.2-${name}"
@@ -60,7 +59,9 @@ name ? "${attrs.pname}-${attrs.version}"
 # The two above arguments have access to builder variables -- e.g. to $out
 
 # relative to srcRoot, path to the rockspec to use when using rocks
-, rockspecFilename ?  "../*.rockspec"
+, rockspecFilename ? null
+# relative to srcRoot, path to folder that contains the expected rockspec
+, rockspecDir ?  "."
 
 # must be set for packages that don't have a rock
 , knownRockspec ? null
@@ -71,6 +72,9 @@ name ? "${attrs.pname}-${attrs.version}"
 # Keep extra attributes from `attrs`, e.g., `patchPhase', etc.
 
 let
+  generatedRockspecFilename = "${rockspecDir}/${pname}-${version}.rockspec";
+
+
   # TODO fix warnings "Couldn't load rockspec for ..." during manifest
   # construction -- from initial investigation, appears it will require
   # upstream luarocks changes to fix cleanly (during manifest construction,
@@ -144,7 +148,7 @@ in
 toLuaModule ( lua.stdenv.mkDerivation (
 builtins.removeAttrs attrs ["disabled" "checkInputs" "externalDeps" "extraVariables"] // {
 
-  name = namePrefix + name;
+  name = namePrefix + pname + "-" + version;
 
   buildInputs = [ wrapLua lua.pkgs.luarocks ]
     ++ buildInputs
@@ -159,20 +163,8 @@ builtins.removeAttrs attrs ["disabled" "checkInputs" "externalDeps" "extraVariab
   # @-patterns do not capture formal argument default values, so we need to
   # explicitly inherit this for it to be available as a shell variable in the
   # builder
-  inherit rockspecFilename;
   inherit rocksSubdir;
 
-  # enabled only for src.rock
-  setSourceRoot= let
-    name_only= lib.getName name;
-  in
-    lib.optionalString (knownRockspec == null) ''
-    # format is rockspec_basename/source_basename
-    # rockspec can set it via spec.source.dir
-    folder=$(find . -mindepth 2 -maxdepth 2 -type d -path '*${name_only}*/*'|head -n1)
-    sourceRoot="$folder"
-  '';
-
   configurePhase = ''
     runHook preConfigure
 
@@ -181,6 +173,9 @@ builtins.removeAttrs attrs ["disabled" "checkInputs" "externalDeps" "extraVariab
     EOF
     export LUAROCKS_CONFIG="$PWD/${luarocks_config}";
   ''
+  + lib.optionalString (rockspecFilename == null) ''
+    rockspecFilename="${generatedRockspecFilename}"
+  ''
   + lib.optionalString (knownRockspec != null) ''
 
     # prevents the following type of error:
@@ -192,6 +187,7 @@ builtins.removeAttrs attrs ["disabled" "checkInputs" "externalDeps" "extraVariab
     runHook postConfigure
   '';
 
+  # TODO could be moved to configurePhase
   buildPhase = ''
     runHook preBuild
 
diff --git a/nixpkgs/pkgs/development/interpreters/lua-5/default.nix b/nixpkgs/pkgs/development/interpreters/lua-5/default.nix
index 3e36f77dab43..f2b2961c4c77 100644
--- a/nixpkgs/pkgs/development/interpreters/lua-5/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/lua-5/default.nix
@@ -54,4 +54,9 @@ rec {
     inherit callPackage;
   };
 
+  luajit_openresty = import ../luajit/openresty.nix {
+    self = luajit_openresty;
+    inherit callPackage;
+  };
+
 }
diff --git a/nixpkgs/pkgs/development/interpreters/luajit/2.0.nix b/nixpkgs/pkgs/development/interpreters/luajit/2.0.nix
index 153b11aaa5fc..ceb796f0433e 100644
--- a/nixpkgs/pkgs/development/interpreters/luajit/2.0.nix
+++ b/nixpkgs/pkgs/development/interpreters/luajit/2.0.nix
@@ -1,6 +1,8 @@
 { self, callPackage, lib }:
 callPackage ./default.nix {
   inherit self;
+  owner = "LuaJIT";
+  repo = "LuaJIT";
   version = "2.0.5-2021-06-08";
   rev = "98f95f69180d48ce49289d6428b46a9ccdd67a46";
   isStable = true;
diff --git a/nixpkgs/pkgs/development/interpreters/luajit/2.1.nix b/nixpkgs/pkgs/development/interpreters/luajit/2.1.nix
index d11514c07c62..87976a45dfe1 100644
--- a/nixpkgs/pkgs/development/interpreters/luajit/2.1.nix
+++ b/nixpkgs/pkgs/development/interpreters/luajit/2.1.nix
@@ -1,6 +1,8 @@
 { self, callPackage }:
 callPackage ./default.nix {
   inherit self;
+  owner = "LuaJIT";
+  repo = "LuaJIT";
   version = "2.1.0-2021-06-25";
   rev = "e957737650e060d5bf1c2909b741cc3dffe073ac";
   isStable = false;
diff --git a/nixpkgs/pkgs/development/interpreters/luajit/default.nix b/nixpkgs/pkgs/development/interpreters/luajit/default.nix
index 860642b0fd2f..728161598282 100644
--- a/nixpkgs/pkgs/development/interpreters/luajit/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/luajit/default.nix
@@ -1,6 +1,8 @@
 { lib, stdenv, fetchFromGitHub, buildPackages
 , name ? "luajit-${version}"
 , isStable
+, owner
+, repo
 , sha256
 , rev
 , version
@@ -41,9 +43,7 @@ in
 stdenv.mkDerivation rec {
   inherit name version;
   src = fetchFromGitHub {
-    owner  = "LuaJIT";
-    repo   = "LuaJIT";
-    inherit sha256 rev;
+    inherit owner repo sha256 rev;
   };
 
   luaversion = "5.1";
diff --git a/nixpkgs/pkgs/development/interpreters/luajit/openresty.nix b/nixpkgs/pkgs/development/interpreters/luajit/openresty.nix
new file mode 100644
index 000000000000..78e06f46f1d0
--- /dev/null
+++ b/nixpkgs/pkgs/development/interpreters/luajit/openresty.nix
@@ -0,0 +1,10 @@
+{ self, callPackage }:
+callPackage ./default.nix rec {
+  inherit self;
+  owner = "openresty";
+  repo = "luajit2";
+  version = "2.1-20210510";
+  rev = "v${version}";
+  isStable = true;
+  sha256 = "1h21w5axwka2j9jb86yc69qrprcavccyr2qihiw4b76r1zxzalvd";
+}
diff --git a/nixpkgs/pkgs/development/interpreters/octave/default.nix b/nixpkgs/pkgs/development/interpreters/octave/default.nix
index 0a87c1ddcf07..e8228d23b0c9 100644
--- a/nixpkgs/pkgs/development/interpreters/octave/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/octave/default.nix
@@ -184,6 +184,14 @@ let
 
     enableParallelBuilding = true;
 
+    # Fix linker error on Darwin (see https://trac.macports.org/ticket/61865)
+    NIX_LDFLAGS = lib.optionalString stdenv.isDarwin "-lobjc";
+
+    # Avoid Qt 5.12 problem on Big Sur: https://bugreports.qt.io/browse/QTBUG-87014
+    qtWrapperArgs = lib.optionals stdenv.isDarwin [
+      "--set QT_MAC_WANTS_LAYER 1"
+    ];
+
     # See https://savannah.gnu.org/bugs/?50339
     F77_INTEGER_8_FLAG = if use64BitIdx then "-fdefault-integer-8" else "";
 
diff --git a/nixpkgs/pkgs/development/interpreters/perl/default.nix b/nixpkgs/pkgs/development/interpreters/perl/default.nix
index 3b39974c16b1..54b7e9afefd4 100644
--- a/nixpkgs/pkgs/development/interpreters/perl/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/perl/default.nix
@@ -168,14 +168,14 @@ let
       priority = 6; # in `buildEnv' (including the one inside `perl.withPackages') the library files will have priority over files in `perl`
     };
   } // optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) rec {
-    crossVersion = "1.3.6";
+    crossVersion = "01c176ac0f57d40cc3b6f8e441062780f073d952"; # Aug 22, 2021
 
     perl-cross-src = fetchFromGitHub {
       name = "perl-cross-${crossVersion}";
       owner = "arsv";
       repo = "perl-cross";
       rev = crossVersion;
-      sha256 = "0k5vyj40czbkfl7r3dcwxpc7dvdlp2xliaav358bviq3dq9vq9bb";
+      sha256 = "19mwr1snwl4156rlhn74kmpl1wyc7ahhlrjfpnfcj3n63ic0c56y";
     };
 
     depsBuildBuild = [ buildPackages.stdenv.cc makeWrapper ];
@@ -212,7 +212,7 @@ in {
   perldevel = common {
     perl = pkgs.perldevel;
     buildPerl = buildPackages.perldevel;
-    version = "5.35.0";
-    sha256 = "0217nbswhkjhw60kng2p64611xna7za681kk30fkriyicd3yph6n";
+    version = "5.35.3";
+    sha256 = "06442zc5rvisl120f58jpy95bkf8f1cc4n577nzihdavlbfmnyyn";
   };
 }
diff --git a/nixpkgs/pkgs/development/interpreters/pixie/dust.nix b/nixpkgs/pkgs/development/interpreters/pixie/dust.nix
index e6818cb03ed2..bbe9ae3dcc4b 100644
--- a/nixpkgs/pkgs/development/interpreters/pixie/dust.nix
+++ b/nixpkgs/pkgs/development/interpreters/pixie/dust.nix
@@ -1,35 +1,43 @@
 { lib, stdenv, pixie, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
-  name = "dust-0-91";
+  pname = "dust";
+  version = "0-91";
+
   src = fetchFromGitHub {
     owner = "pixie-lang";
     repo = "dust";
     rev = "efe469661e749a71e86858fd006f61464810575a";
     sha256 = "09n57b6haxwask9m8vimv42ikczf7lgfc7m9izjrcqgs0padvfzc";
   };
+
   buildInputs = [ pixie ];
+
   patches = [ ./make-paths-configurable.patch ];
+
   configurePhase = ''
     pixiePath="${pixie}/bin/pixie-vm" \
     basePath="$out/share/dust" \
       substituteAll dust.in dust
     chmod +x dust
   '';
-# FIXME: AOT for dust
-#  buildPhase = ''
-#    find . -name "*.pxi" -exec pixie-vm -c {} \;
-#  '';
+
+  # FIXME: AOT for dust
+  #  buildPhase = ''
+  #    find . -name "*.pxi" -exec pixie-vm -c {} \;
+  #  '';
+
   installPhase = ''
     mkdir -p $out/bin $out/share/dust
     cp -a src/ run.pxi $out/share/dust
     mv dust $out/bin/dust
   '';
 
-  meta = {
+  meta = with lib; {
     description = "Provides tooling around pixie, e.g. a nicer repl, running tests and fetching dependencies";
     homepage = src.meta.homepage;
-    license = lib.licenses.lgpl3;
-    platforms = lib.platforms.linux ++ lib.platforms.darwin;
+    maintainers = with maintainers; [ ];
+    license = licenses.lgpl3;
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/interpreters/python/cpython/default.nix b/nixpkgs/pkgs/development/interpreters/python/cpython/default.nix
index f52255f4748b..5b5060b58842 100644
--- a/nixpkgs/pkgs/development/interpreters/python/cpython/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/python/cpython/default.nix
@@ -45,7 +45,9 @@
 # enableLTO is a subset of the enableOptimizations flag that doesn't harm reproducibility.
 # enabling LTO on 32bit arch causes downstream packages to fail when linking
 # enabling LTO on *-darwin causes python3 to fail when linking.
-, enableLTO ? stdenv.is64bit && stdenv.isLinux
+# enabling LTO with musl and dynamic linking fails with a linker error although it should
+# be possible as alpine is doing it: https://github.com/alpinelinux/aports/blob/a8ccb04668c7729e0f0db6c6ff5f25d7519e779b/main/python3/APKBUILD#L82
+, enableLTO ? stdenv.is64bit && stdenv.isLinux && !(stdenv.hostPlatform.isMusl && !stdenv.hostPlatform.isStatic)
 , reproducibleBuild ? true
 , pythonAttr ? "python${sourceVersion.major}${sourceVersion.minor}"
 }:
diff --git a/nixpkgs/pkgs/development/interpreters/python/default.nix b/nixpkgs/pkgs/development/interpreters/python/default.nix
index ae5d06eefa35..ba0ef7dff0ce 100644
--- a/nixpkgs/pkgs/development/interpreters/python/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/python/default.nix
@@ -85,6 +85,7 @@ with pkgs;
           (lib.extends (lib.composeExtensions aliases extensions) pythonPackagesFun))
         {
           overrides = packageOverrides;
+          python = self;
         };
     in rec {
         isPy27 = pythonVersion == "2.7";
@@ -122,19 +123,19 @@ with pkgs;
       sourceVersion = {
         major = "3";
         minor = "8";
-        patch = "10";
+        patch = "11";
         suffix = "";
       };
-      sha256 = "1n8rjb3jn0j8dvi1qn94rxayc9rh982d8wgkrjy41n1x15k4mwka";
+      sha256 = "1chg8b0m1yrz50lizid20zha0dmj40z0iih3jqcrg7pyxca126pv";
     };
     python39 = {
       sourceVersion = {
         major = "3";
         minor = "9";
-        patch = "5";
+        patch = "6";
         suffix = "";
       };
-      sha256 = "10vdf46q5ldnzkprm8pldvr5a9hrdpxjv7mpzgdw6vj3cl318nhc";
+      sha256 = "12hhw2685i68pwfx5hdkqngzhbji4ccyjmqb5rzvkigg6fpj0y9r";
     };
   };
 
@@ -158,10 +159,10 @@ in {
     sourceVersion = {
       major = "3";
       minor = "6";
-      patch = "13";
+      patch = "14";
       suffix = "";
     };
-    sha256 = "pHpDpTq7QihqLBGWU0P/VnEbnmTo0RvyxnAaT7jOGg8=";
+    sha256 = "1bnm0bx7xf1jpfm0bmzlq19vwm0bvcbl7klx4rvgq05xryhafqr6";
     inherit (darwin) configd;
     inherit passthruFun;
   };
@@ -171,10 +172,10 @@ in {
     sourceVersion = {
       major = "3";
       minor = "7";
-      patch = "10";
+      patch = "11";
       suffix = "";
     };
-    sha256 = "+NgudXLIbsnVXIYnquUEAST9IgOvQAw4PIIbmAMG7ms=";
+    sha256 = "0d57b5a47wapzpkkq5rbvvi4caylc35j5910b64rxxn4nmm1kd6x";
     inherit (darwin) configd;
     inherit passthruFun;
   };
@@ -197,9 +198,9 @@ in {
       major = "3";
       minor = "10";
       patch = "0";
-      suffix = "b3";
+      suffix = "rc1";
     };
-    sha256 = "05fc4mp2ysb372bzkwbn1b1z01bfldnaqig6rxmif58hs3aawrr2";
+    sha256 = "0f76q6rsvbvrzcnsp0k7sp555krrgvjpcd09l1rybl4249ln2w3r";
     inherit (darwin) configd;
     inherit passthruFun;
   };
diff --git a/nixpkgs/pkgs/development/interpreters/python/tests/test_nix_pythonprefix/default.nix b/nixpkgs/pkgs/development/interpreters/python/tests/test_nix_pythonprefix/default.nix
index 572cbdccbfb2..2030fab173a5 100644
--- a/nixpkgs/pkgs/development/interpreters/python/tests/test_nix_pythonprefix/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/python/tests/test_nix_pythonprefix/default.nix
@@ -1,4 +1,4 @@
-{ interpreter, writeText, runCommandNoCC }:
+{ interpreter, writeText, runCommand }:
 
 let
 
@@ -19,7 +19,7 @@ let
     print(s)
   '';
 
-in runCommandNoCC "${interpreter.name}-site-prefix-mypy-test" {} ''
+in runCommand "${interpreter.name}-site-prefix-mypy-test" {} ''
   ${pythonEnv}/bin/mypy ${pythonScript}
   touch $out
 ''
diff --git a/nixpkgs/pkgs/development/interpreters/racket/default.nix b/nixpkgs/pkgs/development/interpreters/racket/default.nix
index 0b5084d43584..5737241bb7e5 100644
--- a/nixpkgs/pkgs/development/interpreters/racket/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/racket/default.nix
@@ -47,7 +47,7 @@ in
 
 stdenv.mkDerivation rec {
   pname = "racket";
-  version = "8.1"; # always change at once with ./minimal.nix
+  version = "8.2"; # always change at once with ./minimal.nix
 
   src = (lib.makeOverridable ({ name, sha256 }:
     fetchurl {
@@ -56,7 +56,7 @@ stdenv.mkDerivation rec {
     }
   )) {
     name = "${pname}-${version}";
-    sha256 = "0wlgp9dlibhv1d181arz309fszz31l5gb5gl94bqzfcav014g3k8";
+    sha256 = "10kl9xxl9swz8hdpycpy1vjc8biah5h07dzaygsf0ylfjdrczwx0";
   };
 
   FONTCONFIG_FILE = fontsConf;
diff --git a/nixpkgs/pkgs/development/interpreters/racket/minimal.nix b/nixpkgs/pkgs/development/interpreters/racket/minimal.nix
index 4cfb178d42de..cf3f322b4e7e 100644
--- a/nixpkgs/pkgs/development/interpreters/racket/minimal.nix
+++ b/nixpkgs/pkgs/development/interpreters/racket/minimal.nix
@@ -5,7 +5,7 @@ racket.overrideAttrs (oldAttrs: rec {
   name = "racket-minimal-${oldAttrs.version}";
   src = oldAttrs.src.override {
     inherit name;
-    sha256 = "1q54n16s0hmnry8q381wd7zfpyjndfjswn97vsbd4isngwz3w12k";
+    sha256 = "1iw4z962vp287q6wwvky36iqmwg1mqyxxpbk96aqr2ckfjqwnkbg";
   };
 
   meta = oldAttrs.meta // {
diff --git a/nixpkgs/pkgs/development/interpreters/rakudo/default.nix b/nixpkgs/pkgs/development/interpreters/rakudo/default.nix
index fdb3a78a1b7e..eabbdf0b757f 100644
--- a/nixpkgs/pkgs/development/interpreters/rakudo/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/rakudo/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "rakudo";
-  version = "2021.06";
+  version = "2021.07";
 
   src = fetchurl {
     url    = "https://rakudo.org/dl/rakudo/rakudo-${version}.tar.gz";
-    sha256 = "11ixlqmvbb37abksdysg5r4lkbwzr486lkc0ssl3wca4iiy3mhgf";
+    sha256 = "0lmbgw24f8277b9kj725v3grwh1524p4iy5jbqajxwxjr16zx2hp";
   };
 
   nativeBuildInputs = [ removeReferencesTo ];
diff --git a/nixpkgs/pkgs/development/interpreters/rakudo/moarvm.nix b/nixpkgs/pkgs/development/interpreters/rakudo/moarvm.nix
index 60a5e071545e..73dac18a5974 100644
--- a/nixpkgs/pkgs/development/interpreters/rakudo/moarvm.nix
+++ b/nixpkgs/pkgs/development/interpreters/rakudo/moarvm.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "moarvm";
-  version = "2021.06";
+  version = "2021.07";
 
   src = fetchurl {
     url = "https://moarvm.org/releases/MoarVM-${version}.tar.gz";
-    sha256 = "19vjcyb9fg9msjw1ih00c2qby480gl4highw24zx7j84slhsj013";
+    sha256 = "1zk3dpvgrgg4kam3hx9pq1a2l2kgw822dci8hg7x0cn1lppwwdw4";
    };
 
   buildInputs = [ perl ] ++ lib.optionals stdenv.isDarwin [ CoreServices ApplicationServices ];
diff --git a/nixpkgs/pkgs/development/interpreters/rakudo/nqp.nix b/nixpkgs/pkgs/development/interpreters/rakudo/nqp.nix
index 4b456d819f6d..d34f5ac71a09 100644
--- a/nixpkgs/pkgs/development/interpreters/rakudo/nqp.nix
+++ b/nixpkgs/pkgs/development/interpreters/rakudo/nqp.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "nqp";
-  version = "2021.06";
+  version = "2021.07";
 
   src = fetchurl {
     url    = "https://github.com/raku/nqp/releases/download/${version}/nqp-${version}.tar.gz";
-    sha256 = "1d00lajjdd2k510fb0cb6c8bpklvlnncykf6jz8j8djfp0b2i696";
+    sha256 = "191y6r6qxpib52h3drc5pbjrgf65pn5ahis1dyz55dxk7ajg5anw";
   };
 
   buildInputs = [ perl ];
diff --git a/nixpkgs/pkgs/development/interpreters/rakudo/zef.nix b/nixpkgs/pkgs/development/interpreters/rakudo/zef.nix
index 61008f242b91..c5b622d2761f 100644
--- a/nixpkgs/pkgs/development/interpreters/rakudo/zef.nix
+++ b/nixpkgs/pkgs/development/interpreters/rakudo/zef.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zef";
-  version = "0.11.5";
+  version = "0.11.10";
 
   src = fetchFromGitHub {
     owner = "ugexe";
     repo = "zef";
     rev = "v${version}";
-    sha256 = "sha256-LLUAwqky/q9KvFltrcff5U2BSLvOk/BbDSj07QlePSg=";
+    sha256 = "sha256-snnvREM2RLssmE55Ea0Imcw12pmyD6+/11ZXmmUY36U=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/development/interpreters/ruby/rubygems/default.nix b/nixpkgs/pkgs/development/interpreters/ruby/rubygems/default.nix
index 6f089e51221f..4150f7683d5d 100644
--- a/nixpkgs/pkgs/development/interpreters/ruby/rubygems/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/ruby/rubygems/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "rubygems";
-  version = "3.2.24";
+  version = "3.2.26";
 
   src = fetchurl {
     url = "https://rubygems.org/rubygems/rubygems-${version}.tgz";
-    sha256 = "09ff830a043y6s7390hsg3k55ffpifb1zsvs0dhz8z8pypwgiscl";
+    sha256 = "sha256-9wa6lOWnua8zBblQKRgjjiTVPYp2TW0n7XOvgW7u1e8=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/interpreters/s9fes/default.nix b/nixpkgs/pkgs/development/interpreters/s9fes/default.nix
new file mode 100644
index 000000000000..a05dde8f1f51
--- /dev/null
+++ b/nixpkgs/pkgs/development/interpreters/s9fes/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, lib, fetchurl, ncurses, buildPackages }:
+
+let
+  isCrossCompiling = stdenv.hostPlatform != stdenv.buildPlatform;
+in
+
+stdenv.mkDerivation rec {
+  pname = "s9fes";
+  version = "20181205";
+
+  src = fetchurl {
+    url = "https://www.t3x.org/s9fes/s9fes-${version}.tgz";
+    sha256 = "sha256-Lp/akaDy3q4FmIE6x0fj9ae/SOD7tdsmzy2xdcCh13o=";
+  };
+
+  # Fix cross-compilation
+  postPatch = ''
+    substituteInPlace Makefile \
+      --replace 'ar q' '${stdenv.cc.targetPrefix}ar q' \
+      --replace 'strip' '${stdenv.cc.targetPrefix}strip'
+    ${lib.optionalString isCrossCompiling "substituteInPlace Makefile --replace ./s9 '${buildPackages.s9fes}/bin/s9'"}
+  '';
+
+  buildInputs = [ ncurses ];
+  makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" "PREFIX=$(out)" ];
+  enableParallelBuilding = true;
+
+  meta = with lib; {
+    description = "Scheme 9 From Empty Space, an interpreter for R4RS Scheme";
+    homepage = "http://www.t3x.org/s9fes/index.html";
+    license = licenses.publicDomain;
+    maintainers = with maintainers; [ siraben ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/development/interpreters/scsh/default.nix b/nixpkgs/pkgs/development/interpreters/scsh/default.nix
index 6dcb8bd27c5b..ce44624497da 100644
--- a/nixpkgs/pkgs/development/interpreters/scsh/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/scsh/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchgit, autoreconfHook, scheme48 }:
 
 stdenv.mkDerivation {
-  name = "scsh-0.7pre";
+  pname = "scsh";
+  version = "0.7pre";
 
   src = fetchgit {
     url = "git://github.com/scheme/scsh.git";
diff --git a/nixpkgs/pkgs/development/interpreters/supercollider/default.nix b/nixpkgs/pkgs/development/interpreters/supercollider/default.nix
index fc8d8f1652de..09e97a65e664 100644
--- a/nixpkgs/pkgs/development/interpreters/supercollider/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/supercollider/default.nix
@@ -9,11 +9,11 @@ let
 in
 mkDerivation rec {
   pname = "supercollider";
-  version = "3.11.2";
+  version = "3.12.0";
 
   src = fetchurl {
     url = "https://github.com/supercollider/supercollider/releases/download/Version-${version}/SuperCollider-${version}-Source.tar.bz2";
-    sha256 = "wiwyxrxIJnHU+49RZy33Etl6amJ3I1xNojEpEDA6BQY=";
+    sha256 = "sha256-RgCL50pyjNgy+H+Crvfgds86pmTao2FS+IF3gRHu5NM=";
   };
 
   hardeningDisable = [ "stackprotector" ];
diff --git a/nixpkgs/pkgs/development/interpreters/yabasic/default.nix b/nixpkgs/pkgs/development/interpreters/yabasic/default.nix
index 414171082e30..02d3dbeb9fd1 100644
--- a/nixpkgs/pkgs/development/interpreters/yabasic/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/yabasic/default.nix
@@ -10,11 +10,11 @@
 
 stdenv.mkDerivation rec {
   pname = "yabasic";
-  version = "2.89.1";
+  version = "2.90.1";
 
   src = fetchurl {
     url = "http://www.yabasic.de/download/${pname}-${version}.tar.gz";
-    hash = "sha256-k8QmQCpszLyotEiWDrG878RM2wqSq7I4W9j6Z2Ub3Yg=";
+    hash = "sha256-9LqiwS3Udql3YZoufo3spVpE46me3McI8L08TpNJpJo=";
   };
 
   buildInputs = [
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with lib; {
-    homepage = "http://www.yabasic.de/";
+    homepage = "http://2484.de/yabasic/";
     description = "Yet another BASIC";
     longDescription = ''
       Yabasic is a traditional basic-interpreter. It comes with goto and various
diff --git a/nixpkgs/pkgs/development/java-modules/build-maven-package.nix b/nixpkgs/pkgs/development/java-modules/build-maven-package.nix
index 432f972b0ff6..baa2eed89c98 100644
--- a/nixpkgs/pkgs/development/java-modules/build-maven-package.nix
+++ b/nixpkgs/pkgs/development/java-modules/build-maven-package.nix
@@ -16,7 +16,7 @@ in stdenv.mkDerivation rec {
   find = ''find ${concatStringsSep " " (map (x: x + "/m2") flatDeps)} -type d -printf '%P\n' | xargs -I {} mkdir -p $out/m2/{}'';
   copy = ''cp -rsfu ${concatStringsSep " " (map (x: x + "/m2/*") flatDeps)} $out/m2'';
 
-  phases = [ "unpackPhase" "buildPhase" ];
+  dontInstall = true;
 
   buildPhase = ''
     mkdir -p $out/target
diff --git a/nixpkgs/pkgs/development/java-modules/m2install.nix b/nixpkgs/pkgs/development/java-modules/m2install.nix
index 3a289c9c9c4a..d0a13f62520f 100644
--- a/nixpkgs/pkgs/development/java-modules/m2install.nix
+++ b/nixpkgs/pkgs/development/java-modules/m2install.nix
@@ -12,10 +12,10 @@ let
 in stdenv.mkDerivation {
   inherit name m2Path m2File src;
 
+  dontUnpack = true;
+
   installPhase = ''
     mkdir -p $out/m2/$m2Path
     cp $src $out/m2/$m2Path/$m2File
   '';
-
-  phases = "installPhase";
 }
diff --git a/nixpkgs/pkgs/development/java-modules/postgresql_jdbc/default.nix b/nixpkgs/pkgs/development/java-modules/postgresql_jdbc/default.nix
index 524273e080fe..f58441beedbf 100644
--- a/nixpkgs/pkgs/development/java-modules/postgresql_jdbc/default.nix
+++ b/nixpkgs/pkgs/development/java-modules/postgresql_jdbc/default.nix
@@ -11,8 +11,6 @@ stdenv.mkDerivation rec {
     inherit version;
   };
 
-  phases = [ "installPhase" ];
-
   installPhase = ''
     runHook preInstall
     install -m444 -D $src/share/java/*postgresql-${version}.jar $out/share/java/postgresql-jdbc.jar
diff --git a/nixpkgs/pkgs/development/libraries/SDL2_image/default.nix b/nixpkgs/pkgs/development/libraries/SDL2_image/default.nix
index a0f770178cc9..3c7c13319991 100644
--- a/nixpkgs/pkgs/development/libraries/SDL2_image/default.nix
+++ b/nixpkgs/pkgs/development/libraries/SDL2_image/default.nix
@@ -12,8 +12,18 @@ stdenv.mkDerivation rec {
   buildInputs = [ SDL2 libpng libjpeg libtiff giflib libwebp libXpm zlib ]
     ++ lib.optional stdenv.isDarwin Foundation;
 
-
-  configureFlags = lib.optional stdenv.isDarwin "--disable-sdltest";
+  configureFlags = [
+    # Disable dynamically loaded dependencies
+    "--disable-jpg-shared"
+    "--disable-png-shared"
+    "--disable-tif-shared"
+    "--disable-webp-shared"
+  ] ++ lib.optionals stdenv.isDarwin [
+    # Darwin headless will hang when trying to run the SDL test program
+    "--disable-sdltest"
+    # Don't use native macOS frameworks
+    "--disable-imageio"
+  ];
 
   enableParallelBuilding = true;
 
diff --git a/nixpkgs/pkgs/development/libraries/SDL_Pango/default.nix b/nixpkgs/pkgs/development/libraries/SDL_Pango/default.nix
index 83afeaf2d67b..7c90092fe8dd 100644
--- a/nixpkgs/pkgs/development/libraries/SDL_Pango/default.nix
+++ b/nixpkgs/pkgs/development/libraries/SDL_Pango/default.nix
@@ -18,6 +18,7 @@ stdenv.mkDerivation rec {
   ];
 
   preConfigure = "autoreconf -i -f";
+  configureFlags = lib.optional stdenv.isDarwin "--disable-sdltest";
 
   nativeBuildInputs = [ pkg-config autoreconfHook ];
   buildInputs = [ SDL pango ];
diff --git a/nixpkgs/pkgs/development/libraries/a52dec/default.nix b/nixpkgs/pkgs/development/libraries/a52dec/default.nix
index 74122f7ed24e..1322ec10eb17 100644
--- a/nixpkgs/pkgs/development/libraries/a52dec/default.nix
+++ b/nixpkgs/pkgs/development/libraries/a52dec/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "ATSC A/52 stream decoder";
-    homepage = "https://liba52.sourceforge.net/";
+    homepage = "https://liba52.sourceforge.io/";
     platforms = platforms.unix;
     license = licenses.gpl2Plus;
   };
diff --git a/nixpkgs/pkgs/development/libraries/ace/default.nix b/nixpkgs/pkgs/development/libraries/ace/default.nix
index b27cb8aae35a..35f78d4afeb4 100644
--- a/nixpkgs/pkgs/development/libraries/ace/default.nix
+++ b/nixpkgs/pkgs/development/libraries/ace/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ace";
-  version = "7.0.2";
+  version = "7.0.3";
 
   src = fetchurl {
     url = "https://download.dre.vanderbilt.edu/previous_versions/ACE-${version}.tar.bz2";
-    sha256 = "sha256-IftPSQOrZOqMLHHlUFEFa3WcvsqN5kdS5rSlGE8ETC4=";
+    sha256 = "sha256-aKSxKYJ2OmxCDHwBrfUMenT9LYzFYH5P3R8q/QhkM+c=";
   };
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/development/libraries/ada/gnatcoll/bindings.nix b/nixpkgs/pkgs/development/libraries/ada/gnatcoll/bindings.nix
new file mode 100644
index 000000000000..666989af0acc
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/ada/gnatcoll/bindings.nix
@@ -0,0 +1,88 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, gnat
+, gprbuild
+, gnatcoll-core
+, component
+# component dependencies
+, gmp
+, libiconv
+, xz
+, gcc-unwrapped
+, readline
+, zlib
+, python3
+, ncurses
+}:
+
+let
+  # omit python (2.7), no need to introduce a
+  # dependency on an EOL package for no reason
+  libsFor = {
+    iconv = [ libiconv ];
+    gmp = [ gmp ];
+    lzma = [ xz ];
+    readline = [ readline ];
+    python3 = [ python3 ncurses ];
+    syslog = [ ];
+    zlib = [ zlib ];
+  };
+in
+
+
+stdenv.mkDerivation rec {
+  pname = "gnatcoll-${component}";
+  version = "21.0.0";
+
+  src = fetchFromGitHub {
+    owner = "AdaCore";
+    repo = "gnatcoll-bindings";
+    rev = "v${version}";
+    sha256 = "1214hf0m8iz289rjpxdiddnixj65l2xjwbcr7mq5ysbddmig5992";
+  };
+
+  patches = [
+    ./omp-setup-text-mode.patch
+  ];
+
+  nativeBuildInputs = [
+    gprbuild
+    gnat
+    python3
+  ];
+
+  # propagate since gprbuild needs to find referenced .gpr files
+  # and all dependency C libraries when statically linking a
+  # downstream executable.
+  propagatedBuildInputs = [
+    gnatcoll-core
+  ] ++ libsFor."${component}" or [];
+
+  # explicit flag for GPL acceptance because upstreams
+  # allows a gcc runtime exception for all bindings
+  # except for readline (since it is GPL w/o exceptions)
+  buildFlags = lib.optionals (component == "readline") [
+    "--accept-gpl"
+  ];
+
+  buildPhase = ''
+    runHook preBuild
+    python3 ${component}/setup.py build $buildFlags
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    python3 ${component}/setup.py install --prefix $out
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "GNAT Components Collection - Bindings to C libraries";
+    homepage = "https://github.com/AdaCore/gnatcoll-bindings";
+    license = licenses.gpl3Plus;
+    platforms = platforms.all;
+    maintainers = [ maintainers.sternenseemann ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/ada/gnatcoll/core.nix b/nixpkgs/pkgs/development/libraries/ada/gnatcoll/core.nix
new file mode 100644
index 000000000000..f5f84342137e
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/ada/gnatcoll/core.nix
@@ -0,0 +1,47 @@
+{ stdenv
+, lib
+, gnat
+, gprbuild
+, fetchFromGitHub
+, xmlada
+, which
+}:
+
+stdenv.mkDerivation rec {
+  pname = "gnatcoll-core";
+  version = "21.0.0";
+
+  src = fetchFromGitHub {
+    owner = "AdaCore";
+    repo = "gnatcoll-core";
+    rev = "v${version}";
+    sha256 = "0jgs2299zfbr6jg5bxlhqizi60si2m8vw7zq6ns4yhr38qqdskqg";
+  };
+
+  nativeBuildInputs = [
+    gprbuild
+    which
+    gnat
+  ];
+
+  # propagate since gprbuild needs to find
+  # referenced GPR project definitions
+  propagatedBuildInputs = [
+    gprbuild # libgpr
+  ];
+
+  makeFlags = [
+    "prefix=${placeholder "out"}"
+    "PROCESSORS=$(NIX_BUILD_CORES)"
+    # confusingly, for gprbuild --target is autoconf --host
+    "TARGET=${stdenv.hostPlatform.config}"
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/AdaCore/gnatcoll-core";
+    description = "GNAT Components Collection - Core packages";
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.sternenseemann ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/ada/gnatcoll/db.nix b/nixpkgs/pkgs/development/libraries/ada/gnatcoll/db.nix
new file mode 100644
index 000000000000..d0512507db24
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/ada/gnatcoll/db.nix
@@ -0,0 +1,110 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, gnat
+, gprbuild
+, which
+, gnatcoll-core
+, xmlada
+, component
+# components built by this derivation other components depend on
+, gnatcoll-sql
+, gnatcoll-sqlite
+, gnatcoll-xref
+# component specific extra dependencies
+, gnatcoll-iconv
+, gnatcoll-readline
+, sqlite
+, postgresql
+}:
+
+let
+  libsFor = {
+    gnatcoll_db2ada = [
+      gnatcoll-sql
+    ];
+    gnatinspect = [
+      gnatcoll-sqlite
+      gnatcoll-readline
+      gnatcoll-xref
+    ];
+    postgres = [
+      gnatcoll-sql
+      postgresql
+    ];
+    sqlite = [
+      gnatcoll-sql
+      sqlite
+    ];
+    xref = [
+      gnatcoll-iconv
+      gnatcoll-sqlite
+    ];
+  };
+
+  # These components are just tools and don't install a library
+  onlyExecutable = builtins.elem component [
+    "gnatcoll_db2ada"
+    "gnatinspect"
+  ];
+in
+
+stdenv.mkDerivation rec {
+  pname = "gnatcoll-${component}";
+  version = "21.0.0";
+
+  src = fetchFromGitHub {
+    owner = "AdaCore";
+    repo = "gnatcoll-db";
+    rev = "v${version}";
+    sha256 = "0fdfng3yfy645nlw8l3c2za0zkn6pdhkvyrw20wnjx4k26glgb6r";
+  };
+
+  patches = lib.optionals (component == "sqlite") [
+    # fixes build of the static sqlite component
+    # when building against the system libsqlite3
+    # See https://github.com/AdaCore/gprbuild/issues/27#issuecomment-298444608
+    ./gnatcoll-db-sqlite-static-external.patch
+  ];
+
+  # Link executables dynamically unless specified by the platform,
+  # as we usually do in nixpkgs where possible
+  postPatch = lib.optionalString (!stdenv.hostPlatform.isStatic) ''
+    for f in gnatcoll_db2ada/Makefile gnatinspect/Makefile; do
+      substituteInPlace "$f" --replace "=static" "=relocatable"
+    done
+  '';
+
+  nativeBuildInputs = [
+    gnat
+    gprbuild
+    which
+  ];
+
+  # Propagate since GPRbuild needs to find referenced .gpr files
+  # and other libraries to link against when static linking is used.
+  # For executables this is of course not relevant and we can reduce
+  # the closure size dramatically
+  ${if onlyExecutable then "buildInputs" else "propagatedBuildInputs"} = [
+    gnatcoll-core
+  ] ++ libsFor."${component}" or [];
+
+  makeFlags = [
+    "-C" component
+    "PROCESSORS=$(NIX_BUILD_CORES)"
+    # confusingly, for gprbuild --target is autoconf --host
+    "TARGET=${stdenv.hostPlatform.config}"
+    "prefix=${placeholder "out"}"
+  ] ++ lib.optional (component == "sqlite") [
+    # link against packaged, not vendored libsqlite3
+    "GNATCOLL_SQLITE=external"
+  ];
+
+  meta = with lib; {
+    description = "GNAT Components Collection - Database packages";
+    homepage = "https://github.com/AdaCore/gnatcoll-db";
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.sternenseemann ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/ada/gnatcoll/gnatcoll-db-sqlite-static-external.patch b/nixpkgs/pkgs/development/libraries/ada/gnatcoll/gnatcoll-db-sqlite-static-external.patch
new file mode 100644
index 000000000000..f67837d7d516
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/ada/gnatcoll/gnatcoll-db-sqlite-static-external.patch
@@ -0,0 +1,18 @@
+diff --git a/sqlite/gnatcoll_sqlite.gpr b/sqlite/gnatcoll_sqlite.gpr
+index 5bd53d35..580739f8 100644
+--- a/sqlite/gnatcoll_sqlite.gpr
++++ b/sqlite/gnatcoll_sqlite.gpr
+@@ -69,7 +69,12 @@ project GnatColl_Sqlite is
+          for Source_Dirs use (".", "amalgamation");
+       when "external" =>
+          for Source_Dirs use (".");
+-         for Library_Options use ("-lsqlite3") & Thread_Lib;
++         case Library_Type is
++            when "relocatable" =>
++               for Library_Options use ("-lsqlite3") & Thread_Lib;
++            when others =>
++               null;
++         end case;
+    end case;
+ 
+    package Compiler is
diff --git a/nixpkgs/pkgs/development/libraries/ada/gnatcoll/omp-setup-text-mode.patch b/nixpkgs/pkgs/development/libraries/ada/gnatcoll/omp-setup-text-mode.patch
new file mode 100644
index 000000000000..07953809bb20
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/ada/gnatcoll/omp-setup-text-mode.patch
@@ -0,0 +1,23 @@
+commit 37c815ee660d1bf37256638d23b0346ad7cc19e7
+Author: sternenseemann <0rpkxez4ksa01gb3typccl0i@systemli.org>
+Date:   Wed Jul 21 00:18:30 2021 +0200
+
+    omp/setup.py: open version_information in text mode
+    
+    Otherwise saving the config in setup_support.py will fail as a bytes
+    object is not encodeable as JSON. Luckily, version_information is text
+    anyways.
+
+diff --git a/omp/setup.py b/omp/setup.py
+index 942ab1f5..5281398e 100755
+--- a/omp/setup.py
++++ b/omp/setup.py
+@@ -25,7 +25,7 @@ class GNATCollOMP(SetupApp):
+ 
+         # Set library version
+         with open(os.path.join(config.source_dir, '..',
+-                               'version_information'), 'rb') as fd:
++                               'version_information'), 'r') as fd:
+             version = fd.read().strip()
+         config.set_data('GNATCOLL_VERSION', version, sub='gprbuild')
+ 
diff --git a/nixpkgs/pkgs/development/libraries/ada/xmlada/default.nix b/nixpkgs/pkgs/development/libraries/ada/xmlada/default.nix
new file mode 100644
index 000000000000..b855166d5590
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/ada/xmlada/default.nix
@@ -0,0 +1,35 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, gnat
+# use gprbuild-boot since gprbuild proper depends
+# on this xmlada derivation.
+, gprbuild-boot
+}:
+
+stdenv.mkDerivation rec {
+  pname = "xmlada";
+  version = "21.0.0";
+
+  src = fetchFromGitHub {
+    name = "xmlada-${version}-src";
+    owner = "AdaCore";
+    repo = "xmlada";
+    rev = "v${version}";
+    sha256 = "00vljkvck951nj853v9sda5qbfm1mp8y2k61ja2595rmp8qcrazw";
+  };
+
+  nativeBuildInputs = [
+    gnat
+    gprbuild-boot
+  ];
+
+  meta = with lib; {
+    description = "XML/Ada: An XML parser for Ada";
+    homepage = "https://github.com/AdaCore/xmlada";
+    maintainers = [ maintainers.sternenseemann ];
+    license = licenses.gpl3Plus;
+    platforms = platforms.all;
+  };
+}
+
diff --git a/nixpkgs/pkgs/development/libraries/aften/default.nix b/nixpkgs/pkgs/development/libraries/aften/default.nix
index 1ae5ffb17ad3..488c5b6e729a 100644
--- a/nixpkgs/pkgs/development/libraries/aften/default.nix
+++ b/nixpkgs/pkgs/development/libraries/aften/default.nix
@@ -8,14 +8,21 @@ stdenv.mkDerivation rec {
     sha256 = "02hc5x9vkgng1v9bzvza9985ifrjd7fjr7nlpvazp4mv6dr89k47";
   };
 
+  patches = [
+    # Add fallback for missing SIMD functions on ARM
+    # Source https://github.com/Homebrew/homebrew-core/blob/cad412c7fb4b64925f821fcc9ac5f16a2c40f32d/Formula/aften.rb
+    ./simd-fallback.patch
+  ];
+
   nativeBuildInputs = [ cmake ];
 
   cmakeFlags = [ "-DSHARED=ON" ];
 
-  meta = {
+  meta = with lib; {
     description = "An audio encoder which generates compressed audio streams based on ATSC A/52 specification";
     homepage = "http://aften.sourceforge.net/";
-    license = lib.licenses.lgpl2;
-    platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
+    license = licenses.lgpl21Only;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ angustrau ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/aften/simd-fallback.patch b/nixpkgs/pkgs/development/libraries/aften/simd-fallback.patch
new file mode 100644
index 000000000000..cdc961a7f5df
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/aften/simd-fallback.patch
@@ -0,0 +1,25 @@
+From dca9c03930d669233258c114e914a01f7c0aeb05 Mon Sep 17 00:00:00 2001
+From: jbr79 <jbr79@ef0d8562-5c19-0410-972e-841db63a069c>
+Date: Wed, 24 Sep 2008 22:02:59 +0000
+Subject: [PATCH] add fallback function for apply_simd_restrictions() on
+ non-x86/ppc
+
+git-svn-id: https://aften.svn.sourceforge.net/svnroot/aften@766 ef0d8562-5c19-0410-972e-841db63a069c
+---
+ libaften/cpu_caps.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/libaften/cpu_caps.h b/libaften/cpu_caps.h
+index b7c6159..4db11f7 100644
+--- a/libaften/cpu_caps.h
++++ b/libaften/cpu_caps.h
+@@ -26,6 +26,7 @@
+ #include "ppc_cpu_caps.h"
+ #else
+ static inline void cpu_caps_detect(void){}
++static inline void apply_simd_restrictions(AftenSimdInstructions *simd_instructions){}
+ #endif
+
+ #endif /* CPU_CAPS_H */
+--
+2.24.3 (Apple Git-128)
\ No newline at end of file
diff --git a/nixpkgs/pkgs/development/libraries/agda/agda-categories/default.nix b/nixpkgs/pkgs/development/libraries/agda/agda-categories/default.nix
index 3121edccfe45..267ee041bdc1 100644
--- a/nixpkgs/pkgs/development/libraries/agda/agda-categories/default.nix
+++ b/nixpkgs/pkgs/development/libraries/agda/agda-categories/default.nix
@@ -1,14 +1,14 @@
 { lib, mkDerivation, fetchFromGitHub, standard-library }:
 
 mkDerivation rec {
-  version = "0.1.6";
+  version = "0.1.7.1";
   pname = "agda-categories";
 
   src = fetchFromGitHub {
     owner = "agda";
     repo = "agda-categories";
     rev = "v${version}";
-    sha256 = "1s75yqcjwj13s1m3fg29krnn05lws6143ccfdygc6c4iynvvznsh";
+    sha256 = "1acb693ad2nrmnn6jxsyrlkc0di3kk2ksj2w9wnyfxrgvfsil7rn";
   };
 
   buildInputs = [ standard-library ];
diff --git a/nixpkgs/pkgs/development/libraries/agda/agda-prelude/default.nix b/nixpkgs/pkgs/development/libraries/agda/agda-prelude/default.nix
index 21883acd1958..c546badef2d2 100644
--- a/nixpkgs/pkgs/development/libraries/agda/agda-prelude/default.nix
+++ b/nixpkgs/pkgs/development/libraries/agda/agda-prelude/default.nix
@@ -19,6 +19,8 @@ mkDerivation rec {
   '';
 
   meta = with lib; {
+    # Remove if a version compatible with agda 2.6.2 is made
+    broken = true;
     homepage = "https://github.com/UlfNorell/agda-prelude";
     description = "Programming library for Agda";
     license = lib.licenses.mit;
diff --git a/nixpkgs/pkgs/development/libraries/agda/cubical/default.nix b/nixpkgs/pkgs/development/libraries/agda/cubical/default.nix
index 241caf16d679..8e654444dd6a 100644
--- a/nixpkgs/pkgs/development/libraries/agda/cubical/default.nix
+++ b/nixpkgs/pkgs/development/libraries/agda/cubical/default.nix
@@ -1,20 +1,20 @@
 { lib, mkDerivation, fetchFromGitHub, ghc, glibcLocales }:
 
 mkDerivation rec {
-
-  # Version 0.2 is meant to be used with the Agda 2.6.1 compiler.
   pname = "cubical";
-  version = "0.2";
+  version = "0.3pred5030a9";
 
   src = fetchFromGitHub {
     repo = pname;
     owner = "agda";
-    rev = "v${version}";
-    sha256 = "07qlp2f189jvzbn3aqvpqk2zxpkmkxhhkjsn62iq436kxqj3z6c2";
+    rev = "d5030a9c89070255fc575add4e9f37b97e6a0c0c";
+    sha256 = "18achbxap4ikydigmz3m3xjfn3i9dw4rn8yih82vrlc01j02nqpi";
   };
 
   LC_ALL = "en_US.UTF-8";
 
+  preConfigure = ''export AGDA_EXEC=agda'';
+
   # The cubical library has several `Everything.agda` files, which are
   # compiled through the make file they provide.
   nativeBuildInputs = [ ghc glibcLocales ];
diff --git a/nixpkgs/pkgs/development/libraries/agda/functional-linear-algebra/default.nix b/nixpkgs/pkgs/development/libraries/agda/functional-linear-algebra/default.nix
index 1e5c0ae28d3a..083741d58e94 100644
--- a/nixpkgs/pkgs/development/libraries/agda/functional-linear-algebra/default.nix
+++ b/nixpkgs/pkgs/development/libraries/agda/functional-linear-algebra/default.nix
@@ -1,7 +1,7 @@
 { fetchFromGitHub, lib, mkDerivation, standard-library }:
 
 mkDerivation rec {
-  version = "0.3";
+  version = "0.4";
   pname = "functional-linear-algebra";
 
   buildInputs = [ standard-library ];
@@ -10,7 +10,7 @@ mkDerivation rec {
     repo = "functional-linear-algebra";
     owner = "ryanorendorff";
     rev = "v${version}";
-    sha256 = "032gl35x1qzaigc3hbg9dc40zr0nyjld175cb9m8b15rlz9xzjn2";
+    sha256 = "05jk3792k9xf8iiwzm2hwlvd25f2pqqr3gppmqjf8xb9199i8fk0";
   };
 
   preConfigure = ''
diff --git a/nixpkgs/pkgs/development/libraries/agda/generic/default.nix b/nixpkgs/pkgs/development/libraries/agda/generic/default.nix
index ab2031214260..855dd0f33c51 100644
--- a/nixpkgs/pkgs/development/libraries/agda/generic/default.nix
+++ b/nixpkgs/pkgs/development/libraries/agda/generic/default.nix
@@ -21,6 +21,8 @@ mkDerivation rec {
   '';
 
   meta = with lib; {
+    # Remove if a version compatible with agda 2.6.2 is made
+    broken = true;
     description =
       "A library for doing generic programming in Agda";
     homepage = src.meta.homepage;
diff --git a/nixpkgs/pkgs/development/libraries/alkimia/default.nix b/nixpkgs/pkgs/development/libraries/alkimia/default.nix
index 18c40c5b5fb3..34d6bf14e0b6 100644
--- a/nixpkgs/pkgs/development/libraries/alkimia/default.nix
+++ b/nixpkgs/pkgs/development/libraries/alkimia/default.nix
@@ -5,11 +5,11 @@
 
 mkDerivation rec {
   pname = "alkimia";
-  version = "8.0.4";
+  version = "8.1.0";
 
   src = fetchurl {
     url = "mirror://kde/stable/alkimia/${version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-AASnBo3/CqLLb0f3DSHBKQc74R8u2yHxRRK8RHBIfR8=";
+    sha256 = "sha256-kWgHNScHsEkM3ZymVoLv9zsAylIwKb2m/nonSaG8knw=";
   };
 
   nativeBuildInputs = [ extra-cmake-modules doxygen graphviz ];
diff --git a/nixpkgs/pkgs/development/libraries/allegro/5.nix b/nixpkgs/pkgs/development/libraries/allegro/5.nix
index 5cd6584f18fe..380cc1f7198e 100644
--- a/nixpkgs/pkgs/development/libraries/allegro/5.nix
+++ b/nixpkgs/pkgs/development/libraries/allegro/5.nix
@@ -3,7 +3,7 @@
 , libXxf86dga, libXxf86misc
 , libXxf86vm, openal, libGLU, libGL, libjpeg, flac
 , libXi, libXfixes, freetype, libopus, libtheora
-, physfs, enet, pkg-config, gtk2, pcre, libpulseaudio, libpthreadstubs
+, physfs, enet, pkg-config, gtk3, pcre, libpulseaudio, libpthreadstubs
 , libXdmcp
 }:
 
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     libXxf86vm openal libGLU libGL
     libjpeg flac
     libXi libXfixes
-    enet libtheora freetype physfs libopus pkg-config gtk2 pcre libXdmcp
+    enet libtheora freetype physfs libopus pkg-config gtk3 pcre libXdmcp
     libpulseaudio libpthreadstubs
   ];
 
diff --git a/nixpkgs/pkgs/development/libraries/alure/default.nix b/nixpkgs/pkgs/development/libraries/alure/default.nix
index 9ff83dcec404..a1bb5798b0e9 100644
--- a/nixpkgs/pkgs/development/libraries/alure/default.nix
+++ b/nixpkgs/pkgs/development/libraries/alure/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A utility library to help manage common tasks with OpenAL applications";
-    homepage = "https://kcat.strangesoft.net/alure.html";
+    homepage = "https://github.com/kcat/alure";
     license = licenses.mit;
     platforms = platforms.linux;
   };
diff --git a/nixpkgs/pkgs/development/libraries/amdvlk/default.nix b/nixpkgs/pkgs/development/libraries/amdvlk/default.nix
index 3978f380a3b6..05174c89f7e3 100644
--- a/nixpkgs/pkgs/development/libraries/amdvlk/default.nix
+++ b/nixpkgs/pkgs/development/libraries/amdvlk/default.nix
@@ -21,13 +21,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "amdvlk";
-  version = "2021.Q3.1";
+  version = "2021.Q3.4";
 
   src = fetchRepoProject {
     name = "${pname}-src";
     manifest = "https://github.com/GPUOpen-Drivers/AMDVLK.git";
     rev = "refs/tags/v-${version}";
-    sha256 = "HisJsG27UvVbe0w8zzZArqioQQRxfuK2TPEWggV3TNA=";
+    sha256 = "Rmx5vicxKXstI8TdxeFVjEFe71XJOyzp5L6VyDNuXmM=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/apache-activemq/default.nix b/nixpkgs/pkgs/development/libraries/apache-activemq/default.nix
index 79c1715c61d7..13305d312736 100644
--- a/nixpkgs/pkgs/development/libraries/apache-activemq/default.nix
+++ b/nixpkgs/pkgs/development/libraries/apache-activemq/default.nix
@@ -9,8 +9,6 @@ stdenv.mkDerivation rec {
     url = "mirror://apache/activemq/${version}/${pname}-${version}-bin.tar.gz";
   };
 
-  phases = [ "unpackPhase" "installPhase" ];
-
   installPhase = ''
     mkdir -p $out
     mv * $out/
diff --git a/nixpkgs/pkgs/development/libraries/appstream-glib/default.nix b/nixpkgs/pkgs/development/libraries/appstream-glib/default.nix
index 558ea51eb049..5882805fdfc6 100644
--- a/nixpkgs/pkgs/development/libraries/appstream-glib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/appstream-glib/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "hughsie";
     repo = "appstream-glib";
-    rev = "${lib.replaceStrings ["-"] ["_"] pname}-${lib.replaceStrings ["."] ["_"] version}";
+    rev = "${lib.replaceStrings ["-"] ["_"] pname}_${lib.replaceStrings ["."] ["_"] version}";
     sha256 = "12s7d3nqjs1fldnppbg2mkjg4280f3h8yzj3q1hiz3chh1w0vjbx";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/aqbanking/sources.nix b/nixpkgs/pkgs/development/libraries/aqbanking/sources.nix
index a3c953b8a305..60f61324e650 100644
--- a/nixpkgs/pkgs/development/libraries/aqbanking/sources.nix
+++ b/nixpkgs/pkgs/development/libraries/aqbanking/sources.nix
@@ -5,7 +5,7 @@
   libchipcard.version = "5.0.4";
   libchipcard.sha256 = "0fj2h39ll4kiv28ch8qgzdbdbnzs8gl812qnm660bw89rynpjnnj";
   libchipcard.releaseId = "158";
-  aqbanking.version = "6.2.10";
-  aqbanking.sha256 = "13dbpi58mw09gnsza11pxy5c8j99r11nkyg2j53y4lqk47rmyhvq";
-  aqbanking.releaseId = "368";
+  aqbanking.version = "6.3.0";
+  aqbanking.sha256 = "1k2mhdnk0jc0inq1hmp74m3y7azxrjm8r07x5k1pp4ic0yi5vs50";
+  aqbanking.releaseId = "372";
 }
diff --git a/nixpkgs/pkgs/development/libraries/arb/default.nix b/nixpkgs/pkgs/development/libraries/arb/default.nix
index 97af236af046..393639ea558b 100644
--- a/nixpkgs/pkgs/development/libraries/arb/default.nix
+++ b/nixpkgs/pkgs/development/libraries/arb/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "arb";
-  version = "2.19.0";
+  version = "2.20.0";
 
   src = fetchFromGitHub {
     owner = "fredrik-johansson";
     repo = pname;
     rev = version;
-    sha256 = "sha256-J/LQVZ8gmssazE7ru89EtvW6cVjaLEHgUHuwjW1nuOE=";
+    sha256 = "sha256-HOIbdkVV7NKowIGhDdn/S8unIRV469OnRHiuiCGaWgk=";
   };
 
   buildInputs = [ mpir gmp mpfr flint ];
diff --git a/nixpkgs/pkgs/development/libraries/armadillo/default.nix b/nixpkgs/pkgs/development/libraries/armadillo/default.nix
index fcc64989606e..6e9f67a9a33c 100644
--- a/nixpkgs/pkgs/development/libraries/armadillo/default.nix
+++ b/nixpkgs/pkgs/development/libraries/armadillo/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "armadillo";
-  version = "10.5.3";
+  version = "10.6.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/arma/armadillo-${version}.tar.xz";
-    sha256 = "sha256-5sUdjVKm94ucZFn2mGE1CT4O5wWmdDBxEPYXXyzV7jc=";
+    sha256 = "sha256-KoA9b4921AfbnBXtw4lJZSOMjliflMyQeoNz7pRXKKg=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/arpa2common/default.nix b/nixpkgs/pkgs/development/libraries/arpa2common/default.nix
new file mode 100644
index 000000000000..7fcb2a945e8f
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/arpa2common/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, stdenv
+, fetchFromGitLab
+, cmake
+
+, arpa2cm
+, doxygen
+, e2fsprogs
+, lmdb
+, openssl
+, pkg-config
+, ragel
+}:
+
+stdenv.mkDerivation rec {
+  pname = "arpa2common";
+  version = "2.2.14";
+
+  src = fetchFromGitLab {
+    owner = "arpa2";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-LWsWoHRdLWRSF9JaEwrw+CXm5Azgh7zNeq0a8Z/hijQ=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    arpa2cm
+    doxygen
+    pkg-config
+  ];
+
+  propagatedBuildInputs = [
+    e2fsprogs
+    lmdb
+    openssl
+    ragel
+  ];
+
+  # the project uses single argument `printf` throughout the program
+  hardeningDisable = [ "format" ];
+
+  meta = {
+    description =
+      "ARPA2 ID and ACL libraries and other core data structures for ARPA2";
+    longDescription = ''
+      The ARPA2 Common Library package offers elementary services that can
+      benefit many software packages.  They are designed to be easy to
+      include, with a minimum of dependencies.  At the same time, they were
+      designed with the InternetWide Architecture in mind, thus helping to
+      liberate users.
+    '';
+    homepage = "https://gitlab.com/arpa2/arpa2common";
+    license = with lib.licenses; [ bsd2 cc-by-sa-40 cc0 isc ];
+    maintainers = with lib.maintainers; [ fufexan ];
+    platforms = lib.platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/arrow-cpp/default.nix b/nixpkgs/pkgs/development/libraries/arrow-cpp/default.nix
index a13ebf281934..bea566174689 100644
--- a/nixpkgs/pkgs/development/libraries/arrow-cpp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/arrow-cpp/default.nix
@@ -9,25 +9,25 @@ let
   arrow-testing = fetchFromGitHub {
     owner = "apache";
     repo = "arrow-testing";
-    rev = "d6c4deb22c4b4e9e3247a2f291046e3c671ad235";
-    sha256 = "0cwhnqijam632zp07j98i8ym967wz6kd35fim1msv88x2rhqky1i";
+    rev = "6d98243093c0b36442da94de7010f3eacc2a9909";
+    hash = "sha256-n57Fuz2k6sX1o3vYBmC41eRKGnyt9+YL5r3WTHHRRzw=";
   };
 
   parquet-testing = fetchFromGitHub {
     owner = "apache";
     repo = "parquet-testing";
     rev = "ddd898958803cb89b7156c6350584d1cda0fe8de";
-    sha256 = "0n16xqlpxn2ryp43w8pppxrbwmllx6sk4hv3ycgikfj57nd3ibc0";
+    hash = "sha256-gK04mj1Fuhkf82NDMrXplFa+cr/3Ij7I9VnYfinuJlg=";
   };
 
 in stdenv.mkDerivation rec {
   pname = "arrow-cpp";
-  version = "4.0.1";
+  version = "5.0.0";
 
   src = fetchurl {
     url =
       "mirror://apache/arrow/arrow-${version}/apache-arrow-${version}.tar.gz";
-    sha256 = "0vl926i6jvsvj5vigdgqzp9v1i1h5zzj1abqr6qwc9drfsibzk3m";
+    hash = "sha256-w7QxPspZTCD3Yag2cZchqvB2AAGviWuuw6tkQg/5kQo=";
   };
   sourceRoot = "apache-arrow-${version}/cpp";
 
@@ -37,7 +37,7 @@ in stdenv.mkDerivation rec {
     # ./cpp/thirdparty/versions.txt
     url =
       "https://github.com/jemalloc/jemalloc/releases/download/5.2.1/jemalloc-5.2.1.tar.bz2";
-    sha256 = "1xl7z0vwbn5iycg7amka9jd6hxd8nmfk7nahi4p9w2bnw9f0wcrl";
+    hash = "sha256-NDMOXOJ2CZ4uiVDZM121qHVomkxqVnUe87HYxTf4h/Y=";
   };
 
   ARROW_MIMALLOC_URL = fetchurl {
@@ -45,8 +45,8 @@ in stdenv.mkDerivation rec {
     # ./cpp/cmake_modules/ThirdpartyToolchain.cmake
     # ./cpp/thirdparty/versions.txt
     url =
-      "https://github.com/microsoft/mimalloc/archive/v1.6.4.tar.gz";
-    sha256 = "1b8av0974q70alcmaw5cwzbn6n9blnpmj721ik1qwmbbwwd6nqgs";
+      "https://github.com/microsoft/mimalloc/archive/v1.7.2.tar.gz";
+    hash = "sha256-sZEuNUVlpLaYQQ91g8D4OTSm27Ot5Uq33csVaTIJNr0=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/libraries/aspell/default.nix b/nixpkgs/pkgs/development/libraries/aspell/default.nix
index 01acced98f6f..777bad1e5a53 100644
--- a/nixpkgs/pkgs/development/libraries/aspell/default.nix
+++ b/nixpkgs/pkgs/development/libraries/aspell/default.nix
@@ -23,7 +23,14 @@ stdenv.mkDerivation rec {
     sha256 = "1wi60ankalmh8ds7nplz434jd7j94gdvbahdwsr539rlad8pxdzr";
   };
 
-  patches = lib.optional searchNixProfiles ./data-dirs-from-nix-profiles.patch;
+  patches = [
+    (fetchpatch {
+      #  objstack: assert that the alloc size will fit within a chunk
+      name = "CVE-2019-25051.patch";
+      url = "https://github.com/gnuaspell/aspell/commit/0718b375425aad8e54e1150313b862e4c6fd324a.patch";
+      sha256 = "03z259xrk41x3j190gaprf3mqysyfgh3a04rjmch3h625vj95x39";
+    })
+  ] ++ lib.optional searchNixProfiles ./data-dirs-from-nix-profiles.patch;
 
   postPatch = ''
     patch interfaces/cc/aspell.h < ${./clang.patch}
diff --git a/nixpkgs/pkgs/development/libraries/aspell/dictionaries.nix b/nixpkgs/pkgs/development/libraries/aspell/dictionaries.nix
index 3923416c4a35..81f4bb6c2dce 100644
--- a/nixpkgs/pkgs/development/libraries/aspell/dictionaries.nix
+++ b/nixpkgs/pkgs/development/libraries/aspell/dictionaries.nix
@@ -153,7 +153,7 @@ let
         }
       '';
 
-      phases = [ "preBuild" "buildPhase" "installPhase" ];
+      dontUnpack = true;
     } // args);
 
 in rec {
@@ -905,7 +905,11 @@ in rec {
 
     langInputs = [ en ];
 
-    buildPhase = "cat $src | aspell-affix en-computers --dont-validate-words --lang=en";
+    buildPhase = ''
+      runHook preBuild
+      cat $src | aspell-affix en-computers --dont-validate-words --lang=en
+      runHook postBuild
+    '';
     installPhase = "aspell-install en-computers";
 
     meta = {
@@ -930,8 +934,10 @@ in rec {
     langInputs = [ en ];
 
     buildPhase = ''
+      runHook preBuild
       cat $src1 | aspell-plain en_US-science --dont-validate-words --lang=en
       cat $src2 | aspell-plain en_GB-science --dont-validate-words --lang=en
+      runHook postBuild
     '';
     installPhase = "aspell-install en_US-science en_GB-science";
 
diff --git a/nixpkgs/pkgs/development/libraries/at-spi2-core/default.nix b/nixpkgs/pkgs/development/libraries/at-spi2-core/default.nix
index 515c60c985a7..8413ae597f77 100644
--- a/nixpkgs/pkgs/development/libraries/at-spi2-core/default.nix
+++ b/nixpkgs/pkgs/development/libraries/at-spi2-core/default.nix
@@ -21,11 +21,11 @@
 
 stdenv.mkDerivation rec {
   pname = "at-spi2-core";
-  version = "2.40.2";
+  version = "2.40.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "RNwXr5Q7D9GWxhweA7bBZpYDhcrpbMtelb3v/7aEn5g=";
+    sha256 = "5Jg3wq0w1x4fKcqOCWilS5UDAnL3/0C4m0iWhlPzelw=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/nixpkgs/pkgs/development/libraries/attr/default.nix b/nixpkgs/pkgs/development/libraries/attr/default.nix
index 3ff021222faa..4ad1525c2e09 100644
--- a/nixpkgs/pkgs/development/libraries/attr/default.nix
+++ b/nixpkgs/pkgs/development/libraries/attr/default.nix
@@ -7,22 +7,17 @@
 
 stdenv.mkDerivation rec {
   pname = "attr";
-  version = "2.4.48";
+  version = "2.5.1";
 
   src = fetchurl {
     url = "mirror://savannah/attr/${pname}-${version}.tar.gz";
-    sha256 = "1rr4adzwax4bzr2c00f06zcsljv5y6p9wymz1g89ww7cb2rp5bay";
+    sha256 = "1y6sibbkrcjygv8naadnsg6xmsqwfh6cwrqk01l0v2i5kfacdqds";
   };
 
   outputs = [ "bin" "dev" "out" "man" "doc" ];
 
   nativeBuildInputs = [ gettext ];
 
-  patches = [
-    # fix fakechroot: https://github.com/dex4er/fakechroot/issues/57
-    ./syscall.patch
-  ];
-
   postPatch = ''
     for script in install-sh include/install-sh; do
       patchShebangs $script
diff --git a/nixpkgs/pkgs/development/libraries/attr/syscall.patch b/nixpkgs/pkgs/development/libraries/attr/syscall.patch
deleted file mode 100644
index be2cfb3928b4..000000000000
--- a/nixpkgs/pkgs/development/libraries/attr/syscall.patch
+++ /dev/null
@@ -1,120 +0,0 @@
-From 14adc898a36948267bfe5c63b399996879e94c98 Mon Sep 17 00:00:00 2001
-From: Andreas Gruenbacher <agruenba@redhat.com>
-Date: Fri, 17 Aug 2018 14:07:31 +0200
-Subject: Switch back to syscall()
-
-Switch back to syscall() for the *xattr system calls.  The current
-mechanism of forwarding those calls to glibc breaks libraries like
-libfakeroot (fakeroot) and libasan (the gcc address sanitizer; gcc
--fsanitize=address).
-
-Those libraries provide wrappers for functions defined in other shared
-libraries, usually glibc, do their own processing, and forward calls to
-the original symbols looke dup via dlsym(RTLD_NEXT, "symbol_name").  In
-our case, dlsym returns the libattr_*xattr wrappers.  However, when our
-wrappers try calling glibc, they end up calling the libfakeroot /
-libasan wrappers instead because those override the original symbols =>
-recursion.
-
-The libattr_*xattr wrappers will only be used when symbols are looked up
-at runtime (dlopen / dlsym).  Programs linking against libattr will
-directly use the glibc provided symbols.  Therefore, the slightly worse
-performance of syscall() won't affect any of the "normal" users of
-libattr.
----
- libattr/syscalls.c | 26 ++++++++++++++------------
- 1 file changed, 14 insertions(+), 12 deletions(-)
-
-diff --git a/libattr/syscalls.c b/libattr/syscalls.c
-index 3013aa0..721ad7f 100644
---- a/libattr/syscalls.c
-+++ b/libattr/syscalls.c
-@@ -22,6 +22,8 @@
- 
- #include "config.h"
- 
-+#include <unistd.h>
-+#include <sys/syscall.h>
- #include <sys/xattr.h>
- 
- #ifdef HAVE_VISIBILITY_ATTRIBUTE
-@@ -31,67 +33,67 @@
- int libattr_setxattr(const char *path, const char *name,
- 		     void *value, size_t size, int flags)
- {
--	return setxattr(path, name, value, size, flags);
-+	return syscall(__NR_setxattr, path, name, value, size, flags);
- }
- 
- int libattr_lsetxattr(const char *path, const char *name,
- 		      void *value, size_t size, int flags)
- {
--	return lsetxattr(path, name, value, size, flags);
-+	return syscall(__NR_lsetxattr, path, name, value, size, flags);
- }
- 
- int libattr_fsetxattr(int filedes, const char *name,
- 		      void *value, size_t size, int flags)
- {
--	return fsetxattr(filedes, name, value, size, flags);
-+	return syscall(__NR_fsetxattr, filedes, name, value, size, flags);
- }
- 
- ssize_t libattr_getxattr(const char *path, const char *name,
- 			 void *value, size_t size)
- {
--	return getxattr(path, name, value, size);
-+	return syscall(__NR_getxattr, path, name, value, size);
- }
- 
- ssize_t libattr_lgetxattr(const char *path, const char *name,
- 			  void *value, size_t size)
- {
--	return lgetxattr(path, name, value, size);
-+	return syscall(__NR_lgetxattr, path, name, value, size);
- }
- 
- ssize_t libattr_fgetxattr(int filedes, const char *name,
- 			  void *value, size_t size)
- {
--	return fgetxattr(filedes, name, value, size);
-+	return syscall(__NR_fgetxattr, filedes, name, value, size);
- }
- 
- ssize_t libattr_listxattr(const char *path, char *list, size_t size)
- {
--	return listxattr(path, list, size);
-+	return syscall(__NR_listxattr, path, list, size);
- }
- 
- ssize_t libattr_llistxattr(const char *path, char *list, size_t size)
- {
--	return llistxattr(path, list, size);
-+	return syscall(__NR_llistxattr, path, list, size);
- }
- 
- ssize_t libattr_flistxattr(int filedes, char *list, size_t size)
- {
--	return flistxattr(filedes, list, size);
-+	return syscall(__NR_flistxattr, filedes, list, size);
- }
- 
- int libattr_removexattr(const char *path, const char *name)
- {
--	return removexattr(path, name);
-+	return syscall(__NR_removexattr, path, name);
- }
- 
- int libattr_lremovexattr(const char *path, const char *name)
- {
--	return lremovexattr(path, name);
-+	return syscall(__NR_lremovexattr, path, name);
- }
- 
- int libattr_fremovexattr(int filedes, const char *name)
- {
--	return fremovexattr(filedes, name);
-+	return syscall(__NR_fremovexattr, filedes, name);
- }
- 
- #ifdef HAVE_VISIBILITY_ATTRIBUTE
diff --git a/nixpkgs/pkgs/development/libraries/audio/libgme/default.nix b/nixpkgs/pkgs/development/libraries/audio/libgme/default.nix
index 2761eaf3753a..d78756b0ca45 100644
--- a/nixpkgs/pkgs/development/libraries/audio/libgme/default.nix
+++ b/nixpkgs/pkgs/development/libraries/audio/libgme/default.nix
@@ -21,6 +21,9 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake removeReferencesTo ];
 
+  # These checks fail on aarch64-darwin
+  cmakeFlags = [ "-DENABLE_UBSAN=OFF" ];
+
   # It used to reference it, in the past, but thanks to the postFixup hook, now
   # it doesn't.
   disallowedReferences = [ stdenv.cc.cc ];
diff --git a/nixpkgs/pkgs/development/libraries/audio/lvtk/default.nix b/nixpkgs/pkgs/development/libraries/audio/lvtk/default.nix
index cecae743da05..0ded707b3a10 100644
--- a/nixpkgs/pkgs/development/libraries/audio/lvtk/default.nix
+++ b/nixpkgs/pkgs/development/libraries/audio/lvtk/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, boost, gtkmm2, lv2, pkg-config, python, wafHook }:
+{ lib, stdenv, fetchurl, boost, gtkmm2, lv2, pkg-config, python2, wafHook }:
 
 stdenv.mkDerivation rec {
   pname = "lvtk";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "03nbj2cqcklqwh50zj2gwm07crh5iwqbpxbpzwbg5hvgl4k4rnjd";
   };
 
-  nativeBuildInputs = [ pkg-config python wafHook ];
+  nativeBuildInputs = [ pkg-config python2 wafHook ];
   buildInputs = [ boost gtkmm2 lv2 ];
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/development/libraries/aws-c-common/default.nix b/nixpkgs/pkgs/development/libraries/aws-c-common/default.nix
index 5c71d079aa21..ae47959dd3aa 100644
--- a/nixpkgs/pkgs/development/libraries/aws-c-common/default.nix
+++ b/nixpkgs/pkgs/development/libraries/aws-c-common/default.nix
@@ -2,17 +2,18 @@
 , stdenv
 , fetchFromGitHub
 , cmake
+, coreutils
 }:
 
 stdenv.mkDerivation rec {
   pname = "aws-c-common";
-  version = "0.6.8";
+  version = "0.6.9";
 
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-wtgD8txViYu7yXdnID6TTf4gCDmvebD19XRxFnubndY=";
+    sha256 = "sha256-bnKIL51AW+0T87BxEazXDZElYqiwOUHQVEDKOCUzsbM=";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -22,6 +23,13 @@ stdenv.mkDerivation rec {
     "-DCMAKE_SKIP_BUILD_RPATH=OFF" # for tests
   ];
 
+  # Prevent the execution of tests known to be flaky.
+  preCheck = ''
+    cat <<EOW >CTestCustom.cmake
+    SET(CTEST_CUSTOM_TESTS_IGNORE promise_test_multiple_waiters)
+    EOW
+  '';
+
   doCheck = true;
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/libraries/aws-c-io/default.nix b/nixpkgs/pkgs/development/libraries/aws-c-io/default.nix
index 80112926ca61..012d96fca4d7 100644
--- a/nixpkgs/pkgs/development/libraries/aws-c-io/default.nix
+++ b/nixpkgs/pkgs/development/libraries/aws-c-io/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "aws-c-io";
-  version = "0.9.1";
+  version = "0.10.5";
 
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0lx72p9xmmnjkz4zkfb1lz0ibw0jsy52qpydhvn56bq85nv44rwx";
+    sha256 = "sha256-+H6dUKgpgXG1fh8r6k7TpVFMBso4G762zRfLAZD+Nss=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/aws-sdk-cpp/default.nix b/nixpkgs/pkgs/development/libraries/aws-sdk-cpp/default.nix
index 2aa5ea015fda..fa081ab3f24f 100644
--- a/nixpkgs/pkgs/development/libraries/aws-sdk-cpp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/aws-sdk-cpp/default.nix
@@ -7,15 +7,23 @@
   customMemoryManagement ? true
 }:
 
+let
+  host_os = if stdenv.hostPlatform.isDarwin then "APPLE"
+       else if stdenv.hostPlatform.isAndroid then "ANDROID"
+       else if stdenv.hostPlatform.isWindows then "WINDOWS"
+       else if stdenv.hostPlatform.isLinux then "LINUX"
+       else throw "Unknown host OS";
+in
+
 stdenv.mkDerivation rec {
   pname = "aws-sdk-cpp";
-  version = "1.8.121";
+  version = "1.8.130";
 
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = "aws-sdk-cpp";
     rev = version;
-    sha256 = "sha256-uita3HPcerxH/bnSIL3ZNUp68QXtKJLYi0pcnV7OBkQ=";
+    sha256 = "sha256-5T4l0KYB0utFTdEOtYT9trQ/JehQbXxk/IhI6YavErs=";
   };
 
   # FIXME: might be nice to put different APIs in different outputs
@@ -49,6 +57,7 @@ stdenv.mkDerivation rec {
     "-DENABLE_TESTING=OFF"
     "-DCURL_HAS_H2=1"
     "-DCURL_HAS_TLS_PROXY=1"
+    "-DTARGET_ARCH=${host_os}"
   ] ++ lib.optional (apis != ["*"])
     "-DBUILD_ONLY=${lib.concatStringsSep ";" apis}";
 
diff --git a/nixpkgs/pkgs/development/libraries/bctoolbox/default.nix b/nixpkgs/pkgs/development/libraries/bctoolbox/default.nix
index 1a42211b9393..c1d2813a4f2a 100644
--- a/nixpkgs/pkgs/development/libraries/bctoolbox/default.nix
+++ b/nixpkgs/pkgs/development/libraries/bctoolbox/default.nix
@@ -7,7 +7,7 @@
 
 stdenv.mkDerivation rec {
   pname = "bctoolbox";
-  version = "4.5.20";
+  version = "5.0.0";
 
   nativeBuildInputs = [ cmake bcunit ];
   buildInputs = [ mbedtls ];
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     group = "BC";
     repo = pname;
     rev = version;
-    sha256 = "sha256-n/S0G7dGaDWWsvOITceITmWUNpebcHMedkLTklxGjQg=";
+    sha256 = "sha256-/jv59ZeELfP7PokzthvZNL4FS3tyzRmCHp4I/Lp8BJM=";
   };
 
   # Do not build static libraries
diff --git a/nixpkgs/pkgs/development/libraries/bobcat/default.nix b/nixpkgs/pkgs/development/libraries/bobcat/default.nix
index 06c7ac81dcd2..d0d0720f20ca 100644
--- a/nixpkgs/pkgs/development/libraries/bobcat/default.nix
+++ b/nixpkgs/pkgs/development/libraries/bobcat/default.nix
@@ -4,10 +4,10 @@
 
 stdenv.mkDerivation rec {
   pname = "bobcat";
-  version = "5.05.00";
+  version = "5.09.01";
 
   src = fetchFromGitLab {
-    sha256 = "sha256:14lvxzkxmkk54s97ah996m6s1wbw1g3iwawbhsf8qw7sf75vlp1h";
+    sha256 = "sha256-kaz15mNn/bq1HUknUJqXoLYxPRPX4w340sv9be0M+kQ=";
     domain = "gitlab.com";
     rev = version;
     repo = "bobcat";
diff --git a/nixpkgs/pkgs/development/libraries/boolstuff/default.nix b/nixpkgs/pkgs/development/libraries/boolstuff/default.nix
index 9b1840256ade..c7520ff783e5 100644
--- a/nixpkgs/pkgs/development/libraries/boolstuff/default.nix
+++ b/nixpkgs/pkgs/development/libraries/boolstuff/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Library for operations on boolean expression binary trees";
-    homepage = "https://perso.b2b2c.ca/~sarrazip/dev/boolstuff.html";
+    homepage = "http://perso.b2b2c.ca/~sarrazip/dev/boolstuff.html";
     license = "GPL";
     maintainers = [ lib.maintainers.marcweber ];
     platforms = lib.platforms.all;
diff --git a/nixpkgs/pkgs/development/libraries/boost/1.67.nix b/nixpkgs/pkgs/development/libraries/boost/1.67.nix
deleted file mode 100644
index 29993ed02b8c..000000000000
--- a/nixpkgs/pkgs/development/libraries/boost/1.67.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ lib, stdenv, callPackage, fetchurl, fetchpatch, ... } @ args:
-
-callPackage ./generic.nix (args // {
-  version = "1.67.0";
-
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/boostorg/lockfree/commit/12726cda009a855073b9bedbdce57b6ce7763da2.patch";
-      sha256 = "0x65nkwzv8fdacj8sw5njl3v63jj19dirrpklbwy6qpsncw7fc7h";
-      stripLen = 1;
-    })
-  ] ++ lib.optionals stdenv.cc.isClang [
-    # Fixes https://github.com/boostorg/atomic/issues/15
-    (fetchpatch {
-      url = "https://github.com/boostorg/atomic/commit/6e14ca24dab50ad4c1fa8c27c7dd6f1cb791b534.patch";
-      sha256 = "102g35ygvv8cxagp9651284xk4vybk93q2fm577y4mdxf5k46b7a";
-      stripLen = 1;
-    })
-
-    # Needed for the next patch
-    (fetchpatch {
-      url = "https://github.com/boostorg/asio/commit/38cb19719748ad56b14d73ca1fff5828f36e5894.patch";
-      sha256 = "0cj9cxz9rfbsx8p8f5alxx00dq3r7g0vh23j68bbxbs9gq1arq2n";
-      stripLen = 1;
-    })
-    # Fixes https://github.com/boostorg/asio/pull/91
-    (fetchpatch {
-      url = "https://github.com/boostorg/asio/commit/43874d5497414c67655d901e48c939ef01337edb.patch";
-      sha256 = "1c2ds164s2ygvpb4785p4ncv8ywbpm08cphirb99xp4mqvb693is";
-      stripLen = 1;
-    })
-  ];
-
-  src = fetchurl {
-    url = "mirror://sourceforge/boost/boost_1_67_0.tar.bz2";
-    # SHA256 from http://www.boost.org/users/history/version_1_66_0.html
-    sha256 = "2684c972994ee57fc5632e03bf044746f6eb45d4920c343937a465fd67a5adba";
-  };
-})
diff --git a/nixpkgs/pkgs/development/libraries/boost/1.71.nix b/nixpkgs/pkgs/development/libraries/boost/1.71.nix
deleted file mode 100644
index bec741dd88a2..000000000000
--- a/nixpkgs/pkgs/development/libraries/boost/1.71.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ callPackage, fetchurl, fetchpatch, ... } @ args:
-
-callPackage ./generic.nix (args // rec {
-  version = "1.71.0";
-
-  src = fetchurl {
-    #url = "mirror://sourceforge/boost/boost_1_71_0.tar.bz2";
-    urls = [
-      "mirror://sourceforge/boost/boost_1_71_0.tar.bz2"
-      "https://dl.bintray.com/boostorg/release/1.71.0/source/boost_1_71_0.tar.bz2"
-    ];
-    # SHA256 from http://www.boost.org/users/history/version_1_71_0.html
-    sha256 = "d73a8da01e8bf8c7eda40b4c84915071a8c8a0df4a6734537ddde4a8580524ee";
-  };
-})
diff --git a/nixpkgs/pkgs/development/libraries/boost/generic.nix b/nixpkgs/pkgs/development/libraries/boost/generic.nix
index 6158eb875117..1f9bbe5ffcad 100644
--- a/nixpkgs/pkgs/development/libraries/boost/generic.nix
+++ b/nixpkgs/pkgs/development/libraries/boost/generic.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, icu, expat, zlib, bzip2, python, fixDarwinDylibNames, libiconv
+{ lib, stdenv, icu, expat, zlib, bzip2, python ? null, fixDarwinDylibNames, libiconv
 , fetchpatch
 , which
 , buildPackages
diff --git a/nixpkgs/pkgs/development/libraries/bzrtp/default.nix b/nixpkgs/pkgs/development/libraries/bzrtp/default.nix
index 5236c92527e2..6ee48a0a042a 100644
--- a/nixpkgs/pkgs/development/libraries/bzrtp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/bzrtp/default.nix
@@ -7,7 +7,7 @@
 
 stdenv.mkDerivation rec {
   pname = "bzrtp";
-  version = "4.5.10";
+  version = "5.0.0";
 
   src = fetchFromGitLab {
     domain = "gitlab.linphone.org";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     group = "BC";
     repo = pname;
     rev = version;
-    sha256 = "sha256-8qlCTkiRKMDODKMsa52pskBJ7pjqCDYkUJDb/5gFoKg=";
+    sha256 = "sha256-cagRN0DQw1/efCuMWngcF04SE9bViHANaNsQNKB5txA=";
   };
 
   buildInputs = [ bctoolbox sqlite ];
diff --git a/nixpkgs/pkgs/development/libraries/caf/default.nix b/nixpkgs/pkgs/development/libraries/caf/default.nix
index 60281e7e0c9f..045595a84fde 100644
--- a/nixpkgs/pkgs/development/libraries/caf/default.nix
+++ b/nixpkgs/pkgs/development/libraries/caf/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "actor-framework";
-  version = "0.18.3";
+  version = "0.18.5";
 
   src = fetchFromGitHub {
     owner = "actor-framework";
     repo = "actor-framework";
     rev = version;
-    sha256 = "sha256-9oQVsfh2mUVr64PjNXYD1wRBNJ8dCLO9eI5WnZ1SSww=";
+    sha256 = "04b4kjisb5wzq6pilh8xzbxn7qcjgppl8k65hfv0zi0ja8fyp1xk";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -31,6 +31,7 @@ stdenv.mkDerivation rec {
     homepage = "http://actor-framework.org/";
     license = licenses.bsd3;
     platforms = platforms.unix;
+    changelog = "https://github.com/actor-framework/actor-framework/raw/${version}/CHANGELOG.md";
     maintainers = with maintainers; [ bobakker tobim ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/cairo/default.nix b/nixpkgs/pkgs/development/libraries/cairo/default.nix
index 137da005062e..905098faead9 100644
--- a/nixpkgs/pkgs/development/libraries/cairo/default.nix
+++ b/nixpkgs/pkgs/development/libraries/cairo/default.nix
@@ -53,6 +53,16 @@ in stdenv.mkDerivation rec {
     ./0002-gl-don-t-implicitly-include-X11-headers.patch
     ./0003-test-only-build-GL-tests-when-Xlib-is-enabled.patch
     ./0004-util-don-t-build-cairo-sphinx-unless-PNG-enabled.patch
+
+    # Fixes CVE-2020-35492; see https://github.com/NixOS/nixpkgs/issues/120364.
+    # CVE information: https://nvd.nist.gov/vuln/detail/CVE-2020-35492
+    # Upstream PR: https://gitlab.freedesktop.org/cairo/cairo/merge_requests/85
+    (fetchpatch {
+      name = "CVE-2020-35492.patch";
+      includes = [ "src/cairo-image-compositor.c" ];
+      url = "https://github.com/freedesktop/cairo/commit/78266cc8c0f7a595cfe8f3b694bfb9bcc3700b38.patch";
+      sha256 = "048nzfz7rkgqb9xs0dfs56qdw7ckkxr87nbj3p0qziqdq4nb6wki";
+    })
   ] ++ optionals stdenv.hostPlatform.isDarwin [
     # Workaround https://gitlab.freedesktop.org/cairo/cairo/-/issues/121
     ./skip-configure-stderr-check.patch
diff --git a/nixpkgs/pkgs/development/libraries/capnproto/default.nix b/nixpkgs/pkgs/development/libraries/capnproto/default.nix
index da6aae64db52..a27a54b1eacb 100644
--- a/nixpkgs/pkgs/development/libraries/capnproto/default.nix
+++ b/nixpkgs/pkgs/development/libraries/capnproto/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "capnproto";
-  version = "0.8.0";
+  version = "0.9.0";
 
   src = fetchurl {
     url = "https://capnproto.org/capnproto-c++-${version}.tar.gz";
-    sha256 = "03f1862ljdshg7d0rg3j7jzgm3ip55kzd2y91q7p0racax3hxx6i";
+    sha256 = "sha256-soBUp6K/6kK/w5LI0AljDZTXLozoaiOtbxi15yV0Bk8=";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/libraries/catch2/default.nix b/nixpkgs/pkgs/development/libraries/catch2/default.nix
index 34d61a519ab3..5adcc2d1dd9e 100644
--- a/nixpkgs/pkgs/development/libraries/catch2/default.nix
+++ b/nixpkgs/pkgs/development/libraries/catch2/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "catch2";
-  version = "2.13.4";
+  version = "2.13.7";
 
   src = fetchFromGitHub {
     owner = "catchorg";
     repo = "Catch2";
     rev = "v${version}";
-    sha256="sha256-8tR8MCFYK5XXtJQaIuZ59PJ3h3UYbfXKkaOfcBRt1Xo=";
+    sha256="sha256-NhZ8Hh7dka7KggEKKZyEbIZahuuTYeCT7cYYSUvkPzI=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/cglm/default.nix b/nixpkgs/pkgs/development/libraries/cglm/default.nix
index a1c90f6b463b..dfc9f81edb62 100644
--- a/nixpkgs/pkgs/development/libraries/cglm/default.nix
+++ b/nixpkgs/pkgs/development/libraries/cglm/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cglm";
-  version = "0.8.3";
+  version = "0.8.4";
 
   src = fetchFromGitHub {
     owner = "recp";
     repo = "cglm";
     rev = "v${version}";
-    sha256 = "0crzkxan3kivyah225md5c65zglg5c1cgrsmwhvp51hmrpmxss5v";
+    sha256 = "sha256-AJK1M6iyYdL61pZQhbUWzf+YOUE5FEvUyKqxbQqc7H0=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/cimg/default.nix b/nixpkgs/pkgs/development/libraries/cimg/default.nix
index f70513e0cd00..69e16a8922a5 100644
--- a/nixpkgs/pkgs/development/libraries/cimg/default.nix
+++ b/nixpkgs/pkgs/development/libraries/cimg/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cimg";
-  version = "2.9.7";
+  version = "2.9.8";
 
   src = fetchFromGitHub {
     owner = "dtschump";
     repo = "CImg";
     rev = "v.${version}";
-    sha256 = "sha256-cR2wvGtomT1cZh8wKMCfYDNuP3d1gKhHJavVnvuQ8Mc=";
+    sha256 = "sha256-nEICs1oAIXu6/5O4R3mbwig1OY+HDIWWeQjrcYnCwT0=";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/development/libraries/cjson/default.nix b/nixpkgs/pkgs/development/libraries/cjson/default.nix
index b75b91508cbe..ccf3311317aa 100644
--- a/nixpkgs/pkgs/development/libraries/cjson/default.nix
+++ b/nixpkgs/pkgs/development/libraries/cjson/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cjson";
-  version = "1.7.14";
+  version = "1.7.15";
 
   src = fetchFromGitHub {
     owner = "DaveGamble";
     repo = "cJSON";
     rev = "v${version}";
-    sha256 = "1a3i9ydl65dgwgmlg79n5q8qilmjkaakq56sam1w25zcrd8jy11q";
+    sha256 = "sha256-PpUVsLklcs5hCCsQcsXw0oEVIWecKnQO16Hy0Ba8ov8=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/cmark/default.nix b/nixpkgs/pkgs/development/libraries/cmark/default.nix
index 1cc19277522d..d78db53ea4b5 100644
--- a/nixpkgs/pkgs/development/libraries/cmark/default.nix
+++ b/nixpkgs/pkgs/development/libraries/cmark/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake }:
 
 stdenv.mkDerivation rec {
   pname = "cmark";
@@ -11,6 +11,14 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-UjDM2N6gCwO94F1nW3qCP9JX42MYAicAuGTKAXMy1Gg=";
   };
 
+  patches = [
+    # Fix libcmark.pc paths (should be incorporated next release)
+    (fetchpatch {
+      url = "https://github.com/commonmark/cmark/commit/15762d7d391483859c241cdf82b1615c6b6a5a19.patch";
+      sha256 = "sha256-wdyK1tQolgfiwYMAaWMQZdCSbMDCijug5ykpoDl/HwI=";
+    })
+  ];
+
   nativeBuildInputs = [ cmake ];
 
   cmakeFlags = [
@@ -19,10 +27,12 @@ stdenv.mkDerivation rec {
     "-DCMARK_STATIC=OFF"
   ];
 
-  doCheck = !stdenv.isDarwin;
+  doCheck = true;
 
-  preCheck = ''
-    export LD_LIBRARY_PATH=$(readlink -f ./src)
+  preCheck = let
+    lib_path = if stdenv.isDarwin then "DYLD_FALLBACK_LIBRARY_PATH" else "LD_LIBRARY_PATH";
+  in ''
+    export ${lib_path}=$(readlink -f ./src)
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/libraries/codec2/default.nix b/nixpkgs/pkgs/development/libraries/codec2/default.nix
index 88b35f16c308..a860470af317 100644
--- a/nixpkgs/pkgs/development/libraries/codec2/default.nix
+++ b/nixpkgs/pkgs/development/libraries/codec2/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "codec2";
-  version = "0.9.2";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "drowe67";
     repo = "codec2";
     rev = "v${version}";
-    sha256 = "1jpvr7bra8srz8jvnlbmhf8andbaavq5v01qjnp2f61za93rzwba";
+    sha256 = "sha256-R4H6gwmc8nPgRfhNms7n7jMCHhkzX7i/zfGT4CYSsY8=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/cpp-utilities/default.nix b/nixpkgs/pkgs/development/libraries/cpp-utilities/default.nix
index fdf4b469059e..769f573f7afd 100644
--- a/nixpkgs/pkgs/development/libraries/cpp-utilities/default.nix
+++ b/nixpkgs/pkgs/development/libraries/cpp-utilities/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cpp-utilities";
-  version = "5.10.5";
+  version = "5.11.0";
 
   src = fetchFromGitHub {
     owner = "Martchus";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-1GAZKMfA2cB/7/TZfV+WOvjlu0sWq1loOauX4EfHogA=";
+    sha256 = "sha256-ibZ/cj+pDLxUugz5jTc3FcVlytwS+R1RTtISbXe1mq4=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/csfml/default.nix b/nixpkgs/pkgs/development/libraries/csfml/default.nix
index cfc41b9271be..3aebe23ee38c 100644
--- a/nixpkgs/pkgs/development/libraries/csfml/default.nix
+++ b/nixpkgs/pkgs/development/libraries/csfml/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "csfml";
-  version = "2.5";
+  version = "2.5.1";
   src = fetchFromGitHub {
     owner = "SFML";
     repo  = "CSFML";
     rev   = version;
-    sha256 = "071magxif5nrdddzk2z34czqmz1dfws4d7dqynb2zpn7cwhwxcpm";
+    sha256 = "sha256-a46V5CakKVygNfr3/nZwlsCyqNsbti4a3cr7itK5QfI=";
   };
   nativeBuildInputs = [ cmake ];
   buildInputs = [ sfml ];
diff --git a/nixpkgs/pkgs/development/libraries/dqlite/default.nix b/nixpkgs/pkgs/development/libraries/dqlite/default.nix
index 15785d25fe2f..eb14a44e4fa5 100644
--- a/nixpkgs/pkgs/development/libraries/dqlite/default.nix
+++ b/nixpkgs/pkgs/development/libraries/dqlite/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dqlite";
-  version = "1.8.0";
+  version = "1.9.0";
 
   src = fetchFromGitHub {
     owner = "canonical";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0ghvwlgj5574kpgc53bfhqp4437xxvr05061wwxplpjxn37hy26d";
+    sha256 = "0zalsvr0vy7632nhm96a29lrfy18iqsmbxpyz2lvq80mrjlbrzsn";
   };
 
   nativeBuildInputs = [ autoreconfHook file pkg-config ];
diff --git a/nixpkgs/pkgs/development/libraries/drogon/default.nix b/nixpkgs/pkgs/development/libraries/drogon/default.nix
index 01b4bf16ff06..f669d663379e 100644
--- a/nixpkgs/pkgs/development/libraries/drogon/default.nix
+++ b/nixpkgs/pkgs/development/libraries/drogon/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, fetchFromGitHub, cmake, jsoncpp, libossp_uuid, zlib, openssl, lib
-# miscellaneous
-, brotli, c-ares
-# databases
+{ stdenv, fetchFromGitHub, cmake, jsoncpp, libossp_uuid, zlib, lib
+# optional but of negligible size
+, openssl, brotli, c-ares
+# optional databases
 , sqliteSupport ? true, sqlite
 , postgresSupport ? false, postgresql
 , redisSupport ? false, hiredis
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "drogon";
-  version = "1.7.1";
+  version = "1.7.2";
 
   src = fetchFromGitHub {
-    owner = "an-tao";
+    owner = "drogonframework";
     repo = "drogon";
     rev = "v${version}";
-    sha256 = "0rhwbz3m5x3vy5zllfs8r347wqprg29pff5q7i53f25bh8y0n49i";
+    sha256 = "0g2fm8xb2gi7qaib6mxvg6k6y4g2d0a2jg4k5qvsjbd0n7j8746j";
     fetchSubmodules = true;
   };
 
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
   ] ++ lib.optional sqliteSupport sqlite
     ++ lib.optional postgresSupport postgresql
     ++ lib.optional redisSupport hiredis
-    # drogon uses mariadb for mysql (see https://github.com/an-tao/drogon/wiki/ENG-02-Installation#Library-Dependencies)
+    # drogon uses mariadb for mysql (see https://github.com/drogonframework/drogon/wiki/ENG-02-Installation#Library-Dependencies)
     ++ lib.optional mysqlSupport [ libmysqlclient mariadb ];
 
   patches = [
@@ -48,17 +48,16 @@ stdenv.mkDerivation rec {
   # modifying PATH here makes drogon_ctl visible to the test
   installCheckPhase = ''
     cd ..
-    patchShebangs test.sh
-    PATH=$PATH:$out/bin ./test.sh
+    PATH=$PATH:$out/bin bash test.sh
   '';
 
   doInstallCheck = true;
 
   meta = with lib; {
-    homepage = "https://github.com/an-tao/drogon";
+    homepage = "https://github.com/drogonframework/drogon";
     description = "C++14/17 based HTTP web application framework";
     license = licenses.mit;
-    maintainers = [ maintainers.urlordjames ];
+    maintainers = with maintainers; [ urlordjames ];
     platforms = platforms.all;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/drumstick/default.nix b/nixpkgs/pkgs/development/libraries/drumstick/default.nix
index ba3768227f32..36f2ecd84be2 100644
--- a/nixpkgs/pkgs/development/libraries/drumstick/default.nix
+++ b/nixpkgs/pkgs/development/libraries/drumstick/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "drumstick";
-  version = "2.2.1";
+  version = "2.3.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/drumstick/${version}/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-UxXUEkO5qXPIjw99BdkAspikR9Nlu32clf28cTyf+W4=";
+    sha256 = "sha256-0DUFmL8sifxbC782CYT4eoe4m1kq8T1tEs3YNy8iQuc=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/libraries/duckdb/default.nix b/nixpkgs/pkgs/development/libraries/duckdb/default.nix
index e63f2c3cfd68..92f6accd4262 100644
--- a/nixpkgs/pkgs/development/libraries/duckdb/default.nix
+++ b/nixpkgs/pkgs/development/libraries/duckdb/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "duckdb";
-  version = "0.2.7";
+  version = "0.2.8";
 
   src = fetchFromGitHub {
     owner = "cwida";
     repo = "duckdb";
     rev = "v${version}";
-    sha256 = "0cnqq2n1424fqg7gfyvrwkk6nvjal2fm5n08xc8q28ynyhq4sfmj";
+    sha256 = "sha256-X8zk9D7BQQ6iHdfvpaTZ8wS779wt3nRthH7OG4p9bTg=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/dyncall/default.nix b/nixpkgs/pkgs/development/libraries/dyncall/default.nix
index 0e3fa3ac7dc0..f92f2f0affe4 100644
--- a/nixpkgs/pkgs/development/libraries/dyncall/default.nix
+++ b/nixpkgs/pkgs/development/libraries/dyncall/default.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, fetchurl }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "dyncall";
-  version = "1.1";
+  version = "1.2";
 
   src = fetchurl {
-    url = "https://www.dyncall.org/r1.1/dyncall-1.1.tar.gz";
-    # https://www.dyncall.org/r1.1/SHA256
-    sha256 = "cf97fa3f142db832ff34235caa4d69a7d5f16716573d446b2d95069126e88795";
+    url = "https://www.dyncall.org/r${version}/dyncall-${version}.tar.gz";
+    # https://www.dyncall.org/r1.2/SHA256
+    sha256 = "sha256-6IFUwCQ0IVYHBPXHKUr73snpka+gYB1a3/UELqgYCNc=";
   };
 
   # XXX: broken tests, failures masked, lets avoid crashing a bunch for now :)
diff --git a/nixpkgs/pkgs/development/libraries/eigen/default.nix b/nixpkgs/pkgs/development/libraries/eigen/default.nix
index a16cb628008b..371805804210 100644
--- a/nixpkgs/pkgs/development/libraries/eigen/default.nix
+++ b/nixpkgs/pkgs/development/libraries/eigen/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "eigen";
-  version = "3.3.7";
+  version = "3.3.9";
 
   src = fetchFromGitLab {
     owner = "libeigen";
     repo = pname;
     rev = version;
-    hash = "sha256-oXJ4V5rakL9EPtQF0Geptl0HMR8700FdSrOB09DbbMQ=";
+    sha256 = "sha256-JMIG7CLMndUsECfbKpXE3BtVFuAjn+CZvf8GXZpLkFQ=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/libraries/eigen/include-dir.patch b/nixpkgs/pkgs/development/libraries/eigen/include-dir.patch
index 7f3bd88557ec..42f8e189c0b7 100644
--- a/nixpkgs/pkgs/development/libraries/eigen/include-dir.patch
+++ b/nixpkgs/pkgs/development/libraries/eigen/include-dir.patch
@@ -8,7 +8,16 @@
  
  # guard against in-source builds
  
-@@ -408,13 +408,6 @@ install(FILES
+@@ -407,7 +407,7 @@ set(PKGCONFIG_INSTALL_DIR
+     CACHE STRING "The directory relative to CMAKE_PREFIX_PATH where eigen3.pc is installed"
+     )
+ 
+-foreach(var INCLUDE_INSTALL_DIR CMAKEPACKAGE_INSTALL_DIR PKGCONFIG_INSTALL_DIR)
++foreach(var CMAKEPACKAGE_INSTALL_DIR PKGCONFIG_INSTALL_DIR)
+   if(IS_ABSOLUTE "${${var}}")
+     message(FATAL_ERROR "${var} must be relative to CMAKE_PREFIX_PATH. Got: ${${var}}")
+   endif()
+@@ -429,13 +429,6 @@ install(FILES
    DESTINATION ${INCLUDE_INSTALL_DIR} COMPONENT Devel
    )
  
@@ -22,7 +31,7 @@
  add_subdirectory(Eigen)
  
  add_subdirectory(doc EXCLUDE_FROM_ALL)
-@@ -510,8 +503,15 @@ set ( EIGEN_VERSION_MAJOR  ${EIGEN_WORLD_VERSION} )
+@@ -531,8 +524,15 @@ set ( EIGEN_VERSION_MAJOR  ${EIGEN_WORLD_VERSION} )
  set ( EIGEN_VERSION_MINOR  ${EIGEN_MAJOR_VERSION} )
  set ( EIGEN_VERSION_PATCH  ${EIGEN_MINOR_VERSION} )
  set ( EIGEN_DEFINITIONS "")
diff --git a/nixpkgs/pkgs/development/libraries/embree/default.nix b/nixpkgs/pkgs/development/libraries/embree/default.nix
index 3350c046a51a..b85c057217e7 100644
--- a/nixpkgs/pkgs/development/libraries/embree/default.nix
+++ b/nixpkgs/pkgs/development/libraries/embree/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "embree";
-  version = "3.13.0";
+  version = "3.13.1";
 
   src = fetchFromGitHub {
     owner = "embree";
     repo = "embree";
     rev = "v${version}";
-    sha256 = "sha256-w93GYslQRg0rvguMKv/CuT3+JzIis2CRbY9jYUFKWOM=";
+    sha256 = "sha256-6BL/NnveIMg+xD8Zsc3sidL0iw0YbJITgd8Zf4Mh28I=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/libraries/enchant/2.x.nix b/nixpkgs/pkgs/development/libraries/enchant/2.x.nix
index f2a4ae31346e..237ecf148cb8 100644
--- a/nixpkgs/pkgs/development/libraries/enchant/2.x.nix
+++ b/nixpkgs/pkgs/development/libraries/enchant/2.x.nix
@@ -5,6 +5,7 @@
 , glib
 , hunspell
 , hspell
+, nuspell
 , unittest-cpp
 }:
 
@@ -26,6 +27,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     glib
     hunspell
+    nuspell
   ];
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/entt/default.nix b/nixpkgs/pkgs/development/libraries/entt/default.nix
index 34a4f93bb860..122bd9387308 100644
--- a/nixpkgs/pkgs/development/libraries/entt/default.nix
+++ b/nixpkgs/pkgs/development/libraries/entt/default.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, fetchFromGitHub, cmake }:
 stdenv.mkDerivation rec {
   pname = "entt";
-  version = "3.7.1";
+  version = "3.8.1";
 
   src = fetchFromGitHub {
     owner = "skypjack";
     repo = "entt";
     rev = "v${version}";
-    sha256 = "sha256-t1QRqasb82W277XEV2FG5JrsQWIWZ0G5V7wLI+p4MpQ=";
+    sha256 = "sha256-vg2tpGyZZM8c97Qko88JMP5YNPZx5kI5qRkkRclvZtA=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/ethash/default.nix b/nixpkgs/pkgs/development/libraries/ethash/default.nix
index dcb10b8ba08e..c1ef9cee9906 100644
--- a/nixpkgs/pkgs/development/libraries/ethash/default.nix
+++ b/nixpkgs/pkgs/development/libraries/ethash/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "ethash";
-  version = "0.6.0";
+  version = "0.7.0";
 
   src =
     fetchFromGitHub {
       owner = "chfast";
       repo = "ethash";
       rev = "v${version}";
-      sha256 = "sha256-N30v9OZwTmDbltPPmeSa0uOGJhos1VzyS5zY9vVCWfA=";
+      sha256 = "sha256-QQoWOJGwL03zbBfrFNXz0Ff9Agc2dMBW9nW3jdOwEE8=";
     };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/eventlog/default.nix b/nixpkgs/pkgs/development/libraries/eventlog/default.nix
index ba4155db1e3c..b5b4bc556f69 100644
--- a/nixpkgs/pkgs/development/libraries/eventlog/default.nix
+++ b/nixpkgs/pkgs/development/libraries/eventlog/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ autoreconfHook ];
 
-  meta = {
+  meta = with lib; {
     description = "Syslog event logger library";
     longDescription = ''
       The EventLog library aims to be a replacement of the simple syslog() API
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
       combination of description and tag/value pairs.
     '';
     homepage = "https://www.balabit.com/support/community/products/";
-    license = lib.licenses.bsd3;
-    platforms = lib.platforms.unix;
+    license = licenses.bsd3;
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/faudio/default.nix b/nixpkgs/pkgs/development/libraries/faudio/default.nix
index c030f53df26c..a4f19678f240 100644
--- a/nixpkgs/pkgs/development/libraries/faudio/default.nix
+++ b/nixpkgs/pkgs/development/libraries/faudio/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "faudio";
-  version = "21.01";
+  version = "21.08";
 
   src = fetchFromGitHub {
     owner = "FNA-XNA";
     repo = "FAudio";
     rev = version;
-    sha256 = "sha256-D7nlwQnz2JPRB3JrrkyUcaaf4Ro/+Ap8sqq5Oz8naHw=";
+    sha256 = "sha256-zgXIho1jmoOCVcjvDwiq+J1jOzsPgxvvaWN8NfszEdA=";
   };
 
   nativeBuildInputs = [cmake];
diff --git a/nixpkgs/pkgs/development/libraries/fcft/default.nix b/nixpkgs/pkgs/development/libraries/fcft/default.nix
index b61505f60e6a..8f2d56fad285 100644
--- a/nixpkgs/pkgs/development/libraries/fcft/default.nix
+++ b/nixpkgs/pkgs/development/libraries/fcft/default.nix
@@ -1,16 +1,24 @@
-{ stdenv, lib, fetchzip, pkg-config, meson, ninja, scdoc
+{ stdenv, lib, fetchFromGitea, pkg-config, meson, ninja, scdoc
 , freetype, fontconfig, pixman, tllist, check
 , withHarfBuzz ? true
 , harfbuzz
 }:
 
+let
+  # Courtesy of sternenseemann and FRidh, commit c9a7fdfcfb420be8e0179214d0d91a34f5974c54
+  mesonFeatureFlag = opt: b: "-D${opt}=${if b then "enabled" else "disabled"}";
+in
+
 stdenv.mkDerivation rec {
   pname = "fcft";
-  version = "2.4.3";
+  version = "2.4.5";
 
-  src = fetchzip {
-    url = "https://codeberg.org/dnkl/fcft/archive/${version}.tar.gz";
-    sha256 = "0hxvd6xbvgq1rk8851gswffmvh3fv41lyvz4fhwzln7m12759yw8";
+  src = fetchFromGitea {
+    domain = "codeberg.org";
+    owner = "dnkl";
+    repo = "fcft";
+    rev = version;
+    sha256 = "0z4bqap88pydkgcxrsvm3fmcyhi9x7z8knliarvdcvqlk7qnyzfh";
   };
 
   depsBuildBuild = [ pkg-config ];
@@ -19,15 +27,16 @@ stdenv.mkDerivation rec {
     ++ lib.optional withHarfBuzz harfbuzz;
   checkInputs = [ check ];
 
+  mesonBuildType = "release";
   mesonFlags = [
-    "--buildtype=release"
-    "-Dtext-shaping=${if withHarfBuzz then "enabled" else "disabled"}"
+    (mesonFeatureFlag "text-shaping" withHarfBuzz)
   ];
 
   doCheck = true;
 
   meta = with lib; {
     homepage = "https://codeberg.org/dnkl/fcft";
+    changelog = "https://codeberg.org/dnkl/fcft/releases/tag/${version}";
     description = "Simple library for font loading and glyph rasterization";
     maintainers = with maintainers; [
       fionera
diff --git a/nixpkgs/pkgs/development/libraries/fdk-aac/default.nix b/nixpkgs/pkgs/development/libraries/fdk-aac/default.nix
index dc64a6edce04..a94c204c2f78 100644
--- a/nixpkgs/pkgs/development/libraries/fdk-aac/default.nix
+++ b/nixpkgs/pkgs/development/libraries/fdk-aac/default.nix
@@ -1,25 +1,25 @@
-{ lib, stdenv, fetchurl
+{ lib
+, stdenv
+, fetchurl
 , exampleSupport ? false # Example encoding program
 }:
 
-with lib;
 stdenv.mkDerivation rec {
   pname = "fdk-aac";
-  version = "2.0.1";
+  version = "2.0.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/opencore-amr/fdk-aac/${pname}-${version}.tar.gz";
-    sha256 = "0wgjjc0dfkm2w966lc9c8ir8f671vl1ppch3mya3h58jjjm360c4";
+    sha256 = "sha256-yehjDPnUM/POrXSQahUg0iI/ibzT+pJUhhAXRAuOsi8=";
   };
 
-  configureFlags = [ ]
-    ++ optional exampleSupport "--enable-example";
+  configureFlags = lib.optional exampleSupport "--enable-example";
 
-  meta = {
+  meta = with lib; {
     description = "A high-quality implementation of the AAC codec from Android";
-    homepage    = "https://sourceforge.net/projects/opencore-amr/";
-    license     = licenses.asl20;
+    homepage = "https://sourceforge.net/projects/opencore-amr/";
+    license = licenses.asl20;
     maintainers = with maintainers; [ codyopel ];
-    platforms   = platforms.all;
+    platforms = platforms.all;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/ffmpeg-full/default.nix b/nixpkgs/pkgs/development/libraries/ffmpeg-full/default.nix
index 98d8ef434e06..3dca11008f72 100644
--- a/nixpkgs/pkgs/development/libraries/ffmpeg-full/default.nix
+++ b/nixpkgs/pkgs/development/libraries/ffmpeg-full/default.nix
@@ -74,6 +74,7 @@
 , libcaca ? null # Textual display (ASCII art)
 #, libcdio-paranoia ? null # Audio CD grabbing
 , libdc1394 ? null, libraw1394 ? null # IIDC-1394 grabbing (ieee 1394)
+, libdrm ? null # libdrm support
 , libiconv ? null
 #, libiec61883 ? null, libavc1394 ? null # iec61883 (also uses libraw1394)
 , libmfx ? null # Hardware acceleration vis libmfx
@@ -348,6 +349,7 @@ stdenv.mkDerivation rec {
     #(enableFeature (libcaca != null) "libcaca")
     #(enableFeature (cdio-paranoia != null && gplLicensing) "libcdio")
     (enableFeature (if isLinux then libdc1394 != null && libraw1394 != null else false) "libdc1394")
+    (enableFeature ((isLinux || isFreeBSD) && libdrm != null) "libdrm")
     (enableFeature (libiconv != null) "iconv")
     (enableFeature (libjack2 != null) "libjack")
     #(enableFeature (if isLinux then libiec61883 != null && libavc1394 != null && libraw1394 != null else false) "libiec61883")
@@ -404,6 +406,7 @@ stdenv.mkDerivation rec {
     (enableFeature (zlib != null) "zlib")
     (enableFeature (isLinux && vulkan-loader != null) "vulkan")
     (enableFeature (isLinux && vulkan-loader != null && glslang != null) "libglslang")
+    (enableFeature (samba != null && gplLicensing && version3Licensing) "libsmbclient")
     #(enableFeature (zvbi != null && gplLicensing) "libzvbi")
     /*
      * Developer flags
@@ -432,6 +435,7 @@ stdenv.mkDerivation rec {
   ] ++ optionals openglExtlib [ libGL libGLU ]
     ++ optionals nonfreeLicensing [ fdk_aac openssl ]
     ++ optional ((isLinux || isFreeBSD) && libva != null) libva
+    ++ optional ((isLinux || isFreeBSD) && libdrm != null) libdrm
     ++ optional (!isAarch64 && libvmaf != null && version3Licensing) libvmaf
     ++ optionals isLinux [ alsa-lib libraw1394 libv4l vulkan-loader glslang ]
     ++ optional (isLinux && !isAarch64 && libmfx != null) libmfx
diff --git a/nixpkgs/pkgs/development/libraries/fftw/default.nix b/nixpkgs/pkgs/development/libraries/fftw/default.nix
index 9385903b3f59..b2189b77bf76 100644
--- a/nixpkgs/pkgs/development/libraries/fftw/default.nix
+++ b/nixpkgs/pkgs/development/libraries/fftw/default.nix
@@ -1,4 +1,15 @@
-{ fetchurl, stdenv, lib, llvmPackages ? null, precision ? "double", perl }:
+{ fetchurl
+, stdenv
+, lib
+, gfortran
+, perl
+, llvmPackages ? null
+, precision ? "double"
+, enableAvx ? stdenv.hostPlatform.avxSupport
+, enableAvx2 ? stdenv.hostPlatform.avx2Support
+, enableAvx512 ? stdenv.hostPlatform.avx512Support
+, enableFma ? stdenv.hostPlatform.fmaSupport
+}:
 
 with lib;
 
@@ -25,6 +36,8 @@ stdenv.mkDerivation {
     ++ optional withDoc "info"; # it's dev-doc only
   outputBin = "dev"; # fftw-wisdom
 
+  nativeBuildInputs = [ gfortran ];
+
   buildInputs = lib.optionals stdenv.cc.isClang [
     # TODO: This may mismatch the LLVM version sin the stdenv, see #79818.
     llvmPackages.openmp
@@ -38,6 +51,10 @@ stdenv.mkDerivation {
     # all x86_64 have sse2
     # however, not all float sizes fit
     ++ optional (stdenv.isx86_64 && (precision == "single" || precision == "double") )  "--enable-sse2"
+    ++ optional enableAvx "--enable-avx"
+    ++ optional enableAvx2 "--enable-avx2"
+    ++ optional enableAvx512 "--enable-avx512"
+    ++ optional enableFma "--enable-fma"
     ++ [ "--enable-openmp" ]
     # doc generation causes Fortran wrapper generation which hard-codes gcc
     ++ optional (!withDoc) "--disable-doc";
diff --git a/nixpkgs/pkgs/development/libraries/flatbuffers/1.12.nix b/nixpkgs/pkgs/development/libraries/flatbuffers/1.12.nix
index df2980ba204f..1ad490d3a01b 100644
--- a/nixpkgs/pkgs/development/libraries/flatbuffers/1.12.nix
+++ b/nixpkgs/pkgs/development/libraries/flatbuffers/1.12.nix
@@ -20,7 +20,7 @@ callPackage ./generic.nix {
     })
   ];
 
-  preConfigure = lib.optional stdenv.buildPlatform.isDarwin ''
+  preConfigure = lib.optionalString stdenv.buildPlatform.isDarwin ''
     rm BUILD
   '';
 }
diff --git a/nixpkgs/pkgs/development/libraries/flint/default.nix b/nixpkgs/pkgs/development/libraries/flint/default.nix
index 7f814461f282..548f561f25a0 100644
--- a/nixpkgs/pkgs/development/libraries/flint/default.nix
+++ b/nixpkgs/pkgs/development/libraries/flint/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchurl
 , gmp
 , mpir
@@ -12,11 +13,11 @@ assert withBlas -> openblas != null && blas.implementation == "openblas" && lapa
 
 stdenv.mkDerivation rec {
   pname = "flint";
-  version = "2.7.1";
+  version = "2.8.0";
 
   src = fetchurl {
-    url = "http://www.flintlib.org/flint-${version}.tar.gz";
-    sha256 = "07j8r96kdzp19cy3a5yvpjxf90mkd6103yr2n42qmpv7mgcjyvhq";
+    url = "https://www.flintlib.org/flint-${version}.tar.gz";
+    sha256 = "sha256-WEI1zcOdd52ZIOrvFv4ITzwm/+7qADo//2SiCg8zRJ4=";
   };
 
   buildInputs = [
@@ -27,9 +28,11 @@ stdenv.mkDerivation rec {
   ] ++ lib.optionals withBlas [
     openblas
   ];
+
   propagatedBuildInputs = [
     mpfr # flint.h includes mpfr.h
   ];
+
   configureFlags = [
     "--with-gmp=${gmp}"
     "--with-mpir=${mpir}"
@@ -40,13 +43,14 @@ stdenv.mkDerivation rec {
   ];
 
   doCheck = true;
-  meta = {
+
+  meta = with lib; {
     description = "Fast Library for Number Theory";
-    license = lib.licenses.gpl2Plus;
-    maintainers = lib.teams.sage.members;
-    platforms = lib.platforms.unix;
-    homepage = "http://www.flintlib.org/";
-    downloadPage = "http://www.flintlib.org/downloads.html";
+    license = licenses.gpl2Plus;
+    maintainers = teams.sage.members;
+    platforms = platforms.unix;
+    homepage = "https://www.flintlib.org/";
+    downloadPage = "https://www.flintlib.org/downloads.html";
     updateWalker = true;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/folly/default.nix b/nixpkgs/pkgs/development/libraries/folly/default.nix
index 212b656adda5..91551d076dcf 100644
--- a/nixpkgs/pkgs/development/libraries/folly/default.nix
+++ b/nixpkgs/pkgs/development/libraries/folly/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation (rec {
   pname = "folly";
-  version = "2021.01.25.00";
+  version = "2021.08.23.00";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "folly";
     rev = "v${version}";
-    sha256 = "sha256-n2cpXdjPZYNjvSHBZFFn3JFwqYCFWc8qSKwet80LtJE=";
+    sha256 = "sha256-B+J4h12jjusA15+QRR3egmUEwYRrnegtEWMuQX+QuJk=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/freetds/default.nix b/nixpkgs/pkgs/development/libraries/freetds/default.nix
index 56f0e03921be..b79fb2fd06dc 100644
--- a/nixpkgs/pkgs/development/libraries/freetds/default.nix
+++ b/nixpkgs/pkgs/development/libraries/freetds/default.nix
@@ -8,11 +8,11 @@ assert odbcSupport -> unixODBC != null;
 
 stdenv.mkDerivation rec {
   pname = "freetds";
-  version = "1.2.21";
+  version = "1.3";
 
   src = fetchurl {
     url    = "https://www.freetds.org/files/stable/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-pea79tbz3AgWsZy9CDCNJ6CEsEkmqqBaxn+AjqB9PY0=";
+    sha256 = "sha256-j5ecrU2DUJBubDZF9wRxr0eNCHWe2TzToxQn8HkrX5c=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/freetype/default.nix b/nixpkgs/pkgs/development/libraries/freetype/default.nix
index adda15696e8a..6c66561f29f2 100644
--- a/nixpkgs/pkgs/development/libraries/freetype/default.nix
+++ b/nixpkgs/pkgs/development/libraries/freetype/default.nix
@@ -9,31 +9,14 @@
   useEncumberedCode ? true
 }:
 
-let
-  inherit (lib) optional optionalString;
 
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "freetype";
-  version = "2.10.4";
-
-  meta = with lib; {
-    description = "A font rendering engine";
-    longDescription = ''
-      FreeType is a portable and efficient library for rendering fonts. It
-      supports TrueType, Type 1, CFF fonts, and WOFF, PCF, FNT, BDF and PFR
-      fonts. It has a bytecode interpreter and has an automatic hinter called
-      autofit which can be used instead of hinting instructions included in
-      fonts.
-    '';
-    homepage = "https://www.freetype.org/";
-    license = licenses.gpl2Plus; # or the FreeType License (BSD + advertising clause)
-    platforms = platforms.all;
-    maintainers = with maintainers; [ ttuegel ];
-  };
+  version = "2.11.0";
 
   src = fetchurl {
     url = "mirror://savannah/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "112pyy215chg7f7fmp2l9374chhhpihbh8wgpj5nj6avj3c59a46";
+    sha256 = "sha256-i+45vTloxIBLcGFKCjrVlyma0OgkvIqtXOiq9IBnvec=";
   };
 
   propagatedBuildInputs = [ zlib bzip2 libpng ]; # needed when linking against freetype
@@ -41,12 +24,11 @@ in stdenv.mkDerivation rec {
   # dependence on harfbuzz is looser than the reverse dependence
   nativeBuildInputs = [ pkg-config which makeWrapper ]
     # FreeType requires GNU Make, which is not part of stdenv on FreeBSD.
-    ++ optional (!stdenv.isLinux) gnumake;
+    ++ lib.optional (!stdenv.isLinux) gnumake;
 
-  patches =
-    [ ./enable-table-validation.patch
-    ] ++
-    optional useEncumberedCode ./enable-subpixel-rendering.patch;
+  patches = [
+    ./enable-table-validation.patch
+  ] ++ lib.optional useEncumberedCode ./enable-subpixel-rendering.patch;
 
   outputs = [ "out" "dev" ];
 
@@ -56,7 +38,7 @@ in stdenv.mkDerivation rec {
   CC_BUILD = "${buildPackages.stdenv.cc}/bin/cc";
 
   # The asm for armel is written with the 'asm' keyword.
-  CFLAGS = optionalString stdenv.isAarch32 "-std=gnu99";
+  CFLAGS = lib.optionalString stdenv.isAarch32 "-std=gnu99";
 
   enableParallelBuilding = true;
 
@@ -70,4 +52,18 @@ in stdenv.mkDerivation rec {
       --set PKG_CONFIG_PATH "$PKG_CONFIG_PATH:$dev/lib/pkgconfig"
   '';
 
+  meta = with lib; {
+    description = "A font rendering engine";
+    longDescription = ''
+      FreeType is a portable and efficient library for rendering fonts. It
+      supports TrueType, Type 1, CFF fonts, and WOFF, PCF, FNT, BDF and PFR
+      fonts. It has a bytecode interpreter and has an automatic hinter called
+      autofit which can be used instead of hinting instructions included in
+      fonts.
+    '';
+    homepage = "https://www.freetype.org/";
+    license = licenses.gpl2Plus; # or the FreeType License (BSD + advertising clause)
+    platforms = platforms.all;
+    maintainers = with maintainers; [ ttuegel ];
+  };
 }
diff --git a/nixpkgs/pkgs/development/libraries/frei0r/default.nix b/nixpkgs/pkgs/development/libraries/frei0r/default.nix
index c4f993462964..ac2c43ce8dbb 100644
--- a/nixpkgs/pkgs/development/libraries/frei0r/default.nix
+++ b/nixpkgs/pkgs/development/libraries/frei0r/default.nix
@@ -1,16 +1,26 @@
-{ lib, stdenv, fetchurl, autoconf, cairo, opencv, pkg-config }:
+{ lib, stdenv, fetchurl, fetchpatch, cairo, cmake, opencv, pcre, pkg-config }:
 
 stdenv.mkDerivation rec {
   pname = "frei0r-plugins";
-  version = "1.6.1";
+  version = "1.7.0";
 
   src = fetchurl {
     url = "https://files.dyne.org/frei0r/releases/${pname}-${version}.tar.gz";
-    sha256 = "0pji26fpd0dqrx1akyhqi6729s394irl73dacnyxk58ijqq4dhp0";
+    hash = "sha256-Gx/48Pm8I+7XJOlOmnwdjwJEv+M0JLtP5o5kYMCIUjo=";
   };
 
-  nativeBuildInputs = [ autoconf pkg-config ];
-  buildInputs = [ cairo opencv ];
+  # A PR to add support for OpenCV 4 was merged in May 2020. This
+  # patch can be removed when a release beyond 1.7.0 is issued.
+  patches = [
+    (fetchpatch {
+      name = "opencv4-support.patch";
+      url = "https://github.com/dyne/frei0r/commit/c0c8eed79fc8abe6c9881a53d7391efb526a3064.patch";
+      sha256 = "sha256-qxUAui4EEBEj8M/SoyMUkj//KegMTTT6FTBDC/Chxz4=";
+    })
+  ];
+
+  nativeBuildInputs = [ cmake pkg-config ];
+  buildInputs = [ cairo opencv pcre ];
 
   postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
     for f in $out/lib/frei0r-1/*.so* ; do
diff --git a/nixpkgs/pkgs/development/libraries/ftxui/default.nix b/nixpkgs/pkgs/development/libraries/ftxui/default.nix
new file mode 100644
index 000000000000..df664a309a7c
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/ftxui/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, doxygen
+, graphviz
+}:
+
+stdenv.mkDerivation rec {
+  pname = "ftxui";
+  version = "unstable-2021-08-13";
+
+  src = fetchFromGitHub {
+    owner = "ArthurSonzogni";
+    repo = pname;
+    rev = "69b0c9e53e523ac43a303964fc9c5bc0da7d5d61";
+    sha256 = "0cbljksgy1ckw34h0mq70s8sma0p16sznn4z9r4hwv76y530m0ww";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    doxygen
+    graphviz
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/ArthurSonzogni/FTXUI";
+    description = "Functional Terminal User Interface for C++";
+    license = licenses.mit;
+    maintainers = [ maintainers.ivar ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/gbenchmark/default.nix b/nixpkgs/pkgs/development/libraries/gbenchmark/default.nix
index c1f485e18d9b..70bd37e40d39 100644
--- a/nixpkgs/pkgs/development/libraries/gbenchmark/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gbenchmark/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gbenchmark";
-  version = "1.5.2";
+  version = "1.5.6";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "benchmark";
     rev = "v${version}";
-    sha256 = "13rxagpzw6bal6ajlmrxlh9kgfvcixn6j734b2bvfqz7lch8n0pa";
+    sha256 = "sha256-DFm5cQh1b2BX6qCDaQZ1/XBNDeIYXKWbIETYu1EjDww=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/gcab/default.nix b/nixpkgs/pkgs/development/libraries/gcab/default.nix
index efc533c55041..d0d314037d28 100644
--- a/nixpkgs/pkgs/development/libraries/gcab/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gcab/default.nix
@@ -78,6 +78,6 @@ stdenv.mkDerivation rec {
     homepage = "https://gitlab.gnome.org/GNOME/gcab";
     license = licenses.lgpl21Plus;
     maintainers = teams.gnome.members;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/gdal/default.nix b/nixpkgs/pkgs/development/libraries/gdal/default.nix
index 15fc84895fb5..ca5eabd65302 100644
--- a/nixpkgs/pkgs/development/libraries/gdal/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gdal/default.nix
@@ -7,13 +7,13 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "gdal";
-  version = "3.2.2";
+  version = "3.3.1";
 
   src = fetchFromGitHub {
     owner = "OSGeo";
     repo = "gdal";
-    rev = "a33784291d19015217ea2604988e53d448e14a07";
-    sha256 = "sha256-ynCju3chDfYtyrGmUE0n3kkaH2Mpm+/DDHHxCahjhSQ=";
+    rev = "v${version}";
+    sha256 = "0832w40a92cl8ydkv0pk7nl1ivhfhbhqbhmpqmdjpi0126jlm2y0";
   };
 
   sourceRoot = "source/gdal";
diff --git a/nixpkgs/pkgs/development/libraries/gdcm/default.nix b/nixpkgs/pkgs/development/libraries/gdcm/default.nix
index 86d80a529d59..af4a5a38f7eb 100644
--- a/nixpkgs/pkgs/development/libraries/gdcm/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gdcm/default.nix
@@ -7,7 +7,7 @@
 , ApplicationServices
 , Cocoa
 , enablePython ? false
-, python
+, python ? null
 , swig
 }:
 
diff --git a/nixpkgs/pkgs/development/libraries/gensio/default.nix b/nixpkgs/pkgs/development/libraries/gensio/default.nix
index 3978c05f2c71..0cd2f79ea552 100644
--- a/nixpkgs/pkgs/development/libraries/gensio/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gensio/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gensio";
-  version = "2.2.7";
+  version = "2.2.8";
 
   src = fetchFromGitHub {
     owner = "cminyard";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-2wxsPHrQ9GgyUE4p6zYuR1mPU2OyjtgiPnMApEscR2g=";
+    sha256 = "sha256-6+hYytLMg5E1KTBPWSteVu2VjF0APkcoOiigqzrBI+U=";
   };
 
   passthru = {
diff --git a/nixpkgs/pkgs/development/libraries/git2/default.nix b/nixpkgs/pkgs/development/libraries/git2/default.nix
index a118a611785e..b02e1ecc6f7b 100644
--- a/nixpkgs/pkgs/development/libraries/git2/default.nix
+++ b/nixpkgs/pkgs/development/libraries/git2/default.nix
@@ -5,14 +5,14 @@
 
 stdenv.mkDerivation rec {
   pname = "libgit2";
-  version = "1.1.0";
+  version = "1.1.1";
   # keep the version in sync with python3.pkgs.pygit2 and libgit2-glib
 
   src = fetchFromGitHub {
     owner = "libgit2";
     repo = "libgit2";
     rev = "v${version}";
-    sha256 = "1vj7q7b8j3smiyi1acbc5x86lqk00igdm2adjnqs9n011i13rykl";
+    sha256 = "sha256-SxceIxT0aeiiiZCeSIe6EOa+MyVpQVaiv/ZZn6fkwIc=";
   };
 
   cmakeFlags = [
diff --git a/nixpkgs/pkgs/development/libraries/gjs/default.nix b/nixpkgs/pkgs/development/libraries/gjs/default.nix
index 342d498f1547..e86775de623b 100644
--- a/nixpkgs/pkgs/development/libraries/gjs/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gjs/default.nix
@@ -30,13 +30,13 @@ let
   ];
 in stdenv.mkDerivation rec {
   pname = "gjs";
-  version = "1.68.1";
+  version = "1.68.2";
 
   outputs = [ "out" "dev" "installedTests" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gjs/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0w2cbfpmc6alz7z8ycchhlkn586av5y8zk2xmgwzq10i0k13xyig";
+    sha256 = "sha256-cP8CraaC8TAzjsXMTFEQPcDlyrjVN+t2sYHsUSpl7jA=";
   };
 
   patches = [
@@ -126,6 +126,7 @@ in stdenv.mkDerivation rec {
 
     updateScript = gnome.updateScript {
       packageName = "gjs";
+      versionPolicy = "odd-unstable";
     };
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/goocanvas/3.x.nix b/nixpkgs/pkgs/development/libraries/goocanvas/3.x.nix
new file mode 100644
index 000000000000..c5decffe74e2
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/goocanvas/3.x.nix
@@ -0,0 +1,49 @@
+{ lib
+, stdenv
+, fetchurl
+, pkg-config
+, gettext
+, gobject-introspection
+, gtk-doc
+, python3
+, cairo
+, gtk3
+, glib
+}:
+
+stdenv.mkDerivation rec {
+  pname = "goocanvas";
+  version = "3.0.0";
+
+  outputs = [ "out" "dev" "devdoc" ];
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/goocanvas/${lib.versions.majorMinor version}/goocanvas-${version}.tar.xz";
+    sha256 = "06j05g2lmwvklmv51xsb7gm7rszcarhm01sal41jfp0qzrbpa2k7";
+  };
+
+  nativeBuildInputs = [
+    pkg-config
+    gettext
+    gobject-introspection
+    gtk-doc
+    python3
+  ];
+
+  buildInputs = [
+    cairo
+    gtk3
+    glib
+  ];
+
+  PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_GIRDIR = "$(dev)/share/gir-1.0";
+  PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_TYPELIBDIR = "$(out)/lib/girepository-1.0";
+
+  meta = with lib; {
+    description = "Canvas widget for GTK based on the the Cairo 2D library";
+    homepage = "https://wiki.gnome.org/Projects/GooCanvas";
+    license = licenses.lgpl2; # https://gitlab.gnome.org/GNOME/goocanvas/-/issues/12
+    maintainers = with maintainers; [ bobby285271 ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/gpgme/default.nix b/nixpkgs/pkgs/development/libraries/gpgme/default.nix
index c8dad069dccc..9cbf5c39a7e7 100644
--- a/nixpkgs/pkgs/development/libraries/gpgme/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gpgme/default.nix
@@ -20,17 +20,21 @@ stdenv.mkDerivation rec {
     sha256 = "1l4yw9fqc1blvx1sq1jnfvp1jijla3ca2jw90p4x9m8hvfpc933c";
   };
 
-  patches =
-    # TODO: apply unconditionally on a rebuild; probably included in > 1.16.0
-    lib.optional (stdenv.is32bit && stdenv.isLinux) (fetchpatch {
+  patches = [
+    (fetchpatch { # probably included in > 1.16.0
       name = "test_t-edit-sign.diff"; # we experienced segmentation fault in this test
-      url = "https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gpgme.git;a=patch;h=81a33ea5e1b86d586b956e893a5b25c4cd41c969";
+      urls = [
+        "https://files.gnupg.net/file/data/w43xz2zf73pnyqk5mm5l/PHID-FILE-hm2x5mjntsdyxrxve5tb/file"
+        "https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gpgme.git;a=patch;h=81a33ea5e1b86d586b956e893a5b25c4cd41c969"
+      ];
       sha256 = "1xxvv0kc9wdj5hzpddzs3cn8dhmm2cb29224a7h9vairraq5272h";
     })
-  ++ [
     (fetchpatch { # gpg: Send --with-keygrip when listing keys
       name = "c4cf527ea227edb468a84bf9b8ce996807bd6992.patch";
-      url = "http://git.gnupg.org/cgi-bin/gitweb.cgi?p=gpgme.git;a=patch;h=c4cf527ea227edb468a84bf9b8ce996807bd6992";
+      urls = [
+        "https://files.gnupg.net/file/data/2ufcg7ny5jdnv7hmewb4/PHID-FILE-7iwvryn2btti6txr3bsz/file"
+        "http://git.gnupg.org/cgi-bin/gitweb.cgi?p=gpgme.git;a=patch;h=c4cf527ea227edb468a84bf9b8ce996807bd6992"
+      ];
       sha256 = "0y0b0lb2nq5p9kx13b59b2jaz157mvflliw1qdvg1v1hynvgb8m4";
     })
     # https://lists.gnupg.org/pipermail/gnupg-devel/2020-April/034591.html
diff --git a/nixpkgs/pkgs/development/libraries/graphene-hardened-malloc/default.nix b/nixpkgs/pkgs/development/libraries/graphene-hardened-malloc/default.nix
index 726666ec06f3..35a4d9362680 100644
--- a/nixpkgs/pkgs/development/libraries/graphene-hardened-malloc/default.nix
+++ b/nixpkgs/pkgs/development/libraries/graphene-hardened-malloc/default.nix
@@ -1,15 +1,23 @@
-{ lib, stdenv, fetchurl }:
+{ lib, stdenv, fetchurl, python3, runCommand, makeWrapper, stress-ng }:
 
-stdenv.mkDerivation rec {
+lib.fix (self: stdenv.mkDerivation rec {
   pname = "graphene-hardened-malloc";
-  version = "2";
+  version = "8";
 
   src = fetchurl {
     url = "https://github.com/GrapheneOS/hardened_malloc/archive/${version}.tar.gz";
-    sha256 = "0zsl4vl65ic6lw5rzcjzvcxg8makg683abnwvy60zfap8hvijvjb";
+    sha256 = "0lipyd2pb1bmghkyv9zmg25jwcglj7m281f01zlh3ghz3xlfh0ym";
   };
 
+  doCheck = true;
+  checkInputs = [ python3 ];
+  # these tests cover use as a build-time-linked library
+  checkPhase = ''
+    make test
+  '';
+
   installPhase = ''
+    install -Dm444 -t $out/include include/*
     install -Dm444 -t $out/lib libhardened_malloc.so
 
     mkdir -p $out/bin
@@ -19,28 +27,51 @@ stdenv.mkDerivation rec {
 
   separateDebugInfo = true;
 
-  doInstallCheck = true;
-  installCheckPhase = ''
-    pushd test
-    make
-    $out/bin/preload-hardened-malloc ./offset
+  passthru = {
+    ld-preload-tests = stdenv.mkDerivation {
+      name = "${self.name}-ld-preload-tests";
+      src = self.src;
 
-    pushd simple-memory-corruption
-    make
+      nativeBuildInputs = [ makeWrapper ];
 
-    # these tests don't actually appear to generate overflows currently
-    rm read_after_free_small string_overflow eight_byte_overflow_large
+      # reuse the projects tests to cover use with LD_PRELOAD. we have
+      # to convince the test programs to build as though they're naive
+      # standalone executables. this includes disabling tests for
+      # malloc_object_size, which doesn't make sense to use via LD_PRELOAD.
+      buildPhase = ''
+        pushd test/simple-memory-corruption
+        make LDLIBS= LDFLAGS=-Wl,--unresolved-symbols=ignore-all CXXFLAGS=-lstdc++
+        substituteInPlace test_smc.py \
+          --replace 'test_malloc_object_size' 'dont_test_malloc_object_size' \
+          --replace 'test_invalid_malloc_object_size' 'dont_test_invalid_malloc_object_size'
+        popd # test/simple-memory-corruption
+      '';
 
-    for t in `find . -regex ".*/[a-z_]+"` ; do
-      echo "Running $t..."
-      # the program being aborted (as it should be) would result in an exit code > 128
-      (($out/bin/preload-hardened-malloc $t) && false) \
-        || (test $? -gt 128 || (echo "$t was not aborted" && false))
-    done
-    popd
+      installPhase = ''
+        mkdir -p $out/test
+        cp -r test/simple-memory-corruption $out/test/simple-memory-corruption
 
-    popd
-  '';
+        mkdir -p $out/bin
+        makeWrapper ${python3.interpreter} $out/bin/run-tests \
+          --add-flags "-I -m unittest discover --start-directory $out/test/simple-memory-corruption"
+      '';
+    };
+    tests = {
+      ld-preload = runCommand "ld-preload-test-run" {} ''
+        ${self}/bin/preload-hardened-malloc ${self.ld-preload-tests}/bin/run-tests
+        touch $out
+      '';
+      # to compensate for the lack of tests of correct normal malloc operation
+      stress = runCommand "stress-test-run" {} ''
+        ${self}/bin/preload-hardened-malloc ${stress-ng}/bin/stress-ng \
+          --no-rand-seed \
+          --malloc 8 \
+          --malloc-ops 1000000 \
+          --verify
+        touch $out
+      '';
+    };
+  };
 
   meta = with lib; {
     homepage = "https://github.com/GrapheneOS/hardened_malloc";
@@ -54,4 +85,4 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ ris ];
     platforms = [ "x86_64-linux" "aarch64-linux" ];
   };
-}
+})
diff --git a/nixpkgs/pkgs/development/libraries/grilo/default.nix b/nixpkgs/pkgs/development/libraries/grilo/default.nix
index 1b8c46394da3..172ae39536e6 100644
--- a/nixpkgs/pkgs/development/libraries/grilo/default.nix
+++ b/nixpkgs/pkgs/development/libraries/grilo/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, meson, ninja, pkg-config, gettext, vala, glib, liboauth, gtk3
+{ lib, stdenv, fetchurl, fetchpatch, meson, ninja, pkg-config, gettext, vala, glib, liboauth, gtk3
 , gtk-doc, docbook_xsl, docbook_xml_dtd_43
 , libxml2, gnome, gobject-introspection, libsoup, totem-pl-parser }:
 
@@ -16,6 +16,14 @@ in stdenv.mkDerivation rec {
     sha256 = "0ywjvh7xw4ql1q4fvl0q5n06n08pga1g1nc9l7c3x5214gr3fj6i";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "CVE-2021-39365.patch";
+      url = "https://gitlab.gnome.org/GNOME/grilo/-/commit/cd2472e506dafb1bb8ae510e34ad4797f63e263e.patch";
+      sha256 = "1i1p21vlms43iawg4dl1dibnpsbnkx27kcfvllnx76q07bfrpwzm";
+    })
+  ];
+
   setupHook = ./setup-hook.sh;
 
   mesonFlags = [
diff --git a/nixpkgs/pkgs/development/libraries/grpc/default.nix b/nixpkgs/pkgs/development/libraries/grpc/default.nix
index 2bf843241a6a..f015773e2041 100644
--- a/nixpkgs/pkgs/development/libraries/grpc/default.nix
+++ b/nixpkgs/pkgs/development/libraries/grpc/default.nix
@@ -1,17 +1,32 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, zlib, c-ares, pkg-config, re2, openssl, protobuf
-, abseil-cpp, libnsl
+{ lib
+, stdenv
+, fetchFromGitHub
+, fetchpatch
+, buildPackages
+, cmake
+, zlib
+, c-ares
+, pkg-config
+, re2
+, openssl
+, protobuf
+, grpc
+, abseil-cpp
+, libnsl
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.39.0"; # N.B: if you change this, change pythonPackages.grpcio-tools to a matching version too
   pname = "grpc";
+  version = "1.39.1"; # N.B: if you change this, change pythonPackages.grpcio-tools to a matching version too
+
   src = fetchFromGitHub {
     owner = "grpc";
     repo = "grpc";
     rev = "v${version}";
-    sha256 = "1wa7n7mf20fnvxqw093kr7a4c7vilcmx9yl3hicnyfcd663jgqvd";
+    sha256 = "1yrr04g6faphh4hwzryqrwzgcr0hqqh05x9mc3vhpzmdkrrbz4zn";
     fetchSubmodules = true;
   };
+
   patches = [
     # Fix build on armv6l (https://github.com/grpc/grpc/pull/21341)
     (fetchpatch {
@@ -20,22 +35,25 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  nativeBuildInputs = [ cmake pkg-config ];
+  nativeBuildInputs = [ cmake pkg-config ]
+    ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) grpc;
   propagatedBuildInputs = [ c-ares re2 zlib abseil-cpp ];
   buildInputs = [ c-ares.cmake-config openssl protobuf ]
     ++ lib.optionals stdenv.isLinux [ libnsl ];
 
-  cmakeFlags =
-    [ "-DgRPC_ZLIB_PROVIDER=package"
-      "-DgRPC_CARES_PROVIDER=package"
-      "-DgRPC_RE2_PROVIDER=package"
-      "-DgRPC_SSL_PROVIDER=package"
-      "-DgRPC_PROTOBUF_PROVIDER=package"
-      "-DgRPC_ABSL_PROVIDER=package"
-      "-DBUILD_SHARED_LIBS=ON"
-      "-DCMAKE_SKIP_BUILD_RPATH=OFF"
-      "-DCMAKE_CXX_STANDARD=17"
-    ];
+  cmakeFlags = [
+    "-DgRPC_ZLIB_PROVIDER=package"
+    "-DgRPC_CARES_PROVIDER=package"
+    "-DgRPC_RE2_PROVIDER=package"
+    "-DgRPC_SSL_PROVIDER=package"
+    "-DgRPC_PROTOBUF_PROVIDER=package"
+    "-DgRPC_ABSL_PROVIDER=package"
+    "-DBUILD_SHARED_LIBS=ON"
+    "-DCMAKE_SKIP_BUILD_RPATH=OFF"
+    "-DCMAKE_CXX_STANDARD=17"
+  ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
+    "-D_gRPC_PROTOBUF_PROTOC_EXECUTABLE=${buildPackages.protobuf}/bin/protoc"
+  ];
 
   # CMake creates a build directory by default, this conflicts with the
   # basel BUILD file on case-insensitive filesystems.
@@ -54,7 +72,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)";
     license = licenses.asl20;
-    maintainers = [ maintainers.lnl7 maintainers.marsam ];
+    maintainers = with maintainers; [ lnl7 marsam ];
     homepage = "https://grpc.io/";
     platforms = platforms.all;
     changelog = "https://github.com/grpc/grpc/releases/tag/v${version}";
diff --git a/nixpkgs/pkgs/development/libraries/gsettings-desktop-schemas/default.nix b/nixpkgs/pkgs/development/libraries/gsettings-desktop-schemas/default.nix
index e9814a43b244..b4dc200f980a 100644
--- a/nixpkgs/pkgs/development/libraries/gsettings-desktop-schemas/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gsettings-desktop-schemas/default.nix
@@ -19,17 +19,19 @@ stdenv.mkDerivation rec {
     sha256 = "11an29br55dp0b26kfqlrfxj19glfrmhcdpds2n1w9n04gq3pf7i";
   };
 
+  strictDeps = true;
+  depsBuildBuild = [ pkg-config ];
   nativeBuildInputs = [
     glib
     meson
     ninja
     pkg-config
     python3
+    gobject-introspection
   ];
 
-  buildInputs = [
-    glib
-    gobject-introspection
+  mesonFlags = [
+    "-Dintrospection=${lib.boolToString (stdenv.buildPlatform == stdenv.hostPlatform)}"
   ];
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/default.nix
index a86308ea3cef..d1c7233f0d48 100644
--- a/nixpkgs/pkgs/development/libraries/gstreamer/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/default.nix
@@ -1,29 +1,27 @@
 { callPackage, AudioToolbox, AVFoundation, Cocoa, CoreFoundation, CoreMedia, CoreServices, CoreVideo, DiskArbitration, Foundation, IOKit, MediaToolbox, OpenGL, VideoToolbox }:
 
-rec {
+{
   gstreamer = callPackage ./core { inherit CoreServices; };
 
   gstreamermm = callPackage ./gstreamermm { };
 
-  gst-plugins-base = callPackage ./base { inherit gstreamer Cocoa OpenGL; };
+  gst-plugins-base = callPackage ./base { inherit Cocoa OpenGL; };
 
-  gst-plugins-good = callPackage ./good { inherit gst-plugins-base Cocoa; };
+  gst-plugins-good = callPackage ./good { inherit Cocoa; };
 
-  gst-plugins-bad = callPackage ./bad { inherit gst-plugins-base AudioToolbox AVFoundation CoreMedia CoreVideo Foundation MediaToolbox VideoToolbox; };
+  gst-plugins-bad = callPackage ./bad { inherit AudioToolbox AVFoundation CoreMedia CoreVideo Foundation MediaToolbox VideoToolbox; };
 
-  gst-plugins-ugly = callPackage ./ugly { inherit gst-plugins-base CoreFoundation DiskArbitration IOKit; };
+  gst-plugins-ugly = callPackage ./ugly { inherit CoreFoundation DiskArbitration IOKit; };
 
-  gst-rtsp-server = callPackage ./rtsp-server { inherit gst-plugins-base gst-plugins-bad; };
+  gst-rtsp-server = callPackage ./rtsp-server { };
 
-  gst-libav = callPackage ./libav { inherit gst-plugins-base; };
+  gst-libav = callPackage ./libav { };
 
-  gst-devtools = callPackage ./devtools { inherit gstreamer gst-plugins-base; };
+  gst-devtools = callPackage ./devtools { };
 
-  gst-editing-services = callPackage ./ges { inherit gst-plugins-base gst-plugins-bad gst-devtools; };
+  gst-editing-services = callPackage ./ges { };
 
-  gst-vaapi = callPackage ./vaapi {
-    inherit gst-plugins-base gstreamer gst-plugins-bad;
-  };
+  gst-vaapi = callPackage ./vaapi { };
 
   # note: gst-python is in ./python/default.nix - called under pythonPackages
 }
diff --git a/nixpkgs/pkgs/development/libraries/gtest/default.nix b/nixpkgs/pkgs/development/libraries/gtest/default.nix
index d15ce77213ca..ffe85538684d 100644
--- a/nixpkgs/pkgs/development/libraries/gtest/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gtest/default.nix
@@ -1,8 +1,8 @@
-{ lib, stdenv, cmake, ninja, fetchFromGitHub, fetchpatch }:
+{ lib, stdenv, cmake, ninja, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
   pname = "gtest";
-  version = "1.10.0";
+  version = "1.11.0";
 
   outputs = [ "out" "dev" ];
 
@@ -10,16 +10,11 @@ stdenv.mkDerivation rec {
     owner = "google";
     repo = "googletest";
     rev = "release-${version}";
-    sha256 = "1zbmab9295scgg4z2vclgfgjchfjailjnvzc6f5x9jvlsdi3dpwz";
+    hash = "sha256-SjlJxushfry13RGA7BCjYC9oZqV4z6x8dOiHfl/wpF0=";
   };
 
   patches = [
     ./fix-cmake-config-includedir.patch
-    (fetchpatch {
-      name = "fix-pkgconfig-paths.patch";
-      url = "https://github.com/google/googletest/commit/5126ff48d9ac54828d1947d1423a5ef2a8efee3b.patch";
-      sha256 = "sha256-TBvECU/9nuvwjsCjWJP2b6DNy+FYnHIFZeuVW7g++JE=";
-    })
   ];
 
   nativeBuildInputs = [ cmake ninja ];
diff --git a/nixpkgs/pkgs/development/libraries/gtk/3.x.nix b/nixpkgs/pkgs/development/libraries/gtk/3.x.nix
index f9b5d5f68b56..01b98d06bf30 100644
--- a/nixpkgs/pkgs/development/libraries/gtk/3.x.nix
+++ b/nixpkgs/pkgs/development/libraries/gtk/3.x.nix
@@ -25,7 +25,6 @@
 , fribidi
 , xorg
 , epoxy
-, json-glib
 , libxkbcommon
 , libxml2
 , gmp
@@ -60,7 +59,7 @@ in
 
 stdenv.mkDerivation rec {
   pname = "gtk+3";
-  version = "3.24.27";
+  version = "3.24.30";
 
   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 = "09ksflq5j257bf5zn8q2nnf2flicg9qqgfy7za79z7rkf1shc77p";
+    sha256 = "sha256-unW//zIK0fTPvukrqBPsM2MizDxmDUBqrQFLBwh6O6k=";
   };
 
   patches = [
@@ -111,7 +110,6 @@ stdenv.mkDerivation rec {
   buildInputs = [
     libxkbcommon
     epoxy
-    json-glib
     isocodes
   ] ++ lib.optionals stdenv.isDarwin [
     AppKit
diff --git a/nixpkgs/pkgs/development/libraries/gtkextra/default.nix b/nixpkgs/pkgs/development/libraries/gtkextra/default.nix
new file mode 100644
index 000000000000..4c2f739cd965
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gtkextra/default.nix
@@ -0,0 +1,42 @@
+{ stdenv
+, lib
+, fetchurl
+, pkg-config
+, gobject-introspection
+, file
+, gtk2
+, glib
+, cairo
+, atk
+, pango
+, libtiff
+, libpng
+, libjpeg
+}:
+
+stdenv.mkDerivation rec {
+  pname = "gtkextra";
+  version = "3.3.4";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/gtkextra/${lib.versions.majorMinor version}/${pname}-${version}.tar.gz";
+    sha256 = "1mpihbyzhv3ymfim93l9xnxmzhwyqdba5xb4rdn5vggdg25766v5";
+  };
+
+  postPatch = ''
+    substituteInPlace configure \
+      --replace "/usr/bin/file" "${file}/bin/file"
+  '';
+
+  nativeBuildInputs = [ gobject-introspection pkg-config ];
+
+  buildInputs = [ gtk2 glib cairo atk pango libtiff libpng libjpeg ];
+
+  meta = with lib; {
+    homepage = "http://gtkextra.sourceforge.net/";
+    description = "GtkExtra is a useful set of widgets for creating GUI's for GTK+.";
+    license = licenses.lgpl2Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ tesq0 ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/gusb/default.nix b/nixpkgs/pkgs/development/libraries/gusb/default.nix
index c3ae6faecfd7..449a7a17623b 100644
--- a/nixpkgs/pkgs/development/libraries/gusb/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gusb/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, meson, ninja, pkg-config, gettext, gobject-introspection
+{ lib, stdenv, fetchurl, substituteAll, meson, ninja, pkg-config, gettext, gobject-introspection
 , gtk-doc, docbook_xsl, docbook_xml_dtd_412, docbook_xml_dtd_44, python3
 , glib, systemd, libusb1, vala, hwdata
 }:
@@ -10,15 +10,22 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "gusb";
-  version = "0.3.5";
+  version = "0.3.7";
 
   outputs = [ "bin" "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "https://people.freedesktop.org/~hughsient/releases/libgusb-${version}.tar.xz";
-    sha256 = "1pv5ivbwxb9anq2j34i68r8fgs8nwsi4hmss7h9v1i3wk7300ajv";
+    sha256 = "sha256-2l8l1oc2ImibM1FIbL4CjvwlRAP2Rt2BIl3+hULYxn0=";
   };
 
+  patches = [
+    (substituteAll {
+      src = ./fix-python-path.patch;
+      python = "${pythonEnv}/bin/python3";
+    })
+  ];
+
   nativeBuildInputs = [
     meson ninja pkg-config gettext pythonEnv
     gtk-doc docbook_xsl docbook_xml_dtd_412 docbook_xml_dtd_44
diff --git a/nixpkgs/pkgs/development/libraries/gusb/fix-python-path.patch b/nixpkgs/pkgs/development/libraries/gusb/fix-python-path.patch
new file mode 100644
index 000000000000..5f04387a537e
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gusb/fix-python-path.patch
@@ -0,0 +1,14 @@
+diff --git a/gusb/meson.build b/gusb/meson.build
+index 8236a2b..282aa48 100644
+--- a/gusb/meson.build
++++ b/gusb/meson.build
+@@ -147,7 +147,7 @@ libgusb_gir = libgusb_girtarget[0]
+ libgusb_typelib = libgusb_girtarget[1]
+ 
+ pymod = import('python')
+-py_installation = pymod.find_installation()
++py_installation = pymod.find_installation('@python@')
+ 
+ # Verify the map file is correct -- note we can't actually use the generated
+ # file for two reasons:
+
diff --git a/nixpkgs/pkgs/development/libraries/half/default.nix b/nixpkgs/pkgs/development/libraries/half/default.nix
index 5232dfa51230..c0d11e9ce773 100644
--- a/nixpkgs/pkgs/development/libraries/half/default.nix
+++ b/nixpkgs/pkgs/development/libraries/half/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchzip }:
 
 stdenv.mkDerivation rec {
-  version = "2.1.0";
+  version = "2.2.0";
   pname = "half";
 
   src = fetchzip {
     url = "mirror://sourceforge/half/${version}/half-${version}.zip";
-    sha256 = "04v4rhs1ffd4c9zcnk4yjhq0gdqy020518wb7n8ryk1ckrdd7hbm";
+    sha256 = "sha256-ZdGgBMZylFgkvs/XVBnvgBY2EYSHRLY3S4YwXjshpOY=";
     stripRoot = false;
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/hamlib/4.nix b/nixpkgs/pkgs/development/libraries/hamlib/4.nix
new file mode 100644
index 000000000000..cad69e8b4187
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/hamlib/4.nix
@@ -0,0 +1,64 @@
+{ lib
+, stdenv
+, fetchurl
+, perl
+, swig
+, gd
+, ncurses
+, python3
+, libxml2
+, tcl
+, libusb-compat-0_1
+, pkg-config
+, boost
+, libtool
+, perlPackages
+, pythonBindings ? true
+, tclBindings ? true
+, perlBindings ? true
+}:
+
+stdenv.mkDerivation rec {
+  pname = "hamlib";
+  version = "4.2";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
+    sha256 = "1m8gb20i8ga6ndnnw187ry1h4z8wx27v1hl7c610r6ky60pv4072";
+  };
+
+  nativeBuildInputs = [
+    swig
+    pkg-config
+    libtool
+  ];
+
+  buildInputs = [
+    gd
+    libxml2
+    libusb-compat-0_1
+    boost
+  ] ++ lib.optionals pythonBindings [ python3 ncurses ]
+    ++ lib.optionals tclBindings [ tcl ]
+    ++ lib.optionals perlBindings [ perl perlPackages.ExtUtilsMakeMaker ];
+
+  configureFlags = lib.optionals perlBindings [ "--with-perl-binding" ]
+    ++ lib.optionals tclBindings [ "--with-tcl-binding" "--with-tcl=${tcl}/lib/" ]
+    ++ lib.optionals pythonBindings [ "--with-python-binding" ];
+
+  meta = with lib; {
+    description = "Runtime library to control radio transceivers and receivers";
+    longDescription = ''
+    Hamlib provides a standardized programming interface that applications
+    can use to send the appropriate commands to a radio.
+
+    Also included in the package is a simple radio control program 'rigctl',
+    which lets one control a radio transceiver or receiver, either from
+    command line interface or in a text-oriented interactive interface.
+    '';
+    license = with licenses; [ gpl2Plus lgpl2Plus ];
+    homepage = "http://hamlib.sourceforge.net";
+    maintainers = with maintainers; [ relrod ];
+    platforms = with platforms; unix;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/hamlib/default.nix b/nixpkgs/pkgs/development/libraries/hamlib/default.nix
index 98b494610057..cd56b04c0346 100644
--- a/nixpkgs/pkgs/development/libraries/hamlib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/hamlib/default.nix
@@ -1,5 +1,22 @@
-{lib, stdenv, fetchurl, perl, python2, swig, gd, libxml2, tcl, libusb-compat-0_1, pkg-config,
- boost, libtool, perlPackages }:
+{ lib
+, stdenv
+, fetchurl
+, perl
+, swig
+, gd
+, ncurses
+, python3
+, libxml2
+, tcl
+, libusb-compat-0_1
+, pkg-config
+, boost
+, libtool
+, perlPackages
+, pythonBindings ? true
+, tclBindings ? true
+, perlBindings ? true
+}:
 
 stdenv.mkDerivation rec {
   pname = "hamlib";
@@ -10,13 +27,26 @@ stdenv.mkDerivation rec {
     sha256 = "10788mgrhbc57zpzakcxv5aqnr2819pcshml6fbh8zvnkja562y9";
   };
 
-  buildInputs = [ perl perlPackages.ExtUtilsMakeMaker python2 swig gd libxml2
-                  tcl libusb-compat-0_1 pkg-config boost libtool ];
+  nativeBuildInputs = [
+    swig
+    pkg-config
+    libtool
+  ];
 
-  configureFlags = [ "--with-perl-binding" "--with-python-binding"
-                     "--with-tcl-binding" "--with-rigmatrix" ];
+  buildInputs = [
+    gd
+    libxml2
+    libusb-compat-0_1
+    boost
+  ] ++ lib.optionals pythonBindings [ python3 ncurses ]
+    ++ lib.optionals tclBindings [ tcl ]
+    ++ lib.optionals perlBindings [ perl perlPackages.ExtUtilsMakeMaker ];
 
-  meta = {
+  configureFlags = lib.optionals perlBindings [ "--with-perl-binding" ]
+    ++ lib.optionals tclBindings [ "--with-tcl-binding" "--with-tcl=${tcl}/lib/" ]
+    ++ lib.optionals pythonBindings [ "--with-python-binding" ];
+
+  meta = with lib; {
     description = "Runtime library to control radio transceivers and receivers";
     longDescription = ''
     Hamlib provides a standardized programming interface that applications
@@ -26,9 +56,9 @@ stdenv.mkDerivation rec {
     which lets one control a radio transceiver or receiver, either from
     command line interface or in a text-oriented interactive interface.
     '';
-    license = with lib.licenses; [ gpl2Plus lgpl2Plus ];
+    license = with licenses; [ gpl2Plus lgpl2Plus ];
     homepage = "http://hamlib.sourceforge.net";
-    maintainers = with lib.maintainers; [ relrod ];
-    platforms = with lib.platforms; unix;
+    maintainers = with maintainers; [ relrod ];
+    platforms = with platforms; unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/harfbuzz/default.nix b/nixpkgs/pkgs/development/libraries/harfbuzz/default.nix
index db142286fe4e..4a12c5bcc225 100644
--- a/nixpkgs/pkgs/development/libraries/harfbuzz/default.nix
+++ b/nixpkgs/pkgs/development/libraries/harfbuzz/default.nix
@@ -24,7 +24,7 @@
 }:
 
 let
-  version = "2.8.1";
+  version = "2.8.2";
   inherit (lib) optional optionals optionalString;
   mesonFeatureFlag = opt: b:
     "-D${opt}=${if b then "enabled" else "disabled"}";
@@ -38,7 +38,7 @@ stdenv.mkDerivation {
     owner = "harfbuzz";
     repo = "harfbuzz";
     rev = version;
-    sha256 = "107l9jhvwy6pnq5032kr7r21md65qg09j7iikr4jihf9pvh7gn5w";
+    sha256 = "sha256-uqcwfe5Oa3S0tyZDzqhIQfRFEv/HaiVWzVvwjqpLo5g=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/libraries/hivex/default.nix b/nixpkgs/pkgs/development/libraries/hivex/default.nix
index b151db07df3d..204af0a92b57 100644
--- a/nixpkgs/pkgs/development/libraries/hivex/default.nix
+++ b/nixpkgs/pkgs/development/libraries/hivex/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "hivex";
-  version = "1.3.20";
+  version = "1.3.21";
 
   src = fetchurl {
     url = "https://libguestfs.org/download/hivex/${pname}-${version}.tar.gz";
-    sha256 = "sha256-9SPDe7BkpLq321IkkCw07uT5+rLZuBz2FbMsC4UJ0y0=";
+    sha256 = "sha256-ms4+9KL/LKUKmb4Gi2D7H9vJ6rivU+NF6XznW6S2O1Y=";
   };
 
   patches = [ ./hivex-syms.patch ];
diff --git a/nixpkgs/pkgs/development/libraries/howard-hinnant-date/default.nix b/nixpkgs/pkgs/development/libraries/howard-hinnant-date/default.nix
index 2611203a3894..fe807d3dfb44 100644
--- a/nixpkgs/pkgs/development/libraries/howard-hinnant-date/default.nix
+++ b/nixpkgs/pkgs/development/libraries/howard-hinnant-date/default.nix
@@ -41,6 +41,6 @@ stdenv.mkDerivation rec {
     description = "A date and time library based on the C++11/14/17 <chrono> header";
     homepage = "https://github.com/HowardHinnant/date";
     platforms = platforms.linux;
-    maintainers = with maintainers; [ ma27 ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/hunspell/dictionaries.nix b/nixpkgs/pkgs/development/libraries/hunspell/dictionaries.nix
index 596326b36df4..f1a2aa0c6c60 100644
--- a/nixpkgs/pkgs/development/libraries/hunspell/dictionaries.nix
+++ b/nixpkgs/pkgs/development/libraries/hunspell/dictionaries.nix
@@ -45,7 +45,6 @@ let
         maintainers = with maintainers; [ renzo ];
         platforms = platforms.all;
       };
-      phases = "unpackPhase patchPhase buildPhase installPhase";
       nativeBuildInputs = [ unzip ];
       buildInputs = [ bash coreutils which zip ];
       patchPhase = ''
@@ -89,7 +88,6 @@ let
         platforms = platforms.all;
       };
       nativeBuildInputs = [ unzip ];
-      phases = "unpackPhase installPhase";
       sourceRoot = ".";
       unpackCmd = ''
       unzip $src dictionaries/${dictFileName}.dic dictionaries/${dictFileName}.aff $readmeFile
@@ -129,7 +127,6 @@ let
         platforms = platforms.all;
       };
       nativeBuildInputs = [ unzip ];
-      phases = "unpackPhase installPhase";
       sourceRoot = ".";
       unpackCmd = ''
         unzip $src ${dictFileName}.dic ${dictFileName}.aff ${readmeFile}
@@ -158,7 +155,6 @@ let
         platforms = platforms.all;
       };
       nativeBuildInputs = [ unzip ];
-      phases = "unpackPhase installPhase";
       sourceRoot = ".";
       unpackCmd = ''
         unzip $src ${srcFileName}.dic ${srcFileName}.aff ${srcReadmeFile}
@@ -185,7 +181,6 @@ let
         platforms = platforms.all;
       };
       nativeBuildInputs = [ unzip ];
-      phases = "unpackPhase patchPhase installPhase";
       sourceRoot = ".";
       prePatch = ''
         # Fix dic file empty lines (FS#22275)
@@ -204,7 +199,6 @@ let
 
       inherit srcs;
 
-      phases = ["unpackPhase" "installPhase"];
       sourceRoot = ".";
       # Copy files stripping until first dash (path and hash)
       unpackCmd = "cp $curSrc \${curSrc##*-}";
@@ -242,7 +236,8 @@ let
 
       buildInputs = [ ispell perl hunspell ];
 
-      phases = ["unpackPhase" "installPhase"];
+      dontBuild = true;
+
       installPhase = ''
         patchShebangs bin
         make hunspell/${dictFileName}.aff hunspell/${dictFileName}.dic
diff --git a/nixpkgs/pkgs/development/libraries/imath/default.nix b/nixpkgs/pkgs/development/libraries/imath/default.nix
new file mode 100644
index 000000000000..f3678064f3c5
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/imath/default.nix
@@ -0,0 +1,27 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+}:
+
+stdenv.mkDerivation rec {
+  pname = "imath";
+  version = "3.1.2";
+
+  src = fetchFromGitHub {
+    owner = "AcademySoftwareFoundation";
+    repo = "imath";
+    rev = "v${version}";
+    sha256 = "sha256-X+LY1xtMeYMO6Ri6fmBF2JEDuY6MF7j5XO5YhWMuffM=";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  meta = with lib; {
+    description = "Imath is a C++ and python library of 2D and 3D vector, matrix, and math operations for computer graphics";
+    homepage = "https://github.com/AcademySoftwareFoundation/Imath";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ paperdigits ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/imlib2/default.nix b/nixpkgs/pkgs/development/libraries/imlib2/default.nix
index 23550bbc8072..6be73c8da4b3 100644
--- a/nixpkgs/pkgs/development/libraries/imlib2/default.nix
+++ b/nixpkgs/pkgs/development/libraries/imlib2/default.nix
@@ -12,11 +12,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "imlib2";
-  version = "1.7.1";
+  version = "1.7.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/enlightenment/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-AzpqY53LyOA/Zf8F5XBo5zRtUO4vL/8wS7kJWhsrxAc=";
+    sha256 = "sha256-Ul1OMYknRxveRSB4bcJVC1mriFM4SNstdcYPW05YIaE=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/intel-gmmlib/default.nix b/nixpkgs/pkgs/development/libraries/intel-gmmlib/default.nix
index c0bb8ec9ab41..23e4b2b3508d 100644
--- a/nixpkgs/pkgs/development/libraries/intel-gmmlib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/intel-gmmlib/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "intel-gmmlib";
-  version = "21.2.1";
+  version = "21.2.2";
 
   src = fetchFromGitHub {
     owner  = "intel";
     repo   = "gmmlib";
     rev    = "${pname}-${version}";
-    sha256 = "1icnxq4sqhi11c82kg0hnavk3gvbwgw2fshc7a7nb6w1wdiibj5n";
+    sha256 = "134l0d74ai4mqlp244nvkvg3mgzbzy20mjd274yay8g8hvb1g90v";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/intel-media-driver/default.nix b/nixpkgs/pkgs/development/libraries/intel-media-driver/default.nix
index 7aefaa9d4936..5f3488a8ab11 100644
--- a/nixpkgs/pkgs/development/libraries/intel-media-driver/default.nix
+++ b/nixpkgs/pkgs/development/libraries/intel-media-driver/default.nix
@@ -1,18 +1,20 @@
 { lib, stdenv, fetchFromGitHub
 , cmake, pkg-config
 , libva, libpciaccess, intel-gmmlib
-, enableX11 ? true, libX11
+, enableX11 ? stdenv.isLinux, libX11
 }:
 
 stdenv.mkDerivation rec {
   pname = "intel-media-driver";
-  version = "21.2.3";
+  version = "21.3.3";
+
+  outputs = [ "out" "dev" ];
 
   src = fetchFromGitHub {
     owner  = "intel";
     repo   = "media-driver";
     rev    = "intel-media-${version}";
-    sha256 = "0nldd1yfyvwnpkh0v3ni09z2zwmj84px0pcd1w50brvny36r814c";
+    sha256 = "1j33qq53jjmcvpr9w1xlyl5bpmq4rmshrd123l9alc2ddqbngrf7";
   };
 
   cmakeFlags = [
@@ -27,6 +29,11 @@ stdenv.mkDerivation rec {
   buildInputs = [ libva libpciaccess intel-gmmlib ]
     ++ lib.optional enableX11 libX11;
 
+  postFixup = lib.optionalString enableX11 ''
+    patchelf --set-rpath "$(patchelf --print-rpath $out/lib/dri/iHD_drv_video.so):${lib.makeLibraryPath [ libX11 ]}" \
+      $out/lib/dri/iHD_drv_video.so
+  '';
+
   meta = with lib; {
     description = "Intel Media Driver for VAAPI — Broadwell+ iGPUs";
     longDescription = ''
@@ -40,9 +47,4 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
     maintainers = with maintainers; [ primeos jfrankenau ];
   };
-
-  postFixup = lib.optionalString enableX11 ''
-    patchelf --set-rpath "$(patchelf --print-rpath $out/lib/dri/iHD_drv_video.so):${lib.makeLibraryPath [ libX11  ]}" \
-      $out/lib/dri/iHD_drv_video.so
-  '';
 }
diff --git a/nixpkgs/pkgs/development/libraries/intel-media-sdk/default.nix b/nixpkgs/pkgs/development/libraries/intel-media-sdk/default.nix
index 00c80277ea2b..c0bac7e5466d 100644
--- a/nixpkgs/pkgs/development/libraries/intel-media-sdk/default.nix
+++ b/nixpkgs/pkgs/development/libraries/intel-media-sdk/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "intel-media-sdk";
-  version = "21.2.3";
+  version = "21.3.1";
 
   src = fetchFromGitHub {
     owner = "Intel-Media-SDK";
     repo = "MediaSDK";
     rev = "intel-mediasdk-${version}";
-    sha256 = "sha256-Id2/d6rRKiei6UQ0pywdcbNLfIQR8gEseiDgqeaT3p8=";
+    sha256 = "sha256-Ki+gTDL6gj+f3wjhVp4EIVvrPn6NRmCCkCj5g//kAW8=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/nixpkgs/pkgs/development/libraries/itk/default.nix b/nixpkgs/pkgs/development/libraries/itk/default.nix
index d84b9f1df625..967910e2a117 100644
--- a/nixpkgs/pkgs/development/libraries/itk/default.nix
+++ b/nixpkgs/pkgs/development/libraries/itk/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "itk";
-  version = "5.2.0";
+  version = "5.2.1";
 
   src = fetchFromGitHub {
     owner = "InsightSoftwareConsortium";
     repo = "ITK";
     rev = "v${version}";
-    sha256 = "19f65fc9spwvmywg43lkw9p2inrrzr1qrfzcbing3cjk0x2yrsnl";
+    sha256 = "sha256-KaVe9FMGm4ZVMpwAT12fA67T0qZS3ZueiI8z85+xSwE=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/libraries/java/commons/compress/default.nix b/nixpkgs/pkgs/development/libraries/java/commons/compress/default.nix
index 79f63026e388..3bbedde2e954 100644
--- a/nixpkgs/pkgs/development/libraries/java/commons/compress/default.nix
+++ b/nixpkgs/pkgs/development/libraries/java/commons/compress/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  version = "1.20";
+  version = "1.21";
   pname = "commons-compress";
 
   src = fetchurl {
     url    = "mirror://apache/commons/compress/binaries/${pname}-${version}-bin.tar.gz";
-    sha256 = "0zx1sc0rw3vzjan69vxr2qw82y9b0hqdzp4plcahc3c1y0vkz3fg";
+    sha256 = "sha256-sWF0K5MSOSXUxBLC9+1/RF5ST4tIzVKGnKQvStuVLvM=";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/development/libraries/java/hsqldb/default.nix b/nixpkgs/pkgs/development/libraries/java/hsqldb/default.nix
index 32b000622391..19c8833db728 100644
--- a/nixpkgs/pkgs/development/libraries/java/hsqldb/default.nix
+++ b/nixpkgs/pkgs/development/libraries/java/hsqldb/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "hsqldb";
-  version = "2.5.1";
+  version = "2.6.0";
   underscoreMajMin = lib.strings.replaceChars ["."] ["_"] (lib.versions.majorMinor version);
 
   src = fetchurl {
     url = "mirror://sourceforge/project/hsqldb/hsqldb/hsqldb_${underscoreMajMin}/hsqldb-${version}.zip";
-    sha256 = "0yd9px85y036bp3q1assj3fgaykxrwnhnc7cbjgic39cykfy5hrg";
+    sha256 = "sha256-GhuTBJl1E+aoWa8pTWEqzghHDXXiCQFIt++8pjCQYik=";
   };
 
   nativeBuildInputs = [ unzip makeWrapper ];
diff --git a/nixpkgs/pkgs/development/libraries/java/lombok/default.nix b/nixpkgs/pkgs/development/libraries/java/lombok/default.nix
index 5519a1fb7665..b4f0f4525f79 100644
--- a/nixpkgs/pkgs/development/libraries/java/lombok/default.nix
+++ b/nixpkgs/pkgs/development/libraries/java/lombok/default.nix
@@ -1,11 +1,11 @@
 { lib, stdenv, fetchurl, makeWrapper, jdk }:
 
 stdenv.mkDerivation rec {
-  name = "lombok-1.18.16";
+  name = "lombok-1.18.20";
 
   src = fetchurl {
     url = "https://projectlombok.org/downloads/${name}.jar";
-    sha256 = "1msys7xkaj0d7fi112fmb2z50mk46db58agzrrdyimggsszwn1kj";
+    sha256 = "sha256-zpR75sL751n7vo7ztCtoJfgUyYyIU/EBPy2WMM7fdLA=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/development/libraries/kddockwidgets/default.nix b/nixpkgs/pkgs/development/libraries/kddockwidgets/default.nix
new file mode 100644
index 000000000000..b63bdc979c42
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/kddockwidgets/default.nix
@@ -0,0 +1,29 @@
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, cmake
+, qtbase
+, qtx11extras
+}:
+
+mkDerivation rec {
+  pname = "KDDockWidgets";
+  version = "1.4.0";
+
+  src = fetchFromGitHub {
+    owner = "KDAB";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-lgNRuRoJhBw0n/Hb58uxpa+4aXoOrK4bRldtIXYIKLI=";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ qtbase qtx11extras ];
+
+  meta = with lib; {
+    description = "KDAB's Dock Widget Framework for Qt";
+    homepage = "https://www.kdab.com/development-resources/qt-tools/kddockwidgets";
+    license = with licenses; [ gpl2Only gpl3Only ];
+    maintainers = with maintainers; [ _1000teslas ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/baloo.nix b/nixpkgs/pkgs/development/libraries/kde-frameworks/baloo.nix
index 8497ec73a3a1..7b092653a327 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/baloo.nix
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/baloo.nix
@@ -12,5 +12,6 @@ mkDerivation {
     kauth kconfig kcrash kdbusaddons ki18n kio kidletime lmdb qtdeclarative
     solid
   ];
+  outputs = [ "dev" "out" ];
   propagatedBuildInputs = [ kcoreaddons kfilemetadata qtbase ];
 }
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/default.nix b/nixpkgs/pkgs/development/libraries/kde-frameworks/default.nix
index 94d403b9e343..a5b0bfdae8de 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/default.nix
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/default.nix
@@ -28,7 +28,7 @@ existing packages here and modify it as necessary.
 
 let
 
-  minQtVersion = "5.14";
+  minQtVersion = "5.15";
   broken = lib.versionOlder libsForQt5.qtbase.version minQtVersion;
   maintainers = with lib.maintainers; [ ttuegel nyanloutre ];
   license = with lib.licenses; [
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/fetch.sh b/nixpkgs/pkgs/development/libraries/kde-frameworks/fetch.sh
index 55c1e02a955d..93d7cbef74c3 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/fetch.sh
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/frameworks/5.81/ -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/frameworks/5.84/ -A '*.tar.xz' )
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/kimageformats.nix b/nixpkgs/pkgs/development/libraries/kde-frameworks/kimageformats.nix
index 00a9ef015f29..97b413e805c6 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/kimageformats.nix
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/kimageformats.nix
@@ -1,5 +1,5 @@
 {
-  mkDerivation, lib, fetchpatch,
+  mkDerivation, lib,
   extra-cmake-modules,
   ilmbase, karchive, openexr, libavif, qtbase
 }:
@@ -9,19 +9,6 @@ let inherit (lib) getDev; in
 mkDerivation {
   name = "kimageformats";
 
-  patches = [
-    (fetchpatch { # included in kimageformats >= 5.83
-      name = "avif-0.9.2.diff";
-      url = "https://invent.kde.org/frameworks/kimageformats/-/commit/bf3f94da766d66a0470ab744dbe1ced4697b572d.diff";
-      sha256 = "18d67l5kj9sv88jdpi061k9rl3adzkx9l51ng7saylrkfddwc3ig";
-    })
-    (fetchpatch { # included in kimageformats >= 5.82
-      name = "CVE-2021-36083.patch";
-      url = "https://invent.kde.org/frameworks/kimageformats/-/commit/297ed9a2fe339bfe36916b9fce628c3242e5be0f.diff";
-      sha256 = "16axaljgaar0j5796x1mjps93y92393x8zywh3nzw7rm9w2qxzml";
-    })
-  ];
-
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ karchive openexr libavif qtbase ];
   outputs = [ "out" ]; # plugins only
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/kpackage/0002-QDirIterator-follow-symlinks.patch b/nixpkgs/pkgs/development/libraries/kde-frameworks/kpackage/0002-QDirIterator-follow-symlinks.patch
index 5967bdaccf54..1edf2a1c63c8 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/kpackage/0002-QDirIterator-follow-symlinks.patch
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/kpackage/0002-QDirIterator-follow-symlinks.patch
@@ -12,28 +12,15 @@ diff --git a/src/kpackage/packageloader.cpp b/src/kpackage/packageloader.cpp
 index f03d882..d5aee56 100644
 --- a/src/kpackage/packageloader.cpp
 +++ b/src/kpackage/packageloader.cpp
-@@ -234,7 +234,7 @@ QList<KPluginMetaData> PackageLoader::listPackages(const QString &packageFormat,
-         } else {
-             qCDebug(KPACKAGE_LOG) << "kpluginindex: Not cached" << plugindir;
-             // If there's no cache file, fall back to listing the directory
--            const QDirIterator::IteratorFlags flags = QDirIterator::Subdirectories;
-+            const QDirIterator::IteratorFlags flags = QDirIterator::Subdirectories | QDirIterator::FollowSymlinks;
-             const QStringList nameFilters = {QStringLiteral("metadata.json"), QStringLiteral("metadata.desktop")};
- 
-             QDirIterator it(plugindir, nameFilters, QDir::Files, flags);
-diff --git a/src/kpackage/private/packagejobthread.cpp b/src/kpackage/private/packagejobthread.cpp
-index 3eed307..dd6ca6e 100644
---- a/src/kpackage/private/packagejobthread.cpp
-+++ b/src/kpackage/private/packagejobthread.cpp
-@@ -108,7 +108,7 @@ bool indexDirectory(const QString &dir, const QString &dest)
- 
-     QJsonArray plugins;
- 
--    QDirIterator it(dir, *metaDataFiles, QDir::Files, QDirIterator::Subdirectories);
-+    QDirIterator it(dir, *metaDataFiles, QDir::Files, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks);
-     while (it.hasNext()) {
-         it.next();
-         const QString path = it.fileInfo().absoluteFilePath();
+@@ -210,7 +210,7 @@ QList<KPluginMetaData> PackageLoader::listPackages(const QString &packageFormat,
+     }
+
+     for (auto const &plugindir : qAsConst(paths)) {
+-        const QDirIterator::IteratorFlags flags = QDirIterator::Subdirectories;
++        const QDirIterator::IteratorFlags flags = QDirIterator::Subdirectories | QDirIterator::FollowSymlinks;
+         const QStringList nameFilters = {QStringLiteral("metadata.json"), QStringLiteral("metadata.desktop")};
+
+         QDirIterator it(plugindir, nameFilters, QDir::Files, flags);
 -- 
 2.30.1
 
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/kwindowsystem/0001-platform-plugins-path.patch b/nixpkgs/pkgs/development/libraries/kde-frameworks/kwindowsystem/0001-platform-plugins-path.patch
index 609376e33e44..0093eb556bfd 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/kwindowsystem/0001-platform-plugins-path.patch
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/kwindowsystem/0001-platform-plugins-path.patch
@@ -16,7 +16,7 @@ index a255d83..9699b08 100644
      QStringList ret;
      const auto paths = QCoreApplication::libraryPaths();
 -    for (const QString &path : paths) {
--        static const QStringList searchFolders {
+-        static const QStringList searchFolders{
 -            QStringLiteral("/kf5/org.kde.kwindowsystem.platforms"),
 -            QStringLiteral("/kf5/kwindowsystem"),
 -        };
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/srcs.nix b/nixpkgs/pkgs/development/libraries/kde-frameworks/srcs.nix
index 3d5ad663dd32..34792d254e72 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/srcs.nix
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/srcs.nix
@@ -4,667 +4,667 @@
 
 {
   attica = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/attica-5.81.0.tar.xz";
-      sha256 = "0x1ga3y0kmr2ybgvsmns7imd0agfd5bfc2lf0010ks5s1v50whqr";
-      name = "attica-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/attica-5.84.0.tar.xz";
+      sha256 = "1q5imda1p26rw3lzz7p6wlg63d2kjl6yx93pxryy129xwyxszf5d";
+      name = "attica-5.84.0.tar.xz";
     };
   };
   baloo = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/baloo-5.81.0.tar.xz";
-      sha256 = "0mnm282mc1yph9x08fkrycb22gsah4km8r7yk3kz20vnrs0wgljy";
-      name = "baloo-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/baloo-5.84.0.tar.xz";
+      sha256 = "15ldfq9qryw2xna6kr316fqldrfd2r09qj9ig8i2x391x18dzhg4";
+      name = "baloo-5.84.0.tar.xz";
     };
   };
   bluez-qt = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/bluez-qt-5.81.0.tar.xz";
-      sha256 = "13wy3nzbq26616s7pa0sx0jrq81v3bvf6a6dlmp1zzycvbk06jp3";
-      name = "bluez-qt-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/bluez-qt-5.84.0.tar.xz";
+      sha256 = "0pg6zj0b7j9v339g1q5a9dm1l0a7n1c388n26x6k2s1q785vk6lh";
+      name = "bluez-qt-5.84.0.tar.xz";
     };
   };
   breeze-icons = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/breeze-icons-5.81.0.tar.xz";
-      sha256 = "1844jyair0kjflfq98cakis7xfgbdn7an383f02hp4072kjg127g";
-      name = "breeze-icons-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/breeze-icons-5.84.0.tar.xz";
+      sha256 = "1320c84pr39541lb4zk33brxx593dbvvnij5x8as4rp99mcjd6h4";
+      name = "breeze-icons-5.84.0.tar.xz";
     };
   };
   extra-cmake-modules = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/extra-cmake-modules-5.81.0.tar.xz";
-      sha256 = "10svwghxf5vhbfwz7lza7xid2n1mj6r1n1amv6c616q68fwf8msz";
-      name = "extra-cmake-modules-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/extra-cmake-modules-5.84.0.tar.xz";
+      sha256 = "0h8w5ahjpbb524qgabzbgd4x2j8qnfv1d1cq8vzq5hbpw7r5w25v";
+      name = "extra-cmake-modules-5.84.0.tar.xz";
     };
   };
   frameworkintegration = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/frameworkintegration-5.81.0.tar.xz";
-      sha256 = "0vcbm0364zwkyp33nvcl42px6i9hgnp4wl3lg913qvxv1f7pd61v";
-      name = "frameworkintegration-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/frameworkintegration-5.84.0.tar.xz";
+      sha256 = "0jzrsw5fkbgk8xpdjfjprqm1vpa61x32zikyj370shcg3qsaiyir";
+      name = "frameworkintegration-5.84.0.tar.xz";
     };
   };
   kactivities = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kactivities-5.81.0.tar.xz";
-      sha256 = "0sskfpc8yfic2s8hvzf7cjk92pxd0idd0xl0azrjnn28ci5kvzvq";
-      name = "kactivities-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kactivities-5.84.0.tar.xz";
+      sha256 = "0lihxr9jvmg2h7k36djdfvsz5slxzzgxpxmv9745ynvc92fr1c46";
+      name = "kactivities-5.84.0.tar.xz";
     };
   };
   kactivities-stats = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kactivities-stats-5.81.0.tar.xz";
-      sha256 = "0839g6y101qr5mr98ynfm74f554lxx7srnwm3anh7nj6zrlyxrq2";
-      name = "kactivities-stats-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kactivities-stats-5.84.0.tar.xz";
+      sha256 = "1mb80jzccvha6rnd9q0xych1k4p0nfdyh7s9ryafv9fqqhzr5fh4";
+      name = "kactivities-stats-5.84.0.tar.xz";
     };
   };
   kapidox = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kapidox-5.81.0.tar.xz";
-      sha256 = "1wq4py1djmcnqf51l52cij43qw44n5fafz00qslxjb0rdakrvzs2";
-      name = "kapidox-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kapidox-5.84.0.tar.xz";
+      sha256 = "0h8isigbgc02df3kb875p7yzy04i41lss2r5awlh5b1np89l5g51";
+      name = "kapidox-5.84.0.tar.xz";
     };
   };
   karchive = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/karchive-5.81.0.tar.xz";
-      sha256 = "1flnylyglc2jdb9lfk3dl56wzxdliaaqpg2rzrlclzj14lz3l9hy";
-      name = "karchive-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/karchive-5.84.0.tar.xz";
+      sha256 = "1xjykx94xn0p1926my4f82dn9bsv2b2mv1l4pjpzzfwyn26df34s";
+      name = "karchive-5.84.0.tar.xz";
     };
   };
   kauth = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kauth-5.81.0.tar.xz";
-      sha256 = "1gf93wk95x1fmi4w3ybkj7acwrv7rlz9nw7f1n4nd1w3w7pn403y";
-      name = "kauth-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kauth-5.84.0.tar.xz";
+      sha256 = "1jwynarchwbgdnfzpp3r8ggr8mz2gwgwiv9j2kxmh0m607sqzj04";
+      name = "kauth-5.84.0.tar.xz";
     };
   };
   kbookmarks = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kbookmarks-5.81.0.tar.xz";
-      sha256 = "0bqgl3vhr5lngajxz7v4l325kcyylj3d1qznaa946dcbsn2wrgzm";
-      name = "kbookmarks-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kbookmarks-5.84.0.tar.xz";
+      sha256 = "1k3mamhd55j3hvkw7h0gfizy5hg37d57h26xz9hbxrw1lb1p9gyc";
+      name = "kbookmarks-5.84.0.tar.xz";
     };
   };
   kcalendarcore = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kcalendarcore-5.81.0.tar.xz";
-      sha256 = "0a8m8l94cni1fv38sa9wa1mx1m7bnd7qb66wrjrhdd57cfrjij5s";
-      name = "kcalendarcore-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kcalendarcore-5.84.0.tar.xz";
+      sha256 = "06asygdsk4bnn29cc8khpzy68fiyrqwajl55fixmja7kvzsnq4cb";
+      name = "kcalendarcore-5.84.0.tar.xz";
     };
   };
   kcmutils = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kcmutils-5.81.0.tar.xz";
-      sha256 = "15q2wvnz8s1g508jbssszzfcgssamdsp7s1vply1677ga8pcspmj";
-      name = "kcmutils-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kcmutils-5.84.0.tar.xz";
+      sha256 = "1ackicsg2xnjl8gid9v4a72vvqhn7536s0w1g50hss142hp0b9zf";
+      name = "kcmutils-5.84.0.tar.xz";
     };
   };
   kcodecs = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kcodecs-5.81.0.tar.xz";
-      sha256 = "0r757k1rbz1bjk7mc0b2m0ybixai4qfidrs5wvbci971lfsaz4j3";
-      name = "kcodecs-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kcodecs-5.84.0.tar.xz";
+      sha256 = "0fjjz40kchw38p74zvgrcfsgclg54w6b8bl6ly72qmj5n0ip2gr3";
+      name = "kcodecs-5.84.0.tar.xz";
     };
   };
   kcompletion = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kcompletion-5.81.0.tar.xz";
-      sha256 = "15bw6g4ag1s0s3x6390r05i299kl279jrfajna9fxgq3fbjigb7p";
-      name = "kcompletion-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kcompletion-5.84.0.tar.xz";
+      sha256 = "1kbj1f3c3qpfxn4jyldhzlmgxfxn0af5rbs0irzwd9wqgk9i94vs";
+      name = "kcompletion-5.84.0.tar.xz";
     };
   };
   kconfig = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kconfig-5.81.0.tar.xz";
-      sha256 = "13xfy3mhi73na4mv0a8l75ba5c8ddnkkdssmsnxp5kj084w9xpqx";
-      name = "kconfig-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kconfig-5.84.0.tar.xz";
+      sha256 = "0wshg4hx4d6m1r17mc7l9ivhx6mw0h1qx8fd46hmydmbjp030jma";
+      name = "kconfig-5.84.0.tar.xz";
     };
   };
   kconfigwidgets = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kconfigwidgets-5.81.0.tar.xz";
-      sha256 = "1v7xxn6cd17z71cpdyw2qzfqw4vkzy96wwr1zn9dylnvl8mh4xg0";
-      name = "kconfigwidgets-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kconfigwidgets-5.84.0.tar.xz";
+      sha256 = "17hyf495wlm5jqc0qxxymy1kcjybbihg8093kf59hvvpcci5xsin";
+      name = "kconfigwidgets-5.84.0.tar.xz";
     };
   };
   kcontacts = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kcontacts-5.81.0.tar.xz";
-      sha256 = "15wkspgxqj6zh2pr3f7xqcahihbhf45qnqay1v56ry3vl42gncg4";
-      name = "kcontacts-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kcontacts-5.84.0.tar.xz";
+      sha256 = "0gvskvfwfmrs884fkfl0gvmnic4hhymffs7jhq6yaixbsjl2mznl";
+      name = "kcontacts-5.84.0.tar.xz";
     };
   };
   kcoreaddons = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kcoreaddons-5.81.0.tar.xz";
-      sha256 = "1nzyijd8753p9n9fqfb14q30jid2k1j7cvwjqv99l5fxhwbcn35c";
-      name = "kcoreaddons-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kcoreaddons-5.84.0.tar.xz";
+      sha256 = "1c0z2cn02jqanisq5rr6iry1hx9p5ffm59353mknyyg5xyk3qkbm";
+      name = "kcoreaddons-5.84.0.tar.xz";
     };
   };
   kcrash = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kcrash-5.81.0.tar.xz";
-      sha256 = "1irw9blm1xsn26mcyaimd8xnygkdpaqh9m8gpf5gpn2s19iz4f81";
-      name = "kcrash-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kcrash-5.84.0.tar.xz";
+      sha256 = "0asr7llkdbr6wzq31vnmga7haxddz1b6xqp3smw7hvgzs0f8vrv5";
+      name = "kcrash-5.84.0.tar.xz";
     };
   };
   kdav = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kdav-5.81.0.tar.xz";
-      sha256 = "0cxiif5pb8frz0dpqx0f9j7g29iaspx13alwzvzavbmi0bwzs00b";
-      name = "kdav-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kdav-5.84.0.tar.xz";
+      sha256 = "09wly717cp86b3gahj79nfplx71f78zyb5mhpw9xm0dkdf1qf56q";
+      name = "kdav-5.84.0.tar.xz";
     };
   };
   kdbusaddons = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kdbusaddons-5.81.0.tar.xz";
-      sha256 = "0gbrmgpd8x16zapbqbyh2ipbvysz3z07qk1fc0cmx5x84x1j7xa9";
-      name = "kdbusaddons-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kdbusaddons-5.84.0.tar.xz";
+      sha256 = "0a4v2g86lss1wq359mssg142dp1qccn17yrdhbgy55qi6id6pvl5";
+      name = "kdbusaddons-5.84.0.tar.xz";
     };
   };
   kdeclarative = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kdeclarative-5.81.0.tar.xz";
-      sha256 = "0s6kal2ppw0vskv7baxvbqfip4hzh8s3399c1j7rahdw67nf9k3x";
-      name = "kdeclarative-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kdeclarative-5.84.0.tar.xz";
+      sha256 = "0ygp3jwz0fjixiq7bkjchsxzvg6fn50qw7si9nil5hkkg6lwxir6";
+      name = "kdeclarative-5.84.0.tar.xz";
     };
   };
   kded = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kded-5.81.0.tar.xz";
-      sha256 = "1100jrccadj50blq5wmr83wdc3ry46rn86y28dfy4h97cvn1nfsi";
-      name = "kded-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kded-5.84.0.tar.xz";
+      sha256 = "0c6klrchbxy57f7hjvsk640bg6s8gp1ilrzvzg7f8m825yg1b5jc";
+      name = "kded-5.84.0.tar.xz";
     };
   };
   kdelibs4support = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/portingAids/kdelibs4support-5.81.0.tar.xz";
-      sha256 = "1ck3i46k8sjkqgnaygy5pjqbw1np35sc6nhgxxcm7q84q3cdj536";
-      name = "kdelibs4support-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/portingAids/kdelibs4support-5.84.0.tar.xz";
+      sha256 = "1qkiqv0fq8q6i18mi7gm58qhnqra8xkslzjprap6zjq49g9lcgrp";
+      name = "kdelibs4support-5.84.0.tar.xz";
     };
   };
   kdesignerplugin = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/portingAids/kdesignerplugin-5.81.0.tar.xz";
-      sha256 = "1rgnj6bns9dnn0g53xk374knc69ajpprjhyb50ffr0dn7cfcs1s3";
-      name = "kdesignerplugin-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/portingAids/kdesignerplugin-5.84.0.tar.xz";
+      sha256 = "0k51pjkh4dfc8bkw0pbsa260fifvcm0wrbpckvd1xd32b0r1n2ax";
+      name = "kdesignerplugin-5.84.0.tar.xz";
     };
   };
   kdesu = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kdesu-5.81.0.tar.xz";
-      sha256 = "176531kcvpmb4sklrqpvx4msna1radd2ki410700yvk0l2v4l2yy";
-      name = "kdesu-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kdesu-5.84.0.tar.xz";
+      sha256 = "0b3ljqj86crccyqzlqg0fkjryi654pi5q84c11zywmws72bjjx9d";
+      name = "kdesu-5.84.0.tar.xz";
     };
   };
   kdewebkit = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/portingAids/kdewebkit-5.81.0.tar.xz";
-      sha256 = "022dpmw8r5wkb3pr87fycrybv9j5k2wy8d39rilhjvkqk8s65277";
-      name = "kdewebkit-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/portingAids/kdewebkit-5.84.0.tar.xz";
+      sha256 = "0rhjdqr5g4gphszz70nhvv9wgr0g048pnc36w4w2jpzyy75nwjq2";
+      name = "kdewebkit-5.84.0.tar.xz";
     };
   };
   kdnssd = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kdnssd-5.81.0.tar.xz";
-      sha256 = "1hl49w55r57abnnwdf4hvyjk7566zbqa24bai3zsq24a4nnm6vii";
-      name = "kdnssd-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kdnssd-5.84.0.tar.xz";
+      sha256 = "1ayscd05m20i4nldidxdx83xsa66ybsyrf3f8sm3h99hgwb1yxm9";
+      name = "kdnssd-5.84.0.tar.xz";
     };
   };
   kdoctools = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kdoctools-5.81.0.tar.xz";
-      sha256 = "11qayqx47h4h1y2yqzbm8bysdd7xwb2qjmkk59jxpih7xbmpg1ir";
-      name = "kdoctools-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kdoctools-5.84.0.tar.xz";
+      sha256 = "1x0dimayl1pj6r4cjwsvzvyc5j79308bcdi27bn0lq1769wm7rlp";
+      name = "kdoctools-5.84.0.tar.xz";
     };
   };
   kemoticons = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kemoticons-5.81.0.tar.xz";
-      sha256 = "17zv96cfmqg9fxrgm91pn8xwp4f03644g2203c3s7iq3bh8ig3gc";
-      name = "kemoticons-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kemoticons-5.84.0.tar.xz";
+      sha256 = "0h8ilgwd5y8mbmvr89qkq81km216gs2lx7ln4rijamv2380gwcq7";
+      name = "kemoticons-5.84.0.tar.xz";
     };
   };
   kfilemetadata = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kfilemetadata-5.81.0.tar.xz";
-      sha256 = "0cba7lsjk563ql0hw2rcjxn2khadx1rz7hx4agjb40145f7x931i";
-      name = "kfilemetadata-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kfilemetadata-5.84.0.tar.xz";
+      sha256 = "19a6lsnh7vxjgvy780bgispgxycj2838gyak6ivd9lxzn6d9jw6i";
+      name = "kfilemetadata-5.84.0.tar.xz";
     };
   };
   kglobalaccel = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kglobalaccel-5.81.0.tar.xz";
-      sha256 = "0adqlfmpfsbbfjiljvbyi4f4blx77qp18anx7npkwh5gjn32hczz";
-      name = "kglobalaccel-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kglobalaccel-5.84.0.tar.xz";
+      sha256 = "0v3j4zx6p45lwd7jpbc9y43l5fh247dm6g21w5r56cq6asapx3k5";
+      name = "kglobalaccel-5.84.0.tar.xz";
     };
   };
   kguiaddons = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kguiaddons-5.81.0.tar.xz";
-      sha256 = "1q9yrbbsjh98xl3k4yss5h39fd8nz8y5v9sd7vqjmy49mqsyxxz3";
-      name = "kguiaddons-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kguiaddons-5.84.0.tar.xz";
+      sha256 = "0p98xzml58fv2cv8x382bmcrbk39q89mrxy52hkqy759g4ffj919";
+      name = "kguiaddons-5.84.0.tar.xz";
     };
   };
   kholidays = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kholidays-5.81.0.tar.xz";
-      sha256 = "1pcqzwpmyl6jp9w4xvlgj81iyzbazz2kd07g82cjybz0z3jcxs2c";
-      name = "kholidays-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kholidays-5.84.0.tar.xz";
+      sha256 = "0fzcdlvai0p3l58wbs8ia7vmd9ll2akzzab12ask8kkaz7iwaqqs";
+      name = "kholidays-5.84.0.tar.xz";
     };
   };
   khtml = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/portingAids/khtml-5.81.0.tar.xz";
-      sha256 = "0ag23xwl2f9hiwxnwxvwiz3xr07dxpin49li3q98vqq1qzaj1ngp";
-      name = "khtml-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/portingAids/khtml-5.84.0.tar.xz";
+      sha256 = "13j2plfgx4zx99i3s70424v8b7qj2xf6gndp7hhmdka0vjhm5bv9";
+      name = "khtml-5.84.0.tar.xz";
     };
   };
   ki18n = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/ki18n-5.81.0.tar.xz";
-      sha256 = "12m7ddyzw80y9y5gqyr7jgdyc5a0fmxa8zzsd41l7418i2sdajrc";
-      name = "ki18n-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/ki18n-5.84.0.tar.xz";
+      sha256 = "1530jxpbfky3mhr1dv3pr7lrvi96q4ai8fn85h5gnjp7s7h1wgv0";
+      name = "ki18n-5.84.0.tar.xz";
     };
   };
   kiconthemes = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kiconthemes-5.81.0.tar.xz";
-      sha256 = "053a7zdig796zc3rnwdlkscylg6wldn1dk0dxqzn14cb8vkbwizw";
-      name = "kiconthemes-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kiconthemes-5.84.0.tar.xz";
+      sha256 = "0r90cdxs6x9bnqb6qb7p2szavqw2lfk9khhxhzgp2z9121smxpgn";
+      name = "kiconthemes-5.84.0.tar.xz";
     };
   };
   kidletime = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kidletime-5.81.0.tar.xz";
-      sha256 = "12zrd9k27hx8ncywd9ahhbcv5xrn7rrw82pcvdkjmyniz0nazrqv";
-      name = "kidletime-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kidletime-5.84.0.tar.xz";
+      sha256 = "0akkzj05399f72klr8qf5q0w9v8x1jw2961m3h4hcg1zfsmb6pv4";
+      name = "kidletime-5.84.0.tar.xz";
     };
   };
   kimageformats = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kimageformats-5.81.0.tar.xz";
-      sha256 = "0kl68dy1v4p403f52y7igv2w3wq6q2pb7n0r7fbnwz2113bs0cm3";
-      name = "kimageformats-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kimageformats-5.84.0.tar.xz";
+      sha256 = "1xzddqc6wj188dhwcw1haa2a28r2d8c4aqhmgymwdwhs7k4ibpds";
+      name = "kimageformats-5.84.0.tar.xz";
     };
   };
   kinit = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kinit-5.81.0.tar.xz";
-      sha256 = "1wv8qyv4mayi80vczf47mdxxa6km4v7r2kz2j483w53nck5hjz4j";
-      name = "kinit-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kinit-5.84.0.tar.xz";
+      sha256 = "0a5i2rvamw95y9bqscdg6fk1fjsib7rcis9fbk504qk4n7jdp9gw";
+      name = "kinit-5.84.0.tar.xz";
     };
   };
   kio = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kio-5.81.0.tar.xz";
-      sha256 = "0zn0xh07hajcj3h1v5246a167ffm113k8j36p2xn7lbq368sway6";
-      name = "kio-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kio-5.84.0.tar.xz";
+      sha256 = "1lz07745w3549n7lc174p4rz5w12mm4q08y5xn2a95xg5xrjpgln";
+      name = "kio-5.84.0.tar.xz";
     };
   };
   kirigami2 = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kirigami2-5.81.0.tar.xz";
-      sha256 = "1bcc2mfb2s4w67q9q35k04mc9154dx1x03vqzclh9ipzdvyjqmyn";
-      name = "kirigami2-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kirigami2-5.84.0.tar.xz";
+      sha256 = "05hpw2ba7g5kzg6z0slngrfz45kih8w1zmahbjhss9i7blj9x32r";
+      name = "kirigami2-5.84.0.tar.xz";
     };
   };
   kitemmodels = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kitemmodels-5.81.0.tar.xz";
-      sha256 = "0vs75q08x9yi1953rihk3y234wcsjawdxb3g5xb597f961y634w0";
-      name = "kitemmodels-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kitemmodels-5.84.0.tar.xz";
+      sha256 = "1v19vc155jh421z8djhrigc83ajz9qvb6qz9cpscdzrcimhaarns";
+      name = "kitemmodels-5.84.0.tar.xz";
     };
   };
   kitemviews = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kitemviews-5.81.0.tar.xz";
-      sha256 = "0nmhc675bmilqah9fwwzy4p8rksib90cv8iihxd5c9d9snykk01n";
-      name = "kitemviews-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kitemviews-5.84.0.tar.xz";
+      sha256 = "14rammhm5zp8h37a794z3pmgkpnb606izqy1zlk8lwvnw6aj0kwb";
+      name = "kitemviews-5.84.0.tar.xz";
     };
   };
   kjobwidgets = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kjobwidgets-5.81.0.tar.xz";
-      sha256 = "1gl8ia858jbmj2i9wp4x0mw27p42xm6mg84nj1a8yvvvbazs3hpa";
-      name = "kjobwidgets-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kjobwidgets-5.84.0.tar.xz";
+      sha256 = "0gcdd07ma7wg6rqygfhmq2nc3cq78zcxbd7mx0fgirdns5fbp8p5";
+      name = "kjobwidgets-5.84.0.tar.xz";
     };
   };
   kjs = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/portingAids/kjs-5.81.0.tar.xz";
-      sha256 = "049aplmp1nlxshwaw0lfhfr09aazxh4vazvb78429gs84j8ir9xr";
-      name = "kjs-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/portingAids/kjs-5.84.0.tar.xz";
+      sha256 = "0qi1xk6pq7nyzkh6jlp4l1v1b5gq9hryq2a81hgfl7q9xgrx00qy";
+      name = "kjs-5.84.0.tar.xz";
     };
   };
   kjsembed = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/portingAids/kjsembed-5.81.0.tar.xz";
-      sha256 = "0zkazfcrmd0gklzda0hbb4mc493ihsd3dafnmyj6cmgk4lz2w3q9";
-      name = "kjsembed-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/portingAids/kjsembed-5.84.0.tar.xz";
+      sha256 = "1av326byza162ds5vn54nmpd9ndr7yb0cpl8hxmwzfbym1favhvb";
+      name = "kjsembed-5.84.0.tar.xz";
     };
   };
   kmediaplayer = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/portingAids/kmediaplayer-5.81.0.tar.xz";
-      sha256 = "0z1ji717kwq84i6b2ay9wjhgc4vdkgn1jvwpzgpc1hqs9zly278b";
-      name = "kmediaplayer-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/portingAids/kmediaplayer-5.84.0.tar.xz";
+      sha256 = "1zzx7d9wcc1qh9zg83c2ihid0c2f5p23gpc475ql056ny71fdvv3";
+      name = "kmediaplayer-5.84.0.tar.xz";
     };
   };
   knewstuff = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/knewstuff-5.81.0.tar.xz";
-      sha256 = "0wmf86nndnxs1850bjzbwaag6kjdabz0si7b0p1r6hnwm2km9bnk";
-      name = "knewstuff-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/knewstuff-5.84.0.tar.xz";
+      sha256 = "1y1b7704xlf7kmw7c41b3ngsmi5304mvdgphcqsinav6bq48ka5f";
+      name = "knewstuff-5.84.0.tar.xz";
     };
   };
   knotifications = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/knotifications-5.81.0.tar.xz";
-      sha256 = "04yfrhd098asr45swslnfkzxkb9892izvyam5rf0h93pw78ggmqs";
-      name = "knotifications-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/knotifications-5.84.0.tar.xz";
+      sha256 = "02az98aqk8alq1cqrxym5idnlzvl6i4jvgnv34q6g4x7j5h4v75h";
+      name = "knotifications-5.84.0.tar.xz";
     };
   };
   knotifyconfig = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/knotifyconfig-5.81.0.tar.xz";
-      sha256 = "0xrd9771g1x0s796pw6wkhl9jj9607pffmlxrj171c8n8hdfyjbs";
-      name = "knotifyconfig-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/knotifyconfig-5.84.0.tar.xz";
+      sha256 = "1x7jp2c2a1bawl3nl46zfnp8d5al1z19za58g76wn40jy9ksnpy2";
+      name = "knotifyconfig-5.84.0.tar.xz";
     };
   };
   kpackage = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kpackage-5.81.0.tar.xz";
-      sha256 = "1r1yv5y2swll38l88w559d8q0n4xizwgjp4qd8bh0vvsn24l65ka";
-      name = "kpackage-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kpackage-5.84.0.tar.xz";
+      sha256 = "166cc85y49xqk4r8k6003rlwphxxx2rmik24d7yhmq8p1qig4qb7";
+      name = "kpackage-5.84.0.tar.xz";
     };
   };
   kparts = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kparts-5.81.0.tar.xz";
-      sha256 = "1gjqmwg5pjj41vwfsdffvr1gfbkbm12f77rlyfn9gg4z6bjdx47b";
-      name = "kparts-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kparts-5.84.0.tar.xz";
+      sha256 = "1fbmywx1fvv9hnznpiy8cp27dfn2ysskymyppqi1hsw01gqs7vfy";
+      name = "kparts-5.84.0.tar.xz";
     };
   };
   kpeople = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kpeople-5.81.0.tar.xz";
-      sha256 = "1a63s8c946wrivqs8n680jpmcys8iafyy9j3isl4z5n88df2nnih";
-      name = "kpeople-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kpeople-5.84.0.tar.xz";
+      sha256 = "0llggx56xb3y10j0avm4vdmjfl4pwqbvpb5w7kk1gb43nxpz7h3p";
+      name = "kpeople-5.84.0.tar.xz";
     };
   };
   kplotting = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kplotting-5.81.0.tar.xz";
-      sha256 = "1s368amqfqjmr99bz4xc0xfm2sf29s99z3zpwbx2lbjvqh3p5yyb";
-      name = "kplotting-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kplotting-5.84.0.tar.xz";
+      sha256 = "007cvy57ck2frnr5dvs80k3n7lv1q2xw1zadmw13wwdqqsl0kzag";
+      name = "kplotting-5.84.0.tar.xz";
     };
   };
   kpty = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kpty-5.81.0.tar.xz";
-      sha256 = "0la3jpkki1hskxg12nf3r59fw7r9q8n3sc7wcdik9r9c9rhlyjpk";
-      name = "kpty-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kpty-5.84.0.tar.xz";
+      sha256 = "04q6qz62vwywzaxxmsq0g28k036ljrcyvn5hywdns58zi5d7nab2";
+      name = "kpty-5.84.0.tar.xz";
     };
   };
   kquickcharts = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kquickcharts-5.81.0.tar.xz";
-      sha256 = "00w2m0pwilldip873w97l9hvgm6gfy1aj6blyzcxn7x1688lv1jz";
-      name = "kquickcharts-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kquickcharts-5.84.0.tar.xz";
+      sha256 = "01q1ncvk8dc9jkm9x6q7wkcnj1z1377824gj7m83pzgy3g51vcdg";
+      name = "kquickcharts-5.84.0.tar.xz";
     };
   };
   kross = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/portingAids/kross-5.81.0.tar.xz";
-      sha256 = "02jsyarn7ihv547b3vv5xwjm1bs58x5lhdnb74v02cwsgb82wlm3";
-      name = "kross-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/portingAids/kross-5.84.0.tar.xz";
+      sha256 = "0fz4q2m16f4zy6pajcrmhm5a9fjrfjfqyns1lm6aimdsrvkwpc93";
+      name = "kross-5.84.0.tar.xz";
     };
   };
   krunner = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/krunner-5.81.0.tar.xz";
-      sha256 = "1yf04qw82hmz8g9hddyalh73b2dxk492n8g856d5m6ccq89c7ga5";
-      name = "krunner-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/krunner-5.84.0.tar.xz";
+      sha256 = "15ai1x9v5hm5vj7qhh7c4ajiiaf56h3yy3qnb4kamkv146g09a1p";
+      name = "krunner-5.84.0.tar.xz";
     };
   };
   kservice = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kservice-5.81.0.tar.xz";
-      sha256 = "1kb6wz8d879b57hpfi4ybpc9d3r67b205xdjmp3bhz21894haszc";
-      name = "kservice-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kservice-5.84.0.tar.xz";
+      sha256 = "1lbx51wpsc7qdp480yl08wsp6lb1lww5ix5hpxxmv0x7galcgsf2";
+      name = "kservice-5.84.0.tar.xz";
     };
   };
   ktexteditor = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/ktexteditor-5.81.0.tar.xz";
-      sha256 = "1pbxkkqzk4l8n9am5r6w2s1smqwwcc2wagy9in0k80gbyszp9rvm";
-      name = "ktexteditor-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/ktexteditor-5.84.0.tar.xz";
+      sha256 = "0znpls5ap33yjcjw1ayl6zja8qnqx5glk2bvig5aajriqbpw8irk";
+      name = "ktexteditor-5.84.0.tar.xz";
     };
   };
   ktextwidgets = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/ktextwidgets-5.81.0.tar.xz";
-      sha256 = "04mn22xmhkxqb138b9wf6jxz39dfp8rigdg3pzr5llx6gmrln9y8";
-      name = "ktextwidgets-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/ktextwidgets-5.84.0.tar.xz";
+      sha256 = "069qk1frsfa9iqgchpvkq4sgh973fc2fy1hjymc2zv3mahz23qfl";
+      name = "ktextwidgets-5.84.0.tar.xz";
     };
   };
   kunitconversion = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kunitconversion-5.81.0.tar.xz";
-      sha256 = "1g9i253f3qjpcmfiy12zmbi41gld9fxy89d742b44xc88fhj3z1y";
-      name = "kunitconversion-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kunitconversion-5.84.0.tar.xz";
+      sha256 = "0a8jc3vw4ydsfff1qis9323vcd7nhigwyjxqa57qzvswrk7wmlxf";
+      name = "kunitconversion-5.84.0.tar.xz";
     };
   };
   kwallet = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kwallet-5.81.0.tar.xz";
-      sha256 = "1i05j20847bb9b7348f85fln6spqnkp3c9ysr7yvnm8wfyzrd1gz";
-      name = "kwallet-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kwallet-5.84.0.tar.xz";
+      sha256 = "1m08q820zl9wrc04i0inb7n0r35p0lzcv3hiwvzxmgdcm9zm2n3c";
+      name = "kwallet-5.84.0.tar.xz";
     };
   };
   kwayland = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kwayland-5.81.0.tar.xz";
-      sha256 = "1a23zcf6aax1fyq4d6y88flyap8wwkbwnq4vkbybpbnxnkbwl8ny";
-      name = "kwayland-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kwayland-5.84.0.tar.xz";
+      sha256 = "1lpmbqkfbjq3445lj42zqc90wk437kzyjlpzji0wh4p9nqa4a27s";
+      name = "kwayland-5.84.0.tar.xz";
     };
   };
   kwidgetsaddons = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kwidgetsaddons-5.81.0.tar.xz";
-      sha256 = "0hmnlda1hgk6zwx6wnjzqc0b2awv835736sjyczrxcfaxlkfj99g";
-      name = "kwidgetsaddons-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kwidgetsaddons-5.84.0.tar.xz";
+      sha256 = "1xffbmi3a3qp781aay964b30l9y170imxaa05r3xpj77saq673kp";
+      name = "kwidgetsaddons-5.84.0.tar.xz";
     };
   };
   kwindowsystem = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kwindowsystem-5.81.0.tar.xz";
-      sha256 = "11ma5vhq8z570danzq9vdwwcq5n6drsm9m3rpvc1vd3kn2mslls7";
-      name = "kwindowsystem-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kwindowsystem-5.84.0.tar.xz";
+      sha256 = "19fa8j4paq245rwvnmnz2mnwgh8y6c26wbw25v8kgd7a33ryg0fg";
+      name = "kwindowsystem-5.84.0.tar.xz";
     };
   };
   kxmlgui = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kxmlgui-5.81.0.tar.xz";
-      sha256 = "1l3a9qzc1x1ai2g1g551w05n2jxshxr03rcy0n8m8lbf518288yv";
-      name = "kxmlgui-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kxmlgui-5.84.0.tar.xz";
+      sha256 = "1ddfvjwww2270zx4f86w0xmd45pyir95llhc4x2ixicx94jvsg1c";
+      name = "kxmlgui-5.84.0.tar.xz";
     };
   };
   kxmlrpcclient = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/portingAids/kxmlrpcclient-5.81.0.tar.xz";
-      sha256 = "15q3w6wdn5ynhyv5244irq51qbm66bl7799zfs964c0y6dmmm3hg";
-      name = "kxmlrpcclient-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/portingAids/kxmlrpcclient-5.84.0.tar.xz";
+      sha256 = "10jddyak99wd4x3vm9d6xzh45pl1lhhfw9isrdkgzcixip2s4p6i";
+      name = "kxmlrpcclient-5.84.0.tar.xz";
     };
   };
   modemmanager-qt = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/modemmanager-qt-5.81.0.tar.xz";
-      sha256 = "01rr4j09xqsja7h699yk58xif7qrlbszd0mim4cncy7pkgwn43h6";
-      name = "modemmanager-qt-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/modemmanager-qt-5.84.0.tar.xz";
+      sha256 = "1k0dbgq3zbg1rhy775vbxwqssbdin4wm7rw4fkcdra4z9hf39xin";
+      name = "modemmanager-qt-5.84.0.tar.xz";
     };
   };
   networkmanager-qt = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/networkmanager-qt-5.81.0.tar.xz";
-      sha256 = "1j26ja4r6ry7134yh8i6rkf6dy6kapnrjap9476mr78ig0d6r2if";
-      name = "networkmanager-qt-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/networkmanager-qt-5.84.0.tar.xz";
+      sha256 = "1qd58p2hj1rnzjvd6sskmry7gq7gp9fvp115ihc8dkaq8xvwah77";
+      name = "networkmanager-qt-5.84.0.tar.xz";
     };
   };
   oxygen-icons5 = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/oxygen-icons5-5.81.0.tar.xz";
-      sha256 = "1s0gvicrfw6dl164cccj05rfhp627mqa9ml0j4dvgvknnrgip6hz";
-      name = "oxygen-icons5-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/oxygen-icons5-5.84.0.tar.xz";
+      sha256 = "06h1c2lvvs41lcibgv5iz31g7j1x7fdyi7lnh21hkgd7747vk42l";
+      name = "oxygen-icons5-5.84.0.tar.xz";
     };
   };
   plasma-framework = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/plasma-framework-5.81.0.tar.xz";
-      sha256 = "0g36a632kafsvhamk33w46cafg1gyir3kkx12fkhyqll2vlpn0v7";
-      name = "plasma-framework-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/plasma-framework-5.84.0.tar.xz";
+      sha256 = "0chmmb04m1bq4d1w67bw3ppc2iycw7wzsdpams6c4y9f59iwrd8r";
+      name = "plasma-framework-5.84.0.tar.xz";
     };
   };
   prison = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/prison-5.81.0.tar.xz";
-      sha256 = "1mrrwhg98br4r9g7lj6gn3w1z2gfh9kr7ycispssjalyp6bdf4yg";
-      name = "prison-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/prison-5.84.0.tar.xz";
+      sha256 = "17bd40fqp88j5dwxixrhf1d4xwri574l4593rdhzg8qgi9jm2ypj";
+      name = "prison-5.84.0.tar.xz";
     };
   };
   purpose = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/purpose-5.81.0.tar.xz";
-      sha256 = "0188wxxy6rg6sm722db02nzhmlv3c540zs2qh6h9fbbf1k4h82jf";
-      name = "purpose-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/purpose-5.84.0.tar.xz";
+      sha256 = "01rh85fc4c4gl0lxw2rbcrh001akggnz7aahkc2spsgd64m7vfv7";
+      name = "purpose-5.84.0.tar.xz";
     };
   };
   qqc2-desktop-style = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/qqc2-desktop-style-5.81.0.tar.xz";
-      sha256 = "1ac4jc6yi6fwndyivc11brlaz3sncxyxzwrfdak8gg579z67zjx5";
-      name = "qqc2-desktop-style-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/qqc2-desktop-style-5.84.0.tar.xz";
+      sha256 = "0vz68nh6iy92whjlkgf1jmmlhr5261rgsy1r7k3bfd91a41qh2qw";
+      name = "qqc2-desktop-style-5.84.0.tar.xz";
     };
   };
   solid = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/solid-5.81.0.tar.xz";
-      sha256 = "0w144jdhspjgqpv0xyxr6l6bnh2bazn9jfbw5iim8fj4q5dyr6c1";
-      name = "solid-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/solid-5.84.0.tar.xz";
+      sha256 = "0lrims7zfr5xr5y25v63d08m6cm27z6mxbdg9j06xsrqf93vyz4s";
+      name = "solid-5.84.0.tar.xz";
     };
   };
   sonnet = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/sonnet-5.81.0.tar.xz";
-      sha256 = "0kin6xngk4bxxn7y06q1pm0vk5s66gh6riv58l051px27m6lwz2a";
-      name = "sonnet-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/sonnet-5.84.0.tar.xz";
+      sha256 = "0xnbi1rbb2awl5bvyjxjvzq5a8n9xpmiqvlzcgprmqgmsygzlnnq";
+      name = "sonnet-5.84.0.tar.xz";
     };
   };
   syndication = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/syndication-5.81.0.tar.xz";
-      sha256 = "1fxdhnd8kl0q13434vbkmjan9dakhn9bdrad9d4vd3x11c77ggkn";
-      name = "syndication-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/syndication-5.84.0.tar.xz";
+      sha256 = "0m245vp5dkw88rz9kgym4ka729p688wspm8mv6zzsfffggvfkwrc";
+      name = "syndication-5.84.0.tar.xz";
     };
   };
   syntax-highlighting = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/syntax-highlighting-5.81.0.tar.xz";
-      sha256 = "0paazw8y8kdvwg2waa45az5qgyxi2w5nkfbjg84v1is7yhb065yb";
-      name = "syntax-highlighting-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/syntax-highlighting-5.84.0.tar.xz";
+      sha256 = "1mb4di9k2rxf6f7n53z94q5awmwzfd516kv757ifd323w9xkmyxa";
+      name = "syntax-highlighting-5.84.0.tar.xz";
     };
   };
   threadweaver = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/threadweaver-5.81.0.tar.xz";
-      sha256 = "03mz4zibvmriaa9qxvqsnp3ahjnhylzjj80w5c6nc4jjywmi89af";
-      name = "threadweaver-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/threadweaver-5.84.0.tar.xz";
+      sha256 = "0hmxkqwxjvk6m3h3l12bw01xgwqxzja5cismqrwcc3yxf8fyd572";
+      name = "threadweaver-5.84.0.tar.xz";
     };
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/kdsoap/default.nix b/nixpkgs/pkgs/development/libraries/kdsoap/default.nix
index a4dd9cbaa45d..0d3c20651c75 100644
--- a/nixpkgs/pkgs/development/libraries/kdsoap/default.nix
+++ b/nixpkgs/pkgs/development/libraries/kdsoap/default.nix
@@ -1,30 +1,25 @@
-{ mkDerivation, lib, fetchurl
+{ mkDerivation
+, lib
+, fetchurl
 , cmake
 , qtbase
 }:
 
 mkDerivation rec {
   pname = "kdsoap";
-  version = "1.10.0";
-  meta = {
-    description = "A Qt-based client-side and server-side SOAP component";
-    longDescription = ''
-      KD Soap is a Qt-based client-side and server-side SOAP component.
+  version = "2.0.0";
 
-      It can be used to create client applications for web services and also
-      provides the means to create web services without the need for any further
-      component such as a dedicated web server.
-    '';
-    license = with lib.licenses; [ gpl2 gpl3 lgpl21 ];
-    maintainers = [ lib.maintainers.ttuegel ];
-  };
   src = fetchurl {
     url = "https://github.com/KDAB/KDSoap/releases/download/kdsoap-${version}/kdsoap-${version}.tar.gz";
-    sha256 = "sha256-DGBuzENEZtutsoKYIMoWOvYMx8oib1U7XUAyGWc3M48=";
+    sha256 = "sha256-0YljEE+m99ArBEYxzdvnjxj3DgbGB69oDHrOBNbPBO4=";
   };
+
   outputs = [ "out" "dev" ];
+
   nativeBuildInputs = [ cmake ];
+
   buildInputs = [ qtbase ];
+
   postInstall = ''
     moveToOutput bin/kdwsdl2cpp "$dev"
     sed -i "$out/lib/cmake/KDSoap/KDSoapTargets.cmake" \
@@ -32,4 +27,17 @@ mkDerivation rec {
     sed -i "$out/lib/cmake/KDSoap/KDSoapTargets-release.cmake" \
         -e "s@$out/bin@$dev/bin@"
   '';
+
+  meta = with lib; {
+    description = "A Qt-based client-side and server-side SOAP component";
+    longDescription = ''
+      KD Soap is a Qt-based client-side and server-side SOAP component.
+
+      It can be used to create client applications for web services and also
+      provides the means to create web services without the need for any further
+      component such as a dedicated web server.
+    '';
+    license = with licenses; [ gpl2 gpl3 lgpl21 ];
+    maintainers = [ maintainers.ttuegel ];
+  };
 }
diff --git a/nixpkgs/pkgs/development/libraries/kerberos/heimdal.nix b/nixpkgs/pkgs/development/libraries/kerberos/heimdal.nix
index b9d970520316..c426ec922ae4 100644
--- a/nixpkgs/pkgs/development/libraries/kerberos/heimdal.nix
+++ b/nixpkgs/pkgs/development/libraries/kerberos/heimdal.nix
@@ -81,6 +81,9 @@ stdenv.mkDerivation rec {
     # asn1 compilers, move them to $dev
     mv $out/libexec/heimdal/heimdal/* $dev/bin
     rmdir $out/libexec/heimdal/heimdal
+
+    # compile_et is needed for cross-compiling this package and samba
+    mv lib/com_err/.libs/compile_et $dev/bin
   '';
 
   # Issues with hydra
diff --git a/nixpkgs/pkgs/development/libraries/khronos-ocl-icd-loader/default.nix b/nixpkgs/pkgs/development/libraries/khronos-ocl-icd-loader/default.nix
index f4688f34982c..b0f1f0eae257 100644
--- a/nixpkgs/pkgs/development/libraries/khronos-ocl-icd-loader/default.nix
+++ b/nixpkgs/pkgs/development/libraries/khronos-ocl-icd-loader/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "0v2yi6d3g5qshzy6pjic09c5irwgds106yvr93q62f32psfblnmy";
   };
 
-  patches = lib.lists.optional withTracing ./tracing.patch;
+  patches = lib.optional withTracing ./tracing.patch;
 
   nativeBuildInputs = [ cmake ];
   buildInputs = [ opencl-headers ];
diff --git a/nixpkgs/pkgs/development/libraries/kmsxx/default.nix b/nixpkgs/pkgs/development/libraries/kmsxx/default.nix
index 222747b4d734..a07bc73a64ce 100644
--- a/nixpkgs/pkgs/development/libraries/kmsxx/default.nix
+++ b/nixpkgs/pkgs/development/libraries/kmsxx/default.nix
@@ -1,22 +1,37 @@
-{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, libdrm
-, withPython ? false, python ? null }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, meson
+, ninja
+, cmake
+, pkg-config
+, libdrm
+, fmt
+, libevdev
+, withPython ? false
+, python3Packages
+}:
 
 stdenv.mkDerivation {
   pname = "kmsxx";
-  version = "2020-08-04";
+  version = "2021-07-26";
 
   src = fetchFromGitHub {
     owner = "tomba";
     repo = "kmsxx";
     fetchSubmodules = true;
-    rev = "38bee3092f2d477f1baebfcae464f888d3d04bbe";
-    sha256 = "0xz4m9bk0naawxwpx5cy1j3cm6c8c9m5y551csk88y88x1g0z0xh";
+    rev = "54f591ec0de61dd192baf781c9b2ec87d5b461f7";
+    sha256 = "sha256-j+20WY4a2iTKZnYjXhxbNnZZ53K3dHpDMTp+ZulS+7c=";
   };
 
-  cmakeFlags = lib.optional (!withPython) "-DKMSXX_ENABLE_PYTHON=OFF";
+  # Didn't detect pybind11 without cmake
+  nativeBuildInputs = [ meson ninja pkg-config ] ++ lib.optionals withPython [ cmake ];
+  buildInputs = [ libdrm fmt libevdev ]
+    ++ lib.optionals withPython (with python3Packages; [ python pybind11 ]);
 
-  nativeBuildInputs = [ cmake pkg-config ];
-  buildInputs = [ libdrm ] ++ lib.optionals withPython [ python ];
+  dontUseCmakeConfigure = true;
+
+  mesonFlags = lib.optional (!withPython) "-Dpykms=disabled";
 
   meta = with lib; {
     description = "C++11 library, utilities and python bindings for Linux kernel mode setting";
@@ -24,6 +39,5 @@ stdenv.mkDerivation {
     license = licenses.mpl20;
     maintainers = with maintainers; [ ];
     platforms = platforms.linux;
-    broken = true; # marked broken 2021-03-26
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/kquickimageedit/default.nix b/nixpkgs/pkgs/development/libraries/kquickimageedit/default.nix
index f7cac0c03726..ca0afe103b71 100644
--- a/nixpkgs/pkgs/development/libraries/kquickimageedit/default.nix
+++ b/nixpkgs/pkgs/development/libraries/kquickimageedit/default.nix
@@ -5,14 +5,14 @@
 
 mkDerivation rec {
   pname = "kquickimageeditor";
-  version = "0.1.2";
+  version = "0.1.3";
 
   src = fetchFromGitLab {
     domain = "invent.kde.org";
     owner = "libraries";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-4X3GO/NPzA3c9KiGIkznLHUjLfNNNnPXif7IFwY5dOM=";
+    sha256 = "sha256-p2uOssS5MQSkmppNKOjTxp866Qx1rIB6ZPhcmVvfBxs=";
   };
 
   nativeBuildInputs = [ extra-cmake-modules ];
diff --git a/nixpkgs/pkgs/development/libraries/lemon-graph/default.nix b/nixpkgs/pkgs/development/libraries/lemon-graph/default.nix
new file mode 100644
index 000000000000..04f0514781bf
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/lemon-graph/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, stdenv
+, fetchurl
+, cmake
+}:
+
+stdenv.mkDerivation rec {
+  pname = "lemon-graph";
+  version = "1.3.1";
+
+  src = fetchurl {
+    url = "https://lemon.cs.elte.hu/pub/sources/lemon-${version}.tar.gz";
+    sha256 = "1j6kp9axhgna47cfnmk1m7vnqn01hwh7pf1fp76aid60yhjwgdvi";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  doCheck = true;
+
+  meta = with lib; {
+    homepage = "https://lemon.cs.elte.hu/trac/lemon";
+    description = "Efficient library for combinatorial optimization tasks on graphs and networks";
+    license = licenses.boost;
+    maintainers = with maintainers; [ trepetti ];
+    platforms = platforms.all;
+    broken = stdenv.isAarch64 || stdenv.isDarwin;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/leptonica/default.nix b/nixpkgs/pkgs/development/libraries/leptonica/default.nix
index 363140b5f58f..723b5a0ec1ff 100644
--- a/nixpkgs/pkgs/development/libraries/leptonica/default.nix
+++ b/nixpkgs/pkgs/development/libraries/leptonica/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "leptonica";
-  version = "1.81.0";
+  version = "1.81.1";
 
   src = fetchurl {
     url = "http://www.leptonica.org/source/${pname}-${version}.tar.gz";
-    sha256 = "sha256-0ZKwVem9YLhBEQI8yYDDc5Dm1CexlKj9K9YRVDo73a0=";
+    sha256 = "sha256-D06zFem93deX9MVf3qTh9F/Kfjs1ii/Gk/2VfOLEPKk=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/nixpkgs/pkgs/development/libraries/lib3mf/default.nix b/nixpkgs/pkgs/development/libraries/lib3mf/default.nix
index b75b1b833d73..b301ac13c2d8 100644
--- a/nixpkgs/pkgs/development/libraries/lib3mf/default.nix
+++ b/nixpkgs/pkgs/development/libraries/lib3mf/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "lib3mf";
-  version = "2.1.1";
+  version = "2.2.0";
 
   src = fetchFromGitHub {
     owner = "3MFConsortium";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1417xlxc1y5jnipixhbjfrrjgkrprbbraj8647sff9051m3hpxc3";
+    sha256 = "sha256-WMTTYYgpCIM86a6Jw8iah/YVXN9T5youzEieWL/d+Bc=";
   };
 
   nativeBuildInputs = [ cmake ninja pkg-config ];
diff --git a/nixpkgs/pkgs/development/libraries/libantlr3c/default.nix b/nixpkgs/pkgs/development/libraries/libantlr3c/default.nix
index aac75fcc2257..f61c0bfafc7b 100644
--- a/nixpkgs/pkgs/development/libraries/libantlr3c/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libantlr3c/default.nix
@@ -8,7 +8,10 @@ stdenv.mkDerivation rec {
     sha256 ="0lpbnb4dq4azmsvlhp6khq1gy42kyqyjv8gww74g5lm2y6blm4fa";
   };
 
-  configureFlags = lib.optional stdenv.is64bit "--enable-64bit";
+  configureFlags = lib.optional stdenv.is64bit "--enable-64bit"
+    # libantlr3c wrongly emits the abi flags -m64 and -m32 which imply x86 archs
+    # https://github.com/antlr/antlr3/issues/205
+    ++ lib.optional (!stdenv.hostPlatform.isx86) "--disable-abiflags";
 
   meta = with lib; {
     description = "C runtime libraries of ANTLR v3";
@@ -16,12 +19,5 @@ stdenv.mkDerivation rec {
     license = licenses.bsd3;
     platforms = platforms.unix;
     maintainers = with maintainers; [ vbgl ];
-    # The package failed to build with error:
-    #   gcc: error: unrecognized command line option '-m64'
-    #
-    # See:
-    # https://gist.github.com/r-rmcgibbo/15bf2ca9b297e8357887e146076fff7d
-    # https://gist.github.com/r-rmcgibbo/a362535e4b174d4bfb68112503a49fcd
-    broken = stdenv.hostPlatform.isAarch64;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/libaom/default.nix b/nixpkgs/pkgs/development/libraries/libaom/default.nix
index ef76f61efa91..4a78f3c5e51d 100644
--- a/nixpkgs/pkgs/development/libraries/libaom/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libaom/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libaom";
-  version = "3.1.1";
+  version = "3.1.2";
 
   src = fetchzip {
     url = "https://aomedia.googlesource.com/aom/+archive/v${version}.tar.gz";
-    sha256 = "11fy2xw35ladkjcz71samhcpqlqr3y0n1n17nk90i13aydrll66f";
+    sha256 = "1c7yrhb56qj5c3lz54n1f9cbrvdr32g2yrrdiiy72sib8ycq9hz2";
     stripRoot = false;
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/libarchive-qt/default.nix b/nixpkgs/pkgs/development/libraries/libarchive-qt/default.nix
new file mode 100644
index 000000000000..920cc7efa081
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libarchive-qt/default.nix
@@ -0,0 +1,33 @@
+{ mkDerivation, lib, fetchFromGitLab, libarchive, xz, zlib, bzip2, cmake, ninja }:
+
+mkDerivation rec {
+  pname = "libarchive-qt";
+  version = "2.0.4";
+
+  src = fetchFromGitLab {
+    owner = "marcusbritanicus";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-onTV9dgk6Yl9H35EvA6/8vk1IrYH8vg9OQNVgzkt4q4";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    ninja
+  ];
+
+  buildInputs = [
+    libarchive
+    bzip2
+    zlib
+    xz
+  ];
+
+  meta = with lib; {
+    description = "A Qt based archiving solution with libarchive backend";
+    homepage = "https://gitlab.com/marcusbritanicus/libarchive-qt";
+    license = licenses.lgpl3Plus;
+    maintainers = with maintainers; [ dan4ik605743 ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/libargs/default.nix b/nixpkgs/pkgs/development/libraries/libargs/default.nix
new file mode 100644
index 000000000000..f4395d134bc9
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libargs/default.nix
@@ -0,0 +1,22 @@
+{ lib, stdenv, fetchFromGitHub, cmake }:
+
+stdenv.mkDerivation rec {
+  pname = "args";
+  version = "6.2.6";
+
+  src = fetchFromGitHub {
+    owner = "Taywee";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-g5OXuZNi5bkWuSg7SNmhA6vyHUOFU8suYkH8nGx6tvg=";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  meta = with lib; {
+    description = "A simple header-only C++ argument parser library";
+    homepage = "https://github.com/Taywee/args";
+    license = licenses.mit;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/libaudec/default.nix b/nixpkgs/pkgs/development/libraries/libaudec/default.nix
index a243e56c2fe3..78e4b5cfa404 100644
--- a/nixpkgs/pkgs/development/libraries/libaudec/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libaudec/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libaudec";
-  version = "0.2.4";
+  version = "0.3.4";
 
   src = fetchFromGitHub {
     owner = "zrythm";
     repo = "libaudec";
     rev = "v${version}";
-    sha256 = "1570m2dfia17dbkhd2qhx8jjihrpm7g8nnyg6n4wif4vv229s7dz";
+    sha256 = "sha256-8morbrq8zG+2N3ruMeJa85ci9P0wPQOfZ5H56diFEAo=";
   };
 
   buildInputs = [ libsndfile libsamplerate ];
diff --git a/nixpkgs/pkgs/development/libraries/libayatana-appindicator/default.nix b/nixpkgs/pkgs/development/libraries/libayatana-appindicator/default.nix
index 53b0dca09127..df1c6683fbcf 100644
--- a/nixpkgs/pkgs/development/libraries/libayatana-appindicator/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libayatana-appindicator/default.nix
@@ -23,12 +23,12 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkg-config autoreconfHook gtk-doc gobject-introspection dbus-glib ];
 
   buildInputs =
-    lib.lists.optional (gtkVersion == "2") libayatana-indicator-gtk2
-    ++ lib.lists.optional (gtkVersion == "3") libayatana-indicator-gtk3;
+    lib.optional (gtkVersion == "2") libayatana-indicator-gtk2
+    ++ lib.optional (gtkVersion == "3") libayatana-indicator-gtk3;
 
   propagatedBuildInputs =
-    lib.lists.optionals (gtkVersion == "2") [ gtk2 libdbusmenu-gtk2 ]
-    ++ lib.lists.optionals (gtkVersion == "3") [ gtk3 libdbusmenu-gtk3 ];
+    lib.optionals (gtkVersion == "2") [ gtk2 libdbusmenu-gtk2 ]
+    ++ lib.optionals (gtkVersion == "3") [ gtk3 libdbusmenu-gtk3 ];
 
   preAutoreconf = ''
     gtkdocize
diff --git a/nixpkgs/pkgs/development/libraries/libayatana-indicator/default.nix b/nixpkgs/pkgs/development/libraries/libayatana-indicator/default.nix
index c3c271c17194..f4871538effe 100644
--- a/nixpkgs/pkgs/development/libraries/libayatana-indicator/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libayatana-indicator/default.nix
@@ -20,8 +20,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkg-config autoreconfHook ];
 
   buildInputs = [ ayatana-ido ]
-    ++ lib.lists.optionals (gtkVersion == "2") [ gtk2 ]
-    ++ lib.lists.optionals (gtkVersion == "3") [ gtk3 ];
+    ++ lib.optionals (gtkVersion == "2") [ gtk2 ]
+    ++ lib.optionals (gtkVersion == "3") [ gtk3 ];
 
   configureFlags = [ "--with-gtk=${gtkVersion}" ];
 
diff --git a/nixpkgs/pkgs/development/libraries/libbluray/default.nix b/nixpkgs/pkgs/development/libraries/libbluray/default.nix
index 3f90bb878adc..8fd680683dd8 100644
--- a/nixpkgs/pkgs/development/libraries/libbluray/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libbluray/default.nix
@@ -19,11 +19,11 @@ assert withFonts -> freetype != null;
 
 stdenv.mkDerivation rec {
   pname = "libbluray";
-  version  = "1.2.1";
+  version  = "1.3.0";
 
   src = fetchurl {
     url = "http://get.videolan.org/libbluray/${version}/${pname}-${version}.tar.bz2";
-    sha256 = "1v1nmq631j0prih7pjl01ixhhwgrkjpxrjmmc342rsl8g4zyh8sj";
+    sha256 = "sha256-4tuvmehOCpcl9Jhby4XUHlLCJhzGUdiISxt5C17wFvk=";
   };
 
   patches = optional withJava ./BDJ-JARFILE-path.patch;
diff --git a/nixpkgs/pkgs/development/libraries/libbytesize/default.nix b/nixpkgs/pkgs/development/libraries/libbytesize/default.nix
index 7ce8d6e7f83a..eda85e286b4c 100644
--- a/nixpkgs/pkgs/development/libraries/libbytesize/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libbytesize/default.nix
@@ -4,7 +4,7 @@
 }:
 
 let
-  version = "2.5";
+  version = "2.6";
 in stdenv.mkDerivation rec {
   pname = "libbytesize";
   inherit version;
@@ -13,7 +13,7 @@ in stdenv.mkDerivation rec {
     owner = "storaged-project";
     repo = "libbytesize";
     rev = version;
-    sha256 = "sha256-F8Ur8gtNYp4PYfBQ9sDJGBgW7KohJYNEU9SI2SbNuvM=";
+    sha256 = "sha256-akZFd7rUjBQ/yj79NHWTNUro3wKu81F0Y1GX8gMdJ5Y=";
   };
 
   outputs = [ "out" "dev" "devdoc" ];
diff --git a/nixpkgs/pkgs/development/libraries/libcamera/default.nix b/nixpkgs/pkgs/development/libraries/libcamera/default.nix
new file mode 100644
index 000000000000..90a946597e77
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libcamera/default.nix
@@ -0,0 +1,76 @@
+{ stdenv
+, fetchgit
+, lib
+, meson
+, ninja
+, pkg-config
+, boost
+, gnutls
+, openssl
+, libevent
+, lttng-ust
+, gst_all_1
+, gtest
+, graphviz
+, doxygen
+, python3
+, python3Packages
+}:
+
+stdenv.mkDerivation {
+  pname = "libcamera";
+  version = "unstable-2021-06-02";
+
+  src = fetchgit {
+    url = "git://linuxtv.org/libcamera.git";
+    rev = "143b252462b9b795a1286a30349348642fcb87f5";
+    sha256 = "0mlwgd3rxagzhmc94lnn6snriyqvfdpz8r8f58blcf16859galyl";
+  };
+
+  postPatch = ''
+    patchShebangs utils/
+  '';
+
+  buildInputs = [
+    # IPA and signing
+    gnutls
+    openssl
+    boost
+
+    # gstreamer integration
+    gst_all_1.gstreamer
+    gst_all_1.gst-plugins-base
+
+    # cam integration
+    libevent
+
+    # lttng tracing
+    lttng-ust
+  ];
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    python3
+    python3Packages.jinja2
+    python3Packages.pyyaml
+    python3Packages.ply
+    python3Packages.sphinx
+    gtest
+    graphviz
+    doxygen
+  ];
+
+  mesonFlags = [ "-Dv4l2=true" "-Dqcam=disabled" ];
+
+  # Fixes error on a deprecated declaration
+  NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations";
+
+  meta = with lib; {
+    description = "An open source camera stack and framework for Linux, Android, and ChromeOS";
+    homepage = "https://libcamera.org";
+    license = licenses.lgpl2Plus;
+    maintainers = with maintainers; [ citadelcore ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/libcanberra/default.nix b/nixpkgs/pkgs/development/libraries/libcanberra/default.nix
index 5d4bca0f1b9f..92f05b8cd303 100644
--- a/nixpkgs/pkgs/development/libraries/libcanberra/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libcanberra/default.nix
@@ -1,22 +1,25 @@
 { stdenv, lib, fetchurl, fetchpatch, pkg-config, libtool
-, gtk ? null
+, gtk2-x11, gtk3-x11 , gtkSupport ? null
 , libpulseaudio, gst_all_1, libvorbis, libcap
-, CoreServices
+, Carbon, CoreServices
 , withAlsa ? stdenv.isLinux, alsa-lib }:
 
 stdenv.mkDerivation rec {
-  name = "libcanberra-0.30";
+  pname = "libcanberra";
+  version = "0.30";
 
   src = fetchurl {
-    url = "http://0pointer.de/lennart/projects/libcanberra/${name}.tar.xz";
+    url = "http://0pointer.de/lennart/projects/libcanberra/${pname}-${version}.tar.xz";
     sha256 = "0wps39h8rx2b00vyvkia5j40fkak3dpipp1kzilqla0cgvk73dn2";
   };
 
   nativeBuildInputs = [ pkg-config libtool ];
   buildInputs = [
-    libpulseaudio libvorbis gtk
+    libpulseaudio libvorbis
   ] ++ (with gst_all_1; [ gstreamer gst-plugins-base ])
-    ++ lib.optional stdenv.isDarwin CoreServices
+    ++ lib.optional (gtkSupport == "gtk2") gtk2-x11
+    ++ lib.optional (gtkSupport == "gtk3") gtk3-x11
+    ++ lib.optionals stdenv.isDarwin [Carbon CoreServices]
     ++ lib.optional stdenv.isLinux libcap
     ++ lib.optional withAlsa alsa-lib;
 
@@ -30,7 +33,7 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  postPatch = (lib.optional stdenv.isDarwin) ''
+  postPatch = lib.optionalString stdenv.isDarwin ''
     patch -p0 < ${fetchpatch {
       url = "https://raw.githubusercontent.com/macports/macports-ports/master/audio/libcanberra/files/patch-configure.diff";
       sha256 = "1f7h7ifpqvbfhqygn1b7klvwi80zmpv3538vbmq7ql7bkf1q8h31";
@@ -43,8 +46,8 @@ stdenv.mkDerivation rec {
     done
   '';
 
-  passthru = {
-    gtkModule = "/lib/gtk-2.0/";
+  passthru = lib.optionalAttrs (gtkSupport != null) {
+    gtkModule = if gtkSupport == "gtk2" then "/lib/gtk-2.0" else "/lib/gtk-3.0/";
   };
 
   meta = with lib; {
@@ -62,6 +65,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.unix;
     # canberra-gtk-module.c:28:10: fatal error: 'gdk/gdkx.h' file not found
     # #include <gdk/gdkx.h>
-    broken = stdenv.isDarwin;
+    broken = stdenv.isDarwin && (gtkSupport == "gtk3");
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/libcef/default.nix b/nixpkgs/pkgs/development/libraries/libcef/default.nix
index c3d6516a3dfd..85163daad0a1 100644
--- a/nixpkgs/pkgs/development/libraries/libcef/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libcef/default.nix
@@ -1,4 +1,7 @@
-{ lib, stdenv, fetchurl, cmake
+{ lib
+, stdenv
+, fetchurl
+, cmake
 , glib
 , nss
 , nspr
@@ -52,18 +55,39 @@ let
     cups
     libxshmfence
   ];
-in stdenv.mkDerivation rec {
+  platforms = {
+    "aarch64-linux" = {
+      platformStr = "linuxarm64";
+      projectArch = "arm64";
+      sha256 = "1j93qawh9h6k2ic70i10npppv5f9dch961lc1wxwsi68daq8r081";
+    };
+    "i686-linux" = {
+      platformStr = "linux32";
+      projectArch = "x86";
+      sha256 = "0ki4zr8ih06kirgbpxbinv4baw3qvacx208q6qy1cvpfh6ll4fwb";
+    };
+    "x86_64-linux" = {
+      platformStr = "linux64";
+      projectArch = "x86_64";
+      sha256 = "1ja711x9fdlf21qw1k9xn3lvjc5zsfgnjga1w1r8sysam73jk7xj";
+    };
+  };
+
+  platformInfo = builtins.getAttr stdenv.targetPlatform.system platforms;
+in
+stdenv.mkDerivation rec {
   pname = "cef-binary";
   version = "90.6.7";
   gitRevision = "19ba721";
   chromiumVersion = "90.0.4430.212";
 
   src = fetchurl {
-    url = "https://cef-builds.spotifycdn.com/cef_binary_${version}+g${gitRevision}+chromium-${chromiumVersion}_linux64_minimal.tar.bz2";
-    sha256 = "1ja711x9fdlf21qw1k9xn3lvjc5zsfgnjga1w1r8sysam73jk7xj";
+    url = "https://cef-builds.spotifycdn.com/cef_binary_${version}+g${gitRevision}+chromium-${chromiumVersion}_${platformInfo.platformStr}_minimal.tar.bz2";
+    inherit (platformInfo) sha256;
   };
 
   nativeBuildInputs = [ cmake ];
+  cmakeFlags = "-DPROJECT_ARCH=${platformInfo.projectArch}";
   makeFlags = [ "libcef_dll_wrapper" ];
   dontStrip = true;
   dontPatchELF = true;
@@ -83,6 +107,6 @@ in stdenv.mkDerivation rec {
     homepage = "https://cef-builds.spotifycdn.com/index.html";
     maintainers = with maintainers; [ puffnfresh ];
     license = licenses.bsd3;
-    platforms = with platforms; linux;
+    platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/libcouchbase/default.nix b/nixpkgs/pkgs/development/libraries/libcouchbase/default.nix
index 9cb83c5bf654..face30c1e0cc 100644
--- a/nixpkgs/pkgs/development/libraries/libcouchbase/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libcouchbase/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libcouchbase";
-  version = "3.1.3";
+  version = "3.2.1";
 
   src = fetchFromGitHub {
     owner = "couchbase";
     repo = "libcouchbase";
     rev = version;
-    sha256 = "16mafxkdbns33yjyc2p3j2iajjpyq0zp66wpjir2qj1w3kgggcw8";
+    sha256 = "sha256-6TMWWXAgt4e+De1ebmqQhaqcia1ZXT8IXn9fTGsr3qY=";
   };
 
   cmakeFlags = [ "-DLCB_NO_MOCK=ON" ];
diff --git a/nixpkgs/pkgs/development/libraries/libcprime/0001-fix-application-dirs.patch b/nixpkgs/pkgs/development/libraries/libcprime/0001-fix-application-dirs.patch
new file mode 100644
index 000000000000..b454abb188bc
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libcprime/0001-fix-application-dirs.patch
@@ -0,0 +1,29 @@
+From 8e6328e932ab2739f075e8e8d602c2370a2a8ce8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Mustafa=20=C3=87al=C4=B1=C5=9Fkan?= <musfay@protonmail.com>
+Date: Wed, 28 Jul 2021 02:26:39 +0300
+Subject: [PATCH] fix application dirs
+
+---
+ cprime/systemxdg.cpp | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/cprime/systemxdg.cpp b/cprime/systemxdg.cpp
+index f9eee66..ea0553d 100644
+--- a/cprime/systemxdg.cpp
++++ b/cprime/systemxdg.cpp
+@@ -233,8 +233,10 @@ void SystemXdgMime::setApplicationAsDefault( QString appFileName, QString mimety
+ SystemXdgMime::SystemXdgMime() {
+ 
+ 	appsDirs << QDir::home().filePath( ".local/share/applications/" );
+-	appsDirs << "/usr/local/share/applications/" << "/usr/share/applications/";
+-	appsDirs << "/usr/share/applications/kde4/" << "/usr/share/gnome/applications/";
++	appsDirs << QDir::home().filePath( ".nix-profile/share/applications/" );
++	appsDirs << "/run/current-system/sw/share/applications/";
++	appsDirs << "/run/current-system/sw/share/applications/kde4/";
++	appsDirs << "/run/current-system/sw/share/gnome/applications/";
+ };
+ 
+ DesktopFile SystemXdgMime::xdgDefaultApp( QMimeType mimeType ) {
+-- 
+2.32.0
+
diff --git a/nixpkgs/pkgs/development/libraries/libcprime/default.nix b/nixpkgs/pkgs/development/libraries/libcprime/default.nix
index 4db6ac1b46b8..d312c832243a 100644
--- a/nixpkgs/pkgs/development/libraries/libcprime/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libcprime/default.nix
@@ -19,6 +19,8 @@ mkDerivation rec {
     sha256 = "sha256-RywvFATA/+fDP/TR5QRWaJlDgy3EID//iVmrJcj3GXI=";
   };
 
+  patches = [ ./0001-fix-application-dirs.patch ];
+
   nativeBuildInputs = [
     cmake
     ninja
diff --git a/nixpkgs/pkgs/development/libraries/libcsys/default.nix b/nixpkgs/pkgs/development/libraries/libcsys/default.nix
new file mode 100644
index 000000000000..cec6e501bb5b
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libcsys/default.nix
@@ -0,0 +1,31 @@
+{ mkDerivation, lib, fetchFromGitLab, udisks2, qtbase, cmake, ninja, }:
+
+mkDerivation rec {
+  pname = "libcsys";
+  version = "4.2.0";
+
+  src = fetchFromGitLab {
+    owner = "cubocore";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-9LH95uJJIn4FHfnikGi5UCI6nUNW+1cSZnJ/KpZDI5Y=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    ninja
+  ];
+
+  buildInputs = [
+    qtbase
+    udisks2
+  ];
+
+  meta = with lib; {
+    description = "Library for managing drive and getting system resource information in real time";
+    homepage = "https://gitlab.com/cubocore/libcsys";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ dan4ik605743 ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/libdeltachat/default.nix b/nixpkgs/pkgs/development/libraries/libdeltachat/default.nix
index 77315776aca2..e8fdad61b2af 100644
--- a/nixpkgs/pkgs/development/libraries/libdeltachat/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libdeltachat/default.nix
@@ -1,29 +1,43 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , cmake
 , openssl
 , perl
 , pkg-config
 , rustPlatform
 , sqlite
+, fixDarwinDylibNames
+, CoreFoundation
+, Security
+, libiconv
 }:
 
 stdenv.mkDerivation rec {
   pname = "libdeltachat";
-  version = "1.56.0";
+  version = "1.60.0";
 
   src = fetchFromGitHub {
     owner = "deltachat";
     repo = "deltachat-core-rust";
     rev = version;
-    sha256 = "sha256-ZyVEI6q+GzHLEFH01TxS7NqwT7zqVgg0vduyf/fibB8=";
+    sha256 = "1agm5xyaib4ynmw4mhgmkhh4lnxs91wv0q9i1zfihv2vkckfm2s2";
   };
 
+  patches = [
+    # https://github.com/deltachat/deltachat-core-rust/pull/2589
+    (fetchpatch {
+      url = "https://github.com/deltachat/deltachat-core-rust/commit/408467e85d04fbbfd6bed5908d84d9e995943487.patch";
+      sha256 = "1j2ywaazglgl6370js34acrg0wrh0b7krqg05dfjf65n527lzn59";
+    })
+    ./no-static-lib.patch
+  ];
+
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    sha256 = "0pb1rcv45xa95ziqap94yy52fy02vh401iqsgi18nm1j6iyyngc8";
+    sha256 = "09d3mw2hb1gmqg7smaqwnfm7izw40znl0h1dz7s2imms2cnkjws1";
   };
 
   nativeBuildInputs = [
@@ -33,11 +47,17 @@ stdenv.mkDerivation rec {
   ] ++ (with rustPlatform; [
     cargoSetupHook
     rust.cargo
-  ]);
+  ]) ++ lib.optionals stdenv.isDarwin [
+    fixDarwinDylibNames
+  ];
 
   buildInputs = [
     openssl
     sqlite
+  ] ++ lib.optionals stdenv.isDarwin [
+    CoreFoundation
+    Security
+    libiconv
   ];
 
   checkInputs = with rustPlatform; [
@@ -49,7 +69,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/deltachat/deltachat-core-rust/";
     changelog = "https://github.com/deltachat/deltachat-core-rust/blob/${version}/CHANGELOG.md";
     license = licenses.mpl20;
-    platforms = platforms.linux;
     maintainers = with maintainers; [ dotlambda ];
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/libdeltachat/no-static-lib.patch b/nixpkgs/pkgs/development/libraries/libdeltachat/no-static-lib.patch
new file mode 100644
index 000000000000..95238cf88524
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libdeltachat/no-static-lib.patch
@@ -0,0 +1,39 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index fe7abe08..acdbe0d6 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -13,7 +13,6 @@ find_program(CARGO cargo)
+ 
+ add_custom_command(
+ 	OUTPUT
+-	"target/release/libdeltachat.a"
+ 	"target/release/libdeltachat.${DYNAMIC_EXT}"
+ 	"target/release/pkgconfig/deltachat.pc"
+         COMMAND
+@@ -38,13 +37,11 @@ add_custom_target(
+ 	lib_deltachat
+ 	ALL
+ 	DEPENDS
+-	"target/release/libdeltachat.a"
+ 	"target/release/libdeltachat.${DYNAMIC_EXT}"
+ 	"target/release/pkgconfig/deltachat.pc"
+ )
+ 
+ include(GNUInstallDirs)
+ install(FILES "deltachat-ffi/deltachat.h" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+-install(FILES "target/release/libdeltachat.a" DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ install(FILES "target/release/libdeltachat.${DYNAMIC_EXT}" DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ install(FILES "target/release/pkgconfig/deltachat.pc" DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+diff --git a/deltachat-ffi/Cargo.toml b/deltachat-ffi/Cargo.toml
+index a34a27ba..cf354abb 100644
+--- a/deltachat-ffi/Cargo.toml
++++ b/deltachat-ffi/Cargo.toml
+@@ -12,7 +12,7 @@ categories = ["cryptography", "std", "email"]
+ 
+ [lib]
+ name = "deltachat"
+-crate-type = ["cdylib", "staticlib"]
++crate-type = ["cdylib"]
+ 
+ [dependencies]
+ deltachat = { path = "../", default-features = false }
diff --git a/nixpkgs/pkgs/development/libraries/libdvdcss/default.nix b/nixpkgs/pkgs/development/libraries/libdvdcss/default.nix
index 278e3d60d906..b43c0ccdd0fe 100644
--- a/nixpkgs/pkgs/development/libraries/libdvdcss/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libdvdcss/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libdvdcss";
-  version = "1.4.2";
+  version = "1.4.3";
 
   buildInputs = lib.optional stdenv.isDarwin IOKit;
 
   src = fetchurl {
     url = "http://get.videolan.org/libdvdcss/${version}/${pname}-${version}.tar.bz2";
-    sha256 = "0x957zzpf4w2cp8zlk29prj8i2q6hay3lzdzsyz8y3cwxivyvhkq";
+    sha256 = "sha256-IzzJL13AHF06lvWzWCvn1c7lo1pS06CBWHRdPYYHAHk=";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/libraries/libdvdread/default.nix b/nixpkgs/pkgs/development/libraries/libdvdread/default.nix
index 32dfe4ee0fa5..ac94dcbcb8f7 100644
--- a/nixpkgs/pkgs/development/libraries/libdvdread/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libdvdread/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libdvdread";
-  version = "6.1.1";
+  version = "6.1.2";
 
   src = fetchurl {
     url = "http://get.videolan.org/libdvdread/${version}/${pname}-${version}.tar.bz2";
-    sha256 = "15hpwbw3nm84y432l0j61w0zmqxplsyymfc52dry6nvwl44p6d9y";
+    sha256 = "sha256-zBkPVTdYztdXGFnjAfgCy0gh8WTQK/rP0yDBSk4Np2M=";
   };
 
   buildInputs = [libdvdcss];
diff --git a/nixpkgs/pkgs/development/libraries/libe57format/default.nix b/nixpkgs/pkgs/development/libraries/libe57format/default.nix
index 49b75906bdbc..2ad8573ecb30 100644
--- a/nixpkgs/pkgs/development/libraries/libe57format/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libe57format/default.nix
@@ -5,20 +5,17 @@
   boost,
   xercesc,
   icu,
-
-  dos2unix,
-  fetchpatch,
 }:
 
 stdenv.mkDerivation rec {
   pname = "libe57format";
-  version = "2.1";
+  version = "2.2.0";
 
   src = fetchFromGitHub {
     owner = "asmaloney";
     repo = "libE57Format";
     rev = "v${version}";
-    sha256 = "05z955q68wjbd9gc5fw32nqg69xc82n2x75j5vchxzkgnn3adcpi";
+    sha256 = "15l23spjvak5h3n7aj3ggy0c3cwcg8mvnc9jlbd9yc2ra43bx7bp";
   };
 
   nativeBuildInputs = [
@@ -36,31 +33,6 @@ stdenv.mkDerivation rec {
     xercesc
   ];
 
-  # TODO: Remove CMake patching when https://github.com/asmaloney/libE57Format/pull/60 is available.
-
-  # GNU patch cannot patch `CMakeLists.txt` that has CRLF endings,
-  # see https://unix.stackexchange.com/questions/239364/how-to-fix-hunk-1-failed-at-1-different-line-endings-message/243748#243748
-  # so convert it first.
-  prePatch = ''
-    ${dos2unix}/bin/dos2unix CMakeLists.txt
-  '';
-  patches = [
-    (fetchpatch {
-      name = "libE57Format-cmake-Fix-config-filename.patch";
-      url = "https://github.com/asmaloney/libE57Format/commit/279d8d6b60ee65fb276cdbeed74ac58770a286f9.patch";
-      sha256 = "0fbf92hs1c7yl169i7zlbaj9yhrd1yg3pjf0wsqjlh8mr5m6rp14";
-    })
-  ];
-  # It appears that while the patch has
-  #     diff --git a/cmake/E57Format-config.cmake b/cmake/e57format-config.cmake
-  #     similarity index 100%
-  #     rename from cmake/E57Format-config.cmake
-  #     rename to cmake/e57format-config.cmake
-  # GNU patch doesn't interpret that.
-  postPatch = ''
-    mv cmake/E57Format-config.cmake cmake/e57format-config.cmake
-  '';
-
   # The build system by default builds ONLY static libraries, and with
   # `-DE57_BUILD_SHARED=ON` builds ONLY shared libraries, see:
   #     https://github.com/asmaloney/libE57Format/issues/48
@@ -79,7 +51,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "Library for reading & writing the E57 file format (fork of E57RefImpl)";
+    description = "Library for reading & writing the E57 file format";
     homepage = "https://github.com/asmaloney/libE57Format";
     license = licenses.boost;
     maintainers = with maintainers; [ chpatrick nh2 ];
diff --git a/nixpkgs/pkgs/development/libraries/libebur128/default.nix b/nixpkgs/pkgs/development/libraries/libebur128/default.nix
index db6c9f93faec..656923da3d15 100644
--- a/nixpkgs/pkgs/development/libraries/libebur128/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libebur128/default.nix
@@ -1,14 +1,14 @@
 { lib, stdenv, fetchFromGitHub, cmake, speexdsp, pkg-config }:
 
 stdenv.mkDerivation rec {
-  version = "1.2.5";
+  version = "1.2.6";
   pname = "libebur128";
 
   src = fetchFromGitHub {
     owner = "jiixyj";
     repo = "libebur128";
     rev = "v${version}";
-    sha256 = "sha256-B6MOSbLfPvadXtXHSvxZCIpAH1Bnj6sItYRp+xH5HDA=";
+    sha256 = "sha256-UKO2k+kKH/dwt2xfaYMrH/GXjEkIrnxh1kGG/3P5d3Y=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/nixpkgs/pkgs/development/libraries/libedit/default.nix b/nixpkgs/pkgs/development/libraries/libedit/default.nix
index daf0f2928416..35efdc781d46 100644
--- a/nixpkgs/pkgs/development/libraries/libedit/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libedit/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libedit";
-  version = "20210522-3.1";
+  version = "20210714-3.1";
 
   src = fetchurl {
     url = "https://thrysoee.dk/editline/${pname}-${version}.tar.gz";
-    sha256 = "sha256-AiC8IEfpJ8DBmE7197TrKpRppbe/ErpXPKOyPKAru28=";
+    sha256 = "sha256-MCO0mK1ZP9d0WuOyCrrVRt5Qa2e4+7VXljfKaauC28k=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/nixpkgs/pkgs/development/libraries/libelf/default.nix b/nixpkgs/pkgs/development/libraries/libelf/default.nix
index be328c54c088..47cd849f92c5 100644
--- a/nixpkgs/pkgs/development/libraries/libelf/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libelf/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv
-, fetchurl, autoreconfHook, gettext
+, fetchurl, autoreconfHook, gettext, netbsd
 }:
 
 # Note: this package is used for bootstrapping fetchurl, and thus
@@ -33,7 +33,8 @@ stdenv.mkDerivation rec {
        # on Darwin, so disable NLS for now.
     ++ lib.optional stdenv.hostPlatform.isDarwin "--disable-nls";
 
-  nativeBuildInputs = [ gettext ]
+  nativeBuildInputs =
+    if stdenv.hostPlatform.isNetBSD then [ netbsd.gencat ] else [ gettext ]
        # Need to regenerate configure script with newer version in order to pass
        # "mr_cv_target_elf=yes", but `autoreconfHook` brings in `makeWrapper`
        # which doesn't work with the bootstrapTools bash, so can only do this
diff --git a/nixpkgs/pkgs/development/libraries/libelfin/default.nix b/nixpkgs/pkgs/development/libraries/libelfin/default.nix
index 950639850db5..7d5a928aa2f4 100644
--- a/nixpkgs/pkgs/development/libraries/libelfin/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libelfin/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/aclements/libelfin/";
     license = licenses.mit;
     description = "C++11 ELF/DWARF parser";
-    maintainers = with maintainers; [ ma27 ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/libemf2svg/default.nix b/nixpkgs/pkgs/development/libraries/libemf2svg/default.nix
new file mode 100644
index 000000000000..4bb7caa02615
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libemf2svg/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, fontconfig
+, freetype
+, libpng
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libemf2svg";
+  version = "1.1.0";
+
+  src = fetchFromGitHub {
+    owner = "kakwa";
+    repo = pname;
+    rev = version;
+    sha256 = "04g6dp5xadszqjyjl162x26mfhhwinia65hbkl3mv70bs4an9898";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ fontconfig freetype libpng ];
+
+  meta = with lib; {
+    description = "Microsoft EMF to SVG conversion library";
+    homepage = "https://github.com/kakwa/libemf2svg";
+    maintainers = with maintainers; [ erdnaxe ];
+    license = licenses.gpl2Only;
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/liberfa/default.nix b/nixpkgs/pkgs/development/libraries/liberfa/default.nix
index 8ffd86cd3169..8edc3d7b5a52 100644
--- a/nixpkgs/pkgs/development/libraries/liberfa/default.nix
+++ b/nixpkgs/pkgs/development/libraries/liberfa/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "erfa";
-  version = "1.7.1";
+  version = "2.0.0";
 
   buildInputs = [ autoreconfHook ];
 
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     owner = "liberfa";
     repo = "erfa";
     rev = "v${version}";
-    sha256 = "0j7v9y7jsw9vjmhdpksq44ah2af10b9gl1vfm8riw178lvf246wg";
+    sha256 = "sha256-xBE8mWwmvlu0v3Up5y6J8jMhToMSACdKeQzPJoG8LWk=";
   };
 
   configureFlags = [ "--enable-shared" ];
diff --git a/nixpkgs/pkgs/development/libraries/libffcall/default.nix b/nixpkgs/pkgs/development/libraries/libffcall/default.nix
index 8967ec49a094..30e5aa0cfa91 100644
--- a/nixpkgs/pkgs/development/libraries/libffcall/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libffcall/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libffcall";
-  version = "2.1";
+  version = "2.2";
 
   src = fetchurl {
     url = "mirror://gnu/libffcall/libffcall-${version}.tar.gz";
-    sha256 = "0iwcad6w78jp84vd6xaz5fwqm84n3cb42bdf5m5cj5xzpa5zp4d0";
+    sha256 = "sha256-6/o3+XtslPrCTs8xk/n8gpUXz4Gu6awtGRr5k9c8t0c=";
   };
 
   enableParallelBuilding = false;
diff --git a/nixpkgs/pkgs/development/libraries/libffi/default.nix b/nixpkgs/pkgs/development/libraries/libffi/default.nix
index 48611dffb069..4332f43c5afb 100644
--- a/nixpkgs/pkgs/development/libraries/libffi/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libffi/default.nix
@@ -10,11 +10,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libffi";
-  version = "3.3";
+  version = "3.4.2";
 
   src = fetchurl {
-    url = "https://sourceware.org/pub/libffi/${pname}-${version}.tar.gz";
-    sha256 = "0mi0cpf8aa40ljjmzxb7im6dbj45bb0kllcd09xgmp834y9agyvj";
+    url = "https://github.com/libffi/libffi/releases/download/v${version}/${pname}-${version}.tar.gz";
+    sha256 = "081nx7wpzds168jbr59m34n6s3lyiq6r8zggvqxvlslsc4hvf3sl";
   };
 
   patches = [];
@@ -24,6 +24,12 @@ stdenv.mkDerivation rec {
   configureFlags = [
     "--with-gcc-arch=generic" # no detection of -march= or -mtune=
     "--enable-pax_emutramp"
+
+    # Causes issues in downstream packages which misuse ffi_closure_alloc
+    # Reenable once these issues are fixed and merged:
+    # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/6155
+    # https://gitlab.gnome.org/GNOME/gobject-introspection/-/merge_requests/283
+    "--disable-exec-static-tramp"
   ];
 
   preCheck = ''
diff --git a/nixpkgs/pkgs/development/libraries/libfilezilla/default.nix b/nixpkgs/pkgs/development/libraries/libfilezilla/default.nix
index c7d84d9d8af6..2e0b77d812fb 100644
--- a/nixpkgs/pkgs/development/libraries/libfilezilla/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libfilezilla/default.nix
@@ -11,11 +11,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libfilezilla";
-  version = "0.27.0";
+  version = "0.31.1";
 
   src = fetchurl {
     url = "https://download.filezilla-project.org/${pname}/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-c3ClGHyrNgqhubLA2njRrebjupN1tIKniF3OBNZJqXs=";
+    sha256 = "sha256-mX1Yh7YBXzhp03Wwy8S0lC/LJNvktDRohclGz+czFm8=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/nixpkgs/pkgs/development/libraries/libfm/default.nix b/nixpkgs/pkgs/development/libraries/libfm/default.nix
index 255ddfa22ad7..5d7389b6d188 100644
--- a/nixpkgs/pkgs/development/libraries/libfm/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libfm/default.nix
@@ -13,7 +13,7 @@
 
 let
     gtk = if withGtk3 then gtk3 else gtk2;
-    inherit (lib) optional;
+    inherit (lib) optional optionalString;
 in
 stdenv.mkDerivation rec {
   pname = if extraOnly
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
   installFlags = [ "sysconfdir=${placeholder "out"}/etc" ];
 
   # libfm-extra is pulled in by menu-cache and thus leads to a collision for libfm
-  postInstall = optional (!extraOnly) ''
+  postInstall = optionalString (!extraOnly) ''
      rm $out/lib/libfm-extra.so $out/lib/libfm-extra.so.* $out/lib/libfm-extra.la $out/lib/pkgconfig/libfm-extra.pc
   '';
 
diff --git a/nixpkgs/pkgs/development/libraries/libfprint/default.nix b/nixpkgs/pkgs/development/libraries/libfprint/default.nix
index 979ba7eea539..42e308f41a9e 100644
--- a/nixpkgs/pkgs/development/libraries/libfprint/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libfprint/default.nix
@@ -10,6 +10,8 @@
 , nss
 , gobject-introspection
 , coreutils
+, cairo
+, libgudev
 , gtk-doc
 , docbook-xsl-nons
 , docbook_xml_dtd_43
@@ -17,7 +19,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libfprint";
-  version = "1.90.7";
+  version = "1.92.1";
   outputs = [ "out" "devdoc" ];
 
   src = fetchFromGitLab {
@@ -25,7 +27,7 @@ stdenv.mkDerivation rec {
     owner = "libfprint";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-g/yczzCZEzUKV2uFl1MAPL1H/R2QJSwxgppI2ftt9QI=";
+    sha256 = "0dpwzmwl9jjpaz44znvy3v8s9sln0c71b756rs1knk0zx8sa1qbc";
   };
 
   nativeBuildInputs = [
@@ -43,6 +45,8 @@ stdenv.mkDerivation rec {
     pixman
     glib
     nss
+    cairo
+    libgudev
   ];
 
   checkInputs = [
@@ -53,6 +57,7 @@ stdenv.mkDerivation rec {
     "-Dudev_rules_dir=${placeholder "out"}/lib/udev/rules.d"
     # Include virtual drivers for fprintd tests
     "-Ddrivers=all"
+    "-Dudev_hwdb_dir=${placeholder "out"}/lib/udev/hwdb.d"
   ];
 
   doCheck = true;
@@ -61,7 +66,9 @@ stdenv.mkDerivation rec {
     patchShebangs \
       tests/test-runner.sh \
       tests/unittest_inspector.py \
-      tests/virtual-image.py
+      tests/virtual-image.py \
+      tests/umockdev-test.py \
+      tests/test-generated-hwdb.sh
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/libraries/libfreeaptx/default.nix b/nixpkgs/pkgs/development/libraries/libfreeaptx/default.nix
new file mode 100644
index 000000000000..9e30973f199e
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libfreeaptx/default.nix
@@ -0,0 +1,31 @@
+{ lib, stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "libfreeaptx";
+  version = "0.1.1";
+
+  src = fetchFromGitHub {
+    owner = "iamthehorker";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-eEUhOrKqb2hHWanY+knpY9FBEnjkkFTB+x6BZgMBpbo=";
+  };
+
+  makeFlags = [
+    "PREFIX=${placeholder "out"}"
+    # disable static builds
+    "ANAME="
+    "AOBJECTS="
+    "STATIC_UTILITIES="
+  ];
+
+  enableParallelBuilding = true;
+
+  meta = with lib; {
+    description = "Free Implementation of Audio Processing Technology codec (aptX)";
+    license = licenses.lgpl21Plus;
+    homepage = "https://github.com/iamthehorker/libfreeaptx";
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ kranzes ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/libgnurl/default.nix b/nixpkgs/pkgs/development/libraries/libgnurl/default.nix
index a7d91d0c81ad..bc9a09ab9262 100644
--- a/nixpkgs/pkgs/development/libraries/libgnurl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libgnurl/default.nix
@@ -1,5 +1,5 @@
-{ lib, stdenv, fetchurl, libtool, groff, perl, pkg-config, python2, zlib, gnutls,
-  libidn2, libunistring, nghttp2 }:
+{ lib, stdenv, fetchurl, libtool, perl, pkg-config, python3, zlib, gnutls
+, libidn2, libunistring }:
 
 stdenv.mkDerivation rec {
   pname = "libgnurl";
@@ -10,9 +10,9 @@ stdenv.mkDerivation rec {
     sha256 = "1y4laraq37kw8hc8jlzgcw7y37bfd0n71q0sy3d3z6yg7zh2prxi";
   };
 
-  nativeBuildInputs = [ libtool groff perl pkg-config python2 ];
+  nativeBuildInputs = [ libtool perl pkg-config python3 ];
 
-  buildInputs = [ gnutls zlib libidn2 libunistring nghttp2 ];
+  buildInputs = [ gnutls zlib libidn2 libunistring ];
 
   configureFlags = [
     "--disable-ntlm-wb"
diff --git a/nixpkgs/pkgs/development/libraries/libgpg-error/default.nix b/nixpkgs/pkgs/development/libraries/libgpg-error/default.nix
index 1f6fd4835afa..e46e25593365 100644
--- a/nixpkgs/pkgs/development/libraries/libgpg-error/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libgpg-error/default.nix
@@ -17,13 +17,17 @@
   };
 in stdenv.mkDerivation (rec {
   pname = "libgpg-error";
-  version = "1.41";
+  version = "1.42";
 
   src = fetchurl {
     url = "mirror://gnupg/${pname}/${pname}-${version}.tar.bz2";
-    sha256 = "0hi7jbcs1l9kxzhiqcs2iivsb048642mwaimgqyh1hy3bas7ic34";
+    sha256 = "sha256-/AfnD2xhX4xPWQqON6m43S4soelAj45gRZxnRSuSXiM=";
   };
 
+  # 1.42 breaks (some?) cross-compilation (e.g. x86_64 -> aarch64).
+  # Backporting this fix (merged in upstream master but no release cut) by David Michael <fedora.dm0@gmail.com> https://dev.gnupg.org/rE33593864cd54143db594c4237bba41e14179061c
+  patches = [ ./fix-1.42-cross-compilation.patch ];
+
   postPatch = ''
     sed '/BUILD_TIMESTAMP=/s/=.*/=1970-01-01T00:01+0000/' -i ./configure
   '' + lib.optionalString (stdenv.hostPlatform.isAarch32 && stdenv.buildPlatform != stdenv.hostPlatform) ''
diff --git a/nixpkgs/pkgs/development/libraries/libgpg-error/fix-1.42-cross-compilation.patch b/nixpkgs/pkgs/development/libraries/libgpg-error/fix-1.42-cross-compilation.patch
new file mode 100644
index 000000000000..6c3099f72144
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libgpg-error/fix-1.42-cross-compilation.patch
@@ -0,0 +1,142 @@
+diff --git a/src/gen-lock-obj.sh b/src/gen-lock-obj.sh
+index a710f0c..258eec6 100755
+--- a/src/gen-lock-obj.sh
++++ b/src/gen-lock-obj.sh
+@@ -1,136 +1,136 @@
+ #! /bin/sh
+ #
+ # gen-lock-obj.sh - Build tool to construct the lock object.
+ #
+ # Copyright (C) 2020, 2021  g10 Code GmbH
+ #
+ # This file is part of libgpg-error.
+ #
+ # libgpg-error is free software; you can redistribute it and/or
+ # modify it under the terms of the GNU Lesser General Public License
+ # as published by the Free Software Foundation; either version 2.1 of
+ # the License, or (at your option) any later version.
+ #
+ # libgpg-error is distributed in the hope that it will be useful, but
+ # WITHOUT ANY WARRANTY; without even the implied warranty of
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ # Lesser General Public License for more details.
+ #
+ # You should have received a copy of the GNU Lesser General Public
+ # License along with this program; if not, see <https://www.gnu.org/licenses/>.
+ #
+ 
+ #
+ # Following variables should be defined to invoke this script
+ #
+ #   CC
+ #   OBJDUMP
+ #   AWK
+ #   ac_ext
+ #   ac_object
+ #   host
+ #   LOCK_ABI_VERSION
+ #
+ # An example:
+ #
+ # LOCK_ABI_VERSION=1 host=x86_64-pc-linux-gnu host_alias=x86_64-linux-gnu \
+ #     CC=$host_alias-gcc OBJDUMP=$host_alias-objdump ac_ext=c ac_objext=o \
+ #     AWK=gawk ./gen-lock-obj.sh
+ #
+ 
+-if test -n `echo -n`; then
++if test -n "`echo -n`"; then
+     ECHO_C='\c'
+     ECHO_N=''
+ else
+     ECHO_C=''
+     ECHO_N='-n'
+ fi
+ 
+ if test "$1" = --disable-threads; then
+     cat <<EOF
+ ## lock-obj-pub.$host.h - NO LOCK SUPPORT
+ ## File created by gen-lock-obj.sh - DO NOT EDIT
+ ## To be included by mkheader into gpg-error.h
+ 
+ /* Dummy object - no locking available.  */
+ typedef struct
+ {
+   long _vers;
+ } gpgrt_lock_t;
+ 
+ #define GPGRT_LOCK_INITIALIZER {-1}
+ EOF
+ else
+ AWK_VERSION_OUTPUT=$($AWK 'BEGIN { print PROCINFO["version"] }')
+ if test -n "$AWK_VERSION_OUTPUT"; then
+     # It's GNU awk, which supports PROCINFO.
+     AWK_OPTION=--non-decimal-data
+ fi
+ 
+ cat <<'EOF' >conftest.$ac_ext
+ #include <pthread.h>
+ pthread_mutex_t mtx = PTHREAD_MUTEX_INITIALIZER;
+ EOF
+ 
+ if $CC -c conftest.$ac_ext; then :
+   ac_mtx_size=$($OBJDUMP -j .bss -t conftest.$ac_objext \
+          | $AWK $AWK_OPTION '
+ /mtx$/ { mtx_size = int("0x" $5) }
+ END { print mtx_size }')
+ else
+     echo "Can't determine mutex size"
+     exit 1
+ fi
+ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ 
+ cat <<EOF
+ ## lock-obj-pub.$host.h
+ ## File created by gen-lock-obj.sh - DO NOT EDIT
+ ## To be included by mkheader into gpg-error.h
+ 
+ typedef struct
+ {
+   long _vers;
+   union {
+     volatile char _priv[$ac_mtx_size];
+     long _x_align;
+     long *_xp_align;
+   } u;
+ } gpgrt_lock_t;
+ 
+ EOF
+ 
+ # FIXME: Support different alignment conditions of:
+ #
+ #     USE_16BYTE_ALIGNMENT
+ #     USE_DOUBLE_FOR_ALIGNMENT
+ #     USE_LONG_DOUBLE_FOR_ALIGNMENT
+ #
+ 
+ echo ${ECHO_N} "#define GPGRT_LOCK_INITIALIZER {$LOCK_ABI_VERSION,{{${ECHO_C}"
+ 
+ i=0
+ while test "$i" -lt $ac_mtx_size; do
+     if test "$i" -ne 0 -a "$(( $i % 8 ))" -eq 0; then
+         echo ' \'
+         echo ${ECHO_N} "                                    ${ECHO_C}"
+     fi
+     echo ${ECHO_N} "0${ECHO_C}"
+     if test "$i" -lt $(($ac_mtx_size - 1)); then
+         echo ${ECHO_N} ",${ECHO_C}"
+     fi
+     i=$(( i + 1 ))
+ done
+ fi
+ 
+ cat <<'EOF'
+ }}}
+ ##
+ ## Local Variables:
+ ## mode: c
+ ## buffer-read-only: t
+ ## End:
+ ##
+ EOF
+ 
+ exit 0
diff --git a/nixpkgs/pkgs/development/libraries/libgrss/default.nix b/nixpkgs/pkgs/development/libraries/libgrss/default.nix
index 8c5ea73af0b9..ab8346990feb 100644
--- a/nixpkgs/pkgs/development/libraries/libgrss/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libgrss/default.nix
@@ -1,11 +1,8 @@
-{ lib, stdenv, fetchurl, pkg-config, vala, gobject-introspection, gtk-doc, docbook_xsl, docbook_xml_dtd_412, glib, libxml2, libsoup, gnome }:
+{ lib, stdenv, fetchurl, fetchpatch, pkg-config, vala, gobject-introspection, gtk-doc, docbook_xsl, docbook_xml_dtd_412, glib, libxml2, libsoup, gnome }:
 
-let
-  version = "0.7.0";
+stdenv.mkDerivation rec {
   pname = "libgrss";
-in
-stdenv.mkDerivation {
-  name = "${pname}-${version}";
+  version = "0.7.0";
 
   outputs = [ "out" "dev" "devdoc" ];
 
@@ -14,6 +11,15 @@ stdenv.mkDerivation {
     sha256 = "1nalslgyglvhpva3px06fj6lv5zgfg0qmj0sbxyyl5d963vc02b7";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "CVE-2016-20011.patch";
+      # https://gitlab.gnome.org/GNOME/libgrss/-/merge_requests/7, not yet merged!
+      url = "https://gitlab.gnome.org/GNOME/libgrss/-/commit/2c6ea642663e2a44efc8583fae7c54b7b98f72b3.patch";
+      sha256 = "1ijvq2jl97vphcvrbrqxvszdmv6yyjfygdca9vyaijpafwyzzb18";
+    })
+  ];
+
   nativeBuildInputs = [ pkg-config vala gobject-introspection gtk-doc docbook_xsl docbook_xml_dtd_412 ];
   buildInputs = [ glib libxml2 libsoup ];
 
diff --git a/nixpkgs/pkgs/development/libraries/libguestfs/default.nix b/nixpkgs/pkgs/development/libraries/libguestfs/default.nix
index 47f6ffe2c52f..ebb431ae199a 100644
--- a/nixpkgs/pkgs/development/libraries/libguestfs/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libguestfs/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, pkg-config, autoreconfHook, makeWrapper
+{ lib, stdenv, fetchurl, fetchpatch, pkg-config, autoreconfHook, makeWrapper
 , ncurses, cpio, gperf, cdrkit, flex, bison, qemu, pcre, augeas, libxml2
 , acl, libcap, libcap_ng, libconfig, systemd, fuse, yajl, libvirt, hivex, db
 , gmp, readline, file, numactl, libapparmor, jansson
@@ -12,41 +12,53 @@ assert javaSupport -> jdk != null;
 
 stdenv.mkDerivation rec {
   pname = "libguestfs";
-  version = "1.40.2";
+  version = "1.44.1";
 
   src = fetchurl {
-    url = "https://libguestfs.org/download/1.40-stable/${pname}-${version}.tar.gz";
-    sha256 = "ad6562c48c38e922a314cb45a90996843d81045595c4917f66b02a6c2dfe8058";
+    url = "https://libguestfs.org/download/${lib.versions.majorMinor version}-stable/${pname}-${version}.tar.gz";
+    sha256 = "09dhmlbfdwirlmkasa28x69vqs5xndq0lnng6b4if76s6bfxrdvj";
   };
 
-  nativeBuildInputs = [ autoreconfHook makeWrapper pkg-config ];
+  strictDeps = true;
+  nativeBuildInputs = [
+    autoreconfHook bison cdrkit cpio flex getopt gperf makeWrapper pkg-config qemu
+  ] ++ (with perlPackages; [ perl libintl_perl GetoptLong SysVirt ])
+    ++ (with ocamlPackages; [ ocaml findlib ]);
   buildInputs = [
-    ncurses cpio gperf jansson
-    cdrkit flex bison qemu pcre augeas libxml2 acl libcap libcap_ng libconfig
+    ncurses jansson
+    pcre augeas libxml2 acl libcap libcap_ng libconfig
     systemd fuse yajl libvirt gmp readline file hivex db
-    numactl libapparmor getopt perlPackages.ModuleBuild
+    numactl libapparmor perlPackages.ModuleBuild
     libtirpc
-  ] ++ (with perlPackages; [ perl libintl_perl GetoptLong SysVirt ])
-    ++ (with ocamlPackages; [ ocaml findlib ocamlbuild ocaml_libvirt gettext-stub ounit ])
+  ] ++ (with ocamlPackages; [ ocamlbuild ocaml_libvirt gettext-stub ounit ])
     ++ lib.optional javaSupport jdk;
 
   prePatch = ''
     # build-time scripts
     substituteInPlace run.in        --replace '#!/bin/bash' '#!${stdenv.shell}'
-    substituteInPlace ocaml-link.sh --replace '#!/bin/bash' '#!${stdenv.shell}'
+    substituteInPlace ocaml-link.sh.in --replace '#!/bin/bash' '#!${stdenv.shell}'
 
     # $(OCAMLLIB) is read-only "${ocamlPackages.ocaml}/lib/ocaml"
     substituteInPlace ocaml/Makefile.am            --replace '$(DESTDIR)$(OCAMLLIB)' '$(out)/lib/ocaml'
     substituteInPlace ocaml/Makefile.in            --replace '$(DESTDIR)$(OCAMLLIB)' '$(out)/lib/ocaml'
-    substituteInPlace v2v/test-harness/Makefile.am --replace '$(DESTDIR)$(OCAMLLIB)' '$(out)/lib/ocaml'
-    substituteInPlace v2v/test-harness/Makefile.in --replace '$(DESTDIR)$(OCAMLLIB)' '$(out)/lib/ocaml'
 
     # some scripts hardcore /usr/bin/env which is not available in the build env
     patchShebangs .
   '';
-  configureFlags = [ "--disable-appliance" "--disable-daemon" "--with-distro=NixOS" ]
-    ++ lib.optionals (!javaSupport) [ "--disable-java" "--without-java" ];
-  patches = [ ./libguestfs-syms.patch ./ocaml-4.12.patch ];
+  configureFlags = [
+    "--disable-appliance"
+    "--disable-daemon"
+    "--with-distro=NixOS"
+    "--with-guestfs-path=${placeholder "out"}/lib/guestfs"
+  ] ++ lib.optionals (!javaSupport) [ "--without-java" ];
+  patches = [
+    ./libguestfs-syms.patch
+    # Set HAVE_RPM, HAVE_DPKG, HAVE_PACMAN
+    (fetchpatch {
+      url = "https://github.com/libguestfs/libguestfs/commit/210959cc344d6a4a1e3afa26d276b130651def74.patch";
+      sha256 = "121l58mk2mwhhqc3rcisdw3di7y729b30hyffc8a50mq5k7fvsdb";
+     })
+  ];
   NIX_CFLAGS_COMPILE="-I${libxml2.dev}/include/libxml2/";
   installFlags = [ "REALLY_INSTALL=yes" ];
   enableParallelBuilding = true;
@@ -87,7 +99,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Tools for accessing and modifying virtual machine disk images";
-    license = with licenses; [ gpl2 lgpl21 ];
+    license = with licenses; [ gpl2Plus lgpl21Plus ];
     homepage = "https://libguestfs.org/";
     maintainers = with maintainers; [offline];
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/development/libraries/libguestfs/ocaml-4.12.patch b/nixpkgs/pkgs/development/libraries/libguestfs/ocaml-4.12.patch
deleted file mode 100644
index 032527d57130..000000000000
--- a/nixpkgs/pkgs/development/libraries/libguestfs/ocaml-4.12.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/common/mlstdutils/std_utils.ml	2019-02-07 15:45:56.516955598 +0100
-+++ b/common/mlstdutils/std_utils.ml	2019-02-07 15:45:56.516955598 +0100
-@@ -305,7 +305,7 @@
-       | x::xs, y::ys, z::zs -> (x, y, z) :: combine3 xs ys zs
-       | _ -> invalid_arg "combine3"
- 
--    let rec assoc_lbl ?(cmp = compare) ~default x = function
-+    let rec assoc_lbl ?(cmp = Pervasives.compare) ~default x = function
-       | [] -> default
-       | (y, y') :: _ when cmp x y = 0 -> y'
-       | _ :: ys -> assoc_lbl ~cmp ~default x ys
diff --git a/nixpkgs/pkgs/development/libraries/libhdhomerun/default.nix b/nixpkgs/pkgs/development/libraries/libhdhomerun/default.nix
index f8db7075ca76..187382e1f3e9 100644
--- a/nixpkgs/pkgs/development/libraries/libhdhomerun/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libhdhomerun/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libhdhomerun";
-  version = "20210224";
+  version = "20210624";
 
   src = fetchurl {
     url = "https://download.silicondust.com/hdhomerun/libhdhomerun_${version}.tgz";
-    sha256 = "sha256:1y1kwv34qg8nayfkbrxkw8163l46krsfqx8yvkcsc97ilsd3i5mr";
+    sha256 = "sha256-3q9GO7zD7vpy+XGZ77YhP3sOLI6R8bPSy/UgVqhxXRU=";
   };
 
   patchPhase = lib.optionalString stdenv.isDarwin ''
diff --git a/nixpkgs/pkgs/development/libraries/libidn/default.nix b/nixpkgs/pkgs/development/libraries/libidn/default.nix
index 15d7ca33025d..e47bb070a36e 100644
--- a/nixpkgs/pkgs/development/libraries/libidn/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libidn/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libidn";
-  version = "1.37";
+  version = "1.38";
 
   src = fetchurl {
     url = "mirror://gnu/libidn/${pname}-${version}.tar.gz";
-    sha256 = "1hljls9rkilh04dwiwg388wk8djkac8idijrdysqq2nqbh6rg3iw";
+    sha256 = "sha256-3gC4QPdXzTuxTdmiDVk2RzI13cugbUvC2oBGVLi78PY=";
   };
 
   outputs = [ "bin" "dev" "out" "info" "devdoc" ];
diff --git a/nixpkgs/pkgs/development/libraries/libidn2/default.nix b/nixpkgs/pkgs/development/libraries/libidn2/default.nix
index b1d234476c4b..2b5434e723aa 100644
--- a/nixpkgs/pkgs/development/libraries/libidn2/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libidn2/default.nix
@@ -9,11 +9,11 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "libidn2";
-  version = "2.3.1";
+  version = "2.3.2";
 
   src = fetchurl {
     url = "mirror://gnu/gnu/libidn/${pname}-${version}.tar.gz";
-    sha256 = "sha256-ivaElDg2uLU5ZdX1tnFO8TwmyR6qNs59JC49IfXUDy0=";
+    sha256 = "sha256-dpQM1Od46Ak1eanRlbJf/16Tbp3GJCBoUotDenZ2T5E=";
   };
 
   outputs = [ "bin" "dev" "out" "info" "devdoc" ];
diff --git a/nixpkgs/pkgs/development/libraries/libint/default.nix b/nixpkgs/pkgs/development/libraries/libint/default.nix
index 330fe8eac26b..64b83166ae99 100644
--- a/nixpkgs/pkgs/development/libraries/libint/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libint/default.nix
@@ -1,76 +1,102 @@
 { lib, stdenv, fetchFromGitHub, autoconf, automake, libtool
-, python3, perl, gmpxx, mpfr, boost, eigen, gfortran
-, enableFMA ? false
+, python3, perl, gmpxx, mpfr, boost, eigen, gfortran, cmake
+, enableFMA ? stdenv.hostPlatform.fmaSupport
+, enableFortran ? true
 }:
 
-stdenv.mkDerivation rec {
-  pname = "libint2";
+let
+  pname = "libint";
   version = "2.6.0";
 
-  src = fetchFromGitHub {
-    owner = "evaleev";
-    repo = "libint";
-    rev = "v${version}";
-    sha256 = "0pbc2j928jyffhdp4x5bkw68mqmx610qqhnb223vdzr0n2yj5y19";
-  };
-
-  patches = [
-    ./fix-paths.patch
-  ];
-
-  nativeBuildInputs = [
-    autoconf
-    automake
-    libtool
-    gfortran
-    mpfr
-    python3
-    perl
-    gmpxx
-  ];
-
-  buildInputs = [ boost ];
-
-  enableParallelBuilding = true;
-
-  doCheck = true;
-
-  configureFlags = [
-    "--enable-eri=2"
-    "--enable-eri3=2"
-    "--enable-eri2=2"
-    "--with-eri-max-am=7,5,4"
-    "--with-eri-opt-am=3"
-    "--with-eri3-max-am=7"
-    "--with-eri2-max-am=7"
-    "--with-g12-max-am=5"
-    "--with-g12-opt-am=3"
-    "--with-g12dkh-max-am=5"
-    "--with-g12dkh-opt-am=3"
-    "--enable-contracted-ints"
-    "--enable-shared"
-   ] ++ lib.optional enableFMA "--enable-fma";
-
-  preConfigure = ''
-    ./autogen.sh
-  '';
-
-  postBuild = ''
-    # build the fortran interface file
-    cd export/fortran
-    make libint_f.o ENABLE_FORTRAN=yes
-    cd ../..
-  '';
-
-  postInstall = ''
-    cp export/fortran/libint_f.mod $out/include/
-  '';
-
   meta = with lib; {
     description = "Library for the evaluation of molecular integrals of many-body operators over Gaussian functions";
     homepage = "https://github.com/evaleev/libint";
     license = with licenses; [ lgpl3Only gpl3Only ];
-    maintainers = [ maintainers.markuskowa ];
+    maintainers = with maintainers; [ markuskowa sheepforce ];
     platforms = [ "x86_64-linux" ];
   };
-}
+
+  codeGen = stdenv.mkDerivation {
+    inherit pname version;
+
+    src = fetchFromGitHub {
+      owner = "evaleev";
+      repo = pname;
+      rev = "v${version}";
+      sha256 = "0pbc2j928jyffhdp4x5bkw68mqmx610qqhnb223vdzr0n2yj5y19";
+    };
+
+    patches = [ ./fix-paths.patch ];
+
+    nativeBuildInputs = [
+      autoconf
+      automake
+      libtool
+      mpfr
+      python3
+      perl
+      gmpxx
+    ] ++ lib.optional enableFortran gfortran;
+
+    buildInputs = [ boost eigen ];
+
+    preConfigure = "./autogen.sh";
+
+    configureFlags = [
+      "--enable-eri=2"
+      "--enable-eri3=2"
+      "--enable-eri2=2"
+      "--with-eri-max-am=7,5,4"
+      "--with-eri-opt-am=3"
+      "--with-eri3-max-am=7"
+      "--with-eri2-max-am=7"
+      "--with-g12-max-am=5"
+      "--with-g12-opt-am=3"
+      "--with-g12dkh-max-am=5"
+      "--with-g12dkh-opt-am=3"
+      "--enable-contracted-ints"
+      "--enable-shared"
+    ] ++ lib.optional enableFMA "--enable-fma"
+      ++ lib.optional enableFortran "--enable-fortran";
+
+    makeFlags = [ "export" ];
+
+    installPhase = ''
+      mkdir -p $out
+      cp ${pname}-${version}.tgz $out/.
+    '';
+
+    enableParallelBuilding = true;
+
+    inherit meta;
+  };
+
+  codeComp = stdenv.mkDerivation {
+    inherit pname version;
+
+    src = "${codeGen}/${pname}-${version}.tgz";
+
+    nativeBuildInputs = [
+      python3
+      cmake
+    ] ++ lib.optional enableFortran gfortran;
+
+    buildInputs = [ boost eigen ];
+
+    # Default is just "double", but SSE2 is available on all x86_64 CPUs.
+    # AVX support is advertised, but does not work in 2.6 (possibly in 2.7).
+    # Fortran interface is incompatible with changing the LIBINT2_REALTYPE.
+    cmakeFlags = [
+      (if enableFortran
+        then "-DENABLE_FORTRAN=ON"
+        else "-DLIBINT2_REALTYPE=libint2::simd::VectorSSEDouble"
+      )
+    ];
+
+    # Can only build in the source-tree. A lot of preprocessing magic fails otherwise.
+    dontUseCmakeBuildDir = true;
+
+    inherit meta;
+  };
+
+in codeComp
diff --git a/nixpkgs/pkgs/development/libraries/libiscsi/default.nix b/nixpkgs/pkgs/development/libraries/libiscsi/default.nix
index adc721bc6d07..6dd23d219d95 100644
--- a/nixpkgs/pkgs/development/libraries/libiscsi/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libiscsi/default.nix
@@ -13,8 +13,13 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ autoreconfHook ];
 
+  # This can be removed after >=1.20.0, or if the build suceeds with
+  # pie enabled (default on Musl).
+  hardeningDisable = [ "pie" ];
+
   # This problem is gone on libiscsi master.
-  NIX_CFLAGS_COMPILE = if stdenv.hostPlatform.is32bit then "-Wno-error=sign-compare" else null;
+  NIX_CFLAGS_COMPILE =
+    lib.optional stdenv.hostPlatform.is32bit "-Wno-error=sign-compare";
 
   meta = with lib; {
     description = "iscsi client library and utilities";
diff --git a/nixpkgs/pkgs/development/libraries/libite/default.nix b/nixpkgs/pkgs/development/libraries/libite/default.nix
index c57876e9c4fd..4ffb7a5f7fbc 100644
--- a/nixpkgs/pkgs/development/libraries/libite/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libite/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libite";
-  version = "2.2.0";
+  version = "2.4.0";
 
   src = fetchFromGitHub {
     owner = "troglobit";
     repo = "libite";
     rev = "v${version}";
-    sha256 = "0kad501mrvn0s0sw9pz5spjq7ymk117hnff249z6026gswrxv1mh";
+    sha256 = "sha256-EV1YVOxd92z2hBZIqe6jzYV06YfNTAbZntZQdH05lBI=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/nixpkgs/pkgs/development/libraries/libjpeg/builder.sh b/nixpkgs/pkgs/development/libraries/libjpeg/builder.sh
deleted file mode 100755
index 58ca9a790baf..000000000000
--- a/nixpkgs/pkgs/development/libraries/libjpeg/builder.sh
+++ /dev/null
@@ -1,25 +0,0 @@
-source $stdenv/setup
-
-preConfigure() {
-    # Workarounds for the ancient libtool shipped by libjpeg.
-    ln -s $libtool/bin/libtool .
-    cp $libtool/share/libtool/config.guess .
-    cp $libtool/share/libtool/config.sub .
-}
-
-preInstall() {
-    mkdir $out
-    mkdir $out/bin
-    mkdir $out/lib
-    mkdir $out/include
-    mkdir $out/man
-    mkdir $out/man/man1
-}
-
-patchPhase() {
-    for i in $patches; do
-	patch < $i
-    done
-}
-
-genericBuild
diff --git a/nixpkgs/pkgs/development/libraries/libjpeg/default.nix b/nixpkgs/pkgs/development/libraries/libjpeg/default.nix
index 65482e8e9c60..028bf5cac337 100644
--- a/nixpkgs/pkgs/development/libraries/libjpeg/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libjpeg/default.nix
@@ -1,23 +1,23 @@
 { lib, stdenv, fetchurl, static ? false }:
 
-with lib;
-
-stdenv.mkDerivation {
-  name = "libjpeg-9d";
+stdenv.mkDerivation rec {
+  pname = "libjpeg";
+  version = "9d";
 
   src = fetchurl {
-    url = "http://www.ijg.org/files/jpegsrc.v9d.tar.gz";
+    url = "http://www.ijg.org/files/jpegsrc.v${version}.tar.gz";
     sha256 = "1vkip9rz4hz8f31a2kl7wl7f772wg1z0fg1fbd1653wzwlxllhvc";
   };
 
-  configureFlags = optional static "--enable-static --disable-shared";
+  configureFlags = lib.optional static "--enable-static --disable-shared";
 
   outputs = [ "bin" "dev" "out" "man" ];
 
-  meta = {
-    homepage = "http://www.ijg.org/";
+  meta = with lib; {
+    homepage = "https://www.ijg.org/";
     description = "A library that implements the JPEG image file format";
-    license = lib.licenses.free;
-    platforms = lib.platforms.unix;
+    maintainers = with maintainers; [ ];
+    license = licenses.free;
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/liblouis/default.nix b/nixpkgs/pkgs/development/libraries/liblouis/default.nix
index 2208606a8133..dd2738b1774d 100644
--- a/nixpkgs/pkgs/development/libraries/liblouis/default.nix
+++ b/nixpkgs/pkgs/development/libraries/liblouis/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "liblouis";
-  version = "3.17.0";
+  version = "3.18.0";
 
   src = fetchFromGitHub {
     owner = "liblouis";
     repo = "liblouis";
     rev = "v${version}";
-    sha256 = "sha256-rcySznUeoiUZnyVAmg/oYkUkLrZhBI8FEtiff0eHa+k=";
+    sha256 = "sha256-STAfA2QgSrCZaT/tcoj0BVnFfO3jbe6W2FgVOfxjpJc=";
   };
 
   outputs = [ "out" "dev" "man" "info" "doc" ];
diff --git a/nixpkgs/pkgs/development/libraries/liblscp/default.nix b/nixpkgs/pkgs/development/libraries/liblscp/default.nix
index dcb862f2cd4d..813aa660ae9d 100644
--- a/nixpkgs/pkgs/development/libraries/liblscp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/liblscp/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "liblscp";
-  version = "0.6.0";
+  version = "0.9.2";
 
   src = fetchurl {
     url = "https://download.linuxsampler.org/packages/${pname}-${version}.tar.gz";
-    sha256 = "1rl7ssdzj0z3658yvdijmb27n2lcwmplx4qxg5mwrm07pvs7i75k";
+    sha256 = "sha256-GTW6SBQVCDtzeU+arLmAJi6N9jtN68NdI69p6RSazvs=";
   };
 
   nativeBuildInputs = [ autoconf automake libtool pkg-config ];
diff --git a/nixpkgs/pkgs/development/libraries/libmwaw/default.nix b/nixpkgs/pkgs/development/libraries/libmwaw/default.nix
index 04eca2759a8e..ed479ad53e12 100644
--- a/nixpkgs/pkgs/development/libraries/libmwaw/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libmwaw/default.nix
@@ -21,6 +21,7 @@ stdenv.mkDerivation {
   src = fetchurl {
     inherit (s) url sha256;
   };
+  enableParallelBuilding = true;
   meta = {
     inherit (s) version;
     description = "Import library for some old mac text documents";
diff --git a/nixpkgs/pkgs/development/libraries/libnbd/default.nix b/nixpkgs/pkgs/development/libraries/libnbd/default.nix
index 635f8b8a6159..7781c936b929 100644
--- a/nixpkgs/pkgs/development/libraries/libnbd/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libnbd/default.nix
@@ -11,11 +11,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libnbd";
-  version = "1.9.2";
+  version = "1.9.3";
 
   src = fetchurl {
     url = "https://download.libguestfs.org/libnbd/${lib.versions.majorMinor version}-development/${pname}-${version}.tar.gz";
-    hash = "sha256-UDLH5IMuKI6mAO/9VNmI8pCbxv94tCCQYRKZn2DBclg=";
+    hash = "sha256-qF9IFZGj+9Zuw00+9pbgAhBUk+eUIAxhYNJAMWxmWo0=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/libndp/default.nix b/nixpkgs/pkgs/development/libraries/libndp/default.nix
index 524f948703f3..42f6ecc64892 100644
--- a/nixpkgs/pkgs/development/libraries/libndp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libndp/default.nix
@@ -1,11 +1,11 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libndp-1.7";
+  name = "libndp-1.8";
 
   src = fetchurl {
     url = "http://libndp.org/files/${name}.tar.gz";
-    sha256 = "1dlinhl39va00v55qygjc9ap77yqf7xvn4rwmvdr49xhzzxhlj1c";
+    sha256 = "sha256-iP+2buLrUn8Ub1wC9cy8OLqX0rDVfrRr+6SIghqwwCs=";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/libraries/libnetfilter_acct/default.nix b/nixpkgs/pkgs/development/libraries/libnetfilter_acct/default.nix
index 72766471d2f1..6c52d7f7b560 100644
--- a/nixpkgs/pkgs/development/libraries/libnetfilter_acct/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libnetfilter_acct/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ libmnl ];
 
   meta = with lib; {
-    homepage = "http://www.netfilter.org/projects/libnetfilter_acct/";
+    homepage = "https://www.netfilter.org/projects/libnetfilter_acct/";
     description = "Userspace library providing interface to extended accounting infrastructure";
     license = licenses.gpl2;
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/development/libraries/libnetfilter_cthelper/default.nix b/nixpkgs/pkgs/development/libraries/libnetfilter_cthelper/default.nix
index b8b05e57dad2..294f776192d7 100644
--- a/nixpkgs/pkgs/development/libraries/libnetfilter_cthelper/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libnetfilter_cthelper/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
       library, you register, configure, enable and disable user-space helpers. This library
       is used by conntrack-tools.
     '';
-    homepage = "http://www.netfilter.org/projects/libnetfilter_cthelper/";
+    homepage = "https://www.netfilter.org/projects/libnetfilter_cthelper/";
     license = lib.licenses.gpl2Plus;
     platforms = lib.platforms.linux;
   };
diff --git a/nixpkgs/pkgs/development/libraries/libnetfilter_queue/default.nix b/nixpkgs/pkgs/development/libraries/libnetfilter_queue/default.nix
index 7dafcd42223f..d1783289965e 100644
--- a/nixpkgs/pkgs/development/libraries/libnetfilter_queue/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libnetfilter_queue/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ libmnl libnfnetlink ];
 
   meta = with lib; {
-    homepage = "http://www.netfilter.org/projects/libnetfilter_queue/";
+    homepage = "https://www.netfilter.org/projects/libnetfilter_queue/";
     description = "Userspace API to packets queued by the kernel packet filter";
     license = licenses.gpl2;
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/development/libraries/libnfnetlink/default.nix b/nixpkgs/pkgs/development/libraries/libnfnetlink/default.nix
index 4c7b4a5cc2dd..a070d2e3af2e 100644
--- a/nixpkgs/pkgs/development/libraries/libnfnetlink/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libnfnetlink/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
       This library is not meant as a public API for application developers.
       It is only used by other netfilter.org projects, like the aforementioned ones.
     '';
-    homepage = "http://www.netfilter.org/projects/libnfnetlink/index.html";
+    homepage = "https://www.netfilter.org/projects/libnfnetlink/index.html";
     license = lib.licenses.gpl2;
 
     platforms = lib.platforms.linux;
diff --git a/nixpkgs/pkgs/development/libraries/libopus/default.nix b/nixpkgs/pkgs/development/libraries/libopus/default.nix
index 6776f5ae3934..7a3a77931c76 100644
--- a/nixpkgs/pkgs/development/libraries/libopus/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libopus/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   configureFlags = lib.optional fixedPoint "--enable-fixed-point"
                 ++ lib.optional withCustomModes "--enable-custom-modes";
 
-  doCheck = !stdenv.isi686; # test_unit_LPC_inv_pred_gain fails
+  doCheck = !stdenv.isi686 && !stdenv.isAarch32; # test_unit_LPC_inv_pred_gain fails
 
   meta = with lib; {
     description = "Open, royalty-free, highly versatile audio codec";
diff --git a/nixpkgs/pkgs/development/libraries/libpg_query/default.nix b/nixpkgs/pkgs/development/libraries/libpg_query/default.nix
index 98f657e293d2..110a2167fd31 100644
--- a/nixpkgs/pkgs/development/libraries/libpg_query/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libpg_query/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libpg_query";
-  version = "13-2.0.5";
+  version = "13-2.0.7";
 
   src = fetchFromGitHub {
     owner = "pganalyze";
     repo = "libpg_query";
     rev = version;
-    sha256 = "1jr95hrqmxdqvn1546x04hdhp1aq7dv7881rspar14ksz7f7382r";
+    sha256 = "sha256-xplp7Z17NlYbXIbBdN7EWDN4numdZUBIIVg5EowFMPA=";
   };
 
   nativeBuildInputs = [ which ];
diff --git a/nixpkgs/pkgs/development/libraries/libpqxx/default.nix b/nixpkgs/pkgs/development/libraries/libpqxx/default.nix
index a1d99117515d..e95adbd62942 100644
--- a/nixpkgs/pkgs/development/libraries/libpqxx/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libpqxx/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libpqxx";
-  version = "7.5.2";
+  version = "7.6.0";
 
   src = fetchFromGitHub {
     owner = "jtv";
     repo = pname;
     rev = version;
-    sha256 = "15ifd28v6xbbx931icydy8xmkd8030b20xzqjja6vwwvzss2w9fa";
+    sha256 = "sha256-shcGJebjXJ3ORvcdINJFLiuW7ySqe6HyPUQioeUG/wM=";
   };
 
   nativeBuildInputs = [ gnused python3 ];
diff --git a/nixpkgs/pkgs/development/libraries/libqalculate/default.nix b/nixpkgs/pkgs/development/libraries/libqalculate/default.nix
index 9368469f26dd..75b3dab36cb6 100644
--- a/nixpkgs/pkgs/development/libraries/libqalculate/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libqalculate/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libqalculate";
-  version = "3.19.0";
+  version = "3.20.1";
 
   src = fetchFromGitHub {
     owner = "qalculate";
     repo = "libqalculate";
     rev = "v${version}";
-    sha256 = "1w44407wb552q21dz4m2nwwdi8b9hzjb2w1l3ffsikzqckc7wbyj";
+    sha256 = "sha256-8SYI8CoeTfZXX0CgLnfl0rHwUZbYM7OGYzFQ41jm5Qs=";
   };
 
   outputs = [ "out" "dev" "doc" ];
diff --git a/nixpkgs/pkgs/development/libraries/libquotient/default.nix b/nixpkgs/pkgs/development/libraries/libquotient/default.nix
index 7c89e98576af..6264a9de3691 100644
--- a/nixpkgs/pkgs/development/libraries/libquotient/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libquotient/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "libquotient";
-  version = "0.6.7";
+  version = "0.6.8";
 
   src = fetchFromGitHub {
     owner = "quotient-im";
     repo = "libQuotient";
     rev = version;
-    sha256 = "sha256-fAzYv9OsanXqocEvbSB3OA9OVicwcZ0xT9uYbrFPEHc=";
+    sha256 = "sha256-CrAK0yq1upB1+C2z6mqKkSArCmzI+TDEEHTIBWB29Go=";
   };
 
   buildInputs = [ qtbase qtmultimedia ];
diff --git a/nixpkgs/pkgs/development/libraries/libraspberrypi/default.nix b/nixpkgs/pkgs/development/libraries/libraspberrypi/default.nix
index 8a8f41981aae..a0b959d178f1 100644
--- a/nixpkgs/pkgs/development/libraries/libraspberrypi/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libraspberrypi/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libraspberrypi";
-  version = "unstable-2021-03-17";
+  version = "unstable-2021-06-23";
 
   src = fetchFromGitHub {
     owner = "raspberrypi";
     repo = "userland";
-    rev = "3fd8527eefd8790b4e8393458efc5f94eb21a615";
-    sha256 = "099qxh4bjzwd431ffpdhzx0gzlrkdyf66wplgkwg2rrfrc9zlv5a";
+    rev = "97bc8180ad682b004ea224d1db7b8e108eda4397";
+    sha256 = "0cnjc7w8ynayj90vlpl13xzm9izd8m5b4cvrq52si9vc6wlm4in5";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/libraries/librdf/raptor.nix b/nixpkgs/pkgs/development/libraries/librdf/raptor.nix
index 8d1b1f2a0ea4..ef755b821550 100644
--- a/nixpkgs/pkgs/development/libraries/librdf/raptor.nix
+++ b/nixpkgs/pkgs/development/libraries/librdf/raptor.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "The RDF Parser Toolkit";
-    homepage = "http://librdf.org/raptor";
+    homepage = "https://librdf.org/raptor";
     license = with lib.licenses; [ lgpl21 asl20 ];
     maintainers = [ lib.maintainers.marcweber ];
     platforms = lib.platforms.linux;
diff --git a/nixpkgs/pkgs/development/libraries/librdf/raptor2.nix b/nixpkgs/pkgs/development/libraries/librdf/raptor2.nix
index bb8aeefa102c..656558146857 100644
--- a/nixpkgs/pkgs/development/libraries/librdf/raptor2.nix
+++ b/nixpkgs/pkgs/development/libraries/librdf/raptor2.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "The RDF Parser Toolkit";
-    homepage = "http://librdf.org/raptor";
+    homepage = "https://librdf.org/raptor";
     license = with lib.licenses; [ lgpl21 asl20 ];
     maintainers = with lib.maintainers; [ marcweber ];
     platforms = lib.platforms.unix;
diff --git a/nixpkgs/pkgs/development/libraries/librdf/rasqal.nix b/nixpkgs/pkgs/development/libraries/librdf/rasqal.nix
index 88acc372f7f5..0dd5b87377f3 100644
--- a/nixpkgs/pkgs/development/libraries/librdf/rasqal.nix
+++ b/nixpkgs/pkgs/development/libraries/librdf/rasqal.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Library that handles Resource Description Framework (RDF)";
-    homepage = "http://librdf.org/rasqal";
+    homepage = "https://librdf.org/rasqal";
     license = with lib.licenses; [ lgpl21 asl20 ];
     maintainers = with lib.maintainers; [ marcweber ];
     platforms = lib.platforms.unix;
diff --git a/nixpkgs/pkgs/development/libraries/librdf/redland.nix b/nixpkgs/pkgs/development/libraries/librdf/redland.nix
index 731d1cf18684..5ac2c711104b 100644
--- a/nixpkgs/pkgs/development/libraries/librdf/redland.nix
+++ b/nixpkgs/pkgs/development/libraries/librdf/redland.nix
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "C libraries that provide support for the Resource Description Framework (RDF)";
-    homepage = "http://librdf.org/";
+    homepage = "https://librdf.org/";
     platforms = platforms.unix;
     license = licenses.asl20;
   };
diff --git a/nixpkgs/pkgs/development/libraries/librelp/default.nix b/nixpkgs/pkgs/development/libraries/librelp/default.nix
index 8d950d66bd21..7b5a7d228d5e 100644
--- a/nixpkgs/pkgs/development/libraries/librelp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/librelp/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "librelp";
-  version = "1.9.0";
+  version = "1.10.0";
 
   src = fetchFromGitHub {
     owner = "rsyslog";
     repo = "librelp";
     rev = "v${version}";
-    sha256 = "sha256-nE7YavjZj+nHcTNkcl/xVAaP+9XfHlTEsW18aPO/ABY=";
+    sha256 = "sha256-aJLsUtik5aXfsdi+8QoDgbi4VUZ8gV3YPA6kIY6wzs4=";
   };
 
   nativeBuildInputs = [ pkg-config autoreconfHook ];
diff --git a/nixpkgs/pkgs/development/libraries/libressl/default.nix b/nixpkgs/pkgs/development/libraries/libressl/default.nix
index 3dffccf5f41d..fb362ebbad2f 100644
--- a/nixpkgs/pkgs/development/libraries/libressl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libressl/default.nix
@@ -63,11 +63,6 @@ let
   };
 
 in {
-  libressl_3_1 = generic {
-    version = "3.1.5";
-    sha256 = "1504a1sf43frw43j14pij0q1f48rm5q86ggrlxxhw708qp7ds4rc";
-  };
-
   libressl_3_2 = generic {
     version = "3.2.5";
     sha256 = "1zkwrs3b19s1ybz4q9hrb7pqsbsi8vxcs44qanfy11fkc7ynb2kr";
diff --git a/nixpkgs/pkgs/development/libraries/libroxml/default.nix b/nixpkgs/pkgs/development/libraries/libroxml/default.nix
index de1877f2ab40..39c8eab5a65b 100644
--- a/nixpkgs/pkgs/development/libraries/libroxml/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libroxml/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation {
     sha256  = "0y0vc9n4rfbimjp28nx4kdfzz08j5xymh5xjy84l9fhfac5z5a0x";
   };
   meta = with lib; {
-    homepage = "http://www.libroxml.net/";
+    homepage = "https://www.libroxml.net/";
     description = "This library is minimum, easy-to-use, C implementation for xml file parsing";
     license = licenses.lgpl3;
     platforms = platforms.unix;
diff --git a/nixpkgs/pkgs/development/libraries/librsync/0.9.nix b/nixpkgs/pkgs/development/libraries/librsync/0.9.nix
deleted file mode 100644
index 74dca4e30854..000000000000
--- a/nixpkgs/pkgs/development/libraries/librsync/0.9.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ lib, stdenv, fetchurl }:
-
-stdenv.mkDerivation {
-  name = "librsync-0.9.7";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/librsync/librsync-0.9.7.tar.gz";
-    sha256 = "1mj1pj99mgf1a59q9f2mxjli2fzxpnf55233pc1klxk2arhf8cv6";
-  };
-
-  hardeningDisable = [ "format" ];
-
-  configureFlags = [
-    (lib.enableFeature stdenv.isCygwin    "static")
-    (lib.enableFeature (!stdenv.isCygwin) "shared")
-  ];
-
-  dontStrip = stdenv.hostPlatform != stdenv.buildPlatform;
-
-  meta = {
-    homepage = "http://librsync.sourceforge.net/";
-    license = lib.licenses.lgpl2Plus;
-    description = "Implementation of the rsync remote-delta algorithm";
-    platforms = lib.platforms.unix;
-  };
-}
diff --git a/nixpkgs/pkgs/development/libraries/libsodium/default.nix b/nixpkgs/pkgs/development/libraries/libsodium/default.nix
index ba8bc3f334e6..bc8a2ced7cd5 100644
--- a/nixpkgs/pkgs/development/libraries/libsodium/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libsodium/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl }:
+{ lib, stdenv, fetchurl, autoreconfHook }:
 
 stdenv.mkDerivation rec {
   pname = "libsodium";
@@ -10,6 +10,11 @@ stdenv.mkDerivation rec {
   };
 
   outputs = [ "out" "dev" ];
+
+  patches = lib.optional stdenv.targetPlatform.isMinGW ./mingw-no-fortify.patch;
+
+  nativeBuildInputs = lib.optional stdenv.targetPlatform.isMinGW autoreconfHook;
+
   separateDebugInfo = stdenv.isLinux && stdenv.hostPlatform.libc != "musl";
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/development/libraries/libsodium/mingw-no-fortify.patch b/nixpkgs/pkgs/development/libraries/libsodium/mingw-no-fortify.patch
new file mode 100644
index 000000000000..e13a801f8db7
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libsodium/mingw-no-fortify.patch
@@ -0,0 +1,15 @@
+diff -Naur libsodium-1.0.18-orig/configure.ac libsodium-1.0.18/configure.ac
+--- libsodium-1.0.18-orig/configure.ac	2019-05-30 16:20:24.000000000 -0400
++++ libsodium-1.0.18/configure.ac	2021-08-11 08:09:54.653907245 -0400
+@@ -217,11 +217,6 @@
+ 
+ AC_CHECK_DEFINE([__wasi__], [WASI="yes"], [])
+ 
+-AC_CHECK_DEFINE([_FORTIFY_SOURCE], [], [
+-  AX_CHECK_COMPILE_FLAG([-D_FORTIFY_SOURCE=2],
+-    [CPPFLAGS="$CPPFLAGS -D_FORTIFY_SOURCE=2"])
+-])
+-
+ AX_CHECK_COMPILE_FLAG([-fvisibility=hidden],
+   [CFLAGS="$CFLAGS -fvisibility=hidden"])
+ 
diff --git a/nixpkgs/pkgs/development/libraries/libspf2/default.nix b/nixpkgs/pkgs/development/libraries/libspf2/default.nix
index 6a9cb8b647cc..dc46e356e2c8 100644
--- a/nixpkgs/pkgs/development/libraries/libspf2/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libspf2/default.nix
@@ -17,6 +17,11 @@ stdenv.mkDerivation rec {
       url = "https://github.com/shevek/libspf2/commit/5852828582f556e73751076ad092f72acf7fc8b6.patch";
       sha256 = "1v6ashqzpr0xidxq0vpkjd8wd66cj8df01kyzj678ljzcrax35hk";
     })
+    (fetchurl {
+      name = "0002-CVE-2021-20314.patch";
+      url = "https://github.com/shevek/libspf2/commit/c37b7c13c30e225183899364b9f2efdfa85552ef.patch";
+      sha256 = "190nnh7mlz6328829ba6jajad16s3md8kraspn81qnvhwh0nkiak";
+    })
   ];
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/libraries/libsystemtap/default.nix b/nixpkgs/pkgs/development/libraries/libsystemtap/default.nix
index 1ce7ef58c886..17ac533732f9 100644
--- a/nixpkgs/pkgs/development/libraries/libsystemtap/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libsystemtap/default.nix
@@ -1,4 +1,4 @@
-{lib, stdenv, fetchgit, gettext, python, elfutils}:
+{lib, stdenv, fetchgit, gettext, python2, elfutils}:
 
 stdenv.mkDerivation {
   pname = "libsystemtap";
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
 
   dontBuild = true;
 
-  nativeBuildInputs = [ gettext python elfutils ];
+  nativeBuildInputs = [ gettext python2 elfutils ];
 
   installPhase = ''
     mkdir -p $out/include
diff --git a/nixpkgs/pkgs/development/libraries/libtgvoip/default.nix b/nixpkgs/pkgs/development/libraries/libtgvoip/default.nix
deleted file mode 100644
index 3c10220fffbc..000000000000
--- a/nixpkgs/pkgs/development/libraries/libtgvoip/default.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{ stdenv, lib, fetchFromGitHub, fetchpatch
-, pkg-config, autoreconfHook
-, openssl, libopus, alsa-lib, libpulseaudio
-}:
-
-with lib;
-
-stdenv.mkDerivation rec {
-  pname = "libtgvoip";
-  version = "unstable-2021-07-13";
-
-  src = fetchFromGitHub {
-    owner = "telegramdesktop";
-    repo = "libtgvoip";
-    rev = "f321e7c8cc086bac6ae06fa0934aac7d9833a310";
-    sha256 = "1gk5nsqhbnn1cdh83b70qr3d3v2c1bncylvgn77vvj8vnyjlmnfq";
-  };
-
-  # To fix the build without external webrtc:
-  patches = [
-    (fetchpatch {
-      # Use methods from updated webrtc.
-      url = "https://github.com/telegramdesktop/libtgvoip/commit/13a5fcb16b04472d808ce122abd695dbf5d206cd.patch";
-      sha256 = "0wapqvml3yyv5dlp2q8iih5rfvfnkngll69krhnw5xsdjy22sp7r";
-      revert = true;
-    })
-    (fetchpatch {
-      # Allow working with external webrtc.
-      url = "https://github.com/telegramdesktop/libtgvoip/commit/6e82b6e45664c1f80b9039256c99bebc76d34672.patch";
-      sha256 = "0m87ixja70vnm80a9z4gxk0yl7n64y59smczxb88lxnj6kdgih7x";
-      revert = true;
-    })
-  ];
-
-  outputs = [ "out" "dev" ];
-
-  nativeBuildInputs = [ pkg-config autoreconfHook ];
-  buildInputs = [ openssl libopus alsa-lib libpulseaudio ];
-  enableParallelBuilding = true;
-
-  meta = {
-    description = "VoIP library for Telegram clients";
-    license = licenses.unlicense;
-    platforms = platforms.linux;
-    homepage = "https://github.com/telegramdesktop/libtgvoip";
-    maintainers = with maintainers; [ ilya-fedin ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/libraries/libtins/default.nix b/nixpkgs/pkgs/development/libraries/libtins/default.nix
index 7279dc9ddfa2..d1a99fb88ab4 100644
--- a/nixpkgs/pkgs/development/libraries/libtins/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libtins/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   postPatch = ''
     rm -rf googletest
-    cp -r ${gtest.src}/googletest googletest
+    cp -r ${gtest.src} googletest
     chmod -R a+w googletest
   '';
 
diff --git a/nixpkgs/pkgs/development/libraries/liburcu/default.nix b/nixpkgs/pkgs/development/libraries/liburcu/default.nix
index 6eb1bb93f6b8..b00b4cf9ac85 100644
--- a/nixpkgs/pkgs/development/libraries/liburcu/default.nix
+++ b/nixpkgs/pkgs/development/libraries/liburcu/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchurl, perl }:
 
 stdenv.mkDerivation rec {
-  version = "0.12.2";
+  version = "0.13.0";
   pname = "liburcu";
 
   src = fetchurl {
     url = "https://lttng.org/files/urcu/userspace-rcu-${version}.tar.bz2";
-    sha256 = "sha256-Tu/BHk9sIS/H2E2HHhzBOdoGaaRv8/2lV6b91NdMpns=";
+    sha256 = "sha256-y7INvhqJLCpNiJi6xDFhduWFOSaT1Jh2bMu8aM8guiA=";
   };
 
   checkInputs = [ perl ];
diff --git a/nixpkgs/pkgs/development/libraries/libuv/default.nix b/nixpkgs/pkgs/development/libraries/libuv/default.nix
index b630fca16701..a3de139fb440 100644
--- a/nixpkgs/pkgs/development/libraries/libuv/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libuv/default.nix
@@ -1,25 +1,16 @@
-{ stdenv, lib, fetchFromGitHub, fetchpatch, autoconf, automake, libtool, pkg-config, ApplicationServices, CoreServices }:
+{ stdenv, lib, fetchFromGitHub, autoconf, automake, libtool, pkg-config, ApplicationServices, CoreServices }:
 
 stdenv.mkDerivation rec {
-  version = "1.41.0";
+  version = "1.42.0";
   pname = "libuv";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-i6AYD1Ony0L2+3yWK6bxOfwoZEvd9qCg33QSqA7bRXI=";
+    sha256 = "0f6mfbg750q26fa85nhmw2m0gyp8jcp1kyx9zn6lgi8bha5b7kny";
   };
 
-  patches = [
-    (fetchpatch {
-      # Fixes out-of-bounds read in uv__idna_toascii() function
-      name = "CVE-2021-22918.patch";
-      url = "https://github.com/libuv/libuv/commit/b7466e31e4bee160d82a68fca11b1f61d46debae.patch";
-      sha256 = "0fbjy0jh7r9nrd27ag1k6am6d8p5ih7p0ywvjn53nq4cyqdqxhi7";
-    })
-  ];
-
   postPatch = let
     toDisable = [
       "getnameinfo_basic" "udp_send_hang_loop" # probably network-dependent
diff --git a/nixpkgs/pkgs/development/libraries/libvarlink/default.nix b/nixpkgs/pkgs/development/libraries/libvarlink/default.nix
new file mode 100644
index 000000000000..099fae07dac1
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libvarlink/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, meson
+, ninja
+, python3
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libvarlink";
+  version = "22";
+
+  src = fetchFromGitHub {
+    owner = "varlink";
+    repo = pname;
+    rev = version;
+    sha256 = "1i15227vlc9k4276r833ndhxrcys9305pf6dga1j0alx2vj85yz2";
+  };
+
+  nativeBuildInputs = [ meson ninja ];
+
+  postPatch = ''
+    substituteInPlace varlink-wrapper.py \
+      --replace "/usr/bin/env python3" "${python3}/bin/python3"
+
+    # test-object: ../lib/test-object.c:129: main: Assertion `setlocale(LC_NUMERIC, "de_DE.UTF-8") != 0' failed.
+    # PR that added it https://github.com/varlink/libvarlink/pull/27
+    substituteInPlace lib/test-object.c \
+      --replace 'assert(setlocale(LC_NUMERIC, "de_DE.UTF-8") != 0);' ""
+
+    patchShebangs lib/test-symbols.sh
+  '';
+
+  doCheck = true;
+
+  meta = with lib; {
+    description = "C implementation of the Varlink protocol and command line tool";
+    homepage = "https://github.com/varlink/libvarlink";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ artturin ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/libvisio2svg/default.nix b/nixpkgs/pkgs/development/libraries/libvisio2svg/default.nix
new file mode 100644
index 000000000000..0525ba80b4f9
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libvisio2svg/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, freetype
+, libemf2svg
+, librevenge
+, libvisio
+, libwmf
+, libxml2
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libvisio2svg";
+  version = "0.5.5";
+
+  src = fetchFromGitHub {
+    owner = "kakwa";
+    repo = pname;
+    rev = version;
+    sha256 = "14m37mmib1596c76j9w178jqhwxyih2sy5w5q9xglh8cmlfn1hfx";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ libxml2 freetype librevenge libvisio libwmf libemf2svg ];
+
+  meta = with lib; {
+    description = "Library and tools to convert Microsoft Visio documents (VSS and VSD) to SVG";
+    homepage = "https://github.com/kakwa/libvisio2svg";
+    maintainers = with maintainers; [ erdnaxe ];
+    license = licenses.gpl2Only;
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/libvmi/default.nix b/nixpkgs/pkgs/development/libraries/libvmi/default.nix
index 9d9e47407b62..36fd026eeedd 100644
--- a/nixpkgs/pkgs/development/libraries/libvmi/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libvmi/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = "http://libvmi.com/";
+    homepage = "https://libvmi.com/";
     description = "A C library for virtual machine introspection";
     longDescription = ''
       LibVMI is a C library with Python bindings that makes it easy to monitor the low-level
diff --git a/nixpkgs/pkgs/development/libraries/libwebsockets/default.nix b/nixpkgs/pkgs/development/libraries/libwebsockets/default.nix
index 151d4c7ee48f..777beb9bc14b 100644
--- a/nixpkgs/pkgs/development/libraries/libwebsockets/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libwebsockets/default.nix
@@ -61,7 +61,7 @@ in {
   };
 
   libwebsockets_4_2 = generic {
-    version = "4.2.0";
-    sha256 = "glnLGXniero/5CW/1TBPZngdOM6gww8DnT5wiX66sW0=";
+    version = "4.2.1";
+    sha256 = "sha256-C+WGfNF4tAgbp/7aRraBgjNOe4I5ihm+8CGelXzfxbU=";
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/libxlsxwriter/default.nix b/nixpkgs/pkgs/development/libraries/libxlsxwriter/default.nix
index dfeaeed8ca80..f1d4bd298ded 100644
--- a/nixpkgs/pkgs/development/libraries/libxlsxwriter/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libxlsxwriter/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libxlsxwriter";
-  version = "1.0.9";
+  version = "1.1.3";
 
   src = fetchFromGitHub {
     owner = "jmcnamara";
     repo = "libxlsxwriter";
     rev = "RELEASE_${version}";
-    sha256 = "sha256-6MMQr0ynMmfZj+RFoKtLB/f1nTBfn9tcYpzyUwnfB3M=";
+    sha256 = "sha256-j+tplk8Fdx92YKj7PnchMZWctVmBmNirUmDw5ADmJy0=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/libyaml-cpp/default.nix b/nixpkgs/pkgs/development/libraries/libyaml-cpp/default.nix
index 13141923202a..ebfe53b25138 100644
--- a/nixpkgs/pkgs/development/libraries/libyaml-cpp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libyaml-cpp/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libyaml-cpp";
-  version = "0.6.3";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "jbeder";
     repo = "yaml-cpp";
     rev = "yaml-cpp-${version}";
-    sha256 = "0ykkxzxcwwiv8l8r697gyqh1nl582krpvi7m7l6b40ijnk4pw30s";
+    sha256 = "sha256-2tFWccifn0c2lU/U1WNg2FHrBohjx8CXMllPJCevaNk=";
   };
 
   # implement https://github.com/jbeder/yaml-cpp/commit/52a1378e48e15d42a0b755af7146394c6eff998c
diff --git a/nixpkgs/pkgs/development/libraries/lime/default.nix b/nixpkgs/pkgs/development/libraries/lime/default.nix
index 4d52b848ae40..81ad3bd8103b 100644
--- a/nixpkgs/pkgs/development/libraries/lime/default.nix
+++ b/nixpkgs/pkgs/development/libraries/lime/default.nix
@@ -10,7 +10,7 @@
 
 stdenv.mkDerivation rec {
   pname = "lime";
-  version = "4.5.14";
+  version = "5.0.0";
 
   src = fetchFromGitLab {
     domain = "gitlab.linphone.org";
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     group = "BC";
     repo = pname;
     rev = version;
-    sha256 = "sha256-ixqJ37+ljAru3hZ512nosTak0G/m6/nnmv2p/s5sVLs=";
+    sha256 = "sha256-11vvvA+pud/eOyYsbRKVvGfiyhwdhNPfRQSfaquUro8=";
   };
 
   buildInputs = [ bctoolbox soci belle-sip sqlite ];
diff --git a/nixpkgs/pkgs/development/libraries/live555/default.nix b/nixpkgs/pkgs/development/libraries/live555/default.nix
index 85302bc7c966..081fa2f175bb 100644
--- a/nixpkgs/pkgs/development/libraries/live555/default.nix
+++ b/nixpkgs/pkgs/development/libraries/live555/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
       i686-linux = "linux";
       x86_64-linux = "linux-64bit";
       aarch64-linux = "linux-64bit";
-    }.${stdenv.hostPlatform.system}}
+    }.${stdenv.hostPlatform.system} or (throw "Unsupported platform ${stdenv.hostPlatform.system}")}
 
     runHook postConfigure
   '';
diff --git a/nixpkgs/pkgs/development/libraries/mapnik/default.nix b/nixpkgs/pkgs/development/libraries/mapnik/default.nix
index 45d5e0a40eb0..c2556a428a15 100644
--- a/nixpkgs/pkgs/development/libraries/mapnik/default.nix
+++ b/nixpkgs/pkgs/development/libraries/mapnik/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchzip
 , boost, cairo, freetype, gdal, harfbuzz, icu, libjpeg, libpng, libtiff
-, libwebp, libxml2, proj, python, sqlite, zlib
+, libwebp, libxml2, proj, python3, python ? python3, sqlite, zlib
 
 # supply a postgresql package to enable the PostGIS input plugin
 , postgresql ? null
@@ -19,15 +19,15 @@ stdenv.mkDerivation rec {
   # a distinct dev output makes python-mapnik fail
   outputs = [ "out" ];
 
-  nativeBuildInputs = [ python ];
+  nativeBuildInputs = [ python3 ];
 
-  buildInputs =
-    [ boost cairo freetype gdal harfbuzz icu libjpeg libpng libtiff
-      libwebp proj python sqlite zlib
+  buildInputs = [
+    boost cairo freetype gdal harfbuzz icu libjpeg libpng libtiff
+    libwebp proj python sqlite zlib
 
-      # optional inputs
-      postgresql
-    ];
+    # optional inputs
+    postgresql
+  ];
 
   propagatedBuildInputs = [ libxml2 ];
 
diff --git a/nixpkgs/pkgs/development/libraries/mbedtls/default.nix b/nixpkgs/pkgs/development/libraries/mbedtls/default.nix
index 90e2c9bd9a73..9210f18ed962 100644
--- a/nixpkgs/pkgs/development/libraries/mbedtls/default.nix
+++ b/nixpkgs/pkgs/development/libraries/mbedtls/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
 
   strictDeps = true;
 
-  postConfigure = lib.optionals enableThreading ''
+  postConfigure = lib.optionalString enableThreading ''
     perl scripts/config.pl set MBEDTLS_THREADING_C    # Threading abstraction layer
     perl scripts/config.pl set MBEDTLS_THREADING_PTHREAD    # POSIX thread wrapper layer for the threading layer.
   '';
diff --git a/nixpkgs/pkgs/development/libraries/mesa-glu/default.nix b/nixpkgs/pkgs/development/libraries/mesa-glu/default.nix
index 85950daea68a..d2e92da0ea96 100644
--- a/nixpkgs/pkgs/development/libraries/mesa-glu/default.nix
+++ b/nixpkgs/pkgs/development/libraries/mesa-glu/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "glu";
-  version = "9.0.1";
+  version = "9.0.2";
 
   src = fetchurl {
     url = "https://mesa.freedesktop.org/archive/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "1g2m634p73mixkzv1qz1d0flwm390ydi41bwmchiqvdssqnlqnpv";
+    sha256 = "sha256-bnKA/1hcah2d/N8vykiSUWNLM3e/wzwp5AAkZqONAtQ=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/nixpkgs/pkgs/development/libraries/mesa/default.nix b/nixpkgs/pkgs/development/libraries/mesa/default.nix
index 2790d88387e2..876a3c015a0d 100644
--- a/nixpkgs/pkgs/development/libraries/mesa/default.nix
+++ b/nixpkgs/pkgs/development/libraries/mesa/default.nix
@@ -31,7 +31,7 @@ with lib;
 let
   # Release calendar: https://www.mesa3d.org/release-calendar.html
   # Release frequency: https://www.mesa3d.org/releasing.html#schedule
-  version = "21.1.5";
+  version = "21.1.7";
   branch  = versions.major version;
 
 self = stdenv.mkDerivation {
@@ -45,7 +45,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 = "0vbn40azh7izrxvb15c51z3lfcb9zas2v1wc4z9cxvja0y9p4b02";
+    sha256 = "1fx7nfvh1drfa6vv34j7ma944qbs014b0jwlbgqlnbjgcl87rrp9";
   };
 
   prePatch = "patchShebangs .";
@@ -83,9 +83,9 @@ self = stdenv.mkDerivation {
 
     # The drirc.d directory cannot be installed to $drivers as that would cause a cyclic dependency:
     substituteInPlace src/util/xmlconfig.c --replace \
-      'DATADIR "/drirc.d"' '"${placeholder "out"}/drirc.d"'
+      'DATADIR "/drirc.d"' '"${placeholder "out"}/share/drirc.d"'
     substituteInPlace src/util/meson.build --replace \
-      "get_option('datadir')" "'${placeholder "out"}'"
+      "get_option('datadir')" "'${placeholder "out"}/share'"
   '' + lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
     substituteInPlace meson.build --replace \
       "find_program('nm')" \
diff --git a/nixpkgs/pkgs/development/libraries/microsoft_gsl/default.nix b/nixpkgs/pkgs/development/libraries/microsoft_gsl/default.nix
index 11931199999b..187508a99818 100644
--- a/nixpkgs/pkgs/development/libraries/microsoft_gsl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/microsoft_gsl/default.nix
@@ -41,6 +41,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/Microsoft/GSL";
     license = licenses.mit;
     platforms = platforms.all;
-    maintainers = with maintainers; [ thoughtpolice xwvvvvwx yuriaisaka ];
+    maintainers = with maintainers; [ thoughtpolice yuriaisaka ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/miniball/default.nix b/nixpkgs/pkgs/development/libraries/miniball/default.nix
index e48857861d68..13a814684a42 100644
--- a/nixpkgs/pkgs/development/libraries/miniball/default.nix
+++ b/nixpkgs/pkgs/development/libraries/miniball/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
     sha256 = "1piap5v8wqq0aachrq6j50qkr01gzpyndl6vf661vyykrfq0nnd2";
   };
 
-  phases = [ "installPhase" ];
+  dontUnpack = true;
 
   installPhase = ''
     mkdir -p $out/include
diff --git a/nixpkgs/pkgs/development/libraries/mlt/default.nix b/nixpkgs/pkgs/development/libraries/mlt/default.nix
index 8bd2bc80362c..a4f0289cd58e 100644
--- a/nixpkgs/pkgs/development/libraries/mlt/default.nix
+++ b/nixpkgs/pkgs/development/libraries/mlt/default.nix
@@ -3,7 +3,7 @@
 , libvorbis, libxml2, movit, pkg-config, sox, fftw, opencv4, SDL2
 , gtk2, genericUpdater, common-updater-scripts, libebur128
 , jack2, ladspa-sdk, swig, which, ncurses
-, enablePython ? false, python
+, enablePython ? false, python3
 }:
 
 stdenv.mkDerivation rec {
@@ -24,7 +24,9 @@ stdenv.mkDerivation rec {
   ] ++ lib.optional enablePython ncurses;
 
   nativeBuildInputs = [ pkg-config makeWrapper which ]
-  ++ lib.optionals enablePython [ python swig ];
+  ++ lib.optionals enablePython [ python3 swig ];
+
+  strictDeps = true;
 
   # Mostly taken from:
   # http://www.kdenlive.org/user-manual/downloading-and-installing-kdenlive/installing-source/installing-mlt-rendering-engine
diff --git a/nixpkgs/pkgs/development/libraries/mlt/qt-5.nix b/nixpkgs/pkgs/development/libraries/mlt/qt-5.nix
index 5a4b6e34e9dc..f8724703f049 100644
--- a/nixpkgs/pkgs/development/libraries/mlt/qt-5.nix
+++ b/nixpkgs/pkgs/development/libraries/mlt/qt-5.nix
@@ -23,7 +23,7 @@
 , mkDerivation
 , which
 }:
-let inherit (lib) getDev; in
+
 mkDerivation rec {
   pname = "mlt";
   version = "6.24.0";
@@ -71,7 +71,7 @@ mkDerivation rec {
 
   # mlt is unable to cope with our multi-prefix Qt build
   # because it does not use CMake or qmake.
-  NIX_CFLAGS_COMPILE = "-I${getDev qtsvg}/include/QtSvg";
+  NIX_CFLAGS_COMPILE = "-I${lib.getDev qtsvg}/include/QtSvg";
 
   CXXFLAGS = "-std=c++11";
 
diff --git a/nixpkgs/pkgs/development/libraries/msgpack/default.nix b/nixpkgs/pkgs/development/libraries/msgpack/default.nix
index f94bd35c3019..d040eff11a32 100644
--- a/nixpkgs/pkgs/development/libraries/msgpack/default.nix
+++ b/nixpkgs/pkgs/development/libraries/msgpack/default.nix
@@ -1,12 +1,12 @@
 { callPackage, fetchFromGitHub, ... } @ args:
 
 callPackage ./generic.nix (args // rec {
-  version = "3.2.0";
+  version = "3.3.0";
 
   src = fetchFromGitHub {
     owner  = "msgpack";
     repo   = "msgpack-c";
     rev    = "cpp-${version}";
-    sha256 = "07n0kdmdjn3amwfg7fqz3xac1yrrxh7d2l6p4pgc6as087pbm8pl";
+    sha256 = "02dxgzxlwn8g9ca2j4m0rjvdq1k2iciy6ickj615daz5w8pcjajd";
   };
 })
diff --git a/nixpkgs/pkgs/development/libraries/nco/default.nix b/nixpkgs/pkgs/development/libraries/nco/default.nix
index b7df32633b4a..e551e439051d 100644
--- a/nixpkgs/pkgs/development/libraries/nco/default.nix
+++ b/nixpkgs/pkgs/development/libraries/nco/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchzip, netcdf, netcdfcxx4, gsl, udunits, antlr2, which, curl, flex, coreutils }:
 
 stdenv.mkDerivation rec {
-  version = "4.9.8";
+  version = "5.0.1";
   pname = "nco";
 
   nativeBuildInputs = [ flex which antlr2 ];
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
 
   src = fetchzip {
     url = "https://github.com/nco/nco/archive/${version}.tar.gz";
-    sha256 = "sha256-fOdmM0I/UGhxacofEBfw9UmOOrMDUXs59ca8uvkQKqw=";
+    sha256 = "sha256-Mdnko+0ZuMoKgBp//+rCVsbFJx90Tmrnal7FAmwIKEQ=";
   };
 
   prePatch = ''
diff --git a/nixpkgs/pkgs/development/libraries/ndi/default.nix b/nixpkgs/pkgs/development/libraries/ndi/default.nix
index 81465b61acc1..90032f774bbc 100644
--- a/nixpkgs/pkgs/development/libraries/ndi/default.nix
+++ b/nixpkgs/pkgs/development/libraries/ndi/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "ndi";
-  fullVersion = "4.6.0";
+  fullVersion = "4.6.2";
   version = builtins.head (builtins.splitVersion fullVersion);
 
   src = requireFile rec {
     name    = "InstallNDISDK_v${version}_Linux.tar.gz";
-    sha256  = "19jrj2v7x1amdpc9pdq3042vm2l3szwqbzb83lirgbc24s2q043m";
+    sha256  = "181ypfj1bl0kljzrfr6037i14ykg2y4plkzdhym6m3z7kcrnm1fl";
     message = ''
       In order to use NDI SDK version ${fullVersion}, you need to comply with
       NewTek's license and download the appropriate Linux tarball from:
diff --git a/nixpkgs/pkgs/development/libraries/ndpi/default.nix b/nixpkgs/pkgs/development/libraries/ndpi/default.nix
index 4048f28e5d77..a45884f72dc6 100644
--- a/nixpkgs/pkgs/development/libraries/ndpi/default.nix
+++ b/nixpkgs/pkgs/development/libraries/ndpi/default.nix
@@ -1,23 +1,31 @@
-{ lib, stdenv, fetchFromGitHub, which, autoconf, automake, libtool, libpcap
+{ lib
+, stdenv
+, fetchFromGitHub
+, which
+, autoconf
+, automake
+, libtool
+, libpcap
+, json_c
 , pkg-config }:
 
 stdenv.mkDerivation rec {
   pname = "ndpi";
-  version = "3.4";
+  version = "4.0";
 
   src = fetchFromGitHub {
     owner = "ntop";
     repo = "nDPI";
     rev = version;
-    sha256 = "0xjh9gv0mq0213bjfs5ahrh6m7l7g99jjg8104c0pw54hz0p5pq1";
+    sha256 = "0snzvlracc6s7r2pgdn0jqcc7nxjxzcivsa579h90g5ibhhplv5x";
   };
 
   configureScript = "./autogen.sh";
 
-  nativeBuildInputs = [which autoconf automake libtool];
+  nativeBuildInputs = [ which autoconf automake libtool pkg-config ];
   buildInputs = [
     libpcap
-    pkg-config
+    json_c
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/libraries/netcdf/default.nix b/nixpkgs/pkgs/development/libraries/netcdf/default.nix
index c345f66e872a..d24078b91a27 100644
--- a/nixpkgs/pkgs/development/libraries/netcdf/default.nix
+++ b/nixpkgs/pkgs/development/libraries/netcdf/default.nix
@@ -1,4 +1,5 @@
 { lib, stdenv
+, fetchpatch
 , fetchurl
 , hdf5
 , m4
@@ -11,13 +12,25 @@ let
   mpi = hdf5.mpi;
 in stdenv.mkDerivation rec {
   pname = "netcdf";
-  version = "4.7.4";
+  version = "4.8.0"; # Remove patch mentioned below on upgrade
 
   src = fetchurl {
     url = "https://www.unidata.ucar.edu/downloads/netcdf/ftp/${pname}-c-${version}.tar.gz";
-    sha256 = "1a2fpp15a2rl1m50gcvvzd9y6bavl6vjf9zzf63sz5gdmq06yiqf";
+    sha256 = "1mfn8qi4k0b8pyar3wa8v0npj69c7rhgfdlppdwmq5jqk88kb5k7";
   };
 
+  patches = [
+    # Fixes:
+    #     *** Checking vlen of compound file...Sorry! Unexpected result, tst_h_atts3.c, line: 289
+    #     FAIL tst_h_atts3 (exit status: 2)
+    # TODO: Remove with next netcdf release (see https://github.com/Unidata/netcdf-c/pull/1980)
+    (fetchpatch {
+      name = "netcdf-Fix-tst_h_atts3-for-hdf5-1.12.patch";
+      url = "https://github.com/Unidata/netcdf-c/commit/9fc8ae62a8564e095ff17f4612874581db0e4db5.patch";
+      sha256 = "128kxz5jikq32x5qjmi0xdngi0k336rf6bvbcppvlk5gibg5nk7v";
+    })
+  ];
+
   postPatch = ''
     patchShebangs .
 
diff --git a/nixpkgs/pkgs/development/libraries/notcurses/default.nix b/nixpkgs/pkgs/development/libraries/notcurses/default.nix
index 725392772d8d..a99a09a0fe69 100644
--- a/nixpkgs/pkgs/development/libraries/notcurses/default.nix
+++ b/nixpkgs/pkgs/development/libraries/notcurses/default.nix
@@ -1,13 +1,26 @@
-{ stdenv, cmake, pkg-config, pandoc, libunistring, ncurses, ffmpeg, readline,
-  fetchFromGitHub, lib,
-  multimediaSupport ? true
+{ stdenv
+, cmake
+, pkg-config
+, pandoc
+, libunistring
+, ncurses
+, ffmpeg
+, readline
+, fetchFromGitHub
+, lib
+, multimediaSupport ? true
 }:
-let
-  version = "2.3.8";
-in
-stdenv.mkDerivation {
+
+stdenv.mkDerivation rec {
   pname = "notcurses";
-  inherit version;
+  version = "2.3.8";
+
+  src = fetchFromGitHub {
+    owner = "dankamongmen";
+    repo = "notcurses";
+    rev = "v${version}";
+    sha256 = "sha256-CTMFXTmOnBUCm0KdVNBoDT08arr01XTHdELFiTayk3E=";
+  };
 
   outputs = [ "out" "dev" ];
 
@@ -16,20 +29,11 @@ stdenv.mkDerivation {
   buildInputs = [ libunistring ncurses readline ]
     ++ lib.optional multimediaSupport ffmpeg;
 
-  cmakeFlags =
-    [ "-DUSE_QRCODEGEN=OFF" ]
+  cmakeFlags = [ "-DUSE_QRCODEGEN=OFF" ]
     ++ lib.optional (!multimediaSupport) "-DUSE_MULTIMEDIA=none";
 
-  src = fetchFromGitHub {
-    owner  = "dankamongmen";
-    repo   = "notcurses";
-    rev    = "v${version}";
-    sha256 = "sha256-CTMFXTmOnBUCm0KdVNBoDT08arr01XTHdELFiTayk3E=";
-  };
-
-  meta = {
+  meta = with lib; {
     description = "blingful TUIs and character graphics";
-
     longDescription = ''
       A library facilitating complex TUIs on modern terminal emulators,
       supporting vivid colors, multimedia, and Unicode to the maximum degree
@@ -39,11 +43,9 @@ stdenv.mkDerivation {
       It is not a source-compatible X/Open Curses implementation, nor a
       replacement for NCURSES on existing systems.
     '';
-
     homepage = "https://github.com/dankamongmen/notcurses";
-
-    license = lib.licenses.asl20;
-    platforms = lib.platforms.all;
-    maintainers = with lib.maintainers; [ jb55 ];
+    license = licenses.asl20;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ jb55 ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/nspr/default.nix b/nixpkgs/pkgs/development/libraries/nspr/default.nix
index 91532b3771e1..8048ef2a5e70 100644
--- a/nixpkgs/pkgs/development/libraries/nspr/default.nix
+++ b/nixpkgs/pkgs/development/libraries/nspr/default.nix
@@ -1,14 +1,17 @@
-{ lib, stdenv, fetchurl
-, CoreServices ? null
-, buildPackages }:
+{ lib
+, stdenv
+, fetchurl
+, CoreServices
+, buildPackages
+}:
 
 stdenv.mkDerivation rec {
   pname = "nspr";
-  version = "4.31";
+  version = "4.32";
 
   src = fetchurl {
     url = "mirror://mozilla/nspr/releases/v${version}/src/nspr-${version}.tar.gz";
-    sha256 = "1j5b2m8cjlhnnv8sq34587avaagkqvh521w4f95miwgvsn3xlaap";
+    sha256 = "0v3zds1id71j5a5si42a658fjz8nv2f6zp6w4gqrqmdr6ksz8sxv";
   };
 
   patches = [
@@ -37,13 +40,14 @@ stdenv.mkDerivation rec {
     moveToOutput share "$dev" # just aclocal
   '';
 
-  buildInputs = [] ++ lib.optionals stdenv.isDarwin [ CoreServices ];
+  buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
 
   enableParallelBuilding = true;
 
   meta = with lib; {
-    homepage = "http://www.mozilla.org/projects/nspr/";
+    homepage = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/Reference/NSPR_functions";
     description = "Netscape Portable Runtime, a platform-neutral API for system-level and libc-like functions";
+    maintainers = with maintainers; [ ];
     platforms = platforms.all;
     license = licenses.mpl20;
   };
diff --git a/nixpkgs/pkgs/development/libraries/nss/3.53.nix b/nixpkgs/pkgs/development/libraries/nss/3.53.nix
index 5d44a4d2469d..4d22e9a1a7cf 100644
--- a/nixpkgs/pkgs/development/libraries/nss/3.53.nix
+++ b/nixpkgs/pkgs/development/libraries/nss/3.53.nix
@@ -1,4 +1,14 @@
-{ lib, stdenv, fetchurl, nspr, perl, zlib, sqlite, darwin, fixDarwinDylibNames, buildPackages, ninja
+{ lib
+, stdenv
+, fetchurl
+, nspr
+, perl
+, zlib
+, sqlite
+, darwin
+, fixDarwinDylibNames
+, buildPackages
+, ninja
 , # allow FIPS mode. Note that this makes the output non-reproducible.
   # https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/NSS_Tech_Notes/nss_tech_note6
   enableFIPS ? false
@@ -9,7 +19,8 @@ let
     url = "http://dev.gentoo.org/~polynomial-c/mozilla/nss-3.15.4-pem-support-20140109.patch.xz";
     sha256 = "10ibz6y0hknac15zr6dw4gv9nb5r5z9ym6gq18j3xqx7v7n3vpdw";
   };
-in stdenv.mkDerivation rec {
+in
+stdenv.mkDerivation rec {
   pname = "nss";
   version = "3.53.1";
 
@@ -44,55 +55,58 @@ in stdenv.mkDerivation rec {
     substituteInPlace nss/coreconf/config.gypi --replace "/usr/bin/grep" "${buildPackages.coreutils}/bin/env grep"
   '';
 
-  patches =
-    [
-      # Based on http://patch-tracker.debian.org/patch/series/dl/nss/2:3.15.4-1/85_security_load.patch
-      ./85_security_load.patch
-      ./ckpem.patch
-      ./fix-cross-compilation.patch
-    ];
+  patches = [
+    # Based on http://patch-tracker.debian.org/patch/series/dl/nss/2:3.15.4-1/85_security_load.patch
+    ./85_security_load.patch
+    ./ckpem.patch
+    ./fix-cross-compilation.patch
+  ];
 
   patchFlags = [ "-p0" ];
 
   postPatch = lib.optionalString stdenv.hostPlatform.isDarwin ''
-     substituteInPlace nss/coreconf/Darwin.mk --replace '@executable_path/$(notdir $@)' "$out/lib/\$(notdir \$@)"
-     substituteInPlace nss/coreconf/config.gypi --replace "'DYLIB_INSTALL_NAME_BASE': '@executable_path'" "'DYLIB_INSTALL_NAME_BASE': '$out/lib'"
-   '';
+    substituteInPlace nss/coreconf/Darwin.mk --replace '@executable_path/$(notdir $@)' "$out/lib/\$(notdir \$@)"
+    substituteInPlace nss/coreconf/config.gypi --replace "'DYLIB_INSTALL_NAME_BASE': '@executable_path'" "'DYLIB_INSTALL_NAME_BASE': '$out/lib'"
+  '';
 
   outputs = [ "out" "dev" "tools" ];
 
   preConfigure = "cd nss";
 
-  buildPhase = let
-    getArch = platform: if platform.isx86_64 then "x64"
-          else if platform.isx86_32 then "ia32"
-          else if platform.isAarch32 then "arm"
-          else if platform.isAarch64 then "arm64"
-          else if platform.isPower && platform.is64bit then (
+  buildPhase =
+    let
+      getArch = platform:
+        if platform.isx86_64 then "x64"
+        else if platform.isx86_32 then "ia32"
+        else if platform.isAarch32 then "arm"
+        else if platform.isAarch64 then "arm64"
+        else if platform.isPower && platform.is64bit then
+          (
             if platform.isLittleEndian then "ppc64le" else "ppc64"
           )
-          else platform.parsed.cpu.name;
-    # yes, this is correct. nixpkgs uses "host" for the platform the binary will run on whereas nss uses "host" for the platform that the build is running on
-    target = getArch stdenv.hostPlatform;
-    host = getArch stdenv.buildPlatform;
-  in ''
-    runHook preBuild
-
-    sed -i 's|nss_dist_dir="$dist_dir"|nss_dist_dir="'$out'"|;s|nss_dist_obj_dir="$obj_dir"|nss_dist_obj_dir="'$out'"|' build.sh
-    ./build.sh -v --opt \
-      --with-nspr=${nspr.dev}/include:${nspr.out}/lib \
-      --system-sqlite \
-      --enable-legacy-db \
-      --target ${target} \
-      -Dhost_arch=${host} \
-      -Duse_system_zlib=1 \
-      --enable-libpkix \
-      ${lib.optionalString enableFIPS "--enable-fips"} \
-      ${lib.optionalString stdenv.isDarwin "--clang"} \
-      ${lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) "--disable-tests"}
-
-    runHook postBuild
-  '';
+        else platform.parsed.cpu.name;
+      # yes, this is correct. nixpkgs uses "host" for the platform the binary will run on whereas nss uses "host" for the platform that the build is running on
+      target = getArch stdenv.hostPlatform;
+      host = getArch stdenv.buildPlatform;
+    in
+    ''
+      runHook preBuild
+
+      sed -i 's|nss_dist_dir="$dist_dir"|nss_dist_dir="'$out'"|;s|nss_dist_obj_dir="$obj_dir"|nss_dist_obj_dir="'$out'"|' build.sh
+      ./build.sh -v --opt \
+        --with-nspr=${nspr.dev}/include:${nspr.out}/lib \
+        --system-sqlite \
+        --enable-legacy-db \
+        --target ${target} \
+        -Dhost_arch=${host} \
+        -Duse_system_zlib=1 \
+        --enable-libpkix \
+        ${lib.optionalString enableFIPS "--enable-fips"} \
+        ${lib.optionalString stdenv.isDarwin "--clang"} \
+        ${lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) "--disable-tests"}
+
+      runHook postBuild
+    '';
 
   NIX_CFLAGS_COMPILE = "-Wno-error -DNIX_NSS_LIBDIR=\"${placeholder "out"}/lib/\"";
 
@@ -130,36 +144,38 @@ in stdenv.mkDerivation rec {
     chmod 0755 $out/bin/nss-config
   '';
 
-  postFixup = let
-    isCross = stdenv.hostPlatform != stdenv.buildPlatform;
-    nss = if isCross then buildPackages.nss.tools else "$out";
-  in
-  (lib.optionalString enableFIPS (''
-    for libname in freebl3 nssdbm3 softokn3
-    do '' +
+  postFixup =
+    let
+      isCross = stdenv.hostPlatform != stdenv.buildPlatform;
+      nss = if isCross then buildPackages.nss.tools else "$out";
+    in
+    (lib.optionalString enableFIPS (''
+      for libname in freebl3 nssdbm3 softokn3
+      do '' +
     (if stdenv.isDarwin
-     then ''
-       libfile="$out/lib/lib$libname.dylib"
-       DYLD_LIBRARY_PATH=$out/lib:${nspr.out}/lib \
-     '' else ''
-       libfile="$out/lib/lib$libname.so"
-       LD_LIBRARY_PATH=$out/lib:${nspr.out}/lib \
-     '') + ''
-        ${nss}/bin/shlibsign -v -i "$libfile"
-    done
-  '')) +
-  ''
-    moveToOutput bin "$tools"
-    moveToOutput bin/nss-config "$dev"
-    moveToOutput lib/libcrmf.a "$dev" # needed by firefox, for example
-    rm -f "$out"/lib/*.a
-
-    runHook postInstall
-  '';
+    then ''
+      libfile="$out/lib/lib$libname.dylib"
+      DYLD_LIBRARY_PATH=$out/lib:${nspr.out}/lib \
+    '' else ''
+      libfile="$out/lib/lib$libname.so"
+      LD_LIBRARY_PATH=$out/lib:${nspr.out}/lib \
+    '') + ''
+          ${nss}/bin/shlibsign -v -i "$libfile"
+      done
+    '')) +
+    ''
+      moveToOutput bin "$tools"
+      moveToOutput bin/nss-config "$dev"
+      moveToOutput lib/libcrmf.a "$dev" # needed by firefox, for example
+      rm -f "$out"/lib/*.a
+
+      runHook postInstall
+    '';
 
   meta = with lib; {
-    homepage = "https://developer.mozilla.org/en-US/docs/NSS";
+    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";
+    maintainers = with maintainers; [ ];
     license = licenses.mpl20;
     platforms = platforms.all;
   };
diff --git a/nixpkgs/pkgs/development/libraries/nss/default.nix b/nixpkgs/pkgs/development/libraries/nss/default.nix
index ced72d33e17d..2df6214ab091 100644
--- a/nixpkgs/pkgs/development/libraries/nss/default.nix
+++ b/nixpkgs/pkgs/development/libraries/nss/default.nix
@@ -1,7 +1,16 @@
-{ lib, stdenv, fetchurl, nspr, perl, zlib
-, sqlite, ninja
-, darwin, fixDarwinDylibNames, buildPackages
-, useP11kit ? true, p11-kit
+{ lib
+, stdenv
+, fetchurl
+, nspr
+, perl
+, zlib
+, sqlite
+, ninja
+, darwin
+, fixDarwinDylibNames
+, buildPackages
+, useP11kit ? true
+, p11-kit
 , # allow FIPS mode. Note that this makes the output non-reproducible.
   # https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/NSS_Tech_Notes/nss_tech_note6
   enableFIPS ? false
@@ -18,16 +27,16 @@ 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.67";
-  underscoreVersion = builtins.replaceStrings ["."] ["_"] version;
+  version = "3.68";
 
-in stdenv.mkDerivation rec {
+in
+stdenv.mkDerivation rec {
   pname = "nss";
   inherit version;
 
   src = fetchurl {
-    url = "mirror://mozilla/security/nss/releases/NSS_${underscoreVersion}_RTM/src/${pname}-${version}.tar.gz";
-    sha256 = "0zyfi27lbdz1bmk9dmsivcya4phx25rzlxqcnjab69yd928rlm7n";
+    url = "mirror://mozilla/security/nss/releases/NSS_${lib.replaceStrings [ "." ] [ "_" ] version}_RTM/src/${pname}-${version}.tar.gz";
+    sha256 = "0nvj7h2brcw21p1z99nrsxka056d0r1yy9nqqg0lw0w3mhnb60n4";
   };
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
@@ -56,55 +65,58 @@ in stdenv.mkDerivation rec {
     substituteInPlace nss/coreconf/config.gypi --replace "/usr/bin/grep" "${buildPackages.coreutils}/bin/env grep"
   '';
 
-  patches =
-    [
-      # Based on http://patch-tracker.debian.org/patch/series/dl/nss/2:3.15.4-1/85_security_load.patch
-      ./85_security_load.patch
-      ./ckpem.patch
-      ./fix-cross-compilation.patch
-    ];
+  patches = [
+    # Based on http://patch-tracker.debian.org/patch/series/dl/nss/2:3.15.4-1/85_security_load.patch
+    ./85_security_load.patch
+    ./ckpem.patch
+    ./fix-cross-compilation.patch
+  ];
 
   patchFlags = [ "-p0" ];
 
   postPatch = lib.optionalString stdenv.hostPlatform.isDarwin ''
-     substituteInPlace nss/coreconf/Darwin.mk --replace '@executable_path/$(notdir $@)' "$out/lib/\$(notdir \$@)"
-     substituteInPlace nss/coreconf/config.gypi --replace "'DYLIB_INSTALL_NAME_BASE': '@executable_path'" "'DYLIB_INSTALL_NAME_BASE': '$out/lib'"
-   '';
+    substituteInPlace nss/coreconf/Darwin.mk --replace '@executable_path/$(notdir $@)' "$out/lib/\$(notdir \$@)"
+    substituteInPlace nss/coreconf/config.gypi --replace "'DYLIB_INSTALL_NAME_BASE': '@executable_path'" "'DYLIB_INSTALL_NAME_BASE': '$out/lib'"
+  '';
 
   outputs = [ "out" "dev" "tools" ];
 
   preConfigure = "cd nss";
 
-  buildPhase = let
-    getArch = platform: if platform.isx86_64 then "x64"
-          else if platform.isx86_32 then "ia32"
-          else if platform.isAarch32 then "arm"
-          else if platform.isAarch64 then "arm64"
-          else if platform.isPower && platform.is64bit then (
+  buildPhase =
+    let
+      getArch = platform:
+        if platform.isx86_64 then "x64"
+        else if platform.isx86_32 then "ia32"
+        else if platform.isAarch32 then "arm"
+        else if platform.isAarch64 then "arm64"
+        else if platform.isPower && platform.is64bit then
+          (
             if platform.isLittleEndian then "ppc64le" else "ppc64"
           )
-          else platform.parsed.cpu.name;
-    # yes, this is correct. nixpkgs uses "host" for the platform the binary will run on whereas nss uses "host" for the platform that the build is running on
-    target = getArch stdenv.hostPlatform;
-    host = getArch stdenv.buildPlatform;
-  in ''
-    runHook preBuild
-
-    sed -i 's|nss_dist_dir="$dist_dir"|nss_dist_dir="'$out'"|;s|nss_dist_obj_dir="$obj_dir"|nss_dist_obj_dir="'$out'"|' build.sh
-    ./build.sh -v --opt \
-      --with-nspr=${nspr.dev}/include:${nspr.out}/lib \
-      --system-sqlite \
-      --enable-legacy-db \
-      --target ${target} \
-      -Dhost_arch=${host} \
-      -Duse_system_zlib=1 \
-      --enable-libpkix \
-      ${lib.optionalString enableFIPS "--enable-fips"} \
-      ${lib.optionalString stdenv.isDarwin "--clang"} \
-      ${lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) "--disable-tests"}
-
-    runHook postBuild
-  '';
+        else platform.parsed.cpu.name;
+      # yes, this is correct. nixpkgs uses "host" for the platform the binary will run on whereas nss uses "host" for the platform that the build is running on
+      target = getArch stdenv.hostPlatform;
+      host = getArch stdenv.buildPlatform;
+    in
+    ''
+      runHook preBuild
+
+      sed -i 's|nss_dist_dir="$dist_dir"|nss_dist_dir="'$out'"|;s|nss_dist_obj_dir="$obj_dir"|nss_dist_obj_dir="'$out'"|' build.sh
+      ./build.sh -v --opt \
+        --with-nspr=${nspr.dev}/include:${nspr.out}/lib \
+        --system-sqlite \
+        --enable-legacy-db \
+        --target ${target} \
+        -Dhost_arch=${host} \
+        -Duse_system_zlib=1 \
+        --enable-libpkix \
+        ${lib.optionalString enableFIPS "--enable-fips"} \
+        ${lib.optionalString stdenv.isDarwin "--clang"} \
+        ${lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) "--disable-tests"}
+
+      runHook postBuild
+    '';
 
   NIX_CFLAGS_COMPILE = "-Wno-error -DNIX_NSS_LIBDIR=\"${placeholder "out"}/lib/\" " + lib.optionalString stdenv.hostPlatform.is64bit "-DNSS_USE_64=1";
 
@@ -147,36 +159,38 @@ in stdenv.mkDerivation rec {
     ln -sf ${p11-kit}/lib/pkcs11/p11-kit-trust.so $out/lib/libnssckbi.so
   '';
 
-  postFixup = let
-    isCross = stdenv.hostPlatform != stdenv.buildPlatform;
-    nss = if isCross then buildPackages.nss.tools else "$out";
-  in
-  (lib.optionalString enableFIPS (''
-    for libname in freebl3 nssdbm3 softokn3
-    do '' +
+  postFixup =
+    let
+      isCross = stdenv.hostPlatform != stdenv.buildPlatform;
+      nss = if isCross then buildPackages.nss.tools else "$out";
+    in
+    (lib.optionalString enableFIPS (''
+      for libname in freebl3 nssdbm3 softokn3
+      do '' +
     (if stdenv.isDarwin
-     then ''
-       libfile="$out/lib/lib$libname.dylib"
-       DYLD_LIBRARY_PATH=$out/lib:${nspr.out}/lib \
-     '' else ''
-       libfile="$out/lib/lib$libname.so"
-       LD_LIBRARY_PATH=$out/lib:${nspr.out}/lib \
-     '') + ''
-        ${nss}/bin/shlibsign -v -i "$libfile"
-    done
-  '')) +
-  ''
-    moveToOutput bin "$tools"
-    moveToOutput bin/nss-config "$dev"
-    moveToOutput lib/libcrmf.a "$dev" # needed by firefox, for example
-    rm -f "$out"/lib/*.a
-
-    runHook postInstall
-  '';
+    then ''
+      libfile="$out/lib/lib$libname.dylib"
+      DYLD_LIBRARY_PATH=$out/lib:${nspr.out}/lib \
+    '' else ''
+      libfile="$out/lib/lib$libname.so"
+      LD_LIBRARY_PATH=$out/lib:${nspr.out}/lib \
+    '') + ''
+          ${nss}/bin/shlibsign -v -i "$libfile"
+      done
+    '')) +
+    ''
+      moveToOutput bin "$tools"
+      moveToOutput bin/nss-config "$dev"
+      moveToOutput lib/libcrmf.a "$dev" # needed by firefox, for example
+      rm -f "$out"/lib/*.a
+
+      runHook postInstall
+    '';
 
   meta = with lib; {
-    homepage = "https://developer.mozilla.org/en-US/docs/NSS";
+    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";
+    maintainers = with maintainers; [ ];
     license = licenses.mpl20;
     platforms = platforms.all;
   };
diff --git a/nixpkgs/pkgs/development/libraries/nss_wrapper/default.nix b/nixpkgs/pkgs/development/libraries/nss_wrapper/default.nix
index 0e08083c4d82..a4538aa370cc 100644
--- a/nixpkgs/pkgs/development/libraries/nss_wrapper/default.nix
+++ b/nixpkgs/pkgs/development/libraries/nss_wrapper/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, cmake, pkg-config }:
 
 stdenv.mkDerivation rec {
-  name = "nss_wrapper-1.1.11";
+  pname = "nss_wrapper";
+  version = "1.1.11";
 
   src = fetchurl {
-    url = "mirror://samba/cwrap/${name}.tar.gz";
+    url = "mirror://samba/cwrap/nss_wrapper-${version}.tar.gz";
     sha256 = "1q5l6w69yc71ly8gcbnkrcbnq6b64cbiiv99m0z5vn5lgwp36igv";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/nuraft/default.nix b/nixpkgs/pkgs/development/libraries/nuraft/default.nix
index f9ae9d5ffe64..232fdfc512f0 100644
--- a/nixpkgs/pkgs/development/libraries/nuraft/default.nix
+++ b/nixpkgs/pkgs/development/libraries/nuraft/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nuraft";
-  version = "1.2.0";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "eBay";
     repo = "NuRaft";
     rev = "v${version}";
-    sha256 = "sha256-1k+AWmpAiHcQVEB5kUaMtNWhOnTBnmJiNU8zL1J/PEk=";
+    sha256 = "sha256-Fyy9B5CXyMcDSOdqaeJ4ejo1svM90ESXuNL0rzsTZpE=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/nuspell/default.nix b/nixpkgs/pkgs/development/libraries/nuspell/default.nix
index c16305018d71..b7f438e9d072 100644
--- a/nixpkgs/pkgs/development/libraries/nuspell/default.nix
+++ b/nixpkgs/pkgs/development/libraries/nuspell/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nuspell";
-  version = "4.2.0";
+  version = "5.0.0";
 
   src = fetchFromGitHub {
     owner = "nuspell";
     repo = "nuspell";
     rev = "v${version}";
-    sha256 = "sha256-sQ3Q2+FOf2bXCKcgd6XvEb+QZzzDccs/4+CpJbEd1PQ=";
+    sha256 = "039ryhwfbbrrhavzyr999kngj10nk9n81i6qigxj6igfl4fzjy87";
   };
 
   nativeBuildInputs = [ cmake pkg-config pandoc ];
diff --git a/nixpkgs/pkgs/development/libraries/odpic/default.nix b/nixpkgs/pkgs/development/libraries/odpic/default.nix
index 251a3f9f55b8..9e4b01ef172c 100644
--- a/nixpkgs/pkgs/development/libraries/odpic/default.nix
+++ b/nixpkgs/pkgs/development/libraries/odpic/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchFromGitHub, fixDarwinDylibNames, oracle-instantclient, libaio }:
 
 let
-  version = "4.1.0";
+  version = "4.2.1";
   libPath = lib.makeLibraryPath [ oracle-instantclient.lib ];
 
 in stdenv.mkDerivation {
@@ -13,7 +13,7 @@ in stdenv.mkDerivation {
     owner = "oracle";
     repo = "odpi";
     rev = "v${version}";
-    sha256 = "1zk08z74q7njbj329xfy8aszphj27rqlkhsyglai60wfzl6mcf4x";
+    sha256 = "sha256-jdDMG6+bvsKQkHSpUrwtwU/ngq1iINcUhWu2b9lJgPY=";
   };
 
   nativeBuildInputs = lib.optional stdenv.isDarwin fixDarwinDylibNames;
diff --git a/nixpkgs/pkgs/development/libraries/oneDNN/default.nix b/nixpkgs/pkgs/development/libraries/oneDNN/default.nix
index cce17acbf0ac..42f05a656163 100644
--- a/nixpkgs/pkgs/development/libraries/oneDNN/default.nix
+++ b/nixpkgs/pkgs/development/libraries/oneDNN/default.nix
@@ -5,13 +5,13 @@
 # https://github.com/oneapi-src/oneDNN#oneapi-deep-neural-network-library-onednn
 stdenv.mkDerivation rec {
   pname = "oneDNN";
-  version = "2.2.1";
+  version = "2.3.2";
 
   src = fetchFromGitHub {
     owner = "oneapi-src";
     repo = "oneDNN";
     rev = "v${version}";
-    sha256 = "sha256-orsllgBt2EHuZOy9vkgDK3XT6BfbtyIPvO4REB9tAgs=";
+    sha256 = "sha256-sfTcBthrnt7m9AnzdwWl9yLu1jRpwUp8i9s9DlA3IJo=";
   };
 
   outputs = [ "out" "dev" "doc" ];
diff --git a/nixpkgs/pkgs/development/libraries/opendht/default.nix b/nixpkgs/pkgs/development/libraries/opendht/default.nix
index 7f4f186c923d..3cf29b7351e9 100644
--- a/nixpkgs/pkgs/development/libraries/opendht/default.nix
+++ b/nixpkgs/pkgs/development/libraries/opendht/default.nix
@@ -1,17 +1,17 @@
-{ lib, stdenv, fetchFromGitHub
+{ lib, stdenv, fetchFromGitHub, darwin
 , cmake, pkg-config
 , asio, nettle, gnutls, msgpack, readline, libargon2
 }:
 
 stdenv.mkDerivation rec {
   pname = "opendht";
-  version = "2.1.6";
+  version = "2.2.0";
 
   src = fetchFromGitHub {
     owner = "savoirfairelinux";
     repo = "opendht";
     rev = version;
-    sha256 = "0sjb2a3yqnabwgmmn8gapc1dq9m8vp9z8w85zhsj654i5h3gp6zv";
+    sha256 = "sha256-u4MWMUbnq2q4FH0TMpbrbhS5erAfT4/3HYGLXaLTz+I=";
   };
 
   nativeBuildInputs =
@@ -26,6 +26,8 @@ stdenv.mkDerivation rec {
       msgpack
       readline
       libargon2
+    ] ++ lib.optionals stdenv.isDarwin [
+      darwin.apple_sdk.frameworks.Security
     ];
 
   outputs = [ "out" "lib" "dev" "man" ];
@@ -35,6 +37,6 @@ stdenv.mkDerivation rec {
     homepage    = "https://github.com/savoirfairelinux/opendht";
     license     = licenses.gpl3Plus;
     maintainers = with maintainers; [ taeer olynch thoughtpolice ];
-    platforms   = platforms.linux;
+    platforms   = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/openexr/3.nix b/nixpkgs/pkgs/development/libraries/openexr/3.nix
new file mode 100644
index 000000000000..ee5e849f2eae
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/openexr/3.nix
@@ -0,0 +1,32 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, zlib
+, cmake
+, imath
+}:
+
+stdenv.mkDerivation rec {
+  pname = "openexr";
+  version = "3.1.1";
+
+  outputs = [ "bin" "dev" "out" "doc" ];
+
+  src = fetchFromGitHub {
+    owner = "AcademySoftwareFoundation";
+    repo = "openexr";
+    rev = "v${version}";
+    sha256 = "1p0l07vfpb25fx6jcgk1747v8x9xgpifx4cvvgi3g2473wlx6pyb";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  propagatedBuildInputs = [ imath zlib ];
+
+  meta = with lib; {
+    description = "A high dynamic-range (HDR) image file format";
+    homepage = "https://www.openexr.com/";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ paperdigits ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/openimagedenoise/default.nix b/nixpkgs/pkgs/development/libraries/openimagedenoise/default.nix
index 6547c321db70..c44dccbb5d51 100644
--- a/nixpkgs/pkgs/development/libraries/openimagedenoise/default.nix
+++ b/nixpkgs/pkgs/development/libraries/openimagedenoise/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "openimagedenoise";
-  version = "1.4.0";
+  version = "1.4.1";
 
   # The release tarballs include pretrained weights, which would otherwise need to be fetched with git-lfs
   src = fetchzip {
     url = "https://github.com/OpenImageDenoise/oidn/releases/download/v${version}/oidn-${version}.src.tar.gz";
-    sha256 = "sha256-UsiZT3ufRVo1BQ/md/A3CXpUfMPrJR1DhZg9hrjOG2A=";
+    sha256 = "sha256-TQ7cL0/6pnSTuW21DESA5I3S/C1BHStrWK9yaPoim6E=";
   };
 
   nativeBuildInputs = [ cmake python3 ispc ];
diff --git a/nixpkgs/pkgs/development/libraries/openssl/1.0.2/darwin64-arm64.patch b/nixpkgs/pkgs/development/libraries/openssl/1.0.2/darwin64-arm64.patch
new file mode 100644
index 000000000000..5ecfb4175569
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/openssl/1.0.2/darwin64-arm64.patch
@@ -0,0 +1,12 @@
+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/nixpkgs/pkgs/development/libraries/openssl/1.1/macos-yosemite-compat.patch b/nixpkgs/pkgs/development/libraries/openssl/1.1/macos-yosemite-compat.patch
new file mode 100644
index 000000000000..b0e37e325611
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/openssl/1.1/macos-yosemite-compat.patch
@@ -0,0 +1,56 @@
+From cef404f1e7a598166cbc2fd2e0048f7e2d752ad5 Mon Sep 17 00:00:00 2001
+From: David Carlier <devnexen@gmail.com>
+Date: Tue, 24 Aug 2021 22:40:14 +0100
+Subject: [PATCH] Darwin platform allows to build on releases before
+ Yosemite/ios 8.
+
+issue #16407 #16408
+---
+ crypto/rand/rand_unix.c |  5 +----
+ include/crypto/rand.h   | 10 ++++++++++
+ 2 files changed, 11 insertions(+), 4 deletions(-)
+
+diff --git a/crypto/rand/rand_unix.c b/crypto/rand/rand_unix.c
+index 43f1069d151d..0f4525106af7 100644
+--- a/crypto/rand/rand_unix.c
++++ b/crypto/rand/rand_unix.c
+@@ -34,9 +34,6 @@
+ #if defined(__OpenBSD__)
+ # include <sys/param.h>
+ #endif
+-#if defined(__APPLE__)
+-# include <CommonCrypto/CommonRandom.h>
+-#endif
+ 
+ #if defined(OPENSSL_SYS_UNIX) || defined(__DJGPP__)
+ # include <sys/types.h>
+@@ -381,7 +378,7 @@ static ssize_t syscall_random(void *buf, size_t buflen)
+         if (errno != ENOSYS)
+             return -1;
+     }
+-#  elif defined(__APPLE__)
++#  elif defined(OPENSSL_APPLE_CRYPTO_RANDOM)
+     if (CCRandomGenerateBytes(buf, buflen) == kCCSuccess)
+ 	    return (ssize_t)buflen;
+ 
+diff --git a/include/crypto/rand.h b/include/crypto/rand.h
+index 5350d3a93119..674f840fd13c 100644
+--- a/include/crypto/rand.h
++++ b/include/crypto/rand.h
+@@ -20,6 +20,16 @@
+ 
+ # include <openssl/rand.h>
+ 
++# if defined(__APPLE__) && !defined(OPENSSL_NO_APPLE_CRYPTO_RANDOM)
++#  include <Availability.h>
++#  if (defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101000) || \
++     (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 80000)
++#   define OPENSSL_APPLE_CRYPTO_RANDOM 1
++#   include <CommonCrypto/CommonCryptoError.h>
++#   include <CommonCrypto/CommonRandom.h>
++#  endif
++# endif
++
+ /* forward declaration */
+ typedef struct rand_pool_st RAND_POOL;
+ 
diff --git a/nixpkgs/pkgs/development/libraries/openssl/default.nix b/nixpkgs/pkgs/development/libraries/openssl/default.nix
index d4be8cc2428e..2d3f1c313caa 100644
--- a/nixpkgs/pkgs/development/libraries/openssl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/openssl/default.nix
@@ -185,19 +185,23 @@ in {
       (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 {
-    version = "1.1.1k";
-    sha256 = "1rdfzcrxy9y38wqdw5942vmdax9hjhgrprzxm42csal7p5shhal9";
+    version = "1.1.1l";
+    sha256 = "sha256-C3o+XlnDSCf+DDp0t+yLrvMCuY+oAIjX+RU6oW+na9E=";
     patches = [
       ./1.1/nix-ssl-cert-file.patch
 
       (if stdenv.hostPlatform.isDarwin
        then ./1.1/use-etc-ssl-certs-darwin.patch
        else ./1.1/use-etc-ssl-certs.patch)
+    ] ++ lib.optionals (stdenv.isDarwin) [
+      ./1.1/macos-yosemite-compat.patch
     ];
     withDocs = true;
   };
diff --git a/nixpkgs/pkgs/development/libraries/openxr-loader/default.nix b/nixpkgs/pkgs/development/libraries/openxr-loader/default.nix
index 452f72146d95..b4a2634867bc 100644
--- a/nixpkgs/pkgs/development/libraries/openxr-loader/default.nix
+++ b/nixpkgs/pkgs/development/libraries/openxr-loader/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "openxr-loader";
-  version = "1.0.14";
+  version = "1.0.19";
 
   src = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "OpenXR-SDK-Source";
     rev = "release-${version}";
-    sha256 = "sha256-ZmaxHm4MPd2q83PLduoavoynqRPEI79IpMfW32gkV14=";
+    sha256 = "sha256-LEXxqzHzTadgK2PV9Wiud9MzblDHdF4L5T4fVydRJW8=";
   };
 
   nativeBuildInputs = [ cmake python3 ];
diff --git a/nixpkgs/pkgs/development/libraries/optparse-bash/default.nix b/nixpkgs/pkgs/development/libraries/optparse-bash/default.nix
new file mode 100644
index 000000000000..811458ed187c
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/optparse-bash/default.nix
@@ -0,0 +1,63 @@
+{ stdenvNoCC
+, lib
+, fetchFromGitHub
+, bash
+, gnused
+, gawk
+, coreutils
+}:
+
+stdenvNoCC.mkDerivation {
+  pname = "optparse-bash-unstable";
+  version = "2021-06-13";
+
+  src = fetchFromGitHub {
+    owner = "nk412";
+    repo = "optparse";
+    rev = "d86ec17d15368e5b54eb2d47b001b0b61d68bbd0";
+    sha256 = "sha256-vs7Jo1+sV0tPse4Wu2xtzSX1IkahwLgO3e4Riz3uMmI=";
+  };
+
+  postPatch = ''
+    substituteInPlace optparse.bash \
+      --replace sed "${gnused}/bin/sed" \
+      --replace awk "${gawk}/bin/awk" \
+      --replace printf "${coreutils}/bin/printf"
+'';
+
+  dontBuild = true;
+
+  doCheck = true;
+
+  checkInputs = [ bash ];
+
+  # `#!/usr/bin/env` isn't okay for OfBorg
+  # Need external bash to run
+  checkPhase = ''
+    runHook preCheck
+    bash ./sample_head.sh -v --file README.md
+    runHook postCheck
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/bin
+    mv optparse.bash $out/bin/
+    mkdir -p $out/share/doc/optparse-bash
+    mv README.md sample_head.sh $out/share/doc/optparse-bash/
+    runHook postInstall
+  '';
+
+  # As example code,
+  # sample_head.sh shows how users can use opt-parse in their script,
+  # and its shebang (`/usr/bin/env bash`) should not be patched.
+  dontPatchShebangs = true;
+
+  meta = with lib; {
+    description = "A BASH wrapper for getopts, for simple command-line argument parsing";
+    homepage = "https://github.com/nk412/optparse";
+    license = licenses.mit;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ ShamrockLee ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/orcania/default.nix b/nixpkgs/pkgs/development/libraries/orcania/default.nix
index 157769c7772f..1058eaa1f631 100644
--- a/nixpkgs/pkgs/development/libraries/orcania/default.nix
+++ b/nixpkgs/pkgs/development/libraries/orcania/default.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, fetchFromGitHub, cmake, check, subunit }:
 stdenv.mkDerivation rec {
   pname = "orcania";
-  version = "2.2.0";
+  version = "2.2.1";
 
   src = fetchFromGitHub {
     owner = "babelouest";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-tArXiXmoWHd42IGBZKtc4QJIBy3USPlSeW+Dv5xl1EU=";
+    sha256 = "sha256-6Libn+S5c7sCmKGq8KojiUhI18zO37rgiiVwQxP3p4o=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/p11-kit/default.nix b/nixpkgs/pkgs/development/libraries/p11-kit/default.nix
index 5e99c644ebef..681b60e16de4 100644
--- a/nixpkgs/pkgs/development/libraries/p11-kit/default.nix
+++ b/nixpkgs/pkgs/development/libraries/p11-kit/default.nix
@@ -1,16 +1,16 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, pkg-config, which
+{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, which
 , gettext, libffi, libiconv, libtasn1
 }:
 
 stdenv.mkDerivation rec {
   pname = "p11-kit";
-  version = "0.23.22";
+  version = "0.24.0";
 
   src = fetchFromGitHub {
     owner = "p11-glue";
     repo = pname;
     rev = version;
-    sha256 = "sha256-erWqElJr0iESNUk9EZiJRmSMYhns8GxuFLNw7mIIIWs=";
+    sha256 = "sha256-jvUzOhMvbq05SxQ+kjKQHDDMzNwo4U6nFHu3JjygJHw=";
   };
 
   outputs = [ "out" "dev"];
diff --git a/nixpkgs/pkgs/development/libraries/pcl/default.nix b/nixpkgs/pkgs/development/libraries/pcl/default.nix
index 2b2763b5a05d..d940d0518155 100644
--- a/nixpkgs/pkgs/development/libraries/pcl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/pcl/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchpatch
 , wrapQtAppsHook
 , cmake
 , qhull
@@ -18,28 +17,20 @@
 , Cocoa
 , AGL
 , OpenGL
+, withCuda ? false, cudatoolkit
 }:
 
 stdenv.mkDerivation rec {
   pname = "pcl";
-  version = "1.11.1";
+  version = "1.12.0";
 
   src = fetchFromGitHub {
     owner = "PointCloudLibrary";
     repo = "pcl";
     rev = "${pname}-${version}";
-    sha256 = "1cli2rxqsk6nxp36p5mgvvahjz8hm4fb68yi8cf9nw4ygbcvcwb1";
+    sha256 = "0jhvciaw43y6iqqk7hyxnfhn1b4bsw5fpy04s01r5pkcsjjbdbqc";
   };
 
-  patches = [
-    # Support newer QHull versions (2020.2)
-    # Backport of https://github.com/PointCloudLibrary/pcl/pull/4540
-    (fetchpatch {
-      url = "https://raw.githubusercontent.com/conda-forge/pcl-feedstock/0b1eff402994a3fb891b44659c261e7e85c8d915/recipe/4540.patch";
-      sha256 = "0hhvw6ajigzrarn95aicni73zd3sdgnb8rc3wgjrrg19xs84z138";
-    })
-  ];
-
   nativeBuildInputs = [ pkg-config cmake wrapQtAppsHook ];
   buildInputs = [
     qhull
@@ -53,11 +44,12 @@ stdenv.mkDerivation rec {
     qtbase
     libXt
   ]
-  ++ lib.optionals stdenv.isDarwin [ Cocoa AGL ];
+  ++ lib.optionals stdenv.isDarwin [ Cocoa AGL ]
+  ++ lib.optionals withCuda [ cudatoolkit ];
 
   cmakeFlags = lib.optionals stdenv.isDarwin [
     "-DOPENGL_INCLUDE_DIR=${OpenGL}/Library/Frameworks"
-  ];
+  ] ++ lib.optionals withCuda [ "-DWITH_CUDA=true" ];
 
   meta = {
     homepage = "https://pointclouds.org/";
diff --git a/nixpkgs/pkgs/development/libraries/pdal/default.nix b/nixpkgs/pkgs/development/libraries/pdal/default.nix
index 42e05d5d7ff4..2d971444416c 100644
--- a/nixpkgs/pkgs/development/libraries/pdal/default.nix
+++ b/nixpkgs/pkgs/development/libraries/pdal/default.nix
@@ -20,13 +20,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pdal";
-  version = "2.2.0";
+  version = "2.3.0";
 
   src = fetchFromGitHub {
     owner = "PDAL";
     repo = "PDAL";
     rev = version;
-    sha256 = "1i7nbfvv60jjlf3iq7a7xci4dycmg2wrd35dqvjwl6hpfynpb6wz";
+    sha256 = "sha256-DKIraCyp8fcgnVp5dFrtQ4Wq96cQGC9SiAPLS6htUZc=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/phonon/backends/vlc.nix b/nixpkgs/pkgs/development/libraries/phonon/backends/vlc.nix
index b874c2e1d01d..8ff0f3bb4917 100644
--- a/nixpkgs/pkgs/development/libraries/phonon/backends/vlc.nix
+++ b/nixpkgs/pkgs/development/libraries/phonon/backends/vlc.nix
@@ -3,22 +3,13 @@
 , debug ? false
 }:
 
-with lib;
-
 stdenv.mkDerivation rec {
   pname = "phonon-backend-vlc";
-  version = "0.11.1";
-
-  meta = with lib; {
-    homepage = "https://phonon.kde.org/";
-    description = "GStreamer backend for Phonon";
-    platforms = platforms.linux;
-    license = with licenses; [ bsd3 lgpl2Plus ];
-  };
+  version = "0.11.2";
 
   src = fetchurl {
     url = "mirror://kde/stable/phonon/${pname}/${version}/${pname}-${version}.tar.xz";
-    sha256 = "1vp52i5996khpxs233an7mlrzdji50gcs58ig8nrwfwlgyb1xnfc";
+    sha256 = "sha256-xsM7/GjRN/DlegKeS3mMu5D1Svb3Ma9JZ3hXeRzNU6U=";
   };
 
   buildInputs = [
@@ -40,4 +31,11 @@ stdenv.mkDerivation rec {
   cmakeFlags = [
     "-DCMAKE_BUILD_TYPE=${if debug then "Debug" else "Release"}"
   ];
+
+  meta = with lib; {
+    homepage = "https://phonon.kde.org/";
+    description = "GStreamer backend for Phonon";
+    platforms = platforms.linux;
+    license = with licenses; [ bsd3 lgpl2Plus ];
+  };
 }
diff --git a/nixpkgs/pkgs/development/libraries/physics/fastnlo_toolkit/default.nix b/nixpkgs/pkgs/development/libraries/physics/fastnlo_toolkit/default.nix
index d6cbe7cc4dd0..fae2ff5a0f22 100644
--- a/nixpkgs/pkgs/development/libraries/physics/fastnlo_toolkit/default.nix
+++ b/nixpkgs/pkgs/development/libraries/physics/fastnlo_toolkit/default.nix
@@ -1,31 +1,41 @@
 { lib
 , stdenv
-, fetchurl
+, fetchFromGitLab
 , autoreconfHook
 , boost
 , gfortran
 , lhapdf
 , ncurses
-, python
+, perl
+, python ? null
 , swig
 , yoda
 , zlib
 , withPython ? false
 }:
 
+let
+  tag = "2823";
+in
+
 stdenv.mkDerivation rec {
   pname = "fastnlo_toolkit";
-  version = "2.3.1pre-2411";
+  version = "2.5.0pre-${tag}";
 
-  src = fetchurl {
-    urls = [
-      "https://fastnlo.hepforge.org/code/v23/${pname}-${version}.tar.gz"
-      "https://sid.ethz.ch/debian/fastnlo/${pname}-${version}.tar.gz"
-    ];
-    sha256 = "0fm9k732pmi3prbicj2yaq815nmcjll95fagjqzf542ng3swpqnb";
-  };
+  src = fetchFromGitLab {
+    domain = "gitlab.etp.kit.edu";
+    owner = "qcd-public";
+    repo = "fastNLO";
+    rev = tag;
+    hash = "sha256-FEKnEnK90tT4BJJ6MLva9lCl3aYzO1YGdx/8Ol2vM7M=";
+  } + /v2.5/toolkit;
+
+  postPatch = ''
+    # remove duplicate macro, to fix for autoconf 2.70
+    sed -e '0,/AC_CONFIG_MACRO_DIR\([m4]\)/{/AC_CONFIG_MACRO_DIR/d}' -i configure.ac
+  '';
 
-  nativeBuildInputs = lib.optional withPython autoreconfHook;
+  nativeBuildInputs = [ autoreconfHook ];
 
   buildInputs = [
     boost
@@ -51,6 +61,16 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  doCheck = true;
+  checkInputs = [
+    perl
+    lhapdf.pdf_sets.CT10nlo
+  ];
+  preCheck = ''
+    patchShebangs --build check
+  '';
+  enableParallelChecking = false;
+
   meta = with lib; {
     homepage = "http://fastnlo.hepforge.org";
     description = "Fast pQCD calculations for hadron-induced processes";
@@ -68,5 +88,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ veprbl ];
     platforms = platforms.unix;
+    broken = stdenv.isAarch64; # failing test "fnlo-tk-stattest.pl"
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/pipewire/default.nix b/nixpkgs/pkgs/development/libraries/pipewire/default.nix
index 5f32216737ef..ed22eb6c6838 100644
--- a/nixpkgs/pkgs/development/libraries/pipewire/default.nix
+++ b/nixpkgs/pkgs/development/libraries/pipewire/default.nix
@@ -27,20 +27,29 @@
 , callPackage
 , nixosTests
 , withMediaSession ? true
-, gstreamerSupport ? true, gst_all_1 ? null
-, ffmpegSupport ? true, ffmpeg ? null
-, bluezSupport ? true, bluez ? null, sbc ? null, libopenaptx ? null, ldacbt ? null, fdk_aac ? null
+, gstreamerSupport ? true
+, gst_all_1 ? null
+, ffmpegSupport ? true
+, ffmpeg ? null
+, bluezSupport ? true
+, bluez ? null
+, sbc ? null
+, libfreeaptx ? null
+, ldacbt ? null
+, fdk_aac ? null
 , nativeHspSupport ? true
 , nativeHfpSupport ? true
 , ofonoSupport ? true
 , hsphfpdSupport ? true
-, pulseTunnelSupport ? true, libpulseaudio ? null
-, zeroconfSupport ? true, avahi ? null
+, pulseTunnelSupport ? true
+, libpulseaudio ? null
+, zeroconfSupport ? true
+, avahi ? null
 }:
 
 let
   fontsConf = makeFontsConf {
-    fontDirectories = [];
+    fontDirectories = [ ];
   };
 
   mesonEnable = b: if b then "enabled" else "disabled";
@@ -48,7 +57,7 @@ let
 
   self = stdenv.mkDerivation rec {
     pname = "pipewire";
-    version = "0.3.31";
+    version = "0.3.34";
 
     outputs = [
       "out"
@@ -66,7 +75,7 @@ let
       owner = "pipewire";
       repo = "pipewire";
       rev = version;
-      sha256 = "1dirz69ami7bcgy6hhh0ffi9gzwcy9idg94nvknwvwkjw4zm8m79";
+      sha256 = "sha256-ZFARA7YuDnpObGLWbgy1Rk+wzmAxHEMuHQkb6tWD0s0=";
     };
 
     patches = [
@@ -110,7 +119,7 @@ let
       systemd
     ] ++ lib.optionals gstreamerSupport [ gst_all_1.gst-plugins-base gst_all_1.gstreamer ]
     ++ lib.optional ffmpegSupport ffmpeg
-    ++ lib.optionals bluezSupport [ bluez libopenaptx ldacbt sbc fdk_aac ]
+    ++ lib.optionals bluezSupport [ bluez libfreeaptx ldacbt sbc fdk_aac ]
     ++ lib.optional pulseTunnelSupport libpulseaudio
     ++ lib.optional zeroconfSupport avahi;
 
@@ -209,8 +218,9 @@ let
       homepage = "https://pipewire.org/";
       license = licenses.mit;
       platforms = platforms.linux;
-      maintainers = with maintainers; [ jtojnar ];
+      maintainers = with maintainers; [ jtojnar kranzes ];
     };
   };
 
-in self
+in
+self
diff --git a/nixpkgs/pkgs/development/libraries/plasma-wayland-protocols/default.nix b/nixpkgs/pkgs/development/libraries/plasma-wayland-protocols/default.nix
index ea02eb428db1..fff25d5bb44f 100644
--- a/nixpkgs/pkgs/development/libraries/plasma-wayland-protocols/default.nix
+++ b/nixpkgs/pkgs/development/libraries/plasma-wayland-protocols/default.nix
@@ -5,11 +5,11 @@
 
 mkDerivation rec {
   pname = "plasma-wayland-protocols";
-  version = "1.2.1";
+  version = "1.3.0";
 
   src = fetchurl {
-    url = "mirror://kde/stable/${pname}/${pname}-v${version}.tar.xz";
-    sha256 = "sha256-KHuQkD+afzlMdedcsYdCaGLq9kqS8b5+LvaOmf2Muqo=";
+    url = "mirror://kde/stable/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "sha256-DaojYvLg0V954OAG6NfxkI6I43tcUgi0DJyw1NbcqbU=";
   };
 
   nativeBuildInputs = [ extra-cmake-modules ];
diff --git a/nixpkgs/pkgs/development/libraries/portaudio/default.nix b/nixpkgs/pkgs/development/libraries/portaudio/default.nix
index 840c9e773f49..9a43d5a921e5 100644
--- a/nixpkgs/pkgs/development/libraries/portaudio/default.nix
+++ b/nixpkgs/pkgs/development/libraries/portaudio/default.nix
@@ -23,7 +23,9 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--disable-mac-universal" "--enable-cxx" ];
 
-  NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-error=deprecated-declarations -Wno-error=implicit-const-int-float-conversion -Wno-error=nullability-completeness-on-arrays";
+  postConfigure = ''
+    substituteInPlace Makefile --replace "-Werror" ""
+  '';
 
   propagatedBuildInputs = lib.optionals stdenv.isDarwin [ AudioUnit AudioToolbox CoreAudio CoreServices Carbon ];
 
diff --git a/nixpkgs/pkgs/development/libraries/portmidi/default.nix b/nixpkgs/pkgs/development/libraries/portmidi/default.nix
index 0151d461c139..2b8f006a7558 100644
--- a/nixpkgs/pkgs/development/libraries/portmidi/default.nix
+++ b/nixpkgs/pkgs/development/libraries/portmidi/default.nix
@@ -1,14 +1,18 @@
-{ lib, stdenv, fetchurl, unzip, cmake, /*jdk,*/ alsa-lib }:
+{ lib, stdenv, fetchurl, unzip, cmake, /*jdk,*/ alsa-lib, Carbon, CoreAudio, CoreFoundation, CoreMIDI, CoreServices }:
 
 stdenv.mkDerivation rec {
   pname = "portmidi";
-  version = "217";
+  version = "234";
 
   src = fetchurl {
-    url = "mirror://sourceforge/portmedia/portmidi-src-${version}.zip";
-    sha256 = "03rfsk7z6rdahq2ihy5k13qjzgx757f75yqka88v3gc0pn9ais88";
+    url = "mirror://sourceforge/portmedia/portmedia-code-r${version}.zip";
+    sha256 = "1g7i8hgarihycadbgy2f7lifiy5cbc0mcrcazmwnmbbh1bqx6dyp";
   };
 
+  prePatch = ''
+    cd portmidi/trunk
+  '';
+
   cmakeFlags = let
     #base = "${jdk}/jre/lib/${jdk.architecture}";
   in [
@@ -20,14 +24,31 @@ stdenv.mkDerivation rec {
     "-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY=Release"
     "-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=Release"
     "-DCMAKE_RUNTIME_OUTPUT_DIRECTORY=Release"
+  ] ++ lib.optionals stdenv.isDarwin [
+    "-DCMAKE_OSX_ARCHITECTURES=${if stdenv.isAarch64 then "arm64" else "x86_64"}"
+    "-DCOREAUDIO_LIB=${CoreAudio}"
+    "-DCOREFOUNDATION_LIB=${CoreFoundation}"
+    "-DCOREMIDI_LIB=${CoreMIDI}"
+    "-DCORESERVICES_LIB=${CoreServices}"
+  ];
+
+  NIX_LDFLAGS = lib.optionalString stdenv.isDarwin [
+    "-framework CoreAudio"
+    "-framework CoreFoundation"
+    "-framework CoreMIDI"
+    "-framework CoreServices"
   ];
 
-  # XXX: This is to deactivate Java support.
-  patches = lib.singleton (fetchurl {
-    url = "https://raw.github.com/Rogentos/argent-gentoo/master/media-libs/"
-        + "portmidi/files/portmidi-217-cmake-libdir-java-opts.patch";
-    sha256 = "1jbjwan61iqq9fqfpq2a4fd30k3clg7a6j0gfgsw87r8c76kqf6h";
-  });
+  patches = [
+    # XXX: This is to deactivate Java support.
+    (fetchurl {
+      url = "https://raw.github.com/Rogentos/argent-gentoo/master/media-libs/portmidi/files/portmidi-217-cmake-libdir-java-opts.patch";
+      sha256 = "1jbjwan61iqq9fqfpq2a4fd30k3clg7a6j0gfgsw87r8c76kqf6h";
+    })
+  ] ++ lib.optionals stdenv.isDarwin [
+    # Remove hardcoded variables so we can set them properly
+    ./remove-darwin-variables.diff
+  ];
 
   postPatch = ''
     sed -i -e 's|/usr/local/|'"$out"'|' -e 's|/usr/share/|'"$out"'/share/|' \
@@ -40,19 +61,24 @@ stdenv.mkDerivation rec {
         pm_java/CMakeLists.txt
   '';
 
-  postInstall = ''
-    ln -s libportmidi.so "$out/lib/libporttime.so"
+  postInstall = let ext = stdenv.hostPlatform.extensions.sharedLibrary; in ''
+    ln -s libportmidi${ext} "$out/lib/libporttime${ext}"
   '';
 
   nativeBuildInputs = [ unzip cmake ];
-  buildInputs = [ alsa-lib ];
+  buildInputs = lib.optionals stdenv.isLinux [
+    alsa-lib
+  ] ++ lib.optionals stdenv.isDarwin [
+    Carbon CoreAudio CoreFoundation CoreMIDI CoreServices
+  ];
 
   hardeningDisable = [ "format" ];
 
-  meta = {
+  meta = with lib; {
     homepage = "http://portmedia.sourceforge.net/portmidi/";
     description = "Platform independent library for MIDI I/O";
-    license = lib.licenses.mit;
-    platforms = lib.platforms.linux;
+    license = licenses.mit;
+    maintainers = with maintainers; [ angustrau ];
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/portmidi/remove-darwin-variables.diff b/nixpkgs/pkgs/development/libraries/portmidi/remove-darwin-variables.diff
new file mode 100644
index 000000000000..15ed874f172f
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/portmidi/remove-darwin-variables.diff
@@ -0,0 +1,52 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 4919b78..758eccb 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -36,8 +36,6 @@ set(CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "Unused")
+ set(CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "Unused")
+ set(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "Unused")
+ 
+-set(CMAKE_OSX_ARCHITECTURES i386 ppc x86_64 CACHE STRING "change to needed architecture for a smaller library" FORCE)
+-
+ PROJECT(portmidi)
+ 
+ if(UNIX)
+diff --git a/pm_common/CMakeLists.txt b/pm_common/CMakeLists.txt
+index cbeeade..f765430 100644
+--- a/pm_common/CMakeLists.txt
++++ b/pm_common/CMakeLists.txt
+@@ -22,7 +22,7 @@ else(APPLE OR WIN32)
+ endif(APPLE OR WIN32)
+ 
+ if(APPLE)
+-  set(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX10.6.sdk CACHE 
++  set(CMAKE_OSX_SYSROOT / CACHE 
+       PATH "-isysroot parameter for compiler")
+   set(CMAKE_C_FLAGS "-mmacosx-version-min=10.6" CACHE 
+       STRING "needed in conjunction with CMAKE_OSX_SYSROOT" FORCE)
+@@ -54,10 +54,6 @@ if(UNIX)
+ 
+     include_directories(${CMAKE_OSX_SYSROOT}/Developer/Headers/FlatCarbon)
+     set(FRAMEWORK_PATH ${CMAKE_OSX_SYSROOT}/System/Library/Frameworks)
+-    set(COREAUDIO_LIB "${FRAMEWORK_PATH}/CoreAudio.framework")
+-    set(COREFOUNDATION_LIB "${FRAMEWORK_PATH}/CoreFoundation.framework")
+-    set(COREMIDI_LIB "${FRAMEWORK_PATH}/CoreMIDI.framework")
+-    set(CORESERVICES_LIB "${FRAMEWORK_PATH}/CoreServices.framework")
+     set(PM_NEEDED_LIBS ${COREAUDIO_LIB} ${COREFOUNDATION_LIB}
+                              ${COREMIDI_LIB} ${CORESERVICES_LIB}
+         CACHE INTERNAL "")
+diff --git a/pm_dylib/CMakeLists.txt b/pm_dylib/CMakeLists.txt
+index f693dd6..1dc5cd6 100644
+--- a/pm_dylib/CMakeLists.txt
++++ b/pm_dylib/CMakeLists.txt
+@@ -49,10 +49,6 @@ if(UNIX)
+ 
+     include_directories(${CMAKE_OSX_SYSROOT}/Developer/Headers/FlatCarbon)
+     set(FRAMEWORK_PATH ${CMAKE_OSX_SYSROOT}/System/Library/Frameworks)
+-    set(COREAUDIO_LIB "${FRAMEWORK_PATH}/CoreAudio.framework")
+-    set(COREFOUNDATION_LIB "${FRAMEWORK_PATH}/CoreFoundation.framework")
+-    set(COREMIDI_LIB "${FRAMEWORK_PATH}/CoreMIDI.framework")
+-    set(CORESERVICES_LIB "${FRAMEWORK_PATH}/CoreServices.framework")
+     set(PM_NEEDED_LIBS ${COREAUDIO_LIB} ${COREFOUNDATION_LIB}
+                              ${COREMIDI_LIB} ${CORESERVICES_LIB}
+         CACHE INTERNAL "")
diff --git a/nixpkgs/pkgs/development/libraries/precice/default.nix b/nixpkgs/pkgs/development/libraries/precice/default.nix
index c3c75e2413f0..68084eb52b3b 100644
--- a/nixpkgs/pkgs/development/libraries/precice/default.nix
+++ b/nixpkgs/pkgs/development/libraries/precice/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "precice";
-  version = "2.2.0";
+  version = "2.2.1";
 
   src = fetchFromGitHub {
     owner = "precice";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-AQc+p/twsfkzwpWeznGpLLSqINKSrWCwH+PdNIrdYA8=";
+    sha256 = "sha256-XEdrKhxG0dhsfJH6glrzc+JZeCgPEVIswj0ofP838lg=";
   };
 
   cmakeFlags = [
diff --git a/nixpkgs/pkgs/development/libraries/pugixml/default.nix b/nixpkgs/pkgs/development/libraries/pugixml/default.nix
index 14ef8130431a..57335fa3d970 100644
--- a/nixpkgs/pkgs/development/libraries/pugixml/default.nix
+++ b/nixpkgs/pkgs/development/libraries/pugixml/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pugixml";
-  version = "1.11.1";
+  version = "1.11.4";
 
   src = fetchFromGitHub {
     owner = "zeux";
     repo = "pugixml";
     rev = "v${version}";
-    sha256 = "0iwn627wynrqrwb2ddm38p6y6cpgcavgbkrrxwxa0d26m9v2avpr";
+    sha256 = "sha256-pXadPs2Dlht3BMNYDVxWZqnVv0umDgYVcqH5YVxr+uA=";
   };
 
   outputs = if shared then [ "out" "dev" ] else [ "out" ];
diff --git a/nixpkgs/pkgs/development/libraries/pupnp/default.nix b/nixpkgs/pkgs/development/libraries/pupnp/default.nix
index 4b80b7ba5a76..2c5c6c263484 100644
--- a/nixpkgs/pkgs/development/libraries/pupnp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/pupnp/default.nix
@@ -6,7 +6,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libupnp";
-  version = "1.14.6";
+  version = "1.14.10";
 
   outputs = [ "out" "dev" ];
 
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     owner = "pupnp";
     repo = "pupnp";
     rev = "release-${version}";
-    sha256 = "1f9861q5dicp6rx3jnp1j788xfjfaf3k4620p9r0b0k0lj2gk38c";
+    sha256 = "sha256-QlV5V1+VPj/C0M3XgwVIJbxzVXfSvP6yMcJz9al6a+U=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/qgnomeplatform/default.nix b/nixpkgs/pkgs/development/libraries/qgnomeplatform/default.nix
index e3bb938f5f8f..bfb1859ba655 100644
--- a/nixpkgs/pkgs/development/libraries/qgnomeplatform/default.nix
+++ b/nixpkgs/pkgs/development/libraries/qgnomeplatform/default.nix
@@ -2,12 +2,12 @@
 , lib
 , fetchFromGitHub
 , nix-update-script
+, cmake
 , pkg-config
-, gtk3
+, adwaita-qt
 , glib
+, gtk3
 , qtbase
-, qmake
-, qtx11extras
 , pantheon
 , substituteAll
 , gsettings-desktop-schemas
@@ -15,13 +15,13 @@
 
 mkDerivation rec {
   pname = "qgnomeplatform";
-  version = "0.6.1";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "FedoraQt";
     repo = "QGnomePlatform";
     rev = version;
-    sha256 = "1mwqg2zk0sfjq54vz2jjahbgi5sxw8rb71h6mgg459wp99mhlqi0";
+    sha256 = "C/n8i5j0UWfxhP10c4j89U+LrpPozXnam4fIPYMXZAA=";
   };
 
   patches = [
@@ -33,24 +33,21 @@ mkDerivation rec {
   ];
 
   nativeBuildInputs = [
+    cmake
     pkg-config
-    qmake
   ];
 
   buildInputs = [
+    adwaita-qt
     glib
     gtk3
     qtbase
-    qtx11extras
   ];
 
-  postPatch = ''
-    # Fix plugin dir
-    substituteInPlace decoration/decoration.pro \
-      --replace "\$\$[QT_INSTALL_PLUGINS]" "$out/$qtPluginPrefix"
-    substituteInPlace theme/theme.pro \
-      --replace "\$\$[QT_INSTALL_PLUGINS]" "$out/$qtPluginPrefix"
-  '';
+  cmakeFlags = [
+    "-DGLIB_SCHEMAS_DIR=${glib.getSchemaPath gsettings-desktop-schemas}"
+    "-DQT_PLUGINS_DIR=${placeholder "out"}/${qtbase.qtPluginPrefix}"
+  ];
 
   passthru = {
     updateScript = nix-update-script {
diff --git a/nixpkgs/pkgs/development/libraries/qgnomeplatform/hardcode-gsettings.patch b/nixpkgs/pkgs/development/libraries/qgnomeplatform/hardcode-gsettings.patch
index 9b342d7cf832..40f7f98f25c7 100644
--- a/nixpkgs/pkgs/development/libraries/qgnomeplatform/hardcode-gsettings.patch
+++ b/nixpkgs/pkgs/development/libraries/qgnomeplatform/hardcode-gsettings.patch
@@ -1,13 +1,14 @@
-diff --git a/common/gnomehintssettings.cpp b/common/gnomehintssettings.cpp
-index 9860e57..40fa6ec 100644
---- a/common/gnomehintssettings.cpp
-+++ b/common/gnomehintssettings.cpp
-@@ -80,9 +80,17 @@ void gtkMessageHandler(const gchar *log_domain,
- GnomeHintsSettings::GnomeHintsSettings()
-     : QObject(0)
+diff --git a/src/common/gnomesettings.cpp b/src/common/gnomesettings.cpp
+index 717cc9b..ee255ea 100644
+--- a/src/common/gnomesettings.cpp
++++ b/src/common/gnomesettings.cpp
+@@ -150,10 +150,18 @@ GnomeSettingsPrivate::GnomeSettingsPrivate(QObject *parent)
+     : GnomeSettings(parent)
      , m_usePortal(checkUsePortalSupport())
+     , m_canUseFileChooserPortal(!m_usePortal)
 -    , m_gnomeDesktopSettings(g_settings_new("org.gnome.desktop.wm.preferences"))
 -    , m_settings(g_settings_new("org.gnome.desktop.interface"))
+     , m_fallbackFont(new QFont(QLatin1String("Sans"), 10))
  {
 +    g_autoptr(GSettingsSchemaSource) schemaSource = nullptr;
 +    g_autoptr(GSettingsSchema) gnomeDesktopSchema = nullptr;
diff --git a/nixpkgs/pkgs/development/libraries/qmlbox2d/default.nix b/nixpkgs/pkgs/development/libraries/qmlbox2d/default.nix
index fe0616b7d7a9..e1e69b9f10b4 100644
--- a/nixpkgs/pkgs/development/libraries/qmlbox2d/default.nix
+++ b/nixpkgs/pkgs/development/libraries/qmlbox2d/default.nix
@@ -9,7 +9,6 @@ stdenv.mkDerivation {
     rev = "b7212d5640701f93f0cd88fbd3a32c619030ae62";
   };
 
-  enableParallelBuilding = true;
   dontWrapQtApps = true;
   nativeBuildInputs = [ qmake ];
 
diff --git a/nixpkgs/pkgs/development/libraries/qmltermwidget/default.nix b/nixpkgs/pkgs/development/libraries/qmltermwidget/default.nix
index 7914af08df6d..bd6ebbd8e375 100644
--- a/nixpkgs/pkgs/development/libraries/qmltermwidget/default.nix
+++ b/nixpkgs/pkgs/development/libraries/qmltermwidget/default.nix
@@ -30,8 +30,6 @@ stdenv.mkDerivation {
 
   installFlags = [ "INSTALL_ROOT=$(out)" ];
 
-  enableParallelBuilding = true;
-
   dontWrapQtApps = true;
 
   meta = {
diff --git a/nixpkgs/pkgs/development/libraries/qpdf/default.nix b/nixpkgs/pkgs/development/libraries/qpdf/default.nix
index e00694958f5a..637335b86291 100644
--- a/nixpkgs/pkgs/development/libraries/qpdf/default.nix
+++ b/nixpkgs/pkgs/development/libraries/qpdf/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "qpdf";
-  version = "10.3.1";
+  version = "10.3.2";
 
   src = fetchFromGitHub {
     owner = "qpdf";
     repo = "qpdf";
     rev = "release-qpdf-${version}";
-    sha256 = "sha256-iZUJjr9e+d90XA8YEFFwyRR0HjgPgBi6V5gIpVQMcV8=";
+    sha256 = "sha256-fhn6hE/MLYiaOxZYfaVcj17V+h8Yvn18QTewS0rPIXE=";
   };
 
   nativeBuildInputs = [ perl ];
diff --git a/nixpkgs/pkgs/development/libraries/qrcodegen/default.nix b/nixpkgs/pkgs/development/libraries/qrcodegen/default.nix
index 80ce9e1d0f85..0ad42c1fc4d7 100644
--- a/nixpkgs/pkgs/development/libraries/qrcodegen/default.nix
+++ b/nixpkgs/pkgs/development/libraries/qrcodegen/default.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, fetchFromGitHub }:
 stdenv.mkDerivation rec {
   pname = "qrcodegen";
-  version = "1.6.0";
+  version = "1.7.0";
 
   src = fetchFromGitHub {
     owner = "nayuki";
     repo = "QR-Code-generator";
     rev = "v${version}";
-    sha256 = "0iq9sv9na0vg996aqrxrjn9rrbiyy7sc9vslw945p3ky22pw3lql";
+    sha256 = "sha256-WH6O3YE/+NNznzl52TXZYL+6O25GmKSnaFqDDhRl4As=";
   };
 
   preBuild = "cd c";
diff --git a/nixpkgs/pkgs/development/libraries/qscintilla/default.nix b/nixpkgs/pkgs/development/libraries/qscintilla/default.nix
index 28c16e325350..fc2ef6c09a63 100644
--- a/nixpkgs/pkgs/development/libraries/qscintilla/default.nix
+++ b/nixpkgs/pkgs/development/libraries/qscintilla/default.nix
@@ -34,7 +34,6 @@ in stdenv.mkDerivation rec {
     ln -s $out/lib/libqscintilla2_qt?.so $out/lib/libqscintilla2.so
   '';
 
-  enableParallelBuilding = true;
   dontWrapQtApps = true;
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/libraries/qt-4.x/4.8/default.nix b/nixpkgs/pkgs/development/libraries/qt-4.x/4.8/default.nix
index ed93d86a1979..5856e0b84b5c 100644
--- a/nixpkgs/pkgs/development/libraries/qt-4.x/4.8/default.nix
+++ b/nixpkgs/pkgs/development/libraries/qt-4.x/4.8/default.nix
@@ -229,7 +229,7 @@ stdenv.mkDerivation rec {
   dontStrip = stdenv.hostPlatform != stdenv.buildPlatform;
 
   meta = {
-    homepage    = "http://qt-project.org/";
+    homepage    = "https://qt-project.org/";
     description = "A cross-platform application framework for C++";
     license     = lib.licenses.lgpl21Plus; # or gpl3
     maintainers = with lib.maintainers; [ orivej lovek323 phreedom sander ];
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.12/default.nix b/nixpkgs/pkgs/development/libraries/qt-5/5.12/default.nix
index 77b8c3f525a2..0f5eb19474e4 100644
--- a/nixpkgs/pkgs/development/libraries/qt-5/5.12/default.nix
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.12/default.nix
@@ -14,21 +14,18 @@ top-level attribute to `top-level/all-packages.nix`.
 
 */
 
-{
-  newScope,
-  lib, stdenv, fetchurl, fetchpatch, fetchFromGitHub, makeSetupHook, makeWrapper,
-  bison, cups ? null, harfbuzz, libGL, perl,
-  gstreamer, gst-plugins-base, gtk3, dconf,
-  llvmPackages_5,
+{ newScope
+, lib, stdenv, fetchurl, fetchpatch, fetchFromGitHub, makeSetupHook, makeWrapper
+, bison, cups ? null, harfbuzz, libGL, perl
+, gstreamer, gst-plugins-base, gtk3, dconf
+, llvmPackages_5, darwin
 
   # options
-  developerBuild ? false,
-  decryptSslTraffic ? false,
-  debug ? false,
+, developerBuild ? false
+, decryptSslTraffic ? false
+, debug ? false
 }:
 
-with lib;
-
 let
 
   qtCompatVersion = srcs.qtbase.version;
@@ -50,31 +47,30 @@ let
   };
 
   patches = {
-    qtbase =
-      [
-        ./qtbase.patch.d/0001-qtbase-mkspecs-mac.patch
-        ./qtbase.patch.d/0002-qtbase-mac.patch
-        ./qtbase.patch.d/0013-define-kiosurfacesuccess.patch
-
-        # Patch framework detection to support X.framework/X.tbd,
-        # extending the current support for X.framework/X.
-        ./qtbase.patch.d/0015-qtbase-tbd-frameworks.patch
-
-        ./qtbase.patch.d/0003-qtbase-mkspecs.patch
-        ./qtbase.patch.d/0004-qtbase-replace-libdir.patch
-        ./qtbase.patch.d/0005-qtbase-cmake.patch
-        ./qtbase.patch.d/0006-qtbase-gtk3.patch
-        ./qtbase.patch.d/0007-qtbase-xcursor.patch
-        ./qtbase.patch.d/0008-qtbase-xcompose.patch
-        ./qtbase.patch.d/0009-qtbase-tzdir.patch
-        ./qtbase.patch.d/0010-qtbase-qtpluginpath.patch
-        ./qtbase.patch.d/0011-qtbase-assert.patch
-        ./qtbase.patch.d/0012-fix-header_module.patch
-
-        # Ensure -I${includedir} is added to Cflags in pkg-config files.
-        # See https://github.com/NixOS/nixpkgs/issues/52457
-        ./qtbase.patch.d/0014-qtbase-pkg-config.patch
-      ];
+    qtbase = [
+      ./qtbase.patch.d/0001-qtbase-mkspecs-mac.patch
+      ./qtbase.patch.d/0002-qtbase-mac.patch
+      ./qtbase.patch.d/0013-define-kiosurfacesuccess.patch
+
+      # Patch framework detection to support X.framework/X.tbd,
+      # extending the current support for X.framework/X.
+      ./qtbase.patch.d/0015-qtbase-tbd-frameworks.patch
+
+      ./qtbase.patch.d/0003-qtbase-mkspecs.patch
+      ./qtbase.patch.d/0004-qtbase-replace-libdir.patch
+      ./qtbase.patch.d/0005-qtbase-cmake.patch
+      ./qtbase.patch.d/0006-qtbase-gtk3.patch
+      ./qtbase.patch.d/0007-qtbase-xcursor.patch
+      ./qtbase.patch.d/0008-qtbase-xcompose.patch
+      ./qtbase.patch.d/0009-qtbase-tzdir.patch
+      ./qtbase.patch.d/0010-qtbase-qtpluginpath.patch
+      ./qtbase.patch.d/0011-qtbase-assert.patch
+      ./qtbase.patch.d/0012-fix-header_module.patch
+
+      # Ensure -I${includedir} is added to Cflags in pkg-config files.
+      # See https://github.com/NixOS/nixpkgs/issues/52457
+      ./qtbase.patch.d/0014-qtbase-pkg-config.patch
+    ];
     qtdeclarative = [ ./qtdeclarative.patch ];
     qtlocation = [ ./qtlocation-gcc-9.patch ];
     qtscript = [ ./qtscript.patch ];
@@ -131,6 +127,8 @@ let
       callPackage = self.newScope { inherit qtCompatVersion qtModule srcs; };
     in {
 
+      inherit callPackage qtCompatVersion qtModule srcs;
+
       mkDerivationWith =
         import ../mkDerivation.nix
         { inherit lib; inherit debug; inherit (self) wrapQtAppsHook; };
@@ -143,8 +141,12 @@ let
         inherit bison cups harfbuzz libGL;
         withGtk3 = true; inherit dconf gtk3;
         inherit debug developerBuild decryptSslTraffic;
+        inherit (darwin.apple_sdk.frameworks) AGL AppKit ApplicationServices Carbon Cocoa CoreAudio CoreBluetooth
+          CoreLocation CoreServices DiskArbitration Foundation OpenGL MetalKit IOKit;
+        inherit (darwin) libobjc;
       };
 
+      qt3d = callPackage ../modules/qt3d.nix {};
       qtcharts = callPackage ../modules/qtcharts.nix {};
       qtconnectivity = callPackage ../modules/qtconnectivity.nix {};
       qtdeclarative = callPackage ../modules/qtdeclarative.nix {};
@@ -173,23 +175,33 @@ let
       qtvirtualkeyboard = callPackage ../modules/qtvirtualkeyboard.nix {};
       qtwayland = callPackage ../modules/qtwayland.nix {};
       qtwebchannel = callPackage ../modules/qtwebchannel.nix {};
-      qtwebengine = callPackage ../modules/qtwebengine.nix {};
+      qtwebengine = callPackage ../modules/qtwebengine.nix {
+        inherit (darwin) cctools libobjc libunwind xnu;
+        inherit (darwin.apple_sdk.libs) sandbox;
+        inherit (darwin.apple_sdk.frameworks) ApplicationServices AVFoundation Foundation ForceFeedback GameController AppKit
+          ImageCaptureCore CoreBluetooth IOBluetooth CoreWLAN Quartz Cocoa LocalAuthentication;
+      };
       qtwebglplugin = callPackage ../modules/qtwebglplugin.nix {};
-      qtwebkit = callPackage ../modules/qtwebkit.nix {};
+      qtwebkit = callPackage ../modules/qtwebkit.nix {
+        inherit (darwin) ICU;
+        inherit (darwin.apple_sdk.frameworks) OpenGL;
+      };
       qtwebsockets = callPackage ../modules/qtwebsockets.nix {};
-      qtwebview = callPackage ../modules/qtwebview.nix {};
+      qtwebview = callPackage ../modules/qtwebview.nix {
+        inherit (darwin.apple_sdk.frameworks) CoreFoundation WebKit;
+      };
       qtx11extras = callPackage ../modules/qtx11extras.nix {};
       qtxmlpatterns = callPackage ../modules/qtxmlpatterns.nix {};
 
       env = callPackage ../qt-env.nix {};
       full = env "qt-full-${qtbase.version}" ([
-        qtcharts qtconnectivity qtdeclarative qtdoc qtgamepad qtgraphicaleffects
+        qt3d qtcharts qtconnectivity qtdeclarative qtdoc qtgamepad qtgraphicaleffects
         qtimageformats qtlocation qtmultimedia qtquickcontrols qtquickcontrols2
         qtscript qtsensors qtserialport qtsvg qttools qttranslations
         qtvirtualkeyboard qtwebchannel qtwebengine qtwebkit qtwebsockets
         qtwebview qtx11extras qtxmlpatterns
-      ] ++ optional (!stdenv.isDarwin) qtwayland
-        ++ optional (stdenv.isDarwin) qtmacextras);
+      ] ++ lib.optional (!stdenv.isDarwin) qtwayland
+        ++ lib.optional (stdenv.isDarwin) qtmacextras);
 
       qmake = makeSetupHook {
         deps = [ self.qtbase.dev ];
@@ -200,12 +212,11 @@ let
       } ../hooks/qmake-hook.sh;
 
       wrapQtAppsHook = makeSetupHook {
-        deps =
-          [ self.qtbase.dev makeWrapper ]
-          ++ optional stdenv.isLinux self.qtwayland.dev;
+        deps = [ self.qtbase.dev makeWrapper ]
+          ++ lib.optional stdenv.isLinux self.qtwayland.dev;
       } ../hooks/wrap-qt-apps-hook.sh;
     };
 
-   self = makeScope newScope addPackages;
+   self = lib.makeScope newScope addPackages;
 
 in self
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.14/default.nix b/nixpkgs/pkgs/development/libraries/qt-5/5.14/default.nix
index 02b170e0eb17..c12a20dd4daf 100644
--- a/nixpkgs/pkgs/development/libraries/qt-5/5.14/default.nix
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.14/default.nix
@@ -14,21 +14,18 @@ top-level attribute to `top-level/all-packages.nix`.
 
 */
 
-{
-  newScope,
-  lib, stdenv, fetchurl, fetchpatch, fetchFromGitHub, makeSetupHook, makeWrapper,
-  bison, cups ? null, harfbuzz, libGL, perl,
-  gstreamer, gst-plugins-base, gtk3, dconf,
-  llvmPackages_5,
+{ newScope
+, lib, stdenv, fetchurl, fetchpatch, fetchFromGitHub, makeSetupHook, makeWrapper
+, bison, cups ? null, harfbuzz, libGL, perl
+, gstreamer, gst-plugins-base, gtk3, dconf
+, llvmPackages_5, darwin
 
   # options
-  developerBuild ? false,
-  decryptSslTraffic ? false,
-  debug ? false,
+, developerBuild ? false
+, decryptSslTraffic ? false
+, debug ? false
 }:
 
-with lib;
-
 let
 
   qtCompatVersion = srcs.qtbase.version;
@@ -51,29 +48,27 @@ let
   };
 
   patches = {
-    qtbase =
-      optionals stdenv.isDarwin [
-        ./qtbase.patch.d/0001-qtbase-mkspecs-mac.patch
-
-        # Downgrade minimal required SDK to 10.12
-        ./qtbase.patch.d/0013-define-kiosurfacesuccess.patch
-        ./qtbase.patch.d/qtbase-sdk-10.12-mac.patch
-
-        # Patch framework detection to support X.framework/X.tbd,
-        # extending the current support for X.framework/X.
-        ./qtbase.patch.d/0012-qtbase-tbd-frameworks.patch
-      ]
-      ++ [
-        ./qtbase.patch.d/0003-qtbase-mkspecs.patch
-        ./qtbase.patch.d/0004-qtbase-replace-libdir.patch
-        ./qtbase.patch.d/0005-qtbase-cmake.patch
-        ./qtbase.patch.d/0006-qtbase-gtk3.patch
-        ./qtbase.patch.d/0007-qtbase-xcursor.patch
-        ./qtbase.patch.d/0008-qtbase-tzdir.patch
-        ./qtbase.patch.d/0009-qtbase-qtpluginpath.patch
-        ./qtbase.patch.d/0010-qtbase-assert.patch
-        ./qtbase.patch.d/0011-fix-header_module.patch
-      ];
+    qtbase = lib.optionals stdenv.isDarwin [
+      ./qtbase.patch.d/0001-qtbase-mkspecs-mac.patch
+
+      # Downgrade minimal required SDK to 10.12
+      ./qtbase.patch.d/0013-define-kiosurfacesuccess.patch
+      ./qtbase.patch.d/qtbase-sdk-10.12-mac.patch
+
+      # Patch framework detection to support X.framework/X.tbd,
+      # extending the current support for X.framework/X.
+      ./qtbase.patch.d/0012-qtbase-tbd-frameworks.patch
+    ] ++ [
+      ./qtbase.patch.d/0003-qtbase-mkspecs.patch
+      ./qtbase.patch.d/0004-qtbase-replace-libdir.patch
+      ./qtbase.patch.d/0005-qtbase-cmake.patch
+      ./qtbase.patch.d/0006-qtbase-gtk3.patch
+      ./qtbase.patch.d/0007-qtbase-xcursor.patch
+      ./qtbase.patch.d/0008-qtbase-tzdir.patch
+      ./qtbase.patch.d/0009-qtbase-qtpluginpath.patch
+      ./qtbase.patch.d/0010-qtbase-assert.patch
+      ./qtbase.patch.d/0011-fix-header_module.patch
+    ];
     qtdeclarative = [ ./qtdeclarative.patch ];
     qtlocation = [ ./qtlocation-gcc-9.patch ];
     qtscript = [ ./qtscript.patch ];
@@ -103,8 +98,7 @@ let
         stripLen = 1;
         extraPrefix = "src/3rdparty/";
       })
-    ]
-      ++ optional stdenv.isDarwin ./qtwebengine-darwin-no-platform-check.patch;
+    ] ++ lib.optional stdenv.isDarwin ./qtwebengine-darwin-no-platform-check.patch;
     qtwebkit = [
       (fetchpatch {
         name = "qtwebkit-bison-3.7-build.patch";
@@ -118,7 +112,7 @@ let
       })
       ./qtwebkit.patch
       ./qtwebkit-icu68.patch
-    ] ++ optionals stdenv.isDarwin [
+    ] ++ lib.optionals stdenv.isDarwin [
       ./qtwebkit-darwin-no-readline.patch
       ./qtwebkit-darwin-no-qos-classes.patch
     ];
@@ -145,6 +139,8 @@ let
       callPackage = self.newScope { inherit qtCompatVersion qtModule srcs; };
     in {
 
+      inherit callPackage qtCompatVersion qtModule srcs;
+
       mkDerivationWith =
         import ../mkDerivation.nix
         { inherit lib; inherit debug; inherit (self) wrapQtAppsHook; };
@@ -157,8 +153,12 @@ let
         inherit bison cups harfbuzz libGL;
         withGtk3 = true; inherit dconf gtk3;
         inherit debug developerBuild decryptSslTraffic;
+        inherit (darwin.apple_sdk.frameworks) AGL AppKit ApplicationServices Carbon Cocoa CoreAudio CoreBluetooth
+          CoreLocation CoreServices DiskArbitration Foundation OpenGL MetalKit IOKit;
+        inherit (darwin) libobjc;
       };
 
+      qt3d = callPackage ../modules/qt3d.nix {};
       qtcharts = callPackage ../modules/qtcharts.nix {};
       qtconnectivity = callPackage ../modules/qtconnectivity.nix {};
       qtdeclarative = callPackage ../modules/qtdeclarative.nix {};
@@ -185,23 +185,33 @@ let
       qtvirtualkeyboard = callPackage ../modules/qtvirtualkeyboard.nix {};
       qtwayland = callPackage ../modules/qtwayland.nix {};
       qtwebchannel = callPackage ../modules/qtwebchannel.nix {};
-      qtwebengine = callPackage ../modules/qtwebengine.nix {};
+      qtwebengine = callPackage ../modules/qtwebengine.nix {
+        inherit (darwin) cctools libobjc libunwind xnu;
+        inherit (darwin.apple_sdk.libs) sandbox;
+        inherit (darwin.apple_sdk.frameworks) ApplicationServices AVFoundation Foundation ForceFeedback GameController AppKit
+          ImageCaptureCore CoreBluetooth IOBluetooth CoreWLAN Quartz Cocoa LocalAuthentication;
+      };
       qtwebglplugin = callPackage ../modules/qtwebglplugin.nix {};
-      qtwebkit = callPackage ../modules/qtwebkit.nix {};
+      qtwebkit = callPackage ../modules/qtwebkit.nix {
+        inherit (darwin) ICU;
+        inherit (darwin.apple_sdk.frameworks) OpenGL;
+      };
       qtwebsockets = callPackage ../modules/qtwebsockets.nix {};
-      qtwebview = callPackage ../modules/qtwebview.nix {};
+      qtwebview = callPackage ../modules/qtwebview.nix {
+        inherit (darwin.apple_sdk.frameworks) CoreFoundation WebKit;
+      };
       qtx11extras = callPackage ../modules/qtx11extras.nix {};
       qtxmlpatterns = callPackage ../modules/qtxmlpatterns.nix {};
 
       env = callPackage ../qt-env.nix {};
       full = env "qt-full-${qtbase.version}" ([
-        qtcharts qtconnectivity qtdeclarative qtdoc qtgraphicaleffects
+        qt3d qtcharts qtconnectivity qtdeclarative qtdoc qtgraphicaleffects
         qtimageformats qtlocation qtmultimedia qtquickcontrols qtquickcontrols2
         qtscript qtsensors qtserialport qtsvg qttools qttranslations
         qtvirtualkeyboard qtwebchannel qtwebengine qtwebkit qtwebsockets
         qtwebview qtx11extras qtxmlpatterns
-      ] ++ optional (!stdenv.isDarwin) qtwayland
-        ++ optional (stdenv.isDarwin) qtmacextras);
+      ] ++ lib.optional (!stdenv.isDarwin) qtwayland
+        ++ lib.optional (stdenv.isDarwin) qtmacextras);
 
       qmake = makeSetupHook {
         deps = [ self.qtbase.dev ];
@@ -212,12 +222,11 @@ let
       } ../hooks/qmake-hook.sh;
 
       wrapQtAppsHook = makeSetupHook {
-        deps =
-          [ self.qtbase.dev makeWrapper ]
-          ++ optional stdenv.isLinux self.qtwayland.dev;
+        deps = [ self.qtbase.dev makeWrapper ]
+          ++ lib.optional stdenv.isLinux self.qtwayland.dev;
       } ../hooks/wrap-qt-apps-hook.sh;
     };
 
-   self = makeScope newScope addPackages;
+   self = lib.makeScope newScope addPackages;
 
 in self
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.15/default.nix b/nixpkgs/pkgs/development/libraries/qt-5/5.15/default.nix
index 5d8688cfdc75..3b8540ca68fe 100644
--- a/nixpkgs/pkgs/development/libraries/qt-5/5.15/default.nix
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.15/default.nix
@@ -14,21 +14,18 @@ top-level attribute to `top-level/all-packages.nix`.
 
 */
 
-{
-  newScope,
-  lib, stdenv, fetchurl, fetchpatch, fetchgit, fetchFromGitHub, makeSetupHook, makeWrapper,
-  bison, cups ? null, harfbuzz, libGL, perl,
-  gstreamer, gst-plugins-base, gtk3, dconf,
-  llvmPackages_5,
+{ newScope
+, lib, stdenv, fetchurl, fetchgit, fetchpatch, fetchFromGitHub, makeSetupHook, makeWrapper
+, bison, cups ? null, harfbuzz, libGL, perl
+, gstreamer, gst-plugins-base, gtk3, dconf
+, llvmPackages_5, darwin
 
   # options
-  developerBuild ? false,
-  decryptSslTraffic ? false,
-  debug ? false,
+, developerBuild ? false
+, decryptSslTraffic ? false
+, debug ? false
 }:
 
-with lib;
-
 let
 
   qtCompatVersion = srcs.qtbase.version;
@@ -49,25 +46,21 @@ let
       version = "5.212.0-alpha4";
     };
 
-    # Even if developed in the public, QtWebEngine does not have official
-    # releases or new tags since the Qt company made 5.15.3 proprietary.
-    # Apparently they care more about licensing than the security of their users.
-    # See https://lists.qt-project.org/pipermail/interest/2021-March/036387.html
     qtwebengine =
       let
-        branchName = "5.15.3";
-        rev = "a059e7404a6db799f4da0ad696e65ae9c854b4b0";
+        branchName = "5.15.5";
+        rev = "v${branchName}-lts";
       in
       {
         version = "${branchName}-${lib.substring 0 7 rev}";
 
         src = fetchgit {
           url = "https://github.com/qt/qtwebengine.git";
-          sha256 = "1vdgxfbmx4z4qrm2g61dl64gqn3fv5f83jwpp7h1gyfx5z2qvfmv";
+          sha256 = "12wf30d34sgn82mbz91xybxyn3j1mhvxda452cfkxm232n1f2kjb";
           inherit rev branchName;
           fetchSubmodules = true;
           leaveDotGit = true;
-          name = "qtwebengine-${substring 0 7 rev}.tar.gz";
+          name = "qtwebengine-${lib.substring 0 7 rev}.tar.gz";
           postFetch = ''
             # remove submodule .git directory
             rm -rf $out/src/3rdparty/.git
@@ -87,51 +80,49 @@ let
   };
 
   patches = {
-    qtbase =
-      optionals stdenv.isDarwin [
-        ./qtbase.patch.d/0001-qtbase-mkspecs-mac.patch
-
-        # Downgrade minimal required SDK to 10.12
-        ./qtbase.patch.d/0013-define-kiosurfacesuccess.patch
-        ./qtbase.patch.d/macos-sdk-10.12/0001-Revert-QCocoaDrag-set-image-only-on-the-first-drag-i.patch
-        ./qtbase.patch.d/macos-sdk-10.12/0002-Revert-QCocoaDrag-drag-make-sure-clipboard-is-ours-a.patch
-        ./qtbase.patch.d/macos-sdk-10.12/0003-Revert-QCocoaDrag-maybeDragMultipleItems-fix-erroneo.patch
-        ./qtbase.patch.d/macos-sdk-10.12/0004-Revert-QCocoaDrag-avoid-using-the-deprecated-API-if-.patch
-        ./qtbase.patch.d/macos-sdk-10.12/0005-Revert-macOS-Fix-use-of-deprecated-NSOffState.patch
-        ./qtbase.patch.d/macos-sdk-10.12/0006-git-checkout-v5.15.0-src-plugins-platforms-cocoa-qco.patch
-        ./qtbase.patch.d/qtbase-sdk-10.12-mac.patch
-
-        # Patch framework detection to support X.framework/X.tbd,
-        # extending the current support for X.framework/X.
-        ./qtbase.patch.d/0012-qtbase-tbd-frameworks.patch
-      ]
-      ++ [
-        ./qtbase.patch.d/0003-qtbase-mkspecs.patch
-        ./qtbase.patch.d/0004-qtbase-replace-libdir.patch
-        ./qtbase.patch.d/0005-qtbase-cmake.patch
-        ./qtbase.patch.d/0006-qtbase-gtk3.patch
-        ./qtbase.patch.d/0007-qtbase-xcursor.patch
-        ./qtbase.patch.d/0008-qtbase-tzdir.patch
-        ./qtbase.patch.d/0009-qtbase-qtpluginpath.patch
-        ./qtbase.patch.d/0010-qtbase-assert.patch
-        ./qtbase.patch.d/0011-fix-header_module.patch
-      ];
+    qtbase = lib.optionals stdenv.isDarwin [
+      ./qtbase.patch.d/0001-qtbase-mkspecs-mac.patch
+
+      # Downgrade minimal required SDK to 10.12
+      ./qtbase.patch.d/0013-define-kiosurfacesuccess.patch
+      ./qtbase.patch.d/macos-sdk-10.12/0001-Revert-QCocoaDrag-set-image-only-on-the-first-drag-i.patch
+      ./qtbase.patch.d/macos-sdk-10.12/0002-Revert-QCocoaDrag-drag-make-sure-clipboard-is-ours-a.patch
+      ./qtbase.patch.d/macos-sdk-10.12/0003-Revert-QCocoaDrag-maybeDragMultipleItems-fix-erroneo.patch
+      ./qtbase.patch.d/macos-sdk-10.12/0004-Revert-QCocoaDrag-avoid-using-the-deprecated-API-if-.patch
+      ./qtbase.patch.d/macos-sdk-10.12/0005-Revert-macOS-Fix-use-of-deprecated-NSOffState.patch
+      ./qtbase.patch.d/macos-sdk-10.12/0006-git-checkout-v5.15.0-src-plugins-platforms-cocoa-qco.patch
+      ./qtbase.patch.d/qtbase-sdk-10.12-mac.patch
+
+      # Patch framework detection to support X.framework/X.tbd,
+      # extending the current support for X.framework/X.
+      ./qtbase.patch.d/0012-qtbase-tbd-frameworks.patch
+    ] ++ [
+      ./qtbase.patch.d/0003-qtbase-mkspecs.patch
+      ./qtbase.patch.d/0004-qtbase-replace-libdir.patch
+      ./qtbase.patch.d/0005-qtbase-cmake.patch
+      ./qtbase.patch.d/0006-qtbase-gtk3.patch
+      ./qtbase.patch.d/0007-qtbase-xcursor.patch
+      ./qtbase.patch.d/0008-qtbase-tzdir.patch
+      ./qtbase.patch.d/0009-qtbase-qtpluginpath.patch
+      ./qtbase.patch.d/0010-qtbase-assert.patch
+      ./qtbase.patch.d/0011-fix-header_module.patch
+      (fetchpatch { # This can be removed when https://codereview.qt-project.org/c/qt/qtbase/+/339323 is included in an release.
+        name = "0014-gcc11-compat.patch";
+        url = "https://codereview.qt-project.org/gitweb?p=qt/qtbase.git;a=patch;h=049e14870c13235cd066758f29c42dc96c1ccdf8";
+        sha256 = "1cb2hwi859hds0fa2cbap014qaa7mah9p0rcxcm2cvj2ybl33qfc";
+      })
+    ];
     qtdeclarative = [ ./qtdeclarative.patch ];
     qtscript = [ ./qtscript.patch ];
     qtserialport = [ ./qtserialport.patch ];
     qtwebengine = [
-      # Fix crashes with non en_US.UTF-8 locales
-      (fetchpatch {
-        url = "https://github.com/qt/qtwebengine/commit/199ea00a9eea13315a652c62778738629185b059.patch";
-        sha256 = "1b5k2g1v8913cvsgvp6ja4mcprjlk5vcwqzi0p1qq7b1wyi4f0g2";
-      })
       # Fix invisible fonts with glibc 2.33: https://github.com/NixOS/nixpkgs/issues/131074
       (fetchpatch {
         url = "https://src.fedoraproject.org/rpms/qt5-qtwebengine/raw/d122c011631137b79455850c363676c655cf9e09/f/qtwebengine-everywhere-src-5.15.5-%231904652.patch";
         name = "qtwebengine-everywhere-src-5.15.5-_1904652.patch";
         sha256 = "01q7hagq0ysii1jnrh5adm97vdm9cis592xr6im7accyw6hgcn7b";
       })
-    ] ++ optionals stdenv.isDarwin [
+    ] ++ lib.optionals stdenv.isDarwin [
       ./qtwebengine-darwin-no-platform-check.patch
       ./qtwebengine-mac-dont-set-dsymutil-path.patch
     ];
@@ -148,7 +139,7 @@ let
       })
       ./qtwebkit.patch
       ./qtwebkit-icu68.patch
-    ] ++ optionals stdenv.isDarwin [
+    ] ++ lib.optionals stdenv.isDarwin [
       ./qtwebkit-darwin-no-readline.patch
       ./qtwebkit-darwin-no-qos-classes.patch
     ];
@@ -174,6 +165,8 @@ let
       callPackage = self.newScope { inherit qtCompatVersion qtModule srcs; };
     in {
 
+      inherit callPackage qtCompatVersion qtModule srcs;
+
       mkDerivationWith =
         import ../mkDerivation.nix
         { inherit lib; inherit debug; inherit (self) wrapQtAppsHook; };
@@ -186,8 +179,12 @@ let
         inherit bison cups harfbuzz libGL;
         withGtk3 = true; inherit dconf gtk3;
         inherit developerBuild decryptSslTraffic;
+        inherit (darwin.apple_sdk.frameworks) AGL AppKit ApplicationServices Carbon Cocoa CoreAudio CoreBluetooth
+          CoreLocation CoreServices DiskArbitration Foundation OpenGL MetalKit IOKit;
+        inherit (darwin) libobjc;
       };
 
+      qt3d = callPackage ../modules/qt3d.nix {};
       qtcharts = callPackage ../modules/qtcharts.nix {};
       qtconnectivity = callPackage ../modules/qtconnectivity.nix {};
       qtdeclarative = callPackage ../modules/qtdeclarative.nix {};
@@ -206,6 +203,7 @@ let
       qtquickcontrols2 = callPackage ../modules/qtquickcontrols2.nix {};
       qtscript = callPackage ../modules/qtscript.nix {};
       qtsensors = callPackage ../modules/qtsensors.nix {};
+      qtserialbus = callPackage ../modules/qtserialbus.nix {};
       qtserialport = callPackage ../modules/qtserialport.nix {};
       qtspeech = callPackage ../modules/qtspeech.nix {};
       qtsvg = callPackage ../modules/qtsvg.nix {};
@@ -217,23 +215,32 @@ let
       qtwebchannel = callPackage ../modules/qtwebchannel.nix {};
       qtwebengine = callPackage ../modules/qtwebengine.nix {
         inherit (srcs.qtwebengine) version;
+        inherit (darwin) cctools libobjc libunwind xnu;
+        inherit (darwin.apple_sdk.libs) sandbox;
+        inherit (darwin.apple_sdk.frameworks) ApplicationServices AVFoundation Foundation ForceFeedback GameController AppKit
+          ImageCaptureCore CoreBluetooth IOBluetooth CoreWLAN Quartz Cocoa LocalAuthentication;
       };
       qtwebglplugin = callPackage ../modules/qtwebglplugin.nix {};
-      qtwebkit = callPackage ../modules/qtwebkit.nix {};
+      qtwebkit = callPackage ../modules/qtwebkit.nix {
+        inherit (darwin) ICU;
+        inherit (darwin.apple_sdk.frameworks) OpenGL;
+      };
       qtwebsockets = callPackage ../modules/qtwebsockets.nix {};
-      qtwebview = callPackage ../modules/qtwebview.nix {};
+      qtwebview = callPackage ../modules/qtwebview.nix {
+        inherit (darwin.apple_sdk.frameworks) CoreFoundation WebKit;
+      };
       qtx11extras = callPackage ../modules/qtx11extras.nix {};
       qtxmlpatterns = callPackage ../modules/qtxmlpatterns.nix {};
 
       env = callPackage ../qt-env.nix {};
       full = env "qt-full-${qtbase.version}" ([
-        qtcharts qtconnectivity qtdeclarative qtdoc qtgraphicaleffects
+        qt3d qtcharts qtconnectivity qtdeclarative qtdoc qtgraphicaleffects
         qtimageformats qtlocation qtmultimedia qtquickcontrols qtquickcontrols2
         qtscript qtsensors qtserialport qtsvg qttools qttranslations
         qtvirtualkeyboard qtwebchannel qtwebengine qtwebkit qtwebsockets
         qtwebview qtx11extras qtxmlpatterns
-      ] ++ optional (!stdenv.isDarwin) qtwayland
-        ++ optional (stdenv.isDarwin) qtmacextras);
+      ] ++ lib.optional (!stdenv.isDarwin) qtwayland
+        ++ lib.optional (stdenv.isDarwin) qtmacextras);
 
       qmake = makeSetupHook {
         deps = [ self.qtbase.dev ];
@@ -244,12 +251,11 @@ let
       } ../hooks/qmake-hook.sh;
 
       wrapQtAppsHook = makeSetupHook {
-        deps =
-          [ self.qtbase.dev makeWrapper ]
-          ++ optional stdenv.isLinux self.qtwayland.dev;
+        deps = [ self.qtbase.dev makeWrapper ]
+          ++ lib.optional stdenv.isLinux self.qtwayland.dev;
       } ../hooks/wrap-qt-apps-hook.sh;
     };
 
-   self = makeScope newScope addPackages;
+   self = lib.makeScope newScope addPackages;
 
 in self
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/modules/qt3d.nix b/nixpkgs/pkgs/development/libraries/qt-5/modules/qt3d.nix
new file mode 100644
index 000000000000..63a516476f27
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/modules/qt3d.nix
@@ -0,0 +1,7 @@
+{ qtModule, qtbase, qtdeclarative }:
+
+qtModule {
+  pname = "qt3d";
+  qtInputs = [ qtbase qtdeclarative ];
+  outputs = [ "out" "dev" "bin" ];
+}
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/modules/qtbase.nix b/nixpkgs/pkgs/development/libraries/qt-5/modules/qtbase.nix
index 0d0bef342b02..04a89558c3d0 100644
--- a/nixpkgs/pkgs/development/libraries/qt-5/modules/qtbase.nix
+++ b/nixpkgs/pkgs/development/libraries/qt-5/modules/qtbase.nix
@@ -1,30 +1,30 @@
-{
-  stdenv, lib,
-  src, patches, version, qtCompatVersion,
+{ stdenv, lib
+, src, patches, version, qtCompatVersion
 
-  coreutils, bison, flex, gdb, gperf, lndir, perl, pkg-config, python3,
-  which,
+, coreutils, bison, flex, gdb, gperf, lndir, perl, pkg-config, python3
+, which
   # darwin support
-  darwin, libiconv,
+, libiconv, libobjc, xcbuild, AGL, AppKit, ApplicationServices, Carbon, Cocoa, CoreAudio, CoreBluetooth
+, CoreLocation, CoreServices, DiskArbitration, Foundation, OpenGL, MetalKit, IOKit
 
-  dbus, fontconfig, freetype, glib, harfbuzz, icu, libX11, libXcomposite,
-  libXcursor, libXext, libXi, libXrender, libinput, libjpeg, libpng,
-  libxcb, libxkbcommon, libxml2, libxslt, openssl, pcre16, pcre2, sqlite, udev,
-  xcbutil, xcbutilimage, xcbutilkeysyms, xcbutilrenderutil, xcbutilwm,
-  zlib,
+, dbus, fontconfig, freetype, glib, harfbuzz, icu, libX11, libXcomposite
+, libXcursor, libXext, libXi, libXrender, libinput, libjpeg, libpng
+, libxcb, libxkbcommon, libxml2, libxslt, openssl, pcre16, pcre2, sqlite, udev
+, xcbutil, xcbutilimage, xcbutilkeysyms, xcbutilrenderutil, xcbutilwm
+, zlib
 
   # optional dependencies
-  cups ? null, libmysqlclient ? null, postgresql ? null,
-  withGtk3 ? false, dconf ? null, gtk3 ? null,
+, cups ? null, libmysqlclient ? null, postgresql ? null
+, withGtk3 ? false, dconf ? null, gtk3 ? null
 
   # options
-  libGLSupported ? !stdenv.isDarwin,
-  libGL,
-  buildExamples ? false,
-  buildTests ? false,
-  debug ? false,
-  developerBuild ? false,
-  decryptSslTraffic ? false
+, libGLSupported ? !stdenv.isDarwin
+, libGL
+, buildExamples ? false
+, buildTests ? false
+, debug ? false
+, developerBuild ? false
+, decryptSslTraffic ? false
 }:
 
 assert withGtk3 -> dconf != null;
@@ -32,53 +32,43 @@ assert withGtk3 -> gtk3 != null;
 
 let
   compareVersion = v: builtins.compareVersions version v;
-  qmakeCacheName =
-    if compareVersion "5.12.4" < 0 then ".qmake.cache" else ".qmake.stash";
+  qmakeCacheName = if compareVersion "5.12.4" < 0 then ".qmake.cache" else ".qmake.stash";
   debugSymbols = debug || developerBuild;
 in
 
 stdenv.mkDerivation {
-
-  name = "qtbase-${version}";
+  pname = "qtbase";
   inherit qtCompatVersion src version;
   debug = debugSymbols;
 
-  propagatedBuildInputs =
-    [
-      libxml2 libxslt openssl sqlite zlib
+  propagatedBuildInputs = [
+    libxml2 libxslt openssl sqlite zlib
+
+    # Text rendering
+    harfbuzz icu
+
+    # Image formats
+    libjpeg libpng
+    (if compareVersion "5.9.0" < 0 then pcre16 else pcre2)
+  ] ++ (
+    if stdenv.isDarwin then [
+      # TODO: move to buildInputs, this should not be propagated.
+      AGL AppKit ApplicationServices Carbon Cocoa CoreAudio CoreBluetooth
+      CoreLocation CoreServices DiskArbitration Foundation OpenGL
+      libobjc libiconv MetalKit IOKit
+    ] else [
+      dbus glib udev
 
       # Text rendering
-      harfbuzz icu
+      fontconfig freetype
 
-      # Image formats
-      libjpeg libpng
-      (if compareVersion "5.9.0" < 0 then pcre16 else pcre2)
-    ]
-    ++ (
-      if stdenv.isDarwin
-      then with darwin.apple_sdk.frameworks;
-        [
-          # TODO: move to buildInputs, this should not be propagated.
-          AGL AppKit ApplicationServices Carbon Cocoa CoreAudio CoreBluetooth
-          CoreLocation CoreServices DiskArbitration Foundation OpenGL
-          darwin.libobjc libiconv MetalKit IOKit
-        ]
-      else
-        [
-          dbus glib udev
-
-          # Text rendering
-          fontconfig freetype
-
-          # X11 libs
-          libX11 libXcomposite libXext libXi libXrender libxcb libxkbcommon xcbutil
-          xcbutilimage xcbutilkeysyms xcbutilrenderutil xcbutilwm
-        ]
-        ++ lib.optional libGLSupported libGL
-    );
-
-  buildInputs =
-    [ python3 ]
+      # X11 libs
+      libX11 libXcomposite libXext libXi libXrender libxcb libxkbcommon xcbutil
+      xcbutilimage xcbutilkeysyms xcbutilrenderutil xcbutilwm
+    ] ++ lib.optional libGLSupported libGL
+  );
+
+  buildInputs = [ python3 ]
     ++ lib.optionals (!stdenv.isDarwin)
     (
       [ libinput ]
@@ -89,8 +79,8 @@ stdenv.mkDerivation {
     ++ lib.optional (libmysqlclient != null) libmysqlclient
     ++ lib.optional (postgresql != null) postgresql;
 
-  nativeBuildInputs =
-    [ bison flex gperf lndir perl pkg-config which ];
+  nativeBuildInputs = [ bison flex gperf lndir perl pkg-config which ]
+    ++ lib.optionals stdenv.isDarwin [ xcbuild ];
 
   propagatedNativeBuildInputs = [ lndir ];
 
@@ -107,59 +97,42 @@ stdenv.mkDerivation {
     . ${../hooks/fix-qmake-libtool.sh}
   '';
 
-  postPatch =
-    ''
-      for prf in qml_plugin.prf qt_plugin.prf qt_docs.prf qml_module.prf create_cmake.prf; do
-          substituteInPlace "mkspecs/features/$prf" \
-              --subst-var qtPluginPrefix \
-              --subst-var qtQmlPrefix \
-              --subst-var qtDocPrefix
-      done
-
-      substituteInPlace configure --replace /bin/pwd pwd
-      substituteInPlace src/corelib/global/global.pri --replace /bin/ls ${coreutils}/bin/ls
-      sed -e 's@/\(usr\|opt\)/@/var/empty/@g' -i mkspecs/*/*.conf
-
-      sed -i '/PATHS.*NO_DEFAULT_PATH/ d' src/corelib/Qt5Config.cmake.in
-      sed -i '/PATHS.*NO_DEFAULT_PATH/ d' src/corelib/Qt5CoreMacros.cmake
-      sed -i 's/NO_DEFAULT_PATH//' src/gui/Qt5GuiConfigExtras.cmake.in
-      sed -i '/PATHS.*NO_DEFAULT_PATH/ d' mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-    ''
+  postPatch = ''
+    for prf in qml_plugin.prf qt_plugin.prf qt_docs.prf qml_module.prf create_cmake.prf; do
+        substituteInPlace "mkspecs/features/$prf" \
+            --subst-var qtPluginPrefix \
+            --subst-var qtQmlPrefix \
+            --subst-var qtDocPrefix
+    done
 
-    + (
-      if stdenv.isDarwin
-      then
-        ''
-          sed -i \
-              -e 's|! /usr/bin/xcode-select --print-path >/dev/null 2>&1;|false;|' \
-              -e 's|! /usr/bin/xcrun -find xcodebuild >/dev/null 2>&1;|false;|' \
-              -e 's|sysroot=$(/usr/bin/xcodebuild -sdk $sdk -version Path 2>/dev/null)|sysroot=/nonsense|' \
-              -e 's|sysroot=$(/usr/bin/xcrun --sdk $sdk --show-sdk-path 2>/dev/null)|sysroot=/nonsense|' \
-              -e 's|QMAKE_CONF_COMPILER=`getXQMakeConf QMAKE_CXX`|QMAKE_CXX="clang++"\nQMAKE_CONF_COMPILER="clang++"|' \
-              -e 's|XCRUN=`/usr/bin/xcrun -sdk macosx clang -v 2>&1`|XCRUN="clang -v 2>&1"|' \
-              -e 's#sdk_val=$(/usr/bin/xcrun -sdk $sdk -find $(echo $val | cut -d \x27 \x27 -f 1))##' \
-              -e 's#val=$(echo $sdk_val $(echo $val | cut -s -d \x27 \x27 -f 2-))##' \
-              ./configure
-              substituteInPlace ./mkspecs/common/mac.conf \
-                  --replace "/System/Library/Frameworks/OpenGL.framework/" "${darwin.apple_sdk.frameworks.OpenGL}/Library/Frameworks/OpenGL.framework/"
-              substituteInPlace ./mkspecs/common/mac.conf \
-                  --replace "/System/Library/Frameworks/AGL.framework/" "${darwin.apple_sdk.frameworks.AGL}/Library/Frameworks/AGL.framework/"
-        ''
-        # Note on the above: \x27 is a way if including a single-quote
-        # character in the sed string arguments.
-      else
-        lib.optionalString libGLSupported
-          ''
-            sed -i mkspecs/common/linux.conf \
-                -e "/^QMAKE_INCDIR_OPENGL/ s|$|${libGL.dev or libGL}/include|" \
-                -e "/^QMAKE_LIBDIR_OPENGL/ s|$|${libGL.out}/lib|"
-          '' +
-        lib.optionalString (stdenv.hostPlatform.isx86_32 && stdenv.cc.isGNU)
-          ''
-            sed -i mkspecs/common/gcc-base-unix.conf \
-                -e "/^QMAKE_LFLAGS_SHLIB/ s/-shared/-shared -static-libgcc/"
-          ''
-    );
+    substituteInPlace configure --replace /bin/pwd pwd
+    substituteInPlace src/corelib/global/global.pri --replace /bin/ls ${coreutils}/bin/ls
+    sed -e 's@/\(usr\|opt\)/@/var/empty/@g' -i mkspecs/*/*.conf
+
+    sed -i '/PATHS.*NO_DEFAULT_PATH/ d' src/corelib/Qt5Config.cmake.in
+    sed -i '/PATHS.*NO_DEFAULT_PATH/ d' src/corelib/Qt5CoreMacros.cmake
+    sed -i 's/NO_DEFAULT_PATH//' src/gui/Qt5GuiConfigExtras.cmake.in
+    sed -i '/PATHS.*NO_DEFAULT_PATH/ d' mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+  '' + (
+    if stdenv.isDarwin then ''
+        sed -i \
+            -e 's|/usr/bin/xcode-select|xcode-select|' \
+            -e 's|/usr/bin/xcrun|xcrun|' \
+            -e 's|/usr/bin/xcodebuild|xcodebuild|' \
+            -e 's|QMAKE_CONF_COMPILER=`getXQMakeConf QMAKE_CXX`|QMAKE_CXX="clang++"\nQMAKE_CONF_COMPILER="clang++"|' \
+            ./configure
+            substituteInPlace ./mkspecs/common/mac.conf \
+                --replace "/System/Library/Frameworks/OpenGL.framework/" "${OpenGL}/Library/Frameworks/OpenGL.framework/" \
+                --replace "/System/Library/Frameworks/AGL.framework/" "${AGL}/Library/Frameworks/AGL.framework/"
+    '' else lib.optionalString libGLSupported ''
+      sed -i mkspecs/common/linux.conf \
+          -e "/^QMAKE_INCDIR_OPENGL/ s|$|${libGL.dev or libGL}/include|" \
+          -e "/^QMAKE_LIBDIR_OPENGL/ s|$|${libGL.out}/lib|"
+    '' + lib.optionalString (stdenv.hostPlatform.isx86_32 && stdenv.cc.isGNU) ''
+      sed -i mkspecs/common/gcc-base-unix.conf \
+          -e "/^QMAKE_LFLAGS_SHLIB/ s/-shared/-shared -static-libgcc/"
+    ''
+  );
 
   qtPluginPrefix = "lib/qt-${qtCompatVersion}/plugins";
   qtQmlPrefix = "lib/qt-${qtCompatVersion}/qml";
@@ -218,153 +191,128 @@ stdenv.mkDerivation {
   PSQL_LIBS = lib.optionalString (postgresql != null) "-L${postgresql.lib}/lib -lpq";
 
   # TODO Remove obsolete and useless flags once the build will be totally mastered
-  configureFlags =
-    [
-      "-plugindir $(out)/$(qtPluginPrefix)"
-      "-qmldir $(out)/$(qtQmlPrefix)"
-      "-docdir $(out)/$(qtDocPrefix)"
-
-      "-verbose"
-      "-confirm-license"
-      "-opensource"
-
-      "-release"
-      "-shared"
-      "-accessibility"
-      "-optimized-qmake"
-      "-strip"
-      "-system-proxies"
-      "-pkg-config"
-
-      "-gui"
-      "-widgets"
-      "-opengl desktop"
-      "-icu"
-      "-L" "${icu.out}/lib"
-      "-I" "${icu.dev}/include"
-      "-pch"
-    ]
-    ++ lib.optional debugSymbols "-debug"
-    ++ lib.optionals (compareVersion "5.11.0" < 0)
-    [
-      "-qml-debug"
-    ]
-    ++ lib.optionals (compareVersion "5.9.0" < 0)
-    [
-      "-c++11"
-      "-no-reduce-relocations"
-    ]
-    ++ lib.optionals developerBuild [
-      "-developer-build"
-      "-no-warnings-are-errors"
+  configureFlags = [
+    "-plugindir $(out)/$(qtPluginPrefix)"
+    "-qmldir $(out)/$(qtQmlPrefix)"
+    "-docdir $(out)/$(qtDocPrefix)"
+
+    "-verbose"
+    "-confirm-license"
+    "-opensource"
+
+    "-release"
+    "-shared"
+    "-accessibility"
+    "-optimized-qmake"
+    "-strip"
+    "-system-proxies"
+    "-pkg-config"
+
+    "-gui"
+    "-widgets"
+    "-opengl desktop"
+    "-icu"
+    "-L" "${icu.out}/lib"
+    "-I" "${icu.dev}/include"
+    "-pch"
+  ] ++ lib.optional debugSymbols "-debug"
+    ++ lib.optionals (compareVersion "5.11.0" < 0) [
+    "-qml-debug"
+  ] ++ lib.optionals (compareVersion "5.9.0" < 0) [
+    "-c++11"
+    "-no-reduce-relocations"
+  ] ++ lib.optionals developerBuild [
+    "-developer-build"
+    "-no-warnings-are-errors"
+  ] ++ (if (!stdenv.hostPlatform.isx86_64) then [
+    "-no-sse2"
+  ] else lib.optionals (compareVersion "5.9.0" >= 0) [
+    "-sse2"
+    "${lib.optionalString (!stdenv.hostPlatform.sse3Support)   "-no"}-sse3"
+    "${lib.optionalString (!stdenv.hostPlatform.ssse3Support)  "-no"}-ssse3"
+    "${lib.optionalString (!stdenv.hostPlatform.sse4_1Support) "-no"}-sse4.1"
+    "${lib.optionalString (!stdenv.hostPlatform.sse4_2Support) "-no"}-sse4.2"
+    "${lib.optionalString (!stdenv.hostPlatform.avxSupport)    "-no"}-avx"
+    "${lib.optionalString (!stdenv.hostPlatform.avx2Support)   "-no"}-avx2"
     ]
+  ) ++ [
+    "-no-mips_dsp"
+    "-no-mips_dspr2"
+  ] ++ [
+    "-system-zlib"
+    "-L" "${zlib.out}/lib"
+    "-I" "${zlib.dev}/include"
+    "-system-libjpeg"
+    "-L" "${libjpeg.out}/lib"
+    "-I" "${libjpeg.dev}/include"
+    "-system-harfbuzz"
+    "-L" "${harfbuzz.out}/lib"
+    "-I" "${harfbuzz.dev}/include"
+    "-system-pcre"
+    "-openssl-linked"
+    "-L" "${openssl.out}/lib"
+    "-I" "${openssl.dev}/include"
+    "-system-sqlite"
+    ''-${if libmysqlclient != null then "plugin" else "no"}-sql-mysql''
+    ''-${if postgresql != null then "plugin" else "no"}-sql-psql''
+
+    "-make libs"
+    "-make tools"
+    ''-${lib.optionalString (!buildExamples) "no"}make examples''
+    ''-${lib.optionalString (!buildTests) "no"}make tests''
+  ] ++ lib.optional (compareVersion "5.15.0" < 0) "-v"
     ++ (
-      if (!stdenv.hostPlatform.isx86_64) then [
-        "-no-sse2"
-      ] else if (compareVersion "5.9.0" >= 0) then [
-        "-sse2"
-        "${if stdenv.hostPlatform.sse3Support   then "" else "-no"}-sse3"
-        "${if stdenv.hostPlatform.ssse3Support  then "" else "-no"}-ssse3"
-        "${if stdenv.hostPlatform.sse4_1Support then "" else "-no"}-sse4.1"
-        "${if stdenv.hostPlatform.sse4_2Support then "" else "-no"}-sse4.2"
-        "${if stdenv.hostPlatform.avxSupport    then "" else "-no"}-avx"
-        "${if stdenv.hostPlatform.avx2Support   then "" else "-no"}-avx2"
-      ] else [
-      ]
-    )
-    ++ [
-      "-no-mips_dsp"
-      "-no-mips_dspr2"
-    ]
-
-    ++ [
-      "-system-zlib"
-      "-L" "${zlib.out}/lib"
-      "-I" "${zlib.dev}/include"
-      "-system-libjpeg"
-      "-L" "${libjpeg.out}/lib"
-      "-I" "${libjpeg.dev}/include"
-      "-system-harfbuzz"
-      "-L" "${harfbuzz.out}/lib"
-      "-I" "${harfbuzz.dev}/include"
-      "-system-pcre"
-      "-openssl-linked"
-      "-L" "${openssl.out}/lib"
-      "-I" "${openssl.dev}/include"
-      "-system-sqlite"
-      ''-${if libmysqlclient != null then "plugin" else "no"}-sql-mysql''
-      ''-${if postgresql != null then "plugin" else "no"}-sql-psql''
-
-      "-make libs"
-      "-make tools"
-      ''-${lib.optionalString (!buildExamples) "no"}make examples''
-      ''-${lib.optionalString (!buildTests) "no"}make tests''
+      if stdenv.isDarwin then [
+      "-platform macx-clang"
+      "-no-fontconfig"
+      "-qt-freetype"
+      "-qt-libpng"
+      "-no-framework"
+    ] else [
+      "-${lib.optionalString (compareVersion "5.9.0" < 0) "no-"}rpath"
+    ] ++ lib.optional (compareVersion "5.15.0" < 0) "-system-xcb"
+      ++ [
+      "-xcb"
+      "-qpa xcb"
+      "-L" "${libX11.out}/lib"
+      "-I" "${libX11.out}/include"
+      "-L" "${libXext.out}/lib"
+      "-I" "${libXext.out}/include"
+      "-L" "${libXrender.out}/lib"
+      "-I" "${libXrender.out}/include"
+
+      "-libinput"
+
+      ''-${lib.optionalString (cups == null) "no-"}cups''
+      "-dbus-linked"
+      "-glib"
+    ] ++ lib.optional (compareVersion "5.15.0" < 0) "-system-libjpeg"
+      ++ [
+      "-system-libpng"
+    ] ++ lib.optional withGtk3 "-gtk"
+      ++ lib.optional (compareVersion "5.9.0" >= 0) "-inotify"
+      ++ lib.optionals (compareVersion "5.10.0" >= 0) [
+      # Without these, Qt stops working on kernels < 3.17. See:
+      # https://github.com/NixOS/nixpkgs/issues/38832
+      "-no-feature-renameat2"
+      "-no-feature-getentropy"
+    ] ++ lib.optionals (compareVersion "5.12.1" < 0) [
+      # use -xkbcommon and -xkbcommon-evdev for versions before 5.12.1
+      "-system-xkbcommon"
+      "-xkbcommon-evdev"
+    ] ++ lib.optionals (cups != null) [
+      "-L" "${cups.lib}/lib"
+      "-I" "${cups.dev}/include"
+    ] ++ lib.optionals (libmysqlclient != null) [
+      "-L" "${libmysqlclient}/lib"
+      "-I" "${libmysqlclient}/include"
     ]
-    ++ lib.optional (compareVersion "5.15.0" < 0) "-v"
+  );
 
-    ++ (
-      if stdenv.isDarwin
-      then
-        [
-          "-platform macx-clang"
-          "-no-fontconfig"
-          "-qt-freetype"
-          "-qt-libpng"
-          "-no-framework"
-        ]
-      else
-        [
-          "-${lib.optionalString (compareVersion "5.9.0" < 0) "no-"}rpath"
-        ]
-        ++ lib.optional (compareVersion "5.15.0" < 0) "-system-xcb"
-        ++ [
-          "-xcb"
-          "-qpa xcb"
-          "-L" "${libX11.out}/lib"
-          "-I" "${libX11.out}/include"
-          "-L" "${libXext.out}/lib"
-          "-I" "${libXext.out}/include"
-          "-L" "${libXrender.out}/lib"
-          "-I" "${libXrender.out}/include"
-
-          "-libinput"
-
-          ''-${lib.optionalString (cups == null) "no-"}cups''
-          "-dbus-linked"
-          "-glib"
-        ]
-        ++ lib.optional (compareVersion "5.15.0" < 0) "-system-libjpeg"
-        ++ [
-          "-system-libpng"
-        ]
-        ++ lib.optional withGtk3 "-gtk"
-        ++ lib.optional (compareVersion "5.9.0" >= 0) "-inotify"
-        ++ lib.optionals (compareVersion "5.10.0" >= 0) [
-          # Without these, Qt stops working on kernels < 3.17. See:
-          # https://github.com/NixOS/nixpkgs/issues/38832
-          "-no-feature-renameat2"
-          "-no-feature-getentropy"
-        ]
-        ++ lib.optionals (compareVersion "5.12.1" < 0) [
-          # use -xkbcommon and -xkbcommon-evdev for versions before 5.12.1
-          "-system-xkbcommon"
-          "-xkbcommon-evdev"
-        ]
-        ++ lib.optionals (cups != null) [
-          "-L" "${cups.lib}/lib"
-          "-I" "${cups.dev}/include"
-        ]
-        ++ lib.optionals (libmysqlclient != null) [
-          "-L" "${libmysqlclient}/lib"
-          "-I" "${libmysqlclient}/include"
-        ]
-    );
-
-  postInstall =
-    # Move selected outputs.
-    ''
-      moveToOutput "mkspecs" "$dev"
-    '';
+  # Move selected outputs.
+  postInstall = ''
+    moveToOutput "mkspecs" "$dev"
+  '';
 
   devTools = [
     "bin/fixqt4headers.pl"
@@ -378,35 +326,27 @@ stdenv.mkDerivation {
     "bin/uic"
   ];
 
-  postFixup =
+  postFixup = ''
     # Don't retain build-time dependencies like gdb.
-    ''
-      sed '/QMAKE_DEFAULT_.*DIRS/ d' -i $dev/mkspecs/qconfig.pri
-    ''
-
-    + ''
-      fixQtModulePaths "''${!outputDev}/mkspecs/modules"
-      fixQtBuiltinPaths "''${!outputDev}" '*.pr?'
-    ''
+    sed '/QMAKE_DEFAULT_.*DIRS/ d' -i $dev/mkspecs/qconfig.pri
+    fixQtModulePaths "''${!outputDev}/mkspecs/modules"
+    fixQtBuiltinPaths "''${!outputDev}" '*.pr?'
 
     # Move development tools to $dev
-    + ''
-      moveQtDevTools
-      moveToOutput bin "$dev"
-    ''
+    moveQtDevTools
+    moveToOutput bin "$dev"
 
     # fixup .pc file (where to find 'moc' etc.)
-    + ''
-      sed -i "$dev/lib/pkgconfig/Qt5Core.pc" \
-          -e "/^host_bins=/ c host_bins=$dev/bin"
-    '';
+    sed -i "$dev/lib/pkgconfig/Qt5Core.pc" \
+      -e "/^host_bins=/ c host_bins=$dev/bin"
+  '';
 
   dontStrip = debugSymbols;
 
   setupHook = ../hooks/qtbase-setup-hook.sh;
 
   meta = with lib; {
-    homepage = "http://www.qt.io";
+    homepage = "https://www.qt.io/";
     description = "A cross-platform application framework for C++";
     license = with licenses; [ fdl13 gpl2 lgpl21 lgpl3 ];
     maintainers = with maintainers; [ qknight ttuegel periklis bkchr ];
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/modules/qtdeclarative.nix b/nixpkgs/pkgs/development/libraries/qt-5/modules/qtdeclarative.nix
index 97248ca18076..89f2672c26dd 100644
--- a/nixpkgs/pkgs/development/libraries/qt-5/modules/qtdeclarative.nix
+++ b/nixpkgs/pkgs/development/libraries/qt-5/modules/qtdeclarative.nix
@@ -1,7 +1,5 @@
 { qtModule, lib, python3, qtbase, qtsvg }:
 
-with lib;
-
 qtModule {
   pname = "qtdeclarative";
   qtInputs = [ qtbase qtsvg ];
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/modules/qtmultimedia.nix b/nixpkgs/pkgs/development/libraries/qt-5/modules/qtmultimedia.nix
index 0d2d565fe7ae..baf5c30e73c4 100644
--- a/nixpkgs/pkgs/development/libraries/qt-5/modules/qtmultimedia.nix
+++ b/nixpkgs/pkgs/development/libraries/qt-5/modules/qtmultimedia.nix
@@ -1,17 +1,24 @@
-{ qtModule, lib, stdenv, qtbase, qtdeclarative, pkg-config
-, alsa-lib, gstreamer, gst-plugins-base, libpulseaudio, wayland
+{ qtModule
+, lib
+, stdenv
+, qtbase
+, qtdeclarative
+, pkg-config
+, alsa-lib
+, gstreamer
+, gst-plugins-base
+, libpulseaudio
+, wayland
 }:
 
-with lib;
-
 qtModule {
   pname = "qtmultimedia";
   qtInputs = [ qtbase qtdeclarative ];
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ gstreamer gst-plugins-base libpulseaudio ]
-    ++ optional (stdenv.isLinux) alsa-lib
-    ++ optional (versionAtLeast qtbase.version "5.14.0" && stdenv.isLinux) wayland;
+    ++ lib.optional (stdenv.isLinux) alsa-lib
+    ++ lib.optional (lib.versionAtLeast qtbase.version "5.14.0" && stdenv.isLinux) wayland;
   outputs = [ "bin" "dev" "out" ];
   qmakeFlags = [ "GST_VERSION=1.0" ];
-  NIX_LDFLAGS = optionalString (stdenv.isDarwin) "-lobjc";
+  NIX_LDFLAGS = lib.optionalString (stdenv.isDarwin) "-lobjc";
 }
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/modules/qtserialport.nix b/nixpkgs/pkgs/development/libraries/qt-5/modules/qtserialport.nix
index caeaedbcf3d5..89d96eb29124 100644
--- a/nixpkgs/pkgs/development/libraries/qt-5/modules/qtserialport.nix
+++ b/nixpkgs/pkgs/development/libraries/qt-5/modules/qtserialport.nix
@@ -1,11 +1,7 @@
 { qtModule, stdenv, lib, qtbase, systemd }:
 
-let inherit (lib) getLib optional; in
-
 qtModule {
   pname = "qtserialport";
   qtInputs = [ qtbase ];
-  NIX_CFLAGS_COMPILE =
-    optional stdenv.isLinux
-    ''-DNIXPKGS_LIBUDEV="${getLib systemd}/lib/libudev"'';
+  NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isLinux "-DNIXPKGS_LIBUDEV=\"${lib.getLib systemd}/lib/libudev\"";
 }
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/modules/qttools.nix b/nixpkgs/pkgs/development/libraries/qt-5/modules/qttools.nix
index 437ec6cef743..27008f6714ed 100644
--- a/nixpkgs/pkgs/development/libraries/qt-5/modules/qttools.nix
+++ b/nixpkgs/pkgs/development/libraries/qt-5/modules/qttools.nix
@@ -1,7 +1,5 @@
 { qtModule, stdenv, lib, qtbase, qtdeclarative }:
 
-with lib;
-
 qtModule {
   pname = "qttools";
   qtInputs = [ qtbase qtdeclarative ];
@@ -10,9 +8,9 @@ qtModule {
   # fixQtBuiltinPaths overwrites a builtin path we should keep
   postPatch = ''
     sed -i "src/linguist/linguist.pro" \
-        -e '/^cmake_linguist_config_version_file.input =/ s|$$\[QT_HOST_DATA.*\]|${getDev qtbase}|'
+        -e '/^cmake_linguist_config_version_file.input =/ s|$$\[QT_HOST_DATA.*\]|${lib.getDev qtbase}|'
     sed -i "src/qtattributionsscanner/qtattributionsscanner.pro" \
-        -e '/^cmake_qattributionsscanner_config_version_file.input =/ s|$$\[QT_HOST_DATA.*\]|${getDev qtbase}|'
+        -e '/^cmake_qattributionsscanner_config_version_file.input =/ s|$$\[QT_HOST_DATA.*\]|${lib.getDev qtbase}|'
   '';
 
   devTools = [
@@ -34,12 +32,11 @@ qtModule {
     "bin/qthelpconverter"
     "bin/lprodump"
     "bin/qdistancefieldgenerator"
-  ] ++ optionals stdenv.isDarwin [
+  ] ++ lib.optionals stdenv.isDarwin [
     "bin/macdeployqt"
   ];
 
-  NIX_CFLAGS_COMPILE =
-    lib.optional stdenv.isDarwin ''-DNIXPKGS_QMLIMPORTSCANNER="${qtdeclarative.dev}/bin/qmlimportscanner"'';
+  NIX_CFLAGS_COMPILE = lib.optional stdenv.isDarwin ''-DNIXPKGS_QMLIMPORTSCANNER="${qtdeclarative.dev}/bin/qmlimportscanner"'';
 
   setupHook = ../hooks/qttools-setup-hook.sh;
 }
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/modules/qtwebengine.nix b/nixpkgs/pkgs/development/libraries/qt-5/modules/qtwebengine.nix
index 729c5f388f99..03247487749a 100644
--- a/nixpkgs/pkgs/development/libraries/qt-5/modules/qtwebengine.nix
+++ b/nixpkgs/pkgs/development/libraries/qt-5/modules/qtwebengine.nix
@@ -15,21 +15,22 @@
 , pipewire_0_2
 , enableProprietaryCodecs ? true
 , gn
-, cups, darwin, openbsm, runCommand, xcbuild, writeScriptBin
+, cctools, libobjc, libunwind, sandbox, xnu
+, ApplicationServices, AVFoundation, Foundation, ForceFeedback, GameController, AppKit
+, ImageCaptureCore, CoreBluetooth, IOBluetooth, CoreWLAN, Quartz, Cocoa, LocalAuthentication
+, cups, openbsm, runCommand, xcbuild, writeScriptBin
 , ffmpeg ? null
 , lib, stdenv, fetchpatch
 , version ? null
 , qtCompatVersion
 }:
 
-with lib;
-
 qtModule {
   pname = "qtwebengine";
   qtInputs = [ qtdeclarative qtquickcontrols qtlocation qtwebchannel ];
   nativeBuildInputs = [
     bison coreutils flex git gperf ninja pkg-config python2 which gn nodejs
-  ] ++ optional stdenv.isDarwin xcbuild;
+  ] ++ lib.optional stdenv.isDarwin xcbuild;
   doCheck = true;
   outputs = [ "bin" "dev" "out" ];
 
@@ -42,66 +43,65 @@ qtModule {
   # which cannot be set at the same time as -Wformat-security
   hardeningDisable = [ "format" ];
 
-  postPatch =
-    ''
-      # Patch Chromium build tools
-      (
-        cd src/3rdparty/chromium;
-
-        # Manually fix unsupported shebangs
-        substituteInPlace third_party/harfbuzz-ng/src/src/update-unicode-tables.make \
-          --replace "/usr/bin/env -S make -f" "/usr/bin/make -f" || true
-
-        patchShebangs .
-      )
-    ''
-    # Prevent Chromium build script from making the path to `clang` relative to
-    # the build directory.  `clang_base_path` is the value of `QMAKE_CLANG_DIR`
-    # from `src/core/config/mac_osx.pri`.
-    + optionalString stdenv.isDarwin ''
-      substituteInPlace ./src/3rdparty/chromium/build/toolchain/mac/BUILD.gn \
-        --replace 'prefix = rebase_path("$clang_base_path/bin/", root_build_dir)' 'prefix = "$clang_base_path/bin/"'
-    ''
-    # Patch library paths in Qt sources
-    + ''
-      sed -i \
-        -e "s,QLibraryInfo::location(QLibraryInfo::DataPath),QLatin1String(\"$out\"),g" \
-        -e "s,QLibraryInfo::location(QLibraryInfo::TranslationsPath),QLatin1String(\"$out/translations\"),g" \
-        -e "s,QLibraryInfo::location(QLibraryInfo::LibraryExecutablesPath),QLatin1String(\"$out/libexec\"),g" \
-        src/core/web_engine_library_info.cpp
-    ''
-    # Patch library paths in Chromium sources
-    + optionalString (!stdenv.isDarwin) ''
-      sed -i -e '/lib_loader.*Load/s!"\(libudev\.so\)!"${lib.getLib systemd}/lib/\1!' \
-        src/3rdparty/chromium/device/udev_linux/udev?_loader.cc
-
-      sed -i -e '/libpci_loader.*Load/s!"\(libpci\.so\)!"${pciutils}/lib/\1!' \
-        src/3rdparty/chromium/gpu/config/gpu_info_collector_linux.cc
-    ''
-    + optionalString stdenv.isDarwin (
-    (if (lib.versionAtLeast qtCompatVersion "5.14") then ''
-      substituteInPlace src/buildtools/config/mac_osx.pri \
-        --replace 'QMAKE_CLANG_DIR = "/usr"' 'QMAKE_CLANG_DIR = "${stdenv.cc}"'
-    '' else ''
-      substituteInPlace src/core/config/mac_osx.pri \
-        --replace 'QMAKE_CLANG_DIR = "/usr"' 'QMAKE_CLANG_DIR = "${stdenv.cc}"'
-    '')
-     # Following is required to prevent a build error:
-     # ninja: error: '/nix/store/z8z04p0ph48w22rqzx7ql67gy8cyvidi-SDKs/MacOSX10.12.sdk/usr/include/mach/exc.defs', needed by 'gen/third_party/crashpad/crashpad/util/mach/excUser.c', missing and no known rule to make it
-    + ''
-      substituteInPlace src/3rdparty/chromium/third_party/crashpad/crashpad/util/BUILD.gn \
-        --replace '$sysroot/usr' "${darwin.xnu}"
-    ''
-    # Apple has some secret stuff they don't share with OpenBSM
-    + (if (lib.versionAtLeast qtCompatVersion "5.14") then ''
-    substituteInPlace src/3rdparty/chromium/base/mac/mach_port_rendezvous.cc \
-      --replace "audit_token_to_pid(request.trailer.msgh_audit)" "request.trailer.msgh_audit.val[5]"
-    substituteInPlace src/3rdparty/chromium/third_party/crashpad/crashpad/util/mach/mach_message.cc \
-      --replace "audit_token_to_pid(audit_trailer->msgh_audit)" "audit_trailer->msgh_audit.val[5]"
-    '' else ''
-    substituteInPlace src/3rdparty/chromium/base/mac/mach_port_broker.mm \
-      --replace "audit_token_to_pid(msg.trailer.msgh_audit)" "msg.trailer.msgh_audit.val[5]"
-    ''));
+  postPatch = ''
+    # Patch Chromium build tools
+    (
+      cd src/3rdparty/chromium;
+
+      # Manually fix unsupported shebangs
+      substituteInPlace third_party/harfbuzz-ng/src/src/update-unicode-tables.make \
+        --replace "/usr/bin/env -S make -f" "/usr/bin/make -f" || true
+
+      # TODO: be more precise
+      patchShebangs .
+    )
+  ''
+  # Prevent Chromium build script from making the path to `clang` relative to
+  # the build directory.  `clang_base_path` is the value of `QMAKE_CLANG_DIR`
+  # from `src/core/config/mac_osx.pri`.
+  + lib.optionalString stdenv.isDarwin ''
+    substituteInPlace ./src/3rdparty/chromium/build/toolchain/mac/BUILD.gn \
+      --replace 'prefix = rebase_path("$clang_base_path/bin/", root_build_dir)' 'prefix = "$clang_base_path/bin/"'
+  ''
+  # Patch library paths in Qt sources
+  + ''
+    sed -i \
+      -e "s,QLibraryInfo::location(QLibraryInfo::DataPath),QLatin1String(\"$out\"),g" \
+      -e "s,QLibraryInfo::location(QLibraryInfo::TranslationsPath),QLatin1String(\"$out/translations\"),g" \
+      -e "s,QLibraryInfo::location(QLibraryInfo::LibraryExecutablesPath),QLatin1String(\"$out/libexec\"),g" \
+      src/core/web_engine_library_info.cpp
+  ''
+  # Patch library paths in Chromium sources
+  + lib.optionalString (!stdenv.isDarwin) ''
+    sed -i -e '/lib_loader.*Load/s!"\(libudev\.so\)!"${lib.getLib systemd}/lib/\1!' \
+      src/3rdparty/chromium/device/udev_linux/udev?_loader.cc
+
+    sed -i -e '/libpci_loader.*Load/s!"\(libpci\.so\)!"${pciutils}/lib/\1!' \
+      src/3rdparty/chromium/gpu/config/gpu_info_collector_linux.cc
+  '' + lib.optionalString stdenv.isDarwin (
+  (if (lib.versionAtLeast qtCompatVersion "5.14") then ''
+    substituteInPlace src/buildtools/config/mac_osx.pri \
+      --replace 'QMAKE_CLANG_DIR = "/usr"' 'QMAKE_CLANG_DIR = "${stdenv.cc}"'
+  '' else ''
+    substituteInPlace src/core/config/mac_osx.pri \
+      --replace 'QMAKE_CLANG_DIR = "/usr"' 'QMAKE_CLANG_DIR = "${stdenv.cc}"'
+  '')
+   # Following is required to prevent a build error:
+   # ninja: error: '/nix/store/z8z04p0ph48w22rqzx7ql67gy8cyvidi-SDKs/MacOSX10.12.sdk/usr/include/mach/exc.defs', needed by 'gen/third_party/crashpad/crashpad/util/mach/excUser.c', missing and no known rule to make it
+  + ''
+    substituteInPlace src/3rdparty/chromium/third_party/crashpad/crashpad/util/BUILD.gn \
+      --replace '$sysroot/usr' "${xnu}"
+  ''
+  # Apple has some secret stuff they don't share with OpenBSM
+  + (if (lib.versionAtLeast qtCompatVersion "5.14") then ''
+  substituteInPlace src/3rdparty/chromium/base/mac/mach_port_rendezvous.cc \
+    --replace "audit_token_to_pid(request.trailer.msgh_audit)" "request.trailer.msgh_audit.val[5]"
+  substituteInPlace src/3rdparty/chromium/third_party/crashpad/crashpad/util/mach/mach_message.cc \
+    --replace "audit_token_to_pid(audit_trailer->msgh_audit)" "audit_trailer->msgh_audit.val[5]"
+  '' else ''
+  substituteInPlace src/3rdparty/chromium/base/mac/mach_port_broker.mm \
+    --replace "audit_token_to_pid(msg.trailer.msgh_audit)" "msg.trailer.msgh_audit.val[5]"
+  ''));
 
   NIX_CFLAGS_COMPILE = lib.optionals stdenv.cc.isGNU [
     # with gcc8, -Wclass-memaccess became part of -Wall and this exceeds the logging limit
@@ -134,8 +134,8 @@ qtModule {
   '';
 
   qmakeFlags = [ "--" "-system-ffmpeg" ]
-    ++ optional (stdenv.isLinux && (lib.versionAtLeast qtCompatVersion "5.15")) "-webengine-webrtc-pipewire"
-    ++ optional enableProprietaryCodecs "-proprietary-codecs";
+    ++ lib.optional (stdenv.isLinux && (lib.versionAtLeast qtCompatVersion "5.15")) "-webengine-webrtc-pipewire"
+    ++ lib.optional enableProprietaryCodecs "-proprietary-codecs";
 
   propagatedBuildInputs = [
     # Image formats
@@ -152,7 +152,7 @@ qtModule {
 
     libevent
     ffmpeg
-  ] ++ optionals (!stdenv.isDarwin) [
+  ] ++ lib.optionals (!stdenv.isDarwin) [
     dbus zlib minizip snappy nss protobuf jsoncpp
 
     # Audio formats
@@ -166,16 +166,16 @@ qtModule {
 
     # X11 libs
     xorg.xrandr libXScrnSaver libXcursor libXrandr xorg.libpciaccess libXtst
-    xorg.libXcomposite xorg.libXdamage libdrm
+    xorg.libXcomposite xorg.libXdamage libdrm xorg.libxkbfile
 
-  ] ++ optionals (stdenv.isLinux && (lib.versionAtLeast qtCompatVersion "5.15")) [
+  ] ++ lib.optionals (stdenv.isLinux && (lib.versionAtLeast qtCompatVersion "5.15")) [
     # Pipewire
     pipewire_0_2
   ]
 
   # FIXME These dependencies shouldn't be needed but can't find a way
   # around it. Chromium pulls this in while bootstrapping GN.
-  ++ lib.optionals stdenv.isDarwin (with darwin; with apple_sdk.frameworks; [
+  ++ lib.optionals stdenv.isDarwin [
     libobjc
     cctools
 
@@ -196,11 +196,11 @@ qtModule {
 
     openbsm
     libunwind
-  ]);
+  ];
 
-  buildInputs = optionals stdenv.isDarwin (with darwin; [
+  buildInputs = lib.optionals stdenv.isDarwin [
     cups
-    apple_sdk.libs.sandbox
+    sandbox
 
     # `sw_vers` is used by `src/3rdparty/chromium/build/config/mac/sdk_info.py`
     # to get some information about the host platform.
@@ -216,11 +216,10 @@ qtModule {
         shift
       done
     '')
-  ]);
+  ];
 
   dontUseNinjaBuild = true;
   dontUseNinjaInstall = true;
-  dontUseXcbuild = true;
 
   postInstall = lib.optionalString stdenv.isLinux ''
     cat > $out/libexec/qt.conf <<EOF
@@ -241,5 +240,4 @@ qtModule {
     # This build takes a long time; particularly on slow architectures
     timeout = 24 * 3600;
   };
-
 }
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/modules/qtwebkit.nix b/nixpkgs/pkgs/development/libraries/qt-5/modules/qtwebkit.nix
index e2dd0d4b19c7..dc9f5ccb9eb2 100644
--- a/nixpkgs/pkgs/development/libraries/qt-5/modules/qtwebkit.nix
+++ b/nixpkgs/pkgs/development/libraries/qt-5/modules/qtwebkit.nix
@@ -3,15 +3,15 @@
 , fontconfig, libwebp, libxml2, libxslt
 , sqlite, systemd, glib, gst_all_1, cmake
 , bison, flex, gdb, gperf, perl, pkg-config, python2, ruby
-, darwin
+, ICU, OpenGL
 }:
 
 let
-  inherit (lib) optional optionals getDev getLib;
   hyphen = stdenv.mkDerivation rec {
-    name = "hyphen-2.8.8";
+    pname = "hyphen";
+    version = "2.8.8";
     src = fetchurl {
-      url = "http://dev-www.libreoffice.org/src/5ade6ae2a99bc1e9e57031ca88d36dad-${name}.tar.gz";
+      url = "http://dev-www.libreoffice.org/src/5ade6ae2a99bc1e9e57031ca88d36dad-hyphen-${version}.tar.gz";
       sha256 = "304636d4eccd81a14b6914d07b84c79ebb815288c76fe027b9ebff6ff24d5705";
     };
     postPatch = ''
@@ -24,19 +24,19 @@ in
 qtModule {
   pname = "qtwebkit";
   qtInputs = [ qtbase qtdeclarative qtlocation qtsensors ]
-    ++ optional (stdenv.isDarwin && lib.versionAtLeast qtbase.version "5.9.0") qtmultimedia
-    ++ optional usingAnnulenWebkitFork qtwebchannel;
+    ++ lib.optional (stdenv.isDarwin && lib.versionAtLeast qtbase.version "5.9.0") qtmultimedia
+    ++ lib.optional usingAnnulenWebkitFork qtwebchannel;
   buildInputs = [ fontconfig libwebp libxml2 libxslt sqlite glib gst_all_1.gstreamer gst_all_1.gst-plugins-base ]
-    ++ optionals (stdenv.isDarwin) (with darwin; with apple_sdk.frameworks; [ ICU OpenGL ])
-    ++ optional usingAnnulenWebkitFork hyphen;
+    ++ lib.optionals stdenv.isDarwin [ ICU OpenGL ]
+    ++ lib.optional usingAnnulenWebkitFork hyphen;
   nativeBuildInputs = [
     bison flex gdb gperf perl pkg-config python2 ruby
-  ] ++ optional usingAnnulenWebkitFork cmake;
+  ] ++ lib.optional usingAnnulenWebkitFork cmake;
 
-  cmakeFlags = optionals usingAnnulenWebkitFork ([ "-DPORT=Qt" ]
-    ++ optionals stdenv.isDarwin [
-      "-DQt5Multimedia_DIR=${getDev qtmultimedia}/lib/cmake/Qt5Multimedia"
-      "-DQt5MultimediaWidgets_DIR=${getDev qtmultimedia}/lib/cmake/Qt5MultimediaWidgets"
+  cmakeFlags = lib.optionals usingAnnulenWebkitFork ([ "-DPORT=Qt" ]
+    ++ lib.optionals stdenv.isDarwin [
+      "-DQt5Multimedia_DIR=${lib.getDev qtmultimedia}/lib/cmake/Qt5Multimedia"
+      "-DQt5MultimediaWidgets_DIR=${lib.getDev qtmultimedia}/lib/cmake/Qt5MultimediaWidgets"
       "-DMACOS_FORCE_SYSTEM_XML_LIBRARIES=OFF"
     ]);
 
@@ -50,19 +50,22 @@ qtModule {
   '';
 
   NIX_CFLAGS_COMPILE = [
-      # with gcc7 this warning blows the log over Hydra's limit
-      "-Wno-expansion-to-defined"
-    ]
-    # with gcc8, -Wclass-memaccess became part of -Wall and this too exceeds the logging limit
-    ++ optional stdenv.cc.isGNU "-Wno-class-memaccess"
-    # with clang this warning blows the log over Hydra's limit
-    ++ optional stdenv.isDarwin "-Wno-inconsistent-missing-override"
-    ++ optional (!stdenv.isDarwin) ''-DNIXPKGS_LIBUDEV="${getLib systemd}/lib/libudev"'';
+    # with gcc7 this warning blows the log over Hydra's limit
+    "-Wno-expansion-to-defined"
+  ]
+  # with gcc8, -Wclass-memaccess became part of -Wall and this too exceeds the logging limit
+  ++ lib.optional stdenv.cc.isGNU "-Wno-class-memaccess"
+  # with clang this warning blows the log over Hydra's limit
+  ++ lib.optional stdenv.isDarwin "-Wno-inconsistent-missing-override"
+  ++ lib.optional (!stdenv.isDarwin) ''-DNIXPKGS_LIBUDEV="${lib.getLib systemd}/lib/libudev"'';
 
   doCheck = false; # fails 13 out of 13 tests (ctest)
 
   # Hack to avoid TMPDIR in RPATHs.
-  preFixup = ''rm -rf "$(pwd)" && mkdir "$(pwd)" '';
+  preFixup = ''
+    rm -rf "$(pwd)"
+    mkdir "$(pwd)"
+  '';
 
   meta = {
     maintainers = with lib.maintainers; [ abbradar periklis ];
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/modules/qtwebview.nix b/nixpkgs/pkgs/development/libraries/qt-5/modules/qtwebview.nix
index 1df8ef866389..14f7937a2e24 100644
--- a/nixpkgs/pkgs/development/libraries/qt-5/modules/qtwebview.nix
+++ b/nixpkgs/pkgs/development/libraries/qt-5/modules/qtwebview.nix
@@ -1,14 +1,12 @@
-{ darwin, lib, stdenv, qtModule, qtdeclarative, qtwebengine }:
-
-with lib;
+{ lib, stdenv, qtModule, qtdeclarative, qtwebengine, CoreFoundation, WebKit }:
 
 qtModule {
   pname = "qtwebview";
   qtInputs = [ qtdeclarative qtwebengine ];
-  buildInputs = optional (stdenv.isDarwin) [
-    darwin.apple_sdk.frameworks.CoreFoundation
-    darwin.apple_sdk.frameworks.WebKit
+  buildInputs = lib.optional stdenv.isDarwin [
+    CoreFoundation
+    WebKit
   ];
   outputs = [ "out" "dev" "bin" ];
-  NIX_LDFLAGS = optionalString stdenv.isDarwin "-framework CoreFoundation -framework WebKit";
+  NIX_LDFLAGS = lib.optionalString stdenv.isDarwin "-framework CoreFoundation -framework WebKit";
 }
diff --git a/nixpkgs/pkgs/development/libraries/qtinstaller/default.nix b/nixpkgs/pkgs/development/libraries/qtinstaller/default.nix
index ce69c855ac23..0fd21a1a2968 100644
--- a/nixpkgs/pkgs/development/libraries/qtinstaller/default.nix
+++ b/nixpkgs/pkgs/development/libraries/qtinstaller/default.nix
@@ -16,7 +16,6 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "dev" "doc" ];
 
   setOutputFlags = false;
-  enableParallelBuilding = true;
   NIX_QT_SUBMODULE = true;
   dontWrapQtApps = true;
 
diff --git a/nixpkgs/pkgs/development/libraries/qtkeychain/0001-Fixes-build-with-Qt4.patch b/nixpkgs/pkgs/development/libraries/qtkeychain/0001-Fixes-build-with-Qt4.patch
deleted file mode 100644
index 4cd7214e61e2..000000000000
--- a/nixpkgs/pkgs/development/libraries/qtkeychain/0001-Fixes-build-with-Qt4.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From f72e5b67ee1137a0ccd57db5d077a197b01b3cdc Mon Sep 17 00:00:00 2001
-From: Samuel Dionne-Riel <samuel@dionne-riel.com>
-Date: Tue, 4 Sep 2018 23:19:29 -0400
-Subject: [PATCH] Fixes build with Qt4.
-
----
- keychain_unix.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/keychain_unix.cpp b/keychain_unix.cpp
-index 30b26c3..b27ebef 100644
---- a/keychain_unix.cpp
-+++ b/keychain_unix.cpp
-@@ -91,7 +91,7 @@ static bool isKwallet5Available()
-     // a wallet can be opened.
- 
-     iface.setTimeout(500);
--    QDBusMessage reply = iface.call(QStringLiteral("networkWallet"));
-+    QDBusMessage reply = iface.call("networkWallet");
-     return reply.type() == QDBusMessage::ReplyMessage;
- }
- 
--- 
-2.16.4
-
diff --git a/nixpkgs/pkgs/development/libraries/qtkeychain/default.nix b/nixpkgs/pkgs/development/libraries/qtkeychain/default.nix
index 3da0587210d8..0d3528e92f8a 100644
--- a/nixpkgs/pkgs/development/libraries/qtkeychain/default.nix
+++ b/nixpkgs/pkgs/development/libraries/qtkeychain/default.nix
@@ -1,27 +1,22 @@
-{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, qt4 ? null
-, withQt5 ? false, qtbase ? null, qttools ? null
-, darwin ? null
+{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, qtbase, qttools
+, CoreFoundation, Security
 , libsecret
 }:
 
-assert withQt5 -> qtbase != null;
-assert withQt5 -> qttools != null;
-assert stdenv.isDarwin -> darwin != null;
-
 stdenv.mkDerivation rec {
-  name = "qtkeychain-${if withQt5 then "qt5" else "qt4"}-${version}";
-  version = "0.9.1";            # verify after nix-build with `grep -R "set(PACKAGE_VERSION " result/`
+  pname = "qtkeychain";
+  version = "0.12.0";            # verify after nix-build with `grep -R "set(PACKAGE_VERSION " result/`
 
   src = fetchFromGitHub {
     owner = "frankosterfeld";
     repo = "qtkeychain";
     rev = "v${version}";
-    sha256 = "0h4wgngn2yl35hapbjs24amkjfbzsvnna4ixfhn87snjnq5lmjbc"; # v0.9.1
+    sha256 = "0gi1nx4bcc1vwfw41cif3xi2i59229vy0kc2r5959d8n6yv31kfr"; # v0.9.1
   };
 
   dontWrapQtApps = true;
 
-  patches = (if withQt5 then [] else [ ./0001-Fixes-build-with-Qt4.patch ]) ++ (if stdenv.isDarwin then [ ./0002-Fix-install-name-Darwin.patch ] else []);
+  patches = [ ./0002-Fix-install-name-Darwin.patch ];
 
   cmakeFlags = [ "-DQT_TRANSLATIONS_DIR=share/qt/translations" ];
 
@@ -30,10 +25,10 @@ stdenv.mkDerivation rec {
   ;
 
   buildInputs = lib.optionals (!stdenv.isDarwin) [ libsecret ]
-    ++ (if withQt5 then [ qtbase qttools ] else [ qt4 ])
-    ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
+    ++ [ qtbase qttools ]
+    ++ lib.optionals stdenv.isDarwin [
       CoreFoundation Security
-    ])
+    ]
   ;
 
   meta = {
diff --git a/nixpkgs/pkgs/development/libraries/qtstyleplugin-kvantum/default.nix b/nixpkgs/pkgs/development/libraries/qtstyleplugin-kvantum/default.nix
index 80998e6ef19f..4589a2fde18f 100644
--- a/nixpkgs/pkgs/development/libraries/qtstyleplugin-kvantum/default.nix
+++ b/nixpkgs/pkgs/development/libraries/qtstyleplugin-kvantum/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "qtstyleplugin-kvantum";
-  version = "0.20.0";
+  version = "0.20.1";
 
   src = fetchFromGitHub {
     owner = "tsujan";
     repo = "Kvantum";
     rev = "V${version}";
-    sha256 = "133m5ifs8ylhdh78m99n0y76q0nix68xsqfwcsrak4yr1n5pj9qp";
+    sha256 = "0rj7zfm2h6812ga1xypism8a48jj669nh10jmhpf2mjriyaar3di";
   };
 
   nativeBuildInputs = [
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "SVG-based Qt5 theme engine plus a config tool and extra themes";
     homepage = "https://github.com/tsujan/Kvantum";
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     platforms = platforms.linux;
     broken = lib.versionOlder qtbase.version "5.14";
     maintainers = [ maintainers.bugworm ];
diff --git a/nixpkgs/pkgs/development/libraries/raft-canonical/default.nix b/nixpkgs/pkgs/development/libraries/raft-canonical/default.nix
index 1ff8c2b0cc21..4614c1498146 100644
--- a/nixpkgs/pkgs/development/libraries/raft-canonical/default.nix
+++ b/nixpkgs/pkgs/development/libraries/raft-canonical/default.nix
@@ -1,18 +1,18 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, file, libuv }:
+{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, file, libuv, lz4 }:
 
 stdenv.mkDerivation rec {
   pname = "raft-canonical";
-  version = "0.10.1";
+  version = "0.11.2";
 
   src = fetchFromGitHub {
     owner = "canonical";
     repo = "raft";
     rev = "v${version}";
-    sha256 = "sha256-Q4m0CCIArgsobhmhqLvkr7fK40SX/qBk6K5Qu0eRLaI=";
+    sha256 = "050dwy34jh8dihfwfm0r1by2i3sy9crapipp9idw32idm79y4izb";
   };
 
   nativeBuildInputs = [ autoreconfHook file pkg-config ];
-  buildInputs = [ libuv ];
+  buildInputs = [ libuv lz4 ];
 
   enableParallelBuilding = true;
 
@@ -37,6 +37,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = "https://github.com/canonical/raft";
     license = licenses.asl20;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ wucke13 ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/range-v3/default.nix b/nixpkgs/pkgs/development/libraries/range-v3/default.nix
index 1e9df5be2346..4b5f277fc531 100644
--- a/nixpkgs/pkgs/development/libraries/range-v3/default.nix
+++ b/nixpkgs/pkgs/development/libraries/range-v3/default.nix
@@ -30,6 +30,6 @@ stdenv.mkDerivation rec {
     changelog = "https://github.com/ericniebler/range-v3/releases/tag/${version}";
     license = licenses.boost;
     platforms = platforms.all;
-    maintainers = with maintainers; [ primeos xwvvvvwx ];
+    maintainers = with maintainers; [ primeos ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/raylib/default.nix b/nixpkgs/pkgs/development/libraries/raylib/default.nix
index 836bafd4280f..9843141fc008 100644
--- a/nixpkgs/pkgs/development/libraries/raylib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/raylib/default.nix
@@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A simple and easy-to-use library to enjoy videogames programming";
-    homepage = "http://www.raylib.com/";
+    homepage = "https://www.raylib.com/";
     license = licenses.zlib;
     maintainers = with maintainers; [ adamlwgriffiths ];
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/development/libraries/rdkafka/default.nix b/nixpkgs/pkgs/development/libraries/rdkafka/default.nix
index cdd11c75a782..41a5526fc5e2 100644
--- a/nixpkgs/pkgs/development/libraries/rdkafka/default.nix
+++ b/nixpkgs/pkgs/development/libraries/rdkafka/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rdkafka";
-  version = "1.6.1";
+  version = "1.7.0";
 
   src = fetchFromGitHub {
     owner = "edenhill";
     repo = "librdkafka";
     rev = "v${version}";
-    sha256 = "sha256-EoNzxwuLiYi6sMhyqD/x+ku6BKA+i5og4XsUy2JBN0U=";
+    sha256 = "sha256-NLlg9S3bn5rAFyRa1ETeQGhFJYb/1y2ZiDylOy7xNbY=";
   };
 
   nativeBuildInputs = [ pkg-config python3 ];
diff --git a/nixpkgs/pkgs/development/libraries/reproc/default.nix b/nixpkgs/pkgs/development/libraries/reproc/default.nix
index 6531414601db..cd5bc5b7dcee 100644
--- a/nixpkgs/pkgs/development/libraries/reproc/default.nix
+++ b/nixpkgs/pkgs/development/libraries/reproc/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "reproc";
-  version = "14.1.0";
+  version = "14.2.3";
 
   src = fetchFromGitHub {
     owner = "DaanDeMeyer";
     repo = "reproc";
     rev = "v${version}";
-    sha256 = "1n71wb50qv2dmhjgw7azx5gigbrp19l2n3d41g9p05l5l0y1qg0q";
+    sha256 = "sha256-bdZ7czkeoSl5znGit0AYQ9D4K8qE2Co+F2Z4jLJuQok=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/rocksdb/default.nix b/nixpkgs/pkgs/development/libraries/rocksdb/default.nix
index 6ab2fe9f6cbf..cfac0519c2aa 100644
--- a/nixpkgs/pkgs/development/libraries/rocksdb/default.nix
+++ b/nixpkgs/pkgs/development/libraries/rocksdb/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rocksdb";
-  version = "6.17.3";
+  version = "6.23.3";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-mfONfYMxZ3CT7Bk3OYSwg0UChmk4mQ1+cHN94gEDZcM=";
+    sha256 = "sha256-SsDqhjdCdtIGNlsMj5kfiuS3zSGwcxi4KV71d95h7yk=";
   };
 
   nativeBuildInputs = [ cmake ninja ];
@@ -60,7 +60,9 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://rocksdb.org";
     description = "A library that provides an embeddable, persistent key-value store for fast storage";
+    changelog = "https://github.com/facebook/rocksdb/raw/v${version}/HISTORY.md";
     license = licenses.asl20;
+    platforms = platforms.all;
     maintainers = with maintainers; [ adev magenbluten ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/rustc-demangle/add-Cargo.lock.patch b/nixpkgs/pkgs/development/libraries/rustc-demangle/add-Cargo.lock.patch
new file mode 100644
index 000000000000..66e8bead8a26
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/rustc-demangle/add-Cargo.lock.patch
@@ -0,0 +1,73 @@
+diff --git a/Cargo.lock b/Cargo.lock
+new file mode 100644
+index 0000000..0268b3b
+--- /dev/null
++++ b/Cargo.lock
+@@ -0,0 +1,67 @@
++# This file is automatically @generated by Cargo.
++# It is not intended for manual editing.
++version = 3
++
++[[package]]
++name = "arbitrary"
++version = "1.0.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "237430fd6ed3740afe94eefcc278ae21e050285be882804e0d6e8695f0c94691"
++
++[[package]]
++name = "cc"
++version = "1.0.69"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e70cc2f62c6ce1868963827bd677764c62d07c3d9a3e1fb1177ee1a9ab199eb2"
++
++[[package]]
++name = "compiler_builtins"
++version = "0.1.49"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "20b1438ef42c655665a8ab2c1c6d605a305f031d38d9be689ddfef41a20f3aa2"
++
++[[package]]
++name = "libfuzzer-sys"
++version = "0.4.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "36a9a84a6e8b55dfefb04235e55edb2b9a2a18488fcae777a6bdaa6f06f1deb3"
++dependencies = [
++ "arbitrary",
++ "cc",
++ "once_cell",
++]
++
++[[package]]
++name = "once_cell"
++version = "1.8.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56"
++
++[[package]]
++name = "rustc-demangle"
++version = "0.1.20"
++dependencies = [
++ "compiler_builtins",
++ "rustc-std-workspace-core",
++]
++
++[[package]]
++name = "rustc-demangle-capi"
++version = "0.1.0"
++dependencies = [
++ "rustc-demangle",
++]
++
++[[package]]
++name = "rustc-demangle-fuzz"
++version = "0.0.0"
++dependencies = [
++ "libfuzzer-sys",
++ "rustc-demangle",
++]
++
++[[package]]
++name = "rustc-std-workspace-core"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1956f5517128a2b6f23ab2dadf1a976f4f5b27962e7724c2bf3d45e539ec098c"
diff --git a/nixpkgs/pkgs/development/libraries/rustc-demangle/default.nix b/nixpkgs/pkgs/development/libraries/rustc-demangle/default.nix
new file mode 100644
index 000000000000..be02fedfde71
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/rustc-demangle/default.nix
@@ -0,0 +1,34 @@
+{ rustPlatform, fetchFromGitHub, rust, lib, stdenv }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "rustc-demangle";
+  version = "0.1.20";
+
+  src = fetchFromGitHub {
+    owner = "alexcrichton";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-elxclyuLmr3N66s+pR4/6OU98k1oXI2wKVJtzWPY8FI=";
+  };
+
+  cargoPatches = [
+    # generated using `cargo generate-lockfile` since repo is missing lockfile
+    ./add-Cargo.lock.patch
+  ];
+  cargoSha256 = "sha256-1tW5TOap5MstxTXAFij3IB8TIpI+FryEX9TXlVXjRl4=";
+  cargoBuildFlags = "-p rustc-demangle-capi";
+  postInstall = ''
+    mkdir -p $out/lib
+    cp target/${rust.toRustTargetSpec stdenv.hostPlatform}/release/librustc_demangle.so $out/lib
+    cp -R crates/capi/include $out
+  '';
+
+  meta = with lib; {
+    description = "Rust symbol demangling";
+    homepage = "https://github.com/alexcrichton/rustc-demangle";
+    license = with licenses; [ asl20 mit ];
+    # upstream supports other platforms, but maintainer can only test on linux
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ _1000teslas ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/s2n-tls/default.nix b/nixpkgs/pkgs/development/libraries/s2n-tls/default.nix
index 5bae8df59e6a..be4b9710533b 100644
--- a/nixpkgs/pkgs/development/libraries/s2n-tls/default.nix
+++ b/nixpkgs/pkgs/development/libraries/s2n-tls/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "s2n-tls";
-  version = "1.0.1";
+  version = "1.0.16";
 
   src = fetchFromGitHub {
     owner = "aws";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-V/ZtO6t+Jxu/HmAEVzjkXuGWbZFwkGLsab1UCSG2tdk=";
+    sha256 = "sha256-gF4VhNEq/gpxXqOKvBtWZ5iZ3Jf98vSuSZYUu8r1jKA=";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -20,6 +20,7 @@ stdenv.mkDerivation rec {
   cmakeFlags = [
     "-DBUILD_SHARED_LIBS=ON"
     "-DCMAKE_SKIP_BUILD_RPATH=OFF"
+    "-DUNSAFE_TREAT_WARNINGS_AS_ERRORS=OFF" # disable -Werror
   ];
 
   propagatedBuildInputs = [ openssl ]; # s2n-config has find_dependency(LibCrypto).
diff --git a/nixpkgs/pkgs/development/libraries/science/biology/mirtk/default.nix b/nixpkgs/pkgs/development/libraries/science/biology/mirtk/default.nix
index 0d23489696f1..d2615b391ffc 100644
--- a/nixpkgs/pkgs/development/libraries/science/biology/mirtk/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/biology/mirtk/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, gtest, fetchFromGitHub, cmake, boost, eigen, python, vtk, zlib, tbb }:
+{ lib, stdenv, gtest, fetchFromGitHub, cmake, boost, eigen, python3, vtk, zlib, tbb }:
 
 stdenv.mkDerivation rec {
   version = "2.0.0";
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
   '';
 
   nativeBuildInputs = [ cmake gtest ];
-  buildInputs = [ boost eigen python vtk zlib tbb ];
+  buildInputs = [ boost eigen python3 vtk zlib tbb ];
 
   meta = with lib; {
     homepage = "https://github.com/BioMedIA/MIRTK";
diff --git a/nixpkgs/pkgs/development/libraries/science/chemistry/avogadrolibs/default.nix b/nixpkgs/pkgs/development/libraries/science/chemistry/avogadrolibs/default.nix
new file mode 100644
index 000000000000..1130f5c44e70
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/science/chemistry/avogadrolibs/default.nix
@@ -0,0 +1,68 @@
+{ lib, stdenv, fetchFromGitHub, cmake, zlib, eigen, libGL, doxygen, spglib
+, mmtf-cpp, glew, python3, libarchive, libmsym, msgpack, qttools, wrapQtAppsHook
+}:
+
+let
+  pythonWP = python3.withPackages (p: with p; [ openbabel-bindings numpy ]);
+
+  # Pure data repositories
+  moleculesRepo = fetchFromGitHub {
+    owner = "OpenChemistry";
+    repo = "molecules";
+    rev = "1.0.0";
+    sha256 = "guY6osnpv7Oqt+HE1BpIqL10POp+x8GAci2kY0bLmqg=";
+  };
+  crystalsRepo = fetchFromGitHub {
+    owner = "OpenChemistry";
+    repo = "crystals";
+    rev = "1.0.1";
+    sha256 = "sH/WuvLaYu6akOc3ssAKhnxD8KNoDxuafDSozHqJZC4=";
+  };
+
+in stdenv.mkDerivation rec {
+  pname = "avogadrolibs";
+  version = "1.94.0";
+
+  src = fetchFromGitHub {
+    owner = "OpenChemistry";
+    repo = pname;
+    rev = version;
+    sha256 = "6bChJhqrjOxeEWZBNToq3JExHPu7DUMsEHWBDe75zAo=";
+  };
+
+  postUnpack = ''
+    cp -r ${moleculesRepo} molecules
+    cp -r ${crystalsRepo} crystals
+  '';
+
+  nativeBuildInputs = [
+    cmake
+    wrapQtAppsHook
+  ];
+
+  buildInputs = [
+    eigen
+    zlib
+    libGL
+    spglib
+    mmtf-cpp
+    glew
+    libarchive
+    libmsym
+    msgpack
+    qttools
+  ];
+
+  postFixup = ''
+    substituteInPlace $out/lib/cmake/${pname}/AvogadroLibsConfig.cmake \
+      --replace "''${AvogadroLibs_INSTALL_PREFIX}/$out" "''${AvogadroLibs_INSTALL_PREFIX}"
+  '';
+
+  meta = with lib; {
+    description = "Molecule editor and visualizer";
+    maintainers = with maintainers; [ sheepforce ];
+    homepage = "https://github.com/OpenChemistry/avogadrolibs";
+    platforms = platforms.linux;
+    license = licenses.gpl2Only;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/science/chemistry/libmsym/default.nix b/nixpkgs/pkgs/development/libraries/science/chemistry/libmsym/default.nix
new file mode 100644
index 000000000000..8c605f3e07d4
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/science/chemistry/libmsym/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, lib, fetchFromGitHub, cmake } :
+
+stdenv.mkDerivation rec {
+  pname = "libmsym";
+  version = "0.2.3";
+
+  src = fetchFromGitHub  {
+    owner = "mcodev31";
+    repo = pname;
+    rev = "v${version}";
+    sha256= "k+OEwrA/saupP/wX6Ii5My0vffiJ0X9xMCTrliMSMik=";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  meta = with lib; {
+    description = " molecular point group symmetry lib";
+    homepage = "https://github.com/rcsb/mmtf-cpp";
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.sheepforce ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/science/chemistry/mmtf-cpp/default.nix b/nixpkgs/pkgs/development/libraries/science/chemistry/mmtf-cpp/default.nix
new file mode 100644
index 000000000000..ec1fed68ff93
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/science/chemistry/mmtf-cpp/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, lib, fetchFromGitHub, cmake, msgpack } :
+
+stdenv.mkDerivation rec {
+  pname = "mmtf-cpp";
+  version = "1.0.0";
+
+  src = fetchFromGitHub  {
+    owner = "rcsb";
+    repo = pname;
+    rev = "v${version}";
+    sha256= "17ylramda69plf5w0v5hxbl4ggkdi5s15z55cv0pljl12yvyva8l";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = [ msgpack ];
+
+  meta = with lib; {
+    description = "A library of exchange-correlation functionals with arbitrary-order derivatives";
+    homepage = "https://github.com/rcsb/mmtf-cpp";
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.sheepforce ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/science/chemistry/molequeue/default.nix b/nixpkgs/pkgs/development/libraries/science/chemistry/molequeue/default.nix
new file mode 100644
index 000000000000..1e8ca2d961d3
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/science/chemistry/molequeue/default.nix
@@ -0,0 +1,33 @@
+{ lib, stdenv, fetchFromGitHub, cmake, qttools, wrapQtAppsHook }:
+
+stdenv.mkDerivation rec {
+  pname = "molequeue";
+  version = "0.9.0";
+
+  src = fetchFromGitHub {
+    owner = "OpenChemistry";
+    repo = pname;
+    rev = version;
+    sha256 = "+NoY8YVseFyBbxc3ttFWiQuHQyy1GN8zvV1jGFjmvLg=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    wrapQtAppsHook
+  ];
+
+  buildInputs = [ qttools ];
+
+  postFixup = ''
+    substituteInPlace $out/lib/cmake/molequeue/MoleQueueConfig.cmake \
+      --replace "''${MoleQueue_INSTALL_PREFIX}/$out" "''${MoleQueue_INSTALL_PREFIX}"
+  '';
+
+  meta = with lib; {
+    description = "Desktop integration of high performance computing resources";
+    maintainers = with maintainers; [ sheepforce ];
+    homepage = "https://github.com/OpenChemistry/molequeue";
+    platforms = platforms.linux;
+    license = licenses.bsd3;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/science/math/liblapack/default.nix b/nixpkgs/pkgs/development/libraries/science/math/liblapack/default.nix
index 79e494a053b8..f81a02303a60 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/liblapack/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/liblapack/default.nix
@@ -1,23 +1,20 @@
-{
-  lib, stdenv,
-  fetchFromGitHub,
-  gfortran,
-  cmake,
-  shared ? true
+{ lib
+, stdenv
+, fetchFromGitHub
+, gfortran
+, cmake
+, shared ? true
 }:
-let
-  inherit (lib) optional;
-in
 
 stdenv.mkDerivation rec {
   pname = "liblapack";
-  version = "3.9.1";
+  version = "3.10.0";
 
   src = fetchFromGitHub {
     owner = "Reference-LAPACK";
     repo = "lapack";
     rev = "v${version}";
-    sha256 = "sha256-B7eRaEY9vaLvuKkJ7d2KWanGE7OXh43O0UbXFheUWK8=";
+    sha256 = "sha256-ewYUM+M7jDO5LLnB4joiKkqgXjEDmWbFZbgad8x98gc=";
   };
 
   nativeBuildInputs = [ gfortran cmake ];
@@ -30,8 +27,7 @@ stdenv.mkDerivation rec {
     "-DLAPACKE=ON"
     "-DCBLAS=ON"
     "-DBUILD_TESTING=ON"
-  ]
-  ++ optional shared "-DBUILD_SHARED_LIBS=ON";
+  ] ++ lib.optional shared "-DBUILD_SHARED_LIBS=ON";
 
   doCheck = true;
 
@@ -58,6 +54,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Linear Algebra PACKage";
     homepage = "http://www.netlib.org/lapack/";
+    maintainers = with maintainers; [ ];
     license = licenses.bsd3;
     platforms = platforms.all;
   };
diff --git a/nixpkgs/pkgs/development/libraries/science/math/openspecfun/default.nix b/nixpkgs/pkgs/development/libraries/science/math/openspecfun/default.nix
index cb72fbd2ca48..4422a908838f 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/openspecfun/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/openspecfun/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "openspecfun";
-  version = "0.5.3";
+  version = "0.5.5";
   src = fetchFromGitHub {
     owner = "JuliaLang";
     repo = "openspecfun";
     rev = "v${version}";
-    sha256 = "0pfw6l3ch7isz403llx7inxlvavqh01jh1hb9dpidi86sjjx9kfh";
+    sha256 = "sha256-fX2wc8LHUcF5nN/hiA60ZZ7emRTs0SznOm/0q6lD+Ko=";
   };
 
   makeFlags = [ "prefix=$(out)" ];
diff --git a/nixpkgs/pkgs/development/libraries/science/math/petsc/default.nix b/nixpkgs/pkgs/development/libraries/science/math/petsc/default.nix
index ee495deedc1e..cbd5fa879ee7 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/petsc/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/petsc/default.nix
@@ -18,11 +18,11 @@ assert petsc-withp4est -> p4est.mpiSupport;
 
 stdenv.mkDerivation rec {
   pname = "petsc";
-  version = "3.14.2";
+  version = "3.14.3";
 
   src = fetchurl {
     url = "http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-${version}.tar.gz";
-    sha256 = "04vy3qyakikslc58qyv8c9qrwlivix3w6znc993i37cvfg99dch9";
+    sha256 = "sha256-1rdyLNSH8jMkmIg88uHMN3ZXqTHAtzU1adybJEZzJ9M=";
   };
 
   mpiSupport = !withp4est || p4est.mpiSupport;
diff --git a/nixpkgs/pkgs/development/libraries/science/networking/ns-3/default.nix b/nixpkgs/pkgs/development/libraries/science/networking/ns-3/default.nix
index 4a90f082dc08..1419a154d90e 100644
--- a/nixpkgs/pkgs/development/libraries/science/networking/ns-3/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/networking/ns-3/default.nix
@@ -1,6 +1,5 @@
 { stdenv
 , fetchFromGitLab
-, fetchpatch
 , python
 , wafHook
 
@@ -39,13 +38,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "ns-3";
-  version = "33";
+  version = "34";
 
   src = fetchFromGitLab {
     owner = "nsnam";
     repo   = "ns-3-dev";
     rev    = "ns-3.${version}";
-    sha256 = "0ds8h0f2qcb0gc2a8bk38cbhdb122i4sbg589bjn59rblzw0hkq4";
+    sha256 = "sha256-udP7U+pHnNUdo35d9sN1o+aR9ctw9fgU3UunCjisGUI=";
   };
 
   nativeBuildInputs = [ wafHook python ];
@@ -98,14 +97,6 @@ stdenv.mkDerivation rec {
     ${pythonEnv.interpreter} ./test.py --nowaf
   '';
 
-  patches = [
-    (fetchpatch {
-      name = "upstream-issue-336.patch";
-      url = "https://gitlab.com/nsnam/ns-3-dev/-/commit/673004edae1112e6cb249b698aad856d728530fb.patch";
-      sha256 = "0q96ividinbh9xlws014b2ir6gaavygnln5ca9m1db06m4vfwhng";
-    })
-  ];
-
   # strictoverflow prevents clang from discovering pyembed when bindings
   hardeningDisable = [ "fortify" "strictoverflow"];
 
diff --git a/nixpkgs/pkgs/development/libraries/sentencepiece/default.nix b/nixpkgs/pkgs/development/libraries/sentencepiece/default.nix
index 8ab0f8ef69a6..52747b1033b8 100644
--- a/nixpkgs/pkgs/development/libraries/sentencepiece/default.nix
+++ b/nixpkgs/pkgs/development/libraries/sentencepiece/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sentencepiece";
-  version = "0.1.95";
+  version = "0.1.96";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0mv7vgsvd7hjssidxy7fjfmwqy68vjcia8pajji11q2fkfp3cg67";
+    sha256 = "sha256-jo8XlQJsnWpeeezDjNNhh6T473XMqe8fsApUr82Y3BU=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/sentry-native/default.nix b/nixpkgs/pkgs/development/libraries/sentry-native/default.nix
new file mode 100644
index 000000000000..af2a5e64d119
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/sentry-native/default.nix
@@ -0,0 +1,28 @@
+{ lib, stdenv, fetchFromGitHub, cmake, curl, breakpad, pkg-config }:
+
+stdenv.mkDerivation rec {
+  pname = "sentry-native";
+  version = "0.4.12";
+
+  src = fetchFromGitHub {
+    owner = "getsentry";
+    repo = "sentry-native";
+    rev = version;
+    sha256 = "sha256-ut864o4LHmuHYJszFz7LFoIiSvf6a0S42xmV51CVBQ0=";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ curl breakpad pkg-config ];
+  cmakeFlags = [
+    "-DCMAKE_BUILD_TYPE=RelWithDebInfo"
+    "-DSENTRY_BREAKPAD_SYSTEM=On"
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/getsentry/sentry-native";
+    description = "Sentry SDK for C, C++ and native applications.";
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ wheelsandmetal ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/silgraphite/graphite2.nix b/nixpkgs/pkgs/development/libraries/silgraphite/graphite2.nix
index 25f4b5e13177..b047d6870746 100644
--- a/nixpkgs/pkgs/development/libraries/silgraphite/graphite2.nix
+++ b/nixpkgs/pkgs/development/libraries/silgraphite/graphite2.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
 
   # Remove a test that fails to statically link (undefined reference to png and
   # freetype symbols)
-  postConfigure = lib.optionals static ''
+  postConfigure = lib.optionalString static ''
     sed -e '/freetype freetype.c/d' -i ../tests/examples/CMakeLists.txt
   '';
 
diff --git a/nixpkgs/pkgs/development/libraries/simdjson/default.nix b/nixpkgs/pkgs/development/libraries/simdjson/default.nix
index efa007da902e..3ee1a1d0689e 100644
--- a/nixpkgs/pkgs/development/libraries/simdjson/default.nix
+++ b/nixpkgs/pkgs/development/libraries/simdjson/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "simdjson";
-  version = "0.9.2";
+  version = "0.9.7";
 
   src = fetchFromGitHub {
     owner = "simdjson";
     repo = "simdjson";
     rev = "v${version}";
-    sha256 = "sha256-L/a/vTthh7XkiwuvlGk9q+uLEBf8vaPoV1x1fG44zeg=";
+    sha256 = "sha256-3ZLEp2RQhQ7QsRGLimWlZQM8PMTv07NlFoe64ES2+Ug=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/simgear/default.nix b/nixpkgs/pkgs/development/libraries/simgear/default.nix
index b5df83a0b90c..6167d63544f4 100644
--- a/nixpkgs/pkgs/development/libraries/simgear/default.nix
+++ b/nixpkgs/pkgs/development/libraries/simgear/default.nix
@@ -4,7 +4,7 @@
 , curl
 }:
 let
-  version = "2020.3.8";
+  version = "2020.3.11";
   shortVersion = builtins.substring 0 6 version;
 in
 stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://sourceforge/flightgear/release-${shortVersion}/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-UXcWV9MPu7c+QlFjrhxtQ6ruAcxuKtewwphu4tt5dWc=";
+    sha256 = "sha256-u438vCo7AUPR/88B0alh5WbvId0z2cx2jW2apYcdTzw=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/snack/default.nix b/nixpkgs/pkgs/development/libraries/snack/default.nix
index 8750bdf2ac6c..8c97d0224c66 100644
--- a/nixpkgs/pkgs/development/libraries/snack/default.nix
+++ b/nixpkgs/pkgs/development/libraries/snack/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "The Snack Sound Toolkit (Tcl)";
-    homepage = "http://www.speech.kth.se/snack/";
+    homepage = "https://www.speech.kth.se/snack/";
     license = lib.licenses.gpl2;
     broken = true;
   };
diff --git a/nixpkgs/pkgs/development/libraries/sope/default.nix b/nixpkgs/pkgs/development/libraries/sope/default.nix
index 25c65d82632d..df0aeeac3236 100644
--- a/nixpkgs/pkgs/development/libraries/sope/default.nix
+++ b/nixpkgs/pkgs/development/libraries/sope/default.nix
@@ -1,21 +1,21 @@
-{ gnustep, lib, fetchFromGitHub , libxml2, openssl_1_1
+{ gnustep, lib, fetchFromGitHub , libxml2, openssl
 , openldap, mariadb, libmysqlclient, postgresql }:
 with lib;
 
 gnustep.stdenv.mkDerivation rec {
   pname = "sope";
-  version = "5.1.1";
+  version = "5.2.0";
 
   src = fetchFromGitHub {
     owner = "inverse-inc";
     repo = pname;
     rev = "SOPE-${version}";
-    sha256 = "0pap7c38kgadyp1a6qkmf9xhk69ybpmhfd4kc2n5nafhdbvks985";
+    sha256 = "14s9rcnglkwl0nmbmpdxxbiqqnr3m8n7x69idm1crgbbjkj4gi68";
   };
 
   hardeningDisable = [ "format" ];
   nativeBuildInputs = [ gnustep.make ];
-  buildInputs = flatten ([ gnustep.base libxml2 openssl_1_1 ]
+  buildInputs = flatten ([ gnustep.base libxml2 openssl ]
     ++ optional (openldap != null) openldap
     ++ optionals (mariadb != null) [ libmysqlclient mariadb ]
     ++ optional (postgresql != null) postgresql);
diff --git a/nixpkgs/pkgs/development/libraries/spglib/default.nix b/nixpkgs/pkgs/development/libraries/spglib/default.nix
index 3d1236a03dbb..9f50c80bf7a1 100644
--- a/nixpkgs/pkgs/development/libraries/spglib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/spglib/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "spglib";
-  version = "1.16.1";
+  version = "1.16.2";
 
   src = fetchFromGitHub {
     owner = "atztogo";
     repo = "spglib";
     rev = "v${version}";
-    sha256 = "1sk59nnar9npka4mdcfh4154ja46i35y4gbq892kwqidzyfs80in";
+    sha256 = "1sbrk26xyvlhqxxv9cq2ycxwbiafgmh7lf221377zpqq8q3iavd7";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/sqlcipher/default.nix b/nixpkgs/pkgs/development/libraries/sqlcipher/default.nix
index 44da759409ee..1874e3d82552 100644
--- a/nixpkgs/pkgs/development/libraries/sqlcipher/default.nix
+++ b/nixpkgs/pkgs/development/libraries/sqlcipher/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, openssl, tcl, installShellFiles, readline ? null, ncurses ? null }:
+{ stdenv, lib, fetchFromGitHub, openssl, tcl, installShellFiles, buildPackages, readline ? null, ncurses ? null }:
 
 assert readline != null -> ncurses != null;
 
@@ -13,14 +13,15 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-E23PTNnVZbBQtHL0YjUwHNVUA76XS8rlARBOVvX6zZw=";
   };
 
-  nativeBuildInputs = [ installShellFiles ];
-
-  buildInputs = [ readline ncurses openssl tcl ];
+  nativeBuildInputs = [ installShellFiles tcl ];
+  buildInputs = [ readline ncurses openssl ];
+  depsBuildBuild = [ buildPackages.stdenv.cc ];
 
   configureFlags = [ "--enable-threadsafe" "--disable-tcl" ];
 
   CFLAGS = [ "-DSQLITE_ENABLE_COLUMN_METADATA=1" "-DSQLITE_SECURE_DELETE=1" "-DSQLITE_ENABLE_UNLOCK_NOTIFY=1" "-DSQLITE_HAS_CODEC" ];
   LDFLAGS = lib.optional (readline != null) "-lncurses";
+  BUILD_CC = "$(CC_FOR_BUILD)";
 
   doCheck = false; # fails. requires tcl?
 
diff --git a/nixpkgs/pkgs/development/libraries/subunit/default.nix b/nixpkgs/pkgs/development/libraries/subunit/default.nix
index cb824decc6ca..9cc61d200086 100644
--- a/nixpkgs/pkgs/development/libraries/subunit/default.nix
+++ b/nixpkgs/pkgs/development/libraries/subunit/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, pkg-config, check, cppunit, perl, pythonPackages }:
+{ lib, stdenv, fetchurl, pkg-config, check, cppunit, perl, python3Packages }:
 
 # NOTE: for subunit python library see pkgs/top-level/python-packages.nix
 
@@ -12,9 +12,9 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ check cppunit perl pythonPackages.wrapPython ];
+  buildInputs = [ check cppunit perl python3Packages.wrapPython ];
 
-  propagatedBuildInputs = with pythonPackages; [ testtools testscenarios ];
+  propagatedBuildInputs = with python3Packages; [ testtools testscenarios ];
 
   postFixup = "wrapPythonPrograms";
 
diff --git a/nixpkgs/pkgs/development/libraries/t1lib/default.nix b/nixpkgs/pkgs/development/libraries/t1lib/default.nix
index 495993a64ab6..5bd4b02b61d9 100644
--- a/nixpkgs/pkgs/development/libraries/t1lib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/t1lib/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation {
   buildInputs = [ libX11 libXaw ];
   buildFlags = [ "without_doc" ];
 
-  postInstall = lib.optional (!stdenv.isDarwin) "chmod +x $out/lib/*.so.*"; # ??
+  postInstall = lib.optionalString (!stdenv.isDarwin) "chmod +x $out/lib/*.so.*"; # ??
 
   meta = with lib; {
     description = "A type 1 font rasterizer library for UNIX/X11";
diff --git a/nixpkgs/pkgs/development/libraries/talloc/default.nix b/nixpkgs/pkgs/development/libraries/talloc/default.nix
index 27705c578584..07d830f00ce7 100644
--- a/nixpkgs/pkgs/development/libraries/talloc/default.nix
+++ b/nixpkgs/pkgs/development/libraries/talloc/default.nix
@@ -10,13 +10,13 @@
 , wafHook
 }:
 
-stdenv.mkDerivation (rec {
+stdenv.mkDerivation rec {
   pname = "talloc";
-  version = "2.3.2";
+  version = "2.3.3";
 
   src = fetchurl {
     url = "mirror://samba/talloc/${pname}-${version}.tar.gz";
-    sha256 = "sha256-J6A++Z44TXeRJN91XesinNF2H5Reym0gDoz9m/Upe9c=";
+    sha256 = "sha256-a+lbI2i9CvHEzXqIFG62zuoY5Gw//JMwv2JitA0diqo=";
   };
 
   nativeBuildInputs = [
@@ -42,6 +42,11 @@ stdenv.mkDerivation (rec {
     "--builtin-libraries=replace"
   ];
 
+  # python-config from build Python gives incorrect values when cross-compiling.
+  # If python-config is not found, the build falls back to using the sysconfig
+  # module, which works correctly in all cases.
+  PYTHON_CONFIG = "/invalid";
+
   # this must not be exported before the ConfigurePhase otherwise waf whines
   preBuild = lib.optionalString stdenv.hostPlatform.isMusl ''
     export NIX_CFLAGS_LINK="-no-pie -shared";
@@ -57,9 +62,4 @@ stdenv.mkDerivation (rec {
     license = licenses.gpl3;
     platforms = platforms.all;
   };
-} // lib.optionalAttrs (stdenv.hostPlatform != stdenv.buildPlatform) {
-  # python-config from build Python gives incorrect values when cross-compiling.
-  # If python-config is not found, the build falls back to using the sysconfig
-  # module, which works correctly when cross-compiling.
-  PYTHON_CONFIG = "/invalid";
-})
+}
diff --git a/nixpkgs/pkgs/development/libraries/tclap/default.nix b/nixpkgs/pkgs/development/libraries/tclap/default.nix
index 8cd9900b65bf..eb49efa6c871 100644
--- a/nixpkgs/pkgs/development/libraries/tclap/default.nix
+++ b/nixpkgs/pkgs/development/libraries/tclap/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "tclap";
-  version = "1.2.3";
+  version = "1.2.4";
 
   src = fetchurl {
     url = "mirror://sourceforge/tclap/${pname}-${version}.tar.gz";
-    sha256 = "sha256-GefbUoFUDxVDSHcLw6dIRXX09Umu+OAKq8yUs5X3c8k=";
+    sha256 = "sha256-Y0xbWduxzLydal9t5JSiV+KaP1nctvwwRF/zm0UYhXQ=";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/libraries/tdb/default.nix b/nixpkgs/pkgs/development/libraries/tdb/default.nix
index 658bdb2f9d5d..2e2e09be1083 100644
--- a/nixpkgs/pkgs/development/libraries/tdb/default.nix
+++ b/nixpkgs/pkgs/development/libraries/tdb/default.nix
@@ -19,6 +19,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [
+    python3
     pkg-config
     wafHook
     libxslt
@@ -38,6 +39,11 @@ stdenv.mkDerivation rec {
     "--builtin-libraries=replace"
   ];
 
+  # python-config from build Python gives incorrect values when cross-compiling.
+  # If python-config is not found, the build falls back to using the sysconfig
+  # module, which works correctly in all cases.
+  PYTHON_CONFIG = "/invalid";
+
   meta = with lib; {
     description = "The trivial database";
     longDescription = ''
diff --git a/nixpkgs/pkgs/development/libraries/tezos-rust-libs/default.nix b/nixpkgs/pkgs/development/libraries/tezos-rust-libs/default.nix
index bd406d632455..67826f07a433 100644
--- a/nixpkgs/pkgs/development/libraries/tezos-rust-libs/default.nix
+++ b/nixpkgs/pkgs/development/libraries/tezos-rust-libs/default.nix
@@ -19,10 +19,11 @@ rustPlatform.buildRustPackage rec {
   '';
 
   postInstall = ''
-    mkdir $out/lib/tezos-rust-libs
     cp -r rustc-bls12-381/include $out/include
-    cp $out/lib/librustc_bls12_381.a $out/lib/tezos-rust-libs
-    cp $out/lib/librustzcash.a $out/lib/tezos-rust-libs
+    cp -r librustzcash/include $out
+    cp -r $out/lib $out/tmp
+    mkdir $out/lib/tezos-rust-libs
+    mv $out/tmp/ $out/lib/tezos-rust-libs/
   '';
 
   doCheck = true;
diff --git a/nixpkgs/pkgs/development/libraries/thrift/0.10.nix b/nixpkgs/pkgs/development/libraries/thrift/0.10.nix
index d81912b07c61..001de25e9963 100644
--- a/nixpkgs/pkgs/development/libraries/thrift/0.10.nix
+++ b/nixpkgs/pkgs/development/libraries/thrift/0.10.nix
@@ -1,5 +1,5 @@
-{ lib, stdenv, fetchurl, boost, zlib, libevent, openssl, python, pkg-config, bison
-, flex, twisted
+{ lib, stdenv, fetchurl, boost, zlib, libevent, openssl, python3, pkg-config, bison
+, flex
 }:
 
 stdenv.mkDerivation rec {
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [
-    boost zlib libevent openssl python bison flex twisted
+    boost zlib libevent openssl bison flex (python3.withPackages (ps: [ps.twisted]))
   ];
 
   preConfigure = "export PY_PREFIX=$out";
diff --git a/nixpkgs/pkgs/development/libraries/thrift/default.nix b/nixpkgs/pkgs/development/libraries/thrift/default.nix
index a34fc36484d9..6460be99fd47 100644
--- a/nixpkgs/pkgs/development/libraries/thrift/default.nix
+++ b/nixpkgs/pkgs/development/libraries/thrift/default.nix
@@ -1,5 +1,5 @@
-{ lib, stdenv, fetchurl, boost, zlib, libevent, openssl, python, cmake, pkg-config
-, bison, flex, twisted
+{ lib, stdenv, fetchurl, boost, zlib, libevent, openssl, python3, cmake, pkg-config
+, bison, flex
 , static ? stdenv.hostPlatform.isStatic
 }:
 
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake pkg-config bison flex ];
   buildInputs = [ boost zlib libevent openssl ]
-    ++ lib.optionals (!static) [ python twisted ];
+    ++ lib.optionals (!static) [ (python3.withPackages (ps: [ps.twisted])) ];
 
   preConfigure = "export PY_PREFIX=$out";
 
diff --git a/nixpkgs/pkgs/development/libraries/tiledb/default.nix b/nixpkgs/pkgs/development/libraries/tiledb/default.nix
index 0fa1ea8bd392..6bc0d3ef7534 100644
--- a/nixpkgs/pkgs/development/libraries/tiledb/default.nix
+++ b/nixpkgs/pkgs/development/libraries/tiledb/default.nix
@@ -21,13 +21,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tiledb";
-  version = "2.2.4";
+  version = "2.3.3";
 
   src = fetchFromGitHub {
     owner = "TileDB-Inc";
     repo = "TileDB";
     rev = version;
-    sha256 = "sha256-xzzWB20vhnneiqJqZAeSUjZouqhPPg2bGaot1IQDMEo=";
+    sha256 = "sha256-3Z5+QUzo2f24q11j6s8KX2vHLFkipFvGk2VFComWW/o=";
   };
 
   # (bundled) blosc headers have a warning on some archs that it will be using
diff --git a/nixpkgs/pkgs/development/libraries/tinyobjloader/default.nix b/nixpkgs/pkgs/development/libraries/tinyobjloader/default.nix
index ad4a999e45cd..113e5f5ae95a 100644
--- a/nixpkgs/pkgs/development/libraries/tinyobjloader/default.nix
+++ b/nixpkgs/pkgs/development/libraries/tinyobjloader/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tinyobjloader";
-  version = "1.0.6";
+  version = "1.0.7";
 
   src = fetchFromGitHub {
     owner = "tinyobjloader";
     repo = "tinyobjloader";
     rev = "v${version}";
-    sha256 = "162168995f4xch7hm3iy6m57r8iqkpzi5x9qh1gsghlxwdxxqbis";
+    sha256 = "sha256-BNffbicnLTGK2GQ2/bB328LFU9fqHxrpAVj2hJaekWc=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/tkrzw/default.nix b/nixpkgs/pkgs/development/libraries/tkrzw/default.nix
index 17375125bd27..e8163c5282c7 100644
--- a/nixpkgs/pkgs/development/libraries/tkrzw/default.nix
+++ b/nixpkgs/pkgs/development/libraries/tkrzw/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "tkrzw";
-  version = "0.9.3";
+  version = "0.9.51";
   # TODO: defeat multi-output reference cycles
 
   src = fetchurl {
     url = "https://dbmx.net/tkrzw/pkg/tkrzw-${version}.tar.gz";
-    sha256 = "1ap93fsw7vhn329kvy8g20l8p4jdygfl8r8mrgsfcpa20a29fnwl";
+    hash = "sha256-UqF2cJ/r8OksAKyHw6B9UiBFIXgKeDmD2ZyJ+iPkY2w=";
   };
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/development/libraries/tllist/default.nix b/nixpkgs/pkgs/development/libraries/tllist/default.nix
index c84973919990..ed957f95776c 100644
--- a/nixpkgs/pkgs/development/libraries/tllist/default.nix
+++ b/nixpkgs/pkgs/development/libraries/tllist/default.nix
@@ -1,6 +1,6 @@
 { stdenv
 , lib
-, fetchgit
+, fetchFromGitea
 , meson
 , ninja
 }:
@@ -9,18 +9,23 @@ stdenv.mkDerivation rec {
   pname = "tllist";
   version = "1.0.5";
 
-  src = fetchgit {
-    url = "https://codeberg.org/dnkl/tllist.git";
+  src = fetchFromGitea {
+    domain = "codeberg.org";
+    owner = "dnkl";
+    repo = "tllist";
     rev = version;
     sha256 = "wJEW7haQBtCR2rffKOFyqH3aq0eBr6H8T6gnBs2bNRg=";
   };
 
   nativeBuildInputs = [ meson ninja ];
 
+  mesonBuildType = "release";
+
   doCheck = true;
 
   meta = with lib; {
     homepage = "https://codeberg.org/dnkl/tllist";
+    changelog = "https://codeberg.org/dnkl/tllist/releases/tag/${version}";
     description = "C header file only implementation of a typed linked list";
     longDescription = ''
       Most C implementations of linked list are untyped. That is, their data
diff --git a/nixpkgs/pkgs/development/libraries/totem-pl-parser/default.nix b/nixpkgs/pkgs/development/libraries/totem-pl-parser/default.nix
index 335f2ac2e0a0..1a180be283fb 100644
--- a/nixpkgs/pkgs/development/libraries/totem-pl-parser/default.nix
+++ b/nixpkgs/pkgs/development/libraries/totem-pl-parser/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "totem-pl-parser";
-  version = "3.26.5";
+  version = "3.26.6";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "132jihnf51zs98yjkc6jxyqib4f3dawpjm17g4bj4j78y93dww2k";
+    sha256 = "wN8PaNXPnX2kPIHH8T8RFYNYNo+Ywi1Hci870EvTrBw=";
   };
 
   passthru = {
diff --git a/nixpkgs/pkgs/development/libraries/tracker-miners/default.nix b/nixpkgs/pkgs/development/libraries/tracker-miners/default.nix
index c571e2238447..a5553dd0d00a 100644
--- a/nixpkgs/pkgs/development/libraries/tracker-miners/default.nix
+++ b/nixpkgs/pkgs/development/libraries/tracker-miners/default.nix
@@ -26,7 +26,6 @@
 , json-glib
 , libcue
 , libexif
-, libgrss
 , libgsf
 , libgxps
 , libiptcdata
@@ -86,7 +85,6 @@ stdenv.mkDerivation rec {
     json-glib
     libcue
     libexif
-    libgrss
     libgsf
     libgxps
     libiptcdata
@@ -108,6 +106,11 @@ stdenv.mkDerivation rec {
   mesonFlags = [
     # TODO: tests do not like our sandbox
     "-Dfunctional_tests=false"
+
+    # libgrss is unmaintained and has no new releases since 2015, and an open
+    # security issue since then. Despite a patch now being availab, we're opting
+    # to be safe due to the general state of the project
+    "-Dminer_rss=false"
   ];
 
   patches = [
diff --git a/nixpkgs/pkgs/development/libraries/trompeloeil/default.nix b/nixpkgs/pkgs/development/libraries/trompeloeil/default.nix
index 062c441063c0..8a6f03dd99ea 100644
--- a/nixpkgs/pkgs/development/libraries/trompeloeil/default.nix
+++ b/nixpkgs/pkgs/development/libraries/trompeloeil/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "trompeloeil";
-  version = "40";
+  version = "41";
 
   src = fetchFromGitHub {
     owner = "rollbear";
     repo = "trompeloeil";
     rev = "v${version}";
-    sha256 = "sha256-q0iMM3Hb5Y21RUhhxFEd/q4OCJFJ12gozZd5jCDscro=";
+    sha256 = "sha256-NsWRN520K4FLp+8W83bXT6pgQEADYFnWiB6gy3MjsWY=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/ucx/default.nix b/nixpkgs/pkgs/development/libraries/ucx/default.nix
index 872e7fbc4f21..7e1f36f0f96e 100644
--- a/nixpkgs/pkgs/development/libraries/ucx/default.nix
+++ b/nixpkgs/pkgs/development/libraries/ucx/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ucx";
-  version = "1.10.1";
+  version = "1.11.0";
 
   src = fetchFromGitHub {
     owner = "openucx";
     repo = "ucx";
     rev = "v${version}";
-    sha256 = "1jl7wrmcpf6lakpi1gvjcs18cy0mmwgsv5wdd80zyl41cpd8gm8d";
+    sha256 = "1ww5a9m1jbjjhsjlvjvlcvcv0sv388irfx8xdh0pd9w03xv754d0";
   };
 
   nativeBuildInputs = [ autoreconfHook doxygen ];
diff --git a/nixpkgs/pkgs/development/libraries/unicorn/default.nix b/nixpkgs/pkgs/development/libraries/unicorn/default.nix
index 7f768d9631bb..0a760c07a97e 100644
--- a/nixpkgs/pkgs/development/libraries/unicorn/default.nix
+++ b/nixpkgs/pkgs/development/libraries/unicorn/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "unicorn";
-  version = "1.0.2";
+  version = "1.0.3";
 
   src = fetchFromGitHub {
     owner = "unicorn-engine";
     repo = pname;
     rev = version;
-    sha256 = "0jgnyaq6ykpbg5hrwc0p3pargmr9hpzqfsj6ymp4k07pxnqal76j";
+    sha256 = "079azb1df4nwsnsck36b200rnf03aqilw30h3fiaqi1ixash957k";
   };
 
   nativeBuildInputs = [ pkg-config cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/unixODBC/default.nix b/nixpkgs/pkgs/development/libraries/unixODBC/default.nix
index ef70f4b2c37f..2ab717782e51 100644
--- a/nixpkgs/pkgs/development/libraries/unixODBC/default.nix
+++ b/nixpkgs/pkgs/development/libraries/unixODBC/default.nix
@@ -5,7 +5,10 @@ stdenv.mkDerivation rec {
   version = "2.3.9";
 
   src = fetchurl {
-    url = "ftp://ftp.unixodbc.org/pub/unixODBC/${pname}-${version}.tar.gz";
+    urls = [
+      "ftp://ftp.unixodbc.org/pub/unixODBC/${pname}-${version}.tar.gz"
+      "http://www.unixodbc.org/${pname}-${version}.tar.gz"
+    ];
     sha256 = "sha256-UoM+rD1oHIsMmlpl8uvXRbOpZPII/HSPl35EAVoxsgc=";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/usbredir/default.nix b/nixpkgs/pkgs/development/libraries/usbredir/default.nix
index 0313b8c81ef2..502c50db1220 100644
--- a/nixpkgs/pkgs/development/libraries/usbredir/default.nix
+++ b/nixpkgs/pkgs/development/libraries/usbredir/default.nix
@@ -1,27 +1,53 @@
-{ lib, stdenv, fetchurl, pkg-config, libusb1 }:
+{ lib
+, stdenv
+, cmake
+, fetchFromGitLab
+, pkg-config
+, meson
+, ninja
+, glib
+, libusb1
+}:
 
 stdenv.mkDerivation rec {
   pname = "usbredir";
-  version = "0.8.0";
+  version = "0.10.0";
 
-  src = fetchurl {
-    url = "https://spice-space.org/download/usbredir/${pname}-${version}.tar.bz2";
-    sha256 = "002yik1x7kn0427xahvnhjby2np14a6xqw7c3dx530n9h5d9rg47";
+  src = fetchFromGitLab {
+    domain = "gitlab.freedesktop.org";
+    owner = "spice";
+    repo = "usbredir";
+    rev = "${pname}-${version}";
+    sha256 = "1dz8jms9l6gg2hw0k6p1p1lnchc9mcgmskgvm5gbdvw3j7wrhdbz";
   };
 
-  NIX_CFLAGS_COMPILE = "-Wno-error";
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+  ];
 
-  nativeBuildInputs = [ pkg-config ];
-  propagatedBuildInputs = [ libusb1 ];
+  buildInputs = [
+    glib
+  ];
+
+  propagatedBuildInputs = [
+    libusb1
+  ];
+
+  mesonFlags = [
+    "-Dgit_werror=disabled"
+    "-Dtools=enabled"
+    "-Dfuzzing=disabled"
+  ];
 
   outputs = [ "out" "dev" ];
 
   meta = with lib; {
     description = "USB traffic redirection protocol";
     homepage = "https://www.spice-space.org/usbredir.html";
-    license = licenses.lgpl21;
-
-    maintainers = [ maintainers.offline ];
+    license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [ offline ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/vulkan-headers/default.nix b/nixpkgs/pkgs/development/libraries/vulkan-headers/default.nix
index f065b83bcc84..e9b9112c8fd7 100644
--- a/nixpkgs/pkgs/development/libraries/vulkan-headers/default.nix
+++ b/nixpkgs/pkgs/development/libraries/vulkan-headers/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchFromGitHub, cmake }:
 stdenv.mkDerivation rec {
   pname = "vulkan-headers";
-  version = "1.2.162.0";
+  version = "1.2.182.0";
 
   nativeBuildInputs = [ cmake ];
 
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     owner = "KhronosGroup";
     repo = "Vulkan-Headers";
     rev = "sdk-${version}";
-    sha256 = "057c49w1138l02v9gqsk1z8wdz0iilp96jblnldycwm9jc1a1ipq";
+    sha256 = "03j0kzq2qxhy0y82l10m8am26zrms2sjrdb1dcbpv9zh5vkxhcla";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/libraries/vulkan-loader/default.nix b/nixpkgs/pkgs/development/libraries/vulkan-loader/default.nix
index b3882a919421..21239b9b4368 100644
--- a/nixpkgs/pkgs/development/libraries/vulkan-loader/default.nix
+++ b/nixpkgs/pkgs/development/libraries/vulkan-loader/default.nix
@@ -1,23 +1,23 @@
-{ lib, stdenv, fetchFromGitHub, cmake, python3, vulkan-headers, pkg-config
-, xlibsWrapper, libxcb, libXrandr, libXext, wayland, addOpenGLRunpath }:
+{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, libX11, libxcb
+, libXrandr, wayland, vulkan-headers, addOpenGLRunpath }:
 
 stdenv.mkDerivation rec {
   pname = "vulkan-loader";
-  version = "1.2.162.0";
+  version = "1.2.182.0";
 
-  src = fetchFromGitHub {
-    owner = "KhronosGroup";
-    repo = "Vulkan-Loader";
-    rev = "sdk-${version}";
-    sha256 = "0w9i2pliw4ccmjyfzff4i2f3hxwsfd54jg7ahv2v634qmx59bsbi";
-  };
+  src = (assert version == vulkan-headers.version;
+    fetchFromGitHub {
+      owner = "KhronosGroup";
+      repo = "Vulkan-Loader";
+      rev = "sdk-${version}";
+      sha256 = "0gmr9q3a6s8xvaa74fs9zbi9c305i2b3rx768qvl79nhbdj8nc02";
+    });
 
-  nativeBuildInputs = [ pkg-config cmake ];
-  buildInputs = [ python3 xlibsWrapper libxcb libXrandr libXext wayland ];
+  nativeBuildInputs = [ cmake pkg-config ];
+  buildInputs = [ libX11 libxcb libXrandr vulkan-headers wayland ];
 
   cmakeFlags = [
     "-DSYSCONFDIR=${addOpenGLRunpath.driverLink}/share"
-    "-DVULKAN_HEADERS_INSTALL_DIR=${vulkan-headers}"
     "-DCMAKE_INSTALL_INCLUDEDIR=${vulkan-headers}/include"
   ];
 
diff --git a/nixpkgs/pkgs/development/libraries/webkitgtk/default.nix b/nixpkgs/pkgs/development/libraries/webkitgtk/default.nix
index 40f51d6f48a3..90ad985cfb81 100644
--- a/nixpkgs/pkgs/development/libraries/webkitgtk/default.nix
+++ b/nixpkgs/pkgs/development/libraries/webkitgtk/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv
-, runCommandNoCC
+, runCommand
 , fetchurl
 , fetchpatch
 , perl
@@ -36,7 +36,7 @@
 , libidn
 , libedit
 , readline
-, sdk
+, apple_sdk
 , libGL
 , libGLU
 , mesa
@@ -63,7 +63,7 @@ assert enableGeoLocation -> geoclue2 != null;
 
 stdenv.mkDerivation rec {
   pname = "webkitgtk";
-  version = "2.32.1";
+  version = "2.32.3";
 
   outputs = [ "out" "dev" ];
 
@@ -71,7 +71,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://webkitgtk.org/releases/${pname}-${version}.tar.xz";
-    sha256 = "05v9hgpkc6mi2klrd8nqql1n8xzq8rgdz3hvyy369xkhgwqifq8k";
+    sha256 = "sha256-wfSW9axlTv5M72L71PL77u8mWgfF50GeXSkAv+6lLLw=";
   };
 
   patches = lib.optionals stdenv.isLinux [
@@ -82,12 +82,6 @@ stdenv.mkDerivation rec {
     })
     ./libglvnd-headers.patch
   ] ++ lib.optionals stdenv.isDarwin [
-    (fetchpatch {
-      url = "https://github.com/WebKit/WebKit/commit/94cdcd289b993ed4d39c17d4b8b90db7c81a9b10.diff";
-      sha256 = "sha256-ywrTEjf3ATqI0Vvs60TeAZ+m58kCibum4DamRWrQfaA=";
-      excludes = [ "Source/WebKit/ChangeLog" ];
-    })
-
     # https://bugs.webkit.org/show_bug.cgi?id=225856
     (fetchpatch {
       url = "https://bug-225856-attachments.webkit.org/attachment.cgi?id=428797";
@@ -173,13 +167,15 @@ stdenv.mkDerivation rec {
   ]) ++ lib.optionals stdenv.isDarwin [
     libedit
     readline
+  ] ++ lib.optional (stdenv.isDarwin && !stdenv.isAarch64) (
     # Pull a header that contains a definition of proc_pid_rusage().
     # (We pick just that one because using the other headers from `sdk` is not
-    # compatible with our C++ standard library)
-    (runCommandNoCC "${pname}_headers" {} ''
-      install -Dm444 "${lib.getDev sdk}"/include/libproc.h "$out"/include/libproc.h
-    '')
-  ] ++ lib.optionals stdenv.isLinux [
+    # compatible with our C++ standard library. This header is already in
+    # the standard library on aarch64)
+    runCommand "${pname}_headers" {} ''
+      install -Dm444 "${lib.getDev apple_sdk.sdk}"/include/libproc.h "$out"/include/libproc.h
+    ''
+  ) ++ lib.optionals stdenv.isLinux [
     bubblewrap
     libseccomp
     systemd
diff --git a/nixpkgs/pkgs/development/libraries/wolfssl/default.nix b/nixpkgs/pkgs/development/libraries/wolfssl/default.nix
index 4c21eb274222..d696961a4eb0 100644
--- a/nixpkgs/pkgs/development/libraries/wolfssl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/wolfssl/default.nix
@@ -1,8 +1,12 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+}:
 
 stdenv.mkDerivation rec {
   pname = "wolfssl";
-  version = "4.8.0";
+  version = "4.8.1";
 
   src = fetchFromGitHub {
     owner = "wolfSSL";
@@ -11,12 +15,25 @@ stdenv.mkDerivation rec {
     sha256 = "1w9gs9cq2yhj5s3diz3x1l15pgrc1pbm00jccizvcjyibmwyyf2h";
   };
 
-  # almost same as Debian but for now using --enable-all --enable-reproducible-build instead of --enable-distro to ensure options.h gets installed
-  configureFlags = [ "--enable-all" "--enable-reproducible-build" "--enable-pkcs11" "--enable-tls13" "--enable-base64encode" ];
+  # Almost same as Debian but for now using --enable-all --enable-reproducible-build instead of --enable-distro to ensure options.h gets installed
+  configureFlags = [
+    "--enable-all"
+    "--enable-base64encode"
+    "--enable-pkcs11"
+    "--enable-reproducible-build"
+    "--enable-tls13"
+  ];
 
-  outputs = [ "out" "dev" "doc" "lib" ];
+  outputs = [
+    "dev"
+    "doc"
+    "lib"
+    "out"
+  ];
 
-  nativeBuildInputs = [ autoreconfHook ];
+  nativeBuildInputs = [
+    autoreconfHook
+  ];
 
   postInstall = ''
      # fix recursive cycle:
@@ -28,9 +45,9 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A small, fast, portable implementation of TLS/SSL for embedded devices";
-    homepage    = "https://www.wolfssl.com/";
-    platforms   = platforms.all;
-    license     = licenses.gpl2Plus;
-    maintainers = with maintainers; [ mcmtroffaes ];
+    homepage = "https://www.wolfssl.com/";
+    platforms = platforms.all;
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ fab ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/wxsqlite3/default.nix b/nixpkgs/pkgs/development/libraries/wxsqlite3/default.nix
index 8acd4e99636b..d1f6903961b7 100644
--- a/nixpkgs/pkgs/development/libraries/wxsqlite3/default.nix
+++ b/nixpkgs/pkgs/development/libraries/wxsqlite3/default.nix
@@ -1,32 +1,36 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchFromGitHub
 , autoreconfHook
 , wxGTK
 , sqlite
-, darwin
+, Cocoa
+, setfile
+, rez
+, derez
 }:
 
 stdenv.mkDerivation rec {
   pname = "wxsqlite3";
-  version = "4.6.2";
+  version = "4.6.4";
 
   src = fetchFromGitHub {
     owner = "utelle";
     repo = "wxsqlite3";
     rev = "v${version}";
-    sha256 = "10jlb4p3ahck9apcy2c2mrrjynv4c1dfwwbf1vwd8dl17pgv4kgs";
+    sha256 = "sha256-fIm8xbNP7pjzvfBn7NgYmUtbVVh2aiaXQVANJQnrWCs=";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
 
   buildInputs = [ wxGTK sqlite ]
-    ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Cocoa darwin.stubs.setfile darwin.stubs.rez darwin.stubs.derez ];
+    ++ lib.optionals stdenv.isDarwin [ Cocoa setfile rez derez ];
 
   meta = with lib; {
     homepage = "https://utelle.github.io/wxsqlite3/";
     description = "A C++ wrapper around the public domain SQLite 3.x for wxWidgets";
     platforms = platforms.unix;
     maintainers = with maintainers; [ vrthra ];
-    license = [ licenses.lgpl2 ];
+    license = with licenses; [ lgpl3Plus gpl3Plus ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/xmlsec/default.nix b/nixpkgs/pkgs/development/libraries/xmlsec/default.nix
index 71a10764667c..2dceaeda6490 100644
--- a/nixpkgs/pkgs/development/libraries/xmlsec/default.nix
+++ b/nixpkgs/pkgs/development/libraries/xmlsec/default.nix
@@ -6,11 +6,11 @@
 lib.fix (self:
 stdenv.mkDerivation rec {
   pname = "xmlsec";
-  version = "1.2.31";
+  version = "1.2.32";
 
   src = fetchurl {
     url = "https://www.aleksey.com/xmlsec/download/xmlsec1-${version}.tar.gz";
-    sha256 = "mxC8Uswx5PdhYuOXXlDbJrcatJxXHYELMRymJr5aCyY=";
+    sha256 = "sha256-44NwKFMjYATlsI5CS4r+m1P+nzGqp6U4LznZUz63wEM=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/libraries/xvidcore/default.nix b/nixpkgs/pkgs/development/libraries/xvidcore/default.nix
index dbc3d837a45a..57f2403cfe3f 100644
--- a/nixpkgs/pkgs/development/libraries/xvidcore/default.nix
+++ b/nixpkgs/pkgs/development/libraries/xvidcore/default.nix
@@ -3,11 +3,11 @@
 with lib;
 stdenv.mkDerivation rec {
   pname = "xvidcore";
-  version = "1.3.5";
+  version = "1.3.7";
 
   src = fetchurl {
-    url = "http://downloads.xvid.org/downloads/${pname}-${version}.tar.bz2";
-    sha256 = "1d0hy1w9sn6491a3vhyf3vmhq4xkn6yd4ralx1191s6qz5wz483w";
+    url = "https://downloads.xvid.com/downloads/${pname}-${version}.tar.bz2";
+    sha256 = "1xyg3amgg27zf7188kss7y248s0xhh1vv8rrk0j9bcsd5nasxsmf";
   };
 
   preConfigure = ''
diff --git a/nixpkgs/pkgs/development/libraries/yder/default.nix b/nixpkgs/pkgs/development/libraries/yder/default.nix
index df36f48648d4..49544a374682 100644
--- a/nixpkgs/pkgs/development/libraries/yder/default.nix
+++ b/nixpkgs/pkgs/development/libraries/yder/default.nix
@@ -1,16 +1,23 @@
-{ stdenv, lib, fetchFromGitHub, cmake, orcania, systemd, check, subunit
+{ stdenv
+, lib
+, fetchFromGitHub
+, cmake
+, orcania
+, systemd
+, check
+, subunit
 , withSystemd ? stdenv.isLinux
 }:
-assert withSystemd -> systemd != null;
+
 stdenv.mkDerivation rec {
   pname = "yder";
-  version = "1.4.12";
+  version = "1.4.14";
 
   src = fetchFromGitHub {
     owner = "babelouest";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1cmla7rpwvsj1b3jhp9q8y3ni5n8rsqxib87yhh07b7xnlhy0gcj";
+    sha256 = "sha256-4FSUBFqrxTbqg2EKYuXv4gUeE40ViNZRk5gHv+C2p9o=";
   };
 
   patches = [
@@ -21,7 +28,8 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake ];
 
-  buildInputs = [ orcania ] ++ lib.optional withSystemd systemd;
+  buildInputs = [ orcania ]
+    ++ lib.optional withSystemd systemd;
 
   checkInputs = [ check subunit ];
 
diff --git a/nixpkgs/pkgs/development/libraries/yubico-pam/default.nix b/nixpkgs/pkgs/development/libraries/yubico-pam/default.nix
index 1289b03618c6..e417de5e1ff0 100644
--- a/nixpkgs/pkgs/development/libraries/yubico-pam/default.nix
+++ b/nixpkgs/pkgs/development/libraries/yubico-pam/default.nix
@@ -1,15 +1,25 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config
-, asciidoc, libxslt, docbook_xsl
-, pam, yubikey-personalization, libyubikey, libykclient }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+, pkg-config
+, asciidoc
+, libxslt
+, docbook_xsl
+, pam
+, yubikey-personalization
+, libyubikey
+, libykclient
+}:
 
 stdenv.mkDerivation rec {
   pname = "yubico-pam";
-  version = "unstable-2019-07-01";
+  version = "2.27";
   src = fetchFromGitHub {
     owner = "Yubico";
     repo = pname;
-    rev = "b5bd00db81e0e0e0ecced65c684080bb56ddc35b";
-    sha256 = "10dq8dqi3jldllj6p8r9hldx9sank9n82c44w8akxrs1vli6nj3m";
+    rev = version;
+    sha256 = "0hb773zlf11xz4bwmsqv2mq5d4aq2g0crdr5cp9xwc4ivi5gd4kg";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config asciidoc libxslt docbook_xsl ];
diff --git a/nixpkgs/pkgs/development/libraries/zchunk/default.nix b/nixpkgs/pkgs/development/libraries/zchunk/default.nix
index cf0063f7780d..c2ddda7a6c5f 100644
--- a/nixpkgs/pkgs/development/libraries/zchunk/default.nix
+++ b/nixpkgs/pkgs/development/libraries/zchunk/default.nix
@@ -11,15 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zchunk";
-  version = "1.1.11";
-
-  outputs = [ "out" "lib" "dev" ];
+  version = "1.1.16";
 
   src = fetchFromGitHub {
     owner = "zchunk";
     repo = pname;
     rev = version;
-    hash = "sha256-r+qWJOUnTyPJjM9eW44Q2DMKxx4HloyfNrQ6xWDO9vQ=";
+    hash = "sha256-+8FkivLTZXdu0+1wu+7T98y6rQzIHbG9l15Abrbln1o=";
   };
 
   nativeBuildInputs = [
@@ -33,6 +31,8 @@ stdenv.mkDerivation rec {
     zstd
   ] ++ lib.optional stdenv.isDarwin argp-standalone;
 
+  outputs = [ "out" "lib" "dev" ];
+
   meta = with lib; {
     homepage = "https://github.com/zchunk/zchunk";
     description = "File format designed for highly efficient deltas while maintaining good compression";
diff --git a/nixpkgs/pkgs/development/libraries/zeroc-ice/3.6.nix b/nixpkgs/pkgs/development/libraries/zeroc-ice/3.6.nix
index 896973e32eb8..e8082e50447a 100644
--- a/nixpkgs/pkgs/development/libraries/zeroc-ice/3.6.nix
+++ b/nixpkgs/pkgs/development/libraries/zeroc-ice/3.6.nix
@@ -1,17 +1,19 @@
-{ stdenv, lib, fetchFromGitHub, fetchpatch, mcpp, bzip2, expat, openssl, db5
+{ 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.3";
+  version = "3.6.5";
 
   src = fetchFromGitHub {
     owner = "zeroc-ice";
     repo = "ice";
     rev = "v${version}";
-    sha256 = "05xympbns32aalgcfcpxwfd7bvg343f16xpg6jv5s335ski3cjy2";
+    sha256 = "073h7v1f2sw77cr1a6xxa5l9j547pz24sxa9qdjc4zki0ivcnq15";
   };
 
   buildInputs = [ mcpp bzip2 expat openssl db5 ]
@@ -21,19 +23,14 @@ stdenv.mkDerivation rec {
     sourceRoot=$sourceRoot/cpp
   '';
 
-  prePatch = lib.optional stdenv.isDarwin ''
+  prePatch = lib.optionalString stdenv.isDarwin ''
     substituteInPlace config/Make.rules.Darwin \
         --replace xcrun ""
   '';
 
   patches = [
-    # Fixes compilation issues with GCC 8 using one of the patches
-    # provided in https://github.com/zeroc-ice/ice/issues/82
-    ( fetchpatch {
-      url = "https://github.com/zeroc-ice/ice/commit/a6a4981616b669432ff7b588179d6e93694d9e3f.patch";
-      sha256 = "17j5r7gsa3izrm7zln4mrp7l16h532gvmpas0kzglybicbiz7d56";
-      stripLen = 1;
-    })
+    # Fixes compilation warning about uninitialied variables (in test code)
+    ./uninitialized-variable-warning.patch
   ];
 
   preBuild = ''
@@ -58,10 +55,5 @@ stdenv.mkDerivation rec {
     rm -rf $out/share/slice
   '';
 
-  meta = with lib; {
-    homepage = "http://www.zeroc.com/ice.html";
-    description = "The internet communications engine";
-    license = licenses.gpl2;
-    platforms = platforms.unix;
-  };
+  inherit (zeroc-ice) meta;
 }
diff --git a/nixpkgs/pkgs/development/libraries/zeroc-ice/default.nix b/nixpkgs/pkgs/development/libraries/zeroc-ice/default.nix
index ef16e381bcfd..fcd836348556 100644
--- a/nixpkgs/pkgs/development/libraries/zeroc-ice/default.nix
+++ b/nixpkgs/pkgs/development/libraries/zeroc-ice/default.nix
@@ -1,5 +1,7 @@
-{ stdenv, lib, fetchFromGitHub, bzip2, expat, openssl, lmdb
+{ stdenv, lib, fetchFromGitHub
+, bzip2, expat, libedit, lmdb, openssl
 , darwin, libiconv, Security
+, python3 # for tests only
 , cpp11 ? false
 }:
 
@@ -21,21 +23,21 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "zeroc-ice";
-  version = "3.7.2";
+  version = "3.7.6";
 
   src = fetchFromGitHub {
     owner = "zeroc-ice";
     repo = "ice";
     rev = "v${version}";
-    sha256 = "0m9lh79dfpcwcp2jhmj0wqdcsw3rl633x2hzfw9n2i34jjv64fvg";
+    sha256 = "0zc8gmlzl2f38m1fj6pv2vm8ka7fkszd6hx2lb8gfv65vn3m4sk4";
   };
 
-  buildInputs = [ zeroc_mcpp bzip2 expat openssl lmdb ]
+  buildInputs = [ zeroc_mcpp bzip2 expat libedit lmdb openssl ]
     ++ lib.optionals stdenv.isDarwin [ darwin.cctools libiconv Security ];
 
   NIX_CFLAGS_COMPILE = "-Wno-error=class-memaccess -Wno-error=deprecated-copy";
 
-  prePatch = lib.optional stdenv.isDarwin ''
+  prePatch = lib.optionalString stdenv.isDarwin ''
     substituteInPlace Make.rules.Darwin \
         --replace xcrun ""
   '';
@@ -51,12 +53,25 @@ in stdenv.mkDerivation rec {
     )
   '';
 
-  buildFlags = [ "srcs" ]; # no tests; they require network
-
   enableParallelBuilding = true;
 
   outputs = [ "out" "bin" "dev" ];
 
+  doCheck = true;
+  checkInputs = with python3.pkgs; [ passlib ];
+  checkPhase = with lib; let
+    # these tests require network access so we need to skip them.
+    brokenTests = map escapeRegex [
+      "Ice/udp" "Glacier2" "IceGrid/simple" "IceStorm" "IceDiscovery/simple"
+    ];
+    # matches CONFIGS flag in makeFlagsArray
+    configFlag = optionalString cpp11 "--config=cpp11-shared";
+  in ''
+    runHook preCheck
+    ${python3.interpreter} ./cpp/allTests.py ${configFlag} --rfilter='${concatStringsSep "|" brokenTests}'
+    runHook postCheck
+  '';
+
   postInstall = ''
     mkdir -p $bin $dev/share
     mv $out/bin $bin
@@ -66,7 +81,7 @@ in stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://www.zeroc.com/ice.html";
     description = "The internet communications engine";
-    license = licenses.gpl2;
+    license = licenses.gpl2Only;
     platforms = platforms.unix;
     maintainers = with maintainers; [ abbradar ];
   };
diff --git a/nixpkgs/pkgs/development/libraries/zeroc-ice/uninitialized-variable-warning.patch b/nixpkgs/pkgs/development/libraries/zeroc-ice/uninitialized-variable-warning.patch
new file mode 100644
index 000000000000..878dee26bb83
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/zeroc-ice/uninitialized-variable-warning.patch
@@ -0,0 +1,20 @@
+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/nixpkgs/pkgs/development/libraries/zlib-ng/default.nix b/nixpkgs/pkgs/development/libraries/zlib-ng/default.nix
index 7ba07cd92407..4323d8adda05 100644
--- a/nixpkgs/pkgs/development/libraries/zlib-ng/default.nix
+++ b/nixpkgs/pkgs/development/libraries/zlib-ng/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zlib-ng";
-  version = "2.0.2";
+  version = "2.0.5";
 
   src = fetchFromGitHub {
     owner = "zlib-ng";
     repo = "zlib-ng";
     rev = version;
-    sha256 = "1cl6asrav2512j7p02zcpibywjljws0m7aazvb3q2r9qiyvyswji";
+    sha256 = "sha256-KvV1XtPoagqPmijdr20eejsXWG7PRjMUwGPLXazqUHM=";
   };
 
   outputs = [ "out" "dev" "bin" ];
diff --git a/nixpkgs/pkgs/development/lisp-modules/clwrapper/default.nix b/nixpkgs/pkgs/development/lisp-modules/clwrapper/default.nix
index 69872eb41af6..83f3347bdf2e 100644
--- a/nixpkgs/pkgs/development/lisp-modules/clwrapper/default.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/clwrapper/default.nix
@@ -42,7 +42,7 @@ stdenv.mkDerivation {
 
   setupHook = ./setup-hook.sh;
 
-  phases="installPhase fixupPhase";
+  dontUnpack = true;
 
   ASDF_OUTPUT_TRANSLATIONS="${builtins.storeDir}/:${builtins.storeDir}";
 
diff --git a/nixpkgs/pkgs/development/lisp-modules/shell.nix b/nixpkgs/pkgs/development/lisp-modules/shell.nix
index bd6eea65f6f3..9fc0c0b2aa0a 100644
--- a/nixpkgs/pkgs/development/lisp-modules/shell.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/shell.nix
@@ -10,7 +10,28 @@ self = rec {
     freetds
     lispPackages.quicklisp-to-nix lispPackages.quicklisp-to-nix-system-info
   ];
-  CPATH = "${libfixposix}/include";
-  LD_LIBRARY_PATH = "${openssl.out}/lib:${fuse}/lib:${libuv}/lib:${libev}/lib:${libmysqlclient}/lib:${libmysqlclient}/lib/mysql:${postgresql.lib}/lib:${sqlite.out}/lib:${libfixposix}/lib:${freetds}/lib:${openssl_lib_marked}/lib:${glib.out}/lib:${gdk-pixbuf}/lib:${cairo}/lib:${pango.out}/lib:${gtk3}/lib:${webkitgtk}/lib:${gobject-introspection}/lib";
+  CPATH = lib.makeSearchPath "include"
+    [ libfixposix
+    ];
+  LD_LIBRARY_PATH = lib.makeLibraryPath
+    [ cairo
+      freetds
+      fuse
+      gdk-pixbuf
+      glib
+      gobject-introspection
+      gtk3
+      libev
+      libfixposix
+      libmysqlclient
+      libuv
+      openssl
+      openssl_lib_marked
+      pango
+      postgresql
+      sqlite
+      webkitgtk
+    ]
+    + ":${libmysqlclient}/lib/mysql";
 };
 in stdenv.mkDerivation self
diff --git a/nixpkgs/pkgs/development/lua-modules/generated-packages.nix b/nixpkgs/pkgs/development/lua-modules/generated-packages.nix
index 07a91f96ff31..c5a1a41cbd3c 100644
--- a/nixpkgs/pkgs/development/lua-modules/generated-packages.nix
+++ b/nixpkgs/pkgs/development/lua-modules/generated-packages.nix
@@ -1,135 +1,148 @@
 
 /* pkgs/development/lua-modules/generated-packages.nix is an auto-generated file -- DO NOT EDIT!
 Regenerate it with:
-nixpkgs$ maintainers/scripts/update-luarocks-packages pkgs/development/lua-modules/generated-packages.nix
+nixpkgs$ ./maintainers/scripts/update-luarocks-packages
 
-These packages are manually refined in lua-overrides.nix
+You can customize the generated packages in pkgs/development/lua-modules/overrides.nix
 */
-{ self, lib, fetchurl, fetchgit, pkgs, ... } @ args:
+
+{ self, stdenv, lib, fetchurl, fetchgit, ... } @ args:
 self: super:
 with self;
 {
-
 alt-getopt = buildLuarocksPackage {
   pname = "alt-getopt";
   version = "0.8.0-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/alt-getopt-0.8.0-1.rockspec";
+    sha256 = "17yxi1lsrbkmwzcn1x48x8758d7v1frsz1bmnpqfv4vfnlh0x210";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/cheusov/lua-alt-getopt",
+  "rev": "f495c21d6a203ab280603aa5799e636fb5651ae7",
+  "date": "2017-01-06T13:50:55+03:00",
+  "path": "/nix/store/z72v77cw9188408ynsppwhlzii2dr740-lua-alt-getopt",
+  "sha256": "1kq7r5668045diavsqd1j6i9hxdpsk99w8q4zr8cby9y3ws4q6rv",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "mirror://luarocks/alt-getopt-0.8.0-1.src.rock";
-    sha256 = "1mi97dqb97sf47vb6wrk12yf1yxcaz0asr9gbgwyngr5n1adh5i3";
-  };
   disabled = (luaOlder "5.1") || (luaAtLeast "5.4");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/cheusov/lua-alt-getopt";
     description = "Process application arguments the same way as getopt_long";
-    maintainers = with maintainers; [ arobyn ];
+    maintainers = with lib.maintainers; [ arobyn ];
     license.fullName = "MIT/X11";
   };
 };
-ansicolors = buildLuarocksPackage {
-  pname = "ansicolors";
-  version = "1.0.2-3";
 
-  src = fetchurl {
-    url    = "mirror://luarocks/ansicolors-1.0.2-3.src.rock";
-    sha256 = "1mhmr090y5394x1j8p44ws17sdwixn5a0r4i052bkfgk3982cqfz";
-  };
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
-
-  meta = with lib; {
-    homepage = "https://github.com/kikito/ansicolors.lua";
-    description = "Library for color Manipulation.";
-    license.fullName = "MIT <http://opensource.org/licenses/MIT>";
-  };
-};
 argparse = buildLuarocksPackage {
   pname = "argparse";
-  version = "0.7.0-1";
+  version = "scm-2";
 
-  src = fetchurl {
-    url    = "mirror://luarocks/argparse-0.7.0-1.src.rock";
-    sha256 = "1jvar543d21x7wq8rxxaaf7h1ricd7zvxc16xwjblwa9ffgcmcs7";
-  };
-  disabled = (luaOlder "5.1") || (luaAtLeast "5.4");
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/luarocks/argparse.git",
+  "rev": "27967d7b52295ea7885671af734332038c132837",
+  "date": "2020-07-08T11:17:50+10:00",
+  "path": "/nix/store/vjm6c826hgvj7h7vqlbgkfpvijsd8yaf-argparse",
+  "sha256": "0idg79d0dfis4qhbkbjlmddq87np75hb2vj41i6prjpvqacvg5v1",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
+
+  disabled = (luaOlder "5.1") || (luaAtLeast "5.5");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/luarocks/argparse";
     description = "A feature-rich command-line argument parser";
     license.fullName = "MIT";
   };
 };
+
 basexx = buildLuarocksPackage {
   pname = "basexx";
-  version = "0.4.1-1";
-
-  knownRockspec = (fetchurl {
-    url    = "mirror://luarocks/basexx-0.4.1-1.rockspec";
-    sha256 = "0kmydxm2wywl18cgj303apsx7hnfd68a9hx9yhq10fj7yfcxzv5f";
-  }).outPath;
+  version = "scm-0";
+  rockspecDir = "dist";
 
   src = fetchurl {
-    url    = "https://github.com/aiq/basexx/archive/v0.4.1.tar.gz";
-    sha256 = "1rnz6xixxqwy0q6y2hi14rfid4w47h69gfi0rnlq24fz8q2b0qpz";
+    url    = "https://github.com/aiq/basexx/archive/master.tar.gz";
+    sha256 = "1x0d24aaj4zld4ifr7mi8zwrym5shsfphmwx5jzw2zg22r6xzlz1";
   };
 
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/aiq/basexx";
     description = "A base2, base16, base32, base64 and base85 library for Lua";
     license.fullName = "MIT";
   };
 };
+
 binaryheap = buildLuarocksPackage {
   pname = "binaryheap";
   version = "0.4-1";
 
   src = fetchurl {
-    url    = "mirror://luarocks/binaryheap-0.4-1.src.rock";
-    sha256 = "11rd8r3bpinfla2965jgjdv1hilqdc1q6g1qla5978d7vzg19kpc";
+    url    = "https://github.com/Tieske/binaryheap.lua/archive/version_0v4.tar.gz";
+    sha256 = "0f5l4nb5s7dycbkgh3rrl7pf0npcf9k6m2gr2bsn09fjyb3bdc8h";
   };
+
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/Tieske/binaryheap.lua";
     description = "Binary heap implementation in pure Lua";
-    maintainers = with maintainers; [ vcunat ];
+    maintainers = with lib.maintainers; [ vcunat ];
     license.fullName = "MIT/X11";
   };
 };
+
 bit32 = buildLuarocksPackage {
   pname = "bit32";
   version = "5.3.0-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/bit32-5.3.0-1.rockspec";
+    sha256 = "1d6xdihpksrj5a3yvsvnmf3vfk15hj6f8n1rrs65m7adh87hc0yd";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/keplerproject/lua-compat-5.2.git",
+  "rev": "10c7d40943601eb1f80caa9e909688bb203edc4d",
+  "date": "2015-02-17T10:44:04+01:00",
+  "path": "/nix/store/9kz7kgjmq0w9plrpha866bmwsgp4rfhn-lua-compat-5.2",
+  "sha256": "1ipqlbvb5w394qwhm2f3w6pdrgy8v4q8sps5hh3pqz14dcqwakhj",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "mirror://luarocks/bit32-5.3.0-1.src.rock";
-    sha256 = "19i7kc2pfg9hc6qjq4kka43q6qk71bkl2rzvrjaks6283q6wfyzy";
-  };
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
+  meta = {
     homepage = "http://www.lua.org/manual/5.2/manual.html#6.7";
     description = "Lua 5.2 bit manipulation library";
-    maintainers = with maintainers; [ lblasc ];
+    maintainers = with lib.maintainers; [ lblasc ];
     license.fullName = "MIT/X11";
   };
 };
+
 busted = buildLuarocksPackage {
   pname = "busted";
   version = "2.0.0-1";
-
   knownRockspec = (fetchurl {
-    url    = "mirror://luarocks/busted-2.0.0-1.rockspec";
+    url    = "https://raw.githubusercontent.com/rocks-moonscript-org/moonrocks-mirror/master/busted-2.0.0-1.rockspec";
     sha256 = "0cbw95bjxl667n9apcgng2kr5hq6bc7gp3vryw4dzixmfabxkcbw";
   }).outPath;
-
   src = fetchurl {
     url    = "https://github.com/Olivine-Labs/busted/archive/v2.0.0.tar.gz";
     sha256 = "1ps7b3f4diawfj637mibznaw4x08gn567pyni0m2s50hrnw4v8zx";
@@ -138,302 +151,398 @@ busted = buildLuarocksPackage {
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua lua_cliargs luafilesystem luasystem dkjson say luassert lua-term penlight mediator_lua ];
 
-  meta = with lib; {
+  meta = {
     homepage = "http://olivinelabs.com/busted/";
     description = "Elegant Lua unit testing.";
     license.fullName = "MIT <http://opensource.org/licenses/MIT>";
   };
 };
+
 cassowary = buildLuarocksPackage {
   pname = "cassowary";
-  version = "2.2-1";
+  version = "2.3.1-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/cassowary-2.3.1-1.rockspec";
+    sha256 = "1rgs0rmlmhghml0gi4dn0rg2iq7rqnn8w8dcy9r3qsbkpyylbajc";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/sile-typesetter/cassowary.lua",
+  "rev": "c022a120dee86979d18e4c4613e55e721c632d80",
+  "date": "2021-07-19T14:37:34+03:00",
+  "path": "/nix/store/rzsbr6gqg8vhchl24ma3p1h4slhk0xp7-cassowary.lua",
+  "sha256": "1r668qcvd2a1rx17xp7ajp5wjhyvh2fwn0c60xmw0mnarjb5w1pq",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "mirror://luarocks/cassowary-2.2-1.src.rock";
-    sha256 = "0laghzk5jbap5rfd8sasnrdrbda649sfciarba8rhygm0qni1azy";
-  };
+  disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua penlight ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/sile-typesetter/cassowary.lua";
     description = "The cassowary constraint solver";
-    maintainers = with maintainers; [ marsam alerque ];
+    maintainers = with lib.maintainers; [ marsam alerque ];
     license.fullName = "Apache 2";
   };
 };
-cjson = buildLuarocksPackage {
-  pname = "lua-cjson";
-  version = "2.1.0.6-1";
-
-  src = fetchurl {
-    url    = "mirror://luarocks/lua-cjson-2.1.0.6-1.src.rock";
-    sha256 = "0dqqkn0aygc780kiq2lbydb255r8is7raf7md0gxdjcagp8afps5";
-  };
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
-    homepage = "https://www.kyne.com.au/~mark/software/lua-cjson.php";
-    description = "A fast JSON encoding/parsing module";
-    license.fullName = "MIT";
-  };
-};
 compat53 = buildLuarocksPackage {
   pname = "compat53";
   version = "0.7-1";
-
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/compat53-0.7-1.rockspec";
+    sha256 = "1r7a3q1cjrcmdycrv2ikgl83irjhxs53sa88v2fdpr9aaamlb101";
+  }).outPath;
   src = fetchurl {
-    url    = "mirror://luarocks/compat53-0.7-1.src.rock";
-    sha256 = "0kpaxbpgrwjn4jjlb17fn29a09w6lw732d21bi0302kqcaixqpyb";
+    url    = "https://github.com/keplerproject/lua-compat-5.3/archive/v0.7.zip";
+    sha256 = "1x3wv1qx7b2zlf3fh4q9pmi2xxkcdm024g7bf11rpv0yacnhran3";
   };
+
   disabled = (luaOlder "5.1") || (luaAtLeast "5.4");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/keplerproject/lua-compat-5.3";
     description = "Compatibility module providing Lua-5.3-style APIs for Lua 5.2 and 5.1";
-    maintainers = with maintainers; [ vcunat ];
+    maintainers = with lib.maintainers; [ vcunat ];
     license.fullName = "MIT";
   };
 };
+
 cosmo = buildLuarocksPackage {
   pname = "cosmo";
   version = "16.06.04-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/cosmo-16.06.04-1.rockspec";
+    sha256 = "0ipv1hrlhvaz1myz6qxabq7b7kb3bz456cya3r292487a3g9h9pb";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/mascarenhas/cosmo.git",
+  "rev": "e774f08cbf8d271185812a803536af8a8240ac51",
+  "date": "2016-06-17T05:39:58-07:00",
+  "path": "/nix/store/k3p4xc4cfihp4h8aj6vacr25rpcsjd96-cosmo",
+  "sha256": "03b5gwsgxd777970d2h6rx86p7ivqx7bry8xmx2r396g3w85qy2p",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "mirror://luarocks/cosmo-16.06.04-1.src.rock";
-    sha256 = "1adrk74j0x1yzhy0xz9k80hphxdjvm09kpwpbx00sk3kic6db0ww";
-  };
   propagatedBuildInputs = [ lpeg ];
 
-  meta = with lib; {
+  meta = {
     homepage = "http://cosmo.luaforge.net";
     description = "Safe templates for Lua";
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with lib.maintainers; [ marsam ];
     license.fullName = "MIT/X11";
   };
 };
+
 coxpcall = buildLuarocksPackage {
   pname = "coxpcall";
   version = "1.17.0-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/coxpcall-1.17.0-1.rockspec";
+    sha256 = "0mf0nggg4ajahy5y1q5zh2zx9rmgzw06572bxx6k8b736b8j7gca";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/keplerproject/coxpcall",
+  "rev": "ea22f44e490430e40217f0792bf82eaeaec51903",
+  "date": "2018-02-26T19:53:11-03:00",
+  "path": "/nix/store/1q4p5qvr6rlwisyarlgnmk4dx6vp8xdl-coxpcall",
+  "sha256": "1k3q1rr2kavkscf99b5njxhibhp6iwhclrjk6nnnp233iwc2jvqi",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "mirror://luarocks/coxpcall-1.17.0-1.src.rock";
-    sha256 = "0n1jmda4g7x06458596bamhzhcsly6x0p31yp6q3jz4j11zv1zhi";
-  };
 
-  meta = with lib; {
+  meta = {
     homepage = "http://keplerproject.github.io/coxpcall";
     description = "Coroutine safe xpcall and pcall";
     license.fullName = "MIT/X11";
   };
 };
+
 cqueues = buildLuarocksPackage {
   pname = "cqueues";
-  version = "20190813.52-0";
-
+  version = "20200726.52-0";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/cqueues-20200726.52-0.rockspec";
+    sha256 = "0w2kq9w0wda56k02rjmvmzccz6bc3mn70s9v7npjadh85i5zlhhp";
+  }).outPath;
   src = fetchurl {
-    url    = "mirror://luarocks/cqueues-20190813.52-0.src.rock";
-    sha256 = "1mfhana4xdfddzxmr7vkvm65679hx549f9k1rmsrz6is2gji5wvi";
+    url    = "https://github.com/wahern/cqueues/archive/rel-20200726.tar.gz";
+    sha256 = "0lhd02ag3r1sxr2hx847rdjkddm04l1vf5234v5cz9bd4kfjw4cy";
   };
+
   disabled = (lua.luaversion != "5.2");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
+  meta = {
     homepage = "http://25thandclement.com/~william/projects/cqueues.html";
     description = "Continuation Queues: Embeddable asynchronous networking, threading, and notification framework for Lua on Unix.";
-    maintainers = with maintainers; [ vcunat ];
+    maintainers = with lib.maintainers; [ vcunat ];
     license.fullName = "MIT/X11";
   };
 };
+
 cyrussasl = buildLuarocksPackage {
   pname = "cyrussasl";
   version = "1.1.0-1";
 
-  knownRockspec = (fetchurl {
-    url    = "mirror://luarocks/cyrussasl-1.1.0-1.rockspec";
-    sha256 = "0zy9l00l7kr3sq8phdm52jqhlqy35vdv6rdmm8mhjihcbx1fsplc";
-  }).outPath;
-
   src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "git://github.com/JorjBauer/lua-cyrussasl",
+  "url": "https://github.com/JorjBauer/lua-cyrussasl",
   "rev": "78ceec610da76d745d0eff4e21a4fb24832aa72d",
   "date": "2015-08-21T18:24:54-04:00",
+  "path": "/nix/store/s7n7f80pz8k6lvfav55a5rwy5l45vs4l-lua-cyrussasl",
   "sha256": "14kzm3vk96k2i1m9f5zvpvq4pnzaf7s91h5g4h4x2bq1mynzw2s1",
-  "fetchSubmodules": true
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
 }
- '') ["date"]) ;
+ '') ["date" "path"]) ;
 
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
-    homepage = "https://github.com/JorjBauer/lua-cyrussasl";
+  meta = {
+    homepage = "http://github.com/JorjBauer/lua-cyrussasl";
     description = "Cyrus SASL library for Lua 5.1+";
-    maintainers = with maintainers; [ vcunat ];
     license.fullName = "BSD";
   };
 };
+
 digestif = buildLuarocksPackage {
   pname = "digestif";
-  version = "0.2-1";
+  version = "dev-1";
+
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/astoff/digestif",
+  "rev": "3a9076f76d8121526adcdbb9303d04dd3c721a34",
+  "date": "2021-06-24T16:18:41+02:00",
+  "path": "/nix/store/alzrvcxdmdfqqmm0diaxfljyr3jz1zk3-digestif",
+  "sha256": "110vsqyyp2pvn6nk492a9r56iyzymy0w1f2hvx26pv5x01mxm20x",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "mirror://luarocks/digestif-0.2-1.src.rock";
-    sha256 = "03blpj5lxlhmxa4hnj21sz7sc84g96igbc7r97yb2smmlbyq8hxd";
-  };
   disabled = (luaOlder "5.3");
-  propagatedBuildInputs = [ lua lpeg dkjson ];
+  propagatedBuildInputs = [ lua lpeg ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/astoff/digestif/";
     description = "A code analyzer for TeX";
     license.fullName = "MIT";
   };
 };
+
 dkjson = buildLuarocksPackage {
   pname = "dkjson";
-  version = "2.5-2";
-
+  version = "2.5-3";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/dkjson-2.5-3.rockspec";
+    sha256 = "18xngdzl2q207cil64aj81qi6qvj1g269pf07j5x4pbvamd6a1l3";
+  }).outPath;
   src = fetchurl {
-    url    = "mirror://luarocks/dkjson-2.5-2.src.rock";
-    sha256 = "1qy9bzqnb9pf9d48hik4iq8h68aw3270kmax7mmpvvpw7kkyp483";
+    url    = "http://dkolf.de/src/dkjson-lua.fsl/tarball/dkjson-2.5.tar.gz?uuid=release_2_5";
+    sha256 = "14wanday1l7wj2lnpabbxw8rcsa0zbvcdi1w88rdr5gbsq3xwasm";
   };
-  disabled = (luaOlder "5.1") || (luaAtLeast "5.4");
+
+  disabled = (luaOlder "5.1") || (luaAtLeast "5.5");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
+  meta = {
     homepage = "http://dkolf.de/src/dkjson-lua.fsl/";
     description = "David Kolf's JSON module for Lua";
     license.fullName = "MIT/X11";
   };
 };
+
 fifo = buildLuarocksPackage {
   pname = "fifo";
   version = "0.2-0";
-
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/fifo-0.2-0.rockspec";
+    sha256 = "0vr9apmai2cyra2n573nr3dyk929gzcs4nm1096jdxcixmvh2ymq";
+  }).outPath;
   src = fetchurl {
-    url    = "mirror://luarocks/fifo-0.2-0.src.rock";
-    sha256 = "082c5g1m8brnsqj5gnjs65bm7z50l6b05cfwah14lqaqsr5a5pjk";
+    url    = "https://github.com/daurnimator/fifo.lua/archive/0.2.zip";
+    sha256 = "1a028yyc1xlkaavij8rkz18dqf96risrj65xp0p72y2mhsrckdp1";
   };
+
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/daurnimator/fifo.lua";
     description = "A lua library/'class' that implements a FIFO";
     license.fullName = "MIT/X11";
   };
 };
+
+gitsigns-nvim = buildLuarocksPackage {
+  pname = "gitsigns.nvim";
+  version = "scm-1";
+
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/lewis6991/gitsigns.nvim",
+  "rev": "daa233aabb4dbc7c870ea7300bcfeef96d49c2a3",
+  "date": "2021-08-29T23:08:52+01:00",
+  "path": "/nix/store/4685c871dzh0kqf3fs5iqmaysag4m9nx-gitsigns.nvim",
+  "sha256": "0y0il8v0g8kvsyzir4hbkwvzv9wk2iqs1apxlvijk9ccfdk9ya0p",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
+
+  disabled = (lua.luaversion != "5.1");
+  propagatedBuildInputs = [ lua plenary-nvim ];
+
+  meta = {
+    homepage = "http://github.com/lewis6991/gitsigns.nvim";
+    description = "Git signs written in pure lua";
+    license.fullName = "MIT/X11";
+  };
+};
+
 http = buildLuarocksPackage {
   pname = "http";
   version = "0.3-0";
-
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/http-0.3-0.rockspec";
+    sha256 = "0fn3irkf5nnmfc83alc40b316hs8l7zdq2xlaiaa65sjd8acfvia";
+  }).outPath;
   src = fetchurl {
-    url    = "mirror://luarocks/http-0.3-0.src.rock";
-    sha256 = "0vvl687bh3cvjjwbyp9cphqqccm3slv4g7y3h03scp3vpq9q4ccq";
+    url    = "https://github.com/daurnimator/lua-http/archive/v0.3.zip";
+    sha256 = "13xyj8qx42mzn1z4lwwdfd7ha06a720q4b7d04ir6vvp2fwp3s4q";
   };
+
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua compat53 bit32 cqueues luaossl basexx lpeg lpeg_patterns binaryheap fifo ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/daurnimator/lua-http";
     description = "HTTP library for Lua";
-    maintainers = with maintainers; [ vcunat ];
+    maintainers = with lib.maintainers; [ vcunat ];
     license.fullName = "MIT";
   };
 };
+
 inspect = buildLuarocksPackage {
   pname = "inspect";
   version = "3.1.1-0";
-
+  knownRockspec = (fetchurl {
+    url    = "https://raw.githubusercontent.com/rocks-moonscript-org/moonrocks-mirror/master/inspect-3.1.1-0.rockspec";
+    sha256 = "00spibq2h4an8v0204vr1hny4vv6za720c37ipsahpjk198ayf1p";
+  }).outPath;
   src = fetchurl {
-    url    = "mirror://luarocks/inspect-3.1.1-0.src.rock";
-    sha256 = "0k4g9ahql83l4r2bykfs6sacf9l1wdpisav2i0z55fyfcdv387za";
+    url    = "https://github.com/kikito/inspect.lua/archive/v3.1.1.tar.gz";
+    sha256 = "1nz0yqhkd0nkymghrj99gb2id40g50drh4a96g3v5k7h1sbg94h2";
   };
+
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/kikito/inspect.lua";
     description = "Lua table visualizer, ideal for debugging";
     license.fullName = "MIT <http://opensource.org/licenses/MIT>";
   };
 };
+
 ldbus = buildLuarocksPackage {
   pname = "ldbus";
   version = "scm-0";
-
   knownRockspec = (fetchurl {
-    url    = "https://luarocks.org/dev/ldbus-scm-0.rockspec";
+    url    = "mirror://luarocks/ldbus-scm-0.rockspec";
     sha256 = "1yhkw5y8h1qf44vx31934k042cmnc7zcv2k0pv0g27wsmlxrlznx";
   }).outPath;
-
   src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "git://github.com/daurnimator/ldbus.git",
+  "url": "https://github.com/daurnimator/ldbus.git",
   "rev": "9e176fe851006037a643610e6d8f3a8e597d4073",
   "date": "2019-08-16T14:26:05+10:00",
+  "path": "/nix/store/gg4zldd6kx048d6p65b9cimg3arma8yh-ldbus",
   "sha256": "06wcz4i5b7kphqbry274q3ivnsh331rxiyf7n4qk3zx2kvarq08s",
-  "fetchSubmodules": true
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
 }
- '') ["date"]) ;
+ '') ["date" "path"]) ;
 
   disabled = (luaOlder "5.1") || (luaAtLeast "5.4");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/daurnimator/ldbus";
     description = "A Lua library to access dbus.";
     license.fullName = "MIT/X11";
   };
 };
+
 ldoc = buildLuarocksPackage {
   pname = "ldoc";
-  version = "1.4.6-2";
-
-  knownRockspec = (fetchurl {
-    url    = "mirror://luarocks/ldoc-1.4.6-2.rockspec";
-    sha256 = "14yb0qihizby8ja0fa82vx72vk903mv6m7izn39mzfrgb8mha0pm";
-  }).outPath;
+  version = "scm-3";
 
-  src = fetchurl {
-    url    = "http://stevedonovan.github.io/files/ldoc-1.4.6.zip";
-    sha256 = "1fvsmmjwk996ypzizcy565hj82bhj17vdb83ln6ff63mxr3zs1la";
-  };
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/stevedonovan/LDoc.git",
+  "rev": "bbd498ab39fa49318b36378430d3cdab571f8ba0",
+  "date": "2021-06-24T13:07:51+02:00",
+  "path": "/nix/store/pzk1qi4fdviz2pq5bg3q91jmrg8wziqx-LDoc",
+  "sha256": "05wd5m5v3gv777kgikj46216slxyf1zdbzl4idara9lcfw3mfyyw",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
   propagatedBuildInputs = [ penlight markdown ];
 
-  meta = with lib; {
+  meta = {
     homepage = "http://stevedonovan.github.com/ldoc";
     description = "A Lua Documentation Tool";
     license.fullName = "MIT/X11";
   };
 };
+
 lgi = buildLuarocksPackage {
   pname = "lgi";
   version = "0.9.2-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/lgi-0.9.2-1.rockspec";
+    sha256 = "1gqi07m4bs7xibsy4vx8qgyp3yb1wnh0gdq1cpwqzv35y6hn5ds3";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/pavouk/lgi.git",
+  "rev": "0fdcf8c677094d0c109dfb199031fdbc0c9c47ea",
+  "date": "2017-10-09T20:55:55+02:00",
+  "path": "/nix/store/vh82n8pc8dy5c8nph0vssk99vv7q4qg2-lgi",
+  "sha256": "03rbydnj411xpjvwsyvhwy4plm96481d7jax544mvk7apd8sd5jj",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "mirror://luarocks/lgi-0.9.2-1.src.rock";
-    sha256 = "07ajc5pdavp785mdyy82n0w6d592n96g95cvq025d6i0bcm2cypa";
-  };
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
-    homepage = "https://github.com/pavouk/lgi";
+  meta = {
+    homepage = "http://github.com/pavouk/lgi";
     description = "Lua bindings to GObject libraries";
     license.fullName = "MIT/X11";
   };
 };
+
 linenoise = buildLuarocksPackage {
   pname = "linenoise";
   version = "0.9-1";
 
-  knownRockspec = (fetchurl {
-    url    = "mirror://luarocks/linenoise-0.9-1.rockspec";
-    sha256 = "0wic8g0d066pj9k51farsvcdbnhry2hphvng68w9k4lh0zh45yg4";
-  }).outPath;
-
   src = fetchurl {
     url    = "https://github.com/hoelzro/lua-linenoise/archive/0.9.tar.gz";
     sha256 = "177h6gbq89arwiwxah9943i8hl5gvd9wivnd1nhmdl7d8x0dn76c";
@@ -442,708 +551,1026 @@ linenoise = buildLuarocksPackage {
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/hoelzro/lua-linenoise";
     description = "A binding for the linenoise command line library";
     license.fullName = "MIT/X11";
   };
 };
+
 ljsyscall = buildLuarocksPackage {
   pname = "ljsyscall";
   version = "0.12-1";
-
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/ljsyscall-0.12-1.rockspec";
+    sha256 = "0zna5s852vn7q414z56kkyqwpighaghyq7h7in3myap4d9vcgm01";
+  }).outPath;
   src = fetchurl {
-    url    = "mirror://luarocks/ljsyscall-0.12-1.src.rock";
-    sha256 = "12gs81lnzpxi5d409lbrvjfflld5l2xsdkfhkz93xg7v65sfhh2j";
+    url    = "https://github.com/justincormack/ljsyscall/archive/v0.12.tar.gz";
+    sha256 = "1w9g36nhxv92cypjia7igg1xpfrn3dbs3hfy6gnnz5mx14v50abf";
   };
+
   disabled = (lua.luaversion != "5.1");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
+  meta = {
     homepage = "http://www.myriabit.com/ljsyscall/";
     description = "LuaJIT Linux syscall FFI";
-    maintainers = with maintainers; [ lblasc ];
+    maintainers = with lib.maintainers; [ lblasc ];
     license.fullName = "MIT";
   };
 };
+
 lpeg = buildLuarocksPackage {
   pname = "lpeg";
   version = "1.0.2-1";
-
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/lpeg-1.0.2-1.rockspec";
+    sha256 = "08a8p5cwlwpjawk8sczb7bq2whdsng4mmhphahyklf1bkvl2li89";
+  }).outPath;
   src = fetchurl {
-    url    = "mirror://luarocks/lpeg-1.0.2-1.src.rock";
-    sha256 = "1g5zmfh0x7drc6mg2n0vvlga2hdc08cyp3hnb22mh1kzi63xdl70";
+    url    = "http://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.0.2.tar.gz";
+    sha256 = "1zjzl7acvcdavmcg5l7wi12jd4rh95q9pl5aiww7hv0v0mv6bmj8";
   };
+
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
+  meta = {
     homepage = "http://www.inf.puc-rio.br/~roberto/lpeg.html";
     description = "Parsing Expression Grammars For Lua";
-    maintainers = with maintainers; [ vyp ];
+    maintainers = with lib.maintainers; [ vyp ];
     license.fullName = "MIT/X11";
   };
 };
+
 lpeg_patterns = buildLuarocksPackage {
   pname = "lpeg_patterns";
   version = "0.5-0";
-
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/lpeg_patterns-0.5-0.rockspec";
+    sha256 = "1vzl3ryryc624mchclzsfl3hsrprb9q214zbi1xsjcc4ckq5qfh7";
+  }).outPath;
   src = fetchurl {
-    url    = "mirror://luarocks/lpeg_patterns-0.5-0.src.rock";
-    sha256 = "0mlw4nayrsdxrh98i26avz5i4170a9brciybw88kks496ra36v8f";
+    url    = "https://github.com/daurnimator/lpeg_patterns/archive/v0.5.zip";
+    sha256 = "17jizbyalzdg009p3x2260bln65xf8xhv9npr0kr93kv986j463b";
   };
+
   propagatedBuildInputs = [ lua lpeg ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/daurnimator/lpeg_patterns/archive/v0.5.zip";
     description = "a collection of LPEG patterns";
     license.fullName = "MIT";
   };
 };
+
 lpeglabel = buildLuarocksPackage {
   pname = "lpeglabel";
   version = "1.6.0-1";
-
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/lpeglabel-1.6.0-1.rockspec";
+    sha256 = "13gc32pggng6f95xx5zw9n9ian518wlgb26mna9kh4q2xa1k42pm";
+  }).outPath;
   src = fetchurl {
-    url    = "mirror://luarocks/lpeglabel-1.6.0-1.src.rock";
-    sha256 = "0mihrs0gcj40gsjbh4x9b5pm92w2vdwwd1f3fyibyd4a8r1h93r9";
+    url    = "https://github.com/sqmedeiros/lpeglabel/archive/v1.6.0-1.tar.gz";
+    sha256 = "1i02lsxj20iygqm8fy6dih1gh21lqk5qj1mv14wlrkaywnv35wcv";
   };
+
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/sqmedeiros/lpeglabel/";
     description = "Parsing Expression Grammars For Lua with Labeled Failures";
     license.fullName = "MIT/X11";
   };
 };
+
 lpty = buildLuarocksPackage {
   pname = "lpty";
   version = "1.2.2-1";
-
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/lpty-1.2.2-1.rockspec";
+    sha256 = "04af4mhiqrw3br4qzz7yznw9zy2m50wddwzgvzkvhd99ng71fkzg";
+  }).outPath;
   src = fetchurl {
-    url    = "mirror://luarocks/lpty-1.2.2-1.src.rock";
-    sha256 = "1vxvsjgjfirl6ranz6k4q4y2dnxqh72bndbk400if22x8lqbkxzm";
+    url    = "http://www.tset.de/downloads/lpty-1.2.2-1.tar.gz";
+    sha256 = "071mvz79wi9vr6hvrnb1rv19lqp1bh2fi742zkpv2sm1r9gy5rav";
   };
+
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
+  meta = {
     homepage = "http://www.tset.de/lpty/";
     description = "A simple facility for lua to control other programs via PTYs.";
     license.fullName = "MIT";
   };
 };
+
 lrexlib-gnu = buildLuarocksPackage {
   pname = "lrexlib-gnu";
-  version = "2.9.0-1";
+  version = "2.9.1-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/lrexlib-gnu-2.9.1-1.rockspec";
+    sha256 = "1jfjxh26iwsavipkwmscwv52l77qxzvibfmlvpskcpawyii7xcw8";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/rrthomas/lrexlib.git",
+  "rev": "69d5c442c5a4bdc1271103e88c5c798b605e9ed2",
+  "date": "2020-08-07T12:10:29+03:00",
+  "path": "/nix/store/vnnhcc0r9zhqwshmfzrn0ryai61l6xrd-lrexlib",
+  "sha256": "15dsxq0363940rij9za8mc224n9n58i2iqw1z7r1jh3qpkaciw7j",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "mirror://luarocks/lrexlib-gnu-2.9.0-1.src.rock";
-    sha256 = "036rda4rji1pbnbxk1nzjy5zmigdsiacqbzrbvciwq3lrxa2j5s2";
-  };
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
-    homepage = "https://github.com/rrthomas/lrexlib";
+  meta = {
+    homepage = "http://github.com/rrthomas/lrexlib";
     description = "Regular expression library binding (GNU flavour).";
     license.fullName = "MIT/X11";
   };
 };
+
 lrexlib-pcre = buildLuarocksPackage {
   pname = "lrexlib-pcre";
-  version = "2.9.0-1";
+  version = "2.9.1-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/lrexlib-pcre-2.9.1-1.rockspec";
+    sha256 = "036k27xaplxn128b3p67xiqm8k40s7bxvh87wc8v2cx1cc4b9ia4";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/rrthomas/lrexlib.git",
+  "rev": "69d5c442c5a4bdc1271103e88c5c798b605e9ed2",
+  "date": "2020-08-07T12:10:29+03:00",
+  "path": "/nix/store/vnnhcc0r9zhqwshmfzrn0ryai61l6xrd-lrexlib",
+  "sha256": "15dsxq0363940rij9za8mc224n9n58i2iqw1z7r1jh3qpkaciw7j",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "mirror://luarocks/lrexlib-pcre-2.9.0-1.src.rock";
-    sha256 = "1nqai27lbd85mcjf5cb05dbdfg460vmp8cr0lmb8dd63ivk8cbvx";
-  };
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
-    homepage = "https://github.com/rrthomas/lrexlib";
+  meta = {
+    homepage = "http://github.com/rrthomas/lrexlib";
     description = "Regular expression library binding (PCRE flavour).";
-    maintainers = with maintainers; [ vyp ];
+    maintainers = with lib.maintainers; [ vyp ];
     license.fullName = "MIT/X11";
   };
 };
+
 lrexlib-posix = buildLuarocksPackage {
   pname = "lrexlib-posix";
-  version = "2.9.0-1";
+  version = "2.9.1-1";
+  knownRockspec = (fetchurl {
+    url    = "https://raw.githubusercontent.com/rocks-moonscript-org/moonrocks-mirror/master/lrexlib-posix-2.9.1-1.rockspec";
+    sha256 = "1zxrx9yifm9ry4wbjgv86rlvq3ff6qivldvib3ha4767azla0j0r";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/rrthomas/lrexlib.git",
+  "rev": "69d5c442c5a4bdc1271103e88c5c798b605e9ed2",
+  "date": "2020-08-07T12:10:29+03:00",
+  "path": "/nix/store/vnnhcc0r9zhqwshmfzrn0ryai61l6xrd-lrexlib",
+  "sha256": "15dsxq0363940rij9za8mc224n9n58i2iqw1z7r1jh3qpkaciw7j",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "mirror://luarocks/lrexlib-posix-2.9.0-1.src.rock";
-    sha256 = "0ifpybf4m94g1nk70l0f5m45gph0rbp5wrxrl1hnw8ibv3mc1b1r";
-  };
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
-    homepage = "https://github.com/rrthomas/lrexlib";
+  meta = {
+    homepage = "http://github.com/rrthomas/lrexlib";
     description = "Regular expression library binding (POSIX flavour).";
     license.fullName = "MIT/X11";
   };
 };
-ltermbox = buildLuarocksPackage {
-  pname = "ltermbox";
-  version = "0.2-1";
 
-  src = fetchurl {
-    url    = "mirror://luarocks/ltermbox-0.2-1.src.rock";
-    sha256 = "08jqlmmskbi1ml1i34dlmg6hxcs60nlm32dahpxhcrgjnfihmyn8";
-  };
+lua-cjson = buildLuarocksPackage {
+  pname = "lua-cjson";
+  version = "2.1.0.6-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/lua-cjson-2.1.0.6-1.rockspec";
+    sha256 = "1x6dk17lwmgkafpki99yl1hlypchbrxr9sxqafrmx7wwvzbz6q11";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/openresty/lua-cjson",
+  "rev": "a03094c5473d9a9764bb486fbe5e99a62d166dae",
+  "date": "2018-04-19T12:03:43-07:00",
+  "path": "/nix/store/qdpqx2g0xi1c9fknzxx280mcdq6fi8rw-lua-cjson",
+  "sha256": "0i2sjsi6flax1k0bm647yijgmc02jznq9bn88mj71pgii79pfjhw",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
+
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
-    homepage = "http://code.google.com/p/termbox";
-    description = "A termbox library package";
-    license.fullName = "New BSD License";
+  meta = {
+    homepage = "http://www.kyne.com.au/~mark/software/lua-cjson.php";
+    description = "A fast JSON encoding/parsing module";
+    license.fullName = "MIT";
   };
 };
+
 lua-cmsgpack = buildLuarocksPackage {
   pname = "lua-cmsgpack";
   version = "0.4.0-0";
-
   knownRockspec = (fetchurl {
-    url    = "mirror://luarocks/lua-cmsgpack-0.4.0-0.rockspec";
+    url    = "https://luarocks.org/lua-cmsgpack-0.4.0-0.rockspec";
     sha256 = "10cvr6knx3qvjcw1q9v05f2qy607mai7lbq321nx682aa0n1fzin";
   }).outPath;
-
   src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "git://github.com/antirez/lua-cmsgpack.git",
-  "rev": "57b1f90cf6cec46450e87289ed5a676165d31071",
-  "date": "2018-06-14T11:56:56+02:00",
-  "sha256": "0yiwl4p1zh9qid3ksc4n9fv5bwaa9vjb0vgwnkars204xmxdj8fj",
-  "fetchSubmodules": true
+  "url": "https://github.com/antirez/lua-cmsgpack.git",
+  "rev": "dec1810a70d2948725f2e32cc38163de62b9d9a7",
+  "date": "2015-06-03T08:39:04+02:00",
+  "path": "/nix/store/ksqvl7hbd5s7nb6hjffyic1shldac4z2-lua-cmsgpack",
+  "sha256": "0j0ahc9rprgl6dqxybaxggjam2r5i2wqqsd6764n0d7fdpj9fqm0",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
 }
- '') ["date"]) ;
+ '') ["date" "path"]) ;
 
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
-    homepage = "https://github.com/antirez/lua-cmsgpack";
+  meta = {
+    homepage = "http://github.com/antirez/lua-cmsgpack";
     description = "MessagePack C implementation and bindings for Lua 5.1/5.2/5.3";
     license.fullName = "Two-clause BSD";
   };
 };
+
 lua-iconv = buildLuarocksPackage {
   pname = "lua-iconv";
   version = "7-3";
-
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/lua-iconv-7-3.rockspec";
+    sha256 = "0qh5vsaxd7s31p7a8rl08lwd6zv90wnvp15nll4fcz452kffpp72";
+  }).outPath;
   src = fetchurl {
-    url    = "mirror://luarocks/lua-iconv-7-3.src.rock";
-    sha256 = "03xibhcqwihyjhxnzv367q4bfmzmffxl49lmjsq77g0prw8v0q83";
+    url    = "https://github.com/downloads/ittner/lua-iconv/lua-iconv-7.tar.gz";
+    sha256 = "02dg5x79fg5mwsycr0fj6w04zykdpiki9xjswkkwzdalqwaikny1";
   };
+
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
+  meta = {
     homepage = "http://ittner.github.com/lua-iconv/";
     description = "Lua binding to the iconv";
     license.fullName = "MIT/X11";
   };
 };
+
 lua-lsp = buildLuarocksPackage {
   pname = "lua-lsp";
-  version = "scm-2";
-
+  version = "0.1.0-2";
   knownRockspec = (fetchurl {
-    url    = "mirror://luarocks/lua-lsp-scm-2.rockspec";
-    sha256 = "0qk3i6j0km4d1fs61fxhkmnbxmgpq24nygr8wknl6hbj2kya25rb";
+    url    = "https://luarocks.org/lua-lsp-0.1.0-2.rockspec";
+    sha256 = "19jsz00qlgbyims6cg8i40la7v8kr7zsxrrr3dg0kdg0i36xqs6c";
   }).outPath;
-
   src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "git://github.com/Alloyed/lua-lsp",
-  "rev": "905e71f9a97ea6366deb386503f9d976c87d9bab",
-  "date": "2019-09-22T09:46:00-04:00",
-  "sha256": "1mlgb2dp1ah76hjkbkwz0dp2y5mn491v5wf81nm086rb2fa3rzcg",
-  "fetchSubmodules": true
+  "url": "https://github.com/Alloyed/lua-lsp",
+  "rev": "6afbe53b43d9fb2e70edad50081cc3062ca3d78f",
+  "date": "2020-10-17T15:07:11-04:00",
+  "path": "/nix/store/qn9syhm875k1qardhhsp025cm3dbnqvm-lua-lsp",
+  "sha256": "17k3jq61jz6j9bz4vc3hmsfx1s26cfgq1acja8fqyixljklmsbqp",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
 }
- '') ["date"]) ;
+ '') ["date" "path"]) ;
 
   disabled = (luaOlder "5.1") || (luaAtLeast "5.4");
   propagatedBuildInputs = [ lua dkjson lpeglabel inspect ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/Alloyed/lua-lsp";
-    description = "No summary";
+    description = "A Language Server implementation for lua, the language";
     license.fullName = "MIT";
   };
 };
+
 lua-messagepack = buildLuarocksPackage {
   pname = "lua-messagepack";
   version = "0.5.2-1";
-
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/lua-messagepack-0.5.2-1.rockspec";
+    sha256 = "15liz6v8hsqgb3xrcd74a71nnjcz79gpc3ak351hk6k4gyjq2rfc";
+  }).outPath;
   src = fetchurl {
-    url    = "mirror://luarocks/lua-messagepack-0.5.2-1.src.rock";
-    sha256 = "0hqahc84ncl8g4miif14sdkzyvnpqip48886sagz9drl52qvgcfb";
+    url    = "https://framagit.org/fperrad/lua-MessagePack/raw/releases/lua-messagepack-0.5.2.tar.gz";
+    sha256 = "1jgi944d0vx4zs9lrphys9pw0wrsibip93sh141qjwymrjyjg1nc";
   };
+
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://fperrad.frama.io/lua-MessagePack/";
     description = "a pure Lua implementation of the MessagePack serialization format";
     license.fullName = "MIT/X11";
   };
 };
+
 lua-resty-http = buildLuarocksPackage {
   pname = "lua-resty-http";
   version = "0.16.1-0";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/lua-resty-http-0.16.1-0.rockspec";
+    sha256 = "1475zncd9zvnrblc3r60cwf49c7v0w3khqmi6wqrc5k331m0wm8w";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/ledgetech/lua-resty-http",
+  "rev": "9bf951dfe162dd9710a0e1f4525738d4902e9d20",
+  "date": "2021-04-09T17:11:35+01:00",
+  "path": "/nix/store/zzd1xj4r0iy3srs2hgv4mlm6wflmk24x-lua-resty-http",
+  "sha256": "1whwn2fwm8c9jda4z1sb5636sfy4pfgjdxw0grcgmf6451xi57nw",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "mirror://luarocks/lua-resty-http-0.16.1-0.src.rock";
-    sha256 = "0n5hiablpc0dsccs6h76zg81wc3jb4mdvyfn9lfxnhls3yqwrgkj";
-  };
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/ledgetech/lua-resty-http";
     description = "Lua HTTP client cosocket driver for OpenResty / ngx_lua.";
-    maintainers = with maintainers; [ bbigras ];
     license.fullName = "2-clause BSD";
   };
 };
+
 lua-resty-jwt = buildLuarocksPackage {
   pname = "lua-resty-jwt";
   version = "0.2.3-0";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/lua-resty-jwt-0.2.3-0.rockspec";
+    sha256 = "1fxdwfr4pna3fdfm85kin97n53caq73h807wjb59wpqiynbqzc8c";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/cdbattags/lua-resty-jwt",
+  "rev": "b3d5c085643fa95099e72a609c57095802106ff9",
+  "date": "2021-01-20T16:53:57-05:00",
+  "path": "/nix/store/z4a8ffxj2i3gbjp0f8r377cdp88lkzl4-lua-resty-jwt",
+  "sha256": "07w8r8gqbby06x493qzislig7a3giw0anqr4ivp3g2ms8v9fnng6",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "mirror://luarocks/lua-resty-jwt-0.2.3-0.src.rock";
-    sha256 = "0s7ghldwrjnhyc205pvcvgdzrgg46qz42v449vrri0cysh8ad91y";
-  };
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua lua-resty-openssl ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/cdbattags/lua-resty-jwt";
     description = "JWT for ngx_lua and LuaJIT.";
-    maintainers = with maintainers; [ bbigras ];
     license.fullName = "Apache License Version 2";
   };
 };
+
 lua-resty-openidc = buildLuarocksPackage {
   pname = "lua-resty-openidc";
   version = "1.7.4-1";
+  knownRockspec = (fetchurl {
+    url    = "https://raw.githubusercontent.com/rocks-moonscript-org/moonrocks-mirror/master/lua-resty-openidc-1.7.4-1.rockspec";
+    sha256 = "12r03pzx1lpaxzy71iqh0kf1zs6gx1k89vpxc5va9r7nr47a56vy";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/zmartzone/lua-resty-openidc",
+  "rev": "0c75741b41bc9a8b5dbe0b27f81a2851a6c68b60",
+  "date": "2020-11-17T17:42:16+01:00",
+  "path": "/nix/store/240kss5xx1br5n3qz6djw21cs1fj4pfg-lua-resty-openidc",
+  "sha256": "1gw71av1r0c6v4f1h0bj0l6way2hmipic6wmipnavr17bz7m1q7z",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "mirror://luarocks/lua-resty-openidc-1.7.4-1.src.rock";
-    sha256 = "07ny9rl8zir1c3plrbdmd2a23ysrx45qam196nhqsz118xrbds78";
-  };
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua lua-resty-http lua-resty-session lua-resty-jwt ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/zmartzone/lua-resty-openidc";
     description = "A library for NGINX implementing the OpenID Connect Relying Party (RP) and the OAuth 2.0 Resource Server (RS) functionality";
-    maintainers = with maintainers; [ bbigras ];
     license.fullName = "Apache 2.0";
   };
 };
+
 lua-resty-openssl = buildLuarocksPackage {
   pname = "lua-resty-openssl";
-  version = "0.7.2-1";
+  version = "0.7.4-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/lua-resty-openssl-0.7.4-1.rockspec";
+    sha256 = "1h87nc8rnay2h0hcc9rylkdzrssibjs6whyim53k647wqkm3fslm";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/fffonion/lua-resty-openssl.git",
+  "rev": "5b113a6059e63dbcf7c6fa95a149a9381b904219",
+  "date": "2021-08-02T18:09:14+08:00",
+  "path": "/nix/store/qk6fcp5hwqsm4mday34l1mdkx0ba76bx-lua-resty-openssl",
+  "sha256": "1iar6znh0i45zkx03n8vrkwhx732158hmxfmfjgbpv547mh30ly6",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "mirror://luarocks/lua-resty-openssl-0.7.2-1.src.rock";
-    sha256 = "00z6adib31ax4givq4zrhbfxa6l99l2hhlxnjpb6rfl4gf8h82kq";
-  };
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/fffonion/lua-resty-openssl";
     description = "No summary";
-    maintainers = with maintainers; [ bbigras ];
     license.fullName = "BSD";
   };
 };
+
 lua-resty-session = buildLuarocksPackage {
   pname = "lua-resty-session";
   version = "3.8-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/lua-resty-session-3.8-1.rockspec";
+    sha256 = "0pz86bshawysmsnfc5q1yh13gr1458j2nh8r93a4rrmk1wggc4ka";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/bungle/lua-resty-session.git",
+  "rev": "2cd1f8484fdd429505ac33abf7a44adda1f367bf",
+  "date": "2021-01-04T14:02:41+02:00",
+  "path": "/nix/store/jqc8arr46mx1xbmrsw503zza1kmz7mcv-lua-resty-session",
+  "sha256": "09q8xbxkr431i2k21vdyx740rv325v0zmnx0qa3q9x15kcfsd2fm",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "mirror://luarocks/lua-resty-session-3.8-1.src.rock";
-    sha256 = "1x4l6n0dnm4br4p376r8nkg53hwm6a48xkhrzhsh9fcd5xqgqvxz";
-  };
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/bungle/lua-resty-session";
     description = "Session Library for OpenResty – Flexible and Secure";
-    maintainers = with maintainers; [ bbigras ];
     license.fullName = "BSD";
   };
 };
+
 lua-term = buildLuarocksPackage {
   pname = "lua-term";
   version = "0.7-1";
-
   knownRockspec = (fetchurl {
-    url    = "mirror://luarocks/lua-term-0.7-1.rockspec";
+    url    = "https://luarocks.org/lua-term-0.7-1.rockspec";
     sha256 = "0r9g5jw7pqr1dyj6w58dqlr7y7l0jp077n8nnji4phf10biyrvg2";
   }).outPath;
-
   src = fetchurl {
     url    = "https://github.com/hoelzro/lua-term/archive/0.07.tar.gz";
     sha256 = "0c3zc0cl3a5pbdn056vnlan16g0wimv0p9bq52h7w507f72x18f1";
   };
 
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/hoelzro/lua-term";
     description = "Terminal functions for Lua";
     license.fullName = "MIT/X11";
   };
 };
+
 lua-toml = buildLuarocksPackage {
   pname = "lua-toml";
   version = "2.0-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/lua-toml-2.0-1.rockspec";
+    sha256 = "0zd3hrj1ifq89rjby3yn9y96vk20ablljvqdap981navzlbb7zvq";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/jonstoler/lua-toml.git",
+  "rev": "13731a5dd48c8c314d2451760604810bd6221085",
+  "date": "2017-12-08T16:30:50-08:00",
+  "path": "/nix/store/cnpflpyj441c65jhb68hjr2bcvnj9han-lua-toml",
+  "sha256": "0lklhgs4n7gbgva5frs39240da1y4nwlx6yxaj3ix6r5lp9sh07b",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "mirror://luarocks/lua-toml-2.0-1.src.rock";
-    sha256 = "0lyqlnydqbplq82brw9ipqy9gijin6hj1wc46plz994pg4i2c74m";
-  };
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/jonstoler/lua-toml";
     description = "toml decoder/encoder for Lua";
     license.fullName = "MIT";
   };
 };
+
+lua-yajl = buildLuarocksPackage {
+  pname = "lua-yajl";
+  version = "2.0-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/lua-yajl-2.0-1.rockspec";
+    sha256 = "0h600zgq5qc9z3cid1kr35q3qb98alg0m3qf0a3mfj33hya6pcxp";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/brimworks/lua-yajl.git",
+  "rev": "c0b598a70966b6cabc57a110037faf9091436f30",
+  "date": "2020-11-12T06:22:23-08:00",
+  "path": "/nix/store/9acgxpqk52kwn03m5xasn4f6mmsby2r9-lua-yajl",
+  "sha256": "1frry90y7vqnw1rd1dfnksilynh0n24gfhkmjd6wwba73prrg0pf",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
+
+  disabled = (luaOlder "5.1");
+  propagatedBuildInputs = [ lua ];
+
+  meta = {
+    homepage = "http://github.com/brimworks/lua-yajl";
+    description = "Integrate the yajl JSON library with Lua.";
+    maintainers = with lib.maintainers; [ pstn ];
+    license.fullName = "MIT/X11";
+  };
+};
+
 lua-zlib = buildLuarocksPackage {
   pname = "lua-zlib";
-  version = "1.2-0";
+  version = "1.2-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/lua-zlib-1.2-1.rockspec";
+    sha256 = "18rpbg9b4vsnh3svapiqrvwwshw1abb5l5fd7441byx1nm3fjq9w";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/brimworks/lua-zlib.git",
+  "rev": "a305d98f473d0a253b6fd740ce60d7d5a5f1cda0",
+  "date": "2017-10-07T08:26:37-07:00",
+  "path": "/nix/store/6hjfczd3xkilkdxidgqzdrwmaiwnlf05-lua-zlib",
+  "sha256": "1cv12s5c5lihmf3hb0rz05qf13yihy1bjpb7448v8mkiss6y1s5c",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "mirror://luarocks/lua-zlib-1.2-0.src.rock";
-    sha256 = "0qa0vnx45nxdj6fqag6fr627zsnd2bmrr9bdbm8jv6lcnyi6nhs2";
-  };
-  disabled = (luaOlder "5.1");
+  disabled = (luaOlder "5.1") || (luaAtLeast "5.5");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/brimworks/lua-zlib";
     description = "Simple streaming interface to zlib for Lua.";
-    maintainers = with maintainers; [ koral ];
+    maintainers = with lib.maintainers; [ koral ];
     license.fullName = "MIT";
   };
 };
+
 lua_cliargs = buildLuarocksPackage {
   pname = "lua_cliargs";
   version = "3.0-2";
 
   src = fetchurl {
-    url    = "mirror://luarocks/lua_cliargs-3.0-2.src.rock";
-    sha256 = "0qqdnw00r16xbyqn4w1xwwpg9i9ppc3c1dcypazjvdxaj899hy9w";
+    url    = "https://github.com/amireh/lua_cliargs/archive/v3.0-2.tar.gz";
+    sha256 = "0vhpgmy9a8wlxp8a15pnfqfk0aj7pyyb5m41nnfxynx580a6y7cp";
   };
+
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/amireh/lua_cliargs";
     description = "A command-line argument parser.";
     license.fullName = "MIT <http://opensource.org/licenses/MIT>";
   };
 };
+
 luabitop = buildLuarocksPackage {
   pname = "luabitop";
   version = "1.0.2-3";
 
-  knownRockspec = (fetchurl {
-    url    = "mirror://luarocks/luabitop-1.0.2-3.rockspec";
-    sha256 = "07y2h11hbxmby7kyhy3mda64w83p4a6p7y7rzrjqgc0r56yjxhcc";
-  }).outPath;
-
   src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "git://github.com/LuaDist/luabitop.git",
-  "rev": "81bb23b0e737805442033535de8e6d204d0e5381",
-  "date": "2013-02-18T16:36:42+01:00",
-  "sha256": "0lsc556hlkddjbmcdbg7wc2g55bfy743p8ywdzl8x7kk847r043q",
-  "fetchSubmodules": true
+  "url": "https://github.com/teto/luabitop.git",
+  "rev": "8d7b674386460ca83e9510b3a8a4481344eb90ad",
+  "date": "2021-08-30T10:14:03+02:00",
+  "path": "/nix/store/sdnza0zpmlkz9jppnysasbvqy29f4zia-luabitop",
+  "sha256": "1b57f99lrjbwsi4m23cq5kpj0dbpxh3xwr0mxs2rzykr2ijpgwrw",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
 }
- '') ["date"]) ;
+ '') ["date" "path"]) ;
 
   disabled = (luaOlder "5.1") || (luaAtLeast "5.3");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
+  meta = {
     homepage = "http://bitop.luajit.org/";
     description = "Lua Bit Operations Module";
     license.fullName = "MIT/X license";
   };
 };
+
 luacheck = buildLuarocksPackage {
   pname = "luacheck";
-  version = "0.23.0-1";
+  version = "0.24.0-2";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/luacheck-0.24.0-2.rockspec";
+    sha256 = "1x8n7w1mdr1bmmbw38syzi2612yyd7bbv4j2hnlk2k76qfcvkhf3";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/luarocks/luacheck.git",
+  "rev": "6651c20d8495c380a49ca81662fcfd1ade6b2411",
+  "date": "2020-08-20T19:21:52-03:00",
+  "path": "/nix/store/8r4x8snxp0kjabn9bsxwh62pfczd8wma-luacheck",
+  "sha256": "08jsqibksdvpl6mvf8d6rlh5pii78hqm3fkhbkgzrs6k8kk5a7lf",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "mirror://luarocks/luacheck-0.23.0-1.src.rock";
-    sha256 = "0akj61c7k1na2mggsckvfn9a3ljfp4agnmr9gp3mac4vin99a1cl";
-  };
-  disabled = (luaOlder "5.1") || (luaAtLeast "5.4");
+  disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua argparse luafilesystem ];
 
-  meta = with lib; {
-    homepage = "https://github.com/mpeterv/luacheck";
+  meta = {
+    homepage = "https://github.com/luarocks/luacheck";
     description = "A static analyzer and a linter for Lua";
     license.fullName = "MIT";
   };
 };
+
 luacov = buildLuarocksPackage {
   pname = "luacov";
-  version = "0.14.0-1";
+  version = "0.15.0-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/luacov-0.15.0-1.rockspec";
+    sha256 = "18byfl23c73pazi60hsx0vd74hqq80mzixab76j36cyn8k4ni9db";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/keplerproject/luacov.git",
+  "rev": "19b52ca0298c8942df82dd441d7a4a588db4c413",
+  "date": "2021-02-15T18:47:58-03:00",
+  "path": "/nix/store/9vm38il9knzx2m66m250qj1fzdfzqg0y-luacov",
+  "sha256": "08550nna6qcb5jn6ds1hjm6010y8973wx4qbf9vrvrcn1k2yr6ki",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "mirror://luarocks/luacov-0.14.0-1.src.rock";
-    sha256 = "18wj4l55wxwvaimvmkg3g5c6amzz9czdpl57z56wmdb284454kca";
-  };
-  disabled = (luaOlder "5.1") || (luaAtLeast "5.4");
+  disabled = (luaOlder "5.1") || (luaAtLeast "5.5");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://keplerproject.github.io/luacov/";
     description = "Coverage analysis tool for Lua scripts";
     license.fullName = "MIT";
   };
 };
+
 luadbi = buildLuarocksPackage {
   pname = "luadbi";
   version = "0.7.2-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/luadbi-0.7.2-1.rockspec";
+    sha256 = "0lj1qki20w6bl76cvlcazlmwh170b9wkv5nwlxbrr3cn6w7h370b";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/mwild1/luadbi",
+  "rev": "73a234c4689e4f87b7520276b6159cc7f6cfd6e0",
+  "date": "2019-01-14T09:39:17+00:00",
+  "path": "/nix/store/a3qgawila4r4jc2lpdc4mwyzd1gvzazd-luadbi",
+  "sha256": "167ivwmczhp98bxzpz3wdxcfj6vi0a10gpi7rdfjs2rbfwkzqvjh",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "mirror://luarocks/luadbi-0.7.2-1.src.rock";
-    sha256 = "0mj9ggyb05l03gs38ds508620mqaw4fkrzz9861n4j0zxbsbmfwy";
-  };
   disabled = (luaOlder "5.1") || (luaAtLeast "5.4");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/mwild1/luadbi";
     description = "Database abstraction layer";
     license.fullName = "MIT/X11";
   };
 };
+
 luadbi-mysql = buildLuarocksPackage {
   pname = "luadbi-mysql";
   version = "0.7.2-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/luadbi-mysql-0.7.2-1.rockspec";
+    sha256 = "0gnyqnvcfif06rzzrdw6w6hchp4jrjiwm0rmfx2r8ljchj2bvml5";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/mwild1/luadbi",
+  "rev": "73a234c4689e4f87b7520276b6159cc7f6cfd6e0",
+  "date": "2019-01-14T09:39:17+00:00",
+  "path": "/nix/store/a3qgawila4r4jc2lpdc4mwyzd1gvzazd-luadbi",
+  "sha256": "167ivwmczhp98bxzpz3wdxcfj6vi0a10gpi7rdfjs2rbfwkzqvjh",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "mirror://luarocks/luadbi-mysql-0.7.2-1.src.rock";
-    sha256 = "1f8i5p66halws8qsa7g09110hwzg7pv29yi22mkqd8sjgjv42iq4";
-  };
   disabled = (luaOlder "5.1") || (luaAtLeast "5.4");
   propagatedBuildInputs = [ lua luadbi ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/mwild1/luadbi";
     description = "Database abstraction layer";
     license.fullName = "MIT/X11";
   };
 };
+
 luadbi-postgresql = buildLuarocksPackage {
   pname = "luadbi-postgresql";
   version = "0.7.2-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/luadbi-postgresql-0.7.2-1.rockspec";
+    sha256 = "07rx4agw4hjyzf8157apdwfqh9s26nqndmkr3wm7v09ygjvdjiix";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/mwild1/luadbi",
+  "rev": "73a234c4689e4f87b7520276b6159cc7f6cfd6e0",
+  "date": "2019-01-14T09:39:17+00:00",
+  "path": "/nix/store/a3qgawila4r4jc2lpdc4mwyzd1gvzazd-luadbi",
+  "sha256": "167ivwmczhp98bxzpz3wdxcfj6vi0a10gpi7rdfjs2rbfwkzqvjh",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "mirror://luarocks/luadbi-postgresql-0.7.2-1.src.rock";
-    sha256 = "0nmm1hdzl77wk8p6r6al6mpkh2n332a8r3iqsdi6v4nxamykdh28";
-  };
   disabled = (luaOlder "5.1") || (luaAtLeast "5.4");
   propagatedBuildInputs = [ lua luadbi ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/mwild1/luadbi";
     description = "Database abstraction layer";
     license.fullName = "MIT/X11";
   };
 };
+
 luadbi-sqlite3 = buildLuarocksPackage {
   pname = "luadbi-sqlite3";
   version = "0.7.2-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/luadbi-sqlite3-0.7.2-1.rockspec";
+    sha256 = "022iba0jbiafz8iv1h0iv95rhcivbfq5yg341nxk3dm87yf220vh";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/mwild1/luadbi",
+  "rev": "73a234c4689e4f87b7520276b6159cc7f6cfd6e0",
+  "date": "2019-01-14T09:39:17+00:00",
+  "path": "/nix/store/a3qgawila4r4jc2lpdc4mwyzd1gvzazd-luadbi",
+  "sha256": "167ivwmczhp98bxzpz3wdxcfj6vi0a10gpi7rdfjs2rbfwkzqvjh",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "mirror://luarocks/luadbi-sqlite3-0.7.2-1.src.rock";
-    sha256 = "17wd2djzk5x4l4pv2k3c7b8dcvl46s96kqyk8dp3q6ll8gdl7c65";
-  };
   disabled = (luaOlder "5.1") || (luaAtLeast "5.4");
   propagatedBuildInputs = [ lua luadbi ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/mwild1/luadbi";
     description = "Database abstraction layer";
     license.fullName = "MIT/X11";
   };
 };
-luadoc = buildLuarocksPackage {
-  pname = "luadoc";
-  version = "3.0.1-1";
-
-  src = fetchurl {
-    url    = "mirror://luarocks/luadoc-3.0.1-1.src.rock";
-    sha256 = "112zqjbzkrhx3nvavrxx3vhpv2ix85pznzzbpa8fq4piyv5r781i";
-  };
-  propagatedBuildInputs = [ lualogging luafilesystem ];
 
-  meta = with lib; {
-    homepage = "http://luadoc.luaforge.net/";
-    description = "LuaDoc is a documentation tool for Lua source code";
-    license.fullName = "MIT/X11";
-  };
-};
 luaepnf = buildLuarocksPackage {
   pname = "luaepnf";
-  version = "0.3-1";
+  version = "0.3-2";
+  knownRockspec = (fetchurl {
+    url    = "https://raw.githubusercontent.com/rocks-moonscript-org/moonrocks-mirror/master/luaepnf-0.3-2.rockspec";
+    sha256 = "0kqmnj11wmfpc9mz04zzq8ab4mnbkrhcgc525wrq6pgl3p5li8aa";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/siffiejoe/lua-luaepnf.git",
+  "rev": "4e0a867ff54cf424e1558781f5d2c85d2dc2137c",
+  "date": "2015-01-15T16:54:10+01:00",
+  "path": "/nix/store/n7gb0z26sl7dzdyy3bx1y3cz3npsna7d-lua-luaepnf",
+  "sha256": "1lvsi3fklhvz671jgg0iqn0xbkzn9qjcbf2ks41xxjz3lapjr6c9",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "mirror://luarocks/luaepnf-0.3-1.src.rock";
-    sha256 = "12z7radxk1dkyjqflr85sghywgc82xdg4mzb9mbwbrrqbnjw8mp5";
-  };
-  disabled = (luaOlder "5.1") || (luaAtLeast "5.4");
+  disabled = (luaOlder "5.1") || (luaAtLeast "5.5");
   propagatedBuildInputs = [ lua lpeg ];
 
-  meta = with lib; {
+  meta = {
     homepage = "http://siffiejoe.github.io/lua-luaepnf/";
     description = "Extended PEG Notation Format (easy grammars for LPeg)";
     license.fullName = "MIT";
   };
 };
+
 luaevent = buildLuarocksPackage {
   pname = "luaevent";
   version = "0.4.6-1";
-
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/luaevent-0.4.6-1.rockspec";
+    sha256 = "03zixadhx4a7nh67n0sm6sy97c8i9va1a78hibhrl7cfbqc2zc7f";
+  }).outPath;
   src = fetchurl {
-    url    = "mirror://luarocks/luaevent-0.4.6-1.src.rock";
-    sha256 = "0chq09nawiz00lxd6pkdqcb8v426gdifjw6js3ql0lx5vqdkb6dz";
+    url    = "https://github.com/harningt/luaevent/archive/v0.4.6.tar.gz";
+    sha256 = "0pbh315d3p7hxgzmbhphkcldxv2dadbka96131b8j5914nxvl4nx";
   };
+
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/harningt/luaevent";
     description = "libevent binding for Lua";
     license.fullName = "MIT";
   };
 };
+
 luaexpat = buildLuarocksPackage {
   pname = "luaexpat";
   version = "1.3.0-1";
-
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/luaexpat-1.3.0-1.rockspec";
+    sha256 = "14f7y2acycbgrx95w3darx5l1qm52a09f7njkqmhyk10w615lrw4";
+  }).outPath;
   src = fetchurl {
-    url    = "mirror://luarocks/luaexpat-1.3.0-1.src.rock";
-    sha256 = "15jqz5q12i9zvjyagzwz2lrpzya64mih8v1hxwr0wl2gsjh86y5a";
+    url    = "http://matthewwild.co.uk/projects/luaexpat/luaexpat-1.3.0.tar.gz";
+    sha256 = "1hvxqngn0wf5642i5p3vcyhg3pmp102k63s9ry4jqyyqc1wkjq6h";
   };
+
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
+  meta = {
     homepage = "http://www.keplerproject.org/luaexpat/";
     description = "XML Expat parsing";
-    maintainers = with maintainers; [ arobyn flosse ];
+    maintainers = with lib.maintainers; [ arobyn flosse ];
     license.fullName = "MIT/X11";
   };
 };
+
 luaffi = buildLuarocksPackage {
   pname = "luaffi";
   version = "scm-1";
+  knownRockspec = (fetchurl {
+    url    = "mirror://luarocks/luaffi-scm-1.rockspec";
+    sha256 = "1nia0g4n1yv1sbv5np572y8yfai56a8bnscir807s5kj5bs0xhxm";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/facebook/luaffifb.git",
+  "rev": "a1cb731b08c91643b0665935eb5622b3d621211b",
+  "date": "2021-03-01T11:46:30-05:00",
+  "path": "/nix/store/6dwfn64p3clcsxkq41b307q8izi0fvji-luaffifb",
+  "sha256": "0nj76fw3yi57vfn35yvbdmpdbg9gmn5j1gw84ajs9w1j86sc0661",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "mirror://luarocks/luaffi-scm-1.src.rock";
-    sha256 = "0dia66w8sgzw26bwy36gzyb2hyv7kh9n95lh5dl0158rqa6fsf26";
-  };
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/facebook/luaffifb";
     description = "FFI library for calling C functions from lua";
     license.fullName = "BSD";
   };
 };
+
 luafilesystem = buildLuarocksPackage {
   pname = "luafilesystem";
   version = "1.7.0-2";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/luafilesystem-1.7.0-2.rockspec";
+    sha256 = "0xivgn8bbkx1g5a30jrjcv4hg5mpiiyrm3fhlz9lndgbh4cnjrq6";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/keplerproject/luafilesystem",
+  "rev": "de87218e9798c4dd1a40d65403d99e9e82e1cfa0",
+  "date": "2017-09-15T20:07:33-03:00",
+  "path": "/nix/store/20xm4942kvnb8kypg76jl7zrym5cz03c-luafilesystem",
+  "sha256": "0zmprgkm9zawdf9wnw0v3w6ibaj442wlc6alp39hmw610fl4vghi",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "mirror://luarocks/luafilesystem-1.7.0-2.src.rock";
-    sha256 = "0xhmd08zklsgpnpjr9rjipah35fbs8jd4v4va36xd8bpwlvx9rk5";
-  };
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
+  meta = {
     homepage = "git://github.com/keplerproject/luafilesystem";
     description = "File System Library for the Lua Programming Language";
-    maintainers = with maintainers; [ flosse vcunat ];
+    maintainers = with lib.maintainers; [ flosse ];
     license.fullName = "MIT/X11";
   };
 };
+
 lualogging = buildLuarocksPackage {
   pname = "lualogging";
-  version = "1.3.0-1";
+  version = "1.5.2-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/lualogging-1.5.2-1.rockspec";
+    sha256 = "0jlqjhr5p9ji51bkmz8n9jc55i3vzqjfwjxvxp2ib9h4gmh2zqk3";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/lunarmodules/lualogging.git",
+  "rev": "8b4d8dd5a311245a197890405ba9324b9f5f5ab1",
+  "date": "2021-08-12T19:29:39+02:00",
+  "path": "/nix/store/q1v28n04hh3r7aw37cxakzksfa3kw5qa-lualogging",
+  "sha256": "0nj0ik91lgl9rwgizdkn7vy9brddsz1kxfn70c01x861vaxi63iz",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "mirror://luarocks/lualogging-1.3.0-1.src.rock";
-    sha256 = "13fm1vlig3zmbfkmlq1vk3xfqhlvv5xf24b0p4k4d08395y858vc";
-  };
   propagatedBuildInputs = [ luasocket ];
 
-  meta = with lib; {
-    homepage = "https://github.com/Neopallium/lualogging";
+  meta = {
+    homepage = "https://github.com/lunarmodules/lualogging";
     description = "A simple API to use logging features";
     license.fullName = "MIT/X11";
   };
 };
+
 luaossl = buildLuarocksPackage {
   pname = "luaossl";
-  version = "20190731-0";
-
+  version = "20200709-0";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/luaossl-20200709-0.rockspec";
+    sha256 = "0izxxrzc49q4jancza43b2y4hfvasflpcag771nrhapk1n8k45f3";
+  }).outPath;
   src = fetchurl {
-    url    = "mirror://luarocks/luaossl-20190731-0.src.rock";
-    sha256 = "0gardlh547hah5w4kfsdg05jmxzrxr21macqigcmp5hw1l67jn5m";
+    url    = "https://github.com/wahern/luaossl/archive/rel-20200709.zip";
+    sha256 = "07j1rqqypjb24x11x6v6qpwf12g0ib23qwg47sw3c2yqkbq744j4";
   };
+
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
+  meta = {
     homepage = "http://25thandclement.com/~william/projects/luaossl.html";
     description = "Most comprehensive OpenSSL module in the Lua universe.";
-    maintainers = with maintainers; [ vcunat ];
     license.fullName = "MIT/X11";
   };
 };
+
 luaposix = buildLuarocksPackage {
   pname = "luaposix";
   version = "34.1.1-1";
-
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/luaposix-34.1.1-1.rockspec";
+    sha256 = "0hx6my54axjcb3bklr991wji374qq6mwa3ily6dvb72vi2534nwz";
+  }).outPath;
   src = fetchurl {
-    url    = "mirror://luarocks/luaposix-34.1.1-1.src.rock";
-    sha256 = "1l9pkn3g0nzlbmmfj12rhfwvkqb06c21ydqxqgmnmd3w9z4ck53w";
+    url    = "http://github.com/luaposix/luaposix/archive/v34.1.1.zip";
+    sha256 = "1xqx764ji054jphxdhkynsmwzqzkfgxqfizxkf70za6qfrvnl3yh";
   };
+
   disabled = (luaOlder "5.1") || (luaAtLeast "5.4");
   propagatedBuildInputs = [ bit32 lua ];
 
-  meta = with lib; {
-    homepage = "https://github.com/luaposix/luaposix/";
+  meta = {
+    homepage = "http://github.com/luaposix/luaposix/";
     description = "Lua bindings for POSIX";
-    maintainers = with maintainers; [ vyp lblasc ];
+    maintainers = with lib.maintainers; [ vyp lblasc ];
     license.fullName = "MIT/X11";
   };
 };
+
 luarepl = buildLuarocksPackage {
   pname = "luarepl";
   version = "0.9-1";
-
   knownRockspec = (fetchurl {
-    url    = "mirror://luarocks/luarepl-0.9-1.rockspec";
+    url    = "https://luarocks.org/luarepl-0.9-1.rockspec";
     sha256 = "1409lanxv4s8kq5rrh46dvld77ip33qzfn3vac3i9zpzbmgb5i8z";
   }).outPath;
-
   src = fetchurl {
     url    = "https://github.com/hoelzro/lua-repl/archive/0.9.tar.gz";
     sha256 = "04xka7b84d9mrz3gyf8ywhw08xp65v8jrnzs8ry8k9540aqs721w";
@@ -1152,84 +1579,102 @@ luarepl = buildLuarocksPackage {
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/hoelzro/lua-repl";
     description = "A reusable REPL component for Lua, written in Lua";
     license.fullName = "MIT/X11";
   };
 };
+
 luasec = buildLuarocksPackage {
   pname = "luasec";
-  version = "0.9-1";
+  version = "1.0.2-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/luasec-1.0.2-1.rockspec";
+    sha256 = "02qkbfnvn3943zf2fnz3amnz1z05ipx9mnsn3i2rmpjpvvd414dg";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/brunoos/luasec",
+  "rev": "ef14b27a2c8e541cac071165048250e85a7216df",
+  "date": "2021-08-14T10:28:09-03:00",
+  "path": "/nix/store/jk2npg54asnmj5fnpldn8dxym9gx8x4g-luasec",
+  "sha256": "14hx72qw3gjgz12v5bwpz3irgbf69f8584z8y7lglccbyydp4jla",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "mirror://luarocks/luasec-0.9-1.src.rock";
-    sha256 = "00npxdwr3s4638i1jzmhyvss796rhbqk43zrzkb5lzzhqlxpsz5q";
-  };
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua luasocket ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/brunoos/luasec/wiki";
     description = "A binding for OpenSSL library to provide TLS/SSL communication over LuaSocket.";
-    maintainers = with maintainers; [ flosse ];
+    maintainers = with lib.maintainers; [ flosse ];
     license.fullName = "MIT";
   };
 };
+
 luasocket = buildLuarocksPackage {
   pname = "luasocket";
   version = "3.0rc1-2";
-
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/luasocket-3.0rc1-2.rockspec";
+    sha256 = "17fbkihp4zypv5wwgxz8dnghj37pf5bhpi2llg4gbljp1bl2f42c";
+  }).outPath;
   src = fetchurl {
-    url    = "mirror://luarocks/luasocket-3.0rc1-2.src.rock";
-    sha256 = "1isin9m40ixpqng6ds47skwa4zxrc6w8blza8gmmq566w6hz50iq";
+    url    = "https://github.com/diegonehab/luasocket/archive/v3.0-rc1.zip";
+    sha256 = "0x0fg07cg08ybgkpzif7zmzaaq5ga979rxwd9rj95kfws9bbrl0y";
   };
+
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
+  meta = {
     homepage = "http://luaforge.net/projects/luasocket/";
     description = "Network support for the Lua language";
     license.fullName = "MIT";
   };
 };
+
 luasql-sqlite3 = buildLuarocksPackage {
   pname = "luasql-sqlite3";
-  version = "2.5.0-1";
-
+  version = "2.6.0-1";
   knownRockspec = (fetchurl {
-    url    = "mirror://luarocks/luasql-sqlite3-2.5.0-1.rockspec";
-    sha256 = "1r0x21i6n18x6915iaj9n309lqqqk1b30bg9h2a6y8jzk839hk09";
+    url    = "https://luarocks.org/luasql-sqlite3-2.6.0-1.rockspec";
+    sha256 = "0w32znsfcaklcja6avqx7daaxbf0hr2v8g8bmz0fysb3401lmp02";
   }).outPath;
-
   src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "git://github.com/keplerproject/luasql.git",
-  "rev": "5496d60185db0c4578e8abe0c74343e99b799311",
-  "date": "2019-06-14T10:54:41-03:00",
-  "sha256": "1jdm1abj2ngklg7syq1ijj142ai9nmdl9370dk2bgamzlxc41pqm",
-  "fetchSubmodules": true
+  "url": "https://github.com/keplerproject/luasql.git",
+  "rev": "69f68a858134d6adbe9b65a902dcd3f60cd6a7ce",
+  "date": "2021-08-27T15:17:22-03:00",
+  "path": "/nix/store/2374agarn72cnlnk2vripfy1zz2y50la-luasql",
+  "sha256": "13xs1g67d2p69x4wzxk1h97xh25388h0kkh9bjgw3l1yss9zlxhx",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
 }
- '') ["date"]) ;
+ '') ["date" "path"]) ;
 
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
+  meta = {
     homepage = "http://www.keplerproject.org/luasql/";
     description = "Database connectivity for Lua (SQLite3 driver)";
-    maintainers = with maintainers; [ vyp ];
+    maintainers = with lib.maintainers; [ vyp ];
     license.fullName = "MIT/X11";
   };
 };
+
 luassert = buildLuarocksPackage {
   pname = "luassert";
   version = "1.8.0-0";
-
   knownRockspec = (fetchurl {
-    url    = "mirror://luarocks/luassert-1.8.0-0.rockspec";
+    url    = "https://luarocks.org/luassert-1.8.0-0.rockspec";
     sha256 = "1194y81nlkq4qmrrgl7z82i6vgvhqvp1p673kq0arjix8mv3zyz1";
   }).outPath;
-
   src = fetchurl {
     url    = "https://github.com/Olivine-Labs/luassert/archive/v1.8.0.tar.gz";
     sha256 = "0xlwlb32215524bg33svp1ci8mdvh9wykchl8dkhihpxcd526mar";
@@ -1238,160 +1683,190 @@ luassert = buildLuarocksPackage {
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua say ];
 
-  meta = with lib; {
+  meta = {
     homepage = "http://olivinelabs.com/busted/";
     description = "Lua Assertions Extension";
     license.fullName = "MIT <http://opensource.org/licenses/MIT>";
   };
 };
+
 luasystem = buildLuarocksPackage {
   pname = "luasystem";
   version = "0.2.1-0";
-
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/luasystem-0.2.1-0.rockspec";
+    sha256 = "0xj5q7lzsbmlw5d3zbjqf3jpj78wcn348h2jcxn5ph4n4hx73z3n";
+  }).outPath;
   src = fetchurl {
-    url    = "mirror://luarocks/luasystem-0.2.1-0.src.rock";
-    sha256 = "091xmp8cijgj0yzfsjrn7vljwznjnjn278ay7z9pjwpwiva0diyi";
+    url    = "https://github.com/o-lim/luasystem/archive/v0.2.1.tar.gz";
+    sha256 = "150bbklchh02gsvpngv56xrrlxxvwpqwrh0yy6z95fnvks7gd0qb";
   };
+
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
+  meta = {
     homepage = "http://olivinelabs.com/luasystem/";
     description = "Platform independent system calls for Lua.";
     license.fullName = "MIT <http://opensource.org/licenses/MIT>";
   };
 };
+
 luautf8 = buildLuarocksPackage {
   pname = "luautf8";
-  version = "0.1.2-2";
-
+  version = "0.1.3-1";
+  knownRockspec = (fetchurl {
+    url    = "https://raw.githubusercontent.com/rocks-moonscript-org/moonrocks-mirror/master/luautf8-0.1.3-1.rockspec";
+    sha256 = "16i9wfgd0f299g1afgjp0hhczlrk5g8i0kq3ka0f8bwj3mp2wmcp";
+  }).outPath;
   src = fetchurl {
-    url    = "mirror://luarocks/luautf8-0.1.2-2.src.rock";
-    sha256 = "1q0qpr87alfzwwx5x0v9cggnz5fqi20jlqdh1a3i5cijjaj6xwdn";
+    url    = "https://github.com/starwing/luautf8/archive/0.1.3.tar.gz";
+    sha256 = "02rf8jmazmi8rp3i5v4jsz0d7mrf1747qszsl8i2hv1sl0ik92r0";
   };
+
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
-    homepage = "https://github.com/starwing/luautf8";
+  meta = {
+    homepage = "http://github.com/starwing/luautf8";
     description = "A UTF-8 support module for Lua";
-    maintainers = with maintainers; [ pstn ];
+    maintainers = with lib.maintainers; [ pstn ];
     license.fullName = "MIT";
   };
 };
+
 luazip = buildLuarocksPackage {
   pname = "luazip";
   version = "1.2.7-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/luazip-1.2.7-1.rockspec";
+    sha256 = "1wxy3p2ksaq4s8lg925mi9cvbh875gsapgkzm323dr8qaxxg7mba";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/mpeterv/luazip",
+  "rev": "e424f667cc5c78dd19bb5eca5a86b3c8698e0ce5",
+  "date": "2017-09-05T14:02:52+03:00",
+  "path": "/nix/store/idllj442c0iwnx1cpkrifx2afb7vh821-luazip",
+  "sha256": "1jlqzqlds3aa3hnp737fm2awcx0hzmwyd87klv0cv13ny5v9f2x4",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "mirror://luarocks/luazip-1.2.7-1.src.rock";
-    sha256 = "1yprlr1ap6bhshhy88qfphmmyg9zp1py2hj2158iw6vsva0fk03l";
-  };
   disabled = (luaOlder "5.1") || (luaAtLeast "5.4");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/mpeterv/luazip";
     description = "Library for reading files inside zip files";
     license.fullName = "MIT";
   };
 };
-lua-yajl = buildLuarocksPackage {
-  pname = "lua-yajl";
-  version = "2.0-1";
-
-  src = fetchurl {
-    url    = "mirror://luarocks/lua-yajl-2.0-1.src.rock";
-    sha256 = "0bsm519vs53rchcdf8g96ygzdx2bz6pa4vffqlvc7ap49bg5np4f";
-  };
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
-    homepage = "https://github.com/brimworks/lua-yajl";
-    description = "Integrate the yajl JSON library with Lua.";
-    maintainers = with maintainers; [ pstn ];
-    license.fullName = "MIT/X11";
-  };
-};
 luuid = buildLuarocksPackage {
   pname = "luuid";
   version = "20120509-2";
-
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/luuid-20120509-2.rockspec";
+    sha256 = "1q2fv25wfbiqn49mqv26gs4pyllch311akcf7jjn27l5ik8ji5b6";
+  }).outPath;
   src = fetchurl {
-    url    = "mirror://luarocks/luuid-20120509-2.src.rock";
-    sha256 = "08q54x0m51w89np3n117h2a153wsgv3qayabd8cz6i55qm544hkg";
+    url    = "http://www.tecgraf.puc-rio.br/~lhf/ftp/lua/5.2/luuid.tar.gz";
+    sha256 = "1bfkj613d05yps3fivmz0j1bxf2zkg9g1yl0ifffgw0vy00hpnvm";
   };
+
   disabled = (luaOlder "5.2") || (luaAtLeast "5.4");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
+  meta = {
     homepage = "http://www.tecgraf.puc-rio.br/~lhf/ftp/lua/#luuid";
     description = "A library for UUID generation";
     license.fullName = "Public domain";
   };
 };
+
 luv = buildLuarocksPackage {
   pname = "luv";
   version = "1.30.0-0";
-
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/luv-1.30.0-0.rockspec";
+    sha256 = "05j231z6vpfjbxxmsizbigrsr80bk2dg48fcz12isj668lhia32h";
+  }).outPath;
   src = fetchurl {
-    url    = "https://luarocks.org/luv-1.30.0-0.src.rock";
-    sha256 = "1z5sdq9ld4sm5pws9qxpk9cadv9i7ycwad1zwsa57pj67gly11vi";
+    url    = "https://github.com/luvit/luv/releases/download/1.30.0-0/luv-1.30.0-0.tar.gz";
+    sha256 = "1vxmxgdjk2bdnm8d9n3z5lfg6x34cx97j5nh8camm6ps5c0mmisw";
   };
+
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/luvit/luv";
     description = "Bare libuv bindings for lua";
     license.fullName = "Apache 2.0";
   };
 };
+
 lyaml = buildLuarocksPackage {
   pname = "lyaml";
-  version = "6.2.5-1";
-
+  version = "6.2.7-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/lyaml-6.2.7-1.rockspec";
+    sha256 = "0m5bnzg24nyk35gcn4rydgzk0ysk1f6rslxwxd0w3drl1bg64zja";
+  }).outPath;
   src = fetchurl {
-    url    = "mirror://luarocks/lyaml-6.2.5-1.src.rock";
-    sha256 = "00pnz27sqi84arwkzjabz9v7w37h7xvwb5njk690cfmaknb1dfz6";
+    url    = "http://github.com/gvvaughan/lyaml/archive/v6.2.7.zip";
+    sha256 = "165mr3krf8g8070j4ax9z0j2plfbdwb8x2zk2hydpqaqa0kcdb0c";
   };
+
   disabled = (luaOlder "5.1") || (luaAtLeast "5.5");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
-    homepage = "https://github.com/gvvaughan/lyaml";
+  meta = {
+    homepage = "http://github.com/gvvaughan/lyaml";
     description = "libYAML binding for Lua";
-    maintainers = with maintainers; [ lblasc ];
+    maintainers = with lib.maintainers; [ lblasc ];
     license.fullName = "MIT/X11";
   };
 };
+
 markdown = buildLuarocksPackage {
   pname = "markdown";
   version = "0.33-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/markdown-0.33-1.rockspec";
+    sha256 = "02sixijfi6av8h59kx3ngrhygjn2sx1c85c0qfy20gxiz72wi1pl";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/mpeterv/markdown",
+  "rev": "8c09109924b218aaecbfd4d4b1de538269c4d765",
+  "date": "2015-09-27T17:49:28+03:00",
+  "path": "/nix/store/akl80hh077hm20bdqj1lksy0fn2285b5-markdown",
+  "sha256": "019bk2qprszqncnm8zy6ns6709iq1nwkf7i86nr38f035j4lc11y",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "mirror://luarocks/markdown-0.33-1.src.rock";
-    sha256 = "01xw4b4jvmrv1hz2gya02g3nphsj3hc94hsbc672ycj8pcql5n5y";
-  };
   disabled = (luaOlder "5.1") || (luaAtLeast "5.4");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/mpeterv/markdown";
     description = "Markdown text-to-html markup system.";
     license.fullName = "MIT/X11";
   };
 };
+
 mediator_lua = buildLuarocksPackage {
   pname = "mediator_lua";
   version = "1.1.2-0";
-
   knownRockspec = (fetchurl {
-    url    = "mirror://luarocks/mediator_lua-1.1.2-0.rockspec";
+    url    = "https://luarocks.org/mediator_lua-1.1.2-0.rockspec";
     sha256 = "0frzvf7i256260a1s8xh92crwa2m42972qxfq29zl05aw3pyn7bm";
   }).outPath;
-
   src = fetchurl {
     url    = "https://github.com/Olivine-Labs/mediator_lua/archive/v1.1.2-0.tar.gz";
     sha256 = "16zzzhiy3y35v8advmlkzpryzxv5vji7727vwkly86q8sagqbxgs";
@@ -1400,128 +1875,188 @@ mediator_lua = buildLuarocksPackage {
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
+  meta = {
     homepage = "http://olivinelabs.com/mediator_lua/";
     description = "Event handling through channels";
     license.fullName = "MIT <http://opensource.org/licenses/MIT>";
   };
 };
+
+moonscript = buildLuarocksPackage {
+  pname = "moonscript";
+  version = "0.5.0-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/moonscript-0.5.0-1.rockspec";
+    sha256 = "06ykvmzndkcmbwn85a4l1cl8v8jw38g0isdyhwwbgv0m5a306j6d";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/leafo/moonscript.git",
+  "rev": "b7efcd131046ed921ae1075d7c0f6a3b64a570f7",
+  "date": "2021-03-18T11:51:52-07:00",
+  "path": "/nix/store/xijbk0bgjpxjgmvscbqnghj4r3zdzgxl-moonscript",
+  "sha256": "14xx6pij0djblfv3g2hi0xlljh7h0yrbb03f4x90q5j66v693gx7",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
+
+  disabled = (luaOlder "5.1");
+  propagatedBuildInputs = [ lua lpeg alt-getopt luafilesystem ];
+
+  meta = {
+    homepage = "http://moonscript.org";
+    description = "A programmer friendly language that compiles to Lua";
+    maintainers = with lib.maintainers; [ arobyn ];
+    license.fullName = "MIT";
+  };
+};
+
 mpack = buildLuarocksPackage {
   pname = "mpack";
   version = "1.0.8-0";
-
   knownRockspec = (fetchurl {
-    url    = "mirror://luarocks/mpack-1.0.8-0.rockspec";
+    url    = "https://luarocks.org/mpack-1.0.8-0.rockspec";
     sha256 = "0hhpamw2bydnfrild274faaan6v48918nhslnw3kvi9y36b4i5ha";
   }).outPath;
-
   src = fetchurl {
     url    = "https://github.com/libmpack/libmpack-lua/releases/download/1.0.8/libmpack-lua-1.0.8.tar.gz";
     sha256 = "1sf93ffx7a3y1waknc4994l2yrxilrlf3hcp2cj2cvxmpm5inszd";
   };
 
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/libmpack/libmpack-lua/releases/download/1.0.8/libmpack-lua-1.0.8.tar.gz";
     description = "Lua binding to libmpack";
     license.fullName = "MIT";
   };
 };
-moonscript = buildLuarocksPackage {
-  pname = "moonscript";
-  version = "0.5.0-1";
-
-  src = fetchurl {
-    url    = "mirror://luarocks/moonscript-0.5.0-1.src.rock";
-    sha256 = "09vv3ayzg94bjnzv5fw50r683ma0x3lb7sym297145zig9aqb9q9";
-  };
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua lpeg alt-getopt luafilesystem ];
 
-  meta = with lib; {
-    homepage = "http://moonscript.org";
-    description = "A programmer friendly language that compiles to Lua";
-    maintainers = with maintainers; [ arobyn ];
-    license.fullName = "MIT";
-  };
-};
 nvim-client = buildLuarocksPackage {
   pname = "nvim-client";
   version = "0.2.2-1";
 
   src = fetchurl {
-    url    = "mirror://luarocks/nvim-client-0.2.2-1.src.rock";
-    sha256 = "0bgx94ziiq0004zw9lz2zb349xaqs5pminqd8bwdrfdnfjnbp8x0";
+    url    = "https://github.com/neovim/lua-client/archive/0.2.2-1.tar.gz";
+    sha256 = "1h736im524lq0vwlpihv9b317jarpkf3j13a25xl5qq8y8asm8mr";
   };
+
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua mpack luv coxpcall ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/neovim/lua-client";
     description = "Lua client to Nvim";
     license.fullName = "Apache";
   };
 };
+
 penlight = buildLuarocksPackage {
   pname = "penlight";
-  version = "1.8.0-1";
+  version = "dev-1";
 
-  src = fetchurl {
-    url    = "mirror://luarocks/penlight-1.8.0-1.src.rock";
-    sha256 = "05x00dgsa79wzq187ww6i8j0s74nh2c852awni7xfshxgihwhc42";
-  };
-  propagatedBuildInputs = [ luafilesystem ];
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/lunarmodules/penlight.git",
+  "rev": "e3712f00fae09a166dd62540b677600165d5bcd7",
+  "date": "2021-08-18T21:37:47+02:00",
+  "path": "/nix/store/i70ndw8qhvcm828ifb3vyj08y22xp0ka-penlight",
+  "sha256": "19n9xqkb4hlak0k7hamk4ixwjvyxslsnyh1zjazdzrl8n736xhkl",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
+
+  disabled = (luaOlder "5.1");
+  propagatedBuildInputs = [ lua luafilesystem ];
+  checkInputs = [ busted busted ];
+  doCheck = false;
 
-  meta = with lib; {
-    homepage = "http://tieske.github.io/Penlight";
+  meta = {
+    homepage = "https://lunarmodules.github.io/penlight";
     description = "Lua utility libraries loosely based on the Python standard libraries";
-    maintainers = with maintainers; [ alerque ];
     license.fullName = "MIT/X11";
   };
 };
+
+plenary-nvim = buildLuarocksPackage {
+  pname = "plenary.nvim";
+  version = "scm-1";
+
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/nvim-lua/plenary.nvim",
+  "rev": "15c3cb9e6311dc1a875eacb9fc8df69ca48d7402",
+  "date": "2021-08-19T19:04:12+02:00",
+  "path": "/nix/store/fjj6gs1yc9gw3qh3xabf7mra4dlyac5a-plenary.nvim",
+  "sha256": "0gdysws82vdcyfsfpkpg9wqw223vg6hh74pf821wxh8p6qg3r26m",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
+
+  disabled = (luaOlder "5.1") || (luaAtLeast "5.4");
+  propagatedBuildInputs = [ lua luassert ];
+
+  meta = {
+    homepage = "http://github.com/nvim-lua/plenary.nvim";
+    description = "lua functions you don't want to write ";
+    license.fullName = "MIT/X11";
+  };
+};
+
 rapidjson = buildLuarocksPackage {
   pname = "rapidjson";
-  version = "0.6.1-1";
+  version = "0.7.1-1";
+
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/xpol/lua-rapidjson",
+  "rev": "242b40c8eaceb0cc43bcab88309736461cac1234",
+  "date": "2021-04-09T19:59:20+08:00",
+  "path": "/nix/store/65l71ph27pmipgrq8j4whg6n8h2avvs4-lua-rapidjson",
+  "sha256": "1a6srvximxlh6gjkaj5y86d1kf06pc4gby2r6wpdw2pdac8k7xyb",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "mirror://luarocks/rapidjson-0.6.1-1.src.rock";
-    sha256 = "106zdkmqspwjw6ywzi7ya9zss52p9zggh53rg0i36sk19z0xmp6j";
-  };
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/xpol/lua-rapidjson";
     description = "Json module based on the very fast RapidJSON.";
     license.fullName = "MIT";
   };
 };
+
 readline = buildLuarocksPackage {
   pname = "readline";
-  version = "2.6-0";
-
+  version = "3.0-0";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/readline-3.0-0.rockspec";
+    sha256 = "1bjj8yn61vc0fzy1lvrfp6cyakj4bf2255xcqai4h3rcg0i5cmpr";
+  }).outPath;
   src = fetchurl {
-    url    = mirror://luarocks/readline-2.6-0.src.rock;
-    sha256 = "1fvz7nqvkdazp30wn5n62n8i97qrfgznbykdpf8cnflqfpd1shms";
+    url    = "http://www.pjb.com.au/comp/lua/readline-3.0.tar.gz";
+    sha256 = "1rr2b7q8w3i4bm1i634sd6kzhw6v1fpnh53mj09af6xdq1rfhr5n";
   };
-  disabled = (luaOlder "5.1") || (luaAtLeast "5.4");
+
+  disabled = (luaOlder "5.1") || (luaAtLeast "5.5");
   propagatedBuildInputs = [ lua luaposix ];
 
-  meta = with lib; {
-    homepage = "http://www.pjb.com.au/comp/lua/readline.html";
+  meta = {
+    homepage = "http://pjb.com.au/comp/lua/readline.html";
     description = "Interface to the readline library";
     license.fullName = "MIT/X11";
   };
 };
+
 say = buildLuarocksPackage {
   pname = "say";
   version = "1.3-1";
 
-  knownRockspec = (fetchurl {
-    url    = "mirror://luarocks/say-1.3-1.rockspec";
-    sha256 = "0bknglb0qwd6r703wp3hcb6z2xxd14kq4md3sg9al3b28fzxbhdv";
-  }).outPath;
-
   src = fetchurl {
     url    = "https://github.com/Olivine-Labs/say/archive/v1.3-1.tar.gz";
     sha256 = "1jh76mxq9dcmv7kps2spwcc6895jmj2sf04i4y9idaxlicvwvs13";
@@ -1530,81 +2065,113 @@ say = buildLuarocksPackage {
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
+  meta = {
     homepage = "http://olivinelabs.com/busted/";
     description = "Lua String Hashing/Indexing Library";
     license.fullName = "MIT <http://opensource.org/licenses/MIT>";
   };
 };
-std__debug = buildLuarocksPackage {
+
+std-_debug = buildLuarocksPackage {
   pname = "std._debug";
-  version = "1.0.1-1";
+  version = "git-1";
+
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/lua-stdlib/_debug.git",
+  "rev": "3236c1561bfc2724a3abd153a6e10c7957b35cf2",
+  "date": "2020-04-15T16:34:01-07:00",
+  "path": "/nix/store/rgbn0nn7glm7s52d90ds87j10bx20nij-_debug",
+  "sha256": "0p6jz6syh2r8qfk08jf2hp4p902rkamjzpzl8xhkpzf8rdzs937w",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "mirror://luarocks/std._debug-1.0.1-1.src.rock";
-    sha256 = "1qkcc5rph3ns9mzrfsa1671pb3hzbzfnaxvyw7zdly2b7ll88svz";
-  };
   disabled = (luaOlder "5.1") || (luaAtLeast "5.5");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
+  meta = {
     homepage = "http://lua-stdlib.github.io/_debug";
     description = "Debug Hints Library";
     license.fullName = "MIT/X11";
   };
 };
-std_normalize = buildLuarocksPackage {
+
+std-normalize = buildLuarocksPackage {
   pname = "std.normalize";
-  version = "2.0.3-1";
+  version = "git-1";
+
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/lua-stdlib/normalize.git",
+  "rev": "fb1d61b88b03406e291f58ec4981edfc538b8216",
+  "date": "2020-04-15T17:16:16-07:00",
+  "path": "/nix/store/jr4agcn13fk56b8105p6yr9gn767fkds-normalize",
+  "sha256": "0jiykdjxc4b5my12fnzrw3bxracjgxc265xrn8kfx95350kvbzl1",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "mirror://luarocks/std.normalize-2.0.3-1.src.rock";
-    sha256 = "00pq2y5w8i052gxmyhgri5ibijksnfmc24kya9y3d5rjlin0n11s";
-  };
   disabled = (luaOlder "5.1") || (luaAtLeast "5.5");
-  propagatedBuildInputs = [ lua std__debug ];
+  propagatedBuildInputs = [ lua std-_debug ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://lua-stdlib.github.io/normalize";
     description = "Normalized Lua Functions";
     license.fullName = "MIT/X11";
   };
 };
+
 stdlib = buildLuarocksPackage {
   pname = "stdlib";
   version = "41.2.2-1";
-
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/stdlib-41.2.2-1.rockspec";
+    sha256 = "0rscb4cm8s8bb8fk8rknc269y7bjqpslspsaxgs91i8bvabja6f6";
+  }).outPath;
   src = fetchurl {
-    url    = "mirror://luarocks/stdlib-41.2.2-1.src.rock";
-    sha256 = "1kricll40xy75j72lrbp2jpyxsj9v8b9d7qjf3m3fq1bpg6dmsk7";
+    url    = "http://github.com/lua-stdlib/lua-stdlib/archive/release-v41.2.2.zip";
+    sha256 = "0is8i8lk4qq4afnan0vj1bwr8brialyrva7cjy43alzgwdphwynx";
   };
+
   disabled = (luaOlder "5.1") || (luaAtLeast "5.5");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
+  meta = {
     homepage = "http://lua-stdlib.github.io/lua-stdlib";
     description = "General Lua Libraries";
-    maintainers = with maintainers; [ vyp ];
+    maintainers = with lib.maintainers; [ vyp ];
     license.fullName = "MIT/X11";
   };
 };
+
 vstruct = buildLuarocksPackage {
   pname = "vstruct";
-  version = "2.0.2-1";
+  version = "2.1.1-1";
 
-  src = fetchurl {
-    url    = "mirror://luarocks/vstruct-2.0.2-1.src.rock";
-    sha256 = "05k1685618wh7vg8av92mh1i1rjqg15x12gifbp9kyqzc2nk3kzq";
-  };
-  disabled = (luaOlder "5.1") || (luaAtLeast "5.3");
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/ToxicFrog/vstruct.git",
+  "rev": "924d3dd63043189e4a7ef6b1b54b19208054cc0f",
+  "date": "2020-05-06T23:13:06-04:00",
+  "path": "/nix/store/a4i9k5hx9xiz38bij4hb505dg088jkss-vstruct",
+  "sha256": "0sl9v874mckhh6jbxsan48s5xajzx193k4qlphw69sdbf8kr3p57",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
+
+  disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/ToxicFrog/vstruct";
     description = "Lua library to manipulate binary data";
   };
 };
 
-}
-/* GENERATED */
 
+}
+/* GENERATED - do not edit this file */
diff --git a/nixpkgs/pkgs/development/lua-modules/generic/default.nix b/nixpkgs/pkgs/development/lua-modules/generic/default.nix
index de21d3d6a3e6..183a958b4e1f 100644
--- a/nixpkgs/pkgs/development/lua-modules/generic/default.nix
+++ b/nixpkgs/pkgs/development/lua-modules/generic/default.nix
@@ -20,7 +20,7 @@ else
     attrs
     //
     {
-      name = "lua${lua.luaversion}-" + attrs.name;
+      name = "lua${lua.luaversion}-" + attrs.pname + "-" + attrs.version;
       propagatedBuildInputs = propagatedBuildInputs ++ [
         lua # propagate it for its setup-hook
       ];
diff --git a/nixpkgs/pkgs/development/lua-modules/overrides.nix b/nixpkgs/pkgs/development/lua-modules/overrides.nix
index 288f4fc078ba..a15bd6e53663 100644
--- a/nixpkgs/pkgs/development/lua-modules/overrides.nix
+++ b/nixpkgs/pkgs/development/lua-modules/overrides.nix
@@ -121,6 +121,11 @@ with super;
         sha256 = "0gfvvbri9kyzhvq3bvdbj2l6mwvlz040dk4mrd5m9gz79f7w109c";
       })
     ];
+
+    # there is only a rockspec.in in the repo, the actual rockspec must be generated
+    preConfigure = ''
+      make rock
+    '';
   });
 
   lrexlib-gnu = super.lrexlib-gnu.override({
@@ -141,10 +146,6 @@ with super;
     ];
   });
 
-  ltermbox = super.ltermbox.override( {
-    disabled = !isLua51 || isLuaJIT;
-  });
-
   lua-iconv = super.lua-iconv.override({
     buildInputs = [
       pkgs.libiconv
@@ -344,7 +345,24 @@ with super;
   })).overrideAttrs (old: {
     # Without this, source root is wrongly set to ./readline-2.6/doc
     setSourceRoot = ''
-      sourceRoot=./readline-2.6
+      sourceRoot=./readline-3.0
+    '';
+  });
+
+  std-_debug = super.std-_debug.overrideAttrs(oa: {
+    # run make to generate lib/std/_debug/version.lua
+    preConfigure = ''
+      make all
     '';
   });
+
+  std-normalize = super.std-normalize.overrideAttrs(oa: {
+    # run make to generate lib/std/_debug/version.lua
+    preConfigure = ''
+      make all
+    '';
+  });
+
+  # aliases
+  cjson = super.lua-cjson;
 }
diff --git a/nixpkgs/pkgs/development/misc/avr8-burn-omat/default.nix b/nixpkgs/pkgs/development/misc/avr8-burn-omat/default.nix
index 4b5793dc1332..d8f75875b9b3 100644
--- a/nixpkgs/pkgs/development/misc/avr8-burn-omat/default.nix
+++ b/nixpkgs/pkgs/development/misc/avr8-burn-omat/default.nix
@@ -11,8 +11,6 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ unzip ];
 
-  phases = "unpackPhase installPhase";
-
   # move to nix-support to not create that many symlinks..
   # TODO burnomat tries to read /usr/local/etc/avrdude.conf (but you can edit it within the settings dialog)
   installPhase = ''
diff --git a/nixpkgs/pkgs/development/misc/haskell/hasura/ci-info/default.nix b/nixpkgs/pkgs/development/misc/haskell/hasura/ci-info.nix
index 2770e74a6988..21b78ca76b34 100644
--- a/nixpkgs/pkgs/development/misc/haskell/hasura/ci-info/default.nix
+++ b/nixpkgs/pkgs/development/misc/haskell/hasura/ci-info.nix
@@ -1,3 +1,5 @@
+# This has been automatically generated by the script
+# ./update.sh.  This should not be changed by hand.
 { mkDerivation, aeson, aeson-casing, base, fetchgit, hashable
 , hpack, lib, template-haskell, text, th-lift-instances
 , unordered-containers
@@ -7,8 +9,8 @@ mkDerivation {
   version = "0.1.0.0";
   src = fetchgit {
     url = "https://github.com/hasura/ci-info-hs.git";
-    sha256 = "0rn1799z4y7z1c6ijrr0gscarg25zmnfq0z9rrmk4ad727vf1ppc";
-    rev = "6af5a68450347a02295a9cd050d05a8b2f5c06ab";
+    sha256 = "018vfyg0y2sn497nigjrcs6b1v3i9bna06dsbvgr6wjikcl6dhh4";
+    rev = "68247a83738ac4bb9f719f0e4213aeb7be9565cf";
     fetchSubmodules = true;
   };
   libraryHaskellDepends = [
@@ -19,4 +21,5 @@ mkDerivation {
   prePatch = "hpack";
   homepage = "https://github.com/hasura/ci-info-hs#readme";
   license = lib.licenses.mit;
+  maintainers = with lib.maintainers; [ lassulus ];
 }
diff --git a/nixpkgs/pkgs/development/misc/haskell/hasura/ekg-core.nix b/nixpkgs/pkgs/development/misc/haskell/hasura/ekg-core.nix
new file mode 100644
index 000000000000..6a9b1157021e
--- /dev/null
+++ b/nixpkgs/pkgs/development/misc/haskell/hasura/ekg-core.nix
@@ -0,0 +1,34 @@
+# This has been automatically generated by the script
+# ./update.sh.  This should not be changed by hand.
+{ mkDerivation, async, atomic-primops, base, containers, criterion
+, fetchgit, generic-random, ghc-prim, hashable, hspec
+, hspec-smallcheck, HUnit, inspection-testing, lib, markdown-unlit
+, primitive, QuickCheck, smallcheck, text, unordered-containers
+}:
+mkDerivation {
+  pname = "ekg-core";
+  version = "0.1.1.7";
+  src = fetchgit {
+    url = "https://github.com/hasura/ekg-core.git";
+    sha256 = "1s58kjg1kbhsyfyj0zwhnnws9hg9zwj9jylpwicg54yi78w962ys";
+    rev = "9fc8f94685c149a909b66bad4167455d8ae1002c";
+    fetchSubmodules = true;
+  };
+  libraryHaskellDepends = [
+    atomic-primops base containers ghc-prim hashable inspection-testing
+    primitive text unordered-containers
+  ];
+  testHaskellDepends = [
+    async atomic-primops base containers generic-random ghc-prim
+    hashable hspec hspec-smallcheck HUnit inspection-testing
+    markdown-unlit primitive QuickCheck smallcheck text
+    unordered-containers
+  ];
+  testToolDepends = [ markdown-unlit ];
+  benchmarkHaskellDepends = [ base criterion ];
+  doHaddock = false;
+  homepage = "https://github.com/tibbe/ekg-core";
+  description = "Tracking of system metrics";
+  license = lib.licenses.bsd3;
+  maintainers = with lib.maintainers; [ lassulus ];
+}
diff --git a/nixpkgs/pkgs/development/misc/haskell/hasura/ekg-json.nix b/nixpkgs/pkgs/development/misc/haskell/hasura/ekg-json.nix
new file mode 100644
index 000000000000..e115e2c40b9d
--- /dev/null
+++ b/nixpkgs/pkgs/development/misc/haskell/hasura/ekg-json.nix
@@ -0,0 +1,22 @@
+# This has been automatically generated by the script
+# ./update.sh.  This should not be changed by hand.
+{ mkDerivation, aeson, base, ekg-core, fetchgit, lib, text
+, unordered-containers, vector
+}:
+mkDerivation {
+  pname = "ekg-json";
+  version = "0.1.0.7";
+  src = fetchgit {
+    url = "https://github.com/hasura/ekg-json.git";
+    sha256 = "1yf9x7gh66q27c3wv5m00ijf2qpiwm53jjlhrj2yc1glv684wf4v";
+    rev = "f25b9ddb7aae18059ef707a5ce30d6a54a63db13";
+    fetchSubmodules = true;
+  };
+  libraryHaskellDepends = [
+    aeson base ekg-core text unordered-containers vector
+  ];
+  homepage = "https://github.com/tibbe/ekg-json";
+  description = "JSON encoding of ekg metrics";
+  license = lib.licenses.bsd3;
+  maintainers = with lib.maintainers; [ lassulus ];
+}
diff --git a/nixpkgs/pkgs/development/misc/haskell/hasura/graphql-engine.nix b/nixpkgs/pkgs/development/misc/haskell/hasura/graphql-engine.nix
new file mode 100644
index 000000000000..d8faf1714510
--- /dev/null
+++ b/nixpkgs/pkgs/development/misc/haskell/hasura/graphql-engine.nix
@@ -0,0 +1,81 @@
+# This has been automatically generated by the script
+# ./update.sh.  This should not be changed by hand.
+{ mkDerivation, aeson, aeson-casing, ansi-wl-pprint, asn1-encoding
+, asn1-types, async, attoparsec, attoparsec-iso8601, auto-update
+, base, base16-bytestring, base64-bytestring, binary, byteorder
+, bytestring, case-insensitive, ci-info, containers, cron
+, cryptonite, data-has, deepseq, dependent-map, dependent-sum
+, directory, ekg-core, ekg-json, exceptions, fast-logger, fetchgit
+, file-embed, filepath, ghc-heap-view, graphql-parser, hashable
+, hashable-time, hspec, hspec-core, hspec-expectations
+, hspec-expectations-lifted, http-api-data, http-client
+, http-client-tls, http-conduit, http-types, immortal
+, insert-ordered-containers, jose, kan-extensions, lens, lens-aeson
+, lib, lifted-async, lifted-base, list-t, memory, mime-types
+, mmorph, monad-control, monad-loops, monad-validate, mtl, mustache
+, mysql, mysql-simple, natural-transformation, network, network-uri
+, odbc, optparse-applicative, pem, pg-client, postgresql-binary
+, postgresql-libpq, pretty-simple, process, profunctors, psqueues
+, QuickCheck, quickcheck-instances, random, regex-tdfa
+, resource-pool, retry, safe, safe-exceptions, scientific
+, semialign, semigroups, semver, shakespeare, some, split
+, Spock-core, stm, stm-containers, tagged, template-haskell, text
+, text-builder, text-conversions, these, time, transformers
+, transformers-base, unix, unordered-containers, uri-encode
+, utf8-string, uuid, validation, vector, vector-instances, wai
+, warp, websockets, wreq, x509, x509-store, yaml, zlib
+}:
+mkDerivation {
+  pname = "graphql-engine";
+  version = "1.0.0";
+  src = fetchgit {
+    url = "https://github.com/hasura/graphql-engine.git";
+    sha256 = "04s8rczvm0l5dbh14g2vav2wbqb4fg51471fncqf36s59img14b7";
+    rev = "cf6f3edc1f6df7843dfb91be6dcb0fd7cc94d133";
+    fetchSubmodules = true;
+  };
+  postUnpack = "sourceRoot+=/server; echo source root reset to $sourceRoot";
+  isLibrary = true;
+  isExecutable = true;
+  libraryHaskellDepends = [
+    aeson aeson-casing ansi-wl-pprint asn1-encoding asn1-types async
+    attoparsec attoparsec-iso8601 auto-update base base16-bytestring
+    base64-bytestring binary byteorder bytestring case-insensitive
+    ci-info containers cron cryptonite data-has deepseq dependent-map
+    dependent-sum directory ekg-core ekg-json exceptions fast-logger
+    file-embed filepath ghc-heap-view graphql-parser hashable
+    hashable-time http-api-data http-client http-client-tls
+    http-conduit http-types immortal insert-ordered-containers jose
+    kan-extensions lens lens-aeson lifted-async lifted-base list-t
+    memory mime-types mmorph monad-control monad-loops monad-validate
+    mtl mustache mysql mysql-simple network network-uri odbc
+    optparse-applicative pem pg-client postgresql-binary
+    postgresql-libpq pretty-simple process profunctors psqueues
+    QuickCheck quickcheck-instances random regex-tdfa resource-pool
+    retry safe-exceptions scientific semialign semigroups semver
+    shakespeare some split Spock-core stm stm-containers tagged
+    template-haskell text text-builder text-conversions these time
+    transformers transformers-base unix unordered-containers uri-encode
+    utf8-string uuid validation vector vector-instances wai warp
+    websockets wreq x509 x509-store yaml zlib
+  ];
+  executableHaskellDepends = [
+    base bytestring ekg-core kan-extensions pg-client text
+    text-conversions time unix
+  ];
+  testHaskellDepends = [
+    aeson base bytestring containers cron dependent-map dependent-sum
+    graphql-parser hspec hspec-core hspec-expectations
+    hspec-expectations-lifted http-client http-client-tls http-types
+    insert-ordered-containers jose kan-extensions lens lifted-base
+    mmorph monad-control mtl natural-transformation network-uri
+    optparse-applicative pg-client process QuickCheck safe scientific
+    split template-haskell text time transformers-base
+    unordered-containers vector
+  ];
+  doCheck = false;
+  homepage = "https://www.hasura.io";
+  description = "GraphQL API over Postgres";
+  license = lib.licenses.asl20;
+  maintainers = with lib.maintainers; [ lassulus ];
+}
diff --git a/nixpkgs/pkgs/development/misc/haskell/hasura/graphql-engine/default.nix b/nixpkgs/pkgs/development/misc/haskell/hasura/graphql-engine/default.nix
deleted file mode 100644
index 9e7d448e4c1e..000000000000
--- a/nixpkgs/pkgs/development/misc/haskell/hasura/graphql-engine/default.nix
+++ /dev/null
@@ -1,75 +0,0 @@
-{ mkDerivation, aeson, aeson-casing, ansi-wl-pprint, asn1-encoding
-, asn1-types, async, attoparsec, attoparsec-iso8601, auto-update
-, base, base64-bytestring, byteorder, bytestring, case-insensitive
-, ci-info, containers, criterion, cryptonite, data-has, deepseq
-, dependent-map, dependent-sum, directory, ekg-core, ekg-json
-, fast-logger, fetchgit, file-embed, filepath, generic-arbitrary
-, ghc-heap-view, graphql-parser, hashable, hspec, hspec-core
-, hspec-expectations-lifted, http-client, http-client-tls
-, http-types, immortal, insert-ordered-containers, jose, lens
-, lifted-async, lifted-base, list-t, mime-types, monad-control
-, monad-time, monad-validate, mtl, mustache, mwc-probability
-, mwc-random, natural-transformation, network, network-uri
-, optparse-applicative, pem, pg-client, postgresql-binary
-, postgresql-libpq, process, profunctors, psqueues, QuickCheck
-, regex-tdfa, safe, scientific, semver, shakespeare, split
-, Spock-core, lib, stm, stm-containers, template-haskell, text
-, text-builder, text-conversions, th-lift-instances, these, time
-, transformers, transformers-base, unix, unordered-containers
-, uri-encode, uuid, vector, wai, wai-websockets, warp, websockets
-, wreq, x509, yaml, zlib, witherable, semialign, validation, cron
-}:
-mkDerivation {
-  pname = "graphql-engine";
-  version = "1.0.0";
-  src = fetchgit {
-    url = "https://github.com/hasura/graphql-engine.git";
-    sha256 = "sha256-tNKoi3dtoXj0nn4qBgLBroo7SgX7SdVaHtBqjs1S3hQ=";
-    rev = "1e3eb035d3c915032ba23e502bcb0132b4d54202";
-    fetchSubmodules = true;
-  };
- postUnpack = "sourceRoot+=/server; echo source root reset to $sourceRoot";
-  isLibrary = true;
-  isExecutable = true;
-  libraryHaskellDepends = [
-    aeson aeson-casing ansi-wl-pprint asn1-encoding asn1-types async
-    attoparsec attoparsec-iso8601 auto-update base base64-bytestring
-    byteorder bytestring case-insensitive ci-info containers cryptonite
-    data-has deepseq dependent-map dependent-sum directory ekg-core
-    ekg-json fast-logger file-embed filepath generic-arbitrary
-    ghc-heap-view graphql-parser hashable http-client http-client-tls
-    http-types immortal insert-ordered-containers jose lens
-    lifted-async lifted-base list-t mime-types monad-control monad-time
-    monad-validate mtl mustache network network-uri
-    optparse-applicative pem pg-client postgresql-binary
-    postgresql-libpq process profunctors psqueues QuickCheck regex-tdfa
-    scientific semver shakespeare split Spock-core stm stm-containers
-    template-haskell text text-builder text-conversions
-    th-lift-instances these time transformers transformers-base unix
-    unordered-containers uri-encode uuid vector wai wai-websockets warp
-    websockets wreq x509 yaml zlib
-    witherable semialign validation
-    cron
-  ];
-  executableHaskellDepends = [
-    base bytestring pg-client text text-conversions
-  ];
-  testHaskellDepends = [
-    aeson base bytestring hspec hspec-core hspec-expectations-lifted
-    http-client http-client-tls lifted-base monad-control mtl
-    natural-transformation optparse-applicative pg-client process
-    QuickCheck safe split text time transformers-base
-    unordered-containers
-  ];
-  benchmarkHaskellDepends = [
-    async base bytestring criterion deepseq mwc-probability mwc-random
-    split text vector
-  ];
-  doCheck = false;
-  homepage = "https://www.hasura.io";
-  description = "GraphQL API over Postgres";
-  license = lib.licenses.asl20;
-  maintainers = with lib.maintainers; [ offline ];
-  hydraPlatforms = [];
-  broken = true;
-}
diff --git a/nixpkgs/pkgs/development/misc/haskell/hasura/graphql-parser.nix b/nixpkgs/pkgs/development/misc/haskell/hasura/graphql-parser.nix
new file mode 100644
index 000000000000..0033584a1593
--- /dev/null
+++ b/nixpkgs/pkgs/development/misc/haskell/hasura/graphql-parser.nix
@@ -0,0 +1,33 @@
+# This has been automatically generated by the script
+# ./update.sh.  This should not be changed by hand.
+{ mkDerivation, aeson, attoparsec, base, bytestring, containers
+, criterion, deepseq, fetchgit, filepath, hashable, hedgehog, lib
+, prettyprinter, scientific, template-haskell, text, text-builder
+, th-lift-instances, unordered-containers, vector
+}:
+mkDerivation {
+  pname = "graphql-parser";
+  version = "0.2.0.0";
+  src = fetchgit {
+    url = "https://github.com/hasura/graphql-parser-hs.git";
+    sha256 = "015b1h475k8wmhm9hkrvyxr985x7d8yc0xgcdqj7vmziixvfwwwj";
+    rev = "79beb0e85e00422a8a15318c0bc573765fc7b246";
+    fetchSubmodules = true;
+  };
+  libraryHaskellDepends = [
+    aeson attoparsec base bytestring containers deepseq filepath
+    hashable hedgehog prettyprinter scientific template-haskell text
+    text-builder th-lift-instances unordered-containers vector
+  ];
+  testHaskellDepends = [
+    attoparsec base bytestring hedgehog prettyprinter scientific text
+    text-builder
+  ];
+  benchmarkHaskellDepends = [
+    base bytestring criterion prettyprinter text text-builder
+  ];
+  homepage = "https://github.com/hasura/graphql-parser-hs";
+  description = "A native Haskell GraphQL parser";
+  license = lib.licenses.bsd3;
+  maintainers = with lib.maintainers; [ lassulus ];
+}
diff --git a/nixpkgs/pkgs/development/misc/haskell/hasura/graphql-parser/default.nix b/nixpkgs/pkgs/development/misc/haskell/hasura/graphql-parser/default.nix
deleted file mode 100644
index dbd3edf00641..000000000000
--- a/nixpkgs/pkgs/development/misc/haskell/hasura/graphql-parser/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ mkDerivation, aeson, attoparsec, base, bytestring, containers
-, criterion, fetchgit, filepath, hedgehog, hpack, prettyprinter
-, protolude, regex-tdfa, scientific, lib, template-haskell, text
-, text-builder, th-lift-instances, unordered-containers, vector
-}:
-mkDerivation {
-  pname = "graphql-parser";
-  version = "0.1.0.1";
-  src = fetchgit {
-    url = "https://github.com/hasura/graphql-parser-hs.git";
-    sha256 = "sha256-oem/h0AQPk7eSM/P6wMoWV9KirxutE4hnQWwrpQ6TGk=";
-    rev = "ba8e26fef1488cf3c8c08e86f02730f56ec84e1f";
-    fetchSubmodules = true;
-  };
-  libraryHaskellDepends = [
-    aeson attoparsec base bytestring containers filepath hedgehog
-    prettyprinter protolude regex-tdfa scientific template-haskell text
-    text-builder th-lift-instances unordered-containers vector
-  ];
-  libraryToolDepends = [ hpack ];
-  testHaskellDepends = [
-    aeson attoparsec base bytestring containers filepath hedgehog
-    prettyprinter protolude regex-tdfa scientific template-haskell text
-    text-builder th-lift-instances unordered-containers vector
-  ];
-  benchmarkHaskellDepends = [
-    aeson attoparsec base bytestring containers criterion filepath
-    hedgehog prettyprinter protolude regex-tdfa scientific
-    template-haskell text text-builder th-lift-instances
-    unordered-containers vector
-  ];
-  doCheck = false;
-  prePatch = "hpack";
-  homepage = "https://github.com/hasura/graphql-parser-hs#readme";
-  license = lib.licenses.bsd3;
-}
diff --git a/nixpkgs/pkgs/development/misc/haskell/hasura/pg-client.nix b/nixpkgs/pkgs/development/misc/haskell/hasura/pg-client.nix
new file mode 100644
index 000000000000..d1eb5e156e6c
--- /dev/null
+++ b/nixpkgs/pkgs/development/misc/haskell/hasura/pg-client.nix
@@ -0,0 +1,36 @@
+# This has been automatically generated by the script
+# ./update.sh.  This should not be changed by hand.
+{ mkDerivation, aeson, aeson-casing, attoparsec, base, bytestring
+, Cabal, criterion, ekg-core, fetchgit, file-embed, hashable
+, hashtables, hasql, hasql-pool, hasql-transaction, hspec, lib
+, mmorph, monad-control, mtl, postgresql, postgresql-binary
+, postgresql-libpq, resource-pool, retry, scientific
+, template-haskell, text, text-builder, time, transformers-base
+, uuid, vector
+}:
+mkDerivation {
+  pname = "pg-client";
+  version = "0.1.0";
+  src = fetchgit {
+    url = "https://github.com/hasura/pg-client-hs.git";
+    sha256 = "1y79s3ai4h82szpm1j5n5ygybqr7cza9l0raxf39vgn66jhy1jd2";
+    rev = "92975d0f8f933c8d06913dc97af259253bf7fb5f";
+    fetchSubmodules = true;
+  };
+  setupHaskellDepends = [ base Cabal ];
+  libraryHaskellDepends = [
+    aeson aeson-casing attoparsec base bytestring ekg-core hashable
+    hashtables mmorph monad-control mtl postgresql-binary
+    postgresql-libpq resource-pool retry scientific template-haskell
+    text text-builder time transformers-base uuid vector
+  ];
+  librarySystemDepends = [ postgresql ];
+  testHaskellDepends = [ base bytestring hspec mtl ];
+  benchmarkHaskellDepends = [
+    base bytestring criterion file-embed hashable hasql hasql-pool
+    hasql-transaction mtl postgresql-libpq text text-builder
+  ];
+  homepage = "https://github.com/hasura/platform";
+  license = lib.licenses.bsd3;
+  maintainers = with lib.maintainers; [ lassulus ];
+}
diff --git a/nixpkgs/pkgs/development/misc/haskell/hasura/pg-client/default.nix b/nixpkgs/pkgs/development/misc/haskell/hasura/pg-client/default.nix
deleted file mode 100644
index bccb3f6eda3d..000000000000
--- a/nixpkgs/pkgs/development/misc/haskell/hasura/pg-client/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ mkDerivation, aeson, aeson-casing, attoparsec, base, bytestring
-, criterion, fetchgit, file-embed, hashable, hashtables, hasql
-, hasql-pool, hasql-transaction, monad-control, mtl
-, postgresql-binary, postgresql-libpq, resource-pool, retry
-, scientific, lib, template-haskell, text, text-builder, th-lift
-, th-lift-instances, time, transformers-base, uuid, vector
-}:
-mkDerivation {
-  pname = "pg-client";
-  version = "0.1.0";
-  src = fetchgit {
-    url = "https://github.com/hasura/pg-client-hs.git";
-    sha256 = "1941gj5yp24kx0xb1nd774nwp5vnpsp6m83isqkwpyz9spl4sq7l";
-    rev = "70a849d09bea9461e72c5a5bbde06df65aab61c0";
-    fetchSubmodules = true;
-  };
-  libraryHaskellDepends = [
-    aeson aeson-casing attoparsec base bytestring hashable hashtables
-    monad-control mtl postgresql-binary postgresql-libpq resource-pool
-    retry scientific template-haskell text text-builder th-lift
-    th-lift-instances time transformers-base uuid vector
-  ];
-  testHaskellDepends = [ base ];
-  benchmarkHaskellDepends = [
-    base bytestring criterion file-embed hashable hasql hasql-pool
-    hasql-transaction mtl postgresql-libpq text text-builder
-  ];
-  homepage = "https://github.com/hasura/platform";
-  license = lib.licenses.bsd3;
-}
diff --git a/nixpkgs/pkgs/development/misc/haskell/hasura/pool.nix b/nixpkgs/pkgs/development/misc/haskell/hasura/pool.nix
new file mode 100644
index 000000000000..a12d61f0fe21
--- /dev/null
+++ b/nixpkgs/pkgs/development/misc/haskell/hasura/pool.nix
@@ -0,0 +1,24 @@
+# This has been automatically generated by the script
+# ./update.sh.  This should not be changed by hand.
+{ mkDerivation, base, fetchgit, hashable, hspec, lib, monad-control
+, stm, time, transformers, transformers-base, vector
+}:
+mkDerivation {
+  pname = "resource-pool";
+  version = "0.2.3.2";
+  src = fetchgit {
+    url = "https://github.com/hasura/pool.git";
+    sha256 = "00q1fxh72fgjwl1pi3lnp4xg8f3kfm6q12gs9scinwbymfgzarms";
+    rev = "bc4c3f739a8fb8ec4444336a34662895831c9acf";
+    fetchSubmodules = true;
+  };
+  libraryHaskellDepends = [
+    base hashable monad-control stm time transformers transformers-base
+    vector
+  ];
+  testHaskellDepends = [ base hspec ];
+  homepage = "http://github.com/bos/pool";
+  description = "A high-performance striped resource pooling implementation";
+  license = lib.licenses.bsd3;
+  maintainers = with lib.maintainers; [ lassulus ];
+}
diff --git a/nixpkgs/pkgs/development/misc/haskell/hasura/update.sh b/nixpkgs/pkgs/development/misc/haskell/hasura/update.sh
new file mode 100755
index 000000000000..77a5d5fc6dea
--- /dev/null
+++ b/nixpkgs/pkgs/development/misc/haskell/hasura/update.sh
@@ -0,0 +1,85 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p cabal2nix curl jq -I nixpkgs=.
+#
+# This script will update the hasura derivations to the latest version using
+# cabal2nix.
+#
+# Note that you should always try building hasura graphql-engine after updating it here, since
+# some of the overrides in pkgs/development/haskell/configuration-nix.nix may
+# need to be updated/changed.
+
+set -eo pipefail
+
+# This is the directory of this update.sh script.
+script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
+
+# graphql-engine derivation created with cabal2nix.
+engine_derivation_file="${script_dir}/graphql-engine.nix"
+parser_derivation_file="${script_dir}/graphql-parser.nix"
+ciinfo_derivation_file="${script_dir}/ci-info.nix"
+pgclient_derivation_file="${script_dir}/pg-client.nix"
+pool_derivation_file="${script_dir}/pool.nix"
+ekgcore_derivation_file="${script_dir}/ekg-core.nix"
+ekgjson_derivation_file="${script_dir}/ekg-json.nix"
+
+# TODO: get current revision of graphql-engine in Nixpkgs.
+# old_version="$(sed -En 's/.*\bversion = "(.*?)".*/\1/p' "$engine_derivation_file")"
+
+# This is the latest release version of graphql-engine on GitHub.
+new_version=$(curl --silent "https://api.github.com/repos/hasura/graphql-engine/releases" | jq '.[0].tag_name' --raw-output)
+
+echo "Running cabal2nix and outputting to ${engine_derivation_file}..."
+
+echo "# This has been automatically generated by the script" > "$engine_derivation_file"
+echo "# ./update.sh.  This should not be changed by hand." >> "$engine_derivation_file"
+
+cabal2nix --revision "$new_version" --subpath server --maintainer lassulus --no-check "https://github.com/hasura/graphql-engine.git" >> "$engine_derivation_file"
+
+echo "Running cabal2nix and outputting to ${parser_derivation_file}..."
+
+echo "# This has been automatically generated by the script" > "$parser_derivation_file"
+echo "# ./update.sh.  This should not be changed by hand." >> "$parser_derivation_file"
+
+cabal2nix --maintainer lassulus "https://github.com/hasura/graphql-parser-hs.git" >> "$parser_derivation_file"
+
+echo "Running cabal2nix and outputting to ${ciinfo_derivation_file}..."
+
+echo "# This has been automatically generated by the script" > "$ciinfo_derivation_file"
+echo "# ./update.sh.  This should not be changed by hand." >> "$ciinfo_derivation_file"
+
+cabal2nix --maintainer lassulus "https://github.com/hasura/ci-info-hs.git" >> "$ciinfo_derivation_file"
+
+echo "Running cabal2nix and outputting to ${pgclient_derivation_file}..."
+
+echo "# This has been automatically generated by the script" > "$pgclient_derivation_file"
+echo "# ./update.sh.  This should not be changed by hand." >> "$pgclient_derivation_file"
+
+cabal2nix --maintainer lassulus "https://github.com/hasura/pg-client-hs.git" >> "$pgclient_derivation_file"
+
+echo "Running cabal2nix and outputting to ${pool_derivation_file}..."
+
+echo "# This has been automatically generated by the script" > "$pool_derivation_file"
+echo "# ./update.sh.  This should not be changed by hand." >> "$pool_derivation_file"
+
+cabal2nix --maintainer lassulus "https://github.com/hasura/pool.git" >> "$pool_derivation_file"
+
+echo "Running cabal2nix and outputting to ${ekgcore_derivation_file}..."
+
+echo "# This has been automatically generated by the script" > "$ekgcore_derivation_file"
+echo "# ./update.sh.  This should not be changed by hand." >> "$ekgcore_derivation_file"
+
+cabal2nix --maintainer lassulus "https://github.com/hasura/ekg-core.git" >> "$ekgcore_derivation_file"
+
+echo "Running cabal2nix and outputting to ${ekgjson_derivation_file}..."
+
+echo "# This has been automatically generated by the script" > "$ekgjson_derivation_file"
+echo "# ./update.sh.  This should not be changed by hand." >> "$ekgjson_derivation_file"
+
+cabal2nix --maintainer lassulus "https://github.com/hasura/ekg-json.git" >> "$ekgjson_derivation_file"
+
+echo "###################"
+echo "please update pkgs/servers/hasura/cli.nix vendorSha256"
+echo "please update pkgs/development/haskell-modules/configuration-common.nix graphql-engine version"
+echo "###################"
+
+echo "Finished."
diff --git a/nixpkgs/pkgs/development/misc/rpiboot/unstable.nix b/nixpkgs/pkgs/development/misc/rpiboot/default.nix
index d0cb663fb74b..941c7ce904ef 100644
--- a/nixpkgs/pkgs/development/misc/rpiboot/unstable.nix
+++ b/nixpkgs/pkgs/development/misc/rpiboot/default.nix
@@ -1,14 +1,14 @@
 { lib, stdenv, fetchFromGitHub, libusb1 }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "rpiboot";
-  version = "unstable-2020-10-20";
+  version = "2021.07.01";
 
   src = fetchFromGitHub {
     owner = "raspberrypi";
     repo = "usbboot";
-    rev = "d3760e119385a179765f43a50a8e051a44127c25";
-    sha256 = "0vygzh2h27xplqp1x4isj6kgrgmvmvc1mr3ghmsi98kzp91w772r";
+    rev = "v${version}";
+    sha256 = "sha256-BkNyYCrasfiRs7CbJa7tCo2k70TLGcXkOX+zGPyZGGE=";
   };
 
   nativeBuildInputs = [ libusb1 ];
@@ -26,7 +26,7 @@ stdenv.mkDerivation {
 
   meta = with lib; {
     homepage = "https://github.com/raspberrypi/usbboot";
-    description = "Utility to boot a Raspberry Pi CM/CM3/Zero over USB";
+    description = "Utility to boot a Raspberry Pi CM/CM3/CM4/Zero over USB";
     license = licenses.asl20;
     maintainers = with maintainers; [ cartr ];
     platforms = [ "aarch64-linux" "armv7l-linux" "armv6l-linux" "x86_64-linux" ];
diff --git a/nixpkgs/pkgs/development/mobile/androidenv/compose-android-packages.nix b/nixpkgs/pkgs/development/mobile/androidenv/compose-android-packages.nix
index f528fcd8558f..316c1ba8313e 100644
--- a/nixpkgs/pkgs/development/mobile/androidenv/compose-android-packages.nix
+++ b/nixpkgs/pkgs/development/mobile/androidenv/compose-android-packages.nix
@@ -3,8 +3,8 @@
 }:
 
 { toolsVersion ? "26.1.1"
-, platformToolsVersion ? "31.0.2"
-, buildToolsVersions ? [ "30.0.3" ]
+, platformToolsVersion ? "31.0.3"
+, buildToolsVersions ? [ "31.0.0" ]
 , includeEmulator ? false
 , emulatorVersion ? "30.6.3"
 , platformVersions ? []
diff --git a/nixpkgs/pkgs/development/mobile/androidenv/repo.json b/nixpkgs/pkgs/development/mobile/androidenv/repo.json
index e8e0bf080fef..d8d55e641bbf 100644
--- a/nixpkgs/pkgs/development/mobile/androidenv/repo.json
+++ b/nixpkgs/pkgs/development/mobile/androidenv/repo.json
@@ -1400,6 +1400,27 @@
     },
     "29": {
       "google_apis_playstore": {
+        "arm64-v8a": {
+          "archives": [
+            {
+              "os": "macosx",
+              "sha1": "47705387b8fbbfe87e3679d272c29f7064defba8",
+              "size": 1242979582,
+              "url": "https://dl.google.com/android/repository/sys-img/google_apis_playstore/arm64-v8a-29_r09-darwin.zip"
+            },
+            {
+              "os": "linux",
+              "sha1": "47705387b8fbbfe87e3679d272c29f7064defba8",
+              "size": 1242979582,
+              "url": "https://dl.google.com/android/repository/sys-img/google_apis_playstore/arm64-v8a-29_r09-linux.zip"
+            }
+          ],
+          "displayName": "Google Play ARM 64 v8a System Image",
+          "license": "android-sdk-arm-dbt-license",
+          "name": "system-image-29-google_apis_playstore-arm64-v8a",
+          "path": "system-images/android-29/google_apis_playstore/arm64-v8a",
+          "revision": "29-google_apis_playstore-arm64-v8a"
+        },
         "x86": {
           "archives": [
             {
@@ -1462,15 +1483,15 @@
           "archives": [
             {
               "os": "macosx",
-              "sha1": "38dc28908c1784a15fbaf64dd8f8d58279d9ce75",
-              "size": 1207055010,
-              "url": "https://dl.google.com/android/repository/sys-img/google_apis_playstore/arm64-v8a-30_r09-darwin.zip"
+              "sha1": "7208c0b72b51adb561595e62891763d7322964a0",
+              "size": 1308440072,
+              "url": "https://dl.google.com/android/repository/sys-img/google_apis_playstore/arm64-v8a-30_r10-darwin.zip"
             },
             {
               "os": "linux",
-              "sha1": "38dc28908c1784a15fbaf64dd8f8d58279d9ce75",
-              "size": 1207055010,
-              "url": "https://dl.google.com/android/repository/sys-img/google_apis_playstore/arm64-v8a-30_r09-linux.zip"
+              "sha1": "7208c0b72b51adb561595e62891763d7322964a0",
+              "size": 1308440072,
+              "url": "https://dl.google.com/android/repository/sys-img/google_apis_playstore/arm64-v8a-30_r10-linux.zip"
             }
           ],
           "displayName": "Google Play ARM 64 v8a System Image",
@@ -1535,55 +1556,55 @@
         }
       }
     },
-    "S": {
+    "31": {
       "google_apis_playstore": {
         "arm64-v8a": {
           "archives": [
             {
               "os": "macosx",
-              "sha1": "528e302e9966e8320d1c2bdc8235762fe4a9e733",
-              "size": 1333046412,
-              "url": "https://dl.google.com/android/repository/sys-img/google_apis_playstore/arm64-v8a-S_r03-darwin.zip"
+              "sha1": "bef2699f7fd74fe0c4106a8898833074de72984d",
+              "size": 1394878415,
+              "url": "https://dl.google.com/android/repository/sys-img/google_apis_playstore/arm64-v8a-31_r06-darwin.zip"
             },
             {
               "os": "linux",
-              "sha1": "528e302e9966e8320d1c2bdc8235762fe4a9e733",
-              "size": 1333046412,
-              "url": "https://dl.google.com/android/repository/sys-img/google_apis_playstore/arm64-v8a-S_r03-linux.zip"
+              "sha1": "bef2699f7fd74fe0c4106a8898833074de72984d",
+              "size": 1394878415,
+              "url": "https://dl.google.com/android/repository/sys-img/google_apis_playstore/arm64-v8a-31_r06-linux.zip"
             }
           ],
           "displayName": "Google Play ARM 64 v8a System Image",
           "license": "android-sdk-arm-dbt-license",
-          "name": "system-image-S-google_apis_playstore-arm64-v8a",
-          "path": "system-images/android-S/google_apis_playstore/arm64-v8a",
-          "revision": "S-google_apis_playstore-arm64-v8a"
+          "name": "system-image-31-google_apis_playstore-arm64-v8a",
+          "path": "system-images/android-31/google_apis_playstore/arm64-v8a",
+          "revision": "31-google_apis_playstore-arm64-v8a"
         },
         "x86_64": {
           "archives": [
             {
               "os": "windows",
-              "sha1": "093e0537cb18b25d8399a1af3ec955d2085f15ff",
-              "size": 1384401947,
-              "url": "https://dl.google.com/android/repository/sys-img/google_apis_playstore/x86_64-S_r03-windows.zip"
+              "sha1": "6450e33574aba4746682cfa72edd4e89947fed38",
+              "size": 1433583169,
+              "url": "https://dl.google.com/android/repository/sys-img/google_apis_playstore/x86_64-31_r06-windows.zip"
             },
             {
               "os": "macosx",
-              "sha1": "093e0537cb18b25d8399a1af3ec955d2085f15ff",
-              "size": 1384401947,
-              "url": "https://dl.google.com/android/repository/sys-img/google_apis_playstore/x86_64-S_r03-darwin.zip"
+              "sha1": "6450e33574aba4746682cfa72edd4e89947fed38",
+              "size": 1433583169,
+              "url": "https://dl.google.com/android/repository/sys-img/google_apis_playstore/x86_64-31_r06-darwin.zip"
             },
             {
               "os": "linux",
-              "sha1": "093e0537cb18b25d8399a1af3ec955d2085f15ff",
-              "size": 1384401947,
-              "url": "https://dl.google.com/android/repository/sys-img/google_apis_playstore/x86_64-S_r03-linux.zip"
+              "sha1": "6450e33574aba4746682cfa72edd4e89947fed38",
+              "size": 1433583169,
+              "url": "https://dl.google.com/android/repository/sys-img/google_apis_playstore/x86_64-31_r06-linux.zip"
             }
           ],
           "displayName": "Google Play Intel x86 Atom_64 System Image",
           "license": "android-sdk-preview-license",
-          "name": "system-image-S-google_apis_playstore-x86_64",
-          "path": "system-images/android-S/google_apis_playstore/x86_64",
-          "revision": "S-google_apis_playstore-x86_64"
+          "name": "system-image-31-google_apis_playstore-x86_64",
+          "path": "system-images/android-31/google_apis_playstore/x86_64",
+          "revision": "31-google_apis_playstore-x86_64"
         }
       }
     }
@@ -3101,32 +3122,32 @@
         "path": "build-tools/30.0.3",
         "revision": "30.0.3"
       },
-      "31.0.0-rc3": {
+      "31.0.0": {
         "archives": [
           {
-            "os": "macosx",
-            "sha1": "e75dfb7a975809ba0ca0d25c2b82f7fd56444a4b",
-            "size": 53224980,
-            "url": "https://dl.google.com/android/repository/012061446cfd98341585d0d07401d0bd1a4c30f6.build-tools_r31-rc3-macosx.zip"
-          },
-          {
             "os": "windows",
-            "sha1": "9d9ce209353c9046abe16285d58ef893c4b42221",
-            "size": 57592553,
-            "url": "https://dl.google.com/android/repository/41966dc138d44a3e3797b92fb68bf70552011d5d.build-tools_r31-rc3-windows.zip"
+            "sha1": "032da328482814e6ef7fe918665c07e8f8f806ca",
+            "size": 56688233,
+            "url": "https://dl.google.com/android/repository/09489e417c0a266f2862ddd82b4ac29a1b7af55e.build-tools_r31-windows.zip"
           },
           {
             "os": "linux",
-            "sha1": "6859f11348d3984afbfcc74984802bd2e31cc0e2",
-            "size": 54724181,
-            "url": "https://dl.google.com/android/repository/build-tools_r31-rc3-linux.zip"
+            "sha1": "9dbebfdb9ff4c0dbc4ef00677986bf571ddcf99c",
+            "size": 54931191,
+            "url": "https://dl.google.com/android/repository/build-tools_r31-linux.zip"
+          },
+          {
+            "os": "macosx",
+            "sha1": "c9b4215affd183974b1b2d1c5745911203f56de5",
+            "size": 52867497,
+            "url": "https://dl.google.com/android/repository/d32e21a8aa8492ef8b86a489f601da425842b5da.build-tools_r31-macosx.zip"
           }
         ],
-        "displayName": "Android SDK Build-Tools 31-rc3",
-        "license": "android-sdk-preview-license",
+        "displayName": "Android SDK Build-Tools 31",
+        "license": "android-sdk-license",
         "name": "build-tools",
-        "path": "build-tools/31.0.0-rc3",
-        "revision": "31.0.0-rc3"
+        "path": "build-tools/31.0.0",
+        "revision": "31.0.0"
       }
     },
     "cmake": {
@@ -3321,115 +3342,115 @@
         "path": "cmdline-tools/3.0",
         "revision": "3.0"
       },
-      "4.0-rc01": {
+      "4.0": {
         "archives": [
           {
             "os": "linux",
-            "sha1": "98d3f2715f6bfbacef063d1376d7765fe5b93309",
-            "size": 99514756,
-            "url": "https://dl.google.com/android/repository/commandlinetools-linux-6987402_latest.zip"
+            "sha1": "87e7cd8879ed469117f20090dc4d454a24e30170",
+            "size": 103957858,
+            "url": "https://dl.google.com/android/repository/commandlinetools-linux-7302050_latest.zip"
           },
           {
             "os": "macosx",
-            "sha1": "573d312a3fdc7700d9c395d647292d90b193d4ee",
-            "size": 99514744,
-            "url": "https://dl.google.com/android/repository/commandlinetools-mac-6987402_latest.zip"
+            "sha1": "8fcf59d208cb5d48e1233979aa5187e7dfb98cf3",
+            "size": 103957846,
+            "url": "https://dl.google.com/android/repository/commandlinetools-mac-7302050_latest.zip"
           },
           {
             "os": "windows",
-            "sha1": "72fae22d41fb8aa4f22e408e18c9d00f06050f7b",
-            "size": 99496635,
-            "url": "https://dl.google.com/android/repository/commandlinetools-win-6987402_latest.zip"
+            "sha1": "ede5b054c06a7fea51bfd27041a100bae5521803",
+            "size": 103939737,
+            "url": "https://dl.google.com/android/repository/commandlinetools-win-7302050_latest.zip"
           }
         ],
         "displayName": "Android SDK Command-line Tools",
-        "license": "android-sdk-preview-license",
+        "license": "android-sdk-license",
         "name": "cmdline-tools",
-        "path": "cmdline-tools/4.0-beta01",
-        "revision": "4.0-rc01"
+        "path": "cmdline-tools/4.0",
+        "revision": "4.0"
       },
-      "5.0-rc01": {
+      "5.0": {
         "archives": [
           {
             "os": "linux",
-            "sha1": "f06b1642396ef1e431b990dbe386d5f1e3deabcc",
-            "size": 102189958,
-            "url": "https://dl.google.com/android/repository/commandlinetools-linux-7006259_latest.zip"
+            "sha1": "0885385de11983c020ff0d47039987fe372160d2",
+            "size": 109673042,
+            "url": "https://dl.google.com/android/repository/commandlinetools-linux-7583922_latest.zip"
           },
           {
             "os": "macosx",
-            "sha1": "0752424530724f76cb5a28de84d663e63739e6ee",
-            "size": 102189946,
-            "url": "https://dl.google.com/android/repository/commandlinetools-mac-7006259_latest.zip"
+            "sha1": "49538fa064c077b188bdb51f3aa57bb2882b0abd",
+            "size": 109673028,
+            "url": "https://dl.google.com/android/repository/commandlinetools-mac-7583922_latest.zip"
           },
           {
             "os": "windows",
-            "sha1": "6f8e359dba91af39c046a791ea32e3ca5149a078",
-            "size": 102171837,
-            "url": "https://dl.google.com/android/repository/commandlinetools-win-7006259_latest.zip"
+            "sha1": "a2f359fb8b075acebcb3e3e48b4170cfe4071882",
+            "size": 109651902,
+            "url": "https://dl.google.com/android/repository/commandlinetools-win-7583922_latest.zip"
           }
         ],
         "displayName": "Android SDK Command-line Tools",
-        "license": "android-sdk-preview-license",
+        "license": "android-sdk-license",
         "name": "cmdline-tools",
-        "path": "cmdline-tools/5.0-alpha01",
-        "revision": "5.0-rc01"
+        "path": "cmdline-tools/5.0",
+        "revision": "5.0"
       }
     },
     "emulator": {
-      "30.5.5": {
+      "30.8.4": {
         "archives": [
           {
-            "os": "macosx",
-            "sha1": "90f8a9942253db75ab4d13f791377e9739a88617",
-            "size": 300476485,
-            "url": "https://dl.google.com/android/repository/emulator-darwin_x64-7285888.zip"
-          },
-          {
             "os": "linux",
-            "sha1": "ccdee1aa99e4ec39f5a762d6912682ac248b92f0",
-            "size": 272500365,
-            "url": "https://dl.google.com/android/repository/emulator-linux_x64-7285888.zip"
+            "sha1": "140f833321684f7696e4b9012636c45eaa5b6a4a",
+            "size": 277522999,
+            "url": "https://dl.google.com/android/repository/emulator-linux_x64-7600983.zip"
           },
           {
             "os": "windows",
-            "sha1": "84c3105ba1a3a94963e1f99b3f706d0231948fc9",
-            "size": 324371999,
-            "url": "https://dl.google.com/android/repository/emulator-windows_x64-7285888.zip"
+            "sha1": "c26170db8aba1bbfcfe63481e95a90bc7b2ff129",
+            "size": 326723360,
+            "url": "https://dl.google.com/android/repository/emulator-windows_x64-7600983.zip"
+          },
+          {
+            "os": "macosx",
+            "sha1": "9811a649c516153681471f897a02398947640045",
+            "size": 315292647,
+            "url": "https://dl.google.com/android/repository/emulator-darwin_x64-7600983.zip"
           }
         ],
         "displayName": "Android Emulator",
         "license": "android-sdk-license",
         "name": "emulator",
         "path": "emulator",
-        "revision": "30.5.5"
+        "revision": "30.8.4"
       },
-      "30.6.3": {
+      "30.9.0": {
         "archives": [
           {
             "os": "macosx",
-            "sha1": "66c9b788de49548d0faab052274f97b042f7241d",
-            "size": 308984491,
-            "url": "https://dl.google.com/android/repository/emulator-darwin_x64-7266284.zip"
+            "sha1": "b197e04e0543271899a1bd956a3f828e1159086b",
+            "size": 315330447,
+            "url": "https://dl.google.com/android/repository/emulator-darwin_x64-7634933.zip"
           },
           {
             "os": "linux",
-            "sha1": "ecd9b55fe4784b6c8683faa4b1d2c951b8929154",
-            "size": 272243636,
-            "url": "https://dl.google.com/android/repository/emulator-linux_x64-7266284.zip"
+            "sha1": "5cdfb2b27f24ded22348535f2de28ec373e203c8",
+            "size": 277557089,
+            "url": "https://dl.google.com/android/repository/emulator-linux_x64-7634933.zip"
           },
           {
             "os": "windows",
-            "sha1": "5736749dc46ad950ec84e8275dfde2606d3e8a80",
-            "size": 324657514,
-            "url": "https://dl.google.com/android/repository/emulator-windows_x64-7266284.zip"
+            "sha1": "aed5ba827d0c1d68c8663a4d786f184aaeb939ed",
+            "size": 326205048,
+            "url": "https://dl.google.com/android/repository/emulator-windows_x64-7634933.zip"
           }
         ],
         "displayName": "Android Emulator",
         "license": "android-sdk-preview-license",
         "name": "emulator",
         "path": "emulator",
-        "revision": "30.6.3"
+        "revision": "30.9.0"
       }
     },
     "extras": {
@@ -3460,32 +3481,32 @@
         "path": "extras/google/auto",
         "revision": "1.1"
       },
-      "2.0-rc1": {
+      "2.0-rc2": {
         "archives": [
           {
             "os": "linux",
-            "sha1": "b480489e604371301da10731a793b234b01b8f42",
-            "size": 4527281,
-            "url": "https://dl.google.com/android/repository/desktop-head-unit-linux_r02.0.rc1.zip"
+            "sha1": "dbb771c2be299fd88ca05d8b0e381c369a7f7009",
+            "size": 6947111,
+            "url": "https://dl.google.com/android/repository/desktop-head-unit-linux_r02.0.rc2.zip"
           },
           {
             "os": "macosx",
-            "sha1": "3adaf99d06eaeeb31f7bdbb62ae841e740bfc156",
-            "size": 5592023,
-            "url": "https://dl.google.com/android/repository/desktop-head-unit-macosx_r02.0.rc1.zip"
+            "sha1": "ec1f68f9acc234f8493f4ba24954d1d45291b736",
+            "size": 8593497,
+            "url": "https://dl.google.com/android/repository/desktop-head-unit-macosx_r02.0.rc2.zip"
           },
           {
             "os": "windows",
-            "sha1": "e07788ed91d8e6dd3374f77da1cf78afb2664cc0",
-            "size": 5703857,
-            "url": "https://dl.google.com/android/repository/desktop-head-unit-windows_r02.0.rc1.zip"
+            "sha1": "471ae94176512f859580e6ac9e8b8f5010632c78",
+            "size": 7130894,
+            "url": "https://dl.google.com/android/repository/desktop-head-unit-windows_r02.0.rc2.zip"
           }
         ],
         "displayName": "Android Auto Desktop Head Unit Emulator",
         "license": "android-sdk-preview-license",
         "name": "extras",
         "path": "extras/google/auto",
-        "revision": "2.0-rc1"
+        "revision": "2.0-rc2"
       }
     },
     "ndk": {
@@ -4136,6 +4157,114 @@
         "name": "ndk",
         "path": "ndk/23.0.7272597",
         "revision": "23.0.7272597-rc3"
+      },
+      "23.0.7344513-rc4": {
+        "archives": [
+          {
+            "os": "macosx",
+            "sha1": "a8fedcf0dd3b3a340e68684a5a2308154a952039",
+            "size": 694920487,
+            "url": "https://dl.google.com/android/repository/android-ndk-r23-beta4-darwin-x86_64.zip"
+          },
+          {
+            "os": "linux",
+            "sha1": "5f44bc1789042358a73c15e0ef732ea729cf47cc",
+            "size": 724510864,
+            "url": "https://dl.google.com/android/repository/android-ndk-r23-beta4-linux-x86_64.zip"
+          },
+          {
+            "os": "windows",
+            "sha1": "4492af1296d07c0c65ce42f10ecac06c3c307b94",
+            "size": 785615074,
+            "url": "https://dl.google.com/android/repository/android-ndk-r23-beta4-windows-x86_64.zip"
+          }
+        ],
+        "displayName": "NDK (Side by side) 23.0.7344513",
+        "license": "android-sdk-preview-license",
+        "name": "ndk",
+        "path": "ndk/23.0.7344513",
+        "revision": "23.0.7344513-rc4"
+      },
+      "23.0.7421159-rc5": {
+        "archives": [
+          {
+            "os": "macosx",
+            "sha1": "9ef60fcc7a4bb0477d4189c711853cbc12b24efe",
+            "size": 694850942,
+            "url": "https://dl.google.com/android/repository/android-ndk-r23-beta5-darwin.zip"
+          },
+          {
+            "os": "linux",
+            "sha1": "453ba0ca124e43337318f8a40d26cab114e7092c",
+            "size": 724438684,
+            "url": "https://dl.google.com/android/repository/android-ndk-r23-beta5-linux.zip"
+          },
+          {
+            "os": "windows",
+            "sha1": "ace75623181ce86bc70df312155c04b9d8ff3e46",
+            "size": 785543078,
+            "url": "https://dl.google.com/android/repository/android-ndk-r23-beta5-windows.zip"
+          }
+        ],
+        "displayName": "NDK (Side by side) 23.0.7421159",
+        "license": "android-sdk-preview-license",
+        "name": "ndk",
+        "path": "ndk/23.0.7421159",
+        "revision": "23.0.7421159-rc5"
+      },
+      "23.0.7530507-rc6": {
+        "archives": [
+          {
+            "os": "macosx",
+            "sha1": "af299c3e4f6fd3e6f05b1699a0181d84a95068c4",
+            "size": 695336572,
+            "url": "https://dl.google.com/android/repository/android-ndk-r23-beta6-darwin.zip"
+          },
+          {
+            "os": "linux",
+            "sha1": "b3118a9daeff8ad1801c4dbaeda1e5e5fb33b8a5",
+            "size": 725026229,
+            "url": "https://dl.google.com/android/repository/android-ndk-r23-beta6-linux.zip"
+          },
+          {
+            "os": "windows",
+            "sha1": "386f5c80217f6f33d6420f7de4f935eaff831868",
+            "size": 786033634,
+            "url": "https://dl.google.com/android/repository/android-ndk-r23-beta6-windows.zip"
+          }
+        ],
+        "displayName": "NDK (Side by side) 23.0.7530507",
+        "license": "android-sdk-preview-license",
+        "name": "ndk",
+        "path": "ndk/23.0.7530507",
+        "revision": "23.0.7530507-rc6"
+      },
+      "23.0.7599858": {
+        "archives": [
+          {
+            "os": "macosx",
+            "sha1": "c19f4a29e03689ea31bebe77f2d0a256d8e16925",
+            "size": 691981924,
+            "url": "https://dl.google.com/android/repository/android-ndk-r23-darwin.zip"
+          },
+          {
+            "os": "linux",
+            "sha1": "9bad35f442caeda747780ba1dd92f2d98609d9cd",
+            "size": 721667870,
+            "url": "https://dl.google.com/android/repository/android-ndk-r23-linux.zip"
+          },
+          {
+            "os": "windows",
+            "sha1": "14af52e23af9f7a9e7576a17e1814701192745be",
+            "size": 782684423,
+            "url": "https://dl.google.com/android/repository/android-ndk-r23-windows.zip"
+          }
+        ],
+        "displayName": "NDK (Side by side) 23.0.7599858",
+        "license": "android-sdk-license",
+        "name": "ndk",
+        "path": "ndk/23.0.7599858",
+        "revision": "23.0.7599858"
       }
     },
     "ndk-bundle": {
@@ -4786,6 +4915,33 @@
         "name": "ndk-bundle",
         "path": "ndk-bundle",
         "revision": "23.0.7272597-rc3"
+      },
+      "23.0.7344513-rc4": {
+        "archives": [
+          {
+            "os": "macosx",
+            "sha1": "a8fedcf0dd3b3a340e68684a5a2308154a952039",
+            "size": 694920487,
+            "url": "https://dl.google.com/android/repository/android-ndk-r23-beta4-darwin-x86_64.zip"
+          },
+          {
+            "os": "linux",
+            "sha1": "5f44bc1789042358a73c15e0ef732ea729cf47cc",
+            "size": 724510864,
+            "url": "https://dl.google.com/android/repository/android-ndk-r23-beta4-linux-x86_64.zip"
+          },
+          {
+            "os": "windows",
+            "sha1": "4492af1296d07c0c65ce42f10ecac06c3c307b94",
+            "size": 785615074,
+            "url": "https://dl.google.com/android/repository/android-ndk-r23-beta4-windows-x86_64.zip"
+          }
+        ],
+        "displayName": "NDK",
+        "license": "android-sdk-preview-license",
+        "name": "ndk-bundle",
+        "path": "ndk-bundle",
+        "revision": "23.0.7344513-rc4"
       }
     },
     "patcher": {
@@ -4806,32 +4962,32 @@
       }
     },
     "platform-tools": {
-      "31.0.2": {
+      "31.0.3": {
         "archives": [
           {
             "os": "macosx",
-            "sha1": "78937049851e1db90317612c6b831759f56fc86d",
-            "size": 13829393,
-            "url": "https://dl.google.com/android/repository/42b081e1e068bb936179551684cdcb30315e245c.platform-tools_r31.0.2-darwin.zip"
+            "sha1": "15f6f7e97b35994d538a0fc5147ad5fb502ba03d",
+            "size": 13227985,
+            "url": "https://dl.google.com/android/repository/e8b2b4cbe47c728c1e54c5f524440b52d4e1a33c.platform-tools_r31.0.3-darwin.zip"
           },
           {
             "os": "linux",
-            "sha1": "ff02a9d8c6fa9687e1207fc0c4b84033925d452d",
-            "size": 13876419,
-            "url": "https://dl.google.com/android/repository/platform-tools_r31.0.2-linux.zip"
+            "sha1": "f09581347ed39978abb3a99c6bb286de6adc98ef",
+            "size": 13302579,
+            "url": "https://dl.google.com/android/repository/platform-tools_r31.0.3-linux.zip"
           },
           {
             "os": "windows",
-            "sha1": "9cc0f642a66706a978214395b85c8e8228c24f2f",
-            "size": 12537668,
-            "url": "https://dl.google.com/android/repository/platform-tools_r31.0.2-windows.zip"
+            "sha1": "26bc02bbd920e8ed461ae526cc4c69d773b72395",
+            "size": 11912013,
+            "url": "https://dl.google.com/android/repository/platform-tools_r31.0.3-windows.zip"
           }
         ],
         "displayName": "Android SDK Platform-Tools",
         "license": "android-sdk-license",
         "name": "platform-tools",
         "path": "platform-tools",
-        "revision": "31.0.2"
+        "revision": "31.0.3"
       }
     },
     "platforms": {
@@ -5204,6 +5360,21 @@
         "path": "platforms/android-30",
         "revision": "30"
       },
+      "31": {
+        "archives": [
+          {
+            "os": "all",
+            "sha1": "ca5bcaa565cb37e9d287051d6dd0e49a5426ec29",
+            "size": 56475526,
+            "url": "https://dl.google.com/android/repository/platform-31_r01.zip"
+          }
+        ],
+        "displayName": "Android SDK Platform 31",
+        "license": "android-sdk-license",
+        "name": "platforms",
+        "path": "platforms/android-31",
+        "revision": "31"
+      },
       "4": {
         "archives": [
           {
@@ -5329,50 +5500,35 @@
         "name": "platforms",
         "path": "platforms/android-9",
         "revision": "9"
-      },
-      "S": {
-        "archives": [
-          {
-            "os": "all",
-            "sha1": "3aee3ad760dc7becf657d6421629fe360215f92e",
-            "size": 56206479,
-            "url": "https://dl.google.com/android/repository/platform-S_r03.zip"
-          }
-        ],
-        "displayName": "Android SDK Platform S",
-        "license": "android-sdk-license",
-        "name": "platforms",
-        "path": "platforms/android-S",
-        "revision": "S"
       }
     },
     "skiaparser": {
-      "2": {
+      "3": {
         "archives": [
           {
             "os": "linux",
-            "sha1": "2703a570224a5ced1f73eb3efbdb3192a1ecec81",
-            "size": 6681896,
-            "url": "https://dl.google.com/android/repository/skiaparser-7248848-linux.zip"
+            "sha1": "36e2c30f7745f4c062129a0fd549d29ab991db41",
+            "size": 6767192,
+            "url": "https://dl.google.com/android/repository/skiaparser-7478287-linux.zip"
           },
           {
             "os": "macosx",
-            "sha1": "ecf8794beccf578d4130bb9f7f2c7fa0c40c62c2",
-            "size": 7340904,
-            "url": "https://dl.google.com/android/repository/skiaparser-7248848-mac.zip"
+            "sha1": "04a834a8ab3efd4612300da7cef7f43a6b257468",
+            "size": 7401688,
+            "url": "https://dl.google.com/android/repository/skiaparser-7478287-mac.zip"
           },
           {
             "os": "windows",
-            "sha1": "84c28480ca057e48e8d2fed0ae8f52fc21aa7e61",
-            "size": 6450856,
-            "url": "https://dl.google.com/android/repository/skiaparser-7248848-win.zip"
+            "sha1": "567f24512f9d9487a3b948032a136261f5d59c92",
+            "size": 6532776,
+            "url": "https://dl.google.com/android/repository/skiaparser-7478287-win.zip"
           }
         ],
         "displayName": "Layout Inspector image server for API S",
         "license": "android-sdk-license",
         "name": "skiaparser",
         "path": "skiaparser/2",
-        "revision": "2"
+        "revision": "3"
       },
       "6": {
         "archives": [
diff --git a/nixpkgs/pkgs/development/mobile/cocoapods/Gemfile-beta.lock b/nixpkgs/pkgs/development/mobile/cocoapods/Gemfile-beta.lock
index 6f4522ebf1c9..c7115baa422a 100644
--- a/nixpkgs/pkgs/development/mobile/cocoapods/Gemfile-beta.lock
+++ b/nixpkgs/pkgs/development/mobile/cocoapods/Gemfile-beta.lock
@@ -1,23 +1,27 @@
 GEM
+  specs:
+
+GEM
   remote: https://rubygems.org/
   specs:
     CFPropertyList (3.0.3)
-    activesupport (5.2.4.5)
+    activesupport (6.1.4)
       concurrent-ruby (~> 1.0, >= 1.0.2)
-      i18n (>= 0.7, < 2)
-      minitest (~> 5.1)
-      tzinfo (~> 1.1)
-    addressable (2.7.0)
+      i18n (>= 1.6, < 2)
+      minitest (>= 5.1)
+      tzinfo (~> 2.0)
+      zeitwerk (~> 2.3)
+    addressable (2.8.0)
       public_suffix (>= 2.0.2, < 5.0)
     algoliasearch (1.27.5)
       httpclient (~> 2.8, >= 2.8.3)
       json (>= 1.5.1)
     atomos (0.1.3)
     claide (1.0.3)
-    cocoapods (1.10.1)
-      addressable (~> 2.6)
+    cocoapods (1.11.0.beta.2)
+      addressable (~> 2.8)
       claide (>= 1.0.2, < 2.0)
-      cocoapods-core (= 1.10.1)
+      cocoapods-core (= 1.11.0.beta.2)
       cocoapods-deintegrate (>= 1.0.3, < 2.0)
       cocoapods-downloader (>= 1.4.0, < 2.0)
       cocoapods-plugins (>= 1.0.0, < 2.0)
@@ -28,66 +32,68 @@ GEM
       escape (~> 0.0.4)
       fourflusher (>= 2.3.0, < 3.0)
       gh_inspector (~> 1.0)
-      molinillo (~> 0.6.6)
+      molinillo (~> 0.8.0)
       nap (~> 1.0)
-      ruby-macho (~> 1.4)
-      xcodeproj (>= 1.19.0, < 2.0)
-    cocoapods-core (1.10.1)
-      activesupport (> 5.0, < 6)
-      addressable (~> 2.6)
+      ruby-macho (>= 1.0, < 3.0)
+      xcodeproj (>= 1.21.0, < 2.0)
+    cocoapods-core (1.11.0.beta.2)
+      activesupport (>= 5.0, < 7)
+      addressable (~> 2.8)
       algoliasearch (~> 1.0)
       concurrent-ruby (~> 1.1)
       fuzzy_match (~> 2.0.4)
       nap (~> 1.0)
       netrc (~> 0.11)
-      public_suffix
+      public_suffix (~> 4.0)
       typhoeus (~> 1.0)
-    cocoapods-deintegrate (1.0.4)
+    cocoapods-deintegrate (1.0.5)
     cocoapods-downloader (1.4.0)
     cocoapods-plugins (1.0.0)
       nap
-    cocoapods-search (1.0.0)
+    cocoapods-search (1.0.1)
     cocoapods-trunk (1.5.0)
       nap (>= 0.8, < 2.0)
       netrc (~> 0.11)
     cocoapods-try (1.2.0)
     colored2 (3.1.2)
-    concurrent-ruby (1.1.8)
+    concurrent-ruby (1.1.9)
     escape (0.0.4)
-    ethon (0.12.0)
-      ffi (>= 1.3.0)
-    ffi (1.15.0)
+    ethon (0.14.0)
+      ffi (>= 1.15.0)
+    ffi (1.15.3)
     fourflusher (2.3.1)
     fuzzy_match (2.0.4)
     gh_inspector (1.1.3)
     httpclient (2.8.3)
-    i18n (1.8.9)
+    i18n (1.8.10)
       concurrent-ruby (~> 1.0)
     json (2.5.1)
     minitest (5.14.4)
-    molinillo (0.6.6)
+    molinillo (0.8.0)
     nanaimo (0.3.0)
     nap (1.1.0)
     netrc (0.11.0)
     public_suffix (4.0.6)
-    ruby-macho (1.4.0)
-    thread_safe (0.3.6)
+    rexml (3.2.5)
+    ruby-macho (2.5.1)
     typhoeus (1.4.0)
       ethon (>= 0.9.0)
-    tzinfo (1.2.9)
-      thread_safe (~> 0.1)
-    xcodeproj (1.19.0)
+    tzinfo (2.0.4)
+      concurrent-ruby (~> 1.0)
+    xcodeproj (1.21.0)
       CFPropertyList (>= 2.3.3, < 4.0)
       atomos (~> 0.1.3)
       claide (>= 1.0.2, < 2.0)
       colored2 (~> 3.1)
       nanaimo (~> 0.3.0)
+      rexml (~> 3.2.4)
+    zeitwerk (2.4.2)
 
 PLATFORMS
-  ruby
+  arm64-darwin-20
 
 DEPENDENCIES
   cocoapods (>= 1.7.0.beta.1)!
 
 BUNDLED WITH
-   2.1.4
+   2.2.20
diff --git a/nixpkgs/pkgs/development/mobile/cocoapods/Gemfile.lock b/nixpkgs/pkgs/development/mobile/cocoapods/Gemfile.lock
index cf718b02c087..c29ad34d4efd 100644
--- a/nixpkgs/pkgs/development/mobile/cocoapods/Gemfile.lock
+++ b/nixpkgs/pkgs/development/mobile/cocoapods/Gemfile.lock
@@ -1,23 +1,26 @@
 GEM
+  specs:
+
+GEM
   remote: https://rubygems.org/
   specs:
     CFPropertyList (3.0.3)
-    activesupport (5.2.4.5)
+    activesupport (5.2.6)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 0.7, < 2)
       minitest (~> 5.1)
       tzinfo (~> 1.1)
-    addressable (2.7.0)
+    addressable (2.8.0)
       public_suffix (>= 2.0.2, < 5.0)
     algoliasearch (1.27.5)
       httpclient (~> 2.8, >= 2.8.3)
       json (>= 1.5.1)
     atomos (0.1.3)
     claide (1.0.3)
-    cocoapods (1.10.1)
+    cocoapods (1.10.2)
       addressable (~> 2.6)
       claide (>= 1.0.2, < 2.0)
-      cocoapods-core (= 1.10.1)
+      cocoapods-core (= 1.10.2)
       cocoapods-deintegrate (>= 1.0.3, < 2.0)
       cocoapods-downloader (>= 1.4.0, < 2.0)
       cocoapods-plugins (>= 1.0.0, < 2.0)
@@ -32,7 +35,7 @@ GEM
       nap (~> 1.0)
       ruby-macho (~> 1.4)
       xcodeproj (>= 1.19.0, < 2.0)
-    cocoapods-core (1.10.1)
+    cocoapods-core (1.10.2)
       activesupport (> 5.0, < 6)
       addressable (~> 2.6)
       algoliasearch (~> 1.0)
@@ -42,26 +45,26 @@ GEM
       netrc (~> 0.11)
       public_suffix
       typhoeus (~> 1.0)
-    cocoapods-deintegrate (1.0.4)
+    cocoapods-deintegrate (1.0.5)
     cocoapods-downloader (1.4.0)
     cocoapods-plugins (1.0.0)
       nap
-    cocoapods-search (1.0.0)
+    cocoapods-search (1.0.1)
     cocoapods-trunk (1.5.0)
       nap (>= 0.8, < 2.0)
       netrc (~> 0.11)
     cocoapods-try (1.2.0)
     colored2 (3.1.2)
-    concurrent-ruby (1.1.8)
+    concurrent-ruby (1.1.9)
     escape (0.0.4)
-    ethon (0.12.0)
-      ffi (>= 1.3.0)
-    ffi (1.15.0)
+    ethon (0.14.0)
+      ffi (>= 1.15.0)
+    ffi (1.15.3)
     fourflusher (2.3.1)
     fuzzy_match (2.0.4)
     gh_inspector (1.1.3)
     httpclient (2.8.3)
-    i18n (1.8.9)
+    i18n (1.8.10)
       concurrent-ruby (~> 1.0)
     json (2.5.1)
     minitest (5.14.4)
@@ -70,24 +73,26 @@ GEM
     nap (1.1.0)
     netrc (0.11.0)
     public_suffix (4.0.6)
+    rexml (3.2.5)
     ruby-macho (1.4.0)
     thread_safe (0.3.6)
     typhoeus (1.4.0)
       ethon (>= 0.9.0)
     tzinfo (1.2.9)
       thread_safe (~> 0.1)
-    xcodeproj (1.19.0)
+    xcodeproj (1.21.0)
       CFPropertyList (>= 2.3.3, < 4.0)
       atomos (~> 0.1.3)
       claide (>= 1.0.2, < 2.0)
       colored2 (~> 3.1)
       nanaimo (~> 0.3.0)
+      rexml (~> 3.2.4)
 
 PLATFORMS
-  ruby
+  arm64-darwin-20
 
 DEPENDENCIES
   cocoapods!
 
 BUNDLED WITH
-   2.1.4
+   2.2.20
diff --git a/nixpkgs/pkgs/development/mobile/cocoapods/gemset-beta.nix b/nixpkgs/pkgs/development/mobile/cocoapods/gemset-beta.nix
index 9c18d393bcb9..b64d6b189ad5 100644
--- a/nixpkgs/pkgs/development/mobile/cocoapods/gemset-beta.nix
+++ b/nixpkgs/pkgs/development/mobile/cocoapods/gemset-beta.nix
@@ -1,14 +1,14 @@
 {
   activesupport = {
-    dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"];
+    dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fp4gr3g25qgl01y3pd88wfh4pjc5zj3bz4v7rkxxwaxdjg7a9cc";
+      sha256 = "0kqgywy4cj3h5142dh7pl0xx5nybp25jn0ykk0znziivzks68xdk";
       type = "gem";
     };
-    version = "5.2.4.5";
+    version = "6.1.4";
   };
   addressable = {
     dependencies = ["public_suffix"];
@@ -16,10 +16,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1fvchp2rhp2rmigx7qglf69xvjqvzq7x0g49naliw29r2bz656sy";
+      sha256 = "022r3m9wdxljpbya69y2i3h9g3dhhfaqzidf95m6qjzms792jvgp";
       type = "gem";
     };
-    version = "2.7.0";
+    version = "2.8.0";
   };
   algoliasearch = {
     dependencies = ["httpclient" "json"];
@@ -68,10 +68,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0k1fgp93nbgvp5m76wf067jcqy5zzbx0kczcxvhrzdxkkixzm30a";
+      sha256 = "1rvmvxday0fg1p1ardmqc62xam212c6iaaf1djahvz70631grprq";
       type = "gem";
     };
-    version = "1.10.1";
+    version = "1.11.0.beta.2";
   };
   cocoapods-core = {
     dependencies = ["activesupport" "addressable" "algoliasearch" "concurrent-ruby" "fuzzy_match" "nap" "netrc" "public_suffix" "typhoeus"];
@@ -79,20 +79,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0x5lh6ws3rn2zxv7bagam54rkcslxrx6w1anwd35rjxsn4xx0d83";
+      sha256 = "0cnnmbajllp3mw2w2b2bs2y42cnh1y1zbq63m3asg097z4d1a9h1";
       type = "gem";
     };
-    version = "1.10.1";
+    version = "1.11.0.beta.2";
   };
   cocoapods-deintegrate = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bf524f1za92i6rlr4cr6jm3c4vfjszsdc9lsr6wk5125c76ipzn";
+      sha256 = "18pnng0lv5z6kpp8hnki0agdxx979iq6hxkfkglsyqzmir22lz2i";
       type = "gem";
     };
-    version = "1.0.4";
+    version = "1.0.5";
   };
   cocoapods-downloader = {
     groups = ["default"];
@@ -120,10 +120,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02wmy5rbjk29c65zn62bffxv30qs11slql23qx65snkm0vd93mn6";
+      sha256 = "12amy0nknv09bvzix8bkmcjn996c50c4ms20v2dl7v8rcw73n4qv";
       type = "gem";
     };
-    version = "1.0.0";
+    version = "1.0.1";
   };
   cocoapods-trunk = {
     dependencies = ["nap" "netrc"];
@@ -161,10 +161,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0mr23wq0szj52xnj0zcn1k0c7j4v79wlwbijkpfcscqww3l6jlg3";
+      sha256 = "0nwad3211p7yv9sda31jmbyw6sdafzmdi2i2niaz6f0wk5nq9h0f";
       type = "gem";
     };
-    version = "1.1.8";
+    version = "1.1.9";
   };
   escape = {
     groups = ["default"];
@@ -182,20 +182,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0gggrgkcq839mamx7a8jbnp2h7x2ykfn34ixwskwb0lzx2ak17g9";
+      sha256 = "1bby4hbq96vnzcdbbybcbddin8dxdnj1ns758kcr4akykningqhh";
       type = "gem";
     };
-    version = "0.12.0";
+    version = "0.14.0";
   };
   ffi = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nq1fb3vbfylccwba64zblxy96qznxbys5900wd7gm9bpplmf432";
+      sha256 = "1wgvaclp4h9y8zkrgz8p2hqkrgr4j7kz0366mik0970w532cbmcq";
       type = "gem";
     };
-    version = "1.15.0";
+    version = "1.15.3";
   };
   fourflusher = {
     groups = ["default"];
@@ -243,10 +243,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "08p6b13p99j1rrcrw1l3v0kb9mxbsvy6nk31r8h4rnszdgzpga32";
+      sha256 = "0g2fnag935zn2ggm5cn6k4s4xvv53v2givj1j90szmvavlpya96a";
       type = "gem";
     };
-    version = "1.8.9";
+    version = "1.8.10";
   };
   json = {
     groups = ["default"];
@@ -273,10 +273,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hh40z1adl4lw16dj4hxgabx4rr28mgqycih1y1d91bwww0jjdg6";
+      sha256 = "0p846facmh1j5xmbrpgzadflspvk7bzs3sykrh5s7qi4cdqz5gzg";
       type = "gem";
     };
-    version = "0.6.6";
+    version = "0.8.0";
   };
   nanaimo = {
     groups = ["default"];
@@ -318,25 +318,25 @@
     };
     version = "4.0.6";
   };
-  ruby-macho = {
+  rexml = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0lhdjn91jkifsy2hzq2hgcm0pp8pbik87m58zmw1ifh6hkp9adjb";
+      sha256 = "08ximcyfjy94pm1rhcx04ny1vx2sk0x4y185gzn86yfsbzwkng53";
       type = "gem";
     };
-    version = "1.4.0";
+    version = "3.2.5";
   };
-  thread_safe = {
+  ruby-macho = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy";
+      sha256 = "1jgmhj4srl7cck1ipbjys6q4klcs473gq90bm59baw4j1wpfaxch";
       type = "gem";
     };
-    version = "0.3.6";
+    version = "2.5.1";
   };
   typhoeus = {
     dependencies = ["ethon"];
@@ -350,25 +350,35 @@
     version = "1.4.0";
   };
   tzinfo = {
-    dependencies = ["thread_safe"];
+    dependencies = ["concurrent-ruby"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zwqqh6138s8b321fwvfbywxy00lw1azw4ql3zr0xh1aqxf8cnvj";
+      sha256 = "10qp5x7f9hvlc0psv9gsfbxg4a7s0485wsbq1kljkxq94in91l4z";
       type = "gem";
     };
-    version = "1.2.9";
+    version = "2.0.4";
   };
   xcodeproj = {
-    dependencies = ["CFPropertyList" "atomos" "claide" "colored2" "nanaimo"];
+    dependencies = ["CFPropertyList" "atomos" "claide" "colored2" "nanaimo" "rexml"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0xmzb1mdsnkpf7v07whz0n2wc8kg6785sc7i5zyawd8dl8517rp4";
+      type = "gem";
+    };
+    version = "1.21.0";
+  };
+  zeitwerk = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1411j6sfnz0cx4fiw52f0yqx4bgcn8cmpgi3i5rwmmahayyjz2fn";
+      sha256 = "1746czsjarixq0x05f7p3hpzi38ldg6wxnxxw74kbjzh1sdjgmpl";
       type = "gem";
     };
-    version = "1.19.0";
+    version = "2.4.2";
   };
 }
diff --git a/nixpkgs/pkgs/development/mobile/cocoapods/gemset.nix b/nixpkgs/pkgs/development/mobile/cocoapods/gemset.nix
index 90c1687aeaba..7a6b63200281 100644
--- a/nixpkgs/pkgs/development/mobile/cocoapods/gemset.nix
+++ b/nixpkgs/pkgs/development/mobile/cocoapods/gemset.nix
@@ -5,10 +5,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fp4gr3g25qgl01y3pd88wfh4pjc5zj3bz4v7rkxxwaxdjg7a9cc";
+      sha256 = "1vybx4cj42hr6m8cdwbrqq2idh98zms8c11kr399xjczhl9ywjbj";
       type = "gem";
     };
-    version = "5.2.4.5";
+    version = "5.2.6";
   };
   addressable = {
     dependencies = ["public_suffix"];
@@ -16,10 +16,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1fvchp2rhp2rmigx7qglf69xvjqvzq7x0g49naliw29r2bz656sy";
+      sha256 = "022r3m9wdxljpbya69y2i3h9g3dhhfaqzidf95m6qjzms792jvgp";
       type = "gem";
     };
-    version = "2.7.0";
+    version = "2.8.0";
   };
   algoliasearch = {
     dependencies = ["httpclient" "json"];
@@ -66,10 +66,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0k1fgp93nbgvp5m76wf067jcqy5zzbx0kczcxvhrzdxkkixzm30a";
+      sha256 = "0d0vlzjizqkw2m6am9gcnjkxy73zl74ill28v17v0s2v8fzd7nbg";
       type = "gem";
     };
-    version = "1.10.1";
+    version = "1.10.2";
   };
   cocoapods-core = {
     dependencies = ["activesupport" "addressable" "algoliasearch" "concurrent-ruby" "fuzzy_match" "nap" "netrc" "public_suffix" "typhoeus"];
@@ -77,20 +77,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0x5lh6ws3rn2zxv7bagam54rkcslxrx6w1anwd35rjxsn4xx0d83";
+      sha256 = "1j1sapw5l3xc5d8mli09az1bbmfdynlx7xv8lbghvm9i1md14dl5";
       type = "gem";
     };
-    version = "1.10.1";
+    version = "1.10.2";
   };
   cocoapods-deintegrate = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bf524f1za92i6rlr4cr6jm3c4vfjszsdc9lsr6wk5125c76ipzn";
+      sha256 = "18pnng0lv5z6kpp8hnki0agdxx979iq6hxkfkglsyqzmir22lz2i";
       type = "gem";
     };
-    version = "1.0.4";
+    version = "1.0.5";
   };
   cocoapods-downloader = {
     groups = ["default"];
@@ -112,12 +112,14 @@
     version = "1.0.0";
   };
   cocoapods-search = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02wmy5rbjk29c65zn62bffxv30qs11slql23qx65snkm0vd93mn6";
+      sha256 = "12amy0nknv09bvzix8bkmcjn996c50c4ms20v2dl7v8rcw73n4qv";
       type = "gem";
     };
-    version = "1.0.0";
+    version = "1.0.1";
   };
   cocoapods-trunk = {
     dependencies = ["nap" "netrc"];
@@ -153,10 +155,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0mr23wq0szj52xnj0zcn1k0c7j4v79wlwbijkpfcscqww3l6jlg3";
+      sha256 = "0nwad3211p7yv9sda31jmbyw6sdafzmdi2i2niaz6f0wk5nq9h0f";
       type = "gem";
     };
-    version = "1.1.8";
+    version = "1.1.9";
   };
   escape = {
     source = {
@@ -172,20 +174,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0gggrgkcq839mamx7a8jbnp2h7x2ykfn34ixwskwb0lzx2ak17g9";
+      sha256 = "1bby4hbq96vnzcdbbybcbddin8dxdnj1ns758kcr4akykningqhh";
       type = "gem";
     };
-    version = "0.12.0";
+    version = "0.14.0";
   };
   ffi = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nq1fb3vbfylccwba64zblxy96qznxbys5900wd7gm9bpplmf432";
+      sha256 = "1wgvaclp4h9y8zkrgz8p2hqkrgr4j7kz0366mik0970w532cbmcq";
       type = "gem";
     };
-    version = "1.15.0";
+    version = "1.15.3";
   };
   fourflusher = {
     groups = ["default"];
@@ -229,10 +231,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "08p6b13p99j1rrcrw1l3v0kb9mxbsvy6nk31r8h4rnszdgzpga32";
+      sha256 = "0g2fnag935zn2ggm5cn6k4s4xvv53v2givj1j90szmvavlpya96a";
       type = "gem";
     };
-    version = "1.8.9";
+    version = "1.8.10";
   };
   json = {
     groups = ["default"];
@@ -298,6 +300,16 @@
     };
     version = "4.0.6";
   };
+  rexml = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "08ximcyfjy94pm1rhcx04ny1vx2sk0x4y185gzn86yfsbzwkng53";
+      type = "gem";
+    };
+    version = "3.2.5";
+  };
   ruby-macho = {
     groups = ["default"];
     platforms = [];
@@ -339,14 +351,14 @@
     version = "1.2.9";
   };
   xcodeproj = {
-    dependencies = ["CFPropertyList" "atomos" "claide" "colored2" "nanaimo"];
+    dependencies = ["CFPropertyList" "atomos" "claide" "colored2" "nanaimo" "rexml"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1411j6sfnz0cx4fiw52f0yqx4bgcn8cmpgi3i5rwmmahayyjz2fn";
+      sha256 = "0xmzb1mdsnkpf7v07whz0n2wc8kg6785sc7i5zyawd8dl8517rp4";
       type = "gem";
     };
-    version = "1.19.0";
+    version = "1.21.0";
   };
 }
diff --git a/nixpkgs/pkgs/development/mobile/gomobile/default.nix b/nixpkgs/pkgs/development/mobile/gomobile/default.nix
index 17b4e2fb3f62..ce44b7dd9345 100644
--- a/nixpkgs/pkgs/development/mobile/gomobile/default.nix
+++ b/nixpkgs/pkgs/development/mobile/gomobile/default.nix
@@ -3,21 +3,20 @@
 , xcodeWrapper ? xcodeenv.composeXcodeWrapper xcodeWrapperArgs
 , androidPkgs ? androidenv.composeAndroidPackages {
     includeNDK = true;
-    ndkVersion = "21.3.6528147"; # WARNING: 22.0.7026061 is broken.
+    ndkVersion = "22.1.7171670";
   } }:
 
 buildGoModule {
   pname = "gomobile";
-  version = "unstable-2020-06-22";
+  version = "unstable-2021-06-14";
 
-  vendorSha256 = "1n1338vqkc1n8cy94501n7jn3qbr28q9d9zxnq2b4rxsqjfc9l94";
+  vendorSha256 = "1irgkgv72rakg7snk1bnp10ibr64ykz9l40s59l4fnl63zsh12a0";
 
   src = fetchgit {
-    # WARNING: Next commit removes support for ARM 32 bit builds for iOS
-    rev = "33b80540585f2b31e503da24d6b2a02de3c53ff5";
+    rev = "7c8f154d100840bc5828285bb390bbae1cb5a98c";
     name = "gomobile";
     url = "https://go.googlesource.com/mobile";
-    sha256 = "0c9map2vrv34wmaycsv71k4day3b0z5p16yzxmlp8amvqb38zwlm";
+    sha256 = "1w9mra1mqf60iafp0ywvja5196fjsjyfhvz4yizqq4qkyll5qmj1";
   };
 
   subPackages = [ "bind" "cmd/gobind" "cmd/gomobile" ];
@@ -25,8 +24,6 @@ buildGoModule {
   # Fails with: go: cannot find GOROOT directory
   doCheck = false;
 
-  patches = [ ./resolve-nix-android-sdk.patch ];
-
   nativeBuildInputs = [ makeWrapper ]
     ++ lib.optionals stdenv.isDarwin [ xcodeWrapper ];
 
@@ -48,8 +45,8 @@ buildGoModule {
     wrapProgram $out/bin/gomobile \
       --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ zlib ]}" \
       --prefix PATH : "${androidPkgs.androidsdk}/bin" \
-      --set ANDROID_HOME "${androidPkgs.androidsdk}/libexec/android-sdk" \
-      --set GOPATH $out
+      --set ANDROID_NDK_HOME "${androidPkgs.androidsdk}/libexec/android-sdk/ndk-bundle" \
+      --set ANDROID_HOME "${androidPkgs.androidsdk}/libexec/android-sdk"
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/mobile/gomobile/resolve-nix-android-sdk.patch b/nixpkgs/pkgs/development/mobile/gomobile/resolve-nix-android-sdk.patch
deleted file mode 100644
index cc143e3a447c..000000000000
--- a/nixpkgs/pkgs/development/mobile/gomobile/resolve-nix-android-sdk.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/cmd/gomobile/bind_androidapp.go b/cmd/gomobile/bind_androidapp.go
-index 3b01adc..76216fa 100644
---- a/cmd/gomobile/bind_androidapp.go
-+++ b/cmd/gomobile/bind_androidapp.go
-@@ -372,6 +372,10 @@ func androidAPIPath() (string, error) {
- 	var apiVer int
- 	for _, fi := range fis {
- 		name := fi.Name()
-+		// Resolve symlinked directories (this is how the Nix Android SDK package is built)
-+		if fi2, err := os.Stat(filepath.Join(sdkDir.Name(), name)); err == nil {
-+			fi = fi2
-+		}
- 		if !fi.IsDir() || !strings.HasPrefix(name, "android-") {
- 			continue
- 		}
diff --git a/nixpkgs/pkgs/development/node-packages/README.md b/nixpkgs/pkgs/development/node-packages/README.md
index 9760285a915e..38d1ff2018c4 100644
--- a/nixpkgs/pkgs/development/node-packages/README.md
+++ b/nixpkgs/pkgs/development/node-packages/README.md
@@ -1 +1 @@
-Moved to [/doc/languages-frameworks/node.section.md](/doc/languages-frameworks/node.section.md)
+Moved to [/doc/languages-frameworks/javascript.section.md](/doc/languages-frameworks/javascript.section.md)
diff --git a/nixpkgs/pkgs/development/node-packages/default.nix b/nixpkgs/pkgs/development/node-packages/default.nix
index 4ccf20b478da..ddbf2b50baad 100644
--- a/nixpkgs/pkgs/development/node-packages/default.nix
+++ b/nixpkgs/pkgs/development/node-packages/default.nix
@@ -55,6 +55,10 @@ let
       '';
     };
 
+    deltachat-desktop = super."deltachat-desktop-../../applications/networking/instant-messengers/deltachat-desktop".override {
+      meta.broken = true; # use the top-level package instead
+    };
+
     fast-cli = super.fast-cli.override ({
       nativeBuildInputs = [ pkgs.makeWrapper ];
       prePatch = ''
@@ -203,6 +207,16 @@ let
       '';
     };
 
+    node-gyp = super.node-gyp.override {
+      nativeBuildInputs = [ pkgs.makeWrapper ];
+      # Teach node-gyp to use nodejs headers locally rather that download them form https://nodejs.org.
+      # This is important when build nodejs packages in sandbox.
+      postInstall = ''
+        wrapProgram "$out/bin/node-gyp" \
+          --set npm_config_nodedir ${nodejs}
+      '';
+    };
+
     node-inspector = super.node-inspector.override {
       buildInputs = [ self.node-pre-gyp ];
       meta.broken = since "10";
diff --git a/nixpkgs/pkgs/development/node-packages/generate.sh b/nixpkgs/pkgs/development/node-packages/generate.sh
index b58c71a088c1..9e5162676dc3 100755
--- a/nixpkgs/pkgs/development/node-packages/generate.sh
+++ b/nixpkgs/pkgs/development/node-packages/generate.sh
@@ -1,9 +1,7 @@
 #!/usr/bin/env bash
 set -eu -o pipefail
-
-DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
+cd "$( dirname "${BASH_SOURCE[0]}" )"
 node2nix=$(nix-build ../../.. -A nodePackages.node2nix)
-cd "$DIR"
 rm -f ./node-env.nix
 ${node2nix}/bin/node2nix -i node-packages.json -o node-packages.nix -c composition.nix
 # using --no-out-link in nix-build argument would cause the
diff --git a/nixpkgs/pkgs/development/node-packages/node-packages.json b/nixpkgs/pkgs/development/node-packages/node-packages.json
index 1bf813952eaa..ce86ebe5e6b1 100644
--- a/nixpkgs/pkgs/development/node-packages/node-packages.json
+++ b/nixpkgs/pkgs/development/node-packages/node-packages.json
@@ -3,8 +3,12 @@
 , "@antora/cli"
 , "@antora/site-generator-default"
 , "@bitwarden/cli"
+, "@commitlint/cli"
+, "@commitlint/config-conventional"
 , "@hyperspace/cli"
+, "@nerdwallet/shepherd"
 , "@nestjs/cli"
+, "@squoosh/cli"
 , "@vue/cli"
 , "@webassemblyjs/cli"
 , "@webassemblyjs/repl"
@@ -17,6 +21,7 @@
 , "aws-azure-login"
 , "balanceofsatoshis"
 , "bash-language-server"
+, "beancount-langserver"
 , "bower"
 , "bower2nix"
 , "browserify"
@@ -25,6 +30,7 @@
 , "cdk8s-cli"
 , "cdktf-cli"
 , "clean-css-cli"
+, "clipboard-cli"
 , "clubhouse-cli"
 , "coc-clangd"
 , "coc-cmake"
@@ -66,9 +72,11 @@
 , "coc-wxml"
 , "coc-yaml"
 , "coc-yank"
+, "code-theme-converter"
 , "coffee-script"
 , "coinmon"
 , "configurable-http-proxy"
+, "conventional-changelog-cli"
 , "cordova"
 , "cpy-cli"
 , "create-cycle-app"
@@ -76,6 +84,8 @@
 , "create-react-native-app"
 , "csslint"
 , "dat"
+, "degit"
+, {"deltachat-desktop": "../../applications/networking/instant-messengers/deltachat-desktop"}
 , "dhcp"
 , "diagnostic-languageserver"
 , "dockerfile-language-server-nodejs"
@@ -101,6 +111,7 @@
 , "fx"
 , "ganache-cli"
 , "gatsby-cli"
+, "generator-code"
 , "get-graphql-schema"
 , "git-run"
 , "git-ssb"
@@ -128,7 +139,7 @@
 , "indium"
 , "insect"
 , "ionic"
-, {"iosevka": "https://github.com/be5invis/Iosevka/archive/v7.2.4.tar.gz"}
+, {"iosevka": "https://github.com/be5invis/Iosevka/archive/v10.0.0.tar.gz"}
 , "jake"
 , "javascript-typescript-langserver"
 , "joplin"
@@ -165,6 +176,7 @@
 , "mirakurun"
 , "mocha"
 , "multi-file-swagger"
+, "musescore-downloader"
 , "neovim"
 , "netlify-cli"
 , "nijs"
@@ -199,6 +211,7 @@
 , "purescript-language-server"
 , "purescript-psa"
 , "purty"
+, "pxder"
 , "pyright"
 , "quicktype"
 , "react-native-cli"
@@ -222,12 +235,13 @@
 , "snyk"
 , "socket.io"
 , "speed-test"
+, "sql-formatter"
 , "ssb-server"
 , "stackdriver-statsd-backend"
 , "stf"
 , "stylelint"
-, "svelte-language-server"
 , "svelte-check"
+, "svelte-language-server"
 , "svgo"
 , "swagger"
 , {"tedicross": "git+https://github.com/TediCross/TediCross.git#v0.8.7"}
@@ -260,14 +274,17 @@
 , "uglify-js"
 , "undollar"
 , "ungit"
+, "unified-language-server"
 , "vega-cli"
 , "vega-lite"
+, "vercel"
 , "vim-language-server"
 , "vls"
 , "vscode-css-languageserver-bin"
 , "vscode-html-languageserver-bin"
 , "vscode-json-languageserver"
 , "vscode-json-languageserver-bin"
+, "vscode-langservers-extracted"
 , { "vscode-lldb-build-deps": "../../misc/vscode-extensions/vscode-lldb/build-deps" }
 , "vue-cli"
 , "vue-language-server"
@@ -281,6 +298,7 @@
 , "wring"
 , "write-good"
 , "yaml-language-server"
+, "yalc"
 , "yarn"
 , "yo"
 , "zx"
diff --git a/nixpkgs/pkgs/development/node-packages/node-packages.nix b/nixpkgs/pkgs/development/node-packages/node-packages.nix
index 8c9726808957..d0a78354592a 100644
--- a/nixpkgs/pkgs/development/node-packages/node-packages.nix
+++ b/nixpkgs/pkgs/development/node-packages/node-packages.nix
@@ -31,15 +31,6 @@ let
         sha512 = "CXMFAyovJHtLzKlraBpGlM/8TX9bvVz081IDZkQF3IMGHePgHCAs1vQdnKM38VMGekywNCbo7kt3fHooSMgA2w==";
       };
     };
-    "@alexbosworth/request-2.88.3" = {
-      name = "_at_alexbosworth_slash_request";
-      packageName = "@alexbosworth/request";
-      version = "2.88.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@alexbosworth/request/-/request-2.88.3.tgz";
-        sha512 = "51/Y5x0SncVGQc274YckWMo9CooUGp7XppgV9K8v5eBwcXnw9sM/j0LpAvUFE7gjJcmZVYXDmLxtOYtgC0f2dg==";
-      };
-    };
     "@alexbosworth/saxophone-0.6.2" = {
       name = "_at_alexbosworth_slash_saxophone";
       packageName = "@alexbosworth/saxophone";
@@ -49,13 +40,13 @@ let
         sha512 = "o/xdK8b4P0t/xpCARgWXAeaiWeh9jeua6bP1jrcbfN39+Z4zC4x2jg4NysHNhz6spRG8dJFH3kJIUoIbs0Ckww==";
       };
     };
-    "@angular-devkit/architect-0.1201.2" = {
+    "@angular-devkit/architect-0.1202.3" = {
       name = "_at_angular-devkit_slash_architect";
       packageName = "@angular-devkit/architect";
-      version = "0.1201.2";
+      version = "0.1202.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1201.2.tgz";
-        sha512 = "hR5kI03WoeEY9dkAsQNLlhL1iEFC2L77ansaKquN+HCAeOGHby4w95suSlZUAg0r6ZhPhPH0tkIRZXU9NMa09g==";
+        url = "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1202.3.tgz";
+        sha512 = "AwLdofKggAiv0hThYe0v3MWOl94XJdJlgq/MXnYU/Ma/IeJDLlRa9WJuajL9AB//x5G+uH06smD3E4Ni8mv2ag==";
       };
     };
     "@angular-devkit/core-12.0.5" = {
@@ -67,22 +58,22 @@ let
         sha512 = "zVSQV+8/vjUjsUKGlj8Kf5LioA6AXJTGI0yhHW9q1dFX4dPpbW63k0R1UoIB2wJ0F/AbYVgpnPGPe9BBm2fvZA==";
       };
     };
-    "@angular-devkit/core-12.1.1" = {
+    "@angular-devkit/core-12.1.4" = {
       name = "_at_angular-devkit_slash_core";
       packageName = "@angular-devkit/core";
-      version = "12.1.1";
+      version = "12.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/core/-/core-12.1.1.tgz";
-        sha512 = "z5+O3ugXbo8djKPjUtf/UfnYCmco2K1LVhQ6cWLhKi3NKRBiHeNmZh5nAycqFD8/Q+oI/+Ao40MkmkK1Tq0jsw==";
+        url = "https://registry.npmjs.org/@angular-devkit/core/-/core-12.1.4.tgz";
+        sha512 = "KOzGD8JbP/7EeUwPiU5x+fo3ZEQ5R4IVW5WoH92PaO3mdpqXC7UL2MWLct8PUe9il9nqJMvrBMldSSvP9PCT2w==";
       };
     };
-    "@angular-devkit/core-12.1.2" = {
+    "@angular-devkit/core-12.2.3" = {
       name = "_at_angular-devkit_slash_core";
       packageName = "@angular-devkit/core";
-      version = "12.1.2";
+      version = "12.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/core/-/core-12.1.2.tgz";
-        sha512 = "TeaRbvsNEeAkRJcIBlT6yUNh0vaVVBGBYfXYFIMg/I04ex/HI0ApEowu78GeTzCqlE0r4t+WaGT46m7+NIljKg==";
+        url = "https://registry.npmjs.org/@angular-devkit/core/-/core-12.2.3.tgz";
+        sha512 = "qt1hcX5zydGmCI9gEFcqTyJDcFEScSHPRqx0dlm61hCtBF75C2g7erSgb35zE3kZ7UE9UQY28JffFnwCj6uJhQ==";
       };
     };
     "@angular-devkit/schematics-12.0.5" = {
@@ -94,31 +85,31 @@ let
         sha512 = "iW3XuDHScr3TXuunlEjF5O01zBpwpLgfr1oEny8PvseFGDlHK4Nj8zNIoIn3Yg936aiFO4GJAC/UXsT8g5vKxQ==";
       };
     };
-    "@angular-devkit/schematics-12.1.1" = {
+    "@angular-devkit/schematics-12.1.4" = {
       name = "_at_angular-devkit_slash_schematics";
       packageName = "@angular-devkit/schematics";
-      version = "12.1.1";
+      version = "12.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-12.1.1.tgz";
-        sha512 = "oRsvlhJQLXkGWdJvArOby+G4j8UX2uCHwrN4EC1hXUKs84UsD+UATYOAh4h2auy+I+sdrmELUaHwdI4wdKpqnw==";
+        url = "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-12.1.4.tgz";
+        sha512 = "yD3y3pK/K5piOgvALFoCCiPp4H8emNa3yZL+vlpEpewVLpF1MM55LeTxc0PI5s0uqtOGVnvcbA5wYgMm3YsUEA==";
       };
     };
-    "@angular-devkit/schematics-12.1.2" = {
+    "@angular-devkit/schematics-12.2.3" = {
       name = "_at_angular-devkit_slash_schematics";
       packageName = "@angular-devkit/schematics";
-      version = "12.1.2";
+      version = "12.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-12.1.2.tgz";
-        sha512 = "/UGcAJChq+g7wf46Exr5iIyuVw3j4TxTIntTpuKg/z/xf9Y+8mzJAZgGittu/yFcHAJ9aYcOHctffrfEdV7QSA==";
+        url = "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-12.2.3.tgz";
+        sha512 = "pbYOK8DK1V7YCzt8C3OckjQDGvCQqrLmg5kH+nLLAYOlkToRk3DBPIocuF9tCflNt6tEIkRJM4lPeDyy/z/GjQ==";
       };
     };
-    "@angular-devkit/schematics-cli-12.1.1" = {
+    "@angular-devkit/schematics-cli-12.1.4" = {
       name = "_at_angular-devkit_slash_schematics-cli";
       packageName = "@angular-devkit/schematics-cli";
-      version = "12.1.1";
+      version = "12.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/schematics-cli/-/schematics-cli-12.1.1.tgz";
-        sha512 = "mIwE9iD7RKnARNlm39Ao3WtXqUFkemX77AHuqWUatQ4QsaOG3fxrTH8UYPP7Oi17J4wRipIkzia1cOIStluTVA==";
+        url = "https://registry.npmjs.org/@angular-devkit/schematics-cli/-/schematics-cli-12.1.4.tgz";
+        sha512 = "BJiyZu7TaOJUnH4XH4OKz1LjW1364BLAhpwCBAueu11YkI7hghlsx/ogvvd5RYX9JmQL70iVOVkBsoYA7XVreg==";
       };
     };
     "@antora/asciidoc-loader-2.3.4" = {
@@ -238,6 +229,15 @@ let
         sha512 = "GBD2Le9w2+lVFoc4vswGI/TjkNIZSVp7+9xPf+X3uidBfWnAeUWmquteSyt0+VCrhNMWj/FTABISQrD3Z/YA+w==";
       };
     };
+    "@apollo/client-3.4.9" = {
+      name = "_at_apollo_slash_client";
+      packageName = "@apollo/client";
+      version = "3.4.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@apollo/client/-/client-3.4.9.tgz";
+        sha512 = "1AlYjRJ/ktDApEUEP2DqHI38tqSyhSlsF/Q3fFb/aCbLHQfcSZ1dCv7ZlC9UXRyDwQYc0w23gYJ7wZde6W8P4A==";
+      };
+    };
     "@apollo/protobufjs-1.2.2" = {
       name = "_at_apollo_slash_protobufjs";
       packageName = "@apollo/protobufjs";
@@ -265,6 +265,15 @@ let
         sha512 = "tea2LweZvn6y6xFV11K0KC8ETjmm52mQrW+ezgB2O/aTQf8JGyFmMcRPFgUaQZeHbWdm8iisDC6EjOKsXu0nfw==";
       };
     };
+    "@apollographql/graphql-playground-html-1.6.29" = {
+      name = "_at_apollographql_slash_graphql-playground-html";
+      packageName = "@apollographql/graphql-playground-html";
+      version = "1.6.29";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@apollographql/graphql-playground-html/-/graphql-playground-html-1.6.29.tgz";
+        sha512 = "xCcXpoz52rI4ksJSdOCxeOCn2DLocxwHf9dVT/Q90Pte1LX+LY+91SFtJF3KXVHH8kEin+g1KKCQPKBjZJfWNA==";
+      };
+    };
     "@apollographql/graphql-upload-8-fork-8.1.3" = {
       name = "_at_apollographql_slash_graphql-upload-8-fork";
       packageName = "@apollographql/graphql-upload-8-fork";
@@ -274,15 +283,6 @@ let
         sha512 = "ssOPUT7euLqDXcdVv3Qs4LoL4BPtfermW1IOouaqEmj36TpHYDmYDIbKoSQxikd9vtMumFnP87OybH7sC9fJ6g==";
       };
     };
-    "@arcanis/slice-ansi-1.0.2" = {
-      name = "_at_arcanis_slash_slice-ansi";
-      packageName = "@arcanis/slice-ansi";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@arcanis/slice-ansi/-/slice-ansi-1.0.2.tgz";
-        sha512 = "lDL63z0W/L/WTgqrwVOuNyMAsTv+pvjybd21z9SWdStmQoXT59E/iVWwat3gYjcdTNBf6oHAMoyFm8dtjpXEYw==";
-      };
-    };
     "@ardatan/aggregate-error-0.0.6" = {
       name = "_at_ardatan_slash_aggregate-error";
       packageName = "@ardatan/aggregate-error";
@@ -346,13 +346,13 @@ let
         sha512 = "9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==";
       };
     };
-    "@babel/compat-data-7.14.7" = {
+    "@babel/compat-data-7.15.0" = {
       name = "_at_babel_slash_compat-data";
       packageName = "@babel/compat-data";
-      version = "7.14.7";
+      version = "7.15.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.7.tgz";
-        sha512 = "nS6dZaISCXJ3+518CWiBfEr//gHyMO02uDxBkXTKZDN5POruCnOZ1N4YBRZDCabwF8nZMWBpRxIicmXtBs+fvw==";
+        url = "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz";
+        sha512 = "0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==";
       };
     };
     "@babel/core-7.10.5" = {
@@ -364,13 +364,13 @@ let
         sha512 = "O34LQooYVDXPl7QWCdW9p4NR+QlzOr7xShPPJz8GsuCU3/8ua/wqTr7gmnxXv+WBESiGU/G5s16i6tUvHkNb+w==";
       };
     };
-    "@babel/core-7.14.8" = {
+    "@babel/core-7.15.0" = {
       name = "_at_babel_slash_core";
       packageName = "@babel/core";
-      version = "7.14.8";
+      version = "7.15.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/core/-/core-7.14.8.tgz";
-        sha512 = "/AtaeEhT6ErpDhInbXmjHcUQXH0L0TEgscfcxk1qbOvLuKCa5aZT0SOOtDKFY96/CLROwbLSKyFor6idgNaU4Q==";
+        url = "https://registry.npmjs.org/@babel/core/-/core-7.15.0.tgz";
+        sha512 = "tXtmTminrze5HEUPn/a0JtOzzfp0nk+UEXQ/tqIJo3WDGypl/2OFQEMll/zSFU8f/lfmfLXvTaORHF3cfXIQMw==";
       };
     };
     "@babel/core-7.9.0" = {
@@ -382,13 +382,13 @@ let
         sha512 = "kWc7L0fw1xwvI0zi8OKVBuxRVefwGOrKSQMvrQ3dW+bIIavBY3/NpXmpjMy7bQnLgwgzWQZ8TlM57YHpHNHz4w==";
       };
     };
-    "@babel/generator-7.14.8" = {
+    "@babel/generator-7.15.0" = {
       name = "_at_babel_slash_generator";
       packageName = "@babel/generator";
-      version = "7.14.8";
+      version = "7.15.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.14.8.tgz";
-        sha512 = "cYDUpvIzhBVnMzRoY1fkSEhK/HmwEVwlyULYgn/tMQYd6Obag3ylCjONle3gdErfXBW61SVTlR9QR7uWlgeIkg==";
+        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.15.0.tgz";
+        sha512 = "eKl4XdMrbpYvuB505KTta4AV9g+wWzmVBW69tX0H2NwKVKd2YJbKgyK6M8j/rgLbmHOYJn6rUklV677nOyJrEQ==";
       };
     };
     "@babel/helper-annotate-as-pure-7.14.5" = {
@@ -409,22 +409,22 @@ let
         sha512 = "YTA/Twn0vBXDVGJuAX6PwW7x5zQei1luDDo2Pl6q1qZ7hVNl0RZrhHCQG/ArGpR29Vl7ETiB8eJyrvpuRp300w==";
       };
     };
-    "@babel/helper-compilation-targets-7.14.5" = {
+    "@babel/helper-compilation-targets-7.15.0" = {
       name = "_at_babel_slash_helper-compilation-targets";
       packageName = "@babel/helper-compilation-targets";
-      version = "7.14.5";
+      version = "7.15.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz";
-        sha512 = "v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw==";
+        url = "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.0.tgz";
+        sha512 = "h+/9t0ncd4jfZ8wsdAsoIxSa61qhBYlycXiHWqJaQBCXAhDCMbPRSMTGnZIkkmt1u4ag+UQmuqcILwqKzZ4N2A==";
       };
     };
-    "@babel/helper-create-class-features-plugin-7.14.8" = {
+    "@babel/helper-create-class-features-plugin-7.15.0" = {
       name = "_at_babel_slash_helper-create-class-features-plugin";
       packageName = "@babel/helper-create-class-features-plugin";
-      version = "7.14.8";
+      version = "7.15.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.8.tgz";
-        sha512 = "bpYvH8zJBWzeqi1o+co8qOrw+EXzQ/0c74gVmY205AWXy9nifHrOg77y+1zwxX5lXE7Icq4sPlSQ4O2kWBrteQ==";
+        url = "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.0.tgz";
+        sha512 = "MdmDXgvTIi4heDVX/e9EFfeGpugqm9fobBVg/iioE8kueXrOHdRDe36FAY7SnE9xXLVeYCoJR/gdrBEIHRC83Q==";
       };
     };
     "@babel/helper-create-regexp-features-plugin-7.14.5" = {
@@ -481,13 +481,13 @@ let
         sha512 = "R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==";
       };
     };
-    "@babel/helper-member-expression-to-functions-7.14.7" = {
+    "@babel/helper-member-expression-to-functions-7.15.0" = {
       name = "_at_babel_slash_helper-member-expression-to-functions";
       packageName = "@babel/helper-member-expression-to-functions";
-      version = "7.14.7";
+      version = "7.15.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.7.tgz";
-        sha512 = "TMUt4xKxJn6ccjcOW7c4hlwyJArizskAhoSTOCkA0uZ+KghIaci0Qg9R043kUMWI9mtQfgny+NQ5QATnZ+paaA==";
+        url = "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.0.tgz";
+        sha512 = "Jq8H8U2kYiafuj2xMTPQwkTBnEEdGKpT35lJEQsRRjnG0LW3neucsaMWLgKcwu3OHKNeYugfw+Z20BXBSEs2Lg==";
       };
     };
     "@babel/helper-module-imports-7.14.5" = {
@@ -499,13 +499,13 @@ let
         sha512 = "SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==";
       };
     };
-    "@babel/helper-module-transforms-7.14.8" = {
+    "@babel/helper-module-transforms-7.15.0" = {
       name = "_at_babel_slash_helper-module-transforms";
       packageName = "@babel/helper-module-transforms";
-      version = "7.14.8";
+      version = "7.15.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.14.8.tgz";
-        sha512 = "RyE+NFOjXn5A9YU1dkpeBaduagTlZ0+fccnIcAGbv1KGUlReBj7utF7oEth8IdIBQPcux0DDgW5MFBH2xu9KcA==";
+        url = "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.0.tgz";
+        sha512 = "RkGiW5Rer7fpXv9m1B3iHIFDZdItnO2/BLfWVW/9q7+KqQSDY5kUfQEbzdXM1MVhJGcugKV7kRrNVzNxmk7NBg==";
       };
     };
     "@babel/helper-optimise-call-expression-7.14.5" = {
@@ -544,13 +544,13 @@ let
         sha512 = "rLQKdQU+HYlxBwQIj8dk4/0ENOUEhA/Z0l4hN8BexpvmSMN9oA9EagjnhnDpNsRdWCfjwa4mn/HyBXO9yhQP6A==";
       };
     };
-    "@babel/helper-replace-supers-7.14.5" = {
+    "@babel/helper-replace-supers-7.15.0" = {
       name = "_at_babel_slash_helper-replace-supers";
       packageName = "@babel/helper-replace-supers";
-      version = "7.14.5";
+      version = "7.15.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.14.5.tgz";
-        sha512 = "3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow==";
+        url = "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.0.tgz";
+        sha512 = "6O+eWrhx+HEra/uJnifCwhwMd6Bp5+ZfZeJwbqUTuqkhIT6YcRhiZCOOFChRypOIe0cV46kFrRBlm+t5vHCEaA==";
       };
     };
     "@babel/helper-simple-access-7.14.8" = {
@@ -580,13 +580,13 @@ let
         sha512 = "hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==";
       };
     };
-    "@babel/helper-validator-identifier-7.14.8" = {
+    "@babel/helper-validator-identifier-7.14.9" = {
       name = "_at_babel_slash_helper-validator-identifier";
       packageName = "@babel/helper-validator-identifier";
-      version = "7.14.8";
+      version = "7.14.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.8.tgz";
-        sha512 = "ZGy6/XQjllhYQrNw/3zfWRwZCTVSiBLZ9DHVZxn9n2gip/7ab8mv2TWlKPIBk26RwedCBoWdjLmn+t9na2Gcow==";
+        url = "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz";
+        sha512 = "pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==";
       };
     };
     "@babel/helper-validator-option-7.14.5" = {
@@ -607,13 +607,13 @@ let
         sha512 = "YEdjTCq+LNuNS1WfxsDCNpgXkJaIyqco6DAelTUjT4f2KIWC1nBcaCaSdHTBqQVLnTBexBcVcFhLSU1KnYuePQ==";
       };
     };
-    "@babel/helpers-7.14.8" = {
+    "@babel/helpers-7.15.3" = {
       name = "_at_babel_slash_helpers";
       packageName = "@babel/helpers";
-      version = "7.14.8";
+      version = "7.15.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.8.tgz";
-        sha512 = "ZRDmI56pnV+p1dH6d+UN6GINGz7Krps3+270qqI9UJ4wxYThfAIcI5i7j5vXC4FJ3Wap+S9qcebxeYiqn87DZw==";
+        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.3.tgz";
+        sha512 = "HwJiz52XaS96lX+28Tnbu31VeFSQJGOeKHJeaEPQlTl7PnlhFElWPj8tUXtqFIzeN86XxXoBr+WFAyK2PPVz6g==";
       };
     };
     "@babel/highlight-7.14.5" = {
@@ -634,13 +634,13 @@ let
         sha512 = "OhsyMrqygfk5v8HmWwOzlYjJrtLaFhF34MrfG/Z73DgYCI6ojNUTUp2TYbtnjo8PegeJp12eamsNettCQjKjVw==";
       };
     };
-    "@babel/parser-7.14.8" = {
+    "@babel/parser-7.15.3" = {
       name = "_at_babel_slash_parser";
       packageName = "@babel/parser";
-      version = "7.14.8";
+      version = "7.15.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.14.8.tgz";
-        sha512 = "syoCQFOoo/fzkWDeM0dLEZi5xqurb5vuyzwIMNZRNun+N/9A4cUZeQaE7dTrB8jGaKuJRBtEOajtnmw0I5hvvA==";
+        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.15.3.tgz";
+        sha512 = "O0L6v/HvqbdJawj0iBEfVQMc3/6WP+AeOsovsIgBFyJaG+W2w7eqvZB7puddATmWuARlm1SX7DwxJ/JJUnDpEA==";
       };
     };
     "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.14.5" = {
@@ -661,22 +661,13 @@ let
         sha512 = "mx0WXDDiIl5DwzMtzWGRSPugXi9BxROS05GQrhLNbEamhBiicgn994ibwkyiBH+6png7bm/yA7AUsvHyCXi4Vw==";
       };
     };
-    "@babel/plugin-proposal-async-generator-functions-7.14.7" = {
+    "@babel/plugin-proposal-async-generator-functions-7.14.9" = {
       name = "_at_babel_slash_plugin-proposal-async-generator-functions";
       packageName = "@babel/plugin-proposal-async-generator-functions";
-      version = "7.14.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.7.tgz";
-        sha512 = "RK8Wj7lXLY3bqei69/cc25gwS5puEc3dknoFPFbqfy3XxYQBQFvu4ioWpafMBAB+L9NyptQK4nMOa5Xz16og8Q==";
-      };
-    };
-    "@babel/plugin-proposal-class-properties-7.12.13" = {
-      name = "_at_babel_slash_plugin-proposal-class-properties";
-      packageName = "@babel/plugin-proposal-class-properties";
-      version = "7.12.13";
+      version = "7.14.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.13.tgz";
-        sha512 = "8SCJ0Ddrpwv4T7Gwb33EmW1V9PY5lggTO+A8WjyIwxrSHDUyBw4MtF96ifn1n8H806YlxbVCoKXbbmzD6RD+cA==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.9.tgz";
+        sha512 = "d1lnh+ZnKrFKwtTYdw320+sQWCTwgkB9fmUhNXRADA4akR6wLjaruSGnIEUjpt9HCOwTr4ynFTKu19b7rFRpmw==";
       };
     };
     "@babel/plugin-proposal-class-properties-7.14.5" = {
@@ -1039,22 +1030,22 @@ let
         sha512 = "dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ==";
       };
     };
-    "@babel/plugin-transform-block-scoping-7.14.5" = {
+    "@babel/plugin-transform-block-scoping-7.15.3" = {
       name = "_at_babel_slash_plugin-transform-block-scoping";
       packageName = "@babel/plugin-transform-block-scoping";
-      version = "7.14.5";
+      version = "7.15.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.14.5.tgz";
-        sha512 = "LBYm4ZocNgoCqyxMLoOnwpsmQ18HWTQvql64t3GvMUzLQrNoV1BDG0lNftC8QKYERkZgCCT/7J5xWGObGAyHDw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.15.3.tgz";
+        sha512 = "nBAzfZwZb4DkaGtOes1Up1nOAp9TDRRFw4XBzBBSG9QK7KVFmYzgj9o9sbPv7TX5ofL4Auq4wZnxCoPnI/lz2Q==";
       };
     };
-    "@babel/plugin-transform-classes-7.14.5" = {
+    "@babel/plugin-transform-classes-7.14.9" = {
       name = "_at_babel_slash_plugin-transform-classes";
       packageName = "@babel/plugin-transform-classes";
-      version = "7.14.5";
+      version = "7.14.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.5.tgz";
-        sha512 = "J4VxKAMykM06K/64z9rwiL6xnBHgB1+FVspqvlgCdwD1KUbQNfszeKVVOMh59w3sztHYIZDgnhOC4WbdEfHFDA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.9.tgz";
+        sha512 = "NfZpTcxU3foGWbl4wxmZ35mTsYJy8oQocbeIMoDAGGFarAmSQlL+LWMkDx/tj6pNotpbX3rltIA4dprgAPOq5A==";
       };
     };
     "@babel/plugin-transform-computed-properties-7.14.5" = {
@@ -1156,13 +1147,13 @@ let
         sha512 = "3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g==";
       };
     };
-    "@babel/plugin-transform-modules-commonjs-7.14.5" = {
+    "@babel/plugin-transform-modules-commonjs-7.15.0" = {
       name = "_at_babel_slash_plugin-transform-modules-commonjs";
       packageName = "@babel/plugin-transform-modules-commonjs";
-      version = "7.14.5";
+      version = "7.15.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.14.5.tgz";
-        sha512 = "en8GfBtgnydoao2PS+87mKyw62k02k7kJ9ltbKe0fXTHrQmG6QZZflYuGI1VVG7sVpx4E1n7KBpNlPb8m78J+A==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.15.0.tgz";
+        sha512 = "3H/R9s8cXcOGE8kgMlmjYYC9nqr5ELiPkJn4q0mypBrjhYQoc+5/Maq69vV4xRPWnkzZuwJPf5rArxpB/35Cig==";
       };
     };
     "@babel/plugin-transform-modules-systemjs-7.14.5" = {
@@ -1183,13 +1174,13 @@ let
         sha512 = "RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA==";
       };
     };
-    "@babel/plugin-transform-named-capturing-groups-regex-7.14.7" = {
+    "@babel/plugin-transform-named-capturing-groups-regex-7.14.9" = {
       name = "_at_babel_slash_plugin-transform-named-capturing-groups-regex";
       packageName = "@babel/plugin-transform-named-capturing-groups-regex";
-      version = "7.14.7";
+      version = "7.14.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.7.tgz";
-        sha512 = "DTNOTaS7TkW97xsDMrp7nycUVh6sn/eq22VaxWfEdzuEbRsiaOU0pqU7DlyUGHVsbQbSghvjKRpEl+nUCKGQSg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.9.tgz";
+        sha512 = "l666wCVYO75mlAtGFfyFwnWmIXQm3kSH0C3IRnJqWcZbWkoihyAdDhFm2ZWaxWTqvBvhVFfJjMRQ0ez4oN1yYA==";
       };
     };
     "@babel/plugin-transform-new-target-7.14.5" = {
@@ -1237,22 +1228,22 @@ let
         sha512 = "r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw==";
       };
     };
-    "@babel/plugin-transform-react-display-name-7.14.5" = {
+    "@babel/plugin-transform-react-display-name-7.15.1" = {
       name = "_at_babel_slash_plugin-transform-react-display-name";
       packageName = "@babel/plugin-transform-react-display-name";
-      version = "7.14.5";
+      version = "7.15.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.14.5.tgz";
-        sha512 = "07aqY1ChoPgIxsuDviptRpVkWCSbXWmzQqcgy65C6YSFOfPFvb/DX3bBRHh7pCd/PMEEYHYWUTSVkCbkVainYQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.15.1.tgz";
+        sha512 = "yQZ/i/pUCJAHI/LbtZr413S3VT26qNrEm0M5RRxQJA947/YNYwbZbBaXGDrq6CG5QsZycI1VIP6d7pQaBfP+8Q==";
       };
     };
-    "@babel/plugin-transform-react-jsx-7.14.5" = {
+    "@babel/plugin-transform-react-jsx-7.14.9" = {
       name = "_at_babel_slash_plugin-transform-react-jsx";
       packageName = "@babel/plugin-transform-react-jsx";
-      version = "7.14.5";
+      version = "7.14.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.14.5.tgz";
-        sha512 = "7RylxNeDnxc1OleDm0F5Q/BSL+whYRbOAR+bwgCxIr0L32v7UFh/pz1DLMZideAUxKT6eMoS2zQH6fyODLEi8Q==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.14.9.tgz";
+        sha512 = "30PeETvS+AeD1f58i1OVyoDlVYQhap/K20ZrMjLmmzmC2AYR/G43D4sdJAaDAqCD3MYpSWbmrz3kES158QSLjw==";
       };
     };
     "@babel/plugin-transform-react-jsx-development-7.14.5" = {
@@ -1264,13 +1255,13 @@ let
         sha512 = "rdwG/9jC6QybWxVe2UVOa7q6cnTpw8JRRHOxntG/h6g/guAOe6AhtQHJuJh5FwmnXIT1bdm5vC2/5huV8ZOorQ==";
       };
     };
-    "@babel/plugin-transform-react-jsx-self-7.14.5" = {
+    "@babel/plugin-transform-react-jsx-self-7.14.9" = {
       name = "_at_babel_slash_plugin-transform-react-jsx-self";
       packageName = "@babel/plugin-transform-react-jsx-self";
-      version = "7.14.5";
+      version = "7.14.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.14.5.tgz";
-        sha512 = "M/fmDX6n0cfHK/NLTcPmrfVAORKDhK8tyjDhyxlUjYyPYYO8FRWwuxBA3WBx8kWN/uBUuwGa3s/0+hQ9JIN3Tg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.14.9.tgz";
+        sha512 = "Fqqu0f8zv9W+RyOnx29BX/RlEsBRANbOf5xs5oxb2aHP4FKbLXxIaVPUiCti56LAR1IixMH4EyaixhUsKqoBHw==";
       };
     };
     "@babel/plugin-transform-react-jsx-source-7.14.5" = {
@@ -1309,13 +1300,13 @@ let
         sha512 = "cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg==";
       };
     };
-    "@babel/plugin-transform-runtime-7.14.5" = {
+    "@babel/plugin-transform-runtime-7.15.0" = {
       name = "_at_babel_slash_plugin-transform-runtime";
       packageName = "@babel/plugin-transform-runtime";
-      version = "7.14.5";
+      version = "7.15.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.14.5.tgz";
-        sha512 = "fPMBhh1AV8ZyneiCIA+wYYUH1arzlXR1UMcApjvchDhfKxhy2r2lReJv8uHEyihi4IFIGlr1Pdx7S5fkESDQsg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.15.0.tgz";
+        sha512 = "sfHYkLGjhzWTq6xsuQ01oEsUYjkHRux9fW1iUA68dC7Qd8BS1Unq4aZ8itmQp95zUzIcyR2EbNMTzAicFj+guw==";
       };
     };
     "@babel/plugin-transform-shorthand-properties-7.14.5" = {
@@ -1363,13 +1354,13 @@ let
         sha512 = "lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw==";
       };
     };
-    "@babel/plugin-transform-typescript-7.14.6" = {
+    "@babel/plugin-transform-typescript-7.15.0" = {
       name = "_at_babel_slash_plugin-transform-typescript";
       packageName = "@babel/plugin-transform-typescript";
-      version = "7.14.6";
+      version = "7.15.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.14.6.tgz";
-        sha512 = "XlTdBq7Awr4FYIzqhmYY80WN0V0azF74DMPyFqVHBvf81ZUgc4X7ZOpx6O8eLDK6iM5cCQzeyJw0ynTaefixRA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.15.0.tgz";
+        sha512 = "WIIEazmngMEEHDaPTx0IZY48SaAmjVWe3TRSX7cmJXn0bEv9midFzAjxiruOWYIVf5iQ10vFx7ASDpgEO08L5w==";
       };
     };
     "@babel/plugin-transform-unicode-escapes-7.14.5" = {
@@ -1390,22 +1381,13 @@ let
         sha512 = "UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw==";
       };
     };
-    "@babel/preset-env-7.12.17" = {
+    "@babel/preset-env-7.15.0" = {
       name = "_at_babel_slash_preset-env";
       packageName = "@babel/preset-env";
-      version = "7.12.17";
+      version = "7.15.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.17.tgz";
-        sha512 = "9PMijx8zFbCwTHrd2P4PJR5nWGH3zWebx2OcpTjqQrHhCiL2ssSR2Sc9ko2BsI2VmVBfoaQmPrlMTCui4LmXQg==";
-      };
-    };
-    "@babel/preset-env-7.14.8" = {
-      name = "_at_babel_slash_preset-env";
-      packageName = "@babel/preset-env";
-      version = "7.14.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.14.8.tgz";
-        sha512 = "a9aOppDU93oArQ51H+B8M1vH+tayZbuBqzjOhntGetZVa+4tTu5jp+XTwqHGG2lxslqomPYVSjIxQkFwXzgnxg==";
+        url = "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.15.0.tgz";
+        sha512 = "FhEpCNFCcWW3iZLg0L2NPE9UerdtsCR6ZcsGHUX6Om6kbCQeL5QZDqFDmeNHC6/fy6UH3jEge7K4qG5uC9In0Q==";
       };
     };
     "@babel/preset-flow-7.14.5" = {
@@ -1453,31 +1435,22 @@ let
         sha512 = "dStnEQgejNYIHFNACdDCigK4BF7wgW6Zahv9Dc2un7rGjbeVtZhBfR3sy0I7ZJOhBexkFxVdMZ5hqmll7BFShw==";
       };
     };
-    "@babel/preset-typescript-7.12.17" = {
+    "@babel/preset-typescript-7.15.0" = {
       name = "_at_babel_slash_preset-typescript";
       packageName = "@babel/preset-typescript";
-      version = "7.12.17";
+      version = "7.15.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.12.17.tgz";
-        sha512 = "T513uT4VSThRcmWeqcLkITKJ1oGQho9wfWuhQm10paClQkp1qyd0Wf8mvC8Se7UYssMyRSj4tZYpVTkCmAK/mA==";
+        url = "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.15.0.tgz";
+        sha512 = "lt0Y/8V3y06Wq/8H/u0WakrqciZ7Fz7mwPDHWUJAXlABL5hiUG42BNlRXiELNjeWjO5rWmnNKlx+yzJvxezHow==";
       };
     };
-    "@babel/preset-typescript-7.14.5" = {
-      name = "_at_babel_slash_preset-typescript";
-      packageName = "@babel/preset-typescript";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.14.5.tgz";
-        sha512 = "u4zO6CdbRKbS9TypMqrlGH7sd2TAJppZwn3c/ZRLeO/wGsbddxgbPDUZVNrie3JWYLQ9vpineKlsrWFvO6Pwkw==";
-      };
-    };
-    "@babel/register-7.14.5" = {
+    "@babel/register-7.15.3" = {
       name = "_at_babel_slash_register";
       packageName = "@babel/register";
-      version = "7.14.5";
+      version = "7.15.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/register/-/register-7.14.5.tgz";
-        sha512 = "TjJpGz/aDjFGWsItRBQMOFTrmTI9tr79CHOK+KIvLeCkbxuOAk2M5QHjvruIMGoo9OuccMh5euplPzc5FjAKGg==";
+        url = "https://registry.npmjs.org/@babel/register/-/register-7.15.3.tgz";
+        sha512 = "mj4IY1ZJkorClxKTImccn4T81+UKTo4Ux0+OFSV9hME1ooqS9UV+pJ6BjD0qXPK4T3XW/KNa79XByjeEMZz+fw==";
       };
     };
     "@babel/runtime-7.13.9" = {
@@ -1489,13 +1462,13 @@ let
         sha512 = "aY2kU+xgJ3dJ1eU6FMB9EH8dIe8dmusF1xEku52joLvw6eAFN0AI+WxCLDnpev2LEejWBAy2sBvBOBAjI3zmvA==";
       };
     };
-    "@babel/runtime-7.14.8" = {
+    "@babel/runtime-7.15.3" = {
       name = "_at_babel_slash_runtime";
       packageName = "@babel/runtime";
-      version = "7.14.8";
+      version = "7.15.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.8.tgz";
-        sha512 = "twj3L8Og5SaCRCErB4x4ajbvBIVV77CGeFglHpeg5WC5FF8TZzBWXtTJ4MqaD9QszLYTtr+IsaAL2rEUevb+eg==";
+        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.3.tgz";
+        sha512 = "OvwMLqNXkCXSz1kSm58sEsNuhqOx/fKpnUnKnFB5v8uDda5bLNEHNgKPvhDN6IU0LDcnHQ90LlJ0Q6jnyBSIBA==";
       };
     };
     "@babel/runtime-7.9.0" = {
@@ -1507,22 +1480,22 @@ let
         sha512 = "cTIudHnzuWLS56ik4DnRnqqNf8MkdUzV4iFFI1h7Jo9xvrpQROYaAnaSd2mHLQAzzZAPfATynX5ord6YlNYNMA==";
       };
     };
-    "@babel/runtime-corejs3-7.14.8" = {
+    "@babel/runtime-corejs3-7.15.3" = {
       name = "_at_babel_slash_runtime-corejs3";
       packageName = "@babel/runtime-corejs3";
-      version = "7.14.8";
+      version = "7.15.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.14.8.tgz";
-        sha512 = "4dMD5QRBkumn45oweR0SxoNtt15oz3BUBAQ8cIx7HJqZTtE8zjpM0My8aHJHVnyf4XfRg6DNzaE1080WLBiC1w==";
+        url = "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.15.3.tgz";
+        sha512 = "30A3lP+sRL6ml8uhoJSs+8jwpKzbw8CqBvDc1laeptxPm5FahumJxirigcbD2qTs71Sonvj1cyZB0OKGAmxQ+A==";
       };
     };
-    "@babel/standalone-7.14.8" = {
+    "@babel/standalone-7.15.3" = {
       name = "_at_babel_slash_standalone";
       packageName = "@babel/standalone";
-      version = "7.14.8";
+      version = "7.15.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/standalone/-/standalone-7.14.8.tgz";
-        sha512 = "5Aa1Bhis4oZD23iLJE5CDYHEs1zSC3ejppHE5aim0OWjGCWTa9Oq1PwopK4u1++ao6B6POW/PqNZjOCZNTSx0Q==";
+        url = "https://registry.npmjs.org/@babel/standalone/-/standalone-7.15.3.tgz";
+        sha512 = "Bst2YWEyQ2ROyO0+jxPVnnkSmUh44/x54+LSbe5M4N5LGfOkxpajEUKVE4ndXtIVrLlHCyuiqCPwv3eC1ItnCg==";
       };
     };
     "@babel/template-7.14.5" = {
@@ -1534,13 +1507,13 @@ let
         sha512 = "6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==";
       };
     };
-    "@babel/traverse-7.14.8" = {
+    "@babel/traverse-7.15.0" = {
       name = "_at_babel_slash_traverse";
       packageName = "@babel/traverse";
-      version = "7.14.8";
+      version = "7.15.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.8.tgz";
-        sha512 = "kexHhzCljJcFNn1KYAQ6A5wxMRzq9ebYpEDV4+WdNyr3i7O44tanbDOR/xjiG2F3sllan+LgwK+7OMk0EmydHg==";
+        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.0.tgz";
+        sha512 = "392d8BN0C9eVxVWd8H6x9WfipgVH5IaIoLp23334Sc1vbKKWINnvwRpb4us0xtPaCumlwbTtIYNA0Dv/32sVFw==";
       };
     };
     "@babel/types-7.13.12" = {
@@ -1552,13 +1525,40 @@ let
         sha512 = "K4nY2xFN4QMvQwkQ+zmBDp6ANMbVNw6BbxWmYA4qNjhR9W+Lj/8ky5MEY2Me5r+B2c6/v6F53oMndG+f9s3IiA==";
       };
     };
-    "@babel/types-7.14.8" = {
+    "@babel/types-7.15.0" = {
       name = "_at_babel_slash_types";
       packageName = "@babel/types";
-      version = "7.14.8";
+      version = "7.15.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/types/-/types-7.15.0.tgz";
+        sha512 = "OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==";
+      };
+    };
+    "@blueprintjs/colors-1.0.0" = {
+      name = "_at_blueprintjs_slash_colors";
+      packageName = "@blueprintjs/colors";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/types/-/types-7.14.8.tgz";
-        sha512 = "iob4soQa7dZw8nodR/KlOQkPh9S4I8RwCxwRIFuiMRYjOzH/KJzdUfDgz6cGi5dDaclXF4P2PAhCdrBJNIg68Q==";
+        url = "https://registry.npmjs.org/@blueprintjs/colors/-/colors-1.0.0.tgz";
+        sha512 = "eJh111ucz8HYxLBON6ADkAGQQBACqdbX6Zws/GpuiTkeCFJ3IAjZdBpk7IM7/Y5XuGuSS1ujwjnLDOEtyywtKw==";
+      };
+    };
+    "@blueprintjs/core-3.48.0" = {
+      name = "_at_blueprintjs_slash_core";
+      packageName = "@blueprintjs/core";
+      version = "3.48.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@blueprintjs/core/-/core-3.48.0.tgz";
+        sha512 = "tuAL3dZrNaTq36RRy6O86wjmkiLt8LwHkleZ1zUcn/DC3cXsM3dSsRpV3f662bcEiAXMPeGemSC3tqv6uZCeLg==";
+      };
+    };
+    "@blueprintjs/icons-3.28.0" = {
+      name = "_at_blueprintjs_slash_icons";
+      packageName = "@blueprintjs/icons";
+      version = "3.28.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@blueprintjs/icons/-/icons-3.28.0.tgz";
+        sha512 = "gDvvU2ljV4NXsY5ofKcs1ChXAgmqNp/DIMu2uJIJmXhSXfP6JDd4qbnbGMsP3FmLTaqQP3E9oBZqAG/FRB8VmQ==";
       };
     };
     "@braintree/sanitize-url-3.1.0" = {
@@ -1570,22 +1570,22 @@ let
         sha512 = "GcIY79elgB+azP74j8vqkiXz8xLFfIzbQJdlwOPisgbKT00tviJQuEghOXSMVxJ00HoYJbGswr4kcllUc4xCcg==";
       };
     };
-    "@bugsnag/browser-7.10.5" = {
+    "@bugsnag/browser-7.11.0" = {
       name = "_at_bugsnag_slash_browser";
       packageName = "@bugsnag/browser";
-      version = "7.10.5";
+      version = "7.11.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@bugsnag/browser/-/browser-7.10.5.tgz";
-        sha512 = "LxzQ0g8kbVq2YAoZkLM58pzNGqKWV/JxVTBCudHQVp92Wm9Wl7aFVMNPzUWCjp9T9XrNl3h9lrs6Bb127SomyA==";
+        url = "https://registry.npmjs.org/@bugsnag/browser/-/browser-7.11.0.tgz";
+        sha512 = "iOKXJcZzdl9XsjJnL62S+T4OQZJ21mUMCXXOiMRlLnDCrw30BwD4BoAZ5s3oQ0VE0azrv/CUsXQzU63NUcsb+Q==";
       };
     };
-    "@bugsnag/core-7.10.0" = {
+    "@bugsnag/core-7.11.0" = {
       name = "_at_bugsnag_slash_core";
       packageName = "@bugsnag/core";
-      version = "7.10.0";
+      version = "7.11.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@bugsnag/core/-/core-7.10.0.tgz";
-        sha512 = "sDa2nDxwsxHQx2/2/tsBWjYqH0TewCR8N/r5at6B+irwVkI0uts7Qc2JyqDTfiEiBXKVEXFK+fHTz1x9b8tsiA==";
+        url = "https://registry.npmjs.org/@bugsnag/core/-/core-7.11.0.tgz";
+        sha512 = "xCaaONqQEAewifrvHC8v+yqN+Is4WNUcmK+sdeLcSb+ghLQ52y3BQ9nEDYzQxGuJRpv1zW3edCVIB4RN5eunSQ==";
       };
     };
     "@bugsnag/cuid-3.0.0" = {
@@ -1597,22 +1597,22 @@ let
         sha512 = "LOt8aaBI+KvOQGneBtpuCz3YqzyEAehd1f3nC5yr9TIYW1+IzYKa2xWS4EiMz5pPOnRPHkyyS5t/wmSmN51Gjg==";
       };
     };
-    "@bugsnag/js-7.10.5" = {
+    "@bugsnag/js-7.11.0" = {
       name = "_at_bugsnag_slash_js";
       packageName = "@bugsnag/js";
-      version = "7.10.5";
+      version = "7.11.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@bugsnag/js/-/js-7.10.5.tgz";
-        sha512 = "zLlZI+KoBUFTg5gmB9swUq17wVRm1kgY+DDuPGBCv9EqBV+ofXCdfZaSFIXles4fqTH/edN6WXeVrXZ2QnQStg==";
+        url = "https://registry.npmjs.org/@bugsnag/js/-/js-7.11.0.tgz";
+        sha512 = "2KQZdiBUQRayrTweMrH8LuT+YFcZSYxPVb+RaAx5J1z3vWWFar7Lw3II34zA4e+zs/7wMSTKll5p+O7Wuz60/A==";
       };
     };
-    "@bugsnag/node-7.10.1" = {
+    "@bugsnag/node-7.11.0" = {
       name = "_at_bugsnag_slash_node";
       packageName = "@bugsnag/node";
-      version = "7.10.1";
+      version = "7.11.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@bugsnag/node/-/node-7.10.1.tgz";
-        sha512 = "kpasrz/im5ljptt2JOqrjbOu4b0i5sAZOYU4L0psWXlD31/wXytk7im11QlNALdI8gZZBxIFsVo8ks6dR6mHzg==";
+        url = "https://registry.npmjs.org/@bugsnag/node/-/node-7.11.0.tgz";
+        sha512 = "hwIG7LTE2lwaIjAes1JxYbjSoih9Eu07MSf+QJoMILY6tJoHMgxJ6v0/8AfldJeEAb753qBtlQLO8Rtr2LKHBA==";
       };
     };
     "@bugsnag/safe-json-stringify-6.0.0" = {
@@ -1624,22 +1624,40 @@ let
         sha512 = "htzFO1Zc57S8kgdRK9mLcPVTW1BY2ijfH7Dk2CeZmspTWKdKqSo1iwmqrq2WtRjFlo8aRZYgLX0wFrDXF/9DLA==";
       };
     };
-    "@cdktf/hcl2json-0.4.1" = {
+    "@cdktf/hcl2cdk-0.5.0" = {
+      name = "_at_cdktf_slash_hcl2cdk";
+      packageName = "@cdktf/hcl2cdk";
+      version = "0.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@cdktf/hcl2cdk/-/hcl2cdk-0.5.0.tgz";
+        sha512 = "E9/uA3JxXPPVKkiTX6DhUZHkAH5ZFWrNewhJB/woOejTkn7P4saOGxXYgrxiu6MCz2lgN8iE4YNGSTKPcxq8sA==";
+      };
+    };
+    "@cdktf/hcl2json-0.5.0" = {
       name = "_at_cdktf_slash_hcl2json";
       packageName = "@cdktf/hcl2json";
-      version = "0.4.1";
+      version = "0.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cdktf/hcl2json/-/hcl2json-0.4.1.tgz";
-        sha512 = "yabxBeKkCJvj3gFQmHfsS/P6JaQMBqbyEZ1G67gTCtfkbOSEGib8KWsl3ZA+u5Fs2z5q9M4emLcCBHHPrmSG3g==";
+        url = "https://registry.npmjs.org/@cdktf/hcl2json/-/hcl2json-0.5.0.tgz";
+        sha512 = "3E4/6sCLEcoPUk6FJHOpLGqBNSE2AHrIrErXKRFU3je/MZotxvWrfrZY3IsENJgjJ69Zv0dxMxTZo/l+BVNa3w==";
       };
     };
-    "@chemzqm/neovim-5.2.13" = {
+    "@chemzqm/neovim-5.3.5" = {
       name = "_at_chemzqm_slash_neovim";
       packageName = "@chemzqm/neovim";
-      version = "5.2.13";
+      version = "5.3.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@chemzqm/neovim/-/neovim-5.2.13.tgz";
-        sha512 = "Eo1NBUj0e2vtOdNA7fpHra6xviDtwDWbYZiPzH5BWGwPtbRa0XjNGPMggcDCCKKKFRJgp9AaAfmT0LaqIyQvyg==";
+        url = "https://registry.npmjs.org/@chemzqm/neovim/-/neovim-5.3.5.tgz";
+        sha512 = "khqF4y0Z1WLPJR3LPJRgTAAZHQYTxHFXw3Nzr799aRsKXummSX85SS7ZLnVDyDjzd3x4yonYdWk89K2ZpJslnQ==";
+      };
+    };
+    "@chinachu/aribts-1.3.5-mirakurun.3" = {
+      name = "_at_chinachu_slash_aribts";
+      packageName = "@chinachu/aribts";
+      version = "1.3.5-mirakurun.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@chinachu/aribts/-/aribts-1.3.5-mirakurun.3.tgz";
+        sha512 = "JQPzfaYF7swQwKp2OsoRGZEjyrIo2muHQbwCKhfigqQrA3gCyGf3run+xCjNqKlI4wF9qjfgJpxfc1J56aIvog==";
       };
     };
     "@cnakazawa/watch-1.0.4" = {
@@ -1660,13 +1678,139 @@ let
         sha512 = "sR9Go0U6puXoXyW9UgIiIQhRcJ8jVOvGl4BptUiXAtheMs72WcakZ1udh6J0ZOivr3o8jAM+MTCHLP8FZMbVpQ==";
       };
     };
-    "@corestore/networker-1.1.0" = {
+    "@commitlint/ensure-13.1.0" = {
+      name = "_at_commitlint_slash_ensure";
+      packageName = "@commitlint/ensure";
+      version = "13.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@commitlint/ensure/-/ensure-13.1.0.tgz";
+        sha512 = "NRGyjOdZQnlYwm9it//BZJ2Vm+4x7G9rEnHpLCvNKYY0c6RA8Qf7hamLAB8dWO12RLuFt06JaOpHZoTt/gHutA==";
+      };
+    };
+    "@commitlint/execute-rule-13.0.0" = {
+      name = "_at_commitlint_slash_execute-rule";
+      packageName = "@commitlint/execute-rule";
+      version = "13.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-13.0.0.tgz";
+        sha512 = "lBz2bJhNAgkkU/rFMAw3XBNujbxhxlaFHY3lfKB/MxpAa+pIfmWB3ig9i1VKe0wCvujk02O0WiMleNaRn2KJqw==";
+      };
+    };
+    "@commitlint/format-13.1.0" = {
+      name = "_at_commitlint_slash_format";
+      packageName = "@commitlint/format";
+      version = "13.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@commitlint/format/-/format-13.1.0.tgz";
+        sha512 = "n46rYvzf+6Sm99TJjTLjJBkjm6JVcklt31lDO5Q+pCIV0NnJ4qIUcwa6wIL9a9Vqb1XzlMgtp27E0zyYArkvSg==";
+      };
+    };
+    "@commitlint/is-ignored-13.1.0" = {
+      name = "_at_commitlint_slash_is-ignored";
+      packageName = "@commitlint/is-ignored";
+      version = "13.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-13.1.0.tgz";
+        sha512 = "P6zenLE5Tn3FTNjRzmL9+/KooTXEI0khA2TmUbuei9KiycemeO4q7Xk7w7aXwFPNAbN0O9oI7z3z7cFpzKJWmQ==";
+      };
+    };
+    "@commitlint/lint-13.1.0" = {
+      name = "_at_commitlint_slash_lint";
+      packageName = "@commitlint/lint";
+      version = "13.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@commitlint/lint/-/lint-13.1.0.tgz";
+        sha512 = "qH9AYSQDDTaSWSdtOvB3G1RdPpcYSgddAdFYqpFewlKQ1GJj/L+sM7vwqCG7/ip6AiM04Sry1sgmFzaEoFREUA==";
+      };
+    };
+    "@commitlint/load-13.1.0" = {
+      name = "_at_commitlint_slash_load";
+      packageName = "@commitlint/load";
+      version = "13.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@commitlint/load/-/load-13.1.0.tgz";
+        sha512 = "zlZbjJCWnWmBOSwTXis8H7I6pYk6JbDwOCuARA6B9Y/qt2PD+NCo0E/7EuaaFoxjHl+o56QR5QttuMBrf+BJzg==";
+      };
+    };
+    "@commitlint/message-13.0.0" = {
+      name = "_at_commitlint_slash_message";
+      packageName = "@commitlint/message";
+      version = "13.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@commitlint/message/-/message-13.0.0.tgz";
+        sha512 = "W/pxhesVEk8747BEWJ+VGQ9ILHmCV27/pEwJ0hGny1wqVquUR8SxvScRCbUjHCB1YtWX4dEnOPXOS9CLH/CX7A==";
+      };
+    };
+    "@commitlint/parse-13.1.0" = {
+      name = "_at_commitlint_slash_parse";
+      packageName = "@commitlint/parse";
+      version = "13.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@commitlint/parse/-/parse-13.1.0.tgz";
+        sha512 = "xFybZcqBiKVjt6vTStvQkySWEUYPI0AcO4QQELyy29o8EzYZqWkhUfrb7K61fWiHsplWL1iL6F3qCLoxSgTcrg==";
+      };
+    };
+    "@commitlint/read-13.1.0" = {
+      name = "_at_commitlint_slash_read";
+      packageName = "@commitlint/read";
+      version = "13.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@commitlint/read/-/read-13.1.0.tgz";
+        sha512 = "NrVe23GMKyL6i1yDJD8IpqCBzhzoS3wtLfDj8QBzc01Ov1cYBmDojzvBklypGb+MLJM1NbzmRM4PR5pNX0U/NQ==";
+      };
+    };
+    "@commitlint/resolve-extends-13.0.0" = {
+      name = "_at_commitlint_slash_resolve-extends";
+      packageName = "@commitlint/resolve-extends";
+      version = "13.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-13.0.0.tgz";
+        sha512 = "1SyaE+UOsYTkQlTPUOoj4NwxQhGFtYildVS/d0TJuK8a9uAJLw7bhCLH2PEeH5cC2D1do4Eqhx/3bLDrSLH3hg==";
+      };
+    };
+    "@commitlint/rules-13.1.0" = {
+      name = "_at_commitlint_slash_rules";
+      packageName = "@commitlint/rules";
+      version = "13.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@commitlint/rules/-/rules-13.1.0.tgz";
+        sha512 = "b6F+vBqEXsHVghrhomG0Y6YJimHZqkzZ0n5QEpk03dpBXH2OnsezpTw5e+GvbyYCc7PutGbYVQkytuv+7xCxYA==";
+      };
+    };
+    "@commitlint/to-lines-13.0.0" = {
+      name = "_at_commitlint_slash_to-lines";
+      packageName = "@commitlint/to-lines";
+      version = "13.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-13.0.0.tgz";
+        sha512 = "mzxWwCio1M4/kG9/69TTYqrraQ66LmtJCYTzAZdZ2eJX3I5w52pSjyP/DJzAUVmmJCYf2Kw3s+RtNVShtnZ+Rw==";
+      };
+    };
+    "@commitlint/top-level-13.0.0" = {
+      name = "_at_commitlint_slash_top-level";
+      packageName = "@commitlint/top-level";
+      version = "13.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@commitlint/top-level/-/top-level-13.0.0.tgz";
+        sha512 = "baBy3MZBF28sR93yFezd4a5TdHsbXaakeladfHK9dOcGdXo9oQe3GS5hP3BmlN680D6AiQSN7QPgEJgrNUWUCg==";
+      };
+    };
+    "@commitlint/types-13.1.0" = {
+      name = "_at_commitlint_slash_types";
+      packageName = "@commitlint/types";
+      version = "13.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@commitlint/types/-/types-13.1.0.tgz";
+        sha512 = "zcVjuT+OfKt8h91vhBxt05RMcTGEx6DM7Q9QZeuMbXFk6xgbsSEDMMapbJPA1bCZ81fa/1OQBijSYPrKvtt06g==";
+      };
+    };
+    "@corestore/networker-1.2.0" = {
       name = "_at_corestore_slash_networker";
       packageName = "@corestore/networker";
-      version = "1.1.0";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@corestore/networker/-/networker-1.1.0.tgz";
-        sha512 = "Pj5Cfyfck1OJfVd4diO4UVo8qabW9O/wgDz5HeY6Okuan98KjMxrAJZG8MPk7I+mjRoYDFgFPVgssx9zv420Ag==";
+        url = "https://registry.npmjs.org/@corestore/networker/-/networker-1.2.0.tgz";
+        sha512 = "ErfgH7yuwh6C7Y4AYM6A+Vv0lYV2c3sx9NNzCkIOB8pgp1cPmht4T4ZbLu0GiVj1XJ67AOPI0nhYfi4DB/h2rA==";
       };
     };
     "@cronvel/get-pixels-3.4.0" = {
@@ -1750,15 +1894,6 @@ let
         sha512 = "+A1YivoVDNNVCdfozHSR8v/jyuuLTMXwjWuxPFlFlUapXoGc+Gj9mDlTDDfrwl7rXCl2tNZ0kE8sIBO6YOn96Q==";
       };
     };
-    "@deepcode/dcignore-1.0.2" = {
-      name = "_at_deepcode_slash_dcignore";
-      packageName = "@deepcode/dcignore";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@deepcode/dcignore/-/dcignore-1.0.2.tgz";
-        sha512 = "DPgxtHuJwBORpqRkPXzzOT+uoPRVJmaN7LR+pmeL6DQM90kj6G6GFUH1i/YpRH8NbML8ZGEDwB9f9u4UwD2pzg==";
-      };
-    };
     "@devicefarmer/adbkit-2.11.3" = {
       name = "_at_devicefarmer_slash_adbkit";
       packageName = "@devicefarmer/adbkit";
@@ -1795,175 +1930,175 @@ let
         sha512 = "Fxt+AfXgjMoin2maPIYzFZnQjAXjAL0PHscM5pRTtatFqB+vZxAM9tLp2Optnuw3QOQC40jTNeGYFOMvyf7v9g==";
       };
     };
-    "@electron-forge/async-ora-6.0.0-beta.58" = {
+    "@electron-forge/async-ora-6.0.0-beta.59" = {
       name = "_at_electron-forge_slash_async-ora";
       packageName = "@electron-forge/async-ora";
-      version = "6.0.0-beta.58";
+      version = "6.0.0-beta.59";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/async-ora/-/async-ora-6.0.0-beta.58.tgz";
-        sha512 = "osJoCA+Mxda0ToHnVh0c52UiqG0vYRChFp7YZnXSOFAyv/pJhO1gaSfJeTX+2ddki0SLvWQbgiJS5ysMax6Veg==";
+        url = "https://registry.npmjs.org/@electron-forge/async-ora/-/async-ora-6.0.0-beta.59.tgz";
+        sha512 = "vF60XyjHCyoyXHgkDi/tZy+OB9K6oSBio2at7B4pwZLO6nqstofkeAB+Gz/XUsVj9Nim+vHKtyXPzE0BTXQkZQ==";
       };
     };
-    "@electron-forge/core-6.0.0-beta.58" = {
+    "@electron-forge/core-6.0.0-beta.59" = {
       name = "_at_electron-forge_slash_core";
       packageName = "@electron-forge/core";
-      version = "6.0.0-beta.58";
+      version = "6.0.0-beta.59";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/core/-/core-6.0.0-beta.58.tgz";
-        sha512 = "mro6o/Oa2BETPfnzlWcpLJ5W5IWVuDokE7HZPzb9c6OTlcm/BWwl8pbfSZU19Q9SLsjou9hAuMwqzFveZRqGew==";
+        url = "https://registry.npmjs.org/@electron-forge/core/-/core-6.0.0-beta.59.tgz";
+        sha512 = "DRls31VQdVqGlna9EviHGKPchTkcbYPsRjOHSTrpksyOBQGck7for/hD1sxFREQ0r1qfKMR4xtmXbpXqzD8AyQ==";
       };
     };
-    "@electron-forge/installer-base-6.0.0-beta.58" = {
+    "@electron-forge/installer-base-6.0.0-beta.59" = {
       name = "_at_electron-forge_slash_installer-base";
       packageName = "@electron-forge/installer-base";
-      version = "6.0.0-beta.58";
+      version = "6.0.0-beta.59";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/installer-base/-/installer-base-6.0.0-beta.58.tgz";
-        sha512 = "VXA9cjCy9HHWyOcPGkO1Q5ym63AAfBLj/dL0Ezpw9r0/GKbgAN0g8HWgTwvs+rqWCdOAeyhIs+sTNI0rZQjc+A==";
+        url = "https://registry.npmjs.org/@electron-forge/installer-base/-/installer-base-6.0.0-beta.59.tgz";
+        sha512 = "rmayhhJXj5aXed8xrkqOPTGF4J1DqZdTGo05RAVKoCmXv0iGBPUp0VvkiQinOvoBopr/5XorZTzCxgqps0UC6w==";
       };
     };
-    "@electron-forge/installer-darwin-6.0.0-beta.58" = {
+    "@electron-forge/installer-darwin-6.0.0-beta.59" = {
       name = "_at_electron-forge_slash_installer-darwin";
       packageName = "@electron-forge/installer-darwin";
-      version = "6.0.0-beta.58";
+      version = "6.0.0-beta.59";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/installer-darwin/-/installer-darwin-6.0.0-beta.58.tgz";
-        sha512 = "yfx97cL7+kB77xTeniNqRT4Va++uJX6j9kZwIwgaBFvtyLHZ1DChOlOI8IR6/qctzEtrZHW41DySFKXnsWYwuw==";
+        url = "https://registry.npmjs.org/@electron-forge/installer-darwin/-/installer-darwin-6.0.0-beta.59.tgz";
+        sha512 = "2bssItA6CWgdL0G0/opG5usUdpCurCptdrA1bC8el6hlgv/v+hhRxalkPX9A38cWTB3w8VMhesDti+PpEYnniw==";
       };
     };
-    "@electron-forge/installer-deb-6.0.0-beta.58" = {
+    "@electron-forge/installer-deb-6.0.0-beta.59" = {
       name = "_at_electron-forge_slash_installer-deb";
       packageName = "@electron-forge/installer-deb";
-      version = "6.0.0-beta.58";
+      version = "6.0.0-beta.59";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/installer-deb/-/installer-deb-6.0.0-beta.58.tgz";
-        sha512 = "Ukw1ccUtmTOKCiorYLJCAIWGT5zxpinH1W9UpxlMP3JhrzQXApm2rF7n9TEGowkTMtPciEsNXaF/F9lzjRqIpQ==";
+        url = "https://registry.npmjs.org/@electron-forge/installer-deb/-/installer-deb-6.0.0-beta.59.tgz";
+        sha512 = "z2095DHbNm81gClIn+fkid/Z8FKlBnAySIodDRFKNjNDaGcWcg2Wurv3vV32Xq4kBlsHRduhxA31IqnGY1zOvA==";
       };
     };
-    "@electron-forge/installer-dmg-6.0.0-beta.58" = {
+    "@electron-forge/installer-dmg-6.0.0-beta.59" = {
       name = "_at_electron-forge_slash_installer-dmg";
       packageName = "@electron-forge/installer-dmg";
-      version = "6.0.0-beta.58";
+      version = "6.0.0-beta.59";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/installer-dmg/-/installer-dmg-6.0.0-beta.58.tgz";
-        sha512 = "zw46CQSZ2Jihx7GBUcEPHGBQJD1pIBv6oTi5HPR7IkEJ7CQ/yjESAfDuu1UfQc9mgAKI+6s+QMuFZMW+ZMqYPg==";
+        url = "https://registry.npmjs.org/@electron-forge/installer-dmg/-/installer-dmg-6.0.0-beta.59.tgz";
+        sha512 = "QAYJ0H31hVMiTQDQ9ngBkAFBbSTb9Okj3mKNsym+Yw4RlQJQEc9XWWOmiTjPHCB1LR/NmaescT06sJ6Kh0wtQw==";
       };
     };
-    "@electron-forge/installer-exe-6.0.0-beta.58" = {
+    "@electron-forge/installer-exe-6.0.0-beta.59" = {
       name = "_at_electron-forge_slash_installer-exe";
       packageName = "@electron-forge/installer-exe";
-      version = "6.0.0-beta.58";
+      version = "6.0.0-beta.59";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/installer-exe/-/installer-exe-6.0.0-beta.58.tgz";
-        sha512 = "Z7gl1CX8WJ/9kr5As9y0GELK8/u754j7bzSlxmaeyhaO/vSf5+M/MjkEiPUQUKVmqZ77ngdzN/T4IfDGxpk++A==";
+        url = "https://registry.npmjs.org/@electron-forge/installer-exe/-/installer-exe-6.0.0-beta.59.tgz";
+        sha512 = "FJ0vu65K6wBz8gY5RJNfLanXJEGMs2w/WrawSLh5xGH5GzOkWwq3RRD5AdN1CFRrkXSCBbgkdF6x+F1kdwH7OQ==";
       };
     };
-    "@electron-forge/installer-linux-6.0.0-beta.58" = {
+    "@electron-forge/installer-linux-6.0.0-beta.59" = {
       name = "_at_electron-forge_slash_installer-linux";
       packageName = "@electron-forge/installer-linux";
-      version = "6.0.0-beta.58";
+      version = "6.0.0-beta.59";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/installer-linux/-/installer-linux-6.0.0-beta.58.tgz";
-        sha512 = "39A2mmhsJg2MEjYS+gtF/9FUYLKEoVmD6e4S+Rn0u9Yv/WOtdqOR0KR/pLYPtsiQKsGQA5nD2V2/ZN8N/qTxZw==";
+        url = "https://registry.npmjs.org/@electron-forge/installer-linux/-/installer-linux-6.0.0-beta.59.tgz";
+        sha512 = "dB1A8j6oubCnAOQQzmtFWQWTMMSijeiClaGMricNOlC0wC2U3BHiBwrU2jJqxvy4M401kfgR9UiMs6mQNSPdPg==";
       };
     };
-    "@electron-forge/installer-rpm-6.0.0-beta.58" = {
+    "@electron-forge/installer-rpm-6.0.0-beta.59" = {
       name = "_at_electron-forge_slash_installer-rpm";
       packageName = "@electron-forge/installer-rpm";
-      version = "6.0.0-beta.58";
+      version = "6.0.0-beta.59";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/installer-rpm/-/installer-rpm-6.0.0-beta.58.tgz";
-        sha512 = "RyuKOGJoJknnp1C9WPFDc06Jw9K+KBM574byYegNiJPm5eGu+ZL/4tU9hD29YAtImyoGUy8L5dquApaC4d9zKA==";
+        url = "https://registry.npmjs.org/@electron-forge/installer-rpm/-/installer-rpm-6.0.0-beta.59.tgz";
+        sha512 = "h/S5uMl8Vvg+Euv5xIhynjB8Q6biaBauJJoPtlALxSgSNuKnWWIuc4edwqY5F0cBIw3WO4tnmA/CE6gVWgGJMg==";
       };
     };
-    "@electron-forge/installer-zip-6.0.0-beta.58" = {
+    "@electron-forge/installer-zip-6.0.0-beta.59" = {
       name = "_at_electron-forge_slash_installer-zip";
       packageName = "@electron-forge/installer-zip";
-      version = "6.0.0-beta.58";
+      version = "6.0.0-beta.59";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/installer-zip/-/installer-zip-6.0.0-beta.58.tgz";
-        sha512 = "J71WhNtHdgFDNCYB2vm3vv4Zt/rCuXFgtXxXRowb+pT39wxyL35DjXsOi/a6j5Vb2lGq0mekMuHvpcD/4MSo8w==";
+        url = "https://registry.npmjs.org/@electron-forge/installer-zip/-/installer-zip-6.0.0-beta.59.tgz";
+        sha512 = "sTYv2NR0liFUUa9snpQs+SCWPMOUddVNK/sNBNkwU1q5jrO+ZjfTF22u5C5RawIWKgTrwxc3dFUYDYXh8753og==";
       };
     };
-    "@electron-forge/maker-base-6.0.0-beta.58" = {
+    "@electron-forge/maker-base-6.0.0-beta.59" = {
       name = "_at_electron-forge_slash_maker-base";
       packageName = "@electron-forge/maker-base";
-      version = "6.0.0-beta.58";
+      version = "6.0.0-beta.59";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/maker-base/-/maker-base-6.0.0-beta.58.tgz";
-        sha512 = "Ztbv99kznlOAK/iDM03Hu/XmdTEXmfLnkcfAJ+uBlRwJmFqiAcPWNlUrPWtCu5KKxHcOiDl6mN3OC/Ae2/3fMA==";
+        url = "https://registry.npmjs.org/@electron-forge/maker-base/-/maker-base-6.0.0-beta.59.tgz";
+        sha512 = "S/Qdu2kwio5PdZgoDDxZPo6JSf2YwcuXi3sy9Tw2Qj58+ZT9nOHn0C+JBHI8sREv3IRK52Axu1/RYkwtX9+V8w==";
       };
     };
-    "@electron-forge/plugin-base-6.0.0-beta.58" = {
+    "@electron-forge/plugin-base-6.0.0-beta.59" = {
       name = "_at_electron-forge_slash_plugin-base";
       packageName = "@electron-forge/plugin-base";
-      version = "6.0.0-beta.58";
+      version = "6.0.0-beta.59";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/plugin-base/-/plugin-base-6.0.0-beta.58.tgz";
-        sha512 = "RMRjw8iRqkPChSMKdTSWCSubvDMSdJx+9Q9eO8n3GRN0jx4ExizhSIkxWpLSuze5dPyJXm3i24YUZjKOAR21EA==";
+        url = "https://registry.npmjs.org/@electron-forge/plugin-base/-/plugin-base-6.0.0-beta.59.tgz";
+        sha512 = "S30s/hfuIjKhCI2U4DwChjTx1ulGouqyorXpkHn3hlyfIXiC35T6fJ4Baw4Ng1W4BJrnZTmkVnglEHriFyV+Lg==";
       };
     };
-    "@electron-forge/publisher-base-6.0.0-beta.58" = {
+    "@electron-forge/publisher-base-6.0.0-beta.59" = {
       name = "_at_electron-forge_slash_publisher-base";
       packageName = "@electron-forge/publisher-base";
-      version = "6.0.0-beta.58";
+      version = "6.0.0-beta.59";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/publisher-base/-/publisher-base-6.0.0-beta.58.tgz";
-        sha512 = "pnAZ7VXnL0vosYn4Au347WukXVTU0XLqUSQrjC4pYCMs7YumL4n+ya+JNy51D6SkcFMmd0nCU2ohz7IHo3ttcg==";
+        url = "https://registry.npmjs.org/@electron-forge/publisher-base/-/publisher-base-6.0.0-beta.59.tgz";
+        sha512 = "W+fKf8ehtHU6GQLZnpnyy1XS+9o2dw8PJcRBU+pQNEUcbFqBxcAJhLkfh6cGE2tQQ/rN+N77RMWEnLh9GjZMCQ==";
       };
     };
-    "@electron-forge/shared-types-6.0.0-beta.58" = {
+    "@electron-forge/shared-types-6.0.0-beta.59" = {
       name = "_at_electron-forge_slash_shared-types";
       packageName = "@electron-forge/shared-types";
-      version = "6.0.0-beta.58";
+      version = "6.0.0-beta.59";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/shared-types/-/shared-types-6.0.0-beta.58.tgz";
-        sha512 = "Kz21kMg+EnINGK3H6qW4YXjFbXYvRv24O8PBnVaQiFXYIaUOXpaXj42QeytDXR/zMSA/jy78GoGodJLKE+gbdA==";
+        url = "https://registry.npmjs.org/@electron-forge/shared-types/-/shared-types-6.0.0-beta.59.tgz";
+        sha512 = "3tRCgfHqn5/8LijlVZsLb2xHm9W3qgzQ+KZNWXdYhb0Wj1+h6/sXn8rlxw10Mmb2mlYJEBW/NvIhpUDHgrGPXA==";
       };
     };
-    "@electron-forge/template-base-6.0.0-beta.58" = {
+    "@electron-forge/template-base-6.0.0-beta.59" = {
       name = "_at_electron-forge_slash_template-base";
       packageName = "@electron-forge/template-base";
-      version = "6.0.0-beta.58";
+      version = "6.0.0-beta.59";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/template-base/-/template-base-6.0.0-beta.58.tgz";
-        sha512 = "U2iT2YUY9R2wz9RNkM9dAEzv5q+b3HSDJcqPy/B7lzT3lB9kni0HZTZKihZttlQYGRO6jj+9aWnLqaE3HmtgsQ==";
+        url = "https://registry.npmjs.org/@electron-forge/template-base/-/template-base-6.0.0-beta.59.tgz";
+        sha512 = "PHPSHlJ72fYlk8hrEj6+6ok0Xlxz3EeFkn2DSO4ol7fjFJI7cqbaSdNuDL55CmsWsWr/3RUqk/44pn5ywmvoOg==";
       };
     };
-    "@electron-forge/template-typescript-6.0.0-beta.58" = {
+    "@electron-forge/template-typescript-6.0.0-beta.59" = {
       name = "_at_electron-forge_slash_template-typescript";
       packageName = "@electron-forge/template-typescript";
-      version = "6.0.0-beta.58";
+      version = "6.0.0-beta.59";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/template-typescript/-/template-typescript-6.0.0-beta.58.tgz";
-        sha512 = "x3dJeB4VDg18c69GOOUSk0LFRygaN2fDYxxjTZcGMlnsUTyypXkuaVIoEnMnB01TlY+gTPrsoITeB2e7ahSyaQ==";
+        url = "https://registry.npmjs.org/@electron-forge/template-typescript/-/template-typescript-6.0.0-beta.59.tgz";
+        sha512 = "GD+KyNv9y1ga6RbbXwlTNVsBeg055E/92Q5+1Y/dM+f2LLx0El0whXEwBf8eJ1+AXzrBsD0JQzAFkAIFyECLkQ==";
       };
     };
-    "@electron-forge/template-typescript-webpack-6.0.0-beta.58" = {
+    "@electron-forge/template-typescript-webpack-6.0.0-beta.59" = {
       name = "_at_electron-forge_slash_template-typescript-webpack";
       packageName = "@electron-forge/template-typescript-webpack";
-      version = "6.0.0-beta.58";
+      version = "6.0.0-beta.59";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/template-typescript-webpack/-/template-typescript-webpack-6.0.0-beta.58.tgz";
-        sha512 = "PTh0TW+ohn7BT+jjdQ3ubqFU9biP2ilfA36vA1Dgnv9/N8P1IBoEtXFJ4ilsMZOAfbp344ja9vsTFG+qGTsiDw==";
+        url = "https://registry.npmjs.org/@electron-forge/template-typescript-webpack/-/template-typescript-webpack-6.0.0-beta.59.tgz";
+        sha512 = "OPYA8eVbkFZFIpXCVTmDJntPTatzgaESyF2+eKwN1f6/j00kvHCbREL9zbXbji3gryt0a59bT+GKigWXldln5g==";
       };
     };
-    "@electron-forge/template-webpack-6.0.0-beta.58" = {
+    "@electron-forge/template-webpack-6.0.0-beta.59" = {
       name = "_at_electron-forge_slash_template-webpack";
       packageName = "@electron-forge/template-webpack";
-      version = "6.0.0-beta.58";
+      version = "6.0.0-beta.59";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/template-webpack/-/template-webpack-6.0.0-beta.58.tgz";
-        sha512 = "Uf7Ck17bn3djuoSglzOioXhOBRqY72pqMSZF0K84zNGwfzsW/KSonizmOMG3yrvSDEQf48JE5Ezhssla3SSgiA==";
+        url = "https://registry.npmjs.org/@electron-forge/template-webpack/-/template-webpack-6.0.0-beta.59.tgz";
+        sha512 = "ScPVUQ//zqqnpr53/WY8pVygs6KVTpXsPlAoo0ZeYfOjuTRh2uSMPN0+2UnUUD5FGjLm3hkpIibUH4ZMtLu8aw==";
       };
     };
-    "@electron/get-1.12.4" = {
+    "@electron/get-1.13.0" = {
       name = "_at_electron_slash_get";
       packageName = "@electron/get";
-      version = "1.12.4";
+      version = "1.13.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron/get/-/get-1.12.4.tgz";
-        sha512 = "6nr9DbJPUR9Xujw6zD3y+rS95TyItEVM0NVjt1EehY2vUWfIgPiIPVHxCvaTS0xr2B+DRxovYVKbuOWqC35kjg==";
+        url = "https://registry.npmjs.org/@electron/get/-/get-1.13.0.tgz";
+        sha512 = "+SjZhRuRo+STTO1Fdhzqnv9D2ZhjxXP6egsJ9kiO8dtP68cDx7dFCwWi64dlMQV7sWcfW1OYCW4wviEBzmRsfQ==";
       };
     };
     "@emmetio/abbreviation-2.2.2" = {
@@ -2047,22 +2182,22 @@ let
         sha512 = "J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==";
       };
     };
-    "@exodus/schemasafe-1.0.0-rc.3" = {
+    "@exodus/schemasafe-1.0.0-rc.4" = {
       name = "_at_exodus_slash_schemasafe";
       packageName = "@exodus/schemasafe";
-      version = "1.0.0-rc.3";
+      version = "1.0.0-rc.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@exodus/schemasafe/-/schemasafe-1.0.0-rc.3.tgz";
-        sha512 = "GoXw0U2Qaa33m3eUcxuHnHpNvHjNlLo0gtV091XBpaRINaB4X6FGCG5XKxSFNFiPpugUDqNruHzaqpTdDm4AOg==";
+        url = "https://registry.npmjs.org/@exodus/schemasafe/-/schemasafe-1.0.0-rc.4.tgz";
+        sha512 = "zHISeJ5jcHSo3i2bI5RHb0XEJ1JGxQ/QQzU2FLPcJxohNohJV8jHCM1FSrOUxTspyDRSSULg3iKQa1FJ4EsSiQ==";
       };
     };
-    "@expo/apple-utils-0.0.0-alpha.20" = {
+    "@expo/apple-utils-0.0.0-alpha.25" = {
       name = "_at_expo_slash_apple-utils";
       packageName = "@expo/apple-utils";
-      version = "0.0.0-alpha.20";
+      version = "0.0.0-alpha.25";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/apple-utils/-/apple-utils-0.0.0-alpha.20.tgz";
-        sha512 = "L/M9NPNlT1e38whA3M4QdnIDCClj6Y2GPXFOxBxuwzlmh847RHwZ/ojJpVP8sLVC+is54DS1hU9vtDkiPHGPRw==";
+        url = "https://registry.npmjs.org/@expo/apple-utils/-/apple-utils-0.0.0-alpha.25.tgz";
+        sha512 = "meyCJ/5jHJsgZNBMwlAugqD5Z0bcazCLgAyYQCw8O1/sXh4gWf0IiWJGnkevdxnA3g1R9nmJFmjkFuLoGOt+Bw==";
       };
     };
     "@expo/bunyan-4.0.0" = {
@@ -2074,22 +2209,22 @@ let
         sha512 = "Ydf4LidRB/EBI+YrB+cVLqIseiRfjUI/AeHBgjGMtq3GroraDu81OV7zqophRgupngoL3iS3JUMDMnxO7g39qA==";
       };
     };
-    "@expo/config-5.0.5" = {
+    "@expo/config-5.0.9" = {
       name = "_at_expo_slash_config";
       packageName = "@expo/config";
-      version = "5.0.5";
+      version = "5.0.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/config/-/config-5.0.5.tgz";
-        sha512 = "r3/Y6mFhOmGqEfhhkUncP6/Qg8Aexg1G66TzDzd97iNezCY2LP9c2hwyN7SwhBv5l1YBNc2zeT556xXe0v4Qgw==";
+        url = "https://registry.npmjs.org/@expo/config/-/config-5.0.9.tgz";
+        sha512 = "eZj+cf03wkQQdHSpYvrmiqAsn2dJV10uhHIwXyeFBaFvhds0NgThOldJZfOppQ4QUaGobB/vaJ7UqUa3B0PCMw==";
       };
     };
-    "@expo/config-plugins-3.0.5" = {
+    "@expo/config-plugins-3.1.0" = {
       name = "_at_expo_slash_config-plugins";
       packageName = "@expo/config-plugins";
-      version = "3.0.5";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-3.0.5.tgz";
-        sha512 = "hHKr6i201QG16ms93XiXwcI1IhDYhITCRt7hWNO1UPxt2Cm7yDOG2YoGkauP0V/nAN3TEocDYbCrltGFBdoCTg==";
+        url = "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-3.1.0.tgz";
+        sha512 = "V5qxaxCAExBM0TXmbU1QKiZcAGP3ecu7KXede8vByT15cro5PkcWu2sSdJCYbHQ/gw6Vf/i8sr8gKlN8V8TSLg==";
       };
     };
     "@expo/config-types-42.0.0" = {
@@ -2101,22 +2236,22 @@ let
         sha512 = "Rj02OMZke2MrGa/1Y/EScmR7VuWbDEHPJyvfFyyLbadUt+Yv6isCdeFzDt71I7gJlPR9T4fzixeYLrtXXOTq0w==";
       };
     };
-    "@expo/dev-server-0.1.80" = {
+    "@expo/dev-server-0.1.84" = {
       name = "_at_expo_slash_dev-server";
       packageName = "@expo/dev-server";
-      version = "0.1.80";
+      version = "0.1.84";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/dev-server/-/dev-server-0.1.80.tgz";
-        sha512 = "+5HaLrd0QM8/CpqDhK9qDghZl1DkdqGz0QnSkPZDexnfZjTrEjPX8aXd0H5mv67W9ev1eUtoiABY6iU0wZ7czg==";
+        url = "https://registry.npmjs.org/@expo/dev-server/-/dev-server-0.1.84.tgz";
+        sha512 = "6N5Vw8PZgnXvjdXm0Lo7v68nIeoPtIV8+G2YGtImaIw4SRshLaTidKefkJNH+JmvXMyEwqLG02xFAQa/I2v3jA==";
       };
     };
-    "@expo/dev-tools-0.13.110" = {
+    "@expo/dev-tools-0.13.115" = {
       name = "_at_expo_slash_dev-tools";
       packageName = "@expo/dev-tools";
-      version = "0.13.110";
+      version = "0.13.115";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/dev-tools/-/dev-tools-0.13.110.tgz";
-        sha512 = "heG6yXLwN87o0jMn90xstsl5GULNABtDx03/jPS6sy3Yqgf6SiqZpwXCWp+kZgSi+fWFE6TRAsk91eWhLRHjug==";
+        url = "https://registry.npmjs.org/@expo/dev-tools/-/dev-tools-0.13.115.tgz";
+        sha512 = "wxA7SuWXEHrQDn/9Z8E3JnLicUSZvdSMtq++5KAFIKndOlTZ6KC9oGwlsgXzBPktQUHUMglaRxgSmx5fOKPJGQ==";
       };
     };
     "@expo/devcert-1.0.0" = {
@@ -2128,67 +2263,67 @@ let
         sha512 = "cahGyQCmpZmHpn2U04NR9KwsOIZy7Rhsw8Fg4q+A6563lIJxbkrgPnxq/O3NQAh3ohEvOXOOnoFx0b4yycCkpQ==";
       };
     };
-    "@expo/image-utils-0.3.15" = {
+    "@expo/image-utils-0.3.16" = {
       name = "_at_expo_slash_image-utils";
       packageName = "@expo/image-utils";
-      version = "0.3.15";
+      version = "0.3.16";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/image-utils/-/image-utils-0.3.15.tgz";
-        sha512 = "uLJMNZ6ux5nBpLxxP1tUtFjpPG6stv0IGEBug6nVZfwQgR/BAsEao+RqZFqrcKhiXw2rIwhKhkspfWU5G6e1dw==";
+        url = "https://registry.npmjs.org/@expo/image-utils/-/image-utils-0.3.16.tgz";
+        sha512 = "ZggQK5w7awqYdA/TE0DT02nYxWirQm2r7NNy043zVtzBCtjhLpFpluk1v9W0pH4+nT1ChGk1c67j0mYRKcBkjg==";
       };
     };
-    "@expo/json-file-8.2.31" = {
+    "@expo/json-file-8.2.33" = {
       name = "_at_expo_slash_json-file";
       packageName = "@expo/json-file";
-      version = "8.2.31";
+      version = "8.2.33";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/json-file/-/json-file-8.2.31.tgz";
-        sha512 = "GvbL1tQnM3kGOM9hG+lwGbPJ/1tX+Sb8ZkqRrJlRpWGRa4DwnpLvIZHlWMb1ug/ye1QC7+RK/KwRZ7xcAXergA==";
+        url = "https://registry.npmjs.org/@expo/json-file/-/json-file-8.2.33.tgz";
+        sha512 = "CDnhjdirUs6OdN5hOSTJ2y3i9EiJMk7Z5iDljC5xyCHCrUex7oyI8vbRsZEojAahxZccgL/PrO+CjakiFFWurg==";
       };
     };
-    "@expo/metro-config-0.1.80" = {
+    "@expo/metro-config-0.1.84" = {
       name = "_at_expo_slash_metro-config";
       packageName = "@expo/metro-config";
-      version = "0.1.80";
+      version = "0.1.84";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/metro-config/-/metro-config-0.1.80.tgz";
-        sha512 = "A2jFV4XWNaT/LR7oKkLMFbCNTpI7JWCbns1mmhjA3zKf8k03Kj2mLEoJMI17JtLtz0WuH9hvqr5OuaK7jlmegQ==";
+        url = "https://registry.npmjs.org/@expo/metro-config/-/metro-config-0.1.84.tgz";
+        sha512 = "xWSfM0+AxcKw0H8mc1RuKs4Yy4JT4SJfn4yDnGLAlKkHlEC+D2seZvb/Tdd173e/LANmcarNd+OcDYu03AmVWA==";
       };
     };
-    "@expo/osascript-2.0.29" = {
+    "@expo/osascript-2.0.30" = {
       name = "_at_expo_slash_osascript";
       packageName = "@expo/osascript";
-      version = "2.0.29";
+      version = "2.0.30";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/osascript/-/osascript-2.0.29.tgz";
-        sha512 = "R0DtZY0NOGCwd+JHS/OO6I/Jkg7acpHAqFFDuwCPfEPgL9HJPr1fKc1rTuMYE7+der5/Pe1EXlo1/c3GFYlHxw==";
+        url = "https://registry.npmjs.org/@expo/osascript/-/osascript-2.0.30.tgz";
+        sha512 = "IlBCyso1wJl8AbgS8n5lcUcXa/8TTU/rHgurWvJRWjErtFOELsqV4O+NCcB7jr4bvv8uZHeRKHQpsoyZWmmk/g==";
       };
     };
-    "@expo/package-manager-0.0.44" = {
+    "@expo/package-manager-0.0.47" = {
       name = "_at_expo_slash_package-manager";
       packageName = "@expo/package-manager";
-      version = "0.0.44";
+      version = "0.0.47";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/package-manager/-/package-manager-0.0.44.tgz";
-        sha512 = "Yw8gHc1+kt64VXcUtrZ3w6ljy7Xxb5P0YY5acZiAaW6cdeOYtkeCtYcKrCAWlQaGdg8mYOWtfPEF1Ydy8IOjpg==";
+        url = "https://registry.npmjs.org/@expo/package-manager/-/package-manager-0.0.47.tgz";
+        sha512 = "guFnGAiNLW/JsienEq3NkZk5khTP+RdT/czk/teJUiYLkBy0hLmMTJsNXurGgFwI33+ScEbDvFmN5IOEBGpUDQ==";
       };
     };
-    "@expo/plist-0.0.13" = {
+    "@expo/plist-0.0.14" = {
       name = "_at_expo_slash_plist";
       packageName = "@expo/plist";
-      version = "0.0.13";
+      version = "0.0.14";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/plist/-/plist-0.0.13.tgz";
-        sha512 = "zGPSq9OrCn7lWvwLLHLpHUUq2E40KptUFXn53xyZXPViI0k9lbApcR9KlonQZ95C+ELsf0BQ3gRficwK92Ivcw==";
+        url = "https://registry.npmjs.org/@expo/plist/-/plist-0.0.14.tgz";
+        sha512 = "bb4Ua1M/OdNgS8KiGdSDUjZ/bbPfv3xdPY/lz8Ctp/adlj/QgB8xA7tVPeqSSfJPZqFRwU0qLCnRhpUOnP51VQ==";
       };
     };
-    "@expo/prebuild-config-2.0.5" = {
+    "@expo/prebuild-config-2.1.0" = {
       name = "_at_expo_slash_prebuild-config";
       packageName = "@expo/prebuild-config";
-      version = "2.0.5";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-2.0.5.tgz";
-        sha512 = "TTqKtfnavnlNSMKsdAVfR8bNOYQrR2WM6QpyOISgT9Cuu11ykxMbrmFEGazvIIGmYJhh6f9+CVwoqoZbf9hH7Q==";
+        url = "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-2.1.0.tgz";
+        sha512 = "obpbnV0+Otv7Dbx8kkbSd62xL9HYZRDPdmdcVWuML7lv7Zo4r+OyS6vYpUmln9htp0gtjuc6+X9FiC74bbGkVA==";
       };
     };
     "@expo/results-1.0.0" = {
@@ -2200,13 +2335,22 @@ let
         sha512 = "qECzzXX5oJot3m2Gu9pfRDz50USdBieQVwYAzeAtQRUTD3PVeTK1tlRUoDcrK8PSruDLuVYdKkLebX4w/o55VA==";
       };
     };
-    "@expo/schemer-1.3.30" = {
+    "@expo/rudder-sdk-node-1.0.7" = {
+      name = "_at_expo_slash_rudder-sdk-node";
+      packageName = "@expo/rudder-sdk-node";
+      version = "1.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@expo/rudder-sdk-node/-/rudder-sdk-node-1.0.7.tgz";
+        sha512 = "TQuHUwugxzJGCYOFN/ZIQ+rNSdLPv2pgxaH2Ky7y80RDvWN8DNKeTbrgX0tPnVd/aLjKhxADx8C2se//lZR24w==";
+      };
+    };
+    "@expo/schemer-1.3.31" = {
       name = "_at_expo_slash_schemer";
       packageName = "@expo/schemer";
-      version = "1.3.30";
+      version = "1.3.31";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/schemer/-/schemer-1.3.30.tgz";
-        sha512 = "RYg6eiz2i3ETGlydUejszHoKkj9OaCedp3eVVr3065DY2MYTPoPwyfapU8CBljIJBeKpW9tc/Yvr9ZJbXibkVg==";
+        url = "https://registry.npmjs.org/@expo/schemer/-/schemer-1.3.31.tgz";
+        sha512 = "gW4r6FIHjlD1sJfAO7JZtrHiIYEf6s5mbEsgU1lxi8bs3vV2feVqb05U8oTCuf0imawNf5aHhvgTL8CUVLA5tA==";
       };
     };
     "@expo/sdk-runtime-versions-1.0.0" = {
@@ -2218,15 +2362,6 @@ let
         sha512 = "Doz2bfiPndXYFPMRwPyGa1k5QaKDVpY806UJj570epIiMzWaYyCtobasyfC++qfIXVb5Ocy7r3tP9d62hAQ7IQ==";
       };
     };
-    "@expo/simple-spinner-1.0.2" = {
-      name = "_at_expo_slash_simple-spinner";
-      packageName = "@expo/simple-spinner";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/simple-spinner/-/simple-spinner-1.0.2.tgz";
-        sha1 = "b31447de60e5102837a4edf702839fcc8f7f31f3";
-      };
-    };
     "@expo/spawn-async-1.5.0" = {
       name = "_at_expo_slash_spawn-async";
       packageName = "@expo/spawn-async";
@@ -2236,13 +2371,13 @@ let
         sha512 = "LB7jWkqrHo+5fJHNrLAFdimuSXQ2MQ4lA7SQW5bf/HbsXuV2VrT/jN/M8f/KoWt0uJMGN4k/j7Opx4AvOOxSew==";
       };
     };
-    "@expo/webpack-config-0.13.1" = {
+    "@expo/webpack-config-0.15.0" = {
       name = "_at_expo_slash_webpack-config";
       packageName = "@expo/webpack-config";
-      version = "0.13.1";
+      version = "0.15.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/webpack-config/-/webpack-config-0.13.1.tgz";
-        sha512 = "OaTtB5nQp4Vqxx+ORDIn7ROL4yEqQBFYPp3TnPVKi9AxOOxqjatxvcIUreDJlb2r9G+Eeub9dW0DSF6ETtBnGg==";
+        url = "https://registry.npmjs.org/@expo/webpack-config/-/webpack-config-0.15.0.tgz";
+        sha512 = "AcZiRs+7RwHM05uR4qdTGAU6kpQRPZ3U0yedtVe391i4NRM80sBe+sIc7LuhFN9aZL89+ZjqN3fDoA0ZNIgIfQ==";
       };
     };
     "@expo/xcpretty-3.1.4" = {
@@ -2281,13 +2416,13 @@ let
         sha512 = "o8iU1VIY+QsqVRWARKiky29fh4KR1xaKSgMClXIi65qkt8EDDhjmlzL0KVDEoDA2GWukwb/1PpaVCWDg4v3cUQ==";
       };
     };
-    "@fluentui/date-time-utilities-8.2.1" = {
+    "@fluentui/date-time-utilities-8.2.2" = {
       name = "_at_fluentui_slash_date-time-utilities";
       packageName = "@fluentui/date-time-utilities";
-      version = "8.2.1";
+      version = "8.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/date-time-utilities/-/date-time-utilities-8.2.1.tgz";
-        sha512 = "0AYXaXFQ3bPsOtiOi3bJSihzf+w3L44iQK38EiQgp3uAXei/i36VtDCToHZehYV+eS4s1qb/QGksoL0F4G6WCQ==";
+        url = "https://registry.npmjs.org/@fluentui/date-time-utilities/-/date-time-utilities-8.2.2.tgz";
+        sha512 = "djHrX/38ty+F93qLQjzmRzPzK598CW9g/RPhQH6GyrFBLPSWM1swYKB5TP6E7FrIf+fT4pVqrNUSYZhgi2rrOQ==";
       };
     };
     "@fluentui/dom-utilities-1.1.2" = {
@@ -2299,31 +2434,31 @@ let
         sha512 = "XqPS7l3YoMwxdNlaYF6S2Mp0K3FmVIOIy2K3YkMc+eRxu9wFK6emr2Q/3rBhtG5u/On37NExRT7/5CTLnoi9gw==";
       };
     };
-    "@fluentui/dom-utilities-2.1.3" = {
+    "@fluentui/dom-utilities-2.1.4" = {
       name = "_at_fluentui_slash_dom-utilities";
       packageName = "@fluentui/dom-utilities";
-      version = "2.1.3";
+      version = "2.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/dom-utilities/-/dom-utilities-2.1.3.tgz";
-        sha512 = "i2YECSldnkzPAhVmrxksuKSbqBKfMbHrexGqDJm7dy6KoIx+JSilbA5Lz0YNhA7VEgCy1X01GHlWBvqhCNQW8g==";
+        url = "https://registry.npmjs.org/@fluentui/dom-utilities/-/dom-utilities-2.1.4.tgz";
+        sha512 = "+gsAnEjgoKB37o+tsMdSLtgqZ9z2PzpvnHx/2IqhRWjQQd7Xc7MbQsbZaQ5qfkioFHLnWGc/+WORpqKPy/sWrg==";
       };
     };
-    "@fluentui/font-icons-mdl2-8.1.6" = {
+    "@fluentui/font-icons-mdl2-8.1.10" = {
       name = "_at_fluentui_slash_font-icons-mdl2";
       packageName = "@fluentui/font-icons-mdl2";
-      version = "8.1.6";
+      version = "8.1.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/font-icons-mdl2/-/font-icons-mdl2-8.1.6.tgz";
-        sha512 = "tNAaX72NQYbvR9zeiOiVQBQhYtVgPUgh68LKTGywuYGc2WffBu20Xk9wII8iLGmAijLI1QClaCQxaRAL0IkfBA==";
+        url = "https://registry.npmjs.org/@fluentui/font-icons-mdl2/-/font-icons-mdl2-8.1.10.tgz";
+        sha512 = "oxAErjUx8xqlk81lxClEqdpF05Fy+5tKndYKm27k7cRD0f6CKLjT5Hu5oWDLwcYqa1eScXZV1I5IVHKjChsBSA==";
       };
     };
-    "@fluentui/foundation-legacy-8.1.6" = {
+    "@fluentui/foundation-legacy-8.1.10" = {
       name = "_at_fluentui_slash_foundation-legacy";
       packageName = "@fluentui/foundation-legacy";
-      version = "8.1.6";
+      version = "8.1.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/foundation-legacy/-/foundation-legacy-8.1.6.tgz";
-        sha512 = "TJzUFcpfcJefXNmTOAJBKgIlQXDPw/dIcpO9l2nBfORvy4RnrJK4QjpdJPp5XOhDPtDVjlKPB1WvavoRkPRrbg==";
+        url = "https://registry.npmjs.org/@fluentui/foundation-legacy/-/foundation-legacy-8.1.10.tgz";
+        sha512 = "IhDS3OajyHHi+QmZlOhlXbVGFQ5TJNt2HFV6sy005jxw0xiBghG1niqjKjB09n3MfcmMdWNEkOFDpQuuyRWDjg==";
       };
     };
     "@fluentui/keyboard-key-0.2.17" = {
@@ -2335,40 +2470,40 @@ let
         sha512 = "iT1bU56rKrKEOfODoW6fScY11qj3iaYrZ+z11T6fo5+TDm84UGkkXjLXJTE57ZJzg0/gbccHQWYv+chY7bJN8Q==";
       };
     };
-    "@fluentui/keyboard-key-0.3.3" = {
+    "@fluentui/keyboard-key-0.3.4" = {
       name = "_at_fluentui_slash_keyboard-key";
       packageName = "@fluentui/keyboard-key";
-      version = "0.3.3";
+      version = "0.3.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/keyboard-key/-/keyboard-key-0.3.3.tgz";
-        sha512 = "3qX1WNCgJlKq7uGH76rLC4cdESgwdLhMH9WjcQUkQNJKtBpL4vs5O99M1keEhd3pfooW7zasr6AcYcWq4BRB4g==";
+        url = "https://registry.npmjs.org/@fluentui/keyboard-key/-/keyboard-key-0.3.4.tgz";
+        sha512 = "pVY2m3IC5+LLmMzsaPApX9eKTzpOzdgQwrR3FNTE6mGx3N/+QWYM7fdF+T1ldZQt87dCRSeQnmAo5kqjtxeA/w==";
       };
     };
-    "@fluentui/merge-styles-8.1.3" = {
+    "@fluentui/merge-styles-8.1.5" = {
       name = "_at_fluentui_slash_merge-styles";
       packageName = "@fluentui/merge-styles";
-      version = "8.1.3";
+      version = "8.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/merge-styles/-/merge-styles-8.1.3.tgz";
-        sha512 = "5vZUyXnbOb9M1rMLzQ7Kj5uadHgSTsp3gv0xDv6bfPvzB9RgQa3dEuJ6TA34tLezw8sFYuA6NnKd57nlb4aXMA==";
+        url = "https://registry.npmjs.org/@fluentui/merge-styles/-/merge-styles-8.1.5.tgz";
+        sha512 = "hmEb5LnOxCTpM/6oJQJI0w5AlYzwrceozPgsMdOF5BuT5MkXPlXLK3L2auzXGNYHkoGiouH61ImsS/TSM0mV/g==";
       };
     };
-    "@fluentui/react-7.173.1" = {
+    "@fluentui/react-7.174.1" = {
       name = "_at_fluentui_slash_react";
       packageName = "@fluentui/react";
-      version = "7.173.1";
+      version = "7.174.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/react/-/react-7.173.1.tgz";
-        sha512 = "+6PB+CwwL2GNHy4GrDR6871ng7A7FRGXSHQzGqfeLq7Dr7vjO82fGuIsrIaFO1Ry1lug6c41uC5Bon/mKcs1KQ==";
+        url = "https://registry.npmjs.org/@fluentui/react/-/react-7.174.1.tgz";
+        sha512 = "c6OF4iMImss6a+8NODme85Ekrvq6AV1jzW6BUGJ3Gc11pMuvxJsQwg5NCHzy8cXWsK7DbPP11JAM1cFNU2kG8w==";
       };
     };
-    "@fluentui/react-8.22.0" = {
+    "@fluentui/react-8.27.0" = {
       name = "_at_fluentui_slash_react";
       packageName = "@fluentui/react";
-      version = "8.22.0";
+      version = "8.27.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/react/-/react-8.22.0.tgz";
-        sha512 = "mn/zUd7vJNFLqpXZhc3ePNpDcNx4mhYdQ5vCC6kqcFIYjMg2ve5WqBP9tpFlbD3LEBa8NyOvIWfdG0NZdKejLg==";
+        url = "https://registry.npmjs.org/@fluentui/react/-/react-8.27.0.tgz";
+        sha512 = "5LSh5XVU3qy6nY949jxS3BwF7UZA6jGjcH9JOTosgtxuHZUIXkzfZlT7fyt5xp+27B1B5ro9K9u2pDjItDHVHg==";
       };
     };
     "@fluentui/react-focus-7.17.6" = {
@@ -2380,22 +2515,22 @@ let
         sha512 = "JkLWNDe567lhvbnIhbYv9nUWYDIVN06utc3krs0UZBI+A0YZtQmftBtY0ghXo4PSjgozZocdu9sYkkgZOgyRLg==";
       };
     };
-    "@fluentui/react-focus-8.1.8" = {
+    "@fluentui/react-focus-8.2.1" = {
       name = "_at_fluentui_slash_react-focus";
       packageName = "@fluentui/react-focus";
-      version = "8.1.8";
+      version = "8.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/react-focus/-/react-focus-8.1.8.tgz";
-        sha512 = "EUI1TZwM7T2keNEjqIAkeV9ALMlLjz7abqHk0AypKJG3v4YPQHycal37KAHQb+gdVJX2hjVQLxynI1yrquKFUw==";
+        url = "https://registry.npmjs.org/@fluentui/react-focus/-/react-focus-8.2.1.tgz";
+        sha512 = "kPGlyc8sj/1OjY/juaOG/CATc0GPsAkbFj8JNbPGPkcxdSkr1hVN4AQq34E8ddVe5d/t+Nevftl9kkYAAxfnoA==";
       };
     };
-    "@fluentui/react-hooks-8.2.4" = {
+    "@fluentui/react-hooks-8.3.1" = {
       name = "_at_fluentui_slash_react-hooks";
       packageName = "@fluentui/react-hooks";
-      version = "8.2.4";
+      version = "8.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/react-hooks/-/react-hooks-8.2.4.tgz";
-        sha512 = "qc/j0YdxC0zAWVqh8BJppZuK3o9/rfyu5psY4N/AL9dmKrTFWszRgTSB5uiRShN99L88UUEV9RtlfknnLDGrUg==";
+        url = "https://registry.npmjs.org/@fluentui/react-hooks/-/react-hooks-8.3.1.tgz";
+        sha512 = "fgkL4/4m8ds7dK6+o6qfk9Ok1ssbTV3dA7k1w5xZgw/FE4AWTt6zfLx9HhGpxF71l0X+R0DCWWb6W/LqE7+Ylg==";
       };
     };
     "@fluentui/react-window-provider-1.0.2" = {
@@ -2407,31 +2542,31 @@ let
         sha512 = "fGSgL3Vp/+6t1Ysfz21FWZmqsU+iFVxOigvHnm5uKVyyRPwtaabv/F6kQ2y5isLMI2YmJaUd2i0cDJKu8ggrvw==";
       };
     };
-    "@fluentui/react-window-provider-2.1.3" = {
+    "@fluentui/react-window-provider-2.1.4" = {
       name = "_at_fluentui_slash_react-window-provider";
       packageName = "@fluentui/react-window-provider";
-      version = "2.1.3";
+      version = "2.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/react-window-provider/-/react-window-provider-2.1.3.tgz";
-        sha512 = "3NWL3Kkqp3elD/aTrUaEufRUrN7K7hYsXEsOY2bDCDjPadLGtZlTGWNYFbUYNsaL/v79gZHhH+voCECP85HqRg==";
+        url = "https://registry.npmjs.org/@fluentui/react-window-provider/-/react-window-provider-2.1.4.tgz";
+        sha512 = "RztmJ7ol2eMDr3NCs2OcAA1cQjZdPPUEa4aurgh4Aq+JM/BiY0aK6S4SeFtVD7F8Q7PBOz/xwOG4HlnSMQtlsg==";
       };
     };
-    "@fluentui/set-version-8.1.3" = {
+    "@fluentui/set-version-8.1.4" = {
       name = "_at_fluentui_slash_set-version";
       packageName = "@fluentui/set-version";
-      version = "8.1.3";
+      version = "8.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/set-version/-/set-version-8.1.3.tgz";
-        sha512 = "QYLFBnwa6xJj0phEy6r+iO5bXWXxkhS1uNngUwfWsHaTskDa4PXDDdjZAXjTVV935xqmoM4GZhZk+Tcoe/OaXA==";
+        url = "https://registry.npmjs.org/@fluentui/set-version/-/set-version-8.1.4.tgz";
+        sha512 = "2otMyJ+s+W+hjBD4BKjwYKKinJUDeIKYKz93qKrrJS0i3fKfftNroy9dHFlIblZ7n747L334plLi3bzQO1bnvA==";
       };
     };
-    "@fluentui/style-utilities-8.2.0" = {
+    "@fluentui/style-utilities-8.3.1" = {
       name = "_at_fluentui_slash_style-utilities";
       packageName = "@fluentui/style-utilities";
-      version = "8.2.0";
+      version = "8.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/style-utilities/-/style-utilities-8.2.0.tgz";
-        sha512 = "gdAgBnevDOHbgqAKCaQG4CXN6dONMg8BRSZNqha0I9WdgLJy7F7t4xVo8elPjlDUP72ciYT8J9Z/YNljZzbE0w==";
+        url = "https://registry.npmjs.org/@fluentui/style-utilities/-/style-utilities-8.3.1.tgz";
+        sha512 = "EEaol+tIgTwEI8iHQfJHA7w2xtl7B+ofkheyMIK/97ONVqD4onf42p5r34rmuBhgIo4pXQsEQDPb5b5ClSzDFw==";
       };
     };
     "@fluentui/theme-1.7.4" = {
@@ -2443,22 +2578,31 @@ let
         sha512 = "o4eo7lstLxxXl1g2RR9yz18Yt8yjQO/LbQuZjsiAfv/4Bf0CRnb+3j1F7gxIdBWAchKj9gzaMpIFijfI98pvYQ==";
       };
     };
-    "@fluentui/theme-2.1.4" = {
+    "@fluentui/theme-2.3.1" = {
       name = "_at_fluentui_slash_theme";
       packageName = "@fluentui/theme";
-      version = "2.1.4";
+      version = "2.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/theme/-/theme-2.1.4.tgz";
-        sha512 = "Y4FWgnYldvAFOo24tfsREMb8/3Tn5uDoYgGO7AAdrksP7VAaavaEVQCOgvHWy3l89Bsxf00/fE+QJ/AHv5Z4CA==";
+        url = "https://registry.npmjs.org/@fluentui/theme/-/theme-2.3.1.tgz";
+        sha512 = "S+AM8+Jg5/KMQYcxcN6LcZPA51pXVVapnkk1eMGKQYDdJ4KS4r50L2OkIPVfbFn3uiW8VZOesHMsvBTnvZfdng==";
       };
     };
-    "@fluentui/utilities-8.2.1" = {
+    "@fluentui/utilities-8.3.1" = {
       name = "_at_fluentui_slash_utilities";
       packageName = "@fluentui/utilities";
-      version = "8.2.1";
+      version = "8.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@fluentui/utilities/-/utilities-8.3.1.tgz";
+        sha512 = "V/6bokboB7J1di6XWnS2AuT1A2x0N8BvfCbdaTqvrmCarmViaY/3cawO8shV91d+ahiR2ZzN0CqOMkIDvjr4tA==";
+      };
+    };
+    "@gar/promisify-1.1.2" = {
+      name = "_at_gar_slash_promisify";
+      packageName = "@gar/promisify";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/utilities/-/utilities-8.2.1.tgz";
-        sha512 = "ezRkBUDhHQjrqAWA6H1TwWU3STauW/EjthDAe/upJbmXeP3ynn7tTpx1gpNi/vHjJlRkO1JjNoiSc6P4MZWkYw==";
+        url = "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.2.tgz";
+        sha512 = "82cpyJyKRoQoRi+14ibCeGPu0CwypgtBAdBhq1WfvagpCZNKqwXbKwXllYSMG91DhmG4jt9gN8eP6lGOtozuaw==";
       };
     };
     "@google-cloud/paginator-3.0.5" = {
@@ -2497,13 +2641,13 @@ let
         sha512 = "d4VSA86eL/AFTe5xtyZX+ePUjE8dIFu2T8zmdeNBSa5/kNgXPCx/o/wbFNHAGLJdGnk1vddRuMESD9HbOC8irw==";
       };
     };
-    "@google-cloud/pubsub-2.16.1" = {
+    "@google-cloud/pubsub-2.17.0" = {
       name = "_at_google-cloud_slash_pubsub";
       packageName = "@google-cloud/pubsub";
-      version = "2.16.1";
+      version = "2.17.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@google-cloud/pubsub/-/pubsub-2.16.1.tgz";
-        sha512 = "+uO7r9uRfD/x0BzBI67clbIu0VIdqYLZ5NINuGEsMiAXIGWQWmceuLMixMEb/JOxeaqKygH1mL2rshkDisUmGg==";
+        url = "https://registry.npmjs.org/@google-cloud/pubsub/-/pubsub-2.17.0.tgz";
+        sha512 = "9Xya69A5VAYVEGf651jy071RuBIjv+jpyozSc3j8V21LIiKRr9x+KyplHcLTYWdj+uXbP9cry8Ck8JEFc7GiqQ==";
       };
     };
     "@graphql-cli/common-4.1.0" = {
@@ -2578,13 +2722,40 @@ let
         sha512 = "FlQC50VELwRxoWUbJMMMs5gG0Dl8BaQYMrXUHTsxwqR7UmksUYnysC21rdousvs6jVZ7pf4unZfZFtBjz+8Edg==";
       };
     };
-    "@graphql-tools/merge-6.2.14" = {
+    "@graphql-tools/load-6.2.8" = {
+      name = "_at_graphql-tools_slash_load";
+      packageName = "@graphql-tools/load";
+      version = "6.2.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@graphql-tools/load/-/load-6.2.8.tgz";
+        sha512 = "JpbyXOXd8fJXdBh2ta0Q4w8ia6uK5FHzrTNmcvYBvflFuWly2LDTk2abbSl81zKkzswQMEd2UIYghXELRg8eTA==";
+      };
+    };
+    "@graphql-tools/merge-6.2.17" = {
+      name = "_at_graphql-tools_slash_merge";
+      packageName = "@graphql-tools/merge";
+      version = "6.2.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@graphql-tools/merge/-/merge-6.2.17.tgz";
+        sha512 = "G5YrOew39fZf16VIrc49q3c8dBqQDD0ax5LYPiNja00xsXDi0T9zsEWVt06ApjtSdSF6HDddlu5S12QjeN8Tow==";
+      };
+    };
+    "@graphql-tools/merge-8.0.3" = {
       name = "_at_graphql-tools_slash_merge";
       packageName = "@graphql-tools/merge";
-      version = "6.2.14";
+      version = "8.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.0.3.tgz";
+        sha512 = "lVMyW9cREs+nQYbUvMaaqSl+pRCezl2RafNMFi/04akjvOtjVefdi7n3pArpSqPhLHPJDyQRlI8CK8cmOZ9jTA==";
+      };
+    };
+    "@graphql-tools/mock-8.2.2" = {
+      name = "_at_graphql-tools_slash_mock";
+      packageName = "@graphql-tools/mock";
+      version = "8.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/merge/-/merge-6.2.14.tgz";
-        sha512 = "RWT4Td0ROJai2eR66NHejgf8UwnXJqZxXgDWDI+7hua5vNA2OW8Mf9K1Wav1ZkjWnuRp4ztNtkZGie5ISw55ow==";
+        url = "https://registry.npmjs.org/@graphql-tools/mock/-/mock-8.2.2.tgz";
+        sha512 = "3cUJi14UHW1/8mebbXlAqfZl78IxeKzF2QlcJV5PSRQe27Dp/UnkHyid1UH/iwBdA98J7l0uw8NU1MRRVjhjIA==";
       };
     };
     "@graphql-tools/schema-7.1.5" = {
@@ -2596,6 +2767,15 @@ let
         sha512 = "uyn3HSNSckf4mvQSq0Q07CPaVZMNFCYEVxroApOaw802m9DcZPgf9XVPy/gda5GWj9AhbijfRYVTZQgHnJ4CXA==";
       };
     };
+    "@graphql-tools/schema-8.1.2" = {
+      name = "_at_graphql-tools_slash_schema";
+      packageName = "@graphql-tools/schema";
+      version = "8.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@graphql-tools/schema/-/schema-8.1.2.tgz";
+        sha512 = "rX2pg42a0w7JLVYT+f/yeEKpnoZL5PpLq68TxC3iZ8slnNBNjfVfvzzOn8Q8Q6Xw3t17KP9QespmJEDfuQe4Rg==";
+      };
+    };
     "@graphql-tools/url-loader-6.10.1" = {
       name = "_at_graphql-tools_slash_url-loader";
       packageName = "@graphql-tools/url-loader";
@@ -2623,6 +2803,24 @@ let
         sha512 = "d334r6bo9mxdSqZW6zWboEnnOOFRrAPVQJ7LkU8/6grglrbcu6WhwCLzHb90E94JI3TD3ricC3YGbUqIi9Xg0w==";
       };
     };
+    "@graphql-tools/utils-8.0.2" = {
+      name = "_at_graphql-tools_slash_utils";
+      packageName = "@graphql-tools/utils";
+      version = "8.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.0.2.tgz";
+        sha512 = "gzkavMOgbhnwkHJYg32Adv6f+LxjbQmmbdD5Hty0+CWxvaiuJq+nU6tzb/7VSU4cwhbNLx/lGu2jbCPEW1McZQ==";
+      };
+    };
+    "@graphql-tools/utils-8.1.2" = {
+      name = "_at_graphql-tools_slash_utils";
+      packageName = "@graphql-tools/utils";
+      version = "8.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.1.2.tgz";
+        sha512 = "3G+NIBR5mHjPm78jAD0l07JRE0XH+lr9m7yL/wl69jAzK0Jr/H+/Ok4ljEolI70iglz+ZhIShVPAwyesF6rnFg==";
+      };
+    };
     "@graphql-tools/wrap-7.0.8" = {
       name = "_at_graphql-tools_slash_wrap";
       packageName = "@graphql-tools/wrap";
@@ -2632,6 +2830,15 @@ let
         sha512 = "1NDUymworsOlb53Qfh7fonDi2STvqCtbeE68ntKY9K/Ju/be2ZNxrFSbrBHwnxWcN9PjISNnLcAyJ1L5tCUyhg==";
       };
     };
+    "@graphql-typed-document-node/core-3.1.0" = {
+      name = "_at_graphql-typed-document-node_slash_core";
+      packageName = "@graphql-typed-document-node/core";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.1.0.tgz";
+        sha512 = "wYn6r8zVZyQJ6rQaALBEln5B1pzxb9shV5Ef97kTvn6yVGrqyXVnDqnU24MXnFubR+rZjBY9NWuxX3FB2sTsjg==";
+      };
+    };
     "@grpc/grpc-js-1.3.2" = {
       name = "_at_grpc_slash_grpc-js";
       packageName = "@grpc/grpc-js";
@@ -2650,22 +2857,22 @@ let
         sha512 = "AxtZcm0mArQhY9z8T3TynCYVEaSKxNCa9mVhVwBCUnsuUEe8Zn94bPYYKVQSLt+hJJ1y0ukr3mUvtWfcATL/IQ==";
       };
     };
-    "@grpc/grpc-js-1.3.5" = {
+    "@grpc/grpc-js-1.3.6" = {
       name = "_at_grpc_slash_grpc-js";
       packageName = "@grpc/grpc-js";
-      version = "1.3.5";
+      version = "1.3.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.3.5.tgz";
-        sha512 = "V29L2QNKkLWM3bcJfVFMSo+Z7kkO8A1s7MAfdzBXLYEC1PE5/M0n1iXBDiD5aUtyVLh5GILcbme2bGtIHl0FMQ==";
+        url = "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.3.6.tgz";
+        sha512 = "v7+LQFbqZKmd/Tvf5/j1Xlbq6jXL/4d+gUtm2TNX4QiEC3ELWADmGr2dGlUyLl6aKTuYfsN72vAsO5zmavYkEg==";
       };
     };
-    "@grpc/grpc-js-1.3.6" = {
+    "@grpc/grpc-js-1.3.7" = {
       name = "_at_grpc_slash_grpc-js";
       packageName = "@grpc/grpc-js";
-      version = "1.3.6";
+      version = "1.3.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.3.6.tgz";
-        sha512 = "v7+LQFbqZKmd/Tvf5/j1Xlbq6jXL/4d+gUtm2TNX4QiEC3ELWADmGr2dGlUyLl6aKTuYfsN72vAsO5zmavYkEg==";
+        url = "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.3.7.tgz";
+        sha512 = "CKQVuwuSPh40tgOkR7c0ZisxYRiN05PcKPW72mQL5y++qd7CwBRoaJZvU5xfXnCJDFBmS3qZGQ71Frx6Ofo2XA==";
       };
     };
     "@grpc/proto-loader-0.6.2" = {
@@ -2740,15 +2947,6 @@ let
         sha512 = "1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==";
       };
     };
-    "@hapi/formula-1.2.0" = {
-      name = "_at_hapi_slash_formula";
-      packageName = "@hapi/formula";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@hapi/formula/-/formula-1.2.0.tgz";
-        sha512 = "UFbtbGPjstz0eWHb+ga/GM3Z9EzqKXFWIbSOFURU0A/Gku0Bky4bCk9/h//K2Xr3IrCfjFNhMm4jyZ5dbCewGA==";
-      };
-    };
     "@hapi/hoek-8.5.1" = {
       name = "_at_hapi_slash_hoek";
       packageName = "@hapi/hoek";
@@ -2776,24 +2974,6 @@ let
         sha512 = "entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==";
       };
     };
-    "@hapi/joi-16.1.8" = {
-      name = "_at_hapi_slash_joi";
-      packageName = "@hapi/joi";
-      version = "16.1.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@hapi/joi/-/joi-16.1.8.tgz";
-        sha512 = "wAsVvTPe+FwSrsAurNt5vkg3zo+TblvC5Bb1zMVK6SJzZqw9UrJnexxR+76cpePmtUZKHAPxcQ2Bf7oVHyahhg==";
-      };
-    };
-    "@hapi/pinpoint-1.0.2" = {
-      name = "_at_hapi_slash_pinpoint";
-      packageName = "@hapi/pinpoint";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@hapi/pinpoint/-/pinpoint-1.0.2.tgz";
-        sha512 = "dtXC/WkZBfC5vxscazuiJ6iq4j9oNx1SHknmIr8hofarpKUZKmlUVYVIhNVzIEgK5Wrc4GMHL5lZtt1uS2flmQ==";
-      };
-    };
     "@hapi/topo-3.1.6" = {
       name = "_at_hapi_slash_topo";
       packageName = "@hapi/topo";
@@ -2821,6 +3001,15 @@ let
         sha512 = "2JYy//YE2YINTe21hpdVMBNc7aYFkgDeY9JUz/BCjFZmYLn0UjGaCc4BpTcMGXNJwuqoUenw2WGOFGHsJqlIDw==";
       };
     };
+    "@hpcc-js/wasm-1.4.1" = {
+      name = "_at_hpcc-js_slash_wasm";
+      packageName = "@hpcc-js/wasm";
+      version = "1.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@hpcc-js/wasm/-/wasm-1.4.1.tgz";
+        sha512 = "WYeIuG/B1B1cTcM9D9bC6qDFSZnEcJ9R3SpTW5jh10sTh0hD1h1t/dZudfLwarJD+ce8q4/BP43BplbP3CeNkQ==";
+      };
+    };
     "@humanwhocodes/config-array-0.5.0" = {
       name = "_at_humanwhocodes_slash_config-array";
       packageName = "@humanwhocodes/config-array";
@@ -2911,6 +3100,15 @@ let
         sha512 = "TvRRRd//a3q+JhpSh5PaHJfnP4oLM/0eZikyDh2Z+eaJpIZP+vZwdlpPd10neTsPq1zfJX8weRjYLFHNpoMZVg==";
       };
     };
+    "@hypnosphi/create-react-context-0.3.1" = {
+      name = "_at_hypnosphi_slash_create-react-context";
+      packageName = "@hypnosphi/create-react-context";
+      version = "0.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@hypnosphi/create-react-context/-/create-react-context-0.3.1.tgz";
+        sha512 = "V1klUed202XahrWJLLOT3EXNeCpFHCcJntdFGI15ntCwau+jfT386w7OFTMaCqOgXUH1fa0w/I1oZs+i/Rfr0A==";
+      };
+    };
     "@iarna/toml-2.2.5" = {
       name = "_at_iarna_slash_toml";
       packageName = "@iarna/toml";
@@ -3037,13 +3235,13 @@ let
         sha512 = "ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==";
       };
     };
-    "@jcubic/lily-0.1.0" = {
+    "@jcubic/lily-0.2.0" = {
       name = "_at_jcubic_slash_lily";
       packageName = "@jcubic/lily";
-      version = "0.1.0";
+      version = "0.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jcubic/lily/-/lily-0.1.0.tgz";
-        sha512 = "kIsp4dmIUHn3YHIqFhEylY+mgI988KcYI8f19og7LqmLzkouPZNBip/oL8iemElie0gqx5CeQ5HxZv/SuNkOaA==";
+        url = "https://registry.npmjs.org/@jcubic/lily/-/lily-0.2.0.tgz";
+        sha512 = "KV+CBO6epprxj0AHBDOUI5vfcJZPfhuK5Bdf+AqoJFIVBapSJjuHlZsMGLGLTHCQW48oYvwv8wCC/olzRC/Ndw==";
       };
     };
     "@jest/transform-25.5.1" = {
@@ -3055,15 +3253,6 @@ let
         sha512 = "Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg==";
       };
     };
-    "@jest/types-24.9.0" = {
-      name = "_at_jest_slash_types";
-      packageName = "@jest/types";
-      version = "24.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz";
-        sha512 = "XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==";
-      };
-    };
     "@jest/types-25.5.0" = {
       name = "_at_jest_slash_types";
       packageName = "@jest/types";
@@ -3082,346 +3271,58 @@ let
         sha512 = "fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==";
       };
     };
-    "@jimp/bmp-0.12.1" = {
-      name = "_at_jimp_slash_bmp";
-      packageName = "@jimp/bmp";
-      version = "0.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jimp/bmp/-/bmp-0.12.1.tgz";
-        sha512 = "t16IamuBMv4GiGa1VAMzsgrVKVANxXG81wXECzbikOUkUv7pKJ2vHZDgkLBEsZQ9sAvFCneM1+yoSRpuENrfVQ==";
-      };
-    };
-    "@jimp/core-0.12.1" = {
-      name = "_at_jimp_slash_core";
-      packageName = "@jimp/core";
-      version = "0.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jimp/core/-/core-0.12.1.tgz";
-        sha512 = "mWfjExYEjHxBal+1gPesGChOQBSpxO7WUQkrO9KM7orboitOdQ15G5UA75ce7XVZ+5t+FQPOLmVkVZzzTQSEJA==";
-      };
-    };
-    "@jimp/custom-0.12.1" = {
-      name = "_at_jimp_slash_custom";
-      packageName = "@jimp/custom";
-      version = "0.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jimp/custom/-/custom-0.12.1.tgz";
-        sha512 = "bVClp8FEJ/11GFTKeRTrfH7NgUWvVO5/tQzO/68aOwMIhbz9BOYQGh533K9+mSy29VjZJo8jxZ0C9ZwYHuFwfA==";
-      };
-    };
-    "@jimp/gif-0.12.1" = {
-      name = "_at_jimp_slash_gif";
-      packageName = "@jimp/gif";
-      version = "0.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jimp/gif/-/gif-0.12.1.tgz";
-        sha512 = "cGn/AcvMGUGcqR6ByClGSnrja4AYmTwsGVXTQ1+EmfAdTiy6ztGgZCTDpZ/tq4SpdHXwm9wDHez7damKhTrH0g==";
-      };
-    };
-    "@jimp/jpeg-0.12.1" = {
-      name = "_at_jimp_slash_jpeg";
-      packageName = "@jimp/jpeg";
-      version = "0.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jimp/jpeg/-/jpeg-0.12.1.tgz";
-        sha512 = "UoCUHbKLj2CDCETd7LrJnmK/ExDsSfJXmc1pKkfgomvepjXogdl2KTHf141wL6D+9CfSD2VBWQLC5TvjMvcr9A==";
-      };
-    };
-    "@jimp/plugin-blit-0.12.1" = {
-      name = "_at_jimp_slash_plugin-blit";
-      packageName = "@jimp/plugin-blit";
-      version = "0.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jimp/plugin-blit/-/plugin-blit-0.12.1.tgz";
-        sha512 = "VRBB6bx6EpQuaH0WX8ytlGNqUQcmuxXBbzL3e+cD0W6MluYibzQy089okvXcyUS72Q+qpSMmUDCVr3pDqLAsSA==";
-      };
-    };
-    "@jimp/plugin-blur-0.12.1" = {
-      name = "_at_jimp_slash_plugin-blur";
-      packageName = "@jimp/plugin-blur";
-      version = "0.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jimp/plugin-blur/-/plugin-blur-0.12.1.tgz";
-        sha512 = "rTFY0yrwVJFNgNsAlYGn2GYCRLVEcPQ6cqAuhNylXuR/7oH3Acul+ZWafeKtvN8D8uMlth/6VP74gruXvwffZw==";
-      };
-    };
-    "@jimp/plugin-circle-0.12.1" = {
-      name = "_at_jimp_slash_plugin-circle";
-      packageName = "@jimp/plugin-circle";
-      version = "0.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jimp/plugin-circle/-/plugin-circle-0.12.1.tgz";
-        sha512 = "+/OiBDjby7RBbQoDX8ZsqJRr1PaGPdTaaKUVGAsrE7KCNO9ODYNFAizB9lpidXkGgJ4Wx5R4mJy21i22oY/a4Q==";
-      };
-    };
-    "@jimp/plugin-color-0.12.1" = {
-      name = "_at_jimp_slash_plugin-color";
-      packageName = "@jimp/plugin-color";
-      version = "0.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jimp/plugin-color/-/plugin-color-0.12.1.tgz";
-        sha512 = "xlnK/msWN4uZ+Bu7+UrCs9oMzTSA9QE0jWFnF3h0aBsD8t1LGxozkckHe8nHtC/y/sxIa8BGKSfkiaW+r6FbnA==";
-      };
-    };
-    "@jimp/plugin-contain-0.12.1" = {
-      name = "_at_jimp_slash_plugin-contain";
-      packageName = "@jimp/plugin-contain";
-      version = "0.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jimp/plugin-contain/-/plugin-contain-0.12.1.tgz";
-        sha512 = "WZ/D6G0jhnBh2bkBh610PEh/caGhAUIAxYLsQsfSSlOxPsDhbj3S6hMbFKRgnDvf0hsd5zTIA0j1B0UG4kh18A==";
-      };
-    };
-    "@jimp/plugin-cover-0.12.1" = {
-      name = "_at_jimp_slash_plugin-cover";
-      packageName = "@jimp/plugin-cover";
-      version = "0.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jimp/plugin-cover/-/plugin-cover-0.12.1.tgz";
-        sha512 = "ddWwTQO40GcabJ2UwUYCeuNxnjV4rBTiLprnjGMqAJCzdz3q3Sp20FkRf+H+E22k2v2LHss8dIOFOF4i6ycr9Q==";
-      };
-    };
-    "@jimp/plugin-crop-0.12.1" = {
-      name = "_at_jimp_slash_plugin-crop";
-      packageName = "@jimp/plugin-crop";
-      version = "0.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jimp/plugin-crop/-/plugin-crop-0.12.1.tgz";
-        sha512 = "CKjVkrNO8FDZKYVpMireQW4SgKBSOdF+Ip/1sWssHHe77+jGEKqOjhYju+VhT3dZJ3+75rJNI9II7Kethp+rTw==";
-      };
-    };
-    "@jimp/plugin-displace-0.12.1" = {
-      name = "_at_jimp_slash_plugin-displace";
-      packageName = "@jimp/plugin-displace";
-      version = "0.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jimp/plugin-displace/-/plugin-displace-0.12.1.tgz";
-        sha512 = "MQAw2iuf1/bVJ6P95WWTLA+WBjvIZ7TeGBerkvBaTK8oWdj+NSLNRIYOIoyPbZ7DTL8f1SN4Vd6KD6BZaoWrwg==";
-      };
-    };
-    "@jimp/plugin-dither-0.12.1" = {
-      name = "_at_jimp_slash_plugin-dither";
-      packageName = "@jimp/plugin-dither";
-      version = "0.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jimp/plugin-dither/-/plugin-dither-0.12.1.tgz";
-        sha512 = "mCrBHdx2ViTLJDLcrobqGLlGhZF/Mq41bURWlElQ2ArvrQ3/xR52We9DNDfC08oQ2JVb6q3v1GnCCdn0KNojGQ==";
-      };
-    };
-    "@jimp/plugin-fisheye-0.12.1" = {
-      name = "_at_jimp_slash_plugin-fisheye";
-      packageName = "@jimp/plugin-fisheye";
-      version = "0.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jimp/plugin-fisheye/-/plugin-fisheye-0.12.1.tgz";
-        sha512 = "CHvYSXtHNplzkkYzB44tENPDmvfUHiYCnAETTY+Hx58kZ0w8ERZ+OiLhUmiBcvH/QHm/US1iiNjgGUAfeQX6dg==";
-      };
-    };
-    "@jimp/plugin-flip-0.12.1" = {
-      name = "_at_jimp_slash_plugin-flip";
-      packageName = "@jimp/plugin-flip";
-      version = "0.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jimp/plugin-flip/-/plugin-flip-0.12.1.tgz";
-        sha512 = "xi+Yayrnln8A/C9E3yQBExjxwBSeCkt/ZQg1CxLgszVyX/3Zo8+nkV8MJYpkTpj8LCZGTOKlsE05mxu/a3lbJQ==";
-      };
-    };
-    "@jimp/plugin-gaussian-0.12.1" = {
-      name = "_at_jimp_slash_plugin-gaussian";
-      packageName = "@jimp/plugin-gaussian";
-      version = "0.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jimp/plugin-gaussian/-/plugin-gaussian-0.12.1.tgz";
-        sha512 = "7O6eKlhL37hsLfV6WAX1Cvce7vOqSwL1oWbBveC1agutDlrtvcTh1s2mQ4Pde654hCJu55mq1Ur10+ote5j3qw==";
-      };
-    };
-    "@jimp/plugin-invert-0.12.1" = {
-      name = "_at_jimp_slash_plugin-invert";
-      packageName = "@jimp/plugin-invert";
-      version = "0.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jimp/plugin-invert/-/plugin-invert-0.12.1.tgz";
-        sha512 = "JTAs7A1Erbxwl+7ph7tgcb2PZ4WzB+3nb2WbfiWU8iCrKj17mMDSc5soaCCycn8wfwqvgB1vhRfGpseOLWxsuQ==";
-      };
-    };
-    "@jimp/plugin-mask-0.12.1" = {
-      name = "_at_jimp_slash_plugin-mask";
-      packageName = "@jimp/plugin-mask";
-      version = "0.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jimp/plugin-mask/-/plugin-mask-0.12.1.tgz";
-        sha512 = "bnDdY0RO/x5Mhqoy+056SN1wEj++sD4muAKqLD2CIT8Zq5M/0TA4hkdf/+lwFy3H2C0YTK39PSE9xyb4jPX3kA==";
-      };
-    };
-    "@jimp/plugin-normalize-0.12.1" = {
-      name = "_at_jimp_slash_plugin-normalize";
-      packageName = "@jimp/plugin-normalize";
-      version = "0.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jimp/plugin-normalize/-/plugin-normalize-0.12.1.tgz";
-        sha512 = "4kSaI4JLM/PNjHwbnAHgyh51V5IlPfPxYvsZyZ1US32pebWtocxSMaSuOaJUg7OGSkwSDBv81UR2h5D+Dz1b5A==";
-      };
-    };
-    "@jimp/plugin-print-0.12.1" = {
-      name = "_at_jimp_slash_plugin-print";
-      packageName = "@jimp/plugin-print";
-      version = "0.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jimp/plugin-print/-/plugin-print-0.12.1.tgz";
-        sha512 = "T0lNS3qU9SwCHOEz7AGrdp50+gqiWGZibOL3350/X/dqoFs1EvGDjKVeWncsGCyLlpfd7M/AibHZgu8Fx2bWng==";
-      };
-    };
-    "@jimp/plugin-resize-0.12.1" = {
-      name = "_at_jimp_slash_plugin-resize";
-      packageName = "@jimp/plugin-resize";
-      version = "0.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jimp/plugin-resize/-/plugin-resize-0.12.1.tgz";
-        sha512 = "sbNn4tdBGcgGlPt9XFxCuDl4ZOoxa8/Re8nAikyxYhRss2Dqz91ARbBQxOf1vlUGeicQMsjEuWbPQAogTSJRug==";
-      };
-    };
-    "@jimp/plugin-rotate-0.12.1" = {
-      name = "_at_jimp_slash_plugin-rotate";
-      packageName = "@jimp/plugin-rotate";
-      version = "0.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jimp/plugin-rotate/-/plugin-rotate-0.12.1.tgz";
-        sha512 = "RYkLzwG2ervG6hHy8iepbIVeWdT1kz4Qz044eloqo6c66MK0KAqp228YI8+CAKm0joQnVDC/A0FgRIj/K8uyAw==";
-      };
-    };
-    "@jimp/plugin-scale-0.12.1" = {
-      name = "_at_jimp_slash_plugin-scale";
-      packageName = "@jimp/plugin-scale";
-      version = "0.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jimp/plugin-scale/-/plugin-scale-0.12.1.tgz";
-        sha512 = "zjNVI1fUj+ywfG78T1ZU33g9a5sk4rhEQkkhtny8koAscnVsDN2YaZEKoFli54kqaWh5kSS5DDL7a/9pEfXnFQ==";
-      };
-    };
-    "@jimp/plugin-shadow-0.12.1" = {
-      name = "_at_jimp_slash_plugin-shadow";
-      packageName = "@jimp/plugin-shadow";
-      version = "0.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jimp/plugin-shadow/-/plugin-shadow-0.12.1.tgz";
-        sha512 = "Z82IwvunXWQ2jXegd3W3TYUXpfJcEvNbHodr7Z+oVnwhM1OoQ5QC6RSRQwsj2qXIhbGffQjH8eguHgEgAV+u5w==";
-      };
-    };
-    "@jimp/plugin-threshold-0.12.1" = {
-      name = "_at_jimp_slash_plugin-threshold";
-      packageName = "@jimp/plugin-threshold";
-      version = "0.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jimp/plugin-threshold/-/plugin-threshold-0.12.1.tgz";
-        sha512 = "PFezt5fSk0q+xKvdpuv0eLggy2I7EgYotrK8TRZOT0jimuYFXPF0Z514c6szumoW5kEsRz04L1HkPT1FqI97Yg==";
-      };
-    };
-    "@jimp/plugins-0.12.1" = {
-      name = "_at_jimp_slash_plugins";
-      packageName = "@jimp/plugins";
-      version = "0.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jimp/plugins/-/plugins-0.12.1.tgz";
-        sha512 = "7+Yp29T6BbYo+Oqnc+m7A5AH+O+Oy5xnxvxlfmsp48+SuwEZ4akJp13Gu2PSmRlylENzR7MlWOxzhas5ERNlIg==";
-      };
-    };
-    "@jimp/png-0.12.1" = {
-      name = "_at_jimp_slash_png";
-      packageName = "@jimp/png";
-      version = "0.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jimp/png/-/png-0.12.1.tgz";
-        sha512 = "tOUSJMJzcMAN82F9/Q20IToquIVWzvOe/7NIpVQJn6m+Lq6TtVmd7d8gdcna9AEFm2FIza5lhq2Kta6Xj0KXhQ==";
-      };
-    };
-    "@jimp/tiff-0.12.1" = {
-      name = "_at_jimp_slash_tiff";
-      packageName = "@jimp/tiff";
-      version = "0.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jimp/tiff/-/tiff-0.12.1.tgz";
-        sha512 = "bzWDgv3202TKhaBGzV9OFF0PVQWEb4194h9kv5js348SSnbCusz/tzTE1EwKrnbDZThZPgTB1ryKs7D+Q9Mhmg==";
-      };
-    };
-    "@jimp/types-0.12.1" = {
-      name = "_at_jimp_slash_types";
-      packageName = "@jimp/types";
-      version = "0.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jimp/types/-/types-0.12.1.tgz";
-        sha512 = "hg5OKXpWWeKGuDrfibrjWWhr7hqb7f552wqnPWSLQpVrdWgjH+hpOv6cOzdo9bsU78qGTelZJPxr0ERRoc+MhQ==";
-      };
-    };
-    "@jimp/utils-0.12.1" = {
-      name = "_at_jimp_slash_utils";
-      packageName = "@jimp/utils";
-      version = "0.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jimp/utils/-/utils-0.12.1.tgz";
-        sha512 = "EjPkDQOzV/oZfbolEUgFT6SE++PtCccVBvjuACkttyCfl0P2jnpR49SwstyVLc2u8AwBAZEHHAw9lPYaMjtbXQ==";
-      };
-    };
-    "@joplin/fork-htmlparser2-4.1.28" = {
+    "@joplin/fork-htmlparser2-4.1.33" = {
       name = "_at_joplin_slash_fork-htmlparser2";
       packageName = "@joplin/fork-htmlparser2";
-      version = "4.1.28";
+      version = "4.1.33";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@joplin/fork-htmlparser2/-/fork-htmlparser2-4.1.28.tgz";
-        sha512 = "aY8o+hi42Rn0BCcjI33nXC/tHwm1mYoAMrqnEfNVQ1ZDGJbbKVnYWADf6o5tGMR+Klkn9lbbR9tn+U8hKHbFhA==";
+        url = "https://registry.npmjs.org/@joplin/fork-htmlparser2/-/fork-htmlparser2-4.1.33.tgz";
+        sha512 = "Q5GR6mVKS/1JgNTHtS0hc08YexfVZIq9RAj9j33Zm9SXEDstXn0WP4UpULCWLYOen3ffJ2z4uv9a2vLKcvbbIg==";
       };
     };
-    "@joplin/fork-sax-1.2.32" = {
+    "@joplin/fork-sax-1.2.37" = {
       name = "_at_joplin_slash_fork-sax";
       packageName = "@joplin/fork-sax";
-      version = "1.2.32";
+      version = "1.2.37";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@joplin/fork-sax/-/fork-sax-1.2.32.tgz";
-        sha512 = "N6Nk2qdsmCM31zIYjyIEH2hTSFd9rZv6tcvN9bjsuxTQ97WW74d6fI8+ReBWz2cFs7joXxaPay0iNwwDDXV0Kg==";
+        url = "https://registry.npmjs.org/@joplin/fork-sax/-/fork-sax-1.2.37.tgz";
+        sha512 = "3S71WcFLsZQ4tlZ7LNZRBoEE0LJJL8gxhqwAKZXKYTF5syShZDNWwSpntB4AoFWry3L0I+HnjXm2psQfQzo15Q==";
       };
     };
-    "@joplin/lib-2.1.1" = {
+    "@joplin/lib-2.3.1" = {
       name = "_at_joplin_slash_lib";
       packageName = "@joplin/lib";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@joplin/lib/-/lib-2.1.1.tgz";
-        sha512 = "mePMxOEC7+T7gTRuIO3ZWxkyDhAhuoNNGi3wsf4g633TcYD0SEX9peokCdjAnQC5l4BjrqxmgY1qTmk2sx+9TA==";
-      };
-    };
-    "@joplin/renderer-1.8.2" = {
-      name = "_at_joplin_slash_renderer";
-      packageName = "@joplin/renderer";
-      version = "1.8.2";
+      version = "2.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@joplin/renderer/-/renderer-1.8.2.tgz";
-        sha512 = "Khl2DoM1aFEy15RX9JaMaYinjoNEYQHOgQqzMHq4wuWr+QuAQaX8/SofTe1FU2rS4SJrkObPA+XPavhVSAxpOQ==";
+        url = "https://registry.npmjs.org/@joplin/lib/-/lib-2.3.1.tgz";
+        sha512 = "/OIyf4AdF/JLFf+ZTYsusrjl5XCDV20wwi0JnvxnySYgG9Y4GgNusDPI0/77+rj+KQA/E91FzGeWoSDc5XOUsA==";
       };
     };
-    "@joplin/renderer-2.1.1" = {
+    "@joplin/renderer-2.3.1" = {
       name = "_at_joplin_slash_renderer";
       packageName = "@joplin/renderer";
-      version = "2.1.1";
+      version = "2.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@joplin/renderer/-/renderer-2.1.1.tgz";
-        sha512 = "XxmquKGZxlrjUorx924ogAACc39p22pzWp06DJX/eElU2kLZ/s+RC0EXAFj503EuDj/dd2voV+Tciz0wfCPc0Q==";
+        url = "https://registry.npmjs.org/@joplin/renderer/-/renderer-2.3.1.tgz";
+        sha512 = "wOxuScEao2f3kIs+A0qroWe6CiWs1LeZqwBz/w869Qi8MW8wvy2aeyirpnb7yEYh9aCevfiQcUMUvYZ9ekMskg==";
       };
     };
-    "@joplin/turndown-4.0.50" = {
+    "@joplin/turndown-4.0.55" = {
       name = "_at_joplin_slash_turndown";
       packageName = "@joplin/turndown";
-      version = "4.0.50";
+      version = "4.0.55";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@joplin/turndown/-/turndown-4.0.50.tgz";
-        sha512 = "oqMCmkudn3OUxkI68mbBy5AWqnmgWBlIL9lz3XSoq3iYJZdXYCDyYUA0Wb64eRHf6muUN8V23WdeVjc02dsbEQ==";
+        url = "https://registry.npmjs.org/@joplin/turndown/-/turndown-4.0.55.tgz";
+        sha512 = "9IgtCAQXzCtkXNE+/4q6dWnbt90kvZIefTLFXLxE+w/gLbBDxSmTCfhCCFPzUA1ORp3LkAJZIiE710fRM0O3gg==";
       };
     };
-    "@joplin/turndown-plugin-gfm-1.0.32" = {
+    "@joplin/turndown-plugin-gfm-1.0.37" = {
       name = "_at_joplin_slash_turndown-plugin-gfm";
       packageName = "@joplin/turndown-plugin-gfm";
-      version = "1.0.32";
+      version = "1.0.37";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@joplin/turndown-plugin-gfm/-/turndown-plugin-gfm-1.0.32.tgz";
-        sha512 = "5jodAeZz90xt4p5FSvnRi4V1NyiPS0L9O7WufG8lN55sacZ9pkXUvELex4PQ7kiHvmOv67x4XcvTjfqX/mnKnA==";
+        url = "https://registry.npmjs.org/@joplin/turndown-plugin-gfm/-/turndown-plugin-gfm-1.0.37.tgz";
+        sha512 = "LRiIezmtnJSdczIT3mPuCvUIdFT01lDYTBDdSNGwBheNt7R9tYIj0nh87OnpBGztktIIsOH/66nbB8KQjVtisQ==";
       };
     };
     "@josephg/resolvable-1.0.1" = {
@@ -3442,13 +3343,22 @@ let
         sha512 = "4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==";
       };
     };
-    "@jsii/spec-1.31.0" = {
+    "@jsii/check-node-1.34.0" = {
+      name = "_at_jsii_slash_check-node";
+      packageName = "@jsii/check-node";
+      version = "1.34.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jsii/check-node/-/check-node-1.34.0.tgz";
+        sha512 = "Z+eGyIoV6B6RNFCR+Z/p0ANnZA++bmCXhoU1RIwGh9RG39PAT38KkZZNr9ZHNTTQbVoTJMSatoX/9WQ33pQxAw==";
+      };
+    };
+    "@jsii/spec-1.34.0" = {
       name = "_at_jsii_slash_spec";
       packageName = "@jsii/spec";
-      version = "1.31.0";
+      version = "1.34.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jsii/spec/-/spec-1.31.0.tgz";
-        sha512 = "qpJqZ+xj4lnKfk/HJYdYURDmHzh9aBIVOTgwd314AxKmwubDAajlAup+D2F9z9kylAB7GsQiva/SXgUlFjBeQw==";
+        url = "https://registry.npmjs.org/@jsii/spec/-/spec-1.34.0.tgz";
+        sha512 = "yAK8FrTRrZ3lQ+DmdyAFZuHmsTJ1ej0719+sVgjr5ahE9i64huStaraX/jJM+PniuUQwE7N+B49ue6X9qj7vJA==";
       };
     };
     "@kwsites/file-exists-1.1.1" = {
@@ -4009,6 +3919,24 @@ let
         sha512 = "XRG5BloiArpXRakcnPHmEHJp+4AtnhRtpDIHSghmXD5EichI1uD73J7FgPp30mm2pDRq3FdqB0NbwSEsJ9xFQg==";
       };
     };
+    "@librescore/fonts-0.4.1" = {
+      name = "_at_librescore_slash_fonts";
+      packageName = "@librescore/fonts";
+      version = "0.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@librescore/fonts/-/fonts-0.4.1.tgz";
+        sha512 = "S4Ico0Tmkk5YXPL58mw71LMYtls8WfNRF0KM1l8ZO+tx2iN0jXv2YF2iqKBVgU26L2/ihWIjIc+uHl7Ve9K38w==";
+      };
+    };
+    "@librescore/sf3-0.3.0" = {
+      name = "_at_librescore_slash_sf3";
+      packageName = "@librescore/sf3";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@librescore/sf3/-/sf3-0.3.0.tgz";
+        sha512 = "fkAZCkkpB90Nepvfd2NqwAF6wa3O+/ofhBDeQd7+79JwEtBqhCVGfa/xVb2j1mUscxmTIqwo1WIJtKM7YgGYsw==";
+      };
+    };
     "@malept/cross-spawn-promise-1.1.1" = {
       name = "_at_malept_slash_cross-spawn-promise";
       packageName = "@malept/cross-spawn-promise";
@@ -4027,6 +3955,78 @@ let
         sha512 = "1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg==";
       };
     };
+    "@mapbox/extent-0.4.0" = {
+      name = "_at_mapbox_slash_extent";
+      packageName = "@mapbox/extent";
+      version = "0.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@mapbox/extent/-/extent-0.4.0.tgz";
+        sha1 = "3e591f32e1f0c3981c864239f7b0ac06e610f8a9";
+      };
+    };
+    "@mapbox/geojson-coords-0.0.1" = {
+      name = "_at_mapbox_slash_geojson-coords";
+      packageName = "@mapbox/geojson-coords";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@mapbox/geojson-coords/-/geojson-coords-0.0.1.tgz";
+        sha512 = "cdMlqmDl1vzAl2E0XC2zIuqM74vdet0Dq2el49haJEVbGpC8se40j5UcsnBK/gsvZzrume30fon1u/aSYMXG4Q==";
+      };
+    };
+    "@mapbox/geojson-extent-1.0.0" = {
+      name = "_at_mapbox_slash_geojson-extent";
+      packageName = "@mapbox/geojson-extent";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@mapbox/geojson-extent/-/geojson-extent-1.0.0.tgz";
+        sha512 = "OWW/Tw7OkKHoogXjQJNILjLd2d4JZzO/elc5Qr08VNwFSIPpSnJgyaEGO2xRPqNuWDLr4RocuqmC0FcQWPgeOA==";
+      };
+    };
+    "@mapbox/geojson-normalize-0.0.1" = {
+      name = "_at_mapbox_slash_geojson-normalize";
+      packageName = "@mapbox/geojson-normalize";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@mapbox/geojson-normalize/-/geojson-normalize-0.0.1.tgz";
+        sha1 = "1da1e6b3a7add3ad29909b30f438f60581b7cd80";
+      };
+    };
+    "@mapbox/geojson-rewind-0.5.1" = {
+      name = "_at_mapbox_slash_geojson-rewind";
+      packageName = "@mapbox/geojson-rewind";
+      version = "0.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@mapbox/geojson-rewind/-/geojson-rewind-0.5.1.tgz";
+        sha512 = "eL7fMmfTBKjrb+VFHXCGv9Ot0zc3C0U+CwXo1IrP+EPwDczLoXv34Tgq3y+2mPSFNVUXgU42ILWJTC7145KPTA==";
+      };
+    };
+    "@mapbox/geojson-types-1.0.2" = {
+      name = "_at_mapbox_slash_geojson-types";
+      packageName = "@mapbox/geojson-types";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@mapbox/geojson-types/-/geojson-types-1.0.2.tgz";
+        sha512 = "e9EBqHHv3EORHrSfbR9DqecPNn+AmuAoQxV6aL8Xu30bJMJR1o8PZLZzpk1Wq7/NfCbuhmakHTPYRhoqLsXRnw==";
+      };
+    };
+    "@mapbox/jsonlint-lines-primitives-2.0.2" = {
+      name = "_at_mapbox_slash_jsonlint-lines-primitives";
+      packageName = "@mapbox/jsonlint-lines-primitives";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@mapbox/jsonlint-lines-primitives/-/jsonlint-lines-primitives-2.0.2.tgz";
+        sha1 = "ce56e539f83552b58d10d672ea4d6fc9adc7b234";
+      };
+    };
+    "@mapbox/mapbox-gl-supported-1.5.0" = {
+      name = "_at_mapbox_slash_mapbox-gl-supported";
+      packageName = "@mapbox/mapbox-gl-supported";
+      version = "1.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@mapbox/mapbox-gl-supported/-/mapbox-gl-supported-1.5.0.tgz";
+        sha512 = "/PT1P6DNf7vjEEiPkVIRJkvibbqWtqnyGaBz3nfRdcxclNSnSdaLU5tfAgcD7I8Yt5i+L19s406YLl1koLnLbg==";
+      };
+    };
     "@mapbox/node-pre-gyp-1.0.5" = {
       name = "_at_mapbox_slash_node-pre-gyp";
       packageName = "@mapbox/node-pre-gyp";
@@ -4036,6 +4036,51 @@ let
         sha512 = "4srsKPXWlIxp5Vbqz5uLfBN+du2fJChBoYn/f2h991WLdk7jUvcSk/McVLSv/X+xQIPI8eGD5GjrnygdyHnhPA==";
       };
     };
+    "@mapbox/point-geometry-0.1.0" = {
+      name = "_at_mapbox_slash_point-geometry";
+      packageName = "@mapbox/point-geometry";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@mapbox/point-geometry/-/point-geometry-0.1.0.tgz";
+        sha1 = "8a83f9335c7860effa2eeeca254332aa0aeed8f2";
+      };
+    };
+    "@mapbox/tiny-sdf-1.2.5" = {
+      name = "_at_mapbox_slash_tiny-sdf";
+      packageName = "@mapbox/tiny-sdf";
+      version = "1.2.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@mapbox/tiny-sdf/-/tiny-sdf-1.2.5.tgz";
+        sha512 = "cD8A/zJlm6fdJOk6DqPUV8mcpyJkRz2x2R+/fYcWDYG3oWbG7/L7Yl/WqQ1VZCjnL9OTIMAn6c+BC5Eru4sQEw==";
+      };
+    };
+    "@mapbox/unitbezier-0.0.0" = {
+      name = "_at_mapbox_slash_unitbezier";
+      packageName = "@mapbox/unitbezier";
+      version = "0.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@mapbox/unitbezier/-/unitbezier-0.0.0.tgz";
+        sha1 = "15651bd553a67b8581fb398810c98ad86a34524e";
+      };
+    };
+    "@mapbox/vector-tile-1.3.1" = {
+      name = "_at_mapbox_slash_vector-tile";
+      packageName = "@mapbox/vector-tile";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@mapbox/vector-tile/-/vector-tile-1.3.1.tgz";
+        sha512 = "MCEddb8u44/xfQ3oD+Srl/tNcQoqTw3goGk2oLsrFxOTc3dUp+kAnby3PvAeeBYSMSjSPD1nd1AJA6W49WnoUw==";
+      };
+    };
+    "@mapbox/whoots-js-3.1.0" = {
+      name = "_at_mapbox_slash_whoots-js";
+      packageName = "@mapbox/whoots-js";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@mapbox/whoots-js/-/whoots-js-3.1.0.tgz";
+        sha512 = "Es6WcD0nO5l+2BOQS4uLfNPYQaNDfbot3X1XUoloz+x0mPDS3eeORZJl06HXjwBG1fOGwCRnzK88LMdxKRrd6Q==";
+      };
+    };
     "@mark.probst/typescript-json-schema-0.32.0" = {
       name = "_at_mark.probst_slash_typescript-json-schema";
       packageName = "@mark.probst/typescript-json-schema";
@@ -4054,13 +4099,13 @@ let
         sha512 = "7AQsO0hMmpqDledV7AhBuSYqYPFsKP9PaltMecX9nlnsyFxqtsqUg9/pvB2L/jxvskrDrNkdKYz2KTbQznCtng==";
       };
     };
-    "@mdn/browser-compat-data-3.3.7" = {
+    "@mdn/browser-compat-data-3.3.14" = {
       name = "_at_mdn_slash_browser-compat-data";
       packageName = "@mdn/browser-compat-data";
-      version = "3.3.7";
+      version = "3.3.14";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-3.3.7.tgz";
-        sha512 = "X42YckpwhdWwWVWR3UpEUB21oIpYoKGMuswZb34yPcsMCySNwLqHnoE972q/UD8VwtpnmO69fsTFiRT2s1gjfA==";
+        url = "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-3.3.14.tgz";
+        sha512 = "n2RC9d6XatVbWFdHLimzzUJxJ1KY8LdjqrW6YvGPiRmsHkhOUx74/Ct10x5Yo7bC/Jvqx7cDEW8IMPv/+vwEzA==";
       };
     };
     "@mdx-js/util-2.0.0-next.8" = {
@@ -4090,13 +4135,13 @@ let
         sha512 = "W6CLUJ2eBMw3Rec70qrsEW0jOm/3twwJv21mrmj2yORiaVmVYGS4sSS5yUwvQc1ZlDLYGPnClVWmUUMagKNsfA==";
       };
     };
-    "@microsoft/load-themed-styles-1.10.195" = {
+    "@microsoft/load-themed-styles-1.10.203" = {
       name = "_at_microsoft_slash_load-themed-styles";
       packageName = "@microsoft/load-themed-styles";
-      version = "1.10.195";
+      version = "1.10.203";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@microsoft/load-themed-styles/-/load-themed-styles-1.10.195.tgz";
-        sha512 = "KDCKYsdIo3/ivmu4kzn/LmdttAOwz/bU2C1KywyKy8jHuTj/gU9LBD2htDNGbHQgKObOuqGTpUNNVpVe92Gghw==";
+        url = "https://registry.npmjs.org/@microsoft/load-themed-styles/-/load-themed-styles-1.10.203.tgz";
+        sha512 = "9UV+1kIAEdV1a8JI58iOpDc7mmFdgTW5qI4pAyL4Drk468ZCPmg/tHPbgAM/Pg8EtkWyIJm5E6KVofo+meavQQ==";
       };
     };
     "@mitmaro/errors-1.0.0" = {
@@ -4153,13 +4198,22 @@ let
         sha512 = "mlRYq9FSsOd4m+3wZWatemn3hGFZPWNJ4JQOdrir4rrMK2PyIk26idKBoUWrqF3HJJHl+5GpRU+M0wEruJwecg==";
       };
     };
-    "@nestjs/schematics-8.0.2" = {
+    "@napi-rs/triples-1.0.3" = {
+      name = "_at_napi-rs_slash_triples";
+      packageName = "@napi-rs/triples";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@napi-rs/triples/-/triples-1.0.3.tgz";
+        sha512 = "jDJTpta+P4p1NZTFVLHJ/TLFVYVcOqv6l8xwOeBKNPMgY/zDYH/YH7SJbvrr/h1RcS9GzbPcLKGzpuK9cV56UA==";
+      };
+    };
+    "@nestjs/schematics-8.0.3" = {
       name = "_at_nestjs_slash_schematics";
       packageName = "@nestjs/schematics";
-      version = "8.0.2";
+      version = "8.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@nestjs/schematics/-/schematics-8.0.2.tgz";
-        sha512 = "iWtpXfn1Zh4Vm37BzY8OSJ60Y9TqNOjk8J+KLIwcql9EuP+0C/C4WUn+vIQMfmnut3MxRmAYFE2B/LFYrjGC5Q==";
+        url = "https://registry.npmjs.org/@nestjs/schematics/-/schematics-8.0.3.tgz";
+        sha512 = "A5qyS9yv6v2RIBqbsyYG57NfYA8Jm/aypRV1nc7JXjhdfDHwWKqCsgQ/7/82vVjhlvVAfr5x/dpCWqcF3XYd7w==";
       };
     };
     "@netflix/nerror-1.1.3" = {
@@ -4171,31 +4225,31 @@ let
         sha512 = "b+MGNyP9/LXkapreJzNUzcvuzZslj/RGgdVVJ16P2wSlYatfLycPObImqVJSmNAdyeShvNeM/pl3sVZsObFueg==";
       };
     };
-    "@netlify/build-16.1.0" = {
+    "@netlify/build-18.6.0" = {
       name = "_at_netlify_slash_build";
       packageName = "@netlify/build";
-      version = "16.1.0";
+      version = "18.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/build/-/build-16.1.0.tgz";
-        sha512 = "FEPgiR2IoEC7fwCkAguMdWbiWwdAr6Zh1+mEFlgqTPAQDE6j/ji3elD8kuXwtdHHhC8U28YYOTZL6fCodlvRAw==";
+        url = "https://registry.npmjs.org/@netlify/build/-/build-18.6.0.tgz";
+        sha512 = "rUkJp68Q7Of6nWflbVRKhD/ZqAu3LGcxSYPX28Y94Q6LVnvz27dwF0gufkdDJX6cQk8P5OvIZJVYzfPQITfYow==";
       };
     };
-    "@netlify/cache-utils-1.0.7" = {
+    "@netlify/cache-utils-2.0.3" = {
       name = "_at_netlify_slash_cache-utils";
       packageName = "@netlify/cache-utils";
-      version = "1.0.7";
+      version = "2.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/cache-utils/-/cache-utils-1.0.7.tgz";
-        sha512 = "yrdrnQkzg/qMovoFYwQ24UVt/OyHtP+t0KpQFd7eBl6gnuuGGgxFocaFFv6eKpMVwzHTsOwx/y9B/FcC3/6cfA==";
+        url = "https://registry.npmjs.org/@netlify/cache-utils/-/cache-utils-2.0.3.tgz";
+        sha512 = "820dYhacTHXKxpYm81VlmCJ48ySGj+6GZi1oPLevdTSkMXGM1BphBKUjM/r9+GUE1ocGOh8Vdt3PsDp8f7gS4w==";
       };
     };
-    "@netlify/config-13.0.0" = {
+    "@netlify/config-15.5.0" = {
       name = "_at_netlify_slash_config";
       packageName = "@netlify/config";
-      version = "13.0.0";
+      version = "15.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/config/-/config-13.0.0.tgz";
-        sha512 = "d7NNG3lbvZN/w9eCRdlFKBY21Vpjxlwis08v5NJjkZpNTuuAuemNFrhZv2y5zmy33TM+zTrkaoEAk6vJ96R5cQ==";
+        url = "https://registry.npmjs.org/@netlify/config/-/config-15.5.0.tgz";
+        sha512 = "c+ICajSGQ7gD6O1V0wsl9SFxSC+owzg5JQyW9SBKV68nDxQBMwn31QHOHijopWeDPMQnp+gIHc2/wgwwtQ2YMQ==";
       };
     };
     "@netlify/esbuild-0.13.6" = {
@@ -4207,148 +4261,148 @@ let
         sha512 = "tiKmDcHM2riSVN79c0mJY/67EBDafXQAMitHuLiCDAMdtz3kfv+NqdVG5krgf5lWR8Uf8AeZrUW5Q9RP25REvw==";
       };
     };
-    "@netlify/framework-info-5.7.2" = {
+    "@netlify/framework-info-5.9.1" = {
       name = "_at_netlify_slash_framework-info";
       packageName = "@netlify/framework-info";
-      version = "5.7.2";
+      version = "5.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/framework-info/-/framework-info-5.7.2.tgz";
-        sha512 = "5yO26VRpeXmXorl1kNYbXxgFsJSNcrDaQVnAT9XPqZ5mb7vtjEP/ddEHkNpDsYBj/Y8VBPCvkPhDizg7UPenSw==";
+        url = "https://registry.npmjs.org/@netlify/framework-info/-/framework-info-5.9.1.tgz";
+        sha512 = "EBbR4grr0innWmKk43q5iLokcuJ1bZn/56KBz8WyKsarCvLkt6SqHaxXJp3Uab1D6Fhn0BTQBhIttb3KdyPGdQ==";
       };
     };
-    "@netlify/functions-utils-1.4.7" = {
+    "@netlify/functions-utils-2.0.2" = {
       name = "_at_netlify_slash_functions-utils";
       packageName = "@netlify/functions-utils";
-      version = "1.4.7";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/functions-utils/-/functions-utils-1.4.7.tgz";
-        sha512 = "e0y/iUsXWJq65ZUS3mn6ACJlQ6bfVSjtV6DO8Y194tevctnArtQA+F86L08zQklyhJbEV6cmyg4QbHhbLqTNOg==";
+        url = "https://registry.npmjs.org/@netlify/functions-utils/-/functions-utils-2.0.2.tgz";
+        sha512 = "mQI0NX0QPNVcYb2TQF5cpxO350BR9309r7vSOSvfn0DHkPWUea1kl3iiLXi1mm/dUC6pd3p5ctc0UboW0u+iVQ==";
       };
     };
-    "@netlify/git-utils-1.0.11" = {
+    "@netlify/git-utils-2.0.1" = {
       name = "_at_netlify_slash_git-utils";
       packageName = "@netlify/git-utils";
-      version = "1.0.11";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/git-utils/-/git-utils-1.0.11.tgz";
-        sha512 = "bvlvFAB9VU3wTYYEEUinsOeRFxZ/MmetffzHehSMEyP00kXakvrySq4XbC6G8u3wCDln34eOjKDt8uPYoqfuNQ==";
+        url = "https://registry.npmjs.org/@netlify/git-utils/-/git-utils-2.0.1.tgz";
+        sha512 = "a9GKmoOJuVTQ4+0x+4utS9XOySIGX5KBhMUgPKXGAZAFNeDXGkJj+ITrzyHcyJ4P8d8WPfQEXIusIqAqlfp+DA==";
       };
     };
-    "@netlify/local-functions-proxy-0.1.0" = {
+    "@netlify/local-functions-proxy-1.1.1" = {
       name = "_at_netlify_slash_local-functions-proxy";
       packageName = "@netlify/local-functions-proxy";
-      version = "0.1.0";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/local-functions-proxy/-/local-functions-proxy-0.1.0.tgz";
-        sha512 = "n4Y3LE3I6MrSCCLqLjY4VOVAi/uXdU35Kswd0eK0060Fla5huj+rKSnzu8GIERrvuRJMPi/AY7WFxB5mkFS8qw==";
+        url = "https://registry.npmjs.org/@netlify/local-functions-proxy/-/local-functions-proxy-1.1.1.tgz";
+        sha512 = "eXSsayLT6PMvjzFQpjC9nkg2Otc3lZ5GoYele9M6f8PmsvWpaXRhwjNQ0NYhQQ2UZbLMIiO2dH8dbRsT3bMkFw==";
       };
     };
-    "@netlify/local-functions-proxy-darwin-arm64-0.1.0" = {
+    "@netlify/local-functions-proxy-darwin-arm64-1.1.1" = {
       name = "_at_netlify_slash_local-functions-proxy-darwin-arm64";
       packageName = "@netlify/local-functions-proxy-darwin-arm64";
-      version = "0.1.0";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/local-functions-proxy-darwin-arm64/-/local-functions-proxy-darwin-arm64-0.1.0.tgz";
-        sha512 = "QsVber2F4H2zS2Oi31y226zeLkhWQrjy+9lYV4bsU0lZB9wHqrLGQNlOabqs6MWUQmWMqcDHLv31XMFpfhndnw==";
+        url = "https://registry.npmjs.org/@netlify/local-functions-proxy-darwin-arm64/-/local-functions-proxy-darwin-arm64-1.1.1.tgz";
+        sha512 = "lphJ9qqZ3glnKWEqlemU1LMqXxtJ/tKf7VzakqqyjigwLscXSZSb6fupSjQfd4tR1xqxA76ylws/2HDhc/gs+Q==";
       };
     };
-    "@netlify/local-functions-proxy-darwin-x64-0.1.0" = {
+    "@netlify/local-functions-proxy-darwin-x64-1.1.1" = {
       name = "_at_netlify_slash_local-functions-proxy-darwin-x64";
       packageName = "@netlify/local-functions-proxy-darwin-x64";
-      version = "0.1.0";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/local-functions-proxy-darwin-x64/-/local-functions-proxy-darwin-x64-0.1.0.tgz";
-        sha512 = "7Wb3ooicvRzHMErMWF+L+QG+rVy7iBEQ7b2GOzywL/VmeajatVk/D16v5b9adM2sX0KX1dyj3O9x2QLkDW2G7w==";
+        url = "https://registry.npmjs.org/@netlify/local-functions-proxy-darwin-x64/-/local-functions-proxy-darwin-x64-1.1.1.tgz";
+        sha512 = "4CRB0H+dXZzoEklq5Jpmg+chizXlVwCko94d8+UHWCgy/bA3M/rU/BJ8OLZisnJaAktHoeLABKtcLOhtRHpxZQ==";
       };
     };
-    "@netlify/local-functions-proxy-freebsd-arm64-0.1.0" = {
+    "@netlify/local-functions-proxy-freebsd-arm64-1.1.1" = {
       name = "_at_netlify_slash_local-functions-proxy-freebsd-arm64";
       packageName = "@netlify/local-functions-proxy-freebsd-arm64";
-      version = "0.1.0";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/local-functions-proxy-freebsd-arm64/-/local-functions-proxy-freebsd-arm64-0.1.0.tgz";
-        sha512 = "Keno1p1rvp5fiGEDZDm0fIOZTbcE1QwyqF5hgVSpD0bxitSAFOaXZwhcyo80x8qcMlBqQp9zWEJWu4zN1UiZMA==";
+        url = "https://registry.npmjs.org/@netlify/local-functions-proxy-freebsd-arm64/-/local-functions-proxy-freebsd-arm64-1.1.1.tgz";
+        sha512 = "u13lWTVMJDF0A6jX7V4N3HYGTIHLe5d1Z2wT43fSIHwXkTs6UXi72cGSraisajG+5JFIwHfPr7asw5vxFC0P9w==";
       };
     };
-    "@netlify/local-functions-proxy-freebsd-x64-0.1.0" = {
+    "@netlify/local-functions-proxy-freebsd-x64-1.1.1" = {
       name = "_at_netlify_slash_local-functions-proxy-freebsd-x64";
       packageName = "@netlify/local-functions-proxy-freebsd-x64";
-      version = "0.1.0";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/local-functions-proxy-freebsd-x64/-/local-functions-proxy-freebsd-x64-0.1.0.tgz";
-        sha512 = "kyEjE/aW/k7yD1+Oy28LLZjg6W8091HPCqUHzCk5GzT46zvR61vTPfeAEQwNaEL2uFHPJ3SauDNUZ1+U+FNlHA==";
+        url = "https://registry.npmjs.org/@netlify/local-functions-proxy-freebsd-x64/-/local-functions-proxy-freebsd-x64-1.1.1.tgz";
+        sha512 = "g5xw4xATK5YDzvXtzJ8S1qSkWBiyF8VVRehXPMOAMzpGjCX86twYhWp8rbAk7yA1zBWmmWrWNA2Odq/MgpKJJg==";
       };
     };
-    "@netlify/local-functions-proxy-linux-arm-0.1.0" = {
+    "@netlify/local-functions-proxy-linux-arm-1.1.1" = {
       name = "_at_netlify_slash_local-functions-proxy-linux-arm";
       packageName = "@netlify/local-functions-proxy-linux-arm";
-      version = "0.1.0";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/local-functions-proxy-linux-arm/-/local-functions-proxy-linux-arm-0.1.0.tgz";
-        sha512 = "Un4RIA3xaiWT1njCMgYJsYc1etksFuARz8suHtcoKadsEJ1XICh6OzJoCO3AdHCN1kMQlo3cVC/sHoAB2EyEqw==";
+        url = "https://registry.npmjs.org/@netlify/local-functions-proxy-linux-arm/-/local-functions-proxy-linux-arm-1.1.1.tgz";
+        sha512 = "YsTpL+AbHwQrfHWXmKnwUrJBjoUON363nr6jUG1ueYnpbbv6wTUA7gI5snMi/gkGpqFusBthAA7C30e6bixfiA==";
       };
     };
-    "@netlify/local-functions-proxy-linux-arm64-0.1.0" = {
+    "@netlify/local-functions-proxy-linux-arm64-1.1.1" = {
       name = "_at_netlify_slash_local-functions-proxy-linux-arm64";
       packageName = "@netlify/local-functions-proxy-linux-arm64";
-      version = "0.1.0";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/local-functions-proxy-linux-arm64/-/local-functions-proxy-linux-arm64-0.1.0.tgz";
-        sha512 = "ZDdy+5fgpHxFqpKghtJuMyyQ5tKWV+LJm6t8tKlXkAgC1n1GuqeWNP0JqHV8DSSShFHRaRNoBVpLoXJbtNIorQ==";
+        url = "https://registry.npmjs.org/@netlify/local-functions-proxy-linux-arm64/-/local-functions-proxy-linux-arm64-1.1.1.tgz";
+        sha512 = "dPGu1H5n8na7mBKxiXQ+FNmthDAiA57wqgpm5JMAHtcdcmRvcXwJkwWVGvwfj8ShhYJHQaSaS9oPgO+mpKkgmA==";
       };
     };
-    "@netlify/local-functions-proxy-linux-ia32-0.1.0" = {
+    "@netlify/local-functions-proxy-linux-ia32-1.1.1" = {
       name = "_at_netlify_slash_local-functions-proxy-linux-ia32";
       packageName = "@netlify/local-functions-proxy-linux-ia32";
-      version = "0.1.0";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/local-functions-proxy-linux-ia32/-/local-functions-proxy-linux-ia32-0.1.0.tgz";
-        sha512 = "vR1qlu341JKN91t0TPsYt2xC+ug8Bjp/WCqMtARmFT9jaL8NBTm6kiUh89QcGILYCo2hMNcYb9eih8y5D4N5Iw==";
+        url = "https://registry.npmjs.org/@netlify/local-functions-proxy-linux-ia32/-/local-functions-proxy-linux-ia32-1.1.1.tgz";
+        sha512 = "Ra0FlXDrmPRaq+rYH3/ttkXSrwk1D5Zx/Na7UPfJZxMY7Qo5iY4bgi/FuzjzWzlp0uuKZOhYOYzYzsIIyrSvmw==";
       };
     };
-    "@netlify/local-functions-proxy-linux-ppc64-0.1.0" = {
+    "@netlify/local-functions-proxy-linux-ppc64-1.1.1" = {
       name = "_at_netlify_slash_local-functions-proxy-linux-ppc64";
       packageName = "@netlify/local-functions-proxy-linux-ppc64";
-      version = "0.1.0";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/local-functions-proxy-linux-ppc64/-/local-functions-proxy-linux-ppc64-0.1.0.tgz";
-        sha512 = "pcAPe+PzFkNrHpICvrIHHfxk5KNIVo3GgZKoI67NXECCtVel48aXitvlcOwsodrejD8ruQkfbvossBQs9Deq8A==";
+        url = "https://registry.npmjs.org/@netlify/local-functions-proxy-linux-ppc64/-/local-functions-proxy-linux-ppc64-1.1.1.tgz";
+        sha512 = "oXf1satwqwUUxz7LHS1BxbRqc4FFEKIDFTls04eXiLReFR3sqv9H/QuYNTCCDMuRcCOd92qKyDfATdnxT4HR8w==";
       };
     };
-    "@netlify/local-functions-proxy-linux-x64-0.1.0" = {
+    "@netlify/local-functions-proxy-linux-x64-1.1.1" = {
       name = "_at_netlify_slash_local-functions-proxy-linux-x64";
       packageName = "@netlify/local-functions-proxy-linux-x64";
-      version = "0.1.0";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/local-functions-proxy-linux-x64/-/local-functions-proxy-linux-x64-0.1.0.tgz";
-        sha512 = "sjlMLoKNJRJnq8Esk+GkxEk9CByDNouKdeQ+doiiQhYGRjLhKXZdXbaC137z2tm/vHhI/94Lg7mhCcGygitJpA==";
+        url = "https://registry.npmjs.org/@netlify/local-functions-proxy-linux-x64/-/local-functions-proxy-linux-x64-1.1.1.tgz";
+        sha512 = "bS3u4JuDg/eC0y4Na3i/29JBOxrdUvsK5JSjHfzUeZEbOcuXYf4KavTpHS5uikdvTgyczoSrvbmQJ5m0FLXfLA==";
       };
     };
-    "@netlify/local-functions-proxy-openbsd-x64-0.1.0" = {
+    "@netlify/local-functions-proxy-openbsd-x64-1.1.1" = {
       name = "_at_netlify_slash_local-functions-proxy-openbsd-x64";
       packageName = "@netlify/local-functions-proxy-openbsd-x64";
-      version = "0.1.0";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/local-functions-proxy-openbsd-x64/-/local-functions-proxy-openbsd-x64-0.1.0.tgz";
-        sha512 = "Dn9wQfeAU6FvurFo8eJL2scahtVigQyAi6lpV+c4YLD87WUfmiQ/mVgB7dfYB9zMiq5GO/iXbcK6wWjFyAZ6Aw==";
+        url = "https://registry.npmjs.org/@netlify/local-functions-proxy-openbsd-x64/-/local-functions-proxy-openbsd-x64-1.1.1.tgz";
+        sha512 = "1xLef/kLRNkBTXJ+ZGoRFcwsFxd/B2H3oeJZyXaZ3CN5umd9Mv9wZuAD74NuMt/535yRva8jtAJqvEgl9xMSdA==";
       };
     };
-    "@netlify/local-functions-proxy-win32-ia32-0.1.0" = {
+    "@netlify/local-functions-proxy-win32-ia32-1.1.1" = {
       name = "_at_netlify_slash_local-functions-proxy-win32-ia32";
       packageName = "@netlify/local-functions-proxy-win32-ia32";
-      version = "0.1.0";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/local-functions-proxy-win32-ia32/-/local-functions-proxy-win32-ia32-0.1.0.tgz";
-        sha512 = "LRz6UZpgS0UzB5IKgOvBnVNkpBcnzRfT4YBBSBL31fucJ1J2c0zGJIUTqbFdS8eBLOS9Npq2qUT7qlnrgAWyMw==";
+        url = "https://registry.npmjs.org/@netlify/local-functions-proxy-win32-ia32/-/local-functions-proxy-win32-ia32-1.1.1.tgz";
+        sha512 = "4IOMDBxp2f8VbIkhZ85zGNDrZR4ey8d68fCMSOIwitjsnKav35YrCf8UmAh3UR6CNIRJdJL4MW1GYePJ7iJ8uA==";
       };
     };
-    "@netlify/local-functions-proxy-win32-x64-0.1.0" = {
+    "@netlify/local-functions-proxy-win32-x64-1.1.1" = {
       name = "_at_netlify_slash_local-functions-proxy-win32-x64";
       packageName = "@netlify/local-functions-proxy-win32-x64";
-      version = "0.1.0";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/local-functions-proxy-win32-x64/-/local-functions-proxy-win32-x64-0.1.0.tgz";
-        sha512 = "YYzVpBPsAiup/Jg+kCAi0/EsV80BMF6JkQ3/2JjJhUqRuEG99THA+HwrFpsQOpOnr3niJBY93YrQymnJPgrk3A==";
+        url = "https://registry.npmjs.org/@netlify/local-functions-proxy-win32-x64/-/local-functions-proxy-win32-x64-1.1.1.tgz";
+        sha512 = "VCBXBJWBujVxyo5f+3r8ovLc9I7wJqpmgDn3ixs1fvdrER5Ac+SzYwYH4mUug9HI08mzTSAKZErzKeuadSez3w==";
       };
     };
     "@netlify/open-api-2.5.0" = {
@@ -4369,13 +4423,13 @@ let
         sha512 = "tFb7J6+YEtZP0OYpS/b9Rjp1lm02XfhAQR6KRHAaeRlHp98/zgd0hhubfwXUCppP2BLfn+imkeVS0FnANh5B3g==";
       };
     };
-    "@netlify/plugins-list-2.19.3" = {
+    "@netlify/plugins-list-3.5.0" = {
       name = "_at_netlify_slash_plugins-list";
       packageName = "@netlify/plugins-list";
-      version = "2.19.3";
+      version = "3.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/plugins-list/-/plugins-list-2.19.3.tgz";
-        sha512 = "Z2RNrNhO7fsNFmpUQ+eNawgtfHwbGH/4Hji2g+GCRYL7W60kgK5rsWxveky1Nrye45I2OQn/4ZGapKqB1IqTaw==";
+        url = "https://registry.npmjs.org/@netlify/plugins-list/-/plugins-list-3.5.0.tgz";
+        sha512 = "qBJC80fWY1T/UrvOsr/54ftfBoL2uybjzWuTZY8uYG2DnlJ4OaWjM3O9Srf7LXxHL3pdwV7kfdr9fQ6gbmARKg==";
       };
     };
     "@netlify/routing-local-proxy-0.31.0" = {
@@ -4387,76 +4441,202 @@ let
         sha512 = "SSlWic9za/0QtfCP7GllJcOV98BWlx2goOF9bLLhmsHGiPfrhlhZfemqdMtKM4BIs+G70wzUqaIYeyjtxVh37A==";
       };
     };
-    "@netlify/run-utils-1.0.7" = {
+    "@netlify/run-utils-2.0.1" = {
       name = "_at_netlify_slash_run-utils";
       packageName = "@netlify/run-utils";
-      version = "1.0.7";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/run-utils/-/run-utils-1.0.7.tgz";
-        sha512 = "YFi1Sf+ktQICS3tAKu7/uiGzLXgi8RNVwH9naUkziXwXQNH2oxDhKgy0/Zv5Nw0zMDJyKWrJ3xObWEC57mJ/KA==";
+        url = "https://registry.npmjs.org/@netlify/run-utils/-/run-utils-2.0.1.tgz";
+        sha512 = "F1YcF2kje0Ttj+t5Cn5d6ojGQcKj4i/GMWgQuoZGVjQ31ToNcDXIbBm5SBKIkMMpNejtR1wF+1a0Q+aBPWiZVQ==";
       };
     };
-    "@netlify/zip-it-and-ship-it-4.14.0" = {
+    "@netlify/zip-it-and-ship-it-4.20.0" = {
       name = "_at_netlify_slash_zip-it-and-ship-it";
       packageName = "@netlify/zip-it-and-ship-it";
-      version = "4.14.0";
+      version = "4.20.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-4.14.0.tgz";
-        sha512 = "EFUYbcB7g/7Sa4KYZaqNrqe+mJJCeoosUNl8mFyeF3qIqn0po7txSZn0/y1sgjejuv9mRKv8sm7dH8kMM/HJcg==";
+        url = "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-4.20.0.tgz";
+        sha512 = "+wo8rupUJbrfw/lEBPccVP+GhFEJEbzx7M67eSEWxqwQkUKtZIHbBc6Ile+iVXqFnLyM2ryfxLTcSIm1pc797g==";
       };
     };
-    "@node-red/editor-api-2.0.1" = {
+    "@node-red/editor-api-2.0.5" = {
       name = "_at_node-red_slash_editor-api";
       packageName = "@node-red/editor-api";
-      version = "2.0.1";
+      version = "2.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@node-red/editor-api/-/editor-api-2.0.1.tgz";
-        sha512 = "0+wY8FJvS6P3hiRnz7YzjWmkannoJyBMYgnSevQ6euf8dABML5AOYThghpMNPrtl+RzRIar0oabHrTRSoEpDEg==";
+        url = "https://registry.npmjs.org/@node-red/editor-api/-/editor-api-2.0.5.tgz";
+        sha512 = "efiWLuNk/lwpIULt4Bu8WycW9+v6xVx0VHAK+j1y8Kl5S6u6sbfkTlmDDpaN2NqPHGdMT+roF9EHKHISTmVN9g==";
       };
     };
-    "@node-red/editor-client-2.0.1" = {
+    "@node-red/editor-client-2.0.5" = {
       name = "_at_node-red_slash_editor-client";
       packageName = "@node-red/editor-client";
-      version = "2.0.1";
+      version = "2.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@node-red/editor-client/-/editor-client-2.0.1.tgz";
-        sha512 = "9YP0n+VFruudzZfcsTL0fofm7j/BYodKzQTqksL3ZlcZsB075O3d8zM8ZuoNlpj2CfROR/PZi7E72ucmNExzlQ==";
+        url = "https://registry.npmjs.org/@node-red/editor-client/-/editor-client-2.0.5.tgz";
+        sha512 = "C/Vu7NZX3VGTU/LEXxDUTxEEDu/NFIbAOCAJAcvJKdNPEL4InwTF75PRRiWsfeDu8DhBnvFqFe9XTS4fr+nrPA==";
       };
     };
-    "@node-red/nodes-2.0.1" = {
+    "@node-red/nodes-2.0.5" = {
       name = "_at_node-red_slash_nodes";
       packageName = "@node-red/nodes";
-      version = "2.0.1";
+      version = "2.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@node-red/nodes/-/nodes-2.0.1.tgz";
-        sha512 = "op1gcV99xp/xZAVg1B+VRzylNpWk/oF//I6dcRqiF8xoXjff42VfIJ8l01/JqsvuJD3p9+x9fz82QRMmASOu+w==";
+        url = "https://registry.npmjs.org/@node-red/nodes/-/nodes-2.0.5.tgz";
+        sha512 = "o9hdie+2YtjoMFFe+vAcIkkHPJIO5pkPrRUNQcx7EHzXPEMP0uxhhr/DpC/J6AQ0tOlfS6shWKge0E4bBKfJDQ==";
       };
     };
-    "@node-red/registry-2.0.1" = {
+    "@node-red/registry-2.0.5" = {
       name = "_at_node-red_slash_registry";
       packageName = "@node-red/registry";
-      version = "2.0.1";
+      version = "2.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@node-red/registry/-/registry-2.0.1.tgz";
-        sha512 = "B2La0qWpSEqbiiBWVmUKTqS4y/c/pZuUDPu7a5ZibGgcUEe032X05uZ68wIYMt1y2/ltnUlrPSdOjjpzpxEhEQ==";
+        url = "https://registry.npmjs.org/@node-red/registry/-/registry-2.0.5.tgz";
+        sha512 = "UVM1UFuyNGtyLIL3Fjme67uvlxiiQlYVrabFwzUa0u2zHWf0YpzIQgcwtFY9kIuj3h0rVIN+EzuPZIbQZVISNw==";
       };
     };
-    "@node-red/runtime-2.0.1" = {
+    "@node-red/runtime-2.0.5" = {
       name = "_at_node-red_slash_runtime";
       packageName = "@node-red/runtime";
-      version = "2.0.1";
+      version = "2.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@node-red/runtime/-/runtime-2.0.1.tgz";
-        sha512 = "3MbJk5Xum38Nt13FIvDmsuQYcdo5uxzKu2khHbXN3hG7XlECALSaKqLq19t7yg6e8q8Jqnb7j6184A1m34GVqQ==";
+        url = "https://registry.npmjs.org/@node-red/runtime/-/runtime-2.0.5.tgz";
+        sha512 = "eK55TQ+iTX0xZy8k4eW3JJCHywgnxpszuKg1aXurKD1sBURGa9qNztB/IW+0T0upnRYgQSTTI8j//msG6s76LQ==";
       };
     };
-    "@node-red/util-2.0.1" = {
+    "@node-red/util-2.0.5" = {
       name = "_at_node-red_slash_util";
       packageName = "@node-red/util";
-      version = "2.0.1";
+      version = "2.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@node-red/util/-/util-2.0.5.tgz";
+        sha512 = "+RF8i+LxgyXcAIKjKyht3rRZFBEhrvgXKN2/HlkMWerADwiDTNfBL8JjQZoMKlFKl1cgapp8vp4P1Xf3glH+fQ==";
+      };
+    };
+    "@node-rs/crc32-1.2.1" = {
+      name = "_at_node-rs_slash_crc32";
+      packageName = "@node-rs/crc32";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@node-rs/crc32/-/crc32-1.2.1.tgz";
+        sha512 = "Hw9QJPisg1ZR9Rj6w3sQLcEZkPanu1RLb4yk0Wq0cT4RNYssw35RtOkN/x/tW9iIMLq2YjHUyb6tun82dLVTPQ==";
+      };
+    };
+    "@node-rs/crc32-android-arm64-1.2.1" = {
+      name = "_at_node-rs_slash_crc32-android-arm64";
+      packageName = "@node-rs/crc32-android-arm64";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@node-rs/crc32-android-arm64/-/crc32-android-arm64-1.2.1.tgz";
+        sha512 = "SWz9X44WQzZqzURYz4DY3DccB97T+aKJl+i6rvREwf1Y5suWiPdxU4xqg9zZ66aG6XeE3ts+WeqKH26bVbZTQA==";
+      };
+    };
+    "@node-rs/crc32-darwin-arm64-1.2.1" = {
+      name = "_at_node-rs_slash_crc32-darwin-arm64";
+      packageName = "@node-rs/crc32-darwin-arm64";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@node-rs/crc32-darwin-arm64/-/crc32-darwin-arm64-1.2.1.tgz";
+        sha512 = "JKKYEc5YKrZZ0CQ0nXSLCraU+6b9SldGU3/Wf3s4WCzYGkkB4XtMwjx3t7bGZAGmZ2ZcRy9M2EGJ8tUfV8cOOg==";
+      };
+    };
+    "@node-rs/crc32-darwin-x64-1.2.1" = {
+      name = "_at_node-rs_slash_crc32-darwin-x64";
+      packageName = "@node-rs/crc32-darwin-x64";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@node-rs/crc32-darwin-x64/-/crc32-darwin-x64-1.2.1.tgz";
+        sha512 = "BaWeOdzJ73MyrChWQqQkJEKM9jRUjb19tE7PbFhG8cZPVxBFyxgTFNuBrR0xHOByCHI4QXSBvNCLEfawHbsscQ==";
+      };
+    };
+    "@node-rs/crc32-freebsd-x64-1.2.1" = {
+      name = "_at_node-rs_slash_crc32-freebsd-x64";
+      packageName = "@node-rs/crc32-freebsd-x64";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@node-rs/crc32-freebsd-x64/-/crc32-freebsd-x64-1.2.1.tgz";
+        sha512 = "ZzAJS9EwUwvclfhvDT6vn0CYpU4CAvDYpPjXb+e0bsFbvqoh8mQcXvzK1myU3fSjjKUU47Pp5wLe68vW+2Q0Pw==";
+      };
+    };
+    "@node-rs/crc32-linux-arm-gnueabihf-1.2.1" = {
+      name = "_at_node-rs_slash_crc32-linux-arm-gnueabihf";
+      packageName = "@node-rs/crc32-linux-arm-gnueabihf";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@node-rs/crc32-linux-arm-gnueabihf/-/crc32-linux-arm-gnueabihf-1.2.1.tgz";
+        sha512 = "6nRDyFgGsLc9bqaiK21KANqAdeh+9ZOHf3MY9HWvZoGQnxj2/LwvSHyaeG9ut+TvkL+Ic2hMtjLDNYYBaUcImw==";
+      };
+    };
+    "@node-rs/crc32-linux-arm64-gnu-1.2.1" = {
+      name = "_at_node-rs_slash_crc32-linux-arm64-gnu";
+      packageName = "@node-rs/crc32-linux-arm64-gnu";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@node-rs/crc32-linux-arm64-gnu/-/crc32-linux-arm64-gnu-1.2.1.tgz";
+        sha512 = "ZNluh2Wse68JgLGRl75fkLmVkAPSb1LE/2OdPXKZ85ExGYB5/3el2nE1CnysbqxqzL/Cc6kJ7UnsI/cxSe/D4Q==";
+      };
+    };
+    "@node-rs/crc32-linux-arm64-musl-1.2.1" = {
+      name = "_at_node-rs_slash_crc32-linux-arm64-musl";
+      packageName = "@node-rs/crc32-linux-arm64-musl";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@node-rs/crc32-linux-arm64-musl/-/crc32-linux-arm64-musl-1.2.1.tgz";
+        sha512 = "e490eNo9GB57koS4gabDeZ+f7wB3/SNtPbdXPk7bBNSFAB0gPdrqxiVUzLkY6AALVPR/juQGRb+geJOp1Oja/g==";
+      };
+    };
+    "@node-rs/crc32-linux-x64-gnu-1.2.1" = {
+      name = "_at_node-rs_slash_crc32-linux-x64-gnu";
+      packageName = "@node-rs/crc32-linux-x64-gnu";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@node-rs/crc32-linux-x64-gnu/-/crc32-linux-x64-gnu-1.2.1.tgz";
+        sha512 = "laJ7cAzYfNk+h3OOSwYsDdxfp1bXnpWqXVObXvylwHZQwIqUqTC5GCOa6kMMz2ElzJ9gDBgVvLplI8QX7BQnwA==";
+      };
+    };
+    "@node-rs/crc32-linux-x64-musl-1.2.1" = {
+      name = "_at_node-rs_slash_crc32-linux-x64-musl";
+      packageName = "@node-rs/crc32-linux-x64-musl";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@node-rs/crc32-linux-x64-musl/-/crc32-linux-x64-musl-1.2.1.tgz";
+        sha512 = "d6DyJMgIg4E2E+GHeIYMImqDd+iaGQjwGrzLDqO1TaC08yE63chlvCMNNoQ5k2c8mzdWH2VX72IapWT5nArR0A==";
+      };
+    };
+    "@node-rs/crc32-win32-arm64-msvc-1.2.1" = {
+      name = "_at_node-rs_slash_crc32-win32-arm64-msvc";
+      packageName = "@node-rs/crc32-win32-arm64-msvc";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@node-rs/crc32-win32-arm64-msvc/-/crc32-win32-arm64-msvc-1.2.1.tgz";
+        sha512 = "qwDzpv/9oZcK6SrFomALjYDMkEhtjfxNmjhCYKDgeXvAkTAdwzpVdj+8PDyyBN63afpVndDnBqGhSEwHJPB6aQ==";
+      };
+    };
+    "@node-rs/crc32-win32-ia32-msvc-1.2.1" = {
+      name = "_at_node-rs_slash_crc32-win32-ia32-msvc";
+      packageName = "@node-rs/crc32-win32-ia32-msvc";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@node-rs/crc32-win32-ia32-msvc/-/crc32-win32-ia32-msvc-1.2.1.tgz";
+        sha512 = "g/3UVw8LBmsTn+DUD39WDhfcL+S0pILBz/3+HM9QxbY2ptPxI8QtEK0sTIBAKTcRjq6dS8MmtcDWBFsDTs+/mQ==";
+      };
+    };
+    "@node-rs/crc32-win32-x64-msvc-1.2.1" = {
+      name = "_at_node-rs_slash_crc32-win32-x64-msvc";
+      packageName = "@node-rs/crc32-win32-x64-msvc";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@node-rs/crc32-win32-x64-msvc/-/crc32-win32-x64-msvc-1.2.1.tgz";
+        sha512 = "BGTEFRdIk6Vq9BSC3VuBVYKadZXOhhtPT8LUfz4s9cK3k8ba6nFzKIbOm5UsPIUSz2lRqlWdHQQWVaCoGAAvbQ==";
+      };
+    };
+    "@node-rs/helper-1.2.1" = {
+      name = "_at_node-rs_slash_helper";
+      packageName = "@node-rs/helper";
+      version = "1.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@node-red/util/-/util-2.0.1.tgz";
-        sha512 = "gT+3cI134m2pD4U0/iKuOAjRqluPXKlS19eCE06ArWGLxHmqx7Gi6Cyjxu971gNcw69QEfwJzEA2xIrAKRAR+g==";
+        url = "https://registry.npmjs.org/@node-rs/helper/-/helper-1.2.1.tgz";
+        sha512 = "R5wEmm8nbuQU0YGGmYVjEc0OHtYsuXdpRG+Ut/3wZ9XAvQWyThN08bTh2cBJgoZxHQUPtvRfeQuxcAgLuiBISg==";
       };
     };
     "@nodelib/fs.scandir-2.1.5" = {
@@ -4495,13 +4675,13 @@ let
         sha512 = "oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==";
       };
     };
-    "@npmcli/arborist-2.7.1" = {
+    "@npmcli/arborist-2.8.2" = {
       name = "_at_npmcli_slash_arborist";
       packageName = "@npmcli/arborist";
-      version = "2.7.1";
+      version = "2.8.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@npmcli/arborist/-/arborist-2.7.1.tgz";
-        sha512 = "EGDHJs6dna/52BrStr/6aaRcMLrYxGbSjT4V3JzvoTBY9/w5i2+1KNepmsG80CAsGADdo6nuNnFwb7sDRm8ZAw==";
+        url = "https://registry.npmjs.org/@npmcli/arborist/-/arborist-2.8.2.tgz";
+        sha512 = "6E1XJ0YXBaI9J+25gcTF110MGNx3jv6npr4Rz1U0UAqkuVV7bbDznVJvNqi6F0p8vgrE+Smf9jDTn1DR+7uBjQ==";
       };
     };
     "@npmcli/ci-detect-1.3.0" = {
@@ -4513,6 +4693,15 @@ let
         sha512 = "oN3y7FAROHhrAt7Rr7PnTSwrHrZVRTS2ZbyxeQwSSYD0ifwM3YNgQqbaRmjcWoPyq77MjchusjJDspbzMmip1Q==";
       };
     };
+    "@npmcli/fs-1.0.0" = {
+      name = "_at_npmcli_slash_fs";
+      packageName = "@npmcli/fs";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@npmcli/fs/-/fs-1.0.0.tgz";
+        sha512 = "8ltnOpRR/oJbOp8vaGUnipOi3bqkcW+sLHFlyXIr08OGHmVJLB1Hn7QtGXbYcpVtH1gAYZTlmDXtE4YV0+AMMQ==";
+      };
+    };
     "@npmcli/git-2.1.0" = {
       name = "_at_npmcli_slash_git";
       packageName = "@npmcli/git";
@@ -4531,13 +4720,13 @@ let
         sha512 = "9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw==";
       };
     };
-    "@npmcli/map-workspaces-1.0.3" = {
+    "@npmcli/map-workspaces-1.0.4" = {
       name = "_at_npmcli_slash_map-workspaces";
       packageName = "@npmcli/map-workspaces";
-      version = "1.0.3";
+      version = "1.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@npmcli/map-workspaces/-/map-workspaces-1.0.3.tgz";
-        sha512 = "SdlRlOoQw4WKD4vtb/n5gUkobEABYBEOo8fRE4L8CtBkyWDSvIrReTfKvQ/Jc/LQqDaaZ5iv1iMSQzKCUr1n1A==";
+        url = "https://registry.npmjs.org/@npmcli/map-workspaces/-/map-workspaces-1.0.4.tgz";
+        sha512 = "wVR8QxhyXsFcD/cORtJwGQodeeaDf0OxcHie8ema4VgFeqwYkFsDPnSrIRSytX8xR6nKPAH89WnwTcaU608b/Q==";
       };
     };
     "@npmcli/metavuln-calculator-1.1.1" = {
@@ -4594,13 +4783,13 @@ let
         sha512 = "QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg==";
       };
     };
-    "@npmcli/run-script-1.8.5" = {
+    "@npmcli/run-script-1.8.6" = {
       name = "_at_npmcli_slash_run-script";
       packageName = "@npmcli/run-script";
-      version = "1.8.5";
+      version = "1.8.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@npmcli/run-script/-/run-script-1.8.5.tgz";
-        sha512 = "NQspusBCpTjNwNRFMtz2C5MxoxyzlbuJ4YEhxAKrIonTiirKDtatsZictx9RgamQIx6+QuHMNmPl0wQdoESs9A==";
+        url = "https://registry.npmjs.org/@npmcli/run-script/-/run-script-1.8.6.tgz";
+        sha512 = "e42bVZnC6VluBZBAFEr3YrdqSspG3bgilyg4nSLBJ7TRGNCzxHa92XAHxQBLYg0BmgwO4b2mf3h/l5EkEWRn3g==";
       };
     };
     "@oclif/color-0.1.2" = {
@@ -4630,6 +4819,15 @@ let
         sha512 = "Lmfuf6ubjQ4ifC/9bz1fSCHc6F6E653oyaRXxg+lgT4+bYf9bk+nqrUpAbrXyABkCqgIBiFr3J4zR/kiFdE1PA==";
       };
     };
+    "@oclif/core-0.5.32" = {
+      name = "_at_oclif_slash_core";
+      packageName = "@oclif/core";
+      version = "0.5.32";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@oclif/core/-/core-0.5.32.tgz";
+        sha512 = "ZRGh/9IccLT/iyJ9FiTK2KdqPmxewkCkdFXkNhTVgtzQXI3ZFhDba3pFjxfI+nbhbrVRLfGzTnHXV6c4rka6pw==";
+      };
+    };
     "@oclif/errors-1.3.5" = {
       name = "_at_oclif_slash_errors";
       packageName = "@oclif/errors";
@@ -4675,13 +4873,13 @@ let
         sha512 = "tuzhvxxRtfLnWa96klngXBi5IwHt9S/twedCbQhl9dYIKTFMHI1BcOQcPra6ylct+M+b9jhEF5sjWLv78tB6tw==";
       };
     };
-    "@oclif/plugin-help-3.2.2" = {
+    "@oclif/plugin-help-3.3.0" = {
       name = "_at_oclif_slash_plugin-help";
       packageName = "@oclif/plugin-help";
-      version = "3.2.2";
+      version = "3.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@oclif/plugin-help/-/plugin-help-3.2.2.tgz";
-        sha512 = "SPZ8U8PBYK0n4srFjCLedk0jWU4QlxgEYLCXIBShJgOwPhTTQknkUlsEwaMIevvCU4iCQZhfMX+D8Pz5GZjFgA==";
+        url = "https://registry.npmjs.org/@oclif/plugin-help/-/plugin-help-3.3.0.tgz";
+        sha512 = "+eYQZXsWnc54IM5Hv2+IoKBTKUSDt+vRbwf5I8w+DaXvzOmx0VzAbLgL1ciJzYh66CknjWMUJf/hxoc8ykJHaQ==";
       };
     };
     "@oclif/plugin-not-found-1.2.4" = {
@@ -4711,15 +4909,6 @@ let
         sha512 = "60CHpq+eqnTxLZQ4PGHYNwUX572hgpMHGPtTWMjdTMsAvlm69lZV/4ly6O3sAYkomo4NggGcomrDpBe34rxUqw==";
       };
     };
-    "@octetstream/promisify-2.0.2" = {
-      name = "_at_octetstream_slash_promisify";
-      packageName = "@octetstream/promisify";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@octetstream/promisify/-/promisify-2.0.2.tgz";
-        sha512 = "7XHoRB61hxsz8lBQrjC1tq/3OEIgpvGWg6DKAdwi7WRzruwkmsdwmOoUXbU4Dtd4RSOMDwed0SkP3y8UlMt1Bg==";
-      };
-    };
     "@octokit/auth-token-2.4.5" = {
       name = "_at_octokit_slash_auth-token";
       packageName = "@octokit/auth-token";
@@ -4756,13 +4945,13 @@ let
         sha512 = "SWTdXsVheRmlotWNjKzPOb6Js6tjSqA2a8z9+glDJng0Aqjzti8MEWOtuT8ZSu6wHnci7LZNuarE87+WJBG4vg==";
       };
     };
-    "@octokit/openapi-types-9.1.0" = {
+    "@octokit/openapi-types-9.7.0" = {
       name = "_at_octokit_slash_openapi-types";
       packageName = "@octokit/openapi-types";
-      version = "9.1.0";
+      version = "9.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-9.1.0.tgz";
-        sha512 = "XBP03pG4XuTU+VgeJM1ozRdmZJerMG4tk6wA+raFKycC4qV9jtD2UQroAg9bAcmI3Q0zWvifeDGtPqsFjMzkLg==";
+        url = "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-9.7.0.tgz";
+        sha512 = "TUJ16DJU8mekne6+KVcMV5g6g/rJlrnIKn7aALG9QrNpnEipFc1xjoarh0PKaAWf2Hf+HwthRKYt+9mCm5RsRg==";
       };
     };
     "@octokit/plugin-enterprise-rest-6.0.1" = {
@@ -4774,13 +4963,13 @@ let
         sha512 = "93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw==";
       };
     };
-    "@octokit/plugin-paginate-rest-2.14.0" = {
+    "@octokit/plugin-paginate-rest-2.15.1" = {
       name = "_at_octokit_slash_plugin-paginate-rest";
       packageName = "@octokit/plugin-paginate-rest";
-      version = "2.14.0";
+      version = "2.15.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.14.0.tgz";
-        sha512 = "S2uEu2uHeI7Vf+Lvj8tv3O5/5TCAa8GHS0dUQN7gdM7vKA6ZHAbR6HkAVm5yMb1mbedLEbxOuQ+Fa0SQ7tCDLA==";
+        url = "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.15.1.tgz";
+        sha512 = "47r52KkhQDkmvUKZqXzA1lKvcyJEfYh3TKAIe5+EzMeyDM3d+/s5v11i2gTk8/n6No6DPi3k5Ind6wtDbo/AEg==";
       };
     };
     "@octokit/plugin-request-log-1.0.4" = {
@@ -4792,22 +4981,22 @@ let
         sha512 = "mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==";
       };
     };
-    "@octokit/plugin-rest-endpoint-methods-5.5.0" = {
+    "@octokit/plugin-rest-endpoint-methods-5.8.0" = {
       name = "_at_octokit_slash_plugin-rest-endpoint-methods";
       packageName = "@octokit/plugin-rest-endpoint-methods";
-      version = "5.5.0";
+      version = "5.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.5.0.tgz";
-        sha512 = "v4dNoHF8cXNx7C67yQx7oarHs5Wg2IiafWvp/ULkNcCOuXgQdBOkJtwidpYqPiRPUw4uHDkI6Tgfje+nXB+Deg==";
+        url = "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.8.0.tgz";
+        sha512 = "qeLZZLotNkoq+it6F+xahydkkbnvSK0iDjlXFo3jNTB+Ss0qIbYQb9V/soKLMkgGw8Q2sHjY5YEXiA47IVPp4A==";
       };
     };
-    "@octokit/request-5.6.0" = {
+    "@octokit/request-5.6.1" = {
       name = "_at_octokit_slash_request";
       packageName = "@octokit/request";
-      version = "5.6.0";
+      version = "5.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/request/-/request-5.6.0.tgz";
-        sha512 = "4cPp/N+NqmaGQwbh3vUsYqokQIzt7VjsgTYVXiwpUP2pxd5YiZB2XuTedbb0SPtv9XS7nzAKjAuQxmY8/aZkiA==";
+        url = "https://registry.npmjs.org/@octokit/request/-/request-5.6.1.tgz";
+        sha512 = "Ls2cfs1OfXaOKzkcxnqw5MR6drMA/zWX/LIS/p8Yjdz7QKTPQLMsB3R+OvoxE6XnXeXEE2X7xe4G4l4X0gRiKQ==";
       };
     };
     "@octokit/request-error-2.1.0" = {
@@ -4819,31 +5008,22 @@ let
         sha512 = "1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==";
       };
     };
-    "@octokit/rest-18.7.0" = {
+    "@octokit/rest-18.9.1" = {
       name = "_at_octokit_slash_rest";
       packageName = "@octokit/rest";
-      version = "18.7.0";
+      version = "18.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/rest/-/rest-18.7.0.tgz";
-        sha512 = "8K8BJFyPFRSfnwu+aSbdjU5w3EtxC33PkDlEi5tyVTYC+t4n7gaqygRg5ajJLCpb/ZzVaXXFJXC9OxQ9TvFRAw==";
+        url = "https://registry.npmjs.org/@octokit/rest/-/rest-18.9.1.tgz";
+        sha512 = "idZ3e5PqXVWOhtZYUa546IDHTHjkGZbj3tcJsN0uhCy984KD865e8GB2WbYDc2ZxFuJRiyd0AftpL2uPNhF+UA==";
       };
     };
-    "@octokit/types-6.21.0" = {
+    "@octokit/types-6.25.0" = {
       name = "_at_octokit_slash_types";
       packageName = "@octokit/types";
-      version = "6.21.0";
+      version = "6.25.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/types/-/types-6.21.0.tgz";
-        sha512 = "VPSxn9uhCoOUMpxCsOAQhf8DgIx+uzFjZRYDiZS5+TvrKaEwBrWkjr/5NmUVvPbW6xdPC2n3yL3XCnoxa4rxvg==";
-      };
-    };
-    "@open-policy-agent/opa-wasm-1.2.0" = {
-      name = "_at_open-policy-agent_slash_opa-wasm";
-      packageName = "@open-policy-agent/opa-wasm";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@open-policy-agent/opa-wasm/-/opa-wasm-1.2.0.tgz";
-        sha512 = "CtUBTnzvDrT0NASa8IuGQTxFGgt2vxbLnMYuTA+uDFxOcA4uK4mGFgrhHJtxUZnWHiwemOvKKSY3BMCo7qiAsQ==";
+        url = "https://registry.npmjs.org/@octokit/types/-/types-6.25.0.tgz";
+        sha512 = "bNvyQKfngvAd/08COlYIN54nRgxskmejgywodizQNyiKoXmWRAjKup2/LYwm+T9V0gsKH6tuld1gM0PzmOiB4Q==";
       };
     };
     "@opencensus/core-0.0.8" = {
@@ -4873,22 +5053,22 @@ let
         sha512 = "PffXX2AL8Sh0VHQ52jJC4u3T0H6wDK6N/4bg7xh4ngMYOIi13aR1kzVvX1sVDBgfGwDOkMbl4c54Xm3tlPx/+A==";
       };
     };
-    "@opentelemetry/api-1.0.1" = {
+    "@opentelemetry/api-1.0.2" = {
       name = "_at_opentelemetry_slash_api";
       packageName = "@opentelemetry/api";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@opentelemetry/api/-/api-1.0.1.tgz";
-        sha512 = "H5Djcc2txGAINgf3TNaq4yFofYSIK3722PM89S/3R8FuI/eqi1UscajlXk7EBkG9s2pxss/q6SHlpturaavXaw==";
+        url = "https://registry.npmjs.org/@opentelemetry/api/-/api-1.0.2.tgz";
+        sha512 = "DCF9oC89ao8/EJUqrp/beBlDR8Bp2R43jqtzayqCoomIvkwTuPfLcHdVhIGRR69GFlkykFjcDW+V92t0AS7Tww==";
       };
     };
-    "@opentelemetry/semantic-conventions-0.22.0" = {
+    "@opentelemetry/semantic-conventions-0.24.0" = {
       name = "_at_opentelemetry_slash_semantic-conventions";
       packageName = "@opentelemetry/semantic-conventions";
-      version = "0.22.0";
+      version = "0.24.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-0.22.0.tgz";
-        sha512 = "t4fKikazahwNKmwD+CE/icHyuZldWvNMupJhjxdk9T/KxHFx3zCGjHT3MKavwYP6abzgAAm5WwzD1oHlmj7dyg==";
+        url = "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-0.24.0.tgz";
+        sha512 = "a/szuMQV0Quy0/M7kKdglcbRSoorleyyOwbTNNJ32O+RBN766wbQlMTvdimImTmwYWGr+NJOni1EcC242WlRcA==";
       };
     };
     "@ot-builder/bin-composite-types-1.1.0" = {
@@ -5278,15 +5458,6 @@ let
         sha512 = "SXsM27SGH3yTWKc2fKR4SYNxsmnvuBQ9dd6QHtEWmiZ/VqaOYPAIlS8+vMcn27YLtAEBGvNRSh3TPNvtjZgfqA==";
       };
     };
-    "@pmmmwh/react-refresh-webpack-plugin-0.3.3" = {
-      name = "_at_pmmmwh_slash_react-refresh-webpack-plugin";
-      packageName = "@pmmmwh/react-refresh-webpack-plugin";
-      version = "0.3.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.3.3.tgz";
-        sha512 = "uc6FmPEegAZawSHjUMFQwU7EjaDn7zy1iD/KD/wBROL9F4378OES8MKMYHoRAKT61Fk7LxVKZSDR5VespMQiqw==";
-      };
-    };
     "@primer/octicons-14.1.0" = {
       name = "_at_primer_slash_octicons";
       packageName = "@primer/octicons";
@@ -5386,13 +5557,13 @@ let
         sha1 = "a777360b5b39a1a2e5106f8e858f2fd2d060c570";
       };
     };
-    "@putdotio/api-client-8.16.0" = {
+    "@putdotio/api-client-8.17.0" = {
       name = "_at_putdotio_slash_api-client";
       packageName = "@putdotio/api-client";
-      version = "8.16.0";
+      version = "8.17.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@putdotio/api-client/-/api-client-8.16.0.tgz";
-        sha512 = "9a00sd5aArb5s1R8MBsHULP3gcRsD9ivokRUCtS3oBf8M53u9XUAx/D79sehhiWbMR20DYxwUFfSoEvM/daq3Q==";
+        url = "https://registry.npmjs.org/@putdotio/api-client/-/api-client-8.17.0.tgz";
+        sha512 = "iLLe3tgQd9W8ZMbfaMXIzoWj/wc5xg5cwys5WEV39RDRL5x7uP6YvELJ0QDNxQTX9S+bT6SzwJiBEmX8DADPHA==";
       };
     };
     "@reach/router-1.3.4" = {
@@ -5440,13 +5611,13 @@ let
         sha512 = "tU8fQs0D76ZKhJ2cWtnfQthWqiZgGBx0gH0+5D8JvaBEBaqA8foPPBt3Nonwr3ygyv5xrw2IzKWgIY86BlGs+w==";
       };
     };
-    "@redocly/openapi-core-1.0.0-beta.54" = {
+    "@redocly/openapi-core-1.0.0-beta.55" = {
       name = "_at_redocly_slash_openapi-core";
       packageName = "@redocly/openapi-core";
-      version = "1.0.0-beta.54";
+      version = "1.0.0-beta.55";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.0.0-beta.54.tgz";
-        sha512 = "uYs0N1Trjkh7u8IMIuCU2VxCXhMyGWSZUkP/WNdTR1OgBUtvNdF9C32zoQV+hyCIH4gVu42ROHkjisy333ZX+w==";
+        url = "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.0.0-beta.55.tgz";
+        sha512 = "n/uukofKgqLdF1RyaqIOz+QneonKudV77M8j8SnGxP+bg7ujn+lmjcLy96ECtLvom0+BTbbzSMQpJeEix6MGuQ==";
       };
     };
     "@redocly/react-dropdown-aria-2.0.12" = {
@@ -5467,15 +5638,6 @@ let
         sha512 = "9uIC8HZOnVLrLHxayq/PTzw+uS25E14KPUBh5ktF+18Mjo5yK0ToMMx6epY0uEgkjwJw0aBW4x2horYXh8juWw==";
       };
     };
-    "@rollup/plugin-commonjs-17.1.0" = {
-      name = "_at_rollup_slash_plugin-commonjs";
-      packageName = "@rollup/plugin-commonjs";
-      version = "17.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-17.1.0.tgz";
-        sha512 = "PoMdXCw0ZyvjpCMT5aV4nkL0QywxP29sODQsSGeDpr/oI49Qq9tRtAsb/LbYbDzFlOydVEqHmmZWFtXJEAX9ew==";
-      };
-    };
     "@rollup/plugin-commonjs-18.1.0" = {
       name = "_at_rollup_slash_plugin-commonjs";
       packageName = "@rollup/plugin-commonjs";
@@ -5512,15 +5674,6 @@ let
         sha512 = "yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==";
       };
     };
-    "@rollup/plugin-replace-2.4.2" = {
-      name = "_at_rollup_slash_plugin-replace";
-      packageName = "@rollup/plugin-replace";
-      version = "2.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz";
-        sha512 = "IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==";
-      };
-    };
     "@rollup/pluginutils-3.1.0" = {
       name = "_at_rollup_slash_pluginutils";
       packageName = "@rollup/pluginutils";
@@ -5557,13 +5710,13 @@ let
         sha512 = "c/qwwcHyafOQuVQJj0IlBjf5yYgBI7YPJ77k4fOJYesb41jio65eaJODRUmfYKhTOFBrIZ66kgvGPlNbjuoRdQ==";
       };
     };
-    "@schematics/angular-12.1.2" = {
+    "@schematics/angular-12.2.3" = {
       name = "_at_schematics_slash_angular";
       packageName = "@schematics/angular";
-      version = "12.1.2";
+      version = "12.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@schematics/angular/-/angular-12.1.2.tgz";
-        sha512 = "nnFPp9uHLinP05r9TFsWT+fwlbwbLHg3yzJr+0aIOX1OsZQFV8hblEFEqdzFQJyx1uGMp4nvBHvCUlYv9GVQLg==";
+        url = "https://registry.npmjs.org/@schematics/angular/-/angular-12.2.3.tgz";
+        sha512 = "MyInM0/Dg1geP5eYx370IX6l70ZTtGq7QIt9CFBViHlX4BWNmXq5bbJIPYJ/FWwT+zhSK7zp5AcyDKg6PWqh/Q==";
       };
     };
     "@segment/loosely-validate-event-2.0.0" = {
@@ -5593,13 +5746,13 @@ let
         sha512 = "lOUyRopNTKJYVEU9T6stp2irwlTDsYMmUKBOUjnMcwGveuUfIJqrCOtFLtIPPj3XJlbZy5F68l4KP9rZ8Ipang==";
       };
     };
-    "@serverless/components-3.14.0" = {
+    "@serverless/components-3.16.0" = {
       name = "_at_serverless_slash_components";
       packageName = "@serverless/components";
-      version = "3.14.0";
+      version = "3.16.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@serverless/components/-/components-3.14.0.tgz";
-        sha512 = "Ssuu+OcyWvisGIMZD4Lr9Uj20Ndgb9a8Z/Jw4VbhFS+grc89uK7vZR3pS9I4LTfTUKH4HUbMJXxDndNEFGgLAA==";
+        url = "https://registry.npmjs.org/@serverless/components/-/components-3.16.0.tgz";
+        sha512 = "vgsfR0V4dierB97GKgtfFp/s5XN3zmEQlhRfshWLHjoXvJe2HvWOZXy5Bqyzb1WMr6S0dp/wXQzcnVStbiyBaw==";
       };
     };
     "@serverless/core-1.1.2" = {
@@ -5611,13 +5764,13 @@ let
         sha512 = "PY7gH+7aQ+MltcUD7SRDuQODJ9Sav9HhFJsgOiyf8IVo7XVD6FxZIsSnpMI6paSkptOB7n+0Jz03gNlEkKetQQ==";
       };
     };
-    "@serverless/dashboard-plugin-5.4.3" = {
+    "@serverless/dashboard-plugin-5.4.4" = {
       name = "_at_serverless_slash_dashboard-plugin";
       packageName = "@serverless/dashboard-plugin";
-      version = "5.4.3";
+      version = "5.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@serverless/dashboard-plugin/-/dashboard-plugin-5.4.3.tgz";
-        sha512 = "lgQh7NG5B0T+jr5/CWLZUvW2EqQ5Phzf+XTybM/I+Obwc5jxtpOmPgItDs52kBgyNLDJAqzUN+YRpfE/HBGsoQ==";
+        url = "https://registry.npmjs.org/@serverless/dashboard-plugin/-/dashboard-plugin-5.4.4.tgz";
+        sha512 = "1lLChYK/zwrF5SEAubVr9Oz/xGnq1Yjbw36X1iz0j/+jwbtpt1AeumksArA3UVAgDSecVOfaksxUta2cc10pRA==";
       };
     };
     "@serverless/event-mocks-1.1.1" = {
@@ -5629,22 +5782,22 @@ let
         sha512 = "YAV5V/y+XIOfd+HEVeXfPWZb8C6QLruFk9tBivoX2roQLWVq145s4uxf8D0QioCueuRzkukHUS4JIj+KVoS34A==";
       };
     };
-    "@serverless/platform-client-4.2.5" = {
+    "@serverless/platform-client-4.3.0" = {
       name = "_at_serverless_slash_platform-client";
       packageName = "@serverless/platform-client";
-      version = "4.2.5";
+      version = "4.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@serverless/platform-client/-/platform-client-4.2.5.tgz";
-        sha512 = "PqQptakqHs6DHVY3fCqyMqdaFSKgehvUGrobWBUhcsmovnGY1Fzw9s3uqnqt2jmaCICNzPn/hPN+P+JbsG7itA==";
+        url = "https://registry.npmjs.org/@serverless/platform-client/-/platform-client-4.3.0.tgz";
+        sha512 = "q2CMqCkKeBaKA/UwfJAZLkdUsbghSbiYPvAX4rl9rsR5APm4KWtjKQP9CTOtVO5JRMWYoysK6jF0d5VJOABRzQ==";
       };
     };
-    "@serverless/platform-client-china-2.2.0" = {
+    "@serverless/platform-client-china-2.2.3" = {
       name = "_at_serverless_slash_platform-client-china";
       packageName = "@serverless/platform-client-china";
-      version = "2.2.0";
+      version = "2.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@serverless/platform-client-china/-/platform-client-china-2.2.0.tgz";
-        sha512 = "cNEMjQ826PfZOYSY00eIOSFZEdmy4QU4L6wU9rzhpIhURRsoULnPE5tfYAs2yTYPBRSgV9o3eqLmh5+pOcVbLw==";
+        url = "https://registry.npmjs.org/@serverless/platform-client-china/-/platform-client-china-2.2.3.tgz";
+        sha512 = "MoDxI0d3HMesHwdyk7gzwLNU0wuJk/ovL9+XD/gAZgnrdZpFFq9kwnJAm2midL7jdhpnEFu/aoGJ0eE+xtQJ7w==";
       };
     };
     "@serverless/template-1.1.4" = {
@@ -5674,13 +5827,13 @@ let
         sha512 = "cl5uPaGg72z0sCUpF0zsOhwYYUV72Gxc1FwFfxltO8hSvMeFDvwD7JrNE4kHcIcKRjwPGbSH0fdVPUpErZ8Mog==";
       };
     };
-    "@serverless/utils-5.6.0" = {
+    "@serverless/utils-5.7.0" = {
       name = "_at_serverless_slash_utils";
       packageName = "@serverless/utils";
-      version = "5.6.0";
+      version = "5.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@serverless/utils/-/utils-5.6.0.tgz";
-        sha512 = "R3mb6DlPwrlo49fwQNz3YTQb2XJCxVui+s/olVBSdAh82fi8EbbjgkZkaLKB9ES7lV2MIr3jqrIWjYyGE/2Bgw==";
+        url = "https://registry.npmjs.org/@serverless/utils/-/utils-5.7.0.tgz";
+        sha512 = "4/9lTag4NNMtgoK7qRSoP//VplnKUTqgKMJ5pjvuXHFTBNoGYbdi5Cr1UmbHwnG8FfYBUy95jNUHjSEeUXDqgg==";
       };
     };
     "@serverless/utils-china-1.1.4" = {
@@ -5827,211 +5980,13 @@ let
         sha512 = "CWr7a3rTVrN5Vs8GYReRAvTourbXHOqB1zglcskj05ICH4GZL5BOAza2ARai+qc3Nz0nY08Bozi1x0014KOqlg==";
       };
     };
-    "@snyk/child-process-0.3.1" = {
-      name = "_at_snyk_slash_child-process";
-      packageName = "@snyk/child-process";
-      version = "0.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@snyk/child-process/-/child-process-0.3.1.tgz";
-        sha512 = "iJn0ENqf3xnYQdG/j9+pdqQPTrXCNXWU3I/AXGFx6Zr8IRBqBr5vXGTuwIJBYkq7s6bfIfz5AjUgPShCzeqn0w==";
-      };
-    };
-    "@snyk/cli-interface-2.11.0" = {
-      name = "_at_snyk_slash_cli-interface";
-      packageName = "@snyk/cli-interface";
-      version = "2.11.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@snyk/cli-interface/-/cli-interface-2.11.0.tgz";
-        sha512 = "T3xfDqrEFKclHGdJx4/5+D5F7e76/99f33guE4RTlVITBhy7VVnjz4t/NDr3UYqcC0MgAmiC4bSVYHnlshuwJw==";
-      };
-    };
-    "@snyk/cloud-config-parser-1.9.3" = {
-      name = "_at_snyk_slash_cloud-config-parser";
-      packageName = "@snyk/cloud-config-parser";
-      version = "1.9.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@snyk/cloud-config-parser/-/cloud-config-parser-1.9.3.tgz";
-        sha512 = "qv9NsIESPtyC2vKkqA7wEFePNuklksnQWJTWX8Cy3CQoCpZk80XwH50OVpDIU2szgnkWUm1XNSahG/IwVMSbOw==";
-      };
-    };
-    "@snyk/cocoapods-lockfile-parser-3.6.2" = {
-      name = "_at_snyk_slash_cocoapods-lockfile-parser";
-      packageName = "@snyk/cocoapods-lockfile-parser";
-      version = "3.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@snyk/cocoapods-lockfile-parser/-/cocoapods-lockfile-parser-3.6.2.tgz";
-        sha512 = "ca2JKOnSRzYHJkhOB9gYmdRZHmd02b/uBd/S0D5W+L9nIMS7sUBV5jfhKwVgrYPIpVNIc0XCI9rxK4TfkQRpiA==";
-      };
-    };
-    "@snyk/code-client-3.9.0" = {
-      name = "_at_snyk_slash_code-client";
-      packageName = "@snyk/code-client";
-      version = "3.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@snyk/code-client/-/code-client-3.9.0.tgz";
-        sha512 = "sscrpiODOlQI87B4OFIClnoZmHEHzJ7vULYhikS/R/2KavG4vGPw7Qe2to5rximxR3VFdWQ0wNVFB0RkU2mjPQ==";
-      };
-    };
-    "@snyk/composer-lockfile-parser-1.4.1" = {
-      name = "_at_snyk_slash_composer-lockfile-parser";
-      packageName = "@snyk/composer-lockfile-parser";
-      version = "1.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@snyk/composer-lockfile-parser/-/composer-lockfile-parser-1.4.1.tgz";
-        sha512 = "wNANv235j95NFsQuODIXCiQZ9kcyg9fz92Kg1zoGvaP3kN/ma7fgCnvQL/dyml6iouQJR5aZovjhrrfEFoKtiQ==";
-      };
-    };
-    "@snyk/dep-graph-1.28.1" = {
-      name = "_at_snyk_slash_dep-graph";
-      packageName = "@snyk/dep-graph";
-      version = "1.28.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@snyk/dep-graph/-/dep-graph-1.28.1.tgz";
-        sha512 = "ti5fPYivhBGCJ7rZGznMX2UJE1M5lR811WvVyBWTRJwLYVFYkhxRXKfgZUXEB0tq8vpo3V7tm3syrBd5TLPIMA==";
-      };
-    };
-    "@snyk/docker-registry-v2-client-2.2.4" = {
-      name = "_at_snyk_slash_docker-registry-v2-client";
-      packageName = "@snyk/docker-registry-v2-client";
-      version = "2.2.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@snyk/docker-registry-v2-client/-/docker-registry-v2-client-2.2.4.tgz";
-        sha512 = "7JoxHCYAjJQBOEa11Sdb1scjtq/K4HVDlcE10pNFKbmcUn5Gcm/VDJ2RMEbG2oBdmHTTJMJ5RopIiNMSFd669w==";
-      };
-    };
-    "@snyk/fast-glob-3.2.6-patch" = {
-      name = "_at_snyk_slash_fast-glob";
-      packageName = "@snyk/fast-glob";
-      version = "3.2.6-patch";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@snyk/fast-glob/-/fast-glob-3.2.6-patch.tgz";
-        sha512 = "E/Pfdze/WFfxwyuTFcfhQN1SwyUsc43yuCoW63RVBCaxTD6OzhVD2Pvc/Sy7BjiWUfmelzyKkIBpoow8zZX7Zg==";
-      };
-    };
-    "@snyk/fix-1.650.0" = {
-      name = "_at_snyk_slash_fix";
-      packageName = "@snyk/fix";
-      version = "1.650.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@snyk/fix/-/fix-1.650.0.tgz";
-        sha512 = "qzwb0+DMrjxTsBXAcC74gb2X17925SapCBNo6DybLbOZXNJ6IFvtdN5ucd2FguEojfVyB4HVqkpbawc0bbfGtA==";
-      };
-    };
-    "@snyk/fix-pipenv-pipfile-0.5.4" = {
-      name = "_at_snyk_slash_fix-pipenv-pipfile";
-      packageName = "@snyk/fix-pipenv-pipfile";
-      version = "0.5.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@snyk/fix-pipenv-pipfile/-/fix-pipenv-pipfile-0.5.4.tgz";
-        sha512 = "n1Sg21htJG+gqw2Q9JYsIFxT5IDtELifbQZheiLhOl8sgfoD6oCNyf07IwUqzPrW2wRpmCrTUtuO08+KGnzJpg==";
-      };
-    };
-    "@snyk/fix-poetry-0.7.2" = {
-      name = "_at_snyk_slash_fix-poetry";
-      packageName = "@snyk/fix-poetry";
-      version = "0.7.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@snyk/fix-poetry/-/fix-poetry-0.7.2.tgz";
-        sha512 = "abBdeOb326exreUDnCkELw9GVOR7qdUQmX0sKyE1baz3i9WaWI5Wy0bWHqjw9oGE5ZP8Ki/xtzkHU2W57D++Zg==";
-      };
-    };
-    "@snyk/gemfile-1.2.0" = {
-      name = "_at_snyk_slash_gemfile";
-      packageName = "@snyk/gemfile";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@snyk/gemfile/-/gemfile-1.2.0.tgz";
-        sha512 = "nI7ELxukf7pT4/VraL4iabtNNMz8mUo7EXlqCFld8O5z6mIMLX9llps24iPpaIZOwArkY3FWA+4t+ixyvtTSIA==";
-      };
-    };
-    "@snyk/glob-parent-5.1.2-patch.1" = {
-      name = "_at_snyk_slash_glob-parent";
-      packageName = "@snyk/glob-parent";
-      version = "5.1.2-patch.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@snyk/glob-parent/-/glob-parent-5.1.2-patch.1.tgz";
-        sha512 = "OkUPdHgxIWKAAzceG1nraNA0kgI+eS0I9wph8tll9UL0slD2mIWSj4mAqroGovaEXm8nHedoUfuDRGEb6wnzCQ==";
-      };
-    };
-    "@snyk/graphlib-2.1.9-patch.3" = {
-      name = "_at_snyk_slash_graphlib";
-      packageName = "@snyk/graphlib";
-      version = "2.1.9-patch.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@snyk/graphlib/-/graphlib-2.1.9-patch.3.tgz";
-        sha512 = "bBY9b9ulfLj0v2Eer0yFYa3syVeIxVKl2EpxSrsVeT4mjA0CltZyHsF0JjoaGXP27nItTdJS5uVsj1NA+3aE+Q==";
-      };
-    };
-    "@snyk/inquirer-7.3.3-patch" = {
-      name = "_at_snyk_slash_inquirer";
-      packageName = "@snyk/inquirer";
-      version = "7.3.3-patch";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@snyk/inquirer/-/inquirer-7.3.3-patch.tgz";
-        sha512 = "aWiQSOacH2lOpJ1ard9ErABcH4tdJogdr+mg1U67iZJOPO9n2gFgAwz1TQJDyPkv4/A5mh4hT2rg03Uq+KBn2Q==";
-      };
-    };
-    "@snyk/java-call-graph-builder-1.21.0" = {
-      name = "_at_snyk_slash_java-call-graph-builder";
-      packageName = "@snyk/java-call-graph-builder";
-      version = "1.21.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@snyk/java-call-graph-builder/-/java-call-graph-builder-1.21.0.tgz";
-        sha512 = "i0c4N0+pYjpXEgqAkFniM3Q9YANvy+RtbbkQMPIvdEw41+XJISfEHzZ968ZmGWcoi480cgo5t9oxZEadFuHzyg==";
-      };
-    };
-    "@snyk/java-call-graph-builder-1.23.0" = {
-      name = "_at_snyk_slash_java-call-graph-builder";
-      packageName = "@snyk/java-call-graph-builder";
-      version = "1.23.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@snyk/java-call-graph-builder/-/java-call-graph-builder-1.23.0.tgz";
-        sha512 = "Go/UV33/R0SW10nvshrs/s8GjY2mnbJaRV4Xkj4zGrwpK80lL30th6LDpXDKEdXPZ66EbYGS1Q9gGlL7GzOdeA==";
-      };
-    };
-    "@snyk/mix-parser-1.3.2" = {
-      name = "_at_snyk_slash_mix-parser";
-      packageName = "@snyk/mix-parser";
-      version = "1.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@snyk/mix-parser/-/mix-parser-1.3.2.tgz";
-        sha512 = "0Aq9vcgmjH0d9Gk5q0k6l4ZOvSHPf6/BCQGDVOpKp0hwOkXWnpDOLLPxL+uBCktuH9zTYQFB0aTk91kQImZqmA==";
-      };
-    };
-    "@snyk/rpm-parser-2.2.1" = {
-      name = "_at_snyk_slash_rpm-parser";
-      packageName = "@snyk/rpm-parser";
-      version = "2.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@snyk/rpm-parser/-/rpm-parser-2.2.1.tgz";
-        sha512 = "OAON0bPf3c5fgM/GK9DX0aZErB6SnuRyYlPH0rqI1TXGsKrYnVELhaE6ctNbEfPTQuY9r6q0vM+UYDaFM/YliA==";
-      };
-    };
-    "@snyk/snyk-cocoapods-plugin-2.5.2" = {
-      name = "_at_snyk_slash_snyk-cocoapods-plugin";
-      packageName = "@snyk/snyk-cocoapods-plugin";
-      version = "2.5.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@snyk/snyk-cocoapods-plugin/-/snyk-cocoapods-plugin-2.5.2.tgz";
-        sha512 = "WHhnwyoGOhjFOjBXqUfszD84SErrtjHjium/4xFbqKpEE+yuwxs8OwV/S29BtxhYiGtjpD1azv5QtH30VUMl0A==";
-      };
-    };
-    "@snyk/snyk-docker-pull-3.6.3" = {
-      name = "_at_snyk_slash_snyk-docker-pull";
-      packageName = "@snyk/snyk-docker-pull";
-      version = "3.6.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@snyk/snyk-docker-pull/-/snyk-docker-pull-3.6.3.tgz";
-        sha512 = "SXhIAVfBVB/WoMgh3pTJNEKehpHygzqnnqHpg3ucw2rc5z0LqSAJQyYWl3jSAUnl5LgA11UuYD8zj0dsRbed2A==";
-      };
-    };
-    "@snyk/snyk-hex-plugin-1.1.4" = {
-      name = "_at_snyk_slash_snyk-hex-plugin";
-      packageName = "@snyk/snyk-hex-plugin";
-      version = "1.1.4";
+    "@squoosh/lib-0.4.0" = {
+      name = "_at_squoosh_slash_lib";
+      packageName = "@squoosh/lib";
+      version = "0.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@snyk/snyk-hex-plugin/-/snyk-hex-plugin-1.1.4.tgz";
-        sha512 = "kLfFGckSmyKe667UGPyWzR/H7/Trkt4fD8O/ktElOx1zWgmivpLm0Symb4RCfEmz9irWv+N6zIKRrfSNdytcPQ==";
+        url = "https://registry.npmjs.org/@squoosh/lib/-/lib-0.4.0.tgz";
+        sha512 = "O1LyugWLZjMI4JZeZMA5vzfhfPjfMZXH5/HmVkRagP8B70wH3uoR7tjxfGNdSavey357MwL8YJDxbGwBBdHp7Q==";
       };
     };
     "@starptech/expression-parser-0.10.0" = {
@@ -6151,15 +6106,6 @@ let
         sha512 = "2kGbqUVJUGE8dM+bMzXG/PYUWKkjLIkRLWNh39OaADkiabDRdw8ATFCgbMz5xdIcvwspPAluSL7uY+ZiTWdWmQ==";
       };
     };
-    "@surma/rollup-plugin-off-main-thread-1.4.2" = {
-      name = "_at_surma_slash_rollup-plugin-off-main-thread";
-      packageName = "@surma/rollup-plugin-off-main-thread";
-      version = "1.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-1.4.2.tgz";
-        sha512 = "yBMPqmd1yEJo/280PAMkychuaALyQ9Lkb5q1ck3mjJrFuEobIfhnQ4J3mbvBoISmR3SWMWV+cGB/I0lCQee79A==";
-      };
-    };
     "@szmarczak/http-timer-1.1.2" = {
       name = "_at_szmarczak_slash_http-timer";
       packageName = "@szmarczak/http-timer";
@@ -6268,6 +6214,15 @@ let
         sha512 = "xAJ4U/fOL7FoX4bYeYRCsSIeTxFqzKd944AsVxAYrz2ZfKH0TtBSNDDtN22uBEXOrSCCR12Z7QuMcp+URyYWlw==";
       };
     };
+    "@textlint/markdown-to-ast-6.1.7" = {
+      name = "_at_textlint_slash_markdown-to-ast";
+      packageName = "@textlint/markdown-to-ast";
+      version = "6.1.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@textlint/markdown-to-ast/-/markdown-to-ast-6.1.7.tgz";
+        sha512 = "B0QtokeQR4a9+4q0NQr8T9l7A1fFihTN5Ze57tVgqW+3ymzXEouh8DvPHeNQ4T6jEkAThvdjk95mxAMpGRJ79w==";
+      };
+    };
     "@textlint/module-interop-12.0.2" = {
       name = "_at_textlint_slash_module-interop";
       packageName = "@textlint/module-interop";
@@ -6349,6 +6304,15 @@ let
         sha512 = "XO6INPbZCxdprl+9qa/AAbFFOMzzwqYxpjPgLICrMD6C2FCw6qfJOPcBk6JqqPLSaZ/Qx87qn4rpPmPMwaAK6w==";
       };
     };
+    "@tokenizer/token-0.3.0" = {
+      name = "_at_tokenizer_slash_token";
+      packageName = "@tokenizer/token";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz";
+        sha512 = "OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==";
+      };
+    };
     "@toml-tools/lexer-0.3.1" = {
       name = "_at_toml-tools_slash_lexer";
       packageName = "@toml-tools/lexer";
@@ -6394,13 +6358,13 @@ let
         sha512 = "XP20kvfyMNlWdPVQXyuzA40LoCHbbJptikt7W+TlZ5sS+NNjk70xjXCtHBLEudp7li3JldXEFSIUzpW1a0WEhA==";
       };
     };
-    "@turist/time-0.0.1" = {
+    "@turist/time-0.0.2" = {
       name = "_at_turist_slash_time";
       packageName = "@turist/time";
-      version = "0.0.1";
+      version = "0.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@turist/time/-/time-0.0.1.tgz";
-        sha512 = "M2BiThcbxMxSKX8W4z5u9jKZn6datnM3+FpEU+eYw0//l31E2xhqi7vTAuJ/Sf0P3yhp66SDJgPu3bRRpvrdQQ==";
+        url = "https://registry.npmjs.org/@turist/time/-/time-0.0.2.tgz";
+        sha512 = "qLOvfmlG2vCVw5fo/oz8WAZYlpe5a5OurgTj3diIxJCdjRHpapC+vQCz3er9LV79Vcat+DifBjeAhOAdmndtDQ==";
       };
     };
     "@types/accepts-1.3.5" = {
@@ -6430,13 +6394,13 @@ let
         sha512 = "8GAYQ1jDRUQkSpHzJUqXwAkYFOxuWAOGLhIR4aPd/Y/yL12Q/9m7LsKpHKlfKdNE/362Hc9wPI1Yh6opDfxVJg==";
       };
     };
-    "@types/babel-types-7.0.10" = {
+    "@types/babel-types-7.0.11" = {
       name = "_at_types_slash_babel-types";
       packageName = "@types/babel-types";
-      version = "7.0.10";
+      version = "7.0.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/babel-types/-/babel-types-7.0.10.tgz";
-        sha512 = "g7zrcqL4MiRu3jZzdZZYk0g0KcKk2fddXazSdP1PacEpmjihRsNGU50aaEKnPFuKzfN7WkRktUiCXvs4zU9XXQ==";
+        url = "https://registry.npmjs.org/@types/babel-types/-/babel-types-7.0.11.tgz";
+        sha512 = "pkPtJUUY+Vwv6B1inAz55rQvivClHJxc9aVEPPmaq2cbyeMLCiDpbKpcKyX4LAwpNGi+SHBv0tHv6+0gXv0P2A==";
       };
     };
     "@types/babel__core-7.1.15" = {
@@ -6628,13 +6592,13 @@ let
         sha512 = "vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==";
       };
     };
-    "@types/debug-4.1.6" = {
-      name = "_at_types_slash_debug";
-      packageName = "@types/debug";
-      version = "4.1.6";
+    "@types/debounce-1.2.0" = {
+      name = "_at_types_slash_debounce";
+      packageName = "@types/debounce";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/debug/-/debug-4.1.6.tgz";
-        sha512 = "7fDOJFA/x8B+sO1901BmHlf5dE1cxBU8mRXj8QOEDnn16hhGJv/IHxJtZhvsabZsIMn0eLIyeOKAeqSNJJYTpA==";
+        url = "https://registry.npmjs.org/@types/debounce/-/debounce-1.2.0.tgz";
+        sha512 = "bWG5wapaWgbss9E238T0R6bfo5Fh3OkeoSt245CM7JJwVwpw6MEBCbIxLq5z8KzsE3uJhzcIuQkyiZmzV3M/Dw==";
       };
     };
     "@types/decompress-4.2.4" = {
@@ -6646,6 +6610,15 @@ let
         sha512 = "/C8kTMRTNiNuWGl5nEyKbPiMv6HA+0RbEXzFhFBEzASM6+oa4tJro9b8nj7eRlOFfuLdzUU+DS/GPDlvvzMOhA==";
       };
     };
+    "@types/dom4-2.0.2" = {
+      name = "_at_types_slash_dom4";
+      packageName = "@types/dom4";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/dom4/-/dom4-2.0.2.tgz";
+        sha512 = "Rt4IC1T7xkCWa0OG1oSsPa0iqnxlDeQqKXZAHrQGLb7wFGncWm85MaxKUjAGejOrUynOgWlFi4c6S6IyJwoK4g==";
+      };
+    };
     "@types/download-8.0.1" = {
       name = "_at_types_slash_download";
       packageName = "@types/download";
@@ -6673,22 +6646,22 @@ let
         sha512 = "kM2g9Fdk/du24fKuuQhA/LBleFR4Z4JP2MVKpLxQQSzofF1uJ06D+c05zfLDAkkDO55aEeNwJih0gHrE/Ci20A==";
       };
     };
-    "@types/emscripten-1.39.5" = {
-      name = "_at_types_slash_emscripten";
-      packageName = "@types/emscripten";
-      version = "1.39.5";
+    "@types/emoji-mart-3.0.5" = {
+      name = "_at_types_slash_emoji-mart";
+      packageName = "@types/emoji-mart";
+      version = "3.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/emscripten/-/emscripten-1.39.5.tgz";
-        sha512 = "DIOOg+POSrYl+OlNRHQuIEqCd8DCtynG57H862UCce16nXJX7J8eWxNGgOcf8Eyge8zXeSs27mz1UcFu8L/L7g==";
+        url = "https://registry.npmjs.org/@types/emoji-mart/-/emoji-mart-3.0.5.tgz";
+        sha512 = "bsMEXVPrasIJ03u61msIKMMiL7Hh6dGQ3Gcz3CjytTxTQKQRdf/g0owWTSSL5mvKNgu9UfgornrF6qqClPk1Jw==";
       };
     };
-    "@types/engine.io-3.1.6" = {
+    "@types/engine.io-3.1.7" = {
       name = "_at_types_slash_engine.io";
       packageName = "@types/engine.io";
-      version = "3.1.6";
+      version = "3.1.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/engine.io/-/engine.io-3.1.6.tgz";
-        sha512 = "uFIEJESFKNNiuKt93ri5PnvRntAHCm/Aw9tTO2L25xXJSLzC/ARGmpDSJkuTCit7sUW5xUxr91Ta+UOiYaO3+A==";
+        url = "https://registry.npmjs.org/@types/engine.io/-/engine.io-3.1.7.tgz";
+        sha512 = "qNjVXcrp+1sS8YpRUa714r0pgzOwESdW5UjHL7D/2ZFdBX0BXUXtg1LUrp+ylvqbvMcMWUy73YpRoxPN2VoKAQ==";
       };
     };
     "@types/eslint-7.28.0" = {
@@ -6727,15 +6700,6 @@ let
         sha512 = "EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==";
       };
     };
-    "@types/estree-0.0.49" = {
-      name = "_at_types_slash_estree";
-      packageName = "@types/estree";
-      version = "0.0.49";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/estree/-/estree-0.0.49.tgz";
-        sha512 = "K1AFuMe8a+pXmfHTtnwBvqoEylNKVeaiKYkjmcEAdytMQVJ/i9Fu7sc13GxgXdO49gkE7Hy8SyJonUZUn+eVaw==";
-      };
-    };
     "@types/estree-0.0.50" = {
       name = "_at_types_slash_estree";
       packageName = "@types/estree";
@@ -6808,15 +6772,6 @@ let
         sha512 = "IyNhGHu71jH1jCXTHmafuoAAdsbBON3kDh7u/UUhLmjYgN5TYB54e1R8ckTCiIevl2UuZaCsi9XRxineY5yUjw==";
       };
     };
-    "@types/flat-cache-2.0.0" = {
-      name = "_at_types_slash_flat-cache";
-      packageName = "@types/flat-cache";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/flat-cache/-/flat-cache-2.0.0.tgz";
-        sha512 = "fHeEsm9hvmZ+QHpw6Fkvf19KIhuqnYLU6vtWLjd5BsMd/qVi7iTkMioDZl0mQmfNRA1A6NwvhrSRNr9hGYZGww==";
-      };
-    };
     "@types/fs-capacitor-2.0.0" = {
       name = "_at_types_slash_fs-capacitor";
       packageName = "@types/fs-capacitor";
@@ -6826,6 +6781,15 @@ let
         sha512 = "FKVPOCFbhCvZxpVAMhdBdTfVfXUpsh15wFHgqOKxh9N9vzWZVuWCSijZ5T4U34XYNnuj2oduh6xcs1i+LPI+BQ==";
       };
     };
+    "@types/fs-extra-8.1.2" = {
+      name = "_at_types_slash_fs-extra";
+      packageName = "@types/fs-extra";
+      version = "8.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-8.1.2.tgz";
+        sha512 = "SvSrYXfWSc7R4eqnOzbQF4TZmfpNSM9FrSWLU3EUnWBuyZqNBOrv1B1JA3byUDPUl9z4Ab3jeZG2eDdySlgNMg==";
+      };
+    };
     "@types/fs-extra-9.0.12" = {
       name = "_at_types_slash_fs-extra";
       packageName = "@types/fs-extra";
@@ -6835,6 +6799,15 @@ let
         sha512 = "I+bsBr67CurCGnSenZZ7v94gd3tc3+Aj2taxMT4yu4ABLuOgOjeFxX3dokG24ztSRg5tnT00sL8BszO7gSMoIw==";
       };
     };
+    "@types/geojson-7946.0.8" = {
+      name = "_at_types_slash_geojson";
+      packageName = "@types/geojson";
+      version = "7946.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.8.tgz";
+        sha512 = "1rkryxURpr6aWP7R786/UQOkJ3PcpQiWkAXBmdWc7ryFWqN6a4xfK7BtjXvFBKO9LjQ+MWQSWxYeZX1OApnArA==";
+      };
+    };
     "@types/glob-7.1.4" = {
       name = "_at_types_slash_glob";
       packageName = "@types/glob";
@@ -6862,22 +6835,13 @@ let
         sha512 = "anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==";
       };
     };
-    "@types/graphlib-2.1.8" = {
-      name = "_at_types_slash_graphlib";
-      packageName = "@types/graphlib";
-      version = "2.1.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/graphlib/-/graphlib-2.1.8.tgz";
-        sha512 = "8nbbyD3zABRA9ePoBgAl2ym8cIwKQXTfv1gaIRTdY99yEOCaHfmjBeRp+BIemS8NtOqoWK7mfzWxjNrxLK3T5w==";
-      };
-    };
-    "@types/hast-2.3.2" = {
+    "@types/hast-2.3.4" = {
       name = "_at_types_slash_hast";
       packageName = "@types/hast";
-      version = "2.3.2";
+      version = "2.3.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/hast/-/hast-2.3.2.tgz";
-        sha512 = "Op5W7jYgZI7AWKY5wQ0/QNMzQM7dGQPyW1rXKNiymVCy5iTfdPuGu4HhYNOM2sIv8gUfIuIdcYlXmAepwaowow==";
+        url = "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz";
+        sha512 = "wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==";
       };
     };
     "@types/hls.js-0.13.1" = {
@@ -6898,13 +6862,13 @@ let
         sha512 = "h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w==";
       };
     };
-    "@types/http-assert-1.5.1" = {
+    "@types/http-assert-1.5.3" = {
       name = "_at_types_slash_http-assert";
       packageName = "@types/http-assert";
-      version = "1.5.1";
+      version = "1.5.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/http-assert/-/http-assert-1.5.1.tgz";
-        sha512 = "PGAK759pxyfXE78NbKxyfRcWYA/KwW17X290cNev/qAsn9eQIxkH4shoNBafH37wewhDG/0p1cHPbK6+SzZjWQ==";
+        url = "https://registry.npmjs.org/@types/http-assert/-/http-assert-1.5.3.tgz";
+        sha512 = "FyAOrDuQmBi8/or3ns4rwPno7/9tJTijVW6aQQjK02+kOQ8zmoNg2XJtAuQhvQcy1ASJq38wirX5//9J1EqoUA==";
       };
     };
     "@types/http-cache-semantics-4.0.1" = {
@@ -7024,13 +6988,13 @@ let
         sha512 = "MhCUjojzDhVLnZnxwPwa+rETFRDQ0ffjxYdrqOP6TBO2O0/Z64PV5tNeYApo4bc4y4frbWOrRwv/eEkXlI13Rw==";
       };
     };
-    "@types/json-schema-7.0.8" = {
+    "@types/json-schema-7.0.9" = {
       name = "_at_types_slash_json-schema";
       packageName = "@types/json-schema";
-      version = "7.0.8";
+      version = "7.0.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.8.tgz";
-        sha512 = "YSBPTLTVm2e2OoQIDYx8HaeWJ5tTToLH67kXR7zYNGupXMEHa2++G8k+DczX2cFVgalypqtyZIcU19AFcmOpmg==";
+        url = "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz";
+        sha512 = "qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==";
       };
     };
     "@types/keygrip-1.0.2" = {
@@ -7078,40 +7042,13 @@ let
         sha512 = "EP6O3Jkr7bXvZZSZYlsgt5DIjiGr0dXP1/jVEwVLTFgg0d+3lWVQkRavYVQszV7dYUwvg0B8R0MBDpcmXg7XIA==";
       };
     };
-    "@types/lodash-4.14.171" = {
+    "@types/lodash-4.14.172" = {
       name = "_at_types_slash_lodash";
       packageName = "@types/lodash";
-      version = "4.14.171";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.171.tgz";
-        sha512 = "7eQ2xYLLI/LsicL2nejW9Wyko3lcpN6O/z0ZLHrEQsg280zIdCv1t/0m6UtBjUHokCGBQ3gYTbHzDkZ1xOBwwg==";
-      };
-    };
-    "@types/lodash.chunk-4.2.6" = {
-      name = "_at_types_slash_lodash.chunk";
-      packageName = "@types/lodash.chunk";
-      version = "4.2.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/lodash.chunk/-/lodash.chunk-4.2.6.tgz";
-        sha512 = "SPlusB7jxXyGcTXYcUdWr7WmhArO/rmTq54VN88iKMxGUhyg79I4Q8n4riGn3kjaTjOJrVlHhxgX/d7woak5BQ==";
-      };
-    };
-    "@types/lodash.omit-4.5.6" = {
-      name = "_at_types_slash_lodash.omit";
-      packageName = "@types/lodash.omit";
-      version = "4.5.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/lodash.omit/-/lodash.omit-4.5.6.tgz";
-        sha512 = "KXPpOSNX2h0DAG2w7ajpk7TXvWF28ZHs5nJhOJyP0BQHkehgr948RVsToItMme6oi0XJkp19CbuNXkIX8FiBlQ==";
-      };
-    };
-    "@types/lodash.union-4.6.6" = {
-      name = "_at_types_slash_lodash.union";
-      packageName = "@types/lodash.union";
-      version = "4.6.6";
+      version = "4.14.172";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/lodash.union/-/lodash.union-4.6.6.tgz";
-        sha512 = "Wu0ZEVNcyCz8eAn6TlUbYWZoGbH9E+iOHxAZbwUoCEXdUiy6qpcz5o44mMXViM4vlPLLCPlkAubEP1gokoSZaw==";
+        url = "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.172.tgz";
+        sha512 = "/BHF5HAx3em7/KkzVKm3LrsD6HZAXuXO1AJZQ3cRRBZj4oHZDviWPYu0aEplAqDFNHZPW6d3G7KN+ONcCCC7pw==";
       };
     };
     "@types/long-4.0.1" = {
@@ -7123,6 +7060,15 @@ let
         sha512 = "5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==";
       };
     };
+    "@types/mapbox-gl-0.54.5" = {
+      name = "_at_types_slash_mapbox-gl";
+      packageName = "@types/mapbox-gl";
+      version = "0.54.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/mapbox-gl/-/mapbox-gl-0.54.5.tgz";
+        sha512 = "h0MqA7rtP88vuMepODf1oomJLeuRAZfOiYdeGS3NYO4TMQs237TkA+bNehy7V5nfyCjPRuKrb0fnWMjncHak0g==";
+      };
+    };
     "@types/material-design-lite-1.1.16" = {
       name = "_at_types_slash_material-design-lite";
       packageName = "@types/material-design-lite";
@@ -7132,13 +7078,13 @@ let
         sha512 = "559S2XW9YMwHznROJ4WFhZJOerJPuxLfqOX+LIKukyLo2NbVgpULwXUsrBlCwhZ4+ACHgVAE23CC3RS52lFxwA==";
       };
     };
-    "@types/mdast-3.0.7" = {
+    "@types/mdast-3.0.10" = {
       name = "_at_types_slash_mdast";
       packageName = "@types/mdast";
-      version = "3.0.7";
+      version = "3.0.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.7.tgz";
-        sha512 = "YwR7OK8aPmaBvMMUi+pZXBNoW2unbVbfok4YRqGMJBe1dpDlzpRkJrYEYmvjxgs5JhuQmKfDexrN98u941Zasg==";
+        url = "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz";
+        sha512 = "W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==";
       };
     };
     "@types/mime-1.3.2" = {
@@ -7150,6 +7096,15 @@ let
         sha512 = "YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==";
       };
     };
+    "@types/mime-types-2.1.1" = {
+      name = "_at_types_slash_mime-types";
+      packageName = "@types/mime-types";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/mime-types/-/mime-types-2.1.1.tgz";
+        sha512 = "vXOTGVSLR2jMw440moWTC7H19iUyLtP3Z1YTj7cSsubOICinjMxFeb/V57v9QdyyPGbbWolUFSSmSiRSn94tFw==";
+      };
+    };
     "@types/minimatch-3.0.5" = {
       name = "_at_types_slash_minimatch";
       packageName = "@types/minimatch";
@@ -7249,24 +7204,6 @@ let
         sha512 = "F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==";
       };
     };
-    "@types/node-12.12.70" = {
-      name = "_at_types_slash_node";
-      packageName = "@types/node";
-      version = "12.12.70";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-12.12.70.tgz";
-        sha512 = "i5y7HTbvhonZQE+GnUM2rz1Bi8QkzxdQmEv1LKOv4nWyaQk/gdeiTApuQR3PDJHX7WomAbpx2wlWSEpxXGZ/UQ==";
-      };
-    };
-    "@types/node-13.13.52" = {
-      name = "_at_types_slash_node";
-      packageName = "@types/node";
-      version = "13.13.52";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-13.13.52.tgz";
-        sha512 = "s3nugnZumCC//n4moGGe6tkNMyYEdaDBitVjwPxXmR5lnMG5dHePinH2EdxkG3Rh1ghFHHixAG4NJhpJW1rthQ==";
-      };
-    };
     "@types/node-14.11.1" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
@@ -7276,13 +7213,13 @@ let
         sha512 = "oTQgnd0hblfLsJ6BvJzzSL+Inogp3lq9fGgqRkMB/ziKMgEUaFl801OncOzUmalfzt14N0oPHMK47ipl+wbTIw==";
       };
     };
-    "@types/node-14.17.5" = {
+    "@types/node-14.17.12" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "14.17.5";
+      version = "14.17.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-14.17.5.tgz";
-        sha512 = "bjqH2cX/O33jXT/UmReo2pM7DIJREPMnarixbQ57DOOzzFaI6D2+IcwaJQaJpv0M1E9TIhPCYVxrkcityLjlqA==";
+        url = "https://registry.npmjs.org/@types/node/-/node-14.17.12.tgz";
+        sha512 = "vhUqgjJR1qxwTWV5Ps5txuy2XMdf7Fw+OrdChRboy8BmWUPkckOhphaohzFG6b8DW7CrxaBMdrdJ47SYFq1okw==";
       };
     };
     "@types/node-15.12.5" = {
@@ -7294,13 +7231,13 @@ let
         sha512 = "se3yX7UHv5Bscf8f1ERKvQOD6sTyycH3hdaoozvaLxgUiY5lIGEeH37AD0G0Qi9kPqihPn0HOfd2yaIEN9VwEg==";
       };
     };
-    "@types/node-15.14.2" = {
+    "@types/node-15.14.9" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "15.14.2";
+      version = "15.14.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-15.14.2.tgz";
-        sha512 = "dvMUE/m2LbXPwlvVuzCyslTEtQ2ZwuuFClDrOQ6mp2CenCg971719PTILZ4I6bTP27xfFFc+o7x2TkLuun/MPw==";
+        url = "https://registry.npmjs.org/@types/node/-/node-15.14.9.tgz";
+        sha512 = "qjd88DrCxupx/kJD5yQgZdcYKZKSIGBVDIBE1/LTGcNm3d2Np/jxojkdePDdfnBHJc5W7vSMpbJ1aB7p/Py69A==";
       };
     };
     "@types/node-15.6.1" = {
@@ -7312,31 +7249,31 @@ let
         sha512 = "7EIraBEyRHEe7CH+Fm1XvgqU6uwZN8Q7jppJGcqjROMT29qhAuuOxYB1uEY5UMYQKEmA5D+5tBnhdaPXSsLONA==";
       };
     };
-    "@types/node-16.3.2" = {
+    "@types/node-16.3.3" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "16.3.2";
+      version = "16.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-16.3.2.tgz";
-        sha512 = "jJs9ErFLP403I+hMLGnqDRWT0RYKSvArxuBVh2veudHV7ifEC1WAmjJADacZ7mRbA2nWgHtn8xyECMAot0SkAw==";
+        url = "https://registry.npmjs.org/@types/node/-/node-16.3.3.tgz";
+        sha512 = "8h7k1YgQKxKXWckzFCMfsIwn0Y61UK6tlD6y2lOb3hTOIMlK3t9/QwHOhc81TwU+RMf0As5fj7NPjroERCnejQ==";
       };
     };
-    "@types/node-16.3.3" = {
+    "@types/node-16.6.1" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "16.3.3";
+      version = "16.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-16.3.3.tgz";
-        sha512 = "8h7k1YgQKxKXWckzFCMfsIwn0Y61UK6tlD6y2lOb3hTOIMlK3t9/QwHOhc81TwU+RMf0As5fj7NPjroERCnejQ==";
+        url = "https://registry.npmjs.org/@types/node/-/node-16.6.1.tgz";
+        sha512 = "Sr7BhXEAer9xyGuCN3Ek9eg9xPviCF2gfu9kTfuU2HkTVAMYSDeX40fvpmo72n5nansg3nsBjuQBrsS28r+NUw==";
       };
     };
-    "@types/node-16.4.0" = {
+    "@types/node-16.7.2" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "16.4.0";
+      version = "16.7.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-16.4.0.tgz";
-        sha512 = "HrJuE7Mlqcjj+00JqMWpZ3tY8w7EUd+S0U3L1+PQSWiXZbOgyQDvi+ogoUxaHApPJq5diKxYBQwA3iIlNcPqOg==";
+        url = "https://registry.npmjs.org/@types/node/-/node-16.7.2.tgz";
+        sha512 = "TbG4TOx9hng8FKxaVrCisdaxKxqEwJ3zwHoCWXZ0Jw6mnvTInpaB99/2Cy4+XxpXtjNv9/TgfGSvZFyfV/t8Fw==";
       };
     };
     "@types/node-6.14.13" = {
@@ -7366,13 +7303,13 @@ let
         sha512 = "/aKAdg5c8n468cYLy2eQrcR5k6chlbNwZNGUj3TboyPa2hcO2QAJcfymlqPzMiRj8B6nYKXjzQz36minFE0RwQ==";
       };
     };
-    "@types/node-fetch-2.5.11" = {
+    "@types/node-fetch-2.5.12" = {
       name = "_at_types_slash_node-fetch";
       packageName = "@types/node-fetch";
-      version = "2.5.11";
+      version = "2.5.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.11.tgz";
-        sha512 = "2upCKaqVZETDRb8A2VTaRymqFBEgH8u6yr96b/u3+1uQEPDRo3mJLEiPk7vdXBHRtjwkjqzFYMJXrt0Z9QsYjQ==";
+        url = "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.12.tgz";
+        sha512 = "MKgC4dlq4kKNa/mYrwpKfzQMB5X3ee5U6fSprkKpToBqBmX4nFZL9cW5jl6sWn+xpRJ7ypWh2yyqqr8UUCstSw==";
       };
     };
     "@types/normalize-package-data-2.4.1" = {
@@ -7420,6 +7357,15 @@ let
         sha512 = "a+fLdul8OczRvPWPf8eTb6wPhxzyWQwRGhNN0ugtOtk6yFOG53i2LwXaA0d2D6bsJlWxi6eCuGZLGoCcdOlWZA==";
       };
     };
+    "@types/prop-types-15.7.4" = {
+      name = "_at_types_slash_prop-types";
+      packageName = "@types/prop-types";
+      version = "15.7.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz";
+        sha512 = "rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==";
+      };
+    };
     "@types/pug-2.0.5" = {
       name = "_at_types_slash_pug";
       packageName = "@types/pug";
@@ -7465,6 +7411,42 @@ let
         sha512 = "EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==";
       };
     };
+    "@types/rc-1.2.0" = {
+      name = "_at_types_slash_rc";
+      packageName = "@types/rc";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/rc/-/rc-1.2.0.tgz";
+        sha512 = "eEQ6Hq0K0VShe00iDzG1DKxA5liTsk7jgcR5eDZ5d5cnivLjPqqcDgqurS5NlQJNfgTNg51dp7zFGWHomr5NJQ==";
+      };
+    };
+    "@types/react-16.14.14" = {
+      name = "_at_types_slash_react";
+      packageName = "@types/react";
+      version = "16.14.14";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/react/-/react-16.14.14.tgz";
+        sha512 = "uwIWDYW8LznHzEMJl7ag9St1RsK0gw/xaFZ5+uI1ZM1HndwUgmPH3/wQkSb87GkOVg7shUxnpNW8DcN0AzvG5Q==";
+      };
+    };
+    "@types/react-dom-16.9.14" = {
+      name = "_at_types_slash_react-dom";
+      packageName = "@types/react-dom";
+      version = "16.9.14";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.14.tgz";
+        sha512 = "FIX2AVmPTGP30OUJ+0vadeIFJJ07Mh1m+U0rxfgyW34p3rTlXI+nlenvAxNn4BP36YyI9IJ/+UJ7Wu22N1pI7A==";
+      };
+    };
+    "@types/react-virtualized-9.21.13" = {
+      name = "_at_types_slash_react-virtualized";
+      packageName = "@types/react-virtualized";
+      version = "9.21.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/react-virtualized/-/react-virtualized-9.21.13.tgz";
+        sha512 = "tCIQ5wDKj+QJ3sMzjPKSLY0AXsznt+ovAUcq+JCLjPBOcAHbPt4FraGT9HKYEFfmp9E6+ELuN49i5bWtuBmi3w==";
+      };
+    };
     "@types/request-2.48.5" = {
       name = "_at_types_slash_request";
       packageName = "@types/request";
@@ -7483,6 +7465,15 @@ let
         sha512 = "vrZaV3Ij7j/l/3hz6OttZFtpRCu7zlq7XgkYHJP6FwVEAZkGQ095WqyJV08/GlW9eyXKVcp/xmtruHm8eHpw1g==";
       };
     };
+    "@types/request-2.48.7" = {
+      name = "_at_types_slash_request";
+      packageName = "@types/request";
+      version = "2.48.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/request/-/request-2.48.7.tgz";
+        sha512 = "GWP9AZW7foLd4YQxyFZDBepl0lPsWLMEXDZUjQ/c1gqVPDPECrRZyEzuhJdnPWioFCq3Tv0qoGpMD6U+ygd4ZA==";
+      };
+    };
     "@types/request-promise-native-1.0.18" = {
       name = "_at_types_slash_request-promise-native";
       packageName = "@types/request-promise-native";
@@ -7528,15 +7519,6 @@ let
         sha512 = "xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==";
       };
     };
-    "@types/sarif-2.1.4" = {
-      name = "_at_types_slash_sarif";
-      packageName = "@types/sarif";
-      version = "2.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/sarif/-/sarif-2.1.4.tgz";
-        sha512 = "4xKHMdg3foh3Va1fxTzY1qt8QVqmaJpGWsVvtjQrJBn+/bkig2pWFKJ4FPI2yLI4PAj0SUKiPO4Vd7ggYIMZjQ==";
-      };
-    };
     "@types/sass-1.16.1" = {
       name = "_at_types_slash_sass";
       packageName = "@types/sass";
@@ -7546,13 +7528,22 @@ let
         sha512 = "iZUcRrGuz/Tbg3loODpW7vrQJkUtpY2fFSf4ELqqkApcS2TkZ1msk7ie8iZPB86lDOP8QOTTmuvWjc5S0R9OjQ==";
       };
     };
-    "@types/semver-7.3.7" = {
+    "@types/scheduler-0.16.2" = {
+      name = "_at_types_slash_scheduler";
+      packageName = "@types/scheduler";
+      version = "0.16.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz";
+        sha512 = "hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==";
+      };
+    };
+    "@types/semver-7.3.8" = {
       name = "_at_types_slash_semver";
       packageName = "@types/semver";
-      version = "7.3.7";
+      version = "7.3.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/semver/-/semver-7.3.7.tgz";
-        sha512 = "4g1jrL98mdOIwSOUh6LTlB0Cs9I0dQPwINUhBg7C6pN4HLr8GS8xsksJxilW6S6dQHVi2K/o+lQuQcg7LroCnw==";
+        url = "https://registry.npmjs.org/@types/semver/-/semver-7.3.8.tgz";
+        sha512 = "D/2EJvAlCEtYFEYmmlGwbGXuK886HzyCc3nZX/tkFTQdEU8jZDAgiv08P162yB17y4ZXZoq7yFAnW4GDBb9Now==";
       };
     };
     "@types/serve-static-1.13.10" = {
@@ -7654,15 +7645,6 @@ let
         sha512 = "Y0K95ThC3esLEYD6ZuqNek29lNX2EM1qxV8y2FTLUB0ff5wWrk7az+mLrnNFUnaXcgKye22+sFBRXOgpPILZNg==";
       };
     };
-    "@types/treeify-1.0.0" = {
-      name = "_at_types_slash_treeify";
-      packageName = "@types/treeify";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/treeify/-/treeify-1.0.0.tgz";
-        sha512 = "ONpcZAEYlbPx4EtJwfTyCDQJGUpKf4sEcuySdCVjK5Fj/3vHp5HII1fqa1/+qrsLnpYELCQTfVW/awsGJePoIg==";
-      };
-    };
     "@types/uglify-js-3.13.1" = {
       name = "_at_types_slash_uglify-js";
       packageName = "@types/uglify-js";
@@ -7690,13 +7672,22 @@ let
         sha512 = "awrJu8yML4E/xTwr2EMatC+HBnHGoDxc2+ImA9QyeUELI1S7dOCIZcyjki1rkwoA8P2D2NVgLAJLjnclkdLtAw==";
       };
     };
-    "@types/uuid-8.3.1" = {
+    "@types/url-parse-1.4.4" = {
+      name = "_at_types_slash_url-parse";
+      packageName = "@types/url-parse";
+      version = "1.4.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/url-parse/-/url-parse-1.4.4.tgz";
+        sha512 = "KtQLad12+4T/NfSxpoDhmr22+fig3T7/08QCgmutYA6QSznSRmEtuL95GrhVV40/0otTEdFc+etRcCTqhh1q5Q==";
+      };
+    };
+    "@types/uuid-3.4.10" = {
       name = "_at_types_slash_uuid";
       packageName = "@types/uuid";
-      version = "8.3.1";
+      version = "3.4.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.1.tgz";
-        sha512 = "Y2mHTRAbqfFkpjldbkHGY8JIzRN6XqYRliG8/24FcHm2D2PwW24fl5xMRTVGdrb7iMrwCaIEbLWerGIkXuFWVg==";
+        url = "https://registry.npmjs.org/@types/uuid/-/uuid-3.4.10.tgz";
+        sha512 = "BgeaZuElf7DEYZhWYDTc/XcLZXdVgFkVSTa13BqKvbnmUrxr3TJFKofUxCtDO9UQOdhnV+HPOESdHiHKZOJV1A==";
       };
     };
     "@types/vfile-3.0.2" = {
@@ -7726,13 +7717,13 @@ let
         sha512 = "1m6uReH8R/RuLVQGvTT/4LlWq67jZEUxp+FBHt0hYv2BT7TUwFbKI0wa7JZVEU/XtlcnX1QcTuZ36es4rGj7jg==";
       };
     };
-    "@types/vscode-1.58.1" = {
+    "@types/vscode-1.59.0" = {
       name = "_at_types_slash_vscode";
       packageName = "@types/vscode";
-      version = "1.58.1";
+      version = "1.59.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/vscode/-/vscode-1.58.1.tgz";
-        sha512 = "sa76rDXiSif09he8KoaWWUQxsuBr2+uND0xn1GUbEODkuEjp2p7Rqd3t5qlvklfmAedLFdL7MdnsPa57uzwcOw==";
+        url = "https://registry.npmjs.org/@types/vscode/-/vscode-1.59.0.tgz";
+        sha512 = "Zg38rusx2nU6gy6QdF7v4iqgxNfxzlBlDhrRCjOiPQp+sfaNrp3f9J6OHIhpGNN1oOAca4+9Hq0+8u3jwzPMlQ==";
       };
     };
     "@types/webpack-4.41.30" = {
@@ -7744,13 +7735,13 @@ let
         sha512 = "GUHyY+pfuQ6haAfzu4S14F+R5iGRwN6b2FRNJY7U0NilmFAqbsOfK6j1HwuLBAqwRIT+pVdNDJGJ6e8rpp0KHA==";
       };
     };
-    "@types/webpack-sources-2.1.1" = {
+    "@types/webpack-sources-3.2.0" = {
       name = "_at_types_slash_webpack-sources";
       packageName = "@types/webpack-sources";
-      version = "2.1.1";
+      version = "3.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-2.1.1.tgz";
-        sha512 = "MjM1R6iuw8XaVbtkCBz0N349cyqBjJHCbQiOeppe3VBeFvxqs74RKHAVt9LkxTnUWc7YLZOEsUfPUnmK6SBPKQ==";
+        url = "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.0.tgz";
+        sha512 = "Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==";
       };
     };
     "@types/websocket-1.0.2" = {
@@ -7762,6 +7753,15 @@ let
         sha512 = "B5m9aq7cbbD/5/jThEr33nUY8WEfVi6A2YKCTOvw5Ldy7mtsOkqRvGjnzy6g7iMMDsgu7xREuCzqATLDLQVKcQ==";
       };
     };
+    "@types/ws-6.0.4" = {
+      name = "_at_types_slash_ws";
+      packageName = "@types/ws";
+      version = "6.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/ws/-/ws-6.0.4.tgz";
+        sha512 = "PpPrX7SZW9re6+Ha8ojZG4Se8AZXgf0GK6zmfqEuCsY49LFDNXO3SByp44X3dFEqtB73lkCDAdUazhAjVPiNwg==";
+      };
+    };
     "@types/ws-7.4.4" = {
       name = "_at_types_slash_ws";
       packageName = "@types/ws";
@@ -7780,15 +7780,6 @@ let
         sha512 = "8mbDgtc8xpxDDem5Gwj76stBDJX35KQ3YBoayxlqUQcL5BZUthiqP/VQ4PQnLHqM4PmlbyO74t98eJpURO+gPA==";
       };
     };
-    "@types/ws-7.4.6" = {
-      name = "_at_types_slash_ws";
-      packageName = "@types/ws";
-      version = "7.4.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/ws/-/ws-7.4.6.tgz";
-        sha512 = "ijZ1vzRawI7QoWnTNL8KpHixd2b2XVb9I9HAqI3triPsh1EC0xH0Eg6w2O3TKbDCgiNNlJqfrof6j4T2I+l9vw==";
-      };
-    };
     "@types/ws-7.4.7" = {
       name = "_at_types_slash_ws";
       packageName = "@types/ws";
@@ -7798,15 +7789,6 @@ let
         sha512 = "JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==";
       };
     };
-    "@types/yargs-13.0.12" = {
-      name = "_at_types_slash_yargs";
-      packageName = "@types/yargs";
-      version = "13.0.12";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.12.tgz";
-        sha512 = "qCxJE1qgz2y0hA4pIxjBR+PelCH0U5CK1XJXFwCNqfmliatKp47UCXXE9Dyk1OXBDLvsCF57TqQEJaeLfDYEOQ==";
-      };
-    };
     "@types/yargs-15.0.14" = {
       name = "_at_types_slash_yargs";
       packageName = "@types/yargs";
@@ -7852,13 +7834,13 @@ let
         sha512 = "S9q47ByT2pPvD65IvrWp7qppVMpk9WGMbVq9wbWZOHg6tnXSD4vyhao6nOSBwwfDdV2p3Kx9evA9vI+XWTfDvw==";
       };
     };
-    "@typescript-eslint/eslint-plugin-4.28.4" = {
+    "@typescript-eslint/eslint-plugin-4.29.3" = {
       name = "_at_typescript-eslint_slash_eslint-plugin";
       packageName = "@typescript-eslint/eslint-plugin";
-      version = "4.28.4";
+      version = "4.29.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.28.4.tgz";
-        sha512 = "s1oY4RmYDlWMlcV0kKPBaADn46JirZzvvH7c2CtAqxCY96S538JRBAzt83RrfkDheV/+G/vWNK0zek+8TB3Gmw==";
+        url = "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.29.3.tgz";
+        sha512 = "tBgfA3K/3TsZY46ROGvoRxQr1wBkclbVqRQep97MjVHJzcRBURRY3sNFqLk0/Xr//BY5hM9H2p/kp+6qim85SA==";
       };
     };
     "@typescript-eslint/experimental-utils-3.10.1" = {
@@ -7870,13 +7852,13 @@ let
         sha512 = "DewqIgscDzmAfd5nOGe4zm6Bl7PKtMG2Ad0KG8CUZAHlXfAKTF9Ol5PXhiMh39yRL2ChRH1cuuUGOcVyyrhQIw==";
       };
     };
-    "@typescript-eslint/experimental-utils-4.28.4" = {
+    "@typescript-eslint/experimental-utils-4.29.3" = {
       name = "_at_typescript-eslint_slash_experimental-utils";
       packageName = "@typescript-eslint/experimental-utils";
-      version = "4.28.4";
+      version = "4.29.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.28.4.tgz";
-        sha512 = "OglKWOQRWTCoqMSy6pm/kpinEIgdcXYceIcH3EKWUl4S8xhFtN34GQRaAvTIZB9DD94rW7d/U7tUg3SYeDFNHA==";
+        url = "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.29.3.tgz";
+        sha512 = "ffIvbytTVWz+3keg+Sy94FG1QeOvmV9dP2YSdLFHw/ieLXWCa3U1TYu8IRCOpMv2/SPS8XqhM1+ou1YHsdzKrg==";
       };
     };
     "@typescript-eslint/parser-3.10.1" = {
@@ -7888,22 +7870,22 @@ let
         sha512 = "Ug1RcWcrJP02hmtaXVS3axPPTTPnZjupqhgj+NnZ6BCkwSImWk/283347+x9wN+lqOdK9Eo3vsyiyDHgsmiEJw==";
       };
     };
-    "@typescript-eslint/parser-4.28.4" = {
+    "@typescript-eslint/parser-4.29.3" = {
       name = "_at_typescript-eslint_slash_parser";
       packageName = "@typescript-eslint/parser";
-      version = "4.28.4";
+      version = "4.29.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.28.4.tgz";
-        sha512 = "4i0jq3C6n+og7/uCHiE6q5ssw87zVdpUj1k6VlVYMonE3ILdFApEzTWgppSRG4kVNB/5jxnH+gTeKLMNfUelQA==";
+        url = "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.29.3.tgz";
+        sha512 = "jrHOV5g2u8ROghmspKoW7pN8T/qUzk0+DITun0MELptvngtMrwUJ1tv5zMI04CYVEUsSrN4jV7AKSv+I0y0EfQ==";
       };
     };
-    "@typescript-eslint/scope-manager-4.28.4" = {
+    "@typescript-eslint/scope-manager-4.29.3" = {
       name = "_at_typescript-eslint_slash_scope-manager";
       packageName = "@typescript-eslint/scope-manager";
-      version = "4.28.4";
+      version = "4.29.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.28.4.tgz";
-        sha512 = "ZJBNs4usViOmlyFMt9X9l+X0WAFcDH7EdSArGqpldXu7aeZxDAuAzHiMAeI+JpSefY2INHrXeqnha39FVqXb8w==";
+        url = "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.29.3.tgz";
+        sha512 = "x+w8BLXO7iWPkG5mEy9bA1iFRnk36p/goVlYobVWHyDw69YmaH9q6eA+Fgl7kYHmFvWlebUTUfhtIg4zbbl8PA==";
       };
     };
     "@typescript-eslint/types-3.10.1" = {
@@ -7915,13 +7897,13 @@ let
         sha512 = "+3+FCUJIahE9q0lDi1WleYzjCwJs5hIsbugIgnbB+dSCYUxl8L6PwmsyOPFZde2hc1DlTo/xnkOgiTLSyAbHiQ==";
       };
     };
-    "@typescript-eslint/types-4.28.4" = {
+    "@typescript-eslint/types-4.29.3" = {
       name = "_at_typescript-eslint_slash_types";
       packageName = "@typescript-eslint/types";
-      version = "4.28.4";
+      version = "4.29.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.28.4.tgz";
-        sha512 = "3eap4QWxGqkYuEmVebUGULMskR6Cuoc/Wii0oSOddleP4EGx1tjLnZQ0ZP33YRoMDCs5O3j56RBV4g14T4jvww==";
+        url = "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.29.3.tgz";
+        sha512 = "s1eV1lKNgoIYLAl1JUba8NhULmf+jOmmeFO1G5MN/RBCyyzg4TIOfIOICVNC06lor+Xmy4FypIIhFiJXOknhIg==";
       };
     };
     "@typescript-eslint/typescript-estree-3.10.1" = {
@@ -7933,13 +7915,13 @@ let
         sha512 = "QbcXOuq6WYvnB3XPsZpIwztBoquEYLXh2MtwVU+kO8jgYCiv4G5xrSP/1wg4tkvrEE+esZVquIPX/dxPlePk1w==";
       };
     };
-    "@typescript-eslint/typescript-estree-4.28.4" = {
+    "@typescript-eslint/typescript-estree-4.29.3" = {
       name = "_at_typescript-eslint_slash_typescript-estree";
       packageName = "@typescript-eslint/typescript-estree";
-      version = "4.28.4";
+      version = "4.29.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.28.4.tgz";
-        sha512 = "z7d8HK8XvCRyN2SNp+OXC2iZaF+O2BTquGhEYLKLx5k6p0r05ureUtgEfo5f6anLkhCxdHtCf6rPM1p4efHYDQ==";
+        url = "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.29.3.tgz";
+        sha512 = "45oQJA0bxna4O5TMwz55/TpgjX1YrAPOI/rb6kPgmdnemRZx/dB0rsx+Ku8jpDvqTxcE1C/qEbVHbS3h0hflag==";
       };
     };
     "@typescript-eslint/visitor-keys-3.10.1" = {
@@ -7951,13 +7933,13 @@ let
         sha512 = "9JgC82AaQeglebjZMgYR5wgmfUdUc+EitGUUMW8u2nDckaeimzW+VsoLV6FoimPv2id3VQzfjwBxEMVz08ameQ==";
       };
     };
-    "@typescript-eslint/visitor-keys-4.28.4" = {
+    "@typescript-eslint/visitor-keys-4.29.3" = {
       name = "_at_typescript-eslint_slash_visitor-keys";
       packageName = "@typescript-eslint/visitor-keys";
-      version = "4.28.4";
+      version = "4.29.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.28.4.tgz";
-        sha512 = "NIAXAdbz1XdOuzqkJHjNKXKj8QQ4cv5cxR/g0uQhCYf/6//XrmfpaYsM7PnBcNbfvTDLUkqQ5TPNm1sozDdTWg==";
+        url = "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.29.3.tgz";
+        sha512 = "MGGfJvXT4asUTeVs0Q2m+sY63UsfnA+C/FDgBKV3itLBmM9H0u+URcneePtkd0at1YELmZK6HSolCqM4Fzs6yA==";
       };
     };
     "@uifabric/foundation-7.9.26" = {
@@ -8041,13 +8023,13 @@ let
         sha512 = "sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==";
       };
     };
-    "@unicode/unicode-13.0.0-1.1.0" = {
+    "@unicode/unicode-13.0.0-1.2.0" = {
       name = "_at_unicode_slash_unicode-13.0.0";
       packageName = "@unicode/unicode-13.0.0";
-      version = "1.1.0";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@unicode/unicode-13.0.0/-/unicode-13.0.0-1.1.0.tgz";
-        sha512 = "iOVqHDBzYSb4EOLBirZM9qNur+J7hAb6YyzGlUoAFx2ubb3Qidc+VhAuRQAxnOOWEqMcIZpnVnJ/OkTxbNmgEA==";
+        url = "https://registry.npmjs.org/@unicode/unicode-13.0.0/-/unicode-13.0.0-1.2.0.tgz";
+        sha512 = "ocuWbduBe3lNt/651RUs3eVbWLCQ7S40nxCCuErm0ynDZsraAzT9TGMea2qx9mUR59/un4a+SQSTHs1vB9QfPQ==";
       };
     };
     "@uphold/request-logger-2.0.0" = {
@@ -8059,6 +8041,51 @@ let
         sha1 = "c585c0bdb94210198945c6597e4fe23d6e63e084";
       };
     };
+    "@vercel/build-utils-2.12.2" = {
+      name = "_at_vercel_slash_build-utils";
+      packageName = "@vercel/build-utils";
+      version = "2.12.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@vercel/build-utils/-/build-utils-2.12.2.tgz";
+        sha512 = "KbSgG2ZCVXhUsdbnpv6gC7buygd31jaKiKhrd4Lzv1NwjnoeDZAXlm4hzvSPYHVtCY2jirKJWP2rFtMW8iAh9g==";
+      };
+    };
+    "@vercel/go-1.2.3" = {
+      name = "_at_vercel_slash_go";
+      packageName = "@vercel/go";
+      version = "1.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@vercel/go/-/go-1.2.3.tgz";
+        sha512 = "BZCHRz43Qfr0DwZlZQCcofR+3cr+H+HK72/ZPkZy1Uq0NYjJMlmZ3ahuMgvJxT9lfC1RA6eOEUlUsZ+gqKcMCg==";
+      };
+    };
+    "@vercel/node-1.12.1" = {
+      name = "_at_vercel_slash_node";
+      packageName = "@vercel/node";
+      version = "1.12.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@vercel/node/-/node-1.12.1.tgz";
+        sha512 = "NcawIY05BvVkWlsowaxF2hl/hJg475U8JvT2FnGykFPMx31q1/FtqyTw/awSrKfOSRXR0InrbEIDIelmS9NzPA==";
+      };
+    };
+    "@vercel/python-2.0.5" = {
+      name = "_at_vercel_slash_python";
+      packageName = "@vercel/python";
+      version = "2.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@vercel/python/-/python-2.0.5.tgz";
+        sha512 = "WCSTTw6He2COaSBiGDk2q5Q1ue+z5usRZcvUHCpsK6KvNkkV/PrY8JT73XQysMWKiXh6yQy19IUFAOqK/xwhig==";
+      };
+    };
+    "@vercel/ruby-1.2.7" = {
+      name = "_at_vercel_slash_ruby";
+      packageName = "@vercel/ruby";
+      version = "1.2.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@vercel/ruby/-/ruby-1.2.7.tgz";
+        sha512 = "ZG2VxMHHSKocL57UWsfNc9UsblwYGm55/ujqGIBnkNUURnRgtUrwtWlEts1eJ4VHD754Lc/0/R1pfJXoN5SbRw==";
+      };
+    };
     "@vue/cli-shared-utils-4.5.13" = {
       name = "_at_vue_slash_cli-shared-utils";
       packageName = "@vue/cli-shared-utils";
@@ -8095,31 +8122,31 @@ let
         sha512 = "B6PedV/H2kcGEAgnqncwjHe3E8fqUNXCLv1BsrNwkHHWQJXkDN7dFeuEB4oaucBOVbjhH7KGLJ6JAiXPE3S7xA==";
       };
     };
-    "@vue/compiler-core-3.1.5" = {
+    "@vue/compiler-core-3.2.6" = {
       name = "_at_vue_slash_compiler-core";
       packageName = "@vue/compiler-core";
-      version = "3.1.5";
+      version = "3.2.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.1.5.tgz";
-        sha512 = "TXBhFinoBaXKDykJzY26UEuQU1K07FOp/0Ie+OXySqqk0bS0ZO7Xvl7UmiTUPYcLrWbxWBR7Bs/y55AI0MNc2Q==";
+        url = "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.6.tgz";
+        sha512 = "vbwnz7+OhtLO5p5i630fTuQCL+MlUpEMTKHuX+RfetQ+3pFCkItt2JUH+9yMaBG2Hkz6av+T9mwN/acvtIwpbw==";
       };
     };
-    "@vue/compiler-dom-3.1.5" = {
+    "@vue/compiler-dom-3.2.6" = {
       name = "_at_vue_slash_compiler-dom";
       packageName = "@vue/compiler-dom";
-      version = "3.1.5";
+      version = "3.2.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.1.5.tgz";
-        sha512 = "ZsL3jqJ52OjGU/YiT/9XiuZAmWClKInZM2aFJh9gnsAPqOrj2JIELMbkIFpVKR/CrVO/f2VxfPiiQdQTr65jcQ==";
+        url = "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.6.tgz";
+        sha512 = "+a/3oBAzFIXhHt8L5IHJOTP4a5egzvpXYyi13jR7CUYOR1S+Zzv7vBWKYBnKyJLwnrxTZnTQVjeHCgJq743XKg==";
       };
     };
-    "@vue/shared-3.1.5" = {
+    "@vue/shared-3.2.6" = {
       name = "_at_vue_slash_shared";
       packageName = "@vue/shared";
-      version = "3.1.5";
+      version = "3.2.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/shared/-/shared-3.1.5.tgz";
-        sha512 = "oJ4F3TnvpXaQwZJNF3ZK+kLPHKarDmJjJ6jyzVNDKH9md1dptjC7lWR//jrGuLdek/U6iltWxqAnYOu8gCiOvA==";
+        url = "https://registry.npmjs.org/@vue/shared/-/shared-3.2.6.tgz";
+        sha512 = "uwX0Qs2e6kdF+WmxwuxJxOnKs/wEkMArtYpHSm7W+VY/23Tl8syMRyjnzEeXrNCAP0/8HZxEGkHJsjPEDNRuHw==";
       };
     };
     "@webassemblyjs/ast-1.11.1" = {
@@ -8635,13 +8662,22 @@ let
         sha512 = "ASiVB3t9LOKHs5DyVUcxpraBXDOKubYu/ihHhU+t1UPpxsivg6Od2E2qU4gJCekfEddzRBzHhzA/Acyw/mlK/w==";
       };
     };
-    "@webpack-cli/serve-1.5.1" = {
+    "@webpack-cli/serve-1.5.2" = {
       name = "_at_webpack-cli_slash_serve";
       packageName = "@webpack-cli/serve";
-      version = "1.5.1";
+      version = "1.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.5.2.tgz";
+        sha512 = "vgJ5OLWadI8aKjDlOH3rb+dYyPd2GTZuQC/Tihjct6F9GpXGZINo3Y/IVuZVTM1eDQB+/AOsjPUWH/WySDaXvw==";
+      };
+    };
+    "@wry/context-0.6.1" = {
+      name = "_at_wry_slash_context";
+      packageName = "@wry/context";
+      version = "0.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.5.1.tgz";
-        sha512 = "4vSVUiOPJLmr45S8rMGy7WDvpWxfFxfP/Qx/cxZFCfvoypTYpPPL1X8VIZMe0WTA+Jr7blUxwUSEZNkjoMTgSw==";
+        url = "https://registry.npmjs.org/@wry/context/-/context-0.6.1.tgz";
+        sha512 = "LOmVnY1iTU2D8tv4Xf6MVMZZ+juIJ87Kt/plMijjN20NMAXGmH4u8bS1t0uT74cZ5gwpocYueV58YwyI8y+GKw==";
       };
     };
     "@wry/equality-0.1.11" = {
@@ -8653,6 +8689,42 @@ let
         sha512 = "mwEVBDUVODlsQQ5dfuLUS5/Tf7jqUKyhKYHmVi4fPB6bDMOfWvUPJmKgS1Z7Za/sOI3vzWt4+O7yCiL/70MogA==";
       };
     };
+    "@wry/equality-0.5.2" = {
+      name = "_at_wry_slash_equality";
+      packageName = "@wry/equality";
+      version = "0.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@wry/equality/-/equality-0.5.2.tgz";
+        sha512 = "oVMxbUXL48EV/C0/M7gLVsoK6qRHPS85x8zECofEZOVvxGmIPLA9o5Z27cc2PoAyZz1S2VoM2A7FLAnpfGlneA==";
+      };
+    };
+    "@wry/trie-0.3.1" = {
+      name = "_at_wry_slash_trie";
+      packageName = "@wry/trie";
+      version = "0.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@wry/trie/-/trie-0.3.1.tgz";
+        sha512 = "WwB53ikYudh9pIorgxrkHKrQZcCqNM/Q/bDzZBffEaGUKGuHrRb3zZUT9Sh2qw9yogC7SsdRmQ1ER0pqvd3bfw==";
+      };
+    };
+    "@xmldom/xmldom-0.7.2" = {
+      name = "_at_xmldom_slash_xmldom";
+      packageName = "@xmldom/xmldom";
+      version = "0.7.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.7.2.tgz";
+        sha512 = "t/Zqo0ewes3iq6zGqEqJNUWI27Acr3jkmSUNp6E3nl0Z2XbtqAG5XYqPNLdYonILmhcxANsIidh69tHzjXtuRg==";
+      };
+    };
+    "@xstate/fsm-1.6.1" = {
+      name = "_at_xstate_slash_fsm";
+      packageName = "@xstate/fsm";
+      version = "1.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@xstate/fsm/-/fsm-1.6.1.tgz";
+        sha512 = "xYKDNuPR36/fUK+jmhM+oauBmbdUAfuJKnDjg3/7NbN+Pj03TX7e94LXnzkwGgAR+U/HWoMqM5UPTuGIYfIx9g==";
+      };
+    };
     "@xtuc/ieee754-1.2.0" = {
       name = "_at_xtuc_slash_ieee754";
       packageName = "@xtuc/ieee754";
@@ -8680,42 +8752,6 @@ let
         sha512 = "NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==";
       };
     };
-    "@yarnpkg/core-2.4.0" = {
-      name = "_at_yarnpkg_slash_core";
-      packageName = "@yarnpkg/core";
-      version = "2.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@yarnpkg/core/-/core-2.4.0.tgz";
-        sha512 = "FYjcPNTfDfMKLFafQPt49EY28jnYC82Z2S7oMwLPUh144BL8v8YXzb4aCnFyi5nFC5h2kcrJfZh7+Pm/qvCqGw==";
-      };
-    };
-    "@yarnpkg/fslib-2.4.0" = {
-      name = "_at_yarnpkg_slash_fslib";
-      packageName = "@yarnpkg/fslib";
-      version = "2.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@yarnpkg/fslib/-/fslib-2.4.0.tgz";
-        sha512 = "CwffYY9owtl3uImNOn1K4jl5iIb/L16a9UZ9Q3lkBARk6tlUsPrNFX00eoUlFcLn49TTfd3zdN6higloGCyncw==";
-      };
-    };
-    "@yarnpkg/json-proxy-2.1.0" = {
-      name = "_at_yarnpkg_slash_json-proxy";
-      packageName = "@yarnpkg/json-proxy";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@yarnpkg/json-proxy/-/json-proxy-2.1.0.tgz";
-        sha512 = "rOgCg2DkyviLgr80mUMTt9vzdf5RGOujQB26yPiXjlz4WNePLBshKlTNG9rKSoKQSOYEQcw6cUmosfOKDatrCw==";
-      };
-    };
-    "@yarnpkg/libzip-2.2.1" = {
-      name = "_at_yarnpkg_slash_libzip";
-      packageName = "@yarnpkg/libzip";
-      version = "2.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@yarnpkg/libzip/-/libzip-2.2.1.tgz";
-        sha512 = "AYDJXrkzayoDd3ZlVgFJ+LyDX+Zj/cki3vxIpcYxejtgkl3aquVWOxlC0DD9WboBWsJFIP1MjrUbchLyh++/7A==";
-      };
-    };
     "@yarnpkg/lockfile-1.1.0" = {
       name = "_at_yarnpkg_slash_lockfile";
       packageName = "@yarnpkg/lockfile";
@@ -8725,33 +8761,6 @@ let
         sha512 = "GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==";
       };
     };
-    "@yarnpkg/parsers-2.3.0" = {
-      name = "_at_yarnpkg_slash_parsers";
-      packageName = "@yarnpkg/parsers";
-      version = "2.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-2.3.0.tgz";
-        sha512 = "qgz0QUgOvnhtF92kaluIhIIKBUHlYlHUBQxqh5v9+sxEQvUeF6G6PKiFlzo3E6O99XwvNEGpVu1xZPoSGyGscQ==";
-      };
-    };
-    "@yarnpkg/pnp-2.3.2" = {
-      name = "_at_yarnpkg_slash_pnp";
-      packageName = "@yarnpkg/pnp";
-      version = "2.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@yarnpkg/pnp/-/pnp-2.3.2.tgz";
-        sha512 = "JdwHu1WBCISqJEhIwx6Hbpe8MYsYbkGMxoxolkDiAeJ9IGEe08mQcbX1YmUDV1ozSWlm9JZE90nMylcDsXRFpA==";
-      };
-    };
-    "@yarnpkg/shell-2.4.1" = {
-      name = "_at_yarnpkg_slash_shell";
-      packageName = "@yarnpkg/shell";
-      version = "2.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@yarnpkg/shell/-/shell-2.4.1.tgz";
-        sha512 = "oNNJkH8ZI5uwu0dMkJf737yMSY1WXn9gp55DqSA5wAOhKvV5DJTXFETxkVgBQhO6Bow9tMGSpvowTMD/oAW/9g==";
-      };
-    };
     "@zeit/schemas-2.6.0" = {
       name = "_at_zeit_slash_schemas";
       packageName = "@zeit/schemas";
@@ -9031,6 +9040,15 @@ let
         sha512 = "ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==";
       };
     };
+    "acorn-import-assertions-1.7.6" = {
+      name = "acorn-import-assertions";
+      packageName = "acorn-import-assertions";
+      version = "1.7.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.7.6.tgz";
+        sha512 = "FlVvVFA1TX6l3lp8VjDnYYq7R1nyW6x3svAt4nDgrWQ9SBaSh9CnbwgSUTasgfNfOG5HlM1ehugCvM+hjo56LA==";
+      };
+    };
     "acorn-jsx-3.0.1" = {
       name = "acorn-jsx";
       packageName = "acorn-jsx";
@@ -9139,31 +9157,31 @@ let
         sha1 = "6a7990437ca736d5e1288db92bd3266d5f5cb2aa";
       };
     };
-    "addons-linter-3.8.0" = {
+    "addons-linter-3.12.0" = {
       name = "addons-linter";
       packageName = "addons-linter";
-      version = "3.8.0";
+      version = "3.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/addons-linter/-/addons-linter-3.8.0.tgz";
-        sha512 = "k2s7PS7Oiq9NZnpf1SjG6hyefMC082a91BhSw30QEUgvDT54E2d6j8wfbar1WEigc9uYZgGv3VfzEeqTgoLUpw==";
+        url = "https://registry.npmjs.org/addons-linter/-/addons-linter-3.12.0.tgz";
+        sha512 = "GAvHjjqxVn8cQYBD6xshneACdaY2KjakWIyUhXrVbx3g8TZSF78ISucKZ1+XtKZLDvEr1LIJjeeYlR49LNH3CQ==";
       };
     };
-    "addons-scanner-utils-4.8.0" = {
+    "addons-scanner-utils-4.9.0" = {
       name = "addons-scanner-utils";
       packageName = "addons-scanner-utils";
-      version = "4.8.0";
+      version = "4.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/addons-scanner-utils/-/addons-scanner-utils-4.8.0.tgz";
-        sha512 = "LjwZql59OKrQgppreOvRcgJDYrnj9XKVW2gb5Q1ZyGG3CH46VCiiNHJB6nYMgOntLo+DPQwQQPOSknZ1zW+wTw==";
+        url = "https://registry.npmjs.org/addons-scanner-utils/-/addons-scanner-utils-4.9.0.tgz";
+        sha512 = "RF+pVMSj3CcWV6NH4pBboCZnpzfr48ZmJCBXt/LZbU59PNepZDFxax9tl2MXzX01AXNwKUGa321pPyc5h4zV5A==";
       };
     };
-    "addr-to-ip-port-1.5.1" = {
+    "addr-to-ip-port-1.5.4" = {
       name = "addr-to-ip-port";
       packageName = "addr-to-ip-port";
-      version = "1.5.1";
+      version = "1.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/addr-to-ip-port/-/addr-to-ip-port-1.5.1.tgz";
-        sha512 = "bA+dyydTNuQtrEDJ0g9eR7XabNhvrM5yZY0hvTbNK3yvoeC73ZqMES6E1cEqH9WPxs4uMtMsOjfwS4FmluhsAA==";
+        url = "https://registry.npmjs.org/addr-to-ip-port/-/addr-to-ip-port-1.5.4.tgz";
+        sha512 = "ByxmJgv8vjmDcl3IDToxL2yrWFrRtFpZAToY0f46XFXl8zS081t7El5MXIodwm7RC6DhHBRoOSMLFSPKCtHukg==";
       };
     };
     "address-1.1.2" = {
@@ -9175,15 +9193,6 @@ let
         sha512 = "aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==";
       };
     };
-    "adm-zip-0.4.16" = {
-      name = "adm-zip";
-      packageName = "adm-zip";
-      version = "0.4.16";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz";
-        sha512 = "TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==";
-      };
-    };
     "adm-zip-0.5.5" = {
       name = "adm-zip";
       packageName = "adm-zip";
@@ -9400,6 +9409,15 @@ let
         sha512 = "USH2jBb+C/hIpwD2iRjp0pe0k+MvzG0mlSn/FIdCgQhUb9ALPRjt2KIQdfZDS9r0ZIeUAg7gOu9KL0PFqGqr5Q==";
       };
     };
+    "ajv-formats-2.1.1" = {
+      name = "ajv-formats";
+      packageName = "ajv-formats";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz";
+        sha512 = "Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==";
+      };
+    };
     "ajv-keywords-1.5.1" = {
       name = "ajv-keywords";
       packageName = "ajv-keywords";
@@ -9517,6 +9535,15 @@ let
         sha512 = "XgQq6ejZHCehUSnZS4V7QJPLIP7S9OAWwQDYl4WTLtsRvc5fCxIwzK/yihzmIW51v9PnyBmrl9dMcqvwfOE8WA==";
       };
     };
+    "anchor-markdown-header-0.5.7" = {
+      name = "anchor-markdown-header";
+      packageName = "anchor-markdown-header";
+      version = "0.5.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/anchor-markdown-header/-/anchor-markdown-header-0.5.7.tgz";
+        sha1 = "045063d76e6a1f9cd327a57a0126aa0fdec371a7";
+      };
+    };
     "ansi-0.3.1" = {
       name = "ansi";
       packageName = "ansi";
@@ -9742,6 +9769,15 @@ let
         sha512 = "bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==";
       };
     };
+    "ansi-regex-6.0.0" = {
+      name = "ansi-regex";
+      packageName = "ansi-regex";
+      version = "6.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.0.tgz";
+        sha512 = "tAaOSrWCHF+1Ear1Z4wnJCXA9GGox4K6Ic85a5qalES2aeEwQGr7UC93mwef49536PkCYjzkp0zIxfFvexJ6zQ==";
+      };
+    };
     "ansi-split-1.0.1" = {
       name = "ansi-split";
       packageName = "ansi-split";
@@ -9850,15 +9886,6 @@ let
         sha512 = "Ydgbey4zqUmmNN2i2OVeVHXig3PxHRbok2X6B2Sogmb92JzZUFfTL806dT7os6tBL1peXItfeFt76CP3zsoXUg==";
       };
     };
-    "any-base-1.1.0" = {
-      name = "any-base";
-      packageName = "any-base";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/any-base/-/any-base-1.1.0.tgz";
-        sha512 = "uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==";
-      };
-    };
     "any-observable-0.3.0" = {
       name = "any-observable";
       packageName = "any-observable";
@@ -9958,6 +9985,15 @@ let
         sha512 = "y8H99NExU1Sk4TvcaUxTdzfq2SZo6uSj5dyh75XSQvbpH6gdAXIW9MaBcvlNC7n0cVPsidHmOcHOWxJ/pTXGjA==";
       };
     };
+    "apollo-datasource-3.1.0" = {
+      name = "apollo-datasource";
+      packageName = "apollo-datasource";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/apollo-datasource/-/apollo-datasource-3.1.0.tgz";
+        sha512 = "ywcVjuWNo84eMB9uBOYygQI+00+Ne4ShyPIxJzT//sn1j1Fu3J+KStMNd6s1jyERWgjGZzxkiLn6nLmwsGymBg==";
+      };
+    };
     "apollo-graphql-0.9.3" = {
       name = "apollo-graphql";
       packageName = "apollo-graphql";
@@ -9994,6 +10030,15 @@ let
         sha512 = "B3XmnkH6Y458iV6OsA7AhfwvTgeZnFq9nPVjbxmLKnvfkEl8hYADtz724uPa0WeBiD7DSFcnLtqg9yGmCkBohg==";
       };
     };
+    "apollo-reporting-protobuf-3.0.0" = {
+      name = "apollo-reporting-protobuf";
+      packageName = "apollo-reporting-protobuf";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/apollo-reporting-protobuf/-/apollo-reporting-protobuf-3.0.0.tgz";
+        sha512 = "jmCD+6gECt8KS7PxP460hztT/5URTbv2Kg0zgnR6iWPGce88IBmSUjcqf1Z6wJJq7Teb8Hu7WbyyMhn0vN5TxQ==";
+      };
+    };
     "apollo-server-caching-0.7.0" = {
       name = "apollo-server-caching";
       packageName = "apollo-server-caching";
@@ -10003,6 +10048,15 @@ let
         sha512 = "MsVCuf/2FxuTFVhGLK13B+TZH9tBd2qkyoXKKILIiGcZ5CDUEBO14vIV63aNkMkS1xxvK2U4wBcuuNj/VH2Mkw==";
       };
     };
+    "apollo-server-caching-3.1.0" = {
+      name = "apollo-server-caching";
+      packageName = "apollo-server-caching";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/apollo-server-caching/-/apollo-server-caching-3.1.0.tgz";
+        sha512 = "bZ4bo0kSAsax9LbMQPlpuMTkQ657idF2ehOYe4Iw+8vj7vfAYa39Ii9IlaVAFMC1FxCYzLNFz+leZBm/Stn/NA==";
+      };
+    };
     "apollo-server-core-2.25.2" = {
       name = "apollo-server-core";
       packageName = "apollo-server-core";
@@ -10012,6 +10066,15 @@ let
         sha512 = "lrohEjde2TmmDTO7FlOs8x5QQbAS0Sd3/t0TaK2TWaodfzi92QAvIsq321Mol6p6oEqmjm8POIDHW1EuJd7XMA==";
       };
     };
+    "apollo-server-core-3.3.0" = {
+      name = "apollo-server-core";
+      packageName = "apollo-server-core";
+      version = "3.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/apollo-server-core/-/apollo-server-core-3.3.0.tgz";
+        sha512 = "KmkzKVG3yjybouDyUX6Melv39u1EOFipvAKP17IlPis/TjVbubJmb6hkE0am/g2RipyhRvlpxAjHqPaCTXR1dQ==";
+      };
+    };
     "apollo-server-env-3.1.0" = {
       name = "apollo-server-env";
       packageName = "apollo-server-env";
@@ -10021,6 +10084,15 @@ let
         sha512 = "iGdZgEOAuVop3vb0F2J3+kaBVi4caMoxefHosxmgzAbbSpvWehB8Y1QiSyyMeouYC38XNVk5wnZl+jdGSsWsIQ==";
       };
     };
+    "apollo-server-env-4.0.3" = {
+      name = "apollo-server-env";
+      packageName = "apollo-server-env";
+      version = "4.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/apollo-server-env/-/apollo-server-env-4.0.3.tgz";
+        sha512 = "B32+RUOM4GUJAwnQqQE1mT1BG7+VfW3a0A87Bp3gv/q8iNnhY2BIWe74Qn03pX8n27g3EGVCt0kcBuHhjG5ltA==";
+      };
+    };
     "apollo-server-errors-2.5.0" = {
       name = "apollo-server-errors";
       packageName = "apollo-server-errors";
@@ -10030,6 +10102,15 @@ let
         sha512 = "lO5oTjgiC3vlVg2RKr3RiXIIQ5pGXBFxYGGUkKDhTud3jMIhs+gel8L8zsEjKaKxkjHhCQAA/bcEfYiKkGQIvA==";
       };
     };
+    "apollo-server-errors-3.1.0" = {
+      name = "apollo-server-errors";
+      packageName = "apollo-server-errors";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/apollo-server-errors/-/apollo-server-errors-3.1.0.tgz";
+        sha512 = "bUmobPEvtcBFt+OVHYqD390gacX/Cm5s5OI5gNZho8mYKAA6OjgnRlkm/Lti6NzniXVxEQyD5vjkC6Ox30mGFg==";
+      };
+    };
     "apollo-server-express-2.25.2" = {
       name = "apollo-server-express";
       packageName = "apollo-server-express";
@@ -10039,6 +10120,15 @@ let
         sha512 = "A2gF2e85vvDugPlajbhr0A14cDFDIGX0mteNOJ8P3Z3cIM0D4hwrWxJidI+SzobefDIyIHu1dynFedJVhV0euQ==";
       };
     };
+    "apollo-server-express-3.3.0" = {
+      name = "apollo-server-express";
+      packageName = "apollo-server-express";
+      version = "3.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/apollo-server-express/-/apollo-server-express-3.3.0.tgz";
+        sha512 = "qJedh77IxbfT+HpYsDraC2CGdy08wiWTwoKYXjRK4S/DHbe94A4957/1blw4boYO4n44xRKQd1k6zxiixCp+XQ==";
+      };
+    };
     "apollo-server-plugin-base-0.13.0" = {
       name = "apollo-server-plugin-base";
       packageName = "apollo-server-plugin-base";
@@ -10048,6 +10138,15 @@ let
         sha512 = "L3TMmq2YE6BU6I4Tmgygmd0W55L+6XfD9137k+cWEBFu50vRY4Re+d+fL5WuPkk5xSPKd/PIaqzidu5V/zz8Kg==";
       };
     };
+    "apollo-server-plugin-base-3.2.0" = {
+      name = "apollo-server-plugin-base";
+      packageName = "apollo-server-plugin-base";
+      version = "3.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/apollo-server-plugin-base/-/apollo-server-plugin-base-3.2.0.tgz";
+        sha512 = "anjyiw79wxU4Cj2bYZFWQqZPjuaZ4mVJvxCoyvkFrNvjPua9dovCOfpng43C5NwdsqJpz78Vqs236eFM2QoeaA==";
+      };
+    };
     "apollo-server-types-0.9.0" = {
       name = "apollo-server-types";
       packageName = "apollo-server-types";
@@ -10057,6 +10156,15 @@ let
         sha512 = "qk9tg4Imwpk732JJHBkhW0jzfG0nFsLqK2DY6UhvJf7jLnRePYsPxWfPiNkxni27pLE2tiNlCwoDFSeWqpZyBg==";
       };
     };
+    "apollo-server-types-3.2.0" = {
+      name = "apollo-server-types";
+      packageName = "apollo-server-types";
+      version = "3.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/apollo-server-types/-/apollo-server-types-3.2.0.tgz";
+        sha512 = "Fh7QP84ufDZHbLzoLyyxyzznlW8cpgEZYYkGsS1i36zY4VaAt5OUOp1f+FxWdLGehq0Arwb6D1W7y712IoZ/JQ==";
+      };
+    };
     "apollo-tracing-0.15.0" = {
       name = "apollo-tracing";
       packageName = "apollo-tracing";
@@ -10075,6 +10183,15 @@ let
         sha512 = "pk2hiWrCXMAy2fRPwEyhvka+mqwzeP60Jr1tRYi5xru+3ko94HI9o6lK0CT33/w4RDlxWchmdhDCrvdr+pHCig==";
       };
     };
+    "appdata-path-1.0.0" = {
+      name = "appdata-path";
+      packageName = "appdata-path";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/appdata-path/-/appdata-path-1.0.0.tgz";
+        sha512 = "ZbH3ezXfnT/YE3NdqduIt4lBV+H0ybvA2Qx3K76gIjQvh8gROpDFdDLpx6B1QJtW7zxisCbpTlCLhKqoR8cDBw==";
+      };
+    };
     "append-0.1.1" = {
       name = "append";
       packageName = "append";
@@ -10129,6 +10246,15 @@ let
         sha1 = "dcfca9e509300e4c3b2d467965fe50c56fc75e66";
       };
     };
+    "application-config-1.0.1" = {
+      name = "application-config";
+      packageName = "application-config";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/application-config/-/application-config-1.0.1.tgz";
+        sha1 = "5aa2e2a5ed6abd2e5d1d473d3596f574044fe9e7";
+      };
+    };
     "application-config-path-0.1.0" = {
       name = "application-config-path";
       packageName = "application-config-path";
@@ -10228,6 +10354,15 @@ let
         sha512 = "XxNTUzKnz1ctK3ZIcI2XUPlD96wbHP2nGqkPKpvk/HNRlPveYrXIVSTk9m3LcqOgDPg3B1nMvdV/K8wZd7PG4w==";
       };
     };
+    "arg-4.1.3" = {
+      name = "arg";
+      packageName = "arg";
+      version = "4.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz";
+        sha512 = "58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==";
+      };
+    };
     "argparse-0.1.15" = {
       name = "argparse";
       packageName = "argparse";
@@ -10642,6 +10777,15 @@ let
         sha512 = "HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==";
       };
     };
+    "array-union-3.0.1" = {
+      name = "array-union";
+      packageName = "array-union";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz";
+        sha512 = "1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==";
+      };
+    };
     "array-uniq-1.0.3" = {
       name = "array-uniq";
       packageName = "array-uniq";
@@ -11056,6 +11200,15 @@ let
         sha512 = "TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==";
       };
     };
+    "async-3.2.1" = {
+      name = "async";
+      packageName = "async";
+      version = "3.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/async/-/async-3.2.1.tgz";
+        sha512 = "XdD5lRO/87udXCMC9meWdYiR+Nq6ZjUfXidViUZGu2F1MO4T3XwZ1et0hb2++BgLfhyJwy44BGB/yx80ABx8hg==";
+      };
+    };
     "async-append-only-log-3.0.9" = {
       name = "async-append-only-log";
       packageName = "async-append-only-log";
@@ -11137,13 +11290,13 @@ let
         sha512 = "vRfQwcqBnJTLzVQo72Sf7KIUbcSUP5hNchx6udI1U6LuPQpfePgdjJzlCe76yFZ8pxlLjn9lwcl/Ya0TSOv0Tw==";
       };
     };
-    "async-retry-1.3.1" = {
+    "async-retry-1.3.3" = {
       name = "async-retry";
       packageName = "async-retry";
-      version = "1.3.1";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/async-retry/-/async-retry-1.3.1.tgz";
-        sha512 = "aiieFW/7h3hY0Bq5d+ktDBejxuwR78vRu9hDUdR8rNhSaQ29VzPL4AoIRG7D/c7tdenwOcKvgPM6tIxB3cB6HA==";
+        url = "https://registry.npmjs.org/async-retry/-/async-retry-1.3.3.tgz";
+        sha512 = "wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==";
       };
     };
     "async-retry-ng-2.0.1" = {
@@ -11308,6 +11461,15 @@ let
         sha512 = "Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ==";
       };
     };
+    "auto-changelog-1.16.4" = {
+      name = "auto-changelog";
+      packageName = "auto-changelog";
+      version = "1.16.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/auto-changelog/-/auto-changelog-1.16.4.tgz";
+        sha512 = "h7diyELoq692AA4oqO50ULoYKIomUdzuQ+NW+eFPwIX0xzVbXEu9cIcgzZ3TYNVbpkGtcNKh51aRfAQNef7HVA==";
+      };
+    };
     "autocast-0.0.4" = {
       name = "autocast";
       packageName = "autocast";
@@ -11380,13 +11542,22 @@ let
         sha512 = "tbMZ/Y2rRo6R6TTBODJXTiil+MXaoT6Qzotws3yvI1IWGpYxKo7N/3L06XB8ul8tCG0TigxIOY70SMICM70Ppg==";
       };
     };
-    "aws-sdk-2.951.0" = {
+    "aws-sdk-2.976.0" = {
       name = "aws-sdk";
       packageName = "aws-sdk";
-      version = "2.951.0";
+      version = "2.976.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.951.0.tgz";
-        sha512 = "YPqhdESUzd4+pSuGJcfMnG1qNVbmZjnmsa85Z9jofR1ilIpuV31onIiFHv8iubM59ETok/+zy3QOmxRSLYzFmQ==";
+        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.976.0.tgz";
+        sha512 = "LWVh3nko6yGDfGcDW9nIClaukthkTueq7I/dXVNv4g9kuy2VOl5fVTPMACgTibWINAM29wZCM+gVQSSZu/Veow==";
+      };
+    };
+    "aws-sdk-2.977.0" = {
+      name = "aws-sdk";
+      packageName = "aws-sdk";
+      version = "2.977.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.977.0.tgz";
+        sha512 = "LU0ityBR3w28Ewwr+V0xu4KyQr8i4C1ypafmBNttYm3FHVUDDPQ/hLHASnGq1zGp6rBxBxO1ZE6meFqpKXIaug==";
       };
     };
     "aws-sign2-0.6.0" = {
@@ -11416,15 +11587,6 @@ let
         sha512 = "xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==";
       };
     };
-    "aws4-1.9.1" = {
-      name = "aws4";
-      packageName = "aws4";
-      version = "1.9.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz";
-        sha512 = "wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==";
-      };
-    };
     "axios-0.19.2" = {
       name = "axios";
       packageName = "axios";
@@ -11461,6 +11623,15 @@ let
         sha512 = "4TVv2X7oNStT0vLaEfExmy3J4/CzfuXolEcQl/BRUmvGySqKStTG2O55/hUQ0kM7UJlZBLgniM0SBq4d/WkKow==";
       };
     };
+    "azure-devops-node-api-11.0.1" = {
+      name = "azure-devops-node-api";
+      packageName = "azure-devops-node-api";
+      version = "11.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-11.0.1.tgz";
+        sha512 = "YMdjAw9l5p/6leiyIloxj3k7VIvYThKjvqgiQn88r3nhT93ENwsoDS3A83CyJ4uTWzCZ5f5jCi6c27rTU5Pz+A==";
+      };
+    };
     "b24.js-1.0.3" = {
       name = "b24.js";
       packageName = "b24.js";
@@ -11497,15 +11668,6 @@ let
         sha512 = "z3U7eMY6r/3f3/JB9mTsLjyxrv0Yb1zb8PCWCLpguxfCzBIZUwy23R1t/XKewP+8mEN2Ck8Dtr4q20z6ce6SoA==";
       };
     };
-    "babel-eslint-10.1.0" = {
-      name = "babel-eslint";
-      packageName = "babel-eslint";
-      version = "10.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz";
-        sha512 = "ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==";
-      };
-    };
     "babel-helper-evaluate-path-0.5.0" = {
       name = "babel-helper-evaluate-path";
       packageName = "babel-helper-evaluate-path";
@@ -11740,13 +11902,13 @@ let
         sha512 = "kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ==";
       };
     };
-    "babel-plugin-polyfill-corejs3-0.2.3" = {
+    "babel-plugin-polyfill-corejs3-0.2.4" = {
       name = "babel-plugin-polyfill-corejs3";
       packageName = "babel-plugin-polyfill-corejs3";
-      version = "0.2.3";
+      version = "0.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.3.tgz";
-        sha512 = "rCOFzEIJpJEAU14XCcV/erIf/wZQMmMT5l5vXOpL5uoznyOGfDIjPj6FVytMvtzaKSTSVKouOCTPJ5OMUZH30g==";
+        url = "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.4.tgz";
+        sha512 = "z3HnJE5TY/j4EFEa/qpQMSbcUJZ5JQi+3UFjXzn6pQCmIKc5Ug5j98SuYyH+m4xQnvKlMDIW4plLfgyVnd0IcQ==";
       };
     };
     "babel-plugin-polyfill-regenerator-0.2.2" = {
@@ -12424,13 +12586,13 @@ let
         sha512 = "N+VOSP5MkoX+xgnp6Y056iCY5TmCZg9rgPNPQe0bIiXchxYFP4vs/Tf0dTdQ+qQhP7HM2gvfFq+sUVjQsGy5Zw==";
       };
     };
-    "bencode-2.0.1" = {
+    "bencode-2.0.2" = {
       name = "bencode";
       packageName = "bencode";
-      version = "2.0.1";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bencode/-/bencode-2.0.1.tgz";
-        sha512 = "2uhEl8FdjSBUyb69qDTgOEeeqDTa+n3yMQzLW0cOzNf1Ow5bwcg3idf+qsWisIKRH8Bk8oC7UXL8irRcPA8ZEQ==";
+        url = "https://registry.npmjs.org/bencode/-/bencode-2.0.2.tgz";
+        sha512 = "0ilVjnE2diLdbec/3KN14SP0KE85wh8v/FceNRMbAB2ioc3yTj9tgqdoK9tFEH++TZ10JreTS29qTwg7+SpTiQ==";
       };
     };
     "bent-7.3.12" = {
@@ -12442,13 +12604,13 @@ let
         sha512 = "T3yrKnVGB63zRuoco/7Ybl7BwwGZR0lceoVG5XmQyMIH9s19SV5m+a8qam4if0zQuAmOQTyPTPmsQBdAorGK3w==";
       };
     };
-    "bep53-range-1.1.0" = {
+    "bep53-range-1.1.1" = {
       name = "bep53-range";
       packageName = "bep53-range";
-      version = "1.1.0";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bep53-range/-/bep53-range-1.1.0.tgz";
-        sha512 = "yGQTG4NtwTciX0Bkgk1FqQL4p+NiCQKpTSFho2lrxvUkXIlzyJDwraj8aYxAxRZMnnOhRr7QlIBoMRPEnIR34Q==";
+        url = "https://registry.npmjs.org/bep53-range/-/bep53-range-1.1.1.tgz";
+        sha512 = "ct6s33iiwRCUPp9KXnJ4QMWDgHIgaw36caK/5XEQ9L8dCzSQlJt1Vk6VmHh1VD4AlGCAI4C2zmtfItifBBPrhQ==";
       };
     };
     "bessel-1.0.2" = {
@@ -12577,15 +12739,6 @@ let
         sha512 = "vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==";
       };
     };
-    "bignumber.js-4.1.0" = {
-      name = "bignumber.js";
-      packageName = "bignumber.js";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bignumber.js/-/bignumber.js-4.1.0.tgz";
-        sha512 = "eJzYkFYy9L4JzXsbymsFn3p54D+llV27oTQ+ziJG7WFRheJcNZilgVXMG0LoZtlQSKBsJdWtLFqOD0u+U0jZKA==";
-      };
-    };
     "bignumber.js-9.0.0" = {
       name = "bignumber.js";
       packageName = "bignumber.js";
@@ -12622,22 +12775,22 @@ let
         sha512 = "wFzVTqavpgCCYAh8SVBdnZdiQMxTkGR+T3b14CNpBXIBe2neJWaMGAZ55XWWHELJJ89dscuq0VCBqcVaIOgCMg==";
       };
     };
-    "bin-version-2.0.0" = {
+    "bin-version-3.1.0" = {
       name = "bin-version";
       packageName = "bin-version";
-      version = "2.0.0";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bin-version/-/bin-version-2.0.0.tgz";
-        sha1 = "2cc95d83b522bdef2e99978e76aeb5491c8114ff";
+        url = "https://registry.npmjs.org/bin-version/-/bin-version-3.1.0.tgz";
+        sha512 = "Mkfm4iE1VFt4xd4vH+gx+0/71esbfus2LsnCGe8Pi4mndSPyT+NGES/Eg99jx8/lUGWfu3z2yuB/bt5UB+iVbQ==";
       };
     };
-    "bin-version-check-3.0.0" = {
+    "bin-version-check-4.0.0" = {
       name = "bin-version-check";
       packageName = "bin-version-check";
-      version = "3.0.0";
+      version = "4.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bin-version-check/-/bin-version-check-3.0.0.tgz";
-        sha1 = "e24ebfa6b63cb0387c5fc174f86e5cc812ca7cc9";
+        url = "https://registry.npmjs.org/bin-version-check/-/bin-version-check-4.0.0.tgz";
+        sha512 = "sR631OrhC+1f8Cvs8WyVWOA33Y8tgwjETNPyyD/myRBXLkfS/vl74FmH/lFcRl9KY3zwGh7jFhvyk9vV3/3ilQ==";
       };
     };
     "binary-0.3.0" = {
@@ -12694,13 +12847,13 @@ let
         sha1 = "7dbb3b210fdca082450dad2334c304af39bdc784";
       };
     };
-    "binaryextensions-4.15.0" = {
+    "binaryextensions-4.18.0" = {
       name = "binaryextensions";
       packageName = "binaryextensions";
-      version = "4.15.0";
+      version = "4.18.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/binaryextensions/-/binaryextensions-4.15.0.tgz";
-        sha512 = "MkUl3szxXolQ2scI1PM14WOT951KnaTNJ0eMKg7WzOI4kvSxyNo/Cygx4LOBNhwyINhAuSQpJW1rYD9aBSxGaw==";
+        url = "https://registry.npmjs.org/binaryextensions/-/binaryextensions-4.18.0.tgz";
+        sha512 = "PQu3Kyv9dM4FnwB7XGj1+HucW+ShvJzJqjuw1JkKVs1mWdwOKVcRjOi+pV9X52A0tNvrPCsPkbFFQb+wE1EAXw==";
       };
     };
     "bindings-1.2.1" = {
@@ -12730,15 +12883,6 @@ let
         sha512 = "6pm+Gc3uNiiJZEv0k8JDWqQlo9ki/o9UNAkLmr0EGm7hI5MboOJVIOlO1nw3YuDkLHWN78OPsaC4JhRkn2jMLw==";
       };
     };
-    "binjumper-0.1.4" = {
-      name = "binjumper";
-      packageName = "binjumper";
-      version = "0.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/binjumper/-/binjumper-0.1.4.tgz";
-        sha512 = "Gdxhj+U295tIM6cO4bJO1jsvSjBVHNpj2o/OwW7pqDEtaqF6KdOxjtbo93jMMKAkP7+u09+bV8DhSqjIv4qR3w==";
-      };
-    };
     "bintrees-1.0.1" = {
       name = "bintrees";
       packageName = "bintrees";
@@ -12811,15 +12955,6 @@ let
         sha512 = "CYS3HRGgIlm7A6/zqGFd/KPSUIv4EoEQVQ8mWcvBEdlf0db1q3j/fj5W/PXJasBfsvN2jM0Tzw3w1C7HUoR/fg==";
       };
     };
-    "bitcoin-core-2.3.0" = {
-      name = "bitcoin-core";
-      packageName = "bitcoin-core";
-      version = "2.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bitcoin-core/-/bitcoin-core-2.3.0.tgz";
-        sha512 = "SMbw2kFu09iBajicODSE4pn/K0tOibWyqct71TlzR8cYUBk+u7rkhqGY7US2iYz0HmP851IW7F7eXfXvz09yXA==";
-      };
-    };
     "bitcoin-ops-1.4.1" = {
       name = "bitcoin-ops";
       packageName = "bitcoin-ops";
@@ -12865,13 +13000,13 @@ let
         sha512 = "wrDhHe7LUkqaytxgbsFXoemzHRv6e8FrVNWWsQCgUfmuVYW6ke44hoGc9VdpjgfIsJ/ejmCFA8wDtDqACNAvyw==";
       };
     };
-    "bittorrent-dht-10.0.1" = {
+    "bittorrent-dht-10.0.2" = {
       name = "bittorrent-dht";
       packageName = "bittorrent-dht";
-      version = "10.0.1";
+      version = "10.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bittorrent-dht/-/bittorrent-dht-10.0.1.tgz";
-        sha512 = "aR0vAgm+SgLiwTCEtNgeuqtT2deg+E/xHCTb7iryikvLbqbR58oFHbNYX4CM6EzyNGSKfcdBKp1gWI5Gcn2Aaw==";
+        url = "https://registry.npmjs.org/bittorrent-dht/-/bittorrent-dht-10.0.2.tgz";
+        sha512 = "V7+V6ZCfxHtn/wvaRuUvxucJhocb8StgKurQJUdHboVjNGWjALVG+VAYuZqz5iN+/j4vmd4GwqjR1ixYCMkyVA==";
       };
     };
     "bittorrent-dht-6.4.2" = {
@@ -12892,31 +13027,31 @@ let
         sha512 = "fvb6M58Ceiv/S94nu6zeaiMoJvUYOeIqRbgaClm+kJTzCAqJPtAR/31pXNYB5iEReOoKqQB5zY33gY0W6ZRWQQ==";
       };
     };
-    "bittorrent-lsd-1.1.0" = {
+    "bittorrent-lsd-1.1.1" = {
       name = "bittorrent-lsd";
       packageName = "bittorrent-lsd";
-      version = "1.1.0";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bittorrent-lsd/-/bittorrent-lsd-1.1.0.tgz";
-        sha512 = "j9F+bDt1R//+kLfeSgkmc1A3x0u70gjb/FXaRgTtw+V3wIeYjOekiIlmsXf1SNKuxU5YHDkNL8CFNHx+MfSPSw==";
+        url = "https://registry.npmjs.org/bittorrent-lsd/-/bittorrent-lsd-1.1.1.tgz";
+        sha512 = "dWxU2Mr2lU6jzIKgZrTsXgeXDCIcYpR1b6f2n89fn7juwPAYbNU04OgWjcQPLiNliY0filsX5CQAWntVErpk+Q==";
       };
     };
-    "bittorrent-peerid-1.3.3" = {
+    "bittorrent-peerid-1.3.4" = {
       name = "bittorrent-peerid";
       packageName = "bittorrent-peerid";
-      version = "1.3.3";
+      version = "1.3.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bittorrent-peerid/-/bittorrent-peerid-1.3.3.tgz";
-        sha512 = "tSh9HdQgwyEAfo1jzoGEis6o/zs4CcdRTchG93XVl5jct+DCAN90M5MVUV76k2vJ9Xg3GAzLB5NLsY/vnVTh6w==";
+        url = "https://registry.npmjs.org/bittorrent-peerid/-/bittorrent-peerid-1.3.4.tgz";
+        sha512 = "Xzk1FJFHmsc9H8IKFtDUkfAZIT1HW8r6UqajfZBBxWmpA1v7FsPO8xPFtnFzCqcXlPN3yi8dDmlqZCemyB7P8w==";
       };
     };
-    "bittorrent-protocol-3.4.2" = {
+    "bittorrent-protocol-3.4.3" = {
       name = "bittorrent-protocol";
       packageName = "bittorrent-protocol";
-      version = "3.4.2";
+      version = "3.4.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bittorrent-protocol/-/bittorrent-protocol-3.4.2.tgz";
-        sha512 = "a7ueJzmCImWIXfKrJ+dT6mgqi5+LFByAXoMXhV/cYt/y8kplaC8N9ZWfpiTidJY4H2o1GTsyMy73o62a/rZ0Ow==";
+        url = "https://registry.npmjs.org/bittorrent-protocol/-/bittorrent-protocol-3.4.3.tgz";
+        sha512 = "FNQMWrVptQlOxT5+s4M8QO6yWv67WwquUwpg+0dMcPj2UjwGt+XP3U/jVPg16PxxOBz0N371L+Qe7H2LdALC9Q==";
       };
     };
     "bittorrent-tracker-7.7.0" = {
@@ -12928,13 +13063,13 @@ let
         sha1 = "ffd2eabc141d36ed5c1817df7e992f91fd7fc65c";
       };
     };
-    "bittorrent-tracker-9.17.3" = {
+    "bittorrent-tracker-9.18.0" = {
       name = "bittorrent-tracker";
       packageName = "bittorrent-tracker";
-      version = "9.17.3";
+      version = "9.18.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bittorrent-tracker/-/bittorrent-tracker-9.17.3.tgz";
-        sha512 = "Z37yunPPT8pIEkB0Q0bDP1fMke2Rez7JSsmqwqGKoJWh4zjAtFgrEw2GHYNllRRvcy+fkfVPWt7ArvxsGoUmfA==";
+        url = "https://registry.npmjs.org/bittorrent-tracker/-/bittorrent-tracker-9.18.0.tgz";
+        sha512 = "bZhW94TOExkRhn9g67SLWjGfT6seSlT//+oG7+AFve0wQP6DMNSnu7ued6McsTMaL+XivNFCE9YVWPbQ4moTYA==";
       };
     };
     "bl-1.2.3" = {
@@ -13027,13 +13162,13 @@ let
         sha1 = "f962d687ec2c369570ae71af843256e6d0ca1129";
       };
     };
-    "blessed-contrib-4.10.0" = {
+    "blessed-contrib-4.10.1" = {
       name = "blessed-contrib";
       packageName = "blessed-contrib";
-      version = "4.10.0";
+      version = "4.10.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/blessed-contrib/-/blessed-contrib-4.10.0.tgz";
-        sha512 = "NbMkaBNPNZikQo5XBKsXTGIu/gxAywRANHPt2Zc4oFmtiXGHgAGgl6Q6mg6sr9SvG08zidPxokRDcgso+HGmzw==";
+        url = "https://registry.npmjs.org/blessed-contrib/-/blessed-contrib-4.10.1.tgz";
+        sha512 = "S3jE7riCbWnAK8OT+ta4Z8RX/X6nfISxzn0SDIMFYuY90qUwqx7w7e9fIsc2m2ODwma7dFcXNwGSjyayfKd1DQ==";
       };
     };
     "blgr-0.1.8" = {
@@ -13162,15 +13297,6 @@ let
         sha512 = "vE52okJvzsVWhcgUHOv+69OG3Mdg151xyn41aVQN/5W5S+S43qZhxECtYLAEHMSFWX6Mv5IZrzj3T5+JqXfj5Q==";
       };
     };
-    "bmp-js-0.1.0" = {
-      name = "bmp-js";
-      packageName = "bmp-js";
-      version = "0.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bmp-js/-/bmp-js-0.1.0.tgz";
-        sha1 = "e05a63f796a6c1ff25f4771ec7adadc148c07233";
-      };
-    };
     "bmutex-0.1.6" = {
       name = "bmutex";
       packageName = "bmutex";
@@ -13333,13 +13459,13 @@ let
         sha1 = "68dff5fbe60c51eb37725ea9e3ed310dcc1e776e";
       };
     };
-    "boolean-3.1.2" = {
+    "boolean-3.1.4" = {
       name = "boolean";
       packageName = "boolean";
-      version = "3.1.2";
+      version = "3.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/boolean/-/boolean-3.1.2.tgz";
-        sha512 = "YN6UmV0FfLlBVvRvNPx3pz5W/mUoYB24J4WSXOKP/OOJpi+Oq6WYqPaNTHzjI0QzwWtnvEd5CGYyQPgp1jFxnw==";
+        url = "https://registry.npmjs.org/boolean/-/boolean-3.1.4.tgz";
+        sha512 = "3hx0kwU3uzG6ReQ3pnaFQPSktpBw6RHN3/ivDKEuU8g1XSfafowyvDnadjv1xp8IZqhtSukxlwv9bF6FhX8m0w==";
       };
     };
     "boom-2.10.1" = {
@@ -13360,13 +13486,13 @@ let
         sha512 = "yN5oZVmRCwe5aKwzRj6736nSmKDX7pLYwsXiCj/EYmo16hODaBiT4En5btW/jhBF/seV+XMx3aYwukYC3A49DA==";
       };
     };
-    "bootstrap-5.0.0-beta3" = {
+    "bootstrap-5.0.2" = {
       name = "bootstrap";
       packageName = "bootstrap";
-      version = "5.0.0-beta3";
+      version = "5.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bootstrap/-/bootstrap-5.0.0-beta3.tgz";
-        sha512 = "0urccjfIOzhrb9qJysN8XW/DRw6rg3zH7qLeKIp4Zyl8+Ens4JWB0NC0cB5AhnSFPd2tftRggjwCMxablo6Tpg==";
+        url = "https://registry.npmjs.org/bootstrap/-/bootstrap-5.0.2.tgz";
+        sha512 = "1Ge963tyEQWJJ+8qtXFU6wgmAVj9gweEjibUdbmcCEYsn38tVwRk8107rk2vzt6cfQcRr3SlZ8aQBqaD8aqf+Q==";
       };
     };
     "bootstrap-vue-helper-json-1.1.1" = {
@@ -13387,15 +13513,6 @@ let
         sha1 = "b4a0a5a839a406454af0fe05a8b91a7a766a54e2";
       };
     };
-    "bottleneck-2.19.5" = {
-      name = "bottleneck";
-      packageName = "bottleneck";
-      version = "2.19.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bottleneck/-/bottleneck-2.19.5.tgz";
-        sha512 = "VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==";
-      };
-    };
     "boundary-1.0.1" = {
       name = "boundary";
       packageName = "boundary";
@@ -13468,15 +13585,6 @@ let
         sha512 = "cU4J/+NodM3IHdSL2yN8bqYqnmlBTidDR4RC7nJs61ZmtGz8VZzM3HLQX0zY5mrSmPtR3xWwsq2jOUQqFZN8+A==";
       };
     };
-    "boxen-4.1.0" = {
-      name = "boxen";
-      packageName = "boxen";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/boxen/-/boxen-4.1.0.tgz";
-        sha512 = "Iwq1qOkmEsl0EVABa864Bbj3HCL4186DRZgFW/NrFs5y5GMM3ljsxzMLgOHdWISDRvcM8beh8q4tTNzXz+mSKg==";
-      };
-    };
     "boxen-4.2.0" = {
       name = "boxen";
       packageName = "boxen";
@@ -13531,6 +13639,15 @@ let
         sha512 = "z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==";
       };
     };
+    "bplist-parser-0.3.0" = {
+      name = "bplist-parser";
+      packageName = "bplist-parser";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.0.tgz";
+        sha512 = "zgmaRvT6AN1JpPPV+S0a1/FAtoxSreYDccZGIqEMSvZl9DMe70mJ7MFzpxa1X+gHVdkToE2haRUHHMiW1OdejA==";
+      };
+    };
     "brace-expansion-1.1.11" = {
       name = "brace-expansion";
       packageName = "brace-expansion";
@@ -13801,13 +13918,13 @@ let
         sha512 = "HI4lPveGKUR0x2StIz+2FXfDk9SfVMrxn6PLh1JeGUwcuoDkdKZebWiyLRJ68iIPDpMI4JLVDf7S7XzslgWOhw==";
       };
     };
-    "browserslist-4.16.6" = {
+    "browserslist-4.16.8" = {
       name = "browserslist";
       packageName = "browserslist";
-      version = "4.16.6";
+      version = "4.16.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz";
-        sha512 = "Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==";
+        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.16.8.tgz";
+        sha512 = "sc2m9ohR/49sWEbPj14ZSSZqp+kbi16aLao42Hmn3Z8FpjuMaq2xCA2l4zl9ITfyzvnvyE0hcg62YkIGKxgaNQ==";
       };
     };
     "brq-0.1.8" = {
@@ -13882,6 +13999,16 @@ let
         sha512 = "66UkjoB9f7lhT+WKgYq8MQa6nkr96mlX64JYMlIsXe/X4VeqNwvsx7UOE3ZqD6lkwg8GvBhapRTWj0qWO3Pw8w==";
       };
     };
+    "btc-rpc-client-git://github.com/btc21/btc-rpc-client" = {
+      name = "bitcoin-core";
+      packageName = "bitcoin-core";
+      version = "3.0.0";
+      src = fetchgit {
+        url = "git://github.com/btc21/btc-rpc-client";
+        rev = "8ed164d9ea4964d5c059084f48818b1a14bf86c9";
+        sha256 = "963ea67486cf531755c04d655bcff31d24f64682debd05a6c0ef469fd1e09bbb";
+      };
+    };
     "btcp-0.1.5" = {
       name = "btcp";
       packageName = "btcp";
@@ -14089,13 +14216,13 @@ let
         sha512 = "RiWIenusJsmI2KcvqQABB83tLxCByE3upSP8QU3rJDMVFGPWLvPQJt/O1Su9moRWeH7d+Q2HYb68f6+v+tw2vg==";
       };
     };
-    "buffer-from-1.1.1" = {
+    "buffer-from-1.1.2" = {
       name = "buffer-from";
       packageName = "buffer-from";
-      version = "1.1.1";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz";
-        sha512 = "MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==";
+        url = "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz";
+        sha512 = "E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==";
       };
     };
     "buffer-indexof-1.1.1" = {
@@ -14296,6 +14423,15 @@ let
         sha512 = "GtKwd/4etuk1hNeprXoESBO1RSeRYJMXKf+O0qHmWdUomLT8ysNEfX/4bZFXr3BK6eukpHiEnhY2uMtEHDM2ng==";
       };
     };
+    "bull-3.29.1" = {
+      name = "bull";
+      packageName = "bull";
+      version = "3.29.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bull/-/bull-3.29.1.tgz";
+        sha512 = "ASNnorakKCV4hmgHABfn8Ir+gy24a4gaGnXH/0bm1Msq+djOnNfM5XW7Igzsa5iTjpboWXhY9dHFVjiWRKsSGw==";
+      };
+    };
     "bunyan-1.5.1" = {
       name = "bunyan";
       packageName = "bunyan";
@@ -14485,13 +14621,13 @@ let
         sha512 = "a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==";
       };
     };
-    "cacache-15.2.0" = {
+    "cacache-15.3.0" = {
       name = "cacache";
       packageName = "cacache";
-      version = "15.2.0";
+      version = "15.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cacache/-/cacache-15.2.0.tgz";
-        sha512 = "uKoJSHmnrqXgthDFx/IU6ED/5xd+NNGe+Bb+kLZy7Ku4P+BaiWEUflAKPZ7eAzsYGcsAGASJZsybXp+quEcHTw==";
+        url = "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz";
+        sha512 = "VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==";
       };
     };
     "cache-base-1.0.1" = {
@@ -14800,13 +14936,13 @@ let
         sha512 = "bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==";
       };
     };
-    "caniuse-lite-1.0.30001246" = {
+    "caniuse-lite-1.0.30001252" = {
       name = "caniuse-lite";
       packageName = "caniuse-lite";
-      version = "1.0.30001246";
+      version = "1.0.30001252";
       src = fetchurl {
-        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001246.tgz";
-        sha512 = "Tc+ff0Co/nFNbLOrziBXmMVtpt9S2c2Y+Z9Nk9Khj09J+0zR9ejvIW5qkZAErCbOrVODCx/MN+GpB5FNBs5GFA==";
+        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001252.tgz";
+        sha512 = "I56jhWDGMtdILQORdusxBOH+Nl/KgQSdDmpJezYddnAkVOmnoU8zwjTV9xAjMIYxr0iPreEAVylCGcmHCjfaOw==";
       };
     };
     "canvas-2.8.0" = {
@@ -14953,6 +15089,15 @@ let
         sha512 = "rgt2RFogHGDLFU5r0kSfyeBc+de55DwYHP73KxKsQxsR5b0CYuQPH6AnJaXByiohpLdjQqj/K0SFcOV+dXdhSA==";
       };
     };
+    "cbor-8.0.0" = {
+      name = "cbor";
+      packageName = "cbor";
+      version = "8.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cbor/-/cbor-8.0.0.tgz";
+        sha512 = "nMmaLWbj7+bC6MsApKRIig8h+yjgNLhPLXaCelq5+C7mpWsHgIcseZSdvgexSY5uE1Q3m2uPvIDZwSdxdo7qig==";
+      };
+    };
     "ccount-1.1.0" = {
       name = "ccount";
       packageName = "ccount";
@@ -14962,31 +15107,31 @@ let
         sha512 = "vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==";
       };
     };
-    "cdk8s-1.0.0-beta.24" = {
+    "cdk8s-1.0.0-beta.30" = {
       name = "cdk8s";
       packageName = "cdk8s";
-      version = "1.0.0-beta.24";
+      version = "1.0.0-beta.30";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cdk8s/-/cdk8s-1.0.0-beta.24.tgz";
-        sha512 = "1aezBDPxwYvVd0/k5ts2UsgB6/NrvRNUksbZxbzZK1+thHl2iOLNYjnFMEOb64m6z3LrR0QMmAE4SLrXzbyMcQ==";
+        url = "https://registry.npmjs.org/cdk8s/-/cdk8s-1.0.0-beta.30.tgz";
+        sha512 = "U7esrJ2aQ89ACJY8TD0UWgP0dC30V+vy5ZZ8zSiHJyM5JL4N61pLWXDlrKAhpI3rFlrZn6h8YefkQJRM5aC2gw==";
       };
     };
-    "cdk8s-plus-17-1.0.0-beta.30" = {
+    "cdk8s-plus-17-1.0.0-beta.57" = {
       name = "cdk8s-plus-17";
       packageName = "cdk8s-plus-17";
-      version = "1.0.0-beta.30";
+      version = "1.0.0-beta.57";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cdk8s-plus-17/-/cdk8s-plus-17-1.0.0-beta.30.tgz";
-        sha512 = "e2xfSVsbwUPz+Zv5UycVKRgIcoca7ND00ov57iIsxRkc0yJ7rbILTxtrFoJ0fkEccgDVCDSoC6KfKkKh9Xzhqw==";
+        url = "https://registry.npmjs.org/cdk8s-plus-17/-/cdk8s-plus-17-1.0.0-beta.57.tgz";
+        sha512 = "xEHt7qxEqqPY7L7Thfmkyx+KmaBT8aFcFlmlfOdKA6rv+PhSlWBmCMM9bFq4QI/k6Yd0+pMuY67dV9KvODcdgQ==";
       };
     };
-    "cdktf-0.4.1" = {
+    "cdktf-0.5.0" = {
       name = "cdktf";
       packageName = "cdktf";
-      version = "0.4.1";
+      version = "0.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cdktf/-/cdktf-0.4.1.tgz";
-        sha512 = "U5aap+QH+w/0ibeFRYm8T/JtaA8AkjCkQ6c60eL/5hY0K0qi8rjEBpQcEho9KljqZvWap6mD2yD+JqunbLzRGA==";
+        url = "https://registry.npmjs.org/cdktf/-/cdktf-0.5.0.tgz";
+        sha512 = "V/3JOJLvD01vGy8Tvft7jH0NY3R7biKWqJ/BjGCx7+J9KAz6k9aFvtIpRhgcvXMo98B+lmdnMwSgfW2jXhnauQ==";
       };
     };
     "center-align-0.1.3" = {
@@ -15124,13 +15269,13 @@ let
         sha512 = "qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==";
       };
     };
-    "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==";
       };
     };
     "chance-1.0.18" = {
@@ -15241,6 +15386,15 @@ let
         sha512 = "+2jlOobSk52c1VU6fzkh3UwqHMdSlgH1xFv9FKMqHiNCpXsGPQa/+81AFa+i3jZ253Mq9aAycPwDjnn1XbRNNw==";
       };
     };
+    "chart.js-3.5.1" = {
+      name = "chart.js";
+      packageName = "chart.js";
+      version = "3.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chart.js/-/chart.js-3.5.1.tgz";
+        sha512 = "m5kzt72I1WQ9LILwQC4syla/LD/N413RYv2Dx2nnTkRS9iv/ey1xLTt0DnPc/eWV4zI+BgEgDYBIzbQhZHc/PQ==";
+      };
+    };
     "chartjs-color-2.4.1" = {
       name = "chartjs-color";
       packageName = "chartjs-color";
@@ -15358,15 +15512,6 @@ let
         sha512 = "NQky1HQyiAzxsxpq4Ppt47SYO2U3JLtmfs85QPf3kYSzGBjjp5AA8kqjH8hCjGFRpaQ781QOk1ragQIOkBgUTA==";
       };
     };
-    "child-process-1.0.2" = {
-      name = "child-process";
-      packageName = "child-process";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/child-process/-/child-process-1.0.2.tgz";
-        sha1 = "98974dc7ed1ee4c6229f8e305fa7313a6885a7f2";
-      };
-    };
     "child-process-ext-2.1.1" = {
       name = "child-process-ext";
       packageName = "child-process-ext";
@@ -15376,6 +15521,15 @@ let
         sha512 = "0UQ55f51JBkOFa+fvR76ywRzxiPwQS3Xe8oe5bZRphpv+dIMeerW5Zn5e4cUy4COJwVtJyU0R79RMnw+aCqmGA==";
       };
     };
+    "child-process-promise-2.2.1" = {
+      name = "child-process-promise";
+      packageName = "child-process-promise";
+      version = "2.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/child-process-promise/-/child-process-promise-2.2.1.tgz";
+        sha1 = "4730a11ef610fad450b8f223c79d31d7bdad8074";
+      };
+    };
     "chloride-2.4.1" = {
       name = "chloride";
       packageName = "chloride";
@@ -15700,13 +15854,13 @@ let
         sha512 = "OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==";
       };
     };
-    "cldr-6.1.1" = {
+    "cldr-7.1.1" = {
       name = "cldr";
       packageName = "cldr";
-      version = "6.1.1";
+      version = "7.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cldr/-/cldr-6.1.1.tgz";
-        sha512 = "Efm9g4BcBHWdy7jMcuXtWk7PI1gIx4nO1BhJyaFTeRktytW0tR4rDmm+PG7mSMLrnNUFcr3ww8JwJAgkNRMv5Q==";
+        url = "https://registry.npmjs.org/cldr/-/cldr-7.1.1.tgz";
+        sha512 = "zHHQLSZT9i/g7wAxGrMj1BRD7JYOSJHvPIT06EFkFEl4m9ItW48i9yWqgRgWESJ5oUqLs9IuMDoKf+21Lscqrg==";
       };
     };
     "clean-css-3.4.28" = {
@@ -15727,13 +15881,13 @@ let
         sha512 = "VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==";
       };
     };
-    "clean-css-5.1.3" = {
+    "clean-css-5.1.5" = {
       name = "clean-css";
       packageName = "clean-css";
-      version = "5.1.3";
+      version = "5.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/clean-css/-/clean-css-5.1.3.tgz";
-        sha512 = "qGXzUCDpLwAlPx0kYeU4QXjzQIcIYZbJjD4FNm7NnSjoP0hYMVZhHOpUYJ6AwfkMX2cceLRq54MeCgHy/va1cA==";
+        url = "https://registry.npmjs.org/clean-css/-/clean-css-5.1.5.tgz";
+        sha512 = "9dr/cU/LjMpU57PXlSvDkVRh0rPxJBXiBtD0+SgYt8ahTCsXtfKjCkNYgIoTC6mBg8CFr5EKhW3DKCaGMUbUfQ==";
       };
     };
     "clean-deep-3.4.0" = {
@@ -16051,15 +16205,6 @@ let
         sha1 = "a211e09c6a3de3ba1af27d049d301250d18812bc";
       };
     };
-    "clipanion-2.6.2" = {
-      name = "clipanion";
-      packageName = "clipanion";
-      version = "2.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/clipanion/-/clipanion-2.6.2.tgz";
-        sha512 = "0tOHJNMF9+4R3qcbBL+4IxLErpaYSYvzs10aXuECDbZdJOuJHdagJMAqvLdeaUQTI/o2uSCDRpet6ywDiKOAYw==";
-      };
-    };
     "clipboardy-1.2.3" = {
       name = "clipboardy";
       packageName = "clipboardy";
@@ -16294,6 +16439,24 @@ let
         sha512 = "ZZjKqOeNgXtz40seJmSYbfAsIGJVzDIAn30w0QRmnyXHFrjEXhW/K8ZgRw5FtsezYFQEuZXSp93S0UkKJHuhKg==";
       };
     };
+    "cluster-key-slot-1.1.0" = {
+      name = "cluster-key-slot";
+      packageName = "cluster-key-slot";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.0.tgz";
+        sha512 = "2Nii8p3RwAPiFwsnZvukotvow2rIHM+yQ6ZcBXGHdniadkYGZYiGmkHJIbZPIV9nfv7m/U1IPMVVcAhoWFeklw==";
+      };
+    };
+    "cmd-shim-2.1.0" = {
+      name = "cmd-shim";
+      packageName = "cmd-shim";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cmd-shim/-/cmd-shim-2.1.0.tgz";
+        sha512 = "A5C0Cyf2H8sKsHqX0tvIWRXw5/PK++3Dc0lDbsugr90nOECLLuSPahVQBG8pgmgiXgm/TzBWMqI2rWdZwHduAw==";
+      };
+    };
     "cmd-shim-3.0.3" = {
       name = "cmd-shim";
       packageName = "cmd-shim";
@@ -16456,13 +16619,13 @@ let
         sha512 = "3WQV/Fpa77nvzjUlc+0u53uIroJyyMB2Qwl++aXpAiDIsrsiAQq4uCURwdRBRX+eLkOTIAmT0L4qna3T7+2pUg==";
       };
     };
-    "codemaker-1.31.0" = {
+    "codemaker-1.34.0" = {
       name = "codemaker";
       packageName = "codemaker";
-      version = "1.31.0";
+      version = "1.34.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/codemaker/-/codemaker-1.31.0.tgz";
-        sha512 = "gyWhtZ4YU5b+pIijCfOZkGrH0DCkUQXyRG3BQtDlnwFJuXyJnDoz+dpM5ErkJuDD9w6Qns4aryyG/bU78huaSg==";
+        url = "https://registry.npmjs.org/codemaker/-/codemaker-1.34.0.tgz";
+        sha512 = "NHwy6TxMh21ygch7+K/OwtdN3BjxhAMoP5QXqzkkR0TDP2kEdKCNc31EChz3Xcmxk1qkdJN5CpXMnLjo7f07sQ==";
       };
     };
     "codepage-1.4.0" = {
@@ -16618,6 +16781,15 @@ let
         sha512 = "MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==";
       };
     };
+    "colorette-1.3.0" = {
+      name = "colorette";
+      packageName = "colorette";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/colorette/-/colorette-1.3.0.tgz";
+        sha512 = "ecORCqbSFP7Wm8Y6lyqMJjexBQqXSF7SSeaTyGGphogUjBlFP9m9o08wy86HL2uB7fMTxtOUzLMk7ogKcxMg1w==";
+      };
+    };
     "colornames-1.1.1" = {
       name = "colornames";
       packageName = "colornames";
@@ -16969,6 +17141,15 @@ let
         sha512 = "Xvf85aAtu6v22+E5hfVoLHqyul/jyxh91zvqk/ioJTQuJR7Z78n7H558vMPKanPSRgIEeZemT92I2g9Y8LPbSQ==";
       };
     };
+    "commander-8.1.0" = {
+      name = "commander";
+      packageName = "commander";
+      version = "8.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commander/-/commander-8.1.0.tgz";
+        sha512 = "mf45ldcuHSYShkplHHGKWb4TrmwQadxOn7v4WuhDJy0ZVoY5JFajaRDKD0PNe5qXzBX0rhovjTnP6Kz9LETcuA==";
+      };
+    };
     "commandpost-1.4.0" = {
       name = "commandpost";
       packageName = "commandpost";
@@ -17032,13 +17213,13 @@ let
         sha1 = "34fc3672cd24393e8bb47e70caa0293811f4f2c5";
       };
     };
-    "commonmark-0.29.3" = {
+    "commonmark-0.30.0" = {
       name = "commonmark";
       packageName = "commonmark";
-      version = "0.29.3";
+      version = "0.30.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/commonmark/-/commonmark-0.29.3.tgz";
-        sha512 = "fvt/NdOFKaL2gyhltSy6BC4LxbbxbnPxBMl923ittqO/JBM0wQHaoYZliE4tp26cRxX/ZZtRsJlZzQrVdUkXAA==";
+        url = "https://registry.npmjs.org/commonmark/-/commonmark-0.30.0.tgz";
+        sha512 = "j1yoUo4gxPND1JWV9xj5ELih0yMv1iCWDG6eEQIPLSWLxzCXiFoyS7kvB+WwU+tZMf4snwJMMtaubV0laFpiBA==";
       };
     };
     "compact2string-1.4.1" = {
@@ -17248,13 +17429,13 @@ let
         sha512 = "bzlVWS2THbMetHqXKB8ypsXN4DQ/1qopGwNJi1eYbpwesJcd86FBjFciCQX/YwAhp9bM7NVnPFqZ5LpV7gP0Dg==";
       };
     };
-    "conf-10.0.1" = {
+    "conf-10.0.2" = {
       name = "conf";
       packageName = "conf";
-      version = "10.0.1";
+      version = "10.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/conf/-/conf-10.0.1.tgz";
-        sha512 = "QClEoNcruwBL84QgMEPHibL3ERxWIrRKhbjJKG1VsFBadm5QpS0jsu4QjY/maxUvhyAKXeyrs+ws+lC6PajnEg==";
+        url = "https://registry.npmjs.org/conf/-/conf-10.0.2.tgz";
+        sha512 = "iyy4ArqyQ/yrzNASNBN+jaylu53JRuq0ztvL6KAWYHj4iN56BVuhy2SrzEEHBodNbacZr2Pd/4nWhoAwc66T1g==";
       };
     };
     "conf-6.2.4" = {
@@ -17491,13 +17672,13 @@ let
         sha1 = "c20b96d8c617748aaf1c16021760cd27fcb8cb75";
       };
     };
-    "constructs-3.3.99" = {
+    "constructs-3.3.133" = {
       name = "constructs";
       packageName = "constructs";
-      version = "3.3.99";
+      version = "3.3.133";
       src = fetchurl {
-        url = "https://registry.npmjs.org/constructs/-/constructs-3.3.99.tgz";
-        sha512 = "uX3bZtp6Zn53Utyurp4DrKolIDUuiDddHVTgsQ39KhVRkQ8TRMtl0nyXllysMtu78t8zLo9QygeyQ0QOBy3LHw==";
+        url = "https://registry.npmjs.org/constructs/-/constructs-3.3.133.tgz";
+        sha512 = "f0HgM9tmmR66A9XrzDXS7kXRbB9Gazb+KPldP9RRIkrFGhHuGeII+2YyTxxzY15cDgU58NrLrac+gynhrLy6Uw==";
       };
     };
     "consume-http-header-1.0.0" = {
@@ -17573,13 +17754,13 @@ let
         sha1 = "0e790b3abfef90f6ecb77ae8585db9099caf7578";
       };
     };
-    "contentful-management-7.30.0" = {
+    "contentful-management-7.33.0" = {
       name = "contentful-management";
       packageName = "contentful-management";
-      version = "7.30.0";
+      version = "7.33.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/contentful-management/-/contentful-management-7.30.0.tgz";
-        sha512 = "2aAIqLrxxCJt2bWg1LN+wxjYaevAHTsfZGkIPA5QRKK11WhpffrUMkTthbED6UWaY58BAM0TYXT3Z0s7nFu5zg==";
+        url = "https://registry.npmjs.org/contentful-management/-/contentful-management-7.33.0.tgz";
+        sha512 = "Q6Y0peBdmZUkQyrKP5rRuv2IbVpt5LflYfRdWstTQ9sERyAOgYJWBtvDCupXKw3g1oBXUxLXXU7vZY2M5jnTpQ==";
       };
     };
     "contentful-sdk-core-6.8.0" = {
@@ -17654,6 +17835,15 @@ let
         sha512 = "jx44cconVqkCEEyLSKWwkvUXwO561jXMa3LPjTPsm5QR22PA0/mhe33FT4Xb5y74JDvt/Cq+5lm8S8rskLv9ZA==";
       };
     };
+    "conventional-changelog-3.1.24" = {
+      name = "conventional-changelog";
+      packageName = "conventional-changelog";
+      version = "3.1.24";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.24.tgz";
+        sha512 = "ed6k8PO00UVvhExYohroVPXcOJ/K1N0/drJHx/faTH37OIZthlecuLIRX/T6uOp682CAoVoFpu+sSEaeuH6Asg==";
+      };
+    };
     "conventional-changelog-angular-5.0.12" = {
       name = "conventional-changelog-angular";
       packageName = "conventional-changelog-angular";
@@ -17663,6 +17853,33 @@ let
         sha512 = "5GLsbnkR/7A89RyHLvvoExbiGbd9xKdKqDTrArnPbOqBqG/2wIosu0fHwpeIRI8Tl94MhVNBXcLJZl92ZQ5USw==";
       };
     };
+    "conventional-changelog-atom-2.0.8" = {
+      name = "conventional-changelog-atom";
+      packageName = "conventional-changelog-atom";
+      version = "2.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-2.0.8.tgz";
+        sha512 = "xo6v46icsFTK3bb7dY/8m2qvc8sZemRgdqLb/bjpBsH2UyOS8rKNTgcb5025Hri6IpANPApbXMg15QLb1LJpBw==";
+      };
+    };
+    "conventional-changelog-codemirror-2.0.8" = {
+      name = "conventional-changelog-codemirror";
+      packageName = "conventional-changelog-codemirror";
+      version = "2.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.8.tgz";
+        sha512 = "z5DAsn3uj1Vfp7po3gpt2Boc+Bdwmw2++ZHa5Ak9k0UKsYAO5mH1UBTN0qSCuJZREIhX6WU4E1p3IW2oRCNzQw==";
+      };
+    };
+    "conventional-changelog-conventionalcommits-4.6.0" = {
+      name = "conventional-changelog-conventionalcommits";
+      packageName = "conventional-changelog-conventionalcommits";
+      version = "4.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.0.tgz";
+        sha512 = "sj9tj3z5cnHaSJCYObA9nISf7eq/YjscLPoq6nmew4SiOjxqL2KRpK20fjnjVbpNDjJ2HR3MoVcWKXwbVvzS0A==";
+      };
+    };
     "conventional-changelog-core-4.2.3" = {
       name = "conventional-changelog-core";
       packageName = "conventional-changelog-core";
@@ -17672,6 +17889,51 @@ let
         sha512 = "MwnZjIoMRL3jtPH5GywVNqetGILC7g6RQFvdb8LRU/fA/338JbeWAku3PZ8yQ+mtVRViiISqJlb0sOz0htBZig==";
       };
     };
+    "conventional-changelog-ember-2.0.9" = {
+      name = "conventional-changelog-ember";
+      packageName = "conventional-changelog-ember";
+      version = "2.0.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-2.0.9.tgz";
+        sha512 = "ulzIReoZEvZCBDhcNYfDIsLTHzYHc7awh+eI44ZtV5cx6LVxLlVtEmcO+2/kGIHGtw+qVabJYjdI5cJOQgXh1A==";
+      };
+    };
+    "conventional-changelog-eslint-3.0.9" = {
+      name = "conventional-changelog-eslint";
+      packageName = "conventional-changelog-eslint";
+      version = "3.0.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.9.tgz";
+        sha512 = "6NpUCMgU8qmWmyAMSZO5NrRd7rTgErjrm4VASam2u5jrZS0n38V7Y9CzTtLT2qwz5xEChDR4BduoWIr8TfwvXA==";
+      };
+    };
+    "conventional-changelog-express-2.0.6" = {
+      name = "conventional-changelog-express";
+      packageName = "conventional-changelog-express";
+      version = "2.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-2.0.6.tgz";
+        sha512 = "SDez2f3iVJw6V563O3pRtNwXtQaSmEfTCaTBPCqn0oG0mfkq0rX4hHBq5P7De2MncoRixrALj3u3oQsNK+Q0pQ==";
+      };
+    };
+    "conventional-changelog-jquery-3.0.11" = {
+      name = "conventional-changelog-jquery";
+      packageName = "conventional-changelog-jquery";
+      version = "3.0.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.11.tgz";
+        sha512 = "x8AWz5/Td55F7+o/9LQ6cQIPwrCjfJQ5Zmfqi8thwUEKHstEn4kTIofXub7plf1xvFA2TqhZlq7fy5OmV6BOMw==";
+      };
+    };
+    "conventional-changelog-jshint-2.0.9" = {
+      name = "conventional-changelog-jshint";
+      packageName = "conventional-changelog-jshint";
+      version = "2.0.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.9.tgz";
+        sha512 = "wMLdaIzq6TNnMHMy31hql02OEQ8nCQfExw1SE0hYL5KvU+JCTuPaDO+7JiogGT2gJAxiUGATdtYYfh+nT+6riA==";
+      };
+    };
     "conventional-changelog-preset-loader-2.3.4" = {
       name = "conventional-changelog-preset-loader";
       packageName = "conventional-changelog-preset-loader";
@@ -17996,40 +18258,40 @@ let
         sha512 = "Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==";
       };
     };
-    "core-js-3.12.0" = {
+    "core-js-3.16.0" = {
       name = "core-js";
       packageName = "core-js";
-      version = "3.12.0";
+      version = "3.16.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js/-/core-js-3.12.0.tgz";
-        sha512 = "SaMnchL//WwU2Ot1hhkPflE8gzo7uq1FGvUJ8GKmi3TOU7rGTHIU+eir1WGf6qOtTyxdfdcp10yPdGZ59sQ3hw==";
+        url = "https://registry.npmjs.org/core-js/-/core-js-3.16.0.tgz";
+        sha512 = "5+5VxRFmSf97nM8Jr2wzOwLqRo6zphH2aX+7KsAUONObyzakDNq2G/bgbhinxB4PoV9L3aXQYhiDKyIKWd2c8g==";
       };
     };
-    "core-js-3.15.2" = {
+    "core-js-3.16.3" = {
       name = "core-js";
       packageName = "core-js";
-      version = "3.15.2";
+      version = "3.16.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js/-/core-js-3.15.2.tgz";
-        sha512 = "tKs41J7NJVuaya8DxIOCnl8QuPHx5/ZVbFo1oKgVl1qHFBBrDctzQGtuLjPpRdNTWmKPH6oEvgN/MUID+l485Q==";
+        url = "https://registry.npmjs.org/core-js/-/core-js-3.16.3.tgz";
+        sha512 = "lM3GftxzHNtPNUJg0v4pC2RC6puwMd6VZA7vXUczi+SKmCWSf4JwO89VJGMqbzmB7jlK7B5hr3S64PqwFL49cA==";
       };
     };
-    "core-js-compat-3.15.2" = {
+    "core-js-compat-3.16.3" = {
       name = "core-js-compat";
       packageName = "core-js-compat";
-      version = "3.15.2";
+      version = "3.16.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.15.2.tgz";
-        sha512 = "Wp+BJVvwopjI+A1EFqm2dwUmWYXrvucmtIB2LgXn/Rb+gWPKYxtmb4GKHGKG/KGF1eK9jfjzT38DITbTOCX/SQ==";
+        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.16.3.tgz";
+        sha512 = "A/OtSfSJQKLAFRVd4V0m6Sep9lPdjD8bpN8v3tCCGwE0Tmh0hOiVDm9tw6mXmWOKOSZIyr3EkywPo84cJjGvIQ==";
       };
     };
-    "core-js-pure-3.15.2" = {
+    "core-js-pure-3.16.3" = {
       name = "core-js-pure";
       packageName = "core-js-pure";
-      version = "3.15.2";
+      version = "3.16.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.15.2.tgz";
-        sha512 = "D42L7RYh1J2grW8ttxoY1+17Y4wXZeKe7uyplAI3FkNQyI5OgBIAjUfFiTPfL1rs0qLpxaabITNbjKl1Sp82tA==";
+        url = "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.16.3.tgz";
+        sha512 = "6In+2RwN0FT5yK0ZnhDP5rco/NnuuFZhHauQizZiHo5lDnqAvq8Phxcpy3f+prJOqtKodt/cftBl/GTOW0kiqQ==";
       };
     };
     "core-util-is-1.0.2" = {
@@ -18122,6 +18384,15 @@ let
         sha512 = "pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==";
       };
     };
+    "cosmiconfig-7.0.1" = {
+      name = "cosmiconfig";
+      packageName = "cosmiconfig";
+      version = "7.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz";
+        sha512 = "a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==";
+      };
+    };
     "couch-login-0.1.20" = {
       name = "couch-login";
       packageName = "couch-login";
@@ -18140,15 +18411,6 @@ let
         sha1 = "aba6c5833be410d45b1eca3e6d583844ce682c77";
       };
     };
-    "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==";
-      };
-    };
     "cp-file-7.0.0" = {
       name = "cp-file";
       packageName = "cp-file";
@@ -18266,13 +18528,13 @@ let
         sha1 = "06be7abef947a3f14a30fd610671d401bca8b7b6";
       };
     };
-    "create-gatsby-1.10.0" = {
+    "create-gatsby-1.12.0" = {
       name = "create-gatsby";
       packageName = "create-gatsby";
-      version = "1.10.0";
+      version = "1.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/create-gatsby/-/create-gatsby-1.10.0.tgz";
-        sha512 = "EiN8bJepWMN4itheoQ9ul1jNrSWoWy5Cw+kAfF1sN0J7ZWtuYCFfRZX97VRTt6C7bvlHkTw7gew2pUbFS8La+Q==";
+        url = "https://registry.npmjs.org/create-gatsby/-/create-gatsby-1.12.0.tgz";
+        sha512 = "d8wlwgNgKrmd6J+cr4z1Hsis+sCwr9LoxnqSFqFzXcWowlODS5NP8gUZdCZ54hHd+0qIuAA77Wp67GAyhkFlCA==";
       };
     };
     "create-graphback-1.0.1" = {
@@ -18311,13 +18573,13 @@ let
         sha512 = "dNldIoSuNSvlTJ7slIKC/ZFGKexBMBrrcc+TTe1NdmROnaASuLPvqpwj9v4XS4uXZ8+YPu0sNmShX2rXI5LNsw==";
       };
     };
-    "create-torrent-4.7.0" = {
+    "create-torrent-5.0.1" = {
       name = "create-torrent";
       packageName = "create-torrent";
-      version = "4.7.0";
+      version = "5.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/create-torrent/-/create-torrent-4.7.0.tgz";
-        sha512 = "Pb3XjZNKdCs0Nk46yFKb82y+a3xRQeMvGi1AlJfIV40y/iwkgBqzS5EfqdnakEOvh2jzTOx3v8QxZpkz4hPzyw==";
+        url = "https://registry.npmjs.org/create-torrent/-/create-torrent-5.0.1.tgz";
+        sha512 = "fVvg1YYSogo3TlU1WFeTt937nhGQlf5KtB6M2HyDa/U02dbeMBE2AY9PcPlMufXNQoM/UCO28y26EmuApM7ZmA==";
       };
     };
     "cron-1.8.2" = {
@@ -18329,6 +18591,15 @@ let
         sha512 = "Gk2c4y6xKEO8FSAUTklqtfSr7oTq0CiPQeLBG5Fl0qoXpZyMcj1SG59YL+hqq04bu6/IuEA7lMkYDAplQNKkyg==";
       };
     };
+    "cron-parser-2.18.0" = {
+      name = "cron-parser";
+      packageName = "cron-parser";
+      version = "2.18.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cron-parser/-/cron-parser-2.18.0.tgz";
+        sha512 = "s4odpheTyydAbTBQepsqd2rNWGa2iV3cyo8g7zbI2QQYGLVsfbhmwukayS1XHppe02Oy1fg7mg6xoaraVJeEcg==";
+      };
+    };
     "cronosjs-1.7.1" = {
       name = "cronosjs";
       packageName = "cronosjs";
@@ -18482,13 +18753,13 @@ let
         sha512 = "fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==";
       };
     };
-    "crypto-js-4.0.0" = {
+    "crypto-js-4.1.1" = {
       name = "crypto-js";
       packageName = "crypto-js";
-      version = "4.0.0";
+      version = "4.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/crypto-js/-/crypto-js-4.0.0.tgz";
-        sha512 = "bzHZN8Pn+gS7DQA6n+iUmBfl0hO5DJq++QP3U6uTucDtk/0iGpXd/Gg7CGR0p8tJhofJyaKoWBuJI4eAO00BBg==";
+        url = "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz";
+        sha512 = "o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==";
       };
     };
     "crypto-random-string-1.0.0" = {
@@ -18743,6 +19014,15 @@ let
         sha1 = "a6602dff7e04a8306dc0db9a551e92e8b5662ad8";
       };
     };
+    "csscolorparser-1.0.3" = {
+      name = "csscolorparser";
+      packageName = "csscolorparser";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/csscolorparser/-/csscolorparser-1.0.3.tgz";
+        sha1 = "b34f391eea4da8f3e98231e2ccd8df9c041f171b";
+      };
+    };
     "cssesc-3.0.0" = {
       name = "cssesc";
       packageName = "cssesc";
@@ -18878,6 +19158,15 @@ let
         sha512 = "AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==";
       };
     };
+    "csstype-3.0.8" = {
+      name = "csstype";
+      packageName = "csstype";
+      version = "3.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/csstype/-/csstype-3.0.8.tgz";
+        sha512 = "jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw==";
+      };
+    };
     "csurf-1.11.0" = {
       name = "csurf";
       packageName = "csurf";
@@ -19076,6 +19365,15 @@ let
         sha512 = "4PL5hHaHwX4m7Zr1UapXW23apo6pexCgdetdJ5kTmADpG/7T9Gkxw0M0tf/pjoB63ezCCm0u5UaFYy2aMt0Mcw==";
       };
     };
+    "d3-7.0.1" = {
+      name = "d3";
+      packageName = "d3";
+      version = "7.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/d3/-/d3-7.0.1.tgz";
+        sha512 = "74zonD4nAtxF9dtwFwJ3RuoHPh2D/UTFX26midBuMVH+7pRbOezuyLUIb8mbQMuYFlcUXT+xy++orCmnvMM/CA==";
+      };
+    };
     "d3-array-1.2.4" = {
       name = "d3-array";
       packageName = "d3-array";
@@ -19094,6 +19392,15 @@ let
         sha512 = "B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==";
       };
     };
+    "d3-array-3.0.2" = {
+      name = "d3-array";
+      packageName = "d3-array";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/d3-array/-/d3-array-3.0.2.tgz";
+        sha512 = "nTN4OC6ufZueotlexbxBd2z8xmG1eIfhvP2m1auH2ONps0L+AZn1r0JWuzMXZ6XgOj1VBOp7GGZmEs9NUFEBbA==";
+      };
+    };
     "d3-axis-1.0.12" = {
       name = "d3-axis";
       packageName = "d3-axis";
@@ -19103,6 +19410,15 @@ let
         sha512 = "ejINPfPSNdGFKEOAtnBtdkpr24c4d4jsei6Lg98mxf424ivoDP2956/5HDpIAtmHo85lqT4pruy+zEgvRUBqaQ==";
       };
     };
+    "d3-axis-3.0.0" = {
+      name = "d3-axis";
+      packageName = "d3-axis";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz";
+        sha512 = "IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==";
+      };
+    };
     "d3-brush-1.1.6" = {
       name = "d3-brush";
       packageName = "d3-brush";
@@ -19112,6 +19428,15 @@ let
         sha512 = "7RW+w7HfMCPyZLifTz/UnJmI5kdkXtpCbombUSs8xniAyo0vIbrDzDwUJB6eJOgl9u5DQOt2TQlYumxzD1SvYA==";
       };
     };
+    "d3-brush-3.0.0" = {
+      name = "d3-brush";
+      packageName = "d3-brush";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz";
+        sha512 = "ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==";
+      };
+    };
     "d3-chord-1.0.6" = {
       name = "d3-chord";
       packageName = "d3-chord";
@@ -19121,6 +19446,15 @@ let
         sha512 = "JXA2Dro1Fxw9rJe33Uv+Ckr5IrAa74TlfDEhE/jfLOaXegMQFQTAgAw9WnZL8+HxVBRXaRGCkrNU7pJeylRIuA==";
       };
     };
+    "d3-chord-3.0.1" = {
+      name = "d3-chord";
+      packageName = "d3-chord";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz";
+        sha512 = "VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==";
+      };
+    };
     "d3-collection-1.0.7" = {
       name = "d3-collection";
       packageName = "d3-collection";
@@ -19148,6 +19482,15 @@ let
         sha512 = "SPXi0TSKPD4g9tw0NMZFnR95XVgUZiBH+uUTqQuDu1OsE2zomHU7ho0FISciaPvosimixwHFl3WHLGabv6dDgQ==";
       };
     };
+    "d3-color-3.0.1" = {
+      name = "d3-color";
+      packageName = "d3-color";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/d3-color/-/d3-color-3.0.1.tgz";
+        sha512 = "6/SlHkDOBLyQSJ1j1Ghs82OIUXpKWlR0hCsw0XrLSQhuUPuCSmLQ1QPH98vpnQxMUQM2/gfAkUEWsupVpd9JGw==";
+      };
+    };
     "d3-contour-1.3.2" = {
       name = "d3-contour";
       packageName = "d3-contour";
@@ -19157,6 +19500,15 @@ let
         sha512 = "hoPp4K/rJCu0ladiH6zmJUEz6+u3lgR+GSm/QdM2BBvDraU39Vr7YdDCicJcxP1z8i9B/2dJLgDC1NcvlF8WCg==";
       };
     };
+    "d3-contour-3.0.1" = {
+      name = "d3-contour";
+      packageName = "d3-contour";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/d3-contour/-/d3-contour-3.0.1.tgz";
+        sha512 = "0Oc4D0KyhwhM7ZL0RMnfGycLN7hxHB8CMmwZ3+H26PWAG0ozNuYG5hXSDNgmP1SgJkQMrlG6cP20HoaSbvcJTQ==";
+      };
+    };
     "d3-delaunay-5.3.0" = {
       name = "d3-delaunay";
       packageName = "d3-delaunay";
@@ -19166,6 +19518,15 @@ let
         sha512 = "amALSrOllWVLaHTnDLHwMIiz0d1bBu9gZXd1FiLfXf8sHcX9jrcj81TVZOqD4UX7MgBZZ07c8GxzEgBpJqc74w==";
       };
     };
+    "d3-delaunay-6.0.2" = {
+      name = "d3-delaunay";
+      packageName = "d3-delaunay";
+      version = "6.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.2.tgz";
+        sha512 = "IMLNldruDQScrcfT+MWnazhHbDJhcRJyOEBAJfwQnHle1RPh6WDuLvxNArUju2VSMSUuKlY5BGHRJ2cYyoFLQQ==";
+      };
+    };
     "d3-dispatch-1.0.6" = {
       name = "d3-dispatch";
       packageName = "d3-dispatch";
@@ -19184,6 +19545,15 @@ let
         sha512 = "S/m2VsXI7gAti2pBoLClFFTMOO1HTtT0j99AuXLoGFKO6deHDdnv6ZGTxSTTUTgO1zVcv82fCOtDjYK4EECmWA==";
       };
     };
+    "d3-dispatch-3.0.1" = {
+      name = "d3-dispatch";
+      packageName = "d3-dispatch";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz";
+        sha512 = "rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==";
+      };
+    };
     "d3-drag-1.2.5" = {
       name = "d3-drag";
       packageName = "d3-drag";
@@ -19193,6 +19563,24 @@ let
         sha512 = "rD1ohlkKQwMZYkQlYVCrSFxsWPzI97+W+PaEIBNTMxRuxz9RF0Hi5nJWHGVJ3Om9d2fRTe1yOBINJyy/ahV95w==";
       };
     };
+    "d3-drag-2.0.0" = {
+      name = "d3-drag";
+      packageName = "d3-drag";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/d3-drag/-/d3-drag-2.0.0.tgz";
+        sha512 = "g9y9WbMnF5uqB9qKqwIIa/921RYWzlUDv9Jl1/yONQwxbOfszAWTCm8u7HOTgJgRDXiRZN56cHT9pd24dmXs8w==";
+      };
+    };
+    "d3-drag-3.0.0" = {
+      name = "d3-drag";
+      packageName = "d3-drag";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz";
+        sha512 = "pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==";
+      };
+    };
     "d3-dsv-1.2.0" = {
       name = "d3-dsv";
       packageName = "d3-dsv";
@@ -19211,6 +19599,15 @@ let
         sha512 = "E+Pn8UJYx9mViuIUkoc93gJGGYut6mSDKy2+XaPwccwkRGlR+LO97L2VCCRjQivTwLHkSnAJG7yo00BWY6QM+w==";
       };
     };
+    "d3-dsv-3.0.1" = {
+      name = "d3-dsv";
+      packageName = "d3-dsv";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz";
+        sha512 = "UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==";
+      };
+    };
     "d3-ease-1.0.7" = {
       name = "d3-ease";
       packageName = "d3-ease";
@@ -19220,6 +19617,24 @@ let
         sha512 = "lx14ZPYkhNx0s/2HX5sLFUI3mbasHjSSpwO/KaaNACweVwxUruKyWVcb293wMv1RqTPZyZ8kSZ2NogUZNcLOFQ==";
       };
     };
+    "d3-ease-2.0.0" = {
+      name = "d3-ease";
+      packageName = "d3-ease";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/d3-ease/-/d3-ease-2.0.0.tgz";
+        sha512 = "68/n9JWarxXkOWMshcT5IcjbB+agblQUaIsbnXmrzejn2O82n3p2A9R2zEB9HIEFWKFwPAEDDN8gR0VdSAyyAQ==";
+      };
+    };
+    "d3-ease-3.0.1" = {
+      name = "d3-ease";
+      packageName = "d3-ease";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz";
+        sha512 = "wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==";
+      };
+    };
     "d3-fetch-1.2.0" = {
       name = "d3-fetch";
       packageName = "d3-fetch";
@@ -19229,6 +19644,15 @@ let
         sha512 = "yC78NBVcd2zFAyR/HnUiBS7Lf6inSCoWcSxFfw8FYL7ydiqe80SazNwoffcqOfs95XaLo7yebsmQqDKSsXUtvA==";
       };
     };
+    "d3-fetch-3.0.1" = {
+      name = "d3-fetch";
+      packageName = "d3-fetch";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz";
+        sha512 = "kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==";
+      };
+    };
     "d3-force-1.2.1" = {
       name = "d3-force";
       packageName = "d3-force";
@@ -19247,6 +19671,15 @@ let
         sha512 = "nAuHEzBqMvpFVMf9OX75d00OxvOXdxY+xECIXjW6Gv8BRrXu6gAWbv/9XKrvfJ5i5DCokDW7RYE50LRoK092ew==";
       };
     };
+    "d3-force-3.0.0" = {
+      name = "d3-force";
+      packageName = "d3-force";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz";
+        sha512 = "zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==";
+      };
+    };
     "d3-format-1.4.5" = {
       name = "d3-format";
       packageName = "d3-format";
@@ -19265,6 +19698,15 @@ let
         sha512 = "Ab3S6XuE/Q+flY96HXT0jOXcM4EAClYFnRGY5zsjRGNy6qCYrQsMffs7cV5Q9xejb35zxW5hf/guKw34kvIKsA==";
       };
     };
+    "d3-format-3.0.1" = {
+      name = "d3-format";
+      packageName = "d3-format";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/d3-format/-/d3-format-3.0.1.tgz";
+        sha512 = "hdL7+HBIohpgfolhBxr1KX47VMD6+vVD/oEFrxk5yhmzV2prk99EkFKYpXuhVkFpTgHdJ6/4bYcjdLPPXV4tIA==";
+      };
+    };
     "d3-geo-1.12.1" = {
       name = "d3-geo";
       packageName = "d3-geo";
@@ -19283,6 +19725,15 @@ let
         sha512 = "8pM1WGMLGFuhq9S+FpPURxic+gKzjluCD/CHTuUF3mXMeiCo0i6R0tO1s4+GArRFde96SLcW/kOFRjoAosPsFA==";
       };
     };
+    "d3-geo-3.0.1" = {
+      name = "d3-geo";
+      packageName = "d3-geo";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/d3-geo/-/d3-geo-3.0.1.tgz";
+        sha512 = "Wt23xBych5tSy9IYAM1FR2rWIBFWa52B/oF/GYe5zbdHrg08FU8+BuI6X4PvTwPDdqdAdq04fuWJpELtsaEjeA==";
+      };
+    };
     "d3-geo-projection-3.0.0" = {
       name = "d3-geo-projection";
       packageName = "d3-geo-projection";
@@ -19292,6 +19743,15 @@ let
         sha512 = "1JE+filVbkEX2bT25dJdQ05iA4QHvUwev6o0nIQHOSrNlHCAKfVss/U10vEM3pA4j5v7uQoFdQ4KLbx9BlEbWA==";
       };
     };
+    "d3-graphviz-4.0.0" = {
+      name = "d3-graphviz";
+      packageName = "d3-graphviz";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/d3-graphviz/-/d3-graphviz-4.0.0.tgz";
+        sha512 = "j+fRjPiLnMa3C2QLIWld13vJQzkd9uBhYXZJQSgKI7z2uTvCdMcrvvxJYg7vGdzqceMImKq5Is/oX8kDw+1xng==";
+      };
+    };
     "d3-hierarchy-1.1.9" = {
       name = "d3-hierarchy";
       packageName = "d3-hierarchy";
@@ -19310,6 +19770,15 @@ let
         sha512 = "SwIdqM3HxQX2214EG9GTjgmCc/mbSx4mQBn+DuEETubhOw6/U3fmnji4uCVrmzOydMHSO1nZle5gh6HB/wdOzw==";
       };
     };
+    "d3-hierarchy-3.0.1" = {
+      name = "d3-hierarchy";
+      packageName = "d3-hierarchy";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.0.1.tgz";
+        sha512 = "RlLTaofEoOrMK1JoXYIGhKTkJFI/6rFrYPgxy6QlZo2BcVc4HGTqEU0rPpzuMq5T/5XcMtAzv1XiLA3zRTfygw==";
+      };
+    };
     "d3-interpolate-1.4.0" = {
       name = "d3-interpolate";
       packageName = "d3-interpolate";
@@ -19328,6 +19797,15 @@ let
         sha512 = "c5UhwwTs/yybcmTpAVqwSFl6vrQ8JZJoT5F7xNFK9pymv5C0Ymcc9/LIJHtYIggg/yS9YHw8i8O8tgb9pupjeQ==";
       };
     };
+    "d3-interpolate-3.0.1" = {
+      name = "d3-interpolate";
+      packageName = "d3-interpolate";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz";
+        sha512 = "3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==";
+      };
+    };
     "d3-path-1.0.9" = {
       name = "d3-path";
       packageName = "d3-path";
@@ -19346,6 +19824,15 @@ let
         sha512 = "ZwZQxKhBnv9yHaiWd6ZU4x5BtCQ7pXszEV9CU6kRgwIQVQGLMv1oiL4M+MK/n79sYzsj+gcgpPQSctJUsLN7fA==";
       };
     };
+    "d3-path-3.0.1" = {
+      name = "d3-path";
+      packageName = "d3-path";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/d3-path/-/d3-path-3.0.1.tgz";
+        sha512 = "gq6gZom9AFZby0YLduxT1qmrp4xpBA1YZr19OI717WIdKE2OM5ETq5qrHLb301IgxhLwcuxvGZVLeeWc/k1I6w==";
+      };
+    };
     "d3-polygon-1.0.6" = {
       name = "d3-polygon";
       packageName = "d3-polygon";
@@ -19355,6 +19842,15 @@ let
         sha512 = "k+RF7WvI08PC8reEoXa/w2nSg5AUMTi+peBD9cmFc+0ixHfbs4QmxxkarVal1IkVkgxVuk9JSHhJURHiyHKAuQ==";
       };
     };
+    "d3-polygon-3.0.1" = {
+      name = "d3-polygon";
+      packageName = "d3-polygon";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz";
+        sha512 = "3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==";
+      };
+    };
     "d3-quadtree-1.0.7" = {
       name = "d3-quadtree";
       packageName = "d3-quadtree";
@@ -19373,6 +19869,15 @@ let
         sha512 = "b0Ed2t1UUalJpc3qXzKi+cPGxeXRr4KU9YSlocN74aTzp6R/Ud43t79yLLqxHRWZfsvWXmbDWPpoENK1K539xw==";
       };
     };
+    "d3-quadtree-3.0.1" = {
+      name = "d3-quadtree";
+      packageName = "d3-quadtree";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz";
+        sha512 = "04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==";
+      };
+    };
     "d3-random-1.1.2" = {
       name = "d3-random";
       packageName = "d3-random";
@@ -19382,6 +19887,15 @@ let
         sha512 = "6AK5BNpIFqP+cx/sreKzNjWbwZQCSUatxq+pPRmFIQaWuoD+NrbVWw7YWpHiXpCQ/NanKdtGDuB+VQcZDaEmYQ==";
       };
     };
+    "d3-random-3.0.1" = {
+      name = "d3-random";
+      packageName = "d3-random";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz";
+        sha512 = "FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==";
+      };
+    };
     "d3-scale-2.2.2" = {
       name = "d3-scale";
       packageName = "d3-scale";
@@ -19400,6 +19914,15 @@ let
         sha512 = "1JGp44NQCt5d1g+Yy+GeOnZP7xHo0ii8zsQp6PGzd+C1/dl0KGsp9A7Mxwp+1D1o4unbTTxVdU/ZOIEBoeZPbQ==";
       };
     };
+    "d3-scale-4.0.0" = {
+      name = "d3-scale";
+      packageName = "d3-scale";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.0.tgz";
+        sha512 = "foHQYKpWQcyndH1CGoHdUC4PECxTxonzwwBXGT8qu+Drb1FIc6ON6dG2P5f4hRRMkLiIKeWK7iFtdznDUrnuPQ==";
+      };
+    };
     "d3-scale-chromatic-1.5.0" = {
       name = "d3-scale-chromatic";
       packageName = "d3-scale-chromatic";
@@ -19409,6 +19932,15 @@ let
         sha512 = "ACcL46DYImpRFMBcpk9HhtIyC7bTBR4fNOPxwVSl0LfulDAwyiHyPOTqcDG1+t5d4P9W7t/2NAuWu59aKko/cg==";
       };
     };
+    "d3-scale-chromatic-3.0.0" = {
+      name = "d3-scale-chromatic";
+      packageName = "d3-scale-chromatic";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz";
+        sha512 = "Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==";
+      };
+    };
     "d3-selection-1.4.2" = {
       name = "d3-selection";
       packageName = "d3-selection";
@@ -19418,6 +19950,24 @@ let
         sha512 = "SJ0BqYihzOjDnnlfyeHT0e30k0K1+5sR3d5fNueCNeuhZTnGw4M4o8mqJchSwgKMXCNFo+e2VTChiSJ0vYtXkg==";
       };
     };
+    "d3-selection-2.0.0" = {
+      name = "d3-selection";
+      packageName = "d3-selection";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/d3-selection/-/d3-selection-2.0.0.tgz";
+        sha512 = "XoGGqhLUN/W14NmaqcO/bb1nqjDAw5WtSYb2X8wiuQWvSZUsUVYsOSkOybUrNvcBjaywBdYPy03eXHMXjk9nZA==";
+      };
+    };
+    "d3-selection-3.0.0" = {
+      name = "d3-selection";
+      packageName = "d3-selection";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz";
+        sha512 = "fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==";
+      };
+    };
     "d3-shape-1.3.7" = {
       name = "d3-shape";
       packageName = "d3-shape";
@@ -19436,6 +19986,15 @@ let
         sha512 = "PnjUqfM2PpskbSLTJvAzp2Wv4CZsnAgTfcVRTwW03QR3MkXF8Uo7B1y/lWkAsmbKwuecto++4NlsYcvYpXpTHA==";
       };
     };
+    "d3-shape-3.0.1" = {
+      name = "d3-shape";
+      packageName = "d3-shape";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/d3-shape/-/d3-shape-3.0.1.tgz";
+        sha512 = "HNZNEQoDhuCrDWEc/BMbF/hKtzMZVoe64TvisFLDp2Iyj0UShB/E6/lBsLlJTfBMbYgftHj90cXJ0SEitlE6Xw==";
+      };
+    };
     "d3-time-1.1.0" = {
       name = "d3-time";
       packageName = "d3-time";
@@ -19454,6 +20013,15 @@ let
         sha512 = "/eIQe/eR4kCQwq7yxi7z4c6qEXf2IYGcjoWB5OOQy4Tq9Uv39/947qlDcN2TLkiTzQWzvnsuYPB9TrWaNfipKQ==";
       };
     };
+    "d3-time-3.0.0" = {
+      name = "d3-time";
+      packageName = "d3-time";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/d3-time/-/d3-time-3.0.0.tgz";
+        sha512 = "zmV3lRnlaLI08y9IMRXSDshQb5Nj77smnfpnd2LrBa/2K281Jijactokeak14QacHs/kKq0AQ121nidNYlarbQ==";
+      };
+    };
     "d3-time-format-2.3.0" = {
       name = "d3-time-format";
       packageName = "d3-time-format";
@@ -19472,6 +20040,15 @@ let
         sha512 = "UXJh6EKsHBTjopVqZBhFysQcoXSv/5yLONZvkQ5Kk3qbwiUYkdX17Xa1PT6U1ZWXGGfB1ey5L8dKMlFq2DO0Ag==";
       };
     };
+    "d3-time-format-4.0.0" = {
+      name = "d3-time-format";
+      packageName = "d3-time-format";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.0.0.tgz";
+        sha512 = "nzaCwlj+ZVBIlFuVOT1RmU+6xb/7D5IcnhHzHQcBgS/aTa5K9fWZNN5LCXA27LgF5WxoSNJqKBbLcGMtM6Ca6A==";
+      };
+    };
     "d3-timer-1.0.10" = {
       name = "d3-timer";
       packageName = "d3-timer";
@@ -19490,6 +20067,15 @@ let
         sha512 = "TO4VLh0/420Y/9dO3+f9abDEFYeCUr2WZRlxJvbp4HPTQcSylXNiL6yZa9FIUvV1yRiFufl1bszTCLDqv9PWNA==";
       };
     };
+    "d3-timer-3.0.1" = {
+      name = "d3-timer";
+      packageName = "d3-timer";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz";
+        sha512 = "ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==";
+      };
+    };
     "d3-transition-1.3.2" = {
       name = "d3-transition";
       packageName = "d3-transition";
@@ -19499,6 +20085,24 @@ let
         sha512 = "sc0gRU4PFqZ47lPVHloMn9tlPcv8jxgOQg+0zjhfZXMQuvppjG6YuwdMBE0TuqCZjeJkLecku/l9R0JPcRhaDA==";
       };
     };
+    "d3-transition-2.0.0" = {
+      name = "d3-transition";
+      packageName = "d3-transition";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/d3-transition/-/d3-transition-2.0.0.tgz";
+        sha512 = "42ltAGgJesfQE3u9LuuBHNbGrI/AJjNL2OAUdclE70UE6Vy239GCBEYD38uBPoLeNsOhFStGpPI0BAOV+HMxog==";
+      };
+    };
+    "d3-transition-3.0.1" = {
+      name = "d3-transition";
+      packageName = "d3-transition";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz";
+        sha512 = "ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==";
+      };
+    };
     "d3-voronoi-1.1.4" = {
       name = "d3-voronoi";
       packageName = "d3-voronoi";
@@ -19517,6 +20121,24 @@ let
         sha512 = "VoLXTK4wvy1a0JpH2Il+F2CiOhVu7VRXWF5M/LroMIh3/zBAC3WAt7QoIvPibOavVo20hN6/37vwAsdBejLyKQ==";
       };
     };
+    "d3-zoom-2.0.0" = {
+      name = "d3-zoom";
+      packageName = "d3-zoom";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/d3-zoom/-/d3-zoom-2.0.0.tgz";
+        sha512 = "fFg7aoaEm9/jf+qfstak0IYpnesZLiMX6GZvXtUSdv8RH2o4E2qeelgdU09eKS6wGuiGMfcnMI0nTIqWzRHGpw==";
+      };
+    };
+    "d3-zoom-3.0.0" = {
+      name = "d3-zoom";
+      packageName = "d3-zoom";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz";
+        sha512 = "b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==";
+      };
+    };
     "dag-map-1.0.2" = {
       name = "dag-map";
       packageName = "dag-map";
@@ -19742,6 +20364,15 @@ let
         sha512 = "hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==";
       };
     };
+    "date-fns-2.23.0" = {
+      name = "date-fns";
+      packageName = "date-fns";
+      version = "2.23.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/date-fns/-/date-fns-2.23.0.tgz";
+        sha512 = "5ycpauovVyAk0kXNZz6ZoB9AYMZB4DObse7P3BPWmyEjXNORTI8EJ6X0uaSAq4sCHzM1uajzrkr6HnsLQpxGXA==";
+      };
+    };
     "date-format-2.1.0" = {
       name = "date-format";
       packageName = "date-format";
@@ -19832,13 +20463,13 @@ let
         sha512 = "E1GI7jMI57hL30OX6Ht/hfQU8DO4AuB9m72WFm4c38GNbUD4Q03//XZaOIHZiY+H1xUaomcot5yk2q/qIZQkGQ==";
       };
     };
-    "deasync-0.1.21" = {
+    "deasync-0.1.23" = {
       name = "deasync";
       packageName = "deasync";
-      version = "0.1.21";
+      version = "0.1.23";
       src = fetchurl {
-        url = "https://registry.npmjs.org/deasync/-/deasync-0.1.21.tgz";
-        sha512 = "kUmM8Y+PZpMpQ+B4AuOW9k2Pfx/mSupJtxOsLzmnHY2WqZUYRFccFn2RhzPAqt3Xb+sorK/badW2D4zNzqZz5w==";
+        url = "https://registry.npmjs.org/deasync/-/deasync-0.1.23.tgz";
+        sha512 = "CGZSokFwidI50GOAmkz/7z3QdMzTQqAiUOzt95PuhKgi6VVztn9D03ZCzzi93uUWlp/v6A9osvNWpIvqHvKjTA==";
       };
     };
     "death-1.1.0" = {
@@ -20021,13 +20652,13 @@ let
         sha1 = "aa24ffb9ac3df9a2351837cfb2d279360cd78492";
       };
     };
-    "debugnyan-1.0.0" = {
+    "debugnyan-2.0.2" = {
       name = "debugnyan";
       packageName = "debugnyan";
-      version = "1.0.0";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/debugnyan/-/debugnyan-1.0.0.tgz";
-        sha1 = "90386d5ebc2c63588f17f272be5c2a93b7665d83";
+        url = "https://registry.npmjs.org/debugnyan/-/debugnyan-2.0.2.tgz";
+        sha512 = "g4yO/Qc/bdu8JYCgC0L6RUTgGyQCH8fGJkDDicvd6G3k95glh96x9sIusgIdyjFRpWTH7xbnjhObOjYjJgRGQw==";
       };
     };
     "decache-4.4.0" = {
@@ -20327,15 +20958,6 @@ let
         sha1 = "b369d6fb5dbc13eecf524f91b070feedc357cf34";
       };
     };
-    "deep-scope-analyser-1.7.0" = {
-      name = "deep-scope-analyser";
-      packageName = "deep-scope-analyser";
-      version = "1.7.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/deep-scope-analyser/-/deep-scope-analyser-1.7.0.tgz";
-        sha512 = "rl5Dmt2IZkFpZo6XbEY1zG8st2Wpq8Pi/dV2gz8ZF6BDYt3fnor2JNxHwdO1WLo0k6JbmYp0x8MNy8kE4l1NtA==";
-      };
-    };
     "deepcopy-2.1.0" = {
       name = "deepcopy";
       packageName = "deepcopy";
@@ -20408,6 +21030,15 @@ let
         sha512 = "h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==";
       };
     };
+    "default-gateway-6.0.3" = {
+      name = "default-gateway";
+      packageName = "default-gateway";
+      version = "6.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz";
+        sha512 = "fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==";
+      };
+    };
     "default-resolution-2.0.0" = {
       name = "default-resolution";
       packageName = "default-resolution";
@@ -20543,6 +21174,15 @@ let
         sha512 = "aiQcQowF01RxFI4ZLFMpzyotbQonhNpBao6dkI8JPk5a+hmSjR5ErHp2CQySmQe8os3VBqLCIh87nDBgZXvsmg==";
       };
     };
+    "degenerator-3.0.1" = {
+      name = "degenerator";
+      packageName = "degenerator";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/degenerator/-/degenerator-3.0.1.tgz";
+        sha512 = "LFsIFEeLPlKvAKXu7j3ssIG6RT0TbI7/GhsqrI0DnHASEQjXQ0LUSYcjJteGgRGmZbl1TnMSxpNQIAiJ7Du5TQ==";
+      };
+    };
     "del-4.1.1" = {
       name = "del";
       packageName = "del";
@@ -20579,6 +21219,15 @@ let
         sha512 = "WNPWi1IRKZfCt/qIDMfERkDp93+iZEmOxN2yy4Jg+Xhv8SLk2UTqqbe1sfiipn0and9QrE914/ihdx82Y/Giag==";
       };
     };
+    "delaunator-5.0.0" = {
+      name = "delaunator";
+      packageName = "delaunator";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/delaunator/-/delaunator-5.0.0.tgz";
+        sha512 = "AyLvtyJdbv/U1GkiS6gUUzclRoAY4Gs75qkMygJJhU75LW4DNuSF2RMzpxs9jw9Oz1BobHjTdkG3zdP55VxAqw==";
+      };
+    };
     "delay-4.4.1" = {
       name = "delay";
       packageName = "delay";
@@ -20615,6 +21264,15 @@ let
         sha1 = "84c6e159b81904fdca59a0ef44cd870d31250f9a";
       };
     };
+    "deltachat-node-1.56.2" = {
+      name = "deltachat-node";
+      packageName = "deltachat-node";
+      version = "1.56.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/deltachat-node/-/deltachat-node-1.56.2.tgz";
+        sha512 = "bM/fVTM1GVgXpvGZFiMB1qKxhnJvFx4ssqZVddsTjGTlzQ+9dRIZmkWIFvUzIGCyLWMcfNJZcUZgLgKdbz+liw==";
+      };
+    };
     "denodeify-1.2.1" = {
       name = "denodeify";
       packageName = "denodeify";
@@ -20633,6 +21291,15 @@ let
         sha512 = "CYiCSgIF1p6EUByQPlGkKnP1M9g0ZV3qMIrqMqZqdwazygIA/YP2vrbcyl1h/WppKJTdl1F85cXIle+394iDAQ==";
       };
     };
+    "denque-1.5.1" = {
+      name = "denque";
+      packageName = "denque";
+      version = "1.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/denque/-/denque-1.5.1.tgz";
+        sha512 = "XwE+iZ4D6ZUB7mfYRMb5wByE8L74HCn30FBN7sWnXksWc1LO1bPDl67pBR9o/kC4z/xSNAwkMYcGgqDV3BE3Hw==";
+      };
+    };
     "dep-graph-1.1.0" = {
       name = "dep-graph";
       packageName = "dep-graph";
@@ -20957,13 +21624,13 @@ let
         sha512 = "VvlVYY+VDJe639yHs5PHISzdWTLL3Aw8rO4cvUtwvoxFd6FHbE4OpHHcde52M6096uYYazAmd4l0o5VuFRO2WA==";
       };
     };
-    "devtools-protocol-0.0.883894" = {
+    "devtools-protocol-0.0.901419" = {
       name = "devtools-protocol";
       packageName = "devtools-protocol";
-      version = "0.0.883894";
+      version = "0.0.901419";
       src = fetchurl {
-        url = "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.883894.tgz";
-        sha512 = "33idhm54QJzf3Q7QofMgCvIVSd2o9H3kQPWaKT/fhoZh+digc+WSiMhbkeG3iN79WY4Hwr9G05NpbhEVrsOYAg==";
+        url = "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.901419.tgz";
+        sha512 = "4INMPwNm9XRpBukhNbF7OB6fNTTCaI8pzy/fXg0xQzAy5h3zL1P8xT3QazgKqBrb/hAYwIBizqDBZ7GtJE74QQ==";
       };
     };
     "dezalgo-1.0.3" = {
@@ -21020,6 +21687,15 @@ let
         sha512 = "MdceRRWqltEG2dZqO769g27N/3PXfcKl04VhYnBlo2YhH7zPi88VebsjTKclaOyiuMaGU72hTfw3VkUitGcVCA==";
       };
     };
+    "dictionary-en-gb-2.3.0" = {
+      name = "dictionary-en-gb";
+      packageName = "dictionary-en-gb";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dictionary-en-gb/-/dictionary-en-gb-2.3.0.tgz";
+        sha512 = "P/J2VQp/hDsMTfJhmIYPUBxZqezWuDaUzSgb6oW7JLpUV2So9jCXbR5TaUYXwfO50ZXPYEzQqQHPQK3pKcs7Rg==";
+      };
+    };
     "diff-1.4.0" = {
       name = "diff";
       packageName = "diff";
@@ -21092,13 +21768,13 @@ let
         sha512 = "Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==";
       };
     };
-    "diff2html-3.4.7" = {
+    "diff2html-3.4.9" = {
       name = "diff2html";
       packageName = "diff2html";
-      version = "3.4.7";
+      version = "3.4.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/diff2html/-/diff2html-3.4.7.tgz";
-        sha512 = "QbQMz1qKFxQqqWvpDAxzD37iZb7i9ixVoBjHh7y5PLg1EagYgbrM4Fley4u5YM6i2elNrJNnKjNzyNtGBx3xjw==";
+        url = "https://registry.npmjs.org/diff2html/-/diff2html-3.4.9.tgz";
+        sha512 = "33x45h6Xgfasjt49e0ldfLnUdCjLjHIdablpAlrKnQyyG1RA7w+4cbp9+bUfNLxfFj584BookXqh5KJEt4+MLA==";
       };
     };
     "diff3-0.0.3" = {
@@ -21371,67 +22047,40 @@ let
         sha512 = "2FFKzmLGOnD+Y378bRKH+gTjRMuSpH7OKgPy31KjjfCoKZx7tU8Dmqfd/3fhG2d/4bppuN8/KtWMUZBAcUCRnQ==";
       };
     };
-    "docker-modem-2.1.3" = {
-      name = "docker-modem";
-      packageName = "docker-modem";
-      version = "2.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/docker-modem/-/docker-modem-2.1.3.tgz";
-        sha512 = "cwaRptBmYZwu/FyhGcqBm2MzXA77W2/E6eVkpOZVDk6PkI9Bjj84xPrXiHMA+OWjzNy+DFjgKh8Q+1hMR7/OHg==";
-      };
-    };
-    "dockerfile-ast-0.1.0" = {
+    "dockerfile-ast-0.3.0" = {
       name = "dockerfile-ast";
       packageName = "dockerfile-ast";
-      version = "0.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dockerfile-ast/-/dockerfile-ast-0.1.0.tgz";
-        sha512 = "qKftHMVoMliYBaYLkgttm+NXhRISVNkIMfAL4ecmXjiWRElfdfY+xNgITiehG0LpUEDbFUa/UDCByYq/2UZIpQ==";
-      };
-    };
-    "dockerfile-ast-0.2.0" = {
-      name = "dockerfile-ast";
-      packageName = "dockerfile-ast";
-      version = "0.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dockerfile-ast/-/dockerfile-ast-0.2.0.tgz";
-        sha512 = "iQyp12k1A4tF3sEfLAq2wfFPKdpoiGTJeuiu2Y1bdEqIZu0DfSSL2zm0fk7a/UHeQkngnYaRRGuON+C+2LO1Fw==";
-      };
-    };
-    "dockerfile-ast-0.2.1" = {
-      name = "dockerfile-ast";
-      packageName = "dockerfile-ast";
-      version = "0.2.1";
+      version = "0.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dockerfile-ast/-/dockerfile-ast-0.2.1.tgz";
-        sha512 = "ut04CVM1G6zIITTcYPDIXhPZk9mCa21m4dfW8FcDDGxwgTQhYyHDu6U7M8klZ7QsjqVcJhryKi+TGOX6bjgKdQ==";
+        url = "https://registry.npmjs.org/dockerfile-ast/-/dockerfile-ast-0.3.0.tgz";
+        sha512 = "wEbFtqeHZffyOYP2pMfMLQ0m2wdHUzty0UTDoAMNa6/nvLfDRSEaPkszIWFy86tuWwHucBtcczIHQlFATJ54eA==";
       };
     };
-    "dockerfile-language-service-0.3.0" = {
+    "dockerfile-language-service-0.4.0" = {
       name = "dockerfile-language-service";
       packageName = "dockerfile-language-service";
-      version = "0.3.0";
+      version = "0.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dockerfile-language-service/-/dockerfile-language-service-0.3.0.tgz";
-        sha512 = "BUStimzz1Ozh41o+2AgMfwW8M7KsqzOBllNlLkf7NDe6W9KvcC3d8j4MTc+cU9wfRUoVckK39M2btvRFFDK61w==";
+        url = "https://registry.npmjs.org/dockerfile-language-service/-/dockerfile-language-service-0.4.0.tgz";
+        sha512 = "P4yj9in7PMLeN3StBn5e+Ofiju+nfs5ZdDv4EqfK91mYx/+U7wm8QipyP05iUXaVKFh6I9tn9Qmi1tpt5jj2hw==";
       };
     };
-    "dockerfile-utils-0.2.0" = {
+    "dockerfile-utils-0.5.0" = {
       name = "dockerfile-utils";
       packageName = "dockerfile-utils";
-      version = "0.2.0";
+      version = "0.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dockerfile-utils/-/dockerfile-utils-0.2.0.tgz";
-        sha512 = "B8tEGwLd3w0dWALshXS0gkAwDYdqFKAKm9zIyp/nCFkx8+BOhbz5CiAFlVU+WRvv6kd6AP/YtYVOzSL54MJlmQ==";
+        url = "https://registry.npmjs.org/dockerfile-utils/-/dockerfile-utils-0.5.0.tgz";
+        sha512 = "a12B6qAwLpl7D9Y6Zxt0AhW74g0k5NarpWF+NUb66A6la5vs1igI/KfdXZbFoQtpTOsv1T+OfKmhlE982Ars1w==";
       };
     };
-    "dockerfile-utils-0.4.2" = {
-      name = "dockerfile-utils";
-      packageName = "dockerfile-utils";
-      version = "0.4.2";
+    "doctoc-2.0.1" = {
+      name = "doctoc";
+      packageName = "doctoc";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dockerfile-utils/-/dockerfile-utils-0.4.2.tgz";
-        sha512 = "WfJEuXWdVdiarhxJgRlZ9bkMO/9un6dZDz+u3z6AYEXfsH2XRwYqdIvyOqFzaDDP0Hc6pR5rb9FJRSKyo+NuxA==";
+        url = "https://registry.npmjs.org/doctoc/-/doctoc-2.0.1.tgz";
+        sha512 = "JsxnSVZtLCThKehjFPBDhP1+ZLmdfXQynZH/0ABAwrnd1Zf3AV6LigC9oWJyaZ+c6RXCDnlGUNJ7I+1v8VaaRg==";
       };
     };
     "doctrine-2.1.0" = {
@@ -21479,6 +22128,24 @@ let
         sha512 = "gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==";
       };
     };
+    "dom-helpers-3.4.0" = {
+      name = "dom-helpers";
+      packageName = "dom-helpers";
+      version = "3.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.4.0.tgz";
+        sha512 = "LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==";
+      };
+    };
+    "dom-helpers-5.2.1" = {
+      name = "dom-helpers";
+      packageName = "dom-helpers";
+      version = "5.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz";
+        sha512 = "nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==";
+      };
+    };
     "dom-serialize-2.2.1" = {
       name = "dom-serialize";
       packageName = "dom-serialize";
@@ -21542,6 +22209,15 @@ let
         sha512 = "6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==";
       };
     };
+    "dom4-2.1.6" = {
+      name = "dom4";
+      packageName = "dom4";
+      version = "2.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dom4/-/dom4-2.1.6.tgz";
+        sha512 = "JkCVGnN4ofKGbjf5Uvc8mmxaATIErKQKSgACdBXpsQ3fY6DlIpAyWfiBSrGkttATssbDCp3psiAKWXk5gmjycA==";
+      };
+    };
     "domain-browser-1.2.0" = {
       name = "domain-browser";
       packageName = "domain-browser";
@@ -21650,13 +22326,13 @@ let
         sha512 = "3VdM/SXBZX2omc9JF9nOPCtDaYQ67BGp5CoLpIQlO2KCAPETs8TcDHacF26jXadGbvUteZzRTeos2fhID5+ucQ==";
       };
     };
-    "dompurify-2.3.0" = {
+    "dompurify-2.3.1" = {
       name = "dompurify";
       packageName = "dompurify";
-      version = "2.3.0";
+      version = "2.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dompurify/-/dompurify-2.3.0.tgz";
-        sha512 = "VV5C6Kr53YVHGOBKO/F86OYX6/iLTw2yVSI721gKetxpHCK/V5TaLEf9ODjRgl1KLSWRMY6cUhAbv/c+IUnwQw==";
+        url = "https://registry.npmjs.org/dompurify/-/dompurify-2.3.1.tgz";
+        sha512 = "xGWt+NHAQS+4tpgbOAI08yxW0Pr256Gu/FNE2frZVTbgrBUn8M7tz7/ktS/LZ2MHeGqz6topj0/xY+y8R5FBFw==";
       };
     };
     "domutils-1.4.3" = {
@@ -21803,15 +22479,6 @@ let
         sha512 = "UGGGWfSauusaVJC+8fgV+NVvBXkCTmVv7sk6nojDZZvuOUNGUy0Zk4UpHQD6EDjS0jpBwcACvH4eofvyzBcRDw==";
       };
     };
-    "dotnet-deps-parser-5.0.0" = {
-      name = "dotnet-deps-parser";
-      packageName = "dotnet-deps-parser";
-      version = "5.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dotnet-deps-parser/-/dotnet-deps-parser-5.0.0.tgz";
-        sha512 = "1l9K4UnQQHSfKgeHeLrxnB53AidCZqPyf9dkRL4/fZl8//NPiiDD43zHtgylw8DHlO7gvM8+O5a0UPHesNYZKw==";
-      };
-    };
     "downgrade-root-1.2.2" = {
       name = "downgrade-root";
       packageName = "downgrade-root";
@@ -22028,6 +22695,15 @@ let
         sha512 = "vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA==";
       };
     };
+    "earcut-2.2.3" = {
+      name = "earcut";
+      packageName = "earcut";
+      version = "2.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/earcut/-/earcut-2.2.3.tgz";
+        sha512 = "iRDI1QeCQIhMCZk48DRDMVgQSSBDmbzzNhnxIo+pwx3swkfjMh6vh0nWLq1NdvGHLKH6wIrAM3vQWeTj6qeoug==";
+      };
+    };
     "easy-stack-1.0.1" = {
       name = "easy-stack";
       packageName = "easy-stack";
@@ -22055,15 +22731,6 @@ let
         sha512 = "nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==";
       };
     };
-    "ecstatic-3.3.2" = {
-      name = "ecstatic";
-      packageName = "ecstatic";
-      version = "3.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ecstatic/-/ecstatic-3.3.2.tgz";
-        sha512 = "fLf9l1hnwrHI2xn9mEDT7KIi22UDqA2jaCwyCbSUJh9a1V+LEUSL/JO/6TIz/QyuBURWUHrFL5Kg2TtO1bkkog==";
-      };
-    };
     "ecstatic-4.1.4" = {
       name = "ecstatic";
       packageName = "ecstatic";
@@ -22145,13 +22812,22 @@ let
         sha512 = "9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==";
       };
     };
-    "electron-notarize-1.0.0" = {
+    "electron-13.2.2" = {
+      name = "electron";
+      packageName = "electron";
+      version = "13.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/electron/-/electron-13.2.2.tgz";
+        sha512 = "thGq2YaZqQWK1HexRghxdb26a8hA7ZSebukUSHlnHrY9+Sx9rW7e3uEHbibk/seRXVoXO76HndjKdHyObP9/Kw==";
+      };
+    };
+    "electron-notarize-1.1.0" = {
       name = "electron-notarize";
       packageName = "electron-notarize";
-      version = "1.0.0";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/electron-notarize/-/electron-notarize-1.0.0.tgz";
-        sha512 = "dsib1IAquMn0onCrNMJ6gtEIZn/azG8hZMCYOuZIMVMUeRMgBYHK1s5TK9P8xAcrAjh/2aN5WYHzgVSWX314og==";
+        url = "https://registry.npmjs.org/electron-notarize/-/electron-notarize-1.1.0.tgz";
+        sha512 = "Dmp/jm2y3PTcjmjVe+jCT0sjsbBfbNuk7GOPtduZce2iae1hgAPnlNErk6x70TalsGIL5Ip3liSryqde/6eB5w==";
       };
     };
     "electron-osx-sign-0.5.0" = {
@@ -22181,13 +22857,13 @@ let
         sha512 = "1sQ1DRtQGpglFhc3urD4olMJzt/wxlbnAAsf+WY2xHf5c50ZovivZvCXSpVgTOP9f4TzOMvelWyspyfhxQKHzQ==";
       };
     };
-    "electron-to-chromium-1.3.782" = {
+    "electron-to-chromium-1.3.818" = {
       name = "electron-to-chromium";
       packageName = "electron-to-chromium";
-      version = "1.3.782";
+      version = "1.3.818";
       src = fetchurl {
-        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.782.tgz";
-        sha512 = "6AI2se1NqWA1SBf/tlD6tQD/6ZOt+yAhqmrTlh4XZw4/g0Mt3p6JhTQPZxRPxPZiOg0o7ss1EBP/CpYejfnoIA==";
+        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.818.tgz";
+        sha512 = "c/Z9gIr+jDZAR9q+mn40hEc1NharBT+8ejkarjbCDnBNFviI6hvcC5j2ezkAXru//bTnQp5n6iPi0JA83Tla1Q==";
       };
     };
     "electrum-client-git://github.com/janoside/electrum-client" = {
@@ -22236,15 +22912,6 @@ let
         sha512 = "tKSFTWOp5OwJSp6MKyQDX7umYDkvUuI8rxHXw8BuUQ63d9Trj9xLeo6SHyoTGSoZNNZVitFa+RuHHXuoAzN3Rw==";
       };
     };
-    "elfy-1.0.0" = {
-      name = "elfy";
-      packageName = "elfy";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/elfy/-/elfy-1.0.0.tgz";
-        sha512 = "4Kp3AA94jC085IJox+qnvrZ3PudqTi4gQNvIoTZfJJ9IqkRuCoqP60vCVYlIg00c5aYusi5Wjh2bf0cHYt+6gQ==";
-      };
-    };
     "elliptic-6.5.4" = {
       name = "elliptic";
       packageName = "elliptic";
@@ -22254,15 +22921,6 @@ let
         sha512 = "iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==";
       };
     };
-    "email-validator-2.0.4" = {
-      name = "email-validator";
-      packageName = "email-validator";
-      version = "2.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/email-validator/-/email-validator-2.0.4.tgz";
-        sha512 = "gYCwo7kh5S3IDyZPLZf6hSS0MnZT8QmJFqYvbqlDZSbwdZlY6QZWxJ4i/6UhITOJ4XzyI647Bm2MXKCLqnJ4nQ==";
-      };
-    };
     "emitter-http://github.com/component/emitter/archive/1.0.1.tar.gz" = {
       name = "emitter";
       packageName = "emitter";
@@ -22291,6 +22949,24 @@ let
         sha512 = "3IqSwmO+N2ZGeuhDyhV/TIOJFUbkChi53bcasSNRE7Yd+4eorbbYz4e53TpMECt38NtYkZNupQCZRlwdAYA42A==";
       };
     };
+    "emoji-js-clean-4.0.0" = {
+      name = "emoji-js-clean";
+      packageName = "emoji-js-clean";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/emoji-js-clean/-/emoji-js-clean-4.0.0.tgz";
+        sha512 = "6WZ/WH61ABR/s3TZpRW+nXBSRu6xMTdZSGjNTHo1ptv1vRjwOfbzEPQp9mtgbCi1vkFsFi1SZYz/UIliVxvLwg==";
+      };
+    };
+    "emoji-mart-3.0.1" = {
+      name = "emoji-mart";
+      packageName = "emoji-mart";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/emoji-mart/-/emoji-mart-3.0.1.tgz";
+        sha512 = "sxpmMKxqLvcscu6mFn9ITHeZNkGzIvD0BSNFE/LJESPbCA8s1jM6bCDPjWbV31xHq7JXaxgpHxLB54RCbBZSlg==";
+      };
+    };
     "emoji-named-characters-1.0.2" = {
       name = "emoji-named-characters";
       packageName = "emoji-named-characters";
@@ -22300,13 +22976,13 @@ let
         sha1 = "cdeb36d0e66002c4b9d7bf1dfbc3a199fb7d409b";
       };
     };
-    "emoji-regex-6.1.1" = {
+    "emoji-regex-6.1.3" = {
       name = "emoji-regex";
       packageName = "emoji-regex";
-      version = "6.1.1";
+      version = "6.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.1.1.tgz";
-        sha1 = "c6cd0ec1b0642e2a3c67a1137efc5e796da4f88e";
+        url = "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.1.3.tgz";
+        sha1 = "ec79a3969b02d2ecf2b72254279bf99bc7a83932";
       };
     };
     "emoji-regex-6.5.1" = {
@@ -22336,6 +23012,15 @@ let
         sha512 = "MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==";
       };
     };
+    "emoji-regex-9.2.2" = {
+      name = "emoji-regex";
+      packageName = "emoji-regex";
+      version = "9.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz";
+        sha512 = "L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==";
+      };
+    };
     "emoji-server-1.0.0" = {
       name = "emoji-server";
       packageName = "emoji-server";
@@ -22453,15 +23138,6 @@ let
         sha1 = "d4596e702734a93e40e9af864319eabd99ff2f0e";
       };
     };
-    "end-of-stream-1.1.0" = {
-      name = "end-of-stream";
-      packageName = "end-of-stream";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.1.0.tgz";
-        sha1 = "e9353258baa9108965efc41cb0ef8ade2f3cfb07";
-      };
-    };
     "end-of-stream-1.4.4" = {
       name = "end-of-stream";
       packageName = "end-of-stream";
@@ -22489,15 +23165,6 @@ let
         sha512 = "buHTb5c8AC9NshtP6dgmNLYkiT+olskbq1z6cEGvfGCF3Qphbu/1zz5Xu+yjTDln8RbxNhPoUyJ5H8MSrp1olQ==";
       };
     };
-    "endian-reader-0.3.0" = {
-      name = "endian-reader";
-      packageName = "endian-reader";
-      version = "0.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/endian-reader/-/endian-reader-0.3.0.tgz";
-        sha1 = "84eca436b80aed0d0639c47291338b932efe50a0";
-      };
-    };
     "ends-with-0.2.0" = {
       name = "ends-with";
       packageName = "ends-with";
@@ -22705,15 +23372,6 @@ let
         sha512 = "p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==";
       };
     };
-    "entity-decode-2.0.2" = {
-      name = "entity-decode";
-      packageName = "entity-decode";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/entity-decode/-/entity-decode-2.0.2.tgz";
-        sha512 = "5CCY/3ci4MC1m2jlumNjWd7VBFt4VfFnmSqSNmVcXq4gxM3Vmarxtt+SvmBnzwLS669MWdVuXboNVj1qN2esVg==";
-      };
-    };
     "env-editor-0.4.2" = {
       name = "env-editor";
       packageName = "env-editor";
@@ -22867,13 +23525,13 @@ let
         sha512 = "rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==";
       };
     };
-    "es-abstract-1.18.3" = {
+    "es-abstract-1.18.5" = {
       name = "es-abstract";
       packageName = "es-abstract";
-      version = "1.18.3";
+      version = "1.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.3.tgz";
-        sha512 = "nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw==";
+        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.5.tgz";
+        sha512 = "DDggyJLoS91CkJjgauM5c0yZMjiD1uK3KcaCeAmffGwZ+ODWzOkPN4QwRbsK5DOFf06fywmyLci3ZD8jLGhVYA==";
       };
     };
     "es-get-iterator-1.1.2" = {
@@ -23002,6 +23660,15 @@ let
         sha512 = "HBL8I3mIki5C1Cc9QjKUenHtnG0A5/xA8Q/AllRcfiwl2CZFXGK7ddBiCoRwAix4i2KxcQfjtIVcrVbB3vbmwg==";
       };
     };
+    "es6-promisify-7.0.0" = {
+      name = "es6-promisify";
+      packageName = "es6-promisify";
+      version = "7.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es6-promisify/-/es6-promisify-7.0.0.tgz";
+        sha512 = "ginqzK3J90Rd4/Yz7qRrqUeIpe3TwSXTPPZtPne7tGBPeAaQiU8qt4fpKApnxHcq1AwtUdHVg5P77x/yrggG8Q==";
+      };
+    };
     "es6-set-0.1.5" = {
       name = "es6-set";
       packageName = "es6-set";
@@ -23209,31 +23876,13 @@ let
         sha512 = "S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==";
       };
     };
-    "eslint-7.28.0" = {
+    "eslint-7.32.0" = {
       name = "eslint";
       packageName = "eslint";
-      version = "7.28.0";
+      version = "7.32.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint/-/eslint-7.28.0.tgz";
-        sha512 = "UMfH0VSjP0G4p3EWirscJEQ/cHqnT/iuH6oNZOB94nBjWbMnhGEPxsZm1eyIW0C/9jLI0Fow4W5DXLjEI7mn1g==";
-      };
-    };
-    "eslint-7.31.0" = {
-      name = "eslint";
-      packageName = "eslint";
-      version = "7.31.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint/-/eslint-7.31.0.tgz";
-        sha512 = "vafgJpSh2ia8tnTkNUkwxGmnumgckLh5aAbLa1xRmIn9+owi8qBNGKL+B881kNKNTy7FFqTEkpNkUvmw0n6PkA==";
-      };
-    };
-    "eslint-config-prettier-8.3.0" = {
-      name = "eslint-config-prettier";
-      packageName = "eslint-config-prettier";
-      version = "8.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz";
-        sha512 = "BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==";
+        url = "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz";
+        sha512 = "VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==";
       };
     };
     "eslint-plugin-no-unsanitized-3.1.5" = {
@@ -23245,15 +23894,6 @@ let
         sha512 = "s/6w++p1590h/H/dE2Wo660bOkaM/3OEK14Y7xm1UT0bafxkKw1Cq0ksjxkxLdH/WWd014DlsLKuD6CyNrR2Dw==";
       };
     };
-    "eslint-plugin-prettier-3.4.0" = {
-      name = "eslint-plugin-prettier";
-      packageName = "eslint-plugin-prettier";
-      version = "3.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.0.tgz";
-        sha512 = "UDK6rJT6INSfcOo545jiaOwB701uAIt2/dR7WnFQoGCVl1/EMqdANBmwUaqqQ45aXprsTGzSa39LI1PyuRBxxw==";
-      };
-    };
     "eslint-plugin-vue-6.2.2" = {
       name = "eslint-plugin-vue";
       packageName = "eslint-plugin-vue";
@@ -23263,13 +23903,13 @@ let
         sha512 = "Nhc+oVAHm0uz/PkJAWscwIT4ijTrK5fqNqz9QB1D35SbbuMG1uB6Yr5AJpvPSWg+WOw7nYNswerYh0kOk64gqQ==";
       };
     };
-    "eslint-plugin-vue-7.14.0" = {
+    "eslint-plugin-vue-7.16.0" = {
       name = "eslint-plugin-vue";
       packageName = "eslint-plugin-vue";
-      version = "7.14.0";
+      version = "7.16.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-7.14.0.tgz";
-        sha512 = "IW5A2Td0wEWjFGaGVEO24JNXa8cVFzAQTXrYv/Vu3zyDVS9sjwOpZY0iqub7FOkT2AK3Imtw4U4wg48pP9oWww==";
+        url = "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-7.16.0.tgz";
+        sha512 = "0E2dVvVC7I2Xm1HXyx+ZwPj9CNX4NJjs4K4r+GVsHWyt5Pew3JLD4fI7A91b2jeL0TXE7LlszrwLSTJU9eqehw==";
       };
     };
     "eslint-scope-3.7.3" = {
@@ -23344,6 +23984,15 @@ let
         sha512 = "0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==";
       };
     };
+    "eslint-visitor-keys-3.0.0" = {
+      name = "eslint-visitor-keys";
+      packageName = "eslint-visitor-keys";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.0.0.tgz";
+        sha512 = "mJOZa35trBTb3IyRmo8xmKBZlxf+N7OnUl4+ZhJHs/r+0770Wh/LEACE2pqMGMe27G/4y8P2bYGk4J70IC5k1Q==";
+      };
+    };
     "esmangle-1.0.1" = {
       name = "esmangle";
       packageName = "esmangle";
@@ -23398,6 +24047,15 @@ let
         sha512 = "v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==";
       };
     };
+    "espree-8.0.0" = {
+      name = "espree";
+      packageName = "espree";
+      version = "8.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/espree/-/espree-8.0.0.tgz";
+        sha512 = "y/+i23dwTjIDJrYCcjcAMr3c3UGbPIjC6THMQKjWmhP97fW0FPiI89kmpKfmgV/5jrkIi6toQP+CMm3qBE1Hig==";
+      };
+    };
     "esprima-1.1.1" = {
       name = "esprima";
       packageName = "esprima";
@@ -23650,15 +24308,6 @@ let
         sha512 = "HnSYx1BsJ87/p6swwzv+2v6B4X+uxUteoDfRxsAb1S1BePzQqOLevVmkdA15GHJVd9A9Ok6wygUR18Hu0YeV9g==";
       };
     };
-    "event-loop-spinner-2.1.0" = {
-      name = "event-loop-spinner";
-      packageName = "event-loop-spinner";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/event-loop-spinner/-/event-loop-spinner-2.1.0.tgz";
-        sha512 = "RJ10wL8/F9AlfBgRCvYctJIXSb9XkVmSCK3GGUvPD3dJrvTjDeDT0tmhcbEC6I2NEjNM9xD38HQJ4F/f/gb4VQ==";
-      };
-    };
     "event-loop-stats-1.3.0" = {
       name = "event-loop-stats";
       packageName = "event-loop-stats";
@@ -23902,15 +24551,6 @@ let
         sha512 = "nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==";
       };
     };
-    "execa-0.1.1" = {
-      name = "execa";
-      packageName = "execa";
-      version = "0.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/execa/-/execa-0.1.1.tgz";
-        sha1 = "b09c2a9309bc0ef0501479472db3180f8d4c3edd";
-      };
-    };
     "execa-0.10.0" = {
       name = "execa";
       packageName = "execa";
@@ -24037,15 +24677,6 @@ let
         sha512 = "8ORl1YRygYGPdR+zcClMqzaU+JQuvdNIw/s0RNwYluxNecEHkDEcXFmO6A5T79p7e48KI8iXJYt6KIn4Z9z4bg==";
       };
     };
-    "exif-parser-0.1.12" = {
-      name = "exif-parser";
-      packageName = "exif-parser";
-      version = "0.1.12";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/exif-parser/-/exif-parser-0.1.12.tgz";
-        sha1 = "58a9d2d72c02c1f6f02a0ef4a9166272b7760922";
-      };
-    };
     "exit-0.1.2" = {
       name = "exit";
       packageName = "exit";
@@ -24136,13 +24767,13 @@ let
         sha1 = "a793d3ac0cad4c6ab571e9968fbbab6cb2532929";
       };
     };
-    "expo-pwa-0.0.90" = {
+    "expo-pwa-0.0.94" = {
       name = "expo-pwa";
       packageName = "expo-pwa";
-      version = "0.0.90";
+      version = "0.0.94";
       src = fetchurl {
-        url = "https://registry.npmjs.org/expo-pwa/-/expo-pwa-0.0.90.tgz";
-        sha512 = "0uVXBgpe4Vt3xBKgAu7mmT+TMxiRJHXtMcP7FhaAPv1LkCxDrtMuK+SYERRJlTYRLX/qA2yDIWix3ySzvpWWzA==";
+        url = "https://registry.npmjs.org/expo-pwa/-/expo-pwa-0.0.94.tgz";
+        sha512 = "r/AYEtdRMrvPafgFxxIv7FXQQYgYFFm2YzxOVFBX2/ODs4HU/fNcxZ77kICn2jY9SHSmXps4TluHLpkr76Paxg==";
       };
     };
     "express-2.5.11" = {
@@ -24253,13 +24884,13 @@ let
         sha512 = "64YwTWpxgVGnwoLi4zvKaQ5RWIV0dkxVE4GGkBF7D89RI0/I6gTRUDL25Il4AK3cUqyLtxnX2X5BZ2YRvRx5uQ==";
       };
     };
-    "express-openapi-7.5.0" = {
+    "express-openapi-8.0.0" = {
       name = "express-openapi";
       packageName = "express-openapi";
-      version = "7.5.0";
+      version = "8.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/express-openapi/-/express-openapi-7.5.0.tgz";
-        sha512 = "94JMAXcBkBHYazc8y85akJQvq/7PFdBHOWc5B421liyQXdDzvq49ct4tbTHRnpOZ3aPlsufLGVQdhJIuGUNiTQ==";
+        url = "https://registry.npmjs.org/express-openapi/-/express-openapi-8.0.0.tgz";
+        sha512 = "MUntG3qQKdU5eRG51WLglaUfIXrVagQHNmStwl44lzu6XKiMj4TBDm/cIbubO49HAMCqNkX5BaiKCOK6pvP5Wg==";
       };
     };
     "express-session-1.17.2" = {
@@ -24298,13 +24929,13 @@ let
         sha1 = "96d13fa41c8de8fa5dcbfa2dacace6f594272888";
       };
     };
-    "ext-1.4.0" = {
+    "ext-1.5.0" = {
       name = "ext";
       packageName = "ext";
-      version = "1.4.0";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz";
-        sha512 = "Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==";
+        url = "https://registry.npmjs.org/ext/-/ext-1.5.0.tgz";
+        sha512 = "+ONcYoWj/SoQwUofMr94aGu05Ou4FepKi7N7b+O8T4jVfyIsZQV1/xeS8jpaBzF0csAk0KLXoHCxU7cKYZjo1Q==";
       };
     };
     "ext-list-2.2.2" = {
@@ -24478,6 +25109,15 @@ let
         sha512 = "AEo4zm+TenK7zQorGK1f9mJ8L14hnTDi2ZQPR+Mub1NX8zimka1mXpV5LpH8x9HoUmFSHZCfLHqWvp0Y4FxxzQ==";
       };
     };
+    "extract-zip-1.7.0" = {
+      name = "extract-zip";
+      packageName = "extract-zip";
+      version = "1.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz";
+        sha512 = "xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==";
+      };
+    };
     "extract-zip-2.0.1" = {
       name = "extract-zip";
       packageName = "extract-zip";
@@ -24631,15 +25271,6 @@ let
         sha512 = "xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==";
       };
     };
-    "fast-equals-1.6.3" = {
-      name = "fast-equals";
-      packageName = "fast-equals";
-      version = "1.6.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fast-equals/-/fast-equals-1.6.3.tgz";
-        sha512 = "4WKW0AL5+WEqO0zWavAfYGY1qwLsBgE//DN4TTcVEN2UlINgkv9b3vm2iHicoenWKSX9mKWmGOsU/iI5IST7pQ==";
-      };
-    };
     "fast-equals-2.0.3" = {
       name = "fast-equals";
       packageName = "fast-equals";
@@ -24694,13 +25325,13 @@ let
         sha512 = "4j5uBaTnsYAV5ebkidvxiLUYOwjQ+JSFljeqfTxCrH9bDmlCQaOJFS84oDJ2rAXZq2yskmk3ORfoP9DCwqFNig==";
       };
     };
-    "fast-json-patch-3.0.0-1" = {
+    "fast-json-patch-3.1.0" = {
       name = "fast-json-patch";
       packageName = "fast-json-patch";
-      version = "3.0.0-1";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fast-json-patch/-/fast-json-patch-3.0.0-1.tgz";
-        sha512 = "6pdFb07cknxvPzCeLsFHStEy+MysPJPgZQ9LbQ/2O67unQF93SNqfdSqnPPl71YMHX+AD8gbl7iuoGFzHEdDuw==";
+        url = "https://registry.npmjs.org/fast-json-patch/-/fast-json-patch-3.1.0.tgz";
+        sha512 = "IhpytlsVTRndz0hU5t0/MGzS/etxLlfrpG5V5M9mVbuj9TrJLWaMfsox9REM5rkuGX0T+5qjpe8XA1o0gZ42nA==";
       };
     };
     "fast-json-stable-stringify-2.1.0" = {
@@ -24748,13 +25379,13 @@ let
         sha512 = "Ue0LwpDYErFbmNnZSF0UH6eImUwDmogUO1jyE+JbN2gsQz/jICm1Ve7t9QT0rNSsfJt+Hs4/S3GnsDVjL4HVrw==";
       };
     };
-    "fast-printf-1.6.6" = {
-      name = "fast-printf";
-      packageName = "fast-printf";
-      version = "1.6.6";
+    "fast-plist-0.1.2" = {
+      name = "fast-plist";
+      packageName = "fast-plist";
+      version = "0.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fast-printf/-/fast-printf-1.6.6.tgz";
-        sha512 = "Uz/uW6R1Fd8YqCGeoQosRIfB4dBbr8uMbFVdEci2AyXYcfucFqhpSMAGs8skRRdZd+MGCDBu48+B8Zmu7Pta5A==";
+        url = "https://registry.npmjs.org/fast-plist/-/fast-plist-0.1.2.tgz";
+        sha1 = "a45aff345196006d406ca6cdcd05f69051ef35b8";
       };
     };
     "fast-redact-3.0.1" = {
@@ -24784,15 +25415,6 @@ let
         sha512 = "lXatBjf3WPjmWD6DpIZxkeSsCOwqI0maYMpgDlx8g4U2qi4lbjA9oH/HD2a87G+KfsUmo5WbJFmqBZlPxtptag==";
       };
     };
-    "fast-stringify-1.1.2" = {
-      name = "fast-stringify";
-      packageName = "fast-stringify";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fast-stringify/-/fast-stringify-1.1.2.tgz";
-        sha512 = "SfslXjiH8km0WnRiuPfpUKwlZjW5I878qsOm+2x8x3TgqmElOOLh1rgJFb+PolNdNRK3r8urEefqx0wt7vx1dA==";
-      };
-    };
     "fast-text-encoding-1.0.3" = {
       name = "fast-text-encoding";
       packageName = "fast-text-encoding";
@@ -24847,13 +25469,13 @@ let
         sha512 = "XJ+vbiXYjmxc32VEpXScAq7mBg3vqh90OjLfiuyQ0zAtXpgICdVgGjKHep1kLGQufyuCBiEYpl6ZKcw79chTpA==";
       };
     };
-    "fastq-1.11.1" = {
+    "fastq-1.12.0" = {
       name = "fastq";
       packageName = "fastq";
-      version = "1.11.1";
+      version = "1.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fastq/-/fastq-1.11.1.tgz";
-        sha512 = "HOnr8Mc60eNYl1gzwp6r5RoUyAn5/glBolUzP/Ez6IFVPMPirxn/9phgL6zhOtaTy7ISwPvQ+wT+hfcRZh/bzw==";
+        url = "https://registry.npmjs.org/fastq/-/fastq-1.12.0.tgz";
+        sha512 = "VNX0QkHK3RsXVKr9KrlUv/FoTa0NdbYoHHl7uXHv2rzyHSlxjdNAKug2twd9luJxpcyNeAgf5iPPMutJO67Dfg==";
       };
     };
     "fault-1.0.4" = {
@@ -25126,13 +25748,13 @@ let
         sha512 = "sXAMgFk67fQLcetXustxfKX+PZgHIUFn96Xld9uH8aXPdX3xOp0/jg9OdouVTvQrf7mrn+wAa4jN/y9fUOOiRA==";
       };
     };
-    "file-type-16.5.2" = {
+    "file-type-16.5.3" = {
       name = "file-type";
       packageName = "file-type";
-      version = "16.5.2";
+      version = "16.5.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/file-type/-/file-type-16.5.2.tgz";
-        sha512 = "lnHRZj2USLF3v4C5ZY7/vQQeoTVA1YV9TtD6UUCr9z5Cd0uyutqxPBJxkXzM6lufPNuSfefq/yFmnSPz0C3wNw==";
+        url = "https://registry.npmjs.org/file-type/-/file-type-16.5.3.tgz";
+        sha512 = "uVsl7iFhHSOY4bEONLlTK47iAHtNsFHWP5YE4xJfZ4rnX7S1Q3wce09XgqSC7E/xh8Ncv/be1lNoyprlUH/x6A==";
       };
     };
     "file-type-3.9.0" = {
@@ -25180,15 +25802,6 @@ let
         sha512 = "qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ==";
       };
     };
-    "file-type-9.0.0" = {
-      name = "file-type";
-      packageName = "file-type";
-      version = "9.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/file-type/-/file-type-9.0.0.tgz";
-        sha512 = "Qe/5NJrgIOlwijpq3B7BEpzPFcgzggOTagZmkXQY4LA6bsXKTUstK7Wp12lEJ/mLKTpvIZxmIuRcLYWT6ov9lw==";
-      };
-    };
     "file-uri-to-path-1.0.0" = {
       name = "file-uri-to-path";
       packageName = "file-uri-to-path";
@@ -25477,13 +26090,13 @@ let
         sha512 = "78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==";
       };
     };
-    "find-versions-2.0.0" = {
+    "find-versions-3.2.0" = {
       name = "find-versions";
       packageName = "find-versions";
-      version = "2.0.0";
+      version = "3.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/find-versions/-/find-versions-2.0.0.tgz";
-        sha1 = "2ad90d490f6828c1aa40292cf709ac3318210c3c";
+        url = "https://registry.npmjs.org/find-versions/-/find-versions-3.2.0.tgz";
+        sha512 = "P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww==";
       };
     };
     "find-yarn-workspace-root-2.0.0" = {
@@ -25702,13 +26315,13 @@ let
         sha512 = "r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==";
       };
     };
-    "flatted-3.2.1" = {
+    "flatted-3.2.2" = {
       name = "flatted";
       packageName = "flatted";
-      version = "3.2.1";
+      version = "3.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/flatted/-/flatted-3.2.1.tgz";
-        sha512 = "OMQjaErSFHmHqZe+PSidH5n8j3O0F2DdnVh8JB4j4eUQ2k6KvB0qGfrKIhapvez5JerBbmWkaLYUYWISaESoXg==";
+        url = "https://registry.npmjs.org/flatted/-/flatted-3.2.2.tgz";
+        sha512 = "JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==";
       };
     };
     "flatten-0.0.1" = {
@@ -25747,13 +26360,13 @@ let
         sha512 = "jlbUu0XkbpXeXhan5xyTqVK1jmEKNxE8hpzznI3TThHTr76GiFwK0iRzhDo4KNy+S9h/KxHaqVhTP86vA6wHCg==";
       };
     };
-    "flow-parser-0.155.1" = {
+    "flow-parser-0.158.0" = {
       name = "flow-parser";
       packageName = "flow-parser";
-      version = "0.155.1";
+      version = "0.158.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/flow-parser/-/flow-parser-0.155.1.tgz";
-        sha512 = "EU55hHBilG20Qu80tMYrVjEIqB3FcXPPJwndNcf6UryvhiF74dQ2FX8zPV1LIpuvkW3P13wgZlsnG94oRihgpw==";
+        url = "https://registry.npmjs.org/flow-parser/-/flow-parser-0.158.0.tgz";
+        sha512 = "0hMsPkBTRrkII/0YiG9ehOxFXy4gOWdk8RSRze5WbfeKAQpL5kC2K4BmumyTfU9o5gr7/llgElF3UpSSrjzQAA==";
       };
     };
     "fluent-ffmpeg-2.1.2" = {
@@ -25918,13 +26531,13 @@ let
         sha512 = "VjAQdSLsl6AkpZNyrQJfO7BXLo4chnStqb055bumZMbRUPpVuPN3a4ktsnRCmrFZjtMlYLkyXiR5rAs4WOpC4Q==";
       };
     };
-    "follow-redirects-1.14.1" = {
+    "follow-redirects-1.14.2" = {
       name = "follow-redirects";
       packageName = "follow-redirects";
-      version = "1.14.1";
+      version = "1.14.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.1.tgz";
-        sha512 = "HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg==";
+        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.2.tgz";
+        sha512 = "yLR6WaE2lbF0x4K2qE2p9PEXKLDjUjnR/xmjS3wHAYxtlsI9MLLBJUZirAHKzUZDGLxje7w/cXR49WOUo4rbsA==";
       };
     };
     "follow-redirects-1.5.10" = {
@@ -26044,13 +26657,13 @@ let
         sha512 = "DUxuQaKoqfNne8iikd14SAkh5uw4+8vNifp6gmA73yYNS6ywLIWSLD/n/mBzHQRpW3J7rbATEakmiA8JvkTyZw==";
       };
     };
-    "fork-ts-checker-webpack-plugin-6.2.12" = {
+    "fork-ts-checker-webpack-plugin-6.3.1" = {
       name = "fork-ts-checker-webpack-plugin";
       packageName = "fork-ts-checker-webpack-plugin";
-      version = "6.2.12";
+      version = "6.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.2.12.tgz";
-        sha512 = "BzXGIfM47q1WFwXsNLl22dQVMFwSBgldL07lvqRJFxgrhT76QQ3nri5PX01Rxfa2RYvv/hqACULO8K5gT8fFuA==";
+        url = "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.3.1.tgz";
+        sha512 = "uxqlKTEeSJ5/JRr0zaCiw2U+kOV8F4/MhCnnRf6vbxj4ZU3Or0DLl/0CNtXro7uLWDssnuR7wUN7fU9w1I0REA==";
       };
     };
     "form-data-1.0.0-rc3" = {
@@ -26089,15 +26702,6 @@ let
         sha512 = "m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==";
       };
     };
-    "form-data-3.0.0" = {
-      name = "form-data";
-      packageName = "form-data";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/form-data/-/form-data-3.0.0.tgz";
-        sha512 = "CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==";
-      };
-    };
     "form-data-3.0.1" = {
       name = "form-data";
       packageName = "form-data";
@@ -26188,13 +26792,13 @@ let
         sha512 = "wJaE62fLaB3jCYvY2ZHjZvmKK2iiLiiehX38rz5QZxtdN8fVPJDeZUiVvJrHStdTc+23LHlyZuSEKgFc0pxi2g==";
       };
     };
-    "fp-ts-2.10.5" = {
+    "fp-ts-2.11.1" = {
       name = "fp-ts";
       packageName = "fp-ts";
-      version = "2.10.5";
+      version = "2.11.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fp-ts/-/fp-ts-2.10.5.tgz";
-        sha512 = "X2KfTIV0cxIk3d7/2Pvp/pxL/xr2MV1WooyEzKtTWYSc1+52VF4YzjBTXqeOlSiZsPCxIBpDGfT9Dyo7WEY0DQ==";
+        url = "https://registry.npmjs.org/fp-ts/-/fp-ts-2.11.1.tgz";
+        sha512 = "CJOfs+Heq/erkE5mqH2mhpsxCKABGmcLyeEwPxtbTlkLkItGUs6bmk2WqjB2SgoVwNwzTE5iKjPQJiq06CPs5g==";
       };
     };
     "fraction.js-4.1.1" = {
@@ -26521,6 +27125,15 @@ let
         sha512 = "kSAfx/P8oLSi5+tblecTETcJJ/Q+qL+xzGx4hns/+gHXMkTOZEzG73/2dBDW1FFy5+ZW080XoMaBAN2kCN55aQ==";
       };
     };
+    "fs-routes-8.0.0" = {
+      name = "fs-routes";
+      packageName = "fs-routes";
+      version = "8.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs-routes/-/fs-routes-8.0.0.tgz";
+        sha512 = "EezW71GPu+VK2ZOnX0Aljaref63+mvhkkz55DqUp5xryV/mJraA2t/XFmBxNMwgRq6tFUOYuQOlr+RQh4nq5kQ==";
+      };
+    };
     "fs-write-stream-atomic-1.0.10" = {
       name = "fs-write-stream-atomic";
       packageName = "fs-write-stream-atomic";
@@ -26728,31 +27341,31 @@ let
         sha1 = "cbed2d20a40c1f5679a35908e2b9415733e78db9";
       };
     };
-    "gatsby-core-utils-2.10.0" = {
+    "gatsby-core-utils-2.12.0" = {
       name = "gatsby-core-utils";
       packageName = "gatsby-core-utils";
-      version = "2.10.0";
+      version = "2.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/gatsby-core-utils/-/gatsby-core-utils-2.10.0.tgz";
-        sha512 = "xvVebKSrjHkZQQkeEjuAekCAg17KT2l44d/yn7w2dzBGay244m8hoY8LRtLRdsrSp30ix89QklefuP9frEfhbA==";
+        url = "https://registry.npmjs.org/gatsby-core-utils/-/gatsby-core-utils-2.12.0.tgz";
+        sha512 = "aN9fub3XX/uEqAstxG3mr8BH6hMGhTmAzANZH3HSV4tyG1Y4a4FKisZA0ggmy/dKOy5cyeuoMHmzAr8+qtHcAw==";
       };
     };
-    "gatsby-recipes-0.21.0" = {
+    "gatsby-recipes-0.23.0" = {
       name = "gatsby-recipes";
       packageName = "gatsby-recipes";
-      version = "0.21.0";
+      version = "0.23.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/gatsby-recipes/-/gatsby-recipes-0.21.0.tgz";
-        sha512 = "oo9ci5G6TiXc5wVnRrTfJhX92ZsjICVa0ldX7aQ/8JR77HelfO3MFfQuIkswla+o0MGcbyxgVoLX45kgzY7aaA==";
+        url = "https://registry.npmjs.org/gatsby-recipes/-/gatsby-recipes-0.23.0.tgz";
+        sha512 = "dR/u2mFiWhPf+0O8MuFfnl5JTbjOChYKG9+CIhubLwAjJN0cDbvleSJEQ7K32quKd56dqNf1psXqpZ+UUlx8vA==";
       };
     };
-    "gatsby-telemetry-2.10.0" = {
+    "gatsby-telemetry-2.12.0" = {
       name = "gatsby-telemetry";
       packageName = "gatsby-telemetry";
-      version = "2.10.0";
+      version = "2.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/gatsby-telemetry/-/gatsby-telemetry-2.10.0.tgz";
-        sha512 = "uon+KRo6NQqkc6Qk/QTw+RmaxIjFFIK7cSU8XXE3y353il2Tk04Kxct2hMHn8Zdl4TYyKla1T5UIvVV/EfpBcg==";
+        url = "https://registry.npmjs.org/gatsby-telemetry/-/gatsby-telemetry-2.12.0.tgz";
+        sha512 = "W27oKt7/ThrNz12lPiclb9J7v/Q6ZM5Eh+JQ5w/TRFs4vqLOsfJZxmYG2HzFvAZtoFUB1JsbvmHZDMxUtR84Uw==";
       };
     };
     "gauge-1.2.7" = {
@@ -26773,6 +27386,15 @@ let
         sha1 = "2c03405c7538c39d7eb37b317022e325fb018bf7";
       };
     };
+    "gauge-3.0.1" = {
+      name = "gauge";
+      packageName = "gauge";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/gauge/-/gauge-3.0.1.tgz";
+        sha512 = "6STz6KdQgxO4S/ko+AbjlFGGdGcknluoqU+79GOFCDqqyYj5OanQf9AjxwN0jCidtT+ziPMmPSt9E4hfQ0CwIQ==";
+      };
+    };
     "gaxios-4.3.0" = {
       name = "gaxios";
       packageName = "gaxios";
@@ -26863,6 +27485,24 @@ let
         sha512 = "3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==";
       };
     };
+    "geojson-flatten-1.0.4" = {
+      name = "geojson-flatten";
+      packageName = "geojson-flatten";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/geojson-flatten/-/geojson-flatten-1.0.4.tgz";
+        sha512 = "PpscUXxO6dvvhZxtwuqiI5v+1C/IQYPJRMWoQeaF2oohJgfGYSHKVAe8L+yUqF34PH/hmq9JlwmO+juPw+95/Q==";
+      };
+    };
+    "geojson-vt-3.2.1" = {
+      name = "geojson-vt";
+      packageName = "geojson-vt";
+      version = "3.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/geojson-vt/-/geojson-vt-3.2.1.tgz";
+        sha512 = "EvGQQi/zPrDA6zr6BnJD/YhwAkBP8nnJ9emh3EnHQKVMfg/MRVtPbMYdgVy/IaEmn4UfagD2a6fafPDL5hbtwg==";
+      };
+    };
     "get-amd-module-type-3.0.0" = {
       name = "get-amd-module-type";
       packageName = "get-amd-module-type";
@@ -26935,15 +27575,6 @@ let
         sha512 = "kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==";
       };
     };
-    "get-own-enumerable-property-symbols-3.0.2" = {
-      name = "get-own-enumerable-property-symbols";
-      packageName = "get-own-enumerable-property-symbols";
-      version = "3.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz";
-        sha512 = "I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==";
-      };
-    };
     "get-package-info-1.0.0" = {
       name = "get-package-info";
       packageName = "get-package-info";
@@ -27034,6 +27665,15 @@ let
         sha512 = "jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==";
       };
     };
+    "get-stdin-7.0.0" = {
+      name = "get-stdin";
+      packageName = "get-stdin";
+      version = "7.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-stdin/-/get-stdin-7.0.0.tgz";
+        sha512 = "zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ==";
+      };
+    };
     "get-stdin-8.0.0" = {
       name = "get-stdin";
       packageName = "get-stdin";
@@ -27142,13 +27782,13 @@ let
         sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa";
       };
     };
-    "gh-release-fetch-2.0.1" = {
+    "gh-release-fetch-2.0.2" = {
       name = "gh-release-fetch";
       packageName = "gh-release-fetch";
-      version = "2.0.1";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/gh-release-fetch/-/gh-release-fetch-2.0.1.tgz";
-        sha512 = "Ca5chpW8/yXeJPYdAxDLB8UShrWViOgnlYl4QTlQi4Y6sJnMXrXK9GMjKHyjJtNAw9IiSh0DbcTMiJZyp6vfMg==";
+        url = "https://registry.npmjs.org/gh-release-fetch/-/gh-release-fetch-2.0.2.tgz";
+        sha512 = "VIlw5FzT8b31rwwH3A4zg05wd9R1/7vPYY+Dow14U1mXEkGF348+x8HUk5fY9py6icVVU3z/v4L7m5BV/7xxjA==";
       };
     };
     "git-apply-delta-0.0.7" = {
@@ -27331,13 +27971,13 @@ let
         sha1 = "97fb5d96bfde8973313f20e8288ef9a167fa64ce";
       };
     };
-    "github-slugger-1.3.0" = {
+    "github-slugger-1.4.0" = {
       name = "github-slugger";
       packageName = "github-slugger";
-      version = "1.3.0";
+      version = "1.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/github-slugger/-/github-slugger-1.3.0.tgz";
-        sha512 = "gwJScWVNhFYSRDvURk/8yhcFBee6aFjye2a7Lhb2bUyRulpIoek9p0I9Kt7PT67d/nUlZbFu8L9RLiA0woQN8Q==";
+        url = "https://registry.npmjs.org/github-slugger/-/github-slugger-1.4.0.tgz";
+        sha512 = "w0dzqw/nt51xMVmlaV1+JRzN+oCa1KfcgGEWhxUG16wbdA+Xnt/yoFO8Z8x/V82ZcZ0wy6ln9QDup5avbhiDhQ==";
       };
     };
     "github-url-from-git-1.5.0" = {
@@ -27349,6 +27989,15 @@ let
         sha1 = "f985fedcc0a9aa579dc88d7aff068d55cc6251a0";
       };
     };
+    "github-username-6.0.0" = {
+      name = "github-username";
+      packageName = "github-username";
+      version = "6.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/github-username/-/github-username-6.0.0.tgz";
+        sha512 = "7TTrRjxblSI5l6adk9zd+cV5d6i1OrJSo3Vr9xdGqFLBQo0mz5P9eIfKCDJ7eekVGGFLbce0qbPSnktXV2BjDQ==";
+      };
+    };
     "gl-matrix-2.8.1" = {
       name = "gl-matrix";
       packageName = "gl-matrix";
@@ -27358,6 +28007,15 @@ let
         sha512 = "0YCjVpE3pS5XWlN3J4X7AiAx65+nqAI54LndtVFnQZB6G/FVLkZH8y8V6R3cIoOQR4pUdfwQGd1iwyoXHJ4Qfw==";
       };
     };
+    "gl-matrix-3.3.0" = {
+      name = "gl-matrix";
+      packageName = "gl-matrix";
+      version = "3.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/gl-matrix/-/gl-matrix-3.3.0.tgz";
+        sha512 = "COb7LDz+SXaHtl/h4LeaFcNdJdAQSDeVqjiIihSXNrkWObZLhDI4hIkZC11Aeqp7bcE72clzB0BnDXr2SmslRA==";
+      };
+    };
     "glob-3.2.11" = {
       name = "glob";
       packageName = "glob";
@@ -27547,15 +28205,6 @@ let
         sha512 = "+20KpaW6DDLqhG7JDiJpD1JvNvb8ts+TNl7BPOYcURqCrXqnN1Vf+XVOrkKJAFPqfX+oEhsdzOj1hLWkBTdNJg==";
       };
     };
-    "global-cache-dir-1.0.1" = {
-      name = "global-cache-dir";
-      packageName = "global-cache-dir";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/global-cache-dir/-/global-cache-dir-1.0.1.tgz";
-        sha512 = "wYGh6O3Xkx1LsMXQpObr/uu3PsFpbWhpbslgn9Xq52rbDZ6YOwJcQtU5R4lSEQgCDtXLItV9EH5X1F/VnBTAlw==";
-      };
-    };
     "global-cache-dir-2.0.0" = {
       name = "global-cache-dir";
       packageName = "global-cache-dir";
@@ -27683,13 +28332,13 @@ let
         sha512 = "WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==";
       };
     };
-    "globals-13.10.0" = {
+    "globals-13.11.0" = {
       name = "globals";
       packageName = "globals";
-      version = "13.10.0";
+      version = "13.11.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/globals/-/globals-13.10.0.tgz";
-        sha512 = "piHC3blgLGFjvOuMmWZX60f+na1lXFDhQXBf1UYp2fXPXqvEUbOhNwi6BsQ0bQishwedgnjkwv1d9zKf+MWw3g==";
+        url = "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz";
+        sha512 = "08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==";
       };
     };
     "globals-9.18.0" = {
@@ -27737,6 +28386,15 @@ let
         sha512 = "iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==";
       };
     };
+    "globby-11.0.3" = {
+      name = "globby";
+      packageName = "globby";
+      version = "11.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/globby/-/globby-11.0.3.tgz";
+        sha512 = "ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg==";
+      };
+    };
     "globby-11.0.4" = {
       name = "globby";
       packageName = "globby";
@@ -27746,6 +28404,15 @@ let
         sha512 = "9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==";
       };
     };
+    "globby-12.0.2" = {
+      name = "globby";
+      packageName = "globby";
+      version = "12.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/globby/-/globby-12.0.2.tgz";
+        sha512 = "lAsmb/5Lww4r7MM9nCCliDZVIKbZTavrsunAsHLr9oHthrZP1qi7/gAnHOsUs9bLvEt2vKVJhHmxuL7QbDuPdQ==";
+      };
+    };
     "globby-4.1.0" = {
       name = "globby";
       packageName = "globby";
@@ -27809,13 +28476,13 @@ let
         sha512 = "uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==";
       };
     };
-    "globule-1.3.2" = {
+    "globule-1.3.3" = {
       name = "globule";
       packageName = "globule";
-      version = "1.3.2";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/globule/-/globule-1.3.2.tgz";
-        sha512 = "7IDTQTIu2xzXkT+6mlluidnWo+BypnbSoEVVQCGfzqnl5Ik8d3e1d4wycb8Rj9tWW+Z39uPWsdlquqiqPCd/pA==";
+        url = "https://registry.npmjs.org/globule/-/globule-1.3.3.tgz";
+        sha512 = "mb1aYtDbIjTu4ShMB85m3UzjX9BVKe9WCzsnfMSZk+K5GpIbBOexgg4PPCt5eHDEG5/ZQAUX2Kct02zfiPLsKg==";
       };
     };
     "glogg-1.0.2" = {
@@ -27836,13 +28503,13 @@ let
         sha1 = "2edeeb958084d0f8ea7988e5d995b1c7dfc14777";
       };
     };
-    "goldengate-10.1.0" = {
+    "goldengate-10.3.0" = {
       name = "goldengate";
       packageName = "goldengate";
-      version = "10.1.0";
+      version = "10.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/goldengate/-/goldengate-10.1.0.tgz";
-        sha512 = "xeMOmvY6a7MBUjU1YPmREgDr7qiM5wZWXzdAZsnJxd0/fd5T0gYNi4saJ2eGvDGSmI+TehDn1bYF1Tvlo2GiBQ==";
+        url = "https://registry.npmjs.org/goldengate/-/goldengate-10.3.0.tgz";
+        sha512 = "TDwMwK7j0vU/aOlQIkL6WqrYoFBOAYnJ9l2ueK3d60IHspycYKPyO9yBaX1bzsaS7nBH5YjuXBYncZK+12TSZQ==";
       };
     };
     "gonzales-pe-4.3.0" = {
@@ -27863,13 +28530,13 @@ let
         sha512 = "Q+ZjUEvLQj/lrVHF/IQwRo6p3s8Nc44Zk/DALsN+ac3T4HY/g/3rrufkgtl+nZ1TW7DNAw5cTChdVp4apUXVgQ==";
       };
     };
-    "google-auth-library-7.3.0" = {
+    "google-auth-library-7.6.2" = {
       name = "google-auth-library";
       packageName = "google-auth-library";
-      version = "7.3.0";
+      version = "7.6.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/google-auth-library/-/google-auth-library-7.3.0.tgz";
-        sha512 = "MPeeMlnsYnoiiVFMwX3hgaS684aiXrSqKoDP+xL4Ejg4Z0qLvIeg4XsaChemyFI8ZUO7ApwDAzNtgmhWSDNh5w==";
+        url = "https://registry.npmjs.org/google-auth-library/-/google-auth-library-7.6.2.tgz";
+        sha512 = "yvEnwVsvgH8RXTtpf6e84e7dqIdUEKJhmQvTJwzYP+RDdHjLrDp9sk2u2ZNDJPLKZ7DJicx/+AStcQspJiq+Qw==";
       };
     };
     "google-closure-compiler-js-20170910.0.1" = {
@@ -27881,22 +28548,22 @@ let
         sha512 = "Vric7QFWxzHFxITZ10bmlG1H/5rhODb7hJuWyKWMD8GflpQzRmbMVqkFp3fKvN+U9tPwZItGVhkiOR+84PX3ew==";
       };
     };
-    "google-gax-2.19.0" = {
+    "google-gax-2.24.2" = {
       name = "google-gax";
       packageName = "google-gax";
-      version = "2.19.0";
+      version = "2.24.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/google-gax/-/google-gax-2.19.0.tgz";
-        sha512 = "2a6WY+p6YMVMmwXmkRqiLreXx67xHDZhkmflcL8aDUkl1csx9ywxEI01veoDXy6T1l0JJD6zLbl5TIbWimmXrw==";
+        url = "https://registry.npmjs.org/google-gax/-/google-gax-2.24.2.tgz";
+        sha512 = "4OtyEIt/KAXRX5o2W/6DGf8MnMs1lMXwcGoPHR4PwXfTUVKjK7ywRe2/yRIMkYEDzAwu/kppPgfpX+kCG2rWfw==";
       };
     };
-    "google-p12-pem-3.1.0" = {
+    "google-p12-pem-3.1.2" = {
       name = "google-p12-pem";
       packageName = "google-p12-pem";
-      version = "3.1.0";
+      version = "3.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-3.1.0.tgz";
-        sha512 = "JUtEHXL4DY/N+xhlm7TC3qL797RPAtk0ZGXNs3/gWyiDHYoA/8Rjes0pztkda+sZv4ej1EoO2KhWgW5V9KTrSQ==";
+        url = "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-3.1.2.tgz";
+        sha512 = "tjf3IQIt7tWCDsa0ofDQ1qqSCNzahXDxdAGJDbruWqu3eCg5CKLYKN+hi0s6lfvzYZ1GDVr+oDF9OOWlDSdf0A==";
       };
     };
     "goosig-0.10.0" = {
@@ -28034,13 +28701,13 @@ let
         sha512 = "J55gaCS4iTTJfTXIxSVw3EMQckcqkpdRv3IR7gu6sq0+tbC363Zx6KH/SEwXASK9JRbhyZmVjJEVJIOxYsB3Qg==";
       };
     };
-    "graceful-fs-4.2.6" = {
+    "graceful-fs-4.2.8" = {
       name = "graceful-fs";
       packageName = "graceful-fs";
-      version = "4.2.6";
+      version = "4.2.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz";
-        sha512 = "nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==";
+        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz";
+        sha512 = "qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==";
       };
     };
     "graceful-readlink-1.0.1" = {
@@ -28079,6 +28746,24 @@ let
         sha512 = "jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==";
       };
     };
+    "graphology-0.20.0" = {
+      name = "graphology";
+      packageName = "graphology";
+      version = "0.20.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/graphology/-/graphology-0.20.0.tgz";
+        sha512 = "h5mJWgZXpuZQzBAMWhVIOluGNIYUP043eh7BHcecRWhSkD4eiZAh+uM4XX2rGL1vig9XQ3JVYl9gmK+ajy+JPA==";
+      };
+    };
+    "graphology-types-0.19.3" = {
+      name = "graphology-types";
+      packageName = "graphology-types";
+      version = "0.19.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/graphology-types/-/graphology-types-0.19.3.tgz";
+        sha512 = "N9zuoXkhoEhx/7FaMlMTgHqPl17Mcub67YHLk0d+i8mOSsxpD9kLzvUwUo5v39xeoOUqRb3rC0Y2h9zTssZUGg==";
+      };
+    };
     "graphql-0.11.7" = {
       name = "graphql";
       packageName = "graphql";
@@ -28214,6 +28899,15 @@ let
         sha1 = "3042d9adec2a1ded6a7707a9ed2380f8a17a430e";
       };
     };
+    "grid-index-1.1.0" = {
+      name = "grid-index";
+      packageName = "grid-index";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/grid-index/-/grid-index-1.1.0.tgz";
+        sha512 = "HZRwumpOGUrHyxO5bqKZL0B0GlUpwtCAzZ42sgxUPniu33R1LSFH5yrIcBCHjkctCAh3mtWKcKd9J4vDDdeVHA==";
+      };
+    };
     "gridsome-helper-json-1.0.3" = {
       name = "gridsome-helper-json";
       packageName = "gridsome-helper-json";
@@ -28268,13 +28962,13 @@ let
         sha512 = "GD7cTz0I4SAede1/+pAbmJRG44zFLPipVtdL9o3vqx9IEyb7b4/Y3s7r6ofI3CchR5GvYJ+8buCSioDv5dQLiA==";
       };
     };
-    "gtoken-5.3.0" = {
+    "gtoken-5.3.1" = {
       name = "gtoken";
       packageName = "gtoken";
-      version = "5.3.0";
+      version = "5.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/gtoken/-/gtoken-5.3.0.tgz";
-        sha512 = "mCcISYiaRZrJpfqOs0QWa6lfEM/C1V9ASkzFmuz43XBb5s1Vynh+CZy1ECeeJXVGx2PRByjYzb4Y4/zr1byr0w==";
+        url = "https://registry.npmjs.org/gtoken/-/gtoken-5.3.1.tgz";
+        sha512 = "yqOREjzLHcbzz1UrQoxhBtpk8KjrVhuqPE7od1K2uhyxG2BHjKZetlbLw/SPZak/QqTIQW+addS+EcjqQsZbwQ==";
       };
     };
     "guard-timeout-2.0.0" = {
@@ -28484,15 +29178,6 @@ let
         sha1 = "33481d0f1bbff600dd203d75812a6a5fba002e2a";
       };
     };
-    "har-validator-5.1.3" = {
-      name = "har-validator";
-      packageName = "har-validator";
-      version = "5.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz";
-        sha512 = "sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==";
-      };
-    };
     "har-validator-5.1.5" = {
       name = "har-validator";
       packageName = "har-validator";
@@ -28700,6 +29385,15 @@ let
         sha512 = "vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==";
       };
     };
+    "has-tostringtag-1.0.0" = {
+      name = "has-tostringtag";
+      packageName = "has-tostringtag";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz";
+        sha512 = "kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==";
+      };
+    };
     "has-unicode-2.0.1" = {
       name = "has-unicode";
       packageName = "has-unicode";
@@ -29096,6 +29790,15 @@ let
         sha512 = "tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==";
       };
     };
+    "highlight.js-11.2.0" = {
+      name = "highlight.js";
+      packageName = "highlight.js";
+      version = "11.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/highlight.js/-/highlight.js-11.2.0.tgz";
+        sha512 = "JOySjtOEcyG8s4MLR2MNbLUyaXqUunmSnL2kdV/KuGJOmHZuAR5xC54Ko7goAXBWNhf09Vy3B+U7vR62UZ/0iw==";
+      };
+    };
     "highlight.js-8.2.0" = {
       name = "highlight.js";
       packageName = "highlight.js";
@@ -29366,6 +30069,15 @@ let
         sha512 = "8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==";
       };
     };
+    "html-entities-2.3.2" = {
+      name = "html-entities";
+      packageName = "html-entities";
+      version = "2.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/html-entities/-/html-entities-2.3.2.tgz";
+        sha512 = "c3Ab/url5ksaT0WyleslpBEthOzWhrjQbg75y7XUsfSzi3Dgzt0l8w5e7DylRn15MTlMMD58dTfzddNS2kcAjQ==";
+      };
+    };
     "html-loader-1.1.0" = {
       name = "html-loader";
       packageName = "html-loader";
@@ -29700,6 +30412,15 @@ let
         sha512 = "13eVVDYS4z79w7f1+NPllJtOQFx/FdUW4btIvVRMaRlUY9VGstAbo5MOhLEuUgZFRHn3x50ufn25zkj/boZnEg==";
       };
     };
+    "http-proxy-middleware-2.0.1" = {
+      name = "http-proxy-middleware";
+      packageName = "http-proxy-middleware";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.1.tgz";
+        sha512 = "cfaXRVoZxSed/BmkA7SwBVNI9Kj7HFltaE5rqYOub5kWzWZ+gofV2koVN1j2rMW7pEfSSlCHGJ31xmuyFyfLOg==";
+      };
+    };
     "http-signature-0.11.0" = {
       name = "http-signature";
       packageName = "http-signature";
@@ -29727,15 +30448,6 @@ let
         sha1 = "9aecd925114772f3d95b65a60abb8f7c18fbace1";
       };
     };
-    "http-signature-1.3.1" = {
-      name = "http-signature";
-      packageName = "http-signature";
-      version = "1.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/http-signature/-/http-signature-1.3.1.tgz";
-        sha512 = "Y29YKEc8MQsjch/VzkUVJ+2MXd9WcR42fK5u36CZf4G8bXw2DXMTWuESiB0R6m59JAWxlPPw5/Fri/t/AyyueA==";
-      };
-    };
     "http-signature-1.3.5" = {
       name = "http-signature";
       packageName = "http-signature";
@@ -29754,13 +30466,13 @@ let
         sha512 = "wcGvY31MpFNHIkUcXHHnvrE4IKYlpvitJw5P/1u892gMBAM46muQ+RH7UN1d+Ntnfx5apnOnVY6vcLmrWHOLwg==";
       };
     };
-    "http2-client-1.3.3" = {
+    "http2-client-1.3.5" = {
       name = "http2-client";
       packageName = "http2-client";
-      version = "1.3.3";
+      version = "1.3.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/http2-client/-/http2-client-1.3.3.tgz";
-        sha512 = "nUxLymWQ9pzkzTmir24p2RtsgruLmhje7lH3hLX1IpwvyTg77fW+1brenPPP3USAR+rQ36p5sTA/x7sjCJVkAA==";
+        url = "https://registry.npmjs.org/http2-client/-/http2-client-1.3.5.tgz";
+        sha512 = "EC2utToWl4RKfs5zd36Mxq7nzHHBuomZboI0yYL6Y0RmBgT7Sgkq4rQ0ezFTYoIsSs7Tm9SJe+o2FcAg6GBhGA==";
       };
     };
     "http2-wrapper-1.0.3" = {
@@ -29889,13 +30601,13 @@ let
         sha512 = "yozWXZx3yXVprf/MM9WqMt5WY60Im8k6ELJDNFGfyMeO+UieITbDmkvVwMnKQA3ptWqUK8fPf/tEGgklWh7Weg==";
       };
     };
-    "hyperbee-1.5.5" = {
+    "hyperbee-1.6.2" = {
       name = "hyperbee";
       packageName = "hyperbee";
-      version = "1.5.5";
+      version = "1.6.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/hyperbee/-/hyperbee-1.5.5.tgz";
-        sha512 = "0zX5JzBgB0kW7stpq2RXiVxzETckGuXJX43hAD5Fom60NUvpnEl6Q2VGKGjfDET04FjPCZAqA08pM2JXa48LjQ==";
+        url = "https://registry.npmjs.org/hyperbee/-/hyperbee-1.6.2.tgz";
+        sha512 = "0pn4srJRD8edAOfJpSsdYGO9bwteD+A9OzHjjZZrfIdWZXXwtg862Wi/6L6JZhJ9ITfhlkEZTYJnOwi+wNwWqA==";
       };
     };
     "hypercore-7.7.1" = {
@@ -29997,13 +30709,13 @@ let
         sha512 = "OcN2zq9DEoArC84q9VCSrf9Hx1QUkR6ineCOwyOwhE4v/8aUTOx87mAk1nyjMOf76DQmF+tl2vnS2FssLx5N+Q==";
       };
     };
-    "hyperdrive-10.20.0" = {
+    "hyperdrive-10.21.0" = {
       name = "hyperdrive";
       packageName = "hyperdrive";
-      version = "10.20.0";
+      version = "10.21.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/hyperdrive/-/hyperdrive-10.20.0.tgz";
-        sha512 = "ejikKQc9L8qUzmmkGe2dk/FGzisY0RTtE1Jw4WfWWXGTun9t/yZ/sV4JfamNBJRd3C0BWV6ZQYeI+1xQDuK3WQ==";
+        url = "https://registry.npmjs.org/hyperdrive/-/hyperdrive-10.21.0.tgz";
+        sha512 = "kvq7aGODR8mcV+c1vTGrqVLhdJKl604/aNYXiOEg6pH6qb3t9AGTm/DKvQrbR+DA5Qq8X9TbQZWeZw4wgJRlXw==";
       };
     };
     "hyperdrive-9.16.0" = {
@@ -30663,13 +31375,13 @@ let
         sha512 = "zKSiXKhQveNteyhcj1CoOP8tqp1QuxPIPBl8Bid99DGLFqA1p87M6lNgfjJHSBoWJJlidGOv5rWjyYKEB3g2Jw==";
       };
     };
-    "init-package-json-2.0.3" = {
+    "init-package-json-2.0.4" = {
       name = "init-package-json";
       packageName = "init-package-json";
-      version = "2.0.3";
+      version = "2.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/init-package-json/-/init-package-json-2.0.3.tgz";
-        sha512 = "tk/gAgbMMxR6fn1MgMaM1HpU1ryAmBWWitnxG5OhuNXeX0cbpbgV5jA4AIpQJVNoyOfOevTtO6WX+rPs+EFqaQ==";
+        url = "https://registry.npmjs.org/init-package-json/-/init-package-json-2.0.4.tgz";
+        sha512 = "gUACSdZYka+VvnF90TsQorC+1joAVWNI724vBNj3RD0LLMeDss2IuzaeiQs0T4YzKs76BPHtrp/z3sn2p+KDTw==";
       };
     };
     "ink-2.7.1" = {
@@ -30708,6 +31420,15 @@ let
         sha512 = "wiqkrB2tgnCnv51r2LpNLVfgrd/V+UXF3ccry+/Q7on9CBt8LVavX6NDYRMdXljuM+CcFV/sVro0bCr5oxB05w==";
       };
     };
+    "ink-use-stdout-dimensions-1.0.5" = {
+      name = "ink-use-stdout-dimensions";
+      packageName = "ink-use-stdout-dimensions";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ink-use-stdout-dimensions/-/ink-use-stdout-dimensions-1.0.5.tgz";
+        sha512 = "rVsqnw4tQEAJUoknU09+zHdDf30GJdkumkHr0iz/TOYMYEZJkYqziQSGJAM+Z+M603EDfO89+Nxyn/Ko2Zknfw==";
+      };
+    };
     "inline-source-map-0.6.2" = {
       name = "inline-source-map";
       packageName = "inline-source-map";
@@ -31005,6 +31726,24 @@ let
         sha512 = "S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==";
       };
     };
+    "internal-ip-6.2.0" = {
+      name = "internal-ip";
+      packageName = "internal-ip";
+      version = "6.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/internal-ip/-/internal-ip-6.2.0.tgz";
+        sha512 = "D8WGsR6yDt8uq7vDMu7mjcR+yRMm3dW8yufyChmszWRjcSHuxLBkR3GdS2HZAjodsaGuCvXeEJpueisXJULghg==";
+      };
+    };
+    "internal-slot-1.0.3" = {
+      name = "internal-slot";
+      packageName = "internal-slot";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz";
+        sha512 = "O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==";
+      };
+    };
     "internmap-1.0.1" = {
       name = "internmap";
       packageName = "internmap";
@@ -31014,6 +31753,15 @@ let
         sha512 = "lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==";
       };
     };
+    "internmap-2.0.1" = {
+      name = "internmap";
+      packageName = "internmap";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/internmap/-/internmap-2.0.1.tgz";
+        sha512 = "Ujwccrj9FkGqjbY3iVoxD1VV+KdZZeENx0rphrtzmRXbFvkFO88L80BL/zeSIguX/7T+y8k04xqtgWgS5vxwxw==";
+      };
+    };
     "interpret-1.1.0" = {
       name = "interpret";
       packageName = "interpret";
@@ -31149,6 +31897,15 @@ let
         sha512 = "UnU0bS3+cMA2UvYrF5RXp/Hm7v/nYiA3F0GVCOeRmDiZmXAt/eO7KdqyRzewopvhBlev7F7t7GZzRRYY1XE3xg==";
       };
     };
+    "ioredis-4.27.8" = {
+      name = "ioredis";
+      packageName = "ioredis";
+      version = "4.27.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ioredis/-/ioredis-4.27.8.tgz";
+        sha512 = "AcMEevap2wKxNcYEybZ/Qp+MR2HbNNUwGjG4sVCC3cAJ/zR9HXKAkolXOuR6YcOGPf7DHx9mWb/JKtAGujyPow==";
+      };
+    };
     "iota-array-1.0.0" = {
       name = "iota-array";
       packageName = "iota-array";
@@ -31284,6 +32041,15 @@ let
         sha1 = "2ca9b033651111855412f16be5d77c62a458a766";
       };
     };
+    "irregular-plurals-2.0.0" = {
+      name = "irregular-plurals";
+      packageName = "irregular-plurals";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-2.0.0.tgz";
+        sha512 = "Y75zBYLkh0lJ9qxeHlMjQ7bSbyiSqNW/UOPWDmzC7cXskL1hekSITh1Oc6JV0XCWWZ9DE8VYSB71xocLk3gmGw==";
+      };
+    };
     "is-3.3.0" = {
       name = "is";
       packageName = "is";
@@ -31383,13 +32149,13 @@ let
         sha512 = "UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==";
       };
     };
-    "is-arguments-1.1.0" = {
+    "is-arguments-1.1.1" = {
       name = "is-arguments";
       packageName = "is-arguments";
-      version = "1.1.0";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz";
-        sha512 = "1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==";
+        url = "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz";
+        sha512 = "8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==";
       };
     };
     "is-arrayish-0.2.1" = {
@@ -31419,13 +32185,13 @@ let
         sha1 = "f02ad0259a0921cd199ff21ce1b09e0f6b4e3929";
       };
     };
-    "is-bigint-1.0.2" = {
+    "is-bigint-1.0.4" = {
       name = "is-bigint";
       packageName = "is-bigint";
-      version = "1.0.2";
+      version = "1.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.2.tgz";
-        sha512 = "0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==";
+        url = "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz";
+        sha512 = "zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==";
       };
     };
     "is-binary-path-1.0.1" = {
@@ -31446,13 +32212,13 @@ let
         sha512 = "ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==";
       };
     };
-    "is-boolean-object-1.1.1" = {
+    "is-boolean-object-1.1.2" = {
       name = "is-boolean-object";
       packageName = "is-boolean-object";
-      version = "1.1.1";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.1.tgz";
-        sha512 = "bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==";
+        url = "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz";
+        sha512 = "gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==";
       };
     };
     "is-buffer-1.1.6" = {
@@ -31473,13 +32239,13 @@ let
         sha512 = "i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==";
       };
     };
-    "is-callable-1.2.3" = {
+    "is-callable-1.2.4" = {
       name = "is-callable";
       packageName = "is-callable";
-      version = "1.2.3";
+      version = "1.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz";
-        sha512 = "J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==";
+        url = "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz";
+        sha512 = "nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==";
       };
     };
     "is-canonical-base64-1.1.1" = {
@@ -31527,13 +32293,13 @@ let
         sha1 = "cfff471aee4dd5c9e158598fbe12967b5cdad345";
       };
     };
-    "is-core-module-2.5.0" = {
+    "is-core-module-2.6.0" = {
       name = "is-core-module";
       packageName = "is-core-module";
-      version = "2.5.0";
+      version = "2.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-core-module/-/is-core-module-2.5.0.tgz";
-        sha512 = "TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg==";
+        url = "https://registry.npmjs.org/is-core-module/-/is-core-module-2.6.0.tgz";
+        sha512 = "wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ==";
       };
     };
     "is-data-descriptor-0.1.4" = {
@@ -31554,13 +32320,13 @@ let
         sha512 = "jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==";
       };
     };
-    "is-date-object-1.0.4" = {
+    "is-date-object-1.0.5" = {
       name = "is-date-object";
       packageName = "is-date-object";
-      version = "1.0.4";
+      version = "1.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.4.tgz";
-        sha512 = "/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A==";
+        url = "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz";
+        sha512 = "9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==";
       };
     };
     "is-decimal-1.0.4" = {
@@ -31770,13 +32536,13 @@ let
         sha512 = "lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==";
       };
     };
-    "is-generator-function-1.0.9" = {
+    "is-generator-function-1.0.10" = {
       name = "is-generator-function";
       packageName = "is-generator-function";
-      version = "1.0.9";
+      version = "1.0.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.9.tgz";
-        sha512 = "ZJ34p1uvIfptHCN7sFTjGibB9/oBg17sHqzDLfuwhvmN/qLVvIQXRQ8licZQ35WJ8KuEQt/etnnzQFI9C9Ue/A==";
+        url = "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz";
+        sha512 = "jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==";
       };
     };
     "is-glob-2.0.1" = {
@@ -31896,6 +32662,15 @@ let
         sha1 = "307a855b3cf1a938b44ea70d2c61106053714f34";
       };
     };
+    "is-ip-3.1.0" = {
+      name = "is-ip";
+      packageName = "is-ip";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz";
+        sha512 = "35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==";
+      };
+    };
     "is-lambda-1.0.1" = {
       name = "is-lambda";
       packageName = "is-lambda";
@@ -31950,6 +32725,15 @@ let
         sha512 = "VTPuvvGQtxvCeghwspQu1rBgjYUT6FGxPlvFKbYuFtgc4ADsX3U5ihZOYN0qyU6u+d4X9xXb0IT5O6QpXKt87A==";
       };
     };
+    "is-nan-1.3.2" = {
+      name = "is-nan";
+      packageName = "is-nan";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz";
+        sha512 = "E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==";
+      };
+    };
     "is-natural-number-4.0.1" = {
       name = "is-natural-number";
       packageName = "is-natural-number";
@@ -32049,13 +32833,13 @@ let
         sha512 = "41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==";
       };
     };
-    "is-number-object-1.0.5" = {
+    "is-number-object-1.0.6" = {
       name = "is-number-object";
       packageName = "is-number-object";
-      version = "1.0.5";
+      version = "1.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.5.tgz";
-        sha512 = "RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==";
+        url = "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz";
+        sha512 = "bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==";
       };
     };
     "is-obj-1.0.1" = {
@@ -32283,22 +33067,13 @@ let
         sha512 = "U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==";
       };
     };
-    "is-regex-1.0.5" = {
-      name = "is-regex";
-      packageName = "is-regex";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz";
-        sha512 = "vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==";
-      };
-    };
-    "is-regex-1.1.3" = {
+    "is-regex-1.1.4" = {
       name = "is-regex";
       packageName = "is-regex";
-      version = "1.1.3";
+      version = "1.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-regex/-/is-regex-1.1.3.tgz";
-        sha512 = "qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==";
+        url = "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz";
+        sha512 = "kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==";
       };
     };
     "is-regexp-1.0.0" = {
@@ -32427,13 +33202,13 @@ let
         sha1 = "12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44";
       };
     };
-    "is-stream-2.0.0" = {
+    "is-stream-2.0.1" = {
       name = "is-stream";
       packageName = "is-stream";
-      version = "2.0.0";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz";
-        sha512 = "XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==";
+        url = "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz";
+        sha512 = "hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==";
       };
     };
     "is-stream-ended-0.1.4" = {
@@ -32445,13 +33220,13 @@ let
         sha512 = "xj0XPvmr7bQFTvirqnFr50o0hQIh6ZItDqloxt5aJrR4NQsYeSsyFQERYGCAzfindAcnKjINnwEEgLx4IqVzQw==";
       };
     };
-    "is-string-1.0.6" = {
+    "is-string-1.0.7" = {
       name = "is-string";
       packageName = "is-string";
-      version = "1.0.6";
+      version = "1.0.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-string/-/is-string-1.0.6.tgz";
-        sha512 = "2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w==";
+        url = "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz";
+        sha512 = "tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==";
       };
     };
     "is-supported-regexp-flag-1.0.1" = {
@@ -32481,13 +33256,13 @@ let
         sha1 = "4e1aa0fb51bfbcb3e92688001397202c1775b66e";
       };
     };
-    "is-typed-array-1.1.5" = {
+    "is-typed-array-1.1.7" = {
       name = "is-typed-array";
       packageName = "is-typed-array";
-      version = "1.1.5";
+      version = "1.1.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.5.tgz";
-        sha512 = "S+GRDgJlR3PyEbsX/Fobd9cqpZBuvUS+8asRqYDMLCb2qMzt1oz5m5oxQCxOgUDxiWsOVNi4yaF+/uvdlHlYug==";
+        url = "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.7.tgz";
+        sha512 = "VxlpTBGknhQ3o7YiVjIhdLU6+oD8dPz/79vvvH4F+S/c8608UCVa9fgDpa1kZgFoUST2DCgacc70UszKgzKuvA==";
       };
     };
     "is-typedarray-1.0.0" = {
@@ -32562,6 +33337,15 @@ let
         sha512 = "Yd9oD7sgCycVvH8CHy5U4fLXibPwxVw2+diudYbT8ZfAiQDtW1H9WvPRR4+rtN9qOll+r+KAfO4SjO28OPpitA==";
       };
     };
+    "is-valid-domain-0.1.2" = {
+      name = "is-valid-domain";
+      packageName = "is-valid-domain";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-valid-domain/-/is-valid-domain-0.1.2.tgz";
+        sha512 = "vm/9Ynw80MusgfSMffjGRuMhO8hjk5MOxLoFL7nYWvWXTPCxTGQtACiCwO055UqHICG8xP6hIvRXK1iwnuU9GA==";
+      };
+    };
     "is-valid-glob-1.0.0" = {
       name = "is-valid-glob";
       packageName = "is-valid-glob";
@@ -33012,22 +33796,22 @@ let
         sha512 = "z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==";
       };
     };
-    "jest-get-type-24.9.0" = {
+    "jest-get-type-25.2.6" = {
       name = "jest-get-type";
       packageName = "jest-get-type";
-      version = "24.9.0";
+      version = "25.2.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz";
-        sha512 = "lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==";
+        url = "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz";
+        sha512 = "DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==";
       };
     };
-    "jest-get-type-25.2.6" = {
+    "jest-get-type-26.3.0" = {
       name = "jest-get-type";
       packageName = "jest-get-type";
-      version = "25.2.6";
+      version = "26.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz";
-        sha512 = "DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==";
+        url = "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz";
+        sha512 = "TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==";
       };
     };
     "jest-haste-map-25.5.1" = {
@@ -33066,22 +33850,22 @@ let
         sha512 = "KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==";
       };
     };
-    "jest-validate-24.9.0" = {
+    "jest-validate-25.5.0" = {
       name = "jest-validate";
       packageName = "jest-validate";
-      version = "24.9.0";
+      version = "25.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-validate/-/jest-validate-24.9.0.tgz";
-        sha512 = "HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ==";
+        url = "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz";
+        sha512 = "okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==";
       };
     };
-    "jest-validate-25.5.0" = {
+    "jest-validate-26.6.2" = {
       name = "jest-validate";
       packageName = "jest-validate";
-      version = "25.5.0";
+      version = "26.6.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz";
-        sha512 = "okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==";
+        url = "https://registry.npmjs.org/jest-validate/-/jest-validate-26.6.2.tgz";
+        sha512 = "NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==";
       };
     };
     "jest-worker-25.5.0" = {
@@ -33111,22 +33895,22 @@ let
         sha512 = "qupxcj/dRuA3xHPMUd40gr2EaAurFbkwzOh7wfPaeE9id7hyjURRQoqNfHifHK3XjJU6YJJUQKILGUnwGPEOCA==";
       };
     };
-    "jimp-0.12.1" = {
-      name = "jimp";
-      packageName = "jimp";
-      version = "0.12.1";
+    "jimp-compact-0.16.1" = {
+      name = "jimp-compact";
+      packageName = "jimp-compact";
+      version = "0.16.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jimp/-/jimp-0.12.1.tgz";
-        sha512 = "0soPJif+yjmzmOF+4cF2hyhxUWWpXpQntsm2joJXFFoRcQiPzsG4dbLKYqYPT3Fc6PjZ8MaLtCkDqqckVSfmRw==";
+        url = "https://registry.npmjs.org/jimp-compact/-/jimp-compact-0.16.1.tgz";
+        sha512 = "dZ6Ra7u1G8c4Letq/B5EzAxj4tLFHL+cGtdpR+PVm4yzPDj+lCk+AbivWt1eOM+ikzkowtyV7qSqX6qr3t71Ww==";
       };
     };
-    "jitdb-3.1.5" = {
+    "jitdb-3.3.0" = {
       name = "jitdb";
       packageName = "jitdb";
-      version = "3.1.5";
+      version = "3.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jitdb/-/jitdb-3.1.5.tgz";
-        sha512 = "O3z6dmk4FY+Il3zt4CEnDwgbCWP89dsGvCK1Gx7pVOSsKML31WupDJMTICZ3PUagYi52NNUhvCZHUeJVJFdgTA==";
+        url = "https://registry.npmjs.org/jitdb/-/jitdb-3.3.0.tgz";
+        sha512 = "lZvQN7Cv/nQ8eueyyT/U2RuDi5wKOTL1PP3TrTRuXXv7ENYBohvJfbUX/Rv6+JL84+aN82qjZeFb4UsllHWJ4w==";
       };
     };
     "jju-1.4.0" = {
@@ -33165,13 +33949,13 @@ let
         sha1 = "06d4912255093419477d425633606e0e90782967";
       };
     };
-    "joi-17.4.1" = {
+    "joi-17.4.2" = {
       name = "joi";
       packageName = "joi";
-      version = "17.4.1";
+      version = "17.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/joi/-/joi-17.4.1.tgz";
-        sha512 = "gDPOwQ5sr+BUxXuPDGrC1pSNcVR/yGGcTI0aCnjYxZEa3za60K/iCQ+OFIkEHWZGVCUcUlXlFKvMmrlmxrG6UQ==";
+        url = "https://registry.npmjs.org/joi/-/joi-17.4.2.tgz";
+        sha512 = "Lm56PP+n0+Z2A2rfRvsfWVDXGEWjXxatPopkQ8qQ5mxCEhwHG+Ettgg5o98FFaxilOxozoa14cFhrE/hOzh/Nw==";
       };
     };
     "join-component-1.1.0" = {
@@ -33237,13 +34021,13 @@ let
         sha1 = "bcb4045c8dd0539c134bc1488cdd3e768a7a9e51";
       };
     };
-    "jquery.terminal-2.27.1" = {
+    "jquery.terminal-2.29.1" = {
       name = "jquery.terminal";
       packageName = "jquery.terminal";
-      version = "2.27.1";
+      version = "2.29.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jquery.terminal/-/jquery.terminal-2.27.1.tgz";
-        sha512 = "EixPlbZdM0tgtjC/KosdSjhRS2QZqG7qKLZ202og4hBTNLgNgZ4Ke6DP1mhC6IKciMHD6IWNYQgSnzQRbIQjIQ==";
+        url = "https://registry.npmjs.org/jquery.terminal/-/jquery.terminal-2.29.1.tgz";
+        sha512 = "YfZuBY2B/wpmqNXtaIJuDStomw/dWLxAqgMzdt2Kipq3+annRaSzF1l8Al/d8PCo4W6vg2DiKj5nvQf03k0UGA==";
       };
     };
     "js-base64-2.6.4" = {
@@ -33255,6 +34039,15 @@ let
         sha512 = "pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==";
       };
     };
+    "js-base64-3.6.1" = {
+      name = "js-base64";
+      packageName = "js-base64";
+      version = "3.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/js-base64/-/js-base64-3.6.1.tgz";
+        sha512 = "Frdq2+tRRGLQUIQOgsIGSCd1VePCS2fsddTG5dTCqR0JHgltXWfsxnY0gIXPoMeRmdom6Oyq+UMOFg5suduOjQ==";
+      };
+    };
     "js-beautify-1.14.0" = {
       name = "js-beautify";
       packageName = "js-beautify";
@@ -33480,13 +34273,13 @@ let
         sha512 = "fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g==";
       };
     };
-    "jsdom-16.6.0" = {
+    "jsdom-16.7.0" = {
       name = "jsdom";
       packageName = "jsdom";
-      version = "16.6.0";
+      version = "16.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsdom/-/jsdom-16.6.0.tgz";
-        sha512 = "Ty1vmF4NHJkolaEmdjtxTfSfkdb8Ywarwf63f+F8/mDD1uLSSWDxDuMiZxiPhwunLrn9LOSVItWj4bLYsLN3Dg==";
+        url = "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz";
+        sha512 = "u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==";
       };
     };
     "jsdom-7.2.2" = {
@@ -33525,58 +34318,49 @@ let
         sha512 = "xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==";
       };
     };
-    "jsii-1.31.0" = {
+    "jsii-1.34.0" = {
       name = "jsii";
       packageName = "jsii";
-      version = "1.31.0";
+      version = "1.34.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsii/-/jsii-1.31.0.tgz";
-        sha512 = "q/p5a6OLO9V0pIcyzS5sygkU9lPskY57KM7KbmppLDPVi5nIqpsRyFfsbPnGWFfDBMk//nkcfj+dbKJIplVkgg==";
+        url = "https://registry.npmjs.org/jsii/-/jsii-1.34.0.tgz";
+        sha512 = "z/p8cuWdRntQzdZ1Fq/hvXHPjq/HjZhQzTF/GmYrH3s7Wsb14LphHGAENTZwICBaSovoqSRIboOb2FbPLsCjoA==";
       };
     };
-    "jsii-pacmak-1.31.0" = {
+    "jsii-pacmak-1.34.0" = {
       name = "jsii-pacmak";
       packageName = "jsii-pacmak";
-      version = "1.31.0";
+      version = "1.34.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsii-pacmak/-/jsii-pacmak-1.31.0.tgz";
-        sha512 = "fGiAoooRPMadwTWU0vfHJdcNzeYdESnkU/8LmlI4k6yF1iIlFMIbWPulBxP6fV7SqV3CZQKGpUbcPD/Uzf1glg==";
+        url = "https://registry.npmjs.org/jsii-pacmak/-/jsii-pacmak-1.34.0.tgz";
+        sha512 = "OngbNHieb5g7B1VkRSZkZq1vgoflhjX4heTJnQJZYbG59j2qVgD7E/o/Dl2OTBLrGRms8e2oCsYc7XROt2htSA==";
       };
     };
-    "jsii-reflect-1.31.0" = {
+    "jsii-reflect-1.34.0" = {
       name = "jsii-reflect";
       packageName = "jsii-reflect";
-      version = "1.31.0";
+      version = "1.34.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsii-reflect/-/jsii-reflect-1.31.0.tgz";
-        sha512 = "jKc3tryVeEyEBZFv5bDB8rOaEgW+yBPh0DE4GQCKQQLdkp76Lm9ZSkrnJk5e0gEuAWsmuc1DUs35OcVNr8QRWg==";
+        url = "https://registry.npmjs.org/jsii-reflect/-/jsii-reflect-1.34.0.tgz";
+        sha512 = "IOEdwgeDCOq821PM3OfRro1Pgu0QzHFW7zQy3aN7/w5Fcb/tSYGxI9+Ykr6JCdg681LFzcMEgwJpCUHnfi/shw==";
       };
     };
-    "jsii-rosetta-1.31.0" = {
+    "jsii-rosetta-1.34.0" = {
       name = "jsii-rosetta";
       packageName = "jsii-rosetta";
-      version = "1.31.0";
+      version = "1.34.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsii-rosetta/-/jsii-rosetta-1.31.0.tgz";
-        sha512 = "Heu6D+yI5mmUklLQdX3PdDvHUQm14618Fj4PQM9seKa4cohxzJ7EHopfRObKYHMko9awopx4Qr7Gtu6u/QPqfw==";
+        url = "https://registry.npmjs.org/jsii-rosetta/-/jsii-rosetta-1.34.0.tgz";
+        sha512 = "GOGAy5b+zCGeyYziBoNVXgamL2CEZKMj5moeemkyN4AUHUqugNk3fSul2Zdbxs2S13Suk0D9iYAgChDxew0bOw==";
       };
     };
-    "jsii-srcmak-0.1.302" = {
+    "jsii-srcmak-0.1.335" = {
       name = "jsii-srcmak";
       packageName = "jsii-srcmak";
-      version = "0.1.302";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jsii-srcmak/-/jsii-srcmak-0.1.302.tgz";
-        sha512 = "UsXZ6LGLqP/nUNyq0ey3xOLpNDpkye5HeNAnJCVqw4vsT9o5EX7MHv9ca/JDlt7fWn+cUdo/Bcj5UZJvg+Chfg==";
-      };
-    };
-    "json-bigint-0.2.3" = {
-      name = "json-bigint";
-      packageName = "json-bigint";
-      version = "0.2.3";
+      version = "0.1.335";
       src = fetchurl {
-        url = "https://registry.npmjs.org/json-bigint/-/json-bigint-0.2.3.tgz";
-        sha1 = "118d7f6ff1d38659f19f94cf73e64a75a3f988a8";
+        url = "https://registry.npmjs.org/jsii-srcmak/-/jsii-srcmak-0.1.335.tgz";
+        sha512 = "9Htj62cspqqlxHw961LxHKL9YQv2+11BRXf8nQkxURWlRqbH+73iXzy8LaUvBTA52ZgEJffY38FuDjHv9gqhCw==";
       };
     };
     "json-bigint-1.0.0" = {
@@ -33624,15 +34408,6 @@ let
         sha512 = "FD/SedD78LCdSvJaOUQAXseT8oQBb5z6IVYaQaCrVUlu9zOAr1BDdKyVYQaSD/GDsAMrXpKcOyBD4LIl8nfjHw==";
       };
     };
-    "json-file-plus-3.3.1" = {
-      name = "json-file-plus";
-      packageName = "json-file-plus";
-      version = "3.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json-file-plus/-/json-file-plus-3.3.1.tgz";
-        sha512 = "wo0q1UuiV5NsDPQDup1Km8IwEeqe+olr8tkWxeJq9Bjtcp7DZ0l+yrg28fSC3DEtrE311mhTZ54QGS6oiqnZEA==";
-      };
-    };
     "json-merge-patch-0.2.3" = {
       name = "json-merge-patch";
       packageName = "json-merge-patch";
@@ -33876,13 +34651,13 @@ let
         sha512 = "0/4Lv6IenJV0qj2oBdgPIAmFiKKnh8qh7bmLFJ+/ZZHLjSeiL3fKKGX3UryvKPbxFbhV+JcYo9KUC19GJ/Z/4A==";
       };
     };
-    "json2jsii-0.1.272" = {
+    "json2jsii-0.2.7" = {
       name = "json2jsii";
       packageName = "json2jsii";
-      version = "0.1.272";
+      version = "0.2.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/json2jsii/-/json2jsii-0.1.272.tgz";
-        sha512 = "OUZqjQhnRalQmQx3kFM3mG5DQcfEYzmUYBWGdb6QwGLuvwB/eJ2PhXuLEkGF+PhRwOrW5IyEcF8U+O39mh3G5Q==";
+        url = "https://registry.npmjs.org/json2jsii/-/json2jsii-0.2.7.tgz";
+        sha512 = "cOfUWGFat3g6v1cWJ6+yPDFkV9O802hp8AcJfPgp16FWeDMNgnIsaavSw+i3IPFns3Fap1O+Oj/8g6s1+NwCJg==";
       };
     };
     "json3-3.2.6" = {
@@ -34083,6 +34858,15 @@ let
         sha512 = "CXcRvMyTlnR53xMcKnuMzfCA5i/nfblTnnr74CZb6C4vG39eu6w51t7nKmU5MfLfbTgGItliNyjO/ciNPDqClg==";
       };
     };
+    "jsonrpc2-ws-1.0.0-beta9" = {
+      name = "jsonrpc2-ws";
+      packageName = "jsonrpc2-ws";
+      version = "1.0.0-beta9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsonrpc2-ws/-/jsonrpc2-ws-1.0.0-beta9.tgz";
+        sha512 = "0KA+ufhSy7gN2/jGXagXLz4V5m+vymmNTI5IpNBIUiunday45P6dspdaOO0wwt2JJyrACC/BKMH154OqsuB80w==";
+      };
+    };
     "jsonschema-1.4.0" = {
       name = "jsonschema";
       packageName = "jsonschema";
@@ -34137,13 +34921,22 @@ let
         sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2";
       };
     };
-    "jstat-1.9.4" = {
+    "jsqr-1.4.0" = {
+      name = "jsqr";
+      packageName = "jsqr";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsqr/-/jsqr-1.4.0.tgz";
+        sha512 = "dxLob7q65Xg2DvstYkRpkYtmKm2sPJ9oFhrhmudT1dZvNFFTlroai3AWSpLey/w5vMcLBXRgOJsbXpdN9HzU/A==";
+      };
+    };
+    "jstat-1.9.5" = {
       name = "jstat";
       packageName = "jstat";
-      version = "1.9.4";
+      version = "1.9.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jstat/-/jstat-1.9.4.tgz";
-        sha512 = "IiTPlI7pcrsq41EpDzrghlA1fhiC9GXxNqO4k5ogsjsM1XAWQ8zESH/bZsExLVgQsYpXE+7c11kEbbuxTLUpJQ==";
+        url = "https://registry.npmjs.org/jstat/-/jstat-1.9.5.tgz";
+        sha512 = "cWnp4vObF5GmB2XsIEzxI/1ZTcYlcfNqxQ/9Fp5KFUa0Jf/4tO0ZkGVnqoEHDisJvYgvn5n3eWZbd2xTVJJPUQ==";
       };
     };
     "jstransform-10.1.0" = {
@@ -34182,22 +34975,13 @@ let
         sha1 = "b88f3a7b2e67a2a048152982c7a3756d9c4828f0";
       };
     };
-    "jszip-3.4.0" = {
+    "jszip-3.7.1" = {
       name = "jszip";
       packageName = "jszip";
-      version = "3.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jszip/-/jszip-3.4.0.tgz";
-        sha512 = "gZAOYuPl4EhPTXT0GjhI3o+ZAz3su6EhLrKUoAivcKqyqC7laS5JEv4XWZND9BgcDcF83vI85yGbDmDR6UhrIg==";
-      };
-    };
-    "jszip-3.6.0" = {
-      name = "jszip";
-      packageName = "jszip";
-      version = "3.6.0";
+      version = "3.7.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jszip/-/jszip-3.6.0.tgz";
-        sha512 = "jgnQoG9LKnWO3mnVNBnfhkh0QknICd1FGSrXcgrl67zioyJ4wgx25o9ZqwNtrROSflGBCGYnJfjrIyRIby1OoQ==";
+        url = "https://registry.npmjs.org/jszip/-/jszip-3.7.1.tgz";
+        sha512 = "ghL0tz1XG9ZEmRMcEN2vt7xabrDdqHHeykgARpmZ0BiIctWxM47Vt63ZO2dnp4QYt/xJVLLy5Zv1l/xRdh2byg==";
       };
     };
     "junk-3.1.0" = {
@@ -34435,6 +35219,15 @@ let
         sha512 = "cCMcil4jwMm7behpXGiQfXJA29sko/Gd/26iCsr53Dv5Jn2iHbHyEb14dm9uVrIijUXx6Zz1WhlFhHE6DckvkQ==";
       };
     };
+    "kdbush-3.0.0" = {
+      name = "kdbush";
+      packageName = "kdbush";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/kdbush/-/kdbush-3.0.0.tgz";
+        sha512 = "hRkd6/XW4HTsA9vjVpY9tuXJYLSlelnkTmVFu4M9/7MIYQtFcHpbugAU7UbOfjOiVSVYl2fqgBuJ32JUmRo5Ew==";
+      };
+    };
     "keep-alive-agent-0.0.1" = {
       name = "keep-alive-agent";
       packageName = "keep-alive-agent";
@@ -34633,6 +35426,15 @@ let
         sha512 = "eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==";
       };
     };
+    "kleur-4.1.4" = {
+      name = "kleur";
+      packageName = "kleur";
+      version = "4.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/kleur/-/kleur-4.1.4.tgz";
+        sha512 = "8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA==";
+      };
+    };
     "knockout-3.5.1" = {
       name = "knockout";
       packageName = "knockout";
@@ -35245,15 +36047,6 @@ let
         sha512 = "tq7AAMpjQ9sl58pW/qis/vOBzN7MCQ4F4n+ox4VQhyv1qVA+P2LgJq36I1Y6b4RX68+hK48u1eHDzSt527fEXA==";
       };
     };
-    "lightning-3.3.16" = {
-      name = "lightning";
-      packageName = "lightning";
-      version = "3.3.16";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lightning/-/lightning-3.3.16.tgz";
-        sha512 = "5rltlQighO0X6IjTbdsabtfT3ZY3kE6MZN6jmK4wz6Jt3eikxMbmzVBC5/UeyMb/3Fad3iHJIneXuhu76/eY/A==";
-      };
-    };
     "lightning-3.3.9" = {
       name = "lightning";
       packageName = "lightning";
@@ -35272,6 +36065,15 @@ let
         sha512 = "lD6PgHipqedfFcTEf/9mDF3s4KGO/lecr02W6zHBJHohNphuBUZS1z68kKRJAl3N4iHmDEfLxt+G86PBP0jhHw==";
       };
     };
+    "lightning-4.1.0" = {
+      name = "lightning";
+      packageName = "lightning";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lightning/-/lightning-4.1.0.tgz";
+        sha512 = "ngS2829bxBMgK/MFanm6jypvpIbxzxBX/vFbUKyFrj3MxcSKvMQzr1sXRppYxZXHwOuqyiN91QnaKNg3upQ9sg==";
+      };
+    };
     "lilconfig-2.0.3" = {
       name = "lilconfig";
       packageName = "lilconfig";
@@ -35299,6 +36101,15 @@ let
         sha512 = "kUfYO29baIJzY3S4/j7qaWl0GdjxT88SEaIcUN98YGdhYh+m7Zkt1N4jGubVF05A7dzjfjgtQD/NI5APKl38RQ==";
       };
     };
+    "limiter-1.1.5" = {
+      name = "limiter";
+      packageName = "limiter";
+      version = "1.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/limiter/-/limiter-1.1.5.tgz";
+        sha512 = "FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA==";
+      };
+    };
     "line-reader-0.4.0" = {
       name = "line-reader";
       packageName = "line-reader";
@@ -35407,22 +36218,13 @@ let
         sha512 = "04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw==";
       };
     };
-    "ln-accounting-4.3.1" = {
+    "ln-accounting-5.0.0" = {
       name = "ln-accounting";
       packageName = "ln-accounting";
-      version = "4.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ln-accounting/-/ln-accounting-4.3.1.tgz";
-        sha512 = "EBEeBymqktoaViGAG5aVmgIOZpWc6IwDqxq93ZYYIw+Uc9Vy/86nUDPx8A/jJC0f8lwEGcqT+hnSIiBF4SyqeA==";
-      };
-    };
-    "ln-service-51.10.0" = {
-      name = "ln-service";
-      packageName = "ln-service";
-      version = "51.10.0";
+      version = "5.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ln-service/-/ln-service-51.10.0.tgz";
-        sha512 = "k6wGBB6RfyHhMY296MsHhZrVuJSqNsqx3nF3WM5lkKAg+58OdU6bLzqVttpit9uHamc6tssD2GDxNS6gdUzOYQ==";
+        url = "https://registry.npmjs.org/ln-accounting/-/ln-accounting-5.0.0.tgz";
+        sha512 = "iKvNJI8qRv5O7rI3m7ARXTg9fergI3AEx2RqnB3A/dTo80zt78+x57zyBw7WmqE/BiV5eJ4kyOw1lIx1N0eC1g==";
       };
     };
     "ln-service-51.8.2" = {
@@ -35443,22 +36245,13 @@ let
         sha512 = "1SU0eG9/LDy6k3UGXaahmoe1wOahAJkaidWpLX5Nmlfq72I0arad420smma5ZGXAW4wNlGR/gx68KZzzYI5D4A==";
       };
     };
-    "ln-service-51.9.0" = {
+    "ln-service-52.0.1" = {
       name = "ln-service";
       packageName = "ln-service";
-      version = "51.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ln-service/-/ln-service-51.9.0.tgz";
-        sha512 = "4lbC1QZ/a4BuvO/0wd8DxRr5DxdYGugENoDo9X8xnUts9tGmYLb7g5yEXuk/Ff2LPTVUlK5imAsduobUVXOzlA==";
-      };
-    };
-    "ln-sync-0.4.6" = {
-      name = "ln-sync";
-      packageName = "ln-sync";
-      version = "0.4.6";
+      version = "52.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ln-sync/-/ln-sync-0.4.6.tgz";
-        sha512 = "FMfcEISlboFVz+wLTAJ+FnEIQkoMR7IHcUg4l5JNwsU/UOijM1vTQDFhHVqg5fEQAFboZe3lNd7Rh1uxxqs47Q==";
+        url = "https://registry.npmjs.org/ln-service/-/ln-service-52.0.1.tgz";
+        sha512 = "ETL/rpidWMS7nCsZoRb3/0vU5nk7RE1PRtn3YBnmUWJcdhjREPhQRLHm7/vZ+JFRdAwvW7V/lqCvOkDZXCKo6w==";
       };
     };
     "ln-sync-0.4.7" = {
@@ -35470,22 +36263,13 @@ let
         sha512 = "2yqc59OhK0affnkwhgw7iY4x2tKZTb8y8KSWxRHn6cSXL3clUJgXdTNOGr4Jp8j1TkTl0iRVnLSNZlRbtU4vVA==";
       };
     };
-    "ln-telegram-3.2.9" = {
+    "ln-telegram-3.2.11" = {
       name = "ln-telegram";
       packageName = "ln-telegram";
-      version = "3.2.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ln-telegram/-/ln-telegram-3.2.9.tgz";
-        sha512 = "pjAkD1VLGLvwu1Dso3HvQDcK25L/slRX8nB7hTDDEznn+rRzxBJd1sXuNaFovwJHughvK3ZxUxAHC0BfzIatEw==";
-      };
-    };
-    "load-bmfont-1.4.1" = {
-      name = "load-bmfont";
-      packageName = "load-bmfont";
-      version = "1.4.1";
+      version = "3.2.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/load-bmfont/-/load-bmfont-1.4.1.tgz";
-        sha512 = "8UyQoYmdRDy81Brz6aLAUhfZLwr5zV0L3taTQ4hju7m6biuwiWiJXjPhBJxbUQJA8PrkvJ/7Enqmwk2sM14soA==";
+        url = "https://registry.npmjs.org/ln-telegram/-/ln-telegram-3.2.11.tgz";
+        sha512 = "JzgJQGGLuKM/v7Olk707AeIiB5imQacM5AOGEefI98pTMjrMJ9SRgMg7M39+AOLOT2R7MHXHDBk+41UGtbQZGQ==";
       };
     };
     "load-ip-set-2.2.1" = {
@@ -35623,13 +36407,13 @@ let
         sha512 = "uxKD2HIj042/HBx77NBcmEPsD+hxCgAtjEWlYNScuUjIsh/62Uyu39GOR68TBR68v+jqDL9zfftCWoUo4y03sQ==";
       };
     };
-    "localforage-1.9.0" = {
+    "localforage-1.10.0" = {
       name = "localforage";
       packageName = "localforage";
-      version = "1.9.0";
+      version = "1.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/localforage/-/localforage-1.9.0.tgz";
-        sha512 = "rR1oyNrKulpe+VM9cYmcFn6tsHuokyVHFaCM3+osEmxaHTbEk8oQu6eGDfS6DQLWi/N67XRmB8ECG37OES368g==";
+        url = "https://registry.npmjs.org/localforage/-/localforage-1.10.0.tgz";
+        sha512 = "14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==";
       };
     };
     "locate-java-home-1.1.2" = {
@@ -36136,15 +36920,6 @@ let
         sha1 = "0d99f3ccd7a6d261d19bdaeb9245005d285808e7";
       };
     };
-    "lodash.assignin-4.2.0" = {
-      name = "lodash.assignin";
-      packageName = "lodash.assignin";
-      version = "4.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.assignin/-/lodash.assignin-4.2.0.tgz";
-        sha1 = "ba8df5fb841eb0a3e8044232b0e263a8dc6a28a2";
-      };
-    };
     "lodash.bind-2.4.1" = {
       name = "lodash.bind";
       packageName = "lodash.bind";
@@ -36163,15 +36938,6 @@ let
         sha1 = "b28aa6288a2b9fc651035c7711f65ab6190331a6";
       };
     };
-    "lodash.chunk-4.2.0" = {
-      name = "lodash.chunk";
-      packageName = "lodash.chunk";
-      version = "4.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.chunk/-/lodash.chunk-4.2.0.tgz";
-        sha1 = "66e5ce1f76ed27b4303d8c6512e8d1216e8106bc";
-      };
-    };
     "lodash.clone-4.5.0" = {
       name = "lodash.clone";
       packageName = "lodash.clone";
@@ -36199,15 +36965,6 @@ let
         sha1 = "e23f3f9c4f8fbdde872529c1071857a086e5ccef";
       };
     };
-    "lodash.constant-3.0.0" = {
-      name = "lodash.constant";
-      packageName = "lodash.constant";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.constant/-/lodash.constant-3.0.0.tgz";
-        sha1 = "bfe05cce7e515b3128925d6362138420bd624910";
-      };
-    };
     "lodash.debounce-4.0.8" = {
       name = "lodash.debounce";
       packageName = "lodash.debounce";
@@ -36280,42 +37037,6 @@ let
         sha1 = "64762c48618082518ac3df4ccf5d5886dae20347";
       };
     };
-    "lodash.filter-4.6.0" = {
-      name = "lodash.filter";
-      packageName = "lodash.filter";
-      version = "4.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.filter/-/lodash.filter-4.6.0.tgz";
-        sha1 = "668b1d4981603ae1cc5a6fa760143e480b4c4ace";
-      };
-    };
-    "lodash.find-4.6.0" = {
-      name = "lodash.find";
-      packageName = "lodash.find";
-      version = "4.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.find/-/lodash.find-4.6.0.tgz";
-        sha1 = "cb0704d47ab71789ffa0de8b97dd926fb88b13b1";
-      };
-    };
-    "lodash.findindex-4.6.0" = {
-      name = "lodash.findindex";
-      packageName = "lodash.findindex";
-      version = "4.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.findindex/-/lodash.findindex-4.6.0.tgz";
-        sha1 = "a3245dee61fb9b6e0624b535125624bb69c11106";
-      };
-    };
-    "lodash.findkey-4.6.0" = {
-      name = "lodash.findkey";
-      packageName = "lodash.findkey";
-      version = "4.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.findkey/-/lodash.findkey-4.6.0.tgz";
-        sha1 = "83058e903b51cbb759d09ccf546dea3ea39c4718";
-      };
-    };
     "lodash.flatmap-4.5.0" = {
       name = "lodash.flatmap";
       packageName = "lodash.flatmap";
@@ -36334,15 +37055,6 @@ let
         sha1 = "f31c22225a9632d2bbf8e4addbef240aa765a61f";
       };
     };
-    "lodash.flattendeep-4.4.0" = {
-      name = "lodash.flattendeep";
-      packageName = "lodash.flattendeep";
-      version = "4.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz";
-        sha1 = "fb030917f86a3134e5bc9bec0d69e0013ddfedb2";
-      };
-    };
     "lodash.foreach-2.4.1" = {
       name = "lodash.foreach";
       packageName = "lodash.foreach";
@@ -36361,15 +37073,6 @@ let
         sha1 = "6fd7efb79691aecd67fdeac2761c98e701d6c39a";
       };
     };
-    "lodash.foreach-4.5.0" = {
-      name = "lodash.foreach";
-      packageName = "lodash.foreach";
-      version = "4.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz";
-        sha1 = "1a6a35eace401280c7f06dddec35165ab27e3e53";
-      };
-    };
     "lodash.forown-2.4.1" = {
       name = "lodash.forown";
       packageName = "lodash.forown";
@@ -36406,15 +37109,6 @@ let
         sha1 = "0b08a1dcf68397c397855c3239783832df7403d1";
       };
     };
-    "lodash.has-4.5.2" = {
-      name = "lodash.has";
-      packageName = "lodash.has";
-      version = "4.5.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.has/-/lodash.has-4.5.2.tgz";
-        sha1 = "d19f4dc1095058cccbe2b0cdf4ee0fe4aa37c862";
-      };
-    };
     "lodash.identity-2.4.1" = {
       name = "lodash.identity";
       packageName = "lodash.identity";
@@ -36442,15 +37136,6 @@ let
         sha1 = "0a11ba631d0e95c23c7f2f4cbb9a692ed178e705";
       };
     };
-    "lodash.invert-4.3.0" = {
-      name = "lodash.invert";
-      packageName = "lodash.invert";
-      version = "4.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.invert/-/lodash.invert-4.3.0.tgz";
-        sha1 = "8ffe20d4b616f56bea8f1aa0c6ebd80dcf742aee";
-      };
-    };
     "lodash.isarguments-2.4.1" = {
       name = "lodash.isarguments";
       packageName = "lodash.isarguments";
@@ -36640,33 +37325,6 @@ let
         sha1 = "4dbc0472b156be50a0b286855d1bd0b0c656098a";
       };
     };
-    "lodash.keys-4.2.0" = {
-      name = "lodash.keys";
-      packageName = "lodash.keys";
-      version = "4.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.keys/-/lodash.keys-4.2.0.tgz";
-        sha1 = "a08602ac12e4fb83f91fc1fb7a360a4d9ba35205";
-      };
-    };
-    "lodash.last-3.0.0" = {
-      name = "lodash.last";
-      packageName = "lodash.last";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.last/-/lodash.last-3.0.0.tgz";
-        sha1 = "242f663112dd4c6e63728c60a3c909d1bdadbd4c";
-      };
-    };
-    "lodash.map-4.6.0" = {
-      name = "lodash.map";
-      packageName = "lodash.map";
-      version = "4.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz";
-        sha1 = "771ec7839e3473d9c4cde28b19394c3562f4f6d3";
-      };
-    };
     "lodash.memoize-3.0.4" = {
       name = "lodash.memoize";
       packageName = "lodash.memoize";
@@ -36721,15 +37379,6 @@ let
         sha1 = "0dd3971213c7c56df880977d504c88fb471a97ac";
       };
     };
-    "lodash.orderby-4.6.0" = {
-      name = "lodash.orderby";
-      packageName = "lodash.orderby";
-      version = "4.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.orderby/-/lodash.orderby-4.6.0.tgz";
-        sha1 = "e697f04ce5d78522f54d9338b32b81a3393e4eb3";
-      };
-    };
     "lodash.pad-4.5.1" = {
       name = "lodash.pad";
       packageName = "lodash.pad";
@@ -36757,13 +37406,13 @@ let
         sha1 = "d2e3eebff0d9d39ad50f5cbd1b52a7bce6bb611b";
       };
     };
-    "lodash.reduce-4.6.0" = {
-      name = "lodash.reduce";
-      packageName = "lodash.reduce";
-      version = "4.6.0";
+    "lodash.pick-4.4.0" = {
+      name = "lodash.pick";
+      packageName = "lodash.pick";
+      version = "4.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz";
-        sha1 = "f1ab6b839299ad48f784abbf476596f03b914d3b";
+        url = "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz";
+        sha1 = "52f05610fff9ded422611441ed1fc123a03001b3";
       };
     };
     "lodash.repeat-4.1.0" = {
@@ -36784,24 +37433,6 @@ let
         sha1 = "936a4e309ef330a7645ed4145986c85ae5b20805";
       };
     };
-    "lodash.set-4.3.2" = {
-      name = "lodash.set";
-      packageName = "lodash.set";
-      version = "4.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz";
-        sha1 = "d8757b1da807dde24816b0d6a84bea1a76230b23";
-      };
-    };
-    "lodash.size-4.2.0" = {
-      name = "lodash.size";
-      packageName = "lodash.size";
-      version = "4.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.size/-/lodash.size-4.2.0.tgz";
-        sha1 = "71fe75ed3eabdb2bcb73a1b0b4f51c392ee27b86";
-      };
-    };
     "lodash.snakecase-4.1.1" = {
       name = "lodash.snakecase";
       packageName = "lodash.snakecase";
@@ -36829,15 +37460,6 @@ let
         sha1 = "edd14c824e2cc9c1e0b0a1b42bb5210516a42438";
       };
     };
-    "lodash.sum-4.0.2" = {
-      name = "lodash.sum";
-      packageName = "lodash.sum";
-      version = "4.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.sum/-/lodash.sum-4.0.2.tgz";
-        sha1 = "ad90e397965d803d4f1ff7aa5b2d0197f3b4637b";
-      };
-    };
     "lodash.support-2.4.1" = {
       name = "lodash.support";
       packageName = "lodash.support";
@@ -36901,15 +37523,6 @@ let
         sha1 = "24c4bfcd6b2fba38bfd0594db1179d8e9b656561";
       };
     };
-    "lodash.topairs-4.3.0" = {
-      name = "lodash.topairs";
-      packageName = "lodash.topairs";
-      version = "4.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.topairs/-/lodash.topairs-4.3.0.tgz";
-        sha1 = "3b6deaa37d60fb116713c46c5f17ea190ec48d64";
-      };
-    };
     "lodash.transform-4.6.0" = {
       name = "lodash.transform";
       packageName = "lodash.transform";
@@ -36964,13 +37577,13 @@ let
         sha1 = "a3a17bbf62eeb6240f491846e97c1c4e2a5e1e21";
       };
     };
-    "lodash.upperfirst-4.3.1" = {
-      name = "lodash.upperfirst";
-      packageName = "lodash.upperfirst";
-      version = "4.3.1";
+    "lodash.uniqby-4.7.0" = {
+      name = "lodash.uniqby";
+      packageName = "lodash.uniqby";
+      version = "4.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz";
-        sha1 = "1365edf431480481ef0d1c68957a5ed99d49f7ce";
+        url = "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz";
+        sha1 = "d99c07a669e9e6d24e1362dfe266c67616af1302";
       };
     };
     "lodash.values-2.4.1" = {
@@ -36982,15 +37595,6 @@ let
         sha1 = "abf514436b3cb705001627978cbcf30b1280eea4";
       };
     };
-    "lodash.values-4.3.0" = {
-      name = "lodash.values";
-      packageName = "lodash.values";
-      version = "4.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.values/-/lodash.values-4.3.0.tgz";
-        sha1 = "a3a6c2b0ebecc5c2cba1c17e6e620fe81b53d347";
-      };
-    };
     "lodash.zip-4.2.0" = {
       name = "lodash.zip";
       packageName = "lodash.zip";
@@ -37018,13 +37622,13 @@ let
         sha512 = "U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==";
       };
     };
-    "log-process-errors-5.1.2" = {
+    "log-process-errors-6.3.0" = {
       name = "log-process-errors";
       packageName = "log-process-errors";
-      version = "5.1.2";
+      version = "6.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/log-process-errors/-/log-process-errors-5.1.2.tgz";
-        sha512 = "s4kmYHrzj543xUAIxc/cpmoiGZcbFwKRqqwO49DbgH+hFoSTswi0sYZuJKjUUc73b49MRPQGl0CNl8cx98/Wtg==";
+        url = "https://registry.npmjs.org/log-process-errors/-/log-process-errors-6.3.0.tgz";
+        sha512 = "dHwGgWFuz9LUDoLIG7E0SlDurosfZEpgNLJMPzNL9GPdyh4Wdm5RJlQbuqy3Pj2wOcbDzykeTCBEqyrwriqPnA==";
       };
     };
     "log-symbols-1.0.2" = {
@@ -37261,13 +37865,13 @@ let
         sha512 = "lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==";
       };
     };
-    "lossless-json-1.0.4" = {
+    "lossless-json-1.0.5" = {
       name = "lossless-json";
       packageName = "lossless-json";
-      version = "1.0.4";
+      version = "1.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lossless-json/-/lossless-json-1.0.4.tgz";
-        sha512 = "zEkWwELMSQQISdtOF44vk0bRJhN/PJ93qcgJLcodizQjxrJKdFrq2H1+Xv5QDe7v3dTYYbBI5hOsh4a9l0B2Ow==";
+        url = "https://registry.npmjs.org/lossless-json/-/lossless-json-1.0.5.tgz";
+        sha512 = "RicKUuLwZVNZ6ZdJHgIZnSeA05p8qWc5NW0uR96mpPIjN9WDLUg9+kj1esQU1GkPn9iLZVKatSQK5gyiaFHgJA==";
       };
     };
     "lossy-store-1.2.4" = {
@@ -37495,13 +38099,13 @@ let
         sha512 = "zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==";
       };
     };
-    "luxon-2.0.1" = {
+    "luxon-2.0.2" = {
       name = "luxon";
       packageName = "luxon";
-      version = "2.0.1";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/luxon/-/luxon-2.0.1.tgz";
-        sha512 = "8Eawf81c9ZlQj62W3eq4mp+C7SAIAnmaS7ZuEAiX503YMcn+0C1JnMQRtfaQj6B5qTZLgHv0F4H5WabBCvi1fw==";
+        url = "https://registry.npmjs.org/luxon/-/luxon-2.0.2.tgz";
+        sha512 = "ZRioYLCgRHrtTORaZX1mx+jtxKtKuI5ZDvHNAmqpUzGqSrR+tL4FVLn/CUGMA3h0+AKD1MAxGI5GnCqR5txNqg==";
       };
     };
     "lzma-native-6.0.1" = {
@@ -37666,6 +38270,15 @@ let
         sha512 = "g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==";
       };
     };
+    "make-error-1.3.6" = {
+      name = "make-error";
+      packageName = "make-error";
+      version = "1.3.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz";
+        sha512 = "s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==";
+      };
+    };
     "make-fetch-happen-8.0.14" = {
       name = "make-fetch-happen";
       packageName = "make-fetch-happen";
@@ -37675,13 +38288,13 @@ let
         sha512 = "EsS89h6l4vbfJEtBZnENTOFk8mCRpY5ru36Xe5bcX1KYIli2mkSHqoFsp5O1wMDvTJJzxe/4THpCTtygjeeGWQ==";
       };
     };
-    "make-fetch-happen-9.0.4" = {
+    "make-fetch-happen-9.1.0" = {
       name = "make-fetch-happen";
       packageName = "make-fetch-happen";
-      version = "9.0.4";
+      version = "9.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.0.4.tgz";
-        sha512 = "sQWNKMYqSmbAGXqJg2jZ+PmHh5JAybvwu0xM8mZR/bsTjGiTASj3ldXJV7KFHy1k/IJIBkjxQFoWIVsv9+PQMg==";
+        url = "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz";
+        sha512 = "+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==";
       };
     };
     "make-iterator-1.0.1" = {
@@ -37810,6 +38423,15 @@ let
         sha1 = "ecdca8f13144e660f1b5bd41f12f3479d98dfb8f";
       };
     };
+    "mapbox-gl-1.13.1" = {
+      name = "mapbox-gl";
+      packageName = "mapbox-gl";
+      version = "1.13.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mapbox-gl/-/mapbox-gl-1.13.1.tgz";
+        sha512 = "GSyubcoSF5MyaP8z+DasLu5v7KmDK2pp4S5+VQ5WdVQUOaAqQY4jwl4JpcdNho3uWm2bIKs7x1l7q3ynGmW60g==";
+      };
+    };
     "mark.js-8.11.1" = {
       name = "mark.js";
       packageName = "mark.js";
@@ -37855,13 +38477,13 @@ let
         sha512 = "34RwOXZT8kyuOJy25oJNJoulO8L0bTHYWXcdZBYZqFnjIy3NgjeoM3FmPXIOFQ26/lSHYMr8oc62B6adxXcb3Q==";
       };
     };
-    "markdown-it-12.1.0" = {
+    "markdown-it-12.2.0" = {
       name = "markdown-it";
       packageName = "markdown-it";
-      version = "12.1.0";
+      version = "12.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/markdown-it/-/markdown-it-12.1.0.tgz";
-        sha512 = "7temG6IFOOxfU0SgzhqR+vr2diuMhyO5uUIEZ3C5NbXhqC9uFUHoU41USYuDFoZRsaY7BEIEei874Z20VMLF6A==";
+        url = "https://registry.npmjs.org/markdown-it/-/markdown-it-12.2.0.tgz";
+        sha512 = "Wjws+uCrVQRqOoJvze4HCqkKl1AsSh95iFAeQDwnyfxM09divCBSXlDR1uTvyUP3Grzpn4Ru8GeCxYPM8vkCQg==";
       };
     };
     "markdown-it-8.4.2" = {
@@ -38413,6 +39035,15 @@ let
         sha512 = "/d51FFIfPsSmCIRNp7E6pozM9z1GYPIkSy1urQ8s/o4TC22BZ7DqfHFWiqBD23bc7J3vV1Fc9O4QIHBlfuit8A==";
       };
     };
+    "mdast-util-heading-style-1.0.6" = {
+      name = "mdast-util-heading-style";
+      packageName = "mdast-util-heading-style";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mdast-util-heading-style/-/mdast-util-heading-style-1.0.6.tgz";
+        sha512 = "8ZuuegRqS0KESgjAGW8zTx4tJ3VNIiIaGFNEzFpRSAQBavVc7AvOo9I4g3crcZBfYisHs4seYh0rAVimO6HyOw==";
+      };
+    };
     "mdast-util-mdx-0.1.1" = {
       name = "mdast-util-mdx";
       packageName = "mdast-util-mdx";
@@ -38458,6 +39089,15 @@ let
         sha512 = "XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ==";
       };
     };
+    "mdast-util-to-nlcst-3.2.3" = {
+      name = "mdast-util-to-nlcst";
+      packageName = "mdast-util-to-nlcst";
+      version = "3.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mdast-util-to-nlcst/-/mdast-util-to-nlcst-3.2.3.tgz";
+        sha512 = "hPIsgEg7zCvdU6/qvjcR6lCmJeRuIEpZGY5xBV+pqzuMOvQajyyF8b6f24f8k3Rw8u40GwkI3aAxUXr3bB2xag==";
+      };
+    };
     "mdast-util-to-nlcst-4.0.1" = {
       name = "mdast-util-to-nlcst";
       packageName = "mdast-util-to-nlcst";
@@ -38467,6 +39107,15 @@ let
         sha512 = "Y4ffygj85MTt70STKnEquw6k73jYWJBaYcb4ITAKgSNokZF7fH8rEHZ1GsRY/JaxqUevMaEnsDmkVv5Z9uVRdg==";
       };
     };
+    "mdast-util-to-string-1.1.0" = {
+      name = "mdast-util-to-string";
+      packageName = "mdast-util-to-string";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz";
+        sha512 = "jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A==";
+      };
+    };
     "mdast-util-to-string-2.0.0" = {
       name = "mdast-util-to-string";
       packageName = "mdast-util-to-string";
@@ -38620,6 +39269,15 @@ let
         sha512 = "Ci6bIfq/UgcxPTYa8dQQ5FY3BzKkT894bwXWXxC/zqs0XgMO2cT20CGkOqda7gZNkmK5VP4x89IGZ6K7hfbn3Q==";
       };
     };
+    "mem-8.1.1" = {
+      name = "mem";
+      packageName = "mem";
+      version = "8.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mem/-/mem-8.1.1.tgz";
+        sha512 = "qFCFUDs7U3b8mBDPyz5EToEKoAkgCzqquIgi9nkkR9bixxOVOre+09lbuH7+9Kn2NFpm56M3GUWVbU2hQgdACA==";
+      };
+    };
     "mem-fs-2.2.1" = {
       name = "mem-fs";
       packageName = "mem-fs";
@@ -38629,13 +39287,13 @@ let
         sha512 = "yiAivd4xFOH/WXlUi6v/nKopBh1QLzwjFi36NK88cGt/PRXI8WeBASqY+YSjIVWvQTx3hR8zHKDBMV6hWmglNA==";
       };
     };
-    "mem-fs-editor-9.0.1" = {
+    "mem-fs-editor-9.3.0" = {
       name = "mem-fs-editor";
       packageName = "mem-fs-editor";
-      version = "9.0.1";
+      version = "9.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-9.0.1.tgz";
-        sha512 = "SqW+DkPbxZVzVldNHexoo5MiUR3YpIqiCVcZ/SZ6f7KToaSV7pMd4/URrkD5mnj35bd6NAK7SlftHSyW+Kgk4w==";
+        url = "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-9.3.0.tgz";
+        sha512 = "QKFbPwGCh1ypmc2H8BUYpbapwT/x2AOCYZQogzSui4rUNes7WVMagQXsirPIfp18EarX0SSY9Fpg426nSjew4Q==";
       };
     };
     "memfs-3.2.2" = {
@@ -38908,13 +39566,13 @@ let
         sha512 = "TIurLf/ustQNMXi5foClGTcEsRvH6DCvxeAKu68OrwHMOSM/M1pgPXb7qe52Svk1ClvmZuAVpLtP5FWKzPr/sw==";
       };
     };
-    "mermaid-8.11.0" = {
+    "mermaid-8.12.0" = {
       name = "mermaid";
       packageName = "mermaid";
-      version = "8.11.0";
+      version = "8.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mermaid/-/mermaid-8.11.0.tgz";
-        sha512 = "c/SprR4mJ2Pj7A+3mEvva7XrhEkXQJUal7fIyOkMhOhsPX2u5gQjjm5CEhHQ6WdGsqP+yiR+Fcgnd1i8mpFK8w==";
+        url = "https://registry.npmjs.org/mermaid/-/mermaid-8.12.0.tgz";
+        sha512 = "YegtLgtdpnd+y7J9gfSfFkD7T3G7cXQ6orOL7x4jAx6SWyJSMAQIb34JBKuhagXNsi34nK6gpfHbv63Br7246g==";
       };
     };
     "meros-1.1.4" = {
@@ -39052,15 +39710,6 @@ let
         sha512 = "y0y6CUB9RLVsy3kfgayU28746QrNMpSm9O/AYGNsBgOkJr/X/Jk0VLGoO8Ude7Bpa8adywzF+MzXNZRFRsNPhg==";
       };
     };
-    "micro-memoize-2.1.2" = {
-      name = "micro-memoize";
-      packageName = "micro-memoize";
-      version = "2.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/micro-memoize/-/micro-memoize-2.1.2.tgz";
-        sha512 = "COjNutiFgnDHXZEIM/jYuZPwq2h8zMUeScf6Sh6so98a+REqdlpaNS7Cb2ffGfK5I+xfgoA3Rx49NGuNJTJq3w==";
-      };
-    };
     "micro-memoize-4.0.9" = {
       name = "micro-memoize";
       packageName = "micro-memoize";
@@ -39070,15 +39719,6 @@ let
         sha512 = "Z2uZi/IUMGQDCXASdujXRqrXXEwSY0XffUrAOllhqzQI3wpUyZbiZTiE2JuYC0HSG2G7DbCS5jZmsEKEGZuemg==";
       };
     };
-    "microbuffer-1.0.0" = {
-      name = "microbuffer";
-      packageName = "microbuffer";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/microbuffer/-/microbuffer-1.0.0.tgz";
-        sha1 = "8b3832ed40c87d51f47bb234913a698a756d19d2";
-      };
-    };
     "microee-0.0.6" = {
       name = "microee";
       packageName = "microee";
@@ -39250,15 +39890,6 @@ let
         sha512 = "MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==";
       };
     };
-    "micromatch-4.0.2" = {
-      name = "micromatch";
-      packageName = "micromatch";
-      version = "4.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz";
-        sha512 = "y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==";
-      };
-    };
     "micromatch-4.0.4" = {
       name = "micromatch";
       packageName = "micromatch";
@@ -39367,15 +39998,6 @@ let
         sha512 = "BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==";
       };
     };
-    "mime-db-1.43.0" = {
-      name = "mime-db";
-      packageName = "mime-db";
-      version = "1.43.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz";
-        sha512 = "+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==";
-      };
-    };
     "mime-db-1.44.0" = {
       name = "mime-db";
       packageName = "mime-db";
@@ -39385,13 +40007,13 @@ let
         sha512 = "/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==";
       };
     };
-    "mime-db-1.48.0" = {
+    "mime-db-1.49.0" = {
       name = "mime-db";
       packageName = "mime-db";
-      version = "1.48.0";
+      version = "1.49.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.48.0.tgz";
-        sha512 = "FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ==";
+        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz";
+        sha512 = "CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==";
       };
     };
     "mime-types-2.1.18" = {
@@ -39403,15 +40025,6 @@ let
         sha512 = "lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==";
       };
     };
-    "mime-types-2.1.26" = {
-      name = "mime-types";
-      packageName = "mime-types";
-      version = "2.1.26";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz";
-        sha512 = "01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==";
-      };
-    };
     "mime-types-2.1.27" = {
       name = "mime-types";
       packageName = "mime-types";
@@ -39421,13 +40034,13 @@ let
         sha512 = "JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==";
       };
     };
-    "mime-types-2.1.31" = {
+    "mime-types-2.1.32" = {
       name = "mime-types";
       packageName = "mime-types";
-      version = "2.1.31";
+      version = "2.1.32";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.31.tgz";
-        sha512 = "XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==";
+        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz";
+        sha512 = "hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==";
       };
     };
     "mimic-fn-1.2.0" = {
@@ -39934,6 +40547,15 @@ let
         sha512 = "hJaO0mwDXmZS4ghXsvPVriOhsxQ7ofcpQdm8dE+jISUOKopitvnXFQmpRR7jd2K6VBG6E26gU3IAbXXGIbu4sQ==";
       };
     };
+    "mocha-9.1.0" = {
+      name = "mocha";
+      packageName = "mocha";
+      version = "9.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mocha/-/mocha-9.1.0.tgz";
+        sha512 = "Kjg/XxYOFFUi0h/FwMOeb6RoroiZ+P1yOfya6NK7h3dNhahrJx1r2XIT3ge4ZQvJM86mdjNA+W5phqRQh7DwCg==";
+      };
+    };
     "mock-require-3.0.3" = {
       name = "mock-require";
       packageName = "mock-require";
@@ -39988,15 +40610,6 @@ let
         sha1 = "114c949673e2a8a35e9d35788527aa37b679da2b";
       };
     };
-    "moize-5.4.7" = {
-      name = "moize";
-      packageName = "moize";
-      version = "5.4.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/moize/-/moize-5.4.7.tgz";
-        sha512 = "7PZH8QFJ51cIVtDv7wfUREBd3gL59JB0v/ARA3RI9zkSRa9LyGjS1Bdldii2J1/NQXRQ/3OOVOSdnZrCcVaZlw==";
-      };
-    };
     "moize-6.0.3" = {
       name = "moize";
       packageName = "moize";
@@ -40132,15 +40745,6 @@ let
         sha1 = "be2c005fda32e0b29af1f05d7c4b33214c701f92";
       };
     };
-    "move-file-1.2.0" = {
-      name = "move-file";
-      packageName = "move-file";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/move-file/-/move-file-1.2.0.tgz";
-        sha512 = "USHrRmxzGowUWAGBbJPdFjHzEqtxDU03pLHY0Rfqgtnq+q8FOIs8wvkkf+Udmg77SJKs47y9sI0jJvQeYsmiCA==";
-      };
-    };
     "move-file-2.1.0" = {
       name = "move-file";
       packageName = "move-file";
@@ -40294,6 +40898,15 @@ let
         sha512 = "xY8pX7V+ybyUpbYMxtjM9KAiD9ixtg5/JkeKUTD6xilfDv0vzzOFcCp4Ljb1UU3tSOM3VTZtKo63OmzOrGi3Cg==";
       };
     };
+    "multer-1.4.3" = {
+      name = "multer";
+      packageName = "multer";
+      version = "1.4.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/multer/-/multer-1.4.3.tgz";
+        sha512 = "np0YLKncuZoTzufbkM6wEKp68EhWJXcU6fq6QqrSwkckd2LlMgd1UqhUJLj6NS/5sZ8dE8LYDWslsltJznnXlg==";
+      };
+    };
     "multi-progress-2.0.0" = {
       name = "multi-progress";
       packageName = "multi-progress";
@@ -40384,15 +40997,6 @@ let
         sha1 = "9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b";
       };
     };
-    "multimatch-4.0.0" = {
-      name = "multimatch";
-      packageName = "multimatch";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/multimatch/-/multimatch-4.0.0.tgz";
-        sha512 = "lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==";
-      };
-    };
     "multimatch-5.0.0" = {
       name = "multimatch";
       packageName = "multimatch";
@@ -40483,6 +41087,15 @@ let
         sha1 = "ca17e1eafb3b9155b5e4c21062210e348a9dbe91";
       };
     };
+    "murmurhash-js-1.0.0" = {
+      name = "murmurhash-js";
+      packageName = "murmurhash-js";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/murmurhash-js/-/murmurhash-js-1.0.0.tgz";
+        sha1 = "b06278e21fc6c37fa5313732b0412bcb6ae15f51";
+      };
+    };
     "mustache-2.3.2" = {
       name = "mustache";
       packageName = "mustache";
@@ -40681,6 +41294,15 @@ let
         sha512 = "M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==";
       };
     };
+    "nan-2.15.0" = {
+      name = "nan";
+      packageName = "nan";
+      version = "2.15.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz";
+        sha512 = "8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==";
+      };
+    };
     "nan-2.3.5" = {
       name = "nan";
       packageName = "nan";
@@ -40762,6 +41384,15 @@ let
         sha512 = "FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==";
       };
     };
+    "nanoid-3.1.25" = {
+      name = "nanoid";
+      packageName = "nanoid";
+      version = "3.1.25";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz";
+        sha512 = "rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==";
+      };
+    };
     "nanoiterator-1.2.1" = {
       name = "nanoiterator";
       packageName = "nanoiterator";
@@ -40870,15 +41501,6 @@ let
         sha1 = "20a318c30cb45f71fe7adfbf7b21c99c1472ef11";
       };
     };
-    "native-url-0.2.6" = {
-      name = "native-url";
-      packageName = "native-url";
-      version = "0.2.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/native-url/-/native-url-0.2.6.tgz";
-        sha512 = "k4bDC87WtgrdD362gZz6zoiXQrl40kYlBmpfmSjwRO1VU0V5ccwJTlxuE72F6m3V0vc1xOf6n3UCP9QyerRqmA==";
-      };
-    };
     "natives-1.1.6" = {
       name = "natives";
       packageName = "natives";
@@ -41086,22 +41708,13 @@ let
         sha512 = "4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg==";
       };
     };
-    "needle-2.6.0" = {
-      name = "needle";
-      packageName = "needle";
-      version = "2.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/needle/-/needle-2.6.0.tgz";
-        sha512 = "KKYdza4heMsEfSWD7VPUIz3zX2XDwOyX2d+geb4vrERZMT5RMU6ujjaD+I5Yr54uZxQ2w6XRTAhHBbSCyovZBg==";
-      };
-    };
-    "needle-2.8.0" = {
+    "needle-2.9.0" = {
       name = "needle";
       packageName = "needle";
-      version = "2.8.0";
+      version = "2.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/needle/-/needle-2.8.0.tgz";
-        sha512 = "ZTq6WYkN/3782H1393me3utVYdq2XyqNUFBsprEE3VMAT0+hP/cItpnITpqsY6ep2yeFE4Tqtqwc74VqUlUYtw==";
+        url = "https://registry.npmjs.org/needle/-/needle-2.9.0.tgz";
+        sha512 = "UBLC4P8w9to3rAhWOQYXIXzTUio9yVnDzIeKxfGbF+Hngy+2bXTqqFK+6nF42EAQKfJdezXK6vzMsefUa1Y3ag==";
       };
     };
     "negotiator-0.3.0" = {
@@ -41186,22 +41799,31 @@ let
         sha512 = "AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug==";
       };
     };
-    "netlify-7.0.1" = {
+    "netlify-8.0.0" = {
       name = "netlify";
       packageName = "netlify";
-      version = "7.0.1";
+      version = "8.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/netlify/-/netlify-8.0.0.tgz";
+        sha512 = "BiQblBf85/GmerTZYxVH/1A4/O8qBvg0Qr8QX0MvxjAvO3j+jDUk1PSudMxNgJjU1zFw5pKM2/DBk70hP5gt+Q==";
+      };
+    };
+    "netlify-headers-parser-4.0.1" = {
+      name = "netlify-headers-parser";
+      packageName = "netlify-headers-parser";
+      version = "4.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/netlify/-/netlify-7.0.1.tgz";
-        sha512 = "Gd1aexpJ3RrOzkssdE8ipS67PuppOAkJNhRqQPp2in2XnJKPm5kvYonYMNVadasSFlNdmVCk9nELV3TnbAfklw==";
+        url = "https://registry.npmjs.org/netlify-headers-parser/-/netlify-headers-parser-4.0.1.tgz";
+        sha512 = "Wq1ZKXLv8xnTmzWhjbkFnzIAAmas7GhtrFJXCeMfEoeGthuSekcEz+IMfpSDjhL/X3Ls5YIk9SuNUf/5/+TlEQ==";
       };
     };
-    "netlify-redirect-parser-8.1.0" = {
+    "netlify-redirect-parser-11.0.2" = {
       name = "netlify-redirect-parser";
       packageName = "netlify-redirect-parser";
-      version = "8.1.0";
+      version = "11.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/netlify-redirect-parser/-/netlify-redirect-parser-8.1.0.tgz";
-        sha512 = "y5uzRHSyHVDDIgcFwvRRIELliBc7SKFuvuyVgsIMZWaNDCKNO4Etk2CIeGlJG+++g7NFD/XlYJaqgw2jJkqe4A==";
+        url = "https://registry.npmjs.org/netlify-redirect-parser/-/netlify-redirect-parser-11.0.2.tgz";
+        sha512 = "ngGSxRUv8dsao586J0MsfQFpi66TnIlYND1KRl1vCgjuuMBzvO9WbV8maqJA9d0G6f9NVKb+LqufmOQj4AkkFw==";
       };
     };
     "netlify-redirector-0.2.1" = {
@@ -41231,6 +41853,15 @@ let
         sha512 = "dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==";
       };
     };
+    "netrc-0.1.4" = {
+      name = "netrc";
+      packageName = "netrc";
+      version = "0.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/netrc/-/netrc-0.1.4.tgz";
+        sha1 = "6be94fcaca8d77ade0a9670dc460914c94472444";
+      };
+    };
     "netrc-parser-3.1.6" = {
       name = "netrc-parser";
       packageName = "netrc-parser";
@@ -41474,6 +42105,15 @@ let
         sha512 = "TBf8vh0NTD9DxG3oXQ1j/DCiREqDUI2khzJScZyq9w5AiYb+682WSjhl1f9Z1BJEjwWY7GFHQIpxxFVJ53OMfw==";
       };
     };
+    "node-bindgen-loader-1.0.1" = {
+      name = "node-bindgen-loader";
+      packageName = "node-bindgen-loader";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-bindgen-loader/-/node-bindgen-loader-1.0.1.tgz";
+        sha512 = "j6kNHKSGLye9qpR/OQh1BhDqyfHqNUIEGicx4NFZLUtseYagfPLLn2qW7MPssbAuAmGvAqNmAwYcW1O1uvsXZA==";
+      };
+    };
     "node-bitmap-0.0.1" = {
       name = "node-bitmap";
       packageName = "node-bitmap";
@@ -41528,6 +42168,15 @@ let
         sha512 = "Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw==";
       };
     };
+    "node-emoji-1.11.0" = {
+      name = "node-emoji";
+      packageName = "node-emoji";
+      version = "1.11.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz";
+        sha512 = "wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==";
+      };
+    };
     "node-emoji-git+https://github.com/laurent22/node-emoji.git" = {
       name = "node-emoji";
       packageName = "node-emoji";
@@ -41655,13 +42304,13 @@ let
         sha512 = "CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==";
       };
     };
-    "node-gyp-8.1.0" = {
+    "node-gyp-8.2.0" = {
       name = "node-gyp";
       packageName = "node-gyp";
-      version = "8.1.0";
+      version = "8.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-gyp/-/node-gyp-8.1.0.tgz";
-        sha512 = "o2elh1qt7YUp3lkMwY3/l4KF3j/A3fI/Qt4NH+CQQgPJdqGE9y7qnP84cjIWN27Q0jJkrSAhCVDg+wBVNBYdBg==";
+        url = "https://registry.npmjs.org/node-gyp/-/node-gyp-8.2.0.tgz";
+        sha512 = "KG8SdcoAnw2d6augGwl1kOayALUrXW/P2uOAm2J2+nmW/HjZo7y+8TDg7LejxbekOOSv3kzhq+NSUYkIDAX8eA==";
       };
     };
     "node-gyp-build-3.9.0" = {
@@ -41772,13 +42421,13 @@ let
         sha512 = "fPNFIp2hF/Dq7qLDzSg4vZ0J4e9v60gJR+Qx7RbjbWqzPDdEqeVpEx5CFeDAELIl+A/woaaNn1fQ5nEVerMxJg==";
       };
     };
-    "node-object-hash-2.3.7" = {
+    "node-object-hash-2.3.9" = {
       name = "node-object-hash";
       packageName = "node-object-hash";
-      version = "2.3.7";
+      version = "2.3.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-object-hash/-/node-object-hash-2.3.7.tgz";
-        sha512 = "ybV3ZKZZoHJPSelxgRY5LYRHQToMtxvJxNbkY8WtWCy5Z/t3V0gyy/6O6kGoh0PrzZIATxVVDG2q+eM6iZMjKQ==";
+        url = "https://registry.npmjs.org/node-object-hash/-/node-object-hash-2.3.9.tgz";
+        sha512 = "NQt1YURrMPeQGZzW4lRbshUEF2PqxJEZYY4XJ/L+q33dI8yPYvnb7QXmwUcl1EuXluzeY4TEV+H6H0EmtI6f5g==";
       };
     };
     "node-persist-2.1.0" = {
@@ -41835,13 +42484,13 @@ let
         sha512 = "dBljNubVsolJkgfXUAF3KrCAO+hi5AXz+cftGjfHT76PyVB9pFUbAgTrkjZmKciC/B/14kEV5Ds+SwonqyTMfg==";
       };
     };
-    "node-releases-1.1.73" = {
+    "node-releases-1.1.75" = {
       name = "node-releases";
       packageName = "node-releases";
-      version = "1.1.73";
+      version = "1.1.75";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz";
-        sha512 = "uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==";
+        url = "https://registry.npmjs.org/node-releases/-/node-releases-1.1.75.tgz";
+        sha512 = "Qe5OUajvqrqDSy6wrWFmMwfJ0jVgwiw4T3KqmbTcZ62qW0gQkheXYhcFM1+lOVcGUoRxcEcfyvFMAnDgaF1VWw==";
       };
     };
     "node-source-walk-4.2.0" = {
@@ -41907,6 +42556,15 @@ let
         sha1 = "b040eb0923968afabf8d32fb1f17f1167fdab907";
       };
     };
+    "node-version-1.2.0" = {
+      name = "node-version";
+      packageName = "node-version";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-version/-/node-version-1.2.0.tgz";
+        sha512 = "ma6oU4Sk0qOoKEAymVoTvk8EdXEobdS7m/mAGhDJ8Rouugho48crHBORAmy5BoOcv8wraPM6xumapQp5hl4iIQ==";
+      };
+    };
     "node-version-alias-1.0.1" = {
       name = "node-version-alias";
       packageName = "node-version-alias";
@@ -41970,6 +42628,15 @@ let
         sha512 = "FbuXC+lK+GU2+63D1kC1ETiZo+Z7SIi7B+mxKTCH1byrh6WFvfBCN/wpherFz0a0bjGd7EKTst/cz0yLeNngug==";
       };
     };
+    "nofilter-3.0.3" = {
+      name = "nofilter";
+      packageName = "nofilter";
+      version = "3.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nofilter/-/nofilter-3.0.3.tgz";
+        sha512 = "TN/MCrQmXQk5DyUJ8TGUq1Il8rv4fTsjddLmMopV006QP8DMkglmGgYfQKD5620vXLRXfr8iGI6ZZ4/ZWld2cQ==";
+      };
+    };
     "noise-peer-2.1.1" = {
       name = "noise-peer";
       packageName = "noise-peer";
@@ -42105,13 +42772,13 @@ let
         sha512 = "/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==";
       };
     };
-    "normalize-package-data-3.0.2" = {
+    "normalize-package-data-3.0.3" = {
       name = "normalize-package-data";
       packageName = "normalize-package-data";
-      version = "3.0.2";
+      version = "3.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.2.tgz";
-        sha512 = "6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg==";
+        url = "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz";
+        sha512 = "p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==";
       };
     };
     "normalize-path-2.1.1" = {
@@ -42204,6 +42871,15 @@ let
         sha512 = "DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==";
       };
     };
+    "normalize.css-8.0.1" = {
+      name = "normalize.css";
+      packageName = "normalize.css";
+      version = "8.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/normalize.css/-/normalize.css-8.0.1.tgz";
+        sha512 = "qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg==";
+      };
+    };
     "now-and-later-2.0.1" = {
       name = "now-and-later";
       packageName = "now-and-later";
@@ -42465,6 +43141,15 @@ let
         sha512 = "2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==";
       };
     };
+    "npmlog-5.0.0" = {
+      name = "npmlog";
+      packageName = "npmlog";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npmlog/-/npmlog-5.0.0.tgz";
+        sha512 = "ftpIiLjerL2tUg3dCqN8pOSoB90gqZlzv/gaZoxHaKjeLClrfJIEQ1Pdxi6qSzflz916Bljdy8dTWQ4J7hAFSQ==";
+      };
+    };
     "nprogress-0.2.0" = {
       name = "nprogress";
       packageName = "nprogress";
@@ -42474,6 +43159,15 @@ let
         sha1 = "cb8f34c53213d895723fcbab907e9422adbcafb1";
       };
     };
+    "nspell-2.1.5" = {
+      name = "nspell";
+      packageName = "nspell";
+      version = "2.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nspell/-/nspell-2.1.5.tgz";
+        sha512 = "PSStyugKMiD9mHmqI/CR5xXrSIGejUXPlo88FBRq5Og1kO5QwQ5Ilu8D8O5I/SHpoS+mibpw6uKA8rd3vXd2Sg==";
+      };
+    };
     "nssocket-0.6.0" = {
       name = "nssocket";
       packageName = "nssocket";
@@ -42781,15 +43475,6 @@ let
         sha512 = "wqdhLpfCUbEsoEwl3FXwGyv8ief1k/1aUdIPCqVnupM6e8l63BEJdiF/0swtn04/8p05tG/T0FrpTlfwvljOdw==";
       };
     };
-    "object-inspect-1.7.0" = {
-      name = "object-inspect";
-      packageName = "object-inspect";
-      version = "1.7.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz";
-        sha512 = "a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==";
-      };
-    };
     "object-is-1.1.5" = {
       name = "object-is";
       packageName = "object-is";
@@ -42961,6 +43646,15 @@ let
         sha512 = "eJJDYkhJFFbBBAxeh8xW+weHlkI28n2ZdQV/J/DNfWfSKlGEf2xcfAbZTv3riEXHAhL9SVOTs2pRmXiSTf78xg==";
       };
     };
+    "obliterator-1.6.1" = {
+      name = "obliterator";
+      packageName = "obliterator";
+      version = "1.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/obliterator/-/obliterator-1.6.1.tgz";
+        sha512 = "9WXswnqINnnhOG/5SLimUlzuU1hFJUc8zkwyD59Sd+dPOMf05PmnYG/d6Q7HZ+KmgkZJa1PxRso6QdM3sTNHig==";
+      };
+    };
     "observ-0.2.0" = {
       name = "observ";
       packageName = "observ";
@@ -43015,13 +43709,13 @@ let
         sha512 = "0HGaSR/E/seIhSzFxLkh0QqckuNSre4iGqSElZRUv1hVHH2YgrZ7xtQL9McwL8o1fh6HqkzykjUx0Iy2haVIUg==";
       };
     };
-    "office-ui-fabric-react-7.173.1" = {
+    "office-ui-fabric-react-7.174.1" = {
       name = "office-ui-fabric-react";
       packageName = "office-ui-fabric-react";
-      version = "7.173.1";
+      version = "7.174.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/office-ui-fabric-react/-/office-ui-fabric-react-7.173.1.tgz";
-        sha512 = "7FKJ4lVXGkVRQccPz3XDeCAysE0h687elFyaRir3BUVAtkqoye9IB7IF/68SsUQahv6Q0LI3YTWym0IG/tlBEQ==";
+        url = "https://registry.npmjs.org/office-ui-fabric-react/-/office-ui-fabric-react-7.174.1.tgz";
+        sha512 = "zRUpUqZtVncvb+Tt+5SVNEcI3MfpwTLU+v2u7ZdF9ukPbD+UBKJSkIbydyO0P2S5jVizgdqioSOarfUA70ICvw==";
       };
     };
     "omggif-1.0.10" = {
@@ -43195,13 +43889,13 @@ let
         sha512 = "fvaSZRzprpwLFge/mcwE0CItfniNisVNamDdMK1FQUjh4ArQZ8ZWSkDaJbZc3XaANKZHq0xIa8NJpZ2HSe3oXA==";
       };
     };
-    "oo-ascii-tree-1.31.0" = {
+    "oo-ascii-tree-1.34.0" = {
       name = "oo-ascii-tree";
       packageName = "oo-ascii-tree";
-      version = "1.31.0";
+      version = "1.34.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/oo-ascii-tree/-/oo-ascii-tree-1.31.0.tgz";
-        sha512 = "gNb2MyP1ZcF7cX0WgsAjYe4gZcx7BMLBWKE2TJZZbQ9/j4D8gbJh5Aq6RlXBgev74ODlgAVVcPr2wKU4Dufhqg==";
+        url = "https://registry.npmjs.org/oo-ascii-tree/-/oo-ascii-tree-1.34.0.tgz";
+        sha512 = "gAY+yfKCskAk7mkfI8nOhkP12iTGE7b8UxnQuscN80vghrozt/E/2rLeKKMJFagJlm/NnnUmBA0tBQZ3oPHEKg==";
       };
     };
     "opal-runtime-1.0.11" = {
@@ -43294,6 +43988,15 @@ let
         sha512 = "wRqgsLfZB3LXx8l3RfKo8icdDPDucnrRD2EkygTMiUv5W1/OdZJmo1ChgD6FjQUZH/7U67IxEjnXPEWfnu+dRw==";
       };
     };
+    "openapi-default-setter-8.0.0" = {
+      name = "openapi-default-setter";
+      packageName = "openapi-default-setter";
+      version = "8.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/openapi-default-setter/-/openapi-default-setter-8.0.0.tgz";
+        sha512 = "Ro0hg8w+lTPe18r5noVUjHgYMXZ3mPe5evW6fA0hdahqLns444wR/Cuvcykb/FHteqaq0WooQrsoKObO4lIHWA==";
+      };
+    };
     "openapi-framework-0.26.0" = {
       name = "openapi-framework";
       packageName = "openapi-framework";
@@ -43312,6 +44015,15 @@ let
         sha512 = "t+sGVNMs2apX6d/rf5oq/3S6tCyBTgCjgFY0EDEIKKWepO4v3wM+kjy/Ve9iU92Ui5GeWbGR6ceFKY6VP/OKfQ==";
       };
     };
+    "openapi-framework-8.0.0" = {
+      name = "openapi-framework";
+      packageName = "openapi-framework";
+      version = "8.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/openapi-framework/-/openapi-framework-8.0.0.tgz";
+        sha512 = "T9rP8onTa5xU+7+FCiiBO/p0DLjbHlcfhu+8yUEWFlmlCyihqjbsH0YiH7cCQYNOLgKZUCQZOaxJDiYBlVIaQQ==";
+      };
+    };
     "openapi-jsonschema-parameters-1.2.0" = {
       name = "openapi-jsonschema-parameters";
       packageName = "openapi-jsonschema-parameters";
@@ -43330,6 +44042,15 @@ let
         sha512 = "hnhuSbyB0gwA2KrDmMve0A+XC3rqhiQwlvOpZ+kGDz9nWqgLgFJA582LpA4V1W+nI3WruS0nEkAvfG8EHKD+qQ==";
       };
     };
+    "openapi-jsonschema-parameters-8.0.0" = {
+      name = "openapi-jsonschema-parameters";
+      packageName = "openapi-jsonschema-parameters";
+      version = "8.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/openapi-jsonschema-parameters/-/openapi-jsonschema-parameters-8.0.0.tgz";
+        sha512 = "yBBShgxPyo1M33q6RHNAvhTH6AydMDyDl7e89YUA/VkAf1wrU2HO/7Nok65R0vGbZFF43yml4i8sIak3GGnqVA==";
+      };
+    };
     "openapi-request-coercer-2.4.0" = {
       name = "openapi-request-coercer";
       packageName = "openapi-request-coercer";
@@ -43348,6 +44069,15 @@ let
         sha512 = "wvrh3xSEpmgKaHiAnVhPxL6Yp9IXW+NEI192z6X5RiU6xe+jszn6A3v8vJcceyNsvDBA4tkm4I3mFndDlhc6Zw==";
       };
     };
+    "openapi-request-coercer-8.0.0" = {
+      name = "openapi-request-coercer";
+      packageName = "openapi-request-coercer";
+      version = "8.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/openapi-request-coercer/-/openapi-request-coercer-8.0.0.tgz";
+        sha512 = "CTWZJT6rAPiLO7kvBpN9CJ7TXbCTlZzE7Z/Id/gegK/5FlxYIoB+ybx4tYC4IwJEjfm/lxY7Xv2CRp6RLJfKPw==";
+      };
+    };
     "openapi-request-validator-4.2.0" = {
       name = "openapi-request-validator";
       packageName = "openapi-request-validator";
@@ -43366,6 +44096,15 @@ let
         sha512 = "0rnslY82Btw5nM6rUEuXkvupav4ujvP+e9WziZvcMrE+VZ6IxRGDP8F7w0XmtPBwMS2nJGgt/J7BnRXAFTx5tw==";
       };
     };
+    "openapi-request-validator-8.0.0" = {
+      name = "openapi-request-validator";
+      packageName = "openapi-request-validator";
+      version = "8.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/openapi-request-validator/-/openapi-request-validator-8.0.0.tgz";
+        sha512 = "7gqNp4MvYu+pbdbq8Pw0qMsKqlhWQeYdKCHiu1OeOgBG8YkjlNGGeTuX028TsBEB/jGw7PgMCggaHuMl/W3bmQ==";
+      };
+    };
     "openapi-response-validator-4.0.0" = {
       name = "openapi-response-validator";
       packageName = "openapi-response-validator";
@@ -43384,6 +44123,15 @@ let
         sha512 = "Su8jA45PhegUgJnEAT15DYt2spPJgvjyTtXqg+Lw5AtGePfcQskV6ACEzsL0XPoAXIFf09Vx6sBor9pek+tl+Q==";
       };
     };
+    "openapi-response-validator-8.0.0" = {
+      name = "openapi-response-validator";
+      packageName = "openapi-response-validator";
+      version = "8.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/openapi-response-validator/-/openapi-response-validator-8.0.0.tgz";
+        sha512 = "h41hcEIgT7ldowLafcWlaE2m3+ss9IgRRrBfEzTtdBab2SyefYeXBV5keicL/muC1msmhT2p2rftjQnvfQN2jA==";
+      };
+    };
     "openapi-sampler-1.1.0" = {
       name = "openapi-sampler";
       packageName = "openapi-sampler";
@@ -43411,6 +44159,15 @@ let
         sha512 = "XT8NM5e/zBBa/cydTS1IeYkCPzJp9oixvt9Y1lEx+2gsCTOooNxw9x/KEivtWMSokne7X1aR+VtsYHQtNNOSyA==";
       };
     };
+    "openapi-schema-validator-8.0.0" = {
+      name = "openapi-schema-validator";
+      packageName = "openapi-schema-validator";
+      version = "8.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/openapi-schema-validator/-/openapi-schema-validator-8.0.0.tgz";
+        sha512 = "cxacCVE/pIhlfzDPjhMREEVgWsFFUxU/+bKU258LKDmgXcdbbajtWtRT63VarXPnQ0sS4Bhl3V4ZKWxdJMiOXA==";
+      };
+    };
     "openapi-security-handler-2.0.4" = {
       name = "openapi-security-handler";
       packageName = "openapi-security-handler";
@@ -43429,6 +44186,15 @@ let
         sha512 = "6wC2MXUv/FOy6uK6kkvPx1Pmh4WI3rpj7fsA1jwKCIPMwVcaJQA7/4Cfw3VWMNF0mVz7Nlxt9/aiziXHSOfiLg==";
       };
     };
+    "openapi-security-handler-8.0.0" = {
+      name = "openapi-security-handler";
+      packageName = "openapi-security-handler";
+      version = "8.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/openapi-security-handler/-/openapi-security-handler-8.0.0.tgz";
+        sha512 = "XWD15AQSZA3OQFS1gqupC9KoxOuUacyG8PUEna91sihPvZdO5lVcAfqHkJ1tqOKcn5k8Y8EsSoCwlr0d5njCaw==";
+      };
+    };
     "openapi-to-graphql-2.2.5" = {
       name = "openapi-to-graphql";
       packageName = "openapi-to-graphql";
@@ -43474,6 +44240,15 @@ let
         sha512 = "olbaNxz12R27+mTyJ/ZAFEfUruauHH27AkeQHDHRq5AF0LdNkK1SSV7EourXQDK+4aX7dv2HtyirAGK06WMAsA==";
       };
     };
+    "openapi-types-8.0.0" = {
+      name = "openapi-types";
+      packageName = "openapi-types";
+      version = "8.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/openapi-types/-/openapi-types-8.0.0.tgz";
+        sha512 = "dcHYyCDOAy4QQTrur5Sn1L3lPVspB7rd04Rw/Q7AsMvfV797IiWgmKziFCbq8VhnBoREU/SPPSBDxtK9Biwa1g==";
+      };
+    };
     "openapi3-ts-2.0.1" = {
       name = "openapi3-ts";
       packageName = "openapi3-ts";
@@ -43573,6 +44348,15 @@ let
         sha512 = "I9PKfIZC+e4RXZ/qr1RhgyCnGgYX0UEIlXgWnCOVACIvFgaC9rz6Won7xbdhoHrd8IIhV7YEpHjreNUNkqCGkQ==";
       };
     };
+    "optimism-0.16.1" = {
+      name = "optimism";
+      packageName = "optimism";
+      version = "0.16.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/optimism/-/optimism-0.16.1.tgz";
+        sha512 = "64i+Uw3otrndfq5kaoGNoY7pvOhSsjFEN4bdEFh80MWVk/dbgJfMv7VFDeCT8LxNAlEVhQmdVEbfE7X2nWNIIg==";
+      };
+    };
     "optimist-0.2.8" = {
       name = "optimist";
       packageName = "optimist";
@@ -43825,13 +44609,13 @@ let
         sha512 = "h8L+8aNjNcMpo/mAIBPn5PXCM16iyPGjHNWo6U1YO8sJTMHtEtyczI6QJnLoplswm6goopQkqc7OAnjhWcugVg==";
       };
     };
-    "os-name-4.0.0" = {
+    "os-name-4.0.1" = {
       name = "os-name";
       packageName = "os-name";
-      version = "4.0.0";
+      version = "4.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/os-name/-/os-name-4.0.0.tgz";
-        sha512 = "caABzDdJMbtykt7GmSogEat3faTKQhmZf0BS5l/pZGmP0vPWQjXWqOhbLyK+b6j2/DQPmEvYdzLXJXXLJNVDNg==";
+        url = "https://registry.npmjs.org/os-name/-/os-name-4.0.1.tgz";
+        sha512 = "xl9MAoU97MH1Xt5K9ERft2YfCAoaO6msy1OBA0ozxEC0x0TmIoE6K3QvgJMMZA9yKGLmHXNY/YZoDbiGDj4zYw==";
       };
     };
     "os-shim-0.1.3" = {
@@ -44221,6 +45005,15 @@ let
         sha512 = "oepllyG9gX1qH4Sm20YAKxg1GA7L7puhvGnTfimi31P07zSIj7SDV6YtuAx9nbJF51DES+2CIIRkXs8GKqWJxA==";
       };
     };
+    "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-some-4.1.0" = {
       name = "p-some";
       packageName = "p-some";
@@ -44320,6 +45113,15 @@ let
         sha512 = "ejNgYm2HTXSIYX9eFlkvqFp8hyJ374uDf0Zq5YUAifiSh1D6fo+iBivQZirGvVv8dCYUsLhmLBRhlAYvBKI5+Q==";
       };
     };
+    "pac-proxy-agent-5.0.0" = {
+      name = "pac-proxy-agent";
+      packageName = "pac-proxy-agent";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-5.0.0.tgz";
+        sha512 = "CcFG3ZtnxO8McDigozwE3AqAw15zDvGH+OjXO4kzf7IkEKkQ4gxQ+3sdF50WmhQ4P/bVusXcqNE2S3XrNURwzQ==";
+      };
+    };
     "pac-resolver-4.2.0" = {
       name = "pac-resolver";
       packageName = "pac-resolver";
@@ -44329,6 +45131,15 @@ let
         sha512 = "rPACZdUyuxT5Io/gFKUeeZFfE5T7ve7cAkE5TUZRRfuKP0u5Hocwe48X7ZEm6mYB+bTB0Qf+xlVlA/RM/i6RCQ==";
       };
     };
+    "pac-resolver-5.0.0" = {
+      name = "pac-resolver";
+      packageName = "pac-resolver";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pac-resolver/-/pac-resolver-5.0.0.tgz";
+        sha512 = "H+/A6KitiHNNW+bxBKREk2MCGSxljfqRX76NjummWEYIat7ldVXRU3dhRIE3iXZ0nvGBk6smv3nntxKkzRL8NA==";
+      };
+    };
     "package-json-1.2.0" = {
       name = "package-json";
       packageName = "package-json";
@@ -44419,15 +45230,6 @@ let
         sha512 = "LUL4NK7sz01jdSUdCu3z1LyphCiFdQaFouaEDsAWmJpzS0lbeNfvZoX4bi1Tm1ilzheK5VAoD96QskDCZQr+jA==";
       };
     };
-    "pacote-11.3.4" = {
-      name = "pacote";
-      packageName = "pacote";
-      version = "11.3.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pacote/-/pacote-11.3.4.tgz";
-        sha512 = "RfahPCunM9GI7ryJV/zY0bWQiokZyLqaSNHXtbNSoLb7bwTvBbJBEyCJ01KWs4j1Gj7GmX8crYXQ1sNX6P2VKA==";
-      };
-    };
     "pacote-11.3.5" = {
       name = "pacote";
       packageName = "pacote";
@@ -44563,33 +45365,6 @@ let
         sha1 = "d3460bf1ddd0dfaeed42da754242e65fb684a81f";
       };
     };
-    "parse-bmfont-ascii-1.0.6" = {
-      name = "parse-bmfont-ascii";
-      packageName = "parse-bmfont-ascii";
-      version = "1.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz";
-        sha1 = "11ac3c3ff58f7c2020ab22769079108d4dfa0285";
-      };
-    };
-    "parse-bmfont-binary-1.0.6" = {
-      name = "parse-bmfont-binary";
-      packageName = "parse-bmfont-binary";
-      version = "1.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz";
-        sha1 = "d038b476d3e9dd9db1e11a0b0e53a22792b69006";
-      };
-    };
-    "parse-bmfont-xml-1.1.4" = {
-      name = "parse-bmfont-xml";
-      packageName = "parse-bmfont-xml";
-      version = "1.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/parse-bmfont-xml/-/parse-bmfont-xml-1.1.4.tgz";
-        sha512 = "bjnliEOmGv3y1aMEfREMBJ9tfL3WR0i0CKPj61DnSLaoxWR3nLrsQrEbCId/8rF4NyRF0cCqisSVXyQYWM+mCQ==";
-      };
-    };
     "parse-conflict-json-1.1.1" = {
       name = "parse-conflict-json";
       packageName = "parse-conflict-json";
@@ -44671,13 +45446,13 @@ let
         sha1 = "b2c376cfb11f35513badd173ef0bb6e3a388391c";
       };
     };
-    "parse-headers-2.0.3" = {
+    "parse-headers-2.0.4" = {
       name = "parse-headers";
       packageName = "parse-headers";
-      version = "2.0.3";
+      version = "2.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.3.tgz";
-        sha512 = "QhhZ+DCCit2Coi2vmAKbq5RGTRcQUOE2+REgv8vdyu7MnYx2eZztegqtTx99TZ86GTIwqiy3+4nQTWZ2tgmdCA==";
+        url = "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.4.tgz";
+        sha512 = "psZ9iZoCNFLrgRjZ1d8mn0h9WRqJwFxM9q3x7iUjN/YT2OksthDJ5TiPCu2F38kS4zutqfW+YdVVkBZZx3/1aw==";
       };
     };
     "parse-help-1.0.0" = {
@@ -44734,15 +45509,6 @@ let
         sha512 = "TYKL+K98dcAWoCw/Ac1yrPviU8Trk+/gmjQVaoWEFDZmVD4KRg6c/80xKqNNFQObo2mTONgF8trzAf2UTwKafw==";
       };
     };
-    "parse-link-header-1.0.1" = {
-      name = "parse-link-header";
-      packageName = "parse-link-header";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/parse-link-header/-/parse-link-header-1.0.1.tgz";
-        sha1 = "bedfe0d2118aeb84be75e7b025419ec8a61140a7";
-      };
-    };
     "parse-ms-2.1.0" = {
       name = "parse-ms";
       packageName = "parse-ms";
@@ -44824,13 +45590,13 @@ let
         sha512 = "yy7UTSmliOT/7Yl+P4hwwW2W7PbCTAMcD0lasaVG+k4/2laj42YWzLm468bLFGDoFPIb29g3BuwBcA3gLopKww==";
       };
     };
-    "parse-torrent-9.1.3" = {
+    "parse-torrent-9.1.4" = {
       name = "parse-torrent";
       packageName = "parse-torrent";
-      version = "9.1.3";
+      version = "9.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/parse-torrent/-/parse-torrent-9.1.3.tgz";
-        sha512 = "/Yr951CvJM8S6TjMaqrsmMxeQEAjDeCX+MZ3hGXXc7DG2wqzp/rzOsHtDzIVqN6NsFRCqy6wYLF/W7Sgvq7bXw==";
+        url = "https://registry.npmjs.org/parse-torrent/-/parse-torrent-9.1.4.tgz";
+        sha512 = "NSlG8ewolqfcEWevUUsrpvxzVWYGaKWwPHMcXTAV2qYYo6pPugVOacQXt8uDlEYh23Ituz+A9pAZK5YaXTV8Pg==";
       };
     };
     "parse-torrent-file-2.1.4" = {
@@ -45130,13 +45896,13 @@ let
         sha512 = "nxl9nrnLQmh64iTzMfyylSlRozL7kAXIaxw1fVcLYdyhNkJCRUzirRZTikXGJsg+hc4fqpneTK6iU2H1Q8THSA==";
       };
     };
-    "patel-0.34.0" = {
+    "patel-0.35.1" = {
       name = "patel";
       packageName = "patel";
-      version = "0.34.0";
+      version = "0.35.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/patel/-/patel-0.34.0.tgz";
-        sha512 = "3EvIzxbIFknpPa9QL2LYW+B35qFwER3Dn674KSC9Hc7DIuLJ7YMUJOR4dvCMPmpj/lB4fDvfr/VYV7FKKLEpFA==";
+        url = "https://registry.npmjs.org/patel/-/patel-0.35.1.tgz";
+        sha512 = "Em5Zh8t+oVnTNELwze1J9iQEeOBC+84B+UstU4hrmv16uvdunBzmMad6kY28nVxBxycqH6EYsDV2s1rO9IeZaw==";
       };
     };
     "path-browserify-0.0.1" = {
@@ -45373,13 +46139,13 @@ let
         sha512 = "Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==";
       };
     };
-    "patrisika-0.22.2" = {
+    "patrisika-0.23.0" = {
       name = "patrisika";
       packageName = "patrisika";
-      version = "0.22.2";
+      version = "0.23.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/patrisika/-/patrisika-0.22.2.tgz";
-        sha512 = "8L6zlp+F4InnoFv0jjGdar948yEzP30bE96f6RHnECaUsU9BWRiTBhkAuhIobG4Lrr8CBscUcar7UWe0Bm1lqA==";
+        url = "https://registry.npmjs.org/patrisika/-/patrisika-0.23.0.tgz";
+        sha512 = "bGxKK+XqO7Qfgv7WJSeytwZlbQsKXeuya+FD+6CB0iHat4tSbmN6eT0FEWGf0ulNguD0th/H3fa+VuXDDYQmLw==";
       };
     };
     "patrisika-scopes-0.12.0" = {
@@ -45409,6 +46175,15 @@ let
         sha1 = "fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445";
       };
     };
+    "pbf-3.2.1" = {
+      name = "pbf";
+      packageName = "pbf";
+      version = "3.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pbf/-/pbf-3.2.1.tgz";
+        sha512 = "ClrV7pNOn7rtmoQVF4TS1vyU0WhYRnP92fzbfF75jAIwpnzdJXf8iTd4CMEqO4yUenH6NDqLiwjqlh6QgZzgLQ==";
+      };
+    };
     "pbkdf2-3.1.2" = {
       name = "pbkdf2";
       packageName = "pbkdf2";
@@ -45418,22 +46193,13 @@ let
         sha512 = "iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==";
       };
     };
-    "peek-readable-3.1.4" = {
+    "peek-readable-4.0.1" = {
       name = "peek-readable";
       packageName = "peek-readable";
-      version = "3.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/peek-readable/-/peek-readable-3.1.4.tgz";
-        sha512 = "DX7ec7frSMtCWw+zMd27f66hcxIz/w9LQTY2RflB4WNHCVPAye1pJiP2t3gvaaOhu7IOhtPbHw8MemMj+F5lrg==";
-      };
-    };
-    "peek-readable-4.0.0" = {
-      name = "peek-readable";
-      packageName = "peek-readable";
-      version = "4.0.0";
+      version = "4.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/peek-readable/-/peek-readable-4.0.0.tgz";
-        sha512 = "kLbU4cz6h86poGVBKgAVMpFmD47nX04fPPQNKnv9fuj+IJZYkEBjsYAVu5nDbZWx0ZsWwWlMzeG90zQa5KLBaA==";
+        url = "https://registry.npmjs.org/peek-readable/-/peek-readable-4.0.1.tgz";
+        sha512 = "7qmhptnR0WMSpxT5rMHG9bW/mYSR1uqaPFj2MHvT+y/aOUu6msJijpKt5SkTDKySwg65OWG2JwTMBlgcbwMHrQ==";
       };
     };
     "peek-stream-1.1.3" = {
@@ -45544,13 +46310,13 @@ let
         sha512 = "WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==";
       };
     };
-    "pg-pool-3.3.0" = {
+    "pg-pool-3.4.1" = {
       name = "pg-pool";
       packageName = "pg-pool";
-      version = "3.3.0";
+      version = "3.4.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.4.1.tgz";
+        sha512 = "TVHxR/gf3MeJRvchgNHxsYsTCHQ+4wm3VIHSS19z8NC0+gioEhq1okDY1sm/TYbfoP6JLFx01s0ShvZ3puP/iQ==";
       };
     };
     "pg-protocol-1.5.0" = {
@@ -45580,15 +46346,6 @@ let
         sha512 = "YmuA56alyBq7M59vxVBfPJrGSozru8QAdoNlWuW3cz8l+UX3cWge0vTvjKhsSHSJpo3Bom8/Mm6hf0TR5GY0+w==";
       };
     };
-    "phin-2.9.3" = {
-      name = "phin";
-      packageName = "phin";
-      version = "2.9.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/phin/-/phin-2.9.3.tgz";
-        sha512 = "CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA==";
-      };
-    };
     "physical-cpu-count-2.0.0" = {
       name = "physical-cpu-count";
       packageName = "physical-cpu-count";
@@ -45742,6 +46499,15 @@ let
         sha512 = "drPtqkkSf0ufx2gaea3TryFiBHdNIdXKf5LN0hTM82SXI4xVIve2wLwNg92e1MT6m3jASLu6VO7eGY6+mmGeyw==";
       };
     };
+    "pino-6.13.0" = {
+      name = "pino";
+      packageName = "pino";
+      version = "6.13.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pino/-/pino-6.13.0.tgz";
+        sha512 = "mRXSTfa34tbfrWqCIp1sUpZLqBhcoaGapoyxfEwaWwJGMpLijlRdDKIQUyvq4M3DUfFH5vEglwSw8POZYwbThA==";
+      };
+    };
     "pino-std-serializers-3.2.0" = {
       name = "pino-std-serializers";
       packageName = "pino-std-serializers";
@@ -45778,13 +46544,13 @@ let
         sha512 = "WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==";
       };
     };
-    "pixelmatch-4.0.2" = {
-      name = "pixelmatch";
-      packageName = "pixelmatch";
-      version = "4.0.2";
+    "pixiv-api-client-0.25.0" = {
+      name = "pixiv-api-client";
+      packageName = "pixiv-api-client";
+      version = "0.25.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pixelmatch/-/pixelmatch-4.0.2.tgz";
-        sha1 = "8f47dcec5011b477b67db03c243bc1f3085e8854";
+        url = "https://registry.npmjs.org/pixiv-api-client/-/pixiv-api-client-0.25.0.tgz";
+        sha512 = "IWo0HwnxUEH9OtQ3qEZsKUbpdStRSomS18Gx4UV5JT1fj/E/opYGZMgpcdzC1+3ouBJECV1evzt0778S2RJ+/Q==";
       };
     };
     "pkg-conf-1.1.3" = {
@@ -45832,13 +46598,13 @@ let
         sha512 = "NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==";
       };
     };
-    "pkg-fetch-3.1.1" = {
+    "pkg-fetch-3.2.2" = {
       name = "pkg-fetch";
       packageName = "pkg-fetch";
-      version = "3.1.1";
+      version = "3.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pkg-fetch/-/pkg-fetch-3.1.1.tgz";
-        sha512 = "3GfpNwbwoTxge2TrVp6Oyz/FZJOoxF1r0+1YikOhnBXa2Di/VOJKtUObFHap76BFnyFo1fwh5vARWFR9TzLKUg==";
+        url = "https://registry.npmjs.org/pkg-fetch/-/pkg-fetch-3.2.2.tgz";
+        sha512 = "bLhFNT4cNnONxzbHo1H2mCCKuQkCR4dgQtv0gUZnWtp8TDP0v0UAXKHG7DXhAoTC5IYP3slLsFJtIda9ksny8g==";
       };
     };
     "pkg-up-2.0.0" = {
@@ -45922,13 +46688,13 @@ let
         sha1 = "084b5093ddc92506e259f874b8d9b1afb8c79593";
       };
     };
-    "plist-3.0.2" = {
+    "plist-3.0.3" = {
       name = "plist";
       packageName = "plist";
-      version = "3.0.2";
+      version = "3.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/plist/-/plist-3.0.2.tgz";
-        sha512 = "MSrkwZBdQ6YapHy87/8hDU8MnIcyxBKjeF+McXnr5A9MtffPewTs7G3hlpodT5TacyfIyFTaJEhh3GGcmasTgQ==";
+        url = "https://registry.npmjs.org/plist/-/plist-3.0.3.tgz";
+        sha512 = "ghdOKN99hh1oEmAlwBmPYo4L+tSQ7O3jRpkhWqOrMz86CWotpVzMevvQ+czo7oPDpOZyA6K06Ci7QVHpoh9gaA==";
       };
     };
     "plist-with-patches-0.5.1" = {
@@ -45967,6 +46733,15 @@ let
         sha1 = "7482452c1a0f508e3e344eaec312c91c29dc655a";
       };
     };
+    "plur-3.1.1" = {
+      name = "plur";
+      packageName = "plur";
+      version = "3.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/plur/-/plur-3.1.1.tgz";
+        sha512 = "t1Ax8KUvV3FFII8ltczPn2tJdjqbd1sIzu6t4JL7nQ3EyeL/lTrj5PWKb06ic5/6XYDr65rQ4uzQEGN70/6X5w==";
+      };
+    };
     "pluralize-1.2.1" = {
       name = "pluralize";
       packageName = "pluralize";
@@ -46138,6 +46913,15 @@ let
         sha1 = "a93683ba41dc82fffccccb1c859ae40921f98229";
       };
     };
+    "popper.js-1.16.1" = {
+      name = "popper.js";
+      packageName = "popper.js";
+      version = "1.16.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz";
+        sha512 = "Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==";
+      };
+    };
     "portfinder-1.0.28" = {
       name = "portfinder";
       packageName = "portfinder";
@@ -46211,15 +46995,6 @@ let
         sha512 = "BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==";
       };
     };
-    "postcss-8.3.4" = {
-      name = "postcss";
-      packageName = "postcss";
-      version = "8.3.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss/-/postcss-8.3.4.tgz";
-        sha512 = "/tZY0PXExXXnNhKv3TOvZAOUYRyuqcCbBm2c17YMDK0PlVII3K7/LKdt3ScHL+hhouddjUWi+1sKDf9xXW+8YA==";
-      };
-    };
     "postcss-8.3.6" = {
       name = "postcss";
       packageName = "postcss";
@@ -46868,6 +47643,15 @@ let
         sha512 = "W1779iVHGfq0Fvh2PROhCe2QhB8mEErgqzo1wpIt36tCgChafP+hbXIhLDOM8ePJrZcFs0vkNEtdibEWVqChqw==";
       };
     };
+    "potpack-1.0.1" = {
+      name = "potpack";
+      packageName = "potpack";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/potpack/-/potpack-1.0.1.tgz";
+        sha512 = "15vItUAbViaYrmaB/Pbw7z6qX2xENbFSTA7Ii4tgbPtasxm5v6ryKhKtL91tpWovDJzTiZqdwzhcFBCwiMVdVw==";
+      };
+    };
     "prebuild-install-5.3.0" = {
       name = "prebuild-install";
       packageName = "prebuild-install";
@@ -46895,13 +47679,13 @@ let
         sha512 = "7GOJrLuow8yeiyv75rmvZyeMGzl8mdEX5gY69d6a6bHWmiPevwqFw+tQavhK0EYMaSg3/KD24cWqeQv1EWsqDQ==";
       };
     };
-    "prebuild-install-6.1.3" = {
+    "prebuild-install-6.1.4" = {
       name = "prebuild-install";
       packageName = "prebuild-install";
-      version = "6.1.3";
+      version = "6.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/prebuild-install/-/prebuild-install-6.1.3.tgz";
-        sha512 = "iqqSR84tNYQUQHRXalSKdIaM8Ov1QxOVuBNWI7+BzZWv6Ih9k75wOnH1rGQ9WWTaaLkTpxWKIciOF0KyfM74+Q==";
+        url = "https://registry.npmjs.org/prebuild-install/-/prebuild-install-6.1.4.tgz";
+        sha512 = "Z4vpywnK1lBg+zdPCVCsKq0xO66eEV9rWo2zrROGGiRS4JtueBOdlB1FnY8lcy7JsUud/Q3ijUxyWN26Ika0vQ==";
       };
     };
     "precinct-8.1.0" = {
@@ -46922,6 +47706,15 @@ let
         sha1 = "aa9591bcaa24923f1e0f4849d240f47efc1075ac";
       };
     };
+    "preferences-2.0.2" = {
+      name = "preferences";
+      packageName = "preferences";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/preferences/-/preferences-2.0.2.tgz";
+        sha512 = "Pc5qb/4ATHtikU4pky8MthNowe/yuhu5Wr7pPEC7pJyFZ2V7Nfh/9M0jNnZ64kiDK0nv1wDZ0TmY2ICMK0zjiw==";
+      };
+    };
     "preferred-pm-3.0.3" = {
       name = "preferred-pm";
       packageName = "preferred-pm";
@@ -47048,15 +47841,6 @@ let
         sha512 = "2UzApPuxi2yRoyMlXMazgR6UcH9DKJhNgCviIwY3ixZ9THWSSrUww5vkiZ3C48WvpFl1M1y/oU63deSy1puWEA==";
       };
     };
-    "prettier-linter-helpers-1.0.0" = {
-      name = "prettier-linter-helpers";
-      packageName = "prettier-linter-helpers";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz";
-        sha512 = "GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==";
-      };
-    };
     "prettier-plugin-svelte-2.3.1" = {
       name = "prettier-plugin-svelte";
       packageName = "prettier-plugin-svelte";
@@ -47129,15 +47913,6 @@ let
         sha512 = "zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==";
       };
     };
-    "pretty-format-24.9.0" = {
-      name = "pretty-format";
-      packageName = "pretty-format";
-      version = "24.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz";
-        sha512 = "00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==";
-      };
-    };
     "pretty-format-25.5.0" = {
       name = "pretty-format";
       packageName = "pretty-format";
@@ -47174,15 +47949,6 @@ let
         sha1 = "b7e3ea42435a4c9b2759d99e0f201eb195802ee1";
       };
     };
-    "pretty-ms-5.1.0" = {
-      name = "pretty-ms";
-      packageName = "pretty-ms";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pretty-ms/-/pretty-ms-5.1.0.tgz";
-        sha512 = "4gaK1skD2gwscCfkswYQRmddUb2GJZtzDGRjHWadVHtK/DIKFufa12MvES6/xu1tVbUYeia5bmLcwJtZJQUqnw==";
-      };
-    };
     "pretty-ms-7.0.1" = {
       name = "pretty-ms";
       packageName = "pretty-ms";
@@ -47192,15 +47958,6 @@ let
         sha512 = "973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==";
       };
     };
-    "pretty-quick-3.1.1" = {
-      name = "pretty-quick";
-      packageName = "pretty-quick";
-      version = "3.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pretty-quick/-/pretty-quick-3.1.1.tgz";
-        sha512 = "ZYLGiMoV2jcaas3vTJrLvKAYsxDoXQBUn8OSTxkl67Fyov9lyXivJTl0+2WVh+y6EovGcw7Lm5ThYpH+Sh3XxQ==";
-      };
-    };
     "pretty-time-1.1.0" = {
       name = "pretty-time";
       packageName = "pretty-time";
@@ -47516,24 +48273,6 @@ let
         sha512 = "3+hgaa19jzCGLuSCbieeRsu5C2joKfYn8pY6JAuXFRVfF4IO+L7UPpFWNTeWT9pM7uhskvbPPd/oEOktCn317Q==";
       };
     };
-    "promise-deferred-2.0.3" = {
-      name = "promise-deferred";
-      packageName = "promise-deferred";
-      version = "2.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/promise-deferred/-/promise-deferred-2.0.3.tgz";
-        sha512 = "n10XaoznCzLfyPFOlEE8iurezHpxrYzyjgq/1eW9Wk1gJwur/N7BdBmjJYJpqMeMcXK4wEbzo2EvZQcqjYcKUQ==";
-      };
-    };
-    "promise-fs-2.1.1" = {
-      name = "promise-fs";
-      packageName = "promise-fs";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/promise-fs/-/promise-fs-2.1.1.tgz";
-        sha512 = "43p7e4QzAQ3w6eyN0+gbBL7jXiZFWLWYITg9wIObqkBySu/a5K1EDcQ/S6UyB/bmiZWDA4NjTbcopKLTaKcGSw==";
-      };
-    };
     "promise-inflight-1.0.1" = {
       name = "promise-inflight";
       packageName = "promise-inflight";
@@ -47543,6 +48282,15 @@ let
         sha1 = "98472870bf228132fcbdd868129bad12c3c029e3";
       };
     };
+    "promise-polyfill-6.1.0" = {
+      name = "promise-polyfill";
+      packageName = "promise-polyfill";
+      version = "6.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-6.1.0.tgz";
+        sha1 = "dfa96943ea9c121fca4de9b5868cb39d3472e057";
+      };
+    };
     "promise-queue-2.2.5" = {
       name = "promise-queue";
       packageName = "promise-queue";
@@ -47570,15 +48318,6 @@ let
         sha512 = "A2HuJWl2opDH0EafgdjwEw7HysI8ff/n4lW4QEVBCUXFk9QeGecBWv0Deph0UmLe3tTNYegz8MOjsVuE6SMoJA==";
       };
     };
-    "promiseback-2.0.3" = {
-      name = "promiseback";
-      packageName = "promiseback";
-      version = "2.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/promiseback/-/promiseback-2.0.3.tgz";
-        sha512 = "VZXdCwS0ppVNTIRfNsCvVwJAaP2b+pxQF7lM8DMWfmpNWyTxB6O5YNbzs+8z0ki/KIBHKHk308NTIl4kJUem3w==";
-      };
-    };
     "promised-temp-0.1.0" = {
       name = "promised-temp";
       packageName = "promised-temp";
@@ -47633,13 +48372,13 @@ let
         sha1 = "8e57123c396ab988897fb327fd3aedc3e735e4fe";
       };
     };
-    "prompt-1.1.0" = {
+    "prompt-1.2.0" = {
       name = "prompt";
       packageName = "prompt";
-      version = "1.1.0";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/prompt/-/prompt-1.1.0.tgz";
-        sha512 = "ec1vUPXCplDBDUVD8uPa3XGA+OzLrO40Vxv3F1uxoiZGkZhdctlK2JotcHq5X6ExjocDOGwGdCSXloGNyU5L1Q==";
+        url = "https://registry.npmjs.org/prompt/-/prompt-1.2.0.tgz";
+        sha512 = "iGerYRpRUg5ZyC+FJ/25G5PUKuWAGRjW1uOlhX7Pi3O5YygdK6R+KEaBjRbHSkU5vfS5PZCltSPZdDtUYwRCZA==";
       };
     };
     "promptly-2.2.0" = {
@@ -47723,6 +48462,15 @@ let
         sha1 = "212d5bfe1318306a420f6402b8e26ff39647a849";
       };
     };
+    "proto3-json-serializer-0.1.3" = {
+      name = "proto3-json-serializer";
+      packageName = "proto3-json-serializer";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/proto3-json-serializer/-/proto3-json-serializer-0.1.3.tgz";
+        sha512 = "X0DAtxCBsy1NDn84huVFGOFgBslT2gBmM+85nY6/5SOAaCon1jzVNdvi74foIyFvs5CjtSbQsepsM5TsyNhqQw==";
+      };
+    };
     "protobufjs-3.8.2" = {
       name = "protobufjs";
       packageName = "protobufjs";
@@ -47759,13 +48507,13 @@ let
         sha512 = "5aFshI9SbhtcMiDiZZu3g2tMlZeS5lhni//AGJ7V34PQLU5JA91Cva7TIs6inZhYikS3OpnUzAUuL6YtS0CyDA==";
       };
     };
-    "protocol-buffers-schema-3.5.1" = {
+    "protocol-buffers-schema-3.5.2" = {
       name = "protocol-buffers-schema";
       packageName = "protocol-buffers-schema";
-      version = "3.5.1";
+      version = "3.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.5.1.tgz";
-        sha512 = "YVCvdhxWNDP8/nJDyXLuM+UFsuPk4+1PB7WGPVDzm3HTHbzFLxQYeW2iZpS4mmnXrQJGBzt230t/BbEb7PrQaw==";
+        url = "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.5.2.tgz";
+        sha512 = "LPzSaBYp/TcbuSlpGwqT5jR9kvJ3Zp5ic2N5c2ybx6XB/lSfEHq2D7ja8AgoxHoMD91wXFALJoXsvshKPuXyew==";
       };
     };
     "protocols-1.4.8" = {
@@ -47804,6 +48552,15 @@ let
         sha512 = "ODnQnW2jc/FUVwHHuaZEfN5otg/fMbvMxz9nMSUQfJ9JU7q2SZvSULSsjLloVgJOiv9yhc8GlNMKc4GkFmcVEA==";
       };
     };
+    "proxy-agent-5.0.0" = {
+      name = "proxy-agent";
+      packageName = "proxy-agent";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/proxy-agent/-/proxy-agent-5.0.0.tgz";
+        sha512 = "gkH7BkvLVkSfX9Dk27W6TyNOWWZWRilRfk1XxGNWOYJ2TuedAv1yFpCaU9QSBmBe716XOTNpYNOzhysyw8xn7g==";
+      };
+    };
     "proxy-from-env-1.1.0" = {
       name = "proxy-from-env";
       packageName = "proxy-from-env";
@@ -48146,15 +48903,6 @@ let
         sha1 = "146b36e3e043d7a666b59a14165fdd3bef3cf44c";
       };
     };
-    "pull-async-filter-1.0.0" = {
-      name = "pull-async-filter";
-      packageName = "pull-async-filter";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pull-async-filter/-/pull-async-filter-1.0.0.tgz";
-        sha1 = "ebc3617d9de2463908c89fd01671c727564d6831";
-      };
-    };
     "pull-awaitable-1.0.0" = {
       name = "pull-awaitable";
       packageName = "pull-awaitable";
@@ -48776,13 +49524,13 @@ let
         sha512 = "l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==";
       };
     };
-    "puppeteer-10.1.0" = {
+    "puppeteer-10.2.0" = {
       name = "puppeteer";
       packageName = "puppeteer";
-      version = "10.1.0";
+      version = "10.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/puppeteer/-/puppeteer-10.1.0.tgz";
-        sha512 = "bsyDHbFBvbofZ63xqF7hMhuKBX1h4WsqFIAoh1GuHr/Y9cewh+EFNAOdqWSkQRHLiBU/MY6M+8PUnXXjAPtuSg==";
+        url = "https://registry.npmjs.org/puppeteer/-/puppeteer-10.2.0.tgz";
+        sha512 = "OR2CCHRashF+f30+LBOtAjK6sNtz2HEyTr5FqAvhf8lR/qB3uBRoIZOwQKgwoyZnMBsxX7ZdazlyBgGjpnkiMw==";
       };
     };
     "puppeteer-9.1.1" = {
@@ -48839,13 +49587,13 @@ let
         sha1 = "15931d3cd967ade52206f523aa7331aef7d43af7";
       };
     };
-    "pyright-1.1.157" = {
+    "pyright-1.1.163" = {
       name = "pyright";
       packageName = "pyright";
-      version = "1.1.157";
+      version = "1.1.163";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pyright/-/pyright-1.1.157.tgz";
-        sha512 = "slTex47hQKuyoi579Zk7lEhVH+4Dmn+eZ3gP1JGcFBcbcmDwd9ZI1ESww3jY3YoOYdNbYTafxBNuh3RHGkGiMA==";
+        url = "https://registry.npmjs.org/pyright/-/pyright-1.1.163.tgz";
+        sha512 = "CU0WPzr+6ZKIqCqqVrOtxMFWdzdOV18zKmC7dVBzp3snuun8JafnnmUzNJpO8IJLN/bQNSLb3riLtXFM/8Xxbg==";
       };
     };
     "q-0.9.7" = {
@@ -48893,6 +49641,15 @@ let
         sha512 = "8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==";
       };
     };
+    "qr.js-0.0.0" = {
+      name = "qr.js";
+      packageName = "qr.js";
+      version = "0.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/qr.js/-/qr.js-0.0.0.tgz";
+        sha1 = "cace86386f59a0db8050fa90d9b6b0e88a1e364f";
+      };
+    };
     "qrcode-1.4.4" = {
       name = "qrcode";
       packageName = "qrcode";
@@ -49019,15 +49776,6 @@ let
         sha512 = "VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==";
       };
     };
-    "qs-6.9.1" = {
-      name = "qs";
-      packageName = "qs";
-      version = "6.9.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/qs/-/qs-6.9.1.tgz";
-        sha512 = "Cxm7/SS/y/Z3MHWSxXb8lIFqgqBowP5JMlTUFyJN88y0SGQhVmZnqFK/PeuMX9LzUyWsqqhNxIyg0jlzq946yA==";
-      };
-    };
     "query-string-1.0.1" = {
       name = "query-string";
       packageName = "query-string";
@@ -49127,6 +49875,15 @@ let
         sha512 = "NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==";
       };
     };
+    "queue-tick-1.0.0" = {
+      name = "queue-tick";
+      packageName = "queue-tick";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.0.tgz";
+        sha512 = "ULWhjjE8BmiICGn3G8+1L9wFpERNxkf8ysxkAer4+TFdRefDaXOCV5m92aMB9FtBVmn/8sETXLXY6BfW7hyaWQ==";
+      };
+    };
     "quick-format-unescaped-4.0.3" = {
       name = "quick-format-unescaped";
       packageName = "quick-format-unescaped";
@@ -49163,6 +49920,15 @@ let
         sha512 = "WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==";
       };
     };
+    "quickselect-2.0.0" = {
+      name = "quickselect";
+      packageName = "quickselect";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/quickselect/-/quickselect-2.0.0.tgz";
+        sha512 = "RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==";
+      };
+    };
     "quicktask-1.0.1" = {
       name = "quicktask";
       packageName = "quicktask";
@@ -49622,13 +50388,13 @@ let
         sha512 = "dx0LvIGHcOPtKbeiSUM4jqpBl3TcY7CDjZdfOIcKeznE7BWr9dg0iPG90G5yfVQ+p/rGNMXdbfStvzQZEVEi4A==";
       };
     };
-    "react-devtools-core-4.14.0" = {
+    "react-devtools-core-4.17.0" = {
       name = "react-devtools-core";
       packageName = "react-devtools-core";
-      version = "4.14.0";
+      version = "4.17.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-4.14.0.tgz";
-        sha512 = "cE7tkSUkGCDxTA79pntDGJCBgzNN/XxA3kgPdXujdfSfEfVhzrItQIEsN0kCN/hJJACDvH2Q8p5+tJb/K4B3qA==";
+        url = "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-4.17.0.tgz";
+        sha512 = "+9/aF7Gc8gswkAsoyUyQdIrhKHY/hOaMdK0oPIHuxzckJC5Cd4R1Mx75DKaqn84znwrYvXQ65kAseA+X44jMTw==";
       };
     };
     "react-dom-16.14.0" = {
@@ -49703,6 +50469,33 @@ let
         sha512 = "fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==";
       };
     };
+    "react-popper-1.3.11" = {
+      name = "react-popper";
+      packageName = "react-popper";
+      version = "1.3.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/react-popper/-/react-popper-1.3.11.tgz";
+        sha512 = "VSA/bS+pSndSF2fiasHK/PTEEAyOpX60+H5EPAjoArr8JGm+oihu4UbrqcEBpQibJxBVCpYyjAX7abJ+7DoYVg==";
+      };
+    };
+    "react-qr-reader-2.2.1" = {
+      name = "react-qr-reader";
+      packageName = "react-qr-reader";
+      version = "2.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/react-qr-reader/-/react-qr-reader-2.2.1.tgz";
+        sha512 = "EL5JEj53u2yAOgtpAKAVBzD/SiKWn0Bl7AZy6ZrSf1lub7xHwtaXe6XSx36Wbhl1VMGmvmrwYMRwO1aSCT2fwA==";
+      };
+    };
+    "react-qr-svg-2.4.0" = {
+      name = "react-qr-svg";
+      packageName = "react-qr-svg";
+      version = "2.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/react-qr-svg/-/react-qr-svg-2.4.0.tgz";
+        sha512 = "3Q/LyjBi+eWjJ0WyZvBzyY3rCMlUBZyRnbTcKbXQ39J1bd0/vgqYhXoYai7XlDTS42Ro50BBY4TmeUVyIZh+nA==";
+      };
+    };
     "react-reconciler-0.24.0" = {
       name = "react-reconciler";
       packageName = "react-reconciler";
@@ -49721,15 +50514,6 @@ let
         sha512 = "Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==";
       };
     };
-    "react-refresh-0.8.3" = {
-      name = "react-refresh";
-      packageName = "react-refresh";
-      version = "0.8.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-refresh/-/react-refresh-0.8.3.tgz";
-        sha512 = "X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg==";
-      };
-    };
     "react-side-effect-2.1.1" = {
       name = "react-side-effect";
       packageName = "react-side-effect";
@@ -49739,6 +50523,15 @@ let
         sha512 = "2FoTQzRNTncBVtnzxFOk2mCpcfxQpenBMbk5kSVBg5UcPqV9fRbgY2zhb7GTWWOlpFmAxhClBDlIq8Rsubz1yQ==";
       };
     };
+    "react-string-replace-0.4.4" = {
+      name = "react-string-replace";
+      packageName = "react-string-replace";
+      version = "0.4.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/react-string-replace/-/react-string-replace-0.4.4.tgz";
+        sha512 = "FAMkhxmDpCsGTwTZg7p/2v+/GTmxAp73so3fbSvlAcBBX36ujiGRNEaM/1u+jiYQrArhns+7eE92g2pi5E5FUA==";
+      };
+    };
     "react-tabs-3.2.2" = {
       name = "react-tabs";
       packageName = "react-tabs";
@@ -49748,6 +50541,15 @@ let
         sha512 = "/o52eGKxFHRa+ssuTEgSM8qORnV4+k7ibW+aNQzKe+5gifeVz8nLxCrsI9xdRhfb0wCLdgIambIpb1qCxaMN+A==";
       };
     };
+    "react-transition-group-2.9.0" = {
+      name = "react-transition-group";
+      packageName = "react-transition-group";
+      version = "2.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.9.0.tgz";
+        sha512 = "+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg==";
+      };
+    };
     "react-universal-component-4.5.0" = {
       name = "react-universal-component";
       packageName = "react-universal-component";
@@ -49757,6 +50559,15 @@ let
         sha512 = "dBUC6afvSAQhDcE4oh1eTmfU29W0O2eZhcGXnfGUTulXkU8ejuWqlJWXXrSMx5iV1H6LNgj2NJMj3BtBMfBNhA==";
       };
     };
+    "react-virtualized-9.22.3" = {
+      name = "react-virtualized";
+      packageName = "react-virtualized";
+      version = "9.22.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/react-virtualized/-/react-virtualized-9.22.3.tgz";
+        sha512 = "MKovKMxWTcwPSxE1kK1HcheQTWfuCxAuBoSTf2gwyMM21NdX/PXUhnoP8Uc5dRKd+nKm8v41R36OellhdCpkrw==";
+      };
+    };
     "read-1.0.7" = {
       name = "read";
       packageName = "read";
@@ -49856,13 +50667,22 @@ let
         sha512 = "aLcPqxovhJTVJcsnROuuzQvv6oziQx4zd3JvG0vGCL5MjTONUc4uJ90zCBC6R7W7oUKBNoR/F8pkyfVwlbxqng==";
       };
     };
-    "read-package-json-fast-2.0.2" = {
+    "read-package-json-4.0.1" = {
+      name = "read-package-json";
+      packageName = "read-package-json";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/read-package-json/-/read-package-json-4.0.1.tgz";
+        sha512 = "czqCcYfkEl6sIFJVOND/5/Goseu7cVw1rcDUATq6ED0jLGjMm9/HOPmFmEZMvRu9yl272YERaMUcOlvcNU9InQ==";
+      };
+    };
+    "read-package-json-fast-2.0.3" = {
       name = "read-package-json-fast";
       packageName = "read-package-json-fast";
-      version = "2.0.2";
+      version = "2.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-2.0.2.tgz";
-        sha512 = "5fyFUyO9B799foVk4n6ylcoAktG/FbE3jwRKxvwaeSrIunaoMc0u81dzXxjeAFKOce7O5KncdfwpGvvs6r5PsQ==";
+        url = "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz";
+        sha512 = "W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ==";
       };
     };
     "read-package-tree-5.3.1" = {
@@ -50180,13 +51000,13 @@ let
         sha512 = "XNvYvkfdAN9QewbrxeTOjgINkdY/odTgTS56ZNEWL9Ml0weT4T3sFtvnTuF+Gxyu46ANcRm1ntrF6F5LAJPAaQ==";
       };
     };
-    "recast-0.20.4" = {
+    "recast-0.20.5" = {
       name = "recast";
       packageName = "recast";
-      version = "0.20.4";
+      version = "0.20.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/recast/-/recast-0.20.4.tgz";
-        sha512 = "6qLIBGGRcwjrTZGIiBpJVC/NeuXpogXNyRQpqU1zWPUigCphvApoCs9KIwDYh1eDuJ6dAFlQoi/QUyE5KQ6RBQ==";
+        url = "https://registry.npmjs.org/recast/-/recast-0.20.5.tgz";
+        sha512 = "E5qICoPoNL4yU0H0NoBDntNB0Q5oMSNh9usFctYniLBluTthi3RsQVBXIJNbApOlvSwW/RGxIuokPcAc59J5fQ==";
       };
     };
     "rechoir-0.6.2" = {
@@ -50306,13 +51126,13 @@ let
         sha1 = "b66d828cdcafe6b4b8a428a7def4c6bcac31c8b4";
       };
     };
-    "redoc-2.0.0-rc.55" = {
+    "redoc-2.0.0-rc.56" = {
       name = "redoc";
       packageName = "redoc";
-      version = "2.0.0-rc.55";
+      version = "2.0.0-rc.56";
       src = fetchurl {
-        url = "https://registry.npmjs.org/redoc/-/redoc-2.0.0-rc.55.tgz";
-        sha512 = "32sUHhc33m8zQKz2V7xREwlf05S52dDOkn7K0WMquu2GDl6ZquxmrQfqnlj0IPoVCWQPR+XosmmIJj4rZbqjeA==";
+        url = "https://registry.npmjs.org/redoc/-/redoc-2.0.0-rc.56.tgz";
+        sha512 = "ir2TtQ2d/1FqZWIoLmUZ3qvAAnO6jg8dt0SV75TanmfCXpEABcElXWH3mtUf6qKlvgDVt40diDCVuSvyPPxkAw==";
       };
     };
     "reduce-component-1.0.1" = {
@@ -50342,13 +51162,13 @@ let
         sha512 = "pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A==";
       };
     };
-    "redux-4.1.0" = {
+    "redux-4.1.1" = {
       name = "redux";
       packageName = "redux";
-      version = "4.1.0";
+      version = "4.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/redux/-/redux-4.1.0.tgz";
-        sha512 = "uI2dQN43zqLWCt6B/BMGRMY6db7TTY4qeHHfGeKb3EOhmOKjU3KdWvNLJyqaHRksv/ErdNH7cFZWg9jXtewy4g==";
+        url = "https://registry.npmjs.org/redux/-/redux-4.1.1.tgz";
+        sha512 = "hZQZdDEM25UY2P493kPYuKqviVwZ58lEmGQNeQ+gXa+U0gYPUBf7NKYazbe3m+bs/DzM/ahN12DbF+NG8i0CWw==";
       };
     };
     "reflect-metadata-0.1.13" = {
@@ -50414,13 +51234,13 @@ let
         sha512 = "MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==";
       };
     };
-    "regenerator-runtime-0.13.8" = {
+    "regenerator-runtime-0.13.9" = {
       name = "regenerator-runtime";
       packageName = "regenerator-runtime";
-      version = "0.13.8";
+      version = "0.13.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.8.tgz";
-        sha512 = "o/ASGwgZ6UiVjspr4YnzHKF1NbBdX+mCPkSeymofk/d7I+csCYn3ZgZMMVtXeecpT8DBiI2nAlYkHd+xNCqu4A==";
+        url = "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz";
+        sha512 = "p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==";
       };
     };
     "regenerator-transform-0.14.5" = {
@@ -50504,6 +51324,15 @@ let
         sha512 = "ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==";
       };
     };
+    "register-protocol-win32-1.1.0" = {
+      name = "register-protocol-win32";
+      packageName = "register-protocol-win32";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/register-protocol-win32/-/register-protocol-win32-1.1.0.tgz";
+        sha1 = "ac961c69caaa2d609eec368aa0e4daf81a2dfee3";
+      };
+    };
     "registry-auth-token-3.3.2" = {
       name = "registry-auth-token";
       packageName = "registry-auth-token";
@@ -50684,6 +51513,15 @@ let
         sha512 = "ZssAvH9FjGYlJ/PBVKdSmfyPc3Cz4rTWgZLI4iE/SX8Nt5l3o3oEjv3wwG5VD7xOjktzdwp5coac+kJV9l4jgg==";
       };
     };
+    "remark-frontmatter-1.3.3" = {
+      name = "remark-frontmatter";
+      packageName = "remark-frontmatter";
+      version = "1.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-1.3.3.tgz";
+        sha512 = "fM5eZPBvu2pVNoq3ZPW22q+5Ativ1oLozq2qYt9I2oNyxiUd/tDl0iLLntEVAegpZIslPWg1brhcP1VsaSVUag==";
+      };
+    };
     "remark-frontmatter-2.0.0" = {
       name = "remark-frontmatter";
       packageName = "remark-frontmatter";
@@ -50720,6 +51558,411 @@ let
         sha1 = "592a347bdd3d5881f4f080c98b5b152fb1407a92";
       };
     };
+    "remark-lint-6.0.6" = {
+      name = "remark-lint";
+      packageName = "remark-lint";
+      version = "6.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint/-/remark-lint-6.0.6.tgz";
+        sha512 = "JBY6zz5fYQFN724Vq6VeiHwhyjVIlrww/dE1+hWGcDyUuz7YNCqwZKwBdQGDvslICkzHw/wEExNEb8D4PNiLlA==";
+      };
+    };
+    "remark-lint-blockquote-indentation-1.0.4" = {
+      name = "remark-lint-blockquote-indentation";
+      packageName = "remark-lint-blockquote-indentation";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-blockquote-indentation/-/remark-lint-blockquote-indentation-1.0.4.tgz";
+        sha512 = "ExcDP7lufshEBNkVddSHa+Bz/97PtFstIniQ8ZF2TahHPmpx92z3mkI/nXL2Qt5d3B09eTVvh4Pvhgp6x2470g==";
+      };
+    };
+    "remark-lint-code-block-style-1.0.4" = {
+      name = "remark-lint-code-block-style";
+      packageName = "remark-lint-code-block-style";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-code-block-style/-/remark-lint-code-block-style-1.0.4.tgz";
+        sha512 = "Wq5F94nkaWTx8W/9C/ydG+DhVWLirBrWb0xnoMQ0cHnizAd3BWw8g0x5L7yglMYSUSVLWY0jfMHgOe9UW3JfTw==";
+      };
+    };
+    "remark-lint-definition-case-1.0.5" = {
+      name = "remark-lint-definition-case";
+      packageName = "remark-lint-definition-case";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-definition-case/-/remark-lint-definition-case-1.0.5.tgz";
+        sha512 = "iirq74fKhJZsFw7x4FJuLVRkXclntutG1YKajfLaE3Gm14YlJWBEoabNTk+ENR4QXoB9rTdEqn3Cc3ImO8qciQ==";
+      };
+    };
+    "remark-lint-definition-spacing-1.0.5" = {
+      name = "remark-lint-definition-spacing";
+      packageName = "remark-lint-definition-spacing";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-definition-spacing/-/remark-lint-definition-spacing-1.0.5.tgz";
+        sha512 = "ss8OQmK4c/1amEAJpDjkFiByLyXpsYFNzmk6rEZQkxZZd+DVHI0oF+CzSeMVHu48rF2qHOkKhVghqrCM0vleAA==";
+      };
+    };
+    "remark-lint-emphasis-marker-1.0.4" = {
+      name = "remark-lint-emphasis-marker";
+      packageName = "remark-lint-emphasis-marker";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-emphasis-marker/-/remark-lint-emphasis-marker-1.0.4.tgz";
+        sha512 = "TdYISSw7Ib6EJDApDj9zcZNDCJEaEoQIrYS3+QH2TQxoDx96B0t1bbErRM5L/hx1UWPBpeFLKpgIWL163eMmYA==";
+      };
+    };
+    "remark-lint-fenced-code-flag-1.0.4" = {
+      name = "remark-lint-fenced-code-flag";
+      packageName = "remark-lint-fenced-code-flag";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-fenced-code-flag/-/remark-lint-fenced-code-flag-1.0.4.tgz";
+        sha512 = "bkQvlEYco6ZzdzvGPrY7DBsqSq/2mZEmdhpn0KdMEZ9kcKJP4unQdVQys04SKnf9QISqQ446VnQj5Q4E3HMSkQ==";
+      };
+    };
+    "remark-lint-fenced-code-marker-1.0.4" = {
+      name = "remark-lint-fenced-code-marker";
+      packageName = "remark-lint-fenced-code-marker";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-fenced-code-marker/-/remark-lint-fenced-code-marker-1.0.4.tgz";
+        sha512 = "aJF4ISIEvK3NX+C2rN93QoS/32SSiytQKRSeGa+HwsAn3sTwqmy2IoAwbFeZIZA2vqKcVB4h1b9yKamSlfX30Q==";
+      };
+    };
+    "remark-lint-file-extension-1.0.5" = {
+      name = "remark-lint-file-extension";
+      packageName = "remark-lint-file-extension";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-file-extension/-/remark-lint-file-extension-1.0.5.tgz";
+        sha512 = "oVQdf5vEomwHkfQ7R/mgmsWW2H/t9kSvnrxtVoNOHr+qnOEafKKDn+AFhioN2kqtjCZBAjSSrePs6xGKmXKDTw==";
+      };
+    };
+    "remark-lint-final-definition-1.0.4" = {
+      name = "remark-lint-final-definition";
+      packageName = "remark-lint-final-definition";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-final-definition/-/remark-lint-final-definition-1.0.4.tgz";
+        sha512 = "y9aDZPhqWcI7AtrJtL69HE6MoWMqDqLQUyWMadzAYUYb9/m4ciLdygJ4cWVpEN3n4mkBepHIsWzASaKHHBDJOQ==";
+      };
+    };
+    "remark-lint-hard-break-spaces-1.0.5" = {
+      name = "remark-lint-hard-break-spaces";
+      packageName = "remark-lint-hard-break-spaces";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-hard-break-spaces/-/remark-lint-hard-break-spaces-1.0.5.tgz";
+        sha512 = "Rss7ujNtxipO/hasWYc0QdiO8D5VyliSwj3zAZ8GeDn0ix2KH+pY4/AJC7i9IGcVVbUGvvXLpJB3Pp1VeY7oKw==";
+      };
+    };
+    "remark-lint-heading-increment-1.0.4" = {
+      name = "remark-lint-heading-increment";
+      packageName = "remark-lint-heading-increment";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-heading-increment/-/remark-lint-heading-increment-1.0.4.tgz";
+        sha512 = "3PJj32G7W1OUyRVSZiZbSOxyFAsw/mNssIosS9G8+6Lq2yeTSMDoCJy0+LC+s00nORFcbzeMedMK5U/eLbDe4w==";
+      };
+    };
+    "remark-lint-heading-style-1.0.4" = {
+      name = "remark-lint-heading-style";
+      packageName = "remark-lint-heading-style";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-heading-style/-/remark-lint-heading-style-1.0.4.tgz";
+        sha512 = "ASssbw0vj9urTMxDJGpOn4K7d9MgPQPJGaCD+7v7je42krofvqC4CxpYvO/fOAkRZcttE91VfFHxkaPjiBtQLw==";
+      };
+    };
+    "remark-lint-link-title-style-1.0.5" = {
+      name = "remark-lint-link-title-style";
+      packageName = "remark-lint-link-title-style";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-link-title-style/-/remark-lint-link-title-style-1.0.5.tgz";
+        sha512 = "Nu0cKj220q/PmUzELhYRUR2uxXabWuFJq9sApkgsc59uh+NKDtCEdpxkx7Zwvn6kUEwpuQVimeRfdesiKxX52g==";
+      };
+    };
+    "remark-lint-list-item-content-indent-1.0.4" = {
+      name = "remark-lint-list-item-content-indent";
+      packageName = "remark-lint-list-item-content-indent";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-list-item-content-indent/-/remark-lint-list-item-content-indent-1.0.4.tgz";
+        sha512 = "zfEeAayZjEKkPr07fnhkGLENxOhnm0WZJTj6UBIXhtGu7rX23WNKSZaiou8iUoHxcO6ySCvIUJAEmq/XN1FxkQ==";
+      };
+    };
+    "remark-lint-list-item-indent-1.0.5" = {
+      name = "remark-lint-list-item-indent";
+      packageName = "remark-lint-list-item-indent";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-list-item-indent/-/remark-lint-list-item-indent-1.0.5.tgz";
+        sha512 = "DjRgxjqaVMrnlQFJypizTPtLa9gSM5ad0LVIFDSstV2UVXSgpBi2+bSsFJEXb4Fkjo/d2JAgt27UhzhcoF2lnw==";
+      };
+    };
+    "remark-lint-list-item-spacing-1.1.4" = {
+      name = "remark-lint-list-item-spacing";
+      packageName = "remark-lint-list-item-spacing";
+      version = "1.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-list-item-spacing/-/remark-lint-list-item-spacing-1.1.4.tgz";
+        sha512 = "zZELzTPYCoOCnOWh/nYTfQWnGXWg4/I5KpwrjBqe7WYwoMtvLVU9mqjRj2jHEbmirEXas54NZnYnkCoIBMS4bw==";
+      };
+    };
+    "remark-lint-maximum-heading-length-1.0.4" = {
+      name = "remark-lint-maximum-heading-length";
+      packageName = "remark-lint-maximum-heading-length";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-maximum-heading-length/-/remark-lint-maximum-heading-length-1.0.4.tgz";
+        sha512 = "dhDBnUFXMuHoW8LSV/VICJAJO+wWumnvuu3ND7MJquCYrsjX2vcRmJXL5cusJSY4yqPosKlOowIkzdV5B6/SDQ==";
+      };
+    };
+    "remark-lint-maximum-line-length-1.2.2" = {
+      name = "remark-lint-maximum-line-length";
+      packageName = "remark-lint-maximum-line-length";
+      version = "1.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-maximum-line-length/-/remark-lint-maximum-line-length-1.2.2.tgz";
+        sha512 = "ItAdjK+tUhqggqFvtAJ8iJ0MbBgShLl0HDgpG3In0QSYp/dmofO77DjvRjCJQo1pQYS8/LwlBii9cqg/3MwFfA==";
+      };
+    };
+    "remark-lint-no-auto-link-without-protocol-1.0.4" = {
+      name = "remark-lint-no-auto-link-without-protocol";
+      packageName = "remark-lint-no-auto-link-without-protocol";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-no-auto-link-without-protocol/-/remark-lint-no-auto-link-without-protocol-1.0.4.tgz";
+        sha512 = "dhDHQLeaI79p7SRoKfxJ9c8J5otQsGua7ILeNbs2Onzn46/tp9ir6zjq3Lfh4VJJr4OVign2e8u+MzXsS7Uu/A==";
+      };
+    };
+    "remark-lint-no-blockquote-without-marker-2.0.4" = {
+      name = "remark-lint-no-blockquote-without-marker";
+      packageName = "remark-lint-no-blockquote-without-marker";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-no-blockquote-without-marker/-/remark-lint-no-blockquote-without-marker-2.0.4.tgz";
+        sha512 = "a5LFGj7It2z7aBRGaAcztk4D2pax2b7dK9iOarIWv/JBus/PSjZJxzZCma2aAAOQhv3wbNTwqQwuQC0UJHMbPg==";
+      };
+    };
+    "remark-lint-no-consecutive-blank-lines-1.0.4" = {
+      name = "remark-lint-no-consecutive-blank-lines";
+      packageName = "remark-lint-no-consecutive-blank-lines";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-no-consecutive-blank-lines/-/remark-lint-no-consecutive-blank-lines-1.0.4.tgz";
+        sha512 = "33rYrp+3OQ2UjG2/xhctruCvkP2iKLuHJhoUOAUV3BGwqJjAB+xNOl+0DdvDo0fxh5dyZuNesBuos3xr2yVR+w==";
+      };
+    };
+    "remark-lint-no-duplicate-headings-1.0.5" = {
+      name = "remark-lint-no-duplicate-headings";
+      packageName = "remark-lint-no-duplicate-headings";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-no-duplicate-headings/-/remark-lint-no-duplicate-headings-1.0.5.tgz";
+        sha512 = "4GKPxhKpN797V/6Jg1K4Zwqq+PhsjC633+wQMrZcTvOJfY+Rq1i7sNJ9lJVZnsDAlZJI56VqZCKnPJmS2br87g==";
+      };
+    };
+    "remark-lint-no-emphasis-as-heading-1.0.4" = {
+      name = "remark-lint-no-emphasis-as-heading";
+      packageName = "remark-lint-no-emphasis-as-heading";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-no-emphasis-as-heading/-/remark-lint-no-emphasis-as-heading-1.0.4.tgz";
+        sha512 = "gnsInLxTkc59eVD3/qelFagD/NcrMPKXT1sy7i4e8D2jqQyrIHHl0p3TfiyNNt8qIjKMKhlIii4k4kVk/3Mczg==";
+      };
+    };
+    "remark-lint-no-file-name-articles-1.0.5" = {
+      name = "remark-lint-no-file-name-articles";
+      packageName = "remark-lint-no-file-name-articles";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-no-file-name-articles/-/remark-lint-no-file-name-articles-1.0.5.tgz";
+        sha512 = "AQk5eTb3s3TAPPjiglZgqlQj4ycao+gPs8/XkdN1VCPUtewW0GgwoQe7YEuBKayJ6ioN8dGP37Kg/P/PlKaRQA==";
+      };
+    };
+    "remark-lint-no-file-name-consecutive-dashes-1.0.5" = {
+      name = "remark-lint-no-file-name-consecutive-dashes";
+      packageName = "remark-lint-no-file-name-consecutive-dashes";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-no-file-name-consecutive-dashes/-/remark-lint-no-file-name-consecutive-dashes-1.0.5.tgz";
+        sha512 = "Mg2IDsi790/dSdAzwnBnsMYdZm3qC2QgGwqOWcr0TPABJhhjC3p8r5fX4MNMTXI5It7B7bW9+ImmCeLOZiXkLg==";
+      };
+    };
+    "remark-lint-no-file-name-irregular-characters-1.0.5" = {
+      name = "remark-lint-no-file-name-irregular-characters";
+      packageName = "remark-lint-no-file-name-irregular-characters";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-no-file-name-irregular-characters/-/remark-lint-no-file-name-irregular-characters-1.0.5.tgz";
+        sha512 = "Oe5i99qNUKc2bxmiH421o5B/kqlf1dfjAxpHNLhi2X2dXE91zRGavrlRM/4f4oR0N9Bqb3qB9JZPyMPWrzu9XA==";
+      };
+    };
+    "remark-lint-no-file-name-mixed-case-1.0.5" = {
+      name = "remark-lint-no-file-name-mixed-case";
+      packageName = "remark-lint-no-file-name-mixed-case";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-no-file-name-mixed-case/-/remark-lint-no-file-name-mixed-case-1.0.5.tgz";
+        sha512 = "ilrUCbHZin/ENwr8c3SC2chgkFsizXjBQIB/oZ7gnm1IkCkZPiMyXZAHdpwC/DjbrpGxfMYh9JmIHao4giS5+A==";
+      };
+    };
+    "remark-lint-no-file-name-outer-dashes-1.0.6" = {
+      name = "remark-lint-no-file-name-outer-dashes";
+      packageName = "remark-lint-no-file-name-outer-dashes";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-no-file-name-outer-dashes/-/remark-lint-no-file-name-outer-dashes-1.0.6.tgz";
+        sha512 = "rT8CmcIlenegS0Yst4maYXdZfqIjBOiRUY8j/KJkORF5tKH+3O1/S07025qPGmcRihzK3w4yO0K8rgkKQw0b9w==";
+      };
+    };
+    "remark-lint-no-heading-punctuation-1.0.4" = {
+      name = "remark-lint-no-heading-punctuation";
+      packageName = "remark-lint-no-heading-punctuation";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-no-heading-punctuation/-/remark-lint-no-heading-punctuation-1.0.4.tgz";
+        sha512 = "++/HXg/qtVssJjzq2ZgEreoxaazw9KkYrAbTDImKV7Fypo+7bZFELUvFicq0/i9qwAwt1tvhkKtLYt1W/sr1JQ==";
+      };
+    };
+    "remark-lint-no-inline-padding-1.0.5" = {
+      name = "remark-lint-no-inline-padding";
+      packageName = "remark-lint-no-inline-padding";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-no-inline-padding/-/remark-lint-no-inline-padding-1.0.5.tgz";
+        sha512 = "AjS34hBRasYiIAKZJ7/9U42LouRHok2WVTRdQPcVtRBswStNOuot59S+FRsatqlk1wvMmjytqxUKQfVTSeu9ag==";
+      };
+    };
+    "remark-lint-no-literal-urls-1.0.4" = {
+      name = "remark-lint-no-literal-urls";
+      packageName = "remark-lint-no-literal-urls";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-no-literal-urls/-/remark-lint-no-literal-urls-1.0.4.tgz";
+        sha512 = "sHjbzaSG4z6jMu1L0Qx1b7VvIQHy0bR4xZ6t9auJ5AoB5ua8hb/970s77irH1+46TF1ezhE7i+QDjmhcQi09xg==";
+      };
+    };
+    "remark-lint-no-multiple-toplevel-headings-1.0.5" = {
+      name = "remark-lint-no-multiple-toplevel-headings";
+      packageName = "remark-lint-no-multiple-toplevel-headings";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-no-multiple-toplevel-headings/-/remark-lint-no-multiple-toplevel-headings-1.0.5.tgz";
+        sha512 = "RZ1YPxRO7Bo8mT+A36cZ7nx2QHFAKk+oE6j87YrZYpAKr2oF6snKS8nIGhVku4PSI/9cW1G12MZz1cAA5rcjFw==";
+      };
+    };
+    "remark-lint-no-shell-dollars-1.0.4" = {
+      name = "remark-lint-no-shell-dollars";
+      packageName = "remark-lint-no-shell-dollars";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-no-shell-dollars/-/remark-lint-no-shell-dollars-1.0.4.tgz";
+        sha512 = "YXFj8FUVTKkVvoAbFY3zv1Ol7Kj1i+qdze3pXSgRG61y1LpfL8/HpnvFrseMbBmNw6o4WpjTo7GoArngJ1sCeg==";
+      };
+    };
+    "remark-lint-no-shortcut-reference-image-1.0.4" = {
+      name = "remark-lint-no-shortcut-reference-image";
+      packageName = "remark-lint-no-shortcut-reference-image";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-no-shortcut-reference-image/-/remark-lint-no-shortcut-reference-image-1.0.4.tgz";
+        sha512 = "5/9QoesnOHIDwMHU9x+AGPBiFoMe9ZBKIR8nC17C6ZdksgwUIpjBJ3VX5POFlt5E6OhAZaeXqUCq9G2USccEdA==";
+      };
+    };
+    "remark-lint-no-shortcut-reference-link-1.0.5" = {
+      name = "remark-lint-no-shortcut-reference-link";
+      packageName = "remark-lint-no-shortcut-reference-link";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-no-shortcut-reference-link/-/remark-lint-no-shortcut-reference-link-1.0.5.tgz";
+        sha512 = "qDVL7/0ptOTd/nyd9u/4MYFWQtYQU8povdUB45UgTXy5Rrf1WsC+4DfzAEZkX3tOSTExdAIf1WOKqdC5xRcfvA==";
+      };
+    };
+    "remark-lint-no-table-indentation-1.0.5" = {
+      name = "remark-lint-no-table-indentation";
+      packageName = "remark-lint-no-table-indentation";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-no-table-indentation/-/remark-lint-no-table-indentation-1.0.5.tgz";
+        sha512 = "eE1GL+IzU3vtHdYCKHCZEIhCwiwCM7UH+pMDIMpGfH2LB3cB/Nrfbiz9xadGkARKqxxDMsJSBZDw4A/01IU+kA==";
+      };
+    };
+    "remark-lint-ordered-list-marker-style-1.0.4" = {
+      name = "remark-lint-ordered-list-marker-style";
+      packageName = "remark-lint-ordered-list-marker-style";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-ordered-list-marker-style/-/remark-lint-ordered-list-marker-style-1.0.4.tgz";
+        sha512 = "c6AIqeePzm3nfkPCbTdwBS3/AQICgwE76+ryOc7tsSq4ulyK/Nt8Syvi/oiHYuonBddZoGtFTNCn0jqen9qscA==";
+      };
+    };
+    "remark-lint-ordered-list-marker-value-1.0.5" = {
+      name = "remark-lint-ordered-list-marker-value";
+      packageName = "remark-lint-ordered-list-marker-value";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-ordered-list-marker-value/-/remark-lint-ordered-list-marker-value-1.0.5.tgz";
+        sha512 = "eKepbNNfu9rEuG8WvV0sc7B+KiPMgq5Nc9baAxL9Hi6mhpj347YFWXxJUNttSINS13YTpnHxPvXmF9SzhjFKNQ==";
+      };
+    };
+    "remark-lint-rule-style-1.0.4" = {
+      name = "remark-lint-rule-style";
+      packageName = "remark-lint-rule-style";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-rule-style/-/remark-lint-rule-style-1.0.4.tgz";
+        sha512 = "omr5P6CCvo2zixCzK9uiGZpwzOE+4rc+95kWH95k2iA6Rp8Qohp8RK4unSRKLtFYGUhSbiQPgWaQXHDxMkWczg==";
+      };
+    };
+    "remark-lint-strong-marker-1.0.4" = {
+      name = "remark-lint-strong-marker";
+      packageName = "remark-lint-strong-marker";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-strong-marker/-/remark-lint-strong-marker-1.0.4.tgz";
+        sha512 = "X9f6yhZ85cdP0cmCgkqlbxllpeQ60pS9Qqk9Jb9SZo6f95esaHptQ5bExb1ZVXzhSHz2Xz86tUhXtzG3zGFD4g==";
+      };
+    };
+    "remark-lint-table-cell-padding-1.0.5" = {
+      name = "remark-lint-table-cell-padding";
+      packageName = "remark-lint-table-cell-padding";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-table-cell-padding/-/remark-lint-table-cell-padding-1.0.5.tgz";
+        sha512 = "N/WpcymrGBSPbLiv2OQTvdzNn6H9ctdyEA+P/odn4G9FqyrLmeTMkGJuGtinU569hLG/RtHqZIDeFVDiYi8Wzw==";
+      };
+    };
+    "remark-lint-table-pipe-alignment-1.0.4" = {
+      name = "remark-lint-table-pipe-alignment";
+      packageName = "remark-lint-table-pipe-alignment";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-table-pipe-alignment/-/remark-lint-table-pipe-alignment-1.0.4.tgz";
+        sha512 = "pmELEOXeUjMQedyVvOtZcTCnTu6FxZ4gfBskMx6iJhOFEEKTFOmviqlKLpndPBxFNZB86AiE0C00/NvAaut8dw==";
+      };
+    };
+    "remark-lint-table-pipes-1.0.4" = {
+      name = "remark-lint-table-pipes";
+      packageName = "remark-lint-table-pipes";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-table-pipes/-/remark-lint-table-pipes-1.0.4.tgz";
+        sha512 = "0fdnoiiSLIPd/76gNvQY4pg27d8HkMmmv5gCGfD+Z/Si9DdpbJdq93U0kX+Botb3+/4VEDIlcU7Cp5HXppMTWA==";
+      };
+    };
+    "remark-lint-unordered-list-marker-style-1.0.4" = {
+      name = "remark-lint-unordered-list-marker-style";
+      packageName = "remark-lint-unordered-list-marker-style";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-unordered-list-marker-style/-/remark-lint-unordered-list-marker-style-1.0.4.tgz";
+        sha512 = "lcuG1J74VGTT4gl8oH33HpkHrqorxjxMlJnBupLFrVowqvJ2hAq8yPJdGZ7P46uZOYw+Xz+Qv08bF8A73PNWxQ==";
+      };
+    };
     "remark-mdx-2.0.0-next.9" = {
       name = "remark-mdx";
       packageName = "remark-mdx";
@@ -50738,6 +51981,15 @@ let
         sha512 = "Z/+0eWc7pBEABwg3a5ptL+vCTWHYMFnYzpLoJxTm2muBSk8XyB/CL+tEJ6SV3Q/fScHX2dtG4JRcGSpbZFLazQ==";
       };
     };
+    "remark-message-control-4.2.0" = {
+      name = "remark-message-control";
+      packageName = "remark-message-control";
+      version = "4.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-message-control/-/remark-message-control-4.2.0.tgz";
+        sha512 = "WXH2t5ljTyhsXlK1zPBLF3iPHbXl58R94phPMreS1xcHWBZJt6Oiu8RtNjy1poZFb3PqKnbYLJeR/CWcZ1bTFw==";
+      };
+    };
     "remark-message-control-6.0.0" = {
       name = "remark-message-control";
       packageName = "remark-message-control";
@@ -50756,6 +52008,15 @@ let
         sha512 = "XZgICP2gJ1MHU7+vQaRM+VA9HEL3X253uwUM/BGgx3iv6TH2B3bF3B8q00DKcyP9YrJV+/7WOWEWBFF/u8cIsw==";
       };
     };
+    "remark-parse-5.0.0" = {
+      name = "remark-parse";
+      packageName = "remark-parse";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-parse/-/remark-parse-5.0.0.tgz";
+        sha512 = "b3iXszZLH1TLoyUzrATcTQUZrwNl1rE70rVdSruJFlDaJ9z5aMkhrG43Pp68OgfHndL/ADz6V69Zow8cTQu+JA==";
+      };
+    };
     "remark-parse-6.0.3" = {
       name = "remark-parse";
       packageName = "remark-parse";
@@ -50783,6 +52044,24 @@ let
         sha512 = "geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw==";
       };
     };
+    "remark-preset-lint-markdown-style-guide-2.1.4" = {
+      name = "remark-preset-lint-markdown-style-guide";
+      packageName = "remark-preset-lint-markdown-style-guide";
+      version = "2.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-preset-lint-markdown-style-guide/-/remark-preset-lint-markdown-style-guide-2.1.4.tgz";
+        sha512 = "CGEN3DRtJEp+BvfgZ+VKxuq0Ij8Uw2DXfrbhK2xn4/XxatcHRPN8tnagXbMe1LHaQJGN8Gl1+UyLjsfIk6hyGQ==";
+      };
+    };
+    "remark-retext-3.1.3" = {
+      name = "remark-retext";
+      packageName = "remark-retext";
+      version = "3.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-retext/-/remark-retext-3.1.3.tgz";
+        sha512 = "UujXAm28u4lnUvtOZQFYfRIhxX+auKI9PuA2QpQVTT7gYk1OgX6o0OUrSo1KOa6GNrFX+OODOtS5PWIHPxM7qw==";
+      };
+    };
     "remark-retext-4.0.0" = {
       name = "remark-retext";
       packageName = "remark-retext";
@@ -51206,13 +52485,22 @@ let
         sha512 = "qUgANli03jjAyGlnbYVAV5vvnOmJnODyABz51RdBN7M4WaVu8mecZWgyQNkG8Yqe3KRGRt0l4K4B3XVEULC4CA==";
       };
     };
-    "resolve-1.17.0" = {
-      name = "resolve";
-      packageName = "resolve";
-      version = "1.17.0";
+    "reserved-words-0.1.2" = {
+      name = "reserved-words";
+      packageName = "reserved-words";
+      version = "0.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz";
-        sha512 = "ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==";
+        url = "https://registry.npmjs.org/reserved-words/-/reserved-words-0.1.2.tgz";
+        sha1 = "00a0940f98cd501aeaaac316411d9adc52b31ab1";
+      };
+    };
+    "resize-observer-polyfill-1.5.1" = {
+      name = "resize-observer-polyfill";
+      packageName = "resize-observer-polyfill";
+      version = "1.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz";
+        sha512 = "LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==";
       };
     };
     "resolve-1.20.0" = {
@@ -51323,6 +52611,15 @@ let
         sha512 = "qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==";
       };
     };
+    "resolve-global-1.0.0" = {
+      name = "resolve-global";
+      packageName = "resolve-global";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/resolve-global/-/resolve-global-1.0.0.tgz";
+        sha512 = "zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==";
+      };
+    };
     "resolve-options-1.1.0" = {
       name = "resolve-options";
       packageName = "resolve-options";
@@ -51341,6 +52638,15 @@ let
         sha1 = "686f70b188bd7d675f5bbc4282ccda060abb9d27";
       };
     };
+    "resolve-protobuf-schema-2.1.0" = {
+      name = "resolve-protobuf-schema";
+      packageName = "resolve-protobuf-schema";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz";
+        sha512 = "kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ==";
+      };
+    };
     "resolve-url-0.2.1" = {
       name = "resolve-url";
       packageName = "resolve-url";
@@ -51458,6 +52764,15 @@ let
         sha512 = "M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==";
       };
     };
+    "retext-6.0.2" = {
+      name = "retext";
+      packageName = "retext";
+      version = "6.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/retext/-/retext-6.0.2.tgz";
+        sha512 = "CxpBywVxRjzikCRrC6Z87KzqzuSbCDLLqpQSzjzE0xlzPaZemZiywCHEzX7eSWRdXY5006rYgD7Zm4BCyzFxvg==";
+      };
+    };
     "retext-english-3.0.4" = {
       name = "retext-english";
       packageName = "retext-english";
@@ -51476,6 +52791,15 @@ let
         sha512 = "ha7zrQ+Bq4xWifm21IcAzc9xhMWCJYfePUjRRNE2mXi8cFhaq1F8+cD78YA2nd6W2mxd11VGTVKY9O0DmzEywQ==";
       };
     };
+    "retext-latin-2.0.4" = {
+      name = "retext-latin";
+      packageName = "retext-latin";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/retext-latin/-/retext-latin-2.0.4.tgz";
+        sha512 = "fOoSSoQgDZ+l/uS81oxI3alBghDUPja0JEl0TpQxI6MN+dhM6fLFumPJwMZ4PJTyL5FFAgjlsdv8IX+6IRuwMw==";
+      };
+    };
     "retext-profanities-6.1.0" = {
       name = "retext-profanities";
       packageName = "retext-profanities";
@@ -51485,6 +52809,24 @@ let
         sha512 = "40Ym0WOgy7rRY4tR2iL01g3Y5Ql+9NBV21hycIhNX3uv+6vjaWB30NWN+tTcxNIWBJEwXHoTDMiVdAMm6ZpHVA==";
       };
     };
+    "retext-spell-2.4.1" = {
+      name = "retext-spell";
+      packageName = "retext-spell";
+      version = "2.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/retext-spell/-/retext-spell-2.4.1.tgz";
+        sha512 = "l2C37Sz+JMLgUJHqqNA2bV3Qqh7V6zWT3fCi8MtsZn2PoanDh57Tz2NW/DJpoEIsK9mV7o2EMvQmIMt5cgcgAg==";
+      };
+    };
+    "retext-stringify-2.0.4" = {
+      name = "retext-stringify";
+      packageName = "retext-stringify";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/retext-stringify/-/retext-stringify-2.0.4.tgz";
+        sha512 = "xOtx5mFJBoT3j7PBtiY2I+mEGERNniofWktI1cKXvjMEJPOuqve0dghLHO1+gz/gScLn4zqspDGv4kk2wS5kSA==";
+      };
+    };
     "rethinkdb-2.4.2" = {
       name = "rethinkdb";
       packageName = "rethinkdb";
@@ -51512,6 +52854,15 @@ let
         sha1 = "1b42a6266a21f07421d1b0b54b7dc167b01c013b";
       };
     };
+    "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==";
+      };
+    };
     "retry-0.6.0" = {
       name = "retry";
       packageName = "retry";
@@ -51737,6 +53088,15 @@ let
         sha512 = "CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==";
       };
     };
+    "robust-predicates-3.0.1" = {
+      name = "robust-predicates";
+      packageName = "robust-predicates";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.1.tgz";
+        sha512 = "ndEIpszUHiG4HtDsQLeIuMvRsDnn8c8rYStabochtUeCvfuvNptb5TUbVD68LRAILPX7p9nqQGh4xJgn3EHS/g==";
+      };
+    };
     "rollup-1.32.1" = {
       name = "rollup";
       packageName = "rollup";
@@ -51746,13 +53106,13 @@ let
         sha512 = "/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A==";
       };
     };
-    "rollup-2.53.3" = {
+    "rollup-2.56.3" = {
       name = "rollup";
       packageName = "rollup";
-      version = "2.53.3";
+      version = "2.56.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/rollup/-/rollup-2.53.3.tgz";
-        sha512 = "79QIGP5DXz5ZHYnCPi3tLz+elOQi6gudp9YINdaJdjG0Yddubo6JRFUM//qCZ0Bap/GJrsUoEBVdSOc4AkMlRA==";
+        url = "https://registry.npmjs.org/rollup/-/rollup-2.56.3.tgz";
+        sha512 = "Au92NuznFklgQCUcV96iXlxUbHuB1vQMaH76DHl5M11TotjOHwqk9CwcrT78+Tnv4FN9uTBxq6p4EJoYkpyekg==";
       };
     };
     "rollup-plugin-babel-4.4.0" = {
@@ -51917,6 +53277,15 @@ let
         sha512 = "nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==";
       };
     };
+    "rtcpeerconnection-shim-1.2.15" = {
+      name = "rtcpeerconnection-shim";
+      packageName = "rtcpeerconnection-shim";
+      version = "1.2.15";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rtcpeerconnection-shim/-/rtcpeerconnection-shim-1.2.15.tgz";
+        sha512 = "C6DxhXt7bssQ1nHb154lqeL0SXz5Dx4RczXZu2Aa/L1NJFnEVDxFwCBo3fqtuljhHIGceg5JKBV4XJ0gW5JKyw==";
+      };
+    };
     "rttc-4.5.2" = {
       name = "rttc";
       packageName = "rttc";
@@ -51953,6 +53322,15 @@ let
         sha512 = "tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==";
       };
     };
+    "run-con-1.2.10" = {
+      name = "run-con";
+      packageName = "run-con";
+      version = "1.2.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/run-con/-/run-con-1.2.10.tgz";
+        sha512 = "n7PZpYmMM26ZO21dd8y3Yw1TRtGABjRtgPSgFS/nhzfvbJMXFtJhJVyEgayMiP+w/23craJjsnfDvx4W4ue/HQ==";
+      };
+    };
     "run-parallel-1.2.0" = {
       name = "run-parallel";
       packageName = "run-parallel";
@@ -51998,6 +53376,15 @@ let
         sha512 = "cLgakCUf6PedEu15t8kbsjnwIFFR2D4RfL+W3iWFJ4iac7z4B0ZI8fxy4R3J956kAI68HclCFGL8MPoUVC3qVA==";
       };
     };
+    "rw-0.1.4" = {
+      name = "rw";
+      packageName = "rw";
+      version = "0.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rw/-/rw-0.1.4.tgz";
+        sha1 = "4903cbd80248ae0ede685bf58fd236a7a9b29a3e";
+      };
+    };
     "rw-1.3.3" = {
       name = "rw";
       packageName = "rw";
@@ -52079,13 +53466,13 @@ let
         sha512 = "hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==";
       };
     };
-    "rxjs-7.2.0" = {
+    "rxjs-7.3.0" = {
       name = "rxjs";
       packageName = "rxjs";
-      version = "7.2.0";
+      version = "7.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/rxjs/-/rxjs-7.2.0.tgz";
-        sha512 = "aX8w9OpKrQmiPKfT1bqETtUr9JygIz6GZ+gql8v7CijClsP0laoFUdKzxFAoWuRdSlOdU2+crss+cMf+cqMTnw==";
+        url = "https://registry.npmjs.org/rxjs/-/rxjs-7.3.0.tgz";
+        sha512 = "p2yuGIg9S1epc3vrjKf6iVb3RCaAYjYskkO+jHIaV0IjOPlJop4UnodOoFb2xeNwlguqLYvGw1b1McillYb5Gw==";
       };
     };
     "s3-stream-upload-2.0.2" = {
@@ -52241,13 +53628,13 @@ let
         sha512 = "y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==";
       };
     };
-    "sass-1.35.2" = {
+    "sass-1.38.1" = {
       name = "sass";
       packageName = "sass";
-      version = "1.35.2";
+      version = "1.38.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sass/-/sass-1.35.2.tgz";
-        sha512 = "jhO5KAR+AMxCEwIH3v+4zbB2WB0z67V1X0jbapfVwQQdjHZUGUyukpnoM6+iCMfsIUC016w9OPKQ5jrNOS9uXw==";
+        url = "https://registry.npmjs.org/sass/-/sass-1.38.1.tgz";
+        sha512 = "Lj8nPaSYOuRhgqdyShV50fY5jKnvaRmikUNalMPmbH+tKMGgEKVkltI/lP30PEfO2T1t6R9yc2QIBLgOc3uaFw==";
       };
     };
     "sax-0.5.8" = {
@@ -52331,15 +53718,6 @@ let
         sha512 = "2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==";
       };
     };
-    "schema-utils-0.4.7" = {
-      name = "schema-utils";
-      packageName = "schema-utils";
-      version = "0.4.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz";
-        sha512 = "v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==";
-      };
-    };
     "schema-utils-1.0.0" = {
       name = "schema-utils";
       packageName = "schema-utils";
@@ -52385,6 +53763,15 @@ let
         sha512 = "g3WxHrqSWCZHGHlSrF51VXFdjImhwvH8ZO/pryFH56Qi0cDsZfylQa/t0jCzVQFNbNvM00HfHjkDPEuarKDSWQ==";
       };
     };
+    "sdp-2.12.0" = {
+      name = "sdp";
+      packageName = "sdp";
+      version = "2.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sdp/-/sdp-2.12.0.tgz";
+        sha512 = "jhXqQAQVM+8Xj5EjJGVweuEzgtGWb3tmEEpl3CLP3cStInSbVHSg0QWOGQzNq8pSID4JkpeV2mPqlMDLrm0/Vw==";
+      };
+    };
     "sec-1.0.0" = {
       name = "sec";
       packageName = "sec";
@@ -52673,13 +54060,13 @@ let
         sha512 = "d8fvGg5ycKAq0+I6nfWeCx6ffaWJCsBYU0H2Rq56+/zFePYfT8mXkB3tWBSjR5BerkHNZ5eTPIk1/LBYas35xQ==";
       };
     };
-    "semver-regex-1.0.0" = {
+    "semver-regex-2.0.0" = {
       name = "semver-regex";
       packageName = "semver-regex";
-      version = "1.0.0";
+      version = "2.0.0";
       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-2.0.0.tgz";
+        sha512 = "mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==";
       };
     };
     "semver-truncate-1.1.2" = {
@@ -53312,13 +54699,13 @@ let
         sha1 = "3ff21f198cad2175f9f3b781853fd94d0d19b590";
       };
     };
-    "sign-addon-3.5.0" = {
+    "sign-addon-3.7.0" = {
       name = "sign-addon";
       packageName = "sign-addon";
-      version = "3.5.0";
+      version = "3.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sign-addon/-/sign-addon-3.5.0.tgz";
-        sha512 = "Mc/Cg9P10Zyz8cnz8jSuvUDBnoY6rPExQf1vZvH4l5rfLZCLZVaLhJQ40QOAnbu8sE4TD2VzqB9Zogq7nTPrVA==";
+        url = "https://registry.npmjs.org/sign-addon/-/sign-addon-3.7.0.tgz";
+        sha512 = "XPLjMCcGuP5pPJSXpqFwKguIKxcteOx6dE1Bm2j92Brsro6pZYcklOpv4ohfRNW1UQp0J2cdi9zN2oNF4lMiRg==";
       };
     };
     "signal-exit-3.0.3" = {
@@ -53402,13 +54789,13 @@ let
         sha512 = "rohCHmEjD/ESXFLxF4bVeqgdb4Awc65ZyyuCKl3f7BvgMbZOBa/Ye3HN/GFnvruiUOAWWNupxhz3Rz5/3vJLTg==";
       };
     };
-    "simple-git-2.41.1" = {
+    "simple-git-2.44.0" = {
       name = "simple-git";
       packageName = "simple-git";
-      version = "2.41.1";
+      version = "2.44.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/simple-git/-/simple-git-2.41.1.tgz";
-        sha512 = "n1STz1tfnemvYndzWakgKa0JB4s/LrUG4btXMetWB9N9ZoIAJQd0ZtWj9sBwWxIZ/X/tYdA/tq+KHfFNAGzZhQ==";
+        url = "https://registry.npmjs.org/simple-git/-/simple-git-2.44.0.tgz";
+        sha512 = "wIjcAmymhzgdaM0Y/a+XxmNGlivvHQTPZDYXVmyHMShVDwdeVqu3+OOyDbYu0DnfVzqLs2EOxRTgMNbC3YquwQ==";
       };
     };
     "simple-handshake-3.0.0" = {
@@ -53438,6 +54825,15 @@ let
         sha512 = "ZmlNUGR1KI12sPHeQ7dQY1qM5KfOgFqClNNVO8zQ9Pg6u7gHLCPFGD+VC7MCwpGDMd1uw3Bb2TfFfR8d6bB34A==";
       };
     };
+    "simple-markdown-0.7.3" = {
+      name = "simple-markdown";
+      packageName = "simple-markdown";
+      version = "0.7.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/simple-markdown/-/simple-markdown-0.7.3.tgz";
+        sha512 = "uGXIc13NGpqfPeFJIt/7SHHxd6HekEJYtsdoCM06mEBPL9fQH/pSD7LRM6PZ7CKchpSvxKL4tvwMamqAaNDAyg==";
+      };
+    };
     "simple-message-channels-1.2.1" = {
       name = "simple-message-channels";
       packageName = "simple-message-channels";
@@ -53627,6 +55023,15 @@ let
         sha512 = "g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==";
       };
     };
+    "slash-4.0.0" = {
+      name = "slash";
+      packageName = "slash";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz";
+        sha512 = "3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==";
+      };
+    };
     "slasp-0.0.4" = {
       name = "slasp";
       packageName = "slasp";
@@ -53717,15 +55122,6 @@ let
         sha1 = "56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707";
       };
     };
-    "slugid-1.1.0" = {
-      name = "slugid";
-      packageName = "slugid";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/slugid/-/slugid-1.1.0.tgz";
-        sha1 = "e09f00899c09f5a7058edc36dd49f046fd50a82a";
-      };
-    };
     "slugify-1.4.7" = {
       name = "slugify";
       packageName = "slugify";
@@ -53744,13 +55140,22 @@ let
         sha512 = "FkMq+MQc5hzYgM86nLuHI98Acwi3p4wX+a5BO9Hhw4JdK4L7WueIiZ4tXEobImPqBz2sVcV0+Mu3GRB30IGang==";
       };
     };
-    "smart-buffer-4.1.0" = {
+    "smart-buffer-1.1.15" = {
       name = "smart-buffer";
       packageName = "smart-buffer";
-      version = "4.1.0";
+      version = "1.1.15";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/smart-buffer/-/smart-buffer-1.1.15.tgz";
+        sha1 = "7f114b5b65fab3e2a35aa775bb12f0d1c649bf16";
+      };
+    };
+    "smart-buffer-4.2.0" = {
+      name = "smart-buffer";
+      packageName = "smart-buffer";
+      version = "4.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.1.0.tgz";
-        sha512 = "iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==";
+        url = "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz";
+        sha512 = "94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==";
       };
     };
     "smartdc-auth-2.3.1" = {
@@ -53861,204 +55266,6 @@ let
         sha1 = "6541184cc90aeea6c6e7b35e2659082443c66198";
       };
     };
-    "snyk-config-4.0.0" = {
-      name = "snyk-config";
-      packageName = "snyk-config";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-config/-/snyk-config-4.0.0.tgz";
-        sha512 = "E6jNe0oUjjzVASWBOAc/mA23DhbzABDF9MI6UZvl0gylh2NSXSXw2/LjlqMNOKL2c1qkbSkzLOdIX5XACoLCAQ==";
-      };
-    };
-    "snyk-cpp-plugin-2.2.1" = {
-      name = "snyk-cpp-plugin";
-      packageName = "snyk-cpp-plugin";
-      version = "2.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-cpp-plugin/-/snyk-cpp-plugin-2.2.1.tgz";
-        sha512 = "NFwVLMCqKTocY66gcim0ukF6e31VRDJqDapg5sy3vCHqlD1OCNUXSK/aI4VQEEndDrsnFmQepsL5KpEU0dDRIQ==";
-      };
-    };
-    "snyk-docker-plugin-4.22.1" = {
-      name = "snyk-docker-plugin";
-      packageName = "snyk-docker-plugin";
-      version = "4.22.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-docker-plugin/-/snyk-docker-plugin-4.22.1.tgz";
-        sha512 = "fpXGkBu69Vb5meSrq0KjSKr0nlibA8z18fuH/O8HuDh1b5XyqKNz412njybpJtW07JPpA9rKX9gewRBZWch6fQ==";
-      };
-    };
-    "snyk-go-parser-1.4.1" = {
-      name = "snyk-go-parser";
-      packageName = "snyk-go-parser";
-      version = "1.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-go-parser/-/snyk-go-parser-1.4.1.tgz";
-        sha512 = "StU3uHB85VMEkcgXta63M0Fgd+9cs5sMCjQXTBoYTdE4dxarPn7U67yCuwkRRdZdny1ZXtzfY8LKns9i0+dy9w==";
-      };
-    };
-    "snyk-go-plugin-1.17.0" = {
-      name = "snyk-go-plugin";
-      packageName = "snyk-go-plugin";
-      version = "1.17.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-go-plugin/-/snyk-go-plugin-1.17.0.tgz";
-        sha512 = "1jAYPRgMapO2BYL+HWsUq5gsAiDGmI0Pn7omc0lk24tcUOMhUB+1hb0u9WBMNzHvXBjevBkjOctjpnt2hMKN6Q==";
-      };
-    };
-    "snyk-gradle-plugin-3.16.0" = {
-      name = "snyk-gradle-plugin";
-      packageName = "snyk-gradle-plugin";
-      version = "3.16.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-gradle-plugin/-/snyk-gradle-plugin-3.16.0.tgz";
-        sha512 = "PQegG8GOweJvUDSroysO1E0RK3MxphSUvNG5siRqGHJQ8s+dw9DddYN8kMn5+pTrfzo6zddgDPJxjqsfNR+NIw==";
-      };
-    };
-    "snyk-module-3.1.0" = {
-      name = "snyk-module";
-      packageName = "snyk-module";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-module/-/snyk-module-3.1.0.tgz";
-        sha512 = "HHuOYEAACpUpkFgU8HT57mmxmonaJ4O3YADoSkVhnhkmJ+AowqZyJOau703dYHNrq2DvQ7qYw81H7yyxS1Nfjw==";
-      };
-    };
-    "snyk-mvn-plugin-2.26.1" = {
-      name = "snyk-mvn-plugin";
-      packageName = "snyk-mvn-plugin";
-      version = "2.26.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-mvn-plugin/-/snyk-mvn-plugin-2.26.1.tgz";
-        sha512 = "DCs53aRT/uK2e1jXzeVG2d+Ll0bmY/YHL+jEYaWJko8XwGoVwqCrVOkRyzXd2KOZUk3gpD6MaxIrBWsc8RJzRA==";
-      };
-    };
-    "snyk-nodejs-lockfile-parser-1.35.0" = {
-      name = "snyk-nodejs-lockfile-parser";
-      packageName = "snyk-nodejs-lockfile-parser";
-      version = "1.35.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-nodejs-lockfile-parser/-/snyk-nodejs-lockfile-parser-1.35.0.tgz";
-        sha512 = "fSjer9Ic8cdA2HvInUmhwbAhoLFXIokAzGB1PeGKwr0zzyfo3dSX3ReTMEbkhrEg+h0eES13px/KiiJ0EKRKMg==";
-      };
-    };
-    "snyk-nodejs-lockfile-parser-1.35.1" = {
-      name = "snyk-nodejs-lockfile-parser";
-      packageName = "snyk-nodejs-lockfile-parser";
-      version = "1.35.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-nodejs-lockfile-parser/-/snyk-nodejs-lockfile-parser-1.35.1.tgz";
-        sha512 = "NiXN+MdWaZxseXVDgCM4CZ5aBgI5LloUbwUP9c3oMZDih9Zj6Vf5edDcL8eM3BGl+a6LceJzB6w+xrIqKCXgQA==";
-      };
-    };
-    "snyk-nuget-plugin-1.21.1" = {
-      name = "snyk-nuget-plugin";
-      packageName = "snyk-nuget-plugin";
-      version = "1.21.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-nuget-plugin/-/snyk-nuget-plugin-1.21.1.tgz";
-        sha512 = "nRtedIvrow5ODqOKkQWolKrxn8ZoNL3iNJGuW0jNhwv+/9K0XE1UORM5F1ENAsd+nzCSO/kiYAXCc5CNK8HWEw==";
-      };
-    };
-    "snyk-paket-parser-1.6.0" = {
-      name = "snyk-paket-parser";
-      packageName = "snyk-paket-parser";
-      version = "1.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-paket-parser/-/snyk-paket-parser-1.6.0.tgz";
-        sha512 = "6htFynjBe/nakclEHUZ1A3j5Eu32/0pNve5Qm4MFn3YQmJgj7UcAO8hdyK3QfzEY29/kAv/rkJQg+SKshn+N9Q==";
-      };
-    };
-    "snyk-php-plugin-1.9.2" = {
-      name = "snyk-php-plugin";
-      packageName = "snyk-php-plugin";
-      version = "1.9.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-php-plugin/-/snyk-php-plugin-1.9.2.tgz";
-        sha512 = "IQcdsQBqqXVRY5DatlI7ASy4flbhtU2V7cr4P2rK9rkFnVHO6LHcitwKXVZa9ocdOmpZDzk7U6iwHJkVFcR6OA==";
-      };
-    };
-    "snyk-poetry-lockfile-parser-1.1.6" = {
-      name = "snyk-poetry-lockfile-parser";
-      packageName = "snyk-poetry-lockfile-parser";
-      version = "1.1.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-poetry-lockfile-parser/-/snyk-poetry-lockfile-parser-1.1.6.tgz";
-        sha512 = "MoekbWOZPj9umfukjk2bd2o3eRj0OyO+58sxq9crMtHmTlze4h0/Uj4+fb0JFPBOtBO3c2zwbA+dvFQmpKoOTA==";
-      };
-    };
-    "snyk-policy-1.19.0" = {
-      name = "snyk-policy";
-      packageName = "snyk-policy";
-      version = "1.19.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-policy/-/snyk-policy-1.19.0.tgz";
-        sha512 = "XYjhOTRPFA7NfDUsH6uH1fbML2OgSFsqdUPbud7x01urNP9CHXgUgAD4NhKMi3dVQK+7IdYadWt0wrFWw4y+qg==";
-      };
-    };
-    "snyk-python-plugin-1.19.11" = {
-      name = "snyk-python-plugin";
-      packageName = "snyk-python-plugin";
-      version = "1.19.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-python-plugin/-/snyk-python-plugin-1.19.11.tgz";
-        sha512 = "zUKbSbw+wU1FCUDYt+IDjaES0pc1UKBECOqjHSJMxWm9VhstvPtI4KccetwOfne2oUcmaEJJvcEp4s9VTK04XQ==";
-      };
-    };
-    "snyk-resolve-1.1.0" = {
-      name = "snyk-resolve";
-      packageName = "snyk-resolve";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-resolve/-/snyk-resolve-1.1.0.tgz";
-        sha512 = "OZMF8I8TOu0S58Z/OS9mr8jkEzGAPByCsAkrWlcmZgPaE0RsxVKVIFPhbMNy/JlYswgGDYYIEsNw+e0j1FnTrw==";
-      };
-    };
-    "snyk-resolve-deps-4.7.2" = {
-      name = "snyk-resolve-deps";
-      packageName = "snyk-resolve-deps";
-      version = "4.7.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-resolve-deps/-/snyk-resolve-deps-4.7.2.tgz";
-        sha512 = "Bmtr7QdRL2b3Js+mPDmvXbkprOpzO8aUFXqR0nJKAOlUVQqZ84yiuT0n/mssEiJJ0vP+k0kZvTeiTwgio4KZRg==";
-      };
-    };
-    "snyk-sbt-plugin-2.11.3" = {
-      name = "snyk-sbt-plugin";
-      packageName = "snyk-sbt-plugin";
-      version = "2.11.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-sbt-plugin/-/snyk-sbt-plugin-2.11.3.tgz";
-        sha512 = "xcZAYENuEx+SG51AuLLL59jpN/qerJdSdznTANoyNM7bJjVhTvLTjEfoOxbeogZwKmFDKKUfc6Vw+EdEy8VZug==";
-      };
-    };
-    "snyk-tree-1.0.0" = {
-      name = "snyk-tree";
-      packageName = "snyk-tree";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-tree/-/snyk-tree-1.0.0.tgz";
-        sha1 = "0fb73176dbf32e782f19100294160448f9111cc8";
-      };
-    };
-    "snyk-try-require-1.3.1" = {
-      name = "snyk-try-require";
-      packageName = "snyk-try-require";
-      version = "1.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-try-require/-/snyk-try-require-1.3.1.tgz";
-        sha1 = "6e026f92e64af7fcccea1ee53d524841e418a212";
-      };
-    };
-    "snyk-try-require-2.0.1" = {
-      name = "snyk-try-require";
-      packageName = "snyk-try-require";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-try-require/-/snyk-try-require-2.0.1.tgz";
-        sha512 = "VCOfFIvqLMXgCXEdooQgu3A40XYIFBnj0X8Y01RJ5iAbu08b4WKGN/uAKaRVF30dABS4EcjsalmCO+YlKUPEIA==";
-      };
-    };
     "socket.io-1.0.6" = {
       name = "socket.io";
       packageName = "socket.io";
@@ -54239,13 +55446,22 @@ let
         sha512 = "5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==";
       };
     };
-    "sockjs-client-1.5.1" = {
+    "sockjs-client-1.5.2" = {
       name = "sockjs-client";
       packageName = "sockjs-client";
-      version = "1.5.1";
+      version = "1.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.1.tgz";
-        sha512 = "VnVAb663fosipI/m6pqRXakEOw7nvd7TUgdr3PlR/8V2I95QIdwT8L4nMxhyU8SmDBHYXU1TOElaKOmKLfYzeQ==";
+        url = "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.2.tgz";
+        sha512 = "ZzRxPBISQE7RpzlH4tKJMQbHM9pabHluk0WBaxAQ+wm/UieeBVBou0p4wVnSQGN9QmpAZygQ0cDIypWuqOFmFQ==";
+      };
+    };
+    "socks-1.1.10" = {
+      name = "socks";
+      packageName = "socks";
+      version = "1.1.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/socks/-/socks-1.1.10.tgz";
+        sha1 = "5b8b7fc7c8f341c53ed056e929b7bf4de8ba7b5a";
       };
     };
     "socks-2.6.1" = {
@@ -54266,6 +55482,15 @@ let
         sha512 = "vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ==";
       };
     };
+    "socks-proxy-agent-6.0.0" = {
+      name = "socks-proxy-agent";
+      packageName = "socks-proxy-agent";
+      version = "6.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.0.0.tgz";
+        sha512 = "FIgZbQWlnjVEQvMkylz64/rUggGtrKstPnx8OZyYFG0tAFR8CSBtpXxSwbFLHyeXFn/cunFL7MpuSOvDSOPo9g==";
+      };
+    };
     "socks5-client-1.2.8" = {
       name = "socks5-client";
       packageName = "socks5-client";
@@ -54554,15 +55779,6 @@ let
         sha512 = "CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==";
       };
     };
-    "source-map-0.8.0-beta.0" = {
-      name = "source-map";
-      packageName = "source-map";
-      version = "0.8.0-beta.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz";
-        sha512 = "2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==";
-      };
-    };
     "source-map-js-0.6.2" = {
       name = "source-map-js";
       packageName = "source-map-js";
@@ -54725,13 +55941,13 @@ let
         sha512 = "cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==";
       };
     };
-    "spdx-license-ids-3.0.9" = {
+    "spdx-license-ids-3.0.10" = {
       name = "spdx-license-ids";
       packageName = "spdx-license-ids";
-      version = "3.0.9";
+      version = "3.0.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz";
-        sha512 = "Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ==";
+        url = "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.10.tgz";
+        sha512 = "oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA==";
       };
     };
     "spdx-license-list-6.4.0" = {
@@ -54788,6 +56004,15 @@ let
         sha512 = "1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==";
       };
     };
+    "speed-limiter-1.0.2" = {
+      name = "speed-limiter";
+      packageName = "speed-limiter";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/speed-limiter/-/speed-limiter-1.0.2.tgz";
+        sha512 = "Ax+TbUOho84bWUc3AKqWtkIvAIVws7d6QI4oJkgH4yQ5Yil+lR3vjd/7qd51dHKGzS5bFxg0++QwyNRN7s6rZA==";
+      };
+    };
     "speedometer-0.1.4" = {
       name = "speedometer";
       packageName = "speedometer";
@@ -54860,15 +56085,6 @@ let
         sha1 = "b7e8e0ab51345158b72c1f6dbef2406d51f1d027";
       };
     };
-    "split-ca-1.0.1" = {
-      name = "split-ca";
-      packageName = "split-ca";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/split-ca/-/split-ca-1.0.1.tgz";
-        sha1 = "6c83aff3692fa61256e0cd197e05e9de157691a6";
-      };
-    };
     "split-lines-2.1.0" = {
       name = "split-lines";
       packageName = "split-lines";
@@ -55094,13 +56310,13 @@ let
         sha512 = "pJAFizB6OcuJLX4RJJuU9HWyPwM2CqLi/vs08lhVIR3TGxacxpavvK5LzbxT+Y3iWkBchOTKS5hHCigA5aaung==";
       };
     };
-    "ssb-db2-2.1.4" = {
+    "ssb-db2-2.3.1" = {
       name = "ssb-db2";
       packageName = "ssb-db2";
-      version = "2.1.4";
+      version = "2.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssb-db2/-/ssb-db2-2.1.4.tgz";
-        sha512 = "r70wOz0taaIgpFX/I1DbzT1mucfLSHMmXfNMaenmLcrV6vDZFyFvZVyQTn26xgv7JwDkrdD9B/1Y85AH0qjYow==";
+        url = "https://registry.npmjs.org/ssb-db2/-/ssb-db2-2.3.1.tgz";
+        sha512 = "SE/GGoLn29JJeeo/SLGzjtPj5xvafn6so8fBNqM0Hfnk03DwZ7iFG0PuB8L5CMold3sLLDXFjuzdacKf85848Q==";
       };
     };
     "ssb-ebt-5.6.7" = {
@@ -55175,13 +56391,13 @@ let
         sha512 = "FPeyYU/3LpxcagnbmVWE+Q/qzg6keqeOBPbD7sEH9UKixUASeufPKiORDgh8nVX7J9Z+0vUaHt/WG999kGjvVQ==";
       };
     };
-    "ssb-keys-8.1.0" = {
+    "ssb-keys-8.2.0" = {
       name = "ssb-keys";
       packageName = "ssb-keys";
-      version = "8.1.0";
+      version = "8.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssb-keys/-/ssb-keys-8.1.0.tgz";
-        sha512 = "RC2gFMptimj2QZZESOViKVhzqgXCnfW3IqUeKLQ/E8nnTdODuCVa3soLYu4KUF8nGIzFIfdKq7L2Teg32kD85w==";
+        url = "https://registry.npmjs.org/ssb-keys/-/ssb-keys-8.2.0.tgz";
+        sha512 = "U5vmEvWlMdmJQDHyiWYzXQwxlq+Th6cYvHy/cfhyoGU1vopiB5ytYm339bfhdmtjjRDSV2SPrm3vcgLrN3KH2w==";
       };
     };
     "ssb-links-3.0.10" = {
@@ -55319,13 +56535,13 @@ let
         sha512 = "/QX6+DJkghqq1ZTbgYpOvaI+gx2O7ee1TRUM9yiOlVjh1XAQBevcBj0zO+W3TsNllX86urqBrySd/AEfFfUpIw==";
       };
     };
-    "ssb-ref-2.14.3" = {
+    "ssb-ref-2.16.0" = {
       name = "ssb-ref";
       packageName = "ssb-ref";
-      version = "2.14.3";
+      version = "2.16.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssb-ref/-/ssb-ref-2.14.3.tgz";
-        sha512 = "XhzVmezsUJLlKxTfWlicxhiPRTEYHfJLskYQNRSnw4USqgo9LVx53+MJAhdZOYpZTW2jINR0TeetWs9M27gcbA==";
+        url = "https://registry.npmjs.org/ssb-ref/-/ssb-ref-2.16.0.tgz";
+        sha512 = "ylyrfz9NLxwTCbeDDAdLo++O3elhNs6/gUqMhZ22F+gSOIjwXy2X7dpg5Q1YTH7uALOSu307Rpo1UfK9sj7Sjw==";
       };
     };
     "ssb-replicate-1.3.3" = {
@@ -55337,15 +56553,6 @@ let
         sha512 = "RcXRBLqQMwew+aKkaTZ2K0qq2kwe7he8ZUz8cX4bZ6Sr4+yszhRpxqnN6XeK1hA6TTvUltR0RNgOO/fqT3djRg==";
       };
     };
-    "ssb-sort-1.1.3" = {
-      name = "ssb-sort";
-      packageName = "ssb-sort";
-      version = "1.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ssb-sort/-/ssb-sort-1.1.3.tgz";
-        sha512 = "oPsF8lGgcHcIb4F1GddV3CbZTJZ0OzxI9fHXH0Zc7ZjqjFlYdqMDxFSuvqJnmtDydJcswyGANiziP1ghd69jOw==";
-      };
-    };
     "ssb-unix-socket-1.0.0" = {
       name = "ssb-unix-socket";
       packageName = "ssb-unix-socket";
@@ -55364,6 +56571,24 @@ let
         sha512 = "nzj5EQnhm5fBGXgtzuuWgxv45dW+CJJm4eCLZKiOxyG1NE/WJZwju2DmqZfiE9zr9bC2T2hPHkckDP0CCP8v8w==";
       };
     };
+    "ssb-validate2-0.1.1" = {
+      name = "ssb-validate2";
+      packageName = "ssb-validate2";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ssb-validate2/-/ssb-validate2-0.1.1.tgz";
+        sha512 = "EG6CEgx7qX02Ekx8bhkEexs1foaMAt6BAmE91d3BRpim/+i+16jEYf9DzYcifKymxlsM9AUz2P0TyRxbMXreOQ==";
+      };
+    };
+    "ssb-validate2-rsjs-node-1.0.0" = {
+      name = "ssb-validate2-rsjs-node";
+      packageName = "ssb-validate2-rsjs-node";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ssb-validate2-rsjs-node/-/ssb-validate2-rsjs-node-1.0.0.tgz";
+        sha512 = "kg/4JNzXEgFCRkvbhAuYZwq14n2sgXF03hClL5Hc9XsMWlQeQ/UHUvClMvy2veFUivz7A6PGT8MaL5BDxW0LiQ==";
+      };
+    };
     "ssb-ws-6.2.3" = {
       name = "ssb-ws";
       packageName = "ssb-ws";
@@ -55373,13 +56598,13 @@ let
         sha512 = "zZ/Q1M+9ZWlrchgh4QauD/MEUFa6eC6H6FYq6T8Of/y82JqsQBLwN6YlzbO09evE7Rx6x0oliXDCnQSjwGwQRA==";
       };
     };
-    "sscaff-1.2.22" = {
+    "sscaff-1.2.54" = {
       name = "sscaff";
       packageName = "sscaff";
-      version = "1.2.22";
+      version = "1.2.54";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sscaff/-/sscaff-1.2.22.tgz";
-        sha512 = "aEkcIR+UIro2xsDASNy/K0v7hxGi18jgFshHpGrJ/tfB0GlQHQJR0W9y23mNxfDmFg/lbTaR0BdEsgC0znNEGA==";
+        url = "https://registry.npmjs.org/sscaff/-/sscaff-1.2.54.tgz";
+        sha512 = "092MKLW//UTJIFc8dnugvXKMgGsyiY/PP2C6MP1ThFRtwg58vH6TOfkVYo2OMxFqP7yBWJsc7VyIkzl8EiXpdQ==";
       };
     };
     "ssh-config-1.1.6" = {
@@ -55391,24 +56616,6 @@ let
         sha512 = "ZPO9rECxzs5JIQ6G/2EfL1I9ho/BVZkx9HRKn8+0af7QgwAmumQ7XBFP1ggMyPMo+/tUbmv0HFdv4qifdO/9JA==";
       };
     };
-    "ssh2-0.8.9" = {
-      name = "ssh2";
-      packageName = "ssh2";
-      version = "0.8.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ssh2/-/ssh2-0.8.9.tgz";
-        sha512 = "GmoNPxWDMkVpMFa9LVVzQZHF6EW3WKmBwL+4/GeILf2hFmix5Isxm7Amamo8o7bHiU0tC+wXsGcUXOxp8ChPaw==";
-      };
-    };
-    "ssh2-streams-0.4.10" = {
-      name = "ssh2-streams";
-      packageName = "ssh2-streams";
-      version = "0.4.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ssh2-streams/-/ssh2-streams-0.4.10.tgz";
-        sha512 = "8pnlMjvnIZJvmTzUIIA5nT4jr2ZWNNVHwyXfMGdRJbug9TpI3kd99ffglgfSWqujVv/0gxwMsDn9j9RVst8yhQ==";
-      };
-    };
     "sshpk-1.14.2" = {
       name = "sshpk";
       packageName = "sshpk";
@@ -55553,6 +56760,15 @@ let
         sha1 = "51f9c6a08c146473fcd021af551c9f32ed5c7b9d";
       };
     };
+    "standard-as-callback-2.1.0" = {
+      name = "standard-as-callback";
+      packageName = "standard-as-callback";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/standard-as-callback/-/standard-as-callback-2.1.0.tgz";
+        sha512 = "qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==";
+      };
+    };
     "standard-error-1.1.0" = {
       name = "standard-error";
       packageName = "standard-error";
@@ -55958,15 +57174,6 @@ let
         sha512 = "PS6wT2ZyyR38Cy+lE6PBEI1ZmO2HdzZoLeDGG0zZbYikCZd0dh8FUoSeFzgWLItpBYw1WJmPVRLpykRV+lAWLQ==";
       };
     };
-    "stream-to-promise-2.2.0" = {
-      name = "stream-to-promise";
-      packageName = "stream-to-promise";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/stream-to-promise/-/stream-to-promise-2.2.0.tgz";
-        sha1 = "b1edb2e1c8cb11289d1b503c08d3f2aef51e650f";
-      };
-    };
     "stream-to-promise-3.0.0" = {
       name = "stream-to-promise";
       packageName = "stream-to-promise";
@@ -56030,13 +57237,13 @@ let
         sha1 = "808b9d0e56fc273d809ba57338e929919a1a9f1a";
       };
     };
-    "streamx-2.10.3" = {
+    "streamx-2.11.1" = {
       name = "streamx";
       packageName = "streamx";
-      version = "2.10.3";
+      version = "2.11.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/streamx/-/streamx-2.10.3.tgz";
-        sha512 = "Ss4rEDWlTAUrIqaQsX6tNBNANHxSmbyrA5PlCji0a6xdJtVzfkEMLLrkVW5OSyr4TshiSb1WA2TqMGMUpGnouQ==";
+        url = "https://registry.npmjs.org/streamx/-/streamx-2.11.1.tgz";
+        sha512 = "GG/cBcuwhKEu2MxJIdlFnrstgtwERx0yX0tjZUVFHmmq65ROrCEAVrfoYbNQnXdq76rH0Y/SuO9VcgW+ZPkeMQ==";
       };
     };
     "strftime-0.10.0" = {
@@ -56246,13 +57453,13 @@ let
         sha512 = "jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==";
       };
     };
-    "string2compact-1.3.0" = {
+    "string2compact-1.3.2" = {
       name = "string2compact";
       packageName = "string2compact";
-      version = "1.3.0";
+      version = "1.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string2compact/-/string2compact-1.3.0.tgz";
-        sha512 = "004ulKKANDuQilQsNxy2lisrpMG0qUJxBU+2YCEF7KziRyNR0Nredm2qk0f1V82nva59H3y9GWeHXE63HzGRFw==";
+        url = "https://registry.npmjs.org/string2compact/-/string2compact-1.3.2.tgz";
+        sha512 = "3XUxUgwhj7Eqh2djae35QHZZT4mN3fsO7kagZhSGmhhlrQagVvWSFuuFIWnpxFS0CdTB2PlQcaL16RDi14I8uw==";
       };
     };
     "string_decoder-0.10.31" = {
@@ -56318,15 +57525,6 @@ let
         sha512 = "3FP+jGMmMV/ffZs86MoghGqAoqXAdxLrJP4GUdrDN1aIScYih5tuIO3eF4To5AJZ79KDZ8Fpdy7QJnK8SsL1Vg==";
       };
     };
-    "stringify-object-3.3.0" = {
-      name = "stringify-object";
-      packageName = "stringify-object";
-      version = "3.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz";
-        sha512 = "rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==";
-      };
-    };
     "stringify-package-1.0.1" = {
       name = "stringify-package";
       packageName = "stringify-package";
@@ -56417,6 +57615,15 @@ let
         sha512 = "AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==";
       };
     };
+    "strip-ansi-7.0.0" = {
+      name = "strip-ansi";
+      packageName = "strip-ansi";
+      version = "7.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.0.tgz";
+        sha512 = "UhDTSnGF1dc0DRbUqr1aXwNoY3RgVkSWG8BrpnuFIxhP57IqbS7IRta2Gfiavds4yCxc5+fEAVVOgBZWnYkvzg==";
+      };
+    };
     "strip-ansi-control-characters-2.0.0" = {
       name = "strip-ansi-control-characters";
       packageName = "strip-ansi-control-characters";
@@ -56498,15 +57705,6 @@ let
         sha1 = "e5211e9224369fbb81d633a2f00044dc8cedad92";
       };
     };
-    "strip-comments-2.0.1" = {
-      name = "strip-comments";
-      packageName = "strip-comments";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz";
-        sha512 = "ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==";
-      };
-    };
     "strip-dirs-2.1.0" = {
       name = "strip-dirs";
       packageName = "strip-dirs";
@@ -56651,22 +57849,13 @@ let
         sha1 = "0fdedc68e91addcfcb2e6be9c262581a6e8c28aa";
       };
     };
-    "strtok3-6.1.3" = {
-      name = "strtok3";
-      packageName = "strtok3";
-      version = "6.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strtok3/-/strtok3-6.1.3.tgz";
-        sha512 = "ssWSKFOeUTurMSucgyUf+a6Z9mVTYrsYiyEK5RLnh8BM6sFrKSljVlnjZXIDxMguYfdQI+mUPFHo88FYTxq1XA==";
-      };
-    };
-    "strtok3-6.2.2" = {
+    "strtok3-6.2.4" = {
       name = "strtok3";
       packageName = "strtok3";
-      version = "6.2.2";
+      version = "6.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/strtok3/-/strtok3-6.2.2.tgz";
-        sha512 = "iUzLl3UhF2RfqQah80JngnfltQFLEidGyTX8+hHFMQFjzUj3UpIpOx824FtFmRI9bwyywReENpdHGDkFJwJlGQ==";
+        url = "https://registry.npmjs.org/strtok3/-/strtok3-6.2.4.tgz";
+        sha512 = "GO8IcFF9GmFDvqduIspUBwCzCbqzegyVKIsSymcMgiZKeCfrN9SowtUoi8+b59WZMAjIzVZic/Ft97+pynR3Iw==";
       };
     };
     "structured-source-3.0.2" = {
@@ -56714,13 +57903,13 @@ let
         sha512 = "CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==";
       };
     };
-    "styled-components-5.3.0" = {
+    "styled-components-5.3.1" = {
       name = "styled-components";
       packageName = "styled-components";
-      version = "5.3.0";
+      version = "5.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/styled-components/-/styled-components-5.3.0.tgz";
-        sha512 = "bPJKwZCHjJPf/hwTJl6TbkSZg/3evha+XPEizrZUGb535jLImwDUdjTNxXqjjaASt2M4qO4AVfoHJNe3XB/tpQ==";
+        url = "https://registry.npmjs.org/styled-components/-/styled-components-5.3.1.tgz";
+        sha512 = "JThv2JRzyH0NOIURrk9iskdxMSAAtCfj/b2Sf1WJaCUsloQkblepy1jaCLX/bYE+mhYo3unmwVSI9I5d9ncSiQ==";
       };
     };
     "stylehacks-4.0.3" = {
@@ -56759,13 +57948,13 @@ let
         sha512 = "luHn2OAMGJouOnadm6Fim6WXodQ2AWDkWjYq0rMdyEwzO5PdE4LzoXAEn9LL2snmBAlwUp1URVOTF7lZR3KU+Q==";
       };
     };
-    "stylis-3.5.4" = {
+    "stylis-4.0.10" = {
       name = "stylis";
       packageName = "stylis";
-      version = "3.5.4";
+      version = "4.0.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/stylis/-/stylis-3.5.4.tgz";
-        sha512 = "8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q==";
+        url = "https://registry.npmjs.org/stylis/-/stylis-4.0.10.tgz";
+        sha512 = "m3k+dk7QeJw660eIKRRn3xPF6uuvHs/FFzjX3HQ5ove0qYsiygoAhwn5a3IYKaZPo5LrYD0rfVmtv1gNY1uYwg==";
       };
     };
     "stylus-0.54.8" = {
@@ -56831,6 +58020,15 @@ let
         sha1 = "3a26ab96e06f78cf4ace8d083f6227fa55970947";
       };
     };
+    "sucrase-3.20.1" = {
+      name = "sucrase";
+      packageName = "sucrase";
+      version = "3.20.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sucrase/-/sucrase-3.20.1.tgz";
+        sha512 = "BIG59HaJOxNct9Va6KvT5yzBA/rcMGetzvZyTx0ZdCcspIbpJTPS64zuAfYlJuOj+3WaI5JOdA+F0bJQQi8ZiQ==";
+      };
+    };
     "sudo-block-1.2.0" = {
       name = "sudo-block";
       packageName = "sudo-block";
@@ -56930,6 +58128,15 @@ let
         sha512 = "DnarpKN6Xn8e3pYlFV4Yvsj9yxLY4q5FIsUe5JvN7vjzP+YCfzXv03dTkZSD2yzrSadsNYHf0IgOUJwKjX457A==";
       };
     };
+    "supercluster-7.1.3" = {
+      name = "supercluster";
+      packageName = "supercluster";
+      version = "7.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/supercluster/-/supercluster-7.1.3.tgz";
+        sha512 = "7+bR4FbF5SYsmkHfDp61QiwCKtwNDyPsddk9TzfsDA5DQr5Goii5CVD2SXjglweFCxjrzVZf945ahqYfUIk8UA==";
+      };
+    };
     "superstatic-7.1.0" = {
       name = "superstatic";
       packageName = "superstatic";
@@ -57065,13 +58272,22 @@ let
         sha512 = "mDAmaltQl6e5zU2VEtoWEf7eLTfuOTGr9zt+BpA3AGHo8MIhKiNSPE9OLTCTOMgj0vj/uL9QBbaNmpG4G1CgIA==";
       };
     };
-    "svelte2tsx-0.4.2" = {
+    "svelte-preprocess-4.8.0" = {
+      name = "svelte-preprocess";
+      packageName = "svelte-preprocess";
+      version = "4.8.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/svelte-preprocess/-/svelte-preprocess-4.8.0.tgz";
+        sha512 = "i9Z17cwGlp+kuSSv3kJWdAdAP2L26A5yMzHHdDj8YL+86sN64Yz5/gfjQp3Xb6fiaToo4sB+wTpid/23Gz0yvw==";
+      };
+    };
+    "svelte2tsx-0.4.5" = {
       name = "svelte2tsx";
       packageName = "svelte2tsx";
-      version = "0.4.2";
+      version = "0.4.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/svelte2tsx/-/svelte2tsx-0.4.2.tgz";
-        sha512 = "ya93OOdT/WvHVEEvQ3u+Y4lkUqq0D+mD1szbGUWcYVOdBjJyXUF5MhKS5HEJHWQw4r+XK9UlHk52BMeXR2SI8A==";
+        url = "https://registry.npmjs.org/svelte2tsx/-/svelte2tsx-0.4.5.tgz";
+        sha512 = "5SbnH3rGA5eymeSidlPZ3qxL0P6SfJv0pWaoTVuJDxpHbI00dUZpuDTNn/WZ8yMXfU7vjY/QxKC/iYiDTbJEjg==";
       };
     };
     "sver-compat-1.5.0" = {
@@ -57218,13 +58434,13 @@ let
         sha512 = "xk5CMbwoQVI53rTq9o/iMojAqXP5NT4/+TMeTP4uXWDIH18pB9AXgO5Olqt0RXuf3jH032DA4DS4qzem6XdXAw==";
       };
     };
-    "swagger-ui-dist-3.51.1" = {
+    "swagger-ui-dist-3.51.2" = {
       name = "swagger-ui-dist";
       packageName = "swagger-ui-dist";
-      version = "3.51.1";
+      version = "3.51.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-3.51.1.tgz";
-        sha512 = "df2mEeVgnJp/FcXY3DRh3CsTfvHVTaO6g3FJP/kfwhxfOD1+YTXqBZrOIIsYTPtcRIFBkCAto0NFCxAV4XFRbw==";
+        url = "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-3.51.2.tgz";
+        sha512 = "7aDfpvGrya61WQN4Eb6x5TELvYb5+7SRJQNYySkKUDGiRIwj1A8B2PNsXs4xMD0/5t8uNi4zW58KSofutcBdhw==";
       };
     };
     "swagger2openapi-7.0.8" = {
@@ -57362,13 +58578,13 @@ let
         sha512 = "33+lQwlLxXoxy0o9WLOgw8OjbXeS3Jv+pSl+nxKc2AOClBI28HsdRPpH0u9Xa9OVjHLT9vonnOMw1ug7YXI0dA==";
       };
     };
-    "systeminformation-5.7.8" = {
+    "systeminformation-5.8.6" = {
       name = "systeminformation";
       packageName = "systeminformation";
-      version = "5.7.8";
+      version = "5.8.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/systeminformation/-/systeminformation-5.7.8.tgz";
-        sha512 = "gpFGDPtOtWDxMaQ6/7oe2XM/4ErgSvev1l3sdxChnm1AqDJKzZ3cu+VK7Dq1N02pChPiNNsIbUwe6dCLixfWRg==";
+        url = "https://registry.npmjs.org/systeminformation/-/systeminformation-5.8.6.tgz";
+        sha512 = "R37NZR9f6OejKvERiatjh1vK49xkJ/MOgFpwpCw2h0NoD+1nKAgGzxkyjNX7bsf6ADaKzyAZ2SFK1mXddytIaA==";
       };
     };
     "table-3.8.3" = {
@@ -57534,13 +58750,13 @@ let
         sha1 = "2e7ce0a31df09f8d6851664a71842e0ca5057af7";
       };
     };
-    "tape-4.13.3" = {
+    "tape-4.14.0" = {
       name = "tape";
       packageName = "tape";
-      version = "4.13.3";
+      version = "4.14.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tape/-/tape-4.13.3.tgz";
-        sha512 = "0/Y20PwRIUkQcTCSi4AASs+OANZZwqPKaipGCEwp10dQMipVvSZwUUCi01Y/OklIGyHKFhIcjock+DKnBfLAFw==";
+        url = "https://registry.npmjs.org/tape/-/tape-4.14.0.tgz";
+        sha512 = "z0+WrUUJuG6wIdWrl4W3rTte2CR26G6qcPOj3w1hfRdcmhF3kHBhOBW9VHsPVAkz08ZmGzp7phVpDupbLzrYKQ==";
       };
     };
     "tar-0.1.17" = {
@@ -57561,13 +58777,13 @@ let
         sha512 = "FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==";
       };
     };
-    "tar-4.4.13" = {
+    "tar-4.4.19" = {
       name = "tar";
       packageName = "tar";
-      version = "4.4.13";
+      version = "4.4.19";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz";
-        sha512 = "w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==";
+        url = "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz";
+        sha512 = "a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==";
       };
     };
     "tar-4.4.6" = {
@@ -57588,13 +58804,22 @@ let
         sha512 = "0b4HOimQHj9nXNEAA7zWwMM91Zhhba3pspja6sQbgTpynOJf+bkjBnfybNYzbpLbnwXnbyB4LOREvlyXLkCHSg==";
       };
     };
-    "tar-6.1.0" = {
+    "tar-6.1.11" = {
       name = "tar";
       packageName = "tar";
-      version = "6.1.0";
+      version = "6.1.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz";
+        sha512 = "an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==";
+      };
+    };
+    "tar-6.1.2" = {
+      name = "tar";
+      packageName = "tar";
+      version = "6.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz";
-        sha512 = "DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==";
+        url = "https://registry.npmjs.org/tar/-/tar-6.1.2.tgz";
+        sha512 = "EwKEgqJ7nJoS+s8QfLYVGMDmAsj+StbI2AM/RTHeUSsOw6Z8bwNBRv5z3CY0m7laC5qUAqruLX5AhMuc5deY3Q==";
       };
     };
     "tar-fs-1.16.3" = {
@@ -57705,13 +58930,13 @@ let
         sha512 = "6u5UyW2KpMS/hwC4DKLGlicK/rVSYCahPFgF14ioP6BzwcDwQlciHCB/oWguvxLJaYGrvY6crzLHfjupFTBPXw==";
       };
     };
-    "telegraf-4.4.0" = {
+    "telegraf-4.4.1" = {
       name = "telegraf";
       packageName = "telegraf";
-      version = "4.4.0";
+      version = "4.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/telegraf/-/telegraf-4.4.0.tgz";
-        sha512 = "DjVVEz37/5Hp0n8eLhAVjErwoyrWsqLyFAoRj8sU5XiD2CVAbBOx9J6a7cLn/B46pPgDqgbrdjiOeK0fQMiLOA==";
+        url = "https://registry.npmjs.org/telegraf/-/telegraf-4.4.1.tgz";
+        sha512 = "jxV8fC/K6abcUTlhy/l8txJAmEJIkJoDu/cN0yXOJWLp9csfLIp+cD4qlwJ6ko+4EgOJmNZvWK7Tr2dxKolJQQ==";
       };
     };
     "temp-0.6.0" = {
@@ -57786,6 +59011,15 @@ let
         sha512 = "HIeWmj77uOOHb0QX7siN3OtwV3CTntquin6TNVg6SHOqCP3hYKmox90eeFOGaY1MqJ9WYDDjkyZrW6qS5AWpbw==";
       };
     };
+    "tempfile-3.0.0" = {
+      name = "tempfile";
+      packageName = "tempfile";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tempfile/-/tempfile-3.0.0.tgz";
+        sha512 = "uNFCg478XovRi85iD42egu+eSFUmmka750Jy7L5tfHI5hQKKtbPnxaSaXAbBqCDYrw3wx4tXjKwci4/QmsZJxw==";
+      };
+    };
     "tempy-0.1.0" = {
       name = "tempy";
       packageName = "tempy";
@@ -57813,15 +59047,6 @@ let
         sha512 = "WrH/pui8YCwmeiAoxV+lpRH9HpRtgBhSR2ViBPgpGb/wnYDzp21R4MN45fsCGvLROvY67o3byhJRYRONJyImVQ==";
       };
     };
-    "tempy-0.6.0" = {
-      name = "tempy";
-      packageName = "tempy";
-      version = "0.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz";
-        sha512 = "G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==";
-      };
-    };
     "tempy-0.7.1" = {
       name = "tempy";
       packageName = "tempy";
@@ -57876,13 +59101,13 @@ let
         sha512 = "wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==";
       };
     };
-    "terminal-kit-1.49.3" = {
+    "terminal-kit-1.49.4" = {
       name = "terminal-kit";
       packageName = "terminal-kit";
-      version = "1.49.3";
+      version = "1.49.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/terminal-kit/-/terminal-kit-1.49.3.tgz";
-        sha512 = "7GovmExYxwGWOGfTh9LlH9uRt5braMj0bi6HmrhdhGi78Xi3S8hfJhTnio/h4iaN4pKtbAn3ugdGF2ypviZvMA==";
+        url = "https://registry.npmjs.org/terminal-kit/-/terminal-kit-1.49.4.tgz";
+        sha512 = "ehoNOk7xB/QBVX38P2kpoLip+s4Tlb6qYDBAoLg/rdRrrtRlDgs97a9MG0xU1IGq/Qpn47n1rwb5fWbM/Bprag==";
       };
     };
     "terminal-link-2.1.1" = {
@@ -57912,13 +59137,13 @@ let
         sha512 = "EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==";
       };
     };
-    "terser-5.7.1" = {
+    "terser-5.7.2" = {
       name = "terser";
       packageName = "terser";
-      version = "5.7.1";
+      version = "5.7.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/terser/-/terser-5.7.1.tgz";
-        sha512 = "b3e+d5JbHAe/JSjwsC3Zn55wsBIM7AsHLjKxT31kGCldgbpFePaFo+PiddtO6uwRZWRw7sPXmAN8dTW61xmnSg==";
+        url = "https://registry.npmjs.org/terser/-/terser-5.7.2.tgz";
+        sha512 = "0Omye+RD4X7X69O0eql3lC4Heh/5iLj3ggxR/B5ketZLOtLiOqukUgjw3q4PDnNQbsrkKr3UMypqStQG3XKRvw==";
       };
     };
     "terser-webpack-plugin-1.4.5" = {
@@ -58002,13 +59227,13 @@ let
         sha1 = "7f5ee823ae805207c00af2df4a84ec3fcfa570b4";
       };
     };
-    "textextensions-5.12.0" = {
+    "textextensions-5.14.0" = {
       name = "textextensions";
       packageName = "textextensions";
-      version = "5.12.0";
+      version = "5.14.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/textextensions/-/textextensions-5.12.0.tgz";
-        sha512 = "IYogUDaP65IXboCiPPC0jTLLBzYlhhw2Y4b0a2trPgbHNGGGEfuHE6tds+yDcCf4mpNDaGISFzwSSezcXt+d6w==";
+        url = "https://registry.npmjs.org/textextensions/-/textextensions-5.14.0.tgz";
+        sha512 = "4cAYwNFNYlIAHBUo7p6zw8POUvWbZor+/R0Tanv+rIhsauEyV9QSrEXL40pI+GfTQxKX8k6Tyw6CmdSDSmASrg==";
       };
     };
     "textlint-rule-helper-1.2.0" = {
@@ -58407,15 +59632,6 @@ let
         sha512 = "b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==";
       };
     };
-    "timm-1.7.1" = {
-      name = "timm";
-      packageName = "timm";
-      version = "1.7.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/timm/-/timm-1.7.1.tgz";
-        sha512 = "IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw==";
-      };
-    };
     "timsort-0.3.0" = {
       name = "timsort";
       packageName = "timsort";
@@ -58461,13 +59677,13 @@ let
         sha1 = "320b5a52d83abb5978d81a3e887d4aefb15a6164";
       };
     };
-    "tinycolor2-1.4.2" = {
-      name = "tinycolor2";
-      packageName = "tinycolor2";
-      version = "1.4.2";
+    "tinyqueue-2.0.3" = {
+      name = "tinyqueue";
+      packageName = "tinyqueue";
+      version = "2.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.2.tgz";
-        sha512 = "vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA==";
+        url = "https://registry.npmjs.org/tinyqueue/-/tinyqueue-2.0.3.tgz";
+        sha512 = "ppJZNDuKGgxzkHihX8v9v9G5f+18gzaTfrukGrq6ueg0lmH4nqVnA2IPG0AEH3jKEk2GRJCUhDoqpoiw3PHLBA==";
       };
     };
     "titleize-1.0.1" = {
@@ -58524,15 +59740,6 @@ let
         sha512 = "jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==";
       };
     };
-    "tmp-0.1.0" = {
-      name = "tmp";
-      packageName = "tmp";
-      version = "0.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tmp/-/tmp-0.1.0.tgz";
-        sha512 = "J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw==";
-      };
-    };
     "tmp-0.2.1" = {
       name = "tmp";
       packageName = "tmp";
@@ -58803,13 +60010,13 @@ let
         sha512 = "wnQcqlreS6VjthyHO3Y/kpK/emflxDBNhlNUPfh7wE39KnuDdOituXomIbyI79vBtF0Ninpkh72mcuRHo+RG3Q==";
       };
     };
-    "token-types-3.1.0" = {
+    "token-types-4.1.1" = {
       name = "token-types";
       packageName = "token-types";
-      version = "3.1.0";
+      version = "4.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/token-types/-/token-types-3.1.0.tgz";
-        sha512 = "WhoeIW7UTn7NC7L0t/4x3vU/YYSS1oeUxYgiGXQLd82Kaf1qtlxOex3ETY0+o2QuRgAdyursMlUhQBKDCfMUkQ==";
+        url = "https://registry.npmjs.org/token-types/-/token-types-4.1.1.tgz";
+        sha512 = "hD+QyuUAyI2spzsI0B7gf/jJ2ggR4RjkAo37j3StuePhApJUwcWDjnHDOFdIWYSwNR28H14hpwm4EI+V1Ted1w==";
       };
     };
     "toml-2.3.6" = {
@@ -58893,13 +60100,13 @@ let
         sha1 = "2d17d82cf669ada7f9dfe75db4b31f7034b71e29";
       };
     };
-    "torrent-discovery-9.4.0" = {
+    "torrent-discovery-9.4.4" = {
       name = "torrent-discovery";
       packageName = "torrent-discovery";
-      version = "9.4.0";
+      version = "9.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/torrent-discovery/-/torrent-discovery-9.4.0.tgz";
-        sha512 = "+YW9JGbO5bCuDw9YYW//p4iVLV0aP4C+AYrNQjL/+dSNPUtD1ufK1V8UZERt6rIoeNGhutkSVyeO4Fid9Tjxjg==";
+        url = "https://registry.npmjs.org/torrent-discovery/-/torrent-discovery-9.4.4.tgz";
+        sha512 = "psD/QcqSevMouHFbPKz4V9X5u2HuR/SaxeIp2T/JAduHKmDoq/pgxMQiAe/4DlhDgSCIAYWEB2xKP0dUTInBpQ==";
       };
     };
     "torrent-piece-1.1.2" = {
@@ -59082,13 +60289,31 @@ let
         sha512 = "L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==";
       };
     };
-    "tree-kit-0.6.2" = {
+    "tree-kit-0.7.0" = {
       name = "tree-kit";
       packageName = "tree-kit";
-      version = "0.6.2";
+      version = "0.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tree-kit/-/tree-kit-0.7.0.tgz";
+        sha512 = "MAqFo2oJJ39zmxq3xETx0nMAgZw2z6pnJPjIAehEcrDaeePDhBBTshAlyhCDtezMDTIu1Av+vGE501xN3Sh8VA==";
+      };
+    };
+    "tree-sitter-0.17.2" = {
+      name = "tree-sitter";
+      packageName = "tree-sitter";
+      version = "0.17.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tree-sitter/-/tree-sitter-0.17.2.tgz";
+        sha512 = "bxFEolb9xMxBdbwh4wqT730J8fu10J15EL8lM+iGr8LcKbhuQ7KHA0pPsmNPIpZlr6vyDKFojJnD45JtIBIV0w==";
+      };
+    };
+    "tree-sitter-beancount-1.0.0" = {
+      name = "tree-sitter-beancount";
+      packageName = "tree-sitter-beancount";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tree-kit/-/tree-kit-0.6.2.tgz";
-        sha512 = "95UzJA0EMbFfu5sGUUOoXixQMUGkwu82nGM4lmqLyQl+R4H3FK+lS0nT8TZJ5x7JhSHy+saVn7/AOqh6d+tmOg==";
+        url = "https://registry.npmjs.org/tree-sitter-beancount/-/tree-sitter-beancount-1.0.0.tgz";
+        sha512 = "I+QbnbfSA7+ePEhIHRwq+X2ZrTQS5VoZ47kPTsn5FEiAGGo87mhLK4O3vCaFUHQ8Ibm8eXESEKf1dl0QmA9CHQ==";
       };
     };
     "treeify-1.1.0" = {
@@ -59235,6 +60460,15 @@ let
         sha512 = "c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==";
       };
     };
+    "ts-interface-checker-0.1.13" = {
+      name = "ts-interface-checker";
+      packageName = "ts-interface-checker";
+      version = "0.1.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz";
+        sha512 = "Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==";
+      };
+    };
     "ts-invariant-0.4.4" = {
       name = "ts-invariant";
       packageName = "ts-invariant";
@@ -59244,6 +60478,15 @@ let
         sha512 = "uEtWkFM/sdZvRNNDL3Ehu4WVpwaulhwQszV8mrtcdeE8nN00BV9mAmQ88RkrBhFgl9gMgvjJLAQcZbnPXI9mlA==";
       };
     };
+    "ts-invariant-0.9.1" = {
+      name = "ts-invariant";
+      packageName = "ts-invariant";
+      version = "0.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.9.1.tgz";
+        sha512 = "hSeYibh29ULlHkuEfukcoiyTct+s2RzczMLTv4x3NWC/YrBy7x7ps5eYq/b4Y3Sb9/uAlf54+/5CAEMVxPhuQw==";
+      };
+    };
     "ts-loader-8.0.4" = {
       name = "ts-loader";
       packageName = "ts-loader";
@@ -59271,6 +60514,15 @@ let
         sha512 = "XvB+OdKSJ708Dmf9ore4Uf/q62AYDTzFcAdxc8KNML1mmAWywRFVt/dn1KYJH8Agt5UJNujfM3znU5PxgAzA2w==";
       };
     };
+    "ts-node-8.9.1" = {
+      name = "ts-node";
+      packageName = "ts-node";
+      version = "8.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ts-node/-/ts-node-8.9.1.tgz";
+        sha512 = "yrq6ODsxEFTLz0R3BX2myf0WBCSQh9A+py8PBo1dCzWIOcvisbyH6akNKqDHMgXePF2kir5mm5JXJTH3OUJYOQ==";
+      };
+    };
     "ts-pnp-1.2.0" = {
       name = "ts-pnp";
       packageName = "ts-pnp";
@@ -59298,13 +60550,13 @@ let
         sha512 = "n5CMlUUj+N5pjBhBACLq4jdr9cPTitySCjIosoQm0zwK99gmrcTGAfY9CwxRFT9+9OleNWXPRUcxsKP4AYExxQ==";
       };
     };
-    "tslib-1.11.1" = {
+    "tslib-1.13.0" = {
       name = "tslib";
       packageName = "tslib";
-      version = "1.11.1";
+      version = "1.13.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz";
-        sha512 = "aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==";
+        url = "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz";
+        sha512 = "i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==";
       };
     };
     "tslib-1.14.1" = {
@@ -59361,13 +60613,13 @@ let
         sha512 = "gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==";
       };
     };
-    "tslib-2.3.0" = {
+    "tslib-2.3.1" = {
       name = "tslib";
       packageName = "tslib";
-      version = "2.3.0";
+      version = "2.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz";
-        sha512 = "N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==";
+        url = "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz";
+        sha512 = "77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==";
       };
     };
     "tslint-5.20.1" = {
@@ -59424,6 +60676,15 @@ let
         sha512 = "mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==";
       };
     };
+    "tsyringe-4.6.0" = {
+      name = "tsyringe";
+      packageName = "tsyringe";
+      version = "4.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tsyringe/-/tsyringe-4.6.0.tgz";
+        sha512 = "BMQAZamSfEmIQzH8WJeRu1yZGQbPSDuI9g+yEiKZFIcO46GPZuMOC2d0b52cVBdw1d++06JnDSIIZvEnogMdAw==";
+      };
+    };
     "ttl-1.3.1" = {
       name = "ttl";
       packageName = "ttl";
@@ -59730,15 +60991,6 @@ let
         sha512 = "IwzA/LSfD2vC1/YDYMv/zHP4rDF1usCwllsDpbolT3D4fUepIO7f9K70jjmUewU/LmGUKJcwcVtDCpnKk4BPMw==";
       };
     };
-    "type-fest-0.5.2" = {
-      name = "type-fest";
-      packageName = "type-fest";
-      version = "0.5.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/type-fest/-/type-fest-0.5.2.tgz";
-        sha512 = "DWkS49EQKVX//Tbupb9TFa19c7+MK1XmzkrZUR8TAktmE/DizXoaoJV6TZ/tSIPXipqNiRI6CyAe7x69Jb6RSw==";
-      };
-    };
     "type-fest-0.6.0" = {
       name = "type-fest";
       packageName = "type-fest";
@@ -59766,13 +61018,22 @@ let
         sha512 = "TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==";
       };
     };
-    "typed-rest-client-1.8.4" = {
+    "typed-rest-client-1.8.5" = {
       name = "typed-rest-client";
       packageName = "typed-rest-client";
-      version = "1.8.4";
+      version = "1.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.5.tgz";
+        sha512 = "952/Aegu3lTqUAI1anbDLbewojnF/gh8at9iy1CIrfS1h/+MtNjB1Y9z6ZF5n2kZd+97em56lZ9uu7Zz3y/pwg==";
+      };
+    };
+    "typed-styles-0.0.7" = {
+      name = "typed-styles";
+      packageName = "typed-styles";
+      version = "0.0.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.4.tgz";
-        sha512 = "MyfKKYzk3I6/QQp6e1T50py4qg+c+9BzOEl2rBmQIpStwNUoqQ73An+Tkfy9YuV7O+o2mpVVJpe+fH//POZkbg==";
+        url = "https://registry.npmjs.org/typed-styles/-/typed-styles-0.0.7.tgz";
+        sha512 = "pzP0PWoZUhsECYjABgCGQlRGL1n7tOHsgwYv3oIiEpJwGhFTuty/YNeduxQYzXXa3Ge5BdT6sHYIQYpl4uJ+5Q==";
       };
     };
     "typedarray-0.0.6" = {
@@ -59820,13 +61081,13 @@ let
         sha512 = "7uc1O8h1M1g0rArakJdf0uLRSSgFcYexrVoKo+bzJd32gd4gDy2L/Z+8/FjPnU9ydY3pEnVPtr9FyscYY60K1g==";
       };
     };
-    "typegram-3.4.1" = {
+    "typegram-3.4.3" = {
       name = "typegram";
       packageName = "typegram";
-      version = "3.4.1";
+      version = "3.4.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/typegram/-/typegram-3.4.1.tgz";
-        sha512 = "O3HT/D46tsiIX1Y83gGF6sFoJiEITcqM5S8l8Iz9eyjDvarXFzUQ4mNoHZHoJ1JXlokB17GJk/vOT7Nx+TcpNA==";
+        url = "https://registry.npmjs.org/typegram/-/typegram-3.4.3.tgz";
+        sha512 = "pH0TQJzCWM2+7y6yiBoQVNt7PO9ZvAu/lQukVx4sm68FIBBZEBWI+2MzuMcdbwrD5mD5NrEMAyml9N6DupUZag==";
       };
     };
     "typescript-2.9.2" = {
@@ -59883,6 +61144,15 @@ let
         sha512 = "pxnwLxeb/Z5SP80JDRzVjh58KsM6jZHRAOtTpS7sXLS4ogXNKC9ANxHHZqLLeVHZN35jCtI4JdmLLbLiC1kBow==";
       };
     };
+    "typescript-4.3.4" = {
+      name = "typescript";
+      packageName = "typescript";
+      version = "4.3.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/typescript/-/typescript-4.3.4.tgz";
+        sha512 = "uauPG7XZn9F/mo+7MrsRjyvbxFpzemRjKEZXS4AK83oP2KKOJPvb+9cO/gmnv8arWZvhnjVOXz7B49m1l0e9Ew==";
+      };
+    };
     "typescript-4.3.5" = {
       name = "typescript";
       packageName = "typescript";
@@ -59991,6 +61261,15 @@ let
         sha512 = "57H3ACYFXeo1IaZ1w02sfA71wI60MGco/IQFjOqK+WtKoprh7Go2/yvd2HPtoJILO2Or84ncLccI4xoHMTSbGg==";
       };
     };
+    "uglify-js-3.14.1" = {
+      name = "uglify-js";
+      packageName = "uglify-js";
+      version = "3.14.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.1.tgz";
+        sha512 = "JhS3hmcVaXlp/xSo3PKY5R0JqKs5M3IV+exdLHW99qKvKivPO4Z8qbej6mte17SOPqAOVMjt/XGgWacnFSzM3g==";
+      };
+    };
     "uglify-js-3.4.10" = {
       name = "uglify-js";
       packageName = "uglify-js";
@@ -60063,6 +61342,15 @@ let
         sha1 = "483126e11774df2f71b8b639dcd799c376162b82";
       };
     };
+    "uid2-0.0.4" = {
+      name = "uid2";
+      packageName = "uid2";
+      version = "0.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uid2/-/uid2-0.0.4.tgz";
+        sha512 = "IevTus0SbGwQzYh3+fRsAMTVVPOoIVufzacXcHPmdlle1jUpq7BRL+mw3dgeLanvGZdwwbWhRV6XrcFNdBmjWA==";
+      };
+    };
     "uint48be-2.0.1" = {
       name = "uint48be";
       packageName = "uint48be";
@@ -60432,6 +61720,24 @@ let
         sha512 = "ZlMm62ejrf+tJHdyOjQfljszngQjRor95q2XZMGk6rpJUYi7ZIHY/EXEhOcj9PZkMKKdLIM+dqL4s0ceyk9wbA==";
       };
     };
+    "unified-lint-rule-1.0.6" = {
+      name = "unified-lint-rule";
+      packageName = "unified-lint-rule";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unified-lint-rule/-/unified-lint-rule-1.0.6.tgz";
+        sha512 = "YPK15YBFwnsVorDFG/u0cVVQN5G2a3V8zv5/N6KN3TCG+ajKtaALcy7u14DCSrJI+gZeyYquFL9cioJXOGXSvg==";
+      };
+    };
+    "unified-message-control-1.0.4" = {
+      name = "unified-message-control";
+      packageName = "unified-message-control";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unified-message-control/-/unified-message-control-1.0.4.tgz";
+        sha512 = "e1dEtN4Z/TvLn/qHm+xeZpzqhJTtfZusFErk336kkZVpqrJYiV9ptxq+SbRPFMlN0OkjDYHmVJ929KYjsMTo3g==";
+      };
+    };
     "unified-message-control-3.0.3" = {
       name = "unified-message-control";
       packageName = "unified-message-control";
@@ -60567,6 +61873,15 @@ let
         sha512 = "xaTC/AGZ0rIM2gM28YVRAFPIZpzbpDtU3dRmp7EXlNVA8ziQc4hY3H7BHXM1J49nEmiqc3svnqMReW+PGqbZKQ==";
       };
     };
+    "unist-util-generated-1.1.6" = {
+      name = "unist-util-generated";
+      packageName = "unist-util-generated";
+      version = "1.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.6.tgz";
+        sha512 = "cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg==";
+      };
+    };
     "unist-util-inspect-4.1.4" = {
       name = "unist-util-inspect";
       packageName = "unist-util-inspect";
@@ -61044,6 +62359,15 @@ let
         sha512 = "grrmrB6Zb8DUiyDIaeRTBCkgISYUgETNe7NglEbVsrLWXeESnlCSP50WfRSj/GmzMPl6Uchj24S/p80nP/ZQrQ==";
       };
     };
+    "update-notifier-4.1.0" = {
+      name = "update-notifier";
+      packageName = "update-notifier";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/update-notifier/-/update-notifier-4.1.0.tgz";
+        sha512 = "w3doE1qtI0/ZmgeoDoARmI5fjDoT93IfKgEGqm26dGUOh8oNpaSTsGNdYRN/SjOuo10jcJGwkEL3mroKzktkew==";
+      };
+    };
     "update-notifier-4.1.3" = {
       name = "update-notifier";
       packageName = "update-notifier";
@@ -61062,6 +62386,15 @@ let
         sha512 = "ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==";
       };
     };
+    "update-section-0.3.3" = {
+      name = "update-section";
+      packageName = "update-section";
+      version = "0.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/update-section/-/update-section-0.3.3.tgz";
+        sha1 = "458f17820d37820dc60e20b86d94391b00123158";
+      };
+    };
     "upnp-device-client-1.0.2" = {
       name = "upnp-device-client";
       packageName = "upnp-device-client";
@@ -61215,13 +62548,13 @@ let
         sha512 = "3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==";
       };
     };
-    "url-parse-1.5.1" = {
+    "url-parse-1.5.3" = {
       name = "url-parse";
       packageName = "url-parse";
-      version = "1.5.1";
+      version = "1.5.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/url-parse/-/url-parse-1.5.1.tgz";
-        sha512 = "HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q==";
+        url = "https://registry.npmjs.org/url-parse/-/url-parse-1.5.3.tgz";
+        sha512 = "IIORyIQD9rvj0A4CLWsHkBBJuNqWpFQe224b6j9t/ABmquIS0qDU2pY6kl6AuOrL5OkCXHMCFNe1jBcuAggjvQ==";
       };
     };
     "url-parse-lax-1.0.0" = {
@@ -61314,6 +62647,15 @@ let
         sha512 = "cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==";
       };
     };
+    "use-debounce-3.4.3" = {
+      name = "use-debounce";
+      packageName = "use-debounce";
+      version = "3.4.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/use-debounce/-/use-debounce-3.4.3.tgz";
+        sha512 = "nxy+opOxDccWfhMl36J5BSCTpvcj89iaQk2OZWLAtBJQj7ISCtx1gh+rFbdjGfMl6vtCZf6gke/kYvrkVfHMoA==";
+      };
+    };
     "user-home-2.0.0" = {
       name = "user-home";
       packageName = "user-home";
@@ -61360,13 +62702,13 @@ let
         sha512 = "3XZZuJSeoIUyMYSuDbTbVtP4KAVGHPfU8nmHFkr8LJc+THCaUXwnu/2AV+LCSLarET/hL9IlbNfYTGrt6fOVuQ==";
       };
     };
-    "ut_pex-3.0.1" = {
+    "ut_pex-3.0.2" = {
       name = "ut_pex";
       packageName = "ut_pex";
-      version = "3.0.1";
+      version = "3.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ut_pex/-/ut_pex-3.0.1.tgz";
-        sha512 = "t1MHIDHSISgOJcmq8UM6Qv9/hRQYVaUvzqSNnXa5ATDbS9hXfhBpyBo2HcSyJtwPSHsmMtNui8G6yKirwJ8vow==";
+        url = "https://registry.npmjs.org/ut_pex/-/ut_pex-3.0.2.tgz";
+        sha512 = "3xM88t+AVU5GR0sIY3tmRMLUS+YKiwStc7U7+ZFQ+UHQpX7BjVJOomhmtm0Bs+8R2n812Dt2ymXm01EqDrOOpQ==";
       };
     };
     "utf-8-validate-1.2.2" = {
@@ -61432,15 +62774,6 @@ let
         sha1 = "d52b2fd632a99eca8d9d4a39eece014a6a2b0048";
       };
     };
-    "utif-2.0.1" = {
-      name = "utif";
-      packageName = "utif";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/utif/-/utif-2.0.1.tgz";
-        sha512 = "Z/S1fNKCicQTf375lIP9G8Sa1H/phcysstNrrSdZKj1f9g58J4NMgb5IgiEZN9/nLMPDwF0W7hdOe9Qq2IYoLg==";
-      };
-    };
     "util-0.10.3" = {
       name = "util";
       packageName = "util";
@@ -61558,6 +62891,15 @@ let
         sha1 = "1352c340eb820e4d8ddba039a4fbfaa32ed4ef3a";
       };
     };
+    "utility-types-3.10.0" = {
+      name = "utility-types";
+      packageName = "utility-types";
+      version = "3.10.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz";
+        sha512 = "O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==";
+      };
+    };
     "utils-merge-1.0.1" = {
       name = "utils-merge";
       packageName = "utils-merge";
@@ -61657,6 +62999,15 @@ let
         sha512 = "+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==";
       };
     };
+    "uws-9.148.0" = {
+      name = "uws";
+      packageName = "uws";
+      version = "9.148.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uws/-/uws-9.148.0.tgz";
+        sha512 = "vWt+e8dOdwLM4neb1xIeZuQ7ZUN3l7n0qTKrOUtU1EZrV4BpmrSnsEL30d062/ocqRMGtLpwzVFsLKFgXomA9g==";
+      };
+    };
     "v8-compile-cache-2.3.0" = {
       name = "v8-compile-cache";
       packageName = "v8-compile-cache";
@@ -61765,6 +63116,15 @@ let
         sha1 = "1c243a50b595c1be54a754bfece8563b9ff8d813";
       };
     };
+    "value-or-promise-1.0.10" = {
+      name = "value-or-promise";
+      packageName = "value-or-promise";
+      version = "1.0.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/value-or-promise/-/value-or-promise-1.0.10.tgz";
+        sha512 = "1OwTzvcfXkAfabk60UVr5NdjtjJ0Fg0T5+B1bhxtrOEwSH2fe8y4DnLgoksfCyd8yZCOQQHB0qLMQnwgCjbXLQ==";
+      };
+    };
     "value-or-promise-1.0.6" = {
       name = "value-or-promise";
       packageName = "value-or-promise";
@@ -62170,13 +63530,13 @@ let
         sha512 = "/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==";
       };
     };
-    "verda-1.3.0" = {
+    "verda-1.3.2" = {
       name = "verda";
       packageName = "verda";
-      version = "1.3.0";
+      version = "1.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/verda/-/verda-1.3.0.tgz";
-        sha512 = "EldyK2oyHMxIKj5aMC1R75aN1XH8vH96ga1PgkuXrK5ZhYndR4g8TvBTomXpIgGvwhICjq5LZITZ37Xz/YHxAg==";
+        url = "https://registry.npmjs.org/verda/-/verda-1.3.2.tgz";
+        sha512 = "uheYzfPZDvcyXX5nR/eAIB2jKtvbCPhmcEpbJESU7I3QykvIvZWozdb5MEdBAx9e6LyS6TqtBp6BwGBMTO7Xow==";
       };
     };
     "verror-1.1.0" = {
@@ -62323,13 +63683,13 @@ let
         sha512 = "DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==";
       };
     };
-    "vfile-message-3.0.1" = {
+    "vfile-message-3.0.2" = {
       name = "vfile-message";
       packageName = "vfile-message";
-      version = "3.0.1";
+      version = "3.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vfile-message/-/vfile-message-3.0.1.tgz";
-        sha512 = "gYmSHcZZUEtYpTmaWaFJwsuUD70/rTY4v09COp8TGtOkix6gGxb/a8iTQByIY9ciTk9GwAwIXd/J9OPfM4Bvaw==";
+        url = "https://registry.npmjs.org/vfile-message/-/vfile-message-3.0.2.tgz";
+        sha512 = "UUjZYIOg9lDRwwiBAuezLIsu9KlXntdxwG+nXnjuQAHvBpcX3x0eN8h+I7TkY5nkCXj+cWVp4ZqebtGBvok8ww==";
       };
     };
     "vfile-reporter-1.5.0" = {
@@ -62548,6 +63908,15 @@ let
         sha512 = "FS5ou3G+WRnPPr/tWVs8b/jVzeDacgZHy/y7/QQW7maSPFEAmRt2bFGUJtJVEUDLBqtDm/3VGMJ7D31cF2U1tw==";
       };
     };
+    "vsce-1.96.1" = {
+      name = "vsce";
+      packageName = "vsce";
+      version = "1.96.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vsce/-/vsce-1.96.1.tgz";
+        sha512 = "KnEVqjfc1dXrpZsbJ8J7B9VQ7GAAx8o5RqBNk42Srv1KF9+e2/aXchQHe9QZxeUs/FiliHoMGpGvnHTXwKIT2A==";
+      };
+    };
     "vscode-css-languageservice-3.0.13" = {
       name = "vscode-css-languageservice";
       packageName = "vscode-css-languageservice";
@@ -62575,22 +63944,31 @@ let
         sha512 = "DTMa8QbVmujFPvD3NxoC5jjIXCyCG+cvn3hNzwQRhvhsk8LblNymBZBwzfcDdgEtqsi4O/2AB5HnMIRzxhzEzg==";
       };
     };
-    "vscode-debugadapter-testsupport-1.47.0" = {
+    "vscode-css-languageservice-5.1.4" = {
+      name = "vscode-css-languageservice";
+      packageName = "vscode-css-languageservice";
+      version = "5.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-5.1.4.tgz";
+        sha512 = "fIJZJMXbaBsK0ifBb2RmSiLtzwn6NrZnKn7O+0ziIjwAY+rPvSK9St2qqQXFU3reZVRAt/I4GBp40dC/THcUDA==";
+      };
+    };
+    "vscode-debugadapter-testsupport-1.49.0" = {
       name = "vscode-debugadapter-testsupport";
       packageName = "vscode-debugadapter-testsupport";
-      version = "1.47.0";
+      version = "1.49.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-debugadapter-testsupport/-/vscode-debugadapter-testsupport-1.47.0.tgz";
-        sha512 = "zhEuaMt2RCOcJoTZ5p35k2WhCzk51UN1PlrtwfWJ8fiFhjDvXIG+682Wkq1VyL12EhTf4qOLMLn0X4JlX7eJ6g==";
+        url = "https://registry.npmjs.org/vscode-debugadapter-testsupport/-/vscode-debugadapter-testsupport-1.49.0.tgz";
+        sha512 = "4G7+EGYW1Nk5TVPbREzG33hwiqyRdVqI2VGR89hJGlS7fsiGJUDmGgjHM5fryVWkyMyJW8XWJGGVS62clq8EtQ==";
       };
     };
-    "vscode-debugprotocol-1.47.0" = {
+    "vscode-debugprotocol-1.49.0" = {
       name = "vscode-debugprotocol";
       packageName = "vscode-debugprotocol";
-      version = "1.47.0";
+      version = "1.49.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-debugprotocol/-/vscode-debugprotocol-1.47.0.tgz";
-        sha512 = "ii7oCz3Wfr/SGtFr5AYop5dJm0dUmpg0hq2lTzTBdaht8nSheYMMjPntxULBR+2TUxXLcCKFZkF2UEJQduYsIQ==";
+        url = "https://registry.npmjs.org/vscode-debugprotocol/-/vscode-debugprotocol-1.49.0.tgz";
+        sha512 = "3VkK3BmaqN+BGIq4lavWp9a2IC6VYgkWkkMQm6Sa5ACkhBF6ThJDrkP+/3rFE4G7F8+mM3f4bhhJhhMax2IPfg==";
       };
     };
     "vscode-emmet-helper-1.2.17" = {
@@ -62629,6 +64007,15 @@ let
         sha512 = "UmC+GS0IqBeZnOAmdtQvaDzoH1c5/un+b7qALUziu/Y4SOPXso5dF+YkJeTqsde6YU2pLm78RtMDzl9BParwbw==";
       };
     };
+    "vscode-html-languageservice-4.0.7" = {
+      name = "vscode-html-languageservice";
+      packageName = "vscode-html-languageservice";
+      version = "4.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-4.0.7.tgz";
+        sha512 = "P5TQMYpgxAdLs+PwpC7Lm+0lXCyQAC6kZ41YuPYNHVooC4XO7Y2+ncHBcQJVK4C9LU2cTOAl0lzq4WAxuwRHYw==";
+      };
+    };
     "vscode-json-languageserver-1.3.4" = {
       name = "vscode-json-languageserver";
       packageName = "vscode-json-languageserver";
@@ -62656,13 +64043,13 @@ let
         sha512 = "QW2SFk4kln5lTPQajGNuXWtmr2z9hVA6Sfi4qPFEW2vjt2XaUAp38/1OrcUQYiJXOyXntbWN2jZJaGxg+hDUxw==";
       };
     };
-    "vscode-json-languageservice-4.1.6" = {
+    "vscode-json-languageservice-4.1.7" = {
       name = "vscode-json-languageservice";
       packageName = "vscode-json-languageservice";
-      version = "4.1.6";
+      version = "4.1.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-4.1.6.tgz";
-        sha512 = "DIKb3tcfRtb3tIE6g9SLOl5E9tNSt6kljH08Wa5RwFlVshtXGrDDzttchze4CYy9pJpE9mBtCbRHmLvY1Z1ZXA==";
+        url = "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-4.1.7.tgz";
+        sha512 = "cwG5TwZyHYthsk2aS3W1dVgVP6Vwn3o+zscwN58uMgZt/nKuyxd9vdEB1F58Ix+S5kSKAnkUCP6hvulcoImQQQ==";
       };
     };
     "vscode-jsonrpc-3.5.0" = {
@@ -63097,6 +64484,15 @@ let
         sha1 = "13587190f34e72ba7a07ebbaa7e70ac147b1fb7d";
       };
     };
+    "vt-pbf-3.1.3" = {
+      name = "vt-pbf";
+      packageName = "vt-pbf";
+      version = "3.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vt-pbf/-/vt-pbf-3.1.3.tgz";
+        sha512 = "2LzDFzt0mZKZ9IpVF2r69G9bXaP2Q2sArJCmcCgvfTdCCZzSyz4aCLoQyUilu37Ll56tCblIZrXFIjNUpGIlmA==";
+      };
+    };
     "vue-2.6.14" = {
       name = "vue";
       packageName = "vue";
@@ -63142,13 +64538,13 @@ let
         sha512 = "8FdXi0gieEwh1IprIBafpiJWcApwrU+l2FEj8c1HtHFdNXMd0+2jUSjBVmcQYohf/E72irwAXEXLga6TQcB3FA==";
       };
     };
-    "vue-eslint-parser-7.9.0" = {
+    "vue-eslint-parser-7.10.0" = {
       name = "vue-eslint-parser";
       packageName = "vue-eslint-parser";
-      version = "7.9.0";
+      version = "7.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-7.9.0.tgz";
-        sha512 = "QBlhZ5LteDRVy2dISfQhNEmmcqph+GTaD4SH41bYzXcVHFPJ9p34zCG6QAqOZVa8PKaVgbomFnoZpGJRZi14vg==";
+        url = "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-7.10.0.tgz";
+        sha512 = "7tc/ewS9Vq9Bn741pvpg8op2fWJPH3k32aL+jcIcWGCTzh/zXSdh7pZ5FV3W2aJancP9+ftPAv292zY5T5IPCg==";
       };
     };
     "vue-onsenui-helper-json-1.0.2" = {
@@ -63250,6 +64646,15 @@ let
         sha512 = "rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==";
       };
     };
+    "wasm-feature-detect-1.2.11" = {
+      name = "wasm-feature-detect";
+      packageName = "wasm-feature-detect";
+      version = "1.2.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wasm-feature-detect/-/wasm-feature-detect-1.2.11.tgz";
+        sha512 = "HUqwaodrQGaZgz1lZaNioIkog9tkeEJjrM3eq4aUL04whXOVDRc/o2EGb/8kV0QX411iAYWEqq7fMBmJ6dKS6w==";
+      };
+    };
     "watch-1.0.2" = {
       name = "watch";
       packageName = "watch";
@@ -63367,22 +64772,40 @@ let
         sha512 = "tB0F+ccobsfw5jTWBinWJKyd/YdCdRbKj+CFSnsJeEgFYysOULvWFYyeCxn9KuQvG/3UF1t3cTAcJzBec5LCWA==";
       };
     };
-    "web-tree-sitter-0.16.4" = {
+    "web-streams-polyfill-3.1.0" = {
+      name = "web-streams-polyfill";
+      packageName = "web-streams-polyfill";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.1.0.tgz";
+        sha512 = "wO9r1YnYe7kFBLHyyVEhV1H8VRWoNiNnuP+v/HUUmSTaRF8F93Kmd3JMrETx0f11GXxRek6OcL2QtjFIdc5WYw==";
+      };
+    };
+    "web-tree-sitter-0.17.1" = {
       name = "web-tree-sitter";
       packageName = "web-tree-sitter";
-      version = "0.16.4";
+      version = "0.17.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/web-tree-sitter/-/web-tree-sitter-0.16.4.tgz";
-        sha512 = "n1CfuJcJ+dynIx/fmavB6haPx37N3GZvY5HIGIselymDiSwNRC+8pAxOzoB4eVwUBJnbP3+aA8vWttrAZbgs7A==";
+        url = "https://registry.npmjs.org/web-tree-sitter/-/web-tree-sitter-0.17.1.tgz";
+        sha512 = "QgaeV+wmlB1Qaw9rS5a0ZDBt8GRcKkF+hGNSVxQ/HLm1lPCow3BKOhoILaXkYm7YozCcL7TjppRADBwFJugbuA==";
       };
     };
-    "web3-utils-1.4.0" = {
+    "web-tree-sitter-0.19.4" = {
+      name = "web-tree-sitter";
+      packageName = "web-tree-sitter";
+      version = "0.19.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/web-tree-sitter/-/web-tree-sitter-0.19.4.tgz";
+        sha512 = "8G0xBj05hqZybCqBtW7RPZ/hWEtP3DiLTauQzGJZuZYfVRgw7qj7iaZ+8djNqJ4VPrdOO+pS2dR1JsTbsLxdYg==";
+      };
+    };
+    "web3-utils-1.5.2" = {
       name = "web3-utils";
       packageName = "web3-utils";
-      version = "1.4.0";
+      version = "1.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/web3-utils/-/web3-utils-1.4.0.tgz";
-        sha512 = "b8mEhwh/J928Xk+SQFjtqrR2EGPhpknWLcIt9aCpVPVRXiqjUGo/kpOHKz0azu9c6/onEJ9tWXZt0cVjmH0N5Q==";
+        url = "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.2.tgz";
+        sha512 = "quTtTeQJHYSxAwIBOCGEcQtqdVcFWX6mCFNoqnp+mRbq+Hxbs8CGgO/6oqfBx4OvxIOfCpgJWYVHswRXnbEu9Q==";
       };
     };
     "webassemblyjs-1.11.1" = {
@@ -63430,6 +64853,15 @@ let
         sha512 = "qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==";
       };
     };
+    "webmscore-0.18.0" = {
+      name = "webmscore";
+      packageName = "webmscore";
+      version = "0.18.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webmscore/-/webmscore-0.18.0.tgz";
+        sha512 = "/J/2/KKWKST0A+Qix/SBSVtZY0C/33GQoYI3V84XEu/V3nij2ZFIcsyGQPYVr6y0HVasj6dQtvY+y7MrmYcsTw==";
+      };
+    };
     "webpack-4.43.0" = {
       name = "webpack";
       packageName = "webpack";
@@ -63457,22 +64889,22 @@ let
         sha512 = "6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==";
       };
     };
-    "webpack-5.43.0" = {
+    "webpack-5.45.1" = {
       name = "webpack";
       packageName = "webpack";
-      version = "5.43.0";
+      version = "5.45.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webpack/-/webpack-5.43.0.tgz";
-        sha512 = "ex3nB9uxNI0azzb0r3xGwi+LS5Gw1RCRSKk0kg3kq9MYdIPmLS6UI3oEtG7esBaB51t9I+5H+vHmL3htaxqMSw==";
+        url = "https://registry.npmjs.org/webpack/-/webpack-5.45.1.tgz";
+        sha512 = "68VT2ZgG9EHs6h6UxfV2SEYewA9BA3SOLSnC2NEbJJiEwbAiueDL033R1xX0jzjmXvMh0oSeKnKgbO2bDXIEyQ==";
       };
     };
-    "webpack-5.45.1" = {
+    "webpack-5.51.1" = {
       name = "webpack";
       packageName = "webpack";
-      version = "5.45.1";
+      version = "5.51.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webpack/-/webpack-5.45.1.tgz";
-        sha512 = "68VT2ZgG9EHs6h6UxfV2SEYewA9BA3SOLSnC2NEbJJiEwbAiueDL033R1xX0jzjmXvMh0oSeKnKgbO2bDXIEyQ==";
+        url = "https://registry.npmjs.org/webpack/-/webpack-5.51.1.tgz";
+        sha512 = "xsn3lwqEKoFvqn4JQggPSRxE4dhsRcysWTqYABAZlmavcoTmwlOb9b1N36Inbt/eIispSkuHa80/FJkDTPos1A==";
       };
     };
     "webpack-bundle-analyzer-3.9.0" = {
@@ -63493,13 +64925,13 @@ let
         sha512 = "NVWBaz9k839ZH/sinurM+HcDvJOTXwSjYp1ku+5XKeOC03z8v5QitnK/x+lAxGXFyhdayoIf/GOpv85z3/xPag==";
       };
     };
-    "webpack-cli-4.7.2" = {
+    "webpack-cli-4.8.0" = {
       name = "webpack-cli";
       packageName = "webpack-cli";
-      version = "4.7.2";
+      version = "4.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.7.2.tgz";
-        sha512 = "mEoLmnmOIZQNiRl0ebnjzQ74Hk0iKS5SiEEnpq3dRezoyR3yPaeQZCMCe+db4524pj1Pd5ghZXjT41KLzIhSLw==";
+        url = "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.8.0.tgz";
+        sha512 = "+iBSWsX16uVna5aAYN6/wjhJy1q/GKk4KjKvfg90/6hykCTSgozbfz5iRgDTSJt/LgSbYxdBX3KBHeobIs+ZEw==";
       };
     };
     "webpack-core-0.6.9" = {
@@ -63511,15 +64943,6 @@ let
         sha1 = "fc571588c8558da77be9efb6debdc5a3b172bdc2";
       };
     };
-    "webpack-deep-scope-plugin-1.6.0" = {
-      name = "webpack-deep-scope-plugin";
-      packageName = "webpack-deep-scope-plugin";
-      version = "1.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/webpack-deep-scope-plugin/-/webpack-deep-scope-plugin-1.6.0.tgz";
-        sha512 = "ZYldKNeWQtk9SoV70x7Eb2NRmvHMtNBOjscs0wUdg/pfymntiF+0W/D9v2o76ztufjND6RNFjNVnyFQww25AZg==";
-      };
-    };
     "webpack-dev-middleware-3.7.3" = {
       name = "webpack-dev-middleware";
       packageName = "webpack-dev-middleware";
@@ -63529,6 +64952,15 @@ let
         sha512 = "djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==";
       };
     };
+    "webpack-dev-middleware-5.0.0" = {
+      name = "webpack-dev-middleware";
+      packageName = "webpack-dev-middleware";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.0.0.tgz";
+        sha512 = "9zng2Z60pm6A98YoRcA0wSxw1EYn7B7y5owX/Tckyt9KGyULTkLtiavjaXlWqOMkM0YtqGgL3PvMOFgyFLq8vw==";
+      };
+    };
     "webpack-dev-server-3.11.0" = {
       name = "webpack-dev-server";
       packageName = "webpack-dev-server";
@@ -63619,6 +65051,15 @@ let
         sha512 = "y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==";
       };
     };
+    "webpack-sources-3.2.0" = {
+      name = "webpack-sources";
+      packageName = "webpack-sources";
+      version = "3.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.0.tgz";
+        sha512 = "fahN08Et7P9trej8xz/Z7eRu8ltyiygEo/hnRi9KqBUs80KeDcnf96ZJo++ewWd84fEf3xSX9bp4ZS9hbw0OBw==";
+      };
+    };
     "webpack-stream-6.1.0" = {
       name = "webpack-stream";
       packageName = "webpack-stream";
@@ -63637,6 +65078,15 @@ let
         sha512 = "k1qRoSL/3BVuINzngj09nIwreD8wxV4grcuhHTD8VJgUbGcy8lQSPqv+bM00B7F+PffwIsQ8ISd4mIwRbr23eQ==";
       };
     };
+    "webrtc-adapter-7.7.1" = {
+      name = "webrtc-adapter";
+      packageName = "webrtc-adapter";
+      version = "7.7.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webrtc-adapter/-/webrtc-adapter-7.7.1.tgz";
+        sha512 = "TbrbBmiQBL9n0/5bvDdORc6ZfRY/Z7JnEj+EYOD1ghseZdpJ+nF2yx14k3LgQKc7JZnG7HAcL+zHnY25So9d7A==";
+      };
+    };
     "websocket-driver-0.6.5" = {
       name = "websocket-driver";
       packageName = "websocket-driver";
@@ -63664,13 +65114,13 @@ let
         sha512 = "OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==";
       };
     };
-    "webtorrent-1.2.5" = {
+    "webtorrent-1.5.4" = {
       name = "webtorrent";
       packageName = "webtorrent";
-      version = "1.2.5";
+      version = "1.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webtorrent/-/webtorrent-1.2.5.tgz";
-        sha512 = "EvtAQ3rK4c7Kf4ZGxYOGvi8Jih8qsZka1IgNB8T5Vxw5UzSNG1nxTVNNTXL0jFhQUMsyRwIOkTgd7ZkJY6bqsw==";
+        url = "https://registry.npmjs.org/webtorrent/-/webtorrent-1.5.4.tgz";
+        sha512 = "XXvOHlCskDgDjFoId0YrTebQQ/11rIJIm0MQqkBPctSA+RPrRDDooJa8yHAsVP+Aa2PtoxrKPSHr9RFDq+46aQ==";
       };
     };
     "well-known-symbols-2.0.0" = {
@@ -63862,13 +65312,13 @@ let
         sha1 = "20b721df05b35b706176ffa10b0909aba4603035";
       };
     };
-    "which-typed-array-1.1.4" = {
+    "which-typed-array-1.1.6" = {
       name = "which-typed-array";
       packageName = "which-typed-array";
-      version = "1.1.4";
+      version = "1.1.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.4.tgz";
-        sha512 = "49E0SpUe90cjpoc7BOJwyPHRqSAd12c10Qm2amdEZrJPCY2NDxaW01zHITrem+rnETY3dwrbH3UUrUwagfCYDA==";
+        url = "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.6.tgz";
+        sha512 = "DdY984dGD5sQ7Tf+x1CkXzdg85b9uEel6nr4UkFg1LoE9OXv3uRuZhe5CoWdawhGACeFpEZXH8fFLQnDhbpm/Q==";
       };
     };
     "wide-align-1.1.3" = {
@@ -63925,13 +65375,13 @@ let
         sha512 = "nSiLDIIMAmnulDIRcophSU4oOLW1AGnQKNim+SI5MtzE5gwlD+VJNTkBbSYq8Nov8WjD9jWobaKxo+5yeiC1vA==";
       };
     };
-    "wikipeg-2.0.5" = {
+    "wikipeg-2.0.6" = {
       name = "wikipeg";
       packageName = "wikipeg";
-      version = "2.0.5";
+      version = "2.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/wikipeg/-/wikipeg-2.0.5.tgz";
-        sha512 = "FMNznSW4Qjexmgqz23YLtXoS6+GKPnbkEsI14xdRxsWv8jQWJ94ffQZ4PpUSsZm7/XAjqrjFiUnbvOOxBhJY4g==";
+        url = "https://registry.npmjs.org/wikipeg/-/wikipeg-2.0.6.tgz";
+        sha512 = "b3Ni/3kKzoHfqL8OdbwHELvEdFt3jyZfjgNXzz0pDvAu7++DdaKE9iCceyzHS2lOdAidyREcUVRY4F9kWwd/Lg==";
       };
     };
     "wildcard-2.0.0" = {
@@ -64195,159 +65645,6 @@ let
         sha512 = "mO8XtqyPvykVCsrwj5MlOVWvSnCdT+C+QVbm6blradR7JExAhbkZ7hZ9A+9NUtwzSqrlUo9a67ws0EiILrvRpw==";
       };
     };
-    "workbox-background-sync-6.1.5" = {
-      name = "workbox-background-sync";
-      packageName = "workbox-background-sync";
-      version = "6.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.1.5.tgz";
-        sha512 = "VbUmPLsdz+sLzuNxHvMylzyRTiM4q+q7rwLBk3p2mtRL5NZozI8j/KgoGbno96vs84jx4b9zCZMEOIKEUTPf6w==";
-      };
-    };
-    "workbox-broadcast-update-6.1.5" = {
-      name = "workbox-broadcast-update";
-      packageName = "workbox-broadcast-update";
-      version = "6.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.1.5.tgz";
-        sha512 = "zGrTTs+n4wHpYtqYMqBg6kl/x5j1UrczGCQnODSHTxIDV8GXLb/GtA1BCZdysNxpMmdVSeLmTcgIYAAqWFamrA==";
-      };
-    };
-    "workbox-build-6.1.5" = {
-      name = "workbox-build";
-      packageName = "workbox-build";
-      version = "6.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-build/-/workbox-build-6.1.5.tgz";
-        sha512 = "P+fakR5QFVqJN9l9xHVXtmafga72gh9I+jM3A9HiB/6UNRmOAejXnDgD+RMegOHgQHPwnB44TalMToFaXKWIyA==";
-      };
-    };
-    "workbox-cacheable-response-6.1.5" = {
-      name = "workbox-cacheable-response";
-      packageName = "workbox-cacheable-response";
-      version = "6.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.1.5.tgz";
-        sha512 = "x8DC71lO/JCgiaJ194l9le8wc8lFPLgUpDkLhp2si7mXV6S/wZO+8Osvw1LLgYa8YYTWGbhbFhFTXIkEMknIIA==";
-      };
-    };
-    "workbox-core-6.1.5" = {
-      name = "workbox-core";
-      packageName = "workbox-core";
-      version = "6.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-core/-/workbox-core-6.1.5.tgz";
-        sha512 = "9SOEle7YcJzg3njC0xMSmrPIiFjfsFm9WjwGd5enXmI8Lwk8wLdy63B0nzu5LXoibEmS9k+aWF8EzaKtOWjNSA==";
-      };
-    };
-    "workbox-expiration-6.1.5" = {
-      name = "workbox-expiration";
-      packageName = "workbox-expiration";
-      version = "6.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.1.5.tgz";
-        sha512 = "6cN+FVbh8fNq56LFKPMchGNKCJeyboHsDuGBqmhDUPvD4uDjsegQpDQzn52VaE0cpywbSIsDF/BSq9E9Yjh5oQ==";
-      };
-    };
-    "workbox-google-analytics-6.1.5" = {
-      name = "workbox-google-analytics";
-      packageName = "workbox-google-analytics";
-      version = "6.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.1.5.tgz";
-        sha512 = "LYsJ/VxTkYVLxM1uJKXZLz4cJdemidY7kPyAYtKVZ6EiDG89noASqis75/5lhqM1m3HwQfp2DtoPrelKSpSDBA==";
-      };
-    };
-    "workbox-navigation-preload-6.1.5" = {
-      name = "workbox-navigation-preload";
-      packageName = "workbox-navigation-preload";
-      version = "6.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.1.5.tgz";
-        sha512 = "hDbNcWlffv0uvS21jCAC/mYk7NzaGRSWOQXv1p7bj2aONAX5l699D2ZK4D27G8TO0BaLHUmW/1A5CZcsvweQdg==";
-      };
-    };
-    "workbox-precaching-6.1.5" = {
-      name = "workbox-precaching";
-      packageName = "workbox-precaching";
-      version = "6.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.1.5.tgz";
-        sha512 = "yhm1kb6wgi141JeM5X7z42XJxCry53tbMLB3NgrxktrZbwbrJF8JILzYy+RFKC9tHC6u2bPmL789GPLT2NCDzw==";
-      };
-    };
-    "workbox-range-requests-6.1.5" = {
-      name = "workbox-range-requests";
-      packageName = "workbox-range-requests";
-      version = "6.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.1.5.tgz";
-        sha512 = "iACChSapzB0yuIum3ascP/+cfBNuZi5DRrE+u4u5mCHigPlwfSWtlaY+y8p+a8EwcDTVTZVtnrGrRnF31SiLqQ==";
-      };
-    };
-    "workbox-recipes-6.1.5" = {
-      name = "workbox-recipes";
-      packageName = "workbox-recipes";
-      version = "6.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.1.5.tgz";
-        sha512 = "MD1yabHca6O/oj1hrRdfj9cRwhKA5zqIE53rWOAg/dKMMzWQsf9nyRbXRgzK3a13iQvYKuQzURU4Cx58tdnR+Q==";
-      };
-    };
-    "workbox-routing-6.1.5" = {
-      name = "workbox-routing";
-      packageName = "workbox-routing";
-      version = "6.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.1.5.tgz";
-        sha512 = "uC/Ctz+4GXGL42h1WxUNKxqKRik/38uS0NZ6VY/EHqL2F1ObLFqMHUZ4ZYvyQsKdyI82cxusvhJZHOrY0a2fIQ==";
-      };
-    };
-    "workbox-strategies-6.1.5" = {
-      name = "workbox-strategies";
-      packageName = "workbox-strategies";
-      version = "6.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.1.5.tgz";
-        sha512 = "QhiOn9KT9YGBdbfWOmJT6pXZOIAxaVrs6J6AMYzRpkUegBTEcv36+ZhE/cfHoT0u2fxVtthHnskOQ/snEzaXQw==";
-      };
-    };
-    "workbox-streams-6.1.5" = {
-      name = "workbox-streams";
-      packageName = "workbox-streams";
-      version = "6.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.1.5.tgz";
-        sha512 = "OI1kLvRHGFXV+soDvs6aEwfBwdAkvPB0mRryqdh3/K17qUj/1gRXc8QtpgU+83xqx/I/ar2bTCIj0KPzI/ChCQ==";
-      };
-    };
-    "workbox-sw-6.1.5" = {
-      name = "workbox-sw";
-      packageName = "workbox-sw";
-      version = "6.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.1.5.tgz";
-        sha512 = "IMDiqxYbKzPorZLGMUMacLB6r76iVQbdTzYthIZoPfy+uFURJFUtqiWQJKg1L+RMyuYXwKXTahCIGkgFs4jBeg==";
-      };
-    };
-    "workbox-webpack-plugin-6.1.5" = {
-      name = "workbox-webpack-plugin";
-      packageName = "workbox-webpack-plugin";
-      version = "6.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.1.5.tgz";
-        sha512 = "tsgeNAYiFP4STNPDxBVT58eiU8nGUmcv7Lq9FFJkQf5MMu6tPw1OLp+KpszhbCWP+R/nEdu85Gjexs6fY647Kg==";
-      };
-    };
-    "workbox-window-6.1.5" = {
-      name = "workbox-window";
-      packageName = "workbox-window";
-      version = "6.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-window/-/workbox-window-6.1.5.tgz";
-        sha512 = "akL0X6mAegai2yypnq78RgfazeqvKbsllRtEI4dnbhPcRINEY1NmecFmsQk8SD+zWLK1gw5OdwAOX+zHSRVmeA==";
-      };
-    };
     "worker-farm-1.7.0" = {
       name = "worker-farm";
       packageName = "worker-farm";
@@ -64357,15 +65654,6 @@ let
         sha512 = "rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==";
       };
     };
-    "worker-loader-2.0.0" = {
-      name = "worker-loader";
-      packageName = "worker-loader";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/worker-loader/-/worker-loader-2.0.0.tgz";
-        sha512 = "tnvNp4K3KQOpfRnD20m8xltE3eWh89Ye+5oj7wXEEHKac1P4oZ6p9oTj8/8ExqoSBnk9nu5Pr4nKfQ1hn2APJw==";
-      };
-    };
     "worker-rpc-0.1.1" = {
       name = "worker-rpc";
       packageName = "worker-rpc";
@@ -64411,15 +65699,6 @@ let
         sha1 = "288a04d87eda5c286e060dfe8f135ce8d007f8ba";
       };
     };
-    "wrap-ansi-4.0.0" = {
-      name = "wrap-ansi";
-      packageName = "wrap-ansi";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-4.0.0.tgz";
-        sha512 = "uMTsj9rDb0/7kk1PbcbCcwvHUxp60fGDB/NNXpVa0Q+ic/e7y5+BwTxKfQ33VYgDppSwi/FBzpetYzo8s6tfbg==";
-      };
-    };
     "wrap-ansi-5.1.0" = {
       name = "wrap-ansi";
       packageName = "wrap-ansi";
@@ -64456,6 +65735,15 @@ let
         sha1 = "f21b6e41016ff4a7e31720dbc63a09016bdf9845";
       };
     };
+    "wrapped-1.0.1" = {
+      name = "wrapped";
+      packageName = "wrapped";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wrapped/-/wrapped-1.0.1.tgz";
+        sha1 = "c783d9d807b273e9b01e851680a938c87c907242";
+      };
+    };
     "wrappy-1.0.2" = {
       name = "wrappy";
       packageName = "wrappy";
@@ -64654,6 +65942,24 @@ let
         sha512 = "kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==";
       };
     };
+    "ws-8.1.0" = {
+      name = "ws";
+      packageName = "ws";
+      version = "8.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ws/-/ws-8.1.0.tgz";
+        sha512 = "0UWlCD2s3RSclw8FN+D0zDTUyMO+1kHwJQQJzkgUh16S8d3NYON0AKCEQPffE0ez4JyRFu76QDA9KR5bOG/7jw==";
+      };
+    };
+    "ws-8.2.0" = {
+      name = "ws";
+      packageName = "ws";
+      version = "8.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ws/-/ws-8.2.0.tgz";
+        sha512 = "uYhVJ/m9oXwEI04iIVmgLmugh2qrZihkywG9y5FfZV2ATeLIzHf93qs+tUNqlttbQK957/VX3mtwAS+UfIwA4g==";
+      };
+    };
     "x-default-browser-0.3.1" = {
       name = "x-default-browser";
       packageName = "x-default-browser";
@@ -64735,13 +66041,13 @@ let
         sha512 = "N1XQngeqMBoj9wM4ZFadVV2MymImeiFfYD+fJrNlcVcOHsJFFQe7n3b+aBoTPwARuq2HQxukfzVpQmAk1gN4sQ==";
       };
     };
-    "xdl-59.0.50" = {
+    "xdl-59.1.0" = {
       name = "xdl";
       packageName = "xdl";
-      version = "59.0.50";
+      version = "59.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/xdl/-/xdl-59.0.50.tgz";
-        sha512 = "T1QdEP3U4m0BfeqRWPJ1J9ywlmicFTM8zBWPqP/1Xw6V/cpX2QHRfhLpl60uEiD7HsCcAPXTe1zIo8khDhFYvA==";
+        url = "https://registry.npmjs.org/xdl/-/xdl-59.1.0.tgz";
+        sha512 = "kEkXVds9GWYBV/oIPHvdhoTCQcP8bFG2H+OV6qfytw66gnGLrj0qYSfEvlg+0U0GLChONR37iukGCj19oFnYig==";
       };
     };
     "xenvar-0.5.1" = {
@@ -64843,15 +66149,6 @@ let
         sha512 = "A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==";
       };
     };
-    "xml-parse-from-string-1.0.1" = {
-      name = "xml-parse-from-string";
-      packageName = "xml-parse-from-string";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz";
-        sha1 = "a9029e929d3dbcded169f3c6e28238d95a5d5a28";
-      };
-    };
     "xml2js-0.2.4" = {
       name = "xml2js";
       packageName = "xml2js";
@@ -65014,15 +66311,6 @@ let
         sha512 = "z9s6k3wxE+aZHgXYxSTpGDo7BYOUfJsIRyoZiX6HTjwpwfS2wpQBQKa2fD+ShLyPkqDYo5ud7KitmLZ2Cd6r0g==";
       };
     };
-    "xmldom-0.5.0" = {
-      name = "xmldom";
-      packageName = "xmldom";
-      version = "0.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/xmldom/-/xmldom-0.5.0.tgz";
-        sha512 = "Foaj5FXVzgn7xFzsKeNIde9g6aFBxTPi37iwsno8QvApmtg7KYrr+OPyRHcJF7dud2a5nGRBXK3n0dL62Gf7PA==";
-      };
-    };
     "xmldom-0.6.0" = {
       name = "xmldom";
       packageName = "xmldom";
@@ -65159,13 +66447,13 @@ let
         sha512 = "2t7FahYnGJys6DpHLhajusId7R0Pm2yTmuL0GV9+mV0ZlaLSnb2toBmppATfg5sWIhZQGlsTLoecSzya+l4EAQ==";
       };
     };
-    "xstate-4.23.0" = {
+    "xstate-4.23.1" = {
       name = "xstate";
       packageName = "xstate";
-      version = "4.23.0";
+      version = "4.23.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/xstate/-/xstate-4.23.0.tgz";
-        sha512 = "YIKb7thsDfpb6ooWJJuj+UnNZq923dG264zfpS2/vi4dkZz41ugO0ktC6QCBDeMfH8LBHhhqZ06sR4AYgWWnWg==";
+        url = "https://registry.npmjs.org/xstate/-/xstate-4.23.1.tgz";
+        sha512 = "8ZoCe8d6wDSPfkep+GBgi+fKAdMyXcaizoNf5FKceEhlso4+9n1TeK6oviaDsXZ3Z5O8xKkJOxXPNuD4cA9LCw==";
       };
     };
     "xstream-11.14.0" = {
@@ -65285,15 +66573,6 @@ let
         sha1 = "87cfa5a9613f48e26005420d6a8ee0da6fe8daec";
       };
     };
-    "yaml-js-0.3.0" = {
-      name = "yaml-js";
-      packageName = "yaml-js";
-      version = "0.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yaml-js/-/yaml-js-0.3.0.tgz";
-        sha512 = "JbTUdsPiCkOyz+JOSqAVc19omTnUBnBQglhuclYov5HpWbEOz8y+ftqWjiMa9Pe/eF/dmCUeNgVs/VWg53GlgQ==";
-      };
-    };
     "yaml-language-server-0.20.0" = {
       name = "yaml-language-server";
       packageName = "yaml-language-server";
@@ -65411,6 +66690,24 @@ let
         sha512 = "xBBulfCc8Y6gLFcrPvtqKz9hz8SO0l1Ni8GgDekvBX2ro0HRQImDGnikfc33cgzcYUSncapnNcZDjVFIH3f6KQ==";
       };
     };
+    "yargs-17.1.0" = {
+      name = "yargs";
+      packageName = "yargs";
+      version = "17.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs/-/yargs-17.1.0.tgz";
+        sha512 = "SQr7qqmQ2sNijjJGHL4u7t8vyDZdZ3Ahkmo4sc1w5xI9TBX0QDdG/g4SFnxtWOsGLjwHQue57eFALfwFCnixgg==";
+      };
+    };
+    "yargs-17.1.1" = {
+      name = "yargs";
+      packageName = "yargs";
+      version = "17.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs/-/yargs-17.1.1.tgz";
+        sha512 = "c2k48R0PwKIqKhPMWjeiF6y2xY/gPMUlro0sgxqXpbOIohWiLNXWslsootttv7E1e73QPAMQSg5FeySbVcpsPQ==";
+      };
+    };
     "yargs-3.10.0" = {
       name = "yargs";
       packageName = "yargs";
@@ -65591,13 +66888,13 @@ let
         sha512 = "7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==";
       };
     };
-    "yarn-1.22.10" = {
+    "yarn-1.22.11" = {
       name = "yarn";
       packageName = "yarn";
-      version = "1.22.10";
+      version = "1.22.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yarn/-/yarn-1.22.10.tgz";
-        sha512 = "IanQGI9RRPAN87VGTF7zs2uxkSyQSrSPsju0COgbsKQOOXr5LtcVPeyXWgwVa0ywG3d8dg6kSYKGBuYK021qeA==";
+        url = "https://registry.npmjs.org/yarn/-/yarn-1.22.11.tgz";
+        sha512 = "AWje4bzqO9RUn3sdnM5N8n4ZJ0BqCc/kqFJvpOI5/EVkINXui0yuvU7NDCEF//+WaxHuNay2uOHxA4+tq1P3cg==";
       };
     };
     "yarn-1.22.4" = {
@@ -65654,22 +66951,31 @@ let
         sha1 = "90d4b5beaf92759086177015b2fdfa2e0684d7c7";
       };
     };
-    "yeoman-doctor-4.0.0" = {
+    "yeoman-doctor-5.0.0" = {
       name = "yeoman-doctor";
       packageName = "yeoman-doctor";
-      version = "4.0.0";
+      version = "5.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yeoman-doctor/-/yeoman-doctor-4.0.0.tgz";
-        sha512 = "CP0fwGk5Y+jel+A0AQbyqnIFZRRpkKOeYUibiTSmlgV9PcgNFFVwn86VcUIpDLOqVjF+9v+O9FWQMo+IUcV2mA==";
+        url = "https://registry.npmjs.org/yeoman-doctor/-/yeoman-doctor-5.0.0.tgz";
+        sha512 = "9Ni+uXWeFix9+1t7s1q40zZdbcpdi/OwgD4N4cVaqI+bppPciOOXQ/RSggannwZu8m8zrSWELn6/93G7308jgg==";
       };
     };
-    "yeoman-environment-3.4.1" = {
+    "yeoman-environment-3.6.0" = {
       name = "yeoman-environment";
       packageName = "yeoman-environment";
-      version = "3.4.1";
+      version = "3.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yeoman-environment/-/yeoman-environment-3.4.1.tgz";
-        sha512 = "Bu3kN5sTOyAcbO/cKEQf6KOxsLta9oRF59saLOKnt3OQM+hXapnWaAHcrat3dygd6l34KjxwM5AMJp09TDa8yw==";
+        url = "https://registry.npmjs.org/yeoman-environment/-/yeoman-environment-3.6.0.tgz";
+        sha512 = "X16N9lhzRdUKFT8MZrpwjLDKsdgAUqh4VPR2wAXeAqjJJaUxYBxCQGFxtZVTf3vbyNuIHXPunwOLtK60bpapbg==";
+      };
+    };
+    "yeoman-generator-5.4.2" = {
+      name = "yeoman-generator";
+      packageName = "yeoman-generator";
+      version = "5.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yeoman-generator/-/yeoman-generator-5.4.2.tgz";
+        sha512 = "xgS3A4r5VoEYq3vPdk1fWPVZ30y5NHlT2hn0OEyhKG79xojCtPkPkfWcKQamgvC9QLhaotVGvambBxwxwBeDTg==";
       };
     };
     "yesno-0.3.1" = {
@@ -65753,6 +67059,15 @@ let
         sha512 = "Yj3yXweRc8LdRMrCC8nIc4kkjWecPAUVh0TI0OUrWXx6aX790vLcDlWca6I4vsyCGH3LpWxq0dJRcMOFoVqmeg==";
       };
     };
+    "zen-observable-ts-1.2.0" = {
+      name = "zen-observable-ts";
+      packageName = "zen-observable-ts";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-1.2.0.tgz";
+        sha512 = "3IklmJSChXaqAD2gPz6yKHThAnZL46D51x5EPpN/MHuPjrepVdSg3qI7f5fh1RT8Y+K46Owo9fpVuJiuJXLMMA==";
+      };
+    };
     "zeromq-5.2.8" = {
       name = "zeromq";
       packageName = "zeromq";
@@ -65807,6 +67122,15 @@ let
         sha1 = "66c6de82cc36b09734b820703776490a6fbbe624";
       };
     };
+    "zod-1.11.17" = {
+      name = "zod";
+      packageName = "zod";
+      version = "1.11.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/zod/-/zod-1.11.17.tgz";
+        sha512 = "UzIwO92D0dSFwIRyyqAfRXICITLjF0IP8tRbEK/un7adirMssWZx8xF/1hZNE7t61knWZ+lhEuUvxlu2MO8qqA==";
+      };
+    };
     "zwitch-1.0.5" = {
       name = "zwitch";
       packageName = "zwitch";
@@ -65831,29 +67155,31 @@ in
   "@angular/cli" = nodeEnv.buildNodePackage {
     name = "_at_angular_slash_cli";
     packageName = "@angular/cli";
-    version = "12.1.2";
+    version = "12.2.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@angular/cli/-/cli-12.1.2.tgz";
-      sha512 = "oBJcSqXJyPzWGYft5/nD3hJhunxTGXlI4++9ehzdF/fRipOLLMqf77vi/4rUA2DGuaPMbYJeunBnIsgXRGIHIg==";
+      url = "https://registry.npmjs.org/@angular/cli/-/cli-12.2.3.tgz";
+      sha512 = "QBudMbLc+m/Z7GZTskeStk8PUAIPYVYRDq+9dQyKmill56t4MdmTU/m8eteVUXWpQFdRwhqIz6L9hlsfJXzP6A==";
     };
     dependencies = [
-      sources."@angular-devkit/architect-0.1201.2"
-      sources."@angular-devkit/core-12.1.2"
-      sources."@angular-devkit/schematics-12.1.2"
+      sources."@angular-devkit/architect-0.1202.3"
+      sources."@angular-devkit/core-12.2.3"
+      sources."@angular-devkit/schematics-12.2.3"
+      sources."@gar/promisify-1.1.2"
+      sources."@npmcli/fs-1.0.0"
       sources."@npmcli/git-2.1.0"
       sources."@npmcli/installed-package-contents-1.0.7"
       sources."@npmcli/move-file-1.1.2"
       sources."@npmcli/node-gyp-1.0.2"
       sources."@npmcli/promise-spawn-1.3.2"
-      sources."@npmcli/run-script-1.8.5"
-      sources."@schematics/angular-12.1.2"
+      sources."@npmcli/run-script-1.8.6"
+      sources."@schematics/angular-12.2.3"
       sources."@tootallnate/once-1.1.2"
       sources."@yarnpkg/lockfile-1.1.0"
       sources."abbrev-1.1.1"
       sources."agent-base-6.0.2"
       sources."agentkeepalive-4.1.4"
       sources."aggregate-error-3.1.0"
-      sources."ajv-8.6.0"
+      sources."ajv-8.6.2"
       sources."ajv-formats-2.1.0"
       sources."ansi-colors-4.1.1"
       sources."ansi-escapes-4.3.2"
@@ -65879,9 +67205,9 @@ in
       sources."brace-expansion-1.1.11"
       sources."buffer-5.7.1"
       sources."builtins-1.0.3"
-      sources."cacache-15.2.0"
+      sources."cacache-15.3.0"
       sources."caseless-0.12.0"
-      sources."chalk-4.1.1"
+      sources."chalk-4.1.2"
       sources."chardet-0.7.0"
       sources."chownr-2.0.0"
       sources."clean-stack-2.2.0"
@@ -65897,7 +67223,7 @@ in
       sources."console-control-strings-1.1.0"
       sources."core-util-is-1.0.2"
       sources."dashdash-1.14.1"
-      sources."debug-4.3.1"
+      sources."debug-4.3.2"
       sources."defaults-1.0.3"
       sources."define-lazy-prop-2.0.0"
       sources."delayed-stream-1.0.0"
@@ -65934,7 +67260,7 @@ in
       })
       sources."getpass-0.1.7"
       sources."glob-7.1.7"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."har-schema-2.0.0"
       (sources."har-validator-5.1.5" // {
         dependencies = [
@@ -65960,9 +67286,14 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-2.0.0"
-      sources."inquirer-8.1.1"
+      (sources."inquirer-8.1.2" // {
+        dependencies = [
+          sources."rxjs-7.3.0"
+          sources."tslib-2.1.0"
+        ];
+      })
       sources."ip-1.1.5"
-      sources."is-core-module-2.5.0"
+      sources."is-core-module-2.6.0"
       sources."is-docker-2.2.1"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-interactive-1.0.0"
@@ -65985,9 +67316,9 @@ in
       sources."log-symbols-4.1.0"
       sources."lru-cache-6.0.0"
       sources."magic-string-0.25.7"
-      sources."make-fetch-happen-9.0.4"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."make-fetch-happen-9.1.0"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."mimic-fn-2.1.0"
       sources."minimatch-3.0.4"
       sources."minipass-3.1.3"
@@ -66021,7 +67352,7 @@ in
       sources."ora-5.4.1"
       sources."os-tmpdir-1.0.2"
       sources."p-map-4.0.0"
-      sources."pacote-11.3.4"
+      sources."pacote-11.3.5"
       sources."path-is-absolute-1.0.1"
       sources."path-parse-1.0.7"
       sources."performance-now-2.1.0"
@@ -66031,7 +67362,7 @@ in
       sources."psl-1.8.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
-      sources."read-package-json-fast-2.0.2"
+      sources."read-package-json-fast-2.0.3"
       sources."readable-stream-3.6.0"
       (sources."request-2.88.2" // {
         dependencies = [
@@ -66050,9 +67381,9 @@ in
       sources."semver-7.3.5"
       sources."set-blocking-2.0.0"
       sources."signal-exit-3.0.3"
-      sources."smart-buffer-4.1.0"
+      sources."smart-buffer-4.2.0"
       sources."socks-2.6.1"
-      sources."socks-proxy-agent-5.0.1"
+      sources."socks-proxy-agent-6.0.0"
       sources."source-map-0.7.3"
       sources."sourcemap-codec-1.4.8"
       sources."sshpk-1.16.1"
@@ -66062,7 +67393,7 @@ in
       sources."strip-ansi-6.0.0"
       sources."supports-color-7.2.0"
       sources."symbol-observable-4.0.0"
-      sources."tar-6.1.0"
+      sources."tar-6.1.11"
       sources."through-2.3.8"
       sources."tmp-0.0.33"
       sources."tough-cookie-2.5.0"
@@ -66277,7 +67608,7 @@ in
           sources."mimic-response-1.0.1"
         ];
       })
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       (sources."gulp-vinyl-zip-2.2.1" // {
         dependencies = [
           sources."readable-stream-2.3.7"
@@ -66326,8 +67657,8 @@ in
       sources."map-obj-4.2.1"
       sources."marky-1.2.2"
       sources."matcher-2.1.0"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."mimic-response-2.1.0"
       sources."minimatch-3.0.4"
       sources."minimatch-all-1.1.0"
@@ -66416,7 +67747,7 @@ in
         ];
       })
       sources."to-utf8-0.0.1"
-      sources."uglify-js-3.13.10"
+      sources."uglify-js-3.14.1"
       sources."unc-path-regex-0.1.2"
       sources."unique-stream-2.3.1"
       sources."universalify-0.1.2"
@@ -66456,10 +67787,10 @@ in
   "@bitwarden/cli" = nodeEnv.buildNodePackage {
     name = "_at_bitwarden_slash_cli";
     packageName = "@bitwarden/cli";
-    version = "1.17.1";
+    version = "1.18.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@bitwarden/cli/-/cli-1.17.1.tgz";
-      sha512 = "OLzkh+ggrr95FL+pFxMmUdq8VMOz8aT50QZXqtyzvyhdhXDcdOCCrp3nd/j5yp4Y1hV0cElwOQUD/IEBmCwEPw==";
+      url = "https://registry.npmjs.org/@bitwarden/cli/-/cli-1.18.0.tgz";
+      sha512 = "U3d1PHdlBE68r2t0p3GS+IA9BzrZXl7haTCiTwHBOoxKY5gL4Frm//duwCxfT1d8p9ucCiuAW6tDQsldSI5xhg==";
     };
     dependencies = [
       sources."@tootallnate/once-1.1.2"
@@ -66479,7 +67810,7 @@ in
       sources."big-integer-1.6.48"
       sources."browser-hrtime-1.1.8"
       sources."browser-process-hrtime-1.0.0"
-      sources."chalk-4.1.1"
+      sources."chalk-4.1.2"
       sources."chardet-0.7.0"
       sources."cli-cursor-3.1.0"
       sources."cli-width-3.0.0"
@@ -66514,7 +67845,7 @@ in
       sources."fast-levenshtein-2.0.6"
       sources."figures-3.2.0"
       sources."form-data-4.0.0"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."has-flag-4.0.0"
       sources."html-encoding-sniffer-2.0.1"
       sources."http-proxy-agent-4.0.1"
@@ -66526,7 +67857,7 @@ in
       sources."is-potential-custom-element-name-1.0.1"
       sources."is-promise-2.2.2"
       sources."is-wsl-2.2.0"
-      (sources."jsdom-16.6.0" // {
+      (sources."jsdom-16.7.0" // {
         dependencies = [
           sources."form-data-3.0.1"
         ];
@@ -66535,8 +67866,8 @@ in
       sources."lodash-4.17.21"
       sources."lowdb-1.0.0"
       sources."lunr-2.3.9"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."mimic-fn-2.1.0"
       sources."ms-2.1.2"
       sources."mute-stream-0.0.8"
@@ -66600,16 +67931,239 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
+  "@commitlint/cli" = nodeEnv.buildNodePackage {
+    name = "_at_commitlint_slash_cli";
+    packageName = "@commitlint/cli";
+    version = "13.1.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/@commitlint/cli/-/cli-13.1.0.tgz";
+      sha512 = "xN/uNYWtGTva5OMSd+xA6e6/c2jk8av7MUbdd6w2cw89u6z3fAWoyiH87X0ewdSMNYmW/6B3L/2dIVGHRDID5w==";
+    };
+    dependencies = [
+      sources."@babel/code-frame-7.14.5"
+      sources."@babel/helper-validator-identifier-7.14.9"
+      (sources."@babel/highlight-7.14.5" // {
+        dependencies = [
+          sources."ansi-styles-3.2.1"
+          sources."chalk-2.4.2"
+          sources."color-convert-1.9.3"
+          sources."color-name-1.1.3"
+          sources."has-flag-3.0.0"
+          sources."supports-color-5.5.0"
+        ];
+      })
+      sources."@commitlint/ensure-13.1.0"
+      sources."@commitlint/execute-rule-13.0.0"
+      sources."@commitlint/format-13.1.0"
+      sources."@commitlint/is-ignored-13.1.0"
+      sources."@commitlint/lint-13.1.0"
+      sources."@commitlint/load-13.1.0"
+      sources."@commitlint/message-13.0.0"
+      sources."@commitlint/parse-13.1.0"
+      sources."@commitlint/read-13.1.0"
+      sources."@commitlint/resolve-extends-13.0.0"
+      sources."@commitlint/rules-13.1.0"
+      sources."@commitlint/to-lines-13.0.0"
+      (sources."@commitlint/top-level-13.0.0" // {
+        dependencies = [
+          sources."find-up-5.0.0"
+          sources."locate-path-6.0.0"
+          sources."p-limit-3.1.0"
+          sources."p-locate-5.0.0"
+        ];
+      })
+      sources."@commitlint/types-13.1.0"
+      sources."@types/minimist-1.2.2"
+      sources."@types/normalize-package-data-2.4.1"
+      sources."@types/parse-json-4.0.0"
+      sources."JSONStream-1.3.5"
+      sources."ansi-regex-5.0.0"
+      sources."ansi-styles-4.3.0"
+      sources."array-ify-1.0.0"
+      sources."arrify-1.0.1"
+      sources."callsites-3.1.0"
+      sources."camelcase-5.3.1"
+      sources."camelcase-keys-6.2.2"
+      sources."chalk-4.1.2"
+      sources."cliui-7.0.4"
+      sources."color-convert-2.0.1"
+      sources."color-name-1.1.4"
+      sources."compare-func-2.0.0"
+      sources."conventional-changelog-angular-5.0.12"
+      sources."conventional-commits-parser-3.2.1"
+      sources."cosmiconfig-7.0.1"
+      sources."cross-spawn-7.0.3"
+      sources."dargs-7.0.0"
+      sources."decamelize-1.2.0"
+      (sources."decamelize-keys-1.1.0" // {
+        dependencies = [
+          sources."map-obj-1.0.1"
+        ];
+      })
+      sources."dot-prop-5.3.0"
+      sources."emoji-regex-8.0.0"
+      sources."error-ex-1.3.2"
+      sources."escalade-3.1.1"
+      sources."escape-string-regexp-1.0.5"
+      sources."execa-5.1.1"
+      sources."find-up-4.1.0"
+      sources."fs-extra-10.0.0"
+      sources."function-bind-1.1.1"
+      sources."get-caller-file-2.0.5"
+      sources."get-stream-6.0.1"
+      sources."git-raw-commits-2.0.10"
+      sources."global-dirs-0.1.1"
+      sources."graceful-fs-4.2.8"
+      sources."hard-rejection-2.1.0"
+      sources."has-1.0.3"
+      sources."has-flag-4.0.0"
+      sources."hosted-git-info-4.0.2"
+      sources."human-signals-2.1.0"
+      (sources."import-fresh-3.3.0" // {
+        dependencies = [
+          sources."resolve-from-4.0.0"
+        ];
+      })
+      sources."indent-string-4.0.0"
+      sources."inherits-2.0.4"
+      sources."ini-1.3.8"
+      sources."is-arrayish-0.2.1"
+      sources."is-core-module-2.6.0"
+      sources."is-fullwidth-code-point-3.0.0"
+      sources."is-obj-2.0.0"
+      sources."is-plain-obj-1.1.0"
+      sources."is-stream-2.0.1"
+      sources."is-text-path-1.0.1"
+      sources."isexe-2.0.0"
+      sources."js-tokens-4.0.0"
+      sources."json-parse-even-better-errors-2.3.1"
+      sources."jsonfile-6.1.0"
+      sources."jsonparse-1.3.1"
+      sources."kind-of-6.0.3"
+      sources."lines-and-columns-1.1.6"
+      sources."locate-path-5.0.0"
+      sources."lodash-4.17.21"
+      sources."lru-cache-6.0.0"
+      sources."map-obj-4.2.1"
+      sources."meow-8.1.2"
+      sources."merge-stream-2.0.0"
+      sources."mimic-fn-2.1.0"
+      sources."min-indent-1.0.1"
+      sources."minimist-options-4.1.0"
+      sources."normalize-package-data-3.0.3"
+      sources."npm-run-path-4.0.1"
+      sources."onetime-5.1.2"
+      sources."p-limit-2.3.0"
+      sources."p-locate-4.1.0"
+      sources."p-try-2.2.0"
+      sources."parent-module-1.0.1"
+      sources."parse-json-5.2.0"
+      sources."path-exists-4.0.0"
+      sources."path-key-3.1.1"
+      sources."path-parse-1.0.7"
+      sources."path-type-4.0.0"
+      sources."q-1.5.1"
+      sources."quick-lru-4.0.1"
+      (sources."read-pkg-5.2.0" // {
+        dependencies = [
+          sources."hosted-git-info-2.8.9"
+          sources."normalize-package-data-2.5.0"
+          sources."semver-5.7.1"
+          sources."type-fest-0.6.0"
+        ];
+      })
+      (sources."read-pkg-up-7.0.1" // {
+        dependencies = [
+          sources."type-fest-0.8.1"
+        ];
+      })
+      sources."readable-stream-3.6.0"
+      sources."redent-3.0.0"
+      sources."require-directory-2.1.1"
+      sources."resolve-1.20.0"
+      sources."resolve-from-5.0.0"
+      sources."resolve-global-1.0.0"
+      sources."safe-buffer-5.2.1"
+      sources."semver-7.3.5"
+      sources."shebang-command-2.0.0"
+      sources."shebang-regex-3.0.0"
+      sources."signal-exit-3.0.3"
+      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.10"
+      sources."split2-3.2.2"
+      sources."string-width-4.2.2"
+      sources."string_decoder-1.3.0"
+      sources."strip-ansi-6.0.0"
+      sources."strip-final-newline-2.0.0"
+      sources."strip-indent-3.0.0"
+      sources."supports-color-7.2.0"
+      sources."text-extensions-1.9.0"
+      sources."through-2.3.8"
+      sources."through2-4.0.2"
+      sources."trim-newlines-3.0.1"
+      sources."trim-off-newlines-1.0.1"
+      sources."type-fest-0.18.1"
+      sources."universalify-2.0.0"
+      sources."util-deprecate-1.0.2"
+      sources."validate-npm-package-license-3.0.4"
+      sources."which-2.0.2"
+      sources."wrap-ansi-7.0.0"
+      sources."y18n-5.0.8"
+      sources."yallist-4.0.0"
+      sources."yaml-1.10.2"
+      sources."yargs-17.1.1"
+      sources."yargs-parser-20.2.9"
+      sources."yocto-queue-0.1.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Lint your commit messages";
+      homepage = "https://github.com/conventional-changelog/commitlint#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  "@commitlint/config-conventional" = nodeEnv.buildNodePackage {
+    name = "_at_commitlint_slash_config-conventional";
+    packageName = "@commitlint/config-conventional";
+    version = "13.1.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-13.1.0.tgz";
+      sha512 = "zukJXqdr6jtMiVRy3tTHmwgKcUMGfqKDEskRigc5W3k2aYF4gBAtCEjMAJGZgSQE4DMcHeok0pEV2ANmTpb0cw==";
+    };
+    dependencies = [
+      sources."array-ify-1.0.0"
+      sources."compare-func-2.0.0"
+      sources."conventional-changelog-conventionalcommits-4.6.0"
+      sources."dot-prop-5.3.0"
+      sources."is-obj-2.0.0"
+      sources."lodash-4.17.21"
+      sources."q-1.5.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Shareable commitlint config enforcing conventional commits";
+      homepage = "https://github.com/conventional-changelog/commitlint#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
   "@hyperspace/cli" = nodeEnv.buildNodePackage {
     name = "_at_hyperspace_slash_cli";
     packageName = "@hyperspace/cli";
-    version = "1.5.1";
+    version = "2.0.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@hyperspace/cli/-/cli-1.5.1.tgz";
-      sha512 = "+VU/4tWRLf8jVMYyYo1A/rzkZHg0F3LLSvxNti0515a8VD8iyGbyd07nbh88yZC0SWpzMtUZ9ULtKXB2E53MWQ==";
+      url = "https://registry.npmjs.org/@hyperspace/cli/-/cli-2.0.0.tgz";
+      sha512 = "YWis7dhbGR5LkGYj7rV3BA/gUusfuugze3LIQUeoggPdF2rdeOZXewSPUydM3UBfsptt0qyw0bPQS+fKT0KDVw==";
     };
     dependencies = [
-      sources."@corestore/networker-1.1.0"
+      sources."@corestore/networker-1.2.0"
       sources."@hyperspace/client-1.18.0"
       sources."@hyperspace/migration-tool-1.2.1"
       sources."@hyperspace/rpc-1.15.1"
@@ -66618,7 +68172,7 @@ in
       sources."@hyperswarm/hypersign-2.1.1"
       sources."@hyperswarm/network-2.1.0"
       sources."@leichtgewicht/ip-codec-2.0.3"
-      sources."@types/node-16.4.0"
+      sources."@types/node-16.7.2"
       sources."abstract-extension-3.1.1"
       sources."abstract-leveldown-6.2.3"
       sources."ansi-colors-3.2.3"
@@ -66653,7 +68207,7 @@ in
       sources."buffer-alloc-1.2.0"
       sources."buffer-alloc-unsafe-1.1.0"
       sources."buffer-fill-1.0.0"
-      sources."buffer-from-1.1.1"
+      sources."buffer-from-1.1.2"
       sources."buffer-json-2.0.0"
       sources."buffer-json-encoding-1.0.2"
       sources."bulk-write-stream-1.1.4"
@@ -66723,7 +68277,7 @@ in
       sources."encoding-down-6.3.0"
       sources."end-of-stream-1.4.4"
       sources."errno-0.1.8"
-      (sources."es-abstract-1.18.3" // {
+      (sources."es-abstract-1.18.5" // {
         dependencies = [
           sources."object.assign-4.1.2"
         ];
@@ -66760,13 +68314,14 @@ in
       sources."has-bigints-1.0.1"
       sources."has-flag-3.0.0"
       sources."has-symbols-1.0.2"
+      sources."has-tostringtag-1.0.0"
       sources."hashlru-2.3.0"
       sources."he-1.2.0"
       sources."hmac-blake2b-2.0.0"
       sources."hrpc-2.2.0"
       sources."hrpc-runtime-2.1.1"
       sources."hyperbeam-1.1.3"
-      sources."hyperbee-1.5.5"
+      sources."hyperbee-1.6.2"
       sources."hypercore-9.10.0"
       (sources."hypercore-byte-stream-1.0.12" // {
         dependencies = [
@@ -66788,7 +68343,7 @@ in
         ];
       })
       sources."hypercore-streams-1.0.1"
-      sources."hyperdrive-10.20.0"
+      sources."hyperdrive-10.21.0"
       sources."hyperdrive-schemas-2.0.0"
       sources."hyperspace-3.19.0"
       (sources."hyperspace-mirroring-service-1.0.7" // {
@@ -66805,25 +68360,26 @@ in
       sources."inherits-2.0.4"
       sources."ini-1.3.8"
       sources."inspect-custom-symbol-1.1.1"
+      sources."internal-slot-1.0.3"
       sources."ipv4-peers-2.0.0"
-      sources."is-bigint-1.0.2"
+      sources."is-bigint-1.0.4"
       sources."is-binary-path-2.1.0"
-      sources."is-boolean-object-1.1.1"
+      sources."is-boolean-object-1.1.2"
       sources."is-buffer-2.0.5"
-      sources."is-callable-1.2.3"
-      sources."is-core-module-2.5.0"
-      sources."is-date-object-1.0.4"
+      sources."is-callable-1.2.4"
+      sources."is-core-module-2.6.0"
+      sources."is-date-object-1.0.5"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-2.0.0"
       sources."is-glob-4.0.1"
       sources."is-negative-zero-2.0.1"
       sources."is-number-7.0.0"
-      sources."is-number-object-1.0.5"
+      sources."is-number-object-1.0.6"
       sources."is-options-1.0.1"
       sources."is-property-1.0.2"
-      sources."is-regex-1.1.3"
+      sources."is-regex-1.1.4"
       sources."is-stream-1.1.0"
-      sources."is-string-1.0.6"
+      sources."is-string-1.0.7"
       sources."is-symbol-1.0.4"
       sources."isarray-1.0.0"
       sources."isexe-2.0.0"
@@ -66926,7 +68482,7 @@ in
       sources."progress-string-1.2.2"
       sources."protocol-buffers-4.2.0"
       sources."protocol-buffers-encodings-1.1.1"
-      sources."protocol-buffers-schema-3.5.1"
+      sources."protocol-buffers-schema-3.5.2"
       sources."prr-1.0.1"
       sources."pseudomap-1.0.2"
       sources."pump-3.0.0"
@@ -66936,6 +68492,7 @@ in
           sources."readable-stream-3.6.0"
         ];
       })
+      sources."queue-tick-1.0.0"
       sources."random-access-file-2.2.0"
       sources."random-access-memory-3.1.2"
       sources."random-access-storage-1.4.1"
@@ -66972,6 +68529,7 @@ in
         ];
       })
       sources."shuffled-priority-queue-2.1.0"
+      sources."side-channel-1.0.4"
       sources."signed-varint-2.0.1"
       (sources."simple-handshake-3.0.0" // {
         dependencies = [
@@ -67003,7 +68561,7 @@ in
       sources."stream-collector-1.0.1"
       sources."stream-equal-1.1.1"
       sources."stream-shift-1.0.1"
-      sources."streamx-2.10.3"
+      sources."streamx-2.11.1"
       (sources."string-width-2.1.1" // {
         dependencies = [
           sources."ansi-regex-3.0.0"
@@ -67030,7 +68588,7 @@ in
       sources."supports-color-2.0.0"
       sources."temp-dir-1.0.0"
       sources."tempy-0.1.0"
-      sources."textextensions-5.12.0"
+      sources."textextensions-5.14.0"
       (sources."through2-4.0.2" // {
         dependencies = [
           sources."readable-stream-3.6.0"
@@ -67105,25 +68663,129 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
+  "@nerdwallet/shepherd" = nodeEnv.buildNodePackage {
+    name = "_at_nerdwallet_slash_shepherd";
+    packageName = "@nerdwallet/shepherd";
+    version = "1.14.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/@nerdwallet/shepherd/-/shepherd-1.14.1.tgz";
+      sha512 = "oJbTkmm6OJryEoEj3MyOV7bgOFlrW0+o6efwaF/tEfskMmmv8+lfXoeLVJXASxF/G2IgpHAWBrna7xOE2PCmRg==";
+    };
+    dependencies = [
+      sources."@hapi/hoek-9.2.0"
+      sources."@hapi/topo-5.1.0"
+      sources."@kwsites/file-exists-1.1.1"
+      sources."@kwsites/promise-deferred-1.1.1"
+      sources."@octokit/auth-token-2.4.5"
+      sources."@octokit/core-3.5.1"
+      sources."@octokit/endpoint-6.0.12"
+      sources."@octokit/graphql-4.6.4"
+      sources."@octokit/openapi-types-9.7.0"
+      sources."@octokit/plugin-paginate-rest-2.15.1"
+      sources."@octokit/plugin-request-log-1.0.4"
+      sources."@octokit/plugin-rest-endpoint-methods-5.8.0"
+      sources."@octokit/request-5.6.1"
+      sources."@octokit/request-error-2.1.0"
+      sources."@octokit/rest-18.9.1"
+      sources."@octokit/types-6.25.0"
+      sources."@sideway/address-4.1.2"
+      sources."@sideway/formula-3.0.0"
+      sources."@sideway/pinpoint-2.0.0"
+      sources."@types/js-yaml-3.12.7"
+      sources."ansi-regex-5.0.0"
+      sources."ansi-styles-4.3.0"
+      sources."argparse-1.0.10"
+      sources."at-least-node-1.0.0"
+      sources."base64-js-1.5.1"
+      sources."before-after-hook-2.2.2"
+      sources."bl-4.1.0"
+      sources."buffer-5.7.1"
+      sources."chalk-4.1.2"
+      sources."child-process-promise-2.2.1"
+      sources."cli-cursor-3.1.0"
+      sources."cli-spinners-2.6.0"
+      sources."clone-1.0.4"
+      sources."color-convert-2.0.1"
+      sources."color-name-1.1.4"
+      sources."commander-6.2.1"
+      sources."cross-spawn-4.0.2"
+      sources."debug-4.3.2"
+      sources."defaults-1.0.3"
+      sources."deprecation-2.3.1"
+      sources."esprima-4.0.1"
+      sources."fs-extra-9.1.0"
+      sources."graceful-fs-4.2.8"
+      sources."has-flag-4.0.0"
+      sources."ieee754-1.2.1"
+      sources."inherits-2.0.4"
+      sources."is-interactive-1.0.0"
+      sources."is-plain-object-5.0.0"
+      sources."is-unicode-supported-0.1.0"
+      sources."isexe-2.0.0"
+      sources."joi-17.4.2"
+      sources."js-yaml-3.14.1"
+      sources."jsonfile-6.1.0"
+      sources."lodash-4.17.21"
+      sources."log-symbols-4.1.0"
+      sources."lru-cache-4.1.5"
+      sources."mimic-fn-2.1.0"
+      sources."ms-2.1.2"
+      sources."netrc-0.1.4"
+      sources."node-fetch-2.6.1"
+      sources."node-version-1.2.0"
+      sources."once-1.4.0"
+      sources."onetime-5.1.2"
+      sources."ora-5.4.1"
+      sources."preferences-2.0.2"
+      sources."promise-polyfill-6.1.0"
+      sources."pseudomap-1.0.2"
+      sources."readable-stream-3.6.0"
+      sources."restore-cursor-3.1.0"
+      sources."safe-buffer-5.2.1"
+      sources."signal-exit-3.0.3"
+      sources."simple-git-2.44.0"
+      sources."sprintf-js-1.0.3"
+      sources."string_decoder-1.3.0"
+      sources."strip-ansi-6.0.0"
+      sources."supports-color-7.2.0"
+      sources."universal-user-agent-6.0.0"
+      sources."universalify-2.0.0"
+      sources."util-deprecate-1.0.2"
+      sources."wcwidth-1.0.1"
+      sources."which-1.3.1"
+      sources."wrappy-1.0.2"
+      sources."yallist-2.1.2"
+      sources."yaml-1.10.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A utility for applying code changes across many repositories";
+      homepage = "https://github.com/NerdWalletOSS/shepherd#readme";
+      license = "Apache-2.0";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
   "@nestjs/cli" = nodeEnv.buildNodePackage {
     name = "_at_nestjs_slash_cli";
     packageName = "@nestjs/cli";
-    version = "8.0.2";
+    version = "8.1.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@nestjs/cli/-/cli-8.0.2.tgz";
-      sha512 = "q46mQvqhRkmnG6fXTzL9Wk7CtDxRaa2rE1IrDX3CgXaeOgjBZsA3oJKkIqelQHfKWvPGuU6yV6gDF5pOXNXixw==";
+      url = "https://registry.npmjs.org/@nestjs/cli/-/cli-8.1.1.tgz";
+      sha512 = "Jo/vYyrDHJhRIoFevO+A955KX7aLSAV6gn0sbIJBDTKiha1yxfgEbHOk8qP24gNFLwiDn2CKbwph2g6z0v/mNw==";
     };
     dependencies = [
-      sources."@angular-devkit/core-12.1.1"
-      sources."@angular-devkit/schematics-12.1.1"
-      (sources."@angular-devkit/schematics-cli-12.1.1" // {
+      sources."@angular-devkit/core-12.1.4"
+      sources."@angular-devkit/schematics-12.1.4"
+      (sources."@angular-devkit/schematics-cli-12.1.4" // {
         dependencies = [
-          sources."chalk-4.1.1"
+          sources."chalk-4.1.2"
           sources."inquirer-8.1.1"
         ];
       })
       sources."@babel/code-frame-7.14.5"
-      sources."@babel/helper-validator-identifier-7.14.8"
+      sources."@babel/helper-validator-identifier-7.14.9"
       (sources."@babel/highlight-7.14.5" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
@@ -67134,21 +68796,21 @@ in
           sources."supports-color-5.5.0"
         ];
       })
-      (sources."@nestjs/schematics-8.0.2" // {
+      (sources."@nestjs/schematics-8.0.3" // {
         dependencies = [
           sources."@angular-devkit/core-12.0.5"
           sources."@angular-devkit/schematics-12.0.5"
           sources."ajv-8.2.0"
           sources."ajv-formats-2.0.2"
-          sources."chalk-4.1.1"
+          sources."chalk-4.1.2"
           sources."ora-5.4.0"
         ];
       })
       sources."@types/eslint-7.28.0"
       sources."@types/eslint-scope-3.7.1"
-      sources."@types/estree-0.0.49"
-      sources."@types/json-schema-7.0.8"
-      sources."@types/node-16.4.0"
+      sources."@types/estree-0.0.50"
+      sources."@types/json-schema-7.0.9"
+      sources."@types/node-16.7.2"
       sources."@types/parse-json-4.0.0"
       sources."@webassemblyjs/ast-1.11.1"
       sources."@webassemblyjs/floating-point-hex-parser-1.11.1"
@@ -67183,11 +68845,11 @@ in
       sources."bl-4.1.0"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
-      sources."browserslist-4.16.6"
+      sources."browserslist-4.16.8"
       sources."buffer-5.7.1"
-      sources."buffer-from-1.1.1"
+      sources."buffer-from-1.1.2"
       sources."callsites-3.1.0"
-      sources."caniuse-lite-1.0.30001246"
+      sources."caniuse-lite-1.0.30001252"
       sources."chalk-3.0.0"
       sources."chardet-0.7.0"
       sources."chokidar-3.5.2"
@@ -67206,7 +68868,7 @@ in
       sources."clone-1.0.4"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
-      sources."colorette-1.2.2"
+      sources."colorette-1.3.0"
       sources."colors-1.4.0"
       sources."commander-4.1.1"
       sources."concat-map-0.0.1"
@@ -67214,7 +68876,7 @@ in
       sources."cross-spawn-7.0.3"
       sources."deepmerge-4.2.2"
       sources."defaults-1.0.3"
-      sources."electron-to-chromium-1.3.782"
+      sources."electron-to-chromium-1.3.818"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       (sources."enhanced-resolve-5.8.2" // {
@@ -67240,9 +68902,9 @@ in
       sources."fast-json-stable-stringify-2.1.0"
       sources."figures-3.2.0"
       sources."fill-range-7.0.1"
-      (sources."fork-ts-checker-webpack-plugin-6.2.12" // {
+      (sources."fork-ts-checker-webpack-plugin-6.3.1" // {
         dependencies = [
-          sources."chalk-4.1.1"
+          sources."chalk-4.1.2"
           sources."fs-extra-9.1.0"
         ];
       })
@@ -67255,7 +68917,7 @@ in
       sources."glob-7.1.7"
       sources."glob-parent-5.1.2"
       sources."glob-to-regexp-0.4.1"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."has-1.0.3"
       sources."has-flag-4.0.0"
       sources."human-signals-1.1.1"
@@ -67266,19 +68928,19 @@ in
       sources."inherits-2.0.4"
       (sources."inquirer-7.3.3" // {
         dependencies = [
-          sources."chalk-4.1.1"
+          sources."chalk-4.1.2"
         ];
       })
       sources."interpret-1.4.0"
       sources."is-arrayish-0.2.1"
       sources."is-binary-path-2.1.0"
-      sources."is-core-module-2.5.0"
+      sources."is-core-module-2.6.0"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-glob-4.0.1"
       sources."is-interactive-1.0.0"
       sources."is-number-7.0.0"
-      sources."is-stream-2.0.0"
+      sources."is-stream-2.0.1"
       sources."is-unicode-supported-0.1.0"
       sources."isexe-2.0.0"
       (sources."jest-worker-27.0.6" // {
@@ -67299,7 +68961,7 @@ in
       sources."lodash.toarray-4.4.0"
       (sources."log-symbols-4.1.0" // {
         dependencies = [
-          sources."chalk-4.1.1"
+          sources."chalk-4.1.2"
         ];
       })
       sources."lru-cache-6.0.0"
@@ -67307,15 +68969,15 @@ in
       sources."magic-string-0.25.7"
       sources."memfs-3.2.2"
       sources."merge-stream-2.0.0"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."mimic-fn-2.1.0"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
       sources."mute-stream-0.0.8"
       sources."neo-async-2.6.2"
       sources."node-emoji-1.10.0"
-      sources."node-releases-1.1.73"
+      sources."node-releases-1.1.75"
       sources."normalize-path-3.0.0"
       sources."npm-run-path-4.0.1"
       sources."object-assign-4.1.1"
@@ -67323,10 +68985,10 @@ in
       sources."onetime-5.1.2"
       (sources."ora-5.4.1" // {
         dependencies = [
-          sources."chalk-4.1.1"
+          sources."chalk-4.1.2"
         ];
       })
-      sources."os-name-4.0.0"
+      sources."os-name-4.0.1"
       sources."os-tmpdir-1.0.2"
       sources."p-limit-3.1.0"
       sources."parent-module-1.0.1"
@@ -67380,7 +69042,7 @@ in
       sources."supports-color-7.2.0"
       sources."symbol-observable-4.0.0"
       sources."tapable-1.1.3"
-      (sources."terser-5.7.1" // {
+      (sources."terser-5.7.2" // {
         dependencies = [
           sources."commander-2.20.3"
         ];
@@ -67400,7 +69062,7 @@ in
       sources."tsconfig-paths-3.10.1"
       (sources."tsconfig-paths-webpack-plugin-3.5.1" // {
         dependencies = [
-          sources."chalk-4.1.1"
+          sources."chalk-4.1.2"
         ];
       })
       sources."tslib-1.14.1"
@@ -67411,7 +69073,7 @@ in
       sources."util-deprecate-1.0.2"
       sources."watchpack-2.2.0"
       sources."wcwidth-1.0.1"
-      (sources."webpack-5.43.0" // {
+      (sources."webpack-5.45.1" // {
         dependencies = [
           sources."ajv-6.12.6"
           sources."json-schema-traverse-0.4.1"
@@ -67442,6 +69104,63 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
+  "@squoosh/cli" = nodeEnv.buildNodePackage {
+    name = "_at_squoosh_slash_cli";
+    packageName = "@squoosh/cli";
+    version = "0.7.2";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/@squoosh/cli/-/cli-0.7.2.tgz";
+      sha512 = "uMnUWMx4S8UApO/EfPyRyvUmw+0jI9wwAfdHfGjvVg4DAIvEgsA+VWK2KOBnJiChvVd768K27g09ESzptyX93w==";
+    };
+    dependencies = [
+      sources."@squoosh/lib-0.4.0"
+      sources."ansi-regex-5.0.0"
+      sources."ansi-styles-4.3.0"
+      sources."base64-js-1.5.1"
+      sources."bl-4.1.0"
+      sources."buffer-5.7.1"
+      sources."chalk-4.1.2"
+      sources."cli-cursor-3.1.0"
+      sources."cli-spinners-2.6.0"
+      sources."clone-1.0.4"
+      sources."color-convert-2.0.1"
+      sources."color-name-1.1.4"
+      sources."commander-7.2.0"
+      sources."defaults-1.0.3"
+      sources."has-flag-4.0.0"
+      sources."ieee754-1.2.1"
+      sources."inherits-2.0.4"
+      sources."is-interactive-1.0.0"
+      sources."is-unicode-supported-0.1.0"
+      sources."json5-2.2.0"
+      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"
+      sources."restore-cursor-3.1.0"
+      sources."safe-buffer-5.2.1"
+      sources."signal-exit-3.0.3"
+      sources."string_decoder-1.3.0"
+      sources."strip-ansi-6.0.0"
+      sources."supports-color-7.2.0"
+      sources."util-deprecate-1.0.2"
+      sources."wasm-feature-detect-1.2.11"
+      sources."wcwidth-1.0.1"
+      sources."web-streams-polyfill-3.1.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A CLI for Squoosh";
+      homepage = "https://github.com/GoogleChromeLabs/squoosh";
+      license = "Apache-2.0";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
   "@vue/cli" = nodeEnv.buildNodePackage {
     name = "_at_vue_slash_cli";
     packageName = "@vue/cli";
@@ -67461,37 +69180,37 @@ in
       sources."@apollographql/graphql-playground-html-1.6.27"
       sources."@apollographql/graphql-upload-8-fork-8.1.3"
       sources."@babel/code-frame-7.14.5"
-      sources."@babel/compat-data-7.14.7"
-      sources."@babel/core-7.14.8"
-      sources."@babel/generator-7.14.8"
+      sources."@babel/compat-data-7.15.0"
+      sources."@babel/core-7.15.0"
+      sources."@babel/generator-7.15.0"
       sources."@babel/helper-annotate-as-pure-7.14.5"
       sources."@babel/helper-builder-binary-assignment-operator-visitor-7.14.5"
-      sources."@babel/helper-compilation-targets-7.14.5"
-      sources."@babel/helper-create-class-features-plugin-7.14.8"
+      sources."@babel/helper-compilation-targets-7.15.0"
+      sources."@babel/helper-create-class-features-plugin-7.15.0"
       sources."@babel/helper-create-regexp-features-plugin-7.14.5"
       sources."@babel/helper-define-polyfill-provider-0.2.3"
       sources."@babel/helper-explode-assignable-expression-7.14.5"
       sources."@babel/helper-function-name-7.14.5"
       sources."@babel/helper-get-function-arity-7.14.5"
       sources."@babel/helper-hoist-variables-7.14.5"
-      sources."@babel/helper-member-expression-to-functions-7.14.7"
+      sources."@babel/helper-member-expression-to-functions-7.15.0"
       sources."@babel/helper-module-imports-7.14.5"
-      sources."@babel/helper-module-transforms-7.14.8"
+      sources."@babel/helper-module-transforms-7.15.0"
       sources."@babel/helper-optimise-call-expression-7.14.5"
       sources."@babel/helper-plugin-utils-7.14.5"
       sources."@babel/helper-remap-async-to-generator-7.14.5"
-      sources."@babel/helper-replace-supers-7.14.5"
+      sources."@babel/helper-replace-supers-7.15.0"
       sources."@babel/helper-simple-access-7.14.8"
       sources."@babel/helper-skip-transparent-expression-wrappers-7.14.5"
       sources."@babel/helper-split-export-declaration-7.14.5"
-      sources."@babel/helper-validator-identifier-7.14.8"
+      sources."@babel/helper-validator-identifier-7.14.9"
       sources."@babel/helper-validator-option-7.14.5"
       sources."@babel/helper-wrap-function-7.14.5"
-      sources."@babel/helpers-7.14.8"
+      sources."@babel/helpers-7.15.3"
       sources."@babel/highlight-7.14.5"
-      sources."@babel/parser-7.14.8"
+      sources."@babel/parser-7.15.3"
       sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.14.5"
-      sources."@babel/plugin-proposal-async-generator-functions-7.14.7"
+      sources."@babel/plugin-proposal-async-generator-functions-7.14.9"
       sources."@babel/plugin-proposal-class-properties-7.14.5"
       sources."@babel/plugin-proposal-class-static-block-7.14.5"
       sources."@babel/plugin-proposal-dynamic-import-7.14.5"
@@ -67525,8 +69244,8 @@ in
       sources."@babel/plugin-transform-arrow-functions-7.14.5"
       sources."@babel/plugin-transform-async-to-generator-7.14.5"
       sources."@babel/plugin-transform-block-scoped-functions-7.14.5"
-      sources."@babel/plugin-transform-block-scoping-7.14.5"
-      sources."@babel/plugin-transform-classes-7.14.5"
+      sources."@babel/plugin-transform-block-scoping-7.15.3"
+      sources."@babel/plugin-transform-classes-7.14.9"
       sources."@babel/plugin-transform-computed-properties-7.14.5"
       sources."@babel/plugin-transform-destructuring-7.14.7"
       sources."@babel/plugin-transform-dotall-regex-7.14.5"
@@ -67538,10 +69257,10 @@ in
       sources."@babel/plugin-transform-literals-7.14.5"
       sources."@babel/plugin-transform-member-expression-literals-7.14.5"
       sources."@babel/plugin-transform-modules-amd-7.14.5"
-      sources."@babel/plugin-transform-modules-commonjs-7.14.5"
+      sources."@babel/plugin-transform-modules-commonjs-7.15.0"
       sources."@babel/plugin-transform-modules-systemjs-7.14.5"
       sources."@babel/plugin-transform-modules-umd-7.14.5"
-      sources."@babel/plugin-transform-named-capturing-groups-regex-7.14.7"
+      sources."@babel/plugin-transform-named-capturing-groups-regex-7.14.9"
       sources."@babel/plugin-transform-new-target-7.14.5"
       sources."@babel/plugin-transform-object-super-7.14.5"
       sources."@babel/plugin-transform-parameters-7.14.5"
@@ -67553,24 +69272,24 @@ in
       sources."@babel/plugin-transform-sticky-regex-7.14.5"
       sources."@babel/plugin-transform-template-literals-7.14.5"
       sources."@babel/plugin-transform-typeof-symbol-7.14.5"
-      sources."@babel/plugin-transform-typescript-7.14.6"
+      sources."@babel/plugin-transform-typescript-7.15.0"
       sources."@babel/plugin-transform-unicode-escapes-7.14.5"
       sources."@babel/plugin-transform-unicode-regex-7.14.5"
-      sources."@babel/preset-env-7.14.8"
+      sources."@babel/preset-env-7.15.0"
       sources."@babel/preset-flow-7.14.5"
       sources."@babel/preset-modules-0.1.4"
-      sources."@babel/preset-typescript-7.14.5"
-      (sources."@babel/register-7.14.5" // {
+      sources."@babel/preset-typescript-7.15.0"
+      (sources."@babel/register-7.15.3" // {
         dependencies = [
           sources."make-dir-2.1.0"
           sources."pify-4.0.1"
           sources."semver-5.7.1"
         ];
       })
-      sources."@babel/runtime-7.14.8"
+      sources."@babel/runtime-7.15.3"
       sources."@babel/template-7.14.5"
-      sources."@babel/traverse-7.14.8"
-      sources."@babel/types-7.14.8"
+      sources."@babel/traverse-7.15.0"
+      sources."@babel/types-7.15.0"
       sources."@hapi/address-2.1.4"
       sources."@hapi/bourne-1.3.2"
       sources."@hapi/hoek-8.5.1"
@@ -67607,7 +69326,7 @@ in
       sources."@types/express-serve-static-core-4.17.24"
       sources."@types/fs-capacitor-2.0.0"
       sources."@types/glob-7.1.4"
-      sources."@types/http-assert-1.5.1"
+      sources."@types/http-assert-1.5.3"
       sources."@types/http-errors-1.8.1"
       sources."@types/inquirer-6.5.0"
       (sources."@types/jscodeshift-0.7.2" // {
@@ -67623,7 +69342,7 @@ in
       sources."@types/long-4.0.1"
       sources."@types/mime-1.3.2"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-16.4.0"
+      sources."@types/node-16.7.2"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/qs-6.9.7"
       sources."@types/range-parser-1.2.4"
@@ -67638,13 +69357,13 @@ in
       })
       sources."@vue/cli-ui-addon-webpack-4.5.13"
       sources."@vue/cli-ui-addon-widgets-4.5.13"
-      (sources."@vue/compiler-core-3.1.5" // {
+      (sources."@vue/compiler-core-3.2.6" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
       })
-      sources."@vue/compiler-dom-3.1.5"
-      sources."@vue/shared-3.1.5"
+      sources."@vue/compiler-dom-3.2.6"
+      sources."@vue/shared-3.2.6"
       sources."@wry/equality-0.1.11"
       sources."accepts-1.3.7"
       sources."aggregate-error-3.1.0"
@@ -67704,7 +69423,7 @@ in
       sources."assign-symbols-1.0.0"
       sources."ast-types-0.13.3"
       sources."async-2.6.3"
-      sources."async-retry-1.3.1"
+      sources."async-retry-1.3.3"
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
       sources."aws-sign2-0.7.0"
@@ -67712,7 +69431,7 @@ in
       sources."babel-core-7.0.0-bridge.0"
       sources."babel-plugin-dynamic-import-node-2.3.3"
       sources."babel-plugin-polyfill-corejs2-0.2.2"
-      sources."babel-plugin-polyfill-corejs3-0.2.3"
+      sources."babel-plugin-polyfill-corejs3-0.2.4"
       sources."babel-plugin-polyfill-regenerator-0.2.2"
       sources."backo2-1.0.2"
       sources."balanced-match-1.0.2"
@@ -67746,13 +69465,13 @@ in
       })
       sources."brace-expansion-1.1.11"
       sources."braces-2.3.2"
-      sources."browserslist-4.16.6"
+      sources."browserslist-4.16.8"
       sources."buffer-5.7.1"
       sources."buffer-alloc-1.2.0"
       sources."buffer-alloc-unsafe-1.1.0"
       sources."buffer-crc32-0.2.13"
       sources."buffer-fill-1.0.0"
-      sources."buffer-from-1.1.1"
+      sources."buffer-from-1.1.2"
       sources."builtins-1.0.3"
       sources."busboy-0.3.1"
       sources."bytes-3.1.0"
@@ -67766,7 +69485,7 @@ in
       sources."call-bind-1.0.2"
       sources."call-me-maybe-1.0.1"
       sources."camelcase-5.3.1"
-      sources."caniuse-lite-1.0.30001246"
+      sources."caniuse-lite-1.0.30001252"
       sources."caseless-0.12.0"
       sources."caw-2.0.1"
       sources."chalk-2.4.2"
@@ -67801,7 +69520,7 @@ in
       sources."collection-visit-1.0.0"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."colorette-1.2.2"
+      sources."colorette-1.3.0"
       sources."colors-1.4.0"
       sources."combined-stream-1.0.8"
       sources."commander-2.20.3"
@@ -67823,12 +69542,12 @@ in
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
       sources."copy-descriptor-0.1.1"
-      (sources."core-js-compat-3.15.2" // {
+      (sources."core-js-compat-3.16.3" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
       })
-      sources."core-js-pure-3.15.2"
+      sources."core-js-pure-3.16.3"
       sources."core-util-is-1.0.2"
       sources."cors-2.8.5"
       (sources."cross-spawn-6.0.5" // {
@@ -67894,14 +69613,14 @@ in
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
       sources."ejs-2.7.4"
-      sources."electron-to-chromium-1.3.782"
+      sources."electron-to-chromium-1.3.818"
       sources."emoji-regex-7.0.3"
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.4"
       sources."entities-2.2.0"
       sources."envinfo-7.8.1"
       sources."error-ex-1.3.2"
-      sources."es-abstract-1.18.3"
+      sources."es-abstract-1.18.5"
       sources."es-to-primitive-1.2.1"
       sources."escalade-3.1.1"
       sources."escape-html-1.0.3"
@@ -67956,7 +69675,7 @@ in
       sources."fast-deep-equal-3.1.3"
       sources."fast-glob-2.2.7"
       sources."fast-json-stable-stringify-2.1.0"
-      sources."fastq-1.11.1"
+      sources."fastq-1.12.0"
       sources."fd-slicer-1.1.0"
       sources."figures-3.2.0"
       sources."file-type-8.1.0"
@@ -67977,7 +69696,7 @@ in
       })
       sources."find-up-3.0.0"
       sources."fkill-6.2.0"
-      sources."flow-parser-0.155.1"
+      sources."flow-parser-0.158.0"
       sources."for-each-0.3.3"
       sources."for-in-1.0.2"
       sources."forever-agent-0.6.1"
@@ -68025,13 +69744,13 @@ in
           sources."into-stream-3.1.0"
         ];
       })
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."graphql-14.7.0"
       sources."graphql-extensions-0.15.0"
       sources."graphql-subscriptions-1.2.1"
       (sources."graphql-tag-2.12.5" // {
         dependencies = [
-          sources."tslib-2.3.0"
+          sources."tslib-2.3.1"
         ];
       })
       sources."graphql-tools-4.0.8"
@@ -68045,6 +69764,7 @@ in
       sources."has-symbol-support-x-1.4.2"
       sources."has-symbols-1.0.2"
       sources."has-to-string-tag-x-1.4.1"
+      sources."has-tostringtag-1.0.0"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
         dependencies = [
@@ -68069,7 +69789,7 @@ in
       (sources."inquirer-7.3.3" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.1"
+          sources."chalk-4.1.2"
           sources."cli-cursor-3.1.0"
           sources."color-convert-2.0.1"
           sources."color-name-1.1.4"
@@ -68080,17 +69800,18 @@ in
           sources."supports-color-7.2.0"
         ];
       })
+      sources."internal-slot-1.0.3"
       sources."into-stream-2.0.1"
       sources."ipaddr.js-1.9.1"
       sources."is-accessor-descriptor-1.0.0"
       sources."is-arrayish-0.2.1"
-      sources."is-bigint-1.0.2"
-      sources."is-boolean-object-1.1.1"
+      sources."is-bigint-1.0.4"
+      sources."is-boolean-object-1.1.2"
       sources."is-buffer-1.1.6"
-      sources."is-callable-1.2.3"
-      sources."is-core-module-2.5.0"
+      sources."is-callable-1.2.4"
+      sources."is-core-module-2.6.0"
       sources."is-data-descriptor-1.0.0"
-      sources."is-date-object-1.0.4"
+      sources."is-date-object-1.0.5"
       sources."is-descriptor-1.0.2"
       sources."is-docker-2.2.1"
       sources."is-extendable-0.1.1"
@@ -68104,16 +69825,16 @@ in
           sources."kind-of-3.2.2"
         ];
       })
-      sources."is-number-object-1.0.5"
+      sources."is-number-object-1.0.6"
       sources."is-object-1.0.2"
       sources."is-plain-obj-1.1.0"
       sources."is-plain-object-2.0.4"
       sources."is-promise-2.2.2"
       sources."is-property-1.0.2"
-      sources."is-regex-1.1.3"
+      sources."is-regex-1.1.4"
       sources."is-retry-allowed-1.2.0"
       sources."is-stream-1.1.0"
-      sources."is-string-1.0.6"
+      sources."is-string-1.0.7"
       sources."is-symbol-1.0.4"
       sources."is-typedarray-1.0.0"
       sources."is-windows-1.0.2"
@@ -68134,9 +69855,9 @@ in
       (sources."jscodeshift-0.11.0" // {
         dependencies = [
           sources."ast-types-0.14.2"
-          sources."recast-0.20.4"
+          sources."recast-0.20.5"
           sources."source-map-0.6.1"
-          sources."tslib-2.3.0"
+          sources."tslib-2.3.1"
         ];
       })
       sources."jsesc-2.5.2"
@@ -68185,8 +69906,8 @@ in
         ];
       })
       sources."mime-1.6.0"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."mimic-fn-1.2.0"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.0.4"
@@ -68228,7 +69949,7 @@ in
           sources."which-2.0.2"
         ];
       })
-      sources."node-releases-1.1.73"
+      sources."node-releases-1.1.75"
       (sources."normalize-package-data-2.5.0" // {
         dependencies = [
           sources."semver-5.7.1"
@@ -68353,7 +70074,7 @@ in
       })
       sources."regenerate-1.4.2"
       sources."regenerate-unicode-properties-8.2.0"
-      sources."regenerator-runtime-0.13.8"
+      sources."regenerator-runtime-0.13.9"
       sources."regenerator-transform-0.14.5"
       (sources."regex-not-1.0.2" // {
         dependencies = [
@@ -68377,7 +70098,7 @@ in
       sources."responselike-1.0.2"
       sources."restore-cursor-2.0.0"
       sources."ret-0.1.15"
-      sources."retry-0.12.0"
+      sources."retry-0.13.1"
       sources."reusify-1.0.4"
       sources."rimraf-3.0.2"
       sources."rss-parser-3.12.0"
@@ -68413,6 +70134,7 @@ in
       sources."shell-quote-1.7.2"
       sources."shellwords-0.1.1"
       sources."shortid-2.2.16"
+      sources."side-channel-1.0.4"
       sources."signal-exit-3.0.3"
       sources."slash-3.0.0"
       (sources."snapdragon-0.8.2" // {
@@ -68456,7 +70178,7 @@ in
       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.9"
+      sources."spdx-license-ids-3.0.10"
       (sources."split-string-3.1.0" // {
         dependencies = [
           sources."extend-shallow-3.0.2"
@@ -68518,7 +70240,7 @@ in
           sources."cross-spawn-7.0.3"
           sources."execa-3.4.0"
           sources."get-stream-5.2.0"
-          sources."is-stream-2.0.0"
+          sources."is-stream-2.0.1"
           sources."mimic-fn-2.1.0"
           sources."npm-run-path-4.0.1"
           sources."onetime-5.1.2"
@@ -68787,12 +70509,12 @@ in
     };
     dependencies = [
       sources."@babel/code-frame-7.14.5"
-      sources."@babel/generator-7.14.8"
-      sources."@babel/helper-validator-identifier-7.14.8"
+      sources."@babel/generator-7.15.0"
+      sources."@babel/helper-validator-identifier-7.14.9"
       sources."@babel/highlight-7.14.5"
-      sources."@babel/parser-7.14.8"
+      sources."@babel/parser-7.15.3"
       sources."@babel/template-7.14.5"
-      sources."@babel/types-7.14.8"
+      sources."@babel/types-7.15.0"
       sources."@webassemblyjs/ast-1.11.1"
       sources."@webassemblyjs/floating-point-hex-parser-1.11.1"
       sources."@webassemblyjs/helper-api-error-1.11.1"
@@ -68867,55 +70589,55 @@ in
     };
     dependencies = [
       sources."@babel/code-frame-7.14.5"
-      sources."@babel/compat-data-7.14.7"
-      (sources."@babel/core-7.14.8" // {
+      sources."@babel/compat-data-7.15.0"
+      (sources."@babel/core-7.15.0" // {
         dependencies = [
           sources."source-map-0.5.7"
         ];
       })
-      (sources."@babel/generator-7.14.8" // {
+      (sources."@babel/generator-7.15.0" // {
         dependencies = [
           sources."source-map-0.5.7"
         ];
       })
-      sources."@babel/helper-compilation-targets-7.14.5"
+      sources."@babel/helper-compilation-targets-7.15.0"
       sources."@babel/helper-function-name-7.14.5"
       sources."@babel/helper-get-function-arity-7.14.5"
       sources."@babel/helper-hoist-variables-7.14.5"
-      sources."@babel/helper-member-expression-to-functions-7.14.7"
+      sources."@babel/helper-member-expression-to-functions-7.15.0"
       sources."@babel/helper-module-imports-7.14.5"
-      sources."@babel/helper-module-transforms-7.14.8"
+      sources."@babel/helper-module-transforms-7.15.0"
       sources."@babel/helper-optimise-call-expression-7.14.5"
-      sources."@babel/helper-replace-supers-7.14.5"
+      sources."@babel/helper-replace-supers-7.15.0"
       sources."@babel/helper-simple-access-7.14.8"
       sources."@babel/helper-split-export-declaration-7.14.5"
-      sources."@babel/helper-validator-identifier-7.14.8"
+      sources."@babel/helper-validator-identifier-7.14.9"
       sources."@babel/helper-validator-option-7.14.5"
-      sources."@babel/helpers-7.14.8"
+      sources."@babel/helpers-7.15.3"
       sources."@babel/highlight-7.14.5"
-      sources."@babel/parser-7.14.8"
+      sources."@babel/parser-7.15.3"
       sources."@babel/template-7.14.5"
-      sources."@babel/traverse-7.14.8"
-      sources."@babel/types-7.14.8"
+      sources."@babel/traverse-7.15.0"
+      sources."@babel/types-7.15.0"
       sources."JSV-4.0.2"
       sources."ansi-styles-3.2.1"
       sources."array-unique-0.3.2"
-      sources."async-3.2.0"
+      sources."async-3.2.1"
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
-      sources."browserslist-4.16.6"
-      sources."caniuse-lite-1.0.30001246"
+      sources."browserslist-4.16.8"
+      sources."caniuse-lite-1.0.30001252"
       sources."chalk-2.4.2"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."colorette-1.2.2"
+      sources."colorette-1.3.0"
       sources."colors-1.4.0"
-      sources."commander-8.0.0"
+      sources."commander-8.1.0"
       sources."concat-map-0.0.1"
       sources."convert-source-map-1.8.0"
       sources."debug-4.3.2"
       sources."ejs-3.1.6"
-      sources."electron-to-chromium-1.3.782"
+      sources."electron-to-chromium-1.3.818"
       sources."ensure-posix-path-1.1.1"
       sources."escalade-3.1.1"
       sources."escape-string-regexp-1.0.5"
@@ -68935,14 +70657,14 @@ in
         ];
       })
       sources."globals-11.12.0"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."has-1.0.3"
       sources."has-color-0.1.7"
       sources."has-flag-3.0.0"
       sources."homedir-polyfill-1.0.3"
       sources."ini-1.3.8"
       sources."is-3.3.0"
-      sources."is-core-module-2.5.0"
+      sources."is-core-module-2.6.0"
       sources."is-windows-1.0.2"
       sources."isexe-2.0.0"
       (sources."jake-10.8.2" // {
@@ -68961,7 +70683,7 @@ in
       sources."minimist-1.2.5"
       sources."moment-2.29.1"
       sources."ms-2.1.2"
-      sources."node-releases-1.1.73"
+      sources."node-releases-1.1.75"
       sources."node.extend-2.0.2"
       (sources."nomnom-1.8.1" // {
         dependencies = [
@@ -69009,7 +70731,7 @@ in
     dependencies = [
       sources."@types/glob-7.1.4"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-16.4.0"
+      sources."@types/node-16.7.2"
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
       sources."chromium-pickle-js-0.2.0"
@@ -69037,19 +70759,19 @@ in
   autoprefixer = nodeEnv.buildNodePackage {
     name = "autoprefixer";
     packageName = "autoprefixer";
-    version = "10.3.1";
+    version = "10.3.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.3.1.tgz";
-      sha512 = "L8AmtKzdiRyYg7BUXJTzigmhbQRCXFKz6SA1Lqo0+AR2FBbQ4aTAPFSDlOutnFkjhiz8my4agGXog1xlMjPJ6A==";
+      url = "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.3.3.tgz";
+      sha512 = "yRzjxfnggrP/+qVHlUuZz5FZzEbkT+Yt0/Df6ScEMnbbZBLzYB2W0KLxoQCW+THm1SpOsM1ZPcTHAwuvmibIsQ==";
     };
     dependencies = [
-      sources."browserslist-4.16.6"
-      sources."caniuse-lite-1.0.30001246"
-      sources."colorette-1.2.2"
-      sources."electron-to-chromium-1.3.782"
+      sources."browserslist-4.16.8"
+      sources."caniuse-lite-1.0.30001252"
+      sources."colorette-1.3.0"
+      sources."electron-to-chromium-1.3.818"
       sources."escalade-3.1.1"
       sources."fraction.js-4.1.1"
-      sources."node-releases-1.1.73"
+      sources."node-releases-1.1.75"
       sources."normalize-range-0.1.2"
       sources."postcss-value-parser-4.1.0"
     ];
@@ -69073,14 +70795,14 @@ in
     };
     dependencies = [
       sources."@tootallnate/once-1.1.2"
-      sources."@types/node-16.4.0"
+      sources."@types/node-16.7.2"
       sources."@types/yauzl-2.9.2"
       sources."agent-base-6.0.2"
       sources."ansi-escapes-4.3.2"
       sources."ansi-regex-5.0.0"
       sources."ansi-styles-4.3.0"
       sources."ast-types-0.13.4"
-      (sources."aws-sdk-2.951.0" // {
+      (sources."aws-sdk-2.976.0" // {
         dependencies = [
           sources."uuid-3.3.2"
         ];
@@ -69098,7 +70820,7 @@ in
       sources."buffer-4.9.2"
       sources."buffer-crc32-0.2.13"
       sources."bytes-3.1.0"
-      sources."chalk-4.1.1"
+      sources."chalk-4.1.2"
       sources."chardet-0.7.0"
       sources."cheerio-1.0.0-rc.10"
       sources."cheerio-select-1.5.0"
@@ -69109,7 +70831,7 @@ in
       sources."clone-1.0.4"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
-      sources."commander-8.0.0"
+      sources."commander-8.1.0"
       sources."concat-map-0.0.1"
       sources."core-util-is-1.0.2"
       sources."css-select-4.1.3"
@@ -69120,7 +70842,7 @@ in
       sources."defaults-1.0.3"
       sources."degenerator-2.2.0"
       sources."depd-1.1.2"
-      sources."devtools-protocol-0.0.883894"
+      sources."devtools-protocol-0.0.901419"
       sources."dom-serializer-1.3.2"
       sources."domelementtype-2.2.0"
       sources."domhandler-4.2.0"
@@ -69154,7 +70876,7 @@ in
       sources."get-stream-5.2.0"
       sources."get-uri-3.0.2"
       sources."glob-7.1.7"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."has-flag-4.0.0"
       sources."htmlparser2-6.1.0"
       sources."http-errors-1.7.3"
@@ -69209,7 +70931,7 @@ in
       sources."proxy-from-env-1.1.0"
       sources."pump-3.0.0"
       sources."punycode-1.3.2"
-      (sources."puppeteer-10.1.0" // {
+      (sources."puppeteer-10.2.0" // {
         dependencies = [
           sources."debug-4.3.1"
         ];
@@ -69220,7 +70942,7 @@ in
       sources."restore-cursor-3.1.0"
       sources."rimraf-3.0.2"
       sources."run-async-2.4.1"
-      (sources."rxjs-7.2.0" // {
+      (sources."rxjs-7.3.0" // {
         dependencies = [
           sources."tslib-2.1.0"
         ];
@@ -69230,7 +70952,7 @@ in
       sources."sax-1.2.1"
       sources."setprototypeof-1.1.1"
       sources."signal-exit-3.0.3"
-      sources."smart-buffer-4.1.0"
+      sources."smart-buffer-4.2.0"
       sources."socks-2.6.1"
       sources."socks-proxy-agent-5.0.1"
       sources."source-map-0.6.1"
@@ -69248,7 +70970,7 @@ in
       sources."through-2.3.8"
       sources."tmp-0.0.33"
       sources."toidentifier-1.0.0"
-      sources."tslib-2.3.0"
+      sources."tslib-2.3.1"
       sources."type-check-0.3.2"
       sources."type-fest-0.21.3"
       (sources."unbzip2-stream-1.3.3" // {
@@ -69284,26 +71006,21 @@ in
   balanceofsatoshis = nodeEnv.buildNodePackage {
     name = "balanceofsatoshis";
     packageName = "balanceofsatoshis";
-    version = "10.7.1";
+    version = "10.9.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/balanceofsatoshis/-/balanceofsatoshis-10.7.1.tgz";
-      sha512 = "V3LVbkFNTiy+ctpvCDgEgP8e0myUC/Iupm8D9URkS76SFYibAoMX3elcLVtsOXXqM4QyRrg29iGZj+HB+sQCHg==";
+      url = "https://registry.npmjs.org/balanceofsatoshis/-/balanceofsatoshis-10.9.2.tgz";
+      sha512 = "tFjaQXQZ2Zu7Kz1ETOab3mnmjH1LYKJS3oeSVhT0tmQGF7MPFAoSghcjFz0vDmMxrQxIzBWXWjlRLOyTtGdWUw==";
     };
     dependencies = [
       sources."@alexbosworth/html2unicode-1.1.5"
-      (sources."@alexbosworth/request-2.88.3" // {
-        dependencies = [
-          sources."safe-buffer-5.2.0"
-        ];
-      })
       sources."@alexbosworth/saxophone-0.6.2"
       sources."@cto.af/textdecoder-0.0.0"
-      (sources."@grpc/grpc-js-1.3.2" // {
+      (sources."@grpc/grpc-js-1.3.7" // {
         dependencies = [
-          sources."@types/node-16.4.0"
+          sources."@types/node-16.7.2"
         ];
       })
-      sources."@grpc/proto-loader-0.6.2"
+      sources."@grpc/proto-loader-0.6.4"
       sources."@handsontable/formulajs-2.0.2"
       sources."@mitmaro/errors-1.0.0"
       sources."@mitmaro/http-authorization-header-1.0.0"
@@ -69322,24 +71039,20 @@ in
       sources."@types/body-parser-1.19.1"
       sources."@types/caseless-0.12.2"
       sources."@types/connect-3.4.35"
-      sources."@types/express-4.17.12"
+      sources."@types/express-4.17.13"
       sources."@types/express-serve-static-core-4.17.24"
       sources."@types/long-4.0.1"
       sources."@types/mime-1.3.2"
       sources."@types/node-10.12.18"
       sources."@types/qs-6.9.7"
       sources."@types/range-parser-1.2.4"
-      (sources."@types/request-2.48.5" // {
-        dependencies = [
-          sources."form-data-2.5.1"
-        ];
-      })
+      sources."@types/request-2.48.7"
       sources."@types/serve-static-1.13.10"
       sources."@types/tough-cookie-4.0.1"
-      sources."@types/ws-7.4.4"
+      sources."@types/ws-7.4.7"
       sources."abort-controller-3.0.0"
       sources."accepts-1.3.7"
-      sources."ajv-6.12.6"
+      sources."ajv-8.6.2"
       sources."ansi-0.3.1"
       (sources."ansi-align-3.0.0" // {
         dependencies = [
@@ -69361,14 +71074,14 @@ in
       })
       sources."array-flatten-1.1.1"
       sources."asciichart-1.5.25"
-      sources."asn1-0.2.4"
-      sources."assert-plus-1.0.0"
       sources."astral-regex-2.0.0"
-      sources."async-3.2.0"
-      sources."asyncjs-util-1.2.6"
+      sources."async-3.2.1"
+      (sources."asyncjs-util-1.2.6" // {
+        dependencies = [
+          sources."async-3.2.0"
+        ];
+      })
       sources."asynckit-0.4.0"
-      sources."aws-sign2-0.7.0"
-      sources."aws4-1.9.1"
       sources."base-x-3.0.8"
       sources."base64-js-1.5.1"
       (sources."basic-auth-2.0.1" // {
@@ -69376,7 +71089,6 @@ in
           sources."safe-buffer-5.1.2"
         ];
       })
-      sources."bcrypt-pbkdf-1.0.2"
       sources."bech32-1.1.4"
       sources."bessel-1.0.2"
       sources."bindings-1.5.0"
@@ -69390,11 +71102,7 @@ in
       sources."bl-4.1.0"
       sources."bluebird-3.7.2"
       sources."bn.js-4.12.0"
-      (sources."body-parser-1.19.0" // {
-        dependencies = [
-          sources."qs-6.7.0"
-        ];
-      })
+      sources."body-parser-1.19.0"
       (sources."bolt01-1.2.2" // {
         dependencies = [
           sources."bn.js-5.2.0"
@@ -69411,7 +71119,7 @@ in
         dependencies = [
           sources."ansi-regex-5.0.0"
           sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.1"
+          sources."chalk-4.1.2"
           sources."is-fullwidth-code-point-3.0.0"
           sources."string-width-4.2.2"
           sources."strip-ansi-6.0.0"
@@ -69426,7 +71134,7 @@ in
       sources."buffer-alloc-1.2.0"
       sources."buffer-alloc-unsafe-1.1.0"
       sources."buffer-fill-1.0.0"
-      sources."buffer-from-1.1.1"
+      sources."buffer-from-1.1.2"
       sources."bytes-3.1.0"
       (sources."cacheable-request-6.1.0" // {
         dependencies = [
@@ -69436,8 +71144,7 @@ in
       })
       sources."camelcase-6.2.0"
       sources."caporal-1.4.0"
-      sources."caseless-0.12.0"
-      sources."cbor-7.0.6"
+      sources."cbor-8.0.0"
       sources."cert-info-1.5.1"
       (sources."chalk-1.1.3" // {
         dependencies = [
@@ -69466,7 +71173,7 @@ in
       sources."code-point-at-1.1.0"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
-      sources."colorette-1.2.2"
+      sources."colorette-1.3.0"
       sources."colors-1.4.0"
       sources."combined-stream-1.0.8"
       sources."commander-6.2.1"
@@ -69490,11 +71197,10 @@ in
       sources."cors-2.8.5"
       sources."create-hash-1.2.0"
       sources."create-hmac-1.1.7"
-      sources."crypto-js-4.0.0"
+      sources."crypto-js-4.1.1"
       sources."crypto-random-string-2.0.0"
       sources."csv-parse-4.16.0"
       sources."cycle-1.0.3"
-      sources."dashdash-1.14.1"
       sources."debug-2.6.9"
       sources."decompress-response-3.3.0"
       sources."deep-extend-0.6.0"
@@ -69507,7 +71213,6 @@ in
       sources."destroy-1.0.4"
       sources."dot-prop-5.3.0"
       sources."duplexer3-0.1.4"
-      sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
       sources."elliptic-6.5.4"
       sources."emoji-regex-8.0.0"
@@ -69522,42 +71227,32 @@ in
       sources."exit-hook-1.1.1"
       (sources."express-4.17.1" // {
         dependencies = [
-          sources."qs-6.7.0"
           sources."safe-buffer-5.1.2"
         ];
       })
       sources."extend-3.0.2"
       sources."external-editor-1.1.1"
-      sources."extsprintf-1.3.0"
       sources."eyes-0.1.8"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
       sources."figures-1.7.0"
       sources."file-uri-to-path-1.0.0"
       sources."finalhandler-1.1.2"
-      sources."forever-agent-0.6.1"
-      sources."form-data-3.0.0"
+      sources."form-data-2.5.1"
       sources."forwarded-0.2.0"
       sources."fresh-0.5.2"
       sources."gauge-1.2.7"
       sources."get-caller-file-2.0.5"
       sources."get-stream-4.1.0"
-      sources."getpass-0.1.7"
       sources."global-dirs-3.0.0"
-      (sources."goldengate-10.1.0" // {
+      (sources."goldengate-10.3.0" // {
         dependencies = [
           sources."bech32-2.0.0"
           sources."bn.js-5.2.0"
-          sources."cbor-7.0.5"
-          sources."invoices-1.2.1"
-          sources."ln-service-51.8.2"
         ];
       })
       sources."got-9.6.0"
-      sources."graceful-fs-4.2.6"
-      sources."har-schema-2.0.0"
-      sources."har-validator-5.1.3"
+      sources."graceful-fs-4.2.8"
       (sources."has-ansi-2.0.0" // {
         dependencies = [
           sources."ansi-regex-2.1.1"
@@ -69576,7 +71271,6 @@ in
           sources."inherits-2.0.3"
         ];
       })
-      sources."http-signature-1.3.1"
       sources."iconv-lite-0.4.24"
       sources."ieee754-1.2.1"
       sources."import-lazy-4.0.0"
@@ -69588,7 +71282,7 @@ in
           sources."ansi-escapes-4.3.2"
           sources."ansi-regex-5.0.0"
           sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.1"
+          sources."chalk-4.1.2"
           sources."cli-cursor-3.1.0"
           sources."cli-width-3.0.0"
           sources."external-editor-3.1.0"
@@ -69609,7 +71303,6 @@ in
           sources."bn.js-5.2.0"
         ];
       })
-      sources."ip-regex-2.1.0"
       sources."ipaddr.js-1.9.1"
       sources."is-accessor-descriptor-1.0.0"
       sources."is-buffer-1.1.6"
@@ -69633,94 +71326,36 @@ in
       sources."isarray-1.0.0"
       sources."isnumber-1.0.0"
       sources."isstream-0.1.2"
-      sources."jsbn-0.1.1"
       sources."json-buffer-3.0.0"
-      sources."json-schema-0.2.3"
-      sources."json-schema-traverse-0.4.1"
-      sources."json-stringify-safe-5.0.1"
+      sources."json-schema-traverse-1.0.0"
       sources."json2csv-5.0.6"
       sources."jsonparse-1.3.1"
-      sources."jsprim-1.4.1"
-      sources."jstat-1.9.4"
+      sources."jstat-1.9.5"
       sources."keyv-3.1.0"
       sources."kind-of-6.0.3"
       sources."latest-version-5.1.0"
-      (sources."lightning-3.3.9" // {
+      (sources."lightning-4.1.0" // {
         dependencies = [
-          sources."@types/node-15.6.1"
-          sources."bech32-2.0.0"
+          sources."@types/node-16.6.1"
           sources."bn.js-5.2.0"
-          sources."cbor-7.0.5"
-          sources."invoices-1.2.1"
-        ];
-      })
-      (sources."ln-accounting-4.3.1" // {
-        dependencies = [
-          sources."@grpc/grpc-js-1.3.4"
-          sources."@grpc/proto-loader-0.6.3"
-          sources."@types/node-15.12.5"
-          sources."@types/ws-7.4.5"
-          sources."bn.js-5.2.0"
-          sources."cbor-7.0.5"
-          sources."lightning-3.3.12"
-          sources."ln-service-51.8.5"
-          sources."ws-7.5.0"
-        ];
-      })
-      (sources."ln-service-51.10.0" // {
-        dependencies = [
-          sources."@grpc/grpc-js-1.3.6"
-          sources."@grpc/proto-loader-0.6.4"
-          sources."@types/express-4.17.13"
-          sources."@types/node-16.3.3"
-          sources."@types/request-2.48.6"
-          sources."@types/ws-7.4.7"
-          sources."bn.js-5.2.0"
-          sources."form-data-2.5.1"
-          sources."lightning-3.4.0"
-          sources."ws-7.5.3"
         ];
       })
+      sources."ln-accounting-5.0.0"
+      sources."ln-service-52.0.1"
       (sources."ln-sync-0.4.7" // {
         dependencies = [
           sources."@grpc/grpc-js-1.3.6"
-          sources."@grpc/proto-loader-0.6.4"
-          sources."@types/express-4.17.13"
           sources."@types/node-16.3.3"
           sources."@types/request-2.48.6"
-          sources."@types/ws-7.4.7"
+          sources."async-3.2.0"
           sources."bn.js-5.2.0"
-          sources."form-data-2.5.1"
+          sources."cbor-7.0.6"
+          sources."colorette-1.2.2"
           sources."lightning-3.4.0"
+          sources."nofilter-2.0.3"
         ];
       })
-      (sources."ln-telegram-3.2.9" // {
-        dependencies = [
-          sources."@grpc/grpc-js-1.3.5"
-          sources."@grpc/proto-loader-0.6.4"
-          sources."@types/express-4.17.13"
-          sources."@types/node-16.3.2"
-          sources."@types/request-2.48.6"
-          sources."@types/ws-7.4.6"
-          sources."bn.js-5.2.0"
-          sources."cbor-7.0.5"
-          sources."form-data-2.5.1"
-          sources."lightning-3.3.16"
-          sources."ln-service-51.9.0"
-          (sources."ln-sync-0.4.6" // {
-            dependencies = [
-              sources."@grpc/grpc-js-1.3.4"
-              sources."@grpc/proto-loader-0.6.3"
-              sources."@types/express-4.17.12"
-              sources."@types/node-15.12.5"
-              sources."@types/request-2.48.5"
-              sources."@types/ws-7.4.5"
-              sources."lightning-3.3.12"
-            ];
-          })
-          sources."ws-7.5.3"
-        ];
-      })
+      sources."ln-telegram-3.2.11"
       sources."lodash-4.17.21"
       sources."lodash.camelcase-4.3.0"
       sources."lodash.clonedeep-4.5.0"
@@ -69734,19 +71369,15 @@ in
       (sources."log-symbols-4.1.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.1"
+          sources."chalk-4.1.2"
           sources."supports-color-7.2.0"
         ];
       })
       sources."long-4.0.0"
       sources."lowercase-keys-1.0.1"
       sources."lru-cache-6.0.0"
-      sources."luxon-2.0.1"
-      (sources."macaroon-3.0.4" // {
-        dependencies = [
-          sources."tweetnacl-1.0.3"
-        ];
-      })
+      sources."luxon-2.0.2"
+      sources."macaroon-3.0.4"
       (sources."make-dir-3.1.0" // {
         dependencies = [
           sources."semver-6.3.0"
@@ -69759,8 +71390,8 @@ in
       sources."methods-1.1.2"
       sources."micromist-1.1.0"
       sources."mime-1.6.0"
-      sources."mime-db-1.43.0"
-      sources."mime-types-2.1.26"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."mimic-fn-2.1.0"
       sources."mimic-response-1.0.1"
       sources."minimalistic-assert-1.0.1"
@@ -69776,16 +71407,15 @@ in
       })
       sources."ms-2.0.0"
       sources."mute-stream-0.0.6"
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       sources."negotiator-0.6.2"
       sources."node-addon-api-2.0.2"
       sources."node-fetch-2.6.1"
       sources."node-gyp-build-4.2.3"
-      sources."nofilter-2.0.3"
+      sources."nofilter-3.0.3"
       sources."normalize-url-4.5.1"
       sources."npmlog-2.0.4"
       sources."number-is-nan-1.0.1"
-      sources."oauth-sign-0.9.0"
       sources."object-assign-4.1.1"
       sources."on-finished-2.3.0"
       sources."on-headers-1.0.2"
@@ -69795,7 +71425,7 @@ in
         dependencies = [
           sources."ansi-regex-5.0.0"
           sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.1"
+          sources."chalk-4.1.2"
           sources."cli-cursor-3.1.0"
           sources."onetime-5.1.2"
           sources."restore-cursor-3.1.0"
@@ -69816,34 +71446,48 @@ in
         dependencies = [
           sources."@grpc/grpc-js-1.3.4"
           sources."@grpc/proto-loader-0.6.3"
+          sources."@types/express-4.17.12"
           sources."@types/node-15.12.5"
+          sources."@types/request-2.48.5"
           sources."@types/ws-7.4.5"
+          sources."async-3.2.0"
           sources."bn.js-5.2.0"
           sources."cbor-7.0.5"
           sources."lightning-3.3.12"
           sources."ln-service-51.8.5"
+          sources."nofilter-2.0.3"
           sources."ws-7.5.0"
         ];
       })
       sources."parseurl-1.3.3"
       sources."path-to-regexp-0.1.7"
-      sources."performance-now-2.1.0"
       sources."pinkie-2.0.4"
       sources."pinkie-promise-2.0.1"
       sources."prepend-http-2.0.0"
       sources."prettyjson-1.2.1"
       (sources."probing-1.3.6" // {
         dependencies = [
+          sources."@grpc/grpc-js-1.3.2"
+          sources."@grpc/proto-loader-0.6.2"
+          sources."@types/express-4.17.12"
+          sources."@types/node-15.6.1"
+          sources."@types/request-2.48.5"
+          sources."@types/ws-7.4.4"
+          sources."async-3.2.0"
           sources."bech32-2.0.0"
           sources."bn.js-5.2.0"
+          sources."cbor-7.0.5"
           sources."invoices-1.2.1"
+          sources."lightning-3.3.9"
           sources."ln-service-51.8.2"
+          sources."nofilter-2.0.3"
+          sources."ws-7.4.6"
         ];
       })
       sources."process-nextick-args-2.0.1"
       (sources."protobufjs-6.11.2" // {
         dependencies = [
-          sources."@types/node-16.4.0"
+          sources."@types/node-16.7.2"
         ];
       })
       sources."proxy-addr-2.0.7"
@@ -69852,13 +71496,12 @@ in
           sources."bn.js-5.2.0"
         ];
       })
-      sources."psl-1.8.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."pupa-2.1.1"
       sources."pushdata-bitcoin-1.0.1"
       sources."qrcode-terminal-0.12.0"
-      sources."qs-6.9.1"
+      sources."qs-6.7.0"
       sources."randombytes-2.1.0"
       sources."range-parser-1.2.1"
       sources."raw-body-2.4.0"
@@ -69877,7 +71520,7 @@ in
       sources."ripemd160-2.0.2"
       sources."run-async-2.4.1"
       sources."rx-4.1.0"
-      sources."rxjs-7.2.0"
+      sources."rxjs-7.3.0"
       sources."safe-buffer-5.2.1"
       sources."safe-compare-1.1.4"
       sources."safer-buffer-2.1.2"
@@ -69907,7 +71550,6 @@ in
         ];
       })
       sources."spawn-sync-1.0.15"
-      sources."sshpk-1.16.1"
       sources."stack-trace-0.0.10"
       sources."stats-lite-2.2.0"
       sources."statuses-1.5.0"
@@ -69918,10 +71560,8 @@ in
       sources."supports-color-2.0.0"
       (sources."table-6.7.1" // {
         dependencies = [
-          sources."ajv-8.6.2"
           sources."ansi-regex-5.0.0"
           sources."is-fullwidth-code-point-3.0.0"
-          sources."json-schema-traverse-1.0.0"
           sources."string-width-4.2.2"
           sources."strip-ansi-6.0.0"
         ];
@@ -69935,7 +71575,7 @@ in
           sources."strip-ansi-3.0.1"
         ];
       })
-      (sources."telegraf-4.4.0" // {
+      (sources."telegraf-4.4.1" // {
         dependencies = [
           sources."debug-4.3.2"
           sources."ms-2.1.2"
@@ -69947,24 +71587,22 @@ in
       sources."tmp-0.0.29"
       sources."to-readable-stream-1.0.0"
       sources."toidentifier-1.0.0"
-      sources."tough-cookie-3.0.1"
       sources."truncate-utf8-bytes-1.0.2"
       sources."tslib-2.1.0"
-      sources."tunnel-agent-0.6.0"
-      sources."tweetnacl-0.14.5"
+      sources."tweetnacl-1.0.3"
       sources."tweetnacl-util-0.15.1"
       sources."type-fest-0.21.3"
       sources."type-is-1.6.18"
       sources."typedarray-0.0.6"
       sources."typedarray-to-buffer-3.1.5"
       sources."typeforce-1.18.0"
-      sources."typegram-3.4.1"
+      sources."typegram-3.4.3"
       sources."unique-string-2.0.0"
       sources."unpipe-1.0.0"
       (sources."update-notifier-5.1.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.1"
+          sources."chalk-4.1.2"
           sources."import-lazy-2.1.0"
           sources."supports-color-7.2.0"
         ];
@@ -69974,10 +71612,8 @@ in
       sources."utf8-byte-length-1.0.4"
       sources."util-deprecate-1.0.2"
       sources."utils-merge-1.0.1"
-      sources."uuid-3.4.0"
       sources."varuint-bitcoin-1.1.2"
       sources."vary-1.1.2"
-      sources."verror-1.10.0"
       sources."wcwidth-1.0.1"
       (sources."widest-line-3.1.0" // {
         dependencies = [
@@ -70006,7 +71642,7 @@ in
       })
       sources."wrappy-1.0.2"
       sources."write-file-atomic-3.0.3"
-      sources."ws-7.4.6"
+      sources."ws-8.1.0"
       sources."xdg-basedir-4.0.0"
       sources."y18n-5.0.8"
       sources."yallist-4.0.0"
@@ -70033,10 +71669,10 @@ in
   bash-language-server = nodeEnv.buildNodePackage {
     name = "bash-language-server";
     packageName = "bash-language-server";
-    version = "1.17.0";
+    version = "2.0.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/bash-language-server/-/bash-language-server-1.17.0.tgz";
-      sha512 = "t80ktUFL9DPaTO7yydoNYXIDKINweWbFvvUXesltmWj7UaIyepIVRAWUp4+62udJtor1VxVFEAXnsVDA640flw==";
+      url = "https://registry.npmjs.org/bash-language-server/-/bash-language-server-2.0.0.tgz";
+      sha512 = "yp6KF2GCVgj64kU2qknE+CFydb8IHc+2ZTRFc6UrN8FugOAHEfO7PzkxfJ/SDWbqa7wIJyjdEFtbTOy/qbHtbQ==";
     };
     dependencies = [
       sources."abab-2.0.5"
@@ -70109,8 +71745,8 @@ in
       sources."levn-0.3.0"
       sources."lodash-4.17.21"
       sources."lodash.sortby-4.7.0"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."minimatch-3.0.4"
       sources."nwsapi-2.2.0"
       sources."oauth-sign-0.9.0"
@@ -70150,7 +71786,7 @@ in
       sources."vscode-languageserver-textdocument-1.0.1"
       sources."vscode-languageserver-types-3.16.0"
       sources."w3c-hr-time-1.0.2"
-      sources."web-tree-sitter-0.16.4"
+      sources."web-tree-sitter-0.19.4"
       sources."webidl-conversions-4.0.2"
       sources."whatwg-encoding-1.0.5"
       sources."whatwg-mimetype-2.3.0"
@@ -70170,6 +71806,169 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
+  beancount-langserver = nodeEnv.buildNodePackage {
+    name = "beancount-langserver";
+    packageName = "beancount-langserver";
+    version = "1.0.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/beancount-langserver/-/beancount-langserver-1.0.0.tgz";
+      sha512 = "cwi9b6H7pMWDFcUNsAt2DDStOmd9DCgWUQ5olAe+PHe+dwxqeRJVaCQLMiDwJBOHEPuRhaXh8V/7JEtgQPgoPQ==";
+    };
+    dependencies = [
+      sources."@textlint/ast-node-types-4.4.3"
+      sources."@textlint/markdown-to-ast-6.1.7"
+      sources."anchor-markdown-header-0.5.7"
+      sources."ansi-regex-2.1.1"
+      sources."aproba-1.2.0"
+      sources."are-we-there-yet-1.1.5"
+      sources."bail-1.0.5"
+      sources."base64-js-1.5.1"
+      (sources."bl-4.1.0" // {
+        dependencies = [
+          sources."readable-stream-3.6.0"
+        ];
+      })
+      sources."boundary-1.0.1"
+      sources."buffer-5.7.1"
+      sources."character-entities-1.2.4"
+      sources."character-entities-legacy-1.1.4"
+      sources."character-reference-invalid-1.1.4"
+      sources."chownr-1.1.4"
+      sources."code-point-at-1.1.0"
+      sources."collapse-white-space-1.0.6"
+      sources."commander-6.2.1"
+      sources."console-control-strings-1.1.0"
+      sources."core-util-is-1.0.2"
+      sources."debug-4.3.2"
+      sources."decompress-response-4.2.1"
+      sources."deep-extend-0.6.0"
+      sources."delegates-1.0.0"
+      sources."detect-libc-1.0.3"
+      sources."doctoc-2.0.1"
+      (sources."dom-serializer-1.3.2" // {
+        dependencies = [
+          sources."domhandler-4.2.0"
+        ];
+      })
+      sources."domelementtype-2.2.0"
+      sources."domhandler-3.3.0"
+      (sources."domutils-2.7.0" // {
+        dependencies = [
+          sources."domhandler-4.2.0"
+        ];
+      })
+      sources."emoji-regex-6.1.3"
+      sources."end-of-stream-1.4.4"
+      sources."entities-2.2.0"
+      sources."expand-template-2.0.3"
+      sources."extend-3.0.2"
+      sources."fault-1.0.4"
+      sources."format-0.2.2"
+      sources."fs-constants-1.0.0"
+      sources."gauge-2.7.4"
+      sources."github-from-package-0.0.0"
+      sources."has-unicode-2.0.1"
+      sources."htmlparser2-4.1.0"
+      sources."ieee754-1.2.1"
+      sources."inherits-2.0.4"
+      sources."ini-1.3.8"
+      sources."is-alphabetical-1.0.4"
+      sources."is-alphanumerical-1.0.4"
+      sources."is-buffer-1.1.6"
+      sources."is-decimal-1.0.4"
+      sources."is-fullwidth-code-point-1.0.0"
+      sources."is-hexadecimal-1.0.4"
+      sources."is-plain-obj-1.1.0"
+      sources."is-whitespace-character-1.0.4"
+      sources."is-word-character-1.0.4"
+      sources."isarray-1.0.0"
+      sources."markdown-escapes-1.0.4"
+      sources."mimic-response-2.1.0"
+      sources."minimist-1.2.5"
+      sources."mkdirp-classic-0.5.3"
+      sources."ms-2.1.2"
+      sources."nan-2.15.0"
+      sources."napi-build-utils-1.0.2"
+      sources."node-abi-2.30.0"
+      sources."noop-logger-0.1.1"
+      sources."npmlog-4.1.2"
+      sources."number-is-nan-1.0.1"
+      sources."object-assign-4.1.1"
+      sources."once-1.4.0"
+      sources."parse-entities-1.2.2"
+      sources."prebuild-install-5.3.6"
+      sources."process-nextick-args-2.0.1"
+      sources."pump-3.0.0"
+      sources."rc-1.2.8"
+      sources."readable-stream-2.3.7"
+      sources."reflect-metadata-0.1.13"
+      sources."remark-frontmatter-1.3.3"
+      sources."remark-parse-5.0.0"
+      sources."repeat-string-1.6.1"
+      sources."replace-ext-1.0.0"
+      sources."safe-buffer-5.1.2"
+      sources."semver-5.7.1"
+      sources."set-blocking-2.0.0"
+      sources."signal-exit-3.0.3"
+      sources."simple-concat-1.0.1"
+      sources."simple-get-3.1.0"
+      sources."state-toggle-1.0.3"
+      sources."string-width-1.0.2"
+      sources."string_decoder-1.1.1"
+      sources."strip-ansi-3.0.1"
+      sources."strip-json-comments-2.0.1"
+      sources."structured-source-3.0.2"
+      sources."tar-fs-2.1.1"
+      (sources."tar-stream-2.2.0" // {
+        dependencies = [
+          sources."readable-stream-3.6.0"
+        ];
+      })
+      sources."traverse-0.6.6"
+      sources."tree-sitter-0.17.2"
+      sources."tree-sitter-beancount-1.0.0"
+      sources."trim-0.0.1"
+      sources."trim-trailing-lines-1.1.4"
+      sources."trough-1.0.5"
+      sources."tslib-1.14.1"
+      sources."tsyringe-4.6.0"
+      sources."tunnel-agent-0.6.0"
+      sources."underscore-1.12.1"
+      sources."unherit-1.1.3"
+      sources."unified-6.2.0"
+      sources."unist-util-is-3.0.0"
+      sources."unist-util-remove-position-1.1.4"
+      sources."unist-util-stringify-position-1.1.2"
+      sources."unist-util-visit-1.4.1"
+      sources."unist-util-visit-parents-2.1.2"
+      sources."update-section-0.3.3"
+      sources."util-deprecate-1.0.2"
+      sources."vfile-2.3.0"
+      sources."vfile-location-2.0.6"
+      sources."vfile-message-1.1.1"
+      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.1"
+      sources."vscode-languageserver-types-3.16.0"
+      sources."vscode-uri-2.1.2"
+      sources."web-tree-sitter-0.17.1"
+      sources."which-pm-runs-1.0.0"
+      sources."wide-align-1.1.3"
+      sources."wrappy-1.0.2"
+      sources."x-is-string-0.1.0"
+      sources."xtend-4.0.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A Language Server Protocol (LSP) for beancount files";
+      homepage = "https://github.com/bryall/beancount-language-server#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
   bower = nodeEnv.buildNodePackage {
     name = "bower";
     packageName = "bower";
@@ -70219,7 +72018,7 @@ in
       sources."find-up-1.1.2"
       (sources."fs-extra-0.26.7" // {
         dependencies = [
-          sources."graceful-fs-4.2.6"
+          sources."graceful-fs-4.2.8"
         ];
       })
       sources."fs.realpath-1.0.0"
@@ -70234,30 +72033,30 @@ in
       sources."inherits-2.0.4"
       sources."intersect-1.0.1"
       sources."is-arrayish-0.2.1"
-      sources."is-core-module-2.5.0"
+      sources."is-core-module-2.6.0"
       sources."is-finite-1.1.0"
       sources."is-plain-obj-1.1.0"
       sources."is-utf8-0.2.1"
       (sources."jsonfile-2.4.0" // {
         dependencies = [
-          sources."graceful-fs-4.2.6"
+          sources."graceful-fs-4.2.8"
         ];
       })
       (sources."klaw-1.3.1" // {
         dependencies = [
-          sources."graceful-fs-4.2.6"
+          sources."graceful-fs-4.2.8"
         ];
       })
       (sources."load-json-file-1.1.0" // {
         dependencies = [
-          sources."graceful-fs-4.2.6"
+          sources."graceful-fs-4.2.8"
         ];
       })
       sources."lodash-4.2.1"
       sources."loud-rejection-1.6.0"
       sources."map-obj-1.0.1"
       sources."meow-3.7.0"
-      sources."mime-db-1.48.0"
+      sources."mime-db-1.49.0"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
@@ -70273,7 +72072,7 @@ in
       sources."path-parse-1.0.7"
       (sources."path-type-1.1.0" // {
         dependencies = [
-          sources."graceful-fs-4.2.6"
+          sources."graceful-fs-4.2.8"
         ];
       })
       sources."pify-2.3.0"
@@ -70298,7 +72097,7 @@ in
       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.9"
+      sources."spdx-license-ids-3.0.10"
       sources."sprintf-js-1.0.3"
       sources."strip-bom-2.0.0"
       sources."strip-indent-1.0.1"
@@ -70364,7 +72163,7 @@ in
       })
       sources."browserify-zlib-0.2.0"
       sources."buffer-5.2.1"
-      sources."buffer-from-1.1.1"
+      sources."buffer-from-1.1.2"
       sources."buffer-xor-1.0.3"
       sources."builtin-status-codes-3.0.0"
       sources."cached-path-relative-1.0.2"
@@ -70403,7 +72202,7 @@ in
           sources."bn.js-4.12.0"
         ];
       })
-      sources."es-abstract-1.18.3"
+      sources."es-abstract-1.18.5"
       sources."es-to-primitive-1.2.1"
       sources."events-3.3.0"
       sources."evp_bytestokey-1.0.3"
@@ -70417,6 +72216,7 @@ in
       sources."has-1.0.3"
       sources."has-bigints-1.0.1"
       sources."has-symbols-1.0.2"
+      sources."has-tostringtag-1.0.0"
       (sources."hash-base-3.1.0" // {
         dependencies = [
           sources."readable-stream-3.6.0"
@@ -70431,20 +72231,21 @@ in
       sources."inherits-2.0.4"
       sources."inline-source-map-0.6.2"
       sources."insert-module-globals-7.2.1"
-      sources."is-arguments-1.1.0"
-      sources."is-bigint-1.0.2"
-      sources."is-boolean-object-1.1.1"
+      sources."internal-slot-1.0.3"
+      sources."is-arguments-1.1.1"
+      sources."is-bigint-1.0.4"
+      sources."is-boolean-object-1.1.2"
       sources."is-buffer-1.1.6"
-      sources."is-callable-1.2.3"
-      sources."is-core-module-2.5.0"
-      sources."is-date-object-1.0.4"
-      sources."is-generator-function-1.0.9"
+      sources."is-callable-1.2.4"
+      sources."is-core-module-2.6.0"
+      sources."is-date-object-1.0.5"
+      sources."is-generator-function-1.0.10"
       sources."is-negative-zero-2.0.1"
-      sources."is-number-object-1.0.5"
-      sources."is-regex-1.1.3"
-      sources."is-string-1.0.6"
+      sources."is-number-object-1.0.6"
+      sources."is-regex-1.1.4"
+      sources."is-string-1.0.7"
       sources."is-symbol-1.0.4"
-      sources."is-typed-array-1.1.5"
+      sources."is-typed-array-1.1.7"
       sources."isarray-1.0.0"
       sources."jsonparse-1.3.1"
       sources."labeled-stream-splicer-2.0.2"
@@ -70501,6 +72302,7 @@ in
       sources."sha.js-2.4.11"
       sources."shasum-object-1.0.0"
       sources."shell-quote-1.7.2"
+      sources."side-channel-1.0.4"
       sources."simple-concat-1.0.1"
       sources."source-map-0.5.7"
       (sources."stream-browserify-3.0.0" // {
@@ -70537,7 +72339,7 @@ in
       sources."util-deprecate-1.0.2"
       sources."vm-browserify-1.1.2"
       sources."which-boxed-primitive-1.0.2"
-      sources."which-typed-array-1.1.4"
+      sources."which-typed-array-1.1.6"
       sources."wrappy-1.0.2"
       sources."xtend-4.0.2"
     ];
@@ -70554,17 +72356,17 @@ in
   btc-rpc-explorer = nodeEnv.buildNodePackage {
     name = "btc-rpc-explorer";
     packageName = "btc-rpc-explorer";
-    version = "3.1.1";
+    version = "3.2.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/btc-rpc-explorer/-/btc-rpc-explorer-3.1.1.tgz";
-      sha512 = "QHoiW1H2P6Sx7L5IEvbZnnQsfy7eaibY/KS2UAX9VINXNdGS9RxqEdLOe9yTdcy5pzIFpQKIBspOnHcBOjVa8A==";
+      url = "https://registry.npmjs.org/btc-rpc-explorer/-/btc-rpc-explorer-3.2.0.tgz";
+      sha512 = "Va/hSa8+LRP4o6neRo+us8XttwcmLfwgNykeXhtY3xMu3/Y7I2e4EXb6Zd9jElMVI3teWH7eiyLff0KDjnYJdg==";
     };
     dependencies = [
       sources."@babel/code-frame-7.14.5"
-      sources."@babel/helper-validator-identifier-7.14.8"
+      sources."@babel/helper-validator-identifier-7.14.9"
       sources."@babel/highlight-7.14.5"
-      sources."@babel/parser-7.14.8"
-      sources."@babel/types-7.14.8"
+      sources."@babel/parser-7.15.3"
+      sources."@babel/types-7.15.0"
       sources."@kwsites/file-exists-1.1.1"
       sources."@kwsites/promise-deferred-1.1.1"
       sources."@types/minimist-1.2.2"
@@ -70583,7 +72385,7 @@ in
       sources."asn1-0.2.4"
       sources."assert-never-1.2.1"
       sources."assert-plus-1.0.0"
-      sources."async-3.2.0"
+      sources."async-3.2.1"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
       sources."aws4-1.11.0"
@@ -70594,19 +72396,18 @@ in
       sources."base64-js-1.5.1"
       sources."basic-auth-2.0.1"
       sources."bcrypt-pbkdf-1.0.2"
-      sources."bech32-1.1.4"
-      sources."bignumber.js-4.1.0"
+      sources."bech32-2.0.0"
+      sources."bignumber.js-9.0.1"
       sources."bindings-1.5.0"
       sources."bip174-2.0.1"
       sources."bip32-2.0.6"
       sources."bip66-1.1.5"
-      (sources."bitcoin-core-2.3.0" // {
+      sources."bitcoin-ops-1.4.1"
+      (sources."bitcoinjs-lib-5.2.0" // {
         dependencies = [
-          sources."semver-5.7.1"
+          sources."bech32-1.1.4"
         ];
       })
-      sources."bitcoin-ops-1.4.1"
-      sources."bitcoinjs-lib-5.2.0"
       sources."bluebird-3.7.2"
       sources."bn.js-4.12.0"
       (sources."body-parser-1.19.0" // {
@@ -70614,16 +72415,17 @@ in
           sources."debug-2.6.9"
         ];
       })
-      sources."bootstrap-5.0.0-beta3"
+      sources."bootstrap-5.0.2"
       sources."brace-expansion-1.1.11"
       sources."brorand-1.1.0"
       sources."bs58-4.0.1"
       sources."bs58check-2.1.2"
+      sources."btc-rpc-client-git://github.com/btc21/btc-rpc-client"
       sources."buffer-5.7.1"
       sources."buffer-alloc-1.2.0"
       sources."buffer-alloc-unsafe-1.1.0"
       sources."buffer-fill-1.0.0"
-      sources."buffer-from-1.1.1"
+      sources."buffer-from-1.1.2"
       sources."bunyan-1.8.15"
       sources."bytes-3.1.0"
       sources."call-bind-1.0.2"
@@ -70633,6 +72435,7 @@ in
       sources."chalk-2.4.2"
       sources."character-parser-2.2.0"
       sources."charenc-0.0.2"
+      sources."chart.js-3.5.1"
       sources."cipher-base-1.0.4"
       sources."cliui-5.0.0"
       sources."color-convert-1.9.3"
@@ -70656,7 +72459,7 @@ in
       sources."create-hash-1.2.0"
       sources."create-hmac-1.1.7"
       sources."crypt-0.0.2"
-      sources."crypto-js-4.0.0"
+      sources."crypto-js-4.1.1"
       sources."csrf-3.1.0"
       (sources."csurf-1.11.0" // {
         dependencies = [
@@ -70669,7 +72472,7 @@ in
           sources."ms-2.1.2"
         ];
       })
-      (sources."debugnyan-1.0.0" // {
+      (sources."debugnyan-2.0.2" // {
         dependencies = [
           sources."debug-2.6.9"
         ];
@@ -70682,12 +72485,12 @@ in
       })
       sources."decimal.js-10.3.1"
       sources."delayed-stream-1.0.0"
-      sources."denque-1.5.0"
+      sources."denque-1.5.1"
       sources."depd-1.1.2"
       sources."destroy-1.0.4"
       sources."dijkstrajs-1.0.2"
       sources."doctypes-1.1.0"
-      sources."dotenv-8.6.0"
+      sources."dotenv-10.0.0"
       sources."dtrace-provider-0.8.8"
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
@@ -70726,7 +72529,7 @@ in
         ];
       })
       sources."find-up-4.1.0"
-      sources."follow-redirects-1.14.1"
+      sources."follow-redirects-1.14.2"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
       sources."forwarded-0.2.0"
@@ -70742,6 +72545,7 @@ in
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
       sources."has-symbols-1.0.2"
+      sources."has-tostringtag-1.0.0"
       (sources."hash-base-3.1.0" // {
         dependencies = [
           sources."safe-buffer-5.2.1"
@@ -70764,19 +72568,19 @@ in
       sources."ipaddr.js-1.9.1"
       sources."is-arrayish-0.2.1"
       sources."is-buffer-1.1.6"
-      sources."is-core-module-2.5.0"
+      sources."is-core-module-2.6.0"
       sources."is-expression-4.0.0"
       sources."is-fullwidth-code-point-2.0.0"
       sources."is-plain-obj-1.1.0"
       sources."is-promise-2.2.2"
-      sources."is-regex-1.1.3"
+      sources."is-regex-1.1.4"
       sources."is-typedarray-1.0.0"
       sources."isarray-2.0.5"
       sources."isstream-0.1.2"
       sources."js-stringify-1.0.2"
       sources."js-tokens-4.0.0"
       sources."jsbn-0.1.1"
-      sources."json-bigint-0.2.3"
+      sources."json-bigint-1.0.0"
       sources."json-parse-even-better-errors-2.3.1"
       sources."json-schema-0.2.3"
       sources."json-schema-traverse-0.4.1"
@@ -70795,7 +72599,7 @@ in
       sources."lodash-4.17.21"
       sources."lru-cache-6.0.0"
       sources."map-obj-4.2.1"
-      (sources."markdown-it-12.1.0" // {
+      (sources."markdown-it-12.2.0" // {
         dependencies = [
           sources."argparse-2.0.1"
           sources."entities-2.1.0"
@@ -70811,8 +72615,8 @@ in
       sources."merkle-lib-2.0.10"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."min-indent-1.0.1"
       sources."minimalistic-assert-1.0.1"
       sources."minimalistic-crypto-utils-1.0.1"
@@ -70830,10 +72634,10 @@ in
       })
       sources."ms-2.0.0"
       sources."mv-2.1.1"
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       sources."ncp-2.0.0"
       sources."negotiator-0.6.2"
-      sources."normalize-package-data-3.0.2"
+      sources."normalize-package-data-3.0.3"
       sources."oauth-sign-0.9.0"
       sources."object-assign-4.1.1"
       sources."on-finished-2.3.0"
@@ -70933,11 +72737,11 @@ in
       sources."set-blocking-2.0.0"
       sources."setprototypeof-1.1.1"
       sources."sha.js-2.4.11"
-      sources."simple-git-2.41.1"
+      sources."simple-git-2.44.0"
       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.9"
+      sources."spdx-license-ids-3.0.10"
       sources."sprintf-js-1.0.3"
       sources."sshpk-1.16.1"
       sources."standard-error-1.1.0"
@@ -71023,8 +72827,8 @@ in
       sources."@protobufjs/pool-1.1.0"
       sources."@protobufjs/utf8-1.1.0"
       sources."@types/long-4.0.1"
-      sources."@types/node-16.4.0"
-      sources."addr-to-ip-port-1.5.1"
+      sources."@types/node-16.7.2"
+      sources."addr-to-ip-port-1.5.4"
       sources."airplay-js-0.2.16"
       sources."ajv-6.12.6"
       sources."ansi-regex-1.1.1"
@@ -71042,8 +72846,8 @@ in
       sources."balanced-match-1.0.2"
       sources."base64-js-1.5.1"
       sources."bcrypt-pbkdf-1.0.2"
-      sources."bencode-2.0.1"
-      sources."bep53-range-1.1.0"
+      sources."bencode-2.0.2"
+      sources."bep53-range-1.1.1"
       sources."bitfield-0.1.0"
       (sources."bittorrent-dht-6.4.2" // {
         dependencies = [
@@ -71064,7 +72868,7 @@ in
       sources."buffer-equal-0.0.1"
       sources."buffer-equals-1.0.4"
       sources."buffer-fill-1.0.0"
-      sources."buffer-from-1.1.1"
+      sources."buffer-from-1.1.2"
       sources."camelcase-2.1.1"
       sources."camelcase-keys-2.1.0"
       sources."caseless-0.12.0"
@@ -71085,7 +72889,7 @@ in
       sources."co-3.1.0"
       sources."codepage-1.4.0"
       sources."combined-stream-1.0.8"
-      sources."commander-8.0.0"
+      sources."commander-8.1.0"
       sources."compact2string-1.4.1"
       sources."concat-map-0.0.1"
       (sources."concat-stream-2.0.0" // {
@@ -71146,7 +72950,7 @@ in
       sources."getpass-0.1.7"
       sources."glob-7.1.7"
       sources."got-1.2.2"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."has-1.0.3"
@@ -71165,7 +72969,7 @@ in
       sources."ip-set-1.0.2"
       sources."ipaddr.js-2.0.1"
       sources."is-arrayish-0.2.1"
-      sources."is-core-module-2.5.0"
+      sources."is-core-module-2.6.0"
       sources."is-finite-1.1.0"
       sources."is-typedarray-1.0.0"
       sources."is-utf8-0.2.1"
@@ -71204,8 +73008,8 @@ in
         ];
       })
       sources."mime-1.6.0"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
@@ -71265,7 +73069,7 @@ in
           sources."supports-color-0.2.0"
         ];
       })
-      sources."plist-3.0.2"
+      sources."plist-3.0.3"
       sources."process-nextick-args-2.0.1"
       sources."promiscuous-0.6.0"
       sources."protobufjs-6.11.2"
@@ -71349,16 +73153,12 @@ in
       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.9"
+      sources."spdx-license-ids-3.0.10"
       sources."speedometer-0.1.4"
       sources."srt2vtt-1.3.1"
       sources."sshpk-1.16.1"
       sources."stream-transcoder-0.0.5"
-      (sources."string2compact-1.3.0" // {
-        dependencies = [
-          sources."ipaddr.js-1.9.1"
-        ];
-      })
+      sources."string2compact-1.3.2"
       sources."string_decoder-0.10.31"
       sources."strip-ansi-2.0.1"
       sources."strip-bom-2.0.0"
@@ -71412,7 +73212,7 @@ in
         ];
       })
       sources."xmlbuilder-9.0.7"
-      sources."xmldom-0.5.0"
+      sources."xmldom-0.6.0"
       sources."xspfr-0.3.1"
       sources."xtend-4.0.2"
     ];
@@ -71429,14 +73229,16 @@ in
   cdk8s-cli = nodeEnv.buildNodePackage {
     name = "cdk8s-cli";
     packageName = "cdk8s-cli";
-    version = "1.0.0-beta.26";
+    version = "1.0.0-beta.45";
     src = fetchurl {
-      url = "https://registry.npmjs.org/cdk8s-cli/-/cdk8s-cli-1.0.0-beta.26.tgz";
-      sha512 = "+ikLey611rDoxLBiYuFaNJZxZ1ytCppSEzW+wBIfV5mkyV8Ug5ldHuFzpeUxShZToyzqq8TwhQ5A3CGTU0tSJw==";
+      url = "https://registry.npmjs.org/cdk8s-cli/-/cdk8s-cli-1.0.0-beta.45.tgz";
+      sha512 = "4ixIu+0Fm5gv6nQ+cNhIHu5heJ95yC5HgVTU/Ad4hg5g0zWQLQcOn7s6znqgpFMDtrpH1v4RTMNp/jv10+FPiw==";
     };
     dependencies = [
-      sources."@jsii/spec-1.31.0"
+      sources."@jsii/check-node-1.34.0"
+      sources."@jsii/spec-1.34.0"
       sources."@types/node-10.17.60"
+      sources."@xmldom/xmldom-0.7.2"
       sources."ansi-regex-5.0.0"
       sources."ansi-styles-4.3.0"
       sources."at-least-node-1.0.0"
@@ -71444,11 +73246,12 @@ in
       sources."call-bind-1.0.2"
       sources."camelcase-6.2.0"
       sources."case-1.6.3"
-      sources."cdk8s-1.0.0-beta.24"
-      sources."cdk8s-plus-17-1.0.0-beta.30"
+      sources."cdk8s-1.0.0-beta.30"
+      sources."cdk8s-plus-17-1.0.0-beta.57"
+      sources."chalk-4.1.2"
       sources."cliui-7.0.4"
       sources."clone-2.1.2"
-      (sources."codemaker-1.31.0" // {
+      (sources."codemaker-1.34.0" // {
         dependencies = [
           sources."fs-extra-9.1.0"
         ];
@@ -71456,8 +73259,8 @@ in
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
       sources."colors-1.4.0"
-      sources."commonmark-0.29.3"
-      sources."constructs-3.3.99"
+      sources."commonmark-0.30.0"
+      sources."constructs-3.3.133"
       sources."date-format-3.0.0"
       sources."debug-4.3.2"
       sources."decamelize-5.0.0"
@@ -71468,7 +73271,7 @@ in
       sources."dot-case-3.0.4"
       sources."emoji-regex-8.0.0"
       sources."entities-2.0.3"
-      sources."es-abstract-1.18.3"
+      sources."es-abstract-1.18.5"
       sources."es-get-iterator-1.1.2"
       sources."es-to-primitive-1.2.1"
       sources."escalade-3.1.1"
@@ -71485,58 +73288,61 @@ in
       sources."function-bind-1.1.1"
       sources."get-caller-file-2.0.5"
       sources."get-intrinsic-1.1.1"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."has-1.0.3"
       sources."has-bigints-1.0.1"
+      sources."has-flag-4.0.0"
       sources."has-symbols-1.0.2"
-      sources."is-arguments-1.1.0"
-      sources."is-bigint-1.0.2"
-      sources."is-boolean-object-1.1.1"
-      sources."is-callable-1.2.3"
-      sources."is-date-object-1.0.4"
+      sources."has-tostringtag-1.0.0"
+      sources."internal-slot-1.0.3"
+      sources."is-arguments-1.1.1"
+      sources."is-bigint-1.0.4"
+      sources."is-boolean-object-1.1.2"
+      sources."is-callable-1.2.4"
+      sources."is-date-object-1.0.5"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-map-2.0.2"
       sources."is-negative-zero-2.0.1"
-      sources."is-number-object-1.0.5"
-      sources."is-regex-1.1.3"
+      sources."is-number-object-1.0.6"
+      sources."is-regex-1.1.4"
       sources."is-set-2.0.2"
-      sources."is-string-1.0.6"
+      sources."is-string-1.0.7"
       sources."is-symbol-1.0.4"
-      sources."is-typed-array-1.1.5"
+      sources."is-typed-array-1.1.7"
       sources."is-weakmap-2.0.1"
       sources."is-weakset-2.0.1"
       sources."isarray-2.0.5"
-      (sources."jsii-1.31.0" // {
+      (sources."jsii-1.34.0" // {
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-pacmak-1.31.0" // {
+      (sources."jsii-pacmak-1.34.0" // {
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-reflect-1.31.0" // {
+      (sources."jsii-reflect-1.34.0" // {
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-rosetta-1.31.0" // {
+      (sources."jsii-rosetta-1.34.0" // {
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-srcmak-0.1.302" // {
+      (sources."jsii-srcmak-0.1.335" // {
         dependencies = [
           sources."fs-extra-9.1.0"
         ];
       })
       sources."json-schema-0.3.0"
-      sources."json2jsii-0.1.272"
+      sources."json2jsii-0.2.7"
       sources."jsonfile-6.1.0"
       sources."jsonschema-1.4.0"
       sources."locate-path-5.0.0"
@@ -71552,7 +73358,7 @@ in
       sources."object-is-1.1.5"
       sources."object-keys-1.1.1"
       sources."object.assign-4.1.2"
-      sources."oo-ascii-tree-1.31.0"
+      sources."oo-ascii-tree-1.34.0"
       sources."p-limit-2.3.0"
       sources."p-locate-4.1.0"
       sources."p-try-2.2.0"
@@ -71572,7 +73378,7 @@ in
       sources."snake-case-3.0.4"
       sources."sort-json-2.0.0"
       sources."spdx-license-list-6.4.0"
-      sources."sscaff-1.2.22"
+      sources."sscaff-1.2.54"
       (sources."streamroller-2.2.4" // {
         dependencies = [
           sources."date-format-2.1.0"
@@ -71583,17 +73389,17 @@ in
       sources."string.prototype.trimend-1.0.4"
       sources."string.prototype.trimstart-1.0.4"
       sources."strip-ansi-6.0.0"
-      sources."tslib-2.3.0"
+      sources."supports-color-7.2.0"
+      sources."tslib-2.3.1"
       sources."typescript-3.9.10"
       sources."unbox-primitive-1.0.1"
       sources."universalify-2.0.0"
       sources."which-boxed-primitive-1.0.2"
       sources."which-collection-1.0.1"
       sources."which-module-2.0.0"
-      sources."which-typed-array-1.1.4"
+      sources."which-typed-array-1.1.6"
       sources."wrap-ansi-7.0.0"
       sources."xmlbuilder-15.1.1"
-      sources."xmldom-0.6.0"
       sources."y18n-5.0.8"
       sources."yallist-4.0.0"
       sources."yaml-1.10.2"
@@ -71621,94 +73427,263 @@ in
   cdktf-cli = nodeEnv.buildNodePackage {
     name = "cdktf-cli";
     packageName = "cdktf-cli";
-    version = "0.4.1";
+    version = "0.5.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/cdktf-cli/-/cdktf-cli-0.4.1.tgz";
-      sha512 = "bDK7F4MQFFgzkZBoxMimSu297IJ4duhG1ZpOGG/YcQ9MF/IuIKqlxV6WhWUEfPupnSuZuDQMNCRf/PhKsWcy9Q==";
+      url = "https://registry.npmjs.org/cdktf-cli/-/cdktf-cli-0.5.0.tgz";
+      sha512 = "53HldFlYJdptaQ9yZyx8xuN0pxmBwI7yaVImmPwGmauoOYWsO89YrAjyPIiAaR+GWI8avbQeg3jz5Z1Q+MoIGA==";
     };
     dependencies = [
-      sources."@cdktf/hcl2json-0.4.1"
-      sources."@jsii/spec-1.31.0"
+      sources."@apollo/client-3.4.9"
+      (sources."@apollo/protobufjs-1.2.2" // {
+        dependencies = [
+          sources."@types/node-10.17.60"
+        ];
+      })
+      sources."@apollographql/apollo-tools-0.5.1"
+      sources."@apollographql/graphql-playground-html-1.6.29"
+      (sources."@ardatan/aggregate-error-0.0.6" // {
+        dependencies = [
+          sources."tslib-2.0.3"
+        ];
+      })
+      sources."@babel/code-frame-7.14.5"
+      sources."@babel/generator-7.15.0"
+      sources."@babel/helper-validator-identifier-7.14.9"
+      (sources."@babel/highlight-7.14.5" // {
+        dependencies = [
+          sources."chalk-2.4.2"
+        ];
+      })
+      sources."@babel/parser-7.15.3"
+      sources."@babel/template-7.14.5"
+      sources."@babel/types-7.15.0"
+      sources."@cdktf/hcl2cdk-0.5.0"
+      sources."@cdktf/hcl2json-0.5.0"
+      (sources."@graphql-tools/graphql-file-loader-6.2.7" // {
+        dependencies = [
+          sources."tslib-2.1.0"
+        ];
+      })
+      (sources."@graphql-tools/import-6.3.1" // {
+        dependencies = [
+          sources."tslib-2.2.0"
+        ];
+      })
+      (sources."@graphql-tools/load-6.2.8" // {
+        dependencies = [
+          sources."tslib-2.2.0"
+        ];
+      })
+      (sources."@graphql-tools/merge-6.2.17" // {
+        dependencies = [
+          sources."@graphql-tools/utils-8.0.2"
+        ];
+      })
+      (sources."@graphql-tools/mock-8.2.2" // {
+        dependencies = [
+          sources."@graphql-tools/utils-8.1.2"
+        ];
+      })
+      (sources."@graphql-tools/schema-8.1.2" // {
+        dependencies = [
+          sources."@graphql-tools/merge-8.0.3"
+          sources."@graphql-tools/utils-8.1.2"
+        ];
+      })
+      (sources."@graphql-tools/utils-7.10.0" // {
+        dependencies = [
+          sources."tslib-2.2.0"
+        ];
+      })
+      sources."@graphql-typed-document-node/core-3.1.0"
+      sources."@josephg/resolvable-1.0.1"
+      sources."@jsii/check-node-1.34.0"
+      sources."@jsii/spec-1.34.0"
+      sources."@nodelib/fs.scandir-2.1.5"
+      sources."@nodelib/fs.stat-2.0.5"
+      sources."@nodelib/fs.walk-1.2.8"
+      sources."@protobufjs/aspromise-1.1.2"
+      sources."@protobufjs/base64-1.1.2"
+      sources."@protobufjs/codegen-2.0.4"
+      sources."@protobufjs/eventemitter-1.1.0"
+      sources."@protobufjs/fetch-1.1.0"
+      sources."@protobufjs/float-1.0.2"
+      sources."@protobufjs/inquire-1.1.0"
+      sources."@protobufjs/path-1.1.2"
+      sources."@protobufjs/pool-1.1.0"
+      sources."@protobufjs/utf8-1.1.0"
       sources."@skorfmann/ink-confirm-input-3.0.0"
       sources."@skorfmann/terraform-cloud-1.10.1"
-      sources."@types/node-14.17.5"
-      sources."@types/node-fetch-2.5.11"
+      sources."@types/accepts-1.3.5"
+      sources."@types/body-parser-1.19.1"
+      sources."@types/connect-3.4.35"
+      sources."@types/cors-2.8.12"
+      sources."@types/express-4.17.13"
+      sources."@types/express-serve-static-core-4.17.24"
+      sources."@types/long-4.0.1"
+      sources."@types/mime-1.3.2"
+      sources."@types/node-14.17.12"
+      sources."@types/node-fetch-2.5.12"
+      sources."@types/qs-6.9.7"
+      sources."@types/range-parser-1.2.4"
+      sources."@types/serve-static-1.13.10"
       sources."@types/yauzl-2.9.2"
       sources."@types/yoga-layout-1.9.2"
+      sources."@wry/context-0.6.1"
+      sources."@wry/equality-0.5.2"
+      sources."@wry/trie-0.3.1"
+      sources."@xmldom/xmldom-0.7.2"
+      sources."accepts-1.3.7"
+      sources."address-1.1.2"
       (sources."ansi-escapes-4.3.2" // {
         dependencies = [
           sources."type-fest-0.21.3"
         ];
       })
       sources."ansi-regex-5.0.0"
-      sources."ansi-styles-4.3.0"
+      sources."ansi-styles-3.2.1"
+      (sources."anymatch-3.1.2" // {
+        dependencies = [
+          sources."normalize-path-3.0.0"
+        ];
+      })
+      sources."apollo-datasource-3.1.0"
+      sources."apollo-graphql-0.9.3"
+      sources."apollo-reporting-protobuf-3.0.0"
+      sources."apollo-server-caching-3.1.0"
+      (sources."apollo-server-core-3.3.0" // {
+        dependencies = [
+          sources."@graphql-tools/utils-8.1.2"
+        ];
+      })
+      sources."apollo-server-env-4.0.3"
+      sources."apollo-server-errors-3.1.0"
+      sources."apollo-server-express-3.3.0"
+      sources."apollo-server-plugin-base-3.2.0"
+      sources."apollo-server-types-3.2.0"
       sources."archiver-5.3.0"
       (sources."archiver-utils-2.1.0" // {
         dependencies = [
+          sources."normalize-path-3.0.0"
           sources."readable-stream-2.3.7"
+          sources."safe-buffer-5.1.2"
         ];
       })
+      sources."array-flatten-1.1.1"
+      sources."array-union-2.1.0"
       sources."astral-regex-2.0.0"
-      sources."async-3.2.0"
+      sources."async-3.2.1"
+      sources."async-retry-1.3.3"
       sources."asynckit-0.4.0"
       sources."at-least-node-1.0.0"
       sources."auto-bind-4.0.0"
       sources."available-typed-arrays-1.0.4"
       sources."axios-0.21.1"
+      sources."backo2-1.0.2"
       sources."balanced-match-1.0.2"
       sources."base64-js-1.5.1"
+      sources."binary-extensions-2.2.0"
       sources."bl-4.1.0"
+      sources."body-parser-1.19.0"
       sources."brace-expansion-1.1.11"
+      sources."braces-3.0.2"
       sources."buffer-5.7.1"
       sources."buffer-crc32-0.2.13"
+      sources."bytes-3.1.0"
       sources."call-bind-1.0.2"
-      sources."camelcase-5.3.1"
-      sources."camelcase-keys-6.2.2"
+      sources."camel-case-4.1.2"
+      sources."camelcase-6.2.0"
+      (sources."camelcase-keys-6.2.2" // {
+        dependencies = [
+          sources."camelcase-5.3.1"
+        ];
+      })
       sources."case-1.6.3"
-      sources."cdktf-0.4.1"
-      sources."chalk-4.1.1"
+      sources."cdktf-0.5.0"
+      (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."has-flag-4.0.0"
+          sources."supports-color-7.2.0"
+        ];
+      })
+      sources."chardet-0.7.0"
+      (sources."chokidar-3.5.2" // {
+        dependencies = [
+          sources."normalize-path-3.0.0"
+        ];
+      })
       sources."ci-info-2.0.0"
       sources."cli-boxes-2.2.1"
       sources."cli-cursor-3.1.0"
       sources."cli-spinners-2.6.0"
       sources."cli-truncate-2.1.0"
-      (sources."cliui-7.0.4" // {
+      sources."cli-width-3.0.0"
+      sources."cliui-7.0.4"
+      sources."clone-1.0.4"
+      sources."code-excerpt-3.0.0"
+      (sources."codemaker-0.22.0" // {
         dependencies = [
-          sources."wrap-ansi-7.0.0"
+          sources."camelcase-5.3.1"
         ];
       })
-      sources."clone-2.1.2"
-      sources."code-excerpt-3.0.0"
-      sources."codemaker-0.22.0"
-      sources."color-convert-2.0.1"
-      sources."color-name-1.1.4"
+      sources."color-convert-1.9.3"
+      sources."color-name-1.1.3"
       sources."colors-1.4.0"
       sources."combined-stream-1.0.8"
-      sources."commonmark-0.29.3"
-      sources."compress-commons-4.1.1"
+      sources."commander-2.20.3"
+      sources."commonmark-0.30.0"
+      (sources."compress-commons-4.1.1" // {
+        dependencies = [
+          sources."normalize-path-3.0.0"
+        ];
+      })
       sources."concat-map-0.0.1"
-      sources."constructs-3.3.99"
+      sources."constructs-3.3.133"
+      (sources."content-disposition-0.5.3" // {
+        dependencies = [
+          sources."safe-buffer-5.1.2"
+        ];
+      })
+      sources."content-type-1.0.4"
       sources."convert-to-spaces-1.0.2"
+      sources."cookie-0.4.0"
+      sources."cookie-signature-1.0.6"
+      sources."core-js-pure-3.16.3"
       sources."core-util-is-1.0.2"
+      sources."cors-2.8.5"
       sources."crc-32-1.2.0"
       sources."crc32-stream-4.0.2"
+      sources."cross-fetch-3.1.4"
+      sources."cross-spawn-7.0.3"
+      sources."cssfilter-0.0.10"
+      sources."date-fns-2.23.0"
       sources."date-format-3.0.0"
-      sources."debug-4.3.2"
+      sources."debug-2.6.9"
       sources."decamelize-1.2.0"
       (sources."deep-equal-2.0.5" // {
         dependencies = [
           sources."isarray-2.0.5"
         ];
       })
+      sources."defaults-1.0.3"
       sources."define-properties-1.1.3"
       sources."delay-5.0.0"
       sources."delayed-stream-1.0.0"
+      sources."depd-1.1.2"
+      sources."destroy-1.0.4"
       sources."detect-indent-5.0.0"
       sources."detect-newline-2.1.0"
+      sources."detect-port-1.3.0"
+      sources."dir-glob-3.0.1"
+      sources."ee-first-1.1.1"
       sources."emoji-regex-8.0.0"
+      sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.4"
       sources."entities-2.0.3"
-      sources."es-abstract-1.18.3"
+      sources."es-abstract-1.18.5"
       (sources."es-get-iterator-1.1.2" // {
         dependencies = [
           sources."isarray-2.0.5"
@@ -71716,108 +73691,167 @@ in
       })
       sources."es-to-primitive-1.2.1"
       sources."escalade-3.1.1"
-      sources."escape-string-regexp-2.0.0"
+      sources."escape-html-1.0.3"
+      sources."escape-string-regexp-1.0.5"
+      sources."etag-1.8.1"
+      sources."eventemitter3-3.1.2"
+      sources."events-3.3.0"
+      sources."execa-5.1.1"
       sources."exit-on-epipe-1.0.1"
-      sources."extract-zip-2.0.1"
+      (sources."express-4.17.1" // {
+        dependencies = [
+          sources."safe-buffer-5.1.2"
+        ];
+      })
+      sources."external-editor-3.1.0"
+      (sources."extract-zip-2.0.1" // {
+        dependencies = [
+          sources."debug-4.3.2"
+          sources."get-stream-5.2.0"
+          sources."ms-2.1.2"
+        ];
+      })
+      sources."fast-glob-3.2.7"
+      sources."fast-json-stable-stringify-2.1.0"
+      sources."fastq-1.12.0"
       sources."fd-slicer-1.1.0"
+      sources."figures-3.2.0"
+      sources."fill-range-7.0.1"
+      sources."finalhandler-1.1.2"
       sources."find-up-4.1.0"
       sources."flatted-2.0.2"
-      sources."follow-redirects-1.14.1"
+      sources."follow-redirects-1.14.2"
       sources."foreach-2.0.5"
       sources."form-data-3.0.1"
+      sources."forwarded-0.2.0"
+      sources."fresh-0.5.2"
       sources."fs-constants-1.0.0"
-      sources."fs-extra-8.1.0"
+      (sources."fs-extra-8.1.0" // {
+        dependencies = [
+          sources."jsonfile-4.0.0"
+          sources."universalify-0.1.2"
+        ];
+      })
       sources."fs.realpath-1.0.0"
+      sources."fsevents-2.3.2"
       sources."function-bind-1.1.1"
       sources."get-caller-file-2.0.5"
       sources."get-intrinsic-1.1.1"
-      sources."get-stream-5.2.0"
+      sources."get-stream-6.0.1"
       sources."glob-7.1.7"
-      sources."graceful-fs-4.2.6"
+      sources."glob-parent-5.1.2"
+      sources."globby-11.0.3"
+      sources."graceful-fs-4.2.8"
+      sources."graphology-0.20.0"
+      sources."graphology-types-0.19.3"
+      sources."graphql-15.5.1"
+      sources."graphql-subscriptions-1.2.1"
+      sources."graphql-tag-2.12.5"
       sources."has-1.0.3"
       sources."has-bigints-1.0.1"
-      sources."has-flag-4.0.0"
+      sources."has-flag-3.0.0"
       sources."has-symbols-1.0.2"
+      sources."has-tostringtag-1.0.0"
+      sources."hoist-non-react-statics-3.3.2"
+      (sources."http-errors-1.7.2" // {
+        dependencies = [
+          sources."inherits-2.0.3"
+        ];
+      })
+      sources."human-signals-2.1.0"
+      sources."iconv-lite-0.4.24"
       sources."ieee754-1.2.1"
+      sources."ignore-5.1.8"
+      sources."import-from-3.0.0"
       sources."indent-string-4.0.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       (sources."ink-3.0.9" // {
         dependencies = [
+          sources."ansi-styles-4.3.0"
+          sources."color-convert-2.0.1"
+          sources."color-name-1.1.4"
           sources."type-fest-0.12.0"
+          sources."wrap-ansi-6.2.0"
         ];
       })
       sources."ink-spinner-4.0.2"
       sources."ink-text-input-4.0.1"
-      sources."is-arguments-1.1.0"
-      sources."is-bigint-1.0.2"
-      sources."is-boolean-object-1.1.1"
-      sources."is-callable-1.2.3"
+      sources."ink-use-stdout-dimensions-1.0.5"
+      sources."inquirer-8.1.2"
+      sources."internal-slot-1.0.3"
+      sources."ipaddr.js-1.9.1"
+      sources."is-arguments-1.1.1"
+      sources."is-bigint-1.0.4"
+      sources."is-binary-path-2.1.0"
+      sources."is-boolean-object-1.1.2"
+      sources."is-callable-1.2.4"
       sources."is-ci-2.0.0"
-      sources."is-date-object-1.0.4"
+      sources."is-date-object-1.0.5"
       sources."is-docker-2.2.1"
+      sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
+      sources."is-glob-4.0.1"
+      sources."is-interactive-1.0.0"
       sources."is-map-2.0.2"
       sources."is-negative-zero-2.0.1"
-      sources."is-number-object-1.0.5"
-      sources."is-regex-1.1.3"
+      sources."is-number-7.0.0"
+      sources."is-number-object-1.0.6"
+      sources."is-regex-1.1.4"
       sources."is-set-2.0.2"
-      sources."is-string-1.0.6"
+      sources."is-stream-2.0.1"
+      sources."is-string-1.0.7"
       sources."is-symbol-1.0.4"
-      sources."is-typed-array-1.1.5"
+      sources."is-typed-array-1.1.7"
+      sources."is-unicode-supported-0.1.0"
+      sources."is-valid-domain-0.1.2"
       sources."is-weakmap-2.0.1"
       sources."is-weakset-2.0.1"
       sources."is-wsl-2.2.0"
       sources."isarray-1.0.0"
+      sources."isexe-2.0.0"
+      sources."iterall-1.3.0"
       sources."js-tokens-4.0.0"
-      (sources."jsii-1.31.0" // {
+      sources."jsesc-2.5.2"
+      (sources."jsii-1.34.0" // {
         dependencies = [
           sources."fs-extra-9.1.0"
-          sources."jsonfile-6.1.0"
-          sources."universalify-2.0.0"
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-pacmak-1.31.0" // {
+      (sources."jsii-pacmak-1.34.0" // {
         dependencies = [
-          sources."camelcase-6.2.0"
-          sources."codemaker-1.31.0"
+          sources."clone-2.1.2"
+          sources."codemaker-1.34.0"
           sources."decamelize-5.0.0"
           sources."escape-string-regexp-4.0.0"
           sources."fs-extra-9.1.0"
-          sources."jsonfile-6.1.0"
-          sources."universalify-2.0.0"
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-reflect-1.31.0" // {
+      (sources."jsii-reflect-1.34.0" // {
         dependencies = [
           sources."fs-extra-9.1.0"
-          sources."jsonfile-6.1.0"
-          sources."universalify-2.0.0"
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-rosetta-1.31.0" // {
+      (sources."jsii-rosetta-1.34.0" // {
         dependencies = [
           sources."fs-extra-9.1.0"
-          sources."jsonfile-6.1.0"
-          sources."universalify-2.0.0"
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-srcmak-0.1.302" // {
+      (sources."jsii-srcmak-0.1.335" // {
         dependencies = [
           sources."fs-extra-9.1.0"
-          sources."jsonfile-6.1.0"
-          sources."universalify-2.0.0"
         ];
       })
-      sources."jsonfile-4.0.0"
+      sources."jsonfile-6.1.0"
       sources."jsonschema-1.4.0"
       (sources."lazystream-1.0.0" // {
         dependencies = [
           sources."readable-stream-2.3.7"
+          sources."safe-buffer-5.1.2"
         ];
       })
       sources."locate-path-5.0.0"
@@ -71825,56 +73859,114 @@ in
       sources."lodash.defaults-4.2.0"
       sources."lodash.difference-4.5.0"
       sources."lodash.flatten-4.4.0"
+      sources."lodash.isequal-4.5.0"
       sources."lodash.isplainobject-4.0.6"
+      sources."lodash.sortby-4.7.0"
       sources."lodash.union-4.6.0"
-      sources."log4js-6.3.0"
+      sources."log-symbols-4.1.0"
+      (sources."log4js-6.3.0" // {
+        dependencies = [
+          sources."debug-4.3.2"
+          sources."ms-2.1.2"
+        ];
+      })
+      sources."loglevel-1.7.1"
+      sources."long-4.0.0"
       sources."loose-envify-1.4.0"
+      sources."lower-case-2.0.2"
       sources."lru-cache-6.0.0"
       sources."map-obj-4.2.1"
       sources."mdurl-1.0.1"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."media-typer-0.3.0"
+      sources."merge-descriptors-1.0.1"
+      sources."merge-stream-2.0.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.49.0"
+      sources."mime-types-2.1.32"
       sources."mimic-fn-2.1.0"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
-      sources."ms-2.1.2"
+      sources."ms-2.0.0"
+      sources."mute-stream-0.0.8"
       sources."ncp-2.0.0"
+      sources."negotiator-0.6.2"
+      sources."no-case-3.0.4"
       sources."node-fetch-2.6.1"
-      sources."normalize-path-3.0.0"
+      sources."normalize-path-2.1.1"
+      sources."npm-run-path-4.0.1"
       sources."object-assign-4.1.1"
       sources."object-inspect-1.11.0"
       sources."object-is-1.1.5"
       sources."object-keys-1.1.1"
       sources."object.assign-4.1.2"
+      sources."obliterator-1.6.1"
+      sources."on-finished-2.3.0"
       sources."once-1.4.0"
       sources."onetime-5.1.2"
-      sources."oo-ascii-tree-1.31.0"
+      sources."oo-ascii-tree-1.34.0"
       sources."open-7.4.2"
-      sources."p-limit-2.3.0"
-      sources."p-locate-4.1.0"
+      sources."optimism-0.16.1"
+      sources."ora-5.4.1"
+      sources."os-tmpdir-1.0.2"
+      sources."p-limit-3.1.0"
+      (sources."p-locate-4.1.0" // {
+        dependencies = [
+          sources."p-limit-2.3.0"
+        ];
+      })
       sources."p-try-2.2.0"
+      sources."parse-gitignore-1.0.1"
+      sources."parseurl-1.3.3"
+      sources."pascal-case-3.1.2"
       sources."patch-console-1.0.0"
       sources."path-exists-4.0.0"
       sources."path-is-absolute-1.0.1"
+      sources."path-key-3.1.1"
+      sources."path-to-regexp-0.1.7"
+      sources."path-type-4.0.0"
       sources."pend-1.2.0"
+      sources."picomatch-2.3.0"
+      sources."prettier-2.3.2"
       sources."printj-1.1.2"
       sources."process-nextick-args-2.0.1"
       sources."prop-types-15.7.2"
+      sources."proxy-addr-2.0.7"
       sources."pump-3.0.0"
+      sources."punycode-2.1.1"
+      sources."qs-6.7.0"
+      sources."queue-microtask-1.2.3"
       sources."quick-lru-4.0.1"
+      sources."range-parser-1.2.1"
+      sources."raw-body-2.4.0"
       sources."react-16.14.0"
-      sources."react-devtools-core-4.14.0"
+      sources."react-devtools-core-4.17.0"
       sources."react-is-16.13.1"
       sources."react-reconciler-0.24.0"
       sources."readable-stream-3.6.0"
       sources."readdir-glob-1.1.1"
-      sources."readline-sync-1.4.10"
+      sources."readdirp-3.6.0"
       sources."regexp.prototype.flags-1.3.1"
+      sources."remove-trailing-separator-1.1.0"
       sources."require-directory-2.1.1"
       sources."require-main-filename-2.0.0"
+      sources."reserved-words-0.1.2"
+      sources."resolve-from-5.0.0"
       sources."restore-cursor-3.1.0"
+      sources."retry-0.13.1"
+      sources."reusify-1.0.4"
       sources."rfdc-1.3.0"
-      sources."safe-buffer-5.1.2"
+      sources."run-async-2.4.1"
+      sources."run-parallel-1.2.0"
+      (sources."rxjs-7.3.0" // {
+        dependencies = [
+          sources."tslib-2.1.0"
+        ];
+      })
+      sources."safe-buffer-5.2.1"
+      sources."safer-buffer-2.1.2"
       sources."scheduler-0.18.0"
       sources."semver-7.3.5"
       (sources."semver-intersect-1.4.0" // {
@@ -71882,50 +73974,114 @@ in
           sources."semver-5.7.1"
         ];
       })
+      (sources."send-0.17.1" // {
+        dependencies = [
+          sources."ms-2.1.1"
+        ];
+      })
+      sources."serve-static-1.14.1"
       sources."set-blocking-2.0.0"
+      sources."setprototypeof-1.1.1"
+      sources."sha.js-2.4.11"
+      sources."shebang-command-2.0.0"
+      sources."shebang-regex-3.0.0"
       sources."shell-quote-1.7.2"
       sources."side-channel-1.0.4"
       sources."signal-exit-3.0.3"
-      sources."slice-ansi-3.0.0"
+      sources."slash-3.0.0"
+      (sources."slice-ansi-3.0.0" // {
+        dependencies = [
+          sources."ansi-styles-4.3.0"
+          sources."color-convert-2.0.1"
+          sources."color-name-1.1.4"
+        ];
+      })
       sources."sort-json-2.0.0"
+      sources."source-map-0.5.7"
       sources."spdx-license-list-6.4.0"
-      sources."sscaff-1.2.22"
-      sources."stack-utils-2.0.3"
+      sources."sscaff-1.2.54"
+      (sources."stack-utils-2.0.3" // {
+        dependencies = [
+          sources."escape-string-regexp-2.0.0"
+        ];
+      })
+      sources."statuses-1.5.0"
       sources."stream-buffers-3.0.2"
       (sources."streamroller-2.2.4" // {
         dependencies = [
           sources."date-format-2.1.0"
+          sources."debug-4.3.2"
+          sources."ms-2.1.2"
         ];
       })
       sources."string-width-4.2.2"
       sources."string.prototype.repeat-0.2.0"
       sources."string.prototype.trimend-1.0.4"
       sources."string.prototype.trimstart-1.0.4"
-      sources."string_decoder-1.1.1"
+      (sources."string_decoder-1.1.1" // {
+        dependencies = [
+          sources."safe-buffer-5.1.2"
+        ];
+      })
       sources."strip-ansi-6.0.0"
-      sources."supports-color-7.2.0"
+      sources."strip-final-newline-2.0.0"
+      (sources."subscriptions-transport-ws-0.9.19" // {
+        dependencies = [
+          sources."symbol-observable-1.2.0"
+        ];
+      })
+      sources."supports-color-5.5.0"
+      sources."symbol-observable-4.0.0"
       sources."tar-stream-2.2.0"
+      sources."through-2.3.8"
+      sources."tmp-0.0.33"
+      sources."to-fast-properties-2.0.0"
+      sources."to-regex-range-5.0.1"
+      sources."toidentifier-1.0.0"
+      sources."ts-invariant-0.9.1"
+      sources."tslib-2.3.1"
       sources."type-fest-0.15.1"
+      sources."type-is-1.6.18"
       sources."typescript-3.9.10"
       sources."unbox-primitive-1.0.1"
-      sources."universalify-0.1.2"
+      sources."universalify-2.0.0"
+      sources."unixify-1.0.0"
+      sources."unpipe-1.0.0"
       sources."util-deprecate-1.0.2"
+      sources."utility-types-3.10.0"
+      sources."utils-merge-1.0.1"
       sources."uuid-8.3.2"
+      sources."valid-url-1.0.9"
+      sources."value-or-promise-1.0.10"
+      sources."vary-1.1.2"
+      sources."wcwidth-1.0.1"
+      sources."which-2.0.2"
       sources."which-boxed-primitive-1.0.2"
       sources."which-collection-1.0.1"
       sources."which-module-2.0.0"
-      sources."which-typed-array-1.1.4"
+      sources."which-typed-array-1.1.6"
       sources."widest-line-3.1.0"
-      sources."wrap-ansi-6.2.0"
+      (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."wrappy-1.0.2"
       sources."ws-7.5.3"
       sources."xmlbuilder-15.1.1"
-      sources."xmldom-0.6.0"
+      sources."xss-1.0.9"
       sources."y18n-5.0.8"
       sources."yallist-4.0.0"
       (sources."yargs-15.4.1" // {
         dependencies = [
+          sources."ansi-styles-4.3.0"
+          sources."camelcase-5.3.1"
           sources."cliui-6.0.0"
+          sources."color-convert-2.0.1"
+          sources."color-name-1.1.4"
+          sources."wrap-ansi-6.2.0"
           sources."y18n-4.0.3"
           sources."yargs-parser-18.1.3"
         ];
@@ -71933,8 +74089,12 @@ in
       sources."yargs-parser-20.2.9"
       sources."yauzl-2.10.0"
       sources."yn-3.1.1"
+      sources."yocto-queue-0.1.0"
       sources."yoga-layout-prebuilt-1.10.0"
+      sources."zen-observable-0.8.15"
+      sources."zen-observable-ts-1.2.0"
       sources."zip-stream-4.1.0"
+      sources."zod-1.11.17"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -71949,15 +74109,15 @@ in
   clean-css-cli = nodeEnv.buildNodePackage {
     name = "clean-css-cli";
     packageName = "clean-css-cli";
-    version = "5.3.0";
+    version = "5.3.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/clean-css-cli/-/clean-css-cli-5.3.0.tgz";
-      sha512 = "Jri2KVAcan/Y1JuEDo1rUlm3vUoGvMKSOpIL2YEPgalksvoGur/yL2KbtMF2dPs2VlMVj1afzp76Vu0KjxKfvA==";
+      url = "https://registry.npmjs.org/clean-css-cli/-/clean-css-cli-5.3.3.tgz";
+      sha512 = "Reo/w25/3J2uRL4EFHvo92Tv97uhefyHranTpxXNqQ7iIRB8oxRNVlXC+Xcq8RWO2LjSyOofrb7AU6I6oXpPpA==";
     };
     dependencies = [
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
-      sources."clean-css-5.1.3"
+      sources."clean-css-5.1.5"
       sources."commander-7.2.0"
       sources."concat-map-0.0.1"
       sources."fs.realpath-1.0.0"
@@ -71973,7 +74133,102 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "A command-line interface to clean-css CSS optimization library";
-      homepage = "https://github.com/jakubpawlowicz/clean-css-cli#readme";
+      homepage = "https://github.com/clean-css/clean-css-cli#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  clipboard-cli = nodeEnv.buildNodePackage {
+    name = "clipboard-cli";
+    packageName = "clipboard-cli";
+    version = "2.0.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/clipboard-cli/-/clipboard-cli-2.0.1.tgz";
+      sha512 = "ze7ASsXpF2J27QMq5or4VZZcX9X+E8XtsvFXaRwdLBON0UjnXfIWykgIzffSmrdfHOw/8rAufyOE58+/OU1eGw==";
+    };
+    dependencies = [
+      sources."arch-2.2.0"
+      sources."array-find-index-1.0.2"
+      sources."arrify-1.0.1"
+      sources."camelcase-4.1.0"
+      sources."camelcase-keys-4.2.0"
+      sources."clipboardy-2.3.0"
+      sources."cross-spawn-6.0.5"
+      sources."currently-unhandled-0.4.1"
+      sources."decamelize-1.2.0"
+      (sources."decamelize-keys-1.1.0" // {
+        dependencies = [
+          sources."map-obj-1.0.1"
+        ];
+      })
+      sources."end-of-stream-1.4.4"
+      sources."error-ex-1.3.2"
+      sources."execa-1.0.0"
+      sources."find-up-2.1.0"
+      sources."function-bind-1.1.1"
+      sources."get-stdin-7.0.0"
+      sources."get-stream-4.1.0"
+      sources."graceful-fs-4.2.8"
+      sources."has-1.0.3"
+      sources."hosted-git-info-2.8.9"
+      sources."indent-string-3.2.0"
+      sources."is-arrayish-0.2.1"
+      sources."is-core-module-2.6.0"
+      sources."is-docker-2.2.1"
+      sources."is-plain-obj-1.1.0"
+      sources."is-stream-1.1.0"
+      sources."is-wsl-2.2.0"
+      sources."isexe-2.0.0"
+      sources."json-parse-better-errors-1.0.2"
+      sources."load-json-file-4.0.0"
+      sources."locate-path-2.0.0"
+      sources."loud-rejection-1.6.0"
+      sources."map-obj-2.0.0"
+      sources."meow-5.0.0"
+      sources."minimist-options-3.0.2"
+      sources."nice-try-1.0.5"
+      sources."normalize-package-data-2.5.0"
+      sources."npm-run-path-2.0.2"
+      sources."once-1.4.0"
+      sources."p-finally-1.0.0"
+      sources."p-limit-1.3.0"
+      sources."p-locate-2.0.0"
+      sources."p-try-1.0.0"
+      sources."parse-json-4.0.0"
+      sources."path-exists-3.0.0"
+      sources."path-key-2.0.1"
+      sources."path-parse-1.0.7"
+      sources."path-type-3.0.0"
+      sources."pify-3.0.0"
+      sources."pump-3.0.0"
+      sources."quick-lru-1.1.0"
+      sources."read-pkg-3.0.0"
+      sources."read-pkg-up-3.0.0"
+      sources."redent-2.0.0"
+      sources."resolve-1.20.0"
+      sources."semver-5.7.1"
+      sources."shebang-command-1.2.0"
+      sources."shebang-regex-1.0.0"
+      sources."signal-exit-3.0.3"
+      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.10"
+      sources."strip-bom-3.0.0"
+      sources."strip-eof-1.0.0"
+      sources."strip-indent-2.0.0"
+      sources."trim-newlines-2.0.0"
+      sources."validate-npm-package-license-3.0.4"
+      sources."which-1.3.1"
+      sources."wrappy-1.0.2"
+      sources."yargs-parser-10.1.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Access the system clipboard (copy/paste)";
+      homepage = "https://github.com/sindresorhus/clipboard-cli#readme";
       license = "MIT";
     };
     production = true;
@@ -71991,8 +74246,6 @@ in
     dependencies = [
       sources."ansi-styles-3.2.1"
       sources."async-0.9.2"
-      sources."balanced-match-1.0.2"
-      sources."brace-expansion-1.1.11"
       sources."chalk-2.4.2"
       sources."cli-spinner-0.2.10"
       sources."clubhouse-lib-0.10.0"
@@ -72000,42 +74253,28 @@ in
       sources."color-name-1.1.3"
       sources."colors-1.4.0"
       sources."commander-2.20.3"
-      sources."concat-map-0.0.1"
       sources."cycle-1.0.3"
       sources."debug-4.3.2"
       sources."decode-uri-component-0.2.0"
-      sources."deep-equal-0.2.2"
       sources."encoding-0.1.13"
       sources."escape-string-regexp-1.0.5"
       sources."eyes-0.1.8"
       sources."fetch-everywhere-1.0.5"
       sources."filter-obj-1.1.0"
-      sources."fs.realpath-1.0.0"
-      sources."glob-7.1.7"
       sources."has-flag-3.0.0"
       sources."hasurl-1.0.0"
-      sources."i-0.3.6"
       sources."iconv-lite-0.6.3"
-      sources."inflight-1.0.6"
-      sources."inherits-2.0.4"
       sources."is-stream-1.1.0"
       sources."isstream-0.1.2"
       sources."lodash.sortby-4.7.0"
-      sources."minimatch-3.0.4"
-      sources."minimist-1.2.5"
-      sources."mkdirp-0.5.5"
       sources."ms-2.1.2"
       sources."mute-stream-0.0.8"
-      sources."ncp-1.0.1"
       sources."node-fetch-1.7.3"
-      sources."once-1.4.0"
-      sources."path-is-absolute-1.0.1"
-      sources."prompt-1.1.0"
+      sources."prompt-1.2.0"
       sources."punycode-2.1.1"
       sources."query-string-6.14.1"
       sources."read-1.0.7"
       sources."revalidator-0.1.8"
-      sources."rimraf-2.7.1"
       sources."safer-buffer-2.1.2"
       sources."split-on-first-1.1.0"
       sources."stack-trace-0.0.10"
@@ -72043,7 +74282,6 @@ in
       sources."supports-color-5.5.0"
       sources."tr46-1.0.1"
       sources."universal-url-2.0.0"
-      sources."utile-0.3.0"
       sources."webidl-conversions-4.0.2"
       sources."whatwg-fetch-3.6.2"
       sources."whatwg-url-7.1.0"
@@ -72053,7 +74291,6 @@ in
           sources."colors-1.0.3"
         ];
       })
-      sources."wrappy-1.0.2"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -72068,10 +74305,10 @@ in
   coc-clangd = nodeEnv.buildNodePackage {
     name = "coc-clangd";
     packageName = "coc-clangd";
-    version = "0.12.0";
+    version = "0.14.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-clangd/-/coc-clangd-0.12.0.tgz";
-      sha512 = "nRKGxCQLNKvi38q8QIVM+tvGpqEpi1NugCcrRTQfTF78PXofct6ImtVu9aLKDqoq3cAJk9CmngXLPEj+sdgYzQ==";
+      url = "https://registry.npmjs.org/coc-clangd/-/coc-clangd-0.14.0.tgz";
+      sha512 = "CxeuK0gr5GKnswwuTKgWmRm3/KEmzeH0T8sV1AIRYuB/vZ61kBMplgb9fRvrNI540pKDR2xqWs5XZk6NyitPgA==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -72121,10 +74358,10 @@ in
   coc-diagnostic = nodeEnv.buildNodePackage {
     name = "coc-diagnostic";
     packageName = "coc-diagnostic";
-    version = "0.20.0";
+    version = "0.22.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-diagnostic/-/coc-diagnostic-0.20.0.tgz";
-      sha512 = "iKMyYYkebv31l1LB0EbZtwQ4DeVW0dUh9nXwE0tG3LDahcUNzNi1eXGWeNVxcy+YhWmaLEkLgKTu9DE4zxpACQ==";
+      url = "https://registry.npmjs.org/coc-diagnostic/-/coc-diagnostic-0.22.1.tgz";
+      sha512 = "ejpSHqbHDl6cW6H0LXCktHpYriMVk+k3cLB7+JGYM44pTOPNwnXmOZKRCk62kFHIOk0YsHM/F/LnHiGf9+YImw==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -72180,10 +74417,10 @@ in
   coc-explorer = nodeEnv.buildNodePackage {
     name = "coc-explorer";
     packageName = "coc-explorer";
-    version = "0.18.11";
+    version = "0.18.16";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-explorer/-/coc-explorer-0.18.11.tgz";
-      sha512 = "L16wPMe5iDrprv5JNlTBtTd3WmRM+kLN9u+lQTDFpj0t6WxE16WzCm2Ktl1jzgpGY+xcdGakbZAL2y9bLXaJqg==";
+      url = "https://registry.npmjs.org/coc-explorer/-/coc-explorer-0.18.16.tgz";
+      sha512 = "sFk/5y7v/ITvuIeLia4VYRvQvD4fXgOI/Z3iS+1etkxuhiQo5fDwkRACWL6B4kRn6SWIn2scHyt49ePx1LURNg==";
     };
     dependencies = [
       sources."@sindresorhus/df-3.1.1"
@@ -72210,7 +74447,7 @@ in
       sources."inherits-2.0.4"
       sources."is-docker-2.2.1"
       sources."is-path-inside-3.0.3"
-      sources."is-stream-2.0.0"
+      sources."is-stream-2.0.1"
       sources."is-wsl-2.2.0"
       sources."isexe-2.0.0"
       sources."make-dir-3.1.0"
@@ -72266,10 +74503,10 @@ in
   coc-git = nodeEnv.buildNodePackage {
     name = "coc-git";
     packageName = "coc-git";
-    version = "2.4.1";
+    version = "2.4.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-git/-/coc-git-2.4.1.tgz";
-      sha512 = "CgBUD5qPMvbdTUKTIaeKPxmJSieVJNK3JS1PPgr4ivIXqXYZ4ECP4DM7jmnkA+BnK9Xvz1FnlebUTxTv3z/IFQ==";
+      url = "https://registry.npmjs.org/coc-git/-/coc-git-2.4.3.tgz";
+      sha512 = "JJq0jIXe4UyOI51JkyqQYPoAVXkTYWUuYBpWI/FMEDC/RVF8myL42GmqAZN3ikGhO/ErA/r4KmVhhb1UrfQqIQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -72292,7 +74529,7 @@ in
     dependencies = [
       sources."isexe-2.0.0"
       sources."node-fetch-2.6.1"
-      sources."tslib-2.3.0"
+      sources."tslib-2.3.1"
       sources."vscode-languageserver-textdocument-1.0.1"
       sources."vscode-uri-3.0.2"
       sources."which-2.0.2"
@@ -72416,7 +74653,7 @@ in
       sources."ms-2.0.0"
       sources."request-light-0.4.0"
       sources."vscode-json-languageserver-1.3.4"
-      (sources."vscode-json-languageservice-4.1.6" // {
+      (sources."vscode-json-languageservice-4.1.7" // {
         dependencies = [
           sources."vscode-nls-5.0.0"
         ];
@@ -72483,7 +74720,7 @@ in
       sha512 = "EiD4lpcGW2WyzxEDpRMYPrjxAa0FhG69SzDoc1KbDht2Do/vgnRzvrtIsufPT14dALAesieN3kVVMCCfA9S6jA==";
     };
     dependencies = [
-      sources."@chemzqm/neovim-5.2.13"
+      sources."@chemzqm/neovim-5.3.5"
       sources."@tootallnate/once-1.1.2"
       sources."agent-base-6.0.2"
       sources."arch-2.2.0"
@@ -72519,15 +74756,15 @@ in
       sources."define-properties-1.1.3"
       sources."duplexer2-0.1.4"
       sources."end-of-stream-1.4.4"
-      sources."es-abstract-1.18.3"
+      sources."es-abstract-1.18.5"
       sources."es-to-primitive-1.2.1"
       sources."event-lite-0.1.2"
       sources."execa-1.0.0"
       sources."fast-diff-1.2.0"
       sources."fb-watchman-2.0.1"
       sources."flatted-2.0.2"
-      sources."follow-redirects-1.14.1"
-      sources."fp-ts-2.10.5"
+      sources."follow-redirects-1.14.2"
+      sources."fp-ts-2.11.1"
       sources."fs-extra-8.1.0"
       sources."fs-minipass-2.1.0"
       sources."fs.realpath-1.0.0"
@@ -72541,10 +74778,11 @@ in
       sources."get-intrinsic-1.1.1"
       sources."get-stream-4.1.0"
       sources."glob-7.1.7"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."has-1.0.3"
       sources."has-bigints-1.0.1"
       sources."has-symbols-1.0.2"
+      sources."has-tostringtag-1.0.0"
       sources."http-proxy-agent-4.0.1"
       sources."https-proxy-agent-5.0.0"
       sources."ieee754-1.2.1"
@@ -72552,16 +74790,17 @@ in
       sources."inherits-2.0.4"
       sources."ini-1.3.8"
       sources."int64-buffer-0.1.10"
-      sources."is-bigint-1.0.2"
-      sources."is-boolean-object-1.1.1"
-      sources."is-callable-1.2.3"
-      sources."is-date-object-1.0.4"
+      sources."internal-slot-1.0.3"
+      sources."is-bigint-1.0.4"
+      sources."is-boolean-object-1.1.2"
+      sources."is-callable-1.2.4"
+      sources."is-date-object-1.0.5"
       sources."is-docker-2.2.1"
       sources."is-negative-zero-2.0.1"
-      sources."is-number-object-1.0.5"
-      sources."is-regex-1.1.3"
+      sources."is-number-object-1.0.6"
+      sources."is-regex-1.1.4"
       sources."is-stream-1.1.0"
-      sources."is-string-1.0.6"
+      sources."is-string-1.0.7"
       sources."is-symbol-1.0.4"
       sources."is-wsl-2.2.0"
       sources."isarray-1.0.0"
@@ -72620,6 +74859,7 @@ in
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."shell-quote-1.7.2"
+      sources."side-channel-1.0.4"
       sources."signal-exit-3.0.3"
       (sources."streamroller-2.2.4" // {
         dependencies = [
@@ -72631,9 +74871,9 @@ in
       sources."string_decoder-1.1.1"
       sources."strip-eof-1.0.0"
       sources."strip-json-comments-2.0.1"
-      sources."tar-6.1.0"
+      sources."tar-6.1.11"
       sources."traverse-0.3.9"
-      sources."tslib-2.3.0"
+      sources."tslib-2.3.1"
       sources."unbox-primitive-1.0.1"
       sources."universalify-0.1.2"
       sources."unzipper-0.10.11"
@@ -72690,7 +74930,7 @@ in
     };
     dependencies = [
       sources."@babel/code-frame-7.12.11"
-      sources."@babel/helper-validator-identifier-7.14.8"
+      sources."@babel/helper-validator-identifier-7.14.9"
       (sources."@babel/highlight-7.14.5" // {
         dependencies = [
           sources."chalk-2.4.2"
@@ -72703,7 +74943,7 @@ in
       sources."@mrmlnc/readdir-enhanced-2.2.1"
       sources."@nodelib/fs.stat-1.1.3"
       sources."@types/eslint-visitor-keys-1.0.0"
-      sources."@types/json-schema-7.0.8"
+      sources."@types/json-schema-7.0.9"
       sources."@typescript-eslint/experimental-utils-3.10.1"
       sources."@typescript-eslint/parser-3.10.1"
       sources."@typescript-eslint/types-3.10.1"
@@ -72769,10 +75009,10 @@ in
       sources."callsites-3.1.0"
       sources."camelcase-2.1.1"
       sources."camelcase-keys-2.1.0"
-      sources."caniuse-lite-1.0.30001246"
+      sources."caniuse-lite-1.0.30001252"
       sources."capture-stack-trace-1.0.1"
       sources."ccount-1.1.0"
-      (sources."chalk-4.1.1" // {
+      (sources."chalk-4.1.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."color-convert-2.0.1"
@@ -72831,7 +75071,7 @@ in
         ];
       })
       sources."copy-descriptor-0.1.1"
-      sources."core-js-3.15.2"
+      sources."core-js-3.16.3"
       sources."cosmiconfig-3.1.0"
       sources."create-error-class-3.0.2"
       sources."cross-spawn-7.0.3"
@@ -72867,14 +75107,14 @@ in
       sources."domutils-1.7.0"
       sources."dot-prop-5.3.0"
       sources."duplexer3-0.1.4"
-      sources."electron-to-chromium-1.3.782"
+      sources."electron-to-chromium-1.3.818"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       sources."enquirer-2.3.6"
       sources."entities-1.1.2"
       sources."error-ex-1.3.2"
       sources."escape-string-regexp-4.0.0"
-      (sources."eslint-7.31.0" // {
+      (sources."eslint-7.32.0" // {
         dependencies = [
           sources."eslint-visitor-keys-2.1.0"
         ];
@@ -72986,7 +75226,7 @@ in
       sources."fill-range-2.2.4"
       sources."find-up-2.1.0"
       sources."flat-cache-3.0.4"
-      sources."flatted-3.2.1"
+      sources."flatted-3.2.2"
       sources."for-in-1.0.2"
       sources."for-own-0.1.5"
       sources."fragment-cache-0.2.1"
@@ -73008,7 +75248,7 @@ in
       sources."glob-parent-5.1.2"
       sources."glob-to-regexp-0.3.0"
       sources."global-dirs-0.1.1"
-      sources."globals-13.10.0"
+      sources."globals-13.11.0"
       (sources."globby-6.1.0" // {
         dependencies = [
           sources."pify-2.3.0"
@@ -73017,7 +75257,7 @@ in
       sources."globjoin-0.1.4"
       sources."gonzales-pe-4.3.0"
       sources."got-6.7.1"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."has-1.0.3"
       (sources."has-ansi-2.0.0" // {
         dependencies = [
@@ -73065,7 +75305,7 @@ in
       sources."is-arrayish-0.2.1"
       sources."is-buffer-1.1.6"
       sources."is-ci-1.2.1"
-      sources."is-core-module-2.5.0"
+      sources."is-core-module-2.6.0"
       (sources."is-data-descriptor-1.0.0" // {
         dependencies = [
           sources."kind-of-6.0.3"
@@ -73462,7 +75702,7 @@ in
       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.9"
+      sources."spdx-license-ids-3.0.10"
       sources."specificity-0.3.2"
       sources."split-string-3.1.0"
       sources."sprintf-js-1.0.3"
@@ -73666,13 +75906,13 @@ in
   coc-pyright = nodeEnv.buildNodePackage {
     name = "coc-pyright";
     packageName = "coc-pyright";
-    version = "1.1.157";
+    version = "1.1.164";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-pyright/-/coc-pyright-1.1.157.tgz";
-      sha512 = "GyjrMQFSqrAnBB0SlZC93JV9E8VAcsDhfCBHZ6DIRDCH9qsSI3g0Y0RGJp7v+JHDDZTrEPJiiPOu1e/6PFA90A==";
+      url = "https://registry.npmjs.org/coc-pyright/-/coc-pyright-1.1.164.tgz";
+      sha512 = "7j+xroHX57poXJ9T+1OVYIx3NlTTKk6d0eoqLorv8BPFtjF0g+cTCLG67PNgpmfunBaF2g47aUoebli1x0fuKg==";
     };
     dependencies = [
-      sources."pyright-1.1.157"
+      sources."pyright-1.1.163"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -73746,10 +75986,10 @@ in
   coc-rust-analyzer = nodeEnv.buildNodePackage {
     name = "coc-rust-analyzer";
     packageName = "coc-rust-analyzer";
-    version = "0.47.2";
+    version = "0.50.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-rust-analyzer/-/coc-rust-analyzer-0.47.2.tgz";
-      sha512 = "DtUoWcXd++TT9PjjB5JDT3r+2c6wdZZlf2pCXeInELfwW/P4p10BKxP8EnMhkNq4jIzfP0V9QAwLMMppACFuRA==";
+      url = "https://registry.npmjs.org/coc-rust-analyzer/-/coc-rust-analyzer-0.50.0.tgz";
+      sha512 = "IqZL5m/fWXmUEF6xWXY1FA2sXJiCLQgi68Znm/Nz5sG+Hrl+OFCfaVCel6jr6xlshjmnnxtb8MoQlGbtChhKyg==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -73764,10 +76004,10 @@ in
   coc-smartf = nodeEnv.buildNodePackage {
     name = "coc-smartf";
     packageName = "coc-smartf";
-    version = "1.1.11";
+    version = "1.2.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-smartf/-/coc-smartf-1.1.11.tgz";
-      sha512 = "srtsGTwfnrN47BAcafyThuv1eFvlPUFrSDZPJ4RtgxbpcPZCGa60rAPOkFELCjtt9EO0XuKxRJsXtL2PI+ft6A==";
+      url = "https://registry.npmjs.org/coc-smartf/-/coc-smartf-1.2.1.tgz";
+      sha512 = "Zlm+lt03V1qmJVvQw81svaWE+jC9e42VTnHBh8qjlUJUMG1GDjuC8cwM1ulamdovSsKdlmtHwVpScdKBgg3/Fg==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -73782,10 +76022,10 @@ in
   coc-snippets = nodeEnv.buildNodePackage {
     name = "coc-snippets";
     packageName = "coc-snippets";
-    version = "2.4.3";
+    version = "2.4.6";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-snippets/-/coc-snippets-2.4.3.tgz";
-      sha512 = "1vIMSDI8zKbr7J/jD4Ey9EFfYnipRaYzbaY9WZHnStEb0H2M/obIjwl5k9gRFGfJV00vB7zDpHp19FXLXVqzhQ==";
+      url = "https://registry.npmjs.org/coc-snippets/-/coc-snippets-2.4.6.tgz";
+      sha512 = "lWtv+2+WEdkiCfplZtUzPy9TFkmrk0ajjpgil1KersbmiBeoylLuqgiVVY6u3gmiofr/5AG1DD20Qj8Vg6M0jg==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -73823,38 +76063,38 @@ in
     };
     dependencies = [
       sources."@babel/code-frame-7.14.5"
-      sources."@babel/compat-data-7.14.7"
-      sources."@babel/core-7.14.8"
-      sources."@babel/generator-7.14.8"
-      sources."@babel/helper-compilation-targets-7.14.5"
+      sources."@babel/compat-data-7.15.0"
+      sources."@babel/core-7.15.0"
+      sources."@babel/generator-7.15.0"
+      sources."@babel/helper-compilation-targets-7.15.0"
       sources."@babel/helper-function-name-7.14.5"
       sources."@babel/helper-get-function-arity-7.14.5"
       sources."@babel/helper-hoist-variables-7.14.5"
-      sources."@babel/helper-member-expression-to-functions-7.14.7"
+      sources."@babel/helper-member-expression-to-functions-7.15.0"
       sources."@babel/helper-module-imports-7.14.5"
-      sources."@babel/helper-module-transforms-7.14.8"
+      sources."@babel/helper-module-transforms-7.15.0"
       sources."@babel/helper-optimise-call-expression-7.14.5"
-      sources."@babel/helper-replace-supers-7.14.5"
+      sources."@babel/helper-replace-supers-7.15.0"
       sources."@babel/helper-simple-access-7.14.8"
       sources."@babel/helper-split-export-declaration-7.14.5"
-      sources."@babel/helper-validator-identifier-7.14.8"
+      sources."@babel/helper-validator-identifier-7.14.9"
       sources."@babel/helper-validator-option-7.14.5"
-      sources."@babel/helpers-7.14.8"
+      sources."@babel/helpers-7.15.3"
       (sources."@babel/highlight-7.14.5" // {
         dependencies = [
           sources."chalk-2.4.2"
         ];
       })
-      sources."@babel/parser-7.14.8"
+      sources."@babel/parser-7.15.3"
       sources."@babel/template-7.14.5"
-      sources."@babel/traverse-7.14.8"
-      sources."@babel/types-7.14.8"
+      sources."@babel/traverse-7.15.0"
+      sources."@babel/types-7.15.0"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
       sources."@stylelint/postcss-css-in-js-0.37.2"
       sources."@stylelint/postcss-markdown-0.36.2"
-      sources."@types/mdast-3.0.7"
+      sources."@types/mdast-3.0.10"
       sources."@types/minimist-1.2.2"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/parse-json-4.0.0"
@@ -73874,12 +76114,12 @@ in
         ];
       })
       sources."braces-3.0.2"
-      sources."browserslist-4.16.6"
+      sources."browserslist-4.16.8"
       sources."callsites-3.1.0"
       sources."camelcase-5.3.1"
       sources."camelcase-keys-6.2.2"
-      sources."caniuse-lite-1.0.30001246"
-      (sources."chalk-4.1.1" // {
+      sources."caniuse-lite-1.0.30001252"
+      (sources."chalk-4.1.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."color-convert-2.0.1"
@@ -73894,10 +76134,10 @@ in
       sources."clone-regexp-2.2.0"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."colorette-1.2.2"
+      sources."colorette-1.3.0"
       sources."concat-map-0.0.1"
       sources."convert-source-map-1.8.0"
-      sources."cosmiconfig-7.0.0"
+      sources."cosmiconfig-7.0.1"
       sources."cssesc-3.0.0"
       sources."debug-4.3.2"
       sources."decamelize-1.2.0"
@@ -73916,7 +76156,7 @@ in
       sources."domelementtype-1.3.1"
       sources."domhandler-2.4.2"
       sources."domutils-1.7.0"
-      sources."electron-to-chromium-1.3.782"
+      sources."electron-to-chromium-1.3.818"
       sources."emoji-regex-8.0.0"
       sources."entities-1.1.2"
       sources."error-ex-1.3.2"
@@ -73928,12 +76168,12 @@ in
       sources."fast-diff-1.2.0"
       sources."fast-glob-3.2.7"
       sources."fastest-levenshtein-1.0.12"
-      sources."fastq-1.11.1"
+      sources."fastq-1.12.0"
       sources."file-entry-cache-6.0.1"
       sources."fill-range-7.0.1"
       sources."find-up-4.1.0"
       sources."flat-cache-3.0.4"
-      sources."flatted-3.2.1"
+      sources."flatted-3.2.2"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."gensync-1.0.0-beta.2"
@@ -73968,7 +76208,7 @@ in
       sources."is-alphanumerical-1.0.4"
       sources."is-arrayish-0.2.1"
       sources."is-buffer-2.0.5"
-      sources."is-core-module-2.5.0"
+      sources."is-core-module-2.6.0"
       sources."is-decimal-1.0.4"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
@@ -74013,8 +76253,8 @@ in
         ];
       })
       sources."ms-2.1.2"
-      sources."node-releases-1.1.73"
-      (sources."normalize-package-data-3.0.2" // {
+      sources."node-releases-1.1.75"
+      (sources."normalize-package-data-3.0.3" // {
         dependencies = [
           sources."semver-7.3.5"
         ];
@@ -74099,7 +76339,7 @@ in
       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.9"
+      sources."spdx-license-ids-3.0.10"
       sources."specificity-0.4.1"
       sources."string-width-4.2.2"
       (sources."string_decoder-1.3.0" // {
@@ -74203,7 +76443,7 @@ in
     };
     dependencies = [
       sources."@babel/code-frame-7.14.5"
-      sources."@babel/helper-validator-identifier-7.14.8"
+      sources."@babel/helper-validator-identifier-7.14.9"
       sources."@babel/highlight-7.14.5"
       sources."ansi-styles-3.2.1"
       sources."argparse-1.0.10"
@@ -74225,7 +76465,7 @@ in
       sources."has-flag-3.0.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."is-core-module-2.5.0"
+      sources."is-core-module-2.6.0"
       sources."js-tokens-4.0.0"
       sources."js-yaml-3.14.1"
       sources."minimatch-3.0.4"
@@ -74290,10 +76530,10 @@ in
   coc-tsserver = nodeEnv.buildNodePackage {
     name = "coc-tsserver";
     packageName = "coc-tsserver";
-    version = "1.8.1";
+    version = "1.8.6";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-tsserver/-/coc-tsserver-1.8.1.tgz";
-      sha512 = "qkVsa46XLmOCmohpQhhz1SG9vUQN/54b/zZsDI5fnuBM49GX9f+Aya8m9ZidAzuwFKV+ostgvdWaB+GeQPPNPQ==";
+      url = "https://registry.npmjs.org/coc-tsserver/-/coc-tsserver-1.8.6.tgz";
+      sha512 = "RTet29nZNYrOWEuquBOAv3yFtWyHPE7xGbsHjRdNbTP6g9PF+2nV2TnDO+c/T5HAk/1J0lKKZBu6hZTnEJ2f4w==";
     };
     dependencies = [
       sources."typescript-4.3.5"
@@ -74318,7 +76558,7 @@ in
     };
     dependencies = [
       sources."@babel/code-frame-7.12.11"
-      sources."@babel/helper-validator-identifier-7.14.8"
+      sources."@babel/helper-validator-identifier-7.14.9"
       (sources."@babel/highlight-7.14.5" // {
         dependencies = [
           sources."chalk-2.4.2"
@@ -74340,7 +76580,7 @@ in
       sources."brace-expansion-1.1.11"
       sources."builtin-modules-1.1.1"
       sources."callsites-3.1.0"
-      (sources."chalk-4.1.1" // {
+      (sources."chalk-4.1.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."color-convert-2.0.1"
@@ -74361,8 +76601,8 @@ in
       sources."emoji-regex-8.0.0"
       sources."enquirer-2.3.6"
       sources."escape-string-regexp-4.0.0"
-      sources."eslint-7.31.0"
-      (sources."eslint-plugin-vue-7.14.0" // {
+      sources."eslint-7.32.0"
+      (sources."eslint-plugin-vue-7.16.0" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
@@ -74397,13 +76637,13 @@ in
       sources."fast-levenshtein-2.0.6"
       sources."file-entry-cache-6.0.1"
       sources."flat-cache-3.0.4"
-      sources."flatted-3.2.1"
+      sources."flatted-3.2.2"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."functional-red-black-tree-1.0.1"
       sources."glob-7.1.7"
       sources."glob-parent-5.1.2"
-      sources."globals-13.10.0"
+      sources."globals-13.11.0"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
       sources."ignore-4.0.6"
@@ -74411,7 +76651,7 @@ in
       sources."imurmurhash-0.1.4"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."is-core-module-2.5.0"
+      sources."is-core-module-2.6.0"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-glob-4.0.1"
@@ -74483,7 +76723,7 @@ in
       sources."uri-js-4.4.1"
       sources."v8-compile-cache-2.3.0"
       sources."vls-0.7.4"
-      (sources."vue-eslint-parser-7.9.0" // {
+      (sources."vue-eslint-parser-7.10.0" // {
         dependencies = [
           sources."eslint-visitor-keys-1.3.0"
           sources."espree-6.2.1"
@@ -74507,10 +76747,10 @@ in
   coc-vimlsp = nodeEnv.buildNodePackage {
     name = "coc-vimlsp";
     packageName = "coc-vimlsp";
-    version = "0.12.2";
+    version = "0.12.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-vimlsp/-/coc-vimlsp-0.12.2.tgz";
-      sha512 = "vfWz0wpyuyj1U/8v6kXaBnJrhlTK40FWezeKKW/UNLLi9v3rWiV4QoV3uTmJqIMbvW97mhIzD5EynXgqPlD8Bg==";
+      url = "https://registry.npmjs.org/coc-vimlsp/-/coc-vimlsp-0.12.3.tgz";
+      sha512 = "mq6V4fQmcQSiGvilJ0j1pbbj5EHeS8QC6ThuLVBJ+2wRqO8fiTkPYJrXPDUQDcICV9hUjdTBE8klaFYlK6oviA==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -74630,6 +76870,180 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
+  code-theme-converter = nodeEnv.buildNodePackage {
+    name = "code-theme-converter";
+    packageName = "code-theme-converter";
+    version = "1.2.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/code-theme-converter/-/code-theme-converter-1.2.1.tgz";
+      sha512 = "uPhR9IKtN1z6gt9mpRH5OAdYjJQgQq7CCQpm5VmCpLe2QdGDzi4xfB3ybXGaBRX+UN4whtz3pZvgZssJvBwcqQ==";
+    };
+    dependencies = [
+      sources."@xstate/fsm-1.6.1"
+      sources."ansi-styles-3.2.1"
+      sources."balanced-match-1.0.2"
+      sources."base64-js-1.5.1"
+      sources."bl-1.2.3"
+      sources."brace-expansion-1.1.11"
+      sources."buffer-5.7.1"
+      sources."buffer-alloc-1.2.0"
+      sources."buffer-alloc-unsafe-1.1.0"
+      sources."buffer-crc32-0.2.13"
+      sources."buffer-fill-1.0.0"
+      sources."capture-stack-trace-1.0.1"
+      sources."caw-2.0.1"
+      sources."chalk-2.4.2"
+      sources."cmd-shim-2.1.0"
+      sources."color-convert-1.9.3"
+      sources."color-name-1.1.3"
+      sources."commander-5.1.0"
+      sources."concat-map-0.0.1"
+      sources."config-chain-1.1.13"
+      sources."core-util-is-1.0.2"
+      sources."create-error-class-3.0.2"
+      sources."cross-spawn-6.0.5"
+      sources."decompress-4.2.1"
+      sources."decompress-tar-4.1.1"
+      (sources."decompress-tarbz2-4.1.1" // {
+        dependencies = [
+          sources."file-type-6.2.0"
+        ];
+      })
+      sources."decompress-targz-4.1.1"
+      (sources."decompress-unzip-4.0.1" // {
+        dependencies = [
+          sources."file-type-3.9.0"
+          sources."get-stream-2.3.1"
+        ];
+      })
+      sources."download-5.0.3"
+      sources."download-git-repo-1.1.0"
+      sources."duplexer3-0.1.4"
+      sources."end-of-stream-1.4.4"
+      sources."escape-string-regexp-1.0.5"
+      (sources."execa-1.0.0" // {
+        dependencies = [
+          sources."get-stream-4.1.0"
+        ];
+      })
+      sources."fd-slicer-1.1.0"
+      sources."file-type-5.2.0"
+      sources."filename-reserved-regex-2.0.0"
+      sources."filenamify-2.1.0"
+      sources."fs-constants-1.0.0"
+      sources."fs-extra-8.1.0"
+      sources."fs.realpath-1.0.0"
+      sources."get-proxy-2.1.0"
+      sources."get-stream-3.0.0"
+      sources."git-clone-0.1.0"
+      sources."glob-7.1.7"
+      sources."got-6.7.1"
+      sources."graceful-fs-4.2.8"
+      sources."has-flag-3.0.0"
+      sources."has-symbol-support-x-1.4.2"
+      sources."has-to-string-tag-x-1.4.1"
+      sources."ieee754-1.2.1"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.4"
+      sources."ini-1.3.8"
+      sources."is-natural-number-4.0.1"
+      sources."is-object-1.0.2"
+      sources."is-redirect-1.0.0"
+      sources."is-retry-allowed-1.2.0"
+      sources."is-stream-1.1.0"
+      sources."isarray-1.0.0"
+      sources."isexe-2.0.0"
+      sources."isurl-1.0.0"
+      sources."js2xmlparser-4.0.1"
+      sources."json5-2.2.0"
+      sources."jsonfile-4.0.0"
+      sources."lowercase-keys-1.0.1"
+      (sources."make-dir-1.3.0" // {
+        dependencies = [
+          sources."pify-3.0.0"
+        ];
+      })
+      sources."minimatch-3.0.4"
+      sources."minimist-1.2.5"
+      sources."mkdirp-0.5.5"
+      sources."nice-try-1.0.5"
+      (sources."npm-conf-1.1.3" // {
+        dependencies = [
+          sources."pify-3.0.0"
+        ];
+      })
+      sources."npm-run-path-2.0.2"
+      sources."object-assign-4.1.1"
+      sources."once-1.4.0"
+      sources."p-finally-1.0.0"
+      sources."path-is-absolute-1.0.1"
+      sources."path-key-2.0.1"
+      sources."pend-1.2.0"
+      sources."pify-2.3.0"
+      sources."pinkie-2.0.4"
+      sources."pinkie-promise-2.0.1"
+      sources."plist-3.0.3"
+      sources."prepend-http-1.0.4"
+      sources."process-nextick-args-2.0.1"
+      sources."proto-list-1.2.4"
+      sources."pump-3.0.0"
+      sources."ramda-0.27.1"
+      (sources."readable-stream-2.3.7" // {
+        dependencies = [
+          sources."safe-buffer-5.1.2"
+        ];
+      })
+      sources."rimraf-2.7.1"
+      sources."safe-buffer-5.2.1"
+      (sources."seek-bzip-1.0.6" // {
+        dependencies = [
+          sources."commander-2.20.3"
+        ];
+      })
+      sources."semver-5.7.1"
+      sources."shebang-command-1.2.0"
+      sources."shebang-regex-1.0.0"
+      sources."signal-exit-3.0.3"
+      sources."slash-2.0.0"
+      (sources."string_decoder-1.1.1" // {
+        dependencies = [
+          sources."safe-buffer-5.1.2"
+        ];
+      })
+      sources."strip-dirs-2.1.0"
+      sources."strip-eof-1.0.0"
+      sources."strip-outer-1.0.1"
+      sources."supports-color-5.5.0"
+      sources."tar-stream-1.6.2"
+      sources."through-2.3.8"
+      sources."timed-out-4.0.1"
+      sources."to-buffer-1.1.1"
+      sources."trim-repeated-1.0.0"
+      sources."tunnel-agent-0.6.0"
+      sources."unbzip2-stream-1.4.3"
+      sources."universalify-0.1.2"
+      sources."unzip-response-2.0.1"
+      sources."url-parse-lax-1.0.0"
+      sources."url-to-options-1.0.1"
+      sources."util-deprecate-1.0.2"
+      sources."uuid-3.4.0"
+      sources."which-1.3.1"
+      sources."wrappy-1.0.2"
+      sources."xmlbuilder-9.0.7"
+      sources."xmlcreate-2.0.3"
+      sources."xmldom-0.6.0"
+      sources."xtend-4.0.2"
+      sources."yauzl-2.10.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Convert any vscode theme with ease!";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
   coffee-script = nodeEnv.buildNodePackage {
     name = "coffee-script";
     packageName = "coffee-script";
@@ -74669,7 +77083,7 @@ in
       sources."colors-1.4.0"
       sources."commander-2.20.3"
       sources."escape-string-regexp-1.0.5"
-      sources."follow-redirects-1.14.1"
+      sources."follow-redirects-1.14.2"
       sources."has-flag-3.0.0"
       sources."is-fullwidth-code-point-2.0.0"
       sources."log-symbols-2.2.0"
@@ -74703,7 +77117,7 @@ in
     };
     dependencies = [
       sources."@dabh/diagnostics-2.0.2"
-      sources."async-3.2.0"
+      sources."async-3.2.1"
       sources."bintrees-1.0.1"
       sources."color-3.0.0"
       sources."color-convert-1.9.3"
@@ -74718,11 +77132,11 @@ in
       sources."fast-safe-stringify-2.0.8"
       sources."fecha-4.2.1"
       sources."fn.name-1.1.0"
-      sources."follow-redirects-1.14.1"
+      sources."follow-redirects-1.14.2"
       sources."http-proxy-1.18.1"
       sources."inherits-2.0.4"
       sources."is-arrayish-0.3.2"
-      sources."is-stream-2.0.0"
+      sources."is-stream-2.0.1"
       sources."isarray-1.0.0"
       sources."kuler-2.0.0"
       sources."logform-2.2.0"
@@ -74760,6 +77174,227 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
+  conventional-changelog-cli = nodeEnv.buildNodePackage {
+    name = "conventional-changelog-cli";
+    packageName = "conventional-changelog-cli";
+    version = "2.1.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/conventional-changelog-cli/-/conventional-changelog-cli-2.1.1.tgz";
+      sha512 = "xMGQdKJ+4XFDDgfX5aK7UNFduvJMbvF5BB+g0OdVhA3rYdYyhctrIE2Al+WYdZeKTdg9YzMWF2iFPT8MupIwng==";
+    };
+    dependencies = [
+      sources."@babel/code-frame-7.14.5"
+      sources."@babel/helper-validator-identifier-7.14.9"
+      sources."@babel/highlight-7.14.5"
+      sources."@hutson/parse-repository-url-3.0.2"
+      sources."@types/minimist-1.2.2"
+      sources."@types/normalize-package-data-2.4.1"
+      sources."JSONStream-1.3.5"
+      sources."add-stream-1.0.0"
+      sources."ansi-styles-3.2.1"
+      sources."array-ify-1.0.0"
+      sources."arrify-1.0.1"
+      sources."camelcase-5.3.1"
+      sources."camelcase-keys-6.2.2"
+      sources."chalk-2.4.2"
+      sources."color-convert-1.9.3"
+      sources."color-name-1.1.3"
+      sources."compare-func-2.0.0"
+      sources."conventional-changelog-3.1.24"
+      sources."conventional-changelog-angular-5.0.12"
+      sources."conventional-changelog-atom-2.0.8"
+      sources."conventional-changelog-codemirror-2.0.8"
+      sources."conventional-changelog-conventionalcommits-4.6.0"
+      sources."conventional-changelog-core-4.2.3"
+      sources."conventional-changelog-ember-2.0.9"
+      sources."conventional-changelog-eslint-3.0.9"
+      sources."conventional-changelog-express-2.0.6"
+      sources."conventional-changelog-jquery-3.0.11"
+      sources."conventional-changelog-jshint-2.0.9"
+      sources."conventional-changelog-preset-loader-2.3.4"
+      sources."conventional-changelog-writer-5.0.0"
+      sources."conventional-commits-filter-2.0.7"
+      sources."conventional-commits-parser-3.2.1"
+      sources."core-util-is-1.0.2"
+      sources."dargs-7.0.0"
+      sources."dateformat-3.0.3"
+      sources."decamelize-1.2.0"
+      (sources."decamelize-keys-1.1.0" // {
+        dependencies = [
+          sources."map-obj-1.0.1"
+        ];
+      })
+      sources."dot-prop-5.3.0"
+      sources."error-ex-1.3.2"
+      sources."escape-string-regexp-1.0.5"
+      sources."find-up-4.1.0"
+      sources."function-bind-1.1.1"
+      (sources."get-pkg-repo-4.1.2" // {
+        dependencies = [
+          sources."meow-7.1.1"
+          (sources."normalize-package-data-2.5.0" // {
+            dependencies = [
+              sources."hosted-git-info-2.8.9"
+            ];
+          })
+          (sources."read-pkg-5.2.0" // {
+            dependencies = [
+              sources."type-fest-0.6.0"
+            ];
+          })
+          (sources."read-pkg-up-7.0.1" // {
+            dependencies = [
+              sources."type-fest-0.8.1"
+            ];
+          })
+          sources."readable-stream-2.3.7"
+          sources."safe-buffer-5.1.2"
+          sources."semver-5.7.1"
+          sources."string_decoder-1.1.1"
+          sources."through2-2.0.5"
+        ];
+      })
+      sources."git-raw-commits-2.0.10"
+      sources."git-remote-origin-url-2.0.0"
+      sources."git-semver-tags-4.1.1"
+      sources."gitconfiglocal-1.0.0"
+      sources."graceful-fs-4.2.8"
+      sources."handlebars-4.7.7"
+      sources."hard-rejection-2.1.0"
+      sources."has-1.0.3"
+      sources."has-flag-3.0.0"
+      sources."hosted-git-info-4.0.2"
+      sources."indent-string-4.0.0"
+      sources."inherits-2.0.4"
+      sources."ini-1.3.8"
+      sources."is-arrayish-0.2.1"
+      sources."is-core-module-2.6.0"
+      sources."is-obj-2.0.0"
+      sources."is-plain-obj-1.1.0"
+      sources."is-text-path-1.0.1"
+      sources."isarray-1.0.0"
+      sources."js-tokens-4.0.0"
+      sources."json-parse-better-errors-1.0.2"
+      sources."json-parse-even-better-errors-2.3.1"
+      sources."json-stringify-safe-5.0.1"
+      sources."jsonparse-1.3.1"
+      sources."kind-of-6.0.3"
+      sources."lines-and-columns-1.1.6"
+      (sources."load-json-file-4.0.0" // {
+        dependencies = [
+          sources."parse-json-4.0.0"
+          sources."pify-3.0.0"
+        ];
+      })
+      sources."locate-path-5.0.0"
+      sources."lodash-4.17.21"
+      sources."lodash.ismatch-4.4.0"
+      sources."lru-cache-6.0.0"
+      sources."map-obj-4.2.1"
+      (sources."meow-8.1.2" // {
+        dependencies = [
+          sources."hosted-git-info-2.8.9"
+          (sources."read-pkg-5.2.0" // {
+            dependencies = [
+              sources."normalize-package-data-2.5.0"
+              sources."type-fest-0.6.0"
+            ];
+          })
+          (sources."read-pkg-up-7.0.1" // {
+            dependencies = [
+              sources."type-fest-0.8.1"
+            ];
+          })
+          sources."semver-5.7.1"
+          sources."type-fest-0.18.1"
+          sources."yargs-parser-20.2.9"
+        ];
+      })
+      sources."min-indent-1.0.1"
+      sources."minimist-1.2.5"
+      sources."minimist-options-4.1.0"
+      sources."modify-values-1.0.1"
+      sources."neo-async-2.6.2"
+      (sources."normalize-package-data-3.0.3" // {
+        dependencies = [
+          sources."semver-7.3.5"
+        ];
+      })
+      sources."p-limit-2.3.0"
+      sources."p-locate-4.1.0"
+      sources."p-try-2.2.0"
+      sources."parse-json-5.2.0"
+      sources."path-exists-4.0.0"
+      sources."path-parse-1.0.7"
+      (sources."path-type-3.0.0" // {
+        dependencies = [
+          sources."pify-3.0.0"
+        ];
+      })
+      sources."pify-2.3.0"
+      sources."process-nextick-args-2.0.1"
+      sources."q-1.5.1"
+      sources."quick-lru-4.0.1"
+      (sources."read-pkg-3.0.0" // {
+        dependencies = [
+          sources."hosted-git-info-2.8.9"
+          sources."normalize-package-data-2.5.0"
+          sources."semver-5.7.1"
+        ];
+      })
+      (sources."read-pkg-up-3.0.0" // {
+        dependencies = [
+          sources."find-up-2.1.0"
+          sources."locate-path-2.0.0"
+          sources."p-limit-1.3.0"
+          sources."p-locate-2.0.0"
+          sources."p-try-1.0.0"
+          sources."path-exists-3.0.0"
+        ];
+      })
+      sources."readable-stream-3.6.0"
+      sources."redent-3.0.0"
+      sources."resolve-1.20.0"
+      sources."safe-buffer-5.2.1"
+      sources."semver-6.3.0"
+      sources."source-map-0.6.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.10"
+      sources."split-1.0.1"
+      sources."split2-3.2.2"
+      sources."string_decoder-1.3.0"
+      sources."strip-bom-3.0.0"
+      sources."strip-indent-3.0.0"
+      sources."supports-color-5.5.0"
+      sources."temp-dir-2.0.0"
+      sources."tempfile-3.0.0"
+      sources."text-extensions-1.9.0"
+      sources."through-2.3.8"
+      sources."through2-4.0.2"
+      sources."trim-newlines-3.0.1"
+      sources."trim-off-newlines-1.0.1"
+      sources."type-fest-0.13.1"
+      sources."uglify-js-3.14.1"
+      sources."util-deprecate-1.0.2"
+      sources."uuid-3.4.0"
+      sources."validate-npm-package-license-3.0.4"
+      sources."wordwrap-1.0.0"
+      sources."xtend-4.0.2"
+      sources."yallist-4.0.0"
+      sources."yargs-parser-18.1.3"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Generate a changelog from git metadata";
+      homepage = "https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog-cli#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
   cordova = nodeEnv.buildNodePackage {
     name = "cordova";
     packageName = "cordova";
@@ -74769,16 +77404,18 @@ in
       sha512 = "00wMcj3X9ILhKtvRG2iEwO2qly4B+vgXFhH4WhVepWg2UVbD1opl1q9jSZ+j2AaI/vsBWW8e6M2M5FAHasnuWw==";
     };
     dependencies = [
+      sources."@gar/promisify-1.1.2"
       sources."@netflix/nerror-1.1.3"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
+      sources."@npmcli/fs-1.0.0"
       sources."@npmcli/git-2.1.0"
       sources."@npmcli/installed-package-contents-1.0.7"
       sources."@npmcli/move-file-1.1.2"
       sources."@npmcli/node-gyp-1.0.2"
       sources."@npmcli/promise-spawn-1.3.2"
-      sources."@npmcli/run-script-1.8.5"
+      sources."@npmcli/run-script-1.8.6"
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
       sources."@tootallnate/once-1.1.2"
@@ -74839,7 +77476,7 @@ in
       sources."braces-3.0.2"
       sources."builtins-1.0.3"
       sources."bytes-3.0.0"
-      sources."cacache-15.2.0"
+      sources."cacache-15.3.0"
       (sources."cacheable-request-6.1.0" // {
         dependencies = [
           sources."lowercase-keys-2.0.0"
@@ -74958,7 +77595,7 @@ in
       sources."fast-glob-3.2.7"
       sources."fast-json-parse-1.0.3"
       sources."fast-json-stable-stringify-2.1.0"
-      sources."fastq-1.11.1"
+      sources."fastq-1.12.0"
       sources."figures-2.0.0"
       sources."fill-range-7.0.1"
       (sources."finalhandler-1.1.2" // {
@@ -74988,7 +77625,7 @@ in
           sources."get-stream-4.1.0"
         ];
       })
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."has-1.0.3"
@@ -75063,7 +77700,7 @@ in
       sources."ip-regex-2.1.0"
       sources."ipaddr.js-1.9.1"
       sources."is-ci-2.0.0"
-      sources."is-core-module-2.5.0"
+      sources."is-core-module-2.6.0"
       sources."is-docker-2.2.1"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-1.0.0"
@@ -75074,7 +77711,7 @@ in
       sources."is-number-7.0.0"
       sources."is-obj-2.0.0"
       sources."is-path-inside-3.0.3"
-      sources."is-stream-2.0.0"
+      sources."is-stream-2.0.1"
       sources."is-typedarray-1.0.0"
       sources."is-wsl-2.2.0"
       sources."is-yarn-global-0.3.0"
@@ -75109,7 +77746,7 @@ in
           sources."semver-6.3.0"
         ];
       })
-      sources."make-fetch-happen-9.0.4"
+      sources."make-fetch-happen-9.1.0"
       sources."md5-file-5.0.0"
       sources."media-typer-0.3.0"
       sources."merge-descriptors-1.0.1"
@@ -75118,8 +77755,8 @@ in
       sources."methods-1.1.2"
       sources."micromatch-4.0.4"
       sources."mime-1.6.0"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."mimic-fn-2.1.0"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.0.4"
@@ -75201,7 +77838,7 @@ in
       sources."picomatch-2.3.0"
       sources."pify-4.0.1"
       sources."pkg-up-2.0.0"
-      sources."plist-3.0.2"
+      sources."plist-3.0.3"
       sources."prepend-http-2.0.0"
       sources."process-nextick-args-2.0.1"
       sources."promise-inflight-1.0.1"
@@ -75226,7 +77863,7 @@ in
       sources."read-1.0.7"
       sources."read-chunk-3.2.0"
       sources."read-package-json-2.1.2"
-      sources."read-package-json-fast-2.0.2"
+      sources."read-package-json-fast-2.0.3"
       sources."readable-stream-2.3.7"
       sources."registry-auth-token-4.2.1"
       sources."registry-url-5.1.0"
@@ -75272,13 +77909,13 @@ in
       sources."shebang-regex-3.0.0"
       sources."signal-exit-3.0.3"
       sources."slash-3.0.0"
-      sources."smart-buffer-4.1.0"
+      sources."smart-buffer-4.2.0"
       sources."socks-2.6.1"
-      sources."socks-proxy-agent-5.0.1"
+      sources."socks-proxy-agent-6.0.0"
       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.9"
+      sources."spdx-license-ids-3.0.10"
       sources."sshpk-1.16.1"
       sources."ssri-8.0.1"
       sources."statuses-1.5.0"
@@ -75292,7 +77929,7 @@ in
       sources."strip-json-comments-2.0.1"
       sources."supports-color-7.2.0"
       sources."systeminformation-4.34.23"
-      sources."tar-6.1.0"
+      sources."tar-6.1.11"
       sources."term-size-2.2.1"
       sources."through-2.3.8"
       sources."tmp-0.2.1"
@@ -75353,7 +77990,7 @@ in
       sources."write-file-atomic-3.0.3"
       sources."xdg-basedir-4.0.0"
       sources."xmlbuilder-9.0.7"
-      sources."xmldom-0.5.0"
+      sources."xmldom-0.6.0"
       sources."yallist-4.0.0"
     ];
     buildInputs = globalBuildInputs;
@@ -75376,14 +78013,14 @@ in
     };
     dependencies = [
       sources."@babel/code-frame-7.14.5"
-      sources."@babel/helper-validator-identifier-7.14.8"
+      sources."@babel/helper-validator-identifier-7.14.9"
       sources."@babel/highlight-7.14.5"
       sources."@mrmlnc/readdir-enhanced-2.2.1"
       sources."@nodelib/fs.stat-1.1.3"
       sources."@types/glob-7.1.4"
       sources."@types/minimatch-3.0.5"
       sources."@types/minimist-1.2.2"
-      sources."@types/node-16.4.0"
+      sources."@types/node-16.7.2"
       sources."@types/normalize-package-data-2.4.1"
       sources."aggregate-error-3.1.0"
       sources."ansi-styles-3.2.1"
@@ -75500,7 +78137,7 @@ in
       })
       sources."glob-to-regexp-0.3.0"
       sources."globby-9.2.0"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."hard-rejection-2.1.0"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
@@ -75523,7 +78160,7 @@ in
       sources."is-accessor-descriptor-1.0.0"
       sources."is-arrayish-0.2.1"
       sources."is-buffer-1.1.6"
-      sources."is-core-module-2.5.0"
+      sources."is-core-module-2.6.0"
       sources."is-data-descriptor-1.0.0"
       sources."is-descriptor-1.0.2"
       sources."is-extendable-0.1.1"
@@ -75678,7 +78315,7 @@ in
       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.9"
+      sources."spdx-license-ids-3.0.10"
       sources."split-string-3.1.0"
       (sources."static-extend-0.1.2" // {
         dependencies = [
@@ -75754,7 +78391,7 @@ in
       sources."@cycle/run-3.4.0"
       sources."@cycle/time-0.10.1"
       sources."@types/cookiejar-2.1.2"
-      sources."@types/node-16.4.0"
+      sources."@types/node-16.7.2"
       sources."@types/superagent-3.8.2"
       sources."ansi-escapes-3.2.0"
       sources."ansi-regex-2.1.1"
@@ -75796,7 +78433,7 @@ in
       sources."es6-symbol-3.1.3"
       sources."escape-string-regexp-1.0.5"
       sources."event-emitter-0.3.5"
-      (sources."ext-1.4.0" // {
+      (sources."ext-1.5.0" // {
         dependencies = [
           sources."type-2.5.0"
         ];
@@ -75835,8 +78472,8 @@ in
       sources."lru-cache-4.1.5"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."mimic-fn-1.2.0"
       sources."minimist-1.2.5"
       sources."ms-2.1.3"
@@ -75933,7 +78570,7 @@ in
       sources."fstream-1.0.12"
       sources."fstream-ignore-1.0.5"
       sources."glob-7.1.7"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."has-flag-4.0.0"
       sources."hyperquest-2.1.3"
       sources."inflight-1.0.6"
@@ -76111,7 +78748,7 @@ in
       sources."buffer-alloc-unsafe-1.1.0"
       sources."buffer-equals-1.0.4"
       sources."buffer-fill-1.0.0"
-      sources."buffer-from-1.1.1"
+      sources."buffer-from-1.1.2"
       sources."bulk-write-stream-1.1.4"
       sources."bytes-3.1.0"
       sources."cache-base-1.0.1"
@@ -76190,7 +78827,6 @@ in
       })
       sources."decode-uri-component-0.2.0"
       sources."decompress-response-4.2.1"
-      sources."deep-equal-0.2.2"
       sources."deep-extend-0.6.0"
       sources."define-property-2.0.2"
       sources."delayed-stream-1.0.0"
@@ -76288,10 +78924,12 @@ in
       sources."global-4.4.0"
       sources."global-dirs-0.1.1"
       sources."got-6.7.1"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."has-flag-3.0.0"
+      sources."has-symbols-1.0.2"
+      sources."has-tostringtag-1.0.0"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
         dependencies = [
@@ -76319,7 +78957,6 @@ in
           sources."debug-3.2.7"
         ];
       })
-      sources."i-0.3.6"
       sources."import-lazy-2.1.0"
       sources."imurmurhash-0.1.4"
       sources."inflight-1.0.6"
@@ -76349,7 +78986,7 @@ in
       sources."is-redirect-1.0.0"
       sources."is-retry-allowed-1.2.0"
       sources."is-stream-1.1.0"
-      sources."is-string-1.0.6"
+      sources."is-string-1.0.7"
       sources."is-typedarray-1.0.0"
       sources."is-windows-1.0.2"
       sources."isarray-1.0.0"
@@ -76370,7 +79007,7 @@ in
       })
       (sources."k-rpc-socket-1.11.1" // {
         dependencies = [
-          sources."bencode-2.0.1"
+          sources."bencode-2.0.2"
         ];
       })
       sources."keypress-0.2.1"
@@ -76390,8 +79027,8 @@ in
       sources."merkle-tree-stream-3.0.3"
       sources."micromatch-3.1.10"
       sources."mime-2.5.2"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."mimic-response-2.1.0"
       sources."min-document-2.19.0"
       sources."minimatch-3.0.4"
@@ -76402,7 +79039,6 @@ in
           sources."is-extendable-1.0.1"
         ];
       })
-      sources."mkdirp-0.5.5"
       sources."mkdirp-classic-0.5.3"
       sources."ms-2.1.3"
       sources."multi-random-access-2.1.1"
@@ -76414,7 +79050,7 @@ in
       sources."multistream-2.1.1"
       sources."mute-stream-0.0.8"
       sources."mutexify-1.3.1"
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       sources."nanoassert-1.1.0"
       sources."nanobus-4.5.0"
       sources."nanoguard-1.3.0"
@@ -76422,7 +79058,6 @@ in
       sources."nanoscheduler-1.0.3"
       sources."nanotiming-7.3.1"
       sources."napi-macros-2.0.0"
-      sources."ncp-1.0.1"
       sources."neat-input-1.11.1"
       sources."neat-log-3.1.0"
       sources."neat-spinner-1.0.0"
@@ -76452,7 +79087,7 @@ in
       sources."os-homedir-1.0.2"
       sources."p-finally-1.0.0"
       sources."package-json-4.0.1"
-      sources."parse-headers-2.0.3"
+      sources."parse-headers-2.0.4"
       sources."pascalcase-0.1.1"
       sources."path-is-absolute-1.0.1"
       sources."path-is-inside-1.0.2"
@@ -76466,7 +79101,7 @@ in
       sources."process-0.11.10"
       sources."process-nextick-args-2.0.1"
       sources."progress-string-1.2.2"
-      sources."prompt-1.1.0"
+      sources."prompt-1.2.0"
       (sources."protocol-buffers-encodings-1.1.1" // {
         dependencies = [
           sources."varint-5.0.0"
@@ -76669,7 +79304,6 @@ in
       sources."url-parse-lax-1.0.0"
       sources."use-3.1.1"
       sources."util-deprecate-1.0.2"
-      sources."utile-0.3.0"
       (sources."utp-native-2.5.3" // {
         dependencies = [
           sources."node-gyp-build-4.2.3"
@@ -76706,6 +79340,726 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
+  degit = nodeEnv.buildNodePackage {
+    name = "degit";
+    packageName = "degit";
+    version = "2.8.4";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/degit/-/degit-2.8.4.tgz";
+      sha512 = "vqYuzmSA5I50J882jd+AbAhQtgK6bdKUJIex1JNfEUPENCgYsxugzKVZlFyMwV4i06MmnV47/Iqi5Io86zf3Ng==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Straightforward project scaffolding";
+      homepage = "https://github.com/Rich-Harris/degit#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  "deltachat-desktop-../../applications/networking/instant-messengers/deltachat-desktop" = nodeEnv.buildNodePackage {
+    name = "deltachat-desktop";
+    packageName = "deltachat-desktop";
+    version = "1.20.3";
+    src = ../../applications/networking/instant-messengers/deltachat-desktop;
+    dependencies = [
+      sources."@babel/code-frame-7.14.5"
+      sources."@babel/compat-data-7.15.0"
+      (sources."@babel/core-7.15.0" // {
+        dependencies = [
+          sources."source-map-0.5.7"
+        ];
+      })
+      (sources."@babel/generator-7.15.0" // {
+        dependencies = [
+          sources."source-map-0.5.7"
+        ];
+      })
+      sources."@babel/helper-annotate-as-pure-7.14.5"
+      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.14.5"
+      sources."@babel/helper-compilation-targets-7.15.0"
+      sources."@babel/helper-create-class-features-plugin-7.15.0"
+      sources."@babel/helper-create-regexp-features-plugin-7.14.5"
+      sources."@babel/helper-define-polyfill-provider-0.2.3"
+      sources."@babel/helper-explode-assignable-expression-7.14.5"
+      sources."@babel/helper-function-name-7.14.5"
+      sources."@babel/helper-get-function-arity-7.14.5"
+      sources."@babel/helper-hoist-variables-7.14.5"
+      sources."@babel/helper-member-expression-to-functions-7.15.0"
+      sources."@babel/helper-module-imports-7.14.5"
+      sources."@babel/helper-module-transforms-7.15.0"
+      sources."@babel/helper-optimise-call-expression-7.14.5"
+      sources."@babel/helper-plugin-utils-7.14.5"
+      sources."@babel/helper-remap-async-to-generator-7.14.5"
+      sources."@babel/helper-replace-supers-7.15.0"
+      sources."@babel/helper-simple-access-7.14.8"
+      sources."@babel/helper-skip-transparent-expression-wrappers-7.14.5"
+      sources."@babel/helper-split-export-declaration-7.14.5"
+      sources."@babel/helper-validator-identifier-7.14.9"
+      sources."@babel/helper-validator-option-7.14.5"
+      sources."@babel/helper-wrap-function-7.14.5"
+      sources."@babel/helpers-7.15.3"
+      sources."@babel/highlight-7.14.5"
+      sources."@babel/parser-7.15.3"
+      sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.14.5"
+      sources."@babel/plugin-proposal-async-generator-functions-7.14.9"
+      sources."@babel/plugin-proposal-class-properties-7.14.5"
+      sources."@babel/plugin-proposal-class-static-block-7.14.5"
+      sources."@babel/plugin-proposal-dynamic-import-7.14.5"
+      sources."@babel/plugin-proposal-export-namespace-from-7.14.5"
+      sources."@babel/plugin-proposal-json-strings-7.14.5"
+      sources."@babel/plugin-proposal-logical-assignment-operators-7.14.5"
+      sources."@babel/plugin-proposal-nullish-coalescing-operator-7.14.5"
+      sources."@babel/plugin-proposal-numeric-separator-7.14.5"
+      sources."@babel/plugin-proposal-object-rest-spread-7.14.7"
+      sources."@babel/plugin-proposal-optional-catch-binding-7.14.5"
+      sources."@babel/plugin-proposal-optional-chaining-7.14.5"
+      sources."@babel/plugin-proposal-private-methods-7.14.5"
+      sources."@babel/plugin-proposal-private-property-in-object-7.14.5"
+      sources."@babel/plugin-proposal-unicode-property-regex-7.14.5"
+      sources."@babel/plugin-syntax-async-generators-7.8.4"
+      sources."@babel/plugin-syntax-class-properties-7.12.13"
+      sources."@babel/plugin-syntax-class-static-block-7.14.5"
+      sources."@babel/plugin-syntax-dynamic-import-7.8.3"
+      sources."@babel/plugin-syntax-export-namespace-from-7.8.3"
+      sources."@babel/plugin-syntax-json-strings-7.8.3"
+      sources."@babel/plugin-syntax-jsx-7.14.5"
+      sources."@babel/plugin-syntax-logical-assignment-operators-7.10.4"
+      sources."@babel/plugin-syntax-nullish-coalescing-operator-7.8.3"
+      sources."@babel/plugin-syntax-numeric-separator-7.10.4"
+      sources."@babel/plugin-syntax-object-rest-spread-7.8.3"
+      sources."@babel/plugin-syntax-optional-catch-binding-7.8.3"
+      sources."@babel/plugin-syntax-optional-chaining-7.8.3"
+      sources."@babel/plugin-syntax-private-property-in-object-7.14.5"
+      sources."@babel/plugin-syntax-top-level-await-7.14.5"
+      sources."@babel/plugin-transform-arrow-functions-7.14.5"
+      sources."@babel/plugin-transform-async-to-generator-7.14.5"
+      sources."@babel/plugin-transform-block-scoped-functions-7.14.5"
+      sources."@babel/plugin-transform-block-scoping-7.15.3"
+      sources."@babel/plugin-transform-classes-7.14.9"
+      sources."@babel/plugin-transform-computed-properties-7.14.5"
+      sources."@babel/plugin-transform-destructuring-7.14.7"
+      sources."@babel/plugin-transform-dotall-regex-7.14.5"
+      sources."@babel/plugin-transform-duplicate-keys-7.14.5"
+      sources."@babel/plugin-transform-exponentiation-operator-7.14.5"
+      sources."@babel/plugin-transform-for-of-7.14.5"
+      sources."@babel/plugin-transform-function-name-7.14.5"
+      sources."@babel/plugin-transform-literals-7.14.5"
+      sources."@babel/plugin-transform-member-expression-literals-7.14.5"
+      sources."@babel/plugin-transform-modules-amd-7.14.5"
+      sources."@babel/plugin-transform-modules-commonjs-7.15.0"
+      sources."@babel/plugin-transform-modules-systemjs-7.14.5"
+      sources."@babel/plugin-transform-modules-umd-7.14.5"
+      sources."@babel/plugin-transform-named-capturing-groups-regex-7.14.9"
+      sources."@babel/plugin-transform-new-target-7.14.5"
+      sources."@babel/plugin-transform-object-super-7.14.5"
+      sources."@babel/plugin-transform-parameters-7.14.5"
+      sources."@babel/plugin-transform-property-literals-7.14.5"
+      sources."@babel/plugin-transform-react-display-name-7.15.1"
+      sources."@babel/plugin-transform-react-jsx-7.14.9"
+      sources."@babel/plugin-transform-react-jsx-development-7.14.5"
+      sources."@babel/plugin-transform-react-pure-annotations-7.14.5"
+      sources."@babel/plugin-transform-regenerator-7.14.5"
+      sources."@babel/plugin-transform-reserved-words-7.14.5"
+      sources."@babel/plugin-transform-shorthand-properties-7.14.5"
+      sources."@babel/plugin-transform-spread-7.14.6"
+      sources."@babel/plugin-transform-sticky-regex-7.14.5"
+      sources."@babel/plugin-transform-template-literals-7.14.5"
+      sources."@babel/plugin-transform-typeof-symbol-7.14.5"
+      sources."@babel/plugin-transform-unicode-escapes-7.14.5"
+      sources."@babel/plugin-transform-unicode-regex-7.14.5"
+      sources."@babel/preset-env-7.15.0"
+      sources."@babel/preset-modules-0.1.4"
+      sources."@babel/preset-react-7.14.5"
+      sources."@babel/runtime-7.15.3"
+      sources."@babel/template-7.14.5"
+      sources."@babel/traverse-7.15.0"
+      sources."@babel/types-7.15.0"
+      sources."@blueprintjs/colors-1.0.0"
+      sources."@blueprintjs/core-3.48.0"
+      sources."@blueprintjs/icons-3.28.0"
+      sources."@electron/get-1.13.0"
+      sources."@hypnosphi/create-react-context-0.3.1"
+      sources."@mapbox/extent-0.4.0"
+      sources."@mapbox/geojson-coords-0.0.1"
+      sources."@mapbox/geojson-extent-1.0.0"
+      sources."@mapbox/geojson-normalize-0.0.1"
+      sources."@mapbox/geojson-rewind-0.5.1"
+      sources."@mapbox/geojson-types-1.0.2"
+      sources."@mapbox/jsonlint-lines-primitives-2.0.2"
+      sources."@mapbox/mapbox-gl-supported-1.5.0"
+      sources."@mapbox/point-geometry-0.1.0"
+      sources."@mapbox/tiny-sdf-1.2.5"
+      sources."@mapbox/unitbezier-0.0.0"
+      sources."@mapbox/vector-tile-1.3.1"
+      sources."@mapbox/whoots-js-3.1.0"
+      sources."@sindresorhus/is-0.14.0"
+      sources."@szmarczak/http-timer-1.1.2"
+      sources."@types/debounce-1.2.0"
+      sources."@types/dom4-2.0.2"
+      sources."@types/emoji-mart-3.0.5"
+      sources."@types/fs-extra-8.1.2"
+      sources."@types/geojson-7946.0.8"
+      sources."@types/mapbox-gl-0.54.5"
+      sources."@types/mime-types-2.1.1"
+      sources."@types/node-14.17.12"
+      sources."@types/node-fetch-2.5.12"
+      sources."@types/prop-types-15.7.4"
+      sources."@types/rc-1.2.0"
+      sources."@types/react-16.14.14"
+      sources."@types/react-dom-16.9.14"
+      sources."@types/react-virtualized-9.21.13"
+      sources."@types/scheduler-0.16.2"
+      sources."@types/url-parse-1.4.4"
+      sources."ansi-styles-3.2.1"
+      (sources."anymatch-2.0.0" // {
+        dependencies = [
+          sources."normalize-path-2.1.1"
+        ];
+      })
+      sources."application-config-1.0.1"
+      sources."application-config-path-0.1.0"
+      sources."arr-diff-4.0.0"
+      sources."arr-flatten-1.1.0"
+      sources."arr-union-3.1.0"
+      sources."array-differ-3.0.0"
+      sources."array-each-1.0.1"
+      sources."array-slice-1.1.0"
+      sources."array-unique-0.3.2"
+      sources."assign-symbols-1.0.0"
+      sources."async-done-1.3.2"
+      sources."async-each-1.0.3"
+      sources."asynckit-0.4.0"
+      sources."atob-2.1.2"
+      sources."babel-plugin-dynamic-import-node-2.3.3"
+      sources."babel-plugin-polyfill-corejs2-0.2.2"
+      sources."babel-plugin-polyfill-corejs3-0.2.4"
+      sources."babel-plugin-polyfill-regenerator-0.2.2"
+      (sources."base-0.11.2" // {
+        dependencies = [
+          sources."define-property-1.0.0"
+        ];
+      })
+      sources."binary-extensions-1.13.1"
+      sources."bindings-1.5.0"
+      sources."boolean-3.1.4"
+      (sources."braces-2.3.2" // {
+        dependencies = [
+          sources."extend-shallow-2.0.1"
+        ];
+      })
+      sources."browserslist-4.16.8"
+      sources."buffer-crc32-0.2.13"
+      sources."buffer-from-1.1.2"
+      sources."cache-base-1.0.1"
+      (sources."cacheable-request-6.1.0" // {
+        dependencies = [
+          sources."get-stream-5.2.0"
+          sources."lowercase-keys-2.0.0"
+        ];
+      })
+      sources."call-bind-1.0.2"
+      sources."caniuse-lite-1.0.30001252"
+      sources."chalk-2.4.2"
+      sources."chokidar-2.1.8"
+      (sources."class-utils-0.3.6" // {
+        dependencies = [
+          sources."define-property-0.2.5"
+          (sources."is-accessor-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          (sources."is-data-descriptor-0.1.4" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."is-descriptor-0.1.6"
+          sources."kind-of-5.1.0"
+        ];
+      })
+      sources."classnames-2.3.1"
+      sources."clone-response-1.0.2"
+      sources."clsx-1.1.1"
+      sources."collection-visit-1.0.0"
+      sources."color-convert-1.9.3"
+      sources."color-name-1.1.3"
+      sources."colorette-1.3.0"
+      sources."combined-stream-1.0.8"
+      sources."component-emitter-1.3.0"
+      (sources."concat-stream-1.6.2" // {
+        dependencies = [
+          sources."readable-stream-2.3.7"
+          sources."safe-buffer-5.1.2"
+          sources."string_decoder-1.1.1"
+        ];
+      })
+      sources."config-chain-1.1.13"
+      (sources."convert-source-map-1.8.0" // {
+        dependencies = [
+          sources."safe-buffer-5.1.2"
+        ];
+      })
+      sources."copy-descriptor-0.1.1"
+      sources."core-js-3.16.3"
+      (sources."core-js-compat-3.16.3" // {
+        dependencies = [
+          sources."semver-7.0.0"
+        ];
+      })
+      sources."core-util-is-1.0.2"
+      sources."crypto-random-string-1.0.0"
+      sources."csscolorparser-1.0.3"
+      sources."csstype-3.0.8"
+      sources."debounce-1.2.1"
+      sources."debug-4.3.2"
+      sources."decode-uri-component-0.2.0"
+      sources."decompress-response-3.3.0"
+      sources."deep-equal-1.1.1"
+      sources."deep-extend-0.6.0"
+      sources."defer-to-connect-1.1.3"
+      sources."define-properties-1.1.3"
+      sources."define-property-2.0.2"
+      sources."delayed-stream-1.0.0"
+      sources."deltachat-node-1.56.2"
+      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.2.2"
+      sources."electron-to-chromium-1.3.818"
+      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."es6-error-4.1.1"
+      sources."escalade-3.1.1"
+      sources."escape-string-regexp-1.0.5"
+      sources."esutils-2.0.3"
+      (sources."expand-brackets-2.1.4" // {
+        dependencies = [
+          sources."debug-2.6.9"
+          sources."define-property-0.2.5"
+          sources."extend-shallow-2.0.1"
+          (sources."is-accessor-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          (sources."is-data-descriptor-0.1.4" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."is-descriptor-0.1.6"
+          sources."kind-of-5.1.0"
+          sources."ms-2.0.0"
+        ];
+      })
+      (sources."extend-shallow-3.0.2" // {
+        dependencies = [
+          sources."is-extendable-1.0.1"
+        ];
+      })
+      (sources."extglob-2.0.4" // {
+        dependencies = [
+          sources."define-property-1.0.0"
+          sources."extend-shallow-2.0.1"
+        ];
+      })
+      (sources."extract-zip-1.7.0" // {
+        dependencies = [
+          sources."debug-2.6.9"
+          sources."ms-2.0.0"
+        ];
+      })
+      sources."fd-slicer-1.1.0"
+      sources."file-uri-to-path-1.0.0"
+      sources."filesize-6.4.0"
+      (sources."fill-range-4.0.0" // {
+        dependencies = [
+          sources."extend-shallow-2.0.1"
+        ];
+      })
+      sources."for-in-1.0.2"
+      sources."for-own-1.0.0"
+      sources."form-data-3.0.1"
+      sources."fragment-cache-0.2.1"
+      sources."fs-extra-8.1.0"
+      sources."fsevents-1.2.13"
+      sources."function-bind-1.1.1"
+      sources."gensync-1.0.0-beta.2"
+      sources."geojson-flatten-1.0.4"
+      sources."geojson-vt-3.2.1"
+      sources."get-intrinsic-1.1.1"
+      sources."get-stdin-7.0.0"
+      sources."get-stream-6.0.1"
+      sources."get-value-2.0.6"
+      sources."gl-matrix-3.3.0"
+      (sources."glob-parent-3.1.0" // {
+        dependencies = [
+          sources."is-glob-3.1.0"
+        ];
+      })
+      sources."glob-watcher-5.0.5"
+      (sources."global-agent-2.2.0" // {
+        dependencies = [
+          sources."semver-7.3.5"
+        ];
+      })
+      sources."global-tunnel-ng-2.7.1"
+      sources."globals-11.12.0"
+      sources."globalthis-1.0.2"
+      (sources."got-9.6.0" // {
+        dependencies = [
+          sources."get-stream-4.1.0"
+        ];
+      })
+      sources."graceful-fs-4.2.8"
+      sources."grid-index-1.1.0"
+      sources."gud-1.0.0"
+      sources."has-1.0.3"
+      sources."has-flag-3.0.0"
+      sources."has-symbols-1.0.2"
+      sources."has-tostringtag-1.0.0"
+      sources."has-value-1.0.0"
+      (sources."has-values-1.0.0" // {
+        dependencies = [
+          sources."kind-of-4.0.0"
+        ];
+      })
+      sources."http-cache-semantics-4.1.0"
+      sources."ieee754-1.2.1"
+      sources."inherits-2.0.4"
+      sources."ini-1.3.8"
+      sources."is-accessor-descriptor-1.0.0"
+      sources."is-arguments-1.1.1"
+      sources."is-binary-path-1.0.1"
+      sources."is-buffer-1.1.6"
+      sources."is-core-module-2.6.0"
+      sources."is-data-descriptor-1.0.0"
+      sources."is-date-object-1.0.5"
+      sources."is-descriptor-1.0.2"
+      sources."is-extendable-0.1.1"
+      sources."is-extglob-2.1.1"
+      sources."is-glob-4.0.1"
+      sources."is-negated-glob-1.0.0"
+      (sources."is-number-3.0.0" // {
+        dependencies = [
+          sources."kind-of-3.2.2"
+        ];
+      })
+      sources."is-plain-object-2.0.4"
+      sources."is-regex-1.1.4"
+      sources."is-windows-1.0.2"
+      sources."isarray-1.0.0"
+      sources."isobject-3.0.1"
+      sources."js-tokens-4.0.0"
+      sources."jsesc-2.5.2"
+      sources."json-buffer-3.0.0"
+      sources."json-stringify-safe-5.0.1"
+      sources."json5-2.2.0"
+      sources."jsonfile-4.0.0"
+      sources."jsqr-1.4.0"
+      sources."just-debounce-1.1.0"
+      sources."kdbush-3.0.0"
+      sources."keyv-3.1.0"
+      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"
+      sources."map-cache-0.2.2"
+      sources."map-visit-1.0.0"
+      (sources."mapbox-gl-1.13.1" // {
+        dependencies = [
+          sources."rw-1.3.3"
+        ];
+      })
+      (sources."matcher-3.0.0" // {
+        dependencies = [
+          sources."escape-string-regexp-4.0.0"
+        ];
+      })
+      sources."micromatch-3.1.10"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
+      sources."mimic-response-1.0.1"
+      sources."minimist-1.2.5"
+      (sources."mixin-deep-1.3.2" // {
+        dependencies = [
+          sources."is-extendable-1.0.1"
+        ];
+      })
+      sources."mkdirp-0.5.5"
+      sources."moment-2.29.1"
+      sources."ms-2.1.2"
+      sources."murmurhash-js-1.0.0"
+      sources."nan-2.15.0"
+      sources."nanomatch-1.2.13"
+      sources."napi-macros-2.0.0"
+      sources."node-fetch-2.6.1"
+      sources."node-gyp-build-4.2.3"
+      sources."node-releases-1.1.75"
+      sources."normalize-path-3.0.0"
+      sources."normalize-url-4.5.1"
+      sources."normalize.css-8.0.1"
+      sources."npm-conf-1.1.3"
+      sources."object-assign-4.1.1"
+      (sources."object-copy-0.1.0" // {
+        dependencies = [
+          sources."define-property-0.2.5"
+          sources."is-accessor-descriptor-0.1.6"
+          sources."is-data-descriptor-0.1.4"
+          (sources."is-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-5.1.0"
+            ];
+          })
+          sources."kind-of-3.2.2"
+        ];
+      })
+      sources."object-is-1.1.5"
+      sources."object-keys-1.1.1"
+      sources."object-visit-1.0.1"
+      sources."object.assign-4.1.2"
+      sources."object.defaults-1.1.0"
+      sources."object.pick-1.3.0"
+      sources."once-1.4.0"
+      sources."p-cancelable-1.1.0"
+      sources."pascalcase-0.1.1"
+      sources."path-browserify-1.0.1"
+      sources."path-dirname-1.0.2"
+      sources."path-is-absolute-1.0.1"
+      sources."path-parse-1.0.7"
+      sources."pbf-3.2.1"
+      sources."pend-1.2.0"
+      sources."picomatch-2.3.0"
+      sources."pify-3.0.0"
+      sources."popper.js-1.16.1"
+      sources."posix-character-classes-0.1.1"
+      sources."potpack-1.0.1"
+      sources."prepend-http-2.0.0"
+      sources."process-nextick-args-2.0.1"
+      sources."progress-2.0.3"
+      sources."prop-types-15.7.2"
+      sources."proto-list-1.2.4"
+      sources."protocol-buffers-schema-3.5.2"
+      sources."pump-3.0.0"
+      sources."punycode-2.1.1"
+      sources."qr.js-0.0.0"
+      sources."querystringify-2.2.0"
+      sources."quickselect-2.0.0"
+      sources."rc-1.2.8"
+      sources."react-17.0.2"
+      sources."react-dom-17.0.2"
+      sources."react-is-16.13.1"
+      sources."react-lifecycles-compat-3.0.4"
+      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-transition-group-2.9.0"
+      (sources."react-virtualized-9.22.3" // {
+        dependencies = [
+          sources."dom-helpers-5.2.1"
+        ];
+      })
+      sources."readable-stream-3.6.0"
+      (sources."readdirp-2.2.1" // {
+        dependencies = [
+          sources."readable-stream-2.3.7"
+          sources."safe-buffer-5.1.2"
+          sources."string_decoder-1.1.1"
+        ];
+      })
+      sources."regenerate-1.4.2"
+      sources."regenerate-unicode-properties-8.2.0"
+      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.7.1"
+      sources."regjsgen-0.5.2"
+      (sources."regjsparser-0.6.9" // {
+        dependencies = [
+          sources."jsesc-0.5.0"
+        ];
+      })
+      sources."remove-trailing-separator-1.1.0"
+      sources."repeat-element-1.1.4"
+      sources."repeat-string-1.6.1"
+      sources."requires-port-1.0.0"
+      sources."resize-observer-polyfill-1.5.1"
+      sources."resolve-1.20.0"
+      sources."resolve-protobuf-schema-2.1.0"
+      sources."resolve-url-0.2.1"
+      sources."responselike-1.0.2"
+      sources."ret-0.1.15"
+      sources."roarr-2.15.4"
+      sources."rtcpeerconnection-shim-1.2.15"
+      sources."rw-0.1.4"
+      sources."safe-buffer-5.2.1"
+      sources."safe-regex-1.1.0"
+      (sources."sass-1.38.1" // {
+        dependencies = [
+          sources."anymatch-3.1.2"
+          sources."binary-extensions-2.2.0"
+          sources."braces-3.0.2"
+          sources."chokidar-3.5.2"
+          sources."fill-range-7.0.1"
+          sources."fsevents-2.3.2"
+          sources."glob-parent-5.1.2"
+          sources."is-binary-path-2.1.0"
+          sources."is-number-7.0.0"
+          sources."readdirp-3.6.0"
+          sources."to-regex-range-5.0.1"
+        ];
+      })
+      sources."sax-1.2.4"
+      sources."scheduler-0.20.2"
+      sources."sdp-2.12.0"
+      sources."semver-6.3.0"
+      sources."semver-compare-1.0.0"
+      (sources."serialize-error-7.0.1" // {
+        dependencies = [
+          sources."type-fest-0.13.1"
+        ];
+      })
+      (sources."set-value-2.0.1" // {
+        dependencies = [
+          sources."extend-shallow-2.0.1"
+        ];
+      })
+      sources."simple-markdown-0.7.3"
+      (sources."snapdragon-0.8.2" // {
+        dependencies = [
+          sources."debug-2.6.9"
+          sources."define-property-0.2.5"
+          sources."extend-shallow-2.0.1"
+          (sources."is-accessor-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          (sources."is-data-descriptor-0.1.4" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."is-descriptor-0.1.6"
+          sources."kind-of-5.1.0"
+          sources."ms-2.0.0"
+          sources."source-map-0.5.7"
+        ];
+      })
+      (sources."snapdragon-node-2.1.1" // {
+        dependencies = [
+          sources."define-property-1.0.0"
+        ];
+      })
+      (sources."snapdragon-util-3.0.1" // {
+        dependencies = [
+          sources."kind-of-3.2.2"
+        ];
+      })
+      sources."source-map-0.6.1"
+      sources."source-map-resolve-0.5.3"
+      sources."source-map-support-0.5.19"
+      sources."source-map-url-0.4.1"
+      sources."split-string-3.1.0"
+      sources."split2-3.2.2"
+      sources."sprintf-js-1.1.2"
+      sources."stackframe-1.2.0"
+      (sources."static-extend-0.1.2" // {
+        dependencies = [
+          sources."define-property-0.2.5"
+          (sources."is-accessor-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          (sources."is-data-descriptor-0.1.4" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."is-descriptor-0.1.6"
+          sources."kind-of-5.1.0"
+        ];
+      })
+      sources."stream-exhaust-1.0.2"
+      sources."string_decoder-1.3.0"
+      sources."strip-json-comments-2.0.1"
+      sources."sumchecker-3.0.1"
+      sources."supercluster-7.1.3"
+      sources."supports-color-5.5.0"
+      sources."temp-dir-1.0.0"
+      sources."tempy-0.3.0"
+      sources."tinyqueue-2.0.3"
+      sources."to-fast-properties-2.0.0"
+      (sources."to-object-path-0.3.0" // {
+        dependencies = [
+          sources."kind-of-3.2.2"
+        ];
+      })
+      sources."to-readable-stream-1.0.0"
+      sources."to-regex-3.0.2"
+      sources."to-regex-range-2.1.1"
+      sources."traverse-0.6.6"
+      sources."tslib-1.13.0"
+      sources."tunnel-0.0.6"
+      sources."type-fest-0.3.1"
+      sources."typed-styles-0.0.7"
+      sources."typedarray-0.0.6"
+      sources."typescript-3.9.10"
+      sources."unicode-canonical-property-names-ecmascript-1.0.4"
+      sources."unicode-match-property-ecmascript-1.0.4"
+      sources."unicode-match-property-value-ecmascript-1.2.0"
+      sources."unicode-property-aliases-ecmascript-1.1.0"
+      sources."union-value-1.0.1"
+      sources."unique-string-1.0.0"
+      sources."universalify-0.1.2"
+      (sources."unset-value-1.0.0" // {
+        dependencies = [
+          (sources."has-value-0.3.1" // {
+            dependencies = [
+              sources."isobject-2.1.0"
+            ];
+          })
+          sources."has-values-0.1.4"
+        ];
+      })
+      sources."upath-1.2.0"
+      sources."urix-0.1.0"
+      sources."url-parse-1.5.3"
+      sources."url-parse-lax-3.0.0"
+      sources."use-3.1.1"
+      sources."use-debounce-3.4.3"
+      sources."util-deprecate-1.0.2"
+      sources."vt-pbf-3.1.3"
+      sources."warning-4.0.3"
+      sources."webrtc-adapter-7.7.1"
+      sources."wrappy-1.0.2"
+      sources."xml-js-1.6.11"
+      sources."yallist-4.0.0"
+      sources."yauzl-2.10.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
   dhcp = nodeEnv.buildNodePackage {
     name = "dhcp";
     packageName = "dhcp";
@@ -76730,10 +80084,10 @@ in
   diagnostic-languageserver = nodeEnv.buildNodePackage {
     name = "diagnostic-languageserver";
     packageName = "diagnostic-languageserver";
-    version = "1.11.0";
+    version = "1.13.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/diagnostic-languageserver/-/diagnostic-languageserver-1.11.0.tgz";
-      sha512 = "4kjsgc/rV+qtH3dTqEnR/ug36yKNjyo5z674ySkD6k08DwlLs10fsP/I+d8BAsbtjpL36bqZxLa9iNgTDqioXQ==";
+      url = "https://registry.npmjs.org/diagnostic-languageserver/-/diagnostic-languageserver-1.13.0.tgz";
+      sha512 = "ye07E+B6IpwUx3eBvZ9Ug0dVloNDzefTWlxkYnP+kB2nB17tjU07wiWzy2FamWIXIlL6THBtY74ZmvoVQ3Bn7w==";
     };
     dependencies = [
       sources."@nodelib/fs.scandir-2.1.5"
@@ -76751,14 +80105,14 @@ in
       sources."del-6.0.0"
       sources."dir-glob-3.0.1"
       sources."fast-glob-3.2.7"
-      sources."fastq-1.11.1"
+      sources."fastq-1.12.0"
       sources."fill-range-7.0.1"
       sources."find-up-4.1.0"
       sources."fs.realpath-1.0.0"
       sources."glob-7.1.7"
       sources."glob-parent-5.1.2"
       sources."globby-11.0.4"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."ignore-5.1.8"
       sources."indent-string-4.0.0"
       sources."inflight-1.0.6"
@@ -76768,7 +80122,7 @@ in
       sources."is-number-7.0.0"
       sources."is-path-cwd-2.2.0"
       sources."is-path-inside-3.0.3"
-      sources."is-stream-2.0.0"
+      sources."is-stream-2.0.1"
       sources."locate-path-5.0.0"
       sources."lodash-4.17.21"
       sources."merge2-1.4.1"
@@ -76816,30 +80170,20 @@ in
   dockerfile-language-server-nodejs = nodeEnv.buildNodePackage {
     name = "dockerfile-language-server-nodejs";
     packageName = "dockerfile-language-server-nodejs";
-    version = "0.4.1";
+    version = "0.5.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/dockerfile-language-server-nodejs/-/dockerfile-language-server-nodejs-0.4.1.tgz";
-      sha512 = "7mB+HdMd4dfjChK1+37++ylA+sy7wFaf0/3HDy6cJDj5dTx4C4vVDmDKQpZgNJU1gIkxDnW6QCLCxpoe5FPyVA==";
+      url = "https://registry.npmjs.org/dockerfile-language-server-nodejs/-/dockerfile-language-server-nodejs-0.5.0.tgz";
+      sha512 = "aDwANs1c1xIh5lQTbMlsGx8tMDk1k+sjsYbIXYjWvGY9Ff2e40MQ6RgALItVVij1dj1049FkG9MOHLFqekxZoA==";
     };
     dependencies = [
-      (sources."dockerfile-ast-0.2.0" // {
+      (sources."dockerfile-ast-0.3.0" // {
         dependencies = [
           sources."vscode-languageserver-types-3.16.0"
         ];
       })
-      (sources."dockerfile-language-service-0.3.0" // {
-        dependencies = [
-          (sources."dockerfile-utils-0.4.2" // {
-            dependencies = [
-              sources."dockerfile-ast-0.2.1"
-              sources."vscode-languageserver-types-3.16.0"
-            ];
-          })
-        ];
-      })
-      (sources."dockerfile-utils-0.2.0" // {
+      sources."dockerfile-language-service-0.4.0"
+      (sources."dockerfile-utils-0.5.0" // {
         dependencies = [
-          sources."dockerfile-ast-0.1.0"
           sources."vscode-languageserver-types-3.16.0"
         ];
       })
@@ -76850,6 +80194,7 @@ in
           sources."vscode-languageserver-types-3.16.0"
         ];
       })
+      sources."vscode-languageserver-textdocument-1.0.1"
       sources."vscode-languageserver-types-3.17.0-next.1"
     ];
     buildInputs = globalBuildInputs;
@@ -76865,15 +80210,15 @@ in
   elasticdump = nodeEnv.buildNodePackage {
     name = "elasticdump";
     packageName = "elasticdump";
-    version = "6.72.0";
+    version = "6.73.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/elasticdump/-/elasticdump-6.72.0.tgz";
-      sha512 = "sOsFzBwwUkJkP6EZ8cOwz1eFva5sTf6ojhOgl2gplRs7+PkuqGyng/4TnKL3KIFqwE5lFsA66sIh8UQU4Dkecw==";
+      url = "https://registry.npmjs.org/elasticdump/-/elasticdump-6.73.0.tgz";
+      sha512 = "9QWk+d0xuT6W+AEvr06Zoh1rllXGkDMUH9LxFtey3Abv5E0M2qSvdspGvqb4d6Fw7BZiThX4tDabT6VNpxqftQ==";
     };
     dependencies = [
       sources."@fast-csv/format-4.3.5"
       sources."@fast-csv/parse-4.3.6"
-      sources."@types/node-14.17.5"
+      sources."@types/node-14.17.12"
       sources."JSONStream-1.3.5"
       sources."ajv-6.12.6"
       sources."asn1-0.2.4"
@@ -76938,10 +80283,10 @@ in
       sources."lodash.isnil-4.0.0"
       sources."lodash.isundefined-3.0.1"
       sources."lodash.uniq-4.5.0"
-      sources."lossless-json-1.0.4"
+      sources."lossless-json-1.0.5"
       sources."method-missing-1.2.4"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."minimist-1.2.5"
       sources."oauth-sign-0.9.0"
       sources."p-finally-1.0.0"
@@ -77011,31 +80356,31 @@ in
   "@electron-forge/cli" = nodeEnv.buildNodePackage {
     name = "_at_electron-forge_slash_cli";
     packageName = "@electron-forge/cli";
-    version = "6.0.0-beta.58";
+    version = "6.0.0-beta.59";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@electron-forge/cli/-/cli-6.0.0-beta.58.tgz";
-      sha512 = "dlGj8lrtUGOwoNaU/zEhbJMOEAqiZUcn9AJrX80saSplkkWEkOpoo4UkLJ256BLyK8nA1+k89pT/KMtFrUFcPg==";
+      url = "https://registry.npmjs.org/@electron-forge/cli/-/cli-6.0.0-beta.59.tgz";
+      sha512 = "cFYnr5LKi+Hg+rzhL2OZq5S7vlqzNS8rlQzXiYtv4Ft6BY27CTJ8mz76nAxgjRFv0/rDUyKTY2NZUOPeztziMQ==";
     };
     dependencies = [
-      sources."@electron-forge/async-ora-6.0.0-beta.58"
-      sources."@electron-forge/core-6.0.0-beta.58"
-      sources."@electron-forge/installer-base-6.0.0-beta.58"
-      sources."@electron-forge/installer-darwin-6.0.0-beta.58"
-      sources."@electron-forge/installer-deb-6.0.0-beta.58"
-      sources."@electron-forge/installer-dmg-6.0.0-beta.58"
-      sources."@electron-forge/installer-exe-6.0.0-beta.58"
-      sources."@electron-forge/installer-linux-6.0.0-beta.58"
-      sources."@electron-forge/installer-rpm-6.0.0-beta.58"
-      sources."@electron-forge/installer-zip-6.0.0-beta.58"
-      sources."@electron-forge/maker-base-6.0.0-beta.58"
-      sources."@electron-forge/plugin-base-6.0.0-beta.58"
-      sources."@electron-forge/publisher-base-6.0.0-beta.58"
-      sources."@electron-forge/shared-types-6.0.0-beta.58"
-      sources."@electron-forge/template-base-6.0.0-beta.58"
-      sources."@electron-forge/template-typescript-6.0.0-beta.58"
-      sources."@electron-forge/template-typescript-webpack-6.0.0-beta.58"
-      sources."@electron-forge/template-webpack-6.0.0-beta.58"
-      (sources."@electron/get-1.12.4" // {
+      sources."@electron-forge/async-ora-6.0.0-beta.59"
+      sources."@electron-forge/core-6.0.0-beta.59"
+      sources."@electron-forge/installer-base-6.0.0-beta.59"
+      sources."@electron-forge/installer-darwin-6.0.0-beta.59"
+      sources."@electron-forge/installer-deb-6.0.0-beta.59"
+      sources."@electron-forge/installer-dmg-6.0.0-beta.59"
+      sources."@electron-forge/installer-exe-6.0.0-beta.59"
+      sources."@electron-forge/installer-linux-6.0.0-beta.59"
+      sources."@electron-forge/installer-rpm-6.0.0-beta.59"
+      sources."@electron-forge/installer-zip-6.0.0-beta.59"
+      sources."@electron-forge/maker-base-6.0.0-beta.59"
+      sources."@electron-forge/plugin-base-6.0.0-beta.59"
+      sources."@electron-forge/publisher-base-6.0.0-beta.59"
+      sources."@electron-forge/shared-types-6.0.0-beta.59"
+      sources."@electron-forge/template-base-6.0.0-beta.59"
+      sources."@electron-forge/template-typescript-6.0.0-beta.59"
+      sources."@electron-forge/template-typescript-webpack-6.0.0-beta.59"
+      sources."@electron-forge/template-webpack-6.0.0-beta.59"
+      (sources."@electron/get-1.13.0" // {
         dependencies = [
           sources."@sindresorhus/is-0.14.0"
           sources."@szmarczak/http-timer-1.1.2"
@@ -77062,6 +80407,9 @@ in
         ];
       })
       sources."@malept/cross-spawn-promise-2.0.0"
+      sources."@nodelib/fs.scandir-2.1.5"
+      sources."@nodelib/fs.stat-2.0.5"
+      sources."@nodelib/fs.walk-1.2.8"
       sources."@sindresorhus/is-4.0.1"
       sources."@szmarczak/http-timer-4.0.6"
       sources."@types/cacheable-request-6.0.2"
@@ -77069,7 +80417,7 @@ in
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/keyv-3.1.2"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-16.4.0"
+      sources."@types/node-16.7.2"
       sources."@types/responselike-1.0.0"
       sources."@types/yauzl-2.9.2"
       sources."abbrev-1.1.1"
@@ -77107,20 +80455,21 @@ in
       sources."bcrypt-pbkdf-1.0.2"
       sources."bl-4.1.0"
       sources."bluebird-3.7.2"
-      sources."boolean-3.1.2"
+      sources."boolean-3.1.4"
       sources."brace-expansion-1.1.11"
+      sources."braces-3.0.2"
       sources."buffer-5.7.1"
       sources."buffer-alloc-1.2.0"
       sources."buffer-alloc-unsafe-1.1.0"
       sources."buffer-crc32-0.2.13"
       sources."buffer-fill-1.0.0"
-      sources."buffer-from-1.1.1"
+      sources."buffer-from-1.1.2"
       sources."cacheable-lookup-5.0.4"
       sources."cacheable-request-7.0.2"
       sources."camelcase-2.1.1"
       sources."camelcase-keys-2.1.0"
       sources."caseless-0.12.0"
-      sources."chalk-4.1.1"
+      sources."chalk-4.1.2"
       sources."chardet-0.7.0"
       sources."chownr-1.1.4"
       sources."chromium-pickle-js-0.2.0"
@@ -77145,7 +80494,7 @@ in
       sources."concat-map-0.0.1"
       sources."config-chain-1.1.13"
       sources."console-control-strings-1.1.0"
-      sources."core-js-3.15.2"
+      sources."core-js-3.16.3"
       sources."core-util-is-1.0.2"
       sources."cross-spawn-7.0.3"
       (sources."cross-spawn-windows-exe-1.2.0" // {
@@ -77181,7 +80530,7 @@ in
       sources."detect-node-2.1.0"
       sources."duplexer3-0.1.4"
       sources."ecc-jsbn-0.1.2"
-      (sources."electron-notarize-1.0.0" // {
+      (sources."electron-notarize-1.1.0" // {
         dependencies = [
           sources."fs-extra-9.1.0"
         ];
@@ -77227,11 +80576,14 @@ in
       sources."extract-zip-2.0.1"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-3.1.3"
+      sources."fast-glob-3.2.7"
       sources."fast-json-stable-stringify-2.1.0"
+      sources."fastq-1.12.0"
       sources."fd-slicer-1.1.0"
       sources."figures-3.2.0"
       sources."filename-reserved-regex-2.0.0"
       sources."filenamify-4.3.0"
+      sources."fill-range-7.0.1"
       (sources."find-up-5.0.0" // {
         dependencies = [
           sources."locate-path-6.0.0"
@@ -77279,6 +80631,7 @@ in
       sources."get-stream-5.2.0"
       sources."getpass-0.1.7"
       sources."glob-7.1.7"
+      sources."glob-parent-5.1.2"
       sources."global-agent-2.2.0"
       sources."global-modules-1.0.0"
       (sources."global-prefix-1.0.2" // {
@@ -77289,7 +80642,7 @@ in
       sources."global-tunnel-ng-2.7.1"
       sources."globalthis-1.0.2"
       sources."got-11.8.2"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."has-1.0.3"
@@ -77314,11 +80667,14 @@ in
         ];
       })
       sources."is-arrayish-0.2.1"
-      sources."is-core-module-2.5.0"
+      sources."is-core-module-2.6.0"
       sources."is-docker-2.2.1"
+      sources."is-extglob-2.1.1"
       sources."is-finite-1.1.0"
       sources."is-fullwidth-code-point-1.0.0"
+      sources."is-glob-4.0.1"
       sources."is-interactive-1.0.0"
+      sources."is-number-7.0.0"
       sources."is-stream-1.1.0"
       sources."is-typedarray-1.0.0"
       sources."is-unicode-supported-0.1.0"
@@ -77376,8 +80732,10 @@ in
           sources."strip-bom-2.0.0"
         ];
       })
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."merge2-1.4.1"
+      sources."micromatch-4.0.4"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."mimic-fn-2.1.0"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.0.4"
@@ -77387,7 +80745,7 @@ in
       sources."mkdirp-0.5.5"
       sources."ms-2.0.0"
       sources."mute-stream-0.0.8"
-      (sources."needle-2.8.0" // {
+      (sources."needle-2.9.0" // {
         dependencies = [
           sources."debug-3.2.7"
           sources."ms-2.1.3"
@@ -77410,7 +80768,7 @@ in
       (sources."node-pre-gyp-0.11.0" // {
         dependencies = [
           sources."semver-5.7.1"
-          sources."tar-4.4.13"
+          sources."tar-4.4.19"
         ];
       })
       sources."nopt-4.0.3"
@@ -77468,6 +80826,7 @@ in
       sources."path-type-2.0.0"
       sources."pend-1.2.0"
       sources."performance-now-2.1.0"
+      sources."picomatch-2.3.0"
       sources."pify-2.3.0"
       sources."pinkie-2.0.4"
       sources."pinkie-promise-2.0.1"
@@ -77481,7 +80840,7 @@ in
           sources."path-exists-4.0.0"
         ];
       })
-      sources."plist-3.0.2"
+      sources."plist-3.0.3"
       sources."prepend-http-2.0.0"
       sources."pretty-bytes-1.0.4"
       sources."pretty-ms-7.0.1"
@@ -77493,6 +80852,7 @@ in
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
+      sources."queue-microtask-1.2.3"
       sources."quick-lru-5.1.1"
       sources."rc-1.2.8"
       sources."rcedit-3.0.1"
@@ -77513,10 +80873,12 @@ in
       sources."resolve-package-1.0.1"
       sources."responselike-2.0.0"
       sources."restore-cursor-3.1.0"
+      sources."reusify-1.0.4"
       sources."rimraf-2.7.1"
       sources."roarr-2.15.4"
       sources."run-async-2.4.1"
-      sources."rxjs-7.2.0"
+      sources."run-parallel-1.2.0"
+      sources."rxjs-7.3.0"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
       sources."sax-1.2.4"
@@ -77533,7 +80895,7 @@ in
       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.9"
+      sources."spdx-license-ids-3.0.10"
       sources."speedometer-0.1.4"
       sources."sprintf-js-1.1.2"
       sources."sshpk-1.16.1"
@@ -77553,7 +80915,7 @@ in
       sources."sudo-prompt-9.2.1"
       sources."sumchecker-3.0.1"
       sources."supports-color-7.2.0"
-      (sources."tar-6.1.0" // {
+      (sources."tar-6.1.11" // {
         dependencies = [
           sources."chownr-2.0.0"
           sources."fs-minipass-2.1.0"
@@ -77574,6 +80936,7 @@ in
       })
       sources."tmp-0.0.33"
       sources."to-readable-stream-1.0.0"
+      sources."to-regex-range-5.0.1"
       sources."tough-cookie-2.5.0"
       sources."trim-newlines-1.0.0"
       sources."trim-repeated-1.0.0"
@@ -77601,7 +80964,7 @@ in
       })
       sources."wrappy-1.0.2"
       sources."xmlbuilder-9.0.7"
-      sources."xmldom-0.5.0"
+      sources."xmldom-0.6.0"
       sources."xtend-2.1.2"
       sources."y18n-5.0.8"
       sources."yallist-3.1.1"
@@ -77663,15 +81026,15 @@ in
     };
     dependencies = [
       sources."@babel/code-frame-7.14.5"
-      sources."@babel/compat-data-7.14.7"
-      (sources."@babel/core-7.14.8" // {
+      sources."@babel/compat-data-7.15.0"
+      (sources."@babel/core-7.15.0" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      sources."@babel/generator-7.14.8"
+      sources."@babel/generator-7.15.0"
       sources."@babel/helper-annotate-as-pure-7.14.5"
-      (sources."@babel/helper-compilation-targets-7.14.5" // {
+      (sources."@babel/helper-compilation-targets-7.15.0" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
@@ -77679,35 +81042,35 @@ in
       sources."@babel/helper-function-name-7.14.5"
       sources."@babel/helper-get-function-arity-7.14.5"
       sources."@babel/helper-hoist-variables-7.14.5"
-      sources."@babel/helper-member-expression-to-functions-7.14.7"
+      sources."@babel/helper-member-expression-to-functions-7.15.0"
       sources."@babel/helper-module-imports-7.14.5"
-      sources."@babel/helper-module-transforms-7.14.8"
+      sources."@babel/helper-module-transforms-7.15.0"
       sources."@babel/helper-optimise-call-expression-7.14.5"
       sources."@babel/helper-plugin-utils-7.14.5"
-      sources."@babel/helper-replace-supers-7.14.5"
+      sources."@babel/helper-replace-supers-7.15.0"
       sources."@babel/helper-simple-access-7.14.8"
       sources."@babel/helper-split-export-declaration-7.14.5"
-      sources."@babel/helper-validator-identifier-7.14.8"
+      sources."@babel/helper-validator-identifier-7.14.9"
       sources."@babel/helper-validator-option-7.14.5"
-      sources."@babel/helpers-7.14.8"
+      sources."@babel/helpers-7.15.3"
       sources."@babel/highlight-7.14.5"
-      sources."@babel/parser-7.14.8"
+      sources."@babel/parser-7.15.3"
       sources."@babel/plugin-proposal-object-rest-spread-7.14.7"
       sources."@babel/plugin-syntax-jsx-7.14.5"
       sources."@babel/plugin-syntax-object-rest-spread-7.8.3"
       sources."@babel/plugin-transform-destructuring-7.14.7"
       sources."@babel/plugin-transform-parameters-7.14.5"
-      sources."@babel/plugin-transform-react-jsx-7.14.5"
+      sources."@babel/plugin-transform-react-jsx-7.14.9"
       sources."@babel/template-7.14.5"
-      sources."@babel/traverse-7.14.8"
-      sources."@babel/types-7.14.8"
+      sources."@babel/traverse-7.15.0"
+      sources."@babel/types-7.15.0"
       sources."@sindresorhus/is-4.0.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.2"
       sources."@types/minimist-1.2.2"
-      sources."@types/node-16.4.0"
+      sources."@types/node-16.7.2"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/responselike-1.0.0"
       sources."@types/yoga-layout-1.9.2"
@@ -77726,7 +81089,7 @@ in
       sources."auto-bind-4.0.0"
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
-      sources."browserslist-4.16.6"
+      sources."browserslist-4.16.8"
       sources."cacheable-lookup-5.0.4"
       (sources."cacheable-request-7.0.2" // {
         dependencies = [
@@ -77742,7 +81105,7 @@ in
           sources."quick-lru-4.0.1"
         ];
       })
-      sources."caniuse-lite-1.0.30001246"
+      sources."caniuse-lite-1.0.30001252"
       sources."chalk-2.4.2"
       sources."ci-info-2.0.0"
       sources."cli-boxes-2.2.1"
@@ -77753,7 +81116,7 @@ in
       sources."code-excerpt-3.0.0"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."colorette-1.2.2"
+      sources."colorette-1.3.0"
       sources."commondir-1.0.1"
       sources."concat-map-0.0.1"
       (sources."conf-7.1.2" // {
@@ -77779,7 +81142,7 @@ in
       })
       sources."defer-to-connect-2.0.1"
       sources."dot-prop-5.3.0"
-      sources."electron-to-chromium-1.3.782"
+      sources."electron-to-chromium-1.3.818"
       sources."emoji-regex-8.0.0"
       sources."emojilib-2.4.0"
       sources."end-of-stream-1.4.4"
@@ -77812,7 +81175,7 @@ in
       (sources."ink-3.0.9" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.1"
+          sources."chalk-4.1.2"
           sources."color-convert-2.0.1"
           sources."color-name-1.1.4"
           sources."has-flag-4.0.0"
@@ -77822,7 +81185,7 @@ in
       (sources."ink-text-input-4.0.1" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.1"
+          sources."chalk-4.1.2"
           sources."color-convert-2.0.1"
           sources."color-name-1.1.4"
           sources."has-flag-4.0.0"
@@ -77832,7 +81195,7 @@ in
       })
       sources."is-arrayish-0.2.1"
       sources."is-ci-2.0.0"
-      sources."is-core-module-2.5.0"
+      sources."is-core-module-2.6.0"
       sources."is-docker-2.2.1"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-obj-2.0.0"
@@ -77876,7 +81239,7 @@ in
       sources."minimist-options-4.1.0"
       sources."ms-2.1.2"
       sources."nice-try-1.0.5"
-      sources."node-releases-1.1.73"
+      sources."node-releases-1.1.75"
       sources."normalize-package-data-2.5.0"
       sources."normalize-url-6.1.0"
       sources."npm-run-path-2.0.2"
@@ -77913,7 +81276,7 @@ in
       sources."punycode-2.1.1"
       sources."quick-lru-5.1.1"
       sources."react-16.14.0"
-      sources."react-devtools-core-4.14.0"
+      sources."react-devtools-core-4.17.0"
       sources."react-is-16.13.1"
       sources."react-reconciler-0.24.0"
       (sources."read-pkg-5.2.0" // {
@@ -77956,7 +81319,7 @@ in
       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.9"
+      sources."spdx-license-ids-3.0.10"
       (sources."stack-utils-2.0.3" // {
         dependencies = [
           sources."escape-string-regexp-2.0.0"
@@ -78022,7 +81385,7 @@ in
     src = ../../applications/video/epgstation;
     dependencies = [
       sources."@babel/code-frame-7.14.5"
-      sources."@babel/helper-validator-identifier-7.14.8"
+      sources."@babel/helper-validator-identifier-7.14.9"
       (sources."@babel/highlight-7.14.5" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
@@ -78033,10 +81396,11 @@ in
       sources."@fluentui/date-time-utilities-7.9.1"
       sources."@fluentui/dom-utilities-1.1.2"
       sources."@fluentui/keyboard-key-0.2.17"
-      sources."@fluentui/react-7.173.1"
+      sources."@fluentui/react-7.174.1"
       sources."@fluentui/react-focus-7.17.6"
       sources."@fluentui/react-window-provider-1.0.2"
       sources."@fluentui/theme-1.7.4"
+      sources."@gar/promisify-1.1.2"
       (sources."@gulp-sourcemaps/identity-map-1.0.2" // {
         dependencies = [
           sources."normalize-path-2.1.1"
@@ -78047,10 +81411,11 @@ in
           sources."normalize-path-2.1.1"
         ];
       })
-      sources."@microsoft/load-themed-styles-1.10.195"
+      sources."@microsoft/load-themed-styles-1.10.203"
       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.0.0"
       (sources."@npmcli/move-file-1.1.2" // {
         dependencies = [
           sources."rimraf-3.0.2"
@@ -78063,14 +81428,14 @@ in
       sources."@types/caseless-0.12.2"
       sources."@types/chart.js-2.9.24"
       sources."@types/connect-3.4.35"
-      sources."@types/engine.io-3.1.6"
+      sources."@types/engine.io-3.1.7"
       sources."@types/express-4.17.8"
       sources."@types/express-serve-static-core-4.17.24"
       sources."@types/fancy-log-1.3.0"
       sources."@types/glob-7.1.4"
       sources."@types/hls.js-0.13.1"
       sources."@types/js-yaml-3.12.5"
-      sources."@types/json-schema-7.0.8"
+      sources."@types/json-schema-7.0.9"
       sources."@types/lodash-4.14.161"
       sources."@types/material-design-lite-1.1.16"
       sources."@types/mime-1.3.2"
@@ -78269,7 +81634,7 @@ in
       sources."browserify-zlib-0.2.0"
       sources."buffer-5.7.1"
       sources."buffer-equal-1.0.0"
-      sources."buffer-from-1.1.1"
+      sources."buffer-from-1.1.2"
       sources."buffer-writer-2.0.0"
       sources."buffer-xor-1.0.3"
       sources."builtin-modules-1.1.1"
@@ -78281,7 +81646,7 @@ in
         ];
       })
       sources."bytes-3.1.0"
-      (sources."cacache-15.2.0" // {
+      (sources."cacache-15.3.0" // {
         dependencies = [
           sources."chownr-2.0.0"
           sources."fs-minipass-2.1.0"
@@ -78289,7 +81654,7 @@ in
           sources."minizlib-2.1.2"
           sources."p-map-4.0.0"
           sources."rimraf-3.0.2"
-          sources."tar-6.1.0"
+          sources."tar-6.1.11"
         ];
       })
       sources."cache-base-1.0.1"
@@ -78559,7 +81924,7 @@ in
       sources."express-4.17.1"
       sources."express-normalize-query-params-middleware-0.5.1"
       sources."express-openapi-7.0.1"
-      (sources."ext-1.4.0" // {
+      (sources."ext-1.5.0" // {
         dependencies = [
           sources."type-2.5.0"
         ];
@@ -78583,7 +81948,7 @@ in
       sources."fast-glob-3.2.7"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-1.1.4"
-      sources."fastq-1.11.1"
+      sources."fastq-1.12.0"
       sources."figgy-pudding-3.5.2"
       sources."figures-2.0.0"
       sources."file-uri-to-path-1.0.0"
@@ -78673,7 +82038,7 @@ in
       sources."globby-10.0.2"
       sources."glogg-1.0.2"
       sources."got-9.6.0"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."gulp-4.0.2"
       (sources."gulp-clean-css-4.3.0" // {
         dependencies = [
@@ -78777,7 +82142,7 @@ in
       sources."is-arrayish-0.2.1"
       sources."is-binary-path-1.0.1"
       sources."is-buffer-1.1.6"
-      sources."is-core-module-2.5.0"
+      sources."is-core-module-2.6.0"
       sources."is-data-descriptor-1.0.0"
       sources."is-descriptor-1.0.2"
       sources."is-dir-1.0.0"
@@ -78908,8 +82273,8 @@ in
         ];
       })
       sources."mime-1.6.0"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."mimic-fn-1.2.0"
       sources."mimic-response-1.0.1"
       sources."minimalistic-assert-1.0.1"
@@ -78997,9 +82362,9 @@ in
           sources."string_decoder-1.1.1"
         ];
       })
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       sources."nanomatch-1.2.13"
-      (sources."needle-2.8.0" // {
+      (sources."needle-2.9.0" // {
         dependencies = [
           sources."debug-3.2.7"
           sources."ms-2.1.3"
@@ -79074,7 +82439,7 @@ in
       sources."object.map-1.0.1"
       sources."object.pick-1.3.0"
       sources."object.reduce-1.0.1"
-      sources."office-ui-fabric-react-7.173.1"
+      sources."office-ui-fabric-react-7.174.1"
       sources."on-finished-2.3.0"
       sources."on-headers-1.0.2"
       sources."once-1.4.0"
@@ -79189,7 +82554,7 @@ in
       })
       sources."pg-connection-string-2.5.0"
       sources."pg-int8-1.0.1"
-      sources."pg-pool-3.3.0"
+      sources."pg-pool-3.4.1"
       sources."pg-protocol-1.5.0"
       sources."pg-types-2.2.0"
       sources."pgpass-1.0.4"
@@ -79301,7 +82666,7 @@ in
       sources."safe-buffer-5.1.2"
       sources."safe-regex-1.1.0"
       sources."safer-buffer-2.1.2"
-      (sources."sass-1.35.2" // {
+      (sources."sass-1.38.1" // {
         dependencies = [
           sources."anymatch-3.1.2"
           sources."binary-extensions-2.2.0"
@@ -79402,7 +82767,7 @@ in
       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.9"
+      sources."spdx-license-ids-3.0.10"
       sources."split-string-3.1.0"
       sources."split2-3.2.2"
       sources."sprintf-js-1.0.3"
@@ -79480,13 +82845,14 @@ in
       sources."swagger-ui-dist-3.34.0"
       sources."tail-2.2.3"
       sources."tapable-1.1.3"
-      (sources."tar-4.4.13" // {
+      (sources."tar-4.4.19" // {
         dependencies = [
           sources."mkdirp-0.5.5"
+          sources."safe-buffer-5.2.1"
           sources."yallist-3.1.1"
         ];
       })
-      (sources."terser-5.7.1" // {
+      (sources."terser-5.7.2" // {
         dependencies = [
           sources."source-map-0.7.3"
         ];
@@ -79717,14 +83083,14 @@ in
   eslint = nodeEnv.buildNodePackage {
     name = "eslint";
     packageName = "eslint";
-    version = "7.31.0";
+    version = "7.32.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/eslint/-/eslint-7.31.0.tgz";
-      sha512 = "vafgJpSh2ia8tnTkNUkwxGmnumgckLh5aAbLa1xRmIn9+owi8qBNGKL+B881kNKNTy7FFqTEkpNkUvmw0n6PkA==";
+      url = "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz";
+      sha512 = "VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==";
     };
     dependencies = [
       sources."@babel/code-frame-7.12.11"
-      sources."@babel/helper-validator-identifier-7.14.8"
+      sources."@babel/helper-validator-identifier-7.14.9"
       (sources."@babel/highlight-7.14.5" // {
         dependencies = [
           sources."chalk-2.4.2"
@@ -79745,7 +83111,7 @@ in
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
       sources."callsites-3.1.0"
-      (sources."chalk-4.1.1" // {
+      (sources."chalk-4.1.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."color-convert-2.0.1"
@@ -79794,12 +83160,12 @@ in
       sources."fast-levenshtein-2.0.6"
       sources."file-entry-cache-6.0.1"
       sources."flat-cache-3.0.4"
-      sources."flatted-3.2.1"
+      sources."flatted-3.2.2"
       sources."fs.realpath-1.0.0"
       sources."functional-red-black-tree-1.0.1"
       sources."glob-7.1.7"
       sources."glob-parent-5.1.2"
-      sources."globals-13.10.0"
+      sources."globals-13.11.0"
       sources."has-flag-3.0.0"
       sources."ignore-4.0.6"
       sources."import-fresh-3.3.0"
@@ -79885,7 +83251,7 @@ in
     };
     dependencies = [
       sources."@babel/code-frame-7.12.11"
-      sources."@babel/helper-validator-identifier-7.14.8"
+      sources."@babel/helper-validator-identifier-7.14.9"
       (sources."@babel/highlight-7.14.5" // {
         dependencies = [
           sources."chalk-2.4.2"
@@ -79908,7 +83274,7 @@ in
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
       sources."callsites-3.1.0"
-      (sources."chalk-4.1.1" // {
+      (sources."chalk-4.1.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."color-convert-2.0.1"
@@ -79927,7 +83293,7 @@ in
       sources."emoji-regex-8.0.0"
       sources."enquirer-2.3.6"
       sources."escape-string-regexp-4.0.0"
-      sources."eslint-7.31.0"
+      sources."eslint-7.32.0"
       sources."eslint-scope-5.1.1"
       (sources."eslint-utils-2.1.0" // {
         dependencies = [
@@ -79958,12 +83324,12 @@ in
       sources."fast-levenshtein-2.0.6"
       sources."file-entry-cache-6.0.1"
       sources."flat-cache-3.0.4"
-      sources."flatted-3.2.1"
+      sources."flatted-3.2.2"
       sources."fs.realpath-1.0.0"
       sources."functional-red-black-tree-1.0.1"
       sources."glob-7.1.7"
       sources."glob-parent-5.1.2"
-      sources."globals-13.10.0"
+      sources."globals-13.11.0"
       sources."has-flag-4.0.0"
       sources."ignore-4.0.6"
       sources."import-fresh-3.3.0"
@@ -80043,10 +83409,10 @@ in
   esy = nodeEnv.buildNodePackage {
     name = "esy";
     packageName = "esy";
-    version = "0.6.10";
+    version = "0.6.11";
     src = fetchurl {
-      url = "https://registry.npmjs.org/esy/-/esy-0.6.10.tgz";
-      sha512 = "O+mWNPB9NJqDr3CA1PUbWUO1ZSy53ksZWivGrvbquATR5INlp3CYguwkq4BzZACg1s1bVYyhr7byjB/l1nuGRA==";
+      url = "https://registry.npmjs.org/esy/-/esy-0.6.11.tgz";
+      sha512 = "LyrQWS/c7FYwjmgSlmYcj7w7as40iVuF6aCSHKMAZq1xgmdpjorQ7OEqg35ZUf8+xpUgKnDx4HrA3scdnfRTnA==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -80060,28 +83426,31 @@ in
   expo-cli = nodeEnv.buildNodePackage {
     name = "expo-cli";
     packageName = "expo-cli";
-    version = "4.8.1";
+    version = "4.11.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/expo-cli/-/expo-cli-4.8.1.tgz";
-      sha512 = "oks/ETtrhNKvw1CjKUxQv9vQFXRPIWb+iWKT1Xmjx111cHLDTKXtmxm8hkYXSJZ8zHgqAndlUTRlTc+tDqRbuw==";
+      url = "https://registry.npmjs.org/expo-cli/-/expo-cli-4.11.0.tgz";
+      sha512 = "yGe0VODAZSgkXdENysg5bupr0xe2r4Uap4OlnnVM39AnT1NBzzRy+JZT8skHVa395ZHMou8ThTKlfd29Bj9rOQ==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.14.5"
-      sources."@babel/compat-data-7.14.7"
-      (sources."@babel/core-7.9.0" // {
+      sources."@babel/code-frame-7.10.4"
+      sources."@babel/compat-data-7.15.0"
+      (sources."@babel/core-7.15.0" // {
         dependencies = [
-          sources."semver-5.7.1"
+          sources."@babel/code-frame-7.14.5"
+          sources."json5-2.2.0"
+          sources."semver-6.3.0"
         ];
       })
-      sources."@babel/generator-7.14.8"
+      sources."@babel/generator-7.15.0"
       sources."@babel/helper-annotate-as-pure-7.14.5"
       sources."@babel/helper-builder-binary-assignment-operator-visitor-7.14.5"
-      (sources."@babel/helper-compilation-targets-7.14.5" // {
+      (sources."@babel/helper-compilation-targets-7.15.0" // {
         dependencies = [
+          sources."browserslist-4.16.8"
           sources."semver-6.3.0"
         ];
       })
-      sources."@babel/helper-create-class-features-plugin-7.14.8"
+      sources."@babel/helper-create-class-features-plugin-7.15.0"
       sources."@babel/helper-create-regexp-features-plugin-7.14.5"
       (sources."@babel/helper-define-polyfill-provider-0.2.3" // {
         dependencies = [
@@ -80092,88 +83461,63 @@ in
       sources."@babel/helper-function-name-7.14.5"
       sources."@babel/helper-get-function-arity-7.14.5"
       sources."@babel/helper-hoist-variables-7.14.5"
-      sources."@babel/helper-member-expression-to-functions-7.14.7"
+      sources."@babel/helper-member-expression-to-functions-7.15.0"
       sources."@babel/helper-module-imports-7.14.5"
-      sources."@babel/helper-module-transforms-7.14.8"
+      sources."@babel/helper-module-transforms-7.15.0"
       sources."@babel/helper-optimise-call-expression-7.14.5"
       sources."@babel/helper-plugin-utils-7.14.5"
-      sources."@babel/helper-remap-async-to-generator-7.14.5"
-      sources."@babel/helper-replace-supers-7.14.5"
+      sources."@babel/helper-replace-supers-7.15.0"
       sources."@babel/helper-simple-access-7.14.8"
       sources."@babel/helper-skip-transparent-expression-wrappers-7.14.5"
       sources."@babel/helper-split-export-declaration-7.14.5"
-      sources."@babel/helper-validator-identifier-7.14.8"
+      sources."@babel/helper-validator-identifier-7.14.9"
       sources."@babel/helper-validator-option-7.14.5"
-      sources."@babel/helper-wrap-function-7.14.5"
-      sources."@babel/helpers-7.14.8"
+      sources."@babel/helpers-7.15.3"
       (sources."@babel/highlight-7.14.5" // {
         dependencies = [
           sources."chalk-2.4.2"
         ];
       })
-      sources."@babel/parser-7.14.8"
-      sources."@babel/plugin-proposal-async-generator-functions-7.14.7"
-      sources."@babel/plugin-proposal-class-properties-7.12.13"
-      sources."@babel/plugin-proposal-dynamic-import-7.14.5"
+      sources."@babel/parser-7.15.3"
+      sources."@babel/plugin-proposal-class-properties-7.14.5"
       sources."@babel/plugin-proposal-export-default-from-7.14.5"
-      sources."@babel/plugin-proposal-export-namespace-from-7.14.5"
-      sources."@babel/plugin-proposal-json-strings-7.14.5"
-      sources."@babel/plugin-proposal-logical-assignment-operators-7.14.5"
       sources."@babel/plugin-proposal-nullish-coalescing-operator-7.14.5"
-      sources."@babel/plugin-proposal-numeric-separator-7.14.5"
       sources."@babel/plugin-proposal-object-rest-spread-7.14.7"
       sources."@babel/plugin-proposal-optional-catch-binding-7.14.5"
       sources."@babel/plugin-proposal-optional-chaining-7.14.5"
-      sources."@babel/plugin-proposal-private-methods-7.14.5"
-      sources."@babel/plugin-proposal-unicode-property-regex-7.14.5"
-      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"
       sources."@babel/plugin-syntax-export-default-from-7.14.5"
-      sources."@babel/plugin-syntax-export-namespace-from-7.8.3"
       sources."@babel/plugin-syntax-flow-7.14.5"
-      sources."@babel/plugin-syntax-json-strings-7.8.3"
       sources."@babel/plugin-syntax-jsx-7.14.5"
-      sources."@babel/plugin-syntax-logical-assignment-operators-7.10.4"
       sources."@babel/plugin-syntax-nullish-coalescing-operator-7.8.3"
-      sources."@babel/plugin-syntax-numeric-separator-7.10.4"
       sources."@babel/plugin-syntax-object-rest-spread-7.8.3"
       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-syntax-typescript-7.14.5"
       sources."@babel/plugin-transform-arrow-functions-7.14.5"
-      sources."@babel/plugin-transform-async-to-generator-7.14.5"
       sources."@babel/plugin-transform-block-scoped-functions-7.14.5"
-      sources."@babel/plugin-transform-block-scoping-7.14.5"
-      sources."@babel/plugin-transform-classes-7.14.5"
+      sources."@babel/plugin-transform-block-scoping-7.15.3"
+      sources."@babel/plugin-transform-classes-7.14.9"
       sources."@babel/plugin-transform-computed-properties-7.14.5"
       sources."@babel/plugin-transform-destructuring-7.14.7"
-      sources."@babel/plugin-transform-dotall-regex-7.14.5"
-      sources."@babel/plugin-transform-duplicate-keys-7.14.5"
       sources."@babel/plugin-transform-exponentiation-operator-7.14.5"
       sources."@babel/plugin-transform-flow-strip-types-7.14.5"
       sources."@babel/plugin-transform-for-of-7.14.5"
       sources."@babel/plugin-transform-function-name-7.14.5"
       sources."@babel/plugin-transform-literals-7.14.5"
       sources."@babel/plugin-transform-member-expression-literals-7.14.5"
-      sources."@babel/plugin-transform-modules-amd-7.14.5"
-      sources."@babel/plugin-transform-modules-commonjs-7.14.5"
-      sources."@babel/plugin-transform-modules-systemjs-7.14.5"
-      sources."@babel/plugin-transform-modules-umd-7.14.5"
-      sources."@babel/plugin-transform-named-capturing-groups-regex-7.14.7"
-      sources."@babel/plugin-transform-new-target-7.14.5"
+      sources."@babel/plugin-transform-modules-commonjs-7.15.0"
       sources."@babel/plugin-transform-object-assign-7.14.5"
       sources."@babel/plugin-transform-object-super-7.14.5"
       sources."@babel/plugin-transform-parameters-7.14.5"
       sources."@babel/plugin-transform-property-literals-7.14.5"
-      sources."@babel/plugin-transform-react-display-name-7.14.5"
-      sources."@babel/plugin-transform-react-jsx-7.14.5"
-      sources."@babel/plugin-transform-react-jsx-self-7.14.5"
+      sources."@babel/plugin-transform-react-display-name-7.15.1"
+      sources."@babel/plugin-transform-react-jsx-7.14.9"
+      sources."@babel/plugin-transform-react-jsx-self-7.14.9"
       sources."@babel/plugin-transform-react-jsx-source-7.14.5"
       sources."@babel/plugin-transform-regenerator-7.14.5"
-      sources."@babel/plugin-transform-reserved-words-7.14.5"
-      (sources."@babel/plugin-transform-runtime-7.14.5" // {
+      (sources."@babel/plugin-transform-runtime-7.15.0" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
@@ -80182,31 +83526,31 @@ in
       sources."@babel/plugin-transform-spread-7.14.6"
       sources."@babel/plugin-transform-sticky-regex-7.14.5"
       sources."@babel/plugin-transform-template-literals-7.14.5"
-      sources."@babel/plugin-transform-typeof-symbol-7.14.5"
-      sources."@babel/plugin-transform-typescript-7.14.6"
-      sources."@babel/plugin-transform-unicode-escapes-7.14.5"
+      sources."@babel/plugin-transform-typescript-7.15.0"
       sources."@babel/plugin-transform-unicode-regex-7.14.5"
-      (sources."@babel/preset-env-7.12.17" // {
+      sources."@babel/runtime-7.9.0"
+      (sources."@babel/template-7.14.5" // {
         dependencies = [
-          sources."semver-5.7.1"
+          sources."@babel/code-frame-7.14.5"
         ];
       })
-      sources."@babel/preset-modules-0.1.4"
-      sources."@babel/preset-typescript-7.12.17"
-      sources."@babel/runtime-7.14.8"
-      sources."@babel/template-7.14.5"
-      sources."@babel/traverse-7.14.8"
-      sources."@babel/types-7.14.8"
-      sources."@expo/apple-utils-0.0.0-alpha.20"
+      (sources."@babel/traverse-7.15.0" // {
+        dependencies = [
+          sources."@babel/code-frame-7.14.5"
+        ];
+      })
+      sources."@babel/types-7.15.0"
+      sources."@dabh/diagnostics-2.0.2"
+      sources."@expo/apple-utils-0.0.0-alpha.25"
       sources."@expo/bunyan-4.0.0"
-      sources."@expo/config-5.0.5"
-      (sources."@expo/config-plugins-3.0.5" // {
+      sources."@expo/config-5.0.9"
+      (sources."@expo/config-plugins-3.1.0" // {
         dependencies = [
           sources."semver-7.3.5"
         ];
       })
       sources."@expo/config-types-42.0.0"
-      (sources."@expo/dev-server-0.1.80" // {
+      (sources."@expo/dev-server-0.1.84" // {
         dependencies = [
           sources."body-parser-1.19.0"
           sources."bytes-3.1.0"
@@ -80223,7 +83567,7 @@ in
           sources."temp-dir-2.0.0"
         ];
       })
-      sources."@expo/dev-tools-0.13.110"
+      sources."@expo/dev-tools-0.13.115"
       (sources."@expo/devcert-1.0.0" // {
         dependencies = [
           sources."debug-3.2.7"
@@ -80231,35 +83575,35 @@ in
           sources."sudo-prompt-8.2.5"
         ];
       })
-      (sources."@expo/image-utils-0.3.15" // {
+      (sources."@expo/image-utils-0.3.16" // {
         dependencies = [
           sources."mime-2.5.2"
           sources."tempy-0.3.0"
         ];
       })
-      (sources."@expo/json-file-8.2.31" // {
-        dependencies = [
-          sources."@babel/code-frame-7.10.4"
-          sources."json5-1.0.1"
-        ];
-      })
-      sources."@expo/metro-config-0.1.80"
-      sources."@expo/osascript-2.0.29"
-      (sources."@expo/package-manager-0.0.44" // {
+      sources."@expo/json-file-8.2.33"
+      sources."@expo/metro-config-0.1.84"
+      sources."@expo/osascript-2.0.30"
+      (sources."@expo/package-manager-0.0.47" // {
         dependencies = [
           sources."npm-package-arg-7.0.0"
           sources."rimraf-3.0.2"
           sources."semver-5.7.1"
         ];
       })
-      (sources."@expo/plist-0.0.13" // {
+      (sources."@expo/plist-0.0.14" // {
         dependencies = [
           sources."xmlbuilder-14.0.0"
         ];
       })
-      sources."@expo/prebuild-config-2.0.5"
+      sources."@expo/prebuild-config-2.1.0"
       sources."@expo/results-1.0.0"
-      (sources."@expo/schemer-1.3.30" // {
+      (sources."@expo/rudder-sdk-node-1.0.7" // {
+        dependencies = [
+          sources."uuid-3.4.0"
+        ];
+      })
+      (sources."@expo/schemer-1.3.31" // {
         dependencies = [
           sources."ajv-5.5.2"
           sources."fast-deep-equal-1.1.0"
@@ -80267,66 +83611,34 @@ in
         ];
       })
       sources."@expo/sdk-runtime-versions-1.0.0"
-      sources."@expo/simple-spinner-1.0.2"
       sources."@expo/spawn-async-1.5.0"
-      (sources."@expo/webpack-config-0.13.1" // {
+      (sources."@expo/webpack-config-0.15.0" // {
         dependencies = [
-          sources."@babel/runtime-7.9.0"
-          sources."react-refresh-0.8.3"
+          (sources."@babel/core-7.9.0" // {
+            dependencies = [
+              sources."semver-5.7.1"
+            ];
+          })
+          sources."json5-2.2.0"
         ];
       })
       (sources."@expo/xcpretty-3.1.4" // {
         dependencies = [
-          sources."@babel/code-frame-7.10.4"
           sources."js-yaml-4.1.0"
         ];
       })
-      sources."@hapi/address-2.1.4"
-      sources."@hapi/formula-1.2.0"
+      sources."@gar/promisify-1.1.2"
       sources."@hapi/hoek-9.2.0"
-      (sources."@hapi/joi-16.1.8" // {
-        dependencies = [
-          sources."@hapi/hoek-8.5.1"
-          sources."@hapi/topo-3.1.6"
-        ];
-      })
-      sources."@hapi/pinpoint-1.0.2"
       sources."@hapi/topo-5.1.0"
       sources."@jest/types-26.6.2"
-      sources."@jimp/bmp-0.12.1"
-      sources."@jimp/core-0.12.1"
-      sources."@jimp/custom-0.12.1"
-      sources."@jimp/gif-0.12.1"
-      sources."@jimp/jpeg-0.12.1"
-      sources."@jimp/plugin-blit-0.12.1"
-      sources."@jimp/plugin-blur-0.12.1"
-      sources."@jimp/plugin-circle-0.12.1"
-      sources."@jimp/plugin-color-0.12.1"
-      sources."@jimp/plugin-contain-0.12.1"
-      sources."@jimp/plugin-cover-0.12.1"
-      sources."@jimp/plugin-crop-0.12.1"
-      sources."@jimp/plugin-displace-0.12.1"
-      sources."@jimp/plugin-dither-0.12.1"
-      sources."@jimp/plugin-fisheye-0.12.1"
-      sources."@jimp/plugin-flip-0.12.1"
-      sources."@jimp/plugin-gaussian-0.12.1"
-      sources."@jimp/plugin-invert-0.12.1"
-      sources."@jimp/plugin-mask-0.12.1"
-      sources."@jimp/plugin-normalize-0.12.1"
-      sources."@jimp/plugin-print-0.12.1"
-      sources."@jimp/plugin-resize-0.12.1"
-      sources."@jimp/plugin-rotate-0.12.1"
-      sources."@jimp/plugin-scale-0.12.1"
-      sources."@jimp/plugin-shadow-0.12.1"
-      sources."@jimp/plugin-threshold-0.12.1"
-      sources."@jimp/plugins-0.12.1"
-      sources."@jimp/png-0.12.1"
-      sources."@jimp/tiff-0.12.1"
-      sources."@jimp/types-0.12.1"
-      sources."@jimp/utils-0.12.1"
       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.0.0" // {
+        dependencies = [
+          sources."semver-7.3.5"
+        ];
+      })
       (sources."@npmcli/git-2.1.0" // {
         dependencies = [
           sources."mkdirp-1.0.4"
@@ -80343,8 +83655,7 @@ in
       })
       sources."@npmcli/node-gyp-1.0.2"
       sources."@npmcli/promise-spawn-1.3.2"
-      sources."@npmcli/run-script-1.8.5"
-      sources."@pmmmwh/react-refresh-webpack-plugin-0.3.3"
+      sources."@npmcli/run-script-1.8.6"
       sources."@react-native-community/cli-debugger-ui-5.0.1"
       (sources."@react-native-community/cli-server-api-5.0.1" // {
         dependencies = [
@@ -80366,32 +83677,25 @@ in
           sources."supports-color-7.2.0"
         ];
       })
-      sources."@rollup/plugin-babel-5.3.0"
-      sources."@rollup/plugin-node-resolve-11.2.1"
-      sources."@rollup/plugin-replace-2.4.2"
-      sources."@rollup/pluginutils-3.1.0"
       sources."@segment/loosely-validate-event-2.0.0"
       sources."@sideway/address-4.1.2"
       sources."@sideway/formula-3.0.0"
       sources."@sideway/pinpoint-2.0.0"
       sources."@sindresorhus/is-4.0.1"
-      sources."@surma/rollup-plugin-off-main-thread-1.4.2"
       sources."@szmarczak/http-timer-4.0.6"
       sources."@tootallnate/once-1.1.2"
       sources."@types/cacheable-request-6.0.2"
-      sources."@types/estree-0.0.39"
       sources."@types/glob-7.1.4"
       sources."@types/html-minifier-terser-5.1.2"
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/istanbul-lib-coverage-2.0.3"
       sources."@types/istanbul-lib-report-3.0.0"
       sources."@types/istanbul-reports-3.0.1"
-      sources."@types/json-schema-7.0.8"
+      sources."@types/json-schema-7.0.9"
       sources."@types/keyv-3.1.2"
       sources."@types/minimatch-3.0.5"
       sources."@types/node-9.6.61"
       sources."@types/q-1.5.5"
-      sources."@types/resolve-1.17.1"
       sources."@types/responselike-1.0.0"
       sources."@types/retry-0.12.1"
       sources."@types/source-list-map-0.1.2"
@@ -80406,7 +83710,7 @@ in
           sources."source-map-0.6.1"
         ];
       })
-      (sources."@types/webpack-sources-2.1.1" // {
+      (sources."@types/webpack-sources-3.2.0" // {
         dependencies = [
           sources."source-map-0.7.3"
         ];
@@ -80432,6 +83736,7 @@ in
       sources."@webassemblyjs/wast-parser-1.9.0"
       sources."@webassemblyjs/wast-printer-1.9.0"
       sources."@wry/equality-0.1.11"
+      sources."@xmldom/xmldom-0.7.2"
       sources."@xtuc/ieee754-1.2.0"
       sources."@xtuc/long-4.2.2"
       sources."abbrev-1.1.1"
@@ -80466,7 +83771,6 @@ in
       sources."ansi-html-0.0.7"
       sources."ansi-regex-5.0.0"
       sources."ansi-styles-3.2.1"
-      sources."any-base-1.1.0"
       sources."any-promise-1.3.0"
       sources."anymatch-3.1.2"
       sources."apollo-link-1.2.1"
@@ -80500,19 +83804,24 @@ in
       })
       sources."assert-plus-1.0.0"
       sources."assign-symbols-1.0.0"
-      sources."async-1.5.2"
+      sources."async-3.2.1"
       sources."async-each-1.0.3"
       sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
       sources."at-least-node-1.0.0"
       sources."atob-2.1.2"
+      (sources."auto-changelog-1.16.4" // {
+        dependencies = [
+          sources."commander-5.1.0"
+          sources."semver-6.3.0"
+        ];
+      })
       sources."aws-sign2-0.7.0"
       sources."aws4-1.11.0"
       sources."axios-0.21.1"
       sources."axios-retry-3.1.9"
       (sources."babel-loader-8.1.0" // {
         dependencies = [
-          sources."json5-1.0.1"
           sources."loader-utils-1.4.0"
         ];
       })
@@ -80522,15 +83831,10 @@ in
           sources."semver-6.3.0"
         ];
       })
-      sources."babel-plugin-polyfill-corejs3-0.2.3"
+      sources."babel-plugin-polyfill-corejs3-0.2.4"
       sources."babel-plugin-polyfill-regenerator-0.2.2"
       sources."babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0"
       sources."babel-preset-fbjs-3.4.0"
-      (sources."babel-runtime-6.26.0" // {
-        dependencies = [
-          sources."regenerator-runtime-0.11.1"
-        ];
-      })
       sources."backo2-1.0.2"
       sources."balanced-match-1.0.2"
       (sources."base-0.11.2" // {
@@ -80548,7 +83852,6 @@ in
       sources."binary-extensions-2.2.0"
       sources."bindings-1.5.0"
       sources."bluebird-3.7.2"
-      sources."bmp-js-0.1.0"
       sources."bn.js-5.2.0"
       (sources."body-parser-1.18.3" // {
         dependencies = [
@@ -80562,10 +83865,9 @@ in
         ];
       })
       sources."boolbase-1.0.0"
-      (sources."boxen-4.1.0" // {
+      (sources."boxen-5.0.1" // {
         dependencies = [
-          sources."chalk-2.4.2"
-          sources."type-fest-0.5.2"
+          sources."type-fest-0.20.2"
         ];
       })
       sources."bplist-creator-0.0.8"
@@ -80584,17 +83886,21 @@ in
         ];
       })
       sources."browserify-zlib-0.2.0"
-      sources."browserslist-4.16.6"
-      sources."buffer-5.7.1"
-      sources."buffer-equal-0.0.1"
-      sources."buffer-from-1.1.1"
+      sources."browserslist-4.14.2"
+      sources."buffer-4.9.2"
+      sources."buffer-from-1.1.2"
       sources."buffer-indexof-1.1.1"
       sources."buffer-xor-1.0.3"
-      sources."builtin-modules-3.2.0"
       sources."builtin-status-codes-3.0.0"
       sources."builtins-1.0.3"
+      (sources."bull-3.29.1" // {
+        dependencies = [
+          sources."get-port-5.1.1"
+          sources."p-timeout-3.2.0"
+        ];
+      })
       sources."bytes-3.0.0"
-      (sources."cacache-15.2.0" // {
+      (sources."cacache-15.3.0" // {
         dependencies = [
           sources."minipass-3.1.3"
           sources."mkdirp-1.0.4"
@@ -80611,14 +83917,14 @@ in
       sources."callsites-2.0.0"
       (sources."camel-case-4.1.2" // {
         dependencies = [
-          sources."tslib-2.3.0"
+          sources."tslib-2.3.1"
         ];
       })
-      sources."camelcase-5.3.1"
+      sources."camelcase-6.2.0"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001246"
+      sources."caniuse-lite-1.0.30001252"
       sources."caseless-0.12.0"
-      (sources."chalk-4.1.1" // {
+      (sources."chalk-4.1.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."color-convert-2.0.1"
@@ -80680,6 +83986,7 @@ in
       })
       sources."clone-1.0.4"
       sources."clone-response-1.0.2"
+      sources."cluster-key-slot-1.1.0"
       sources."co-4.6.0"
       (sources."coa-2.0.2" // {
         dependencies = [
@@ -80688,16 +83995,16 @@ in
       })
       sources."code-point-at-1.1.0"
       sources."collection-visit-1.0.0"
-      sources."color-3.2.1"
+      sources."color-3.0.0"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
       sources."color-string-1.6.0"
-      sources."colorette-1.2.2"
+      sources."colorette-1.3.0"
       sources."colors-1.4.0"
+      sources."colorspace-1.1.2"
       sources."combined-stream-1.0.8"
       sources."command-exists-1.2.9"
       sources."commander-2.17.1"
-      sources."common-tags-1.8.0"
       sources."commondir-1.0.1"
       sources."component-emitter-1.3.0"
       sources."component-type-1.2.1"
@@ -80747,11 +84054,13 @@ in
           })
           sources."pkg-dir-4.2.0"
           sources."semver-6.3.0"
+          sources."serialize-javascript-4.0.0"
         ];
       })
-      sources."core-js-2.6.12"
-      (sources."core-js-compat-3.15.2" // {
+      sources."core-js-3.16.3"
+      (sources."core-js-compat-3.16.3" // {
         dependencies = [
+          sources."browserslist-4.16.8"
           sources."semver-7.0.0"
         ];
       })
@@ -80764,6 +84073,7 @@ in
       })
       sources."create-hash-1.2.0"
       sources."create-hmac-1.1.7"
+      sources."cron-parser-2.18.0"
       (sources."cross-spawn-6.0.5" // {
         dependencies = [
           sources."semver-5.7.1"
@@ -80776,7 +84086,7 @@ in
       sources."css-declaration-sorter-4.0.1"
       (sources."css-loader-3.6.0" // {
         dependencies = [
-          sources."json5-1.0.1"
+          sources."camelcase-5.3.1"
           sources."loader-utils-1.4.0"
           sources."semver-6.3.0"
         ];
@@ -80812,6 +84122,7 @@ in
       sources."dashdash-1.14.1"
       sources."dateformat-3.0.3"
       sources."debug-4.3.2"
+      sources."debuglog-1.0.1"
       sources."decache-4.4.0"
       sources."decamelize-1.2.0"
       sources."decode-uri-component-0.2.0"
@@ -80822,7 +84133,6 @@ in
       })
       sources."deep-equal-1.1.1"
       sources."deep-extend-0.6.0"
-      sources."deep-scope-analyser-1.7.0"
       sources."deepmerge-4.2.2"
       sources."default-gateway-4.2.0"
       sources."defaults-1.0.3"
@@ -80837,6 +84147,7 @@ in
       })
       sources."delayed-stream-1.0.0"
       sources."delegates-1.0.0"
+      sources."denque-1.5.1"
       sources."depd-1.1.2"
       sources."deprecated-decorator-0.1.6"
       sources."des.js-1.0.1"
@@ -80863,7 +84174,6 @@ in
           sources."domhandler-4.2.0"
         ];
       })
-      sources."dom-walk-0.1.2"
       sources."domain-browser-1.2.0"
       sources."domelementtype-2.2.0"
       sources."domhandler-3.3.0"
@@ -80875,7 +84185,7 @@ in
       })
       (sources."dot-case-3.0.4" // {
         dependencies = [
-          sources."tslib-2.3.0"
+          sources."tslib-2.3.1"
         ];
       })
       sources."dot-prop-5.3.0"
@@ -80884,8 +84194,7 @@ in
       sources."duplexify-3.7.1"
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
-      sources."ejs-2.7.4"
-      sources."electron-to-chromium-1.3.782"
+      sources."electron-to-chromium-1.3.818"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -80893,6 +84202,7 @@ in
       })
       sources."emoji-regex-7.0.3"
       sources."emojis-list-3.0.0"
+      sources."enabled-2.0.0"
       sources."encodeurl-1.0.2"
       (sources."encoding-0.1.13" // {
         dependencies = [
@@ -80912,10 +84222,13 @@ in
       sources."eol-0.9.1"
       sources."err-code-2.0.3"
       sources."errno-0.1.8"
-      sources."error-ex-1.3.2"
-      sources."error-stack-parser-2.0.6"
+      (sources."error-ex-1.3.2" // {
+        dependencies = [
+          sources."is-arrayish-0.2.1"
+        ];
+      })
       sources."errorhandler-1.5.1"
-      sources."es-abstract-1.18.3"
+      sources."es-abstract-1.18.5"
       sources."es-to-primitive-1.2.1"
       sources."escalade-3.1.1"
       sources."escape-html-1.0.3"
@@ -80928,8 +84241,6 @@ in
         ];
       })
       sources."estraverse-4.3.0"
-      sources."estree-walker-1.0.1"
-      sources."esutils-2.0.3"
       sources."etag-1.8.1"
       sources."eventemitter3-2.0.3"
       sources."events-3.3.0"
@@ -80942,7 +84253,6 @@ in
           sources."is-stream-1.1.0"
         ];
       })
-      sources."exif-parser-0.1.12"
       (sources."expand-brackets-2.1.4" // {
         dependencies = [
           sources."debug-2.6.9"
@@ -80963,7 +84273,7 @@ in
           sources."ms-2.0.0"
         ];
       })
-      (sources."expo-pwa-0.0.90" // {
+      (sources."expo-pwa-0.0.94" // {
         dependencies = [
           sources."commander-2.20.0"
         ];
@@ -80990,12 +84300,13 @@ in
       sources."fast-deep-equal-3.1.3"
       sources."fast-glob-3.2.7"
       sources."fast-json-stable-stringify-2.1.0"
-      sources."fastq-1.11.1"
+      sources."fast-safe-stringify-2.0.8"
+      sources."fastq-1.12.0"
       sources."faye-websocket-0.10.0"
+      sources."fecha-4.2.1"
       sources."figgy-pudding-3.5.2"
       sources."figures-3.2.0"
       sources."file-loader-6.0.0"
-      sources."file-type-9.0.0"
       sources."file-uri-to-path-1.0.0"
       sources."filesize-6.1.0"
       sources."fill-range-7.0.1"
@@ -81009,7 +84320,9 @@ in
       sources."find-up-5.0.0"
       sources."find-yarn-workspace-root-2.0.0"
       sources."flush-write-stream-1.1.1"
-      sources."follow-redirects-1.14.1"
+      sources."fn.name-1.1.0"
+      sources."follow-redirects-1.14.2"
+      sources."for-each-0.3.3"
       sources."for-in-1.0.2"
       sources."forever-agent-0.6.1"
       (sources."fork-ts-checker-webpack-plugin-4.1.6" // {
@@ -81062,7 +84375,6 @@ in
       sources."gensync-1.0.0-beta.2"
       sources."get-caller-file-2.0.5"
       sources."get-intrinsic-1.1.1"
-      sources."get-own-enumerable-property-symbols-3.0.2"
       sources."get-port-3.2.0"
       sources."get-stream-5.2.0"
       sources."get-value-2.0.6"
@@ -81070,13 +84382,12 @@ in
       sources."getpass-0.1.7"
       sources."glob-7.1.6"
       sources."glob-parent-5.1.2"
-      sources."global-4.4.0"
       sources."global-modules-2.0.0"
       sources."global-prefix-3.0.0"
       sources."globals-11.12.0"
       sources."globby-11.0.1"
       sources."got-11.8.2"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."graphql-0.13.2"
       (sources."graphql-tools-3.0.0" // {
         dependencies = [
@@ -81085,12 +84396,18 @@ in
       })
       sources."gzip-size-5.1.1"
       sources."handle-thing-2.0.1"
+      (sources."handlebars-4.7.7" // {
+        dependencies = [
+          sources."source-map-0.6.1"
+        ];
+      })
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       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-tostringtag-1.0.0"
       sources."has-unicode-2.0.1"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
@@ -81103,7 +84420,11 @@ in
           sources."kind-of-4.0.0"
         ];
       })
-      sources."hasbin-1.2.3"
+      (sources."hasbin-1.2.3" // {
+        dependencies = [
+          sources."async-1.5.2"
+        ];
+      })
       (sources."hash-base-3.1.0" // {
         dependencies = [
           sources."readable-stream-3.6.0"
@@ -81128,8 +84449,8 @@ in
       })
       (sources."html-webpack-plugin-4.3.0" // {
         dependencies = [
-          sources."json5-1.0.1"
           sources."loader-utils-1.4.0"
+          sources."util.promisify-1.0.0"
         ];
       })
       sources."htmlparser2-4.1.0"
@@ -81183,30 +84504,35 @@ in
       sources."inherits-2.0.4"
       sources."ini-1.3.8"
       sources."internal-ip-4.3.0"
+      sources."internal-slot-1.0.3"
       sources."invariant-2.2.4"
+      (sources."ioredis-4.27.8" // {
+        dependencies = [
+          sources."p-map-2.1.0"
+        ];
+      })
       sources."ip-1.1.5"
       sources."ip-regex-2.1.0"
       sources."ipaddr.js-1.9.1"
       sources."is-absolute-url-2.1.0"
       sources."is-accessor-descriptor-1.0.0"
-      sources."is-arguments-1.1.0"
-      sources."is-arrayish-0.2.1"
-      sources."is-bigint-1.0.2"
+      sources."is-arguments-1.1.1"
+      sources."is-arrayish-0.3.2"
+      sources."is-bigint-1.0.4"
       sources."is-binary-path-2.1.0"
-      sources."is-boolean-object-1.1.1"
+      sources."is-boolean-object-1.1.2"
       sources."is-buffer-1.1.6"
-      sources."is-callable-1.2.3"
+      sources."is-callable-1.2.4"
       sources."is-color-stop-1.1.0"
-      sources."is-core-module-2.5.0"
+      sources."is-core-module-2.6.0"
       sources."is-data-descriptor-1.0.0"
-      sources."is-date-object-1.0.4"
+      sources."is-date-object-1.0.5"
       sources."is-descriptor-1.0.2"
       sources."is-directory-0.3.1"
       sources."is-docker-2.2.1"
       sources."is-extendable-0.1.1"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-2.0.0"
-      sources."is-function-1.0.2"
       sources."is-glob-4.0.1"
       (sources."is-invalid-path-0.1.0" // {
         dependencies = [
@@ -81215,10 +84541,10 @@ in
         ];
       })
       sources."is-lambda-1.0.1"
-      sources."is-module-1.0.0"
+      sources."is-nan-1.3.2"
       sources."is-negative-zero-2.0.1"
       sources."is-number-7.0.0"
-      sources."is-number-object-1.0.5"
+      sources."is-number-object-1.0.6"
       sources."is-obj-2.0.0"
       sources."is-path-cwd-2.2.0"
       (sources."is-path-in-cwd-2.1.0" // {
@@ -81252,13 +84578,12 @@ in
           sources."responselike-1.0.2"
         ];
       })
-      sources."is-regex-1.1.3"
-      sources."is-regexp-1.0.0"
+      sources."is-regex-1.1.4"
       sources."is-resolvable-1.1.0"
       sources."is-retry-allowed-1.2.0"
       sources."is-root-2.1.0"
-      sources."is-stream-2.0.0"
-      sources."is-string-1.0.6"
+      sources."is-stream-2.0.1"
+      sources."is-string-1.0.7"
       sources."is-symbol-1.0.4"
       sources."is-typedarray-1.0.0"
       sources."is-valid-path-0.1.1"
@@ -81275,10 +84600,9 @@ in
           sources."supports-color-7.2.0"
         ];
       })
-      sources."jimp-0.12.1"
-      sources."joi-17.4.1"
+      sources."jimp-compact-0.16.1"
+      sources."joi-17.4.2"
       sources."join-component-1.1.0"
-      sources."jpeg-js-0.4.3"
       sources."js-tokens-4.0.0"
       (sources."js-yaml-3.14.1" // {
         dependencies = [
@@ -81300,7 +84624,7 @@ in
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
       sources."json3-3.3.3"
-      sources."json5-2.2.0"
+      sources."json5-1.0.1"
       (sources."jsonfile-6.1.0" // {
         dependencies = [
           sources."universalify-2.0.0"
@@ -81314,42 +84638,50 @@ in
       sources."killable-1.0.1"
       sources."kind-of-6.0.3"
       sources."kleur-3.0.3"
+      sources."kuler-2.0.0"
       sources."last-call-webpack-plugin-3.0.0"
       sources."latest-version-5.1.0"
       sources."leven-3.1.0"
-      sources."load-bmfont-1.4.1"
+      sources."lines-and-columns-1.1.6"
       sources."loader-runner-2.4.0"
-      sources."loader-utils-2.0.0"
+      (sources."loader-utils-2.0.0" // {
+        dependencies = [
+          sources."json5-2.2.0"
+        ];
+      })
       sources."locate-path-6.0.0"
       sources."lodash-4.17.21"
       sources."lodash.assign-4.2.0"
       sources."lodash.debounce-4.0.8"
+      sources."lodash.defaults-4.2.0"
+      sources."lodash.flatten-4.4.0"
+      sources."lodash.isarguments-3.1.0"
       sources."lodash.isobject-3.0.2"
       sources."lodash.isstring-4.0.1"
       sources."lodash.memoize-4.1.2"
-      sources."lodash.sortby-4.7.0"
       sources."lodash.uniq-4.5.0"
+      sources."lodash.uniqby-4.7.0"
       (sources."log-symbols-2.2.0" // {
         dependencies = [
           sources."chalk-2.4.2"
         ];
       })
+      sources."logform-2.2.0"
       sources."loglevel-1.7.1"
       sources."loose-envify-1.4.0"
       (sources."lower-case-2.0.2" // {
         dependencies = [
-          sources."tslib-2.3.0"
+          sources."tslib-2.3.1"
         ];
       })
       sources."lowercase-keys-2.0.0"
       sources."lru-cache-6.0.0"
-      sources."magic-string-0.25.7"
       (sources."make-dir-2.1.0" // {
         dependencies = [
           sources."semver-5.7.1"
         ];
       })
-      (sources."make-fetch-happen-9.0.4" // {
+      (sources."make-fetch-happen-9.1.0" // {
         dependencies = [
           sources."minipass-3.1.3"
         ];
@@ -81381,14 +84713,12 @@ in
         ];
       })
       sources."mime-1.4.1"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."mimic-fn-1.2.0"
       sources."mimic-response-1.0.1"
-      sources."min-document-2.19.0"
       (sources."mini-css-extract-plugin-0.5.0" // {
         dependencies = [
-          sources."json5-1.0.1"
           sources."loader-utils-1.4.0"
           sources."schema-utils-1.0.0"
         ];
@@ -81444,6 +84774,8 @@ in
         ];
       })
       sources."mkdirp-0.5.5"
+      sources."moment-2.29.1"
+      sources."moment-timezone-0.5.33"
       (sources."move-concurrently-1.0.1" // {
         dependencies = [
           sources."rimraf-2.7.1"
@@ -81454,11 +84786,10 @@ in
       sources."multicast-dns-service-types-1.1.0"
       sources."mv-2.1.1"
       sources."mz-2.7.0"
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       sources."nanomatch-1.2.13"
-      sources."native-url-0.2.6"
       sources."ncp-2.0.0"
-      (sources."needle-2.8.0" // {
+      (sources."needle-2.9.0" // {
         dependencies = [
           sources."debug-3.2.7"
         ];
@@ -81469,7 +84800,7 @@ in
       sources."nice-try-1.0.5"
       (sources."no-case-3.0.4" // {
         dependencies = [
-          sources."tslib-2.3.0"
+          sources."tslib-2.3.1"
         ];
       })
       sources."nocache-2.1.0"
@@ -81484,11 +84815,11 @@ in
       sources."node-html-parser-1.4.9"
       (sources."node-libs-browser-2.2.1" // {
         dependencies = [
-          sources."buffer-4.9.2"
           sources."punycode-1.4.1"
         ];
       })
-      sources."node-releases-1.1.73"
+      sources."node-modules-regexp-1.0.0"
+      sources."node-releases-1.1.75"
       sources."nopt-5.0.0"
       sources."normalize-path-3.0.0"
       sources."normalize-url-6.1.0"
@@ -81547,10 +84878,10 @@ in
       sources."object.pick-1.3.0"
       sources."object.values-1.1.4"
       sources."obuf-1.1.2"
-      sources."omggif-1.0.10"
       sources."on-finished-2.3.0"
       sources."on-headers-1.0.2"
       sources."once-1.4.0"
+      sources."one-time-1.0.0"
       sources."onetime-2.0.1"
       sources."open-7.4.2"
       (sources."opn-5.5.0" // {
@@ -81621,21 +84952,18 @@ in
       sources."parallel-transform-1.2.0"
       (sources."param-case-3.0.4" // {
         dependencies = [
-          sources."tslib-2.3.0"
+          sources."tslib-2.3.1"
         ];
       })
       sources."parse-asn1-5.1.6"
-      sources."parse-bmfont-ascii-1.0.6"
-      sources."parse-bmfont-binary-1.0.6"
-      sources."parse-bmfont-xml-1.1.4"
-      sources."parse-headers-2.0.3"
+      sources."parse-github-url-1.0.2"
       sources."parse-json-4.0.0"
       sources."parse-png-2.1.0"
       sources."parse-srcset-1.0.2"
       sources."parseurl-1.3.3"
       (sources."pascal-case-3.1.2" // {
         dependencies = [
-          sources."tslib-2.3.0"
+          sources."tslib-2.3.1"
         ];
       })
       sources."pascalcase-0.1.1"
@@ -81655,12 +84983,11 @@ in
       sources."path-type-4.0.0"
       sources."pbkdf2-3.1.2"
       sources."performance-now-2.1.0"
-      sources."phin-2.9.3"
       sources."picomatch-2.3.0"
       sources."pify-4.0.1"
       sources."pinkie-2.0.4"
       sources."pinkie-promise-2.0.1"
-      sources."pixelmatch-4.0.2"
+      sources."pirates-4.0.1"
       (sources."pkg-dir-3.0.0" // {
         dependencies = [
           sources."find-up-3.0.0"
@@ -81679,7 +85006,7 @@ in
           sources."path-exists-3.0.0"
         ];
       })
-      sources."plist-3.0.2"
+      sources."plist-3.0.3"
       sources."pngjs-3.4.0"
       sources."pnp-webpack-plugin-1.7.0"
       (sources."portfinder-1.0.28" // {
@@ -81828,6 +85155,7 @@ in
       sources."progress-2.0.3"
       sources."promise-inflight-1.0.1"
       sources."promise-retry-2.0.1"
+      sources."promise.prototype.finally-3.1.2"
       sources."prompts-2.4.1"
       sources."proxy-addr-2.0.7"
       sources."prr-1.0.1"
@@ -81847,7 +85175,7 @@ in
       sources."q-1.5.1"
       sources."qrcode-terminal-0.11.0"
       sources."qs-6.5.2"
-      sources."querystring-0.2.1"
+      sources."querystring-0.2.0"
       sources."querystring-es3-0.2.1"
       sources."querystringify-2.2.0"
       sources."queue-microtask-1.2.3"
@@ -81864,8 +85192,6 @@ in
       sources."rc-1.2.8"
       (sources."react-dev-utils-11.0.4" // {
         dependencies = [
-          sources."@babel/code-frame-7.10.4"
-          sources."browserslist-4.14.2"
           (sources."chalk-2.4.2" // {
             dependencies = [
               sources."escape-string-regexp-1.0.5"
@@ -81889,13 +85215,16 @@ in
       sources."react-refresh-0.4.3"
       sources."read-chunk-3.2.0"
       sources."read-last-lines-1.6.0"
-      sources."read-package-json-fast-2.0.2"
+      sources."read-package-json-fast-2.0.3"
       sources."readable-stream-2.3.7"
       sources."readdirp-3.6.0"
       sources."recursive-readdir-2.2.2"
+      sources."redis-commands-1.7.0"
+      sources."redis-errors-1.2.0"
+      sources."redis-parser-3.0.0"
       sources."regenerate-1.4.2"
       sources."regenerate-unicode-properties-8.2.0"
-      sources."regenerator-runtime-0.13.8"
+      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"
@@ -81958,19 +85287,6 @@ in
         ];
       })
       sources."ripemd160-2.0.2"
-      sources."rollup-2.53.3"
-      (sources."rollup-plugin-terser-7.0.2" // {
-        dependencies = [
-          sources."commander-2.20.3"
-          sources."source-map-0.7.3"
-          (sources."source-map-support-0.5.19" // {
-            dependencies = [
-              sources."source-map-0.6.1"
-            ];
-          })
-          sources."terser-5.7.1"
-        ];
-      })
       sources."router-ips-1.0.0"
       sources."run-parallel-1.2.0"
       sources."run-queue-1.0.3"
@@ -81994,7 +85310,7 @@ in
           sources."type-fest-0.12.0"
         ];
       })
-      sources."serialize-javascript-4.0.0"
+      sources."serialize-javascript-5.0.1"
       (sources."serve-index-1.9.1" // {
         dependencies = [
           sources."debug-2.6.9"
@@ -82014,22 +85330,14 @@ in
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."shell-quote-1.7.2"
+      sources."side-channel-1.0.4"
       sources."signal-exit-3.0.3"
       sources."simple-plist-1.1.1"
-      (sources."simple-swizzle-0.2.2" // {
-        dependencies = [
-          sources."is-arrayish-0.3.2"
-        ];
-      })
+      sources."simple-swizzle-0.2.2"
       sources."sisteransi-1.0.5"
       sources."slash-3.0.0"
-      (sources."slugid-1.1.0" // {
-        dependencies = [
-          sources."uuid-2.0.3"
-        ];
-      })
       sources."slugify-1.6.0"
-      sources."smart-buffer-4.1.0"
+      sources."smart-buffer-4.2.0"
       (sources."snapdragon-0.8.2" // {
         dependencies = [
           sources."debug-2.6.9"
@@ -82072,13 +85380,12 @@ in
         ];
       })
       sources."socks-2.6.1"
-      sources."socks-proxy-agent-5.0.1"
+      sources."socks-proxy-agent-6.0.0"
       sources."source-list-map-2.0.1"
       sources."source-map-0.5.7"
       sources."source-map-resolve-0.5.3"
       sources."source-map-support-0.4.18"
       sources."source-map-url-0.4.1"
-      sources."sourcemap-codec-1.4.8"
       sources."spdy-4.0.2"
       (sources."spdy-transport-3.0.0" // {
         dependencies = [
@@ -82096,7 +85403,7 @@ in
       })
       sources."stable-0.1.8"
       sources."stack-trace-0.0.10"
-      sources."stackframe-1.2.0"
+      sources."standard-as-callback-2.1.0"
       (sources."static-extend-0.1.2" // {
         dependencies = [
           sources."define-property-0.2.5"
@@ -82136,13 +85443,7 @@ in
       sources."string.prototype.trimend-1.0.4"
       sources."string.prototype.trimstart-1.0.4"
       sources."string_decoder-1.1.1"
-      (sources."stringify-object-3.3.0" // {
-        dependencies = [
-          sources."is-obj-1.0.1"
-        ];
-      })
       sources."strip-ansi-6.0.0"
-      sources."strip-comments-2.0.1"
       sources."strip-eof-1.0.0"
       sources."strip-json-comments-2.0.1"
       sources."style-loader-1.2.1"
@@ -82152,6 +85453,11 @@ in
         ];
       })
       sources."subscriptions-transport-ws-0.9.8"
+      (sources."sucrase-3.20.1" // {
+        dependencies = [
+          sources."commander-4.1.1"
+        ];
+      })
       sources."sudo-prompt-9.1.1"
       sources."supports-color-5.5.0"
       (sources."supports-hyperlinks-2.2.0" // {
@@ -82173,11 +85479,12 @@ in
           sources."domelementtype-1.3.1"
           sources."domutils-1.7.0"
           sources."nth-check-1.0.2"
+          sources."util.promisify-1.0.1"
         ];
       })
       sources."symbol-observable-1.2.0"
       sources."tapable-1.1.3"
-      (sources."tar-6.1.0" // {
+      (sources."tar-6.1.11" // {
         dependencies = [
           sources."minipass-3.1.3"
           sources."mkdirp-1.0.4"
@@ -82192,7 +85499,6 @@ in
           sources."unique-string-2.0.0"
         ];
       })
-      sources."term-size-2.2.1"
       sources."terminal-link-2.1.1"
       (sources."terser-4.8.0" // {
         dependencies = [
@@ -82214,9 +85520,11 @@ in
           })
           sources."pkg-dir-4.2.0"
           sources."semver-6.3.0"
+          sources."serialize-javascript-4.0.0"
           sources."source-map-0.6.1"
         ];
       })
+      sources."text-hex-1.0.0"
       sources."text-table-0.2.0"
       sources."thenify-3.3.1"
       sources."thenify-all-1.6.0"
@@ -82225,9 +85533,7 @@ in
       sources."thunky-1.1.0"
       sources."timed-out-4.0.1"
       sources."timers-browserify-2.0.12"
-      sources."timm-1.7.1"
       sources."timsort-0.3.0"
-      sources."tinycolor2-1.4.2"
       sources."tmp-0.0.33"
       sources."to-arraybuffer-1.0.1"
       sources."to-fast-properties-2.0.0"
@@ -82241,9 +85547,10 @@ in
       sources."to-regex-range-5.0.1"
       sources."toidentifier-1.0.0"
       sources."tough-cookie-2.5.0"
-      sources."tr46-1.0.1"
       sources."traverse-0.6.6"
       sources."tree-kill-1.2.2"
+      sources."triple-beam-1.3.0"
+      sources."ts-interface-checker-0.1.13"
       sources."ts-invariant-0.4.4"
       sources."ts-pnp-1.2.0"
       sources."tslib-1.14.1"
@@ -82254,6 +85561,7 @@ in
       sources."type-fest-0.3.1"
       sources."type-is-1.6.18"
       sources."typedarray-0.0.6"
+      sources."uglify-js-3.14.1"
       sources."ultron-1.1.1"
       sources."unbox-primitive-1.0.1"
       sources."unicode-canonical-property-names-ecmascript-1.0.4"
@@ -82287,7 +85595,6 @@ in
       (sources."url-0.11.0" // {
         dependencies = [
           sources."punycode-1.3.2"
-          sources."querystring-0.2.0"
         ];
       })
       sources."url-join-4.0.0"
@@ -82296,21 +85603,20 @@ in
           sources."schema-utils-3.1.1"
         ];
       })
-      sources."url-parse-1.5.1"
+      sources."url-parse-1.5.3"
       (sources."url-parse-lax-3.0.0" // {
         dependencies = [
           sources."prepend-http-2.0.0"
         ];
       })
       sources."use-3.1.1"
-      sources."utif-2.0.1"
       (sources."util-0.11.1" // {
         dependencies = [
           sources."inherits-2.0.3"
         ];
       })
       sources."util-deprecate-1.0.2"
-      sources."util.promisify-1.0.0"
+      sources."util.promisify-1.1.1"
       sources."utila-0.4.0"
       sources."utils-merge-1.0.1"
       sources."uuid-8.3.2"
@@ -82344,7 +85650,6 @@ in
       })
       sources."wbuf-1.7.3"
       sources."wcwidth-1.0.1"
-      sources."webidl-conversions-4.0.2"
       (sources."webpack-4.43.0" // {
         dependencies = [
           sources."braces-2.3.2"
@@ -82354,13 +85659,13 @@ in
           sources."fill-range-4.0.0"
           sources."is-number-3.0.0"
           sources."is-wsl-1.1.0"
-          sources."json5-1.0.1"
           sources."kind-of-3.2.2"
           sources."loader-utils-1.4.0"
           sources."lru-cache-5.1.1"
           sources."micromatch-3.1.10"
           sources."rimraf-2.7.1"
           sources."schema-utils-1.0.0"
+          sources."serialize-javascript-4.0.0"
           sources."source-map-0.6.1"
           sources."ssri-6.0.2"
           sources."terser-webpack-plugin-1.4.5"
@@ -82368,7 +85673,6 @@ in
           sources."yallist-3.1.1"
         ];
       })
-      sources."webpack-deep-scope-plugin-1.6.0"
       (sources."webpack-dev-middleware-3.7.3" // {
         dependencies = [
           sources."mime-2.5.2"
@@ -82474,7 +85778,6 @@ in
       })
       sources."websocket-driver-0.6.5"
       sources."websocket-extensions-0.1.4"
-      sources."whatwg-url-7.1.0"
       sources."which-1.3.1"
       sources."which-boxed-primitive-1.0.2"
       sources."which-module-2.0.0"
@@ -82486,49 +85789,15 @@ in
         ];
       })
       sources."widest-line-3.1.0"
-      sources."with-open-file-0.1.7"
-      sources."workbox-background-sync-6.1.5"
-      sources."workbox-broadcast-update-6.1.5"
-      (sources."workbox-build-6.1.5" // {
+      (sources."winston-3.3.3" // {
         dependencies = [
-          (sources."@babel/core-7.14.8" // {
-            dependencies = [
-              sources."source-map-0.5.7"
-            ];
-          })
-          sources."crypto-random-string-2.0.0"
-          sources."fs-extra-9.1.0"
-          sources."semver-6.3.0"
-          sources."source-map-0.8.0-beta.0"
-          sources."temp-dir-2.0.0"
-          sources."tempy-0.6.0"
-          sources."type-fest-0.16.0"
-          sources."unique-string-2.0.0"
-          sources."universalify-2.0.0"
+          sources."readable-stream-3.6.0"
         ];
       })
-      sources."workbox-cacheable-response-6.1.5"
-      sources."workbox-core-6.1.5"
-      sources."workbox-expiration-6.1.5"
-      sources."workbox-google-analytics-6.1.5"
-      sources."workbox-navigation-preload-6.1.5"
-      sources."workbox-precaching-6.1.5"
-      sources."workbox-range-requests-6.1.5"
-      sources."workbox-recipes-6.1.5"
-      sources."workbox-routing-6.1.5"
-      sources."workbox-strategies-6.1.5"
-      sources."workbox-streams-6.1.5"
-      sources."workbox-sw-6.1.5"
-      sources."workbox-webpack-plugin-6.1.5"
-      sources."workbox-window-6.1.5"
+      sources."winston-transport-4.4.0"
+      sources."with-open-file-0.1.7"
+      sources."wordwrap-1.0.0"
       sources."worker-farm-1.7.0"
-      (sources."worker-loader-2.0.0" // {
-        dependencies = [
-          sources."json5-1.0.1"
-          sources."loader-utils-1.4.0"
-          sources."schema-utils-0.4.7"
-        ];
-      })
       sources."worker-rpc-0.1.1"
       (sources."wrap-ansi-7.0.0" // {
         dependencies = [
@@ -82545,27 +85814,25 @@ in
           sources."uuid-7.0.3"
         ];
       })
-      (sources."xdl-59.0.50" // {
+      (sources."xdl-59.1.0" // {
         dependencies = [
+          sources."bplist-parser-0.3.0"
           sources."chownr-1.1.4"
           sources."fs-minipass-1.2.7"
           sources."minipass-2.9.0"
           sources."minizlib-1.3.3"
           sources."p-map-3.0.0"
           sources."tar-4.4.6"
-          sources."uuid-3.3.2"
           sources."yallist-3.1.1"
         ];
       })
-      sources."xhr-2.6.0"
-      sources."xml-parse-from-string-1.0.1"
       (sources."xml2js-0.4.23" // {
         dependencies = [
           sources."xmlbuilder-11.0.1"
         ];
       })
       sources."xmlbuilder-9.0.7"
-      sources."xmldom-0.5.0"
+      sources."xmldom-0.6.0"
       sources."xtend-4.0.2"
       sources."y18n-4.0.3"
       sources."yallist-4.0.0"
@@ -82581,7 +85848,11 @@ in
           sources."strip-ansi-5.2.0"
         ];
       })
-      sources."yargs-parser-13.1.2"
+      (sources."yargs-parser-13.1.2" // {
+        dependencies = [
+          sources."camelcase-5.3.1"
+        ];
+      })
       sources."yocto-queue-0.1.0"
       sources."zen-observable-0.8.15"
       sources."zen-observable-ts-0.8.21"
@@ -82606,38 +85877,38 @@ in
     };
     dependencies = [
       sources."@babel/code-frame-7.14.5"
-      sources."@babel/compat-data-7.14.7"
-      sources."@babel/core-7.14.8"
-      sources."@babel/generator-7.14.8"
+      sources."@babel/compat-data-7.15.0"
+      sources."@babel/core-7.15.0"
+      sources."@babel/generator-7.15.0"
       sources."@babel/helper-annotate-as-pure-7.14.5"
-      sources."@babel/helper-compilation-targets-7.14.5"
+      sources."@babel/helper-compilation-targets-7.15.0"
       sources."@babel/helper-function-name-7.14.5"
       sources."@babel/helper-get-function-arity-7.14.5"
       sources."@babel/helper-hoist-variables-7.14.5"
-      sources."@babel/helper-member-expression-to-functions-7.14.7"
+      sources."@babel/helper-member-expression-to-functions-7.15.0"
       sources."@babel/helper-module-imports-7.14.5"
-      sources."@babel/helper-module-transforms-7.14.8"
+      sources."@babel/helper-module-transforms-7.15.0"
       sources."@babel/helper-optimise-call-expression-7.14.5"
       sources."@babel/helper-plugin-utils-7.14.5"
-      sources."@babel/helper-replace-supers-7.14.5"
+      sources."@babel/helper-replace-supers-7.15.0"
       sources."@babel/helper-simple-access-7.14.8"
       sources."@babel/helper-split-export-declaration-7.14.5"
-      sources."@babel/helper-validator-identifier-7.14.8"
+      sources."@babel/helper-validator-identifier-7.14.9"
       sources."@babel/helper-validator-option-7.14.5"
-      sources."@babel/helpers-7.14.8"
+      sources."@babel/helpers-7.15.3"
       sources."@babel/highlight-7.14.5"
-      sources."@babel/parser-7.14.8"
+      sources."@babel/parser-7.15.3"
       sources."@babel/plugin-proposal-object-rest-spread-7.14.7"
       sources."@babel/plugin-syntax-jsx-7.14.5"
       sources."@babel/plugin-syntax-object-rest-spread-7.8.3"
       sources."@babel/plugin-transform-destructuring-7.14.7"
       sources."@babel/plugin-transform-parameters-7.14.5"
-      sources."@babel/plugin-transform-react-jsx-7.14.5"
+      sources."@babel/plugin-transform-react-jsx-7.14.9"
       sources."@babel/template-7.14.5"
-      sources."@babel/traverse-7.14.8"
-      sources."@babel/types-7.14.8"
+      sources."@babel/traverse-7.15.0"
+      sources."@babel/types-7.15.0"
       sources."@types/minimist-1.2.2"
-      sources."@types/node-16.4.0"
+      sources."@types/node-16.7.2"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/yauzl-2.9.2"
       sources."@types/yoga-layout-1.9.2"
@@ -82656,7 +85927,7 @@ in
       sources."base64-js-1.5.1"
       sources."bl-4.1.0"
       sources."brace-expansion-1.1.11"
-      sources."browserslist-4.16.6"
+      sources."browserslist-4.16.8"
       sources."buffer-5.7.1"
       sources."buffer-crc32-0.2.13"
       sources."caller-callsite-2.0.0"
@@ -82664,7 +85935,7 @@ in
       sources."callsites-2.0.0"
       sources."camelcase-5.3.1"
       sources."camelcase-keys-6.2.2"
-      sources."caniuse-lite-1.0.30001246"
+      sources."caniuse-lite-1.0.30001252"
       sources."chalk-2.4.2"
       sources."chownr-1.1.4"
       sources."ci-info-2.0.0"
@@ -82675,7 +85946,7 @@ in
       sources."code-excerpt-3.0.0"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."colorette-1.2.2"
+      sources."colorette-1.3.0"
       sources."commondir-1.0.1"
       sources."concat-map-0.0.1"
       sources."convert-source-map-1.8.0"
@@ -82689,7 +85960,7 @@ in
       })
       sources."delay-5.0.0"
       sources."devtools-protocol-0.0.869402"
-      sources."electron-to-chromium-1.3.782"
+      sources."electron-to-chromium-1.3.818"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       sources."error-ex-1.3.2"
@@ -82719,7 +85990,7 @@ in
       (sources."ink-3.0.9" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.1"
+          sources."chalk-4.1.2"
           sources."color-convert-2.0.1"
           sources."color-name-1.1.4"
           sources."has-flag-4.0.0"
@@ -82729,7 +86000,7 @@ in
       sources."ink-spinner-4.0.2"
       sources."is-arrayish-0.2.1"
       sources."is-ci-2.0.0"
-      sources."is-core-module-2.5.0"
+      sources."is-core-module-2.6.0"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-plain-obj-1.1.0"
       sources."js-tokens-4.0.0"
@@ -82757,8 +86028,8 @@ in
       sources."mkdirp-classic-0.5.3"
       sources."ms-2.1.2"
       sources."node-fetch-2.6.1"
-      sources."node-releases-1.1.73"
-      (sources."normalize-package-data-3.0.2" // {
+      sources."node-releases-1.1.75"
+      (sources."normalize-package-data-3.0.3" // {
         dependencies = [
           sources."semver-7.3.5"
         ];
@@ -82783,7 +86054,7 @@ in
       sources."puppeteer-9.1.1"
       sources."quick-lru-4.0.1"
       sources."react-16.14.0"
-      sources."react-devtools-core-4.14.0"
+      sources."react-devtools-core-4.17.0"
       sources."react-is-16.13.1"
       sources."react-reconciler-0.24.0"
       (sources."read-pkg-5.2.0" // {
@@ -82821,7 +86092,7 @@ in
       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.9"
+      sources."spdx-license-ids-3.0.10"
       (sources."stack-utils-2.0.3" // {
         dependencies = [
           sources."escape-string-regexp-2.0.0"
@@ -82874,24 +86145,12 @@ in
   fauna-shell = nodeEnv.buildNodePackage {
     name = "fauna-shell";
     packageName = "fauna-shell";
-    version = "0.12.4";
+    version = "0.12.5";
     src = fetchurl {
-      url = "https://registry.npmjs.org/fauna-shell/-/fauna-shell-0.12.4.tgz";
-      sha512 = "KqaoGSmcIBLY6Vr1wWRMu0acuLUpxpKEtjekdwYs+JxMk74vRa8Mwxd96SmEoBat28cPCoLAPfvDyEtzUzkjEg==";
+      url = "https://registry.npmjs.org/fauna-shell/-/fauna-shell-0.12.5.tgz";
+      sha512 = "yDfb49A/9LCm7/xwk7zRzcjzt4w6FKUPLtSy+sRuOA9h26sNwhh4CYOqj57VOF+N7G55XFixEb0/FGKvDl7AyA==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.14.5"
-      sources."@babel/generator-7.14.8"
-      sources."@babel/helper-function-name-7.14.5"
-      sources."@babel/helper-get-function-arity-7.14.5"
-      sources."@babel/helper-hoist-variables-7.14.5"
-      sources."@babel/helper-split-export-declaration-7.14.5"
-      sources."@babel/helper-validator-identifier-7.14.8"
-      sources."@babel/highlight-7.14.5"
-      sources."@babel/parser-7.14.8"
-      sources."@babel/template-7.14.5"
-      sources."@babel/traverse-7.14.8"
-      sources."@babel/types-7.14.8"
       (sources."@heroku-cli/color-1.1.14" // {
         dependencies = [
           sources."ansi-regex-4.1.0"
@@ -82907,24 +86166,31 @@ in
       sources."@nodelib/fs.walk-1.2.8"
       (sources."@oclif/command-1.8.0" // {
         dependencies = [
-          sources."@oclif/plugin-help-3.2.2"
-          sources."ansi-regex-3.0.0"
-          sources."ansi-styles-3.2.1"
-          sources."chalk-4.1.1"
-          sources."color-convert-1.9.3"
-          sources."color-name-1.1.3"
-          sources."has-flag-4.0.0"
-          sources."is-fullwidth-code-point-2.0.0"
-          sources."string-width-2.1.1"
-          sources."strip-ansi-4.0.0"
-          sources."supports-color-7.2.0"
-          sources."wrap-ansi-4.0.0"
+          sources."@oclif/plugin-help-3.3.0"
         ];
       })
       (sources."@oclif/config-1.17.0" // {
         dependencies = [
           sources."globby-11.0.4"
-          sources."tslib-2.3.0"
+          sources."tslib-2.3.1"
+        ];
+      })
+      (sources."@oclif/core-0.5.32" // {
+        dependencies = [
+          sources."chalk-4.1.2"
+          (sources."cli-ux-5.6.3" // {
+            dependencies = [
+              sources."fs-extra-8.1.0"
+              sources."supports-color-8.1.1"
+            ];
+          })
+          sources."fs-extra-9.1.0"
+          sources."globby-11.0.4"
+          sources."has-flag-4.0.0"
+          sources."jsonfile-6.1.0"
+          sources."supports-color-7.2.0"
+          sources."tslib-2.3.1"
+          sources."universalify-2.0.0"
         ];
       })
       sources."@oclif/errors-1.3.5"
@@ -82960,10 +86226,11 @@ in
           sources."strip-ansi-5.2.0"
         ];
       })
-      sources."ansi-escapes-3.2.0"
+      sources."ansi-escapes-4.3.2"
       sources."ansi-regex-5.0.0"
       sources."ansi-styles-4.3.0"
       sources."ansicolors-0.3.2"
+      sources."argparse-1.0.10"
       sources."arr-diff-4.0.0"
       sources."arr-flatten-1.1.0"
       sources."arr-union-3.1.0"
@@ -82975,10 +86242,10 @@ in
       sources."assert-plus-1.0.0"
       sources."assign-symbols-1.0.0"
       sources."asynckit-0.4.0"
+      sources."at-least-node-1.0.0"
       sources."atob-2.1.2"
       sources."aws-sign2-0.7.0"
       sources."aws4-1.11.0"
-      sources."babel-eslint-10.1.0"
       sources."balanced-match-1.0.2"
       (sources."base-0.11.2" // {
         dependencies = [
@@ -82987,17 +86254,24 @@ in
       })
       sources."base64-js-1.5.1"
       sources."bcrypt-pbkdf-1.0.2"
+      (sources."bl-4.1.0" // {
+        dependencies = [
+          sources."readable-stream-3.6.0"
+        ];
+      })
       sources."bluebird-3.7.2"
       (sources."boxen-5.0.1" // {
         dependencies = [
-          sources."chalk-4.1.1"
+          sources."chalk-4.1.2"
           sources."has-flag-4.0.0"
           sources."supports-color-7.2.0"
+          sources."type-fest-0.20.2"
         ];
       })
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
       sources."btoa-lite-1.0.0"
+      sources."buffer-5.7.1"
       sources."cache-base-1.0.1"
       (sources."cacheable-request-2.1.4" // {
         dependencies = [
@@ -83016,6 +86290,7 @@ in
           sources."escape-string-regexp-1.0.5"
         ];
       })
+      sources."chardet-0.7.0"
       (sources."class-utils-0.3.6" // {
         dependencies = [
           sources."define-property-0.2.5"
@@ -83035,27 +86310,40 @@ in
       })
       sources."clean-stack-3.0.1"
       sources."cli-boxes-2.2.1"
-      sources."cli-table-0.3.6"
+      sources."cli-cursor-3.1.0"
+      sources."cli-progress-3.9.0"
+      sources."cli-spinners-2.6.0"
+      (sources."cli-table-0.3.6" // {
+        dependencies = [
+          sources."colors-1.0.3"
+        ];
+      })
       (sources."cli-ux-4.9.3" // {
         dependencies = [
+          sources."ansi-escapes-3.2.0"
           sources."ansi-regex-4.1.0"
           sources."ansi-styles-3.2.1"
           sources."clean-stack-2.2.0"
           sources."color-convert-1.9.3"
           sources."color-name-1.1.3"
+          sources."extract-stack-1.0.0"
           sources."fs-extra-7.0.1"
+          sources."has-flag-2.0.0"
           sources."indent-string-3.2.0"
           sources."is-wsl-1.1.0"
           sources."semver-5.7.1"
           sources."strip-ansi-5.2.0"
+          sources."supports-hyperlinks-1.0.1"
         ];
       })
+      sources."cli-width-3.0.0"
+      sources."clone-1.0.4"
       sources."clone-response-1.0.2"
       sources."co-4.6.0"
       sources."collection-visit-1.0.0"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
-      sources."colors-1.0.3"
+      sources."colors-1.4.0"
       sources."combined-stream-1.0.8"
       sources."component-emitter-1.3.0"
       sources."concat-map-0.0.1"
@@ -83072,6 +86360,7 @@ in
       sources."decode-uri-component-0.2.0"
       sources."decompress-response-3.3.0"
       sources."deep-is-0.1.3"
+      sources."defaults-1.0.3"
       sources."define-property-2.0.2"
       sources."delayed-stream-1.0.0"
       sources."dir-glob-3.0.1"
@@ -83080,14 +86369,7 @@ in
       sources."ecc-jsbn-0.1.2"
       sources."emoji-regex-8.0.0"
       sources."escape-string-regexp-4.0.0"
-      (sources."escodegen-1.14.3" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-        ];
-      })
-      sources."eslint-config-prettier-8.3.0"
-      sources."eslint-plugin-prettier-3.4.0"
-      sources."eslint-visitor-keys-1.3.0"
+      sources."escodegen-1.14.3"
       sources."esprima-4.0.1"
       sources."estraverse-4.3.0"
       sources."esutils-2.0.3"
@@ -83119,27 +86401,32 @@ in
           sources."is-extendable-1.0.1"
         ];
       })
+      sources."external-editor-3.1.0"
       (sources."extglob-2.0.4" // {
         dependencies = [
           sources."define-property-1.0.0"
           sources."extend-shallow-2.0.1"
         ];
       })
-      sources."extract-stack-1.0.0"
+      sources."extract-stack-2.0.0"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-diff-1.2.0"
       sources."fast-glob-3.2.7"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
-      sources."fastq-1.11.1"
+      sources."fastq-1.12.0"
       (sources."faunadb-4.3.0" // {
         dependencies = [
-          sources."chalk-4.1.1"
+          sources."chalk-4.1.2"
           sources."has-flag-4.0.0"
           sources."supports-color-7.2.0"
         ];
       })
+      (sources."figures-3.2.0" // {
+        dependencies = [
+          sources."escape-string-regexp-1.0.5"
+        ];
+      })
       sources."fill-range-7.0.1"
       sources."fn-annotate-1.2.0"
       sources."for-in-1.0.2"
@@ -83149,14 +86436,13 @@ in
       sources."from2-2.3.0"
       sources."fs-extra-8.1.0"
       sources."fs.realpath-1.0.0"
-      sources."function-bind-1.1.1"
+      sources."get-package-type-0.1.0"
       sources."get-stream-3.0.0"
       sources."get-value-2.0.6"
       sources."getpass-0.1.7"
       sources."glob-7.1.7"
       sources."glob-parent-5.1.2"
       sources."glob-to-regexp-0.3.0"
-      sources."globals-11.12.0"
       (sources."globby-8.0.2" // {
         dependencies = [
           sources."@nodelib/fs.stat-1.1.3"
@@ -83188,10 +86474,9 @@ in
         ];
       })
       sources."got-8.3.2"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
-      sources."has-1.0.3"
       sources."has-flag-3.0.0"
       sources."has-symbol-support-x-1.4.2"
       sources."has-to-string-tag-x-1.4.1"
@@ -83208,6 +86493,7 @@ in
       })
       (sources."heroku-cli-util-8.0.12" // {
         dependencies = [
+          sources."ansi-escapes-3.2.0"
           sources."ansi-regex-3.0.0"
           sources."ansi-styles-3.2.1"
           sources."color-convert-1.9.3"
@@ -83219,15 +86505,23 @@ in
       sources."http-cache-semantics-3.8.1"
       sources."http-signature-1.2.0"
       sources."hyperlinker-1.0.0"
+      sources."iconv-lite-0.4.24"
+      sources."ieee754-1.2.1"
       sources."ignore-5.1.8"
       sources."indent-string-4.0.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-1.3.8"
+      (sources."inquirer-8.1.2" // {
+        dependencies = [
+          sources."chalk-4.1.2"
+          sources."has-flag-4.0.0"
+          sources."supports-color-7.2.0"
+        ];
+      })
       sources."into-stream-3.1.0"
       sources."is-accessor-descriptor-1.0.0"
       sources."is-buffer-1.1.6"
-      sources."is-core-module-2.5.0"
       sources."is-data-descriptor-1.0.0"
       sources."is-descriptor-1.0.2"
       sources."is-docker-2.2.1"
@@ -83235,6 +86529,7 @@ in
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-glob-4.0.1"
+      sources."is-interactive-1.0.0"
       sources."is-number-7.0.0"
       sources."is-object-1.0.2"
       sources."is-plain-obj-1.1.0"
@@ -83242,6 +86537,7 @@ in
       sources."is-retry-allowed-1.2.0"
       sources."is-stream-1.1.0"
       sources."is-typedarray-1.0.0"
+      sources."is-unicode-supported-0.1.0"
       sources."is-windows-1.0.2"
       sources."is-wsl-2.2.0"
       sources."isarray-1.0.0"
@@ -83249,9 +86545,8 @@ in
       sources."isobject-3.0.1"
       sources."isstream-0.1.2"
       sources."isurl-1.0.0"
-      sources."js-tokens-4.0.0"
+      sources."js-yaml-3.14.1"
       sources."jsbn-0.1.1"
-      sources."jsesc-2.5.2"
       sources."json-buffer-3.0.0"
       sources."json-schema-0.2.3"
       sources."json-schema-traverse-0.4.1"
@@ -83265,14 +86560,22 @@ in
       sources."lodash._reinterpolate-3.0.0"
       sources."lodash.template-4.5.0"
       sources."lodash.templatesettings-4.2.0"
+      (sources."log-symbols-4.1.0" // {
+        dependencies = [
+          sources."chalk-4.1.2"
+          sources."has-flag-4.0.0"
+          sources."supports-color-7.2.0"
+        ];
+      })
       sources."lowercase-keys-1.0.1"
       sources."lru-cache-6.0.0"
       sources."map-cache-0.2.2"
       sources."map-visit-1.0.0"
       sources."merge2-1.4.1"
       sources."micromatch-4.0.4"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
+      sources."mimic-fn-2.1.0"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.0.4"
       (sources."mixin-deep-1.3.2" // {
@@ -83282,7 +86585,9 @@ in
       })
       sources."moment-2.29.1"
       sources."ms-2.1.2"
+      sources."mute-stream-0.0.8"
       sources."nanomatch-1.2.13"
+      sources."natural-orderby-2.0.3"
       (sources."netrc-parser-3.1.6" // {
         dependencies = [
           sources."debug-3.2.7"
@@ -83307,21 +86612,34 @@ in
           sources."kind-of-3.2.2"
         ];
       })
+      sources."object-treeify-1.1.33"
       sources."object-visit-1.0.1"
       sources."object.pick-1.3.0"
       sources."once-1.4.0"
+      sources."onetime-5.1.2"
       sources."opn-3.0.3"
       sources."optionator-0.8.3"
+      (sources."ora-5.4.1" // {
+        dependencies = [
+          sources."chalk-4.1.2"
+          sources."has-flag-4.0.0"
+          sources."supports-color-7.2.0"
+        ];
+      })
+      sources."os-tmpdir-1.0.2"
       sources."p-cancelable-0.4.1"
       sources."p-finally-1.0.0"
       sources."p-is-promise-1.1.0"
       sources."p-timeout-2.0.1"
       sources."pascalcase-0.1.1"
-      sources."password-prompt-1.1.2"
+      (sources."password-prompt-1.1.2" // {
+        dependencies = [
+          sources."ansi-escapes-3.2.0"
+        ];
+      })
       sources."path-dirname-1.0.2"
       sources."path-is-absolute-1.0.1"
       sources."path-key-2.0.1"
-      sources."path-parse-1.0.7"
       sources."path-type-4.0.0"
       sources."performance-now-2.1.0"
       sources."picomatch-2.3.0"
@@ -83330,7 +86648,6 @@ in
       sources."prelude-ls-1.1.2"
       sources."prepend-http-2.0.0"
       sources."prettier-2.3.2"
-      sources."prettier-linter-helpers-1.0.0"
       sources."process-nextick-args-2.0.1"
       sources."psl-1.8.0"
       sources."punycode-2.1.1"
@@ -83349,12 +86666,18 @@ in
       sources."request-2.88.2"
       sources."request-promise-4.2.6"
       sources."request-promise-core-1.1.4"
-      sources."resolve-1.20.0"
       sources."resolve-url-0.2.1"
       sources."responselike-1.0.2"
+      sources."restore-cursor-3.1.0"
       sources."ret-0.1.15"
       sources."reusify-1.0.4"
+      sources."run-async-2.4.1"
       sources."run-parallel-1.2.0"
+      (sources."rxjs-7.3.0" // {
+        dependencies = [
+          sources."tslib-2.1.0"
+        ];
+      })
       sources."safe-buffer-5.2.1"
       sources."safe-regex-1.1.0"
       sources."safer-buffer-2.1.2"
@@ -83386,6 +86709,7 @@ in
           sources."is-descriptor-0.1.6"
           sources."kind-of-5.1.0"
           sources."ms-2.0.0"
+          sources."source-map-0.5.7"
         ];
       })
       (sources."snapdragon-node-2.1.1" // {
@@ -83399,10 +86723,11 @@ in
         ];
       })
       sources."sort-keys-2.0.0"
-      sources."source-map-0.5.7"
+      sources."source-map-0.6.1"
       sources."source-map-resolve-0.5.3"
       sources."source-map-url-0.4.1"
       sources."split-string-3.1.0"
+      sources."sprintf-js-1.0.3"
       sources."sshpk-1.16.1"
       (sources."static-extend-0.1.2" // {
         dependencies = [
@@ -83432,13 +86757,15 @@ in
       sources."strip-ansi-6.0.0"
       sources."strip-eof-1.0.0"
       sources."supports-color-5.5.0"
-      (sources."supports-hyperlinks-1.0.1" // {
+      (sources."supports-hyperlinks-2.2.0" // {
         dependencies = [
-          sources."has-flag-2.0.0"
+          sources."has-flag-4.0.0"
+          sources."supports-color-7.2.0"
         ];
       })
+      sources."through-2.3.8"
       sources."timed-out-4.0.1"
-      sources."to-fast-properties-2.0.0"
+      sources."tmp-0.0.33"
       (sources."to-object-path-0.3.0" // {
         dependencies = [
           sources."kind-of-3.2.2"
@@ -83452,7 +86779,7 @@ in
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."type-check-0.3.2"
-      sources."type-fest-0.20.2"
+      sources."type-fest-0.21.3"
       sources."union-value-1.0.1"
       sources."universalify-0.1.2"
       (sources."unset-value-1.0.0" // {
@@ -83473,6 +86800,7 @@ in
       sources."util-deprecate-1.0.2"
       sources."uuid-3.4.0"
       sources."verror-1.10.0"
+      sources."wcwidth-1.0.1"
       sources."which-1.3.1"
       sources."widest-line-3.1.0"
       sources."word-wrap-1.2.3"
@@ -83493,10 +86821,10 @@ in
   firebase-tools = nodeEnv.buildNodePackage {
     name = "firebase-tools";
     packageName = "firebase-tools";
-    version = "9.16.0";
+    version = "9.16.6";
     src = fetchurl {
-      url = "https://registry.npmjs.org/firebase-tools/-/firebase-tools-9.16.0.tgz";
-      sha512 = "H/zyDDrQuZKM6ZFyI8t2kDEC+/Ewhk771sM8NLZyEXIQnX5qKAwhi3sJUB+5yrXt+SJQYqUYksBLK6/gqxe9Eg==";
+      url = "https://registry.npmjs.org/firebase-tools/-/firebase-tools-9.16.6.tgz";
+      sha512 = "bW4rT+pTE6n8892rXd5ier9H1snXUZIXrL3WKzuVWXSUqDjUbx6SIgXhjp1++GIdkiMGnfDY5EJR4nV/YrTO5A==";
     };
     dependencies = [
       (sources."@apidevtools/json-schema-ref-parser-9.0.9" // {
@@ -83505,25 +86833,31 @@ in
         ];
       })
       sources."@dabh/diagnostics-2.0.2"
+      sources."@gar/promisify-1.1.2"
       sources."@google-cloud/paginator-3.0.5"
       sources."@google-cloud/precise-date-2.0.3"
       sources."@google-cloud/projectify-2.1.0"
       sources."@google-cloud/promisify-2.0.3"
-      (sources."@google-cloud/pubsub-2.16.1" // {
+      (sources."@google-cloud/pubsub-2.17.0" // {
         dependencies = [
-          sources."google-auth-library-7.3.0"
+          sources."google-auth-library-7.6.2"
         ];
       })
-      sources."@grpc/grpc-js-1.3.6"
+      sources."@grpc/grpc-js-1.3.7"
       sources."@grpc/proto-loader-0.6.4"
       sources."@jsdevtools/ono-7.1.3"
+      (sources."@npmcli/fs-1.0.0" // {
+        dependencies = [
+          sources."semver-7.3.5"
+        ];
+      })
       (sources."@npmcli/move-file-1.1.2" // {
         dependencies = [
           sources."mkdirp-1.0.4"
         ];
       })
-      sources."@opentelemetry/api-1.0.1"
-      sources."@opentelemetry/semantic-conventions-0.22.0"
+      sources."@opentelemetry/api-1.0.2"
+      sources."@opentelemetry/semantic-conventions-0.24.0"
       sources."@protobufjs/aspromise-1.1.2"
       sources."@protobufjs/base64-1.1.2"
       sources."@protobufjs/codegen-2.0.4"
@@ -83540,10 +86874,10 @@ in
       sources."@types/archiver-5.3.0"
       sources."@types/duplexify-3.6.0"
       sources."@types/glob-7.1.4"
-      sources."@types/json-schema-7.0.8"
+      sources."@types/json-schema-7.0.9"
       sources."@types/long-4.0.1"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-16.4.0"
+      sources."@types/node-16.7.2"
       sources."JSONStream-1.3.5"
       sources."abbrev-1.1.1"
       sources."abort-controller-3.0.0"
@@ -83589,7 +86923,7 @@ in
       sources."asn1-0.2.4"
       sources."assert-plus-1.0.0"
       sources."ast-types-0.13.4"
-      sources."async-3.2.0"
+      sources."async-3.2.1"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
       sources."aws4-1.11.0"
@@ -83630,10 +86964,10 @@ in
       sources."buffer-indexof-polyfill-1.0.2"
       sources."buffers-0.1.1"
       sources."bytes-3.1.0"
-      (sources."cacache-15.2.0" // {
+      (sources."cacache-15.3.0" // {
         dependencies = [
           sources."mkdirp-1.0.4"
-          sources."tar-6.1.0"
+          sources."tar-6.1.11"
         ];
       })
       (sources."cacheable-request-6.1.0" // {
@@ -83806,7 +87140,7 @@ in
           sources."safe-buffer-5.1.2"
         ];
       })
-      (sources."ext-1.4.0" // {
+      (sources."ext-1.5.0" // {
         dependencies = [
           sources."type-2.5.0"
         ];
@@ -83892,15 +87226,15 @@ in
       sources."glob-slasher-1.0.1"
       sources."global-dirs-2.1.0"
       sources."google-auth-library-6.1.6"
-      (sources."google-gax-2.19.0" // {
+      (sources."google-gax-2.24.2" // {
         dependencies = [
-          sources."google-auth-library-7.3.0"
+          sources."google-auth-library-7.6.2"
         ];
       })
-      sources."google-p12-pem-3.1.0"
+      sources."google-p12-pem-3.1.2"
       sources."got-9.6.0"
-      sources."graceful-fs-4.2.6"
-      sources."gtoken-5.3.0"
+      sources."graceful-fs-4.2.8"
+      sources."gtoken-5.3.1"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       (sources."has-ansi-2.0.0" // {
@@ -83964,7 +87298,7 @@ in
       sources."is-obj-2.0.0"
       sources."is-path-inside-3.0.3"
       sources."is-promise-2.2.2"
-      sources."is-stream-2.0.0"
+      sources."is-stream-2.0.1"
       sources."is-stream-ended-0.1.4"
       sources."is-typedarray-1.0.0"
       sources."is-url-1.2.4"
@@ -84032,7 +87366,6 @@ in
       sources."lodash.keys-2.4.1"
       sources."lodash.once-4.1.1"
       sources."lodash.snakecase-4.1.1"
-      sources."lodash.toarray-4.4.0"
       sources."lodash.union-4.6.0"
       sources."lodash.values-2.4.1"
       sources."log-symbols-2.2.0"
@@ -84062,8 +87395,8 @@ in
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
       sources."mime-2.5.2"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."mimic-fn-1.2.0"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.0.4"
@@ -84085,7 +87418,7 @@ in
       })
       sources."ms-2.1.2"
       sources."mute-stream-0.0.7"
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       (sources."nash-3.0.0" // {
         dependencies = [
           sources."async-1.5.2"
@@ -84095,14 +87428,14 @@ in
       sources."netmask-2.0.2"
       sources."next-tick-1.0.0"
       sources."nice-try-1.0.5"
-      sources."node-emoji-1.10.0"
+      sources."node-emoji-1.11.0"
       sources."node-fetch-2.6.1"
       sources."node-forge-0.10.0"
-      (sources."node-gyp-8.1.0" // {
+      (sources."node-gyp-8.2.0" // {
         dependencies = [
           sources."mkdirp-1.0.4"
           sources."semver-7.3.5"
-          sources."tar-6.1.0"
+          sources."tar-6.1.11"
           sources."which-2.0.2"
         ];
       })
@@ -84159,6 +87492,7 @@ in
       sources."promise-breaker-5.0.0"
       sources."promise-inflight-1.0.1"
       sources."promise-retry-2.0.1"
+      sources."proto3-json-serializer-0.1.3"
       sources."protobufjs-6.11.2"
       sources."proxy-addr-2.0.7"
       (sources."proxy-agent-4.0.1" // {
@@ -84236,7 +87570,7 @@ in
       sources."shebang-regex-1.0.0"
       sources."signal-exit-3.0.3"
       sources."simple-swizzle-0.2.2"
-      sources."smart-buffer-4.1.0"
+      sources."smart-buffer-4.2.0"
       sources."socks-2.6.1"
       sources."socks-proxy-agent-5.0.1"
       sources."source-map-0.6.1"
@@ -84282,7 +87616,7 @@ in
           sources."has-flag-2.0.0"
         ];
       })
-      (sources."tar-4.4.13" // {
+      (sources."tar-4.4.19" // {
         dependencies = [
           sources."chownr-1.1.4"
           sources."fs-minipass-1.2.7"
@@ -84316,7 +87650,7 @@ in
       sources."toxic-1.0.1"
       sources."traverse-0.3.9"
       sources."triple-beam-1.3.0"
-      sources."tslib-2.3.0"
+      sources."tslib-2.3.1"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       (sources."tweetsodium-0.0.5" // {
@@ -84346,7 +87680,7 @@ in
         dependencies = [
           sources."boxen-5.0.1"
           sources."camelcase-6.2.0"
-          sources."chalk-4.1.1"
+          sources."chalk-4.1.2"
           sources."global-dirs-3.0.0"
           sources."has-flag-4.0.0"
           sources."ini-2.0.0"
@@ -84469,7 +87803,7 @@ in
     };
     dependencies = [
       sources."@babel/code-frame-7.14.5"
-      sources."@babel/helper-validator-identifier-7.14.8"
+      sources."@babel/helper-validator-identifier-7.14.9"
       (sources."@babel/highlight-7.14.5" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
@@ -84490,7 +87824,7 @@ in
       sources."astral-regex-2.0.0"
       sources."camelcase-5.3.1"
       sources."camelcase-keys-6.2.2"
-      sources."chalk-4.1.1"
+      sources."chalk-4.1.2"
       sources."chardet-0.7.0"
       sources."clean-stack-2.2.0"
       sources."cli-cursor-3.1.0"
@@ -84527,10 +87861,10 @@ in
       sources."inquirer-7.3.3"
       sources."inquirer-autocomplete-prompt-1.4.0"
       sources."is-arrayish-0.2.1"
-      sources."is-core-module-2.5.0"
+      sources."is-core-module-2.6.0"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-plain-obj-1.1.0"
-      sources."is-stream-2.0.0"
+      sources."is-stream-2.0.1"
       sources."isexe-2.0.0"
       sources."js-tokens-4.0.0"
       sources."json-parse-even-better-errors-2.3.1"
@@ -84554,7 +87888,7 @@ in
         ];
       })
       sources."mute-stream-0.0.8"
-      sources."normalize-package-data-3.0.2"
+      sources."normalize-package-data-3.0.3"
       sources."npm-run-path-4.0.1"
       sources."num-sort-2.1.0"
       sources."once-1.4.0"
@@ -84604,7 +87938,7 @@ in
       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.9"
+      sources."spdx-license-ids-3.0.10"
       sources."string-width-4.2.2"
       sources."strip-ansi-6.0.0"
       sources."strip-final-newline-2.0.0"
@@ -84649,7 +87983,7 @@ in
     dependencies = [
       sources."@types/atob-2.1.2"
       sources."@types/inquirer-6.5.0"
-      sources."@types/node-16.4.0"
+      sources."@types/node-16.7.2"
       sources."@types/through-0.0.30"
       sources."ajv-6.12.6"
       sources."ansi-escapes-4.3.2"
@@ -84672,7 +88006,7 @@ in
       sources."buffer-to-arraybuffer-0.0.5"
       sources."camelcase-5.3.1"
       sources."caseless-0.12.0"
-      sources."chalk-4.1.1"
+      sources."chalk-4.1.2"
       sources."chardet-0.7.0"
       sources."cli-cursor-3.1.0"
       sources."cli-width-3.0.0"
@@ -84715,7 +88049,7 @@ in
       sources."get-caller-file-2.0.5"
       sources."getpass-0.1.7"
       sources."global-4.4.0"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."has-flag-4.0.0"
@@ -84744,11 +88078,11 @@ in
       sources."jsprim-1.4.1"
       sources."jwt-decode-2.2.0"
       sources."lie-3.1.1"
-      sources."localforage-1.9.0"
+      sources."localforage-1.10.0"
       sources."locate-path-5.0.0"
       sources."lodash-4.17.21"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."mimic-fn-2.1.0"
       sources."mimic-response-1.0.1"
       sources."min-document-2.19.0"
@@ -84773,7 +88107,7 @@ in
       sources."p-limit-2.3.0"
       sources."p-locate-4.1.0"
       sources."p-try-2.2.0"
-      sources."parse-headers-2.0.3"
+      sources."parse-headers-2.0.4"
       sources."path-exists-4.0.0"
       sources."performance-now-2.1.0"
       sources."process-0.11.10"
@@ -84822,11 +88156,7 @@ in
       sources."utf8-3.0.0"
       sources."uuid-3.4.0"
       sources."verror-1.10.0"
-      (sources."web3-utils-1.4.0" // {
-        dependencies = [
-          sources."underscore-1.12.1"
-        ];
-      })
+      sources."web3-utils-1.5.2"
       sources."which-module-2.0.0"
       sources."wrap-ansi-6.2.0"
       sources."wrappy-1.0.2"
@@ -84957,7 +88287,7 @@ in
       sources."director-1.2.7"
       sources."dot-prop-4.2.1"
       sources."duplexer-0.1.2"
-      sources."es-abstract-1.18.3"
+      sources."es-abstract-1.18.5"
       sources."es-get-iterator-1.1.2"
       sources."es-to-primitive-1.2.1"
       sources."event-stream-3.3.4"
@@ -85014,10 +88344,11 @@ in
           sources."is-glob-3.1.0"
         ];
       })
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."has-1.0.3"
       sources."has-bigints-1.0.1"
       sources."has-symbols-1.0.2"
+      sources."has-tostringtag-1.0.0"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
         dependencies = [
@@ -85029,15 +88360,16 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-1.3.8"
+      sources."internal-slot-1.0.3"
       sources."is-accessor-descriptor-1.0.0"
-      sources."is-arguments-1.1.0"
-      sources."is-bigint-1.0.2"
+      sources."is-arguments-1.1.1"
+      sources."is-bigint-1.0.4"
       sources."is-binary-path-1.0.1"
-      sources."is-boolean-object-1.1.1"
+      sources."is-boolean-object-1.1.2"
       sources."is-buffer-1.1.6"
-      sources."is-callable-1.2.3"
+      sources."is-callable-1.2.4"
       sources."is-data-descriptor-1.0.0"
-      sources."is-date-object-1.0.4"
+      sources."is-date-object-1.0.5"
       sources."is-descriptor-1.0.2"
       sources."is-extendable-1.0.1"
       sources."is-extglob-2.1.1"
@@ -85049,14 +88381,14 @@ in
           sources."kind-of-3.2.2"
         ];
       })
-      sources."is-number-object-1.0.5"
+      sources."is-number-object-1.0.6"
       sources."is-obj-1.0.1"
       sources."is-plain-object-2.0.4"
-      sources."is-regex-1.1.3"
+      sources."is-regex-1.1.4"
       sources."is-set-2.0.2"
-      sources."is-string-1.0.6"
+      sources."is-string-1.0.7"
       sources."is-symbol-1.0.4"
-      sources."is-typed-array-1.1.5"
+      sources."is-typed-array-1.1.7"
       sources."is-weakmap-2.0.1"
       sources."is-weakset-2.0.1"
       sources."is-windows-1.0.2"
@@ -85081,7 +88413,7 @@ in
       })
       sources."ms-2.0.0"
       sources."mute-stream-0.0.8"
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       sources."nanomatch-1.2.13"
       (sources."nconf-0.6.9" // {
         dependencies = [
@@ -85260,7 +88592,7 @@ in
       })
       sources."which-boxed-primitive-1.0.2"
       sources."which-collection-1.0.1"
-      sources."which-typed-array-1.1.4"
+      sources."which-typed-array-1.1.6"
       (sources."winston-0.8.3" // {
         dependencies = [
           sources."async-0.2.10"
@@ -85293,14 +88625,14 @@ in
       sources."@medv/blessed-2.0.1"
       sources."ansi-regex-5.0.0"
       sources."ansi-styles-4.3.0"
-      sources."chalk-4.1.1"
+      sources."chalk-4.1.2"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
       sources."emoji-regex-8.0.0"
       sources."has-flag-4.0.0"
       sources."indent-string-4.0.0"
       sources."is-fullwidth-code-point-3.0.0"
-      sources."lossless-json-1.0.4"
+      sources."lossless-json-1.0.5"
       sources."string-width-4.2.2"
       sources."strip-ansi-6.0.0"
       sources."supports-color-7.2.0"
@@ -85336,10 +88668,10 @@ in
   gatsby-cli = nodeEnv.buildNodePackage {
     name = "gatsby-cli";
     packageName = "gatsby-cli";
-    version = "3.10.0";
+    version = "3.12.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-3.10.0.tgz";
-      sha512 = "RgHTA2qdxhdUugoi+S6BCv6LFDYxuV7P8QfbG0QRmmIAybtmpgfse6oLspWgtXwR4liRDZh/hRgwVA4y48JmlA==";
+      url = "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-3.12.0.tgz";
+      sha512 = "Yf2Xa1mLbRi0yjtIRwklRCuTJB+DEKx5jl/2jFKKZkAdIHU8mXizBEkh4Pf0zeERv/22OjsfeCixjBcAw7WbHA==";
     };
     dependencies = [
       (sources."@ardatan/aggregate-error-0.0.6" // {
@@ -85348,20 +88680,20 @@ in
         ];
       })
       sources."@babel/code-frame-7.14.5"
-      sources."@babel/compat-data-7.14.7"
-      (sources."@babel/core-7.14.8" // {
+      sources."@babel/compat-data-7.15.0"
+      (sources."@babel/core-7.15.0" // {
         dependencies = [
           sources."semver-6.3.0"
           sources."source-map-0.5.7"
         ];
       })
-      (sources."@babel/generator-7.14.8" // {
+      (sources."@babel/generator-7.15.0" // {
         dependencies = [
           sources."source-map-0.5.7"
         ];
       })
       sources."@babel/helper-annotate-as-pure-7.14.5"
-      (sources."@babel/helper-compilation-targets-7.14.5" // {
+      (sources."@babel/helper-compilation-targets-7.15.0" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
@@ -85369,36 +88701,36 @@ in
       sources."@babel/helper-function-name-7.14.5"
       sources."@babel/helper-get-function-arity-7.14.5"
       sources."@babel/helper-hoist-variables-7.14.5"
-      sources."@babel/helper-member-expression-to-functions-7.14.7"
+      sources."@babel/helper-member-expression-to-functions-7.15.0"
       sources."@babel/helper-module-imports-7.14.5"
-      sources."@babel/helper-module-transforms-7.14.8"
+      sources."@babel/helper-module-transforms-7.15.0"
       sources."@babel/helper-optimise-call-expression-7.14.5"
       sources."@babel/helper-plugin-utils-7.14.5"
-      sources."@babel/helper-replace-supers-7.14.5"
+      sources."@babel/helper-replace-supers-7.15.0"
       sources."@babel/helper-simple-access-7.14.8"
       sources."@babel/helper-skip-transparent-expression-wrappers-7.14.5"
       sources."@babel/helper-split-export-declaration-7.14.5"
-      sources."@babel/helper-validator-identifier-7.14.8"
+      sources."@babel/helper-validator-identifier-7.14.9"
       sources."@babel/helper-validator-option-7.14.5"
-      sources."@babel/helpers-7.14.8"
+      sources."@babel/helpers-7.15.3"
       (sources."@babel/highlight-7.14.5" // {
         dependencies = [
           sources."chalk-2.4.2"
         ];
       })
-      sources."@babel/parser-7.14.8"
+      sources."@babel/parser-7.15.3"
       sources."@babel/plugin-proposal-object-rest-spread-7.10.4"
       sources."@babel/plugin-proposal-optional-chaining-7.14.5"
       sources."@babel/plugin-syntax-jsx-7.14.5"
       sources."@babel/plugin-syntax-object-rest-spread-7.8.3"
       sources."@babel/plugin-syntax-optional-chaining-7.8.3"
       sources."@babel/plugin-transform-parameters-7.14.5"
-      sources."@babel/plugin-transform-react-jsx-7.14.5"
-      sources."@babel/runtime-7.14.8"
-      sources."@babel/standalone-7.14.8"
+      sources."@babel/plugin-transform-react-jsx-7.14.9"
+      sources."@babel/runtime-7.15.3"
+      sources."@babel/standalone-7.15.3"
       sources."@babel/template-7.14.5"
-      sources."@babel/traverse-7.14.8"
-      sources."@babel/types-7.14.8"
+      sources."@babel/traverse-7.15.0"
+      sources."@babel/types-7.15.0"
       sources."@graphql-tools/schema-7.1.5"
       sources."@graphql-tools/utils-7.10.0"
       sources."@hapi/address-2.1.4"
@@ -85426,16 +88758,16 @@ in
       sources."@sideway/pinpoint-2.0.0"
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
-      sources."@tokenizer/token-0.1.1"
+      sources."@tokenizer/token-0.3.0"
       sources."@turist/fetch-7.1.7"
-      sources."@turist/time-0.0.1"
+      sources."@turist/time-0.0.2"
       sources."@types/common-tags-1.8.1"
       sources."@types/istanbul-lib-coverage-2.0.3"
       sources."@types/istanbul-lib-report-3.0.0"
       sources."@types/istanbul-reports-1.1.2"
       sources."@types/json-patch-0.0.30"
-      sources."@types/node-16.4.0"
-      sources."@types/node-fetch-2.5.11"
+      sources."@types/node-16.7.2"
+      sources."@types/node-fetch-2.5.12"
       sources."@types/unist-2.0.6"
       sources."@types/yargs-15.0.14"
       sources."@types/yargs-parser-20.2.1"
@@ -85489,7 +88821,7 @@ in
       })
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
-      sources."browserslist-4.16.6"
+      sources."browserslist-4.16.8"
       sources."bytes-3.1.0"
       (sources."cacheable-request-6.1.0" // {
         dependencies = [
@@ -85501,9 +88833,9 @@ in
       sources."call-bind-1.0.2"
       sources."camel-case-4.1.2"
       sources."camelcase-5.3.1"
-      sources."caniuse-lite-1.0.30001246"
+      sources."caniuse-lite-1.0.30001252"
       sources."ccount-1.1.0"
-      (sources."chalk-4.1.1" // {
+      (sources."chalk-4.1.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."color-convert-2.0.1"
@@ -85540,7 +88872,7 @@ in
       sources."collapse-white-space-1.0.6"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."colorette-1.2.2"
+      sources."colorette-1.3.0"
       sources."combined-stream-1.0.8"
       sources."common-tags-1.8.0"
       sources."concat-map-0.0.1"
@@ -85551,7 +88883,7 @@ in
         ];
       })
       sources."content-type-1.0.4"
-      sources."contentful-management-7.30.0"
+      sources."contentful-management-7.33.0"
       sources."contentful-sdk-core-6.8.0"
       sources."convert-hrtime-3.0.0"
       (sources."convert-source-map-1.8.0" // {
@@ -85562,7 +88894,7 @@ in
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
       sources."cors-2.8.5"
-      sources."create-gatsby-1.10.0"
+      sources."create-gatsby-1.12.0"
       (sources."cross-spawn-6.0.5" // {
         dependencies = [
           sources."semver-5.7.1"
@@ -85597,7 +88929,7 @@ in
       sources."dotenv-8.6.0"
       sources."duplexer3-0.1.4"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.3.782"
+      sources."electron-to-chromium-1.3.818"
       sources."emoji-regex-7.0.3"
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.4"
@@ -85613,7 +88945,7 @@ in
         dependencies = [
           sources."cross-spawn-7.0.3"
           sources."get-stream-6.0.1"
-          sources."is-stream-2.0.0"
+          sources."is-stream-2.0.1"
           sources."npm-run-path-4.0.1"
           sources."path-key-3.1.1"
           sources."shebang-command-2.0.0"
@@ -85649,7 +88981,7 @@ in
       })
       sources."fast-copy-2.1.1"
       sources."figures-3.2.0"
-      sources."file-type-16.5.2"
+      sources."file-type-16.5.3"
       sources."fill-range-7.0.1"
       sources."filter-obj-1.1.0"
       (sources."finalhandler-1.1.2" // {
@@ -85659,7 +88991,7 @@ in
         ];
       })
       sources."find-up-4.1.0"
-      sources."follow-redirects-1.14.1"
+      sources."follow-redirects-1.14.2"
       sources."form-data-3.0.1"
       sources."forwarded-0.2.0"
       sources."fresh-0.5.2"
@@ -85668,13 +89000,13 @@ in
       sources."fs.realpath-1.0.0"
       sources."fsevents-2.3.2"
       sources."function-bind-1.1.1"
-      sources."gatsby-core-utils-2.10.0"
-      (sources."gatsby-recipes-0.21.0" // {
+      sources."gatsby-core-utils-2.12.0"
+      (sources."gatsby-recipes-0.23.0" // {
         dependencies = [
           sources."strip-ansi-6.0.0"
         ];
       })
-      sources."gatsby-telemetry-2.10.0"
+      sources."gatsby-telemetry-2.12.0"
       sources."gensync-1.0.0-beta.2"
       sources."get-caller-file-2.0.5"
       sources."get-intrinsic-1.1.1"
@@ -85686,7 +89018,7 @@ in
       sources."global-dirs-3.0.0"
       sources."globals-11.12.0"
       sources."got-9.6.0"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."graphql-15.5.1"
       sources."graphql-compose-7.25.1"
       sources."graphql-subscriptions-1.2.1"
@@ -85726,7 +89058,7 @@ in
       sources."is-binary-path-2.1.0"
       sources."is-buffer-2.0.5"
       sources."is-ci-2.0.0"
-      sources."is-core-module-2.5.0"
+      sources."is-core-module-2.6.0"
       sources."is-decimal-1.0.4"
       sources."is-docker-2.2.1"
       sources."is-extglob-2.1.1"
@@ -85767,7 +89099,7 @@ in
         ];
       })
       sources."jest-get-type-25.2.6"
-      (sources."joi-17.4.1" // {
+      (sources."joi-17.4.2" // {
         dependencies = [
           sources."@hapi/hoek-9.2.0"
           sources."@hapi/topo-5.1.0"
@@ -85817,8 +89149,8 @@ in
       sources."micromark-extension-mdxjs-0.3.0"
       sources."micromark-extension-mdxjs-esm-0.3.1"
       sources."mime-1.6.0"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."mimic-fn-2.1.0"
       sources."mimic-response-1.0.1"
       sources."min-indent-1.0.1"
@@ -85833,8 +89165,8 @@ in
       sources."no-case-3.0.4"
       sources."node-eta-0.9.0"
       sources."node-fetch-2.6.1"
-      sources."node-object-hash-2.3.7"
-      sources."node-releases-1.1.73"
+      sources."node-object-hash-2.3.9"
+      sources."node-releases-1.1.75"
       sources."normalize-path-3.0.0"
       sources."normalize-url-6.1.0"
       sources."npm-run-path-2.0.2"
@@ -85868,7 +89200,7 @@ in
       sources."path-key-2.0.1"
       sources."path-parse-1.0.7"
       sources."path-to-regexp-0.1.7"
-      sources."peek-readable-3.1.4"
+      sources."peek-readable-4.0.1"
       sources."picomatch-2.3.0"
       sources."pkg-dir-4.2.0"
       sources."prepend-http-2.0.0"
@@ -85903,8 +89235,8 @@ in
       sources."readable-stream-3.6.0"
       sources."readable-web-to-node-stream-3.0.2"
       sources."readdirp-3.6.0"
-      sources."redux-4.1.0"
-      sources."regenerator-runtime-0.13.8"
+      sources."redux-4.1.1"
+      sources."regenerator-runtime-0.13.9"
       sources."registry-auth-token-4.2.1"
       sources."registry-url-5.1.0"
       sources."remark-mdx-2.0.0-next.9"
@@ -85998,7 +89330,7 @@ in
       sources."strip-final-newline-2.0.0"
       sources."strip-indent-3.0.0"
       sources."strip-json-comments-2.0.1"
-      sources."strtok3-6.1.3"
+      sources."strtok3-6.2.4"
       sources."style-to-object-0.3.0"
       sources."supports-color-5.5.0"
       sources."term-size-2.2.1"
@@ -86008,7 +89340,7 @@ in
       sources."to-readable-stream-1.0.0"
       sources."to-regex-range-5.0.1"
       sources."toidentifier-1.0.0"
-      sources."token-types-3.1.0"
+      sources."token-types-4.1.1"
       sources."trim-0.0.1"
       sources."trim-trailing-lines-1.1.4"
       sources."trough-1.0.5"
@@ -86067,7 +89399,7 @@ in
       sources."write-file-atomic-3.0.3"
       sources."ws-7.5.3"
       sources."xdg-basedir-4.0.0"
-      sources."xstate-4.23.0"
+      sources."xstate-4.23.1"
       sources."xtend-4.0.2"
       sources."y18n-4.0.3"
       sources."yallist-4.0.0"
@@ -86091,6 +89423,193 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
+  generator-code = nodeEnv.buildNodePackage {
+    name = "generator-code";
+    packageName = "generator-code";
+    version = "1.5.5";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/generator-code/-/generator-code-1.5.5.tgz";
+      sha512 = "KxmZfEzhV0JYIonYtKBihZAFFVt0tqKoGL1OAbW8RdFQAgR/Yt5H0zF5K/7q7/M446JRcHCrI/pn9dmWmCXiDA==";
+    };
+    dependencies = [
+      sources."@babel/code-frame-7.14.5"
+      sources."@babel/helper-validator-identifier-7.14.9"
+      (sources."@babel/highlight-7.14.5" // {
+        dependencies = [
+          sources."ansi-styles-3.2.1"
+          sources."chalk-2.4.2"
+          sources."color-convert-1.9.3"
+          sources."color-name-1.1.3"
+          sources."has-flag-3.0.0"
+          sources."supports-color-5.5.0"
+        ];
+      })
+      sources."@octokit/auth-token-2.4.5"
+      sources."@octokit/core-3.5.1"
+      sources."@octokit/endpoint-6.0.12"
+      sources."@octokit/graphql-4.6.4"
+      sources."@octokit/openapi-types-9.7.0"
+      sources."@octokit/plugin-paginate-rest-2.15.1"
+      sources."@octokit/plugin-request-log-1.0.4"
+      sources."@octokit/plugin-rest-endpoint-methods-5.8.0"
+      sources."@octokit/request-5.6.1"
+      sources."@octokit/request-error-2.1.0"
+      sources."@octokit/rest-18.9.1"
+      sources."@octokit/types-6.25.0"
+      sources."@types/normalize-package-data-2.4.1"
+      sources."agent-base-4.3.0"
+      sources."ansi-regex-2.1.1"
+      sources."ansi-styles-4.3.0"
+      sources."balanced-match-1.0.2"
+      sources."before-after-hook-2.2.2"
+      sources."brace-expansion-1.1.11"
+      sources."chalk-4.1.2"
+      sources."cli-boxes-1.0.0"
+      sources."code-point-at-1.1.0"
+      sources."color-convert-2.0.1"
+      sources."color-name-1.1.4"
+      sources."concat-map-0.0.1"
+      sources."cross-spawn-7.0.3"
+      sources."dargs-7.0.0"
+      sources."debug-3.1.0"
+      sources."deprecation-2.3.1"
+      sources."end-of-stream-1.4.4"
+      sources."error-ex-1.3.2"
+      sources."es6-promise-4.2.8"
+      sources."es6-promisify-5.0.0"
+      sources."escape-string-regexp-1.0.5"
+      sources."execa-4.1.0"
+      sources."fast-plist-0.1.2"
+      sources."find-up-4.1.0"
+      sources."fs.realpath-1.0.0"
+      sources."function-bind-1.1.1"
+      sources."get-stdin-4.0.1"
+      sources."get-stream-5.2.0"
+      sources."github-username-6.0.0"
+      sources."glob-7.1.7"
+      sources."has-1.0.3"
+      sources."has-ansi-2.0.0"
+      sources."has-flag-4.0.0"
+      sources."hosted-git-info-2.8.9"
+      sources."http-proxy-agent-2.1.0"
+      sources."https-proxy-agent-2.2.4"
+      sources."human-signals-1.1.1"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.4"
+      sources."interpret-1.4.0"
+      sources."is-arrayish-0.2.1"
+      sources."is-core-module-2.6.0"
+      sources."is-fullwidth-code-point-2.0.0"
+      sources."is-plain-object-5.0.0"
+      sources."is-stream-2.0.1"
+      sources."isexe-2.0.0"
+      sources."js-tokens-4.0.0"
+      sources."json-parse-even-better-errors-2.3.1"
+      sources."lines-and-columns-1.1.6"
+      sources."locate-path-5.0.0"
+      sources."lodash-4.17.21"
+      sources."lru-cache-6.0.0"
+      sources."merge-stream-2.0.0"
+      sources."mimic-fn-2.1.0"
+      sources."minimatch-3.0.4"
+      sources."minimist-1.2.5"
+      sources."ms-2.0.0"
+      sources."node-fetch-2.6.1"
+      (sources."normalize-package-data-2.5.0" // {
+        dependencies = [
+          sources."semver-5.7.1"
+        ];
+      })
+      sources."npm-run-path-4.0.1"
+      sources."number-is-nan-1.0.1"
+      sources."once-1.4.0"
+      sources."onetime-5.1.2"
+      sources."p-limit-2.3.0"
+      sources."p-locate-4.1.0"
+      sources."p-try-2.2.0"
+      sources."pad-component-0.0.1"
+      sources."parse-json-5.2.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."pump-3.0.0"
+      (sources."read-pkg-5.2.0" // {
+        dependencies = [
+          sources."type-fest-0.6.0"
+        ];
+      })
+      sources."read-pkg-up-7.0.1"
+      sources."rechoir-0.6.2"
+      sources."request-light-0.4.0"
+      sources."resolve-1.20.0"
+      sources."run-async-2.4.1"
+      sources."sanitize-filename-1.6.3"
+      sources."semver-7.3.5"
+      sources."shebang-command-2.0.0"
+      sources."shebang-regex-3.0.0"
+      sources."shelljs-0.8.4"
+      sources."signal-exit-3.0.3"
+      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.10"
+      (sources."string-width-2.1.1" // {
+        dependencies = [
+          sources."ansi-regex-3.0.0"
+          sources."strip-ansi-4.0.0"
+        ];
+      })
+      sources."strip-ansi-3.0.1"
+      sources."strip-final-newline-2.0.0"
+      sources."supports-color-7.2.0"
+      sources."taketalk-1.0.0"
+      sources."text-table-0.2.0"
+      sources."truncate-utf8-bytes-1.0.2"
+      sources."type-fest-0.8.1"
+      sources."universal-user-agent-6.0.0"
+      sources."utf8-byte-length-1.0.4"
+      sources."validate-npm-package-license-3.0.4"
+      sources."vscode-nls-4.1.2"
+      sources."which-2.0.2"
+      (sources."wrap-ansi-2.1.0" // {
+        dependencies = [
+          sources."is-fullwidth-code-point-1.0.0"
+          sources."string-width-1.0.2"
+        ];
+      })
+      sources."wrappy-1.0.2"
+      sources."yallist-4.0.0"
+      (sources."yeoman-generator-5.4.2" // {
+        dependencies = [
+          sources."debug-4.3.2"
+          sources."ms-2.1.2"
+        ];
+      })
+      (sources."yosay-2.0.2" // {
+        dependencies = [
+          sources."ansi-styles-3.2.1"
+          (sources."chalk-1.1.3" // {
+            dependencies = [
+              sources."ansi-styles-2.2.1"
+            ];
+          })
+          sources."color-convert-1.9.3"
+          sources."color-name-1.1.3"
+          sources."supports-color-2.0.0"
+        ];
+      })
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Yeoman generator for Visual Studio Code Extensions";
+      homepage = "http://code.visualstudio.com";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
   get-graphql-schema = nodeEnv.buildNodePackage {
     name = "get-graphql-schema";
     packageName = "get-graphql-schema";
@@ -86196,8 +89715,8 @@ in
       sources."lodash.get-4.4.2"
       sources."looper-4.0.0"
       sources."lrucache-1.0.3"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
       sources."moment-2.29.1"
@@ -86274,7 +89793,7 @@ in
       sources."semver-5.7.1"
       sources."separator-escape-0.0.1"
       sources."sha.js-2.4.5"
-      sources."smart-buffer-4.1.0"
+      sources."smart-buffer-4.2.0"
       sources."socks-2.6.1"
       sources."sodium-browserify-1.3.0"
       (sources."sodium-browserify-tweetnacl-0.2.6" // {
@@ -86311,7 +89830,7 @@ in
       })
       sources."ssb-msgs-5.2.0"
       sources."ssb-pull-requests-1.0.0"
-      sources."ssb-ref-2.14.3"
+      sources."ssb-ref-2.16.0"
       (sources."stream-to-pull-stream-1.7.3" // {
         dependencies = [
           sources."looper-3.0.0"
@@ -86356,14 +89875,14 @@ in
   gitmoji-cli = nodeEnv.buildNodePackage {
     name = "gitmoji-cli";
     packageName = "gitmoji-cli";
-    version = "4.1.0";
+    version = "4.5.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/gitmoji-cli/-/gitmoji-cli-4.1.0.tgz";
-      sha512 = "xf6lKP7Ptas6bIdn/KvOn7UqkPS9/BBKcGCDVrsak/e0dWYeDZIOCMNwWxLp/zEjwBMSiPZtJdOdsIdmWap3bQ==";
+      url = "https://registry.npmjs.org/gitmoji-cli/-/gitmoji-cli-4.5.1.tgz";
+      sha512 = "jKet1JrZa/pxV1JePwm6Asd3ZnyqIQG8FN3caTjd9hM+LygssW2NLSFOpnlrvblNXzhpwLxNxcvIv4RoU1Impw==";
     };
     dependencies = [
       sources."@babel/code-frame-7.14.5"
-      sources."@babel/helper-validator-identifier-7.14.8"
+      sources."@babel/helper-validator-identifier-7.14.9"
       (sources."@babel/highlight-7.14.5" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
@@ -86381,7 +89900,7 @@ in
       sources."@types/normalize-package-data-2.4.1"
       sources."agent-base-6.0.2"
       sources."ajv-8.6.2"
-      sources."ajv-formats-2.1.0"
+      sources."ajv-formats-2.1.1"
       (sources."ansi-align-3.0.0" // {
         dependencies = [
           sources."ansi-regex-4.1.0"
@@ -86395,11 +89914,7 @@ in
       sources."ansi-regex-5.0.0"
       sources."ansi-styles-4.3.0"
       sources."arrify-1.0.1"
-      (sources."ast-types-0.13.4" // {
-        dependencies = [
-          sources."tslib-2.3.0"
-        ];
-      })
+      sources."ast-types-0.13.4"
       sources."atomically-1.7.0"
       sources."base64-js-1.5.1"
       sources."bl-4.1.0"
@@ -86419,7 +89934,7 @@ in
       })
       sources."camelcase-5.3.1"
       sources."camelcase-keys-6.2.2"
-      sources."chalk-4.1.1"
+      sources."chalk-4.1.2"
       sources."chardet-0.7.0"
       sources."ci-info-2.0.0"
       sources."cli-boxes-2.2.1"
@@ -86430,7 +89945,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.0.2"
       (sources."configstore-5.0.1" // {
         dependencies = [
           sources."dot-prop-5.3.0"
@@ -86453,7 +89968,7 @@ in
       sources."deep-is-0.1.3"
       sources."defaults-1.0.3"
       sources."defer-to-connect-1.1.3"
-      sources."degenerator-2.2.0"
+      sources."degenerator-3.0.1"
       sources."depd-1.1.2"
       sources."dot-prop-6.0.1"
       sources."duplexer3-0.1.4"
@@ -86491,7 +90006,7 @@ in
           sources."get-stream-4.1.0"
         ];
       })
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."hard-rejection-2.1.0"
       sources."has-1.0.3"
       sources."has-flag-4.0.0"
@@ -86509,12 +90024,17 @@ in
       sources."indent-string-4.0.0"
       sources."inherits-2.0.4"
       sources."ini-2.0.0"
-      sources."inquirer-7.3.3"
-      sources."inquirer-autocomplete-prompt-1.4.0"
+      sources."inquirer-8.1.2"
+      (sources."inquirer-autocomplete-prompt-1.4.0" // {
+        dependencies = [
+          sources."rxjs-6.6.7"
+          sources."tslib-1.14.1"
+        ];
+      })
       sources."ip-1.1.5"
       sources."is-arrayish-0.2.1"
       sources."is-ci-2.0.0"
-      sources."is-core-module-2.5.0"
+      sources."is-core-module-2.6.0"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-installed-globally-0.4.0"
       sources."is-interactive-1.0.0"
@@ -86522,7 +90042,7 @@ in
       sources."is-obj-2.0.0"
       sources."is-path-inside-3.0.3"
       sources."is-plain-obj-1.1.0"
-      sources."is-stream-2.0.0"
+      sources."is-stream-2.0.1"
       sources."is-typedarray-1.0.0"
       sources."is-unicode-supported-0.1.0"
       sources."is-yarn-global-0.3.0"
@@ -86569,7 +90089,7 @@ in
       sources."mute-stream-0.0.8"
       sources."netmask-2.0.2"
       sources."node-fetch-2.6.1"
-      sources."normalize-package-data-3.0.2"
+      sources."normalize-package-data-3.0.3"
       sources."normalize-url-4.5.1"
       sources."npm-run-path-4.0.1"
       sources."once-1.4.0"
@@ -86585,8 +90105,8 @@ in
       sources."p-limit-2.3.0"
       sources."p-locate-3.0.0"
       sources."p-try-2.2.0"
-      sources."pac-proxy-agent-4.1.0"
-      sources."pac-resolver-4.2.0"
+      sources."pac-proxy-agent-5.0.0"
+      sources."pac-resolver-5.0.0"
       (sources."package-json-6.5.0" // {
         dependencies = [
           sources."semver-6.3.0"
@@ -86599,7 +90119,7 @@ in
       sources."pkg-up-3.1.0"
       sources."prelude-ls-1.1.2"
       sources."prepend-http-2.0.0"
-      (sources."proxy-agent-4.0.1" // {
+      (sources."proxy-agent-5.0.0" // {
         dependencies = [
           sources."lru-cache-5.1.1"
           sources."yallist-3.1.1"
@@ -86641,7 +90161,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.3.0"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
       sources."semver-7.3.5"
@@ -86654,14 +90174,14 @@ in
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
       sources."signal-exit-3.0.3"
-      sources."smart-buffer-4.1.0"
+      sources."smart-buffer-4.2.0"
       sources."socks-2.6.1"
       sources."socks-proxy-agent-5.0.1"
       sources."source-map-0.6.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.9"
+      sources."spdx-license-ids-3.0.10"
       sources."statuses-1.5.0"
       sources."string-width-4.2.2"
       sources."string_decoder-1.3.0"
@@ -86675,7 +90195,7 @@ in
       sources."to-readable-stream-1.0.0"
       sources."toidentifier-1.0.0"
       sources."trim-newlines-3.0.1"
-      sources."tslib-1.14.1"
+      sources."tslib-2.1.0"
       sources."type-check-0.3.2"
       sources."type-fest-0.21.3"
       sources."typedarray-to-buffer-3.1.5"
@@ -86687,6 +90207,7 @@ in
       sources."url-parse-lax-3.0.0"
       sources."util-deprecate-1.0.2"
       sources."validate-npm-package-license-3.0.4"
+      sources."vm2-3.9.3"
       sources."wcwidth-1.0.1"
       sources."which-2.0.2"
       sources."widest-line-3.1.0"
@@ -86720,7 +90241,7 @@ in
     dependencies = [
       sources."@ardatan/aggregate-error-0.0.6"
       sources."@babel/code-frame-7.14.5"
-      sources."@babel/helper-validator-identifier-7.14.8"
+      sources."@babel/helper-validator-identifier-7.14.9"
       (sources."@babel/highlight-7.14.5" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
@@ -86731,19 +90252,24 @@ in
           sources."supports-color-5.5.0"
         ];
       })
-      sources."@exodus/schemasafe-1.0.0-rc.3"
+      sources."@exodus/schemasafe-1.0.0-rc.4"
       sources."@graphql-cli/common-4.1.0"
       sources."@graphql-cli/init-4.1.0"
       (sources."@graphql-tools/batch-execute-7.1.2" // {
         dependencies = [
           sources."@graphql-tools/utils-7.10.0"
+          sources."camel-case-4.1.2"
           sources."tslib-2.2.0"
+          sources."value-or-promise-1.0.6"
         ];
       })
       (sources."@graphql-tools/delegate-7.1.5" // {
         dependencies = [
+          sources."@graphql-tools/schema-7.1.5"
           sources."@graphql-tools/utils-7.10.0"
+          sources."camel-case-4.1.2"
           sources."tslib-2.2.0"
+          sources."value-or-promise-1.0.6"
         ];
       })
       (sources."@graphql-tools/graphql-file-loader-6.2.7" // {
@@ -86753,6 +90279,7 @@ in
               sources."tslib-2.2.0"
             ];
           })
+          sources."camel-case-4.1.2"
           sources."tslib-2.1.0"
         ];
       })
@@ -86768,42 +90295,44 @@ in
               sources."tslib-2.2.0"
             ];
           })
+          (sources."camel-case-4.1.2" // {
+            dependencies = [
+              sources."tslib-2.3.1"
+            ];
+          })
         ];
       })
       sources."@graphql-tools/load-6.2.4"
-      (sources."@graphql-tools/merge-6.2.14" // {
+      (sources."@graphql-tools/merge-6.2.17" // {
         dependencies = [
-          sources."@graphql-tools/utils-7.10.0"
-          sources."tslib-2.2.0"
+          sources."@graphql-tools/utils-8.0.2"
+          sources."tslib-2.3.1"
         ];
       })
-      (sources."@graphql-tools/schema-7.1.5" // {
+      (sources."@graphql-tools/schema-8.1.2" // {
         dependencies = [
-          sources."@graphql-tools/utils-7.10.0"
-          sources."tslib-2.2.0"
+          sources."@graphql-tools/merge-8.0.3"
+          sources."@graphql-tools/utils-8.1.2"
+          sources."tslib-2.3.1"
         ];
       })
       (sources."@graphql-tools/url-loader-6.10.1" // {
         dependencies = [
           sources."@graphql-tools/utils-7.10.0"
+          sources."camel-case-4.1.2"
           sources."cross-fetch-3.1.4"
           sources."form-data-4.0.0"
           sources."tslib-2.2.0"
         ];
       })
-      (sources."@graphql-tools/utils-6.2.4" // {
-        dependencies = [
-          (sources."camel-case-4.1.1" // {
-            dependencies = [
-              sources."tslib-1.14.1"
-            ];
-          })
-        ];
-      })
+      sources."@graphql-tools/utils-6.2.4"
       (sources."@graphql-tools/wrap-7.0.8" // {
         dependencies = [
+          sources."@graphql-tools/schema-7.1.5"
           sources."@graphql-tools/utils-7.10.0"
+          sources."camel-case-4.1.2"
           sources."tslib-2.2.0"
+          sources."value-or-promise-1.0.6"
         ];
       })
       sources."@kwsites/file-exists-1.1.1"
@@ -86814,7 +90343,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-16.4.0"
+      sources."@types/node-16.7.2"
       sources."@types/parse-json-4.0.0"
       sources."@types/websocket-1.0.2"
       sources."abort-controller-3.0.0"
@@ -86852,9 +90381,9 @@ in
       sources."call-bind-1.0.2"
       sources."call-me-maybe-1.0.1"
       sources."callsites-3.1.0"
-      (sources."camel-case-4.1.2" // {
+      (sources."camel-case-4.1.1" // {
         dependencies = [
-          sources."tslib-2.3.0"
+          sources."tslib-1.14.1"
         ];
       })
       sources."caseless-0.12.0"
@@ -86908,7 +90437,7 @@ in
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       sources."error-ex-1.3.2"
-      sources."es-abstract-1.18.3"
+      sources."es-abstract-1.18.5"
       sources."es-get-iterator-1.1.2"
       sources."es-to-primitive-1.2.1"
       sources."es6-promise-3.3.1"
@@ -86930,7 +90459,7 @@ in
       sources."fast-glob-3.2.7"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-safe-stringify-2.0.8"
-      sources."fastq-1.11.1"
+      sources."fastq-1.12.0"
       sources."figlet-1.5.0"
       sources."figures-3.2.0"
       sources."fill-range-7.0.1"
@@ -86956,7 +90485,7 @@ in
           sources."p-cancelable-1.1.0"
         ];
       })
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."graphql-15.3.0"
       (sources."graphql-config-3.0.3" // {
         dependencies = [
@@ -86972,9 +90501,10 @@ in
       sources."has-bigints-1.0.1"
       sources."has-flag-4.0.0"
       sources."has-symbols-1.0.2"
+      sources."has-tostringtag-1.0.0"
       sources."http-cache-semantics-4.1.0"
       sources."http-signature-1.2.0"
-      sources."http2-client-1.3.3"
+      sources."http2-client-1.3.5"
       sources."iconv-lite-0.4.24"
       sources."ieee754-1.2.1"
       sources."ignore-5.1.8"
@@ -86998,12 +90528,13 @@ in
           sources."strip-ansi-6.0.0"
         ];
       })
-      sources."is-arguments-1.1.0"
+      sources."internal-slot-1.0.3"
+      sources."is-arguments-1.1.1"
       sources."is-arrayish-0.2.1"
-      sources."is-bigint-1.0.2"
-      sources."is-boolean-object-1.1.1"
-      sources."is-callable-1.2.3"
-      sources."is-date-object-1.0.4"
+      sources."is-bigint-1.0.4"
+      sources."is-boolean-object-1.1.2"
+      sources."is-callable-1.2.4"
+      sources."is-date-object-1.0.5"
       sources."is-docker-2.2.1"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
@@ -87012,14 +90543,14 @@ in
       sources."is-map-2.0.2"
       sources."is-negative-zero-2.0.1"
       sources."is-number-7.0.0"
-      sources."is-number-object-1.0.5"
+      sources."is-number-object-1.0.6"
       sources."is-promise-4.0.0"
-      sources."is-regex-1.1.3"
+      sources."is-regex-1.1.4"
       sources."is-set-2.0.2"
       sources."is-stream-1.1.0"
-      sources."is-string-1.0.6"
+      sources."is-string-1.0.7"
       sources."is-symbol-1.0.4"
-      sources."is-typed-array-1.1.5"
+      sources."is-typed-array-1.1.7"
       sources."is-typedarray-1.0.0"
       sources."is-unicode-supported-0.1.0"
       sources."is-weakmap-2.0.1"
@@ -87063,7 +90594,7 @@ in
       })
       (sources."lower-case-2.0.2" // {
         dependencies = [
-          sources."tslib-2.3.0"
+          sources."tslib-2.3.1"
         ];
       })
       sources."lowercase-keys-1.0.1"
@@ -87076,8 +90607,8 @@ in
       sources."merge2-1.4.1"
       sources."meros-1.1.4"
       sources."micromatch-4.0.4"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."mimic-fn-1.2.0"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.0.4"
@@ -87090,7 +90621,7 @@ in
       sources."nice-try-1.0.5"
       (sources."no-case-3.0.4" // {
         dependencies = [
-          sources."tslib-2.3.0"
+          sources."tslib-2.3.1"
         ];
       })
       sources."node-emoji-1.10.0"
@@ -87104,7 +90635,7 @@ in
       sources."oas-linter-3.2.2"
       (sources."oas-resolver-2.5.6" // {
         dependencies = [
-          sources."yargs-17.0.1"
+          sources."yargs-17.1.1"
         ];
       })
       sources."oas-schema-walker-1.1.5"
@@ -87148,7 +90679,7 @@ in
       sources."parse-json-5.2.0"
       (sources."pascal-case-3.1.2" // {
         dependencies = [
-          sources."tslib-2.3.0"
+          sources."tslib-2.3.1"
         ];
       })
       sources."passwd-user-3.0.0"
@@ -87217,7 +90748,7 @@ in
       sources."supports-color-7.2.0"
       (sources."swagger2openapi-7.0.8" // {
         dependencies = [
-          sources."yargs-17.0.1"
+          sources."yargs-17.1.1"
         ];
       })
       sources."symbol-observable-1.2.0"
@@ -87239,13 +90770,13 @@ in
       sources."url-parse-lax-3.0.0"
       sources."uuid-3.4.0"
       sources."valid-url-1.0.9"
-      sources."value-or-promise-1.0.6"
+      sources."value-or-promise-1.0.10"
       sources."verror-1.10.0"
       sources."wcwidth-1.0.1"
       sources."which-1.3.1"
       sources."which-boxed-primitive-1.0.2"
       sources."which-collection-1.0.1"
-      sources."which-typed-array-1.1.4"
+      sources."which-typed-array-1.1.6"
       (sources."wrap-ansi-7.0.0" // {
         dependencies = [
           sources."ansi-regex-5.0.0"
@@ -87301,7 +90832,7 @@ in
       sources."ini-1.3.8"
       sources."interpret-1.1.0"
       sources."is-absolute-1.0.0"
-      sources."is-core-module-2.5.0"
+      sources."is-core-module-2.6.0"
       sources."is-extglob-2.1.1"
       sources."is-glob-4.0.1"
       sources."is-number-7.0.0"
@@ -87402,8 +90933,8 @@ in
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."minimist-1.2.5"
       sources."ms-2.0.0"
       sources."negotiator-0.6.2"
@@ -87503,7 +91034,7 @@ in
       sources."ansi-term-0.0.2"
       sources."ansicolors-0.3.2"
       sources."blessed-0.1.81"
-      sources."blessed-contrib-4.10.0"
+      sources."blessed-contrib-4.10.1"
       sources."bresenham-0.0.3"
       sources."buffers-0.1.1"
       sources."cardinal-2.1.1"
@@ -87530,19 +91061,18 @@ in
       sources."inherits-2.0.4"
       sources."isarray-0.0.1"
       sources."lodash-4.17.21"
-      sources."lodash.toarray-4.4.0"
       sources."map-canvas-0.1.5"
       sources."marked-2.1.3"
       (sources."marked-terminal-4.1.1" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.1"
+          sources."chalk-4.1.2"
           sources."supports-color-7.2.0"
         ];
       })
       sources."memory-streams-0.1.3"
       sources."memorystream-0.3.1"
-      sources."node-emoji-1.10.0"
+      sources."node-emoji-1.11.0"
       sources."nopt-2.1.2"
       sources."optimist-0.3.7"
       sources."picture-tuber-1.0.2"
@@ -87559,7 +91089,7 @@ in
           sources."supports-color-7.2.0"
         ];
       })
-      sources."systeminformation-5.7.8"
+      sources."systeminformation-5.8.6"
       sources."term-canvas-0.0.5"
       sources."type-fest-0.21.3"
       sources."wordwrap-0.0.3"
@@ -87641,7 +91171,7 @@ in
         ];
       })
       sources."buffer-equal-1.0.0"
-      sources."buffer-from-1.1.1"
+      sources."buffer-from-1.1.2"
       sources."cache-base-1.0.1"
       sources."call-bind-1.0.2"
       sources."camelcase-3.0.0"
@@ -87723,7 +91253,7 @@ in
         ];
       })
       sources."expand-tilde-2.0.2"
-      (sources."ext-1.4.0" // {
+      (sources."ext-1.5.0" // {
         dependencies = [
           sources."type-2.5.0"
         ];
@@ -87774,7 +91304,7 @@ in
       sources."global-modules-1.0.0"
       sources."global-prefix-1.0.2"
       sources."glogg-1.0.2"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."gulp-cli-2.3.0"
       sources."gulplog-1.0.0"
       sources."has-1.0.3"
@@ -87797,7 +91327,7 @@ in
       sources."is-arrayish-0.2.1"
       sources."is-binary-path-1.0.1"
       sources."is-buffer-1.1.6"
-      sources."is-core-module-2.5.0"
+      sources."is-core-module-2.6.0"
       sources."is-data-descriptor-1.0.0"
       sources."is-descriptor-1.0.2"
       sources."is-extendable-0.1.1"
@@ -87846,7 +91376,7 @@ in
       })
       sources."ms-2.0.0"
       sources."mute-stdout-1.0.1"
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       sources."nanomatch-1.2.13"
       sources."next-tick-1.0.0"
       sources."normalize-package-data-2.5.0"
@@ -87961,7 +91491,7 @@ in
       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.9"
+      sources."spdx-license-ids-3.0.10"
       sources."split-string-3.1.0"
       sources."stack-trace-0.0.10"
       (sources."static-extend-0.1.2" // {
@@ -88083,7 +91613,7 @@ in
           sources."extend-shallow-2.0.1"
         ];
       })
-      sources."buffer-from-1.1.1"
+      sources."buffer-from-1.1.2"
       sources."cache-base-1.0.1"
       sources."call-bind-1.0.2"
       sources."camelcase-3.0.0"
@@ -88133,7 +91663,7 @@ in
         ];
       })
       sources."expand-tilde-2.0.2"
-      (sources."ext-1.4.0" // {
+      (sources."ext-1.5.0" // {
         dependencies = [
           sources."type-2.5.0"
         ];
@@ -88175,7 +91705,7 @@ in
       sources."global-modules-1.0.0"
       sources."global-prefix-1.0.2"
       sources."glogg-1.0.2"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."gulplog-1.0.0"
       sources."has-1.0.3"
       sources."has-symbols-1.0.2"
@@ -88199,7 +91729,7 @@ in
       })
       sources."is-arrayish-0.2.1"
       sources."is-buffer-1.1.6"
-      sources."is-core-module-2.5.0"
+      sources."is-core-module-2.6.0"
       (sources."is-data-descriptor-1.0.0" // {
         dependencies = [
           sources."kind-of-6.0.3"
@@ -88358,7 +91888,7 @@ in
       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.9"
+      sources."spdx-license-ids-3.0.10"
       sources."split-string-3.1.0"
       sources."stack-trace-0.0.10"
       (sources."static-extend-0.1.2" // {
@@ -88455,7 +91985,7 @@ in
       sources."param-case-2.1.1"
       sources."relateurl-0.2.7"
       sources."source-map-0.6.1"
-      sources."uglify-js-3.13.10"
+      sources."uglify-js-3.14.1"
       sources."upper-case-1.1.3"
     ];
     buildInputs = globalBuildInputs;
@@ -88526,8 +92056,8 @@ in
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
       sources."jsprim-1.4.1"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."minimatch-3.0.4"
       sources."oauth-sign-0.9.0"
       sources."once-1.4.0"
@@ -88565,10 +92095,10 @@ in
   http-server = nodeEnv.buildNodePackage {
     name = "http-server";
     packageName = "http-server";
-    version = "0.12.3";
+    version = "13.0.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/http-server/-/http-server-0.12.3.tgz";
-      sha512 = "be0dKG6pni92bRjq0kvExtj/NrrAd28/8fCXkaI/4piTwQMSDSLMhWyW0NI1V+DBI3aa1HMlQu46/HjVLfmugA==";
+      url = "https://registry.npmjs.org/http-server/-/http-server-13.0.1.tgz";
+      sha512 = "ke9rphoNuqsOCHy4tA3b3W4Yuxy7VUIXcTHSLz6bkMDAJPQD4twjEatquelJBIPwNhZuC3+FYj/+dSaGHdKTCw==";
     };
     dependencies = [
       sources."async-2.6.3"
@@ -88577,9 +92107,8 @@ in
       sources."colors-1.4.0"
       sources."corser-2.0.1"
       sources."debug-3.2.7"
-      sources."ecstatic-3.3.2"
       sources."eventemitter3-4.0.7"
-      sources."follow-redirects-1.14.1"
+      sources."follow-redirects-1.14.2"
       sources."function-bind-1.1.1"
       sources."get-intrinsic-1.1.1"
       sources."has-1.0.3"
@@ -88878,7 +92407,7 @@ in
           sources."object-assign-3.0.0"
         ];
       })
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."has-ansi-2.0.0"
@@ -88931,8 +92460,8 @@ in
       sources."longest-1.0.1"
       sources."lowercase-keys-1.0.1"
       sources."mime-1.6.0"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
       sources."ms-2.0.0"
@@ -89050,7 +92579,7 @@ in
       })
       sources."moment-2.29.1"
       sources."mv-2.1.1"
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       sources."ncp-2.0.0"
       sources."once-1.4.0"
       sources."optimist-0.6.1"
@@ -89115,7 +92644,7 @@ in
       sha512 = "56gjTrj9SMfPkbGANfqtGYeY3G5KmCkpgEYlKkmiDNG+SpQtLT9/53gt/9CbYd5iT9GgP+IvGXwDWplgCz3NnA==";
     };
     dependencies = [
-      sources."@jcubic/lily-0.1.0"
+      sources."@jcubic/lily-0.2.0"
       sources."@types/jquery-3.5.6"
       sources."@types/sizzle-2.3.3"
       sources."ansidec-0.3.4"
@@ -89134,7 +92663,7 @@ in
       sources."fs.realpath-1.0.0"
       sources."get-stream-4.1.0"
       sources."glob-7.1.7"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."historic-readline-1.0.8"
       sources."iconv-lite-0.6.3"
       sources."inflight-1.0.6"
@@ -89144,7 +92673,7 @@ in
       sources."is-wsl-2.2.0"
       sources."isexe-2.0.0"
       sources."jquery-3.6.0"
-      sources."jquery.terminal-2.27.1"
+      sources."jquery.terminal-2.29.1"
       sources."jsonfile-2.4.0"
       sources."keyboardevent-key-polyfill-1.1.0"
       sources."line-reader-0.4.0"
@@ -89207,7 +92736,7 @@ in
       sources."ansi-styles-3.2.1"
       (sources."ast-types-0.13.4" // {
         dependencies = [
-          sources."tslib-2.3.0"
+          sources."tslib-2.3.1"
         ];
       })
       sources."astral-regex-2.0.0"
@@ -89288,7 +92817,7 @@ in
       sources."get-stream-4.1.0"
       sources."get-uri-3.0.2"
       sources."glob-7.1.7"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."has-1.0.3"
       sources."has-flag-4.0.0"
       sources."has-symbols-1.0.2"
@@ -89303,7 +92832,7 @@ in
         dependencies = [
           sources."ansi-escapes-4.3.2"
           sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.1"
+          sources."chalk-4.1.2"
           sources."cli-cursor-3.1.0"
           sources."color-convert-2.0.1"
           sources."color-name-1.1.4"
@@ -89351,8 +92880,8 @@ in
       sources."macos-release-2.5.0"
       sources."methods-1.1.2"
       sources."mime-2.5.2"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."mimic-fn-1.2.0"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
@@ -89414,7 +92943,7 @@ in
           sources."is-fullwidth-code-point-3.0.0"
         ];
       })
-      sources."smart-buffer-4.1.0"
+      sources."smart-buffer-4.2.0"
       sources."socks-2.6.1"
       sources."socks-proxy-agent-5.0.1"
       sources."source-map-0.6.1"
@@ -89448,7 +92977,7 @@ in
         ];
       })
       sources."supports-color-7.2.0"
-      sources."tar-4.4.13"
+      sources."tar-4.4.19"
       sources."through-2.3.8"
       sources."through2-3.0.2"
       sources."tmp-0.0.33"
@@ -89489,14 +93018,14 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
-  "iosevka-https://github.com/be5invis/Iosevka/archive/v7.2.4.tar.gz" = nodeEnv.buildNodePackage {
+  "iosevka-https://github.com/be5invis/Iosevka/archive/v10.0.0.tar.gz" = nodeEnv.buildNodePackage {
     name = "iosevka";
     packageName = "iosevka";
-    version = "7.2.4";
+    version = "10.0.0";
     src = fetchurl {
-      name = "iosevka-7.2.4.tar.gz";
-      url = "https://codeload.github.com/be5invis/Iosevka/tar.gz/v7.2.4";
-      sha256 = "c4c77a6beead2f164494fca061ba04e7f306771d0a7b86687ffa63fe43f7b83d";
+      name = "iosevka-10.0.0.tar.gz";
+      url = "https://codeload.github.com/be5invis/Iosevka/tar.gz/v10.0.0";
+      sha256 = "20d351190be5f0bb68bd458ce549c1ed34e923e1e7718d8f3f129e3fc84ab5b9";
     };
     dependencies = [
       sources."@iarna/toml-2.2.5"
@@ -89506,7 +93035,7 @@ in
       (sources."@ot-builder/cli-help-shower-1.1.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.1"
+          sources."chalk-4.1.2"
           sources."color-convert-2.0.1"
           sources."color-name-1.1.4"
           sources."has-flag-4.0.0"
@@ -89544,7 +93073,8 @@ in
       sources."@ot-builder/trace-1.1.0"
       sources."@ot-builder/var-store-1.1.0"
       sources."@ot-builder/variance-1.1.0"
-      sources."@unicode/unicode-13.0.0-1.1.0"
+      sources."@unicode/unicode-13.0.0-1.2.0"
+      sources."@xmldom/xmldom-0.7.2"
       sources."aglfn-1.0.2"
       sources."amdefine-1.0.1"
       sources."ansi-regex-5.0.0"
@@ -89556,7 +93086,7 @@ in
       sources."brace-expansion-1.1.11"
       sources."chainsaw-0.0.9"
       sources."chalk-2.4.2"
-      sources."cldr-6.1.1"
+      sources."cldr-7.1.1"
       sources."cli-cursor-3.1.0"
       sources."clipper-lib-6.4.2"
       sources."cliui-7.0.4"
@@ -89605,7 +93135,7 @@ in
       sources."fs.realpath-1.0.0"
       sources."get-caller-file-2.0.5"
       sources."glob-7.1.7"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."has-flag-3.0.0"
       sources."hashish-0.0.4"
       sources."iconv-lite-0.6.3"
@@ -89628,9 +93158,9 @@ in
       sources."ot-builder-1.1.0"
       sources."otb-ttc-bundle-1.1.0"
       sources."passerror-1.1.1"
-      sources."patel-0.34.0"
+      sources."patel-0.35.1"
       sources."path-is-absolute-1.0.1"
-      sources."patrisika-0.22.2"
+      sources."patrisika-0.23.0"
       sources."patrisika-scopes-0.12.0"
       sources."pegjs-0.10.0"
       sources."prelude-ls-1.1.2"
@@ -89664,21 +93194,21 @@ in
       sources."through-2.3.8"
       sources."toposort-2.0.2"
       sources."traverse-0.3.9"
-      sources."tslib-2.3.0"
+      sources."tslib-2.3.1"
       sources."type-check-0.3.2"
       sources."typo-geom-0.12.1"
       sources."unicoderegexp-0.4.1"
       sources."universalify-2.0.0"
       sources."urix-0.1.0"
-      (sources."verda-1.3.0" // {
+      (sources."verda-1.3.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.1"
+          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."yargs-17.0.1"
+          sources."yargs-17.1.1"
         ];
       })
       sources."wawoff2-2.0.0"
@@ -89693,7 +93223,6 @@ in
         ];
       })
       sources."wrappy-1.0.2"
-      sources."xmldom-0.6.0"
       sources."xpath-0.0.32"
       sources."y18n-5.0.8"
       sources."yallist-4.0.0"
@@ -89829,38 +93358,30 @@ in
   joplin = nodeEnv.buildNodePackage {
     name = "joplin";
     packageName = "joplin";
-    version = "2.1.2";
+    version = "2.3.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/joplin/-/joplin-2.1.2.tgz";
-      sha512 = "8xDS/I9zMH0wHuZGZ0xENBn/Ml4gHk2WLMDfShN7L2VNRK/9xowunf2c/fAwI0eNXn/aw2QcMrcgqj37uZ0gbw==";
+      url = "https://registry.npmjs.org/joplin/-/joplin-2.3.2.tgz";
+      sha512 = "Gg0s1NP2mRJqzv68aT8cdt2+71iSYLDTWusAmlX7c8g13ZniSzCEHXywFvpILYm76lzCWxMazPleZhEEuBjqxQ==";
     };
     dependencies = [
       sources."@braintree/sanitize-url-3.1.0"
       sources."@cronvel/get-pixels-3.4.0"
-      sources."@joplin/fork-htmlparser2-4.1.28"
-      sources."@joplin/fork-sax-1.2.32"
-      (sources."@joplin/lib-2.1.1" // {
-        dependencies = [
-          (sources."@joplin/renderer-1.8.2" // {
-            dependencies = [
-              sources."fs-extra-8.1.0"
-              sources."uslug-git+https://github.com/laurent22/uslug.git#emoji-support"
-            ];
-          })
-        ];
-      })
-      (sources."@joplin/renderer-2.1.1" // {
+      sources."@joplin/fork-htmlparser2-4.1.33"
+      sources."@joplin/fork-sax-1.2.37"
+      sources."@joplin/lib-2.3.1"
+      (sources."@joplin/renderer-2.3.1" // {
         dependencies = [
           sources."fs-extra-8.1.0"
+          sources."jsonfile-4.0.0"
           sources."uslug-git+https://github.com/laurent22/uslug.git#emoji-support"
         ];
       })
-      (sources."@joplin/turndown-4.0.50" // {
+      (sources."@joplin/turndown-4.0.55" // {
         dependencies = [
           sources."css-2.2.4"
         ];
       })
-      sources."@joplin/turndown-plugin-gfm-1.0.32"
+      sources."@joplin/turndown-plugin-gfm-1.0.37"
       sources."abab-2.0.5"
       sources."abbrev-1.1.1"
       sources."acorn-7.4.1"
@@ -89900,7 +93421,7 @@ in
       sources."async-mutex-0.1.4"
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
-      (sources."aws-sdk-2.951.0" // {
+      (sources."aws-sdk-2.977.0" // {
         dependencies = [
           sources."sax-1.2.1"
           sources."uuid-3.3.2"
@@ -89931,7 +93452,7 @@ in
       sources."camel-case-3.0.0"
       sources."camelcase-4.1.0"
       sources."caseless-0.12.0"
-      sources."chalk-4.1.1"
+      sources."chalk-4.1.2"
       sources."charenc-0.0.2"
       sources."chokidar-3.5.2"
       sources."chownr-1.1.4"
@@ -89945,7 +93466,7 @@ in
       sources."color-string-1.6.0"
       sources."combined-stream-1.0.8"
       sources."command-line-usage-4.1.0"
-      sources."commander-6.2.1"
+      sources."commander-2.17.1"
       sources."compare-version-0.1.2"
       sources."compare-versions-3.6.0"
       sources."concat-map-0.0.1"
@@ -89966,44 +93487,79 @@ in
         ];
       })
       sources."cwise-compiler-1.1.3"
-      sources."d3-5.16.0"
-      sources."d3-array-1.2.4"
-      sources."d3-axis-1.0.12"
-      sources."d3-brush-1.1.6"
-      sources."d3-chord-1.0.6"
+      sources."d3-7.0.1"
+      sources."d3-array-3.0.2"
+      sources."d3-axis-3.0.0"
+      sources."d3-brush-3.0.0"
+      sources."d3-chord-3.0.1"
       sources."d3-collection-1.0.7"
-      sources."d3-color-1.4.1"
-      sources."d3-contour-1.3.2"
-      sources."d3-dispatch-1.0.6"
-      sources."d3-drag-1.2.5"
-      (sources."d3-dsv-1.2.0" // {
+      sources."d3-color-3.0.1"
+      sources."d3-contour-3.0.1"
+      sources."d3-delaunay-6.0.2"
+      sources."d3-dispatch-3.0.1"
+      sources."d3-drag-3.0.0"
+      (sources."d3-dsv-3.0.1" // {
         dependencies = [
-          sources."commander-2.20.3"
+          sources."commander-7.2.0"
+          sources."iconv-lite-0.6.3"
         ];
       })
-      sources."d3-ease-1.0.7"
-      sources."d3-fetch-1.2.0"
-      sources."d3-force-1.2.1"
-      sources."d3-format-1.4.5"
-      sources."d3-geo-1.12.1"
-      sources."d3-hierarchy-1.1.9"
-      sources."d3-interpolate-1.4.0"
-      sources."d3-path-1.0.9"
-      sources."d3-polygon-1.0.6"
-      sources."d3-quadtree-1.0.7"
-      sources."d3-random-1.1.2"
-      sources."d3-scale-2.2.2"
-      sources."d3-scale-chromatic-1.5.0"
-      sources."d3-selection-1.4.2"
-      sources."d3-shape-1.3.7"
-      sources."d3-time-1.1.0"
-      sources."d3-time-format-2.3.0"
-      sources."d3-timer-1.0.10"
-      sources."d3-transition-1.3.2"
+      sources."d3-ease-3.0.1"
+      sources."d3-fetch-3.0.1"
+      sources."d3-force-3.0.0"
+      sources."d3-format-3.0.1"
+      sources."d3-geo-3.0.1"
+      sources."d3-hierarchy-3.0.1"
+      sources."d3-interpolate-3.0.1"
+      sources."d3-path-3.0.1"
+      sources."d3-polygon-3.0.1"
+      sources."d3-quadtree-3.0.1"
+      sources."d3-random-3.0.1"
+      sources."d3-scale-4.0.0"
+      sources."d3-scale-chromatic-3.0.0"
+      sources."d3-selection-3.0.0"
+      sources."d3-shape-3.0.1"
+      sources."d3-time-3.0.0"
+      sources."d3-time-format-4.0.0"
+      sources."d3-timer-3.0.1"
+      sources."d3-transition-3.0.1"
       sources."d3-voronoi-1.1.4"
-      sources."d3-zoom-1.8.3"
+      sources."d3-zoom-3.0.0"
       sources."dagre-0.8.5"
-      sources."dagre-d3-0.6.4"
+      (sources."dagre-d3-0.6.4" // {
+        dependencies = [
+          sources."d3-5.16.0"
+          sources."d3-array-1.2.4"
+          sources."d3-axis-1.0.12"
+          sources."d3-brush-1.1.6"
+          sources."d3-chord-1.0.6"
+          sources."d3-color-1.4.1"
+          sources."d3-contour-1.3.2"
+          sources."d3-dispatch-1.0.6"
+          sources."d3-drag-1.2.5"
+          sources."d3-dsv-1.2.0"
+          sources."d3-ease-1.0.7"
+          sources."d3-fetch-1.2.0"
+          sources."d3-force-1.2.1"
+          sources."d3-format-1.4.5"
+          sources."d3-geo-1.12.1"
+          sources."d3-hierarchy-1.1.9"
+          sources."d3-interpolate-1.4.0"
+          sources."d3-path-1.0.9"
+          sources."d3-polygon-1.0.6"
+          sources."d3-quadtree-1.0.7"
+          sources."d3-random-1.1.2"
+          sources."d3-scale-2.2.2"
+          sources."d3-scale-chromatic-1.5.0"
+          sources."d3-selection-1.4.2"
+          sources."d3-shape-1.3.7"
+          sources."d3-time-1.1.0"
+          sources."d3-time-format-2.3.0"
+          sources."d3-timer-1.0.10"
+          sources."d3-transition-1.3.2"
+          sources."d3-zoom-1.8.3"
+        ];
+      })
       sources."dashdash-1.14.1"
       sources."data-urls-1.1.0"
       sources."debug-3.2.7"
@@ -90012,6 +93568,7 @@ in
       sources."deep-extend-0.6.0"
       sources."deep-is-0.1.3"
       sources."deepmerge-2.2.1"
+      sources."delaunator-5.0.0"
       sources."delayed-stream-1.0.0"
       sources."delegates-1.0.0"
       sources."depd-1.1.2"
@@ -90025,6 +93582,7 @@ in
       sources."domelementtype-2.2.0"
       sources."domexception-1.0.1"
       sources."domhandler-3.3.0"
+      sources."dompurify-2.3.1"
       (sources."domutils-2.7.0" // {
         dependencies = [
           sources."domhandler-4.2.0"
@@ -90047,7 +93605,6 @@ in
       })
       sources."end-of-stream-1.4.4"
       sources."entities-2.2.0"
-      sources."entity-decode-2.0.2"
       sources."es6-promise-pool-2.5.0"
       sources."escape-string-regexp-1.0.5"
       sources."escodegen-1.14.3"
@@ -90066,7 +93623,7 @@ in
       sources."file-uri-to-path-1.0.0"
       sources."fill-range-7.0.1"
       sources."find-up-2.1.0"
-      sources."follow-redirects-1.14.1"
+      sources."follow-redirects-1.14.2"
       sources."font-awesome-filetypes-2.1.0"
       sources."for-each-property-0.0.4"
       sources."for-each-property-deep-0.0.3"
@@ -90074,7 +93631,11 @@ in
       sources."form-data-2.5.1"
       sources."format-0.2.2"
       sources."fs-constants-1.0.0"
-      sources."fs-extra-5.0.0"
+      (sources."fs-extra-5.0.0" // {
+        dependencies = [
+          sources."jsonfile-4.0.0"
+        ];
+      })
       sources."fs-minipass-1.2.7"
       sources."fs.realpath-1.0.0"
       sources."fsevents-2.3.2"
@@ -90090,7 +93651,7 @@ in
       sources."github-from-package-0.0.0"
       sources."glob-7.1.7"
       sources."glob-parent-5.1.2"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."graphlib-2.1.8"
       sources."growly-1.3.0"
       sources."har-schema-2.0.0"
@@ -90099,14 +93660,10 @@ in
       sources."has-flag-4.0.0"
       sources."has-unicode-2.0.1"
       sources."he-1.2.0"
-      sources."highlight.js-10.7.3"
+      sources."highlight.js-11.2.0"
       sources."html-encoding-sniffer-1.0.2"
       sources."html-entities-1.4.0"
-      (sources."html-minifier-3.5.21" // {
-        dependencies = [
-          sources."commander-2.17.1"
-        ];
-      })
+      sources."html-minifier-3.5.21"
       sources."http-errors-1.8.0"
       sources."http-signature-1.2.0"
       sources."iconv-lite-0.4.24"
@@ -90115,7 +93672,6 @@ in
       (sources."image-data-uri-2.0.1" // {
         dependencies = [
           sources."fs-extra-0.26.7"
-          sources."jsonfile-2.4.0"
         ];
       })
       sources."image-type-3.1.0"
@@ -90130,13 +93686,11 @@ in
       })
       (sources."inspect-parameters-declaration-0.0.9" // {
         dependencies = [
-          sources."commander-2.20.3"
           sources."magicli-0.0.5"
         ];
       })
       (sources."inspect-property-0.0.6" // {
         dependencies = [
-          sources."commander-2.20.3"
           sources."inspect-function-0.3.4"
           (sources."inspect-parameters-declaration-0.0.8" // {
             dependencies = [
@@ -90151,6 +93705,7 @@ in
           sources."split-skip-0.0.1"
         ];
       })
+      sources."internmap-2.0.1"
       sources."iota-array-1.0.0"
       sources."ip-regex-2.1.0"
       sources."is-absolute-0.2.6"
@@ -90185,16 +93740,20 @@ in
       sources."json-schema-0.2.3"
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
-      sources."jsonfile-4.0.0"
+      sources."jsonfile-2.4.0"
       sources."jsprim-1.4.1"
-      sources."katex-0.13.13"
+      (sources."katex-0.13.13" // {
+        dependencies = [
+          sources."commander-6.2.1"
+        ];
+      })
       sources."keytar-7.7.0"
       sources."khroma-1.4.1"
       sources."klaw-1.3.1"
       sources."lazyness-1.2.0"
       sources."levenshtein-1.0.5"
       sources."levn-0.3.0"
-      sources."linkify-it-3.0.2"
+      sources."linkify-it-2.2.0"
       sources."locate-path-2.0.0"
       sources."lodash-4.17.21"
       sources."lodash-es-4.17.21"
@@ -90214,7 +93773,6 @@ in
       (sources."markdown-it-10.0.0" // {
         dependencies = [
           sources."entities-2.0.3"
-          sources."linkify-it-2.2.0"
         ];
       })
       sources."markdown-it-abbr-1.0.4"
@@ -90228,6 +93786,7 @@ in
       (sources."markdown-it-multimd-table-4.1.0" // {
         dependencies = [
           sources."entities-2.0.3"
+          sources."linkify-it-3.0.2"
           sources."markdown-it-11.0.1"
         ];
       })
@@ -90237,9 +93796,9 @@ in
       sources."md5-2.3.0"
       sources."md5-file-4.0.0"
       sources."mdurl-1.0.1"
-      sources."mermaid-8.11.0"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mermaid-8.12.0"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."mimic-response-2.1.0"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
@@ -90256,11 +93815,11 @@ in
       sources."ms-2.1.3"
       sources."multiparty-4.2.2"
       sources."mustache-4.2.0"
-      sources."nanoid-3.1.23"
+      sources."nanoid-3.1.25"
       sources."napi-build-utils-1.0.2"
       sources."ndarray-1.0.19"
       sources."ndarray-pack-1.2.1"
-      sources."needle-2.8.0"
+      sources."needle-2.9.0"
       sources."nextgen-events-1.5.2"
       sources."no-case-2.3.2"
       (sources."node-abi-2.30.0" // {
@@ -90270,7 +93829,7 @@ in
       })
       sources."node-addon-api-3.2.1"
       sources."node-bitmap-0.0.1"
-      sources."node-emoji-1.10.0"
+      sources."node-emoji-1.11.0"
       sources."node-fetch-1.7.3"
       (sources."node-gyp-3.8.0" // {
         dependencies = [
@@ -90303,7 +93862,6 @@ in
       sources."object-assign-4.1.1"
       (sources."object-to-arguments-0.0.8" // {
         dependencies = [
-          sources."commander-2.20.3"
           sources."inspect-parameters-declaration-0.0.10"
           sources."magicli-0.0.5"
         ];
@@ -90329,7 +93887,7 @@ in
       sources."pipe-functions-1.3.0"
       sources."pn-1.1.0"
       sources."pngjs-5.0.0"
-      sources."prebuild-install-6.1.3"
+      sources."prebuild-install-6.1.4"
       sources."prelude-ls-1.1.2"
       sources."process-nextick-args-2.0.1"
       sources."promise-7.3.1"
@@ -90373,6 +93931,7 @@ in
       sources."resolve-url-0.2.1"
       sources."retry-0.10.1"
       sources."rimraf-2.7.1"
+      sources."robust-predicates-3.0.1"
       sources."rw-1.3.3"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
@@ -90429,7 +93988,6 @@ in
       })
       (sources."stringify-parameters-0.0.4" // {
         dependencies = [
-          sources."commander-2.20.3"
           sources."magicli-0.0.5"
         ];
       })
@@ -90439,12 +93997,12 @@ in
         ];
       })
       sources."strip-json-comments-2.0.1"
-      sources."stylis-3.5.4"
+      sources."stylis-4.0.10"
       sources."supports-color-7.2.0"
       sources."symbol-observable-1.2.0"
       sources."symbol-tree-3.2.4"
       sources."table-layout-0.4.5"
-      (sources."tar-4.4.13" // {
+      (sources."tar-4.4.19" // {
         dependencies = [
           sources."yallist-3.1.1"
         ];
@@ -90461,7 +94019,7 @@ in
           sources."q-0.9.7"
         ];
       })
-      sources."terminal-kit-1.49.3"
+      sources."terminal-kit-1.49.4"
       (sources."tkwidgets-0.5.26" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
@@ -90477,7 +94035,7 @@ in
       sources."toidentifier-1.0.0"
       sources."tough-cookie-3.0.1"
       sources."tr46-1.0.1"
-      sources."tree-kit-0.6.2"
+      sources."tree-kit-0.7.0"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."type-check-0.3.2"
@@ -90503,7 +94061,7 @@ in
           sources."punycode-1.3.2"
         ];
       })
-      sources."url-parse-1.5.1"
+      sources."url-parse-1.5.3"
       sources."uslug-git+https://github.com/laurent22/uslug.git#emoji-support"
       sources."util-deprecate-1.0.2"
       sources."uuid-3.4.0"
@@ -90617,13 +94175,13 @@ in
       sha512 = "sxKt7h0vzCd+3Y81Ey2qinupL6DpRSZJclS04ugHDNmRUXGzqicMJ6iwayhSA0S0DwwX30c5ozyUthr1QKF6uw==";
     };
     dependencies = [
-      sources."@babel/parser-7.14.8"
+      sources."@babel/parser-7.15.3"
       sources."argparse-1.0.10"
       sources."bluebird-3.7.2"
       sources."catharsis-0.9.0"
       sources."entities-2.0.3"
       sources."escape-string-regexp-2.0.0"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."js2xmlparser-4.0.1"
       sources."klaw-3.0.0"
       sources."linkify-it-2.2.0"
@@ -90654,10 +94212,10 @@ in
   jshint = nodeEnv.buildNodePackage {
     name = "jshint";
     packageName = "jshint";
-    version = "2.13.0";
+    version = "2.13.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/jshint/-/jshint-2.13.0.tgz";
-      sha512 = "Nd+md9wIeyfDK+RGrbOBzwLONSTdihGMtyGYU/t7zYcN2EgUa4iuY3VK2oxtPYrW5ycTj18iC+UbhNTxe4C66g==";
+      url = "https://registry.npmjs.org/jshint/-/jshint-2.13.1.tgz";
+      sha512 = "vymzfR3OysF5P774x6zYv0bD4EpH6NWRxpq54wO9mA9RuY49yb1teKSICkLx2Ryx+mfzlVVNNbTBtsRtg78t7g==";
     };
     dependencies = [
       sources."balanced-match-1.0.2"
@@ -90780,8 +94338,8 @@ in
       sources."lodash-4.17.21"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."ms-2.1.3"
       sources."native-promise-only-0.8.1"
       sources."object-inspect-1.11.0"
@@ -90840,7 +94398,7 @@ in
         ];
       })
       sources."camelcase-6.2.0"
-      sources."chalk-4.1.1"
+      sources."chalk-4.1.2"
       sources."ci-info-2.0.0"
       sources."cli-boxes-2.2.1"
       (sources."cliui-7.0.4" // {
@@ -90896,7 +94454,7 @@ in
       sources."get-stream-4.1.0"
       sources."global-dirs-3.0.0"
       sources."got-9.6.0"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."has-flag-4.0.0"
       sources."has-yarn-2.1.0"
       sources."http-cache-semantics-4.1.0"
@@ -90941,8 +94499,8 @@ in
       })
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."mimic-response-1.0.1"
       sources."minimist-1.2.5"
       (sources."morgan-1.10.0" // {
@@ -90951,7 +94509,7 @@ in
         ];
       })
       sources."ms-2.0.0"
-      sources."nanoid-3.1.23"
+      sources."nanoid-3.1.25"
       sources."negotiator-0.6.2"
       sources."normalize-url-4.5.1"
       sources."object-assign-4.1.1"
@@ -91232,7 +94790,7 @@ in
       sources."glob-base-0.3.0"
       sources."glob-parent-2.0.0"
       sources."got-5.7.1"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."has-1.0.3"
@@ -91269,7 +94827,7 @@ in
       sources."is-arrayish-0.2.1"
       sources."is-binary-path-1.0.1"
       sources."is-buffer-1.1.6"
-      sources."is-core-module-2.5.0"
+      sources."is-core-module-2.6.0"
       (sources."is-data-descriptor-1.0.0" // {
         dependencies = [
           sources."kind-of-6.0.3"
@@ -91333,8 +94891,8 @@ in
       sources."methods-1.1.2"
       sources."micromatch-2.3.11"
       sources."mime-1.6.0"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."minimist-1.2.5"
       (sources."mixin-deep-1.3.2" // {
         dependencies = [
@@ -91348,7 +94906,7 @@ in
         ];
       })
       sources."ms-2.0.0"
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       (sources."nanomatch-1.2.13" // {
         dependencies = [
           sources."arr-diff-4.0.0"
@@ -91549,7 +95107,7 @@ in
       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.9"
+      sources."spdx-license-ids-3.0.10"
       sources."split-string-3.1.0"
       sources."sshpk-1.16.1"
       (sources."static-extend-0.1.2" // {
@@ -91655,7 +95213,15 @@ in
       sources."@oclif/command-1.8.0"
       (sources."@oclif/config-1.17.0" // {
         dependencies = [
-          sources."tslib-2.3.0"
+          sources."tslib-2.3.1"
+        ];
+      })
+      (sources."@oclif/core-0.5.32" // {
+        dependencies = [
+          sources."fs-extra-9.1.0"
+          sources."jsonfile-6.1.0"
+          sources."tslib-2.3.1"
+          sources."universalify-2.0.0"
         ];
       })
       sources."@oclif/errors-1.3.5"
@@ -91669,23 +95235,13 @@ in
           sources."escape-string-regexp-1.0.5"
         ];
       })
-      (sources."@oclif/plugin-help-3.2.2" // {
+      sources."@oclif/plugin-help-3.3.0"
+      sources."@oclif/screen-1.0.4"
+      (sources."@putdotio/api-client-8.17.0" // {
         dependencies = [
-          sources."ansi-regex-3.0.0"
-          sources."ansi-styles-3.2.1"
-          sources."color-convert-1.9.3"
-          sources."color-name-1.1.3"
-          sources."is-fullwidth-code-point-2.0.0"
-          (sources."wrap-ansi-4.0.0" // {
-            dependencies = [
-              sources."string-width-2.1.1"
-              sources."strip-ansi-4.0.0"
-            ];
-          })
+          sources."axios-0.21.1"
         ];
       })
-      sources."@oclif/screen-1.0.4"
-      sources."@putdotio/api-client-8.16.0"
       sources."ajv-6.12.6"
       sources."ansi-escapes-4.3.2"
       sources."ansi-regex-5.0.0"
@@ -91694,11 +95250,18 @@ in
       sources."argparse-1.0.10"
       sources."array-union-2.1.0"
       sources."asynckit-0.4.0"
-      sources."axios-0.19.2"
+      sources."at-least-node-1.0.0"
+      (sources."axios-0.19.2" // {
+        dependencies = [
+          sources."debug-3.1.0"
+          sources."follow-redirects-1.5.10"
+          sources."ms-2.0.0"
+        ];
+      })
       sources."braces-3.0.2"
       sources."call-bind-1.0.2"
       sources."cardinal-2.1.1"
-      (sources."chalk-4.1.1" // {
+      (sources."chalk-4.1.2" // {
         dependencies = [
           sources."has-flag-4.0.0"
           sources."supports-color-7.2.0"
@@ -91712,7 +95275,7 @@ in
         dependencies = [
           sources."has-flag-4.0.0"
           sources."supports-color-8.1.1"
-          sources."tslib-2.3.0"
+          sources."tslib-2.3.1"
         ];
       })
       sources."cli-width-3.0.0"
@@ -91749,13 +95312,13 @@ in
       sources."escape-string-regexp-4.0.0"
       sources."esprima-4.0.1"
       sources."event-emitter-0.3.5"
-      sources."ext-1.4.0"
+      sources."ext-1.5.0"
       sources."external-editor-3.1.0"
       sources."extract-stack-2.0.0"
       sources."fast-deep-equal-3.1.3"
       sources."fast-glob-3.2.7"
       sources."fast-json-stable-stringify-2.1.0"
-      sources."fastq-1.11.1"
+      sources."fastq-1.12.0"
       (sources."figures-3.2.0" // {
         dependencies = [
           sources."escape-string-regexp-1.0.5"
@@ -91763,19 +95326,15 @@ in
       })
       sources."fill-range-7.0.1"
       sources."find-up-3.0.0"
-      (sources."follow-redirects-1.5.10" // {
-        dependencies = [
-          sources."debug-3.1.0"
-          sources."ms-2.0.0"
-        ];
-      })
+      sources."follow-redirects-1.14.2"
       sources."form-data-3.0.1"
       sources."fs-extra-8.1.0"
       sources."function-bind-1.1.1"
       sources."get-intrinsic-1.1.1"
+      sources."get-package-type-0.1.0"
       sources."glob-parent-5.1.2"
       sources."globby-11.0.4"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
       sources."has-symbols-1.0.2"
@@ -91812,8 +95371,8 @@ in
       })
       sources."merge2-1.4.1"
       sources."micromatch-4.0.4"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."mimic-fn-2.1.0"
       sources."moment-2.29.1"
       sources."ms-2.1.2"
@@ -91875,6 +95434,7 @@ in
       sources."universalify-0.1.2"
       sources."uri-js-4.4.1"
       sources."urijs-1.19.7"
+      sources."uuid-8.3.2"
       sources."which-1.3.1"
       sources."widest-line-3.1.0"
       sources."wrap-ansi-7.0.0"
@@ -91924,7 +95484,7 @@ in
       sources."@types/component-emitter-1.2.10"
       sources."@types/cookie-0.4.1"
       sources."@types/cors-2.8.12"
-      sources."@types/node-16.4.0"
+      sources."@types/node-16.7.2"
       sources."accepts-1.3.7"
       sources."ansi-regex-5.0.0"
       sources."ansi-styles-4.3.0"
@@ -91972,14 +95532,14 @@ in
       sources."fill-range-7.0.1"
       sources."finalhandler-1.1.2"
       sources."flatted-2.0.2"
-      sources."follow-redirects-1.14.1"
+      sources."follow-redirects-1.14.2"
       sources."fs-extra-8.1.0"
       sources."fs.realpath-1.0.0"
       sources."fsevents-2.3.2"
       sources."get-caller-file-2.0.5"
       sources."glob-7.1.7"
       sources."glob-parent-5.1.2"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."http-errors-1.7.2"
       sources."http-proxy-1.18.1"
       sources."iconv-lite-0.4.24"
@@ -92001,8 +95561,8 @@ in
       })
       sources."media-typer-0.3.0"
       sources."mime-2.5.2"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."minimatch-3.0.4"
       sources."ms-2.0.0"
       sources."negotiator-0.6.2"
@@ -92123,7 +95683,7 @@ in
       })
       sources."browserify-zlib-0.2.0"
       sources."buffer-5.2.1"
-      sources."buffer-from-1.1.1"
+      sources."buffer-from-1.1.2"
       sources."buffer-xor-1.0.3"
       sources."builtin-status-codes-3.0.0"
       sources."bytesish-0.4.4"
@@ -92171,7 +95731,7 @@ in
       })
       sources."emoji-regex-8.0.0"
       sources."enquirer-2.3.6"
-      sources."es-abstract-1.18.3"
+      sources."es-abstract-1.18.5"
       sources."es-to-primitive-1.2.1"
       sources."escalade-3.1.1"
       sources."events-3.3.0"
@@ -92185,10 +95745,11 @@ in
       sources."get-caller-file-2.0.5"
       sources."get-intrinsic-1.1.1"
       sources."glob-7.1.7"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."has-1.0.3"
       sources."has-bigints-1.0.1"
       sources."has-symbols-1.0.2"
+      sources."has-tostringtag-1.0.0"
       (sources."hash-base-3.1.0" // {
         dependencies = [
           sources."readable-stream-3.6.0"
@@ -92204,23 +95765,24 @@ in
       sources."inherits-2.0.4"
       sources."inline-source-map-0.6.2"
       sources."insert-module-globals-7.2.1"
-      sources."is-arguments-1.1.0"
-      sources."is-bigint-1.0.2"
-      sources."is-boolean-object-1.1.1"
+      sources."internal-slot-1.0.3"
+      sources."is-arguments-1.1.1"
+      sources."is-bigint-1.0.4"
+      sources."is-boolean-object-1.1.2"
       sources."is-buffer-1.1.6"
-      sources."is-callable-1.2.3"
-      sources."is-core-module-2.5.0"
-      sources."is-date-object-1.0.4"
+      sources."is-callable-1.2.4"
+      sources."is-core-module-2.6.0"
+      sources."is-date-object-1.0.5"
       sources."is-fullwidth-code-point-3.0.0"
-      sources."is-generator-function-1.0.9"
+      sources."is-generator-function-1.0.10"
       sources."is-negative-zero-2.0.1"
-      sources."is-number-object-1.0.5"
+      sources."is-number-object-1.0.6"
       sources."is-plain-obj-2.1.0"
-      sources."is-regex-1.1.3"
-      sources."is-stream-2.0.0"
-      sources."is-string-1.0.6"
+      sources."is-regex-1.1.4"
+      sources."is-stream-2.0.1"
+      sources."is-string-1.0.7"
       sources."is-symbol-1.0.4"
-      sources."is-typed-array-1.1.5"
+      sources."is-typed-array-1.1.7"
       sources."isarray-1.0.0"
       sources."jsonparse-1.3.1"
       sources."labeled-stream-splicer-2.0.2"
@@ -92284,6 +95846,7 @@ in
       sources."sha.js-2.4.11"
       sources."shasum-object-1.0.0"
       sources."shell-quote-1.7.2"
+      sources."side-channel-1.0.4"
       sources."simple-concat-1.0.1"
       sources."slide-1.1.6"
       sources."source-map-0.5.7"
@@ -92326,7 +95889,7 @@ in
       sources."valid-url-1.0.9"
       sources."vm-browserify-1.1.2"
       sources."which-boxed-primitive-1.0.2"
-      sources."which-typed-array-1.1.4"
+      sources."which-typed-array-1.1.6"
       sources."wrap-ansi-7.0.0"
       sources."wrappy-1.0.2"
       sources."write-file-atomic-1.3.4"
@@ -92378,7 +95941,7 @@ in
       sources."glob-7.1.7"
       sources."glob-parent-3.1.0"
       sources."glob-stream-6.1.0"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."has-1.0.3"
       sources."has-symbols-1.0.2"
       sources."inflight-1.0.6"
@@ -92559,8 +96122,8 @@ in
           sources."mimic-fn-2.1.0"
         ];
       })
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."mimic-fn-1.2.0"
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
@@ -92805,8 +96368,8 @@ in
       sources."locate-path-5.0.0"
       sources."lodash-4.17.21"
       sources."log-symbols-2.2.0"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."mimic-fn-1.2.0"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
@@ -92946,7 +96509,7 @@ in
     };
     dependencies = [
       sources."@babel/code-frame-7.14.5"
-      sources."@babel/helper-validator-identifier-7.14.8"
+      sources."@babel/helper-validator-identifier-7.14.9"
       (sources."@babel/highlight-7.14.5" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
@@ -92957,6 +96520,7 @@ in
           sources."supports-color-5.5.0"
         ];
       })
+      sources."@gar/promisify-1.1.2"
       sources."@hutson/parse-repository-url-3.0.2"
       sources."@lerna/add-4.0.0"
       sources."@lerna/bootstrap-4.0.0"
@@ -93007,12 +96571,13 @@ in
         dependencies = [
           sources."make-fetch-happen-8.0.14"
           sources."npm-registry-fetch-9.0.0"
+          sources."socks-proxy-agent-5.0.1"
         ];
       })
       sources."@lerna/npm-install-4.0.0"
       (sources."@lerna/npm-publish-4.0.0" // {
         dependencies = [
-          sources."normalize-package-data-3.0.2"
+          sources."normalize-package-data-3.0.3"
           sources."pify-5.0.0"
           sources."read-package-json-3.0.1"
         ];
@@ -93031,6 +96596,7 @@ in
         dependencies = [
           sources."make-fetch-happen-8.0.14"
           sources."npm-registry-fetch-9.0.0"
+          sources."socks-proxy-agent-5.0.1"
         ];
       })
       sources."@lerna/pulse-till-done-4.0.0"
@@ -93054,12 +96620,13 @@ in
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
       sources."@npmcli/ci-detect-1.3.0"
+      sources."@npmcli/fs-1.0.0"
       sources."@npmcli/git-2.1.0"
       sources."@npmcli/installed-package-contents-1.0.7"
       sources."@npmcli/move-file-1.1.2"
       sources."@npmcli/node-gyp-1.0.2"
       sources."@npmcli/promise-spawn-1.3.2"
-      sources."@npmcli/run-script-1.8.5"
+      sources."@npmcli/run-script-1.8.6"
       sources."@octokit/auth-token-2.4.5"
       sources."@octokit/core-3.5.1"
       (sources."@octokit/endpoint-6.0.12" // {
@@ -93068,19 +96635,19 @@ in
         ];
       })
       sources."@octokit/graphql-4.6.4"
-      sources."@octokit/openapi-types-9.1.0"
+      sources."@octokit/openapi-types-9.7.0"
       sources."@octokit/plugin-enterprise-rest-6.0.1"
-      sources."@octokit/plugin-paginate-rest-2.14.0"
+      sources."@octokit/plugin-paginate-rest-2.15.1"
       sources."@octokit/plugin-request-log-1.0.4"
-      sources."@octokit/plugin-rest-endpoint-methods-5.5.0"
-      (sources."@octokit/request-5.6.0" // {
+      sources."@octokit/plugin-rest-endpoint-methods-5.8.0"
+      (sources."@octokit/request-5.6.1" // {
         dependencies = [
           sources."is-plain-object-5.0.0"
         ];
       })
       sources."@octokit/request-error-2.1.0"
-      sources."@octokit/rest-18.7.0"
-      sources."@octokit/types-6.21.0"
+      sources."@octokit/rest-18.9.1"
+      sources."@octokit/types-6.25.0"
       sources."@tootallnate/once-1.1.2"
       sources."@types/minimatch-3.0.5"
       sources."@types/minimist-1.2.2"
@@ -93124,17 +96691,17 @@ in
       sources."before-after-hook-2.2.2"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
-      sources."buffer-from-1.1.1"
+      sources."buffer-from-1.1.2"
       sources."builtins-1.0.3"
       sources."byline-5.0.0"
       sources."byte-size-7.0.1"
-      sources."cacache-15.2.0"
+      sources."cacache-15.3.0"
       sources."call-bind-1.0.2"
       sources."callsites-3.1.0"
       sources."camelcase-5.3.1"
       sources."camelcase-keys-6.2.2"
       sources."caseless-0.12.0"
-      sources."chalk-4.1.1"
+      sources."chalk-4.1.2"
       sources."chardet-0.7.0"
       sources."chownr-2.0.0"
       sources."ci-info-2.0.0"
@@ -93167,7 +96734,7 @@ in
       sources."conventional-changelog-angular-5.0.12"
       (sources."conventional-changelog-core-4.2.3" // {
         dependencies = [
-          sources."normalize-package-data-3.0.2"
+          sources."normalize-package-data-3.0.3"
         ];
       })
       sources."conventional-changelog-preset-loader-2.3.4"
@@ -93180,7 +96747,7 @@ in
       sources."conventional-commits-parser-3.2.1"
       sources."conventional-recommended-bump-6.1.0"
       sources."core-util-is-1.0.2"
-      sources."cosmiconfig-7.0.0"
+      sources."cosmiconfig-7.0.1"
       sources."cross-spawn-7.0.3"
       sources."dargs-7.0.0"
       sources."dashdash-1.14.1"
@@ -93213,7 +96780,7 @@ in
       sources."envinfo-7.8.1"
       sources."err-code-2.0.3"
       sources."error-ex-1.3.2"
-      sources."es-abstract-1.18.3"
+      sources."es-abstract-1.18.5"
       sources."es-to-primitive-1.2.1"
       sources."escalade-3.1.1"
       sources."escape-string-regexp-1.0.5"
@@ -93229,7 +96796,7 @@ in
       sources."fast-deep-equal-3.1.3"
       sources."fast-glob-3.2.7"
       sources."fast-json-stable-stringify-2.1.0"
-      sources."fastq-1.11.1"
+      sources."fastq-1.12.0"
       sources."figures-3.2.0"
       sources."fill-range-7.0.1"
       sources."filter-obj-1.1.0"
@@ -93290,7 +96857,7 @@ in
       sources."glob-7.1.7"
       sources."glob-parent-5.1.2"
       sources."globby-11.0.4"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."handlebars-4.7.7"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
@@ -93299,6 +96866,7 @@ in
       sources."has-bigints-1.0.1"
       sources."has-flag-4.0.0"
       sources."has-symbols-1.0.2"
+      sources."has-tostringtag-1.0.0"
       sources."has-unicode-2.0.1"
       sources."hosted-git-info-4.0.2"
       sources."http-cache-semantics-4.1.0"
@@ -93322,10 +96890,10 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-1.3.8"
-      (sources."init-package-json-2.0.3" // {
+      (sources."init-package-json-2.0.4" // {
         dependencies = [
-          sources."normalize-package-data-3.0.2"
-          sources."read-package-json-3.0.1"
+          sources."normalize-package-data-3.0.3"
+          sources."read-package-json-4.0.1"
         ];
       })
       (sources."inquirer-7.3.3" // {
@@ -93334,28 +96902,29 @@ in
           sources."strip-ansi-6.0.0"
         ];
       })
+      sources."internal-slot-1.0.3"
       sources."ip-1.1.5"
       sources."is-arrayish-0.2.1"
-      sources."is-bigint-1.0.2"
-      sources."is-boolean-object-1.1.1"
-      sources."is-callable-1.2.3"
+      sources."is-bigint-1.0.4"
+      sources."is-boolean-object-1.1.2"
+      sources."is-callable-1.2.4"
       sources."is-ci-2.0.0"
-      sources."is-core-module-2.5.0"
-      sources."is-date-object-1.0.4"
+      sources."is-core-module-2.6.0"
+      sources."is-date-object-1.0.5"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-glob-4.0.1"
       sources."is-lambda-1.0.1"
       sources."is-negative-zero-2.0.1"
       sources."is-number-7.0.0"
-      sources."is-number-object-1.0.5"
+      sources."is-number-object-1.0.6"
       sources."is-obj-2.0.0"
       sources."is-plain-obj-1.1.0"
       sources."is-plain-object-2.0.4"
-      sources."is-regex-1.1.3"
+      sources."is-regex-1.1.4"
       sources."is-ssh-1.3.3"
-      sources."is-stream-2.0.0"
-      sources."is-string-1.0.6"
+      sources."is-stream-2.0.1"
+      sources."is-string-1.0.7"
       sources."is-symbol-1.0.4"
       sources."is-text-path-1.0.1"
       sources."is-typedarray-1.0.0"
@@ -93377,7 +96946,7 @@ in
       sources."libnpmaccess-4.0.3"
       (sources."libnpmpublish-4.0.2" // {
         dependencies = [
-          sources."normalize-package-data-3.0.2"
+          sources."normalize-package-data-3.0.3"
         ];
       })
       sources."lines-and-columns-1.1.6"
@@ -93398,12 +96967,12 @@ in
           sources."semver-5.7.1"
         ];
       })
-      sources."make-fetch-happen-9.0.4"
+      sources."make-fetch-happen-9.1.0"
       sources."map-obj-4.2.1"
       (sources."meow-8.1.2" // {
         dependencies = [
           sources."hosted-git-info-2.8.9"
-          sources."normalize-package-data-3.0.2"
+          sources."normalize-package-data-3.0.3"
           (sources."read-pkg-5.2.0" // {
             dependencies = [
               sources."normalize-package-data-2.5.0"
@@ -93422,8 +96991,8 @@ in
       sources."merge-stream-2.0.0"
       sources."merge2-1.4.1"
       sources."micromatch-4.0.4"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."mimic-fn-2.1.0"
       sources."min-indent-1.0.1"
       sources."minimatch-3.0.4"
@@ -93473,7 +97042,7 @@ in
           sources."resolve-from-4.0.0"
           sources."rimraf-2.7.1"
           sources."semver-5.7.1"
-          sources."tar-4.4.13"
+          sources."tar-4.4.19"
           sources."which-1.3.1"
           sources."yallist-3.1.1"
         ];
@@ -93542,7 +97111,7 @@ in
       sources."read-1.0.7"
       sources."read-cmd-shim-2.0.0"
       sources."read-package-json-2.1.2"
-      sources."read-package-json-fast-2.0.2"
+      sources."read-package-json-fast-2.0.3"
       sources."read-package-tree-5.3.1"
       (sources."read-pkg-3.0.0" // {
         dependencies = [
@@ -93589,15 +97158,15 @@ in
       sources."signal-exit-3.0.3"
       sources."slash-3.0.0"
       sources."slide-1.1.6"
-      sources."smart-buffer-4.1.0"
+      sources."smart-buffer-4.2.0"
       sources."socks-2.6.1"
-      sources."socks-proxy-agent-5.0.1"
+      sources."socks-proxy-agent-6.0.0"
       sources."sort-keys-2.0.0"
       sources."source-map-0.6.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.9"
+      sources."spdx-license-ids-3.0.10"
       sources."split-1.0.1"
       sources."split-on-first-1.1.0"
       sources."split2-3.2.2"
@@ -93619,7 +97188,7 @@ in
       sources."strip-indent-3.0.0"
       sources."strong-log-transformer-2.1.0"
       sources."supports-color-7.2.0"
-      sources."tar-6.1.0"
+      sources."tar-6.1.11"
       sources."temp-dir-1.0.0"
       (sources."temp-write-4.0.0" // {
         dependencies = [
@@ -93642,7 +97211,7 @@ in
       sources."type-fest-0.4.1"
       sources."typedarray-0.0.6"
       sources."typedarray-to-buffer-3.1.5"
-      sources."uglify-js-3.13.10"
+      sources."uglify-js-3.14.1"
       sources."uid-number-0.0.6"
       sources."umask-1.1.0"
       sources."unbox-primitive-1.0.1"
@@ -93724,14 +97293,14 @@ in
       sources."copy-anything-2.0.3"
       sources."debug-3.2.7"
       sources."errno-0.1.8"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."iconv-lite-0.4.24"
       sources."image-size-0.5.5"
       sources."is-what-3.14.1"
       sources."make-dir-2.1.0"
       sources."mime-1.6.0"
       sources."ms-2.1.3"
-      sources."needle-2.8.0"
+      sources."needle-2.9.0"
       sources."parse-node-version-1.0.1"
       sources."pify-4.0.1"
       sources."prr-1.0.1"
@@ -93899,7 +97468,7 @@ in
           sources."is-glob-3.1.0"
         ];
       })
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
         dependencies = [
@@ -93938,12 +97507,12 @@ in
       sources."map-visit-1.0.0"
       sources."micromatch-3.1.10"
       sources."mime-1.6.0"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."mixin-deep-1.3.2"
       sources."morgan-1.10.0"
       sources."ms-2.0.0"
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       sources."nanomatch-1.2.13"
       sources."negotiator-0.6.2"
       sources."normalize-path-3.0.0"
@@ -94199,7 +97768,6 @@ in
       sources."destroy-1.0.4"
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
-      sources."emoji-regex-6.1.1"
       sources."encodeurl-1.0.2"
       (sources."engine.io-3.5.0" // {
         dependencies = [
@@ -94244,10 +97812,10 @@ in
       sources."fsevents-1.2.13"
       sources."get-value-2.0.6"
       sources."getpass-0.1.7"
-      sources."github-slugger-1.3.0"
+      sources."github-slugger-1.4.0"
       sources."glob-base-0.3.0"
       sources."glob-parent-2.0.0"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       (sources."has-binary2-1.0.3" // {
@@ -94335,8 +97903,8 @@ in
       sources."methods-1.1.2"
       sources."micromatch-2.3.11"
       sources."mime-1.6.0"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."minimist-1.2.5"
       (sources."mixin-deep-1.3.2" // {
         dependencies = [
@@ -94344,7 +97912,7 @@ in
         ];
       })
       sources."ms-2.0.0"
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       (sources."nanomatch-1.2.13" // {
         dependencies = [
           sources."arr-diff-4.0.0"
@@ -94610,42 +98178,42 @@ in
     src = ../interpreters/clojurescript/lumo;
     dependencies = [
       sources."@babel/code-frame-7.14.5"
-      sources."@babel/compat-data-7.14.7"
-      sources."@babel/core-7.14.8"
-      sources."@babel/generator-7.14.8"
+      sources."@babel/compat-data-7.15.0"
+      sources."@babel/core-7.15.0"
+      sources."@babel/generator-7.15.0"
       sources."@babel/helper-annotate-as-pure-7.14.5"
       sources."@babel/helper-builder-binary-assignment-operator-visitor-7.14.5"
-      sources."@babel/helper-compilation-targets-7.14.5"
-      sources."@babel/helper-create-class-features-plugin-7.14.8"
+      sources."@babel/helper-compilation-targets-7.15.0"
+      sources."@babel/helper-create-class-features-plugin-7.15.0"
       sources."@babel/helper-create-regexp-features-plugin-7.14.5"
       sources."@babel/helper-define-polyfill-provider-0.2.3"
       sources."@babel/helper-explode-assignable-expression-7.14.5"
       sources."@babel/helper-function-name-7.14.5"
       sources."@babel/helper-get-function-arity-7.14.5"
       sources."@babel/helper-hoist-variables-7.14.5"
-      sources."@babel/helper-member-expression-to-functions-7.14.7"
+      sources."@babel/helper-member-expression-to-functions-7.15.0"
       sources."@babel/helper-module-imports-7.14.5"
-      sources."@babel/helper-module-transforms-7.14.8"
+      sources."@babel/helper-module-transforms-7.15.0"
       sources."@babel/helper-optimise-call-expression-7.14.5"
       sources."@babel/helper-plugin-utils-7.14.5"
       sources."@babel/helper-remap-async-to-generator-7.14.5"
-      sources."@babel/helper-replace-supers-7.14.5"
+      sources."@babel/helper-replace-supers-7.15.0"
       sources."@babel/helper-simple-access-7.14.8"
       sources."@babel/helper-skip-transparent-expression-wrappers-7.14.5"
       sources."@babel/helper-split-export-declaration-7.14.5"
-      sources."@babel/helper-validator-identifier-7.14.8"
+      sources."@babel/helper-validator-identifier-7.14.9"
       sources."@babel/helper-validator-option-7.14.5"
       sources."@babel/helper-wrap-function-7.14.5"
-      sources."@babel/helpers-7.14.8"
+      sources."@babel/helpers-7.15.3"
       (sources."@babel/highlight-7.14.5" // {
         dependencies = [
           sources."chalk-2.4.2"
         ];
       })
-      sources."@babel/parser-7.14.8"
+      sources."@babel/parser-7.15.3"
       sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.14.5"
       sources."@babel/plugin-external-helpers-7.8.3"
-      sources."@babel/plugin-proposal-async-generator-functions-7.14.7"
+      sources."@babel/plugin-proposal-async-generator-functions-7.14.9"
       sources."@babel/plugin-proposal-class-properties-7.14.5"
       sources."@babel/plugin-proposal-class-static-block-7.14.5"
       sources."@babel/plugin-proposal-dynamic-import-7.14.5"
@@ -94679,8 +98247,8 @@ in
       sources."@babel/plugin-transform-arrow-functions-7.14.5"
       sources."@babel/plugin-transform-async-to-generator-7.14.5"
       sources."@babel/plugin-transform-block-scoped-functions-7.14.5"
-      sources."@babel/plugin-transform-block-scoping-7.14.5"
-      sources."@babel/plugin-transform-classes-7.14.5"
+      sources."@babel/plugin-transform-block-scoping-7.15.3"
+      sources."@babel/plugin-transform-classes-7.14.9"
       sources."@babel/plugin-transform-computed-properties-7.14.5"
       sources."@babel/plugin-transform-destructuring-7.14.7"
       sources."@babel/plugin-transform-dotall-regex-7.14.5"
@@ -94691,17 +98259,17 @@ in
       sources."@babel/plugin-transform-literals-7.14.5"
       sources."@babel/plugin-transform-member-expression-literals-7.14.5"
       sources."@babel/plugin-transform-modules-amd-7.14.5"
-      sources."@babel/plugin-transform-modules-commonjs-7.14.5"
+      sources."@babel/plugin-transform-modules-commonjs-7.15.0"
       sources."@babel/plugin-transform-modules-systemjs-7.14.5"
       sources."@babel/plugin-transform-modules-umd-7.14.5"
-      sources."@babel/plugin-transform-named-capturing-groups-regex-7.14.7"
+      sources."@babel/plugin-transform-named-capturing-groups-regex-7.14.9"
       sources."@babel/plugin-transform-new-target-7.14.5"
       sources."@babel/plugin-transform-object-super-7.14.5"
       sources."@babel/plugin-transform-parameters-7.14.5"
       sources."@babel/plugin-transform-property-literals-7.14.5"
       sources."@babel/plugin-transform-regenerator-7.14.5"
       sources."@babel/plugin-transform-reserved-words-7.14.5"
-      sources."@babel/plugin-transform-runtime-7.14.5"
+      sources."@babel/plugin-transform-runtime-7.15.0"
       sources."@babel/plugin-transform-shorthand-properties-7.14.5"
       sources."@babel/plugin-transform-spread-7.14.6"
       sources."@babel/plugin-transform-sticky-regex-7.14.5"
@@ -94709,13 +98277,13 @@ in
       sources."@babel/plugin-transform-typeof-symbol-7.14.5"
       sources."@babel/plugin-transform-unicode-escapes-7.14.5"
       sources."@babel/plugin-transform-unicode-regex-7.14.5"
-      sources."@babel/preset-env-7.14.8"
+      sources."@babel/preset-env-7.15.0"
       sources."@babel/preset-modules-0.1.4"
       sources."@babel/preset-stage-2-7.8.3"
-      sources."@babel/runtime-7.14.8"
+      sources."@babel/runtime-7.15.3"
       sources."@babel/template-7.14.5"
-      sources."@babel/traverse-7.14.8"
-      sources."@babel/types-7.14.8"
+      sources."@babel/traverse-7.15.0"
+      sources."@babel/types-7.15.0"
       sources."@cnakazawa/watch-1.0.4"
       sources."@comandeer/babel-plugin-banner-5.0.0"
       sources."@istanbuljs/load-nyc-config-1.1.0"
@@ -94735,8 +98303,8 @@ in
       sources."@types/istanbul-lib-coverage-2.0.3"
       sources."@types/istanbul-lib-report-3.0.0"
       sources."@types/istanbul-reports-1.1.2"
-      sources."@types/json-schema-7.0.8"
-      sources."@types/node-16.4.0"
+      sources."@types/json-schema-7.0.9"
+      sources."@types/node-16.7.2"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/resolve-0.0.8"
       sources."@types/yargs-15.0.14"
@@ -94793,9 +98361,9 @@ in
       })
       sources."assert-plus-1.0.0"
       sources."assign-symbols-1.0.0"
-      sources."async-3.2.0"
+      sources."async-3.2.1"
       sources."async-each-1.0.3"
-      sources."async-retry-1.3.1"
+      sources."async-retry-1.3.3"
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
       sources."aws-sign2-0.7.0"
@@ -94826,7 +98394,7 @@ in
       sources."babel-plugin-minify-simplify-0.5.1"
       sources."babel-plugin-minify-type-constructors-0.4.3"
       sources."babel-plugin-polyfill-corejs2-0.2.2"
-      sources."babel-plugin-polyfill-corejs3-0.2.3"
+      sources."babel-plugin-polyfill-corejs3-0.2.4"
       sources."babel-plugin-polyfill-regenerator-0.2.2"
       sources."babel-plugin-syntax-flow-6.18.0"
       sources."babel-plugin-transform-flow-strip-types-6.22.0"
@@ -94893,10 +98461,10 @@ in
         ];
       })
       sources."browserify-zlib-0.2.0"
-      sources."browserslist-4.16.6"
+      sources."browserslist-4.16.8"
       sources."bser-2.1.1"
       sources."buffer-5.2.1"
-      sources."buffer-from-1.1.1"
+      sources."buffer-from-1.1.2"
       sources."buffer-xor-1.0.3"
       sources."builtin-modules-3.2.0"
       sources."builtin-status-codes-3.0.0"
@@ -94909,7 +98477,7 @@ in
       sources."cached-path-relative-1.0.2"
       sources."call-bind-1.0.2"
       sources."camelcase-5.3.1"
-      sources."caniuse-lite-1.0.30001246"
+      sources."caniuse-lite-1.0.30001252"
       sources."capture-exit-2.0.0"
       sources."caseless-0.12.0"
       (sources."chalk-3.0.0" // {
@@ -94958,7 +98526,7 @@ in
       sources."collection-visit-1.0.0"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."colorette-1.2.2"
+      sources."colorette-1.3.0"
       sources."colors-1.4.0"
       (sources."combine-source-map-0.8.0" // {
         dependencies = [
@@ -94981,7 +98549,7 @@ in
       })
       sources."copy-descriptor-0.1.1"
       sources."core-js-2.6.12"
-      (sources."core-js-compat-3.15.2" // {
+      (sources."core-js-compat-3.16.3" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
@@ -95033,7 +98601,7 @@ in
       sources."duplexer2-0.1.4"
       sources."duplexify-3.7.1"
       sources."ecc-jsbn-0.1.2"
-      sources."electron-to-chromium-1.3.782"
+      sources."electron-to-chromium-1.3.818"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -95153,7 +98721,7 @@ in
       })
       sources."globals-11.12.0"
       sources."google-closure-compiler-js-20170910.0.1"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       (sources."gunzip-maybe-1.4.2" // {
         dependencies = [
           sources."browserify-zlib-0.1.4"
@@ -95208,7 +98776,7 @@ in
       sources."is-binary-path-2.1.0"
       sources."is-buffer-1.1.6"
       sources."is-ci-2.0.0"
-      sources."is-core-module-2.5.0"
+      sources."is-core-module-2.6.0"
       sources."is-data-descriptor-1.0.0"
       sources."is-deflate-1.0.0"
       sources."is-descriptor-1.0.2"
@@ -95295,8 +98863,8 @@ in
           sources."bn.js-4.12.0"
         ];
       })
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."minimalistic-assert-1.0.1"
       sources."minimalistic-crypto-utils-1.0.1"
       sources."minimatch-3.0.4"
@@ -95316,7 +98884,7 @@ in
         ];
       })
       sources."ms-2.1.2"
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       sources."nanomatch-1.2.13"
       sources."ncp-2.0.0"
       sources."neo-async-2.6.2"
@@ -95336,7 +98904,7 @@ in
         ];
       })
       sources."node-modules-regexp-1.0.0"
-      sources."node-releases-1.1.73"
+      sources."node-releases-1.1.75"
       (sources."normalize-package-data-2.5.0" // {
         dependencies = [
           sources."semver-5.7.1"
@@ -95430,7 +98998,7 @@ in
       sources."realpath-native-2.0.0"
       sources."regenerate-1.4.2"
       sources."regenerate-unicode-properties-8.2.0"
-      sources."regenerator-runtime-0.13.8"
+      sources."regenerator-runtime-0.13.9"
       sources."regenerator-transform-0.14.5"
       sources."regex-not-1.0.2"
       sources."regexpu-core-4.7.1"
@@ -95461,7 +99029,7 @@ in
       sources."resolve-from-5.0.0"
       sources."resolve-url-0.2.1"
       sources."ret-0.1.15"
-      sources."retry-0.12.0"
+      sources."retry-0.13.1"
       sources."rimraf-2.7.1"
       sources."ripemd160-2.0.2"
       sources."rollup-1.32.1"
@@ -95545,7 +99113,7 @@ in
       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.9"
+      sources."spdx-license-ids-3.0.10"
       sources."split-string-3.1.0"
       sources."sprintf-js-1.0.3"
       sources."sshpk-1.16.1"
@@ -95788,16 +99356,16 @@ in
   markdownlint-cli = nodeEnv.buildNodePackage {
     name = "markdownlint-cli";
     packageName = "markdownlint-cli";
-    version = "0.27.1";
+    version = "0.28.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.27.1.tgz";
-      sha512 = "p1VV6aSbGrDlpUWzHizAnSNEQAweVR3qUI/AIUubxW7BGPXziSXkIED+uRtSohUlRS/jmqp3Wi4es5j6fIrdeQ==";
+      url = "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.28.1.tgz";
+      sha512 = "RBKtRRBzcuAF/H5wMSzb4zvEtbUkyYNEeaDtlQkyH9SoHWPL01emJ2Wrx6NEOa1ZDGwB+seBGvE157Qzc/t/vA==";
     };
     dependencies = [
       sources."argparse-2.0.1"
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
-      sources."commander-7.1.0"
+      sources."commander-8.0.0"
       sources."concat-map-0.0.1"
       sources."deep-extend-0.6.0"
       sources."entities-2.1.0"
@@ -95807,7 +99375,7 @@ in
       sources."ignore-5.1.8"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."ini-1.3.8"
+      sources."ini-2.0.0"
       sources."js-yaml-4.1.0"
       sources."jsonc-parser-3.0.0"
       sources."linkify-it-3.0.2"
@@ -95821,8 +99389,8 @@ in
       sources."minimist-1.2.5"
       sources."once-1.4.0"
       sources."path-is-absolute-1.0.1"
-      sources."rc-1.2.8"
-      sources."strip-json-comments-2.0.1"
+      sources."run-con-1.2.10"
+      sources."strip-json-comments-3.1.1"
       sources."uc.micro-1.0.6"
       sources."wrappy-1.0.2"
     ];
@@ -95849,13 +99417,13 @@ in
       sources."ansi-styles-4.3.0"
       sources."asn1-0.2.4"
       sources."assert-plus-1.0.0"
-      sources."async-3.2.0"
+      sources."async-3.2.1"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
       sources."aws4-1.11.0"
       sources."bcrypt-pbkdf-1.0.2"
       sources."caseless-0.12.0"
-      sources."chalk-4.1.1"
+      sources."chalk-4.1.2"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
       sources."combined-stream-1.0.8"
@@ -95889,8 +99457,8 @@ in
       sources."lodash-4.17.21"
       sources."markdown-link-extractor-1.3.0"
       sources."marked-2.1.3"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."ms-2.1.3"
       sources."oauth-sign-0.9.0"
       sources."performance-now-2.1.0"
@@ -95956,7 +99524,7 @@ in
       sources."beeper-1.1.1"
       sources."bindings-1.5.0"
       sources."brace-expansion-1.1.11"
-      sources."buffer-from-1.1.1"
+      sources."buffer-from-1.1.2"
       sources."bufferstreams-1.1.3"
       sources."caller-path-0.1.0"
       sources."callsites-0.2.0"
@@ -96021,7 +99589,7 @@ in
       sources."esutils-2.0.3"
       sources."event-emitter-0.3.5"
       sources."exit-hook-1.1.1"
-      (sources."ext-1.4.0" // {
+      (sources."ext-1.5.0" // {
         dependencies = [
           sources."type-2.5.0"
         ];
@@ -96046,7 +99614,7 @@ in
       sources."glob-7.1.7"
       sources."globals-9.18.0"
       sources."glogg-1.0.2"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."gulp-eslint-3.0.1"
       (sources."gulp-util-3.0.8" // {
         dependencies = [
@@ -96070,7 +99638,7 @@ in
       sources."inherits-2.0.4"
       sources."inquirer-0.12.0"
       sources."interpret-1.4.0"
-      sources."is-core-module-2.5.0"
+      sources."is-core-module-2.6.0"
       sources."is-fullwidth-code-point-1.0.0"
       sources."is-my-ip-valid-1.0.0"
       sources."is-my-json-valid-2.20.5"
@@ -96109,8 +99677,8 @@ in
       sources."lodash.templatesettings-3.1.1"
       sources."mastodon-api-1.3.0"
       sources."mime-1.6.0"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
@@ -96274,14 +99842,14 @@ in
   "@mermaid-js/mermaid-cli" = nodeEnv.buildNodePackage {
     name = "_at_mermaid-js_slash_mermaid-cli";
     packageName = "@mermaid-js/mermaid-cli";
-    version = "8.11.0";
+    version = "8.11.5";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@mermaid-js/mermaid-cli/-/mermaid-cli-8.11.0.tgz";
-      sha512 = "UyYOnVhvKcfh9e2S4QnK53uRa2hvdgQVo3ZT+FcaP56ZeBDNWKB3IZI/sNzAbxqJBEuRpW6HxoEzHCleis1dFw==";
+      url = "https://registry.npmjs.org/@mermaid-js/mermaid-cli/-/mermaid-cli-8.11.5.tgz";
+      sha512 = "kvOJ9VkabUFEASC0yE7KiWT7e8t2OBb6cw4YOXctXRJtbxSubLSANpfSxuy+MuaR9JJCMWcqD6sYy8FmdaPiaQ==";
     };
     dependencies = [
       sources."@braintree/sanitize-url-3.1.0"
-      sources."@types/node-16.4.0"
+      sources."@types/node-16.7.2"
       sources."@types/yauzl-2.9.2"
       sources."agent-base-6.0.2"
       sources."ansi-styles-4.3.0"
@@ -96291,54 +99859,91 @@ in
       sources."brace-expansion-1.1.11"
       sources."buffer-5.7.1"
       sources."buffer-crc32-0.2.13"
-      sources."chalk-4.1.1"
+      sources."chalk-4.1.2"
       sources."chownr-1.1.4"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
-      sources."commander-8.0.0"
+      sources."commander-8.1.0"
       sources."concat-map-0.0.1"
-      sources."d3-5.16.0"
-      sources."d3-array-1.2.4"
-      sources."d3-axis-1.0.12"
-      sources."d3-brush-1.1.6"
-      sources."d3-chord-1.0.6"
+      sources."d3-7.0.1"
+      sources."d3-array-3.0.2"
+      sources."d3-axis-3.0.0"
+      sources."d3-brush-3.0.0"
+      sources."d3-chord-3.0.1"
       sources."d3-collection-1.0.7"
-      sources."d3-color-1.4.1"
-      sources."d3-contour-1.3.2"
-      sources."d3-dispatch-1.0.6"
-      sources."d3-drag-1.2.5"
-      (sources."d3-dsv-1.2.0" // {
+      sources."d3-color-3.0.1"
+      sources."d3-contour-3.0.1"
+      sources."d3-delaunay-6.0.2"
+      sources."d3-dispatch-3.0.1"
+      sources."d3-drag-3.0.0"
+      (sources."d3-dsv-3.0.1" // {
         dependencies = [
-          sources."commander-2.20.3"
+          sources."commander-7.2.0"
         ];
       })
-      sources."d3-ease-1.0.7"
-      sources."d3-fetch-1.2.0"
-      sources."d3-force-1.2.1"
-      sources."d3-format-1.4.5"
-      sources."d3-geo-1.12.1"
-      sources."d3-hierarchy-1.1.9"
-      sources."d3-interpolate-1.4.0"
-      sources."d3-path-1.0.9"
-      sources."d3-polygon-1.0.6"
-      sources."d3-quadtree-1.0.7"
-      sources."d3-random-1.1.2"
-      sources."d3-scale-2.2.2"
-      sources."d3-scale-chromatic-1.5.0"
-      sources."d3-selection-1.4.2"
-      sources."d3-shape-1.3.7"
-      sources."d3-time-1.1.0"
-      sources."d3-time-format-2.3.0"
-      sources."d3-timer-1.0.10"
-      sources."d3-transition-1.3.2"
+      sources."d3-ease-3.0.1"
+      sources."d3-fetch-3.0.1"
+      sources."d3-force-3.0.0"
+      sources."d3-format-3.0.1"
+      sources."d3-geo-3.0.1"
+      sources."d3-hierarchy-3.0.1"
+      sources."d3-interpolate-3.0.1"
+      sources."d3-path-3.0.1"
+      sources."d3-polygon-3.0.1"
+      sources."d3-quadtree-3.0.1"
+      sources."d3-random-3.0.1"
+      sources."d3-scale-4.0.0"
+      sources."d3-scale-chromatic-3.0.0"
+      sources."d3-selection-3.0.0"
+      sources."d3-shape-3.0.1"
+      sources."d3-time-3.0.0"
+      sources."d3-time-format-4.0.0"
+      sources."d3-timer-3.0.1"
+      sources."d3-transition-3.0.1"
       sources."d3-voronoi-1.1.4"
-      sources."d3-zoom-1.8.3"
+      sources."d3-zoom-3.0.0"
       sources."dagre-0.8.5"
-      sources."dagre-d3-0.6.4"
+      (sources."dagre-d3-0.6.4" // {
+        dependencies = [
+          sources."commander-2.20.3"
+          sources."d3-5.16.0"
+          sources."d3-array-1.2.4"
+          sources."d3-axis-1.0.12"
+          sources."d3-brush-1.1.6"
+          sources."d3-chord-1.0.6"
+          sources."d3-color-1.4.1"
+          sources."d3-contour-1.3.2"
+          sources."d3-dispatch-1.0.6"
+          sources."d3-drag-1.2.5"
+          sources."d3-dsv-1.2.0"
+          sources."d3-ease-1.0.7"
+          sources."d3-fetch-1.2.0"
+          sources."d3-force-1.2.1"
+          sources."d3-format-1.4.5"
+          sources."d3-geo-1.12.1"
+          sources."d3-hierarchy-1.1.9"
+          sources."d3-interpolate-1.4.0"
+          sources."d3-path-1.0.9"
+          sources."d3-polygon-1.0.6"
+          sources."d3-quadtree-1.0.7"
+          sources."d3-random-1.1.2"
+          sources."d3-scale-2.2.2"
+          sources."d3-scale-chromatic-1.5.0"
+          sources."d3-selection-1.4.2"
+          sources."d3-shape-1.3.7"
+          sources."d3-time-1.1.0"
+          sources."d3-time-format-2.3.0"
+          sources."d3-timer-1.0.10"
+          sources."d3-transition-1.3.2"
+          sources."d3-zoom-1.8.3"
+          sources."iconv-lite-0.4.24"
+        ];
+      })
       sources."debug-4.3.1"
-      sources."devtools-protocol-0.0.883894"
+      sources."delaunator-5.0.0"
+      sources."devtools-protocol-0.0.901419"
+      sources."dompurify-2.3.1"
       sources."end-of-stream-1.4.4"
-      sources."entity-decode-2.0.2"
       sources."extract-zip-2.0.1"
       sources."fd-slicer-1.1.0"
       sources."find-up-4.1.0"
@@ -96348,16 +99953,16 @@ in
       sources."glob-7.1.7"
       sources."graphlib-2.1.8"
       sources."has-flag-4.0.0"
-      sources."he-1.2.0"
       sources."https-proxy-agent-5.0.0"
-      sources."iconv-lite-0.4.24"
+      sources."iconv-lite-0.6.3"
       sources."ieee754-1.2.1"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
+      sources."internmap-2.0.1"
       sources."khroma-1.4.1"
       sources."locate-path-5.0.0"
       sources."lodash-4.17.21"
-      sources."mermaid-8.11.0"
+      sources."mermaid-8.12.0"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
@@ -96375,14 +99980,15 @@ in
       sources."progress-2.0.1"
       sources."proxy-from-env-1.1.0"
       sources."pump-3.0.0"
-      sources."puppeteer-10.1.0"
+      sources."puppeteer-10.2.0"
       sources."readable-stream-3.6.0"
       sources."rimraf-3.0.2"
+      sources."robust-predicates-3.0.1"
       sources."rw-1.3.3"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
       sources."string_decoder-1.3.0"
-      sources."stylis-3.5.4"
+      sources."stylis-4.0.10"
       sources."supports-color-7.2.0"
       sources."tar-fs-2.0.0"
       sources."tar-stream-2.2.0"
@@ -96406,51 +100012,73 @@ in
   mirakurun = nodeEnv.buildNodePackage {
     name = "mirakurun";
     packageName = "mirakurun";
-    version = "3.6.0";
+    version = "3.9.0-beta.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/mirakurun/-/mirakurun-3.6.0.tgz";
-      sha512 = "LrJqn/26CxH9aQ9j7iPqnk9fS6ywI3gpCt7HS26UXeycC3VBfhkoONLZQW/JXW3aJGoUHUlxunsQBI0h89EJIw==";
+      url = "https://registry.npmjs.org/mirakurun/-/mirakurun-3.9.0-beta.2.tgz";
+      sha512 = "67eI8su/4N6KvHKveYHYuimSIdk5gZug4mGPPkeSib+y9IHCnHK6LUwN28NMvsYQPYRVRfhk8Y76TfPV4dpzwQ==";
     };
     dependencies = [
-      sources."@fluentui/date-time-utilities-8.2.1"
-      sources."@fluentui/dom-utilities-2.1.3"
-      sources."@fluentui/font-icons-mdl2-8.1.6"
-      sources."@fluentui/foundation-legacy-8.1.6"
-      sources."@fluentui/keyboard-key-0.3.3"
-      sources."@fluentui/merge-styles-8.1.3"
-      sources."@fluentui/react-8.22.0"
-      sources."@fluentui/react-focus-8.1.8"
-      sources."@fluentui/react-hooks-8.2.4"
-      sources."@fluentui/react-window-provider-2.1.3"
-      sources."@fluentui/set-version-8.1.3"
-      sources."@fluentui/style-utilities-8.2.0"
-      sources."@fluentui/theme-2.1.4"
-      sources."@fluentui/utilities-8.2.1"
-      sources."@microsoft/load-themed-styles-1.10.195"
+      sources."@chinachu/aribts-1.3.5-mirakurun.3"
+      sources."@fluentui/date-time-utilities-8.2.2"
+      sources."@fluentui/dom-utilities-2.1.4"
+      sources."@fluentui/font-icons-mdl2-8.1.10"
+      sources."@fluentui/foundation-legacy-8.1.10"
+      sources."@fluentui/keyboard-key-0.3.4"
+      sources."@fluentui/merge-styles-8.1.5"
+      sources."@fluentui/react-8.27.0"
+      sources."@fluentui/react-focus-8.2.1"
+      sources."@fluentui/react-hooks-8.3.1"
+      sources."@fluentui/react-window-provider-2.1.4"
+      sources."@fluentui/set-version-8.1.4"
+      sources."@fluentui/style-utilities-8.3.1"
+      sources."@fluentui/theme-2.3.1"
+      sources."@fluentui/utilities-8.3.1"
+      sources."@microsoft/load-themed-styles-1.10.203"
+      sources."@napi-rs/triples-1.0.3"
+      sources."@node-rs/crc32-1.2.1"
+      sources."@node-rs/crc32-android-arm64-1.2.1"
+      sources."@node-rs/crc32-darwin-arm64-1.2.1"
+      sources."@node-rs/crc32-darwin-x64-1.2.1"
+      sources."@node-rs/crc32-freebsd-x64-1.2.1"
+      sources."@node-rs/crc32-linux-arm-gnueabihf-1.2.1"
+      sources."@node-rs/crc32-linux-arm64-gnu-1.2.1"
+      sources."@node-rs/crc32-linux-arm64-musl-1.2.1"
+      sources."@node-rs/crc32-linux-x64-gnu-1.2.1"
+      sources."@node-rs/crc32-linux-x64-musl-1.2.1"
+      sources."@node-rs/crc32-win32-arm64-msvc-1.2.1"
+      sources."@node-rs/crc32-win32-ia32-msvc-1.2.1"
+      sources."@node-rs/crc32-win32-x64-msvc-1.2.1"
+      sources."@node-rs/helper-1.2.1"
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
-      sources."@types/cors-2.8.12"
+      sources."@types/node-16.7.2"
+      sources."@types/uuid-3.4.10"
+      sources."@types/ws-6.0.4"
       sources."accepts-1.3.7"
       sources."ajv-6.12.6"
       sources."ansi-escapes-1.4.0"
       sources."ansi-regex-2.1.1"
       sources."ansi-styles-2.2.1"
       sources."argparse-1.0.10"
-      sources."aribts-1.3.5"
       sources."array-flatten-1.1.1"
+      sources."async-limiter-1.0.1"
       sources."babel-polyfill-6.23.0"
       (sources."babel-runtime-6.26.0" // {
         dependencies = [
           sources."regenerator-runtime-0.11.1"
         ];
       })
+      sources."backo2-1.0.2"
       sources."balanced-match-1.0.2"
-      sources."base64-js-1.5.1"
       sources."basic-auth-2.0.1"
-      sources."body-parser-1.19.0"
+      (sources."body-parser-1.19.0" // {
+        dependencies = [
+          sources."iconv-lite-0.4.24"
+        ];
+      })
       sources."brace-expansion-1.1.11"
-      sources."buffer-5.7.1"
-      sources."buffer-from-1.1.1"
+      sources."buffer-from-1.1.2"
+      sources."bufferutil-4.0.3"
       sources."builtin-status-codes-3.0.0"
       sources."bytes-3.1.0"
       (sources."cacheable-request-6.1.0" // {
@@ -96472,7 +100100,6 @@ in
       sources."cookie-signature-1.0.6"
       sources."core-js-2.6.12"
       sources."cors-2.8.5"
-      sources."crc-3.8.0"
       sources."debug-2.6.9"
       sources."decompress-response-3.3.0"
       sources."deep-extend-0.6.0"
@@ -96484,11 +100111,7 @@ in
       sources."duplexer3-0.1.4"
       sources."ee-first-1.1.1"
       sources."encodeurl-1.0.2"
-      (sources."encoding-0.1.13" // {
-        dependencies = [
-          sources."iconv-lite-0.6.3"
-        ];
-      })
+      sources."encoding-0.1.13"
       sources."end-of-stream-1.4.4"
       sources."escape-html-1.0.3"
       sources."escape-string-regexp-1.0.5"
@@ -96497,15 +100120,23 @@ in
       sources."eventemitter3-4.0.7"
       sources."express-4.17.1"
       sources."express-normalize-query-params-middleware-0.5.1"
-      sources."express-openapi-7.5.0"
-      sources."external-editor-2.2.0"
+      (sources."express-openapi-8.0.0" // {
+        dependencies = [
+          sources."openapi-types-8.0.0"
+        ];
+      })
+      (sources."external-editor-2.2.0" // {
+        dependencies = [
+          sources."iconv-lite-0.4.24"
+        ];
+      })
       sources."fast-deep-equal-3.1.3"
       sources."fast-json-stable-stringify-2.1.0"
       sources."figures-2.0.0"
       sources."finalhandler-1.1.2"
       sources."forwarded-0.2.0"
       sources."fresh-0.5.2"
-      sources."fs-routes-7.0.1"
+      sources."fs-routes-8.0.0"
       sources."fs.realpath-1.0.0"
       sources."get-stream-4.1.0"
       sources."glob-7.1.7"
@@ -96513,8 +100144,7 @@ in
       sources."has-ansi-2.0.0"
       sources."http-cache-semantics-4.1.0"
       sources."http-errors-1.7.2"
-      sources."iconv-lite-0.4.24"
-      sources."ieee754-1.2.1"
+      sources."iconv-lite-0.6.3"
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
       sources."ini-1.3.8"
@@ -96524,6 +100154,7 @@ in
       sources."is-dir-1.0.0"
       sources."is-fullwidth-code-point-2.0.0"
       sources."is-stream-1.1.0"
+      sources."isomorphic-ws-4.0.1"
       sources."js-tokens-4.0.0"
       (sources."js-yaml-4.1.0" // {
         dependencies = [
@@ -96532,6 +100163,11 @@ in
       })
       sources."json-buffer-3.0.0"
       sources."json-schema-traverse-0.4.1"
+      (sources."jsonrpc2-ws-1.0.0-beta9" // {
+        dependencies = [
+          sources."eventemitter3-3.1.2"
+        ];
+      })
       sources."keyv-3.1.0"
       sources."latest-version-5.1.0"
       sources."lodash-4.17.21"
@@ -96543,8 +100179,8 @@ in
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."mimic-fn-1.2.0"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.0.4"
@@ -96555,28 +100191,57 @@ in
         ];
       })
       sources."ms-2.0.0"
-      sources."munin-plugin-0.0.9"
       sources."mute-stream-0.0.7"
       sources."negotiator-0.6.2"
       sources."node-fetch-1.6.3"
+      sources."node-gyp-build-4.2.3"
       sources."normalize-url-4.5.1"
       sources."object-assign-4.1.1"
       sources."on-finished-2.3.0"
       sources."on-headers-1.0.2"
       sources."once-1.4.0"
       sources."onetime-2.0.1"
-      sources."openapi-default-setter-7.2.3"
-      (sources."openapi-framework-7.5.0" // {
+      (sources."openapi-default-setter-8.0.0" // {
+        dependencies = [
+          sources."openapi-types-8.0.0"
+        ];
+      })
+      (sources."openapi-framework-8.0.0" // {
         dependencies = [
           sources."js-yaml-3.14.1"
+          sources."openapi-types-8.0.0"
+        ];
+      })
+      (sources."openapi-jsonschema-parameters-8.0.0" // {
+        dependencies = [
+          sources."openapi-types-8.0.0"
+        ];
+      })
+      (sources."openapi-request-coercer-8.0.0" // {
+        dependencies = [
+          sources."openapi-types-8.0.0"
+        ];
+      })
+      (sources."openapi-request-validator-8.0.0" // {
+        dependencies = [
+          sources."openapi-types-8.0.0"
+        ];
+      })
+      (sources."openapi-response-validator-8.0.0" // {
+        dependencies = [
+          sources."openapi-types-8.0.0"
+        ];
+      })
+      (sources."openapi-schema-validator-8.0.0" // {
+        dependencies = [
+          sources."openapi-types-8.0.0"
+        ];
+      })
+      (sources."openapi-security-handler-8.0.0" // {
+        dependencies = [
+          sources."openapi-types-8.0.0"
         ];
       })
-      sources."openapi-jsonschema-parameters-7.2.3"
-      sources."openapi-request-coercer-7.5.0"
-      sources."openapi-request-validator-7.4.0"
-      sources."openapi-response-validator-7.4.0"
-      sources."openapi-schema-validator-7.2.3"
-      sources."openapi-security-handler-7.2.3"
       sources."openapi-types-7.2.3"
       (sources."opencollective-1.0.3" // {
         dependencies = [
@@ -96604,7 +100269,11 @@ in
       sources."punycode-2.1.1"
       sources."qs-6.7.0"
       sources."range-parser-1.2.1"
-      sources."raw-body-2.4.0"
+      (sources."raw-body-2.4.0" // {
+        dependencies = [
+          sources."iconv-lite-0.4.24"
+        ];
+      })
       sources."rc-1.2.8"
       sources."react-17.0.2"
       sources."react-dom-17.0.2"
@@ -96614,6 +100283,7 @@ in
       sources."registry-url-5.1.0"
       sources."responselike-1.0.2"
       sources."restore-cursor-2.0.0"
+      sources."rfdc-1.3.0"
       sources."run-async-2.4.1"
       sources."rx-4.1.0"
       sources."safe-buffer-5.1.2"
@@ -96653,22 +100323,26 @@ in
       sources."strip-json-comments-2.0.1"
       sources."supports-color-2.0.0"
       sources."swagger-schema-official-2.0.0-bab6bed"
-      sources."swagger-ui-dist-3.51.1"
+      sources."swagger-ui-dist-3.51.2"
       sources."tail-2.2.3"
       sources."through-2.3.8"
       sources."tmp-0.0.33"
       sources."to-readable-stream-1.0.0"
       sources."toidentifier-1.0.0"
       sources."ts-log-2.2.3"
-      sources."tslib-2.3.0"
+      sources."tslib-2.3.1"
       sources."type-is-1.6.18"
       sources."unpipe-1.0.0"
       sources."uri-js-4.4.1"
       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."uws-9.148.0"
       sources."vary-1.1.2"
       sources."wrappy-1.0.2"
+      sources."ws-6.2.2"
       sources."xtend-4.0.2"
       sources."yallist-4.0.0"
     ];
@@ -96685,10 +100359,10 @@ in
   mocha = nodeEnv.buildNodePackage {
     name = "mocha";
     packageName = "mocha";
-    version = "9.0.2";
+    version = "9.1.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/mocha/-/mocha-9.0.2.tgz";
-      sha512 = "FpspiWU+UT9Sixx/wKimvnpkeW0mh6ROAKkIaPokj3xZgxeRhcna/k5X57jJghEr8X+Cgu/Vegf8zCX5ugSuTA==";
+      url = "https://registry.npmjs.org/mocha/-/mocha-9.1.0.tgz";
+      sha512 = "Kjg/XxYOFFUi0h/FwMOeb6RoroiZ+P1yOfya6NK7h3dNhahrJx1r2XIT3ge4ZQvJM86mdjNA+W5phqRQh7DwCg==";
     };
     dependencies = [
       sources."@ungap/promise-all-settled-1.1.2"
@@ -96703,7 +100377,7 @@ in
       sources."braces-3.0.2"
       sources."browser-stdout-1.3.1"
       sources."camelcase-6.2.0"
-      (sources."chalk-4.1.1" // {
+      (sources."chalk-4.1.2" // {
         dependencies = [
           sources."supports-color-7.2.0"
         ];
@@ -96848,8 +100522,8 @@ in
       sources."lodash-4.17.21"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."ms-2.1.3"
       sources."native-promise-only-0.8.1"
       sources."object-inspect-1.11.0"
@@ -96876,6 +100550,82 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
+  musescore-downloader = nodeEnv.buildNodePackage {
+    name = "musescore-downloader";
+    packageName = "musescore-downloader";
+    version = "0.26.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/musescore-downloader/-/musescore-downloader-0.26.0.tgz";
+      sha512 = "AHA5wSaEJLwfEEQDl8kLfin7l4uejXYTzWtn/BgUiyWKw4AbuUK2/xfDmULW2KxUfsK2RoLl0bFtIvdvvm4CNA==";
+    };
+    dependencies = [
+      sources."@librescore/fonts-0.4.1"
+      sources."@librescore/sf3-0.3.0"
+      sources."ansi-escapes-4.3.2"
+      sources."ansi-regex-5.0.0"
+      sources."ansi-styles-4.3.0"
+      sources."base64-js-1.5.1"
+      sources."bl-4.1.0"
+      sources."buffer-5.7.1"
+      sources."chalk-4.1.2"
+      sources."chardet-0.7.0"
+      sources."cli-cursor-3.1.0"
+      sources."cli-spinners-2.6.0"
+      sources."cli-width-3.0.0"
+      sources."clone-1.0.4"
+      sources."color-convert-2.0.1"
+      sources."color-name-1.1.4"
+      sources."defaults-1.0.3"
+      sources."detect-node-2.1.0"
+      sources."emoji-regex-8.0.0"
+      sources."escape-string-regexp-1.0.5"
+      sources."external-editor-3.1.0"
+      sources."figures-3.2.0"
+      sources."has-flag-4.0.0"
+      sources."iconv-lite-0.4.24"
+      sources."ieee754-1.2.1"
+      sources."inherits-2.0.4"
+      sources."inquirer-7.3.3"
+      sources."is-fullwidth-code-point-3.0.0"
+      sources."is-interactive-1.0.0"
+      sources."is-unicode-supported-0.1.0"
+      sources."lodash-4.17.21"
+      sources."log-symbols-4.1.0"
+      sources."mimic-fn-2.1.0"
+      sources."mute-stream-0.0.8"
+      sources."node-fetch-2.6.1"
+      sources."onetime-5.1.2"
+      sources."ora-5.4.1"
+      sources."os-tmpdir-1.0.2"
+      sources."readable-stream-3.6.0"
+      sources."restore-cursor-3.1.0"
+      sources."run-async-2.4.1"
+      sources."rxjs-6.6.7"
+      sources."safe-buffer-5.2.1"
+      sources."safer-buffer-2.1.2"
+      sources."signal-exit-3.0.3"
+      sources."string-width-4.2.2"
+      sources."string_decoder-1.3.0"
+      sources."strip-ansi-6.0.0"
+      sources."supports-color-7.2.0"
+      sources."through-2.3.8"
+      sources."tmp-0.0.33"
+      sources."tslib-1.14.1"
+      sources."type-fest-0.21.3"
+      sources."util-deprecate-1.0.2"
+      sources."wcwidth-1.0.1"
+      sources."webmscore-0.18.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "download sheet music from musescore.com for free, no login or Musescore Pro required | 免登录、免 Musescore Pro,免费下载 musescore.com 上的曲谱";
+      homepage = "https://github.com/Xmader/musescore-downloader#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
   neovim = nodeEnv.buildNodePackage {
     name = "neovim";
     packageName = "neovim";
@@ -96939,28 +100689,28 @@ in
   netlify-cli = nodeEnv.buildNodePackage {
     name = "netlify-cli";
     packageName = "netlify-cli";
-    version = "5.2.0";
+    version = "6.7.6";
     src = fetchurl {
-      url = "https://registry.npmjs.org/netlify-cli/-/netlify-cli-5.2.0.tgz";
-      sha512 = "Jwy74SaN5rM4xTE2QSZijF0qN1a/ZGh1PJWUmzmVFX1RnEgA1QMZ7MVHW04UXxZ3igx+G03GGzC071+FRLKT6g==";
+      url = "https://registry.npmjs.org/netlify-cli/-/netlify-cli-6.7.6.tgz";
+      sha512 = "yGdBrNqFPHRrIEcyRXseYt8NOPj7XWeMZiQ6ZGO4Zgkju6nSPnaI9Cxm0rBi7+92c9xU7yhtqY1Z+rs69jaLRw==";
     };
     dependencies = [
       sources."@babel/code-frame-7.14.5"
-      sources."@babel/compat-data-7.14.7"
-      (sources."@babel/core-7.14.8" // {
+      sources."@babel/compat-data-7.15.0"
+      (sources."@babel/core-7.15.0" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      sources."@babel/generator-7.14.8"
+      sources."@babel/generator-7.15.0"
       sources."@babel/helper-annotate-as-pure-7.14.5"
       sources."@babel/helper-builder-binary-assignment-operator-visitor-7.14.5"
-      (sources."@babel/helper-compilation-targets-7.14.5" // {
+      (sources."@babel/helper-compilation-targets-7.15.0" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      sources."@babel/helper-create-class-features-plugin-7.14.8"
+      sources."@babel/helper-create-class-features-plugin-7.15.0"
       sources."@babel/helper-create-regexp-features-plugin-7.14.5"
       (sources."@babel/helper-define-polyfill-provider-0.2.3" // {
         dependencies = [
@@ -96971,32 +100721,33 @@ in
       sources."@babel/helper-function-name-7.14.5"
       sources."@babel/helper-get-function-arity-7.14.5"
       sources."@babel/helper-hoist-variables-7.14.5"
-      sources."@babel/helper-member-expression-to-functions-7.14.7"
+      sources."@babel/helper-member-expression-to-functions-7.15.0"
       sources."@babel/helper-module-imports-7.14.5"
-      sources."@babel/helper-module-transforms-7.14.8"
+      sources."@babel/helper-module-transforms-7.15.0"
       sources."@babel/helper-optimise-call-expression-7.14.5"
       sources."@babel/helper-plugin-utils-7.14.5"
       sources."@babel/helper-remap-async-to-generator-7.14.5"
-      sources."@babel/helper-replace-supers-7.14.5"
+      sources."@babel/helper-replace-supers-7.15.0"
       sources."@babel/helper-simple-access-7.14.8"
       sources."@babel/helper-skip-transparent-expression-wrappers-7.14.5"
       sources."@babel/helper-split-export-declaration-7.14.5"
-      sources."@babel/helper-validator-identifier-7.14.8"
+      sources."@babel/helper-validator-identifier-7.14.9"
       sources."@babel/helper-validator-option-7.14.5"
       sources."@babel/helper-wrap-function-7.14.5"
-      sources."@babel/helpers-7.14.8"
+      sources."@babel/helpers-7.15.3"
       (sources."@babel/highlight-7.14.5" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
           sources."chalk-2.4.2"
           sources."color-convert-1.9.3"
           sources."color-name-1.1.3"
+          sources."escape-string-regexp-1.0.5"
           sources."supports-color-5.5.0"
         ];
       })
-      sources."@babel/parser-7.14.8"
+      sources."@babel/parser-7.15.3"
       sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.14.5"
-      sources."@babel/plugin-proposal-async-generator-functions-7.14.7"
+      sources."@babel/plugin-proposal-async-generator-functions-7.14.9"
       sources."@babel/plugin-proposal-class-properties-7.14.5"
       sources."@babel/plugin-proposal-class-static-block-7.14.5"
       sources."@babel/plugin-proposal-dynamic-import-7.14.5"
@@ -97028,8 +100779,8 @@ in
       sources."@babel/plugin-transform-arrow-functions-7.14.5"
       sources."@babel/plugin-transform-async-to-generator-7.14.5"
       sources."@babel/plugin-transform-block-scoped-functions-7.14.5"
-      sources."@babel/plugin-transform-block-scoping-7.14.5"
-      sources."@babel/plugin-transform-classes-7.14.5"
+      sources."@babel/plugin-transform-block-scoping-7.15.3"
+      sources."@babel/plugin-transform-classes-7.14.9"
       sources."@babel/plugin-transform-computed-properties-7.14.5"
       sources."@babel/plugin-transform-destructuring-7.14.7"
       sources."@babel/plugin-transform-dotall-regex-7.14.5"
@@ -97040,10 +100791,10 @@ in
       sources."@babel/plugin-transform-literals-7.14.5"
       sources."@babel/plugin-transform-member-expression-literals-7.14.5"
       sources."@babel/plugin-transform-modules-amd-7.14.5"
-      sources."@babel/plugin-transform-modules-commonjs-7.14.5"
+      sources."@babel/plugin-transform-modules-commonjs-7.15.0"
       sources."@babel/plugin-transform-modules-systemjs-7.14.5"
       sources."@babel/plugin-transform-modules-umd-7.14.5"
-      sources."@babel/plugin-transform-named-capturing-groups-regex-7.14.7"
+      sources."@babel/plugin-transform-named-capturing-groups-regex-7.14.9"
       sources."@babel/plugin-transform-new-target-7.14.5"
       sources."@babel/plugin-transform-object-super-7.14.5"
       sources."@babel/plugin-transform-parameters-7.14.5"
@@ -97057,108 +100808,81 @@ in
       sources."@babel/plugin-transform-typeof-symbol-7.14.5"
       sources."@babel/plugin-transform-unicode-escapes-7.14.5"
       sources."@babel/plugin-transform-unicode-regex-7.14.5"
-      (sources."@babel/preset-env-7.14.8" // {
+      (sources."@babel/preset-env-7.15.0" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
       sources."@babel/preset-modules-0.1.4"
-      sources."@babel/runtime-7.14.8"
+      sources."@babel/runtime-7.15.3"
       sources."@babel/template-7.14.5"
-      sources."@babel/traverse-7.14.8"
-      sources."@babel/types-7.14.8"
-      sources."@bugsnag/browser-7.10.5"
-      sources."@bugsnag/core-7.10.0"
+      sources."@babel/traverse-7.15.0"
+      sources."@babel/types-7.15.0"
+      sources."@bugsnag/browser-7.11.0"
+      sources."@bugsnag/core-7.11.0"
       sources."@bugsnag/cuid-3.0.0"
-      sources."@bugsnag/js-7.10.5"
-      sources."@bugsnag/node-7.10.1"
+      sources."@bugsnag/js-7.11.0"
+      sources."@bugsnag/node-7.11.0"
       sources."@bugsnag/safe-json-stringify-6.0.0"
       sources."@dabh/diagnostics-2.0.2"
-      sources."@jest/types-24.9.0"
+      sources."@jest/types-26.6.2"
       sources."@mrmlnc/readdir-enhanced-2.2.1"
-      (sources."@netlify/build-16.1.0" // {
+      (sources."@netlify/build-18.6.0" // {
         dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."boxen-4.2.0"
-          sources."chalk-3.0.0"
-          sources."execa-3.4.0"
-          sources."is-plain-obj-2.1.0"
-          sources."locate-path-5.0.0"
           sources."resolve-2.0.0-next.3"
-          sources."semver-6.3.0"
-          sources."type-fest-0.8.1"
-          sources."update-notifier-4.1.3"
         ];
       })
-      (sources."@netlify/cache-utils-1.0.7" // {
+      (sources."@netlify/cache-utils-2.0.3" // {
         dependencies = [
           sources."del-5.1.0"
-          sources."locate-path-5.0.0"
           sources."p-map-3.0.0"
           sources."slash-3.0.0"
         ];
       })
-      (sources."@netlify/config-13.0.0" // {
+      (sources."@netlify/config-15.5.0" // {
         dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."chalk-3.0.0"
           sources."dot-prop-5.3.0"
-          sources."execa-3.4.0"
-          sources."find-up-4.1.0"
-          sources."is-plain-obj-2.1.0"
-          sources."locate-path-5.0.0"
         ];
       })
       sources."@netlify/esbuild-0.13.6"
-      (sources."@netlify/framework-info-5.7.2" // {
-        dependencies = [
-          sources."p-limit-3.1.0"
-          sources."p-locate-5.0.0"
-        ];
-      })
-      sources."@netlify/functions-utils-1.4.7"
-      (sources."@netlify/git-utils-1.0.11" // {
+      sources."@netlify/framework-info-5.9.1"
+      sources."@netlify/functions-utils-2.0.2"
+      (sources."@netlify/git-utils-2.0.1" // {
         dependencies = [
           sources."braces-3.0.2"
-          sources."execa-3.4.0"
           sources."fill-range-7.0.1"
           sources."is-number-7.0.0"
           sources."micromatch-4.0.4"
           sources."to-regex-range-5.0.1"
         ];
       })
-      sources."@netlify/local-functions-proxy-0.1.0"
-      sources."@netlify/local-functions-proxy-darwin-arm64-0.1.0"
-      sources."@netlify/local-functions-proxy-darwin-x64-0.1.0"
-      sources."@netlify/local-functions-proxy-freebsd-arm64-0.1.0"
-      sources."@netlify/local-functions-proxy-freebsd-x64-0.1.0"
-      sources."@netlify/local-functions-proxy-linux-arm-0.1.0"
-      sources."@netlify/local-functions-proxy-linux-arm64-0.1.0"
-      sources."@netlify/local-functions-proxy-linux-ia32-0.1.0"
-      sources."@netlify/local-functions-proxy-linux-ppc64-0.1.0"
-      sources."@netlify/local-functions-proxy-linux-x64-0.1.0"
-      sources."@netlify/local-functions-proxy-openbsd-x64-0.1.0"
-      sources."@netlify/local-functions-proxy-win32-ia32-0.1.0"
-      sources."@netlify/local-functions-proxy-win32-x64-0.1.0"
+      sources."@netlify/local-functions-proxy-1.1.1"
+      sources."@netlify/local-functions-proxy-darwin-arm64-1.1.1"
+      sources."@netlify/local-functions-proxy-darwin-x64-1.1.1"
+      sources."@netlify/local-functions-proxy-freebsd-arm64-1.1.1"
+      sources."@netlify/local-functions-proxy-freebsd-x64-1.1.1"
+      sources."@netlify/local-functions-proxy-linux-arm-1.1.1"
+      sources."@netlify/local-functions-proxy-linux-arm64-1.1.1"
+      sources."@netlify/local-functions-proxy-linux-ia32-1.1.1"
+      sources."@netlify/local-functions-proxy-linux-ppc64-1.1.1"
+      sources."@netlify/local-functions-proxy-linux-x64-1.1.1"
+      sources."@netlify/local-functions-proxy-openbsd-x64-1.1.1"
+      sources."@netlify/local-functions-proxy-win32-ia32-1.1.1"
+      sources."@netlify/local-functions-proxy-win32-x64-1.1.1"
       sources."@netlify/open-api-2.5.0"
       (sources."@netlify/plugin-edge-handlers-1.11.22" // {
         dependencies = [
-          sources."@types/node-14.17.5"
+          sources."@types/node-14.17.12"
         ];
       })
-      sources."@netlify/plugins-list-2.19.3"
+      sources."@netlify/plugins-list-3.5.0"
       sources."@netlify/routing-local-proxy-0.31.0"
-      (sources."@netlify/run-utils-1.0.7" // {
-        dependencies = [
-          sources."execa-3.4.0"
-        ];
-      })
-      (sources."@netlify/zip-it-and-ship-it-4.14.0" // {
+      sources."@netlify/run-utils-2.0.1"
+      (sources."@netlify/zip-it-and-ship-it-4.20.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."cliui-7.0.4"
           sources."cp-file-9.1.0"
-          sources."pkg-dir-5.0.0"
           sources."resolve-2.0.0-next.3"
           sources."wrap-ansi-7.0.0"
           sources."y18n-5.0.8"
@@ -97175,6 +100899,7 @@ in
       sources."@nodelib/fs.walk-1.2.8"
       (sources."@oclif/color-0.1.2" // {
         dependencies = [
+          sources."ansi-regex-4.1.0"
           sources."ansi-styles-3.2.1"
           (sources."chalk-3.0.0" // {
             dependencies = [
@@ -97211,14 +100936,35 @@ in
           sources."micromatch-4.0.4"
           sources."slash-3.0.0"
           sources."to-regex-range-5.0.1"
-          sources."tslib-2.3.0"
+          sources."tslib-2.3.1"
+        ];
+      })
+      (sources."@oclif/core-0.5.32" // {
+        dependencies = [
+          sources."@nodelib/fs.stat-2.0.5"
+          sources."ansi-styles-4.3.0"
+          sources."array-union-2.1.0"
+          sources."braces-3.0.2"
+          sources."dir-glob-3.0.1"
+          sources."fast-glob-3.2.7"
+          sources."fill-range-7.0.1"
+          sources."fs-extra-9.1.0"
+          sources."glob-parent-5.1.2"
+          sources."globby-11.0.4"
+          sources."ignore-5.1.8"
+          sources."is-number-7.0.0"
+          sources."jsonfile-6.1.0"
+          sources."micromatch-4.0.4"
+          sources."slash-3.0.0"
+          sources."to-regex-range-5.0.1"
+          sources."tslib-2.3.1"
+          sources."universalify-2.0.0"
+          sources."wrap-ansi-7.0.0"
         ];
       })
       (sources."@oclif/errors-1.3.5" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
-          sources."clean-stack-3.0.1"
-          sources."escape-string-regexp-4.0.0"
           sources."wrap-ansi-7.0.0"
         ];
       })
@@ -97229,32 +100975,22 @@ in
           sources."chalk-2.4.2"
           sources."color-convert-1.9.3"
           sources."color-name-1.1.3"
+          sources."escape-string-regexp-1.0.5"
           sources."supports-color-5.5.0"
         ];
       })
-      (sources."@oclif/plugin-help-3.2.2" // {
-        dependencies = [
-          sources."ansi-regex-3.0.0"
-          sources."ansi-styles-3.2.1"
-          sources."color-convert-1.9.3"
-          sources."color-name-1.1.3"
-          sources."is-fullwidth-code-point-2.0.0"
-          (sources."wrap-ansi-4.0.0" // {
-            dependencies = [
-              sources."string-width-2.1.1"
-              sources."strip-ansi-4.0.0"
-            ];
-          })
-        ];
-      })
+      sources."@oclif/plugin-help-3.3.0"
       (sources."@oclif/plugin-not-found-1.2.4" // {
         dependencies = [
           sources."ansi-escapes-3.2.0"
+          sources."ansi-regex-4.1.0"
           sources."ansi-styles-3.2.1"
           sources."chalk-2.4.2"
+          sources."clean-stack-2.2.0"
           sources."cli-ux-4.9.3"
           sources."color-convert-1.9.3"
           sources."color-name-1.1.3"
+          sources."escape-string-regexp-1.0.5"
           sources."fs-extra-7.0.1"
           sources."indent-string-3.2.0"
           sources."is-wsl-1.1.0"
@@ -97267,7 +101003,7 @@ in
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."jsonfile-6.1.0"
-          sources."tslib-2.3.0"
+          sources."tslib-2.3.1"
           sources."universalify-2.0.0"
         ];
       })
@@ -97280,18 +101016,18 @@ in
         ];
       })
       sources."@octokit/graphql-4.6.4"
-      sources."@octokit/openapi-types-9.1.0"
-      sources."@octokit/plugin-paginate-rest-2.14.0"
+      sources."@octokit/openapi-types-9.7.0"
+      sources."@octokit/plugin-paginate-rest-2.15.1"
       sources."@octokit/plugin-request-log-1.0.4"
-      sources."@octokit/plugin-rest-endpoint-methods-5.5.0"
-      (sources."@octokit/request-5.6.0" // {
+      sources."@octokit/plugin-rest-endpoint-methods-5.8.0"
+      (sources."@octokit/request-5.6.1" // {
         dependencies = [
           sources."is-plain-object-5.0.0"
         ];
       })
       sources."@octokit/request-error-2.1.0"
-      sources."@octokit/rest-18.7.0"
-      sources."@octokit/types-6.21.0"
+      sources."@octokit/rest-18.9.1"
+      sources."@octokit/types-6.25.0"
       sources."@rollup/plugin-babel-5.3.0"
       (sources."@rollup/plugin-commonjs-18.1.0" // {
         dependencies = [
@@ -97304,11 +101040,7 @@ in
       sources."@rollup/pluginutils-3.1.0"
       sources."@samverschueren/stream-to-observable-0.3.1"
       sources."@sindresorhus/is-0.14.0"
-      (sources."@sindresorhus/slugify-1.1.2" // {
-        dependencies = [
-          sources."escape-string-regexp-4.0.0"
-        ];
-      })
+      sources."@sindresorhus/slugify-1.1.2"
       (sources."@sindresorhus/transliterate-0.1.2" // {
         dependencies = [
           sources."escape-string-regexp-2.0.0"
@@ -97325,19 +101057,19 @@ in
       sources."@types/http-proxy-1.17.7"
       sources."@types/istanbul-lib-coverage-2.0.3"
       sources."@types/istanbul-lib-report-3.0.0"
-      sources."@types/istanbul-reports-1.1.2"
+      sources."@types/istanbul-reports-3.0.1"
       sources."@types/keyv-3.1.2"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-16.4.0"
-      sources."@types/node-fetch-2.5.11"
+      sources."@types/node-16.7.2"
+      sources."@types/node-fetch-2.5.12"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/resolve-1.17.1"
       sources."@types/responselike-1.0.0"
-      sources."@types/semver-7.3.7"
-      sources."@types/yargs-13.0.12"
+      sources."@types/semver-7.3.8"
+      sources."@types/yargs-15.0.14"
       sources."@types/yargs-parser-20.2.1"
-      sources."@typescript-eslint/types-4.28.4"
-      (sources."@typescript-eslint/typescript-estree-4.28.4" // {
+      sources."@typescript-eslint/types-4.29.3"
+      (sources."@typescript-eslint/typescript-estree-4.29.3" // {
         dependencies = [
           sources."@nodelib/fs.stat-2.0.5"
           sources."array-union-2.1.0"
@@ -97354,28 +101086,36 @@ in
           sources."to-regex-range-5.0.1"
         ];
       })
-      sources."@typescript-eslint/visitor-keys-4.28.4"
+      sources."@typescript-eslint/visitor-keys-4.29.3"
       sources."@ungap/from-entries-0.2.1"
       sources."accepts-1.3.7"
       sources."acorn-8.4.1"
       sources."agent-base-6.0.2"
-      sources."aggregate-error-3.1.0"
+      (sources."aggregate-error-3.1.0" // {
+        dependencies = [
+          sources."clean-stack-2.2.0"
+        ];
+      })
       sources."ajv-8.6.2"
       (sources."all-node-versions-8.0.0" // {
         dependencies = [
           sources."@jest/types-25.5.0"
-          sources."@types/yargs-15.0.14"
-          sources."ansi-regex-5.0.0"
+          sources."@types/istanbul-reports-1.1.2"
           sources."ansi-styles-4.3.0"
+          sources."camelcase-5.3.1"
           sources."chalk-3.0.0"
-          sources."global-cache-dir-2.0.0"
+          sources."get-stream-5.2.0"
+          sources."has-flag-4.0.0"
           sources."jest-get-type-25.2.6"
           sources."jest-validate-25.5.0"
           sources."pretty-format-25.5.0"
+          sources."react-is-16.13.1"
+          sources."supports-color-7.2.0"
         ];
       })
       (sources."ansi-align-3.0.0" // {
         dependencies = [
+          sources."ansi-regex-4.1.0"
           sources."emoji-regex-7.0.3"
           sources."is-fullwidth-code-point-2.0.0"
           sources."string-width-3.1.0"
@@ -97383,7 +101123,7 @@ in
         ];
       })
       sources."ansi-escapes-4.3.2"
-      sources."ansi-regex-4.1.0"
+      sources."ansi-regex-5.0.0"
       sources."ansi-styles-5.2.0"
       sources."ansicolors-0.3.2"
       sources."any-observable-0.3.0"
@@ -97397,7 +101137,6 @@ in
       (sources."archiver-utils-2.1.0" // {
         dependencies = [
           sources."readable-stream-2.3.7"
-          sources."safe-buffer-5.1.2"
         ];
       })
       sources."argparse-2.0.1"
@@ -97413,7 +101152,7 @@ in
       sources."ascii-table-0.0.9"
       sources."assign-symbols-1.0.0"
       sources."ast-module-types-2.7.1"
-      sources."async-3.2.0"
+      sources."async-3.2.1"
       sources."asynckit-0.4.0"
       sources."at-least-node-1.0.0"
       sources."atob-2.1.2"
@@ -97423,7 +101162,7 @@ in
           sources."semver-6.3.0"
         ];
       })
-      sources."babel-plugin-polyfill-corejs3-0.2.3"
+      sources."babel-plugin-polyfill-corejs3-0.2.4"
       sources."babel-plugin-polyfill-regenerator-0.2.2"
       sources."backoff-2.5.0"
       sources."balanced-match-1.0.2"
@@ -97447,7 +101186,6 @@ in
       (sources."boxen-5.0.1" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
-          sources."camelcase-6.2.0"
           sources."type-fest-0.20.2"
           sources."wrap-ansi-7.0.0"
         ];
@@ -97458,14 +101196,14 @@ in
           sources."extend-shallow-2.0.1"
         ];
       })
-      sources."browserslist-4.16.6"
+      sources."browserslist-4.16.8"
       sources."buffer-5.7.1"
       sources."buffer-alloc-1.2.0"
       sources."buffer-alloc-unsafe-1.1.0"
       sources."buffer-crc32-0.2.13"
       sources."buffer-es6-4.9.3"
       sources."buffer-fill-1.0.0"
-      sources."buffer-from-1.1.1"
+      sources."buffer-from-1.1.2"
       sources."builtin-modules-3.2.0"
       sources."builtins-1.0.3"
       sources."byline-5.0.0"
@@ -97479,6 +101217,7 @@ in
       })
       (sources."cacheable-request-6.1.0" // {
         dependencies = [
+          sources."get-stream-5.2.0"
           sources."lowercase-keys-2.0.0"
         ];
       })
@@ -97486,12 +101225,14 @@ in
       sources."call-bind-1.0.2"
       sources."call-me-maybe-1.0.1"
       sources."callsite-1.0.0"
-      sources."camelcase-5.3.1"
-      sources."caniuse-lite-1.0.30001246"
+      sources."camelcase-6.2.0"
+      sources."caniuse-lite-1.0.30001252"
       sources."cardinal-2.1.1"
-      (sources."chalk-4.1.1" // {
+      (sources."chalk-4.1.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
+          sources."has-flag-4.0.0"
+          sources."supports-color-7.2.0"
         ];
       })
       sources."chardet-0.7.0"
@@ -97523,7 +101264,7 @@ in
         ];
       })
       sources."clean-deep-3.4.0"
-      sources."clean-stack-2.2.0"
+      sources."clean-stack-3.0.1"
       sources."cli-boxes-2.2.1"
       sources."cli-cursor-2.1.0"
       sources."cli-progress-3.9.0"
@@ -97540,18 +101281,15 @@ in
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."argparse-1.0.10"
-          sources."clean-stack-3.0.1"
-          sources."escape-string-regexp-4.0.0"
           sources."extract-stack-2.0.0"
           sources."has-flag-4.0.0"
           sources."js-yaml-3.14.1"
-          sources."supports-color-8.1.1"
           (sources."supports-hyperlinks-2.2.0" // {
             dependencies = [
               sources."supports-color-7.2.0"
             ];
           })
-          sources."tslib-2.3.0"
+          sources."tslib-2.3.1"
         ];
       })
       sources."cli-width-2.2.1"
@@ -97569,7 +101307,7 @@ in
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
       sources."color-string-1.6.0"
-      sources."colorette-1.2.2"
+      sources."colorette-1.3.0"
       sources."colors-1.4.0"
       sources."colorspace-1.1.2"
       sources."combined-stream-1.0.8"
@@ -97585,17 +101323,9 @@ in
           sources."dot-prop-5.3.0"
         ];
       })
-      (sources."content-disposition-0.5.3" // {
-        dependencies = [
-          sources."safe-buffer-5.1.2"
-        ];
-      })
+      sources."content-disposition-0.5.3"
       sources."content-type-1.0.4"
-      (sources."convert-source-map-1.8.0" // {
-        dependencies = [
-          sources."safe-buffer-5.1.2"
-        ];
-      })
+      sources."convert-source-map-1.8.0"
       sources."cookie-0.4.1"
       sources."cookie-signature-1.0.6"
       sources."copy-descriptor-0.1.1"
@@ -97604,10 +101334,9 @@ in
           sources."pump-1.0.3"
           sources."readable-stream-2.3.7"
           sources."readdirp-2.2.1"
-          sources."safe-buffer-5.1.2"
         ];
       })
-      (sources."core-js-compat-3.15.2" // {
+      (sources."core-js-compat-3.16.3" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
@@ -97652,7 +101381,6 @@ in
           sources."file-type-5.2.0"
           sources."is-stream-1.1.0"
           sources."readable-stream-2.3.7"
-          sources."safe-buffer-5.1.2"
           sources."tar-stream-1.6.2"
         ];
       })
@@ -97753,7 +101481,7 @@ in
       })
       sources."duplexer3-0.1.4"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.3.782"
+      sources."electron-to-chromium-1.3.818"
       sources."elegant-spinner-1.0.1"
       sources."elf-cam-0.1.1"
       sources."emoji-regex-8.0.0"
@@ -97767,7 +101495,7 @@ in
       sources."escalade-3.1.1"
       sources."escape-goat-2.1.1"
       sources."escape-html-1.0.3"
-      sources."escape-string-regexp-1.0.5"
+      sources."escape-string-regexp-4.0.0"
       (sources."escodegen-2.0.0" // {
         dependencies = [
           sources."source-map-0.6.1"
@@ -97782,7 +101510,6 @@ in
       sources."eventemitter3-4.0.7"
       (sources."execa-5.1.1" // {
         dependencies = [
-          sources."get-stream-6.0.1"
           sources."human-signals-2.1.0"
         ];
       })
@@ -97810,7 +101537,6 @@ in
         dependencies = [
           sources."cookie-0.4.0"
           sources."debug-2.6.9"
-          sources."safe-buffer-5.1.2"
         ];
       })
       sources."express-logging-1.1.1"
@@ -97839,8 +101565,7 @@ in
       sources."fast-glob-2.2.7"
       sources."fast-levenshtein-2.0.6"
       sources."fast-safe-stringify-2.0.8"
-      sources."fast-stringify-1.1.2"
-      sources."fastq-1.11.1"
+      sources."fastq-1.12.0"
       sources."fd-slicer-1.1.0"
       sources."fecha-4.2.1"
       (sources."fetch-node-website-5.0.3" // {
@@ -97852,13 +101577,15 @@ in
           })
           sources."@sindresorhus/is-2.1.1"
           sources."@szmarczak/http-timer-4.0.6"
-          sources."@types/yargs-15.0.14"
-          sources."ansi-regex-5.0.0"
+          sources."@types/istanbul-reports-1.1.2"
           sources."ansi-styles-4.3.0"
           sources."cacheable-request-7.0.2"
+          sources."camelcase-5.3.1"
           sources."decompress-response-5.0.0"
           sources."defer-to-connect-2.0.1"
+          sources."get-stream-5.2.0"
           sources."got-10.7.0"
+          sources."has-flag-4.0.0"
           sources."jest-get-type-25.2.6"
           (sources."jest-validate-25.5.0" // {
             dependencies = [
@@ -97872,11 +101599,17 @@ in
           sources."normalize-url-6.1.0"
           sources."p-cancelable-2.1.1"
           sources."pretty-format-25.5.0"
+          sources."react-is-16.13.1"
           sources."responselike-2.0.0"
+          sources."supports-color-7.2.0"
           sources."type-fest-0.10.0"
         ];
       })
-      sources."figures-3.2.0"
+      (sources."figures-3.2.0" // {
+        dependencies = [
+          sources."escape-string-regexp-1.0.5"
+        ];
+      })
       sources."file-size-0.0.5"
       sources."file-type-11.1.0"
       sources."filename-reserved-regex-2.0.0"
@@ -97897,7 +101630,7 @@ in
       sources."flush-write-stream-2.0.0"
       sources."fn.name-1.1.0"
       sources."folder-walker-3.2.0"
-      sources."follow-redirects-1.14.1"
+      sources."follow-redirects-1.14.2"
       sources."for-in-1.0.2"
       sources."form-data-3.0.1"
       sources."forwarded-0.2.0"
@@ -97906,7 +101639,6 @@ in
       (sources."from2-2.3.0" // {
         dependencies = [
           sources."readable-stream-2.3.7"
-          sources."safe-buffer-5.1.2"
         ];
       })
       sources."from2-array-0.0.4"
@@ -97920,10 +101652,11 @@ in
       sources."get-amd-module-type-3.0.0"
       sources."get-caller-file-2.0.5"
       sources."get-intrinsic-1.1.1"
+      sources."get-package-type-0.1.0"
       sources."get-port-5.1.1"
-      sources."get-stream-5.2.0"
+      sources."get-stream-6.0.1"
       sources."get-value-2.0.6"
-      sources."gh-release-fetch-2.0.1"
+      sources."gh-release-fetch-2.0.2"
       sources."git-repo-info-2.1.1"
       sources."gitconfiglocal-2.1.0"
       sources."glob-7.1.7"
@@ -97933,8 +101666,12 @@ in
         ];
       })
       sources."glob-to-regexp-0.3.0"
-      sources."global-cache-dir-1.0.1"
-      sources."global-dirs-2.1.0"
+      sources."global-cache-dir-2.0.0"
+      (sources."global-dirs-3.0.0" // {
+        dependencies = [
+          sources."ini-2.0.0"
+        ];
+      })
       sources."globals-11.12.0"
       (sources."globby-10.0.2" // {
         dependencies = [
@@ -97959,7 +101696,7 @@ in
           sources."to-readable-stream-1.0.0"
         ];
       })
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."has-1.0.3"
       (sources."has-ansi-2.0.0" // {
         dependencies = [
@@ -98026,7 +101763,7 @@ in
       sources."indexes-of-1.0.1"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."ini-1.3.7"
+      sources."ini-1.3.8"
       (sources."inquirer-6.5.2" // {
         dependencies = [
           sources."ansi-escapes-3.2.0"
@@ -98035,6 +101772,7 @@ in
           sources."chalk-2.4.2"
           sources."color-convert-1.9.3"
           sources."color-name-1.1.3"
+          sources."escape-string-regexp-1.0.5"
           sources."figures-2.0.0"
           sources."is-fullwidth-code-point-2.0.0"
           (sources."string-width-2.1.1" // {
@@ -98062,7 +101800,7 @@ in
           sources."ci-info-2.0.0"
         ];
       })
-      sources."is-core-module-2.5.0"
+      sources."is-core-module-2.6.0"
       sources."is-data-descriptor-1.0.0"
       sources."is-descriptor-1.0.2"
       sources."is-docker-2.2.1"
@@ -98070,11 +101808,11 @@ in
       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-installed-globally-0.4.0"
       sources."is-interactive-1.0.0"
       sources."is-module-1.0.0"
       sources."is-natural-number-4.0.1"
-      sources."is-npm-4.0.0"
+      sources."is-npm-5.0.0"
       (sources."is-number-3.0.0" // {
         dependencies = [
           sources."kind-of-3.2.2"
@@ -98090,7 +101828,7 @@ in
       sources."is-promise-2.2.2"
       sources."is-reference-1.2.1"
       sources."is-retry-allowed-1.2.0"
-      sources."is-stream-2.0.0"
+      sources."is-stream-2.0.1"
       sources."is-typedarray-1.0.0"
       sources."is-unicode-supported-0.1.0"
       sources."is-url-1.2.4"
@@ -98102,17 +101840,14 @@ in
       sources."isexe-2.0.0"
       sources."isobject-3.0.1"
       sources."isurl-1.0.0"
-      sources."jest-get-type-24.9.0"
-      (sources."jest-validate-24.9.0" // {
+      sources."jest-get-type-26.3.0"
+      sources."jest-validate-26.6.2"
+      (sources."jest-worker-26.6.2" // {
         dependencies = [
-          sources."ansi-styles-3.2.1"
-          sources."chalk-2.4.2"
-          sources."color-convert-1.9.3"
-          sources."color-name-1.1.3"
-          sources."supports-color-5.5.0"
+          sources."has-flag-4.0.0"
+          sources."supports-color-7.2.0"
         ];
       })
-      sources."jest-worker-26.6.2"
       sources."js-string-escape-1.0.1"
       sources."js-tokens-4.0.0"
       sources."js-yaml-4.1.0"
@@ -98125,11 +101860,7 @@ in
       sources."jsonfile-4.0.0"
       sources."junk-3.1.0"
       sources."jwt-decode-3.1.2"
-      (sources."keep-func-props-3.0.1" // {
-        dependencies = [
-          sources."mimic-fn-3.1.0"
-        ];
-      })
+      sources."keep-func-props-3.0.1"
       sources."keyv-3.1.0"
       sources."kind-of-6.0.3"
       sources."kuler-2.0.0"
@@ -98142,7 +101873,6 @@ in
       (sources."lazystream-1.0.0" // {
         dependencies = [
           sources."readable-stream-2.3.7"
-          sources."safe-buffer-5.1.2"
         ];
       })
       sources."leven-3.1.0"
@@ -98160,6 +101890,7 @@ in
           sources."ansi-regex-2.1.1"
           sources."ansi-styles-2.2.1"
           sources."chalk-1.1.3"
+          sources."escape-string-regexp-1.0.5"
           sources."figures-1.7.0"
           sources."indent-string-3.2.0"
           sources."log-symbols-1.0.2"
@@ -98173,6 +101904,7 @@ in
           sources."chalk-2.4.2"
           sources."color-convert-1.9.3"
           sources."color-name-1.1.3"
+          sources."escape-string-regexp-1.0.5"
           sources."figures-2.0.0"
           sources."supports-color-5.5.0"
         ];
@@ -98183,12 +101915,7 @@ in
           sources."type-fest-0.3.1"
         ];
       })
-      (sources."locate-path-6.0.0" // {
-        dependencies = [
-          sources."p-limit-3.1.0"
-          sources."p-locate-5.0.0"
-        ];
-      })
+      sources."locate-path-6.0.0"
       sources."lodash-4.17.21"
       sources."lodash._reinterpolate-3.0.0"
       sources."lodash.camelcase-4.3.0"
@@ -98203,15 +101930,7 @@ in
       sources."lodash.templatesettings-4.2.0"
       sources."lodash.transform-4.6.0"
       sources."lodash.union-4.6.0"
-      (sources."log-process-errors-5.1.2" // {
-        dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."chalk-3.0.0"
-          sources."fast-equals-1.6.3"
-          sources."micro-memoize-2.1.2"
-          sources."moize-5.4.7"
-        ];
-      })
+      sources."log-process-errors-6.3.0"
       sources."log-symbols-4.1.0"
       (sources."log-update-2.3.0" // {
         dependencies = [
@@ -98262,9 +101981,9 @@ in
       sources."micro-memoize-4.0.9"
       sources."micromatch-3.1.10"
       sources."mime-1.6.0"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
-      sources."mimic-fn-2.1.0"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
+      sources."mimic-fn-3.1.0"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
@@ -98276,68 +101995,62 @@ in
       sources."mkdirp-0.5.5"
       sources."module-definition-3.3.1"
       sources."moize-6.0.3"
-      (sources."move-file-1.2.0" // {
-        dependencies = [
-          (sources."cp-file-6.2.0" // {
-            dependencies = [
-              sources."make-dir-2.1.0"
-            ];
-          })
-          sources."path-exists-3.0.0"
-          sources."semver-5.7.1"
-        ];
-      })
+      sources."move-file-2.1.0"
       sources."ms-2.0.0"
       (sources."multiparty-4.2.2" // {
         dependencies = [
           sources."http-errors-1.8.0"
+          sources."safe-buffer-5.2.1"
           sources."setprototypeof-1.2.0"
         ];
       })
       sources."mute-stream-0.0.7"
-      sources."nanoid-3.1.23"
+      sources."nanoid-3.1.25"
       sources."nanomatch-1.2.13"
       sources."natural-orderby-2.0.3"
       sources."negotiator-0.6.2"
       sources."nested-error-stacks-2.1.0"
-      (sources."netlify-7.0.1" // {
+      (sources."netlify-8.0.0" // {
         dependencies = [
           sources."qs-6.10.1"
         ];
       })
-      (sources."netlify-redirect-parser-8.1.0" // {
-        dependencies = [
-          sources."is-plain-obj-2.1.0"
-        ];
-      })
+      sources."netlify-headers-parser-4.0.1"
+      sources."netlify-redirect-parser-11.0.2"
       sources."netlify-redirector-0.2.1"
       sources."nice-try-1.0.5"
       sources."node-fetch-2.6.1"
-      sources."node-releases-1.1.73"
+      sources."node-releases-1.1.75"
       sources."node-source-walk-4.2.0"
       (sources."node-version-alias-1.0.1" // {
         dependencies = [
           sources."@jest/types-25.5.0"
-          sources."@types/yargs-15.0.14"
-          sources."ansi-regex-5.0.0"
+          sources."@types/istanbul-reports-1.1.2"
           sources."ansi-styles-4.3.0"
+          sources."camelcase-5.3.1"
           sources."chalk-3.0.0"
+          sources."has-flag-4.0.0"
           sources."jest-get-type-25.2.6"
           sources."jest-validate-25.5.0"
           sources."pretty-format-25.5.0"
+          sources."react-is-16.13.1"
+          sources."supports-color-7.2.0"
         ];
       })
       sources."noop2-2.0.0"
       (sources."normalize-node-version-10.0.0" // {
         dependencies = [
           sources."@jest/types-25.5.0"
-          sources."@types/yargs-15.0.14"
-          sources."ansi-regex-5.0.0"
+          sources."@types/istanbul-reports-1.1.2"
           sources."ansi-styles-4.3.0"
+          sources."camelcase-5.3.1"
           sources."chalk-3.0.0"
+          sources."has-flag-4.0.0"
           sources."jest-get-type-25.2.6"
           sources."jest-validate-25.5.0"
           sources."pretty-format-25.5.0"
+          sources."react-is-16.13.1"
+          sources."supports-color-7.2.0"
         ];
       })
       (sources."normalize-package-data-2.5.0" // {
@@ -98372,7 +102085,7 @@ in
       sources."object.pick-1.3.0"
       (sources."oclif-plugin-completion-0.6.0" // {
         dependencies = [
-          sources."tslib-2.3.0"
+          sources."tslib-2.3.1"
         ];
       })
       sources."omit.js-2.0.2"
@@ -98380,7 +102093,11 @@ in
       sources."on-headers-1.0.2"
       sources."once-1.4.0"
       sources."one-time-1.0.0"
-      sources."onetime-5.1.2"
+      (sources."onetime-5.1.2" // {
+        dependencies = [
+          sources."mimic-fn-2.1.0"
+        ];
+      })
       sources."open-7.4.2"
       (sources."opn-5.5.0" // {
         dependencies = [
@@ -98394,7 +102111,7 @@ in
           sources."restore-cursor-3.1.0"
         ];
       })
-      sources."os-name-3.1.0"
+      sources."os-name-4.0.1"
       sources."os-tmpdir-1.0.2"
       (sources."p-all-2.1.0" // {
         dependencies = [
@@ -98404,7 +102121,6 @@ in
       sources."p-cancelable-1.1.0"
       (sources."p-event-4.2.0" // {
         dependencies = [
-          sources."p-finally-1.0.0"
           sources."p-timeout-3.2.0"
         ];
       })
@@ -98418,21 +102134,16 @@ in
           sources."p-map-2.1.0"
         ];
       })
-      sources."p-finally-2.0.1"
+      sources."p-finally-1.0.0"
       sources."p-is-promise-1.1.0"
-      sources."p-limit-2.3.0"
-      sources."p-locate-4.1.0"
+      sources."p-limit-3.1.0"
+      sources."p-locate-5.0.0"
       sources."p-map-4.0.0"
       sources."p-reduce-2.1.0"
-      (sources."p-timeout-2.0.1" // {
-        dependencies = [
-          sources."p-finally-1.0.0"
-        ];
-      })
+      sources."p-timeout-2.0.1"
       sources."p-try-2.2.0"
       (sources."p-wait-for-3.2.0" // {
         dependencies = [
-          sources."p-finally-1.0.0"
           sources."p-timeout-3.2.0"
         ];
       })
@@ -98444,7 +102155,6 @@ in
       (sources."parallel-transform-1.2.0" // {
         dependencies = [
           sources."readable-stream-2.3.7"
-          sources."safe-buffer-5.1.2"
         ];
       })
       sources."parse-github-url-1.0.2"
@@ -98476,12 +102186,7 @@ in
       sources."pify-4.0.1"
       sources."pinkie-2.0.4"
       sources."pinkie-promise-2.0.1"
-      (sources."pkg-dir-4.2.0" // {
-        dependencies = [
-          sources."find-up-4.1.0"
-          sources."locate-path-5.0.0"
-        ];
-      })
+      sources."pkg-dir-5.0.0"
       sources."posix-character-classes-0.1.1"
       sources."postcss-8.3.6"
       sources."postcss-values-parser-2.0.1"
@@ -98489,20 +102194,18 @@ in
       sources."precond-0.2.3"
       sources."prelude-ls-1.1.2"
       sources."prepend-http-2.0.0"
-      (sources."pretty-format-24.9.0" // {
+      (sources."pretty-format-26.6.2" // {
         dependencies = [
-          sources."ansi-styles-3.2.1"
-          sources."color-convert-1.9.3"
-          sources."color-name-1.1.3"
+          sources."ansi-styles-4.3.0"
         ];
       })
-      sources."pretty-ms-5.1.0"
+      sources."pretty-ms-7.0.1"
       sources."prettyjson-1.2.1"
       sources."printj-1.1.2"
       sources."process-es6-0.11.6"
       sources."process-nextick-args-2.0.1"
       sources."proxy-addr-2.0.7"
-      sources."ps-list-6.3.0"
+      sources."ps-list-7.2.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."pupa-2.1.1"
@@ -98518,8 +102221,8 @@ in
         ];
       })
       sources."rc-1.2.8"
-      sources."react-is-16.13.1"
-      sources."read-package-json-fast-2.0.2"
+      sources."react-is-17.0.2"
+      sources."read-package-json-fast-2.0.3"
       (sources."read-pkg-5.2.0" // {
         dependencies = [
           sources."type-fest-0.6.0"
@@ -98529,6 +102232,8 @@ in
         dependencies = [
           sources."find-up-4.1.0"
           sources."locate-path-5.0.0"
+          sources."p-limit-2.3.0"
+          sources."p-locate-4.1.0"
           sources."type-fest-0.8.1"
         ];
       })
@@ -98538,7 +102243,7 @@ in
       sources."redeyed-2.1.1"
       sources."regenerate-1.4.2"
       sources."regenerate-unicode-properties-8.2.0"
-      sources."regenerator-runtime-0.13.8"
+      sources."regenerator-runtime-0.13.9"
       sources."regenerator-transform-0.14.5"
       sources."regex-not-1.0.2"
       sources."regexpu-core-4.7.1"
@@ -98571,7 +102276,7 @@ in
       sources."reusify-1.0.4"
       sources."rfdc-1.3.0"
       sources."rimraf-3.0.2"
-      sources."rollup-2.53.3"
+      sources."rollup-2.56.3"
       (sources."rollup-plugin-inject-3.0.2" // {
         dependencies = [
           sources."estree-walker-0.6.1"
@@ -98587,7 +102292,7 @@ in
       sources."run-async-2.4.1"
       sources."run-parallel-1.2.0"
       sources."rxjs-6.6.7"
-      sources."safe-buffer-5.2.1"
+      sources."safe-buffer-5.1.2"
       sources."safe-json-stringify-1.2.0"
       sources."safe-regex-1.1.0"
       sources."safer-buffer-2.1.2"
@@ -98676,7 +102381,7 @@ in
       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.9"
+      sources."spdx-license-ids-3.0.10"
       sources."split-string-3.1.0"
       sources."split2-1.1.1"
       sources."sprintf-js-1.0.3"
@@ -98705,6 +102410,7 @@ in
           sources."ansi-regex-0.2.1"
           sources."ansi-styles-1.1.0"
           sources."chalk-0.5.1"
+          sources."escape-string-regexp-1.0.5"
           sources."has-ansi-0.1.0"
           sources."strip-ansi-0.3.0"
           sources."supports-color-0.2.0"
@@ -98714,24 +102420,19 @@ in
       sources."statuses-1.5.0"
       sources."strict-uri-encode-1.1.0"
       sources."string-width-4.2.2"
-      (sources."string_decoder-1.1.1" // {
-        dependencies = [
-          sources."safe-buffer-5.1.2"
-        ];
-      })
-      (sources."strip-ansi-6.0.0" // {
-        dependencies = [
-          sources."ansi-regex-5.0.0"
-        ];
-      })
+      sources."string_decoder-1.1.1"
+      sources."strip-ansi-6.0.0"
       sources."strip-ansi-control-characters-2.0.0"
       sources."strip-bom-3.0.0"
       sources."strip-dirs-2.1.0"
-      sources."strip-eof-1.0.0"
       sources."strip-final-newline-2.0.0"
       sources."strip-json-comments-2.0.1"
-      sources."strip-outer-1.0.1"
-      (sources."supports-color-7.2.0" // {
+      (sources."strip-outer-1.0.1" // {
+        dependencies = [
+          sources."escape-string-regexp-1.0.5"
+        ];
+      })
+      (sources."supports-color-8.1.1" // {
         dependencies = [
           sources."has-flag-4.0.0"
         ];
@@ -98754,8 +102455,7 @@ in
           sources."type-fest-0.16.0"
         ];
       })
-      sources."term-size-2.2.1"
-      (sources."terser-5.7.1" // {
+      (sources."terser-5.7.2" // {
         dependencies = [
           sources."source-map-0.7.3"
         ];
@@ -98765,7 +102465,6 @@ in
       (sources."through2-2.0.5" // {
         dependencies = [
           sources."readable-stream-2.3.7"
-          sources."safe-buffer-5.1.2"
         ];
       })
       sources."through2-filter-3.0.0"
@@ -98788,7 +102487,11 @@ in
       sources."toml-3.0.0"
       sources."tomlify-j0.4-3.0.0"
       sources."treeify-1.1.0"
-      sources."trim-repeated-1.0.0"
+      (sources."trim-repeated-1.0.0" // {
+        dependencies = [
+          sources."escape-string-regexp-1.0.5"
+        ];
+      })
       sources."triple-beam-1.3.0"
       sources."tslib-1.14.1"
       sources."tsutils-3.21.0"
@@ -98825,14 +102528,7 @@ in
           sources."has-values-0.1.4"
         ];
       })
-      (sources."update-notifier-5.1.0" // {
-        dependencies = [
-          sources."global-dirs-3.0.0"
-          sources."ini-2.0.0"
-          sources."is-installed-globally-0.4.0"
-          sources."is-npm-5.0.0"
-        ];
-      })
+      sources."update-notifier-5.1.0"
       sources."uri-js-4.4.1"
       sources."urix-0.1.0"
       sources."url-parse-lax-3.0.0"
@@ -98851,6 +102547,7 @@ in
           sources."color-convert-1.9.3"
           sources."color-name-1.1.3"
           sources."commander-3.0.2"
+          sources."escape-string-regexp-1.0.5"
           sources."supports-color-5.5.0"
         ];
       })
@@ -98859,26 +102556,16 @@ in
       sources."which-2.0.2"
       sources."which-module-2.0.0"
       sources."widest-line-3.1.0"
-      (sources."windows-release-3.3.3" // {
+      (sources."windows-release-4.0.0" // {
         dependencies = [
-          sources."cross-spawn-6.0.5"
-          sources."execa-1.0.0"
-          sources."get-stream-4.1.0"
-          sources."is-stream-1.1.0"
-          sources."npm-run-path-2.0.2"
-          sources."p-finally-1.0.0"
-          sources."path-key-2.0.1"
-          sources."semver-5.7.1"
-          sources."shebang-command-1.2.0"
-          sources."shebang-regex-1.0.0"
-          sources."which-1.3.1"
+          sources."execa-4.1.0"
+          sources."get-stream-5.2.0"
         ];
       })
       sources."winston-3.3.3"
       (sources."winston-transport-4.4.0" // {
         dependencies = [
           sources."readable-stream-2.3.7"
-          sources."safe-buffer-5.1.2"
         ];
       })
       sources."word-wrap-1.2.3"
@@ -98897,10 +102584,16 @@ in
         dependencies = [
           sources."find-up-4.1.0"
           sources."locate-path-5.0.0"
+          sources."p-limit-2.3.0"
+          sources."p-locate-4.1.0"
         ];
       })
-      sources."yargs-parser-18.1.3"
-      sources."yarn-1.22.10"
+      (sources."yargs-parser-18.1.3" // {
+        dependencies = [
+          sources."camelcase-5.3.1"
+        ];
+      })
+      sources."yarn-1.22.11"
       sources."yauzl-2.10.0"
       sources."yocto-queue-0.1.0"
       sources."zip-stream-4.1.0"
@@ -98940,12 +102633,14 @@ in
   node-gyp = nodeEnv.buildNodePackage {
     name = "node-gyp";
     packageName = "node-gyp";
-    version = "8.1.0";
+    version = "8.2.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/node-gyp/-/node-gyp-8.1.0.tgz";
-      sha512 = "o2elh1qt7YUp3lkMwY3/l4KF3j/A3fI/Qt4NH+CQQgPJdqGE9y7qnP84cjIWN27Q0jJkrSAhCVDg+wBVNBYdBg==";
+      url = "https://registry.npmjs.org/node-gyp/-/node-gyp-8.2.0.tgz";
+      sha512 = "KG8SdcoAnw2d6augGwl1kOayALUrXW/P2uOAm2J2+nmW/HjZo7y+8TDg7LejxbekOOSv3kzhq+NSUYkIDAX8eA==";
     };
     dependencies = [
+      sources."@gar/promisify-1.1.2"
+      sources."@npmcli/fs-1.0.0"
       sources."@npmcli/move-file-1.1.2"
       sources."@tootallnate/once-1.1.2"
       sources."abbrev-1.1.1"
@@ -98957,7 +102652,7 @@ in
       sources."are-we-there-yet-1.1.5"
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
-      sources."cacache-15.2.0"
+      sources."cacache-15.3.0"
       sources."chownr-2.0.0"
       sources."clean-stack-2.2.0"
       sources."code-point-at-1.1.0"
@@ -98974,7 +102669,7 @@ in
       sources."fs.realpath-1.0.0"
       sources."gauge-2.7.4"
       sources."glob-7.1.7"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."has-unicode-2.0.1"
       sources."http-cache-semantics-4.1.0"
       sources."http-proxy-agent-4.0.1"
@@ -99021,14 +102716,14 @@ in
       sources."semver-7.3.5"
       sources."set-blocking-2.0.0"
       sources."signal-exit-3.0.3"
-      sources."smart-buffer-4.1.0"
+      sources."smart-buffer-4.2.0"
       sources."socks-2.6.1"
       sources."socks-proxy-agent-5.0.1"
       sources."ssri-8.0.1"
       sources."string-width-1.0.2"
       sources."string_decoder-1.1.1"
       sources."strip-ansi-3.0.1"
-      sources."tar-6.1.0"
+      sources."tar-6.1.11"
       sources."unique-filename-1.1.1"
       sources."unique-slug-2.0.2"
       sources."util-deprecate-1.0.2"
@@ -99158,7 +102853,7 @@ in
         ];
       })
       sources."glob-5.0.15"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."har-schema-1.0.5"
       sources."har-validator-4.2.1"
       sources."has-1.0.3"
@@ -99177,7 +102872,7 @@ in
       sources."invert-kv-1.0.0"
       sources."ipaddr.js-1.9.1"
       sources."is-arrayish-0.2.1"
-      sources."is-core-module-2.5.0"
+      sources."is-core-module-2.6.0"
       sources."is-finite-1.1.0"
       sources."is-fullwidth-code-point-1.0.0"
       sources."is-typedarray-1.0.0"
@@ -99205,13 +102900,13 @@ in
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
       sources."ms-2.0.0"
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       sources."negotiator-0.6.2"
       (sources."node-pre-gyp-0.6.39" // {
         dependencies = [
@@ -99286,7 +102981,7 @@ in
       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.9"
+      sources."spdx-license-ids-3.0.10"
       (sources."sshpk-1.16.1" // {
         dependencies = [
           sources."assert-plus-1.0.0"
@@ -99405,7 +103100,7 @@ in
       sources."minizlib-1.3.3"
       sources."mkdirp-0.5.5"
       sources."ms-2.1.3"
-      sources."needle-2.8.0"
+      sources."needle-2.9.0"
       sources."nopt-4.0.3"
       sources."npm-bundled-1.1.2"
       sources."npm-normalize-package-bin-1.0.1"
@@ -99432,7 +103127,11 @@ in
       sources."string_decoder-1.1.1"
       sources."strip-ansi-3.0.1"
       sources."strip-json-comments-2.0.1"
-      sources."tar-4.4.13"
+      (sources."tar-4.4.19" // {
+        dependencies = [
+          sources."safe-buffer-5.2.1"
+        ];
+      })
       sources."util-deprecate-1.0.2"
       sources."wide-align-1.1.3"
       sources."wrappy-1.0.2"
@@ -99451,17 +103150,17 @@ in
   node-red = nodeEnv.buildNodePackage {
     name = "node-red";
     packageName = "node-red";
-    version = "2.0.1";
+    version = "2.0.5";
     src = fetchurl {
-      url = "https://registry.npmjs.org/node-red/-/node-red-2.0.1.tgz";
-      sha512 = "r+wpPLWySuj/toc1mMkR8++mpFoTm9RZwsqe6guFc/IwEpQdDpmYkT11OGmTqjUqr8WdteOP+MNvdgNgtTzyxQ==";
+      url = "https://registry.npmjs.org/node-red/-/node-red-2.0.5.tgz";
+      sha512 = "S3vhm/EqQwEvHDBw/375j4f5vVT9YknfTEeQjbA/Fa2XAK0WLCC+ENLV+4HzkpSAIi+9hmrF3TpdhjVLksmk1A==";
     };
     dependencies = [
-      sources."@babel/runtime-7.14.8"
+      sources."@babel/runtime-7.15.3"
       sources."@mapbox/node-pre-gyp-1.0.5"
-      sources."@node-red/editor-api-2.0.1"
-      sources."@node-red/editor-client-2.0.1"
-      (sources."@node-red/nodes-2.0.1" // {
+      sources."@node-red/editor-api-2.0.5"
+      sources."@node-red/editor-client-2.0.5"
+      (sources."@node-red/nodes-2.0.5" // {
         dependencies = [
           sources."http-errors-1.7.3"
           sources."iconv-lite-0.6.3"
@@ -99474,15 +103173,15 @@ in
           })
         ];
       })
-      sources."@node-red/registry-2.0.1"
-      sources."@node-red/runtime-2.0.1"
-      sources."@node-red/util-2.0.1"
+      sources."@node-red/registry-2.0.5"
+      sources."@node-red/runtime-2.0.5"
+      sources."@node-red/util-2.0.5"
       sources."@sindresorhus/is-4.0.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.2"
-      sources."@types/node-16.4.0"
+      sources."@types/node-16.7.2"
       sources."@types/responselike-1.0.0"
       sources."abbrev-1.1.1"
       sources."accepts-1.3.7"
@@ -99533,7 +103232,7 @@ in
       sources."boolbase-1.0.0"
       sources."brace-expansion-1.1.11"
       sources."buffer-5.7.1"
-      sources."buffer-from-1.1.1"
+      sources."buffer-from-1.1.2"
       sources."busboy-0.2.14"
       sources."bytes-3.1.0"
       sources."cacheable-lookup-5.0.4"
@@ -99621,7 +103320,7 @@ in
       })
       sources."fast-deep-equal-3.1.3"
       sources."finalhandler-1.1.2"
-      sources."follow-redirects-1.14.1"
+      sources."follow-redirects-1.14.2"
       sources."form-data-4.0.0"
       sources."forwarded-0.2.0"
       sources."fresh-0.5.2"
@@ -99637,7 +103336,7 @@ in
       sources."get-stream-5.2.0"
       sources."glob-7.1.7"
       sources."got-11.8.2"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."has-unicode-2.0.1"
       sources."hash-sum-2.0.0"
       (sources."help-me-3.0.0" // {
@@ -99696,8 +103395,8 @@ in
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
       sources."mime-2.5.2"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
@@ -99771,7 +103470,7 @@ in
       sources."raw-body-2.4.0"
       sources."read-1.0.7"
       sources."readable-stream-1.1.14"
-      sources."regenerator-runtime-0.13.8"
+      sources."regenerator-runtime-0.13.9"
       sources."reinterval-1.1.0"
       sources."require-from-string-2.0.2"
       sources."resolve-alpn-1.2.0"
@@ -99810,7 +103509,7 @@ in
       sources."string-width-1.0.2"
       sources."string_decoder-0.10.31"
       sources."strip-ansi-3.0.1"
-      (sources."tar-6.1.0" // {
+      (sources."tar-6.1.2" // {
         dependencies = [
           sources."mkdirp-1.0.4"
           sources."yallist-4.0.0"
@@ -99818,12 +103517,12 @@ in
       })
       sources."toidentifier-1.0.0"
       sources."tough-cookie-4.0.0"
-      sources."tslib-2.3.0"
+      sources."tslib-2.3.1"
       sources."type-is-1.6.18"
       sources."typedarray-0.0.6"
       sources."uglify-js-3.13.10"
       sources."uid-safe-2.1.5"
-      sources."uid2-0.0.3"
+      sources."uid2-0.0.4"
       sources."universalify-0.1.2"
       sources."unpipe-1.0.0"
       sources."uri-js-4.4.1"
@@ -99872,7 +103571,7 @@ in
       sources."base64-js-1.5.1"
       sources."bcrypt-pbkdf-1.0.2"
       sources."brace-expansion-1.1.11"
-      sources."buffer-from-1.1.1"
+      sources."buffer-from-1.1.2"
       sources."builtins-1.0.3"
       sources."caseless-0.12.0"
       sources."chownr-2.0.0"
@@ -99912,7 +103611,7 @@ in
       sources."gauge-2.7.4"
       sources."getpass-0.1.7"
       sources."glob-7.1.7"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."has-1.0.3"
@@ -99922,7 +103621,7 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-1.3.8"
-      sources."is-core-module-2.5.0"
+      sources."is-core-module-2.6.0"
       sources."is-fullwidth-code-point-1.0.0"
       sources."is-typedarray-1.0.0"
       sources."isarray-1.0.0"
@@ -99934,8 +103633,8 @@ in
       sources."jsonfile-1.0.1"
       sources."jsprim-1.4.1"
       sources."lru-cache-6.0.0"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
       sources."minipass-3.1.3"
@@ -100001,7 +103700,7 @@ in
       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.9"
+      sources."spdx-license-ids-3.0.10"
       sources."sshpk-1.16.1"
       sources."ssri-5.3.0"
       sources."string-width-1.0.2"
@@ -100011,7 +103710,7 @@ in
         ];
       })
       sources."strip-ansi-3.0.1"
-      (sources."tar-6.1.0" // {
+      (sources."tar-6.1.11" // {
         dependencies = [
           sources."mkdirp-1.0.4"
         ];
@@ -100105,7 +103804,7 @@ in
       sources."glob-parent-5.1.2"
       sources."global-dirs-2.1.0"
       sources."got-9.6.0"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."has-flag-3.0.0"
       sources."has-yarn-2.1.0"
       sources."http-cache-semantics-4.1.0"
@@ -100216,7 +103915,7 @@ in
     };
     dependencies = [
       sources."@babel/code-frame-7.14.5"
-      sources."@babel/helper-validator-identifier-7.14.8"
+      sources."@babel/helper-validator-identifier-7.14.9"
       (sources."@babel/highlight-7.14.5" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
@@ -100242,7 +103941,7 @@ in
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/keyv-3.1.2"
       sources."@types/minimist-1.2.2"
-      sources."@types/node-16.4.0"
+      sources."@types/node-16.7.2"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/parse-json-4.0.0"
       sources."@types/responselike-1.0.0"
@@ -100283,7 +103982,7 @@ in
       sources."callsites-3.1.0"
       sources."camelcase-5.3.1"
       sources."camelcase-keys-6.2.2"
-      sources."chalk-4.1.1"
+      sources."chalk-4.1.2"
       sources."chardet-0.7.0"
       sources."ci-info-2.0.0"
       sources."clean-stack-2.2.0"
@@ -100312,7 +104011,7 @@ in
           sources."dot-prop-5.3.0"
         ];
       })
-      sources."cosmiconfig-7.0.0"
+      sources."cosmiconfig-7.0.1"
       sources."cross-spawn-7.0.3"
       sources."crypto-random-string-2.0.0"
       sources."date-fns-1.30.1"
@@ -100338,7 +104037,7 @@ in
       sources."execa-5.1.1"
       sources."external-editor-3.1.0"
       sources."fast-glob-3.2.7"
-      sources."fastq-1.11.1"
+      sources."fastq-1.12.0"
       (sources."figures-3.2.0" // {
         dependencies = [
           sources."escape-string-regexp-1.0.5"
@@ -100360,7 +104059,7 @@ in
           sources."type-fest-0.10.0"
         ];
       })
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."hard-rejection-2.1.0"
       sources."has-1.0.3"
       (sources."has-ansi-2.0.0" // {
@@ -100422,7 +104121,7 @@ in
       })
       sources."is-arrayish-0.2.1"
       sources."is-ci-2.0.0"
-      sources."is-core-module-2.5.0"
+      sources."is-core-module-2.6.0"
       sources."is-docker-2.2.1"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
@@ -100442,7 +104141,7 @@ in
       sources."is-plain-obj-1.1.0"
       sources."is-promise-2.2.2"
       sources."is-scoped-2.1.0"
-      sources."is-stream-2.0.0"
+      sources."is-stream-2.0.1"
       sources."is-typedarray-1.0.0"
       sources."is-unicode-supported-0.1.0"
       sources."is-url-superb-4.0.0"
@@ -100540,7 +104239,7 @@ in
           sources."type-fest-0.4.1"
         ];
       })
-      (sources."normalize-package-data-3.0.2" // {
+      (sources."normalize-package-data-3.0.3" // {
         dependencies = [
           sources."hosted-git-info-4.0.2"
         ];
@@ -100684,7 +104383,7 @@ in
       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.9"
+      sources."spdx-license-ids-3.0.10"
       sources."split-1.0.1"
       sources."string-width-4.2.2"
       sources."strip-ansi-6.0.0"
@@ -100746,10 +104445,10 @@ in
   npm = nodeEnv.buildNodePackage {
     name = "npm";
     packageName = "npm";
-    version = "7.20.0";
+    version = "7.21.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/npm/-/npm-7.20.0.tgz";
-      sha512 = "59Eje4RcXP9EKYPIJvBvQGTyfEvZWaKdOx5+YZ+IJ+fqYhJJH5ng78qcdD8sFPyA1g1MFBR0DYXKfncwbxXpVA==";
+      url = "https://registry.npmjs.org/npm/-/npm-7.21.0.tgz";
+      sha512 = "OYSQykXItCDXYGb9U8o85Snhmbe0k/nwVK6CmUNmgtOcfPevVB5ZXwA44eWOCvM+WdWYQsJAJoA7eCHKImQt8g==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -100770,15 +104469,17 @@ in
       sha512 = "NslIB6Af7GagVrN+bvBkObLyawIZfOnDnl8n9MHE+dFt0aChRYtvR6T2BLJKzOPIepCLmmh0NRR/qha0ExAELQ==";
     };
     dependencies = [
+      sources."@gar/promisify-1.1.2"
       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.0.0"
       sources."@npmcli/git-2.1.0"
       sources."@npmcli/installed-package-contents-1.0.7"
       sources."@npmcli/move-file-1.1.2"
       sources."@npmcli/node-gyp-1.0.2"
       sources."@npmcli/promise-spawn-1.3.2"
-      sources."@npmcli/run-script-1.8.5"
+      sources."@npmcli/run-script-1.8.6"
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
       sources."@tootallnate/once-1.1.2"
@@ -100820,7 +104521,7 @@ in
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
       sources."builtins-1.0.3"
-      sources."cacache-15.2.0"
+      sources."cacache-15.3.0"
       (sources."cacheable-request-6.1.0" // {
         dependencies = [
           sources."get-stream-5.2.0"
@@ -100829,7 +104530,7 @@ in
       })
       sources."camelcase-6.2.0"
       sources."caseless-0.12.0"
-      sources."chalk-4.1.1"
+      sources."chalk-4.1.2"
       sources."chownr-2.0.0"
       sources."ci-info-2.0.0"
       sources."cint-8.2.1"
@@ -100872,7 +104573,7 @@ in
       sources."fast-glob-3.2.7"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-memoize-2.5.2"
-      sources."fastq-1.11.1"
+      sources."fastq-1.12.0"
       sources."figgy-pudding-3.5.2"
       sources."fill-range-7.0.1"
       sources."find-up-5.0.0"
@@ -100894,7 +104595,7 @@ in
       })
       sources."globby-11.0.4"
       sources."got-9.6.0"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."has-flag-4.0.0"
@@ -100966,11 +104667,11 @@ in
           sources."semver-6.3.0"
         ];
       })
-      sources."make-fetch-happen-9.0.4"
+      sources."make-fetch-happen-9.1.0"
       sources."merge2-1.4.1"
       sources."micromatch-4.0.4"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
@@ -101031,7 +104732,7 @@ in
       sources."queue-microtask-1.2.3"
       sources."rc-1.2.8"
       sources."rc-config-loader-4.0.0"
-      sources."read-package-json-fast-2.0.2"
+      sources."read-package-json-fast-2.0.3"
       sources."readable-stream-2.3.7"
       sources."registry-auth-token-4.2.1"
       sources."registry-url-5.1.0"
@@ -101056,9 +104757,9 @@ in
       sources."signal-exit-3.0.3"
       sources."sisteransi-1.0.5"
       sources."slash-3.0.0"
-      sources."smart-buffer-4.1.0"
+      sources."smart-buffer-4.2.0"
       sources."socks-2.6.1"
-      sources."socks-proxy-agent-5.0.1"
+      sources."socks-proxy-agent-6.0.0"
       sources."spawn-please-1.0.0"
       sources."sshpk-1.16.1"
       sources."ssri-8.0.1"
@@ -101067,7 +104768,7 @@ in
       sources."strip-ansi-3.0.1"
       sources."strip-json-comments-2.0.1"
       sources."supports-color-7.2.0"
-      sources."tar-6.1.0"
+      sources."tar-6.1.11"
       sources."to-readable-stream-1.0.0"
       sources."to-regex-range-5.0.1"
       sources."tough-cookie-2.5.0"
@@ -101151,8 +104852,8 @@ in
     dependencies = [
       sources."abbrev-1.1.1"
       sources."ajv-6.12.6"
-      sources."ansi-regex-2.1.1"
-      sources."aproba-1.2.0"
+      sources."ansi-regex-3.0.0"
+      sources."aproba-2.0.0"
       sources."are-we-there-yet-1.1.5"
       sources."argparse-0.1.15"
       sources."asn1-0.2.4"
@@ -101166,8 +104867,8 @@ in
       sources."brace-expansion-1.1.11"
       sources."caseless-0.12.0"
       sources."chownr-0.0.2"
-      sources."code-point-at-1.1.0"
       sources."coffee-script-1.12.7"
+      sources."color-support-1.1.3"
       sources."combined-stream-1.0.8"
       sources."concat-map-0.0.1"
       (sources."config-chain-1.1.13" // {
@@ -101203,7 +104904,7 @@ in
           sources."mkdirp-0.5.5"
         ];
       })
-      sources."gauge-2.7.4"
+      sources."gauge-3.0.1"
       sources."getpass-0.1.7"
       sources."glob-7.1.7"
       sources."graceful-fs-2.0.3"
@@ -101214,7 +104915,7 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-1.1.0"
-      sources."is-fullwidth-code-point-1.0.0"
+      sources."is-fullwidth-code-point-2.0.0"
       sources."is-typedarray-1.0.0"
       sources."isarray-1.0.0"
       sources."isstream-0.1.2"
@@ -101224,8 +104925,8 @@ in
       sources."json-stringify-safe-5.0.1"
       sources."jsonfile-1.0.1"
       sources."jsprim-1.4.1"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
       sources."mkdirp-0.3.5"
@@ -101244,8 +104945,7 @@ in
           sources."semver-2.3.2"
         ];
       })
-      sources."npmlog-4.1.2"
-      sources."number-is-nan-1.0.1"
+      sources."npmlog-5.0.0"
       sources."oauth-sign-0.9.0"
       sources."object-assign-4.1.1"
       sources."once-1.4.0"
@@ -101272,13 +104972,13 @@ in
       sources."signal-exit-3.0.3"
       sources."slide-1.1.6"
       sources."sshpk-1.16.1"
-      sources."string-width-1.0.2"
+      sources."string-width-2.1.1"
       (sources."string_decoder-1.1.1" // {
         dependencies = [
           sources."safe-buffer-5.1.2"
         ];
       })
-      sources."strip-ansi-3.0.1"
+      sources."strip-ansi-4.0.0"
       (sources."tar-0.1.17" // {
         dependencies = [
           sources."inherits-1.0.2"
@@ -101364,27 +105064,27 @@ in
     };
     dependencies = [
       sources."@babel/code-frame-7.14.5"
-      sources."@babel/compat-data-7.14.7"
-      (sources."@babel/core-7.14.8" // {
+      sources."@babel/compat-data-7.15.0"
+      (sources."@babel/core-7.15.0" // {
         dependencies = [
           sources."json5-2.2.0"
           sources."semver-6.3.0"
           sources."source-map-0.5.7"
         ];
       })
-      (sources."@babel/generator-7.14.8" // {
+      (sources."@babel/generator-7.15.0" // {
         dependencies = [
           sources."source-map-0.5.7"
         ];
       })
       sources."@babel/helper-annotate-as-pure-7.14.5"
       sources."@babel/helper-builder-binary-assignment-operator-visitor-7.14.5"
-      (sources."@babel/helper-compilation-targets-7.14.5" // {
+      (sources."@babel/helper-compilation-targets-7.15.0" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      sources."@babel/helper-create-class-features-plugin-7.14.8"
+      sources."@babel/helper-create-class-features-plugin-7.15.0"
       sources."@babel/helper-create-regexp-features-plugin-7.14.5"
       (sources."@babel/helper-define-polyfill-provider-0.2.3" // {
         dependencies = [
@@ -101395,24 +105095,24 @@ in
       sources."@babel/helper-function-name-7.14.5"
       sources."@babel/helper-get-function-arity-7.14.5"
       sources."@babel/helper-hoist-variables-7.14.5"
-      sources."@babel/helper-member-expression-to-functions-7.14.7"
+      sources."@babel/helper-member-expression-to-functions-7.15.0"
       sources."@babel/helper-module-imports-7.14.5"
-      sources."@babel/helper-module-transforms-7.14.8"
+      sources."@babel/helper-module-transforms-7.15.0"
       sources."@babel/helper-optimise-call-expression-7.14.5"
       sources."@babel/helper-plugin-utils-7.14.5"
       sources."@babel/helper-remap-async-to-generator-7.14.5"
-      sources."@babel/helper-replace-supers-7.14.5"
+      sources."@babel/helper-replace-supers-7.15.0"
       sources."@babel/helper-simple-access-7.14.8"
       sources."@babel/helper-skip-transparent-expression-wrappers-7.14.5"
       sources."@babel/helper-split-export-declaration-7.14.5"
-      sources."@babel/helper-validator-identifier-7.14.8"
+      sources."@babel/helper-validator-identifier-7.14.9"
       sources."@babel/helper-validator-option-7.14.5"
       sources."@babel/helper-wrap-function-7.14.5"
-      sources."@babel/helpers-7.14.8"
+      sources."@babel/helpers-7.15.3"
       sources."@babel/highlight-7.14.5"
-      sources."@babel/parser-7.14.8"
+      sources."@babel/parser-7.15.3"
       sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.14.5"
-      sources."@babel/plugin-proposal-async-generator-functions-7.14.7"
+      sources."@babel/plugin-proposal-async-generator-functions-7.14.9"
       sources."@babel/plugin-proposal-class-properties-7.14.5"
       sources."@babel/plugin-proposal-class-static-block-7.14.5"
       sources."@babel/plugin-proposal-dynamic-import-7.14.5"
@@ -101446,8 +105146,8 @@ in
       sources."@babel/plugin-transform-arrow-functions-7.14.5"
       sources."@babel/plugin-transform-async-to-generator-7.14.5"
       sources."@babel/plugin-transform-block-scoped-functions-7.14.5"
-      sources."@babel/plugin-transform-block-scoping-7.14.5"
-      sources."@babel/plugin-transform-classes-7.14.5"
+      sources."@babel/plugin-transform-block-scoping-7.15.3"
+      sources."@babel/plugin-transform-classes-7.14.9"
       sources."@babel/plugin-transform-computed-properties-7.14.5"
       sources."@babel/plugin-transform-destructuring-7.14.7"
       sources."@babel/plugin-transform-dotall-regex-7.14.5"
@@ -101459,15 +105159,15 @@ in
       sources."@babel/plugin-transform-literals-7.14.5"
       sources."@babel/plugin-transform-member-expression-literals-7.14.5"
       sources."@babel/plugin-transform-modules-amd-7.14.5"
-      sources."@babel/plugin-transform-modules-commonjs-7.14.5"
+      sources."@babel/plugin-transform-modules-commonjs-7.15.0"
       sources."@babel/plugin-transform-modules-systemjs-7.14.5"
       sources."@babel/plugin-transform-modules-umd-7.14.5"
-      sources."@babel/plugin-transform-named-capturing-groups-regex-7.14.7"
+      sources."@babel/plugin-transform-named-capturing-groups-regex-7.14.9"
       sources."@babel/plugin-transform-new-target-7.14.5"
       sources."@babel/plugin-transform-object-super-7.14.5"
       sources."@babel/plugin-transform-parameters-7.14.5"
       sources."@babel/plugin-transform-property-literals-7.14.5"
-      sources."@babel/plugin-transform-react-jsx-7.14.5"
+      sources."@babel/plugin-transform-react-jsx-7.14.9"
       sources."@babel/plugin-transform-regenerator-7.14.5"
       sources."@babel/plugin-transform-reserved-words-7.14.5"
       sources."@babel/plugin-transform-shorthand-properties-7.14.5"
@@ -101477,16 +105177,16 @@ in
       sources."@babel/plugin-transform-typeof-symbol-7.14.5"
       sources."@babel/plugin-transform-unicode-escapes-7.14.5"
       sources."@babel/plugin-transform-unicode-regex-7.14.5"
-      (sources."@babel/preset-env-7.14.8" // {
+      (sources."@babel/preset-env-7.15.0" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
       sources."@babel/preset-modules-0.1.4"
-      sources."@babel/runtime-7.14.8"
+      sources."@babel/runtime-7.15.3"
       sources."@babel/template-7.14.5"
-      sources."@babel/traverse-7.14.8"
-      sources."@babel/types-7.14.8"
+      sources."@babel/traverse-7.15.0"
+      sources."@babel/types-7.15.0"
       sources."@iarna/toml-2.2.5"
       sources."@mrmlnc/readdir-enhanced-2.2.1"
       sources."@nodelib/fs.stat-1.1.3"
@@ -101546,7 +105246,7 @@ in
           sources."semver-6.3.0"
         ];
       })
-      sources."babel-plugin-polyfill-corejs3-0.2.3"
+      sources."babel-plugin-polyfill-corejs3-0.2.4"
       sources."babel-plugin-polyfill-regenerator-0.2.2"
       (sources."babel-runtime-6.26.0" // {
         dependencies = [
@@ -101591,14 +105291,14 @@ in
           sources."pako-1.0.11"
         ];
       })
-      sources."browserslist-4.16.6"
+      sources."browserslist-4.16.8"
       (sources."buffer-4.9.2" // {
         dependencies = [
           sources."isarray-1.0.0"
         ];
       })
       sources."buffer-equal-0.0.1"
-      sources."buffer-from-1.1.1"
+      sources."buffer-from-1.1.2"
       sources."buffer-xor-1.0.3"
       sources."builtin-status-codes-3.0.0"
       sources."cache-base-1.0.1"
@@ -101608,7 +105308,7 @@ in
       sources."caller-path-2.0.0"
       sources."callsites-2.0.0"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001246"
+      sources."caniuse-lite-1.0.30001252"
       sources."caseless-0.12.0"
       sources."chalk-2.4.2"
       sources."chokidar-2.1.8"
@@ -101623,7 +105323,7 @@ in
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
       sources."color-string-1.6.0"
-      sources."colorette-1.2.2"
+      sources."colorette-1.3.0"
       sources."combined-stream-1.0.8"
       sources."command-exists-1.2.9"
       sources."commander-2.20.3"
@@ -101635,7 +105335,7 @@ in
       sources."convert-source-map-1.8.0"
       sources."copy-descriptor-0.1.1"
       sources."core-js-2.6.12"
-      (sources."core-js-compat-3.15.2" // {
+      (sources."core-js-compat-3.16.3" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
@@ -101691,7 +105391,7 @@ in
       sources."cssstyle-1.4.0"
       sources."dashdash-1.14.1"
       sources."data-urls-1.1.0"
-      sources."deasync-0.1.21"
+      sources."deasync-0.1.23"
       sources."debug-4.3.2"
       sources."decode-uri-component-0.2.0"
       sources."deep-is-0.1.3"
@@ -101746,7 +105446,7 @@ in
       sources."duplexer2-0.1.4"
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.3.782"
+      sources."electron-to-chromium-1.3.818"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -101756,7 +105456,7 @@ in
       sources."entities-2.2.0"
       sources."envinfo-7.8.1"
       sources."error-ex-1.3.2"
-      (sources."es-abstract-1.18.3" // {
+      (sources."es-abstract-1.18.5" // {
         dependencies = [
           sources."object-inspect-1.11.0"
         ];
@@ -101817,7 +105517,7 @@ in
       })
       sources."glob-to-regexp-0.3.0"
       sources."globals-11.12.0"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."grapheme-breaker-0.3.2"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
@@ -101830,6 +105530,7 @@ in
       sources."has-bigints-1.0.1"
       sources."has-flag-3.0.0"
       sources."has-symbols-1.0.2"
+      sources."has-tostringtag-1.0.0"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
         dependencies = [
@@ -101854,7 +105555,7 @@ in
           sources."posthtml-0.15.2"
           sources."posthtml-parser-0.7.2"
           sources."source-map-0.7.3"
-          sources."terser-5.7.1"
+          sources."terser-5.7.2"
         ];
       })
       (sources."htmlparser2-6.1.0" // {
@@ -101874,6 +105575,7 @@ in
       sources."indexes-of-1.0.1"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
+      sources."internal-slot-1.0.3"
       sources."is-absolute-url-2.1.0"
       (sources."is-accessor-descriptor-1.0.0" // {
         dependencies = [
@@ -101881,19 +105583,19 @@ in
         ];
       })
       sources."is-arrayish-0.2.1"
-      sources."is-bigint-1.0.2"
+      sources."is-bigint-1.0.4"
       sources."is-binary-path-1.0.1"
-      sources."is-boolean-object-1.1.1"
+      sources."is-boolean-object-1.1.2"
       sources."is-buffer-1.1.6"
-      sources."is-callable-1.2.3"
+      sources."is-callable-1.2.4"
       sources."is-color-stop-1.1.0"
-      sources."is-core-module-2.5.0"
+      sources."is-core-module-2.6.0"
       (sources."is-data-descriptor-1.0.0" // {
         dependencies = [
           sources."kind-of-6.0.3"
         ];
       })
-      sources."is-date-object-1.0.4"
+      sources."is-date-object-1.0.5"
       (sources."is-descriptor-1.0.2" // {
         dependencies = [
           sources."kind-of-6.0.3"
@@ -101906,12 +105608,12 @@ in
       sources."is-html-1.1.0"
       sources."is-negative-zero-2.0.1"
       sources."is-number-3.0.0"
-      sources."is-number-object-1.0.5"
+      sources."is-number-object-1.0.6"
       sources."is-obj-2.0.0"
       sources."is-plain-object-2.0.4"
-      sources."is-regex-1.1.3"
+      sources."is-regex-1.1.4"
       sources."is-resolvable-1.1.0"
-      sources."is-string-1.0.6"
+      sources."is-string-1.0.7"
       sources."is-symbol-1.0.4"
       sources."is-typedarray-1.0.0"
       sources."is-url-1.2.4"
@@ -101977,8 +105679,8 @@ in
         ];
       })
       sources."mime-1.6.0"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."mimic-fn-1.2.0"
       sources."minimalistic-assert-1.0.1"
       sources."minimalistic-crypto-utils-1.0.1"
@@ -101991,7 +105693,7 @@ in
       })
       sources."mkdirp-0.5.5"
       sources."ms-2.1.2"
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       (sources."nanomatch-1.2.13" // {
         dependencies = [
           sources."define-property-2.0.2"
@@ -102008,7 +105710,7 @@ in
           sources."punycode-1.4.1"
         ];
       })
-      sources."node-releases-1.1.73"
+      sources."node-releases-1.1.75"
       sources."normalize-path-3.0.0"
       sources."normalize-url-3.3.0"
       sources."nth-check-1.0.2"
@@ -102155,7 +105857,7 @@ in
       sources."readdirp-2.2.1"
       sources."regenerate-1.4.2"
       sources."regenerate-unicode-properties-8.2.0"
-      sources."regenerator-runtime-0.13.8"
+      sources."regenerator-runtime-0.13.9"
       sources."regenerator-transform-0.14.5"
       (sources."regex-not-1.0.2" // {
         dependencies = [
@@ -102211,6 +105913,11 @@ in
       sources."shallow-copy-0.0.1"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
+      (sources."side-channel-1.0.4" // {
+        dependencies = [
+          sources."object-inspect-1.11.0"
+        ];
+      })
       sources."signal-exit-3.0.3"
       (sources."simple-swizzle-0.2.2" // {
         dependencies = [
@@ -102477,12 +106184,13 @@ in
       sources."get-intrinsic-1.1.1"
       sources."getpass-0.1.7"
       sources."glob-7.1.7"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."handlebars-4.7.7"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."has-1.0.3"
       sources."has-symbols-1.0.2"
+      sources."has-tostringtag-1.0.0"
       sources."hat-0.0.3"
       sources."heapdump-0.3.15"
       sources."hot-shots-6.8.7"
@@ -102492,7 +106200,7 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
       sources."ipaddr.js-1.9.1"
-      sources."is-arguments-1.1.0"
+      sources."is-arguments-1.1.1"
       sources."is-fullwidth-code-point-2.0.0"
       sources."is-typedarray-1.0.0"
       sources."isarray-1.0.0"
@@ -102522,8 +106230,8 @@ in
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
@@ -102531,7 +106239,7 @@ in
       sources."ms-2.0.0"
       sources."msgpack5-3.6.1"
       sources."mv-2.1.1"
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       sources."ncp-2.0.0"
       sources."negotiator-git+https://github.com/arlolra/negotiator.git#full-parse-access"
       sources."neo-async-2.6.2"
@@ -102617,7 +106325,7 @@ in
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."type-is-1.6.18"
-      sources."uglify-js-3.13.10"
+      sources."uglify-js-3.14.1"
       sources."unix-dgram-2.0.4"
       sources."unpipe-1.0.0"
       sources."uri-js-4.4.1"
@@ -102628,7 +106336,7 @@ in
       sources."verror-1.10.0"
       sources."which-module-2.0.0"
       sources."wikimedia-langconv-0.1.0"
-      sources."wikipeg-2.0.5"
+      sources."wikipeg-2.0.6"
       sources."wordwrap-1.0.0"
       sources."worker-farm-1.7.0"
       sources."wrap-ansi-5.1.0"
@@ -102678,7 +106386,7 @@ in
       sources."fs-extra-7.0.1"
       sources."fs.realpath-1.0.0"
       sources."glob-7.1.7"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."has-flag-3.0.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
@@ -102729,7 +106437,7 @@ in
       sha512 = "spB+D+GXdM9JcPeWG8bpnWTxfXr/KwyyZ0OjNlpyw62ffxlCsbNhwaSmhXDpDC3wh4HuQejdYc1DlU+zTXL+WA==";
     };
     dependencies = [
-      sources."addr-to-ip-port-1.5.1"
+      sources."addr-to-ip-port-1.5.4"
       sources."airplay-protocol-2.0.2"
       (sources."airplayer-2.0.0" // {
         dependencies = [
@@ -102744,8 +106452,8 @@ in
       sources."array-flatten-2.1.2"
       sources."balanced-match-1.0.2"
       sources."base64-js-0.0.8"
-      sources."bencode-2.0.1"
-      sources."bep53-range-1.1.0"
+      sources."bencode-2.0.2"
+      sources."bep53-range-1.1.1"
       sources."big-integer-1.6.48"
       sources."bitfield-0.1.0"
       (sources."bittorrent-dht-6.4.2" // {
@@ -102770,7 +106478,7 @@ in
       sources."buffer-equal-0.0.1"
       sources."buffer-equals-1.0.4"
       sources."buffer-fill-1.0.0"
-      sources."buffer-from-1.1.1"
+      sources."buffer-from-1.1.2"
       sources."buffer-indexof-1.1.1"
       sources."call-bind-1.0.2"
       sources."camelcase-2.1.1"
@@ -102822,11 +106530,12 @@ in
       sources."get-intrinsic-1.1.1"
       sources."get-stdin-4.0.1"
       sources."glob-7.1.7"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."has-1.0.3"
       sources."has-ansi-2.0.0"
       sources."has-flag-3.0.0"
       sources."has-symbols-1.0.2"
+      sources."has-tostringtag-1.0.0"
       sources."hat-0.0.3"
       sources."hosted-git-info-2.8.9"
       sources."http-headers-3.0.2"
@@ -102852,13 +106561,13 @@ in
       sources."ip-1.1.5"
       sources."ip-set-1.0.2"
       sources."ipaddr.js-2.0.1"
-      sources."is-arguments-1.1.0"
+      sources."is-arguments-1.1.1"
       sources."is-arrayish-0.2.1"
-      sources."is-core-module-2.5.0"
-      sources."is-date-object-1.0.4"
+      sources."is-core-module-2.6.0"
+      sources."is-date-object-1.0.5"
       sources."is-finite-1.1.0"
       sources."is-fullwidth-code-point-1.0.0"
-      sources."is-regex-1.1.3"
+      sources."is-regex-1.1.4"
       sources."is-utf8-0.2.1"
       sources."isarray-1.0.0"
       sources."k-bucket-0.6.0"
@@ -102977,15 +106686,11 @@ in
       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.9"
+      sources."spdx-license-ids-3.0.10"
       sources."speedometer-0.1.4"
       sources."stream-buffers-2.2.0"
       sources."string-width-1.0.2"
-      (sources."string2compact-1.3.0" // {
-        dependencies = [
-          sources."ipaddr.js-1.9.1"
-        ];
-      })
+      sources."string2compact-1.3.2"
       sources."string_decoder-1.1.1"
       sources."strip-ansi-3.0.1"
       sources."strip-bom-2.0.0"
@@ -103040,14 +106745,14 @@ in
   peerflix-server = nodeEnv.buildNodePackage {
     name = "peerflix-server";
     packageName = "peerflix-server";
-    version = "0.5.1";
+    version = "0.6.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/peerflix-server/-/peerflix-server-0.5.1.tgz";
-      sha512 = "sXl2KCt8LCUrL6ezEPD4W5D5b+I0/VVOYlfI0K3GfdVUXkNHcb0q7cogPNjAXmoSMhvb57x2nhZN1xwxgGjzuw==";
+      url = "https://registry.npmjs.org/peerflix-server/-/peerflix-server-0.6.0.tgz";
+      sha512 = "NGLR8G6SP7WriloFrS5JDU8Rx1Ia1OlbJOpqGeAzMKxhrajnAdPza8VeXozMUk0oBCS8hr+cuLQ7stprgzISXg==";
     };
     dependencies = [
       sources."accepts-1.3.7"
-      sources."addr-to-ip-port-1.5.1"
+      sources."addr-to-ip-port-1.5.4"
       sources."after-0.8.2"
       sources."ajv-6.12.6"
       sources."archiver-3.1.1"
@@ -103094,7 +106799,7 @@ in
       sources."buffer-equal-0.0.1"
       sources."buffer-equals-1.0.4"
       sources."buffer-fill-1.0.0"
-      sources."buffer-from-1.1.1"
+      sources."buffer-from-1.1.2"
       sources."bytes-3.1.0"
       sources."caseless-0.12.0"
       sources."chrome-dgram-3.0.6"
@@ -103168,7 +106873,7 @@ in
       sources."get-browser-rtc-1.1.0"
       sources."getpass-0.1.7"
       sources."glob-7.1.7"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       (sources."has-binary2-1.0.3" // {
@@ -103210,7 +106915,7 @@ in
       })
       (sources."k-rpc-socket-1.11.1" // {
         dependencies = [
-          sources."bencode-2.0.1"
+          sources."bencode-2.0.2"
         ];
       })
       (sources."lazystream-1.0.0" // {
@@ -103230,8 +106935,8 @@ in
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
@@ -103353,7 +107058,11 @@ in
       sources."speedometer-0.1.4"
       sources."sshpk-1.16.1"
       sources."statuses-1.5.0"
-      sources."string2compact-1.3.0"
+      (sources."string2compact-1.3.2" // {
+        dependencies = [
+          sources."ipaddr.js-2.0.1"
+        ];
+      })
       sources."string_decoder-1.1.1"
       sources."tar-stream-2.2.0"
       sources."thirty-two-0.0.2"
@@ -103405,13 +107114,13 @@ in
   pkg = nodeEnv.buildNodePackage {
     name = "pkg";
     packageName = "pkg";
-    version = "5.3.0";
+    version = "5.3.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/pkg/-/pkg-5.3.0.tgz";
-      sha512 = "/DGG+QcSPraMAIxaoGCNqb2A6Xkm2jBQMsj2mjb4ag236ByTY9Xhpikvj5ixwlSQV0euuJw4fphKCd5YHRPS8w==";
+      url = "https://registry.npmjs.org/pkg/-/pkg-5.3.1.tgz";
+      sha512 = "jT/sptM1ZG++FNk+jnJYNoWLDQXYd7hqpnBhd5j18SNW1jJzNYo55RahuCiD0KN0PX9mb53GWCqKM0ia/mJytA==";
     };
     dependencies = [
-      sources."@babel/helper-validator-identifier-7.14.8"
+      sources."@babel/helper-validator-identifier-7.14.9"
       sources."@babel/parser-7.13.13"
       sources."@babel/types-7.13.12"
       sources."@nodelib/fs.scandir-2.1.5"
@@ -103432,7 +107141,7 @@ in
       })
       sources."braces-3.0.2"
       sources."buffer-5.7.1"
-      sources."chalk-4.1.1"
+      sources."chalk-4.1.2"
       sources."chownr-1.1.4"
       sources."cliui-7.0.4"
       sources."code-point-at-1.1.0"
@@ -103457,7 +107166,7 @@ in
       sources."expand-template-2.0.3"
       sources."fast-glob-3.2.7"
       sources."fast-levenshtein-2.0.6"
-      sources."fastq-1.11.1"
+      sources."fastq-1.12.0"
       sources."fill-range-7.0.1"
       sources."from2-2.3.0"
       sources."fs-constants-1.0.0"
@@ -103475,7 +107184,7 @@ in
       sources."github-from-package-0.0.0"
       sources."glob-parent-5.1.2"
       sources."globby-11.0.4"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."has-1.0.3"
       sources."has-flag-4.0.0"
       sources."has-unicode-2.0.1"
@@ -103485,7 +107194,7 @@ in
       sources."inherits-2.0.4"
       sources."ini-1.3.8"
       sources."into-stream-6.0.0"
-      sources."is-core-module-2.5.0"
+      sources."is-core-module-2.6.0"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-glob-4.0.1"
@@ -103523,7 +107232,7 @@ in
       sources."path-parse-1.0.7"
       sources."path-type-4.0.0"
       sources."picomatch-2.3.0"
-      sources."pkg-fetch-3.1.1"
+      sources."pkg-fetch-3.2.2"
       sources."prebuild-install-6.0.1"
       sources."prelude-ls-1.1.2"
       sources."process-nextick-args-2.0.1"
@@ -103593,10 +107302,10 @@ in
   pm2 = nodeEnv.buildNodePackage {
     name = "pm2";
     packageName = "pm2";
-    version = "5.1.0";
+    version = "5.1.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/pm2/-/pm2-5.1.0.tgz";
-      sha512 = "reJ35NOxM4+g7H0enW47HJsp32CszKkseCojAuUMUkffyXsGDKBMnDqhxAZMZKtHUUjl0cWFEqKehqB0ODH8Kw==";
+      url = "https://registry.npmjs.org/pm2/-/pm2-5.1.1.tgz";
+      sha512 = "2Agpn2IVXOKu8kP+qaxKOvMLNtbZ6lY4bzKcEW2d2tw7O0lpNO7QvDayY4af+8U1+WCn90UjPK4q2wPFVHt/sA==";
     };
     dependencies = [
       (sources."@opencensus/core-0.0.9" // {
@@ -103637,9 +107346,13 @@ in
       sources."ansi-colors-4.1.1"
       sources."ansi-styles-4.3.0"
       sources."anymatch-3.1.2"
-      sources."argparse-1.0.10"
+      (sources."argparse-1.0.10" // {
+        dependencies = [
+          sources."sprintf-js-1.0.3"
+        ];
+      })
       sources."ast-types-0.13.4"
-      sources."async-3.2.0"
+      sources."async-3.2.1"
       (sources."async-listener-0.6.10" // {
         dependencies = [
           sources."semver-5.7.1"
@@ -103650,10 +107363,9 @@ in
       sources."binary-extensions-2.2.0"
       sources."blessed-0.1.81"
       sources."bodec-0.1.0"
-      sources."boolean-3.1.2"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
-      sources."buffer-from-1.1.1"
+      sources."buffer-from-1.1.2"
       sources."bytes-3.1.0"
       sources."chalk-3.0.0"
       sources."charm-0.1.2"
@@ -103681,13 +107393,12 @@ in
       sources."estraverse-4.3.0"
       sources."esutils-2.0.3"
       sources."eventemitter2-5.0.1"
-      sources."fast-json-patch-3.0.0-1"
+      sources."fast-json-patch-3.1.0"
       sources."fast-levenshtein-2.0.6"
-      sources."fast-printf-1.6.6"
       sources."fclone-1.0.11"
       sources."file-uri-to-path-2.0.0"
       sources."fill-range-7.0.1"
-      sources."follow-redirects-1.14.1"
+      sources."follow-redirects-1.14.2"
       sources."fs-extra-8.1.0"
       sources."fs.realpath-1.0.0"
       sources."fsevents-2.3.2"
@@ -103698,7 +107409,7 @@ in
       sources."git-sha1-0.1.2"
       sources."glob-7.1.7"
       sources."glob-parent-5.1.2"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."has-1.0.3"
       sources."has-flag-4.0.0"
       sources."http-errors-1.7.3"
@@ -103710,7 +107421,7 @@ in
       sources."ini-1.3.8"
       sources."ip-1.1.5"
       sources."is-binary-path-2.1.0"
-      sources."is-core-module-2.5.0"
+      sources."is-core-module-2.6.0"
       sources."is-extglob-2.1.1"
       sources."is-glob-4.0.1"
       sources."is-number-7.0.0"
@@ -103779,19 +107490,19 @@ in
       sources."setprototypeof-1.1.1"
       sources."shimmer-1.2.1"
       sources."signal-exit-3.0.3"
-      sources."smart-buffer-4.1.0"
+      sources."smart-buffer-4.2.0"
       sources."socks-2.6.1"
       sources."socks-proxy-agent-5.0.1"
       sources."source-map-0.6.1"
       sources."source-map-support-0.5.19"
-      sources."sprintf-js-1.0.3"
+      sources."sprintf-js-1.1.2"
       sources."statuses-1.5.0"
       sources."string_decoder-0.10.31"
       sources."supports-color-7.2.0"
-      sources."systeminformation-5.7.8"
+      sources."systeminformation-5.8.6"
       sources."to-regex-range-5.0.1"
       sources."toidentifier-1.0.0"
-      sources."tslib-2.3.0"
+      sources."tslib-2.3.1"
       sources."tv4-1.3.0"
       sources."tx2-1.0.4"
       sources."type-check-0.3.2"
@@ -103823,10 +107534,10 @@ in
   pnpm = nodeEnv.buildNodePackage {
     name = "pnpm";
     packageName = "pnpm";
-    version = "6.10.3";
+    version = "6.14.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/pnpm/-/pnpm-6.10.3.tgz";
-      sha512 = "GdxerBN3hhe9x9W0mAMmiWoDELy7KekrmHbYdo7WeHC1MthP/gI7MGVYIgcKj9Vy4zWLO9v1hVYOgKUrewkDVg==";
+      url = "https://registry.npmjs.org/pnpm/-/pnpm-6.14.3.tgz";
+      sha512 = "9fU65+uSa2kB5+/b2crLT3lLcauExf9v6vPkDa4javQVnrz3/HDa6TLEshgo5BXXks3wThq+eCrDlVvD7AUwOQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -103850,7 +107561,7 @@ in
       sources."commander-2.11.0"
       sources."file-or-stdin-1.0.2"
       sources."get-stdin-5.0.1"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."inspect-with-kind-1.0.5"
       sources."kind-of-6.0.3"
       sources."poor-mans-t-sql-formatter-1.6.10"
@@ -103875,8 +107586,8 @@ in
       sha512 = "wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A==";
     };
     dependencies = [
-      sources."colorette-1.2.2"
-      sources."nanoid-3.1.23"
+      sources."colorette-1.3.0"
+      sources."nanoid-3.1.25"
       sources."source-map-js-0.6.2"
     ];
     buildInputs = globalBuildInputs;
@@ -103908,18 +107619,18 @@ in
       sources."at-least-node-1.0.0"
       sources."binary-extensions-2.2.0"
       sources."braces-3.0.2"
-      sources."chalk-4.1.1"
+      sources."chalk-4.1.2"
       sources."chokidar-3.5.2"
       sources."cliui-7.0.4"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
-      sources."colorette-1.2.2"
+      sources."colorette-1.3.0"
       sources."dependency-graph-0.9.0"
       sources."dir-glob-3.0.1"
       sources."emoji-regex-8.0.0"
       sources."escalade-3.1.1"
       sources."fast-glob-3.2.7"
-      sources."fastq-1.11.1"
+      sources."fastq-1.12.0"
       sources."fill-range-7.0.1"
       sources."fs-extra-9.1.0"
       sources."fsevents-2.3.2"
@@ -103927,7 +107638,7 @@ in
       sources."get-stdin-8.0.0"
       sources."glob-parent-5.1.2"
       sources."globby-11.0.4"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."has-flag-4.0.0"
       sources."ignore-5.1.8"
       sources."import-cwd-3.0.0"
@@ -104039,7 +107750,7 @@ in
       sources."fs.realpath-1.0.0"
       sources."gaze-1.1.3"
       sources."glob-7.1.7"
-      sources."globule-1.3.2"
+      sources."globule-1.3.3"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."isexe-2.0.0"
@@ -104117,7 +107828,7 @@ in
       sources."browserify-zlib-0.2.0"
       sources."buffer-5.2.1"
       sources."buffer-crc32-0.2.13"
-      sources."buffer-from-1.1.1"
+      sources."buffer-from-1.1.2"
       sources."buffer-xor-1.0.3"
       sources."builtin-status-codes-3.0.0"
       sources."cached-path-relative-1.0.2"
@@ -104168,8 +107879,8 @@ in
       sources."gaze-1.1.3"
       sources."get-assigned-identifiers-1.2.0"
       sources."glob-7.1.7"
-      sources."globule-1.3.2"
-      sources."graceful-fs-4.2.6"
+      sources."globule-1.3.3"
+      sources."graceful-fs-4.2.8"
       sources."has-1.0.3"
       (sources."hash-base-3.1.0" // {
         dependencies = [
@@ -104190,7 +107901,7 @@ in
         ];
       })
       sources."is-buffer-1.1.6"
-      sources."is-core-module-2.5.0"
+      sources."is-core-module-2.6.0"
       sources."isarray-1.0.0"
       sources."isexe-2.0.0"
       sources."json-stable-stringify-0.0.1"
@@ -104329,10 +108040,10 @@ in
   purescript-language-server = nodeEnv.buildNodePackage {
     name = "purescript-language-server";
     packageName = "purescript-language-server";
-    version = "0.15.2";
+    version = "0.15.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/purescript-language-server/-/purescript-language-server-0.15.2.tgz";
-      sha512 = "dlxcc6Fv7rcXO3uFVcOgZturcKknB4J00ITJjZCrORTjw5eVbGcSTKrSeSAlNZWaUYu0HQX9NHVKtHDG/6rBNw==";
+      url = "https://registry.npmjs.org/purescript-language-server/-/purescript-language-server-0.15.4.tgz";
+      sha512 = "llUv605I8yvraO98rb5RmmqPdpWBno7IpIlgNlX3Nq3Q4lvB7G0OxGK89JuAoVZ8T/xkTzhjyuzw0sty0DoY3Q==";
     };
     dependencies = [
       sources."isexe-2.0.0"
@@ -104392,13 +108103,113 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
+  pxder = nodeEnv.buildNodePackage {
+    name = "pxder";
+    packageName = "pxder";
+    version = "2.12.5";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/pxder/-/pxder-2.12.5.tgz";
+      sha512 = "ttaD66WscLYQ4qIc/UbOvYvDfKYqbAzIzwFoFYyzLqQ0BhhZsVaIJhgl9oBo5NzMV4Cqu7dhxJP9noxqS9eqgw==";
+    };
+    dependencies = [
+      sources."@sindresorhus/is-0.14.0"
+      sources."@szmarczak/http-timer-1.1.2"
+      sources."agent-base-6.0.2"
+      sources."appdata-path-1.0.0"
+      sources."at-least-node-1.0.0"
+      sources."axios-0.21.1"
+      sources."blueimp-md5-2.18.0"
+      (sources."cacheable-request-6.1.0" // {
+        dependencies = [
+          sources."get-stream-5.2.0"
+          sources."lowercase-keys-2.0.0"
+        ];
+      })
+      sources."call-bind-1.0.2"
+      sources."clone-response-1.0.2"
+      sources."colors-1.4.0"
+      sources."commander-5.1.0"
+      sources."compare-versions-3.6.0"
+      sources."debug-4.3.2"
+      sources."decompress-response-3.3.0"
+      sources."deep-extend-0.6.0"
+      sources."defer-to-connect-1.1.3"
+      sources."duplexer3-0.1.4"
+      sources."end-of-stream-1.4.4"
+      sources."follow-redirects-1.14.2"
+      sources."fs-extra-9.1.0"
+      sources."function-bind-1.1.1"
+      sources."get-intrinsic-1.1.1"
+      sources."get-stream-4.1.0"
+      sources."got-9.6.0"
+      sources."graceful-fs-4.2.8"
+      sources."has-1.0.3"
+      sources."has-symbols-1.0.2"
+      sources."http-cache-semantics-4.1.0"
+      sources."https-proxy-agent-5.0.0"
+      sources."ini-1.3.8"
+      sources."ip-1.1.5"
+      sources."is-docker-2.2.1"
+      sources."is-wsl-2.2.0"
+      sources."js-base64-3.6.1"
+      sources."json-buffer-3.0.0"
+      sources."jsonfile-6.1.0"
+      sources."keyv-3.1.0"
+      sources."kleur-3.0.3"
+      sources."latest-version-5.1.0"
+      sources."lodash.flatmap-4.5.0"
+      sources."lowercase-keys-1.0.1"
+      sources."mimic-response-1.0.1"
+      sources."minimist-1.2.5"
+      sources."moment-2.29.1"
+      sources."ms-2.1.2"
+      sources."normalize-url-4.5.1"
+      sources."object-inspect-1.11.0"
+      sources."once-1.4.0"
+      sources."open-7.4.2"
+      sources."p-cancelable-1.1.0"
+      sources."package-json-6.5.0"
+      sources."pixiv-api-client-0.25.0"
+      sources."prepend-http-2.0.0"
+      sources."prompts-2.4.1"
+      sources."pump-3.0.0"
+      sources."qs-6.10.1"
+      sources."rc-1.2.8"
+      sources."readline-sync-1.4.10"
+      sources."register-protocol-win32-1.1.0"
+      sources."registry-auth-token-4.2.1"
+      sources."registry-url-5.1.0"
+      sources."responselike-1.0.2"
+      sources."semver-6.3.0"
+      sources."side-channel-1.0.4"
+      sources."sisteransi-1.0.5"
+      sources."smart-buffer-4.2.0"
+      sources."socks-2.6.1"
+      sources."socks-proxy-agent-5.0.1"
+      sources."strip-json-comments-2.0.1"
+      sources."to-readable-stream-1.0.0"
+      sources."universalify-2.0.0"
+      sources."url-parse-lax-3.0.0"
+      sources."winreg-1.2.4"
+      sources."wrappy-1.0.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Download illusts from pixiv.net P站插画批量下载器";
+      homepage = "https://github.com/Tsuk1ko/pxder#readme";
+      license = "GPL-3.0-or-later";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
   pyright = nodeEnv.buildNodePackage {
     name = "pyright";
     packageName = "pyright";
-    version = "1.1.157";
+    version = "1.1.163";
     src = fetchurl {
-      url = "https://registry.npmjs.org/pyright/-/pyright-1.1.157.tgz";
-      sha512 = "slTex47hQKuyoi579Zk7lEhVH+4Dmn+eZ3gP1JGcFBcbcmDwd9ZI1ESww3jY3YoOYdNbYTafxBNuh3RHGkGiMA==";
+      url = "https://registry.npmjs.org/pyright/-/pyright-1.1.163.tgz";
+      sha512 = "CU0WPzr+6ZKIqCqqVrOtxMFWdzdOV18zKmC7dVBzp3snuun8JafnnmUzNJpO8IJLN/bQNSLb3riLtXFM/8Xxbg==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -104430,7 +108241,7 @@ in
       sources."brfs-1.6.1"
       sources."browser-or-node-1.3.0"
       sources."buffer-equal-0.0.1"
-      sources."buffer-from-1.1.1"
+      sources."buffer-from-1.1.2"
       sources."camelcase-5.3.1"
       sources."chalk-2.4.2"
       sources."cliui-4.1.0"
@@ -104478,7 +108289,7 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."invert-kv-2.0.0"
-      sources."is-core-module-2.5.0"
+      sources."is-core-module-2.6.0"
       sources."is-fullwidth-code-point-1.0.0"
       sources."is-stream-1.1.0"
       sources."is-url-1.2.4"
@@ -104657,7 +108468,7 @@ in
       sources."cycle-1.0.3"
       sources."deep-equal-2.0.5"
       sources."define-properties-1.1.3"
-      sources."es-abstract-1.18.3"
+      sources."es-abstract-1.18.5"
       sources."es-get-iterator-1.1.2"
       sources."es-to-primitive-1.2.1"
       sources."escape-string-regexp-1.0.5"
@@ -104671,22 +108482,24 @@ in
       sources."has-ansi-2.0.0"
       sources."has-bigints-1.0.1"
       sources."has-symbols-1.0.2"
+      sources."has-tostringtag-1.0.0"
       sources."i-0.3.6"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."is-arguments-1.1.0"
-      sources."is-bigint-1.0.2"
-      sources."is-boolean-object-1.1.1"
-      sources."is-callable-1.2.3"
-      sources."is-date-object-1.0.4"
+      sources."internal-slot-1.0.3"
+      sources."is-arguments-1.1.1"
+      sources."is-bigint-1.0.4"
+      sources."is-boolean-object-1.1.2"
+      sources."is-callable-1.2.4"
+      sources."is-date-object-1.0.5"
       sources."is-map-2.0.2"
       sources."is-negative-zero-2.0.1"
-      sources."is-number-object-1.0.5"
-      sources."is-regex-1.1.3"
+      sources."is-number-object-1.0.6"
+      sources."is-regex-1.1.4"
       sources."is-set-2.0.2"
-      sources."is-string-1.0.6"
+      sources."is-string-1.0.7"
       sources."is-symbol-1.0.4"
-      sources."is-typed-array-1.1.5"
+      sources."is-typed-array-1.1.7"
       sources."is-weakmap-2.0.1"
       sources."is-weakset-2.0.1"
       sources."isarray-2.0.5"
@@ -104719,7 +108532,7 @@ in
       sources."utile-0.2.1"
       sources."which-boxed-primitive-1.0.2"
       sources."which-collection-1.0.1"
-      sources."which-typed-array-1.1.4"
+      sources."which-typed-array-1.1.6"
       (sources."winston-0.8.3" // {
         dependencies = [
           sources."pkginfo-0.3.1"
@@ -104748,21 +108561,21 @@ in
     dependencies = [
       sources."@babel/cli-7.14.8"
       sources."@babel/code-frame-7.14.5"
-      sources."@babel/compat-data-7.14.7"
-      (sources."@babel/core-7.14.8" // {
+      sources."@babel/compat-data-7.15.0"
+      (sources."@babel/core-7.15.0" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      sources."@babel/generator-7.14.8"
+      sources."@babel/generator-7.15.0"
       sources."@babel/helper-annotate-as-pure-7.14.5"
       sources."@babel/helper-builder-binary-assignment-operator-visitor-7.14.5"
-      (sources."@babel/helper-compilation-targets-7.14.5" // {
+      (sources."@babel/helper-compilation-targets-7.15.0" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      sources."@babel/helper-create-class-features-plugin-7.14.8"
+      sources."@babel/helper-create-class-features-plugin-7.15.0"
       sources."@babel/helper-create-regexp-features-plugin-7.14.5"
       (sources."@babel/helper-define-polyfill-provider-0.2.3" // {
         dependencies = [
@@ -104773,24 +108586,24 @@ in
       sources."@babel/helper-function-name-7.14.5"
       sources."@babel/helper-get-function-arity-7.14.5"
       sources."@babel/helper-hoist-variables-7.14.5"
-      sources."@babel/helper-member-expression-to-functions-7.14.7"
+      sources."@babel/helper-member-expression-to-functions-7.15.0"
       sources."@babel/helper-module-imports-7.14.5"
-      sources."@babel/helper-module-transforms-7.14.8"
+      sources."@babel/helper-module-transforms-7.15.0"
       sources."@babel/helper-optimise-call-expression-7.14.5"
       sources."@babel/helper-plugin-utils-7.14.5"
       sources."@babel/helper-remap-async-to-generator-7.14.5"
-      sources."@babel/helper-replace-supers-7.14.5"
+      sources."@babel/helper-replace-supers-7.15.0"
       sources."@babel/helper-simple-access-7.14.8"
       sources."@babel/helper-skip-transparent-expression-wrappers-7.14.5"
       sources."@babel/helper-split-export-declaration-7.14.5"
-      sources."@babel/helper-validator-identifier-7.14.8"
+      sources."@babel/helper-validator-identifier-7.14.9"
       sources."@babel/helper-validator-option-7.14.5"
       sources."@babel/helper-wrap-function-7.14.5"
-      sources."@babel/helpers-7.14.8"
+      sources."@babel/helpers-7.15.3"
       sources."@babel/highlight-7.14.5"
-      sources."@babel/parser-7.14.8"
+      sources."@babel/parser-7.15.3"
       sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.14.5"
-      sources."@babel/plugin-proposal-async-generator-functions-7.14.7"
+      sources."@babel/plugin-proposal-async-generator-functions-7.14.9"
       sources."@babel/plugin-proposal-class-properties-7.14.5"
       sources."@babel/plugin-proposal-class-static-block-7.14.5"
       sources."@babel/plugin-proposal-dynamic-import-7.14.5"
@@ -104825,8 +108638,8 @@ in
       sources."@babel/plugin-transform-arrow-functions-7.14.5"
       sources."@babel/plugin-transform-async-to-generator-7.14.5"
       sources."@babel/plugin-transform-block-scoped-functions-7.14.5"
-      sources."@babel/plugin-transform-block-scoping-7.14.5"
-      sources."@babel/plugin-transform-classes-7.14.5"
+      sources."@babel/plugin-transform-block-scoping-7.15.3"
+      sources."@babel/plugin-transform-classes-7.14.9"
       sources."@babel/plugin-transform-computed-properties-7.14.5"
       sources."@babel/plugin-transform-destructuring-7.14.7"
       sources."@babel/plugin-transform-dotall-regex-7.14.5"
@@ -104837,21 +108650,21 @@ in
       sources."@babel/plugin-transform-literals-7.14.5"
       sources."@babel/plugin-transform-member-expression-literals-7.14.5"
       sources."@babel/plugin-transform-modules-amd-7.14.5"
-      sources."@babel/plugin-transform-modules-commonjs-7.14.5"
+      sources."@babel/plugin-transform-modules-commonjs-7.15.0"
       sources."@babel/plugin-transform-modules-systemjs-7.14.5"
       sources."@babel/plugin-transform-modules-umd-7.14.5"
-      sources."@babel/plugin-transform-named-capturing-groups-regex-7.14.7"
+      sources."@babel/plugin-transform-named-capturing-groups-regex-7.14.9"
       sources."@babel/plugin-transform-new-target-7.14.5"
       sources."@babel/plugin-transform-object-super-7.14.5"
       sources."@babel/plugin-transform-parameters-7.14.5"
       sources."@babel/plugin-transform-property-literals-7.14.5"
-      sources."@babel/plugin-transform-react-display-name-7.14.5"
-      sources."@babel/plugin-transform-react-jsx-7.14.5"
+      sources."@babel/plugin-transform-react-display-name-7.15.1"
+      sources."@babel/plugin-transform-react-jsx-7.14.9"
       sources."@babel/plugin-transform-react-jsx-development-7.14.5"
       sources."@babel/plugin-transform-react-pure-annotations-7.14.5"
       sources."@babel/plugin-transform-regenerator-7.14.5"
       sources."@babel/plugin-transform-reserved-words-7.14.5"
-      (sources."@babel/plugin-transform-runtime-7.14.5" // {
+      (sources."@babel/plugin-transform-runtime-7.15.0" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
@@ -104863,7 +108676,7 @@ in
       sources."@babel/plugin-transform-typeof-symbol-7.14.5"
       sources."@babel/plugin-transform-unicode-escapes-7.14.5"
       sources."@babel/plugin-transform-unicode-regex-7.14.5"
-      (sources."@babel/preset-env-7.14.8" // {
+      (sources."@babel/preset-env-7.15.0" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
@@ -104871,17 +108684,17 @@ in
       sources."@babel/preset-modules-0.1.4"
       sources."@babel/preset-react-7.14.5"
       sources."@babel/preset-stage-0-7.8.3"
-      sources."@babel/register-7.14.5"
-      sources."@babel/runtime-7.14.8"
+      sources."@babel/register-7.15.3"
+      sources."@babel/runtime-7.15.3"
       sources."@babel/template-7.14.5"
-      sources."@babel/traverse-7.14.8"
-      sources."@babel/types-7.14.8"
+      sources."@babel/traverse-7.15.0"
+      sources."@babel/types-7.15.0"
       sources."@reach/router-1.3.4"
       sources."@sindresorhus/is-0.7.0"
       sources."@types/glob-7.1.4"
-      sources."@types/json-schema-7.0.8"
+      sources."@types/json-schema-7.0.9"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-16.4.0"
+      sources."@types/node-16.7.2"
       sources."@types/parse-json-4.0.0"
       sources."@types/q-1.5.5"
       sources."@webassemblyjs/ast-1.9.0"
@@ -104975,7 +108788,7 @@ in
           sources."semver-6.3.0"
         ];
       })
-      sources."babel-plugin-polyfill-corejs3-0.2.3"
+      sources."babel-plugin-polyfill-corejs3-0.2.4"
       sources."babel-plugin-polyfill-regenerator-0.2.2"
       sources."babel-plugin-transform-react-remove-prop-types-0.4.24"
       sources."babel-plugin-universal-import-4.0.2"
@@ -105035,13 +108848,13 @@ in
         ];
       })
       sources."browserify-zlib-0.1.4"
-      sources."browserslist-4.16.6"
+      sources."browserslist-4.16.8"
       sources."buffer-5.7.1"
       sources."buffer-alloc-1.2.0"
       sources."buffer-alloc-unsafe-1.1.0"
       sources."buffer-crc32-0.2.13"
       sources."buffer-fill-1.0.0"
-      sources."buffer-from-1.1.1"
+      sources."buffer-from-1.1.2"
       sources."buffer-indexof-1.1.1"
       sources."buffer-xor-1.0.3"
       sources."builtin-status-codes-3.0.0"
@@ -105069,7 +108882,7 @@ in
       sources."camel-case-3.0.0"
       sources."camelcase-5.3.1"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001246"
+      sources."caniuse-lite-1.0.30001252"
       sources."case-sensitive-paths-webpack-plugin-2.4.0"
       sources."caw-2.0.1"
       (sources."chalk-2.4.2" // {
@@ -105127,7 +108940,7 @@ in
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
       sources."color-string-1.6.0"
-      sources."colorette-1.2.2"
+      sources."colorette-1.3.0"
       sources."commander-4.1.1"
       sources."commondir-1.0.1"
       sources."component-bind-1.0.0"
@@ -105154,7 +108967,7 @@ in
       sources."copy-concurrently-1.0.5"
       sources."copy-descriptor-0.1.1"
       sources."core-js-2.6.12"
-      (sources."core-js-compat-3.15.2" // {
+      (sources."core-js-compat-3.16.3" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
@@ -105298,7 +109111,7 @@ in
       sources."duplexify-3.7.1"
       sources."ee-first-1.1.1"
       sources."ejs-2.7.4"
-      sources."electron-to-chromium-1.3.782"
+      sources."electron-to-chromium-1.3.818"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -105329,7 +109142,7 @@ in
       sources."entities-2.2.0"
       sources."errno-0.1.8"
       sources."error-ex-1.3.2"
-      sources."es-abstract-1.18.3"
+      sources."es-abstract-1.18.5"
       sources."es-to-primitive-1.2.1"
       sources."escalade-3.1.1"
       sources."escape-html-1.0.3"
@@ -105432,7 +109245,7 @@ in
       sources."find-cache-dir-2.1.0"
       sources."find-up-3.0.0"
       sources."flush-write-stream-1.1.1"
-      sources."follow-redirects-1.14.1"
+      sources."follow-redirects-1.14.2"
       sources."for-in-1.0.2"
       sources."forwarded-0.2.0"
       sources."fragment-cache-0.2.1"
@@ -105466,7 +109279,7 @@ in
           sources."pify-3.0.0"
         ];
       })
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."gud-1.0.0"
       sources."gunzip-maybe-1.4.2"
       sources."gzip-size-5.1.1"
@@ -105483,6 +109296,7 @@ in
       sources."has-symbol-support-x-1.4.2"
       sources."has-symbols-1.0.2"
       sources."has-to-string-tag-x-1.4.1"
+      sources."has-tostringtag-1.0.0"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
         dependencies = [
@@ -105570,7 +109384,7 @@ in
         dependencies = [
           sources."ansi-escapes-4.3.2"
           sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.1"
+          sources."chalk-4.1.2"
           sources."color-convert-2.0.1"
           sources."color-name-1.1.4"
           sources."figures-3.2.0"
@@ -105579,6 +109393,7 @@ in
         ];
       })
       sources."internal-ip-4.3.0"
+      sources."internal-slot-1.0.3"
       sources."intersection-observer-0.7.0"
       sources."into-stream-3.1.0"
       sources."invariant-2.2.4"
@@ -105587,17 +109402,17 @@ in
       sources."ipaddr.js-1.9.1"
       sources."is-absolute-url-2.1.0"
       sources."is-accessor-descriptor-1.0.0"
-      sources."is-arguments-1.1.0"
+      sources."is-arguments-1.1.1"
       sources."is-arrayish-0.2.1"
-      sources."is-bigint-1.0.2"
+      sources."is-bigint-1.0.4"
       sources."is-binary-path-2.1.0"
-      sources."is-boolean-object-1.1.1"
+      sources."is-boolean-object-1.1.2"
       sources."is-buffer-1.1.6"
-      sources."is-callable-1.2.3"
+      sources."is-callable-1.2.4"
       sources."is-color-stop-1.1.0"
-      sources."is-core-module-2.5.0"
+      sources."is-core-module-2.6.0"
       sources."is-data-descriptor-1.0.0"
-      sources."is-date-object-1.0.4"
+      sources."is-date-object-1.0.5"
       sources."is-deflate-1.0.0"
       sources."is-descriptor-1.0.2"
       sources."is-directory-0.3.1"
@@ -105609,7 +109424,7 @@ in
       sources."is-natural-number-4.0.1"
       sources."is-negative-zero-2.0.1"
       sources."is-number-7.0.0"
-      sources."is-number-object-1.0.5"
+      sources."is-number-object-1.0.6"
       sources."is-obj-2.0.0"
       sources."is-object-1.0.2"
       sources."is-path-cwd-2.2.0"
@@ -105617,11 +109432,11 @@ in
       sources."is-path-inside-2.1.0"
       sources."is-plain-obj-1.1.0"
       sources."is-plain-object-2.0.4"
-      sources."is-regex-1.1.3"
+      sources."is-regex-1.1.4"
       sources."is-resolvable-1.1.0"
       sources."is-retry-allowed-1.2.0"
       sources."is-stream-1.1.0"
-      sources."is-string-1.0.6"
+      sources."is-string-1.0.7"
       sources."is-symbol-1.0.4"
       sources."is-windows-1.0.2"
       sources."is-wsl-1.1.0"
@@ -105696,8 +109511,8 @@ in
         ];
       })
       sources."mime-2.5.2"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."mimic-fn-1.2.0"
       sources."mimic-response-1.0.1"
       sources."minimalistic-assert-1.0.1"
@@ -105722,7 +109537,7 @@ in
       sources."multicast-dns-service-types-1.1.0"
       sources."mutation-observer-1.0.3"
       sources."mute-stream-0.0.7"
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       sources."nanomatch-1.2.13"
       sources."negotiator-0.6.2"
       sources."neo-async-2.6.2"
@@ -105738,7 +109553,7 @@ in
         ];
       })
       sources."node-modules-regexp-1.0.0"
-      sources."node-releases-1.1.73"
+      sources."node-releases-1.1.75"
       sources."normalize-path-3.0.0"
       sources."normalize-range-0.1.2"
       (sources."normalize-url-2.0.1" // {
@@ -106011,7 +109826,7 @@ in
       sources."readdirp-3.6.0"
       sources."regenerate-1.4.2"
       sources."regenerate-unicode-properties-8.2.0"
-      sources."regenerator-runtime-0.13.8"
+      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"
@@ -106126,6 +109941,7 @@ in
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."shorthash-0.0.2"
+      sources."side-channel-1.0.4"
       sources."signal-exit-3.0.3"
       (sources."simple-swizzle-0.2.2" // {
         dependencies = [
@@ -106185,7 +110001,7 @@ in
         ];
       })
       sources."sockjs-0.3.21"
-      (sources."sockjs-client-1.5.1" // {
+      (sources."sockjs-client-1.5.2" // {
         dependencies = [
           sources."debug-3.2.7"
         ];
@@ -106356,7 +110172,7 @@ in
         ];
       })
       sources."url-loader-2.3.0"
-      sources."url-parse-1.5.1"
+      sources."url-parse-1.5.3"
       sources."url-parse-lax-3.0.0"
       sources."url-to-options-1.0.1"
       sources."use-3.1.1"
@@ -106512,7 +110328,7 @@ in
       sources."esprima-3.1.3"
       sources."esprima-fb-13001.1001.0-dev-harmony-fb"
       sources."glob-5.0.15"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."iconv-lite-0.4.24"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
@@ -106587,7 +110403,7 @@ in
           sources."webidl-conversions-5.0.0"
         ];
       })
-      sources."dompurify-2.3.0"
+      sources."dompurify-2.3.1"
       sources."emoji-regex-8.0.0"
       sources."escalade-3.1.1"
       sources."escodegen-2.0.0"
@@ -106603,11 +110419,11 @@ in
       sources."iconv-lite-0.4.24"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-potential-custom-element-name-1.0.1"
-      sources."jsdom-16.6.0"
+      sources."jsdom-16.7.0"
       sources."levn-0.3.0"
       sources."lodash-4.17.21"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."ms-2.1.2"
       sources."nwsapi-2.2.0"
       sources."optionator-0.8.3"
@@ -106638,7 +110454,7 @@ in
       sources."xml-name-validator-3.0.0"
       sources."xmlchars-2.2.0"
       sources."y18n-5.0.8"
-      sources."yargs-17.0.1"
+      sources."yargs-17.1.1"
       sources."yargs-parser-20.2.9"
     ];
     buildInputs = globalBuildInputs;
@@ -106654,14 +110470,14 @@ in
   redoc-cli = nodeEnv.buildNodePackage {
     name = "redoc-cli";
     packageName = "redoc-cli";
-    version = "0.12.2";
+    version = "0.12.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/redoc-cli/-/redoc-cli-0.12.2.tgz";
-      sha512 = "GyOCEr1g+U/Js7lgHj+0vH9L2uCwbc0m9CJrlb099qp6jzmxnJQ6sC85BiN9DOwr4/fsQfVhoNpWQSkkpFBo5Q==";
+      url = "https://registry.npmjs.org/redoc-cli/-/redoc-cli-0.12.3.tgz";
+      sha512 = "qTBaEfwVqCvqLbuloZ9sMBQA49WfMOQrLVBGiVyT7pNMAjosQCpMyFESqQL8WqVxDzV2olPCZ1L2rG9cuDGOsA==";
     };
     dependencies = [
       sources."@babel/code-frame-7.14.5"
-      (sources."@babel/generator-7.14.8" // {
+      (sources."@babel/generator-7.15.0" // {
         dependencies = [
           sources."source-map-0.5.7"
         ];
@@ -106672,27 +110488,27 @@ in
       sources."@babel/helper-hoist-variables-7.14.5"
       sources."@babel/helper-module-imports-7.14.5"
       sources."@babel/helper-split-export-declaration-7.14.5"
-      sources."@babel/helper-validator-identifier-7.14.8"
+      sources."@babel/helper-validator-identifier-7.14.9"
       sources."@babel/highlight-7.14.5"
-      sources."@babel/parser-7.14.8"
-      sources."@babel/runtime-7.14.8"
+      sources."@babel/parser-7.15.3"
+      sources."@babel/runtime-7.15.3"
       sources."@babel/template-7.14.5"
-      sources."@babel/traverse-7.14.8"
-      sources."@babel/types-7.14.8"
+      sources."@babel/traverse-7.15.0"
+      sources."@babel/types-7.15.0"
       sources."@emotion/is-prop-valid-0.8.8"
       sources."@emotion/memoize-0.7.4"
       sources."@emotion/stylis-0.8.5"
       sources."@emotion/unitless-0.7.5"
-      sources."@exodus/schemasafe-1.0.0-rc.3"
+      sources."@exodus/schemasafe-1.0.0-rc.4"
       sources."@redocly/ajv-8.6.2"
-      (sources."@redocly/openapi-core-1.0.0-beta.54" // {
+      (sources."@redocly/openapi-core-1.0.0-beta.55" // {
         dependencies = [
-          sources."@types/node-14.17.5"
+          sources."@types/node-14.17.12"
         ];
       })
       sources."@redocly/react-dropdown-aria-2.0.12"
-      sources."@types/json-schema-7.0.8"
-      sources."@types/node-15.14.2"
+      sources."@types/json-schema-7.0.9"
+      sources."@types/node-15.14.9"
       sources."ansi-regex-5.0.0"
       sources."ansi-styles-3.2.1"
       sources."anymatch-3.1.2"
@@ -106744,7 +110560,7 @@ in
       sources."clsx-1.1.1"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."colorette-1.2.2"
+      sources."colorette-1.3.0"
       sources."concat-map-0.0.1"
       sources."console-browserify-1.2.0"
       sources."constants-browserify-1.0.0"
@@ -106768,7 +110584,7 @@ in
         ];
       })
       sources."domain-browser-1.2.0"
-      sources."dompurify-2.3.0"
+      sources."dompurify-2.3.1"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -106806,7 +110622,7 @@ in
       })
       sources."hmac-drbg-1.0.1"
       sources."hoist-non-react-statics-3.3.2"
-      sources."http2-client-1.3.3"
+      sources."http2-client-1.3.5"
       sources."https-browserify-1.0.0"
       sources."ieee754-1.2.1"
       sources."inherits-2.0.1"
@@ -106893,13 +110709,13 @@ in
         ];
       })
       sources."readdirp-3.6.0"
-      (sources."redoc-2.0.0-rc.55" // {
+      (sources."redoc-2.0.0-rc.56" // {
         dependencies = [
           sources."path-browserify-1.0.1"
         ];
       })
       sources."reftools-1.1.9"
-      sources."regenerator-runtime-0.13.8"
+      sources."regenerator-runtime-0.13.9"
       sources."require-directory-2.1.1"
       sources."require-from-string-2.0.2"
       sources."ripemd160-2.0.2"
@@ -106924,7 +110740,7 @@ in
       sources."string-width-4.2.2"
       sources."string_decoder-1.3.0"
       sources."strip-ansi-6.0.0"
-      sources."styled-components-5.3.0"
+      sources."styled-components-5.3.1"
       sources."supports-color-5.5.0"
       sources."swagger2openapi-7.0.8"
       sources."timers-browserify-2.0.12"
@@ -106932,7 +110748,7 @@ in
       sources."to-fast-properties-2.0.0"
       sources."to-regex-range-5.0.1"
       sources."tty-browserify-0.0.0"
-      sources."uglify-js-3.13.10"
+      sources."uglify-js-3.14.1"
       (sources."uri-js-4.4.1" // {
         dependencies = [
           sources."punycode-2.1.1"
@@ -106963,7 +110779,7 @@ in
       sources."y18n-5.0.8"
       sources."yaml-1.10.2"
       sources."yaml-ast-parser-0.0.43"
-      sources."yargs-17.0.1"
+      sources."yargs-17.1.1"
       sources."yargs-parser-20.2.9"
     ];
     buildInputs = globalBuildInputs;
@@ -107014,7 +110830,7 @@ in
       sources."figures-3.2.0"
       sources."find-up-2.1.0"
       sources."function-bind-1.1.1"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."has-1.0.3"
       sources."has-flag-4.0.0"
       sources."hosted-git-info-2.8.9"
@@ -107022,7 +110838,7 @@ in
       sources."ink-2.7.1"
       sources."is-arrayish-0.2.1"
       sources."is-ci-2.0.0"
-      sources."is-core-module-2.5.0"
+      sources."is-core-module-2.6.0"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-plain-obj-1.1.0"
       sources."js-tokens-4.0.0"
@@ -107086,7 +110902,7 @@ in
       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.9"
+      sources."spdx-license-ids-3.0.10"
       (sources."string-length-3.1.0" // {
         dependencies = [
           sources."ansi-regex-4.1.0"
@@ -107168,10 +110984,10 @@ in
   rollup = nodeEnv.buildNodePackage {
     name = "rollup";
     packageName = "rollup";
-    version = "2.53.3";
+    version = "2.56.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/rollup/-/rollup-2.53.3.tgz";
-      sha512 = "79QIGP5DXz5ZHYnCPi3tLz+elOQi6gudp9YINdaJdjG0Yddubo6JRFUM//qCZ0Bap/GJrsUoEBVdSOc4AkMlRA==";
+      url = "https://registry.npmjs.org/rollup/-/rollup-2.56.3.tgz";
+      sha512 = "Au92NuznFklgQCUcV96iXlxUbHuB1vQMaH76DHl5M11TotjOHwqk9CwcrT78+Tnv4FN9uTBxq6p4EJoYkpyekg==";
     };
     dependencies = [
       sources."fsevents-2.3.2"
@@ -107189,11 +111005,11 @@ in
   "rust-analyzer-build-deps-../../misc/vscode-extensions/rust-analyzer/build-deps" = nodeEnv.buildNodePackage {
     name = "rust-analyzer";
     packageName = "rust-analyzer";
-    version = "0.4.0-dev";
+    version = "0.2.727";
     src = ../../misc/vscode-extensions/rust-analyzer/build-deps;
     dependencies = [
       sources."@babel/code-frame-7.12.11"
-      sources."@babel/helper-validator-identifier-7.14.8"
+      sources."@babel/helper-validator-identifier-7.14.9"
       (sources."@babel/highlight-7.14.5" // {
         dependencies = [
           sources."chalk-2.4.2"
@@ -107205,35 +111021,27 @@ in
           sources."ignore-4.0.6"
         ];
       })
+      sources."@hpcc-js/wasm-1.4.1"
       sources."@humanwhocodes/config-array-0.5.0"
       sources."@humanwhocodes/object-schema-1.2.0"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@rollup/plugin-commonjs-17.1.0"
-      sources."@rollup/plugin-node-resolve-11.2.1"
-      (sources."@rollup/pluginutils-3.1.0" // {
-        dependencies = [
-          sources."estree-walker-1.0.1"
-        ];
-      })
       sources."@tootallnate/once-1.1.2"
-      sources."@types/estree-0.0.39"
       sources."@types/glob-7.1.4"
-      sources."@types/json-schema-7.0.8"
+      sources."@types/json-schema-7.0.9"
       sources."@types/minimatch-3.0.5"
       sources."@types/mocha-8.2.3"
-      sources."@types/node-12.12.70"
-      sources."@types/node-fetch-2.5.11"
-      sources."@types/resolve-1.17.1"
-      sources."@types/vscode-1.58.1"
-      sources."@typescript-eslint/eslint-plugin-4.28.4"
-      sources."@typescript-eslint/experimental-utils-4.28.4"
-      sources."@typescript-eslint/parser-4.28.4"
-      sources."@typescript-eslint/scope-manager-4.28.4"
-      sources."@typescript-eslint/types-4.28.4"
-      sources."@typescript-eslint/typescript-estree-4.28.4"
-      sources."@typescript-eslint/visitor-keys-4.28.4"
+      sources."@types/node-14.17.12"
+      sources."@types/node-fetch-2.5.12"
+      sources."@types/vscode-1.59.0"
+      sources."@typescript-eslint/eslint-plugin-4.29.3"
+      sources."@typescript-eslint/experimental-utils-4.29.3"
+      sources."@typescript-eslint/parser-4.29.3"
+      sources."@typescript-eslint/scope-manager-4.29.3"
+      sources."@typescript-eslint/types-4.29.3"
+      sources."@typescript-eslint/typescript-estree-4.29.3"
+      sources."@typescript-eslint/visitor-keys-4.29.3"
       sources."@ungap/promise-all-settled-1.1.2"
       sources."acorn-7.4.1"
       sources."acorn-jsx-5.3.2"
@@ -107247,7 +111055,7 @@ in
       sources."array-union-2.1.0"
       sources."astral-regex-2.0.0"
       sources."asynckit-0.4.0"
-      sources."azure-devops-node-api-10.2.2"
+      sources."azure-devops-node-api-11.0.1"
       sources."balanced-match-1.0.2"
       sources."big-integer-1.6.48"
       sources."binary-0.3.0"
@@ -107260,12 +111068,11 @@ in
       sources."buffer-crc32-0.2.13"
       sources."buffer-indexof-polyfill-1.0.2"
       sources."buffers-0.1.1"
-      sources."builtin-modules-3.2.0"
       sources."call-bind-1.0.2"
       sources."callsites-3.1.0"
       sources."camelcase-6.2.0"
       sources."chainsaw-0.1.0"
-      (sources."chalk-4.1.1" // {
+      (sources."chalk-4.1.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."color-convert-2.0.1"
@@ -107276,23 +111083,68 @@ in
       })
       sources."cheerio-1.0.0-rc.10"
       sources."cheerio-select-1.5.0"
-      sources."chokidar-3.5.1"
+      sources."chokidar-3.5.2"
       sources."cliui-7.0.4"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
       sources."combined-stream-1.0.8"
-      sources."commander-2.20.3"
+      sources."commander-7.2.0"
       sources."commandpost-1.4.0"
-      sources."commondir-1.0.1"
       sources."concat-map-0.0.1"
       sources."core-util-is-1.0.2"
       sources."cross-spawn-7.0.3"
       sources."css-select-4.1.3"
       sources."css-what-5.0.1"
+      sources."d3-7.0.1"
+      sources."d3-array-3.0.2"
+      sources."d3-axis-3.0.0"
+      sources."d3-brush-3.0.0"
+      sources."d3-chord-3.0.1"
+      sources."d3-color-3.0.1"
+      sources."d3-contour-3.0.1"
+      sources."d3-delaunay-6.0.2"
+      sources."d3-dispatch-3.0.1"
+      sources."d3-drag-3.0.0"
+      sources."d3-dsv-3.0.1"
+      sources."d3-ease-3.0.1"
+      sources."d3-fetch-3.0.1"
+      sources."d3-force-3.0.0"
+      sources."d3-format-3.0.1"
+      sources."d3-geo-3.0.1"
+      (sources."d3-graphviz-4.0.0" // {
+        dependencies = [
+          sources."d3-color-2.0.0"
+          sources."d3-dispatch-2.0.0"
+          sources."d3-drag-2.0.0"
+          sources."d3-ease-2.0.0"
+          sources."d3-format-2.0.0"
+          sources."d3-interpolate-2.0.1"
+          sources."d3-path-2.0.0"
+          sources."d3-selection-2.0.0"
+          sources."d3-timer-2.0.0"
+          sources."d3-transition-2.0.0"
+          sources."d3-zoom-2.0.0"
+        ];
+      })
+      sources."d3-hierarchy-3.0.1"
+      sources."d3-interpolate-3.0.1"
+      sources."d3-path-3.0.1"
+      sources."d3-polygon-3.0.1"
+      sources."d3-quadtree-3.0.1"
+      sources."d3-random-3.0.1"
+      sources."d3-scale-4.0.0"
+      sources."d3-scale-chromatic-3.0.0"
+      sources."d3-selection-3.0.0"
+      sources."d3-shape-3.0.1"
+      sources."d3-time-3.0.0"
+      sources."d3-time-format-4.0.0"
+      sources."d3-timer-3.0.1"
+      sources."d3-transition-3.0.1"
+      sources."d3-zoom-3.0.0"
       sources."debug-4.3.2"
       sources."decamelize-4.0.0"
       sources."deep-is-0.1.3"
-      sources."deepmerge-4.2.2"
+      sources."delaunator-5.0.0"
       sources."delayed-stream-1.0.0"
       sources."denodeify-1.2.1"
       sources."diff-5.0.0"
@@ -107305,6 +111157,7 @@ in
       sources."duplexer2-0.1.4"
       (sources."editorconfig-0.15.3" // {
         dependencies = [
+          sources."commander-2.20.3"
           sources."lru-cache-4.1.5"
           sources."semver-5.7.1"
           sources."yallist-2.1.2"
@@ -107315,7 +111168,7 @@ in
       sources."entities-2.2.0"
       sources."escalade-3.1.1"
       sources."escape-string-regexp-4.0.0"
-      (sources."eslint-7.31.0" // {
+      (sources."eslint-7.32.0" // {
         dependencies = [
           (sources."eslint-utils-2.1.0" // {
             dependencies = [
@@ -107345,20 +111198,19 @@ in
         ];
       })
       sources."estraverse-4.3.0"
-      sources."estree-walker-2.0.2"
       sources."esutils-2.0.3"
       sources."fast-deep-equal-3.1.3"
       sources."fast-glob-3.2.7"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
-      sources."fastq-1.11.1"
+      sources."fastq-1.12.0"
       sources."fd-slicer-1.1.0"
       sources."file-entry-cache-6.0.1"
       sources."fill-range-7.0.1"
       sources."find-up-5.0.0"
       sources."flat-5.0.2"
       sources."flat-cache-3.0.4"
-      sources."flatted-3.2.1"
+      sources."flatted-3.2.2"
       sources."form-data-3.0.1"
       sources."fs.realpath-1.0.0"
       sources."fsevents-2.3.2"
@@ -107373,9 +111225,9 @@ in
       sources."get-intrinsic-1.1.1"
       sources."glob-7.1.7"
       sources."glob-parent-5.1.2"
-      sources."globals-13.10.0"
+      sources."globals-13.11.0"
       sources."globby-11.0.4"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."growl-1.10.5"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
@@ -107384,20 +111236,20 @@ in
       sources."htmlparser2-6.1.0"
       sources."http-proxy-agent-4.0.1"
       sources."https-proxy-agent-5.0.0"
+      sources."iconv-lite-0.6.3"
       sources."ignore-5.1.8"
       sources."import-fresh-3.3.0"
       sources."imurmurhash-0.1.4"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
+      sources."internmap-2.0.1"
       sources."is-binary-path-2.1.0"
-      sources."is-core-module-2.5.0"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-glob-4.0.1"
-      sources."is-module-1.0.0"
       sources."is-number-7.0.0"
       sources."is-plain-obj-2.1.0"
-      sources."is-reference-1.2.1"
+      sources."is-unicode-supported-0.1.0"
       sources."isarray-1.0.0"
       sources."isexe-2.0.0"
       sources."js-tokens-4.0.0"
@@ -107413,9 +111265,8 @@ in
       sources."lodash.clonedeep-4.5.0"
       sources."lodash.merge-4.6.2"
       sources."lodash.truncate-4.4.2"
-      sources."log-symbols-4.0.0"
+      sources."log-symbols-4.1.0"
       sources."lru-cache-6.0.0"
-      sources."magic-string-0.25.7"
       (sources."markdown-it-10.0.0" // {
         dependencies = [
           sources."entities-2.0.3"
@@ -107425,12 +111276,12 @@ in
       sources."merge2-1.4.1"
       sources."micromatch-4.0.4"
       sources."mime-1.6.0"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
-      (sources."mocha-8.4.0" // {
+      (sources."mocha-9.1.0" // {
         dependencies = [
           sources."argparse-2.0.1"
           (sources."debug-4.3.1" // {
@@ -107438,16 +111289,15 @@ in
               sources."ms-2.1.2"
             ];
           })
-          sources."glob-7.1.6"
           sources."has-flag-4.0.0"
-          sources."js-yaml-4.0.0"
+          sources."js-yaml-4.1.0"
           sources."ms-2.1.3"
           sources."supports-color-8.1.1"
         ];
       })
       sources."ms-2.1.2"
       sources."mute-stream-0.0.8"
-      sources."nanoid-3.1.20"
+      sources."nanoid-3.1.23"
       sources."natural-compare-1.4.0"
       sources."node-fetch-2.6.1"
       sources."normalize-path-3.0.0"
@@ -107471,7 +111321,6 @@ in
       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-type-4.0.0"
       sources."pend-1.2.0"
       sources."picomatch-2.3.0"
@@ -107489,19 +111338,20 @@ in
           sources."safe-buffer-5.1.2"
         ];
       })
-      sources."readdirp-3.5.0"
+      sources."readdirp-3.6.0"
       sources."regexpp-3.2.0"
       sources."require-directory-2.1.1"
       sources."require-from-string-2.0.2"
-      sources."resolve-1.20.0"
       sources."resolve-from-4.0.0"
       sources."reusify-1.0.4"
       sources."rimraf-3.0.2"
-      sources."rollup-2.53.3"
+      sources."robust-predicates-3.0.1"
       sources."run-parallel-1.2.0"
+      sources."rw-1.3.3"
       sources."safe-buffer-5.2.1"
+      sources."safer-buffer-2.1.2"
       sources."semver-7.3.5"
-      sources."serialize-javascript-5.0.1"
+      sources."serialize-javascript-6.0.0"
       sources."setimmediate-1.0.5"
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
@@ -107515,7 +111365,6 @@ in
           sources."color-name-1.1.4"
         ];
       })
-      sources."sourcemap-codec-1.4.8"
       sources."sprintf-js-1.0.3"
       sources."string-width-4.2.2"
       (sources."string_decoder-1.1.1" // {
@@ -107533,10 +111382,10 @@ in
         ];
       })
       sources."text-table-0.2.0"
-      sources."tmp-0.0.29"
+      sources."tmp-0.2.1"
       sources."to-regex-range-5.0.1"
       sources."traverse-0.3.9"
-      sources."tslib-2.3.0"
+      sources."tslib-2.3.1"
       (sources."tsutils-3.21.0" // {
         dependencies = [
           sources."tslib-1.14.1"
@@ -107545,7 +111394,7 @@ in
       sources."tunnel-0.0.6"
       sources."type-check-0.4.0"
       sources."type-fest-0.20.2"
-      sources."typed-rest-client-1.8.4"
+      sources."typed-rest-client-1.8.5"
       sources."typescript-4.3.5"
       sources."typescript-formatter-7.2.2"
       sources."uc.micro-1.0.6"
@@ -107555,7 +111404,7 @@ in
       sources."url-join-1.1.0"
       sources."util-deprecate-1.0.2"
       sources."v8-compile-cache-2.3.0"
-      (sources."vsce-1.88.0" // {
+      (sources."vsce-1.96.1" // {
         dependencies = [
           sources."chalk-2.4.2"
           sources."commander-6.2.1"
@@ -107578,7 +111427,7 @@ in
         ];
       })
       sources."word-wrap-1.2.3"
-      sources."workerpool-6.1.0"
+      sources."workerpool-6.1.5"
       (sources."wrap-ansi-7.0.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -107648,7 +111497,7 @@ in
           sources."commander-1.3.2"
         ];
       })
-      sources."follow-redirects-1.14.1"
+      sources."follow-redirects-1.14.2"
       sources."formidable-1.0.11"
       sources."fresh-0.2.0"
       sources."function-bind-1.1.1"
@@ -107702,10 +111551,10 @@ in
   sass = nodeEnv.buildNodePackage {
     name = "sass";
     packageName = "sass";
-    version = "1.35.2";
+    version = "1.38.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/sass/-/sass-1.35.2.tgz";
-      sha512 = "jhO5KAR+AMxCEwIH3v+4zbB2WB0z67V1X0jbapfVwQQdjHZUGUyukpnoM6+iCMfsIUC016w9OPKQ5jrNOS9uXw==";
+      url = "https://registry.npmjs.org/sass/-/sass-1.38.1.tgz";
+      sha512 = "Lj8nPaSYOuRhgqdyShV50fY5jKnvaRmikUNalMPmbH+tKMGgEKVkltI/lP30PEfO2T1t6R9yc2QIBLgOc3uaFw==";
     };
     dependencies = [
       sources."anymatch-3.1.2"
@@ -107816,8 +111665,8 @@ in
       sources."isexe-2.0.0"
       sources."json-schema-traverse-0.4.1"
       sources."lru-cache-4.1.5"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
       sources."ms-2.0.0"
@@ -107875,10 +111724,10 @@ in
   serverless = nodeEnv.buildNodePackage {
     name = "serverless";
     packageName = "serverless";
-    version = "2.52.0";
+    version = "2.56.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/serverless/-/serverless-2.52.0.tgz";
-      sha512 = "MoEA+YLQsfknLuc2d/uV8vTehnAsAJqOXCyQLOZn3/QQ+rdwUFzasbg0m+zZdNMespfcHDTTht+CUgS2/svUJw==";
+      url = "https://registry.npmjs.org/serverless/-/serverless-2.56.0.tgz";
+      sha512 = "/nmD1aLe+rXZpTmnxzHogCt5qGGBrE+wce7LcLV1yNne+aymyCcL8vcLj2Ib2ukTXweWpr8MxAgdXVtbwY4EGA==";
     };
     dependencies = [
       sources."2-thenable-1.0.0"
@@ -107911,7 +111760,7 @@ in
         ];
       })
       sources."@serverless/component-metrics-1.0.8"
-      (sources."@serverless/components-3.14.0" // {
+      (sources."@serverless/components-3.16.0" // {
         dependencies = [
           (sources."@serverless/utils-4.1.0" // {
             dependencies = [
@@ -107926,7 +111775,6 @@ in
               sources."argparse-1.0.10"
             ];
           })
-          sources."jwt-decode-3.1.2"
           sources."ramda-0.27.1"
           sources."strip-ansi-6.0.0"
           sources."write-file-atomic-3.0.3"
@@ -107939,25 +111787,24 @@ in
           sources."semver-6.3.0"
         ];
       })
-      sources."@serverless/dashboard-plugin-5.4.3"
+      sources."@serverless/dashboard-plugin-5.4.4"
       sources."@serverless/event-mocks-1.1.1"
-      (sources."@serverless/platform-client-4.2.5" // {
+      (sources."@serverless/platform-client-4.3.0" // {
         dependencies = [
-          sources."adm-zip-0.4.16"
           sources."js-yaml-3.14.1"
+          sources."jwt-decode-2.2.0"
         ];
       })
-      (sources."@serverless/platform-client-china-2.2.0" // {
+      (sources."@serverless/platform-client-china-2.2.3" // {
         dependencies = [
           sources."dotenv-8.6.0"
           sources."js-yaml-3.14.1"
         ];
       })
       sources."@serverless/template-1.1.4"
-      (sources."@serverless/utils-5.6.0" // {
+      (sources."@serverless/utils-5.7.0" // {
         dependencies = [
           sources."get-stream-6.0.1"
-          sources."jwt-decode-3.1.2"
           sources."write-file-atomic-3.0.3"
         ];
       })
@@ -107965,15 +111812,15 @@ in
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
       sources."@tencent-sdk/capi-1.1.8"
-      sources."@tokenizer/token-0.1.1"
+      sources."@tokenizer/token-0.3.0"
       sources."@types/cacheable-request-6.0.2"
       sources."@types/caseless-0.12.2"
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/keyv-3.1.2"
-      sources."@types/lodash-4.14.171"
+      sources."@types/lodash-4.14.172"
       sources."@types/long-4.0.1"
-      sources."@types/node-16.4.0"
-      sources."@types/request-2.48.6"
+      sources."@types/node-16.7.2"
+      sources."@types/request-2.48.7"
       sources."@types/request-promise-native-1.0.18"
       sources."@types/responselike-1.0.0"
       sources."@types/tough-cookie-4.0.1"
@@ -108006,7 +111853,7 @@ in
       })
       (sources."archiver-5.3.0" // {
         dependencies = [
-          sources."async-3.2.0"
+          sources."async-3.2.1"
           sources."bl-4.1.0"
           sources."tar-stream-2.2.0"
         ];
@@ -108033,7 +111880,7 @@ in
       sources."async-2.6.3"
       sources."asynckit-0.4.0"
       sources."at-least-node-1.0.0"
-      (sources."aws-sdk-2.951.0" // {
+      (sources."aws-sdk-2.977.0" // {
         dependencies = [
           sources."buffer-4.9.2"
           sources."ieee754-1.1.13"
@@ -108102,7 +111949,7 @@ in
           sources."traverse-0.3.9"
         ];
       })
-      (sources."chalk-4.1.1" // {
+      (sources."chalk-4.1.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."color-convert-2.0.1"
@@ -108206,7 +112053,7 @@ in
       sources."deferred-0.7.11"
       sources."delayed-stream-1.0.0"
       sources."delegates-1.0.0"
-      sources."denque-1.5.0"
+      sources."denque-1.5.1"
       sources."detect-libc-1.0.3"
       sources."diagnostics-1.1.1"
       sources."dijkstrajs-1.0.2"
@@ -108247,7 +112094,7 @@ in
       sources."events-1.1.1"
       sources."exit-on-epipe-1.0.1"
       sources."expand-template-2.0.3"
-      sources."ext-1.4.0"
+      sources."ext-1.5.0"
       sources."ext-list-2.2.2"
       sources."ext-name-5.0.0"
       sources."extend-3.0.2"
@@ -108258,11 +112105,11 @@ in
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-safe-stringify-2.0.8"
       sources."fastest-levenshtein-1.0.12"
-      sources."fastq-1.11.1"
+      sources."fastq-1.12.0"
       sources."fd-slicer-1.1.0"
       sources."fecha-4.2.1"
       sources."figures-3.2.0"
-      sources."file-type-16.5.2"
+      sources."file-type-16.5.3"
       sources."file-uri-to-path-1.0.0"
       sources."filename-reserved-regex-2.0.0"
       sources."filenamify-4.3.0"
@@ -108270,7 +112117,7 @@ in
       sources."fill-range-7.0.1"
       sources."find-requires-1.0.0"
       sources."flat-5.0.2"
-      sources."follow-redirects-1.14.1"
+      sources."follow-redirects-1.14.2"
       sources."forever-agent-0.6.1"
       sources."form-data-2.5.1"
       sources."formidable-1.2.2"
@@ -108315,7 +112162,7 @@ in
           sources."responselike-2.0.0"
         ];
       })
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."graphlib-2.1.8"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
@@ -108391,14 +112238,14 @@ in
       sources."json-stringify-safe-5.0.1"
       sources."jsonfile-4.0.0"
       sources."jsprim-1.4.1"
-      (sources."jszip-3.6.0" // {
+      (sources."jszip-3.7.1" // {
         dependencies = [
           sources."readable-stream-2.3.7"
           sources."safe-buffer-5.1.2"
           sources."string_decoder-1.1.1"
         ];
       })
-      sources."jwt-decode-2.2.0"
+      sources."jwt-decode-3.1.2"
       (sources."kafka-node-5.0.0" // {
         dependencies = [
           sources."uuid-3.4.0"
@@ -108449,8 +112296,8 @@ in
       sources."methods-1.1.2"
       sources."micromatch-4.0.4"
       sources."mime-1.6.0"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."mimic-fn-2.1.0"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.0.4"
@@ -108460,7 +112307,7 @@ in
       sources."mkdirp-0.5.5"
       sources."ms-2.0.0"
       sources."mute-stream-0.0.8"
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       sources."nanoid-2.1.11"
       sources."napi-build-utils-1.0.2"
       sources."native-promise-only-0.8.1"
@@ -108508,7 +112355,7 @@ in
       sources."path-loader-1.0.10"
       sources."path-type-4.0.0"
       sources."path2-0.1.0"
-      sources."peek-readable-3.1.4"
+      sources."peek-readable-4.0.1"
       sources."pend-1.2.0"
       sources."performance-now-2.1.0"
       sources."picomatch-2.3.0"
@@ -108578,7 +112425,7 @@ in
       sources."signal-exit-3.0.3"
       sources."simple-concat-1.0.1"
       sources."simple-get-2.8.1"
-      (sources."simple-git-2.41.1" // {
+      (sources."simple-git-2.44.0" // {
         dependencies = [
           sources."debug-4.3.2"
           sources."ms-2.1.2"
@@ -108619,7 +112466,7 @@ in
       sources."strip-dirs-2.1.0"
       sources."strip-json-comments-2.0.1"
       sources."strip-outer-1.0.1"
-      sources."strtok3-6.1.3"
+      sources."strtok3-6.2.4"
       (sources."superagent-3.8.3" // {
         dependencies = [
           sources."debug-3.2.7"
@@ -108651,7 +112498,7 @@ in
           sources."untildify-3.0.3"
         ];
       })
-      (sources."tar-6.1.0" // {
+      (sources."tar-6.1.11" // {
         dependencies = [
           sources."chownr-2.0.0"
           sources."mkdirp-1.0.4"
@@ -108680,7 +112527,7 @@ in
       sources."to-buffer-1.1.1"
       sources."to-readable-stream-1.0.0"
       sources."to-regex-range-5.0.1"
-      sources."token-types-3.1.0"
+      sources."token-types-4.1.1"
       sources."tough-cookie-2.5.0"
       sources."traverse-0.6.6"
       sources."trim-repeated-1.0.0"
@@ -108886,8 +112733,8 @@ in
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
       sources."moment-2.7.0"
@@ -109084,7 +112931,7 @@ in
       sources."for-in-1.0.2"
       sources."fragment-cache-0.2.1"
       sources."get-value-2.0.6"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."graceful-readlink-1.0.1"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
@@ -109291,7 +113138,7 @@ in
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
       sources."mv-2.1.1"
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       sources."ncp-2.0.0"
       sources."negotiator-0.5.3"
       sources."node-uuid-1.4.8"
@@ -109388,745 +113235,11 @@ in
   snyk = nodeEnv.buildNodePackage {
     name = "snyk";
     packageName = "snyk";
-    version = "1.664.0";
+    version = "1.692.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/snyk/-/snyk-1.664.0.tgz";
-      sha512 = "4YPqDdPPZsn3BBN82UiN6+Jy4zdKbBvw4MKClvh2QQgUJy6R9nEm/Q8IbdsM0jOqPByDRWVMwsCPQu3ZpqG3KA==";
+      url = "https://registry.npmjs.org/snyk/-/snyk-1.692.0.tgz";
+      sha512 = "N/hfiyccrQRwiU1fFzG1uxKU0ODRTi7UtcZJhtRidE/DT3Vs35pWU/y4vVfXP/OegtihAwGjEirxNeL8o632mQ==";
     };
-    dependencies = [
-      sources."@arcanis/slice-ansi-1.0.2"
-      sources."@deepcode/dcignore-1.0.2"
-      sources."@nodelib/fs.scandir-2.1.5"
-      sources."@nodelib/fs.stat-2.0.5"
-      sources."@nodelib/fs.walk-1.2.8"
-      sources."@octetstream/promisify-2.0.2"
-      sources."@open-policy-agent/opa-wasm-1.2.0"
-      sources."@sindresorhus/is-4.0.1"
-      sources."@snyk/child-process-0.3.1"
-      sources."@snyk/cli-interface-2.11.0"
-      sources."@snyk/cloud-config-parser-1.9.3"
-      sources."@snyk/cocoapods-lockfile-parser-3.6.2"
-      sources."@snyk/code-client-3.9.0"
-      sources."@snyk/composer-lockfile-parser-1.4.1"
-      (sources."@snyk/dep-graph-1.28.1" // {
-        dependencies = [
-          sources."semver-7.3.5"
-        ];
-      })
-      sources."@snyk/docker-registry-v2-client-2.2.4"
-      sources."@snyk/fast-glob-3.2.6-patch"
-      (sources."@snyk/fix-1.650.0" // {
-        dependencies = [
-          sources."chalk-4.1.1"
-          sources."strip-ansi-6.0.0"
-        ];
-      })
-      (sources."@snyk/fix-pipenv-pipfile-0.5.4" // {
-        dependencies = [
-          sources."debug-4.3.1"
-        ];
-      })
-      (sources."@snyk/fix-poetry-0.7.2" // {
-        dependencies = [
-          sources."debug-4.3.1"
-        ];
-      })
-      sources."@snyk/gemfile-1.2.0"
-      sources."@snyk/glob-parent-5.1.2-patch.1"
-      sources."@snyk/graphlib-2.1.9-patch.3"
-      (sources."@snyk/inquirer-7.3.3-patch" // {
-        dependencies = [
-          sources."ansi-escapes-4.3.2"
-          sources."chalk-4.1.1"
-          sources."strip-ansi-6.0.0"
-        ];
-      })
-      (sources."@snyk/java-call-graph-builder-1.23.0" // {
-        dependencies = [
-          sources."rimraf-3.0.2"
-          sources."tmp-0.2.1"
-        ];
-      })
-      (sources."@snyk/mix-parser-1.3.2" // {
-        dependencies = [
-          sources."tslib-2.3.0"
-        ];
-      })
-      sources."@snyk/rpm-parser-2.2.1"
-      (sources."@snyk/snyk-cocoapods-plugin-2.5.2" // {
-        dependencies = [
-          sources."tslib-2.3.0"
-        ];
-      })
-      (sources."@snyk/snyk-docker-pull-3.6.3" // {
-        dependencies = [
-          sources."rimraf-3.0.2"
-          sources."tmp-0.2.1"
-        ];
-      })
-      (sources."@snyk/snyk-hex-plugin-1.1.4" // {
-        dependencies = [
-          sources."tslib-2.3.0"
-        ];
-      })
-      sources."@szmarczak/http-timer-4.0.6"
-      sources."@types/cacheable-request-6.0.2"
-      sources."@types/debug-4.1.6"
-      sources."@types/emscripten-1.39.5"
-      sources."@types/flat-cache-2.0.0"
-      sources."@types/graphlib-2.1.8"
-      sources."@types/http-cache-semantics-4.0.1"
-      sources."@types/js-yaml-3.12.7"
-      sources."@types/keyv-3.1.2"
-      sources."@types/lodash-4.14.171"
-      sources."@types/lodash.chunk-4.2.6"
-      sources."@types/lodash.omit-4.5.6"
-      sources."@types/lodash.union-4.6.6"
-      sources."@types/minimatch-3.0.5"
-      sources."@types/node-13.13.52"
-      sources."@types/responselike-1.0.0"
-      sources."@types/sarif-2.1.4"
-      sources."@types/semver-7.3.7"
-      sources."@types/treeify-1.0.0"
-      sources."@types/uuid-8.3.1"
-      (sources."@yarnpkg/core-2.4.0" // {
-        dependencies = [
-          sources."chalk-3.0.0"
-          sources."cross-spawn-7.0.3"
-          sources."mkdirp-0.5.5"
-          sources."path-key-3.1.1"
-          sources."semver-7.3.5"
-          sources."shebang-command-2.0.0"
-          sources."shebang-regex-3.0.0"
-          sources."which-2.0.2"
-        ];
-      })
-      sources."@yarnpkg/fslib-2.4.0"
-      sources."@yarnpkg/json-proxy-2.1.0"
-      sources."@yarnpkg/libzip-2.2.1"
-      sources."@yarnpkg/lockfile-1.1.0"
-      sources."@yarnpkg/parsers-2.3.0"
-      sources."@yarnpkg/pnp-2.3.2"
-      (sources."@yarnpkg/shell-2.4.1" // {
-        dependencies = [
-          sources."cross-spawn-7.0.3"
-          sources."path-key-3.1.1"
-          sources."shebang-command-2.0.0"
-          sources."shebang-regex-3.0.0"
-          sources."which-2.0.2"
-        ];
-      })
-      sources."abbrev-1.1.1"
-      sources."aggregate-error-3.1.0"
-      (sources."ansi-align-3.0.0" // {
-        dependencies = [
-          sources."emoji-regex-7.0.3"
-          sources."is-fullwidth-code-point-2.0.0"
-          sources."string-width-3.1.0"
-        ];
-      })
-      sources."ansi-escapes-3.2.0"
-      sources."ansi-regex-5.0.0"
-      sources."ansi-styles-4.3.0"
-      sources."ansicolors-0.3.2"
-      sources."any-promise-1.3.0"
-      sources."archy-1.0.0"
-      (sources."argparse-1.0.10" // {
-        dependencies = [
-          sources."sprintf-js-1.0.3"
-        ];
-      })
-      sources."array-differ-3.0.0"
-      sources."array-union-2.1.0"
-      sources."arrify-2.0.1"
-      sources."asap-2.0.6"
-      sources."asn1-0.2.4"
-      sources."async-3.2.0"
-      sources."axios-0.21.1"
-      sources."balanced-match-1.0.2"
-      sources."base64-js-1.5.1"
-      sources."bcrypt-pbkdf-1.0.2"
-      sources."binjumper-0.1.4"
-      sources."bl-4.1.0"
-      sources."boolean-3.1.2"
-      sources."bottleneck-2.19.5"
-      (sources."boxen-5.0.1" // {
-        dependencies = [
-          sources."camelcase-6.2.0"
-          sources."chalk-4.1.1"
-          sources."strip-ansi-6.0.0"
-          sources."type-fest-0.20.2"
-          sources."wrap-ansi-7.0.0"
-        ];
-      })
-      sources."brace-expansion-1.1.11"
-      sources."braces-3.0.2"
-      sources."browserify-zlib-0.1.4"
-      sources."buffer-5.7.1"
-      sources."buffer-from-1.1.1"
-      sources."cacheable-lookup-5.0.4"
-      (sources."cacheable-request-7.0.2" // {
-        dependencies = [
-          sources."get-stream-5.2.0"
-        ];
-      })
-      sources."call-bind-1.0.2"
-      sources."camelcase-5.3.1"
-      (sources."chalk-2.4.2" // {
-        dependencies = [
-          sources."ansi-styles-3.2.1"
-          sources."color-convert-1.9.3"
-          sources."color-name-1.1.3"
-          sources."has-flag-3.0.0"
-          sources."supports-color-5.5.0"
-        ];
-      })
-      sources."chardet-0.7.0"
-      sources."child-process-1.0.2"
-      sources."chownr-2.0.0"
-      sources."ci-info-2.0.0"
-      sources."clean-stack-2.2.0"
-      sources."cli-boxes-2.2.1"
-      sources."cli-cursor-3.1.0"
-      sources."cli-spinner-0.2.10"
-      sources."cli-spinners-2.6.0"
-      sources."cli-width-3.0.0"
-      sources."clipanion-2.6.2"
-      sources."clone-1.0.4"
-      sources."clone-response-1.0.2"
-      sources."color-convert-2.0.1"
-      sources."color-name-1.1.4"
-      sources."concat-map-0.0.1"
-      sources."configstore-5.0.1"
-      sources."core-js-3.15.2"
-      sources."core-util-is-1.0.2"
-      (sources."cross-spawn-6.0.5" // {
-        dependencies = [
-          sources."semver-5.7.1"
-        ];
-      })
-      sources."crypto-random-string-2.0.0"
-      sources."debug-4.3.2"
-      (sources."decompress-response-6.0.0" // {
-        dependencies = [
-          sources."mimic-response-3.1.0"
-        ];
-      })
-      sources."deep-extend-0.6.0"
-      sources."defaults-1.0.3"
-      sources."defer-to-connect-2.0.1"
-      sources."define-properties-1.1.3"
-      (sources."del-6.0.0" // {
-        dependencies = [
-          sources."rimraf-3.0.2"
-        ];
-      })
-      sources."detect-node-2.1.0"
-      sources."diff-4.0.2"
-      sources."dir-glob-3.0.1"
-      sources."docker-modem-2.1.3"
-      sources."dockerfile-ast-0.2.1"
-      sources."dot-prop-5.3.0"
-      sources."dotnet-deps-parser-5.0.0"
-      sources."duplexer3-0.1.4"
-      (sources."duplexify-3.7.1" // {
-        dependencies = [
-          sources."readable-stream-2.3.7"
-          sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
-        ];
-      })
-      sources."elfy-1.0.0"
-      sources."email-validator-2.0.4"
-      sources."emoji-regex-8.0.0"
-      sources."end-of-stream-1.4.4"
-      sources."endian-reader-0.3.0"
-      sources."es6-error-4.1.1"
-      sources."escape-goat-2.1.1"
-      sources."escape-string-regexp-1.0.5"
-      sources."esprima-4.0.1"
-      (sources."event-loop-spinner-2.1.0" // {
-        dependencies = [
-          sources."tslib-2.3.0"
-        ];
-      })
-      sources."execa-1.0.0"
-      sources."external-editor-3.1.0"
-      (sources."fast-glob-3.2.7" // {
-        dependencies = [
-          sources."micromatch-4.0.4"
-        ];
-      })
-      sources."fastq-1.11.1"
-      sources."figures-3.2.0"
-      sources."fill-range-7.0.1"
-      sources."follow-redirects-1.14.1"
-      sources."fs-constants-1.0.0"
-      sources."fs-minipass-2.1.0"
-      sources."fs.realpath-1.0.0"
-      sources."function-bind-1.1.1"
-      sources."get-intrinsic-1.1.1"
-      sources."get-stream-4.1.0"
-      sources."glob-7.1.7"
-      sources."glob-parent-5.1.2"
-      (sources."global-agent-2.2.0" // {
-        dependencies = [
-          sources."semver-7.3.5"
-        ];
-      })
-      sources."global-dirs-3.0.0"
-      sources."globalthis-1.0.2"
-      sources."globby-11.0.4"
-      sources."got-11.8.2"
-      sources."graceful-fs-4.2.6"
-      sources."grapheme-splitter-1.0.4"
-      sources."gunzip-maybe-1.4.2"
-      sources."has-1.0.3"
-      sources."has-flag-4.0.0"
-      sources."has-symbols-1.0.2"
-      sources."has-yarn-2.1.0"
-      sources."hosted-git-info-3.0.8"
-      sources."http-cache-semantics-4.1.0"
-      sources."http2-wrapper-1.0.3"
-      sources."iconv-lite-0.4.24"
-      sources."ieee754-1.2.1"
-      sources."ignore-5.1.8"
-      sources."immediate-3.0.6"
-      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-2.0.0"
-      sources."is-3.3.0"
-      sources."is-callable-1.2.3"
-      sources."is-ci-2.0.0"
-      sources."is-deflate-1.0.0"
-      sources."is-docker-2.2.1"
-      sources."is-extglob-2.1.1"
-      sources."is-fullwidth-code-point-3.0.0"
-      sources."is-glob-4.0.1"
-      sources."is-gzip-1.0.0"
-      sources."is-installed-globally-0.4.0"
-      sources."is-interactive-1.0.0"
-      sources."is-npm-5.0.0"
-      sources."is-number-7.0.0"
-      sources."is-obj-2.0.0"
-      sources."is-path-cwd-2.2.0"
-      sources."is-path-inside-3.0.3"
-      sources."is-stream-1.1.0"
-      sources."is-typedarray-1.0.0"
-      sources."is-unicode-supported-0.1.0"
-      sources."is-wsl-2.2.0"
-      sources."is-yarn-global-0.3.0"
-      sources."isarray-1.0.0"
-      sources."isexe-2.0.0"
-      sources."js-yaml-3.14.1"
-      sources."json-buffer-3.0.1"
-      sources."json-file-plus-3.3.1"
-      sources."json-stringify-safe-5.0.1"
-      (sources."jszip-3.6.0" // {
-        dependencies = [
-          sources."pako-1.0.11"
-          sources."readable-stream-2.3.7"
-          sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
-        ];
-      })
-      sources."keyv-4.0.3"
-      sources."latest-version-5.1.0"
-      sources."lie-3.3.0"
-      sources."lodash-4.17.21"
-      sources."lodash.assign-4.2.0"
-      sources."lodash.assignin-4.2.0"
-      sources."lodash.camelcase-4.3.0"
-      sources."lodash.chunk-4.2.0"
-      sources."lodash.clone-4.5.0"
-      sources."lodash.clonedeep-4.5.0"
-      sources."lodash.constant-3.0.0"
-      sources."lodash.defaults-4.2.0"
-      sources."lodash.filter-4.6.0"
-      sources."lodash.find-4.6.0"
-      sources."lodash.findindex-4.6.0"
-      sources."lodash.findkey-4.6.0"
-      sources."lodash.flatmap-4.5.0"
-      sources."lodash.flatten-4.4.0"
-      sources."lodash.flattendeep-4.4.0"
-      sources."lodash.foreach-4.5.0"
-      sources."lodash.get-4.4.2"
-      sources."lodash.groupby-4.6.0"
-      sources."lodash.has-4.5.2"
-      sources."lodash.invert-4.3.0"
-      sources."lodash.isboolean-3.0.3"
-      sources."lodash.isempty-4.4.0"
-      sources."lodash.isequal-4.5.0"
-      sources."lodash.isfunction-3.0.9"
-      sources."lodash.isnumber-3.0.3"
-      sources."lodash.isobject-3.0.2"
-      sources."lodash.isplainobject-4.0.6"
-      sources."lodash.isstring-4.0.1"
-      sources."lodash.isundefined-3.0.1"
-      sources."lodash.keys-4.2.0"
-      sources."lodash.last-3.0.0"
-      sources."lodash.map-4.6.0"
-      sources."lodash.merge-4.6.2"
-      sources."lodash.omit-4.5.0"
-      sources."lodash.orderby-4.6.0"
-      sources."lodash.reduce-4.6.0"
-      sources."lodash.set-4.3.2"
-      sources."lodash.size-4.2.0"
-      sources."lodash.sortby-4.7.0"
-      sources."lodash.sum-4.0.2"
-      sources."lodash.topairs-4.3.0"
-      sources."lodash.transform-4.6.0"
-      sources."lodash.union-4.6.0"
-      sources."lodash.uniq-4.5.0"
-      sources."lodash.upperfirst-4.3.1"
-      sources."lodash.values-4.3.0"
-      (sources."log-symbols-4.1.0" // {
-        dependencies = [
-          sources."chalk-4.1.1"
-        ];
-      })
-      sources."lowercase-keys-2.0.0"
-      sources."lru-cache-6.0.0"
-      sources."macos-release-2.5.0"
-      sources."make-dir-3.1.0"
-      (sources."matcher-3.0.0" // {
-        dependencies = [
-          sources."escape-string-regexp-4.0.0"
-        ];
-      })
-      sources."merge2-1.4.1"
-      sources."micromatch-4.0.2"
-      sources."mimic-fn-2.1.0"
-      sources."mimic-response-1.0.1"
-      sources."minimatch-3.0.4"
-      sources."minimist-1.2.5"
-      sources."minipass-3.1.3"
-      sources."minizlib-2.1.2"
-      sources."mkdirp-1.0.4"
-      sources."ms-2.1.2"
-      sources."multimatch-5.0.0"
-      sources."mute-stream-0.0.8"
-      (sources."needle-2.6.0" // {
-        dependencies = [
-          sources."debug-3.2.7"
-        ];
-      })
-      sources."nice-try-1.0.5"
-      sources."node.extend-2.0.2"
-      sources."normalize-url-6.1.0"
-      sources."npm-run-path-2.0.2"
-      sources."object-hash-2.2.0"
-      sources."object-keys-1.1.1"
-      sources."object.assign-4.1.2"
-      sources."once-1.4.0"
-      sources."onetime-5.1.2"
-      sources."open-7.4.2"
-      (sources."ora-5.4.0" // {
-        dependencies = [
-          sources."chalk-4.1.1"
-          sources."strip-ansi-6.0.0"
-        ];
-      })
-      sources."os-name-3.1.0"
-      sources."os-tmpdir-1.0.2"
-      sources."p-cancelable-2.1.1"
-      sources."p-finally-1.0.0"
-      sources."p-limit-2.3.0"
-      sources."p-map-4.0.0"
-      sources."p-try-2.2.0"
-      (sources."package-json-6.5.0" // {
-        dependencies = [
-          sources."@sindresorhus/is-0.14.0"
-          sources."@szmarczak/http-timer-1.1.2"
-          (sources."cacheable-request-6.1.0" // {
-            dependencies = [
-              sources."lowercase-keys-2.0.0"
-            ];
-          })
-          sources."decompress-response-3.3.0"
-          sources."defer-to-connect-1.1.3"
-          sources."get-stream-5.2.0"
-          sources."got-9.6.0"
-          sources."json-buffer-3.0.0"
-          sources."keyv-3.1.0"
-          sources."lowercase-keys-1.0.1"
-          sources."normalize-url-4.5.1"
-          sources."p-cancelable-1.1.0"
-          sources."responselike-1.0.2"
-        ];
-      })
-      sources."pako-0.2.9"
-      sources."parse-link-header-1.0.1"
-      sources."path-is-absolute-1.0.1"
-      sources."path-key-2.0.1"
-      sources."path-type-4.0.0"
-      sources."peek-stream-1.1.3"
-      sources."picomatch-2.3.0"
-      sources."pluralize-7.0.0"
-      sources."prepend-http-2.0.0"
-      sources."pretty-bytes-5.6.0"
-      sources."process-nextick-args-2.0.1"
-      sources."progress-2.0.3"
-      sources."promise-7.3.1"
-      sources."promise-deferred-2.0.3"
-      sources."promise-fs-2.1.1"
-      sources."promise-queue-2.2.5"
-      sources."promiseback-2.0.3"
-      sources."proxy-from-env-1.1.0"
-      sources."pseudomap-1.0.2"
-      sources."pump-3.0.0"
-      (sources."pumpify-1.5.1" // {
-        dependencies = [
-          sources."pump-2.0.1"
-        ];
-      })
-      sources."pupa-2.1.1"
-      sources."queue-6.0.2"
-      sources."queue-microtask-1.2.3"
-      sources."quick-lru-5.1.1"
-      (sources."rc-1.2.8" // {
-        dependencies = [
-          sources."ini-1.3.8"
-        ];
-      })
-      sources."readable-stream-3.6.0"
-      sources."registry-auth-token-4.2.1"
-      sources."registry-url-5.1.0"
-      sources."resolve-alpn-1.2.0"
-      sources."responselike-2.0.0"
-      sources."restore-cursor-3.1.0"
-      sources."reusify-1.0.4"
-      sources."rimraf-2.7.1"
-      sources."roarr-2.15.4"
-      sources."run-async-2.4.1"
-      sources."run-parallel-1.2.0"
-      sources."rxjs-6.6.7"
-      sources."safe-buffer-5.2.1"
-      sources."safer-buffer-2.1.2"
-      sources."sax-1.2.4"
-      sources."semver-6.3.0"
-      sources."semver-compare-1.0.0"
-      sources."semver-diff-3.1.1"
-      (sources."serialize-error-7.0.1" // {
-        dependencies = [
-          sources."type-fest-0.13.1"
-        ];
-      })
-      sources."set-immediate-shim-1.0.1"
-      sources."shebang-command-1.2.0"
-      sources."shebang-regex-1.0.0"
-      sources."signal-exit-3.0.3"
-      sources."slash-3.0.0"
-      sources."snyk-config-4.0.0"
-      (sources."snyk-cpp-plugin-2.2.1" // {
-        dependencies = [
-          sources."chalk-4.1.1"
-          sources."tslib-2.3.0"
-        ];
-      })
-      (sources."snyk-docker-plugin-4.22.1" // {
-        dependencies = [
-          sources."argparse-2.0.1"
-          sources."js-yaml-4.1.0"
-          sources."rimraf-3.0.2"
-          sources."semver-7.3.5"
-          sources."snyk-nodejs-lockfile-parser-1.35.1"
-          sources."tmp-0.2.1"
-        ];
-      })
-      sources."snyk-go-parser-1.4.1"
-      (sources."snyk-go-plugin-1.17.0" // {
-        dependencies = [
-          sources."rimraf-3.0.2"
-          sources."tmp-0.2.1"
-        ];
-      })
-      (sources."snyk-gradle-plugin-3.16.0" // {
-        dependencies = [
-          sources."chalk-3.0.0"
-          sources."rimraf-3.0.2"
-          sources."tmp-0.2.1"
-          sources."tslib-2.3.0"
-        ];
-      })
-      sources."snyk-module-3.1.0"
-      (sources."snyk-mvn-plugin-2.26.1" // {
-        dependencies = [
-          (sources."@snyk/java-call-graph-builder-1.21.0" // {
-            dependencies = [
-              sources."tmp-0.2.1"
-            ];
-          })
-          sources."rimraf-3.0.2"
-          (sources."tmp-0.1.0" // {
-            dependencies = [
-              sources."rimraf-2.7.1"
-            ];
-          })
-          sources."tslib-1.11.1"
-        ];
-      })
-      (sources."snyk-nodejs-lockfile-parser-1.35.0" // {
-        dependencies = [
-          sources."argparse-2.0.1"
-          sources."js-yaml-4.1.0"
-          sources."p-map-2.1.0"
-        ];
-      })
-      (sources."snyk-nuget-plugin-1.21.1" // {
-        dependencies = [
-          sources."jszip-3.4.0"
-          sources."pako-1.0.11"
-          sources."readable-stream-2.3.7"
-          sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
-        ];
-      })
-      sources."snyk-paket-parser-1.6.0"
-      (sources."snyk-php-plugin-1.9.2" // {
-        dependencies = [
-          sources."tslib-1.11.1"
-        ];
-      })
-      (sources."snyk-poetry-lockfile-parser-1.1.6" // {
-        dependencies = [
-          sources."tslib-2.3.0"
-        ];
-      })
-      (sources."snyk-policy-1.19.0" // {
-        dependencies = [
-          sources."lru-cache-5.1.1"
-          sources."snyk-try-require-2.0.1"
-          sources."yallist-3.1.1"
-        ];
-      })
-      (sources."snyk-python-plugin-1.19.11" // {
-        dependencies = [
-          sources."rimraf-3.0.2"
-          sources."tmp-0.2.1"
-        ];
-      })
-      sources."snyk-resolve-1.1.0"
-      (sources."snyk-resolve-deps-4.7.2" // {
-        dependencies = [
-          sources."lru-cache-4.1.5"
-          sources."semver-5.7.1"
-          sources."yallist-2.1.2"
-        ];
-      })
-      (sources."snyk-sbt-plugin-2.11.3" // {
-        dependencies = [
-          sources."tmp-0.1.0"
-        ];
-      })
-      sources."snyk-tree-1.0.0"
-      (sources."snyk-try-require-1.3.1" // {
-        dependencies = [
-          sources."debug-3.2.7"
-          sources."lru-cache-4.1.5"
-          sources."yallist-2.1.2"
-        ];
-      })
-      sources."source-map-0.6.1"
-      sources."source-map-support-0.5.19"
-      sources."split-ca-1.0.1"
-      sources."sprintf-js-1.1.2"
-      sources."ssh2-0.8.9"
-      sources."ssh2-streams-0.4.10"
-      sources."stream-buffers-3.0.2"
-      sources."stream-shift-1.0.1"
-      sources."stream-to-array-2.3.0"
-      (sources."stream-to-promise-2.2.0" // {
-        dependencies = [
-          sources."end-of-stream-1.1.0"
-          sources."once-1.3.3"
-        ];
-      })
-      sources."streamsearch-0.1.2"
-      (sources."string-width-4.2.2" // {
-        dependencies = [
-          sources."strip-ansi-6.0.0"
-        ];
-      })
-      sources."string_decoder-1.3.0"
-      (sources."strip-ansi-5.2.0" // {
-        dependencies = [
-          sources."ansi-regex-4.1.0"
-        ];
-      })
-      sources."strip-eof-1.0.0"
-      sources."strip-json-comments-2.0.1"
-      sources."supports-color-7.2.0"
-      sources."tar-6.1.0"
-      sources."tar-stream-2.2.0"
-      sources."temp-dir-2.0.0"
-      (sources."tempy-1.0.1" // {
-        dependencies = [
-          sources."is-stream-2.0.0"
-          sources."type-fest-0.16.0"
-        ];
-      })
-      sources."then-fs-2.0.0"
-      sources."through-2.3.8"
-      (sources."through2-2.0.5" // {
-        dependencies = [
-          sources."readable-stream-2.3.7"
-          sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
-        ];
-      })
-      sources."tmp-0.0.33"
-      sources."to-readable-stream-1.0.0"
-      sources."to-regex-range-5.0.1"
-      sources."toml-3.0.0"
-      sources."tree-kill-1.2.2"
-      sources."treeify-1.1.0"
-      sources."tslib-1.14.1"
-      sources."tunnel-0.0.6"
-      sources."tweetnacl-0.14.5"
-      sources."type-fest-0.21.3"
-      sources."typedarray-to-buffer-3.1.5"
-      sources."unique-string-2.0.0"
-      sources."upath-2.0.1"
-      (sources."update-notifier-5.1.0" // {
-        dependencies = [
-          sources."chalk-4.1.1"
-          sources."semver-7.3.5"
-        ];
-      })
-      sources."url-parse-lax-3.0.0"
-      sources."utf8-3.0.0"
-      sources."util-deprecate-1.0.2"
-      sources."uuid-8.3.2"
-      sources."vscode-languageserver-types-3.16.0"
-      sources."wcwidth-1.0.1"
-      sources."which-1.3.1"
-      sources."widest-line-3.1.0"
-      sources."windows-release-3.3.3"
-      (sources."wrap-ansi-5.1.0" // {
-        dependencies = [
-          sources."ansi-styles-3.2.1"
-          sources."color-convert-1.9.3"
-          sources."color-name-1.1.3"
-          sources."emoji-regex-7.0.3"
-          sources."is-fullwidth-code-point-2.0.0"
-          sources."string-width-3.1.0"
-        ];
-      })
-      sources."wrappy-1.0.2"
-      sources."write-file-atomic-3.0.3"
-      sources."xdg-basedir-4.0.0"
-      sources."xml-js-1.6.11"
-      sources."xml2js-0.4.23"
-      sources."xmlbuilder-11.0.1"
-      sources."xtend-4.0.2"
-      sources."yallist-4.0.0"
-      sources."yaml-1.10.2"
-      sources."yaml-js-0.3.0"
-    ];
     buildInputs = globalBuildInputs;
     meta = {
       description = "snyk library and cli utility";
@@ -110149,7 +113262,7 @@ in
       sources."@types/component-emitter-1.2.10"
       sources."@types/cookie-0.4.1"
       sources."@types/cors-2.8.12"
-      sources."@types/node-16.4.0"
+      sources."@types/node-16.7.2"
       sources."accepts-1.3.7"
       sources."base64-arraybuffer-0.1.4"
       sources."base64id-2.0.0"
@@ -110159,8 +113272,8 @@ in
       sources."debug-4.3.2"
       sources."engine.io-5.1.1"
       sources."engine.io-parser-4.0.2"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."ms-2.1.2"
       sources."negotiator-0.6.2"
       sources."object-assign-4.1.1"
@@ -110234,7 +113347,7 @@ in
       sources."get-stream-3.0.0"
       sources."global-dirs-0.1.1"
       sources."got-6.7.1"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
       sources."hosted-git-info-2.8.9"
@@ -110246,7 +113359,7 @@ in
       sources."ini-1.3.8"
       sources."is-arrayish-0.2.1"
       sources."is-ci-1.2.1"
-      sources."is-core-module-2.5.0"
+      sources."is-core-module-2.6.0"
       sources."is-fullwidth-code-point-2.0.0"
       sources."is-installed-globally-0.1.0"
       sources."is-npm-1.0.0"
@@ -110316,7 +113429,7 @@ in
       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.9"
+      sources."spdx-license-ids-3.0.10"
       sources."speedtest-net-1.6.2"
       sources."string-width-2.1.1"
       sources."strip-ansi-4.0.0"
@@ -110354,6 +113467,27 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
+  sql-formatter = nodeEnv.buildNodePackage {
+    name = "sql-formatter";
+    packageName = "sql-formatter";
+    version = "4.0.2";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/sql-formatter/-/sql-formatter-4.0.2.tgz";
+      sha512 = "R6u9GJRiXZLr/lDo8p56L+OyyN2QFJPCDnsyEOsbdIpsnDKL8gubYFo7lNR7Zx7hfdWT80SfkoVS0CMaF/DE2w==";
+    };
+    dependencies = [
+      sources."argparse-2.0.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Format whitespace in a SQL query to make it more readable";
+      homepage = "https://github.com/zeroturnaround/sql-formatter#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
   ssb-server = nodeEnv.buildNodePackage {
     name = "ssb-server";
     packageName = "ssb-server";
@@ -110369,7 +113503,6 @@ in
           sources."random-access-storage-1.3.0"
         ];
       })
-      sources."@types/minimatch-3.0.5"
       sources."abstract-leveldown-6.0.3"
       sources."aligned-block-file-1.2.2"
       sources."ansi-escapes-1.4.0"
@@ -110380,7 +113513,6 @@ in
       sources."arr-diff-2.0.0"
       sources."arr-flatten-1.1.0"
       sources."arr-union-3.1.0"
-      sources."array-differ-3.0.0"
       sources."array-union-1.0.2"
       sources."array-uniq-1.0.3"
       sources."array-unique-0.2.1"
@@ -110423,7 +113555,7 @@ in
       sources."buffer-alloc-1.2.0"
       sources."buffer-alloc-unsafe-1.1.0"
       sources."buffer-fill-1.0.0"
-      sources."buffer-from-1.1.1"
+      sources."buffer-from-1.1.2"
       (sources."cache-base-1.0.1" // {
         dependencies = [
           sources."isobject-3.0.1"
@@ -110464,8 +113596,6 @@ in
       sources."code-point-at-1.1.0"
       sources."collapse-white-space-1.0.6"
       sources."collection-visit-1.0.0"
-      sources."color-convert-2.0.1"
-      sources."color-name-1.1.4"
       sources."commander-2.20.3"
       sources."compare-at-paths-1.0.0"
       sources."component-emitter-1.3.0"
@@ -110519,14 +113649,9 @@ in
           sources."abstract-leveldown-6.3.0"
         ];
       })
-      sources."end-of-stream-1.4.4"
       sources."epidemic-broadcast-trees-7.0.0"
       sources."errno-0.1.8"
-      (sources."es-abstract-1.18.3" // {
-        dependencies = [
-          sources."object-inspect-1.11.0"
-        ];
-      })
+      sources."es-abstract-1.18.5"
       (sources."es-get-iterator-1.1.2" // {
         dependencies = [
           sources."isarray-2.0.5"
@@ -110534,16 +113659,6 @@ in
       })
       sources."es-to-primitive-1.2.1"
       sources."escape-string-regexp-1.0.5"
-      (sources."execa-4.1.0" // {
-        dependencies = [
-          sources."cross-spawn-7.0.3"
-          sources."onetime-5.1.2"
-          sources."path-key-3.1.1"
-          sources."shebang-command-2.0.0"
-          sources."shebang-regex-3.0.0"
-          sources."which-2.0.2"
-        ];
-      })
       sources."exit-hook-1.1.1"
       sources."expand-brackets-0.1.5"
       sources."expand-range-1.8.2"
@@ -110561,7 +113676,6 @@ in
       sources."file-uri-to-path-1.0.0"
       sources."filename-regex-2.0.1"
       sources."fill-range-2.2.4"
-      sources."find-up-4.1.0"
       (sources."flumecodec-0.0.0" // {
         dependencies = [
           sources."level-codec-6.2.0"
@@ -110607,20 +113721,19 @@ in
       sources."fsevents-1.2.13"
       sources."function-bind-1.1.1"
       sources."get-intrinsic-1.1.1"
-      sources."get-stream-5.2.0"
       sources."get-value-2.0.6"
       sources."glob-6.0.4"
       sources."glob-base-0.3.0"
       sources."glob-parent-2.0.0"
       sources."globby-4.1.0"
       sources."gossip-query-2.0.2"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."has-1.0.3"
       sources."has-ansi-2.0.0"
       sources."has-bigints-1.0.1"
-      sources."has-flag-4.0.0"
       sources."has-network-0.0.1"
       sources."has-symbols-1.0.2"
+      sources."has-tostringtag-1.0.0"
       (sources."has-value-1.0.0" // {
         dependencies = [
           sources."isobject-3.0.1"
@@ -110640,16 +113753,15 @@ in
       sources."he-0.5.0"
       sources."heap-0.2.6"
       sources."hoox-0.0.1"
-      sources."human-signals-1.1.1"
       sources."idb-kv-store-4.5.0"
       sources."ieee754-1.2.1"
-      sources."ignore-5.1.8"
       sources."immediate-3.2.3"
       sources."increment-buffer-1.0.1"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-1.3.8"
       sources."int53-1.0.0"
+      sources."internal-slot-1.0.3"
       sources."ip-1.1.5"
       sources."irregular-plurals-1.4.0"
       (sources."is-accessor-descriptor-1.0.0" // {
@@ -110659,19 +113771,20 @@ in
       })
       sources."is-alphabetical-1.0.4"
       sources."is-alphanumerical-1.0.4"
-      sources."is-arguments-1.1.0"
-      sources."is-bigint-1.0.2"
+      sources."is-arguments-1.1.1"
+      sources."is-bigint-1.0.4"
       sources."is-binary-path-1.0.1"
-      sources."is-boolean-object-1.1.1"
+      sources."is-boolean-object-1.1.2"
       sources."is-buffer-1.1.6"
-      sources."is-callable-1.2.3"
+      sources."is-callable-1.2.4"
       sources."is-canonical-base64-1.1.1"
+      sources."is-core-module-2.6.0"
       (sources."is-data-descriptor-1.0.0" // {
         dependencies = [
           sources."kind-of-6.0.3"
         ];
       })
-      sources."is-date-object-1.0.4"
+      sources."is-date-object-1.0.5"
       sources."is-decimal-1.0.4"
       (sources."is-descriptor-1.0.2" // {
         dependencies = [
@@ -110688,7 +113801,7 @@ in
       sources."is-map-2.0.2"
       sources."is-negative-zero-2.0.1"
       sources."is-number-2.1.0"
-      sources."is-number-object-1.0.5"
+      sources."is-number-object-1.0.6"
       sources."is-options-1.0.1"
       (sources."is-plain-object-2.0.4" // {
         dependencies = [
@@ -110697,12 +113810,11 @@ in
       })
       sources."is-posix-bracket-0.1.1"
       sources."is-primitive-2.0.0"
-      sources."is-regex-1.1.3"
+      sources."is-regex-1.1.4"
       sources."is-set-2.0.2"
-      sources."is-stream-2.0.0"
-      sources."is-string-1.0.6"
+      sources."is-string-1.0.7"
       sources."is-symbol-1.0.4"
-      sources."is-typed-array-1.1.5"
+      sources."is-typed-array-1.1.7"
       sources."is-typedarray-1.0.0"
       sources."is-valid-domain-0.0.20"
       sources."is-weakmap-2.0.1"
@@ -110711,7 +113823,7 @@ in
       sources."isarray-1.0.0"
       sources."isexe-2.0.0"
       sources."isobject-2.1.0"
-      (sources."jitdb-3.1.5" // {
+      (sources."jitdb-3.3.0" // {
         dependencies = [
           sources."mkdirp-1.0.4"
           sources."push-stream-11.0.1"
@@ -110748,7 +113860,6 @@ in
       sources."libnested-1.5.0"
       sources."libsodium-0.7.9"
       sources."libsodium-wrappers-0.7.9"
-      sources."locate-path-5.0.0"
       sources."lodash.debounce-4.0.8"
       sources."lodash.get-4.4.2"
       sources."log-symbols-1.0.2"
@@ -110764,9 +113875,7 @@ in
       sources."markdown-table-0.4.0"
       sources."math-random-1.0.4"
       sources."mdmanifest-1.0.8"
-      sources."merge-stream-2.0.0"
       sources."micromatch-2.3.11"
-      sources."mimic-fn-2.1.0"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
       (sources."mixin-deep-1.3.2" // {
@@ -110778,17 +113887,10 @@ in
       sources."mkdirp-classic-0.5.3"
       sources."monotonic-timestamp-0.0.9"
       sources."moo-0.5.1"
-      sources."mri-1.1.6"
       sources."ms-2.1.2"
       sources."multiblob-1.13.7"
       sources."multiblob-http-1.0.0"
       sources."multicb-1.2.2"
-      (sources."multimatch-4.0.0" // {
-        dependencies = [
-          sources."array-union-2.1.0"
-          sources."arrify-2.0.1"
-        ];
-      })
       sources."multiserver-3.7.2"
       sources."multiserver-address-1.0.1"
       sources."multiserver-scopes-1.0.0"
@@ -110802,7 +113904,7 @@ in
           sources."rimraf-2.4.5"
         ];
       })
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       (sources."nanomatch-1.2.13" // {
         dependencies = [
           sources."arr-diff-4.0.0"
@@ -110815,16 +113917,12 @@ in
       sources."nearley-2.20.1"
       sources."next-tick-1.1.0"
       sources."nice-try-1.0.5"
+      sources."node-bindgen-loader-1.0.1"
       sources."node-gyp-build-4.2.3"
       sources."non-private-ip-1.4.4"
       sources."normalize-path-2.1.1"
       sources."normalize-uri-1.1.3"
       sources."npm-prefix-1.2.0"
-      (sources."npm-run-path-4.0.1" // {
-        dependencies = [
-          sources."path-key-3.1.1"
-        ];
-      })
       sources."number-is-nan-1.0.1"
       sources."object-assign-4.1.1"
       (sources."object-copy-0.1.0" // {
@@ -110839,7 +113937,7 @@ in
           })
         ];
       })
-      sources."object-inspect-1.7.0"
+      sources."object-inspect-1.11.0"
       sources."object-is-1.1.5"
       sources."object-keys-1.1.1"
       (sources."object-visit-1.0.1" // {
@@ -110867,15 +113965,11 @@ in
       sources."os-tmpdir-1.0.2"
       sources."osenv-0.1.5"
       sources."p-defer-3.0.0"
-      sources."p-limit-2.3.0"
-      sources."p-locate-4.1.0"
-      sources."p-try-2.2.0"
       sources."packet-stream-2.0.6"
       sources."packet-stream-codec-1.1.3"
       sources."parse-entities-1.2.2"
       sources."parse-glob-3.0.4"
       sources."pascalcase-0.1.1"
-      sources."path-exists-4.0.0"
       sources."path-is-absolute-1.0.1"
       sources."path-key-2.0.1"
       sources."path-parse-1.0.7"
@@ -110886,14 +113980,6 @@ in
       sources."polyraf-1.1.0"
       sources."posix-character-classes-0.1.1"
       sources."preserve-0.2.0"
-      sources."prettier-2.3.2"
-      (sources."pretty-quick-3.1.1" // {
-        dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."chalk-3.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
       sources."private-box-0.3.1"
       sources."process-nextick-args-2.0.1"
       sources."promisify-4loc-1.0.0"
@@ -110901,17 +113987,11 @@ in
       sources."prr-1.0.1"
       sources."pull-abortable-4.0.0"
       sources."pull-async-1.0.0"
-      (sources."pull-async-filter-1.0.0" // {
-        dependencies = [
-          sources."pull-stream-2.28.4"
-        ];
-      })
       sources."pull-awaitable-1.0.0"
       sources."pull-box-stream-1.0.13"
       sources."pull-cat-1.1.11"
       sources."pull-catch-1.0.1"
       sources."pull-cont-0.1.1"
-      sources."pull-core-1.1.0"
       sources."pull-cursor-3.0.0"
       sources."pull-defer-0.2.3"
       sources."pull-drain-gently-1.1.0"
@@ -110963,7 +114043,6 @@ in
       })
       sources."pull-write-1.1.4"
       sources."pull-write-file-0.2.4"
-      sources."pump-3.0.0"
       sources."punycode-1.4.1"
       sources."push-stream-10.1.2"
       (sources."push-stream-to-pull-stream-1.0.5" // {
@@ -111066,7 +114145,7 @@ in
       sources."remove-trailing-separator-1.1.0"
       sources."repeat-element-1.1.4"
       sources."repeat-string-1.6.1"
-      sources."resolve-1.17.0"
+      sources."resolve-1.20.0"
       sources."resolve-url-0.2.1"
       sources."restore-cursor-1.0.1"
       sources."resumer-0.0.0"
@@ -111095,13 +114174,8 @@ in
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."shellsubstitute-1.2.0"
-      (sources."side-channel-1.0.4" // {
-        dependencies = [
-          sources."object-inspect-1.11.0"
-        ];
-      })
-      sources."signal-exit-3.0.3"
-      sources."smart-buffer-4.1.0"
+      sources."side-channel-1.0.4"
+      sources."smart-buffer-4.2.0"
       (sources."snapdragon-0.8.2" // {
         dependencies = [
           sources."debug-2.6.9"
@@ -111149,7 +114223,7 @@ in
       sources."ssb-client-4.9.0"
       sources."ssb-config-3.4.5"
       sources."ssb-db-19.2.0"
-      (sources."ssb-db2-2.1.4" // {
+      (sources."ssb-db2-2.3.1" // {
         dependencies = [
           sources."abstract-leveldown-6.2.3"
           (sources."flumecodec-0.0.1" // {
@@ -111163,7 +114237,7 @@ in
           sources."mkdirp-1.0.4"
           sources."push-stream-11.0.1"
           sources."rimraf-3.0.2"
-          (sources."ssb-keys-8.1.0" // {
+          (sources."ssb-keys-8.2.0" // {
             dependencies = [
               sources."mkdirp-0.5.5"
             ];
@@ -111201,15 +114275,16 @@ in
       })
       sources."ssb-plugins-1.0.0"
       sources."ssb-query-2.4.5"
-      sources."ssb-ref-2.14.3"
+      sources."ssb-ref-2.16.0"
       sources."ssb-replicate-1.3.3"
-      sources."ssb-sort-1.1.3"
       sources."ssb-unix-socket-1.0.0"
       (sources."ssb-validate-4.1.4" // {
         dependencies = [
-          sources."ssb-keys-8.1.0"
+          sources."ssb-keys-8.2.0"
         ];
       })
+      sources."ssb-validate2-0.1.1"
+      sources."ssb-validate2-rsjs-node-1.0.0"
       sources."ssb-ws-6.2.3"
       sources."stack-0.1.0"
       (sources."static-extend-0.1.2" // {
@@ -111242,13 +114317,11 @@ in
       sources."string_decoder-1.1.1"
       sources."stringify-entities-1.3.2"
       sources."strip-ansi-3.0.1"
-      sources."strip-final-newline-2.0.0"
       sources."strip-json-comments-2.0.1"
       sources."supports-color-2.0.0"
-      (sources."tape-4.13.3" // {
+      (sources."tape-4.14.0" // {
         dependencies = [
           sources."glob-7.1.7"
-          sources."is-regex-1.0.5"
         ];
       })
       sources."text-table-0.2.0"
@@ -111311,7 +114384,7 @@ in
       sources."which-1.3.1"
       sources."which-boxed-primitive-1.0.2"
       sources."which-collection-1.0.1"
-      sources."which-typed-array-1.1.4"
+      sources."which-typed-array-1.1.6"
       sources."word-wrap-1.2.3"
       sources."wrap-fn-0.1.5"
       sources."wrappy-1.0.2"
@@ -111365,7 +114438,7 @@ in
           sources."ws-1.1.5"
         ];
       })
-      sources."@types/babel-types-7.0.10"
+      sources."@types/babel-types-7.0.11"
       sources."@types/babylon-6.16.6"
       sources."accepts-1.3.7"
       sources."acorn-3.3.0"
@@ -111415,7 +114488,7 @@ in
       sources."async-1.5.2"
       sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
-      (sources."aws-sdk-2.951.0" // {
+      (sources."aws-sdk-2.977.0" // {
         dependencies = [
           sources."uuid-3.3.2"
         ];
@@ -111453,7 +114526,7 @@ in
       sources."buffer-4.9.2"
       sources."buffer-crc32-0.2.13"
       sources."buffer-equal-constant-time-1.0.1"
-      sources."buffer-from-1.1.1"
+      sources."buffer-from-1.1.2"
       sources."bufferutil-1.3.0"
       sources."bufferview-1.0.1"
       sources."bunyan-1.8.15"
@@ -111542,7 +114615,7 @@ in
       sources."drange-1.1.1"
       (sources."dtrace-provider-0.8.8" // {
         dependencies = [
-          sources."nan-2.14.2"
+          sources."nan-2.15.0"
         ];
       })
       sources."ecc-jsbn-0.1.2"
@@ -111600,7 +114673,7 @@ in
       sources."fd-slicer-1.1.0"
       sources."finalhandler-1.1.2"
       sources."find-up-3.0.0"
-      sources."follow-redirects-1.14.1"
+      sources."follow-redirects-1.14.2"
       sources."forever-agent-0.6.1"
       sources."form-data-2.1.4"
       sources."formidable-1.2.2"
@@ -111624,7 +114697,7 @@ in
           sources."debug-3.2.7"
         ];
       })
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."graphlib-2.1.8"
       sources."har-schema-2.0.0"
       sources."har-validator-2.0.6"
@@ -111637,6 +114710,7 @@ in
       })
       sources."has-cors-1.1.0"
       sources."has-symbols-1.0.2"
+      sources."has-tostringtag-1.0.0"
       sources."hawk-3.1.3"
       sources."highlight.js-8.2.0"
       (sources."hipchatter-0.3.2" // {
@@ -111668,7 +114742,7 @@ in
       sources."ipaddr.js-1.9.1"
       sources."is-arrayish-0.2.1"
       sources."is-buffer-1.1.6"
-      sources."is-core-module-2.5.0"
+      sources."is-core-module-2.6.0"
       (sources."is-expression-3.0.0" // {
         dependencies = [
           sources."acorn-4.0.13"
@@ -111679,7 +114753,7 @@ in
       sources."is-my-json-valid-2.20.5"
       sources."is-promise-2.2.2"
       sources."is-property-1.0.2"
-      sources."is-regex-1.1.3"
+      sources."is-regex-1.1.4"
       sources."is-stream-1.1.0"
       sources."is-typedarray-1.0.0"
       sources."is-utf8-0.2.1"
@@ -111772,8 +114846,8 @@ in
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."mimic-fn-2.1.0"
       sources."minicap-prebuilt-2.3.0"
       sources."minimatch-3.0.4"
@@ -111782,7 +114856,7 @@ in
       sources."mkdirp-0.5.5"
       sources."moment-2.29.1"
       sources."ms-2.1.3"
-      sources."multer-1.4.2"
+      sources."multer-1.4.3"
       sources."mustache-2.3.2"
       sources."mv-2.1.1"
       sources."my-local-ip-1.0.0"
@@ -111976,7 +115050,7 @@ in
       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.9"
+      sources."spdx-license-ids-3.0.10"
       sources."split-1.0.1"
       sources."sprintf-js-1.0.3"
       (sources."sshpk-1.16.1" // {
@@ -112073,7 +115147,7 @@ in
       })
       sources."uglify-to-browserify-1.0.2"
       sources."uid-safe-2.1.5"
-      sources."uid2-0.0.3"
+      sources."uid2-0.0.4"
       sources."ultron-1.0.2"
       sources."unpipe-1.0.0"
       (sources."uri-js-4.4.1" // {
@@ -112198,38 +115272,38 @@ in
     };
     dependencies = [
       sources."@babel/code-frame-7.14.5"
-      sources."@babel/compat-data-7.14.7"
-      sources."@babel/core-7.14.8"
-      sources."@babel/generator-7.14.8"
-      sources."@babel/helper-compilation-targets-7.14.5"
+      sources."@babel/compat-data-7.15.0"
+      sources."@babel/core-7.15.0"
+      sources."@babel/generator-7.15.0"
+      sources."@babel/helper-compilation-targets-7.15.0"
       sources."@babel/helper-function-name-7.14.5"
       sources."@babel/helper-get-function-arity-7.14.5"
       sources."@babel/helper-hoist-variables-7.14.5"
-      sources."@babel/helper-member-expression-to-functions-7.14.7"
+      sources."@babel/helper-member-expression-to-functions-7.15.0"
       sources."@babel/helper-module-imports-7.14.5"
-      sources."@babel/helper-module-transforms-7.14.8"
+      sources."@babel/helper-module-transforms-7.15.0"
       sources."@babel/helper-optimise-call-expression-7.14.5"
-      sources."@babel/helper-replace-supers-7.14.5"
+      sources."@babel/helper-replace-supers-7.15.0"
       sources."@babel/helper-simple-access-7.14.8"
       sources."@babel/helper-split-export-declaration-7.14.5"
-      sources."@babel/helper-validator-identifier-7.14.8"
+      sources."@babel/helper-validator-identifier-7.14.9"
       sources."@babel/helper-validator-option-7.14.5"
-      sources."@babel/helpers-7.14.8"
+      sources."@babel/helpers-7.15.3"
       (sources."@babel/highlight-7.14.5" // {
         dependencies = [
           sources."chalk-2.4.2"
         ];
       })
-      sources."@babel/parser-7.14.8"
+      sources."@babel/parser-7.15.3"
       sources."@babel/template-7.14.5"
-      sources."@babel/traverse-7.14.8"
-      sources."@babel/types-7.14.8"
+      sources."@babel/traverse-7.15.0"
+      sources."@babel/types-7.15.0"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
       sources."@stylelint/postcss-css-in-js-0.37.2"
       sources."@stylelint/postcss-markdown-0.36.2"
-      sources."@types/mdast-3.0.7"
+      sources."@types/mdast-3.0.10"
       sources."@types/minimist-1.2.2"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/parse-json-4.0.0"
@@ -112249,12 +115323,12 @@ in
         ];
       })
       sources."braces-3.0.2"
-      sources."browserslist-4.16.6"
+      sources."browserslist-4.16.8"
       sources."callsites-3.1.0"
       sources."camelcase-5.3.1"
       sources."camelcase-keys-6.2.2"
-      sources."caniuse-lite-1.0.30001246"
-      (sources."chalk-4.1.1" // {
+      sources."caniuse-lite-1.0.30001252"
+      (sources."chalk-4.1.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."color-convert-2.0.1"
@@ -112269,10 +115343,10 @@ in
       sources."clone-regexp-2.2.0"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."colorette-1.2.2"
+      sources."colorette-1.3.0"
       sources."concat-map-0.0.1"
       sources."convert-source-map-1.8.0"
-      sources."cosmiconfig-7.0.0"
+      sources."cosmiconfig-7.0.1"
       sources."cssesc-3.0.0"
       sources."debug-4.3.2"
       sources."decamelize-1.2.0"
@@ -112291,7 +115365,7 @@ in
       sources."domelementtype-1.3.1"
       sources."domhandler-2.4.2"
       sources."domutils-1.7.0"
-      sources."electron-to-chromium-1.3.782"
+      sources."electron-to-chromium-1.3.818"
       sources."emoji-regex-8.0.0"
       sources."entities-1.1.2"
       sources."error-ex-1.3.2"
@@ -112302,12 +115376,12 @@ in
       sources."fast-deep-equal-3.1.3"
       sources."fast-glob-3.2.7"
       sources."fastest-levenshtein-1.0.12"
-      sources."fastq-1.11.1"
+      sources."fastq-1.12.0"
       sources."file-entry-cache-6.0.1"
       sources."fill-range-7.0.1"
       sources."find-up-4.1.0"
       sources."flat-cache-3.0.4"
-      sources."flatted-3.2.1"
+      sources."flatted-3.2.2"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."gensync-1.0.0-beta.2"
@@ -112342,7 +115416,7 @@ in
       sources."is-alphanumerical-1.0.4"
       sources."is-arrayish-0.2.1"
       sources."is-buffer-2.0.5"
-      sources."is-core-module-2.5.0"
+      sources."is-core-module-2.6.0"
       sources."is-decimal-1.0.4"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
@@ -112387,8 +115461,8 @@ in
         ];
       })
       sources."ms-2.1.2"
-      sources."node-releases-1.1.73"
-      (sources."normalize-package-data-3.0.2" // {
+      sources."node-releases-1.1.75"
+      (sources."normalize-package-data-3.0.3" // {
         dependencies = [
           sources."semver-7.3.5"
         ];
@@ -112472,7 +115546,7 @@ in
       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.9"
+      sources."spdx-license-ids-3.0.10"
       sources."specificity-0.4.1"
       sources."string-width-4.2.2"
       (sources."string_decoder-1.3.0" // {
@@ -112521,84 +115595,67 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
-  svelte-language-server = nodeEnv.buildNodePackage {
-    name = "svelte-language-server";
-    packageName = "svelte-language-server";
-    version = "0.14.4";
+  svelte-check = nodeEnv.buildNodePackage {
+    name = "svelte-check";
+    packageName = "svelte-check";
+    version = "2.2.5";
     src = fetchurl {
-      url = "https://registry.npmjs.org/svelte-language-server/-/svelte-language-server-0.14.4.tgz";
-      sha512 = "ldw4/YQR/gpI29Sgv+u/zkHTIMKn2ohpSvfORmDm2H85fNa/Dw8fUoqK080GbVol32sYO8ThzNKkheBjUT0mCw==";
+      url = "https://registry.npmjs.org/svelte-check/-/svelte-check-2.2.5.tgz";
+      sha512 = "EstDoqxjqWStWELh7Z0qytqUDl/ikdNEr21dveNc4fUDnhnqO2F2jHEufqoNnC3GfBji3GIUHvoXsp/I5lMbCg==";
     };
     dependencies = [
-      sources."@emmetio/abbreviation-2.2.2"
-      sources."@emmetio/css-abbreviation-2.1.4"
-      sources."@emmetio/scanner-1.0.0"
-      sources."@types/node-16.4.0"
+      sources."@types/node-16.7.2"
       sources."@types/pug-2.0.5"
       sources."@types/sass-1.16.1"
+      sources."ansi-styles-4.3.0"
       sources."anymatch-3.1.2"
       sources."balanced-match-1.0.2"
       sources."binary-extensions-2.2.0"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
+      sources."callsites-3.1.0"
+      sources."chalk-4.1.2"
       sources."chokidar-3.5.2"
+      sources."color-convert-2.0.1"
+      sources."color-name-1.1.4"
       sources."concat-map-0.0.1"
-      sources."dedent-js-1.0.1"
       sources."detect-indent-6.1.0"
-      sources."emmet-2.3.4"
-      sources."estree-walker-2.0.2"
       sources."fill-range-7.0.1"
       sources."fs.realpath-1.0.0"
       sources."fsevents-2.3.2"
       sources."glob-7.1.7"
       sources."glob-parent-5.1.2"
+      sources."has-flag-4.0.0"
+      sources."import-fresh-3.3.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."is-binary-path-2.1.0"
       sources."is-extglob-2.1.1"
       sources."is-glob-4.0.1"
       sources."is-number-7.0.0"
-      sources."jsonc-parser-2.3.1"
-      sources."lodash-4.17.21"
-      sources."lower-case-2.0.2"
       sources."min-indent-1.0.1"
       sources."minimatch-3.0.4"
-      sources."no-case-3.0.4"
+      sources."minimist-1.2.5"
+      sources."mri-1.1.6"
       sources."normalize-path-3.0.0"
       sources."once-1.4.0"
-      sources."pascal-case-3.1.2"
+      sources."parent-module-1.0.1"
       sources."path-is-absolute-1.0.1"
       sources."picomatch-2.3.0"
-      sources."prettier-2.3.0"
-      sources."prettier-plugin-svelte-2.3.1"
       sources."readdirp-3.6.0"
+      sources."resolve-from-4.0.0"
+      sources."sade-1.7.4"
       sources."source-map-0.7.3"
       sources."strip-indent-3.0.0"
-      sources."svelte-3.38.3"
-      sources."svelte-preprocess-4.7.4"
-      sources."svelte2tsx-0.4.2"
+      sources."supports-color-7.2.0"
+      sources."svelte-preprocess-4.8.0"
       sources."to-regex-range-5.0.1"
-      sources."tslib-2.3.0"
       sources."typescript-4.3.5"
-      sources."vscode-css-languageservice-5.0.0"
-      sources."vscode-emmet-helper-2.1.2"
-      sources."vscode-html-languageservice-4.0.0"
-      sources."vscode-jsonrpc-6.1.0-next.2"
-      sources."vscode-languageserver-7.1.0-next.4"
-      (sources."vscode-languageserver-protocol-3.17.0-next.5" // {
-        dependencies = [
-          sources."vscode-languageserver-types-3.17.0-next.1"
-        ];
-      })
-      sources."vscode-languageserver-textdocument-1.0.1"
-      sources."vscode-languageserver-types-3.16.0"
-      sources."vscode-nls-5.0.0"
-      sources."vscode-uri-2.1.2"
       sources."wrappy-1.0.2"
     ];
     buildInputs = globalBuildInputs;
     meta = {
-      description = "A language server for Svelte";
+      description = "Svelte Code Checker Terminal Interface";
       homepage = "https://github.com/sveltejs/language-tools#readme";
       license = "MIT";
     };
@@ -112606,67 +115663,84 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
-  svelte-check = nodeEnv.buildNodePackage {
-    name = "svelte-check";
-    packageName = "svelte-check";
-    version = "2.2.3";
+  svelte-language-server = nodeEnv.buildNodePackage {
+    name = "svelte-language-server";
+    packageName = "svelte-language-server";
+    version = "0.14.7";
     src = fetchurl {
-      url = "https://registry.npmjs.org/svelte-check/-/svelte-check-2.2.3.tgz";
-      sha512 = "mqe/lgF0Ew+54YI4bPW5D26sMolh+MofQiz41U0c1GvUsP3bKsLLH0mjs4P4Xc+ajUFJtvGBo5PWaf0dd46sIQ==";
+      url = "https://registry.npmjs.org/svelte-language-server/-/svelte-language-server-0.14.7.tgz";
+      sha512 = "GuqBLvHE41ZB6G4EPhUeShDGav4k5TdMmNXk8j1fXGZSrwW+3Q7WmCNMqqeQgrNNtOg1UCUUx7XEjrvPu7RqDg==";
     };
     dependencies = [
-      sources."@types/node-16.4.0"
+      sources."@emmetio/abbreviation-2.2.2"
+      sources."@emmetio/css-abbreviation-2.1.4"
+      sources."@emmetio/scanner-1.0.0"
+      sources."@types/node-16.7.2"
       sources."@types/pug-2.0.5"
       sources."@types/sass-1.16.1"
-      sources."ansi-styles-4.3.0"
       sources."anymatch-3.1.2"
       sources."balanced-match-1.0.2"
       sources."binary-extensions-2.2.0"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
-      sources."callsites-3.1.0"
-      sources."chalk-4.1.1"
       sources."chokidar-3.5.2"
-      sources."color-convert-2.0.1"
-      sources."color-name-1.1.4"
       sources."concat-map-0.0.1"
+      sources."dedent-js-1.0.1"
       sources."detect-indent-6.1.0"
+      sources."emmet-2.3.4"
+      sources."estree-walker-2.0.2"
       sources."fill-range-7.0.1"
       sources."fs.realpath-1.0.0"
       sources."fsevents-2.3.2"
       sources."glob-7.1.7"
       sources."glob-parent-5.1.2"
-      sources."has-flag-4.0.0"
-      sources."import-fresh-3.3.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."is-binary-path-2.1.0"
       sources."is-extglob-2.1.1"
       sources."is-glob-4.0.1"
       sources."is-number-7.0.0"
+      sources."jsonc-parser-2.3.1"
+      sources."lodash-4.17.21"
+      sources."lower-case-2.0.2"
       sources."min-indent-1.0.1"
       sources."minimatch-3.0.4"
-      sources."minimist-1.2.5"
-      sources."mri-1.1.6"
+      sources."no-case-3.0.4"
       sources."normalize-path-3.0.0"
       sources."once-1.4.0"
-      sources."parent-module-1.0.1"
+      sources."pascal-case-3.1.2"
       sources."path-is-absolute-1.0.1"
       sources."picomatch-2.3.0"
+      sources."prettier-2.3.0"
+      sources."prettier-plugin-svelte-2.3.1"
       sources."readdirp-3.6.0"
-      sources."resolve-from-4.0.0"
-      sources."sade-1.7.4"
       sources."source-map-0.7.3"
       sources."strip-indent-3.0.0"
-      sources."supports-color-7.2.0"
+      sources."svelte-3.38.3"
       sources."svelte-preprocess-4.7.4"
+      sources."svelte2tsx-0.4.5"
       sources."to-regex-range-5.0.1"
+      sources."tslib-2.3.1"
       sources."typescript-4.3.5"
+      sources."vscode-css-languageservice-5.0.0"
+      sources."vscode-emmet-helper-2.1.2"
+      sources."vscode-html-languageservice-4.0.0"
+      sources."vscode-jsonrpc-6.1.0-next.2"
+      sources."vscode-languageserver-7.1.0-next.4"
+      (sources."vscode-languageserver-protocol-3.17.0-next.5" // {
+        dependencies = [
+          sources."vscode-languageserver-types-3.17.0-next.1"
+        ];
+      })
+      sources."vscode-languageserver-textdocument-1.0.1"
+      sources."vscode-languageserver-types-3.16.0"
+      sources."vscode-nls-5.0.0"
+      sources."vscode-uri-2.1.2"
       sources."wrappy-1.0.2"
     ];
     buildInputs = globalBuildInputs;
     meta = {
-      description = "Svelte Code Checker Terminal Interface";
+      description = "A language server for Svelte";
       homepage = "https://github.com/sveltejs/language-tools#readme";
       license = "MIT";
     };
@@ -112677,18 +115751,15 @@ in
   svgo = nodeEnv.buildNodePackage {
     name = "svgo";
     packageName = "svgo";
-    version = "2.3.1";
+    version = "2.4.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/svgo/-/svgo-2.3.1.tgz";
-      sha512 = "riDDIQgXpEnn0BEl9Gvhh1LNLIyiusSpt64IR8upJu7MwxnzetmF/Y57pXQD2NMX2lVyMRzXt5f2M5rO4wG7Dw==";
+      url = "https://registry.npmjs.org/svgo/-/svgo-2.4.0.tgz";
+      sha512 = "W25S1UUm9Lm9VnE0TvCzL7aso/NCzDEaXLaElCUO/KaVitw0+IBicSVfM1L1c0YHK5TOFh73yQ2naCpVHEQ/OQ==";
     };
     dependencies = [
       sources."@trysound/sax-0.1.1"
-      sources."ansi-styles-4.3.0"
       sources."boolbase-1.0.0"
-      sources."chalk-4.1.1"
-      sources."color-convert-2.0.1"
-      sources."color-name-1.1.4"
+      sources."colorette-1.3.0"
       sources."commander-7.2.0"
       sources."css-select-4.1.3"
       sources."css-tree-1.1.3"
@@ -112699,12 +115770,10 @@ in
       sources."domhandler-4.2.0"
       sources."domutils-2.7.0"
       sources."entities-2.2.0"
-      sources."has-flag-4.0.0"
       sources."mdn-data-2.0.14"
       sources."nth-check-2.0.0"
       sources."source-map-0.6.1"
       sources."stable-0.1.8"
-      sources."supports-color-7.2.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -112779,7 +115848,7 @@ in
           sources."is-extendable-0.1.1"
         ];
       })
-      sources."buffer-from-1.1.1"
+      sources."buffer-from-1.1.2"
       (sources."busboy-0.2.14" // {
         dependencies = [
           sources."isarray-0.0.1"
@@ -112924,7 +115993,7 @@ in
       })
       sources."global-dirs-0.1.1"
       sources."got-6.7.1"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       (sources."graphlib-2.1.8" // {
         dependencies = [
           sources."lodash-4.17.21"
@@ -113049,8 +116118,8 @@ in
       sources."methods-1.1.2"
       sources."micromatch-3.1.10"
       sources."mime-1.6.0"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
       sources."mixin-deep-1.3.2"
@@ -113068,9 +116137,14 @@ in
       })
       sources."mpath-0.5.2"
       sources."ms-2.0.0"
-      sources."multer-1.4.2"
+      (sources."multer-1.4.3" // {
+        dependencies = [
+          sources."minimist-1.2.5"
+          sources."mkdirp-0.5.5"
+        ];
+      })
       sources."mute-stream-0.0.5"
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       sources."nanomatch-1.2.13"
       sources."native-promise-only-0.8.1"
       sources."neo-async-2.6.2"
@@ -113295,7 +116369,7 @@ in
       sources."truncate-utf8-bytes-1.0.2"
       sources."type-is-1.6.18"
       sources."typedarray-0.0.6"
-      sources."uglify-js-3.13.10"
+      sources."uglify-js-3.14.1"
       sources."undefsafe-2.0.3"
       (sources."union-value-1.0.1" // {
         dependencies = [
@@ -113416,8 +116490,8 @@ in
       sources."locate-path-3.0.0"
       sources."long-4.0.0"
       sources."mime-2.5.2"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."minimist-1.2.5"
       sources."module-alias-2.2.2"
       sources."moment-2.29.1"
@@ -113455,7 +116529,7 @@ in
       sources."tough-cookie-2.5.0"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-1.0.3"
-      sources."typegram-3.4.1"
+      sources."typegram-3.4.3"
       sources."uri-js-4.4.1"
       sources."uuid-3.4.0"
       sources."verror-1.10.0"
@@ -113585,7 +116659,7 @@ in
       sources."errno-0.1.8"
       sources."fs.realpath-1.0.0"
       sources."glob-7.1.7"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."isarray-1.0.0"
@@ -113617,13 +116691,13 @@ in
   terser = nodeEnv.buildNodePackage {
     name = "terser";
     packageName = "terser";
-    version = "5.7.1";
+    version = "5.7.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/terser/-/terser-5.7.1.tgz";
-      sha512 = "b3e+d5JbHAe/JSjwsC3Zn55wsBIM7AsHLjKxT31kGCldgbpFePaFo+PiddtO6uwRZWRw7sPXmAN8dTW61xmnSg==";
+      url = "https://registry.npmjs.org/terser/-/terser-5.7.2.tgz";
+      sha512 = "0Omye+RD4X7X69O0eql3lC4Heh/5iLj3ggxR/B5ketZLOtLiOqukUgjw3q4PDnNQbsrkKr3UMypqStQG3XKRvw==";
     };
     dependencies = [
-      sources."buffer-from-1.1.1"
+      sources."buffer-from-1.1.2"
       sources."commander-2.20.3"
       sources."source-map-0.7.3"
       (sources."source-map-support-0.5.19" // {
@@ -113668,7 +116742,7 @@ in
       sources."@textlint/textlint-plugin-text-12.0.2"
       sources."@textlint/types-12.0.2"
       sources."@textlint/utils-12.0.2"
-      sources."@types/mdast-3.0.7"
+      sources."@types/mdast-3.0.10"
       sources."@types/unist-2.0.6"
       sources."ajv-8.6.2"
       sources."ansi-regex-2.1.1"
@@ -113718,26 +116792,27 @@ in
       sources."get-intrinsic-1.1.1"
       sources."get-stdin-5.0.1"
       sources."glob-7.1.7"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."has-1.0.3"
       sources."has-ansi-2.0.0"
       sources."has-symbols-1.0.2"
+      sources."has-tostringtag-1.0.0"
       sources."hosted-git-info-2.8.9"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."is-alphabetical-1.0.4"
       sources."is-alphanumerical-1.0.4"
-      sources."is-arguments-1.1.0"
+      sources."is-arguments-1.1.1"
       sources."is-arrayish-0.2.1"
       sources."is-buffer-2.0.5"
-      sources."is-core-module-2.5.0"
-      sources."is-date-object-1.0.4"
+      sources."is-core-module-2.6.0"
+      sources."is-date-object-1.0.5"
       sources."is-decimal-1.0.4"
       sources."is-file-1.0.0"
       sources."is-fullwidth-code-point-1.0.0"
       sources."is-hexadecimal-1.0.4"
       sources."is-plain-obj-2.1.0"
-      sources."is-regex-1.1.3"
+      sources."is-regex-1.1.4"
       sources."is-utf8-0.2.1"
       sources."js-yaml-3.14.1"
       sources."json-parse-better-errors-1.0.2"
@@ -113837,7 +116912,7 @@ in
       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.9"
+      sources."spdx-license-ids-3.0.10"
       sources."sprintf-js-1.0.3"
       (sources."string-width-1.0.2" // {
         dependencies = [
@@ -113949,13 +117024,13 @@ in
     };
     dependencies = [
       sources."@babel/code-frame-7.14.5"
-      sources."@babel/helper-validator-identifier-7.14.8"
+      sources."@babel/helper-validator-identifier-7.14.9"
       sources."@babel/highlight-7.14.5"
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
       sources."@textlint/ast-node-types-4.4.3"
       sources."@textlint/types-1.5.5"
-      sources."@types/hast-2.3.2"
+      sources."@types/hast-2.3.4"
       sources."@types/minimist-1.2.2"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/parse5-5.0.3"
@@ -113989,7 +117064,7 @@ in
       })
       sources."brace-expansion-1.1.11"
       sources."bubble-stream-error-1.0.0"
-      sources."buffer-from-1.1.1"
+      sources."buffer-from-1.1.2"
       (sources."cacheable-request-6.1.0" // {
         dependencies = [
           sources."get-stream-5.2.0"
@@ -114067,7 +117142,7 @@ in
         ];
       })
       sources."got-9.6.0"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."hard-rejection-2.1.0"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
@@ -114097,7 +117172,7 @@ in
       sources."is-arrayish-0.2.1"
       sources."is-buffer-2.0.5"
       sources."is-ci-2.0.0"
-      sources."is-core-module-2.5.0"
+      sources."is-core-module-2.6.0"
       sources."is-decimal-1.0.4"
       sources."is-empty-1.2.0"
       sources."is-fullwidth-code-point-2.0.0"
@@ -114253,7 +117328,7 @@ in
       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.9"
+      sources."spdx-license-ids-3.0.10"
       sources."split-0.2.10"
       (sources."split-transform-stream-0.1.1" // {
         dependencies = [
@@ -114428,7 +117503,7 @@ in
     };
     dependencies = [
       sources."boundary-1.0.1"
-      sources."buffer-from-1.1.1"
+      sources."buffer-from-1.1.2"
       sources."concat-stream-1.6.2"
       sources."core-util-is-1.0.2"
       sources."inherits-2.0.4"
@@ -114469,7 +117544,7 @@ in
       sources."@types/unist-2.0.6"
       sources."bail-1.0.5"
       sources."boundary-1.0.1"
-      sources."buffer-from-1.1.1"
+      sources."buffer-from-1.1.2"
       sources."ccount-1.1.0"
       sources."comma-separated-tokens-1.0.8"
       sources."concat-stream-2.0.0"
@@ -114525,7 +117600,7 @@ in
       sources."@textlint/ast-node-types-4.4.3"
       sources."@textlint/types-1.5.5"
       sources."boundary-1.0.1"
-      sources."buffer-from-1.1.1"
+      sources."buffer-from-1.1.2"
       sources."concat-stream-2.0.0"
       sources."inherits-2.0.4"
       sources."object-assign-4.1.1"
@@ -114567,25 +117642,28 @@ in
       sources."define-properties-1.1.3"
       sources."emoji-regex-6.5.1"
       sources."end-with-1.0.2"
-      sources."es-abstract-1.18.3"
+      sources."es-abstract-1.18.5"
       sources."es-to-primitive-1.2.1"
       sources."function-bind-1.1.1"
       sources."get-intrinsic-1.1.1"
       sources."has-1.0.3"
       sources."has-bigints-1.0.1"
       sources."has-symbols-1.0.2"
-      sources."is-bigint-1.0.2"
-      sources."is-boolean-object-1.1.1"
-      sources."is-callable-1.2.3"
-      sources."is-date-object-1.0.4"
+      sources."has-tostringtag-1.0.0"
+      sources."internal-slot-1.0.3"
+      sources."is-bigint-1.0.4"
+      sources."is-boolean-object-1.1.2"
+      sources."is-callable-1.2.4"
+      sources."is-date-object-1.0.5"
       sources."is-negative-zero-2.0.1"
-      sources."is-number-object-1.0.5"
-      sources."is-regex-1.1.3"
-      sources."is-string-1.0.6"
+      sources."is-number-object-1.0.6"
+      sources."is-regex-1.1.4"
+      sources."is-string-1.0.7"
       sources."is-symbol-1.0.4"
       sources."object-inspect-1.11.0"
       sources."object-keys-1.1.1"
       sources."object.assign-4.1.2"
+      sources."side-channel-1.0.4"
       sources."string.prototype.trimend-1.0.4"
       sources."string.prototype.trimstart-1.0.4"
       sources."unbox-primitive-1.0.1"
@@ -114673,26 +117751,29 @@ in
       sources."array-includes-3.1.3"
       sources."call-bind-1.0.2"
       sources."define-properties-1.1.3"
-      sources."es-abstract-1.18.3"
+      sources."es-abstract-1.18.5"
       sources."es-to-primitive-1.2.1"
       sources."function-bind-1.1.1"
       sources."get-intrinsic-1.1.1"
       sources."has-1.0.3"
       sources."has-bigints-1.0.1"
       sources."has-symbols-1.0.2"
-      sources."is-bigint-1.0.2"
-      sources."is-boolean-object-1.1.1"
-      sources."is-callable-1.2.3"
+      sources."has-tostringtag-1.0.0"
+      sources."internal-slot-1.0.3"
+      sources."is-bigint-1.0.4"
+      sources."is-boolean-object-1.1.2"
+      sources."is-callable-1.2.4"
       sources."is-capitalized-1.0.0"
-      sources."is-date-object-1.0.4"
+      sources."is-date-object-1.0.5"
       sources."is-negative-zero-2.0.1"
-      sources."is-number-object-1.0.5"
-      sources."is-regex-1.1.3"
-      sources."is-string-1.0.6"
+      sources."is-number-object-1.0.6"
+      sources."is-regex-1.1.4"
+      sources."is-string-1.0.7"
       sources."is-symbol-1.0.4"
       sources."object-inspect-1.11.0"
       sources."object-keys-1.1.1"
       sources."object.assign-4.1.2"
+      sources."side-channel-1.0.4"
       sources."string.prototype.trimend-1.0.4"
       sources."string.prototype.trimstart-1.0.4"
       sources."unbox-primitive-1.0.1"
@@ -114755,11 +117836,11 @@ in
     dependencies = [
       sources."@sindresorhus/is-3.1.2"
       sources."@szmarczak/http-timer-4.0.6"
-      sources."@tokenizer/token-0.1.1"
+      sources."@tokenizer/token-0.3.0"
       sources."@types/cacheable-request-6.0.2"
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/keyv-3.1.2"
-      sources."@types/node-16.4.0"
+      sources."@types/node-16.7.2"
       sources."@types/responselike-1.0.0"
       sources."abbrev-1.1.1"
       sources."abstract-logging-2.0.1"
@@ -114835,7 +117916,7 @@ in
       sources."content-type-1.0.4"
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
-      sources."core-js-3.15.2"
+      sources."core-js-3.16.3"
       sources."core-util-is-1.0.2"
       sources."css-select-1.2.0"
       sources."css-what-2.1.3"
@@ -114912,7 +117993,7 @@ in
       sources."getpass-0.1.7"
       sources."glob-7.1.7"
       sources."got-11.5.2"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."grapheme-splitter-1.0.4"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
@@ -114990,7 +118071,7 @@ in
       sources."mkdirp-0.5.5"
       sources."ms-2.0.0"
       sources."mute-stream-0.0.8"
-      (sources."needle-2.8.0" // {
+      (sources."needle-2.9.0" // {
         dependencies = [
           sources."debug-3.2.7"
           sources."ms-2.1.3"
@@ -115059,7 +118140,7 @@ in
       sources."parseurl-1.3.3"
       sources."path-is-absolute-1.0.1"
       sources."path-to-regexp-0.1.7"
-      sources."peek-readable-4.0.0"
+      sources."peek-readable-4.0.1"
       sources."performance-now-2.1.0"
       sources."pify-4.0.1"
       sources."precond-0.2.3"
@@ -115078,7 +118159,7 @@ in
       sources."read-chunk-3.2.0"
       sources."readable-stream-3.6.0"
       sources."readable-web-to-node-stream-2.0.0"
-      sources."regenerator-runtime-0.13.8"
+      sources."regenerator-runtime-0.13.9"
       sources."registry-auth-token-4.2.1"
       sources."registry-url-5.1.0"
       (sources."request-2.88.2" // {
@@ -115144,14 +118225,18 @@ in
       sources."strip-ansi-3.0.1"
       sources."strip-json-comments-2.0.1"
       sources."strip-outer-1.0.1"
-      sources."strtok3-6.2.2"
+      sources."strtok3-6.2.4"
       sources."supports-color-7.2.0"
-      sources."tar-4.4.13"
+      sources."tar-4.4.19"
       sources."tlds-1.208.0"
       sources."to-array-0.1.4"
       sources."to-readable-stream-1.0.0"
       sources."toidentifier-1.0.0"
-      sources."token-types-2.1.1"
+      (sources."token-types-2.1.1" // {
+        dependencies = [
+          sources."@tokenizer/token-0.1.1"
+        ];
+      })
       sources."tough-cookie-2.5.0"
       sources."trim-repeated-1.0.0"
       sources."tunnel-agent-0.6.0"
@@ -115194,10 +118279,10 @@ in
   three = nodeEnv.buildNodePackage {
     name = "three";
     packageName = "three";
-    version = "0.130.1";
+    version = "0.132.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/three/-/three-0.130.1.tgz";
-      sha512 = "OSPPKcGvFSiGkG3jFrwwC76PBV/ZSrGxpBbg28bW8s9GU8r/y2spNGtEXHEb/CVqo0Ctf5Lx2rVaxQZB6OasaA==";
+      url = "https://registry.npmjs.org/three/-/three-0.132.0.tgz";
+      sha512 = "kv4WeP3O5/8mcHyuGYnqBQYdEfzSz9kEkq4H/9J966epNlGSVJ8gYC3SwT9qIITdgC0OvLr3zPltCS4dUyg2eg==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -115239,7 +118324,7 @@ in
       sources."ajv-6.12.6"
       sources."asn1-0.2.4"
       sources."assert-plus-1.0.0"
-      sources."async-3.2.0"
+      sources."async-3.2.1"
       sources."asynckit-0.4.0"
       sources."at-least-node-1.0.0"
       sources."aws-sign2-0.7.0"
@@ -115274,7 +118359,7 @@ in
       sources."fs.realpath-1.0.0"
       sources."getpass-0.1.7"
       sources."glob-7.1.7"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."http-signature-1.2.0"
@@ -115295,8 +118380,8 @@ in
       sources."jsprim-1.4.1"
       sources."keypress-0.2.1"
       sources."lru-cache-6.0.0"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
@@ -115429,7 +118514,7 @@ in
       sources."mooremachine-2.3.0"
       sources."mute-stream-0.0.8"
       sources."mv-2.1.1"
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       sources."ncp-2.0.0"
       sources."once-1.3.2"
       sources."path-is-absolute-1.0.1"
@@ -115600,15 +118685,13 @@ in
   ttf2eot = nodeEnv.buildNodePackage {
     name = "ttf2eot";
     packageName = "ttf2eot";
-    version = "2.0.0";
+    version = "3.0.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/ttf2eot/-/ttf2eot-2.0.0.tgz";
-      sha1 = "8e6337a585abd1608a0c84958ab483ce69f6654b";
+      url = "https://registry.npmjs.org/ttf2eot/-/ttf2eot-3.0.0.tgz";
+      sha512 = "Y/ymhhYr/lLkf66BnLQBs3LjttPDE+1BJcFHq/oJN5SnZTacMWVdPfGLB5eIVnC2iT9gZ2ls/Bre2zbKq6hNsA==";
     };
     dependencies = [
-      sources."argparse-1.0.10"
-      sources."microbuffer-1.0.0"
-      sources."sprintf-js-1.0.3"
+      sources."argparse-2.0.1"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -115641,10 +118724,10 @@ in
   typescript-language-server = nodeEnv.buildNodePackage {
     name = "typescript-language-server";
     packageName = "typescript-language-server";
-    version = "0.5.4";
+    version = "0.6.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/typescript-language-server/-/typescript-language-server-0.5.4.tgz";
-      sha512 = "MQbCaq+ZUGfibp91reQJGYPXWbEdsY8G+iAkOaKRLOs3MDIssacEYF3v1nFne8iWWYPSsYs4HvuiIzbuUAO8GA==";
+      url = "https://registry.npmjs.org/typescript-language-server/-/typescript-language-server-0.6.1.tgz";
+      sha512 = "ZqqD4XK1EgITEoW1SaOnNe473K5EMr7vSYwFeqK4Fe37TjNyEwB+2vXuqW01kPujiw7tRpv3teDAl7WtP9AmIw==";
     };
     dependencies = [
       sources."@nodelib/fs.scandir-2.1.5"
@@ -115663,14 +118746,14 @@ in
       sources."del-6.0.0"
       sources."dir-glob-3.0.1"
       sources."fast-glob-3.2.7"
-      sources."fastq-1.11.1"
+      sources."fastq-1.12.0"
       sources."fill-range-7.0.1"
       sources."fs-extra-10.0.0"
       sources."fs.realpath-1.0.0"
       sources."glob-7.1.7"
       sources."glob-parent-5.1.2"
       sources."globby-11.0.4"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."ignore-5.1.8"
       sources."indent-string-4.0.0"
       sources."inflight-1.0.6"
@@ -115680,7 +118763,7 @@ in
       sources."is-number-7.0.0"
       sources."is-path-cwd-2.2.0"
       sources."is-path-inside-3.0.3"
-      sources."is-stream-2.0.0"
+      sources."is-stream-2.0.1"
       sources."jsonfile-6.1.0"
       sources."merge2-1.4.1"
       sources."micromatch-4.0.4"
@@ -115703,17 +118786,16 @@ in
       sources."unique-string-2.0.0"
       sources."universalify-2.0.0"
       sources."vscode-jsonrpc-6.0.0"
-      sources."vscode-languageserver-5.3.0-next.10"
+      sources."vscode-languageserver-7.0.0"
       sources."vscode-languageserver-protocol-3.16.0"
+      sources."vscode-languageserver-textdocument-1.0.1"
       sources."vscode-languageserver-types-3.16.0"
-      sources."vscode-textbuffer-1.0.0"
       sources."vscode-uri-1.0.8"
       sources."wrappy-1.0.2"
     ];
     buildInputs = globalBuildInputs;
     meta = {
       description = "Language Server Protocol (LSP) implementation for TypeScript using tsserver";
-      homepage = "https://github.com/theia-ide/typescript-language-server#readme";
       license = "Apache-2.0";
     };
     production = true;
@@ -115723,10 +118805,10 @@ in
   uglify-js = nodeEnv.buildNodePackage {
     name = "uglify-js";
     packageName = "uglify-js";
-    version = "3.13.10";
+    version = "3.14.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.10.tgz";
-      sha512 = "57H3ACYFXeo1IaZ1w02sfA71wI60MGco/IQFjOqK+WtKoprh7Go2/yvd2HPtoJILO2Or84ncLccI4xoHMTSbGg==";
+      url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.1.tgz";
+      sha512 = "JhS3hmcVaXlp/xSo3PKY5R0JqKs5M3IV+exdLHW99qKvKivPO4Z8qbej6mte17SOPqAOVMjt/XGgWacnFSzM3g==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -115772,7 +118854,7 @@ in
       sources."@types/component-emitter-1.2.10"
       sources."@types/cookie-0.4.1"
       sources."@types/cors-2.8.12"
-      sources."@types/node-14.17.5"
+      sources."@types/node-14.17.12"
       sources."abbrev-1.1.1"
       sources."accepts-1.3.7"
       sources."ansi-regex-5.0.0"
@@ -115783,7 +118865,7 @@ in
         ];
       })
       sources."array-flatten-1.1.1"
-      sources."async-3.2.0"
+      sources."async-3.2.1"
       sources."balanced-match-1.0.2"
       sources."base64-arraybuffer-0.1.4"
       sources."base64id-2.0.0"
@@ -115825,7 +118907,7 @@ in
       sources."depd-1.1.2"
       sources."destroy-1.0.4"
       sources."diff-5.0.0"
-      sources."diff2html-3.4.7"
+      sources."diff2html-3.4.9"
       sources."dnd-page-scroll-0.0.4"
       sources."duplexer3-0.1.4"
       sources."ee-first-1.1.1"
@@ -115882,7 +118964,7 @@ in
       sources."is-arrayish-0.3.2"
       sources."is-docker-2.2.1"
       sources."is-fullwidth-code-point-3.0.0"
-      sources."is-stream-2.0.0"
+      sources."is-stream-2.0.1"
       sources."is-wsl-2.2.0"
       sources."isarray-1.0.0"
       sources."jquery-3.6.0"
@@ -115912,8 +118994,8 @@ in
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
@@ -116044,6 +119126,157 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
+  unified-language-server = nodeEnv.buildNodePackage {
+    name = "unified-language-server";
+    packageName = "unified-language-server";
+    version = "0.3.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/unified-language-server/-/unified-language-server-0.3.0.tgz";
+      sha512 = "N+ENrder8z9zJQF9UM7K3/1LcfVW60omqeyaQsu6GN1BGdCgPm8gdHssn7WRD7vx+ABKc82IE1+pJyHOPkwe+w==";
+    };
+    dependencies = [
+      sources."@types/node-16.7.2"
+      sources."@types/unist-2.0.6"
+      sources."@types/vfile-3.0.2"
+      sources."@types/vfile-message-2.0.0"
+      sources."array-iterate-1.1.4"
+      sources."bail-1.0.5"
+      sources."character-entities-1.2.4"
+      sources."character-entities-legacy-1.1.4"
+      sources."character-reference-invalid-1.1.4"
+      sources."co-3.1.0"
+      sources."collapse-white-space-1.0.6"
+      sources."dictionary-en-gb-2.3.0"
+      sources."extend-3.0.2"
+      sources."inherits-2.0.4"
+      sources."irregular-plurals-2.0.0"
+      sources."is-alphabetical-1.0.4"
+      sources."is-alphanumerical-1.0.4"
+      sources."is-buffer-2.0.5"
+      sources."is-decimal-1.0.4"
+      sources."is-hexadecimal-1.0.4"
+      sources."is-plain-obj-1.1.0"
+      sources."is-whitespace-character-1.0.4"
+      sources."is-word-character-1.0.4"
+      sources."lodash.includes-4.3.0"
+      sources."markdown-escapes-1.0.4"
+      sources."mdast-comment-marker-1.1.2"
+      sources."mdast-util-heading-style-1.0.6"
+      sources."mdast-util-to-nlcst-3.2.3"
+      sources."mdast-util-to-string-1.1.0"
+      sources."nlcst-is-literal-1.2.2"
+      sources."nlcst-to-string-2.0.4"
+      sources."nspell-2.1.5"
+      sources."parse-english-4.2.0"
+      sources."parse-entities-1.2.2"
+      sources."parse-latin-4.3.0"
+      sources."plur-3.1.1"
+      sources."quotation-1.1.3"
+      sources."remark-lint-6.0.6"
+      sources."remark-lint-blockquote-indentation-1.0.4"
+      sources."remark-lint-code-block-style-1.0.4"
+      sources."remark-lint-definition-case-1.0.5"
+      sources."remark-lint-definition-spacing-1.0.5"
+      sources."remark-lint-emphasis-marker-1.0.4"
+      sources."remark-lint-fenced-code-flag-1.0.4"
+      sources."remark-lint-fenced-code-marker-1.0.4"
+      sources."remark-lint-file-extension-1.0.5"
+      sources."remark-lint-final-definition-1.0.4"
+      sources."remark-lint-hard-break-spaces-1.0.5"
+      sources."remark-lint-heading-increment-1.0.4"
+      sources."remark-lint-heading-style-1.0.4"
+      sources."remark-lint-link-title-style-1.0.5"
+      sources."remark-lint-list-item-content-indent-1.0.4"
+      sources."remark-lint-list-item-indent-1.0.5"
+      sources."remark-lint-list-item-spacing-1.1.4"
+      sources."remark-lint-maximum-heading-length-1.0.4"
+      sources."remark-lint-maximum-line-length-1.2.2"
+      sources."remark-lint-no-auto-link-without-protocol-1.0.4"
+      sources."remark-lint-no-blockquote-without-marker-2.0.4"
+      sources."remark-lint-no-consecutive-blank-lines-1.0.4"
+      sources."remark-lint-no-duplicate-headings-1.0.5"
+      sources."remark-lint-no-emphasis-as-heading-1.0.4"
+      sources."remark-lint-no-file-name-articles-1.0.5"
+      sources."remark-lint-no-file-name-consecutive-dashes-1.0.5"
+      sources."remark-lint-no-file-name-irregular-characters-1.0.5"
+      sources."remark-lint-no-file-name-mixed-case-1.0.5"
+      sources."remark-lint-no-file-name-outer-dashes-1.0.6"
+      sources."remark-lint-no-heading-punctuation-1.0.4"
+      sources."remark-lint-no-inline-padding-1.0.5"
+      sources."remark-lint-no-literal-urls-1.0.4"
+      sources."remark-lint-no-multiple-toplevel-headings-1.0.5"
+      sources."remark-lint-no-shell-dollars-1.0.4"
+      sources."remark-lint-no-shortcut-reference-image-1.0.4"
+      sources."remark-lint-no-shortcut-reference-link-1.0.5"
+      sources."remark-lint-no-table-indentation-1.0.5"
+      sources."remark-lint-ordered-list-marker-style-1.0.4"
+      sources."remark-lint-ordered-list-marker-value-1.0.5"
+      sources."remark-lint-rule-style-1.0.4"
+      sources."remark-lint-strong-marker-1.0.4"
+      sources."remark-lint-table-cell-padding-1.0.5"
+      sources."remark-lint-table-pipe-alignment-1.0.4"
+      sources."remark-lint-table-pipes-1.0.4"
+      sources."remark-lint-unordered-list-marker-style-1.0.4"
+      sources."remark-message-control-4.2.0"
+      sources."remark-parse-6.0.3"
+      sources."remark-preset-lint-markdown-style-guide-2.1.4"
+      sources."remark-retext-3.1.3"
+      sources."repeat-string-1.6.1"
+      sources."replace-ext-1.0.0"
+      sources."retext-6.0.2"
+      sources."retext-english-3.0.4"
+      sources."retext-latin-2.0.4"
+      sources."retext-spell-2.4.1"
+      sources."retext-stringify-2.0.4"
+      sources."sliced-1.0.1"
+      sources."state-toggle-1.0.3"
+      sources."trim-0.0.1"
+      sources."trim-trailing-lines-1.1.4"
+      sources."trough-1.0.5"
+      sources."unherit-1.1.3"
+      sources."unified-7.1.0"
+      sources."unified-lint-rule-1.0.6"
+      sources."unified-message-control-1.0.4"
+      sources."unist-util-generated-1.1.6"
+      sources."unist-util-is-3.0.0"
+      sources."unist-util-modify-children-2.0.0"
+      sources."unist-util-position-3.1.0"
+      sources."unist-util-remove-position-1.1.4"
+      sources."unist-util-stringify-position-2.0.3"
+      sources."unist-util-visit-1.4.1"
+      sources."unist-util-visit-children-1.1.4"
+      sources."unist-util-visit-parents-2.1.2"
+      (sources."vfile-3.0.1" // {
+        dependencies = [
+          sources."unist-util-stringify-position-1.1.2"
+          sources."vfile-message-1.1.1"
+        ];
+      })
+      sources."vfile-location-2.0.6"
+      (sources."vfile-message-3.0.2" // {
+        dependencies = [
+          sources."unist-util-stringify-position-3.0.0"
+        ];
+      })
+      sources."vscode-jsonrpc-4.0.0"
+      sources."vscode-languageserver-5.2.1"
+      sources."vscode-languageserver-protocol-3.14.1"
+      sources."vscode-languageserver-types-3.14.0"
+      sources."vscode-uri-1.0.8"
+      sources."wrapped-1.0.1"
+      sources."x-is-string-0.1.0"
+      sources."xtend-4.0.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A language server for spoken languages using retext";
+      homepage = "https://github.com/aecepoglu/retext-language-server";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
   vega-cli = nodeEnv.buildNodePackage {
     name = "vega-cli";
     packageName = "vega-cli";
@@ -116117,7 +119350,7 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."internmap-1.0.1"
-      sources."is-core-module-2.5.0"
+      sources."is-core-module-2.6.0"
       sources."is-fullwidth-code-point-1.0.0"
       sources."isarray-1.0.0"
       sources."lru-cache-6.0.0"
@@ -116132,7 +119365,7 @@ in
       sources."minizlib-2.1.2"
       sources."mkdirp-1.0.4"
       sources."ms-2.1.2"
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       sources."node-fetch-2.6.1"
       sources."nopt-5.0.0"
       sources."npmlog-4.1.2"
@@ -116157,7 +119390,7 @@ in
       sources."string-width-1.0.2"
       sources."string_decoder-1.1.1"
       sources."strip-ansi-3.0.1"
-      sources."tar-6.1.0"
+      sources."tar-6.1.11"
       sources."topojson-client-3.1.0"
       sources."util-deprecate-1.0.2"
       sources."vega-5.20.2"
@@ -116269,13 +119502,142 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
+  vercel = nodeEnv.buildNodePackage {
+    name = "vercel";
+    packageName = "vercel";
+    version = "23.1.2";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/vercel/-/vercel-23.1.2.tgz";
+      sha512 = "uS1k7wuXI6hbxiW+kn9vdAWL0bBi4jjVxc7Jwp8NhJjcRuzlydtt3gUEnhnC9AOIKQ4LxoAgmg50lSyYkrC8Hg==";
+    };
+    dependencies = [
+      sources."@sindresorhus/is-0.14.0"
+      sources."@szmarczak/http-timer-1.1.2"
+      sources."@types/node-16.7.2"
+      sources."@vercel/build-utils-2.12.2"
+      sources."@vercel/go-1.2.3"
+      sources."@vercel/node-1.12.1"
+      sources."@vercel/python-2.0.5"
+      sources."@vercel/ruby-1.2.7"
+      (sources."ansi-align-3.0.0" // {
+        dependencies = [
+          sources."string-width-3.1.0"
+        ];
+      })
+      sources."ansi-regex-4.1.0"
+      sources."ansi-styles-4.3.0"
+      sources."arg-4.1.3"
+      sources."boxen-4.2.0"
+      sources."buffer-from-1.1.2"
+      (sources."cacheable-request-6.1.0" // {
+        dependencies = [
+          sources."get-stream-5.2.0"
+          sources."lowercase-keys-2.0.0"
+        ];
+      })
+      sources."camelcase-5.3.1"
+      sources."chalk-3.0.0"
+      sources."ci-info-2.0.0"
+      sources."cli-boxes-2.2.1"
+      sources."clone-response-1.0.2"
+      sources."color-convert-2.0.1"
+      sources."color-name-1.1.4"
+      sources."configstore-5.0.1"
+      sources."crypto-random-string-2.0.0"
+      sources."decompress-response-3.3.0"
+      sources."deep-extend-0.6.0"
+      sources."defer-to-connect-1.1.3"
+      sources."diff-4.0.2"
+      sources."dot-prop-5.3.0"
+      sources."duplexer3-0.1.4"
+      sources."emoji-regex-7.0.3"
+      sources."end-of-stream-1.4.4"
+      sources."escape-goat-2.1.1"
+      sources."get-stream-4.1.0"
+      sources."global-dirs-2.1.0"
+      sources."got-9.6.0"
+      sources."graceful-fs-4.2.8"
+      sources."has-flag-4.0.0"
+      sources."has-yarn-2.1.0"
+      sources."http-cache-semantics-4.1.0"
+      sources."import-lazy-2.1.0"
+      sources."imurmurhash-0.1.4"
+      sources."ini-1.3.7"
+      sources."is-ci-2.0.0"
+      sources."is-fullwidth-code-point-2.0.0"
+      sources."is-installed-globally-0.3.2"
+      sources."is-npm-4.0.0"
+      sources."is-obj-2.0.0"
+      sources."is-path-inside-3.0.3"
+      sources."is-typedarray-1.0.0"
+      sources."is-yarn-global-0.3.0"
+      sources."json-buffer-3.0.0"
+      sources."keyv-3.1.0"
+      sources."latest-version-5.1.0"
+      sources."lowercase-keys-1.0.1"
+      sources."make-dir-3.1.0"
+      sources."make-error-1.3.6"
+      sources."mimic-response-1.0.1"
+      sources."minimist-1.2.5"
+      sources."normalize-url-4.5.1"
+      sources."once-1.4.0"
+      sources."p-cancelable-1.1.0"
+      sources."package-json-6.5.0"
+      sources."prepend-http-2.0.0"
+      sources."pump-3.0.0"
+      sources."pupa-2.1.1"
+      sources."rc-1.2.8"
+      sources."registry-auth-token-4.2.1"
+      sources."registry-url-5.1.0"
+      sources."responselike-1.0.2"
+      sources."semver-6.3.0"
+      sources."semver-diff-3.1.1"
+      sources."signal-exit-3.0.3"
+      sources."source-map-0.6.1"
+      sources."source-map-support-0.5.19"
+      (sources."string-width-4.2.2" // {
+        dependencies = [
+          sources."ansi-regex-5.0.0"
+          sources."emoji-regex-8.0.0"
+          sources."is-fullwidth-code-point-3.0.0"
+          sources."strip-ansi-6.0.0"
+        ];
+      })
+      sources."strip-ansi-5.2.0"
+      sources."strip-json-comments-2.0.1"
+      sources."supports-color-7.2.0"
+      sources."term-size-2.2.1"
+      sources."to-readable-stream-1.0.0"
+      sources."ts-node-8.9.1"
+      sources."type-fest-0.8.1"
+      sources."typedarray-to-buffer-3.1.5"
+      sources."typescript-4.3.4"
+      sources."unique-string-2.0.0"
+      sources."update-notifier-4.1.0"
+      sources."url-parse-lax-3.0.0"
+      sources."widest-line-3.1.0"
+      sources."wrappy-1.0.2"
+      sources."write-file-atomic-3.0.3"
+      sources."xdg-basedir-4.0.0"
+      sources."yn-3.1.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "The command-line interface for Vercel";
+      homepage = "https://vercel.com";
+      license = "Apache-2.0";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
   vim-language-server = nodeEnv.buildNodePackage {
     name = "vim-language-server";
     packageName = "vim-language-server";
-    version = "2.2.3";
+    version = "2.2.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/vim-language-server/-/vim-language-server-2.2.3.tgz";
-      sha512 = "dUaWfvqNM0IVwinwYHv6prKYEw4o/ayZtvceFBKdMCf91uYzKt64MLqD8ZA597JLheul/oEV1XKgpzLLPcfVVw==";
+      url = "https://registry.npmjs.org/vim-language-server/-/vim-language-server-2.2.4.tgz";
+      sha512 = "MHbdFNU9C7pwXMY7UvzjdslNBRwFazy+wDe7Kv30L1Hl6BiMpkOAQ4RgvevYQAjm/NpS6gvMz7N0FFKr2qjKsw==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -116297,7 +119659,7 @@ in
     };
     dependencies = [
       sources."@babel/code-frame-7.12.11"
-      sources."@babel/helper-validator-identifier-7.14.8"
+      sources."@babel/helper-validator-identifier-7.14.9"
       (sources."@babel/highlight-7.14.5" // {
         dependencies = [
           sources."chalk-2.4.2"
@@ -116319,7 +119681,7 @@ in
       sources."brace-expansion-1.1.11"
       sources."builtin-modules-1.1.1"
       sources."callsites-3.1.0"
-      (sources."chalk-4.1.1" // {
+      (sources."chalk-4.1.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."color-convert-2.0.1"
@@ -116340,8 +119702,8 @@ in
       sources."emoji-regex-8.0.0"
       sources."enquirer-2.3.6"
       sources."escape-string-regexp-4.0.0"
-      sources."eslint-7.31.0"
-      (sources."eslint-plugin-vue-7.14.0" // {
+      sources."eslint-7.32.0"
+      (sources."eslint-plugin-vue-7.16.0" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
@@ -116376,13 +119738,13 @@ in
       sources."fast-levenshtein-2.0.6"
       sources."file-entry-cache-6.0.1"
       sources."flat-cache-3.0.4"
-      sources."flatted-3.2.1"
+      sources."flatted-3.2.2"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."functional-red-black-tree-1.0.1"
       sources."glob-7.1.7"
       sources."glob-parent-5.1.2"
-      sources."globals-13.10.0"
+      sources."globals-13.11.0"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
       sources."ignore-4.0.6"
@@ -116390,7 +119752,7 @@ in
       sources."imurmurhash-0.1.4"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."is-core-module-2.5.0"
+      sources."is-core-module-2.6.0"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-glob-4.0.1"
@@ -116461,7 +119823,7 @@ in
       sources."typescript-4.3.5"
       sources."uri-js-4.4.1"
       sources."v8-compile-cache-2.3.0"
-      (sources."vue-eslint-parser-7.9.0" // {
+      (sources."vue-eslint-parser-7.10.0" // {
         dependencies = [
           sources."eslint-visitor-keys-1.3.0"
           sources."espree-6.2.1"
@@ -116567,7 +119929,7 @@ in
       sources."jsonc-parser-3.0.0"
       sources."ms-2.0.0"
       sources."request-light-0.4.0"
-      (sources."vscode-json-languageservice-4.1.6" // {
+      (sources."vscode-json-languageservice-4.1.7" // {
         dependencies = [
           sources."vscode-nls-5.0.0"
         ];
@@ -116640,6 +120002,50 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
+  vscode-langservers-extracted = nodeEnv.buildNodePackage {
+    name = "vscode-langservers-extracted";
+    packageName = "vscode-langservers-extracted";
+    version = "2.4.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/vscode-langservers-extracted/-/vscode-langservers-extracted-2.4.0.tgz";
+      sha512 = "dGTyYwuKd0miiTGG3ShL1u1MOni/iZLdY8GUyEf86jHIq2+P9h+El0IkXt8GsDGOAIty+DmhDOVZ/VTw2pjUEg==";
+    };
+    dependencies = [
+      sources."agent-base-4.3.0"
+      sources."debug-3.1.0"
+      sources."es6-promise-4.2.8"
+      sources."es6-promisify-5.0.0"
+      sources."http-proxy-agent-2.1.0"
+      sources."https-proxy-agent-2.2.4"
+      sources."jsonc-parser-3.0.0"
+      sources."ms-2.0.0"
+      (sources."request-light-0.4.0" // {
+        dependencies = [
+          sources."vscode-nls-4.1.2"
+        ];
+      })
+      sources."typescript-4.3.5"
+      sources."vscode-css-languageservice-5.1.4"
+      sources."vscode-html-languageservice-4.0.7"
+      sources."vscode-json-languageservice-4.1.7"
+      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.1"
+      sources."vscode-languageserver-types-3.16.0"
+      sources."vscode-nls-5.0.0"
+      sources."vscode-uri-3.0.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "HTML/CSS/JSON language servers extracted from [vscode](https://github.com/Microsoft/vscode).";
+      homepage = "https://github.com/hrsh7th/vscode-langservers-extracted#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
   "vscode-lldb-build-deps-../../misc/vscode-extensions/vscode-lldb/build-deps" = nodeEnv.buildNodePackage {
     name = "vscode-lldb";
     packageName = "vscode-lldb";
@@ -116650,10 +120056,10 @@ in
       sources."@types/eslint-7.28.0"
       sources."@types/eslint-scope-3.7.1"
       sources."@types/estree-0.0.50"
-      sources."@types/json-schema-7.0.8"
+      sources."@types/json-schema-7.0.9"
       sources."@types/mocha-7.0.2"
       sources."@types/node-8.10.66"
-      sources."@types/vscode-1.58.1"
+      sources."@types/vscode-1.59.0"
       sources."@types/yauzl-2.9.2"
       sources."@ungap/promise-all-settled-1.1.2"
       sources."@webassemblyjs/ast-1.11.1"
@@ -116673,10 +120079,11 @@ in
       sources."@webassemblyjs/wast-printer-1.11.1"
       sources."@webpack-cli/configtest-1.0.4"
       sources."@webpack-cli/info-1.3.0"
-      sources."@webpack-cli/serve-1.5.1"
+      sources."@webpack-cli/serve-1.5.2"
       sources."@xtuc/ieee754-1.2.0"
       sources."@xtuc/long-4.2.2"
       sources."acorn-8.4.1"
+      sources."acorn-import-assertions-1.7.6"
       sources."ajv-6.12.6"
       sources."ajv-keywords-3.5.2"
       sources."ansi-colors-4.1.1"
@@ -116692,13 +120099,13 @@ in
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
       sources."browser-stdout-1.3.1"
-      sources."browserslist-4.16.6"
+      sources."browserslist-4.16.8"
       sources."buffer-crc32-0.2.13"
-      sources."buffer-from-1.1.1"
+      sources."buffer-from-1.1.2"
       sources."call-bind-1.0.2"
       sources."camelcase-6.2.0"
-      sources."caniuse-lite-1.0.30001246"
-      (sources."chalk-4.1.1" // {
+      sources."caniuse-lite-1.0.30001252"
+      (sources."chalk-4.1.2" // {
         dependencies = [
           sources."supports-color-7.2.0"
         ];
@@ -116718,7 +120125,7 @@ in
       sources."clone-deep-4.0.1"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
-      sources."colorette-1.2.2"
+      sources."colorette-1.3.0"
       sources."commander-6.2.1"
       sources."concat-map-0.0.1"
       sources."core-util-is-1.0.2"
@@ -116737,7 +120144,7 @@ in
       sources."domelementtype-2.2.0"
       sources."domhandler-4.2.0"
       sources."domutils-2.7.0"
-      sources."electron-to-chromium-1.3.782"
+      sources."electron-to-chromium-1.3.818"
       sources."emoji-regex-8.0.0"
       sources."emojis-list-3.0.0"
       sources."enhanced-resolve-5.8.2"
@@ -116772,7 +120179,7 @@ in
       sources."glob-7.1.6"
       sources."glob-parent-5.1.2"
       sources."glob-to-regexp-0.4.1"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."growl-1.10.5"
       sources."has-1.0.3"
       sources."has-flag-4.0.0"
@@ -116785,14 +120192,14 @@ in
       sources."inherits-2.0.4"
       sources."interpret-2.2.0"
       sources."is-binary-path-2.1.0"
-      sources."is-core-module-2.5.0"
+      sources."is-core-module-2.6.0"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-2.0.0"
       sources."is-glob-4.0.1"
       sources."is-number-7.0.0"
       sources."is-plain-obj-2.1.0"
       sources."is-plain-object-2.0.4"
-      sources."is-stream-2.0.0"
+      sources."is-stream-2.0.1"
       sources."isarray-0.0.1"
       sources."isexe-2.0.0"
       sources."isobject-3.0.1"
@@ -116829,8 +120236,8 @@ in
       sources."merge-stream-2.0.0"
       sources."micromatch-4.0.4"
       sources."mime-1.6.0"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."mimic-fn-2.1.0"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
@@ -116839,7 +120246,7 @@ in
       sources."mute-stream-0.0.8"
       sources."nanoid-3.1.20"
       sources."neo-async-2.6.2"
-      sources."node-releases-1.1.73"
+      sources."node-releases-1.1.75"
       sources."normalize-path-3.0.0"
       sources."npm-run-path-4.0.1"
       sources."nth-check-2.0.0"
@@ -116891,7 +120298,6 @@ in
       sources."shebang-regex-3.0.0"
       sources."side-channel-1.0.4"
       sources."signal-exit-3.0.3"
-      sources."source-list-map-2.0.1"
       sources."source-map-0.6.1"
       sources."source-map-support-0.5.19"
       sources."sprintf-js-1.0.3"
@@ -116903,7 +120309,7 @@ in
       sources."strip-json-comments-3.1.1"
       sources."supports-color-8.1.1"
       sources."tapable-2.2.0"
-      (sources."terser-5.7.1" // {
+      (sources."terser-5.7.2" // {
         dependencies = [
           sources."commander-2.20.3"
           sources."source-map-0.7.3"
@@ -116923,9 +120329,9 @@ in
           sources."tapable-1.1.3"
         ];
       })
-      sources."tslib-2.3.0"
+      sources."tslib-2.3.1"
       sources."tunnel-0.0.6"
-      sources."typed-rest-client-1.8.4"
+      sources."typed-rest-client-1.8.5"
       sources."typescript-4.3.5"
       sources."uc.micro-1.0.6"
       sources."underscore-1.13.1"
@@ -116944,17 +120350,17 @@ in
           sources."supports-color-5.5.0"
         ];
       })
-      sources."vscode-debugadapter-testsupport-1.47.0"
-      sources."vscode-debugprotocol-1.47.0"
+      sources."vscode-debugadapter-testsupport-1.49.0"
+      sources."vscode-debugprotocol-1.49.0"
       sources."watchpack-2.2.0"
-      sources."webpack-5.45.1"
-      (sources."webpack-cli-4.7.2" // {
+      sources."webpack-5.51.1"
+      (sources."webpack-cli-4.8.0" // {
         dependencies = [
           sources."commander-7.2.0"
         ];
       })
       sources."webpack-merge-5.8.0"
-      sources."webpack-sources-2.3.1"
+      sources."webpack-sources-3.2.0"
       sources."which-2.0.2"
       sources."wide-align-1.1.3"
       sources."wildcard-2.0.0"
@@ -117100,7 +120506,7 @@ in
       sources."git-clone-0.1.0"
       sources."glob-7.1.7"
       sources."got-6.7.1"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."gray-matter-2.1.1"
       sources."handlebars-4.7.7"
       sources."har-schema-2.0.0"
@@ -117159,8 +120565,8 @@ in
           sources."supports-color-2.0.0"
         ];
       })
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."mimic-fn-1.2.0"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
@@ -117245,7 +120651,7 @@ in
       sources."tslib-1.14.1"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
-      sources."uglify-js-3.13.10"
+      sources."uglify-js-3.14.1"
       sources."uid-0.0.2"
       sources."unbzip2-stream-1.4.3"
       sources."unyield-0.0.1"
@@ -117287,7 +120693,7 @@ in
     };
     dependencies = [
       sources."@babel/code-frame-7.14.5"
-      sources."@babel/helper-validator-identifier-7.14.8"
+      sources."@babel/helper-validator-identifier-7.14.9"
       sources."@babel/highlight-7.14.5"
       sources."@emmetio/extract-abbreviation-0.1.6"
       sources."@mrmlnc/readdir-enhanced-2.2.1"
@@ -117304,7 +120710,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-16.4.0"
+      sources."@types/node-16.7.2"
       sources."@types/unist-2.0.6"
       sources."@types/vfile-3.0.2"
       sources."@types/vfile-message-2.0.0"
@@ -117373,7 +120779,7 @@ in
         ];
       })
       sources."buefy-helper-json-1.0.3"
-      sources."buffer-from-1.1.1"
+      sources."buffer-from-1.1.2"
       sources."builtin-modules-1.1.1"
       sources."cache-base-1.0.1"
       (sources."cacheable-request-6.1.0" // {
@@ -117504,7 +120910,7 @@ in
           sources."eslint-scope-5.1.1"
           sources."espree-6.2.1"
           sources."ms-2.1.2"
-          (sources."vue-eslint-parser-7.9.0" // {
+          (sources."vue-eslint-parser-7.10.0" // {
             dependencies = [
               sources."semver-6.3.0"
             ];
@@ -117604,7 +121010,7 @@ in
           sources."get-stream-4.1.0"
         ];
       })
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."gridsome-helper-json-1.0.3"
       sources."has-1.0.3"
       (sources."has-ansi-2.0.0" // {
@@ -117659,7 +121065,7 @@ in
       sources."is-binary-path-2.1.0"
       sources."is-buffer-2.0.5"
       sources."is-ci-2.0.0"
-      sources."is-core-module-2.5.0"
+      sources."is-core-module-2.6.0"
       sources."is-data-descriptor-1.0.0"
       sources."is-decimal-1.0.4"
       sources."is-descriptor-1.0.2"
@@ -117978,7 +121384,7 @@ in
       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.9"
+      sources."spdx-license-ids-3.0.10"
       sources."split-string-3.1.0"
       sources."sprintf-js-1.0.3"
       sources."stampit-1.2.0"
@@ -118142,7 +121548,7 @@ in
           sources."vfile-message-2.0.4"
         ];
       })
-      sources."vfile-message-3.0.1"
+      sources."vfile-message-3.0.2"
       (sources."vfile-reporter-6.0.2" // {
         dependencies = [
           sources."ansi-regex-5.0.0"
@@ -118227,7 +121633,7 @@ in
       sha512 = "uhSNGU27KDT2e2v51l/NqMc59O7X0DG7CHonZOwsnvMHLvyudCLZgXCU8Rw4T8gpqg2asn50vfPHq7l3DGlN5w==";
     };
     dependencies = [
-      sources."@babel/runtime-corejs3-7.14.8"
+      sources."@babel/runtime-corejs3-7.15.3"
       sources."@mapbox/node-pre-gyp-1.0.5"
       sources."@tootallnate/once-1.1.2"
       sources."@types/raf-3.4.0"
@@ -118256,7 +121662,7 @@ in
           sources."is-fullwidth-code-point-3.0.0"
           sources."string-width-4.2.2"
           sources."strip-ansi-6.0.0"
-          sources."yargs-17.0.1"
+          sources."yargs-17.1.1"
         ];
       })
       sources."brace-expansion-1.1.11"
@@ -118279,7 +121685,7 @@ in
       sources."combined-stream-1.0.8"
       sources."concat-map-0.0.1"
       sources."console-control-strings-1.1.0"
-      sources."core-js-pure-3.15.2"
+      sources."core-js-pure-3.16.3"
       sources."core-util-is-1.0.2"
       sources."cssom-0.4.4"
       (sources."cssstyle-2.3.0" // {
@@ -118314,7 +121720,7 @@ in
       sources."gauge-2.7.4"
       sources."get-caller-file-2.0.5"
       sources."glob-7.1.7"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."has-unicode-2.0.1"
       sources."html-encoding-sniffer-2.0.1"
       sources."http-proxy-agent-4.0.1"
@@ -118325,7 +121731,7 @@ in
       sources."is-fullwidth-code-point-1.0.0"
       sources."is-potential-custom-element-name-1.0.1"
       sources."isarray-1.0.0"
-      sources."jsdom-16.6.0"
+      sources."jsdom-16.7.0"
       sources."json5-2.2.0"
       sources."jsonfile-6.1.0"
       sources."levn-0.3.0"
@@ -118337,8 +121743,8 @@ in
           sources."semver-6.3.0"
         ];
       })
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."mimic-response-2.1.0"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
@@ -118346,7 +121752,7 @@ in
       sources."minizlib-2.1.2"
       sources."mkdirp-1.0.4"
       sources."ms-2.1.2"
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       sources."node-fetch-2.6.1"
       sources."nopt-5.0.0"
       sources."npmlog-4.1.2"
@@ -118365,7 +121771,7 @@ in
       sources."punycode-2.1.1"
       sources."raf-3.4.1"
       sources."readable-stream-2.3.7"
-      sources."regenerator-runtime-0.13.8"
+      sources."regenerator-runtime-0.13.9"
       sources."require-directory-2.1.1"
       sources."rgbcolor-1.0.1"
       sources."rimraf-3.0.2"
@@ -118386,7 +121792,7 @@ in
       sources."svg-pathdata-5.0.5"
       sources."svg2img-0.9.3"
       sources."symbol-tree-3.2.4"
-      sources."tar-6.1.0"
+      sources."tar-6.1.11"
       (sources."tough-cookie-4.0.0" // {
         dependencies = [
           sources."universalify-0.1.2"
@@ -118443,14 +121849,14 @@ in
   web-ext = nodeEnv.buildNodePackage {
     name = "web-ext";
     packageName = "web-ext";
-    version = "6.2.0";
+    version = "6.3.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/web-ext/-/web-ext-6.2.0.tgz";
-      sha512 = "vibPf31/5NajygV85b6PSki2gZwOK0lQYfC2q30VdEHeS1d4hJU39mnDXM0D2nM6t7REYR8xRNgmTiDcsHCS8A==";
+      url = "https://registry.npmjs.org/web-ext/-/web-ext-6.3.0.tgz";
+      sha512 = "yMpSFUN6396oMs09zN+gqYM8gozfz932gduLdRCtspt16qt33c8p+7crGkHkAQmLRloMn2c4I/1RKgMq02Vnhg==";
     };
     dependencies = [
       sources."@babel/code-frame-7.12.11"
-      sources."@babel/helper-validator-identifier-7.14.8"
+      sources."@babel/helper-validator-identifier-7.14.9"
       (sources."@babel/highlight-7.14.5" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
@@ -118469,23 +121875,32 @@ in
       (sources."@eslint/eslintrc-0.4.3" // {
         dependencies = [
           sources."debug-4.3.2"
+          sources."eslint-visitor-keys-1.3.0"
+          sources."espree-7.3.1"
+          sources."ms-2.1.2"
+        ];
+      })
+      (sources."@humanwhocodes/config-array-0.5.0" // {
+        dependencies = [
+          sources."debug-4.3.2"
           sources."ms-2.1.2"
         ];
       })
-      sources."@mdn/browser-compat-data-3.3.7"
+      sources."@humanwhocodes/object-schema-1.2.0"
+      sources."@mdn/browser-compat-data-3.3.14"
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-16.4.0"
+      sources."@types/node-16.7.2"
       sources."@types/yauzl-2.9.1"
       sources."acorn-7.4.1"
       sources."acorn-jsx-5.3.2"
-      (sources."addons-linter-3.8.0" // {
+      (sources."addons-linter-3.12.0" // {
         dependencies = [
-          sources."yargs-17.0.1"
+          sources."yargs-17.1.0"
         ];
       })
-      sources."addons-scanner-utils-4.8.0"
+      sources."addons-scanner-utils-4.9.0"
       sources."adm-zip-0.5.5"
       sources."ajv-6.12.6"
       sources."ajv-merge-patch-4.1.0"
@@ -118526,7 +121941,7 @@ in
       sources."brace-expansion-1.1.11"
       sources."buffer-crc32-0.2.13"
       sources."buffer-equal-constant-time-1.0.1"
-      sources."buffer-from-1.1.1"
+      sources."buffer-from-1.1.2"
       sources."bunyan-1.8.15"
       (sources."cacheable-request-6.1.0" // {
         dependencies = [
@@ -118537,7 +121952,7 @@ in
       sources."callsites-3.1.0"
       sources."camelcase-6.2.0"
       sources."caseless-0.12.0"
-      sources."chalk-4.1.1"
+      sources."chalk-4.1.2"
       sources."cheerio-1.0.0-rc.10"
       sources."cheerio-select-1.5.0"
       sources."chrome-launcher-0.14.0"
@@ -118553,7 +121968,7 @@ in
       sources."clone-response-1.0.2"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
-      sources."colorette-1.2.2"
+      sources."colorette-1.3.0"
       sources."columnify-1.5.4"
       sources."combined-stream-1.0.8"
       sources."commander-2.20.3"
@@ -118561,7 +121976,7 @@ in
       sources."concat-map-0.0.1"
       sources."concat-stream-1.6.2"
       sources."configstore-5.0.1"
-      sources."core-js-3.12.0"
+      sources."core-js-3.16.0"
       sources."core-util-is-1.0.2"
       sources."cross-spawn-7.0.3"
       sources."crypto-random-string-2.0.0"
@@ -118583,7 +121998,8 @@ in
       sources."delayed-stream-1.0.0"
       (sources."dispensary-0.62.0" // {
         dependencies = [
-          sources."async-3.2.0"
+          sources."async-3.2.1"
+          sources."pino-6.11.3"
         ];
       })
       sources."doctrine-3.0.0"
@@ -118602,14 +122018,20 @@ in
       sources."entities-2.2.0"
       sources."error-ex-1.3.2"
       sources."es6-error-4.1.1"
-      sources."es6-promisify-6.1.1"
+      sources."es6-promisify-7.0.0"
       sources."escalade-3.1.1"
       sources."escape-goat-2.1.1"
       sources."escape-string-regexp-4.0.0"
-      (sources."eslint-7.28.0" // {
+      (sources."eslint-7.32.0" // {
         dependencies = [
           sources."ansi-regex-5.0.0"
           sources."debug-4.3.2"
+          sources."eslint-visitor-keys-2.1.0"
+          (sources."espree-7.3.1" // {
+            dependencies = [
+              sources."eslint-visitor-keys-1.3.0"
+            ];
+          })
           sources."ms-2.1.2"
           sources."strip-ansi-6.0.0"
         ];
@@ -118621,10 +122043,10 @@ in
           sources."eslint-visitor-keys-1.3.0"
         ];
       })
-      sources."eslint-visitor-keys-2.1.0"
-      (sources."espree-7.3.1" // {
+      sources."eslint-visitor-keys-3.0.0"
+      (sources."espree-8.0.0" // {
         dependencies = [
-          sources."eslint-visitor-keys-1.3.0"
+          sources."acorn-8.4.1"
         ];
       })
       sources."esprima-4.0.1"
@@ -118664,7 +122086,7 @@ in
       sources."first-chunk-stream-3.0.0"
       sources."flat-cache-3.0.4"
       sources."flatstr-1.0.12"
-      sources."flatted-3.2.1"
+      sources."flatted-3.2.2"
       sources."fluent-syntax-0.13.0"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
@@ -118691,13 +122113,13 @@ in
       sources."glob-parent-5.1.2"
       sources."glob-to-regexp-0.4.1"
       sources."global-dirs-3.0.0"
-      sources."globals-13.10.0"
+      sources."globals-13.11.0"
       (sources."got-9.6.0" // {
         dependencies = [
           sources."get-stream-4.1.0"
         ];
       })
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."graceful-readlink-1.0.1"
       sources."growly-1.3.0"
       sources."har-schema-2.0.0"
@@ -118705,6 +122127,7 @@ in
       sources."has-1.0.3"
       sources."has-flag-4.0.0"
       sources."has-symbols-1.0.2"
+      sources."has-tostringtag-1.0.0"
       sources."has-yarn-2.1.0"
       sources."htmlparser2-6.1.0"
       sources."http-cache-semantics-4.1.0"
@@ -118721,10 +122144,10 @@ in
       sources."ini-2.0.0"
       sources."invert-kv-3.0.1"
       sources."is-absolute-0.1.7"
-      sources."is-arguments-1.1.0"
+      sources."is-arguments-1.1.1"
       sources."is-arrayish-0.2.1"
       sources."is-ci-2.0.0"
-      sources."is-date-object-1.0.4"
+      sources."is-date-object-1.0.5"
       sources."is-docker-2.2.1"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
@@ -118734,9 +122157,9 @@ in
       sources."is-npm-5.0.0"
       sources."is-obj-2.0.0"
       sources."is-path-inside-3.0.3"
-      sources."is-regex-1.1.3"
+      sources."is-regex-1.1.4"
       sources."is-relative-0.1.3"
-      sources."is-stream-2.0.0"
+      sources."is-stream-2.0.1"
       sources."is-typedarray-1.0.0"
       sources."is-utf8-0.2.1"
       sources."is-wsl-2.2.0"
@@ -118768,7 +122191,7 @@ in
         ];
       })
       sources."jsprim-1.4.1"
-      sources."jszip-3.6.0"
+      sources."jszip-3.7.1"
       sources."jwa-1.4.1"
       sources."jws-3.2.2"
       sources."keyv-3.1.0"
@@ -118799,8 +122222,8 @@ in
       sources."marky-1.2.2"
       sources."mem-5.1.1"
       sources."merge-stream-2.0.0"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."mimic-fn-2.1.0"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.0.4"
@@ -118817,8 +122240,8 @@ in
         ];
       })
       sources."mz-2.7.0"
-      sources."nan-2.14.2"
-      sources."nanoid-3.1.23"
+      sources."nan-2.15.0"
+      sources."nanoid-3.1.25"
       sources."natural-compare-1.4.0"
       sources."natural-compare-lite-1.4.0"
       sources."ncp-2.0.0"
@@ -118858,9 +122281,9 @@ in
       sources."path-key-3.1.1"
       sources."pend-1.2.0"
       sources."performance-now-2.1.0"
-      sources."pino-6.11.3"
+      sources."pino-6.13.0"
       sources."pino-std-serializers-3.2.0"
-      sources."postcss-8.3.4"
+      sources."postcss-8.3.6"
       sources."prelude-ls-1.2.1"
       sources."prepend-http-2.0.0"
       sources."process-nextick-args-2.0.1"
@@ -118883,7 +122306,7 @@ in
           sources."safe-buffer-5.1.2"
         ];
       })
-      sources."regenerator-runtime-0.13.8"
+      sources."regenerator-runtime-0.13.9"
       sources."regexp.prototype.flags-1.3.1"
       sources."regexpp-3.2.0"
       sources."registry-auth-token-4.2.1"
@@ -118921,7 +122344,7 @@ in
       sources."shebang-regex-3.0.0"
       sources."shell-quote-1.6.1"
       sources."shellwords-0.1.1"
-      sources."sign-addon-3.5.0"
+      sources."sign-addon-3.7.0"
       sources."signal-exit-3.0.3"
       sources."slice-ansi-4.0.0"
       sources."sonic-boom-1.4.1"
@@ -118968,7 +122391,7 @@ in
       sources."to-readable-stream-1.0.0"
       sources."tosource-1.0.0"
       sources."tough-cookie-2.5.0"
-      sources."tslib-2.3.0"
+      sources."tslib-2.3.1"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."type-check-0.4.0"
@@ -119012,7 +122435,7 @@ in
       sources."yauzl-2.10.0"
       (sources."zip-dir-2.0.0" // {
         dependencies = [
-          sources."async-3.2.0"
+          sources."async-3.2.1"
         ];
       })
     ];
@@ -119029,17 +122452,17 @@ in
   webpack = nodeEnv.buildNodePackage {
     name = "webpack";
     packageName = "webpack";
-    version = "5.45.1";
+    version = "5.51.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/webpack/-/webpack-5.45.1.tgz";
-      sha512 = "68VT2ZgG9EHs6h6UxfV2SEYewA9BA3SOLSnC2NEbJJiEwbAiueDL033R1xX0jzjmXvMh0oSeKnKgbO2bDXIEyQ==";
+      url = "https://registry.npmjs.org/webpack/-/webpack-5.51.1.tgz";
+      sha512 = "xsn3lwqEKoFvqn4JQggPSRxE4dhsRcysWTqYABAZlmavcoTmwlOb9b1N36Inbt/eIispSkuHa80/FJkDTPos1A==";
     };
     dependencies = [
       sources."@types/eslint-7.28.0"
       sources."@types/eslint-scope-3.7.1"
       sources."@types/estree-0.0.50"
-      sources."@types/json-schema-7.0.8"
-      sources."@types/node-16.4.0"
+      sources."@types/json-schema-7.0.9"
+      sources."@types/node-16.7.2"
       sources."@webassemblyjs/ast-1.11.1"
       sources."@webassemblyjs/floating-point-hex-parser-1.11.1"
       sources."@webassemblyjs/helper-api-error-1.11.1"
@@ -119058,15 +122481,16 @@ in
       sources."@xtuc/ieee754-1.2.0"
       sources."@xtuc/long-4.2.2"
       sources."acorn-8.4.1"
+      sources."acorn-import-assertions-1.7.6"
       sources."ajv-6.12.6"
       sources."ajv-keywords-3.5.2"
-      sources."browserslist-4.16.6"
-      sources."buffer-from-1.1.1"
-      sources."caniuse-lite-1.0.30001246"
+      sources."browserslist-4.16.8"
+      sources."buffer-from-1.1.2"
+      sources."caniuse-lite-1.0.30001252"
       sources."chrome-trace-event-1.0.3"
-      sources."colorette-1.2.2"
+      sources."colorette-1.3.0"
       sources."commander-2.20.3"
-      sources."electron-to-chromium-1.3.782"
+      sources."electron-to-chromium-1.3.818"
       sources."enhanced-resolve-5.8.2"
       sources."es-module-lexer-0.7.1"
       sources."escalade-3.1.1"
@@ -119081,29 +122505,28 @@ in
       sources."fast-deep-equal-3.1.3"
       sources."fast-json-stable-stringify-2.1.0"
       sources."glob-to-regexp-0.4.1"
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."has-flag-4.0.0"
       sources."jest-worker-27.0.6"
       sources."json-parse-better-errors-1.0.2"
       sources."json-schema-traverse-0.4.1"
       sources."loader-runner-4.2.0"
       sources."merge-stream-2.0.0"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."neo-async-2.6.2"
-      sources."node-releases-1.1.73"
+      sources."node-releases-1.1.75"
       sources."p-limit-3.1.0"
       sources."punycode-2.1.1"
       sources."randombytes-2.1.0"
       sources."safe-buffer-5.2.1"
       sources."schema-utils-3.1.1"
       sources."serialize-javascript-6.0.0"
-      sources."source-list-map-2.0.1"
       sources."source-map-0.6.1"
       sources."source-map-support-0.5.19"
       sources."supports-color-8.1.1"
       sources."tapable-2.2.0"
-      (sources."terser-5.7.1" // {
+      (sources."terser-5.7.2" // {
         dependencies = [
           sources."source-map-0.7.3"
         ];
@@ -119111,7 +122534,7 @@ in
       sources."terser-webpack-plugin-5.1.4"
       sources."uri-js-4.4.1"
       sources."watchpack-2.2.0"
-      sources."webpack-sources-2.3.1"
+      sources."webpack-sources-3.2.0"
       sources."yocto-queue-0.1.0"
     ];
     buildInputs = globalBuildInputs;
@@ -119127,18 +122550,18 @@ in
   webpack-cli = nodeEnv.buildNodePackage {
     name = "webpack-cli";
     packageName = "webpack-cli";
-    version = "4.7.2";
+    version = "4.8.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.7.2.tgz";
-      sha512 = "mEoLmnmOIZQNiRl0ebnjzQ74Hk0iKS5SiEEnpq3dRezoyR3yPaeQZCMCe+db4524pj1Pd5ghZXjT41KLzIhSLw==";
+      url = "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.8.0.tgz";
+      sha512 = "+iBSWsX16uVna5aAYN6/wjhJy1q/GKk4KjKvfg90/6hykCTSgozbfz5iRgDTSJt/LgSbYxdBX3KBHeobIs+ZEw==";
     };
     dependencies = [
       sources."@discoveryjs/json-ext-0.5.3"
       sources."@webpack-cli/configtest-1.0.4"
       sources."@webpack-cli/info-1.3.0"
-      sources."@webpack-cli/serve-1.5.1"
+      sources."@webpack-cli/serve-1.5.2"
       sources."clone-deep-4.0.1"
-      sources."colorette-1.2.2"
+      sources."colorette-1.3.0"
       sources."commander-7.2.0"
       sources."cross-spawn-7.0.3"
       sources."envinfo-7.8.1"
@@ -119151,9 +122574,9 @@ in
       sources."human-signals-2.1.0"
       sources."import-local-3.0.2"
       sources."interpret-2.2.0"
-      sources."is-core-module-2.5.0"
+      sources."is-core-module-2.6.0"
       sources."is-plain-object-2.0.4"
-      sources."is-stream-2.0.0"
+      sources."is-stream-2.0.1"
       sources."isexe-2.0.0"
       sources."isobject-3.0.1"
       sources."kind-of-6.0.3"
@@ -119196,100 +122619,49 @@ in
   webpack-dev-server = nodeEnv.buildNodePackage {
     name = "webpack-dev-server";
     packageName = "webpack-dev-server";
-    version = "3.11.2";
+    version = "4.0.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.2.tgz";
-      sha512 = "A80BkuHRQfCiNtGBS1EMf2ChTUs0x+B3wGDFmOeT4rmJOHhHTCH2naNxIHhmkr0/UillP4U3yeIyv1pNp+QDLQ==";
+      url = "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.0.0.tgz";
+      sha512 = "ya5cjoBSf3LqrshZn2HMaRZQx8YRNBE+tx+CQNFGaLLHrvs4Y1aik0sl5SFhLz2cW1O9/NtyaZhthc+8UiuvkQ==";
     };
     dependencies = [
-      sources."@types/glob-7.1.4"
-      sources."@types/minimatch-3.0.5"
-      sources."@types/node-16.4.0"
+      sources."@nodelib/fs.scandir-2.1.5"
+      sources."@nodelib/fs.stat-2.0.5"
+      sources."@nodelib/fs.walk-1.2.8"
+      sources."@types/http-proxy-1.17.7"
+      sources."@types/json-schema-7.0.9"
+      sources."@types/node-16.7.2"
+      sources."@types/retry-0.12.1"
       sources."accepts-1.3.7"
+      sources."aggregate-error-3.1.0"
       sources."ajv-6.12.6"
-      sources."ajv-errors-1.0.1"
       sources."ajv-keywords-3.5.2"
-      sources."ansi-colors-3.2.4"
       sources."ansi-html-0.0.7"
-      sources."ansi-regex-2.1.1"
-      sources."ansi-styles-3.2.1"
-      (sources."anymatch-2.0.0" // {
-        dependencies = [
-          sources."normalize-path-2.1.1"
-        ];
-      })
-      sources."arr-diff-4.0.0"
-      sources."arr-flatten-1.1.0"
-      sources."arr-union-3.1.0"
+      sources."ansi-regex-6.0.0"
+      sources."anymatch-3.1.2"
       sources."array-flatten-2.1.2"
-      sources."array-union-1.0.2"
-      sources."array-uniq-1.0.3"
-      sources."array-unique-0.3.2"
-      sources."assign-symbols-1.0.0"
+      sources."array-union-2.1.0"
       sources."async-2.6.3"
-      sources."async-each-1.0.3"
-      sources."async-limiter-1.0.1"
-      sources."atob-2.1.2"
       sources."balanced-match-1.0.2"
-      (sources."base-0.11.2" // {
-        dependencies = [
-          sources."define-property-1.0.0"
-        ];
-      })
       sources."batch-0.6.1"
-      sources."binary-extensions-1.13.1"
-      sources."bindings-1.5.0"
+      sources."binary-extensions-2.2.0"
       (sources."body-parser-1.19.0" // {
         dependencies = [
           sources."bytes-3.1.0"
-          sources."debug-2.6.9"
         ];
       })
       sources."bonjour-3.5.0"
       sources."brace-expansion-1.1.11"
-      (sources."braces-2.3.2" // {
-        dependencies = [
-          sources."extend-shallow-2.0.1"
-          sources."is-extendable-0.1.1"
-        ];
-      })
+      sources."braces-3.0.2"
       sources."buffer-indexof-1.1.1"
       sources."bytes-3.0.0"
-      sources."cache-base-1.0.1"
       sources."call-bind-1.0.2"
-      sources."camelcase-5.3.1"
-      sources."chokidar-2.1.8"
-      (sources."class-utils-0.3.6" // {
-        dependencies = [
-          sources."define-property-0.2.5"
-          (sources."is-accessor-descriptor-0.1.6" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          (sources."is-data-descriptor-0.1.4" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."is-descriptor-0.1.6"
-          sources."kind-of-5.1.0"
-        ];
-      })
-      (sources."cliui-5.0.0" // {
-        dependencies = [
-          sources."ansi-regex-4.1.0"
-          sources."strip-ansi-5.2.0"
-        ];
-      })
-      sources."collection-visit-1.0.0"
-      sources."color-convert-1.9.3"
-      sources."color-name-1.1.3"
-      sources."component-emitter-1.3.0"
+      sources."chokidar-3.5.2"
+      sources."clean-stack-2.2.0"
+      sources."colorette-1.3.0"
       sources."compressible-2.0.18"
       (sources."compression-1.7.4" // {
         dependencies = [
-          sources."debug-2.6.9"
           sources."safe-buffer-5.1.2"
         ];
       })
@@ -119303,128 +122675,64 @@ in
       sources."content-type-1.0.4"
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
-      sources."copy-descriptor-0.1.1"
       sources."core-util-is-1.0.2"
-      (sources."cross-spawn-6.0.5" // {
-        dependencies = [
-          sources."semver-5.7.1"
-        ];
-      })
-      (sources."debug-4.3.2" // {
-        dependencies = [
-          sources."ms-2.1.2"
-        ];
-      })
-      sources."decamelize-1.2.0"
-      sources."decode-uri-component-0.2.0"
+      sources."cross-spawn-7.0.3"
+      sources."debug-2.6.9"
       sources."deep-equal-1.1.1"
-      sources."default-gateway-4.2.0"
+      sources."default-gateway-6.0.3"
+      sources."define-lazy-prop-2.0.0"
       sources."define-properties-1.1.3"
-      sources."define-property-2.0.2"
-      sources."del-4.1.1"
+      sources."del-6.0.0"
       sources."depd-1.1.2"
       sources."destroy-1.0.4"
       sources."detect-node-2.1.0"
+      sources."dir-glob-3.0.1"
       sources."dns-equal-1.0.0"
       sources."dns-packet-1.3.4"
       sources."dns-txt-2.0.2"
       sources."ee-first-1.1.1"
-      sources."emoji-regex-7.0.3"
       sources."encodeurl-1.0.2"
-      sources."end-of-stream-1.4.4"
-      sources."errno-0.1.8"
       sources."escape-html-1.0.3"
       sources."etag-1.8.1"
       sources."eventemitter3-4.0.7"
-      sources."eventsource-1.1.0"
-      sources."execa-1.0.0"
-      (sources."expand-brackets-2.1.4" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."define-property-0.2.5"
-          sources."extend-shallow-2.0.1"
-          (sources."is-accessor-descriptor-0.1.6" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          (sources."is-data-descriptor-0.1.4" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."is-descriptor-0.1.6"
-          sources."is-extendable-0.1.1"
-          sources."kind-of-5.1.0"
-        ];
-      })
+      sources."execa-5.1.1"
       (sources."express-4.17.1" // {
         dependencies = [
           sources."array-flatten-1.1.1"
-          sources."debug-2.6.9"
           sources."safe-buffer-5.1.2"
         ];
       })
-      sources."extend-shallow-3.0.2"
-      (sources."extglob-2.0.4" // {
-        dependencies = [
-          sources."define-property-1.0.0"
-          sources."extend-shallow-2.0.1"
-          sources."is-extendable-0.1.1"
-        ];
-      })
       sources."fast-deep-equal-3.1.3"
+      sources."fast-glob-3.2.7"
       sources."fast-json-stable-stringify-2.1.0"
+      sources."fastq-1.12.0"
       sources."faye-websocket-0.11.4"
-      sources."file-uri-to-path-1.0.0"
-      (sources."fill-range-4.0.0" // {
-        dependencies = [
-          sources."extend-shallow-2.0.1"
-          sources."is-extendable-0.1.1"
-        ];
-      })
-      (sources."finalhandler-1.1.2" // {
-        dependencies = [
-          sources."debug-2.6.9"
-        ];
-      })
-      sources."find-up-3.0.0"
-      sources."follow-redirects-1.14.1"
-      sources."for-in-1.0.2"
+      sources."fill-range-7.0.1"
+      sources."finalhandler-1.1.2"
+      sources."follow-redirects-1.14.2"
       sources."forwarded-0.2.0"
-      sources."fragment-cache-0.2.1"
       sources."fresh-0.5.2"
+      sources."fs-monkey-1.0.3"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-1.2.13"
+      sources."fsevents-2.3.2"
       sources."function-bind-1.1.1"
-      sources."get-caller-file-2.0.5"
       sources."get-intrinsic-1.1.1"
-      sources."get-stream-4.1.0"
-      sources."get-value-2.0.6"
+      sources."get-stream-6.0.1"
       sources."glob-7.1.7"
-      (sources."glob-parent-3.1.0" // {
-        dependencies = [
-          sources."is-glob-3.1.0"
-        ];
-      })
-      (sources."globby-6.1.0" // {
-        dependencies = [
-          sources."pify-2.3.0"
-        ];
-      })
-      sources."graceful-fs-4.2.6"
+      sources."glob-parent-5.1.2"
+      sources."globby-11.0.4"
+      sources."graceful-fs-4.2.8"
       sources."handle-thing-2.0.1"
       sources."has-1.0.3"
-      sources."has-flag-3.0.0"
       sources."has-symbols-1.0.2"
-      sources."has-value-1.0.0"
-      (sources."has-values-1.0.0" // {
+      sources."has-tostringtag-1.0.0"
+      (sources."hpack.js-2.1.6" // {
         dependencies = [
-          sources."kind-of-4.0.0"
+          sources."readable-stream-2.3.7"
+          sources."safe-buffer-5.1.2"
         ];
       })
-      sources."hpack.js-2.1.6"
-      sources."html-entities-1.4.0"
+      sources."html-entities-2.3.2"
       sources."http-deceiver-1.2.7"
       (sources."http-errors-1.7.2" // {
         dependencies = [
@@ -119433,336 +122741,183 @@ in
       })
       sources."http-parser-js-0.5.3"
       sources."http-proxy-1.18.1"
-      sources."http-proxy-middleware-0.19.1"
+      sources."http-proxy-middleware-2.0.1"
+      sources."human-signals-2.1.0"
       sources."iconv-lite-0.4.24"
-      sources."import-local-2.0.0"
+      sources."ignore-5.1.8"
+      sources."indent-string-4.0.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."internal-ip-4.3.0"
-      sources."ip-1.1.5"
-      sources."ip-regex-2.1.0"
-      sources."ipaddr.js-1.9.1"
-      sources."is-absolute-url-3.0.3"
-      sources."is-accessor-descriptor-1.0.0"
-      sources."is-arguments-1.1.0"
-      sources."is-binary-path-1.0.1"
-      sources."is-buffer-1.1.6"
-      sources."is-data-descriptor-1.0.0"
-      sources."is-date-object-1.0.4"
-      sources."is-descriptor-1.0.2"
-      sources."is-extendable-1.0.1"
-      sources."is-extglob-2.1.1"
-      sources."is-fullwidth-code-point-2.0.0"
-      sources."is-glob-4.0.1"
-      (sources."is-number-3.0.0" // {
+      (sources."internal-ip-6.2.0" // {
         dependencies = [
-          sources."kind-of-3.2.2"
+          sources."ipaddr.js-1.9.1"
         ];
       })
+      sources."ip-1.1.5"
+      sources."ip-regex-4.3.0"
+      sources."ipaddr.js-2.0.1"
+      sources."is-arguments-1.1.1"
+      sources."is-binary-path-2.1.0"
+      sources."is-date-object-1.0.5"
+      sources."is-docker-2.2.1"
+      sources."is-extglob-2.1.1"
+      sources."is-glob-4.0.1"
+      sources."is-ip-3.1.0"
+      sources."is-number-7.0.0"
       sources."is-path-cwd-2.2.0"
-      sources."is-path-in-cwd-2.1.0"
-      sources."is-path-inside-2.1.0"
-      sources."is-plain-object-2.0.4"
-      sources."is-regex-1.1.3"
-      sources."is-stream-1.1.0"
-      sources."is-windows-1.0.2"
-      sources."is-wsl-1.1.0"
+      sources."is-path-inside-3.0.3"
+      sources."is-plain-obj-3.0.0"
+      sources."is-regex-1.1.4"
+      sources."is-stream-2.0.1"
+      sources."is-wsl-2.2.0"
       sources."isarray-1.0.0"
       sources."isexe-2.0.0"
-      sources."isobject-3.0.1"
       sources."json-schema-traverse-0.4.1"
-      sources."json3-3.3.3"
-      sources."killable-1.0.1"
-      sources."kind-of-6.0.3"
-      sources."locate-path-3.0.0"
       sources."lodash-4.17.21"
-      sources."loglevel-1.7.1"
-      sources."map-cache-0.2.2"
-      sources."map-visit-1.0.0"
+      sources."map-age-cleaner-0.1.3"
       sources."media-typer-0.3.0"
-      sources."memory-fs-0.4.1"
+      (sources."mem-8.1.1" // {
+        dependencies = [
+          sources."mimic-fn-3.1.0"
+        ];
+      })
+      sources."memfs-3.2.2"
       sources."merge-descriptors-1.0.1"
+      sources."merge-stream-2.0.0"
+      sources."merge2-1.4.1"
       sources."methods-1.1.2"
-      sources."micromatch-3.1.10"
+      sources."micromatch-4.0.4"
       sources."mime-1.6.0"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
+      sources."mimic-fn-2.1.0"
       sources."minimalistic-assert-1.0.1"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
-      sources."mixin-deep-1.3.2"
       sources."mkdirp-0.5.5"
       sources."ms-2.0.0"
       sources."multicast-dns-6.2.3"
       sources."multicast-dns-service-types-1.1.0"
-      sources."nan-2.14.2"
-      sources."nanomatch-1.2.13"
       sources."negotiator-0.6.2"
-      sources."nice-try-1.0.5"
       sources."node-forge-0.10.0"
       sources."normalize-path-3.0.0"
-      sources."npm-run-path-2.0.2"
-      sources."object-assign-4.1.1"
-      (sources."object-copy-0.1.0" // {
-        dependencies = [
-          sources."define-property-0.2.5"
-          sources."is-accessor-descriptor-0.1.6"
-          sources."is-data-descriptor-0.1.4"
-          (sources."is-descriptor-0.1.6" // {
-            dependencies = [
-              sources."kind-of-5.1.0"
-            ];
-          })
-          sources."kind-of-3.2.2"
-        ];
-      })
+      sources."npm-run-path-4.0.1"
       sources."object-is-1.1.5"
       sources."object-keys-1.1.1"
-      sources."object-visit-1.0.1"
-      sources."object.pick-1.3.0"
       sources."obuf-1.1.2"
       sources."on-finished-2.3.0"
       sources."on-headers-1.0.2"
       sources."once-1.4.0"
-      sources."opn-5.5.0"
-      sources."original-1.0.2"
+      sources."onetime-5.1.2"
+      sources."open-8.2.1"
+      sources."p-defer-1.0.0"
+      sources."p-event-4.2.0"
       sources."p-finally-1.0.0"
-      sources."p-limit-2.3.0"
-      sources."p-locate-3.0.0"
-      sources."p-map-2.1.0"
-      sources."p-retry-3.0.1"
-      sources."p-try-2.2.0"
+      sources."p-map-4.0.0"
+      sources."p-retry-4.6.1"
+      sources."p-timeout-3.2.0"
       sources."parseurl-1.3.3"
-      sources."pascalcase-0.1.1"
-      sources."path-dirname-1.0.2"
-      sources."path-exists-3.0.0"
       sources."path-is-absolute-1.0.1"
-      sources."path-is-inside-1.0.2"
-      sources."path-key-2.0.1"
+      sources."path-key-3.1.1"
       sources."path-to-regexp-0.1.7"
-      sources."pify-4.0.1"
-      sources."pinkie-2.0.4"
-      sources."pinkie-promise-2.0.1"
-      sources."pkg-dir-3.0.0"
+      sources."path-type-4.0.0"
+      sources."picomatch-2.3.0"
       (sources."portfinder-1.0.28" // {
         dependencies = [
           sources."debug-3.2.7"
           sources."ms-2.1.3"
         ];
       })
-      sources."posix-character-classes-0.1.1"
       sources."process-nextick-args-2.0.1"
-      sources."proxy-addr-2.0.7"
-      sources."prr-1.0.1"
-      sources."pump-3.0.0"
+      (sources."proxy-addr-2.0.7" // {
+        dependencies = [
+          sources."ipaddr.js-1.9.1"
+        ];
+      })
       sources."punycode-2.1.1"
       sources."qs-6.7.0"
       sources."querystring-0.2.0"
-      sources."querystringify-2.2.0"
+      sources."queue-microtask-1.2.3"
       sources."range-parser-1.2.1"
       (sources."raw-body-2.4.0" // {
         dependencies = [
           sources."bytes-3.1.0"
         ];
       })
-      (sources."readable-stream-2.3.7" // {
-        dependencies = [
-          sources."safe-buffer-5.1.2"
-        ];
-      })
-      sources."readdirp-2.2.1"
-      sources."regex-not-1.0.2"
+      sources."readable-stream-3.6.0"
+      sources."readdirp-3.6.0"
       sources."regexp.prototype.flags-1.3.1"
-      sources."remove-trailing-separator-1.1.0"
-      sources."repeat-element-1.1.4"
-      sources."repeat-string-1.6.1"
-      sources."require-directory-2.1.1"
-      sources."require-main-filename-2.0.0"
       sources."requires-port-1.0.0"
-      sources."resolve-cwd-2.0.0"
-      sources."resolve-from-3.0.0"
-      sources."resolve-url-0.2.1"
-      sources."ret-0.1.15"
-      sources."retry-0.12.0"
-      sources."rimraf-2.7.1"
+      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.2.1"
-      sources."safe-regex-1.1.0"
       sources."safer-buffer-2.1.2"
-      sources."schema-utils-1.0.0"
+      sources."schema-utils-3.1.1"
       sources."select-hose-2.0.0"
       sources."selfsigned-1.10.11"
-      sources."semver-6.3.0"
       (sources."send-0.17.1" // {
         dependencies = [
-          (sources."debug-2.6.9" // {
-            dependencies = [
-              sources."ms-2.0.0"
-            ];
-          })
           sources."ms-2.1.1"
         ];
       })
       (sources."serve-index-1.9.1" // {
         dependencies = [
-          sources."debug-2.6.9"
           sources."http-errors-1.6.3"
           sources."inherits-2.0.3"
           sources."setprototypeof-1.1.0"
         ];
       })
       sources."serve-static-1.14.1"
-      sources."set-blocking-2.0.0"
-      (sources."set-value-2.0.1" // {
-        dependencies = [
-          sources."extend-shallow-2.0.1"
-          sources."is-extendable-0.1.1"
-        ];
-      })
       sources."setprototypeof-1.1.1"
-      sources."shebang-command-1.2.0"
-      sources."shebang-regex-1.0.0"
+      sources."shebang-command-2.0.0"
+      sources."shebang-regex-3.0.0"
       sources."signal-exit-3.0.3"
-      (sources."snapdragon-0.8.2" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."define-property-0.2.5"
-          sources."extend-shallow-2.0.1"
-          (sources."is-accessor-descriptor-0.1.6" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          (sources."is-data-descriptor-0.1.4" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."is-descriptor-0.1.6"
-          sources."is-extendable-0.1.1"
-          sources."kind-of-5.1.0"
-        ];
-      })
-      (sources."snapdragon-node-2.1.1" // {
-        dependencies = [
-          sources."define-property-1.0.0"
-        ];
-      })
-      (sources."snapdragon-util-3.0.1" // {
-        dependencies = [
-          sources."kind-of-3.2.2"
-        ];
-      })
+      sources."slash-3.0.0"
       sources."sockjs-0.3.21"
-      (sources."sockjs-client-1.5.1" // {
+      (sources."spdy-4.0.2" // {
         dependencies = [
-          sources."debug-3.2.7"
-          sources."ms-2.1.3"
+          sources."debug-4.3.2"
+          sources."ms-2.1.2"
         ];
       })
-      sources."source-map-0.5.7"
-      sources."source-map-resolve-0.5.3"
-      sources."source-map-url-0.4.1"
-      sources."spdy-4.0.2"
       (sources."spdy-transport-3.0.0" // {
         dependencies = [
-          sources."readable-stream-3.6.0"
-        ];
-      })
-      sources."split-string-3.1.0"
-      (sources."static-extend-0.1.2" // {
-        dependencies = [
-          sources."define-property-0.2.5"
-          (sources."is-accessor-descriptor-0.1.6" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          (sources."is-data-descriptor-0.1.4" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."is-descriptor-0.1.6"
-          sources."kind-of-5.1.0"
+          sources."debug-4.3.2"
+          sources."ms-2.1.2"
         ];
       })
       sources."statuses-1.5.0"
-      (sources."string-width-3.1.0" // {
-        dependencies = [
-          sources."ansi-regex-4.1.0"
-          sources."strip-ansi-5.2.0"
-        ];
-      })
       (sources."string_decoder-1.1.1" // {
         dependencies = [
           sources."safe-buffer-5.1.2"
         ];
       })
-      sources."strip-ansi-3.0.1"
-      sources."strip-eof-1.0.0"
-      sources."supports-color-6.1.0"
+      sources."strip-ansi-7.0.0"
+      sources."strip-final-newline-2.0.0"
       sources."thunky-1.1.0"
-      (sources."to-object-path-0.3.0" // {
-        dependencies = [
-          sources."kind-of-3.2.2"
-        ];
-      })
-      sources."to-regex-3.0.2"
-      sources."to-regex-range-2.1.1"
+      sources."to-regex-range-5.0.1"
       sources."toidentifier-1.0.0"
       sources."type-is-1.6.18"
-      (sources."union-value-1.0.1" // {
-        dependencies = [
-          sources."is-extendable-0.1.1"
-        ];
-      })
       sources."unpipe-1.0.0"
-      (sources."unset-value-1.0.0" // {
-        dependencies = [
-          (sources."has-value-0.3.1" // {
-            dependencies = [
-              sources."isobject-2.1.0"
-            ];
-          })
-          sources."has-values-0.1.4"
-        ];
-      })
-      sources."upath-1.2.0"
       sources."uri-js-4.4.1"
-      sources."urix-0.1.0"
       (sources."url-0.11.0" // {
         dependencies = [
           sources."punycode-1.3.2"
         ];
       })
-      sources."url-parse-1.5.1"
-      sources."use-3.1.1"
       sources."util-deprecate-1.0.2"
       sources."utils-merge-1.0.1"
       sources."uuid-3.4.0"
       sources."vary-1.1.2"
       sources."wbuf-1.7.3"
-      (sources."webpack-dev-middleware-3.7.3" // {
-        dependencies = [
-          sources."mime-2.5.2"
-        ];
-      })
-      sources."webpack-log-2.0.0"
+      sources."webpack-dev-middleware-5.0.0"
       sources."websocket-driver-0.7.4"
       sources."websocket-extensions-0.1.4"
-      sources."which-1.3.1"
-      sources."which-module-2.0.0"
-      (sources."wrap-ansi-5.1.0" // {
-        dependencies = [
-          sources."ansi-regex-4.1.0"
-          sources."strip-ansi-5.2.0"
-        ];
-      })
+      sources."which-2.0.2"
       sources."wrappy-1.0.2"
-      sources."ws-6.2.2"
-      sources."y18n-4.0.3"
-      sources."yargs-13.3.2"
-      sources."yargs-parser-13.1.2"
+      sources."ws-8.2.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -119786,7 +122941,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/json-schema-7.0.8"
+      sources."@types/json-schema-7.0.9"
       sources."ajv-6.12.6"
       sources."ajv-keywords-3.5.2"
       sources."array-union-2.1.0"
@@ -119799,7 +122954,7 @@ in
         ];
       })
       sources."fast-json-stable-stringify-2.1.0"
-      sources."fastq-1.11.1"
+      sources."fastq-1.12.0"
       sources."fill-range-7.0.1"
       sources."glob-parent-6.0.1"
       sources."globby-11.0.4"
@@ -119840,10 +122995,10 @@ in
   webtorrent-cli = nodeEnv.buildNodePackage {
     name = "webtorrent-cli";
     packageName = "webtorrent-cli";
-    version = "3.5.3";
+    version = "3.5.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/webtorrent-cli/-/webtorrent-cli-3.5.3.tgz";
-      sha512 = "Av+6PnflFJueTj19z6Pv/ai9KzOV8r7nClBiQCBbO55eqNL6pNBV47N/KwxDIPx8OeATTFEA/joCohi5AD/8TQ==";
+      url = "https://registry.npmjs.org/webtorrent-cli/-/webtorrent-cli-3.5.4.tgz";
+      sha512 = "7YZv5fSs6tf0JPSQT5eT02t+IgZR7sHPGGSbT2ZmE4VO3X1a4WhSIP4tIpQCNxbzcKCCe6NFimpTxlxXNF/KEQ==";
     };
     dependencies = [
       sources."@leichtgewicht/ip-codec-2.0.3"
@@ -119858,37 +123013,37 @@ in
       sources."@protobufjs/pool-1.1.0"
       sources."@protobufjs/utf8-1.1.0"
       sources."@types/long-4.0.1"
-      sources."@types/node-16.4.0"
-      sources."addr-to-ip-port-1.5.1"
+      sources."@types/node-16.7.2"
+      sources."addr-to-ip-port-1.5.4"
       sources."airplay-js-0.3.0"
       sources."ansi-regex-5.0.0"
       sources."ansi-styles-4.3.0"
       sources."balanced-match-1.0.2"
       sources."base64-js-1.5.1"
-      sources."bencode-2.0.1"
-      sources."bep53-range-1.1.0"
+      sources."bencode-2.0.2"
+      sources."bep53-range-1.1.1"
       sources."binary-search-1.3.6"
       sources."bitfield-4.0.0"
-      (sources."bittorrent-dht-10.0.1" // {
+      (sources."bittorrent-dht-10.0.2" // {
         dependencies = [
           sources."debug-4.3.2"
           sources."ms-2.1.2"
         ];
       })
-      (sources."bittorrent-lsd-1.1.0" // {
+      (sources."bittorrent-lsd-1.1.1" // {
         dependencies = [
           sources."debug-4.3.2"
           sources."ms-2.1.2"
         ];
       })
-      sources."bittorrent-peerid-1.3.3"
-      (sources."bittorrent-protocol-3.4.2" // {
+      sources."bittorrent-peerid-1.3.4"
+      (sources."bittorrent-protocol-3.4.3" // {
         dependencies = [
           sources."debug-4.3.2"
           sources."ms-2.1.2"
         ];
       })
-      (sources."bittorrent-tracker-9.17.3" // {
+      (sources."bittorrent-tracker-9.18.0" // {
         dependencies = [
           sources."debug-4.3.2"
           sources."decompress-response-6.0.0"
@@ -119906,7 +123061,7 @@ in
       sources."buffer-alloc-1.2.0"
       sources."buffer-alloc-unsafe-1.1.0"
       sources."buffer-fill-1.0.0"
-      sources."buffer-from-1.1.1"
+      sources."buffer-from-1.1.2"
       sources."buffer-indexof-1.1.1"
       sources."bufferutil-4.0.3"
       sources."cache-chunk-store-3.2.2"
@@ -119917,7 +123072,7 @@ in
         ];
       })
       sources."castv2-client-1.2.0"
-      sources."chalk-4.1.1"
+      sources."chalk-4.1.2"
       sources."charset-1.0.1"
       sources."chrome-dgram-3.0.6"
       sources."chrome-dns-1.0.1"
@@ -119929,6 +123084,7 @@ in
       })
       sources."chunk-store-stream-4.3.0"
       sources."cliui-7.0.4"
+      sources."clone-1.0.4"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
       sources."common-tags-1.8.0"
@@ -119943,7 +123099,7 @@ in
       })
       sources."core-util-is-1.0.2"
       sources."cpus-1.0.3"
-      sources."create-torrent-4.7.0"
+      sources."create-torrent-5.0.1"
       sources."debug-2.6.9"
       sources."decompress-response-3.3.0"
       sources."define-lazy-prop-2.0.0"
@@ -119962,6 +123118,7 @@ in
       sources."err-code-3.0.1"
       sources."escalade-3.1.1"
       sources."escape-html-1.0.3"
+      sources."fast-fifo-1.0.0"
       sources."filestream-5.0.0"
       sources."freelist-1.0.3"
       (sources."fs-chunk-store-2.0.3" // {
@@ -119997,6 +123154,7 @@ in
       sources."k-rpc-5.1.0"
       sources."k-rpc-socket-1.11.1"
       sources."last-one-wins-1.0.4"
+      sources."limiter-1.1.5"
       (sources."load-ip-set-2.2.1" // {
         dependencies = [
           sources."decompress-response-6.0.0"
@@ -120043,7 +123201,7 @@ in
       sources."once-1.4.0"
       sources."open-8.2.1"
       sources."package-json-versionify-1.0.4"
-      (sources."parse-torrent-9.1.3" // {
+      (sources."parse-torrent-9.1.4" // {
         dependencies = [
           sources."decompress-response-6.0.0"
           sources."mimic-response-3.1.0"
@@ -120063,6 +123221,7 @@ in
       sources."pump-3.0.0"
       sources."qap-3.3.1"
       sources."queue-microtask-1.2.3"
+      sources."queue-tick-1.0.0"
       sources."random-access-file-2.2.0"
       sources."random-access-storage-1.4.1"
       sources."random-iterate-1.0.1"
@@ -120102,17 +123261,17 @@ in
           sources."ms-2.1.2"
         ];
       })
+      sources."smart-buffer-1.1.15"
+      sources."socks-1.1.10"
+      sources."speed-limiter-1.0.2"
       sources."speedometer-1.1.0"
       sources."split-1.0.1"
       sources."stream-to-blob-2.0.1"
       sources."stream-to-blob-url-3.0.2"
       sources."stream-with-known-length-to-buffer-1.0.4"
+      sources."streamx-2.11.1"
       sources."string-width-4.2.2"
-      (sources."string2compact-1.3.0" // {
-        dependencies = [
-          sources."ipaddr.js-1.9.1"
-        ];
-      })
+      sources."string2compact-1.3.2"
       sources."string_decoder-1.3.0"
       sources."strip-ansi-6.0.0"
       sources."supports-color-7.2.0"
@@ -120121,7 +123280,7 @@ in
       sources."thunky-0.1.0"
       sources."timeout-refresh-1.0.3"
       sources."to-arraybuffer-1.0.1"
-      (sources."torrent-discovery-9.4.0" // {
+      (sources."torrent-discovery-9.4.4" // {
         dependencies = [
           sources."debug-4.3.2"
           sources."ms-2.1.2"
@@ -120142,13 +123301,13 @@ in
           sources."ms-2.1.2"
         ];
       })
-      sources."ut_pex-3.0.1"
+      sources."ut_pex-3.0.2"
       sources."utf-8-validate-5.0.5"
       sources."util-deprecate-1.0.2"
       sources."utp-native-2.5.3"
       sources."videostream-3.2.2"
       sources."vlc-command-1.2.0"
-      (sources."webtorrent-1.2.5" // {
+      (sources."webtorrent-1.5.4" // {
         dependencies = [
           sources."debug-4.3.2"
           sources."decompress-response-6.0.0"
@@ -120165,7 +123324,7 @@ in
       sources."xmlbuilder-11.0.1"
       sources."xmldom-0.1.31"
       sources."y18n-5.0.8"
-      sources."yargs-17.0.1"
+      sources."yargs-17.1.1"
       sources."yargs-parser-20.2.9"
     ];
     buildInputs = globalBuildInputs;
@@ -120226,10 +123385,10 @@ in
   yaml-language-server = nodeEnv.buildNodePackage {
     name = "yaml-language-server";
     packageName = "yaml-language-server";
-    version = "0.21.1";
+    version = "0.22.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/yaml-language-server/-/yaml-language-server-0.21.1.tgz";
-      sha512 = "13Ann9t+BdAmBKsPlSWoYCISUIo+UFcAVf+YQg9wc7HdLZ0FlIhL5Mhn9+l9GMeO2PGRYEiCEAMbNiGn36Y84g==";
+      url = "https://registry.npmjs.org/yaml-language-server/-/yaml-language-server-0.22.0.tgz";
+      sha512 = "+b2B5qsQhVdovneS3cU8HzTIZSMw8gn6zsznXqtjHYrdXUZqLCnWhnYNVRWLrWSzrxOHOyczOnx60sSuQNctJw==";
     };
     dependencies = [
       sources."agent-base-4.3.0"
@@ -120243,7 +123402,7 @@ in
       sources."jsonc-parser-3.0.0"
       sources."ms-2.0.0"
       sources."request-light-0.2.5"
-      (sources."vscode-json-languageservice-4.1.6" // {
+      (sources."vscode-json-languageservice-4.1.7" // {
         dependencies = [
           sources."vscode-nls-5.0.0"
           sources."vscode-uri-3.0.2"
@@ -120267,13 +123426,74 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
+  yalc = nodeEnv.buildNodePackage {
+    name = "yalc";
+    packageName = "yalc";
+    version = "1.0.0-pre.53";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/yalc/-/yalc-1.0.0-pre.53.tgz";
+      sha512 = "tpNqBCpTXplnduzw5XC+FF8zNJ9L/UXmvQyyQj7NKrDNavbJtHvzmZplL5ES/RCnjX7JR7W9wz5GVDXVP3dHUQ==";
+    };
+    dependencies = [
+      sources."ansi-regex-5.0.0"
+      sources."ansi-styles-4.3.0"
+      sources."balanced-match-1.0.2"
+      sources."brace-expansion-1.1.11"
+      sources."chalk-4.1.2"
+      sources."cliui-7.0.4"
+      sources."color-convert-2.0.1"
+      sources."color-name-1.1.4"
+      sources."concat-map-0.0.1"
+      sources."detect-indent-6.1.0"
+      sources."emoji-regex-8.0.0"
+      sources."escalade-3.1.1"
+      sources."fs-extra-8.1.0"
+      sources."fs.realpath-1.0.0"
+      sources."get-caller-file-2.0.5"
+      sources."glob-7.1.7"
+      sources."graceful-fs-4.2.8"
+      sources."has-flag-4.0.0"
+      sources."ignore-5.1.8"
+      sources."ignore-walk-3.0.4"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.4"
+      sources."ini-2.0.0"
+      sources."is-fullwidth-code-point-3.0.0"
+      sources."jsonfile-4.0.0"
+      sources."minimatch-3.0.4"
+      sources."npm-bundled-1.1.2"
+      sources."npm-normalize-package-bin-1.0.1"
+      sources."npm-packlist-2.2.2"
+      sources."once-1.4.0"
+      sources."path-is-absolute-1.0.1"
+      sources."require-directory-2.1.1"
+      sources."string-width-4.2.2"
+      sources."strip-ansi-6.0.0"
+      sources."supports-color-7.2.0"
+      sources."universalify-0.1.2"
+      sources."wrap-ansi-7.0.0"
+      sources."wrappy-1.0.2"
+      sources."y18n-5.0.8"
+      sources."yargs-16.2.0"
+      sources."yargs-parser-20.2.9"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Work with npm/yarn packages locally like a boss.";
+      homepage = "https://github.com/whitecolor/yalc";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
   yarn = nodeEnv.buildNodePackage {
     name = "yarn";
     packageName = "yarn";
-    version = "1.22.10";
+    version = "1.22.11";
     src = fetchurl {
-      url = "https://registry.npmjs.org/yarn/-/yarn-1.22.10.tgz";
-      sha512 = "IanQGI9RRPAN87VGTF7zs2uxkSyQSrSPsju0COgbsKQOOXr5LtcVPeyXWgwVa0ywG3d8dg6kSYKGBuYK021qeA==";
+      url = "https://registry.npmjs.org/yarn/-/yarn-1.22.11.tgz";
+      sha512 = "AWje4bzqO9RUn3sdnM5N8n4ZJ0BqCc/kqFJvpOI5/EVkINXui0yuvU7NDCEF//+WaxHuNay2uOHxA4+tq1P3cg==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -120288,22 +123508,28 @@ in
   yo = nodeEnv.buildNodePackage {
     name = "yo";
     packageName = "yo";
-    version = "4.2.0";
+    version = "4.3.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/yo/-/yo-4.2.0.tgz";
-      sha512 = "dbHkO8dp4/KDsU5V7akSWVdWB+yyfadR0q3vGxRKXxg1umiYlFUrPuiu66Iy4IpRRr2Qrqx495kInkZJIJtqmA==";
+      url = "https://registry.npmjs.org/yo/-/yo-4.3.0.tgz";
+      sha512 = "0V5CpR62BY1EOevIxXq5BL84YJeIunEzRsFlqb00tc7D77I51/0bvgdGRZhEwhNI2rFxKZ1i77eoisT56gfMTQ==";
     };
     dependencies = [
-      sources."@babel/runtime-7.14.8"
+      sources."@babel/runtime-7.15.3"
+      sources."@gar/promisify-1.1.2"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      (sources."@npmcli/arborist-2.7.1" // {
+      (sources."@npmcli/arborist-2.8.2" // {
         dependencies = [
           sources."mkdirp-1.0.4"
           sources."semver-7.3.5"
         ];
       })
+      (sources."@npmcli/fs-1.0.0" // {
+        dependencies = [
+          sources."semver-7.3.5"
+        ];
+      })
       (sources."@npmcli/git-2.1.0" // {
         dependencies = [
           sources."mkdirp-1.0.4"
@@ -120312,7 +123538,7 @@ in
         ];
       })
       sources."@npmcli/installed-package-contents-1.0.7"
-      sources."@npmcli/map-workspaces-1.0.3"
+      sources."@npmcli/map-workspaces-1.0.4"
       (sources."@npmcli/metavuln-calculator-1.1.1" // {
         dependencies = [
           sources."semver-7.3.5"
@@ -120327,12 +123553,12 @@ in
       sources."@npmcli/node-gyp-1.0.2"
       sources."@npmcli/package-json-1.0.1"
       sources."@npmcli/promise-spawn-1.3.2"
-      sources."@npmcli/run-script-1.8.5"
+      sources."@npmcli/run-script-1.8.6"
       sources."@sindresorhus/is-0.7.0"
       sources."@tootallnate/once-1.1.2"
       sources."@types/expect-1.20.4"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-15.14.2"
+      sources."@types/node-15.14.9"
       sources."@types/vinyl-2.0.5"
       sources."abbrev-1.1.1"
       (sources."agent-base-6.0.2" // {
@@ -120364,7 +123590,6 @@ in
       sources."array-differ-3.0.0"
       sources."array-find-index-1.0.2"
       sources."array-union-2.1.0"
-      sources."array-uniq-1.0.3"
       sources."arrify-2.0.1"
       sources."asap-2.0.6"
       sources."asn1-0.2.4"
@@ -120383,19 +123608,15 @@ in
           sources."write-file-atomic-3.0.3"
         ];
       })
-      (sources."bin-version-2.0.0" // {
-        dependencies = [
-          sources."execa-0.1.1"
-        ];
-      })
-      sources."bin-version-check-3.0.0"
-      sources."binaryextensions-4.15.0"
+      sources."bin-version-3.1.0"
+      sources."bin-version-check-4.0.0"
+      sources."binaryextensions-4.18.0"
       (sources."bl-4.1.0" // {
         dependencies = [
           sources."readable-stream-3.6.0"
         ];
       })
-      sources."boolean-3.1.2"
+      sources."boolean-3.1.4"
       (sources."boxen-1.3.0" // {
         dependencies = [
           sources."camelcase-4.1.0"
@@ -120404,9 +123625,9 @@ in
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
       sources."buffer-5.7.1"
-      sources."buffer-from-1.1.1"
+      sources."buffer-from-1.1.2"
       sources."builtins-1.0.3"
-      (sources."cacache-15.2.0" // {
+      (sources."cacache-15.3.0" // {
         dependencies = [
           sources."mkdirp-1.0.4"
         ];
@@ -120453,16 +123674,10 @@ in
       sources."config-chain-1.1.13"
       sources."configstore-3.1.5"
       sources."console-control-strings-1.1.0"
-      sources."core-js-3.15.2"
+      sources."core-js-3.16.3"
       sources."core-util-is-1.0.2"
       sources."create-error-class-3.0.2"
       sources."cross-spawn-6.0.5"
-      (sources."cross-spawn-async-2.2.5" // {
-        dependencies = [
-          sources."lru-cache-4.1.5"
-          sources."yallist-2.1.2"
-        ];
-      })
       sources."crypto-random-string-1.0.0"
       sources."currently-unhandled-0.4.1"
       sources."dashdash-1.14.1"
@@ -120513,13 +123728,13 @@ in
       sources."fast-deep-equal-3.1.3"
       sources."fast-glob-3.2.7"
       sources."fast-json-stable-stringify-2.1.0"
-      sources."fastq-1.11.1"
+      sources."fastq-1.12.0"
       sources."figures-2.0.0"
       sources."filelist-1.0.2"
       sources."fill-range-7.0.1"
       sources."filter-obj-2.0.2"
       sources."find-up-2.1.0"
-      sources."find-versions-2.0.0"
+      sources."find-versions-3.2.0"
       sources."find-yarn-workspace-root2-1.2.16"
       sources."first-chunk-stream-2.0.0"
       sources."foreachasync-3.0.0"
@@ -120551,7 +123766,7 @@ in
           sources."p-cancelable-0.4.1"
         ];
       })
-      sources."graceful-fs-4.2.6"
+      sources."graceful-fs-4.2.8"
       sources."grouped-queue-2.0.0"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
@@ -120605,7 +123820,7 @@ in
       sources."ip-regex-2.1.0"
       sources."is-arrayish-0.2.1"
       sources."is-ci-1.2.1"
-      sources."is-core-module-2.5.0"
+      sources."is-core-module-2.6.0"
       sources."is-docker-1.1.0"
       sources."is-extglob-2.1.1"
       sources."is-finite-1.1.0"
@@ -120688,7 +123903,7 @@ in
       sources."lru-cache-6.0.0"
       sources."macos-release-2.5.0"
       sources."make-dir-1.3.0"
-      (sources."make-fetch-happen-9.0.4" // {
+      (sources."make-fetch-happen-9.1.0" // {
         dependencies = [
           sources."http-cache-semantics-4.1.0"
         ];
@@ -120702,7 +123917,7 @@ in
       })
       sources."mem-5.1.1"
       sources."mem-fs-2.2.1"
-      sources."mem-fs-editor-9.0.1"
+      sources."mem-fs-editor-9.3.0"
       (sources."meow-3.7.0" // {
         dependencies = [
           sources."find-up-1.1.2"
@@ -120713,8 +123928,8 @@ in
       sources."merge-stream-2.0.0"
       sources."merge2-1.4.1"
       sources."micromatch-4.0.4"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."mimic-fn-2.1.0"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.0.4"
@@ -120803,7 +124018,7 @@ in
         dependencies = [
           sources."ansi-regex-5.0.0"
           sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.1"
+          sources."chalk-4.1.2"
           sources."cli-cursor-3.1.0"
           sources."color-convert-2.0.1"
           sources."color-name-1.1.4"
@@ -120895,7 +124110,7 @@ in
       sources."queue-microtask-1.2.3"
       sources."rc-1.2.8"
       sources."read-cmd-shim-2.0.0"
-      sources."read-package-json-fast-2.0.2"
+      sources."read-package-json-fast-2.0.3"
       (sources."read-pkg-1.1.0" // {
         dependencies = [
           sources."path-type-1.1.0"
@@ -120927,7 +124142,7 @@ in
           sources."indent-string-2.1.0"
         ];
       })
-      sources."regenerator-runtime-0.13.8"
+      sources."regenerator-runtime-0.13.9"
       sources."registry-auth-token-3.4.0"
       sources."registry-url-3.1.0"
       sources."remove-trailing-separator-1.1.0"
@@ -120956,7 +124171,7 @@ in
       sources."semver-5.7.1"
       sources."semver-compare-1.0.0"
       sources."semver-diff-2.1.0"
-      sources."semver-regex-1.0.0"
+      sources."semver-regex-2.0.0"
       sources."semver-truncate-1.1.2"
       (sources."serialize-error-7.0.1" // {
         dependencies = [
@@ -120968,9 +124183,9 @@ in
       sources."shebang-regex-1.0.0"
       sources."signal-exit-3.0.3"
       sources."slash-3.0.0"
-      sources."smart-buffer-4.1.0"
+      sources."smart-buffer-4.2.0"
       sources."socks-2.6.1"
-      (sources."socks-proxy-agent-5.0.1" // {
+      (sources."socks-proxy-agent-6.0.0" // {
         dependencies = [
           sources."debug-4.3.2"
           sources."ms-2.1.2"
@@ -120986,7 +124201,7 @@ in
       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.9"
+      sources."spdx-license-ids-3.0.10"
       sources."sprintf-js-1.1.2"
       sources."sshpk-1.16.1"
       sources."ssri-8.0.1"
@@ -121049,7 +124264,7 @@ in
         ];
       })
       sources."taketalk-1.0.0"
-      (sources."tar-6.1.0" // {
+      (sources."tar-6.1.11" // {
         dependencies = [
           sources."mkdirp-1.0.4"
         ];
@@ -121064,7 +124279,7 @@ in
         ];
       })
       sources."text-table-0.2.0"
-      sources."textextensions-5.12.0"
+      sources."textextensions-5.14.0"
       sources."through-2.3.8"
       sources."timed-out-4.0.1"
       sources."titleize-1.0.1"
@@ -121136,13 +124351,13 @@ in
           sources."supports-color-3.2.3"
         ];
       })
-      sources."yeoman-doctor-4.0.0"
-      (sources."yeoman-environment-3.4.1" // {
+      sources."yeoman-doctor-5.0.0"
+      (sources."yeoman-environment-3.6.0" // {
         dependencies = [
           sources."ansi-escapes-4.3.2"
           sources."ansi-regex-2.1.1"
           sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.1"
+          sources."chalk-4.1.2"
           sources."cli-cursor-3.1.0"
           sources."cli-width-3.0.0"
           sources."color-convert-2.0.1"
@@ -121168,7 +124383,7 @@ in
           sources."has-flag-4.0.0"
           sources."inquirer-8.1.2"
           sources."is-fullwidth-code-point-3.0.0"
-          sources."is-stream-2.0.0"
+          sources."is-stream-2.0.1"
           sources."locate-path-6.0.0"
           sources."log-symbols-4.1.0"
           sources."ms-2.1.2"
@@ -121181,7 +124396,7 @@ in
           sources."path-exists-4.0.0"
           sources."path-key-3.1.1"
           sources."restore-cursor-3.1.0"
-          sources."rxjs-7.2.0"
+          sources."rxjs-7.3.0"
           sources."semver-7.3.5"
           sources."shebang-command-2.0.0"
           sources."shebang-regex-3.0.0"
@@ -121224,34 +124439,58 @@ in
   zx = nodeEnv.buildNodePackage {
     name = "zx";
     packageName = "zx";
-    version = "2.0.0";
+    version = "3.1.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/zx/-/zx-2.0.0.tgz";
-      sha512 = "OF8YvqseMMmtDaASqO+8+0/tJZvykLK0hX9YBAaRO9l7Hc+YjNKjpgJTjrmncgEURoyDr9Ln4r/qBtEuDNZstg==";
+      url = "https://registry.npmjs.org/zx/-/zx-3.1.0.tgz";
+      sha512 = "Dwm75vWiWPsZhZXRUmneeZQlMbRXJBDLMy+QGDyKDID2+Dkp6LCzlXTrW7VOmU66K1/w8dEcJ5r3zFCDW0kx1Q==";
     };
     dependencies = [
+      sources."@nodelib/fs.scandir-2.1.5"
+      sources."@nodelib/fs.stat-2.0.5"
+      sources."@nodelib/fs.walk-1.2.8"
       sources."@types/fs-extra-9.0.12"
       sources."@types/minimist-1.2.2"
-      sources."@types/node-16.4.0"
-      sources."@types/node-fetch-2.5.11"
+      sources."@types/node-16.7.2"
+      sources."@types/node-fetch-2.5.12"
       sources."ansi-styles-4.3.0"
+      sources."array-union-3.0.1"
       sources."asynckit-0.4.0"
-      sources."chalk-4.1.1"
+      sources."braces-3.0.2"
+      sources."chalk-4.1.2"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
       sources."combined-stream-1.0.8"
       sources."delayed-stream-1.0.0"
+      sources."dir-glob-3.0.1"
+      sources."fast-glob-3.2.7"
+      sources."fastq-1.12.0"
+      sources."fill-range-7.0.1"
       sources."form-data-3.0.1"
       sources."fs-extra-10.0.0"
-      sources."graceful-fs-4.2.6"
+      sources."glob-parent-5.1.2"
+      sources."globby-12.0.2"
+      sources."graceful-fs-4.2.8"
       sources."has-flag-4.0.0"
+      sources."ignore-5.1.8"
+      sources."is-extglob-2.1.1"
+      sources."is-glob-4.0.1"
+      sources."is-number-7.0.0"
       sources."isexe-2.0.0"
       sources."jsonfile-6.1.0"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
+      sources."merge2-1.4.1"
+      sources."micromatch-4.0.4"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."minimist-1.2.5"
       sources."node-fetch-2.6.1"
+      sources."path-type-4.0.0"
+      sources."picomatch-2.3.0"
+      sources."queue-microtask-1.2.3"
+      sources."reusify-1.0.4"
+      sources."run-parallel-1.2.0"
+      sources."slash-4.0.0"
       sources."supports-color-7.2.0"
+      sources."to-regex-range-5.0.1"
       sources."universalify-2.0.0"
       sources."which-2.0.2"
     ];
diff --git a/nixpkgs/pkgs/development/ocaml-modules/ca-certs-nss/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ca-certs-nss/default.nix
index 5e6691a9feba..31dea9201bbb 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ca-certs-nss/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/ca-certs-nss/default.nix
@@ -16,13 +16,13 @@
 
 buildDunePackage rec {
   pname = "ca-certs-nss";
-  version = "3.64.0.1";
+  version = "3.66";
 
-  minimumOCamlVersion = "4.07";
+  minimumOCamlVersion = "4.08";
 
   src = fetchurl {
     url = "https://github.com/mirage/ca-certs-nss/releases/download/v${version}/ca-certs-nss-v${version}.tbz";
-    sha256 = "909c64076491647471f785527bfdd9a886a34504edabf88542b43f27b86067f9";
+    sha256 = "f0f8035b470f2a48360b92d0e6287f41f98e4ba71576a1cd4c9246c468932f09";
   };
 
   useDune2 = true;
diff --git a/nixpkgs/pkgs/development/ocaml-modules/callipyge/default.nix b/nixpkgs/pkgs/development/ocaml-modules/callipyge/default.nix
new file mode 100644
index 000000000000..a9dfb80f2a11
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/callipyge/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildDunePackage
+, fetchurl
+, ocaml
+
+, alcotest
+, eqaf
+, fmt
+}:
+
+buildDunePackage rec {
+  pname = "callipyge";
+  version = "0.2";
+
+  src = fetchurl {
+    url = "https://github.com/oklm-wsh/Callipyge/releases/download/v${version}/${pname}-${version}.tbz";
+    sha256 = "sha256-T/94a88xvK51TggjXecdKc9kyTE9aIyueIt5T24sZB0=";
+  };
+
+  useDune2 = true;
+
+  minimumOCamlVersion = "4.03";
+
+  propagatedBuildInputs = [ fmt eqaf ];
+
+  # alcotest isn't available for OCaml < 4.05 due to fmt
+  doCheck = lib.versionAtLeast ocaml.version "4.05";
+  checkInputs = [ alcotest ];
+
+  meta = {
+    homepage = "https://github.com/oklm-wsh/Callipyge";
+    description = "Curve25519 in OCaml";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ fufexan ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/carton/default.nix b/nixpkgs/pkgs/development/ocaml-modules/carton/default.nix
index c10537d5d506..81893ae9ac36 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/carton/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/carton/default.nix
@@ -7,14 +7,14 @@
 
 buildDunePackage rec {
   pname = "carton";
-  version = "0.4.1";
+  version = "0.4.2";
 
   useDune2 = true;
   minimumOCamlVersion = "4.08";
 
   src = fetchurl {
     url = "https://github.com/mirage/ocaml-git/releases/download/${pname}-v${version}/${pname}-${pname}-v${version}.tbz";
-    sha256 = "d16aad5560d9ab1e3b4d93d2e8fdea638c216ff47338fb630a8aefd22b452665";
+    sha256 = "a0a03b2f7bb7dafe070bc6a74583b6d6da714d2c636dd4d5a6443c9f299ceacc";
   };
 
   # remove changelogs for mimic and the git* packages
diff --git a/nixpkgs/pkgs/development/ocaml-modules/chacha/default.nix b/nixpkgs/pkgs/development/ocaml-modules/chacha/default.nix
new file mode 100644
index 000000000000..21bae79ab5f8
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/chacha/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildDunePackage
+, fetchurl
+, ocaml
+
+, alcotest
+, cstruct
+, mirage-crypto
+}:
+
+buildDunePackage rec {
+  pname = "chacha";
+  version = "1.0.0";
+
+  src = fetchurl {
+    url = "https://github.com/abeaumont/ocaml-chacha/releases/download/${version}/${pname}-${version}.tbz";
+    sha256 = "sha256-t8dOMQQDpje0QbuOhjSIa3xnXuXcxMVTLENa/rwdgA4=";
+  };
+
+  useDune2 = true;
+
+  minimumOCamlVersion = "4.02";
+
+  propagatedBuildInputs = [ cstruct mirage-crypto ];
+
+  # alcotest isn't available for OCaml < 4.05 due to fmt
+  doCheck = lib.versionAtLeast ocaml.version "4.05";
+  checkInputs = [ alcotest ];
+
+  meta = {
+    homepage = "https://github.com/abeaumont/ocaml-chacha";
+    description = "ChaCha20, ChaCha12 and ChaCha8 encryption functions, in OCaml";
+    longDescription = ''
+      An OCaml implementation of ChaCha functions, both ChaCha20 and the reduced
+      ChaCha8 and ChaCha12 functions. The hot loop is implemented in C for efficiency
+      reasons.
+    '';
+    license = lib.licenses.bsd2;
+    maintainers = with lib.maintainers; [ fufexan ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/checkseum/default.nix b/nixpkgs/pkgs/development/ocaml-modules/checkseum/default.nix
index 527afec33eb3..3483af1dd416 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/checkseum/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/checkseum/default.nix
@@ -6,7 +6,7 @@
 }:
 
 buildDunePackage rec {
-  version = "0.3.1";
+  version = "0.3.2";
   pname = "checkseum";
 
   useDune2 = true;
@@ -15,13 +15,9 @@ buildDunePackage rec {
 
   src = fetchurl {
     url = "https://github.com/mirage/checkseum/releases/download/v${version}/checkseum-v${version}.tbz";
-    sha256 = "b9e4d054e17618b1faed8c0eb15afe0614b2f093e58b59a180bda4500a5d2da1";
+    sha256 = "9cdd282ea1cfc424095d7284e39e4d0ad091de3c3f2580539d03f6966d45ccd5";
   };
 
-  patches = [
-    ./makefile-no-opam.patch
-  ];
-
   nativeBuildInputs = [
     dune-configurator
     pkg-config
diff --git a/nixpkgs/pkgs/development/ocaml-modules/checkseum/makefile-no-opam.patch b/nixpkgs/pkgs/development/ocaml-modules/checkseum/makefile-no-opam.patch
deleted file mode 100644
index 49fb41b2e008..000000000000
--- a/nixpkgs/pkgs/development/ocaml-modules/checkseum/makefile-no-opam.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/freestanding/Makefile b/freestanding/Makefile
-index d535050..bb286bd 100644
---- a/freestanding/Makefile
-+++ b/freestanding/Makefile
-@@ -1,4 +1,6 @@
--PKG_CONFIG_PATH := $(shell opam config var prefix)/lib/pkgconfig
-+ifneq (, $(shell command -v opam))
-+PKG_CONFIG_PATH ?= $(shell opam var prefix)/lib/pkgconfig
-+endif
- 
- EXISTS := $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) pkg-config --exists ocaml-freestanding; echo $$?)
- 
diff --git a/nixpkgs/pkgs/development/ocaml-modules/cudf/default.nix b/nixpkgs/pkgs/development/ocaml-modules/cudf/default.nix
index d2090cda6769..22de0e690c8b 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/cudf/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/cudf/default.nix
@@ -42,7 +42,7 @@ stdenv.mkDerivation {
 
   meta = with lib; {
     description = "A library for CUDF format";
-    homepage = "http://www.mancoosi.org/cudf/";
+    homepage = "https://www.mancoosi.org/cudf/";
     downloadPage = "https://gforge.inria.fr/projects/cudf/";
     license = licenses.lgpl3;
     maintainers = with maintainers; [ superherointj ];
diff --git a/nixpkgs/pkgs/development/ocaml-modules/decompress/default.nix b/nixpkgs/pkgs/development/ocaml-modules/decompress/default.nix
index 505ffe3c4257..7629349c1d1c 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/decompress/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/decompress/default.nix
@@ -4,7 +4,7 @@
 }:
 
 buildDunePackage rec {
-  version = "1.4.0";
+  version = "1.4.2";
   pname = "decompress";
 
   minimumOCamlVersion = "4.07";
@@ -13,7 +13,7 @@ buildDunePackage rec {
 
   src = fetchurl {
     url = "https://github.com/mirage/decompress/releases/download/v${version}/decompress-v${version}.tbz";
-    sha256 = "d1669e07446d73dd5e16f020d4a1682abcbb1b7a1e3bf19b805429636c26a19b";
+    sha256 = "822f125b46c87f4a902c334db8c86d4d5f33ebe978e93c40351a4d3269b95225";
   };
 
   buildInputs = [ cmdliner ];
diff --git a/nixpkgs/pkgs/development/ocaml-modules/dolmen/default.nix b/nixpkgs/pkgs/development/ocaml-modules/dolmen/default.nix
index 815e1acd72ac..56b87a4e971d 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/dolmen/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/dolmen/default.nix
@@ -1,27 +1,30 @@
-{ stdenv, lib, fetchFromGitHub, ocaml, findlib, ocamlbuild, menhir, menhirLib }:
+{ lib, fetchurl, buildDunePackage
+, menhir, menhirLib
+, fmt
+}:
 
-stdenv.mkDerivation rec {
-  name = "ocaml${ocaml.version}-dolmen-${version}";
-  version = "0.2";
-  src = fetchFromGitHub {
-    owner = "Gbury";
-    repo = "dolmen";
-    rev = "v${version}";
-    sha256 = "1b9mf8p6mic0n76acx8x82hhgm2n40sdv0jri95im65l52223saf";
-  };
+buildDunePackage rec {
+  pname = "dolmen";
+  version = "0.6";
+
+  useDune2 = true;
 
-  buildInputs = [ ocaml findlib ocamlbuild menhir ];
-  propagatedBuildInputs = [ menhirLib ];
+  minimalOCamlVersion = "4.08";
+
+  src = fetchurl {
+    url = "https://github.com/Gbury/dolmen/releases/download/v${version}/dolmen-v${version}.tbz";
+    sha256 = "133l23mwxa9xy340izvk4zp5jqjz2cwsm2innsgs2kg85pd39c41";
+  };
 
-  makeFlags = [ "-C" "src" ];
+  buildInputs = [ menhir ];
+  propagatedBuildInputs = [ menhirLib fmt ];
 
-  createFindlibDestdir = true;
+  doCheck = true;
 
   meta = {
     description = "An OCaml library providing clean and flexible parsers for input languages";
     license = lib.licenses.bsd2;
     maintainers = [ lib.maintainers.vbgl ];
-    inherit (src.meta) homepage;
-    inherit (ocaml.meta) platforms;
+    homepage = "https://github.com/Gbury/dolmen";
   };
 }
diff --git a/nixpkgs/pkgs/development/ocaml-modules/dose3/default.nix b/nixpkgs/pkgs/development/ocaml-modules/dose3/default.nix
index 3397527fd63f..733427cdb914 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/dose3/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/dose3/default.nix
@@ -46,7 +46,7 @@ buildDunePackage rec {
   meta = with lib; {
     description = "Dose library (part of Mancoosi tools)";
     downloadPage = "https://gitlab.com/irill/dose3/";
-    homepage = "http://www.mancoosi.org/software/";
+    homepage = "https://www.mancoosi.org/software/";
     license = licenses.lgpl3Plus;
     longDescription = ''
       The dose suite provides libraries for handling package meta-data, and various tools for analyzing package relationships in a large package repository.
diff --git a/nixpkgs/pkgs/development/ocaml-modules/eliom/default.nix b/nixpkgs/pkgs/development/ocaml-modules/eliom/default.nix
index 92d89afe398d..79c7a650cffd 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/eliom/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/eliom/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchzip, fetchpatch, which, ocsigen_server, ocaml,
+{ stdenv, lib, fetchzip, which, ocsigen_server, ocaml,
   lwt_react,
   opaline, ppx_deriving, findlib
 , ocaml-migrate-parsetree
@@ -7,34 +7,24 @@
 , js_of_ocaml-lwt
 , js_of_ocaml-tyxml
 , lwt_ppx
+, ocamlnet
 }:
 
-if !lib.versionAtLeast ocaml.version "4.07"
-then throw "eliom is not available for OCaml ${ocaml.version}"
-else
-
 stdenv.mkDerivation rec
 {
   pname = "eliom";
-  version = "6.12.4";
+  version = "8.6.0";
 
   src = fetchzip {
     url = "https://github.com/ocsigen/eliom/archive/${version}.tar.gz";
-    sha256 = "00m6v2k4mg8705dy41934lznl6gj91i6dk7p1nkaccm51nna25kz";
+    sha256 = "0s1hpawwhqp4qcy8w1067n8c6zg8jcjpzplc39bjbb1ycqw667j9";
   };
 
-  patches = [
-    # Compatibility with js_of_ocaml >= 3.9.0, remove at next release
-    (fetchpatch {
-      url = "https://github.com/ocsigen/eliom/commit/4106a4217956f7b74a8ef3f73a1e1f55e02ade45.patch";
-      sha256 = "1cgbvpljn9x6zxirxf3rdjrsdwy319ykz3qq03c36cc40hy2w13p";
-    })
-  ];
-
   buildInputs = [ ocaml which findlib js_of_ocaml-ocamlbuild
     ocaml-migrate-parsetree
     js_of_ocaml-ppx_deriving_json opaline
     ppx_tools_versioned
+    ocamlnet
   ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/ocaml-modules/graphql_ppx/default.nix b/nixpkgs/pkgs/development/ocaml-modules/graphql_ppx/default.nix
index f75465e99a27..aa149d60e4d8 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/graphql_ppx/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/graphql_ppx/default.nix
@@ -1,32 +1,37 @@
-{ lib, buildDunePackage, fetchFromGitHub, alcotest, cppo
-, ocaml-migrate-parsetree, ppx_tools_versioned, reason, yojson }:
+{ lib, buildDunePackage, fetchFromGitHub, alcotest, reason
+, ppxlib
+, yojson }:
 
 buildDunePackage rec {
   pname = "graphql_ppx";
-  version = "1.0.1";
+  version = "1.2.0";
 
-  minimumOCamlVersion = "4.06";
+  minimalOCamlVersion = "4.08";
 
   src = fetchFromGitHub {
     owner = "reasonml-community";
     repo = "graphql-ppx";
     rev = "v${version}";
-    sha256 = "0lvmv1sb0ca9mja6di1dbmsgjqgj3w9var4amv1iz9nhwjjx4cpi";
+    sha256 = "1fymmvk616wv5xkwfdmqibdgfl47ry6idc5wfh20a3mz9mpaa13s";
   };
 
-  propagatedBuildInputs =
-    [ cppo ocaml-migrate-parsetree ppx_tools_versioned reason yojson ];
+  buildInputs = [ ppxlib ];
 
-  checkInputs = lib.optional doCheck alcotest;
+  propagatedBuildInputs = [
+    reason
+    yojson
+  ];
 
-  doCheck = false;
+  checkInputs = [ alcotest ];
+
+  doCheck = true;
 
   useDune2 = true;
 
   meta = {
     homepage = "https://github.com/reasonml-community/graphql_ppx";
     description = "GraphQL PPX rewriter for Bucklescript/ReasonML";
-    license = lib.licenses.bsd3;
+    license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ Zimmi48 jtcoolen ];
   };
 }
diff --git a/nixpkgs/pkgs/development/ocaml-modules/hack_parallel/default.nix b/nixpkgs/pkgs/development/ocaml-modules/hack_parallel/default.nix
new file mode 100644
index 000000000000..f9bc67772125
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/hack_parallel/default.nix
@@ -0,0 +1,26 @@
+{ lib, fetchFromGitHub, buildDunePackage, core, core_kernel, pkg-config, sqlite
+}:
+buildDunePackage rec {
+  pname = "hack_parallel";
+  version = "1.0.1";
+  useDune2 = true;
+  minimumOcamlVersion = "4.04.1";
+
+  src = fetchFromGitHub {
+    owner = "rvantonder";
+    repo = "hack_parallel";
+    rev = version;
+    sha256 = "0qjlkw35r4q2cm0n2x0i73zvx1xgrp6axaia2nm8zxpm49mid629";
+  };
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ core core_kernel sqlite ];
+
+  meta = {
+    description =
+      "Core parallel and shared memory library used by Hack, Flow, and Pyre";
+    license = lib.licenses.mit;
+    homepage = "https://github.com/rvantonder/hack_parallel";
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/imagelib/default.nix b/nixpkgs/pkgs/development/ocaml-modules/imagelib/default.nix
index 0a846214dc05..580db48769ef 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/imagelib/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/imagelib/default.nix
@@ -4,14 +4,14 @@
 
 buildDunePackage rec {
   minimumOCamlVersion = "4.07";
-  version = "20210402";
+  version = "20210511";
   pname = "imagelib";
 
   useDune2 = true;
 
   src = fetchurl {
     url = "https://github.com/rlepigre/ocaml-imagelib/releases/download/${version}/imagelib-${version}.tbz";
-    sha256 = "b3c8ace02b10b36b6c60b3ce3ae0b9109d4a861916ec320c59cc1194f4cc86e3";
+    sha256 = "1cb94ea3731dc994c205940c9434543ce3f2470cdcb2e93a3e02ed793e80d480";
   };
 
   propagatedBuildInputs = [ decompress stdlib-shims ];
diff --git a/nixpkgs/pkgs/development/ocaml-modules/integers/default.nix b/nixpkgs/pkgs/development/ocaml-modules/integers/default.nix
index 97443bf5706e..ed5ccbedb64d 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/integers/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/integers/default.nix
@@ -1,20 +1,23 @@
-{ lib, fetchzip, buildDunePackage, ocaml }:
+{ lib, fetchFromGitHub, buildDunePackage, ocaml }:
 
 buildDunePackage rec {
   pname = "integers";
-  version = "0.4.0";
+  version = "0.5.1";
 
   useDune2 = lib.versionAtLeast ocaml.version "4.08";
 
-  src = fetchzip {
-    url = "https://github.com/ocamllabs/ocaml-integers/archive/${version}.tar.gz";
-    sha256 = "0yp3ab0ph7mp5741g7333x4nx8djjvxzpnv3zvsndyzcycspn9dd";
+  src = fetchFromGitHub {
+    owner = "ocamllabs";
+    repo = "ocaml-integers";
+    rev = version;
+    sha256 = "0by5pc851fk7ccxqy1w2qc5jwn9z8whyqhs5gxlm5986vr9msnyi";
   };
 
   meta = {
     description = "Various signed and unsigned integer types for OCaml";
     license = lib.licenses.mit;
     homepage = "https://github.com/ocamllabs/ocaml-integers";
+    changelog = "https://github.com/ocamllabs/ocaml-integers/raw/${version}/CHANGES.md";
     maintainers = [ lib.maintainers.vbgl ];
   };
 }
diff --git a/nixpkgs/pkgs/development/ocaml-modules/irmin/ppx.nix b/nixpkgs/pkgs/development/ocaml-modules/irmin/ppx.nix
index 673238843ff3..8d57e18dc814 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/irmin/ppx.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/irmin/ppx.nix
@@ -2,11 +2,11 @@
 
 buildDunePackage rec {
   pname = "ppx_irmin";
-  version = "2.7.1";
+  version = "2.7.2";
 
   src = fetchurl {
     url = "https://github.com/mirage/irmin/releases/download/${version}/irmin-${version}.tbz";
-    sha256 = "fac7c032f472fb369378ad2d8fe77e7cd3b3c1c6a0d7bf59980b69528891b399";
+    sha256 = "29c68c5001a727aaa7a6842d6204ffa3e24b3544fa4f6af2234cdbfa032f7fdf";
   };
 
   minimumOCamlVersion = "4.08";
diff --git a/nixpkgs/pkgs/development/ocaml-modules/janestreet/0.14.nix b/nixpkgs/pkgs/development/ocaml-modules/janestreet/0.14.nix
index e348c5d9325a..5717dd07b423 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/janestreet/0.14.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/janestreet/0.14.nix
@@ -545,8 +545,8 @@ with self;
 
   ppx_optcomp = janePackage {
     pname = "ppx_optcomp";
-    version = "0.14.1";
-    hash = "0j5smqa0hig1yn8wfrb4mv0y59kkwsalmqkm5asbd7kcc6589ap4";
+    version = "0.14.3";
+    hash = "1iflgfzs23asw3k6098v84al5zqx59rx2qjw0mhvk56avlx71pkw";
     minimumOCamlVersion = "4.04.2";
     meta.description = "Optional compilation for OCaml";
     propagatedBuildInputs = [ ppxlib ];
diff --git a/nixpkgs/pkgs/development/ocaml-modules/lens/default.nix b/nixpkgs/pkgs/development/ocaml-modules/lens/default.nix
index 8910a8738129..c9cd5572bc7f 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/lens/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/lens/default.nix
@@ -1,18 +1,20 @@
-{ lib, fetchzip, ppx_deriving, ppxfind, buildDunePackage, ounit }:
+{ lib, fetchFromGitHub, ppx_deriving, ppxlib, buildDunePackage, ounit }:
 
 buildDunePackage rec {
   pname = "lens";
-  version = "1.2.4";
+  version = "1.2.5";
 
   useDune2 = true;
 
-  src = fetchzip {
-    url = "https://github.com/pdonadeo/ocaml-lens/archive/v${version}.tar.gz";
-    sha256 = "18mv7n5rcix3545mc2qa2f9xngks4g4kqj2g878qj7r3cy96kklv";
+  src = fetchFromGitHub {
+    owner = "pdonadeo";
+    repo = "ocaml-lens";
+    rev = "v${version}";
+    sha256 = "1k23n7pa945fk6nbaq6nlkag5kg97wsw045ghz4gqp8b9i2im3vn";
   };
 
-  minimumOCamlVersion = "4.10";
-  buildInputs = [ ppx_deriving ppxfind ];
+  minimalOCamlVersion = "4.10";
+  buildInputs = [ ppx_deriving ppxlib ];
 
   doCheck = true;
   checkInputs = [ ounit ];
@@ -24,6 +26,5 @@ buildDunePackage rec {
     maintainers = with maintainers; [
       kazcw
     ];
-    broken = true; # Not compatible with ppx_deriving ≥ 5.0
   };
 }
diff --git a/nixpkgs/pkgs/development/ocaml-modules/llvm/default.nix b/nixpkgs/pkgs/development/ocaml-modules/llvm/default.nix
index f984a28869e1..3357b99cebfc 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/llvm/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/llvm/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchpatch, python, cmake, libllvm, ocaml, findlib, ctypes }:
+{ stdenv, lib, python, cmake, libllvm, ocaml, findlib, ctypes }:
 
 let version = lib.getVersion libllvm; in
 
@@ -12,12 +12,8 @@ stdenv.mkDerivation {
   buildInputs = [ python ocaml findlib ctypes ];
   propagatedBuildInputs = [ libllvm ];
 
-  patches = [ (fetchpatch {
-    url = "https://raw.githubusercontent.com/ocaml/opam-repository/2bdc193f5a9305ea93bf0f0dfc1fbc327c8b9306/packages/llvm/llvm.7.0.0/files/fix-shared.patch";
-    sha256 = "1p98j3b1vrryfn1xa7i50m6mmm4dyw5ldafq6kyh9sfmdihz4zsx";
-  })];
-
   cmakeFlags = [
+    "-DBUILD_SHARED_LIBS=YES" # fixes bytecode builds
     "-DLLVM_OCAML_OUT_OF_TREE=TRUE"
     "-DLLVM_OCAML_INSTALL_PATH=${placeholder "out"}/ocaml"
     "-DLLVM_OCAML_EXTERNAL_LLVM_LIBDIR=${lib.getLib libllvm}/lib"
@@ -31,6 +27,7 @@ stdenv.mkDerivation {
     mkdir -p $OCAMLFIND_DESTDIR/
     mv $out/ocaml $OCAMLFIND_DESTDIR/llvm
     mv $OCAMLFIND_DESTDIR/llvm/META{.llvm,}
+    mv $OCAMLFIND_DESTDIR/llvm/stublibs $OCAMLFIND_DESTDIR/stublibs
   '';
 
   passthru = {
diff --git a/nixpkgs/pkgs/development/ocaml-modules/luv/default.nix b/nixpkgs/pkgs/development/ocaml-modules/luv/default.nix
index 8aaf1bcbddb4..fec487aeac20 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/luv/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/luv/default.nix
@@ -6,12 +6,12 @@
 
 buildDunePackage rec {
   pname = "luv";
-  version = "0.5.9";
+  version = "0.5.10";
   useDune2 = true;
 
   src = fetchurl {
     url = "https://github.com/aantron/luv/releases/download/${version}/luv-${version}.tar.gz";
-    sha256 = "0bbv28vgv5mnfbn1gag5fh3n4d9nkffqy3bif3pf47677c493ym2";
+    sha256 = "0zygir01d6vglfs4b3klnbg90glvyl9agq5xnzn8hmsb6d8z0jqp";
   };
 
   postConfigure = ''
diff --git a/nixpkgs/pkgs/development/ocaml-modules/lwt-dllist/default.nix b/nixpkgs/pkgs/development/ocaml-modules/lwt-dllist/default.nix
index 28a6f5f43d7f..b28981b1b779 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/lwt-dllist/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/lwt-dllist/default.nix
@@ -1,23 +1,22 @@
-{ lib, buildDunePackage, fetchurl, lwt }:
+{ lib, buildDunePackage, fetchurl, lwt, ocaml }:
 
 buildDunePackage rec {
   pname = "lwt-dllist";
-  version = "1.0.0";
+  version = "1.0.1";
 
   useDune2 = true;
 
-  minimumOCamlVersion = "4.03";
+  minimumOCamlVersion = "4.02";
 
   src = fetchurl {
     url = "https://github.com/mirage/${pname}/releases/download/v${version}/${pname}-v${version}.tbz";
-    sha256 = "0g111f8fq9k1hwccpkhylkp83f73mlz4xnxxr3rf9xpi2f8fh7j9";
+    sha256 = "e86ce75e40f00d51514cf8b2e71e5184c4cb5dae96136be24613406cfc0dba6e";
   };
 
-  propagatedBuildInputs = [
+  checkInputs = [
     lwt
   ];
-
-  doCheck = true;
+  doCheck = lib.versionAtLeast ocaml.version "4.03";
 
   meta = with lib; {
     description = "Mutable doubly-linked list with Lwt iterators";
diff --git a/nixpkgs/pkgs/development/ocaml-modules/lwt/default.nix b/nixpkgs/pkgs/development/ocaml-modules/lwt/default.nix
index b0f73546eed9..7d6424564d2f 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/lwt/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/lwt/default.nix
@@ -1,5 +1,5 @@
 { lib, fetchzip, pkg-config, ncurses, libev, buildDunePackage, ocaml
-, cppo, dune-configurator, ocaml-migrate-parsetree, ocplib-endian, result
+, cppo, dune-configurator, ocplib-endian, result
 , mmap, seq
 , ocaml-syntax-shims
 }:
@@ -18,7 +18,7 @@ buildDunePackage rec {
   };
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ cppo dune-configurator ocaml-migrate-parsetree ]
+  buildInputs = [ cppo dune-configurator ]
    ++ optional (!versionAtLeast ocaml.version "4.08") ocaml-syntax-shims
    ++ optional (!versionAtLeast ocaml.version "4.07") ncurses;
   propagatedBuildInputs = [ libev mmap ocplib-endian seq result ];
diff --git a/nixpkgs/pkgs/development/ocaml-modules/macaddr/default.nix b/nixpkgs/pkgs/development/ocaml-modules/macaddr/default.nix
index 5552393b4086..4f6f2e4287f5 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/macaddr/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/macaddr/default.nix
@@ -4,15 +4,15 @@
 
 buildDunePackage rec {
   pname = "macaddr";
-  version = "5.0.1";
+  version = "5.1.0";
 
   useDune2 = true;
 
   minimumOCamlVersion = "4.04";
 
   src = fetchurl {
-    url = "https://github.com/mirage/ocaml-ipaddr/archive/v${version}.tar.gz";
-    sha256 = "0ffqkhmnj8l085xgl7jxhs3ld9zsd9iavdg06nnhr1i9g1aayk1b";
+    url = "https://github.com/mirage/ocaml-ipaddr/releases/download/v${version}/ipaddr-v${version}.tbz";
+    sha256 = "7e9328222c1a5f39b0751baecd7e27a842bdb0082fd48126eacbbad8816fbf5a";
   };
 
   checkInputs = [ ppx_sexp_conv ounit ];
diff --git a/nixpkgs/pkgs/development/ocaml-modules/mirage-crypto/default.nix b/nixpkgs/pkgs/development/ocaml-modules/mirage-crypto/default.nix
index 549838db396c..f1ca1fef7028 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/mirage-crypto/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/mirage-crypto/default.nix
@@ -7,11 +7,11 @@ buildDunePackage rec {
   minimumOCamlVersion = "4.08";
 
   pname = "mirage-crypto";
-  version = "0.10.1";
+  version = "0.10.3";
 
   src = fetchurl {
     url = "https://github.com/mirage/mirage-crypto/releases/download/v${version}/mirage-crypto-v${version}.tbz";
-    sha256 = "028e2fc1f0a3e9b06603c6a253ecd043100099bc1c12c0567d8bc46d3781499c";
+    sha256 = "a27910365d59b02c3f0e8a40d93a5b81835acf832e1ffa596ee772b41e8a900b";
   };
 
   useDune2 = true;
diff --git a/nixpkgs/pkgs/development/ocaml-modules/mirage/runtime.nix b/nixpkgs/pkgs/development/ocaml-modules/mirage/runtime.nix
index aaa51aa276c4..4a876658d181 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/mirage/runtime.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/mirage/runtime.nix
@@ -3,7 +3,7 @@
 
 buildDunePackage rec {
   pname = "mirage-runtime";
-  version = "3.10.3";
+  version = "3.10.4";
 
   useDune2 = true;
 
@@ -11,7 +11,7 @@ buildDunePackage rec {
 
   src = fetchurl {
     url = "https://github.com/mirage/mirage/releases/download/v${version}/mirage-v${version}.tbz";
-    sha256 = "7c8059ef9e330eaef1ed51c0d89afe17900310f8083a426cd8099602222c2281";
+    sha256 = "c2ea22b6faf16bed783cac0e0bafd87f321756a91798f56c9a930f0edb5d9116";
   };
 
   propagatedBuildInputs = [ ipaddr functoria-runtime fmt logs ocaml_lwt ];
diff --git a/nixpkgs/pkgs/development/ocaml-modules/mparser/default.nix b/nixpkgs/pkgs/development/ocaml-modules/mparser/default.nix
index 90c24718dd15..5f63a98a1309 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/mparser/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/mparser/default.nix
@@ -1,25 +1,21 @@
-{ stdenv, lib, fetchzip, ocaml, findlib, ocamlbuild }:
+{ lib, fetchFromGitHub, buildDunePackage }:
 
-stdenv.mkDerivation {
-  name = "ocaml${ocaml.version}-mparser-1.2.3";
-  src = fetchzip {
-    url = "https://github.com/cakeplus/mparser/archive/1.2.3.tar.gz";
-    sha256 = "1f8vpagmv0jdm50pxs2xwh2xcmvgaprx4kw871hlml9ahsflxgnw";
-  };
-
-  buildInputs = [ ocaml findlib ocamlbuild ];
+buildDunePackage rec {
+  pname = "mparser";
+  version = "1.3";
+  useDune2 = true;
 
-  configurePhase = "ocaml setup.ml -configure";
-  buildPhase = "ocaml setup.ml -build";
-  installPhase = "ocaml setup.ml -install";
-
-  createFindlibDestdir = true;
+  src = fetchFromGitHub {
+    owner = "murmour";
+    repo = "mparser";
+    rev = version;
+    sha256 = "16j19v16r42gcsii6a337zrs5cxnf12ig0vaysxyr7sq5lplqhkx";
+  };
 
   meta = {
     description = "A simple monadic parser combinator OCaml library";
     license = lib.licenses.lgpl21Plus;
-    homepage = "https://github.com/cakeplus/mparser";
+    homepage = "https://github.com/murmour/mparser";
     maintainers = [ lib.maintainers.vbgl ];
-    inherit (ocaml.meta) platforms;
   };
 }
diff --git a/nixpkgs/pkgs/development/ocaml-modules/mparser/pcre.nix b/nixpkgs/pkgs/development/ocaml-modules/mparser/pcre.nix
new file mode 100644
index 000000000000..0f26e140ed87
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/mparser/pcre.nix
@@ -0,0 +1,12 @@
+{ fetchFromGitHub, buildDunePackage, ocaml_pcre, mparser }:
+
+buildDunePackage rec {
+  pname = "mparser-pcre";
+  useDune2 = true;
+
+  inherit (mparser) src version;
+
+  propagatedBuildInputs = [ ocaml_pcre mparser ];
+
+  meta = mparser.meta // { description = "PCRE-based regular expressions"; };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/noise/default.nix b/nixpkgs/pkgs/development/ocaml-modules/noise/default.nix
new file mode 100644
index 000000000000..59ca274c88dc
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/noise/default.nix
@@ -0,0 +1,60 @@
+{ lib
+, buildDunePackage
+, fetchurl
+
+, callipyge
+, chacha
+, digestif
+, hex
+, lwt
+, lwt_ppx
+, nocrypto
+, ounit
+, ppxlib
+, ppx_let
+, ppx_deriving
+, ppx_deriving_yojson
+}:
+
+buildDunePackage rec {
+  pname = "noise";
+  version = "0.2.0";
+
+  src = fetchurl {
+    url = "https://github.com/emillon/ocaml-noise/releases/download/v${version}/${pname}-v${version}.tbz";
+    sha256 = "sha256-fe3pT7fsuF2hCvXpInsRg6OvARs/eAh1Un454s1osDs=";
+  };
+
+  useDune2 = true;
+
+  minimumOCamlVersion = "4.04";
+
+  nativeBuildInputs = [
+    ppxlib
+    ppx_deriving
+    ppx_let
+  ];
+
+  propagatedBuildInputs = [
+    callipyge
+    chacha
+    digestif
+    hex
+    nocrypto
+  ];
+
+  doCheck = true;
+  checkInputs = [
+    lwt
+    lwt_ppx
+    ounit
+    ppx_deriving_yojson
+  ];
+
+  meta = {
+    homepage = "https://github.com/emillon/ocaml-noise";
+    description = "OCaml implementation of the Noise Protocol Framework";
+    license = lib.licenses.bsd2;
+    maintainers = with lib.maintainers; [ fufexan ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/ocaml-lsp/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ocaml-lsp/default.nix
index a56621465f34..13ae64292ec7 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ocaml-lsp/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/ocaml-lsp/default.nix
@@ -1,4 +1,4 @@
-{ buildDunePackage, jsonrpc, lsp, makeWrapper, dot-merlin-reader }:
+{ buildDunePackage, jsonrpc, lsp, re, makeWrapper, dot-merlin-reader }:
 
 buildDunePackage {
   pname = "ocaml-lsp-server";
@@ -7,7 +7,7 @@ buildDunePackage {
 
   inherit (lsp) preBuild;
 
-  buildInputs = lsp.buildInputs ++ [ lsp ];
+  buildInputs = lsp.buildInputs ++ [ lsp re ];
 
   nativeBuildInputs = [ makeWrapper ];
 
diff --git a/nixpkgs/pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix b/nixpkgs/pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix
index 4921f579c418..a1d457f8775f 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix
@@ -12,8 +12,8 @@
 let params =
   if lib.versionAtLeast ocaml.version "4.12"
   then {
-    version = "1.5.0";
-    sha256 = "0g82m3jrp4s0m3fn9xmm8khrb3acccq8ns9p62bqa09pjd4vgdk2";
+    version = "1.7.0";
+    sha256 = "1va2zj41znsr94bdw485vak96zrcvqwcrqf1sy8zipb6hdhbchya";
   } else {
     version = "1.4.1";
     sha256 = "1ssyazc0yrdng98cypwa9m3nzfisdzpp7hqnx684rqj8f0g3gs6f";
diff --git a/nixpkgs/pkgs/development/ocaml-modules/ocaml-lsp/lsp.nix b/nixpkgs/pkgs/development/ocaml-modules/ocaml-lsp/lsp.nix
index 6e172dee6ee6..f81def4a7b40 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ocaml-lsp/lsp.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/ocaml-lsp/lsp.nix
@@ -1,4 +1,5 @@
 { buildDunePackage
+, lib
 , cppo
 , stdlib-shims
 , ppx_yojson_conv_lib
@@ -8,6 +9,7 @@
 , octavius
 , dune-build-info
 , uutf
+, pp
 , csexp
 , cmdliner
 }:
@@ -23,7 +25,7 @@ buildDunePackage {
   # ocaml-lsp without messing with your opam switch, but nix should prevent
   # this type of problems without resorting to vendoring.
   preBuild = ''
-    rm -r ocaml-lsp-server/vendor/{octavius,uutf,ocaml-syntax-shims,omd,cmdliner}
+    rm -r ocaml-lsp-server/vendor/{octavius,uutf,omd,cmdliner}
   '';
 
   buildInputs = [
@@ -34,7 +36,7 @@ buildDunePackage {
     dune-build-info
     omd
     cmdliner
-  ];
+  ] ++ lib.optional (lib.versionAtLeast jsonrpc.version "1.7.0") pp;
 
   propagatedBuildInputs = [
     csexp
diff --git a/nixpkgs/pkgs/development/ocaml-modules/ocaml-print-intf/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ocaml-print-intf/default.nix
new file mode 100644
index 000000000000..5180b58601af
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/ocaml-print-intf/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, fetchFromGitHub
+, buildDunePackage
+, dune-build-info
+, bos
+}:
+let
+  author = "avsm";
+  pname = "ocaml-print-intf";
+  version = "1.2.0";
+in
+buildDunePackage rec {
+  inherit pname version;
+  useDune2 = true;
+
+  src = fetchFromGitHub {
+    owner = author;
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0hw4gl7irarcywibdjqxmrga8f7yj52wgy7sc7n0wyy74jzxb8np";
+  };
+
+  buildInputs = [ dune-build-info bos ];
+
+  meta = with lib; {
+    description = "Pretty print an OCaml cmi/cmt/cmti file in human-readable OCaml signature form ";
+    homepage = "https://github.com/${author}/${pname}";
+    license = lib.licenses.isc;
+    maintainers = [ lib.maintainers.nerdypepper ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/ocsigen-server/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ocsigen-server/default.nix
index aac8b27955b5..25d45d9aed9b 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ocsigen-server/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/ocsigen-server/default.nix
@@ -1,46 +1,55 @@
-{ stdenv, lib, fetchFromGitHub, which, ocaml, findlib, lwt_react, ssl, lwt_ssl
-, lwt_log, ocamlnet, ocaml_pcre, cryptokit, tyxml, xml-light, ipaddr
+{ lib, buildDunePackage, fetchFromGitHub, which, ocaml, lwt_react, ssl, lwt_ssl
+, 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
 , makeWrapper
 }:
 
-if !lib.versionAtLeast ocaml.version "4.06.1"
-then throw "ocsigenserver is not available for OCaml ${ocaml.version}"
-else
-
-let mkpath = p: n:
-  "${p}/lib/ocaml/${ocaml.version}/site-lib/${n}";
+let mkpath = p:
+  "${p}/lib/ocaml/${ocaml.version}/site-lib/stublibs";
 in
 
-stdenv.mkDerivation rec {
-  version = "2.18.0";
+let caml_ld_library_path =
+  lib.concatMapStringsSep ":" mkpath [
+    bigstringaf lwt ssl cstruct mirage-crypto zarith mirage-crypto-ec ptime mirage-crypto-rng mtime ca-certs cryptokit ocaml_pcre
+  ]
+; in
+
+buildDunePackage rec {
+  version = "4.0.1";
   pname = "ocsigenserver";
 
+  useDune2 = true;
+  minimalOCamlVersion = "4.08";
+
   src = fetchFromGitHub {
     owner = "ocsigen";
     repo = "ocsigenserver";
     rev = version;
-    sha256 = "0c61wkq8ddy3qxb2x1jz04rz0722hk92r6jl1zvgikh74m5p5ipp";
+    sha256 = "0pid4irkmdmx1d6n2rvcvx5mnljl3hazzdqc3bql72by35izfac6";
   };
 
-  nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ which ocaml findlib lwt_react pgocaml camlzip ocaml_sqlite3 ];
+  nativeBuildInputs = [ makeWrapper which ];
+  buildInputs = [ lwt_react pgocaml camlzip ocaml_sqlite3 ];
 
-  propagatedBuildInputs = [ cryptokit ipaddr lwt_log lwt_ssl ocamlnet
-    ocaml_pcre tyxml xml-light
+  propagatedBuildInputs = [ cohttp cohttp-lwt-unix cryptokit hmap ipaddr lwt_log lwt_ssl
+    ocaml_pcre xml-light
   ];
 
   configureFlags = [ "--root $(out)" "--prefix /" ];
 
   dontAddPrefix = true;
 
-  createFindlibDestdir = true;
+  postConfigure = ''
+    make -C src confs
+  '';
 
   postFixup =
   ''
   rm -rf $out/var/run
   wrapProgram $out/bin/ocsigenserver \
-    --suffix CAML_LD_LIBRARY_PATH : "${mkpath ssl "ssl"}:${mkpath ocamlnet "netsys"}:${mkpath ocamlnet "netstring"}:${mkpath ocaml_pcre "pcre"}:${mkpath ocaml_sqlite3 "sqlite3"}"
+    --suffix CAML_LD_LIBRARY_PATH : "${caml_ld_library_path}"
   '';
 
   dontPatchShebangs = true;
@@ -51,7 +60,7 @@ stdenv.mkDerivation rec {
     longDescription =''
       A full featured Web server. It implements most features of the HTTP protocol, and has a very powerful extension mechanism that make very easy to plug your own OCaml modules for generating pages.
       '';
-    license = lib.licenses.lgpl21;
+    license = lib.licenses.lgpl21Only;
     platforms = ocaml.meta.platforms or [];
     maintainers = [ lib.maintainers.gal_bolle ];
   };
diff --git a/nixpkgs/pkgs/development/ocaml-modules/ocsigen-start/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ocsigen-start/default.nix
index 26d5d10acbbf..ea5609e63b55 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ocsigen-start/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/ocsigen-start/default.nix
@@ -1,37 +1,36 @@
 { stdenv, lib, fetchFromGitHub, ocaml, findlib, ocsigen-toolkit, pgocaml_ppx, safepass, yojson
 , cohttp-lwt-unix
 , resource-pooling
+, ocamlnet
 }:
 
 stdenv.mkDerivation rec {
   name = "ocaml${ocaml.version}-ocsigen-start-${version}";
-  version = "2.18.0";
+  version = "4.3.0";
 
   buildInputs = [ ocaml findlib ];
-  propagatedBuildInputs = [ pgocaml_ppx safepass ocsigen-toolkit yojson resource-pooling cohttp-lwt-unix ];
+  propagatedBuildInputs = [ pgocaml_ppx safepass ocsigen-toolkit yojson resource-pooling cohttp-lwt-unix ocamlnet ];
 
   patches = [ ./templates-dir.patch ];
 
-  postPatch = ''
-  substituteInPlace "src/os_db.ml" --replace "citext" "text"
-  '';
-
-  createFindlibDestdir = true;
-
   src = fetchFromGitHub {
     owner = "ocsigen";
     repo = "ocsigen-start";
     rev = version;
-    sha256 = "0wvh4c26g6qd6i1fryilcqz9giz7v6pnhc90sknhxh6jmwrbjl50";
+    sha256 = "0lkl59dwzyqq2lyr46fyjr27ms0fp9h59xfsn37faaavdd7v0h98";
   };
 
+  preInstall = ''
+    mkdir -p $OCAMLFIND_DESTDIR
+  '';
+
   meta = {
     homepage = "http://ocsigen.org/ocsigen-start";
     description = "Eliom application skeleton";
     longDescription =''
      An Eliom application skeleton, ready to use to build your own application with users, (pre)registration, notifications, etc.
       '';
-    license = lib.licenses.lgpl21;
+    license = lib.licenses.lgpl21Only;
     inherit (ocaml.meta) platforms;
     maintainers = [ lib.maintainers.gal_bolle ];
   };
diff --git a/nixpkgs/pkgs/development/ocaml-modules/ocsigen-toolkit/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ocsigen-toolkit/default.nix
index eccdcf80d7cc..0e430e2ba291 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ocsigen-toolkit/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/ocsigen-toolkit/default.nix
@@ -5,27 +5,27 @@
 stdenv.mkDerivation rec {
  pname = "ocsigen-toolkit";
  name = "ocaml${ocaml.version}-${pname}-${version}";
- version = "2.7.0";
+ version = "2.12.2";
 
  propagatedBuildInputs = [ calendar js_of_ocaml-ppx_deriving_json eliom ];
  buildInputs = [ ocaml findlib opaline ];
 
- installPhase =
-  ''
+ installPhase = ''
+    runHook preInstall
+    mkdir -p $OCAMLFIND_DESTDIR
     export OCAMLPATH=$out/lib/ocaml/${ocaml.version}/site-lib/:$OCAMLPATH
     make install
     opaline -prefix $out
+    runHook postInstall
   '';
 
   src = fetchFromGitHub {
     owner = "ocsigen";
     repo = pname;
     rev = version;
-    sha256 = "0jan5779nc0jf993hmvfii15ralcs20sm4mcnqwqrnhjbq6f6zpk";
+    sha256 = "1fqrh7wrzs76qj3nvmxqy76pzqvsja2dwzqxyl8rkh5jg676vmqy";
   };
 
-  createFindlibDestdir = true;
-
   meta = {
     homepage = "http://ocsigen.org/ocsigen-toolkit/";
     description = " User interface widgets for Ocsigen applications";
diff --git a/nixpkgs/pkgs/development/ocaml-modules/odoc-parser/default.nix b/nixpkgs/pkgs/development/ocaml-modules/odoc-parser/default.nix
new file mode 100644
index 000000000000..a8e6bd2599c3
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/odoc-parser/default.nix
@@ -0,0 +1,25 @@
+{ lib, fetchurl, buildDunePackage, astring, result }:
+
+buildDunePackage rec {
+  pname = "odoc-parser";
+  version = "0.9.0";
+
+  minimumOCamlVersion = "4.02";
+
+  src = fetchurl {
+    url = "https://github.com/ocaml-doc/odoc-parser/releases/download/0.9.0/odoc-parser-0.9.0.tbz";
+    sha256 = "0ydxy2sj2w9i4vvyjnxplgmp5gbkp5ilnv36pvk4vgrrmldss3fz";
+  };
+
+  useDune2 = true;
+
+  buildInputs = [ astring result ];
+
+  meta = {
+    description = "Parser for Ocaml documentation comments";
+    license = lib.licenses.isc;
+    maintainers = [ lib.maintainers.marsam ];
+    homepage = "https://github.com/ocaml-doc/odoc-parser";
+    changelog = "https://github.com/ocaml-doc/odoc-parser/raw/${version}/CHANGES.md";
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/opam-repository/download-tool.patch b/nixpkgs/pkgs/development/ocaml-modules/opam-repository/download-tool.patch
index 5af720adca91..9cc5f43f34f1 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/opam-repository/download-tool.patch
+++ b/nixpkgs/pkgs/development/ocaml-modules/opam-repository/download-tool.patch
@@ -2,16 +2,20 @@ diff --git a/src/repository/opamRepositoryConfig.ml b/src/repository/opamReposit
 index c2954c1d..528fc621 100644
 --- a/src/repository/opamRepositoryConfig.ml
 +++ b/src/repository/opamRepositoryConfig.ml
-@@ -27,23 +27,7 @@ type 'a options_fun =
+@@ -27,31 +27,7 @@ type 'a options_fun =
    'a
  
  let default = {
 -  download_tool = lazy (
+-    let os = OpamStd.Sys.os () in
 -    try
+-      let curl = "curl", `Curl in
 -      let tools =
--        if OpamStd.Sys.(os () = Darwin)
--        then ["wget", `Default; "curl", `Curl]
--        else ["curl", `Curl; "wget", `Default]
+-        match os with
+-        | Darwin  -> ["wget", `Default; curl]
+-        | FreeBSD -> ["fetch", `Default ; curl]
+-        | OpenBSD -> ["ftp", `Default; curl]
+-        | _ -> [curl; "wget", `Default]
 -      in
 -      let cmd, kind =
 -        List.find (fun (c,_) -> OpamSystem.resolve_command c <> None) tools
@@ -20,8 +24,12 @@ index c2954c1d..528fc621 100644
 -    with Not_found ->
 -      OpamConsole.error_and_exit `Configuration_error
 -        "Could not find a suitable download command. Please make sure you \
--         have either \"curl\" or \"wget\" installed, or specify a custom \
--         command through variable OPAMFETCH."
+-         have %s installed, or specify a custom command through variable \
+-         OPAMFETCH."
+-        (match os with
+-         | FreeBSD -> "fetch"
+-         | OpenBSD -> "ftp"
+-         | _ -> "either \"curl\" or \"wget\"")
 -  );
 +  download_tool = lazy ([ CIdent SUBSTITUTE_NIXOS_CURL_PATH, None ], `Curl);
    validation_hook = None;
diff --git a/nixpkgs/pkgs/development/ocaml-modules/otoml/default.nix b/nixpkgs/pkgs/development/ocaml-modules/otoml/default.nix
new file mode 100644
index 000000000000..17e8fc855ea0
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/otoml/default.nix
@@ -0,0 +1,32 @@
+{ lib, fetchFromGitHub, buildDunePackage
+, menhir
+, menhirLib
+, uutf
+}:
+
+buildDunePackage rec {
+  pname = "otoml";
+  version = "0.9.0";
+
+  useDune2 = true;
+
+  minimalOCamlVersion = "4.08";
+
+  src = fetchFromGitHub {
+    owner = "dmbaturin";
+    repo = pname;
+    rev = version;
+    sha256 = "0l0c60rzgk11y8xq05kr8q9hkzb3c8vi995mq84x98ys73wb42j3";
+  };
+
+  buildInputs = [ menhir ];
+
+  propagatedBuildInputs = [ menhirLib uutf ];
+
+  meta = {
+    description = "A TOML parsing and manipulation library for OCaml";
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.vbgl ];
+    inherit (src.meta) homepage;
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/ounit/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ounit/default.nix
index 2f4a4f0437a2..fbb75e613309 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ounit/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/ounit/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation {
   buildInputs = [ findlib ];
   propagatedBuildInputs = [ ounit2 ];
 
-  phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
+  dontBuild = true;
 
   createFindlibDestdir = true;
 
diff --git a/nixpkgs/pkgs/development/ocaml-modules/parany/default.nix b/nixpkgs/pkgs/development/ocaml-modules/parany/default.nix
index a4378016b47c..6892a7a2e4d5 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/parany/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/parany/default.nix
@@ -2,15 +2,16 @@
 
 buildDunePackage rec {
   pname = "parany";
-  version = "8.0.0";
+  version = "12.0.3";
 
   useDune2 = true;
+  minimumOCamlVersion = "4.03.0";
 
   src = fetchFromGitHub {
     owner = "UnixJunkie";
-    repo   = pname;
-    rev    = "v${version}";
-    sha256 = "19yz1yqyqx6gawy93jlh3x6vji2p9qsy6nsbj65q5pii8p1fjlsm";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1j962ak68kvv62bczjqxwlwvdgcvjfcs36qwq12nnm0pwlzkhg33";
   };
 
   propagatedBuildInputs = [ ocamlnet cpu ];
diff --git a/nixpkgs/pkgs/development/ocaml-modules/pecu/default.nix b/nixpkgs/pkgs/development/ocaml-modules/pecu/default.nix
index 0059bbdec3ce..22c1913635f8 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/pecu/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/pecu/default.nix
@@ -1,21 +1,21 @@
-{ lib, buildDunePackage, ocaml, fetchurl, fmt, alcotest }:
+{ lib, buildDunePackage, ocaml, fetchurl, fmt, alcotest, crowbar, astring }:
 
 buildDunePackage rec {
   pname = "pecu";
-  version = "0.5";
+  version = "0.6";
 
   useDune2 = true;
 
   minimumOCamlVersion = "4.03";
 
   src = fetchurl {
-    url = "https://github.com/mirage/pecu/releases/download/v0.5/pecu-v0.5.tbz";
-    sha256 = "713753cd6ba3f4609a26d94576484e83ffef7de5f2208a2993576a1b22f0e0e7";
+    url = "https://github.com/mirage/pecu/releases/download/v${version}/pecu-v${version}.tbz";
+    sha256 = "a9d2b7da444c83b20f879f6c3b7fc911d08ac1e6245ad7105437504f9394e5c7";
   };
 
-  # fmt availability
-  doCheck = lib.versionAtLeast ocaml.version "4.05";
-  checkInputs = [ fmt alcotest ];
+  # crowbar availability
+  doCheck = lib.versionAtLeast ocaml.version "4.08";
+  checkInputs = [ fmt alcotest crowbar astring ];
 
   meta = with lib; {
     description = "Encoder/Decoder of Quoted-Printable (RFC2045 & RFC2047)";
diff --git a/nixpkgs/pkgs/development/ocaml-modules/pp/default.nix b/nixpkgs/pkgs/development/ocaml-modules/pp/default.nix
new file mode 100644
index 000000000000..70c509ec22ce
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/pp/default.nix
@@ -0,0 +1,28 @@
+{ buildDunePackage
+, fetchzip
+, ppx_expect
+, lib
+}:
+
+buildDunePackage rec {
+  pname = "pp";
+  version = "1.1.2";
+
+  src = fetchzip {
+    url = "https://github.com/ocaml-dune/pp/releases/download/${version}/pp-${version}.tbz";
+    sha256 = "1l1im054pxrkj7zk8m6yj4qfdpxkajpjfvy818ggf0j4nxkaihc5";
+  };
+
+  useDune2 = true;
+  minimalOCamlVersion = "4.08";
+
+  checkInputs = [ ppx_expect ];
+  doCheck = true;
+
+  meta = with lib; {
+    description = "A an alternative pretty printing library to the Format module of the OCaml standard library";
+    license = licenses.mit;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ symphorien ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/ppx_cstubs/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ppx_cstubs/default.nix
index b4ddb4dd5e45..6ad6c4cd8985 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ppx_cstubs/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/ppx_cstubs/default.nix
@@ -13,7 +13,7 @@
 
 buildDunePackage rec {
   pname = "ppx_cstubs";
-  version = "0.6.1.1";
+  version = "0.6.1.2";
 
   useDune2 = true;
 
@@ -21,7 +21,7 @@ buildDunePackage rec {
     owner = "fdopen";
     repo = "ppx_cstubs";
     rev = version;
-    sha256 = "0rgg78435ypi6ryhcq5ljkch4qjvra2jqjd47c2hhhcbwvi2ssxh";
+    sha256 = "15cjb9ygnvp2kv85rrb7ncz7yalifyl7wd2hp2cl8r1qrpgi1d0w";
   };
 
   buildInputs = [
@@ -37,8 +37,9 @@ buildDunePackage rec {
 
   meta = with lib; {
     homepage = "https://github.com/fdopen/ppx_cstubs";
+    changelog = "https://github.com/fdopen/ppx_cstubs/raw/${version}/CHANGES.md";
     description = "Preprocessor for easier stub generation with ocaml-ctypes";
-    license = licenses.mit;
+    license = licenses.lgpl21Plus;
     maintainers = [ maintainers.osener ];
   };
 }
diff --git a/nixpkgs/pkgs/development/ocaml-modules/ppx_tools/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ppx_tools/default.nix
index 8097c9145e48..64948c29ae50 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ppx_tools/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/ppx_tools/default.nix
@@ -1,9 +1,9 @@
 { lib, stdenv, fetchFromGitHub, buildDunePackage, ocaml, findlib, cppo }:
 
 let param =
-  let v6_3 = {
-    version = "6.3";
-    sha256 = "1skf4njvkifwx0qlsrc0jn891gvvcp5ryd6kkpx56hck7nnxv8x6";
+  let v6_4 = {
+    version = "6.4";
+    sha256 = "15v7yfv6gyp8lzlgwi9garz10wpg34dk4072jdv19n6v20zfg7n1";
     useDune2 = true;
     buildInputs = [cppo];
   }; in
@@ -27,11 +27,12 @@ let param =
   "4.07" = {
     version = "5.1+4.06.0";
     sha256 = "1ww4cspdpgjjsgiv71s0im5yjkr3544x96wsq1vpdacq7dr7zwiw"; };
-  "4.08" = v6_3;
-  "4.09" = v6_3;
-  "4.10" = v6_3;
-  "4.11" = v6_3;
-  "4.12" = v6_3;
+  "4.08" = v6_4;
+  "4.09" = v6_4;
+  "4.10" = v6_4;
+  "4.11" = v6_4;
+  "4.12" = v6_4;
+  "4.13" = v6_4;
 }.${ocaml.meta.branch};
 in
 
diff --git a/nixpkgs/pkgs/development/ocaml-modules/rfc7748/default.nix b/nixpkgs/pkgs/development/ocaml-modules/rfc7748/default.nix
new file mode 100644
index 000000000000..40356ec9aa5f
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/rfc7748/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, buildDunePackage
+, fetchFromGitHub
+, ocaml
+
+, ounit
+, zarith
+}:
+
+buildDunePackage rec {
+  pname = "rfc7748";
+  version = "1.0";
+
+  src = fetchFromGitHub {
+    owner = "burgerdev";
+    repo = "ocaml-rfc7748";
+    rev = "v${version}";
+    sha256 = "sha256-mgZooyfxrKBVQFn01B8PULmFUW9Zq5HJfgHCSJSkJo4=";
+  };
+
+  useDune2 = true;
+
+  minimumOCamlVersion = "4.05";
+
+  propagatedBuildInputs = [ zarith ];
+
+  # the tests fail for 4.05
+  doCheck = lib.versionAtLeast ocaml.version "4.06";
+  checkInputs = [ ounit ];
+
+  meta = {
+    homepage = "https://github.com/burgerdev/ocaml-rfc7748";
+    description = "Elliptic Curve Diffie-Hellman on Edwards Curves (X25519, X448)";
+    longDescription = ''
+      This library implements the ECDH functions 'X25519' and 'X448' as specified
+      in RFC 7748, 'Elliptic curves for security'. In the spirit of the original
+      publications, the public API is kept as simple as possible to make it easy
+      to use and hard to misuse.
+    '';
+    license = lib.licenses.bsd2;
+    maintainers = with lib.maintainers; [ fufexan ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/sedlex/2.nix b/nixpkgs/pkgs/development/ocaml-modules/sedlex/2.nix
index 6db40dd9c7eb..9f4badbc7cad 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/sedlex/2.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/sedlex/2.nix
@@ -13,25 +13,25 @@ then throw "sedlex is not available for OCaml ${ocaml.version}"
 else
 
 let
-  unicodeVersion = "12.1.0";
+  unicodeVersion = "13.0.0";
   baseUrl = "https://www.unicode.org/Public/${unicodeVersion}";
 
   DerivedCoreProperties = fetchurl {
     url = "${baseUrl}/ucd/DerivedCoreProperties.txt";
-    sha256 = "0s6sn1yr9qmb2i6gf8dir2zpsbjv1frdfzy3i2yjylzvf637msx6";
+    sha256 = "0j12x112cd8fpgazkc8izxnhhpia44p1m36ff8yapslxndcmzm55";
   };
   DerivedGeneralCategory = fetchurl {
     url = "${baseUrl}/ucd/extracted/DerivedGeneralCategory.txt";
-    sha256 = "1rifzq9ba6c58dn0lrmcb5l5k4ksx3zsdkira3m5p6h4i2wriy3q";
+    sha256 = "0w6mkz4w79k23bnmwgfxc4yqc2ypv8ilrjn6nk25hrafksbg00j5";
   };
   PropList = fetchurl {
     url = "${baseUrl}/ucd/PropList.txt";
-    sha256 = "0gsb1jpj3mnqbjgbavi4l95gl6g4agq58j82km22fdfg63j3w3fk";
+    sha256 = "1ks0585wimygbk2wqi9hqg8gyl25iffvdad5vya1zgsxs8z5lns8";
   };
 in
 buildDunePackage rec {
   pname = "sedlex";
-  version = "2.3";
+  version = "2.4";
 
   useDune2 = true;
 
@@ -39,7 +39,7 @@ buildDunePackage rec {
     owner = "ocaml-community";
     repo = "sedlex";
     rev = "v${version}";
-    sha256 = "0iw3phlaqr27jdf857hmj5v5hdl0vngbb2h37p2ll18sw991fxar";
+    sha256 = "13g8az4zqg6hrnxmy3qrasslppzlag13dd1dsr8vlpg2vpfmfv6i";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tcpip/default.nix b/nixpkgs/pkgs/development/ocaml-modules/tcpip/default.nix
index 53656f00572a..635e9aea1171 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/tcpip/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/tcpip/default.nix
@@ -13,27 +13,15 @@
 
 buildDunePackage rec {
   pname = "tcpip";
-  version = "6.1.0";
+  version = "6.2.0";
 
   useDune2 = true;
 
   src = fetchurl {
     url = "https://github.com/mirage/mirage-${pname}/releases/download/v${version}/${pname}-v${version}.tbz";
-    sha256 = "7b3ed2e1ca835c1cc65ac911bcb0de12ebc2b580dd195006bdea2cb387510474";
+    sha256 = "d0f6e643ce04da808d5f977c5ab2422cdb4f67e7abdc46dd6776ceada7151e1b";
   };
 
-  patches = [
-    ./makefile-no-opam.patch
-  ];
-
-  # Make tests compatible with alcotest 1.4.0
-  postPatch = ''
-    for p in common.ml test_tcp_options.ml
-    do
-      substituteInPlace test/$p --replace 'Fmt.kstrf Alcotest.fail' 'Fmt.kstrf (fun s -> Alcotest.fail s)'
-    done
-  '';
-
   nativeBuildInputs = [
     bisect_ppx
     ppx_cstruct
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tcpip/makefile-no-opam.patch b/nixpkgs/pkgs/development/ocaml-modules/tcpip/makefile-no-opam.patch
deleted file mode 100644
index 1603a1278b0e..000000000000
--- a/nixpkgs/pkgs/development/ocaml-modules/tcpip/makefile-no-opam.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/freestanding/Makefile b/freestanding/Makefile
-index f22d220d..3e97b4c5 100644
---- a/freestanding/Makefile
-+++ b/freestanding/Makefile
-@@ -1,4 +1,6 @@
--PKG_CONFIG_PATH := $(shell opam config var prefix)/lib/pkgconfig
-+ifneq (, $(shell command -v opam))
-+	PKG_CONFIG_PATH ?= $(shell opam config var prefix)/lib/pkgconfig
-+endif
- 
- EXISTS := $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) pkg-config --exists ocaml-freestanding; echo $$?)
- 
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/base.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/base.nix
new file mode 100644
index 000000000000..2f5d76581318
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/base.nix
@@ -0,0 +1,33 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-crypto
+, tezos-micheline
+, ptime
+, ezjsonm
+, ipaddr
+, qcheck-alcotest
+, crowbar
+}:
+
+buildDunePackage {
+  pname = "tezos-base";
+  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+
+  propagatedBuildInputs = [
+    tezos-crypto
+    tezos-micheline
+    ptime
+    ezjsonm
+    ipaddr
+  ];
+
+  checkInputs = [
+    qcheck-alcotest
+    crowbar
+  ];
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: meta-package and pervasive type definitions for Tezos";
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/clic.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/clic.nix
new file mode 100644
index 000000000000..d69174e5f298
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/clic.nix
@@ -0,0 +1,25 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-stdlib-unix
+, alcotest
+, alcotest-lwt
+}:
+
+buildDunePackage {
+  pname = "tezos-clic";
+  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+
+  propagatedBuildInputs = [
+    tezos-stdlib-unix
+  ];
+
+  checkInputs = [
+    alcotest
+    alcotest-lwt
+  ];
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: library of auto-documented command-line-parsing combinators";
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/crypto.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/crypto.nix
new file mode 100644
index 000000000000..9c5bd45f94f1
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/crypto.nix
@@ -0,0 +1,38 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-clic
+, tezos-rpc
+, bls12-381
+, hacl-star
+, secp256k1-internal
+, uecc
+, ringo
+, ff
+, alcotest
+, alcotest-lwt
+}:
+
+buildDunePackage {
+  pname = "tezos-crypto";
+  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+
+  propagatedBuildInputs = [
+    tezos-clic
+    tezos-rpc
+    bls12-381
+    hacl-star
+    secp256k1-internal
+    uecc
+    ringo
+  ];
+
+  checkInputs = [
+    alcotest
+    alcotest-lwt
+  ];
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: library with all the cryptographic primitives used by Tezos";
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/error-monad.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/error-monad.nix
new file mode 100644
index 000000000000..70cdff0c0aca
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/error-monad.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, data-encoding
+, lwt
+, lwt-canceler
+, alcotest
+, alcotest-lwt
+}:
+
+buildDunePackage {
+  pname = "tezos-error-monad";
+  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+
+  propagatedBuildInputs = [
+    tezos-stdlib
+    data-encoding
+    lwt
+    lwt-canceler
+  ];
+
+  checkInputs = [
+    alcotest
+    alcotest-lwt
+  ];
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: error monad";
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/event-logging.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/event-logging.nix
new file mode 100644
index 000000000000..30d6c12087ee
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/event-logging.nix
@@ -0,0 +1,22 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-lwt-result-stdlib
+, lwt_log
+, alcotest
+, alcotest-lwt
+}:
+
+buildDunePackage {
+  pname = "tezos-event-logging";
+  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+
+  propagatedBuildInputs = [
+    tezos-lwt-result-stdlib
+    lwt_log
+  ];
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: event logging library";
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/lmdb.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/lmdb.nix
new file mode 100644
index 000000000000..960b2532c378
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/lmdb.nix
@@ -0,0 +1,51 @@
+{ lib
+, fetchFromGitLab
+, pkg-config
+, buildDunePackage
+, lmdb
+, rresult
+, cstruct
+, alcotest
+}:
+
+buildDunePackage rec {
+  pname = "tezos-lmdb";
+  version = "7.4";
+  src = fetchFromGitLab {
+    owner = "tezos";
+    repo = "tezos";
+    rev = "v${version}";
+    sha256 = "18q02j74aa8mxv233kvyb62xbhjngzpgppp6kgr4m53d7a78wgsm";
+  };
+
+  useDune2 = true;
+
+  preBuild = ''
+    rm dune
+    rm -rf src
+    rm -rf docs
+    ls vendors | grep -v ocaml-lmdb |xargs rm -rf
+  '';
+
+  buildInputs = [
+    pkg-config
+  ];
+
+  propagatedBuildInputs = [
+    rresult
+    lmdb
+  ];
+
+  checkInputs = [
+    cstruct
+    alcotest
+  ];
+
+  doCheck = false;
+
+  meta = {
+    description = "Legacy Tezos OCaml binding to LMDB (Consider ocaml-lmdb instead)";
+    license = lib.licenses.isc;
+    maintainers = [ lib.maintainers.ulrikstrid ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/lwt-result-stdlib.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/lwt-result-stdlib.nix
new file mode 100644
index 000000000000..fe32b7aba74e
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/lwt-result-stdlib.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildDunePackage
+, ocaml
+, tezos-stdlib
+, tezos-error-monad
+, alcotest
+, alcotest-lwt
+, crowbar
+}:
+
+if lib.versionAtLeast ocaml.version "4.12" then
+  throw "tezos-lwt-result-stdlib-${tezos-stdlib.version} is not available for OCaml > 4.10"
+else
+
+buildDunePackage {
+  pname = "tezos-lwt-result-stdlib";
+  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+
+  propagatedBuildInputs = [
+    tezos-error-monad
+  ];
+
+  checkInputs = [
+    alcotest
+    alcotest-lwt
+    crowbar
+  ];
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: error-aware stdlib replacement";
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/micheline.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/micheline.nix
new file mode 100644
index 000000000000..a729cdef155a
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/micheline.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-error-monad
+, uutf
+, alcotest
+, alcotest-lwt
+, ppx_inline_test
+}:
+
+buildDunePackage {
+  pname = "tezos-micheline";
+  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+
+  propagatedBuildInputs = [
+    tezos-error-monad
+    uutf
+  ];
+
+  checkInputs = [
+    alcotest
+    alcotest-lwt
+  ];
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: internal AST and parser for the Michelson language";
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/p2p-services.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/p2p-services.nix
new file mode 100644
index 000000000000..b4243f589f0b
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/p2p-services.nix
@@ -0,0 +1,18 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-base
+}:
+
+buildDunePackage {
+  pname = "tezos-p2p-services";
+  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+
+  propagatedBuildInputs = [
+    tezos-base
+  ];
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: descriptions of RPCs exported by `tezos-p2p`";
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/p2p.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/p2p.nix
new file mode 100644
index 000000000000..b75c03debfa2
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/p2p.nix
@@ -0,0 +1,25 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-p2p-services
+, alcotest-lwt
+, lwt-watcher
+}:
+
+buildDunePackage {
+  pname = "tezos-p2p";
+  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+
+  propagatedBuildInputs = [
+    tezos-p2p-services
+    lwt-watcher
+  ];
+
+  checkInputs = [
+    alcotest-lwt
+  ];
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: library for a pool of P2P connections";
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-008-PtEdo2Zk-parameters.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-008-PtEdo2Zk-parameters.nix
new file mode 100644
index 000000000000..5b043eede93d
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-008-PtEdo2Zk-parameters.nix
@@ -0,0 +1,19 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-protocol-008-PtEdo2Zk
+, qcheck-alcotest
+}:
+
+buildDunePackage {
+  pname = "tezos-protocol-008-PtEdo2Zk-parameters";
+  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+
+  propagatedBuildInputs = [
+    tezos-protocol-008-PtEdo2Zk
+  ];
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos/Protocol: parameters";
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-008-PtEdo2Zk.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-008-PtEdo2Zk.nix
new file mode 100644
index 000000000000..49a7f0e63801
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-008-PtEdo2Zk.nix
@@ -0,0 +1,23 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-protocol-compiler
+}:
+
+buildDunePackage {
+  pname = "tezos-protocol-008-PtEdo2Zk";
+  inherit (tezos-stdlib) version src useDune2 doCheck;
+
+  preBuild = ''
+    rm -rf vendors
+    substituteInPlace src/proto_008_PtEdo2Zk/lib_protocol/dune.inc --replace "-nostdlib" ""
+  '';
+
+  propagatedBuildInputs = [
+    tezos-protocol-compiler
+  ];
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos/Protocol: economic-protocol definition";
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-compiler.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-compiler.nix
new file mode 100644
index 000000000000..a43356d9cbe3
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-compiler.nix
@@ -0,0 +1,29 @@
+{ lib
+, buildDunePackage
+, ocaml
+, tezos-stdlib
+, tezos-protocol-environment
+, ocp-ocamlres
+, pprint
+}:
+
+if lib.versionAtLeast ocaml.version "4.12" then
+  throw "tezos-protocol-compiler-${tezos-stdlib.version} is not available for OCaml > 4.10"
+else
+
+buildDunePackage {
+  pname = "tezos-protocol-compiler";
+  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+
+  minimalOCamlVersion = "4.09";
+
+  propagatedBuildInputs = [
+    tezos-protocol-environment
+    ocp-ocamlres
+    pprint
+  ];
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: economic-protocol compiler";
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-demo-noops.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-demo-noops.nix
new file mode 100644
index 000000000000..51efe6941840
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-demo-noops.nix
@@ -0,0 +1,18 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-protocol-compiler
+}:
+
+buildDunePackage {
+  pname = "tezos-protocol-demo-noops";
+  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+
+  propagatedBuildInputs = [
+    tezos-protocol-compiler
+  ];
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos/Protocol: demo_noops economic-protocol definition";
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-environment-packer.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-environment-packer.nix
new file mode 100644
index 000000000000..42662105b95f
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-environment-packer.nix
@@ -0,0 +1,15 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+}:
+
+buildDunePackage {
+  pname = "tezos-protocol-environment-packer";
+  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+
+  minimalOCamlVersion = "4.03";
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: sigs/structs packer for economic protocol environment";
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-environment-sigs.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-environment-sigs.nix
new file mode 100644
index 000000000000..79b84360a9d1
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-environment-sigs.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildDunePackage
+, ocaml
+, tezos-stdlib
+, tezos-protocol-environment-packer
+, zarith
+}:
+
+buildDunePackage {
+  pname = "tezos-protocol-environment-sigs";
+  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+
+  propagatedBuildInputs = [
+    tezos-protocol-environment-packer
+  ];
+
+  checkInputs = [
+    tezos-stdlib
+  ];
+
+  postPatch = ''
+    cp -f ${zarith}/lib/ocaml/${ocaml.version}/site-lib/zarith/z.mli ./src/lib_protocol_environment/sigs/v1/z.mli
+    sed -i 's/out_channel/Stdlib.out_channel/g' ./src/lib_protocol_environment/sigs/v1/z.mli
+    sed -i 's/Buffer/Stdlib.Buffer/g' ./src/lib_protocol_environment/sigs/v1/z.mli
+  '';
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: restricted typing environment for the economic protocols";
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-environment-structs.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-environment-structs.nix
new file mode 100644
index 000000000000..feddca046f8c
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-environment-structs.nix
@@ -0,0 +1,20 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-crypto
+, tezos-protocol-environment-packer
+}:
+
+buildDunePackage {
+  pname = "tezos-protocol-environment-structs";
+  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+
+  propagatedBuildInputs = [
+    tezos-crypto
+    tezos-protocol-environment-packer
+  ];
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: restricted typing environment for the economic protocols";
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-environment.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-environment.nix
new file mode 100644
index 000000000000..60d9ae29222e
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-environment.nix
@@ -0,0 +1,33 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-base
+, tezos-sapling
+, tezos-protocol-environment-sigs
+, tezos-protocol-environment-structs
+, zarith
+, alcotest-lwt
+, crowbar
+}:
+
+buildDunePackage {
+  pname = "tezos-protocol-environment";
+  inherit (tezos-stdlib) version src useDune2 doCheck preBuild;
+
+  propagatedBuildInputs = [
+    tezos-sapling
+    tezos-base
+    tezos-protocol-environment-sigs
+    tezos-protocol-environment-structs
+    zarith # this might break, since they actually want 1.11
+  ];
+
+  checkInputs = [
+    alcotest-lwt
+    crowbar
+  ];
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: custom economic-protocols environment implementation for `tezos-client` and testing";
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/requester.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/requester.nix
new file mode 100644
index 000000000000..d4a2b69eaa8a
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/requester.nix
@@ -0,0 +1,27 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-base
+, tezos-test-services
+, lwt-watcher
+, alcotest-lwt
+}:
+
+buildDunePackage {
+  pname = "tezos-requester";
+  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+
+  propagatedBuildInputs = [
+    tezos-base
+    lwt-watcher
+  ];
+
+  checkInputs = [
+    alcotest-lwt
+    tezos-test-services
+  ];
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: generic resource fetching service";
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/rpc.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/rpc.nix
new file mode 100644
index 000000000000..33450bdf1675
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/rpc.nix
@@ -0,0 +1,22 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-error-monad
+, resto
+, resto-directory
+}:
+
+buildDunePackage {
+  pname = "tezos-rpc";
+  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+
+  propagatedBuildInputs = [
+    tezos-error-monad
+    resto
+    resto-directory
+  ];
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: library of auto-documented RPCs (service and hierarchy descriptions)";
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/sapling.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/sapling.nix
new file mode 100644
index 000000000000..40665e380548
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/sapling.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildDunePackage
+, ocaml
+, tezos-stdlib
+, tezos-crypto
+, tezos-rust-libs
+, alcotest-lwt
+}:
+
+buildDunePackage {
+  pname = "tezos-sapling";
+  inherit (tezos-stdlib) version src useDune2 preBuild;
+
+  propagatedBuildInputs = [
+    tezos-crypto
+    tezos-rust-libs
+  ];
+
+  checkInputs = [
+    alcotest-lwt
+  ];
+
+  doCheck = false;
+
+  # This is a hack to work around the hack used in the dune files
+  OPAM_SWITCH_PREFIX = "${tezos-rust-libs}";
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos/Protocol: economic-protocol definition";
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/shell-services.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/shell-services.nix
new file mode 100644
index 000000000000..4e2f40497eb8
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/shell-services.nix
@@ -0,0 +1,22 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-workers
+, tezos-p2p-services
+, tezos-version
+}:
+
+buildDunePackage {
+  pname = "tezos-shell-services";
+  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+
+  propagatedBuildInputs = [
+    tezos-workers
+    tezos-p2p-services
+    tezos-version
+  ];
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: descriptions of RPCs exported by `tezos-shell`";
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/stdlib-unix.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/stdlib-unix.nix
new file mode 100644
index 000000000000..2b3a01469a71
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/stdlib-unix.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-event-logging
+, lwt
+, ptime
+, mtime
+, ipaddr
+, re
+, alcotest
+, alcotest-lwt
+}:
+
+buildDunePackage {
+  pname = "tezos-stdlib-unix";
+  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+
+  propagatedBuildInputs = [
+    tezos-event-logging
+    lwt
+    ptime
+    mtime
+    ipaddr
+    re
+  ];
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: yet-another local-extension of the OCaml standard library (unix-specific fragment)";
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/stdlib.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/stdlib.nix
new file mode 100644
index 000000000000..eff403ba808e
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/stdlib.nix
@@ -0,0 +1,53 @@
+{ lib
+, fetchFromGitLab
+, buildDunePackage
+, hex
+, lwt
+, zarith
+, alcotest
+, alcotest-lwt
+, crowbar
+, bigstring
+, lwt_log
+}:
+
+buildDunePackage rec {
+  pname = "tezos-stdlib";
+  version = "8.3";
+  src = fetchFromGitLab {
+    owner = "tezos";
+    repo = "tezos";
+    rev = "v${version}";
+    sha256 = "1ykhz5m5sb2hq04nspbsbq8wspkhimagb5g6yi65hpdbn8f4zr6h";
+  };
+
+  minimalOCamlVersion = "4.0.8";
+
+  useDune2 = true;
+
+  preBuild = ''
+    rm -rf vendors
+  '';
+
+  propagatedBuildInputs = [
+    hex
+    lwt
+    zarith
+  ];
+
+  checkInputs = [
+    alcotest
+    alcotest-lwt
+    crowbar
+    bigstring
+    lwt_log
+  ];
+
+  doCheck = true;
+
+  meta = {
+    description = "Tezos: yet-another local-extension of the OCaml standard library";
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.ulrikstrid ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/test-services.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/test-services.nix
new file mode 100644
index 000000000000..ba30b922d174
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/test-services.nix
@@ -0,0 +1,20 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-base
+, alcotest-lwt
+}:
+
+buildDunePackage {
+  pname = "tezos-test-services";
+  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+
+  propagatedBuildInputs = [
+    tezos-base
+    alcotest-lwt
+  ];
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: Alcotest-based test services";
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/version.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/version.nix
new file mode 100644
index 000000000000..3b4bdd4bf6f3
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/version.nix
@@ -0,0 +1,18 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-base
+}:
+
+buildDunePackage {
+  pname = "tezos-version";
+  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+
+  propagatedBuildInputs = [
+    tezos-base
+  ];
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: version information generated from Git";
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/workers.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/workers.nix
new file mode 100644
index 000000000000..ca659f8adfb3
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/workers.nix
@@ -0,0 +1,18 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-base
+}:
+
+buildDunePackage {
+  pname = "tezos-workers";
+  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+
+  propagatedBuildInputs = [
+    tezos-base
+  ];
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: worker library";
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/torch/default.nix b/nixpkgs/pkgs/development/ocaml-modules/torch/default.nix
index 4126e3304861..1cf84dd4938e 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/torch/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/torch/default.nix
@@ -17,17 +17,17 @@
 
 buildDunePackage rec {
   pname = "torch";
-  version = "0.12";
+  version = "0.13";
 
   useDune2 = true;
 
-  minimumOCamlVersion = "4.08";
+  minimalOCamlVersion = "4.08";
 
   src = fetchFromGitHub {
     owner = "LaurentMazare";
     repo   = "ocaml-${pname}";
     rev    = version;
-    sha256 = "0nl6hd2rivhgkc3sdkdmrk3j0ij3xjx1clhqm8m5iznir4g77g91";
+    sha256 = "0528h1mkrqbmbf7hy91dsnxcg0k55m3jgharr71c652xyd847yz7";
   };
 
   buildInputs = [ dune-configurator ];
@@ -56,6 +56,5 @@ buildDunePackage rec {
     description = "Ocaml bindings to Pytorch";
     maintainers = [ maintainers.bcdarwin ];
     license = licenses.asl20;
-    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/development/ocaml-modules/uunf/default.nix b/nixpkgs/pkgs/development/ocaml-modules/uunf/default.nix
index cb95839d16c0..898bbbba91b7 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/uunf/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/uunf/default.nix
@@ -56,5 +56,8 @@ stdenv.mkDerivation {
     platforms = ocaml.meta.platforms or [];
     license = licenses.bsd3;
     maintainers = [ maintainers.vbgl ];
+    # See https://github.com/dbuenzli/uunf/issues/15#issuecomment-903151264
+    broken = lib.versions.majorMinor ocaml.version == "4.08"
+      && stdenv.hostPlatform.isAarch64;
   };
 }
diff --git a/nixpkgs/pkgs/development/ocaml-modules/vlq/default.nix b/nixpkgs/pkgs/development/ocaml-modules/vlq/default.nix
new file mode 100644
index 000000000000..41991cbf7486
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/vlq/default.nix
@@ -0,0 +1,25 @@
+{ lib, buildDunePackage, fetchurl
+, dune-configurator
+}:
+
+buildDunePackage rec {
+  pname = "vlq";
+  version = "0.2.1";
+
+  src = fetchurl {
+    url = "https://github.com/flowtype/ocaml-vlq/releases/download/v${version}/vlq-v${version}.tbz";
+    sha256 = "02wr9ph4q0nxmqgbc67ydf165hmrdv9b655krm2glc3ahb6larxi";
+  };
+
+  useDune2 = true;
+
+  buildInputs = [ dune-configurator ];
+
+  meta = {
+    description = "encoding variable-length quantities, in particular base64";
+    license = lib.licenses.mit;
+    homepage = "https://github.com/flowtype/ocaml-vlq";
+    maintainers = [ lib.maintainers.nomeata ];
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/x509/default.nix b/nixpkgs/pkgs/development/ocaml-modules/x509/default.nix
index 0ce57b071689..85209098559a 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/x509/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/x509/default.nix
@@ -8,11 +8,11 @@ buildDunePackage rec {
   minimumOCamlVersion = "4.07";
 
   pname = "x509";
-  version = "0.13.0";
+  version = "0.14.0";
 
   src = fetchurl {
     url = "https://github.com/mirleft/ocaml-x509/releases/download/v${version}/x509-v${version}.tbz";
-    sha256 = "4577c2a616bda45cc777869fc44e272397d63a029135a993df8937bcfd6f6c49";
+    sha256 = "9b42f34171261b2193ee662f096566c48c48e087949c186c288f90c9b3b9f498";
   };
 
   useDune2 = true;
diff --git a/nixpkgs/pkgs/development/ocaml-modules/z3/default.nix b/nixpkgs/pkgs/development/ocaml-modules/z3/default.nix
index d24a95102013..01b384fe0ba5 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/z3/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/z3/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
   pname = "ocaml${ocaml.version}-z3";
   inherit (z3-with-ocaml) version;
 
-  phases = [ "installPhase" "fixupPhase" ];
+  dontUnpack = true;
 
   installPhase = ''
     runHook preInstall
diff --git a/nixpkgs/pkgs/development/perl-modules/mod_perl2-PL_hash_seed.patch b/nixpkgs/pkgs/development/perl-modules/mod_perl2-PL_hash_seed.patch
new file mode 100644
index 000000000000..a8aac88de319
--- /dev/null
+++ b/nixpkgs/pkgs/development/perl-modules/mod_perl2-PL_hash_seed.patch
@@ -0,0 +1,13 @@
+From https://github.com/Perl/perl5/issues/18617#issuecomment-822056978 by Leont
+
+--- a/src/modules/perl/modperl_perl.c
++++ a/src/modules/perl/modperl_perl.c
+@@ -268,7 +268,7 @@
+ #ifdef MP_NEED_HASH_SEED_FIXUP
+     if (MP_init_hash_seed_set) {
+ #if MP_PERL_VERSION_AT_LEAST(5, 17, 6)
+-        memcpy(&PL_hash_seed, &MP_init_hash_seed,
++        memcpy(PL_hash_seed, &MP_init_hash_seed,
+                 sizeof(PL_hash_seed) > sizeof(MP_init_hash_seed) ?
+                     sizeof(MP_init_hash_seed) : sizeof(PL_hash_seed));
+         PL_hash_seed_set   = MP_init_hash_seed_set;
diff --git a/nixpkgs/pkgs/development/php-packages/box/default.nix b/nixpkgs/pkgs/development/php-packages/box/default.nix
index 8ff61920ac85..b19b275019df 100644
--- a/nixpkgs/pkgs/development/php-packages/box/default.nix
+++ b/nixpkgs/pkgs/development/php-packages/box/default.nix
@@ -11,7 +11,8 @@ mkDerivation {
     sha256 = "1zmxdadrv0i2l8cz7xb38gnfmfyljpsaz2nnkjzqzksdmncbgd18";
   };
 
-  phases = [ "installPhase" ];
+  dontUnpack = true;
+
   nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/development/php-packages/composer/default.nix b/nixpkgs/pkgs/development/php-packages/composer/default.nix
index aaa698e6d0c6..15dd3f5bc597 100644
--- a/nixpkgs/pkgs/development/php-packages/composer/default.nix
+++ b/nixpkgs/pkgs/development/php-packages/composer/default.nix
@@ -1,14 +1,14 @@
 { mkDerivation, fetchurl, makeWrapper, unzip, lib, php }:
 let
   pname = "composer";
-  version = "2.1.3";
+  version = "2.1.5";
 in
 mkDerivation {
   inherit pname version;
 
   src = fetchurl {
     url = "https://getcomposer.org/download/${version}/composer.phar";
-    sha256 = "04ad2zsnf8qi6hzs9sak6y8xxyx8l0f7crmcimnp7nn8vsc2x9zq";
+    sha256 = "1v4hjwbv1y5jvj91i2fj8bvmfsymp9ls8h231zd85svfqdy5b5dy";
   };
 
   dontUnpack = true;
diff --git a/nixpkgs/pkgs/development/php-packages/couchbase/default.nix b/nixpkgs/pkgs/development/php-packages/couchbase/default.nix
index 7e72af65a305..18513945bf99 100644
--- a/nixpkgs/pkgs/development/php-packages/couchbase/default.nix
+++ b/nixpkgs/pkgs/development/php-packages/couchbase/default.nix
@@ -1,7 +1,7 @@
 { lib, buildPecl, fetchFromGitHub, writeText, libcouchbase, zlib, php, substituteAll }:
 let
   pname = "couchbase";
-  version = "3.1.2";
+  version = "3.2.0";
 in
 buildPecl {
   inherit pname version;
@@ -10,7 +10,7 @@ buildPecl {
     owner = "couchbase";
     repo = "php-couchbase";
     rev = "v${version}";
-    sha256 = "0zm2jm5lzjjqlhkiivm4v5gr4286pwqaf5nar1ga816hhwnyhj42";
+    sha256 = "sha256-rvlyH28xWLIVwK3yqqdhkoD1h6kl8FDq3Byo7mhV3jM=";
   };
 
   configureFlags = [ "--with-couchbase" ];
diff --git a/nixpkgs/pkgs/development/php-packages/php-cs-fixer/default.nix b/nixpkgs/pkgs/development/php-packages/php-cs-fixer/default.nix
index 0c76ff56a604..2e6cc6723be4 100644
--- a/nixpkgs/pkgs/development/php-packages/php-cs-fixer/default.nix
+++ b/nixpkgs/pkgs/development/php-packages/php-cs-fixer/default.nix
@@ -11,7 +11,8 @@ mkDerivation {
     sha256 = "141rkcr0wbsqnc4s5vg4bk4dmxwigwxa3j0vi5c42b5k1lq3sgwr";
   };
 
-  phases = [ "installPhase" ];
+  dontUnpack = true;
+
   nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/development/php-packages/phpcbf/default.nix b/nixpkgs/pkgs/development/php-packages/phpcbf/default.nix
index caf3b515aabb..cef7c2986e8f 100644
--- a/nixpkgs/pkgs/development/php-packages/phpcbf/default.nix
+++ b/nixpkgs/pkgs/development/php-packages/phpcbf/default.nix
@@ -11,7 +11,8 @@ mkDerivation {
     sha256 = "04wb1imm4934mpy2hxcmqh4cn7md1vwmfii39p6mby809325b5z1";
   };
 
-  phases = [ "installPhase" ];
+  dontUnpack = true;
+
   nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/development/php-packages/phpcs/default.nix b/nixpkgs/pkgs/development/php-packages/phpcs/default.nix
index 87433066ea99..baad111cec55 100644
--- a/nixpkgs/pkgs/development/php-packages/phpcs/default.nix
+++ b/nixpkgs/pkgs/development/php-packages/phpcs/default.nix
@@ -11,7 +11,8 @@ mkDerivation {
     sha256 = "0sdi78hrwd3r5p1b38qmp89m41kfszh2qn4n5zhq2dmhsjdhjziz";
   };
 
-  phases = [ "installPhase" ];
+  dontUnpack = true;
+
   nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/development/php-packages/phpmd/default.nix b/nixpkgs/pkgs/development/php-packages/phpmd/default.nix
index bf6979f88eae..764d56475c42 100644
--- a/nixpkgs/pkgs/development/php-packages/phpmd/default.nix
+++ b/nixpkgs/pkgs/development/php-packages/phpmd/default.nix
@@ -11,7 +11,8 @@ mkDerivation {
     sha256 = "1i8qgzxniw5d8zjpypalm384y7qfczapfq70xmg129laq6xiqlqb";
   };
 
-  phases = [ "installPhase" ];
+  dontUnpack = true;
+
   nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/development/php-packages/phpstan/default.nix b/nixpkgs/pkgs/development/php-packages/phpstan/default.nix
index 048ae71ff299..90486c8c3992 100644
--- a/nixpkgs/pkgs/development/php-packages/phpstan/default.nix
+++ b/nixpkgs/pkgs/development/php-packages/phpstan/default.nix
@@ -11,7 +11,8 @@ mkDerivation {
     sha256 = "0f8858w9b421s3dfz8a56g0mik4zyi1lp88lijw4zs2d94dcdl9s";
   };
 
-  phases = [ "installPhase" ];
+  dontUnpack = true;
+
   nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/development/php-packages/psalm/default.nix b/nixpkgs/pkgs/development/php-packages/psalm/default.nix
index b5c5550806f2..95d8ca425fc7 100644
--- a/nixpkgs/pkgs/development/php-packages/psalm/default.nix
+++ b/nixpkgs/pkgs/development/php-packages/psalm/default.nix
@@ -11,7 +11,8 @@ mkDerivation {
     sha256 = "0d8gxkpm4rc00a8br5wzjpglkwx95kr15s4z3cvxyf6iik1j5r47";
   };
 
-  phases = [ "installPhase" ];
+  dontUnpack = true;
+
   nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/development/php-packages/psysh/default.nix b/nixpkgs/pkgs/development/php-packages/psysh/default.nix
index c12eb6b4585b..6b7277130c09 100644
--- a/nixpkgs/pkgs/development/php-packages/psysh/default.nix
+++ b/nixpkgs/pkgs/development/php-packages/psysh/default.nix
@@ -11,7 +11,8 @@ mkDerivation {
     sha256 = "sha256-6opSBKR5eI5HlaJy4A94JrxYfUtCCNVlyntmLZbWfOE=";
   };
 
-  phases = [ "installPhase" ];
+  dontUnpack = true;
+
   nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/development/php-packages/swoole/default.nix b/nixpkgs/pkgs/development/php-packages/swoole/default.nix
index c9ec1b3938f0..a6687922bc17 100644
--- a/nixpkgs/pkgs/development/php-packages/swoole/default.nix
+++ b/nixpkgs/pkgs/development/php-packages/swoole/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPecl, php, valgrind, pcre2 }:
+{ lib, stdenv, buildPecl, php, valgrind, pcre2 }:
 
 buildPecl {
   pname = "swoole";
@@ -6,7 +6,7 @@ buildPecl {
   version = "4.6.7";
   sha256 = "107wp403z8skkqrcm240vyyy6wqx5a4v2bqhlshlknyi14r2v165";
 
-  buildInputs = [ valgrind pcre2 ];
+  buildInputs = [ pcre2 ] ++ lib.optionals (!stdenv.isDarwin) [ valgrind ];
   internalDeps = lib.optionals (lib.versionOlder php.version "7.4") [ php.extensions.hash ];
 
   doCheck = true;
diff --git a/nixpkgs/pkgs/development/python-modules/GitPython/default.nix b/nixpkgs/pkgs/development/python-modules/GitPython/default.nix
index eda574e69cb8..40191722ab2b 100644
--- a/nixpkgs/pkgs/development/python-modules/GitPython/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/GitPython/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonPackage
-, fetchPypi
-, isPy27
+, fetchFromGitHub
 , substituteAll
 , git
 , gitdb
@@ -11,13 +10,15 @@
 }:
 
 buildPythonPackage rec {
-  pname = "GitPython";
-  version = "3.1.18";
-  disabled = isPy27; # no longer supported
+  pname = "gitpython";
+  version = "3.1.20";
+  disabled = pythonOlder "3.7";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "b838a895977b45ab6f0cc926a9045c8d1c44e2b653c1fcc39fe91f42c6e8f05b";
+  src = fetchFromGitHub {
+    owner = "gitpython-developers";
+    repo = "GitPython";
+    rev = version;
+    sha256 = "1ygrxn8br2ff87j02ibijxzxa0ax9lgjdviwddslqxiarfggik9h";
   };
 
   patches = [
@@ -30,12 +31,13 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     gitdb
     ddt
-  ] ++ lib.optionals (pythonOlder "3.8") [
+  ] ++ lib.optionals (pythonOlder "3.10") [
     typing-extensions
   ];
 
   # Tests require a git repo
   doCheck = false;
+
   pythonImportsCheck = [ "git" ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/WSME/default.nix b/nixpkgs/pkgs/development/python-modules/WSME/default.nix
index 118288acb59e..624bb4388a5d 100644
--- a/nixpkgs/pkgs/development/python-modules/WSME/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/WSME/default.nix
@@ -22,13 +22,13 @@
 
 buildPythonPackage rec {
   pname = "WSME";
-  version = "0.10.1";
+  version = "0.11.0";
 
   disabled = pythonAtLeast "3.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "34209b623635a905bcdbc654f53ac814d038da65e4c2bc070ea1745021984079";
+    sha256 = "bd2dfc715bedcc8f4649611bc0c8a238f483dc01cff7102bc1efa6bea207b64b";
   };
 
   nativeBuildInputs = [ pbr ];
diff --git a/nixpkgs/pkgs/development/python-modules/Wand/default.nix b/nixpkgs/pkgs/development/python-modules/Wand/default.nix
index 4faedcada3b3..7b8ab874ebee 100644
--- a/nixpkgs/pkgs/development/python-modules/Wand/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/Wand/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "Wand";
-  version = "0.6.6";
+  version = "0.6.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "540a2da5fb3ada1f0abf6968e0fa01ca7de6cd517f3be5c52d03a4fc8d54d75e";
+    sha256 = "ebc01bccc25dba68414ab55b482341f9ad2b197d7f49d5e724f339bbf63fb6db";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/adax/default.nix b/nixpkgs/pkgs/development/python-modules/adax/default.nix
new file mode 100644
index 000000000000..867b08e28a3d
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/adax/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, aiohttp
+, async-timeout
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "adax";
+  version = "0.1.1";
+  disabled = pythonOlder "3.5";
+
+  src = fetchFromGitHub {
+    owner = "Danielhiversen";
+    repo = "pyadax";
+    rev = version;
+    sha256 = "sha256-ekpI5GTLbKjlbWH9GSmpp/3URurc7UN+agxMfyGxrVA=";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    async-timeout
+  ];
+
+  # Project has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "adax" ];
+
+  meta = with lib; {
+    description = "Python module to communicate with Adax";
+    homepage = "https://github.com/Danielhiversen/pyAdax";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/agate-sql/default.nix b/nixpkgs/pkgs/development/python-modules/agate-sql/default.nix
index 68f166b3c7c5..e9747b6f393d 100644
--- a/nixpkgs/pkgs/development/python-modules/agate-sql/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/agate-sql/default.nix
@@ -11,13 +11,13 @@
 
 buildPythonPackage rec {
   pname = "agate-sql";
-  version = "0.5.6";
+  version = "0.5.7";
 
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "056dc9e587fbdfdf3f1c9950f4793a5ee87622c19deba31aa0a6d6681816dcde";
+    sha256 = "7622c1f243b5a9a5efddfe28c36eeeb30081e43e3eb72e8f3da22c2edaecf4d8";
   };
 
   propagatedBuildInputs = [ agate sqlalchemy ];
diff --git a/nixpkgs/pkgs/development/python-modules/ailment/default.nix b/nixpkgs/pkgs/development/python-modules/ailment/default.nix
index a6c99e72c0ad..e7e057b5a8c3 100644
--- a/nixpkgs/pkgs/development/python-modules/ailment/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ailment/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "ailment";
-  version = "9.0.9031";
+  version = "9.0.9684";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-xyNTcGTGH8030CJif6an+kDZIfOUVDMiRhFamVajAzk=";
+    sha256 = "sha256-dWHioxNpNuvUTC8FkkKTsoRs4x+eHUfDb4rpgeIGaIA=";
   };
 
   propagatedBuildInputs = [ pyvex ];
diff --git a/nixpkgs/pkgs/development/python-modules/aioambient/default.nix b/nixpkgs/pkgs/development/python-modules/aioambient/default.nix
index 83c74925b8cd..16678c9f04e6 100644
--- a/nixpkgs/pkgs/development/python-modules/aioambient/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aioambient/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "aioambient";
-  version = "1.2.4";
+  version = "1.2.6";
   format = "pyproject";
   disabled = pythonOlder "3.6";
 
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "bachya";
     repo = pname;
     rev = version;
-    sha256 = "sha256-uqvM5F0rpw+xeCXYl4lGMt3r0ugPsUmSvujmTJ9HABk=";
+    sha256 = "sha256-EppnuZP62YTFI3UJUzBUj2m5TvFh1WiDz9smHY7We60=";
   };
 
   nativeBuildInputs = [
@@ -46,12 +46,6 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  postPatch = ''
-    # https://github.com/bachya/aioambient/pull/84
-    substituteInPlace pyproject.toml \
-      --replace 'websockets = "^8.1"' 'websockets = ">=8.1,<10.0"'
-  '';
-
   # Ignore the examples directory as the files are prefixed with test_
   disabledTestPaths = [ "examples/" ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/aioconsole/default.nix b/nixpkgs/pkgs/development/python-modules/aioconsole/default.nix
index c198676e3eb0..f56d31b034dd 100644
--- a/nixpkgs/pkgs/development/python-modules/aioconsole/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aioconsole/default.nix
@@ -1,4 +1,10 @@
-{ lib, buildPythonPackage, fetchPypi, pythonOlder }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytest-asyncio
+, pytestCheckHook
+, pythonOlder
+}:
 
 # This package provides a binary "apython" which sometimes invokes
 # [sys.executable, '-m', 'aioconsole'] as a subprocess. If apython is
@@ -10,21 +16,32 @@
 # wrapped to be able to find aioconsole and any other packages.
 buildPythonPackage rec {
   pname = "aioconsole";
-  version = "0.3.1";
+  version = "0.3.2";
   disabled = pythonOlder "3.6";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "7c038bb40b7690bf5be6b17154830b7bff25e7be1c02d8420a346c3efbd5d8e5";
+  src = fetchFromGitHub {
+    owner = "vxgmichel";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0bximaalakw1dxan1lxar33l8hnmxqn0fg62hmdmprmra72z4bm8";
   };
 
-  # hardcodes a test dependency on an old version of pytest-asyncio
-  doCheck = false;
+  checkInputs = [
+    pytest-asyncio
+    pytestCheckHook
+  ];
 
-  meta = {
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "--cov aioconsole --count 2" ""
+  '';
+
+  pythonImportsCheck = [ "aioconsole" ];
+
+  meta = with lib; {
     description = "Asynchronous console and interfaces for asyncio";
     homepage = "https://github.com/vxgmichel/aioconsole";
-    license = lib.licenses.gpl3;
-    maintainers = [ lib.maintainers.catern ];
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ catern ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/aioesphomeapi/default.nix b/nixpkgs/pkgs/development/python-modules/aioesphomeapi/default.nix
index 5def5b1d13f8..4e90ea115c6f 100644
--- a/nixpkgs/pkgs/development/python-modules/aioesphomeapi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aioesphomeapi/default.nix
@@ -1,21 +1,26 @@
 { lib
 , buildPythonPackage
-, pythonOlder
-, fetchPypi
+, fetchFromGitHub
+, mock
 , protobuf
+, pytest-asyncio
+, pytestCheckHook
+, pythonOlder
 , zeroconf
 }:
 
 buildPythonPackage rec {
   pname = "aioesphomeapi";
-  version = "4.1.0";
+  version = "8.0.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "0210l2d5g76pllr2vh990k9shfv3zrknx5d2dmgqb5y90142cp76";
+  src = fetchFromGitHub {
+    owner = "esphome";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-fd77sbtgEhExV/d/LHkF9sheVz7G2SrNXyZsMNeJ4UY=";
   };
 
   propagatedBuildInputs = [
@@ -23,8 +28,11 @@ buildPythonPackage rec {
     zeroconf
   ];
 
-  # no tests implemented
-  doCheck = false;
+  checkInputs = [
+    mock
+    pytest-asyncio
+    pytestCheckHook
+  ];
 
   pythonImportsCheck = [
     "aioesphomeapi"
diff --git a/nixpkgs/pkgs/development/python-modules/aioextensions/default.nix b/nixpkgs/pkgs/development/python-modules/aioextensions/default.nix
index 3fee1af2f176..cc1ebe3f6178 100644
--- a/nixpkgs/pkgs/development/python-modules/aioextensions/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aioextensions/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "aioextensions";
-  version = "20.11.1621472";
+  version = "21.7.2261349";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "abfb2a27590f20b04808192e6c9c5f93298656c013546850c4505b5070a8cc82";
+    sha256 = "2eacc52692495f331437e8c8e9782ca71f4617ec84f174ca17acdd77631efc47";
   };
 
   propagatedBuildInputs = [ uvloop ];
diff --git a/nixpkgs/pkgs/development/python-modules/aiofiles/default.nix b/nixpkgs/pkgs/development/python-modules/aiofiles/default.nix
index ffa176edc8dc..05027dc0170d 100644
--- a/nixpkgs/pkgs/development/python-modules/aiofiles/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiofiles/default.nix
@@ -1,22 +1,41 @@
-{ lib
+{ stdenv
+, lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
+, poetry-core
+, pytest-asyncio
+, pytestCheckHook
 , pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "aiofiles";
   version = "0.7.0";
+  format = "pyproject";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "a1c4fc9b2ff81568c83e21392a82f344ea9d23da906e4f6a52662764545e19d4";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "Tinche";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0vvk9j8cfdqvq8hw2qc6ajfzsy8x1afabf83mxafffq92rwknd4y";
   };
 
-  disabled = pythonOlder "3.3";
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  checkInputs = [
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  disabledTests = lib.optionals stdenv.isDarwin [
+    "test_sendfile_file"
+  ];
 
-  # No tests in archive
-  doCheck = false;
+  pythonImportsCheck = [ "aiofiles" ];
 
   meta = {
     description = "File support for asyncio";
diff --git a/nixpkgs/pkgs/development/python-modules/aiohomekit/default.nix b/nixpkgs/pkgs/development/python-modules/aiohomekit/default.nix
index 981a541e9ec8..4561b79f4ae3 100644
--- a/nixpkgs/pkgs/development/python-modules/aiohomekit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiohomekit/default.nix
@@ -1,5 +1,6 @@
 { lib
 , buildPythonPackage
+, commentjson
 , cryptography
 , fetchFromGitHub
 , poetry-core
@@ -11,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "aiohomekit";
-  version = "0.4.2";
+  version = "0.6.2";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "Jc2k";
     repo = pname;
     rev = version;
-    sha256 = "12v9szalh3yzfqgmspk4ch8l38kzmhwzjn9jvsq632n4zhjd7qg4";
+    sha256 = "16lfav83g12vzs3ssfva7chcqqb7xdx54djwfwyn9xcwfaa7cwhw";
   };
 
   nativeBuildInputs = [
@@ -26,6 +27,7 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
+    commentjson
     cryptography
     zeroconf
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/aiohttp-jinja2/default.nix b/nixpkgs/pkgs/development/python-modules/aiohttp-jinja2/default.nix
index 589aa14509e2..890a37e24dd3 100644
--- a/nixpkgs/pkgs/development/python-modules/aiohttp-jinja2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiohttp-jinja2/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "aiohttp-jinja2";
-  version = "1.4.2";
+  version = "1.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9c22a0e48e3b277fc145c67dd8c3b8f609dab36bce9eb337f70dfe716663c9a0";
+    sha256 = "7c3ba5eac060b691f4e50534af2d79fca2a75712ebd2b25e6fcb1295859f910b";
   };
 
   propagatedBuildInputs = [ aiohttp jinja2 ];
diff --git a/nixpkgs/pkgs/development/python-modules/aiohue/default.nix b/nixpkgs/pkgs/development/python-modules/aiohue/default.nix
index 990228039ddb..f06f4aba2ad3 100644
--- a/nixpkgs/pkgs/development/python-modules/aiohue/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiohue/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "aiohue";
-  version = "2.5.1";
+  version = "2.6.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3ee8e857b07364516f8b9f0e5c52d4cd775036f3ace37c2769de1e8579f4dc07";
+    sha256 = "0101bw2n6vd3c0p323qqr61wwraja48xbrwcw5sn7i5sa3ygfx0k";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aioitertools/default.nix b/nixpkgs/pkgs/development/python-modules/aioitertools/default.nix
index 91d83e93cbd8..813eb00b1fb6 100644
--- a/nixpkgs/pkgs/development/python-modules/aioitertools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aioitertools/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "aioitertools";
-  version = "0.7.1";
+  version = "0.8.0";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "18ql6k2j1839jf2rmmmm29v6fb7mr59l75z8nlf0sadmydy6r9al";
+    sha256 = "8b02facfbc9b0f1867739949a223f3d3267ed8663691cc95abd94e2c1d8c2b46";
   };
 
   propagatedBuildInputs = [ typing-extensions ];
diff --git a/nixpkgs/pkgs/development/python-modules/aiokafka/default.nix b/nixpkgs/pkgs/development/python-modules/aiokafka/default.nix
index 61ff78a3428e..c853b1d25a35 100644
--- a/nixpkgs/pkgs/development/python-modules/aiokafka/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiokafka/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "aiokafka";
-  version = "0.7.1";
+  version = "0.7.2";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "aio-libs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-D89ppIUliJJMDuCySrZUyN6Rlm01gFskz6ayHmqploc=";
+    sha256 = "sha256-D+91k4zVg28qPbWIrvyXi6WtDs1jeJt9jFGsrSBA3cs=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aiolifx/default.nix b/nixpkgs/pkgs/development/python-modules/aiolifx/default.nix
index 748ed242ae9a..100405c1abed 100644
--- a/nixpkgs/pkgs/development/python-modules/aiolifx/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiolifx/default.nix
@@ -1,31 +1,36 @@
 { lib
 , fetchPypi
 , buildPythonPackage
-, isPy3k
+, pythonOlder
 , ifaddr
 , bitstring
 }:
 
 buildPythonPackage rec {
   pname = "aiolifx";
-  version = "0.6.9";
+  version = "0.7.0";
+
+  disabled = pythonOlder "3.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0c28e9c058ee504a07eec11cb333bc6496d233da100dcab9c33549e9eb4985c0";
+    sha256 = "sha256-9FwTYcaXwGMMnhp+MXe1Iu8Og5aHL6qo9SVKWHFtc7o=";
   };
 
+  propagatedBuildInputs = [
+    bitstring
+    ifaddr
+  ];
+
   # tests are not implemented
   doCheck = false;
 
-  disabled = !isPy3k;
-
-  propagatedBuildInputs = [ bitstring ifaddr ];
+  pythonImportsCheck = [ "aiolifx" ];
 
   meta = with lib; {
+    description = "API for local communication with LIFX devices over a LAN";
     homepage = "https://github.com/frawau/aiolifx";
     license = licenses.mit;
-    description = "API for local communication with LIFX devices over a LAN with asyncio";
     maintainers = with maintainers; [ netixx ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/aiolip/default.nix b/nixpkgs/pkgs/development/python-modules/aiolip/default.nix
index 1db1ae1cf03d..80e110cbd8f0 100644
--- a/nixpkgs/pkgs/development/python-modules/aiolip/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiolip/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "aiolip";
-  version = "1.1.4";
+  version = "1.1.6";
   disabled = pythonOlder "3.5";
 
   src = fetchFromGitHub {
     owner = "bdraco";
     repo = pname;
     rev = version;
-    sha256 = "1f8mlvbnfcn3sigsmjdpdpgxmnbvcjhfr7lzch61i8sy25dgakji";
+    sha256 = "1bgmcl8q1p6f2xm3w2qylvla6vf6bd1p2hfwj4l8w6w0w04vr02g";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aiomusiccast/default.nix b/nixpkgs/pkgs/development/python-modules/aiomusiccast/default.nix
index 267ca5b4a5a6..e728c7dc7c5f 100644
--- a/nixpkgs/pkgs/development/python-modules/aiomusiccast/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiomusiccast/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "aiomusiccast";
-  version = "0.8.2";
+  version = "0.9.1";
 
   format = "pyproject";
 
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "vigonotion";
     repo = "aiomusiccast";
     rev = version;
-    sha256 = "sha256-XmDE704c9KJst8hrvdyQdS52Sd6RnprQZjBCIWAaiho=";
+    sha256 = "sha256-+BmymfRKwNPlksYcAUb/5cZYeOD5h85YhobmsNFJVE8=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aionotion/default.nix b/nixpkgs/pkgs/development/python-modules/aionotion/default.nix
index 078184275eb5..459a06d57d4c 100644
--- a/nixpkgs/pkgs/development/python-modules/aionotion/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aionotion/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "aionotion";
-  version = "3.0.1";
+  version = "3.0.2";
   format = "pyproject";
   disabled = pythonOlder "3.6";
 
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "bachya";
     repo = pname;
     rev = version;
-    sha256 = "1ydrazg7gcwf53006n1fvxh9zm77by6zi36haq1bmy5skqccyiki";
+    sha256 = "1328g2245h9gcrnzrbcxaxw78723d0skznrrj8k77fbijxdc4kwv";
   };
 
   nativeBuildInputs = [ poetry-core ];
diff --git a/nixpkgs/pkgs/development/python-modules/aioprocessing/default.nix b/nixpkgs/pkgs/development/python-modules/aioprocessing/default.nix
index 04963f1d09b1..2f6b39678489 100644
--- a/nixpkgs/pkgs/development/python-modules/aioprocessing/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aioprocessing/default.nix
@@ -1,22 +1,24 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, pythonAtLeast
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "aioprocessing";
-  version = "1.1.0";
-  disabled = !(pythonAtLeast "3.4");
+  version = "2.0.0";
+  disabled = pythonOlder "3.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4603c86ff3fea673d4c643ad3adc519988cd778771b75079bc3be9e5ed4c5b66";
+    sha256 = "469dfb746e8c4e0c727ba135cfabf9e034c554f6a73c27f908bfe3625dd74b9e";
   };
 
   # Tests aren't included in pypi package
   doCheck = false;
 
+  pythonImportsCheck = [ "aioprocessing" ];
+
   meta = {
     description = "A library that integrates the multiprocessing module with asyncio";
     homepage = "https://github.com/dano/aioprocessing";
diff --git a/nixpkgs/pkgs/development/python-modules/aiorecollect/default.nix b/nixpkgs/pkgs/development/python-modules/aiorecollect/default.nix
index 0d3fe5bbaedb..2f62a31e129c 100644
--- a/nixpkgs/pkgs/development/python-modules/aiorecollect/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiorecollect/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "aiorecollect";
-  version = "1.0.5";
+  version = "1.0.8";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "bachya";
     repo = pname;
     rev = version;
-    sha256 = "0h76l0pahnmls0radknzm8dw79qx9dv0xhxqnn6011j9fwyviyqm";
+    sha256 = "sha256-5+v+TlLOgaIA8svpbgFSEWZAUVBRq3zqf8QbidKgygI=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aiorpcx/default.nix b/nixpkgs/pkgs/development/python-modules/aiorpcx/default.nix
index 8e2078f52128..eae5b4a537c4 100644
--- a/nixpkgs/pkgs/development/python-modules/aiorpcx/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiorpcx/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "aiorpcx";
-  version = "0.18.7";
+  version = "0.22.1";
 
   src = fetchPypi {
     inherit version;
     pname = "aiorpcX";
-    sha256 = "808a9ec9172df11677a0f7b459b69d1a6cf8b19c19da55541fa31fb1afce5ce7";
+    sha256 = "0lx54bcinp44fmr8q4bbffsqbkg8kdcwykf9i5jj0bj3sfzgf9k0";
   };
 
   propagatedBuildInputs = [ attrs ];
diff --git a/nixpkgs/pkgs/development/python-modules/aiorun/default.nix b/nixpkgs/pkgs/development/python-modules/aiorun/default.nix
index 414f8a6d9a64..ddcd11d4eebd 100644
--- a/nixpkgs/pkgs/development/python-modules/aiorun/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiorun/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "aiorun";
-  version = "2020.12.1";
+  version = "2021.8.1";
   format = "flit";
   disabled = pythonOlder "3.5";
 
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "cjrh";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ktc2cmoPNYcsVyKCWs+ivhV5onywFIrdDRBiBKrdiF4=";
+    sha256 = "sha256-aehYPZ1+GEO+bNSsE5vVgjtVo4MRMH+vNurk+bJ1/Io=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aiosmb/default.nix b/nixpkgs/pkgs/development/python-modules/aiosmb/default.nix
index 88c793f9cb57..06ae856296f0 100644
--- a/nixpkgs/pkgs/development/python-modules/aiosmb/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiosmb/default.nix
@@ -2,9 +2,9 @@
 , asysocks
 , buildPythonPackage
 , colorama
-, fetchPypi
+, fetchFromGitHub
 , minikerberos
-, prompt_toolkit
+, prompt-toolkit
 , pycryptodomex
 , pythonOlder
 , six
@@ -15,19 +15,21 @@
 
 buildPythonPackage rec {
   pname = "aiosmb";
-  version = "0.2.49";
+  version = "0.2.50";
   disabled = pythonOlder "3.7";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "sha256-XCaAaY7a6Gdddm9B0ET+rVzFra5W0GTI/HUMuvpyhzM=";
+  src = fetchFromGitHub {
+    owner = "skelsec";
+    repo = pname;
+    rev = version;
+    sha256 = "016pylxqmzm1hn1mvx6jhxvgckdqpf993sd1bki07pblmm4ikl6q";
   };
 
   propagatedBuildInputs = [
     asysocks
     colorama
     minikerberos
-    prompt_toolkit
+    prompt-toolkit
     pycryptodomex
     six
     tqdm
diff --git a/nixpkgs/pkgs/development/python-modules/aioswitcher/default.nix b/nixpkgs/pkgs/development/python-modules/aioswitcher/default.nix
index 2535253dc2a3..2682b1365645 100644
--- a/nixpkgs/pkgs/development/python-modules/aioswitcher/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aioswitcher/default.nix
@@ -1,41 +1,52 @@
 { lib
-, aiohttp
-, asynctest
+, assertpy
 , buildPythonPackage
 , fetchFromGitHub
 , poetry-core
-, pytest-aiohttp
 , pytest-asyncio
+, pytest-mockservers
+, pytest-resource-path
 , pytest-sugar
 , pytestCheckHook
+, time-machine
 }:
 
 buildPythonPackage rec {
   pname = "aioswitcher";
-  version = "1.2.5";
+  version = "2.0.4";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "TomerFi";
     repo = pname;
     rev = version;
-    sha256 = "sha256-eiWmB2DVNAYHPHfnVwv0+4A/wYLgtAa1ReGsmwiIvAk=";
+    sha256 = "sha256-n4JvtShs2/shJxAzxm6qyipVQ7e3QfeVwhnqu6RWZss=";
   };
 
   nativeBuildInputs = [
     poetry-core
   ];
 
-  propagatedBuildInputs = [
-    aiohttp
-  ];
+  preCheck = ''
+    export TZ=Asia/Jerusalem
+  '';
 
   checkInputs = [
-    asynctest
-    pytest-aiohttp
+    assertpy
     pytest-asyncio
+    pytest-mockservers
+    pytest-resource-path
     pytest-sugar
     pytestCheckHook
+    time-machine
+  ];
+
+  disabledTests = [
+    # AssertionError: Expected <14:00> to be equal to <17:00>, but was not.
+    "test_schedule_parser_with_a_weekly_recurring_enabled_schedule_data"
+    "test_schedule_parser_with_a_daily_recurring_enabled_schedule_data"
+    "test_schedule_parser_with_a_partial_daily_recurring_enabled_schedule_data"
+    "test_schedule_parser_with_a_non_recurring_enabled_schedule_data"
   ];
 
   pythonImportsCheck = [ "aioswitcher" ];
diff --git a/nixpkgs/pkgs/development/python-modules/aiotractive/default.nix b/nixpkgs/pkgs/development/python-modules/aiotractive/default.nix
index 78d9ef43501e..b7790751a589 100644
--- a/nixpkgs/pkgs/development/python-modules/aiotractive/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiotractive/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "aiotractive";
-  version = "0.5.1";
+  version = "0.5.3";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "zhulik";
     repo = pname;
     rev = "v${version}";
-    sha256 = "09zbca84dn1sprwqpfanmxxnmaknbzjz98xa87agpgy8xb3wpw7j";
+    sha256 = "1rkylzbxxy3p744q1iqcvpnkn12ra6ja16vhqzidn702n4h5377j";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aiowinreg/default.nix b/nixpkgs/pkgs/development/python-modules/aiowinreg/default.nix
index 17d9160ce56b..59a2483d02ee 100644
--- a/nixpkgs/pkgs/development/python-modules/aiowinreg/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiowinreg/default.nix
@@ -3,23 +3,28 @@
 , fetchPypi
 , pythonOlder
 , winacl
+, prompt-toolkit
 }:
 
 buildPythonPackage rec {
   pname = "aiowinreg";
-  version = "0.0.5";
+  version = "0.0.7";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "096663ec3db35fdc7ccc1c2d0d64a11cf64f4baa48955088e42b6a649ce418a5";
+    sha256 = "1p88q2b6slm1sw3234r40s9jd03fqlkcx8y3iwg6ihf0z4ww14d1";
   };
 
-  propagatedBuildInputs = [ winacl ];
+  propagatedBuildInputs = [
+    prompt-toolkit
+    winacl
+  ];
 
   # Project doesn't have tests
   doCheck = false;
+
   pythonImportsCheck = [ "aiowinreg" ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/alectryon/default.nix b/nixpkgs/pkgs/development/python-modules/alectryon/default.nix
new file mode 100644
index 000000000000..f10a0f03e07d
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/alectryon/default.nix
@@ -0,0 +1,37 @@
+{ lib, buildPythonPackage, fetchPypi, fetchpatch
+, pygments, dominate, beautifulsoup4, docutils, sphinx }:
+
+buildPythonPackage rec {
+  pname = "alectryon";
+  owner = "cpitclaudel";
+  version = "1.3.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256:0mca25jv917myb4n91ccpl5fz058aiqsn8cniflwfw5pp6lqnfg7";
+  };
+
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/cpitclaudel/alectryon/commit/c779def3fa268e703d4e0ff8ae0b2981e194b269.patch";
+      sha256 = "0xsz56ibq8xj7gg530pfm1jmxbxw4r6v8xvzj5k1wdry83srqi65";
+     })
+   ];
+
+  propagatedBuildInputs = [
+    pygments
+    dominate
+    beautifulsoup4
+    docutils
+    sphinx
+  ];
+
+  doCheck = false;
+
+  meta = with lib; {
+    homepage = "https://github.com/cpitclaudel/alectryon";
+    description = "A collection of tools for writing technical documents that mix Coq code and prose";
+    license = licenses.mit;
+    maintainers = with maintainers; [ Zimmi48 ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/amcrest/default.nix b/nixpkgs/pkgs/development/python-modules/amcrest/default.nix
index 772b8fbaa046..dc132d102f26 100644
--- a/nixpkgs/pkgs/development/python-modules/amcrest/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/amcrest/default.nix
@@ -4,26 +4,30 @@
 , fetchFromGitHub
 , mock
 , pytestCheckHook
+, pythonOlder
 , requests
 , responses
 , urllib3
+, typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "amcrest";
-  version = "1.7.2";
+  version = "1.8.0";
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "tchellomello";
     repo = "python-amcrest";
     rev = version;
-    sha256 = "06gbrshf6vqvq3k813d1w37k2kmps0g6msa4lp2f9xvzw3iczshy";
+    sha256 = "180c0g840vh8dg4f08j0r29pdnhisav93d3axfvicd8fsb2cn36g";
   };
 
   propagatedBuildInputs = [
     argcomplete
     requests
     urllib3
+    typing-extensions
   ];
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/amqtt/default.nix b/nixpkgs/pkgs/development/python-modules/amqtt/default.nix
index d0cc2bd5da56..1f5fee4d71bb 100644
--- a/nixpkgs/pkgs/development/python-modules/amqtt/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/amqtt/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "amqtt";
-  version = "0.10.0-alpha.4";
+  version = "0.10.0";
   format = "pyproject";
   disabled = pythonOlder "3.7";
 
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "Yakifo";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1v5hlcciyicnhwk1xslh3kxyjqaw526fb05pvhjpp3zqrmbxya4d";
+    sha256 = "sha256-27LmNR1KC8w3zRJ7YBlBolQ4Q70ScTPqypMCpU6fO+I=";
   };
 
   nativeBuildInputs = [ poetry-core ];
diff --git a/nixpkgs/pkgs/development/python-modules/angr/default.nix b/nixpkgs/pkgs/development/python-modules/angr/default.nix
index 285a125a7257..ed7bb44349d2 100644
--- a/nixpkgs/pkgs/development/python-modules/angr/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/angr/default.nix
@@ -43,14 +43,14 @@ in
 
 buildPythonPackage rec {
   pname = "angr";
-  version = "9.0.9031";
+  version = "9.0.9684";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-qWAz9SHfQU0cdk4yVekJn5OIDPJPbi63CDdlHDq1Opw=";
+    sha256 = "sha256-37WCiH0uYRRh8yxNwz9OW0LcyNS9Kr2l1J662JYaPhg=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/angrop/default.nix b/nixpkgs/pkgs/development/python-modules/angrop/default.nix
index e5ab1954276b..9605539a9cb6 100644
--- a/nixpkgs/pkgs/development/python-modules/angrop/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/angrop/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "angrop";
-  version = "9.0.9031";
+  version = "9.0.9684";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-3q/3iFR0FFOcvgmNVXtgi1Spu5xfXNJFy+QoIh8amOY=";
+    sha256 = "sha256-rl7ZELiLAVuCOkR6NVCUB5c6AtW/rFniDxB3E9ZPnK8=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ansible/base.nix b/nixpkgs/pkgs/development/python-modules/ansible/base.nix
index 0c88c378516e..68063f0d7787 100644
--- a/nixpkgs/pkgs/development/python-modules/ansible/base.nix
+++ b/nixpkgs/pkgs/development/python-modules/ansible/base.nix
@@ -28,11 +28,11 @@ let
 in
 buildPythonPackage rec {
   pname = "ansible-base";
-  version = "2.10.12";
+  version = "2.10.13";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-qWVW4tI5+Sg+FWVNQMGqhmgqTntD9Qtf8CK8jkK2mHg=";
+    sha256 = "sha256-0sKbGUblrgh4SgdiuMSMMvg15GSNb5l6bCqBt4/0860=";
   };
 
   # ansible_connection is already wrapped, so don't pass it through
diff --git a/nixpkgs/pkgs/development/python-modules/ansible/collections.nix b/nixpkgs/pkgs/development/python-modules/ansible/collections.nix
index 05aa0b2b2945..0c58defb583f 100644
--- a/nixpkgs/pkgs/development/python-modules/ansible/collections.nix
+++ b/nixpkgs/pkgs/development/python-modules/ansible/collections.nix
@@ -72,7 +72,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Radically simple IT automation";
-    homepage = "http://www.ansible.com";
+    homepage = "https://www.ansible.com";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ hexa ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/ansible/core.nix b/nixpkgs/pkgs/development/python-modules/ansible/core.nix
index 8584ba7166a2..0e2d705cc887 100644
--- a/nixpkgs/pkgs/development/python-modules/ansible/core.nix
+++ b/nixpkgs/pkgs/development/python-modules/ansible/core.nix
@@ -23,17 +23,17 @@
 
 let
   ansible-collections = callPackage ./collections.nix {
-    version = "4.2.0";
-    sha256 = "1l30j97q24klylchvbskdmp1xllswn9xskjvg4l0ra6pzfgq2zbk";
+    version = "4.4.0";
+    sha256 = "031n22j0lsmh69x6i6gkva81j68b4yzh1pbg3q2h4bknl85q46ag";
   };
 in
 buildPythonPackage rec {
   pname = "ansible-core";
-  version = "2.11.3";
+  version = "2.11.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-DO0bT2cZftsntQk0yV1MtkTG1jXXLH+CbEQl3+RTdnQ=";
+    sha256 = "sha256-Iuqnwt/myHXprjgDI/HLpiWcYFCl5MiBn4X5KzaD6kk=";
   };
 
   # ansible_connection is already wrapped, so don't pass it through
@@ -42,9 +42,6 @@ buildPythonPackage rec {
   postPatch = ''
     substituteInPlace lib/ansible/executor/task_executor.py \
       --replace "[python," "["
-
-    substituteInPlace requirements.txt \
-      --replace "resolvelib >= 0.5.3, < 0.6.0" "resolvelib"
   '';
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ansible/legacy.nix b/nixpkgs/pkgs/development/python-modules/ansible/legacy.nix
index 95b127a0db3b..e7687f9b99de 100644
--- a/nixpkgs/pkgs/development/python-modules/ansible/legacy.nix
+++ b/nixpkgs/pkgs/development/python-modules/ansible/legacy.nix
@@ -18,11 +18,11 @@
 
 buildPythonPackage rec {
   pname = "ansible";
-  version = "2.9.24";
+  version = "2.9.25";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-DC9Tt75z3cNCPZZY/NGQeYl9Wx/FM8StVQ21ixea64o=";
+    sha256 = "sha256-i88sL1xgnluREUyosOQibWA7h/K+cdyzOOi30626oo8=";
   };
 
   prePatch = ''
@@ -46,7 +46,7 @@ buildPythonPackage rec {
   doCheck = false;
 
   meta = with lib; {
-    homepage = "http://www.ansible.com";
+    homepage = "https://www.ansible.com";
     description = "Radically simple IT automation";
     license = [ licenses.gpl3 ] ;
     maintainers = with maintainers; [ joamaki costrouc hexa ];
diff --git a/nixpkgs/pkgs/development/python-modules/anyascii/default.nix b/nixpkgs/pkgs/development/python-modules/anyascii/default.nix
index 8e8b1c920733..b03b59d339ed 100644
--- a/nixpkgs/pkgs/development/python-modules/anyascii/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/anyascii/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "anyascii";
-  version = "0.2.0";
+  version = "0.3.0";
   format = "setuptools";
   disabled = pythonOlder "3.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1b6jdd9nx15py0jqjdn154m6m491517sqlk57bbyj3x4xzywadkh";
+    sha256 = "sha256-JPJ0Mftkxsk6MxJftm+MugB6UmK8H6q+r+2l9LtwtZM=";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/anybadge/default.nix b/nixpkgs/pkgs/development/python-modules/anybadge/default.nix
new file mode 100644
index 000000000000..a8aaec9f45b2
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/anybadge/default.nix
@@ -0,0 +1,27 @@
+{ lib, fetchFromGitHub, buildPythonPackage, pytestCheckHook }:
+
+buildPythonPackage rec {
+  pname = "anybadge";
+  version = "1.7.0";
+
+  src = fetchFromGitHub {
+    owner = "jongracecox";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1d02fnig04zlrhfqqcf4505vy4p51whl2ifilnx3mkhis9lcwrmr";
+  };
+
+  # setup.py reads its version from the TRAVIS_TAG environment variable
+  TRAVIS_TAG = "v${version}";
+
+  pythonImportsCheck = [ "anybadge" ];
+
+  checkInputs = [ pytestCheckHook ];
+
+  meta = with lib; {
+    description = "A Python project for generating badges for your projects, with a focus on simplicity and flexibility";
+    license = licenses.mit;
+    homepage = "https://github.com/jongracecox/anybadge";
+    maintainers = [ maintainers.fabiangd ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/anyio/default.nix b/nixpkgs/pkgs/development/python-modules/anyio/default.nix
index 4c6a5e190788..ac34c336cad3 100644
--- a/nixpkgs/pkgs/development/python-modules/anyio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/anyio/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "anyio";
-  version = "3.2.1";
+  version = "3.3.0";
   format = "pyproject";
   disabled = pythonOlder "3.7";
 
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "agronholm";
     repo = pname;
     rev = version;
-    sha256 = "0fiqzsgr9c0yicsh1pwhyc6z4qyr2ng42dakyy4a81w9cff38had";
+    sha256 = "sha256-bMnAijFLXZSgTWsalT/J4sJ0Jrc1kFaQHJArwXnQFaQ=";
   };
 
   preBuild = ''
@@ -57,8 +57,13 @@ buildPythonPackage rec {
     mock
   ];
 
+  disabledTests = [
+    # block devices access
+    "test_is_block_device"
+  ];
+
   disabledTestPaths = [
-     # lots of DNS lookups
+    # lots of DNS lookups
     "tests/test_sockets.py"
   ] ++ lib.optionals stdenv.isDarwin [
     # darwin sandboxing limitations
diff --git a/nixpkgs/pkgs/development/python-modules/apache-airflow/default.nix b/nixpkgs/pkgs/development/python-modules/apache-airflow/default.nix
index dea5776fb616..2d80b6a3984a 100644
--- a/nixpkgs/pkgs/development/python-modules/apache-airflow/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/apache-airflow/default.nix
@@ -3,7 +3,6 @@
 , python
 , buildPythonPackage
 , fetchFromGitHub
-, writeText
 , alembic
 , argcomplete
 , attrs
diff --git a/nixpkgs/pkgs/development/python-modules/apache-airflow/yarn.nix b/nixpkgs/pkgs/development/python-modules/apache-airflow/yarn.nix
index a0388a1af3ec..c1c9b8d7857a 100644
--- a/nixpkgs/pkgs/development/python-modules/apache-airflow/yarn.nix
+++ b/nixpkgs/pkgs/development/python-modules/apache-airflow/yarn.nix
@@ -1,4 +1,4 @@
-{ fetchurl, fetchgit, linkFarm, runCommandNoCC, gnutar }: rec {
+{ fetchurl, fetchgit, linkFarm, runCommand, gnutar }: rec {
   offline_cache = linkFarm "offline" packages;
   packages = [
     {
diff --git a/nixpkgs/pkgs/development/python-modules/apispec/default.nix b/nixpkgs/pkgs/development/python-modules/apispec/default.nix
index 3bc1e6d4a5cf..2753864fed81 100644
--- a/nixpkgs/pkgs/development/python-modules/apispec/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/apispec/default.nix
@@ -12,12 +12,12 @@
 
 buildPythonPackage rec {
   pname = "apispec";
-  version = "4.7.0";
+  version = "4.7.1";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-v6G+yLWyzqZyfgIMOm/hHZYwiN0u1hbhFHXOry1naTc=";
+    sha256 = "1yf71c9nq1rfb5pkgmfw486fvywi1bjnmgwxcly7y3basf3980kr";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/apprise/default.nix b/nixpkgs/pkgs/development/python-modules/apprise/default.nix
index 04a3e11be3ef..1aa9dc2b1027 100644
--- a/nixpkgs/pkgs/development/python-modules/apprise/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/apprise/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "apprise";
-  version = "0.9.3";
+  version = "0.9.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-yKzpyJHUIkVYVwrL6oCPMd+QSVML2czWmQHCemXWAMQ=";
+    sha256 = "sha256-Q7iZD9GG8vPxITpn87l3yGtU+L8jwvs2Qi329LHlKrI=";
   };
 
   nativeBuildInputs = [ Babel installShellFiles ];
diff --git a/nixpkgs/pkgs/development/python-modules/arcam-fmj/default.nix b/nixpkgs/pkgs/development/python-modules/arcam-fmj/default.nix
index 4c3ff7d85a57..8d74db04d1fa 100644
--- a/nixpkgs/pkgs/development/python-modules/arcam-fmj/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/arcam-fmj/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "arcam-fmj";
-  version = "0.7.0";
+  version = "0.11.1";
 
   disabled = pythonOlder "3.8";
 
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "elupus";
     repo = "arcam_fmj";
     rev = version;
-    sha256 = "0y4wvvbcsizjd9qz6iw4gjhq5qf0qcqs27hpx1cd90vhy6rclxm0";
+    sha256 = "sha256-Vs32LGRN6kxG8sswvuUwuUbLv9GXuhJeK0CUGoo2EgE=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/archinfo/default.nix b/nixpkgs/pkgs/development/python-modules/archinfo/default.nix
index 60c3e8905b59..66f9444f0edf 100644
--- a/nixpkgs/pkgs/development/python-modules/archinfo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/archinfo/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "archinfo";
-  version = "9.0.9031";
+  version = "9.0.9684";
 
   src = fetchFromGitHub {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-pzBMyw5FwQV1FyhvOxUq39s96p0KKSrkEvJzhJQdS4E=";
+    sha256 = "sha256-uRwNvYrea3oexJ3Rcoa9oUMXa+gSnha2K0NM8e/A09k=";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/assertpy/default.nix b/nixpkgs/pkgs/development/python-modules/assertpy/default.nix
new file mode 100644
index 000000000000..5280808fb3cf
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/assertpy/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "assertpy";
+  version = "1.1";
+
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = version;
+    sha256 = "0hnfh45cmqyp7zasrllwf8gbq3mazqlhhk0sq1iqlh6fig0yfq2f";
+  };
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "assertpy"
+  ];
+
+  meta = with lib; {
+    description = "Simple assertion library for unit testing with a fluent API";
+    homepage = "https://github.com/assertpy/assertpy";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/astroid/default.nix b/nixpkgs/pkgs/development/python-modules/astroid/default.nix
index d6fda529d5da..59bd0bc7c369 100644
--- a/nixpkgs/pkgs/development/python-modules/astroid/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/astroid/default.nix
@@ -1,25 +1,35 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , pythonOlder
 , isPyPy
 , lazy-object-proxy
 , wrapt
 , typed-ast
 , pytestCheckHook
+, setuptools-scm
+, pylint
 }:
 
 buildPythonPackage rec {
   pname = "astroid";
-  version = "2.5.1";
+  version = "2.5.6"; # Check whether the version is compatible with pylint
 
   disabled = pythonOlder "3.6";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "cfc35498ee64017be059ceffab0a25bedf7548ab76f2bea691c5565896e7128d";
+  src = fetchFromGitHub {
+    owner = "PyCQA";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-/nWXzuWkerUDvFT/tJTZuhfju46MAM0cwosVH9BXoY8=";
   };
 
+  SETUPTOOLS_SCM_PRETEND_VERSION=version;
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
   # From astroid/__pkginfo__.py
   propagatedBuildInputs = [
     lazy-object-proxy
@@ -30,6 +40,10 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  passthru.tests = {
+    inherit pylint;
+  };
+
   meta = with lib; {
     description = "An abstract syntax tree for Python with inference support";
     homepage = "https://github.com/PyCQA/astroid";
diff --git a/nixpkgs/pkgs/development/python-modules/async-dns/default.nix b/nixpkgs/pkgs/development/python-modules/async-dns/default.nix
index 3067269aac9f..375e72d24fdd 100644
--- a/nixpkgs/pkgs/development/python-modules/async-dns/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/async-dns/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "async-dns";
-  version = "1.1.10";
+  version = "2.0.0";
   disabled = pythonOlder "3.6";
   format = "pyproject";
 
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "gera2ld";
     repo = "async_dns";
     rev = "v${version}";
-    sha256 = "1yxmdlf2n66kp2mprsd4bvfsf63l4c4cfkjm2rm063pmlifz2fvj";
+    sha256 = "0vn7hxvpzikd7q61a27fwzal4lwsra2063awyr6fjpy6lh3cjdwf";
   };
 
   nativeBuildInputs = [
@@ -26,7 +26,7 @@ buildPythonPackage rec {
   checkPhase = ''
     export HOME=$TMPDIR
     # Test needs network access
-    rm tests/test_resolver.py
+    rm -r tests/resolver
     ${python.interpreter} -m unittest
   '';
 
diff --git a/nixpkgs/pkgs/development/python-modules/async-upnp-client/default.nix b/nixpkgs/pkgs/development/python-modules/async-upnp-client/default.nix
index 369288293e1a..04e21ac9a68e 100644
--- a/nixpkgs/pkgs/development/python-modules/async-upnp-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/async-upnp-client/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , aiohttp
 , async-timeout
 , buildPythonPackage
@@ -13,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "async-upnp-client";
-  version = "0.19.0";
+  version = "0.20.0";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "StevenLooman";
     repo = "async_upnp_client";
     rev = version;
-    sha256 = "0xj3j54nasl59gs1k84h3fixjsaqn7whg33h6wi99l5yfbwfqv8p";
+    sha256 = "sha256-jxYGOljV7tcsiAgpOhbXj7g7AwyP1kDDC83PiHG6ZFg=";
   };
 
   propagatedBuildInputs = [
@@ -52,6 +53,8 @@ buildPythonPackage rec {
     "test_subscribe_renew"
     "test_start_server"
     "test_init"
+  ] ++ lib.optionals stdenv.isDarwin [
+    "test_deferred_callback_url"
   ];
 
   pythonImportsCheck = [ "async_upnp_client" ];
diff --git a/nixpkgs/pkgs/development/python-modules/asyncio-dgram/default.nix b/nixpkgs/pkgs/development/python-modules/asyncio-dgram/default.nix
index b5ae2b4baf8d..b06af4d2bbe0 100644
--- a/nixpkgs/pkgs/development/python-modules/asyncio-dgram/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/asyncio-dgram/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "asyncio-dgram";
-  version = "2.0.0";
+  version = "2.1.0";
 
   src = fetchFromGitHub {
     owner = "jsbronder";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-EL3iOoCfLAtfdMI1J2XMf4izOEo9+a+0PNQs+4HuEfo=";
+    sha256 = "1ibyphncb3d8vrs3yk8j6l1smmnibizx9k1vir2njhi09r57h9mx";
   };
 
   # OSError: AF_UNIX path too long
@@ -26,6 +26,7 @@ buildPythonPackage rec {
   ];
 
   disabledTests = [ "test_protocol_pause_resume" ];
+
   pythonImportsCheck = [ "asyncio_dgram" ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/asyncpg/default.nix b/nixpkgs/pkgs/development/python-modules/asyncpg/default.nix
index 5525f7940c2b..9c9e2d623dc4 100644
--- a/nixpkgs/pkgs/development/python-modules/asyncpg/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/asyncpg/default.nix
@@ -3,12 +3,12 @@
 
 buildPythonPackage rec {
   pname = "asyncpg";
-  version = "0.23.0";
+  version = "0.24.0";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "812dafa4c9e264d430adcc0f5899f0dc5413155a605088af696f952d72d36b5e";
+    sha256 = "sha256-3S+gY8M0SCNIfZ3cy0CALwJiLd+L+KbMU4he56LBwMY=";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/asysocks/default.nix b/nixpkgs/pkgs/development/python-modules/asysocks/default.nix
index 21a3ed2a8fe3..16e71a62ff4b 100644
--- a/nixpkgs/pkgs/development/python-modules/asysocks/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/asysocks/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "asysocks";
-  version = "0.1.1";
+  version = "0.1.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-7EzSALAJcx8BNHX44FeeiSPRcTe9UFHXQ4IoSKxMU8w=";
+    sha256 = "1hi9hzih265qlh7x32r5pbaqm9wkhm52yrdiksnd4gl5nrdgwcwv";
   };
 
   # Upstream hasn't release the tests yet
diff --git a/nixpkgs/pkgs/development/python-modules/authlib/default.nix b/nixpkgs/pkgs/development/python-modules/authlib/default.nix
index 4fa14a60ff83..1ac9954730dd 100644
--- a/nixpkgs/pkgs/development/python-modules/authlib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/authlib/default.nix
@@ -8,14 +8,14 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.15.3";
+  version = "0.15.4";
   pname = "authlib";
 
   src = fetchFromGitHub {
     owner = "lepture";
     repo = "authlib";
     rev = "v${version}";
-    sha256 = "1lqicv8awyygqh1z8vhwvx38dw619kgbirdn8c9sc3qilagq1rdx";
+    sha256 = "1jc7rssi1y6brkwjplj8qmi4q5w9h9wz03fbhg01c0y5bmy0g1nj";
   };
 
   propagatedBuildInputs = [ cryptography requests ];
diff --git a/nixpkgs/pkgs/development/python-modules/autologging/default.nix b/nixpkgs/pkgs/development/python-modules/autologging/default.nix
index fdd935303d02..1b3a7d652185 100644
--- a/nixpkgs/pkgs/development/python-modules/autologging/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/autologging/default.nix
@@ -11,7 +11,7 @@ buildPythonPackage rec {
   };
 
   meta = with lib; {
-    homepage = "http://ninthtest.info/python-autologging/";
+    homepage = "https://ninthtest.info/python-autologging/";
     description = "Easier logging and tracing for Python classes";
     license = licenses.mit;
     maintainers = with maintainers; [ twey ];
diff --git a/nixpkgs/pkgs/development/python-modules/awesomeversion/default.nix b/nixpkgs/pkgs/development/python-modules/awesomeversion/default.nix
index eed172868056..b5b59ef65508 100644
--- a/nixpkgs/pkgs/development/python-modules/awesomeversion/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/awesomeversion/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "awesomeversion";
-  version = "21.6.0";
+  version = "21.8.1";
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "ludeeus";
     repo = pname;
     rev = version;
-    sha256 = "sha256-TODlLaj3bcNVHrly614oKe2OkhmowsJojpR7apUIojc=";
+    sha256 = "sha256-eyo0dzmExJ7WCRAXFvB+ElWi5HTTzJ7XJsmxB2t6yfI=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/aws-lambda-builders/default.nix b/nixpkgs/pkgs/development/python-modules/aws-lambda-builders/default.nix
index e1a955fbb818..c967e6b7b468 100644
--- a/nixpkgs/pkgs/development/python-modules/aws-lambda-builders/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aws-lambda-builders/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "aws-lambda-builders";
-  version = "1.4.0";
+  version = "1.6.0";
 
   # No tests available in PyPI tarball
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = "aws-lambda-builders";
     rev = "v${version}";
-    sha256 = "0g7qj74mgazc7y1w0d9vs276vmfb3svi5whn2c87bryhrwq650vf";
+    sha256 = "sha256-H25Y1gusV+sSX0f6ii49bE36CgM1E3oWsX8AiVH85Y4=";
   };
 
   # Package is not compatible with Python 3.5
diff --git a/nixpkgs/pkgs/development/python-modules/aws-sam-translator/default.nix b/nixpkgs/pkgs/development/python-modules/aws-sam-translator/default.nix
index bad8ee9bd2de..8bf823e83f0a 100644
--- a/nixpkgs/pkgs/development/python-modules/aws-sam-translator/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aws-sam-translator/default.nix
@@ -1,34 +1,54 @@
 { lib
-, buildPythonPackage
-, fetchPypi
-, pythonOlder
 , boto3
+, buildPythonPackage
 , enum34
+, fetchFromGitHub
 , jsonschema
+, mock
+, parameterized
+, pytestCheckHook
+, pythonOlder
+, pyyaml
 , six
 }:
 
 buildPythonPackage rec {
   pname = "aws-sam-translator";
-  version = "1.37.0";
+  version = "1.38.0";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "0p2qd8gwxsfq17nmrlkpf31aqbfzjrwjk3n4p8vhci8mm11dk138";
+  src = fetchFromGitHub {
+    owner = "aws";
+    repo = "serverless-application-model";
+    rev = "v${version}";
+    sha256 = "0nn9jfqz13kzmxm0r9vy24p8sqxv3mrm5d3lx7ah6rc581q8nv1k";
   };
 
-  # Tests are not included in the PyPI package
-  doCheck = false;
-
   propagatedBuildInputs = [
     boto3
     jsonschema
     six
-  ] ++ lib.optionals (pythonOlder "3.4") [ enum34 ];
+  ] ++ lib.optionals (pythonOlder "3.4") [
+    enum34
+  ];
+
+  postPatch = ''
+    substituteInPlace pytest.ini \
+      --replace " --cov samtranslator --cov-report term-missing --cov-fail-under 95" ""
+  '';
+
+  checkInputs = [
+    mock
+    parameterized
+    pytestCheckHook
+    pyyaml
+  ];
+
+  pythonImportsCheck = [ "samtranslator" ];
 
   meta = with lib; {
-    homepage = "https://github.com/awslabs/serverless-application-model";
     description = "Python library to transform SAM templates into AWS CloudFormation templates";
+    homepage = "https://github.com/awslabs/serverless-application-model";
     license = licenses.asl20;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/awslambdaric/default.nix b/nixpkgs/pkgs/development/python-modules/awslambdaric/default.nix
index db55543ca5a3..1826291da502 100644
--- a/nixpkgs/pkgs/development/python-modules/awslambdaric/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/awslambdaric/default.nix
@@ -3,16 +3,21 @@
 
 buildPythonPackage rec {
   pname = "awslambdaric";
-  version = "1.1.1";
+  version = "1.2.2";
   disabled = isPy27;
 
   src = fetchFromGitHub {
     owner = "aws";
     repo = "aws-lambda-python-runtime-interface-client";
     rev = version;
-    sha256 = "1f8828y32yrf87bc933jhmjrvj746baibvpn0w21x3ji81vf6mri";
+    sha256 = "1r4b4w5xhf6p4vs7yx89kighlqim9f96v2ryknmrnmblgr4kg0h1";
   };
 
+  postPatch = ''
+    substituteInPlace requirements/base.txt \
+      --replace 'simplejson==3' 'simplejson~=3'
+  '';
+
   propagatedBuildInputs = [ simplejson ];
 
   nativeBuildInputs = [ autoconf automake cmake libtool perl ];
diff --git a/nixpkgs/pkgs/development/python-modules/azure-batch/default.nix b/nixpkgs/pkgs/development/python-modules/azure-batch/default.nix
index 942ae218fdd8..9202919ae6dd 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-batch/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-batch/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "azure-batch";
-  version = "10.0.0";
+  version = "11.0.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "83d7a2b0be42ca456ac2b56fa3dc6ce704c130e888d37d924072c1d3718f32d0";
+    sha256 = "ce5fdb0ec962eddfe85cd82205e9177cb0bbdb445265746e38b3bbbf1f16dc73";
   };
 
   propagatedBuildInputs = [
@@ -25,6 +25,8 @@ buildPythonPackage rec {
   # has no tests
   doCheck = false;
 
+  pythonImportsCheck = [ "azure.batch" ];
+
   meta = with lib; {
     description = "This is the Microsoft Azure Batch Client Library";
     homepage = "https://github.com/Azure/azure-sdk-for-python";
diff --git a/nixpkgs/pkgs/development/python-modules/azure-eventgrid/default.nix b/nixpkgs/pkgs/development/python-modules/azure-eventgrid/default.nix
index 8d2c8f21f2b3..e2736b88e4f5 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-eventgrid/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-eventgrid/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "azure-eventgrid";
-  version = "4.3.0";
+  version = "4.5.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "bf50c8a4dc022ff9b1810800cb431b2c68b748eed160dd71fb8eb9bd860c7ecc";
+    sha256 = "41ce94305fd3c4e2534f7663fb1be79819fc7d59f2b20544593ea6c914839351";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-identity/default.nix b/nixpkgs/pkgs/development/python-modules/azure-identity/default.nix
index 10c455ce072d..bad63d287be3 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-identity/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-identity/default.nix
@@ -17,12 +17,12 @@
 
 buildPythonPackage rec {
   pname = "azure-identity";
-  version = "1.6.0";
+  version = "1.6.1";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "2e70b00874e4f288e37804bc06bfaf216de8565c759594bf79cccfbf9ca2c78a";
+    sha256 = "69035c81f280fac5fa9c55f87be3a359b264853727486e3568818bb43988080e";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-apimanagement/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-apimanagement/default.nix
index 8ca4df197bb7..2b2327d9f0ec 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-apimanagement/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-apimanagement/default.nix
@@ -6,13 +6,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "2.0.0";
+  version = "2.1.0";
   pname = "azure-mgmt-apimanagement";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "54fade87af54904c8ac9785efccebc537c58a3c1f8726e929e473698f06ebbfc";
+    sha256 = "58296bd45e876df33f93f3a41c866c36476f5f3bd46818e8891308794f041c94";
     extension = "zip";
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-batch/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-batch/default.nix
index 5f4b005b6efe..c153534cc642 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-batch/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-batch/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-batch";
-  version = "15.0.0";
+  version = "16.0.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "9b793bb31a0d4dc8c29186db61db24d83795851a75846aadb187cf95bf853ccb";
+    sha256 = "1b3cecd6f16813879c6ac1a1bb01f9a6f2752cd1f9157eb04d5e41e4a89f3c34";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-compute/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-compute/default.nix
index 949de6d073c9..d8e8f45d7cc8 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-compute/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-compute/default.nix
@@ -6,13 +6,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "22.0.0";
+  version = "23.0.0";
   pname = "azure-mgmt-compute";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "7d582f3a4331f681f6bc358b796d9c33d7c0d55aa95c2874fc8dbe692e6bfa6d";
+    sha256 = "1eb26b965ba4049ddcf10d4f25818725fc03c491c3be76537d0d74ceb1146b04";
   };
 
   propagatedBuildInputs = [
@@ -25,6 +25,8 @@ buildPythonPackage rec {
   # has no tests
   doCheck = false;
 
+  pythonImportsCheck = [ "azure.mgmt.compute" ];
+
   meta = with lib; {
     description = "This is the Microsoft Azure Compute Management Client Library";
     homepage = "https://github.com/Azure/azure-sdk-for-python";
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-containerinstance/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-containerinstance/default.nix
index 7a4d8005c9e1..9d83e092f5d8 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-containerinstance/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-containerinstance/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-containerinstance";
-  version = "7.0.0";
+  version = "8.0.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "9f624df0664ba80ba886bc96ffe5e468c620eb5b681bc3bc2a28ce26042fd465";
+    sha256 = "7aeb380af71fc35a71d6752fa25eb5b95fdb2a0027fa32e6f50bce87e2622916";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-containerregistry/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-containerregistry/default.nix
index 8bc79a7df2ff..92658dc60758 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-containerregistry/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-containerregistry/default.nix
@@ -6,13 +6,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "8.0.0";
+  version = "8.1.0";
   pname = "azure-mgmt-containerregistry";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "480eb5d1bb910da4e87a5d7047e2f3e426083b14911ac64c48badd0218e9e756";
+    sha256 = "62efbb03275d920894d79879ad0ed59605163abd32177dcf24e90c1862ebccbd";
     extension = "zip";
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-containerservice/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-containerservice/default.nix
index e903e553b44a..9d172701bbcc 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-containerservice/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-containerservice/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-containerservice";
-  version = "16.0.0";
+  version = "16.1.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "d6aa95951d32fe2cb390b3d8ae4f6459746de51bbaad94b5d1842dd35c4d0c11";
+    sha256 = "3654c8ace2b8868d0ea9c4c78c74f51e86e23330c7d8a636d132253747e6f3f4";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-datamigration/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-datamigration/default.nix
index f7d2b7b9db04..6fd6b4a2a7ff 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-datamigration/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-datamigration/default.nix
@@ -12,12 +12,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-datamigration";
-  version = "9.0.0";
+  version = "10.0.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "70373dbeb35a7768a47341bb3b570c559197bc1ba36fc8f8bf15139e4c8bad70";
+    sha256 = "5cee70f97fe3a093c3cb70c2a190c2df936b772e94a09ef7e3deb1ed177c9f32";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-iothub/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-iothub/default.nix
index f4e1534a61d6..029a10251823 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-iothub/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-iothub/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-iothub";
-  version = "2.0.0";
+  version = "2.1.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "653a765f0beb6af0c9ecbd290b4101e1b5e0f6450405faf28ab8234c15d8b38b";
+    sha256 = "2724f48cadb1be7ee96fc26c7bfa178f82cea5d325e785e91d9f26965fa8e46f";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-loganalytics/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-loganalytics/default.nix
index 5a93d3d0df18..790e7cf86c1a 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-loganalytics/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-loganalytics/default.nix
@@ -1,8 +1,6 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, python
-, isPy3k
 , msrest
 , msrestazure
 , azure-common
@@ -12,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-loganalytics";
-  version = "10.0.0";
+  version = "11.0.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "29330984d0f084dff26cea239d7b733c1a26844da85d33bf3bb53b515ce0bc23";
+    sha256 = "41671fc6e95180fb6147cb40567410c34b85fb69bb0a9b3e09feae1ff370ee9d";
   };
 
   propagatedBuildInputs = [
@@ -33,6 +31,8 @@ buildPythonPackage rec {
   # has no tests
   doCheck = false;
 
+  pythonImportsCheck = [ "azure.mgmt.loganalytics" ];
+
   meta = with lib; {
     description = "This is the Microsoft Azure Log Analytics Management Client Library";
     homepage = "https://github.com/Azure/azure-sdk-for-python";
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-media/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-media/default.nix
index b4d25a14938d..e0dd1af1ad0f 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-media/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-media/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-media";
-  version = "7.0.0";
+  version = "8.0.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "b45e82a594ed91cd5aa7a5cd5d01f038b7ac3cf12233e7ba2beaaa3477900e8e";
+    sha256 = "c08e687c0afa061a3e05acaf29ce81e737480d592b07e0de5f77e9a7f9f00c00";
   };
 
   propagatedBuildInputs = [
@@ -31,6 +31,8 @@ buildPythonPackage rec {
   # has no tests
   doCheck = false;
 
+  pythonImportsCheck = [ "azure.mgmt.media" ];
+
   meta = with lib; {
     description = "This is the Microsoft Azure Media Services Client Library";
     homepage = "https://github.com/Azure/azure-sdk-for-python";
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix
index 25aae3ffad01..3ebc199599bd 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-recoveryservicesbackup";
-  version = "1.0.0";
+  version = "2.0.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "fd915aa6a76ef9e0e963615d4c909400c8d5646e26273ae25fa1418ce61e28d2";
+    sha256 = "d3e60daefbc20a7fa381c7ad1498f4bf4bb5a1414c1c64188cc9d5c98c4e12ac";
   };
 
   propagatedBuildInputs = [
@@ -29,6 +29,8 @@ buildPythonPackage rec {
   # has no tests
   doCheck = false;
 
+  pythonImportsCheck = [ "azure.mgmt.recoveryservicesbackup" ];
+
   meta = with lib; {
     description = "This is the Microsoft Azure Recovery Services Backup Management Client Library";
     homepage = "https://github.com/Azure/azure-sdk-for-python";
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-redis/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-redis/default.nix
index fb43f130ba3a..79045a4b4ba8 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-redis/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-redis/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-redis";
-  version = "12.0.0";
+  version = "13.0.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "8ae563e3df82a2f206d0483ae6f05d93d0d1835111c0bbca7236932521eed356";
+    sha256 = "283f776afe329472c20490b1f2c21c66895058cb06fb941eccda42cc247217f1";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-resource/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-resource/default.nix
index 9ea6acbe8da7..3683a70ac1a9 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-resource/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-resource/default.nix
@@ -8,14 +8,14 @@
 
 
 buildPythonPackage rec {
-  version = "18.0.0";
+  version = "19.0.0";
   pname = "azure-mgmt-resource";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "551036e592f409ef477d30937ea7cc4dda5126576965d9c816fdb8401bbd774c";
+    sha256 = "bbb60bb9419633c2339569d4e097908638c7944e782b5aef0f5d9535085a9100";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-servicebus/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-servicebus/default.nix
index 2deaf2b91dd7..5dd689b976e4 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-servicebus/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-servicebus/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-servicebus";
-  version = "6.0.0";
+  version = "7.0.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "f6c64ed97d22d0c03c4ca5fc7594bd0f3d4147659c10110160009b93f541298e";
+    sha256 = "ee859efec2ec9fc8d059811967b1cb17836f4f5786e7406494a42f51f0667822";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-sql/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-sql/default.nix
index a9e41e32799e..75b41758b3d0 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-sql/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-sql/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-sql";
-  version = "3.0.0";
+  version = "3.0.1";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "e2fe427ed8f6e368de7176696b38910a16b307dd9c2e1d2144d643a1c0f38e21";
+    sha256 = "129042cc011225e27aee6ef2697d585fa5722e5d1aeb0038af6ad2451a285457";
   };
 
   propagatedBuildInputs = [
@@ -31,6 +31,8 @@ buildPythonPackage rec {
   # has no tests
   doCheck = false;
 
+  pythonImportsCheck = [ "azure.mgmt.sql" ];
+
   meta = with lib; {
     description = "This is the Microsoft Azure SQL Management Client Library";
     homepage = "https://github.com/Azure/azure-sdk-for-python";
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-web/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-web/default.nix
index b2643eb336c8..9fc5abe968bd 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-web/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-web/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-web";
-  version = "3.0.0";
+  version = "4.0.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "274239993a4705c9e1135842137d77a703f63d14ee5c1a5ee87fe1f8a471a061";
+    sha256 = "e57437a933e7dea9b0618fe790e0dadc63f9857735361ac8b5f5e8062b9c2a0d";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-servicebus/default.nix b/nixpkgs/pkgs/development/python-modules/azure-servicebus/default.nix
index bc88fece7710..611508b42450 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-servicebus/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-servicebus/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "azure-servicebus";
-  version = "7.3.1";
+  version = "7.3.2";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "dc162fc572087cdf53065a2ea9517b002a6702cf382f998d69903d68c16c731e";
+    sha256 = "6c9bef0bfb4ac2bb8158fdfb3938884cd42542be3162ac288fa8df4e254d3810";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-synapse-accesscontrol/default.nix b/nixpkgs/pkgs/development/python-modules/azure-synapse-accesscontrol/default.nix
index b9a6a40e733c..fc6cd765cdbb 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-synapse-accesscontrol/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-synapse-accesscontrol/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "azure-synapse-accesscontrol";
-  version = "0.6.0";
+  version = "0.7.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2f8f71561ca30ff3b04b172f5a64b231baeb02f4bce4bd6763df93a178c8b5d7";
+    sha256 = "565aa26336d560c028775e8ae50d0691aa7089e96170e78342371b773da3137c";
     extension = "zip";
   };
 
@@ -20,6 +20,9 @@ buildPythonPackage rec {
     msrest
   ];
 
+  # zero tests run
+  doCheck = false;
+
   pythonImportsCheck = [ "azure.synapse.accesscontrol" ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/azure-synapse-artifacts/default.nix b/nixpkgs/pkgs/development/python-modules/azure-synapse-artifacts/default.nix
index f9c78b6116fc..8be13364e1b0 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-synapse-artifacts/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-synapse-artifacts/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "azure-synapse-artifacts";
-  version = "0.7.0";
+  version = "0.8.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "2a538d617dc5d2d167716226d0a24e416324efb35ef22b223e0d9fb6b9889a72";
+    sha256 = "3d4fdfd0bd666984f7bdc7bc0c7a6018c35a5d46a81a32dd193b07c03b528b72";
   };
 
   propagatedBuildInputs = [
@@ -20,6 +20,9 @@ buildPythonPackage rec {
     msrest
   ];
 
+  # zero tests run
+  doCheck = false;
+
   pythonImportsCheck = [ "azure.synapse.artifacts" ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/azure-synapse-spark/default.nix b/nixpkgs/pkgs/development/python-modules/azure-synapse-spark/default.nix
index 09b25fe9d518..db998e00e697 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-synapse-spark/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-synapse-spark/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "azure-synapse-spark";
-  version = "0.5.0";
+  version = "0.6.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2b037024dc7c034f47aac551cc918f78590a1e1ae30cd2370c8a14da15994970";
+    sha256 = "ac7564a61ba314e0a9406c0f73c3cede04091a131a0c58971bcba0c158b7455d";
     extension = "zip";
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/b2sdk/default.nix b/nixpkgs/pkgs/development/python-modules/b2sdk/default.nix
index c6122e15a83a..d81c374670fd 100644
--- a/nixpkgs/pkgs/development/python-modules/b2sdk/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/b2sdk/default.nix
@@ -16,12 +16,12 @@
 
 buildPythonPackage rec {
   pname = "b2sdk";
-  version = "1.9.0";
+  version = "1.12.0";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ff9c27c89f53583fd83c711d0a642d9b3bdbb8682c2e8e2315674b517cb441ec";
+    sha256 = "sha256-PsImSuK0IVY9EwpLKlP5ZFS6A7j2iJOtUg/GUcQTJR0=";
   };
 
   nativeBuildInputs = [
@@ -54,6 +54,7 @@ buildPythonPackage rec {
     # Test requires an API key
     "test_raw_api"
     "test_files_headers"
+    "test_large_file"
   ];
 
   pythonImportsCheck = [ "b2sdk" ];
diff --git a/nixpkgs/pkgs/development/python-modules/babelfish/default.nix b/nixpkgs/pkgs/development/python-modules/babelfish/default.nix
index ba015f597ce6..4f64e65bae03 100644
--- a/nixpkgs/pkgs/development/python-modules/babelfish/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/babelfish/default.nix
@@ -2,18 +2,24 @@
 
 buildPythonPackage rec {
   pname = "babelfish";
-  version = "0.5.5";
+  version = "0.6.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8380879fa51164ac54a3e393f83c4551a275f03617f54a99d70151358e444104";
+    sha256 = "2dadfadd1b205ca5fa5dc9fa637f5b7933160a0418684c7c46a7a664033208a2";
   };
 
   propagatedBuildInputs = [ setuptools ];
 
+  # no tests executed
+  doCheck = false;
+
+  pythonImportsCheck = [ "babelfish" ];
+
   meta = with lib; {
     homepage = "https://pypi.python.org/pypi/babelfish";
     description = "A module to work with countries and languages";
     license = licenses.bsd3;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/backoff/default.nix b/nixpkgs/pkgs/development/python-modules/backoff/default.nix
index fd92351c4d83..c7d1d5373fb1 100644
--- a/nixpkgs/pkgs/development/python-modules/backoff/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/backoff/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "backoff";
-  version = "1.10.0";
+  version = "1.11.1";
 
   src = fetchFromGitHub {
     owner = "litl";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1jj0l6pjx747d2yyvnzd3qbm4qr73sq6cc56dhvd8wqfbp5279x0";
+    sha256 = "sha256-87IMcLaoCn0Vns8Ub/AFmv0gXtS0aPZX0cSt7+lOPm4=";
   };
 
   format = "pyproject";
diff --git a/nixpkgs/pkgs/development/python-modules/bagit/default.nix b/nixpkgs/pkgs/development/python-modules/bagit/default.nix
new file mode 100644
index 000000000000..7663cf8cf1a9
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/bagit/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, coverage
+, gettext
+, mock
+, pytestCheckHook
+, setuptools-scm
+}:
+
+buildPythonPackage rec {
+  pname = "bagit";
+  version = "1.8.1";
+
+  src = fetchFromGitHub {
+    owner = "LibraryOfCongress";
+    repo = "bagit-python";
+    rev = "v${version}";
+    hash = "sha256-t01P7MPWgOrktuW2zF0TIzt6u/jkLmrpD2OnqawhJaI=";
+  };
+
+  nativeBuildInputs = [ gettext setuptools-scm ];
+
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  checkInputs = [
+    mock
+    pytestCheckHook
+  ];
+  pytestFlagsArray = [ "test.py" ];
+  pythonImportsCheck = [ "bagit" ];
+
+  meta = with lib; {
+    description = "Python library and command line utility for working with BagIt style packages";
+    homepage = "https://libraryofcongress.github.io/bagit-python/";
+    license = with licenses; [ publicDomain ];
+    maintainers = with maintainers; [ veprbl ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/bellows/default.nix b/nixpkgs/pkgs/development/python-modules/bellows/default.nix
index 7d8e6ff5bee3..e52e07627dbb 100644
--- a/nixpkgs/pkgs/development/python-modules/bellows/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bellows/default.nix
@@ -3,31 +3,29 @@
 , fetchFromGitHub
 , click
 , click-log
+, dataclasses
 , pure-pcapy3
 , pyserial-asyncio
 , voluptuous
 , zigpy
 , asynctest
+, pythonOlder
 , pytestCheckHook
 , pytest-asyncio
+, pytest-timeout
 }:
 
 buildPythonPackage rec {
   pname = "bellows";
-  version = "0.25.0";
+  version = "0.26.0";
 
   src = fetchFromGitHub {
     owner = "zigpy";
     repo = "bellows";
     rev = version;
-    sha256 = "1836wm8whbryp31zdaj3b6w40sx1wjsxgpjdb1x9rgmwff4d1hc0";
+    sha256 = "0qbsk5iv3vrpwz7kfmjdbc66rfkg788p6wwxbf6jzfarfhcgrh3k";
   };
 
-  prePatch = ''
-    substituteInPlace setup.py \
-      --replace "click-log==0.2.1" "click-log>=0.2.1"
-  '';
-
   propagatedBuildInputs = [
     click
     click-log
@@ -35,16 +33,31 @@ buildPythonPackage rec {
     pyserial-asyncio
     voluptuous
     zigpy
+  ] ++ lib.optionals (pythonOlder "3.7") [
+    dataclasses
   ];
 
   checkInputs = [
-    asynctest
     pytestCheckHook
     pytest-asyncio
+    pytest-timeout
+  ]  ++ lib.optionals (pythonOlder "3.8") [
+    asynctest
+  ];
+
+  disabledTests = [
+    # RuntimeError: coroutine 'test_remigrate_forcibly_downgraded_v4' was never awaited
+    #"test_remigrate_forcibly_downgraded_v4"
+    # RuntimeError: Event loop is closed
+    "test_thread_already_stopped"
+  ];
+
+  pythonImportsCheck = [
+    "bellows"
   ];
 
   meta = with lib; {
-    description = "A Python 3 project to implement EZSP for EmberZNet devices";
+    description = "Python module to implement EZSP for EmberZNet devices";
     homepage = "https://github.com/zigpy/bellows";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ etu mvnetbiz ];
diff --git a/nixpkgs/pkgs/development/python-modules/bids-validator/default.nix b/nixpkgs/pkgs/development/python-modules/bids-validator/default.nix
index aee7147f5b49..f39e775fc257 100644
--- a/nixpkgs/pkgs/development/python-modules/bids-validator/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bids-validator/default.nix
@@ -4,12 +4,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.7.2";
+  version = "1.8.2";
   pname = "bids-validator";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "12398831a3a3a2ed7c67e693cf596610c23dd23e0889bfeae0830bbd1d41e5b9";
+    sha256 = "7969d55e9ed07f6cf7dfd72ed696a05abe56a2f35e81a1ef677f3694b2adf606";
   };
 
   # needs packages which are not available in nixpkgs
diff --git a/nixpkgs/pkgs/development/python-modules/bimmer-connected/default.nix b/nixpkgs/pkgs/development/python-modules/bimmer-connected/default.nix
index c7abe9cfd990..ac2785fe332c 100644
--- a/nixpkgs/pkgs/development/python-modules/bimmer-connected/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bimmer-connected/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "bimmer-connected";
-  version = "0.7.15";
+  version = "0.7.20";
 
   disabled = pythonOlder "3.5";
 
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "bimmerconnected";
     repo = "bimmer_connected";
     rev = version;
-    sha256 = "193m16rrq7mfvzjcq823icdr9fp3i8grqqn3ci8zhcsq6w3vnb90";
+    sha256 = "sha256-vcJYcxBX8wHH3FiU2Cg7IlK0iEQZ3SLVa0MryeAwPCA=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/binwalk/default.nix b/nixpkgs/pkgs/development/python-modules/binwalk/default.nix
index 609c0392c77b..9f4966ffe897 100644
--- a/nixpkgs/pkgs/development/python-modules/binwalk/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/binwalk/default.nix
@@ -22,13 +22,13 @@
 
 buildPythonPackage rec {
   pname = "binwalk";
-  version = "2.3.1";
+  version = "2.3.2";
 
   src = fetchFromGitHub {
     owner = "ReFirmLabs";
     repo = "binwalk";
     rev = "v${version}";
-    sha256 = "108mj4jjffdmaz6wjvglbv44j7fkhspaxz1rj2bi1fcnwsri5wsm";
+    sha256 = "sha256-lfHXutAp06Xr/TSBpDwBUBC/mWI9XuyImoKwA3inqgU=";
   };
 
   propagatedBuildInputs = [ zlib xz ncompress gzip bzip2 gnutar p7zip cabextract squashfsTools xz pycrypto ]
diff --git a/nixpkgs/pkgs/development/python-modules/bitarray/default.nix b/nixpkgs/pkgs/development/python-modules/bitarray/default.nix
index 28ae80020986..ad97a5f04c8b 100644
--- a/nixpkgs/pkgs/development/python-modules/bitarray/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bitarray/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "bitarray";
-  version = "2.2.1";
+  version = "2.3.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-MbQNcWofBkLqnidBwpt1YpkHXbLh0evnUOPiwUafWJ0=";
+    sha256 = "sha256-S+47qRZLZs72TxCZ6aO4jpndzQyUOAfplENhPhhLSLQ=";
   };
 
   checkPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/bitstring/default.nix b/nixpkgs/pkgs/development/python-modules/bitstring/default.nix
index ed67f2be5c5f..52bc9bae865b 100644
--- a/nixpkgs/pkgs/development/python-modules/bitstring/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bitstring/default.nix
@@ -1,14 +1,27 @@
-{ lib, buildPythonPackage, fetchPypi }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, python
+}:
 
 buildPythonPackage rec {
   pname = "bitstring";
-  version = "3.1.7";
+  version = "3.1.9";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "0jl6192dwrlm5ybkbh7ywmyaymrc3cmz9y07nm7qdli9n9rfpwzx";
+  src = fetchFromGitHub {
+    owner = "scott-griffiths";
+    repo = pname;
+    rev = "bitstring-${version}";
+    sha256 = "0y2kcq58psvl038r6dhahhlhp1wjgr5zsms45wyz1naq6ri8x9qa";
   };
 
+  checkPhase = ''
+    cd test
+    ${python.interpreter} -m unittest discover
+  '';
+
+  pythonImportsCheck = [ "bitstring" ];
+
   meta = with lib; {
     description = "Module for binary data manipulation";
     homepage = "https://github.com/scott-griffiths/bitstring";
diff --git a/nixpkgs/pkgs/development/python-modules/black/default.nix b/nixpkgs/pkgs/development/python-modules/black/default.nix
index 6f4e05767bb7..2b968fb991a7 100644
--- a/nixpkgs/pkgs/development/python-modules/black/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/black/default.nix
@@ -11,7 +11,7 @@
 , pathspec
 , parameterized
 , regex
-, toml
+, tomli
 , typed-ast
 , typing-extensions
 , uvloop
@@ -20,13 +20,13 @@
 
 buildPythonPackage rec {
   pname = "black";
-  version = "21.6b0";
+  version = "21.7b0";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "016f6bhnnnbcrrh3cvmpk77ww0nykv5n1qvgf8b3044dm14264yw";
+    sha256 = "06d27adq6v6p8wspi0wwqz2pnq34p5jhnqvijbin54yyj5j3qdy8";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
@@ -66,7 +66,7 @@ buildPythonPackage rec {
     mypy-extensions
     pathspec
     regex
-    toml
+    tomli
     typed-ast # required for tests and python2 extra
     uvloop
   ] ++ lib.optional (pythonOlder "3.7") dataclasses
diff --git a/nixpkgs/pkgs/development/python-modules/bleach/default.nix b/nixpkgs/pkgs/development/python-modules/bleach/default.nix
index d68318355d88..6d3c7fffe6ad 100644
--- a/nixpkgs/pkgs/development/python-modules/bleach/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bleach/default.nix
@@ -1,32 +1,43 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, pytest
-, pytest-runner
+, pytestCheckHook
 , six
 , html5lib
 , setuptools
 , packaging
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "bleach";
-  version = "3.3.0";
+  version = "4.1.0";
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-mLMXBznl6D3Z3BljPwdHJ62EjL7bYCZwjIrC07aXpDM=";
+    sha256 = "sha256-CQDYs366YagC7kCsAGH4wrXe4pwZJ90dIz4HXr9acdo=";
   };
 
-  checkInputs = [ pytest pytest-runner ];
-  propagatedBuildInputs = [ packaging six html5lib setuptools ];
+  propagatedBuildInputs = [
+    packaging
+    six
+    html5lib
+    setuptools
+  ];
 
-  # Disable network tests
-  checkPhase = ''
-    pytest -k "not protocols"
-  '';
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  meta = {
+  disabledTests = [
+    # Disable network tests
+    "protocols"
+  ];
+
+  pythonImportsCheck = [ "bleach" ];
+
+  meta = with lib; {
     description = "An easy, HTML5, whitelisting HTML sanitizer";
     longDescription = ''
       Bleach is an HTML sanitizing library that escapes or strips markup and
@@ -41,7 +52,7 @@ buildPythonPackage rec {
     '';
     homepage = "https://github.com/mozilla/bleach";
     downloadPage = "https://github.com/mozilla/bleach/releases";
-    license = lib.licenses.asl20;
-    maintainers = with lib.maintainers; [ prikhi ];
+    license = licenses.asl20;
+    maintainers = with maintainers; [ prikhi ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/blspy/default.nix b/nixpkgs/pkgs/development/python-modules/blspy/default.nix
index e75e474bdab1..9592deccc6cc 100644
--- a/nixpkgs/pkgs/development/python-modules/blspy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/blspy/default.nix
@@ -13,12 +13,12 @@
 
 buildPythonPackage rec {
   pname = "blspy";
-  version = "1.0.2";
+  version = "1.0.5";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-N1mk83uZrzSty2DyXfKiVp85z/jmztiUSRXKfNBRJV4=";
+    hash = "sha256-uDXzAdGzfyRbsMVllLNd3DK8F/GfovdX293z5Mel6eg=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/blspy/dont_fetch_dependencies.patch b/nixpkgs/pkgs/development/python-modules/blspy/dont_fetch_dependencies.patch
index f9c41d9420be..416163a744b8 100644
--- a/nixpkgs/pkgs/development/python-modules/blspy/dont_fetch_dependencies.patch
+++ b/nixpkgs/pkgs/development/python-modules/blspy/dont_fetch_dependencies.patch
@@ -23,7 +23,7 @@ index faecc61..3272116 100644
 -if (DEFINED ENV{RELIC_MAIN})
 -  set(RELIC_GIT_TAG "origin/main")
 -else ()
--  set(RELIC_GIT_TAG "1885ae3b681c423c72b65ce1fe70910142cf941c")
+-  set(RELIC_GIT_TAG "b7b2266a0e4ee6f628f61d3ab638f524a18b52f1")
 -endif ()
 -
 -message(STATUS "Relic will be built from: ${RELIC_GIT_TAG}")
diff --git a/nixpkgs/pkgs/development/python-modules/bond-api/default.nix b/nixpkgs/pkgs/development/python-modules/bond-api/default.nix
index 39a6cc443334..9651d7289a9b 100644
--- a/nixpkgs/pkgs/development/python-modules/bond-api/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bond-api/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonPackage rec {
   pname = "bond-api";
-  version = "0.1.12";
+  version = "0.1.13";
 
   src = fetchFromGitHub {
     owner = "prystupa";
     repo = "bond-api";
     rev = "v${version}";
-    sha256 = "0zqaqqadr4x4vmq28nfk5x67gfwqqfy19z0cgrpxlbbvxamccym0";
+    sha256 = "0v3bwbpn98fjm8gza2k7fb7w5ps3982kfvbck5x0fh2xq2825b80";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/boost-histogram/default.nix b/nixpkgs/pkgs/development/python-modules/boost-histogram/default.nix
index f644c8c9c20f..d66b80d00c71 100644
--- a/nixpkgs/pkgs/development/python-modules/boost-histogram/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/boost-histogram/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "boost-histogram";
-  version = "1.0.2";
+  version = "1.1.0";
   disabled = !isPy3k;
 
   src = fetchPypi {
     pname = "boost_histogram";
     inherit version;
-    sha256 = "b79cb9a00c5b8e44ff24ffcbec0ce5d3048dd1570c8592066344b6d2f2369fa2";
+    sha256 = "370e8e44a0bac4ebbedb7e62570be3a75a7a3807a297d6e82a94301b4681fc22";
   };
 
   buildInputs = [ boost ];
diff --git a/nixpkgs/pkgs/development/python-modules/bootstrapped-pip/2.nix b/nixpkgs/pkgs/development/python-modules/bootstrapped-pip/2.nix
index 5a6333d656af..f89d39ae2b79 100644
--- a/nixpkgs/pkgs/development/python-modules/bootstrapped-pip/2.nix
+++ b/nixpkgs/pkgs/development/python-modules/bootstrapped-pip/2.nix
@@ -30,9 +30,9 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ makeWrapper unzip ];
   buildInputs = [ python ];
 
-  buildPhase = ":";
+  dontBuild = true;
 
-  installPhase = lib.strings.optionalString (!stdenv.hostPlatform.isWindows) ''
+  installPhase = lib.optionalString (!stdenv.hostPlatform.isWindows) ''
     export SETUPTOOLS_INSTALL_WINDOWS_SPECIFIC_FILES=0
   '' + ''
     # Give folders a known name
diff --git a/nixpkgs/pkgs/development/python-modules/bootstrapped-pip/default.nix b/nixpkgs/pkgs/development/python-modules/bootstrapped-pip/default.nix
index 42eb1cccee35..84016043929c 100644
--- a/nixpkgs/pkgs/development/python-modules/bootstrapped-pip/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bootstrapped-pip/default.nix
@@ -30,9 +30,9 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ makeWrapper unzip ];
   buildInputs = [ python ];
 
-  buildPhase = ":";
+  dontBuild = true;
 
-  installPhase = lib.strings.optionalString (!stdenv.hostPlatform.isWindows) ''
+  installPhase = lib.optionalString (!stdenv.hostPlatform.isWindows) ''
     export SETUPTOOLS_INSTALL_WINDOWS_SPECIFIC_FILES=0
   '' + ''
     # Give folders a known name
diff --git a/nixpkgs/pkgs/development/python-modules/brotlicffi/default.nix b/nixpkgs/pkgs/development/python-modules/brotlicffi/default.nix
new file mode 100644
index 000000000000..06cb2bf75805
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/brotlicffi/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, fetchFromGitHub
+, buildPythonPackage
+, pythonOlder
+, cffi
+, brotli
+}:
+
+buildPythonPackage rec {
+  pname = "brotlicffi";
+  version = "1.0.9.2";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "python-hyper";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0qx7an7772brmx1rbbrqzqnkqqvicc70mx740nl31kzzyv4jjs00";
+  };
+
+  buildInputs = [
+    brotli
+  ];
+
+  propagatedBuildInputs = [
+    cffi
+  ];
+
+  preBuild = ''
+    export USE_SHARED_BROTLI=1
+  '';
+
+  # Test data is not available, only when using libbortli git checkout
+  doCheck = false;
+
+  pythonImportsCheck = [ "brotlicffi" ];
+
+  meta = with lib; {
+    description = "Python CFFI bindings to the Brotli library";
+    homepage = "https://github.com/python-hyper/brotlicffi";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/buildbot/default.nix b/nixpkgs/pkgs/development/python-modules/buildbot/default.nix
index 65919542057b..3c5db01cdb68 100644
--- a/nixpkgs/pkgs/development/python-modules/buildbot/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/buildbot/default.nix
@@ -1,14 +1,20 @@
-{ stdenv, lib, buildPythonPackage, fetchPypi, makeWrapper, isPy3k,
-  python, twisted, jinja2, zope_interface, sqlalchemy,
-  sqlalchemy_migrate, python-dateutil, txaio, autobahn, pyjwt, pyyaml, unidiff, treq,
-  txrequests, pypugjs, boto3, moto, mock, python-lz4, setuptoolsTrial,
-  isort, pylint, flake8, buildbot-worker, buildbot-pkg, buildbot-plugins,
-  parameterized, git, openssh, glibcLocales, ldap3, nixosTests }:
+{ stdenv, lib, buildPythonPackage, fetchPypi, makeWrapper, isPy3k
+, python, twisted, jinja2, zope_interface, sqlalchemy
+, sqlalchemy_migrate, python-dateutil, txaio, autobahn, pyjwt, pyyaml, unidiff, treq
+, txrequests, pypugjs, boto3, moto, mock, lz4, setuptoolsTrial
+, isort, pylint, flake8, buildbot-worker, buildbot-pkg, buildbot-plugins
+, parameterized, git, openssh, glibcLocales, ldap3, nixosTests
+}:
 
 let
   withPlugins = plugins: buildPythonPackage {
-    name = "${package.name}-with-plugins";
-    phases = [ "installPhase" "fixupPhase" ];
+    pname = "${package.pname}-with-plugins";
+    inherit (package) version;
+
+    dontUnpack = true;
+    dontBuild = true;
+    doCheck = false;
+
     nativeBuildInputs = [ makeWrapper ];
     propagatedBuildInputs = plugins ++ package.propagatedBuildInputs;
 
@@ -25,11 +31,11 @@ let
 
   package = buildPythonPackage rec {
     pname = "buildbot";
-    version = "3.1.1";
+    version = "3.3.0";
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "0vh2v1qs65kwcj1x8r1wj2g456kflspyz7mjara9ph9qs7j97y74";
+      sha256 = "sha256-FST+mCIQpzxc/5iQdsSNBlKxY985v+z6Xeh8ZQRu2FE=";
     };
 
     propagatedBuildInputs = [
@@ -56,7 +62,7 @@ let
       boto3
       moto
       mock
-      python-lz4
+      lz4
       setuptoolsTrial
       isort
       pylint
@@ -96,6 +102,7 @@ let
     passthru = {
       inherit withPlugins;
       tests.buildbot = nixosTests.buildbot;
+      updateScript = ./update.sh;
     };
 
     meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/buildbot/pkg.nix b/nixpkgs/pkgs/development/python-modules/buildbot/pkg.nix
index b00a2ece5684..45254ca83f8a 100644
--- a/nixpkgs/pkgs/development/python-modules/buildbot/pkg.nix
+++ b/nixpkgs/pkgs/development/python-modules/buildbot/pkg.nix
@@ -6,7 +6,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "13bcshfas3r7hl205il9fzdjfhd18jf0lxrr5wd8r6qzdrl6i1y6";
+    sha256 = "sha256-PVmDJN3/PMsvZrrwSNaUUQLPkOMWO6edIEEfZSwspTs=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/buildbot/plugins.nix b/nixpkgs/pkgs/development/python-modules/buildbot/plugins.nix
index 62f32a00fb45..12c4146b5132 100644
--- a/nixpkgs/pkgs/development/python-modules/buildbot/plugins.nix
+++ b/nixpkgs/pkgs/development/python-modules/buildbot/plugins.nix
@@ -7,7 +7,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "1qb82s72mrm39123kwkypa2nhdsks6v9nkpw4vvscnq4p9xbzw2c";
+      sha256 = "sha256-KFGTNudUxjSV6406NV4QJP8t9t5p2ckMlntkqsf1x2U=";
     };
 
     # Remove unneccessary circular dependency on buildbot
@@ -34,7 +34,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "0kwzj28dmhkcr44nf39s82xjc9y5p27w4ywxfpm55cim3hwxbcb1";
+      sha256 = "sha256-UoKCRAnPAQjb7Fgm+YkGv1boXY+xSDkYA3E2EiEkNGE=";
     };
 
     buildInputs = [ buildbot-pkg ];
@@ -56,7 +56,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "0vvp6z0d0qf5i5kykzph28hr3g9wgzrmmbbzdnm94yk4wsqq7w86";
+      sha256 = "sha256-Ccmk8TPtMfGrlNaBKhos1s/G1pHzf+zSD+A88F+/8+c=";
     };
 
     buildInputs = [ buildbot-pkg ];
@@ -78,7 +78,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "0y839swv9vdkwi4i1hjiyrjbj1bs74sbkpr5f58ivkjlf5alb56b";
+      sha256 = "sha256-oHvn7E4NS0RhTU2hDn1GgFjalYCoXUNCtGEz2lHel+M=";
     };
 
     buildInputs = [ buildbot-pkg ];
@@ -100,7 +100,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "1zsh1bvrl3byx0ycz5jnhijzifxglm8w7kcxp79k7frw7i02fpvy";
+      sha256 = "sha256-HoiR2WF6EWebbb9c3WcLU2H17HMqkrF6JNOwpUk9CbU=";
     };
 
     buildInputs = [ buildbot-pkg ];
diff --git a/nixpkgs/pkgs/development/python-modules/buildbot/update.sh b/nixpkgs/pkgs/development/python-modules/buildbot/update.sh
new file mode 100755
index 000000000000..3406f05db3e8
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/buildbot/update.sh
@@ -0,0 +1,12 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p nix-update
+set -eu -o pipefail
+
+nix-update python3Packages.buildbot
+nix-update --version=skip python3Packages.buildbot-worker
+nix-update --version=skip python3Packages.buildbot-pkg
+nix-update --version=skip python3Packages.buildbot-plugins.www
+nix-update --version=skip python3Packages.buildbot-plugins.console-view
+nix-update --version=skip python3Packages.buildbot-plugins.waterfall-view
+nix-update --version=skip python3Packages.buildbot-plugins.grid-view
+nix-update --version=skip python3Packages.buildbot-plugins.wsgi-dashboards
diff --git a/nixpkgs/pkgs/development/python-modules/buildbot/worker.nix b/nixpkgs/pkgs/development/python-modules/buildbot/worker.nix
index 4313d16d0b77..a31ba928bb98 100644
--- a/nixpkgs/pkgs/development/python-modules/buildbot/worker.nix
+++ b/nixpkgs/pkgs/development/python-modules/buildbot/worker.nix
@@ -7,7 +7,7 @@ buildPythonPackage (rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0q16vgvlhiybq5rhva9kcj5v2mhfpdb5czm2vng4rrfqqiqq918m";
+    sha256 = "sha256-nDP46rLWYXXKJktR6NTWLb0erC6FU8fXe9FAIX+MWuU=";
   };
 
   propagatedBuildInputs = [ twisted future ];
diff --git a/nixpkgs/pkgs/development/python-modules/cachelib/default.nix b/nixpkgs/pkgs/development/python-modules/cachelib/default.nix
index 9521d3ee03b4..0838558e116a 100644
--- a/nixpkgs/pkgs/development/python-modules/cachelib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cachelib/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "cachelib";
-  version = "0.2.0";
+  version = "0.3.0";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "pallets";
     repo = pname;
     rev = version;
-    sha256 = "1jh1ghvrv1mnw6mdq19s6x6fblz9qi0vskc6mjp0cxjpnxxblaml";
+    sha256 = "sha256-ssyHNlrSrG8YHRS131jJtmgl6eMTNdet1Hf0nTxL8sM=";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/cassandra-driver/default.nix b/nixpkgs/pkgs/development/python-modules/cassandra-driver/default.nix
index e5b1a4c4fb0f..1243aad64cc4 100644
--- a/nixpkgs/pkgs/development/python-modules/cassandra-driver/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cassandra-driver/default.nix
@@ -35,6 +35,10 @@ buildPythonPackage rec {
     sha256 = "1dn7iiavsrhh6i9hcyw0mk8j95r5ym0gbrvdca998hx2rnz5ark6";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py --replace 'geomet>=0.1,<0.3' 'geomet'
+  '';
+
   nativeBuildInputs = [ cython ];
   buildInputs = [ libev ];
   propagatedBuildInputs = [ six geomet ]
@@ -80,6 +84,8 @@ buildPythonPackage rec {
     "_PoolTests"
     # attempts to make connection to localhost
     "test_connection_initialization"
+    # time-sensitive
+    "test_nts_token_performance"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/catalogue/default.nix b/nixpkgs/pkgs/development/python-modules/catalogue/default.nix
index fbbaf92f4eb8..a62dcbd249a5 100644
--- a/nixpkgs/pkgs/development/python-modules/catalogue/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/catalogue/default.nix
@@ -1,23 +1,30 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, pythonOlder
 , pytestCheckHook
+, pythonOlder
+, typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "catalogue";
-  version = "2.0.4";
+  version = "2.0.6";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-ntNF0ShVrzFfFxVYNhKya4YhorCi4775dNxdcS95g6o=";
+    sha256 = "0idjhx2s8cy6ppd18k1zy246d97gdd6i217m5q26fwa47xh3asik";
   };
 
+  propagatedBuildInputs = lib.optionals (pythonOlder "3.8") [
+    typing-extensions
+  ];
+
   checkInputs = [ pytestCheckHook ];
 
+  pythonImportsCheck = [ "catalogue" ];
+
   meta = with lib; {
     description = "Tiny library for adding function or object registries";
     homepage = "https://github.com/explosion/catalogue";
diff --git a/nixpkgs/pkgs/development/python-modules/cattrs/default.nix b/nixpkgs/pkgs/development/python-modules/cattrs/default.nix
index 409fc7b28de5..45379910a610 100644
--- a/nixpkgs/pkgs/development/python-modules/cattrs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cattrs/default.nix
@@ -1,14 +1,14 @@
 { lib
 , attrs
-, bson
-, pythonOlder
 , buildPythonPackage
 , fetchFromGitHub
 , hypothesis
 , immutables
+, motor
 , msgpack
 , poetry-core
 , pytestCheckHook
+, pythonOlder
 , pyyaml
 , tomlkit
 , ujson
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "cattrs";
-  version = "1.7.0";
+  version = "1.8.0";
   format = "pyproject";
 
   # https://cattrs.readthedocs.io/en/latest/history.html#id33:
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "Tinche";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-7F4S4IeApbULXhkEZ0oab3Y7sk20Ag2fCYxsyi4WbWw=";
+    sha256 = "sha256-CKAsvRKS8kmLcyPA753mh6d3S04ObzO7xLPpmlmxrxI=";
   };
 
   nativeBuildInputs = [
@@ -39,9 +39,9 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
-    bson
     hypothesis
     immutables
+    motor
     msgpack
     pytestCheckHook
     pyyaml
@@ -59,6 +59,10 @@ buildPythonPackage rec {
       --replace "from orjson import loads as orjson_loads" ""
   '';
 
+  preCheck = ''
+    export HOME=$(mktemp -d);
+  '';
+
   disabledTestPaths = [
     # Don't run benchmarking tests
     "bench/test_attrs_collections.py"
diff --git a/nixpkgs/pkgs/development/python-modules/cbor2/default.nix b/nixpkgs/pkgs/development/python-modules/cbor2/default.nix
index 7f417acd360f..ef7b79989c45 100644
--- a/nixpkgs/pkgs/development/python-modules/cbor2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cbor2/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "cbor2";
-  version = "5.4.0";
+  version = "5.4.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a7926f7244b08c413f1a4fa71a81aa256771c75bdf1a4fd77308547a2d63dd48";
+    sha256 = "1jga5wj3kalf6zj5gyrmy6kwmxxkld52mvcgxc5gb5dmdhpl7gx8";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/nixpkgs/pkgs/development/python-modules/celery/default.nix b/nixpkgs/pkgs/development/python-modules/celery/default.nix
index a48f8651298a..cd6d21b7c651 100644
--- a/nixpkgs/pkgs/development/python-modules/celery/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/celery/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "celery";
-  version = "5.1.1";
+  version = "5.1.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "54436cd97b031bf2e08064223240e2a83d601d9414bcb1b702f94c6c33c29485";
+    sha256 = "8d9a3de9162965e97f8e8cc584c67aad83b3f7a267584fa47701ed11c3e0d4b0";
   };
 
   # click  is only used for the repl, in most cases this shouldn't impact
diff --git a/nixpkgs/pkgs/development/python-modules/censys/default.nix b/nixpkgs/pkgs/development/python-modules/censys/default.nix
index b3d152efab16..06e619676a67 100644
--- a/nixpkgs/pkgs/development/python-modules/censys/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/censys/default.nix
@@ -2,33 +2,41 @@
 , backoff
 , buildPythonPackage
 , fetchFromGitHub
+, importlib-metadata
 , parameterized
+, poetry-core
 , pytestCheckHook
 , pythonOlder
 , requests
 , requests-mock
 , responses
 , rich
-, types-requests
 }:
 
 buildPythonPackage rec {
   pname = "censys";
-  version = "2.0.3";
+  version = "2.0.6";
+  format = "pyproject";
+
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "censys";
     repo = "censys-python";
     rev = "v${version}";
-    sha256 = "0ga5f6xv6rylfvalnl3cflr0w30r771gb05n5cjhxisb8an0qcb6";
+    sha256 = "sha256-Lbd2Pm79n0cFoGHC2rucxgZijzcVYVJJsq1yzqB9QLk=";
   };
 
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
   propagatedBuildInputs = [
     backoff
     requests
     rich
-    types-requests
+  ] ++ lib.optionals (pythonOlder "3.8") [
+    importlib-metadata
   ];
 
   checkInputs = [
@@ -39,11 +47,12 @@ buildPythonPackage rec {
   ];
 
   postPatch = ''
-    substituteInPlace setup.py \
-      --replace "rich==10.3.0" "rich" \
-      --replace "types-requests==0.1.11" "types-requests"
-    substituteInPlace pytest.ini --replace \
-      " --cov -rs -p no:warnings" ""
+    substituteInPlace pyproject.toml \
+      --replace 'backoff = "^1.11.1"' 'backoff = "*"' \
+      --replace 'requests = ">=2.26.0"' 'requests = "*"' \
+      --replace 'rich = "^10.6.0"' 'rich = "*"'
+    substituteInPlace pytest.ini \
+      --replace "--cov" ""
   '';
 
   # The tests want to write a configuration file
diff --git a/nixpkgs/pkgs/development/python-modules/certauth/default.nix b/nixpkgs/pkgs/development/python-modules/certauth/default.nix
new file mode 100644
index 000000000000..782ad9608144
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/certauth/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pyopenssl
+, tldextract
+, pytestCheckHook
+, pytest-cov
+}:
+
+buildPythonPackage rec {
+  pname = "certauth";
+  version = "1.3.0";
+
+  src = fetchFromGitHub {
+    owner = "ikreymer";
+    repo = "certauth";
+    rev = "ad2bae5d40a9e45519fc1f2cd7678174bbc55b3d"; # Repo has no git tags
+    sha256 = "sha256-Rso5N0jb9k7bdorjPIUMNiZZPnzwbkxFNiTpsJ9pco0=";
+  };
+
+  propagatedBuildInputs = [
+    pyopenssl
+    tldextract
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    pytest-cov
+  ];
+
+  pythonImportsCheck = [ "certauth" ];
+
+  meta = with lib; {
+    description = "Simple CertificateAuthority and host certificate creation, useful for man-in-the-middle HTTPS proxy";
+    homepage = "https://github.com/ikreymer/certauth";
+    license = licenses.mit;
+    maintainers = with maintainers; [ Luflosi ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/certbot/default.nix b/nixpkgs/pkgs/development/python-modules/certbot/default.nix
index 61ec6c2125ff..48ac17f66d67 100644
--- a/nixpkgs/pkgs/development/python-modules/certbot/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/certbot/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonPackage rec {
   pname = "certbot";
-  version = "1.16.0";
+  version = "1.18.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "0jdq6pvq7af2x483857qyp1qvqs4yb4nqcv66qi70glmbanhlxd4";
+    sha256 = "sha256-j+MygstaOt3TMz8rEZE5OBYVZXWtrUyIuSO+qagKrjk=";
   };
 
   sourceRoot = "source/${pname}";
diff --git a/nixpkgs/pkgs/development/python-modules/cfgv/default.nix b/nixpkgs/pkgs/development/python-modules/cfgv/default.nix
index 306019b54b75..c7b074089a68 100644
--- a/nixpkgs/pkgs/development/python-modules/cfgv/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cfgv/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "cfgv";
-  version = "3.3.0";
+  version = "3.3.1";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9e600479b3b99e8af981ecdfc80a0296104ee610cab48a5ae4ffd0b668650eb1";
+    sha256 = "f5a830efb9ce7a445376bb66ec94c638a9787422f96264c98edc6bdeed8ab736";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/nixpkgs/pkgs/development/python-modules/cfn-lint/default.nix b/nixpkgs/pkgs/development/python-modules/cfn-lint/default.nix
index dcfc6d8ecaa1..d8e0af78e1cd 100644
--- a/nixpkgs/pkgs/development/python-modules/cfn-lint/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cfn-lint/default.nix
@@ -21,13 +21,13 @@
 
 buildPythonPackage rec {
   pname = "cfn-lint";
-  version = "0.51.0";
+  version = "0.53.0";
 
   src = fetchFromGitHub {
     owner = "aws-cloudformation";
     repo = "cfn-python-lint";
     rev = "v${version}";
-    sha256 = "1027s243sik25c6sqw6gla7k7vl3jdicrik5zdsa8pafxh2baja4";
+    sha256 = "sha256-UHcbbBoByoxW7+AUxu5mQmcvC3irHPQvBv4CbBXPTNo=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/chalice/default.nix b/nixpkgs/pkgs/development/python-modules/chalice/default.nix
index d93737d8ad0a..dfdde6b0d644 100644
--- a/nixpkgs/pkgs/development/python-modules/chalice/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/chalice/default.nix
@@ -1,41 +1,42 @@
 { lib
-, buildPythonPackage
-, fetchPypi
-, pythonOlder
 , attrs
 , botocore
+, buildPythonPackage
 , click
-, enum-compat
+, fetchFromGitHub
 , hypothesis
 , inquirer
 , jmespath
 , mock
 , mypy-extensions
 , pip
-, pytest
+, pytestCheckHook
+, pythonOlder
 , pyyaml
+, requests
 , setuptools
 , six
-, typing ? null
+, typing
 , watchdog
+, websocket-client
 , wheel
 }:
 
 buildPythonPackage rec {
   pname = "chalice";
-  version = "1.23.0";
+  version = "1.24.2";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "8e3b26f8ec15197d8c04cd1edb0d692a490cb5ec179560183a403de63f21c1d7";
+  src = fetchFromGitHub {
+    owner = "aws";
+    repo = pname;
+    rev = version;
+    sha256 = "0xpzc3rizdkjxclgxngswz0a22kdv1pw235gsw517ma7i06d0lw6";
   };
 
-  checkInputs = [ watchdog pytest hypothesis mock ];
   propagatedBuildInputs = [
     attrs
     botocore
     click
-    enum-compat
     inquirer
     jmespath
     mypy-extensions
@@ -44,12 +45,18 @@ buildPythonPackage rec {
     setuptools
     six
     wheel
-  ] ++ lib.optionals (pythonOlder "3.5") [
+    watchdog
+  ] ++ lib.optionals (pythonOlder "3.7") [
     typing
   ];
 
-  # conftest.py not included with pypi release
-  doCheck = false;
+  checkInputs = [
+    hypothesis
+    mock
+    pytestCheckHook
+    requests
+    websocket-client
+  ];
 
   postPatch = ''
     sed -i setup.py -e "/pip>=/c\'pip',"
@@ -57,14 +64,35 @@ buildPythonPackage rec {
       --replace 'typing==3.6.4' 'typing'
   '';
 
-  checkPhase = ''
-    pytest tests
-  '';
+  disabledTestPaths = [
+    # Don't check the templates and the sample app
+    "chalice/templates"
+    "docs/source/samples/todo-app/code/tests/test_db.py"
+    # Requires credentials
+    "tests/aws/test_features.py"
+    # Requires network access
+    "tests/aws/test_websockets.py"
+    "tests/integration/test_package.py"
+  ];
+
+  disabledTests = [
+    # Requires network access
+    "test_update_domain_name_failed"
+    "test_can_reload_server"
+    # Content for the tests is missing
+    "test_can_import_env_vars"
+    "test_stack_trace_printed_on_error"
+    # Don't build
+    "test_can_generate_pipeline_for_all"
+    "test_build_wheel"
+  ];
+
+  pythonImportsCheck = [ "chalice" ];
 
   meta = with lib; {
     description = "Python Serverless Microframework for AWS";
     homepage = "https://github.com/aws/chalice";
     license = licenses.asl20;
-    maintainers = [ maintainers.costrouc ];
+    maintainers = with maintainers; [ costrouc ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/channels/default.nix b/nixpkgs/pkgs/development/python-modules/channels/default.nix
index 0f5e708d0913..e50dc051361a 100644
--- a/nixpkgs/pkgs/development/python-modules/channels/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/channels/default.nix
@@ -1,23 +1,43 @@
-{ lib, buildPythonPackage, fetchPypi,
-  asgiref, django, daphne
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, asgiref
+, django
+, daphne
+, pytest-asyncio
+, pytest-django
+, pytestCheckHook
 }:
+
 buildPythonPackage rec {
   pname = "channels";
-  version = "3.0.3";
+  version = "3.0.4";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "056b72e51080a517a0f33a0a30003e03833b551d75394d6636c885d4edb8188f";
+  src = fetchFromGitHub {
+    owner = "django";
+    repo = pname;
+    rev = version;
+    sha256 = "0jdylcb77n04rqyzg9v6qfzaxp1dnvdvnxddwh3x1qazw3csi5y2";
   };
 
-  # Files are missing in the distribution
-  doCheck = false;
+  propagatedBuildInputs = [
+    asgiref
+    django
+    daphne
+  ];
+
+  checkInputs = [
+    pytest-asyncio
+    pytest-django
+    pytestCheckHook
+  ];
 
-  propagatedBuildInputs = [ asgiref django daphne ];
+  pythonImportsCheck = [ "channels" ];
 
   meta = with lib; {
     description = "Brings event-driven capabilities to Django with a channel system";
     license = licenses.bsd3;
     homepage = "https://github.com/django/channels";
+    maintainers = with maintainers; [ fab ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/chess/default.nix b/nixpkgs/pkgs/development/python-modules/chess/default.nix
new file mode 100644
index 000000000000..baef04eab5b5
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/chess/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, python
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "chess";
+  version = "1.6.1";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "niklasf";
+    repo = "python-${pname}";
+    rev = "v${version}";
+    sha256 = "sha256-2pyABmr6q1Y2/ivtvMYqRHE2Zjlyz2QO0us0w4l2HQM=";
+  };
+
+  pythonImportsCheck = [ "chess" ];
+
+  checkPhase = ''
+    ${python.interpreter} ./test.py -v
+  '';
+
+  meta = with lib; {
+    description = "A chess library for Python, with move generation, move validation, and support for common formats";
+    homepage = "https://github.com/niklasf/python-chess";
+    maintainers = with maintainers; [ smancill ];
+    license = licenses.gpl3Plus;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/chiapos/default.nix b/nixpkgs/pkgs/development/python-modules/chiapos/default.nix
index e9f4e3266543..587c2fbf3c70 100644
--- a/nixpkgs/pkgs/development/python-modules/chiapos/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/chiapos/default.nix
@@ -13,12 +13,12 @@
 
 buildPythonPackage rec {
   pname = "chiapos";
-  version = "1.0.3";
+  version = "1.0.4";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-2Ye0gaOsv/Hg1363E6+NmezsK9EcLEZVKKUHikM2hr0=";
+    sha256 = "sha256-flI1vwtD0H28UDMcEEELECewkXZ6vf/XEYMqRKy5R6w=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/chiapos/dont_fetch_dependencies.patch b/nixpkgs/pkgs/development/python-modules/chiapos/dont_fetch_dependencies.patch
index dc1cfddcc41d..251021169691 100644
--- a/nixpkgs/pkgs/development/python-modules/chiapos/dont_fetch_dependencies.patch
+++ b/nixpkgs/pkgs/development/python-modules/chiapos/dont_fetch_dependencies.patch
@@ -3,7 +3,7 @@ index 9b4a2f5..86f849c 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
 @@ -18,22 +18,19 @@ include(FetchContent)
- 
+ else() 
  FetchContent_Declare(
    pybind11-src
 -  GIT_REPOSITORY https://github.com/pybind/pybind11.git
@@ -11,6 +11,7 @@ index 9b4a2f5..86f849c 100644
 +  SOURCE_DIR @pybind11_src@
  )
  FetchContent_MakeAvailable(pybind11-src)
+ endif()
  
  FetchContent_Declare(
    cxxopts
diff --git a/nixpkgs/pkgs/development/python-modules/cirq-google/default.nix b/nixpkgs/pkgs/development/python-modules/cirq-google/default.nix
index 8692aef4b678..900189dc2edb 100644
--- a/nixpkgs/pkgs/development/python-modules/cirq-google/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cirq-google/default.nix
@@ -16,7 +16,9 @@ buildPythonPackage rec {
   sourceRoot = "source/${pname}";
 
   postPatch = ''
-    substituteInPlace requirements.txt --replace "protobuf~=3.13.0" "protobuf"
+    substituteInPlace requirements.txt \
+      --replace "protobuf~=3.13.0" "protobuf" \
+      --replace "google-api-core[grpc] >= 1.14.0, < 2.0.0dev" "google-api-core[grpc] >= 1.14.0, < 3.0.0dev"
   '';
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/claripy/default.nix b/nixpkgs/pkgs/development/python-modules/claripy/default.nix
index 2c25d258e579..30400fcdaf56 100644
--- a/nixpkgs/pkgs/development/python-modules/claripy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/claripy/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "claripy";
-  version = "9.0.9031";
+  version = "9.0.9684";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-UCmt2Vm8OWyKa0fmPlGuvzaFddUWs6quavUgIZasoJg=";
+    sha256 = "sha256-tGRnCsuOLqZmWBcITF0TzgQ7kW6e7wZyhtObyU5Pasw=";
   };
 
   # Use upstream z3 implementation
diff --git a/nixpkgs/pkgs/development/python-modules/cle/default.nix b/nixpkgs/pkgs/development/python-modules/cle/default.nix
index d6731260937d..be8106f97f43 100644
--- a/nixpkgs/pkgs/development/python-modules/cle/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cle/default.nix
@@ -15,7 +15,7 @@
 
 let
   # The binaries are following the argr projects release cycle
-  version = "9.0.9031";
+  version = "9.0.9684";
 
   # Binary files from https://github.com/angr/binaries (only used for testing and only here)
   binaries = fetchFromGitHub {
@@ -35,7 +35,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-+9aW7J8FXuKtU20dpqnoj37McPxzbkjKuYZIO8QeFF0=";
+    sha256 = "sha256-yza6Q0kxDXHOXxZcDFt43I621dSGI+bzTUrxWAQkGFQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/clevercsv/default.nix b/nixpkgs/pkgs/development/python-modules/clevercsv/default.nix
index 233b7164989d..f42a97c0652e 100644
--- a/nixpkgs/pkgs/development/python-modules/clevercsv/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/clevercsv/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "clevercsv";
-  version = "0.6.8";
+  version = "0.7.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "alan-turing-institute";
     repo = "CleverCSV";
     rev = "v${version}";
-    sha256 = "0jpgyh65zqr76sz2s63zsjyb49dpg2xdmf72jvpicw923bdzhqvp";
+    sha256 = "09ccgydnrfdgxjz6ph829l9q62jkzqrak0k6yjik2rvs33jn0dhc";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/click-help-colors/default.nix b/nixpkgs/pkgs/development/python-modules/click-help-colors/default.nix
index b17dc1a0c111..b63788c6060c 100644
--- a/nixpkgs/pkgs/development/python-modules/click-help-colors/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/click-help-colors/default.nix
@@ -1,21 +1,19 @@
 { lib, fetchPypi, buildPythonPackage
-, click, pytest
+, click, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "click-help-colors";
-  version = "0.9";
+  version = "0.9.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "eb037a2dd95a9e20b3897c2b3ca57e7f6797f76a8d93f7eeedda7fcdcbc9b635";
+    sha256 = "78cbcf30cfa81c5fc2a52f49220121e1a8190cd19197d9245997605d3405824d";
   };
 
   propagatedBuildInputs = [ click ];
 
-  # tries to use /homeless-shelter to mimic container usage, etc
-  #doCheck = false;
-  checkInputs = [ pytest ];
+  checkInputs = [ pytestCheckHook ];
 
   pythonImportsCheck = [ "click_help_colors" ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/click-repl/default.nix b/nixpkgs/pkgs/development/python-modules/click-repl/default.nix
index ec4cffe0d39f..84665ecb0950 100644
--- a/nixpkgs/pkgs/development/python-modules/click-repl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/click-repl/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, fetchPypi, click, prompt_toolkit }:
+{ lib, buildPythonPackage, fetchPypi, click, prompt-toolkit }:
 
 buildPythonPackage rec {
   pname = "click-repl";
@@ -9,7 +9,7 @@ buildPythonPackage rec {
     sha256 = "cd12f68d745bf6151210790540b4cb064c7b13e571bc64b6957d98d120dacfd8";
   };
 
-  propagatedBuildInputs = [ click prompt_toolkit ];
+  propagatedBuildInputs = [ click prompt-toolkit ];
 
   meta = with lib; {
     homepage = "https://github.com/click-contrib/click-repl";
diff --git a/nixpkgs/pkgs/development/python-modules/clickhouse-cli/default.nix b/nixpkgs/pkgs/development/python-modules/clickhouse-cli/default.nix
index 07ddca0680a1..68d69023e25d 100644
--- a/nixpkgs/pkgs/development/python-modules/clickhouse-cli/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/clickhouse-cli/default.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , click
-, prompt_toolkit
+, prompt-toolkit
 , pygments
 , requests
 , sqlparse
@@ -19,7 +19,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     click
-    prompt_toolkit
+    prompt-toolkit
     pygments
     requests
     sqlparse
diff --git a/nixpkgs/pkgs/development/python-modules/clintermission/default.nix b/nixpkgs/pkgs/development/python-modules/clintermission/default.nix
index 04e97f4c6693..a0e5dcb7142f 100644
--- a/nixpkgs/pkgs/development/python-modules/clintermission/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/clintermission/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonApplication, fetchFromGitHub, isPy3k, prompt_toolkit }:
+{ lib, buildPythonApplication, fetchFromGitHub, isPy3k, prompt-toolkit }:
 
 buildPythonApplication rec {
   pname = "clintermission";
@@ -11,7 +11,7 @@ buildPythonApplication rec {
     sha256 = "09wl0rpw6c9hab51rs957z64b0v9j4fcbqbn726wnapf4z5w6yxv";
   };
 
-  propagatedBuildInputs = [ prompt_toolkit ];
+  propagatedBuildInputs = [ prompt-toolkit ];
 
   disabled = !isPy3k;
 
diff --git a/nixpkgs/pkgs/development/python-modules/clize/default.nix b/nixpkgs/pkgs/development/python-modules/clize/default.nix
index 0088acdb832c..faeb54f794bb 100644
--- a/nixpkgs/pkgs/development/python-modules/clize/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/clize/default.nix
@@ -15,18 +15,13 @@
 
 buildPythonPackage rec {
   pname = "clize";
-  version = "4.1.1";
+  version = "4.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f54dedcf6fea90a3e75c30cb65e0ab1e832760121f393b8d68edd711dbaf7187";
+    sha256 = "06p47i6hri006v7xbx7myj02as1a6f34rv88wfa9rb067p13nmyz";
   };
 
-  # Remove overly restrictive version constraints
-  postPatch = ''
-    substituteInPlace setup.py --replace "attrs>=19.1.0,<20" "attrs"
-  '';
-
   checkInputs = [
     pytestCheckHook
     python-dateutil
@@ -49,5 +44,6 @@ buildPythonPackage rec {
     description = "Command-line argument parsing for Python";
     homepage = "https://github.com/epsy/clize";
     license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/cloudsplaining/default.nix b/nixpkgs/pkgs/development/python-modules/cloudsplaining/default.nix
new file mode 100644
index 000000000000..d99f66943d96
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/cloudsplaining/default.nix
@@ -0,0 +1,55 @@
+{ lib
+, boto3
+, botocore
+, buildPythonPackage
+, cached-property
+, click
+, click-option-group
+, fetchFromGitHub
+, jinja2
+, markdown
+, policy-sentry
+, pytestCheckHook
+, pythonOlder
+, pyyaml
+, schema
+}:
+
+buildPythonPackage rec {
+  pname = "cloudsplaining";
+  version = "0.4.5";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "salesforce";
+    repo = pname;
+    rev = version;
+    sha256 = "0s446jji3c9x1gw0lsb03giir91cnv6dgh4nzxg9mc1rm9wy7gzw";
+  };
+
+  propagatedBuildInputs = [
+    boto3
+    botocore
+    cached-property
+    click
+    click-option-group
+    jinja2
+    markdown
+    policy-sentry
+    pyyaml
+    schema
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "cloudsplaining" ];
+
+  meta = with lib; {
+    description = "Python module for AWS IAM security assessment";
+    homepage = "https://github.com/salesforce/cloudsplaining";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/cma/default.nix b/nixpkgs/pkgs/development/python-modules/cma/default.nix
index 8937f78a7a66..473f06076983 100644
--- a/nixpkgs/pkgs/development/python-modules/cma/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cma/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "cma";
-  version = "3.0.3";
+  version = "3.1.0";
 
   src = fetchFromGitHub {
     owner = "CMA-ES";
     repo = "pycma";
     rev = "r${version}";
-    sha256 = "00vv7imdkv0bqcs4b8dg9nggxcl2fkcnhdd46n22bcmnwy8rjxv6";
+    sha256 = "1bal4kljxrdm6x5ppyi6i109714h0czdxfsna906dlfplrmq52bf";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/cmd2/default.nix b/nixpkgs/pkgs/development/python-modules/cmd2/default.nix
index dee6c2ab499e..b5bbc88c341f 100644
--- a/nixpkgs/pkgs/development/python-modules/cmd2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cmd2/default.nix
@@ -15,7 +15,7 @@ buildPythonPackage rec {
 
   LC_ALL="en_US.UTF-8";
 
-  postPatch = lib.optional stdenv.isDarwin ''
+  postPatch = lib.optionalString stdenv.isDarwin ''
     # Fake the impure dependencies pbpaste and pbcopy
     mkdir bin
     echo '#!${stdenv.shell}' > bin/pbpaste
diff --git a/nixpkgs/pkgs/development/python-modules/coapthon3/default.nix b/nixpkgs/pkgs/development/python-modules/coapthon3/default.nix
index 6f22e8e9f296..643072269a36 100644
--- a/nixpkgs/pkgs/development/python-modules/coapthon3/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/coapthon3/default.nix
@@ -2,14 +2,14 @@
 
 buildPythonPackage rec {
   pname = "CoAPthon3";
-  version = "1.0.1";
+  version = "1.0.2";
   disabled = isPy27;
 
   src = fetchFromGitHub {
     owner = "Tanganelli";
     repo = pname;
     rev = version;
-    sha256 = "1im35i5i72y1p9qj8ixkwq7q6ksbrmi42giqiyfgjp1ym38snl69";
+    sha256 = "sha256-9QApoPUu3XFZY/lgjAsf5r2StFiRtUd1UXWDrzYUh6w=";
   };
 
   propagatedBuildInputs = [ cachetools ];
diff --git a/nixpkgs/pkgs/development/python-modules/coconut/default.nix b/nixpkgs/pkgs/development/python-modules/coconut/default.nix
index 55eadddaa1d6..e964f2abaaa0 100644
--- a/nixpkgs/pkgs/development/python-modules/coconut/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/coconut/default.nix
@@ -7,7 +7,7 @@
 , mypy
 , pygments
 , pytestCheckHook
-, prompt_toolkit
+, prompt-toolkit
 , tkinter
 , watchdog
 }:
@@ -23,7 +23,7 @@ buildPythonApplication rec {
     sha256 = "1pz13vza3yy95dbylnq89fzc3mwgcqr7ds096wy25k6vxd9dp9c3";
   };
 
-  propagatedBuildInputs = [ cpyparsing pygments prompt_toolkit ipykernel mypy watchdog ];
+  propagatedBuildInputs = [ cpyparsing pygments prompt-toolkit ipykernel mypy watchdog ];
 
   patches = [
     (fetchpatch {
diff --git a/nixpkgs/pkgs/development/python-modules/codecov/default.nix b/nixpkgs/pkgs/development/python-modules/codecov/default.nix
index 2e8cbf29220c..20c80872fd0f 100644
--- a/nixpkgs/pkgs/development/python-modules/codecov/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/codecov/default.nix
@@ -1,28 +1,50 @@
-{ lib, buildPythonPackage, fetchPypi, requests, coverage, unittest2 }:
+{ lib
+, buildPythonPackage
+, coverage
+, ddt
+, fetchFromGitHub
+, mock
+, pytestCheckHook
+, requests
+}:
 
 buildPythonPackage rec {
   pname = "codecov";
-  version = "2.1.11";
+  version = "2.1.12";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "6cde272454009d27355f9434f4e49f238c0273b216beda8472a65dc4957f473b";
+  src = fetchFromGitHub {
+    owner = "codecov";
+    repo = "codecov-python";
+    rev = "v${version}";
+    sha256 = "0bdk1cp3hxydpx9knqfv88ywwzw7yqhywi0inxjd6x53qh75prqy";
   };
 
-  checkInputs = [ unittest2 ]; # Tests only
+  propagatedBuildInputs = [
+    requests
+    coverage
+  ];
 
-  propagatedBuildInputs = [ requests coverage ];
+  checkInputs = [
+    ddt
+    mock
+    pytestCheckHook
+  ];
 
-  postPatch = ''
-    sed -i 's/, "argparse"//' setup.py
-  '';
+  pytestFlagsArray = [ "tests/test.py" ];
 
-  # No tests in archive
-  doCheck = false;
+  disabledTests = [
+    # No git repo available and network
+    "test_bowerrc_none"
+    "test_prefix"
+    "test_send"
+  ];
+
+  pythonImportsCheck = [ "codecov" ];
 
   meta = with lib; {
     description = "Python report uploader for Codecov";
     homepage = "https://codecov.io/";
     license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/connexion/default.nix b/nixpkgs/pkgs/development/python-modules/connexion/default.nix
index 0429ee7a507a..ed6f2da5142f 100644
--- a/nixpkgs/pkgs/development/python-modules/connexion/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/connexion/default.nix
@@ -7,6 +7,7 @@
 , clickclick
 , decorator
 , fetchFromGitHub
+, fetchpatch
 , flask
 , inflection
 , jsonschema
@@ -22,14 +23,14 @@
 
 buildPythonPackage rec {
   pname = "connexion";
-  version = "2.7.0";
+  version = "2.9.0";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "zalando";
     repo = pname;
     rev = version;
-    sha256 = "15iflq5403diwda6n6qrpq67wkdcvl3vs0gsg0fapxqnq3a2m7jj";
+    sha256 = "13smcg2w24zr2sv1968g9p9m6f18nqx688c96qdlmldnszgzf5ik";
   };
 
   propagatedBuildInputs = [
@@ -54,6 +55,15 @@ buildPythonPackage rec {
     testfixtures
   ];
 
+  patches = [
+    # No minor release for later versions, https://github.com/zalando/connexion/pull/1402
+    (fetchpatch {
+      name = "allow-later-flask-and-werkzeug-releases.patch";
+      url = "https://github.com/zalando/connexion/commit/4a225d554d915fca17829652b7cb8fe119e14b37.patch";
+      sha256 = "0dys6ymvicpqa3p8269m4yv6nfp58prq3fk1gcx1z61h9kv84g1k";
+    })
+  ];
+
   pythonImportsCheck = [ "connexion" ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/coqpit/default.nix b/nixpkgs/pkgs/development/python-modules/coqpit/default.nix
index aa65432c15e9..a30c727eaa3c 100644
--- a/nixpkgs/pkgs/development/python-modules/coqpit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/coqpit/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "coqpit";
-  version = "0.0.10";
+  version = "0.0.13";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "coqui-ai";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1gcj5sffcmlvhhk6wbvmxppjpckb90q1avc07jbnb1vvrb2h9lr0";
+    sha256 = "sha256-YzCO/i0SMyXRAgiZ8Y97bHHuGFeSF8GqUjvNoHLwXZQ=";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/coveralls/default.nix b/nixpkgs/pkgs/development/python-modules/coveralls/default.nix
index 109667582188..0c16d2d9aca2 100644
--- a/nixpkgs/pkgs/development/python-modules/coveralls/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/coveralls/default.nix
@@ -16,13 +16,13 @@
 
 buildPythonPackage rec {
   pname = "coveralls";
-  version = "3.1.0";
+  version = "3.2.0";
   disabled = isPy27;
 
   # wanted by tests
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9b3236e086627340bf2c95f89f757d093cbed43d17179d3f4fb568c347e7d29a";
+    sha256 = "15a987d9df877fff44cd81948c5806ffb6eafb757b3443f737888358e96156ee";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/crytic-compile/default.nix b/nixpkgs/pkgs/development/python-modules/crytic-compile/default.nix
index 127e6f929338..8ed07d9597b1 100644
--- a/nixpkgs/pkgs/development/python-modules/crytic-compile/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/crytic-compile/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonPackage rec {
   pname = "crytic-compile";
-  version = "0.2.0";
+  version = "0.2.1";
 
   disabled = pythonOlder "3.6";
 
@@ -10,7 +10,7 @@ buildPythonPackage rec {
     owner = "crytic";
     repo = "crytic-compile";
     rev = version;
-    sha256 = "sha256-Kuc7g5+4TIcQTWYjG4uPN0Rxfom/A/xpek5K5ErlbdU=";
+    sha256 = "sha256-RDb4Dc+igt2JKskBFIFvYt4xTAMujp8uXnkWsgnwdJE=";
   };
 
   propagatedBuildInputs = [ pysha3 setuptools ];
diff --git a/nixpkgs/pkgs/development/python-modules/cucumber-tag-expressions/default.nix b/nixpkgs/pkgs/development/python-modules/cucumber-tag-expressions/default.nix
index d90e53ac3657..6a2d1b1d31e6 100644
--- a/nixpkgs/pkgs/development/python-modules/cucumber-tag-expressions/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cucumber-tag-expressions/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "cucumber-tag-expressions";
-  version = "3.0.1";
+  version = "4.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "71823468f567726332b87f40530b27fc83b35daea6514f5cbb03f0533d96e5be";
+    sha256 = "83ce5fa87d1b37a690106aedf58a12d0d16758f38f73336f2c703e2bfe01d7db";
   };
 
   checkInputs = [ pytest pytest-html ];
diff --git a/nixpkgs/pkgs/development/python-modules/cvxpy/default.nix b/nixpkgs/pkgs/development/python-modules/cvxpy/default.nix
index 9068814ffd79..b7b5c7f55af0 100644
--- a/nixpkgs/pkgs/development/python-modules/cvxpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cvxpy/default.nix
@@ -36,7 +36,7 @@ buildPythonPackage rec {
   ];
 
   # Required flags from https://github.com/cvxgrp/cvxpy/releases/tag/v1.1.11
-  preBuild = lib.optional useOpenmp ''
+  preBuild = lib.optionalString useOpenmp ''
     export CFLAGS="-fopenmp"
     export LDFLAGS="-lgomp"
   '';
diff --git a/nixpkgs/pkgs/development/python-modules/dash-core-components/default.nix b/nixpkgs/pkgs/development/python-modules/dash-core-components/default.nix
index 8802f0f0e7ed..7f2169cd9819 100644
--- a/nixpkgs/pkgs/development/python-modules/dash-core-components/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dash-core-components/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "dash_core_components";
-  version = "1.16.0";
+  version = "1.17.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e8cdfaf3580577670bb2d1c3168efa06f5a7b439fbe5527cfaefa3e32394542f";
+    sha256 = "sha256-flA/Xt22MDTdIMI9IYzA2KgeyI6aFbfLxg4maw4rYKk=";
   };
 
   # No tests in archive
diff --git a/nixpkgs/pkgs/development/python-modules/dash-html-components/default.nix b/nixpkgs/pkgs/development/python-modules/dash-html-components/default.nix
index 28faf244817b..1b4e5d6a47d6 100644
--- a/nixpkgs/pkgs/development/python-modules/dash-html-components/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dash-html-components/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "dash_html_components";
-  version = "1.1.3";
+  version = "1.1.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "88adb77a674d5d7d0835d71c469f6e7b4aa692f9673808a474d244b71863c58a";
+    sha256 = "dc4f423e13716d179d51a42b3c7e2a2ed02e05185c742f88214b58d59e24bbd4";
   };
 
   # No tests in archive
diff --git a/nixpkgs/pkgs/development/python-modules/dash-table/default.nix b/nixpkgs/pkgs/development/python-modules/dash-table/default.nix
index 31be5e6853f7..5a2ada1b56e0 100644
--- a/nixpkgs/pkgs/development/python-modules/dash-table/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dash-table/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "dash_table";
-  version = "4.11.3";
+  version = "4.12.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0a4f22a5cf5120882a252a3348fc15ef45a1b75bf900934783e338aceac52f56";
+    sha256 = "sha256-TJlomoh7/QNSeLFOzV23BwYCM4nlNzXV48zMQW+s2+Q=";
   };
 
   # No tests in archive
diff --git a/nixpkgs/pkgs/development/python-modules/dash/default.nix b/nixpkgs/pkgs/development/python-modules/dash/default.nix
index c9b259b0732b..807a08de67ec 100644
--- a/nixpkgs/pkgs/development/python-modules/dash/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dash/default.nix
@@ -16,13 +16,13 @@
 
 buildPythonPackage rec {
   pname = "dash";
-  version = "1.20.0";
+  version = "1.21.0";
 
   src = fetchFromGitHub {
     owner = "plotly";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1205xwi0w33g3c8gcba50fjj38dzgn7nhfk5w186kd6dwmvz02yg";
+    sha256 = "sha256-X2yRlW6aXgRgKgRxLNBUHjkjMaw7K4iydzpWLBNt+Y8=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/databases/default.nix b/nixpkgs/pkgs/development/python-modules/databases/default.nix
index 98e047836d01..6f5373b56bc8 100644
--- a/nixpkgs/pkgs/development/python-modules/databases/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/databases/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , sqlalchemy
 , aiocontextvars
 , isPy27
@@ -14,28 +13,16 @@
 
 buildPythonPackage rec {
   pname = "databases";
-  version = "0.4.3";
+  version = "0.5.0";
   disabled = isPy27;
 
   src = fetchFromGitHub {
     owner = "encode";
     repo = pname;
     rev = version;
-    sha256 = "0aq88k7d9036cy6qvlfv9p2dxd6p6fic3j0az43gn6k1ardhdsgf";
+    sha256 = "sha256-HNSPLmZTXZL1e5E9VJiXnQuO2WiXLYOveNTlFqdlTG8=";
   };
 
-  patches = [
-    # sqlalchemy 1.4 compat, https://github.com/encode/databases/pull/299
-    (fetchpatch {
-      url = "https://github.com/encode/databases/commit/9d6e0c024833bd41421f0798a94ef2bbf27a31d5.patch";
-      sha256 = "0wz9dz6g88ifvvwlhy249cjvqpx72x99wklzcl7b23srpcvb5gv1";
-    })
-    (fetchpatch {
-      url = "https://github.com/encode/databases/commit/40c41c2b7b3fedae484ad94d81b27ce88a09c5ed.patch";
-      sha256 = "0z458l3vkg4faxbnf31lszfby5d10fa9kgxxy4xxcm0py6d8a2pi";
-    })
-  ];
-
   propagatedBuildInputs = [
     aiocontextvars
     sqlalchemy
diff --git a/nixpkgs/pkgs/development/python-modules/databricks-cli/default.nix b/nixpkgs/pkgs/development/python-modules/databricks-cli/default.nix
index 547b9a3af7a2..e9313447ec88 100644
--- a/nixpkgs/pkgs/development/python-modules/databricks-cli/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/databricks-cli/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "databricks-cli";
-  version = "0.14.3";
+  version = "0.15.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bdf89a3917a3f8f8b99163e38d40e66dc478c7408954747f145cd09816b05e2c";
+    sha256 = "4d0fbe3cb9c86d7342d45357f1db2e01011c507659f21b7a8144709cf8fa9f96";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/databricks-connect/default.nix b/nixpkgs/pkgs/development/python-modules/databricks-connect/default.nix
index afb8e13dc5a4..1e522059c5be 100644
--- a/nixpkgs/pkgs/development/python-modules/databricks-connect/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/databricks-connect/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "databricks-connect";
-  version = "8.1.6";
+  version = "8.1.11";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2d6989491a2a33853eb10500574eb62dbcb98ac691d7e98022c5f18e23ad18b2";
+    sha256 = "cd9d1b27edd9345a2a32b365a511f8457c5c1a8f107546fe1ef9063dd15aac00";
   };
 
   sourceRoot = ".";
diff --git a/nixpkgs/pkgs/development/python-modules/dataclasses-json/default.nix b/nixpkgs/pkgs/development/python-modules/dataclasses-json/default.nix
index f97217cd29ea..bfb179f035dc 100644
--- a/nixpkgs/pkgs/development/python-modules/dataclasses-json/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dataclasses-json/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, stringcase
 , typing-inspect
 , marshmallow-enum
 , hypothesis
@@ -11,17 +10,16 @@
 
 buildPythonPackage rec {
   pname = "dataclasses-json";
-  version = "0.5.4";
+  version = "0.5.5";
 
   src = fetchFromGitHub {
     owner = "lidatong";
     repo = pname;
     rev = "v${version}";
-    sha256 = "193xklf1xrsin7fr24yqx5ckr4m5s9v1bdyr00qr51j74hiy8qsv";
+    sha256 = "sha256-b8oWl8AteVuGYb4E+M9aDS2ERgnKN8wS17Y/Bs7ajcI=";
   };
 
   propagatedBuildInputs = [
-    stringcase
     typing-inspect
     marshmallow-enum
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/datasets/default.nix b/nixpkgs/pkgs/development/python-modules/datasets/default.nix
index 0141b79f5d64..27ee2ebedcf9 100644
--- a/nixpkgs/pkgs/development/python-modules/datasets/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/datasets/default.nix
@@ -16,13 +16,13 @@
 
 buildPythonPackage rec {
   pname = "datasets";
-  version = "1.8.0";
+  version = "1.11.0";
 
   src = fetchFromGitHub {
     owner = "huggingface";
     repo = pname;
     rev = version;
-    sha256 = "sha256-is8TS84varARWyfeDTbQH0pcYFTk0PcEyK183emB4GE=";
+    sha256 = "0pm14cp7xaagpf4j96v0ybi5gn3r9p0if3pc197ckwx6sw3lx29p";
   };
 
   propagatedBuildInputs = [
@@ -39,12 +39,6 @@ buildPythonPackage rec {
     xxhash
   ];
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace '"tqdm>=4.27,<4.50.0"' '"tqdm>=4.27"' \
-      --replace "huggingface_hub==0.0.2" "huggingface_hub>=0.0.2"
-  '';
-
   # Tests require pervasive internet access.
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/python-modules/datasette-template-sql/default.nix b/nixpkgs/pkgs/development/python-modules/datasette-template-sql/default.nix
new file mode 100644
index 000000000000..84c88aea9338
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/datasette-template-sql/default.nix
@@ -0,0 +1,33 @@
+{ buildPythonPackage
+, fetchFromGitHub
+, lib
+, datasette
+, pytestCheckHook
+, pytest-asyncio
+, sqlite-utils
+}:
+
+buildPythonPackage rec {
+  pname = "datasette-template-sql";
+  version = "1.0.2";
+
+  src = fetchFromGitHub {
+    owner = "simonw";
+    repo = pname;
+    rev = version;
+    sha256 = "1ag5f62y445jscxnklcfd84pjinkknmrpk1kmm2j121p7484hrsn";
+  };
+
+  propagatedBuildInputs = [ datasette ];
+
+  checkInputs = [ pytestCheckHook pytest-asyncio sqlite-utils ];
+
+  pythonImportsCheck = [ "datasette_template_sql" ];
+
+  meta = with lib; {
+    description = "Datasette plugin for executing SQL queries from templates";
+    homepage = "https://datasette.io/plugins/datasette-template-sql";
+    license = licenses.asl20;
+    maintainers = [ maintainers.MostAwesomeDude ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/dateutil/default.nix b/nixpkgs/pkgs/development/python-modules/dateutil/default.nix
index e71a532a806d..d263414b4a26 100644
--- a/nixpkgs/pkgs/development/python-modules/dateutil/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dateutil/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "python-dateutil";
-  version = "2.8.1";
+  version = "2.8.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "73ebfe9dbf22e832286dafa60473e4cd239f8592f699aa5adaf10050e6e1823c";
+    sha256 = "sha256-ASPKzBYnrhnd88J6XeW9Z+5FhvvdZEDZdI+Ku0g9PoY=";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/nixpkgs/pkgs/development/python-modules/dbus-next/default.nix b/nixpkgs/pkgs/development/python-modules/dbus-next/default.nix
index ba27b633fefd..4786d8af0ddc 100644
--- a/nixpkgs/pkgs/development/python-modules/dbus-next/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dbus-next/default.nix
@@ -2,23 +2,22 @@
 , buildPythonPackage
 , fetchFromGitHub
 , python
-, dbus, dbus-python, pytest, pytest-cov, pytest-asyncio, pytest-timeout
+, dbus, pytest, pytest-cov, pytest-asyncio, pytest-timeout
 }:
 
 buildPythonPackage rec {
   pname = "dbus-next";
-  version = "0.2.2";
+  version = "0.2.3";
 
   src = fetchFromGitHub {
     owner = "altdesktop";
     repo = "python-dbus-next";
     rev = "v${version}";
-    sha256 = "0x78ghkci4las13gwbrm8fzg671lx1q2cn8h0f64ki8yag1myia1";
+    sha256 = "sha256-EKEQZFRUe+E65Z6DNCJFL5uCI5kbXrN7Tzd4O0X5Cqo=";
   };
 
   checkInputs = [
     dbus
-    dbus-python
     pytest
     pytest-cov
     pytest-asyncio
diff --git a/nixpkgs/pkgs/development/python-modules/dbutils/default.nix b/nixpkgs/pkgs/development/python-modules/dbutils/default.nix
index 294456cc85bd..fef630e86831 100644
--- a/nixpkgs/pkgs/development/python-modules/dbutils/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dbutils/default.nix
@@ -1,17 +1,23 @@
-{ lib, buildPythonPackage, fetchPypi, pytestCheckHook }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
-  version = "2.0.1";
+  version = "2.0.2";
   pname = "dbutils";
 
   src = fetchPypi {
     inherit version;
     pname = "DBUtils";
-    sha256 = "sha256-Vw590TbBMRb+74vKGGCeP2a4ZoqcPV8hCdh0TERE2GE=";
+    sha256 = "1cc8zyd4lapzf9ny6c2jf1vysphlhr19m8miyvw5spbyq4pxpnsf";
   };
 
   checkInputs = [ pytestCheckHook ];
 
+  pythonImportsCheck = [ "dbutils" ];
+
   meta = with lib; {
     description = "Database connections for multi-threaded environments";
     homepage = "https://webwareforpython.github.io/DBUtils/";
diff --git a/nixpkgs/pkgs/development/python-modules/debian/default.nix b/nixpkgs/pkgs/development/python-modules/debian/default.nix
index e97c3420f454..48b5b015b11a 100644
--- a/nixpkgs/pkgs/development/python-modules/debian/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/debian/default.nix
@@ -1,13 +1,17 @@
-{ lib, buildPythonPackage, fetchPypi
-, chardet, six}:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, chardet
+, six
+}:
 
 buildPythonPackage rec {
   pname = "python-debian";
-  version = "0.1.39";
+  version = "0.1.40";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6cca96239b5981f5203216d2113fea522477628607ed0a8427e15094a792541c";
+    sha256 = "385dfb965eca75164d256486c7cf9bae772d24144249fd18b9d15d3cffb70eea";
   };
 
   propagatedBuildInputs = [ chardet six ];
@@ -15,8 +19,11 @@ buildPythonPackage rec {
   # No tests in archive
   doCheck = false;
 
-  meta = {
+  pythonImportsCheck = [ "debian" ];
+
+  meta = with lib; {
     description = "Debian package related modules";
-    license = lib.licenses.gpl2;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/debugpy/default.nix b/nixpkgs/pkgs/development/python-modules/debugpy/default.nix
index 283682708840..35ac416d5992 100644
--- a/nixpkgs/pkgs/development/python-modules/debugpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/debugpy/default.nix
@@ -2,7 +2,6 @@
 , stdenv
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , substituteAll
 , gdb
 , flask
@@ -18,13 +17,13 @@
 
 buildPythonPackage rec {
   pname = "debugpy";
-  version = "1.3.0";
+  version = "1.4.1";
 
   src = fetchFromGitHub {
     owner = "Microsoft";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-YGzc9mMIzPTmUgIXuZROLdYKjUm69x9SR+JtYRVpn24=";
+    hash = "sha256-W51Y9tZB1Uyp175+hWCpXChwL+MBpDWjudF87F1MRso=";
   };
 
   patches = [
@@ -49,12 +48,6 @@ buildPythonPackage rec {
     # To avoid this issue, debugpy should be installed using python.withPackages:
     # python.withPackages (ps: with ps; [ debugpy ])
     ./fix-test-pythonpath.patch
-
-    # Fix tests with flask>=2.0
-    (fetchpatch {
-      url = "https://github.com/microsoft/debugpy/commit/0a7f2cd67dda27ea4d38389b49a4e2a1899b834e.patch";
-      sha256 = "1g070fn07n7jj01jaf5s570zn70akf6klkamigs3ix11gh736rpn";
-    })
   ];
 
   # Remove pre-compiled "attach" libraries and recompile for host platform
@@ -64,10 +57,11 @@ buildPythonPackage rec {
     cd src/debugpy/_vendored/pydevd/pydevd_attach_to_process
     rm *.so *.dylib *.dll *.exe *.pdb
     ${stdenv.cc}/bin/c++ linux_and_mac/attach.cpp -Ilinux_and_mac -fPIC -nostartfiles ${{
-      "x86_64-linux"  = "-shared -m64 -o attach_linux_amd64.so";
-      "i686-linux"    = "-shared -m32 -o attach_linux_x86.so";
-      "x86_64-darwin" = "-std=c++11 -lc -D_REENTRANT -dynamiclib -arch x86_64 -o attach_x86_64.dylib";
-      "i686-darwin"   = "-std=c++11 -lc -D_REENTRANT -dynamiclib -arch i386 -o attach_x86.dylib";
+      "x86_64-linux"   = "-shared -m64 -o attach_linux_amd64.so";
+      "i686-linux"     = "-shared -m32 -o attach_linux_x86.so";
+      "x86_64-darwin"  = "-std=c++11 -lc -D_REENTRANT -dynamiclib -arch x86_64 -o attach_x86_64.dylib";
+      "i686-darwin"    = "-std=c++11 -lc -D_REENTRANT -dynamiclib -arch i386 -o attach_x86.dylib";
+      "aarch64-darwin" = "-std=c++11 -lc -D_REENTRANT -dynamiclib -arch arm64 -o attach_arm64.dylib";
     }.${stdenv.hostPlatform.system}}
   )'';
 
@@ -102,6 +96,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/microsoft/debugpy";
     license = licenses.mit;
     maintainers = with maintainers; [ kira-bruneau ];
-    platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" "i686-darwin" ];
+    platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" "i686-darwin" "aarch64-darwin" ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/debugpy/hardcode-gdb.patch b/nixpkgs/pkgs/development/python-modules/debugpy/hardcode-gdb.patch
index 780cb1aed1c4..8b87ec7bda7a 100644
--- a/nixpkgs/pkgs/development/python-modules/debugpy/hardcode-gdb.patch
+++ b/nixpkgs/pkgs/development/python-modules/debugpy/hardcode-gdb.patch
@@ -1,8 +1,8 @@
 diff --git a/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/add_code_to_python_process.py b/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/add_code_to_python_process.py
-index 6d031b4..ecf21f2 100644
+index 51017f2..46654ab 100644
 --- a/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/add_code_to_python_process.py
 +++ b/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/add_code_to_python_process.py
-@@ -293,7 +293,7 @@ def run_python_code_linux(pid, python_code, connect_debugger_tracing=False, show
+@@ -398,7 +398,7 @@ def run_python_code_linux(pid, python_code, connect_debugger_tracing=False, show
      is_debug = 0
      # Note that the space in the beginning of each line in the multi-line is important!
      cmd = [
diff --git a/nixpkgs/pkgs/development/python-modules/deemix/default.nix b/nixpkgs/pkgs/development/python-modules/deemix/default.nix
new file mode 100644
index 000000000000..53cd0df8335a
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/deemix/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, spotipy
+, click
+, pycryptodomex
+, mutagen
+, requests
+, deezer-py
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "deemix";
+  version = "3.4.3";
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-cSLjbowG98pbEzGB17Rkhli90xeOyzOcEglXb5SeNJE=";
+  };
+
+  propagatedBuildInputs = [
+    spotipy
+    click
+    pycryptodomex
+    mutagen
+    requests
+    deezer-py
+  ];
+
+  # Project has no tests
+  doCheck = false;
+  pythonImportsCheck = [
+    "spotipy"
+    "click"
+    "Cryptodome"
+    "mutagen"
+    "requests"
+    "deezer"
+  ];
+
+  meta = with lib; {
+    homepage = "https://git.freezer.life/RemixDev/deemix-py";
+    description = "Deezer downloader built from the ashes of Deezloader Remix";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ natto1784 ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/deezer-py/default.nix b/nixpkgs/pkgs/development/python-modules/deezer-py/default.nix
new file mode 100644
index 000000000000..46a4774e1ca7
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/deezer-py/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, requests
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "deezer-py";
+  version = "1.1.3";
+  disabled = pythonOlder "3.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-FdLSJFALeGcecLAHk9khJTKlMd3Mec/w/PGQOHqxYMQ=";
+  };
+
+  propagatedBuildInputs = [ requests ];
+
+  # Project has no tests
+  doCheck = false;
+  pythonImportsCheck = [ "requests" ];
+
+  meta = with lib; {
+    homepage = "https://gitlab.com/RemixDev/deezer-py";
+    description = "A wrapper for all Deezer's APIs";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ natto1784 ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/defcon/default.nix b/nixpkgs/pkgs/development/python-modules/defcon/default.nix
index 30853aa41a64..845993be7113 100644
--- a/nixpkgs/pkgs/development/python-modules/defcon/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/defcon/default.nix
@@ -5,13 +5,13 @@
 
 buildPythonPackage rec {
   pname = "defcon";
-  version = "0.8.1";
+  version = "0.9.0";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1sj9yhwkyvzchglpy07pkx5362mwlap581ibv150b5l9s5mxn2j1";
+    sha256 = "140f51da51e9630a9fa11dfd34376c4e29785fdb0bddc2e371df5b36bec17b76";
     extension = "zip";
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/dependency-injector/default.nix b/nixpkgs/pkgs/development/python-modules/dependency-injector/default.nix
index d220bd51ac1c..628e18931255 100644
--- a/nixpkgs/pkgs/development/python-modules/dependency-injector/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dependency-injector/default.nix
@@ -16,13 +16,13 @@
 
 buildPythonPackage rec {
   pname = "dependency-injector";
-  version = "4.34.0";
+  version = "4.35.3";
 
   src = fetchFromGitHub {
     owner = "ets-labs";
     repo = "python-dependency-injector";
     rev = version;
-    sha256 = "sha256-MI0+saRe4Zi77otVPGYxrX9z8Jc5K1A1sCxHBS0uta0=";
+    sha256 = "sha256-2qe4A2T3EagNCh1zSbPWblVN7p9NH8rNwQQVyESJTdk=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/deskcon/default.nix b/nixpkgs/pkgs/development/python-modules/deskcon/default.nix
index 43d5a955027c..a3e061ce3af5 100644
--- a/nixpkgs/pkgs/development/python-modules/deskcon/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/deskcon/default.nix
@@ -18,7 +18,8 @@ buildPythonPackage {
     sha256 ="0i1dd85ls6n14m9q7lkympms1w3x0pqyaxvalq82s4xnjdv585j3";
   };
 
-  phases = [ "unpackPhase" "installPhase" ];
+  dontBuild = true;
+  doCheck = false;
 
   pythonPath = [ pyopenssl pkgs.gtk3 ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/desktop-notifier/default.nix b/nixpkgs/pkgs/development/python-modules/desktop-notifier/default.nix
index 29ddb16f27f7..51d041e3a808 100644
--- a/nixpkgs/pkgs/development/python-modules/desktop-notifier/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/desktop-notifier/default.nix
@@ -1,6 +1,6 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , pythonOlder
 , stdenv
 , packaging
@@ -10,12 +10,14 @@
 
 buildPythonPackage rec {
   pname = "desktop-notifier";
-  version = "3.3.0";
+  version = "3.3.2";
   disabled = pythonOlder "3.6";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "sha256-ROSZorkA2wAp2Ubh3B3KWIUxM/4r7cv/1aSJqeKnPqg=";
+  src = fetchFromGitHub {
+    owner = "SamSchott";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-h7an/Fm9pNnThCHXg9PAKG822dqXE/CUuW8lDJlwMfw=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/tools/detect-secrets/default.nix b/nixpkgs/pkgs/development/python-modules/detect-secrets/default.nix
index 5dc765ffe6f3..2e07f98d78dd 100644
--- a/nixpkgs/pkgs/development/tools/detect-secrets/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/detect-secrets/default.nix
@@ -1,5 +1,5 @@
 { lib
-, buildPythonApplication
+, buildPythonPackage
 , fetchFromGitHub
 , gibberish-detector
 , isPy27
@@ -12,7 +12,7 @@
 , unidiff
 }:
 
-buildPythonApplication rec {
+buildPythonPackage rec {
   pname = "detect-secrets";
   version = "1.1.0";
   disabled = isPy27;
@@ -70,6 +70,6 @@ buildPythonApplication rec {
     description = "An enterprise friendly way of detecting and preventing secrets in code";
     homepage = "https://github.com/Yelp/detect-secrets";
     license = licenses.asl20;
-    maintainers = [ maintainers.marsam ];
+    maintainers = with maintainers; [ marsam ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/diagrams/default.nix b/nixpkgs/pkgs/development/python-modules/diagrams/default.nix
index d34fc3b899f5..e015a6522d6e 100644
--- a/nixpkgs/pkgs/development/python-modules/diagrams/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/diagrams/default.nix
@@ -27,7 +27,8 @@ buildPythonPackage rec {
 
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace 'jinja2 = "^2.10"' 'jinja2 = "*"'
+      --replace 'jinja2 = "^2.10"' 'jinja2 = "*"' \
+      --replace 'graphviz = ">=0.13.2,<0.17.0"' 'graphviz = "*"'
   '';
 
   preConfigure = ''
@@ -35,7 +36,10 @@ buildPythonPackage rec {
     ./autogen.sh
   '';
 
-  patches = [ ./build_poetry.patch ];
+  patches = [
+    # The build-system section is missing
+    ./build_poetry.patch
+  ];
 
   checkInputs = [ pytestCheckHook ];
 
@@ -45,6 +49,8 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ graphviz ];
 
+  pythonImportsCheck = [ "diagrams" ];
+
   meta = with lib; {
     description = "Diagram as Code";
     homepage    = "https://diagrams.mingrammer.com/";
diff --git a/nixpkgs/pkgs/development/python-modules/dipy/default.nix b/nixpkgs/pkgs/development/python-modules/dipy/default.nix
index 51d689f98596..3712dfbaee1a 100644
--- a/nixpkgs/pkgs/development/python-modules/dipy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dipy/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "dipy";
-  version = "1.3.0";
+  version = "1.4.1";
 
   disabled = isPy27;
 
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner  = "dipy";
     repo   = pname;
     rev    = version;
-    sha256 = "0555abx0fwqmk6dc3im7r45d9j7r9xh6gm9mbwfwvlf7laf8h098";
+    sha256 = "0zaqsiq73vprbqbzvzswjfmqgappl5vhpl2fwjrrda33c27klpzj";
   };
 
   nativeBuildInputs = [ cython packaging ];
diff --git a/nixpkgs/pkgs/development/python-modules/django-auth-ldap/default.nix b/nixpkgs/pkgs/development/python-modules/django-auth-ldap/default.nix
index ed6ee01e34e0..ab329cd37aba 100644
--- a/nixpkgs/pkgs/development/python-modules/django-auth-ldap/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-auth-ldap/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "django-auth-ldap";
-  version = "2.4.0";
+  version = "3.0.0";
   disabled = isPy27;
   src = fetchPypi {
     inherit pname version;
-    sha256 = "60fcbfc3141c99c3c49d3ccd7311a3992a231c319d94b6d2c143968f63676676";
+    sha256 = "1f2d5c562d9ba9a5e9a64099ae9798e1a63840a11afe4d1c4a9c74121f066eaa";
   };
 
   propagatedBuildInputs = [ ldap django ];
@@ -20,6 +20,8 @@ buildPythonPackage rec {
   # django.core.exceptions.ImproperlyConfigured: Requested setting INSTALLED_APPS, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings
   doCheck = false;
 
+  pythonImportsCheck = [ "django_auth_ldap" ];
+
   meta = with lib; {
     description = "Django authentication backend that authenticates against an LDAP service";
     homepage = "https://github.com/django-auth-ldap/django-auth-ldap";
diff --git a/nixpkgs/pkgs/development/python-modules/django-haystack/default.nix b/nixpkgs/pkgs/development/python-modules/django-haystack/default.nix
index 14e66a159c18..c207a37ebf15 100644
--- a/nixpkgs/pkgs/development/python-modules/django-haystack/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-haystack/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "django-haystack";
-  version = "3.0";
+  version = "3.1.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d490f920afa85471dd1fa5000bc8eff4b704daacbe09aee1a64e75cbc426f3be";
+    sha256 = "6d05756b95d7d5ec1dbd4668eb999ced1504b47f588e2e54be53b1404c516a82";
   };
 
   checkInputs = [ pysolr whoosh python-dateutil geopy coverage nose mock coverage requests ];
diff --git a/nixpkgs/pkgs/development/python-modules/django-ipware/default.nix b/nixpkgs/pkgs/development/python-modules/django-ipware/default.nix
index 6145b1266291..d773c1490bcc 100644
--- a/nixpkgs/pkgs/development/python-modules/django-ipware/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-ipware/default.nix
@@ -2,21 +2,25 @@
 
 buildPythonPackage rec {
   pname = "django-ipware";
-  version = "3.0.2";
-
-  meta = {
-    description = "A Django application to retrieve user's IP address";
-    homepage = "https://github.com/un33k/django-ipware";
-    license = lib.licenses.mit;
-  };
+  version = "4.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c7df8e1410a8e5d6b1fbae58728402ea59950f043c3582e033e866f0f0cf5e94";
+    sha256 = "1294f916f3b3475e40e1b0ec1bd320aa2397978eae672721c81cbc2ed517e9ee";
   };
 
   propagatedBuildInputs = [ django ];
 
   # django.core.exceptions.ImproperlyConfigured: Requested setting IPWARE_TRUSTED_PROXY_LIST, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
   doCheck = false;
+
+  # pythonImportsCheck fails with:
+  # django.core.exceptions.ImproperlyConfigured: Requested setting IPWARE_META_PRECEDENCE_ORDER, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
+
+  meta = with lib; {
+    description = "A Django application to retrieve user's IP address";
+    homepage = "https://github.com/un33k/django-ipware";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ];
+  };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/django-jinja2/default.nix b/nixpkgs/pkgs/development/python-modules/django-jinja2/default.nix
index 8f20313556ff..266160fc17f8 100644
--- a/nixpkgs/pkgs/development/python-modules/django-jinja2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-jinja2/default.nix
@@ -4,7 +4,7 @@
 
 buildPythonPackage rec {
   pname = "django-jinja";
-  version = "2.8.0";
+  version = "2.9.0";
 
   meta = {
     description = "Simple and nonobstructive jinja2 integration with Django";
@@ -14,7 +14,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bba30a7ea4394bccfaa9bc8620996c25ede446ab06104b51b3a16fe81232cbf2";
+    sha256 = "69433ea312264a541acf1e3e9748e44783ad33381e48e6a7230762e02f005276";
   };
 
   buildInputs = [ django pytz tox ];
diff --git a/nixpkgs/pkgs/development/python-modules/django-q/default.nix b/nixpkgs/pkgs/development/python-modules/django-q/default.nix
index c9c5410416ad..f81fc01bdd6f 100644
--- a/nixpkgs/pkgs/development/python-modules/django-q/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-q/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "django-q";
-  version = "1.3.8";
+  version = "1.3.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "db30266fadd6ab9336a8824291910ff1d1c28f7bc9d6e52cdaf33cc275ae6146";
+    sha256 = "5c6b4d530aa3aabf9c6aa57376da1ca2abf89a1562b77038b7a04e52a4a0a91b";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/django-versatileimagefield/default.nix b/nixpkgs/pkgs/development/python-modules/django-versatileimagefield/default.nix
index dc7cde76a6b3..eefda80f18e4 100644
--- a/nixpkgs/pkgs/development/python-modules/django-versatileimagefield/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-versatileimagefield/default.nix
@@ -2,18 +2,17 @@
 , buildPythonPackage
 , fetchPypi
 , django
-, python
 , pillow
 , python_magic
 }:
 
 buildPythonPackage rec {
   pname = "django-versatileimagefield";
-  version = "2.1";
+  version = "2.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e98f7b0abfbf2559d55b08be40911dcc44b6f3437a6c40d81bf66b6914837fdf";
+    sha256 = "6569d5c3e13c69ab8912ba5100084aa5abcdcffb8d1f5abc085b226e7bbd65b3";
   };
   propagatedBuildInputs = [ pillow python_magic ];
 
@@ -22,6 +21,8 @@ buildPythonPackage rec {
   # tests not included with pypi release
   doCheck = false;
 
+  pythonImportsCheck = [ "versatileimagefield" ];
+
   meta = with lib; {
     description = "Replaces django's ImageField with a more flexible interface";
     homepage = "https://github.com/respondcreate/django-versatileimagefield/";
diff --git a/nixpkgs/pkgs/development/python-modules/django-webpack-loader/default.nix b/nixpkgs/pkgs/development/python-modules/django-webpack-loader/default.nix
index 3e849b487739..c782a5f6746e 100644
--- a/nixpkgs/pkgs/development/python-modules/django-webpack-loader/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-webpack-loader/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "django-webpack-loader";
-  version = "0.7.0";
+  version = "1.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0izl6bibhz3v538ad5hl13lfr6kvprf62rcl77wq2i5538h8hg3s";
+    sha256 = "c7f89a272a177a17a045ceab26bbb7e35d28ca5597c384de96817784b610c977";
   };
 
   # django.core.exceptions.ImproperlyConfigured (path issue with DJANGO_SETTINGS_MODULE?)
diff --git a/nixpkgs/pkgs/development/python-modules/django_redis/default.nix b/nixpkgs/pkgs/development/python-modules/django_redis/default.nix
index 56e4e845f08c..61101cc8a929 100644
--- a/nixpkgs/pkgs/development/python-modules/django_redis/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django_redis/default.nix
@@ -1,27 +1,35 @@
-{ lib, fetchPypi, buildPythonPackage,
-  mock, django, redis, msgpack }:
+{ lib
+, fetchPypi
+, buildPythonPackage
+, mock
+, django
+, redis
+, msgpack
+}:
 buildPythonPackage rec {
   pname = "django-redis";
-  version = "4.12.1";
+  version = "5.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "306589c7021e6468b2656edc89f62b8ba67e8d5a1c8877e2688042263daa7a63";
+    sha256 = "048f665bbe27f8ff2edebae6aa9c534ab137f1e8fa7234147ef470df3f3aa9b8";
   };
 
-  doCheck = false;
-
-  buildInputs = [ mock ];
-
   propagatedBuildInputs = [
     django
     redis
     msgpack
   ];
 
+  # django.core.exceptions.ImproperlyConfigured: Requested setting DJANGO_REDIS_SCAN_ITERSIZE, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
+  doCheck = false;
+
+  pythonImportsCheck = [ "django_redis" ];
+
   meta = with lib; {
     description = "Full featured redis cache backend for Django";
     homepage = "https://github.com/niwibe/django-redis";
     license = licenses.bsd3;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/django_reversion/default.nix b/nixpkgs/pkgs/development/python-modules/django_reversion/default.nix
index 6de1ce64328b..348228a8c028 100644
--- a/nixpkgs/pkgs/development/python-modules/django_reversion/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django_reversion/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "django-reversion";
-  version = "3.0.9";
+  version = "4.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a5af55f086a3f9c38be2f049c251e06005b9ed48ba7a109473736b1fc95a066f";
+    sha256 = "ad6d714b4b9b824e22b88d47201cc0f74b5c4294c8d4e1f8d7ac7c3631ef3188";
   };
 
   # tests assume the availability of a mysql/postgresql database
@@ -18,10 +18,12 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ django ];
 
+  pythonImportsCheck = [ "reversion" ];
+
   meta = with lib; {
     description = "An extension to the Django web framework that provides comprehensive version control facilities";
     homepage = "https://github.com/etianen/django-reversion";
     license = licenses.bsd3;
+    maintainers = with maintainers; [ ];
   };
-
 }
diff --git a/nixpkgs/pkgs/development/python-modules/djangoql/default.nix b/nixpkgs/pkgs/development/python-modules/djangoql/default.nix
index c538a373148a..e0e83e0c0619 100644
--- a/nixpkgs/pkgs/development/python-modules/djangoql/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/djangoql/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "djangoql";
-  version = "0.15.0";
+  version = "0.15.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ddd876b640faf941aface6e8554dc7e79a79ec00fee12da8a20f9f74301f7943";
+    sha256 = "e1a2f32573396335a8935dfc2afb29e34eff34babec1150927ff74fcd4bbdb9d";
   };
 
   propagatedBuildInputs = [ ply ];
diff --git a/nixpkgs/pkgs/development/python-modules/doc8/default.nix b/nixpkgs/pkgs/development/python-modules/doc8/default.nix
index c2a7df098f4b..9ffb57963991 100644
--- a/nixpkgs/pkgs/development/python-modules/doc8/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/doc8/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "doc8";
-  version = "0.8.1";
+  version = "0.9.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4d1df12598807cf08ffa9a1d5ef42d229ee0de42519da01b768ff27211082c12";
+    sha256 = "380b660474be40ce88b5f04fa93470449124dbc850a0318f2ef186162bc1360b";
   };
 
   buildInputs = [ pbr ];
diff --git a/nixpkgs/pkgs/development/python-modules/dockerspawner/default.nix b/nixpkgs/pkgs/development/python-modules/dockerspawner/default.nix
index 192fb94bd45a..cae32e4a2b44 100644
--- a/nixpkgs/pkgs/development/python-modules/dockerspawner/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dockerspawner/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "dockerspawner";
-  version = "0.11.1";
+  version = "12.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "83fd8ee012bb32432cb57bd408ff65534749aed8696648e6ac029a87fc474928";
+    sha256 = "3894ed8a9157f8ac8f42e0130f43932490ac5d1e89e6f295b1252f08c00ba36b";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/docopt-ng/default.nix b/nixpkgs/pkgs/development/python-modules/docopt-ng/default.nix
new file mode 100644
index 000000000000..7a18bfbc7cfa
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/docopt-ng/default.nix
@@ -0,0 +1,24 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "docopt-ng";
+  version = "0.7.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-hs7qAy8M+lnmB3brDPOKxzZTWBAihyMg9H3IdGeNckQ=";
+  };
+
+  pythonImportsCheck = [ "docopt" ];
+  doCheck = false; # no tests in the package
+
+  meta = with lib; {
+    description = "More-magic command line arguments parser. Now with more maintenance!";
+    homepage = "https://github.com/bazaar-projects/docopt-ng";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fgaz ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/dogpile.cache/default.nix b/nixpkgs/pkgs/development/python-modules/dogpile.cache/default.nix
index 05eb173c5599..55dffd1dc7e3 100644
--- a/nixpkgs/pkgs/development/python-modules/dogpile.cache/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dogpile.cache/default.nix
@@ -12,12 +12,12 @@
 
 buildPythonPackage rec {
   pname = "dogpile.cache";
-  version = "1.1.3";
+  version = "1.1.4";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6f0bcf97c73bfec1a7bf14e5a248488cee00c2d494bf63f3789ea6d95a57c1cf";
+    sha256 = "ea09bebf24bb7c028caf98963785fe9ad0bd397305849a3303bc5380d468d813";
   };
 
   # Disable concurrency tests that often fail,
diff --git a/nixpkgs/pkgs/development/python-modules/dotmap/default.nix b/nixpkgs/pkgs/development/python-modules/dotmap/default.nix
index cb5f032a6f26..e9bb585544ee 100644
--- a/nixpkgs/pkgs/development/python-modules/dotmap/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dotmap/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "dotmap";
-  version = "1.3.23";
+  version = "1.3.24";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0hy88kzzb7zhxfr7iyvl6rhmvz02538pbna7zypaard4a88bbbka";
+    sha256 = "1mvkhkrhzzzng17j2yvwp4x1hj8wls3qw5lngqs777a2qc1mhg0r";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/dpath/default.nix b/nixpkgs/pkgs/development/python-modules/dpath/default.nix
index 9db726a12a19..8756557e64ca 100644
--- a/nixpkgs/pkgs/development/python-modules/dpath/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dpath/default.nix
@@ -1,24 +1,38 @@
-{ lib, fetchPypi, buildPythonPackage, isPy27
-, mock, pytestCheckHook, nose, hypothesis
+{ lib
+, buildPythonPackage
+, fetchPypi
+, hypothesis
+, isPy27
+, mock
+, nose
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "dpath";
-  version = "2.0.1";
+  version = "2.0.2";
+
   disabled = isPy27; # uses python3 imports
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bea06b5f4ff620a28dfc9848cf4d6b2bfeed34238edeb8ebe815c433b54eb1fa";
+    sha256 = "sha256-BA2+ShAeG2sbZenaJYU08PCwrgCjsf0tWS/oV5/4N64=";
   };
 
   # use pytest as nosetests hangs
-  checkInputs = [ mock nose pytestCheckHook hypothesis ];
+  checkInputs = [
+    hypothesis
+    mock
+    nose
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "dpath" ];
 
   meta = with lib; {
+    description = "Python library for accessing and searching dictionaries via /slashed/paths ala xpath";
     homepage = "https://github.com/akesterson/dpath-python";
-    license = [ licenses.mit ];
-    description = "A python library for accessing and searching dictionaries via /slashed/paths ala xpath";
-    maintainers = [ maintainers.mmlb ];
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ mmlb ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/dpkt/default.nix b/nixpkgs/pkgs/development/python-modules/dpkt/default.nix
index e25221360593..74817e60cbcf 100644
--- a/nixpkgs/pkgs/development/python-modules/dpkt/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dpkt/default.nix
@@ -1,14 +1,22 @@
-{ lib, fetchPypi, buildPythonPackage }:
+{ lib
+, fetchPypi
+, buildPythonPackage
+}:
 
 buildPythonPackage rec {
   pname = "dpkt";
-  version = "1.9.6";
+  version = "1.9.7.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b5737010fd420d142e02ed04fa616edd1fc05e414980baef594f72287c875eef";
+    sha256 = "74899d557ec4e337db29cecc80548b23a1205384d30ee407397cfb9ab178e3d4";
   };
 
+  # Project has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "dpkt" ];
+
   meta = with lib; {
     description = "Fast, simple packet creation / parsing, with definitions for the basic TCP/IP protocols";
     homepage = "https://github.com/kbandla/dpkt";
diff --git a/nixpkgs/pkgs/development/python-modules/dropbox/default.nix b/nixpkgs/pkgs/development/python-modules/dropbox/default.nix
index f5a9274a0d18..7406e6dc21b3 100644
--- a/nixpkgs/pkgs/development/python-modules/dropbox/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dropbox/default.nix
@@ -1,29 +1,31 @@
 { lib, buildPythonPackage, fetchPypi
-, pytest-runner, requests, urllib3, mock, setuptools, stone }:
+, requests, urllib3, mock, setuptools, stone }:
 
 buildPythonPackage rec {
   pname = "dropbox";
-  version = "11.11.0";
+  version = "11.18.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "14dd51e0e3981cb81384a8e13a308de0df13c7c4b6ba7f080177ede947761cbb";
+    sha256 = "fa512c87521809e93502fc6a27b1d57ffbcef2281468c8f93575eab6a9ad5f05";
   };
 
   postPatch = ''
     substituteInPlace setup.py \
-      --replace "pytest-runner == 5.2.0" "pytest-runner"
+      --replace "'pytest-runner == 5.2.0'," ""
   '';
 
+  propagatedBuildInputs = [ requests urllib3 mock setuptools stone ];
+
   # Set DROPBOX_TOKEN environment variable to a valid token.
   doCheck = false;
 
-  nativeBuildInputs = [ pytest-runner ];
-  propagatedBuildInputs = [ requests urllib3 mock setuptools stone ];
+  pythonImportsCheck = [ "dropbox" ];
 
   meta = with lib; {
     description = "A Python library for Dropbox's HTTP-based Core and Datastore APIs";
     homepage = "https://www.dropbox.com/developers/core/docs";
     license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/dsmr-parser/default.nix b/nixpkgs/pkgs/development/python-modules/dsmr-parser/default.nix
index 155927368eee..1f59c956560e 100644
--- a/nixpkgs/pkgs/development/python-modules/dsmr-parser/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dsmr-parser/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "dsmr-parser";
-  version = "0.29";
+  version = "0.30";
 
   src = fetchFromGitHub {
     owner = "ndokter";
     repo = "dsmr_parser";
     rev = "v${version}";
-    sha256 = "11d6cwmabzc8p6jkqwj72nrj7p6cxbvr0x3jdrxyx6zki8chyw4p";
+    sha256 = "sha256-3RXku0L/XQFarECxY1LSs2TwSOlJAOiS6yEepHCGL5U=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/dufte/default.nix b/nixpkgs/pkgs/development/python-modules/dufte/default.nix
index d1c9680cb7b9..b9a96cbc8298 100644
--- a/nixpkgs/pkgs/development/python-modules/dufte/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dufte/default.nix
@@ -1,23 +1,23 @@
 { lib
 , buildPythonPackage
-, fetchPypi
-, isPy3k
+, fetchFromGitHub
 , pythonOlder
 , importlib-metadata
 , matplotlib
 , numpy
-, exdown
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "dufte";
-  version = "0.2.12";
-  disabled = !isPy3k;
+  version = "0.2.27";
+  disabled = pythonOlder "3.6";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "0ag1d7h1wijkc7v2vpgkbqjlnpiwd4nh8zhxiby0989bpmlp3jr3";
+  src = fetchFromGitHub {
+    owner = "nschloe";
+    repo = pname;
+    rev = version;
+    sha256 = "1i68h224hx9clxj3l0rd2yigsi6fqsr3x10vj5hf3j6s69iah7r3";
   };
   format = "pyproject";
 
@@ -28,13 +28,10 @@ buildPythonPackage rec {
     importlib-metadata
   ];
 
-  preCheck = ''
-    export HOME=$TMPDIR
-    mkdir -p $HOME/.matplotlib
-    echo "backend: ps" > $HOME/.matplotlib/matplotlibrc
-  '';
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  checkInputs = [ exdown pytestCheckHook ];
   pythonImportsCheck = [ "dufte" ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/dulwich/default.nix b/nixpkgs/pkgs/development/python-modules/dulwich/default.nix
index eacaa00f1526..58ac73b47203 100644
--- a/nixpkgs/pkgs/development/python-modules/dulwich/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dulwich/default.nix
@@ -15,12 +15,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.20.24";
+  version = "0.20.25";
   pname = "dulwich";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1wacchqxxwbhwnfnnhlb40s66f92lkvz6423j4c1w6wb585aqqbb";
+    sha256 = "79baea81583eb61eb7bd4a819ab6096686b362c626a4640d84d4fc5539139353";
   };
 
   LC_ALL = "en_US.UTF-8";
diff --git a/nixpkgs/pkgs/development/python-modules/elasticsearch-dsl/default.nix b/nixpkgs/pkgs/development/python-modules/elasticsearch-dsl/default.nix
index a2f2ff038db0..5f55a3ac4733 100644
--- a/nixpkgs/pkgs/development/python-modules/elasticsearch-dsl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/elasticsearch-dsl/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "elasticsearch-dsl";
-  version = "7.3.0";
+  version = "7.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0ed75f6ff037e36b2397a8e92cae0ddde79b83adc70a154b8946064cb62f7301";
+    sha256 = "c4a7b93882918a413b63bed54018a1685d7410ffd8facbc860ee7fd57f214a6d";
   };
 
   propagatedBuildInputs = [ elasticsearch python-dateutil six ]
diff --git a/nixpkgs/pkgs/development/python-modules/elasticsearch/default.nix b/nixpkgs/pkgs/development/python-modules/elasticsearch/default.nix
index 86e7477ab317..17cf944bf14b 100644
--- a/nixpkgs/pkgs/development/python-modules/elasticsearch/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/elasticsearch/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage (rec {
   pname = "elasticsearch";
-  version = "7.13.1";
+  version = "7.14.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d6bcca0b2e5665d08e6fe6fadc2d4d321affd76ce483603078fc9d3ccd2bc0f9";
+    sha256 = "f928898fe06869516f2603f9a96a6f166c06888233806b31ac6568bac0266501";
   };
 
   # Check is disabled because running them destroy the content of the local cluster!
diff --git a/nixpkgs/pkgs/development/python-modules/elementpath/default.nix b/nixpkgs/pkgs/development/python-modules/elementpath/default.nix
index 30ff8d0717c8..ab09f0edf360 100644
--- a/nixpkgs/pkgs/development/python-modules/elementpath/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/elementpath/default.nix
@@ -1,7 +1,7 @@
 { lib, buildPythonPackage, fetchFromGitHub, isPy27 }:
 
 buildPythonPackage rec {
-  version = "2.2.3";
+  version = "2.3.0";
   pname = "elementpath";
   disabled = isPy27; # uses incompatible class syntax
 
@@ -9,7 +9,7 @@ buildPythonPackage rec {
     owner = "sissaschool";
     repo = "elementpath";
     rev = "v${version}";
-    sha256 = "142w8xbxdvz6949nqd4malqijyxfcv917cls4lsv4x7164b4naf7";
+    sha256 = "1zghj0v1s03ahynx7sczag7iaam757ypwl1lm0ym6j37dnq8vnxk";
   };
 
   # avoid circular dependency with xmlschema which directly depends on this
diff --git a/nixpkgs/pkgs/development/python-modules/embrace/default.nix b/nixpkgs/pkgs/development/python-modules/embrace/default.nix
new file mode 100644
index 000000000000..414425ed6f2c
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/embrace/default.nix
@@ -0,0 +1,25 @@
+{ lib, buildPythonPackage, fetchFromSourcehut, sqlparse, wrapt, pytestCheckHook }:
+
+buildPythonPackage rec {
+  pname = "embrace";
+  version = "4.0.0";
+
+  src = fetchFromSourcehut {
+    vc = "hg";
+    owner = "~olly";
+    repo = "embrace-sql";
+    rev = "v${version}-release";
+    sha256 = "sha256-G/7FeKlMbOWobQOpD7/0JiTFpf8oWZ1TxPpDS9wrKMo=";
+  };
+
+  propagatedBuildInputs = [ sqlparse wrapt ];
+  checkInputs = [ pytestCheckHook ];
+  pythonImportsCheck = [ "embrace" ];
+
+  meta = with lib; {
+    description = "Embrace SQL keeps your SQL queries in SQL files";
+    homepage = "https://pypi.org/project/embrace/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ pacien ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/emcee/default.nix b/nixpkgs/pkgs/development/python-modules/emcee/default.nix
index 72cb9a64db0a..f41bfae5942e 100644
--- a/nixpkgs/pkgs/development/python-modules/emcee/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/emcee/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "emcee";
-  version = "3.1.0";
+  version = "3.1.1";
 
   src = fetchFromGitHub {
     owner = "dfm";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1x9y4zwlv6hl7jms2knpa2qrh89ywsl847yb7d93n94gyx2s16p0";
+    sha256 = "0q9dj7mihjjkcy6famzwhz1xcxxzzvm00n01w4bbm66ax9zvis52";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/emoji/default.nix b/nixpkgs/pkgs/development/python-modules/emoji/default.nix
index 67c9c7a1abd0..0dabc80b1ca2 100644
--- a/nixpkgs/pkgs/development/python-modules/emoji/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/emoji/default.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "emoji";
-  version = "1.4.0";
+  version = "1.4.2";
 
   src = fetchFromGitHub {
     owner = "carpedm20";
     repo = pname;
     rev = "v.${version}";
-    sha256 = "0xksxdld20sh3c2s6pry1fm2br9xq8ypdq5pf971fpg5pk2f4iy9";
+    sha256 = "072m0l1wcbz1jiyc2x5dx0b4ks5zri7m5lhjjy9sgq4qwlqsnr5n";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/env-canada/default.nix b/nixpkgs/pkgs/development/python-modules/env-canada/default.nix
index 22894ab9f2a6..5ea89392826b 100644
--- a/nixpkgs/pkgs/development/python-modules/env-canada/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/env-canada/default.nix
@@ -4,6 +4,7 @@
 , fetchFromGitHub
 , geopy
 , imageio
+, lxml
 , pillow
 , pytestCheckHook
 , python-dateutil
@@ -11,19 +12,20 @@
 
 buildPythonPackage rec {
   pname = "env-canada";
-  version = "0.4.1";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "michaeldavie";
     repo = "env_canada";
     rev = "v${version}";
-    sha256 = "0v1wmjvi05i6mjh6yxqigbf2spf7842198yp98f7h0nyfjmz96hn";
+    sha256 = "0dgw2mf760r1y0mq8bcvx6y3bcqpaf8p97rzf7pd0pbwvwrcsj3n";
   };
 
   propagatedBuildInputs = [
     aiohttp
     geopy
     imageio
+    lxml
     pillow
     python-dateutil
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/environmental-override/default.nix b/nixpkgs/pkgs/development/python-modules/environmental-override/default.nix
new file mode 100644
index 000000000000..235401153136
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/environmental-override/default.nix
@@ -0,0 +1,26 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "environmental-override";
+  version = "0.1.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1vhd37i6f8xh6kd61yxc2ynzgcln7v2p7fyzjmhbkdnws6gwfs6s";
+  };
+
+  # No tests have been written for this library.
+  doCheck = false;
+
+  pythonImportsCheck = [ "environmental_override" ];
+
+  meta = {
+    description = "Easily configure apps using simple environmental overrides";
+    homepage = "https://github.com/coddingtonbear/environmental-override";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ nathanruiz ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/envisage/default.nix b/nixpkgs/pkgs/development/python-modules/envisage/default.nix
index f53184a8166c..20051804328b 100644
--- a/nixpkgs/pkgs/development/python-modules/envisage/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/envisage/default.nix
@@ -1,21 +1,21 @@
 { lib, fetchPypi, isPy27
 , buildPythonPackage
 , traits, apptools, pytestCheckHook
-, ipykernel, ipython
+, ipykernel, ipython, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "envisage";
-  version = "5.0.0";
+  version = "6.0.1";
 
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0zrxlq4v3091727vf10ngc8418sp26raxa8q83i4h0sydfkh2dic";
+    sha256 = "8864c29aa344f7ac26eeb94788798f2d0cc791dcf95c632da8d79ebc580e114c";
   };
 
-  propagatedBuildInputs = [ traits apptools ];
+  propagatedBuildInputs = [ traits apptools setuptools ];
 
   preCheck = ''
     export HOME=$PWD/HOME
diff --git a/nixpkgs/pkgs/development/python-modules/eth-hash/default.nix b/nixpkgs/pkgs/development/python-modules/eth-hash/default.nix
index da57aa50e07c..618c39f3b734 100644
--- a/nixpkgs/pkgs/development/python-modules/eth-hash/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/eth-hash/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "eth-hash";
-  version = "0.3.1";
+  version = "0.3.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "aee46d9c43b98ac6d4ddf957cf75d4d0a5174ee814cc6b53dd6134dcedb459bf";
+    sha256 = "3f40cecd5ead88184aa9550afc19d057f103728108c5102f592f8415949b5a76";
   };
 
   checkInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/eth-typing/default.nix b/nixpkgs/pkgs/development/python-modules/eth-typing/default.nix
index 87aa914b59f7..66ff1ddc10ed 100644
--- a/nixpkgs/pkgs/development/python-modules/eth-typing/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/eth-typing/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonPackage rec {
   pname = "eth-typing";
-  version = "2.2.1";
+  version = "2.2.2";
 
   # Tests are missing from the PyPI source tarball so let's use GitHub
   # https://github.com/ethereum/eth-typing/issues/8
@@ -10,7 +10,7 @@ buildPythonPackage rec {
     owner = "ethereum";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0k9jydsclk81qpkvl7hpchwclm3c89gyzlk17480wcw90nkps9ap";
+    sha256 = "0rkvkacxla4y2blkkfdsq1ywnyqsvg8pwhvadznbag1bfzja4xhv";
   };
 
   # setuptools-markdown uses pypandoc which is broken at the moment
diff --git a/nixpkgs/pkgs/development/python-modules/eventlet/default.nix b/nixpkgs/pkgs/development/python-modules/eventlet/default.nix
index 28c7e9c6eea5..11c18b61ae52 100644
--- a/nixpkgs/pkgs/development/python-modules/eventlet/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/eventlet/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "eventlet";
-  version = "0.31.0";
+  version = "0.32.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b36ec2ecc003de87fc87b93197d77fea528aa0f9204a34fdf3b2f8d0f01e017b";
+    sha256 = "2f0bb8ed0dc0ab21d683975d5d8ab3c054d588ce61def9faf7a465ee363e839b";
   };
 
   propagatedBuildInputs = [ dnspython greenlet monotonic six ]
diff --git a/nixpkgs/pkgs/development/python-modules/exchangelib/default.nix b/nixpkgs/pkgs/development/python-modules/exchangelib/default.nix
index c41b04790836..c568583dd378 100644
--- a/nixpkgs/pkgs/development/python-modules/exchangelib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/exchangelib/default.nix
@@ -1,40 +1,77 @@
-{ lib, fetchFromGitHub, buildPythonPackage,
-  pythonOlder,
-  lxml, tzlocal, python-dateutil, pygments, requests-kerberos,
-  defusedxml, cached-property, isodate, requests_ntlm, dnspython,
-  psutil, requests-mock, pyyaml,
-  oauthlib, requests_oauthlib, tzdata,
-  flake8, backports-zoneinfo
+{ lib
+, backports-datetime-fromisoformat
+, backports-zoneinfo
+, buildPythonPackage
+, cached-property
+, defusedxml
+, dnspython
+, fetchFromGitHub
+, flake8
+, isodate
+, lxml
+, oauthlib
+, psutil
+, pygments
+, python-dateutil
+, pythonOlder
+, pytz
+, pyyaml
+, requests
+, requests_ntlm
+, requests_oauthlib
+, requests-kerberos
+, requests-mock
+, tzdata
+, tzlocal
 }:
 
 buildPythonPackage rec {
   pname = "exchangelib";
-  version = "4.4.0";
-  disabled = pythonOlder "3.5";
+  version = "4.5.0";
+  disabled = pythonOlder "3.6";
 
-  # tests are not present in the PyPI version
   src = fetchFromGitHub {
     owner = "ecederstrand";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0d6hfbawp68x18ryxamkamf8kgc55xbrll89g3swrqnm2rrhzrqf";
+    sha256 = "sha256-MtWcqsbKls9I7Oj0UlJzWtHsNfAxk4+ojSgK50ljEfs=";
   };
 
-  checkInputs = [ psutil requests-mock pyyaml
-    flake8
-  ];
   propagatedBuildInputs = [
-    lxml tzlocal tzdata python-dateutil pygments requests-kerberos
-    defusedxml cached-property isodate requests_ntlm dnspython
-    oauthlib requests_oauthlib
+    cached-property
+    defusedxml
+    dnspython
+    isodate
+    lxml
+    oauthlib
+    pygments
+    requests
+    requests_ntlm
+    requests_oauthlib
+    requests-kerberos
+    tzdata
+    tzlocal
   ] ++ lib.optionals (pythonOlder "3.9") [
     backports-zoneinfo
+  ] ++ lib.optionals (pythonOlder "3.7") [
+    backports-datetime-fromisoformat
+  ];
+
+  checkInputs = [
+    flake8
+    psutil
+    python-dateutil
+    pytz
+    pyyaml
+    requests-mock
   ];
 
+  pythonImportsCheck = [ "exchangelib" ];
+
   meta = with lib; {
     description = "Client for Microsoft Exchange Web Services (EWS)";
-    homepage    = "https://github.com/ecederstrand/exchangelib";
-    license     = licenses.bsd2;
+    homepage = "https://github.com/ecederstrand/exchangelib";
+    license = licenses.bsd2;
     maintainers = with maintainers; [ catern ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/exdown/default.nix b/nixpkgs/pkgs/development/python-modules/exdown/default.nix
index 9daf9a00bfd0..d369b3645ab6 100644
--- a/nixpkgs/pkgs/development/python-modules/exdown/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/exdown/default.nix
@@ -1,20 +1,30 @@
-{ lib, buildPythonPackage, isPy27, fetchPypi, pythonOlder
-, importlib-metadata }:
+{ lib
+, buildPythonPackage
+, isPy27
+, fetchPypi
+, pythonOlder
+, importlib-metadata
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "exdown";
-  version = "0.8.6";
+  version = "0.9.0";
   format = "pyproject";
 
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-BCn+rkMxQSw/gO+dpzgpYSOqEiooWFzSh7LUYIFr6wE=";
+    sha256 = "sha256-r0SCigkUpOiba4MDf80+dLjOjjruVNILh/raWfvjXA0=";
   };
 
   propagatedBuildInputs = lib.optionals (pythonOlder "3.8") [ importlib-metadata ];
 
+  checkInputs = [
+    pytestCheckHook
+  ];
+
   pythonImportsCheck = [ "exdown" ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/exifread/default.nix b/nixpkgs/pkgs/development/python-modules/exifread/default.nix
index e26f616f8db9..16c5441803ea 100644
--- a/nixpkgs/pkgs/development/python-modules/exifread/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/exifread/default.nix
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     description = "Easy to use Python module to extract Exif metadata from tiff and jpeg files";
     homepage    = "https://github.com/ianare/exif-py";
     license     = licenses.bsd0;
-    maintainers = with maintainers; [ vozz ];
+    maintainers = with maintainers; [ ];
   };
 
 }
diff --git a/nixpkgs/pkgs/development/python-modules/fakeredis/default.nix b/nixpkgs/pkgs/development/python-modules/fakeredis/default.nix
index bd4c85a3bb65..2e0e5c65d06b 100644
--- a/nixpkgs/pkgs/development/python-modules/fakeredis/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fakeredis/default.nix
@@ -16,12 +16,12 @@
 
 buildPythonPackage rec {
   pname = "fakeredis";
-  version = "1.5.2";
+  version = "1.6.0";
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "18fc1808d2ce72169d3f11acdb524a00ef96bd29970c6d34cfeb2edb3fc0c020";
+    sha256 = "sha256-Ecz8l2nXGNN+RbOC5kproCWGtiKvoDcaa9hXZtciVfM=";
   };
 
   propagatedBuildInputs = [
@@ -40,6 +40,11 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  disabledTestPaths = [
+    # Missing support for later pytest-asyncio, https://github.com/jamesls/fakeredis/issues/307
+    "test/test_aioredis1.py"
+  ];
+
   pythonImportsCheck = [ "fakeredis" ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/fastapi/default.nix b/nixpkgs/pkgs/development/python-modules/fastapi/default.nix
index 3b14560eb9dd..62aedf1f2117 100644
--- a/nixpkgs/pkgs/development/python-modules/fastapi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fastapi/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "fastapi";
-  version = "0.67.0";
+  version = "0.68.1";
   format = "flit";
 
   src = fetchFromGitHub {
     owner = "tiangolo";
     repo = "fastapi";
     rev = version;
-    sha256 = "15zbalyib7ndcbxvf9prj0n9n6qb4bfzhmaacsjrvdmjzmqdjgw0";
+    sha256 = "sha256-zwfopyig4ImMbkx89l8SsLW8PzoVcDN5KSd7a7fOnms=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/fastecdsa/default.nix b/nixpkgs/pkgs/development/python-modules/fastecdsa/default.nix
index 04d9da87c5c1..8d104a889a01 100644
--- a/nixpkgs/pkgs/development/python-modules/fastecdsa/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fastecdsa/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "fastecdsa";
-  version = "2.1.5";
+  version = "2.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d0772f7fe243e8a82d33e95c542ea6cc0ef7f3cfcced7440d6defa71a35addfa";
+    sha256 = "48d59fcd18d0892a6b76463d4c98caa217975414f6d853af7cfcbbb0284cb52d";
   };
 
   buildInputs = [ gmp ];
diff --git a/nixpkgs/pkgs/development/python-modules/fastparquet/default.nix b/nixpkgs/pkgs/development/python-modules/fastparquet/default.nix
index 155f3b6e8290..756d08726c11 100644
--- a/nixpkgs/pkgs/development/python-modules/fastparquet/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fastparquet/default.nix
@@ -14,13 +14,13 @@
 
 buildPythonPackage rec {
   pname = "fastparquet";
-  version = "0.6.3";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "dask";
     repo = pname;
     rev = version;
-    hash = "sha256-wSJ6PqW7c8DJCsGuPhXaVGM2s/1dZhLjG4C0JWPcjhY=";
+    hash = "sha256-08hanzRnt6WuMriNNtOd+ZHycr2XBeIRav+5sgvT7Do=";
   };
 
   nativeBuildInputs = [ pytest-runner ];
diff --git a/nixpkgs/pkgs/development/python-modules/feedgenerator/default.nix b/nixpkgs/pkgs/development/python-modules/feedgenerator/default.nix
index d5eb1306b398..c1e988ca769a 100644
--- a/nixpkgs/pkgs/development/python-modules/feedgenerator/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/feedgenerator/default.nix
@@ -1,23 +1,44 @@
-{ lib, buildPythonPackage, glibcLocales, fetchPypi, six, pytz }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, glibcLocales
+, pytestCheckHook
+, pythonOlder
+, pytz
+, six
+}:
 
 buildPythonPackage rec {
   pname = "feedgenerator";
-  version = "1.9.1";
+  version = "1.9.2";
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0m6fjnrx3sd0bm6pnbhxxx5ywlwqh8bx0lka386kj28mg3fmm2m2";
+    sha256 = "sha256-sG1pQej9aiyecXkQeehsvno3iMciRKzAbwWTtJzaN5s=";
   };
 
-  buildInputs = [ glibcLocales ];
+  buildInputs = [
+    glibcLocales
+  ];
 
-  LC_ALL="en_US.UTF-8";
+  LC_ALL = "en_US.UTF-8";
 
-  propagatedBuildInputs = [ six pytz ];
+  propagatedBuildInputs = [
+    pytz
+    six
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "feedgenerator" ];
 
   meta = with lib; {
-    description = "Standalone version of django.utils.feedgenerator, compatible with Py3k";
-    homepage = "https://github.com/dmdm/feedgenerator-py3k.git";
+    description = "Standalone version of Django's feedgenerator module";
+    homepage = "https://github.com/getpelican/feedgenerator";
+    license = licenses.bsd3;
     maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/flask-jwt-extended/default.nix b/nixpkgs/pkgs/development/python-modules/flask-jwt-extended/default.nix
index 7057bb587503..d9eae8ffa585 100644
--- a/nixpkgs/pkgs/development/python-modules/flask-jwt-extended/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask-jwt-extended/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "Flask-JWT-Extended";
-  version = "4.2.1";
+  version = "4.2.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "76461f2dbdf502261c69ddecd858eaf4164fbcfbf05aa456f3927fc2ab0315de";
+    sha256 = "22b8ffa7587d50aaf65f3009f1d55ef7287da8260eaf4655a5837e33479216c3";
   };
 
   propagatedBuildInputs = [ python-dateutil flask pyjwt werkzeug ];
diff --git a/nixpkgs/pkgs/development/python-modules/flexmock/default.nix b/nixpkgs/pkgs/development/python-modules/flexmock/default.nix
index 74c3418b54b0..a5382c04b006 100644
--- a/nixpkgs/pkgs/development/python-modules/flexmock/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flexmock/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "flexmock";
-  version = "0.10.4";
+  version = "0.10.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0b6qw3grhgx58kxlkj7mdma7xdvlj02zabvcf7w2qifnfjwwwcsh";
+    sha256 = "6820031c39b298646194a3f0b2b693322bb7f44b39dbaf1c54b0ae68b3d768fa";
   };
 
   checkInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/flower/default.nix b/nixpkgs/pkgs/development/python-modules/flower/default.nix
index 3662116bc2a6..0d4f834f1f0c 100644
--- a/nixpkgs/pkgs/development/python-modules/flower/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flower/default.nix
@@ -6,23 +6,23 @@
 , mock
 , pytz
 , tornado
-, prometheus_client
+, prometheus-client
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "flower";
-  version = "0.9.7";
+  version = "1.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cf27a254268bb06fd4972408d0518237fcd847f7da4b4cd8055e228150ace8f3";
+    sha256 = "1gcczr04g7wx99h7pxxx1p9n50sbyi0zxrzy7f7m0sf5apxw85rf";
   };
 
   postPatch = ''
     # rely on using example programs (flowers/examples/tasks.py) which
     # are not part of the distribution
     rm tests/load.py
-    substituteInPlace  requirements/default.txt --replace "prometheus_client==0.8.0" "prometheus_client>=0.8.0"
   '';
 
   propagatedBuildInputs = [
@@ -30,10 +30,13 @@ buildPythonPackage rec {
     pytz
     tornado
     humanize
-    prometheus_client
+    prometheus-client
   ];
 
-  checkInputs = [ mock ];
+  checkInputs = [
+    mock
+    pytestCheckHook
+  ];
 
   pythonImportsCheck = [ "flower" ];
 
@@ -41,7 +44,6 @@ buildPythonPackage rec {
     description = "Celery Flower";
     homepage = "https://github.com/mher/flower";
     license = licenses.bsdOriginal;
-    maintainers = [ maintainers.arnoldfarkas ];
-    broken = (celery.version >= "5.0.2"); # currently broken with celery>=5.0 by https://github.com/mher/flower/pull/1021
+    maintainers = with maintainers; [ arnoldfarkas ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/flowlogs_reader/default.nix b/nixpkgs/pkgs/development/python-modules/flowlogs_reader/default.nix
index f8468209bb45..885c688225ca 100644
--- a/nixpkgs/pkgs/development/python-modules/flowlogs_reader/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flowlogs_reader/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "flowlogs_reader";
-  version = "2.4.0";
+  version = "3.1.0";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e47637b40a068a0c814ba2087fb691b43aa12e6174ab06b6cdb7109bb94624e4";
+    sha256 = "d99636423abc83bb4042d63edd56852ede9e2949cadcc3339eda8f3367826dd4";
   };
 
   propagatedBuildInputs = [ botocore boto3 docutils ];
diff --git a/nixpkgs/pkgs/development/python-modules/flufl/bounce.nix b/nixpkgs/pkgs/development/python-modules/flufl/bounce.nix
index deb92ea9ce85..301b16035396 100644
--- a/nixpkgs/pkgs/development/python-modules/flufl/bounce.nix
+++ b/nixpkgs/pkgs/development/python-modules/flufl/bounce.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "flufl.bounce";
-  version = "3.0.1";
+  version = "3.0.2";
 
   buildInputs = [ nose2 ];
   propagatedBuildInputs = [ atpublic zope_interface ];
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e432fa1ca25ddbf23e2716b177d4d1c6ab6c078e357df56b0106b92bc10a8f06";
+    sha256 = "5014b23248fce72b13143c32da30073e6abc655b963e7739575608280c52c9a7";
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/flufl/i18n.nix b/nixpkgs/pkgs/development/python-modules/flufl/i18n.nix
index 8b0c98635507..b757585e40d7 100644
--- a/nixpkgs/pkgs/development/python-modules/flufl/i18n.nix
+++ b/nixpkgs/pkgs/development/python-modules/flufl/i18n.nix
@@ -2,7 +2,7 @@
 
 buildPythonPackage rec {
   pname = "flufl.i18n";
-  version = "3.1.4";
+  version = "3.1.5";
 
   propagatedBuildInputs = [ atpublic ];
 
@@ -12,6 +12,6 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e19036292a825a69f0e0a87566d1628830c69eecd3b0295d22f582039477a6bb";
+    sha256 = "b7016000a4d9d366866e776947b777dbe2b1532c990efeef58922b3e7bcab36e";
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/fontparts/default.nix b/nixpkgs/pkgs/development/python-modules/fontparts/default.nix
index 8ed3ef17adb5..158806f1be86 100644
--- a/nixpkgs/pkgs/development/python-modules/fontparts/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fontparts/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "fontParts";
-  version = "0.9.10";
+  version = "0.9.11";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0hwjnqbkcfkhigx581w4532vddsx5wiy73gx46kjisp0hlir9628";
+    sha256 = "558a5f681fcf7ca0bb5a1c68917b5d9b61c77d517833a01ea1667773d13f4012";
     extension = "zip";
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/forecast-solar/default.nix b/nixpkgs/pkgs/development/python-modules/forecast-solar/default.nix
index 91b9ce3da005..3f776c970659 100644
--- a/nixpkgs/pkgs/development/python-modules/forecast-solar/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/forecast-solar/default.nix
@@ -1,24 +1,28 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, pythonOlder
 , aiodns
 , aiohttp
+, backports-zoneinfo
 }:
 
 buildPythonPackage rec {
   pname = "forecast-solar";
-  version = "1.3.1";
+  version = "2.1.0";
 
   src = fetchFromGitHub {
     owner = "home-assistant-libs";
     repo = "forecast_solar";
     rev = version;
-    sha256 = "1kqzr1ypvdjw0zvac4spb6xdd2qpms9h8nr6vf0w9qx756ir0f95";
+    sha256 = "sha256-UrLy+j8YDWuS9pciEDKb/+UoCcw54XWiIUAEYC72/W0=";
   };
 
   propagatedBuildInputs = [
     aiodns
     aiohttp
+  ] ++ lib.optionals (pythonOlder "3.9") [
+    backports-zoneinfo
   ];
 
   # no unit tests implemented
diff --git a/nixpkgs/pkgs/development/python-modules/frilouz/default.nix b/nixpkgs/pkgs/development/python-modules/frilouz/default.nix
new file mode 100644
index 000000000000..320912c7dd17
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/frilouz/default.nix
@@ -0,0 +1,38 @@
+{ lib
+, astunparse
+, buildPythonPackage
+, fetchFromGitHub
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  pname = "frilouz";
+  version = "0.0.2";
+  disabled = !isPy3k;
+
+  src = fetchFromGitHub {
+    owner = "QuantStack";
+    repo = "frilouz";
+    rev = version;
+    sha256 = "0w2qzi4zb10r9iw64151ay01vf0yzyhh0bsjkx1apxp8fs15cdiw";
+  };
+
+  checkInputs = [ astunparse ];
+
+  preCheck = "cd test";
+
+  checkPhase = ''
+    runHook preCheck
+    python -m unittest
+    runHook postCheck
+  '';
+
+  pythonImportsCheck = [ "frilouz" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/QuantStack/frilouz";
+    description = "Python AST parser adapter with partial error recovery";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ cpcloud ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/fritzconnection/default.nix b/nixpkgs/pkgs/development/python-modules/fritzconnection/default.nix
index ad157fbda4c0..973965956086 100644
--- a/nixpkgs/pkgs/development/python-modules/fritzconnection/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fritzconnection/default.nix
@@ -2,14 +2,14 @@
 
 buildPythonPackage rec {
   pname = "fritzconnection";
-  version = "1.5.0";
+  version = "1.6.0";
 
   # no tests on PyPI
   src = fetchFromGitHub {
     owner = "kbr";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Iw7R+39rpoCTrRD74kBihF7AMcJWxy2xdPhKLznWdlo=";
+    sha256 = "16sbv6ql6jd13lim88z8vl5205xppza10340bmq5m5f3lvzb7mpc";
   };
 
   disabled = pythonOlder "3.6";
diff --git a/nixpkgs/pkgs/development/python-modules/fritzprofiles/default.nix b/nixpkgs/pkgs/development/python-modules/fritzprofiles/default.nix
index 17716e5fc950..b998f9949807 100644
--- a/nixpkgs/pkgs/development/python-modules/fritzprofiles/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fritzprofiles/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "fritzprofiles";
-  version = "0.6.1";
+  version = "0.7.3";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1bd4sa3i1ldkg6lnsvg004csgqklvi5xk71y971qyjvsbdbwgbn3";
+    sha256 = "sha256-VoKgLJWF9x8dW8A6CNwLtK+AmehtgZP41nUGQO819es=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/fs-s3fs/default.nix b/nixpkgs/pkgs/development/python-modules/fs-s3fs/default.nix
index 18434f530cbf..8c05c9e73f8d 100644
--- a/nixpkgs/pkgs/development/python-modules/fs-s3fs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fs-s3fs/default.nix
@@ -18,6 +18,6 @@ buildPythonPackage rec {
     homepage = "https://pypi.org/project/fs-s3fs/";
     license = licenses.mit;
     description = "Amazon S3 filesystem for PyFilesystem2";
-    maintainers = with maintainers; [ ma27 ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/fsspec/default.nix b/nixpkgs/pkgs/development/python-modules/fsspec/default.nix
index 8fb7771dbbec..7b9315c8f8fd 100644
--- a/nixpkgs/pkgs/development/python-modules/fsspec/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fsspec/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "fsspec";
-  version = "2021.06.0";
+  version = "2021.07.0";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "intake";
     repo = "filesystem_spec";
     rev = version;
-    sha256 = "sha256-2yTjaAuORlZMACKnXkZ6QLMV2o71sPMM2O/bDPaPHD0=";
+    hash = "sha256-I0oR7qxMCB2egyOx69hY0++H7fzCdK3ZyyzCvP3yXAs=";
   };
 
   propagatedBuildInputs = [
@@ -57,8 +57,8 @@ buildPythonPackage rec {
   pythonImportsCheck = [ "fsspec" ];
 
   meta = with lib; {
-    description = "A specification that Python filesystems should adhere to";
     homepage = "https://github.com/intake/filesystem_spec";
+    description = "A specification that Python filesystems should adhere to";
     license = licenses.bsd3;
     maintainers = [ maintainers.costrouc ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/ftfy/default.nix b/nixpkgs/pkgs/development/python-modules/ftfy/default.nix
index 403ca5247923..2d3ff1febf5e 100644
--- a/nixpkgs/pkgs/development/python-modules/ftfy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ftfy/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "ftfy";
-  version = "5.9";
+  version = "6.0.3";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8c4fb2863c0b82eae2ab3cf353d9ade268dfbde863d322f78d6a9fd5cefb31e9";
+    sha256 = "ba71121a9c8d7790d3e833c6c1021143f3e5c4118293ec3afb5d43ed9ca8e72b";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/furo/default.nix b/nixpkgs/pkgs/development/python-modules/furo/default.nix
new file mode 100644
index 000000000000..e51661237809
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/furo/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchPypi
+, sphinx
+, beautifulsoup4
+}:
+
+buildPythonPackage rec {
+  pname = "furo";
+  version = "2021.8.11b42";
+  format = "flit";
+  disable = pythonOlder "3.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-rhi2T57EfidQV1IHBkplCbzLlBCC5gVGmbkCf40s0qU=";
+  };
+
+  propagatedBuildInputs = [
+    sphinx
+    beautifulsoup4
+  ];
+
+  pythonImportsCheck = [ "furo" ];
+
+  meta = with lib; {
+    description = "A clean customizable documentation theme for Sphinx";
+    homepage = "https://github.com/pradyunsg/furo";
+    license = licenses.mit;
+    maintainers = with maintainers; [ Luflosi ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/fx2/default.nix b/nixpkgs/pkgs/development/python-modules/fx2/default.nix
index bcc7a4b5c988..e82679443562 100644
--- a/nixpkgs/pkgs/development/python-modules/fx2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fx2/default.nix
@@ -14,7 +14,7 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "whitequark";
     repo = "libfx2";
-    rev = version;
+    rev = "v${version}";
     sha256 = "sha256-Uk+K7ym92JX4fC3PyTNxd0UvBzoNZmtbscBYjSWChuk=";
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/gast/default.nix b/nixpkgs/pkgs/development/python-modules/gast/default.nix
index 7e8d9f8d4ac5..f374378d9865 100644
--- a/nixpkgs/pkgs/development/python-modules/gast/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gast/default.nix
@@ -1,16 +1,26 @@
-{ lib, fetchPypi, buildPythonPackage, astunparse }:
+{ lib
+, fetchFromGitHub
+, buildPythonPackage
+, astunparse
+}:
 
 buildPythonPackage rec {
   pname = "gast";
-  version =  "0.5.0";
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "8109cbe7aa0f7bf7e4348379da05b8137ea1f059f073332c3c1cedd57db8541f";
+  version = "0.5.1";
+
+  src = fetchFromGitHub {
+    owner = "serge-sans-paille";
+    repo = "gast";
+    rev = version;
+    sha256 = "1gph45frnj47lfr6idiyxrb3gk7vzc9rni9cijmcyz10dyx5kgwa";
   };
-  checkInputs = [ astunparse ] ;
+
+  checkInputs = [ astunparse ];
+
   meta = with lib; {
     description = "GAST provides a compatibility layer between the AST of various Python versions, as produced by ast.parse from the standard ast module.";
+    homepage = "https://github.com/serge-sans-paille/gast/";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ jyp ];
+    maintainers = with maintainers; [ jyp cpcloud ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/gcsfs/default.nix b/nixpkgs/pkgs/development/python-modules/gcsfs/default.nix
index 201813b2ec7e..db063747e8b1 100644
--- a/nixpkgs/pkgs/development/python-modules/gcsfs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gcsfs/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "gcsfs";
-  version = "2021.06.0";
+  version = "2021.07.0";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "dask";
     repo = pname;
     rev = version;
-    sha256 = "sha256-tJeCSGK24WC8E7NKupg6/Tv861idWg6WYir+ZXeU+e0=";
+    sha256 = "sha256-nC/uyhKKam3W+cOOTBULPeG6Hy2bExWYNOfDs1cPt1Y=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/gensim/default.nix b/nixpkgs/pkgs/development/python-modules/gensim/default.nix
index b29822a507cd..8972b356805a 100644
--- a/nixpkgs/pkgs/development/python-modules/gensim/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gensim/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "gensim";
-  version = "3.8.3";
+  version = "4.1.0";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0rx37vnjspjl45v7bj123xwsjfgbwv91v8zpqpli8lgpf42xnskq";
+    sha256 = "0b09983048a97c7915ab50500bc53eeec438d26366041598709ec156db3eef1f";
   };
 
   propagatedBuildInputs = [ smart-open numpy six scipy ];
diff --git a/nixpkgs/pkgs/development/python-modules/geoalchemy2/default.nix b/nixpkgs/pkgs/development/python-modules/geoalchemy2/default.nix
index 698cd67bbc3e..c4c0f41d8d17 100644
--- a/nixpkgs/pkgs/development/python-modules/geoalchemy2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/geoalchemy2/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "GeoAlchemy2";
-  version = "0.9.0";
+  version = "0.9.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c32023bc2fb8fbb136f00a0e9c2feba21f3e1040af0f619c888661f6ee72dd28";
+    sha256 = "56f969cf4ad6629ebcde73e807f7dac0a9375c79991b4f93efab191f37737a00";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/nixpkgs/pkgs/development/python-modules/geocachingapi/default.nix b/nixpkgs/pkgs/development/python-modules/geocachingapi/default.nix
new file mode 100644
index 000000000000..952457c5360d
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/geocachingapi/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, aiohttp
+, backoff
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools-scm
+, yarl
+}:
+
+buildPythonPackage rec {
+  pname = "geocachingapi";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "Sholofly";
+    repo = "geocachingapi-python";
+    rev = version;
+    sha256 = "1vdknsxd7rvw6g5lwxlxj97l9ic8cch8rdki3aczs6xzw5adxhcs";
+  };
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  propagatedBuildInputs = [
+    aiohttp
+    backoff
+    yarl
+  ];
+
+  # Tests require a token and network access
+  doCheck = false;
+
+  pythonImportsCheck = [ "geocachingapi" ];
+
+  meta = with lib; {
+    description = "Python API to control the Geocaching API";
+    homepage = "https://github.com/Sholofly/geocachingapi-python";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/geomet/default.nix b/nixpkgs/pkgs/development/python-modules/geomet/default.nix
index a4df450098df..bace792ee84a 100644
--- a/nixpkgs/pkgs/development/python-modules/geomet/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/geomet/default.nix
@@ -1,31 +1,22 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , click
 , six
 }:
 
 buildPythonPackage rec {
   pname = "geomet";
-  version = "0.2.1";
+  version = "0.3.0";
 
   # pypi tarball doesn't include tests
   src = fetchFromGitHub {
     owner = "geomet";
     repo = "geomet";
     rev = version;
-    sha256 = "0fdi26glsmrsyqk86rnsfcqw79svn2b0ikdv89pq98ihrpwhn85y";
+    sha256 = "1lb0df78gkivsb7hy3ix0xccvcznvskip11hr5sgq5y76qnfc8p0";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "python-3.8-support.patch";
-      url = "https://github.com/geomet/geomet/commit/dc4cb4a856d3ad814b57b4b7487d86d9e0f0fad4.patch";
-      sha256 = "1f1cdfqyp3z01jdjvax77219l3gc75glywqrisqpd2k0m0g7fwh3";
-    })
-  ];
-
   propagatedBuildInputs = [ click six ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/gios/default.nix b/nixpkgs/pkgs/development/python-modules/gios/default.nix
index 3c5de1295c26..00e67e40ee17 100644
--- a/nixpkgs/pkgs/development/python-modules/gios/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gios/default.nix
@@ -2,6 +2,7 @@
 , aiohttp
 , aioresponses
 , buildPythonPackage
+, dacite
 , fetchFromGitHub
 , pytest-asyncio
 , pytest-error-for-skips
@@ -11,18 +12,19 @@
 
 buildPythonPackage rec {
   pname = "gios";
-  version = "1.0.2";
+  version = "2.0.0";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "bieniu";
     repo = pname;
     rev = version;
-    sha256 = "sha256-7+np1lUbBFSTJNAD6OT5k89MM+kzEj90JlulXGm36k8=";
+    sha256 = "1xbbp08ssan0b9j6s3vzg8cn421avc0xvahx5fvrb8kcbzkg8ssl";
   };
 
   propagatedBuildInputs = [
     aiohttp
+    dacite
   ];
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/gipc/default.nix b/nixpkgs/pkgs/development/python-modules/gipc/default.nix
index 8dc87ffa8860..a059495d00fe 100644
--- a/nixpkgs/pkgs/development/python-modules/gipc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gipc/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "gipc";
-  version = "1.2.0";
+  version = "1.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6045b22dfbd8aec5542fe15d71684e46df0a4de852ccae6a02c9db3a24076e01";
+    sha256 = "a25ccfd2f8c94b24d2113fa50a0de5c7a44499ca9f2ab7c91c3bec0ed96ddeb1";
   };
 
   propagatedBuildInputs = [ gevent ];
diff --git a/nixpkgs/pkgs/development/python-modules/google-api-core/default.nix b/nixpkgs/pkgs/development/python-modules/google-api-core/default.nix
index 653786ace63f..e53346510dec 100644
--- a/nixpkgs/pkgs/development/python-modules/google-api-core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-api-core/default.nix
@@ -5,7 +5,7 @@
 , googleapis-common-protos
 , grpcio
 , protobuf
-, pytz
+, proto-plus
 , requests
 , mock
 , pytest
@@ -15,11 +15,11 @@
 
 buildPythonPackage rec {
   pname = "google-api-core";
-  version = "1.30.0";
+  version = "2.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0724d354d394b3d763bc10dfee05807813c5210f0bd9b8e2ddf6b6925603411c";
+    sha256 = "sha256-vZ6wcJ9OEN1v3bMv0HiKGQtDRCbCWL5uAO9A2hNtdo0=";
   };
 
   propagatedBuildInputs = [
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     google-auth
     grpcio
     protobuf
-    pytz
+    proto-plus
     requests
   ];
 
@@ -47,8 +47,7 @@ buildPythonPackage rec {
       helpers used by all Google API clients.
     '';
     homepage = "https://github.com/googleapis/python-api-core";
-    changelog =
-      "https://github.com/googleapis/python-api-core/blob/v${version}/CHANGELOG.md";
+    changelog = "https://github.com/googleapis/python-api-core/blob/v${version}/CHANGELOG.md";
     license = licenses.asl20;
     maintainers = with maintainers; [ SuperSandro2000 ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/google-api-python-client/default.nix b/nixpkgs/pkgs/development/python-modules/google-api-python-client/default.nix
index 2d0af0717b1d..2fd9247c8825 100644
--- a/nixpkgs/pkgs/development/python-modules/google-api-python-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-api-python-client/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "google-api-python-client";
-  version = "2.9.0";
+  version = "2.15.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2b5274f06799d80222fd3f20fd4ebcd19f57c009703bd4cf7b00492e7e05e15a";
+    sha256 = "sha256-g3VIkjKCP0TGARlqlgUF4D7FjJXdtkFcax0ddrRo+Lo=";
   };
 
   # No tests included in archive
diff --git a/nixpkgs/pkgs/development/python-modules/google-auth-oauthlib/default.nix b/nixpkgs/pkgs/development/python-modules/google-auth-oauthlib/default.nix
index 6e4c139d8dd0..940d04e5a413 100644
--- a/nixpkgs/pkgs/development/python-modules/google-auth-oauthlib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-auth-oauthlib/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "google-auth-oauthlib";
-  version = "0.4.4";
+  version = "0.4.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-CYMsbnUDL5OBjt8a/+R0YSHWQMYlpb75tclq9nbpju4=";
+    sha256 = "sha256-SrWObD3GzPES+SH8ztQOVCb7omZ2iYbqUCIoSIJ26ro=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/google-auth/default.nix b/nixpkgs/pkgs/development/python-modules/google-auth/default.nix
index 1a39296d629c..c10e3807f200 100644
--- a/nixpkgs/pkgs/development/python-modules/google-auth/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-auth/default.nix
@@ -14,24 +14,22 @@
 , pytest-localserver
 , responses
 , rsa
-, six
 , pyopenssl
 }:
 
 buildPythonPackage rec {
   pname = "google-auth";
-  version = "1.31.0";
+  version = "2.0.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "154f7889c5d679a6f626f36adb12afbd4dbb0a9a04ec575d989d6ba79c4fd65e";
+    sha256 = "sha256-6hrwULPgbrc+RHD3BNIwBzB7wOh8E+AV9rkEYPFAe9M=";
   };
 
   propagatedBuildInputs = [
     cachetools
     pyasn1-modules
     rsa
-    six
     pyopenssl
     pyu2f
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-access-context-manager/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-access-context-manager/default.nix
index 79dce752780a..f2e327670586 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-access-context-manager/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-access-context-manager/default.nix
@@ -1,14 +1,19 @@
-{ lib, buildPythonPackage, fetchPypi, pythonOlder, google-api-core }:
+{ lib, buildPythonPackage, fetchPypi, google-api-core }:
 
 buildPythonPackage rec {
   pname = "google-cloud-access-context-manager";
-  version = "0.1.3";
+  version = "0.1.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5453e64ca885c302f54c7a630de15e1e0b2c5ef21107ea69bd96fd694d723d5e";
+    sha256 = "02adf212c8d280298ffe03a0c91743618693ec394b42cbb85b4a29f8d9544afa";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "google-api-core[grpc] >= 1.26.0, < 2.0.0dev" "google-api-core[grpc] >= 1.26.0, < 2.0.1"
+  '';
+
   propagatedBuildInputs = [ google-api-core ];
 
   # No tests in repo
@@ -19,7 +24,7 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
-    description = "Protobufs for Google Access Context Manager.";
+    description = "Protobufs for Google Access Context Manager";
     homepage = "https://github.com/googleapis/python-access-context-manager";
     license = licenses.asl20;
     maintainers = with maintainers; [ austinbutler SuperSandro2000 ];
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-appengine-logging/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-appengine-logging/default.nix
index 556bc09ed6e5..27e79bdd060d 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-appengine-logging/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-appengine-logging/default.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , google-api-core
-, grpc_google_iam_v1
+, grpc-google-iam-v1
 , mock
 , proto-plus
 , pytest-asyncio
@@ -12,16 +12,16 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-appengine-logging";
-  version = "0.1.0";
+  version = "0.1.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0rkayy2qzsc70b0rdvzd2bxwp5f07rfqb95cyj57dkphq71mrrhw";
+    sha256 = "sha256-1E+3fXcGsIbTh7nXnBOcVT1UtY3cjulnu/MqU+e77lY=";
   };
 
   propagatedBuildInputs = [
     google-api-core
-    grpc_google_iam_v1
+    grpc-google-iam-v1
     proto-plus
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-asset/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-asset/default.nix
index 61e69c5b29da..4e1dbf8c465a 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-asset/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-asset/default.nix
@@ -1,7 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, grpc_google_iam_v1
+, grpc-google-iam-v1
 , google-api-core
 , google-cloud-access-context-manager
 , google-cloud-org-policy
@@ -17,11 +17,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-asset";
-  version = "2.2.0";
+  version = "3.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "05q0yaw6b553qmzylr45zin17h8mvi8yyyxhbv3cxa7f0ahviw8w";
+    sha256 = "bd1fe84efd2e45042d95c7e5713e0a0365ec8138df062c07fab761233202ab6f";
   };
 
   postPatch = ''
@@ -30,7 +30,7 @@ buildPythonPackage rec {
   '';
 
   propagatedBuildInputs = [
-    grpc_google_iam_v1
+    grpc-google-iam-v1
     google-api-core
     google-cloud-access-context-manager
     google-cloud-org-policy
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-audit-log/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-audit-log/default.nix
new file mode 100644
index 000000000000..7d101c32284e
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-audit-log/default.nix
@@ -0,0 +1,25 @@
+{ lib, buildPythonPackage, fetchPypi, googleapis-common-protos, protobuf }:
+
+buildPythonPackage rec {
+  pname = "google-cloud-audit-log";
+  version = "0.1.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "5bf5a53c641b13828154ab21fb209669be69d71cd462f5d6456bf87722fc0eeb";
+  };
+
+  propagatedBuildInputs = [ googleapis-common-protos protobuf ];
+
+  # tests are a bit wonky to setup and are not very deep either
+  doCheck = false;
+
+  pythonImportsCheck = [ "google.cloud.audit" ];
+
+  meta = with lib; {
+    description = "Google Cloud Audit Protos";
+    homepage = "https://github.com/googleapis/python-audit-log";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-automl/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-automl/default.nix
index 1d40dcac268e..f7a567357310 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-automl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-automl/default.nix
@@ -14,11 +14,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-automl";
-  version = "2.3.0";
+  version = "2.4.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "523633496b4fe1ca74a7b22cdaa206581804863813bf461e2f437d0fb7ad21b6";
+    sha256 = "sha256-c3zlpCejXB/RO8RnyFUpDknefpoMZWXWgaS7ACpqdAw=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix
index ec3be9e2ab00..f6a62c544cf4 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-bigquery-datatransfer";
-  version = "3.1.1";
+  version = "3.3.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9ac8cd06a60bfdc504f39fbcd086e5180c8684cffefe7745a9ff6a639c575629";
+    sha256 = "sha256-oCktt8wAYKewz6Ga4mIGVy0IWonXTqQvaO5MT4MkHMY=";
   };
 
   propagatedBuildInputs = [ google-api-core libcst proto-plus ];
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-bigquery-logging/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-bigquery-logging/default.nix
index 566c566bbe48..3d18612d101b 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-bigquery-logging/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-bigquery-logging/default.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , google-api-core
-, grpc_google_iam_v1
+, grpc-google-iam-v1
 , mock
 , proto-plus
 , pytest-asyncio
@@ -12,16 +12,16 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-bigquery-logging";
-  version = "0.1.0";
+  version = "0.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0s8vlw157z10yzzkrfyzfl31iad96wfl3ywk9g3gmmh0jfgy0gfj";
+    sha256 = "sha256-5ixj9MnJVVcU9NR4ZBe0TAp8ogJLAKrPlyGm5d/iQwA=";
   };
 
   propagatedBuildInputs = [
     google-api-core
-    grpc_google_iam_v1
+    grpc-google-iam-v1
     proto-plus
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-bigquery/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-bigquery/default.nix
index acb66394bd4a..4895661cb421 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-bigquery/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-bigquery/default.nix
@@ -4,6 +4,7 @@
 , pytestCheckHook
 , freezegun
 , google-cloud-core
+, google-cloud-datacatalog
 , google-cloud-storage
 , google-cloud-testutils
 , google-resumable-media
@@ -17,11 +18,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-bigquery";
-  version = "2.20.0";
+  version = "2.25.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ff728f9a4a64d6b4ec5beb7fd2f6ed550b49bfe2b8bb3755c00821716e0d1f91";
+    sha256 = "5ecf7c802cc6cf9cd79e79924616d8b7d35ba026f3313a4d90b8b4a28c72d93d";
   };
 
   propagatedBuildInputs = [
@@ -38,6 +39,7 @@ buildPythonPackage rec {
     mock
     pandas
     psutil
+    google-cloud-datacatalog
     google-cloud-storage
     pytestCheckHook
   ];
@@ -51,8 +53,20 @@ buildPythonPackage rec {
     # requires credentials
     "test_bigquery_magic"
     "TestBigQuery"
+    "test_query_retry_539"
+    "test_query_retry_539"
+    "test_list_rows_empty_table"
+    "test_list_rows_page_size"
+    "test_list_rows_scalars"
+    "test_list_rows_scalars_extreme"
     # Mocking of _ensure_bqstorage_client fails
     "test_to_arrow_ensure_bqstorage_client_wo_bqstorage"
+    # requires network
+    "test_dbapi_create_view"
+    "test_list_rows_nullable_scalars_dtypes"
+    "test_parameterized_types_round_trip"
+    "test_structs"
+    "test_table_snapshots"
   ];
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-bigtable/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-bigtable/default.nix
index f7eb9a51a8a3..5f61ac7f8830 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-bigtable/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-bigtable/default.nix
@@ -3,7 +3,7 @@
 , fetchPypi
 , google-api-core
 , google-cloud-core
-, grpc_google_iam_v1
+, grpc-google-iam-v1
 , libcst
 , mock
 , proto-plus
@@ -12,17 +12,17 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-bigtable";
-  version = "2.2.0";
+  version = "2.3.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-89fXmr3jHTtp8QOMFeueJwslHJ7Q6srQ/Kxsp0mLlKU=";
+    sha256 = "sha256-4rMnGnDQtuu55mzrYkeJjrU0ykQXd+pOYAw2yVcqJAQ=";
   };
 
   propagatedBuildInputs = [
     google-api-core
     google-cloud-core
-    grpc_google_iam_v1
+    grpc-google-iam-v1
     libcst
     proto-plus
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-container/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-container/default.nix
index 095e0a84479e..fccae98ac064 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-container/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-container/default.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , google-api-core
-, grpc_google_iam_v1
+, grpc-google-iam-v1
 , libcst
 , mock
 , proto-plus
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-container";
-  version = "2.4.1";
+  version = "2.7.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e7d93ca399dd6fb5fd0f99190248531c9c583d1a85e7cd2c9ee485495459ee78";
+    sha256 = "sha256-nMUMGFU383TC7cXkj6EHaEe4HHS5NzcLBIxp1xgWUzg=";
   };
 
-  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 ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-core/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-core/default.nix
index 3e9a3d1851b0..a51ed3840207 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-core/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-core";
-  version = "1.7.0";
+  version = "2.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2ab0cf260c11d0cc334573301970419abb6a1f3909c6cd136e4be996616372fe";
+    sha256 = "sha256-kO6ZZIzPnhGhZ4Gn/FjRPlj2YrQ5xzfUjCTvGGYsJwI=";
   };
 
   propagatedBuildInputs = [ google-api-core ];
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-datacatalog/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-datacatalog/default.nix
new file mode 100644
index 000000000000..64cf1b253643
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-datacatalog/default.nix
@@ -0,0 +1,24 @@
+{ lib, buildPythonPackage, fetchPypi, libcst, google-api-core, grpc-google-iam-v1, proto-plus, pytest-asyncio, pytestCheckHook, mock }:
+
+buildPythonPackage rec {
+  pname = "google-cloud-datacatalog";
+  version = "3.4.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "ad1bf9991bdee2a2fee44d19e54790a6eb900652841a5d7a32aa1c468a196f49";
+  };
+
+  propagatedBuildInputs = [ libcst google-api-core grpc-google-iam-v1 proto-plus ];
+
+  checkInputs = [ pytest-asyncio pytestCheckHook mock ];
+
+  pythonImportsCheck = [ "google.cloud.datacatalog" ];
+
+  meta = with lib; {
+    description = "Google Cloud Data Catalog API API client library";
+    homepage = "https://github.com/googleapis/python-datacatalog";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-dataproc/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-dataproc/default.nix
index e98c8be0b4f9..718c5998a34e 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-dataproc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-dataproc/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-dataproc";
-  version = "2.4.0";
+  version = "2.5.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6e5373febe420e2b2375d2252b272129f11a37ff1b88a7587322931063be8d38";
+    sha256 = "sha256-wRGIuut2mJ6RJh8fRUAT0JDmnUreQYXhgVgsfRxvyxo=";
   };
 
   propagatedBuildInputs = [ google-api-core libcst proto-plus ];
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-datastore/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-datastore/default.nix
index 5ffeac605e52..f1449bbccd0a 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-datastore/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-datastore/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-datastore";
-  version = "2.1.3";
+  version = "2.1.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e7a510759b9d55ff63c983e3c42cbf5c35f9b7310f4d611ebe3697da6576bcb4";
+    sha256 = "sha256-31PBHWnU0KbX8ymFh7+dP0uVbM6BWexdaumMVQbBO6o=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-dlp/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-dlp/default.nix
index ea5d20142d59..a433ccdc69c9 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-dlp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-dlp/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-dlp";
-  version = "3.1.1";
+  version = "3.2.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0863e90f9a9cae70af7962dd17d99cb6dde44bf3a029ce5990cb8226557a9e95";
+    sha256 = "sha256-ZxGWTsqCIvpTSN+aThVgjPuMJE7hHMVn4zsidpXk7xk=";
   };
 
   propagatedBuildInputs = [ google-api-core libcst proto-plus ];
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-dns/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-dns/default.nix
index 94576499b985..be463f6a9633 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-dns/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-dns/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-dns";
-  version = "0.32.3";
+  version = "0.33.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bbb1c855524bd3f0f2a3b3db883af0d3f618befb976aa694d7e507dd68fc7a71";
+    sha256 = "sha256-iPAJMzxefRjLA0tGUfjAs15ZJvcyBUJB1QCMfMBo96I=";
   };
 
   propagatedBuildInputs = [ google-api-core google-cloud-core ];
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-error-reporting/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-error-reporting/default.nix
index 8aae0c072a0f..28d2d538e075 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-error-reporting/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-error-reporting/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-error-reporting";
-  version = "1.1.2";
+  version = "1.2.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-NT/+2mtIaEMyXnmM1fWX4kEV9pb1+aNas2lNobUPR14=";
+    sha256 = "sha256-LKESEpQLvjmyo8VcZ1fxMcPCbUE+mxvmnexoZEKramc=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-firestore/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-firestore/default.nix
index 1c2dfe88a6eb..8c4b964b2b83 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-firestore/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-firestore/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-firestore";
-  version = "2.1.3";
+  version = "2.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "143a88ef2b90c98f16d2b0bc192631ca3e2b7c66a236d93ba9961de64e50870e";
+    sha256 = "sha256-gc68S+utdcO2OSCRAxyTCjnXBfUxWN/D7PfNg3cUzQ8=";
   };
 
   propagatedBuildInputs = [
@@ -43,6 +43,8 @@ buildPythonPackage rec {
     # Tests are broken
     "tests/system/test_system.py"
     "tests/system/test_system_async.py"
+    # requires credentials
+    "tests/unit/v1/test_bulk_writer.py"
   ];
 
   disabledTests = [
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-iam-logging/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-iam-logging/default.nix
index 55d36ac2a7c7..9e5dd9fa214a 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-iam-logging/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-iam-logging/default.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , google-api-core
-, grpc_google_iam_v1
+, grpc-google-iam-v1
 , mock
 , proto-plus
 , pytest-asyncio
@@ -12,16 +12,16 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-iam-logging";
-  version = "0.1.0";
+  version = "0.1.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "19a8s634w2m1b16zq8f185cpaw7k6d0c7c61g1vzm19jl213rhiw";
+    sha256 = "sha256-yX58Pq2+YB3ylN92RUIGlQKnvKYD7sabCKtZsDNV5sc=";
   };
 
   propagatedBuildInputs = [
     google-api-core
-    grpc_google_iam_v1
+    grpc-google-iam-v1
     proto-plus
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-iam/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-iam/default.nix
index 873e8169bf9e..0daff0ac2cd3 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-iam/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-iam/default.nix
@@ -12,11 +12,12 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-iam";
-  version = "2.2.0";
+  version = "2.3.1";
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1f64b78c854c0629f20903011d6def28c981ce5682a5221031f6ae1caa0a1fea";
+    sha256 = "166pcra1x8lisgf7cla4vq97qpc1hrpwnvlj1sza1igny2m59w5i";
   };
 
   propagatedBuildInputs = [ google-api-core libcst proto-plus ];
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-iot/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-iot/default.nix
index 5fc87b31c306..f3a56429273b 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-iot/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-iot/default.nix
@@ -1,7 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, grpc_google_iam_v1
+, grpc-google-iam-v1
 , google-api-core
 , libcst
 , proto-plus
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-iot";
-  version = "2.1.0";
+  version = "2.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f4d7c55636e8cb57a4dde41d933cd8663b1369ab3542b287957959ee59828559";
+    sha256 = "sha256-vMzq4ffA7877zRtdZ+VpFdEHU0BZhDdhgxuk5154hMU=";
   };
 
-  propagatedBuildInputs = [ grpc_google_iam_v1 google-api-core libcst proto-plus ];
+  propagatedBuildInputs = [ grpc-google-iam-v1 google-api-core libcst proto-plus ];
 
   checkInputs = [ mock pytestCheckHook pytest-asyncio ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-kms/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-kms/default.nix
index 1caf22bdd27a..9992dc7bc76f 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-kms/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-kms/default.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , pytestCheckHook
-, grpc_google_iam_v1
+, grpc-google-iam-v1
 , google-api-core
 , libcst
 , mock
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-kms";
-  version = "2.3.0";
+  version = "2.5.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "39c6aa1633e45dc0364397b24c83718bd63f833db41d8c93b76019c16208d0f1";
+    sha256 = "sha256-OuvpnIJeG+O+2Teopq8FYJOHIyi1V3RdlmJEq/fFSxM=";
   };
 
-  propagatedBuildInputs = [ grpc_google_iam_v1 google-api-core libcst proto-plus ];
+  propagatedBuildInputs = [ grpc-google-iam-v1 google-api-core libcst proto-plus ];
 
   checkInputs = [ mock pytestCheckHook pytest-asyncio ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-language/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-language/default.nix
index b6414355a19d..140f5be3cf77 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-language/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-language/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-language";
-  version = "2.1.0";
+  version = "2.2.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "63ca2d772e16e4440858848e8c3298859b931b1652f663683fb5d7413b7c9a1b";
+    sha256 = "sha256-X8lh+90HyyktxgJiRaiJF9ExKHmgiVcQiYDotg3AqaQ=";
   };
 
   propagatedBuildInputs = [ google-api-core libcst proto-plus ];
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-logging/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-logging/default.nix
index 6e11f78347a2..f9017eb33fa4 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-logging/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-logging/default.nix
@@ -4,6 +4,8 @@
 , django
 , flask
 , google-api-core
+, google-cloud-appengine-logging
+, google-cloud-audit-log
 , google-cloud-core
 , google-cloud-testutils
 , mock
@@ -15,14 +17,20 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-logging";
-  version = "2.5.0";
+  version = "2.6.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ab9d6ee1156cabe8c2483ca5a67bdf3a8582c596dd4e498a59781b6670b085f0";
+    sha256 = "sha256-SZ7tXxPKuAXIeAsNFKDZMan/HWXvzN2eaHctQOfa1MU=";
   };
 
-  propagatedBuildInputs = [ google-api-core google-cloud-core proto-plus ];
+  propagatedBuildInputs = [
+    google-api-core
+    google-cloud-appengine-logging
+    google-cloud-audit-log
+    google-cloud-core
+    proto-plus
+  ];
 
   checkInputs = [
     django
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-monitoring/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-monitoring/default.nix
index 2638a4bda8d5..c2a08fd7bee5 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-monitoring/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-monitoring/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-monitoring";
-  version = "2.3.0";
+  version = "2.4.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "fcbf644622709277d47b0dd8884efd1d62703bffda3c1030e06404709690c06c";
+    sha256 = "sha256-PQjTAqSzjCBPH58nZHAc6Oa12NSDVvt2E0ZHewTFZfY=";
   };
 
   propagatedBuildInputs = [ libcst google-api-core proto-plus ];
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-org-policy/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-org-policy/default.nix
index dbeb2c3004de..b2e57af84d26 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-org-policy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-org-policy/default.nix
@@ -1,19 +1,21 @@
-{ lib, buildPythonPackage, fetchPypi, pythonOlder, google-api-core, proto-plus }:
+{ lib, buildPythonPackage, fetchPypi, pytestCheckHook, pythonOlder, google-api-core, mock, proto-plus, protobuf, pytest-asyncio }:
 
 buildPythonPackage rec {
   pname = "google-cloud-org-policy";
-  version = "0.3.0";
+  version = "1.0.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "eea55e99ceec896ffc98ee3051710a241b7d335f246a0472bbffbb0cb2def453";
+    sha256 = "12qwiqb7xrnq42z777j5nxdgka3vv411l9cngka6cr6mx4s83c9l";
   };
 
   propagatedBuildInputs = [ google-api-core proto-plus ];
 
-  # No tests in repo
-  doCheck = false;
-
+  # prevent google directory from shadowing google imports
+  preCheck = ''
+    rm -r google
+  '';
+  checkInputs = [ mock protobuf pytest-asyncio pytestCheckHook ];
   pythonImportsCheck = [ "google.cloud.orgpolicy" ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-os-config/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-os-config/default.nix
index 766ed903767f..d86a40d57b6a 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-os-config/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-os-config/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-os-config";
-  version = "1.2.0";
+  version = "1.3.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2b828513c1cea481d03d0218516e5c5d8b53756db3637f02cd69ae3c171832dc";
+    sha256 = "sha256-sC80RGY4lDVebpoz2hDGH5WfyrAjaOKTSDp/BhGmZS0=";
   };
 
   propagatedBuildInputs = [ google-api-core libcst proto-plus ];
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-pubsub/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-pubsub/default.nix
index f0615bd5a21b..6b3f6079124b 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-pubsub/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-pubsub/default.nix
@@ -4,7 +4,7 @@
 , pytestCheckHook
 , google-api-core
 , google-cloud-testutils
-, grpc_google_iam_v1
+, grpc-google-iam-v1
 , libcst
 , mock
 , proto-plus
@@ -13,15 +13,15 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-pubsub";
-  version = "2.5.0";
+  version = "2.7.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8706557b71532c76aec48409dcac189caac47cf2decb8850ae75694bf70326b2";
+    sha256 = "d52d386617c110c35043f6ff37ccb50d9f37c75b1e5586409ed64a3e8ae61038";
   };
 
   propagatedBuildInputs = [
-    grpc_google_iam_v1
+    grpc-google-iam-v1
     google-api-core
     libcst
     proto-plus
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-redis/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-redis/default.nix
index fe4ea4249c02..e149f031b9d2 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-redis/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-redis/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-redis";
-  version = "2.1.1";
+  version = "2.2.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d97fde9361026ab67f53557a8fe9f3db26121959ab586fe453f42a401d40fb4c";
+    sha256 = "sha256-lxjxkBK/7up+t2dF2hZz3QXeXLwo9L0Z78mH6aC4Icc=";
   };
 
   propagatedBuildInputs = [ google-api-core libcst proto-plus ];
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-resource-manager/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-resource-manager/default.nix
index 8a265182fba4..a18872d562ba 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-resource-manager/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-resource-manager/default.nix
@@ -4,19 +4,21 @@
 , pytestCheckHook
 , google-cloud-core
 , google-api-core
+, grpc-google-iam-v1
+, proto-plus
 , mock
 }:
 
 buildPythonPackage rec {
   pname = "google-cloud-resource-manager";
-  version = "0.30.3";
+  version = "1.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1la643vkf6fm2gapz57cm92xzvmhzgpzv3bb6112yz1cizrvnxrm";
+    sha256 = "a88f21b7a110dc9b5fd8e5bc9c07330fafc9ef150921505250aec0f0b25cf5e8";
   };
 
-  propagatedBuildInputs = [ google-api-core google-cloud-core ];
+  propagatedBuildInputs = [ google-api-core google-cloud-core grpc-google-iam-v1 proto-plus ];
 
   checkInputs = [ mock pytestCheckHook ];
 
@@ -25,7 +27,10 @@ buildPythonPackage rec {
     rm -r google
   '';
 
-  pythonImportsCheck = [ "google.cloud.resource_manager" ];
+  pythonImportsCheck = [
+    "google.cloud.resourcemanager"
+    "google.cloud.resourcemanager_v3"
+  ];
 
   meta = with lib; {
     description = "Google Cloud Resource Manager API client library";
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-runtimeconfig/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-runtimeconfig/default.nix
index 6e741a4e2974..7784b910e188 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-runtimeconfig/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-runtimeconfig/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-runtimeconfig";
-  version = "0.32.2";
+  version = "0.32.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5285aef98fdb9a691e7c54789e7c493c51674b6e77fe6c967172ae8eadbba026";
+    sha256 = "ee239455a5393b51018071678ec0f4cc58ddf0904390e9f317f704f158ab16ab";
   };
 
   propagatedBuildInputs = [ google-api-core google-cloud-core ];
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-secret-manager/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-secret-manager/default.nix
index cf1ac538f159..30174afcbb05 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-secret-manager/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-secret-manager/default.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , google-api-core
-, grpc_google_iam_v1
+, grpc-google-iam-v1
 , libcst
 , mock
 , proto-plus
@@ -12,16 +12,16 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-secret-manager";
-  version = "2.5.0";
+  version = "2.7.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e99eb9f77373b97bfc1becb7d23fae5574a33fd9e44b44a3e700abcbfbc9f94d";
+    sha256 = "sha256-gfNoCfh2ssHgYcQ1kfQedcfhpqsu3x50hdYrm11SKGo=";
   };
 
   propagatedBuildInputs = [
     google-api-core
-    grpc_google_iam_v1
+    grpc-google-iam-v1
     libcst
     proto-plus
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-securitycenter/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-securitycenter/default.nix
index cc83868079f2..79fe9221d187 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-securitycenter/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-securitycenter/default.nix
@@ -1,7 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, grpc_google_iam_v1
+, grpc-google-iam-v1
 , google-api-core
 , libcst
 , mock
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-securitycenter";
-  version = "1.3.1";
+  version = "1.5.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "872507adad97f452e0998730cd1993c0433c05a0757c268f5c02fbfabe7720d4";
+    sha256 = "sha256-DrdzC7Oe/8cq41OLcN51Qm208L0zPa9cxscHqmYji04=";
   };
 
-  propagatedBuildInputs = [ grpc_google_iam_v1 google-api-core libcst proto-plus ];
+  propagatedBuildInputs = [ grpc-google-iam-v1 google-api-core libcst proto-plus ];
 
   checkInputs = [ mock pytestCheckHook pytest-asyncio ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-spanner/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-spanner/default.nix
index 17fe6be97176..c6e1021f3430 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-spanner/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-spanner/default.nix
@@ -1,7 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, grpc_google_iam_v1
+, grpc-google-iam-v1
 , google-cloud-core
 , google-cloud-testutils
 , libcst
@@ -14,16 +14,16 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-spanner";
-  version = "3.5.0";
+  version = "3.8.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "19656140f180aef84e023c3a8fd534ac964247a52199317ea33abc701d5a8c5a";
+    sha256 = "sha256-K8K0JjKHWojSVFnUr3GhJP4gflYTXH6V7Mywu4hTvRQ=";
   };
 
   propagatedBuildInputs = [
     google-cloud-core
-    grpc_google_iam_v1
+    grpc-google-iam-v1
     libcst
     proto-plus
     sqlparse
@@ -43,8 +43,13 @@ buildPythonPackage rec {
 
   disabledTestPaths = [
     # Requires credentials
-    "tests/system/test_system.py"
-    "tests/system/test_system_dbapi.py"
+    "tests/system/test_backup_api.py"
+    "tests/system/test_database_api.py"
+    "tests/system/test_dbapi.py"
+    "tests/system/test_instance_api.py"
+    "tests/system/test_session_api.py"
+    "tests/system/test_streaming_chunking.py"
+    "tests/system/test_table_api.py"
     "tests/unit/spanner_dbapi/test_connect.py"
     "tests/unit/spanner_dbapi/test_connection.py"
     "tests/unit/spanner_dbapi/test_cursor.py"
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-speech/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-speech/default.nix
index 8a72a3e006cf..80f53182843b 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-speech/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-speech/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-speech";
-  version = "2.4.0";
+  version = "2.7.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "991ee0601bc956110e873aee1a74441d66227b10cd581195575435884384f38b";
+    sha256 = "3c2d533a524d35c036d0387e8b2e0c7ce6aa7cdaa80392ec7fe68bce6cd2f152";
   };
 
   propagatedBuildInputs = [ libcst google-api-core proto-plus ];
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-storage/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-storage/default.nix
index 037e96c0e735..dcf4028aeef7 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-storage/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-storage/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-storage";
-  version = "1.38.0";
+  version = "1.42.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "162011d66f64b8dc5d7936609a5daf0066cc521231546aea02c126a5559446c4";
+    sha256 = "c1dd3d09198edcf24ec6803dd4545e867d82b998f06a68ead3b6857b1840bdae";
   };
 
   propagatedBuildInputs = [
@@ -42,12 +42,18 @@ buildPythonPackage rec {
     "post"
     "test_build_api_url"
     "test_ctor_mtls"
+    "test_hmac_key_crud"
+    "test_list_buckets"
     "test_open"
+    "test_anonymous_client_access_to_public_bucket"
   ];
 
-  pytestFlagsArray = [
-    "--ignore=tests/unit/test_bucket.py"
-    "--ignore=tests/system/test_system.py"
+  disabledTestPaths = [
+    "tests/unit/test_bucket.py"
+    "tests/system/test_blob.py"
+    "tests/system/test_bucket.py"
+    "tests/system/test_fileio.py"
+    "tests/system/test_kms_integration.py"
   ];
 
   # prevent google directory from shadowing google imports
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-tasks/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-tasks/default.nix
index 420aacb1e4b9..db74ce39812a 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-tasks/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-tasks/default.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , google-api-core
-, grpc_google_iam_v1
+, grpc-google-iam-v1
 , libcst
 , mock
 , proto-plus
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-tasks";
-  version = "2.3.0";
+  version = "2.5.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7cc24d389073c40af41e2fc091417dec6e58af07db9b1295853fc3d545c80cfe";
+    sha256 = "sha256-4QOKG7Forf3x5l1XQbbX4A8upIxe+eCiwhPily26du4=";
   };
 
-  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 ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-testutils/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-testutils/default.nix
index cf8bb20e61e9..05a66406ce02 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-testutils/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-testutils/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-testutils";
-  version = "0.2.0";
+  version = "1.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a23be7cc23bccb1ae6debb74a47dc5b51858b6322fcf034ca92fe7a4acb896f3";
+    sha256 = "sha256-2RaRhRvgnmr/trjAE+RBlVO5AZ54YEFcoRwcPCKCTKs=";
   };
 
   propagatedBuildInputs = [ click google-auth six ];
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-texttospeech/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-texttospeech/default.nix
index 44055e84ce68..b2af89fff50b 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-texttospeech/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-texttospeech/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-texttospeech";
-  version = "2.4.0";
+  version = "2.5.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c50cc21b5df88b696680d8aac3ab6c86820c0e4d071d6a5dcd9b634a456cf59f";
+    sha256 = "sha256-LcX7qSGMBMU72ZTNBLKaDd+M/2En+mc7/IZsZg2dF9I=";
   };
 
   propagatedBuildInputs = [ libcst google-api-core proto-plus ];
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-trace/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-trace/default.nix
index 3e96e06c8a0c..4201506871e1 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-trace/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-trace/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-trace";
-  version = "1.2.0";
+  version = "1.3.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3683477a5d747451332a38d6c8cea652b5991db1f6e4c39907fa3679708ac218";
+    sha256 = "sha256-N2Y/DZXyxMSw+S/s58iJvrK/p2FM/B5O467Pctr+tdQ=";
   };
 
   propagatedBuildInputs = [ google-api-core google-cloud-core proto-plus ];
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-translate/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-translate/default.nix
index 3469043cdad4..f750e7bd54ef 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-translate/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-translate/default.nix
@@ -14,11 +14,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-translate";
-  version = "3.2.0";
+  version = "3.3.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8cd957f4b29a8c7a983e0a427c2712533c41bb7007b76a8cc88d6c65075c679a";
+    sha256 = "sha256-XkHNIu7KWPUpgBceIBqzWgYPCay+Ud1/nM0KbeRnHk0=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-videointelligence/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-videointelligence/default.nix
index 4240a4aa2e0f..ed719f0de1ab 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-videointelligence/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-videointelligence/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-videointelligence";
-  version = "2.2.0";
+  version = "2.3.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "08106ddeec90a27f4bc706f7267ec1c52f2bff745bafd4710bc6898460c8e9a6";
+    sha256 = "sha256-+2HwsRZM/h2eVmX6uVEb1s9etDggoGuQg3qj7hXj/AQ=";
   };
 
   propagatedBuildInputs = [ google-api-core proto-plus ];
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-vision/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-vision/default.nix
index 96360d8dc4e4..fe5860dc2b01 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-vision/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-vision/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-vision";
-  version = "2.3.2";
+  version = "2.4.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "65ed06725377670fc1b21d474237922f29674d0f99a472b0c84683aa02af70a4";
+    sha256 = "sha256-BZiBSH2nZ2tnHi6K1+Ii5i/ZrGJyyH1+6hurmqVfYcM=";
   };
 
   propagatedBuildInputs = [ libcst google-api-core proto-plus];
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-websecurityscanner/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-websecurityscanner/default.nix
index a5e462b64ad7..cbe06a72269f 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-websecurityscanner/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-websecurityscanner/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-websecurityscanner";
-  version = "1.3.0";
+  version = "1.4.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "632ac3c50eee704ed2a6e87d5a09379589841cf53459813c76f8bea01e77c49d";
+    sha256 = "sha256-oq7AMZ1so8IR7nn8fIhUr4oOJEJp1FQPxiJIh+1bMLA=";
   };
 
   propagatedBuildInputs = [ google-api-core libcst proto-plus ];
diff --git a/nixpkgs/pkgs/development/python-modules/google-re2/default.nix b/nixpkgs/pkgs/development/python-modules/google-re2/default.nix
index a2dbf512b895..0e36328bd7a4 100644
--- a/nixpkgs/pkgs/development/python-modules/google-re2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-re2/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "google-re2";
-  version = "0.1.20210601";
+  version = "0.2.20210901";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1f1ql95f97ss8i0rn1c37kgi0qrf1nq9b3q8xbq9x3gwg7xgzi71";
+    sha256 = "676fa9ee54e3fb70f290526fc0f4d78d1e5a4add701b5547494eaf7c68c72247";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/google-resumable-media/default.nix b/nixpkgs/pkgs/development/python-modules/google-resumable-media/default.nix
index 77346282cd7d..c76cd53a8296 100644
--- a/nixpkgs/pkgs/development/python-modules/google-resumable-media/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-resumable-media/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "google-resumable-media";
-  version = "1.3.1";
+  version = "2.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1a1eb743d13f782d1405437c266b2c815ef13c2b141ba40835c74a3317539d01";
+    sha256 = "sha256-CUwDgXNGSayTkIPqODO9I5t/upBNJGNC0SaJhAKfIWc=";
   };
 
   propagatedBuildInputs = [ google-auth google-crc32c requests ];
diff --git a/nixpkgs/pkgs/development/python-modules/googlemaps/default.nix b/nixpkgs/pkgs/development/python-modules/googlemaps/default.nix
index 938a472eddf1..58b50f5f84f8 100644
--- a/nixpkgs/pkgs/development/python-modules/googlemaps/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/googlemaps/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "googlemaps";
-  version = "4.4.5";
+  version = "4.5.3";
   disabled = pythonOlder "3.5";
 
   src = fetchFromGitHub {
     owner = "googlemaps";
     repo = "google-maps-services-python";
     rev = "v${version}";
-    sha256 = "sha256-Rdfp98UqTMbqcOpkzh0Dz8fNSSbuvCnCztCkxiBgaAA=";
+    sha256 = "1yfsfspvjngrb1lwaq04ahm94j9y2dwzdf4dsg3yl1c8w0vgf9yw";
   };
 
   propagatedBuildInputs = [ requests ];
diff --git a/nixpkgs/pkgs/development/python-modules/gpsoauth/default.nix b/nixpkgs/pkgs/development/python-modules/gpsoauth/default.nix
index b821c7e1f583..20d2e51e922e 100644
--- a/nixpkgs/pkgs/development/python-modules/gpsoauth/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gpsoauth/default.nix
@@ -16,12 +16,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.4.3";
+  version = "1.0.0";
   pname = "gpsoauth";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b38f654450ec55f130c9414d457355d78030a2c29c5ad8f20b28304a9fc8fad7";
+    sha256 = "1c4d6a980625b8ab6f6f1cf3e30d9b10a6c61ababb2b60bfe4870649e9c82be0";
   };
 
   propagatedBuildInputs = [ cffi cryptography enum34 idna ipaddress ndg-httpsclient pyopenssl pyasn1 pycparser pycryptodomex requests six ];
diff --git a/nixpkgs/pkgs/development/python-modules/gradient-utils/default.nix b/nixpkgs/pkgs/development/python-modules/gradient-utils/default.nix
index ee8d1bde6222..171f87b5ddb2 100644
--- a/nixpkgs/pkgs/development/python-modules/gradient-utils/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gradient-utils/default.nix
@@ -5,7 +5,7 @@
 , mock
 , numpy
 , poetry-core
-, prometheus_client
+, prometheus-client
 , pytestCheckHook
 , requests
 }:
@@ -26,14 +26,15 @@ buildPythonPackage rec {
     substituteInPlace pyproject.toml \
       --replace 'numpy = "1.18.5"' 'numpy = "^1.18.5"' \
       --replace 'hyperopt = "0.1.2"' 'hyperopt = ">=0.1.2"' \
-      --replace 'wheel = "^0.35.1"' 'wheel = "*"'
+      --replace 'wheel = "^0.35.1"' 'wheel = "*"' \
+      --replace 'prometheus-client = ">=0.8,<0.10"' 'prometheus-client = "*"'
   '';
 
   nativeBuildInputs = [ poetry-core ];
 
   propagatedBuildInputs = [
     hyperopt
-    prometheus_client
+    prometheus-client
     numpy
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/graphqlclient/default.nix b/nixpkgs/pkgs/development/python-modules/graphqlclient/default.nix
new file mode 100644
index 000000000000..2f09897d4f57
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/graphqlclient/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, six
+}:
+
+buildPythonPackage rec {
+  pname = "graphqlclient";
+  version = "0.2.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0b6r3ng78qsn7c9zksx4rgdkmp5296d40kbmjn8q614cz0ymyc5k";
+  };
+
+  propagatedBuildInputs = [
+    six
+  ];
+
+  # Project has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "graphqlclient" ];
+
+  meta = with lib; {
+    description = "Simple GraphQL client for Python";
+    homepage = "https://github.com/prisma-labs/python-graphql-client";
+    license = licenses.mit;
+    maintainers = with maintainers; [ lde ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/graphviz/default.nix b/nixpkgs/pkgs/development/python-modules/graphviz/default.nix
index 0a2413e9d761..d0483864ff85 100644
--- a/nixpkgs/pkgs/development/python-modules/graphviz/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/graphviz/default.nix
@@ -1,5 +1,6 @@
 { lib
 , buildPythonPackage
+, pythonOlder
 , fetchFromGitHub
 , substituteAll
 , graphviz
@@ -12,14 +13,16 @@
 
 buildPythonPackage rec {
   pname = "graphviz";
-  version = "0.16";
+  version = "0.17";
+
+  disabled = pythonOlder "3.6";
 
   # patch does not apply to PyPI tarball due to different line endings
   src = fetchFromGitHub {
     owner = "xflr6";
     repo = "graphviz";
     rev = version;
-    sha256 = "147vi60mi57z623lhllwwzczzicv2iwj1yrmllj5xx5788i73j6g";
+    sha256 = "sha256-K6z2C7hQH2A9bqgRR4MRqxVAH/k2NQBEelb2/6KDUr0=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/graphviz/hardcode-graphviz-path.patch b/nixpkgs/pkgs/development/python-modules/graphviz/hardcode-graphviz-path.patch
index fa2f634bbc29..ba25d54e3703 100644
--- a/nixpkgs/pkgs/development/python-modules/graphviz/hardcode-graphviz-path.patch
+++ b/nixpkgs/pkgs/development/python-modules/graphviz/hardcode-graphviz-path.patch
@@ -1,9 +1,9 @@
 diff --git a/graphviz/backend.py b/graphviz/backend.py
-index d2c4b97..f7175cd 100644
+index b66e616..3da4ef0 100644
 --- a/graphviz/backend.py
 +++ b/graphviz/backend.py
-@@ -122,7 +122,7 @@ def command(engine, format_, filepath=None, renderer=None, formatter=None):
-         raise ValueError('unknown formatter: %r' % formatter)
+@@ -124,7 +124,7 @@ def command(engine: str, format_: str, filepath=None,
+         raise ValueError(f'unknown formatter: {formatter!r}')
  
      output_format = [f for f in (format_, renderer, formatter) if f is not None]
 -    cmd = ['dot', '-K%s' % engine, '-T%s' % ':'.join(output_format)]
@@ -11,7 +11,7 @@ index d2c4b97..f7175cd 100644
  
      if filepath is None:
          rendered = None
-@@ -275,7 +275,7 @@ def unflatten(source,
+@@ -297,7 +297,7 @@ def unflatten(source: str,
      if fanout and stagger is None:
          raise RequiredArgumentError('fanout given without stagger')
  
@@ -20,8 +20,8 @@ index d2c4b97..f7175cd 100644
      if stagger is not None:
          cmd += ['-l', str(stagger)]
      if fanout:
-@@ -304,7 +304,7 @@ def version():
-         Graphviz Release version entry format
+@@ -332,7 +332,7 @@ def version() -> typing.Tuple[int, ...]:
+         Graphviz Release version entry format:
          https://gitlab.com/graphviz/graphviz/-/blob/f94e91ba819cef51a4b9dcb2d76153684d06a913/gen_version.py#L17-20
      """
 -    cmd = ['dot', '-V']
@@ -30,19 +30,19 @@ index d2c4b97..f7175cd 100644
                   stdout=subprocess.PIPE,
                   stderr=subprocess.STDOUT)
 diff --git a/tests/test_backend.py b/tests/test_backend.py
-index d10ef1a..e4aba58 100644
+index e0a0e1c..681f178 100644
 --- a/tests/test_backend.py
 +++ b/tests/test_backend.py
-@@ -52,7 +52,7 @@ def test_run_encoding_mocked(mocker, Popen, input=u'sp\xe4m', encoding='utf-8'):
+@@ -54,7 +54,7 @@ def test_run_encoding_mocked(mocker, Popen, input='sp\xe4m', encoding='utf-8'):
          m.decode.assert_called_once_with(encoding)
  
  
--@pytest.exe
+-@pytest.mark.exe
 +@pytest.mark.skip(reason='empty $PATH has no effect')
  @pytest.mark.usefixtures('empty_path')
  @pytest.mark.parametrize('func, args', [
      (render, ['dot', 'pdf', 'nonfilepath']),
-@@ -146,7 +146,7 @@ def test_render_mocked(capsys, mocker, Popen, quiet):  # noqa: N803
+@@ -148,7 +148,7 @@ def test_render_mocked(capsys, mocker, Popen, quiet):  # noqa: N803
  
      assert render('dot', 'pdf', 'nonfilepath', quiet=quiet) == 'nonfilepath.pdf'
  
@@ -51,8 +51,8 @@ index d10ef1a..e4aba58 100644
                                    stdout=subprocess.PIPE,
                                    stderr=subprocess.PIPE,
                                    cwd=None, startupinfo=mocker.ANY)
-@@ -208,7 +208,7 @@ def test_pipe_pipe_invalid_data_mocked(mocker, py2, Popen, quiet):  # noqa: N803
-     assert e.value.stdout is mocker.sentinel.out
+@@ -211,7 +211,7 @@ def test_pipe_pipe_invalid_data_mocked(mocker, Popen, quiet):  # noqa: N803
+     assert e.value.stdout is out
      e.value.stdout = mocker.sentinel.new_stdout
      assert e.value.stdout is mocker.sentinel.new_stdout
 -    Popen.assert_called_once_with(['dot', '-Kdot', '-Tpng'],
@@ -62,7 +62,7 @@ index d10ef1a..e4aba58 100644
                                    stderr=subprocess.PIPE,
 @@ -231,7 +231,7 @@ def test_pipe_mocked(capsys, mocker, Popen, quiet):  # noqa: N803
  
-     assert pipe('dot', 'png', b'nongraph', quiet=quiet) is mocker.sentinel.out
+     assert pipe('dot', 'png', b'nongraph', quiet=quiet) == b'stdout'
  
 -    Popen.assert_called_once_with(['dot', '-Kdot', '-Tpng'],
 +    Popen.assert_called_once_with(['@graphviz@/bin/dot', '-Kdot', '-Tpng'],
diff --git a/nixpkgs/pkgs/development/python-modules/gremlinpython/default.nix b/nixpkgs/pkgs/development/python-modules/gremlinpython/default.nix
index 573f5a68ce67..c9ab433d9816 100644
--- a/nixpkgs/pkgs/development/python-modules/gremlinpython/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gremlinpython/default.nix
@@ -2,10 +2,11 @@
 , buildPythonPackage
 , fetchFromGitHub
 , aenum
+, aiohttp
 , importlib-metadata
 , isodate
+, nest-asyncio
 , six
-, tornado
 , pytestCheckHook
 , mock
 , pyhamcrest
@@ -14,20 +15,20 @@
 
 buildPythonPackage rec {
   pname = "gremlinpython";
-  version = "3.4.10";
+  version = "3.5.1";
 
   # pypi tarball doesn't include tests
   src = fetchFromGitHub {
     owner = "apache";
     repo = "tinkerpop";
     rev = version;
-    sha256 = "0i9lkrwbsmpx1h9480vf97pibm2v37sgw2qm2r1c0i8gg5bcmhj3";
+    sha256 = "1vlhxq0f2hanhkv6f17dxgbwr7gnbnh1kkkq0lxcwkbm2l0rdrlr";
   };
-  sourceRoot = "source/gremlin-python/src/main/jython";
+  sourceRoot = "source/gremlin-python/src/main/python";
   postPatch = ''
     substituteInPlace setup.py \
       --replace 'aenum>=1.4.5,<3.0.0' 'aenum' \
-      --replace 'tornado>=4.4.1,<6.0' 'tornado' \
+      --replace 'aiohttp>=3.7.0,<=3.7.4' 'aiohttp' \
       --replace 'PyHamcrest>=1.9.0,<2.0.0' 'PyHamcrest' \
       --replace 'radish-bdd==0.8.6' 'radish-bdd' \
       --replace 'mock>=3.0.5,<4.0.0' 'mock' \
@@ -42,9 +43,10 @@ buildPythonPackage rec {
   ];
   propagatedBuildInputs = [
     aenum
+    aiohttp
     isodate
+    nest-asyncio
     six
-    tornado
   ];
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/growattserver/default.nix b/nixpkgs/pkgs/development/python-modules/growattserver/default.nix
index 64c6e7bf2b1b..02c8bce05a27 100644
--- a/nixpkgs/pkgs/development/python-modules/growattserver/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/growattserver/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "growattserver";
-  version = "1.0.1";
+  version = "1.0.2";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "indykoning";
     repo = "PyPi_GrowattServer";
     rev = version;
-    sha256 = "1vgb92axlz1kkszmamjbsqgi74afnbr2mc1np3pmbn3bx5rmk1d9";
+    sha256 = "sha256-0i7pMJ4gAVOkvj2uYZJygr3rehgIAfyxq9cWbozwRIQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/grpc_google_iam_v1/default.nix b/nixpkgs/pkgs/development/python-modules/grpc-google-iam-v1/default.nix
index 9a74206f02e0..1be825227e8d 100644
--- a/nixpkgs/pkgs/development/python-modules/grpc_google_iam_v1/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/grpc-google-iam-v1/default.nix
@@ -3,7 +3,6 @@
 , fetchPypi
 , grpcio
 , googleapis-common-protos
-, pytest
 }:
 
 buildPythonPackage rec {
@@ -17,15 +16,18 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ grpcio googleapis-common-protos ];
 
-  # non-standard test format, and python3 will load local google folder first
-  # but tests cannot be ran if google folder is removed or moved
+  # no tests run
   doCheck = false;
-  checkInputs = [ pytest ];
+
+  pythonImportsCheck = [
+    "google.iam"
+    "google.iam.v1"
+  ];
 
   meta = with lib; {
     description = "GRPC library for the google-iam-v1 service";
     homepage = "https://github.com/googleapis/googleapis";
     license = licenses.asl20;
-    maintainers = [ maintainers.costrouc ];
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/gspread/default.nix b/nixpkgs/pkgs/development/python-modules/gspread/default.nix
index beaf1e4f9038..df2615cd3bdf 100644
--- a/nixpkgs/pkgs/development/python-modules/gspread/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gspread/default.nix
@@ -7,12 +7,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "3.7.0";
+  version = "4.0.1";
   pname = "gspread";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4bda4ab8c5edb9e41cf4ae40d4d5fb30447522b4e43608e05c01351ab1b96912";
+    sha256 = "236a0f24e3724b49bae4cbd5144ed036b0ae6feaf5828ad033eb2824bf05e5be";
   };
 
   propagatedBuildInputs = [ requests google-auth google-auth-oauthlib ];
diff --git a/nixpkgs/pkgs/development/python-modules/gudhi/default.nix b/nixpkgs/pkgs/development/python-modules/gudhi/default.nix
new file mode 100644
index 000000000000..03b26927cf35
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/gudhi/default.nix
@@ -0,0 +1,64 @@
+{ lib
+, fetchFromGitHub
+, buildPythonPackage
+, cmake
+, boost
+, eigen
+, gmp
+, cgal_5  # see https://github.com/NixOS/nixpkgs/pull/94875 about cgal
+, mpfr
+, tbb
+, numpy
+, cython
+, pybind11
+, matplotlib
+, scipy
+, pytest
+, enableTBB ? false
+}:
+
+buildPythonPackage rec {
+  pname = "gudhi";
+  version = "3.4.1";
+
+  src = fetchFromGitHub {
+    owner = "GUDHI";
+    repo = "gudhi-devel";
+    rev = "tags/gudhi-release-${version}";
+    fetchSubmodules = true;
+    sha256 = "1m03qazzfraxn62l1cb11icjz4x8q2sg9c2k3syw5v0yv9ndgx1v";
+  };
+
+  patches = [ ./remove_explicit_PYTHONPATH.patch ];
+
+  nativeBuildInputs = [ cmake numpy cython pybind11 matplotlib ];
+  buildInputs = [ boost eigen gmp cgal_5 mpfr ]
+    ++ lib.optionals enableTBB [ tbb ];
+  propagatedBuildInputs = [ numpy scipy ];
+  checkInputs = [ pytest ];
+
+  cmakeFlags = [
+    "-DCMAKE_BUILD_TYPE=Release"
+    "-DWITH_GUDHI_PYTHON=ON"
+    "-DPython_ADDITIONAL_VERSIONS=3"
+  ];
+
+  preBuild = ''
+    cd src/python
+  '';
+
+  checkPhase = ''
+    rm -r gudhi
+    ${cmake}/bin/ctest --output-on-failure
+  '';
+
+  pythonImportsCheck = [ "gudhi" "gudhi.hera" "gudhi.point_cloud" "gudhi.clustering" ];
+
+  meta = {
+    description = "Library for Computational Topology and Topological Data Analysis (TDA)";
+    homepage = "https://gudhi.inria.fr/python/latest/";
+    downloadPage = "https://github.com/GUDHI/gudhi-devel";
+    license = with lib.licenses; [ mit gpl3 ];
+    maintainers = with lib.maintainers; [ yl3dy ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/gudhi/remove_explicit_PYTHONPATH.patch b/nixpkgs/pkgs/development/python-modules/gudhi/remove_explicit_PYTHONPATH.patch
new file mode 100644
index 000000000000..da1bffb283b8
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/gudhi/remove_explicit_PYTHONPATH.patch
@@ -0,0 +1,174 @@
+diff --git a/src/python/CMakeLists.txt b/src/python/CMakeLists.txt
+index 5c1402a..48a1250 100644
+--- a/src/python/CMakeLists.txt
++++ b/src/python/CMakeLists.txt
+@@ -271,9 +271,6 @@ if(PYTHONINTERP_FOUND)
+         WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+         COMMAND ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_BINARY_DIR}/setup.py" "build_ext" "--inplace")
+ 
+-    add_custom_target(python ALL DEPENDS gudhi.so
+-                      COMMENT "Do not forget to add ${CMAKE_CURRENT_BINARY_DIR}/ to your PYTHONPATH before using examples or tests")
+-
+     install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/setup.py install)")
+ 
+   # Documentation generation is available through sphinx - requires all modules
+@@ -295,14 +292,14 @@ if(PYTHONINTERP_FOUND)
+                   # sphinx target requires gudhi.so, because conf.py reads gudhi version from it
+                   add_custom_target(sphinx
+                       WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/doc
+-                      COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}"
++                      COMMAND ${CMAKE_COMMAND} -E env
+                       ${SPHINX_PATH} -b html ${CMAKE_CURRENT_SOURCE_DIR}/doc ${CMAKE_CURRENT_BINARY_DIR}/sphinx
+                       DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/gudhi.so"
+                       COMMENT "${GUDHI_SPHINX_MESSAGE}" VERBATIM)
+ 
+                   add_test(NAME sphinx_py_test
+                            WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+-                           COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}"
++                           COMMAND ${CMAKE_COMMAND} -E env
+                            ${SPHINX_PATH} -b doctest ${CMAKE_CURRENT_SOURCE_DIR}/doc ${CMAKE_CURRENT_BINARY_DIR}/doctest)
+ 
+                   # Set missing or not modules
+@@ -346,13 +343,13 @@ if(PYTHONINTERP_FOUND)
+       # Bottleneck and Alpha
+       add_test(NAME alpha_rips_persistence_bottleneck_distance_py_test
+                WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+-               COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}"
++               COMMAND ${CMAKE_COMMAND} -E env
+                ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/example/alpha_rips_persistence_bottleneck_distance.py"
+                -f ${CMAKE_SOURCE_DIR}/data/points/tore3D_300.off -t 0.15 -d 3)
+       # Tangential
+       add_test(NAME tangential_complex_plain_homology_from_off_file_example_py_test
+                WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+-               COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}"
++               COMMAND ${CMAKE_COMMAND} -E env
+                ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/example/tangential_complex_plain_homology_from_off_file_example.py"
+                --no-diagram -i 2 -f ${CMAKE_SOURCE_DIR}/data/points/tore3D_300.off)
+ 
+@@ -361,13 +358,13 @@ if(PYTHONINTERP_FOUND)
+       # Witness complex
+       add_test(NAME euclidean_strong_witness_complex_diagram_persistence_from_off_file_example_py_test
+                WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+-               COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}"
++               COMMAND ${CMAKE_COMMAND} -E env
+                ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/example/euclidean_strong_witness_complex_diagram_persistence_from_off_file_example.py"
+                --no-diagram -f ${CMAKE_SOURCE_DIR}/data/points/tore3D_300.off -a 1.0 -n 20 -d 2)
+ 
+       add_test(NAME euclidean_witness_complex_diagram_persistence_from_off_file_example_py_test
+                WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+-               COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}"
++               COMMAND ${CMAKE_COMMAND} -E env
+                ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/example/euclidean_witness_complex_diagram_persistence_from_off_file_example.py"
+                --no-diagram -f ${CMAKE_SOURCE_DIR}/data/points/tore3D_300.off -a 1.0 -n 20 -d 2)
+ 
+@@ -379,7 +376,7 @@ if(PYTHONINTERP_FOUND)
+       # Bottleneck
+       add_test(NAME bottleneck_basic_example_py_test
+                WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+-               COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}"
++               COMMAND ${CMAKE_COMMAND} -E env
+                ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/example/bottleneck_basic_example.py")
+ 
+       if (PYBIND11_FOUND)
+@@ -392,26 +389,26 @@ if(PYTHONINTERP_FOUND)
+       file(COPY ${CMAKE_SOURCE_DIR}/data/points/COIL_database/lucky_cat_PCA1 DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/)
+       add_test(NAME cover_complex_nerve_example_py_test
+                WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+-               COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}"
++               COMMAND ${CMAKE_COMMAND} -E env
+                ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/example/nerve_of_a_covering.py"
+                -f human.off -c 2 -r 10 -g 0.3)
+ 
+       add_test(NAME cover_complex_coordinate_gic_example_py_test
+                WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+-               COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}"
++               COMMAND ${CMAKE_COMMAND} -E env
+                ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/example/coordinate_graph_induced_complex.py"
+                -f human.off -c 0 -v)
+ 
+       add_test(NAME cover_complex_functional_gic_example_py_test
+                WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+-               COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}"
++               COMMAND ${CMAKE_COMMAND} -E env
+                ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/example/functional_graph_induced_complex.py"
+                -o lucky_cat.off
+                -f lucky_cat_PCA1 -v)
+ 
+       add_test(NAME cover_complex_voronoi_gic_example_py_test
+                WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+-               COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}"
++               COMMAND ${CMAKE_COMMAND} -E env
+                ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/example/voronoi_graph_induced_complex.py"
+                -f human.off -n 700 -v)
+ 
+@@ -422,11 +419,11 @@ if(PYTHONINTERP_FOUND)
+       # Alpha
+       add_test(NAME alpha_complex_from_points_example_py_test
+                WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+-               COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}"
++               COMMAND ${CMAKE_COMMAND} -E env
+                ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/example/alpha_complex_from_points_example.py")
+       add_test(NAME alpha_complex_diagram_persistence_from_off_file_example_py_test
+              WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+-             COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}"
++             COMMAND ${CMAKE_COMMAND} -E env
+              ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/example/alpha_complex_diagram_persistence_from_off_file_example.py"
+              --no-diagram -f ${CMAKE_SOURCE_DIR}/data/points/tore3D_300.off -a 0.6)
+       add_gudhi_py_test(test_alpha_complex)
+@@ -441,13 +438,13 @@ if(PYTHONINTERP_FOUND)
+     # Cubical
+     add_test(NAME periodic_cubical_complex_barcode_persistence_from_perseus_file_example_py_test
+              WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+-             COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}"
++             COMMAND ${CMAKE_COMMAND} -E env
+              ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/example/periodic_cubical_complex_barcode_persistence_from_perseus_file_example.py"
+              --no-barcode -f ${CMAKE_SOURCE_DIR}/data/bitmap/CubicalTwoSphere.txt)
+ 
+     add_test(NAME random_cubical_complex_persistence_example_py_test
+              WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+-             COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}"
++             COMMAND ${CMAKE_COMMAND} -E env
+              ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/example/random_cubical_complex_persistence_example.py"
+              10 10 10)
+ 
+@@ -456,19 +453,19 @@ if(PYTHONINTERP_FOUND)
+     # Rips
+     add_test(NAME rips_complex_diagram_persistence_from_distance_matrix_file_example_py_test
+              WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+-             COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}"
++             COMMAND ${CMAKE_COMMAND} -E env
+              ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/example/rips_complex_diagram_persistence_from_distance_matrix_file_example.py"
+              --no-diagram -f ${CMAKE_SOURCE_DIR}/data/distance_matrix/lower_triangular_distance_matrix.csv -e 12.0 -d 3)
+ 
+     add_test(NAME rips_complex_diagram_persistence_from_off_file_example_py_test
+              WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+-             COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}"
++             COMMAND ${CMAKE_COMMAND} -E env
+              ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/example/rips_complex_diagram_persistence_from_off_file_example.py
+              --no-diagram -f ${CMAKE_SOURCE_DIR}/data/points/tore3D_300.off  -e 0.25 -d 3)
+ 
+     add_test(NAME rips_complex_from_points_example_py_test
+              WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+-             COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}"
++             COMMAND ${CMAKE_COMMAND} -E env
+              ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/example/rips_complex_from_points_example.py)
+ 
+     add_gudhi_py_test(test_rips_complex)
+@@ -476,7 +473,7 @@ if(PYTHONINTERP_FOUND)
+     # Simplex tree
+     add_test(NAME simplex_tree_example_py_test
+              WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+-             COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}"
++             COMMAND ${CMAKE_COMMAND} -E env
+              ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/example/simplex_tree_example.py)
+ 
+     add_gudhi_py_test(test_simplex_tree)
+@@ -485,7 +482,7 @@ if(PYTHONINTERP_FOUND)
+     # Witness
+     add_test(NAME witness_complex_from_nearest_landmark_table_py_test
+              WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+-             COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}"
++             COMMAND ${CMAKE_COMMAND} -E env
+              ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/example/witness_complex_from_nearest_landmark_table.py)
+ 
+     add_gudhi_py_test(test_witness_complex)
diff --git a/nixpkgs/pkgs/development/python-modules/gym/default.nix b/nixpkgs/pkgs/development/python-modules/gym/default.nix
index 888dbf45342e..5bcfb64a184d 100644
--- a/nixpkgs/pkgs/development/python-modules/gym/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gym/default.nix
@@ -2,31 +2,23 @@
 , buildPythonPackage
 , fetchFromGitHub
 , numpy
-, requests
-, pyglet
-, scipy
-, pillow
 , cloudpickle
 }:
 
 buildPythonPackage rec {
   pname = "gym";
-  version = "0.18.3";
+  version = "0.19.0";
 
   src = fetchFromGitHub {
     owner = "openai";
     repo = pname;
     rev = version;
-    sha256 = "sha256-10KHUG6WacYzqna97vEhSQWDmJDvDmD5QxLhPW5NQSs=";
+    sha256 = "sha256-0O/s9OVNGQmeX9j8B1x63RxdI6dhqfTEJcgDH2jtCv4=";
   };
 
   propagatedBuildInputs = [
     cloudpickle
     numpy
-    pillow
-    pyglet
-    requests
-    scipy
   ];
 
   # The test needs MuJoCo that is not free library.
diff --git a/nixpkgs/pkgs/development/python-modules/ha-philipsjs/default.nix b/nixpkgs/pkgs/development/python-modules/ha-philipsjs/default.nix
index c6de997a1da7..14b60f551435 100644
--- a/nixpkgs/pkgs/development/python-modules/ha-philipsjs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ha-philipsjs/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "ha-philipsjs";
-  version = "2.7.4";
+  version = "2.7.5";
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "danielperna84";
     repo = pname;
     rev = version;
-    sha256 = "08fjdb1q02dwxq8s15ddd00gps64xplblkn8dx5yivldskiy8i1n";
+    sha256 = "sha256-CAYyVNVq1rZZ/AYOAE8bfd7f94+PlAsnFRdguparNtY=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/hap-python/default.nix b/nixpkgs/pkgs/development/python-modules/hap-python/default.nix
index cba02387be5d..39d7429e8106 100644
--- a/nixpkgs/pkgs/development/python-modules/hap-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hap-python/default.nix
@@ -4,7 +4,6 @@
 , cryptography
 , curve25519-donna
 , ecdsa
-, ed25519
 , fetchFromGitHub
 , h11
 , pyqrcode
@@ -17,15 +16,14 @@
 
 buildPythonPackage rec {
   pname = "hap-python";
-  version = "3.5.1";
+  version = "4.1.0";
   disabled = pythonOlder "3.6";
 
-  # pypi package does not include tests
   src = fetchFromGitHub {
     owner = "ikalchev";
     repo = "HAP-python";
     rev = "v${version}";
-    sha256 = "sha256-ZHTqlb7LIDp8MFNW8MFg6jX7QwaxT40cLi3H13ONLCI=";
+    sha256 = "sha256-vUbcsG6mKPgH+IF5i/BYSIkfIizSZzMWz0Kq0yfuKxE=";
   };
 
   propagatedBuildInputs = [
@@ -33,7 +31,6 @@ buildPythonPackage rec {
     cryptography
     curve25519-donna
     ecdsa
-    ed25519
     h11
     pyqrcode
     zeroconf
@@ -45,8 +42,8 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  # Disable tests requiring network access
   disabledTestPaths = [
+    # Disable tests requiring network access
     "tests/test_accessory_driver.py"
     "tests/test_hap_handler.py"
     "tests/test_hap_protocol.py"
@@ -59,8 +56,11 @@ buildPythonPackage rec {
     "test_we_can_start_stop"
     "test_push_event"
     "test_bridge_run_stop"
+    "test_migration_to_include_client_properties"
   ];
 
+  pythonImportsCheck = [ "pyhap" ];
+
   meta = with lib; {
     homepage = "https://github.com/ikalchev/HAP-python";
     description = "HomeKit Accessory Protocol implementation in python";
diff --git a/nixpkgs/pkgs/development/python-modules/hass-nabucasa/default.nix b/nixpkgs/pkgs/development/python-modules/hass-nabucasa/default.nix
index 201337ef7717..1bd8fd5f63cc 100644
--- a/nixpkgs/pkgs/development/python-modules/hass-nabucasa/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hass-nabucasa/default.nix
@@ -15,13 +15,13 @@
 
 buildPythonPackage rec {
   pname = "hass-nabucasa";
-  version = "0.44.0";
+  version = "0.46.0";
 
   src = fetchFromGitHub {
     owner = "nabucasa";
     repo = pname;
     rev = version;
-    sha256 = "sha256-cfKuqkIgmbo7/kUIpJFbckyQ0uDrxXmdsI7qORX0PWc=";
+    sha256 = "109ma1qlhifj5hs530zfnvc6mqv5grfmcq3s57wawq9nzq0gpfy8";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/hatasmota/default.nix b/nixpkgs/pkgs/development/python-modules/hatasmota/default.nix
index 9a7ab056a311..b3165a7e3c02 100644
--- a/nixpkgs/pkgs/development/python-modules/hatasmota/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hatasmota/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "hatasmota";
-  version = "0.2.19";
+  version = "0.2.20";
 
   src = fetchFromGitHub {
     owner = "emontnemery";
     repo = pname;
     rev = version;
-    sha256 = "sha256-h1idJJd2lPV3+tAE59gzITa7jmtBhcEpRuyflf76EAk=";
+    sha256 = "1qdvm1bnn7x2mf4fq997gvq6a5901ndhd2s75h92zsgmlcp7rc77";
   };
 
   propagatedBuildInputs = [
@@ -23,6 +23,7 @@ buildPythonPackage rec {
 
   # Project has no tests
   doCheck = false;
+
   pythonImportsCheck = [ "hatasmota" ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/haversine/default.nix b/nixpkgs/pkgs/development/python-modules/haversine/default.nix
index 9d12be3aa198..6080294653ee 100644
--- a/nixpkgs/pkgs/development/python-modules/haversine/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/haversine/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "haversine";
-  version = "2.3.1";
+  version = "2.5.1";
 
   src = fetchFromGitHub {
     owner = "mapado";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-1PXPsZd/4pN42TU0lhXWsmyX7uGP1n/xna2cVZPczB4=";
+    sha256 = "sha256-tHA1Ff/J1mfSnER2X/8e0QyQkuRz1mn8MeGlThVQaSg=";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/hcloud/default.nix b/nixpkgs/pkgs/development/python-modules/hcloud/default.nix
index 8f359d39e2d8..3183560ba00c 100644
--- a/nixpkgs/pkgs/development/python-modules/hcloud/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hcloud/default.nix
@@ -13,12 +13,12 @@
 
 buildPythonPackage rec {
   pname = "hcloud";
-  version = "1.13.0";
+  version = "1.16.0";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0f84nwr3ddzivlnswwmhvm3lgq9fy3n7nryy93xqpk5nxcd1ybpn";
+    sha256 = "c8b94557d93bcfe437f20a8176693ea4f54358b74986cc19d94ebc23f48e40cc";
   };
 
   propagatedBuildInputs = [ future requests python-dateutil ];
diff --git a/nixpkgs/pkgs/development/python-modules/hg-evolve/default.nix b/nixpkgs/pkgs/development/python-modules/hg-evolve/default.nix
index a0229d1e5012..00791ac642f0 100644
--- a/nixpkgs/pkgs/development/python-modules/hg-evolve/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hg-evolve/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "hg-evolve";
-  version = "10.3.2";
+  version = "10.3.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ba819732409d39ddd4ff2fc507dc921408bf30535d2d78313637b29eeac98860";
+    sha256 = "ca3b0ae45a2c3a811c0dc39153b8a1ea8a5c8f786c56370a41dfd83a5bff2502";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/hijri-converter/default.nix b/nixpkgs/pkgs/development/python-modules/hijri-converter/default.nix
index e9ce708b2cba..ce2acc33a9f6 100644
--- a/nixpkgs/pkgs/development/python-modules/hijri-converter/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hijri-converter/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "hijri-converter";
-  version = "2.1.3";
+  version = "2.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1cq67v0fjk7cd8kbppg2kl31a5i6jm8qrkcdqxx6vxwmx65l68ks";
+    sha256 = "sha256-25pfMciEJUFjr2ocOb6ByAel6Je6lYdiTWcG3RBI8WA=";
   };
 
   checkInputs = [ pytestCheckHook ];
diff --git a/nixpkgs/pkgs/development/python-modules/hiredis/default.nix b/nixpkgs/pkgs/development/python-modules/hiredis/default.nix
index ef10d195671d..00ce786b005d 100644
--- a/nixpkgs/pkgs/development/python-modules/hiredis/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hiredis/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "hiredis";
-  version = "1.1.0";
+  version = "2.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "996021ef33e0f50b97ff2d6b5f422a0fe5577de21a8873b58a779a5ddd1c3132";
+    sha256 = "81d6d8e39695f2c37954d1011c0480ef7cf444d4e3ae24bc5e89ee5de360139a";
   };
   propagatedBuildInputs = [ redis ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/hmmlearn/default.nix b/nixpkgs/pkgs/development/python-modules/hmmlearn/default.nix
index d079b18a30c2..17f5126367bf 100644
--- a/nixpkgs/pkgs/development/python-modules/hmmlearn/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hmmlearn/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "hmmlearn";
-  version = "0.2.5";
+  version = "0.2.6";
 
   src = fetchurl {
     url = "mirror://pypi/h/hmmlearn/${pname}-${version}.tar.gz";
-    sha256 = "14fb4ad3fb7529785844a25fae5d32272619fb5973cc02c8784018055470ca01";
+    sha256 = "2a289cf28b31be59fa8ba5d3253d4a2a992401d45a8cdc221ae484fbf390c0d7";
   };
 
   buildInputs = [ setuptools-scm cython ];
diff --git a/nixpkgs/pkgs/development/python-modules/holidays/default.nix b/nixpkgs/pkgs/development/python-modules/holidays/default.nix
index e09b957425a8..48892b8d79ed 100644
--- a/nixpkgs/pkgs/development/python-modules/holidays/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/holidays/default.nix
@@ -12,12 +12,12 @@
 
 buildPythonPackage rec {
   pname = "holidays";
-  version = "0.11.1";
+  version = "0.11.2";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-f6/YRvZ/Drfh+cGcOPSnlnvweu1d7S3XqKovk3sOoBs=";
+    sha256 = "0nqxan6nr3jp63i3sbb9s1v5dlig22bl927a6pl1ahks8cnr7rkn";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/holoviews/default.nix b/nixpkgs/pkgs/development/python-modules/holoviews/default.nix
index 0cf33a8f5804..1b4996f4cb47 100644
--- a/nixpkgs/pkgs/development/python-modules/holoviews/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/holoviews/default.nix
@@ -16,11 +16,11 @@
 
 buildPythonPackage rec {
   pname = "holoviews";
-  version = "1.14.4";
+  version = "1.14.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "08e8be82c2e514e1700a75f02307f414179dc0ecfa2202702dd304a381909eaa";
+    sha256 = "268e07c09012d24233d8957f0207b9aec33000b639e661ca50e68458d735e6be";
   };
 
   propagatedBuildInputs = [
@@ -40,6 +40,8 @@ buildPythonPackage rec {
   # tests not fully included with pypi release
   doCheck = false;
 
+  pythonImportsCheck = [ "holoviews" ];
+
   meta = with lib; {
     description = "Python data analysis and visualization seamless and simple";
     homepage = "http://www.holoviews.org/";
diff --git a/nixpkgs/pkgs/development/python-modules/homematicip/default.nix b/nixpkgs/pkgs/development/python-modules/homematicip/default.nix
index c8cc21278b66..e6759f498a32 100644
--- a/nixpkgs/pkgs/development/python-modules/homematicip/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/homematicip/default.nix
@@ -16,14 +16,14 @@
 
 buildPythonPackage rec {
   pname = "homematicip";
-  version = "1.0.0";
+  version = "1.0.1";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "coreGreenberet";
     repo = "homematicip-rest-api";
     rev = version;
-    sha256 = "0bgvrjcf10kiqqkbl56sxx3jydd722b08q2j9c8sxpk0qdrmrinv";
+    sha256 = "008snxx9ijpi1zr1pi1v4a6g74j821hyw0khs9lmi08v2mcabm36";
   };
 
   propagatedBuildInputs = [
@@ -53,6 +53,7 @@ buildPythonPackage rec {
     "test_pluggable_switch_measuring"
     "test_rotary_handle_sensor"
     "test_security_group"
+    "test_security_zone"
     "test_shutter_device"
     "test_smoke_detector"
     "test_switching_group"
diff --git a/nixpkgs/pkgs/development/python-modules/howdoi/default.nix b/nixpkgs/pkgs/development/python-modules/howdoi/default.nix
index b886e3c8b4fa..8cd90765ec14 100644
--- a/nixpkgs/pkgs/development/python-modules/howdoi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/howdoi/default.nix
@@ -1,43 +1,61 @@
 { lib
+, appdirs
 , buildPythonPackage
-, fetchPypi
-, six
-, pygments
-, pyquery
 , cachelib
-, appdirs
+, cssselect
+, fetchFromGitHub
 , keep
+, lxml
+, pygments
+, pyquery
+, requests
+, six
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "howdoi";
-  version = "2.0.16";
+  version = "2.0.17";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "0257fbb328eb3a15ed3acc498314902f00908b130209073509eec21cb7235b2b";
+  src = fetchFromGitHub {
+    owner = "gleitz";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1cc9hbnalbsd5la9wsm8s6drb79vlzin9qnv86ic81r5nq27n180";
   };
 
-  postPatch = ''
-    substituteInPlace setup.py --replace 'cachelib==0.1' 'cachelib'
-  '';
+  propagatedBuildInputs = [
+    appdirs
+    cachelib
+    cssselect
+    keep
+    lxml
+    pygments
+    pyquery
+    requests
+    six
+  ];
 
-  propagatedBuildInputs = [ six pygments pyquery cachelib appdirs keep ];
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  # author hasn't included page_cache directory (which allows tests to run without
-  # external requests) in pypi tarball. github repo doesn't have release revisions
-  # clearly tagged. re-enable tests when either is sorted.
-  doCheck = false;
   preCheck = ''
-    mv howdoi _howdoi
     export HOME=$(mktemp -d)
   '';
+
+  disabledTests = [
+    # AssertionError: "The...
+    "test_get_text_with_one_link"
+    "test_get_text_without_links"
+  ];
+
   pythonImportsCheck = [ "howdoi" ];
 
   meta = with lib; {
     description = "Instant coding answers via the command line";
     homepage = "https://pypi.python.org/pypi/howdoi";
     license = licenses.mit;
-    maintainers = [ maintainers.costrouc ];
+    maintainers = with maintainers; [ costrouc ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/hstspreload/default.nix b/nixpkgs/pkgs/development/python-modules/hstspreload/default.nix
index 6833837b6968..7b92aeb269df 100644
--- a/nixpkgs/pkgs/development/python-modules/hstspreload/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hstspreload/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "hstspreload";
-  version = "2021.7.5";
+  version = "2021.8.1";
   disabled = isPy27;
 
   src = fetchFromGitHub {
     owner = "sethmlarson";
     repo = pname;
     rev = version;
-    sha256 = "sha256-/89K41MrTdF68+BVkfnv+0d+6rBHdRGKpN2Psfr2Wog=";
+    sha256 = "0si22p461qydh874gkidiar89hrfx7lm7r7g6d1qi7lz8wlwcplv";
   };
 
   # tests require network connection
diff --git a/nixpkgs/pkgs/development/python-modules/httpx-ntlm/default.nix b/nixpkgs/pkgs/development/python-modules/httpx-ntlm/default.nix
new file mode 100644
index 000000000000..b3ac17cf7f07
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/httpx-ntlm/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, cryptography
+, fetchPypi
+, httpx
+, ntlm-auth
+}:
+
+buildPythonPackage rec {
+  pname = "httpx-ntlm";
+  version = "0.0.10";
+
+  src = fetchPypi {
+    pname = "httpx_ntlm";
+    inherit version;
+    sha256 = "1rar6smz56y8k5qbgrpabpr639nwvf6whdi093hyakf0m3h9cpfz";
+  };
+
+  propagatedBuildInputs = [
+    cryptography
+    httpx
+    ntlm-auth
+  ];
+
+  # https://github.com/ulodciv/httpx-ntlm/issues/5
+  doCheck = false;
+
+  pythonImportsCheck = [ "httpx_ntlm" ];
+
+  meta = with lib; {
+    description = "NTLM authentication support for HTTPX";
+    homepage = "https://github.com/ulodciv/httpx-ntlm";
+    license = licenses.isc;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/httpx-socks/default.nix b/nixpkgs/pkgs/development/python-modules/httpx-socks/default.nix
new file mode 100644
index 000000000000..f73d81cc6aaa
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/httpx-socks/default.nix
@@ -0,0 +1,57 @@
+{ lib
+, async-timeout
+, buildPythonPackage
+, curio
+, fetchFromGitHub
+, flask
+, httpcore
+, httpx
+, pytest-asyncio
+, pytest-trio
+, pytestCheckHook
+, python-socks
+, pythonOlder
+, sniffio
+, trio
+, yarl
+}:
+
+buildPythonPackage rec {
+  pname = "httpx-socks";
+  version = "0.4.1";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "romis2012";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1rz69z5fcw7d5nzy5q2q0r9gxrsqijgpg70cnyr5br6xnfgy01ar";
+  };
+
+  propagatedBuildInputs = [
+    async-timeout
+    curio
+    httpcore
+    httpx
+    python-socks
+    sniffio
+    trio
+  ];
+
+  checkInputs = [
+    flask
+    pytest-asyncio
+    pytest-trio
+    pytestCheckHook
+    yarl
+  ];
+
+  pythonImportsCheck = [ "httpx_socks" ];
+
+  meta = with lib; {
+    description = "Proxy (HTTP, SOCKS) transports for httpx";
+    homepage = "https://github.com/romis2012/httpx-socks";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/httpx/default.nix b/nixpkgs/pkgs/development/python-modules/httpx/default.nix
index e5db065defcd..6a9300566d59 100644
--- a/nixpkgs/pkgs/development/python-modules/httpx/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/httpx/default.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , pythonOlder
 , fetchFromGitHub
-, brotli
+, brotlicffi
 , certifi
 , h2
 , httpcore
@@ -11,25 +11,25 @@
 , pytestCheckHook
 , pytest-asyncio
 , pytest-trio
-, pytest-cov
+, typing-extensions
 , trustme
 , uvicorn
 }:
 
 buildPythonPackage rec {
   pname = "httpx";
-  version = "0.18.0";
+  version = "0.18.2";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "encode";
     repo = pname;
     rev = version;
-    sha256 = "sha256-6EYBTRXaVHBgW/JzZvWLz55AqgocOyym2FVtu2Nkp/U=";
+    sha256 = "0rr5b6z96yipvp4riqmmbkbcy0sdyzykcdwf5y9ryh27pxr8q8x4";
   };
 
   propagatedBuildInputs = [
-    brotli
+    brotlicffi
     certifi
     h2
     httpcore
@@ -41,8 +41,8 @@ buildPythonPackage rec {
     pytestCheckHook
     pytest-asyncio
     pytest-trio
-    pytest-cov
     trustme
+    typing-extensions
     uvicorn
   ];
 
@@ -62,6 +62,6 @@ buildPythonPackage rec {
     description = "The next generation HTTP client";
     homepage = "https://github.com/encode/httpx";
     license = licenses.bsd3;
-    maintainers = [ maintainers.costrouc ];
+    maintainers = with maintainers; [ costrouc fab ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/hvac/default.nix b/nixpkgs/pkgs/development/python-modules/hvac/default.nix
index 70cd9ca5abd9..5eaf6f1199eb 100644
--- a/nixpkgs/pkgs/development/python-modules/hvac/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hvac/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "hvac";
-  version = "0.10.14";
+  version = "0.11.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-DGFvKdZkKtqrzUCKBEaTdO2DvhKyRQG7M36PN7rf7yI=";
+    sha256 = "9d5504e35388e665db5086edf75d2425831573c6569bb0bf3c2c6eaff30e034e";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/hvplot/default.nix b/nixpkgs/pkgs/development/python-modules/hvplot/default.nix
index e0d2500bd565..271b3923033c 100644
--- a/nixpkgs/pkgs/development/python-modules/hvplot/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hvplot/default.nix
@@ -18,11 +18,11 @@
 
 buildPythonPackage rec {
   pname = "hvplot";
-  version = "0.7.2";
+  version = "0.7.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f0dcfcb5e46ae3c29a646c341435986e332ef38af1057bf7b76abadff0bbaca4";
+    sha256 = "74b269c6e118dd6f7d2a4039e91f16a193638f4119b4358dc6dbd58a2e71e432";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/hy/default.nix b/nixpkgs/pkgs/development/python-modules/hy/default.nix
new file mode 100644
index 000000000000..63625bd7ee60
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/hy/default.nix
@@ -0,0 +1,52 @@
+{ lib
+, astor
+, buildPythonPackage
+, colorama
+, fetchFromGitHub
+, funcparserlib
+, pytestCheckHook
+, pythonOlder
+, rply
+}:
+
+buildPythonPackage rec {
+  pname = "hy";
+  version = "1.0a3";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "hylang";
+    repo = pname;
+    rev = version;
+    sha256 = "1dqw24rvsps2nab1pbjjm1c81vrs34r4kkk691h3xdyxnv9hb84b";
+  };
+
+  propagatedBuildInputs = [
+    colorama
+    funcparserlib
+    rply
+  ] ++ lib.optionals (pythonOlder "3.9") [
+    astor
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    # Don't test the binary
+    "test_bin_hy"
+    "test_hystartup"
+    "est_hy2py_import"
+  ];
+
+  pythonImportsCheck = [ "hy" ];
+
+  meta = with lib; {
+    description = "Python to/from Lisp layer";
+    homepage = "https://github.com/hylang/hy";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/hydra/default.nix b/nixpkgs/pkgs/development/python-modules/hydra/default.nix
index 42f2812a6e1d..5fb15be0a3f9 100644
--- a/nixpkgs/pkgs/development/python-modules/hydra/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hydra/default.nix
@@ -1,24 +1,30 @@
-{ lib, buildPythonPackage, fetchFromGitHub, isPy27, pytest, omegaconf, pathlib2 }:
+{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder, pytestCheckHook
+, importlib-resources, omegaconf, jre_headless, antlr4-python3-runtime }:
 
 buildPythonPackage rec {
   pname = "hydra";
-  version = "0.11.3";
+  version = "1.1.1";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "facebookresearch";
     repo = pname;
-    rev = version;
-    sha256 = "0plbls65qfrvvigza3qvy0pwjzgkz8ylpgb1im14k3b125ny41ad";
+    rev = "v${version}";
+    sha256 = "sha256:1svzysrjg47gb6lxx66fzd8wbhpbbsppprpbqssf5aqvhxgay3qk";
   };
 
-  checkInputs = [ pytest ];
-  propagatedBuildInputs = [ omegaconf ] ++ lib.optional isPy27 pathlib2;
+  nativeBuildInputs = [ jre_headless ];
+  checkInputs = [ pytestCheckHook ];
+  propagatedBuildInputs = [ omegaconf antlr4-python3-runtime ]
+    ++ lib.optionals (pythonOlder "3.9") [ importlib-resources ];
 
-  checkPhase = ''
-    runHook preCheck
-    pytest tests/
-    runHook postCheck
-  '';
+  # test environment setup broken under Nix for a few tests:
+  disabledTests = [
+    "test_bash_completion_with_dot_in_path"
+    "test_install_uninstall"
+  ];
+  disabledTestPaths = [ "tests/test_hydra.py" ];
 
   meta = with lib; {
     description = "A framework for configuring complex applications";
diff --git a/nixpkgs/pkgs/development/python-modules/iaqualink/default.nix b/nixpkgs/pkgs/development/python-modules/iaqualink/default.nix
index 223f3893e18d..5806104d419f 100644
--- a/nixpkgs/pkgs/development/python-modules/iaqualink/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/iaqualink/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "iaqualink";
-  version = "0.4.0";
+  version = "0.4.1";
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "flz";
     repo = "iaqualink-py";
     rev = "v${version}";
-    sha256 = "13iwngjjqzr1pkmskbc2wakccvcjkf4bk65f4jp4ywpciilr4zjw";
+    sha256 = "0xgxajw38jrc55xh8w8mq0dk82ml77mfs8yn05gcpv8l24y70chq";
   };
 
   nativeBuildInputs = [ pytest-runner ];
diff --git a/nixpkgs/pkgs/development/python-modules/icecream/default.nix b/nixpkgs/pkgs/development/python-modules/icecream/default.nix
index b75d0d5d4325..28fed3bcb788 100644
--- a/nixpkgs/pkgs/development/python-modules/icecream/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/icecream/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "icecream";
-  version = "2.1.0";
+  version = "2.1.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c2e7b74c1c12caa2cfde050f2e636493ee77a9fb4a494b5593418ab359924a24";
+    sha256 = "47e00e3f4e8477996e7dc420b6fa8ba53f8ced17de65320fedb5b15997b76589";
   };
 
   propagatedBuildInputs = [ asttokens colorama executing pygments ];
diff --git a/nixpkgs/pkgs/development/python-modules/icmplib/default.nix b/nixpkgs/pkgs/development/python-modules/icmplib/default.nix
index fdbf45edaaeb..9d1ccab3d9a4 100644
--- a/nixpkgs/pkgs/development/python-modules/icmplib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/icmplib/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "icmplib";
-  version = "3.0.0";
+  version = "3.0.1";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "ValentinBELYN";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-i5cmL8kOrehldOwX2RfVAfL4HdzJ+9S3BojJI2raUSA=";
+    sha256 = "sha256-avCy/s54JOeHf6py4sPDV+QC2oq2AU6A6J2YOnrQsm0=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/identify/default.nix b/nixpkgs/pkgs/development/python-modules/identify/default.nix
index 7e753e2e0594..c3232c1811a8 100644
--- a/nixpkgs/pkgs/development/python-modules/identify/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/identify/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "identify";
-  version = "2.2.11";
+  version = "2.2.13";
 
 
   src = fetchFromGitHub {
     owner = "pre-commit";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-E95tUg1gglDXfeCTead2c1e0JOynKu+TBd4LKklrtAE=";
+    sha256 = "sha256-lKdFHynKraN+eUeO1hFzoNsdMzRgmnBHQzPuKLH0Xvs=";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ignite/default.nix b/nixpkgs/pkgs/development/python-modules/ignite/default.nix
index 432767b9f984..177fd8915607 100644
--- a/nixpkgs/pkgs/development/python-modules/ignite/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ignite/default.nix
@@ -3,6 +3,7 @@
 , fetchFromGitHub
 , pytestCheckHook
 , pytest-xdist
+, torchvision
 , pythonOlder
 , matplotlib
 , mock
@@ -14,16 +15,16 @@
 
 buildPythonPackage rec {
   pname = "ignite";
-  version = "0.4.5";
+  version = "0.4.6";
 
   src = fetchFromGitHub {
     owner = "pytorch";
     repo = pname;
     rev = "v${version}";
-    sha256 = "057v8v5p2picmgiidr9lzjbh7nj54pv95m6lyya3y7dw4vzaamij";
+    sha256 = "sha256-dlKGXjUUnyYmPDilo0LQg9OkSkBnMYNgzlFLIfI0T6I=";
   };
 
-  checkInputs = [ pytestCheckHook matplotlib mock pytest-xdist ];
+  checkInputs = [ pytestCheckHook matplotlib mock pytest-xdist torchvision ];
   propagatedBuildInputs = [ pytorch scikit-learn tqdm pynvml ];
 
   # runs succesfully in 3.9, however, async isn't correctly closed so it will fail after test suite.
@@ -33,8 +34,14 @@ buildPythonPackage rec {
   # models, which doesn't work in the sandbox.
   # avoid tests which need special packages
   pytestFlagsArray = [
+    "--ignore=tests/ignite/contrib/handlers/test_clearml_logger.py"
+    "--ignore=tests/ignite/contrib/handlers/test_lr_finder.py"
     "--ignore=tests/ignite/contrib/handlers/test_trains_logger.py"
+    "--ignore=tests/ignite/metrics/nlp/test_bleu.py"
+    "--ignore=tests/ignite/metrics/nlp/test_rouge.py"
+    "--ignore=tests/ignite/metrics/gan" # requires pytorch_fid; tries to download model to $HOME
     "--ignore=tests/ignite/metrics/test_dill.py"
+    "--ignore=tests/ignite/metrics/test_psnr.py"
     "--ignore=tests/ignite/metrics/test_ssim.py"
     "tests/"
   ];
@@ -42,16 +49,17 @@ buildPythonPackage rec {
   # disable tests which need specific packages
   disabledTests = [
     "idist"
-    "tensorboard"
     "mlflow"
-    "trains"
-    "visdom"
-    "test_setup_neptune"
-    "test_output_handler" # needs mlflow
+    "tensorboard"
     "test_integration"
+    "test_output_handler" # needs mlflow
     "test_pbar" # slight output differences
-    "test_write_results"
+    "test_setup_clearml_logging"
+    "test_setup_neptune"
     "test_setup_plx"
+    "test_write_results"
+    "trains"
+    "visdom"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/imap-tools/default.nix b/nixpkgs/pkgs/development/python-modules/imap-tools/default.nix
index 5d4e41c5e5f0..d1cecdda42d9 100644
--- a/nixpkgs/pkgs/development/python-modules/imap-tools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/imap-tools/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "imap-tools";
-  version = "0.42.0";
+  version = "0.44.0";
 
   disabled = isPy27;
 
@@ -15,7 +15,7 @@ buildPythonPackage rec {
     owner = "ikvk";
     repo = "imap_tools";
     rev = "v${version}";
-    sha256 = "sha256-WNhhQ3iqqwyYyd+iOQVpsKAAfgJwJBaUR7rmYAEYUxw=";
+    sha256 = "sha256-C9396yRSowaLe3E1s+rw8bah77znjfoIhLwJpcqhN6Y=";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/immutabledict/default.nix b/nixpkgs/pkgs/development/python-modules/immutabledict/default.nix
new file mode 100644
index 000000000000..54fef8720ca5
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/immutabledict/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "immutabledict";
+  version = "2.1.0";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "corenting";
+    repo = "immutabledict";
+    rev = "v${version}";
+    sha256 = "1n71154nfb6vr41iv00xcwkxmwnn1vwzbr3s23bjvlhvmnjb48a8";
+  };
+
+  # https://github.com/corenting/immutabledict/issues/56
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace "poetry.masonry.api" "poetry.core.masonry.api"
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  pythonImportsCheck = [
+    "immutabledict"
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "A fork of frozendict, an immutable wrapper around dictionaries";
+    homepage = "https://github.com/corenting/immutabledict";
+    license = licenses.mit;
+    maintainers = with maintainers; [ hexa ];
+  };
+}
+
diff --git a/nixpkgs/pkgs/development/python-modules/immutables/default.nix b/nixpkgs/pkgs/development/python-modules/immutables/default.nix
index 196ea78bba70..896db29f2c1a 100644
--- a/nixpkgs/pkgs/development/python-modules/immutables/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/immutables/default.nix
@@ -1,21 +1,37 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , pytestCheckHook
 , pythonOlder
+, mypy
+, typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "immutables";
-  version = "0.15";
-  disabled = pythonOlder "3.5";
+  version = "0.16";
+  disabled = pythonOlder "3.6";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "3713ab1ebbb6946b7ce1387bb9d1d7f5e09c45add58c2a2ee65f963c171e746b";
+  src = fetchFromGitHub {
+    owner = "MagicStack";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1f6nlpvrs41cjrnikx48qd0rlf7d89h6dzlr5zcndzsim7fgsmgz";
   };
 
-  checkInputs = [ pytestCheckHook ];
+  propagatedBuildInputs = [
+    typing-extensions
+  ];
+
+  checkInputs = [
+    mypy
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    # Version mismatch
+    "testMypyImmu"
+  ];
 
   pythonImportsCheck = [ "immutables" ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/influxdb-client/default.nix b/nixpkgs/pkgs/development/python-modules/influxdb-client/default.nix
index 21e614d7d7c9..437c10c3d849 100644
--- a/nixpkgs/pkgs/development/python-modules/influxdb-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/influxdb-client/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "influxdb-client";
-  version = "1.18.0";
+  version = "1.20.0";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "influxdata";
     repo = "influxdb-client-python";
     rev = "v${version}";
-    sha256 = "0xgp1wxdfa4y316dfkpmj38chlh68mndr8kqphckpnw16qxsl3d9";
+    sha256 = "sha256-VBKGzoLn71BQ5drbdiDjbpfHuYKGqHhuSwq0iNwdfh4=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/inform/default.nix b/nixpkgs/pkgs/development/python-modules/inform/default.nix
index 9f78d86a2be6..2397c0bc4db6 100644
--- a/nixpkgs/pkgs/development/python-modules/inform/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/inform/default.nix
@@ -2,8 +2,6 @@
 , arrow
 , six
 , hypothesis
-, pytest
-, pytest-runner
 , pytestCheckHook
 }:
 
@@ -18,13 +16,18 @@ buildPythonPackage rec {
     sha256 = "114cyff00j9r7qm2ld4w1a4kklr5gx570vk67p56gpr2553dkmly";
   };
 
-  nativeBuildInputs = [ pytest-runner ];
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "pytest-runner>=2.0" ""
+  '';
+
   propagatedBuildInputs = [ arrow six ];
 
-  checkInputs = [ pytest hypothesis ];
-  checkPhase = ''
+  checkInputs = [ pytestCheckHook hypothesis ];
+  preCheck = ''
     patchShebangs test.doctests.py test.inform.py
-    ./test.doctests.py && ./test.inform.py && pytest
+    ./test.doctests.py
+    ./test.inform.py
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/inifile/default.nix b/nixpkgs/pkgs/development/python-modules/inifile/default.nix
index c94c12ab0a8f..1aac6dad0126 100644
--- a/nixpkgs/pkgs/development/python-modules/inifile/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/inifile/default.nix
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     description = "A small INI library for Python";
     homepage    = "https://github.com/mitsuhiko/python-inifile";
     license     = licenses.bsd0;
-    maintainers = with maintainers; [ vozz ];
+    maintainers = with maintainers; [ ];
   };
 
 }
diff --git a/nixpkgs/pkgs/development/python-modules/inotify-simple/default.nix b/nixpkgs/pkgs/development/python-modules/inotify-simple/default.nix
index 898737ca7b49..fe5f8ae9f11b 100644
--- a/nixpkgs/pkgs/development/python-modules/inotify-simple/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/inotify-simple/default.nix
@@ -2,17 +2,19 @@
 
 buildPythonPackage rec {
   pname = "inotify-simple";
-  version = "1.2.1";
+  version = "1.3.5";
 
   src = fetchPypi {
     pname = "inotify_simple";
     inherit version;
-    sha256 = "132craajflksgxxwjawj73nn1ssv8jn58j3k5vvyiq03avbz4sfv";
+    sha256 = "0a61bh087cq5wfrvz680hg5pmykb9gmy26kwyn6ims2akkjgyh44";
   };
 
   # The package has no tests
   doCheck = false;
 
+  pythonImportsCheck = [ "inotify_simple" ];
+
   meta = with lib; {
     description = "A simple Python wrapper around inotify";
     homepage = "https://github.com/chrisjbillington/inotify_simple";
diff --git a/nixpkgs/pkgs/development/python-modules/inotifyrecursive/default.nix b/nixpkgs/pkgs/development/python-modules/inotifyrecursive/default.nix
new file mode 100644
index 000000000000..d0f81abaa47f
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/inotifyrecursive/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, inotify-simple
+}:
+
+buildPythonPackage rec {
+  pname = "inotifyrecursive";
+  version = "0.3.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "osRQsxdpPkU4QW+Q6x14WFBtr+a4uIUDe9LdmuLa+h4=";
+  };
+
+  propagatedBuildInputs = [ inotify-simple ];
+
+  # No tests included
+  doCheck = false;
+  pythonImportsCheck = [ pname ];
+
+  meta = with lib; {
+    description = "Simple recursive inotify watches for Python";
+    homepage = "https://github.com/letorbi/inotifyrecursive";
+    license = licenses.lgpl3Plus;
+    maintainers = with maintainers; [ Flakebi ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/internetarchive/default.nix b/nixpkgs/pkgs/development/python-modules/internetarchive/default.nix
index 20e7986188c5..60a946291ad9 100644
--- a/nixpkgs/pkgs/development/python-modules/internetarchive/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/internetarchive/default.nix
@@ -19,11 +19,11 @@
 
 buildPythonPackage rec {
   pname = "internetarchive";
-  version = "2.0.3";
+  version = "2.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2ce0ab89fea37e5b2311bc7d163955e84f73f6beeac3942e17e9d51ad7cc9ffa";
+    sha256 = "72094f05df39bb1463f61f928f3a7fa0dd236cab185cb8b7e8eb6c85e09acdc4";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ipython/5.nix b/nixpkgs/pkgs/development/python-modules/ipython/5.nix
index a75ceaa0b76d..45096bf77816 100644
--- a/nixpkgs/pkgs/development/python-modules/ipython/5.nix
+++ b/nixpkgs/pkgs/development/python-modules/ipython/5.nix
@@ -19,7 +19,7 @@
 , requests
 , simplegeneric
 , traitlets
-, prompt_toolkit
+, prompt-toolkit
 , pexpect
 , appnope
 }:
@@ -51,7 +51,7 @@ buildPythonPackage rec {
   checkInputs = [ nose pygments testpath ] ++ lib.optional isPy27 mock;
 
   propagatedBuildInputs = [
-    backports_shutil_get_terminal_size decorator pickleshare prompt_toolkit
+    backports_shutil_get_terminal_size decorator pickleshare prompt-toolkit
     simplegeneric traitlets requests pathlib2 pexpect
   ] ++ lib.optionals stdenv.isDarwin [ appnope ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/ipython/7.16.nix b/nixpkgs/pkgs/development/python-modules/ipython/7.16.nix
index 9700737f485e..d0ca5eef7cde 100644
--- a/nixpkgs/pkgs/development/python-modules/ipython/7.16.nix
+++ b/nixpkgs/pkgs/development/python-modules/ipython/7.16.nix
@@ -13,7 +13,7 @@
 , decorator
 , pickleshare
 , traitlets
-, prompt_toolkit
+, prompt-toolkit
 , pexpect
 , appnope
 , backcall
@@ -43,7 +43,7 @@ buildPythonPackage rec {
     decorator
     pickleshare
     traitlets
-    prompt_toolkit
+    prompt-toolkit
     pygments
     pexpect
     backcall
diff --git a/nixpkgs/pkgs/development/python-modules/ipython/default.nix b/nixpkgs/pkgs/development/python-modules/ipython/default.nix
index cd68bb62a12e..e036a3378643 100644
--- a/nixpkgs/pkgs/development/python-modules/ipython/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ipython/default.nix
@@ -14,7 +14,7 @@
 , matplotlib-inline
 , pickleshare
 , traitlets
-, prompt_toolkit
+, prompt-toolkit
 , pexpect
 , appnope
 , backcall
@@ -45,7 +45,7 @@ buildPythonPackage rec {
     matplotlib-inline
     pickleshare
     traitlets
-    prompt_toolkit
+    prompt-toolkit
     pygments
     pexpect
     backcall
diff --git a/nixpkgs/pkgs/development/python-modules/ipyvuetify/default.nix b/nixpkgs/pkgs/development/python-modules/ipyvuetify/default.nix
index 280ba747df70..61fd8d269bab 100644
--- a/nixpkgs/pkgs/development/python-modules/ipyvuetify/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ipyvuetify/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "ipyvuetify";
-  version = "1.7.0";
+  version = "1.8.1";
 
   # GitHub version tries to run npm (Node JS)
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ea951e3819fcfe8a2ba0a0fe8a51f07b01dca7986eaf57f1840b3c71848cc7c3";
+    sha256 = "2d17367ce7da45a2622107d55c8b4c5475aace99ed5d95e5d7d3f93aa4c0c566";
   };
 
   propagatedBuildInputs = [ ipyvue ];
diff --git a/nixpkgs/pkgs/development/python-modules/iso8601/default.nix b/nixpkgs/pkgs/development/python-modules/iso8601/default.nix
index d0a74f400bba..3a255ac047e5 100644
--- a/nixpkgs/pkgs/development/python-modules/iso8601/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/iso8601/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "iso8601";
-  version = "0.1.14";
+  version = "0.1.16";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8aafd56fa0290496c5edbb13c311f78fa3a241f0853540da09d9363eae3ebd79";
+    sha256 = "sha256-NlMvd8yABZTo8WZB7a5/G695MvBdjlCFRblfxTxtyFs=";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/itemadapter/default.nix b/nixpkgs/pkgs/development/python-modules/itemadapter/default.nix
index e1efb9aa673f..5d85ad719527 100644
--- a/nixpkgs/pkgs/development/python-modules/itemadapter/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/itemadapter/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "itemadapter";
-  version = "0.2.0";
+  version = "0.4.0";
 
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cb7aaa577fefe2aa6f229ccf4d058e05f44e0178a98c8fb70ee4d95acfabb423";
+    sha256 = "f05df8da52619da4b8c7f155d8a15af19083c0c7ad941d8c1de799560ad994ca";
   };
 
   doCheck = false; # infinite recursion with Scrapy
@@ -18,6 +18,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Common interface for data container classes";
     homepage = "https://github.com/scrapy/itemadapter";
+    changelog = "https://github.com/scrapy/itemadapter/raw/v${version}/Changelog.md";
     license = licenses.bsd3;
     maintainers = [ maintainers.marsam ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/jc/default.nix b/nixpkgs/pkgs/development/python-modules/jc/default.nix
index 10f09d912e78..bf671fcb1bac 100644
--- a/nixpkgs/pkgs/development/python-modules/jc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jc/default.nix
@@ -4,26 +4,31 @@
 , ruamel_yaml
 , xmltodict
 , pygments
-, isPy27
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "jc";
-  version = "1.15.4";
-  disabled = isPy27;
+  version = "1.16.1";
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "kellyjonbrazil";
-    repo = "jc";
+    repo = pname;
     rev = "v${version}";
-    sha256 = "1y3807i9rlif78qp1vq9n5hpzmc60i9h5ycw70gvf8mgzxxrl8jx";
+    sha256 = "sha256-R/RKMxSilv8JJW5om+l99vvrZYHjEEK1OCdsYWuxA74=";
   };
 
   propagatedBuildInputs = [ ruamel_yaml xmltodict pygments ];
 
   checkInputs = [ pytestCheckHook ];
 
+  pythonImportsCheck = [ "jc" ];
+
+  # tests require timezone to set America/Los_Angeles
+  doCheck = false;
+
   meta = with lib; {
     description = "This tool serializes the output of popular command line tools and filetypes to structured JSON output";
     homepage = "https://github.com/kellyjonbrazil/jc";
diff --git a/nixpkgs/pkgs/development/python-modules/jeepney/default.nix b/nixpkgs/pkgs/development/python-modules/jeepney/default.nix
index cea428a9ffd0..2acf0361bcbc 100644
--- a/nixpkgs/pkgs/development/python-modules/jeepney/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jeepney/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "jeepney";
-  version = "0.6.0";
+  version = "0.7.0";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7d59b6622675ca9e993a6bd38de845051d315f8b0c72cca3aef733a20b648657";
+    sha256 = "1237cd64c8f7ac3aa4b3f332c4d0fb4a8216f39eaa662ec904302d4d77de5a54";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/jellyfish/default.nix b/nixpkgs/pkgs/development/python-modules/jellyfish/default.nix
index 9f4b57ba8979..436aad07bf8c 100644
--- a/nixpkgs/pkgs/development/python-modules/jellyfish/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jellyfish/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "jellyfish";
-  version = "0.8.2";
+  version = "0.8.8";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "02q3d9b933hf8lyvg7w7lgmhij8bjs748vjmsfxhabai04a796d4";
+    sha256 = "0506089cacf9b5897442134417b04b3c6610c19f280ae535eace390dc6325a5c";
   };
 
   checkInputs = [ pytest unicodecsv ];
diff --git a/nixpkgs/pkgs/development/python-modules/jenkins-job-builder/default.nix b/nixpkgs/pkgs/development/python-modules/jenkins-job-builder/default.nix
index 3ae6bf84ae4f..5b3f68272fa2 100644
--- a/nixpkgs/pkgs/development/python-modules/jenkins-job-builder/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jenkins-job-builder/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "jenkins-job-builder";
-  version = "3.9.0";
+  version = "3.10.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4a53e146843d567c375c2e61e70a840d75a412402fd78c1dd3da5642a6aaa375";
+    sha256 = "sha256-8MP8YHIkxDqjPsUYv6ROmuRwcGMzPpsVCRwxga3XdYU=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/jinja2-git/default.nix b/nixpkgs/pkgs/development/python-modules/jinja2-git/default.nix
new file mode 100644
index 000000000000..59b34f6a4fb3
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/jinja2-git/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, jinja2
+, poetry-core
+}:
+
+buildPythonPackage rec {
+  pname = "jinja2-git";
+  version = "unstable-2021-07-20";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "wemake-services";
+    repo = "jinja2-git";
+    # this is master, we can't patch because of poetry.lock :(
+    # luckily, there appear to have been zero API changes since then, only
+    # dependency upgrades
+    rev = "c6d19b207eb6ac07182dc8fea35251d286c82512";
+    sha256 = "0yw0318w57ksn8azmdyk3zmyzfhw0k281fddnxyf4115bx3aph0g";
+  };
+
+  nativeBuildInputs = [ poetry-core ];
+  propagatedBuildInputs = [ jinja2 ];
+  pythonImportsCheck = [ "jinja2_git" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/wemake-services/jinja2-git";
+    description = "Jinja2 extension to handle git-specific things";
+    license = licenses.mit;
+    maintainers = with maintainers; [ cpcloud ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/joblib/default.nix b/nixpkgs/pkgs/development/python-modules/joblib/default.nix
index e8d2ced7602b..aad27b5ae636 100644
--- a/nixpkgs/pkgs/development/python-modules/joblib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/joblib/default.nix
@@ -5,7 +5,7 @@
 , stdenv
 , numpydoc
 , pytestCheckHook
-, python-lz4
+, lz4
 , setuptools
 , sphinx
 }:
@@ -22,7 +22,7 @@ buildPythonPackage rec {
   };
 
   checkInputs = [ sphinx numpydoc pytestCheckHook ];
-  propagatedBuildInputs = [ python-lz4 setuptools ];
+  propagatedBuildInputs = [ lz4 setuptools ];
 
   pytestFlagsArray = [ "joblib/test" ];
   disabledTests = [
diff --git a/nixpkgs/pkgs/development/python-modules/jq/default.nix b/nixpkgs/pkgs/development/python-modules/jq/default.nix
index f9f71a587ab9..3833bf9850f8 100644
--- a/nixpkgs/pkgs/development/python-modules/jq/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jq/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "jq";
-  version = "1.1.3";
+  version = "1.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1ryxcll7601ki9rwlnryhhxpmwwnxs2qxq7kjm2b0xcqgzx1vv7r";
+    sha256 = "73ce588025495e6ebcda20bb9e64b6d9f3f1657c22895143ae243899ac710cbc";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/junos-eznc/default.nix b/nixpkgs/pkgs/development/python-modules/junos-eznc/default.nix
index c98f20be5234..6dcc8e927318 100644
--- a/nixpkgs/pkgs/development/python-modules/junos-eznc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/junos-eznc/default.nix
@@ -18,11 +18,11 @@
 
 buildPythonPackage rec {
   pname = "junos-eznc";
-  version = "2.6.1";
+  version = "2.6.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2f5de7dedaac8dd71bfea23c6a7d883e29947c91de1ba299a9242e0a4406ee46";
+    sha256 = "878c479c933346cc8cc60b6d145973568ac23e7c453e193cf55625e7921a9b62";
   };
 
   postPatch = ''
@@ -40,6 +40,8 @@ buildPythonPackage rec {
     nosetests -v --with-coverage --cover-package=jnpr.junos --cover-inclusive -a unit
   '';
 
+  pythonImportsCheck = [ "jnpr.junos" ];
+
   meta = with lib; {
     homepage = "http://www.github.com/Juniper/py-junos-eznc";
     description = "Junos 'EZ' automation for non-programmers";
diff --git a/nixpkgs/pkgs/development/python-modules/jupyter-repo2docker/default.nix b/nixpkgs/pkgs/development/python-modules/jupyter-repo2docker/default.nix
index 7597df0d76aa..1b352f1e24c9 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyter-repo2docker/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyter-repo2docker/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, fetchPypi, pythonAtLeast
+{ lib, buildPythonPackage, fetchPypi, pythonOlder
 , docker
 , escapism
 , jinja2
@@ -14,7 +14,7 @@
 buildPythonPackage rec {
   version = "2021.3.0";
   pname = "jupyter-repo2docker";
-  disabled = !(pythonAtLeast "3.4");
+  disabled = pythonOlder "3.4";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/nixpkgs/pkgs/development/python-modules/jupyter_console/5.nix b/nixpkgs/pkgs/development/python-modules/jupyter_console/5.nix
index 440f22b13321..2072b24a3781 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyter_console/5.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyter_console/5.nix
@@ -5,7 +5,7 @@
 , jupyter_client
 , ipython
 , ipykernel
-, prompt_toolkit
+, prompt-toolkit
 , pygments
 }:
 
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     jupyter_client
     ipython
     ipykernel
-    prompt_toolkit
+    prompt-toolkit
     pygments
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/jupyter_console/default.nix b/nixpkgs/pkgs/development/python-modules/jupyter_console/default.nix
index 22e057a5654e..2858f008c2ce 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyter_console/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyter_console/default.nix
@@ -5,7 +5,7 @@
 , jupyter_client
 , ipython
 , ipykernel
-, prompt_toolkit
+, prompt-toolkit
 , pygments
 , pythonOlder
 }:
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     jupyter_client
     ipython
     ipykernel
-    prompt_toolkit
+    prompt-toolkit
     pygments
   ];
   checkInputs = [ nose ];
diff --git a/nixpkgs/pkgs/development/python-modules/jupyter_server/default.nix b/nixpkgs/pkgs/development/python-modules/jupyter_server/default.nix
index a8ae35e2bdd0..72e1540e0781 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyter_server/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyter_server/default.nix
@@ -17,7 +17,7 @@
 , nbconvert
 , send2trash
 , terminado
-, prometheus_client
+, prometheus-client
 , anyio
 , websocket-client
 , requests
@@ -46,7 +46,7 @@ buildPythonPackage rec {
     nbconvert
     send2trash
     terminado
-    prometheus_client
+    prometheus-client
     anyio
     websocket-client
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/jupyterhub/default.nix b/nixpkgs/pkgs/development/python-modules/jupyterhub/default.nix
index 904cd7df0c2a..a90fa0eb9a13 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyterhub/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyterhub/default.nix
@@ -13,7 +13,7 @@
 , jupyter-telemetry
 , oauthlib
 , pamela
-, prometheus_client
+, prometheus-client
 , requests
 , sqlalchemy
 , tornado
@@ -121,7 +121,7 @@ buildPythonPackage rec {
     jupyter-telemetry
     oauthlib
     pamela
-    prometheus_client
+    prometheus-client
     requests
     sqlalchemy
     tornado
diff --git a/nixpkgs/pkgs/development/python-modules/jupyterlab/default.nix b/nixpkgs/pkgs/development/python-modules/jupyterlab/default.nix
index 95ef21388590..6264bbb5c44e 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyterlab/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyterlab/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "jupyterlab";
-  version = "3.0.16";
+  version = "3.1.6";
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7ad4fbe1f6d38255869410fd151a8b15692a663ca97c0a8146b3f5c40e275c23";
+    sha256 = "6d2ada6a333861f33a1b555d3cb7b07aa9d1ab80f07997b3d0c43878a98c1174";
   };
 
   nativeBuildInputs = [ jupyter-packaging ];
diff --git a/nixpkgs/pkgs/development/python-modules/jupyterlab_server/default.nix b/nixpkgs/pkgs/development/python-modules/jupyterlab_server/default.nix
index 2c60d7b3b273..cca40463b024 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyterlab_server/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyterlab_server/default.nix
@@ -16,12 +16,12 @@
 
 buildPythonPackage rec {
   pname = "jupyterlab_server";
-  version = "2.6.0";
+  version = "2.7.0";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f300adf6bb0a952bebe9c807a3b2a345d62da39b476b4f69ea0dc6b5f3f6b97d";
+    sha256 = "31457ef564febc42043bc539356c804f6f9144f602e2852150bf0820ed6d7e18";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/jwcrypto/default.nix b/nixpkgs/pkgs/development/python-modules/jwcrypto/default.nix
index 182cfd0d485c..ca7319eeb1fc 100644
--- a/nixpkgs/pkgs/development/python-modules/jwcrypto/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jwcrypto/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "jwcrypto";
-  version = "0.9.1";
+  version = "1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "63531529218ba9869e14ef8c9e7b516865ede3facf9b0ef3d3ba68014da211f9";
+    sha256 = "f88816eb0a41b8f006af978ced5f171f33782525006cdb055b536a40f4d46ac9";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/karton-dashboard/default.nix b/nixpkgs/pkgs/development/python-modules/karton-dashboard/default.nix
index c2251a0e2363..ad7d87138569 100644
--- a/nixpkgs/pkgs/development/python-modules/karton-dashboard/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/karton-dashboard/default.nix
@@ -4,31 +4,31 @@
 , flask
 , karton-core
 , mistune
-, prometheus_client
+, prometheus-client
 }:
 
 buildPythonPackage rec {
   pname = "karton-dashboard";
-  version = "1.2.0";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     owner = "CERT-Polska";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0qygv9lkd1jad5b4l0zz6hsi7m8q0fmpwaa6hpp7p9x6ql7gnyl8";
+    sha256 = "sha256-C1wtpHyuTlNS6Se1rR0RGUl3xht4aphAtddKlIsOAkI=";
   };
 
   propagatedBuildInputs = [
     flask
     karton-core
     mistune
-    prometheus_client
+    prometheus-client
   ];
 
   postPatch = ''
     substituteInPlace requirements.txt \
       --replace "Flask==1.1.1" "Flask" \
-      --replace "prometheus_client==0.9.0" "prometheus-client"
+      --replace "prometheus-client==0.9.0" "prometheus-client"
   '';
 
   # Project has no tests. pythonImportsCheck requires MinIO configuration
diff --git a/nixpkgs/pkgs/development/python-modules/klein/default.nix b/nixpkgs/pkgs/development/python-modules/klein/default.nix
index f4c26edd0e4a..a2870f3ca70d 100644
--- a/nixpkgs/pkgs/development/python-modules/klein/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/klein/default.nix
@@ -1,35 +1,29 @@
-{ lib, buildPythonPackage, fetchPypi, fetchpatch
-, six, twisted, werkzeug, incremental
-, mock }:
+{ lib, buildPythonPackage, fetchPypi, python
+, attrs, enum34, hyperlink, incremental, six, twisted, typing, tubes, werkzeug, zope_interface
+, hypothesis, treq
+}:
 
 buildPythonPackage rec {
   pname = "klein";
-  version = "17.10.0";
+  version = "21.8.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "30aaf0d78a987d5dbfe0968a07367ad0c73e02823cc8eef4c54f80ab848370d0";
+    sha256 = "1mpydmz90d0n9dwa7mr6pgj5v0kczfs05ykssrasdq368dssw7ch";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "tests-expect-werkzeug-308.patch";
-      url = "https://github.com/twisted/klein/commit/e2a5835b83e37a2bc5faefbfe1890c529b18b9c6.patch";
-      sha256 = "03j0bj3l3hnf7f96rb27i4bzy1iih79ll5bcah7gybdi1wpznh8w";
-    })
-  ];
+  propagatedBuildInputs = [ attrs enum34 hyperlink incremental six twisted typing tubes werkzeug zope_interface ];
 
-  propagatedBuildInputs = [ six twisted werkzeug incremental ];
-
-  checkInputs = [ mock twisted ];
+  checkInputs = [ hypothesis treq ];
 
   checkPhase = ''
-    trial klein
+    ${python.interpreter} -m twisted.trial -j $NIX_BUILD_CORES klein
   '';
 
   meta = with lib; {
     description = "Klein Web Micro-Framework";
     homepage    = "https://github.com/twisted/klein";
     license     = licenses.mit;
+    maintainers = with maintainers; [ exarkun ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/leb128/default.nix b/nixpkgs/pkgs/development/python-modules/leb128/default.nix
new file mode 100644
index 000000000000..fa71abd735e7
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/leb128/default.nix
@@ -0,0 +1,24 @@
+{ buildPythonPackage, fetchFromGitHub, pytestCheckHook, lib }:
+
+buildPythonPackage rec {
+  pname = "leb128";
+  version = "1.0.4";
+
+  # fetchPypi doesn't include files required for tests
+  src = fetchFromGitHub {
+    owner = "mohanson";
+    repo = "leb128";
+    rev = "v${version}";
+    sha256 = "040l6fxyzqal841kirf783kk1840gcy1gjd374jfr46v96qc8scm";
+  };
+
+  checkInputs = [ pytestCheckHook ];
+  pythonImportsCheck = [ "leb128" ];
+
+  meta = with lib; {
+    description = "A utility to encode and decode Little Endian Base 128";
+    homepage = "https://github.com/mohanson/leb128";
+    license = licenses.mit;
+    maintainers = with maintainers; [ urlordjames ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/ledgerblue/default.nix b/nixpkgs/pkgs/development/python-modules/ledgerblue/default.nix
index a70923de2bea..bb5f71d73206 100644
--- a/nixpkgs/pkgs/development/python-modules/ledgerblue/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ledgerblue/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "ledgerblue";
-  version = "0.1.35";
+  version = "0.1.37";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "44fbd8fcf62430a6b84d4e826a9ef7fc21c77a7d8ff275f3952d6086ef06d076";
+    sha256 = "f34945c9bd4b9846ed9e48ecc239d3e9aec64c3a45411092d133260246169854";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ledgerwallet/default.nix b/nixpkgs/pkgs/development/python-modules/ledgerwallet/default.nix
index 42bc0c391295..7650e375b41f 100644
--- a/nixpkgs/pkgs/development/python-modules/ledgerwallet/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ledgerwallet/default.nix
@@ -36,6 +36,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/LedgerHQ/ledgerctl";
     description = "A library to control Ledger devices";
     license = licenses.mit;
-    maintainers = with maintainers; [ xwvvvvwx ];
+    maintainers = with maintainers; [ d-xo ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/lektor/default.nix b/nixpkgs/pkgs/development/python-modules/lektor/default.nix
index febb1b1f0b16..a094bf6b37e6 100644
--- a/nixpkgs/pkgs/development/python-modules/lektor/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/lektor/default.nix
@@ -49,7 +49,7 @@ buildPythonPackage rec {
     description = "A static content management system";
     homepage    = "https://www.getlektor.com/";
     license     = licenses.bsd0;
-    maintainers = with maintainers; [ vozz costrouc ];
+    maintainers = with maintainers; [ costrouc ];
   };
 
 }
diff --git a/nixpkgs/pkgs/development/python-modules/libagent/default.nix b/nixpkgs/pkgs/development/python-modules/libagent/default.nix
index 24d8ada58902..a485bf3a604b 100644
--- a/nixpkgs/pkgs/development/python-modules/libagent/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/libagent/default.nix
@@ -2,6 +2,8 @@
   unidecode, mock, pytest , backports-shutil-which, configargparse,
   python-daemon, pymsgbox }:
 
+# XXX: when changing this package, please test the package onlykey-agent.
+
 buildPythonPackage rec {
   pname = "libagent";
   version = "0.14.1";
diff --git a/nixpkgs/pkgs/development/python-modules/limnoria/default.nix b/nixpkgs/pkgs/development/python-modules/limnoria/default.nix
index b8b13fab29c2..0afd8902d956 100644
--- a/nixpkgs/pkgs/development/python-modules/limnoria/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/limnoria/default.nix
@@ -2,24 +2,25 @@
 , buildPythonPackage
 , fetchPypi
 , isPy27
-, pkgs
+, git
 }:
 
 buildPythonPackage rec {
   pname = "limnoria";
-  version = "2021.06.15";
+  version = "2021.07.21";
   disabled = isPy27; # abandoned upstream
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "47290281f3f945261a7f8d8c6f207dcb1d277b241f58827d5a76ab8cd453a1d0";
+    sha256 = "80ca1db9648e7678f81b373dab04d06025ec6532e68a9be773ddbd159de54e4c";
   };
 
-  patchPhase = ''
+  postPatch = ''
     sed -i 's/version=version/version="${version}"/' setup.py
   '';
-  buildInputs = [ pkgs.git ];
+  buildInputs = [ git ];
 
+  # cannot be imported
   doCheck = false;
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/loca/default.nix b/nixpkgs/pkgs/development/python-modules/loca/default.nix
new file mode 100644
index 000000000000..8ad0a4adbe74
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/loca/default.nix
@@ -0,0 +1,25 @@
+{ lib, buildPythonPackage, pythonOlder, fetchFromSourcehut }:
+
+buildPythonPackage rec {
+  pname = "loca";
+  version = "2.0.1";
+  format = "flit";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromSourcehut {
+    owner = "~cnx";
+    repo = pname;
+    rev = version;
+    sha256 = "1l6jimw3wd81nz1jrzsfw1zzsdm0jm998xlddcqaq0h38sx69w8g";
+  };
+
+  doCheck = false; # all checks are static analyses
+  pythonImportsCheck = [ "loca" ];
+
+  meta = with lib; {
+    description = "Local locations";
+    homepage = "https://pypi.org/project/loca";
+    license = licenses.lgpl3Plus;
+    maintainers = [ maintainers.McSinyx ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/locationsharinglib/default.nix b/nixpkgs/pkgs/development/python-modules/locationsharinglib/default.nix
index 4baf8600ac76..42cf477ca160 100644
--- a/nixpkgs/pkgs/development/python-modules/locationsharinglib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/locationsharinglib/default.nix
@@ -14,12 +14,12 @@
 
 buildPythonPackage rec {
   pname = "locationsharinglib";
-  version = "4.1.6";
-  disabled = pythonOlder "3.6";
+  version = "4.1.8";
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "092j8z01nwjqh5zr7aj8mxl1zjd3j2irhrs39dhn47bd6db2a6ij";
+    sha256 = "sha256-69NzKSWpuU0Riwlj6cFC4h/shc/83e1mpq++zxDqftY=";
   };
 
   propagatedBuildInputs = [
@@ -39,6 +39,8 @@ buildPythonPackage rec {
     # Tests requirements want to pull in multiple modules which we don't need
     substituteInPlace setup.py \
       --replace "tests_require=test_requirements" "tests_require=[]"
+     substituteInPlace requirements.txt \
+       --replace "coloredlogs>=15.0.1" "coloredlogs"
   '';
 
   checkPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/luddite/default.nix b/nixpkgs/pkgs/development/python-modules/luddite/default.nix
new file mode 100644
index 000000000000..7e8a1c5dfedd
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/luddite/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, pytestCheckHook
+, pytest-socket
+, pytest-mock
+}:
+
+buildPythonPackage rec {
+  pname = "luddite";
+  version = "1.0.2";
+
+  src = fetchFromGitHub {
+    owner = "jumptrading";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "8/7uwO5HLhyXYt+T6VUO/O7TN9+FfRlT8y0r5+CJ/l4=";
+  };
+
+  postPatch = ''
+    substituteInPlace pytest.ini \
+      --replace "--cov=luddite --cov-report=html --cov-report=term --no-cov-on-fail" ""
+  '';
+
+  propagatedBuildInputs = [ setuptools ];
+
+  checkInputs = [ pytestCheckHook pytest-socket pytest-mock ];
+  pythonImportsCheck = [ "luddite" ];
+
+  meta = with lib; {
+    description = "Checks for out-of-date package versions";
+    homepage = "https://github.com/jumptrading/luddite";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ angustrau ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/lupa/default.nix b/nixpkgs/pkgs/development/python-modules/lupa/default.nix
index e50404e50472..681ef649d8fb 100644
--- a/nixpkgs/pkgs/development/python-modules/lupa/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/lupa/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "lupa";
-  version = "1.9";
+  version = "1.10";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "13ifv0nxbf70xg69sp49j484m8cnid7rgh8f94pgfb50dj01vqd3";
+    sha256 = "sha256-4lEbJ/OB9v22bvQNzFGCFQOBl0MbJBk1Z438PVEXgjE=";
   };
 
   nativeBuildInputs = [ cython ];
diff --git a/nixpkgs/pkgs/development/python-modules/python-lz4/default.nix b/nixpkgs/pkgs/development/python-modules/lz4/default.nix
index 180264f102d0..180264f102d0 100644
--- a/nixpkgs/pkgs/development/python-modules/python-lz4/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/lz4/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/maestral/default.nix b/nixpkgs/pkgs/development/python-modules/maestral/default.nix
index 50180f43b8ed..e1dc687f54fb 100644
--- a/nixpkgs/pkgs/development/python-modules/maestral/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/maestral/default.nix
@@ -5,18 +5,19 @@
 , python
 , click, desktop-notifier, dropbox, fasteners, keyring, keyrings-alt, packaging, pathspec, Pyro5, requests, setuptools, sdnotify, survey, watchdog
 , importlib-metadata
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "maestral";
-  version = "1.4.6";
+  version = "1.4.8";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "SamSchott";
     repo = "maestral";
     rev = "v${version}";
-    sha256 = "sha256-kaRcM8Z0xeDp3JYputKZmzTfYYq2oKpF7AM6ciFF7I4=";
+    sha256 = "sha256-sxPogzQW+P8yrqaaJHrQu7e0ztgwWUI0kLikcmrhYoQ=";
   };
 
   propagatedBuildInputs = [
@@ -44,8 +45,24 @@ buildPythonPackage rec {
     "--prefix" "PYTHONPATH" ":" "$out/lib/${python.libPrefix}/site-packages"
   ];
 
-  # no tests
-  doCheck = false;
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    # We don't want to benchmark
+    "test_performance"
+    # Requires systemd
+    "test_autostart"
+    # Requires network access
+    "test_check_for_updates"
+    # Tries to look at /usr
+    "test_filestatus"
+    "test_path_exists_case_insensitive"
+    "test_cased_path_candidates"
+  ];
+
+  pythonImportsCheck = [ "maestral" ];
 
   meta = with lib; {
     description = "Open-source Dropbox client for macOS and Linux";
diff --git a/nixpkgs/pkgs/development/python-modules/mailmanclient/default.nix b/nixpkgs/pkgs/development/python-modules/mailmanclient/default.nix
index c19daed1b9fb..55b3b7bc14fe 100644
--- a/nixpkgs/pkgs/development/python-modules/mailmanclient/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mailmanclient/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "mailmanclient";
-  version = "3.3.2";
+  version = "3.3.3";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4082ac0c66d7f7bee15751fe2564098b971177c0013e66d0c8ceee1ebdcb5592";
+    sha256 = "92fe624675e41f41f59de1208e0125dfaa8d062bbe6138bd7cd79e4dd0b6f85e";
   };
 
   propagatedBuildInputs = [ six httplib2 requests ];
diff --git a/nixpkgs/pkgs/development/python-modules/markdown-it-py/default.nix b/nixpkgs/pkgs/development/python-modules/markdown-it-py/default.nix
index dc8866350b1f..8d75139dddcb 100644
--- a/nixpkgs/pkgs/development/python-modules/markdown-it-py/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/markdown-it-py/default.nix
@@ -44,7 +44,7 @@ buildPythonPackage rec {
     pytest-regressions
     pytestCheckHook
   ];
-  pytestImportsCheck = [ "markdown_it" ];
+  pythonImportsCheck = [ "markdown_it" ];
 
   meta = with lib; {
     description = "Markdown parser done right";
diff --git a/nixpkgs/pkgs/development/python-modules/markdown2/default.nix b/nixpkgs/pkgs/development/python-modules/markdown2/default.nix
index b40254f08987..8b9fa1181452 100644
--- a/nixpkgs/pkgs/development/python-modules/markdown2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/markdown2/default.nix
@@ -2,14 +2,14 @@
 
 buildPythonPackage rec {
   pname = "markdown2";
-  version = "2.4.0";
+  version = "2.4.1";
 
   # PyPI does not contain tests, so using GitHub instead.
   src = fetchFromGitHub {
     owner = "trentm";
     repo = "python-markdown2";
     rev = version;
-    sha256 = "sha256:03qmf087phpj0h9hx111k4r5pkm48dhb61mqhp1v75gd09k0z79z";
+    sha256 = "0y7kh9jj8ys00qkfmmyqj63y21g7wn7yr715kj0j1nabs6xbp0y7";
   };
 
   checkInputs = [ pygments ];
diff --git a/nixpkgs/pkgs/development/python-modules/matrix-client/default.nix b/nixpkgs/pkgs/development/python-modules/matrix-client/default.nix
index 354eace5047d..6605009b8fdd 100644
--- a/nixpkgs/pkgs/development/python-modules/matrix-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/matrix-client/default.nix
@@ -1,25 +1,40 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, pytestCheckHook
 , requests
-, pytest, pytest-runner, responses
+, responses
+, urllib3
 }:
 
 buildPythonPackage rec {
   pname = "matrix_client";
-  version = "0.3.2";
+  version = "0.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1mgjd0ymf9mvqjkvgx3xjhxap7rzdmpa21wfy0cxbw2xcswcrqyw";
+    sha256 = "0mii7ib3bah5ppqs7i8sjv5l0zbl57011908m4l0jbyby90ayy06";
   };
 
-  checkInputs = [ pytest pytest-runner responses ];
+  propagatedBuildInputs = [
+    requests
+    urllib3
+  ];
 
-  propagatedBuildInputs = [ requests ];
+  checkInputs = [
+    pytestCheckHook
+    responses
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.py --replace \
+      "pytest-runner~=5.1" ""
+  '';
+
+  pythonImportsCheck = [ "matrix_client" ];
 
   meta = with lib; {
-    description = "Matrix Client-Server SDK";
+    description = "Python Matrix Client-Server SDK";
     homepage = "https://github.com/matrix-org/matrix-python-sdk";
     license = licenses.asl20;
     maintainers = with maintainers; [ olejorgenb ];
diff --git a/nixpkgs/pkgs/development/python-modules/mautrix/default.nix b/nixpkgs/pkgs/development/python-modules/mautrix/default.nix
index 9ab850ed0104..f0005eef61bf 100644
--- a/nixpkgs/pkgs/development/python-modules/mautrix/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mautrix/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "mautrix";
-  version = "0.9.8";
+  version = "0.10.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1yx9ybpw9ppym8k2ky5pxh3f2icpmk887i8ipwixrcrnml3q136p";
+    sha256 = "b7d52d72a9739963b6d39d5e58ef367c00490a90cf7795f23c8b2e2c140c8882";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/mayavi/default.nix b/nixpkgs/pkgs/development/python-modules/mayavi/default.nix
index 2fd536609076..169928e48b68 100644
--- a/nixpkgs/pkgs/development/python-modules/mayavi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mayavi/default.nix
@@ -1,17 +1,17 @@
-{ lib, buildPythonPackage, isPy27, fetchPypi, wrapQtAppsHook
+{ lib, buildPythonPackage, pythonOlder, fetchPypi, wrapQtAppsHook
 , pyface, pygments, numpy, vtk, traitsui, envisage, apptools, pyqt5
 }:
 
 buildPythonPackage rec {
   pname = "mayavi";
-  version = "4.7.1";
+  version = "4.7.3";
 
-  disabled = isPy27;
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    extension = "tar.bz2";
-    sha256 = "095p7mds6kqqrp7xqv24iygr3mw85rm7x41wb5y4yc3gi1pznldy";
+    extension = "tar.gz";
+    sha256 = "Zw0AI7nNLSNGxFHbm6L2HaI6XfUDOyWuqJy22BuUZPA=";
   };
 
   postPatch = ''
@@ -31,6 +31,7 @@ buildPythonPackage rec {
   ];
 
   doCheck = false; # Needs X server
+  pythonImportsCheck = [ "mayavi" ];
 
   preFixup = ''
     makeWrapperArgs+=("''${qtWrapperArgs[@]}")
diff --git a/nixpkgs/pkgs/development/python-modules/mcstatus/default.nix b/nixpkgs/pkgs/development/python-modules/mcstatus/default.nix
index 31ce83512af2..45e0c2d00aa6 100644
--- a/nixpkgs/pkgs/development/python-modules/mcstatus/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mcstatus/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "mcstatus";
-  version = "6.4.0";
+  version = "6.5.0";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "Dinnerbone";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-pJ5TY9tbdhVW+kou+n5fMgCdHVBK6brBrlGIuO+VIK0=";
+    sha256 = "00xi3452lap4zx38msx89vvhrzkzb2dvwis1fcmx24qngj9g3yfr";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/md-toc/default.nix b/nixpkgs/pkgs/development/python-modules/md-toc/default.nix
index e5321430dc52..fcc102926b8d 100644
--- a/nixpkgs/pkgs/development/python-modules/md-toc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/md-toc/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "md-toc";
-  version = "8.0.0";
+  version = "8.0.1";
   disabled = pythonOlder "3.5";
 
   src = fetchFromGitHub {
     owner = "frnmst";
     repo = pname;
     rev = version;
-    sha256 = "sha256-w5/oIeA9POth8bMszPH53RK1FM9PhmPdn4w9wxlqQ+g=";
+    sha256 = "sha256-nh9KxjwF+O4n0qVo9yPP6fvKB5XFICh+Ak6oD2fQVdk=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/mdformat/default.nix b/nixpkgs/pkgs/development/python-modules/mdformat/default.nix
index 780cafa599db..43f95bc952a2 100644
--- a/nixpkgs/pkgs/development/python-modules/mdformat/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mdformat/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "mdformat";
-  version = "0.7.7";
+  version = "0.7.9";
   format = "pyproject";
   disabled = pythonOlder "3.6";
 
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "executablebooks";
     repo = pname;
     rev = version;
-    sha256 = "sha256-1qwluHxZnSuyNJENzeJzkuhIQN5njTOch2Wz45J0qRI=";
+    sha256 = "sha256-qGRZCDo/ACSXtJa4omepjaR0KNWeR4vvvUUbQpKlrtI=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/mecab-python3/default.nix b/nixpkgs/pkgs/development/python-modules/mecab-python3/default.nix
index bb5ffb7de791..ad717e9d0c8f 100644
--- a/nixpkgs/pkgs/development/python-modules/mecab-python3/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mecab-python3/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "mecab-python3";
-  version = "1.0.3";
+  version = "1.0.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "62abe28a1155398325372291483608427bc82681fef80e7d132904415f9fd42e";
+    sha256 = "b150ad5fe4260539b4ef184657e552ef81307fbbe60ae1f258bc814549ea90f8";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/mechanize/default.nix b/nixpkgs/pkgs/development/python-modules/mechanize/default.nix
index 7eb119fa9559..5309855fb49e 100644
--- a/nixpkgs/pkgs/development/python-modules/mechanize/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mechanize/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "mechanize";
-  version = "0.4.5";
+  version = "0.4.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6355c11141f6d4b54a17fc2106944806b5db2711e60b120d15d83db438c333fd";
+    sha256 = "d16cea241253b5eb6380bf8a46627cad91d1f2c3f93a33279a31ce276d6c5d44";
   };
 
   propagatedBuildInputs = [ html5lib ];
diff --git a/nixpkgs/pkgs/development/python-modules/memory-allocator/default.nix b/nixpkgs/pkgs/development/python-modules/memory-allocator/default.nix
new file mode 100644
index 000000000000..cbb521ea985a
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/memory-allocator/default.nix
@@ -0,0 +1,27 @@
+{ lib
+, fetchPypi
+, buildPythonPackage
+, cython
+}:
+
+buildPythonPackage rec {
+  pname = "memory-allocator";
+  version = "0.1.0";
+
+  src = fetchPypi {
+    inherit version;
+    pname = "memory_allocator";
+    sha256 = "sha256-UUcR71e3eAQIQpmWM+AVQxVtgHvrNjaIlHo5pURUln0=";
+  };
+
+  propagatedBuildInputs = [ cython ];
+
+  pythonImportsCheck = [ "memory_allocator" ];
+
+  meta = with lib; {
+    description = "An extension class to allocate memory easily with cython";
+    homepage = "https://github.com/sagemath/memory_allocator/";
+    maintainers = teams.sage.members;
+    license = licenses.lgpl3Plus;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/meshio/default.nix b/nixpkgs/pkgs/development/python-modules/meshio/default.nix
index 2c293b3b9c26..e9b74d02b070 100644
--- a/nixpkgs/pkgs/development/python-modules/meshio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/meshio/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "meshio";
-  version = "4.3.10";
+  version = "4.4.6";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1i34bk8bbc0dnizrlgj0yxnbzyvndkmnl6ryymxgcl9rv1abkfki";
+    sha256 = "0kv832s2vyff30zz8yqypw5jifwdanvh5x56d2bzkvy94h4jlddy";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/micawber/default.nix b/nixpkgs/pkgs/development/python-modules/micawber/default.nix
index 97681291a63a..a7956241adf2 100644
--- a/nixpkgs/pkgs/development/python-modules/micawber/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/micawber/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "micawber";
-  version = "0.5.3";
+  version = "0.5.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "05ef4c89e307e3031dd1d85a3a557cd7f9f900f7dbbbcb33dde454940ca38460";
+    sha256 = "003c5345aafe84f6b60fd289c003e8b1fef04c14e015c2d52d792a6b88135c89";
   };
 
   propagatedBuildInputs = [ beautifulsoup4 ];
diff --git a/nixpkgs/pkgs/development/python-modules/micloud/default.nix b/nixpkgs/pkgs/development/python-modules/micloud/default.nix
index 3b3bf4484497..8fdc7910fe83 100644
--- a/nixpkgs/pkgs/development/python-modules/micloud/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/micloud/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "micloud";
-  version = "0.3";
+  version = "0.4";
 
   src = fetchFromGitHub {
     owner = "Squachen";
     repo = "micloud";
     rev = "v_${version}";
-    sha256 = "0267zyr79nfb5f9rwdwq3ym258yrpxx1b71xiqmszyz5s83mcixm";
+    sha256 = "01z1qfln6f7pnxb4ssmyygyamnfgh36fzgn85s8axdwy8wrch20x";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/millheater/default.nix b/nixpkgs/pkgs/development/python-modules/millheater/default.nix
index 9a329ef26515..3c68a5767231 100644
--- a/nixpkgs/pkgs/development/python-modules/millheater/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/millheater/default.nix
@@ -1,3 +1,4 @@
+
 { lib
 , aiohttp
 , async-timeout
@@ -9,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "millheater";
-  version = "0.5.0";
+  version = "0.5.2";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "Danielhiversen";
     repo = "pymill";
     rev = version;
-    sha256 = "sha256-uMvCpXz+amb5mR9ebkAit21UFYpsTkjkZRXtmcvWt8k=";
+    sha256 = "0ndfxdg10m9mahnwbs66dnyc1lr8q7vs71y6zwxlc0h27hr3gr0d";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/motioneye-client/default.nix b/nixpkgs/pkgs/development/python-modules/motioneye-client/default.nix
index a769128fd861..35632e780e7e 100644
--- a/nixpkgs/pkgs/development/python-modules/motioneye-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/motioneye-client/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "motioneye-client";
-  version = "0.3.9";
+  version = "0.3.11";
   format = "pyproject";
   disabled = pythonOlder "3.8";
 
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "dermotduffy";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-pLdAxBipmr+HUr9NSupm7h/68PK95r3zY/qZTBs1m54=";
+    sha256 = "0f34ig8njyn7dzy8272m0b1nlnnhir58ar3vx4zps10i0dc32hb2";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/mpldatacursor/default.nix b/nixpkgs/pkgs/development/python-modules/mpldatacursor/default.nix
new file mode 100644
index 000000000000..b14470ca215a
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/mpldatacursor/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, matplotlib
+}:
+
+buildPythonPackage rec {
+  pname = "mpldatacursor";
+  version = "0.7.1";
+
+  src = fetchFromGitHub {
+    owner = "joferkington";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0i1lwl6x6hgjq4xwsc138i4v5895lmnpfqwpzpnj5mlck6fy6rda";
+  };
+
+  propagatedBuildInputs = [ matplotlib ];
+
+  # No tests included in archive
+  doCheck = false;
+
+  pythonImportsCheck = [ "mpldatacursor" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/joferkington/mpldatacursor";
+    description = "Interactive data cursors for matplotlib";
+    license = licenses.mit;
+    maintainers = with maintainers; [ bzizou ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/msal/default.nix b/nixpkgs/pkgs/development/python-modules/msal/default.nix
index b5095cc59102..2a1206bef6f9 100644
--- a/nixpkgs/pkgs/development/python-modules/msal/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/msal/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "msal";
-  version = "1.12.0";
+  version = "1.14.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5cc93f09523c703d4e00a901cf719ade4faf2c3d14961ba52060ae78d5b25327";
+    sha256 = "0d389ef5db19ca8a30ae88fe05ba633a4623d3202d90f8dfcc81973dc28ee834";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/msldap/default.nix b/nixpkgs/pkgs/development/python-modules/msldap/default.nix
index 649276ef252f..f0e6e5abaa99 100644
--- a/nixpkgs/pkgs/development/python-modules/msldap/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/msldap/default.nix
@@ -4,7 +4,7 @@
 , asn1crypto
 , asysocks
 , minikerberos
-, prompt_toolkit
+, prompt-toolkit
 , tqdm
 , winacl
 , winsspi
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     asn1crypto
     asysocks
     minikerberos
-    prompt_toolkit
+    prompt-toolkit
     tqdm
     winacl
     winsspi
diff --git a/nixpkgs/pkgs/development/python-modules/multimethod/default.nix b/nixpkgs/pkgs/development/python-modules/multimethod/default.nix
index ded279cd8606..af2e5950dc2d 100644
--- a/nixpkgs/pkgs/development/python-modules/multimethod/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/multimethod/default.nix
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     pytest-cov
   ];
 
-  pythomImportsCheck = [
+  pythonImportsCheck = [
     "multimethod"
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/mutesync/default.nix b/nixpkgs/pkgs/development/python-modules/mutesync/default.nix
index 98bf6ce07458..382f09ca6d0a 100644
--- a/nixpkgs/pkgs/development/python-modules/mutesync/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mutesync/default.nix
@@ -2,17 +2,16 @@
 , aiohttp
 , async-timeout
 , buildPythonPackage
-, fetchpatch
 , fetchPypi
 }:
 
 buildPythonPackage rec {
   pname = "mutesync";
-  version = "0.0.1";
+  version = "0.0.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "05r8maq59glwgysg98y1vrysfb1mkh9jpbag3ixl13n8jw8clp85";
+    sha256 = "1lz3q3q9lw8qxxb8jyrak77v6hkxwi39akyx96j8hd5jjaq2k5qc";
   };
 
   propagatedBuildInputs = [
@@ -20,17 +19,9 @@ buildPythonPackage rec {
     async-timeout
   ];
 
-  patches = [
-    # Don't parse requirements.txt, https://github.com/currentoor/pymutesync/pull/1
-    (fetchpatch {
-      name = "add-requirements.patch";
-      url = "https://github.com/currentoor/pymutesync/commit/d66910fc83b1ae3060cdb3fe22a6f91fb70a67f0.patch";
-      sha256 = "0axhgriyyv31b1r1yidxcrv0nyrqbb63xw5qrmv2iy2h0v96ijsk";
-    })
-  ];
-
   # Project has not published tests yet
   doCheck = false;
+
   pythonImportsCheck = [ "mutesync" ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/mutf8/default.nix b/nixpkgs/pkgs/development/python-modules/mutf8/default.nix
new file mode 100644
index 000000000000..e25d5a893863
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/mutf8/default.nix
@@ -0,0 +1,38 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytest
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "mutf8";
+  version = "1.0.3";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "TkTech";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0p9xczkhrf9d3n44k6kxbnk9sm831k5gkiagk6vm75vcmzm7zdqc";
+  };
+
+  checkInputs = [
+    pytest
+  ];
+
+  checkPhase = ''
+    # Using pytestCheckHook results in test failures
+    pytest
+  '';
+
+  pythonImportsCheck = [ "mutf8" ];
+
+  meta = with lib; {
+    description = "Fast MUTF-8 encoder & decoder";
+    homepage = "https://github.com/TkTech/mutf8";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/mwparserfromhell/default.nix b/nixpkgs/pkgs/development/python-modules/mwparserfromhell/default.nix
index c1e57be4ded0..2ea41e61541b 100644
--- a/nixpkgs/pkgs/development/python-modules/mwparserfromhell/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mwparserfromhell/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "mwparserfromhell";
-  version = "0.6.2";
+  version = "0.6.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d3f74c0101f81ff73c61985b67f2e7048a30dc5f6a578ea1544e69133988d874";
+    sha256 = "1ad779f1bc0808d280ec1026c9de74f424de535568e21debd12830b5b0fa097e";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/nad-receiver/default.nix b/nixpkgs/pkgs/development/python-modules/nad-receiver/default.nix
index ee7ac9648e18..60006c7afcb7 100644
--- a/nixpkgs/pkgs/development/python-modules/nad-receiver/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nad-receiver/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "nad-receiver";
-  version = "0.2.0";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "joopert";
     repo = "nad_receiver";
     rev = version;
-    sha256 = "1mylrrvxczhplscayf4hvj56vaqkh7mv32fn9pcvla83y39kg8rw";
+    sha256 = "sha256-jRMk/yMA48ei+g/33+mMYwfwixaKTMYcU/z/VOoJbvY=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/nbsphinx/default.nix b/nixpkgs/pkgs/development/python-modules/nbsphinx/default.nix
index 8611059eb317..1b0a95f3d76f 100644
--- a/nixpkgs/pkgs/development/python-modules/nbsphinx/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nbsphinx/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "nbsphinx";
-  version = "0.8.6";
+  version = "0.8.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "097dee333558f400e9abbb53ce7d4fa64a257cfa89dd20f7554dca7f0cd5e143";
+    sha256 = "ff91b5b14ceb1a9d44193b5fc3dd3617e7b8ab59c788f7710049ce5faff2750c";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/nbxmpp/default.nix b/nixpkgs/pkgs/development/python-modules/nbxmpp/default.nix
index c145b9d888f4..44460a21d5b9 100644
--- a/nixpkgs/pkgs/development/python-modules/nbxmpp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nbxmpp/default.nix
@@ -1,24 +1,45 @@
-{ lib, buildPythonPackage, pythonOlder, fetchFromGitLab
-, gobject-introspection, idna, libsoup, precis-i18n, pygobject3, pyopenssl
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitLab
+, gobject-introspection
+, idna
+, libsoup
+, precis-i18n
+, pygobject3
+, pyopenssl
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "nbxmpp";
-  version = "2.0.2";
+  version = "2.0.3";
 
   disabled = pythonOlder "3.7";
 
-  # Tests aren't included in PyPI tarball.
   src = fetchFromGitLab {
     domain = "dev.gajim.org";
     owner = "gajim";
     repo = "python-nbxmpp";
     rev = "nbxmpp-${version}";
-    sha256 = "0z27mxgfk7hvpx0xdrd8g9441rywv74yk7s83zjnc2mc7xvpwhf4";
+    sha256 = "0gzyd25sja7n49f1ihyg6gch1b0r409r0p3qpwn8w8xy7jgn6ysc";
   };
 
-  buildInputs = [ precis-i18n ];
-  propagatedBuildInputs = [ gobject-introspection idna libsoup pygobject3 pyopenssl ];
+  buildInputs = [
+    precis-i18n
+  ];
+
+  propagatedBuildInputs = [
+    gobject-introspection
+    idna
+    libsoup
+    pygobject3
+    pyopenssl
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
 
   pythonImportsCheck = [ "nbxmpp" ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/neo/default.nix b/nixpkgs/pkgs/development/python-modules/neo/default.nix
index e5db8450e788..27da5b71b68b 100644
--- a/nixpkgs/pkgs/development/python-modules/neo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/neo/default.nix
@@ -4,15 +4,17 @@
 , nose
 , numpy
 , quantities
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "neo";
-  version = "0.9.0";
+  version = "0.10.0";
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6e31c88d7c52174fa2512df589b2b5003e9471fde27fca9f315f4770ba3bd3cb";
+    sha256 = "0lw3r9p1ky1cswhrs9radc0vq1qfzbrk7qd00f34g96g30zab4g5";
   };
 
   propagatedBuildInputs = [ numpy quantities ];
diff --git a/nixpkgs/pkgs/development/python-modules/netcdf4/default.nix b/nixpkgs/pkgs/development/python-modules/netcdf4/default.nix
index 35e5e063bb7c..5285db9e71ae 100644
--- a/nixpkgs/pkgs/development/python-modules/netcdf4/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/netcdf4/default.nix
@@ -3,13 +3,13 @@
 }:
 buildPythonPackage rec {
   pname = "netCDF4";
-  version = "1.5.6";
+  version = "1.5.7";
 
   disabled = isPyPy;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7577f4656af8431b2fa6b6797acb45f81fa1890120e9123b3645e14765da5a7c";
+    sha256 = "d145f9c12da29da3922d8b8aafea2a2a89501bcb28a219a46b7b828b57191594";
   };
 
   checkInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/networkx/default.nix b/nixpkgs/pkgs/development/python-modules/networkx/default.nix
index c92db16fc6b7..0ed9f3b9cb3c 100644
--- a/nixpkgs/pkgs/development/python-modules/networkx/default.nix
+++ b/nixpkgs/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.5.1";
+  version = "2.6.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "109cd585cac41297f71103c3c42ac6ef7379f29788eb54cb751be5a663bb235a";
+    sha256 = "2306f1950ce772c5a59a57f5486d59bb9cab98497c45fc49cbc45ac0dec119bb";
   };
 
   propagatedBuildInputs = [ decorator setuptools ];
diff --git a/nixpkgs/pkgs/development/python-modules/nexia/default.nix b/nixpkgs/pkgs/development/python-modules/nexia/default.nix
index 5e07d6331ac1..22dbea2cd517 100644
--- a/nixpkgs/pkgs/development/python-modules/nexia/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nexia/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "nexia";
-  version = "0.9.9";
+  version = "0.9.11";
   disabled = pythonOlder "3.5";
 
   src = fetchFromGitHub {
     owner = "bdraco";
     repo = pname;
     rev = version;
-    sha256 = "sha256-OamQ6p8o23lVeOB/KyNQI7G8xZaAaVNYacoRfbNKJtk=";
+    sha256 = "0ql08nfvh6rjhjdh78gzih7az95m0fc9wxc22yqmlc9grifnp9i5";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/nose-cov/default.nix b/nixpkgs/pkgs/development/python-modules/nose-cov/default.nix
index 4b94e2657e97..a95e162b1ba4 100644
--- a/nixpkgs/pkgs/development/python-modules/nose-cov/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nose-cov/default.nix
@@ -15,6 +15,6 @@ buildPythonPackage rec {
     homepage = "https://pypi.org/project/nose-cov/";
     license = licenses.mit;
     description = "This plugin produces coverage reports. It also supports coverage of subprocesses.";
-    maintainers = with maintainers; [ ma27 ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/notebook/2.nix b/nixpkgs/pkgs/development/python-modules/notebook/2.nix
index 0e5cfdf43971..179fd25beff9 100644
--- a/nixpkgs/pkgs/development/python-modules/notebook/2.nix
+++ b/nixpkgs/pkgs/development/python-modules/notebook/2.nix
@@ -20,7 +20,7 @@
 , requests
 , send2trash
 , pexpect
-, prometheus_client
+, prometheus-client
 }:
 
 buildPythonPackage rec {
@@ -40,7 +40,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     jinja2 tornado ipython_genutils traitlets jupyter_core send2trash
     jupyter_client nbformat nbconvert ipykernel terminado requests pexpect
-    prometheus_client
+    prometheus-client
   ];
 
   # disable warning_filters
diff --git a/nixpkgs/pkgs/development/python-modules/notebook/default.nix b/nixpkgs/pkgs/development/python-modules/notebook/default.nix
index 435b4f13765f..bc1296b8a50c 100644
--- a/nixpkgs/pkgs/development/python-modules/notebook/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/notebook/default.nix
@@ -21,18 +21,18 @@
 , requests
 , send2trash
 , pexpect
-, prometheus_client
+, prometheus-client
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "notebook";
-  version = "6.4.0";
+  version = "6.4.3";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9c4625e2a2aa49d6eae4ce20cbc3d8976db19267e32d2a304880e0c10bf8aef9";
+    sha256 = "03awxl8hr7ibwr6n48gci8jx80f18zll439wyr8gj35h6vnxzdp6";
   };
 
   LC_ALL = "en_US.utf8";
@@ -43,7 +43,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     jinja2 tornado ipython_genutils traitlets jupyter_core send2trash
     jupyter_client nbformat nbconvert ipykernel terminado requests pexpect
-    prometheus_client argon2_cffi
+    prometheus-client argon2_cffi
   ];
 
   # disable warning_filters
diff --git a/nixpkgs/pkgs/development/python-modules/notmuch/2.nix b/nixpkgs/pkgs/development/python-modules/notmuch/2.nix
index bde039836ffa..bd195b52d44e 100644
--- a/nixpkgs/pkgs/development/python-modules/notmuch/2.nix
+++ b/nixpkgs/pkgs/development/python-modules/notmuch/2.nix
@@ -10,7 +10,7 @@ buildPythonPackage {
   pname = "notmuch2";
   inherit (notmuch) version src;
 
-  sourceRoot = "${notmuch.src.name}/bindings/python-cffi";
+  sourceRoot = "notmuch-${notmuch.version}/bindings/python-cffi";
 
   buildInputs = [ python notmuch cffi ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/nplusone/default.nix b/nixpkgs/pkgs/development/python-modules/nplusone/default.nix
index 7d29428d93e6..d9a340d82491 100644
--- a/nixpkgs/pkgs/development/python-modules/nplusone/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nplusone/default.nix
@@ -1,6 +1,19 @@
-{ blinker, buildPythonPackage, fetchFromGitHub, lib, isPy27, six, mock, pytest
-, webtest, pytest-cov, pytest-django, pytest-pythonpath, flake8, sqlalchemy
-, flask_sqlalchemy, peewee }:
+{ lib
+, blinker
+, buildPythonPackage
+, fetchFromGitHub
+, flake8
+, flask_sqlalchemy
+, isPy27
+, mock
+, peewee
+, pytest-django
+, pytest-pythonpath
+, pytestCheckHook
+, six
+, sqlalchemy
+, webtest
+}:
 
 buildPythonPackage rec {
   pname = "nplusone";
@@ -14,6 +27,23 @@ buildPythonPackage rec {
     sha256 = "0qdwpvvg7dzmksz3vqkvb27n52lq5sa8i06m7idnj5xk2dgjkdxg";
   };
 
+  propagatedBuildInputs = [
+    blinker
+    six
+  ];
+
+  checkInputs = [
+    flake8
+    flask_sqlalchemy
+    mock
+    peewee
+    pytest-django
+    pytest-pythonpath
+    pytestCheckHook
+    sqlalchemy
+    webtest
+  ];
+
   # The tests assume the source code is in an nplusone/ directory. When using
   # the Nix sandbox, it will be in a source/ directory instead, making the
   # tests fail.
@@ -22,24 +52,29 @@ buildPythonPackage rec {
       --replace nplusone/tests/conftest source/tests/conftest
   '';
 
-  checkPhase = ''
-    pytest tests/
+  postPatch = ''
+    substituteInPlace pytest.ini \
+      --replace "--cov nplusone --cov-report term-missing" ""
   '';
 
-  propagatedBuildInputs = [ six blinker ];
-  checkInputs = [
-    mock
-    pytest
-    webtest
-    pytest-cov
-    pytest-django
-    pytest-pythonpath
-    flake8
-    sqlalchemy
-    flask_sqlalchemy
-    peewee
+  disabledTests = [
+    # Tests are out-dated
+    "test_many_to_one"
+    "test_many_to_many"
+    "test_eager_join"
+    "test_eager_subquery"
+    "test_eager_subquery_unused"
+    "test_many_to_many_raise"
+    "test_many_to_many_whitelist_decoy"
+    "test_many_to_one_subquery"
+    "test_many_to_one_reverse_subquery"
+    "test_many_to_many_subquery"
+    "test_many_to_many_reverse_subquery"
+    "test_profile"
   ];
 
+  pythonImportsCheck = [ "nplusone" ];
+
   meta = with lib; {
     description = "Detecting the n+1 queries problem in Python";
     homepage = "https://github.com/jmcarp/nplusone";
diff --git a/nixpkgs/pkgs/development/python-modules/ntc-templates/default.nix b/nixpkgs/pkgs/development/python-modules/ntc-templates/default.nix
index dc7ba5d8b681..dcb326a05a94 100644
--- a/nixpkgs/pkgs/development/python-modules/ntc-templates/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ntc-templates/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "ntc-templates";
-  version = "2.0.0";
+  version = "2.3.1";
   format = "pyproject";
   disabled = isPy27;
 
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "networktocode";
     repo = pname;
     rev = "v${version}";
-    sha256 = "05ifbzps9jxrrkrqybsdbm67jhynfcjc298pqkhp21q5jwnlrl72";
+    sha256 = "0s4my422cdmjfz787a7697938qfnllxwx004jfp3a8alzw2h30g1";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/numcodecs/default.nix b/nixpkgs/pkgs/development/python-modules/numcodecs/default.nix
index ab529e0439d0..26e1d7304184 100644
--- a/nixpkgs/pkgs/development/python-modules/numcodecs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/numcodecs/default.nix
@@ -13,12 +13,12 @@
 
 buildPythonPackage rec {
   pname = "numcodecs";
-  version = "0.8.0";
+  version = "0.9.0";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7c7d0ea56b5e2a267ae785bdce47abed62829ef000f03be8e32e30df62d3749c";
+    sha256 = "3c23803671a3d920efa175af5828870bdff60ba2a3fcbf1d5b48bb81d68219c6";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/nvchecker/default.nix b/nixpkgs/pkgs/development/python-modules/nvchecker/default.nix
index b3fd0384ef48..62942108ff4e 100644
--- a/nixpkgs/pkgs/development/python-modules/nvchecker/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nvchecker/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , pythonOlder
 , pytestCheckHook
 , setuptools
@@ -21,24 +20,16 @@
 
 buildPythonPackage rec {
   pname = "nvchecker";
-  version = "2.3";
+  version = "2.4";
 
   # Tests not included in PyPI tarball
   src = fetchFromGitHub {
     owner = "lilydjwg";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0ikqjlw6v7va69i8qskj1lf07ik84q4n3qgsb7khk520gv2ks3sx";
+    sha256 = "0ys4shp7gz6aaxrbflwcz7yjbvdv2v8pgj047p4rnp8ascpxg044";
   };
 
-  patches = [
-    # Fix test that fail in sandbox build. See https://github.com/lilydjwg/nvchecker/pull/179
-    (fetchpatch {
-      url = "https://github.com/lilydjwg/nvchecker/commit/7366d82bfc3dcf231f7908e259bf2437cf7dafd5.patch";
-      sha256 = "0pwrwa2wyy4i668lk2mqzzy6y3xi08mq3w520b4954kfm07g75a9";
-    })
-  ];
-
   nativeBuildInputs = [ installShellFiles docutils ];
   propagatedBuildInputs = [ setuptools packaging toml structlog appdirs tornado pycurl aiohttp ];
   checkInputs = [ pytestCheckHook pytest-asyncio flaky pytest-httpbin ];
diff --git a/nixpkgs/pkgs/development/python-modules/oauthenticator/default.nix b/nixpkgs/pkgs/development/python-modules/oauthenticator/default.nix
index 25e81c89c255..738f7fafca2a 100644
--- a/nixpkgs/pkgs/development/python-modules/oauthenticator/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/oauthenticator/default.nix
@@ -14,12 +14,12 @@
 
 buildPythonPackage rec {
   pname = "oauthenticator";
-  version = "14.0.0";
+  version = "14.2.0";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1zfcl3dq9ladqg7fnpx6kgxf1ckjzlc8v3j6wa8w6iwglm40ax4r";
+    sha256 = "4baa02ff2c159cbba06f8d07fe11a6e624285ca2f813b1258b4c68766c0ee46b";
   };
 
   propagatedBuildInputs = [
@@ -36,12 +36,6 @@ buildPythonPackage rec {
     requests-mock
   ];
 
-  postPatch = ''
-  # The constraint was removed. No longer needed for > 14.0.0
-  # https://github.com/jupyterhub/oauthenticator/pull/431
-    substituteInPlace test-requirements.txt --replace "pyjwt>=1.7,<2.0" "pyjwt"
-  '';
-
   disabledTests = [
     # Test are outdated, https://github.com/jupyterhub/oauthenticator/issues/432
     "test_azuread"
diff --git a/nixpkgs/pkgs/development/python-modules/omegaconf/default.nix b/nixpkgs/pkgs/development/python-modules/omegaconf/default.nix
index 42249e933789..14fc824f5cd8 100644
--- a/nixpkgs/pkgs/development/python-modules/omegaconf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/omegaconf/default.nix
@@ -1,20 +1,28 @@
-{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder
-, pytest, pytest-runner, pyyaml, six, pathlib2, isPy27 }:
+{ lib, buildPythonPackage, fetchFromGitHub, pytest-mock, pytestCheckHook
+, pyyaml, pythonOlder, jre_minimal, antlr4-python3-runtime }:
 
 buildPythonPackage rec {
   pname = "omegaconf";
-  version = "1.4.1";
+  version = "2.1.1";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "omry";
     repo = pname;
-    rev = version;
-    sha256 = "1vpcdjlq54pm8xmkv2hqm2n1ysvz2a9iqgf55x0w6slrb4595cwb";
+    rev = "v${version}";
+    sha256 = "0hh6pk4q6nb94bz9rwa6cysf3nj50rmqkjh34pqkh28nzg44afjw";
   };
 
-  checkInputs = [ pytest ];
-  buildInputs = [ pytest-runner ];
-  propagatedBuildInputs = [ pyyaml six ] ++ lib.optional isPy27 pathlib2;
+  postPatch = ''
+    substituteInPlace setup.py --replace 'setup_requires=["pytest-runner"]' 'setup_requires=[]'
+  '';
+
+  checkInputs = [ pytestCheckHook pytest-mock ];
+  nativeBuildInputs = [ jre_minimal ];
+  propagatedBuildInputs = [ antlr4-python3-runtime pyyaml ];
+
+  disabledTestPaths = [ "tests/test_pydev_resolver_plugin.py" ];  # needs pydevd - not in Nixpkgs
 
   meta = with lib; {
     description = "A framework for configuring complex applications";
diff --git a/nixpkgs/pkgs/development/python-modules/onlykey-solo-python/default.nix b/nixpkgs/pkgs/development/python-modules/onlykey-solo-python/default.nix
new file mode 100644
index 000000000000..91f36b01dd4d
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/onlykey-solo-python/default.nix
@@ -0,0 +1,35 @@
+{ buildPythonPackage
+, click
+, ecdsa
+, fetchPypi
+, fido2
+, intelhex
+, lib
+, pyserial
+, pyusb
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "onlykey-solo-python";
+  version = "0.0.28";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-Mbi5So2OgeXjg4Fzg7v2gAJuh1Y7ZCYu8Lrha/7PQfY=";
+  };
+
+  propagatedBuildInputs = [ click ecdsa fido2 intelhex pyserial pyusb requests ];
+
+  # no tests
+  doCheck = false;
+  pythonImportsCheck = [ "solo" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/trustcrypto/onlykey-solo-python";
+    description = "Python library for OnlyKey with Solo FIDO2";
+    maintainers = with maintainers; [ kalbasit ];
+    license = licenses.asl20;
+  };
+}
+
diff --git a/nixpkgs/pkgs/development/python-modules/onnx/default.nix b/nixpkgs/pkgs/development/python-modules/onnx/default.nix
index cf1d595d90cd..3f6a86928bc3 100644
--- a/nixpkgs/pkgs/development/python-modules/onnx/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/onnx/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, pythonOlder
 , isPy27
 , cmake
 , protobuf
@@ -15,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "onnx";
-  version = "1.9.0";
+  version = "1.10.1";
 
   # Python 2 is not supported as of Onnx v1.8
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0yjv2axz2vc2ysniwislsp53fsb8f61y1warrr2ppn2d9ijml1d9";
+    sha256 = "9d941ba76cab55db8913ecad9dc50cefeb368460f6338a91783a5d7643f3a044";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/python-modules/open-garage/default.nix b/nixpkgs/pkgs/development/python-modules/open-garage/default.nix
new file mode 100644
index 000000000000..cbf9ee308713
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/open-garage/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, aiohttp
+, async-timeout
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "open-garage";
+  version = "0.1.5";
+  disabled = pythonOlder "3.5";
+
+  src = fetchFromGitHub {
+    owner = "Danielhiversen";
+    repo = "pyOpenGarage";
+    rev = version;
+    sha256 = "1iqcqkbb1ik5lmsvwgy6i780x6y3wlm1gx257anxyvp1b21gm24p";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    async-timeout
+  ];
+
+  # Project has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "opengarage" ];
+
+  meta = with lib; {
+    description = "Python module to communicate with opengarage.io";
+    homepage = "https://github.com/Danielhiversen/pyOpenGarage";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/openapi-core/default.nix b/nixpkgs/pkgs/development/python-modules/openapi-core/default.nix
index e41f7fd58099..8e39c899684c 100644
--- a/nixpkgs/pkgs/development/python-modules/openapi-core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/openapi-core/default.nix
@@ -17,6 +17,7 @@
 , django
 , djangorestframework
 , responses
+, mock
 }:
 
 buildPythonPackage rec {
@@ -54,6 +55,7 @@ buildPythonPackage rec {
     django
     djangorestframework
     responses
+    mock
   ];
 
   disabledTestPaths = [
diff --git a/nixpkgs/pkgs/development/python-modules/openrazer/daemon.nix b/nixpkgs/pkgs/development/python-modules/openrazer/daemon.nix
index 8b1ff86fcab3..8dcb9a9925d1 100644
--- a/nixpkgs/pkgs/development/python-modules/openrazer/daemon.nix
+++ b/nixpkgs/pkgs/development/python-modules/openrazer/daemon.nix
@@ -38,6 +38,10 @@ buildPythonApplication (common // rec {
     setproctitle
   ];
 
+  postPatch = ''
+    substituteInPlace openrazer_daemon/daemon.py --replace "plugdev" "openrazer"
+  '';
+
   postBuild = ''
     DESTDIR="$out" PREFIX="" make install manpages
   '';
diff --git a/nixpkgs/pkgs/development/python-modules/opensimplex/default.nix b/nixpkgs/pkgs/development/python-modules/opensimplex/default.nix
index d95aa846965d..6832266b87ad 100644
--- a/nixpkgs/pkgs/development/python-modules/opensimplex/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/opensimplex/default.nix
@@ -1,10 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, autopep8
 , nose
-, pycodestyle
-, twine
 }:
 
 buildPythonPackage rec {
@@ -18,10 +15,11 @@ buildPythonPackage rec {
     sha256 = "idF5JQGnAye6z3c3YU9rsHaebB3rlHJfA8vSpjDnFeM=";
   };
 
-  checkInputs = [ autopep8 nose pycodestyle twine ];
+  checkInputs = [ nose ];
   checkPhase = ''
     nosetests tests/
   '';
+  pythonImportsCheck = [ "opensimplex" ];
 
   meta = with lib; {
     description = "OpenSimplex Noise functions for 2D, 3D and 4D";
diff --git a/nixpkgs/pkgs/development/python-modules/owslib/default.nix b/nixpkgs/pkgs/development/python-modules/owslib/default.nix
index ea80fade1411..07c6bfedbb2c 100644
--- a/nixpkgs/pkgs/development/python-modules/owslib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/owslib/default.nix
@@ -1,11 +1,11 @@
 { lib, buildPythonPackage, fetchPypi, python-dateutil, requests, pytz, pyproj , pytest, pyyaml } :
 buildPythonPackage rec {
   pname = "OWSLib";
-  version = "0.24.1";
+  version = "0.25.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4973c2ba65ec850a3fcc1fb94cefe5ed2fed83aaf2a5e2135c78810ad2a8f0e1";
+    sha256 = "20d79bce0be10277caa36f3134826bd0065325df0301a55b2c8b1c338d8d8f0a";
   };
 
   buildInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/palace/default.nix b/nixpkgs/pkgs/development/python-modules/palace/default.nix
new file mode 100644
index 000000000000..60d73bca09f6
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/palace/default.nix
@@ -0,0 +1,40 @@
+{ lib, buildPythonPackage, fetchFromSourcehut, pythonOlder
+, cmake, cython, alure2, typing-extensions
+}:
+
+buildPythonPackage rec {
+  pname = "palace";
+  version = "0.2.5";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromSourcehut {
+    owner = "~cnx";
+    repo = pname;
+    rev = version;
+    sha256 = "1z0m35y4v1bg6vz680pwdicm9ssryl0q6dm9hfpb8hnifmridpcj";
+  };
+
+  # Nix uses Release CMake configuration instead of what is assumed by palace.
+  postPatch = ''
+    substituteInPlace CMakeLists.txt \
+      --replace IMPORTED_LOCATION_NOCONFIG IMPORTED_LOCATION_RELEASE
+  '';
+
+  dontUseCmakeConfigure = true;
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ cython ];
+  propagatedBuildInputs = [ alure2 ] ++ lib.optionals (pythonOlder "3.8") [
+    typing-extensions
+  ];
+
+  doCheck = false; # FIXME: tests need an audio device
+  pythonImportsCheck = [ "palace" ];
+
+  meta = with lib; {
+    description = "Pythonic Audio Library and Codecs Environment";
+    homepage = "https://mcsinyx.gitlab.io/palace";
+    license = licenses.lgpl3Plus;
+    maintainers = [ maintainers.McSinyx ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pandas-datareader/default.nix b/nixpkgs/pkgs/development/python-modules/pandas-datareader/default.nix
index d4aa1551bedc..d792c439b581 100644
--- a/nixpkgs/pkgs/development/python-modules/pandas-datareader/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pandas-datareader/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "pandas-datareader";
-  version = "0.9.0";
+  version = "0.10.0";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b2cbc1e16a6ab9ff1ed167ae2ea92839beab9a20823bd00bdfb78155fa04f891";
+    sha256 = "9fc3c63d39bc0c10c2683f1c6d503ff625020383e38f6cbe14134826b454d5a6";
   };
 
   # Tests are trying to load data over the network
diff --git a/nixpkgs/pkgs/development/python-modules/papis/default.nix b/nixpkgs/pkgs/development/python-modules/papis/default.nix
index 72eb9a185d7a..1805172f4d7d 100644
--- a/nixpkgs/pkgs/development/python-modules/papis/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/papis/default.nix
@@ -2,7 +2,7 @@
 , requests, filetype, pyparsing, configparser, arxiv2bib
 , pyyaml, chardet, beautifulsoup4, colorama, bibtexparser
 , click, python-slugify, habanero, isbnlib, typing-extensions
-, prompt_toolkit, pygments, stevedore, tqdm, lxml
+, prompt-toolkit, pygments, stevedore, tqdm, lxml
 , python-doi, isPy3k, pytest-cov
 #, optional, dependencies
 , whoosh, pytest
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     requests filetype pyparsing configparser arxiv2bib
     pyyaml chardet beautifulsoup4 colorama bibtexparser
     click python-slugify habanero isbnlib
-    prompt_toolkit pygments typing-extensions
+    prompt-toolkit pygments typing-extensions
     stevedore tqdm lxml
     python-doi
     # optional dependencies
diff --git a/nixpkgs/pkgs/development/python-modules/param/default.nix b/nixpkgs/pkgs/development/python-modules/param/default.nix
index 8e090561ed06..0ae362dd28ac 100644
--- a/nixpkgs/pkgs/development/python-modules/param/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/param/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "param";
-  version = "1.10.1";
+  version = "1.11.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1f0f1133fbadcd2c5138e579b9934e29fd00f803af01d9bf6f9e6b80ecf1999b";
+    sha256 = "b9857df01495bd55ddafb214fd1ed017d20699ce42ec2a0fd190d99caa03099f";
   };
 
   checkInputs = [ flake8 nose ];
diff --git a/nixpkgs/pkgs/development/python-modules/parameterized/default.nix b/nixpkgs/pkgs/development/python-modules/parameterized/default.nix
index 1183c09e62eb..5ec4421ec8be 100644
--- a/nixpkgs/pkgs/development/python-modules/parameterized/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/parameterized/default.nix
@@ -35,6 +35,6 @@ buildPythonPackage rec {
     description = "Parameterized testing with any Python test framework";
     homepage = "https://github.com/wolever/parameterized";
     license = licenses.bsd2;
-    maintainers = with maintainers; [ ma27 ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/parse-type/default.nix b/nixpkgs/pkgs/development/python-modules/parse-type/default.nix
index 709b257e3375..8faff81880cf 100644
--- a/nixpkgs/pkgs/development/python-modules/parse-type/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/parse-type/default.nix
@@ -1,28 +1,45 @@
-{ lib, fetchPypi
-, buildPythonPackage, pythonOlder
-, pytest, pytest-runner
-, parse, six, enum34
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, parse
+, pytestCheckHook
+, pythonOlder
+, six
 }:
 
 buildPythonPackage rec {
-  pname = "parse_type";
-  version = "0.5.2";
+  pname = "parse-type";
+  version = "0.5.6";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "02wclgiqky06y36b3q07b7ngpks5j0gmgl6n71ac2j2hscc0nsbz";
+  src = fetchFromGitHub {
+    owner = "jenisys";
+    repo = "parse_type";
+    rev = "v${version}";
+    sha256 = "sha256-CJroqJIi5DpmR8i1lr8OJ+234615PhpVUsqK91XOT3E=";
   };
 
-  checkInputs = [ pytest pytest-runner ];
-  propagatedBuildInputs = [ parse six ] ++ lib.optional (pythonOlder "3.4") enum34;
+  propagatedBuildInputs = [
+    parse
+    six
+  ];
 
-  checkPhase = ''
-    py.test tests
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace pytest.ini \
+      --replace "--metadata PACKAGE_UNDER_TEST parse_type" "" \
+      --replace "--metadata PACKAGE_VERSION 0.5.6" "" \
+      --replace "--html=build/testing/report.html --self-contained-html" "" \
+      --replace "--junit-xml=build/testing/report.xml" ""
   '';
 
+  pythonImportsCheck = [ "parse_type" ];
+
   meta = with lib; {
-    homepage = "https://github.com/jenisys/parse_type";
     description = "Simplifies to build parse types based on the parse module";
+    homepage = "https://github.com/jenisys/parse_type";
     license = licenses.bsd3;
     maintainers = with maintainers; [ alunduil ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/parsedatetime/default.nix b/nixpkgs/pkgs/development/python-modules/parsedatetime/default.nix
index ba3662a44b03..4b42071f01fb 100644
--- a/nixpkgs/pkgs/development/python-modules/parsedatetime/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/parsedatetime/default.nix
@@ -2,9 +2,8 @@
 , buildPythonPackage
 , fetchPypi
 , isPy27
-, pytest
-, pytest-runner
 , future
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
@@ -17,13 +16,25 @@ buildPythonPackage rec {
     sha256 = "4cb368fbb18a0b7231f4d76119165451c8d2e35951455dfee97c62a87b04d455";
   };
 
-  buildInputs = [ pytest pytest-runner ];
   propagatedBuildInputs = [ future ];
 
+  checkInputs = [ pytestCheckHook ];
+
+  pytestFlagsArray = [ "tests/Test*.py" ];
+
+  disabledTests = [
+    # https://github.com/bear/parsedatetime/issues/263
+    "testDate3ConfusedHourAndYear"
+    # https://github.com/bear/parsedatetime/issues/215
+    "testFloat"
+  ];
+
+  pythonImportsCheck = [ "parsedatetime" ];
+
   meta = with lib; {
     description = "Parse human-readable date/time text";
     homepage = "https://github.com/bear/parsedatetime";
     license = licenses.asl20;
+    maintainers = with maintainers; [ ];
   };
-
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pdf2image/default.nix b/nixpkgs/pkgs/development/python-modules/pdf2image/default.nix
index 43a319716ec9..c3c0538bf503 100644
--- a/nixpkgs/pkgs/development/python-modules/pdf2image/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pdf2image/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "pdf2image";
-  version = "1.15.1";
+  version = "1.16.0";
 
   propagatedBuildInputs = [ pillow poppler_utils ];
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "aa6013c1b5b25ceb90caa34834f1ed343e969cfa532100e1472cfe0e96a639b5";
+    sha256 = "d58ed94d978a70c73c2bb7fdf8acbaf2a7089c29ff8141be5f45433c0c4293bb";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/pdftotext/default.nix b/nixpkgs/pkgs/development/python-modules/pdftotext/default.nix
index 400dc76c0d39..d64b2719f3d6 100644
--- a/nixpkgs/pkgs/development/python-modules/pdftotext/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pdftotext/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pdftotext";
-  version = "2.1.6";
+  version = "2.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "caf8ddbaeaf0a5897f07655a71747242addab2e695e84c5d47f2ea92dfe2a594";
+    sha256 = "efbbfb14cf37ed7ab2c71936bae44707dfed6bb3be7ea5214e9c44c8c258c7af";
   };
 
   buildInputs = [ poppler ];
diff --git a/nixpkgs/pkgs/development/python-modules/pefile/default.nix b/nixpkgs/pkgs/development/python-modules/pefile/default.nix
index 5cd514c871fc..508ba27b2943 100644
--- a/nixpkgs/pkgs/development/python-modules/pefile/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pefile/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "pefile";
-  version = "2021.5.24";
+  version = "2021.9.2";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "erocarrera";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0qdy88dvy29ixsyfqdcvf3w6rz09vpimk0568i09v1ayhs52p62k";
+    sha256 = "1pgsw84i9r6ydkfzqifgl5lvcz3cf3xz5c2543kl3q8mgb21wxaz";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pelican/default.nix b/nixpkgs/pkgs/development/python-modules/pelican/default.nix
index 5419407d610e..3f9d2e0ceb0a 100644
--- a/nixpkgs/pkgs/development/python-modules/pelican/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pelican/default.nix
@@ -1,20 +1,42 @@
-{ lib, buildPythonPackage, fetchFromGitHub, isPy27
-, glibcLocales, git
-, mock, nose, markdown, lxml, typogrify
-, jinja2, pygments, docutils, pytz, unidecode, six, python-dateutil, feedgenerator
-, blinker, pillow, beautifulsoup4, markupsafe, pandoc }:
+{ lib
+, beautifulsoup4
+, blinker
+, buildPythonPackage
+, docutils
+, feedgenerator
+, fetchFromGitHub
+, git
+, glibcLocales
+, isPy27
+, jinja2
+, lxml
+, markdown
+, markupsafe
+, mock
+, pytestCheckHook
+, pandoc
+, pillow
+, pygments
+, python-dateutil
+, pythonOlder
+, pytz
+, rich
+, pytest-xdist
+, six
+, typogrify
+, unidecode
+}:
 
 buildPythonPackage rec {
   pname = "pelican";
-  version = "4.5.4";
-
-  disabled = isPy27;
+  version = "4.6.0";
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "getpelican";
-    repo = "pelican";
+    repo = pname;
     rev = version;
-    sha256 = "08l8kk3c7ca1znxmgdmfgzn28dzjcziwflzq80fn9zigqj0y7fi8";
+    sha256 = "0xrz0cmjyaylr81rmy5i3qbp4ms1iwh0gpb07q1dwljffb8xzbhr";
     # Remove unicode file names which leads to different checksums on HFS+
     # vs. other filesystems because of unicode normalisation.
     extraPostFetch = ''
@@ -22,18 +44,6 @@ buildPythonPackage rec {
     '';
   };
 
-  doCheck = true;
-
-  # Exclude custom locale test, which files were removed above to fix the source checksum
-  checkPhase = ''
-    nosetests -s \
-      --exclude=test_basic_generation_works \
-      --exclude=test_custom_generation_works \
-      --exclude=test_custom_locale_generation_works \
-      --exclude=test_log_filter \
-      pelican
-  '';
-
   buildInputs = [
     glibcLocales
     pandoc
@@ -44,21 +54,46 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
-    jinja2 pygments docutils pytz unidecode six python-dateutil feedgenerator
-    blinker pillow beautifulsoup4 markupsafe lxml
+    beautifulsoup4
+    blinker
+    docutils
+    feedgenerator
+    jinja2
+    lxml
+    markupsafe
+    pillow
+    pygments
+    python-dateutil
+    pytz
+    rich
+    six
+    unidecode
   ];
 
   checkInputs = [
-    nose
+    pytest-xdist
+    pytestCheckHook
     pandoc
   ];
 
-  postPatch= ''
+  postPatch = ''
     substituteInPlace pelican/tests/test_pelican.py \
       --replace "'git'" "'${git}/bin/git'"
   '';
 
-  LC_ALL="en_US.UTF-8";
+  pytestFlagsArray = [
+    # DeprecationWarning: 'jinja2.Markup' is deprecated and...
+    "-W ignore::DeprecationWarning"
+  ];
+
+  disabledTests = [
+    # AssertionError
+    "test_basic_generation_works"
+    "test_custom_generation_works"
+    "test_custom_locale_generation_works"
+  ];
+
+  LC_ALL = "en_US.UTF-8";
 
   # We only want to patch shebangs in /bin, and not those
   # of the project scripts that are created by Pelican.
@@ -69,8 +104,10 @@ buildPythonPackage rec {
     patchShebangs $out/bin
   '';
 
+  pythonImportsCheck = [ "pelican" ];
+
   meta = with lib; {
-    description = "A tool to generate a static blog from reStructuredText or Markdown input files";
+    description = "Static site generator that requires no database or server-side logic";
     homepage = "http://getpelican.com/";
     license = licenses.agpl3;
     maintainers = with maintainers; [ offline prikhi ];
diff --git a/nixpkgs/pkgs/development/python-modules/perfplot/default.nix b/nixpkgs/pkgs/development/python-modules/perfplot/default.nix
index 76f2f8d2931b..af653ed0c8da 100644
--- a/nixpkgs/pkgs/development/python-modules/perfplot/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/perfplot/default.nix
@@ -7,20 +7,20 @@
 , pipdate
 , tqdm
 , rich
-, pytest
-, isPy27
+, pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "perfplot";
-  version = "0.9.5";
-  disabled = isPy27;
+  version = "0.9.8";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "nschloe";
-    repo = "perfplot";
-    rev = "v${version}";
-    sha256 = "1nr31a7qvipqjycw2flkabnhnc4drbi1xpjm8yjxw2gjzznd1jg4";
+    repo = pname;
+    rev = version;
+    sha256 = "17dpgd27ik7ka7xpk3mj3anbjj62lwygy1vxlmrmk8xbhrqkim8d";
   };
   format = "pyproject";
 
@@ -34,20 +34,15 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
-    pytest
+    pytestCheckHook
   ];
 
-  checkPhase = ''
-    export HOME=$TMPDIR
-    mkdir -p $HOME/.matplotlib
-    echo "backend: ps" > $HOME/.matplotlib/matplotlibrc
-    pytest test/perfplot_test.py
-  '';
+  pythonImportsCheck = [ "perfplot" ];
 
   meta = with lib; {
     description = "Performance plots for Python code snippets";
     homepage = "https://github.com/nschloe/perfplot";
     license = licenses.mit;
-    maintainers = [ maintainers.costrouc ];
+    maintainers = with maintainers; [ costrouc ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pex/default.nix b/nixpkgs/pkgs/development/python-modules/pex/default.nix
index 7f65b19bba97..b4238e6594f0 100644
--- a/nixpkgs/pkgs/development/python-modules/pex/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pex/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "pex";
-  version = "2.1.42";
+  version = "2.1.47";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2deb088a3943891d07f9871e47409407e6308fbff3ee9514a0238791dc8da99f";
+    sha256 = "0928d0316caac840db528030fc741930e8be22a3fa6a8635308fb8443a0a0c6a";
   };
 
   nativeBuildInputs = [ setuptools ];
diff --git a/nixpkgs/pkgs/development/python-modules/pg8000/default.nix b/nixpkgs/pkgs/development/python-modules/pg8000/default.nix
index db18611f20aa..d8a002231057 100644
--- a/nixpkgs/pkgs/development/python-modules/pg8000/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pg8000/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "pg8000";
-  version = "1.20.0";
+  version = "1.21.1";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-SQ7CKpJgHwRUs+1MjU7N3DD2bA4/eD8OzFgQN3SajFU=";
+    sha256 = "sha256-HMvuyTtw4uhTLfOr3caQXHghkJyW3Oqu91G1fFKRhpo=";
   };
 
   propagatedBuildInputs = [
@@ -21,11 +21,6 @@ buildPythonPackage rec {
     scramp
   ];
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace "scramp==1.4.0" "scramp>=1.4.0"
-  '';
-
   # Tests require a running PostgreSQL instance
   doCheck = false;
   pythonImportsCheck = [ "pg8000" ];
diff --git a/nixpkgs/pkgs/development/python-modules/pglast/default.nix b/nixpkgs/pkgs/development/python-modules/pglast/default.nix
index 8184c6d0d18a..019acbd65679 100644
--- a/nixpkgs/pkgs/development/python-modules/pglast/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pglast/default.nix
@@ -1,6 +1,6 @@
 { lib
 , buildPythonPackage
-, fetchFromGitHub
+, fetchPypi
 , isPy3k
 , setuptools
 , pytest-cov
@@ -9,15 +9,11 @@
 
 buildPythonPackage rec {
   pname = "pglast";
-  version = "3.0";
-
-  # PyPI tarball does not include all the required files
-  src = fetchFromGitHub {
-    owner = "lelit";
-    repo = pname;
-    rev = "v${version}";
-    fetchSubmodules = true;
-    sha256 = "0yi24wj19rzw5dvppm8g3hnfskyzbrqw14q8x9f2q5zi8g6xnnrd";
+  version = "3.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "d2288d9607097a08529d9165970261c1be956934e8a8f6d9ed2a96d9b8f03fc6";
   };
 
   disabled = !isPy3k;
diff --git a/nixpkgs/pkgs/development/python-modules/phonenumbers/default.nix b/nixpkgs/pkgs/development/python-modules/phonenumbers/default.nix
index fa869c5d75d9..c04ccbd5281e 100644
--- a/nixpkgs/pkgs/development/python-modules/phonenumbers/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/phonenumbers/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "phonenumbers";
-  version = "8.12.26";
+  version = "8.12.31";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-Zbq269vg7FGWx0YmlJdI21M30jiVqrwe+PXXKEeHmYo=";
+    sha256 = "sha256-CR7SsxWFZ/EsmfcZVwocys4AF585tE8ea4lfWdk9rcg=";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/phonopy/default.nix b/nixpkgs/pkgs/development/python-modules/phonopy/default.nix
index af728d414c1b..86bece5254ac 100644
--- a/nixpkgs/pkgs/development/python-modules/phonopy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/phonopy/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "phonopy";
-  version = "2.10.0";
+  version = "2.11.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "58485042ab7d88fc8b83744d18b2aefd677adb071c8a717ac3710458192743d7";
+    sha256 = "2ab47d3eb53a5265f3567974d29760b510b3312217358b76efc27ade9bd1a9f0";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pikepdf/default.nix b/nixpkgs/pkgs/development/python-modules/pikepdf/default.nix
index c5462a555b52..a7d9faf98a9c 100644
--- a/nixpkgs/pkgs/development/python-modules/pikepdf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pikepdf/default.nix
@@ -24,12 +24,12 @@
 
 buildPythonPackage rec {
   pname = "pikepdf";
-  version = "2.12.2";
+  version = "2.16.1";
   disabled = ! isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5ff35499b1ae7b181277f78ce5b1bcc8d3009182bb389917791c5dc811fcc8e4";
+    sha256 = "sha256-4k3/avMfHrcy/LXbRniDXR8xJkOZb9zZ2+uKylK8Dd4=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pip-tools/default.nix b/nixpkgs/pkgs/development/python-modules/pip-tools/default.nix
index 51da889621f7..9ac877be8848 100644
--- a/nixpkgs/pkgs/development/python-modules/pip-tools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pip-tools/default.nix
@@ -15,13 +15,13 @@
 
 buildPythonPackage rec {
   pname = "pip-tools";
-  version = "6.1.0";
+  version = "6.2.0";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-QAv3finMpIwxq8IQBCkyu1LcwTjvTqTVLF20KaqK5u4=";
+    sha256 = "9ed38c73da4993e531694ea151f77048b4dbf2ba7b94c4a569daa39568cc6564";
   };
 
   LC_ALL = "en_US.UTF-8";
diff --git a/nixpkgs/pkgs/development/python-modules/pip/default.nix b/nixpkgs/pkgs/development/python-modules/pip/default.nix
index f7979966703b..50783f4eeb62 100644
--- a/nixpkgs/pkgs/development/python-modules/pip/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pip/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "pip";
-  version = "21.0.1";
+  version = "21.1.3";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "pypa";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Yt5xqdo735f5sQKP8GnKM201SoIi7ZP9l2gw+feUVW0=";
+    sha256 = "sha256-zfMz9p4I6Kmw849xuvnmGWHmWtajDntFW1jjDilKkgk=";
     name = "${pname}-${version}-source";
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/pipdate/default.nix b/nixpkgs/pkgs/development/python-modules/pipdate/default.nix
index 35fbb624e6b7..627e2b0a6fae 100644
--- a/nixpkgs/pkgs/development/python-modules/pipdate/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pipdate/default.nix
@@ -2,23 +2,23 @@
 , buildPythonPackage
 , fetchPypi
 , pythonOlder
-, isPy27
 , appdirs
 , importlib-metadata
 , requests
-, pytest
+, rich
+, setuptools
 , wheel
 }:
 
 buildPythonPackage rec {
   pname = "pipdate";
-  version = "0.5.2";
+  version = "0.5.5";
   format = "pyproject";
-  disabled = isPy27; # abandoned
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "507065231f2d50b6319d483432cba82aadad78be21b7a2969b5881ed8dee9ab4";
+    sha256 = "03hr9i691cpg9q2xc1xr4lpd90xs8rba0xjh6qmc1vg7lgcdgbaa";
   };
 
   nativeBuildInputs = [ wheel ];
@@ -26,25 +26,19 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     appdirs
     requests
+    rich
+    setuptools
   ] ++ lib.optionals (pythonOlder "3.8") [
     importlib-metadata
   ];
 
-  checkInputs = [
-    pytest
-  ];
-
-  checkPhase = ''
-    HOME=$(mktemp -d) pytest test/test_pipdate.py
-  '';
-
-  # tests require network access
+  # Tests require network access and pythonImportsCheck requires configuration file
   doCheck = false;
 
   meta = with lib; {
     description = "pip update helpers";
     homepage = "https://github.com/nschloe/pipdate";
-    license = licenses.mit;
-    maintainers = [ maintainers.costrouc ];
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ costrouc ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/platformdirs/default.nix b/nixpkgs/pkgs/development/python-modules/platformdirs/default.nix
new file mode 100644
index 000000000000..90eb35f993a3
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/platformdirs/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, appdirs
+, buildPythonPackage
+, fetchFromGitHub
+, platformdirs
+, pytest-mock
+, pytestCheckHook
+, pythonOlder
+, setuptools-scm
+}:
+
+buildPythonPackage rec {
+  pname = "platformdirs";
+  version = "2.2.0";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = version;
+    sha256 = "15f08czqfmxy1y947rlrsjs20jgsy2vc1wqhv4b08b3ijxj0jpqh";
+  };
+
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  checkInputs = [
+    appdirs
+    pytest-mock
+    pytestCheckHook
+  ];
+
+ pythonImportsCheck = [ "platformdirs" ];
+
+  meta = with lib; {
+    description = "Python module for determining appropriate platform-specific directories";
+    homepage = "https://platformdirs.readthedocs.io/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/playsound/default.nix b/nixpkgs/pkgs/development/python-modules/playsound/default.nix
index 589a8f3db819..799bf70457bf 100644
--- a/nixpkgs/pkgs/development/python-modules/playsound/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/playsound/default.nix
@@ -5,13 +5,13 @@
 
 buildPythonPackage rec {
   pname = "playsound";
-  version = "1.2.2";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "TaylorSMarks";
     repo = "playsound";
-    rev = "907f1fe73375a2156f7e0900c4b42c0a60fa1d00";
-    sha256 = "1fh3m115h0c57lj2pfhhqhmsh5awzblb7csi1xc5a6f6slhl059k";
+    rev = "v${version}";
+    sha256 = "0jbq641lmb0apq4fy6r2zyag8rdqgrz8c4wvydzrzmxrp6yx6wyd";
   };
 
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/python-modules/plexapi/default.nix b/nixpkgs/pkgs/development/python-modules/plexapi/default.nix
index d2e04586e382..2df3e3a17c84 100644
--- a/nixpkgs/pkgs/development/python-modules/plexapi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/plexapi/default.nix
@@ -4,19 +4,19 @@
 , requests
 , tqdm
 , websocket-client
-, isPy27
+, pythonOlder
 }:
 
 buildPythonPackage rec {
-  pname = "PlexAPI";
-  version = "4.6.1";
-  disabled = isPy27;
+  pname = "plexapi";
+  version = "4.7.0";
+  disabled = pythonOlder "3.5";
 
   src = fetchFromGitHub {
     owner = "pkkid";
     repo = "python-plexapi";
     rev = version;
-    sha256 = "sha256-WL5UBsvAdtfOCkVX9NI0Z2fJ2CAO+NwD8wvkvkJ2uww=";
+    sha256 = "1gh36ln9ki69rs7ml9syqq956i996rdi145qffjwb3736zylrzkp";
   };
 
   propagatedBuildInputs = [
@@ -27,6 +27,7 @@ buildPythonPackage rec {
 
   # Tests require a running Plex instance
   doCheck = false;
+
   pythonImportsCheck = [ "plexapi" ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/plugwise/default.nix b/nixpkgs/pkgs/development/python-modules/plugwise/default.nix
index c629e2d94515..ececea7d7ddc 100644
--- a/nixpkgs/pkgs/development/python-modules/plugwise/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/plugwise/default.nix
@@ -19,13 +19,13 @@
 
 buildPythonPackage rec {
   pname = "plugwise";
-  version = "0.11.1";
+  version = "0.13.1";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = "python-plugwise";
-    rev = version;
-    sha256 = "sha256-b00jfPZTVRI7BRpUHI2NjcydkykC/1HjmVzDaIech8c=";
+    rev = "v${version}";
+    sha256 = "1sv421aa6ip74ajxa5imnh188hyx9dq3vwkb6aifi14h2wpr9lh3";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/policy-sentry/default.nix b/nixpkgs/pkgs/development/python-modules/policy-sentry/default.nix
new file mode 100644
index 000000000000..8240e86af2b3
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/policy-sentry/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, beautifulsoup4
+, buildPythonPackage
+, click
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+, pyyaml
+, requests
+, schema
+}:
+
+buildPythonPackage rec {
+  pname = "policy-sentry";
+  version = "0.11.16";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "salesforce";
+    repo = "policy_sentry";
+    rev = version;
+    sha256 = "0m3sr1mhnmm22xgd3h9dgkrq20pdghwx505xld4pahj686z4bva2";
+  };
+
+  propagatedBuildInputs = [
+    beautifulsoup4
+    click
+    requests
+    pyyaml
+    schema
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "policy_sentry" ];
+
+  meta = with lib; {
+    description = "Python module for generating IAM least privilege policies";
+    homepage = "https://github.com/salesforce/policy_sentry";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/policyuniverse/default.nix b/nixpkgs/pkgs/development/python-modules/policyuniverse/default.nix
new file mode 100644
index 000000000000..d8e102957b1b
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/policyuniverse/default.nix
@@ -0,0 +1,29 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "policyuniverse";
+  version = "1.4.0.20210819";
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-RBRUR9Rzw3/yd2ZnteEBigDApJPBagpIk5lSGzeGqL4=";
+  };
+
+  # Tests are not shipped and there are no GitHub tags
+  doCheck = false;
+
+  pythonImportsCheck = [ "policyuniverse" ];
+
+  meta = with lib; {
+    description = "Parse and Process AWS IAM Policies, Statements, ARNs and wildcards";
+    homepage = "https://github.com/Netflix-Skunkworks/policyuniverse";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pooch/default.nix b/nixpkgs/pkgs/development/python-modules/pooch/default.nix
index 25efef9ef081..d9c8dda1354f 100644
--- a/nixpkgs/pkgs/development/python-modules/pooch/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pooch/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "pooch";
-  version = "1.4.0";
+  version = "1.5.1";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f827e79ab51b21a8964a4b1ea8972aa4a1079cb9c1ff8e9ec61893eb7dab50cb";
+    sha256 = "57ab0c43e9c5bd81227b08b9931435d71c118cd53339cc5925123a740f40b312";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/nixpkgs/pkgs/development/python-modules/poppler-qt5/default.nix b/nixpkgs/pkgs/development/python-modules/poppler-qt5/default.nix
index 4a9fdfa42620..857f97162517 100644
--- a/nixpkgs/pkgs/development/python-modules/poppler-qt5/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/poppler-qt5/default.nix
@@ -1,9 +1,7 @@
-{ stdenv
-, lib
+{ lib
 , buildPythonPackage
 , isPy3k
 , fetchPypi
-, pythonPackages
 , sip
 , qtbase
 , qmake
@@ -42,11 +40,8 @@ buildPythonPackage rec {
 
   postPatch = ''
     cat <<EOF >> pyproject.toml
-    sip-include-dirs = ["${pyqt5}/share/sip/PyQt5"]
-
     [tool.sip.bindings.Poppler-Qt5]
     include-dirs = ["${poppler.dev}/include/poppler"]
-    tags = ["${sip.platform_tag}"]
     EOF
   '';
 
diff --git a/nixpkgs/pkgs/development/python-modules/portalocker/default.nix b/nixpkgs/pkgs/development/python-modules/portalocker/default.nix
index eee4a1047fdd..abe7ce698208 100644
--- a/nixpkgs/pkgs/development/python-modules/portalocker/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/portalocker/default.nix
@@ -5,12 +5,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "2.3.0";
+  version = "2.3.2";
   pname = "portalocker";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0k08c0qg21mwz3iqbd20ab22nq705q7cal4a1qr8qnd6ga03v4af";
+    sha256 = "75cfe02f702737f1726d83e04eedfa0bda2cc5b974b1ceafb8d6b42377efbd5f";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pot/default.nix b/nixpkgs/pkgs/development/python-modules/pot/default.nix
new file mode 100644
index 000000000000..431c2e40487f
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pot/default.nix
@@ -0,0 +1,55 @@
+{ lib
+, fetchPypi
+, buildPythonPackage
+, numpy
+, scipy
+, cython
+, matplotlib
+, scikit-learn
+, cupy
+, pymanopt
+, autograd
+, pytestCheckHook
+, enableDimensionalityReduction ? false
+, enableGPU ? false
+}:
+
+buildPythonPackage rec {
+  pname = "pot";
+  version = "0.7.0";
+
+  src = fetchPypi {
+    pname = "POT";
+    inherit version;
+    sha256 = "01mdsiv8rlgqzvm3bds9aj49khnn33i523c2cqqrl10zg742pb6l";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "--cov-report= --cov=ot" ""
+  '';
+
+  nativeBuildInputs = [ numpy cython ];
+  propagatedBuildInputs = [ numpy scipy ]
+    ++ lib.optionals enableGPU [ cupy ]
+    ++ lib.optionals enableDimensionalityReduction [ pymanopt autograd ];
+  checkInputs = [ matplotlib scikit-learn pytestCheckHook ];
+
+  # To prevent importing of an incomplete package from the build directory
+  # instead of nix store (`ot` is the top-level package name).
+  preCheck = ''
+    rm -r ot
+  '';
+
+  # GPU tests are always skipped because of sandboxing
+  disabledTests = [ "warnings" ];
+
+  pythonImportsCheck = [ "ot" "ot.lp" ];
+
+  meta = {
+    description = "Python Optimal Transport Library";
+    homepage = "https://pythonot.github.io/";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ yl3dy ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/praw/default.nix b/nixpkgs/pkgs/development/python-modules/praw/default.nix
index e104dbff4f62..1196a6575da8 100644
--- a/nixpkgs/pkgs/development/python-modules/praw/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/praw/default.nix
@@ -14,13 +14,13 @@
 
 buildPythonPackage rec {
   pname = "praw";
-  version = "7.3.0";
+  version = "7.4.0";
 
   src = fetchFromGitHub {
     owner = "praw-dev";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0pj987v04y5askczlma2ilwllwfsg7p5mwhv0h1lcl1lg0fbsvn9";
+    sha256 = "1wcr59k1bncwfza5k8mllaxz8fwfyqbwgm5xp908w2449i71wl7r";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/prawcore/default.nix b/nixpkgs/pkgs/development/python-modules/prawcore/default.nix
index cb72e69af77d..a115d42472a6 100644
--- a/nixpkgs/pkgs/development/python-modules/prawcore/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/prawcore/default.nix
@@ -14,12 +14,12 @@
 
 buildPythonPackage rec {
   pname = "prawcore";
-  version = "2.2.0";
+  version = "2.3.0";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bde42fad459c4dcfe0f22a18921ef4981ee7cd286ea1de3eb697ba91838c9123";
+    sha256 = "0vgmhjddqxnz5vy70dyqvakak51fg1nk6j3xavkc83d8nzacrwfs";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pre-commit/default.nix b/nixpkgs/pkgs/development/python-modules/pre-commit/default.nix
index 0cb853abf2de..9f752626e5e9 100644
--- a/nixpkgs/pkgs/development/python-modules/pre-commit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pre-commit/default.nix
@@ -17,13 +17,13 @@
 
 buildPythonPackage rec {
   pname = "pre-commit";
-  version = "2.13.0";
+  version = "2.14.0";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit version;
     pname = "pre_commit";
-    sha256 = "sha256-dklyxgaT3GaLqOhuspZU7DFEUBMQ9xmHQqdnvsOFo3g=";
+    sha256 = "sha256-I4butM9mM3EsfMnt6DaE1TyMr8prWfecc4CYtRxtIGw=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/premailer/default.nix b/nixpkgs/pkgs/development/python-modules/premailer/default.nix
index 8523a47b71a7..21214b5fe752 100644
--- a/nixpkgs/pkgs/development/python-modules/premailer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/premailer/default.nix
@@ -4,12 +4,12 @@
 
 buildPythonPackage rec {
   pname = "premailer";
-  version = "3.9.0";
+  version = "3.10.0";
   disabled = isPy27; # no longer compatible with urllib
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "da18b9e8cb908893b67ab9b7451276fef7c0ab179f40189378545f6bb0ab3695";
+    sha256 = "d1875a8411f5dc92b53ef9f193db6c0f879dc378d618e0ad292723e388bfe4c2";
   };
 
   buildInputs = [ mock nose ];
diff --git a/nixpkgs/pkgs/development/python-modules/progress/default.nix b/nixpkgs/pkgs/development/python-modules/progress/default.nix
index fcc1a7a92293..801beaa44710 100644
--- a/nixpkgs/pkgs/development/python-modules/progress/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/progress/default.nix
@@ -5,12 +5,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.5";
+  version = "1.6";
   pname = "progress";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0wj3wvdgfmqj44n32wag3mzpp5fjqkkd321x67v1prxvs78yvv39";
+    sha256 = "c9c86e98b5c03fa1fe11e3b67c1feda4788b8d0fe7336c2ff7d5644ccfba34cd";
   };
 
   checkPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/prometheus-client/default.nix b/nixpkgs/pkgs/development/python-modules/prometheus-client/default.nix
new file mode 100644
index 000000000000..9a01769695ac
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/prometheus-client/default.nix
@@ -0,0 +1,29 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "prometheus-client";
+  version = "0.11.0";
+
+  src = fetchFromGitHub {
+    owner = "prometheus";
+    repo = "client_python";
+    rev = "v${version}";
+    sha256 = "14swmy4dgpk6cyjsm2advgc2c8api7xaca1sl7swznblh5fyzgzg";
+  };
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "prometheus_client" ];
+
+  meta = with lib; {
+    description = "Prometheus instrumentation library for Python applications";
+    homepage = "https://github.com/prometheus/client_python";
+    license = licenses.asl20;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/prometheus-flask-exporter/default.nix b/nixpkgs/pkgs/development/python-modules/prometheus-flask-exporter/default.nix
index dc35aea6cd11..7abb9670ac8a 100644
--- a/nixpkgs/pkgs/development/python-modules/prometheus-flask-exporter/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/prometheus-flask-exporter/default.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , fetchFromGitHub
 , flask
-, prometheus_client
+, prometheus-client
 , pytestCheckHook
 }:
 
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     sha256 = "1dwisp681w0f6zf0000rxd3ksdb48zb9mr38qfdqk2ir24y8w370";
   };
 
-  propagatedBuildInputs = [ flask prometheus_client ];
+  propagatedBuildInputs = [ flask prometheus-client ];
 
   checkInputs = [ pytestCheckHook ];
   pytestFlagsArray = [ "tests/" ];
diff --git a/nixpkgs/pkgs/development/python-modules/prometheus_client/default.nix b/nixpkgs/pkgs/development/python-modules/prometheus_client/default.nix
deleted file mode 100644
index 7ce36e588d71..000000000000
--- a/nixpkgs/pkgs/development/python-modules/prometheus_client/default.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ lib, buildPythonPackage, fetchPypi }:
-
-buildPythonPackage rec {
-  pname = "prometheus_client";
-  version = "0.11.0";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "3a8baade6cb80bcfe43297e33e7623f3118d660d41387593758e2fb1ea173a86";
-  };
-
-  doCheck = false;
-
-  meta = with lib; {
-    description = "Prometheus instrumentation library for Python applications";
-    homepage = "https://github.com/prometheus/client_python";
-    license = licenses.asl20;
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/prompt_toolkit/1.nix b/nixpkgs/pkgs/development/python-modules/prompt-toolkit/1.nix
index bc39a8c92297..e1b9695071a6 100644
--- a/nixpkgs/pkgs/development/python-modules/prompt_toolkit/1.nix
+++ b/nixpkgs/pkgs/development/python-modules/prompt-toolkit/1.nix
@@ -1,7 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, pytest
+, pytestCheckHook
 , docopt
 , six
 , wcwidth
@@ -9,22 +9,24 @@
 }:
 
 buildPythonPackage rec {
-  pname = "prompt_toolkit";
+  pname = "prompt-toolkit";
   version = "1.0.18";
 
   src = fetchPypi {
-    inherit pname version;
+    pname = "prompt_toolkit";
+    inherit version;
     sha256 = "dd4fca02c8069497ad931a2d09914c6b0d1b50151ce876bc15bde4c747090126";
   };
-  checkPhase = ''
-    rm prompt_toolkit/win32_types.py
-    py.test -k 'not test_pathcompleter_can_expanduser'
-  '';
 
-  checkInputs = [ pytest ];
   propagatedBuildInputs = [ docopt six wcwidth pygments ];
 
-  meta = {
+  checkInputs = [ pytestCheckHook ];
+
+  disabledTests = [
+    "test_pathcompleter_can_expanduser"
+  ];
+
+  meta = with lib; {
     description = "Python library for building powerful interactive command lines";
     longDescription = ''
       prompt_toolkit could be a replacement for readline, but it can be
@@ -33,6 +35,7 @@ buildPythonPackage rec {
       with a nice interactive Python shell (called ptpython) built on top.
     '';
     homepage = "https://github.com/jonathanslenders/python-prompt-toolkit";
-    license = lib.licenses.bsd3;
+    maintainers = with maintainers; [ ];
+    license = licenses.bsd3;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/prompt_toolkit/default.nix b/nixpkgs/pkgs/development/python-modules/prompt-toolkit/default.nix
index 266ac3c90c30..9aed0211a956 100644
--- a/nixpkgs/pkgs/development/python-modules/prompt_toolkit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/prompt-toolkit/default.nix
@@ -1,27 +1,30 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, pytest
+, pytestCheckHook
 , six
 , wcwidth
 }:
 
 buildPythonPackage rec {
-  pname = "prompt_toolkit";
+  pname = "prompt-toolkit";
   version = "3.0.19";
 
   src = fetchPypi {
-    inherit pname version;
+    pname = "prompt_toolkit";
+    inherit version;
     sha256 = "08360ee3a3148bdb5163621709ee322ec34fc4375099afa4bbf751e9b7b7fa4f";
   };
-  checkPhase = ''
-    py.test -k 'not test_pathcompleter_can_expanduser'
-  '';
 
-  checkInputs = [ pytest ];
   propagatedBuildInputs = [ six wcwidth ];
 
-  meta = {
+  checkInputs = [ pytestCheckHook ];
+
+  disabledTests = [
+    "test_pathcompleter_can_expanduser"
+  ];
+
+  meta = with lib; {
     description = "Python library for building powerful interactive command lines";
     longDescription = ''
       prompt_toolkit could be a replacement for readline, but it can be
@@ -30,6 +33,7 @@ buildPythonPackage rec {
       with a nice interactive Python shell (called ptpython) built on top.
     '';
     homepage = "https://github.com/jonathanslenders/python-prompt-toolkit";
-    license = lib.licenses.bsd3;
+    maintainers = with maintainers; [ ];
+    license = licenses.bsd3;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/proto-plus/default.nix b/nixpkgs/pkgs/development/python-modules/proto-plus/default.nix
index 3fa782cb471b..df97d1c4d780 100644
--- a/nixpkgs/pkgs/development/python-modules/proto-plus/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/proto-plus/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "proto-plus";
-  version = "1.18.1";
+  version = "1.19.0";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cfc45474c7eda0fe3c4b9eca2542124f2a0ff5543242bec61e8d08bce0f5bd48";
+    sha256 = "sha256-zmaVzoBDg61vOSxLsYdMMjiWKQofZWVg3jZBa6gy2R4=";
   };
 
   propagatedBuildInputs = [ protobuf ];
diff --git a/nixpkgs/pkgs/development/python-modules/protonup/default.nix b/nixpkgs/pkgs/development/python-modules/protonup/default.nix
new file mode 100644
index 000000000000..ad760063248f
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/protonup/default.nix
@@ -0,0 +1,29 @@
+{ lib, buildPythonPackage, pythonOlder, fetchPypi, requests, configparser }:
+
+buildPythonPackage rec {
+  pname = "protonup";
+  version = "0.1.4";
+  disabled = pythonOlder "3.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0z5q0s9h51w2bqm9lkafml14g13v2dgm4nm9x06v7nxqc9msmyyy";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "argparse" ""
+  '';
+
+  propagatedBuildInputs = [ requests configparser ];
+
+  doCheck = false; # protonup does not have any tests
+  pythonImportsCheck = [ "protonup" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/AUNaseef/protonup";
+    description = "CLI program and API to automate the installation and update of GloriousEggroll's Proton-GE";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ flexagoon ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/ptpython/default.nix b/nixpkgs/pkgs/development/python-modules/ptpython/default.nix
index 65915c858696..f6befe1bd622 100644
--- a/nixpkgs/pkgs/development/python-modules/ptpython/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ptpython/default.nix
@@ -4,25 +4,25 @@
 , importlib-metadata
 , isPy3k
 , jedi
-, prompt_toolkit
+, prompt-toolkit
 , pygments
 }:
 
 buildPythonPackage rec {
   pname = "ptpython";
-  version = "3.0.17";
+  version = "3.0.19";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "911d25cca31a8e4f9b2ecd16dcdad793b8859e94fca1275f3485d8cdf20b13de";
+    sha256 = "b3d41ce7c2ce0e7e55051347eae400fc56b9b42b1c4a9db25b19ccf6195bfc12";
   };
 
   propagatedBuildInputs = [
     appdirs
     black # yes, this is in install_requires
     jedi
-    prompt_toolkit
+    prompt-toolkit
     pygments
   ] ++ lib.optionals (pythonOlder "3.8") [ importlib-metadata ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/pubnub/default.nix b/nixpkgs/pkgs/development/python-modules/pubnub/default.nix
index 478782b488c8..a6af74b3e4e9 100644
--- a/nixpkgs/pkgs/development/python-modules/pubnub/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pubnub/default.nix
@@ -13,13 +13,13 @@
 
 buildPythonPackage rec {
   pname = "pubnub";
-  version = "5.1.4";
+  version = "5.2.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = "python";
     rev = "v${version}";
-    sha256 = "sha256-aDmmF3T5v6NX3kut7cydEJNRw4mkrGt4X0+WOm/ZCVo=";
+    sha256 = "1jd3rr8dydfaxz5g8idpwacp4bnbmhg74dwz7qwmzn34336s4ji6";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pulp/default.nix b/nixpkgs/pkgs/development/python-modules/pulp/default.nix
index 3e4c4b4b6632..2b12c16135d1 100644
--- a/nixpkgs/pkgs/development/python-modules/pulp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pulp/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "PuLP";
-  version = "2.4";
+  version = "2.5.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b2aff10989b3692e3a59301a0cb0acddeb25dcea378f8804c86007075eae55b5";
+    sha256 = "5dc7d76bfb1da06ac048066ced75603340d0d7ba8a7dbfce4040d6f126eda0d5";
   };
 
   propagatedBuildInputs = [ pyparsing amply ];
diff --git a/nixpkgs/pkgs/development/python-modules/pweave/default.nix b/nixpkgs/pkgs/development/python-modules/pweave/default.nix
index 1b8e1a3cc6f1..b97d51496521 100644
--- a/nixpkgs/pkgs/development/python-modules/pweave/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pweave/default.nix
@@ -28,7 +28,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Scientific reports with embedded python computations with reST, LaTeX or markdown";
-    homepage = "http://mpastell.com/pweave/";
+    homepage = "https://mpastell.com/pweave/";
     license = licenses.bsd3;
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/py-air-control-exporter/default.nix b/nixpkgs/pkgs/development/python-modules/py-air-control-exporter/default.nix
index 869aea01a29a..d67ddba02b9c 100644
--- a/nixpkgs/pkgs/development/python-modules/py-air-control-exporter/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/py-air-control-exporter/default.nix
@@ -1,6 +1,15 @@
-{ buildPythonPackage, fetchPypi, flask, isPy27, lib, nixosTests
-, prometheus_client, py-air-control, pytestCheckHook, pytest-cov, pytest-runner
-, setuptools-scm }:
+{ lib
+, buildPythonPackage
+, click
+, fetchPypi
+, flask
+, isPy27
+, nixosTests
+, prometheus-client
+, py-air-control
+, pytestCheckHook
+, setuptools-scm
+}:
 
 buildPythonPackage rec {
   pname = "py-air-control-exporter";
@@ -12,14 +21,40 @@ buildPythonPackage rec {
     sha256 = "ece2e446273542e5c0352c9d6e80d8279132c6ada3649c59e87a711448801a3b";
   };
 
-  nativeBuildInputs = [ setuptools-scm ];
-  checkInputs = [ pytestCheckHook pytest-cov pytest-runner ];
-  propagatedBuildInputs = [ flask prometheus_client py-air-control ];
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    click
+    flask
+    prometheus-client
+    py-air-control
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "pytest-runner" ""
+    substituteInPlace setup.cfg \
+      --replace "--cov=py_air_control_exporter" ""
+  '';
+
+  disabledTests = [
+    # Tests are outdated
+    "test_help"
+    "test_unknown_protocol"
+  ];
+
+  pythonImportsCheck = [ "py_air_control_exporter" ];
 
   passthru.tests = { inherit (nixosTests.prometheus-exporters) py-air-control; };
 
   meta = with lib; {
-    description = "Exports Air Quality Metrics to Prometheus.";
+    description = "Exports Air Quality Metrics to Prometheus";
     homepage = "https://github.com/urbas/py-air-control-exporter";
     license = licenses.mit;
     maintainers = with maintainers; [ urbas ];
diff --git a/nixpkgs/pkgs/development/python-modules/py3status/default.nix b/nixpkgs/pkgs/development/python-modules/py3status/default.nix
index 1471d7b17336..c8d5068e4e73 100644
--- a/nixpkgs/pkgs/development/python-modules/py3status/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/py3status/default.nix
@@ -24,11 +24,11 @@
 
 buildPythonPackage rec {
   pname = "py3status";
-  version = "3.37";
+  version = "3.38";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e05fe64df57de0f86e9b1aca907cd6f080d85909085e594868af488ce3557809";
+    sha256 = "5660163a91590f320685263a738ab910c7a86346d9c85a68639a19ab83433ce6";
   };
 
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/python-modules/pyTelegramBotAPI/default.nix b/nixpkgs/pkgs/development/python-modules/pyTelegramBotAPI/default.nix
index b7432f26b2f7..58d1d0c694a7 100644
--- a/nixpkgs/pkgs/development/python-modules/pyTelegramBotAPI/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyTelegramBotAPI/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pyTelegramBotAPI";
-  version = "3.7.9";
+  version = "3.8.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7774314ff429852d423d5dfebe8fc1011dca93a028f1ccb0c56db6817245b752";
+    sha256 = "afdd887fff42a963f13d09a1f4f5fd24aef08f4b8a594f2ac11e0a29022f1518";
   };
 
   propagatedBuildInputs = [ requests ];
diff --git a/nixpkgs/pkgs/development/python-modules/pyacoustid/default.nix b/nixpkgs/pkgs/development/python-modules/pyacoustid/default.nix
index 5bebb1d5bc7e..6e1bb63f0f60 100644
--- a/nixpkgs/pkgs/development/python-modules/pyacoustid/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyacoustid/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "pyacoustid";
-  version = "1.2.0";
+  version = "1.2.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0c3dsnfyldnsmyzczp5s5aqvbzcn360s0h4l3gm3k53lg57f762z";
+    sha256 = "c279d9c30a7f481f1420fc37db65833b5f9816cd364dc2acaa93a11c482d4141";
   };
 
   propagatedBuildInputs = [ requests audioread ];
@@ -23,10 +23,15 @@ buildPythonPackage rec {
         acoustid.py
   '';
 
+  # package has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "acoustid" ];
+
   meta = with lib; {
     description = "Bindings for Chromaprint acoustic fingerprinting";
     homepage = "https://github.com/sampsyo/pyacoustid";
     license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
-
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pyairvisual/default.nix b/nixpkgs/pkgs/development/python-modules/pyairvisual/default.nix
index 65f70efb7c5b..fadb3f58d509 100644
--- a/nixpkgs/pkgs/development/python-modules/pyairvisual/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyairvisual/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "pyairvisual";
-  version = "5.0.8";
+  version = "5.0.9";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "bachya";
     repo = pname;
     rev = version;
-    sha256 = "sha256-QgMc0O5jk5LgKQg9ZMCZd3dNLv1typm1Rp2u8kSsqYk=";
+    sha256 = "1jfbwnipklpgxjgsgsx4j53anbqyrbgvj0wb84fvsm32jq9m8avf";
   };
 
   nativeBuildInputs = [ poetry-core ];
diff --git a/nixpkgs/pkgs/development/python-modules/pyaml/default.nix b/nixpkgs/pkgs/development/python-modules/pyaml/default.nix
index 524d34c68d4a..8642c9affbdc 100644
--- a/nixpkgs/pkgs/development/python-modules/pyaml/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyaml/default.nix
@@ -7,20 +7,27 @@
 
 buildPythonPackage rec {
   pname = "pyaml";
-  version = "20.4.0";
+  version = "21.8.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "29a5c2a68660a799103d6949167bd6c7953d031449d08802386372de1db6ad71";
+    sha256 = "sha256-oWNtY8R2MooHIT0LcRG7Y1cPGrij7d9gUiYwJQwj2XU=";
   };
 
-  propagatedBuildInputs = [ pyyaml ];
+  propagatedBuildInputs = [
+    pyyaml
+  ];
 
-  checkInputs = [ unidecode ];
+  checkInputs = [
+    unidecode
+  ];
 
-  meta = {
+  pythonImportsCheck = [ "pyaml" ];
+
+  meta = with lib; {
     description = "PyYAML-based module to produce pretty and readable YAML-serialized data";
     homepage = "https://github.com/mk-fg/pretty-yaml";
-    license = lib.licenses.wtfpl;
+    license = licenses.wtfpl;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pyarrow/default.nix b/nixpkgs/pkgs/development/python-modules/pyarrow/default.nix
index 989433b499d3..e9510d9552ce 100644
--- a/nixpkgs/pkgs/development/python-modules/pyarrow/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyarrow/default.nix
@@ -41,9 +41,9 @@ buildPythonPackage rec {
     # enabled in nixpkgs.
     # Upstream Issue: https://issues.apache.org/jira/browse/ARROW-11393
     "--deselect=pyarrow/tests/test_memory.py::test_env_var"
-    # Deselect the parquet dataset write test because it erroneously fails to find the
+    # Deselect a parquet dataset test because it erroneously fails to find the
     # pyarrow._dataset module.
-    "--deselect=pyarrow/tests/parquet/test_dataset.py::test_write_to_dataset_filesystem"
+    "--deselect=pyarrow/tests/parquet/test_dataset.py::test_parquet_dataset_deprecated_properties"
   ];
 
   dontUseSetuptoolsCheck = true;
diff --git a/nixpkgs/pkgs/development/python-modules/pyatmo/default.nix b/nixpkgs/pkgs/development/python-modules/pyatmo/default.nix
index e313d2b8b054..e2c6d8e37fdb 100644
--- a/nixpkgs/pkgs/development/python-modules/pyatmo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyatmo/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "pyatmo";
-  version = "5.2.0";
+  version = "5.2.3";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "jabesq";
     repo = "pyatmo";
     rev = "v${version}";
-    sha256 = "sha256-P9c9tm2RcF/4r0OYBoAQxQbMBaFAsaHg/stg9rrYHNM=";
+    sha256 = "1w9rhh85z9m3c4rbz6zxlrxglsm5sk5d6796dsj1p1l3b3ad476z";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pyatv/default.nix b/nixpkgs/pkgs/development/python-modules/pyatv/default.nix
index cef64c084f2f..eaeda0ed3417 100644
--- a/nixpkgs/pkgs/development/python-modules/pyatv/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyatv/default.nix
@@ -19,13 +19,13 @@
 
 buildPythonPackage rec {
   pname = "pyatv";
-  version = "0.8.1";
+  version = "0.8.2";
 
   src = fetchFromGitHub {
     owner = "postlund";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-/ccmYNOYE+RkJiJbGkQgdYE8/X4xzyRT4dkMa/qSZEc=";
+    sha256 = "035cjm78xakvfi7k8zahjk0xr23p9my67d8jvq5bqrd506awrl0f";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pybase64/default.nix b/nixpkgs/pkgs/development/python-modules/pybase64/default.nix
index 048d218a9ea1..852f783337db 100644
--- a/nixpkgs/pkgs/development/python-modules/pybase64/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pybase64/default.nix
@@ -1,27 +1,29 @@
-{ buildPythonPackage, isPy3k, lib, fetchPypi, six, pytest }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "pybase64";
-  version = "1.1.4";
+  version = "1.2.0";
 
-  disabled = !isPy3k;
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f0e0db1dee2a2cbf35e6710ea138594ecc1e0f491ff9103f136de83d8f159315";
+    sha256 = "9e310fcf5cfa2cbf7d1d7eb503b6066bec785216bcd1d8c0a736f59d5ec21b0b";
   };
 
-  propagatedBuildInputs = [ six ];
-  checkInputs = [ pytest ];
+  checkInputs = [ pytestCheckHook ];
 
-  checkPhase = ''
-    py.test
-  '';
+  pythonImportsCheck = [ "pybase64" ];
 
   meta = with lib; {
-    homepage = "https://pypi.python.org/pypi/pybase64";
     description = "Fast Base64 encoding/decoding";
+    homepage = "https://github.com/mayeut/pybase64";
     license = licenses.bsd2;
-    maintainers = with maintainers; [ ma27 ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pybids/default.nix b/nixpkgs/pkgs/development/python-modules/pybids/default.nix
index 3ed34b4e73d7..97187abd7591 100644
--- a/nixpkgs/pkgs/development/python-modules/pybids/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pybids/default.nix
@@ -42,5 +42,8 @@ buildPythonPackage rec {
     homepage = "https://github.com/bids-standard/pybids";
     license = licenses.mit;
     maintainers = with maintainers; [ jonringer ];
+    # Doesn't support sqlalchemy >=1.4
+    # See https://github.com/bids-standard/pybids/issues/680
+    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pybind11/default.nix b/nixpkgs/pkgs/development/python-modules/pybind11/default.nix
index 2208cca708dc..3f825a06cd3c 100644
--- a/nixpkgs/pkgs/development/python-modules/pybind11/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pybind11/default.nix
@@ -2,35 +2,25 @@
 , lib
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , cmake
 , eigen
 , python
 , catch
 , numpy
 , pytest
-, scipy
 }:
 
 buildPythonPackage rec {
   pname = "pybind11";
-  version = "2.6.2";
+  version = "2.7.0";
 
   src = fetchFromGitHub {
     owner = "pybind";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1lsacpawl2gb5qlh0cawj9swsyfbwhzhwiv6553a7lsigdbadqpy";
+    sha256 = "sha256-iEXoNTsfsDq79bKV7A4aOCHr11rT/cqnyLghEtGsaks=";
   };
 
-  patches = [
-    # fix pybind11Config.cmake
-    (fetchpatch {
-      url = "https://github.com/pybind/pybind11/commit/d9c4e1047a95f023633a7260af5a633307438941.patch";
-      sha256 = "0kran295kj31xfs6mfha5ip132zd0pnj2dl36qzgyc1rpnha5gz4";
-    })
-  ];
-
   nativeBuildInputs = [ cmake ];
 
   dontUseCmakeBuildDir = true;
diff --git a/nixpkgs/pkgs/development/python-modules/pybotvac/default.nix b/nixpkgs/pkgs/development/python-modules/pybotvac/default.nix
index f115b2b5c6a7..7bf5296eb362 100644
--- a/nixpkgs/pkgs/development/python-modules/pybotvac/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pybotvac/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "pybotvac";
-  version = "0.0.21";
+  version = "0.0.22";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1hf692w44dmalv7hlcpwzbnr6xhvnmdv5nl1jcy2jhiwp89lkhzv";
+    sha256 = "sha256-hl8UmoVUbbHCSpCWdUTxoIlop5di+rUmGUQI9UWq3ik=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pybtex-docutils/default.nix b/nixpkgs/pkgs/development/python-modules/pybtex-docutils/default.nix
index 2dbd4e8cff58..a4abd26a043f 100644
--- a/nixpkgs/pkgs/development/python-modules/pybtex-docutils/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pybtex-docutils/default.nix
@@ -1,7 +1,7 @@
 { lib, buildPythonPackage, fetchPypi, docutils, pybtex, six }:
 
 buildPythonPackage rec {
-  version = "1.0.0";
+  version = "1.0.1";
   pname = "pybtex-docutils";
 
   doCheck = false;
@@ -9,7 +9,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cead6554b4af99c287dd29f38b1fa152c9542f56a51cb6cbc3997c95b2725b2e";
+    sha256 = "d53aa0c31dc94d61fd30ea3f06c749e6f510f9ff0e78cb2765a9300f173d8626";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/pycdio/default.nix b/nixpkgs/pkgs/development/python-modules/pycdio/default.nix
index 7dee3229f77f..fb298e62eff9 100644
--- a/nixpkgs/pkgs/development/python-modules/pycdio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pycdio/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "pycdio";
-  version = "2.1.0";
+  version = "2.1.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "01b7vqqfry071p60sabydym7r3m3rxszyqpdbs1qi5rk2sfyblnn";
+    sha256 = "61734db8c554b7b1a2cb2da2e2c15d3f9f5973a57cfb06f8854c38029004a9f8";
   };
 
   prePatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pyclipper/default.nix b/nixpkgs/pkgs/development/python-modules/pyclipper/default.nix
index 0fe3998b3e89..0dbcdfbc260a 100644
--- a/nixpkgs/pkgs/development/python-modules/pyclipper/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyclipper/default.nix
@@ -3,16 +3,18 @@
 , buildPythonPackage
 , setuptools-scm
 , cython
+, pytestCheckHook
+, unittest2
 }:
 
 buildPythonPackage rec {
   pname = "pyclipper";
-  version = "1.2.1";
+  version = "1.3.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "ca3751e93559f0438969c46f17459d07f983281dac170c3479de56492e152855";
+    sha256 = "48a1b5c585aea10e5b9c0b82d6abe2642fafd9ef158b9921852bc4af815ca20c";
   };
 
   nativeBuildInputs = [
@@ -20,10 +22,7 @@ buildPythonPackage rec {
     cython
   ];
 
-  # Requires pytest_runner to perform tests, which requires deprecated
-  # features of setuptools. Seems better to not run tests. This should
-  # be fixed upstream.
-  doCheck = false;
+  checkInputs = [ pytestCheckHook unittest2 ];
   pythonImportsCheck = [ "pyclipper" ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/pycm/default.nix b/nixpkgs/pkgs/development/python-modules/pycm/default.nix
index 614393cf2d59..c8cc7c964243 100644
--- a/nixpkgs/pkgs/development/python-modules/pycm/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pycm/default.nix
@@ -1,8 +1,8 @@
-{ lib, buildPythonPackage, fetchFromGitHub, isPy3k, matplotlib, numpy, pytest, seaborn }:
+{ lib, buildPythonPackage, fetchFromGitHub, isPy3k, matplotlib, numpy, pytestCheckHook, seaborn }:
 
 buildPythonPackage rec {
   pname = "pycm";
-  version = "3.1";
+  version = "3.2";
 
   disabled = !isPy3k;
 
@@ -10,22 +10,20 @@ buildPythonPackage rec {
     owner  = "sepandhaghighi";
     repo   = pname;
     rev    = "v${version}";
-    sha256 = "1aspd3vkjasb4wxs9czwjw42fmd4027wsmm4vlj09yp7sl57gary";
+    sha256 = "1p2scgb4aghjlxak4zvm3s9ydkpg42mdxy6vjxlnqw0wpnsskfni";
   };
 
   # remove a trivial dependency on the author's `art` Python ASCII art library
   postPatch = ''
     rm pycm/__main__.py
+    rm Otherfiles/notebook_check.py  # also depends on python3Packages.notebook
     substituteInPlace setup.py --replace '=get_requires()' '=[]'
   '';
 
-  checkInputs = [ pytest ];
+  checkInputs = [ pytestCheckHook ];
+  disabledTests = [ "pycm.pycm_compare.Compare" ];  # output formatting error
   propagatedBuildInputs = [ matplotlib numpy seaborn ];
 
-  checkPhase = ''
-    pytest Test/
-  '';
-
   meta = with lib; {
     description = "Multiclass confusion matrix library";
     homepage = "https://pycm.ir";
diff --git a/nixpkgs/pkgs/development/python-modules/pycuda/default.nix b/nixpkgs/pkgs/development/python-modules/pycuda/default.nix
index 5bf9114d6937..cdd07e86110b 100644
--- a/nixpkgs/pkgs/development/python-modules/pycuda/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pycuda/default.nix
@@ -22,11 +22,11 @@ let
 in
 buildPythonPackage rec {
   pname = "pycuda";
-  version = "2020.1";
+  version = "2021.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "effa3b99b55af67f3afba9b0d1b64b4a0add4dd6a33bdd6786df1aa4cc8761a5";
+    sha256 = "ab87312d0fc349d9c17294a087bb9615cffcf966ad7b115f5b051008a48dd6ed";
   };
 
   preConfigure = with lib.versions; ''
diff --git a/nixpkgs/pkgs/development/python-modules/pycurl/default.nix b/nixpkgs/pkgs/development/python-modules/pycurl/default.nix
index e202d1928f21..5494360e51fc 100644
--- a/nixpkgs/pkgs/development/python-modules/pycurl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pycurl/default.nix
@@ -13,12 +13,12 @@
 
 buildPythonPackage rec {
   pname = "pycurl";
-  version = "7.43.0.6";
+  version = "7.44.1";
   disabled = isPyPy || (pythonOlder "3.5"); # https://github.com/pycurl/pycurl/issues/208
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8301518689daefa53726b59ded6b48f33751c383cf987b0ccfbbc4ed40281325";
+    sha256 = "5bcef4d988b74b99653602101e17d8401338d596b9234d263c728a0c3df003e8";
   };
 
   preConfigure = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pydeconz/default.nix b/nixpkgs/pkgs/development/python-modules/pydeconz/default.nix
index c6029d216d6f..fb0852e2bf11 100644
--- a/nixpkgs/pkgs/development/python-modules/pydeconz/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pydeconz/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "pydeconz";
-  version = "80";
+  version = "82";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "Kane610";
     repo = "deconz";
     rev = "v${version}";
-    sha256 = "sha256-om1Nhqu2CU+W2k2PGP1+6jLRJihacSQDayOfTzblZKo=";
+    sha256 = "sha256-DdZ6bf+2rMjgjm5aRxcSRI/hN0zfP7uV8PaM40c9IJo=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pydmd/default.nix b/nixpkgs/pkgs/development/python-modules/pydmd/default.nix
new file mode 100644
index 000000000000..32f0dde17af8
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pydmd/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, stdenv
+, python
+, fetchFromGitHub
+, buildPythonPackage
+, future
+, numpy
+, scipy
+, matplotlib
+, nose
+}:
+
+buildPythonPackage rec {
+  pname = "pydmd";
+  version = "0.3.3";
+
+  src = fetchFromGitHub {
+    owner = "mathLab";
+    repo = "PyDMD";
+    rev = "v${version}";
+    sha256 = "1516dhmpwi12v9ly9jj18wpz9k696q5k6aamlrbby8wp8smajgrv";
+  };
+
+  propagatedBuildInputs = [ future numpy scipy matplotlib ];
+  checkInputs = [ nose ];
+
+  checkPhase = ''
+    ${python.interpreter} test.py
+  '';
+  pythonImportsCheck = [ "pydmd" ];
+
+  meta = {
+    description = "Python Dynamic Mode Decomposition";
+    homepage = "https://mathlab.github.io/PyDMD/";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ yl3dy ];
+    broken = stdenv.hostPlatform.isAarch64;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pyee/default.nix b/nixpkgs/pkgs/development/python-modules/pyee/default.nix
index f4afd49bbc28..a252cd4505ac 100644
--- a/nixpkgs/pkgs/development/python-modules/pyee/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyee/default.nix
@@ -1,28 +1,24 @@
-{ buildPythonPackage
+{ lib
+, buildPythonPackage
 , fetchPypi
-, lib
 , vcversioner
-, pytest-runner
 , mock
-, pytest
+, pytestCheckHook
 , pytest-asyncio
 , pytest-trio
 , twisted
-, zipp ? null
-, pyparsing ? null
-, pyhamcrest
-, futures ? null
-, attrs ? null
-, isPy27
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pyee";
-  version = "8.1.0";
+  version = "8.2.2";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "92dacc5bd2bdb8f95aa8dd2585d47ca1c4840e2adb95ccf90034d64f725bfd31";
+    sha256 = "sha256-XH5g+N+VcQ2+F1UOFs4BU/g5kMAO90SEG0Pzce1T6+o=";
   };
 
   buildInputs = [
@@ -31,23 +27,18 @@ buildPythonPackage rec {
 
   checkInputs = [
     mock
-    pyhamcrest
-    pytest
     pytest-asyncio
     pytest-trio
-    pytest-runner
+    pytestCheckHook
     twisted
-  ] ++ lib.optional isPy27 [
-    attrs
-    futures
-    pyparsing
-    zipp
   ];
 
-  meta = {
-    description = "A port of Node.js's EventEmitter to python";
+  pythonImportsCheck = [ "pyee" ];
+
+  meta = with lib; {
+    description = "A port of Node.js's EventEmitter to Python";
     homepage = "https://github.com/jfhbrook/pyee";
-    license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ kmein ];
+    license = licenses.mit;
+    maintainers = with maintainers; [ kmein ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pyenchant/default.nix b/nixpkgs/pkgs/development/python-modules/pyenchant/default.nix
index fec3efb9b3ab..3c5310690c1d 100644
--- a/nixpkgs/pkgs/development/python-modules/pyenchant/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyenchant/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "pyenchant";
-  version = "3.2.0";
+  version = "3.2.1";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6b97e9a9f132fa7c9029a6635d821ccad67d4980e68186d02c765b4256b6f152";
+    sha256 = "5e206a1d6596904a922496f6c9f7d0b964b243905f401f5f2f40ea4d1f74e2cf";
   };
 
   propagatedBuildInputs = [ enchant2 ];
diff --git a/nixpkgs/pkgs/development/python-modules/pyezviz/default.nix b/nixpkgs/pkgs/development/python-modules/pyezviz/default.nix
index 323b58e82574..1c2593d5a6df 100644
--- a/nixpkgs/pkgs/development/python-modules/pyezviz/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyezviz/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "pyezviz";
-  version = "0.1.8.9";
+  version = "0.1.9.2";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "baqs";
     repo = "pyEzviz";
     rev = version;
-    sha256 = "sha256-ZjHDha7hSRXy86wm61bMMF8zMi5Lux6RbD0yFD/78J4=";
+    sha256 = "sha256-t5b2PuHC+ZY2uh+ryS+bjTS7kReZi0Rvlvkr98JFyH4=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyfaidx/default.nix b/nixpkgs/pkgs/development/python-modules/pyfaidx/default.nix
index 13c00d80a62c..c179688a8a5b 100644
--- a/nixpkgs/pkgs/development/python-modules/pyfaidx/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyfaidx/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "pyfaidx";
-  version = "0.5.9.5";
+  version = "0.6.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9965644c5bd62bedc0ff7f336cbb2baef6406a36b4ec5c786b199872ce46192b";
+    sha256 = "fae5d2264f62f40e6f37090422a764197de610df36afb5ae827b167d34b8621a";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/nixpkgs/pkgs/development/python-modules/pyfakewebcam/default.nix b/nixpkgs/pkgs/development/python-modules/pyfakewebcam/default.nix
new file mode 100644
index 000000000000..1ef1d2df474d
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pyfakewebcam/default.nix
@@ -0,0 +1,25 @@
+{ lib, buildPythonPackage, fetchPypi, numpy, opencv4 }:
+
+buildPythonPackage rec {
+  pname = "pyfakewebcam";
+  version = "0.1.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "152nglscxmv7600i1i2gahny5z0bybnqgq3npak8npb0lsnwxn1a";
+  };
+
+  propagatedBuildInputs = [ numpy opencv4 ];
+
+  # No tests are available
+  doCheck = false;
+  pythonImportsCheck = [ "pyfakewebcam" ];
+
+  meta = with lib; {
+    description = "A library for writing RGB frames to a fake webcam device on Linux";
+    homepage = "https://github.com/jremmons/pyfakewebcam";
+    license = licenses.lgpl3Only;
+    maintainers = with maintainers; [ angustrau ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pyfantom/default.nix b/nixpkgs/pkgs/development/python-modules/pyfantom/default.nix
index d7c77e763e76..d27cccfbd8c0 100644
--- a/nixpkgs/pkgs/development/python-modules/pyfantom/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyfantom/default.nix
@@ -16,7 +16,7 @@ buildPythonPackage {
   doCheck = false;
 
   meta = with lib; {
-    homepage = "http://pyfantom.ni.fr.eu.org/";
+    homepage = "https://pyfantom.ni.fr.eu.org/";
     description = "Wrapper for the LEGO Mindstorms Fantom Driver";
     license = licenses.gpl2;
   };
diff --git a/nixpkgs/pkgs/development/python-modules/pyfireservicerota/default.nix b/nixpkgs/pkgs/development/python-modules/pyfireservicerota/default.nix
index 9d917a480168..9f6d85fc5646 100644
--- a/nixpkgs/pkgs/development/python-modules/pyfireservicerota/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyfireservicerota/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "pyfireservicerota";
-  version = "0.0.40";
+  version = "0.0.43";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8d8173f6682ef2a61367660a15559c8c7a7e00db3f98092e0fa52e771df356f4";
+    sha256 = "sha256-3+QK1BVuWYii0oYT4xXMOYJZmVKrB4EmqE0EkdFlZvE=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyflume/default.nix b/nixpkgs/pkgs/development/python-modules/pyflume/default.nix
index 075297794b21..ff4e7189c527 100644
--- a/nixpkgs/pkgs/development/python-modules/pyflume/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyflume/default.nix
@@ -22,13 +22,6 @@ buildPythonPackage rec {
     sha256 = "129sz33a270v120bzl9l98nmvdzn7ns4cf9w2v18lmzlldbyz2vn";
   };
 
-  prePatch = ''
-    substituteInPlace setup.py --replace 'pyjwt==2.0.1' 'pyjwt>=2.0.1'
-    substituteInPlace setup.py --replace 'ratelimit==2.2.1' 'ratelimit>=2.2.1'
-    substituteInPlace setup.py --replace 'pytz==2019.2' 'pytz>=2019.2'
-    substituteInPlace setup.py --replace 'requests==2.24.0' 'requests>=2.24.0'
-  '';
-
   propagatedBuildInputs = [
     pyjwt
     ratelimit
@@ -41,15 +34,6 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  postPatch = ''
-    # https://github.com/ChrisMandich/PyFlume/issues/18
-    substituteInPlace setup.py \
-      --replace "pyjwt==2.0.1" "pyjwt>=2.0.1" \
-      --replace "ratelimit==2.2.1" "ratelimit>=2.2.1" \
-      --replace "pytz==2019.2" "pytz>=2019.2" \
-      --replace "requests==2.24.0" "requests>=2.24.0"
-  '';
-
   pythonImportsCheck = [ "pyflume" ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/pyflunearyou/default.nix b/nixpkgs/pkgs/development/python-modules/pyflunearyou/default.nix
index c8706760343e..953f381ff498 100644
--- a/nixpkgs/pkgs/development/python-modules/pyflunearyou/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyflunearyou/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "pyflunearyou";
-  version = "2.0.1";
+  version = "2.0.2";
   format = "pyproject";
   disabled = pythonOlder "3.6";
 
@@ -23,10 +23,12 @@ buildPythonPackage rec {
     owner = "bachya";
     repo = pname;
     rev = version;
-    sha256 = "sha256-2a4OKPmy9tFLJqRg9bEXqrbr3RKVHmKPSYDrtAEqvdo=";
+    sha256 = "07n2dvnfpfglpdlnwzj4dy41x2zc07ia2krvxdarnv8wzap30y23";
   };
 
-  nativeBuildInputs = [ poetry-core ];
+  nativeBuildInputs = [
+    poetry-core
+  ];
 
   propagatedBuildInputs = [
     aiohttp
@@ -44,7 +46,8 @@ buildPythonPackage rec {
 
   # Ignore the examples directory as the files are prefixed with test_.
   # disabledTestFiles doesn't seem to work here
-  pytestFlagsArray = [ "--ignore examples/" ];
+  disabledTestPaths = [ "examples/" ];
+
   pythonImportsCheck = [ "pyflunearyou" ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/pyfma/default.nix b/nixpkgs/pkgs/development/python-modules/pyfma/default.nix
index d53c62e2f3a9..e41d51c17719 100644
--- a/nixpkgs/pkgs/development/python-modules/pyfma/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyfma/default.nix
@@ -1,31 +1,37 @@
 { lib
 , buildPythonPackage
-, isPy27
-, fetchPypi
-, pybind11
-, exdown
+, fetchFromGitHub
+, importlib-metadata
 , numpy
+, pybind11
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pyfma";
   version = "0.1.4";
+  disabled = pythonOlder "3.7";
 
-  disabled = isPy27;
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "5bc6bf57d960a5232b7a56bd38e9fe3dce0911016746029931044b66bdec46e9";
+  src = fetchFromGitHub {
+    owner = "nschloe";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1wkcl41j2d1yflc5dl30ys1yxx68w9zn3vj8brwkm1ar9jnfmg4h";
   };
+  format = "pyproject";
 
   buildInputs = [
     pybind11
   ];
 
-  checkInputs = [
-    exdown
+  propagatedBuildInputs = [
     numpy
+  ] ++ lib.optionals (pythonOlder "3.8") [
+    importlib-metadata
+  ];
+
+  checkInputs = [
     pytestCheckHook
   ];
 
@@ -35,6 +41,6 @@ buildPythonPackage rec {
     description = "Fused multiply-add for Python";
     homepage = "https://github.com/nschloe/pyfma";
     license = licenses.mit;
-    maintainers = [ maintainers.costrouc];
+    maintainers = with maintainers; [ costrouc ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pyfronius/default.nix b/nixpkgs/pkgs/development/python-modules/pyfronius/default.nix
index 5b5016649a65..682ae2ff620b 100644
--- a/nixpkgs/pkgs/development/python-modules/pyfronius/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyfronius/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "pyfronius";
-  version = "0.5.3";
+  version = "0.6.3";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "nielstron";
     repo = pname;
-    rev = version;
-    sha256 = "sha256-AtCpraIYNrEkTygtLMivrXfKCKVKIIUCDo3GYFpg8fk=";
+    rev = "release-${version}";
+    sha256 = "19cgr0y4zfyghpw9hwl9immh5c464dlasnfd8q570k9f0q682249";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyftdi/default.nix b/nixpkgs/pkgs/development/python-modules/pyftdi/default.nix
index aee3ede4fccf..a1fd4215faf9 100644
--- a/nixpkgs/pkgs/development/python-modules/pyftdi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyftdi/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "pyftdi";
-  version = "0.53.2";
+  version = "0.53.3";
   disabled = pythonOlder "3.5";
 
   src = fetchFromGitHub {
     owner = "eblot";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-6cTQlYG/z8ZulMZLggGQ+PhuOOclWM0/+cfy0SF6dls=";
+    sha256 = "sha256-t4rFsuhcpYdgmQeog+DRFxHk0wpMc+aukQi981vH/44=";
   };
 
   propagatedBuildInputs = [ pyusb pyserial ];
diff --git a/nixpkgs/pkgs/development/python-modules/pygame/default.nix b/nixpkgs/pkgs/development/python-modules/pygame/default.nix
index bcdce070c633..7ae4c96702ad 100644
--- a/nixpkgs/pkgs/development/python-modules/pygame/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pygame/default.nix
@@ -1,6 +1,6 @@
-{ lib, fetchPypi, buildPythonPackage, python, pkg-config, libX11
-, SDL2, SDL2_image, SDL2_mixer, SDL2_ttf, libpng, libjpeg, portmidi, freetype
-, fontconfig
+{ stdenv, lib, substituteAll, fetchPypi, buildPythonPackage, python, pkg-config, libX11
+, SDL2, SDL2_image, SDL2_mixer, SDL2_ttf, libpng, libjpeg, portmidi, freetype, fontconfig
+, AppKit, CoreMIDI
 }:
 
 buildPythonPackage rec {
@@ -12,6 +12,27 @@ buildPythonPackage rec {
     sha256 = "8b1e7b63f47aafcdd8849933b206778747ef1802bd3d526aca45ed77141e4001";
   };
 
+  patches = [
+    # Patch pygame's dependency resolution to let it find build inputs
+    (substituteAll {
+      src = ./fix-dependency-finding.patch;
+      buildinputs_include = builtins.toJSON (builtins.concatMap (dep: [
+        "${lib.getDev dep}/"
+        "${lib.getDev dep}/include"
+      ]) buildInputs);
+      buildinputs_lib = builtins.toJSON (builtins.concatMap (dep: [
+        "${lib.getLib dep}/"
+        "${lib.getLib dep}/lib"
+      ]) buildInputs);
+    })
+  ];
+
+  postPatch = ''
+    substituteInPlace src_py/sysfont.py \
+      --replace 'path="fc-list"' 'path="${fontconfig}/bin/fc-list"' \
+      --replace /usr/X11/bin/fc-list ${fontconfig}/bin/fc-list
+  '';
+
   nativeBuildInputs = [
     pkg-config SDL2
   ];
@@ -19,37 +40,33 @@ buildPythonPackage rec {
   buildInputs = [
     SDL2 SDL2_image SDL2_mixer SDL2_ttf libpng libjpeg
     portmidi libX11 freetype
+  ] ++ lib.optionals stdenv.isDarwin [
+    AppKit CoreMIDI
   ];
 
   preConfigure = ''
-    sed \
-      -e "s/origincdirs = .*/origincdirs = []/" \
-      -e "s/origlibdirs = .*/origlibdirs = []/" \
-      -e "/linux-gnu/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=/ ${python.interpreter} buildconfig/config.py
   '';
 
-  checkInputs = [ fontconfig ];
+  checkPhase = ''
+    runHook preCheck
 
-  preCheck = ''
     # No audio or video device in test environment
     export SDL_VIDEODRIVER=dummy
     export SDL_AUDIODRIVER=disk
     export SDL_DISKAUDIOFILE=/dev/null
+
+    ${python.interpreter} -m pygame.tests -v --exclude opengl,timing --time_out 300
+
+    runHook postCheck
   '';
+  pythonImportsCheck = [ "pygame" ];
 
   meta = with lib; {
     description = "Python library for games";
     homepage = "https://www.pygame.org/";
     license = licenses.lgpl21Plus;
-    platforms = platforms.linux;
+    maintainers = with maintainers; [ angustrau ];
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pygame/fix-dependency-finding.patch b/nixpkgs/pkgs/development/python-modules/pygame/fix-dependency-finding.patch
new file mode 100644
index 000000000000..11b705f1b1ad
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pygame/fix-dependency-finding.patch
@@ -0,0 +1,64 @@
+diff --git a/buildconfig/config_darwin.py b/buildconfig/config_darwin.py
+index 8d84683f..70df8f9c 100644
+--- a/buildconfig/config_darwin.py
++++ b/buildconfig/config_darwin.py
+@@ -56,10 +56,10 @@ class Dependency:
+ class FrameworkDependency(Dependency):
+     def configure(self, incdirs, libdirs):
+         BASE_DIRS = '/', os.path.expanduser('~/'), '/System/'
+-        for n in BASE_DIRS:
++        for n in incdirs + libdirs:
+             n += 'Library/Frameworks/'
+             fmwk = n + self.libs + '.framework/Versions/Current/'
+-            if os.path.isfile(fmwk + self.libs):
++            if os.path.isfile(fmwk + self.libs + '.tbd'):
+                 print ('Framework ' + self.libs + ' found')
+                 self.found = 1
+                 self.inc_dir = fmwk + 'Headers'
+@@ -158,19 +158,8 @@ def main(sdl2=False):
+     ])
+ 
+     print ('Hunting dependencies...')
+-    incdirs = ['/usr/local/include']
+-    if sdl2:
+-        incdirs.append('/usr/local/include/SDL2')
+-    else:
+-        incdirs.append('/usr/local/include/SDL')
+-
+-    incdirs.extend([
+-       #'/usr/X11/include',
+-       '/opt/local/include',
+-       '/opt/local/include/freetype2/freetype']
+-    )
+-    #libdirs = ['/usr/local/lib', '/usr/X11/lib', '/opt/local/lib']
+-    libdirs = ['/usr/local/lib', '/opt/local/lib']
++    incdirs = @buildinputs_include@
++    libdirs = @buildinputs_lib@
+ 
+     for d in DEPS:
+         if isinstance(d, (list, tuple)):
+diff --git a/buildconfig/config_unix.py b/buildconfig/config_unix.py
+index f6a4ea4b..f7f5be76 100644
+--- a/buildconfig/config_unix.py
++++ b/buildconfig/config_unix.py
+@@ -224,18 +224,8 @@ def main(sdl2=False):
+     if not DEPS[0].found:
+         raise RuntimeError('Unable to run "sdl-config". Please make sure a development version of SDL is installed.')
+ 
+-    incdirs = []
+-    libdirs = []
+-    for extrabase in extrabases:
+-        incdirs += [extrabase + d for d in origincdirs]
+-        libdirs += [extrabase + d for d in origlibdirs]
+-    incdirs += ["/usr"+d for d in origincdirs]
+-    libdirs += ["/usr"+d for d in origlibdirs]
+-    incdirs += ["/usr/local"+d for d in origincdirs]
+-    libdirs += ["/usr/local"+d for d in origlibdirs]
+-    if localbase:
+-        incdirs = [localbase+d for d in origincdirs]
+-        libdirs = [localbase+d for d in origlibdirs]
++    incdirs = @buildinputs_include@
++    libdirs = @buildinputs_lib@
+ 
+     for arg in DEPS[0].cflags.split():
+         if arg[:2] == '-I':
diff --git a/nixpkgs/pkgs/development/python-modules/pygit2/default.nix b/nixpkgs/pkgs/development/python-modules/pygit2/default.nix
index 4d9538dbc345..1ec0c6a97b39 100644
--- a/nixpkgs/pkgs/development/python-modules/pygit2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pygit2/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pygit2";
-  version = "1.6.0";
+  version = "1.6.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7aacea4e57011777f4774421228e5d0ddb9a6ddb87ac4b542346d17ab12a4d62";
+    sha256 = "c3303776f774d3e0115c1c4f6e1fc35470d15f113a7ae9401a0b90acfa1661ac";
   };
 
   preConfigure = lib.optionalString stdenv.isDarwin ''
diff --git a/nixpkgs/pkgs/development/python-modules/pyglet/default.nix b/nixpkgs/pkgs/development/python-modules/pyglet/default.nix
index 1bb36d6029ec..b530dfe0b5b1 100644
--- a/nixpkgs/pkgs/development/python-modules/pyglet/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyglet/default.nix
@@ -1,26 +1,31 @@
 { lib, stdenv
 , buildPythonPackage
 , fetchPypi
+, unzip
+, pythonOlder
 , libGL
 , libGLU
 , xorg
-, future
-, pytest
+, pytestCheckHook
 , glibc
 , gtk2-x11
 , gdk-pixbuf
 , fontconfig
 , freetype
 , ffmpeg-full
+, openal
+, libpulseaudio
 }:
 
 buildPythonPackage rec {
-  version = "1.4.2";
+  version = "1.5.19";
   pname = "pyglet";
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1dxxrl4nc7xh3aai1clgzvk48bvd35r7ksirsddz0mwhx7jmm8px";
+    sha256 = "sha256-/kuh2RboWWoOs4KX0PyhNlYgKI8q2SyiWvMJvprg/8w=";
+    extension = "zip";
   };
 
   # find_library doesn't reliably work with nix (https://github.com/NixOS/nixpkgs/issues/7307).
@@ -37,6 +42,8 @@ buildPythonPackage rec {
             path = None
             if name == 'GL':
                 path = '${libGL}/lib/libGL${ext}'
+            elif name == 'EGL':
+                path = '${libGL}/lib/libEGL${ext}'
             elif name == 'GLU':
                 path = '${libGLU}/lib/libGLU${ext}'
             elif name == 'c':
@@ -55,26 +62,46 @@ buildPythonPackage rec {
                 path = '${freetype}/lib/libfreetype${ext}'
             elif name[0:2] == 'av' or name[0:2] == 'sw':
                 path = '${ffmpeg-full}/lib/lib' + name + '${ext}'
+            elif name == 'openal':
+                path = '${openal}/lib/libopenal${ext}'
+            elif name == 'pulse':
+                path = '${libpulseaudio}/lib/libpulse${ext}'
+            elif name == 'Xi':
+                path = '${xorg.libXi}/lib/libXi${ext}'
+            elif name == 'Xinerama':
+                path = '${xorg.libXinerama}/lib/libXinerama${ext}'
+            elif name == 'Xxf86vm':
+                path = '${xorg.libXxf86vm}/lib/libXxf86vm${ext}'
             if path is not None:
                 return ctypes.cdll.LoadLibrary(path)
         raise Exception("Could not load library {}".format(names))
     EOF
   '';
 
-  propagatedBuildInputs = [ future ];
+  nativeBuildInputs = [ unzip ];
 
-  # needs an X server. Keep an eye on
-  # https://bitbucket.org/pyglet/pyglet/issues/219/egl-support-headless-rendering
+  # needs GL set up which isn't really possible in a build environment even in headless mode.
+  # tests do run and pass in nix-shell, however.
   doCheck = false;
 
   checkInputs = [
-    pytest
+    pytestCheckHook
   ];
 
-  checkPhase = ''
-    py.test tests/unit tests/integration
+  preCheck = ''
+    export PYGLET_HEADLESS=True
   '';
 
+  # test list taken from .travis.yml
+  disabledTestPaths = [
+    "tests/base"
+    "tests/interactive"
+    "tests/integration"
+    "tests/unit/text/test_layout.py"
+  ];
+
+  pythonImportsCheck = [ "pyglet" ];
+
   meta = with lib; {
     homepage = "http://www.pyglet.org/";
     description = "A cross-platform windowing and multimedia library";
diff --git a/nixpkgs/pkgs/development/python-modules/pygmt/default.nix b/nixpkgs/pkgs/development/python-modules/pygmt/default.nix
index 804b33c2f791..ccd5b93c5ef0 100644
--- a/nixpkgs/pkgs/development/python-modules/pygmt/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pygmt/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "pygmt";
-  version = "0.3.1";
+  version = "0.4.1";
 
   disabled = pythonOlder "3.6";
 
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "GenericMappingTools";
     repo = "pygmt";
     rev = "v${version}";
-    sha256 = "0v57n3by9dwckjfmrgf1km4y3gwzj2gk0s9ly64hlaf05zihqnvc";
+    sha256 = "1jjqijp0dhmc953brlj2pqgswdliz71fi7dzrv6clq2kqzqfjv8c";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pyhaversion/default.nix b/nixpkgs/pkgs/development/python-modules/pyhaversion/default.nix
index efc06ad0c963..1b8ee8067520 100644
--- a/nixpkgs/pkgs/development/python-modules/pyhaversion/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyhaversion/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "pyhaversion";
-  version = "21.5.0";
+  version = "21.07.0";
 
   # Only 3.8.0 and beyond are supported
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "ludeeus";
     repo = pname;
     rev = version;
-    sha256 = "sha256-/F4UMFUs60o3QazfFYEWgTGHg4z5knzNWolUpk5SIeM=";
+    sha256 = "sha256-LcuMLYekeK9HR+SR8+R+EvuxxaN3RCh7KV969RngZjw=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyhomematic/default.nix b/nixpkgs/pkgs/development/python-modules/pyhomematic/default.nix
index 2784719ff128..2027953443e5 100644
--- a/nixpkgs/pkgs/development/python-modules/pyhomematic/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyhomematic/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "pyhomematic";
-  version = "0.1.73";
+  version = "0.1.74";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-KaeheCIJgAqC68rgE71b1sSatSH25phGk662fnuOOsk=";
+    sha256 = "sha256-Z0226G0eivU+Uo7MShGv9xqcl1QtAmbEzhI1IBjPL5M=";
   };
 
   checkPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pyinsteon/default.nix b/nixpkgs/pkgs/development/python-modules/pyinsteon/default.nix
index be746ae27937..4a0e04943b89 100644
--- a/nixpkgs/pkgs/development/python-modules/pyinsteon/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyinsteon/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "pyinsteon";
-  version = "1.0.11";
+  version = "1.0.12";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "sha256-dT01nKXDjkFSIf2BmrIcC8a9n00hlyd59oPwXn1CBaw=";
+    sha256 = "sha256-IlRCUogs78kbKY8gp22YzIkNrXhSCLJDDDtFAucrQxE=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyintesishome/default.nix b/nixpkgs/pkgs/development/python-modules/pyintesishome/default.nix
index 87ed02347292..6e8b8fef32fc 100644
--- a/nixpkgs/pkgs/development/python-modules/pyintesishome/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyintesishome/default.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "pyintesishome";
-  version = "1.7.7";
+  version = "1.8.0";
 
   src = fetchFromGitHub {
     owner = "jnimmo";
     repo = "pyIntesisHome";
     rev = version;
-    sha256 = "1wjh6bib6bg9rf4q9z6dlrf3gncj859hz4i20a9w06jci7b2yaaz";
+    sha256 = "1y1agdr32p7m4dbb6kzchh0vb49gy0rqp8hq9zadwrq2vp70k5sn";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyiqvia/default.nix b/nixpkgs/pkgs/development/python-modules/pyiqvia/default.nix
index 34bc7bb5eb66..5dce573eaebb 100644
--- a/nixpkgs/pkgs/development/python-modules/pyiqvia/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyiqvia/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "pyiqvia";
-  version = "1.0.0";
+  version = "1.0.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -21,12 +21,16 @@ buildPythonPackage rec {
     owner = "bachya";
     repo = pname;
     rev = version;
-    sha256 = "sha256-6BbJgRpn2hivm4N3Zpll9NACMSNlIhxj8CF2iVduIro=";
+    sha256 = "18qzxxn9xw9rwv3qz8k3zxh9xxy8c7rs8xlsrdrcq9wb0dhd7p0r";
   };
 
-  nativeBuildInputs = [ poetry-core ];
+  nativeBuildInputs = [
+    poetry-core
+  ];
 
-  propagatedBuildInputs = [ aiohttp ];
+  propagatedBuildInputs = [
+    aiohttp
+  ];
 
   checkInputs = [
     aresponses
@@ -36,7 +40,8 @@ buildPythonPackage rec {
   ];
 
   # Ignore the examples as they are prefixed with test_
-  pytestFlagsArray = [ "--ignore examples/" ];
+  disabledTestPaths = [ "examples/" ];
+
   pythonImportsCheck = [ "pyiqvia" ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/pykoplenti/default.nix b/nixpkgs/pkgs/development/python-modules/pykoplenti/default.nix
index 98182ddf68c7..ba39dc536e2f 100644
--- a/nixpkgs/pkgs/development/python-modules/pykoplenti/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pykoplenti/default.nix
@@ -3,7 +3,7 @@
 , buildPythonPackage
 , click
 , fetchFromGitHub
-, prompt_toolkit
+, prompt-toolkit
 , pycryptodome
 , pythonOlder
 }:
@@ -23,7 +23,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     aiohttp
     click
-    prompt_toolkit
+    prompt-toolkit
     pycryptodome
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/pylev/default.nix b/nixpkgs/pkgs/development/python-modules/pylev/default.nix
index 5df0ce4690ef..c9c3340db192 100644
--- a/nixpkgs/pkgs/development/python-modules/pylev/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pylev/default.nix
@@ -1,23 +1,29 @@
-{ lib, buildPythonPackage, fetchFromGitHub }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, python
+}:
 
-buildPythonPackage {
+buildPythonPackage rec {
   pname = "pylev";
-  version = "1.3.0";
+  version = "1.4.0";
 
-  # No tests in PyPi tarball
   src = fetchFromGitHub {
     owner = "toastdriven";
     repo = "pylev";
-    # Can't use a tag because it's missing
-    # https://github.com/toastdriven/pylev/issues/10
-    # rev = "v${version};
-    rev = "72e3d490515c3188e2acac9c15ea1b466f9ff938";
-    sha256 = "18dg1rfnqgfl6x4vafiq4la9d7f65xak19gcvngslq0bm1z6hyd8";
+    rev = "v${version}";
+    sha256 = "0fgxjdnvnvavnxmxxd0fl5jyr2f31g3a26bwyxcpy56mgpd095c1";
   };
 
+  checkPhase = ''
+    ${python.interpreter} -m unittest tests
+  '';
+
+  pythonImportsCheck = [ "pylev" ];
+
   meta = with lib; {
+    description = "Python Levenshtein implementation";
     homepage = "https://github.com/toastdriven/pylev";
-    description = "A pure Python Levenshtein implementation that's not freaking GPL'd";
     license = licenses.bsd3;
     maintainers = with maintainers; [ jakewaksbaum ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/pylint/default.nix b/nixpkgs/pkgs/development/python-modules/pylint/default.nix
index 6c2702ef3dbe..ef42bd43239a 100644
--- a/nixpkgs/pkgs/development/python-modules/pylint/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pylint/default.nix
@@ -15,13 +15,13 @@
 
 buildPythonPackage rec {
   pname = "pylint";
-  version = "2.7.2";
+  version = "2.7.4";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0e21d3b80b96740909d77206d741aa3ce0b06b41be375d92e1f3244a274c1f8a";
+    sha256 = "bd38914c7731cdc518634a8d3c5585951302b6e2b6de60fbb3f7a0220e21eeee";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pylitterbot/default.nix b/nixpkgs/pkgs/development/python-modules/pylitterbot/default.nix
index 9390461a2fef..08924d515732 100644
--- a/nixpkgs/pkgs/development/python-modules/pylitterbot/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pylitterbot/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "pylitterbot";
-  version = "2021.5.0";
+  version = "2021.8.0";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "natekspencer";
     repo = pname;
     rev = version;
-    sha256 = "sha256-EiHdyjGYddtvciiwu2kpIBfUGvIJr38/8oJLFVzoRKE=";
+    sha256 = "sha256-Z7/j5ZZd8cOJhY/GfKUcDSJZvmU/TR/KDK60j1eYsik=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyls-flake8/default.nix b/nixpkgs/pkgs/development/python-modules/pyls-flake8/default.nix
index 495c54d58593..113cf8f24e1f 100644
--- a/nixpkgs/pkgs/development/python-modules/pyls-flake8/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyls-flake8/default.nix
@@ -14,7 +14,7 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "emanspeaks";
     repo = "pyls-flake8";
-    rev = "3df8606ad821100e64743f457c77c20170bde722";
+    rev = "v{version}";
     sha256 = "14wkmwh8mqr826vdzxhvhdwrnx2akzmnbv3ar391qs4imwqfjx3l";
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/pyls-isort/default.nix b/nixpkgs/pkgs/development/python-modules/pyls-isort/default.nix
index a11acce3c8ba..8ec10735cadc 100644
--- a/nixpkgs/pkgs/development/python-modules/pyls-isort/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyls-isort/default.nix
@@ -16,6 +16,8 @@ buildPythonPackage rec {
   # no tests
   doCheck = false;
 
+  pythonImportsCheck = [ "pyls_isort" ];
+
   propagatedBuildInputs = [
     isort python-lsp-server
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/pylutron/default.nix b/nixpkgs/pkgs/development/python-modules/pylutron/default.nix
index 4f1180ebee4a..4bf56d5e6edc 100644
--- a/nixpkgs/pkgs/development/python-modules/pylutron/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pylutron/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "pylutron";
-  version = "0.2.8";
+  version = "0.2.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-Jg2waoIxvBvX+hoAgt/yoM87XdShCHQOZXbsHG3b4cw=";
+    sha256 = "sha256-xy5XPNOrvdPZMCfa2MYA+xtUcFdGSurW5QYL6H7n2VI=";
   };
 
   # Project has no tests
diff --git a/nixpkgs/pkgs/development/python-modules/pylzma/default.nix b/nixpkgs/pkgs/development/python-modules/pylzma/default.nix
new file mode 100644
index 000000000000..78bc24d35d46
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pylzma/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "pylzma";
+  version = "0.5.0";
+
+  # This vendors an old LZMA SDK
+  # After some discussion, it seemed most reasonable to keep it that way
+  # xz, and uefi-firmware-parser also does this
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "074anvhyjgsv2iby2ql1ixfvjgmhnvcwjbdz8gk70xzkzcm1fx5q";
+  };
+
+  pythonImportsCheck = [ "pylzma" ];
+
+  meta = with lib; {
+    homepage = "https://www.joachim-bauch.de/projects/pylzma/";
+    description = "Platform independent python bindings for the LZMA compression library";
+    license = licenses.lgpl21Only;
+    maintainers = with maintainers; [ dandellion ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pymanopt/default.nix b/nixpkgs/pkgs/development/python-modules/pymanopt/default.nix
new file mode 100644
index 000000000000..8b1c4f2fd4cd
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pymanopt/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, fetchFromGitHub
+, buildPythonPackage
+, numpy
+, scipy
+, autograd
+, nose2
+}:
+
+buildPythonPackage rec {
+  pname = "pymanopt";
+  version = "0.2.5";
+
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = version;
+    sha256 = "0zk775v281375sangc5qkwrkb8yc9wx1g8b1917s4s8wszzkp8k6";
+  };
+
+  propagatedBuildInputs = [ numpy scipy ];
+  checkInputs = [ nose2 autograd ];
+
+  checkPhase = ''
+    # nose2 doesn't properly support excludes
+    rm tests/test_{problem,tensorflow,theano}.py
+
+    nose2 tests -v
+  '';
+
+  pythonImportsCheck = [ "pymanopt" ];
+
+  meta = {
+    description = "Python toolbox for optimization on Riemannian manifolds with support for automatic differentiation";
+    homepage = "https://www.pymanopt.org/";
+    license = lib.licenses.bsd3;
+    maintainers = with lib.maintainers; [ yl3dy ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pymata-express/default.nix b/nixpkgs/pkgs/development/python-modules/pymata-express/default.nix
index 69d7585e8a5d..a4306fb4ed82 100644
--- a/nixpkgs/pkgs/development/python-modules/pymata-express/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pymata-express/default.nix
@@ -7,20 +7,23 @@
 
 buildPythonPackage rec {
   pname = "pymata-express";
-  version = "1.20";
+  version = "1.21";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "MrYsLab";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-spYmd+Cb7Ej5FmniuJYAVVmq0mhOz5fu4+2UUXctRWs=";
+    rev = version;
+    sha256 = "1mibyn84kjahrv3kn51yl5mhkyig4piv6wanggzjflh5nm96bhy8";
   };
 
-  propagatedBuildInputs = [ pyserial ];
+  propagatedBuildInputs = [
+    pyserial
+  ];
 
   # Project has no tests
   doCheck = false;
+
   pythonImportsCheck = [ "pymata_express" ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/pymatgen/default.nix b/nixpkgs/pkgs/development/python-modules/pymatgen/default.nix
index d75af9158c69..364514b6b5d0 100644
--- a/nixpkgs/pkgs/development/python-modules/pymatgen/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pymatgen/default.nix
@@ -21,11 +21,11 @@
 
 buildPythonPackage rec {
   pname = "pymatgen";
-  version = "2022.0.8";
+  version = "2022.0.11";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4f12ac87657e8efe833087c575ec4430900dfcece890bb0486e07f034a2b34a0";
+    sha256 = "901d00105142c9added48275188e289e91b3098251ec107aef90acaef3ea6d0d";
   };
 
   nativeBuildInputs = [ glibcLocales ];
diff --git a/nixpkgs/pkgs/development/python-modules/pymazda/default.nix b/nixpkgs/pkgs/development/python-modules/pymazda/default.nix
index f4b9f0b1f01e..66ab62d927b3 100644
--- a/nixpkgs/pkgs/development/python-modules/pymazda/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pymazda/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "pymazda";
-  version = "0.1.6";
+  version = "0.2.0";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-fQcycOMNYCO6bP344DTLxNf/YoliEITyxsnIDyTPO5E=";
+    sha256 = "sha256-tEe70gvEglxqECiPjS3k29zZi70OSGMv6JxhrXqPhnY=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pymbolic/default.nix b/nixpkgs/pkgs/development/python-modules/pymbolic/default.nix
index 23c88ca28d45..4faf04d289ee 100644
--- a/nixpkgs/pkgs/development/python-modules/pymbolic/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pymbolic/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "pymbolic";
-  version = "2020.1";
+  version = "2021.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ca029399f9480f6d51fbac0349fddbb42d937620deb03befa0ba94ac08895e6b";
+    sha256 = "67d08ef95568408901e59f79591ba41fd3f2caaecb42b7497c38fc82fd60358c";
   };
 
   postConfigure = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pymemcache/default.nix b/nixpkgs/pkgs/development/python-modules/pymemcache/default.nix
index ab01259a77fe..f30b6ea06b4c 100644
--- a/nixpkgs/pkgs/development/python-modules/pymemcache/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pymemcache/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "pymemcache";
-  version = "3.4.4";
+  version = "3.5.0";
 
   src = fetchFromGitHub {
     owner = "pinterest";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1ajlhirxhd4pbzgd84k44znjazjbnbdfm3sk64avs0vgcgclq2n7";
+    sha256 = "sha256-O2qmcLWCUSc1f32irelIZOOuOziOUQXFGcuQJBXPvvM=";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pymeteireann/default.nix b/nixpkgs/pkgs/development/python-modules/pymeteireann/default.nix
index 7e48a4089a12..711392b4a30f 100644
--- a/nixpkgs/pkgs/development/python-modules/pymeteireann/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pymeteireann/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonPackage rec {
   pname = "pymeteireann";
-  version = "0.2";
+  version = "2021.8.0";
 
   src = fetchFromGitHub {
     owner = "DylanGore";
     repo = "PyMetEireann";
     rev = version;
-    sha256 = "1904f8mvv4ghzbniswmdwyj5v71m6y3yn1b4grjvfds05skalm67";
+    sha256 = "1xcfb3f2a2q99i8anpdzq8s743jgkk2a3rpar48b2dhs7l15rbsd";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pymodbus/default.nix b/nixpkgs/pkgs/development/python-modules/pymodbus/default.nix
index 46b60419ad8c..b96c5f8d15da 100644
--- a/nixpkgs/pkgs/development/python-modules/pymodbus/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pymodbus/default.nix
@@ -5,7 +5,7 @@
 , click
 , fetchFromGitHub
 , mock
-, prompt_toolkit
+, prompt-toolkit
 , pygments
 , pyserial
 , pyserial-asyncio
@@ -31,7 +31,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     aiohttp
     click
-    prompt_toolkit
+    prompt-toolkit
     pygments
     pyserial
     pyserial-asyncio
diff --git a/nixpkgs/pkgs/development/python-modules/pymunk/default.nix b/nixpkgs/pkgs/development/python-modules/pymunk/default.nix
index 92918efa8ed8..4d8dbee2c2e7 100644
--- a/nixpkgs/pkgs/development/python-modules/pymunk/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pymunk/default.nix
@@ -1,22 +1,27 @@
-{ lib
+{ stdenv
+, lib
 , buildPythonPackage
 , fetchPypi
 , python
 , cffi
 , pytestCheckHook
+, ApplicationServices
 }:
 
 buildPythonPackage rec {
   pname = "pymunk";
-  version = "6.0.0";
+  version = "6.2.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "04jqqd2y0wzzkqppbl08vyzgbcpl5qj946w8da2ilypqdx7j2akp";
+    sha256 = "1r3jfjg4cpdilrmlyml514hqmjgabyrrs4cvmdr56rylg1sp4gf3";
   };
 
   propagatedBuildInputs = [ cffi ];
+  buildInputs = lib.optionals stdenv.isDarwin [
+    ApplicationServices
+  ];
 
   preBuild = ''
     ${python.interpreter} setup.py build_ext --inplace
@@ -26,11 +31,13 @@ buildPythonPackage rec {
   pytestFlagsArray = [
     "pymunk/tests"
   ];
+  pythonImportsCheck = [ "pymunk" ];
 
   meta = with lib; {
     description = "2d physics library";
     homepage = "https://www.pymunk.org";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ angustrau ];
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pymupdf/default.nix b/nixpkgs/pkgs/development/python-modules/pymupdf/default.nix
index 501f829dc142..0b147c971b02 100644
--- a/nixpkgs/pkgs/development/python-modules/pymupdf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pymupdf/default.nix
@@ -1,28 +1,42 @@
-{ lib, buildPythonPackage, fetchPypi, mupdf, swig }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, mupdf
+, swig
+, freetype
+, harfbuzz
+, openjpeg
+, jbig2dec
+, libjpeg_turbo
+, gumbo
+}:
+
 buildPythonPackage rec {
   pname = "pymupdf";
-  version = "1.18.0";
+  version = "1.18.17";
 
   src = fetchPypi {
     pname = "PyMuPDF";
     inherit version;
-    sha256 = "64ce58f92d9edd2631e447175fa13b4024ac3b6dce6e718e0b003c41de6f7952";
+    sha256 = "fa39ee5e91eae77818e07b6bb7e0cb0b402ad88e39a74b08626ce1c2150c5414";
   };
 
-  patchPhase = ''
+  postPatch = ''
     substituteInPlace setup.py \
         --replace '/usr/include/mupdf' ${mupdf.dev}/include/mupdf
-    '';
+  '';
   nativeBuildInputs = [ swig ];
-  buildInputs = [ mupdf ];
+  buildInputs = [ mupdf freetype harfbuzz openjpeg jbig2dec libjpeg_turbo gumbo ];
 
   doCheck = false;
 
+  pythonImportsCheck = [ "fitz" ];
+
   meta = with lib; {
     description = "Python bindings for MuPDF's rendering library.";
     homepage = "https://github.com/pymupdf/PyMuPDF";
     maintainers = with maintainers; [ teto ];
-    license =  licenses.agpl3;
+    license = licenses.agpl3Only;
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pymyq/default.nix b/nixpkgs/pkgs/development/python-modules/pymyq/default.nix
index 71788db45c9a..04a8b596e844 100644
--- a/nixpkgs/pkgs/development/python-modules/pymyq/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pymyq/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "pymyq";
-  version = "3.0.4";
+  version = "3.1.3";
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "arraylabs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-jeoFlLBjD81Bt6E75rk4U1Ach53KGy23QGx+A6X2rpg=";
+    sha256 = "sha256-V2u2wUSPwiF6o6OWhQVKiHtzhn0/rzyM6e2+a+D7UNA=";
   };
 
   propagatedBuildInputs = [
@@ -27,6 +27,7 @@ buildPythonPackage rec {
 
   # Project has no tests
   doCheck = false;
+
   pythonImportsCheck = [ "pymyq" ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/pynacl/default.nix b/nixpkgs/pkgs/development/python-modules/pynacl/default.nix
index f8696dd54ac0..8c5c239aeb41 100644
--- a/nixpkgs/pkgs/development/python-modules/pynacl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pynacl/default.nix
@@ -6,6 +6,7 @@
 , libsodium
 , cffi
 , hypothesis
+, six
 }:
 
 buildPythonPackage rec {
@@ -23,10 +24,14 @@ buildPythonPackage rec {
     libsodium
   ];
 
-  propagatedBuildInputs = [
+  propagatedNativeBuildInputs = [
     cffi
   ];
 
+  propagatedBuildInputs = [
+    six
+  ];
+
   checkInputs = [
     hypothesis
     pytestCheckHook
diff --git a/nixpkgs/pkgs/development/python-modules/pynamodb/default.nix b/nixpkgs/pkgs/development/python-modules/pynamodb/default.nix
index 5237ce99557d..b59d292d97cb 100644
--- a/nixpkgs/pkgs/development/python-modules/pynamodb/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pynamodb/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "pynamodb";
-  version = "5.0.3";
+  version = "5.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "01741df673abb518d5cf9f00223a227f5d0ab9e0a6b19e444ceb38d497019f31";
+    sha256 = "7f351d70b9f4da95ea2d7e50299640e4c46c83b7b24bea5daf110acd2e5aef2b";
   };
 
   propagatedBuildInputs = [ python-dateutil botocore ];
diff --git a/nixpkgs/pkgs/development/python-modules/pynetbox/default.nix b/nixpkgs/pkgs/development/python-modules/pynetbox/default.nix
index e81a4b8dd666..e6759e736a94 100644
--- a/nixpkgs/pkgs/development/python-modules/pynetbox/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pynetbox/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "pynetbox";
-  version = "6.1.2";
+  version = "6.1.3";
 
   src = fetchFromGitHub {
     owner = "netbox-community";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0di07rny3gqdfb0rf7hm3x03rpn7rydpv3lrl7cak2ccpqm0wzhl";
+    sha256 = "sha256-ALDNnKgnOjYladDRVothjm3/2Jv1eNxR2wSS+ZL/Fqk=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/pynvml/default.nix b/nixpkgs/pkgs/development/python-modules/pynvml/default.nix
index 75d8056fa557..59698fa18767 100644
--- a/nixpkgs/pkgs/development/python-modules/pynvml/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pynvml/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "pynvml";
-  version = "8.0.4";
+  version = "11.0.0";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0pfykj1amqh1rixp90rg85v1nj6qmx89fahqr6ii4zlcckffmm68";
+    sha256 = "sha256-1fxKItNVtAw0HWugqoiKLU0iUxd9JDkA+EAbfmyssbs=";
   };
 
   propagatedBuildInputs = [ cudatoolkit ];
diff --git a/nixpkgs/pkgs/development/python-modules/pyodbc/default.nix b/nixpkgs/pkgs/development/python-modules/pyodbc/default.nix
index 8f2686a79145..59457d6fcca6 100644
--- a/nixpkgs/pkgs/development/python-modules/pyodbc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyodbc/default.nix
@@ -2,18 +2,20 @@
 
 buildPythonPackage rec {
   pname = "pyodbc";
-  version = "4.0.30";
-  disabled = isPyPy;  # use pypypdbc instead
+  version = "4.0.32";
+  disabled = isPyPy; # use pypypdbc instead
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0skjpraar6hcwsy82612bpj8nw016ncyvvq88j5syrikxgp5saw5";
+    sha256 = "9be5f0c3590655e1968488410fe3528bb8023d527e7ccec1f663d64245071a6b";
   };
 
   buildInputs = [ unixODBC ];
 
   doCheck = false; # tests require a database server
 
+  pythonImportsCheck = [ "pyodbc" ];
+
   meta = with lib; {
     description = "Python ODBC module to connect to almost any database";
     homepage = "https://github.com/mkleehammer/pyodbc";
diff --git a/nixpkgs/pkgs/development/python-modules/pyopencl/default.nix b/nixpkgs/pkgs/development/python-modules/pyopencl/default.nix
index 7650ba22b0ac..427b65394006 100644
--- a/nixpkgs/pkgs/development/python-modules/pyopencl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyopencl/default.nix
@@ -21,7 +21,7 @@ let
     if stdenv.isDarwin then [ mesa_drivers.dev ] else [ ocl-icd ];
 in buildPythonPackage rec {
   pname = "pyopencl";
-  version = "2021.2.2";
+  version = "2021.2.6";
 
   checkInputs = [ pytest ];
   buildInputs = [ opencl-headers pybind11 ] ++ os-specific-buildInputs;
@@ -30,7 +30,7 @@ in buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "50876f16624bc623fa2eff98a91259761b51471e186f535d4d4e7bce58292f0c";
+    sha256 = "df208546d28a3274ba7b554d50643ed1e393b8f3f75a43b24b83d3ee76597587";
   };
 
   # py.test is not needed during runtime, so remove it from `install_requires`
diff --git a/nixpkgs/pkgs/development/python-modules/pyopenuv/default.nix b/nixpkgs/pkgs/development/python-modules/pyopenuv/default.nix
index 130b44c09694..5560f3811fa3 100644
--- a/nixpkgs/pkgs/development/python-modules/pyopenuv/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyopenuv/default.nix
@@ -2,6 +2,7 @@
 , aiohttp
 , aresponses
 , asynctest
+, backoff
 , buildPythonPackage
 , fetchFromGitHub
 , poetry-core
@@ -13,19 +14,22 @@
 
 buildPythonPackage rec {
   pname = "pyopenuv";
-  version = "2.0.2";
+  version = "2.1.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "bachya";
     repo = pname;
     rev = version;
-    sha256 = "sha256-QVgNwu/NXSV9nbRN0POBCdKCv6xdp4uSEzFAiHkhVaQ=";
+    sha256 = "sha256-S2X7cTArjiWOFjQGnrZ4AuhgN8t18wf9d6i9X5thRZg=";
   };
 
   nativeBuildInputs = [ poetry-core ];
 
-  propagatedBuildInputs = [ aiohttp ];
+  propagatedBuildInputs = [
+    aiohttp
+    backoff
+  ];
 
   checkInputs = [
     aresponses
diff --git a/nixpkgs/pkgs/development/python-modules/pypck/default.nix b/nixpkgs/pkgs/development/python-modules/pypck/default.nix
index b0ea3fdcb24a..797657a28c5c 100644
--- a/nixpkgs/pkgs/development/python-modules/pypck/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pypck/default.nix
@@ -2,7 +2,6 @@
 , buildPythonPackage
 , fetchFromGitHub
 , pytest-asyncio
-, pytest-cov
 , pytest-timeout
 , pytestCheckHook
 , pythonOlder
@@ -11,19 +10,18 @@
 
 buildPythonPackage rec {
   pname = "pypck";
-  version = "0.7.10";
+  version = "0.7.11";
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "alengwenus";
     repo = pname;
     rev = version;
-    sha256 = "sha256-B2imewEONewj1Y+Q316reIBZB/b9WQAu67x9cLMkRTU=";
+    sha256 = "1jj0y487qcxrprx4x2rs6r7rqsf5m9khk0xhigbvnbyvh8rsd2jr";
   };
 
   checkInputs = [
     pytest-asyncio
-    pytest-cov
     pytest-timeout
     pytestCheckHook
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/pyppeteer/default.nix b/nixpkgs/pkgs/development/python-modules/pyppeteer/default.nix
index 6da76a5cdba5..37a40f867bda 100644
--- a/nixpkgs/pkgs/development/python-modules/pyppeteer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyppeteer/default.nix
@@ -2,7 +2,6 @@
 , appdirs
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , poetry-core
 , pyee
 , pytest-xdist
@@ -16,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "pyppeteer";
-  version = "0.2.5";
+  version = "0.2.6";
   disabled = pythonOlder "3.6";
   format = "pyproject";
 
@@ -24,7 +23,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "1hl4rw8j5yiak0d34vx1l1blr8125bscjd8m46a5m8xzm98csjc7";
+    sha256 = "sha256-mMFQp8GMjKUc3yyB4c8Tgxut7LkMFa2cySO3iSA/aI4=";
   };
 
   nativeBuildInputs = [
@@ -45,21 +44,6 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  patches = [
-    # Switch to poetry-core, https://github.com/pyppeteer/pyppeteer/pull/262
-    (fetchpatch {
-      name = "switch-poetry-core.patch";
-      url = "https://github.com/pyppeteer/pyppeteer/commit/e248baebefcf262fd96f261d940e74ed49ba2df9.patch";
-      sha256 = "03g8n35kn2alqki37s0hf2231fk2zkr4nr1x1g2rfrhps9d6fyvw";
-    })
-  ];
-
-  postPatch = ''
-    # https://github.com/pyppeteer/pyppeteer/pull/252
-    substituteInPlace pyproject.toml \
-      --replace 'websockets = "^8.1"' 'websockets = "*"'
-  '';
-
   disabledTestPaths = [
     # Requires network access
     "tests/test_browser.py"
diff --git a/nixpkgs/pkgs/development/python-modules/pyprosegur/default.nix b/nixpkgs/pkgs/development/python-modules/pyprosegur/default.nix
new file mode 100644
index 000000000000..d2d510246569
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pyprosegur/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, aiohttp
+, backoff
+, buildPythonPackage
+, click
+, fetchFromGitHub
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "pyprosegur";
+  version = "0.0.5";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "dgomes";
+    repo = pname;
+    rev = version;
+    sha256 = "0bpzxm8s548fw6j36brp7bcx9481x2hrypcw3yyg4ihsjhka5qln";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    backoff
+    click
+  ];
+
+  # Project has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "pyprosegur" ];
+
+  meta = with lib; {
+    description = "Python module to communicate with Prosegur Residential Alarms";
+    homepage = "https://github.com/dgomes/pyprosegur";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pypykatz/default.nix b/nixpkgs/pkgs/development/python-modules/pypykatz/default.nix
index f4eafdcb4fc5..2e2bd7def655 100644
--- a/nixpkgs/pkgs/development/python-modules/pypykatz/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pypykatz/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "pypykatz";
-  version = "0.5.0";
+  version = "0.5.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-1p8v4Qi0MNqMUpcErWnxveYu4d4N5BUBCDBsw1xX96I=";
+    sha256 = "1lyvypi1g4l9fq1f9q05bdn6vq8y5y9ghmb6ziqdycr0lxn7lfdd";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyqtgraph/default.nix b/nixpkgs/pkgs/development/python-modules/pyqtgraph/default.nix
index 54a136d5dcd4..49401bf1f843 100644
--- a/nixpkgs/pkgs/development/python-modules/pyqtgraph/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyqtgraph/default.nix
@@ -55,7 +55,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Scientific Graphics and GUI Library for Python";
-    homepage = "http://www.pyqtgraph.org/";
+    homepage = "https://www.pyqtgraph.org/";
     changelog = "https://github.com/pyqtgraph/pyqtgraph/blob/master/CHANGELOG";
     license = licenses.mit;
     platforms = platforms.unix;
diff --git a/nixpkgs/pkgs/development/python-modules/pyrad/default.nix b/nixpkgs/pkgs/development/python-modules/pyrad/default.nix
index 31cbf77d94e0..67841cab7d9f 100644
--- a/nixpkgs/pkgs/development/python-modules/pyrad/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyrad/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "pyrad";
-  version = "2.3";
+  version = "2.4";
 
   src = fetchFromGitHub {
     owner = "pyradius";
     repo = pname;
     rev = version;
-    sha256 = "0hy7999av47s8100afbhxfjb8phbmrqcv530xlvskndby4a8w94k";
+    sha256 = "sha256-oqgkE0xG/8cmLeRZdGoHkaHbjtByeJwzBJwEdxH8oNY=";
   };
 
   propagatedBuildInputs = [ netaddr six ];
@@ -18,10 +18,12 @@ buildPythonPackage rec {
     nosetests -e testBind
   '';
 
+  pythonImportsCheck = [ "pyrad" ];
+
   meta = with lib; {
     description = "Python RADIUS Implementation";
     homepage = "https://bitbucket.org/zzzeek/sqlsoup";
-    license = licenses.mit;
+    license = licenses.bsd3;
     maintainers = [ maintainers.globin ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pyrituals/default.nix b/nixpkgs/pkgs/development/python-modules/pyrituals/default.nix
index 6b3b9f91c1e5..e7674fd3ea77 100644
--- a/nixpkgs/pkgs/development/python-modules/pyrituals/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyrituals/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "pyrituals";
-  version = "0.0.5";
+  version = "0.0.6";
   format = "pyproject";
   disabled = pythonOlder "3.8";
 
@@ -15,7 +15,7 @@ buildPythonPackage rec {
     owner = "milanmeu";
     repo = pname;
     rev = version;
-    sha256 = "sha256-iWJhjAUXkoH3MMJ5PFj2rjIy2e0nn57cRoEF6KMfrQg=";
+    sha256 = "0ynjz7khp67bwxjp580w3zijxr9yn44nmnbvkxjxq9scyb2mjf6g";
   };
 
   propagatedBuildInputs = [ aiohttp ];
diff --git a/nixpkgs/pkgs/development/python-modules/pyro-ppl/default.nix b/nixpkgs/pkgs/development/python-modules/pyro-ppl/default.nix
index 96f0ba057f65..c8a9775dd24e 100644
--- a/nixpkgs/pkgs/development/python-modules/pyro-ppl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyro-ppl/default.nix
@@ -2,12 +2,12 @@
 , graphviz, networkx, six, opt-einsum, tqdm, pyro-api }:
 
 buildPythonPackage rec {
-  version = "1.6.0";
+  version = "1.7.0";
   pname = "pyro-ppl";
 
   src = fetchPypi {
     inherit version pname;
-    sha256 = "ee181852713058f59d600dfa2e05bbc6f7f9b88fcdb4d2f1ccf61b0bf4794088";
+    sha256 = "a8ec6968fdfa34f140584b266099238f1ffeacbbaab3775de5c94c0e685d018a";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyroma/default.nix b/nixpkgs/pkgs/development/python-modules/pyroma/default.nix
index c8fc988b96c0..03eea0b8b5e9 100644
--- a/nixpkgs/pkgs/development/python-modules/pyroma/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyroma/default.nix
@@ -1,26 +1,48 @@
-{ lib, buildPythonPackage, fetchPypi
-, docutils, pygments, setuptools
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, docutils
+, pygments
+, setuptools
+, requests
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "pyroma";
-  version = "3.1";
+  version = "3.2";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "45ad8201da9a813b5597bb85c80bbece93af9ec89170fc2be5ad85fa9463cef1";
+  src = fetchFromGitHub {
+    owner = "regebro";
+    repo = pname;
+    rev = version;
+    sha256 = "0ln9w984n48nyxwzd1y48l6b18lnv52radcyizaw56lapcgxrzdr";
   };
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace "pygments < 2.6" "pygments"
-  '';
+  propagatedBuildInputs = [
+    docutils
+    pygments
+    setuptools
+    requests
+  ];
 
-  propagatedBuildInputs = [ docutils pygments setuptools ];
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pytestFlagsArray = [ "pyroma/tests.py" ];
+
+  disabledTests = [
+    # PyPI tests require network access
+    "PyPITest"
+  ];
+
+  pythonImportsCheck = [ "pyroma" ];
 
   meta = with lib; {
     description = "Test your project's packaging friendliness";
     homepage = "https://github.com/regebro/pyroma";
     license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pysaml2/default.nix b/nixpkgs/pkgs/development/python-modules/pysaml2/default.nix
index 5de5ad3a0dbe..6eeb10b6dcd9 100644
--- a/nixpkgs/pkgs/development/python-modules/pysaml2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pysaml2/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pysaml2";
-  version = "6.5.2";
+  version = "7.0.1";
 
   disabled = !isPy3k;
 
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "IdentityPython";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1p0i88v2ng9fzs0fzjam1dc1idnihqc1wgagvnavqjrih721qcpi";
+    sha256 = "0ickqask6bjipgi3pvxg92pjr6dk2rr3q9garap39mdrp2gsfhln";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyscreenshot/default.nix b/nixpkgs/pkgs/development/python-modules/pyscreenshot/default.nix
index 3ca096332aea..8fbd0801dd69 100644
--- a/nixpkgs/pkgs/development/python-modules/pyscreenshot/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyscreenshot/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "pyscreenshot";
-  version = "2.3";
+  version = "3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bfdc311bd6ec1ee9e3c25ece75b24a749673ad5d5f89ee02950080023054ffd5";
+    sha256 = "dd4fdfaeb617483913a6b16845b9f428de5db28758979f4b6cf8f236d292b908";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pysma/default.nix b/nixpkgs/pkgs/development/python-modules/pysma/default.nix
index 15d40bce9fa8..f538830a7fbe 100644
--- a/nixpkgs/pkgs/development/python-modules/pysma/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pysma/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "pysma";
-  version = "0.6.2";
+  version = "0.6.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-nKnOWVPRFmylwUeb0yApMHdW8vGvPCLlOGkZGNYC128=";
+    sha256 = "0kabwx8mi2kkbxxg7abnxwggxvidjrzgp5yidiyll5iba0ghhgnw";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pysmappee/default.nix b/nixpkgs/pkgs/development/python-modules/pysmappee/default.nix
index c053e5592282..028d591ac924 100644
--- a/nixpkgs/pkgs/development/python-modules/pysmappee/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pysmappee/default.nix
@@ -6,19 +6,20 @@
 , pytz
 , requests
 , requests_oauthlib
+, schedule
 , pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pysmappee";
-  version = "0.2.25";
+  version = "0.2.27";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "smappee";
     repo = pname;
     rev = version;
-    sha256 = "0ld3pb86dq61fcvr6zigdz1vjjcwf7izzkajyg82nmb508a570d7";
+    sha256 = "sha256-CzdkeC53ye+IMeGUiD1mK84h2ruC1/ZpjlDjuWMVoyQ=";
   };
 
   propagatedBuildInputs = [
@@ -27,10 +28,12 @@ buildPythonPackage rec {
     pytz
     requests
     requests_oauthlib
+    schedule
   ];
 
   # Project has no tests
   doCheck = false;
+
   pythonImportsCheck = [ "pysmappee" ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/pysonos/default.nix b/nixpkgs/pkgs/development/python-modules/pysonos/default.nix
index 63dbe7625351..132c904dc3ef 100644
--- a/nixpkgs/pkgs/development/python-modules/pysonos/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pysonos/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "pysonos";
-  version = "0.0.51";
+  version = "0.0.54";
 
   disabled = !isPy3k;
 
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "amelchio";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-MjsbqrH4SWnnwGe9BVHaValoQEiaaZVhFdn6MDoEyZs=";
+    sha256 = "sha256-gBOknYHL5nQWFVhCbLN0Ah+1fovcNY4P2myryZnUadk=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pysyncthru/default.nix b/nixpkgs/pkgs/development/python-modules/pysyncthru/default.nix
index d3fed5dc4b58..67194d51cb2f 100644
--- a/nixpkgs/pkgs/development/python-modules/pysyncthru/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pysyncthru/default.nix
@@ -1,7 +1,7 @@
 { lib
 , isPy27
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , aiohttp
 , demjson
 , python
@@ -9,14 +9,15 @@
 
 buildPythonPackage rec {
   pname = "pysyncthru";
-  version = "0.7.3";
+  version = "0.7.8";
 
   disabled = isPy27;
 
-  src = fetchPypi {
-    pname = "PySyncThru";
-    inherit version;
-    sha256 = "13564018a7de4fe013e195e19d7bae92aa224e0f3a32373576682722d3dbee52";
+  src = fetchFromGitHub {
+    owner = "nielstron";
+    repo = "pysyncthru";
+    rev = "release-${version}";
+    sha256 = "17k9dhnya4304gqmkyvvf94jvikmnkf2lqairl3rfrl7w68jm3vp";
   };
 
   propagatedBuildInputs = [
@@ -28,9 +29,6 @@ buildPythonPackage rec {
     ${python.interpreter} -m unittest
   '';
 
-  # no tests on PyPI, no tags on GitHub
-  doCheck = false;
-
   pythonImportsCheck = [ "pysyncthru" ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/pytenable/default.nix b/nixpkgs/pkgs/development/python-modules/pytenable/default.nix
index b547d030cedd..d2e227c1b175 100644
--- a/nixpkgs/pkgs/development/python-modules/pytenable/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytenable/default.nix
@@ -18,13 +18,13 @@
 
 buildPythonPackage rec {
   pname = "pytenable";
-  version = "1.3.2";
+  version = "1.3.3";
 
   src = fetchFromGitHub {
     owner = "tenable";
     repo = "pyTenable";
     rev = version;
-    sha256 = "sha256-S39rl8bJsxYAmTcaZk9+s9G45lOvREjlGVBk1m30tJo=";
+    sha256 = "19vhy7mf972545abydywyig82gkxalp6sfwinvj71hzbihwwzjpq";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytesseract/default.nix b/nixpkgs/pkgs/development/python-modules/pytesseract/default.nix
index a7af2d1db032..6fcb9f97d32c 100644
--- a/nixpkgs/pkgs/development/python-modules/pytesseract/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytesseract/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pytesseract";
-  version = "0.3.7";
+  version = "0.3.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4ecfc898d00a70fcc38d2bce729de1597c67e7bc5d2fa26094714c9f5b573645";
+    sha256 = "sha256-YUigHkN1dghi6PVupxjiK10TsoFFTfRuqNrJgHeT/Fo=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytesseract/tesseract-binary.patch b/nixpkgs/pkgs/development/python-modules/pytesseract/tesseract-binary.patch
index 27b042bbaa52..78dfacb94ab3 100644
--- a/nixpkgs/pkgs/development/python-modules/pytesseract/tesseract-binary.patch
+++ b/nixpkgs/pkgs/development/python-modules/pytesseract/tesseract-binary.patch
@@ -1,7 +1,7 @@
-diff --git a/src/pytesseract.py b/src/pytesseract.py
+diff --git a/pytesseract/pytesseract.py b/pytesseract/pytesseract.py
 index 132f59b..f161e5c 100755
---- a/src/pytesseract.py
-+++ b/src/pytesseract.py
+--- a/pytesseract/pytesseract.py
++++ b/pytesseract/pytesseract.py
 @@ -23,7 +23,7 @@ except ImportError:
      import Image
  
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-astropy/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-astropy/default.nix
index 981860c7a643..f6736a736c34 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-astropy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-astropy/default.nix
@@ -10,11 +10,13 @@
 , pytest-openfiles
 , pytest-arraydiff
 , setuptools-scm
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pytest-astropy";
   version = "0.8.0";
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
@@ -25,7 +27,9 @@ buildPythonPackage rec {
     setuptools-scm
   ];
 
-  buildInputs = [ pytest ];
+  buildInputs = [
+    pytest
+  ];
 
   propagatedBuildInputs = [
     hypothesis
@@ -38,12 +42,15 @@ buildPythonPackage rec {
   ];
 
   # pytest-astropy is a meta package and has no tests
-  doCheck = false;
+  #doCheck = false;
+  checkPhase = ''
+    # 'doCheck = false;' still invokes the pytestCheckPhase which makes the build fail
+  '';
 
   meta = with lib; {
     description = "Meta-package containing dependencies for testing";
     homepage = "https://astropy.org";
     license = licenses.bsd3;
-    maintainers = [ maintainers.costrouc ];
+    maintainers = with maintainers; [ costrouc ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-dependency/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-dependency/default.nix
index fc6b716397dd..c583288b406f 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-dependency/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-dependency/default.nix
@@ -1,19 +1,24 @@
-{ lib, buildPythonPackage, fetchPypi, fetchpatch, pytest }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, fetchpatch
+, pytest
+}:
 
 buildPythonPackage rec {
-  version = "0.5.1";
   pname = "pytest-dependency";
+  version = "0.5.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c2a892906192663f85030a6ab91304e508e546cddfe557d692d61ec57a1d946b";
+    hash = "sha256-wqiSkGGSZj+FAwpquRME5QjlRs3f5VfWktYexXodlGs=";
   };
 
   patches = [
-    # Fix build with pytest ≥ 6.2.0, https://github.com/RKrahl/pytest-dependency/pull/51
+    # Fix build with pytest >= 6.2.0, https://github.com/RKrahl/pytest-dependency/pull/51
     (fetchpatch {
       url = "https://github.com/RKrahl/pytest-dependency/commit/0930889a13e2b9baa7617f05dc9b55abede5209d.patch";
-      sha256 = "0ka892j0rrlnfvk900fcph0f6lsnr9dy06q5k2s2byzwijhdw6n5";
+      sha256 = "sha256-xRreoIz8+yW0mAUb4FvKVlPjALzMAZDmdpbmDKRISE0=";
     })
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-filter-subpackage/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-filter-subpackage/default.nix
index df152eaa5eca..5df0aa976f1f 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-filter-subpackage/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-filter-subpackage/default.nix
@@ -26,6 +26,9 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     pytest-doctestplus
     pytest-cov
+  ];
+
+  checkInputs = [
     pytestCheckHook
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-httpserver/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-httpserver/default.nix
index aaca4174a2f2..79d10f8cf743 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-httpserver/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-httpserver/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, pytest-asyncio
 , pytest-cov
 , pytestCheckHook
 , requests
@@ -10,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "pytest-httpserver";
-  version = "1.0.0";
+  version = "1.0.1";
 
   src = fetchPypi {
     pname = "pytest_httpserver";
     inherit version;
-    sha256 = "sha256-rjCV0TTUBgLpVyEUDiIhOdpKV5lWEjmQr4WCUyTQdG0=";
+    sha256 = "12b0028vp5rh9bg712klgjzm4vl4biyza1j6iyv3pgg25ircang3";
   };
 
   propagatedBuildInputs = [ werkzeug ];
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-httpx/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-httpx/default.nix
index 1773a4b57928..6e7fd37b915e 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-httpx/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-httpx/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonPackage rec {
   pname = "pytest-httpx";
-  version = "0.12.0";
+  version = "0.12.1";
 
   src = fetchFromGitHub {
     owner = "Colin-b";
     repo = "pytest_httpx";
     rev = "v${version}";
-    sha256 = "sha256-Awhsm8jmoCZTBnfrrauLxAEKtpxTzjPMXmx7HR0f/g4=";
+    sha256 = "sha256-eyR0h0fW5a+L6QslTnM0TPvQCto06aMcKCE+b8LqHcQ=";
   };
 
   buildInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-mockservers/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-mockservers/default.nix
new file mode 100644
index 000000000000..4022befcb14d
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pytest-mockservers/default.nix
@@ -0,0 +1,57 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, poetry-core
+, aiohttp
+, pytest
+, pytest-asyncio
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "pytest-mockservers";
+  version = "0.6.0";
+  format = "pyproject";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "Gr1N";
+    repo = pname;
+    rev = version;
+    sha256 = "0xql0fnw7m2zn103601gqbpyd761kzvgjj2iz9hjsv56nr4z1g9i";
+  };
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace "poetry.masonry.api" "poetry.core.masonry.api"
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  buildInputs = [
+    pytest
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+    pytest-asyncio
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "pytest_mockservers"
+  ];
+
+  meta = with lib; {
+    description = "A set of fixtures to test your requests to HTTP/UDP servers";
+    homepage = "https://github.com/Gr1N/pytest-mockservers";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-mpl/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-mpl/default.nix
index 30a2757ecf32..747411ad7455 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-mpl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-mpl/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "pytest-mpl";
-  version = "0.12";
+  version = "0.13";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4a223909e5148c99bd18891848c7871457729322c752c9c470bd8dd6bdf9f940";
+    sha256 = "582db6e14315f9b08cbd2df39b136dc344bfe8a27c2f05b995460fb0969ec19e";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-qt/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-qt/default.nix
index 4add58efbca3..23942b522358 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-qt/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-qt/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "pytest-qt";
-  version = "3.3.0";
+  version = "4.0.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "714b0bf86c5313413f2d300ac613515db3a1aef595051ab8ba2ffe619dbe8925";
+    sha256 = "dfc5240dec7eb43b76bcb5f9a87eecae6ef83592af49f3af5f1d5d093acaa93e";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-resource-path/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-resource-path/default.nix
new file mode 100644
index 000000000000..7476801794c3
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pytest-resource-path/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, colorama
+, pytest
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "pytest-resource-path";
+  version = "1.3.0";
+  disabled = pythonOlder "3.5";
+
+  src = fetchFromGitHub {
+    owner = "yukihiko-shinoda";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1siv3pk4fsabz254fdzr7c0pxy124habnbw4ym66pfk883fr96g2";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "pytest-runner" ""
+  '';
+
+  buildInputs = [
+    pytest
+  ];
+
+  propagatedBuildInputs = [
+    colorama
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "pytest_resource_path"
+  ];
+
+  meta = with lib; {
+    description = "Pytest plugin to provide path for uniform access to test resources";
+    homepage = "https://github.com/yukihiko-shinoda/pytest-resource-path";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-sanic/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-sanic/default.nix
index 3cea788643ca..761f4deed2dc 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-sanic/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-sanic/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "pytest-sanic";
-  version = "1.7.1";
+  version = "1.8.1";
 
   src = fetchFromGitHub {
     owner = "yunstanford";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-OtyulpSHUWERtcIRT5j3YtHciIxFiIFYKqtlEd1NSFw=";
+    sha256 = "128qxpqilqjhpjzjzzfzsgi4bc0vxwmz0k3xwry6fwhyzcf2bzl5";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-socket/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-socket/default.nix
index 05f632d39ba3..0371b7cac5a4 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-socket/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-socket/default.nix
@@ -1,20 +1,29 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
+, poetry-core
 , pytest
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pytest-socket";
-  version = "0.3.3";
+  version = "0.4.0";
+  disabled = pythonOlder "3.6";
+  format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "miketheman";
     repo = pname;
     rev = version;
-    sha256 = "1jbzkyp4xki81h01yl4vg3nrg9b6shsk1ryrmkaslffyhrqnj8zh";
+    sha256 = "sha256-cFYtJqZ/RjFbn9XlEy6ffxZ2djisajQAwjV/YR2f59Q=";
   };
 
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
   buildInputs = [
     pytest
   ];
@@ -23,18 +32,24 @@ buildPythonPackage rec {
     pytest
   ];
 
-  checkPhase = ''
-    pytest
-  '';
+  patches = [
+    # Switch to poetry-core, https://github.com/miketheman/pytest-socket/pull/74
+    (fetchpatch {
+      name = "switch-to-poetry-core.patch";
+      url = "https://github.com/miketheman/pytest-socket/commit/32519170e656e731d24b81770a170333d3efa6a8.patch";
+      sha256 = "19ksgx77rsa6ijcbml74alwc5052mdqr4rmvqhlzvfcvv3676ig2";
+    })
+  ];
 
-  # unsurprisingly pytest-socket require network for majority of tests
-  # to pass...
+  # pytest-socket require network for majority of tests
   doCheck = false;
 
+  pythonImportsCheck = [ "pytest_socket" ];
+
   meta = with lib; {
     description = "Pytest Plugin to disable socket calls during tests";
     homepage = "https://github.com/miketheman/pytest-socket";
     license = licenses.mit;
-    maintainers = [ maintainers.costrouc ];
+    maintainers = with maintainers; [ costrouc ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-testmon/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-testmon/default.nix
index fa63cc035ad8..d7b0b660be98 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-testmon/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-testmon/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "pytest-testmon";
-  version = "1.1.1";
+  version = "1.1.2";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c8810f991545e352f646fb382e5962ff54b8aa52b09d62d35ae04f0d7a9c58d9";
+    sha256 = "91f4513f7e5a1cf4f1eda25ab7f310497abe30e5f19b612fd80ba7d5f60b58a6";
   };
 
   propagatedBuildInputs = [ coverage ];
diff --git a/nixpkgs/pkgs/development/python-modules/python-box/default.nix b/nixpkgs/pkgs/development/python-modules/python-box/default.nix
index cb176109fefb..6410bbadd27e 100644
--- a/nixpkgs/pkgs/development/python-modules/python-box/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-box/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "python-box";
-  version = "5.3.0";
+  version = "5.4.1";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "cdgriffith";
     repo = "Box";
     rev = version;
-    sha256 = "0fhmkjdcacpwyg7fajqfvnv3n9xd9rxjdpvi8z3j73a1gls36gf4";
+    sha256 = "sha256-SkteajcWG7rBFMm6Xp6QCfkZfwthRituGL/RtICbtYk=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/python-engineio/default.nix b/nixpkgs/pkgs/development/python-modules/python-engineio/default.nix
index 486484bca3ae..1b35f64bd7c0 100644
--- a/nixpkgs/pkgs/development/python-modules/python-engineio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-engineio/default.nix
@@ -16,13 +16,13 @@
 
 buildPythonPackage rec {
   pname = "python-engineio";
-  version = "4.0.0";
+  version = "4.2.0";
 
   src = fetchFromGitHub {
     owner = "miguelgrinberg";
     repo = "python-engineio";
     rev = "v${version}";
-    sha256 = "00x9pmmnl1yd59wd96ivkiqh4n5nphl8cwk43hf4nqr0icgsyhar";
+    sha256 = "sha256-QfX8Volz5nabGVhQLXfSD/QooxLsU6DvCq1WRkRZ6hU=";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/python-gammu/default.nix b/nixpkgs/pkgs/development/python-modules/python-gammu/default.nix
index 1548a1389474..d61512bd6b1f 100644
--- a/nixpkgs/pkgs/development/python-modules/python-gammu/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-gammu/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "python-gammu";
-  version = "3.1";
+  version = "3.2.3";
   disabled = pythonOlder "3.5";
 
   src = fetchFromGitHub {
     owner = "gammu";
     repo = pname;
     rev = version;
-    sha256 = "1hw2mfrps6wqfyi40p5mp9r59n1ick6pj4hw5njz0k822pbb33p0";
+    sha256 = "sha256-MtFxKRE6CB/LZq9McMyYhjwfs/Rdke9gsNUqbOQdWYQ=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/nixpkgs/pkgs/development/python-modules/python-gitlab/default.nix b/nixpkgs/pkgs/development/python-modules/python-gitlab/default.nix
index 9d06569dfdc3..831ae6e39668 100644
--- a/nixpkgs/pkgs/development/python-modules/python-gitlab/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-gitlab/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "python-gitlab";
-  version = "2.9.0";
+  version = "2.10.0";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-LFGxTN2aaAKDFaKw6IUl03YJZziPmfqlfeiQK0VGW+Y=";
+    sha256 = "sha256-N2s+mCOBzsc0RxxQKz2ixueFio300DyZNJnmp1k5UOY=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/python-json-logger/default.nix b/nixpkgs/pkgs/development/python-modules/python-json-logger/default.nix
index cb36bf50e18b..02768431197d 100644
--- a/nixpkgs/pkgs/development/python-modules/python-json-logger/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-json-logger/default.nix
@@ -6,13 +6,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "2.0.1";
+  version = "2.0.2";
   pname = "python-json-logger";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f26eea7898db40609563bed0a7ca11af12e2a79858632706d835a0f961b7d398";
+    sha256 = "202a4f29901a4b8002a6d1b958407eeb2dd1d83c18b18b816f5b64476dde9096";
   };
 
   checkInputs = [ nose ];
diff --git a/nixpkgs/pkgs/development/python-modules/python-lsp-server/default.nix b/nixpkgs/pkgs/development/python-modules/python-lsp-server/default.nix
index 90ab506d651f..5d13a50a11fd 100644
--- a/nixpkgs/pkgs/development/python-modules/python-lsp-server/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-lsp-server/default.nix
@@ -22,36 +22,44 @@
 , setuptools
 , ujson
 , yapf
+, withAutopep8 ? true
+, withFlake8 ? true
+, withMccabe ? true
+, withPycodestyle ? true
+, withPydocstyle ? true
+, withPyflakes ? true
+, withPylint ? true
+, withRope ? true
+, withYapf ? true
 }:
 
 buildPythonPackage rec {
   pname = "python-lsp-server";
-  version = "1.1.0";
+  version = "1.2.1";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "python-lsp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1akdpfnylqg2mcwpkqmdwcg6j6hab23slp5rfjfidhphig2f2yjv";
+    sha256 = "sha256-TyXKlXeXMyq+bQq9ngDm0SuW+rAhDlOVlC3mDI1THwk=";
   };
 
   propagatedBuildInputs = [
-    autopep8
-    flake8
     jedi
-    mccabe
     pluggy
-    pycodestyle
-    pydocstyle
-    pyflakes
-    pylint
     python-lsp-jsonrpc
-    rope
     setuptools
     ujson
-    yapf
-  ];
+  ] ++ lib.optional withAutopep8 autopep8
+    ++ lib.optional withFlake8 flake8
+    ++ lib.optional withMccabe mccabe
+    ++ lib.optional withPycodestyle pycodestyle
+    ++ lib.optional withPydocstyle pydocstyle
+    ++ lib.optional withPyflakes pyflakes
+    ++ lib.optional withPylint pylint
+    ++ lib.optional withRope rope
+    ++ lib.optional withYapf yapf;
 
   checkInputs = [
     flaky
@@ -62,6 +70,19 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  disabledTests = lib.optional (!withPycodestyle) "test_workspace_loads_pycodestyle_config";
+
+  disabledTestPaths = lib.optional (!withAutopep8) "test/plugins/test_autopep8_format.py"
+    ++ lib.optional (!withRope) "test/plugins/test_completion.py"
+    ++ lib.optional (!withFlake8) "test/plugins/test_flake8_lint.py"
+    ++ lib.optional (!withMccabe) "test/plugins/test_mccabe_lint.py"
+    ++ lib.optional (!withPycodestyle) "test/plugins/test_pycodestyle_lint.py"
+    ++ lib.optional (!withPydocstyle) "test/plugins/test_pydocstyle_lint.py"
+    ++ lib.optional (!withPyflakes) "test/plugins/test_pyflakes_lint.py"
+    ++ lib.optional (!withPylint) "test/plugins/test_pylint_lint.py"
+    ++ lib.optional (!withRope) "test/plugins/test_rope_rename.py"
+    ++ lib.optional (!withYapf) "test/plugins/test_yapf_format.py";
+
   postPatch = ''
     substituteInPlace setup.cfg \
       --replace "--cov-report html --cov-report term --junitxml=pytest.xml" "" \
diff --git a/nixpkgs/pkgs/development/python-modules/python-magic/default.nix b/nixpkgs/pkgs/development/python-modules/python-magic/default.nix
index 6737f1260733..02f1cc691522 100644
--- a/nixpkgs/pkgs/development/python-modules/python-magic/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-magic/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "python-magic";
-  version = "0.4.22";
+  version = "0.4.24";
 
   src = fetchFromGitHub {
     owner = "ahupp";
     repo = "python-magic";
     rev = version;
-    sha256 = "0zbdjr5shijs0jayz7gycpx0kn6v2bh83dpanyajk2vmy47jvbd6";
+    sha256 = "17jalhjbfd600lzfz296m0nvgp6c7vx1mgz82jbzn8hgdzknf4w0";
   };
 
   patches = [
@@ -32,9 +32,10 @@ buildPythonPackage rec {
     LC_ALL="en_US.UTF-8" ${python.interpreter} test/test.py
   '';
 
-  meta = {
+  meta = with lib; {
     description = "A python interface to the libmagic file type identification library";
     homepage = "https://github.com/ahupp/python-magic";
-    license = lib.licenses.mit;
+    license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/python-magic/libmagic-path.patch b/nixpkgs/pkgs/development/python-modules/python-magic/libmagic-path.patch
index 5a1dbec7d51b..e9530d6ddf75 100644
--- a/nixpkgs/pkgs/development/python-modules/python-magic/libmagic-path.patch
+++ b/nixpkgs/pkgs/development/python-modules/python-magic/libmagic-path.patch
@@ -1,17 +1,28 @@
-diff --git a/magic/loader.py b/magic/loader.py
-index 6b2bfcb..69778af 100644
---- a/magic/loader.py
-+++ b/magic/loader.py
-@@ -5,11 +5,7 @@ import glob
+diff --git i/magic/loader.py w/magic/loader.py
+index 931f161..b8096d1 100644
+--- i/magic/loader.py
++++ w/magic/loader.py
+@@ -35,16 +35,12 @@ def _lib_candidates():
+ 
+ 
  def load_lib():
-   libmagic = None
-   # Let's try to find magic or magic1
--  dll = ctypes.util.find_library('magic') \
--        or ctypes.util.find_library('magic1') \
--        or ctypes.util.find_library('cygmagic-1') \
--        or ctypes.util.find_library('libmagic-1') \
--        or ctypes.util.find_library('msys-magic-1')  # for MSYS2
-+  dll = '@libmagic@'
++  lib = '@libmagic@'
+ 
+-  for lib in _lib_candidates():
+-    # find_library returns None when lib not found
+-    if lib is None:
+-      continue
+-    try:
+-      return ctypes.CDLL(lib)
+-    except OSError:
+-      pass
+-  else:
+-    # It is better to raise an ImportError since we are importing magic module
+-    raise ImportError('failed to find libmagic.  Check your installation')
++  try:
++    return ctypes.CDLL(lib)
++  except OSError:
++    pass
  
-   # necessary because find_library returns None if it doesn't find the library
-   if dll:
++  # It is better to raise an ImportError since we are importing magic module
++  raise ImportError('failed to find libmagic.  Check your installation')
diff --git a/nixpkgs/pkgs/development/python-modules/python-mapnik/default.nix b/nixpkgs/pkgs/development/python-modules/python-mapnik/default.nix
index 228e0d74ebc2..3a4e4af54def 100644
--- a/nixpkgs/pkgs/development/python-modules/python-mapnik/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-mapnik/default.nix
@@ -1,26 +1,29 @@
 { lib
 , buildPythonPackage
+, fetchFromGitHub
 , isPyPy
 , python
-, pkgs
 , pillow
 , pycairo
+, pkg-config
+, boost
+, cairo
+, harfbuzz
+, icu
+, libjpeg
+, libpng
+, libtiff
+, libwebp
+, mapnik
+, proj
+, zlib
 }:
 
-let
-  boost = pkgs.boost.override {
-    enablePython = true;
-    inherit python;
-  };
-  mapnik = pkgs.mapnik.override {
-    inherit python boost;
-  };
-
-in buildPythonPackage rec {
+buildPythonPackage rec {
   pname = "python-mapnik";
   version = "unstable-2020-02-24";
 
-  src = pkgs.fetchFromGitHub {
+  src = fetchFromGitHub {
     owner = "mapnik";
     repo = "python-mapnik";
     rev = "7da019cf9eb12af8f8aa88b7d75789dfcd1e901b";
@@ -29,10 +32,8 @@ in buildPythonPackage rec {
 
   disabled = isPyPy;
   doCheck = false; # doesn't find needed test data files
-  preBuild = let
-    pythonVersion = with lib.versions; "${major python.version}${minor python.version}";
-  in ''
-    export BOOST_PYTHON_LIB="boost_python${pythonVersion}"
+  preBuild = ''
+    export BOOST_PYTHON_LIB="boost_python${"${lib.versions.major python.version}${lib.versions.minor python.version}"}"
     export BOOST_THREAD_LIB="boost_thread"
     export BOOST_SYSTEM_LIB="boost_system"
     export PYCAIRO=true
@@ -40,7 +41,7 @@ in buildPythonPackage rec {
 
   nativeBuildInputs = [
     mapnik # for mapnik_config
-    pkgs.pkgconfig
+    pkg-config
   ];
 
   patches = [
@@ -50,7 +51,6 @@ in buildPythonPackage rec {
   buildInputs = [
     mapnik
     boost
-  ] ++ (with pkgs; [
     cairo
     harfbuzz
     icu
@@ -60,15 +60,16 @@ in buildPythonPackage rec {
     libwebp
     proj
     zlib
-  ]);
+  ];
+
   propagatedBuildInputs = [ pillow pycairo ];
 
-  pythonImportsCheck = [ "mapnik" ] ;
+  pythonImportsCheck = [ "mapnik" ];
 
   meta = with lib; {
     description = "Python bindings for Mapnik";
+    maintainers = with maintainers; [ ];
     homepage = "https://mapnik.org";
-    license  = licenses.lgpl21;
+    license = licenses.lgpl21;
   };
-
 }
diff --git a/nixpkgs/pkgs/development/python-modules/python-miio/default.nix b/nixpkgs/pkgs/development/python-modules/python-miio/default.nix
index b441971d44da..4daaaa1617d1 100644
--- a/nixpkgs/pkgs/development/python-modules/python-miio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-miio/default.nix
@@ -24,13 +24,13 @@
 
 buildPythonPackage rec {
   pname = "python-miio";
-  version = "0.5.6";
+  version = "0.5.7";
   disabled = pythonOlder "3.6";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-tmGt50xBDV++/pqyXsuxHdrwv+XbkjvtrzsYBzQh7zE=";
+    sha256 = "sha256-Dl/9aiCb8RYcSGEkO9X51Oaqg7FOv5mWYIDZs9fpOIg=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/python-socketio/default.nix b/nixpkgs/pkgs/development/python-modules/python-socketio/default.nix
index 8eb58b244e14..2b5c9c84a849 100644
--- a/nixpkgs/pkgs/development/python-modules/python-socketio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-socketio/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonPackage rec {
   pname = "python-socketio";
-  version = "5.0.4";
+  version = "5.3.0";
 
   src = fetchFromGitHub {
     owner = "miguelgrinberg";
     repo = "python-socketio";
     rev = "v${version}";
-    sha256 = "0mpqr53mrdzk9ki24y1inpsfvjlvm7pvxf8q4d52m80i5pcd5v5q";
+    sha256 = "sha256-jyTTWxShLDDnbT+MYIJIjwpn3xfIB04je78doIOG+FQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/python-uinput/default.nix b/nixpkgs/pkgs/development/python-modules/python-uinput/default.nix
index 8d82ffb6b3b9..efb1288943af 100644
--- a/nixpkgs/pkgs/development/python-modules/python-uinput/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-uinput/default.nix
@@ -16,7 +16,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Pythonic API to Linux uinput kernel module";
-    homepage = "http://tjjr.fi/sw/python-uinput/";
+    homepage = "https://tjjr.fi/sw/python-uinput/";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ abbradar ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/pythondialog/default.nix b/nixpkgs/pkgs/development/python-modules/pythondialog/default.nix
index 6f8b6a2bbec3..fbd37155cdb7 100644
--- a/nixpkgs/pkgs/development/python-modules/pythondialog/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pythondialog/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "pythondialog";
-  version = "3.5.1";
+  version = "3.5.2";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "34a0687290571f37d7d297514cc36bd4cd044a3a4355271549f91490d3e7ece8";
+    sha256 = "4fc11e95540d1d5dbe0a60cd3fb7787354df85ee4b5da21f708ea46cb47bf6d6";
   };
 
   patchPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pytile/default.nix b/nixpkgs/pkgs/development/python-modules/pytile/default.nix
index cf445fd96815..779703723eeb 100644
--- a/nixpkgs/pkgs/development/python-modules/pytile/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytile/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "pytile";
-  version = "5.2.2";
+  version = "5.2.3";
   format = "pyproject";
   disabled = pythonOlder "3.7";
 
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "bachya";
     repo = pname;
     rev = version;
-    sha256 = "sha256-oVtTR5zucYvnaPO0i4sEBBU4nafq7GUfx3kPdSvptDo=";
+    sha256 = "01gxq6dbqjmsqndjcbqv79wd2wgs7krm0rn47k883gh2xg9sn606";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytools/default.nix b/nixpkgs/pkgs/development/python-modules/pytools/default.nix
index 79fff8875730..af485ce57942 100644
--- a/nixpkgs/pkgs/development/python-modules/pytools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytools/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "pytools";
-  version = "2021.2.7";
+  version = "2021.2.8";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0538f6fe7f00bf765ca5ab38518db48df72de818460006e54b0575accd24d9fb";
+    sha256 = "e11adc4914d805ac2bd02656fc6c0ec57c29dd305bd4a44122ca4e651a4bba8b";
   };
 
   checkInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/pytorch/default.nix b/nixpkgs/pkgs/development/python-modules/pytorch/default.nix
index 35eb79d8b2d3..0de0015ab1ec 100644
--- a/nixpkgs/pkgs/development/python-modules/pytorch/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytorch/default.nix
@@ -301,6 +301,11 @@ in buildPythonPackage rec {
   # Builds in 2+h with 2 cores, and ~15m with a big-parallel builder.
   requiredSystemFeatures = [ "big-parallel" ];
 
+  passthru = {
+    inherit cudaSupport;
+    cudaArchList = final_cudaArchList;
+  };
+
   meta = with lib; {
     description = "Open source, prototype-to-production deep learning platform";
     homepage    = "https://pytorch.org/";
diff --git a/nixpkgs/pkgs/development/python-modules/pytube/default.nix b/nixpkgs/pkgs/development/python-modules/pytube/default.nix
index 62824354c670..93ff39360830 100644
--- a/nixpkgs/pkgs/development/python-modules/pytube/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytube/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "pytube";
-  version = "10.9.0";
+  version = "10.9.3";
 
   disabled = pythonOlder "3.6";
 
@@ -15,7 +15,7 @@ buildPythonPackage rec {
     owner = "pytube";
     repo = "pytube";
     rev = "v${version}";
-    sha256 = "sha256-9kKazy0Fg3YcNIkzgVFQ46Ipn3Dngfnh5DjwRP/fZGg=";
+    sha256 = "sha256-x4u68O9dNhDZ+1Q+S4ou6zPqoR2/Yn5lcKgR2kyM/uo=";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytwitchapi/default.nix b/nixpkgs/pkgs/development/python-modules/pytwitchapi/default.nix
new file mode 100644
index 000000000000..78cd978bc9ad
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pytwitchapi/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, aiohttp
+, python-dateutil
+, requests
+, websockets
+}:
+
+buildPythonPackage rec {
+  pname = "pytwitchapi";
+  version = "2.3.0";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "Teekeks";
+    repo = "pyTwitchAPI";
+    rev = "v${version}";
+    sha256 = "sha256-ax3FHyyyRfXSWKsoUi8ao5TL2alo0bQP+lWiDaPjf34=";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    python-dateutil
+    requests
+    websockets
+  ];
+
+  # Project has no tests.
+  doCheck = false;
+
+  pythonImportsCheck = [ "twitchAPI" ];
+
+  meta = with lib; {
+    description = "Python implementation of the Twitch Helix API, its Webhook and PubSub";
+    homepage = "https://github.com/Teekeks/pyTwitchAPI";
+    license = licenses.mit;
+    maintainers = with maintainers; [ wolfangaukang ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pyupgrade/default.nix b/nixpkgs/pkgs/development/python-modules/pyupgrade/default.nix
index 07f21881c50b..636a05718420 100644
--- a/nixpkgs/pkgs/development/python-modules/pyupgrade/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyupgrade/default.nix
@@ -1,21 +1,21 @@
-{ buildPythonPackage
+{ lib
+, buildPythonPackage
 , fetchFromGitHub
-, isPy27
-, lib
+, pythonOlder
 , pytestCheckHook
 , tokenize-rt
 }:
 
 buildPythonPackage rec {
   pname = "pyupgrade";
-  version = "2.21.0";
-  disabled = isPy27;
+  version = "2.25.0";
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "asottile";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-W0zaziTkXReEuLhcd6jEHH/dS1YSZNiWDro+tTH7Ftg=";
+    sha256 = "0mbx5gv6ns896mxzml8q9r9dn5wvnrb7gc5iw49fdwbb0yw9yhyx";
   };
 
   checkInputs = [ pytestCheckHook ];
diff --git a/nixpkgs/pkgs/development/python-modules/pyuseragents/default.nix b/nixpkgs/pkgs/development/python-modules/pyuseragents/default.nix
new file mode 100644
index 000000000000..ffa3a5302ae5
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pyuseragents/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "pyuseragents";
+  version = "1.0.5";
+
+  src = fetchFromGitHub {
+    owner = "Animenosekai";
+    repo = "useragents";
+    rev = "v${version}";
+    sha256 = "D7Qs3vsfkRH2FDkbfakrR+FfWzQFiOCQM7q9AdJavyU=";
+  };
+
+  checkInputs = [ pytestCheckHook ];
+  pytestFlagsArray = [ "test.py" ];
+  pythonImportsCheck = [ "pyuseragents" ];
+
+  meta = with lib; {
+    description = "Giving you a random User-Agent Header";
+    homepage = "https://github.com/Animenosekai/useragents";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ angustrau ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pyverilog/default.nix b/nixpkgs/pkgs/development/python-modules/pyverilog/default.nix
new file mode 100644
index 000000000000..8e41d26921fa
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pyverilog/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, jinja2
+, ply
+, verilog
+, pytest-pythonpath
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "pyverilog";
+  version = "1.3.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1a74k8r21swmfwvgv4c014y6nbcyl229fspxw89ygsgb0j83xnar";
+  };
+
+  disabled = pythonOlder "3.7";
+
+  patchPhase = ''
+    # The path to Icarus can still be overridden via an environment variable at runtime.
+    substituteInPlace pyverilog/vparser/preprocessor.py \
+      --replace "iverilog = 'iverilog'" "iverilog = '${verilog}/bin/iverilog'"
+  '';
+
+  propagatedBuildInputs = [
+    jinja2
+    ply
+    verilog
+  ];
+
+  checkInputs = [
+    pytest-pythonpath
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/PyHDI/Pyverilog";
+    description = "Python-based Hardware Design Processing Toolkit for Verilog HDL";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ trepetti ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pyvex/default.nix b/nixpkgs/pkgs/development/python-modules/pyvex/default.nix
index d021b6b06d3c..c07199b741e8 100644
--- a/nixpkgs/pkgs/development/python-modules/pyvex/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyvex/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "pyvex";
-  version = "9.0.9031";
+  version = "9.0.9684";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-bl6bWv4c+tlaWcxrYCiljC9C+wAZZVyk+1O0rlb4kxA=";
+    sha256 = "sha256-pf+LUFatC16a8EScoNYZKCXiaCINPRRn+6R1Op4GMRE=";
   };
 
   postPatch = lib.optionalString stdenv.isDarwin ''
diff --git a/nixpkgs/pkgs/development/python-modules/pyvicare/default.nix b/nixpkgs/pkgs/development/python-modules/pyvicare/default.nix
index 274cb0379c29..6da6b7803828 100644
--- a/nixpkgs/pkgs/development/python-modules/pyvicare/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyvicare/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "pyvicare";
-  version = "1.0.0";
+  version = "2.7.1";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "somm15";
     repo = "PyViCare";
     rev = version;
-    sha256 = "05dlasx18fkmh4z1w8550yrb26fmsb5bc73wr9whmkasm32gpfl1";
+    sha256 = "sha256-YczzB95RyOdRGEye1pUqCZxegtp6kjCtUUHYyHD0WP0=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/pyviz-comms/default.nix b/nixpkgs/pkgs/development/python-modules/pyviz-comms/default.nix
index e9e07de4df2d..71b9b064aaab 100644
--- a/nixpkgs/pkgs/development/python-modules/pyviz-comms/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyviz-comms/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "pyviz_comms";
-  version = "0.7.6";
+  version = "2.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-zZZJqeqd/LmzTXj5pk4YcKqLa5TeVG4smca7U9ZKtdE=";
+    sha256 = "f4a7126f318fb6b964fef3f92fa55bc46b9218f62a8464a8b18e968b3087dbc0";
   };
 
   propagatedBuildInputs = [ param ];
@@ -19,6 +19,8 @@ buildPythonPackage rec {
   # there are not tests with the package
   doCheck = false;
 
+  pythonImportsCheck = [ "pyviz_comms" ];
+
   passthru.tests = {
     inherit panel;
   };
diff --git a/nixpkgs/pkgs/development/python-modules/pywebpush/default.nix b/nixpkgs/pkgs/development/python-modules/pywebpush/default.nix
index a89e0b3789cf..c7c60d20f3cd 100644
--- a/nixpkgs/pkgs/development/python-modules/pywebpush/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pywebpush/default.nix
@@ -14,11 +14,11 @@
 
 buildPythonPackage rec {
   pname = "pywebpush";
-  version = "1.13.0";
+  version = "1.14.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "97ef000a685cd1f63d9d3553568508508904bfe419485df2b83b025d94e9ae54";
+    sha256 = "sha256-bDbhZ5JoIZ5pO6lA2yvyVMJAygJmTeECtyaa/DxUVzE=";
   };
 
   propagatedBuildInputs = [
@@ -36,6 +36,8 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  pythonImportsCheck = [ "pywebpush" ];
+
   meta = with lib; {
     description = "Webpush Data encryption library for Python";
     homepage = "https://github.com/web-push-libs/pywebpush";
diff --git a/nixpkgs/pkgs/development/python-modules/pywemo/default.nix b/nixpkgs/pkgs/development/python-modules/pywemo/default.nix
index ceb190fe753a..878611d8e3fd 100644
--- a/nixpkgs/pkgs/development/python-modules/pywemo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pywemo/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , ifaddr
 , lxml
 , poetry-core
@@ -14,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "pywemo";
-  version = "0.6.4";
+  version = "0.6.7";
   format = "pyproject";
   disabled = pythonOlder "3.7";
 
@@ -22,19 +21,13 @@ buildPythonPackage rec {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "1hm1vs6m65vqar0lcjnynz0d9y9ri5s75fzhvp0yfjkcnp06gnfa";
+    sha256 = "sha256-g3/xMCCCsn2EY1DsRuZAcfUIsdkP3mEkYlI+KjYKXOk=";
   };
 
-  patches = [
-    (fetchpatch {
-      # https://github.com/pywemo/pywemo/issues/264
-      url = "https://github.com/pywemo/pywemo/commit/4fd7af8ccc7cb2412f61d5e04b79f83c9ca4753c.patch";
-      sha256 = "1x0rm5dxr0z5llmv446bx3i1wvgcfhx22zn78qblcr0m4yv3mif4";
-    })
+  nativeBuildInputs = [
+    poetry-core
   ];
 
-  nativeBuildInputs = [ poetry-core ];
-
   propagatedBuildInputs = [
     ifaddr
     requests
diff --git a/nixpkgs/pkgs/development/python-modules/qcelemental/default.nix b/nixpkgs/pkgs/development/python-modules/qcelemental/default.nix
index b6e0684a2d48..57b50f820f7d 100644
--- a/nixpkgs/pkgs/development/python-modules/qcelemental/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/qcelemental/default.nix
@@ -4,14 +4,14 @@
 
 buildPythonPackage rec {
   pname = "qcelemental";
-  version = "0.21.0";
+  version = "0.22.0";
 
   checkInputs = [ pytest-runner pytest-cov pytest ];
   propagatedBuildInputs = [ numpy pydantic pint networkx ];
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1b3c78fxbpnddrm1fnbvv4x2840jcfjg2l5cb5w4p38vzksiv238";
+    sha256 = "1d7fc613fbe30189cfa970a863a5955865b1116ff651d20325c721b6f0ef1f52";
   };
 
   doCheck = true;
diff --git a/nixpkgs/pkgs/development/python-modules/qrcode/default.nix b/nixpkgs/pkgs/development/python-modules/qrcode/default.nix
index 29f2ab49606f..72f75e7a13a5 100644
--- a/nixpkgs/pkgs/development/python-modules/qrcode/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/qrcode/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "qrcode";
-  version = "6.1";
+  version = "7.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "505253854f607f2abf4d16092c61d4e9d511a3b4392e60bff957a68592b04369";
+    sha256 = "d72861b65e26b611609f0547f0febe58aed8ae229d6bf4e675834f40742915b3";
   };
 
   propagatedBuildInputs = [ six pillow pymaging_png setuptools ];
diff --git a/nixpkgs/pkgs/development/python-modules/qtawesome/default.nix b/nixpkgs/pkgs/development/python-modules/qtawesome/default.nix
index af9e724a9e00..0a024faf919f 100644
--- a/nixpkgs/pkgs/development/python-modules/qtawesome/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/qtawesome/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "QtAwesome";
-  version = "1.0.2";
+  version = "1.0.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "771dd95ac4f50d647d18b4e892fd310a580b56d258476554c7b3498593dfd887";
+    sha256 = "d37bbeb69ddc591e5ff036b741bda8d1d92133811f1f5a7150021506f70b8e6e";
   };
 
   propagatedBuildInputs = [ qtpy six ];
diff --git a/nixpkgs/pkgs/development/python-modules/qtconsole/default.nix b/nixpkgs/pkgs/development/python-modules/qtconsole/default.nix
index a5173a0a257d..5e63001013a5 100644
--- a/nixpkgs/pkgs/development/python-modules/qtconsole/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/qtconsole/default.nix
@@ -15,11 +15,11 @@
 
 buildPythonPackage rec {
   pname = "qtconsole";
-  version = "5.1.0";
+  version = "5.1.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "12c734494901658787339dea9bbd82f3dc0d5e394071377a1c77b4a0954d7d8b";
+    sha256 = "bbc34bca14f65535afcb401bc74b752bac955e5313001ba640383f7e5857dc49";
   };
 
   checkInputs = [ nose ] ++ lib.optionals isPy27 [mock];
diff --git a/nixpkgs/pkgs/development/python-modules/quantities/default.nix b/nixpkgs/pkgs/development/python-modules/quantities/default.nix
index ca6d8f0cfdb3..233eb8a44b32 100644
--- a/nixpkgs/pkgs/development/python-modules/quantities/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/quantities/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "quantities";
-  version = "0.12.4";
+  version = "0.12.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "12qx6cgib3wxmm2cvann4zw4jnhhn24ms61ifq9f3jbh31nn6gd3";
+    sha256 = "67546963cb2a519b1a4aa43d132ef754360268e5d551b43dd1716903d99812f0";
   };
 
   propagatedBuildInputs = [ numpy ];
diff --git a/nixpkgs/pkgs/development/python-modules/questionary/default.nix b/nixpkgs/pkgs/development/python-modules/questionary/default.nix
index d7f93b3a47e5..27619b785459 100644
--- a/nixpkgs/pkgs/development/python-modules/questionary/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/questionary/default.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , fetchFromGitHub
 , poetry
-, prompt_toolkit
+, prompt-toolkit
 , pytest-cov
 , pytestCheckHook
 }:
@@ -24,7 +24,7 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
-    prompt_toolkit
+    prompt-toolkit
   ];
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/rapidfuzz/default.nix b/nixpkgs/pkgs/development/python-modules/rapidfuzz/default.nix
index 8743e5014e04..6b78252de651 100644
--- a/nixpkgs/pkgs/development/python-modules/rapidfuzz/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rapidfuzz/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "rapidfuzz";
-  version = "1.4.1";
+  version = "1.5.0";
 
   disabled = pythonOlder "3.5";
 
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     repo = "RapidFuzz";
     rev = "v${version}";
     fetchSubmodules = true;
-    sha256 = "sha256-uZdD25ATJgRrDAHYSQNp7NvEmW7p3LD9vNmxAbf5Mwk=";
+    sha256 = "sha256-Omo9ActReimYDK9dARG0s32Qq61neDELRechbnwRfwU=";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/regenmaschine/default.nix b/nixpkgs/pkgs/development/python-modules/regenmaschine/default.nix
index e19c744ba655..2239b5824e11 100644
--- a/nixpkgs/pkgs/development/python-modules/regenmaschine/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/regenmaschine/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "regenmaschine";
-  version = "3.1.3";
+  version = "3.1.5";
   format = "pyproject";
   disabled = pythonOlder "3.6";
 
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "bachya";
     repo = pname;
     rev = version;
-    sha256 = "sha256-3Q0JQQVspzuQQAn3S46uFbOYW2zQ7c1UL4zjEOnifDY=";
+    sha256 = "0jm4x66kk7aa19hablkij43vsnsyy85a638zjfjsqghwqppwklgw";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/tools/remarshal/default.nix b/nixpkgs/pkgs/development/python-modules/remarshal/default.nix
index 67137fb1ed93..90024e732576 100644
--- a/nixpkgs/pkgs/development/tools/remarshal/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/remarshal/default.nix
@@ -1,15 +1,21 @@
-{ lib, python3Packages }:
+{ lib, buildPythonApplication, fetchPypi
+, cbor2
+, python-dateutil
+, pyyaml
+, tomlkit
+, u-msgpack-python
+}:
 
-python3Packages.buildPythonApplication rec {
+buildPythonApplication rec {
   pname = "remarshal";
   version = "0.14.0";
 
-  src = python3Packages.fetchPypi {
+  src = fetchPypi {
     inherit pname version;
     sha256 = "16425aa1575a271dd3705d812b06276eeedc3ac557e7fd28e06822ad14cd0667";
   };
 
-  propagatedBuildInputs = with python3Packages; [
+  propagatedBuildInputs = [
     pyyaml cbor2 python-dateutil tomlkit u-msgpack-python
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/requests-cache/default.nix b/nixpkgs/pkgs/development/python-modules/requests-cache/default.nix
index ce1dfc366f45..787e9a6e279c 100644
--- a/nixpkgs/pkgs/development/python-modules/requests-cache/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/requests-cache/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "requests-cache";
-  version = "0.7.2";
+  version = "0.7.4";
   disabled = pythonOlder "3.6";
   format = "pyproject";
 
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "reclosedev";
     repo = "requests-cache";
     rev = "v${version}";
-    sha256 = "055dfyjm8dqwr62v86lyvq4r04692gmvlgp86218vwvzgm7p3p2c";
+    sha256 = "sha256-FndKFdmEsp3TF2W4b7nhARi9ZOutlE43vvzYxiwbL08=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/requests-pkcs12/default.nix b/nixpkgs/pkgs/development/python-modules/requests-pkcs12/default.nix
index 29d7b85f9e6e..9ebfaa77da5c 100644
--- a/nixpkgs/pkgs/development/python-modules/requests-pkcs12/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/requests-pkcs12/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "requests-pkcs12";
-  version = "1.10";
+  version = "1.12";
 
   src = fetchFromGitHub {
     owner = "m-click";
     repo = "requests_pkcs12";
     rev = version;
-    sha256 = "sha256-HIUCzHxOsbk1OmcxkRK9GQ+SZ6Uf1xDylOe2pUYz3Hk=";
+    sha256 = "sha256-fMmca3QNr9UBpSHcVf0nHmGmvkW99bnmigHcWj0D2g0=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/requests-unixsocket/default.nix b/nixpkgs/pkgs/development/python-modules/requests-unixsocket/default.nix
index f98b68c13a0b..946e406c8bf6 100644
--- a/nixpkgs/pkgs/development/python-modules/requests-unixsocket/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/requests-unixsocket/default.nix
@@ -1,6 +1,11 @@
-{ lib, buildPythonPackage, fetchPypi
-, pbr, requests
-, pytest, waitress }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pbr
+, requests
+, pytestCheckHook
+, waitress
+}:
 
 buildPythonPackage rec {
   pname = "requests-unixsocket";
@@ -14,10 +19,10 @@ buildPythonPackage rec {
   nativeBuildInputs = [ pbr ];
   propagatedBuildInputs = [ requests ];
 
-  checkInputs = [ pytest waitress ];
-  checkPhase = ''
+  checkInputs = [ pytestCheckHook waitress ];
+
+  preCheck = ''
     rm pytest.ini
-    py.test
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/resolvelib/default.nix b/nixpkgs/pkgs/development/python-modules/resolvelib/default.nix
index a146cac392fb..f5c1f4357268 100644
--- a/nixpkgs/pkgs/development/python-modules/resolvelib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/resolvelib/default.nix
@@ -7,13 +7,18 @@
 
 buildPythonPackage rec {
   pname = "resolvelib";
-  version = "0.7.1";
+  # Currently this package is only used by Ansible and breaking changes
+  # are frequently introduced, so when upgrading ensure the new version
+  # is compatible with Ansible
+  # https://github.com/NixOS/nixpkgs/pull/128636
+  # https://github.com/ansible/ansible/blob/devel/requirements.txt
+  version = "0.5.5";
 
   src = fetchFromGitHub {
     owner = "sarugaku";
     repo = "resolvelib";
     rev = version;
-    sha256 = "1fqz75riagizihvf4j7wc3zjw6kmg1dd8sf49aszyml105kb33n8";
+    sha256 = "198vfv78hilpg0d0mjzchzp9zk6239wnra61vlsgwpcgz66d2bgv";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/responses/default.nix b/nixpkgs/pkgs/development/python-modules/responses/default.nix
index 8b700701d31a..ebb4716cd895 100644
--- a/nixpkgs/pkgs/development/python-modules/responses/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/responses/default.nix
@@ -1,16 +1,46 @@
-{ buildPythonPackage, fetchPypi
-, cookies, mock, requests, six }:
+{ lib
+, buildPythonPackage
+, cookies
+, fetchPypi
+, mock
+, pytest-localserver
+, pytestCheckHook
+, pythonOlder
+, requests
+, six
+, urllib3
+}:
 
 buildPythonPackage rec {
   pname = "responses";
-  version = "0.13.3";
+  version = "0.13.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "18a5b88eb24143adbf2b4100f328a2f5bfa72fbdacf12d97d41f07c26c45553d";
+    sha256 = "sha256-lHZ3XYVtPCSuZgu+vin7bXidStFqzXI++/tu4gmQuJk=";
   };
 
-  propagatedBuildInputs = [ cookies mock requests six ];
+  propagatedBuildInputs = [
+    requests
+    urllib3
+    six
+  ] ++ lib.optionals (pythonOlder "3.4") [
+    cookies
+  ] ++ lib.optionals (pythonOlder "3.3") [
+    mock
+  ];
 
-  doCheck = false;
+  checkInputs = [
+    pytest-localserver
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "responses" ];
+
+  meta = with lib; {
+    description = "Python module for mocking out the requests Python library";
+    homepage = "https://github.com/getsentry/responses";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/respx/default.nix b/nixpkgs/pkgs/development/python-modules/respx/default.nix
index 0a3fa27a8086..0d7f509b4a0e 100644
--- a/nixpkgs/pkgs/development/python-modules/respx/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/respx/default.nix
@@ -3,40 +3,46 @@
 , fetchFromGitHub
 , httpcore
 , httpx
+, flask
 , pytest-asyncio
-, pytest-cov
 , pytestCheckHook
+, starlette
 , trio
 }:
 
 buildPythonPackage rec {
   pname = "respx";
-  version = "0.17.0";
+  version = "0.17.1";
 
   src = fetchFromGitHub {
     owner = "lundberg";
     repo = pname;
     rev = version;
-    sha256 = "sha256-unGAIsslGXOUHXr0FKzC9bX6+Q3mNGZ9Z/dtjz0gkj4=";
+    sha256 = "0w8idh6l2iq04ydz7r2qisq9jsxq8wszkx97kx4g3yjwg4ypvc6k";
   };
 
-  # Coverage is under 100 % due to the excluded tests
-  postPatch = ''
-    substituteInPlace setup.cfg --replace "--cov-fail-under 100" ""
-  '';
-
-  propagatedBuildInputs = [ httpx ];
+  propagatedBuildInputs = [
+    httpx
+  ];
 
   checkInputs = [
     httpcore
     httpx
+    flask
     pytest-asyncio
-    pytest-cov
     pytestCheckHook
+    starlette
     trio
   ];
 
-  disabledTests = [ "test_pass_through" ];
+  postPatch = ''
+    sed -i "/--cov/d" setup.cfg
+  '';
+
+  disabledTests = [
+    "test_pass_through"
+  ];
+
   pythonImportsCheck = [ "respx" ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/restfly/default.nix b/nixpkgs/pkgs/development/python-modules/restfly/default.nix
index 126ff8f22880..5cc87077e663 100644
--- a/nixpkgs/pkgs/development/python-modules/restfly/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/restfly/default.nix
@@ -11,13 +11,13 @@
 
 buildPythonPackage rec {
   pname = "restfly";
-  version = "1.4.0";
+  version = "1.4.1";
 
   src = fetchFromGitHub {
     owner = "stevemcgrath";
     repo = pname;
     rev = version;
-    sha256 = "0cmx15i57cxqw7naz8nkpqjckd6lpd2vszrkl82hvnajdimcd9wy";
+    sha256 = "03k1843llpi4ycd450j5x8bd58vxsbfw43p81hsawidsx4c6bk85";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/rich/default.nix b/nixpkgs/pkgs/development/python-modules/rich/default.nix
index e939d3fc9334..323bd8ba8685 100644
--- a/nixpkgs/pkgs/development/python-modules/rich/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rich/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "rich";
-  version = "10.4.0";
+  version = "10.7.0";
   format = "pyproject";
   disabled = pythonOlder "3.6";
 
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "willmcgugan";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0z01bvn8zx69simk26jv5ngvqv35fs7i0wbg1hjcd37lmv3v6261";
+    sha256 = "1drh08cmcn8dqi0mpfwscz3ljsv2s60kyhxy6iiw5si7rf717j4p";
   };
 
   nativeBuildInputs = [ poetry-core ];
diff --git a/nixpkgs/pkgs/development/python-modules/ring-doorbell/default.nix b/nixpkgs/pkgs/development/python-modules/ring-doorbell/default.nix
index f70e4921b9e7..041a959ca5b2 100644
--- a/nixpkgs/pkgs/development/python-modules/ring-doorbell/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ring-doorbell/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "ring-doorbell";
-  version = "0.7.0";
+  version = "0.7.1";
   disabled = !isPy3k;
 
   src = fetchPypi {
     pname = "ring_doorbell";
     inherit version;
-    sha256 = "1qnx9q9rzxhh0pygl3f9bg21b5zv7csv9h1w4zngdvsphbs0yiwg";
+    sha256 = "sha256-xE3TqXdhiUf9Tzmzc48D65Y5t1ekauacsTwwSG1urz4=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ripser/default.nix b/nixpkgs/pkgs/development/python-modules/ripser/default.nix
index 7bc7df0b8fd5..6c510f577e46 100644
--- a/nixpkgs/pkgs/development/python-modules/ripser/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ripser/default.nix
@@ -12,12 +12,12 @@
 
 buildPythonPackage rec {
   pname = "ripser";
-  version = "0.6.0";
+  version = "0.6.1";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5c47deffbf9e163186b0997f2d59486d96a7c65766e76500f754fadfbc89f5d9";
+    sha256 = "335112a0f94532ccbe686db7826ee8d0714b32f65891abf92c0a02f3cb0fc5fd";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/rising/default.nix b/nixpkgs/pkgs/development/python-modules/rising/default.nix
index 03aed296aa63..b68fedbcfc0f 100644
--- a/nixpkgs/pkgs/development/python-modules/rising/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rising/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "rising";
-  version = "0.2.0post0";
+  version = "0.2.1";
 
   disabled = isPy27;
 
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "PhoenixDL";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0fb9894ppcp18wc2dhhjizj8ja53gbv9wpql4mixxxdz8z2bn33c";
+    sha256 = "15wYWToXRae1cMpHWbJwzAp0THx6ED9ixQgL+n1v9PI=";
   };
 
   propagatedBuildInputs = [ numpy pytorch threadpoolctl tqdm ];
diff --git a/nixpkgs/pkgs/development/python-modules/robotframework/default.nix b/nixpkgs/pkgs/development/python-modules/robotframework/default.nix
index 449af6d08905..749c7815fb17 100644
--- a/nixpkgs/pkgs/development/python-modules/robotframework/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/robotframework/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "robotframework";
-  version = "4.0.3";
+  version = "4.1";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "1wqz7szbq2g3kkm7frwik4jb5m7517306sz8nxx8hxaw4n6y1i5d";
+    sha256 = "09k008252x3l4agl9f8ai4a9mn0dp3m5s81mp1hnsf0hribb0s96";
   };
 
   checkInputs = [ jsonschema ];
diff --git a/nixpkgs/pkgs/development/python-modules/rokuecp/default.nix b/nixpkgs/pkgs/development/python-modules/rokuecp/default.nix
index baf12741b873..9804507423ec 100644
--- a/nixpkgs/pkgs/development/python-modules/rokuecp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rokuecp/default.nix
@@ -11,13 +11,13 @@
 
 buildPythonPackage rec {
   pname = "rokuecp";
-  version = "0.8.1";
+  version = "0.8.2";
 
   src = fetchFromGitHub {
     owner = "ctalkington";
     repo = "python-rokuecp";
     rev = version;
-    sha256 = "02mbmwljcvqj3ksj2irdm8849lcxzwa6fycgjqb0i75cgidxpans";
+    sha256 = "sha256-2FAnshIxaA52EwwwABBQ0sedAsz561YYxXDQo2Vcp1c=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/roonapi/default.nix b/nixpkgs/pkgs/development/python-modules/roonapi/default.nix
index 677483e8823b..ccc5749387b1 100644
--- a/nixpkgs/pkgs/development/python-modules/roonapi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/roonapi/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , ifaddr
 , poetry-core
 , pythonOlder
@@ -12,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "roonapi";
-  version = "0.0.37";
+  version = "0.0.38";
   format = "pyproject";
   disabled = pythonOlder "3.7";
 
@@ -20,7 +19,7 @@ buildPythonPackage rec {
     owner = "pavoni";
     repo = "pyroon";
     rev = version;
-    sha256 = "1hxr473z9h3kb91m3ygina58pfwfyjsv1yb29spxmnbzvk34rzzz";
+    sha256 = "sha256-vXx7MgoGjBPdx7uKUtAVqlXphPJYt5SyuTo2JlKia60=";
   };
 
   nativeBuildInputs = [
@@ -34,15 +33,6 @@ buildPythonPackage rec {
     websocket-client
   ];
 
-  patches = [
-    # Switch to poetry-core, https://github.com/pavoni/pyroon/pull/43
-    (fetchpatch {
-      name = "use-peotry-core.patch";
-      url = "https://github.com/pavoni/pyroon/commit/16f890314683a6c2700fa4da5c937559e2e24bea.patch";
-      sha256 = "047bhimr72rwqqyjy7jkfzacdc2ycy81wbmgnvf7xyhgjw1jyvh5";
-    })
-  ];
-
   # Tests require access to the Roon API
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/python-modules/rq/default.nix b/nixpkgs/pkgs/development/python-modules/rq/default.nix
index e11a48f6a37d..abed10521d92 100644
--- a/nixpkgs/pkgs/development/python-modules/rq/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rq/default.nix
@@ -2,19 +2,21 @@
 
 buildPythonPackage rec {
   pname = "rq";
-  version = "1.8.1";
+  version = "1.9.0";
   disabled = isPy27;
 
   src = fetchFromGitHub {
     owner = "rq";
     repo = "rq";
     rev = "v${version}";
-    sha256 = "1lfv3sb27v5xw3y67lirp877gg9230d28qmykxipvhcqwzqc2dqb";
+    sha256 = "1drw7yqgsk1z9alv4hwj44a3sggmr20msdzdcdaxzdcqgb3qdpk8";
   };
 
   # test require a running redis rerver, which is something we can't do yet
   doCheck = false;
 
+  pythonImportsCheck = [ "rq" ];
+
   propagatedBuildInputs = [ click redis ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/rstcheck/default.nix b/nixpkgs/pkgs/development/python-modules/rstcheck/default.nix
new file mode 100644
index 000000000000..d109a6cce747
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/rstcheck/default.nix
@@ -0,0 +1,23 @@
+{ lib, fetchFromGitHub, buildPythonPackage, docutils }:
+
+buildPythonPackage rec {
+  pname = "rstcheck";
+  version = "v3.3.1";
+
+  src = fetchFromGitHub {
+    owner = "myint";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-4AhENuT+LtUMCi+aaI/rKa2gHti8sKGLdVGjdRithXI=";
+  };
+
+  pythonImportsCheck = [ "rstcheck" ];
+  propagatedBuildInputs = [ docutils ];
+
+  meta = with lib; {
+    description = "Checks syntax of reStructuredText and code blocks nested within it";
+    homepage = "https://github.com/myint/rstcheck";
+    license = licenses.mit;
+    maintainers = with maintainers; [ staccato ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/runway-python/default.nix b/nixpkgs/pkgs/development/python-modules/runway-python/default.nix
index 4e062d9928ec..ffe21701dd2b 100644
--- a/nixpkgs/pkgs/development/python-modules/runway-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/runway-python/default.nix
@@ -21,12 +21,14 @@
 , deepdiff
 , pytestCheckHook
 , pytest-cov
+, pythonOlder
 , websocket-client
 }:
 
 buildPythonPackage rec {
   pname = "runway-python";
   version = "0.6.1";
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "runwayml";
@@ -70,6 +72,8 @@ buildPythonPackage rec {
     "test_file_deserialization_remote"
     "test_file_deserialization_absolute_directory"
     "test_file_deserialization_remote_directory"
+    # Fails with a decoding error at the moment
+    "test_inference_async"
   ] ++ lib.optionals (pythonAtLeast "3.9") [
      # AttributeError: module 'base64' has no attribute 'decodestring
      # https://github.com/runwayml/model-sdk/issues/99
diff --git a/nixpkgs/pkgs/development/python-modules/s3fs/default.nix b/nixpkgs/pkgs/development/python-modules/s3fs/default.nix
index 467fe26d2443..882f9e90e3f2 100644
--- a/nixpkgs/pkgs/development/python-modules/s3fs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/s3fs/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "s3fs";
-  version = "2021.6.0";
+  version = "2021.7.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "53790061e220713918602c1f110e6a84d6e3e22aaba27b8e134cc56a3ab6284c";
+    hash = "sha256-KTKU7I7QhgVhfbRA46UCKaQT3Bbc8yyUj66MvZsCrpY=";
   };
 
   buildInputs = [
@@ -32,8 +32,8 @@ buildPythonPackage rec {
   pythonImportsCheck = [ "s3fs" ];
 
   meta = with lib; {
-    description = "S3FS builds on boto3 to provide a convenient Python filesystem interface for S3";
     homepage = "https://github.com/dask/s3fs/";
+    description = "A Pythonic file interface for S3";
     license = licenses.bsd3;
     maintainers = with maintainers; [ teh ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/sacn/default.nix b/nixpkgs/pkgs/development/python-modules/sacn/default.nix
index e4e14bc93e5b..ff432f6f3a00 100644
--- a/nixpkgs/pkgs/development/python-modules/sacn/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sacn/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "sacn";
-  version = "1.7.0";
+  version = "1.8.1";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "136gw09av7r2y02q7aam4chhivpbwkdskwwavrl5v0zn34y0axwp";
+    sha256 = "cdc9af732f4ca5badbf732499775575c4f815c73f857720c0a61a3fc80257f7a";
   };
 
   # no tests
diff --git a/nixpkgs/pkgs/development/python-modules/sagemaker/default.nix b/nixpkgs/pkgs/development/python-modules/sagemaker/default.nix
index b61d8e969915..2b16b99bea73 100644
--- a/nixpkgs/pkgs/development/python-modules/sagemaker/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sagemaker/default.nix
@@ -16,11 +16,11 @@
 
 buildPythonPackage rec {
   pname = "sagemaker";
-  version = "2.46.0";
+  version = "2.54.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4f66f8c56b870e7a6f9a3882790a4074f2df26a0fe9605bc5d71e186db193525";
+    sha256 = "sha256-uLsBHqzpcuTugRXBihdbib64l396m+os39OhP+tLLCM=";
   };
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/schema-salad/default.nix b/nixpkgs/pkgs/development/python-modules/schema-salad/default.nix
new file mode 100644
index 000000000000..007cca251436
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/schema-salad/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, cachecontrol
+, lockfile
+, mistune
+, rdflib
+, rdflib-jsonld
+, ruamel_yaml
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "schema-salad";
+  version = "8.1.20210716111910";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "3f851b385d044c58d359285ba471298b6199478a4978f892a83b15cbfb282f25";
+  };
+
+  propagatedBuildInputs = [
+    cachecontrol
+    lockfile
+    mistune
+    rdflib
+    rdflib-jsonld
+    ruamel_yaml
+  ];
+
+  checkInputs = [ pytestCheckHook ];
+  disabledTests = [
+    # setup for these tests requires network access
+    "test_secondaryFiles"
+    "test_outputBinding"
+  ];
+  pythonImportsCheck = [ "schema_salad" ];
+
+  meta = with lib; {
+    description = "Semantic Annotations for Linked Avro Data";
+    homepage = "https://github.com/common-workflow-language/schema_salad";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ veprbl ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/scikit-build/default.nix b/nixpkgs/pkgs/development/python-modules/scikit-build/default.nix
index 42f10aedf393..749e07ef840e 100644
--- a/nixpkgs/pkgs/development/python-modules/scikit-build/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/scikit-build/default.nix
@@ -26,11 +26,11 @@
 
 buildPythonPackage rec {
   pname = "scikit-build";
-  version = "0.11.1";
+  version = "0.12.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0p4smkl2rbpl00m5va5qa8hp2hqb3284p2cs6k8zlmi4kgbdyh6s";
+    sha256 = "f851382c469bcd9a8c98b1878bcfdd13b68556279d2fd9a329be41956ae5a7fe";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/scikit-fmm/default.nix b/nixpkgs/pkgs/development/python-modules/scikit-fmm/default.nix
index 08101bd2d00d..742c404a8454 100644
--- a/nixpkgs/pkgs/development/python-modules/scikit-fmm/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/scikit-fmm/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "scikit-fmm";
-  version = "2021.2.2";
+  version = "2021.7.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "809e20016e6341e4de29b6be4befc477b7002cfd5e2a11b80deae16005f35670";
+    sha256 = "f931a2600e7f0824ac51ebde86ee40295146cc1ad5f88fdc208b0a12fcb2ddb3";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/scikit-hep-testdata/default.nix b/nixpkgs/pkgs/development/python-modules/scikit-hep-testdata/default.nix
index 7c3ca7a63874..ae982e4d3755 100644
--- a/nixpkgs/pkgs/development/python-modules/scikit-hep-testdata/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/scikit-hep-testdata/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "scikit-hep-testdata";
-  version = "0.4.4";
+  version = "0.4.7";
   format = "pyproject";
 
   # fetch from github as we want the data files
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "scikit-hep";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1kd1nl62bydb2rk47ymh30l33jbaji3mb9zbvxlvxladrbqnxagp";
+    sha256 = "0bydqgl7pxmj7nb952p08q64d15d8hbvfdnzkbx9wr71mw7cf3vm";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/scikit-survival/default.nix b/nixpkgs/pkgs/development/python-modules/scikit-survival/default.nix
new file mode 100644
index 000000000000..5be6457aa6d4
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/scikit-survival/default.nix
@@ -0,0 +1,70 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, cython
+, ecos
+, joblib
+, numexpr
+, numpy
+, osqp
+, pandas
+, scikit-learn
+, scipy
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "scikit-survival";
+  version = "0.15.0.post0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "572c3ac6818a9d0944fc4b8176eb948051654de857e28419ecc5060bcc6fbf37";
+  };
+
+  nativeBuildInputs = [
+    cython
+  ];
+
+  propagatedBuildInputs = [
+    ecos
+    joblib
+    numexpr
+    numpy
+    osqp
+    pandas
+    scikit-learn
+    scipy
+  ];
+
+  pythonImportsCheck = [ "sksurv" ];
+
+  checkInputs = [ pytestCheckHook ];
+
+  # Hack needed to make pytest + cython work
+  # https://github.com/NixOS/nixpkgs/pull/82410#issuecomment-827186298
+  preCheck = ''
+    export HOME=$(mktemp -d)
+    cp -r $TMP/$sourceRoot/tests $HOME
+    pushd $HOME
+  '';
+  postCheck = "popd";
+
+  # very long tests, unnecessary for a leaf package
+  disabledTests = [
+    "test_coxph"
+    "test_datasets"
+    "test_ensemble_selection"
+    "test_minlip"
+    "test_pandas_inputs"
+    "test_survival_svm"
+    "test_tree"
+  ];
+
+  meta = with lib; {
+    description = "Survival analysis built on top of scikit-learn";
+    homepage = "https://github.com/sebp/scikit-survival";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ GuillaumeDesforges ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/scipy/default.nix b/nixpkgs/pkgs/development/python-modules/scipy/default.nix
index 19fa8e507281..7a9643aa7d24 100644
--- a/nixpkgs/pkgs/development/python-modules/scipy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/scipy/default.nix
@@ -1,4 +1,15 @@
-{lib, fetchPypi, python, buildPythonPackage, gfortran, nose, pytest, pytest-xdist, numpy, pybind11 }:
+{ lib
+, stdenv
+, fetchPypi
+, python
+, buildPythonPackage
+, gfortran
+, nose
+, pytest
+, pytest-xdist
+, numpy
+, pybind11
+}:
 
 buildPythonPackage rec {
   pname = "scipy";
@@ -30,6 +41,17 @@ buildPythonPackage rec {
     ln -s ${numpy.cfg} site.cfg
   '';
 
+
+  # disable stackprotector on aarch64-darwin for now
+  #
+  # build error:
+  #
+  # /private/tmp/nix-build-python3.9-scipy-1.6.3.drv-0/ccDEsw5U.s:109:15: error: index must be an integer in range [-256, 255].
+  #
+  #         ldr     x0, [x0, ___stack_chk_guard];momd
+  #
+  hardeningDisable = lib.optionals (stdenv.isAarch64 && stdenv.isDarwin) [ "stackprotector" ];
+
   checkPhase = ''
     runHook preCheck
     pushd dist
diff --git a/nixpkgs/pkgs/development/python-modules/scramp/default.nix b/nixpkgs/pkgs/development/python-modules/scramp/default.nix
index 68e4b9821b1e..30e728940230 100644
--- a/nixpkgs/pkgs/development/python-modules/scramp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/scramp/default.nix
@@ -2,23 +2,32 @@
 , asn1crypto
 , buildPythonPackage
 , fetchFromGitHub
+, pytest-mock
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "scramp";
-  version = "1.4.0";
+  version = "1.4.1";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "tlocke";
     repo = "scramp";
     rev = version;
-    sha256 = "sha256-aXuRIW/3qBzan8z3EzSSxqaZfa3WnPhlviNa2ugIjik=";
+    sha256 = "sha256-HEt2QxNHX9Oqx+o0++ZtS61SVHra3nLAqv7NbQWVV+E=";
   };
 
-  propagatedBuildInputs = [ asn1crypto ];
+  propagatedBuildInputs = [
+    asn1crypto
+  ];
 
-  checkInputs = [ pytestCheckHook ];
+  checkInputs = [
+    pytest-mock
+    pytestCheckHook
+  ];
 
   pythonImportsCheck = [ "scramp" ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/scrapy/default.nix b/nixpkgs/pkgs/development/python-modules/scrapy/default.nix
index 4ca073106586..e19e502af269 100644
--- a/nixpkgs/pkgs/development/python-modules/scrapy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/scrapy/default.nix
@@ -113,6 +113,10 @@ buildPythonPackage rec {
     "test_custom_loop_asyncio"
     "test_custom_loop_asyncio_deferred_signal"
     "FileFeedStoragePreFeedOptionsTest"  # https://github.com/scrapy/scrapy/issues/5157
+    # Fails with AssertionError
+    "test_peek_fifo"
+    "test_peek_one_element"
+    "test_peek_lifo"
   ] ++ lib.optionals stdenv.isDarwin [
     "test_xmliter_encoding"
     "test_download"
diff --git a/nixpkgs/pkgs/development/python-modules/seaborn/default.nix b/nixpkgs/pkgs/development/python-modules/seaborn/default.nix
index 8c771ea286cb..a57acebb4ad2 100644
--- a/nixpkgs/pkgs/development/python-modules/seaborn/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/seaborn/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "seaborn";
-  version = "0.11.1";
+  version = "0.11.2";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "44e78eaed937c5a87fc7a892c329a7cc091060b67ebd1d0d306b446a74ba01ad";
+    sha256 = "cf45e9286d40826864be0e3c066f98536982baf701a7caa386511792d61ff4f6";
   };
 
   checkInputs = [ nose ];
diff --git a/nixpkgs/pkgs/development/python-modules/sendgrid/default.nix b/nixpkgs/pkgs/development/python-modules/sendgrid/default.nix
index 34ef2355905a..5aabcc2d0f10 100644
--- a/nixpkgs/pkgs/development/python-modules/sendgrid/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sendgrid/default.nix
@@ -11,13 +11,13 @@
 
 buildPythonPackage rec {
   pname = "sendgrid";
-  version = "6.7.1";
+  version = "6.8.1";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = "sendgrid-python";
     rev = version;
-    sha256 = "0g9yifv3p3zbcxbcdyg4p9k3vwvaq0vym40j3yrv534m4qbynwhk";
+    sha256 = "sha256-rK/GouOv5RMDsn5NrCEtIz5a9wO6YATlhsRuhFuHaXY=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/sentry-sdk/default.nix b/nixpkgs/pkgs/development/python-modules/sentry-sdk/default.nix
index 9b3875822527..ff58edbeb313 100644
--- a/nixpkgs/pkgs/development/python-modules/sentry-sdk/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sentry-sdk/default.nix
@@ -29,11 +29,11 @@
 
 buildPythonPackage rec {
   pname = "sentry-sdk";
-  version = "1.3.0";
+  version = "1.3.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-UhCnEt1X2I0iXB/D/jo2Jv7kk2N7zVTiBIJs8EuNdpw=";
+    sha256 = "0v72zzghlk6kvjg7fg4c4mfr1kasnwlpjzk1wyqd864nz9293sgb";
   };
 
   checkInputs = [ blinker botocore chalice django flask tornado bottle rq falcon sqlalchemy werkzeug trytond
diff --git a/nixpkgs/pkgs/development/python-modules/setuptools/44.0.nix b/nixpkgs/pkgs/development/python-modules/setuptools/44.0.nix
index 7c7d6b01e408..40265dc639b9 100644
--- a/nixpkgs/pkgs/development/python-modules/setuptools/44.0.nix
+++ b/nixpkgs/pkgs/development/python-modules/setuptools/44.0.nix
@@ -61,7 +61,7 @@ in buildPythonPackage rec {
     (setuptoolsBuildHook.override{setuptools=null; wheel=null;})
   ];
 
-  preBuild = lib.strings.optionalString (!stdenv.hostPlatform.isWindows) ''
+  preBuild = lib.optionalString (!stdenv.hostPlatform.isWindows) ''
     export SETUPTOOLS_INSTALL_WINDOWS_SPECIFIC_FILES=0
   '';
 
diff --git a/nixpkgs/pkgs/development/python-modules/setuptools/default.nix b/nixpkgs/pkgs/development/python-modules/setuptools/default.nix
index 0e144c5b0090..62e7fb686c4a 100644
--- a/nixpkgs/pkgs/development/python-modules/setuptools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/setuptools/default.nix
@@ -14,12 +14,7 @@
 
 let
   pname = "setuptools";
-  version = "54.2.0";
-
-  bootstrap = fetchurl {
-    url = "https://raw.githubusercontent.com/pypa/setuptools/v52.0.0/bootstrap.py";
-    sha256 = "sha256-HzhlnJvMskBfb3kVnYltdnjS63wt1GWd0RK+VQqrJQ8=";
-  };
+  version = "57.2.0";
 
   # Create an sdist of setuptools
   sdist = stdenv.mkDerivation rec {
@@ -29,7 +24,7 @@ let
       owner = "pypa";
       repo = pname;
       rev = "v${version}";
-      sha256 = "sha256-ZHJZiwlWLHP4vf2TLwj/DYB9wjbRp0apVmmjsKCLPq0=";
+      sha256 = "sha256-zFmndVoATNxfvDsacY+gj5bzIbbd/8ldbsJj4qOawTA=";
       name = "${pname}-${version}-source";
     };
 
@@ -38,8 +33,7 @@ let
     ];
 
     buildPhase = ''
-      cp ${bootstrap} bootstrap.py
-      ${python.pythonForBuild.interpreter} bootstrap.py
+      ${python.pythonForBuild.interpreter} setup.py egg_info
       ${python.pythonForBuild.interpreter} setup.py sdist --formats=gztar
 
       # Here we untar the sdist and retar it in order to control the timestamps
@@ -68,7 +62,7 @@ in buildPythonPackage rec {
     (setuptoolsBuildHook.override{setuptools=null; wheel=null;})
   ];
 
-  preBuild = lib.strings.optionalString (!stdenv.hostPlatform.isWindows) ''
+  preBuild = lib.optionalString (!stdenv.hostPlatform.isWindows) ''
     export SETUPTOOLS_INSTALL_WINDOWS_SPECIFIC_FILES=0
   '';
 
diff --git a/nixpkgs/pkgs/development/python-modules/shellescape/default.nix b/nixpkgs/pkgs/development/python-modules/shellescape/default.nix
new file mode 100644
index 000000000000..2d7309d88215
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/shellescape/default.nix
@@ -0,0 +1,27 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "shellescape";
+  version = "3.8.1";
+
+  src = fetchFromGitHub {
+    owner = "chrissimpkins";
+    repo = "shellescape";
+    rev = "v${version}";
+    hash = "sha256-HAe3Qf3lLeVWw/tVkW0J+CfoxSoOnCcWDR2nEWZn7HM=";
+  };
+
+  checkInputs = [ pytestCheckHook ];
+  pythonImportsCheck = [ "shellescape" ];
+
+  meta = with lib; {
+    description = "Shell escape a string to safely use it as a token in a shell command (backport of Python shlex.quote)";
+    homepage = "https://github.com/chrissimpkins/shellescape";
+    license = with licenses; [ mit psfl ];
+    maintainers = with maintainers; [ veprbl ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/simplejson/default.nix b/nixpkgs/pkgs/development/python-modules/simplejson/default.nix
index dd27c02dc874..0d4d45cce5d6 100644
--- a/nixpkgs/pkgs/development/python-modules/simplejson/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/simplejson/default.nix
@@ -7,17 +7,20 @@
 
 buildPythonPackage rec {
   pname = "simplejson";
-  version = "3.17.2";
-  doCheck = !stdenv.isDarwin;
+  version = "3.17.3";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-2ZC7aKyUUcth43Ce0j6JdjrJ4gb4QfJDlY2M5TLMQ+o=";
+    sha256 = "sha256-Ev1vKyxexPvTT+esf9ngUcHu70Brl27P3qbS5fK2HxU=";
   };
 
-  checkInputs = [ pytestCheckHook ];
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  doCheck = !stdenv.isDarwin;
 
   pythonImportsCheck = [ "simplejson" ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/simplisafe-python/default.nix b/nixpkgs/pkgs/development/python-modules/simplisafe-python/default.nix
index 7bcd6340acfc..d79b741d278e 100644
--- a/nixpkgs/pkgs/development/python-modules/simplisafe-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/simplisafe-python/default.nix
@@ -1,20 +1,22 @@
 { lib
 , aiohttp
-, aresponses
+, aioresponses
 , asynctest
+, backoff
 , buildPythonPackage
 , fetchFromGitHub
 , poetry-core
-, pytest-asyncio
+, pytest-aiohttp
 , pytestCheckHook
 , pythonOlder
 , pytz
+, types-pytz
 , voluptuous
 }:
 
 buildPythonPackage rec {
   pname = "simplisafe-python";
-  version = "11.0.1";
+  version = "11.0.5";
   format = "pyproject";
   disabled = pythonOlder "3.7";
 
@@ -22,24 +24,32 @@ buildPythonPackage rec {
     owner = "bachya";
     repo = pname;
     rev = version;
-    sha256 = "04fn65iwzgvxi44kgvgvxjr3nzi2f4hwlqrjxfvc5yda96qp347c";
+    sha256 = "sha256-QLxp7WrYXJDGVG/MZ+GpvzYZ8gyLwconqikgs581voI=";
   };
 
   nativeBuildInputs = [ poetry-core ];
 
   propagatedBuildInputs = [
     aiohttp
+    backoff
     pytz
+    types-pytz
     voluptuous
   ];
 
   checkInputs = [
-    aresponses
+    aioresponses
     asynctest
-    pytest-asyncio
+    pytest-aiohttp
     pytestCheckHook
   ];
 
+  disabledTests = [
+    # simplipy/api.py:253: InvalidCredentialsError
+    "test_request_error_failed_retry"
+    "test_update_error"
+  ];
+
   disabledTestPaths = [ "examples/" ];
 
   pythonImportsCheck = [ "simplipy" ];
diff --git a/nixpkgs/pkgs/development/python-modules/slack-sdk/default.nix b/nixpkgs/pkgs/development/python-modules/slack-sdk/default.nix
index a52d3144aadf..6183ee7b0cba 100644
--- a/nixpkgs/pkgs/development/python-modules/slack-sdk/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/slack-sdk/default.nix
@@ -8,7 +8,8 @@
 , fetchFromGitHub
 , flake8
 , flask-sockets
-, isPy3k
+, moto
+, pythonOlder
 , psutil
 , pytest-asyncio
 , pytestCheckHook
@@ -19,14 +20,14 @@
 
 buildPythonPackage rec {
   pname = "slack-sdk";
-  version = "3.8.0";
-  disabled = !isPy3k;
+  version = "3.10.0";
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "slackapi";
     repo = "python-slack-sdk";
     rev = "v${version}";
-    sha256 = "sha256-r3GgcU4K2jj+4aIytpY2HiVqHzChynn2BCn1VNTL2t0=";
+    sha256 = "sha256-FOpUO9bXrEOgYGmRmAhHnovzBafu6D2ZSLcgw0+0uzs=";
   };
 
   propagatedBuildInputs = [
@@ -43,6 +44,7 @@ buildPythonPackage rec {
     databases
     flake8
     flask-sockets
+    moto
     psutil
     pytest-asyncio
     pytestCheckHook
diff --git a/nixpkgs/pkgs/development/python-modules/slither-analyzer/default.nix b/nixpkgs/pkgs/development/python-modules/slither-analyzer/default.nix
index a4f907a1aaed..a49c2a8b743b 100644
--- a/nixpkgs/pkgs/development/python-modules/slither-analyzer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/slither-analyzer/default.nix
@@ -14,12 +14,12 @@
 
 buildPythonPackage rec {
   pname = "slither-analyzer";
-  version = "0.8.0";
+  version = "0.8.1";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0b8a2e2145daefd9443ffa43639608203532e78a858af99c4c52c2b128ca681f";
+    sha256 = "sha256-5JgF53ip72bne8AlGf126FIIvXi+u7rovJmMSCcZjEQ=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/smart-meter-texas/default.nix b/nixpkgs/pkgs/development/python-modules/smart-meter-texas/default.nix
index abdcd7317bc5..f8bd6825673c 100644
--- a/nixpkgs/pkgs/development/python-modules/smart-meter-texas/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/smart-meter-texas/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "smart-meter-texas";
-  version = "0.4.3";
+  version = "0.4.4";
 
   disabled = pythonOlder "3.6";
 
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "grahamwetzler";
     repo = "smart-meter-texas";
     rev = "v${version}";
-    sha256 = "09n03wbyjh1b1gsiibf17fg86x7k1i1r1kpp94p7w1lcdbmn8v5c";
+    sha256 = "sha256-jewibcsqWnl0OQ2oEEOSOcyyDCIGZiG4EZQfuFUbxK4=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/smart-open/default.nix b/nixpkgs/pkgs/development/python-modules/smart-open/default.nix
index d4ad901fb9b7..5e86281642af 100644
--- a/nixpkgs/pkgs/development/python-modules/smart-open/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/smart-open/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "smart-open";
-  version = "5.1.0";
+  version = "5.2.0";
 
   disabled = pythonOlder "3.5";
 
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "RaRe-Technologies";
     repo = "smart_open";
     rev = "v${version}";
-    sha256 = "0gv3vxpglnhh6d80wsqigxi7psn6s7ylz20kx5ahblcx5rqyhjmi";
+    sha256 = "sha256-eC9BYHeACzGp382QBNgLcNMYDkHi0WXyEj/Re9ShXuA=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/smbprotocol/default.nix b/nixpkgs/pkgs/development/python-modules/smbprotocol/default.nix
index 517acd6f9cca..93f158508eb6 100644
--- a/nixpkgs/pkgs/development/python-modules/smbprotocol/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/smbprotocol/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , buildPythonPackage
 , cryptography
 , fetchFromGitHub
@@ -11,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "smbprotocol";
-  version = "1.5.1";
+  version = "1.6.2";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "jborean93";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1ym0fvljbwgl1h7f63m3psbsvqm64fipsrrmbqb97hrhfdzxqxpa";
+    sha256 = "sha256-nSWZfhZD++I5hM2ijqft2U95kyEe3h/nrSfiT3sQiKE=";
   };
 
   propagatedBuildInputs = [
@@ -32,6 +33,16 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  disabledTests = lib.optionals stdenv.isDarwin [
+    # https://github.com/jborean93/smbprotocol/issues/119
+    "test_copymode_local_to_local_symlink_dont_follow"
+    "test_copystat_local_to_local_symlink_dont_follow_fail"
+
+    # fail in sandbox due to networking
+    "test_small_recv"
+    "test_recv_"
+  ];
+
   pythonImportsCheck = [ "smbprotocol" ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/snowflake-connector-python/default.nix b/nixpkgs/pkgs/development/python-modules/snowflake-connector-python/default.nix
index 0007b4380b4a..0b0c961e7d09 100644
--- a/nixpkgs/pkgs/development/python-modules/snowflake-connector-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/snowflake-connector-python/default.nix
@@ -10,7 +10,6 @@
 , future
 , idna
 , ijson
-, isPy3k
 , oscrypto
 , pyarrow
 , pyasn1-modules
@@ -25,12 +24,12 @@
 
 buildPythonPackage rec {
   pname = "snowflake-connector-python";
-  version = "2.4.5";
+  version = "2.5.1";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f5bd11228e192b4754587869ebd85752327ecb945fcc19c2ed1f66958443ad08";
+    sha256 = "8af2a51ac890d9e0ffe0cd509ba83198076e2564fb8fdc63c6814b773e70b33a";
   };
 
   propagatedBuildInputs = [
@@ -54,14 +53,6 @@ buildPythonPackage rec {
     urllib3
   ];
 
-  postPatch = ''
-    # https://github.com/snowflakedb/snowflake-connector-python/issues/705
-    substituteInPlace setup.py \
-      --replace "idna>=2.5,<3" "idna" \
-      --replace "certifi<2021.0.0" "certifi" \
-      --replace "chardet>=3.0.2,<4" "chardet"
-  '';
-
   # Tests require encrypted secrets, see
   # https://github.com/snowflakedb/snowflake-connector-python/tree/master/.github/workflows/parameters
   doCheck = false;
@@ -75,5 +66,6 @@ buildPythonPackage rec {
     description = "Snowflake Connector for Python";
     homepage = "https://www.snowflake.com/";
     license = licenses.asl20;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/snowflake-sqlalchemy/default.nix b/nixpkgs/pkgs/development/python-modules/snowflake-sqlalchemy/default.nix
index 9ec17443dd81..fd3385e858c5 100644
--- a/nixpkgs/pkgs/development/python-modules/snowflake-sqlalchemy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/snowflake-sqlalchemy/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "snowflake-sqlalchemy";
-  version = "1.2.4";
+  version = "1.3.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e79d83d4947a0945488699324802eda4ad4a63c7680ad5b2a42c71f4faa2cd8b";
+    sha256 = "f7c220db11c1abf3df67177fbcf0ea58d33d8531963f2d5df5f09fdac09b912f";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/soco/default.nix b/nixpkgs/pkgs/development/python-modules/soco/default.nix
index af2226741301..2360cc81e39a 100644
--- a/nixpkgs/pkgs/development/python-modules/soco/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/soco/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "soco";
-  version = "0.23.1";
+  version = "0.23.3";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "SoCo";
     repo = "SoCo";
     rev = "v${version}";
-    sha256 = "15q82fq10d162xanypn1k51y15r38l7sj0417jzbjx40zz6c93f7";
+    sha256 = "sha256-T6gDImH/HfHg8e1YzUYB8zr2GJHRtF6vdYm2cSiXSb0=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/softlayer/default.nix b/nixpkgs/pkgs/development/python-modules/softlayer/default.nix
index 78ecb3face30..ef0bb8a07170 100644
--- a/nixpkgs/pkgs/development/python-modules/softlayer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/softlayer/default.nix
@@ -1,43 +1,55 @@
 { lib
 , buildPythonPackage
+, click
 , fetchFromGitHub
-, isPy27
+, mock
+, prompt-toolkit
 , ptable
-, click
-, requests
-, prompt_toolkit
 , pygments
-, urllib3
-, pytest
-, pytest-cov
-, mock
+, pytestCheckHook
+, pythonOlder
+, requests
 , sphinx
 , testtools
+, tkinter
+, urllib3
 }:
 
 buildPythonPackage rec {
-  pname = "softlayer-python";
-  version = "5.8.4";
-  disabled = isPy27;
-
-  propagatedBuildInputs = [ ptable click requests prompt_toolkit pygments urllib3 ];
-
-  checkInputs = [ pytest pytest-cov mock sphinx testtools ptable click requests prompt_toolkit pygments urllib3 ];
-
-  checkPhase = ''
-    pytest
-  '';
+  pname = "softlayer";
+  version = "5.9.7";
+  disabled = pythonOlder "3.5";
 
   src = fetchFromGitHub {
-    owner = "softlayer";
-    repo = pname;
+    owner = pname;
+    repo = "softlayer-python";
     rev = "v${version}";
-    sha256 = "10kzi7kvvifr21a46q2xqsibs0bx5ys22nfym0bg605ka37vcz88";
+    sha256 = "0zwhykrpckx3ln4w6vlgp0nrkkr8343ni1w43hxznm55qmrllrpg";
   };
 
+  propagatedBuildInputs = [
+    click
+    prompt-toolkit
+    ptable
+    pygments
+    requests
+    urllib3
+  ];
+
+  checkInputs = [
+    mock
+    pytestCheckHook
+    sphinx
+    testtools
+    tkinter
+  ];
+
+  pythonImportsCheck = [ "SoftLayer" ];
+
   meta = with lib; {
-    description = "A set of Python libraries that assist in calling the SoftLayer API.";
+    description = "Python libraries that assist in calling the SoftLayer API";
     homepage = "https://github.com/softlayer/softlayer-python";
     license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/solax/default.nix b/nixpkgs/pkgs/development/python-modules/solax/default.nix
index a5ca45627164..09e09d941823 100644
--- a/nixpkgs/pkgs/development/python-modules/solax/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/solax/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "solax";
-  version = "0.2.6";
+  version = "0.2.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-3WhJBBnIl6C0AdEsmSX3ZEVDThzCBguS4UUri80ifGg=";
+    sha256 = "sha256-bOpDrbRbdsb4XgEksAQG4GE26XSTwGAECq9Fh//zoYc=";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/nixpkgs/pkgs/development/python-modules/solc-select/default.nix b/nixpkgs/pkgs/development/python-modules/solc-select/default.nix
new file mode 100644
index 000000000000..e51f1cd143f1
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/solc-select/default.nix
@@ -0,0 +1,25 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "solc-select";
+  version = "0.2.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-6VawTcffIgnR+zuC4rti+Ocwu1VMTX+VihT/L7LzchI=";
+  };
+
+  # no tests
+  doCheck = false;
+  pythonImportsCheck = [ "solc_select" ];
+
+  meta = with lib; {
+    description = "Manage and switch between Solidity compiler versions";
+    homepage = "https://github.com/crytic/solc-select";
+    license = licenses.agpl3Plus;
+    maintainers = with maintainers; [ arturcygan ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/somajo/default.nix b/nixpkgs/pkgs/development/python-modules/somajo/default.nix
index 1f639d4f2b17..6027df2be521 100644
--- a/nixpkgs/pkgs/development/python-modules/somajo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/somajo/default.nix
@@ -2,14 +2,14 @@
 
 buildPythonPackage rec {
   pname = "SoMaJo";
-  version = "2.1.3";
+  version = "2.1.5";
   disabled = !isPy3k;
 
   src = fetchFromGitHub {
     owner = "tsproisl";
     repo = pname;
     rev = "v${version}";
-    sha256 = "07jkkg5ph5m47xf8w5asy5930qcpy6p11j0admll2y6yjynd2b47";
+    sha256 = "17v1vmbjwpxwql25vlbm7xsair7945ljmyaricxx8fd6fxvgn9rr";
   };
 
   propagatedBuildInputs = [ regex ];
diff --git a/nixpkgs/pkgs/development/python-modules/sopel/default.nix b/nixpkgs/pkgs/development/python-modules/sopel/default.nix
index f74fa560adc4..d4052d8b12c8 100644
--- a/nixpkgs/pkgs/development/python-modules/sopel/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sopel/default.nix
@@ -13,12 +13,12 @@
 
 buildPythonPackage rec {
   pname = "sopel";
-  version = "7.1.0";
+  version = "7.1.3";
   disabled = isPyPy;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "74057d4c86cff744b1f1062f3a9c4ae99eb4f1b17048ceb083293d5f4c7e989b";
+    sha256 = "0f9e673a7eac9dd3619c2e398e58fa2d8117afca5adb550ba07c66e16a90dbdb";
   };
 
   propagatedBuildInputs = [
@@ -36,7 +36,8 @@ buildPythonPackage rec {
   # remove once https://github.com/sopel-irc/sopel/pull/1653 lands
   postPatch = ''
     substituteInPlace requirements.txt \
-      --replace "praw>=4.0.0,<6.0.0" "praw"
+      --replace "praw>=4.0.0,<6.0.0" "praw" \
+      --replace "sqlalchemy<1.4" "sqlalchemy"
   '';
 
   checkInputs = [ pytestCheckHook ];
diff --git a/nixpkgs/pkgs/development/python-modules/sounddevice/default.nix b/nixpkgs/pkgs/development/python-modules/sounddevice/default.nix
index 7787e8b16b85..3cb0e4b66318 100644
--- a/nixpkgs/pkgs/development/python-modules/sounddevice/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sounddevice/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "sounddevice";
-  version = "0.4.1";
+  version = "0.4.2";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f21978921186c0c7183af032fab77b735d824f3e926d76adb3fd0912e289ce0b";
+    sha256 = "1c9b07cff59c837d258002ed806ee134ed367ef11042bd7d283d6ce407bf889c";
   };
 
   propagatedBuildInputs = [ cffi numpy portaudio ];
@@ -23,6 +23,8 @@ buildPythonPackage rec {
   # No tests included nor upstream available.
   doCheck = false;
 
+  pythonImportsCheck = [ "sounddevice" ];
+
   patches = [
     (substituteAll {
       src = ./fix-portaudio-library-path.patch;
diff --git a/nixpkgs/pkgs/development/python-modules/spacy/models.nix b/nixpkgs/pkgs/development/python-modules/spacy/models.nix
index c34bbdfb83d8..0e0f1f19640f 100644
--- a/nixpkgs/pkgs/development/python-modules/spacy/models.nix
+++ b/nixpkgs/pkgs/development/python-modules/spacy/models.nix
@@ -25,7 +25,7 @@ let
       ++ lib.optionals (lang == "ru") [ pymorphy2 ]
       ++ lib.optionals (pname == "fr_dep_news_trf") [ sentencepiece ];
 
-    postPatch = lib.optionals (pname == "fr_dep_news_trf") ''
+    postPatch = lib.optionalString (pname == "fr_dep_news_trf") ''
       substituteInPlace meta.json \
         --replace "sentencepiece==0.1.91" "sentencepiece>=0.1.91"
     '';
diff --git a/nixpkgs/pkgs/development/python-modules/sparse/default.nix b/nixpkgs/pkgs/development/python-modules/sparse/default.nix
index d958fd2ed703..c081ab5e3a1e 100644
--- a/nixpkgs/pkgs/development/python-modules/sparse/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sparse/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "sparse";
-  version = "0.12.0";
+  version = "0.13.0";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2c95c3b8ee00211a5aa4ef5e46006d25bf35009a66e406b7ea9b25b327fb9516";
+    sha256 = "685dc994aa770ee1b23f2d5392819c8429f27958771f8dceb2c4fb80210d5915";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/spectral-cube/default.nix b/nixpkgs/pkgs/development/python-modules/spectral-cube/default.nix
index 329b225b5769..5a022f467087 100644
--- a/nixpkgs/pkgs/development/python-modules/spectral-cube/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/spectral-cube/default.nix
@@ -6,6 +6,8 @@
 , joblib
 , astropy
 , radio_beam
+, six
+, dask
 , pytestCheckHook
 , pytest-astropy
 , astropy-helpers
@@ -31,7 +33,7 @@ buildPythonPackage rec {
   ];
 
   nativeBuildInputs = [ astropy-helpers ];
-  propagatedBuildInputs = [ astropy radio_beam joblib ];
+  propagatedBuildInputs = [ astropy radio_beam joblib six dask ];
   checkInputs = [ pytestCheckHook aplpy pytest-astropy ];
 
   meta = {
diff --git a/nixpkgs/pkgs/development/python-modules/sphinx-inline-tabs/default.nix b/nixpkgs/pkgs/development/python-modules/sphinx-inline-tabs/default.nix
new file mode 100644
index 000000000000..25e0aa6d6ce1
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/sphinx-inline-tabs/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, sphinx
+}:
+
+buildPythonPackage rec {
+  pname = "sphinx-inline-tabs";
+  version = "2021.04.11.beta9";
+  format = "flit";
+
+  src = fetchFromGitHub {
+    owner = "pradyunsg";
+    repo = "sphinx-inline-tabs";
+    rev = version;
+    sha256 = "sha256-UYrLQAXPProjpGPQNkju6+DmzjPG+jbjdKveoeViVTY=";
+  };
+
+  propagatedBuildInputs = [
+    sphinx
+  ];
+
+  # no tests, see https://github.com/pradyunsg/sphinx-inline-tabs/issues/6
+  doCheck = false;
+
+  pythonImportsCheck = [ "sphinx_inline_tabs" ];
+
+  meta = with lib; {
+    description = "Add inline tabbed content to your Sphinx documentation";
+    homepage = "https://github.com/pradyunsg/sphinx-inline-tabs";
+    license = licenses.mit;
+    maintainers = with maintainers; [ Luflosi ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/sphinxcontrib_plantuml/default.nix b/nixpkgs/pkgs/development/python-modules/sphinxcontrib-plantuml/default.nix
index 473a625ae63e..490b2d25a229 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinxcontrib_plantuml/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sphinxcontrib-plantuml/default.nix
@@ -22,7 +22,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Provides a Sphinx domain for embedding UML diagram with PlantUML";
     homepage = "https://github.com/sphinx-contrib/plantuml/";
+    maintainers = with maintainers; [ ];
     license = with licenses; [ bsd2 ];
   };
-
 }
diff --git a/nixpkgs/pkgs/development/python-modules/sphinxext-opengraph/default.nix b/nixpkgs/pkgs/development/python-modules/sphinxext-opengraph/default.nix
new file mode 100644
index 000000000000..08a87a2f7c02
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/sphinxext-opengraph/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, sphinx
+}:
+
+buildPythonPackage rec {
+  pname = "sphinxext-opengraph";
+  version = "0.4.2";
+
+  src = fetchFromGitHub {
+    owner = "wpilibsuite";
+    repo = "sphinxext-opengraph";
+    rev = "v${version}";
+    sha256 = "sha256-978aPtaqUDHcswDdFynzi+IjDYaBmCZDZk+dmDkhajY=";
+  };
+
+  propagatedBuildInputs = [
+    sphinx
+  ];
+
+  doCheck = false; # no tests
+
+  pythonImportsCheck = [ "sphinxext.opengraph" ];
+
+  meta = with lib; {
+    description = "Sphinx extension to generate unique OpenGraph metadata";
+    homepage = "https://github.com/wpilibsuite/sphinxext-opengraph";
+    license = licenses.mit;
+    maintainers = with maintainers; [ Luflosi ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/spotipy/default.nix b/nixpkgs/pkgs/development/python-modules/spotipy/default.nix
index 4493eb3d9755..c6a488e4a285 100644
--- a/nixpkgs/pkgs/development/python-modules/spotipy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/spotipy/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "spotipy";
-  version = "2.18.0";
+  version = "2.19.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-9yk7gIaWgH6azsa9z/Y/fcw8wbFIwMS0KZ70PJZvcXc=";
+    sha256 = "sha256-kE9ugT26g3dY6VEMG+5R18ohfxaSRmJaE+aTcz3DNUM=";
   };
 
   propagatedBuildInputs = [ requests six ];
diff --git a/nixpkgs/pkgs/development/python-modules/sqlalchemy/default.nix b/nixpkgs/pkgs/development/python-modules/sqlalchemy/default.nix
index 3aaff20a9eaa..37e89abf8da9 100644
--- a/nixpkgs/pkgs/development/python-modules/sqlalchemy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sqlalchemy/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "SQLAlchemy";
-  version = "1.4.20";
+  version = "1.4.22";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1l5miq1nzvg51yqw3pnaq17dgibhgx2m0il2ha79gwpyd8k3mviq";
+    sha256 = "sha256-7BvibNzNYNGANZpSfVmA2VmiYmmix7GzJ6HuoMqzftg=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/sqlmap/default.nix b/nixpkgs/pkgs/development/python-modules/sqlmap/default.nix
index 762df0ab7e3a..310db13d1e47 100644
--- a/nixpkgs/pkgs/development/python-modules/sqlmap/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sqlmap/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "sqlmap";
-  version = "1.5.7";
+  version = "1.5.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-HTayAlXehm3Azmbi+ar/Vav5bPYmGu9gflzZCwWZihw=";
+    sha256 = "1714780f8835854c6f949f854fca936c3064b9a7e0da96989bb637a6ba5c119b";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/staticjinja/default.nix b/nixpkgs/pkgs/development/python-modules/staticjinja/default.nix
index dc36066ec304..bce5316187e7 100644
--- a/nixpkgs/pkgs/development/python-modules/staticjinja/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/staticjinja/default.nix
@@ -1,37 +1,41 @@
 { lib
 , fetchFromGitHub
 , buildPythonPackage
-, poetry
-, docopt
+, poetry-core
+, docopt-ng
 , easywatch
 , jinja2
 , pytestCheckHook
 , pytest-check
+, pythonOlder
 , markdown
 , testVersion
+, tomlkit
 , staticjinja
 }:
 
 buildPythonPackage rec {
   pname = "staticjinja";
-  version = "3.0.1";
+  version = "4.1.0";
   format = "pyproject";
 
+  disabled = pythonOlder "3.6";
+
   # No tests in pypi
   src = fetchFromGitHub {
     owner = "staticjinja";
     repo = pname;
     rev = version;
-    sha256 = "sha256-W4q0vG8Kl2gCmA8UnUbdiGRtghhdnWxIJXFIIa6BogA=";
+    sha256 = "sha256-4IL+7ncJPd1e7k5oFRjQ6yvDjozcBAAZPf88biNTiLU=";
   };
 
   nativeBuildInputs = [
-    poetry
+    poetry-core
   ];
 
   propagatedBuildInputs = [
     jinja2
-    docopt
+    docopt-ng
     easywatch
   ];
 
@@ -39,6 +43,7 @@ buildPythonPackage rec {
     pytestCheckHook
     pytest-check
     markdown
+    tomlkit
   ];
 
   # The tests need to find and call the installed staticjinja executable
diff --git a/nixpkgs/pkgs/development/python-modules/stevedore/default.nix b/nixpkgs/pkgs/development/python-modules/stevedore/default.nix
index cf1a50c49bef..b8a42db27fd7 100644
--- a/nixpkgs/pkgs/development/python-modules/stevedore/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/stevedore/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "stevedore";
-  version = "3.3.0";
+  version = "3.4.0";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3a5bbd0652bf552748871eaa73a4a8dc2899786bc497a2aa1fcb4dcdb0debeee";
+    sha256 = "18aaxj4nrki0bjgzmqxqy20m7763q1xmwishy6biicapgzdqxdar";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/stravalib/default.nix b/nixpkgs/pkgs/development/python-modules/stravalib/default.nix
index 1615f57d5e59..a06a375be0e5 100644
--- a/nixpkgs/pkgs/development/python-modules/stravalib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/stravalib/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "stravalib";
-  version = "0.10.2";
+  version = "0.10.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "76db248b24cbd6c51cf93b475d8a8df04ec4b6c6287dca244e47f37a433276d7";
+    sha256 = "451817c68a11e0c77db9cb628e3c4df0f4806c5a481536598ab3baa1d1c21215";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/streaming-form-data/default.nix b/nixpkgs/pkgs/development/python-modules/streaming-form-data/default.nix
new file mode 100644
index 000000000000..2f52d4aeb308
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/streaming-form-data/default.nix
@@ -0,0 +1,34 @@
+{ lib, fetchFromGitHub, buildPythonPackage, pythonOlder,
+cython, numpy, pytest, requests-toolbelt }:
+
+buildPythonPackage rec {
+  pname = "streaming-form-data";
+  version = "1.8.1";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "siddhantgoel";
+    repo = "streaming-form-data";
+    rev = "v${version}";
+    sha256 = "1wnak8gwkc42ihgf0g9r7r858hxbqav2xdgqa8azid8v2ff6iq4d";
+  };
+
+  nativeBuildInputs = [ cython ];
+
+  propagatedBuildInputs = [ requests-toolbelt ];
+
+  checkInputs = [ numpy pytest ];
+
+  checkPhase = ''
+    make test
+  '';
+
+  pythonImportsCheck = [ "streaming_form_data" ];
+
+  meta = with lib; {
+    description = "Streaming parser for multipart/form-data";
+    homepage = "https://github.com/siddhantgoel/streaming-form-data";
+    license = licenses.mit;
+    maintainers = with maintainers; [ zhaofengli ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/strictyaml/default.nix b/nixpkgs/pkgs/development/python-modules/strictyaml/default.nix
index 30028a9599cf..cbd08934115c 100644
--- a/nixpkgs/pkgs/development/python-modules/strictyaml/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/strictyaml/default.nix
@@ -7,13 +7,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.4.2";
+  version = "1.4.4";
   pname = "strictyaml";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-3bTk6AfdUQybx/xQ/I0Tae1pbtXMktSUtedSuoJ2paI=";
+    sha256 = "044ae3bec56f31e18dff8cfa62a2c9c028f4c7fe4c0f761e50761184d3b68eef";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/stripe/default.nix b/nixpkgs/pkgs/development/python-modules/stripe/default.nix
index 7aa955e99e25..e02da9a07ca5 100644
--- a/nixpkgs/pkgs/development/python-modules/stripe/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/stripe/default.nix
@@ -1,25 +1,25 @@
-{ lib, buildPythonPackage, fetchPypi, requests, pytest, pytest-cov, pytest-mock, pytest-xdist }:
+{ lib, buildPythonPackage, fetchPypi, requests }:
 
 buildPythonPackage rec {
   pname = "stripe";
-  version = "2.58.0";
-
-  # Tests require network connectivity and there's no easy way to disable
-  # them. ~ C.
-  doCheck = false;
+  version = "2.60.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "34829b528e652ffc919d40eff2ba78021149818bab76e33c07801382921cf6d5";
+    sha256 = "8966b7793014380f60c6f121ba333d6f333a55818edaf79c8d70464ce0a7a808";
   };
 
   propagatedBuildInputs = [ requests ];
 
-  checkInputs = [ pytest pytest-cov pytest-mock pytest-xdist ];
+  # Tests require network connectivity and there's no easy way to disable them
+  doCheck = false;
+
+  pythonImportsCheck = [ "stripe" ];
 
   meta = with lib; {
     description = "Stripe Python bindings";
     homepage = "https://github.com/stripe/stripe-python";
     license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/stumpy/default.nix b/nixpkgs/pkgs/development/python-modules/stumpy/default.nix
index 3be5ffad1c8d..a72ca40c21a1 100644
--- a/nixpkgs/pkgs/development/python-modules/stumpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/stumpy/default.nix
@@ -16,13 +16,13 @@
 
 buildPythonPackage rec {
   pname = "stumpy";
-  version = "1.8.0";
+  version = "1.9.2";
 
   src = fetchFromGitHub {
     owner = "TDAmeritrade";
     repo = "stumpy";
     rev = "v${version}";
-    sha256 = "0s7pamn39ymm1lp9z28isbdrd6ix98y9i4lfdk3ii95wvd3y50my";
+    sha256 = "0x5kac8fqsi3fkfwjdn0d7anslprxaz6cizky9cyj0rpbp0b0yc3";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/subarulink/default.nix b/nixpkgs/pkgs/development/python-modules/subarulink/default.nix
index 56dbc588c780..6abaa02d703b 100644
--- a/nixpkgs/pkgs/development/python-modules/subarulink/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/subarulink/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "subarulink";
-  version = "0.3.14";
+  version = "0.3.15";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "G-Two";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0xwiw50xc0k8r00k33crsl5wb01n2dz5rzhy96y7vr3zj4kfypsp";
+    sha256 = "sha256-akDccWkiFwTwq7dvUxm34BFNS5PnQowqnxVvkPFzxLM=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/subprocess-tee/default.nix b/nixpkgs/pkgs/development/python-modules/subprocess-tee/default.nix
new file mode 100644
index 000000000000..e2e9ad081eaa
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/subprocess-tee/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, setuptools-scm
+, pytestCheckHook
+, enrich
+}:
+
+buildPythonPackage rec {
+  pname = "subprocess-tee";
+  version = "0.3.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "01b0z8mcm568v9carhi0py1hs34wrbnlzyvdmhqzipql407kdpk2";
+  };
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    enrich
+  ];
+
+  pythonImportsCheck = [
+    "subprocess_tee"
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/pycontribs/subprocess-tee";
+    description = "A subprocess.run drop-in replacement that supports a tee mode";
+    license = licenses.mit;
+    maintainers = with maintainers; [ putchar ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/subunit/default.nix b/nixpkgs/pkgs/development/python-modules/subunit/default.nix
index f46226891877..c59626fc85c3 100644
--- a/nixpkgs/pkgs/development/python-modules/subunit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/subunit/default.nix
@@ -27,7 +27,7 @@ buildPythonPackage {
       --ignore=python/subunit/tests/test_{output_filter,test_protocol{,2}}.py
   '';
 
-  patchPhase = ''
+  postPatch = ''
     sed -i 's/version=VERSION/version="${subunit.version}"/' setup.py
   '';
 }
diff --git a/nixpkgs/pkgs/development/python-modules/sunpy/default.nix b/nixpkgs/pkgs/development/python-modules/sunpy/default.nix
index 0079b44cfd35..9b834fe5c5ba 100644
--- a/nixpkgs/pkgs/development/python-modules/sunpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sunpy/default.nix
@@ -17,9 +17,9 @@
 , numpy
 , pandas
 , parfive
+, pytestCheckHook
 , pytest-astropy
 , pytest-mock
-, pytest-cov
 , python-dateutil
 , scikitimage
 , scipy
@@ -67,23 +67,32 @@ buildPythonPackage rec {
 
   checkInputs = [
     hypothesis
+    pytestCheckHook
     pytest-astropy
-    pytest-cov
     pytest-mock
   ];
 
   # darwin has write permission issues
   doCheck = stdenv.isLinux;
 
-  # ignore documentation tests and ignore tests with schema issues
-  checkPhase = ''
-    PY_IGNORE_IMPORTMISMATCH=1 HOME=$(mktemp -d) pytest sunpy -k 'not rst' \
-    --deselect=sunpy/tests/tests/test_self_test.py::test_main_nonexisting_module \
-    --deselect=sunpy/tests/tests/test_self_test.py::test_main_stdlib_module \
-    --ignore=sunpy/io/special/asdf/schemas/sunpy.org/sunpy/coordinates/frames/heliocentric-1.0.0.yaml \
-    --ignore=sunpy/io/special/asdf/schemas/sunpy.org/sunpy/coordinates/frames/helioprojective-1.0.0.yaml
+  preCheck = ''
+    export HOME=$(mktemp -d)
   '';
 
+  disabledTests = [
+    "rst"
+  ];
+
+  disabledTestPaths = [
+    "sunpy/io/special/asdf/schemas/sunpy.org/sunpy/coordinates/frames/helioprojective-1.0.0.yaml"
+    "sunpy/io/special/asdf/schemas/sunpy.org/sunpy/coordinates/frames/heliocentric-1.0.0.yaml"
+  ];
+
+  pytestFlagsArray = [
+    "--deselect=sunpy/tests/tests/test_self_test.py::test_main_nonexisting_module"
+    "--deselect=sunpy/tests/tests/test_self_test.py::test_main_stdlib_module"
+  ];
+
   meta = with lib; {
     description = "SunPy: Python for Solar Physics";
     homepage = "https://sunpy.org";
diff --git a/nixpkgs/pkgs/development/python-modules/surepy/default.nix b/nixpkgs/pkgs/development/python-modules/surepy/default.nix
index e983dfc0e7fd..ed408d2b418e 100644
--- a/nixpkgs/pkgs/development/python-modules/surepy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/surepy/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "surepy";
-  version = "0.7.0";
+  version = "0.7.1";
   format = "pyproject";
   disabled = pythonOlder "3.8";
 
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "benleb";
     repo = pname;
     rev = "v${version}";
-    sha256 = "04ywkbgs1lnnlhxakbr96crwc8hl97px8w7yigps2ki69md0xf60";
+    sha256 = "sha256-h2PEzS3R7NXIUWYOiTpe5ZEU1RopaRj1phudmvcklug=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/synergy/default.nix b/nixpkgs/pkgs/development/python-modules/synergy/default.nix
new file mode 100644
index 000000000000..53af1552ac30
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/synergy/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+, numpy
+, scipy
+, matplotlib
+, plotly
+, pandas
+}:
+
+buildPythonPackage rec {
+  pname = "synergy";
+  version = "0.5.1";
+  disabled = pythonOlder "3.5";
+
+  # Pypi does not contain unit tests
+  src = fetchFromGitHub {
+    owner = "djwooten";
+    repo = "synergy";
+    rev = "v${version}";
+    sha256 = "1c60dpvr72g4wjqg6bc601kssl5z55v9bg09xbyh9ahch58bi212";
+  };
+
+  propagatedBuildInputs = [
+    numpy
+    scipy
+    matplotlib
+    plotly
+    pandas
+  ];
+
+  checkInputs = [ pytestCheckHook ];
+  pythonImportsCheck = [ "synergy" ];
+
+  meta = with lib; {
+    description = "A Python library for calculating, analyzing, and visualizing drug combination synergy";
+    homepage = "https://github.com/djwooten/synergy";
+    maintainers = [ maintainers.ivar ];
+    license = licenses.gpl3Plus;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/systembridge/default.nix b/nixpkgs/pkgs/development/python-modules/systembridge/default.nix
index 2c7328c50d6f..ec35b41182cf 100644
--- a/nixpkgs/pkgs/development/python-modules/systembridge/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/systembridge/default.nix
@@ -1,19 +1,19 @@
 { lib
 , aiohttp
-, websockets
 , buildPythonPackage
 , fetchFromGitHub
+, websockets
 }:
 
 buildPythonPackage rec {
   pname = "systembridge";
-  version = "1.2.4";
+  version = "2.1.0";
 
   src = fetchFromGitHub {
     owner = "timmo001";
     repo = "system-bridge-connector-py";
     rev = "v${version}";
-    sha256 = "sha256-dZOtvJXBXMKC+VOyQRMyaWAXg8lHjLcM2Zz9P0/ILT8=";
+    sha256 = "sha256-P148xEcvPZMizUyRlVeMfX6rGVNf0Efw2Ekvm5SEvKQ=";
   };
 
   propagatedBuildInputs = [
@@ -23,6 +23,7 @@ buildPythonPackage rec {
 
   # Project has no tests
   doCheck = false;
+
   pythonImportsCheck = [ "systembridge" ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/telethon/default.nix b/nixpkgs/pkgs/development/python-modules/telethon/default.nix
index 041b102ce348..c4479ca63201 100644
--- a/nixpkgs/pkgs/development/python-modules/telethon/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/telethon/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "telethon";
-  version = "1.21.1";
+  version = "1.23.0";
 
   src = fetchPypi {
     inherit version;
     pname = "Telethon";
-    sha256 = "sha256-mTyDfvdFrd+XKifXv7oM5Riihj0aUOBzclW3ZNI+DvI=";
+    sha256 = "sha256-unVRzkR+lUqtZ/PuukurdXTMoHosb0HlvmmQTm4OwxM=";
   };
 
   patchPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/tenacity/default.nix b/nixpkgs/pkgs/development/python-modules/tenacity/default.nix
index 4591677cdf9e..8de4c87b6fdc 100644
--- a/nixpkgs/pkgs/development/python-modules/tenacity/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tenacity/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "tenacity";
-  version = "7.0.0";
+  version = "8.0.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5bd16ef5d3b985647fe28dfa6f695d343aa26479a04e8792b9d3c8f49e361ae1";
+    sha256 = "43242a20e3e73291a28bcbcacfd6e000b02d3857a9a9fff56b297a27afdc932f";
   };
 
   nativeBuildInputs = [ pbr setuptools-scm ];
diff --git a/nixpkgs/pkgs/development/python-modules/tensorboard-data-server/default.nix b/nixpkgs/pkgs/development/python-modules/tensorboard-data-server/default.nix
new file mode 100644
index 000000000000..74f53d7c6763
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/tensorboard-data-server/default.nix
@@ -0,0 +1,25 @@
+{ lib, buildPythonPackage, fetchPypi, pythonOlder }:
+
+buildPythonPackage rec {
+  pname = "tensorboard-data-server";
+  version = "0.6.1";
+  format = "wheel";
+  disabled = pythonOlder "3.6";
+
+  src = fetchPypi {
+    pname = "tensorboard_data_server";
+    inherit version format;
+    dist = "py3";
+    python = "py3";
+    sha256 = "sha256-gJ/piHaC01wffR9U8PQPmLsfdxsUJltFPKBR4s5Y/Kc=";
+  };
+
+  pythonImportsCheck = [ "tensorboard_data_server" ];
+
+  meta = with lib; {
+    description = "Fast data loading for TensorBoard";
+    homepage = "https://github.com/tensorflow/tensorboard/tree/master/tensorboard/data/server";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ abbradar ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/tensorboardx/default.nix b/nixpkgs/pkgs/development/python-modules/tensorboardx/default.nix
index 6d04506cf8cc..603d2a1cc2b2 100644
--- a/nixpkgs/pkgs/development/python-modules/tensorboardx/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tensorboardx/default.nix
@@ -18,13 +18,13 @@
 
 buildPythonPackage rec {
   pname = "tensorboardx";
-  version = "2.2";
+  version = "2.4";
 
   src = fetchFromGitHub {
     owner = "lanpa";
     repo = "tensorboardX";
     rev = "v${version}";
-    sha256 = "0wjlh5fhamrrff3rm8j5ws9ncblwjgwf3nanxgr1bkn7asgynhys";
+    sha256 = "1kcw062bcqvqva5kag9j7q72wk3vdqgf5cnn0lxmsvhlmq5sjdfn";
   };
 
   # apparently torch API changed a bit at 1.6
diff --git a/nixpkgs/pkgs/development/python-modules/tensorflow-tensorboard/default.nix b/nixpkgs/pkgs/development/python-modules/tensorflow-tensorboard/default.nix
index 031254205066..123c339fea48 100644
--- a/nixpkgs/pkgs/development/python-modules/tensorflow-tensorboard/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tensorflow-tensorboard/default.nix
@@ -1,4 +1,7 @@
-{ lib, fetchPypi, buildPythonPackage, isPy3k
+{ lib
+, fetchPypi
+, buildPythonPackage
+, pythonOlder
 , numpy
 , wheel
 , werkzeug
@@ -7,6 +10,8 @@
 , markdown
 , absl-py
 , google-auth-oauthlib
+, setuptools
+, tensorboard-data-server
 , tensorboard-plugin-wit
 , tensorboard-plugin-profile
 }:
@@ -17,27 +22,44 @@
 
 buildPythonPackage rec {
   pname = "tensorflow-tensorboard";
-  version = "2.4.0";
+  version = "2.6.0";
   format = "wheel";
-  disabled = !isPy3k;
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     pname = "tensorboard";
     inherit version format;
+    dist = "py3";
     python = "py3";
-    sha256 = "0f17h6i398n8maam0r3rssqvdqnqbwjyf96nnhf482anm1iwdq6d";
+    sha256 = "sha256-99rEzftS0UyeP3RYXOKq+OYgNiCoZOUfr4SYiwn3u9s=";
   };
 
+  postPatch = ''
+    chmod u+rwx -R ./dist
+    pushd dist
+    wheel unpack --dest unpacked ./*.whl
+    pushd unpacked/tensorboard-${version}
+
+    substituteInPlace tensorboard-${version}.dist-info/METADATA \
+      --replace "google-auth (<2,>=1.6.3)" "google-auth (<3,>=1.6.3)"
+
+    popd
+    wheel pack ./unpacked/tensorboard-${version}
+    popd
+  '';
+
   propagatedBuildInputs = [
-    numpy
-    werkzeug
-    protobuf
-    markdown
-    grpcio
     absl-py
+    grpcio
     google-auth-oauthlib
+    markdown
+    numpy
+    protobuf
+    setuptools
+    tensorboard-data-server
     tensorboard-plugin-profile
     tensorboard-plugin-wit
+    werkzeug
     # not declared in install_requires, but used at runtime
     # https://github.com/NixOS/nixpkgs/issues/73840
     wheel
@@ -60,7 +82,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "TensorFlow's Visualization Toolkit";
-    homepage = "http://tensorflow.org";
+    homepage = "https://www.tensorflow.org/";
     license = licenses.asl20;
     maintainers = with maintainers; [ abbradar ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/tensorflow/default.nix b/nixpkgs/pkgs/development/python-modules/tensorflow/default.nix
index bbdecc8bdcdf..c077265bf632 100644
--- a/nixpkgs/pkgs/development/python-modules/tensorflow/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tensorflow/default.nix
@@ -1,5 +1,5 @@
 { stdenv, bazel_3, buildBazelPackage, isPy3k, lib, fetchFromGitHub, symlinkJoin
-, addOpenGLRunpath
+, addOpenGLRunpath, fetchpatch
 # Python deps
 , buildPythonPackage, pythonOlder, pythonAtLeast, python
 # Python libraries
@@ -72,7 +72,7 @@ let
 
   tfFeature = x: if x then "1" else "0";
 
-  version = "2.4.1";
+  version = "2.4.2";
   variant = if cudaSupport then "-gpu" else "";
   pname = "tensorflow${variant}";
 
@@ -110,10 +110,16 @@ let
       owner = "tensorflow";
       repo = "tensorflow";
       rev = "v${version}";
-      sha256 = "sha256-J62QfP45g5nxN9Nqa1tAGyc4vD2JKh50ddHLrd6/qsY=";
+      sha256 = "07a2y05hixch1bjag5pzw3p1m7bdj3bq4gdvmsfk2xraz49b1pi8";
     };
 
     patches = [
+      # included from 2.6.0 onwards
+      (fetchpatch {
+        name = "fix-numpy-1.20-notimplementederror.patch";
+        url = "https://github.com/tensorflow/tensorflow/commit/b258941525f496763d4277045b6513c815720e3a.patch";
+        sha256 = "19f9bzrcfsynk11s2hqvscin5c65zf7r6g3nb10jnimw79vafiry";
+      })
       # Relax too strict Python packages versions dependencies.
       ./relax-dependencies.patch
       # Add missing `io_bazel_rules_docker` dependency.
diff --git a/nixpkgs/pkgs/development/python-modules/testfixtures/default.nix b/nixpkgs/pkgs/development/python-modules/testfixtures/default.nix
index cd08fe58dcab..c330b5e18b89 100644
--- a/nixpkgs/pkgs/development/python-modules/testfixtures/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/testfixtures/default.nix
@@ -1,25 +1,44 @@
-{ lib, buildPythonPackage, fetchPypi, fetchpatch, isPy27
-, mock, pytest, sybil, zope_component, twisted }:
+{ lib
+, buildPythonPackage
+, fetchpatch
+, fetchPypi
+, isPy27
+, mock
+, pytestCheckHook
+, sybil
+, twisted
+, zope_component
+}:
 
 buildPythonPackage rec {
   pname = "testfixtures";
-  version = "6.17.1";
+  version = "6.18.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5ec3a0dd6f71cc4c304fbc024a10cc293d3e0b852c868014b9f233203e149bda";
+    sha256 = "sha256-CmQic39tibRc3vHi31V29SrQ9QeVYALOECDaqfRCEdY=";
   };
 
-  checkInputs = [ pytest mock sybil zope_component twisted ];
+  checkInputs = [
+    pytestCheckHook
+    mock
+    sybil
+    zope_component
+    twisted
+  ];
 
   doCheck = !isPy27;
-  checkPhase = ''
-    # django is too much hasle to setup at the moment
-    pytest -W ignore::DeprecationWarning \
-      --ignore=testfixtures/tests/test_django \
-      -k 'not (log_then_patch or our_wrap_dealing_with_mock_patch or patch_with_dict)' \
-      testfixtures/tests
-  '';
+
+  disabledTestPaths = [
+    # Django is too much hasle to setup at the moment
+    "testfixtures/tests/test_django"
+  ];
+
+  pytestFlagsArray = [
+    "testfixtures/tests"
+  ];
+
+  pythonImportsCheck = [ "testfixtures" ];
 
   meta = with lib; {
     homepage = "https://github.com/Simplistix/testfixtures";
diff --git a/nixpkgs/pkgs/development/python-modules/threadpoolctl/default.nix b/nixpkgs/pkgs/development/python-modules/threadpoolctl/default.nix
index 20fad7c18a0a..7ba82aaec296 100644
--- a/nixpkgs/pkgs/development/python-modules/threadpoolctl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/threadpoolctl/default.nix
@@ -4,14 +4,13 @@
 , fetchFromGitHub
 , flit
 , pytestCheckHook
-, pytest-cov
 , numpy
 , scipy
 }:
 
 buildPythonPackage rec {
   pname = "threadpoolctl";
-  version = "2.1.0";
+  version = "2.2.0";
 
   disabled = isPy27;
   format = "flit";
@@ -20,10 +19,10 @@ buildPythonPackage rec {
     owner = "joblib";
     repo = pname;
     rev = version;
-    sha256 = "0sl6mp3b2gb0dvqkhnkmrp2g3r5c7clyyyxzq44xih6sw1pgx9df";
+    sha256 = "7UUjbX1IpXtUAgN48Db43Zr1u360UETSUnIHD6rQRLs=";
   };
 
-  checkInputs = [ pytestCheckHook pytest-cov numpy scipy ];
+  checkInputs = [ pytestCheckHook numpy scipy ];
 
   meta = with lib; {
     homepage = "https://github.com/joblib/threadpoolctl";
diff --git a/nixpkgs/pkgs/development/python-modules/tika/default.nix b/nixpkgs/pkgs/development/python-modules/tika/default.nix
new file mode 100644
index 000000000000..375560ad9817
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/tika/default.nix
@@ -0,0 +1,29 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pyyaml
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "tika";
+  version = "1.24";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "wsUPQFYi90UxhBEE+ehcF1Ea7eEd6OU4XqsaKaMfGRs=";
+  };
+
+  propagatedBuildInputs = [ pyyaml requests ];
+
+  # Requires network
+  doCheck = false;
+  pythonImportsCheck = [ pname ];
+
+  meta = with lib; {
+    description = "A Python binding to the Apache Tika™ REST services";
+    homepage = "https://github.com/chrismattmann/tika-python";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ Flakebi ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/time-machine/default.nix b/nixpkgs/pkgs/development/python-modules/time-machine/default.nix
new file mode 100644
index 000000000000..9eabd929ae9e
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/time-machine/default.nix
@@ -0,0 +1,50 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonAtLeast
+, pythonOlder
+, backports-zoneinfo
+, python-dateutil
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "time-machine";
+  version = "2.4.0";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "adamchainz";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-1k8mGkgJw0MfydJ/Sm8qDvFNaIqoHR1fZkVrXxvc8Zk=";
+  };
+
+  propagatedBuildInputs = [
+    python-dateutil
+  #] ++ lib.optionals (pythonOlder "3.9") [
+    backports-zoneinfo
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  disabledTests = lib.optionals (pythonAtLeast "3.9") [
+    # Assertion Errors related to Africa/Addis_Ababa
+    "test_destination_datetime_tzinfo_zoneinfo"
+    "test_destination_datetime_tzinfo_zoneinfo_nested"
+    "test_move_to_datetime_with_tzinfo_zoneinfo"
+  ];
+
+  pythonImportsCheck = [
+    "time_machine"
+  ];
+
+  meta = with lib; {
+    description = "Travel through time in your tests";
+    homepage = "https://github.com/adamchainz/time-machine";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/tinydb/default.nix b/nixpkgs/pkgs/development/python-modules/tinydb/default.nix
index ccbe26317027..118317781281 100644
--- a/nixpkgs/pkgs/development/python-modules/tinydb/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tinydb/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "tinydb";
-  version = "4.5.0";
+  version = "4.5.1";
   disabled = pythonOlder "3.5";
   format = "pyproject";
 
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "msiemens";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-rJVJfsPhGTQpE6p0kzN6GDR0r9M71ADa67Oi5jLgeWY=";
+    sha256 = "1p0whrljjh7cpigr1glszssxsi6adi4cj7y3976q8sj9z47bdx8a";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/titlecase/default.nix b/nixpkgs/pkgs/development/python-modules/titlecase/default.nix
index 7a250c680e3c..48fbf84e93a9 100644
--- a/nixpkgs/pkgs/development/python-modules/titlecase/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/titlecase/default.nix
@@ -1,21 +1,25 @@
-{ buildPythonPackage, lib, nose, fetchPypi, regex }:
+{ buildPythonPackage, lib, fetchPypi, regex }:
 
 buildPythonPackage rec {
   pname = "titlecase";
-  version = "2.2.0";
+  version = "2.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5d97ee51da37fb57c8753b79efa8edfdf3f10c0060de926efee970081e28d52f";
+    sha256 = "9a1595ed9b88f3ce4362a7602ee63cf074e10ac80d1256b32ea1ec5ffa265fa0";
   };
 
   propagatedBuildInputs = [ regex ];
 
-  checkInputs = [ nose ];
+  # no tests run
+  doCheck = false;
 
-  meta = {
+  pythonImportsCheck = [ "titlecase" ];
+
+  meta = with lib; {
     homepage = "https://github.com/ppannuto/python-titlecase";
     description = "Python Port of John Gruber's titlecase.pl";
-    license = lib.licenses.mit;
+    license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/tldextract/default.nix b/nixpkgs/pkgs/development/python-modules/tldextract/default.nix
index d5b257abedf5..d39b4fa82c81 100644
--- a/nixpkgs/pkgs/development/python-modules/tldextract/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tldextract/default.nix
@@ -14,12 +14,12 @@
 
 buildPythonPackage rec {
   pname   = "tldextract";
-  version = "3.1.0";
+  version = "3.1.2";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cfae9bc8bda37c3e8c7c8639711ad20e95dc85b207a256b60b0b23d7ff5540ea";
+    sha256 = "sha256-0gNMNVhlH32P2t6oP7aBBQstZi3GegDZUDJtyQIClEQ=";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/nixpkgs/pkgs/development/python-modules/todoist/default.nix b/nixpkgs/pkgs/development/python-modules/todoist/default.nix
index 23c68007cd3f..397d21a83854 100644
--- a/nixpkgs/pkgs/development/python-modules/todoist/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/todoist/default.nix
@@ -17,6 +17,6 @@ buildPythonPackage rec {
     description = "The official Todoist Python API library";
     homepage = "https://todoist-python.readthedocs.io/en/latest/";
     license = licenses.mit;
-    maintainers = with maintainers; [ ma27 ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/tokenizers/default.nix b/nixpkgs/pkgs/development/python-modules/tokenizers/default.nix
index 544dbf1beafc..7813797a2f31 100644
--- a/nixpkgs/pkgs/development/python-modules/tokenizers/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tokenizers/default.nix
@@ -49,19 +49,19 @@ let
   };
 in buildPythonPackage rec {
   pname = "tokenizers";
-  version = "0.10.3";
+  version = "unstable-2021-08-13";
 
   src = fetchFromGitHub {
     owner = "huggingface";
     repo = pname;
-    rev = "python-v${version}";
-    hash = "sha256-X7aUiJJjB2ZDlE8LbK7Pn/15SLTZbP8kb4l9ED7/xvU=";
+    rev = "e7dd6436dd4a4ffd9e8a4f110ca68e6a38677cb6";
+    sha256 = "1p7w9a43a9h6ys5nsa4g89l65dj11037p7a1lqkj4x1yc9kv2y1r";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src sourceRoot;
     name = "${pname}-${version}";
-    hash = "sha256-gRqxlL6q87sGC0birDhCmGF+CVbfxwOxW6Tl6+5mGoo=";
+    sha256 = "1yb4jsx6mp9jgd1g3mli6vr6mri2afnwqlmxq1rpvn34z6b3iw9q";
   };
 
   sourceRoot = "source/bindings/python";
@@ -97,6 +97,10 @@ in buildPythonPackage rec {
       ln -s ${openaiMerges} openai-gpt-merges.txt )
   '';
 
+  postPatch = ''
+    echo 'import multiprocessing; multiprocessing.set_start_method("fork")' >> tests/__init__.py
+  '';
+
   preCheck = ''
     HOME=$TMPDIR
   '';
diff --git a/nixpkgs/pkgs/development/python-modules/tomli/default.nix b/nixpkgs/pkgs/development/python-modules/tomli/default.nix
index 4204be03b94e..c658339dcd9c 100644
--- a/nixpkgs/pkgs/development/python-modules/tomli/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tomli/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "tomli";
-  version = "1.0.4";
+  version = "1.1.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "hukkin";
     repo = pname;
     rev = version;
-    sha256 = "sha256-ld0PsYnxVH3RbLG/NpvLDj9UhAe+QgwCQVXgGgqh8kE=";
+    sha256 = "1cj6iil9sii1zl0l4pw7h4alcnhwdbxinpph2f0rm5rghrp6prjm";
   };
 
   nativeBuildInputs = [ flit-core ];
diff --git a/nixpkgs/pkgs/development/python-modules/torchvision/default.nix b/nixpkgs/pkgs/development/python-modules/torchvision/default.nix
index a42c517ede96..fc9905881cb6 100644
--- a/nixpkgs/pkgs/development/python-modules/torchvision/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/torchvision/default.nix
@@ -1,4 +1,5 @@
 { lib
+, symlinkJoin
 , buildPythonPackage
 , fetchFromGitHub
 , ninja
@@ -10,9 +11,18 @@
 , pillow
 , pytorch
 , pytest
+, cudatoolkit
+, cudnn
+, cudaSupport ? pytorch.cudaSupport or false # by default uses the value from pytorch
 }:
 
-buildPythonPackage rec {
+let
+  cudatoolkit_joined = symlinkJoin {
+    name = "${cudatoolkit.name}-unsplit";
+    paths = [ cudatoolkit.out cudatoolkit.lib ];
+  };
+  cudaArchStr = lib.optionalString cudaSupport lib.strings.concatStringsSep ";" pytorch.cudaArchList;
+in buildPythonPackage rec {
   pname = "torchvision";
   version = "0.10.0";
 
@@ -23,15 +33,22 @@ buildPythonPackage rec {
     sha256 = "13j04ij0jmi58nhav1p69xrm8dg7jisg23268i3n6lnms37n02kc";
   };
 
-  nativeBuildInputs = [ libpng ninja which ];
+  nativeBuildInputs = [ libpng ninja which ]
+    ++ lib.optionals cudaSupport [ cudatoolkit_joined ];
 
   TORCHVISION_INCLUDE = "${libjpeg_turbo.dev}/include/";
   TORCHVISION_LIBRARY = "${libjpeg_turbo}/lib/";
 
-  buildInputs = [ libjpeg_turbo libpng ];
+  buildInputs = [ libjpeg_turbo libpng ]
+    ++ lib.optionals cudaSupport [ cudnn ];
 
   propagatedBuildInputs = [ numpy pillow pytorch scipy ];
 
+  preBuild = lib.optionalString cudaSupport ''
+    export TORCH_CUDA_ARCH_LIST="${cudaArchStr}"
+    export FORCE_CUDA=1
+  '';
+
   # tries to download many datasets for tests
   doCheck = false;
 
@@ -45,6 +62,7 @@ buildPythonPackage rec {
     description = "PyTorch vision library";
     homepage = "https://pytorch.org/";
     license = licenses.bsd3;
+    platforms = with platforms; linux ++ lib.optionals (!cudaSupport) darwin;
     maintainers = with maintainers; [ ericsagnes ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/torrequest/default.nix b/nixpkgs/pkgs/development/python-modules/torrequest/default.nix
new file mode 100644
index 000000000000..4c994f81023a
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/torrequest/default.nix
@@ -0,0 +1,29 @@
+{ lib, buildPythonPackage, fetchPypi, requests, pysocks, stem }:
+
+buildPythonPackage rec {
+  pname = "torrequest";
+  version = "0.1.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-N0XU6j/9qY16A0Njx4ets3qrd72rQAlKTZNzks1NroI=";
+  };
+
+  propagatedBuildInputs = [
+    pysocks requests stem
+  ];
+
+  # This package does not contain any tests.
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "torrequest"
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/erdiaker/torrequest";
+    description = "Simple Python interface for HTTP(s) requests over Tor";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ applePrincess ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/total-connect-client/default.nix b/nixpkgs/pkgs/development/python-modules/total-connect-client/default.nix
index 1347ecab3e24..93d401bf9a6d 100644
--- a/nixpkgs/pkgs/development/python-modules/total-connect-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/total-connect-client/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "total-connect-client";
-  version = "0.58";
+  version = "2021.7.1";
 
   src = fetchFromGitHub {
     owner = "craigjmidwinter";
     repo = "total-connect-client";
     rev = version;
-    sha256 = "1dqmgvgvwjh235wghygan2jnfvmn9vz789in2as3asig9cifix9z";
+    sha256 = "sha256-F7qVvQVU6OlVU98zmFSQ1SLVCAx+lhz+cFS//d0SHUQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/trackpy/default.nix b/nixpkgs/pkgs/development/python-modules/trackpy/default.nix
index 2c2df4878e39..27321b4c4297 100644
--- a/nixpkgs/pkgs/development/python-modules/trackpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/trackpy/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , buildPythonPackage
 , fetchFromGitHub
 , numpy
@@ -7,7 +8,8 @@
 , pandas
 , pyyaml
 , matplotlib
-, pytest
+, numba
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
@@ -28,25 +30,18 @@ buildPythonPackage rec {
     pandas
     pyyaml
     matplotlib
+    numba
   ];
 
   checkInputs = [
-    pytest
+    pytestCheckHook
   ];
 
-  checkPhase = ''
-    ${lib.optionalString (stdenv.isDarwin) ''
+  preCheck = lib.optionalString stdenv.isDarwin ''
     # specifically needed for darwin
     export HOME=$(mktemp -d)
     mkdir -p $HOME/.matplotlib
     echo "backend: ps" > $HOME/.matplotlib/matplotlibrc
-    ''}
-
-    pytest trackpy --ignore trackpy/tests/test_motion.py \
-                   --ignore trackpy/tests/test_feature_saving.py \
-                   --ignore trackpy/tests/test_feature.py \
-                   --ignore trackpy/tests/test_plots.py \
-                   --ignore trackpy/tests/test_legacy_linking.py
   '';
 
   meta = with lib; {
@@ -54,6 +49,5 @@ buildPythonPackage rec {
     homepage = "https://github.com/soft-matter/trackpy";
     license = licenses.bsd3;
     maintainers = [ maintainers.costrouc ];
-    broken = true; # not compatible with latest pandas
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/transitions/default.nix b/nixpkgs/pkgs/development/python-modules/transitions/default.nix
index 752cd8fb4d55..94d937b88f29 100644
--- a/nixpkgs/pkgs/development/python-modules/transitions/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/transitions/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "transitions";
-  version = "0.8.8";
+  version = "0.8.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-56hrMaFhp2Ez8Ymzrp2tJ1WoDqTB4O7hgFZI0CH7Z30=";
+    sha256 = "fc2ec6d6b6f986cd7e28e119eeb9ba1c9cc51ab4fbbdb7f2dedad01983fd2de0";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/translatepy/default.nix b/nixpkgs/pkgs/development/python-modules/translatepy/default.nix
new file mode 100644
index 000000000000..8428f0b06e4c
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/translatepy/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, requests
+, beautifulsoup4
+, pyuseragents
+, inquirer
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "translatepy";
+  version = "2.0";
+
+  src = fetchFromGitHub {
+    owner = "Animenosekai";
+    repo = "translate";
+    rev = "v${version}";
+    sha256 = "Rt6FvB4kZVaB/jxxqOHsnkReTFCCyiEaZf240n0zVZs=";
+  };
+
+  propagatedBuildInputs = [
+    requests
+    beautifulsoup4
+    pyuseragents
+    inquirer
+  ];
+
+  checkInputs = [ pytestCheckHook ];
+  disabledTestPaths = [
+    # Requires network connection
+    "tests/test_translators.py"
+  ];
+  pythonImportsCheck = [ "translatepy" ];
+
+  meta = with lib; {
+    description = "A module grouping multiple translation APIs";
+    homepage = "https://github.com/Animenosekai/translate";
+    license = with licenses; [ agpl3Only ];
+    maintainers = with maintainers; [ angustrau ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/transmission-rpc/default.nix b/nixpkgs/pkgs/development/python-modules/transmission-rpc/default.nix
index 50e112583f1e..7f6ef31d318e 100644
--- a/nixpkgs/pkgs/development/python-modules/transmission-rpc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/transmission-rpc/default.nix
@@ -5,15 +5,17 @@
 , typing-extensions
 , requests
 , yarl
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "transmission-rpc";
-  version = "3.2.5";
+  version = "3.2.7";
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "59598c9aa338703951686420fea292d9ba2d83d2a81361f16b64c2603c4ebb45";
+    sha256 = "36c022fddb45084c0d9f63db34abf79b66a0f2bab6484f4ac32eb2744a06fa15";
   };
 
   propagatedBuildInputs = [
@@ -25,11 +27,12 @@ buildPythonPackage rec {
 
   # no tests
   doCheck = false;
+
   pythonImportsCheck = [ "transmission_rpc" ];
 
   meta = with lib; {
     description = "Python module that implements the Transmission bittorent client RPC protocol";
-    homepage = "https://pypi.python.org/project/transmission-rpc/";
+    homepage = "https://github.com/Trim21/transmission-rpc";
     license = licenses.mit;
     maintainers = with maintainers; [ eyjhb ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/trezor/default.nix b/nixpkgs/pkgs/development/python-modules/trezor/default.nix
index 546989ef349d..3015e8d7ebb9 100644
--- a/nixpkgs/pkgs/development/python-modules/trezor/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/trezor/default.nix
@@ -24,20 +24,15 @@
 
 buildPythonPackage rec {
   pname = "trezor";
-  version = "0.12.2";
+  version = "0.12.3";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0r0j0y0ii62ppawc8qqjyaq0fkmmb0zk1xb3f9navxp556w2dljv";
+    sha256 = "02c39c333435b8f6dc62cc79bb5bf35fc7f0eb144a1a748be3b7c065ee3e85ae";
   };
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace 'click>=7,<8' 'click>=7,<9'
-  '';
-
   nativeBuildInputs = [ installShellFiles ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/trimesh/default.nix b/nixpkgs/pkgs/development/python-modules/trimesh/default.nix
index e9b80d79794a..12179e6a60a7 100644
--- a/nixpkgs/pkgs/development/python-modules/trimesh/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/trimesh/default.nix
@@ -1,12 +1,16 @@
-{ lib, buildPythonPackage, fetchPypi, numpy }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, numpy
+}:
 
 buildPythonPackage rec {
   pname = "trimesh";
-  version = "3.9.20";
+  version = "3.9.29";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "476173507224bd07febc94070d30e5d704f541b48cd2db4c3bc2fe562498e22c";
+    sha256 = "sha256-YEddrun9rLcWk2u3Tfus8W014bU4BKWXWOOhCW/jSlY=";
   };
 
   propagatedBuildInputs = [ numpy ];
@@ -15,8 +19,10 @@ buildPythonPackage rec {
   # optional dependencies
   doCheck = false;
 
+  pythonImportsCheck = [ "trimesh" ];
+
   meta = with lib; {
-    description = "Python library for loading and using triangular meshes.";
+    description = "Python library for loading and using triangular meshes";
     homepage = "https://trimsh.org/";
     license = licenses.mit;
     maintainers = with maintainers; [ gebner ];
diff --git a/nixpkgs/pkgs/development/python-modules/ttp/default.nix b/nixpkgs/pkgs/development/python-modules/ttp/default.nix
index 6a557a1eff53..38faa10a9282 100644
--- a/nixpkgs/pkgs/development/python-modules/ttp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ttp/default.nix
@@ -19,14 +19,14 @@ let
 in
 buildPythonPackage rec {
   pname = "ttp";
-  version = "0.7.1";
+  version = "0.7.2";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "dmulyalin";
     repo = pname;
     rev = version;
-    sha256 = "1fmg5gz297bpr550s4vfq6vs7j042bp1mrdmqz1b7nz29c2khbz6";
+    sha256 = "sha256-dYjE+EMfCVHLRAqT1KM7o8VEopJ/TwAEMphYXuj38Wk=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/tubes/default.nix b/nixpkgs/pkgs/development/python-modules/tubes/default.nix
new file mode 100644
index 000000000000..0dbfe2206570
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/tubes/default.nix
@@ -0,0 +1,29 @@
+{ lib, buildPythonPackage, fetchPypi, python
+, characteristic, six, twisted
+}:
+
+buildPythonPackage rec {
+  pname = "tubes";
+  version = "0.2.0";
+
+  src = fetchPypi {
+    pname = "Tubes";
+    inherit version;
+    sha256 = "0sg1gg2002h1xsgxigznr1zk1skwmhss72dzk6iysb9k9kdgymcd";
+  };
+
+  propagatedBuildInputs = [ characteristic six twisted ];
+
+  checkPhase = ''
+    ${python.interpreter} -m twisted.trial -j $NIX_BUILD_CORES tubes
+  '';
+
+  pythonImportsCheck = [ "tubes" ];
+
+  meta = with lib; {
+    description = "a data-processing and flow-control engine for event-driven programs";
+    homepage    = "https://github.com/twisted/tubes";
+    license     = licenses.mit;
+    maintainers = with maintainers; [ exarkun ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/twisted/default.nix b/nixpkgs/pkgs/development/python-modules/twisted/default.nix
index 421565725b14..b09ccebde198 100644
--- a/nixpkgs/pkgs/development/python-modules/twisted/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/twisted/default.nix
@@ -13,18 +13,19 @@
 , service-identity
 , setuptools
 , idna
+, typing-extensions
 }:
 buildPythonPackage rec {
   pname = "Twisted";
-  version = "20.3.0";
+  version = "21.7.0";
 
   src = fetchPypi {
     inherit pname version;
-    extension = "tar.bz2";
-    sha256 = "040yzha6cyshnn6ljgk2birgh6mh2cnra48xp5ina5vfsnsmab6p";
+    extension = "tar.gz";
+    sha256 = "01lh225d7lfnmfx4f4kxwl3963gjc9yg8jfkn1w769v34ia55mic";
   };
 
-  propagatedBuildInputs = [ zope_interface incremental automat constantly hyperlink pyhamcrest attrs setuptools ];
+  propagatedBuildInputs = [ zope_interface incremental automat constantly hyperlink pyhamcrest attrs setuptools typing-extensions ];
 
   passthru.extras.tls = [ pyopenssl service-identity idna ];
 
@@ -32,7 +33,7 @@ buildPythonPackage rec {
   # twisted.python.runtime.platform.supportsINotify() == False
   patchPhase = lib.optionalString stdenv.isLinux ''
     substituteInPlace src/twisted/python/_inotify.py --replace \
-      "ctypes.util.find_library('c')" "'${stdenv.glibc.out}/lib/libc.so.6'"
+      "ctypes.util.find_library(\"c\")" "'${stdenv.glibc.out}/lib/libc.so.6'"
   '';
 
   # Generate Twisted's plug-in cache.  Twisted users must do it as well.  See
diff --git a/nixpkgs/pkgs/development/python-modules/txtorcon/default.nix b/nixpkgs/pkgs/development/python-modules/txtorcon/default.nix
index 01a7cd3d87ac..23fa4735ef70 100644
--- a/nixpkgs/pkgs/development/python-modules/txtorcon/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/txtorcon/default.nix
@@ -1,10 +1,10 @@
-{lib, buildPythonPackage, fetchPypi, isPy3k, incremental, ipaddress, twisted
+{ lib, python, buildPythonPackage, pythonOlder, fetchPypi, isPy3k, incremental, ipaddress, twisted
 , automat, zope_interface, idna, pyopenssl, service-identity, pytest, mock, lsof
 , GeoIP, isPy27}:
 
 buildPythonPackage rec {
   pname = "txtorcon";
-  version = "20.0.0";
+  version = "21.1.0";
 
   checkInputs = [ pytest mock lsof GeoIP ];
   propagatedBuildInputs = [
@@ -15,24 +15,21 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0yipb41w2icbj50d3z1j92d8w6xhbqd1rnmd31vzb5k3g20x0b0j";
+    sha256 = "aebf0b9ec6c69a029f6b61fd534e785692e28fdcd2fd003ce3cc132b9393b7d6";
   };
 
-  # zope.interface issue
-  doCheck = isPy3k;
-  # Skip a failing test until fixed upstream:
-  # https://github.com/meejah/txtorcon/issues/250
+  # Based on what txtorcon tox.ini will automatically test, allow back as far
+  # as Python 3.5.
+  disabled = pythonOlder "3.5";
+
   checkPhase = ''
-    pytest --ignore=test/test_util.py .
+    ${python.interpreter} -m twisted.trial -j $NIX_BUILD_CORES ./test
   '';
 
   meta = {
     description = "Twisted-based Tor controller client, with state-tracking and configuration abstractions";
     homepage = "https://github.com/meejah/txtorcon";
-    maintainers = with lib.maintainers; [ jluttine ];
-    # Currently broken on Python 2.7. See
-    # https://github.com/NixOS/nixpkgs/issues/71826
-    broken = isPy27;
+    maintainers = with lib.maintainers; [ jluttine exarkun ];
     license = lib.licenses.mit;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/typecode/default.nix b/nixpkgs/pkgs/development/python-modules/typecode/default.nix
index baed3c7fe41c..fbd907365c22 100644
--- a/nixpkgs/pkgs/development/python-modules/typecode/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/typecode/default.nix
@@ -11,6 +11,7 @@
 , pytestCheckHook
 , pytest-xdist
 }:
+
 buildPythonPackage rec {
   pname = "typecode";
   version = "21.6.1";
@@ -40,6 +41,10 @@ buildPythonPackage rec {
     pytest-xdist
   ];
 
+  disabledTests = [
+    "TestFileTypesDataDriven"
+  ];
+
   pythonImportsCheck = [
     "typecode"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/typed-settings/default.nix b/nixpkgs/pkgs/development/python-modules/typed-settings/default.nix
index 9791c2b04688..47c98ad9531e 100644
--- a/nixpkgs/pkgs/development/python-modules/typed-settings/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/typed-settings/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "typed-settings";
-  version = "0.9.2";
+  version = "0.10.0";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "203c1c6ec73dd1eb0fecd4981b31f8e05042f0dda16443190ac9ade1113ff53d";
+    sha256 = "1fr6qkq3ldlp5i5l4b891w9ail9lfhaxlar3yij912slq5w0s8aw";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/typer/default.nix b/nixpkgs/pkgs/development/python-modules/typer/default.nix
index 5b7b17c8bb84..bc55e3ab8ff7 100644
--- a/nixpkgs/pkgs/development/python-modules/typer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/typer/default.nix
@@ -4,29 +4,32 @@
 , click
 , pytestCheckHook
 , shellingham
-, pytest-cov
 , pytest-xdist
 , pytest-sugar
 , coverage
 , mypy
 , black
 , isort
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "typer";
-  version = "0.3.2";
+  version = "0.4.0";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "00v3h63dq8yxahp9vg3yb9r27l2niwv8gv0dbds9dzrc298dfmal";
+    sha256 = "1pgm0zsylbmz1r96q4n3rfi0h3pn4jss2yfs83z0yxa90nmsxhv3";
   };
 
-  propagatedBuildInputs = [ click ];
+  propagatedBuildInputs = [
+    click
+  ];
 
   checkInputs = [
     pytestCheckHook
-    pytest-cov
     pytest-xdist
     pytest-sugar
     shellingham
@@ -35,15 +38,17 @@ buildPythonPackage rec {
     black
     isort
   ];
-  pytestFlagsArray = [
-    "--ignore=tests/test_completion/test_completion.py"
-    "--ignore=tests/test_completion/test_completion_install.py"
-  ];
+
+  preCheck = ''
+    export HOME=$(mktemp -d);
+  '';
+
+  pythonImportsCheck = [ "typer" ];
 
   meta = with lib; {
+    description = "Python library for building CLI applications";
     homepage = "https://typer.tiangolo.com/";
-    description = "Typer, build great CLIs. Easy to code. Based on Python type hints.";
     license = licenses.mit;
-    maintainers = [ maintainers.winpat ];
+    maintainers = with maintainers; [ winpat ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/types-decorator/default.nix b/nixpkgs/pkgs/development/python-modules/types-decorator/default.nix
index 54f531e0f52f..b0f857196d39 100644
--- a/nixpkgs/pkgs/development/python-modules/types-decorator/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/types-decorator/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "types-decorator";
-  version = "0.1.5";
+  version = "0.1.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0rfg2s4y23w1xk0502sg2jqbzswalkg6infblyzgf94i4bsg1j48";
+    sha256 = "0pmcc8xpsmij4174ky81vp811yxgic2lj1dfj2fa0ii87nlcfwhp";
   };
 
   # Modules doesn't have tests
diff --git a/nixpkgs/pkgs/development/python-modules/types-pytz/default.nix b/nixpkgs/pkgs/development/python-modules/types-pytz/default.nix
new file mode 100644
index 000000000000..2fc5cc0d4503
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/types-pytz/default.nix
@@ -0,0 +1,26 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "types-pytz";
+  version = "2021.1.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0hzjz6wgzfyybcfli4rpmfxk49cn6x3slbs2xdmlnckvlahs5pxd";
+  };
+
+  # Modules doesn't have tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "pytz-stubs" ];
+
+  meta = with lib; {
+    description = "Typing stubs for pytz";
+    homepage = "https://github.com/python/typeshed";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/types-requests/default.nix b/nixpkgs/pkgs/development/python-modules/types-requests/default.nix
index 0450da3f1a71..2d7ccc052287 100644
--- a/nixpkgs/pkgs/development/python-modules/types-requests/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/types-requests/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "types-requests";
-  version = "2.25.0";
+  version = "2.25.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "022q31fgiyq6zfjv4pbpg10hh9m7x91wqfc6bdyin50hf980q3gf";
+    sha256 = "1vh203dppi6457lwv7z46dc8rpanjlahk4v3394nq1jwyp0425g2";
   };
 
   # Modules doesn't have tests
diff --git a/nixpkgs/pkgs/development/python-modules/ufonormalizer/default.nix b/nixpkgs/pkgs/development/python-modules/ufonormalizer/default.nix
index 357c09ab4e8d..5d0af719a39b 100644
--- a/nixpkgs/pkgs/development/python-modules/ufonormalizer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ufonormalizer/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "ufonormalizer";
-  version = "0.5.4";
+  version = "0.6.0";
 
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "11l8475p3nq7azim35l5lck8vrgjgd01plnji6gg1hf9ckswr2pb";
+    sha256 = "0w44qlvg4xks7jb0lf3lhsbylagq956x0wkcal9ix34bz3p7vdxd";
     extension = "zip";
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/ujson/default.nix b/nixpkgs/pkgs/development/python-modules/ujson/default.nix
index ab1f3e2b7cab..7b0a1f37deae 100644
--- a/nixpkgs/pkgs/development/python-modules/ujson/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ujson/default.nix
@@ -1,27 +1,36 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, isPy3k
 , isPyPy
+, pytestCheckHook
+, pythonOlder
 , setuptools-scm
 }:
 
 buildPythonPackage rec {
   pname = "ujson";
-  version = "4.0.2";
-  disabled = isPyPy || (!isPy3k);
+  version = "4.1.0";
+  disabled = isPyPy || pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c615a9e9e378a7383b756b7e7a73c38b22aeb8967a8bfbffd4741f7ffd043c4d";
+    sha256 = "sha256-IrY+xECfDS8sTJ1aozGZfgJHC3oVoyM/PMMvL5uS1Yw=";
   };
 
-  nativeBuildInputs = [ setuptools-scm ];
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "ujson" ];
 
   meta = with lib; {
-    homepage = "https://pypi.python.org/pypi/ujson";
     description = "Ultra fast JSON encoder and decoder for Python";
+    homepage = "https://pypi.python.org/pypi/ujson";
     license = licenses.bsd3;
+    maintainers = with maintainers; [ ];
   };
-
 }
diff --git a/nixpkgs/pkgs/development/python-modules/unidiff/default.nix b/nixpkgs/pkgs/development/python-modules/unidiff/default.nix
index d1e18111db31..7dfd5c9d276a 100644
--- a/nixpkgs/pkgs/development/python-modules/unidiff/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/unidiff/default.nix
@@ -1,20 +1,20 @@
-{ lib, buildPythonPackage, fetchFromGitHub }:
+{ lib, buildPythonPackage, fetchPypi }:
 
 buildPythonPackage rec {
   pname = "unidiff";
-  version = "0.6.0";
+  version = "0.7.0";
 
-  # PyPI tarball doesn't ship tests
-  src = fetchFromGitHub {
-    owner = "matiasb";
-    repo = "python-unidiff";
-    rev = "v${version}";
-    sha256 = "0farwkw0nbb5h4369pq3i6pp4047hav0h88ba55rzz5k7mr25rgi";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "91bb13b4969514a400679d9ae5e29a6ffad85346087677f8b5e2e036af817447";
   };
 
+  pythonImportsCheck = [ "unidiff" ];
+
   meta = with lib; {
     description = "Unified diff python parsing/metadata extraction library";
     homepage = "https://github.com/matiasb/python-unidiff";
+    changelog = "https://github.com/matiasb/python-unidiff/raw/v${version}/HISTORY";
     license = licenses.mit;
     maintainers = [ maintainers.marsam ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/versioneer/default.nix b/nixpkgs/pkgs/development/python-modules/versioneer/default.nix
index 3685e78d4b4e..5336420c79af 100644
--- a/nixpkgs/pkgs/development/python-modules/versioneer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/versioneer/default.nix
@@ -1,25 +1,29 @@
-{ lib, buildPythonPackage, fetchPypi, isPy27 }:
-
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "versioneer";
-  version = "0.19";
-  disabled = isPy27;
+  version = "0.20";
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a4fed39bbebcbd2d07f8a86084773f303cb442709491955a0e6754858e47afae";
+    sha256 = "sha256-Ljk2AOwnF7efWcmE942TX3bkbEyu+HWoe4tO1gLy/2U=";
   };
 
   # Couldn't get tests to work because, for instance, they used virtualenv and
   # pip.
   doCheck = false;
 
+  pythonImportsCheck = [ "versioneer" ];
+
   meta = with lib; {
     description = "Version-string management for VCS-controlled trees";
     homepage = "https://github.com/warner/python-versioneer";
     license = licenses.publicDomain;
     maintainers = with maintainers; [ jluttine ];
   };
-
 }
diff --git a/nixpkgs/pkgs/development/python-modules/versiontag/default.nix b/nixpkgs/pkgs/development/python-modules/versiontag/default.nix
new file mode 100644
index 000000000000..aebf40a40f51
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/versiontag/default.nix
@@ -0,0 +1,24 @@
+{ lib, buildPythonPackage, fetchFromGitHub, git }:
+
+buildPythonPackage rec {
+  pname = "versiontag";
+  version = "1.2.0";
+
+  src = fetchFromGitHub {
+    owner = "thelabnyc";
+    repo = "python-versiontag";
+    rev = "r${version}";
+    sha256 = "1axv2214ykgv5adajv10v2zy5fr9v77db54rkik6ja29p66zl90n";
+  };
+
+  checkInputs = [ git ];
+
+  pythonImportsCheck = [ "versiontag" ];
+
+  meta = with lib; {
+    description = "Python library designed to make accessing the current version number of your software easy";
+    homepage = "https://github.com/thelabnyc/python-versiontag";
+    license = licenses.isc;
+    maintainers = with maintainers; [ MaskedBelgian ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/virtualenv-clone/default.nix b/nixpkgs/pkgs/development/python-modules/virtualenv-clone/default.nix
index 4dfebc13075f..0cd5d6a7fe22 100644
--- a/nixpkgs/pkgs/development/python-modules/virtualenv-clone/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/virtualenv-clone/default.nix
@@ -1,29 +1,42 @@
 { lib
 , buildPythonPackage
-, fetchPypi
-, pytest
+, fetchFromGitHub
 , virtualenv
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "virtualenv-clone";
-  version = "0.5.4";
+  version = "0.5.6";
+  format = "setuptools";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "0absh96fsxk9di7ir76f5djyfm2c214wnyk53avrhjy8akflhpk6";
+  src = fetchFromGitHub {
+    owner = "edwardgeorge";
+    repo = pname;
+    rev = version;
+    sha256 = "0xb20fhl99dw5vnyb43sjpj9628nbdnwp5g7m8f2id7w8kpwzvfw";
   };
 
-  buildInputs = [ pytest ];
-  propagatedBuildInputs = [ virtualenv ];
+  postPatch = ''
+    substituteInPlace tests/__init__.py \
+      --replace "'virtualenv'" "'${virtualenv}/bin/virtualenv'"
 
-  # needs tox to run the tests
-  doCheck = false;
+    substituteInPlace tests/test_virtualenv_sys.py \
+      --replace "'virtualenv'" "'${virtualenv}/bin/virtualenv'"
+  '';
+
+  propagatedBuildInputs = [
+    virtualenv
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
 
   meta = with lib; {
     homepage = "https://github.com/edwardgeorge/virtualenv-clone";
     description = "Script to clone virtualenvs";
     license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
-
 }
diff --git a/nixpkgs/pkgs/development/python-modules/vispy/default.nix b/nixpkgs/pkgs/development/python-modules/vispy/default.nix
index 5524258a7e82..849f25ef0df3 100644
--- a/nixpkgs/pkgs/development/python-modules/vispy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/vispy/default.nix
@@ -32,7 +32,7 @@ buildPythonPackage rec {
   pythonImportsCheck = [ "vispy" ];
 
   meta = with lib; {
-    homepage = "http://vispy.org/index.html";
+    homepage = "https://vispy.org/index.html";
     description = "Interactive scientific visualization in Python";
     license = licenses.bsd3;
     maintainers = with maintainers; [ goertzenator ];
diff --git a/nixpkgs/pkgs/development/python-modules/webdavclient3/default.nix b/nixpkgs/pkgs/development/python-modules/webdavclient3/default.nix
index fc63c1913d00..4d2c37f6b0e2 100644
--- a/nixpkgs/pkgs/development/python-modules/webdavclient3/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/webdavclient3/default.nix
@@ -3,13 +3,13 @@
 
 buildPythonPackage rec {
   pname = "webdavclient3";
-  version = "3.14.5";
+  version = "3.14.6";
 
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0yw3n5m70ysjn1ch48znpn4zr4a1bd0lsm7q2grqz7q5hfjzjwk0";
+    sha256 = "bcd22586bb0d58abc26ca56054fd04228e704bd36073c3080f4597c1556c880d";
   };
 
   propagatedBuildInputs = [ python-dateutil lxml requests ];
diff --git a/nixpkgs/pkgs/development/python-modules/websocket-client/default.nix b/nixpkgs/pkgs/development/python-modules/websocket-client/default.nix
index ee09ceb10504..3a641ab2db3b 100644
--- a/nixpkgs/pkgs/development/python-modules/websocket-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/websocket-client/default.nix
@@ -3,28 +3,34 @@
 , fetchPypi
 , pythonOlder
 , pytestCheckHook
-, pysocks
+, python-socks
 }:
 
 buildPythonPackage rec {
   pname = "websocket-client";
-  version = "1.1.0";
+  version = "1.2.1";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-to5JWdcEdo+iDjXJ1QjI3Cu8BB/Y0mfA1zRc/+KCRWg=";
+    sha256 = "8dfb715d8a992f5712fff8c843adae94e22b22a99b2c5e6b0ec4a1a981cc4e0d";
   };
 
-  checkInputs = [ pytestCheckHook pysocks ];
+  propagatedBuildInputs = [
+    python-socks
+   ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
 
   pythonImportsCheck = [ "websocket" ];
 
   meta = with lib; {
     description = "Websocket client for Python";
     homepage = "https://github.com/websocket-client/websocket-client";
+    changelog = "https://github.com/websocket-client/websocket-client/blob/v${version}/ChangeLog";
     license = licenses.lgpl21Plus;
     maintainers = with maintainers; [ fab ];
-    changelog = "https://github.com/websocket-client/websocket-client/blob/v${version}/ChangeLog";
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/websockify/default.nix b/nixpkgs/pkgs/development/python-modules/websockify/default.nix
index d3072e750419..e1f311ba027b 100644
--- a/nixpkgs/pkgs/development/python-modules/websockify/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/websockify/default.nix
@@ -5,20 +5,25 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.9.0";
+  version = "0.10.0";
   pname = "websockify";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1nnalv0jkkj34hw6yb12lp6r6fj1ps9vkkyshjvx65y5xdwmnny3";
+    sha256 = "6c4cc1bc132abb4a99834bcb1b4bd72f51d35a08d08093a817646ecc226ac44e";
   };
 
   propagatedBuildInputs = [ numpy ];
 
+  # Ran 0 tests in 0.000s
+  doCheck = false;
+
+  pythonImportsCheck = [ "websockify" ];
+
   meta = with lib; {
     description = "WebSockets support for any application/server";
     homepage = "https://github.com/kanaka/websockify";
     license = licenses.lgpl3;
+    maintainers = with maintainers; [ ];
   };
-
 }
diff --git a/nixpkgs/pkgs/development/python-modules/webtest/default.nix b/nixpkgs/pkgs/development/python-modules/webtest/default.nix
index d56e5415b918..e5dd4758df70 100644
--- a/nixpkgs/pkgs/development/python-modules/webtest/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/webtest/default.nix
@@ -14,31 +14,44 @@
 }:
 
 buildPythonPackage rec {
-  version = "2.0.32";
+  version = "2.0.35";
   pname = "webtest";
   disabled = isPy27; # paste.deploy is not longer a valid import
 
   src = fetchPypi {
     pname = "WebTest";
     inherit version;
-    sha256 = "4221020d502ff414c5fba83c1213985b83219cb1cc611fe58aa4feaf96b5e062";
+    sha256 = "sha256-qsFotbK08gCvTjWGfPMWcSIQ49XbgcHL3/OHImR7sIc=";
   };
 
   preConfigure = ''
     substituteInPlace setup.py --replace "nose<1.3.0" "nose"
   '';
 
-  propagatedBuildInputs = [ webob six beautifulsoup4 waitress ];
-
-  checkInputs = [ nose mock PasteDeploy wsgiproxy2 pyquery ];
+  propagatedBuildInputs = [
+    webob
+    six
+    beautifulsoup4
+    waitress
+  ];
+
+  checkInputs = [
+    nose
+    mock
+    PasteDeploy
+    wsgiproxy2
+    pyquery
+  ];
 
   # Some of the tests use localhost networking.
   __darwinAllowLocalNetworking = true;
 
+  pythonImportsCheck = [ "webtest" ];
+
   meta = with lib; {
     description = "Helper to test WSGI applications";
     homepage = "https://webtest.readthedocs.org/en/latest/";
     license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
-
 }
diff --git a/nixpkgs/pkgs/development/python-modules/werkzeug/1.nix b/nixpkgs/pkgs/development/python-modules/werkzeug/1.nix
index 73bebd8366ec..d03909d191d0 100644
--- a/nixpkgs/pkgs/development/python-modules/werkzeug/1.nix
+++ b/nixpkgs/pkgs/development/python-modules/werkzeug/1.nix
@@ -17,7 +17,29 @@ buildPythonPackage rec {
   propagatedBuildInputs = [ itsdangerous ];
   checkInputs = [ pytestCheckHook requests hypothesis pytest-timeout ];
 
-  disabledTests = lib.optionals stdenv.isDarwin [
+  disabledTests = [
+    "test_save_to_pathlib_dst"
+    "test_cookie_maxsize"
+    "test_cookie_samesite_attribute"
+    "test_cookie_samesite_invalid"
+    "test_range_parsing"
+    "test_content_range_parsing"
+    "test_http_date_lt_1000"
+    "test_best_match_works"
+    "test_date_to_unix"
+    "test_easteregg"
+
+    # Seems to be a problematic test-case:
+    #
+    # > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
+    # E pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO [closed]>
+    # E
+    # E Traceback (most recent call last):
+    # E   File "/nix/store/cwv8aj4vsqvimzljw5dxsxy663vjgibj-python3.9-Werkzeug-1.0.1/lib/python3.9/site-packages/werkzeug/formparser.py", line 318, in parse_multipart_headers
+    # E     return Headers(result)
+    # E ResourceWarning: unclosed file <_io.FileIO name=11 mode='rb+' closefd=True>
+    "TestMultiPart"
+  ] ++ lib.optionals stdenv.isDarwin [
     "test_get_machine_id"
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/west/default.nix b/nixpkgs/pkgs/development/python-modules/west/default.nix
index fff9582e0b8f..680e37e7a8f5 100644
--- a/nixpkgs/pkgs/development/python-modules/west/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/west/default.nix
@@ -3,14 +3,14 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.11.0";
+  version = "0.11.1";
   pname = "west";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "67fdc85f44be308383b331940dced0756c8c81a85f753c6b97eb0d65d973f31a";
+    sha256 = "30771f3ec2a4281cd05c277a90f7dc94ded97d6dc1e1decdf4fe452dbbacc283";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/whisper/default.nix b/nixpkgs/pkgs/development/python-modules/whisper/default.nix
index d25053f12364..28a2c15a8dbd 100644
--- a/nixpkgs/pkgs/development/python-modules/whisper/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/whisper/default.nix
@@ -1,19 +1,40 @@
-{ lib, buildPythonPackage, fetchPypi, mock, six }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, mock
+, six
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "whisper";
   version = "1.1.8";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "345f35d0dccaf181e0aa4353e6c13f40f5cceda10a3c7021dafab29f004f62ae";
+  src = fetchFromGitHub {
+    owner = "graphite-project";
+    repo = pname;
+    rev = version;
+    sha256 = "11f7sarj62zgpw3ak4a2q55lj7ap4039l9ybc3a6yvs1ppvrcn7x";
   };
 
-  propagatedBuildInputs = [ six ];
-  checkInputs = [ mock ];
+  propagatedBuildInputs = [
+    six
+  ];
+
+  checkInputs = [
+    mock
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    # whisper-resize.py: not found
+    "test_resize_with_aggregate"
+  ];
+
+  pythonImportsCheck = [ "whisper" ];
 
   meta = with lib; {
-    homepage = "http://graphite.wikidot.com/";
+    homepage = "https://github.com/graphite-project/whisper";
     description = "Fixed size round-robin style database";
     maintainers = with maintainers; [ offline basvandijk ];
     license = licenses.asl20;
diff --git a/nixpkgs/pkgs/development/python-modules/whitenoise/default.nix b/nixpkgs/pkgs/development/python-modules/whitenoise/default.nix
index 3c63c727c0d7..5598b189afac 100644
--- a/nixpkgs/pkgs/development/python-modules/whitenoise/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/whitenoise/default.nix
@@ -1,21 +1,51 @@
-{ lib, fetchPypi, buildPythonPackage, isPy27 }:
+{ lib
+, brotli
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+, requests
+}:
 
 buildPythonPackage rec {
   pname = "whitenoise";
-  version = "5.2.0";
-  disabled = isPy27;
+  version = "5.3.0";
+  disabled = pythonOlder "3.5";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "05ce0be39ad85740a78750c86a93485c40f08ad8c62a6006de0233765996e5c7";
+  src = fetchFromGitHub {
+    owner = "evansd";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "17j1rml1hb43c7fs7kf4ygkpmnjppzgsbnyw3plq9w3yh9w5hkhg";
   };
 
-  # No tests
-  doCheck = false;
+  propagatedBuildInputs = [
+    brotli
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    requests
+  ];
+
+  disabledTestPaths = [
+    # Don't run Django tests
+    "tests/test_django_whitenoise.py"
+    "tests/test_runserver_nostatic.py"
+    "tests/test_storage.py"
+  ];
+
+  disabledTests = [
+    # Test fails with AssertionError
+    "test_modified"
+  ];
+
+  pythonImportsCheck = [ "whitenoise" ];
 
   meta = with lib; {
     description = "Radically simplified static file serving for WSGI applications";
     homepage = "http://whitenoise.evans.io/";
     license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/wled/default.nix b/nixpkgs/pkgs/development/python-modules/wled/default.nix
index e38d43ef56b6..cb6ec2b606d5 100644
--- a/nixpkgs/pkgs/development/python-modules/wled/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/wled/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "wled";
-  version = "0.7.1";
+  version = "0.8.0";
   disabled = pythonOlder "3.8";
   format = "pyproject";
 
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "frenck";
     repo = "python-wled";
     rev = "v${version}";
-    sha256 = "02xrml9mpq3akwyryg1m7xjmgnlgi5kjvx7vkq6110ai0f9hzpwi";
+    sha256 = "1jhykilb81sp1srxk91222qglwdlr993ssvgfnl837nbcx6ws1hw";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/wrapio/default.nix b/nixpkgs/pkgs/development/python-modules/wrapio/default.nix
index 3e6a4372a642..e04424ba49e2 100644
--- a/nixpkgs/pkgs/development/python-modules/wrapio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/wrapio/default.nix
@@ -1,15 +1,18 @@
 { lib
 , buildPythonPackage
+, pythonOlder
 , fetchPypi
 }:
 
 buildPythonPackage rec {
   pname = "wrapio";
-  version = "1.0.0";
+  version = "2.0.0";
+
+  disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-JWcPsqZy1wM6/mbU3H0W3EkpLg0wrEUUg3pT/QrL+rE=";
+    sha256 = "sha256-CUocIbdZ/tJQCxAHzhFpB267ynlXf8Mu+thcRRc0yeg=";
   };
 
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/python-modules/wurlitzer/default.nix b/nixpkgs/pkgs/development/python-modules/wurlitzer/default.nix
index f37d6de13595..395f3ad5b107 100644
--- a/nixpkgs/pkgs/development/python-modules/wurlitzer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/wurlitzer/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "wurlitzer";
-  version = "2.1.0";
+  version = "3.0.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0144228960a992ef46e339e8aa560600bd34cd64e018bfebad88c0dd61bd8ba5";
+    sha256 = "36051ac530ddb461a86b6227c4b09d95f30a1d1043de2b4a592e97ae8a84fcdf";
   };
 
   propagatedBuildInputs = lib.optionals isPy27 [ selectors2 ];
diff --git a/nixpkgs/pkgs/development/python-modules/xdis/default.nix b/nixpkgs/pkgs/development/python-modules/xdis/default.nix
index aec8b13a122c..81b8e146d9bb 100644
--- a/nixpkgs/pkgs/development/python-modules/xdis/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xdis/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "xdis";
-  version = "5.0.10";
+  version = "5.0.11";
   disabled = isPy27;
 
   src = fetchFromGitHub {
     owner = "rocky";
     repo = "python-xdis";
     rev = version;
-    sha256 = "sha256-/3qyMgliua7W4Va1HdRbHyiR/eBQzHK+GrZVAMvMhLA=";
+    sha256 = "sha256-KTPu0+bERLRCVESqJgBPtcftlniWl2+C9GDcf84ssiA=";
   };
 
   checkInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/xknx/default.nix b/nixpkgs/pkgs/development/python-modules/xknx/default.nix
index 6dd624d597fa..336d39e3c956 100644
--- a/nixpkgs/pkgs/development/python-modules/xknx/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xknx/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "xknx";
-  version = "0.18.8";
+  version = "0.18.9";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "XKNX";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Y+SHZd/E72eR7gANqHHutZt1a4G4R1oHC8uV0hpJ/J0=";
+    sha256 = "1dw1dqhd790wsa6v7bpcv921zf1y544ry7drwcfdcmprsm7hs42j";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/xml-marshaller/default.nix b/nixpkgs/pkgs/development/python-modules/xml-marshaller/default.nix
new file mode 100644
index 000000000000..30300c61045d
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/xml-marshaller/default.nix
@@ -0,0 +1,28 @@
+{ buildPythonPackage
+, fetchPypi
+, lib
+, lxml
+, six
+}:
+
+buildPythonPackage rec {
+  pname = "xml-marshaller";
+  version = "1.0.2";
+
+  src = fetchPypi {
+    pname = "xml_marshaller";
+    inherit version;
+    sha256 = "sha256-QvBALLDD8o5nZQ5Z4bembhadK6jcydWKQpJaSmGqqJM=";
+  };
+
+  propagatedBuildInputs = [ lxml six ];
+
+  pythonImportsCheck = [ "xml_marshaller" ];
+
+  meta = with lib; {
+    description = "This module allows one to marshal simple Python data types into a custom XML format.";
+    homepage = "https://www.python.org/community/sigs/current/xml-sig/";
+    license = licenses.psfl;
+    maintainers = with maintainers; [ mazurel ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/xmlschema/default.nix b/nixpkgs/pkgs/development/python-modules/xmlschema/default.nix
index 6c2118f391b4..960dd227388d 100644
--- a/nixpkgs/pkgs/development/python-modules/xmlschema/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xmlschema/default.nix
@@ -5,14 +5,14 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.6.4";
+  version = "1.7.0";
   pname = "xmlschema";
 
   src = fetchFromGitHub {
     owner = "sissaschool";
     repo = "xmlschema";
     rev = "v${version}";
-    sha256 = "sha256-0KVGu163t3stCgx7aWW/Ggf6CUW2ZhOOnPU6FfGHfKA=";
+    sha256 = "0vf0gj1sbv9f7gjm3zbyl0b8pkrn00yzx57ddff0h2kazv8jlpwi";
   };
 
   propagatedBuildInputs = [ elementpath ];
diff --git a/nixpkgs/pkgs/development/python-modules/xstatic-jquery-file-upload/default.nix b/nixpkgs/pkgs/development/python-modules/xstatic-jquery-file-upload/default.nix
index 0316a8493762..ce3f8c76dfa6 100644
--- a/nixpkgs/pkgs/development/python-modules/xstatic-jquery-file-upload/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xstatic-jquery-file-upload/default.nix
@@ -19,7 +19,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [ xstatic-jquery ];
 
   meta = with lib;{
-    homepage =  "http://plugins.jquery.com/project/jQuery-File-Upload";
+    homepage =  "https://plugins.jquery.com/project/jQuery-File-Upload";
     description = "jquery-file-upload packaged static files for python";
     license = licenses.mit;
     maintainers = with maintainers; [ makefu ];
diff --git a/nixpkgs/pkgs/development/python-modules/yalesmartalarmclient/default.nix b/nixpkgs/pkgs/development/python-modules/yalesmartalarmclient/default.nix
index ce0dc34c0b40..201a1636f173 100644
--- a/nixpkgs/pkgs/development/python-modules/yalesmartalarmclient/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/yalesmartalarmclient/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "yalesmartalarmclient";
-  version = "0.3.4";
+  version = "0.3.5";
 
   src = fetchFromGitHub {
     owner = "domwillcode";
     repo = "yale-smart-alarm-client";
     rev = "v${version}";
-    sha256 = "sha256-waWi3QnH7xQZh5iYklISCvfAaBdH5k+Y10huZuTNlSc=";
+    sha256 = "11i7vh61a5xfv32zm7rkigl010wzd6snag6sf7w38256j95nnb05";
   };
 
   propagatedBuildInputs = [
@@ -23,6 +23,7 @@ buildPythonPackage rec {
 
   # Project has no tests
   doCheck = false;
+
   pythonImportsCheck = [ "yalesmartalarmclient" ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/yalexs/default.nix b/nixpkgs/pkgs/development/python-modules/yalexs/default.nix
index 502eb5c4f68d..a97ebe947af9 100644
--- a/nixpkgs/pkgs/development/python-modules/yalexs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/yalexs/default.nix
@@ -16,14 +16,14 @@
 
 buildPythonPackage rec {
   pname = "yalexs";
-  version = "1.1.12";
+  version = "1.1.13";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "bdraco";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-J7jh8FufGQzYbVhdOPbIpZCjfWZV6oOShy82QXL82b4=";
+    sha256 = "0938540n60xv7kxam3azszn3nj0mnhhgh5p4hgbfxj43bkwpqz4n";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/yamale/default.nix b/nixpkgs/pkgs/development/python-modules/yamale/default.nix
index 9b2c7b116c6d..f590e8d896c0 100644
--- a/nixpkgs/pkgs/development/python-modules/yamale/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/yamale/default.nix
@@ -1,23 +1,23 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, isPy3k
-, pytest
+, pythonOlder
+, pytestCheckHook
 , pyyaml
 , ruamel_yaml
 }:
 
 buildPythonPackage rec {
   pname = "yamale";
-  version = "3.0.4";
+  version = "3.0.8";
 
-  disabled = !isPy3k;
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "23andMe";
     repo = pname;
     rev = version;
-    sha256 = "1xjvah4r3gpwk4zxql3c9jpllb34k175fm6iq1zvsd2vv2fwf8s2";
+    sha256 = "0bn0himn5fwndaxn205s55bdc4np7lhd940i0lkv0m7ybhbw7dap";
   };
 
   propagatedBuildInputs = [
@@ -26,9 +26,11 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
-    pytest
+    pytestCheckHook
   ];
 
+  pythonImportsCheck = [ "yamale" ];
+
   meta = with lib; {
     description = "A schema and validator for YAML";
     homepage = "https://github.com/23andMe/Yamale";
diff --git a/nixpkgs/pkgs/development/python-modules/yamllint/default.nix b/nixpkgs/pkgs/development/python-modules/yamllint/default.nix
index 832eb3f6b5b1..0204b0f92968 100644
--- a/nixpkgs/pkgs/development/python-modules/yamllint/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/yamllint/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "yamllint";
-  version = "1.26.1";
+  version = "1.26.3";
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-h9lGKz7X6d+hnKoXf3p3zZiIs9xARER9auCrIzvNEyQ=";
+    sha256 = "3934dcde484374596d6b52d8db412929a169f6d9e52e20f9ade5bf3523d9b96e";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/yara-python/default.nix b/nixpkgs/pkgs/development/python-modules/yara-python/default.nix
index fc4c3bb56ffe..050ee7315908 100644
--- a/nixpkgs/pkgs/development/python-modules/yara-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/yara-python/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "yara-python";
-  version = "4.1.0";
+  version = "4.1.2";
 
   src = fetchFromGitHub {
     owner = "VirusTotal";
     repo = "yara-python";
     rev = "v${version}";
-    sha256 = "1w48skmjbb5529g8fyzdjj9jkmavqiq6wh1dr004xdp3nhlqn9y7";
+    sha256 = "1sg7ghb43qajziiym1y584rk0wfflyfc9fx507wrh4iahq5xp622";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/yeelight/default.nix b/nixpkgs/pkgs/development/python-modules/yeelight/default.nix
index 888708e799c7..9416ff7ef4e2 100644
--- a/nixpkgs/pkgs/development/python-modules/yeelight/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/yeelight/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "yeelight";
-  version = "0.6.3";
+  version = "0.7.3";
   disabled = pythonOlder "3.4";
 
   src = fetchFromGitLab {
     owner = "stavros";
     repo = "python-yeelight";
     rev = "v${version}";
-    sha256 = "sha256-71ncPGcqTRSldWVhJ2uZ2AEgkv1KO2i6UtAUTcJcru8=";
+    sha256 = "sha256-sdSzriAgY3LSOeyPB2Pe1k9iamStZ1OlYXJZviRa+TY=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/yfinance/default.nix b/nixpkgs/pkgs/development/python-modules/yfinance/default.nix
index 9a64572e3866..7a7a005efed0 100644
--- a/nixpkgs/pkgs/development/python-modules/yfinance/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/yfinance/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "yfinance";
-  version = "0.1.61";
+  version = "0.1.63";
 
   # GitHub source releases aren't tagged
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-+tc0rwweGFaBkrl7LBHdsff98PuupqovKh4nRP3hRJ0=";
+    sha256 = "0k1saz0wknxv31vpqcfyi35mzi68c75hlqpw8lf83xqw9zllydhi";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/youtube-search-python/default.nix b/nixpkgs/pkgs/development/python-modules/youtube-search-python/default.nix
new file mode 100644
index 000000000000..818baf6b36f9
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/youtube-search-python/default.nix
@@ -0,0 +1,27 @@
+{ lib, buildPythonPackage, pythonOlder, fetchPypi, httpx }:
+
+buildPythonPackage rec {
+  pname = "youtube-search-python";
+  version = "1.4.7";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "7f93d9ecfd9b965dc93782d8174b1c1888f8900e2a303254037ba34e1d0ebed4";
+  };
+
+  propagatedBuildInputs = [ httpx ];
+
+  pythonImportsCheck = [ "youtubesearchpython" ];
+
+  # project has no tests
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Search for YouTube videos, channels & playlists & get video information using link WITHOUT YouTube Data API v3";
+    homepage = "https://github.com/alexmercerind/youtube-search-python";
+    license = licenses.mit;
+    maintainers = [ maintainers.marsam ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/youtube-transcript-api/default.nix b/nixpkgs/pkgs/development/python-modules/youtube-transcript-api/default.nix
new file mode 100644
index 000000000000..6829df668b2f
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/youtube-transcript-api/default.nix
@@ -0,0 +1,27 @@
+{ lib, buildPythonPackage, fetchFromGitHub, requests, mock, httpretty, pytestCheckHook }:
+
+buildPythonPackage rec {
+  pname = "youtube-transcript-api";
+  version = "0.4.1";
+
+  # PyPI tarball is missing some test files
+  src = fetchFromGitHub {
+    owner = "jdepoix";
+    repo = "youtube-transcript-api";
+    rev = "v${version}";
+    sha256 = "1gpk13j1n2bifwsg951gmrfnq8kfxjr15rq46dxn1bhyk9hr1zql";
+  };
+
+  propagatedBuildInputs = [ requests ];
+
+  checkInputs = [ mock httpretty pytestCheckHook ];
+
+  pythonImportsCheck = [ "youtube_transcript_api" ];
+
+  meta = with lib; {
+    description = "Python API which allows you to get the transcripts/subtitles for a given YouTube video";
+    homepage = "https://github.com/jdepoix/youtube-transcript-api";
+    license = licenses.mit;
+    maintainers = [ maintainers.marsam ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/zarr/default.nix b/nixpkgs/pkgs/development/python-modules/zarr/default.nix
index c7990de55e03..9fc5589d281d 100644
--- a/nixpkgs/pkgs/development/python-modules/zarr/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zarr/default.nix
@@ -12,12 +12,12 @@
 
 buildPythonPackage rec {
   pname = "zarr";
-  version = "2.8.3";
+  version = "2.9.1";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8aece33269ba3ee2af9320aa528d5fe93f76c30e4ad7fdbfb604b1db3f0d779f";
+    sha256 = "688afec069e0f85b87c1ef4572766f998309c64ab7bea1884cec60e92d109544";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/zeep/default.nix b/nixpkgs/pkgs/development/python-modules/zeep/default.nix
index 16fb27774631..f88e8bc47420 100644
--- a/nixpkgs/pkgs/development/python-modules/zeep/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zeep/default.nix
@@ -1,7 +1,6 @@
 { lib
 , aiohttp
 , aioresponses
-, appdirs
 , attrs
 , buildPythonPackage
 , cached-property
@@ -12,6 +11,7 @@
 , isodate
 , lxml
 , mock
+, platformdirs
 , pretend
 , pytest-asyncio
 , pytest-httpx
@@ -27,28 +27,28 @@
 
 buildPythonPackage rec {
   pname = "zeep";
-  version = "4.0.0";
+  version = "4.1.0";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "mvantellingen";
     repo = "python-zeep";
     rev = version;
-    sha256 = "1rwmwk47fxs8dxwv5dr6gbnbiyilznifb47fhbxgzj231w0y82cm";
+    sha256 = "sha256-fJLr2LJpbNQTl183R56G7sJILfm04R39qpJxLogQLoo=";
   };
 
   propagatedBuildInputs = [
-    appdirs
     attrs
     cached-property
     defusedxml
     httpx
     isodate
     lxml
+    platformdirs
     pytz
     requests
-    requests-toolbelt
     requests-file
+    requests-toolbelt
     xmlsec
   ];
 
@@ -62,7 +62,6 @@ buildPythonPackage rec {
     pytest-httpx
     pytestCheckHook
     requests-mock
-    xmlsec
   ];
 
   preCheck = ''
diff --git a/nixpkgs/pkgs/development/python-modules/zeroc-ice/default.nix b/nixpkgs/pkgs/development/python-modules/zeroc-ice/default.nix
index 2786fc979f1a..92d9a4a84873 100644
--- a/nixpkgs/pkgs/development/python-modules/zeroc-ice/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zeroc-ice/default.nix
@@ -2,15 +2,17 @@
 
 buildPythonPackage rec {
   pname = "zeroc-ice";
-  version = "3.7.5";
+  version = "3.7.6";
 
   src = fetchPypi {
     inherit version pname;
-    sha256 = "3b4897cc3f2adf3d03802368cedb72a038aa33c988663a667c1c48e42ea10797";
+    sha256 = "e8d8a7828e4994545bf57059bd0a0d431d387d31cc4af2eb5eeb93ef28c2d827";
   };
 
   buildInputs = [ openssl bzip2 ];
 
+  pythonImportsCheck = [ "Ice" ];
+
   meta = with lib; {
     homepage = "https://zeroc.com/";
     license = licenses.gpl2;
diff --git a/nixpkgs/pkgs/development/python-modules/zeroconf/default.nix b/nixpkgs/pkgs/development/python-modules/zeroconf/default.nix
index fc869efe087d..618396a90b42 100644
--- a/nixpkgs/pkgs/development/python-modules/zeroconf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zeroconf/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "zeroconf";
-  version = "0.32.1";
+  version = "0.36.2";
   format = "setuptools";
   disabled = pythonOlder "3.6";
 
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "jstasiak";
     repo = "python-zeroconf";
     rev = version;
-    sha256 = "02fvh5ii73rf6pg9x93pc0sl1isx2ivg3d80l6s8h35w2f4g4azf";
+    sha256 = "sha256-3QRrGfyMXiSas70IL19/DQAPf7I6vdg/itiZlD4/pvg=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/zigpy-deconz/default.nix b/nixpkgs/pkgs/development/python-modules/zigpy-deconz/default.nix
index 0b7c027c0fef..f41b3836db93 100644
--- a/nixpkgs/pkgs/development/python-modules/zigpy-deconz/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zigpy-deconz/default.nix
@@ -11,13 +11,13 @@
 
 buildPythonPackage rec {
   pname = "zigpy-deconz";
-  version = "0.12.0";
+  version = "0.12.1";
 
   src = fetchFromGitHub {
     owner = "zigpy";
     repo = pname;
     rev = version;
-    sha256 = "sha256-d/yAk8owMu+J1BzlwR5mzF9HkXiE6Kc81AznvsAboy8=";
+    sha256 = "sha256-NpLhVQfezXbJQMvqqZjr9sc8tCjJgGu5Xk3C5/IDeUQ=";
   };
 
   propagatedBuildInputs = [ pyserial pyserial-asyncio zigpy ];
diff --git a/nixpkgs/pkgs/development/python-modules/zigpy-znp/default.nix b/nixpkgs/pkgs/development/python-modules/zigpy-znp/default.nix
index 71f102f36671..474e7f309e34 100644
--- a/nixpkgs/pkgs/development/python-modules/zigpy-znp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zigpy-znp/default.nix
@@ -4,7 +4,6 @@
 , buildPythonPackage
 , coloredlogs
 , fetchFromGitHub
-, fetchpatch
 , jsonschema
 , pyserial
 , pyserial-asyncio
@@ -19,23 +18,15 @@
 
 buildPythonPackage rec {
   pname = "zigpy-znp";
-  version = "0.5.1";
+  version = "0.5.3";
 
   src = fetchFromGitHub {
     owner = "zigpy";
     repo = pname;
     rev = "v${version}";
-    sha256 = "152d803jfrvkj4namni41fnbbnq85wd7zsqjhmkwrrmn2gvqjiln";
+    sha256 = "sha256-nnA/gVXBpCZFkspcO6kF3ZkEDu0vV0d9p1WNGVrN0u8=";
   };
 
-  patches = [
-    (fetchpatch {
-      # Fixes tests/application/test_joining.py::test_new_device_join_and_bind_complex[FormedLaunchpadCC26X2R1]
-      url = "https://github.com/zigpy/zigpy-znp/commit/582cffb68fdf0c5bc14d55efca2a683222d7fed7.patch";
-      sha256 = "0qsfziqqjnnf21gdqv3wwk50vni46i0h1liw5ysq641yjfnas9az";
-    })
-  ];
-
   propagatedBuildInputs = [
     async-timeout
     coloredlogs
diff --git a/nixpkgs/pkgs/development/python-modules/zigpy/default.nix b/nixpkgs/pkgs/development/python-modules/zigpy/default.nix
index 2778581566fa..7dab5cda6cc5 100644
--- a/nixpkgs/pkgs/development/python-modules/zigpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zigpy/default.nix
@@ -5,46 +5,46 @@
 , buildPythonPackage
 , crccheck
 , fetchFromGitHub
-, pycrypto
 , pycryptodome
 , pytest-aiohttp
-, pytest-asyncio
+, pytest-timeout
 , pytestCheckHook
-, tox
-, voluptuous }:
+, pythonOlder
+, voluptuous
+}:
 
 buildPythonPackage rec {
   pname = "zigpy";
-  version = "0.35.1";
+  version = "0.36.1";
 
   src = fetchFromGitHub {
     owner = "zigpy";
     repo = "zigpy";
     rev = version;
-    sha256 = "0y5sv8zzlkjwimknpld3fakl22cfkqv0cnw0immb7k4zb9xmls2v";
+    sha256 = "0rfif8ds6m9ndxnc0f02fivc2pwidf476ylyx9y2b1sa2qz36z5w";
   };
 
   propagatedBuildInputs = [
     aiohttp
     aiosqlite
     crccheck
-    pycrypto
     pycryptodome
     voluptuous
   ];
 
   checkInputs = [
-    asynctest
     pytest-aiohttp
-    pytest-asyncio
+    pytest-timeout
     pytestCheckHook
+  ]  ++ lib.optionals (pythonOlder "3.8") [
+    asynctest
   ];
 
   disabledTests = [
     # RuntimeError: coroutine 'test_remigrate_forcibly_downgraded_v4' was never awaited
-    "test_remigrate_forcibly_downgraded_v4"
+    #"test_remigrate_forcibly_downgraded_v4"
     # RuntimeError: Event loop is closed
-    "test_startup"
+    #"test_startup"
   ];
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/zipstream-new/default.nix b/nixpkgs/pkgs/development/python-modules/zipstream-new/default.nix
new file mode 100644
index 000000000000..3f95fd5d4c61
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/zipstream-new/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, nose
+}:
+
+buildPythonPackage rec {
+  pname = "zipstream-new";
+  version = "1.1.8";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "arjan-s";
+    repo = "python-zipstream";
+    rev = "v${version}";
+    sha256 = "14vhgg8mcjqi8cpzrw8qzbij2fr2a63l2a8fhil21k2r8vzv92cv";
+  };
+
+  pythonImportsCheck = [
+    "zipstream"
+  ];
+
+  checkInputs = [
+    nose
+  ];
+
+  checkPhase = ''
+    runHook preCheck
+    nosetests
+    runHook postCheck
+  '';
+
+  meta = with lib; {
+    description = "Like Python's ZipFile module, except it works as a generator that provides the file in many small chunks";
+    homepage = "https://github.com/arjan-s/python-zipstream";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ hexa ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/zwave-js-server-python/default.nix b/nixpkgs/pkgs/development/python-modules/zwave-js-server-python/default.nix
index 778f9c448ed5..067b35dde6ad 100644
--- a/nixpkgs/pkgs/development/python-modules/zwave-js-server-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zwave-js-server-python/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "zwave-js-server-python";
-  version = "0.27.0";
+  version = "0.28.0";
   disabled = pythonOlder "3.8";
 
 
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "home-assistant-libs";
     repo = pname;
     rev = version;
-    sha256 = "sha256-ClZ9B20NphN5XewqEtHpUMNHuuVxs1RJBcxWi6TzT1Y=";
+    sha256 = "137m9052ndbii0q6zw9vmwsfimai05q9np4wv06nw2p2mhy5x48p";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/r-modules/cran-packages.nix b/nixpkgs/pkgs/development/r-modules/cran-packages.nix
index 25c945c29f72..a09fa4af80a6 100644
--- a/nixpkgs/pkgs/development/r-modules/cran-packages.nix
+++ b/nixpkgs/pkgs/development/r-modules/cran-packages.nix
@@ -10268,7 +10268,7 @@ in with self; {
   implicitMeasures = derive2 { name="implicitMeasures"; version="0.2.0"; sha256="0w0dwnzfhw5v5j7q3zpfsca4ydmq7b9fzspvyf9sibyh587isb9c"; depends=[ggplot2 stringr tidyr xtable]; };
   implied = derive2 { name="implied"; version="0.3.1"; sha256="11mrvpsh9qc5a5s5mpbsksri6vx36ij1gvpli6lyz6dkg48a9kdn"; depends=[]; };
   implyr = derive2 { name="implyr"; version="0.4.0"; sha256="0rblsmx1z2n4g3fims5wa3wyf5znr0gkwd2yfz3130bcm6346da0"; depends=[assertthat DBI dbplyr dplyr rlang tidyselect]; };
-  r_import = derive2 { name="r_import"; version="1.2.0"; sha256="018s0x224gqnv4cjfh0fwliyfg6ma9vslmwybrlizfsmqcc5wp37"; depends=[]; };
+  r_import = derive2 { name="import"; version="1.2.0"; sha256="018s0x224gqnv4cjfh0fwliyfg6ma9vslmwybrlizfsmqcc5wp37"; depends=[]; };
   importar = derive2 { name="importar"; version="0.1.1"; sha256="0xv445fmjhsbdlsq03k2rlycnggn3rcyq5a49zrg4jvjamzr0rgr"; depends=[]; };
   importinegi = derive2 { name="importinegi"; version="1.1.3"; sha256="1r0p01mc9wb24ifldn3dmi0fqxwkp0290h0qrgr72grd34v2xszc"; depends=[data_table dplyr foreign haven rgdal]; };
   impressionist_colors = derive2 { name="impressionist.colors"; version="1.0"; sha256="03z5w7y7vbvlnn30r9y3ip93h364f87nhwdb9hcki26csiq2bnlv"; depends=[]; };
diff --git a/nixpkgs/pkgs/development/r-modules/default.nix b/nixpkgs/pkgs/development/r-modules/default.nix
index 6e04e60bfb5c..4341e659bed0 100644
--- a/nixpkgs/pkgs/development/r-modules/default.nix
+++ b/nixpkgs/pkgs/development/r-modules/default.nix
@@ -237,54 +237,56 @@ let
     audio = [ pkgs.portaudio ];
     BayesSAE = [ pkgs.gsl_1 ];
     BayesVarSel = [ pkgs.gsl_1 ];
-    BayesXsrc = [ pkgs.readline.dev pkgs.ncurses ];
+    BayesXsrc = with pkgs; [ readline.dev ncurses ];
     bigGP = [ pkgs.mpi ];
     bio3d = [ pkgs.zlib ];
     BiocCheck = [ pkgs.which ];
     Biostrings = [ pkgs.zlib ];
     bnpmr = [ pkgs.gsl_1 ];
     cairoDevice = [ pkgs.gtk2.dev ];
-    Cairo = [ pkgs.libtiff pkgs.libjpeg pkgs.cairo.dev pkgs.x11 pkgs.fontconfig.lib ];
+    Cairo = with pkgs; [ libtiff libjpeg cairo.dev x11 fontconfig.lib ];
     Cardinal = [ pkgs.which ];
     chebpol = [ pkgs.fftw ];
-    ChemmineOB = [ pkgs.openbabel pkgs.pkg-config ];
+    ChemmineOB = with pkgs; [ openbabel pkg-config ];
     curl = [ pkgs.curl.dev ];
-    data_table = [pkgs.zlib.dev] ++ lib.optional stdenv.isDarwin pkgs.llvmPackages.openmp;
-    devEMF = [ pkgs.xorg.libXft.dev pkgs.x11 ];
-    diversitree = [ pkgs.gsl_1 pkgs.fftw ];
+    data_table = [ pkgs.zlib.dev ] ++ lib.optional stdenv.isDarwin pkgs.llvmPackages.openmp;
+    devEMF = with pkgs; [ xorg.libXft.dev x11 ];
+    diversitree = with pkgs; [ gsl_1 fftw ];
+    exactextractr = [ pkgs.geos ];
     EMCluster = [ pkgs.lapack ];
     fftw = [ pkgs.fftw.dev ];
-    fftwtools = [ pkgs.fftw.dev ];
+    fftwtools = with pkgs; [ fftw.dev pkg-config ];
     Formula = [ pkgs.gmp ];
-    gdtools = [ pkgs.cairo.dev pkgs.fontconfig.lib pkgs.freetype.dev ];
-    git2r = [ pkgs.zlib.dev pkgs.openssl.dev pkgs.libssh2.dev pkgs.libgit2 pkgs.pkg-config ];
+    gdtools = with pkgs; [ cairo.dev fontconfig.lib freetype.dev ];
+    git2r = with pkgs; [ zlib.dev openssl.dev libssh2.dev libgit2 pkg-config ];
     GLAD = [ pkgs.gsl_1 ];
-    glpkAPI = [ pkgs.gmp pkgs.glpk ];
+    glpkAPI = with pkgs; [ gmp glpk ];
     gmp = [ pkgs.gmp.dev ];
     graphscan = [ pkgs.gsl_1 ];
     gsl = [ pkgs.gsl_1 ];
     gert = [ pkgs.libgit2 ];
-    haven = [ pkgs.libiconv pkgs.zlib.dev ];
+    haven = with pkgs; [ libiconv zlib.dev ];
     h5vc = [ pkgs.zlib.dev ];
     HiCseg = [ pkgs.gsl_1 ];
     imager = [ pkgs.x11 ];
     iBMQ = [ pkgs.gsl_1 ];
-    igraph = [ pkgs.gmp pkgs.libxml2.dev ];
+    igraph = with pkgs; [ gmp libxml2.dev ];
     JavaGD = [ pkgs.jdk ];
     jpeg = [ pkgs.libjpeg.dev ];
     jqr = [ pkgs.jq.dev ];
     KFKSDS = [ pkgs.gsl_1 ];
     kza = [ pkgs.fftw.dev ];
-    lwgeom = [ pkgs.gdal pkgs.geos pkgs.proj ];
+    lpsymphony = with pkgs; [ pkg-config gfortran gettext ];
+    lwgeom = with pkgs; [ proj geos gdal ];
     magick = [ pkgs.imagemagick.dev ];
     ModelMetrics = lib.optional stdenv.isDarwin pkgs.llvmPackages.openmp;
     mvabund = [ pkgs.gsl_1 ];
     mwaved = [ pkgs.fftw.dev ];
     ncdf4 = [ pkgs.netcdf ];
-    nloptr = [ pkgs.nlopt pkgs.pkg-config ];
+    nloptr = with pkgs; [ nlopt pkg-config ];
     n1qn1 = [ pkgs.gfortran ];
     odbc = [ pkgs.unixODBC ];
-    pander = [ pkgs.pandoc pkgs.which ];
+    pander = with pkgs; [ pandoc which ];
     pbdMPI = [ pkgs.mpi ];
     pbdPROF = [ pkgs.mpi ];
     pbdZMQ = lib.optionals stdenv.isDarwin [ pkgs.which ];
@@ -294,7 +296,7 @@ let
     png = [ pkgs.libpng.dev ];
     proj4 = [ pkgs.proj ];
     protolite = [ pkgs.protobuf ];
-    R2SWF = [ pkgs.zlib pkgs.libpng pkgs.freetype.dev ];
+    R2SWF = with pkgs; [ zlib libpng freetype.dev ];
     RAppArmor = [ pkgs.libapparmor ];
     rapportools = [ pkgs.which ];
     rapport = [ pkgs.which ];
@@ -304,41 +306,43 @@ let
     RcppGSL = [ pkgs.gsl_1 ];
     RcppZiggurat = [ pkgs.gsl_1 ];
     reprex = [ pkgs.which ];
-    rgdal = [ pkgs.proj.dev pkgs.gdal ];
+    rgdal = with pkgs; [ proj.dev gdal ];
     rgeos = [ pkgs.geos ];
     Rglpk = [ pkgs.glpk ];
     RGtk2 = [ pkgs.gtk2.dev ];
     rhdf5 = [ pkgs.zlib ];
-    Rhdf5lib = [ pkgs.zlib ];
-    Rhpc = [ pkgs.zlib pkgs.bzip2.dev pkgs.icu pkgs.xz.dev pkgs.mpi pkgs.pcre.dev ];
-    Rhtslib = [ pkgs.zlib.dev pkgs.automake pkgs.autoconf pkgs.bzip2.dev pkgs.xz.dev pkgs.curl.dev ];
+    Rhdf5lib = [ pkgs.zlib.dev ];
+    Rhpc = with pkgs; [ zlib bzip2.dev icu xz.dev mpi pcre.dev ];
+    Rhtslib = with pkgs; [ zlib.dev automake autoconf bzip2.dev xz.dev curl.dev ];
     rjags = [ pkgs.jags ];
-    rJava = [ pkgs.zlib pkgs.bzip2.dev pkgs.icu pkgs.xz.dev pkgs.pcre.dev pkgs.jdk pkgs.libzip ];
+    rJava = with pkgs; [ zlib bzip2.dev icu xz.dev pcre.dev jdk libzip ];
     Rlibeemd = [ pkgs.gsl_1 ];
     rmatio = [ pkgs.zlib.dev ];
-    Rmpfr = [ pkgs.gmp pkgs.mpfr.dev ];
+    Rmpfr = with pkgs; [ gmp mpfr.dev ];
     Rmpi = [ pkgs.mpi ];
-    RMySQL = [ pkgs.zlib pkgs.libmysqlclient pkgs.openssl.dev ];
-    RNetCDF = [ pkgs.netcdf pkgs.udunits ];
+    RMySQL = with pkgs; [ zlib libmysqlclient openssl.dev ];
+    RNetCDF = with pkgs; [ netcdf udunits ];
     RODBC = [ pkgs.libiodbc ];
     rpanel = [ pkgs.bwidget ];
     Rpoppler = [ pkgs.poppler ];
-    RPostgreSQL = [ pkgs.postgresql pkgs.postgresql ];
+    RPostgreSQL = with pkgs; [ postgresql postgresql ];
     RProtoBuf = [ pkgs.protobuf ];
     RSclient = [ pkgs.openssl.dev ];
     Rserve = [ pkgs.openssl ];
     Rssa = [ pkgs.fftw.dev ];
+    rsvg = [ pkgs.pkg-config ];
     runjags = [ pkgs.jags ];
-    RVowpalWabbit = [ pkgs.zlib.dev pkgs.boost ];
-    rzmq = [ pkgs.zeromq pkgs.pkg-config ];
+    RVowpalWabbit = with pkgs; [ zlib.dev boost ];
+    rzmq = with pkgs; [ zeromq pkg-config ];
     clustermq = [ pkgs.zeromq ];
-    SAVE = [ pkgs.zlib pkgs.bzip2 pkgs.icu pkgs.xz pkgs.pcre ];
-    sdcTable = [ pkgs.gmp pkgs.glpk ];
-    seewave = [ pkgs.fftw.dev pkgs.libsndfile.dev ];
+    SAVE = with pkgs; [ zlib bzip2 icu xz pcre ];
+    sdcTable = with pkgs; [ gmp glpk ];
+    seewave = with pkgs; [ fftw.dev libsndfile.dev ];
     seqinr = [ pkgs.zlib.dev ];
-    seqminer = [ pkgs.zlib.dev pkgs.bzip2 ];
-    sf = [ pkgs.gdal pkgs.proj pkgs.geos ];
-    showtext = [ pkgs.zlib pkgs.libpng pkgs.icu pkgs.freetype.dev ];
+    seqminer = with pkgs; [ zlib.dev bzip2 ];
+    sf = with pkgs; [ gdal proj geos ];
+    terra = with pkgs; [ gdal proj geos ];
+    showtext = with pkgs; [ zlib libpng icu freetype.dev ];
     simplexreg = [ pkgs.gsl_1 ];
     spate = [ pkgs.fftw.dev ];
     ssanv = [ pkgs.proj ];
@@ -346,19 +350,19 @@ let
     stringi = [ pkgs.icu.dev ];
     survSNP = [ pkgs.gsl_1 ];
     svglite = [ pkgs.libpng.dev ];
-    sysfonts = [ pkgs.zlib pkgs.libpng pkgs.freetype.dev ];
-    systemfonts = [ pkgs.fontconfig.dev pkgs.freetype.dev ];
+    sysfonts = with pkgs; [ zlib libpng freetype.dev ];
+    systemfonts = with pkgs; [ fontconfig.dev freetype.dev ];
     TAQMNGR = [ pkgs.zlib.dev ];
-    tesseract = [ pkgs.tesseract pkgs.leptonica ];
+    tesseract = with pkgs; [ tesseract leptonica ];
     tiff = [ pkgs.libtiff.dev ];
-    tkrplot = [ pkgs.xorg.libX11 pkgs.tk.dev ];
+    tkrplot = with pkgs; [ xorg.libX11 tk.dev ];
     topicmodels = [ pkgs.gsl_1 ];
-    udunits2 = [ pkgs.udunits pkgs.expat ];
+    udunits2 = with pkgs; [ udunits expat ];
     units = [ pkgs.udunits ];
     V8 = [ pkgs.v8 ];
-    XBRL = [ pkgs.zlib pkgs.libxml2.dev ];
+    XBRL = with pkgs; [ zlib libxml2.dev ];
     xml2 = [ pkgs.libxml2.dev ] ++ lib.optionals stdenv.isDarwin [ pkgs.perl ];
-    XML = [ pkgs.libtool pkgs.libxml2.dev pkgs.xmlsec pkgs.libxslt ];
+    XML = with pkgs; [ libtool libxml2.dev xmlsec libxslt ];
     affyPLM = [ pkgs.zlib.dev ];
     bamsignals = [ pkgs.zlib.dev ];
     BitSeq = [ pkgs.zlib.dev ];
@@ -368,10 +372,10 @@ let
     gmapR = [ pkgs.zlib.dev ];
     Rsubread = [ pkgs.zlib.dev ];
     XVector = [ pkgs.zlib.dev ];
-    Rsamtools = [ pkgs.zlib.dev pkgs.curl.dev ];
+    Rsamtools = with pkgs; [ zlib.dev curl.dev ];
     rtracklayer = [ pkgs.zlib.dev ];
     affyio = [ pkgs.zlib.dev ];
-    VariantAnnotation = [ pkgs.zlib.dev pkgs.curl.dev ];
+    VariantAnnotation = with pkgs; [ zlib.dev curl.dev ];
     snpStats = [ pkgs.zlib.dev ];
     hdf5r = [ pkgs.hdf5.dev ];
   };
@@ -395,7 +399,7 @@ let
     RcppEigen = [ pkgs.libiconv ];
     RCurl = [ pkgs.curl.dev ];
     R2SWF = [ pkgs.pkg-config ];
-    rgl = [ pkgs.libGLU pkgs.libGLU.dev pkgs.libGL pkgs.xlibsWrapper ];
+    rgl = with pkgs; [ libGLU libGLU.dev libGL xlibsWrapper ];
     RGtk2 = [ pkgs.pkg-config ];
     RProtoBuf = [ pkgs.pkg-config ];
     Rpoppler = [ pkgs.pkg-config ];
@@ -406,13 +410,14 @@ let
     gdtools = [ pkgs.pkg-config ];
     jqr = [ pkgs.jq.lib ];
     kza = [ pkgs.pkg-config ];
-    lwgeom = [ pkgs.pkg-config pkgs.proj.dev pkgs.sqlite.dev ];
+    lwgeom = with pkgs; [ pkg-config proj.dev sqlite.dev ];
     magick = [ pkgs.pkg-config ];
     mwaved = [ pkgs.pkg-config ];
     odbc = [ pkgs.pkg-config ];
     openssl = [ pkgs.pkg-config ];
     pdftools = [ pkgs.pkg-config ];
-    sf = [ pkgs.pkg-config pkgs.sqlite.dev pkgs.proj.dev ];
+    sf = with pkgs; [ pkg-config sqlite.dev proj.dev ];
+    terra = with pkgs; [ pkg-config sqlite.dev proj.dev ];
     showtext = [ pkgs.pkg-config ];
     spate = [ pkgs.pkg-config ];
     stringi = [ pkgs.pkg-config ];
@@ -425,11 +430,11 @@ let
     mashr = [ pkgs.gsl ];
     hadron = [ pkgs.gsl ];
     AMOUNTAIN = [ pkgs.gsl ];
-    Rsymphony = [ pkgs.pkg-config pkgs.doxygen pkgs.graphviz pkgs.subversion ];
-    tcltk2 = [ pkgs.tcl pkgs.tk ];
-    tikzDevice = [ pkgs.which pkgs.texlive.combined.scheme-medium ];
+    Rsymphony = with pkgs; [ pkg-config doxygen graphviz subversion ];
+    tcltk2 = with pkgs; [ tcl tk ];
+    tikzDevice = with pkgs; [ which texlive.combined.scheme-medium ];
     gridGraphics = [ pkgs.which ];
-    adimpro = [ pkgs.which pkgs.xorg.xdpyinfo ];
+    adimpro = with pkgs; [ which xorg.xdpyinfo ];
     mzR = [ pkgs.netcdf ];
     cluster = [ pkgs.libiconv ];
     KernSmooth = [ pkgs.libiconv ];
@@ -450,6 +455,7 @@ let
     glmnet = [ pkgs.libiconv ];
     mvtnorm = [ pkgs.libiconv ];
     statmod = [ pkgs.libiconv ];
+    rsvg = [ pkgs.librsvg.dev ];
   };
 
   packagesRequireingX = [
@@ -949,6 +955,18 @@ let
       '';
     });
 
+    R_cache = old.R_cache.overrideDerivation (attrs: {
+      preConfigure = ''
+        export R_CACHE_ROOTPATH=$TMP
+      '';
+    });
+
+    lpsymphony = old.lpsymphony.overrideDerivation (attrs: {
+      preConfigure = ''
+        patchShebangs configure
+      '';
+    });
+
   };
 in
   self
diff --git a/nixpkgs/pkgs/development/r-modules/generate-r-packages.R b/nixpkgs/pkgs/development/r-modules/generate-r-packages.R
index da9e0970b0f4..1ac15ef79e79 100755
--- a/nixpkgs/pkgs/development/r-modules/generate-r-packages.R
+++ b/nixpkgs/pkgs/development/r-modules/generate-r-packages.R
@@ -48,8 +48,7 @@ escapeName <- function(name) {
 }
 
 formatPackage <- function(name, version, sha256, depends, imports, linkingTo) {
-    name <- escapeName(name)
-    attr <- gsub(".", "_", name, fixed=TRUE)
+    attr <- gsub(".", "_", escapeName(name), fixed=TRUE)
     options(warn=5)
     depends <- paste( if (is.na(depends)) "" else gsub("[ \t\n]+", "", depends)
                     , if (is.na(imports)) "" else gsub("[ \t\n]+", "", imports)
diff --git a/nixpkgs/pkgs/development/r-modules/patches/Rhdf5lib.patch b/nixpkgs/pkgs/development/r-modules/patches/Rhdf5lib.patch
index dcd9b61798bd..b5233df4452b 100644
--- a/nixpkgs/pkgs/development/r-modules/patches/Rhdf5lib.patch
+++ b/nixpkgs/pkgs/development/r-modules/patches/Rhdf5lib.patch
@@ -2,11 +2,11 @@ diff --git a/configure b/configure
 index e2d292e..b13c0db 100755
 --- a/configure
 +++ b/configure
-@@ -2880,6 +2880,7 @@ $MAKE
+@@ -3874,6 +3874,7 @@
+ 
  echo "building the hdf5 library...";
  cd ../;
- ## we add the '-w' flag to suppress all the warnings hdf5 prints
 +sed -i 's#/bin/mv#mv#' configure
- ./configure --with-pic --enable-shared=no --enable-cxx \
-     --with-szlib \
-     CXX="${CXX}" CXFLAGS="${CXXFLAGS} -w" \
+ ./configure --with-pic --enable-shared=no --enable-cxx --enable-hl \
+     --with-szlib=${SZIP_HOME} --with-zlib=${ZLIB_HOME} \
+     ${WITH_S3_VFD} \
diff --git a/nixpkgs/pkgs/development/ruby-modules/gem-config/default.nix b/nixpkgs/pkgs/development/ruby-modules/gem-config/default.nix
index bc70f30f9596..8111f6e53cdf 100644
--- a/nixpkgs/pkgs/development/ruby-modules/gem-config/default.nix
+++ b/nixpkgs/pkgs/development/ruby-modules/gem-config/default.nix
@@ -17,7 +17,7 @@
 # This seperates "what to build" (the exact gem versions) from "how to build"
 # (to make gems behave if necessary).
 
-{ lib, fetchurl, writeScript, ruby, libkrb5, libxml2, libxslt, python, stdenv, which
+{ lib, fetchurl, writeScript, ruby, libkrb5, libxml2, libxslt, python2, stdenv, which
 , libiconv, postgresql, v8, clang, sqlite, zlib, imagemagick, lasem
 , pkg-config , ncurses, xapian, gpgme, util-linux, tzdata, icu, libffi
 , cmake, libssh2, openssl, libmysqlclient, git, perl, pcre, gecode_3, curl
@@ -328,7 +328,7 @@ in
   # otherwise the gem will fail to link to the libv8 binary.
   # see: https://github.com/cowboyd/libv8/pull/161
   libv8 = attrs: {
-    buildInputs = [ which v8 python ];
+    buildInputs = [ which v8 python2 ];
     buildFlags = [ "--with-system-v8=true" ];
     dontBuild = false;
     postPatch = ''
diff --git a/nixpkgs/pkgs/development/ruby-modules/with-packages/Gemfile b/nixpkgs/pkgs/development/ruby-modules/with-packages/Gemfile
index b3ddb5b13106..401fa3c66b0f 100644
--- a/nixpkgs/pkgs/development/ruby-modules/with-packages/Gemfile
+++ b/nixpkgs/pkgs/development/ruby-modules/with-packages/Gemfile
@@ -55,6 +55,7 @@ source 'https://rubygems.org' do
   gem 'fog-dnsimple'
   gem 'gdk_pixbuf2'
   gem 'gio2'
+  gem 'github-pages'
   gem 'gitlab-markup'
   gem 'glib2'
   # gem 'gobject-introspection' fails on require
@@ -131,6 +132,7 @@ source 'https://rubygems.org' do
   gem 'sinatra'
   gem 'slop'
   gem 'snappy'
+  gem 'snmp'
   gem 'sqlite3'
   gem 'taglib-ruby'
   gem 'thrift'
diff --git a/nixpkgs/pkgs/development/tools/ammonite/default.nix b/nixpkgs/pkgs/development/tools/ammonite/default.nix
index 680217acfbb8..ab1ea2a82a33 100644
--- a/nixpkgs/pkgs/development/tools/ammonite/default.nix
+++ b/nixpkgs/pkgs/development/tools/ammonite/default.nix
@@ -17,7 +17,7 @@ let
         inherit sha256;
       };
 
-      phases = "installPhase";
+      dontUnpack = true;
 
       installPhase = ''
         install -Dm755 $src $out/bin/amm
@@ -66,7 +66,7 @@ let
           with a lot of ergonomic improvements and configurability
           that may be familiar to people coming from IDEs or other REPLs such as IPython or Zsh.
         '';
-        homepage = "http://www.lihaoyi.com/Ammonite/";
+        homepage = "https://www.lihaoyi.com/Ammonite/";
         license = licenses.mit;
         platforms = platforms.all;
         maintainers = [ maintainers.nequissimus ];
diff --git a/nixpkgs/pkgs/development/tools/analysis/cargo-tarpaulin/default.nix b/nixpkgs/pkgs/development/tools/analysis/cargo-tarpaulin/default.nix
index ebbfa619fed3..338c711e5274 100644
--- a/nixpkgs/pkgs/development/tools/analysis/cargo-tarpaulin/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/cargo-tarpaulin/default.nix
@@ -1,4 +1,4 @@
-{ lib, pkg-config, rustPlatform, fetchFromGitHub, openssl }:
+{ lib, stdenv, rustPlatform, fetchFromGitHub, pkg-config, curl, openssl, Security }:
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-tarpaulin";
@@ -14,7 +14,8 @@ rustPlatform.buildRustPackage rec {
   nativeBuildInputs = [
     pkg-config
   ];
-  buildInputs = [ openssl ];
+  buildInputs = [ openssl ]
+    ++ lib.optionals stdenv.isDarwin [ curl Security ];
 
   cargoSha256 = "sha256-1lFGczzcN4QPsIpEVQiSmNS7L+9rlSfxi+gopt2E7Ec=";
   #checkFlags = [ "--test-threads" "1" ];
@@ -25,6 +26,5 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/xd009642/tarpaulin";
     license = with licenses; [ mit /* or */ asl20 ];
     maintainers = with maintainers; [ hugoreeves ];
-    platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/analysis/checkstyle/default.nix b/nixpkgs/pkgs/development/tools/analysis/checkstyle/default.nix
index 4c735de89de9..c22f25fbc938 100644
--- a/nixpkgs/pkgs/development/tools/analysis/checkstyle/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/checkstyle/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchurl, makeWrapper, jre }:
 
 stdenv.mkDerivation rec {
-  version = "8.44";
+  version = "8.45.1";
   pname = "checkstyle";
 
   src = fetchurl {
     url = "https://github.com/checkstyle/checkstyle/releases/download/checkstyle-${version}/checkstyle-${version}-all.jar";
-    sha256 = "sha256-tXTU5A4mKQ0DDWCE3VUXB3fbanHyFNSIcTMJ3NRlj6A=";
+    sha256 = "sha256-H4w/rjVBhZCfBzLavd4/BkojwhCu05VsxrtzyS0wyk4=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/development/tools/analysis/codeql/default.nix b/nixpkgs/pkgs/development/tools/analysis/codeql/default.nix
index df3c42b4718f..a4c51121cd5f 100644
--- a/nixpkgs/pkgs/development/tools/analysis/codeql/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/codeql/default.nix
@@ -12,7 +12,7 @@
 
 stdenv.mkDerivation rec {
   pname = "codeql";
-  version = "2.5.7";
+  version = "2.5.9";
 
   dontConfigure = true;
   dontBuild = true;
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   src = fetchzip {
     url = "https://github.com/github/codeql-cli-binaries/releases/download/v${version}/codeql.zip";
-    sha256 = "sha256-dKJQv/omXT/L5dWYkveXodNNt5Q3i1WDIA9nwmo0Sfc=";
+    sha256 = "sha256-r3Jm+VYjn0Dz4BCSbADbgTWL1owbyIXlkoj6mOmZcZk=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/tools/analysis/dotenv-linter/default.nix b/nixpkgs/pkgs/development/tools/analysis/dotenv-linter/default.nix
index 51e43555d5ea..983dd2c2a999 100644
--- a/nixpkgs/pkgs/development/tools/analysis/dotenv-linter/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/dotenv-linter/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "dotenv-linter";
-  version = "3.1.0";
+  version = "3.1.1";
 
   src = fetchFromGitHub {
     owner = "dotenv-linter";
     repo = "dotenv-linter";
     rev = "v${version}";
-    sha256 = "sha256-hhaMI2Z97aT/8FxxtWpn+o3BSo26iyBP+ucpO3x4AbQ=";
+    sha256 = "sha256-kBBn8Lgb3427K00Ag35Ei9oBD7L0Zp/lr0cAKqZpULo=";
   };
 
-  cargoSha256 = "sha256-F9Xyg8/qp0j0+jyd5EVe2idocubzu+Cj6yAwrHuabvM=";
+  cargoSha256 = "sha256-7Porqqh6lYeBCK2pAtbL9nxtORB9rqSyVdJDoy1/ZDo=";
 
   meta = with lib; {
     description = "Lightning-fast linter for .env files. Written in Rust";
diff --git a/nixpkgs/pkgs/development/tools/analysis/flow/default.nix b/nixpkgs/pkgs/development/tools/analysis/flow/default.nix
index f602f1b1813b..78df8883cf9b 100644
--- a/nixpkgs/pkgs/development/tools/analysis/flow/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/flow/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "flow";
-  version = "0.155.1";
+  version = "0.158.0";
 
   src = fetchFromGitHub {
-    owner  = "facebook";
-    repo   = "flow";
-    rev    = "refs/tags/v${version}";
-    sha256 = "sha256-tlnABN/mcUsR8tgqgrQT+t6joo6wJMeGKtcbjyiVbbE=";
+    owner = "facebook";
+    repo = "flow";
+    rev = "v${version}";
+    sha256 = "sha256-Wl+Jux20gtl+upaKcFF3ub5TetNUf2GwfenH+Ddvqfw=";
   };
 
   installPhase = ''
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     install -Dm644 resources/shell/bash-completion $out/share/bash-completion/completions/flow
   '';
 
-  buildInputs = (with ocamlPackages; [ ocaml findlib ocamlbuild ocaml-migrate-parsetree-2 dtoa core_kernel sedlex_2 ocaml_lwt lwt_log lwt_ppx ppx_deriving ppx_gen_rec ppx_tools_versioned visitors wtf8 ])
+  buildInputs = (with ocamlPackages; [ ocaml findlib ocamlbuild ocaml-migrate-parsetree-2 dtoa core_kernel sedlex_2 ocaml_lwt lwt_log lwt_ppx ppx_deriving ppx_gen_rec visitors wtf8 ])
     ++ lib.optionals stdenv.isDarwin [ CoreServices ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/tools/analysis/frama-c/default.nix b/nixpkgs/pkgs/development/tools/analysis/frama-c/default.nix
index 9d87cb30520a..a1c7265e05dd 100644
--- a/nixpkgs/pkgs/development/tools/analysis/frama-c/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/frama-c/default.nix
@@ -31,12 +31,12 @@ in
 
 stdenv.mkDerivation rec {
   pname = "frama-c";
-  version = "23.0";
+  version = "23.1";
   slang   = "Vanadium";
 
   src = fetchurl {
     url    = "https://frama-c.com/download/frama-c-${version}-${slang}.tar.gz";
-    sha256 = "0pdm3y2nfyjhpnicv1pg9j48llq86dmb591d2imnafp4xfqani0s";
+    sha256 = "1rgkq9sg436smw005ag0j6y3xryhjn18a07m5wjfrfp0s1438nnj";
   };
 
   preConfigure = lib.optionalString stdenv.cc.isClang "configureFlagsArray=(\"--with-cpp=clang -E -C\")";
diff --git a/nixpkgs/pkgs/development/tools/analysis/hotspot/default.nix b/nixpkgs/pkgs/development/tools/analysis/hotspot/default.nix
index 94b440f58c8d..5fede1aee5c5 100644
--- a/nixpkgs/pkgs/development/tools/analysis/hotspot/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/hotspot/default.nix
@@ -1,18 +1,22 @@
-{ lib,
-  mkDerivation,
-  cmake,
-  elfutils,
-  extra-cmake-modules,
-  fetchFromGitHub,
-  kconfigwidgets,
-  ki18n,
-  kio,
-  kitemmodels,
-  kitemviews,
-  kwindowsystem,
-  libelf,
-  qtbase,
-  threadweaver,
+{ lib
+, mkDerivation
+, cmake
+, elfutils
+, extra-cmake-modules
+, fetchFromGitHub
+, kconfigwidgets
+, ki18n
+, kio
+, kitemmodels
+, kitemviews
+, kwindowsystem
+, libelf
+, qtbase
+, threadweaver
+, qtx11extras
+, zstd
+, kddockwidgets
+, rustc-demangle
 }:
 
 mkDerivation rec {
@@ -27,10 +31,12 @@ mkDerivation rec {
     fetchSubmodules = true;
   };
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [
+    cmake
+    extra-cmake-modules
+  ];
   buildInputs = [
     elfutils
-    extra-cmake-modules
     kconfigwidgets
     ki18n
     kio
@@ -40,6 +46,10 @@ mkDerivation rec {
     libelf
     qtbase
     threadweaver
+    qtx11extras
+    zstd
+    kddockwidgets
+    rustc-demangle
   ];
 
   # hotspot checks for the presence of third party libraries'
@@ -47,9 +57,14 @@ mkDerivation rec {
   # submodules; but Nix clones them and removes .git (for reproducibility).
   # So we need to fake their existence here.
   postPatch = ''
-    mkdir -p 3rdparty/perfparser/.git
+    mkdir -p 3rdparty/{perfparser,PrefixTickLabels}/.git
   '';
 
+  cmakeFlags = [
+    "-DRUSTC_DEMANGLE_INCLUDE_DIR=${rustc-demangle}/include"
+    "-DRUSTC_DEMANGLE_LIBRARY=${rustc-demangle}/lib/librustc_demangle.so"
+  ];
+
   meta = {
     description = "A GUI for Linux perf";
     longDescription = ''
@@ -58,7 +73,7 @@ mkDerivation rec {
       then displays the result in a graphical way.
     '';
     homepage = "https://github.com/KDAB/hotspot";
-    license = with lib.licenses; [ gpl2 gpl3 ];
+    license = with lib.licenses; [ gpl2Only gpl3Only ];
     platforms = lib.platforms.linux;
     maintainers = with lib.maintainers; [ nh2 ];
   };
diff --git a/nixpkgs/pkgs/development/tools/analysis/nix-linter/default.nix b/nixpkgs/pkgs/development/tools/analysis/nix-linter/default.nix
index f01886c883bc..1a6539520d73 100644
--- a/nixpkgs/pkgs/development/tools/analysis/nix-linter/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/nix-linter/default.nix
@@ -20,14 +20,14 @@
 }:
 
 mkDerivation rec {
-  pname = "nix-linter-unstable";
-  version = "2021-06-16";
+  pname = "nix-linter";
+  version = "0.2.0.3";
 
   src = fetchFromGitHub {
     owner = "Synthetica9";
     repo = "nix-linter";
-    rev = "74707ed48dcc58dbfa27ae25ee0e044c072cc344";
-    sha256 = "17scghkinpx3pzlw3hw023ybnd8cy7bqfy8b48vwaq8a7bnm2rs3";
+    rev = "38c4a14681cf3a1e6f098d8b723db503910a28d8";
+    sha256 = "16igk4xnm4mg9mw0zg2zk6s44axia3fs6334fasvjy0c7cjwk4c7";
   };
 
   isLibrary = false;
diff --git a/nixpkgs/pkgs/development/tools/analysis/radare2/default.nix b/nixpkgs/pkgs/development/tools/analysis/radare2/default.nix
index 5c239cfc63e1..198ce101bf56 100644
--- a/nixpkgs/pkgs/development/tools/analysis/radare2/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/radare2/default.nix
@@ -26,17 +26,31 @@
 , luaBindings ? false
 }:
 
+let
+  # FIXME: Compare revision with https://github.com/radareorg/radare2/blob/master/libr/asm/arch/arm/v35arm64/Makefile#L20
+  arm64 = fetchFromGitHub {
+    owner = "radareorg";
+    repo = "vector35-arch-arm64";
+    rev = "5837915960c2ce862a77c99a374abfb7d18a8534";
+    sha256 = "sha256-bs8wjOX+txB193oqIIZ7yx9pwpVhR3HAaWuDLPLG7m4=";
+  };
+in
 stdenv.mkDerivation rec {
   pname = "radare2";
-  version = "5.3.1";
+  version = "5.4.0";
 
   src = fetchFromGitHub {
     owner = "radare";
     repo = "radare2";
     rev = version;
-    sha256 = "sha256-VS8eG5RXwKtJSLmyaSifopJU7WYGMUcznn+burPqEYE=";
+    sha256 = "sha256-KRHMJ0lW0OF8ejcrigp4caPsuR3iaGcglCYxJSUhGJw=";
   };
 
+  preBuild = ''
+    cp -r ${arm64} libr/asm/arch/arm/v35arm64/arch-arm64
+    chmod -R +w libr/asm/arch/arm/v35arm64/arch-arm64
+  '';
+
   postInstall = ''
     install -D -m755 $src/binr/r2pm/r2pm $out/bin/r2pm
   '';
diff --git a/nixpkgs/pkgs/development/tools/analysis/randoop/default.nix b/nixpkgs/pkgs/development/tools/analysis/randoop/default.nix
index ed060d847ec8..5ea43e5555bc 100644
--- a/nixpkgs/pkgs/development/tools/analysis/randoop/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/randoop/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchurl, unzip }:
 
 stdenv.mkDerivation rec {
-  version = "4.2.5";
+  version = "4.2.6";
   pname = "randoop";
 
   src = fetchurl {
     url = "https://github.com/randoop/randoop/releases/download/v${version}/${pname}-${version}.zip";
-    sha256 = "0v3vla3k6csfb8w0j9njrhcjj4n7yh172n9wv6z397f1sa0fs202";
+    sha256 = "sha256-69cKAyMwORG4A91OARmY4uQKgBZIx9N/zc7TZ086CK0=";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/nixpkgs/pkgs/development/tools/analysis/sparse/default.nix b/nixpkgs/pkgs/development/tools/analysis/sparse/default.nix
index 66b457f9902a..efbc46448259 100644
--- a/nixpkgs/pkgs/development/tools/analysis/sparse/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/sparse/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, lib, stdenv, pkg-config, libxml2, llvm }:
+{ fetchurl, lib, stdenv, pkg-config, libxml2, llvm, perl }:
 
 stdenv.mkDerivation rec {
   pname = "sparse";
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   '';
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ libxml2 llvm ];
+  buildInputs = [ libxml2 llvm perl ];
   doCheck = true;
 
   meta = {
diff --git a/nixpkgs/pkgs/development/tools/analysis/tflint/default.nix b/nixpkgs/pkgs/development/tools/analysis/tflint/default.nix
index a5798c6ad560..6f3b62fc6e42 100644
--- a/nixpkgs/pkgs/development/tools/analysis/tflint/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/tflint/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "tflint";
-  version = "0.30.0";
+  version = "0.31.0";
 
   src = fetchFromGitHub {
     owner = "terraform-linters";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0xdn8xakywms8gcacmjvx0ivv37i3vj1d41c8sjlnf1s13q3zv7k";
+    sha256 = "1aas07r5x2f7byzslfdqxi5dr0gwg5dy2qznnrs7w83ziqw6lxkm";
   };
 
-  vendorSha256 = "18w0wz3raysba99cxcc8pk4md9j438g4y2d2v2pk2l6qri9apscw";
+  vendorSha256 = "10b6ny1fq6iwvhgq5293cdvd55mq3xgr2sc9kqshvjznwimfnb5z";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/tools/analysis/tfsec/default.nix b/nixpkgs/pkgs/development/tools/analysis/tfsec/default.nix
index 7800f4c1eda6..5ded1e5cab25 100644
--- a/nixpkgs/pkgs/development/tools/analysis/tfsec/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/tfsec/default.nix
@@ -5,13 +5,13 @@
 
 buildGoPackage rec {
   pname = "tfsec";
-  version = "0.50.7";
+  version = "0.58.6";
 
   src = fetchFromGitHub {
     owner = "aquasecurity";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0rklv9wj8gf95ar345k3ghpg9hxjpbsi693239wdfarzbsjrlcla";
+    sha256 = "sha256-FTrzEVTmMxXshDOvlSmQEwekde621KIclpFm1oEduEo=";
   };
 
   goPackagePath = "github.com/aquasecurity/tfsec";
diff --git a/nixpkgs/pkgs/development/tools/apksigcopier/default.nix b/nixpkgs/pkgs/development/tools/apksigcopier/default.nix
index 16cfbad52a07..cc23081473af 100644
--- a/nixpkgs/pkgs/development/tools/apksigcopier/default.nix
+++ b/nixpkgs/pkgs/development/tools/apksigcopier/default.nix
@@ -4,10 +4,9 @@
 , installShellFiles
 , bash
 , pandoc
+, apksigner
 }:
 
-# FIXME: how to "recommend" apksigner like the Debian package?
-
 python3.pkgs.buildPythonApplication rec {
   pname = "apksigcopier";
   version = "1.0.1";
@@ -22,6 +21,7 @@ python3.pkgs.buildPythonApplication rec {
   nativeBuildInputs = [ installShellFiles pandoc ];
   propagatedBuildInputs = with python3.pkgs; [ click ];
   checkInputs = with python3.pkgs; [ flake8 mypy pylint ];
+  makeWrapperArgs = [ "--prefix" "PATH" ":" "${lib.makeBinPath [ apksigner ]}" ];
 
   postPatch = ''
     substituteInPlace Makefile \
diff --git a/nixpkgs/pkgs/development/tools/apksigner/default.nix b/nixpkgs/pkgs/development/tools/apksigner/default.nix
new file mode 100644
index 000000000000..7b05479ea42f
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/apksigner/default.nix
@@ -0,0 +1,15 @@
+{ runCommand
+, makeWrapper
+, jre
+, build-tools
+}:
+let
+  tools = builtins.head build-tools;
+in
+runCommand "apksigner" {
+  nativeBuildInputs = [ makeWrapper ];
+} ''
+  mkdir -p $out/bin
+  makeWrapper "${jre}/bin/java" "$out/bin/apksigner" \
+    --add-flags "-jar ${tools}/libexec/android-sdk/build-tools/${tools.version}/lib/apksigner.jar"
+''
diff --git a/nixpkgs/pkgs/development/tools/apktool/default.nix b/nixpkgs/pkgs/development/tools/apktool/default.nix
index 33721e60b0ed..cc991af145b3 100644
--- a/nixpkgs/pkgs/development/tools/apktool/default.nix
+++ b/nixpkgs/pkgs/development/tools/apktool/default.nix
@@ -12,19 +12,22 @@ stdenv.mkDerivation rec {
     sha256 = "1r4z0z2c1drjd4ynpf36dklxs3hq1wdnzh63mk2yk4mmk75xg4mk";
   };
 
-  phases = [ "installPhase" ];
+  dontUnpack = true;
 
   nativeBuildInputs = [ makeWrapper ];
 
   sourceRoot = ".";
 
-  installPhase = ''
-    install -D ${src} "$out/libexec/apktool/apktool.jar"
-    mkdir -p "$out/bin"
-    makeWrapper "${jre}/bin/java" "$out/bin/apktool" \
-        --add-flags "-jar $out/libexec/apktool/apktool.jar" \
-        --prefix PATH : "${builtins.head build-tools}/libexec/android-sdk/build-tools/28.0.3"
-  '';
+  installPhase =
+    let
+      tools = builtins.head build-tools;
+    in ''
+      install -D ${src} "$out/libexec/apktool/apktool.jar"
+      mkdir -p "$out/bin"
+      makeWrapper "${jre}/bin/java" "$out/bin/apktool" \
+          --add-flags "-jar $out/libexec/apktool/apktool.jar" \
+          --prefix PATH : "${tools}/libexec/android-sdk/build-tools/${tools.version}"
+    '';
 
   meta = with lib; {
     description = "A tool for reverse engineering Android apk files";
diff --git a/nixpkgs/pkgs/development/tools/async-profiler/default.nix b/nixpkgs/pkgs/development/tools/async-profiler/default.nix
index 3f31b921831a..8db41ce8bd73 100644
--- a/nixpkgs/pkgs/development/tools/async-profiler/default.nix
+++ b/nixpkgs/pkgs/development/tools/async-profiler/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "async-profiler";
-  version = "1.8.6";
+  version = "2.0";
 
   src = fetchFromGitHub {
     owner = "jvm-profiling-tools";
     repo = "async-profiler";
     rev = "v${version}";
-    sha256 = "sha256-MtRO0tbo4kDHcQmir8ulv0q1Qh+KnKIshb1NDtu1SKg=";
+    sha256 = "sha256-vSBueRNraMgLcaprPsBUriX3WZ7N0UrllnSVLL2F738=";
   };
 
   buildInputs = [ jdk8 ];
diff --git a/nixpkgs/pkgs/development/tools/aws-sam-cli/default.nix b/nixpkgs/pkgs/development/tools/aws-sam-cli/default.nix
index f07bcdd5fd5b..40c9958c3447 100644
--- a/nixpkgs/pkgs/development/tools/aws-sam-cli/default.nix
+++ b/nixpkgs/pkgs/development/tools/aws-sam-cli/default.nix
@@ -5,11 +5,11 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "aws-sam-cli";
-  version = "1.26.0";
+  version = "1.29.0";
 
   src = python3.pkgs.fetchPypi {
     inherit pname version;
-    sha256 = "11aqdwhs7wa6cp9zijqi4in3zvwirfnlcy45rrnsq0jdsh3i9hbh";
+    sha256 = "sha256-JXphjERqY5Vj8j2F4Z7FrFJJEpBgK/5236pYfQRVdco=";
   };
 
   # Tests are not included in the PyPI package
@@ -44,8 +44,8 @@ python3.pkgs.buildPythonApplication rec {
       --replace "Flask~=1.1.2" "Flask~=2.0" \
       --replace "dateparser~=0.7" "dateparser>=0.7" \
       --replace "docker~=4.2.0" "docker>=4.2.0" \
-      --replace "requests==2.23.0" "requests~=2.24" \
-      --replace "watchdog==0.10.3" "watchdog"
+      --replace "requests==" "requests~=" \
+      --replace "watchdog==" "watchdog #"
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/tools/backblaze-b2/default.nix b/nixpkgs/pkgs/development/tools/backblaze-b2/default.nix
index 171885d989a7..070546a3ff91 100644
--- a/nixpkgs/pkgs/development/tools/backblaze-b2/default.nix
+++ b/nixpkgs/pkgs/development/tools/backblaze-b2/default.nix
@@ -12,12 +12,12 @@ let
 in
 python3Packages.buildPythonApplication rec {
   pname = "backblaze-b2";
-  version = "2.5.0";
+  version = "3.0.1";
 
   src = python3Packages.fetchPypi {
     inherit version;
     pname = "b2";
-    sha256 = "0sh9k9fnj73ydqnk056m01xkilpxh7f4597cnczqhy21lxzr3d45";
+    sha256 = "sha256-Zr+5J6MCjfth+5fOSfHXpT/CAgD754ZpS1b1NqeGid8=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/tools/bacon/default.nix b/nixpkgs/pkgs/development/tools/bacon/default.nix
index 52f0d29ed60d..d883f3dccb8d 100644
--- a/nixpkgs/pkgs/development/tools/bacon/default.nix
+++ b/nixpkgs/pkgs/development/tools/bacon/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "bacon";
-  version = "1.1.6";
+  version = "1.1.8";
 
   src = fetchFromGitHub {
     owner = "Canop";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-0/fQhBHkoI/0PhuUDLGfyjytgEEJWSr1P67Rh0vGDnA=";
+    sha256 = "sha256-VM+suU3PLxGWXVIH26hbXFIfvRuJicLJX8D8fo1mZCM=";
   };
 
-  cargoSha256 = "sha256-O1jJXnvPLxJmcnf3qpdcpdrogQ7FtjHF8uUxQRWLDyg=";
+  cargoSha256 = "sha256-FgqYKmCEBbyv6+2GD5NwEvRz3582IZtkuVPaAT77bvY=";
 
   buildInputs = lib.optional stdenv.isDarwin CoreServices;
 
diff --git a/nixpkgs/pkgs/development/tools/bazelisk/default.nix b/nixpkgs/pkgs/development/tools/bazelisk/default.nix
index d2de1bcc063b..00852a4c90f1 100644
--- a/nixpkgs/pkgs/development/tools/bazelisk/default.nix
+++ b/nixpkgs/pkgs/development/tools/bazelisk/default.nix
@@ -15,7 +15,7 @@ buildGoModule rec {
 
   doCheck = false;
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.BazeliskVersion=${version}" ];
+  ldflags = [ "-s" "-w" "-X main.BazeliskVersion=${version}" ];
 
   meta = with lib; {
     description = "A user-friendly launcher for Bazel";
diff --git a/nixpkgs/pkgs/development/tools/buf/default.nix b/nixpkgs/pkgs/development/tools/buf/default.nix
index fc87f5b781a9..8bc4aee935b9 100644
--- a/nixpkgs/pkgs/development/tools/buf/default.nix
+++ b/nixpkgs/pkgs/development/tools/buf/default.nix
@@ -3,33 +3,38 @@
 , fetchFromGitHub
 , protobuf
 , git
+, testVersion
+, buf
 }:
 
 buildGoModule rec {
   pname = "buf";
-  version = "0.44.0";
+  version = "0.52.0";
 
   src = fetchFromGitHub {
     owner = "bufbuild";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ZcZvsFw/l/7N8Yb4HG6w96ce9c4g4iiG/TcDoj8RYmA=";
-    leaveDotGit = true; # Required by TestWorkspaceGit
+    sha256 = "sha256-WFL+ztFR8kV6cRY1Ax2TheH+xpA58CLnW69jDpMhe3M=";
   };
-  vendorSha256 = "sha256-g0wrHPeHFOL6KB0SUgBy2WK54Kttiks4cuYg8jf3N9g=";
+  vendorSha256 = "sha256-vbphThpEYDDm1iipcY0QXhKKuLSD87sAxiIUi7SfrAc=";
 
   patches = [
     # Skip a test that requires networking to be available to work.
     ./skip_test_requiring_network.patch
+    # Skip TestWorkspaceGit which requires .git and commits.
+    ./skip_test_requiring_dotgit.patch
   ];
 
   nativeBuildInputs = [ protobuf ];
+  # Required for TestGitCloner
   checkInputs = [ git ];
 
   ldflags = [ "-s" "-w" ];
 
   preCheck = ''
-    export PATH=$PATH:$GOPATH/bin
+    # The tests need access to some of the built utilities
+    export PATH="$PATH:$GOPATH/bin"
     # To skip TestCloneBranchAndRefToBucket
     export CI=true
   '';
@@ -38,24 +43,26 @@ buildGoModule rec {
     runHook preInstall
 
     mkdir -p "$out/bin"
-    dir="$GOPATH/bin"
     # Only install required binaries, don't install testing binaries
-    for file in \
+    for FILE in \
       "buf" \
       "protoc-gen-buf-breaking" \
       "protoc-gen-buf-lint" \
       "protoc-gen-buf-check-breaking" \
       "protoc-gen-buf-check-lint"; do
-      cp "$dir/$file" "$out/bin/"
+      cp "$GOPATH/bin/$FILE" "$out/bin/"
     done
 
     runHook postInstall
   '';
 
+  passthru.tests.version = testVersion { package = buf; };
+
   meta = with lib; {
-    description = "Create consistent Protobuf APIs that preserve compatibility and comply with design best-practices";
     homepage = "https://buf.build";
+    changelog = "https://github.com/bufbuild/buf/releases/tag/v${version}";
+    description = "Create consistent Protobuf APIs that preserve compatibility and comply with design best-practices";
     license = licenses.asl20;
-    maintainers = with maintainers; [ raboof ];
+    maintainers = with maintainers; [ raboof jk ];
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/buf/skip_test_requiring_dotgit.patch b/nixpkgs/pkgs/development/tools/buf/skip_test_requiring_dotgit.patch
new file mode 100644
index 000000000000..c4a7803661ad
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/buf/skip_test_requiring_dotgit.patch
@@ -0,0 +1,14 @@
+diff --git a/internal/buf/cmd/buf/workspace_test.go b/internal/buf/cmd/buf/workspace_test.go
+index e051690..8887837 100644
+--- a/internal/buf/cmd/buf/workspace_test.go
++++ b/internal/buf/cmd/buf/workspace_test.go
+@@ -335,6 +335,9 @@ func TestWorkspaceNestedArchive(t *testing.T) {
+ }
+ 
+ func TestWorkspaceGit(t *testing.T) {
++	// Requires .git directory which we do not retain due to
++	// `leaveDotGit` non-determinism
++	t.Skip()
+ 	// Directory paths specified as a git reference within a workspace.
+ 	t.Parallel()
+ 	testRunStdout(
diff --git a/nixpkgs/pkgs/development/tools/build-managers/apache-maven/default.nix b/nixpkgs/pkgs/development/tools/build-managers/apache-maven/default.nix
index 9e0103170e9f..64234b824c9d 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/apache-maven/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/apache-maven/default.nix
@@ -4,13 +4,13 @@ assert jdk != null;
 
 stdenv.mkDerivation rec {
   pname = "apache-maven";
-  version = "3.8.1";
+  version = "3.8.2";
 
   builder = ./builder.sh;
 
   src = fetchurl {
     url = "mirror://apache/maven/maven-3/${version}/binaries/${pname}-${version}-bin.tar.gz";
-    sha256 = "00pgmc9v2s2970wgl2ksvpqy4lxx17zhjm9fgd10fkamxc2ik2mr";
+    sha256 = "sha256-ja4QsJ/re45MB5/DmhHzKWq2MP2bxE7OoPsojOx3cPc=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/development/tools/build-managers/arpa2cm/default.nix b/nixpkgs/pkgs/development/tools/build-managers/arpa2cm/default.nix
index 0af9e77acf57..500afa7c959f 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/arpa2cm/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/arpa2cm/default.nix
@@ -1,12 +1,12 @@
-{ lib, stdenv, fetchFromGitHub, cmake }:
+{ lib, stdenv, fetchFromGitLab, cmake }:
 
 stdenv.mkDerivation rec {
   pname = "arpa2cm";
-  version = "0.5";
+  version = "0.9.0";
 
-  src = fetchFromGitHub {
-    sha256 = "093h7njj8d8iiwnw5byfxkkzlbny60fwv1w57j8f1lsd4yn6rih4";
-    rev = "version-${version}";
+  src = fetchFromGitLab {
+    sha256 = "sha256-1z0fH8vZJiPkY/C654us9s2BULM1tlvvYcszNqk34yI=";
+    rev = "v${version}";
     repo = pname;
     owner = "arpa2";
   };
@@ -15,7 +15,19 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "CMake Module library for the ARPA2 project";
+    longDescription = ''
+      The CMake module library for the ARPA2 project, including the LillyDAP,
+      TLSPool and IdentityHub software stacks. Like the KDE Extra CMake Modules (ECM)
+      which is a large-ish collection of curated CMake modules of particular
+      interest to Qt-based and KDE Frameworks-based applications, the ARPA2
+      CMake Modules (ARPA2CM) is a collection of modules for the software
+      stack from the ARPA2 project. This is largely oriented towards
+      TLS, SSL, X509, DER and LDAP technologies. The ARPA2 CMake Modules
+      also include modules used for product release and deployment of
+      the ARPA2 software stack.
+    '';
+    homepage = "https://gitlab.com/arpa2/arpa2cm";
     license = licenses.bsd2;
-    maintainers = with maintainers; [ leenaars ];
+    maintainers = with maintainers; [ leenaars fufexan ];
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/buildtools/default.nix b/nixpkgs/pkgs/development/tools/build-managers/bazel/buildtools/default.nix
index e181917c417a..4ff5c39fac67 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/bazel/buildtools/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/buildtools/default.nix
@@ -21,7 +21,7 @@ buildGoModule rec {
 
   excludedPackages = [ "generatetables" ];
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.buildVersion=${version} -X main.buildScmRevision=${src.rev}" ];
+  ldflags = [ "-s" "-w" "-X main.buildVersion=${version}" "-X main.buildScmRevision=${src.rev}" ];
 
   meta = with lib; {
     description = "Tools for working with Google's bazel buildtool. Includes buildifier, buildozer, and unused_deps";
diff --git a/nixpkgs/pkgs/development/tools/build-managers/bear/default.nix b/nixpkgs/pkgs/development/tools/build-managers/bear/default.nix
index 42fa584a8935..a81a57235408 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/bear/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/bear/default.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "bear";
-  version = "3.0.13";
+  version = "3.0.14";
 
   src = fetchFromGitHub {
     owner = "rizsotto";
     repo = pname;
     rev = version;
-    sha256 = "sha256-oMrTH3GjxiLBKX0i3ZuV+bNqpA7PkoAQAb/08Q/uELs=";
+    sha256 = "0qy96dyd29bjvfhi46y30hli5cvshw8am0spvcv9v43660wbczd7";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
@@ -49,6 +49,9 @@ stdenv.mkDerivation rec {
     ./no-double-relative.patch
   ];
 
+  # 'path' is unavailable: introduced in macOS 10.15
+  CXXFLAGS = lib.optional (stdenv.hostPlatform.system == "x86_64-darwin") "-D_LIBCPP_DISABLE_AVAILABILITY";
+
   meta = with lib; {
     description = "Tool that generates a compilation database for clang tooling";
     longDescription = ''
@@ -60,7 +63,5 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     platforms = platforms.unix;
     maintainers = with maintainers; [ babariviere qyliss ];
-    # ld: symbol(s) not found for architecture x86_64
-    broken = stdenv.isDarwin;
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/build-managers/cmake/default.nix b/nixpkgs/pkgs/development/tools/build-managers/cmake/default.nix
index 2de586f97cbf..a29ac38eb136 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/cmake/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/cmake/default.nix
@@ -102,7 +102,7 @@ stdenv.mkDerivation rec {
   ];
 
   # make install attempts to use the just-built cmake
-  preInstall = lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) ''
+  preInstall = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
     sed -i 's|bin/cmake|${buildPackages.cmakeMinimal}/bin/cmake|g' Makefile
   '';
 
diff --git a/nixpkgs/pkgs/development/tools/build-managers/gprbuild/boot.nix b/nixpkgs/pkgs/development/tools/build-managers/gprbuild/boot.nix
new file mode 100644
index 000000000000..352cd0b137be
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/build-managers/gprbuild/boot.nix
@@ -0,0 +1,90 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, gnat
+, which
+, xmlada # for src
+}:
+
+let
+  version = "21.0.0";
+
+  gprConfigKbSrc = fetchFromGitHub {
+    name = "gprconfig-kb-${version}-src";
+    owner = "AdaCore";
+    repo = "gprconfig_kb";
+    rev = "v${version}";
+    sha256 = "11qmzfdd0ipmhxl4k2hjidqc9i40bywrfkbiivd3lhscxca5pxpg";
+  };
+in
+
+stdenv.mkDerivation {
+  pname = "gprbuild-boot";
+  inherit version;
+
+  src = fetchFromGitHub {
+    name = "gprbuild-${version}";
+    owner = "AdaCore";
+    repo = "gprbuild";
+    rev = "v${version}";
+    sha256 = "1knpwasbrz6sxh3dhkc4izchcz4km04j77r4vxxhi23fbd8v1ynj";
+  };
+
+  nativeBuildInputs = [
+    gnat
+    which
+  ];
+
+  postPatch = ''
+    # The Makefile uses gprbuild to build gprbuild which
+    # we can't do at this point, delete it to prevent the
+    # default phases from failing.
+    rm Makefile
+
+    # make sure bootstrap script runs
+    patchShebangs --build bootstrap.sh
+  '';
+
+  # This setupHook populates GPR_PROJECT_PATH which is used by
+  # gprbuild to find dependencies. It works quite similar to
+  # the pkg-config setupHook in the sense that it also splits
+  # dependencies into GPR_PROJECT_PATH and GPR_PROJECT_PATH_FOR_BUILD,
+  # but gprbuild itself doesn't support this, so we'll need to
+  # introducing a wrapper for it in the future remains TODO.
+  # For the moment this doesn't matter since we have no situation
+  # were gprbuild is used to build something used at build time.
+  setupHook = ./gpr-project-path-hook.sh;
+
+  installPhase = ''
+    runHook preInstall
+
+    ./bootstrap.sh \
+      --with-xmlada=${xmlada.src} \
+      --with-kb=${gprConfigKbSrc} \
+      --prefix=$out
+
+    # Install custom compiler description which can detect nixpkgs'
+    # GNAT wrapper as a proper Ada compiler. The default compiler
+    # description expects the runtime library to be installed in
+    # the same prefix which isn't the case for nixpkgs. As a
+    # result, it would detect the unwrapped GNAT as a proper
+    # compiler which is unable to produce working binaries.
+    #
+    # Our compiler description is very similar to the upstream
+    # GNAT description except that we use a symlink in $out/nix-support
+    # created by the cc-wrapper to find the associated runtime
+    # libraries and use gnatmake instead of gnatls to find GNAT's
+    # bin directory.
+    install -m644 ${./nixpkgs-gnat.xml} $out/share/gprconfig/nixpkgs-gnat.xml
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Multi-language extensible build tool";
+    homepage = "https://github.com/AdaCore/gprbuild";
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.sternenseemann ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/build-managers/gprbuild/default.nix b/nixpkgs/pkgs/development/tools/build-managers/gprbuild/default.nix
new file mode 100644
index 000000000000..3155151ae0f8
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/build-managers/gprbuild/default.nix
@@ -0,0 +1,65 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, fetchpatch
+, gprbuild-boot
+, which
+, gnat
+, xmlada
+}:
+
+stdenv.mkDerivation {
+  pname = "gprbuild";
+
+  # See ./boot.nix for an explanation of the gprbuild setupHook,
+  # our custom knowledge base entry and the situation wrt a
+  # (future) gprbuild wrapper.
+  inherit (gprbuild-boot)
+    version
+    src
+    setupHook
+    meta
+    ;
+
+  nativeBuildInputs = [
+    gnat
+    gprbuild-boot
+    which
+  ];
+
+  propagatedBuildInputs = [
+    xmlada
+  ];
+
+  makeFlags = [
+    "ENABLE_SHARED=${if stdenv.hostPlatform.isStatic then "no" else "yes"}"
+    "PROCESSORS=$(NIX_BUILD_CORES)"
+    # confusingly, for gprbuild --target is autoconf --host
+    "TARGET=${stdenv.hostPlatform.config}"
+    "prefix=${placeholder "out"}"
+  ] ++ lib.optionals (!stdenv.hostPlatform.isStatic) [
+    "LIBRARY_TYPE=relocatable"
+  ];
+
+  # Fixes gprbuild being linked statically always
+  patches = lib.optional (!stdenv.hostPlatform.isStatic) (fetchpatch {
+    name = "gprbuild-relocatable-build.patch";
+    url = "https://aur.archlinux.org/cgit/aur.git/plain/relocatable-build.patch?h=gprbuild&id=1d4e8a5cb982e79135a0aaa3ef87654bed1fe4f0";
+    sha256 = "1r3xsp1pk9h666mm8mdravkybmd5gv2f751x2ffb1kxnwq1rwiyn";
+  });
+
+  buildFlags = [ "all" "libgpr.build" ];
+
+  installFlags = [ "all" "libgpr.install" ];
+
+  # link gprconfig_kb db from gprbuild-boot into build dir,
+  # the install process copies its contents to $out
+  preInstall = ''
+    ln -sf ${gprbuild-boot}/share/gprconfig share/gprconfig
+  '';
+
+  # no need for the install script
+  postInstall = ''
+    rm $out/doinstall
+  '';
+}
diff --git a/nixpkgs/pkgs/development/tools/build-managers/gprbuild/gpr-project-path-hook.sh b/nixpkgs/pkgs/development/tools/build-managers/gprbuild/gpr-project-path-hook.sh
new file mode 100644
index 000000000000..f98b2ab9e58d
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/build-managers/gprbuild/gpr-project-path-hook.sh
@@ -0,0 +1,8 @@
+addAdaObjectsPath() {
+    local role_post
+    getHostRoleEnvHook
+
+    addToSearchPath "GPR_PROJECT_PATH${role_post}" "$1/share/gpr"
+}
+
+addEnvHooks "$targetOffset" addAdaObjectsPath
diff --git a/nixpkgs/pkgs/development/tools/build-managers/gprbuild/nixpkgs-gnat.xml b/nixpkgs/pkgs/development/tools/build-managers/gprbuild/nixpkgs-gnat.xml
new file mode 100644
index 000000000000..ead88dc365c1
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/build-managers/gprbuild/nixpkgs-gnat.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" ?>
+<gprconfig>
+  <!-- This differs from the default GNAT compiler description
+       in the following ways:
+
+       * gnatmake is used over gnatls to detect the GNAT version
+         since the latter is not part of the wrapper.
+       * to find the runtime libraries, we rely on the symlink
+         ../nix-support/gprconfig-gnat-unwrapped which is a
+         gprconfig-specific addition to the cc-wrapper we employ
+         for Ada compilers (which is only GNAT at the moment).
+
+       For documentation on this file format and its use refer to
+       https://docs.adacore.com/gprbuild-docs/html/gprbuild_ug/companion_tools.html#the-gprconfig-knowledge-base
+  -->
+  <compiler_description>
+    <!-- We would like to name this something different, so users
+         of gprconfig know this is something custom, nixpkgs-related,
+         but unfortunately the knowledge base depends on the name of
+         the compiler for e. g. linker settings.
+    -->
+    <name>GNAT</name>
+    <executable prefix="1">(.*-.*-.*)?gnatmake</executable>
+    <version>
+      <external>${PREFIX}gnatmake -v</external>
+      <grep regexp="^GNATMAKE.+?(\d+(\.\d+)?)" group="1"></grep>
+    </version>
+    <languages>Ada</languages>
+    <variable name="gcc_version">
+      <external>${PREFIX}gcc -v</external>
+      <grep regexp="^[-\w]*gcc \S+ (\S+)" group="1"></grep>
+    </variable>
+    <!-- The ada runtime libraries and objects are only part of the unwrapped
+         GNAT derivation. We can't symlink them into the wrapper derivation
+         (at least not the canonical location) since that screws with linking
+         against libraries distributed with gcc.
+
+         As a workaround, we create a symlink to the unwrapped GNAT's "out"
+         output in the cc-wrapper which we can read into a variable here and
+         use to find GNAT's Ada runtime.
+    -->
+    <variable name="gnat_unwrapped">
+      <external>readlink -n ${PATH}/../nix-support/gprconfig-gnat-unwrapped</external>
+    </variable>
+    <runtimes default="default,kernel,native">
+       <directory group="default" >$gnat_unwrapped/lib/gcc(-lib)?/$TARGET/$gcc_version/adalib/</directory>
+       <directory group="default" contents="^rts-">$gnat_unwrapped/lib/gcc(-lib)?/$TARGET/$gcc_version/ada_object_path</directory>
+       <directory group="2" >$gnat_unwrapped/lib/gcc(-lib)?/$TARGET/$gcc_version/rts-(.*)/adalib/</directory>
+       <directory group="1" >$gnat_unwrapped/$TARGET/lib/gnat/(.*)/adalib/</directory>
+    </runtimes>
+    <target>
+      <external>${PREFIX}gcc -dumpmachine</external>
+      <grep regexp="[^\r\n]+"></grep>
+    </target>
+  </compiler_description>
+</gprconfig>
diff --git a/nixpkgs/pkgs/development/tools/build-managers/gradle/default.nix b/nixpkgs/pkgs/development/tools/build-managers/gradle/default.nix
index 3afe88043dee..cdcae79dde1e 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/gradle/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/gradle/default.nix
@@ -9,8 +9,9 @@ let
       url = "https://services.gradle.org/distributions/${name}-bin.zip";
     };
   };
-in rec {
-  gradleGen = {name, src, nativeVersion} : stdenv.mkDerivation {
+in
+rec {
+  gradleGen = { name, src, nativeVersion }: stdenv.mkDerivation {
     inherit name src nativeVersion;
 
     dontBuild = true;
@@ -27,20 +28,21 @@ in rec {
     '';
 
     fixupPhase = if (!stdenv.isLinux) then ":" else
-      let arch = if stdenv.is64bit then "amd64" else "i386"; in ''
-        mkdir patching
-        pushd patching
-        jar xf $out/lib/gradle/lib/native-platform-linux-${arch}-${nativeVersion}.jar
-        patchelf --set-rpath "${stdenv.cc.cc.lib}/lib:${stdenv.cc.cc.lib}/lib64" net/rubygrapefruit/platform/linux-${arch}/libnative-platform.so
-        jar cf native-platform-linux-${arch}-${nativeVersion}.jar .
-        mv native-platform-linux-${arch}-${nativeVersion}.jar $out/lib/gradle/lib/
-        popd
+    let arch = if stdenv.is64bit then "amd64" else "i386"; in
+    ''
+      mkdir patching
+      pushd patching
+      jar xf $out/lib/gradle/lib/native-platform-linux-${arch}-${nativeVersion}.jar
+      patchelf --set-rpath "${stdenv.cc.cc.lib}/lib:${stdenv.cc.cc.lib}/lib64" net/rubygrapefruit/platform/linux-${arch}/libnative-platform.so
+      jar cf native-platform-linux-${arch}-${nativeVersion}.jar .
+      mv native-platform-linux-${arch}-${nativeVersion}.jar $out/lib/gradle/lib/
+      popd
 
-        # The scanner doesn't pick up the runtime dependency in the jar.
-        # Manually add a reference where it will be found.
-        mkdir $out/nix-support
-        echo ${stdenv.cc.cc} > $out/nix-support/manual-runtime-dependencies
-      '';
+      # The scanner doesn't pick up the runtime dependency in the jar.
+      # Manually add a reference where it will be found.
+      mkdir $out/nix-support
+      echo ${stdenv.cc.cc} > $out/nix-support/manual-runtime-dependencies
+    '';
 
     nativeBuildInputs = [ makeWrapper unzip ];
     buildInputs = [ java ];
@@ -64,9 +66,9 @@ in rec {
   gradle_latest = gradle_7;
 
   gradle_7 = gradleGen (gradleSpec {
-    version = "7.1";
+    version = "7.1.1";
     nativeVersion = "0.22-milestone-16";
-    sha256 = "0yyqksq3zza7r9ls389ha81l3s768j7dfdqiwk3846qy4wcyxsrd";
+    sha256 = "0p9nss2xywwhjbpdcyma3d0ijvkav9hzmldpkcp447ch92cqd2xz";
   });
 
   gradle_6_8 = gradleGen (gradleSpec {
diff --git a/nixpkgs/pkgs/development/tools/build-managers/mage/default.nix b/nixpkgs/pkgs/development/tools/build-managers/mage/default.nix
index d8ccd3ad2fe0..cf719f2c0ca1 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/mage/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/mage/default.nix
@@ -15,8 +15,7 @@ buildGoModule rec {
 
   doCheck = false;
 
-  buildFlagsArray = [
-    "-ldflags="
+  ldflags = [
     "-X github.com/magefile/mage/mage.commitHash=v${version}"
     "-X github.com/magefile/mage/mage.gitTag=v${version}"
     "-X github.com/magefile/mage/mage.timestamp=1970-01-01T00:00:00Z"
diff --git a/nixpkgs/pkgs/development/tools/build-managers/msbuild/default.nix b/nixpkgs/pkgs/development/tools/build-managers/msbuild/default.nix
index 51fd32bd9de9..b214f89eac98 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/msbuild/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/msbuild/default.nix
@@ -3,8 +3,8 @@
 let
 
   xplat = fetchurl {
-    url = "https://github.com/mono/msbuild/releases/download/0.08/mono_msbuild_6.4.0.208.zip";
-    sha256 = "05k7qmnhfvrdgyjn6vp81jb97y21m261jnwdyqpjqpcmzz18j93g";
+    url = "https://github.com/mono/msbuild/releases/download/v16.9.0/mono_msbuild_6.12.0.137.zip";
+    sha256 = "1wnzbdpk4s9bmawlh359ak2b8zi0sgx1qvcjnvfncr1wsck53v7q";
   };
 
   deps = map (package: package.src)
@@ -23,11 +23,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "msbuild";
-  version = "16.8+xamarinxplat.2020.07.30.15.02";
+  version = "16.10.1+xamarinxplat.2021.05.26.14.00";
 
   src = fetchurl {
     url = "https://download.mono-project.com/sources/msbuild/msbuild-${version}.tar.xz";
-    sha256 = "10amyca78b6pjfsy54b1rgwz2c1bx0sfky9zhldvzy4divckp25g";
+    sha256 = "05ghqqkdj4s3d0xkp7mkdzjig5zj3k6ajx71j0g2wv6rdbvg6899";
   };
 
   nativeBuildInputs = [
@@ -47,16 +47,17 @@ stdenv.mkDerivation rec {
   LOCALE_ARCHIVE = lib.optionalString stdenv.isLinux
       "${glibcLocales}/lib/locale/locale-archive";
 
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/mono/msbuild/commit/cad85cefabdaa001fb4bdbea2f5bf1d1cdb83c9b.patch";
-      sha256 = "1s8agc7nxxs69b3fl1v1air0c4dpig3hy4sk11l1560jrlx06dhh";
-    })
-  ];
-
   postPatch = ''
+    # not patchShebangs, there is /bin/bash in the body of the script as well
+    substituteInPlace ./eng/cibuild_bootstrapped_msbuild.sh --replace /bin/bash ${stdenv.shell}
+
+    patchShebangs eng/*.sh mono/build/*.sh
+
     sed -i -e "/<\/projectImportSearchPaths>/a <property name=\"MSBuildExtensionsPath\" value=\"$out/lib/mono/xbuild\"/>" \
       src/MSBuild/app.config
+
+    # license check is case sensitive
+    mv LICENSE license.bak && mv license.bak license
   '';
 
   buildPhase = ''
@@ -70,9 +71,6 @@ stdenv.mkDerivation rec {
       nuget add $package -Source nixos
     done
 
-    # license check is case sensitive
-    mv LICENSE license.bak && mv license.bak license
-
     mkdir -p artifacts
     unzip ${xplat} -d artifacts
     mv artifacts/msbuild artifacts/mono-msbuild
@@ -82,9 +80,10 @@ stdenv.mkDerivation rec {
 
     # overwrite the file
     echo "#!${stdenv.shell}" > eng/common/dotnet-install.sh
+    echo "#!${stdenv.shell}" > mono/build/get_sdk_files.sh
 
-    # not patchShebangs, there is /bin/bash in the body of the script as well
-    substituteInPlace ./eng/cibuild_bootstrapped_msbuild.sh --replace /bin/bash ${stdenv.shell}
+    mkdir -p mono/dotnet-overlay/msbuild-bin
+    cp ${dotnet-sdk}/sdk/*/{Microsoft.NETCoreSdk.BundledVersions.props,RuntimeIdentifierGraph.json} mono/dotnet-overlay/msbuild-bin
 
     # DisableNerdbankVersioning https://gitter.im/Microsoft/msbuild/archives/2018/06/27?at=5b33dbc4ce3b0f268d489bfa
     # TODO there are some (many?) failing tests
diff --git a/nixpkgs/pkgs/development/tools/build-managers/msbuild/deps.nix b/nixpkgs/pkgs/development/tools/build-managers/msbuild/deps.nix
index 32d1c9569a66..4a006428a505 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/msbuild/deps.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/msbuild/deps.nix
@@ -1,41 +1,81 @@
 { fetchurl }: [
   {
+    name = "benchmarkdotnet";
+    version = "0.12.1";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/benchmarkdotnet/0.12.1/benchmarkdotnet.0.12.1.nupkg";
+      sha256 = "0whk81a0v70lkhcd9yffls6vnqnc63hw6jfx8mr7iqp02jbrb15w";
+    };
+  }
+  {
+    name = "benchmarkdotnet.annotations";
+    version = "0.12.1";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/benchmarkdotnet.annotations/0.12.1/benchmarkdotnet.annotations.0.12.1.nupkg";
+      sha256 = "061v8zdp69a80vb9gf5n8di2qqz6bwj2215shgsw40i0s8j3flw3";
+    };
+  }
+  {
+    name = "commandlineparser";
+    version = "2.4.3";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/commandlineparser/2.4.3/commandlineparser.2.4.3.nupkg";
+      sha256 = "1aca3q25n3dg55v4j3kzlzfzd5k2jpy6zhp8x7g74pdfdqzrhg55";
+    };
+  }
+  {
     name = "fsharp.net.sdk";
     version = "1.0.4-bundled-0100";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/fsharp.net.sdk/1.0.4-bundled-0100/fsharp.net.sdk.1.0.4-bundled-0100.nupkg";
-      sha256 = "0zy4n2an2jh3xrdy1m5fjvynpd0b66i0hkpqdhy2q6d7dj0ks351";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/fsharp.net.sdk/1.0.4-bundled-0100/fsharp.net.sdk.1.0.4-bundled-0100.nupkg";
+      sha256 = "06hydwby6pzqzzcxmz4z8v5hiiylhzldl7ggfvr4c5xhpb6bcl78";
+    };
+  }
+  {
+    name = "iced";
+    version = "1.4.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/iced/1.4.0/iced.1.4.0.nupkg";
+      sha256 = "1l8l20clb56vfsjcpspz0z4f3gy3mr2nwilbb8wjlr5fhx6g23n9";
     };
   }
   {
     name = "illink.tasks";
-    version = "0.1.6-prerelease.19380.1";
+    version = "0.1.6-prerelease.20175.2";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/illink.tasks/0.1.6-prerelease.19380.1/illink.tasks.0.1.6-prerelease.19380.1.nupkg";
-      sha256 = "1ihgzhizgiijg2kj38fn6hsinvxi7bvl0dpk7mbgc08rpgfdsvja";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/7d9f5c21-0d79-403f-bfe3-9a4506529760/nuget/v3/flat2/illink.tasks/0.1.6-prerelease.20175.2/illink.tasks.0.1.6-prerelease.20175.2.nupkg";
+      sha256 = "0s4fk48m255n3figh0nnw8cp40qk33khq56sjqnippbk8n6w487z";
+    };
+  }
+  {
+    name = "jnm2.referenceassemblies.net35";
+    version = "1.0.1";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/jnm2.referenceassemblies.net35/1.0.1/jnm2.referenceassemblies.net35.1.0.1.nupkg";
+      sha256 = "10dplszwicqnjyxbxkyc3cs0kzqvcrf73pmbxxd0rmqnakz23a7c";
     };
   }
   {
     name = "largeaddressaware";
-    version = "1.0.3";
+    version = "1.0.5";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/largeaddressaware/1.0.3/largeaddressaware.1.0.3.nupkg";
-      sha256 = "1ppss9bgj0hf5s8307bnm2a4qm10mrymp0v12m28a5q81zjz0fr5";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/largeaddressaware/1.0.5/largeaddressaware.1.0.5.nupkg";
+      sha256 = "0hsjh3m3wr5bfy82bzn606iin35ps03lzfrn3hvjgcn1w68d6291";
     };
   }
   {
     name = "microbuild.core";
     version = "0.2.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microbuild.core/0.2.0/microbuild.core.0.2.0.nupkg";
-      sha256 = "1ya040l8fhi0hhira8kwdmv7cc88ar7kiixkpxirgcn9gmpn7ggv";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microbuild.core/0.2.0/microbuild.core.0.2.0.nupkg";
+      sha256 = "0q4s45jskbyxfx4ay6znnvv94zma2wd85b8rwmwszd2nb0xl3194";
     };
   }
   {
     name = "microbuild.core.sentinel";
     version = "1.0.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microbuild.core.sentinel/1.0.0/microbuild.core.sentinel.1.0.0.nupkg";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microbuild.core.sentinel/1.0.0/microbuild.core.sentinel.1.0.0.nupkg";
       sha256 = "035kqx5fkapql108n222lz8psvxk04mv3dy1qg3h08i4b8j3dy8i";
     };
   }
@@ -43,7 +83,7 @@
     name = "microsoft.bcl.asyncinterfaces";
     version = "1.1.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.bcl.asyncinterfaces/1.1.0/microsoft.bcl.asyncinterfaces.1.1.0.nupkg";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.bcl.asyncinterfaces/1.1.0/microsoft.bcl.asyncinterfaces.1.1.0.nupkg";
       sha256 = "1dq5yw7cy6s42193yl4iqscfw5vzkjkgv0zyy32scr4jza6ni1a1";
     };
   }
@@ -51,15 +91,15 @@
     name = "microsoft.build";
     version = "14.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.build/14.3.0/microsoft.build.14.3.0.nupkg";
-      sha256 = "16jzspb0qj9szjfhhmb836vgqdq4m1gk3y816qg2mdjmv52r91dh";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build/14.3.0/microsoft.build.14.3.0.nupkg";
+      sha256 = "1zamn3p8xxi0wsjlpln0y71ncb977f3fp08mvaz4wmbmi76nr0rz";
     };
   }
   {
     name = "microsoft.build.centralpackageversions";
     version = "2.0.1";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.build.centralpackageversions/2.0.1/microsoft.build.centralpackageversions.2.0.1.nupkg";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build.centralpackageversions/2.0.1/microsoft.build.centralpackageversions.2.0.1.nupkg";
       sha256 = "17cjiaj2b98q8s89168g42jb8rhwm6062jcbv57rbkdiiwdsn55k";
     };
   }
@@ -67,31 +107,31 @@
     name = "microsoft.build.framework";
     version = "14.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.build.framework/14.3.0/microsoft.build.framework.14.3.0.nupkg";
-      sha256 = "19p1w27d3qi09fxag0byvjrv6x54nd5fkiszqzqr7676r90aswxh";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build.framework/14.3.0/microsoft.build.framework.14.3.0.nupkg";
+      sha256 = "0r7y1i7dbr3pb53fdrh268hyi627w85nzv2iblwyg8dzkfxraafd";
     };
   }
   {
     name = "microsoft.build.framework";
     version = "15.5.180";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.build.framework/15.5.180/microsoft.build.framework.15.5.180.nupkg";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build.framework/15.5.180/microsoft.build.framework.15.5.180.nupkg";
       sha256 = "064y3a711ikx9pm9d2wyms4i3k4f9hfvn3vymhwygg7yv7gcj92z";
     };
   }
   {
     name = "microsoft.build.nugetsdkresolver";
-    version = "5.7.0-rtm.6710";
+    version = "5.9.1-rc.8";
     src = fetchurl {
-      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/9d15d80a-6afc-4f7e-901b-9378146a4b8b/nuget/v3/flat2/microsoft.build.nugetsdkresolver/5.7.0-rtm.6710/microsoft.build.nugetsdkresolver.5.7.0-rtm.6710.nupkg";
-      sha256 = "07zi6akd5iqq6q3cwc273vvfx70dn2lzx1ham4pzlq7dh7gq3vha";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.build.nugetsdkresolver/5.9.1-rc.8/microsoft.build.nugetsdkresolver.5.9.1-rc.8.nupkg";
+      sha256 = "1dgxkal27rqlnz0ppbmbg4v7yla5wb9s2djk5cb6bpsqy2ngd88d";
     };
   }
   {
     name = "microsoft.build.tasks.git";
     version = "1.1.0-beta-20206-02";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.build.tasks.git/1.1.0-beta-20206-02/microsoft.build.tasks.git.1.1.0-beta-20206-02.nupkg";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.build.tasks.git/1.1.0-beta-20206-02/microsoft.build.tasks.git.1.1.0-beta-20206-02.nupkg";
       sha256 = "1gwlhvqlkvs5c7qjky726alf71xflbh3x970g3dypfczi0y6gccx";
     };
   }
@@ -99,87 +139,135 @@
     name = "microsoft.build.utilities.core";
     version = "14.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.build.utilities.core/14.3.0/microsoft.build.utilities.core.14.3.0.nupkg";
-      sha256 = "0xk5n4i40w53amrd7bxlhikdvmh8z2anrk99pvz2rf50v946g6li";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build.utilities.core/14.3.0/microsoft.build.utilities.core.14.3.0.nupkg";
+      sha256 = "0351nsnx12nzkss6vaqwwh7d7car7hrgyh0vyd4bl83c4x3ls1kb";
     };
   }
   {
     name = "microsoft.build.utilities.core";
     version = "15.5.180";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.build.utilities.core/15.5.180/microsoft.build.utilities.core.15.5.180.nupkg";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build.utilities.core/15.5.180/microsoft.build.utilities.core.15.5.180.nupkg";
       sha256 = "0c4bjhaqgc98bchln8p5d2p1vyn8qrha2b8gpn2l7bnznbcrd630";
     };
   }
   {
+    name = "microsoft.codeanalysis.analyzers";
+    version = "2.6.1";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.codeanalysis.analyzers/2.6.1/microsoft.codeanalysis.analyzers.2.6.1.nupkg";
+      sha256 = "1plk343h9fyxg08b9bcnlqyaq00cbnc1v73pj9nbcyphmgf5bqfp";
+    };
+  }
+  {
     name = "microsoft.codeanalysis.build.tasks";
-    version = "3.0.0-beta3-19064-03";
+    version = "3.9.0-5.21112.8";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.build.tasks/3.9.0-5.21112.8/microsoft.codeanalysis.build.tasks.3.9.0-5.21112.8.nupkg";
+      sha256 = "18wvmkpvp1yq288xryap3v07clhs36xiw6vyk4j59i2aqnjjnmc7";
+    };
+  }
+  {
+    name = "microsoft.codeanalysis.common";
+    version = "2.10.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.codeanalysis.build.tasks/3.0.0-beta3-19064-03/microsoft.codeanalysis.build.tasks.3.0.0-beta3-19064-03.nupkg";
-      sha256 = "1l01l0jyqgs8ix5v6b6n0q4yv1y1khr14dh7pw0qivkc5gsys19v";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.codeanalysis.common/2.10.0/microsoft.codeanalysis.common.2.10.0.nupkg";
+      sha256 = "1l690xqrhmkasns5ghz0vqj8n2xyl5yrwan5gs52hwfxdwahqaaj";
+    };
+  }
+  {
+    name = "microsoft.codeanalysis.csharp";
+    version = "2.10.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.codeanalysis.csharp/2.10.0/microsoft.codeanalysis.csharp.2.10.0.nupkg";
+      sha256 = "0saabsr81crawdzs2cnzyjp5cgg2hk5k6q7n0i0pxghswb0m4dxk";
     };
   }
   {
     name = "microsoft.codecoverage";
-    version = "16.1.1";
+    version = "16.6.1";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.codecoverage/16.1.1/microsoft.codecoverage.16.1.1.nupkg";
-      sha256 = "0xca3sys0a5ilz16ic7g4gds2b974nvmf89qwr1i6v8f7illhda5";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.codecoverage/16.6.1/microsoft.codecoverage.16.6.1.nupkg";
+      sha256 = "01ffm4nflqdb93vq4xl0j3377x360fgx6c6h12mpkcy85ixbv3rl";
     };
   }
   {
-    name = "microsoft.diasymreader.pdb2pdb";
-    version = "1.1.0-beta2-19521-03";
+    name = "microsoft.diagnostics.netcore.client";
+    version = "0.2.61701";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.diasymreader.pdb2pdb/1.1.0-beta2-19521-03/microsoft.diasymreader.pdb2pdb.1.1.0-beta2-19521-03.nupkg";
-      sha256 = "1r82h0qiah2xx9rg8lvfvfdzxz60zd6vfs8kvck0csha5psmn56w";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.diagnostics.netcore.client/0.2.61701/microsoft.diagnostics.netcore.client.0.2.61701.nupkg";
+      sha256 = "1ic1607jj4ln8dbibf1fz5v9svk9x2kqlgvhndc6ijaqnbc4wcr1";
+    };
+  }
+  {
+    name = "microsoft.diagnostics.runtime";
+    version = "1.1.57604";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.diagnostics.runtime/1.1.57604/microsoft.diagnostics.runtime.1.1.57604.nupkg";
+      sha256 = "1gm9gsg3h9ipcvwzp7jfns030c4b6l4cpkpyx9ccphlax9mvmfsi";
+    };
+  }
+  {
+    name = "microsoft.diagnostics.tracing.traceevent";
+    version = "2.0.49";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.diagnostics.tracing.traceevent/2.0.49/microsoft.diagnostics.tracing.traceevent.2.0.49.nupkg";
+      sha256 = "08ww98l9a4cx52h3y8w1x5vzl4jf02a66wf9z1j2py406wjifja9";
     };
   }
   {
     name = "microsoft.dotnet.arcade.sdk";
-    version = "1.0.0-beta.20365.6";
+    version = "5.0.0-beta.21226.1";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.dotnet.arcade.sdk/1.0.0-beta.20365.6/microsoft.dotnet.arcade.sdk.1.0.0-beta.20365.6.nupkg";
-      sha256 = "1ypsxq3ljdfwvrqyg6b8ii8mbqnjcb2vdr17jc4h0mdmkj0rlcdl";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.dotnet.arcade.sdk/5.0.0-beta.21226.1/microsoft.dotnet.arcade.sdk.5.0.0-beta.21226.1.nupkg";
+      sha256 = "1d7pczd99cladgmblq8g1dqw88n3aqg7rf8bpsabqrjjrz0pfi43";
     };
   }
   {
     name = "microsoft.dotnet.msbuildsdkresolver";
-    version = "3.1.400-preview.20365.4";
+    version = "5.0.300-servicing.21267.11";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.dotnet.msbuildsdkresolver/3.1.400-preview.20365.4/microsoft.dotnet.msbuildsdkresolver.3.1.400-preview.20365.4.nupkg";
-      sha256 = "0ifhk0whgbq0yw075al8sb14ajcnvyp883srx1j62vil9gfz0fp9";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a8a526e9-91b3-4569-ba2d-ff08dbb7c110/nuget/v3/flat2/microsoft.dotnet.msbuildsdkresolver/5.0.300-servicing.21267.11/microsoft.dotnet.msbuildsdkresolver.5.0.300-servicing.21267.11.nupkg";
+      sha256 = "1jgg2akhpgfndqfdcyvm7b83nxva9h86nivc7p6dw8rcvazffbp5";
+    };
+  }
+  {
+    name = "microsoft.dotnet.platformabstractions";
+    version = "2.1.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.dotnet.platformabstractions/2.1.0/microsoft.dotnet.platformabstractions.2.1.0.nupkg";
+      sha256 = "1qydvyyinj3b5mraazjal3n2k7jqhn05b6n1a2f3qjkqkxi63dmy";
     };
   }
   {
     name = "microsoft.dotnet.signtool";
-    version = "1.0.0-beta.20365.6";
+    version = "5.0.0-beta.21226.1";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.dotnet.signtool/1.0.0-beta.20365.6/microsoft.dotnet.signtool.1.0.0-beta.20365.6.nupkg";
-      sha256 = "0zaw9hc19ldms3jy6n27x4p9clzz3nvpddyacwhgqiahjw2wqasz";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.dotnet.signtool/5.0.0-beta.21226.1/microsoft.dotnet.signtool.5.0.0-beta.21226.1.nupkg";
+      sha256 = "1jd3648n3i9i1njx8wb9g8i29s3n5srx3whdhvrkwjm9g5n11gbj";
     };
   }
   {
     name = "microsoft.net.build.extensions";
     version = "3.1.400-preview.20365.20";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.net.build.extensions/3.1.400-preview.20365.20/microsoft.net.build.extensions.3.1.400-preview.20365.20.nupkg";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d5f6139d-6136-4228-8b2d-9676e9e4eb3d/nuget/v3/flat2/microsoft.net.build.extensions/3.1.400-preview.20365.20/microsoft.net.build.extensions.3.1.400-preview.20365.20.nupkg";
       sha256 = "1vmcj7p7jsr1lbkbxqqjsixkaxdazr5nwhhp1q402dgky9cayhd5";
     };
   }
   {
     name = "microsoft.net.compilers.toolset";
-    version = "3.7.0-5.20367.1";
+    version = "3.9.0-5.21112.8";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.net.compilers.toolset/3.7.0-5.20367.1/microsoft.net.compilers.toolset.3.7.0-5.20367.1.nupkg";
-      sha256 = "1z8hzzmxs8jchq1jmmmwhpf3hsvrj803y3zb8j3xg9xkbnryfzwk";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.net.compilers.toolset/3.9.0-5.21112.8/microsoft.net.compilers.toolset.3.9.0-5.21112.8.nupkg";
+      sha256 = "1drcxgay9ylhs6dr3alnxr4lfapzlr86w3mpwp0gn58mfj5m0g1h";
     };
   }
   {
     name = "microsoft.netcore.platforms";
     version = "1.0.1";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.netcore.platforms/1.0.1/microsoft.netcore.platforms.1.0.1.nupkg";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.platforms/1.0.1/microsoft.netcore.platforms.1.0.1.nupkg";
       sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr";
     };
   }
@@ -187,7 +275,7 @@
     name = "microsoft.netcore.platforms";
     version = "1.1.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.netcore.platforms/1.1.0/microsoft.netcore.platforms.1.1.0.nupkg";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.platforms/1.1.0/microsoft.netcore.platforms.1.1.0.nupkg";
       sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm";
     };
   }
@@ -195,31 +283,39 @@
     name = "microsoft.netcore.targets";
     version = "1.0.1";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.netcore.targets/1.0.1/microsoft.netcore.targets.1.0.1.nupkg";
-      sha256 = "1gn085ddzn8psqfhmwcjzq2zrmb5gca2liap79a43wyw4gs8ip78";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.targets/1.0.1/microsoft.netcore.targets.1.0.1.nupkg";
+      sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p";
     };
   }
   {
     name = "microsoft.netcore.targets";
     version = "1.1.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.netcore.targets/1.1.0/microsoft.netcore.targets.1.1.0.nupkg";
-      sha256 = "0idlsfwd9sn4p9jr1dqi14b8n2ly0k4dnjpvh8jfhxgnzzl98z5k";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.targets/1.1.0/microsoft.netcore.targets.1.1.0.nupkg";
+      sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh";
     };
   }
   {
     name = "microsoft.netframework.referenceassemblies";
     version = "1.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.netframework.referenceassemblies/1.0.0/microsoft.netframework.referenceassemblies.1.0.0.nupkg";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netframework.referenceassemblies/1.0.0/microsoft.netframework.referenceassemblies.1.0.0.nupkg";
       sha256 = "0na724xhvqm63vq9y18fl9jw9q2v99bdwr353378s5fsi11qzxp9";
     };
   }
   {
+    name = "microsoft.netframework.referenceassemblies.net45";
+    version = "1.0.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netframework.referenceassemblies.net45/1.0.0/microsoft.netframework.referenceassemblies.net45.1.0.0.nupkg";
+      sha256 = "1ipafi0zjrnzsfmwsisgp8z6m26cbw7vb3jj501nvz3v97b7d7lv";
+    };
+  }
+  {
     name = "microsoft.netframework.referenceassemblies.net472";
     version = "1.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.netframework.referenceassemblies.net472/1.0.0/microsoft.netframework.referenceassemblies.net472.1.0.0.nupkg";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netframework.referenceassemblies.net472/1.0.0/microsoft.netframework.referenceassemblies.net472.1.0.0.nupkg";
       sha256 = "1bqinq2nxnpqxziypg1sqy3ly0nymxxjpn8fwkn3rl4vl6gdg3rc";
     };
   }
@@ -227,7 +323,7 @@
     name = "microsoft.net.sdk";
     version = "3.1.400-preview.20365.20";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.net.sdk/3.1.400-preview.20365.20/microsoft.net.sdk.3.1.400-preview.20365.20.nupkg";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d5f6139d-6136-4228-8b2d-9676e9e4eb3d/nuget/v3/flat2/microsoft.net.sdk/3.1.400-preview.20365.20/microsoft.net.sdk.3.1.400-preview.20365.20.nupkg";
       sha256 = "02ann6rsnc6wl84wsk2fz7dpxcp5sq0b6jm3vv23av4b1f86f82y";
     };
   }
@@ -235,7 +331,7 @@
     name = "microsoft.net.sdk.publish";
     version = "3.1.300-servicing.20216.7";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.net.sdk.publish/3.1.300-servicing.20216.7/microsoft.net.sdk.publish.3.1.300-servicing.20216.7.nupkg";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d5f6139d-6136-4228-8b2d-9676e9e4eb3d/nuget/v3/flat2/microsoft.net.sdk.publish/3.1.300-servicing.20216.7/microsoft.net.sdk.publish.3.1.300-servicing.20216.7.nupkg";
       sha256 = "1xivqihp2zrkmd4f65fgh9hn9ix75sqklbnanqlfk9dq67wscp41";
     };
   }
@@ -243,7 +339,7 @@
     name = "microsoft.net.sdk.razor";
     version = "3.1.6";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.net.sdk.razor/3.1.6/microsoft.net.sdk.razor.3.1.6.nupkg";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.net.sdk.razor/3.1.6/microsoft.net.sdk.razor.3.1.6.nupkg";
       sha256 = "1vw0zi0lq52frivq8mgfvm79rfx0v492q6fci1jls1zwwjk0v9ia";
     };
   }
@@ -251,7 +347,7 @@
     name = "microsoft.net.sdk.web";
     version = "3.1.300-servicing.20216.7";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.net.sdk.web/3.1.300-servicing.20216.7/microsoft.net.sdk.web.3.1.300-servicing.20216.7.nupkg";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d5f6139d-6136-4228-8b2d-9676e9e4eb3d/nuget/v3/flat2/microsoft.net.sdk.web/3.1.300-servicing.20216.7/microsoft.net.sdk.web.3.1.300-servicing.20216.7.nupkg";
       sha256 = "001jd2iwww0vb5x5dii915z82syh1aj48n62bn8zi1d3chwacr51";
     };
   }
@@ -259,23 +355,23 @@
     name = "microsoft.net.sdk.web.projectsystem";
     version = "3.1.300-servicing.20216.7";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.net.sdk.web.projectsystem/3.1.300-servicing.20216.7/microsoft.net.sdk.web.projectsystem.3.1.300-servicing.20216.7.nupkg";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d5f6139d-6136-4228-8b2d-9676e9e4eb3d/nuget/v3/flat2/microsoft.net.sdk.web.projectsystem/3.1.300-servicing.20216.7/microsoft.net.sdk.web.projectsystem.3.1.300-servicing.20216.7.nupkg";
       sha256 = "0601mix6l18h8afxxgdbbv695d0sjskady209z52sf4bvf4h4kal";
     };
   }
   {
     name = "microsoft.net.test.sdk";
-    version = "16.1.1";
+    version = "16.6.1";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.net.test.sdk/16.1.1/microsoft.net.test.sdk.16.1.1.nupkg";
-      sha256 = "13mcqv85yf4f1rx06sz5ff4pcmbr4rkgqkqzmwl8ywadbh523125";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.net.test.sdk/16.6.1/microsoft.net.test.sdk.16.6.1.nupkg";
+      sha256 = "0jjdg468jc6pv2z764f3xc19lcr772nzjm9cjfqq3bqw8vkpzmhv";
     };
   }
   {
     name = "microsoft.sourcelink.azurerepos.git";
     version = "1.1.0-beta-20206-02";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.sourcelink.azurerepos.git/1.1.0-beta-20206-02/microsoft.sourcelink.azurerepos.git.1.1.0-beta-20206-02.nupkg";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.sourcelink.azurerepos.git/1.1.0-beta-20206-02/microsoft.sourcelink.azurerepos.git.1.1.0-beta-20206-02.nupkg";
       sha256 = "00hfjh8d3z5np51qgr1s3q4j7bl34mfiypf7nbxcmxa7cyj0rg65";
     };
   }
@@ -283,7 +379,7 @@
     name = "microsoft.sourcelink.common";
     version = "1.1.0-beta-20206-02";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.sourcelink.common/1.1.0-beta-20206-02/microsoft.sourcelink.common.1.1.0-beta-20206-02.nupkg";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.sourcelink.common/1.1.0-beta-20206-02/microsoft.sourcelink.common.1.1.0-beta-20206-02.nupkg";
       sha256 = "1qv0k0apxv3j1pccki2rzakjfb0868hmg0968da0639f75s3glr9";
     };
   }
@@ -291,15 +387,23 @@
     name = "microsoft.sourcelink.github";
     version = "1.1.0-beta-20206-02";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.sourcelink.github/1.1.0-beta-20206-02/microsoft.sourcelink.github.1.1.0-beta-20206-02.nupkg";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.sourcelink.github/1.1.0-beta-20206-02/microsoft.sourcelink.github.1.1.0-beta-20206-02.nupkg";
       sha256 = "0q1mgjjkwxvzn5v29pqiyg0j0jwi5qc0q04za9k1x138kliq2iba";
     };
   }
   {
+    name = "microsoft.symboluploader.build.task";
+    version = "1.1.145102";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.symboluploader.build.task/1.1.145102/microsoft.symboluploader.build.task.1.1.145102.nupkg";
+      sha256 = "1nmd0cgj3kp2n1k8bzvvq7cfbpbrvk1k6mx9lpnzh1bv7v67rvm2";
+    };
+  }
+  {
     name = "microsoft.visualstudio.sdk.embedinteroptypes";
     version = "15.0.15";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.visualstudio.sdk.embedinteroptypes/15.0.15/microsoft.visualstudio.sdk.embedinteroptypes.15.0.15.nupkg";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.visualstudio.sdk.embedinteroptypes/15.0.15/microsoft.visualstudio.sdk.embedinteroptypes.15.0.15.nupkg";
       sha256 = "0chr3slzzcanwcyd9isx4gichqzmfh4zd3h83piw0r4xsww1wmpd";
     };
   }
@@ -307,295 +411,319 @@
     name = "microsoft.visualstudio.setup.configuration.interop";
     version = "1.16.30";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.visualstudio.setup.configuration.interop/1.16.30/microsoft.visualstudio.setup.configuration.interop.1.16.30.nupkg";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.visualstudio.setup.configuration.interop/1.16.30/microsoft.visualstudio.setup.configuration.interop.1.16.30.nupkg";
       sha256 = "14022lx03vdcqlvbbdmbsxg5pqfx1rfq2jywxlyaz9v68cvsb0g4";
     };
   }
   {
     name = "microsoft.web.xdt";
-    version = "2.1.2";
+    version = "3.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.web.xdt/2.1.2/microsoft.web.xdt.2.1.2.nupkg";
-      sha256 = "1as6cih26xyxjsa5ibqik1fwbyxl58ivpngidr6w1nh5fi5zg9zw";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.web.xdt/3.0.0/microsoft.web.xdt.3.0.0.nupkg";
+      sha256 = "18biff0hglccy34909zm9hc4lr9p8n2p155snq1dddp0av6m448n";
     };
   }
   {
     name = "microsoft.win32.primitives";
     version = "4.0.1";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.win32.primitives/4.0.1/microsoft.win32.primitives.4.0.1.nupkg";
-      sha256 = "1pviskapkc6qm108r0q2x15vkgyqsczf9xpmrlm42q68ainc9ai3";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.win32.primitives/4.0.1/microsoft.win32.primitives.4.0.1.nupkg";
+      sha256 = "1n8ap0cmljbqskxpf8fjzn7kh1vvlndsa75k01qig26mbw97k2q7";
     };
   }
   {
     name = "microsoft.win32.primitives";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.win32.primitives/4.3.0/microsoft.win32.primitives.4.3.0.nupkg";
-      sha256 = "1nvwzj039y9ngdpz7zg0vszvrr3za2vfmjg222jc8c1dibk6y6ah";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.win32.primitives/4.3.0/microsoft.win32.primitives.4.3.0.nupkg";
+      sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq";
+    };
+  }
+  {
+    name = "microsoft.win32.registry";
+    version = "4.5.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.win32.registry/4.5.0/microsoft.win32.registry.4.5.0.nupkg";
+      sha256 = "1zapbz161ji8h82xiajgriq6zgzmb1f3ar517p2h63plhsq5gh2q";
     };
   }
   {
     name = "netstandard.library";
     version = "1.6.1";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/netstandard.library/1.6.1/netstandard.library.1.6.1.nupkg";
-      sha256 = "03pxpc6dzpw56l8qhcb0wzvirqgs3c008jcakqxvfqmy25m3dnyn";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/netstandard.library/1.6.1/netstandard.library.1.6.1.nupkg";
+      sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8";
+    };
+  }
+  {
+    name = "newtonsoft.json";
+    version = "11.0.1";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/newtonsoft.json/11.0.1/newtonsoft.json.11.0.1.nupkg";
+      sha256 = "1z68j07if1xf71lbsrgbia52r812i2dv541sy44ph4dzjjp7pd4m";
     };
   }
   {
     name = "newtonsoft.json";
     version = "9.0.1";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/newtonsoft.json/9.0.1/newtonsoft.json.9.0.1.nupkg";
-      sha256 = "1qayanmqh3xiw0bjwm825j1n6nvbhc6yqkdpaawpyd0l71d5qh13";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/newtonsoft.json/9.0.1/newtonsoft.json.9.0.1.nupkg";
+      sha256 = "0mcy0i7pnfpqm4pcaiyzzji4g0c8i3a5gjz28rrr28110np8304r";
     };
   }
   {
     name = "nuget.build.tasks";
-    version = "5.7.0-rtm.6710";
+    version = "5.9.1-rc.8";
     src = fetchurl {
-      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/9d15d80a-6afc-4f7e-901b-9378146a4b8b/nuget/v3/flat2/nuget.build.tasks/5.7.0-rtm.6710/nuget.build.tasks.5.7.0-rtm.6710.nupkg";
-      sha256 = "0zwacvci3y8xyhy6jzc0wd20rzgb6lzv0ci8a4qg8ay315bmd9sp";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.build.tasks/5.9.1-rc.8/nuget.build.tasks.5.9.1-rc.8.nupkg";
+      sha256 = "0610dh53gqmzbl70jxmn9jbvl0lv70qanis1q20rxnnyq6s2xb75";
     };
   }
   {
     name = "nuget.build.tasks.pack";
-    version = "5.7.0-rtm.6710";
+    version = "5.9.1-rc.8";
     src = fetchurl {
-      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/9d15d80a-6afc-4f7e-901b-9378146a4b8b/nuget/v3/flat2/nuget.build.tasks.pack/5.7.0-rtm.6710/nuget.build.tasks.pack.5.7.0-rtm.6710.nupkg";
-      sha256 = "16scfs0gwfs9r5kp65jfz3ip7w56xyni6fwgpmj0y6dbazzqm6zs";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.build.tasks.pack/5.9.1-rc.8/nuget.build.tasks.pack.5.9.1-rc.8.nupkg";
+      sha256 = "10qkdv165vz71z8ir3161ggaarbqk51gwg8n51iwxa5inz4y22lj";
     };
   }
   {
     name = "nuget.commandline";
     version = "4.1.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/nuget.commandline/4.1.0/nuget.commandline.4.1.0.nupkg";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/nuget.commandline/4.1.0/nuget.commandline.4.1.0.nupkg";
       sha256 = "03ik0rcdl7vdwxa9fx5cgl98yzb45swr08jmrnjk1ympjqvf94s1";
     };
   }
   {
     name = "nuget.commands";
-    version = "5.7.0-rtm.6710";
+    version = "5.9.1-rc.8";
     src = fetchurl {
-      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/9d15d80a-6afc-4f7e-901b-9378146a4b8b/nuget/v3/flat2/nuget.commands/5.7.0-rtm.6710/nuget.commands.5.7.0-rtm.6710.nupkg";
-      sha256 = "0sm2x95q8y0sab7fsb2sqqhvw2x0scsavv968jxjf3ynb5n155q3";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.commands/5.9.1-rc.8/nuget.commands.5.9.1-rc.8.nupkg";
+      sha256 = "0rdziczdkrqwl6wjqs4w29c460kc69v9z2pghqjlkag25c7hqwlr";
     };
   }
   {
     name = "nuget.common";
-    version = "5.7.0-rtm.6710";
+    version = "5.9.1-rc.8";
     src = fetchurl {
-      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/9d15d80a-6afc-4f7e-901b-9378146a4b8b/nuget/v3/flat2/nuget.common/5.7.0-rtm.6710/nuget.common.5.7.0-rtm.6710.nupkg";
-      sha256 = "07wxir208mmfzi2xxhn8xskbchx9d7nahmy2xqcx09mwkkr7m0qg";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.common/5.9.1-rc.8/nuget.common.5.9.1-rc.8.nupkg";
+      sha256 = "056b1h4fvik6z2qc2s6qzz0s4acbipc50af14fbr7hd9h2fxya4c";
     };
   }
   {
     name = "nuget.configuration";
-    version = "5.7.0-rtm.6710";
+    version = "5.9.1-rc.8";
     src = fetchurl {
-      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/9d15d80a-6afc-4f7e-901b-9378146a4b8b/nuget/v3/flat2/nuget.configuration/5.7.0-rtm.6710/nuget.configuration.5.7.0-rtm.6710.nupkg";
-      sha256 = "1h9r627nj3bhwfwzf2b265s5zl00sj5z5x085a6l8qg2v8sig628";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.configuration/5.9.1-rc.8/nuget.configuration.5.9.1-rc.8.nupkg";
+      sha256 = "0x8vigf0sfp6kf1i98xcr4k84vci596x16hmajdm0zgv3p1w2kvk";
     };
   }
   {
     name = "nuget.credentials";
-    version = "5.7.0-rtm.6710";
+    version = "5.9.1-rc.8";
     src = fetchurl {
-      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/9d15d80a-6afc-4f7e-901b-9378146a4b8b/nuget/v3/flat2/nuget.credentials/5.7.0-rtm.6710/nuget.credentials.5.7.0-rtm.6710.nupkg";
-      sha256 = "06yd4ny5nzpxl6n3l57n585inj0bjybcmwcz0w3clyib9l2ybsjz";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.credentials/5.9.1-rc.8/nuget.credentials.5.9.1-rc.8.nupkg";
+      sha256 = "128vsgz4rfrp17ys7vbc978y6inmvki93mswm82qvphxymsyrc6v";
     };
   }
   {
     name = "nuget.dependencyresolver.core";
-    version = "5.7.0-rtm.6710";
+    version = "5.9.1-rc.8";
     src = fetchurl {
-      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/9d15d80a-6afc-4f7e-901b-9378146a4b8b/nuget/v3/flat2/nuget.dependencyresolver.core/5.7.0-rtm.6710/nuget.dependencyresolver.core.5.7.0-rtm.6710.nupkg";
-      sha256 = "0s3qlwg98qd5brfh6k9lsviqpij8n73ci54c9bmal56k12hkvfdm";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.dependencyresolver.core/5.9.1-rc.8/nuget.dependencyresolver.core.5.9.1-rc.8.nupkg";
+      sha256 = "1q9a97s1z3a6fb4p82ag2lqnzl53895prbqwlbvckdw9c3rpz3gc";
     };
   }
   {
     name = "nuget.frameworks";
-    version = "5.7.0-rtm.6710";
+    version = "5.9.1-rc.8";
     src = fetchurl {
-      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/9d15d80a-6afc-4f7e-901b-9378146a4b8b/nuget/v3/flat2/nuget.frameworks/5.7.0-rtm.6710/nuget.frameworks.5.7.0-rtm.6710.nupkg";
-      sha256 = "05g4aaq3gc1p104dpanr255xcag399918m02vpanf29qpz3g325d";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.frameworks/5.9.1-rc.8/nuget.frameworks.5.9.1-rc.8.nupkg";
+      sha256 = "1n3mp9ns79yq4dwgj7h2av3b485mzgsw0qlj8z7p47krwlzp5hiv";
     };
   }
   {
     name = "nuget.librarymodel";
-    version = "5.7.0-rtm.6710";
+    version = "5.9.1-rc.8";
     src = fetchurl {
-      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/9d15d80a-6afc-4f7e-901b-9378146a4b8b/nuget/v3/flat2/nuget.librarymodel/5.7.0-rtm.6710/nuget.librarymodel.5.7.0-rtm.6710.nupkg";
-      sha256 = "1pj5y29f21ch4sgwg5xx4n0lsd1qiiyjy6ly6vaabfrimx4d0s23";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.librarymodel/5.9.1-rc.8/nuget.librarymodel.5.9.1-rc.8.nupkg";
+      sha256 = "0sy8422c94wcg8ka85lnawq26mpixl79avk9m6y44lshrpga5v4v";
     };
   }
   {
     name = "nuget.packagemanagement";
-    version = "5.7.0-rtm.6710";
+    version = "5.9.1-rc.8";
     src = fetchurl {
-      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/9d15d80a-6afc-4f7e-901b-9378146a4b8b/nuget/v3/flat2/nuget.packagemanagement/5.7.0-rtm.6710/nuget.packagemanagement.5.7.0-rtm.6710.nupkg";
-      sha256 = "1kiix6r2birnrlwki5mb5a7sbxh8wqj87f69qid6dr556x2w8h9z";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.packagemanagement/5.9.1-rc.8/nuget.packagemanagement.5.9.1-rc.8.nupkg";
+      sha256 = "0mcxdqq3hfhxyn99pp5b5x2cd8rrmw6z616cbd9y0s9j0i6hm4pg";
     };
   }
   {
     name = "nuget.packaging";
-    version = "5.7.0-rtm.6710";
+    version = "5.9.1-rc.8";
     src = fetchurl {
-      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/9d15d80a-6afc-4f7e-901b-9378146a4b8b/nuget/v3/flat2/nuget.packaging/5.7.0-rtm.6710/nuget.packaging.5.7.0-rtm.6710.nupkg";
-      sha256 = "16frbw8k81cazary6d8sbdccr6hv57rc7rzdi9bagdnzvpm8h13l";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.packaging/5.9.1-rc.8/nuget.packaging.5.9.1-rc.8.nupkg";
+      sha256 = "0x9c3v741nn6m2xgidna88fa4xj5avhv6asj73hqv4pzpdprlrhv";
     };
   }
   {
     name = "nuget.projectmodel";
-    version = "5.7.0-rtm.6710";
+    version = "5.9.1-rc.8";
     src = fetchurl {
-      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/9d15d80a-6afc-4f7e-901b-9378146a4b8b/nuget/v3/flat2/nuget.projectmodel/5.7.0-rtm.6710/nuget.projectmodel.5.7.0-rtm.6710.nupkg";
-      sha256 = "11i1kyqvmq70rkqrxhxnhsihaxx32ww0l9175473mmyia3wrbwyw";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.projectmodel/5.9.1-rc.8/nuget.projectmodel.5.9.1-rc.8.nupkg";
+      sha256 = "1xjh7isw467nkc7dkfj3wlw69vi2cns66z152jrzjdmxmia3i3pv";
     };
   }
   {
     name = "nuget.protocol";
-    version = "5.7.0-rtm.6710";
+    version = "5.9.1-rc.8";
     src = fetchurl {
-      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/9d15d80a-6afc-4f7e-901b-9378146a4b8b/nuget/v3/flat2/nuget.protocol/5.7.0-rtm.6710/nuget.protocol.5.7.0-rtm.6710.nupkg";
-      sha256 = "1515p7a4kdm9wr8iizcmvzwqphxsfwqbnq41jv8mibrx7vih0s90";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.protocol/5.9.1-rc.8/nuget.protocol.5.9.1-rc.8.nupkg";
+      sha256 = "1rnrxzaciqhhgwd4by0dhkvfrm1h161vvmkvlcwaz2589sqq2dzq";
     };
   }
   {
     name = "nuget.resolver";
-    version = "5.7.0-rtm.6710";
+    version = "5.9.1-rc.8";
     src = fetchurl {
-      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/9d15d80a-6afc-4f7e-901b-9378146a4b8b/nuget/v3/flat2/nuget.resolver/5.7.0-rtm.6710/nuget.resolver.5.7.0-rtm.6710.nupkg";
-      sha256 = "17bm159knhx7iznm9ilk3mwb0n1gh1dp0ihhapyb1fmh9ings30b";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.resolver/5.9.1-rc.8/nuget.resolver.5.9.1-rc.8.nupkg";
+      sha256 = "0q6dqg0d5f9y7ynwqmzkzwl6yan94azvm0cd385k210y8wn4364v";
     };
   }
   {
     name = "nuget.versioning";
-    version = "5.7.0-rtm.6710";
+    version = "5.9.1-rc.8";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.versioning/5.9.1-rc.8/nuget.versioning.5.9.1-rc.8.nupkg";
+      sha256 = "1vv7z122ilsk2rsvjm6j3hpifb45g8wa1mgnq1kwi9k8b2dbb6vv";
+    };
+  }
+  {
+    name = "perfolizer";
+    version = "0.2.1";
     src = fetchurl {
-      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/9d15d80a-6afc-4f7e-901b-9378146a4b8b/nuget/v3/flat2/nuget.versioning/5.7.0-rtm.6710/nuget.versioning.5.7.0-rtm.6710.nupkg";
-      sha256 = "1kj9xvcbwvvhhi45bi6f9m1cv8wx6y4xfmnxc8liwcgwh9gvwdjl";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/perfolizer/0.2.1/perfolizer.0.2.1.nupkg";
+      sha256 = "012aqqi3y3nfikqmn26yajpwd52c04zlzp0p91iyslw7mf26qncy";
     };
   }
   {
     name = "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg";
-      sha256 = "10a3jqkh1h23qsn7pjlji61d7dph7qy8c6ssfjqmlgydm4rnin64";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg";
+      sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d";
     };
   }
   {
     name = "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg";
-      sha256 = "1md38ys5h8srinnq9qxz47c9i27x7pv84avdi3rbq68hfkcslx93";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg";
+      sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59";
     };
   }
   {
     name = "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg";
-      sha256 = "0cgvqxccg4lkxiyvw3jrn71pbybbbcd3i8v6v4przgrr7f7k6nfj";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg";
+      sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa";
     };
   }
   {
     name = "runtime.native.system";
     version = "4.0.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/runtime.native.system/4.0.0/runtime.native.system.4.0.0.nupkg";
-      sha256 = "0fwsjhqj235hhy2zl8x3a828whn4nck7jr7hi09ccbk24xf4f17f";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.native.system/4.0.0/runtime.native.system.4.0.0.nupkg";
+      sha256 = "1ppk69xk59ggacj9n7g6fyxvzmk1g5p4fkijm0d7xqfkig98qrkf";
     };
   }
   {
     name = "runtime.native.system";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/runtime.native.system/4.3.0/runtime.native.system.4.3.0.nupkg";
-      sha256 = "02gnfm33gf163kybkahfza8q10jp890hiczcnbg2aasf1n0jq857";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.native.system/4.3.0/runtime.native.system.4.3.0.nupkg";
+      sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4";
     };
   }
   {
     name = "runtime.native.system.io.compression";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/runtime.native.system.io.compression/4.3.0/runtime.native.system.io.compression.4.3.0.nupkg";
-      sha256 = "05370qi83pxfyn3whzkjjwb4q80vlr3mbz0dfa0hc0cbl5jx4y20";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.native.system.io.compression/4.3.0/runtime.native.system.io.compression.4.3.0.nupkg";
+      sha256 = "1vvivbqsk6y4hzcid27pqpm5bsi6sc50hvqwbcx8aap5ifrxfs8d";
     };
   }
   {
     name = "runtime.native.system.security.cryptography.openssl";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/runtime.native.system.security.cryptography.openssl/4.3.0/runtime.native.system.security.cryptography.openssl.4.3.0.nupkg";
-      sha256 = "1il7m43j4nq15xf01npgxd8q83q8mkk4xk07dd7g0sfsxm9k127d";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.native.system.security.cryptography.openssl/4.3.0/runtime.native.system.security.cryptography.openssl.4.3.0.nupkg";
+      sha256 = "18pzfdlwsg2nb1jjjjzyb5qlgy6xjxzmhnfaijq5s2jw3cm3ab97";
     };
   }
   {
     name = "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg";
-      sha256 = "1pr8ji41rsifx6yh89xg1yw45g5snw96xxqw0g3q48rbdg5j79iw";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg";
+      sha256 = "0qyynf9nz5i7pc26cwhgi8j62ps27sqmf78ijcfgzab50z9g8ay3";
     };
   }
   {
     name = "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg";
-      sha256 = "1r8hllb6fdb4adij7b7ld32hf5r5jxyqh4pacrvfgjckmyx8js8c";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg";
+      sha256 = "1klrs545awhayryma6l7g2pvnp9xy4z0r1i40r80zb45q3i9nbyf";
     };
   }
   {
     name = "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg";
-      sha256 = "16r149hajvr8ikyjbsw2m67yqfvxg6j1sb2slw9pzrly06mxmpks";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg";
+      sha256 = "0zcxjv5pckplvkg0r6mw3asggm7aqzbdjimhvsasb0cgm59x09l3";
     };
   }
   {
     name = "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg";
-      sha256 = "0j2f2v1nm7sys6qpljhp4s18zz3hblymjl60yrccqfac7yr9hxrq";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg";
+      sha256 = "0vhynn79ih7hw7cwjazn87rm9z9fj0rvxgzlab36jybgcpcgphsn";
     };
   }
   {
     name = "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg";
-      sha256 = "0wgz0y2fm6xcnlmpl1zh5963ribjbnzr2l6prsw3xi7sbfyjyi8c";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg";
+      sha256 = "160p68l2c7cqmyqjwxydcvgw7lvl1cr0znkw8fp24d1by9mqc8p3";
     };
   }
   {
     name = "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg";
-      sha256 = "0qr13ykxj7zs7i8z0x63v8za2h33ndnvvw83wffp9xbb2fibj3gi";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg";
+      sha256 = "15zrc8fgd8zx28hdghcj5f5i34wf3l6bq5177075m2bc2j34jrqy";
     };
   }
   {
     name = "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg";
-      sha256 = "1jg8gfh261zqmimf5ba76djr201q0bamm2385zxni5jnyyc4iis4";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg";
+      sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5";
     };
   }
   {
     name = "shouldly";
     version = "3.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/shouldly/3.0.0/shouldly.3.0.0.nupkg";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/shouldly/3.0.0/shouldly.3.0.0.nupkg";
       sha256 = "1hg28w898kl84rx57sclb2z9b76v5hxlwxig1xnb6fr81aahzlw3";
     };
   }
@@ -603,7 +731,7 @@
     name = "sn";
     version = "1.0.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/sn/1.0.0/sn.1.0.0.nupkg";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/sn/1.0.0/sn.1.0.0.nupkg";
       sha256 = "1012fcdc6vq2355v86h434s6p2nnqgpdapb7p25l4h39g5q8p1qs";
     };
   }
@@ -611,31 +739,31 @@
     name = "system.appcontext";
     version = "4.1.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.appcontext/4.1.0/system.appcontext.4.1.0.nupkg";
-      sha256 = "02vsx9l8ahzykjw6psf8yd5grndk63x4rw0lc0rl0s9z203694j3";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.appcontext/4.1.0/system.appcontext.4.1.0.nupkg";
+      sha256 = "0fv3cma1jp4vgj7a8hqc9n7hr1f1kjp541s6z0q1r6nazb4iz9mz";
     };
   }
   {
     name = "system.appcontext";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.appcontext/4.3.0/system.appcontext.4.3.0.nupkg";
-      sha256 = "1ipqwwfphj4ndi6krnbali0f3260bmdg0lb9w7w00k3z20gwpjgy";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.appcontext/4.3.0/system.appcontext.4.3.0.nupkg";
+      sha256 = "1649qvy3dar900z3g817h17nl8jp4ka5vcfmsr05kh0fshn7j3ya";
     };
   }
   {
     name = "system.buffers";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.buffers/4.3.0/system.buffers.4.3.0.nupkg";
-      sha256 = "1x5m2z3x8s4d0z13l8j6jfbaqpwh8dwyg930pcg67gz88zchfhq8";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.buffers/4.3.0/system.buffers.4.3.0.nupkg";
+      sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy";
     };
   }
   {
     name = "system.buffers";
     version = "4.4.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/system.buffers/4.4.0/system.buffers.4.4.0.nupkg";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.buffers/4.4.0/system.buffers.4.4.0.nupkg";
       sha256 = "183f8063w8zqn99pv0ni0nnwh7fgx46qzxamwnans55hhs2l0g19";
     };
   }
@@ -643,271 +771,335 @@
     name = "system.buffers";
     version = "4.5.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.buffers/4.5.0/system.buffers.4.5.0.nupkg";
-      sha256 = "0c8qh10lhc8gcl58772i91lc97bljy3dvi6s2r8cjlf0240j5yll";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.buffers/4.5.0/system.buffers.4.5.0.nupkg";
+      sha256 = "1ywfqn4md6g3iilpxjn5dsr0f5lx6z0yvhqp4pgjcamygg73cz2c";
+    };
+  }
+  {
+    name = "system.buffers";
+    version = "4.5.1";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.buffers/4.5.1/system.buffers.4.5.1.nupkg";
+      sha256 = "04kb1mdrlcixj9zh1xdi5as0k0qi8byr5mi3p3jcxx72qz93s2y3";
     };
   }
   {
     name = "system.collections";
     version = "4.0.11";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.collections/4.0.11/system.collections.4.0.11.nupkg";
-      sha256 = "19kjsnpbpznh7qjsyxadw2i8pd4iikrlxwak12l749sli2qd77dj";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections/4.0.11/system.collections.4.0.11.nupkg";
+      sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6";
     };
   }
   {
     name = "system.collections";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.collections/4.3.0/system.collections.4.3.0.nupkg";
-      sha256 = "0209rky2iyiyqxg0amhmvy6c3fww6pbrq9ffynjnmapizmsvq7ya";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections/4.3.0/system.collections.4.3.0.nupkg";
+      sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9";
     };
   }
   {
     name = "system.collections.concurrent";
     version = "4.0.12";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.collections.concurrent/4.0.12/system.collections.concurrent.4.0.12.nupkg";
-      sha256 = "1c4lv39n2i7k146njgk7334izcxjn06cnhmippc1vhwj3bqbzg62";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections.concurrent/4.0.12/system.collections.concurrent.4.0.12.nupkg";
+      sha256 = "07y08kvrzpak873pmyxs129g1ch8l27zmg51pcyj2jvq03n0r0fc";
     };
   }
   {
     name = "system.collections.concurrent";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.collections.concurrent/4.3.0/system.collections.concurrent.4.3.0.nupkg";
-      sha256 = "0y6jag332kgkj392mrv7i2a3cgc60ff4hl0nx5qw40hq3w2d9j8z";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections.concurrent/4.3.0/system.collections.concurrent.4.3.0.nupkg";
+      sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8";
     };
   }
   {
     name = "system.collections.immutable";
     version = "1.2.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.collections.immutable/1.2.0/system.collections.immutable.1.2.0.nupkg";
-      sha256 = "1ywivzq43lqlh42qywq6v57yf499dya5rbzk6k7fnkj1121fr7kw";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections.immutable/1.2.0/system.collections.immutable.1.2.0.nupkg";
+      sha256 = "1jm4pc666yiy7af1mcf7766v710gp0h40p228ghj6bavx7xfa38m";
     };
   }
   {
     name = "system.collections.immutable";
     version = "1.5.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.collections.immutable/1.5.0/system.collections.immutable.1.5.0.nupkg";
-      sha256 = "1yn0g10x5lss68i5n5x9q9z1kbxcbblrwp51ph79cgbi01ga999q";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections.immutable/1.5.0/system.collections.immutable.1.5.0.nupkg";
+      sha256 = "1d5gjn5afnrf461jlxzawcvihz195gayqpcfbv6dd7pxa9ialn06";
+    };
+  }
+  {
+    name = "system.collections.immutable";
+    version = "5.0.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections.immutable/5.0.0/system.collections.immutable.5.0.0.nupkg";
+      sha256 = "1kvcllagxz2q92g81zkz81djkn2lid25ayjfgjalncyc68i15p0r";
     };
   }
   {
     name = "system.collections.nongeneric";
     version = "4.0.1";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.collections.nongeneric/4.0.1/system.collections.nongeneric.4.0.1.nupkg";
-      sha256 = "1wj1ddyycsggg3sjq0iflzyj93m7ny8mc2dpzvh5iqy89lj3gx1m";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections.nongeneric/4.0.1/system.collections.nongeneric.4.0.1.nupkg";
+      sha256 = "19994r5y5bpdhj7di6w047apvil8lh06lh2c2yv9zc4fc5g9bl4d";
+    };
+  }
+  {
+    name = "system.configuration.configurationmanager";
+    version = "4.7.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.configuration.configurationmanager/4.7.0/system.configuration.configurationmanager.4.7.0.nupkg";
+      sha256 = "0pav0n21ghf2ax6fiwjbng29f27wkb4a2ddma0cqx04s97yyk25d";
     };
   }
   {
     name = "system.console";
     version = "4.0.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.console/4.0.0/system.console.4.0.0.nupkg";
-      sha256 = "0fw0ap3c0svxjbkgr5yrkck36lbrijhsx48v53xkam5y6m0vh1s3";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.console/4.0.0/system.console.4.0.0.nupkg";
+      sha256 = "0ynxqbc3z1nwbrc11hkkpw9skw116z4y9wjzn7id49p9yi7mzmlf";
     };
   }
   {
     name = "system.console";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.console/4.3.0/system.console.4.3.0.nupkg";
-      sha256 = "0hyp57lqq986hnj7h017mz1qa1p3qqw3n98nxngdj947ck4mwmpd";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.console/4.3.0/system.console.4.3.0.nupkg";
+      sha256 = "1flr7a9x920mr5cjsqmsy9wgnv3lvd0h1g521pdr1lkb2qycy7ay";
     };
   }
   {
     name = "system.diagnostics.debug";
     version = "4.0.11";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.diagnostics.debug/4.0.11/system.diagnostics.debug.4.0.11.nupkg";
-      sha256 = "0j4czvcp72qamsj8irwg0sv5lqil4g6q1ghqsm40g5f3380fxcn3";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.debug/4.0.11/system.diagnostics.debug.4.0.11.nupkg";
+      sha256 = "0gmjghrqmlgzxivd2xl50ncbglb7ljzb66rlx8ws6dv8jm0d5siz";
     };
   }
   {
     name = "system.diagnostics.debug";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.diagnostics.debug/4.3.0/system.diagnostics.debug.4.3.0.nupkg";
-      sha256 = "02az3f9n0sy9hpjqq05dkwa4d4bgyrs57b69byya20zydvyxxm9z";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.debug/4.3.0/system.diagnostics.debug.4.3.0.nupkg";
+      sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y";
     };
   }
   {
     name = "system.diagnostics.diagnosticsource";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.diagnostics.diagnosticsource/4.3.0/system.diagnostics.diagnosticsource.4.3.0.nupkg";
-      sha256 = "0rqi76pqplmk8lzqhwxkkn6ramk56bm66ijg3zki9gzaaqx7fbfk";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.diagnosticsource/4.3.0/system.diagnostics.diagnosticsource.4.3.0.nupkg";
+      sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq";
+    };
+  }
+  {
+    name = "system.diagnostics.fileversioninfo";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.fileversioninfo/4.3.0/system.diagnostics.fileversioninfo.4.3.0.nupkg";
+      sha256 = "094hx249lb3vb336q7dg3v257hbxvz2jnalj695l7cg5kxzqwai7";
     };
   }
   {
     name = "system.diagnostics.process";
     version = "4.1.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.diagnostics.process/4.1.0/system.diagnostics.process.4.1.0.nupkg";
-      sha256 = "1fzm5jrfs4awz0qc2yav1assdnx45j5crpva50a4s0l0dnnvf2jh";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.process/4.1.0/system.diagnostics.process.4.1.0.nupkg";
+      sha256 = "061lrcs7xribrmq7kab908lww6kn2xn1w3rdc41q189y0jibl19s";
+    };
+  }
+  {
+    name = "system.diagnostics.stacktrace";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.stacktrace/4.3.0/system.diagnostics.stacktrace.4.3.0.nupkg";
+      sha256 = "0ash4h9k0m7xsm0yl79r0ixrdz369h7y922wipp5gladmlbvpyjd";
     };
   }
   {
     name = "system.diagnostics.tools";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.diagnostics.tools/4.3.0/system.diagnostics.tools.4.3.0.nupkg";
-      sha256 = "0fmmnsvnjxh4gjw2jjix3f7ndvhdh9h4rb4nbjk285c2rgfp2kyn";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.tools/4.3.0/system.diagnostics.tools.4.3.0.nupkg";
+      sha256 = "0in3pic3s2ddyibi8cvgl102zmvp9r9mchh82ns9f0ms4basylw1";
     };
   }
   {
     name = "system.diagnostics.tracesource";
     version = "4.0.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.diagnostics.tracesource/4.0.0/system.diagnostics.tracesource.4.0.0.nupkg";
-      sha256 = "0dwq0z7p3jpxp4y9x1k3pglrs572xx5dsp4nmnz5v5wr6a1kdc8l";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.tracesource/4.0.0/system.diagnostics.tracesource.4.0.0.nupkg";
+      sha256 = "1mc7r72xznczzf6mz62dm8xhdi14if1h8qgx353xvhz89qyxsa3h";
     };
   }
   {
     name = "system.diagnostics.tracing";
     version = "4.1.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.diagnostics.tracing/4.1.0/system.diagnostics.tracing.4.1.0.nupkg";
-      sha256 = "0lzdnq31spwv2xd9xkf0ph4zlg7bqifcvp1915jk1hb5fjjf1byp";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.tracing/4.1.0/system.diagnostics.tracing.4.1.0.nupkg";
+      sha256 = "1d2r76v1x610x61ahfpigda89gd13qydz6vbwzhpqlyvq8jj6394";
     };
   }
   {
     name = "system.diagnostics.tracing";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.diagnostics.tracing/4.3.0/system.diagnostics.tracing.4.3.0.nupkg";
-      sha256 = "0zwc9qk2ig6h74dnn4hxlyhnfchp6yd6hqv39dy0dhp3xagwfqp3";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.tracing/4.3.0/system.diagnostics.tracing.4.3.0.nupkg";
+      sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4";
+    };
+  }
+  {
+    name = "system.dynamic.runtime";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.dynamic.runtime/4.3.0/system.dynamic.runtime.4.3.0.nupkg";
+      sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk";
     };
   }
   {
     name = "system.globalization";
     version = "4.0.11";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.globalization/4.0.11/system.globalization.4.0.11.nupkg";
-      sha256 = "04pycnih66s15rbwss94ylm0svfr276ym4w4w14bb9g56dk0wwyy";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.globalization/4.0.11/system.globalization.4.0.11.nupkg";
+      sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d";
     };
   }
   {
     name = "system.globalization";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.globalization/4.3.0/system.globalization.4.3.0.nupkg";
-      sha256 = "1sydnlnaqmarcfs1cvaa3rpax7qhzd8wd67f74k89lr3k77cagfh";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.globalization/4.3.0/system.globalization.4.3.0.nupkg";
+      sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki";
     };
   }
   {
     name = "system.globalization.calendars";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.globalization.calendars/4.3.0/system.globalization.calendars.4.3.0.nupkg";
-      sha256 = "1qfa54p7ab2himyry3lf0j85gpz3mx9yj0sy0v2j9i94ndvk1w7c";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.globalization.calendars/4.3.0/system.globalization.calendars.4.3.0.nupkg";
+      sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq";
     };
   }
   {
     name = "system.io";
     version = "4.1.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.io/4.1.0/system.io.4.1.0.nupkg";
-      sha256 = "0drs586wimx7vzwqfdb72k640iz24645cwz053n1f08752bjkzq8";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io/4.1.0/system.io.4.1.0.nupkg";
+      sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp";
     };
   }
   {
     name = "system.io";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.io/4.3.0/system.io.4.3.0.nupkg";
-      sha256 = "1n3qypsgn18pg13vyjcnchz3zbfajdk6swl1wzf0hv6324v8xyd7";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io/4.3.0/system.io.4.3.0.nupkg";
+      sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f";
     };
   }
   {
     name = "system.io.compression";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.io.compression/4.3.0/system.io.compression.4.3.0.nupkg";
-      sha256 = "0mxp384amfdapgsf6fkyf3c5q10jc2yy55v3vim8wq1w8aim1qcf";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io.compression/4.3.0/system.io.compression.4.3.0.nupkg";
+      sha256 = "084zc82yi6yllgda0zkgl2ys48sypiswbiwrv7irb3r0ai1fp4vz";
     };
   }
   {
     name = "system.io.compression.zipfile";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.io.compression.zipfile/4.3.0/system.io.compression.zipfile.4.3.0.nupkg";
-      sha256 = "08fbnsgbbnfj7d6k5zdqvm3580iqwrq4qzbnyq6iw9g93kmlyh5p";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io.compression.zipfile/4.3.0/system.io.compression.zipfile.4.3.0.nupkg";
+      sha256 = "1yxy5pq4dnsm9hlkg9ysh5f6bf3fahqqb6p8668ndy5c0lk7w2ar";
     };
   }
   {
     name = "system.io.filesystem";
     version = "4.0.1";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.io.filesystem/4.0.1/system.io.filesystem.4.0.1.nupkg";
-      sha256 = "0mp3n5214lzxz7qn2y5k7f2y9qv067xa23bnbyyhpmlkbl3grwc6";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io.filesystem/4.0.1/system.io.filesystem.4.0.1.nupkg";
+      sha256 = "0kgfpw6w4djqra3w5crrg8xivbanh1w9dh3qapb28q060wb9flp1";
     };
   }
   {
     name = "system.io.filesystem";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.io.filesystem/4.3.0/system.io.filesystem.4.3.0.nupkg";
-      sha256 = "1p4r4n4minxgir17xh7rwv503fj1zgnm1vb24and7v2n6id4ma61";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io.filesystem/4.3.0/system.io.filesystem.4.3.0.nupkg";
+      sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw";
     };
   }
   {
     name = "system.io.filesystem.primitives";
     version = "4.0.1";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.io.filesystem.primitives/4.0.1/system.io.filesystem.primitives.4.0.1.nupkg";
-      sha256 = "12mspig2fvzhvbdm22yk081lpn7rc45xwwricc5vnaszgjp83gns";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io.filesystem.primitives/4.0.1/system.io.filesystem.primitives.4.0.1.nupkg";
+      sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612";
     };
   }
   {
     name = "system.io.filesystem.primitives";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.io.filesystem.primitives/4.3.0/system.io.filesystem.primitives.4.3.0.nupkg";
-      sha256 = "0s22vnhy6cxyzicipj3937rldxk1znlykakc6j596mjgsmshpfqn";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io.filesystem.primitives/4.3.0/system.io.filesystem.primitives.4.3.0.nupkg";
+      sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c";
     };
   }
   {
     name = "system.linq";
     version = "4.1.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.linq/4.1.0/system.linq.4.1.0.nupkg";
-      sha256 = "1n404dvsz6p2d18q9k3ip1vyl8ffbsz6xvc2bl2bba9ccpyjhygm";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.linq/4.1.0/system.linq.4.1.0.nupkg";
+      sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5";
     };
   }
   {
     name = "system.linq";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.linq/4.3.0/system.linq.4.3.0.nupkg";
-      sha256 = "1419wbklbn2vliwfy77p759k084h8jp9i3559shbhrzfxjr2fcv9";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.linq/4.3.0/system.linq.4.3.0.nupkg";
+      sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7";
     };
   }
   {
     name = "system.linq.expressions";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.linq.expressions/4.3.0/system.linq.expressions.4.3.0.nupkg";
-      sha256 = "177cz5hgcbq8lpgvdjmkpsx4kr645wpxhbgh3aw3f28nqlmhl70j";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.linq.expressions/4.3.0/system.linq.expressions.4.3.0.nupkg";
+      sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv";
+    };
+  }
+  {
+    name = "system.management";
+    version = "4.5.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.management/4.5.0/system.management.4.5.0.nupkg";
+      sha256 = "19z5x23n21xi94bgl531l9hrm64nyw9d5fpd7klfvr5xfsbh9jwr";
     };
   }
   {
     name = "system.memory";
     version = "4.5.3";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.memory/4.5.3/system.memory.4.5.3.nupkg";
-      sha256 = "1igqq2lqrijpbn66w1020cyyqiwy80i9fkqrmalamjmvmyg28p8m";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.memory/4.5.3/system.memory.4.5.3.nupkg";
+      sha256 = "0naqahm3wljxb5a911d37mwjqjdxv9l0b49p5dmfyijvni2ppy8a";
+    };
+  }
+  {
+    name = "system.memory";
+    version = "4.5.4";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.memory/4.5.4/system.memory.4.5.4.nupkg";
+      sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y";
     };
   }
   {
     name = "system.net.http";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/system.net.http/4.3.0/system.net.http.4.3.0.nupkg";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.net.http/4.3.0/system.net.http.4.3.0.nupkg";
       sha256 = "1i4gc757xqrzflbk7kc5ksn20kwwfjhw9w7pgdkn19y3cgnl302j";
     };
   }
@@ -915,23 +1107,23 @@
     name = "system.net.primitives";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.net.primitives/4.3.0/system.net.primitives.4.3.0.nupkg";
-      sha256 = "1zfrz4p3nmz3cnb0i8xwc76175328dfgrlmp3bcwvp5vplv3ncnz";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.net.primitives/4.3.0/system.net.primitives.4.3.0.nupkg";
+      sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii";
     };
   }
   {
     name = "system.net.sockets";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.net.sockets/4.3.0/system.net.sockets.4.3.0.nupkg";
-      sha256 = "026ghgh25lw953aqd83npk856g4bwi6a8y7jc695qj8lb929yp5s";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.net.sockets/4.3.0/system.net.sockets.4.3.0.nupkg";
+      sha256 = "1ssa65k6chcgi6mfmzrznvqaxk8jp0gvl77xhf1hbzakjnpxspla";
     };
   }
   {
     name = "system.numerics.vectors";
     version = "4.4.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/system.numerics.vectors/4.4.0/system.numerics.vectors.4.4.0.nupkg";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.numerics.vectors/4.4.0/system.numerics.vectors.4.4.0.nupkg";
       sha256 = "0rdvma399070b0i46c4qq1h2yvjj3k013sqzkilz4bz5cwmx1rba";
     };
   }
@@ -939,127 +1131,151 @@
     name = "system.numerics.vectors";
     version = "4.5.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.numerics.vectors/4.5.0/system.numerics.vectors.4.5.0.nupkg";
-      sha256 = "1r66gjpvbmgr3216ch2fx9zzd08fb78br4hzblvsvi7wfwp6w7ip";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.numerics.vectors/4.5.0/system.numerics.vectors.4.5.0.nupkg";
+      sha256 = "1kzrj37yzawf1b19jq0253rcs8hsq1l2q8g69d7ipnhzb0h97m59";
     };
   }
   {
     name = "system.objectmodel";
     version = "4.0.12";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.objectmodel/4.0.12/system.objectmodel.4.0.12.nupkg";
-      sha256 = "06abwzrai4k999qmc8bkcvq26px2ws9gk04c01c1ix9fw02pf546";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.objectmodel/4.0.12/system.objectmodel.4.0.12.nupkg";
+      sha256 = "1sybkfi60a4588xn34nd9a58png36i0xr4y4v4kqpg8wlvy5krrj";
     };
   }
   {
     name = "system.objectmodel";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.objectmodel/4.3.0/system.objectmodel.4.3.0.nupkg";
-      sha256 = "18mryszf4a66a52v9din5wgqiykp0ficl5zl5l9grkrisjnl7jh4";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.objectmodel/4.3.0/system.objectmodel.4.3.0.nupkg";
+      sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2";
     };
   }
   {
     name = "system.private.datacontractserialization";
     version = "4.1.1";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.private.datacontractserialization/4.1.1/system.private.datacontractserialization.4.1.1.nupkg";
-      sha256 = "1hrbq85s14x7ck6an570z8p7slprlsswxlydz0pdzfmnqwpv0qbi";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.private.datacontractserialization/4.1.1/system.private.datacontractserialization.4.1.1.nupkg";
+      sha256 = "1xk9wvgzipssp1393nsg4n16zbr5481k03nkdlj954hzq5jkx89r";
     };
   }
   {
     name = "system.reflection";
     version = "4.1.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.reflection/4.1.0/system.reflection.4.1.0.nupkg";
-      sha256 = "003bmllpdf35jsbbhgsi4a24rqprdhgjpi3d76jk7sgllbh6p1wj";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection/4.1.0/system.reflection.4.1.0.nupkg";
+      sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9";
     };
   }
   {
     name = "system.reflection";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.reflection/4.3.0/system.reflection.4.3.0.nupkg";
-      sha256 = "00f1n6r8z6zw3mfhrfg402s6fj95jj9d8z5s62kfmd7pdsnv39xi";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection/4.3.0/system.reflection.4.3.0.nupkg";
+      sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m";
     };
   }
   {
     name = "system.reflection.emit";
     version = "4.0.1";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.reflection.emit/4.0.1/system.reflection.emit.4.0.1.nupkg";
-      sha256 = "0s1cpkpnn2x6bicspj1x7z7zlfg1h5iy8mvr5bcq55fgpyf6xin8";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.emit/4.0.1/system.reflection.emit.4.0.1.nupkg";
+      sha256 = "0ydqcsvh6smi41gyaakglnv252625hf29f7kywy2c70nhii2ylqp";
+    };
+  }
+  {
+    name = "system.reflection.emit";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.emit/4.3.0/system.reflection.emit.4.3.0.nupkg";
+      sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74";
     };
   }
   {
     name = "system.reflection.emit.ilgeneration";
     version = "4.0.1";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.reflection.emit.ilgeneration/4.0.1/system.reflection.emit.ilgeneration.4.0.1.nupkg";
-      sha256 = "0q789n72y47jkld2076khan7zz2gm04znpnz0nznin7ykp8aa0ih";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.emit.ilgeneration/4.0.1/system.reflection.emit.ilgeneration.4.0.1.nupkg";
+      sha256 = "1pcd2ig6bg144y10w7yxgc9d22r7c7ww7qn1frdfwgxr24j9wvv0";
     };
   }
   {
     name = "system.reflection.emit.lightweight";
     version = "4.0.1";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.reflection.emit.lightweight/4.0.1/system.reflection.emit.lightweight.4.0.1.nupkg";
-      sha256 = "10hsbdar8vzvq3izv3v8a93rz7brnmrcrcl5c0nvy8vlmdk41jlx";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.emit.lightweight/4.0.1/system.reflection.emit.lightweight.4.0.1.nupkg";
+      sha256 = "1s4b043zdbx9k39lfhvsk68msv1nxbidhkq6nbm27q7sf8xcsnxr";
+    };
+  }
+  {
+    name = "system.reflection.emit.lightweight";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.emit.lightweight/4.3.0/system.reflection.emit.lightweight.4.3.0.nupkg";
+      sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c";
     };
   }
   {
     name = "system.reflection.extensions";
     version = "4.0.1";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.reflection.extensions/4.0.1/system.reflection.extensions.4.0.1.nupkg";
-      sha256 = "1n1gig2nlycrz1rzy1gi56gcw568ibdpnbknjy7gv9i76aw2kvy7";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.extensions/4.0.1/system.reflection.extensions.4.0.1.nupkg";
+      sha256 = "0m7wqwq0zqq9gbpiqvgk3sr92cbrw7cp3xn53xvw7zj6rz6fdirn";
     };
   }
   {
     name = "system.reflection.extensions";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.reflection.extensions/4.3.0/system.reflection.extensions.4.3.0.nupkg";
-      sha256 = "020gr3yjb3aa49hm4qyxqrz318ll2rnc8qpcby341ik0gr4ij3wz";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.extensions/4.3.0/system.reflection.extensions.4.3.0.nupkg";
+      sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq";
     };
   }
   {
     name = "system.reflection.metadata";
     version = "1.6.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.reflection.metadata/1.6.0/system.reflection.metadata.1.6.0.nupkg";
-      sha256 = "1kw4xsm093zd10jf3vjc2lxmv0zq6chi3g8rka8w0d3l3a5hh3ly";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.metadata/1.6.0/system.reflection.metadata.1.6.0.nupkg";
+      sha256 = "1wdbavrrkajy7qbdblpbpbalbdl48q3h34cchz24gvdgyrlf15r4";
+    };
+  }
+  {
+    name = "system.reflection.metadata";
+    version = "5.0.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.metadata/5.0.0/system.reflection.metadata.5.0.0.nupkg";
+      sha256 = "17qsl5nanlqk9iz0l5wijdn6ka632fs1m1fvx18dfgswm258r3ss";
     };
   }
   {
     name = "system.reflection.primitives";
     version = "4.0.1";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.reflection.primitives/4.0.1/system.reflection.primitives.4.0.1.nupkg";
-      sha256 = "1r0a1xhlrdr6kdhia9r6rcywds4r8wbk0jagsac6x3rc0kq5f1yi";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.primitives/4.0.1/system.reflection.primitives.4.0.1.nupkg";
+      sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28";
     };
   }
   {
     name = "system.reflection.primitives";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.reflection.primitives/4.3.0/system.reflection.primitives.4.3.0.nupkg";
-      sha256 = "1b10cxizldqk8niyihhxsabfjkyrlnkgf4im038lbxs3pq7a12yl";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.primitives/4.3.0/system.reflection.primitives.4.3.0.nupkg";
+      sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276";
     };
   }
   {
     name = "system.reflection.typeextensions";
     version = "4.1.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.reflection.typeextensions/4.1.0/system.reflection.typeextensions.4.1.0.nupkg";
-      sha256 = "13y2gvadvzgv5hrizwd53xyciq88p8mpclyqfmikspij4pyb5328";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.typeextensions/4.1.0/system.reflection.typeextensions.4.1.0.nupkg";
+      sha256 = "1bjli8a7sc7jlxqgcagl9nh8axzfl11f4ld3rjqsyxc516iijij7";
     };
   }
   {
     name = "system.resources.extensions";
     version = "4.6.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/system.resources.extensions/4.6.0/system.resources.extensions.4.6.0.nupkg";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.resources.extensions/4.6.0/system.resources.extensions.4.6.0.nupkg";
       sha256 = "0inch9jgchgmsg3xjivbhh9mpin40mhdd8dgf4i1p3g42i0hzc0j";
     };
   }
@@ -1067,183 +1283,207 @@
     name = "system.resources.reader";
     version = "4.0.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.resources.reader/4.0.0/system.resources.reader.4.0.0.nupkg";
-      sha256 = "0nipl2mayrbgf62mbi3z9crk9hvcrxnry008a33iyk9xy45rmyk1";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.resources.reader/4.0.0/system.resources.reader.4.0.0.nupkg";
+      sha256 = "1jafi73dcf1lalrir46manq3iy6xnxk2z7gpdpwg4wqql7dv3ril";
     };
   }
   {
     name = "system.resources.resourcemanager";
     version = "4.0.1";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.resources.resourcemanager/4.0.1/system.resources.resourcemanager.4.0.1.nupkg";
-      sha256 = "1hjlz6rvr5c7qmvmbv1a338zqjl1dbj0qqidwv9z0ldy4jmg89cy";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.resources.resourcemanager/4.0.1/system.resources.resourcemanager.4.0.1.nupkg";
+      sha256 = "0b4i7mncaf8cnai85jv3wnw6hps140cxz8vylv2bik6wyzgvz7bi";
     };
   }
   {
     name = "system.resources.resourcemanager";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.resources.resourcemanager/4.3.0/system.resources.resourcemanager.4.3.0.nupkg";
-      sha256 = "1bi65kd8fps7gncs053pawc0j44pz4wcgdj3jcw7gpjr4j0zyxwi";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.resources.resourcemanager/4.3.0/system.resources.resourcemanager.4.3.0.nupkg";
+      sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49";
     };
   }
   {
     name = "system.runtime";
     version = "4.1.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.runtime/4.1.0/system.runtime.4.1.0.nupkg";
-      sha256 = "05n73j0s3qgjnp5w2jxaacn93kpq14cldxncv15v04b3lla30mpr";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime/4.1.0/system.runtime.4.1.0.nupkg";
+      sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m";
     };
   }
   {
     name = "system.runtime";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.runtime/4.3.0/system.runtime.4.3.0.nupkg";
-      sha256 = "0cffdplihjrivvcayzvz32gmv7yissf2pmyaga4fw7g262rf5mxi";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime/4.3.0/system.runtime.4.3.0.nupkg";
+      sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7";
     };
   }
   {
     name = "system.runtime.compilerservices.unsafe";
-    version = "4.5.2";
+    version = "5.0.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.runtime.compilerservices.unsafe/4.5.2/system.runtime.compilerservices.unsafe.4.5.2.nupkg";
-      sha256 = "0bp6in9qqhprbk85wd0cnfnpjcwdknyyc9rk0891kldx3alnd4h7";
-    };
-  }
-  {
-    name = "system.runtime.compilerservices.unsafe";
-    version = "4.7.0";
-    src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/system.runtime.compilerservices.unsafe/4.7.0/system.runtime.compilerservices.unsafe.4.7.0.nupkg";
-      sha256 = "16r6sn4czfjk8qhnz7bnqlyiaaszr0ihinb7mq9zzr1wba257r54";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.compilerservices.unsafe/5.0.0/system.runtime.compilerservices.unsafe.5.0.0.nupkg";
+      sha256 = "02k25ivn50dmqx5jn8hawwmz24yf0454fjd823qk6lygj9513q4x";
     };
   }
   {
     name = "system.runtime.extensions";
     version = "4.1.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.runtime.extensions/4.1.0/system.runtime.extensions.4.1.0.nupkg";
-      sha256 = "0bms87hf2q90kkfg75ljdk09410fl64326wpvhqgfkgw019704yc";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.extensions/4.1.0/system.runtime.extensions.4.1.0.nupkg";
+      sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z";
     };
   }
   {
     name = "system.runtime.extensions";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.runtime.extensions/4.3.0/system.runtime.extensions.4.3.0.nupkg";
-      sha256 = "18qn6zjvpngda5bd9nrpphwy5lppmkla86jk5bdapz6ar44ic8wy";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.extensions/4.3.0/system.runtime.extensions.4.3.0.nupkg";
+      sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60";
     };
   }
   {
     name = "system.runtime.handles";
     version = "4.0.1";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.runtime.handles/4.0.1/system.runtime.handles.4.0.1.nupkg";
-      sha256 = "00kzqs5d8gm1ppc13idybcdrr07yk2a7f5bdrb0mw7c1bafjp1px";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.handles/4.0.1/system.runtime.handles.4.0.1.nupkg";
+      sha256 = "1g0zrdi5508v49pfm3iii2hn6nm00bgvfpjq1zxknfjrxxa20r4g";
     };
   }
   {
     name = "system.runtime.handles";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.runtime.handles/4.3.0/system.runtime.handles.4.3.0.nupkg";
-      sha256 = "1klsizwincb42v9yl6m9czgqcmxr7a1h1ri687ldqy4w15718adi";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.handles/4.3.0/system.runtime.handles.4.3.0.nupkg";
+      sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8";
     };
   }
   {
     name = "system.runtime.interopservices";
     version = "4.1.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.runtime.interopservices/4.1.0/system.runtime.interopservices.4.1.0.nupkg";
-      sha256 = "1876kwm4ziikya5s75sb1cp23qwdsd7xhlmlb9gaglibzwkd8b9d";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.interopservices/4.1.0/system.runtime.interopservices.4.1.0.nupkg";
+      sha256 = "01kxqppx3dr3b6b286xafqilv4s2n0gqvfgzfd4z943ga9i81is1";
     };
   }
   {
     name = "system.runtime.interopservices";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.runtime.interopservices/4.3.0/system.runtime.interopservices.4.3.0.nupkg";
-      sha256 = "0l13wfr3y4rq667cyw1rl3bdq24zhs34jwv61piwnv77flwr4brq";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.interopservices/4.3.0/system.runtime.interopservices.4.3.0.nupkg";
+      sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j";
     };
   }
   {
     name = "system.runtime.interopservices.runtimeinformation";
     version = "4.0.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.runtime.interopservices.runtimeinformation/4.0.0/system.runtime.interopservices.runtimeinformation.4.0.0.nupkg";
-      sha256 = "05pmsmrjmy3mk4r8xqihc3w7128d4qccjg6wkyd7zc2yq67w7xmg";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.interopservices.runtimeinformation/4.0.0/system.runtime.interopservices.runtimeinformation.4.0.0.nupkg";
+      sha256 = "0glmvarf3jz5xh22iy3w9v3wyragcm4hfdr17v90vs7vcrm7fgp6";
     };
   }
   {
     name = "system.runtime.interopservices.runtimeinformation";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.runtime.interopservices.runtimeinformation/4.3.0/system.runtime.interopservices.runtimeinformation.4.3.0.nupkg";
-      sha256 = "131108h1vnayxx6ms2axinja3sqckb1b8z9v8fjnaf9ix8zvmaxq";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.interopservices.runtimeinformation/4.3.0/system.runtime.interopservices.runtimeinformation.4.3.0.nupkg";
+      sha256 = "0q18r1sh4vn7bvqgd6dmqlw5v28flbpj349mkdish2vjyvmnb2ii";
     };
   }
   {
     name = "system.runtime.numerics";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.runtime.numerics/4.3.0/system.runtime.numerics.4.3.0.nupkg";
-      sha256 = "06i4k2ng909fvlq9dhglgyp0iv5vj6b42vqlsvk2gcn6ssgkq9ya";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.numerics/4.3.0/system.runtime.numerics.4.3.0.nupkg";
+      sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z";
     };
   }
   {
     name = "system.runtime.serialization.primitives";
     version = "4.1.1";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.runtime.serialization.primitives/4.1.1/system.runtime.serialization.primitives.4.1.1.nupkg";
-      sha256 = "1mqwgsda61xm2p4chcniypnnrahh8l6j8c9j45jd2r0hmrvnsc4k";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.serialization.primitives/4.1.1/system.runtime.serialization.primitives.4.1.1.nupkg";
+      sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k";
     };
   }
   {
     name = "system.runtime.serialization.xml";
     version = "4.1.1";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.runtime.serialization.xml/4.1.1/system.runtime.serialization.xml.4.1.1.nupkg";
-      sha256 = "19mwnihzks4l2q73bsg5ylbawxqcji3slzzp0v46v6xvvrq480wq";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.serialization.xml/4.1.1/system.runtime.serialization.xml.4.1.1.nupkg";
+      sha256 = "11747an5gbz821pwahaim3v82gghshnj9b5c4cw539xg5a3gq7rk";
+    };
+  }
+  {
+    name = "system.security.accesscontrol";
+    version = "4.5.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.accesscontrol/4.5.0/system.security.accesscontrol.4.5.0.nupkg";
+      sha256 = "1wvwanz33fzzbnd2jalar0p0z3x0ba53vzx1kazlskp7pwyhlnq0";
+    };
+  }
+  {
+    name = "system.security.accesscontrol";
+    version = "4.7.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.accesscontrol/4.7.0/system.security.accesscontrol.4.7.0.nupkg";
+      sha256 = "0n0k0w44flkd8j0xw7g3g3vhw7dijfm51f75xkm1qxnbh4y45mpz";
     };
   }
   {
     name = "system.security.cryptography.algorithms";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.security.cryptography.algorithms/4.3.0/system.security.cryptography.algorithms.4.3.0.nupkg";
-      sha256 = "04lfa74ll34fk2r42fkdldvcgjp27i3d5zbxx5bxx1dfpsqhkavv";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.algorithms/4.3.0/system.security.cryptography.algorithms.4.3.0.nupkg";
+      sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml";
     };
   }
   {
     name = "system.security.cryptography.encoding";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.security.cryptography.encoding/4.3.0/system.security.cryptography.encoding.4.3.0.nupkg";
-      sha256 = "1icdqp1c8f7971h1vkls87m8bdxs7xqg4xs7ygi0x3n56pjbqfpi";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.encoding/4.3.0/system.security.cryptography.encoding.4.3.0.nupkg";
+      sha256 = "1jr6w70igqn07k5zs1ph6xja97hxnb3mqbspdrff6cvssgrixs32";
     };
   }
   {
     name = "system.security.cryptography.primitives";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.security.cryptography.primitives/4.3.0/system.security.cryptography.primitives.4.3.0.nupkg";
-      sha256 = "02dsnjxw9bymk0a2qnnlavpi0jq8832dviblv5f9icmwldridc8y";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.primitives/4.3.0/system.security.cryptography.primitives.4.3.0.nupkg";
+      sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby";
     };
   }
   {
     name = "system.security.cryptography.x509certificates";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.security.cryptography.x509certificates/4.3.0/system.security.cryptography.x509certificates.4.3.0.nupkg";
-      sha256 = "0p02s2k8gcx86ys67ydbgrlnp5q7f073jnlgpliqp4f7d2wiwszd";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.x509certificates/4.3.0/system.security.cryptography.x509certificates.4.3.0.nupkg";
+      sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h";
+    };
+  }
+  {
+    name = "system.security.permissions";
+    version = "4.7.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.permissions/4.7.0/system.security.permissions.4.7.0.nupkg";
+      sha256 = "13f366sj36jwbvld957gk2q64k2xbj48r8b0k9avrri2nlq1fs04";
+    };
+  }
+  {
+    name = "system.security.principal.windows";
+    version = "4.5.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.principal.windows/4.5.0/system.security.principal.windows.4.5.0.nupkg";
+      sha256 = "0rmj89wsl5yzwh0kqjgx45vzf694v9p92r4x4q6yxldk1cv1hi86";
     };
   }
   {
     name = "system.security.principal.windows";
     version = "4.7.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/system.security.principal.windows/4.7.0/system.security.principal.windows.4.7.0.nupkg";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.principal.windows/4.7.0/system.security.principal.windows.4.7.0.nupkg";
       sha256 = "1a56ls5a9sr3ya0nr086sdpa9qv0abv31dd6fp27maqa9zclqq5d";
     };
   }
@@ -1251,47 +1491,55 @@
     name = "system.text.encoding";
     version = "4.0.11";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.text.encoding/4.0.11/system.text.encoding.4.0.11.nupkg";
-      sha256 = "0q829jqhv2sdggb3xjlbdp65g2670w9gw64q2irdzr47gl7zpzyl";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding/4.0.11/system.text.encoding.4.0.11.nupkg";
+      sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw";
     };
   }
   {
     name = "system.text.encoding";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.text.encoding/4.3.0/system.text.encoding.4.3.0.nupkg";
-      sha256 = "04fsaadvsnjz6jmf88n26md9zcmvwgn2dkwqkjvhf5apph8gi44g";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding/4.3.0/system.text.encoding.4.3.0.nupkg";
+      sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr";
     };
   }
   {
     name = "system.text.encoding.codepages";
     version = "4.0.1";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.text.encoding.codepages/4.0.1/system.text.encoding.codepages.4.0.1.nupkg";
-      sha256 = "0ixii299wspn434ccjjv8pcvxww3qjl8257r0dx7myh816v3a9sz";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding.codepages/4.0.1/system.text.encoding.codepages.4.0.1.nupkg";
+      sha256 = "00wpm3b9y0k996rm9whxprngm8l500ajmzgy2ip9pgwk0icp06y3";
+    };
+  }
+  {
+    name = "system.text.encoding.codepages";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding.codepages/4.3.0/system.text.encoding.codepages.4.3.0.nupkg";
+      sha256 = "0lgxg1gn7pg7j0f942pfdc9q7wamzxsgq3ng248ikdasxz0iadkv";
     };
   }
   {
     name = "system.text.encoding.extensions";
     version = "4.0.11";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.text.encoding.extensions/4.0.11/system.text.encoding.extensions.4.0.11.nupkg";
-      sha256 = "15f89w0vwnfp10544wbq0z6fjqn7ig03q3kl16x2pp47rac6yj17";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding.extensions/4.0.11/system.text.encoding.extensions.4.0.11.nupkg";
+      sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs";
     };
   }
   {
     name = "system.text.encoding.extensions";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.text.encoding.extensions/4.3.0/system.text.encoding.extensions.4.3.0.nupkg";
-      sha256 = "1w6jxdkrczxwyw2bbs9ng0zi2nk3paznyhm1vnh5vc8v10k96v98";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding.extensions/4.3.0/system.text.encoding.extensions.4.3.0.nupkg";
+      sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy";
     };
   }
   {
     name = "system.text.encodings.web";
     version = "4.7.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/system.text.encodings.web/4.7.0/system.text.encodings.web.4.7.0.nupkg";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encodings.web/4.7.0/system.text.encodings.web.4.7.0.nupkg";
       sha256 = "0sd3bihfar5rwm6nib4lhyys306nkm02qvk6p6sgzmnlfmma2wn3";
     };
   }
@@ -1299,7 +1547,7 @@
     name = "system.text.json";
     version = "4.7.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/system.text.json/4.7.0/system.text.json.4.7.0.nupkg";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.json/4.7.0/system.text.json.4.7.0.nupkg";
       sha256 = "0fp3xrysccm5dkaac4yb51d793vywxks978kkl5x4db9gw29rfdr";
     };
   }
@@ -1307,191 +1555,223 @@
     name = "system.text.regularexpressions";
     version = "4.1.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.text.regularexpressions/4.1.0/system.text.regularexpressions.4.1.0.nupkg";
-      sha256 = "1ndgfw99bds4772p7578ylcb4whls76qhiz9a3bh4qy9si48afcv";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.regularexpressions/4.1.0/system.text.regularexpressions.4.1.0.nupkg";
+      sha256 = "1mw7vfkkyd04yn2fbhm38msk7dz2xwvib14ygjsb8dq2lcvr18y7";
     };
   }
   {
     name = "system.text.regularexpressions";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.text.regularexpressions/4.3.0/system.text.regularexpressions.4.3.0.nupkg";
-      sha256 = "1510mdlfdc42vyp738wvmqdy3sir2yyh5w3da3v5i0ar2c4jn6wi";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.regularexpressions/4.3.0/system.text.regularexpressions.4.3.0.nupkg";
+      sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l";
     };
   }
   {
     name = "system.threading";
     version = "4.0.11";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.threading/4.0.11/system.threading.4.0.11.nupkg";
-      sha256 = "12w6vdai88ldgnv9f71rybwyvlzkk1nr57d7f8cz6rajwliz7h6g";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading/4.0.11/system.threading.4.0.11.nupkg";
+      sha256 = "19x946h926bzvbsgj28csn46gak2crv2skpwsx80hbgazmkgb1ls";
     };
   }
   {
     name = "system.threading";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.threading/4.3.0/system.threading.4.3.0.nupkg";
-      sha256 = "1ad1drl7q1f8fmfaq3r2bswg58nbc2y01mrbhlwkv41ij1ij3fz3";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading/4.3.0/system.threading.4.3.0.nupkg";
+      sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34";
     };
   }
   {
     name = "system.threading.tasks";
     version = "4.0.11";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.threading.tasks/4.0.11/system.threading.tasks.4.0.11.nupkg";
-      sha256 = "03gvdi1qk4kyws4sjfl5w3fy9qbrq0d0i72n7a8d59lchm6l9zjk";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks/4.0.11/system.threading.tasks.4.0.11.nupkg";
+      sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5";
     };
   }
   {
     name = "system.threading.tasks";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.threading.tasks/4.3.0/system.threading.tasks.4.3.0.nupkg";
-      sha256 = "0y0gw9q62dchzhk3fcdcdfhk6c5zr0a6rs34qfdbkgksnva10cm1";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks/4.3.0/system.threading.tasks.4.3.0.nupkg";
+      sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7";
     };
   }
   {
     name = "system.threading.tasks.dataflow";
     version = "4.9.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.threading.tasks.dataflow/4.9.0/system.threading.tasks.dataflow.4.9.0.nupkg";
-      sha256 = "01lhdmb9w4h82yaqrqpzvz5cv2b228kj332k2h6nz0qycpjd6b0y";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks.dataflow/4.9.0/system.threading.tasks.dataflow.4.9.0.nupkg";
+      sha256 = "1g6s9pjg4z8iy98df60y9a01imdqy59zd767vz74rrng78jl2dk5";
     };
   }
   {
     name = "system.threading.tasks.extensions";
     version = "4.0.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.threading.tasks.extensions/4.0.0/system.threading.tasks.extensions.4.0.0.nupkg";
-      sha256 = "1dxi845z4cd83v2ph7dq9ykf5gxr6gaw9k29wckv5zhx1rjwprfg";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks.extensions/4.0.0/system.threading.tasks.extensions.4.0.0.nupkg";
+      sha256 = "1cb51z062mvc2i8blpzmpn9d9mm4y307xrwi65di8ri18cz5r1zr";
     };
   }
   {
     name = "system.threading.tasks.extensions";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.threading.tasks.extensions/4.3.0/system.threading.tasks.extensions.4.3.0.nupkg";
-      sha256 = "1dr14m9c2psrvavv74dzwbi09avn0hxmdvr6z03f96mxkrk3cm1d";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks.extensions/4.3.0/system.threading.tasks.extensions.4.3.0.nupkg";
+      sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z";
     };
   }
   {
     name = "system.threading.tasks.extensions";
     version = "4.5.2";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.threading.tasks.extensions/4.5.2/system.threading.tasks.extensions.4.5.2.nupkg";
-      sha256 = "03qkna7pwxaxnxg3ydc1vpjzzrizq55gm7w519gqlmd6yca61vzm";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks.extensions/4.5.2/system.threading.tasks.extensions.4.5.2.nupkg";
+      sha256 = "1sh63dz0dymqcwmprp0nadm77b83vmm7lyllpv578c397bslb8hj";
     };
   }
   {
     name = "system.threading.tasks.parallel";
     version = "4.0.1";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.threading.tasks.parallel/4.0.1/system.threading.tasks.parallel.4.0.1.nupkg";
-      sha256 = "00l76cv7yys3ilrpi32xrs8qk45gmliqvmw2w2zxg3h21y6r0xc0";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks.parallel/4.0.1/system.threading.tasks.parallel.4.0.1.nupkg";
+      sha256 = "114wdg32hr46dfsnns3pgs67kcha5jn47p5gg0mhxfn5vrkr2p75";
+    };
+  }
+  {
+    name = "system.threading.tasks.parallel";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks.parallel/4.3.0/system.threading.tasks.parallel.4.3.0.nupkg";
+      sha256 = "1rr3qa4hxwyj531s4nb3bwrxnxxwz617i0n9gh6x7nr7dd3ayzgh";
     };
   }
   {
     name = "system.threading.thread";
     version = "4.0.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.threading.thread/4.0.0/system.threading.thread.4.0.0.nupkg";
-      sha256 = "0ay1bjmyk0jv6plj9layh3nhr7lnl5a6gzlqi2pgqglb1s9j1x4s";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.thread/4.0.0/system.threading.thread.4.0.0.nupkg";
+      sha256 = "1gxxm5fl36pjjpnx1k688dcw8m9l7nmf802nxis6swdaw8k54jzc";
+    };
+  }
+  {
+    name = "system.threading.thread";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.thread/4.3.0/system.threading.thread.4.3.0.nupkg";
+      sha256 = "0y2xiwdfcph7znm2ysxanrhbqqss6a3shi1z3c779pj2s523mjx4";
     };
   }
   {
     name = "system.threading.timer";
     version = "4.0.1";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.threading.timer/4.0.1/system.threading.timer.4.0.1.nupkg";
-      sha256 = "0imrcq43k6ii97xpfkwzsvhs6idvgc6mi5c9p7ah828wbaxqh1my";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.timer/4.0.1/system.threading.timer.4.0.1.nupkg";
+      sha256 = "15n54f1f8nn3mjcjrlzdg6q3520571y012mx7v991x2fvp73lmg6";
     };
   }
   {
     name = "system.threading.timer";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.threading.timer/4.3.0/system.threading.timer.4.3.0.nupkg";
-      sha256 = "11p4yxkcn2amlxhwipyia38k8glpam5c9l47y5dvjdicg42dgxl8";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.timer/4.3.0/system.threading.timer.4.3.0.nupkg";
+      sha256 = "1nx773nsx6z5whv8kaa1wjh037id2f1cxhb69pvgv12hd2b6qs56";
     };
   }
   {
     name = "system.valuetuple";
     version = "4.5.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.valuetuple/4.5.0/system.valuetuple.4.5.0.nupkg";
-      sha256 = "068v2h0v8873jh3zc06bxcfzch9frggak1s9csyisl7xzwdijsqn";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.valuetuple/4.5.0/system.valuetuple.4.5.0.nupkg";
+      sha256 = "00k8ja51d0f9wrq4vv5z2jhq8hy31kac2rg0rv06prylcybzl8cy";
     };
   }
   {
     name = "system.xml.readerwriter";
     version = "4.0.11";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.xml.readerwriter/4.0.11/system.xml.readerwriter.4.0.11.nupkg";
-      sha256 = "04ijmcrb40x08br0fdpxmrm0fw2ahpiqjs9wmrqx38ngf96irb7l";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.xml.readerwriter/4.0.11/system.xml.readerwriter.4.0.11.nupkg";
+      sha256 = "0c6ky1jk5ada9m94wcadih98l6k1fvf6vi7vhn1msjixaha419l5";
     };
   }
   {
     name = "system.xml.readerwriter";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.xml.readerwriter/4.3.0/system.xml.readerwriter.4.3.0.nupkg";
-      sha256 = "1dsj4s5jwjqix52sizyncvrv5p1h9cdnkh5c4a6407s3gkkh4gzw";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.xml.readerwriter/4.3.0/system.xml.readerwriter.4.3.0.nupkg";
+      sha256 = "0c47yllxifzmh8gq6rq6l36zzvw4kjvlszkqa9wq3fr59n0hl3s1";
     };
   }
   {
     name = "system.xml.xdocument";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.xml.xdocument/4.3.0/system.xml.xdocument.4.3.0.nupkg";
-      sha256 = "14j57hlnmba6rwjwkxx8yp7rk5zf2dzq5j9f22j84jr0xxf00j2f";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.xml.xdocument/4.3.0/system.xml.xdocument.4.3.0.nupkg";
+      sha256 = "08h8fm4l77n0nd4i4fk2386y809bfbwqb7ih9d7564ifcxr5ssxd";
     };
   }
   {
     name = "system.xml.xmldocument";
     version = "4.0.1";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.xml.xmldocument/4.0.1/system.xml.xmldocument.4.0.1.nupkg";
-      sha256 = "1x2iz1l482876vjr11vsrl895n1bbaflxbj239dpf5a48p06gq7y";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.xml.xmldocument/4.0.1/system.xml.xmldocument.4.0.1.nupkg";
+      sha256 = "0ihsnkvyc76r4dcky7v3ansnbyqjzkbyyia0ir5zvqirzan0bnl1";
+    };
+  }
+  {
+    name = "system.xml.xmldocument";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.xml.xmldocument/4.3.0/system.xml.xmldocument.4.3.0.nupkg";
+      sha256 = "0bmz1l06dihx52jxjr22dyv5mxv6pj4852lx68grjm7bivhrbfwi";
     };
   }
   {
     name = "system.xml.xmlserializer";
     version = "4.0.11";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.xml.xmlserializer/4.0.11/system.xml.xmlserializer.4.0.11.nupkg";
-      sha256 = "0987zp4nskf0dbsl3h4s5m1ianjcc398zmp2b98j4834c45jh0bm";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.xml.xmlserializer/4.0.11/system.xml.xmlserializer.4.0.11.nupkg";
+      sha256 = "01nzc3gdslw90qfykq4qzr2mdnqxjl4sj0wp3fixiwdmlmvpib5z";
     };
   }
   {
     name = "system.xml.xpath";
     version = "4.3.0";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.xml.xpath/4.3.0/system.xml.xpath.4.3.0.nupkg";
-      sha256 = "0hvn82chjynkixvvk9dy9djqvb0hlkbc2hy00gy27vjhd8i4iqkx";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.xml.xpath/4.3.0/system.xml.xpath.4.3.0.nupkg";
+      sha256 = "1cv2m0p70774a0sd1zxc8fm8jk3i5zk2bla3riqvi8gsm0r4kpci";
+    };
+  }
+  {
+    name = "system.xml.xpath.xdocument";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.xml.xpath.xdocument/4.3.0/system.xml.xpath.xdocument.4.3.0.nupkg";
+      sha256 = "1wxckyb7n1pi433xzz0qcwcbl1swpra64065mbwwi8dhdc4kiabn";
     };
   }
   {
     name = "vswhere";
     version = "2.6.7";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/vswhere/2.6.7/vswhere.2.6.7.nupkg";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/vswhere/2.6.7/vswhere.2.6.7.nupkg";
       sha256 = "0h4k5i96p7633zzf4xsv7615f9x72rr5qr7b9934ri2y6gshfcwk";
     };
   }
   {
     name = "xlifftasks";
-    version = "1.0.0-beta.20206.1";
+    version = "1.0.0-beta.20502.2";
     src = fetchurl {
-      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/xlifftasks/1.0.0-beta.20206.1/xlifftasks.1.0.0-beta.20206.1.nupkg";
-      sha256 = "0xsfzws7rn9sfk4mgkbil21m8d3k3kccfk5f4g6lzvc1vk0pa26j";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/xlifftasks/1.0.0-beta.20502.2/xlifftasks.1.0.0-beta.20502.2.nupkg";
+      sha256 = "17k3dagcxhblzjbh00jsvc150rn7xqp3s3fw2qp1pyjj204y8a90";
     };
   }
   {
     name = "xunit";
     version = "2.4.1";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/xunit/2.4.1/xunit.2.4.1.nupkg";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/xunit/2.4.1/xunit.2.4.1.nupkg";
       sha256 = "0xf3kaywpg15flqaqfgywqyychzk15kz0kz34j21rcv78q9ywq20";
     };
   }
@@ -1499,7 +1779,7 @@
     name = "xunit.abstractions";
     version = "2.0.3";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/xunit.abstractions/2.0.3/xunit.abstractions.2.0.3.nupkg";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/xunit.abstractions/2.0.3/xunit.abstractions.2.0.3.nupkg";
       sha256 = "00wl8qksgkxld76fgir3ycc5rjqv1sqds6x8yx40927q5py74gfh";
     };
   }
@@ -1507,7 +1787,7 @@
     name = "xunit.analyzers";
     version = "0.10.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/xunit.analyzers/0.10.0/xunit.analyzers.0.10.0.nupkg";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/xunit.analyzers/0.10.0/xunit.analyzers.0.10.0.nupkg";
       sha256 = "15n02q3akyqbvkp8nq75a8rd66d4ax0rx8fhdcn8j78pi235jm7j";
     };
   }
@@ -1515,7 +1795,7 @@
     name = "xunit.assert";
     version = "2.4.1";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/xunit.assert/2.4.1/xunit.assert.2.4.1.nupkg";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/xunit.assert/2.4.1/xunit.assert.2.4.1.nupkg";
       sha256 = "1imynzh80wxq2rp9sc4gxs4x1nriil88f72ilhj5q0m44qqmqpc6";
     };
   }
@@ -1523,7 +1803,7 @@
     name = "xunit.core";
     version = "2.4.1";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/xunit.core/2.4.1/xunit.core.2.4.1.nupkg";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/xunit.core/2.4.1/xunit.core.2.4.1.nupkg";
       sha256 = "1nnb3j4kzmycaw1g76ii4rfqkvg6l8gqh18falwp8g28h802019a";
     };
   }
@@ -1531,7 +1811,7 @@
     name = "xunit.extensibility.core";
     version = "2.4.1";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/xunit.extensibility.core/2.4.1/xunit.extensibility.core.2.4.1.nupkg";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/xunit.extensibility.core/2.4.1/xunit.extensibility.core.2.4.1.nupkg";
       sha256 = "103qsijmnip2pnbhciqyk2jyhdm6snindg5z2s57kqf5pcx9a050";
     };
   }
@@ -1539,7 +1819,7 @@
     name = "xunit.extensibility.execution";
     version = "2.4.1";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/xunit.extensibility.execution/2.4.1/xunit.extensibility.execution.2.4.1.nupkg";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/xunit.extensibility.execution/2.4.1/xunit.extensibility.execution.2.4.1.nupkg";
       sha256 = "1pbilxh1gp2ywm5idfl0klhl4gb16j86ib4x83p8raql1dv88qia";
     };
   }
@@ -1547,16 +1827,16 @@
     name = "xunit.runner.console";
     version = "2.4.1";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/xunit.runner.console/2.4.1/xunit.runner.console.2.4.1.nupkg";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/xunit.runner.console/2.4.1/xunit.runner.console.2.4.1.nupkg";
       sha256 = "13ykz9anhz72xc4q6byvdfwrp54hlcbl6zsfapwfhnzyvfgb9w13";
     };
   }
   {
     name = "xunit.runner.visualstudio";
-    version = "2.4.1";
+    version = "2.4.3";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/xunit.runner.visualstudio/2.4.1/xunit.runner.visualstudio.2.4.1.nupkg";
-      sha256 = "0fln5pk18z98gp0zfshy1p9h6r9wc55nyqhap34k89yran646vhn";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/xunit.runner.visualstudio/2.4.3/xunit.runner.visualstudio.2.4.3.nupkg";
+      sha256 = "0j1d0rbcm7pp6dypi61sjxp8l22sv261252z55b243l39jgv2rp3";
     };
   }
 ]
diff --git a/nixpkgs/pkgs/development/tools/build-managers/qbs/default.nix b/nixpkgs/pkgs/development/tools/build-managers/qbs/default.nix
index d2d382f28d32..280173dc0c0b 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/qbs/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/qbs/default.nix
@@ -20,8 +20,6 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ qtbase qtscript ];
 
-  enableParallelBuilding = true;
-
   meta = with lib; {
     description = "A tool that helps simplify the build process for developing projects across multiple platforms";
     homepage = "https://wiki.qt.io/Qbs";
diff --git a/nixpkgs/pkgs/development/tools/build-managers/rebar3/default.nix b/nixpkgs/pkgs/development/tools/build-managers/rebar3/default.nix
index 3b775eeaef1c..f1aa4204a045 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/rebar3/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/rebar3/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub,
+{ lib, stdenv, fetchFromGitHub, fetchpatch,
   fetchHex, erlang, makeWrapper,
   writeScript, common-updater-scripts, coreutils, git, gnused, nix, rebar3-nix }:
 
@@ -40,12 +40,14 @@ let
     '';
 
 
-    patches = []
-      # Skips test that can write outside the designated tmp directory, potentially resulting in build failures
-      # due to file ownership issues if ran without sandbox (eg. Mac M1 default). This patch can be Removed when
-      # rebar3 releases with the following commit:
-      # https://github.com/erlang/rebar3/commit/11055384dbd5bf7d181bca83a33b0e100275ff21
-      ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [ ./tmp-tests-skip.patch ];
+    patches = [
+      # TODO: remove this on next rebar3 release
+      (fetchpatch {
+        name = "escriptize-erl-libs";
+        url = "https://github.com/erlang/rebar3/commit/11055384dbd5bf7d181bca83a33b0e100275ff21.patch";
+        sha256 = "01xjaqnhmjlxqdgb8ph15wssjq5crdhjslxnndbs5f0kscqpq14c";
+      })
+    ];
 
     checkPhase = ''
       HOME=. escript ./rebar3 ct
diff --git a/nixpkgs/pkgs/development/tools/build-managers/sbt-extras/default.nix b/nixpkgs/pkgs/development/tools/build-managers/sbt-extras/default.nix
index 76548e427d23..b79e9ff1b7f3 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/sbt-extras/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/sbt-extras/default.nix
@@ -3,14 +3,14 @@
 
 stdenv.mkDerivation rec {
   pname = "sbt-extras";
-  rev = "e5a5442acf36f047a75b397d7349e6fe6835ef24";
-  version = "2021-04-26";
+  rev = "d77c348e3f2fdfbd90b51ce0e5894405bb08687c";
+  version = "2021-08-04";
 
   src = fetchFromGitHub {
     owner = "paulp";
     repo = "sbt-extras";
     inherit rev;
-    sha256 = "0g7wyh0lhhdch7d6p118lwywy1lcdr1z631q891qhv624jnb1477";
+    sha256 = "u0stt4w0iK4h+5PMkqjp9m8kqvrKvM3m7lBcV2yXPKU=";
   };
 
   dontBuild = true;
diff --git a/nixpkgs/pkgs/development/tools/build-managers/sbt/default.nix b/nixpkgs/pkgs/development/tools/build-managers/sbt/default.nix
index 677b31063ac5..ec479c138953 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/sbt/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/sbt/default.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation rec {
   pname = "sbt";
-  version = "1.5.4";
+  version = "1.5.5";
 
   src = fetchurl {
     url = "https://github.com/sbt/sbt/releases/download/v${version}/sbt-${version}.tgz";
-    sha256 = "035jl4czx9ixl12z874bksq5wxdnajxr06cl1yvfj2v92yx3l5wf";
+    sha256 = "1jdknan2gckkfl79pzshgb4009xn2y3nlp0ws1xd47n9yl6dbz60";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/tools/build-managers/scons/common.nix b/nixpkgs/pkgs/development/tools/build-managers/scons/common.nix
index 6af302851234..da276be7287c 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/scons/common.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/scons/common.nix
@@ -1,8 +1,8 @@
 { version, sha256 }:
 
-{ fetchurl, python3Packages, lib }:
+{ fetchurl, python, lib }:
 
-python3Packages.buildPythonApplication rec {
+python.pkgs.buildPythonApplication rec {
   pname = "scons";
   inherit version;
 
@@ -29,6 +29,12 @@ python3Packages.buildPythonApplication rec {
     mv "$out/"*.1 "$out/share/man/man1/"
   '';
 
+  passthru = {
+    # expose the used python version so tools using this (and extensing scos with other python modules)
+    # can use the exact same python version.
+    inherit python;
+  };
+
   meta = with lib; {
     description = "An improved, cross-platform substitute for Make";
     longDescription = ''
diff --git a/nixpkgs/pkgs/development/tools/build-managers/scons/default.nix b/nixpkgs/pkgs/development/tools/build-managers/scons/default.nix
index 4b07eb0501d8..da11bdb28aa1 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/scons/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/scons/default.nix
@@ -1,16 +1,18 @@
-{ callPackage, python2Packages }:
+{ callPackage, python2, python3 }:
 
 let
-  mkScons = args: callPackage (import ./common.nix args) { };
+  mkScons = args: callPackage (import ./common.nix args) {
+    python = python3;
+  };
 in {
   scons_3_0_1 = (mkScons {
     version = "3.0.1";
     sha256 = "0wzid419mlwqw9llrg8gsx4nkzhqy16m4m40r0xnh6cwscw5wir4";
-  }).override { python3Packages = python2Packages; };
+  }).override { python = python2; };
   scons_3_1_2 = (mkScons {
     version = "3.1.2";
     sha256 = "1yzq2gg9zwz9rvfn42v5jzl3g4qf1khhny6zfbi2hib55zvg60bq";
-  }).override { python3Packages = python2Packages; };
+  }).override { python = python2; };
   scons_latest = mkScons {
     version = "4.1.0";
     sha256 = "11axk03142ziax6i3wwy9qpqp7r3i7h5jg9y2xzph9i15rv8vlkj";
diff --git a/nixpkgs/pkgs/development/tools/buildah/default.nix b/nixpkgs/pkgs/development/tools/buildah/default.nix
index 13ae74db9774..7584adc0417f 100644
--- a/nixpkgs/pkgs/development/tools/buildah/default.nix
+++ b/nixpkgs/pkgs/development/tools/buildah/default.nix
@@ -14,13 +14,13 @@
 
 buildGoModule rec {
   pname = "buildah";
-  version = "1.21.3";
+  version = "1.22.3";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = "buildah";
     rev = "v${version}";
-    sha256 = "sha256-f39UXQXUje6j8bRWVaX9ELCwO1vaeNuGnlmPhyyVoV8=";
+    sha256 = "sha256-e4Y398VyvoDo5WYyLeZJUMmb0HgWNBWj+hCPxdUlZNY=";
   };
 
   outputs = [ "out" "man" ];
diff --git a/nixpkgs/pkgs/development/tools/buildkit/default.nix b/nixpkgs/pkgs/development/tools/buildkit/default.nix
index f6eb7aef1ed5..12d35c07db3e 100644
--- a/nixpkgs/pkgs/development/tools/buildkit/default.nix
+++ b/nixpkgs/pkgs/development/tools/buildkit/default.nix
@@ -1,20 +1,23 @@
-{ lib, stdenv, fetchFromGitHub, buildGoPackage }:
+{ lib, stdenv, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "buildkit";
-  version = "0.8.3";
-
-  goPackagePath = "github.com/moby/buildkit";
-  subPackages = [ "cmd/buildctl" ] ++ lib.optionals stdenv.isLinux [ "cmd/buildkitd" ];
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "moby";
     repo = "buildkit";
     rev = "v${version}";
-    sha256 = "sha256-dHtGxugTtxHcfZHMIHinlcH05ss7zT/+Ll1WboAhw9o=";
+    sha256 = "0i04b5ngvhkan45mx6xjcia0dsx0dc6w8bwy90yg3qnz7yzidm2d";
   };
 
-  buildFlagsArray = [ "-ldflags=-s -w -X ${goPackagePath}/version.Version=${version} -X ${goPackagePath}/version.Revision=${src.rev}" ];
+  vendorSha256 = null;
+
+  subPackages = [ "cmd/buildctl" ] ++ lib.optionals stdenv.isLinux [ "cmd/buildkitd" ];
+
+  ldflags = [ "-s" "-w" "-X github.com/moby/buildkit/version.Version=${version}" "-X github.com/moby/buildkit/version.Revision=${src.rev}" ];
+
+  doCheck = false;
 
   meta = with lib; {
     description = "Concurrent, cache-efficient, and Dockerfile-agnostic builder toolkit";
diff --git a/nixpkgs/pkgs/development/tools/buildpack/default.nix b/nixpkgs/pkgs/development/tools/buildpack/default.nix
index 0f31f7b1b37d..f4c65120036d 100644
--- a/nixpkgs/pkgs/development/tools/buildpack/default.nix
+++ b/nixpkgs/pkgs/development/tools/buildpack/default.nix
@@ -2,22 +2,22 @@
 
 buildGoModule rec {
   pname = "pack";
-  version = "0.18.0";
+  version = "0.20.0";
 
   src = fetchFromGitHub {
     owner = "buildpacks";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-+fYw5dIDJJKGQKBL6RQh1SCQufbAkKeuJpPlywzbbnM=";
+    sha256 = "sha256-G1tnk0SlQVX4bEifmuZahazNv3bbdgmcr1V0dN9dlKc=";
   };
 
-  vendorSha256 = "sha256-fSUTl5W/DyloCuCpEqA5z4bhB7wYxzPt6E0SfjorfQ0=";
+  vendorSha256 = "sha256-jeOK4k1W/5LvqB52LriKD5jNvZa/nc2ypRowrem2y30=";
 
   nativeBuildInputs = [ installShellFiles ];
 
   subPackages = [ "cmd/pack" ];
 
-  buildFlagsArray = [ "-ldflags=-s -w -X github.com/buildpacks/pack.Version=${version}" ];
+  ldflags = [ "-s" "-w" "-X github.com/buildpacks/pack.Version=${version}" ];
 
   postInstall = ''
     installShellCompletion --bash --name pack.bash $(PACK_HOME=$PWD $out/bin/pack completion --shell bash)
diff --git a/nixpkgs/pkgs/development/tools/butane/default.nix b/nixpkgs/pkgs/development/tools/butane/default.nix
index f5eafd4a90f8..094aa5fe026c 100644
--- a/nixpkgs/pkgs/development/tools/butane/default.nix
+++ b/nixpkgs/pkgs/development/tools/butane/default.nix
@@ -4,13 +4,13 @@ with lib;
 
 buildGoModule rec {
   pname = "butane";
-  version = "0.13.0";
+  version = "0.13.1";
 
   src = fetchFromGitHub {
     owner = "coreos";
     repo = "butane";
     rev = "v${version}";
-    sha256 = "0z1cq43dnj73k0idjhc310h00a1mryk2297w3yy6k1sa95swlz9m";
+    sha256 = "sha256-wrz9+McHW2NNMsB3uOZIceykYBlSgl2WErAT8bMlkXo=";
   };
 
   vendorSha256 = null;
@@ -19,9 +19,9 @@ buildGoModule rec {
 
   subPackages = [ "internal" ];
 
-  buildFlagsArray = ''
-    -ldflags=-X github.com/coreos/butane/internal/version.Raw=v${version}
-  '';
+  ldflags = [
+    "-X github.com/coreos/butane/internal/version.Raw=v${version}"
+  ];
 
   postInstall = ''
     mv $out/bin/{internal,butane}
diff --git a/nixpkgs/pkgs/development/tools/cloud-nuke/default.nix b/nixpkgs/pkgs/development/tools/cloud-nuke/default.nix
index 75fb29db8827..2979ae9f5d1c 100644
--- a/nixpkgs/pkgs/development/tools/cloud-nuke/default.nix
+++ b/nixpkgs/pkgs/development/tools/cloud-nuke/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "cloud-nuke";
-  version = "0.3.0";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "gruntwork-io";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-rxWTh+iltD1kcntlu9sovwG/mQPmukYbw8V2FAFi1KE=";
+    sha256 = "sha256-PVVnls4i19Xc5KXM1AQTHLkxLgmJpIDBFkRW0EGXOUA=";
   };
 
-  vendorSha256 = "sha256-mfNbcnJ62v6tdEhOtA0P9lDoD5HmLBAtNcrv1H3/mSE=";
+  vendorSha256 = "sha256-C9UGpm8JBLQpSFQkvib5Bmn3J88LxUNt4ELJXL4ZQ80=";
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.VERSION=${version}" ];
+  ldflags = [ "-s" "-w" "-X main.VERSION=${version}" ];
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/tools/comby/default.nix b/nixpkgs/pkgs/development/tools/comby/default.nix
new file mode 100644
index 000000000000..ca0a24133045
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/comby/default.nix
@@ -0,0 +1,77 @@
+{ ocamlPackages, fetchFromGitHub, lib, zlib, pkg-config, cacert, gmp, libev
+, autoconf, sqlite, stdenv }:
+let
+  mkCombyPackage = { pname, extraBuildInputs ? [ ], extraNativeInputs ? [ ] }:
+    ocamlPackages.buildDunePackage rec {
+      inherit pname;
+      version = "1.5.1";
+      useDune2 = true;
+      minimumOcamlVersion = "4.08.1";
+      doCheck = true;
+
+      src = fetchFromGitHub {
+        owner = "comby-tools";
+        repo = "comby";
+        rev = version;
+        sha256 = "1ipfrr6n1jyyryhm9zpn8wwgzfac1zgbjdjzrm00qcwc17r8x2hf";
+      };
+
+      nativeBuildInputs = [
+        ocamlPackages.ppx_deriving
+        ocamlPackages.ppx_deriving_yojson
+        ocamlPackages.ppx_sexp_conv
+        ocamlPackages.ppx_sexp_message
+      ] ++ extraNativeInputs;
+
+      buildInputs = [
+        ocamlPackages.core
+        ocamlPackages.ocaml_pcre
+        ocamlPackages.mparser
+        ocamlPackages.mparser-pcre
+        ocamlPackages.angstrom
+      ] ++ extraBuildInputs;
+
+      checkInputs = [ cacert ];
+
+      meta = {
+        description = "Tool for searching and changing code structure";
+        license = lib.licenses.asl20;
+        homepage = "https://comby.dev";
+      };
+    };
+
+  combyKernel = mkCombyPackage { pname = "comby-kernel"; };
+in mkCombyPackage {
+  pname = "comby";
+
+  extraBuildInputs = [
+    zlib
+    gmp
+    libev
+    sqlite
+    ocamlPackages.shell # This input must appear before `parany` or any other input that propagates `ocamlnet`
+    ocamlPackages.lwt
+    ocamlPackages.patience_diff
+    ocamlPackages.toml
+    ocamlPackages.cohttp-lwt-unix
+    ocamlPackages.opium
+    ocamlPackages.textutils
+    ocamlPackages.jst-config
+    ocamlPackages.parany
+    ocamlPackages.conduit-lwt-unix
+    ocamlPackages.lwt_react
+    ocamlPackages.tls
+    combyKernel
+  ] ++ (if !stdenv.isAarch32 && !stdenv.isAarch64 then
+    [ ocamlPackages.hack_parallel ]
+  else
+    [ ]);
+
+  extraNativeInputs = [
+    autoconf
+    pkg-config
+    ocamlPackages.ppx_jane
+    ocamlPackages.ppx_expect
+    ocamlPackages.dune-configurator
+  ];
+}
diff --git a/nixpkgs/pkgs/development/tools/conftest/default.nix b/nixpkgs/pkgs/development/tools/conftest/default.nix
index 833f2f84b058..74e823ad9b84 100644
--- a/nixpkgs/pkgs/development/tools/conftest/default.nix
+++ b/nixpkgs/pkgs/development/tools/conftest/default.nix
@@ -2,21 +2,20 @@
 
 buildGoModule rec {
   pname = "conftest";
-  version = "0.25.0";
+  version = "0.27.0";
 
   src = fetchFromGitHub {
     owner = "open-policy-agent";
     repo = "conftest";
     rev = "v${version}";
-    sha256 = "sha256-pxPqBUOsXbP9giaV5NS3a6Z6auN4vUTIrIKcNh8xURU=";
+    sha256 = "sha256-Yc/aejGLMbAqpIRTVQQ3lv7/oyr7tVAy41Gx6198Eos=";
   };
 
-  vendorSha256 = "sha256-y8DRrthaUzMKxFbdbASvqsRMT+jex7jMJA6g7YF/VxI=";
+  vendorSha256 = "sha256-jI5bX6S2C0ckiiieVlaRNEsLS/5gGkC3o/xauDtCOjA=";
 
   doCheck = false;
 
-  buildFlagsArray = [
-    "-ldflags="
+  ldflags = [
     "-s"
     "-w"
     "-X github.com/open-policy-agent/conftest/internal/commands.version=${version}"
@@ -36,6 +35,6 @@ buildGoModule rec {
     '';
     inherit (src.meta) homepage;
     license = licenses.asl20;
-    maintainers = with maintainers; [ yurrriq ];
+    maintainers = with maintainers; [ yurrriq jk ];
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/container-linux-config-transpiler/default.nix b/nixpkgs/pkgs/development/tools/container-linux-config-transpiler/default.nix
index b5200e22cad8..5b2a7fddeb45 100644
--- a/nixpkgs/pkgs/development/tools/container-linux-config-transpiler/default.nix
+++ b/nixpkgs/pkgs/development/tools/container-linux-config-transpiler/default.nix
@@ -15,9 +15,9 @@ buildGoPackage rec {
     sha256="1w6nvgrl5qp3ci9igflk9dlk3020psv5m4f3p57f3qcx9vrcl4lw";
   };
 
-  buildFlagsArray = ''
-    -ldflags=-X ${goPackagePath}/internal/version.Raw=v${version}
-  '';
+  ldflags = [
+    "-X ${goPackagePath}/internal/version.Raw=v${version}"
+  ];
 
   postInstall = ''
     mv $out/bin/{internal,ct}
@@ -32,4 +32,3 @@ buildGoPackage rec {
     platforms = with platforms; unix;
   };
 }
-
diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix
index b32eed9a1662..a9fbdb09d977 100644
--- a/nixpkgs/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix
+++ b/nixpkgs/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix
@@ -3,13 +3,13 @@
   nixosTests }:
 buildGoModule rec {
   name = "buildkite-agent-${version}";
-  version = "3.31.0";
+  version = "3.32.1";
 
   src = fetchFromGitHub {
     owner = "buildkite";
     repo = "agent";
     rev = "v${version}";
-    sha256 = "sha256-Rot5A2zSEleTifadHEvAlydchzCdDo/VPZELostDfng=";
+    sha256 = "sha256-bwxxjpIBVzFfjewUwDjFNN9zcaL3ihYjWOlWdrhf1o0=";
   };
 
   vendorSha256 = "sha256-n3XRxpEKjHf7L7fcGscWTVKBtot9waZbLoS9cG0kHfI=";
diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/buildkite-cli/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/buildkite-cli/default.nix
index 73aefdd0cda7..4604cca7cfc8 100644
--- a/nixpkgs/pkgs/development/tools/continuous-integration/buildkite-cli/default.nix
+++ b/nixpkgs/pkgs/development/tools/continuous-integration/buildkite-cli/default.nix
@@ -17,7 +17,7 @@ buildGoModule rec {
 
   subPackages = [ "cmd/bk" ];
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.VERSION=${version}" ];
+  ldflags = [ "-s" "-w" "-X main.VERSION=${version}" ];
 
   meta = with lib; {
     description = "A command line interface for Buildkite";
diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/drone-cli/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/drone-cli/default.nix
index 4534298d395e..21dbbcf0b72c 100644
--- a/nixpkgs/pkgs/development/tools/continuous-integration/drone-cli/default.nix
+++ b/nixpkgs/pkgs/development/tools/continuous-integration/drone-cli/default.nix
@@ -9,9 +9,9 @@ buildGoModule rec {
 
   doCheck = false;
 
-  preBuild = ''
-    buildFlagsArray+=("-ldflags" "-X main.version=${version}")
-  '';
+  ldflags = [
+    "-X main.version=${version}"
+  ];
 
   src = fetchFromGitHub {
     owner = "drone";
diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/drone/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/drone/default.nix
index 46ee41d37dff..0f36f8dc0277 100644
--- a/nixpkgs/pkgs/development/tools/continuous-integration/drone/default.nix
+++ b/nixpkgs/pkgs/development/tools/continuous-integration/drone/default.nix
@@ -16,9 +16,7 @@ buildGoModule rec {
     sha256 = "sha256-MKV5kor+Wm9cuIFFcjSNyCgVKtY+/B9sgBOXMMRvMPI=";
   };
 
-  preBuild = ''
-    buildFlagsArray+=( "-tags" "${lib.optionalString (!enableUnfree) "oss nolimit"}" )
-  '';
+  tags = lib.optionals (!enableUnfree) [ "oss" "nolimit" ];
 
   meta = with lib; {
     maintainers = with maintainers; [ elohmeier vdemeester ];
diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/fly/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/fly/default.nix
index 22b7752c5939..0b000b0f4d83 100644
--- a/nixpkgs/pkgs/development/tools/continuous-integration/fly/default.nix
+++ b/nixpkgs/pkgs/development/tools/continuous-integration/fly/default.nix
@@ -2,25 +2,24 @@
 
 buildGoModule rec {
   pname = "fly";
-  version = "7.3.2";
+  version = "7.4.0";
 
   src = fetchFromGitHub {
     owner = "concourse";
     repo = "concourse";
     rev = "v${version}";
-    sha256 = "sha256-ID/vqkFzKHLeuojHUxUFYURn+Dxb78XwxfJVV+S130A=";
+    sha256 = "sha256-UvEPTZtQWztl7ZC1XrBxE8+emlXQjMG4IJEti5vVxUM=";
   };
 
-  vendorSha256 = "sha256-30rrRkPIH0sr8koKRLs1Twe6Z55+lr9gkgUDrY+WOTw=";
+  vendorSha256 = "sha256-IY+HGgoKNS/j3FGCX3F3EK1GehBjs3Z1K8V3O7a3swk=";
 
   doCheck = false;
 
   subPackages = [ "fly" ];
 
-  buildFlagsArray = ''
-    -ldflags=
-      -X github.com/concourse/concourse.Version=${version}
-  '';
+  ldflags = [
+    "-X github.com/concourse/concourse.Version=${version}"
+  ];
 
   postInstall = lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) ''
     mkdir -p $out/share/{bash-completion/completions,zsh/site-functions}
diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
index ff5799df4acc..a507ba8650fa 100644
--- a/nixpkgs/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
+++ b/nixpkgs/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
@@ -1,16 +1,16 @@
 { lib, buildGoPackage, fetchFromGitLab, fetchurl }:
 
 let
-  version = "14.1.0";
+  version = "14.2.0";
   # Gitlab runner embeds some docker images these are prebuilt for arm and x86_64
   docker_x86_64 = fetchurl {
     url = "https://gitlab-runner-downloads.s3.amazonaws.com/v${version}/binaries/gitlab-runner-helper/gitlab-runner-helper.x86_64";
-    sha256 = "09p0biig07plf9qiwpsdllh6midi8kzpzk2s71rmms491g4634k2";
+    sha256 = "1a5prg5yxs29zv8321cfqn1j638yihj7z7pniyd5aycgz5zra8lb";
   };
 
   docker_arm = fetchurl {
     url = "https://gitlab-runner-downloads.s3.amazonaws.com/v${version}/binaries/gitlab-runner-helper/gitlab-runner-helper.arm";
-    sha256 = "0z5q5y9lsznwglpg7sd5af51v9640m85v4x4dcj5j37w24bi4wq0";
+    sha256 = "0knw2r1lxri922283653vq9wkp1w85p0avhyajrik7c1wvi0flx6";
   };
 in
 buildGoPackage rec {
@@ -19,18 +19,17 @@ buildGoPackage rec {
   goPackagePath = "gitlab.com/gitlab-org/gitlab-runner";
   subPackages = [ "." ];
   commonPackagePath = "${goPackagePath}/common";
-  buildFlagsArray = ''
-    -ldflags=
-      -X ${commonPackagePath}.NAME=gitlab-runner
-      -X ${commonPackagePath}.VERSION=${version}
-      -X ${commonPackagePath}.REVISION=v${version}
-  '';
+  ldflags = [
+    "-X ${commonPackagePath}.NAME=gitlab-runner"
+    "-X ${commonPackagePath}.VERSION=${version}"
+    "-X ${commonPackagePath}.REVISION=v${version}"
+  ];
 
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-runner";
     rev = "v${version}";
-    sha256 = "1v2yxs92awwn4m6hq6wc53whfmk6fr4l6j87amcbdzcm4ikzxcvk";
+    sha256 = "0b444nf9ipslcqim54y4m4flfy3dg38vcvcbzic1p76hph8p7s93";
   };
 
   patches = [ ./fix-shell-path.patch ];
diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/jenkins/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/jenkins/default.nix
index 88156f815ab8..a7d9aeda000b 100644
--- a/nixpkgs/pkgs/development/tools/continuous-integration/jenkins/default.nix
+++ b/nixpkgs/pkgs/development/tools/continuous-integration/jenkins/default.nix
@@ -1,13 +1,14 @@
-{ lib, stdenv, fetchurl, common-updater-scripts, coreutils, git, gnused, makeWrapper, nix
-, nixfmt, openjdk, writeScript, nixosTests, jq, cacert, curl }:
+{ lib, stdenv, fetchurl, common-updater-scripts, coreutils, git, gnused
+, makeWrapper, nix, nixfmt, openjdk, writeScript, nixosTests, jq, cacert, curl
+}:
 
 stdenv.mkDerivation rec {
   pname = "jenkins";
-  version = "2.289.2";
+  version = "2.303.1";
 
   src = fetchurl {
     url = "http://mirrors.jenkins.io/war-stable/${version}/jenkins.war";
-    sha256 = "0413ymfrb00ifxl8ww8nn8y4k07jhgsaxaw2h0qnfh9s6yxifpbf";
+    sha256 = "0rf06axz1hxssg942w2g66avak30jy6rfdwxynhriqv3vrf17bja";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/development/tools/cue/default.nix b/nixpkgs/pkgs/development/tools/cue/default.nix
index 5170297a4330..f177ced3092d 100644
--- a/nixpkgs/pkgs/development/tools/cue/default.nix
+++ b/nixpkgs/pkgs/development/tools/cue/default.nix
@@ -16,8 +16,8 @@ buildGoModule rec {
 
   subPackages = [ "cmd/cue" ];
 
-  buildFlagsArray = [
-    "-ldflags=-s -w -X cuelang.org/go/cmd/cue/cmd.version=${version}"
+  ldflags = [
+    "-s" "-w" "-X cuelang.org/go/cmd/cue/cmd.version=${version}"
   ];
 
   meta = {
diff --git a/nixpkgs/pkgs/development/tools/database/dbmate/default.nix b/nixpkgs/pkgs/development/tools/database/dbmate/default.nix
index 0e4609a1fa2c..5348d0be88c8 100644
--- a/nixpkgs/pkgs/development/tools/database/dbmate/default.nix
+++ b/nixpkgs/pkgs/development/tools/database/dbmate/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "dbmate";
-  version = "1.12.0";
+  version = "1.12.1";
 
   src = fetchFromGitHub {
     owner = "amacneil";
     repo = "dbmate";
     rev = "v${version}";
-    sha256 = "sha256-Kk8CtGw1lGNky2CUjaedh0IcDooaxWkeEnaYl/5jSTc=";
+    sha256 = "sha256-XNxy8CnhO3rQi3VHr7nikFNXvY2eM30jR0ngNc0FV3E=";
   };
 
   vendorSha256 = "sha256-Qe3fwyEf/NiGmUSha/zZHRBR1okw2vE97u7tybqiWNI=";
diff --git a/nixpkgs/pkgs/development/tools/database/liquibase/default.nix b/nixpkgs/pkgs/development/tools/database/liquibase/default.nix
index 2dc5c4e77c85..54ede5fc3451 100644
--- a/nixpkgs/pkgs/development/tools/database/liquibase/default.nix
+++ b/nixpkgs/pkgs/development/tools/database/liquibase/default.nix
@@ -10,11 +10,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "liquibase";
-  version = "4.4.1";
+  version = "4.4.3";
 
   src = fetchurl {
     url = "https://github.com/liquibase/liquibase/releases/download/v${version}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-2Y/eRIkskuk+7GC/br178XzWTnP4iXSFfa5ybLjvqDA=";
+    sha256 = "sha256-td+mBf/JhTw5vvlupyllpZ2e4So7y1kEC1OdR4LUv/k=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/development/tools/database/litecli/default.nix b/nixpkgs/pkgs/development/tools/database/litecli/default.nix
index 75e600ccb513..b2a96ab0dc53 100644
--- a/nixpkgs/pkgs/development/tools/database/litecli/default.nix
+++ b/nixpkgs/pkgs/development/tools/database/litecli/default.nix
@@ -16,7 +16,7 @@ python3Packages.buildPythonApplication rec {
     cli-helpers
     click
     configobj
-    prompt_toolkit
+    prompt-toolkit
     pygments
     sqlparse
   ];
diff --git a/nixpkgs/pkgs/development/tools/database/pg_activity/default.nix b/nixpkgs/pkgs/development/tools/database/pg_activity/default.nix
new file mode 100644
index 000000000000..6754e76a8977
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/database/pg_activity/default.nix
@@ -0,0 +1,31 @@
+{ python3Packages, fetchFromGitHub, lib }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "pg_activity";
+  version = "2.2.0";
+  disabled = python3Packages.pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "dalibo";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "145yqjb2rr1k0xz6lclk4fy5zbwcbfkzvn52g9ijjrfl08y15agm";
+  };
+
+  propagatedBuildInputs = with python3Packages; [
+    attrs
+    blessed
+    humanize
+    psutil
+    psycopg2
+  ];
+
+  pythonImportsCheck = [ "pgactivity" ];
+
+  meta = with lib; {
+    description = "A top like application for PostgreSQL server activity monitoring";
+    homepage = "https://github.com/dalibo/pg_activity";
+    license = licenses.postgresql;
+    maintainers = with maintainers; [ mausch ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/database/pgcli/default.nix b/nixpkgs/pkgs/development/tools/database/pgcli/default.nix
index cc7524e3a437..bb8e983fa715 100644
--- a/nixpkgs/pkgs/development/tools/database/pgcli/default.nix
+++ b/nixpkgs/pkgs/development/tools/database/pgcli/default.nix
@@ -6,7 +6,7 @@
 , click
 , configobj
 , humanize
-, prompt_toolkit
+, prompt-toolkit
 , psycopg2
 , pygments
 , sqlparse
@@ -20,13 +20,13 @@
 
 buildPythonApplication rec {
   pname = "pgcli";
-  version = "3.1.0";
+  version = "3.2.0";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d5b2d803f7e4e7fe679306a000bde5d14d15ec590ddd108f3dc4c0ecad169d2b";
+    sha256 = "6cde97e71996bf910a40b579e5285483c10ea04962a08def01c12433d5f7c6b7";
   };
 
   propagatedBuildInputs = [
@@ -34,7 +34,7 @@ buildPythonApplication rec {
     click
     configobj
     humanize
-    prompt_toolkit
+    prompt-toolkit
     psycopg2
     pygments
     sqlparse
@@ -55,7 +55,7 @@ buildPythonApplication rec {
       syntax highlighting.
     '';
     homepage = "https://pgcli.com";
-    changelog = "https://github.com/dbcli/pgcli/blob/v${version}/changelog.rst";
+    changelog = "https://github.com/dbcli/pgcli/raw/v${version}/changelog.rst";
     license = licenses.bsd3;
     maintainers = with maintainers; [ dywedir ];
   };
diff --git a/nixpkgs/pkgs/development/tools/database/shmig/default.nix b/nixpkgs/pkgs/development/tools/database/shmig/default.nix
index a25a39564513..5bb023931388 100644
--- a/nixpkgs/pkgs/development/tools/database/shmig/default.nix
+++ b/nixpkgs/pkgs/development/tools/database/shmig/default.nix
@@ -38,6 +38,6 @@ stdenv.mkDerivation rec {
     description = "Minimalistic database migration tool with MySQL, PostgreSQL and SQLite support";
     homepage = "https://github.com/mbucc/shmig";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ ma27 ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/database/sqlfluff/default.nix b/nixpkgs/pkgs/development/tools/database/sqlfluff/default.nix
index 6578bf8bf712..6661dfce8fba 100644
--- a/nixpkgs/pkgs/development/tools/database/sqlfluff/default.nix
+++ b/nixpkgs/pkgs/development/tools/database/sqlfluff/default.nix
@@ -5,14 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "sqlfluff";
-  version = "0.6.1";
+  version = "0.6.4";
   disabled = python3.pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "0p5vjpfmy52hbq6mz8svvxrg9757cvgj0cbvaa0340309953ilvj";
+    sha256 = "sha256-etnHr0epu7L/qIYNnJ2NOEL1ZmE/U62KpXSsiWsJJn0=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
@@ -21,17 +21,16 @@ python3.pkgs.buildPythonApplication rec {
     click
     colorama
     configparser
-    diff_cover
+    diff-cover
     jinja2
     oyaml
     pathspec
     pytest
     tblib
     toml
+    typing-extensions
   ] ++ lib.optionals (pythonOlder "3.7") [
     dataclasses
-  ] ++ lib.optionals (pythonOlder "3.9") [
-    typing-extensions
   ];
 
   checkInputs = with python3.pkgs; [
diff --git a/nixpkgs/pkgs/development/tools/database/sqlitebrowser/default.nix b/nixpkgs/pkgs/development/tools/database/sqlitebrowser/default.nix
index 9ff5c1b01b87..c8ab79a34dd4 100644
--- a/nixpkgs/pkgs/development/tools/database/sqlitebrowser/default.nix
+++ b/nixpkgs/pkgs/development/tools/database/sqlitebrowser/default.nix
@@ -3,13 +3,13 @@
 
 mkDerivation rec {
   pname = "sqlitebrowser";
-  version = "3.12.1";
+  version = "3.12.2";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "0ray6cscx2qil1dfi7hmpijmq3kba49wn430ih1q4fkz9psjvrz1";
+    sha256 = "sha256-33iVic0kxemWld+SiHOWGlKFSi5fpk1RtLUiNDr7WNI=";
   };
 
   # We should be using qscintilla from nixpkgs instead of the vendored version,
diff --git a/nixpkgs/pkgs/development/tools/database/timescaledb-tune/default.nix b/nixpkgs/pkgs/development/tools/database/timescaledb-tune/default.nix
index e4132dd73451..9c24d35cbf88 100644
--- a/nixpkgs/pkgs/development/tools/database/timescaledb-tune/default.nix
+++ b/nixpkgs/pkgs/development/tools/database/timescaledb-tune/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "timescaledb-tune";
-  version = "0.11.0";
+  version = "0.11.2";
 
   src = fetchFromGitHub {
     owner = "timescale";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-orCnw+NM9jTrg0oeHg0CQvIXzbSkeCwwDUI1t/+k31o=";
+    sha256 = "sha256-6xMdOqLfD3NQksmcD7rlTW3xoW2Fi6OmwbpjIj9A/tw=";
   };
 
   vendorSha256 = "sha256-n2jrg9FiR/gSrbds/QVV8Duf7BTEs36yYi4F3Ve+d0E=";
diff --git a/nixpkgs/pkgs/development/tools/database/webdis/default.nix b/nixpkgs/pkgs/development/tools/database/webdis/default.nix
index 226fc049e081..91d501a05072 100644
--- a/nixpkgs/pkgs/development/tools/database/webdis/default.nix
+++ b/nixpkgs/pkgs/development/tools/database/webdis/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "webdis";
-  version = "0.1.15";
+  version = "0.1.16";
 
   src = fetchFromGitHub {
     owner = "nicolasff";
     repo = pname;
     rev = version;
-    sha256 = "sha256-ViU/CKkmBY8WwQq/oJ2/qETqr2k8JNFtNPhozw5BmEc=";
+    sha256 = "sha256-I+Nq3kjXoQlwfj8r7oNu6KFE6hnB076M9aJMdwCas3k=";
   };
 
   buildInputs = [ hiredis http-parser jansson libevent ];
diff --git a/nixpkgs/pkgs/development/tools/dep/default.nix b/nixpkgs/pkgs/development/tools/dep/default.nix
index ff7bad87afd6..2c7345d7cc56 100644
--- a/nixpkgs/pkgs/development/tools/dep/default.nix
+++ b/nixpkgs/pkgs/development/tools/dep/default.nix
@@ -15,7 +15,7 @@ buildGoPackage rec {
     sha256 = "02akzbjar1v01rdal746vk6mklff29yk2mqfyjk1zrs0mlg38ygd";
   };
 
-  buildFlagsArray = ("-ldflags=-s -w -X main.commitHash=${rev} -X main.version=${version}");
+  ldflags = [ "-s" "-w" "-X main.commitHash=${rev}" "-X main.version=${version}" ];
 
   meta = with lib; {
     homepage = "https://github.com/golang/dep";
diff --git a/nixpkgs/pkgs/development/tools/dive/default.nix b/nixpkgs/pkgs/development/tools/dive/default.nix
index 3b04c0fb8992..581b0db3b35a 100644
--- a/nixpkgs/pkgs/development/tools/dive/default.nix
+++ b/nixpkgs/pkgs/development/tools/dive/default.nix
@@ -19,7 +19,7 @@ buildGoModule rec {
 
   buildInputs = lib.optionals stdenv.isLinux [ btrfs-progs gpgme lvm2 ];
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
+  ldflags = [ "-s" "-w" "-X main.version=${version}" ];
 
   meta = with lib; {
     description = "A tool for exploring each layer in a docker image";
diff --git a/nixpkgs/pkgs/development/tools/dockfmt/default.nix b/nixpkgs/pkgs/development/tools/dockfmt/default.nix
new file mode 100644
index 000000000000..d637b8ca3e51
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/dockfmt/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "dockfmt";
+  version = "0.3.3";
+
+  src = fetchFromGitHub {
+    owner = "jessfraz";
+    repo = "dockfmt";
+    rev = "v${version}";
+    sha256 = "0m56ydmf7zbcsa5yym7j5fgr75v677h9s40zyzwrqccyq01myp06";
+  };
+
+  vendorSha256 = null;
+
+  ldflags = [
+    "-w"
+    "-s"
+    "-X github.com/jessfraz/dockfmt/version.VERSION=${version}"
+  ];
+
+  meta = with lib; {
+    description = "Dockerfile format";
+    homepage = "https://github.com/jessfraz/dockfmt";
+    license = [ licenses.mit ];
+    maintainers = [ maintainers.cpcloud ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/dockle/default.nix b/nixpkgs/pkgs/development/tools/dockle/default.nix
index 437f7f2da581..084f5eea21d3 100644
--- a/nixpkgs/pkgs/development/tools/dockle/default.nix
+++ b/nixpkgs/pkgs/development/tools/dockle/default.nix
@@ -16,9 +16,9 @@ buildGoModule rec {
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ btrfs-progs lvm2 ];
 
-  preBuild = ''
-    buildFlagsArray+=("-ldflags" "-s -w -X main.version=${version}")
-  '';
+  ldflags = [
+    "-s" "-w" "-X main.version=${version}"
+  ];
 
   preCheck = ''
     # Remove tests that use networking
diff --git a/nixpkgs/pkgs/development/tools/doctl/default.nix b/nixpkgs/pkgs/development/tools/doctl/default.nix
index aa7c7c8ca059..f5c485e5b014 100644
--- a/nixpkgs/pkgs/development/tools/doctl/default.nix
+++ b/nixpkgs/pkgs/development/tools/doctl/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "doctl";
-  version = "1.62.0";
+  version = "1.63.1";
 
   vendorSha256 = null;
 
@@ -10,13 +10,12 @@ buildGoModule rec {
 
   subPackages = [ "cmd/doctl" ];
 
-  buildFlagsArray = let t = "github.com/digitalocean/doctl"; in ''
-    -ldflags=
-    -X ${t}.Major=${lib.versions.major version}
-    -X ${t}.Minor=${lib.versions.minor version}
-    -X ${t}.Patch=${lib.versions.patch version}
-    -X ${t}.Label=release
-  '';
+  ldflags = let t = "github.com/digitalocean/doctl"; in [
+    "-X ${t}.Major=${lib.versions.major version}"
+    "-X ${t}.Minor=${lib.versions.minor version}"
+    "-X ${t}.Patch=${lib.versions.patch version}"
+    "-X ${t}.Label=release"
+  ];
 
   nativeBuildInputs = [ installShellFiles ];
 
@@ -32,7 +31,7 @@ buildGoModule rec {
     owner = "digitalocean";
     repo = "doctl";
     rev = "v${version}";
-    sha256 = "sha256-5YqGNuC1mmsIsEtnbgumaLuZGy3k6L9jZNbVwZln8WY=";
+    sha256 = "sha256-SSjTrCR5H+3nIKHKEfrQX917HjgpViS6H1RwmRe4coI=";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/tools/dprint/default.nix b/nixpkgs/pkgs/development/tools/dprint/default.nix
index 7ac81b236dbe..8fe044e41cce 100644
--- a/nixpkgs/pkgs/development/tools/dprint/default.nix
+++ b/nixpkgs/pkgs/development/tools/dprint/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "dprint";
-  version = "0.15.0";
+  version = "0.15.1";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-1DUGp+HiiY03fyZ+b8hNUBIfuQV5Z/gEcOxc/vG3YiA=";
+    sha256 = "sha256-ftzV5babf3/l59CWDzVgUF2qws5yo1qEuepFLYd8psA=";
   };
 
-  cargoSha256 = "sha256-twFXA8A+vP1n6IFJO78fKNs+FC2ui46rj1JmJ/eq3wc=";
+  cargoSha256 = "sha256-ayCCNE44cOpbrk3FFtW2ZPZ1fTwzXwq3srmptI629sw=";
 
   # Tests fail because they expect a test WASM plugin. Tests already run for
   # every commit upstream on GitHub Actions
diff --git a/nixpkgs/pkgs/development/tools/dt-schema/default.nix b/nixpkgs/pkgs/development/tools/dt-schema/default.nix
index 9ba53881bf35..12dd9f662caf 100644
--- a/nixpkgs/pkgs/development/tools/dt-schema/default.nix
+++ b/nixpkgs/pkgs/development/tools/dt-schema/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "dtschema";
-  version = "2021.2.1";
+  version = "2021.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d9f88f069068dc5dc7e895785d7172d260cbbc34cab3b52704b20e89b80c6de8";
+    sha256 = "sha256-11eCRY3zptsXI4kAIz3jLrTON4j2QTz/xG7vgUgyVA0=";
   };
 
   nativeBuildInputs = [ setuptools-scm git ];
diff --git a/nixpkgs/pkgs/development/tools/earthly/default.nix b/nixpkgs/pkgs/development/tools/earthly/default.nix
index e806b502de86..53da9c1fb4ef 100644
--- a/nixpkgs/pkgs/development/tools/earthly/default.nix
+++ b/nixpkgs/pkgs/development/tools/earthly/default.nix
@@ -2,24 +2,22 @@
 
 buildGoModule rec {
   pname = "earthly";
-  version = "0.5.18";
+  version = "0.5.20";
 
   src = fetchFromGitHub {
     owner = "earthly";
     repo = "earthly";
     rev = "v${version}";
-    sha256 = "sha256-YY4scGRMuvyEpeEgvoJJsTtROl11hMyGr7vYBYvJY/w=";
+    sha256 = "sha256-wPtL5fH6s4qlG82udeg9Gv4iNBjDEeKNTDFHPsW4V/A=";
   };
 
-  vendorSha256 = "sha256-aDkaOycQ/wPybSH5fnJIGtCOh+KV0wEF+qinRQQIdm4=";
+  vendorSha256 = "sha256-gydhh/EMSuE/beo+A2CRDdDnQGT6DMjMwthylT339I4=";
 
-  buildFlagsArray = ''
-    -ldflags=
-      -s -w
-      -X main.Version=v${version}
-      -X main.DefaultBuildkitdImage=earthly/buildkitd:v${version}
-      -extldflags -static
-  '';
+  ldflags = [
+    "-s" "-w"
+    "-X main.Version=v${version}"
+    "-X main.DefaultBuildkitdImage=earthly/buildkitd:v${version}"
+  ];
 
   BUILDTAGS = "dfrunmount dfrunsecurity dfsecrets dfssh dfrunnetwork";
   preBuild = ''
@@ -35,7 +33,7 @@ buildGoModule rec {
     description = "Build automation for the container era";
     homepage = "https://earthly.dev/";
     changelog = "https://github.com/earthly/earthly/releases/tag/v${version}";
-    license = licenses.mpl20;
-    maintainers = with maintainers; [ mdsp ];
+    license = licenses.bsl11;
+    maintainers = with maintainers; [ matdsoupe ];
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/efm-langserver/default.nix b/nixpkgs/pkgs/development/tools/efm-langserver/default.nix
index 2984de4c5e17..48d4059277d6 100644
--- a/nixpkgs/pkgs/development/tools/efm-langserver/default.nix
+++ b/nixpkgs/pkgs/development/tools/efm-langserver/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "efm-langserver";
-  version = "0.0.32";
+  version = "0.0.36";
 
   src = fetchFromGitHub {
     owner = "mattn";
     repo = "efm-langserver";
     rev = "v${version}";
-    sha256 = "sha256-zjjzdHlWEDDmPaDPuyk1ZoXwEFBogf51KjOmRmhFAdc=";
+    sha256 = "sha256-X2z49KmJiKh1QtcDBZcqNiMhq5deVamS47w6gyVq7Oo=";
   };
 
   vendorSha256 = "sha256-tca+1SRrFyvU8ttHmfMFiGXd1A8rQSEWm1Mc2qp0EfI=";
diff --git a/nixpkgs/pkgs/development/tools/electron/default.nix b/nixpkgs/pkgs/development/tools/electron/default.nix
index 07a094dd0e83..040c289720ce 100644
--- a/nixpkgs/pkgs/development/tools/electron/default.nix
+++ b/nixpkgs/pkgs/development/tools/electron/default.nix
@@ -22,7 +22,7 @@ let
 in
 rec {
 
-  electron = electron_13;
+  electron = electron_14;
 
   electron_3 = mkElectron "3.1.13" {
     x86_64-linux = "1psmbplz6jhnnf6hmfhxbmmhn4n1dpnhzbc12pxn645xhfpk9ark";
@@ -95,33 +95,43 @@ rec {
     headers = "01x6a0r2jawjpl09ixgzap3g0z6znj34hsnnhzanavkbds0ri4k6";
   };
 
-  electron_11 = mkElectron "11.4.10" {
-    x86_64-linux = "bad6af91183bcb27428a258fba3fab24ef3e8435402d6cb2d500fe215b8c920c";
-    x86_64-darwin = "aaa11e61697ec2eec99950082a68eef32bc1231e51ac77cde6d96a12837f5b73";
-    i686-linux = "8e956bad6a6c5f85fe5a53304ffe878191c670ffbc13176fbe01911ba7d6da0f";
-    armv7l-linux = "c9e3873316416426151fbff9a190526e40a3e311d0f348ee6965a8c7948cb9c1";
-    aarch64-linux = "4ee0dab2af08f0d8f0d141a165744c949b068a8a6537ef5ff7973b63266c2abf";
-    aarch64-darwin = "53f96ba6099617c219ca75bde1682abb9e961927e5a3645b38dee11b95517659";
-    headers = "0c7qms8vbirblg6z86s19p5l472p3h8lw1rj7ckgnwna4b68vn33";
+  electron_11 = mkElectron "11.5.0" {
+    x86_64-linux = "613ef8ac00c5abda425dfa48778a68f58a2e9c7c1f82539bb1a41afabbd6193f";
+    x86_64-darwin = "32937dca29fc397f0b15dbab720ed3edb88eee24f00f911984b307bf12dc8fd5";
+    i686-linux = "cd154c56d02d7b1f16e2bcd5650bddf0de9141fdbb8248adc64f6d607e5fb725";
+    armv7l-linux = "3f5a41037aaad658051d8bc8b04e8dece72b729dd1a1ed8311b365daa8deea76";
+    aarch64-linux = "f698a7743962f553fe36673f1c85bccbd918efba8f6dca3a3df39d41c8e2de3e";
+    aarch64-darwin = "749fb6bd676e174de66845b8ac959985f30a773dcb2c05553890bd99b94c9d60";
+    headers = "1zkdgpjrh1dc9j8qyrrrh49v24960yhvwi2c530qbpf2azgqj71b";
   };
 
-  electron_12 = mkElectron "12.0.14" {
-    x86_64-linux = "a75886b5aad27c64232ec0ec47d8c3c1d696ab968007cd8bfa5db87b33e8a5e7";
-    x86_64-darwin = "03b30610f23be9ef835a78e9d4babc52ff32e29ff33c51218b1b8970c3bd6062";
-    i686-linux = "0bb86208173da28250f261b162657c3614b859fb561df54cbd25b566d619c75c";
-    armv7l-linux = "bd743c6eec434aedb80e7e5eef58dfe9f133bc48015d263dc12a119dd1276e32";
-    aarch64-linux = "1f287496cc61c67db25339f8f79d09ace952edeaca47ea664766425ceaebc2a3";
-    aarch64-darwin = "50171b32c927ab5b658da5b4459eca5ddb5df89cc655ae753cc6d02b4ed9b30d";
-    headers = "1znhnily1gl2f58f0ny1fa3yilmm4xn5fcdvqkjh4czv5c12rrbg";
+  electron_12 = mkElectron "12.1.0" {
+    x86_64-linux = "b573f88a892e3f282352466db711734a678289edce83271f16865d63df4e8c85";
+    x86_64-darwin = "0c036793cfebb6ed680b13e11804560ec301fc26c68737045a3e9dcee3e8930b";
+    i686-linux = "0dced2796addc5e5440ca58691efd3ad683ae41906dea84ef517dd855c3df5a1";
+    armv7l-linux = "a1a07f550869f9a22b1ddc0f325ff5d60a792c7c8cf206c70f26c8d8867ced27";
+    aarch64-linux = "58da83b9e5c231ba0078cb2723530ab1be2c97d0c4036c88c7146cdf1a08ddac";
+    aarch64-darwin = "01e9f4c12f86eef6e79a594880b2415decad604fb1a7bb5d8086f6dcebc2de7c";
+    headers = "040ikf5wcz9zm0kprpggl3jiw8lj4msnh8kjqaacjk480wgv6k5q";
   };
 
-  electron_13 = mkElectron "13.1.6" {
-    x86_64-linux = "6f28af0a3ccb20b0d2e4f26ea4698d5b89b81e860cbd40a446c2a8223fdf0101";
-    x86_64-darwin = "e2bde9b3b2ee092b80d18439780c4ecb4620da1ead9fcae00cc603f3a56fda3e";
-    i686-linux = "7c266148fba83c3eb912c5ccd7cd7c24829bc93b380378cba0480b02c38f5d42";
-    armv7l-linux = "8d54ec6babc06b118038d2d4f49cab84ec6d5617c645266b88dd829c02354e77";
-    aarch64-linux = "d24ba0e3f8624ec611fb2e9165c08b227ba799196b0f2787cad8c60f1cc23b5b";
-    aarch64-darwin = "0fa29c1ba89ab906c5ba20216c505b6d8d3fbccdc58cd397146783bddeff1dd4";
-    headers = "122ppxayj1fijzfdpnh3wqyi636dq53j8imyf46ik8fkvgmrw2mz";
+  electron_13 = mkElectron "13.3.0" {
+    x86_64-linux = "dae470d4685c1e18ea399cb4607d598a325d1a5143d1fabc15e3ec112a65b65b";
+    x86_64-darwin = "d8c673aca3cd5b0d573c24c9fd29ff6f6cea52daa2e9feb680c7d05c7982cf53";
+    i686-linux = "1569e39548493d4cc6a4feed1386ab18238705d20ed98078567db5439b9cafa5";
+    armv7l-linux = "91e6dec7be053a599cf4b6ab13e577ddb68fb35bd7a786c4f7e31a73b663aa59";
+    aarch64-linux = "147a43797e3aac97845a87f744cceacdfbed19b8017eea25f2e48cf519e20cfe";
+    aarch64-darwin = "f0e0b7e1a9a1ce41abbc2b64a8f1070b966535b4c90e6e293481c2e47a3f1a90";
+    headers = "1cxrpw5yzbv0gscmyzh0041smxirifp9f8nchn212csanjdycn6x";
+  };
+
+  electron_14 = mkElectron "14.0.0" {
+    x86_64-linux = "0a40533a50a42e6668e5265a84e2983979eededbb61f9e201d569d8b1b37ce0f";
+    x86_64-darwin = "4025c50cb9a0dce1a7b5d5698ee5412e55abeae386329ffe293152a8c42388e8";
+    i686-linux = "955280a0eb862eef913f9f394c7c7574138a5a48ffa85c59e84cc0163564fbfa";
+    armv7l-linux = "825684b3f759bc6c5d2e5be7c6a7679b7a1b8e0d9091f7d2f9904d0c24f6c978";
+    aarch64-linux = "367e76b34dcc58371232c87f540dd227c51de94ce8a916761379c3c4b890dd80";
+    aarch64-darwin = "0df8ced31e56243adb17f328e8d580a50e22d46403b2bb28d8922d2515904d94";
+    headers = "129rw4a05ixkyiiag2dgadcm34ndfajd896k11siahcij7rn4j7g";
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/esbuild/default.nix b/nixpkgs/pkgs/development/tools/esbuild/default.nix
index d3833d3b1473..ad88f368e8ad 100644
--- a/nixpkgs/pkgs/development/tools/esbuild/default.nix
+++ b/nixpkgs/pkgs/development/tools/esbuild/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "esbuild";
-  version = "0.12.15";
+  version = "0.12.24";
 
   src = fetchFromGitHub {
     owner = "evanw";
     repo = "esbuild";
     rev = "v${version}";
-    sha256 = "sha256-Ikt8kBkwI9AQrWp9j4Zaf+BqGVcyhyagBDjTGZm/dzQ=";
+    sha256 = "sha256-oD8QjjolEfmfxs+Q4duVUCbEp74HzIWaPrmH8Vn1H+o=";
   };
 
   vendorSha256 = "sha256-2ABWPqhK2Cf4ipQH7XvRrd+ZscJhYPc3SV2cGT0apdg=";
diff --git a/nixpkgs/pkgs/development/tools/evans/default.nix b/nixpkgs/pkgs/development/tools/evans/default.nix
index dfc9d34b5ac5..bfe58a8dd041 100644
--- a/nixpkgs/pkgs/development/tools/evans/default.nix
+++ b/nixpkgs/pkgs/development/tools/evans/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "evans";
-  version = "0.9.3";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "ktr0731";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-q8HWDZpUWaitdZcWkvKEWWbIWCj9VmWCxxhAdcYZx8s=";
+    sha256 = "sha256-Ftt3lnwLk2Zx1DxDmZx2hBqXcxzqUb6I/gEdQJuFsCc=";
   };
 
   subPackages = [ "." ];
 
-  vendorSha256 = "sha256-ntRlrbsQjZmVxEg9361Q+f6Wb/R393+sbOKOEh5VKPk=";
+  vendorSha256 = "sha256-WclmINHcgRtbRSZGv+lOgwuImHKVC9cfK8C+f9JBcts=";
 
   meta = with lib; {
     description = "More expressive universal gRPC client";
diff --git a/nixpkgs/pkgs/development/tools/fdroidserver/default.nix b/nixpkgs/pkgs/development/tools/fdroidserver/default.nix
index af851e252110..5977d0c28d17 100644
--- a/nixpkgs/pkgs/development/tools/fdroidserver/default.nix
+++ b/nixpkgs/pkgs/development/tools/fdroidserver/default.nix
@@ -1,7 +1,8 @@
-{ docker
-, fetchFromGitLab
+{ fetchFromGitLab
 , python
-, lib }:
+, lib
+, apksigner
+}:
 
 python.pkgs.buildPythonApplication rec {
   version = "2.0.3";
@@ -16,7 +17,6 @@ python.pkgs.buildPythonApplication rec {
 
   postPatch = ''
     substituteInPlace fdroidserver/common.py --replace "FDROID_PATH = os.path.realpath(os.path.join(os.path.dirname(__file__), '..'))" "FDROID_PATH = '$out/bin'"
-    substituteInPlace setup.py --replace "pyasn1-modules >= 0.2.1, < 0.3" "pyasn1-modules"
   '';
 
   preConfigure = ''
@@ -33,8 +33,6 @@ python.pkgs.buildPythonApplication rec {
     androguard
     clint
     defusedxml
-    docker
-    docker-py
     GitPython
     libcloud
     mwclient
@@ -50,6 +48,8 @@ python.pkgs.buildPythonApplication rec {
     yamllint
   ];
 
+  makeWrapperArgs = [ "--prefix" "PATH" ":" "${lib.makeBinPath [ apksigner ]}" ];
+
   # no tests
   doCheck = false;
 
@@ -59,7 +59,7 @@ python.pkgs.buildPythonApplication rec {
     homepage = "https://f-droid.org";
     description = "Server and tools for F-Droid, the Free Software repository system for Android";
     license = licenses.agpl3;
-    maintainers = [ lib.maintainers.pmiddend ];
+    maintainers = [ lib.maintainers.obfusk ];
   };
 
 }
diff --git a/nixpkgs/pkgs/development/tools/fission/default.nix b/nixpkgs/pkgs/development/tools/fission/default.nix
index 56d5161b49e9..0151a6fb38ba 100644
--- a/nixpkgs/pkgs/development/tools/fission/default.nix
+++ b/nixpkgs/pkgs/development/tools/fission/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "fission";
-  version = "1.13.1";
+  version = "1.14.1";
 
   src = fetchFromGitHub {
     owner = "fission";
     repo = "fission";
     rev = version;
-    sha256 = "sha256-ayVEU2Dlqun8KLP+KeI0uU4p9N4aaYLZ/IHqfA2PGrI=";
+    sha256 = "sha256-U/UV5NZXmycDp8+g5XV6P2b+4SutR51rVHdPp9HdPjM=";
   };
 
-  vendorSha256 = "sha256-V3/IFCbW3wXfNiFzucLeyFDc6SA2nE+NwO0sNEBmIYg=";
+  vendorSha256 = "sha256-1ujJuhK7pm/A1Dd+Wm9dtc65mx9pwLBWMWwEJnbja8s=";
 
-  buildFlagsArray = "-ldflags=-s -w -X info.Version=${version}";
+  ldflags = [ "-s" "-w" "-X info.Version=${version}" ];
 
   subPackages = [ "cmd/fission-cli" ];
 
diff --git a/nixpkgs/pkgs/development/tools/flawfinder/default.nix b/nixpkgs/pkgs/development/tools/flawfinder/default.nix
index 36209c5d5aa4..0129cf73741b 100644
--- a/nixpkgs/pkgs/development/tools/flawfinder/default.nix
+++ b/nixpkgs/pkgs/development/tools/flawfinder/default.nix
@@ -1,16 +1,15 @@
 { lib
 , fetchurl
-, installShellFiles
 , python3
 }:
 
 python3.pkgs.buildPythonApplication rec {
   pname = "flawfinder";
-  version = "2.0.18";
+  version = "2.0.19";
 
   src = fetchurl {
     url = "https://dwheeler.com/flawfinder/flawfinder-${version}.tar.gz";
-    sha256 = "1hk2y13fd2a5gf42a1hk45hw6pbls715wi9k1yh3c3wyhvbyylba";
+    sha256 = "sha256-/lUJgdNwq/oKKWcTRswLA4Ipqb2QsjnqsPAfEiEt9hg=";
   };
 
   # Project is using a combination of bash/Python for the tests
diff --git a/nixpkgs/pkgs/development/tools/flyway/default.nix b/nixpkgs/pkgs/development/tools/flyway/default.nix
index 4679c6aa0523..4674ae5170ae 100644
--- a/nixpkgs/pkgs/development/tools/flyway/default.nix
+++ b/nixpkgs/pkgs/development/tools/flyway/default.nix
@@ -1,10 +1,10 @@
 { lib, stdenv, fetchurl, jre_headless, makeWrapper }:
 stdenv.mkDerivation rec{
   pname = "flyway";
-  version = "7.5.4";
+  version = "7.13.0";
   src = fetchurl {
     url = "https://repo1.maven.org/maven2/org/flywaydb/flyway-commandline/${version}/flyway-commandline-${version}.tar.gz";
-    sha256 = "sha256-WU8j1NSf2KfA/HJWFtMLOZ3t5nxW4sU713e6qEEhZ0I=";
+    sha256 = "sha256-rZUVxswJdCFKwuXlzko+t+ZO1plRgH2VcZFJ5kkiM2s=";
   };
   nativeBuildInputs = [ makeWrapper ];
   dontBuild = true;
diff --git a/nixpkgs/pkgs/development/tools/fnlfmt/default.nix b/nixpkgs/pkgs/development/tools/fnlfmt/default.nix
new file mode 100644
index 000000000000..4333706d1cf3
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/fnlfmt/default.nix
@@ -0,0 +1,41 @@
+{ lib, stdenv, fetchFromSourcehut, fennel, lua }:
+
+stdenv.mkDerivation rec {
+  pname = "fnlfmt";
+  version = "0.2.1";
+
+  src = fetchFromSourcehut {
+    owner = "~technomancy";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-JIqeQhI3fFGrej2wbj6/367IZqWAFegySc2R8IDmvGE=";
+  };
+
+  nativeBuildInputs = [ fennel ];
+
+  buildInputs = [ lua ];
+
+  buildPhase = ''
+    runHook preBuild
+
+    echo "#!${lua}/bin/lua" > fnlfmt
+    ${fennel}/bin/fennel --require-as-include --compile cli.fnl >> fnlfmt
+    chmod +x fnlfmt
+
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    install -D ./fnlfmt $out/bin/fnlfmt
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Formatter for Fennel";
+    homepage = "https://git.sr.ht/~technomancy/fnlfmt";
+    license = licenses.lgpl3Plus;
+    platforms = lua.meta.platforms;
+    maintainers = [ maintainers.gpanders ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/fnm/default.nix b/nixpkgs/pkgs/development/tools/fnm/default.nix
new file mode 100644
index 000000000000..a11163385893
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/fnm/default.nix
@@ -0,0 +1,35 @@
+{ lib, stdenv, fetchFromGitHub, rustPlatform, installShellFiles, Security }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "fnm";
+  version = "1.26.0";
+
+  src = fetchFromGitHub {
+    owner = "Schniz";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-wKtgMUt7QquT6mS3AI+XrZqbJOZxj6jlJi+7uC9w7xU=";
+  };
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  buildInputs = lib.optionals stdenv.isDarwin [ Security ];
+
+  cargoSha256 = "sha256-TMhhCVVFTanKdbDp7L3ZaiNohWo5a/jFbQjdRiBlCkk=";
+
+  doCheck = false;
+
+  postInstall = ''
+    installShellCompletion --cmd fnm \
+      --bash <($out/bin/fnm completions --shell bash) \
+      --fish <($out/bin/fnm completions --shell fish) \
+      --zsh <($out/bin/fnm completions --shell zsh)
+  '';
+
+  meta = with lib; {
+    description = "Fast and simple Node.js version manager";
+    homepage = "https://github.com/Schniz/fnm";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ kidonng ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/fprettify/default.nix b/nixpkgs/pkgs/development/tools/fprettify/default.nix
new file mode 100644
index 000000000000..a5eed6bdc28c
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/fprettify/default.nix
@@ -0,0 +1,28 @@
+{ lib, python3Packages, fetchFromGitHub }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "fprettify";
+  version = "0.3.7";
+
+  src = fetchFromGitHub {
+    owner = "pseewald";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "17v52rylmsy3m3j5fcb972flazykz2rvczqfh8mxvikvd6454zyj";
+  };
+
+  preConfigure = ''
+    patchShebangs fprettify.py
+  '';
+
+  propagatedBuildInputs = with python3Packages; [
+    configargparse
+  ];
+
+  meta = with lib; {
+    description = "An auto-formatter for modern Fortran code that imposes strict whitespace formatting, written in Python.";
+    homepage = "https://pypi.org/project/fprettify/";
+    license = with licenses; [ gpl3Only ];
+    maintainers = with maintainers; [ fabiangd ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/frugal/default.nix b/nixpkgs/pkgs/development/tools/frugal/default.nix
index c20993fbea9f..a392bee26fdb 100644
--- a/nixpkgs/pkgs/development/tools/frugal/default.nix
+++ b/nixpkgs/pkgs/development/tools/frugal/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "frugal";
-  version = "3.14.6";
+  version = "3.14.7";
 
   src = fetchFromGitHub {
     owner = "Workiva";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-MtQz/9+e2l4FQ1E299KtRzFpX67FynHdsvcMA4CqKUo=";
+    sha256 = "sha256-mCfM2G+FhKDwPg0NqLIAe8F5MRZVJ0tcIY9FBuLpRpE=";
   };
 
   subPackages = [ "." ];
 
-  vendorSha256 = "sha256-Y7lh+U4FKiht2PgACWSXwGTx+y8aJi22KEhqxHPooCw=";
+  vendorSha256 = "sha256-onbvW3vjuAL+grLfvJR14jxVpoue+YZAeFMOS8ktS1A=";
 
   meta = with lib; {
     description = "Thrift improved";
diff --git a/nixpkgs/pkgs/development/tools/github/bump/default.nix b/nixpkgs/pkgs/development/tools/github/bump/default.nix
index 791b8b7aa916..3531926e4bc4 100644
--- a/nixpkgs/pkgs/development/tools/github/bump/default.nix
+++ b/nixpkgs/pkgs/development/tools/github/bump/default.nix
@@ -15,8 +15,8 @@ buildGoModule rec {
 
   doCheck = false;
 
-  buildFlagsArray = [
-    "-ldflags=-X main.buildVersion=${version} -X main.buildCommit=${version} -X main.buildDate=1970-01-01"
+  ldflags = [
+    "-X main.buildVersion=${version}" "-X main.buildCommit=${version}" "-X main.buildDate=1970-01-01"
   ];
 
   meta = with lib; {
@@ -26,4 +26,3 @@ buildGoModule rec {
     maintainers = with maintainers; [ doronbehar ];
   };
 }
-
diff --git a/nixpkgs/pkgs/development/tools/glide/default.nix b/nixpkgs/pkgs/development/tools/glide/default.nix
index 05e4ae810612..e97feca11672 100644
--- a/nixpkgs/pkgs/development/tools/glide/default.nix
+++ b/nixpkgs/pkgs/development/tools/glide/default.nix
@@ -6,10 +6,9 @@ buildGoPackage rec {
 
   goPackagePath = "github.com/Masterminds/glide";
 
-   buildFlagsArray = ''
-   -ldflags=
-      -X main.version=${version}
-  '';
+  ldflags = [
+    "-X main.version=${version}"
+  ];
 
   src = fetchFromGitHub {
     rev = "v${version}";
diff --git a/nixpkgs/pkgs/development/tools/go-containerregistry/default.nix b/nixpkgs/pkgs/development/tools/go-containerregistry/default.nix
index 52b233817ab8..0fcbda696619 100644
--- a/nixpkgs/pkgs/development/tools/go-containerregistry/default.nix
+++ b/nixpkgs/pkgs/development/tools/go-containerregistry/default.nix
@@ -10,20 +10,19 @@ buildGoModule rec {
     rev = "v${version}";
     hash = "sha256-3mvGHAPKDUmrQkBKwlxnF6PG0ZpZDqlM9SMkCyC5ytE=";
   };
-
   vendorSha256 = null;
 
   subPackages = [ "cmd/crane" "cmd/gcrane" ];
 
-  buildFlagsArray = [
-    "-ldflags=-s -w -X github.com/google/go-containerregistry/cmd/crane/cmd.Version=${version} -X github.com/google/go-containerregistry/pkg/v1/remote/transport.Version=${version}"
-  ];
+  ldflags =
+    let t = "github.com/google/go-containerregistry"; in
+    [ "-s" "-w" "-X ${t}/cmd/crane/cmd.Version=v${version}" "-X ${t}/pkg/v1/remote/transport.Version=${version}" ];
 
   # NOTE: no tests
   doCheck = false;
 
   meta = with lib; {
-    description = "A tool for interacting with remote images and registries";
+    description = "Tools for interacting with remote images and registries including crane and gcrane";
     homepage = "https://github.com/google/go-containerregistry";
     license = licenses.apsl20;
     maintainers = with maintainers; [ yurrriq ];
diff --git a/nixpkgs/pkgs/development/tools/go-minimock/default.nix b/nixpkgs/pkgs/development/tools/go-minimock/default.nix
index 60f53e1e253c..1ec03ed2a69d 100644
--- a/nixpkgs/pkgs/development/tools/go-minimock/default.nix
+++ b/nixpkgs/pkgs/development/tools/go-minimock/default.nix
@@ -11,8 +11,8 @@ buildGoModule rec {
     sha256 = "sha256-l+ngvmTb9yVgQYT+OeaVd0zz/xNZeXWrjMpVkMpbQIw=";
   };
 
-  buildFlagsArray = [
-    "-ldflags=-s -w -X main.version=${version}"
+  ldflags = [
+    "-s" "-w" "-X main.version=${version}"
   ];
 
   vendorSha256 = "sha256-hn222ifKRYbASAHBJyMTCDwhykf2Jg9IqIUlK/GabJA=";
diff --git a/nixpkgs/pkgs/development/tools/go-protobuf/default.nix b/nixpkgs/pkgs/development/tools/go-protobuf/default.nix
index b463ecd5dee8..72dabc3b9380 100644
--- a/nixpkgs/pkgs/development/tools/go-protobuf/default.nix
+++ b/nixpkgs/pkgs/development/tools/go-protobuf/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "go-protobuf";
-  version = "1.5.1";
+  version = "1.5.2";
 
   src = fetchFromGitHub {
     owner = "golang";
     repo = "protobuf";
     rev = "v${version}";
-    sha256 = "sha256-TYx7nAyUE70hoCNKnR74FzWhrQyWG17VPoKH3vR+qOM=";
+    sha256 = "sha256-E/6Qh8hWilaGeSojOCz8PzP9qnVqNG2DQLYJUqN3BdY=";
   };
 
   vendorSha256 = "sha256-CcJjFMslSUiZMM0LLMM3BR53YMxyWk8m7hxjMI9tduE=";
diff --git a/nixpkgs/pkgs/development/tools/go-swagger/default.nix b/nixpkgs/pkgs/development/tools/go-swagger/default.nix
index 2147ed00c77c..20c2a2b9e991 100644
--- a/nixpkgs/pkgs/development/tools/go-swagger/default.nix
+++ b/nixpkgs/pkgs/development/tools/go-swagger/default.nix
@@ -17,7 +17,7 @@ buildGoModule rec {
 
   subPackages = [ "cmd/swagger" ];
 
-  buildFlagsArray = [ "-ldflags=-s -w -X github.com/go-swagger/go-swagger/cmd/swagger/commands.Version=${version} -X github.com/go-swagger/go-swagger/cmd/swagger/commands.Commit=${src.rev}" ];
+  ldflags = [ "-s" "-w" "-X github.com/go-swagger/go-swagger/cmd/swagger/commands.Version=${version}" "-X github.com/go-swagger/go-swagger/cmd/swagger/commands.Commit=${src.rev}" ];
 
   meta = with lib; {
     description = "Golang implementation of Swagger 2.0, representation of your RESTful API";
diff --git a/nixpkgs/pkgs/development/tools/go-task/default.nix b/nixpkgs/pkgs/development/tools/go-task/default.nix
index d9b32c2c5248..4c7d20bb74b9 100644
--- a/nixpkgs/pkgs/development/tools/go-task/default.nix
+++ b/nixpkgs/pkgs/development/tools/go-task/default.nix
@@ -2,23 +2,23 @@
 
 buildGoModule rec {
   pname = "go-task";
-  version = "3.6.0";
+  version = "3.7.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = "task";
     rev = "v${version}";
-    sha256 = "sha256-3DTjxcMxgaTMunctHaCgOX5/P85lJDRin6RpMuv9Rfg=";
+    sha256 = "sha256-EksCnhSde25hradmKaDSOfIa/QnMAlIbgbQWX6k5v+4=";
   };
 
-  vendorSha256 = "sha256-bsVzV2M31BA7X6aq8na7v56uGYgne4OwR5kz/utmQHI=";
+  vendorSha256 = "sha256-Y2Yuc2pcxW0M1CJfN3dezPB9cg6MvOUg5A+yFHCwntk=";
 
   doCheck = false;
 
   subPackages = [ "cmd/task" ];
 
-  buildFlagsArray = [
-    "-ldflags=-s -w -X main.version=${version}"
+  ldflags = [
+    "-s" "-w" "-X main.version=${version}"
   ];
 
   postInstall = ''
diff --git a/nixpkgs/pkgs/development/tools/go-tools/default.nix b/nixpkgs/pkgs/development/tools/go-tools/default.nix
index 69059578e273..38ed470cbe90 100644
--- a/nixpkgs/pkgs/development/tools/go-tools/default.nix
+++ b/nixpkgs/pkgs/development/tools/go-tools/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "go-tools";
-  version = "2021.1";
+  version = "2021.1.1";
 
   src = fetchFromGitHub {
     owner = "dominikh";
     repo = "go-tools";
     rev = version;
-    sha256 = "sha256-QhTjzrERhbhCSkPzyLQwFyxrktNoGL9ris+XfE7n5nQ=";
+    sha256 = "sha256-Vj5C+PIzZUSD16U4KFO3jR/Gq11P8v3my5eODWb//4c=";
   };
 
   vendorSha256 = "sha256-EjCOMdeJ0whp2pHZvm4VV2K78UNKzl98Z/cQvGhWSyY=";
diff --git a/nixpkgs/pkgs/development/tools/gokart/default.nix b/nixpkgs/pkgs/development/tools/gokart/default.nix
new file mode 100644
index 000000000000..3c973126c7a2
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/gokart/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "gokart";
+  version = "0.2.0";
+
+  src = fetchFromGitHub {
+    owner = "praetorian-inc";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0wfv33yi83klnnyfas7wnsnx34cf28k1yvq06lkii96fvnzcar36";
+  };
+
+  vendorSha256 = "0l5aj7j9m412bgm9n553m2sh9fy9dpzd0bi3qn21gj7bfdcpagnd";
+
+  # Would need files to scan which are not shipped by the project
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Static analysis tool for securing Go code";
+    homepage = "https://github.com/praetorian-inc/gokart";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/golangci-lint/default.nix b/nixpkgs/pkgs/development/tools/golangci-lint/default.nix
index 32af811c0005..3512c1bf087c 100644
--- a/nixpkgs/pkgs/development/tools/golangci-lint/default.nix
+++ b/nixpkgs/pkgs/development/tools/golangci-lint/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "golangci-lint";
-  version = "1.41.1";
+  version = "1.42.0";
 
   src = fetchFromGitHub {
     owner = "golangci";
     repo = "golangci-lint";
     rev = "v${version}";
-    sha256 = "sha256-7xokU2uw7oiXhirTKuNfqJ143PlnI7M1zSixT0S6jtE=";
+    sha256 = "sha256-xwJZfWDtA/6HkYZmGyhL/44xU8qLmJ2kk3Uqft0yivE=";
   };
 
-  vendorSha256 = "sha256-s0ZFQJIhF23FtLol1Gegljf6eyGkCmVxTKmHbQBtPvM=";
+  vendorSha256 = "sha256-lOVGyxQcWG99hO+Eff2cNA5gW4DhsDrBY5Ejj0s4v4Q=";
 
   doCheck = false;
 
@@ -19,9 +19,9 @@ buildGoModule rec {
 
   nativeBuildInputs = [ installShellFiles ];
 
-  preBuild = ''
-    buildFlagsArray+=("-ldflags=-s -w -X main.version=${version} -X main.commit=v${version} -X main.date=19700101-00:00:00")
-  '';
+  ldflags = [
+    "-s" "-w" "-X main.version=${version}" "-X main.commit=v${version}" "-X main.date=19700101-00:00:00"
+  ];
 
   postInstall = ''
     for shell in bash zsh; do
diff --git a/nixpkgs/pkgs/development/tools/gomplate/default.nix b/nixpkgs/pkgs/development/tools/gomplate/default.nix
index 45602a053522..10f853a65237 100644
--- a/nixpkgs/pkgs/development/tools/gomplate/default.nix
+++ b/nixpkgs/pkgs/development/tools/gomplate/default.nix
@@ -19,8 +19,7 @@ buildGoModule rec {
     rm net/net_test.go
   '';
 
-  buildFlagsArray = [
-    "-ldflags="
+  ldflags = [
     "-s"
     "-w"
     "-X github.com/${owner}/${pname}/v3/version.Version=${rev}"
diff --git a/nixpkgs/pkgs/development/tools/gopkgs/deps.nix b/nixpkgs/pkgs/development/tools/gopkgs/deps.nix
deleted file mode 100644
index e813a5b22564..000000000000
--- a/nixpkgs/pkgs/development/tools/gopkgs/deps.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix)
-[
-  {
-    goPackagePath  = "github.com/karrick/godirwalk";
-    fetch = {
-      type = "git";
-      url = "https://github.com/karrick/godirwalk";
-      rev =  "5cc8b3875be6c21825a1b54d3029ed415c93c4f7";
-      sha256 = "02nlyr0sa0lj1f27fsrxlspcsrx7fs60qwr33l5r6yq52axcikcd";
-    };
-  }
-  {
-    goPackagePath  = "github.com/pkg/errors";
-    fetch = {
-      type = "git";
-      url = "https://github.com/pkg/errors";
-      rev =  "645ef00459ed84a119197bfb8d8205042c6df63d";
-      sha256 = "001i6n71ghp2l6kdl3qq1v2vmghcz3kicv9a5wgcihrzigm75pp5";
-    };
-  }
-]
diff --git a/nixpkgs/pkgs/development/tools/gopls/default.nix b/nixpkgs/pkgs/development/tools/gopls/default.nix
index ba549d5aaa5b..388c34a0c078 100644
--- a/nixpkgs/pkgs/development/tools/gopls/default.nix
+++ b/nixpkgs/pkgs/development/tools/gopls/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "gopls";
-  version = "0.7.0";
+  version = "0.7.1";
 
   src = fetchgit {
     rev = "gopls/v${version}";
     url = "https://go.googlesource.com/tools";
-    sha256 = "0vylrsmpszij23yngk7mfysp8rjbf29nyskbrwwysf63r9xbrwbi";
+    sha256 = "0cq8mangcc1fz1ii7v4smxbpzynhwy6gvl80n5hvhjpgkp0k4fsm";
   };
 
   modRoot = "gopls";
-  vendorSha256 = "1mnc84nvl7zhl4pzf90cd0gvid9g1jph6hcxk6lrlnfk2j2m75mj";
+  vendorSha256 = "1mzn1nn3l080lch0yhh4g2sq02g95v14nha8k3d373vwvwg45igs";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/tools/gore/default.nix b/nixpkgs/pkgs/development/tools/gore/default.nix
index 43bb2d2aad7b..0131908d0aac 100644
--- a/nixpkgs/pkgs/development/tools/gore/default.nix
+++ b/nixpkgs/pkgs/development/tools/gore/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "gore";
-  version = "0.5.2";
+  version = "0.5.3";
 
   src = fetchFromGitHub {
     owner = "motemen";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-oiaZvoCxA69slNb3LArLJfaqzfQ1YImxLuQHzW5tibo=";
+    sha256 = "sha256-uLU4uZaQA9u6BUQZ0Rb4Yqg/oJOZ529gIiOwmmyg05A=";
   };
 
-  vendorSha256 = "sha256-vJG7sc+ngagtrYvTwO3OrCSFUgAA7zhaXHkU97nIhcY=";
+  vendorSha256 = "sha256-/yggEibpQK9Uk116RkE5XbbJe6j4WsIC3GtKPU/P2hU=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/tools/gosec/default.nix b/nixpkgs/pkgs/development/tools/gosec/default.nix
index 9264ac27fa2a..9f9bb882de08 100644
--- a/nixpkgs/pkgs/development/tools/gosec/default.nix
+++ b/nixpkgs/pkgs/development/tools/gosec/default.nix
@@ -17,7 +17,7 @@ buildGoModule rec {
 
   doCheck = false;
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.Version=${version} -X main.GitTag=${src.rev} -X main.BuildDate=unknown" ];
+  ldflags = [ "-s" "-w" "-X main.Version=${version}" "-X main.GitTag=${src.rev}" "-X main.BuildDate=unknown" ];
 
   meta = with lib; {
     homepage = "https://github.com/securego/gosec";
@@ -27,4 +27,3 @@ buildGoModule rec {
     platforms = platforms.linux ++ platforms.darwin;
   };
 }
-
diff --git a/nixpkgs/pkgs/development/tools/gotestsum/default.nix b/nixpkgs/pkgs/development/tools/gotestsum/default.nix
index e9bc48b0dcf2..161aba5d68f6 100644
--- a/nixpkgs/pkgs/development/tools/gotestsum/default.nix
+++ b/nixpkgs/pkgs/development/tools/gotestsum/default.nix
@@ -2,20 +2,20 @@
 
 buildGoModule rec {
   pname = "gotestsum";
-  version = "1.6.4";
+  version = "1.7.0";
 
   src = fetchFromGitHub {
     owner = "gotestyourself";
     repo = "gotestsum";
     rev = "v${version}";
-    sha256 = "sha256-5iSUk/J73enbc/N3bn7M4oj2A0yoF1jTWpnXD380hFI=";
+    sha256 = "sha256-nZaVi39dOytJTM69xpl+d9XoUt+yHdndPgY2ggfNeMQ=";
   };
 
-  vendorSha256 = "sha256-sHi8iW+ZV/coeAwDUYnSH039UNtUO9HK0Bhz9Gmtv8k=";
+  vendorSha256 = "sha256-wP5y8Ec6eSe+rdMEQQdX0fFTQ0HWuiyBRHxGlraZd+o=";
 
   doCheck = false;
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
+  ldflags = [ "-s" "-w" "-X main.version=${version}" ];
 
   subPackages = [ "." ];
 
diff --git a/nixpkgs/pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix b/nixpkgs/pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix
index 23bd3dd3267f..3a356b36be9a 100644
--- a/nixpkgs/pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix
+++ b/nixpkgs/pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix
@@ -1,4 +1,4 @@
-{ lib, supportedGhcVersions ? [ "884" "8104" ], stdenv, haskellPackages
+{ lib, supportedGhcVersions ? [ "884" "8107" ], stdenv, haskellPackages
 , haskell }:
 #
 # The recommended way to override this package is
diff --git a/nixpkgs/pkgs/development/tools/haskell/vaultenv/default.nix b/nixpkgs/pkgs/development/tools/haskell/vaultenv/default.nix
index 8c817e8eeef0..451dec8a22c1 100644
--- a/nixpkgs/pkgs/development/tools/haskell/vaultenv/default.nix
+++ b/nixpkgs/pkgs/development/tools/haskell/vaultenv/default.nix
@@ -6,11 +6,11 @@
 }:
 mkDerivation rec {
   pname = "vaultenv";
-  version = "0.13.1";
+  version = "0.13.3";
 
   src = fetchzip {
     url = "https://github.com/channable/vaultenv/archive/v${version}.tar.gz";
-    sha256 = "0ycf5skxjns77sgbm8faq9ps9rs2hqznsbzrd51hdkpak56k42cp";
+    sha256 = "sha256-17tdlqG8z4GviI7kkLbktC6SqnQFDdZhWtejscG0n48=";
   };
 
   buildTools = [ hpack ];
diff --git a/nixpkgs/pkgs/development/tools/hcloud/default.nix b/nixpkgs/pkgs/development/tools/hcloud/default.nix
index 2ad3bcbf9a7d..f77e3832fe78 100644
--- a/nixpkgs/pkgs/development/tools/hcloud/default.nix
+++ b/nixpkgs/pkgs/development/tools/hcloud/default.nix
@@ -2,22 +2,22 @@
 
 buildGoModule rec {
   pname = "hcloud";
-  version = "1.21.0";
+  version = "1.27.0";
 
   src = fetchFromGitHub {
     owner = "hetznercloud";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-zXlsvuc778z1sxnv02mFJXQzkEEft0BdubWecvcytYg=";
+    sha256 = "sha256-bvPMSys2EY8cMNQ3rG4WlXaI9k2JsEWQkMZnDgcNFhY=";
   };
 
   nativeBuildInputs = [ installShellFiles ];
 
-  vendorSha256 = "sha256-QdTD6xeVNswaaMms82rFYb5jLDhxL+wQgaLVXqROSFs=";
+  vendorSha256 = "sha256-/bqlDcv4lQ49NM849MTlna36ENfzUfcHtwuo75I77VQ=";
 
   doCheck = false;
 
-  buildFlagsArray = [ "-ldflags=-s -w -X github.com/hetznercloud/cli/cli.Version=${version}" ];
+  ldflags = [ "-s" "-w" "-X github.com/hetznercloud/cli/cli.Version=${version}" ];
 
   postInstall = ''
     for shell in bash zsh; do
diff --git a/nixpkgs/pkgs/development/tools/ijq/default.nix b/nixpkgs/pkgs/development/tools/ijq/default.nix
index 4165f9bd41c1..caac892bf122 100644
--- a/nixpkgs/pkgs/development/tools/ijq/default.nix
+++ b/nixpkgs/pkgs/development/tools/ijq/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "ijq";
-  version = "0.3.5";
+  version = "0.3.6";
 
   src = fetchFromSourcehut {
     owner = "~gpanders";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-0xLmjidPxjSkYmLI4lWieT2rswZsWBY/IUXFOrUFAMo=";
+    sha256 = "sha256-mPO3P+NGFIoHuvMFwj87S8H8LQx7QpfPy2zi91la2C0=";
   };
 
-  vendorSha256 = "sha256-7UuQXnQdlUMC0ZIgHydQ5bZMB5XrE7dhx5+1NI+zFkM=";
+  vendorSha256 = "sha256-HbrmfZ/P5bUF7Qio5L1sb/HAYk/tL2SOmxHCXvSw72I=";
 
   nativeBuildInputs = [ installShellFiles makeWrapper scdoc ];
 
@@ -31,6 +31,6 @@ buildGoModule rec {
     description = "Interactive wrapper for jq";
     homepage = "https://git.sr.ht/~gpanders/ijq";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ justinas ];
+    maintainers = with maintainers; [ justinas SuperSandro2000 ];
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/inferno/default.nix b/nixpkgs/pkgs/development/tools/inferno/default.nix
new file mode 100644
index 000000000000..9507c2fb4acd
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/inferno/default.nix
@@ -0,0 +1,31 @@
+{ fetchCrate, lib, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "inferno";
+  version = "0.10.7";
+
+  # github version doesn't have a Cargo.lock
+  src = fetchCrate {
+    inherit pname version;
+    sha256 = "0bzrwa87j56sv03frl0lp6izfxsldn0692g2vpwfndhrsm0gy8z9";
+  };
+
+  cargoSha256 = "1dvk1y1afqlmmqqdm91lg2wvny5q47yfjvmjzaryk2ic1s6g17b1";
+
+  # these tests depend on a patched version of flamegraph which is included in
+  # the github repository as a submodule, but absent from the crates version
+  checkFlags = [
+    "--skip=collapse::dtrace::tests::test_collapse_multi_dtrace"
+    "--skip=collapse::dtrace::tests::test_collapse_multi_dtrace_simple"
+    "--skip=collapse::perf::tests::test_collapse_multi_perf"
+    "--skip=collapse::perf::tests::test_collapse_multi_perf_simple"
+  ];
+
+  meta = with lib; {
+    description = "A port of parts of the flamegraph toolkit to Rust";
+    homepage = "https://github.com/jonhoo/inferno";
+    changelog = "https://github.com/jonhoo/inferno/blob/v${version}/CHANGELOG.md";
+    license = licenses.cddl;
+    maintainers = with maintainers; [ figsoda ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/java/java-language-server/default.nix b/nixpkgs/pkgs/development/tools/java/java-language-server/default.nix
new file mode 100644
index 000000000000..47054564f9b7
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/java/java-language-server/default.nix
@@ -0,0 +1,96 @@
+{ lib, stdenv, fetchFromGitHub
+, jdk, maven
+, runtimeShell, makeWrapper
+}:
+
+let
+  platform =
+    if stdenv.isLinux then "linux"
+    else if stdenv.isDarwin then "mac"
+    else if stdenv.isWindows then "windows"
+    else throw "unsupported platform";
+in
+stdenv.mkDerivation rec {
+  pname = "java-language-server";
+  version = "0.2.38";
+
+  src = fetchFromGitHub {
+    owner = "georgewfraser";
+    repo = pname;
+    # commit hash is used as owner sometimes forgets to set tags. See https://github.com/georgewfraser/java-language-server/issues/104
+    rev = "1dfdc54d1f1e57646a0ec9c0b3f4a4f094bd9f17";
+    sha256 = "sha256-zkbl/SLg09XK2ZhJNzWEtvFCQBRQ62273M/2+4HV1Lk=";
+  };
+
+  fetchedMavenDeps = stdenv.mkDerivation {
+    name = "java-language-server-${version}-maven-deps";
+    inherit src;
+    buildInputs = [ maven ];
+
+    buildPhase = ''
+      runHook preBuild
+
+      mvn package -Dmaven.repo.local=$out -DskipTests
+
+      runHook postBuild
+    '';
+
+    installPhase = ''
+      runHook preInstall
+
+      find $out -type f \
+        -name \*.lastUpdated -or \
+        -name resolver-status.properties -or \
+        -name _remote.repositories \
+        -delete
+
+      runHook postInstall
+    '';
+
+    dontFixup = true;
+    dontConfigure = true;
+    outputHashAlgo = "sha256";
+    outputHashMode = "recursive";
+    outputHash = "sha256-YkcQKmm8oeEH7uyUzV/qGoe4LiI6o5wZ7o69qrO3oCA=";
+  };
+
+
+  nativeBuildInputs = [ maven jdk makeWrapper ];
+
+  dontConfigure = true;
+  buildPhase = ''
+    runHook preBuild
+
+    jlink \
+      ${lib.optionalString (!stdenv.isDarwin) "--module-path './jdks/${platform}/jdk-13/jmods'"} \
+      --add-modules java.base,java.compiler,java.logging,java.sql,java.xml,jdk.compiler,jdk.jdi,jdk.unsupported,jdk.zipfs \
+      --output dist/${platform} \
+      --no-header-files \
+      --no-man-pages \
+      --compress 2
+
+    mvn package --offline -Dmaven.repo.local=${fetchedMavenDeps} -DskipTests
+
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/share/java/java-language-server
+    cp -r dist/classpath dist/*${platform}* $out/share/java/java-language-server
+
+    # a link is not used as lang_server_${platform}.sh makes use of "dirname $0" to access other files
+    makeWrapper $out/share/java/java-language-server/lang_server_${platform}.sh $out/bin/java-language-server
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "A Java language server based on v3.0 of the protocol and implemented using the Java compiler API";
+    homepage = "https://github.com/georgewfraser/java-language-server";
+    license = licenses.mit;
+    maintainers = with maintainers; [ hqurve ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/java/visualvm/default.nix b/nixpkgs/pkgs/development/tools/java/visualvm/default.nix
index c0082f463057..0eb39f850112 100644
--- a/nixpkgs/pkgs/development/tools/java/visualvm/default.nix
+++ b/nixpkgs/pkgs/development/tools/java/visualvm/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchzip, lib, makeWrapper, makeDesktopItem, jdk, gawk }:
 
 stdenv.mkDerivation rec {
-  version = "2.0.7";
+  version = "2.1";
   pname = "visualvm";
 
   src = fetchzip {
     url = "https://github.com/visualvm/visualvm.src/releases/download/${version}/visualvm_${builtins.replaceStrings ["."] [""]  version}.zip";
-    sha256 = "sha256-IbiyrP3rIj3VToav1bhKnje0scEPSyLwsyclpW7nB+U=";
+    sha256 = "sha256-faKBYwyBGrMjNMO/0XzQIG+XI1p783p26Bpoj+mSY7s=";
   };
 
   desktopItem = makeDesktopItem {
diff --git a/nixpkgs/pkgs/development/tools/jbang/default.nix b/nixpkgs/pkgs/development/tools/jbang/default.nix
index b0d2cb719533..c09344d8d53d 100644
--- a/nixpkgs/pkgs/development/tools/jbang/default.nix
+++ b/nixpkgs/pkgs/development/tools/jbang/default.nix
@@ -1,12 +1,12 @@
 { stdenv, lib, fetchzip, jdk, makeWrapper, coreutils, curl }:
 
 stdenv.mkDerivation rec {
-  version = "0.72.0";
+  version = "0.78.0";
   pname = "jbang";
 
   src = fetchzip {
     url = "https://github.com/jbangdev/jbang/releases/download/v${version}/${pname}-${version}.tar";
-    sha256 = "sha256-QMbkxfGJOMNTILmGYhbUdtq4zfe0Cc/IBftFdM+rT9c=";
+    sha256 = "sha256-03CuKNQtKdhD6fFYfsmeNR18oRGL5vWG7Lb+srNw8XU=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/development/tools/jq/default.nix b/nixpkgs/pkgs/development/tools/jq/default.nix
index feeb22e1d441..7206a6d7d24a 100644
--- a/nixpkgs/pkgs/development/tools/jq/default.nix
+++ b/nixpkgs/pkgs/development/tools/jq/default.nix
@@ -1,5 +1,11 @@
-{ lib, stdenv, fetchpatch, fetchFromGitHub, autoreconfHook
-, onigurumaSupport ? true, oniguruma }:
+{ lib
+, stdenv
+, fetchpatch
+, fetchFromGitHub
+, autoreconfHook
+, onigurumaSupport ? true
+, oniguruma
+}:
 
 stdenv.mkDerivation rec {
   pname = "jq";
@@ -46,8 +52,8 @@ stdenv.mkDerivation rec {
     "--datadir=\${doc}/share"
     "--mandir=\${man}/share/man"
   ] ++ lib.optional (!onigurumaSupport) "--with-oniguruma=no"
-    # jq is linked to libjq:
-    ++ lib.optional (!stdenv.isDarwin) "LDFLAGS=-Wl,-rpath,\\\${libdir}";
+  # jq is linked to libjq:
+  ++ lib.optional (!stdenv.isDarwin) "LDFLAGS=-Wl,-rpath,\\\${libdir}";
 
   doInstallCheck = true;
   installCheckTarget = "check";
@@ -63,8 +69,8 @@ stdenv.mkDerivation rec {
     description = "A lightweight and flexible command-line JSON processor";
     license = licenses.mit;
     maintainers = with maintainers; [ raskin globin ];
-    platforms = with platforms; linux ++ darwin;
-    downloadPage = "http://stedolan.github.io/jq/download/";
+    platforms = platforms.unix;
+    downloadPage = "https://stedolan.github.io/jq/download/";
     updateWalker = true;
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/jsduck/default.nix b/nixpkgs/pkgs/development/tools/jsduck/default.nix
index 15a3a6834034..5c11b87f76ff 100644
--- a/nixpkgs/pkgs/development/tools/jsduck/default.nix
+++ b/nixpkgs/pkgs/development/tools/jsduck/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     gemset = ./gemset.nix;
   };
 
-  phases = [ "installPhase" ];
+  dontUnpack = true;
 
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ env ];
diff --git a/nixpkgs/pkgs/development/tools/jsonnet-bundler/default.nix b/nixpkgs/pkgs/development/tools/jsonnet-bundler/default.nix
index 4286a454ff02..87da63f0f354 100644
--- a/nixpkgs/pkgs/development/tools/jsonnet-bundler/default.nix
+++ b/nixpkgs/pkgs/development/tools/jsonnet-bundler/default.nix
@@ -15,7 +15,7 @@ buildGoModule rec {
 
   subPackages = [ "cmd/jb" ];
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.Version=${version}" ];
+  ldflags = [ "-s" "-w" "-X main.Version=${version}" ];
 
   meta = with lib; {
     description = "A jsonnet package manager";
diff --git a/nixpkgs/pkgs/development/tools/just/default.nix b/nixpkgs/pkgs/development/tools/just/default.nix
index d7a2e7338592..f9121e1e206f 100644
--- a/nixpkgs/pkgs/development/tools/just/default.nix
+++ b/nixpkgs/pkgs/development/tools/just/default.nix
@@ -2,20 +2,25 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "just";
-  version = "0.9.8";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "casey";
     repo = pname;
     rev = version;
-    sha256 = "sha256-WT3r6qw/lCZy6hdfAJmoAgUqjSLPVT8fKX4DnqDnhOs=";
+    sha256 = "sha256-dolx2P7bnGiK3azMkwj75+ZA3qYr3rCUSLhMPtK85zA=";
   };
-
-  cargoSha256 = "sha256-0R/9VndP/Oh5/yP7NsBC25jiCSRVNEXhbVksElLXeEc=";
+  cargoSha256 = "sha256-GPetK2uGB4HIPr/3DdTA0HNHELS8V1MqPtpgilubo9k=";
 
   nativeBuildInputs = [ installShellFiles ];
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
 
+  postPatch = ''
+    # this hard codes the compiler, which breaks the aarch64 in particular
+    # we rather want to set the compiler ourself
+    rm .cargo/config
+  '';
+
   postInstall = ''
     installManPage man/just.1
 
@@ -48,6 +53,9 @@ rustPlatform.buildRustPackage rec {
   checkFlags = [
     "--skip=edit" # trying to run "vim" fails as there's no /usr/bin/env or which in the sandbox to find vim and the dependency is not easily patched
     "--skip=run_shebang" # test case very rarely fails with "Text file busy"
+    "--skip=invoke_error_function" # wants JUST_CHOOSER to be fzf
+    "--skip=status_error" # "exit status" instead of "exit code"
+    "--skip=exit_status" # "exit status" instead of "exit code"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/tools/kafkacat/default.nix b/nixpkgs/pkgs/development/tools/kafkacat/default.nix
index 5493bf24428d..b60c36df7254 100644
--- a/nixpkgs/pkgs/development/tools/kafkacat/default.nix
+++ b/nixpkgs/pkgs/development/tools/kafkacat/default.nix
@@ -3,13 +3,13 @@
 stdenv.mkDerivation rec {
   pname = "kafkacat";
 
-  version = "1.6.0";
+  version = "1.7.0";
 
   src = fetchFromGitHub {
     owner = "edenhill";
     repo = "kafkacat";
     rev = version;
-    sha256 = "0z3bw00s269myfd1xqksjyznmgp74xfs09xqlq347adsgby3cmfs";
+    sha256 = "sha256-koDhj/RQc9fhfqjrJylhURw6tppPELhLlBGbNVJsii8=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/nixpkgs/pkgs/development/tools/kind/default.nix b/nixpkgs/pkgs/development/tools/kind/default.nix
index 88bc30943c38..e667238b9b09 100644
--- a/nixpkgs/pkgs/development/tools/kind/default.nix
+++ b/nixpkgs/pkgs/development/tools/kind/default.nix
@@ -13,6 +13,11 @@ buildGoModule rec {
     sha256 = "sha256-pjg52ONseKNw06EOBzD6Elge+Cz+C3llPvjJPHkn1cw=";
   };
 
+  patches = [
+    # fix kernel module path used by kind
+    ./kernel-module-path.patch
+  ];
+
   vendorSha256 = "sha256-HiVdekSZrC/RkMSvcwm1mv6AE4bA5kayUsMdVCbckiE=";
 
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/tools/kind/kernel-module-path.patch b/nixpkgs/pkgs/development/tools/kind/kernel-module-path.patch
new file mode 100644
index 000000000000..833cd3388ec2
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/kind/kernel-module-path.patch
@@ -0,0 +1,47 @@
+diff --git a/pkg/cluster/internal/providers/common/getmodules.go b/pkg/cluster/internal/providers/common/getmodules.go
+new file mode 100644
+index 00000000..f42a883d
+--- /dev/null
++++ b/pkg/cluster/internal/providers/common/getmodules.go
+@@ -0,0 +1,15 @@
++package common
++
++import "os"
++
++const (
++	fhsKernalModulePath = "/lib/modules"
++	nixKernalModulePath = "/run/booted-system/kernel-modules/lib"
++)
++
++func GetKernelModulePath() string {
++	if _, err := os.Stat(nixKernalModulePath); !os.IsNotExist(err) {
++		return nixKernalModulePath
++	}
++	return fhsKernalModulePath
++}
+diff --git a/pkg/cluster/internal/providers/docker/provision.go b/pkg/cluster/internal/providers/docker/provision.go
+index 50161861..86d5b7b6 100644
+--- a/pkg/cluster/internal/providers/docker/provision.go
++++ b/pkg/cluster/internal/providers/docker/provision.go
+@@ -242,7 +242,7 @@ func runArgsForNode(node *config.Node, clusterIPFamily config.ClusterIPFamily, n
+ 		// (please don't depend on doing this though!)
+ 		"--volume", "/var",
+ 		// some k8s things want to read /lib/modules
+-		"--volume", "/lib/modules:/lib/modules:ro",
++		"--volume", fmt.Sprintf("%s:/lib/modules:ro", common.GetKernelModulePath()),
+ 	},
+ 		args...,
+ 	)
+diff --git a/pkg/cluster/internal/providers/podman/provision.go b/pkg/cluster/internal/providers/podman/provision.go
+index 51dce486..3bc36b42 100644
+--- a/pkg/cluster/internal/providers/podman/provision.go
++++ b/pkg/cluster/internal/providers/podman/provision.go
+@@ -205,7 +205,7 @@ func runArgsForNode(node *config.Node, clusterIPFamily config.ClusterIPFamily, n
+ 		// dev: devices on the volume will be able to be used by processes within the container
+ 		"--volume", fmt.Sprintf("%s:/var:suid,exec,dev", varVolume),
+ 		// some k8s things want to read /lib/modules
+-		"--volume", "/lib/modules:/lib/modules:ro",
++		"--volume", fmt.Sprintf("%s:/lib/modules:ro", common.GetKernelModulePath()),
+ 	},
+ 		args...,
+ 	)
diff --git a/nixpkgs/pkgs/development/tools/knightos/regenkfs/default.nix b/nixpkgs/pkgs/development/tools/knightos/regenkfs/default.nix
new file mode 100644
index 000000000000..1e8b992dfe09
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/knightos/regenkfs/default.nix
@@ -0,0 +1,23 @@
+{ lib, fetchFromGitHub, rustPlatform }:
+
+rustPlatform.buildRustPackage {
+  pname = "regenkfs";
+  version = "unstable-2020-10-17";
+
+  src = fetchFromGitHub {
+    owner = "siraben";
+    repo = "regenkfs";
+    rev = "652155445fc39bbe6628f6b9415b5cd6863f592f";
+    sha256 = "sha256-zkwOpMNPGstn/y1l1s8blUKpBebY4Ta9hiPYxVLvG6Y=";
+  };
+
+  cargoSha256 = "sha256-05VmQdop4vdzw2XEvVdp9+RNmyZvay1Q7gKN2n8rDEQ=";
+  cargoBuildFlags = [ "--features=c-undef" ];
+
+  meta = with lib; {
+    description = "Reimplementation of genkfs in Rust";
+    homepage = "https://github.com/siraben/regenkfs";
+    license = licenses.mit;
+    maintainers = with maintainers; [ siraben ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/knightos/remkrom/default.nix b/nixpkgs/pkgs/development/tools/knightos/remkrom/default.nix
new file mode 100644
index 000000000000..837006d1bf8d
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/knightos/remkrom/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, lib, fetchFromGitHub, rustPlatform }:
+
+rustPlatform.buildRustPackage {
+  pname = "remkrom";
+  version = "unstable-2020-10-17";
+
+  src = fetchFromGitHub {
+    owner = "siraben";
+    repo = "remkrom";
+    rev = "86a0b19c1d382a029ecaa96eeca7e9f76c8561d6";
+    sha256 = "sha256-DhfNfV9bd0p5dLXKgrVLyugQHK+RHsepeg0tGq5J6cI=";
+  };
+
+  cargoSha256 = "sha256-JUyIbg1SxQ7pdqypGv7Kz2MM0ZwL3M9YJekO9oSftLM=";
+
+  meta = with lib; {
+    description = "Reimplementation of mkrom in Rust";
+    homepage = "https://github.com/siraben/remkrom";
+    license = licenses.mit;
+    maintainers = with maintainers; [ siraben ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/ko/default.nix b/nixpkgs/pkgs/development/tools/ko/default.nix
index 4754a32db825..614b5d4c9df4 100644
--- a/nixpkgs/pkgs/development/tools/ko/default.nix
+++ b/nixpkgs/pkgs/development/tools/ko/default.nix
@@ -2,6 +2,7 @@
 , buildGoModule
 , fetchFromGitHub
 , git
+, installShellFiles
 }:
 
 buildGoModule rec {
@@ -14,18 +15,37 @@ buildGoModule rec {
     rev = "v${version}";
     sha256 = "sha256-LoOXZY4uF7GSS3Dh/ozCsLJTxgmPmZZuEisJ4ShjCBc=";
   };
-
   vendorSha256 = null;
-  excludedPackages = "test";
+  # Don't build the legacy main.go or test dir
+  excludedPackages = "\\(cmd/ko\\|test\\)";
+  nativeBuildInputs = [ installShellFiles ];
+
+  ldflags = [ "-s" "-w" "-X github.com/google/ko/pkg/commands.Version=${version}" ];
+
   checkInputs = [ git ];
   preCheck = ''
+    # resolves some complaints from ko
+    export GOROOT="$(go env GOROOT)"
     git init
   '';
 
+  postInstall = ''
+    installShellCompletion --cmd ko \
+      --bash <($out/bin/ko completion) \
+      --zsh <($out/bin/ko completion --zsh)
+  '';
+
   meta = with lib; {
-    description = "A simple, fast container image builder for Go applications.";
     homepage = "https://github.com/google/ko";
+    changelog = "https://github.com/google/ko/releases/tag/v${version}";
+    description = "Build and deploy Go applications on Kubernetes";
+    longDescription = ''
+      ko is a simple, fast container image builder for Go applications.
+      It's ideal for use cases where your image contains a single Go application without any/many dependencies on the OS base image (e.g. no cgo, no OS package dependencies).
+      ko builds images by effectively executing go build on your local machine, and as such doesn't require docker to be installed. This can make it a good fit for lightweight CI/CD use cases.
+      ko also includes support for simple YAML templating which makes it a powerful tool for Kubernetes applications.
+    '';
     license = licenses.asl20;
-    maintainers = with maintainers; [ nickcao ];
+    maintainers = with maintainers; [ nickcao jk ];
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/konstraint/default.nix b/nixpkgs/pkgs/development/tools/konstraint/default.nix
new file mode 100644
index 000000000000..db9edf3b6d35
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/konstraint/default.nix
@@ -0,0 +1,32 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "konstraint";
+  version = "0.14.2";
+
+  src = fetchFromGitHub {
+    owner = "plexsystems";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-ESkRycS+ObLaDkb28kvi9Wtc4Lc66qHFz0DYMjEa5eE=";
+  };
+  vendorSha256 = "sha256-uvDYUm6REL1hvj77P/+1fMCE1n6ZUP6rp0ma8O2bVkU=";
+
+  # Exclude go within .github folder
+  excludedPackages = ".github";
+
+  ldflags = [ "-s" "-w" "-X github.com/plexsystems/konstraint/internal/commands.version=${version}" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/plexsystems/konstraint";
+    changelog = "https://github.com/plexsystems/konstraint/releases/tag/v${version}";
+    description = "A policy management tool for interacting with Gatekeeper";
+    longDescription = ''
+      konstraint is a CLI tool to assist with the creation and management of templates and constraints when using
+      Gatekeeper. Automatically copy Rego to the ConstraintTemplate. Automatically update all ConstraintTemplates with
+      library changes. Enable writing the same policies for Conftest and Gatekeeper.
+    '';
+    license = licenses.mit;
+    maintainers = with maintainers; [ jk ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/krankerl/default.nix b/nixpkgs/pkgs/development/tools/krankerl/default.nix
index 8697f81a9da6..c44677235d95 100644
--- a/nixpkgs/pkgs/development/tools/krankerl/default.nix
+++ b/nixpkgs/pkgs/development/tools/krankerl/default.nix
@@ -12,16 +12,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "krankerl";
-  version = "0.13.1";
+  version = "0.13.2";
 
   src = fetchFromGitHub {
     owner = "ChristophWurst";
     repo = "krankerl";
     rev = "v${version}";
-    sha256 = "sha256-uIFcWHdW8887CDkFxZznh9akYs+vxsE9Bc9g1hKi7Kc=";
+    sha256 = "sha256-Kol39AtM5m6FC+s5SDbQhWuASkGbeXPlmSGb7axEuK8=";
   };
 
-  cargoSha256 = "sha256-6joHwz0HIVbta8ALvsJLMvmeDh9IFPR4Cx36H63MliI=";
+  cargoSha256 = "sha256-bPcKe3vE3VIjLJ4iYdF3Gt0sID09gRpxG5TpTGWhnPs=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/nixpkgs/pkgs/development/tools/ktlint/default.nix b/nixpkgs/pkgs/development/tools/ktlint/default.nix
index 61b4a570b815..9a6b16fd4308 100644
--- a/nixpkgs/pkgs/development/tools/ktlint/default.nix
+++ b/nixpkgs/pkgs/development/tools/ktlint/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ktlint";
-  version = "0.41.0";
+  version = "0.42.1";
 
   src = fetchurl {
     url = "https://github.com/pinterest/ktlint/releases/download/${version}/ktlint";
-    sha256 = "10z1010k25i40iv7v339csmbs83hmwjv1004jikckb78wncd12s3";
+    sha256 = "sha256-ASQuMWH6stUupJkfOpzVMs+c+xq7OWbVxGh6IY2zd70=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/development/tools/kube-aws/default.nix b/nixpkgs/pkgs/development/tools/kube-aws/default.nix
index 0e96683b06e8..e095755df110 100644
--- a/nixpkgs/pkgs/development/tools/kube-aws/default.nix
+++ b/nixpkgs/pkgs/development/tools/kube-aws/default.nix
@@ -22,9 +22,9 @@ buildGoPackage rec {
     go generate ./core/root/config
   )'';
 
-  buildFlagsArray = ''
-    -ldflags=-X github.com/coreos/kube-aws/core/controlplane/cluster.VERSION=v${version}
-  '';
+  ldflags = [
+    "-X github.com/coreos/kube-aws/core/controlplane/cluster.VERSION=v${version}"
+  ];
 
   meta = {
     description = "Tool for deploying kubernetes on aws using coreos";
diff --git a/nixpkgs/pkgs/development/tools/kubeprompt/default.nix b/nixpkgs/pkgs/development/tools/kubeprompt/default.nix
index 39cd59cbec6c..7b60e870958e 100644
--- a/nixpkgs/pkgs/development/tools/kubeprompt/default.nix
+++ b/nixpkgs/pkgs/development/tools/kubeprompt/default.nix
@@ -11,12 +11,10 @@ buildGoModule rec {
     sha256 = "1a0xi31bd7n2zrx2z4srhvixlbj028h63dlrjzqxgmgn2w6akbz2";
   };
 
-  preBuild = ''
-    export buildFlagsArray+=(
-      "-ldflags=
-        -w -s
-        -X github.com/jlesquembre/kubeprompt/pkg/version.Version=${version}")
-  '';
+  ldflags = [
+    "-w" "-s"
+    "-X github.com/jlesquembre/kubeprompt/pkg/version.Version=${version}"
+  ];
 
   vendorSha256 = "089lfkvyf00f05kkmr935jbrddf2c0v7m2356whqnz7ad6a2whsi";
 
diff --git a/nixpkgs/pkgs/development/tools/kubepug/default.nix b/nixpkgs/pkgs/development/tools/kubepug/default.nix
index 639e72edb8c1..df619086861d 100644
--- a/nixpkgs/pkgs/development/tools/kubepug/default.nix
+++ b/nixpkgs/pkgs/development/tools/kubepug/default.nix
@@ -13,9 +13,9 @@ buildGoModule rec {
 
   vendorSha256 = "0jzry4znq4kcl6i9jcawilyjm8av1zxbml6nlr96v8x47ijxav5j";
 
-  buildFlagsArray = ''
-    -ldflags=-s -w -X=github.com/rikatz/kubepug/version.Version=${src.rev}
-  '';
+  ldflags = [
+    "-s" "-w" "-X=github.com/rikatz/kubepug/version.Version=${src.rev}"
+  ];
 
   subPackages = [ "cmd/kubepug.go" ];
 
diff --git a/nixpkgs/pkgs/development/tools/kustomize/default.nix b/nixpkgs/pkgs/development/tools/kustomize/default.nix
index c2453c8ff163..36c425aef18f 100644
--- a/nixpkgs/pkgs/development/tools/kustomize/default.nix
+++ b/nixpkgs/pkgs/development/tools/kustomize/default.nix
@@ -2,22 +2,22 @@
 
 buildGoModule rec {
   pname = "kustomize";
-  version = "4.2.0";
+  version = "4.3.0";
   # rev is the commit of the tag, mainly for kustomize version command output
   rev = "9e8e7a7fe99ec9fbf801463e8607928322fc5245";
 
-  buildFlagsArray = let t = "sigs.k8s.io/kustomize/api/provenance"; in
-    ''
-      -ldflags=
-        -s -X ${t}.version=${version}
-           -X ${t}.gitCommit=${rev}
-    '';
+  ldflags = let t = "sigs.k8s.io/kustomize/api/provenance"; in
+    [
+      "-s"
+      "-X ${t}.version=${version}"
+      "-X ${t}.gitCommit=${rev}"
+    ];
 
   src = fetchFromGitHub {
     owner = "kubernetes-sigs";
     repo = pname;
     rev = "kustomize/v${version}";
-    sha256 = "sha256-mFF0Yc+j292oajY1i9SApnWaQnVoHxvkGCIurKC0t4o=";
+    sha256 = "sha256-Oo29/H1rWKOMNBIa8N/ih2Bfmclsn/kqv3il6c2muoQ=";
   };
 
   # TODO: Remove once https://github.com/kubernetes-sigs/kustomize/pull/3708 got merged.
@@ -26,7 +26,7 @@ buildGoModule rec {
   # avoid finding test and development commands
   sourceRoot = "source/kustomize";
 
-  vendorSha256 = "sha256-VMvXDIrg/BkuxZVDHvpfHY/hgwQGz2kw1/hu5lhcYEE=";
+  vendorSha256 = "sha256-oX+6cc5EO2RqK2O212iaW/6CMFCNdYzTpAaqDTFqX1A=";
 
   meta = with lib; {
     description = "Customization of kubernetes YAML configurations";
diff --git a/nixpkgs/pkgs/development/tools/kustomize/kustomize-sops.nix b/nixpkgs/pkgs/development/tools/kustomize/kustomize-sops.nix
index bea8a33a43d8..51c7d3340847 100644
--- a/nixpkgs/pkgs/development/tools/kustomize/kustomize-sops.nix
+++ b/nixpkgs/pkgs/development/tools/kustomize/kustomize-sops.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kustomize-sops";
-  version = "2.5.7";
+  version = "2.6.0";
 
   src = fetchFromGitHub {
     owner = "viaduct-ai";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-CtVFCpj6YZUAjeyRAPOkbd30Js1PSmzapB12SwKZisc=";
+    sha256 = "sha256-3dSWIDPIT4crsJuaB1TDfrUzobn8RfRlFAhqMXzZbKI=";
   };
 
-  vendorSha256 = "sha256-kNJkSivSj8LMeXobKazLy9MCTtWzrBn99GmvaH+qIUU=";
+  vendorSha256 = "sha256-+MVViFwaApGZZxCyTwLzIEWTZDbr7WSx7e/yGbJ309Y=";
 
   installPhase = ''
     mkdir -p $out/lib/viaduct.ai/v1/ksops-exec/
diff --git a/nixpkgs/pkgs/development/tools/lazygit/default.nix b/nixpkgs/pkgs/development/tools/lazygit/default.nix
index af33938c1a6f..21d9f9903d26 100644
--- a/nixpkgs/pkgs/development/tools/lazygit/default.nix
+++ b/nixpkgs/pkgs/development/tools/lazygit/default.nix
@@ -2,19 +2,19 @@
 
 buildGoModule rec {
   pname = "lazygit";
-  version = "0.28.2";
+  version = "0.29";
 
   src = fetchFromGitHub {
     owner = "jesseduffield";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-s5Ou0FhL9+2/xm7lKMG/3ya5P8idI0cgtJ28cV37pJQ=";
+    sha256 = "sha256-rw03K21Ay/+XKs06cUBybXLp8Rxrlz8T8YKrSGroyDU=";
   };
 
   vendorSha256 = null;
   subPackages = [ "." ];
 
-  buildFlagsArray = [ "-ldflags=-X main.version=${version} -X main.buildSource=nix" ];
+  ldflags = [ "-X main.version=${version}" "-X main.buildSource=nix" ];
 
   meta = with lib; {
     description = "Simple terminal UI for git commands";
diff --git a/nixpkgs/pkgs/development/tools/libsigrok/default.nix b/nixpkgs/pkgs/development/tools/libsigrok/default.nix
index 7f32b0bd7162..9db3df428232 100644
--- a/nixpkgs/pkgs/development/tools/libsigrok/default.nix
+++ b/nixpkgs/pkgs/development/tools/libsigrok/default.nix
@@ -1,10 +1,10 @@
 { lib, stdenv, fetchurl, pkg-config, libzip, glib, libusb1, libftdi1, check
-, libserialport, librevisa, doxygen, glibmm, python
-, version ? "0.5.1", sha256 ? "171b553dir5gn6w4f7n37waqk62nq2kf1jykx4ifjacdz5xdw3z4"
+, libserialport, librevisa, doxygen, glibmm, python3
+, version ? "0.5.1", sha256 ? "171b553dir5gn6w4f7n37waqk62nq2kf1jykx4ifjacdz5xdw3z4", doInstallCheck ? true
 }:
 
 stdenv.mkDerivation rec {
-  inherit version;
+  inherit version doInstallCheck;
   pname = "libsigrok";
 
   src = fetchurl {
@@ -17,21 +17,28 @@ stdenv.mkDerivation rec {
     sha256 = "14sd8xqph4kb109g073daiavpadb20fcz7ch1ipn0waz7nlly4sw";
   };
 
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ libzip glib libusb1 libftdi1 check libserialport
-    librevisa doxygen glibmm python
-  ];
+  nativeBuildInputs = [ doxygen pkg-config python3 ];
+  buildInputs = [ libzip glib libusb1 libftdi1 check libserialport librevisa glibmm ];
+
+  strictDeps = true;
 
   postInstall = ''
     mkdir -p "$out/share/sigrok-firmware/"
     tar --strip-components=1 -xvf "${firmware}" -C "$out/share/sigrok-firmware/"
   '';
 
+  installCheckPhase = ''
+    # assert that c++ bindings are included
+    # note that this is only true for modern (>0.5) versions; the 0.3 series does not have these
+    [[ -f $out/include/libsigrokcxx/libsigrokcxx.hpp ]] \
+      || { echo 'C++ bindings were not generated; check configure output'; false; }
+  '';
+
   meta = with lib; {
     description = "Core library of the sigrok signal analysis software suite";
     homepage = "https://sigrok.org/";
     license = licenses.gpl3Plus;
     platforms = platforms.linux ++ platforms.darwin;
-    maintainers = [ maintainers.bjornfor ];
+    maintainers = with maintainers; [ bjornfor ];
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/libsigrokdecode/default.nix b/nixpkgs/pkgs/development/tools/libsigrokdecode/default.nix
index 7c8ad17c5a08..06b5f5c35bba 100644
--- a/nixpkgs/pkgs/development/tools/libsigrokdecode/default.nix
+++ b/nixpkgs/pkgs/development/tools/libsigrokdecode/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, pkg-config, glib, python3, libsigrok, check }:
+{ lib, stdenv, fetchurl, pkg-config, glib, python3, check }:
 
 stdenv.mkDerivation rec {
   pname = "libsigrokdecode";
@@ -10,7 +10,9 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ glib python3 libsigrok check ];
+  buildInputs = [ glib python3 ];
+  checkInputs = [ check ];
+  doCheck = true;
 
   meta = with lib; {
     description = "Protocol decoding library for the sigrok signal analysis software suite";
diff --git a/nixpkgs/pkgs/development/tools/luaformatter/default.nix b/nixpkgs/pkgs/development/tools/luaformatter/default.nix
index 064ef8453d25..5fb82b0fb4c9 100644
--- a/nixpkgs/pkgs/development/tools/luaformatter/default.nix
+++ b/nixpkgs/pkgs/development/tools/luaformatter/default.nix
@@ -1,30 +1,33 @@
-{ cmake, fetchFromGitHub, lib, stdenv }:
+{ lib, stdenv, fetchFromGitHub, substituteAll, antlr4, libargs, catch2, cmake, libyamlcpp }:
 
 stdenv.mkDerivation rec {
   pname = "luaformatter";
   version = "1.3.6";
 
   src = fetchFromGitHub {
-    owner = "koihik";
-    repo = "luaformatter";
+    owner = "Koihik";
+    repo = "LuaFormatter";
     rev = version;
-    sha256 = "0440kdab5i0vhlk71sbprdrhg362al8jqpy7w2vdhcz1fpi5cm0b";
-    fetchSubmodules = true;
+    sha256 = "14l1f9hrp6m7z3cm5yl0njba6gfixzdirxjl8nihp9val0685vm0";
   };
 
+  patches = [
+    (substituteAll {
+      src = ./fix-lib-paths.patch;
+      antlr4RuntimeCpp = antlr4.runtime.cpp.dev;
+      inherit libargs catch2 libyamlcpp;
+    })
+  ];
+
   nativeBuildInputs = [ cmake ];
 
-  installPhase = ''
-    runHook preInstall
-    mkdir -p $out/bin
-    cp lua-format $out/bin
-    runHook postInstall
-  '';
+  buildInputs = [ antlr4.runtime.cpp libyamlcpp ];
 
   meta = with lib; {
-    description = "Code formatter for lua";
-    homepage = "https://github.com/koihik/luaformatter";
+    description = "Code formatter for Lua";
+    homepage = "https://github.com/Koihik/LuaFormatter";
     license = licenses.asl20;
-    maintainers = with maintainers; [ figsoda ];
+    maintainers = with maintainers; [ figsoda SuperSandro2000 ];
+    mainProgram = "lua-format";
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/luaformatter/fix-lib-paths.patch b/nixpkgs/pkgs/development/tools/luaformatter/fix-lib-paths.patch
new file mode 100644
index 000000000000..fce2347d8e0e
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/luaformatter/fix-lib-paths.patch
@@ -0,0 +1,67 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 4a21b94..0ac7911 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -67,10 +67,10 @@ endif()
+ 
+ include_directories(
+   ${PROJECT_SOURCE_DIR}/generated/
+-  ${PROJECT_SOURCE_DIR}/third_party/
+-  ${PROJECT_SOURCE_DIR}/third_party/Catch2/single_include
+-  ${PROJECT_SOURCE_DIR}/third_party/yaml-cpp/include
+-  ${PROJECT_SOURCE_DIR}/third_party/antlr4/runtime/Cpp/runtime/src
++  @libargs@/include
++  @catch2@/include
++  @libyamlcpp@/include
++  @antlr4RuntimeCpp@/include/antlr4-runtime
+   ${PROJECT_SOURCE_DIR}/src/
+   )
+ 
+@@ -92,9 +92,6 @@ file(GLOB_RECURSE yaml-cpp-src
+   ${PROJECT_SOURCE_DIR}/third_party/yaml-cpp/src/*.cpp
+   )
+ 
+-add_library (antlr4-cpp-runtime ${antlr4-cpp-src})
+-add_library (yaml-cpp ${yaml-cpp-src})
+-
+ add_executable(lua-format ${src_dir} src/main.cpp)
+ 
+ if(WIN32)
+@@ -104,7 +101,7 @@ endif()
+ 
+ set_target_properties(lua-format PROPERTIES LINKER_LANGUAGE CXX)
+ 
+-target_link_libraries(lua-format yaml-cpp antlr4-cpp-runtime ${extra-libs})
++target_link_libraries(lua-format yaml-cpp antlr4-runtime ${extra-libs})
+ 
+ install(TARGETS lua-format
+   RUNTIME DESTINATION bin
+@@ -135,7 +132,7 @@ if(BUILD_TESTS)
+   endif()
+ 
+   target_compile_definitions(lua-format-test PUBLIC PROJECT_PATH="${PROJECT_SOURCE_DIR}")
+-  target_link_libraries(lua-format-test yaml-cpp antlr4-cpp-runtime ${extra-libs})
++  target_link_libraries(lua-format-test yaml-cpp antlr4-runtime ${extra-libs})
+ 
+   add_test(NAME args COMMAND lua-format-test [args])
+   add_test(NAME config COMMAND lua-format-test [config])
+diff --git a/src/main.cpp b/src/main.cpp
+index 38962a2..332aad6 100644
+--- a/src/main.cpp
++++ b/src/main.cpp
+@@ -1,4 +1,4 @@
+-#include <args/args.hxx>
++#include <args.hxx>
+ #include <cstdlib>
+ #include <fstream>
+ #include <iostream>
+diff --git a/test/test_args.cpp b/test/test_args.cpp
+index 69a5746..b988d00 100644
+--- a/test/test_args.cpp
++++ b/test/test_args.cpp
+@@ -1,4 +1,4 @@
+-#include <args/args.hxx>
++#include <args.hxx>
+ #include <catch2/catch.hpp>
+ #include <iostream>
+ #include <tuple>
diff --git a/nixpkgs/pkgs/development/tools/mars-mips/default.nix b/nixpkgs/pkgs/development/tools/mars-mips/default.nix
new file mode 100644
index 000000000000..6bca1fa64eee
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/mars-mips/default.nix
@@ -0,0 +1,49 @@
+{ lib, stdenvNoCC, fetchurl, makeWrapper, copyDesktopItems, makeDesktopItem, unzip, imagemagick, jre }:
+
+stdenvNoCC.mkDerivation rec {
+  pname = "mars-mips";
+  version = "4.5";
+
+  src = fetchurl {
+    url = "https://courses.missouristate.edu/KenVollmar/MARS/MARS_${lib.replaceStrings ["."] ["_"] version}_Aug2014/Mars${lib.replaceStrings ["."] ["_"] version}.jar";
+    sha256 = "15kh1fahkkbbf4wvb6ijzny4fi5dh4pycxyzp5325dm2ddkhnd5c";
+  };
+
+  dontUnpack = true;
+
+  nativeBuildInputs = [ makeWrapper copyDesktopItems unzip imagemagick ];
+
+  desktopItems = [
+    (makeDesktopItem {
+      name = pname;
+      desktopName = "MARS";
+      exec = "mars-mips";
+      icon = "mars-mips";
+      comment = "An IDE for programming in MIPS assembly language";
+      categories = "Development;IDE;";
+    })
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    export JAR=$out/share/java/${pname}/${pname}.jar
+    install -D $src $JAR
+    makeWrapper ${jre}/bin/java $out/bin/${pname} \
+      --add-flags "-jar $JAR"
+
+    unzip ${src} images/MarsThumbnail.gif
+    mkdir -p $out/share/pixmaps
+    convert images/MarsThumbnail.gif $out/share/pixmaps/mars-mips.png
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "An IDE for programming in MIPS assembly language intended for educational-level use";
+    homepage = "https://courses.missouristate.edu/KenVollmar/MARS/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ angustrau ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/mdk/default.nix b/nixpkgs/pkgs/development/tools/mdk/default.nix
index df55c44f5649..9c92764fdaf5 100644
--- a/nixpkgs/pkgs/development/tools/mdk/default.nix
+++ b/nixpkgs/pkgs/development/tools/mdk/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   pname = "gnu-mdk";
   version = "1.3.0";
   src = fetchurl {
-    url = "mirror://ftp.gnu.org/gnu/mdk/v${version}/mdk-${version}.tar.gz";
+    url = "mirror://gnu/gnu/mdk/v${version}/mdk-${version}.tar.gz";
     sha256 = "0bhk3c82kyp8167h71vdpbcr852h5blpnwggcswqqwvvykbms7lb";
   };
   nativeBuildInputs = [ pkg-config ];
diff --git a/nixpkgs/pkgs/development/tools/metals/default.nix b/nixpkgs/pkgs/development/tools/metals/default.nix
index b85ca99a9e60..7a53090e823c 100644
--- a/nixpkgs/pkgs/development/tools/metals/default.nix
+++ b/nixpkgs/pkgs/development/tools/metals/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "metals";
-  version = "0.10.4";
+  version = "0.10.5";
 
   deps = stdenv.mkDerivation {
     name = "${pname}-deps-${version}";
@@ -16,13 +16,13 @@ stdenv.mkDerivation rec {
     '';
     outputHashMode = "recursive";
     outputHashAlgo = "sha256";
-    outputHash     = "0pjgnm5argmc92872vblsz0pw2wniggvkw4w2346ps09ybdv9r3q";
+    outputHash     = "0n0y522izqlyls3sn2x6mdjy0pmhrl1kr7z5fqac6wrpgcsczf01";
   };
 
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ jdk deps ];
 
-  phases = [ "installPhase" ];
+  dontUnpack = true;
 
   extraJavaOpts = "-XX:+UseG1GC -XX:+UseStringDeduplication -Xss4m -Xms100m";
 
diff --git a/nixpkgs/pkgs/development/tools/minizinc/ide.nix b/nixpkgs/pkgs/development/tools/minizinc/ide.nix
index ef7dcb353215..3be33656431f 100644
--- a/nixpkgs/pkgs/development/tools/minizinc/ide.nix
+++ b/nixpkgs/pkgs/development/tools/minizinc/ide.nix
@@ -16,7 +16,6 @@ mkDerivation rec {
 
   sourceRoot = "source/MiniZincIDE";
 
-  enableParallelBuilding = true;
   dontWrapQtApps = true;
 
   postInstall = ''
diff --git a/nixpkgs/pkgs/development/tools/misc/act/default.nix b/nixpkgs/pkgs/development/tools/misc/act/default.nix
index 38520b4b3e56..88f75d70fccc 100644
--- a/nixpkgs/pkgs/development/tools/misc/act/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/act/default.nix
@@ -2,20 +2,20 @@
 
 buildGoModule rec {
   pname = "act";
-  version = "0.2.23";
+  version = "0.2.24";
 
   src = fetchFromGitHub {
     owner = "nektos";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-PBhlBWycAYuczfP0D+Gf1pDvrfI9gz3JyGe5FBq782Y=";
+    sha256 = "sha256-BWSw1yELxLDMUg2LxXuy+N0IRxLQYtVdzny1FGYVXEY=";
   };
 
   vendorSha256 = "sha256-dLIsVWN/PjcH0CUYRmn4YaF8Pczf/gaWhD3lulqGiuA=";
 
   doCheck = false;
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
+  ldflags = [ "-s" "-w" "-X main.version=${version}" ];
 
   meta = with lib; {
     description = "Run your GitHub Actions locally";
diff --git a/nixpkgs/pkgs/development/tools/misc/automake/automake-1.16.x.nix b/nixpkgs/pkgs/development/tools/misc/automake/automake-1.16.x.nix
index 48f01f8d0f67..042aff09a5fc 100644
--- a/nixpkgs/pkgs/development/tools/misc/automake/automake-1.16.x.nix
+++ b/nixpkgs/pkgs/development/tools/misc/automake/automake-1.16.x.nix
@@ -1,6 +1,7 @@
 { lib, stdenv, fetchurl, perl, autoconf }:
 
 stdenv.mkDerivation rec {
+  # When updating, beware of https://github.com/NixOS/nixpkgs/pull/131928#issuecomment-896614165
   name = "automake-1.16.3";
 
   src = fetchurl {
diff --git a/nixpkgs/pkgs/development/tools/misc/aviator/default.nix b/nixpkgs/pkgs/development/tools/misc/aviator/default.nix
new file mode 100644
index 000000000000..66b2ae450351
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/misc/aviator/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "aviator";
+  version = "1.8.1";
+
+  src = fetchFromGitHub {
+    owner = "herrjulz";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-Oa4z8n+q7LKWMnwk+xj9UunzOa3ChaPBCTo828yYJGQ=";
+  };
+
+  deleteVendor = true;
+  vendorSha256 = "sha256-rYOphvI1ZE8X5UExfgxHnWBn697SDkNnmxeY7ihIZ1s=";
+
+  meta = with lib; {
+    description = "Merge YAML/JSON files in a in a convenient fashion";
+    homepage = "https://github.com/herrjulz/aviator";
+    license = licenses.mit;
+    maintainers = with maintainers; [ risson ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/misc/binutils/bfd-elf-Dont-read-non-existing-secondary-relocs.patch b/nixpkgs/pkgs/development/tools/misc/binutils/bfd-elf-Dont-read-non-existing-secondary-relocs.patch
new file mode 100644
index 000000000000..c166066c9803
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/misc/binutils/bfd-elf-Dont-read-non-existing-secondary-relocs.patch
@@ -0,0 +1,26 @@
+X-Git-Url: https://sourceware.org/git/?p=binutils-gdb.git;a=blobdiff_plain;f=bfd%2Felf.c;h=af62aadc3d446cd5b1f0201b207c90c22e7809b1;hp=36733e080dd9d9be28b576b246aaf5bd8c8569c7;hb=84fd26d8209e99fc3a432dd0b09b6c053de1ce65;hpb=abe2a28aaa7a2bfd0f3061c72a98eb898976b721
+
+diff --git a/bfd/elf.c b/bfd/elf.c
+index 36733e080dd..af62aadc3d4 100644
+--- a/bfd/elf.c
++++ b/bfd/elf.c
+@@ -2454,6 +2454,8 @@ bfd_section_from_shdr (bfd *abfd, unsigned int shindex)
+ 		     "for section %pA found - ignoring"),
+ 		   abfd, name, target_sect);
+ 	      }
++	    else
++	      esdt->has_secondary_relocs = TRUE;
+ 	    goto success;
+ 	  }
+ 
+@@ -12587,6 +12589,9 @@ _bfd_elf_slurp_secondary_reloc_section (bfd *       abfd,
+ #endif
+     r_sym = elf32_r_sym;
+   
++  if (!elf_section_data (sec)->has_secondary_relocs)
++    return TRUE;
++
+   /* Discover if there are any secondary reloc sections
+      associated with SEC.  */
+   for (relsec = abfd->sections; relsec != NULL; relsec = relsec->next)
+
diff --git a/nixpkgs/pkgs/development/tools/misc/binutils/default.nix b/nixpkgs/pkgs/development/tools/misc/binutils/default.nix
index a4233886a854..7a06e290a966 100644
--- a/nixpkgs/pkgs/development/tools/misc/binutils/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/binutils/default.nix
@@ -61,6 +61,15 @@ stdenv.mkDerivation {
     # cross-compiling.
     ./always-search-rpath.patch
 
+    # Fix quadratic slowdown in `strip` performance.
+    # See #129467 and https://sourceware.org/bugzilla/show_bug.cgi?id=28058
+    # Remove when we're on binutils > 2.36.1.
+    # The patch is downloaded from
+    #     https://sourceware.org/git/?p=binutils-gdb.git;a=blobdiff_plain;f=bfd/elf.c;h=af62aadc3d446cd5b1f0201b207c90c22e7809b1;hp=36733e080dd9d9be28b576b246aaf5bd8c8569c7;hb=84fd26d8209e99fc3a432dd0b09b6c053de1ce65;hpb=abe2a28aaa7a2bfd0f3061c72a98eb898976b721
+    # which is the 2.36 backport (using `TRUE` instead of `true` of binutils master commit:
+    #     https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=956ea65cd707707c0f725930214cbc781367a831
+    ./bfd-elf-Dont-read-non-existing-secondary-relocs.patch
+
     ./CVE-2020-35448.patch
   ] ++ lib.optional stdenv.targetPlatform.isiOS ./support-ios.patch
     ++ # This patch was suggested by Nick Clifton to fix
diff --git a/nixpkgs/pkgs/development/tools/misc/c2ffi/default.nix b/nixpkgs/pkgs/development/tools/misc/c2ffi/default.nix
index b7a5b1dc7eb8..6db9557c6e1b 100644
--- a/nixpkgs/pkgs/development/tools/misc/c2ffi/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/c2ffi/default.nix
@@ -12,13 +12,13 @@ in
 
 llvmPackages.stdenv.mkDerivation {
   pname = "c2ffi-${c2ffiBranch}";
-  version = "unstable-2021-04-15";
+  version = "unstable-2021-06-15";
 
   src = fetchFromGitHub {
     owner = "rpav";
     repo = "c2ffi";
-    rev = "0255131f80b21334e565231331c2b451b6bba8c4";
-    sha256 = "0ihysgqjyg5xwi098hxf15lpdi6g4nwpzczp495is912c48fy6b6";
+    rev = "f50243926a0afb589de1078a073ac08910599582";
+    sha256 = "UstGicFzFY0/Jge5HGYTPwYSnh9OUBY5346ObZYfR54=";
   };
 
   passthru.updateScript = unstableGitUpdater {
diff --git a/nixpkgs/pkgs/development/tools/misc/ccache/default.nix b/nixpkgs/pkgs/development/tools/misc/ccache/default.nix
index 909a160c7eea..3b1b54e6547a 100644
--- a/nixpkgs/pkgs/development/tools/misc/ccache/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/ccache/default.nix
@@ -1,10 +1,9 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchpatch
 , substituteAll
 , binutils
-, asciidoc
+, asciidoctor
 , cmake
 , perl
 , zstd
@@ -15,13 +14,13 @@
 
 let ccache = stdenv.mkDerivation rec {
   pname = "ccache";
-  version = "4.3";
+  version = "4.4";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-ZBxDTMUZiZJLIYbvACTFwvlss+IZiMjiL0khfM5hFCM=";
+    hash = "sha256-ZewR1srksfKCxehhAg3i8m+0OvmOSF+24njbtcc1GQY=";
   };
 
   outputs = [ "out" "man" ];
@@ -35,16 +34,17 @@ let ccache = stdenv.mkDerivation rec {
       src = ./force-objdump-on-darwin.patch;
       objdump = "${binutils.bintools}/bin/objdump";
     })
-    # Fix clang C++ modules test (remove in next release)
-    (fetchpatch {
-      url = "https://github.com/ccache/ccache/commit/8b0c783ffc77d29a3e3520345b776a5c496fd892.patch";
-      sha256 = "13qllx0qhfrdila6bdij9lk74fhkm3vdj01zgq1ri6ffrv9lqrla";
-    })
   ];
 
-  nativeBuildInputs = [ asciidoc cmake perl ];
+  nativeBuildInputs = [ asciidoctor cmake perl ];
   buildInputs = [ zstd ];
 
+  cmakeFlags = [
+    # Build system does not autodetect redis library presence.
+    # Requires explicit flag.
+    "-DREDIS_STORAGE_BACKEND=OFF"
+  ];
+
   doCheck = true;
   checkInputs = [
     # test/run requires the compgen function which is available in
@@ -56,7 +56,7 @@ let ccache = stdenv.mkDerivation rec {
     runHook preCheck
     export HOME=$(mktemp -d)
     ctest --output-on-failure ${lib.optionalString stdenv.isDarwin ''
-      -E '^(test.nocpp2|test.basedir|test.multi_arch)$'
+      -E '^(test.nocpp2|test.basedir|test.multi_arch|test.trim_dir)$'
     ''}
     runHook postCheck
   '';
diff --git a/nixpkgs/pkgs/development/tools/misc/chruby/default.nix b/nixpkgs/pkgs/development/tools/misc/chruby/default.nix
index bcc0687f55b6..1aef6d52075f 100644
--- a/nixpkgs/pkgs/development/tools/misc/chruby/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/chruby/default.nix
@@ -19,8 +19,6 @@ in stdenv.mkDerivation rec {
     sha256 = "1894g6fymr8kra9vwhbmnrcr58l022mcd7g9ans4zd3izla2j3gx";
   };
 
-  phases = [ "unpackPhase" "patchPhase" "installPhase" "fixupPhase" ];
-
   patches = lib.optionalString (rubies != null) [
     ./env.patch
   ];
diff --git a/nixpkgs/pkgs/development/tools/misc/circleci-cli/default.nix b/nixpkgs/pkgs/development/tools/misc/circleci-cli/default.nix
index 2d5e77f79186..6ce86c44d7f9 100644
--- a/nixpkgs/pkgs/development/tools/misc/circleci-cli/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/circleci-cli/default.nix
@@ -2,20 +2,20 @@
 
 buildGoModule rec {
   pname = "circleci-cli";
-  version = "0.1.15149";
+  version = "0.1.15824";
 
   src = fetchFromGitHub {
     owner = "CircleCI-Public";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-pmLDCNgCQv4fetl/q6ZokH1qF6pSqsR0DUWbzGeEtaw=";
+    sha256 = "sha256-bTRtzjIm5NI89O09hMyiDVL4skkfg1C8/92IEDaIAak=";
   };
 
-  vendorSha256 = "sha256-j7VP/QKKMdmWQ60BYpChG4syDlll7CY4rb4wfb4+Z1s=";
+  vendorSha256 = "sha256-VOPXM062CZ6a6CJGzYTHav1OkyiH7XUHXWrRdGekaGQ=";
 
   doCheck = false;
 
-  buildFlagsArray = [ "-ldflags=-s -w -X github.com/CircleCI-Public/circleci-cli/version.Version=${version} -X github.com/CircleCI-Public/circleci-cli/version.Commit=${src.rev} -X github.com/CircleCI-Public/circleci-cli/version.packageManager=nix" ];
+  ldflags = [ "-s" "-w" "-X github.com/CircleCI-Public/circleci-cli/version.Version=${version}" "-X github.com/CircleCI-Public/circleci-cli/version.Commit=${src.rev}" "-X github.com/CircleCI-Public/circleci-cli/version.packageManager=nix" ];
 
   preBuild = ''
     substituteInPlace data/data.go \
diff --git a/nixpkgs/pkgs/development/tools/misc/coccinelle/default.nix b/nixpkgs/pkgs/development/tools/misc/coccinelle/default.nix
index 8534f1e2d85a..2d9aa55ed050 100644
--- a/nixpkgs/pkgs/development/tools/misc/coccinelle/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/coccinelle/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, lib, stdenv, python, ncurses, ocamlPackages, pkg-config }:
+{ fetchurl, lib, stdenv, python3, ncurses, ocamlPackages, pkg-config }:
 
 stdenv.mkDerivation rec {
   pname = "coccinelle";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   buildInputs = with ocamlPackages; [
     ocaml findlib menhir
     ocaml_pcre parmap stdcompat
-    python ncurses pkg-config
+    python3 ncurses pkg-config
   ];
 
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/tools/misc/cproto/default.nix b/nixpkgs/pkgs/development/tools/misc/cproto/default.nix
index 84890f166235..cfd2ed81e7c4 100644
--- a/nixpkgs/pkgs/development/tools/misc/cproto/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/cproto/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "cproto";
-  version = "4.7r";
+  version = "4.7s";
 
   src = fetchurl {
     urls = [
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
       # No version listings and apparently no versioned tarball over http(s).
       "ftp://ftp.invisible-island.net/cproto/cproto-${version}.tgz"
     ];
-    sha256 = "sha256-bgRg2yVZXHobUz8AUaV4ZKBkp2KjP+2oXbDXmPTUX8U=";
+    sha256 = "sha256-TGpZNahykQjRcUhgmwgDRQ/OFRWFiW+7gXhfHGEYQrg=";
   };
 
   # patch made by Joe Khoobyar copied from gentoo bugs
diff --git a/nixpkgs/pkgs/development/tools/misc/ddd/default.nix b/nixpkgs/pkgs/development/tools/misc/ddd/default.nix
index ca50deb504d3..ecb198d72480 100644
--- a/nixpkgs/pkgs/development/tools/misc/ddd/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/ddd/default.nix
@@ -10,14 +10,22 @@ stdenv.mkDerivation rec {
   buildInputs = [motif ncurses libX11 libXt];
   configureFlags = [ "--with-x" ];
 
-  patches = [ ./gcc44.patch ];
+  patches = [
+    # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=504868
+    ./gcc44.patch
+  ];
 
   NIX_CFLAGS_COMPILE = "-fpermissive";
 
+  postInstall = ''
+    install -D icons/ddd.xpm $out/share/pixmaps/ddd.xpm
+  '';
+
   meta = {
     homepage = "https://www.gnu.org/software/ddd";
     description = "Graphical front-end for command-line debuggers";
-    license = lib.licenses.gpl2;
+    license = lib.licenses.gpl3Plus;
     platforms = lib.platforms.linux;
+    maintainers = with lib.maintainers; [ angustrau ];
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/misc/distcc/masq.nix b/nixpkgs/pkgs/development/tools/misc/distcc/masq.nix
index 2387ab1bd418..27840481a109 100644
--- a/nixpkgs/pkgs/development/tools/misc/distcc/masq.nix
+++ b/nixpkgs/pkgs/development/tools/misc/distcc/masq.nix
@@ -3,7 +3,8 @@
 stdenv.mkDerivation {
   name = "distcc-masq-${gccRaw.name}";
 
-  phases = [ "installPhase" ];
+  dontUnpack = true;
+
   installPhase = ''
     mkdir -p $out/bin
 
diff --git a/nixpkgs/pkgs/development/tools/misc/dwz/default.nix b/nixpkgs/pkgs/development/tools/misc/dwz/default.nix
new file mode 100644
index 000000000000..0a13d4a68dd0
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/misc/dwz/default.nix
@@ -0,0 +1,23 @@
+{ lib, stdenv, fetchurl, elfutils }:
+
+stdenv.mkDerivation rec {
+  pname = "dwz";
+  version = "0.14";
+
+  src = fetchurl {
+    url = "https://www.sourceware.org/ftp/${pname}/releases/${pname}-${version}.tar.gz";
+    sha256 = "07qdvzfk4mvbqj5z3aff7vc195dxqn1mi27w2dzs1w2zhymnw01k";
+  };
+
+  nativeBuildInputs = [ elfutils ];
+
+  makeFlags = [ "prefix=${placeholder "out"}" ];
+
+  meta = with lib; {
+    homepage = "https://sourceware.org/dwz/";
+    description = "DWARF optimization and duplicate removal tool";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ jbcrail ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/misc/editorconfig-checker/default.nix b/nixpkgs/pkgs/development/tools/misc/editorconfig-checker/default.nix
index b4359bb18601..37f455e91bed 100644
--- a/nixpkgs/pkgs/development/tools/misc/editorconfig-checker/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/editorconfig-checker/default.nix
@@ -17,7 +17,7 @@ buildGoModule rec {
 
   nativeBuildInputs = [ installShellFiles ];
 
-  buildFlagsArray = [ "-ldflags=-X main.version=${version}" ];
+  ldflags = [ "-X main.version=${version}" ];
 
   postInstall = ''
     installManPage docs/editorconfig-checker.1
diff --git a/nixpkgs/pkgs/development/tools/misc/grpc-tools/default.nix b/nixpkgs/pkgs/development/tools/misc/grpc-tools/default.nix
index 3e06f10cbf1e..96bdce6d0ef6 100644
--- a/nixpkgs/pkgs/development/tools/misc/grpc-tools/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/grpc-tools/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "grpc-tools";
-  version = "1.10.0";
+  version = "1.11.2";
 
   src = fetchFromGitHub {
     owner = "grpc";
     repo = "grpc-node";
-    rev = "3a094f01711942f79abd8a536c45a91b574d626f"; # version 1.10.0 was not tagged
-    sha256 = "1a7l91kxc3g7mqfqvhc3nb7zy0n21ifs5ck0qqg09qh3f44q04xm";
+    rev = "grpc-tools@${version}";
+    sha256 = "00432y19pjcimwachjcqpzra21vzmlqchhhlqxnk98bfh25kxdcb";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/development/tools/misc/hydra/common.nix b/nixpkgs/pkgs/development/tools/misc/hydra/common.nix
index 5b1973c2b9e0..fd1896f24b81 100644
--- a/nixpkgs/pkgs/development/tools/misc/hydra/common.nix
+++ b/nixpkgs/pkgs/development/tools/misc/hydra/common.nix
@@ -26,6 +26,7 @@ let
         CatalystPluginAccessLog
         CatalystPluginAuthorizationRoles
         CatalystPluginCaptcha
+        CatalystPluginPrometheusTiny
         CatalystPluginSessionStateCookie
         CatalystPluginSessionStoreFastMmap
         CatalystPluginSmartURI
@@ -59,6 +60,7 @@ let
         NetPrometheus
         NetStatsd
         PadWalker
+        PrometheusTinyShared
         Readonly
         SQLSplitStatement
         SetScalar
diff --git a/nixpkgs/pkgs/development/tools/misc/hydra/default.nix b/nixpkgs/pkgs/development/tools/misc/hydra/default.nix
index a124b4a5c6e2..ac5600519b49 100644
--- a/nixpkgs/pkgs/development/tools/misc/hydra/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/hydra/default.nix
@@ -2,12 +2,12 @@
 
 {
   hydra-unstable = callPackage ./common.nix {
-    version = "2021-05-03";
+    version = "2021-08-11";
     src = fetchFromGitHub {
       owner = "NixOS";
       repo = "hydra";
-      rev = "886e6f85e45a1f757e9b77d2a9e4539fbde29468";
-      sha256 = "t7Qb57Xjc0Ou+VDGC1N5u9AmeODW6MVOwKSrYRJq5f0=";
+      rev = "9bce425c3304173548d8e822029644bb51d35263";
+      sha256 = "sha256-tGzwKNW/odtAYcazWA9bPVSmVXMGKfXsqCA1UYaaxmU=";
     };
     nix = nixUnstable;
 
diff --git a/nixpkgs/pkgs/development/tools/misc/jiq/default.nix b/nixpkgs/pkgs/development/tools/misc/jiq/default.nix
index c52a9ae4c030..61477a4c7de0 100644
--- a/nixpkgs/pkgs/development/tools/misc/jiq/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/jiq/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "jiq";
-  version = "0.7.1";
+  version = "0.7.2";
 
   src = fetchFromGitHub {
     owner = "fiatjaf";
     repo = pname;
-    rev = version;
-    sha256 = "sha256-EPhnfgmn0AufuxwcwRrEEQk+RD97akFJSzngkTl4LmY=";
+    rev = "v${version}";
+    sha256 = "sha256-txhttYngN+dofA3Yp3gZUZPRRZWGug9ysXq1Q0RP7ig=";
   };
 
   vendorSha256 = "sha256-ZUmOhPGy+24AuxdeRVF0Vnu8zDGFrHoUlYiDdfIV5lc=";
diff --git a/nixpkgs/pkgs/development/tools/misc/k2tf/default.nix b/nixpkgs/pkgs/development/tools/misc/k2tf/default.nix
index 904256ee66a9..bc24d4563a5c 100644
--- a/nixpkgs/pkgs/development/tools/misc/k2tf/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/k2tf/default.nix
@@ -13,7 +13,7 @@ buildGoModule rec {
 
   vendorSha256 = "1c2mwhrj0xapc661z1nb6am4qq3rd1pvbvjaxikjyx95n0gs8gjk";
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version} -X main.commit=v${version}" ];
+  ldflags = [ "-s" "-w" "-X main.version=${version}" "-X main.commit=v${version}" ];
 
   meta = with lib; {
     description = "Kubernetes YAML to Terraform HCL converter";
diff --git a/nixpkgs/pkgs/development/tools/misc/kibana/7.x.nix b/nixpkgs/pkgs/development/tools/misc/kibana/7.x.nix
index 754559969d50..33298f68334a 100644
--- a/nixpkgs/pkgs/development/tools/misc/kibana/7.x.nix
+++ b/nixpkgs/pkgs/development/tools/misc/kibana/7.x.nix
@@ -1,16 +1,17 @@
 { elk7Version
 , enableUnfree ? true
-, lib, stdenv
+, lib
+, stdenv
 , makeWrapper
 , fetchurl
-, nodejs-10_x
+, nodejs-14_x
 , coreutils
 , which
 }:
 
 with lib;
 let
-  nodejs = nodejs-10_x;
+  nodejs = nodejs-14_x;
   inherit (builtins) elemAt;
   info = splitString "-" stdenv.hostPlatform.system;
   arch = elemAt info 0;
@@ -18,20 +19,21 @@ let
   shas =
     if enableUnfree
     then {
-      x86_64-linux  = "1wq4fc2fifkg1qz7nxdfb4yi2biay8cgdz7kl5k0p37sxn0sbkja";
-      x86_64-darwin = "06346kj7bv49py49pmmnmh8m24322m88v1af19909pj9cxgd0p6v";
+      x86_64-linux = "sha256-lTPBppKm51zgKSQtSdO0PgZ/aomvaStwqwYYGNPY4Bo=";
+      x86_64-darwin = "sha256-d7xHmoASiywDlZCJX/CfUX1VIi4iOcDrqvK0su54MJc=";
     }
     else {
-      x86_64-linux  = "0ygpmcm6wdcnvw8azwqc5257lyic7yw31rqvm2pw3afhpha62lpj";
-      x86_64-darwin = "0xy81g0bhxp47p29kkkh5llfzqkzqzr5dk50ap2hy0hjw33ld6g1";
+      x86_64-linux = "sha256-+pkKpiXBpLHs72KKNtMJbqipw6eu5XC1xu/iLFCHGRQ=";
+      x86_64-darwin = "sha256-CyJ5iRXaPgXO2lyy+E24OcGtb9V3e1gMZRIu25bVyzk=";
     };
 
-in stdenv.mkDerivation rec {
-  name = "kibana-${optionalString (!enableUnfree) "oss-"}${version}";
+in
+stdenv.mkDerivation rec {
+  pname = "kibana${optionalString (!enableUnfree) "-oss"}";
   version = elk7Version;
 
   src = fetchurl {
-    url = "https://artifacts.elastic.co/downloads/kibana/${name}-${plat}-${arch}.tar.gz";
+    url = "https://artifacts.elastic.co/downloads/kibana/${pname}-${version}-${plat}-${arch}.tar.gz";
     sha256 = shas.${stdenv.hostPlatform.system} or (throw "Unknown architecture");
   };
 
diff --git a/nixpkgs/pkgs/development/tools/misc/linuxkit/default.nix b/nixpkgs/pkgs/development/tools/misc/linuxkit/default.nix
index eeb2102bdf0c..da608ba5a061 100644
--- a/nixpkgs/pkgs/development/tools/misc/linuxkit/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/linuxkit/default.nix
@@ -15,7 +15,7 @@ buildGoPackage rec {
 
   subPackages = [ "src/cmd/linuxkit" ];
 
-  buildFlagsArray = [ "-ldflags=-s -w -X ${goPackagePath}/src/cmd/linuxkit/version.GitCommit=${src.rev} -X ${goPackagePath}/src/cmd/linuxkit/version.Version=${version}" ];
+  ldflags = [ "-s" "-w" "-X ${goPackagePath}/src/cmd/linuxkit/version.GitCommit=${src.rev}" "-X ${goPackagePath}/src/cmd/linuxkit/version.Version=${version}" ];
 
   meta = with lib; {
     description = "A toolkit for building secure, portable and lean operating systems for containers";
diff --git a/nixpkgs/pkgs/development/tools/misc/lttng-tools/default.nix b/nixpkgs/pkgs/development/tools/misc/lttng-tools/default.nix
index 223e10d04ab5..71485a2da3da 100644
--- a/nixpkgs/pkgs/development/tools/misc/lttng-tools/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/lttng-tools/default.nix
@@ -2,20 +2,22 @@
 
 stdenv.mkDerivation rec {
   pname = "lttng-tools";
-  version = "2.11.0";
+  version = "2.13.0";
 
   src = fetchurl {
     url = "https://lttng.org/files/lttng-tools/${pname}-${version}.tar.bz2";
-    sha256 = "1g0g7ypxvc7wd5x4d4ixmfgl9yk0lxax3ymm95hcjwxn5p497r6w";
+    sha256 = "1ri93h45q5z6l3qmg4dakm9aj0ghfmf38i63q51yjh58lzwr9j4d";
   };
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ popt libuuid liburcu lttng-ust libxml2 kmod ];
 
+  enableParallelBuilding = true;
+
   meta = with lib; {
     description = "Tracing tools (kernel + user space) for Linux";
     homepage = "https://lttng.org/";
-    license = licenses.lgpl21;
+    license = with licenses; [ lgpl21Only gpl2Only ];
     platforms = platforms.linux;
     maintainers = [ maintainers.bjornfor ];
   };
diff --git a/nixpkgs/pkgs/development/tools/misc/lttng-ust/default.nix b/nixpkgs/pkgs/development/tools/misc/lttng-ust/default.nix
index 94d2e4a33f29..244d6442c15f 100644
--- a/nixpkgs/pkgs/development/tools/misc/lttng-ust/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/lttng-ust/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, liburcu, python3 }:
+{ lib, stdenv, fetchurl, pkg-config, liburcu, numactl, python3 }:
 
 # NOTE:
 #   ./configure ...
@@ -13,14 +13,15 @@
 
 stdenv.mkDerivation rec {
   pname = "lttng-ust";
-  version = "2.10.5";
+  version = "2.13.0";
 
   src = fetchurl {
     url = "https://lttng.org/files/lttng-ust/${pname}-${version}.tar.bz2";
-    sha256 = "0ddwk0nl28bkv2xb78gz16a2bvlpfbjmzwfbgwf5p1cq46dyvy86";
+    sha256 = "0l0p6y2zrd9hgd015dhafjmpcj7waz762n6wf5ws1xlwcwrwkr2l";
   };
 
-  buildInputs = [ python3 ];
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ numactl python3 ];
 
   preConfigure = ''
     patchShebangs .
@@ -28,10 +29,12 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ liburcu ];
 
+  enableParallelBuilding = true;
+
   meta = with lib; {
     description = "LTTng Userspace Tracer libraries";
     homepage = "https://lttng.org/";
-    license = licenses.lgpl21Plus;
+    license = with licenses; [ lgpl21Only gpl2Only mit ];
     platforms = platforms.linux;
     maintainers = [ maintainers.bjornfor ];
   };
diff --git a/nixpkgs/pkgs/development/tools/misc/luarocks/default.nix b/nixpkgs/pkgs/development/tools/misc/luarocks/default.nix
index f3ec4b4d7a43..c2449de5dd28 100644
--- a/nixpkgs/pkgs/development/tools/misc/luarocks/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/luarocks/default.nix
@@ -5,6 +5,7 @@
 , zip
 # some packages need to be compiled with cmake
 , cmake
+, installShellFiles
 }:
 
 stdenv.mkDerivation rec {
@@ -37,9 +38,9 @@ stdenv.mkDerivation rec {
     fi
   '';
 
-  buildInputs = [
-    lua curl makeWrapper which
-  ];
+  nativeBuildInputs = [ makeWrapper installShellFiles ];
+
+  buildInputs = [ lua curl which ];
 
   postInstall = ''
     sed -e "1s@.*@#! ${lua}/bin/lua$LUA_SUFFIX@" -i "$out"/bin/*
@@ -52,6 +53,9 @@ stdenv.mkDerivation rec {
               --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 ];
diff --git a/nixpkgs/pkgs/development/tools/misc/luarocks/luarocks-nix.nix b/nixpkgs/pkgs/development/tools/misc/luarocks/luarocks-nix.nix
index 30e02a3623fa..22872bdcbfa8 100644
--- a/nixpkgs/pkgs/development/tools/misc/luarocks/luarocks-nix.nix
+++ b/nixpkgs/pkgs/development/tools/misc/luarocks/luarocks-nix.nix
@@ -5,7 +5,10 @@ luarocks.overrideAttrs(old: {
   src = fetchFromGitHub {
     owner = "nix-community";
     repo = "luarocks-nix";
-    rev = "v3.5.0_nix";
-    sha256 = "sha256-Ea3PVkCaUPO/mvVZtHtD1G9T/Yom28M9oN6duY4ovHk=";
+    rev = "test-speedup";
+    sha256 = "sha256-WfzLSpIp0V7Ib4sjYvoJHF+/vHaieccvfVAr5W47QsQ=";
   };
+  patches = [];
+
+  meta.mainProgram = "luarocks";
 })
diff --git a/nixpkgs/pkgs/development/tools/misc/mkcert/default.nix b/nixpkgs/pkgs/development/tools/misc/mkcert/default.nix
index 0f110ae0b082..bfd551570090 100644
--- a/nixpkgs/pkgs/development/tools/misc/mkcert/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/mkcert/default.nix
@@ -15,9 +15,9 @@ buildGoModule rec {
 
   doCheck = false;
 
-  buildFlagsArray = ''
-    -ldflags=-s -w -X main.Version=v${version}
-  '';
+  ldflags = [
+    "-s" "-w" "-X main.Version=v${version}"
+  ];
 
   meta = with lib; {
     homepage = "https://github.com/FiloSottile/mkcert";
diff --git a/nixpkgs/pkgs/development/tools/misc/msitools/default.nix b/nixpkgs/pkgs/development/tools/misc/msitools/default.nix
index ab196ebc5b34..84a9a1135b51 100644
--- a/nixpkgs/pkgs/development/tools/misc/msitools/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/msitools/default.nix
@@ -59,7 +59,8 @@ stdenv.mkDerivation rec {
     bzip2
   ];
 
-  doCheck = true;
+  # WiX tests fail on darwin
+  doCheck = !stdenv.isDarwin;
 
   postPatch = ''
     patchShebangs subprojects/bats-core/{bin,libexec}
diff --git a/nixpkgs/pkgs/development/tools/misc/pwndbg/default.nix b/nixpkgs/pkgs/development/tools/misc/pwndbg/default.nix
index 764fa6677345..9aa11f35957f 100644
--- a/nixpkgs/pkgs/development/tools/misc/pwndbg/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/pwndbg/default.nix
@@ -21,14 +21,14 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "pwndbg";
-  version = "2020.07.23";
+  version = "2021.06.22";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "pwndbg";
     repo = "pwndbg";
     rev = version;
-    sha256 = "0w1dmjy8ii12367wza8c35a9q9x204fppf6x328q75bhb3gd845c";
+    sha256 = "sha256-8jaWhpn7Q3X7FBHURX6nyOAhu+C113DnC4KBSE3FBuE=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/development/tools/misc/qtspim/default.nix b/nixpkgs/pkgs/development/tools/misc/qtspim/default.nix
new file mode 100644
index 000000000000..23d33a9f81c5
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/misc/qtspim/default.nix
@@ -0,0 +1,61 @@
+{ lib, stdenv, fetchsvn, wrapQtAppsHook, qtbase, qttools, qmake, bison, flex, ... }:
+stdenv.mkDerivation rec {
+  pname = "qtspim";
+  version = "9.1.22";
+
+  src = fetchsvn {
+    url = "https://svn.code.sf.net/p/spimsimulator/code/";
+    rev = "r739";
+    sha256 = "1kazfgrbmi4xq7nrkmnqw1280rhdyc1hmr82flrsa3g1b1rlmj1s";
+  };
+
+  postPatch = ''
+    cd QtSpim
+
+    # Patches from https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=qtspim
+    sed -i 's/zero_imm/is_zero_imm/g' parser_yacc.cpp
+    sed -i 's/^int data_dir/bool data_dir/g' parser_yacc.cpp
+    sed -i 's/^int text_dir/bool text_dir/g' parser_yacc.cpp
+    sed -i 's/^int parse_error_occurred/bool parse_error_occurred/g' parser_yacc.cpp
+
+    substituteInPlace QtSpim.pro --replace /usr/lib/qtspim/lib $out/lib
+    substituteInPlace menu.cpp \
+      --replace /usr/lib/qtspim/bin/assistant ${qttools.dev}/bin/assistant \
+      --replace /usr/lib/qtspim/help/qtspim.qhc $out/share/help/qtspim.qhc
+    substituteInPlace ../Setup/qtspim_debian_deployment/qtspim.desktop \
+      --replace /usr/bin/qtspim qtspim \
+      --replace /usr/lib/qtspim/qtspim.png qtspim
+  '';
+
+  nativeBuildInputs = [ wrapQtAppsHook qttools qmake bison flex ];
+  buildInputs = [ qtbase ];
+  QT_PLUGIN_PATH = "${qtbase}/${qtbase.qtPluginPrefix}";
+
+  qmakeFlags = [
+    "QtSpim.pro"
+    "-spec"
+    "linux-g++"
+    "CONFIG+=release"
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    install -D QtSpim $out/bin/qtspim
+    install -D ../Setup/qtspim_debian_deployment/copyright $out/share/licenses/qtspim/copyright
+    install -D ../Setup/qtspim_debian_deployment/qtspim.desktop $out/share/applications/qtspim.desktop
+    install -D ../Setup/NewIcon48x48.png $out/share/icons/hicolor/48x48/apps/qtspim.png
+    install -D ../Setup/NewIcon256x256.png $out/share/icons/hicolor/256x256/apps/qtspim.png
+    cp -r help $out/share/help
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "New user interface for spim, a MIPS simulator";
+    homepage = "http://spimsimulator.sourceforge.net/";
+    license = licenses.bsdOriginal;
+    maintainers = with maintainers; [ angustrau ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/misc/remarkable/remarkable-toolchain/default.nix b/nixpkgs/pkgs/development/tools/misc/remarkable/remarkable-toolchain/default.nix
index 643e28e82b27..e5ed098af8e1 100644
--- a/nixpkgs/pkgs/development/tools/misc/remarkable/remarkable-toolchain/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/remarkable/remarkable-toolchain/default.nix
@@ -1,18 +1,18 @@
-{ lib, stdenv, fetchurl, libarchive, python, file, which }:
+{ lib, stdenv, fetchurl, libarchive, python3, file, which }:
 
 stdenv.mkDerivation rec {
   pname = "remarkable-toolchain";
-  version = "1.8-23.9.2019";
+  version = "3.1.2";
 
   src = fetchurl {
-    url = "https://remarkable.engineering/oecore-x86_64-cortexa9hf-neon-toolchain-zero-gravitas-${version}.sh";
-    sha256 = "1rk1r80m5d18sw6hrybj6f78s8pna0wrsa40ax6j8jzfwahgzmfb";
+    url = "https://storage.googleapis.com/remarkable-codex-toolchain/codex-x86_64-cortexa9hf-neon-rm10x-toolchain-${version}.sh";
+    sha256 = "sha256-ocODUUx2pgmqxMk8J+D+OvqlSHBSay6YzcqnxC9n59w=";
     executable = true;
   };
 
   nativeBuildInputs = [
     libarchive
-    python
+    python3
     file
     which
   ];
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "A toolchain for cross-compiling to reMarkable tablets";
     homepage = "https://remarkable.engineering/";
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     maintainers = with maintainers; [ nickhu siraben ];
     platforms = [ "x86_64-linux" ];
   };
diff --git a/nixpkgs/pkgs/development/tools/misc/remarkable/remarkable2-toolchain/default.nix b/nixpkgs/pkgs/development/tools/misc/remarkable/remarkable2-toolchain/default.nix
index 7b4df5df1647..fe54390c7858 100644
--- a/nixpkgs/pkgs/development/tools/misc/remarkable/remarkable2-toolchain/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/remarkable/remarkable2-toolchain/default.nix
@@ -1,32 +1,28 @@
-{ lib, stdenv, fetchurl, libarchive, python3, file }:
+{ lib, stdenv, fetchurl, libarchive, python3, file, which }:
 
 stdenv.mkDerivation rec {
   pname = "remarkable2-toolchain";
-  version = "2.5.2";
+  version = "3.1.2";
 
   src = fetchurl {
-    url = "https://storage.googleapis.com/codex-public-bucket/codex-x86_64-cortexa7hf-neon-rm11x-toolchain-${version}.sh";
-    sha256 = "1v410q1jn8flisdpkrymxd4pa1ylawd0rh3rljjpkqw1bp8a5vw1";
+    url = "https://storage.googleapis.com/remarkable-codex-toolchain/codex-x86_64-cortexa7hf-neon-rm11x-toolchain-${version}.sh";
+    sha256 = "sha256-JKMDRbkvoxwHiTm/o4JdLn3Mm2Ld1LyxTnCCwvnxk4c=";
+    executable = true;
   };
 
   nativeBuildInputs = [
     libarchive
     python3
     file
+    which
   ];
 
-  unpackCmd = ''
-    mkdir src
-    install $curSrc src/install-toolchain.sh
-  '';
-
+  dontUnpack = true;
   dontBuild = true;
 
   installPhase = ''
-    patchShebangs install-toolchain.sh
-    sed -i -e '3,9d' install-toolchain.sh # breaks PATH
-    sed -i 's|PYTHON=.*$|PYTHON=${python3}/bin/python|' install-toolchain.sh
-    ./install-toolchain.sh -D -y -d $out
+    mkdir -p $out
+    ENVCLEANED=1 $src -y -d $out
   '';
 
   meta = with lib; {
@@ -34,6 +30,6 @@ stdenv.mkDerivation rec {
     homepage = "https://remarkable.engineering/";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ tadfisher ];
-    platforms = platforms.x86_64;
+    platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/misc/reviewdog/default.nix b/nixpkgs/pkgs/development/tools/misc/reviewdog/default.nix
index 24e2e0fea6b2..b39ab68f06c0 100644
--- a/nixpkgs/pkgs/development/tools/misc/reviewdog/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/reviewdog/default.nix
@@ -2,22 +2,22 @@
 
 buildGoModule rec {
   pname = "reviewdog";
-  version = "0.12.0";
+  version = "0.13.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "18fk4xzl6ys3azyw9ap14zgf3av5fdsrdn4mxx9calimvzbl4nfp";
+    sha256 = "sha256-PneUN59ddYvhVIXqZeDCh0tWADkRTU9Dj0HNf0V8s3g=";
   };
 
-  vendorSha256 = "1qcp8v426500cpfrchazsh5rw4nr0c31vmrhbfgb9js4vxrn8acr";
+  vendorSha256 = "sha256-NI5pzKfUTjXqDukeQ1wFN/D0TBeXfDPGL69oEL7reCE=";
 
   doCheck = false;
 
   subPackages = [ "cmd/reviewdog" ];
 
-  buildFlagsArray = [ "-ldflags=-s -w -X github.com/reviewdog/reviewdog/commands.Version=${version}" ];
+  ldflags = [ "-s" "-w" "-X github.com/reviewdog/reviewdog/commands.Version=${version}" ];
 
   meta = with lib; {
     description = "Automated code review tool integrated with any code analysis tools regardless of programming language";
diff --git a/nixpkgs/pkgs/development/tools/misc/saleae-logic-2/default.nix b/nixpkgs/pkgs/development/tools/misc/saleae-logic-2/default.nix
new file mode 100644
index 000000000000..9fcd87f3476d
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/misc/saleae-logic-2/default.nix
@@ -0,0 +1,27 @@
+{ lib, fetchurl, appimageTools }:
+let
+  name = "saleae-logic-2";
+  version = "2.3.33";
+  src = fetchurl {
+    url = "https://downloads.saleae.com/logic2/Logic-${version}-master.AppImage";
+    sha256 = "09vypl03gj58byk963flskzkhl4qrd9qw1kh0sywbqnzbzvj5cgm";
+  };
+in
+appimageTools.wrapType2 {
+  inherit name src;
+
+  extraInstallCommands =
+    let appimageContents = appimageTools.extractType2 { inherit name src; }; in
+    ''
+      mkdir -p $out/etc/udev/rules.d
+      cp ${appimageContents}/resources/linux/99-SaleaeLogic.rules $out/etc/udev/rules.d/
+    '';
+
+  meta = with lib; {
+    homepage = "https://www.saleae.com/";
+    description = "Software for Saleae logic analyzers";
+    license = licenses.unfree;
+    platforms = [ "x86_64-linux" ];
+    maintainers = [ maintainers.j-hui ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/misc/spruce/default.nix b/nixpkgs/pkgs/development/tools/misc/spruce/default.nix
new file mode 100644
index 000000000000..ff95242681bb
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/misc/spruce/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "spruce";
+  version = "1.28.0";
+
+  src = fetchFromGitHub {
+    owner = "geofffranks";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-cNO+6rMQPO1e4Hen8vcFU1FRnnCv2+fDYtXXbuR2UCU=";
+  };
+
+  deleteVendor = true;
+  vendorSha256 = "sha256-5EM4Z9AN1Mjy7DayII0Iu+XrjM9lyUqrScMT/fe43dw=";
+
+  meta = with lib; {
+    description = "A BOSH template merge tool";
+    homepage = "https://github.com/geofffranks/spruce";
+    license = licenses.mit;
+    maintainers = with maintainers; [ risson ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/misc/strace/default.nix b/nixpkgs/pkgs/development/tools/misc/strace/default.nix
index b3722965fdcd..785331fb50be 100644
--- a/nixpkgs/pkgs/development/tools/misc/strace/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/strace/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "strace";
-  version = "5.13";
+  version = "5.14";
 
   src = fetchurl {
     url = "https://strace.io/files/${version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-Wsw0iIudUQrWrJFdSo3wj1HPGukg6iRkn2pLuYTQtlY=";
+    sha256 = "sha256-kBvubbXhfeutRTDdn/tNyalsSmVu2+HDFBt8swexHnM=";
   };
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
diff --git a/nixpkgs/pkgs/development/tools/misc/terracognita/default.nix b/nixpkgs/pkgs/development/tools/misc/terracognita/default.nix
index cc5f6f72a4cf..c10543e17689 100644
--- a/nixpkgs/pkgs/development/tools/misc/terracognita/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/terracognita/default.nix
@@ -2,22 +2,22 @@
 
 buildGoModule rec {
   pname = "terracognita";
-  version = "0.7.1";
+  version = "0.7.2";
 
   src = fetchFromGitHub {
     owner = "cycloidio";
     repo = pname;
     rev = "v${version}";
-    sha256 = "119rbjg3lsm73mdw6ymvslyj4y4ghj3a3dvxnvkrm55v9g0s03l9";
+    sha256 = "sha256-n+aCNKGujvmXSFmLo2h1d29NFgdk/G+ehGwMHCJQoU8=";
   };
 
-  vendorSha256 = "1fvp53d694a4aj8l4hj7q2lvyadn9y9c52q4bzl6yrfjq6708y8d";
+  vendorSha256 = "sha256-i6AkLAXGOXe3jmAKKQN6aX/DvovSS9CYFYO28bYIdUw=";
 
   doCheck = false;
 
   subPackages = [ "." ];
 
-  buildFlagsArray = [ "-ldflags=-s -w -X github.com/cycloidio/terracognita/cmd.Version=${version}" ];
+  ldflags = [ "-s" "-w" "-X github.com/cycloidio/terracognita/cmd.Version=${version}" ];
 
   meta = with lib; {
     description = "Reads from existing Cloud Providers (reverse Terraform) and generates your infrastructure as code on Terraform configuration";
diff --git a/nixpkgs/pkgs/development/tools/misc/terraform-ls/default.nix b/nixpkgs/pkgs/development/tools/misc/terraform-ls/default.nix
index 86afbcc9421a..7ea4625bad11 100644
--- a/nixpkgs/pkgs/development/tools/misc/terraform-ls/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/terraform-ls/default.nix
@@ -2,36 +2,27 @@
 
 buildGoModule rec {
   pname = "terraform-ls";
-  version = "0.19.1";
+  version = "0.21.0";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ag8Dq3lhLoKE4rgrnWLHtKRHEnw/ytyXI+pRt5CgZJI=";
+    sha256 = "sha256-x1HPr1xzByyNnuNr8B4vqdxw+EeFJsqse/FG1I/b0+g=";
   };
-  vendorSha256 = "sha256-/lpjlThr6HPkuJ6om9ifBsdsh0x4kVXM6PAonk7GJCY=";
+  vendorSha256 = "sha256-f/y2i/aPeiUBiUaoCyehO8835qtxJkJsSh9/RAowsLI=";
 
   ldflags = [ "-s" "-w" "-X main.version=v${version}" "-X main.prerelease=" ];
 
-  preCheck = ''
-    # Remove tests that requires networking
-    rm internal/terraform/exec/exec_test.go
-  '' + lib.optionalString stdenv.isAarch64 ''
-    # Not all test failures have tracking issues as HashiCorp do not have
-    # aarch64 testing infra easily available, see issue 549 below.
+  # There's a mixture of tests that use networking and several that fail on aarch64
+  doCheck = false;
 
-    # Remove file that contains `TestLangServer_workspaceExecuteCommand_modules_multiple`
-    # which fails on aarch64: https://github.com/hashicorp/terraform-ls/issues/549
-    rm internal/langserver/handlers/execute_command_modules_test.go
-
-    # `TestModuleManager_ModuleCandidatesByPath` variants fail
-    rm internal/terraform/module/module_manager_test.go
-
-    # internal/terraform/module/module_ops_queue_test.go:17:15: undefined: testLogger
-    # internal/terraform/module/watcher_test.go:39:11: undefined: testLogger
-    # internal/terraform/module/watcher_test.go:79:14: undefined: testLogger
-    rm internal/terraform/module/{watcher_test,module_ops_queue_test}.go
+  doInstallCheck = true;
+  installCheckPhase = ''
+    runHook preInstallCheck
+    $out/bin/terraform-ls --help
+    $out/bin/terraform-ls version | grep "v${version}"
+    runHook postInstallCheck
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/tools/misc/terraform-lsp/default.nix b/nixpkgs/pkgs/development/tools/misc/terraform-lsp/default.nix
index 0cfd63ffa283..d55367e70658 100644
--- a/nixpkgs/pkgs/development/tools/misc/terraform-lsp/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/terraform-lsp/default.nix
@@ -13,7 +13,7 @@ buildGoPackage rec {
 
   goPackagePath = "github.com/juliosueiras/terraform-lsp";
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.Version=${version} -X main.GitCommit=${src.rev}" ];
+  ldflags = [ "-s" "-w" "-X main.Version=${version}" "-X main.GitCommit=${src.rev}" ];
 
   meta = with lib; {
     description = "Language Server Protocol for Terraform";
diff --git a/nixpkgs/pkgs/development/tools/misc/terraformer/default.nix b/nixpkgs/pkgs/development/tools/misc/terraformer/default.nix
index 60124ef44c93..ac20ca26f808 100644
--- a/nixpkgs/pkgs/development/tools/misc/terraformer/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/terraformer/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "terraformer";
-  version = "0.8.11";
+  version = "0.8.15";
 
   src = fetchFromGitHub {
     owner = "GoogleCloudPlatform";
     repo = pname;
     rev = version;
-    sha256 = "sha256-y6cgBYiqy+M8dfcNS6iDohqyip6xAs222MJHJFhloiI=";
+    sha256 = "sha256-d8DOUvUj5hdc1kcd0vgMufVIOJqV0eG4sXQIX597L/w=";
   };
 
-  vendorSha256 = "sha256-PQj3+qcmN/raDrAbufAcVT+vSumGuOY47i7ZYfvx3yk=";
+  vendorSha256 = "sha256-VQ3yZQqpq9KbAkBDnQAfOE+axlT0GhvUpMIjb59PYT0=";
 
   subPackages = [ "." ];
 
diff --git a/nixpkgs/pkgs/development/tools/misc/unused/default.nix b/nixpkgs/pkgs/development/tools/misc/unused/default.nix
index ee89df5d8391..4c3872377142 100644
--- a/nixpkgs/pkgs/development/tools/misc/unused/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/unused/default.nix
@@ -1,18 +1,18 @@
 { lib, fetchFromGitHub, rustPlatform, cmake }:
 rustPlatform.buildRustPackage rec {
   pname = "unused";
-  version = "0.2.2";
+  version = "0.2.3";
 
   src = fetchFromGitHub {
     owner = "unused-code";
     repo = pname;
     rev = version;
-    sha256 = "0igpf0y45rrdrwq8bznq0d5nnph0vijvn6fw96mqxhbffz0csbi9";
+    sha256 = "sha256-1R50oCVvk+XJG4EhLusY1aY6RjWNeZvlIDS8PJXIA7o=";
   };
 
   nativeBuildInputs = [ cmake ];
 
-  cargoSha256 = "1fngn9mmvx7jw8305w465z0nf9acc2cdl7314p77c2rz25z6rlin";
+  cargoSha256 = "sha256-PjCR+kHlgPWkTkhN0idotGmLSe/FaKkgI9AMEJtoRz8=";
 
   meta = with lib; {
     description = "A tool to identify potentially unused code";
diff --git a/nixpkgs/pkgs/development/tools/misc/usbsdmux/default.nix b/nixpkgs/pkgs/development/tools/misc/usbsdmux/default.nix
index ed7a6d8a2201..07db23607ceb 100644
--- a/nixpkgs/pkgs/development/tools/misc/usbsdmux/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/usbsdmux/default.nix
@@ -2,11 +2,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "usbsdmux";
-  version = "0.2.0";
+  version = "0.2.1";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "sha256-ydDUSqBTY62iOtWdgrFh2qrO9LMi+OCYIw5reh6uoIA=";
+    sha256 = "sha256-gCxwR5jxzkH22B6nxBwAd0HpwWMIj/zp5VROJ0IWq7c=";
   };
 
   # usbsdmux is not meant to be used as an importable module and has no tests
diff --git a/nixpkgs/pkgs/development/tools/misc/watson-ruby/default.nix b/nixpkgs/pkgs/development/tools/misc/watson-ruby/default.nix
index 23ec0643d77d..4d17680471d2 100644
--- a/nixpkgs/pkgs/development/tools/misc/watson-ruby/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/watson-ruby/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   pname = "watson-ruby";
   version = (import ./gemset.nix).watson-ruby.version;
 
-  phases = [ "installPhase" ];
+  dontUnpack = true;
 
   installPhase = let
     env = bundlerEnv {
diff --git a/nixpkgs/pkgs/development/tools/misc/xspim/default.nix b/nixpkgs/pkgs/development/tools/misc/xspim/default.nix
new file mode 100644
index 000000000000..2e6e3e3eb108
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/misc/xspim/default.nix
@@ -0,0 +1,49 @@
+{ lib, stdenv, fetchsvn, imake, bison, flex, xlibsWrapper, libXaw, libXpm, ... }:
+
+stdenv.mkDerivation rec {
+  pname = "xspim";
+  version = "9.1.22";
+
+  src = fetchsvn {
+    url = "https://svn.code.sf.net/p/spimsimulator/code/";
+    rev = "r739";
+    sha256 = "1kazfgrbmi4xq7nrkmnqw1280rhdyc1hmr82flrsa3g1b1rlmj1s";
+  };
+
+  nativeBuildInputs = [ imake bison flex ];
+  buildInputs = [ xlibsWrapper libXaw libXpm ];
+
+  preConfigure = ''
+    cd xspim
+    xmkmf
+  '';
+
+  makeFlags = [
+    "BIN_DIR=${placeholder "out"}/bin"
+    "EXCEPTION_DIR=${placeholder "out"}/share/spim"
+    "MAN_DIR=${placeholder "out"}/share/man/man1"
+  ];
+
+  doCheck = true;
+  preCheck = ''
+    pushd ../spim
+  '';
+  postCheck = ''
+    popd
+  '';
+
+  preInstall = ''
+    mkdir -p $out/share/spim
+    install -D ../spim/spim $out/bin/spim
+    install -D ../Documentation/spim.man $out/share/man/man1/spim.1
+    install -D ../Documentation/xspim.man $out/share/man/man1/xspim.1
+  '';
+
+  meta = with lib; {
+    description = "A MIPS32 simulator";
+    homepage = "http://spimsimulator.sourceforge.net/";
+    license = licenses.bsdOriginal;
+    maintainers = with maintainers; [ angustrau ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/misc/xxgdb/default.nix b/nixpkgs/pkgs/development/tools/misc/xxgdb/default.nix
new file mode 100644
index 000000000000..fc0a38ee7499
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/misc/xxgdb/default.nix
@@ -0,0 +1,43 @@
+{ lib, stdenv, fetchurl, imake, xlibsWrapper, gccmakedep, libXaw }:
+
+stdenv.mkDerivation rec {
+  pname = "xxgdb";
+  version = "1.12";
+
+  src = fetchurl {
+    url = "http://deb.debian.org/debian/pool/main/x/xxgdb/xxgdb_${version}.orig.tar.gz";
+    sha256 = "0jwazg99wk2l7r390ggw0yr8xipl07bp0qynni141xss530i6d1a";
+  };
+
+  patches = [
+    # http://zhu-qy.blogspot.com.es/2012/11/slackware-14-i-still-got-xxgdb-all-ptys.html
+    ./xxgdb-pty.patch
+  ];
+
+  nativeBuildInputs = [ imake gccmakedep ];
+  buildInputs = [ xlibsWrapper libXaw ];
+
+  preConfigure = ''
+    mkdir build
+    xmkmf
+  '';
+
+  makeFlags = [
+    "DESTDIR=build"
+  ];
+
+  postInstall = ''
+    # Fix up install paths
+    shopt -s globstar
+    mv build/**/bin $out/bin
+
+    install -D xxgdb.1 $out/share/man/man1/xxgdb.1
+  '';
+
+  meta = with lib; {
+    description = "A simple but powerful graphical interface to gdb";
+    license = licenses.mit;
+    maintainers = with maintainers; [ angustrau ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/misc/xxgdb/xxgdb-pty.patch b/nixpkgs/pkgs/development/tools/misc/xxgdb/xxgdb-pty.patch
new file mode 100644
index 000000000000..735bb1b0b5fc
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/misc/xxgdb/xxgdb-pty.patch
@@ -0,0 +1,84 @@
+--- xxgdb-1.12-org/calldbx.c	2012-10-26 17:17:49.810750909 -0700
++++ xxgdb-1.12/calldbx.c	2012-10-26 17:53:59.209918816 -0700
+@@ -69,6 +69,12 @@
+  *    create_io_window(): create an io window for gdb to use 
+  */
+ 
++#ifdef linux
++#ifndef _GNU_SOURCE
++#define _GNU_SOURCE
++#endif
++#endif
++
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+@@ -126,6 +132,13 @@
+ {
+     int master;
+     
++#ifdef _POSIX_SOURCE
++    if ((master = posix_openpt (O_RDWR|O_NOCTTY)) < 0) {
++	perror("posix_openpt failed:");
++    } else {
++	return master;
++    }
++#else
+ #ifdef SVR4				/* (MJH) Use STREAMS */
+ 
+     if((master = open(MASTER_CLONE, O_RDWR)) < 0)
+@@ -152,6 +165,7 @@
+ 	}
+ #endif
+ #endif /* SVR4 */
++#endif /*  _POSIX_SOURCE */
+ 
+ #ifdef GDB
+     fprintf(stderr, "xxgdb: all ptys in use\n");
+@@ -167,7 +181,28 @@
+ {
+     int slave;
+ 
+-#ifdef SVR4				/* (MJH) */
++#ifdef _POSIX_SOURCE
++    char *slave_name = ptsname (master);
++    if (slave_name == NULL) {
++	perror ("Pseudo-tty slave");
++	exit (2);
++    } // end if
++    if (grantpt (master) < 0) {
++	perror ("grantpt error");
++	exit (3);
++    }
++    if (unlockpt (master) < 0) {
++	perror ("unlockpt error");
++	exit (4);
++    }
++    if ((slave = open (slave_name, O_RDWR)) < 0) {
++	perror (slave_name);
++	exit (5);
++    } // end if
++    return slave;
++#else
++#ifdef SVR4		
++	/* (MJH) */
+     char *slave_name = "unknown";
+     extern char *ptsname(int master);
+     void (*handler)();
+@@ -194,6 +229,7 @@
+ 	    }
+     return slave;
+ #endif /* SVR4 */
++#endif /*  _POSIX_SOURCE */
+ }
+ 
+ #ifdef CREATE_IO_WINDOW 
+@@ -230,7 +266,7 @@
+     {
+ 	/* child */
+ 	/* printf("xterm xterm -l -e xxgdbiowin\n");*/
+-	if (execlp("xterm", "xterm", "-e", "xxgdbiowin", 0))
++	if (execlp("xterm", "xterm", "-e", "xxgdbiowin", NULL))
+ 	{
+ 	    printf("exec of 'xterm -e xxgdbiowin' fails\n");
+ 	    unlink("/tmp/iowindowtty");
diff --git a/nixpkgs/pkgs/development/tools/misc/yodl/default.nix b/nixpkgs/pkgs/development/tools/misc/yodl/default.nix
index 4f4dddbc9453..2eee78c1c19c 100644
--- a/nixpkgs/pkgs/development/tools/misc/yodl/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/yodl/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "yodl";
-  version = "4.03.02";
+  version = "4.03.03";
 
   nativeBuildInputs = [ icmake ];
 
   buildInputs = [ perl ];
 
   src = fetchFromGitLab {
-    sha256 = "sha256-ZxiF9He0JgqhbnQS2pE7Y85sED8avbdwGuVmFN8/XgE=";
+    sha256 = "sha256-MeD/jjhwoiWTb/G8pHrnEEX22h+entPr9MhJ6WHO3DM=";
     rev = version;
     repo = "yodl";
     owner = "fbb-git";
diff --git a/nixpkgs/pkgs/development/tools/mockgen/default.nix b/nixpkgs/pkgs/development/tools/mockgen/default.nix
index 06004b9f779a..af3e21afc914 100644
--- a/nixpkgs/pkgs/development/tools/mockgen/default.nix
+++ b/nixpkgs/pkgs/development/tools/mockgen/default.nix
@@ -1,14 +1,14 @@
 { buildGoModule, lib, fetchFromGitHub }:
 buildGoModule rec {
   pname = "mockgen";
-  version = "1.5.0";
+  version = "1.6.0";
   src = fetchFromGitHub {
     owner = "golang";
     repo = "mock";
     rev = "v${version}";
-    sha256 = "sha256-YSPfe8/Ra72qk12+T78mTppvkag0Hw6O7WNyfhG4h4o=";
+    sha256 = "sha256-5Kp7oTmd8kqUN+rzm9cLqp9nb3jZdQyltGGQDiRSWcE=";
   };
-  vendorSha256 = "sha256-cL4a7iOSeaQiG6YO0im9bXxklCL1oyKhEDmB1BtEmEw=";
+  vendorSha256 = "sha256-5gkrn+OxbNN8J1lbgbxM8jACtKA7t07sbfJ7gVJWpJM=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/tools/mold/default.nix b/nixpkgs/pkgs/development/tools/mold/default.nix
index ee661e622022..87cb582417a2 100644
--- a/nixpkgs/pkgs/development/tools/mold/default.nix
+++ b/nixpkgs/pkgs/development/tools/mold/default.nix
@@ -1,9 +1,9 @@
 { stdenv
 , fetchFromGitHub
+, fetchpatch
 , lib
 , autoPatchelfHook
 , cmake
-, tbb
 , llvmPackages_latest
 , xxHash
 , zlib
@@ -12,16 +12,24 @@
 
 stdenv.mkDerivation rec {
   pname = "mold";
-  version = "0.9.2";
+  version = "0.9.3";
 
   src = fetchFromGitHub {
     owner = "rui314";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-2LXOPirhjAifKYPgngUJwEdGrKMYsRySr5TL2x2p8J0=";
+    sha256 = "sha256:1z9i8nvdl9h0zydh1gd9244q96n9x1gh5y90m71bghnh7nws0zmd";
   };
 
-  buildInputs = [ tbb zlib openssl ];
+  patches = [
+    # Intercept all invocations of ld, ld.gold or ld.lld
+    (fetchpatch {
+      url = "https://github.com/rui314/mold/commit/d25c2553ad3cfa39d99043927db1af2c028b5acf.patch";
+      sha256 = "1ic1dyvjcrj6834n6mw9id50l6nymrfn6hws6pjpy8gjk6mqfvnk";
+    })
+  ];
+
+  buildInputs = [ zlib openssl ];
   nativeBuildInputs = [ autoPatchelfHook cmake xxHash ];
 
   dontUseCmakeConfigure = true;
diff --git a/nixpkgs/pkgs/development/tools/mustache-go/default.nix b/nixpkgs/pkgs/development/tools/mustache-go/default.nix
index 40181f16288a..ee8edfdf5b0e 100644
--- a/nixpkgs/pkgs/development/tools/mustache-go/default.nix
+++ b/nixpkgs/pkgs/development/tools/mustache-go/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "mustache-go";
-  version = "1.2.0";
+  version = "1.2.2";
 
   goPackagePath = "github.com/cbroglie/mustache";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner = "cbroglie";
     repo = "mustache";
     rev = "v${version}";
-    sha256 = "0mnh5zbpfwymddm1dppg9i9d1r8jqyg03z2gl6c5a8fgbrnxpjvc";
+    sha256 = "sha256-ziWfkRUHYYyo1FqVVXFFDlTsBbsn59Ur9YQi2ZnTSRg=";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/tools/node-webkit/nw12.nix b/nixpkgs/pkgs/development/tools/node-webkit/nw12.nix
index f5276510e612..da85be926715 100644
--- a/nixpkgs/pkgs/development/tools/node-webkit/nw12.nix
+++ b/nixpkgs/pkgs/development/tools/node-webkit/nw12.nix
@@ -30,8 +30,6 @@ in stdenv.mkDerivation rec {
       "117gx6yjbcya64yg2vybcfyp591sid209pg8a33k9afbsmgz684c";
   };
 
-  phases = [ "unpackPhase" "installPhase" ];
-
   installPhase = ''
     mkdir -p $out/share/nwjs
     cp -R * $out/share/nwjs
diff --git a/nixpkgs/pkgs/development/tools/nwjs/default.nix b/nixpkgs/pkgs/development/tools/nwjs/default.nix
index 7d0175ac912a..2ca79410b85b 100644
--- a/nixpkgs/pkgs/development/tools/nwjs/default.nix
+++ b/nixpkgs/pkgs/development/tools/nwjs/default.nix
@@ -47,8 +47,6 @@ in stdenv.mkDerivation rec {
       "0nlpdz76k1p1pq4xygfr2an91m0d7p5fjyg2xhiggyy8b7sp4964";
   };
 
-  phases = [ "unpackPhase" "installPhase" ];
-
   # we have runtime deps like sqlite3 that should remain
   dontPatchELF = true;
 
diff --git a/nixpkgs/pkgs/development/tools/ocaml/camlidl/default.nix b/nixpkgs/pkgs/development/tools/ocaml/camlidl/default.nix
index a464996ff381..36a1c7f755e1 100644
--- a/nixpkgs/pkgs/development/tools/ocaml/camlidl/default.nix
+++ b/nixpkgs/pkgs/development/tools/ocaml/camlidl/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "camlidl";
-  webpage = "http://caml.inria.fr/pub/old_caml_site/camlidl/";
+  webpage = "https://caml.inria.fr/pub/old_caml_site/camlidl/";
 in
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
diff --git a/nixpkgs/pkgs/development/tools/ocaml/dune-release/default.nix b/nixpkgs/pkgs/development/tools/ocaml/dune-release/default.nix
index 60a9bfba58fe..a5d97b65b2f3 100644
--- a/nixpkgs/pkgs/development/tools/ocaml/dune-release/default.nix
+++ b/nixpkgs/pkgs/development/tools/ocaml/dune-release/default.nix
@@ -1,6 +1,6 @@
 { lib, buildDunePackage, fetchurl, makeWrapper
 , curly, fmt, bos, cmdliner, re, rresult, logs
-, odoc, opam-format, opam-core, opam-state, yojson
+, odoc, opam-format, opam-core, opam-state, yojson, astring
 , opam, git, findlib, mercurial, bzip2, gnutar, coreutils
 , alcotest, mdx
 }:
@@ -10,18 +10,18 @@
 let runtimeInputs = [ opam findlib git mercurial bzip2 gnutar coreutils ];
 in buildDunePackage rec {
   pname = "dune-release";
-  version = "1.4.0";
+  version = "1.5.0";
 
   minimumOCamlVersion = "4.06";
 
   src = fetchurl {
     url = "https://github.com/ocamllabs/${pname}/releases/download/${version}/${pname}-${version}.tbz";
-    sha256 = "1frinv1rsrm30q6jclicsswpshkdwwdgxx7sp6q9w4c2p211n1ln";
+    sha256 = "1lyfaczskdbqnhmpiy6wga9437frds3m8prfk2rhwyb96h69y3pv";
   };
 
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ curly fmt cmdliner re opam-format opam-state opam-core
-                  rresult logs odoc bos yojson ];
+                  rresult logs odoc bos yojson astring ];
   checkInputs = [ alcotest mdx ] ++ runtimeInputs;
   doCheck = true;
 
@@ -32,16 +32,16 @@ in buildDunePackage rec {
     # to have a fixed path to the binary in nix store
     sed -i '/must_exist (Cmd\.v "curl"/d' lib/github.ml
 
-    # fix problems with git invocations in tests
-    for f in tests/bin/{delegate_info,errors,tag,no_doc,x-commit-hash}/run.t; do
-      # set bogus user info in git so git commit doesn't fail
-      sed -i '/git init/ a \    $ git config user.name test; git config user.email "pseudo@pseudo.invalid"' "$f"
-      # surpress hint to set default branch name
-      substituteInPlace "$f" --replace "git init" "git init -b main"
-    done
-
     # ignore weird yes error message
-    sed -i 's/yes |/yes 2>\/dev\/null |/' tests/bin/no_doc/run.t
+    sed -i 's/yes |/yes 2>\/dev\/null |/' \
+      tests/bin/no_doc/run.t \
+      tests/bin/draft/run.t \
+      tests/bin/url-file/run.t
+  '';
+
+  preCheck = ''
+    # it fails when it tries to reference "./make_check_deterministic.exe"
+    rm -r tests/bin/check
   '';
 
   # tool specific env vars have been deprecated, use PATH
diff --git a/nixpkgs/pkgs/development/tools/ocaml/ocamlformat/default.nix b/nixpkgs/pkgs/development/tools/ocaml/ocamlformat/default.nix
index 4c8a4b9e9d0c..24d94fbcf249 100644
--- a/nixpkgs/pkgs/development/tools/ocaml/ocamlformat/default.nix
+++ b/nixpkgs/pkgs/development/tools/ocaml/ocamlformat/default.nix
@@ -56,5 +56,9 @@ rec {
     version = "0.18.0";
   };
 
-  ocamlformat = ocamlformat_0_18_0;
+  ocamlformat_0_19_0 = mkOCamlformat {
+    version = "0.19.0";
+  };
+
+  ocamlformat = ocamlformat_0_19_0;
 }
diff --git a/nixpkgs/pkgs/development/tools/ocaml/ocamlformat/generic.nix b/nixpkgs/pkgs/development/tools/ocaml/ocamlformat/generic.nix
index 536fcd4acb16..afd7ae8807ba 100644
--- a/nixpkgs/pkgs/development/tools/ocaml/ocamlformat/generic.nix
+++ b/nixpkgs/pkgs/development/tools/ocaml/ocamlformat/generic.nix
@@ -22,6 +22,7 @@ let src =
       "0.16.0" = "1vwjvvwha0ljc014v8jp8snki5zsqxlwd7x0dl0rg2i9kcmwc4mr";
       "0.17.0" = "0f1lxp697yq61z8gqxjjaqd2ns8fd1vjfggn55x0gh9dx098p138";
       "0.18.0" = "0571kzmb1h03qj74090n3mg8wfbh29qqrkdjkai6rnl5chll86lq";
+      "0.19.0" = "0ihgwl7d489g938m1jvgx8azdgq9f5np5mzqwwya797hx2m4dz32";
     }."${version}";
   };
   ocamlPackages =
@@ -46,7 +47,24 @@ buildDunePackage {
   useDune2 = true;
 
   buildInputs =
-    if lib.versionAtLeast version "0.18.0"
+    if lib.versionAtLeast version "0.19.0"
+    then [
+      base
+      cmdliner
+      fpath
+      re
+      stdio
+      uuseg
+      uutf
+      fix
+      menhir
+      menhirLib
+      menhirSdk
+      ocp-indent
+      dune-build-info
+      odoc-parser
+    ]
+    else if lib.versionAtLeast version "0.18.0"
     then [
       base
       cmdliner
diff --git a/nixpkgs/pkgs/development/tools/ocaml/ocp-index/default.nix b/nixpkgs/pkgs/development/tools/ocaml/ocp-index/default.nix
index c14cd7ddc041..716e2679a94a 100644
--- a/nixpkgs/pkgs/development/tools/ocaml/ocp-index/default.nix
+++ b/nixpkgs/pkgs/development/tools/ocaml/ocp-index/default.nix
@@ -1,14 +1,16 @@
-{ lib, fetchzip, buildDunePackage, cppo, ocp-indent, cmdliner, re }:
+{ lib, fetchFromGitHub, buildDunePackage, cppo, ocp-indent, cmdliner, re }:
 
 buildDunePackage rec {
   pname = "ocp-index";
-  version = "1.2.2";
+  version = "1.3.1";
 
   useDune2 = true;
 
-  src = fetchzip {
-    url = "https://github.com/OCamlPro/ocp-index/archive/${version}.tar.gz";
-    sha256 = "0k4i0aabyn750f4wqbnk0yv10kdjd6nhjw2pbmpc4cz639qcsm40";
+  src = fetchFromGitHub {
+    owner = "OCamlPro";
+    repo = "ocp-index";
+    rev = version;
+    sha256 = "120w72fqymjp6ibicbp31jyx9yv34mdvgkr0zdfpzvfb7lgd8rc7";
   };
 
   buildInputs = [ cppo cmdliner re ];
@@ -18,6 +20,7 @@ buildDunePackage rec {
   meta = {
     homepage = "https://www.typerex.org/ocp-index.html";
     description = "A simple and light-weight documentation extractor for OCaml";
+    changelog = "https://github.com/OCamlPro/ocp-index/raw/${version}/CHANGES.md";
     license = lib.licenses.lgpl3;
     maintainers = with lib.maintainers; [ vbgl ];
   };
diff --git a/nixpkgs/pkgs/development/tools/ocaml/omake/0.9.8.6-rc1.nix b/nixpkgs/pkgs/development/tools/ocaml/omake/0.9.8.6-rc1.nix
index 5a4b55cc7fec..090794b33116 100644
--- a/nixpkgs/pkgs/development/tools/ocaml/omake/0.9.8.6-rc1.nix
+++ b/nixpkgs/pkgs/development/tools/ocaml/omake/0.9.8.6-rc1.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ ocaml ncurses ];
 
-  phases = "unpackPhase patchPhase buildPhase";
+  dontInstall = true;
   buildPhase = ''
     make bootstrap
     make PREFIX=$out all
diff --git a/nixpkgs/pkgs/development/tools/ocaml/opam/default.nix b/nixpkgs/pkgs/development/tools/ocaml/opam/default.nix
index bd33d4cc1d34..eb0d284c0821 100644
--- a/nixpkgs/pkgs/development/tools/ocaml/opam/default.nix
+++ b/nixpkgs/pkgs/development/tools/ocaml/opam/default.nix
@@ -6,62 +6,74 @@ assert lib.versionAtLeast ocaml.version "4.02.3";
 
 let
   srcs = {
-    cmdliner = fetchurl {
-      url = "http://erratique.ch/software/cmdliner/releases/cmdliner-1.0.2.tbz";
-      sha256 = "18jqphjiifljlh9jg8zpl6310p3iwyaqphdkmf89acyaix0s4kj1";
+    "0install-solver" = fetchurl {
+      url = "https://github.com/0install/0install/releases/download/v2.17/0install-v2.17.tbz";
+      sha256 = "08q95mzmf9pyyqs68ff52422f834hi313cxmypwrxmxsabcfa10p";
     };
-    cppo = fetchurl {
-      url = "https://github.com/ocaml-community/cppo/releases/download/v1.6.6/cppo-v1.6.6.tbz";
-      sha256 = "185q0x54id7pfc6rkbjscav8sjkrg78fz65rgfw7b4bqlyb2j9z7";
+    "cmdliner" = fetchurl {
+      url = "http://erratique.ch/software/cmdliner/releases/cmdliner-1.0.4.tbz";
+      sha256 = "1h04q0zkasd0mw64ggh4y58lgzkhg6yhzy60lab8k8zq9ba96ajw";
     };
-    cudf = fetchurl {
+    "cppo" = fetchurl {
+      url = "https://github.com/ocaml-community/cppo/releases/download/v1.6.7/cppo-v1.6.7.tbz";
+      sha256 = "17ajdzrnmnyfig3s6hinb56mcmhywbssxhsq32dz0v90dhz3wmfv";
+    };
+    "cudf" = fetchurl {
       url = "https://gforge.inria.fr/frs/download.php/36602/cudf-0.9.tar.gz";
       sha256 = "0771lwljqwwn3cryl0plny5a5dyyrj4z6bw66ha5n8yfbpcy8clr";
     };
-    dose3 = fetchurl {
+    "dose3" = fetchurl {
       url = "https://gforge.inria.fr/frs/download.php/file/36063/dose3-5.0.1.tar.gz";
       sha256 = "00yvyfm4j423zqndvgc1ycnmiffaa2l9ab40cyg23pf51qmzk2jm";
     };
-    dune-local = fetchurl {
-      url = "https://github.com/ocaml/dune/releases/download/1.6.3/dune-1.6.3.tbz";
-      sha256 = "0dmf0wbfmgdy5plz1bjiisc2hjgblvxsnrqjmw2c8y45v1h23mdz";
+    "dune-local" = fetchurl {
+      url = "https://github.com/ocaml/dune/releases/download/2.9.0/dune-2.9.0.tbz";
+      sha256 = "07m476kgagpd6kzm3jq30yfxqspr2hychah0xfqs14z82zxpq8dv";
     };
-    extlib = fetchurl {
+    "extlib" = fetchurl {
       url = "https://ygrek.org/p/release/ocaml-extlib/extlib-1.7.7.tar.gz";
       sha256 = "1sxmzc1mx3kg62j8kbk0dxkx8mkf1rn70h542cjzrziflznap0s1";
     };
-    mccs = fetchurl {
-      url = "https://github.com/AltGr/ocaml-mccs/archive/1.1+11.tar.gz";
-      sha256 = "0mswapf37rav8nvvbjc4c7c7wnl6qwgd3c5v0nfifmr910qygz72";
+    "mccs" = fetchurl {
+      url = "https://github.com/AltGr/ocaml-mccs/archive/1.1+13.tar.gz";
+      sha256 = "05nnji9h8mss3hzjr5faid2v3xfr7rcv2ywmpcxxp28y6h2kv9gv";
+    };
+    "ocamlgraph" = fetchurl {
+      url = "https://github.com/backtracking/ocamlgraph/releases/download/2.0.0/ocamlgraph-2.0.0.tbz";
+      sha256 = "029692bvdz3hxpva9a2jg5w5381fkcw55ysdi8424lyyjxvjdzi0";
     };
-    ocamlgraph = fetchurl {
-      url = "http://ocamlgraph.lri.fr/download/ocamlgraph-1.8.8.tar.gz";
-      sha256 = "0m9g16wrrr86gw4fz2fazrh8nkqms0n863w7ndcvrmyafgxvxsnr";
+    "opam-0install-cudf" = fetchurl {
+      url = "https://github.com/ocaml-opam/opam-0install-solver/releases/download/v0.4.2/opam-0install-cudf-v0.4.2.tbz";
+      sha256 = "10wma4hh9l8hk49rl8nql6ixsvlz3163gcxspay5fwrpbg51fmxr";
     };
-    opam-file-format = fetchurl {
-      url = "https://github.com/ocaml/opam-file-format/archive/2.0.0.tar.gz";
-      sha256 = "0cjw69r7iilidi7b6arr92kjnjspchvwnmwr1b1gyaxqxpr2s98m";
+    "opam-file-format" = fetchurl {
+      url = "https://github.com/ocaml/opam-file-format/archive/2.1.3.tar.gz";
+      sha256 = "1bqyrlsvmjf4gqzmzbiyja9m1ph30ic9i18x23p5ziymyylw2sfg";
     };
-    re = fetchurl {
+    "re" = fetchurl {
       url = "https://github.com/ocaml/ocaml-re/releases/download/1.9.0/re-1.9.0.tbz";
       sha256 = "1gas4ky49zgxph3870nffzkr6y41kkpqp4nj38pz1gh49zcf12aj";
     };
-    result = fetchurl {
-      url = "https://github.com/janestreet/result/archive/1.4.tar.gz";
-      sha256 = "1cjlncnzkwc6zr4v8dgy8nin490blbyxzwwp0qh0cla7s3q2jw0n";
+    "result" = fetchurl {
+      url = "https://github.com/janestreet/result/releases/download/1.5/result-1.5.tbz";
+      sha256 = "0cpfp35fdwnv3p30a06wd0py3805qxmq3jmcynjc3x2qhlimwfkw";
+    };
+    "seq" = fetchurl {
+      url = "https://github.com/c-cube/seq/archive/0.2.2.tar.gz";
+      sha256 = "1ck15v3pg8bacdg6d6iyp2jc3kgrzxk5jsgzx3287x2ycb897j53";
     };
-    seq = fetchurl {
-      url = "https://github.com/c-cube/seq/archive/0.1.tar.gz";
-      sha256 = "02lb2d9i12bxrz2ba5wygk2bycan316skqlyri0597q7j9210g8r";
+    "stdlib-shims" = fetchurl {
+      url = "https://github.com/ocaml/stdlib-shims/releases/download/0.3.0/stdlib-shims-0.3.0.tbz";
+      sha256 = "0jnqsv6pqp5b5g7lcjwgd75zqqvcwcl5a32zi03zg1kvj79p5gxs";
     };
     opam = fetchurl {
-      url = "https://github.com/ocaml/opam/archive/2.0.8.zip";
-      sha256 = "1h55jh4nnx1fcn7v7ss3fgxrn6ixkgnq7pvg5njz8c9xq4njwbc1";
+      url = "https://github.com/ocaml/opam/archive/2.1.0.zip";
+      sha256 = "063df5gsvp4yrbqbnd8k7a1f04cf12prc5wh4f1200acs3jwjxwb";
     };
   };
 in stdenv.mkDerivation {
   pname = "opam";
-  version = "2.0.8";
+  version = "2.1.0";
 
   nativeBuildInputs = [ makeWrapper unzip ];
   buildInputs = [ curl ncurses ocaml getconf ] ++ lib.optional stdenv.isLinux bubblewrap;
@@ -69,18 +81,21 @@ in stdenv.mkDerivation {
   src = srcs.opam;
 
   postUnpack = ''
-    ln -sv ${srcs.cmdliner} $sourceRoot/src_ext/cmdliner.tbz
-    ln -sv ${srcs.cppo} $sourceRoot/src_ext/cppo.tbz
-    ln -sv ${srcs.cudf} $sourceRoot/src_ext/cudf.tar.gz
-    ln -sv ${srcs.dose3} $sourceRoot/src_ext/dose3.tar.gz
-    ln -sv ${srcs.dune-local} $sourceRoot/src_ext/dune-local.tbz
-    ln -sv ${srcs.extlib} $sourceRoot/src_ext/extlib.tar.gz
-    ln -sv ${srcs.mccs} $sourceRoot/src_ext/mccs.tar.gz
-    ln -sv ${srcs.ocamlgraph} $sourceRoot/src_ext/ocamlgraph.tar.gz
-    ln -sv ${srcs.opam-file-format} $sourceRoot/src_ext/opam-file-format.tar.gz
-    ln -sv ${srcs.re} $sourceRoot/src_ext/re.tbz
-    ln -sv ${srcs.result} $sourceRoot/src_ext/result.tar.gz
-    ln -sv ${srcs.seq} $sourceRoot/src_ext/seq.tar.gz
+    ln -sv ${srcs."0install-solver"} $sourceRoot/src_ext/0install-solver.tbz
+    ln -sv ${srcs."cmdliner"} $sourceRoot/src_ext/cmdliner.tbz
+    ln -sv ${srcs."cppo"} $sourceRoot/src_ext/cppo.tbz
+    ln -sv ${srcs."cudf"} $sourceRoot/src_ext/cudf.tar.gz
+    ln -sv ${srcs."dose3"} $sourceRoot/src_ext/dose3.tar.gz
+    ln -sv ${srcs."dune-local"} $sourceRoot/src_ext/dune-local.tbz
+    ln -sv ${srcs."extlib"} $sourceRoot/src_ext/extlib.tar.gz
+    ln -sv ${srcs."mccs"} $sourceRoot/src_ext/mccs.tar.gz
+    ln -sv ${srcs."ocamlgraph"} $sourceRoot/src_ext/ocamlgraph.tbz
+    ln -sv ${srcs."opam-0install-cudf"} $sourceRoot/src_ext/opam-0install-cudf.tbz
+    ln -sv ${srcs."opam-file-format"} $sourceRoot/src_ext/opam-file-format.tar.gz
+    ln -sv ${srcs."re"} $sourceRoot/src_ext/re.tbz
+    ln -sv ${srcs."result"} $sourceRoot/src_ext/result.tbz
+    ln -sv ${srcs."seq"} $sourceRoot/src_ext/seq.tar.gz
+    ln -sv ${srcs."stdlib-shims"} $sourceRoot/src_ext/stdlib-shims.tbz
   '';
 
   patches = [ ./opam-shebangs.patch ];
@@ -118,4 +133,4 @@ in stdenv.mkDerivation {
     platforms = platforms.all;
   };
 }
-# Generated by: ./opam.nix.pl -v 2.0.8 -p opam-shebangs.patch
+# Generated by: ./opam.nix.pl -v 2.1.0 -p opam-shebangs.patch
diff --git a/nixpkgs/pkgs/development/tools/ocaml/opam/opam-shebangs.patch b/nixpkgs/pkgs/development/tools/ocaml/opam/opam-shebangs.patch
index 13aa7a895708..72efec0a9105 100644
--- a/nixpkgs/pkgs/development/tools/ocaml/opam/opam-shebangs.patch
+++ b/nixpkgs/pkgs/development/tools/ocaml/opam/opam-shebangs.patch
@@ -2,7 +2,7 @@ diff --git a/src/client/opamInitDefaults.ml b/src/client/opamInitDefaults.ml
 index eca13a7c..1fd66f43 100644
 --- a/src/client/opamInitDefaults.ml
 +++ b/src/client/opamInitDefaults.ml
-@@ -35,11 +35,15 @@ let eval_variables = [
+@@ -35,14 +35,18 @@ let eval_variables = [
  let os_filter os =
    FOp (FIdent ([], OpamVariable.of_string "os", None), `Eq, FString os)
  
@@ -13,6 +13,9 @@ index eca13a7c..1fd66f43 100644
  let macos_filter = os_filter "macos"
  let openbsd_filter = os_filter "openbsd"
  let freebsd_filter = os_filter "freebsd"
+ let not_open_free_bsd_filter =
+   FNot (FOr (openbsd_filter,  freebsd_filter))
+ let win32_filter = os_filter "win32"
  let sandbox_filter = FOr (linux_filter, macos_filter)
 +let nixos_filter = os_distribution_filter "nixos"
  
diff --git a/nixpkgs/pkgs/development/tools/ocaml/opam/opam.nix.pl b/nixpkgs/pkgs/development/tools/ocaml/opam/opam.nix.pl
index bfaea0c7ef30..c914bac8b5c6 100755
--- a/nixpkgs/pkgs/development/tools/ocaml/opam/opam.nix.pl
+++ b/nixpkgs/pkgs/development/tools/ocaml/opam/opam.nix.pl
@@ -51,7 +51,7 @@ for my $src (sort keys %urls) {
   system "echo \Q$md5s{$src}\E' *'\Q$store_path\E | md5sum -c 1>&2";
   die "md5 check failed for $urls{$src}\n" if $?;
   print <<"EOF";
-    $src = fetchurl {
+    "$src" = fetchurl {
       url = "$urls{$src}";
       sha256 = "$sha256";
     };
@@ -68,8 +68,8 @@ in stdenv.mkDerivation {
   pname = "opam";
   version = "$OPAM_RELEASE";
 
-  nativeBuildInputs = [ unzip ];
-  buildInputs = [ curl ncurses ocaml makeWrapper getconf ] ++ lib.optional stdenv.isLinux bubblewrap;
+  nativeBuildInputs = [ makeWrapper unzip ];
+  buildInputs = [ curl ncurses ocaml getconf ] ++ lib.optional stdenv.isLinux bubblewrap;
 
   src = srcs.opam;
 
@@ -79,7 +79,7 @@ for my $src (sort keys %urls) {
   my($ext) = $urls{$src} =~ /(\.(?:t(?:ar\.|)|)(?:gz|bz2?))$/
     or die "could not find extension for $urls{$src}\n";
   print <<"EOF";
-    ln -sv \${srcs.$src} \$sourceRoot/src_ext/$src$ext
+    ln -sv \${srcs."$src"} \$sourceRoot/src_ext/$src$ext
 EOF
 }
 print <<'EOF';
diff --git a/nixpkgs/pkgs/development/tools/ocaml/utop/default.nix b/nixpkgs/pkgs/development/tools/ocaml/utop/default.nix
index 361f64046ceb..913871314cfe 100644
--- a/nixpkgs/pkgs/development/tools/ocaml/utop/default.nix
+++ b/nixpkgs/pkgs/development/tools/ocaml/utop/default.nix
@@ -34,7 +34,7 @@ buildDunePackage rec {
 
        buildInputs = [ findlib ] ++ propagatedBuildInputs;
 
-       phases = [ "installPhase" ];
+       dontUnpack = true;
 
        installPhase = ''
          mkdir -p "$out"/${path}
diff --git a/nixpkgs/pkgs/development/tools/omnisharp-roslyn/create-deps.sh b/nixpkgs/pkgs/development/tools/omnisharp-roslyn/create-deps.sh
index 402d64c9b612..25ced7b95fd3 100755
--- a/nixpkgs/pkgs/development/tools/omnisharp-roslyn/create-deps.sh
+++ b/nixpkgs/pkgs/development/tools/omnisharp-roslyn/create-deps.sh
@@ -20,6 +20,7 @@ mapfile -t repos < <(
 
 msbuild -t:restore -p:Configuration=Release -p:RestorePackagesPath="$tmpdir" \
         -p:RestoreNoCache=true -p:RestoreForce=true \
+        -p:NuGetPackageVersion=5.9.1-rc.8 \
         src/OmniSharp.Stdio.Driver/OmniSharp.Stdio.Driver.csproj >&2
 
 cd "$tmpdir"
diff --git a/nixpkgs/pkgs/development/tools/omnisharp-roslyn/default.nix b/nixpkgs/pkgs/development/tools/omnisharp-roslyn/default.nix
index 7cf36fd1f89c..da15f47b6a2c 100644
--- a/nixpkgs/pkgs/development/tools/omnisharp-roslyn/default.nix
+++ b/nixpkgs/pkgs/development/tools/omnisharp-roslyn/default.nix
@@ -77,10 +77,16 @@ in stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ makeWrapper msbuild ];
 
+  # NuGetPackageVersion is overridden to be to be compatible with msbuild 16.10,
+  # it needs to be kept in sync with ./create-deps.sh
   buildPhase = ''
     runHook preBuild
 
-    HOME=$(pwd)/fake-home msbuild -r -p:Configuration=Release -p:RestoreConfigFile=${nuget-config} src/OmniSharp.Stdio.Driver/OmniSharp.Stdio.Driver.csproj
+    HOME=$(pwd)/fake-home msbuild -r \
+      -p:Configuration=Release \
+      -p:RestoreConfigFile=${nuget-config} \
+      -p:NuGetPackageVersion=5.9.1-rc.8 \
+      src/OmniSharp.Stdio.Driver/OmniSharp.Stdio.Driver.csproj
 
     runHook postBuild
   '';
@@ -97,7 +103,7 @@ in stdenv.mkDerivation rec {
     ln -s ${msbuild}/lib/mono/msbuild/Current/bin $out/src/.msbuild/Current/Bin
 
     makeWrapper ${mono6}/bin/mono $out/bin/omnisharp \
-      --prefix PATH : ${dotnet-sdk}/bin \
+      --suffix PATH : ${dotnet-sdk}/bin \
       --add-flags "$out/src/OmniSharp.exe"
   '';
 
diff --git a/nixpkgs/pkgs/development/tools/omnisharp-roslyn/deps.nix b/nixpkgs/pkgs/development/tools/omnisharp-roslyn/deps.nix
index b64d5894da81..e90424dd781b 100644
--- a/nixpkgs/pkgs/development/tools/omnisharp-roslyn/deps.nix
+++ b/nixpkgs/pkgs/development/tools/omnisharp-roslyn/deps.nix
@@ -707,8 +707,8 @@
     name = "microsoft.visualstudio.debugger.contracts";
     version = "17.2.0-beta.21262.1";
     src = fetchurl {
-      url = "https://pkgs.dev.azure.com/azure-public/3ccf6661-f8ce-4e8a-bb2e-eff943ddd3c7/_packaging/78665e4c-b767-412b-9804-2b1ef7a48b8a/nuget/v3/flat2/microsoft.visualstudio.debugger.contracts/17.2.0-beta.21262.1/microsoft.visualstudio.debugger.contracts.17.2.0-beta.21262.1.nupkg";
-      sha256 = "10fi1jdxnxvww1qzfhqi53fn0a411gvpvcsb0pvwvj7qk0lzs7c9";
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.visualstudio.debugger.contracts/17.2.0-beta.21262.1/microsoft.visualstudio.debugger.contracts.17.2.0-beta.21262.1.nupkg";
+      sha256 = "148gb4k28fch1rhh6kr82dajl7qnvjxvkxvc8igy7zra70nvbx74";
     };
   }
   {
@@ -840,6 +840,14 @@
     };
   }
   {
+    name = "nuget.common";
+    version = "5.9.1-rc.8";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.common/5.9.1-rc.8/nuget.common.5.9.1-rc.8.nupkg";
+      sha256 = "056b1h4fvik6z2qc2s6qzz0s4acbipc50af14fbr7hd9h2fxya4c";
+    };
+  }
+  {
     name = "nuget.configuration";
     version = "5.2.0";
     src = fetchurl {
@@ -848,6 +856,14 @@
     };
   }
   {
+    name = "nuget.configuration";
+    version = "5.9.1-rc.8";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.configuration/5.9.1-rc.8/nuget.configuration.5.9.1-rc.8.nupkg";
+      sha256 = "0x8vigf0sfp6kf1i98xcr4k84vci596x16hmajdm0zgv3p1w2kvk";
+    };
+  }
+  {
     name = "nuget.dependencyresolver.core";
     version = "5.2.0";
     src = fetchurl {
@@ -856,6 +872,14 @@
     };
   }
   {
+    name = "nuget.dependencyresolver.core";
+    version = "5.9.1-rc.8";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.dependencyresolver.core/5.9.1-rc.8/nuget.dependencyresolver.core.5.9.1-rc.8.nupkg";
+      sha256 = "1q9a97s1z3a6fb4p82ag2lqnzl53895prbqwlbvckdw9c3rpz3gc";
+    };
+  }
+  {
     name = "nuget.frameworks";
     version = "5.0.0";
     src = fetchurl {
@@ -872,6 +896,14 @@
     };
   }
   {
+    name = "nuget.frameworks";
+    version = "5.9.1-rc.8";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.frameworks/5.9.1-rc.8/nuget.frameworks.5.9.1-rc.8.nupkg";
+      sha256 = "1n3mp9ns79yq4dwgj7h2av3b485mzgsw0qlj8z7p47krwlzp5hiv";
+    };
+  }
+  {
     name = "nuget.librarymodel";
     version = "5.2.0";
     src = fetchurl {
@@ -880,6 +912,14 @@
     };
   }
   {
+    name = "nuget.librarymodel";
+    version = "5.9.1-rc.8";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.librarymodel/5.9.1-rc.8/nuget.librarymodel.5.9.1-rc.8.nupkg";
+      sha256 = "0sy8422c94wcg8ka85lnawq26mpixl79avk9m6y44lshrpga5v4v";
+    };
+  }
+  {
     name = "nuget.packaging";
     version = "5.2.0";
     src = fetchurl {
@@ -888,11 +928,19 @@
     };
   }
   {
+    name = "nuget.packaging";
+    version = "5.9.1-rc.8";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.packaging/5.9.1-rc.8/nuget.packaging.5.9.1-rc.8.nupkg";
+      sha256 = "0x9c3v741nn6m2xgidna88fa4xj5avhv6asj73hqv4pzpdprlrhv";
+    };
+  }
+  {
     name = "nuget.packaging.core";
-    version = "5.2.0";
+    version = "5.9.1-rc.8";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/nuget.packaging.core/5.2.0/nuget.packaging.core.5.2.0.nupkg";
-      sha256 = "16sm2amzvbpmisb6x6dz1pvj1h3xm67vd2byl1wl13vrda0az3xb";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.packaging.core/5.9.1-rc.8/nuget.packaging.core.5.9.1-rc.8.nupkg";
+      sha256 = "0vsaixmla4zh277xpn5ngbmi2f52hb26aqzr0z9l4a3mlpi4l5nx";
     };
   }
   {
@@ -904,6 +952,14 @@
     };
   }
   {
+    name = "nuget.projectmodel";
+    version = "5.9.1-rc.8";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.projectmodel/5.9.1-rc.8/nuget.projectmodel.5.9.1-rc.8.nupkg";
+      sha256 = "1xjh7isw467nkc7dkfj3wlw69vi2cns66z152jrzjdmxmia3i3pv";
+    };
+  }
+  {
     name = "nuget.protocol";
     version = "5.2.0";
     src = fetchurl {
@@ -912,6 +968,14 @@
     };
   }
   {
+    name = "nuget.protocol";
+    version = "5.9.1-rc.8";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.protocol/5.9.1-rc.8/nuget.protocol.5.9.1-rc.8.nupkg";
+      sha256 = "1rnrxzaciqhhgwd4by0dhkvfrm1h161vvmkvlcwaz2589sqq2dzq";
+    };
+  }
+  {
     name = "nuget.versioning";
     version = "5.2.0";
     src = fetchurl {
@@ -920,6 +984,14 @@
     };
   }
   {
+    name = "nuget.versioning";
+    version = "5.9.1-rc.8";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.versioning/5.9.1-rc.8/nuget.versioning.5.9.1-rc.8.nupkg";
+      sha256 = "1vv7z122ilsk2rsvjm6j3hpifb45g8wa1mgnq1kwi9k8b2dbb6vv";
+    };
+  }
+  {
     name = "omnisharp.extensions.jsonrpc";
     version = "0.19.0";
     src = fetchurl {
@@ -1320,14 +1392,6 @@
     };
   }
   {
-    name = "system.diagnostics.process";
-    version = "4.3.0";
-    src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/system.diagnostics.process/4.3.0/system.diagnostics.process.4.3.0.nupkg";
-      sha256 = "0g4prsbkygq8m21naqmcp70f24a1ksyix3dihb1r1f71lpi3cfj7";
-    };
-  }
-  {
     name = "system.diagnostics.tools";
     version = "4.3.0";
     src = fetchurl {
@@ -1344,14 +1408,6 @@
     };
   }
   {
-    name = "system.dynamic.runtime";
-    version = "4.3.0";
-    src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/system.dynamic.runtime/4.3.0/system.dynamic.runtime.4.3.0.nupkg";
-      sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk";
-    };
-  }
-  {
     name = "system.globalization";
     version = "4.0.11";
     src = fetchurl {
@@ -1888,6 +1944,14 @@
     };
   }
   {
+    name = "system.security.cryptography.cng";
+    version = "5.0.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/system.security.cryptography.cng/5.0.0/system.security.cryptography.cng.5.0.0.nupkg";
+      sha256 = "06hkx2za8jifpslkh491dfwzm5dxrsyxzj5lsc0achb6yzg4zqlw";
+    };
+  }
+  {
     name = "system.security.cryptography.csp";
     version = "4.3.0";
     src = fetchurl {
@@ -1920,6 +1984,14 @@
     };
   }
   {
+    name = "system.security.cryptography.pkcs";
+    version = "5.0.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/system.security.cryptography.pkcs/5.0.0/system.security.cryptography.pkcs.5.0.0.nupkg";
+      sha256 = "0hb2mndac3xrw3786bsjxjfh19bwnr991qib54k6wsqjhjyyvbwj";
+    };
+  }
+  {
     name = "system.security.cryptography.primitives";
     version = "4.3.0";
     src = fetchurl {
@@ -1929,10 +2001,10 @@
   }
   {
     name = "system.security.cryptography.protecteddata";
-    version = "4.3.0";
+    version = "4.4.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/system.security.cryptography.protecteddata/4.3.0/system.security.cryptography.protecteddata.4.3.0.nupkg";
-      sha256 = "1kg264xmqabyz8gfg8ymp6qp6aw43vawfp0znf0909d7b5jd3dq9";
+      url = "https://api.nuget.org/v3-flatcontainer/system.security.cryptography.protecteddata/4.4.0/system.security.cryptography.protecteddata.4.4.0.nupkg";
+      sha256 = "1q8ljvqhasyynp94a1d7jknk946m20lkwy2c3wa8zw2pc517fbj6";
     };
   }
   {
@@ -2152,22 +2224,6 @@
     };
   }
   {
-    name = "system.threading.thread";
-    version = "4.3.0";
-    src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/system.threading.thread/4.3.0/system.threading.thread.4.3.0.nupkg";
-      sha256 = "0y2xiwdfcph7znm2ysxanrhbqqss6a3shi1z3c779pj2s523mjx4";
-    };
-  }
-  {
-    name = "system.threading.threadpool";
-    version = "4.3.0";
-    src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/system.threading.threadpool/4.3.0/system.threading.threadpool.4.3.0.nupkg";
-      sha256 = "027s1f4sbx0y1xqw2irqn6x161lzj8qwvnh2gn78ciiczdv10vf1";
-    };
-  }
-  {
     name = "system.threading.timer";
     version = "4.3.0";
     src = fetchurl {
diff --git a/nixpkgs/pkgs/development/tools/open-policy-agent/default.nix b/nixpkgs/pkgs/development/tools/open-policy-agent/default.nix
index 17dc0900fdb3..2d87fea8ff55 100644
--- a/nixpkgs/pkgs/development/tools/open-policy-agent/default.nix
+++ b/nixpkgs/pkgs/development/tools/open-policy-agent/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "open-policy-agent";
-  version = "0.30.2";
+  version = "0.31.0";
 
   src = fetchFromGitHub {
     owner = "open-policy-agent";
     repo = "opa";
     rev = "v${version}";
-    sha256 = "sha256-pyqG8k2jHUhYZ1ftfAjxpJ4H1P1uWfqSdGcyR7pw1rE=";
+    sha256 = "sha256-SUMTyqzeaCTj/fVdDHFZkh43t+mIFGNt6wendOt9gfw=";
   };
   vendorSha256 = null;
 
diff --git a/nixpkgs/pkgs/development/tools/operator-sdk/default.nix b/nixpkgs/pkgs/development/tools/operator-sdk/default.nix
index 0df831b579e1..908a5e6c23da 100644
--- a/nixpkgs/pkgs/development/tools/operator-sdk/default.nix
+++ b/nixpkgs/pkgs/development/tools/operator-sdk/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "operator-sdk";
-  version = "1.5.0";
+  version = "1.11.0";
 
   src = fetchFromGitHub {
     owner = "operator-framework";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-95fTfUKoknGBIoc/ALd5w9X89Tl9DBxapl9EgWENsa0=";
+    sha256 = "sha256-5eW2yrlUI0B5YNi9BtDjPsTC2vwavEXAMppa5rv5xhE=";
   };
 
-  vendorSha256 = "sha256-Sp0ml5tnsbnuyk3NkA80dmFj6IOiL/NeYYbEbr7EPRY=";
+  vendorSha256 = "sha256-gATpYjGKxOfXUnfSZ5uXrVbIydiEbijYR2axPluE5YU=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/tools/oq/default.nix b/nixpkgs/pkgs/development/tools/oq/default.nix
index f10136793bf0..499398c5c5d8 100644
--- a/nixpkgs/pkgs/development/tools/oq/default.nix
+++ b/nixpkgs/pkgs/development/tools/oq/default.nix
@@ -8,13 +8,13 @@
 
 crystal.buildCrystalPackage rec {
   pname = "oq";
-  version = "1.2.0";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     owner = "Blacksmoke16";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-vMW+N3N6H8S6dNm4eBJo2tSxSiouG92t4Nq3cYSWcw0=";
+    sha256 = "sha256-RJVAEbNLlYNnOL/RDG0R9f8fHhNWtR+IMnnjtLK4e34=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/development/tools/osslsigncode/default.nix b/nixpkgs/pkgs/development/tools/osslsigncode/default.nix
index e9dd2f08d3ae..fb4abb21c58b 100644
--- a/nixpkgs/pkgs/development/tools/osslsigncode/default.nix
+++ b/nixpkgs/pkgs/development/tools/osslsigncode/default.nix
@@ -1,24 +1,26 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchFromGitHub
 , autoreconfHook
-, libgsf
 , pkg-config
-, openssl
 , curl
+, openssl
 }:
 
 stdenv.mkDerivation rec {
   pname = "osslsigncode";
-  version = "2.1";
+  version = "2.2";
 
   src = fetchFromGitHub {
     owner = "mtrojnar";
     repo = pname;
     rev = version;
-    sha256 = "0iwxdzqan2bswz62pmwjcyh01vs6ifpdcannw3s192gqzac1lgg3";
+    sha256 = "sha256-/YKj6JkVbQ4Fz+KSmBIRQ7F7A8fxi5Eg+pvKwhjpGYQ=";
   };
 
-  nativeBuildInputs = [ autoreconfHook libgsf pkg-config openssl curl ];
+  nativeBuildInputs = [ autoreconfHook pkg-config ];
+
+  buildInputs = [ curl openssl ];
 
   meta = with lib; {
     homepage = "https://github.com/mtrojnar/osslsigncode";
diff --git a/nixpkgs/pkgs/development/tools/packer/default.nix b/nixpkgs/pkgs/development/tools/packer/default.nix
index c48cf727d208..7b86f8da10ed 100644
--- a/nixpkgs/pkgs/development/tools/packer/default.nix
+++ b/nixpkgs/pkgs/development/tools/packer/default.nix
@@ -15,7 +15,7 @@ buildGoModule rec {
 
   subPackages = [ "." ];
 
-  buildFlagsArray = [ "-ldflags=-s -w" ];
+  ldflags = [ "-s" "-w" ];
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/nixpkgs/pkgs/development/tools/parse-cli-bin/default.nix b/nixpkgs/pkgs/development/tools/parse-cli-bin/default.nix
index 7cda74db5ef6..33dbd0fec181 100644
--- a/nixpkgs/pkgs/development/tools/parse-cli-bin/default.nix
+++ b/nixpkgs/pkgs/development/tools/parse-cli-bin/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     license     = licenses.bsd3;
   };
 
-  phases = "installPhase";
+  dontUnpack = true;
 
   installPhase = ''
     mkdir -p "$out/bin"
diff --git a/nixpkgs/pkgs/development/tools/parsing/byacc/default.nix b/nixpkgs/pkgs/development/tools/parsing/byacc/default.nix
index f71b28d7e127..7f9aacd8ce78 100644
--- a/nixpkgs/pkgs/development/tools/parsing/byacc/default.nix
+++ b/nixpkgs/pkgs/development/tools/parsing/byacc/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "byacc";
-  version = "20210619";
+  version = "20210808";
 
   src = fetchurl {
     urls = [
       "ftp://ftp.invisible-island.net/byacc/${pname}-${version}.tgz"
       "https://invisible-mirror.net/archives/byacc/${pname}-${version}.tgz"
     ];
-    sha256 = "sha256-rN1ggNz5NXMqCOyOjEwWHGZs1W2MSQc5xtu2JnpJjA4=";
+    sha256 = "sha256-8VhSm+nQWUJjx/Eah2FqSeoj5VrGNpElKiME+7x9OoM=";
   };
 
   configureFlags = [
diff --git a/nixpkgs/pkgs/development/tools/parsing/flex/2.5.35.nix b/nixpkgs/pkgs/development/tools/parsing/flex/2.5.35.nix
index b2245ff9c9b9..ec2c9eeb2d1c 100644
--- a/nixpkgs/pkgs/development/tools/parsing/flex/2.5.35.nix
+++ b/nixpkgs/pkgs/development/tools/parsing/flex/2.5.35.nix
@@ -16,10 +16,10 @@ stdenv.mkDerivation {
 
   propagatedBuildInputs = [ m4 ];
 
-  preConfigure = lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
-    "ac_cv_func_malloc_0_nonnull=yes"
-    "ac_cv_func_realloc_0_nonnull=yes"
-  ];
+  preConfigure = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
+    ac_cv_func_malloc_0_nonnull=yes
+    ac_cv_func_realloc_0_nonnull=yes
+  '';
 
   doCheck = false; # fails 2 out of 46 tests
 
diff --git a/nixpkgs/pkgs/development/tools/parsing/flex/2.6.1.nix b/nixpkgs/pkgs/development/tools/parsing/flex/2.6.1.nix
index cc0ecb148c44..aeb141649772 100644
--- a/nixpkgs/pkgs/development/tools/parsing/flex/2.6.1.nix
+++ b/nixpkgs/pkgs/development/tools/parsing/flex/2.6.1.nix
@@ -18,10 +18,10 @@ stdenv.mkDerivation {
 
   propagatedBuildInputs = [ m4 ];
 
-  preConfigure = lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
-    "ac_cv_func_malloc_0_nonnull=yes"
-    "ac_cv_func_realloc_0_nonnull=yes"
-  ];
+  preConfigure = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
+    ac_cv_func_malloc_0_nonnull=yes
+    ac_cv_func_realloc_0_nonnull=yes
+  '';
 
   postConfigure = lib.optionalString (stdenv.isDarwin || stdenv.isCygwin) ''
     sed -i Makefile -e 's/-no-undefined//;'
diff --git a/nixpkgs/pkgs/development/tools/parsing/flex/default.nix b/nixpkgs/pkgs/development/tools/parsing/flex/default.nix
index 0bc26db57504..e0895bab68d8 100644
--- a/nixpkgs/pkgs/development/tools/parsing/flex/default.nix
+++ b/nixpkgs/pkgs/development/tools/parsing/flex/default.nix
@@ -33,10 +33,10 @@ stdenv.mkDerivation rec {
   buildInputs = [ bison ];
   propagatedBuildInputs = [ m4 ];
 
-  preConfigure = lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
-    "export ac_cv_func_malloc_0_nonnull=yes"
-    "export ac_cv_func_realloc_0_nonnull=yes"
-  ];
+  preConfigure = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
+    export ac_cv_func_malloc_0_nonnull=yes
+    export ac_cv_func_realloc_0_nonnull=yes
+  '';
 
   postConfigure = lib.optionalString (stdenv.isDarwin || stdenv.isCygwin) ''
     sed -i Makefile -e 's/-no-undefined//;'
diff --git a/nixpkgs/pkgs/development/tools/parsing/hammer/default.nix b/nixpkgs/pkgs/development/tools/parsing/hammer/default.nix
index 0a9dfdec0163..402f83bea16b 100644
--- a/nixpkgs/pkgs/development/tools/parsing/hammer/default.nix
+++ b/nixpkgs/pkgs/development/tools/parsing/hammer/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchgit, glib, pkg-config, python, scons }:
+{ lib, stdenv, fetchgit, glib, pkg-config, scons }:
 
 stdenv.mkDerivation {
   pname = "hammer";
@@ -10,8 +10,10 @@ stdenv.mkDerivation {
     rev = "47f34b81e4de834fd3537dd71928c4f3cdb7f533";
   };
 
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ glib python scons ];
+  nativeBuildInputs = [ pkg-config scons ];
+  buildInputs = [ glib ];
+
+  strictDeps = true;
 
   meta = with lib; {
     description = "A bit-oriented parser combinator library";
diff --git a/nixpkgs/pkgs/development/tools/parsing/lemon/default.nix b/nixpkgs/pkgs/development/tools/parsing/lemon/default.nix
index 3db9e0f6d9ed..9c8786950d22 100644
--- a/nixpkgs/pkgs/development/tools/parsing/lemon/default.nix
+++ b/nixpkgs/pkgs/development/tools/parsing/lemon/default.nix
@@ -19,7 +19,7 @@ in stdenv.mkDerivation {
   pname = "lemon";
   version = "1.69";
 
-  phases = [ "buildPhase" "installPhase" ];
+  dontUnpack = true;
 
   buildPhase = ''
     sh -xc "$CC ${srcs.lemon} -o lemon"
diff --git a/nixpkgs/pkgs/development/tools/parsing/ragel/default.nix b/nixpkgs/pkgs/development/tools/parsing/ragel/default.nix
index 6bbcf36cd2c2..c23b352decea 100644
--- a/nixpkgs/pkgs/development/tools/parsing/ragel/default.nix
+++ b/nixpkgs/pkgs/development/tools/parsing/ragel/default.nix
@@ -15,7 +15,7 @@ let
 
       buildInputs = lib.optional build-manual [ transfig ghostscript tex ];
 
-      preConfigure = lib.optional build-manual ''
+      preConfigure = lib.optionalString build-manual ''
         sed -i "s/build_manual=no/build_manual=yes/g" DIST
       '';
 
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/default.nix b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/default.nix
index 2671e4148b1d..10c551c1442a 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/default.nix
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/default.nix
@@ -3,10 +3,12 @@
   tree-sitter-bash = (builtins.fromJSON (builtins.readFile ./tree-sitter-bash.json));
   tree-sitter-c = (builtins.fromJSON (builtins.readFile ./tree-sitter-c.json));
   tree-sitter-c-sharp = (builtins.fromJSON (builtins.readFile ./tree-sitter-c-sharp.json));
+  tree-sitter-comment = (builtins.fromJSON (builtins.readFile ./tree-sitter-comment.json));
   tree-sitter-cpp = (builtins.fromJSON (builtins.readFile ./tree-sitter-cpp.json));
   tree-sitter-css = (builtins.fromJSON (builtins.readFile ./tree-sitter-css.json));
   tree-sitter-embedded-template = (builtins.fromJSON (builtins.readFile ./tree-sitter-embedded-template.json));
   tree-sitter-fennel = (builtins.fromJSON (builtins.readFile ./tree-sitter-fennel.json));
+  tree-sitter-fish = (builtins.fromJSON (builtins.readFile ./tree-sitter-fish.json));
   tree-sitter-fluent = (builtins.fromJSON (builtins.readFile ./tree-sitter-fluent.json));
   tree-sitter-go = (builtins.fromJSON (builtins.readFile ./tree-sitter-go.json));
   tree-sitter-haskell = (builtins.fromJSON (builtins.readFile ./tree-sitter-haskell.json));
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-comment.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-comment.json
new file mode 100644
index 000000000000..0037ab6c42d4
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-comment.json
@@ -0,0 +1,10 @@
+{
+  "url": "https://github.com/stsewd/tree-sitter-comment",
+  "rev": "8d480c0a86e3b95812252d29292b2686eb92418d",
+  "date": "2021-08-13T15:03:50-05:00",
+  "path": "/nix/store/4aqsac34f0pzpa889067dqci743axrmx-tree-sitter-comment",
+  "sha256": "0fqhgvpd391nxrpyhxcp674h8qph280ax6rm6dz1pj3lqs3grdka",
+  "fetchSubmodules": false,
+  "deepClone": false,
+  "leaveDotGit": false
+}
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cpp.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cpp.json
index f88c5f9cf996..4de8502e4151 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cpp.json
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cpp.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-cpp",
-  "rev": "c61212414a3e95b5f7507f98e83de1d638044adc",
-  "date": "2021-03-27T10:08:51-07:00",
-  "path": "/nix/store/a8cd3sv1j900sd8l7cdjw91iw7pp3jhv-tree-sitter-cpp",
-  "sha256": "04nv9j03q20idk9pnm2lgw7rbwzy5jf9v0y6l102by68z4lv79fi",
+  "rev": "53afc568b70e4b71ee799501f34c876ad511f56e",
+  "date": "2021-08-13T10:48:59-05:00",
+  "path": "/nix/store/6gj41lh1fnnmcrz4c1bk3ncw0kpm97nm-tree-sitter-cpp",
+  "sha256": "02avniqmb5hgpkzwmkgxhrxk296dbkra9miyi5pax461ab4j7a9r",
   "fetchSubmodules": false,
   "deepClone": false,
   "leaveDotGit": false
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-fish.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-fish.json
new file mode 100644
index 000000000000..4699358f6452
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-fish.json
@@ -0,0 +1,10 @@
+{
+  "url": "https://github.com/ram02z/tree-sitter-fish",
+  "rev": "04e54ab6585dfd4fee6ddfe5849af56f101b6d4f",
+  "date": "2021-08-02T21:46:56+01:00",
+  "path": "/nix/store/0n3jfh7gk16bmikix34y5m534ac12xgc-tree-sitter-fish",
+  "sha256": "1810z8ah1b09qpxcr4bh63bxsnxx24r6d2h46v2cpqv1lg0g4z14",
+  "fetchSubmodules": false,
+  "deepClone": false,
+  "leaveDotGit": false
+}
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-haskell.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-haskell.json
index 1e00f279d68f..1a0bf43fff47 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-haskell.json
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-haskell.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-haskell",
-  "rev": "a0c1adb59e390f7d839a146c57fdb33d36ed97e6",
-  "date": "2021-06-18T23:36:08+02:00",
-  "path": "/nix/store/7rl3najf8rn8ndh31vcxjz5px3r1scky-tree-sitter-haskell",
-  "sha256": "0a97w0qnj0fwy0yyg7hb9i1fyiwbyiz5mwx77aaw6md4jcsf4di8",
+  "rev": "30eea3c1339e573cda5dcffd8f9b06003ec31789",
+  "date": "2021-08-07T14:37:05+02:00",
+  "path": "/nix/store/b99w2q2y5gjj5h1bxipncaf40dyx5sd2-tree-sitter-haskell",
+  "sha256": "0cch7bcr4d9ll92vhcp79bjzs9dw0glvdrdj2q2h2mg5mmkzcya8",
   "fetchSubmodules": false,
   "deepClone": false,
   "leaveDotGit": false
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-html.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-html.json
index 8c190011fd0f..b2a0b71f41c2 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-html.json
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-html.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-html",
-  "rev": "d93af487cc75120c89257195e6be46c999c6ba18",
-  "date": "2021-03-04T14:11:18-08:00",
-  "path": "/nix/store/26yjfh6v17n4ajs9ln7x25sf1m3ijcjg-tree-sitter-html",
-  "sha256": "1hg7vbcy7bir6b8x11v0a4x0glvqnsqc3i2ixiarbxmycbgl3axy",
+  "rev": "af9339f3deb131ab99acfac906713b81dbcc41c9",
+  "date": "2021-07-11T11:04:28-07:00",
+  "path": "/nix/store/jg23pmi6jfy4kykah645gl44a145929c-tree-sitter-html",
+  "sha256": "1qb4rfbra3nc0fwmla8q1hb4r48k8cv3nl60zc24xhrw3q1d9zh1",
   "fetchSubmodules": false,
   "deepClone": false,
   "leaveDotGit": false
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-javascript.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-javascript.json
index 24fd79d5116c..08ad936562c4 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-javascript.json
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-javascript.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-javascript",
-  "rev": "6de6d604c243b68f90dce14130d536c694d90dcc",
-  "date": "2021-06-29T15:54:12-07:00",
-  "path": "/nix/store/mmz8s440zplg88c0mb0w3dlg94dzgxmf-tree-sitter-javascript",
-  "sha256": "1bz8xhs7q4lp49q1id6dvz93l7vf0gxgngsbjk3x1nvw8rg171j6",
+  "rev": "bc2eb3994fd7cc605d27a32f9fcbee80bbb57f6d",
+  "date": "2021-08-13T14:29:43-07:00",
+  "path": "/nix/store/jkq26hbij9si8ri8k5agkdadr3p1nmbi-tree-sitter-javascript",
+  "sha256": "0f6bny38za17mmwqw0q0nmdb4f9i0xs7kbzixxgi44yyd43r5pzp",
   "fetchSubmodules": false,
   "deepClone": false,
   "leaveDotGit": false
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-latex.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-latex.json
index fdc910c4fd5c..b96375e3caf0 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-latex.json
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-latex.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/latex-lsp/tree-sitter-latex",
-  "rev": "7f720661de5316c0f8fee956526d4002fa1086d8",
-  "date": "2021-05-11T16:35:53+02:00",
-  "path": "/nix/store/ssqxahrza89qmb97bxas6dvhbqd7w0dr-tree-sitter-latex",
-  "sha256": "14jfmbv3czs643bggcsi3pyxhf81jirpvg8hxcbcdx1f3fzhs16m",
+  "rev": "2c0d03a36ee979bc697f6a9dd119174cf0ef15e0",
+  "date": "2021-07-19T17:50:34+02:00",
+  "path": "/nix/store/vrpfbjfps3bd9vrx8760l0vx7m7ijhja-tree-sitter-latex",
+  "sha256": "0dfpdv5sibvajf2grlc0mqhyggjf6ip9j01jikk58n1yc9va88ib",
   "fetchSubmodules": false,
   "deepClone": false,
   "leaveDotGit": false
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-lua.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-lua.json
index ce1e4f1bb38d..be89244fc6e7 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-lua.json
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-lua.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/nvim-treesitter/tree-sitter-lua",
-  "rev": "b6d4e9e10ccb7b3afb45018fbc391b4439306b23",
-  "date": "2021-03-05T14:55:53+01:00",
-  "path": "/nix/store/mlvnfmm5q67810qdim11qs4ivq54jrmr-tree-sitter-lua",
-  "sha256": "17kf1m2qpflqv7xng6ls4v1qxfgdlpgxs4qjwb6rcc8nbcdsj4ms",
+  "rev": "6f5d40190ec8a0aa8c8410699353d820f4f7d7a6",
+  "date": "2021-08-02T15:13:28+02:00",
+  "path": "/nix/store/h1bhl291jac001w2c8fxi9w7dsqxq5q0-tree-sitter-lua",
+  "sha256": "05ash0l46s66q9yamzzh6ghk8yv0vas13c7dmz0c9xljbjk5ab1d",
   "fetchSubmodules": false,
   "deepClone": false,
   "leaveDotGit": false
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-nix.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-nix.json
index ff638a08baf0..f857c40c4fe1 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-nix.json
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-nix.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/cstrahan/tree-sitter-nix",
-  "rev": "50f38ceab667f9d482640edfee803d74f4edeba5",
-  "date": "2021-04-27T17:21:51-05:00",
-  "path": "/nix/store/fhf3mvxg17g0xli59cgmmwqy4g21fbzj-tree-sitter-nix",
-  "sha256": "11gifb9b7x9v223hsrcb6wlkqpxbc4p5v4ny9aixzi9k8g0jhb3d",
+  "rev": "83ee5993560bf15854c69b77d92e34456f8fb655",
+  "date": "2021-07-21T20:36:40-05:00",
+  "path": "/nix/store/n5pq9gba570874akpwpvs052d7vyalhh-tree-sitter-nix",
+  "sha256": "03jhvyrsxq49smk9p2apjj839wmzjmrzy045wcxawz1g7xssp9pr",
   "fetchSubmodules": false,
   "deepClone": false,
   "leaveDotGit": false
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-php.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-php.json
index 6b64a962a523..6f62a595ee3d 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-php.json
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-php.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-php",
-  "rev": "5e89808d490d893799ebcf229130afe4cf2b0324",
-  "date": "2021-06-22T09:23:44+02:00",
-  "path": "/nix/store/5c1pn1p183czqb43a0va7whd4sz81jf1-tree-sitter-php",
-  "sha256": "1mp5kv305a4rrgh7kklifqfg3680krfsd0h76sxn4i0wxyqfgczi",
+  "rev": "63cebc37ebed42887f14cdd0baec961d5a1e16c1",
+  "date": "2021-08-10T20:56:40+02:00",
+  "path": "/nix/store/bh4yl563l5fgh7r8f95zzybsavci8hyh-tree-sitter-php",
+  "sha256": "1psiamww22imw05z0h34yks7vh7y4x4bdn62dwic1gpwfbjdrfmr",
   "fetchSubmodules": false,
   "deepClone": false,
   "leaveDotGit": false
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scala.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scala.json
index 75329fc63a00..ed48c146fbe2 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scala.json
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scala.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-scala",
-  "rev": "bfa2a81388019d47f6a0a6a6e9c96910dec830b4",
-  "date": "2021-06-23T15:37:27-07:00",
-  "path": "/nix/store/nc5cndwzc5pzq3x64wa51bff0rl36hc8-tree-sitter-scala",
-  "sha256": "0x0lq78gjfsqi225mfvrpkl2jc6fbb378jgj04syxkm941lxc4bk",
+  "rev": "ec38674996753f9631615fa558d4f1fa3bf90633",
+  "date": "2021-08-08T14:43:30-07:00",
+  "path": "/nix/store/2b0z1j06gvpcn1rvq8hv5vdqlh3qlzmv-tree-sitter-scala",
+  "sha256": "1xv544wnyd075g5pc8lxi0ix6wrwiv82sdjhzf3wd1np42vxq3d4",
   "fetchSubmodules": false,
   "deepClone": false,
   "leaveDotGit": false
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-typescript.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-typescript.json
index 04ad785f76f9..1a399772957f 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-typescript.json
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-typescript.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-typescript",
-  "rev": "28e757a2f498486931b3cb13a100a1bcc9261456",
-  "date": "2021-05-04T14:04:30-07:00",
-  "path": "/nix/store/d90hgv5g374a6mrwhq9vcxk6d6lp2ags-tree-sitter-typescript",
-  "sha256": "0dxy5h68hhypzq0z15q8iawjgw3kx7dlpw76zv6xkxh25idqgxqh",
+  "rev": "d598c96714a2dc9e346589c63369aff6719a51e6",
+  "date": "2021-08-02T14:05:14-07:00",
+  "path": "/nix/store/hf714sspmakhzra9bqazhbb0iljva1hi-tree-sitter-typescript",
+  "sha256": "0yra8fhgv7wqkik85icqyckf980v9ch411mqcjcf50n5dc1siaik",
   "fetchSubmodules": false,
   "deepClone": false,
   "leaveDotGit": false
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/update.nix b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/update.nix
index 55237b298d2a..308ca3eeb69f 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/update.nix
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/update.nix
@@ -70,6 +70,10 @@ let
   # If you need a grammar that already exists in the official orga,
   # make sure to give it a different name.
   otherGrammars = {
+    "tree-sitter-comment" = {
+      orga = "stsewd";
+      repo = "tree-sitter-comment";
+    };
     "tree-sitter-nix" = {
       orga = "cstrahan";
       repo = "tree-sitter-nix";
@@ -106,6 +110,10 @@ let
       orga = "GrayJack";
       repo = "tree-sitter-zig";
     };
+    "tree-sitter-fish" = {
+      orga = "ram02z";
+      repo = "tree-sitter-fish";
+    };
   };
 
   allGrammars =
diff --git a/nixpkgs/pkgs/development/tools/pgtop/default.nix b/nixpkgs/pkgs/development/tools/pgtop/default.nix
index 03b3ef89265b..722f701892e4 100644
--- a/nixpkgs/pkgs/development/tools/pgtop/default.nix
+++ b/nixpkgs/pkgs/development/tools/pgtop/default.nix
@@ -13,7 +13,7 @@ perlPackages.buildPerlPackage rec {
 
   outputs = [ "out" ];
 
-  buildInputs = with perlPackages; [ DBI DBDPg TermReadKey JSON LWPUserAgent ];
+  buildInputs = with perlPackages; [ DBI DBDPg TermReadKey JSON LWP ];
 
   nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
   postInstall = lib.optionalString stdenv.isDarwin ''
diff --git a/nixpkgs/pkgs/development/tools/phantomjs2/default.nix b/nixpkgs/pkgs/development/tools/phantomjs2/default.nix
index 3d0db49aedcd..448e7dd4406e 100644
--- a/nixpkgs/pkgs/development/tools/phantomjs2/default.nix
+++ b/nixpkgs/pkgs/development/tools/phantomjs2/default.nix
@@ -75,8 +75,6 @@ in stdenv.mkDerivation rec {
 
   __impureHostDeps = lib.optional stdenv.isDarwin "/usr/lib/libicucore.dylib";
 
-  enableParallelBuilding = true;
-
   dontWrapQtApps = true;
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/default.nix b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/default.nix
index 3971a7631d46..b3803f54b60d 100644
--- a/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/default.nix
+++ b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/default.nix
@@ -5,7 +5,7 @@
 }:
 let
   # Poetry2nix version
-  version = "1.17.1";
+  version = "1.19.0";
 
   inherit (poetryLib) isCompatible readTOML moduleName;
 
diff --git a/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/editable.nix b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/editable.nix
index 12b659d4c348..1365d19032b4 100644
--- a/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/editable.nix
+++ b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/editable.nix
@@ -27,7 +27,7 @@ let
     (lib.generators.toINI { } pyProject.tool.poetry.plugins);
 
   # A python package that contains simple .egg-info and .pth files for an editable installation
-  editablePackage = python.pkgs.toPythonModule (pkgs.runCommandNoCC "${name}-editable"
+  editablePackage = python.pkgs.toPythonModule (pkgs.runCommand "${name}-editable"
     { } ''
         mkdir -p "$out/${python.sitePackages}"
         cd "$out/${python.sitePackages}"
diff --git a/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/fetch_from_legacy.py b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/fetch_from_legacy.py
index 5931d4c92708..c1bed0829396 100644
--- a/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/fetch_from_legacy.py
+++ b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/fetch_from_legacy.py
@@ -5,12 +5,12 @@
 # https://discuss.python.org/t/pip-download-just-the-source-packages-no-building-no-metadata-etc/4651/12
 
 import sys
-from urllib.parse import urlparse
+from urllib.parse import urlparse, urlunparse
 from html.parser import HTMLParser
 import urllib.request
 import shutil
 import ssl
-import os
+from os.path import normpath
 
 
 # Parse the legacy index page to extract the href and package names
@@ -44,9 +44,13 @@ package_filename = sys.argv[3]
 
 print("Reading index %s" % index_url)
 
+context = ssl.create_default_context()
+context.check_hostname = False
+context.verify_mode = ssl.CERT_NONE
+
 response = urllib.request.urlopen(
     index_url,
-    context=ssl.CERT_NONE)
+    context=context)
 index = response.read()
 
 parser = Pep503()
@@ -62,11 +66,24 @@ if urlparse(parser.sources[package_filename]).netloc == '':
     package_url = index_url + "/" + parser.sources[package_filename]
 else:
     package_url = parser.sources[package_filename]
-print("Downloading %s" % package_url)
+
+# Handle urls containing "../"
+parsed_url = urlparse(package_url)
+real_package_url = urlunparse(
+    (
+        parsed_url.scheme,
+        parsed_url.netloc,
+        normpath(parsed_url.path),
+        parsed_url.params,
+        parsed_url.query,
+        parsed_url.fragment,
+    )
+)
+print("Downloading %s" % real_package_url)
 
 response = urllib.request.urlopen(
-    package_url,
-    context=ssl.CERT_NONE)
+    real_package_url,
+    context=context)
 
 with response as r:
     shutil.copyfileobj(r, package_file)
diff --git a/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/hooks/pip-build-hook.sh b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/hooks/pip-build-hook.sh
index fa7b698fb510..a3ebe311d591 100644
--- a/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/hooks/pip-build-hook.sh
+++ b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/hooks/pip-build-hook.sh
@@ -15,7 +15,7 @@ pipBuildPhase() {
 
     mkdir -p dist
     echo "Creating a wheel..."
-    @pythonInterpreter@ -m pip wheel --no-index --no-deps --no-clean --no-build-isolation --wheel-dir dist .
+    @pythonInterpreter@ -m pip wheel --verbose --no-index --no-deps --no-clean --no-build-isolation --wheel-dir dist .
     echo "Finished creating a wheel..."
 
     runHook postBuild
diff --git a/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix
index b403e9941f34..867f6d985c12 100644
--- a/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix
+++ b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix
@@ -47,7 +47,8 @@ pythonPackages.callPackage
       isSource = source != null;
       isGit = isSource && source.type == "git";
       isUrl = isSource && source.type == "url";
-      isLocal = isSource && source.type == "directory";
+      isDirectory = isSource && source.type == "directory";
+      isFile = isSource && source.type == "file";
       isLegacy = isSource && source.type == "legacy";
       localDepPath = toPath source.url;
 
@@ -71,7 +72,10 @@ pythonPackages.callPackage
           sourceDist = builtins.filter isSdist fileCandidates;
           eggs = builtins.filter isEgg fileCandidates;
           entries = (if preferWheel then binaryDist ++ sourceDist else sourceDist ++ binaryDist) ++ eggs;
-          lockFileEntry = builtins.head entries;
+          lockFileEntry = (
+            if lib.length entries > 0 then builtins.head entries
+            else throw "Missing suitable source/wheel file entry for ${name}"
+          );
           _isEgg = isEgg lockFileEntry;
         in
         rec {
@@ -94,7 +98,7 @@ pythonPackages.callPackage
         "toml" # Toml is an extra for setuptools-scm
       ];
       baseBuildInputs = lib.optional (! lib.elem name skipSetupToolsSCM) pythonPackages.setuptools-scm;
-      format = if isLocal || isGit || isUrl then "pyproject" else fileInfo.format;
+      format = if isDirectory || isGit || isUrl then "pyproject" else fileInfo.format;
     in
     buildPythonPackage {
       pname = moduleName name;
@@ -118,7 +122,7 @@ pythonPackages.callPackage
         baseBuildInputs
         ++ lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) pythonPackages.setuptools
         ++ lib.optional (!isSource) (getManyLinuxDeps fileInfo.name).pkg
-        ++ lib.optional isLocal buildSystemPkgs
+        ++ lib.optional isDirectory buildSystemPkgs
         ++ lib.optional (!__isBootstrap) pythonPackages.poetry
       );
 
@@ -170,8 +174,10 @@ pythonPackages.callPackage
             {
               inherit (source) url;
             }
-        else if isLocal then
+        else if isDirectory then
           (poetryLib.cleanPythonSources { src = localDepPath; })
+        else if isFile then
+          localDepPath
         else if isLegacy then
           fetchFromLegacy
             {
diff --git a/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix
index 58a634ee86c9..ca902e204d76 100644
--- a/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix
+++ b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix
@@ -58,6 +58,12 @@ self: super:
     '';
   });
 
+  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 ];
@@ -74,6 +80,14 @@ self: super:
     }
   );
 
+  backports-entry-points-selectable = super.backports-entry-points-selectable.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 ];
@@ -499,7 +513,7 @@ self: super:
     old: {
       inherit (pkgs.python3Packages.jira) patches;
       buildInputs = (old.buildInputs or [ ]) ++ [
-        self.pytest-runner
+        self.pytestrunner
         self.cryptography
         self.pyjwt
       ];
@@ -626,7 +640,8 @@ self: super:
 
       buildInputs = (old.buildInputs or [ ])
         ++ lib.optional enableGhostscript pkgs.ghostscript
-        ++ lib.optional stdenv.isDarwin [ Cocoa ];
+        ++ lib.optional stdenv.isDarwin [ Cocoa ]
+        ++ [ self.certifi ];
 
       nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
         pkgs.pkg-config
@@ -968,6 +983,7 @@ self: super:
             ];
 
             PYARROW_BUILD_TYPE = "release";
+            PYARROW_WITH_DATASET = true;
             PYARROW_WITH_PARQUET = true;
             PYARROW_CMAKE_OPTIONS = [
               "-DCMAKE_INSTALL_RPATH=${ARROW_HOME}/lib"
@@ -1269,6 +1285,8 @@ self: super:
     }
   );
 
+  pytest-runner = super.pytest-runner or super.pytestrunner;
+
   pytest-pylint = super.pytest-pylint.overridePythonAttrs (
     old: {
       buildInputs = [ self.pytest-runner ];
@@ -1378,6 +1396,16 @@ self: super:
     }
   );
 
+  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\' ""
@@ -1837,4 +1865,58 @@ self: super:
       '';
     });
 
+  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 ./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 ];
+  });
+
+  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: {
+    buildInputs = (old.buildInputs or [ ]) ++ [ self.flit-core ];
+  });
 }
diff --git a/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/pep508.nix b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/pep508.nix
index a5ec51a1345b..9c95194a537c 100644
--- a/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/pep508.nix
+++ b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/pep508.nix
@@ -132,7 +132,8 @@ let
               mVal = ''[a-zA-Z0-9\'"_\. \-]+'';
               mOp = "in|[!=<>]+";
               e = stripStr exprs.value;
-              m = builtins.map stripStr (builtins.match ''^(${mVal}) *(${mOp}) *(${mVal})$'' e);
+              m' = builtins.match ''^(${mVal}) +(${mOp}) *(${mVal})$'' e;
+              m = builtins.map stripStr (if m' != null then m' else builtins.match ''^(${mVal}) +(${mOp}) *(${mVal})$'' e);
               m0 = processVar (builtins.elemAt m 0);
               m2 = processVar (builtins.elemAt m 2);
             in
diff --git a/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/default.nix b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/default.nix
index 70470ba17222..8e52d7387c40 100644
--- a/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/default.nix
+++ b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/default.nix
@@ -1,11 +1,18 @@
-{ lib, poetry2nix, python, fetchFromGitHub }:
+{ lib
+, poetry2nix
+, python
+, fetchFromGitHub
+, projectDir ? ./.
+, pyproject ? projectDir + "/pyproject.toml"
+, poetrylock ? projectDir + "/poetry.lock"
+}:
 
 
 poetry2nix.mkPoetryApplication {
 
   inherit python;
 
-  projectDir = ./.;
+  inherit projectDir pyproject poetrylock;
 
   # Don't include poetry in inputs
   __isBootstrap = true;
diff --git a/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/poetry.lock b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/poetry.lock
index b1be7a3f4e5e..c6073348e846 100644
--- a/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/poetry.lock
+++ b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/poetry.lock
@@ -1,12 +1,4 @@
 [[package]]
-name = "appdirs"
-version = "1.4.4"
-description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
-category = "main"
-optional = false
-python-versions = "*"
-
-[[package]]
 name = "atomicwrites"
 version = "1.4.0"
 description = "Atomic file writes."
@@ -16,29 +8,44 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
 
 [[package]]
 name = "attrs"
-version = "20.3.0"
+version = "21.2.0"
 description = "Classes Without Boilerplate"
 category = "dev"
 optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+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", "zope.interface", "furo", "sphinx", "pre-commit"]
-docs = ["furo", "sphinx", "zope.interface"]
-tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface"]
-tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six"]
+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"]
+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.0"
+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 (>=4.6)", "pytest-flake8", "pytest-cov", "pytest-black (>=0.3.7)", "pytest-mypy", "pytest-checkdocs (>=2.4)", "pytest-enabler (>=1.0.1)"]
 
 [[package]]
 name = "backports.functools-lru-cache"
-version = "1.6.1"
+version = "1.6.4"
 description = "Backport of functools.lru_cache"
 category = "dev"
 optional = false
 python-versions = ">=2.6"
 
 [package.extras]
-docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"]
-testing = ["pytest (>=3.5,!=3.7.3)", "pytest-checkdocs (>=1.2.3)", "pytest-flake8", "pytest-black-multipy", "pytest-cov"]
+docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"]
+testing = ["pytest (>=4.6)", "pytest-black (>=0.3.7)", "pytest-mypy", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.0.1)", "pytest-checkdocs (>=2.4)"]
 
 [[package]]
 name = "cachecontrol"
@@ -72,7 +79,7 @@ msgpack = ["msgpack-python (>=0.5,<0.6)"]
 
 [[package]]
 name = "certifi"
-version = "2020.12.5"
+version = "2021.5.30"
 description = "Python package for providing Mozilla's CA Bundle."
 category = "main"
 optional = false
@@ -80,7 +87,7 @@ python-versions = "*"
 
 [[package]]
 name = "cffi"
-version = "1.14.5"
+version = "1.14.6"
 description = "Foreign Function Interface for Python calling C code."
 category = "main"
 optional = false
@@ -91,7 +98,7 @@ pycparser = "*"
 
 [[package]]
 name = "cfgv"
-version = "3.2.0"
+version = "3.3.0"
 description = "Validate configuration and produce human readable error messages."
 category = "dev"
 optional = false
@@ -189,6 +196,25 @@ python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*"
 
 [package.dependencies]
 cffi = ">=1.8,<1.11.3 || >1.11.3"
+six = ">=1.4.1"
+
+[package.extras]
+docs = ["sphinx (>=1.6.5,!=1.8.0,!=3.1.0,!=3.1.1)", "sphinx-rtd-theme"]
+docstest = ["doc8", "pyenchant (>=1.6.11)", "twine (>=1.12.0)", "sphinxcontrib-spelling (>=4.0.1)"]
+pep8test = ["black", "flake8", "flake8-import-order", "pep8-naming"]
+ssh = ["bcrypt (>=3.1.5)"]
+test = ["pytest (>=3.6.0,!=3.9.0,!=3.9.1,!=3.9.2)", "pretend", "iso8601", "pytz", "hypothesis (>=1.11.4,!=3.79.2)"]
+
+[[package]]
+name = "cryptography"
+version = "3.3.2"
+description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers."
+category = "main"
+optional = false
+python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*"
+
+[package.dependencies]
+cffi = ">=1.12"
 enum34 = {version = "*", markers = "python_version < \"3\""}
 ipaddress = {version = "*", markers = "python_version < \"3\""}
 six = ">=1.4.1"
@@ -202,7 +228,7 @@ test = ["pytest (>=3.6.0,!=3.9.0,!=3.9.1,!=3.9.2)", "pretend", "iso8601", "pytz"
 
 [[package]]
 name = "cryptography"
-version = "3.4.6"
+version = "3.4.7"
 description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers."
 category = "main"
 optional = false
@@ -221,7 +247,7 @@ test = ["pytest (>=6.0)", "pytest-cov", "pytest-subtests", "pytest-xdist", "pret
 
 [[package]]
 name = "distlib"
-version = "0.3.1"
+version = "0.3.2"
 description = "Distribution utilities"
 category = "main"
 optional = false
@@ -317,14 +343,14 @@ six = "*"
 
 [[package]]
 name = "identify"
-version = "2.1.0"
+version = "2.2.13"
 description = "File identification library for Python"
 category = "dev"
 optional = false
 python-versions = ">=3.6.1"
 
 [package.extras]
-license = ["editdistance"]
+license = ["editdistance-s"]
 
 [[package]]
 name = "idna"
@@ -380,14 +406,26 @@ python-versions = "*"
 
 [[package]]
 name = "jeepney"
-version = "0.6.0"
+version = "0.4.3"
+description = "Low-level, pure Python DBus protocol wrapper."
+category = "main"
+optional = false
+python-versions = ">=3.5"
+
+[package.extras]
+dev = ["testpath"]
+
+[[package]]
+name = "jeepney"
+version = "0.7.1"
 description = "Low-level, pure Python DBus protocol wrapper."
 category = "main"
 optional = false
 python-versions = ">=3.6"
 
 [package.extras]
-test = ["pytest", "pytest-trio", "pytest-asyncio", "testpath", "trio"]
+test = ["pytest", "pytest-trio", "pytest-asyncio", "testpath", "trio", "async-timeout"]
+trio = ["trio", "async-generator"]
 
 [[package]]
 name = "keyring"
@@ -479,15 +517,15 @@ six = ">=1.0.0,<2.0.0"
 
 [[package]]
 name = "more-itertools"
-version = "8.6.0"
+version = "7.2.0"
 description = "More routines for operating on iterables, beyond itertools"
 category = "dev"
 optional = false
-python-versions = ">=3.5"
+python-versions = ">=3.4"
 
 [[package]]
 name = "more-itertools"
-version = "8.7.0"
+version = "8.8.0"
 description = "More routines for operating on iterables, beyond itertools"
 category = "dev"
 optional = false
@@ -503,7 +541,7 @@ python-versions = "*"
 
 [[package]]
 name = "nodeenv"
-version = "1.5.0"
+version = "1.6.0"
 description = "Node.js virtual environment builder"
 category = "dev"
 optional = false
@@ -530,7 +568,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
 
 [[package]]
 name = "pathlib2"
-version = "2.3.5"
+version = "2.3.6"
 description = "Object-oriented filesystem paths"
 category = "main"
 optional = false
@@ -553,7 +591,7 @@ ptyprocess = ">=0.5"
 
 [[package]]
 name = "pkginfo"
-version = "1.7.0"
+version = "1.7.1"
 description = "Query metadatdata from sdists / bdists / installed packages."
 category = "main"
 optional = false
@@ -563,6 +601,14 @@ python-versions = "*"
 testing = ["nose", "coverage"]
 
 [[package]]
+name = "platformdirs"
+version = "2.0.2"
+description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
+category = "main"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
+
+[[package]]
 name = "pluggy"
 version = "0.13.1"
 description = "plugin and hook calling mechanisms for python"
@@ -578,7 +624,7 @@ dev = ["pre-commit", "tox"]
 
 [[package]]
 name = "poetry-core"
-version = "1.0.2"
+version = "1.0.4"
 description = "Poetry PEP 517 Build Backend"
 category = "main"
 optional = false
@@ -593,7 +639,7 @@ typing = {version = ">=3.7.4.1,<4.0.0.0", markers = "python_version >= \"2.7\" a
 
 [[package]]
 name = "pre-commit"
-version = "2.10.1"
+version = "2.14.0"
 description = "A framework for managing and maintaining multi-language pre-commit hooks."
 category = "dev"
 optional = false
@@ -635,7 +681,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
 
 [[package]]
 name = "pylev"
-version = "1.3.0"
+version = "1.4.0"
 description = "A pure Python Levenshtein implementation that's not freaking GPL'd."
 category = "main"
 optional = false
@@ -703,7 +749,7 @@ testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xm
 
 [[package]]
 name = "pytest-cov"
-version = "2.11.1"
+version = "2.12.1"
 description = "Pytest plugin for measuring coverage."
 category = "dev"
 optional = false
@@ -712,9 +758,10 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
 [package.dependencies]
 coverage = ">=5.2.1"
 pytest = ">=4.6"
+toml = "*"
 
 [package.extras]
-testing = ["fields", "hunter", "process-tests (==2.0.2)", "six", "pytest-xdist", "virtualenv"]
+testing = ["fields", "hunter", "process-tests", "six", "pytest-xdist", "virtualenv"]
 
 [[package]]
 name = "pytest-mock"
@@ -813,6 +860,18 @@ dbus-python = ["dbus-python"]
 
 [[package]]
 name = "secretstorage"
+version = "3.2.0"
+description = "Python bindings to FreeDesktop.org Secret Service API"
+category = "main"
+optional = false
+python-versions = ">=3.5"
+
+[package.dependencies]
+cryptography = ">=2.0"
+jeepney = ">=0.4.2"
+
+[[package]]
+name = "secretstorage"
 version = "3.3.1"
 description = "Python bindings to FreeDesktop.org Secret Service API"
 category = "main"
@@ -833,7 +892,7 @@ python-versions = "!=3.0,!=3.1,!=3.2,!=3.3,>=2.6"
 
 [[package]]
 name = "singledispatch"
-version = "3.6.1"
+version = "3.7.0"
 description = "Backport functools.singledispatch from Python 3.4 to Python 2.6-3.3."
 category = "main"
 optional = false
@@ -844,11 +903,11 @@ six = "*"
 
 [package.extras]
 docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"]
-testing = ["pytest (>=4.6)", "pytest-checkdocs (>=1.2.3)", "pytest-flake8", "pytest-cov", "pytest-black (>=0.3.7)", "unittest2"]
+testing = ["pytest (>=4.6)", "pytest-flake8", "pytest-cov", "pytest-black (>=0.3.7)", "unittest2", "pytest-checkdocs (>=2.4)"]
 
 [[package]]
 name = "six"
-version = "1.15.0"
+version = "1.16.0"
 description = "Python 2 and 3 compatibility utilities"
 category = "main"
 optional = false
@@ -880,7 +939,7 @@ python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
 
 [[package]]
 name = "tomlkit"
-version = "0.7.0"
+version = "0.7.2"
 description = "Style preserving TOML library"
 category = "main"
 optional = false
@@ -893,7 +952,7 @@ typing = {version = ">=3.6,<4.0", markers = "python_version >= \"2.7\" and pytho
 
 [[package]]
 name = "tox"
-version = "3.23.0"
+version = "3.24.2"
 description = "tox is a generic virtualenv management and test command line tool"
 category = "dev"
 optional = false
@@ -916,15 +975,15 @@ testing = ["flaky (>=3.4.0)", "freezegun (>=0.3.11)", "psutil (>=5.6.1)", "pytes
 
 [[package]]
 name = "typing"
-version = "3.7.4.3"
+version = "3.10.0.0"
 description = "Type Hints for Python"
 category = "main"
 optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <3.5"
 
 [[package]]
 name = "typing-extensions"
-version = "3.7.4.3"
+version = "3.10.0.0"
 description = "Backported and Experimental Type Hints for Python 3.5+"
 category = "main"
 optional = false
@@ -945,24 +1004,25 @@ socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"]
 
 [[package]]
 name = "virtualenv"
-version = "20.4.2"
+version = "20.7.2"
 description = "Virtual Python Environment builder"
 category = "main"
 optional = false
-python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7"
+python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7"
 
 [package.dependencies]
-appdirs = ">=1.4.3,<2"
+"backports.entry-points-selectable" = ">=1.0.4"
 distlib = ">=0.3.1,<1"
 filelock = ">=3.0.0,<4"
 importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""}
 importlib-resources = {version = ">=1.0", markers = "python_version < \"3.7\""}
 pathlib2 = {version = ">=2.3.3,<3", markers = "python_version < \"3.4\" and sys_platform != \"win32\""}
+platformdirs = ">=2,<3"
 six = ">=1.9.0,<2"
 
 [package.extras]
 docs = ["proselint (>=0.10.2)", "sphinx (>=3)", "sphinx-argparse (>=0.2.5)", "sphinx-rtd-theme (>=0.4.3)", "towncrier (>=19.9.0rc1)"]
-testing = ["coverage (>=4)", "coverage-enable-subprocess (>=1)", "flaky (>=3)", "pytest (>=4)", "pytest-env (>=0.6.2)", "pytest-freezegun (>=0.4.1)", "pytest-mock (>=2)", "pytest-randomly (>=1)", "pytest-timeout (>=1)", "packaging (>=20.0)", "xonsh (>=0.9.16)"]
+testing = ["coverage (>=4)", "coverage-enable-subprocess (>=1)", "flaky (>=3)", "pytest (>=4)", "pytest-env (>=0.6.2)", "pytest-freezegun (>=0.4.1)", "pytest-mock (>=2)", "pytest-randomly (>=1)", "pytest-timeout (>=1)", "packaging (>=20.0)"]
 
 [[package]]
 name = "wcwidth"
@@ -1001,24 +1061,24 @@ testing = ["pathlib2", "unittest2", "jaraco.itertools", "func-timeout"]
 [metadata]
 lock-version = "1.1"
 python-versions = "~2.7 || ^3.5"
-content-hash = "f716089bf560bb051980ddb5ff40b200027e9d9f2ed17fc7dd5576d80f5ad62a"
+content-hash = "e45e80a8cc2d64595c7f7e7a494dc8e80a7c1cd9f87cfd89539330e74823c06a"
 
 [metadata.files]
-appdirs = [
-    {file = "appdirs-1.4.4-py2.py3-none-any.whl", hash = "sha256:a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128"},
-    {file = "appdirs-1.4.4.tar.gz", hash = "sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41"},
-]
 atomicwrites = [
     {file = "atomicwrites-1.4.0-py2.py3-none-any.whl", hash = "sha256:6d1784dea7c0c8d4a5172b6c620f40b6e4cbfdf96d783691f2e1302a7b88e197"},
     {file = "atomicwrites-1.4.0.tar.gz", hash = "sha256:ae70396ad1a434f9c7046fd2dd196fc04b12f9e91ffb859164193be8b6168a7a"},
 ]
 attrs = [
-    {file = "attrs-20.3.0-py2.py3-none-any.whl", hash = "sha256:31b2eced602aa8423c2aea9c76a724617ed67cf9513173fd3a4f03e3a929c7e6"},
-    {file = "attrs-20.3.0.tar.gz", hash = "sha256:832aa3cde19744e49938b91fea06d69ecb9e649c93ba974535d08ad92164f700"},
+    {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.0-py2.py3-none-any.whl", hash = "sha256:a6d9a871cde5e15b4c4a53e3d43ba890cc6861ec1332c9c2428c92f977192acc"},
+    {file = "backports.entry_points_selectable-1.1.0.tar.gz", hash = "sha256:988468260ec1c196dab6ae1149260e2f5472c9110334e5d51adcb77867361f6a"},
 ]
 "backports.functools-lru-cache" = [
-    {file = "backports.functools_lru_cache-1.6.1-py2.py3-none-any.whl", hash = "sha256:0bada4c2f8a43d533e4ecb7a12214d9420e66eb206d54bf2d682581ca4b80848"},
-    {file = "backports.functools_lru_cache-1.6.1.tar.gz", hash = "sha256:8fde5f188da2d593bd5bc0be98d9abc46c95bb8a9dde93429570192ee6cc2d4a"},
+    {file = "backports.functools_lru_cache-1.6.4-py2.py3-none-any.whl", hash = "sha256:dbead04b9daa817909ec64e8d2855fb78feafe0b901d4568758e3a60559d8978"},
+    {file = "backports.functools_lru_cache-1.6.4.tar.gz", hash = "sha256:d5ed2169378b67d3c545e5600d363a923b09c456dab1593914935a68ad478271"},
 ]
 cachecontrol = [
     {file = "CacheControl-0.12.6-py2.py3-none-any.whl", hash = "sha256:10d056fa27f8563a271b345207402a6dcce8efab7e5b377e270329c62471b10d"},
@@ -1029,51 +1089,59 @@ cachy = [
     {file = "cachy-0.3.0.tar.gz", hash = "sha256:186581f4ceb42a0bbe040c407da73c14092379b1e4c0e327fdb72ae4a9b269b1"},
 ]
 certifi = [
-    {file = "certifi-2020.12.5-py2.py3-none-any.whl", hash = "sha256:719a74fb9e33b9bd44cc7f3a8d94bc35e4049deebe19ba7d8e108280cfd59830"},
-    {file = "certifi-2020.12.5.tar.gz", hash = "sha256:1a4995114262bffbc2413b159f2a1a480c969de6e6eb13ee966d470af86af59c"},
+    {file = "certifi-2021.5.30-py2.py3-none-any.whl", hash = "sha256:50b1e4f8446b06f41be7dd6338db18e0990601dce795c2b1686458aa7e8fa7d8"},
+    {file = "certifi-2021.5.30.tar.gz", hash = "sha256:2bbf76fd432960138b3ef6dda3dde0544f27cbf8546c458e60baf371917ba9ee"},
 ]
 cffi = [
-    {file = "cffi-1.14.5-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:bb89f306e5da99f4d922728ddcd6f7fcebb3241fc40edebcb7284d7514741991"},
-    {file = "cffi-1.14.5-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:34eff4b97f3d982fb93e2831e6750127d1355a923ebaeeb565407b3d2f8d41a1"},
-    {file = "cffi-1.14.5-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:99cd03ae7988a93dd00bcd9d0b75e1f6c426063d6f03d2f90b89e29b25b82dfa"},
-    {file = "cffi-1.14.5-cp27-cp27m-win32.whl", hash = "sha256:65fa59693c62cf06e45ddbb822165394a288edce9e276647f0046e1ec26920f3"},
-    {file = "cffi-1.14.5-cp27-cp27m-win_amd64.whl", hash = "sha256:51182f8927c5af975fece87b1b369f722c570fe169f9880764b1ee3bca8347b5"},
-    {file = "cffi-1.14.5-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:43e0b9d9e2c9e5d152946b9c5fe062c151614b262fda2e7b201204de0b99e482"},
-    {file = "cffi-1.14.5-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:cbde590d4faaa07c72bf979734738f328d239913ba3e043b1e98fe9a39f8b2b6"},
-    {file = "cffi-1.14.5-cp35-cp35m-macosx_10_9_x86_64.whl", hash = "sha256:5de7970188bb46b7bf9858eb6890aad302577a5f6f75091fd7cdd3ef13ef3045"},
-    {file = "cffi-1.14.5-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:a465da611f6fa124963b91bf432d960a555563efe4ed1cc403ba5077b15370aa"},
-    {file = "cffi-1.14.5-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:d42b11d692e11b6634f7613ad8df5d6d5f8875f5d48939520d351007b3c13406"},
-    {file = "cffi-1.14.5-cp35-cp35m-win32.whl", hash = "sha256:72d8d3ef52c208ee1c7b2e341f7d71c6fd3157138abf1a95166e6165dd5d4369"},
-    {file = "cffi-1.14.5-cp35-cp35m-win_amd64.whl", hash = "sha256:29314480e958fd8aab22e4a58b355b629c59bf5f2ac2492b61e3dc06d8c7a315"},
-    {file = "cffi-1.14.5-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:3d3dd4c9e559eb172ecf00a2a7517e97d1e96de2a5e610bd9b68cea3925b4892"},
-    {file = "cffi-1.14.5-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:48e1c69bbacfc3d932221851b39d49e81567a4d4aac3b21258d9c24578280058"},
-    {file = "cffi-1.14.5-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:69e395c24fc60aad6bb4fa7e583698ea6cc684648e1ffb7fe85e3c1ca131a7d5"},
-    {file = "cffi-1.14.5-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:9e93e79c2551ff263400e1e4be085a1210e12073a31c2011dbbda14bda0c6132"},
-    {file = "cffi-1.14.5-cp36-cp36m-win32.whl", hash = "sha256:58e3f59d583d413809d60779492342801d6e82fefb89c86a38e040c16883be53"},
-    {file = "cffi-1.14.5-cp36-cp36m-win_amd64.whl", hash = "sha256:005a36f41773e148deac64b08f233873a4d0c18b053d37da83f6af4d9087b813"},
-    {file = "cffi-1.14.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2894f2df484ff56d717bead0a5c2abb6b9d2bf26d6960c4604d5c48bbc30ee73"},
-    {file = "cffi-1.14.5-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:0857f0ae312d855239a55c81ef453ee8fd24136eaba8e87a2eceba644c0d4c06"},
-    {file = "cffi-1.14.5-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:cd2868886d547469123fadc46eac7ea5253ea7fcb139f12e1dfc2bbd406427d1"},
-    {file = "cffi-1.14.5-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:35f27e6eb43380fa080dccf676dece30bef72e4a67617ffda586641cd4508d49"},
-    {file = "cffi-1.14.5-cp37-cp37m-win32.whl", hash = "sha256:9ff227395193126d82e60319a673a037d5de84633f11279e336f9c0f189ecc62"},
-    {file = "cffi-1.14.5-cp37-cp37m-win_amd64.whl", hash = "sha256:9cf8022fb8d07a97c178b02327b284521c7708d7c71a9c9c355c178ac4bbd3d4"},
-    {file = "cffi-1.14.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:8b198cec6c72df5289c05b05b8b0969819783f9418e0409865dac47288d2a053"},
-    {file = "cffi-1.14.5-cp38-cp38-manylinux1_i686.whl", hash = "sha256:ad17025d226ee5beec591b52800c11680fca3df50b8b29fe51d882576e039ee0"},
-    {file = "cffi-1.14.5-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:6c97d7350133666fbb5cf4abdc1178c812cb205dc6f41d174a7b0f18fb93337e"},
-    {file = "cffi-1.14.5-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:8ae6299f6c68de06f136f1f9e69458eae58f1dacf10af5c17353eae03aa0d827"},
-    {file = "cffi-1.14.5-cp38-cp38-win32.whl", hash = "sha256:b85eb46a81787c50650f2392b9b4ef23e1f126313b9e0e9013b35c15e4288e2e"},
-    {file = "cffi-1.14.5-cp38-cp38-win_amd64.whl", hash = "sha256:1f436816fc868b098b0d63b8920de7d208c90a67212546d02f84fe78a9c26396"},
-    {file = "cffi-1.14.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1071534bbbf8cbb31b498d5d9db0f274f2f7a865adca4ae429e147ba40f73dea"},
-    {file = "cffi-1.14.5-cp39-cp39-manylinux1_i686.whl", hash = "sha256:9de2e279153a443c656f2defd67769e6d1e4163952b3c622dcea5b08a6405322"},
-    {file = "cffi-1.14.5-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:6e4714cc64f474e4d6e37cfff31a814b509a35cb17de4fb1999907575684479c"},
-    {file = "cffi-1.14.5-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:158d0d15119b4b7ff6b926536763dc0714313aa59e320ddf787502c70c4d4bee"},
-    {file = "cffi-1.14.5-cp39-cp39-win32.whl", hash = "sha256:afb29c1ba2e5a3736f1c301d9d0abe3ec8b86957d04ddfa9d7a6a42b9367e396"},
-    {file = "cffi-1.14.5-cp39-cp39-win_amd64.whl", hash = "sha256:f2d45f97ab6bb54753eab54fffe75aaf3de4ff2341c9daee1987ee1837636f1d"},
-    {file = "cffi-1.14.5.tar.gz", hash = "sha256:fd78e5fee591709f32ef6edb9a015b4aa1a5022598e36227500c8f4e02328d9c"},
+    {file = "cffi-1.14.6-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:22b9c3c320171c108e903d61a3723b51e37aaa8c81255b5e7ce102775bd01e2c"},
+    {file = "cffi-1.14.6-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:f0c5d1acbfca6ebdd6b1e3eded8d261affb6ddcf2186205518f1428b8569bb99"},
+    {file = "cffi-1.14.6-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:99f27fefe34c37ba9875f224a8f36e31d744d8083e00f520f133cab79ad5e819"},
+    {file = "cffi-1.14.6-cp27-cp27m-win32.whl", hash = "sha256:55af55e32ae468e9946f741a5d51f9896da6b9bf0bbdd326843fec05c730eb20"},
+    {file = "cffi-1.14.6-cp27-cp27m-win_amd64.whl", hash = "sha256:7bcac9a2b4fdbed2c16fa5681356d7121ecabf041f18d97ed5b8e0dd38a80224"},
+    {file = "cffi-1.14.6-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:ed38b924ce794e505647f7c331b22a693bee1538fdf46b0222c4717b42f744e7"},
+    {file = "cffi-1.14.6-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:e22dcb48709fc51a7b58a927391b23ab37eb3737a98ac4338e2448bef8559b33"},
+    {file = "cffi-1.14.6-cp35-cp35m-macosx_10_9_x86_64.whl", hash = "sha256:aedb15f0a5a5949ecb129a82b72b19df97bbbca024081ed2ef88bd5c0a610534"},
+    {file = "cffi-1.14.6-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:48916e459c54c4a70e52745639f1db524542140433599e13911b2f329834276a"},
+    {file = "cffi-1.14.6-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:f627688813d0a4140153ff532537fbe4afea5a3dffce1f9deb7f91f848a832b5"},
+    {file = "cffi-1.14.6-cp35-cp35m-win32.whl", hash = "sha256:f0010c6f9d1a4011e429109fda55a225921e3206e7f62a0c22a35344bfd13cca"},
+    {file = "cffi-1.14.6-cp35-cp35m-win_amd64.whl", hash = "sha256:57e555a9feb4a8460415f1aac331a2dc833b1115284f7ded7278b54afc5bd218"},
+    {file = "cffi-1.14.6-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:e8c6a99be100371dbb046880e7a282152aa5d6127ae01783e37662ef73850d8f"},
+    {file = "cffi-1.14.6-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:19ca0dbdeda3b2615421d54bef8985f72af6e0c47082a8d26122adac81a95872"},
+    {file = "cffi-1.14.6-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:d950695ae4381ecd856bcaf2b1e866720e4ab9a1498cba61c602e56630ca7195"},
+    {file = "cffi-1.14.6-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e9dc245e3ac69c92ee4c167fbdd7428ec1956d4e754223124991ef29eb57a09d"},
+    {file = "cffi-1.14.6-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a8661b2ce9694ca01c529bfa204dbb144b275a31685a075ce123f12331be790b"},
+    {file = "cffi-1.14.6-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b315d709717a99f4b27b59b021e6207c64620790ca3e0bde636a6c7f14618abb"},
+    {file = "cffi-1.14.6-cp36-cp36m-win32.whl", hash = "sha256:80b06212075346b5546b0417b9f2bf467fea3bfe7352f781ffc05a8ab24ba14a"},
+    {file = "cffi-1.14.6-cp36-cp36m-win_amd64.whl", hash = "sha256:a9da7010cec5a12193d1af9872a00888f396aba3dc79186604a09ea3ee7c029e"},
+    {file = "cffi-1.14.6-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:4373612d59c404baeb7cbd788a18b2b2a8331abcc84c3ba40051fcd18b17a4d5"},
+    {file = "cffi-1.14.6-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:f10afb1004f102c7868ebfe91c28f4a712227fe4cb24974350ace1f90e1febbf"},
+    {file = "cffi-1.14.6-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:fd4305f86f53dfd8cd3522269ed7fc34856a8ee3709a5e28b2836b2db9d4cd69"},
+    {file = "cffi-1.14.6-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6d6169cb3c6c2ad50db5b868db6491a790300ade1ed5d1da29289d73bbe40b56"},
+    {file = "cffi-1.14.6-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5d4b68e216fc65e9fe4f524c177b54964af043dde734807586cf5435af84045c"},
+    {file = "cffi-1.14.6-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:33791e8a2dc2953f28b8d8d300dde42dd929ac28f974c4b4c6272cb2955cb762"},
+    {file = "cffi-1.14.6-cp37-cp37m-win32.whl", hash = "sha256:0c0591bee64e438883b0c92a7bed78f6290d40bf02e54c5bf0978eaf36061771"},
+    {file = "cffi-1.14.6-cp37-cp37m-win_amd64.whl", hash = "sha256:8eb687582ed7cd8c4bdbff3df6c0da443eb89c3c72e6e5dcdd9c81729712791a"},
+    {file = "cffi-1.14.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ba6f2b3f452e150945d58f4badd92310449876c4c954836cfb1803bdd7b422f0"},
+    {file = "cffi-1.14.6-cp38-cp38-manylinux1_i686.whl", hash = "sha256:64fda793737bc4037521d4899be780534b9aea552eb673b9833b01f945904c2e"},
+    {file = "cffi-1.14.6-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:9f3e33c28cd39d1b655ed1ba7247133b6f7fc16fa16887b120c0c670e35ce346"},
+    {file = "cffi-1.14.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:26bb2549b72708c833f5abe62b756176022a7b9a7f689b571e74c8478ead51dc"},
+    {file = "cffi-1.14.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eb687a11f0a7a1839719edd80f41e459cc5366857ecbed383ff376c4e3cc6afd"},
+    {file = "cffi-1.14.6-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d2ad4d668a5c0645d281dcd17aff2be3212bc109b33814bbb15c4939f44181cc"},
+    {file = "cffi-1.14.6-cp38-cp38-win32.whl", hash = "sha256:487d63e1454627c8e47dd230025780e91869cfba4c753a74fda196a1f6ad6548"},
+    {file = "cffi-1.14.6-cp38-cp38-win_amd64.whl", hash = "sha256:c33d18eb6e6bc36f09d793c0dc58b0211fccc6ae5149b808da4a62660678b156"},
+    {file = "cffi-1.14.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:06c54a68935738d206570b20da5ef2b6b6d92b38ef3ec45c5422c0ebaf338d4d"},
+    {file = "cffi-1.14.6-cp39-cp39-manylinux1_i686.whl", hash = "sha256:f174135f5609428cc6e1b9090f9268f5c8935fddb1b25ccb8255a2d50de6789e"},
+    {file = "cffi-1.14.6-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:f3ebe6e73c319340830a9b2825d32eb6d8475c1dac020b4f0aa774ee3b898d1c"},
+    {file = "cffi-1.14.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c8d896becff2fa653dc4438b54a5a25a971d1f4110b32bd3068db3722c80202"},
+    {file = "cffi-1.14.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4922cd707b25e623b902c86188aca466d3620892db76c0bdd7b99a3d5e61d35f"},
+    {file = "cffi-1.14.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c9e005e9bd57bc987764c32a1bee4364c44fdc11a3cc20a40b93b444984f2b87"},
+    {file = "cffi-1.14.6-cp39-cp39-win32.whl", hash = "sha256:eb9e2a346c5238a30a746893f23a9535e700f8192a68c07c0258e7ece6ff3728"},
+    {file = "cffi-1.14.6-cp39-cp39-win_amd64.whl", hash = "sha256:818014c754cd3dba7229c0f5884396264d51ffb87ec86e927ef0be140bfdb0d2"},
+    {file = "cffi-1.14.6.tar.gz", hash = "sha256:c9a875ce9d7fe32887784274dd533c57909b7b1dcadcc128a2ac21331a9765dd"},
 ]
 cfgv = [
-    {file = "cfgv-3.2.0-py2.py3-none-any.whl", hash = "sha256:32e43d604bbe7896fe7c248a9c2276447dbef840feb28fe20494f62af110211d"},
-    {file = "cfgv-3.2.0.tar.gz", hash = "sha256:cf22deb93d4bcf92f345a5c3cd39d3d41d6340adc60c78bbbd6588c384fda6a1"},
+    {file = "cfgv-3.3.0-py2.py3-none-any.whl", hash = "sha256:b449c9c6118fe8cca7fa5e00b9ec60ba08145d281d52164230a69211c5d597a1"},
+    {file = "cfgv-3.3.0.tar.gz", hash = "sha256:9e600479b3b99e8af981ecdfc80a0296104ee610cab48a5ae4ffd0b668650eb1"},
 ]
 chardet = [
     {file = "chardet-4.0.0-py2.py3-none-any.whl", hash = "sha256:f864054d66fd9118f2e67044ac8981a54775ec5b67aed0441892edb553d21da5"},
@@ -1180,17 +1248,36 @@ cryptography = [
     {file = "cryptography-3.2.1-cp38-cp38-win32.whl", hash = "sha256:3cd75a683b15576cfc822c7c5742b3276e50b21a06672dc3a800a2d5da4ecd1b"},
     {file = "cryptography-3.2.1-cp38-cp38-win_amd64.whl", hash = "sha256:d25cecbac20713a7c3bc544372d42d8eafa89799f492a43b79e1dfd650484851"},
     {file = "cryptography-3.2.1.tar.gz", hash = "sha256:d3d5e10be0cf2a12214ddee45c6bd203dab435e3d83b4560c03066eda600bfe3"},
-    {file = "cryptography-3.4.6-cp36-abi3-macosx_10_10_x86_64.whl", hash = "sha256:57ad77d32917bc55299b16d3b996ffa42a1c73c6cfa829b14043c561288d2799"},
-    {file = "cryptography-3.4.6-cp36-abi3-manylinux2010_x86_64.whl", hash = "sha256:93cfe5b7ff006de13e1e89830810ecbd014791b042cbe5eec253be11ac2b28f3"},
-    {file = "cryptography-3.4.6-cp36-abi3-manylinux2014_aarch64.whl", hash = "sha256:5ecf2bcb34d17415e89b546dbb44e73080f747e504273e4d4987630493cded1b"},
-    {file = "cryptography-3.4.6-cp36-abi3-manylinux2014_x86_64.whl", hash = "sha256:fec7fb46b10da10d9e1d078d1ff8ed9e05ae14f431fdbd11145edd0550b9a964"},
-    {file = "cryptography-3.4.6-cp36-abi3-win32.whl", hash = "sha256:df186fcbf86dc1ce56305becb8434e4b6b7504bc724b71ad7a3239e0c9d14ef2"},
-    {file = "cryptography-3.4.6-cp36-abi3-win_amd64.whl", hash = "sha256:66b57a9ca4b3221d51b237094b0303843b914b7d5afd4349970bb26518e350b0"},
-    {file = "cryptography-3.4.6.tar.gz", hash = "sha256:2d32223e5b0ee02943f32b19245b61a62db83a882f0e76cc564e1cec60d48f87"},
+    {file = "cryptography-3.3.2-cp27-cp27m-macosx_10_10_x86_64.whl", hash = "sha256:541dd758ad49b45920dda3b5b48c968f8b2533d8981bcdb43002798d8f7a89ed"},
+    {file = "cryptography-3.3.2-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:49570438e60f19243e7e0d504527dd5fe9b4b967b5a1ff21cc12b57602dd85d3"},
+    {file = "cryptography-3.3.2-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:a9a4ac9648d39ce71c2f63fe7dc6db144b9fa567ddfc48b9fde1b54483d26042"},
+    {file = "cryptography-3.3.2-cp27-cp27m-win32.whl", hash = "sha256:aa4969f24d536ae2268c902b2c3d62ab464b5a66bcb247630d208a79a8098e9b"},
+    {file = "cryptography-3.3.2-cp27-cp27m-win_amd64.whl", hash = "sha256:1bd0ccb0a1ed775cd7e2144fe46df9dc03eefd722bbcf587b3e0616ea4a81eff"},
+    {file = "cryptography-3.3.2-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:e18e6ab84dfb0ab997faf8cca25a86ff15dfea4027b986322026cc99e0a892da"},
+    {file = "cryptography-3.3.2-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:c7390f9b2119b2b43160abb34f63277a638504ef8df99f11cb52c1fda66a2e6f"},
+    {file = "cryptography-3.3.2-cp36-abi3-macosx_10_10_x86_64.whl", hash = "sha256:0d7b69674b738068fa6ffade5c962ecd14969690585aaca0a1b1fc9058938a72"},
+    {file = "cryptography-3.3.2-cp36-abi3-manylinux1_x86_64.whl", hash = "sha256:922f9602d67c15ade470c11d616f2b2364950602e370c76f0c94c94ae672742e"},
+    {file = "cryptography-3.3.2-cp36-abi3-manylinux2010_x86_64.whl", hash = "sha256:a0f0b96c572fc9f25c3f4ddbf4688b9b38c69836713fb255f4a2715d93cbaf44"},
+    {file = "cryptography-3.3.2-cp36-abi3-manylinux2014_aarch64.whl", hash = "sha256:a777c096a49d80f9d2979695b835b0f9c9edab73b59e4ceb51f19724dda887ed"},
+    {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-3.4.7-cp36-abi3-macosx_10_10_x86_64.whl", hash = "sha256:3d8427734c781ea5f1b41d6589c293089704d4759e34597dce91014ac125aad1"},
+    {file = "cryptography-3.4.7-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:8e56e16617872b0957d1c9742a3f94b43533447fd78321514abbe7db216aa250"},
+    {file = "cryptography-3.4.7-cp36-abi3-manylinux2010_x86_64.whl", hash = "sha256:37340614f8a5d2fb9aeea67fd159bfe4f5f4ed535b1090ce8ec428b2f15a11f2"},
+    {file = "cryptography-3.4.7-cp36-abi3-manylinux2014_aarch64.whl", hash = "sha256:240f5c21aef0b73f40bb9f78d2caff73186700bf1bc6b94285699aff98cc16c6"},
+    {file = "cryptography-3.4.7-cp36-abi3-manylinux2014_x86_64.whl", hash = "sha256:1e056c28420c072c5e3cb36e2b23ee55e260cb04eee08f702e0edfec3fb51959"},
+    {file = "cryptography-3.4.7-cp36-abi3-win32.whl", hash = "sha256:0f1212a66329c80d68aeeb39b8a16d54ef57071bf22ff4e521657b27372e327d"},
+    {file = "cryptography-3.4.7-cp36-abi3-win_amd64.whl", hash = "sha256:de4e5f7f68220d92b7637fc99847475b59154b7a1b3868fb7385337af54ac9ca"},
+    {file = "cryptography-3.4.7-pp36-pypy36_pp73-manylinux2010_x86_64.whl", hash = "sha256:26965837447f9c82f1855e0bc8bc4fb910240b6e0d16a664bb722df3b5b06873"},
+    {file = "cryptography-3.4.7-pp36-pypy36_pp73-manylinux2014_x86_64.whl", hash = "sha256:eb8cc2afe8b05acbd84a43905832ec78e7b3873fb124ca190f574dca7389a87d"},
+    {file = "cryptography-3.4.7-pp37-pypy37_pp73-manylinux2010_x86_64.whl", hash = "sha256:7ec5d3b029f5fa2b179325908b9cd93db28ab7b85bb6c1db56b10e0b54235177"},
+    {file = "cryptography-3.4.7-pp37-pypy37_pp73-manylinux2014_x86_64.whl", hash = "sha256:ee77aa129f481be46f8d92a1a7db57269a2f23052d5f2433b4621bb457081cc9"},
+    {file = "cryptography-3.4.7.tar.gz", hash = "sha256:3d10de8116d25649631977cb37da6cbdd2d6fa0e0281d014a5b7d337255ca713"},
 ]
 distlib = [
-    {file = "distlib-0.3.1-py2.py3-none-any.whl", hash = "sha256:8c09de2c67b3e7deef7184574fc060ab8a793e7adbb183d942c389c8b13c52fb"},
-    {file = "distlib-0.3.1.zip", hash = "sha256:edf6116872c863e1aa9d5bb7cb5e05a022c519a4594dc703843343a9ddd9bff1"},
+    {file = "distlib-0.3.2-py2.py3-none-any.whl", hash = "sha256:23e223426b28491b1ced97dc3bbe183027419dfc7982b4fa2f05d5f3ff10711c"},
+    {file = "distlib-0.3.2.zip", hash = "sha256:106fef6dc37dd8c0e2c0a60d3fca3e77460a48907f335fa28420463a6f799736"},
 ]
 entrypoints = [
     {file = "entrypoints-0.3-py2.py3-none-any.whl", hash = "sha256:589f874b313739ad35be6e0cd7efde2a4e9b6fea91edcc34e58ecbb8dbe56d19"},
@@ -1228,8 +1315,8 @@ httpretty = [
     {file = "httpretty-0.9.7.tar.gz", hash = "sha256:66216f26b9d2c52e81808f3e674a6fb65d4bf719721394a1a9be926177e55fbe"},
 ]
 identify = [
-    {file = "identify-2.1.0-py2.py3-none-any.whl", hash = "sha256:2a5fdf2f5319cc357eda2550bea713a404392495961022cf2462624ce62f0f46"},
-    {file = "identify-2.1.0.tar.gz", hash = "sha256:2179e7359471ab55729f201b3fdf7dc2778e221f868410fedcb0987b791ba552"},
+    {file = "identify-2.2.13-py2.py3-none-any.whl", hash = "sha256:7199679b5be13a6b40e6e19ea473e789b11b4e3b60986499b1f589ffb03c217c"},
+    {file = "identify-2.2.13.tar.gz", hash = "sha256:7bc6e829392bd017236531963d2d937d66fc27cadc643ac0aba2ce9f26157c79"},
 ]
 idna = [
     {file = "idna-2.10-py2.py3-none-any.whl", hash = "sha256:b97d804b1e9b523befed77c48dacec60e6dcb0b5391d57af6a65a312a90648c0"},
@@ -1248,8 +1335,10 @@ ipaddress = [
     {file = "ipaddress-1.0.23.tar.gz", hash = "sha256:b7f8e0369580bb4a24d5ba1d7cc29660a4a6987763faf1d8a8046830e020e7e2"},
 ]
 jeepney = [
-    {file = "jeepney-0.6.0-py3-none-any.whl", hash = "sha256:aec56c0eb1691a841795111e184e13cad504f7703b9a64f63020816afa79a8ae"},
-    {file = "jeepney-0.6.0.tar.gz", hash = "sha256:7d59b6622675ca9e993a6bd38de845051d315f8b0c72cca3aef733a20b648657"},
+    {file = "jeepney-0.4.3-py3-none-any.whl", hash = "sha256:d6c6b49683446d2407d2fe3acb7a368a77ff063f9182fe427da15d622adc24cf"},
+    {file = "jeepney-0.4.3.tar.gz", hash = "sha256:3479b861cc2b6407de5188695fa1a8d57e5072d7059322469b62628869b8e36e"},
+    {file = "jeepney-0.7.1-py3-none-any.whl", hash = "sha256:1b5a0ea5c0e7b166b2f5895b91a08c14de8915afda4407fb5022a195224958ac"},
+    {file = "jeepney-0.7.1.tar.gz", hash = "sha256:fa9e232dfa0c498bd0b8a3a73b8d8a31978304dcef0515adc859d4e096f96f4f"},
 ]
 keyring = [
     {file = "keyring-18.0.1-py2.py3-none-any.whl", hash = "sha256:7b29ebfcf8678c4da531b2478a912eea01e80007e5ddca9ee0c7038cb3489ec6"},
@@ -1271,10 +1360,10 @@ more-itertools = [
     {file = "more-itertools-5.0.0.tar.gz", hash = "sha256:38a936c0a6d98a38bcc2d03fdaaedaba9f412879461dd2ceff8d37564d6522e4"},
     {file = "more_itertools-5.0.0-py2-none-any.whl", hash = "sha256:c0a5785b1109a6bd7fac76d6837fd1feca158e54e521ccd2ae8bfe393cc9d4fc"},
     {file = "more_itertools-5.0.0-py3-none-any.whl", hash = "sha256:fe7a7cae1ccb57d33952113ff4fa1bc5f879963600ed74918f1236e212ee50b9"},
-    {file = "more-itertools-8.6.0.tar.gz", hash = "sha256:b3a9005928e5bed54076e6e549c792b306fddfe72b2d1d22dd63d42d5d3899cf"},
-    {file = "more_itertools-8.6.0-py3-none-any.whl", hash = "sha256:8e1a2a43b2f2727425f2b5839587ae37093f19153dc26c0927d1048ff6557330"},
-    {file = "more-itertools-8.7.0.tar.gz", hash = "sha256:c5d6da9ca3ff65220c3bfd2a8db06d698f05d4d2b9be57e1deb2be5a45019713"},
-    {file = "more_itertools-8.7.0-py3-none-any.whl", hash = "sha256:5652a9ac72209ed7df8d9c15daf4e1aa0e3d2ccd3c87f8265a0673cd9cbc9ced"},
+    {file = "more-itertools-7.2.0.tar.gz", hash = "sha256:409cd48d4db7052af495b09dec721011634af3753ae1ef92d2b32f73a745f832"},
+    {file = "more_itertools-7.2.0-py3-none-any.whl", hash = "sha256:92b8c4b06dac4f0611c0729b2f2ede52b2e1bac1ab48f089c7ddc12e26bb60c4"},
+    {file = "more-itertools-8.8.0.tar.gz", hash = "sha256:83f0308e05477c68f56ea3a888172c78ed5d5b3c282addb67508e7ba6c8f813a"},
+    {file = "more_itertools-8.8.0-py3-none-any.whl", hash = "sha256:2cf89ec599962f2ddc4d568a05defc40e0a587fbc10d5989713638864c36be4d"},
 ]
 msgpack = [
     {file = "msgpack-1.0.2-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:b6d9e2dae081aa35c44af9c4298de4ee72991305503442a5c74656d82b581fe9"},
@@ -1307,8 +1396,8 @@ msgpack = [
     {file = "msgpack-1.0.2.tar.gz", hash = "sha256:fae04496f5bc150eefad4e9571d1a76c55d021325dcd484ce45065ebbdd00984"},
 ]
 nodeenv = [
-    {file = "nodeenv-1.5.0-py2.py3-none-any.whl", hash = "sha256:5304d424c529c997bc888453aeaa6362d242b6b4631e90f3d4bf1b290f1c84a9"},
-    {file = "nodeenv-1.5.0.tar.gz", hash = "sha256:ab45090ae383b716c4ef89e690c41ff8c2b257b85b309f01f3654df3d084bd7c"},
+    {file = "nodeenv-1.6.0-py2.py3-none-any.whl", hash = "sha256:621e6b7076565ddcacd2db0294c0381e01fd28945ab36bcf00f41c5daf63bef7"},
+    {file = "nodeenv-1.6.0.tar.gz", hash = "sha256:3ef13ff90291ba2a4a7a4ff9a979b63ffdd00a464dbe04acf0ea6471517a4c2b"},
 ]
 packaging = [
     {file = "packaging-20.9-py2.py3-none-any.whl", hash = "sha256:67714da7f7bc052e064859c05c595155bd1ee9f69f76557e21f051443c20947a"},
@@ -1319,28 +1408,32 @@ pastel = [
     {file = "pastel-0.2.1.tar.gz", hash = "sha256:e6581ac04e973cac858828c6202c1e1e81fee1dc7de7683f3e1ffe0bfd8a573d"},
 ]
 pathlib2 = [
-    {file = "pathlib2-2.3.5-py2.py3-none-any.whl", hash = "sha256:0ec8205a157c80d7acc301c0b18fbd5d44fe655968f5d947b6ecef5290fc35db"},
-    {file = "pathlib2-2.3.5.tar.gz", hash = "sha256:6cd9a47b597b37cc57de1c05e56fb1a1c9cc9fab04fe78c29acd090418529868"},
+    {file = "pathlib2-2.3.6-py2.py3-none-any.whl", hash = "sha256:3a130b266b3a36134dcc79c17b3c7ac9634f083825ca6ea9d8f557ee6195c9c8"},
+    {file = "pathlib2-2.3.6.tar.gz", hash = "sha256:7d8bcb5555003cdf4a8d2872c538faa3a0f5d20630cb360e518ca3b981795e5f"},
 ]
 pexpect = [
     {file = "pexpect-4.8.0-py2.py3-none-any.whl", hash = "sha256:0b48a55dcb3c05f3329815901ea4fc1537514d6ba867a152b581d69ae3710937"},
     {file = "pexpect-4.8.0.tar.gz", hash = "sha256:fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c"},
 ]
 pkginfo = [
-    {file = "pkginfo-1.7.0-py2.py3-none-any.whl", hash = "sha256:9fdbea6495622e022cc72c2e5e1b735218e4ffb2a2a69cde2694a6c1f16afb75"},
-    {file = "pkginfo-1.7.0.tar.gz", hash = "sha256:029a70cb45c6171c329dfc890cde0879f8c52d6f3922794796e06f577bb03db4"},
+    {file = "pkginfo-1.7.1-py2.py3-none-any.whl", hash = "sha256:37ecd857b47e5f55949c41ed061eb51a0bee97a87c969219d144c0e023982779"},
+    {file = "pkginfo-1.7.1.tar.gz", hash = "sha256:e7432f81d08adec7297633191bbf0bd47faf13cd8724c3a13250e51d542635bd"},
+]
+platformdirs = [
+    {file = "platformdirs-2.0.2-py2.py3-none-any.whl", hash = "sha256:0b9547541f599d3d242078ae60b927b3e453f0ad52f58b4d4bc3be86aed3ec41"},
+    {file = "platformdirs-2.0.2.tar.gz", hash = "sha256:3b00d081227d9037bbbca521a5787796b5ef5000faea1e43fd76f1d44b06fcfa"},
 ]
 pluggy = [
     {file = "pluggy-0.13.1-py2.py3-none-any.whl", hash = "sha256:966c145cd83c96502c3c3868f50408687b38434af77734af1e9ca461a4081d2d"},
     {file = "pluggy-0.13.1.tar.gz", hash = "sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0"},
 ]
 poetry-core = [
-    {file = "poetry-core-1.0.2.tar.gz", hash = "sha256:ff505d656a6cf40ffbf84393d8b5bf37b78523a15def3ac473b6fad74261ee71"},
-    {file = "poetry_core-1.0.2-py2.py3-none-any.whl", hash = "sha256:ee0ed4164440eeab27d1b01bc7b9b3afdc3124f68d4ea28d0821a402a9c7c044"},
+    {file = "poetry-core-1.0.4.tar.gz", hash = "sha256:4b3847ad3e7b5deb88a35b23fa19762b9cef26828770cef3a5b47ffb508119c1"},
+    {file = "poetry_core-1.0.4-py2.py3-none-any.whl", hash = "sha256:a99fa921cf84f0521644714bb4b531d9d8f839c64de20aa71fa137f7461a1516"},
 ]
 pre-commit = [
-    {file = "pre_commit-2.10.1-py2.py3-none-any.whl", hash = "sha256:16212d1fde2bed88159287da88ff03796863854b04dc9f838a55979325a3d20e"},
-    {file = "pre_commit-2.10.1.tar.gz", hash = "sha256:399baf78f13f4de82a29b649afd74bef2c4e28eb4f021661fc7f29246e8c7a3a"},
+    {file = "pre_commit-2.14.0-py2.py3-none-any.whl", hash = "sha256:ec3045ae62e1aa2eecfb8e86fa3025c2e3698f77394ef8d2011ce0aedd85b2d4"},
+    {file = "pre_commit-2.14.0.tar.gz", hash = "sha256:2386eeb4cf6633712c7cc9ede83684d53c8cafca6b59f79c738098b51c6d206c"},
 ]
 ptyprocess = [
     {file = "ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35"},
@@ -1355,8 +1448,8 @@ pycparser = [
     {file = "pycparser-2.20.tar.gz", hash = "sha256:2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0"},
 ]
 pylev = [
-    {file = "pylev-1.3.0-py2.py3-none-any.whl", hash = "sha256:1d29a87beb45ebe1e821e7a3b10da2b6b2f4c79b43f482c2df1a1f748a6e114e"},
-    {file = "pylev-1.3.0.tar.gz", hash = "sha256:063910098161199b81e453025653ec53556c1be7165a9b7c50be2f4d57eae1c3"},
+    {file = "pylev-1.4.0-py2.py3-none-any.whl", hash = "sha256:7b2e2aa7b00e05bb3f7650eb506fc89f474f70493271a35c242d9a92188ad3dd"},
+    {file = "pylev-1.4.0.tar.gz", hash = "sha256:9e77e941042ad3a4cc305dcdf2b2dec1aec2fbe3dd9015d2698ad02b173006d1"},
 ]
 pyparsing = [
     {file = "pyparsing-2.4.7-py2.py3-none-any.whl", hash = "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b"},
@@ -1369,8 +1462,8 @@ pytest = [
     {file = "pytest-5.4.3.tar.gz", hash = "sha256:7979331bfcba207414f5e1263b5a0f8f521d0f457318836a7355531ed1a4c7d8"},
 ]
 pytest-cov = [
-    {file = "pytest-cov-2.11.1.tar.gz", hash = "sha256:359952d9d39b9f822d9d29324483e7ba04a3a17dd7d05aa6beb7ea01e359e5f7"},
-    {file = "pytest_cov-2.11.1-py2.py3-none-any.whl", hash = "sha256:bdb9fdb0b85a7cc825269a4c56b48ccaa5c7e365054b6038772c32ddcdc969da"},
+    {file = "pytest-cov-2.12.1.tar.gz", hash = "sha256:261ceeb8c227b726249b376b8526b600f38667ee314f910353fa318caa01f4d7"},
+    {file = "pytest_cov-2.12.1-py2.py3-none-any.whl", hash = "sha256:261bb9e47e65bd099c89c3edf92972865210c36813f80ede5277dceb77a4a62a"},
 ]
 pytest-mock = [
     {file = "pytest-mock-1.13.0.tar.gz", hash = "sha256:e24a911ec96773022ebcc7030059b57cd3480b56d4f5d19b7c370ec635e6aed5"},
@@ -1390,18 +1483,26 @@ pyyaml = [
     {file = "PyYAML-5.4.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:bb4191dfc9306777bc594117aee052446b3fa88737cd13b7188d0e7aa8162185"},
     {file = "PyYAML-5.4.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:6c78645d400265a062508ae399b60b8c167bf003db364ecb26dcab2bda048253"},
     {file = "PyYAML-5.4.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:4e0583d24c881e14342eaf4ec5fbc97f934b999a6828693a99157fde912540cc"},
+    {file = "PyYAML-5.4.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:72a01f726a9c7851ca9bfad6fd09ca4e090a023c00945ea05ba1638c09dc3347"},
+    {file = "PyYAML-5.4.1-cp36-cp36m-manylinux2014_s390x.whl", hash = "sha256:895f61ef02e8fed38159bb70f7e100e00f471eae2bc838cd0f4ebb21e28f8541"},
     {file = "PyYAML-5.4.1-cp36-cp36m-win32.whl", hash = "sha256:3bd0e463264cf257d1ffd2e40223b197271046d09dadf73a0fe82b9c1fc385a5"},
     {file = "PyYAML-5.4.1-cp36-cp36m-win_amd64.whl", hash = "sha256:e4fac90784481d221a8e4b1162afa7c47ed953be40d31ab4629ae917510051df"},
     {file = "PyYAML-5.4.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:5accb17103e43963b80e6f837831f38d314a0495500067cb25afab2e8d7a4018"},
     {file = "PyYAML-5.4.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:e1d4970ea66be07ae37a3c2e48b5ec63f7ba6804bdddfdbd3cfd954d25a82e63"},
+    {file = "PyYAML-5.4.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:cb333c16912324fd5f769fff6bc5de372e9e7a202247b48870bc251ed40239aa"},
+    {file = "PyYAML-5.4.1-cp37-cp37m-manylinux2014_s390x.whl", hash = "sha256:fe69978f3f768926cfa37b867e3843918e012cf83f680806599ddce33c2c68b0"},
     {file = "PyYAML-5.4.1-cp37-cp37m-win32.whl", hash = "sha256:dd5de0646207f053eb0d6c74ae45ba98c3395a571a2891858e87df7c9b9bd51b"},
     {file = "PyYAML-5.4.1-cp37-cp37m-win_amd64.whl", hash = "sha256:08682f6b72c722394747bddaf0aa62277e02557c0fd1c42cb853016a38f8dedf"},
     {file = "PyYAML-5.4.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d2d9808ea7b4af864f35ea216be506ecec180628aced0704e34aca0b040ffe46"},
     {file = "PyYAML-5.4.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:8c1be557ee92a20f184922c7b6424e8ab6691788e6d86137c5d93c1a6ec1b8fb"},
+    {file = "PyYAML-5.4.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:fd7f6999a8070df521b6384004ef42833b9bd62cfee11a09bda1079b4b704247"},
+    {file = "PyYAML-5.4.1-cp38-cp38-manylinux2014_s390x.whl", hash = "sha256:bfb51918d4ff3d77c1c856a9699f8492c612cde32fd3bcd344af9be34999bfdc"},
     {file = "PyYAML-5.4.1-cp38-cp38-win32.whl", hash = "sha256:fa5ae20527d8e831e8230cbffd9f8fe952815b2b7dae6ffec25318803a7528fc"},
     {file = "PyYAML-5.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:0f5f5786c0e09baddcd8b4b45f20a7b5d61a7e7e99846e3c799b05c7c53fa696"},
     {file = "PyYAML-5.4.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:294db365efa064d00b8d1ef65d8ea2c3426ac366c0c4368d930bf1c5fb497f77"},
     {file = "PyYAML-5.4.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:74c1485f7707cf707a7aef42ef6322b8f97921bd89be2ab6317fd782c2d53183"},
+    {file = "PyYAML-5.4.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:d483ad4e639292c90170eb6f7783ad19490e7a8defb3e46f97dfe4bacae89122"},
+    {file = "PyYAML-5.4.1-cp39-cp39-manylinux2014_s390x.whl", hash = "sha256:fdc842473cd33f45ff6bce46aea678a54e3d21f1b61a7750ce3c498eedfe25d6"},
     {file = "PyYAML-5.4.1-cp39-cp39-win32.whl", hash = "sha256:49d4cdd9065b9b6e206d0595fee27a96b5dd22618e7520c33204a4a3239d5b10"},
     {file = "PyYAML-5.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:c20cfa2d49991c8b4147af39859b167664f2ad4561704ee74c1de03318e898db"},
     {file = "PyYAML-5.4.1.tar.gz", hash = "sha256:607774cbba28732bfa802b54baa7484215f530991055bb562efbed5b2f20a45e"},
@@ -1429,6 +1530,8 @@ scandir = [
 ]
 secretstorage = [
     {file = "SecretStorage-2.3.1.tar.gz", hash = "sha256:3af65c87765323e6f64c83575b05393f9e003431959c9395d1791d51497f29b6"},
+    {file = "SecretStorage-3.2.0-py3-none-any.whl", hash = "sha256:ed5279d788af258e4676fa26b6efb6d335a31f1f9f529b6f1e200f388fac33e1"},
+    {file = "SecretStorage-3.2.0.tar.gz", hash = "sha256:46305c3847ee3f7252b284e0eee5590fa6341c891104a2fd2313f8798c615a82"},
     {file = "SecretStorage-3.3.1-py3-none-any.whl", hash = "sha256:422d82c36172d88d6a0ed5afdec956514b189ddbfb72fefab0c8a1cee4eaf71f"},
     {file = "SecretStorage-3.3.1.tar.gz", hash = "sha256:fd666c51a6bf200643495a04abb261f83229dcb6fd8472ec393df7ffc8b6f195"},
 ]
@@ -1437,12 +1540,12 @@ shellingham = [
     {file = "shellingham-1.4.0.tar.gz", hash = "sha256:4855c2458d6904829bd34c299f11fdeed7cfefbf8a2c522e4caea6cd76b3171e"},
 ]
 singledispatch = [
-    {file = "singledispatch-3.6.1-py2.py3-none-any.whl", hash = "sha256:85c97f94c8957fa4e6dab113156c182fb346d56d059af78aad710bced15f16fb"},
-    {file = "singledispatch-3.6.1.tar.gz", hash = "sha256:58b46ce1cc4d43af0aac3ac9a047bdb0f44e05f0b2fa2eec755863331700c865"},
+    {file = "singledispatch-3.7.0-py2.py3-none-any.whl", hash = "sha256:bc77afa97c8a22596d6d4fc20f1b7bdd2b86edc2a65a4262bdd7cc3cc19aa989"},
+    {file = "singledispatch-3.7.0.tar.gz", hash = "sha256:c1a4d5c1da310c3fd8fccfb8d4e1cb7df076148fd5d858a819e37fffe44f3092"},
 ]
 six = [
-    {file = "six-1.15.0-py2.py3-none-any.whl", hash = "sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced"},
-    {file = "six-1.15.0.tar.gz", hash = "sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259"},
+    {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"},
+    {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"},
 ]
 subprocess32 = [
     {file = "subprocess32-3.5.4-cp27-cp27m-macosx_10_6_intel.whl", hash = "sha256:88e37c1aac5388df41cc8a8456bb49ebffd321a3ad4d70358e3518176de3a56b"},
@@ -1457,29 +1560,30 @@ toml = [
     {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"},
 ]
 tomlkit = [
-    {file = "tomlkit-0.7.0-py2.py3-none-any.whl", hash = "sha256:6babbd33b17d5c9691896b0e68159215a9387ebfa938aa3ac42f4a4beeb2b831"},
-    {file = "tomlkit-0.7.0.tar.gz", hash = "sha256:ac57f29693fab3e309ea789252fcce3061e19110085aa31af5446ca749325618"},
+    {file = "tomlkit-0.7.2-py2.py3-none-any.whl", hash = "sha256:173ad840fa5d2aac140528ca1933c29791b79a374a0861a80347f42ec9328117"},
+    {file = "tomlkit-0.7.2.tar.gz", hash = "sha256:d7a454f319a7e9bd2e249f239168729327e4dd2d27b17dc68be264ad1ce36754"},
 ]
 tox = [
-    {file = "tox-3.23.0-py2.py3-none-any.whl", hash = "sha256:e007673f3595cede9b17a7c4962389e4305d4a3682a6c5a4159a1453b4f326aa"},
-    {file = "tox-3.23.0.tar.gz", hash = "sha256:05a4dbd5e4d3d8269b72b55600f0b0303e2eb47ad5c6fe76d3576f4c58d93661"},
+    {file = "tox-3.24.2-py2.py3-none-any.whl", hash = "sha256:d45d39203b10fdb2f6887c6779865e31de82cea07419a739844cc4bd4b3493e2"},
+    {file = "tox-3.24.2.tar.gz", hash = "sha256:ae442d4d51d5a3afb3711e4c7d94f5ca8461afd27c53f5dd994aba34896cf02d"},
 ]
 typing = [
-    {file = "typing-3.7.4.3-py2-none-any.whl", hash = "sha256:283d868f5071ab9ad873e5e52268d611e851c870a2ba354193026f2dfb29d8b5"},
-    {file = "typing-3.7.4.3.tar.gz", hash = "sha256:1187fb9c82fd670d10aa07bbb6cfcfe4bdda42d6fab8d5134f04e8c4d0b71cc9"},
+    {file = "typing-3.10.0.0-py2-none-any.whl", hash = "sha256:c7219ef20c5fbf413b4567092adfc46fa6203cb8454eda33c3fc1afe1398a308"},
+    {file = "typing-3.10.0.0-py3-none-any.whl", hash = "sha256:12fbdfbe7d6cca1a42e485229afcb0b0c8259258cfb919b8a5e2a5c953742f89"},
+    {file = "typing-3.10.0.0.tar.gz", hash = "sha256:13b4ad211f54ddbf93e5901a9967b1e07720c1d1b78d596ac6a439641aa1b130"},
 ]
 typing-extensions = [
-    {file = "typing_extensions-3.7.4.3-py2-none-any.whl", hash = "sha256:dafc7639cde7f1b6e1acc0f457842a83e722ccca8eef5270af2d74792619a89f"},
-    {file = "typing_extensions-3.7.4.3-py3-none-any.whl", hash = "sha256:7cb407020f00f7bfc3cb3e7881628838e69d8f3fcab2f64742a5e76b2f841918"},
-    {file = "typing_extensions-3.7.4.3.tar.gz", hash = "sha256:99d4073b617d30288f569d3f13d2bd7548c3a7e4c8de87db09a9d29bb3a4a60c"},
+    {file = "typing_extensions-3.10.0.0-py2-none-any.whl", hash = "sha256:0ac0f89795dd19de6b97debb0c6af1c70987fd80a2d62d1958f7e56fcc31b497"},
+    {file = "typing_extensions-3.10.0.0-py3-none-any.whl", hash = "sha256:779383f6086d90c99ae41cf0ff39aac8a7937a9283ce0a414e5dd782f4c94a84"},
+    {file = "typing_extensions-3.10.0.0.tar.gz", hash = "sha256:50b6f157849174217d0656f99dc82fe932884fb250826c18350e159ec6cdf342"},
 ]
 urllib3 = [
     {file = "urllib3-1.25.11-py2.py3-none-any.whl", hash = "sha256:f5321fbe4bf3fefa0efd0bfe7fb14e90909eb62a48ccda331726b4319897dd5e"},
     {file = "urllib3-1.25.11.tar.gz", hash = "sha256:8d7eaa5a82a1cac232164990f04874c594c9453ec55eef02eab885aa02fc17a2"},
 ]
 virtualenv = [
-    {file = "virtualenv-20.4.2-py2.py3-none-any.whl", hash = "sha256:2be72df684b74df0ea47679a7df93fd0e04e72520022c57b479d8f881485dbe3"},
-    {file = "virtualenv-20.4.2.tar.gz", hash = "sha256:147b43894e51dd6bba882cf9c282447f780e2251cd35172403745fc381a0a80d"},
+    {file = "virtualenv-20.7.2-py2.py3-none-any.whl", hash = "sha256:e4670891b3a03eb071748c569a87cceaefbf643c5bac46d996c5a45c34aa0f06"},
+    {file = "virtualenv-20.7.2.tar.gz", hash = "sha256:9ef4e8ee4710826e98ff3075c9a4739e2cb1040de6a2a8d35db0055840dc96a0"},
 ]
 wcwidth = [
     {file = "wcwidth-0.2.5-py2.py3-none-any.whl", hash = "sha256:beb4802a9cebb9144e99086eff703a642a13d6a0052920003a230f3294bbe784"},
diff --git a/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/pyproject.toml b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/pyproject.toml
index 02f6dabc86fc..eb55fd122702 100644
--- a/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/pyproject.toml
+++ b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/pyproject.toml
@@ -1,6 +1,6 @@
 [tool.poetry]
 name = "poetry"
-version = "1.1.5"
+version = "1.1.8"
 description = "Python dependency management and packaging made easy."
 authors = [
     "Sébastien Eustace <sebastien@eustace.io>"
@@ -24,7 +24,7 @@ classifiers = [
 [tool.poetry.dependencies]
 python = "~2.7 || ^3.5"
 
-poetry-core = "~1.0.2"
+poetry-core = "~1.0.4"
 cleo = "^0.8.1"
 clikit = "^0.6.2"
 crashtest = { version = "^0.3.0", python = "^3.6" }
diff --git a/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/src.json b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/src.json
index fcdb01e29c1d..abb6993d4c2c 100644
--- a/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/src.json
+++ b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/src.json
@@ -1,7 +1,7 @@
 {
     "owner": "python-poetry",
     "repo": "poetry",
-    "rev": "a9704149394151f4d0d28cd5d8ee2283c7d10787",
-    "sha256": "0bv6irpscpak6pldkzrx4j12dqnpfz5h8fy5lliglizv0avh60hf",
+    "rev": "bce13c14f73060b3abbb791dea585d8fde26eaef",
+    "sha256": "H3Za2p5Sh+K7f2TEFV7vQpCEUyiGBNTu1clIi86Sj2E=",
     "fetchSubmodules": true
 }
diff --git a/nixpkgs/pkgs/development/tools/poetry2nix/update b/nixpkgs/pkgs/development/tools/poetry2nix/update
index 41866437aa4a..ac8c98a33d9c 100755
--- a/nixpkgs/pkgs/development/tools/poetry2nix/update
+++ b/nixpkgs/pkgs/development/tools/poetry2nix/update
@@ -16,7 +16,7 @@ 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.*
+rm build/shell.nix build/generate.py build/overlay.nix build/flake.* build/check-fmt.nix
 
 cat > build/README.md << EOF
 Dont change these files here, they are maintained at https://github.com/nix-community/poetry2nix
diff --git a/nixpkgs/pkgs/development/tools/postiats-utilities/default.nix b/nixpkgs/pkgs/development/tools/postiats-utilities/default.nix
index 6d4db28f37e0..51d9d14efa17 100644
--- a/nixpkgs/pkgs/development/tools/postiats-utilities/default.nix
+++ b/nixpkgs/pkgs/development/tools/postiats-utilities/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "postiats-utilities";
-  version = "2.0.1";
+  version = "2.1.1";
   src = fetchFromGitHub {
     owner = "Hibou57";
     repo = "PostiATS-Utilities";
     rev = "v${version}";
-    sha256 = "1238zp6sh60rdqbzff0w5c36w2z1jr44qnv43qidmcp19zvr7jd5";
+    sha256 = "sha256-QeBbv5lwqL2ARjB+RGyBHeuibaxugffBLhC9lYs+5tE=";
   };
 
   meta = with lib; {
@@ -19,8 +19,6 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ python3 python3Packages.wrapPython ];
 
-  phases = "unpackPhase patchPhase installPhase";
-
   postPatch = ''
     for f in pats-* postiats/*.py; do
       sed -i "$f" -e "1 s,python3,python,"
diff --git a/nixpkgs/pkgs/development/tools/profiling/systemtap/default.nix b/nixpkgs/pkgs/development/tools/profiling/systemtap/default.nix
index 641c1581b051..b828dbfc7156 100644
--- a/nixpkgs/pkgs/development/tools/profiling/systemtap/default.nix
+++ b/nixpkgs/pkgs/development/tools/profiling/systemtap/default.nix
@@ -6,8 +6,8 @@ let
   ## fetchgit info
   url = "git://sourceware.org/git/systemtap.git";
   rev = "release-${version}";
-  sha256 = "0mmpiq7bsrwhp7z07a1pwka4q6d2fbmdx5wp83nxj31rvdxhqwnw";
-  version = "4.1";
+  sha256 = "sha256-3LgqMBCnUG2UmsekaIvV43lBpSPEocEXmFV9WpE7wE0=";
+  version = "4.5";
 
   inherit (kernel) stdenv;
 
diff --git a/nixpkgs/pkgs/development/tools/protoc-gen-grpc-web/default.nix b/nixpkgs/pkgs/development/tools/protoc-gen-grpc-web/default.nix
new file mode 100644
index 000000000000..c50894b31e1e
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/protoc-gen-grpc-web/default.nix
@@ -0,0 +1,40 @@
+{ lib, stdenv, fetchFromGitHub, fetchpatch, protobuf }:
+
+stdenv.mkDerivation rec {
+  pname = "protoc-gen-grpc-web";
+  version = "1.2.1";
+
+  src = fetchFromGitHub {
+    owner = "grpc";
+    repo = "grpc-web";
+    rev = version;
+    sha256 = "sha256-NBENyc01O8NPo84z1CeZ7YvFvVGY2GSlcdxacRrQALw=";
+  };
+
+  sourceRoot = "source/javascript/net/grpc/web";
+
+  # remove once PR merged
+  # https://github.com/grpc/grpc-web/pull/1107
+  patches = [
+    (fetchpatch {
+      name = "add-prefix.patch";
+      url = "https://github.com/06kellyjac/grpc-web/commit/b0803be1080fc635a8d5b88da971835a888a0c77.patch";
+      stripLen = 4;
+      sha256 = "sha256-Rw9Z7F8cYrc/UIGUN6yXOus4v+Qn9Yf1Nc301TFx85A=";
+    })
+  ];
+
+  strictDeps = true;
+  nativeBuildInputs = [ protobuf ];
+  buildInputs = [ protobuf ];
+
+  makeFlags = [ "PREFIX=$(out)" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/grpc/grpc-web";
+    changelog = "https://github.com/grpc/grpc-web/blob/${version}/CHANGELOG.md";
+    description = "gRPC web support for Google's protocol buffers";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ jk ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/pscale/default.nix b/nixpkgs/pkgs/development/tools/pscale/default.nix
index 483a85db02a1..477827b75a14 100644
--- a/nixpkgs/pkgs/development/tools/pscale/default.nix
+++ b/nixpkgs/pkgs/development/tools/pscale/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "pscale";
-  version = "0.60.0";
+  version = "0.65.0";
 
   src = fetchFromGitHub {
     owner = "planetscale";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-hrWSieWeVAg28f3Fh9mElr+mDh4v4T5JI1c3+Hrm7c0=";
+    sha256 = "sha256-RIyxO2nTysJLdYQvlmhZpS8R2kkwN+XeTlk4Ocbk9C8=";
   };
 
-  vendorSha256 = "sha256-h4YUQWmFYouEvHup8Pu6OqfHf1EoPszVFzklU9SbJZQ=";
+  vendorSha256 = "sha256-8zgWM5e+aKggGbLoL/Fmy7AuALVlLa74eHBxNGjTSy4=";
 
   meta = with lib; {
     homepage = "https://www.planetscale.com/";
diff --git a/nixpkgs/pkgs/development/tools/py-spy/default.nix b/nixpkgs/pkgs/development/tools/py-spy/default.nix
index 94c706c02106..e0c1722a6116 100644
--- a/nixpkgs/pkgs/development/tools/py-spy/default.nix
+++ b/nixpkgs/pkgs/development/tools/py-spy/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "py-spy";
-  version = "0.3.5";
+  version = "0.3.8";
 
   src = fetchFromGitHub {
     owner = "benfred";
     repo = "py-spy";
     rev = "v${version}";
-    sha256 = "sha256-O6DbY/0ZI+BeG22jd9snbE718Y2vv7fqmeDdGWTnqfY=";
+    sha256 = "sha256-nb4ehJQGo6k4/gO2e54sBW1+eZ23jxgst142RPAn2jw=";
   };
 
   NIX_CFLAGS_COMPILE = "-L${libunwind}/lib";
@@ -20,7 +20,7 @@ rustPlatform.buildRustPackage rec {
 
   checkInputs = [ python3 ];
 
-  cargoSha256 = "sha256-hmqrVGNu3zb109TQfhLI3wvGVnlc4CfbkrIKMfRSn7M=";
+  cargoSha256 = "sha256-qiK/LBRF6YCK1rhOlvK7g7BxF5G5zPgWJ3dM2Le0Yio=";
 
   meta = with lib; {
     description = "Sampling profiler for Python programs";
diff --git a/nixpkgs/pkgs/development/tools/pypi-mirror/default.nix b/nixpkgs/pkgs/development/tools/pypi-mirror/default.nix
new file mode 100644
index 000000000000..cc90e41a472a
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/pypi-mirror/default.nix
@@ -0,0 +1,24 @@
+{ fetchFromGitHub
+, lib
+, python3
+}:
+python3.pkgs.buildPythonApplication rec {
+  pname = "pypi-mirror";
+  version = "4.0.6";
+
+  src = fetchFromGitHub {
+    owner = "montag451";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0slh8ahywcgbggfcmzyqpb8bmq9dkk6vvjfkbi0ashnm8c6x19vd";
+  };
+
+  pythonImportsCheck = [ "pypi_mirror" ];
+
+  meta = with lib; {
+    description = "A script to create a partial PyPI mirror";
+    homepage = "https://github.com/montag451/pypi-mirror";
+    license = licenses.mit;
+    maintainers = with maintainers; [ kamadorueda ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/qtcreator/default.nix b/nixpkgs/pkgs/development/tools/qtcreator/default.nix
index 2b0227407da2..9df547308f56 100644
--- a/nixpkgs/pkgs/development/tools/qtcreator/default.nix
+++ b/nixpkgs/pkgs/development/tools/qtcreator/default.nix
@@ -45,8 +45,6 @@ mkDerivation rec {
 
   doCheck = true;
 
-  enableParallelBuilding = true;
-
   buildFlags = optional withDocumentation "docs";
 
   installFlags = [ "INSTALL_ROOT=$(out)" ] ++ optional withDocumentation "install_docs";
@@ -70,7 +68,7 @@ mkDerivation rec {
       --replace 'LLVM_CXXFLAGS ~= s,-gsplit-dwarf,' '${lib.concatStringsSep "\n" ["LLVM_CXXFLAGS ~= s,-gsplit-dwarf," "    LLVM_CXXFLAGS += -fno-rtti"]}'
   '';
 
-  preBuild = optional withDocumentation ''
+  preBuild = optionalString withDocumentation ''
     ln -s ${getLib qtbase}/$qtDocPrefix $NIX_QT5_TMP/share
   '';
 
diff --git a/nixpkgs/pkgs/development/tools/rakkess/default.nix b/nixpkgs/pkgs/development/tools/rakkess/default.nix
new file mode 100644
index 000000000000..1f85917bff5b
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/rakkess/default.nix
@@ -0,0 +1,32 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "rakkess";
+  version = "0.5.0";
+
+  src = fetchFromGitHub {
+    owner = "corneliusweig";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-qDcSIpIS09OU2tYoBGq7BCXFkf9QWj07RvNKMjghrFU=";
+  };
+  vendorSha256 = "sha256-1/8it/djhDjbWqe36VefnRu9XuwAa/qKpZT6d2LGpJ0=";
+
+  ldflags = [ "-s" "-w" "-X github.com/corneliusweig/rakkess/internal/version.version=v${version}" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/corneliusweig/rakkess";
+    changelog = "https://github.com/corneliusweig/rakkess/releases/tag/v${version}";
+    description = "Review Access - kubectl plugin to show an access matrix for k8s server resources";
+    longDescription = ''
+      Have you ever wondered what access rights you have on a provided
+      kubernetes cluster? For single resources you can use
+      `kubectl auth can-i list deployments`, but maybe you are looking for a
+      complete overview? This is what rakkess is for. It lists access rights for
+      the current user and all server resources, similar to
+      `kubectl auth can-i --list`.
+    '';
+    license = licenses.asl20;
+    maintainers = with maintainers; [ jk ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/react-native-debugger/default.nix b/nixpkgs/pkgs/development/tools/react-native-debugger/default.nix
index 1db72dc1c8ff..ea842c820899 100644
--- a/nixpkgs/pkgs/development/tools/react-native-debugger/default.nix
+++ b/nixpkgs/pkgs/development/tools/react-native-debugger/default.nix
@@ -38,10 +38,10 @@ let
   ];
 in stdenv.mkDerivation rec {
   pname = "react-native-debugger";
-  version = "0.11.7";
+  version = "0.12.1";
   src = fetchurl {
     url = "https://github.com/jhen0409/react-native-debugger/releases/download/v${version}/rn-debugger-linux-x64.zip";
-    sha256 = "sha256-UXKObJKk9UUgWtm8U+nXWvIJUr4NLm2f//pGTHJISYA=";
+    sha256 = "sha256-DzDZmZn45gpZb/fkSssb0PtR7EVyBk44IjC57beg0RM=";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/nixpkgs/pkgs/development/tools/renderizer/default.nix b/nixpkgs/pkgs/development/tools/renderizer/default.nix
index ccf1d4a37d6c..d9987137ce65 100644
--- a/nixpkgs/pkgs/development/tools/renderizer/default.nix
+++ b/nixpkgs/pkgs/development/tools/renderizer/default.nix
@@ -2,17 +2,17 @@
 
 buildGoModule rec {
   pname = "renderizer";
-  version = "2.0.12";
+  version = "2.0.13";
 
   src = fetchFromGitHub {
     owner = "gomatic";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Ji+wTTXLp17EYRIjUiVgd33ZeBdT8K2O8R2Ejq2Ll5I=";
+    sha256 = "sha256-jl98LuEsGN40L9IfybJhLnbzoYP/XpwFVQnjrlmDL9A=";
   };
 
-  buildFlagsArray = [
-    "-ldflags=-s -w -X main.version=${version} -X main.commitHash=${src.rev} -X main.date=19700101T000000"
+  ldflags = [
+    "-s" "-w" "-X main.version=${version}" "-X main.commitHash=${src.rev}" "-X main.date=19700101T000000"
   ];
 
   vendorSha256 = null;
diff --git a/nixpkgs/pkgs/development/tools/rgp/default.nix b/nixpkgs/pkgs/development/tools/rgp/default.nix
index 7b49a83b1ccf..7b8ac88de631 100644
--- a/nixpkgs/pkgs/development/tools/rgp/default.nix
+++ b/nixpkgs/pkgs/development/tools/rgp/default.nix
@@ -12,22 +12,22 @@
 , libX11
 , libxcb
 , libXi
-, ncurses5
+, ncurses
 , qtbase
 , qtdeclarative
 , zlib
 }:
 
 let
-  buildNum = "2021-03-31-696";
+  buildNum = "2021-06-30-819";
 in
 stdenv.mkDerivation rec {
   pname = "rgp";
-  version = "1.10";
+  version = "1.11";
 
   src = fetchurl {
     url = "https://gpuopen.com/download/radeon-developer-tool-suite/RadeonDeveloperToolSuite-${buildNum}.tgz";
-    sha256 = "1GUV75KpYbeq7KkE86QqTfGnf/t3VEgviaAsbg/LWJI=";
+    sha256 = "ru+e/oY844x4nvSVRBrTGDdnzUOBhwkaIrnftBITyE8=";
   };
 
   nativeBuildInputs = [ makeWrapper autoPatchelfHook ];
@@ -42,17 +42,12 @@ stdenv.mkDerivation rec {
     libX11
     libxcb
     libXi
-    ncurses5
+    ncurses
     qtbase
     qtdeclarative
     zlib
   ];
 
-  runtimeDependencies = [
-    "${placeholder "out"}/opt/rgp"
-    "${placeholder "out"}/opt/rgp/qt"
-  ];
-
   dontWrapQtApps = true;
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/development/tools/rnix-lsp/default.nix b/nixpkgs/pkgs/development/tools/rnix-lsp/default.nix
index 27bad6b51d69..09c8531c938b 100644
--- a/nixpkgs/pkgs/development/tools/rnix-lsp/default.nix
+++ b/nixpkgs/pkgs/development/tools/rnix-lsp/default.nix
@@ -1,4 +1,4 @@
-{ callPackage, lib, fetchFromGitHub, rustPlatform }:
+{ lib, fetchFromGitHub, rustPlatform }:
 
 rustPlatform.buildRustPackage rec {
   pname = "rnix-lsp";
@@ -8,7 +8,6 @@ rustPlatform.buildRustPackage rec {
     owner = "nix-community";
     repo = "rnix-lsp";
     rev = "v${version}";
-
     sha256 = "0fy620c34kxl27sd62x9mj0555bcdmnmbsxavmyiwb497z1m9wnn";
   };
 
diff --git a/nixpkgs/pkgs/development/tools/ronn/default.nix b/nixpkgs/pkgs/development/tools/ronn/default.nix
index 8b5166272202..3569638b2183 100644
--- a/nixpkgs/pkgs/development/tools/ronn/default.nix
+++ b/nixpkgs/pkgs/development/tools/ronn/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     gemdir = ./.;
   };
 
-  phases = ["installPhase"];
+  dontUnpack = true;
 
   nativeBuildInputs = [ makeWrapper ];
 
diff --git a/nixpkgs/pkgs/development/tools/roswell/0001-get-image-from-environment.patch b/nixpkgs/pkgs/development/tools/roswell/0001-get-image-from-environment.patch
new file mode 100644
index 000000000000..5eeaf514db95
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/roswell/0001-get-image-from-environment.patch
@@ -0,0 +1,25 @@
+From 40c81f684ec2014ea63a712329f61c52aebe4dba Mon Sep 17 00:00:00 2001
+From: Valentin Boettcher <hiro@protagon.space>
+Date: Wed, 4 Aug 2021 17:25:12 +0200
+Subject: [PATCH] get image from environment
+
+---
+ src/cmd-run-sbcl.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/cmd-run-sbcl.c b/src/cmd-run-sbcl.c
+index a83b56c..dc472bb 100644
+--- a/src/cmd-run-sbcl.c
++++ b/src/cmd-run-sbcl.c
+@@ -12,7 +12,7 @@ char** cmd_run_sbcl(int argc,char** argv,struct sub_command* cmd) {
+   char* impl_path=impldir(arch,os,impl,version);
+   char* help=get_opt("help",0);
+   char* script=get_opt("script",0);
+-  char* image=get_opt("image",0);
++  char* image=get_opt("image",1);
+   char* program=get_opt("program",0);
+   char* dynamic_space_size=get_opt("dynamic-space-size",1);
+   char* control_stack_size=get_opt("control-stack-size",1);
+-- 
+2.32.0
+
diff --git a/nixpkgs/pkgs/development/tools/roswell/default.nix b/nixpkgs/pkgs/development/tools/roswell/default.nix
index 98445ea875a4..28dcec785edb 100644
--- a/nixpkgs/pkgs/development/tools/roswell/default.nix
+++ b/nixpkgs/pkgs/development/tools/roswell/default.nix
@@ -2,15 +2,22 @@
 
 stdenv.mkDerivation rec {
   pname = "roswell";
-  version = "21.01.14.108";
+  version = "21.06.14.110";
 
   src = fetchFromGitHub {
     owner = "roswell";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1hj9q3ig7naky3pb3jkl9yjc9xkg0k7js3glxicv0aqffx9hkp3p";
+    sha256 = "18hxhz7skxvzabz5z0yjky4f3fsyfanafh0imkn5macp8aw3wsfm";
   };
 
+  patches = [
+    # Load the name of the image from the environment variable so that
+    # it can be consistently overwritten. Using the command line
+    # argument in the wrapper did not work.
+    ./0001-get-image-from-environment.patch
+  ];
+
   preConfigure = ''
     sh bootstrap
   '';
@@ -19,7 +26,8 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     wrapProgram $out/bin/ros \
-      --add-flags 'lisp=sbcl-bin/system sbcl-bin.version=system' \
+      --set image `basename $out` \
+      --add-flags 'lisp=sbcl-bin/system sbcl-bin.version=system -L sbcl-bin' \
       --prefix PATH : ${lib.makeBinPath [ sbcl ]} --argv0 ros
   '';
 
diff --git a/nixpkgs/pkgs/development/tools/rust/bindgen/default.nix b/nixpkgs/pkgs/development/tools/rust/bindgen/default.nix
index 267cc4fcfbab..cc3907ba7f29 100644
--- a/nixpkgs/pkgs/development/tools/rust/bindgen/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/bindgen/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchFromGitHub, rustPlatform, clang, llvmPackages_latest, rustfmt, writeScriptBin
+{ lib, fetchFromGitHub, rustPlatform, clang, llvmPackages_latest, rustfmt, writeTextFile
 , runtimeShell
 , bash
 }:
@@ -38,12 +38,17 @@ rustPlatform.buildRustPackage rec {
 
   doCheck = true;
   checkInputs =
-    let fakeRustup = writeScriptBin "rustup" ''
-      #!${runtimeShell}
-      shift
-      shift
-      exec "$@"
-    '';
+    let fakeRustup = writeTextFile {
+      name = "fake-rustup";
+      executable = true;
+      destination = "/bin/rustup";
+      text = ''
+        #!${runtimeShell}
+        shift
+        shift
+        exec "$@"
+      '';
+    };
   in [
     rustfmt
     fakeRustup # the test suite insists in calling `rustup run nightly rustfmt`
diff --git a/nixpkgs/pkgs/development/tools/rust/cargo-criterion/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-criterion/default.nix
index 38723bbf3c1c..d33f455c9b93 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-criterion/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/cargo-criterion/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-criterion";
-  version = "1.0.1";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "bheisler";
     repo = pname;
     rev = version;
-    sha256 = "sha256-NiuK+PexfF2wmA8drqqkv/RQlVwYLT3q2QWvV0ghJwg=";
+    sha256 = "sha256-RPix9DM6E32PhObvV3xPGrnXrrVHn3auxLUhysP8GM0=";
   };
 
-  cargoSha256 = "sha256-5Z9Oz8jjyM3+cHAZ++thRDdNlb0Kj54Mg7JjF9JrLdw=";
+  cargoSha256 = "sha256-L/ILHKWlcYTkbEi2qDu7tf/3NHfTl6GhW0s+fUlsW08=";
 
   meta = with lib; {
     description = "Cargo extension for running Criterion.rs benchmarks";
diff --git a/nixpkgs/pkgs/development/tools/rust/cargo-embed/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-embed/default.nix
index 72c67c55e4d9..2af012956c1a 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-embed/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/cargo-embed/default.nix
@@ -1,6 +1,13 @@
 { lib
-, rustPlatform, fetchFromGitHub
-, libusb1, libftdi1, pkg-config, rustfmt }:
+, stdenv
+, rustPlatform
+, fetchFromGitHub
+, libusb1
+, libftdi1
+, pkg-config
+, rustfmt
+, AppKit
+}:
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-embed";
@@ -16,7 +23,7 @@ rustPlatform.buildRustPackage rec {
   cargoSha256 = "00p2rwqrax99kwadc8bfq8pbcijals2nzpx43wb03kwxl4955wn9";
 
   nativeBuildInputs = [ pkg-config rustfmt ];
-  buildInputs = [ libusb1 libftdi1 ];
+  buildInputs = [ libusb1 libftdi1 ] ++ lib.optionals stdenv.isDarwin [ AppKit ];
 
   cargoBuildFlags = [ "--features=ftdi" ];
 
diff --git a/nixpkgs/pkgs/development/tools/rust/cargo-expand/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-expand/default.nix
index 390850c9afa7..304ede5214ab 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-expand/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/cargo-expand/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-expand";
-  version = "1.0.7";
+  version = "1.0.9";
 
   src = fetchFromGitHub {
     owner = "dtolnay";
     repo = pname;
     rev = version;
-    sha256 = "sha256-8YppfgYa5Sd/3nPCMCgaM3A93ND0vU5eUoCW02uDkiM=";
+    sha256 = "sha256-wDuCmiQzyY/Ydr67fYb0yZaSWvuYwW91j0CoqbUFFpg=";
   };
 
-  cargoSha256 = "sha256-0lrz8awAtLuLWE6Prmi07iGfYVmNZIETv3QL55CPYHQ=";
+  cargoSha256 = "sha256-5KCGXJzk5VStby/JzjXJvDSrhFlB8YJHMcQNL8GxkLI=";
 
   buildInputs = lib.optional stdenv.isDarwin libiconv;
 
diff --git a/nixpkgs/pkgs/development/tools/rust/cargo-flash/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-flash/default.nix
index fe9f6c9dff6d..13339e4dc342 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-flash/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/cargo-flash/default.nix
@@ -7,6 +7,7 @@
 , pkg-config
 , rustfmt
 , Security
+, AppKit
 }:
 
 rustPlatform.buildRustPackage rec {
@@ -23,7 +24,7 @@ rustPlatform.buildRustPackage rec {
   cargoSha256 = "sha256-f5vUMdyz3vDh2yE0pMKZiknsqTAKkuvTCtlgb6/gaLc=";
 
   nativeBuildInputs = [ pkg-config rustfmt ];
-  buildInputs = [ libusb1 openssl ] ++ lib.optionals stdenv.isDarwin [ Security ];
+  buildInputs = [ libusb1 openssl ] ++ lib.optionals stdenv.isDarwin [ Security AppKit ];
 
   meta = with lib; {
     description = "A cargo extension for working with microcontrollers";
diff --git a/nixpkgs/pkgs/development/tools/rust/cargo-msrv/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-msrv/default.nix
index 216e83622158..6cc10418fc0c 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-msrv/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/cargo-msrv/default.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-msrv";
-  version = "0.7.0";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "foresterre";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-yTUYMLVjzbuHqQxW68snxQ0CzoOwEBGXWFR/4yfDZ34=";
+    sha256 = "sha256-TqrbkTij+XCousADorrzsVVNVYOUEyl5+nhMn4IgaIY=";
   };
 
-  cargoSha256 = "sha256-WXvl+Xbu/oGTEFhbn6GuLoiNX+DxwhtT6cuucCOQsC4=";
+  cargoSha256 = "sha256-cA4a7lqzOXkNZ7ehM/gCqtTyAaY2TH+23bITHBId8wQ=";
 
   passthru = {
     updateScript = nix-update-script {
diff --git a/nixpkgs/pkgs/development/tools/rust/cargo-watch/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-watch/default.nix
index c7cdf92dcd83..46bd0a591a04 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-watch/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/cargo-watch/default.nix
@@ -1,19 +1,19 @@
-{ stdenv, lib, rustPlatform, fetchFromGitHub, CoreServices, rust, libiconv }:
+{ stdenv, lib, rustPlatform, fetchFromGitHub, CoreServices, Foundation, rust, libiconv }:
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-watch";
-  version = "7.8.1";
+  version = "8.0.0";
 
   src = fetchFromGitHub {
     owner = "passcod";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-g6k/7jo8pvTn5snU05uSGzprNMt8/x+bJsLb/y0jHRg=";
+    sha256 = "sha256-3IgzMUCkcKUkhTb/ZNRONdvB6Ci0OBB1dcjtc65U8xE=";
   };
 
-  cargoSha256 = "sha256-pfjWTkDw4D7eMADkPX01vapka8I6o0ZvkNjQt5X2pUk=";
+  cargoSha256 = "sha256-Xp/pxPKs41TXO/EUY5x8Bha7NUioMabbb73///fFr6U=";
 
-  buildInputs = lib.optionals stdenv.isDarwin [ CoreServices libiconv ];
+  buildInputs = lib.optionals stdenv.isDarwin [ CoreServices Foundation libiconv ];
 
   # `test with_cargo` tries to call cargo-watch as a cargo subcommand
   # (calling cargo-watch with command `cargo watch`)
diff --git a/nixpkgs/pkgs/development/tools/rust/probe-run/default.nix b/nixpkgs/pkgs/development/tools/rust/probe-run/default.nix
index dcbff79a3c80..4980baf85e2a 100644
--- a/nixpkgs/pkgs/development/tools/rust/probe-run/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/probe-run/default.nix
@@ -3,16 +3,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "probe-run";
-  version = "0.2.4";
+  version = "0.2.5";
 
   src = fetchFromGitHub {
     owner = "knurling-rs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "069f4vai1cw69xw3q7xyd81k3rklyb0bs77jfsrwq97vy7b78i92";
+    sha256 = "0bj5arngc49mdz1i7bbg4l7rb741x7dhalpdxrn55vzlvgbig8fv";
   };
 
-  cargoSha256 = "0j5bl1sh3hcx38qckrjlfggsfsczzw2vbb3ks5x59dqakqh5fb7v";
+  cargoSha256 = "1kqgl1f91aa7kz1yprpyf9pl1vp4ahhw8ka5hrvfvk5i5i54pigz";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ libusb1 ]
diff --git a/nixpkgs/pkgs/development/tools/rust/racer/default.nix b/nixpkgs/pkgs/development/tools/rust/racer/default.nix
index cb9081f49e21..e0e22f0f504f 100644
--- a/nixpkgs/pkgs/development/tools/rust/racer/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/racer/default.nix
@@ -43,6 +43,6 @@ rustPlatform.buildRustPackage rec {
     description = "A utility intended to provide Rust code completion for editors and IDEs";
     homepage = "https://github.com/racer-rust/racer";
     license = licenses.mit;
-    maintainers = with maintainers; [ jagajaga ma27 ];
+    maintainers = with maintainers; [ jagajaga ];
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/rust/rust-analyzer/default.nix b/nixpkgs/pkgs/development/tools/rust/rust-analyzer/default.nix
index 7daeaac14b1f..fc70238ada08 100644
--- a/nixpkgs/pkgs/development/tools/rust/rust-analyzer/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/rust-analyzer/default.nix
@@ -1,25 +1,31 @@
 { lib, stdenv, fetchFromGitHub, rustPlatform, CoreServices, cmake
 , libiconv
 , useMimalloc ? false
-# FIXME: Test doesn't pass under rustc 1.52.1 due to different escaping of `'` in string.
-, doCheck ? false
+, doCheck ? true
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "rust-analyzer-unwrapped";
-  version = "2021-07-12";
-  cargoSha256 = "sha256-wlo3GlB9OhyVXys5pHAqWPKHWZHzNjcQ0hiaYnp2SUc=";
+  version = "2021-08-30";
+  cargoSha256 = "sha256-ba/4mQSBJin3yoIZjzFTiEIRY2eWFQI2pY1dOCZ1ALw=";
 
   src = fetchFromGitHub {
     owner = "rust-analyzer";
     repo = "rust-analyzer";
     rev = version;
-    sha256 = "sha256-nd8valnltycywxBObSVFbt4fySEYQknFsFf5ZnEbgOk=";
+    sha256 = "sha256-mgwoJfvO3W4MYk6ikgck14e+hMjA2D+4lpnkAEeLEWA=";
   };
 
+  patches = [
+    # Code format and git history check require more dependencies but don't really matter for packaging.
+    # So just ignore them.
+    ./ignore-git-and-rustfmt-tests.patch
+  ];
+
   buildAndTestSubdir = "crates/rust-analyzer";
 
   cargoBuildFlags = lib.optional useMimalloc "--features=mimalloc";
+  cargoTestFlags = lib.optional useMimalloc "--features=mimalloc";
 
   nativeBuildInputs = lib.optional useMimalloc cmake;
 
diff --git a/nixpkgs/pkgs/development/tools/rust/rust-analyzer/ignore-git-and-rustfmt-tests.patch b/nixpkgs/pkgs/development/tools/rust/rust-analyzer/ignore-git-and-rustfmt-tests.patch
new file mode 100644
index 000000000000..1247e4804684
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/rust/rust-analyzer/ignore-git-and-rustfmt-tests.patch
@@ -0,0 +1,18 @@
+--- a/crates/rust-analyzer/tests/slow-tests/tidy.rs
++++ b/crates/rust-analyzer/tests/slow-tests/tidy.rs
+@@ -6,6 +6,7 @@ use std::{
+ use xshell::{cmd, pushd, pushenv, read_file};
+ 
+ #[test]
++#[ignore]
+ fn check_code_formatting() {
+     let _dir = pushd(sourcegen::project_root()).unwrap();
+     let _e = pushenv("RUSTUP_TOOLCHAIN", "stable");
+@@ -138,6 +139,7 @@ fn check_cargo_toml(path: &Path, text: String) -> () {
+ }
+ 
+ #[test]
++#[ignore]
+ fn check_merge_commits() {
+     let stdout = cmd!("git rev-list --merges --invert-grep --author 'bors\\[bot\\]' HEAD~19..")
+         .read()
diff --git a/nixpkgs/pkgs/development/tools/rust/rust-analyzer/update.sh b/nixpkgs/pkgs/development/tools/rust/rust-analyzer/update.sh
index 3010b9bf3859..add400e4d0e8 100755
--- a/nixpkgs/pkgs/development/tools/rust/rust-analyzer/update.sh
+++ b/nixpkgs/pkgs/development/tools/rust/rust-analyzer/update.sh
@@ -1,5 +1,5 @@
 #!/usr/bin/env nix-shell
-#!nix-shell -i bash -p curl jq nix-prefetch
+#!nix-shell -i bash -p curl jq nix-prefetch libarchive
 set -euo pipefail
 cd "$(dirname "$0")"
 owner=rust-analyzer
@@ -46,19 +46,29 @@ sed "s#cargoSha256 = \".*\"#cargoSha256 = \"$cargo_sha256\"#" \
 
 # Update vscode extension
 
+extension_ver=$(curl "https://github.com/rust-analyzer/rust-analyzer/releases/download/$ver/rust-analyzer.vsix" -L |
+    bsdtar -xf - --to-stdout extension/package.json | # Use bsdtar to extract vsix(zip).
+    jq --raw-output '.version')
+echo "Extension version: $extension_ver"
+
 build_deps="../../../../misc/vscode-extensions/rust-analyzer/build-deps"
 # We need devDependencies to build vsix.
-jq '{ name, version, dependencies: (.dependencies + .devDependencies) }' "$node_src/package.json" \
+# `esbuild` is a binary package an is already in nixpkgs so we omit it here.
+jq '{ name, version: $ver, dependencies: (.dependencies + .devDependencies | del(.esbuild)) }' "$node_src/package.json" \
+    --arg ver "$extension_ver" \
     >"$build_deps/package.json.new"
 
-# FIXME: vsce@1.93.0 breaks the build.
-sed 's/"vsce": ".*"/"vsce": "=1.88.0"/' --in-place "$build_deps/package.json.new"
+old_deps="$(jq '.dependencies' "$build_deps"/package.json)"
+new_deps="$(jq '.dependencies' "$build_deps"/package.json.new)"
+if [[ "$old_deps" == "$new_deps" ]]; then
+    echo "package.json dependencies not changed, do simple version change"
+
+    sed -E '/^  "rust-analyzer-build-deps/,+3 s/version = ".*"/version = "'"$extension_ver"'"/' \
+        --in-place ../../../node-packages/node-packages.nix
+    mv "$build_deps"/package.json{.new,}
 
-if cmp --quiet "$build_deps"/package.json{.new,}; then
-    echo "package.json not changed, skip updating nodePackages"
-    rm "$build_deps"/package.json.new
 else
-    echo "package.json changed, updating nodePackages"
+    echo "package.json dependencies changed, updating nodePackages"
     mv "$build_deps"/package.json{.new,}
 
     pushd "../../../node-packages"
diff --git a/nixpkgs/pkgs/development/tools/rust/sqlx-cli/default.nix b/nixpkgs/pkgs/development/tools/rust/sqlx-cli/default.nix
index c183ddb760fe..15b6b085bb05 100644
--- a/nixpkgs/pkgs/development/tools/rust/sqlx-cli/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/sqlx-cli/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "sqlx-cli";
-  version = "0.5.5";
+  version = "0.5.7";
 
   src = fetchFromGitHub {
     owner = "launchbadge";
     repo = "sqlx";
     rev = "v${version}";
-    sha256 = "1051vldajdbkcxvrw2cig201c4nm68cvvnr2yia9f2ysmr68x5rh";
+    sha256 = "sha256-BYTAAzex3h9iEKFuPCyCXKokPLcgA0k9Zk6aMcWac+c=";
   };
 
-  cargoSha256 = "1ry893gjrwb670v80ff61yb00jvf49yp6194gqrjvnyarjc6bbb1";
+  cargoSha256 = "sha256-3Fdoo8gvoLXe9fEAzKh7XY0LDVGsYsqB6NRlU8NqCMI=";
 
   doCheck = false;
   cargoBuildFlags = [ "-p sqlx-cli" ];
diff --git a/nixpkgs/pkgs/development/tools/scalafix/default.nix b/nixpkgs/pkgs/development/tools/scalafix/default.nix
index c27d6e8a65f3..666087e4f225 100644
--- a/nixpkgs/pkgs/development/tools/scalafix/default.nix
+++ b/nixpkgs/pkgs/development/tools/scalafix/default.nix
@@ -17,21 +17,20 @@ let
   };
 in
 stdenv.mkDerivation {
-  name = "${baseName}-${version}";
+  pname = baseName;
+  inherit version;
 
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ jdk deps ];
 
-  doCheck = true;
-
-  phases = [ "installPhase" "checkPhase" ];
+  dontUnpack = true;
 
   installPhase = ''
     makeWrapper ${jre}/bin/java $out/bin/${baseName} \
       --add-flags "-cp $CLASSPATH scalafix.cli.Cli"
   '';
 
-  checkPhase = ''
+  installCheckPhase = ''
     $out/bin/${baseName} --version | grep -q "${version}"
   '';
 
diff --git a/nixpkgs/pkgs/development/tools/scalafmt/default.nix b/nixpkgs/pkgs/development/tools/scalafmt/default.nix
index 45efd813a38b..cf4faa36b558 100644
--- a/nixpkgs/pkgs/development/tools/scalafmt/default.nix
+++ b/nixpkgs/pkgs/development/tools/scalafmt/default.nix
@@ -2,36 +2,39 @@
 
 let
   baseName = "scalafmt";
-  version = "2.6.4";
+  version = "3.0.0";
   deps = stdenv.mkDerivation {
     name = "${baseName}-deps-${version}";
     buildCommand = ''
       export COURSIER_CACHE=$(pwd)
-      ${coursier}/bin/coursier fetch org.scalameta:scalafmt-cli_2.12:${version} > deps
+      ${coursier}/bin/coursier fetch org.scalameta:scalafmt-cli_2.13:${version} > deps
       mkdir -p $out/share/java
       cp $(< deps) $out/share/java/
     '';
     outputHashMode = "recursive";
     outputHashAlgo = "sha256";
-    outputHash     = "1h19rsxsn2piifillv29nwks2k9l391jwygjbfy8pc0ha8yi63mw";
+    outputHash     = "fZVOyxswtDtCDDGmGzKbRnM5MVncKaicRKyEdPiXOr8=";
   };
 in
 stdenv.mkDerivation {
-  name = "${baseName}-${version}";
+  pname = baseName;
+  inherit version;
 
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ jdk deps ];
 
-  doCheck = true;
-
-  phases = [ "installPhase" "checkPhase" ];
+  dontUnpack = true;
 
   installPhase = ''
+    runHook preInstall
+
     makeWrapper ${jre}/bin/java $out/bin/${baseName} \
       --add-flags "-cp $CLASSPATH org.scalafmt.cli.Cli"
+
+    runHook postInstall
   '';
 
-  checkPhase = ''
+  installCheckPhase = ''
     $out/bin/${baseName} --version | grep -q "${version}"
   '';
 
diff --git a/nixpkgs/pkgs/development/tools/sd-local/default.nix b/nixpkgs/pkgs/development/tools/sd-local/default.nix
index 1df8c2717859..3ec4163ac442 100644
--- a/nixpkgs/pkgs/development/tools/sd-local/default.nix
+++ b/nixpkgs/pkgs/development/tools/sd-local/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "sd-local";
-  version = "1.0.31";
+  version = "1.0.32";
 
   src = fetchFromGitHub {
     owner = "screwdriver-cd";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-2EhXhgSm6rCCXNBCf0BH+MzHeU7n/XAXYXosCjRGEbo=";
+    sha256 = "sha256-4VKTp4q2CoIWQTiSgs254deafuowiTpuLVJ79nmqAaA=";
   };
 
   vendorSha256 = "sha256-4xuWehRrmVdS2F6r00LZLKq/oHlWqCTQ/jYUKeIJ6DI=";
diff --git a/nixpkgs/pkgs/development/tools/sentry-cli/default.nix b/nixpkgs/pkgs/development/tools/sentry-cli/default.nix
index 884c0edfb735..32f362a834b8 100644
--- a/nixpkgs/pkgs/development/tools/sentry-cli/default.nix
+++ b/nixpkgs/pkgs/development/tools/sentry-cli/default.nix
@@ -2,39 +2,36 @@
 , fetchFromGitHub
 , lib
 , openssl
-, file
-, rpm
 , pkg-config
 , stdenv
-, curl
 , Security
-, runCommand
+, SystemConfiguration
 }:
 rustPlatform.buildRustPackage rec {
   pname = "sentry-cli";
-  version = "1.66.0";
+  version = "1.68.0";
 
   src = fetchFromGitHub {
     owner = "getsentry";
     repo = "sentry-cli";
     rev = version;
-    sha256 = "sha256-ivQBn5GGb64Jq0gpywAg20309QQMpasg/Bu5sHKj02Y=";
+    sha256 = "sha256-JhKRfeAaSs4KwfcI88UbqIXNw0aZytPkIxkwrg1d2xM=";
   };
   doCheck = false;
 
   # Needed to get openssl-sys to use pkgconfig.
   OPENSSL_NO_VENDOR = 1;
 
-  buildInputs = [ openssl file rpm ] ++ lib.optionals stdenv.isDarwin [ Security curl ];
+  buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security SystemConfiguration ];
   nativeBuildInputs = [ pkg-config ];
 
-  cargoSha256 = "sha256-xS88KZWYkg3v8TJZUVVgQhR++CrZGD0DQnLPktSUJQk=";
+  cargoSha256 = "sha256-iV3D4ka8Sg1FMRne3A6npmZm3hFP9Qi/NdmT62BtO+8=";
 
   meta = with lib; {
     homepage = "https://docs.sentry.io/cli/";
     license = licenses.bsd3;
-    description = "A command line utility to work with Sentry.";
+    description = "A command line utility to work with Sentry";
+    changelog = "https://github.com/getsentry/sentry-cli/raw/${version}/CHANGELOG.md";
     maintainers = with maintainers; [ rizary ];
-    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/skaffold/default.nix b/nixpkgs/pkgs/development/tools/skaffold/default.nix
index 1599c4213a17..dcacd997d7de 100644
--- a/nixpkgs/pkgs/development/tools/skaffold/default.nix
+++ b/nixpkgs/pkgs/development/tools/skaffold/default.nix
@@ -2,26 +2,25 @@
 
 buildGoModule rec {
   pname = "skaffold";
-  version = "1.20.0";
+  version = "1.30.0";
 
   src = fetchFromGitHub {
     owner = "GoogleContainerTools";
     repo = "skaffold";
     rev = "v${version}";
-    sha256 = "080zhksznwsyi0w1ban90vgh8y1q2703h3h4fvkwg695prd9ij66";
+    sha256 = "sha256-25qUVTHE2bj92cEYziqL2Ih6n7SXCPX/LAc6uvvS1ns=";
   };
 
-  vendorSha256 = "1jvrk5jhjzg0dq0zg7p4hvjwda2289cmwh0ldz3269y8g3l113x8";
+  vendorSha256 = "sha256-mN2H9ohf/IiCSh+pppa3p67MoFPJyJPhtDkLOV2L7pc=";
 
   subPackages = ["cmd/skaffold"];
 
-  buildFlagsArray = let t = "github.com/GoogleContainerTools/skaffold/pkg/skaffold"; in  ''
-    -ldflags=
-      -s -w
-      -X ${t}/version.version=v${version}
-      -X ${t}/version.gitCommit=${src.rev}
-      -X ${t}/version.buildDate=unknown
-  '';
+  ldflags = let t = "github.com/GoogleContainerTools/skaffold/pkg/skaffold"; in [
+    "-s" "-w"
+    "-X ${t}/version.version=v${version}"
+    "-X ${t}/version.gitCommit=${src.rev}"
+    "-X ${t}/version.buildDate=unknown"
+  ];
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/nixpkgs/pkgs/development/tools/skopeo/default.nix b/nixpkgs/pkgs/development/tools/skopeo/default.nix
index ed704b0639a0..b162861f1512 100644
--- a/nixpkgs/pkgs/development/tools/skopeo/default.nix
+++ b/nixpkgs/pkgs/development/tools/skopeo/default.nix
@@ -14,13 +14,13 @@
 
 buildGoModule rec {
   pname = "skopeo";
-  version = "1.3.1";
+  version = "1.4.1";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "containers";
     repo = "skopeo";
-    sha256 = "sha256-ARNsNt5xpXn4ifnnRdmkhJAJq98ri3+oAF+Uov+byI0=";
+    sha256 = "sha256-K+Zn+L7yylUj+iMrsXocWRD4O8HmxdsIsjO36SCkWiU=";
   };
 
   outputs = [ "out" "man" ];
diff --git a/nixpkgs/pkgs/development/tools/so/default.nix b/nixpkgs/pkgs/development/tools/so/default.nix
index e7324ff7c5b9..a23fa445c2fd 100644
--- a/nixpkgs/pkgs/development/tools/so/default.nix
+++ b/nixpkgs/pkgs/development/tools/so/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "so";
-  version = "0.4.3";
+  version = "0.4.5";
 
   src = fetchFromGitHub {
     owner = "samtay";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-WAUPB4hhvroE1/8nQcgLVWgGyXcFh7qxdFg6UtQzM9A=";
+    sha256 = "sha256-KiIffq8olpNpynmV4lwdY0yu2ch4MAwp5VspfLZtkf4=";
   };
 
-  cargoSha256 = "sha256-aaIzGvf+PvH8nz2BSJapi1P5gSVfXT92X62FqJ1Z2L0=";
+  cargoSha256 = "sha256-VBuWKit50cSHYg7WzUP5ein3MEoZN/KFfm+YEEu544Q=";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [
diff --git a/nixpkgs/pkgs/development/tools/stylua/default.nix b/nixpkgs/pkgs/development/tools/stylua/default.nix
index 86ab951bb9d9..6d299ce6ece5 100644
--- a/nixpkgs/pkgs/development/tools/stylua/default.nix
+++ b/nixpkgs/pkgs/development/tools/stylua/default.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "stylua";
-  version = "0.10.0";
+  version = "0.10.1";
 
   src = fetchFromGitHub {
     owner = "johnnymorganz";
     repo = pname;
     rev = "v${version}";
-    sha256 = "03w976fghqs2kswab5bridpr2p6hgldjyfd3l4kz0p5h98f3wzvf";
+    sha256 = "12vflwk1h5ahamxiiaznx3k1ldi8il0adwb2rl58swmvfzbcm7y9";
   };
 
-  cargoSha256 = "1311ly02r6c2rqx0ssd6hpbw3sp0ffrf37bzdm66chxnh8cr83sj";
+  cargoSha256 = "1glkfxz9apmsqbyl8fy5gwywbr6k7cv0l47w2nfimg92qn9xzgks";
 
   cargoBuildFlags = lib.optionals lua52Support [ "--features" "lua52" ]
     ++ lib.optionals luauSupport [ "--features" "luau" ];
diff --git a/nixpkgs/pkgs/development/tools/sumneko-lua-language-server/default.nix b/nixpkgs/pkgs/development/tools/sumneko-lua-language-server/default.nix
index 95c10ad7d26c..9b0bba533f5f 100644
--- a/nixpkgs/pkgs/development/tools/sumneko-lua-language-server/default.nix
+++ b/nixpkgs/pkgs/development/tools/sumneko-lua-language-server/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sumneko-lua-language-server";
-  version = "1.20.2";
+  version = "2.3.6";
 
   src = fetchFromGitHub {
     owner = "sumneko";
     repo = "lua-language-server";
     rev = version;
-    sha256 = "sha256-7Ishq/TonJsteHBGDTNjImIwGPdeRgPS1g60d8bhTYg=";
+    sha256 = "sha256-iwmH4pbeKNkEYsaSd6I7ULSoEMwAtxOanF7vAutuW64=";
     fetchSubmodules = true;
   };
 
@@ -17,12 +17,19 @@ stdenv.mkDerivation rec {
     makeWrapper
   ];
 
+  postPatch = ''
+    # doesn't work on aarch64, already removed on master:
+    # https://github.com/actboy168/bee.lua/commit/fd5ee552c8cff2c48eff72edc0c8db5b7bf1ee2c
+    rm {3rd/luamake/,}3rd/bee.lua/test/test_platform.lua
+    sed /test_platform/d -i {3rd/luamake/,}3rd/bee.lua/test/test.lua
+  '';
+
   preBuild = ''
     cd 3rd/luamake
   '';
 
   ninjaFlags = [
-    "-fninja/linux.ninja"
+    "-fcompile/ninja/linux.ninja"
   ];
 
   postBuild = ''
diff --git a/nixpkgs/pkgs/development/tools/symfony-cli/default.nix b/nixpkgs/pkgs/development/tools/symfony-cli/default.nix
index 6ff541b933c4..a57d666aa822 100644
--- a/nixpkgs/pkgs/development/tools/symfony-cli/default.nix
+++ b/nixpkgs/pkgs/development/tools/symfony-cli/default.nix
@@ -2,11 +2,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "symfony-cli";
-  version = "4.25.4";
+  version = "4.25.5";
 
   src = fetchurl {
     url = "https://github.com/symfony/cli/releases/download/v${version}/symfony_linux_amd64.gz";
-    sha256 = "94ade97d79e6949022ac45e4f8f9c025a9e3efa54a1a891a086a24eb9a9765a7";
+    sha256 = "sha256-DMyW2lKuoFVEguCQQ6efXrzvujL5H7PcgI0go98M0xI=";
   };
 
   dontBuild = true;
diff --git a/nixpkgs/pkgs/development/tools/tabnine/default.nix b/nixpkgs/pkgs/development/tools/tabnine/default.nix
index 5499a937b289..3259a5fc41bd 100644
--- a/nixpkgs/pkgs/development/tools/tabnine/default.nix
+++ b/nixpkgs/pkgs/development/tools/tabnine/default.nix
@@ -1,26 +1,23 @@
 { stdenv, lib, fetchurl, unzip }:
-
 let
-  version = "3.5.15";
-  src =
-    if stdenv.hostPlatform.system == "x86_64-darwin" then
-      fetchurl
-        {
-          url = "https://update.tabnine.com/bundles/${version}/x86_64-apple-darwin/TabNine.zip";
-          sha256 = "sha256-JrDAF/3yPGJXwonWIvaKf0dw4GQf3U2wbf5iF4QUXco=";
-        }
-    else if stdenv.hostPlatform.system == "x86_64-linux" then
-      fetchurl
-        {
-          url = "https://update.tabnine.com/bundles/${version}/x86_64-unknown-linux-musl/TabNine.zip";
-          sha256 = "sha256-fgVVJ+J4w+Z3Kmryixp844xlLFiRs5PSAcD/wrcXF1w=";
-        }
-    else throw "Not supported on ${stdenv.hostPlatform.system}";
+  platform =
+    if stdenv.hostPlatform.system == "x86_64-linux" then {
+      name = "x86_64-unknown-linux-musl";
+      sha256 = "sha256-uy3+/+XMq56rO75mmSeOmE1HW7hhefaGwfY/QJPk3Ok=";
+    } else if stdenv.hostPlatform.system == "x86_64-darwin" then {
+      name = "x86_64-apple-darwin";
+      sha256 = "sha256-EK7FbRzgaCXviOuBcRf/ElllRdakhDmOLsKkwrIEhBU=";
+    } else throw "Not supported on ${stdenv.hostPlatform.system}";
 in
 stdenv.mkDerivation rec {
   pname = "tabnine";
+  # You can check the latest version with `curl -sS https://update.tabnine.com/bundles/version`
+  version = "3.5.49";
 
-  inherit version src;
+  src = fetchurl {
+    url = "https://update.tabnine.com/bundles/${version}/${platform.name}/TabNine.zip";
+    inherit (platform) sha256;
+  };
 
   dontBuild = true;
 
@@ -39,6 +36,8 @@ stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
+  passthru.platform = platform.name;
+
   meta = with lib; {
     homepage = "https://tabnine.com";
     description = "Smart Compose for code that uses deep learning to help you write code faster";
diff --git a/nixpkgs/pkgs/development/tools/taplo-cli/default.nix b/nixpkgs/pkgs/development/tools/taplo-cli/default.nix
new file mode 100644
index 000000000000..4ad539e709ab
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/taplo-cli/default.nix
@@ -0,0 +1,26 @@
+{ fetchCrate, lib, openssl, pkg-config, rustPlatform, stdenv, Security }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "taplo-cli";
+  version = "0.4.0";
+
+  src = fetchCrate {
+    inherit pname version;
+    sha256 = "0hh9l83z7qymakyf7ka756gwxpzirgdhf6kpzh89bcmpdfz70005";
+  };
+
+  cargoSha256 = "0bkpcnbrrfv07czs1gy8r9q1cp6fdfz2vmlfk9lsg3iapvyi5s1c";
+
+  nativeBuildInputs = lib.optional stdenv.isLinux pkg-config;
+
+  buildInputs = lib.optional stdenv.isLinux openssl
+    ++ lib.optional stdenv.isDarwin Security;
+
+  meta = with lib; {
+    description = "A TOML toolkit written in Rust";
+    homepage = "https://taplo.tamasfe.dev";
+    license = licenses.mit;
+    maintainers = with maintainers; [ figsoda ];
+    mainProgram = "taplo";
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/taplo-lsp/default.nix b/nixpkgs/pkgs/development/tools/taplo-lsp/default.nix
new file mode 100644
index 000000000000..9db148a9ad26
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/taplo-lsp/default.nix
@@ -0,0 +1,28 @@
+{ fetchCrate, lib, openssl, pkg-config, rustPlatform, stdenv, Security }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "taplo-lsp";
+  version = "0.2.4";
+
+  src = fetchCrate {
+    inherit pname version;
+    sha256 = "1a5v0x60iicv9snsr0a3lqbziyh38iqhiw11s2lqnr6l1hmp69jy";
+  };
+
+  cargoSha256 = "0ak70cwxcviv86b4zrcgqaxhdm6fxsji03mnacvp4pwlwv84ikkc";
+
+  # excludes test_tcp since it fails
+  cargoTestFlags = [ "test_stdio" ];
+
+  nativeBuildInputs = lib.optional stdenv.isLinux pkg-config;
+
+  buildInputs = lib.optional stdenv.isLinux openssl
+    ++ lib.optional stdenv.isDarwin Security;
+
+  meta = with lib; {
+    description = "A TOML toolkit written in Rust";
+    homepage = "https://taplo.tamasfe.dev";
+    license = licenses.mit;
+    maintainers = with maintainers; [ figsoda ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/tf2pulumi/default.nix b/nixpkgs/pkgs/development/tools/tf2pulumi/default.nix
index 9dc40913771b..6f195d86849a 100644
--- a/nixpkgs/pkgs/development/tools/tf2pulumi/default.nix
+++ b/nixpkgs/pkgs/development/tools/tf2pulumi/default.nix
@@ -2,20 +2,20 @@
 
 buildGoModule rec {
   pname = "tf2pulumi";
-  version = "0.10.0";
+  version = "0.11.1";
 
   src = fetchFromGitHub {
     owner = "pulumi";
     repo = "tf2pulumi";
     rev = "v${version}";
-    sha256 = "199c4hd236mfz9c44rpzpbr3w3fjj8pbw656jd9k3v2igzw942c7";
+    sha256 = "sha256-4sEsWMkGRpB3gMGUOPh7n/nNwEp+ErKQK0qcT5ImaZ4=";
   };
 
-  vendorSha256 = "1cwyag67q0361szfjv1cyi51cg1bbmkpy34y33hn53aa55pkm1fw";
+  vendorSha256 = "sha256-wsgNrDnFXbpanEULEjf6OxOeMYmWzjE7vpVUB/UFNp8=";
 
-  buildFlagsArray = ''
-    -ldflags=-s -w -X=github.com/pulumi/tf2pulumi/version.Version=${src.rev}
-  '';
+  ldflags = [
+    "-s" "-w" "-X=github.com/pulumi/tf2pulumi/version.Version=${src.rev}"
+  ];
 
   subPackages = [ "." ];
 
diff --git a/nixpkgs/pkgs/development/tools/thrust/default.nix b/nixpkgs/pkgs/development/tools/thrust/default.nix
index cc46f3f5d340..9770a384e183 100644
--- a/nixpkgs/pkgs/development/tools/thrust/default.nix
+++ b/nixpkgs/pkgs/development/tools/thrust/default.nix
@@ -25,8 +25,6 @@ in stdenv.mkDerivation rec {
   nativeBuildInputs = [ makeWrapper unzip ];
   buildInputs = [ thrustEnv ];
 
-  phases = [ "installPhase" "fixupPhase" ];
-
   installPhase = ''
     mkdir -p $out/bin
     mkdir -p $out/libexec/thrust
diff --git a/nixpkgs/pkgs/development/tools/toxiproxy/default.nix b/nixpkgs/pkgs/development/tools/toxiproxy/default.nix
index 448c14ffaf1a..5ecd6ad2eb6f 100644
--- a/nixpkgs/pkgs/development/tools/toxiproxy/default.nix
+++ b/nixpkgs/pkgs/development/tools/toxiproxy/default.nix
@@ -12,7 +12,7 @@ buildGoPackage rec {
 
   goPackagePath = "github.com/Shopify/toxiproxy";
   subPackages = ["cmd" "cli"];
-  buildFlagsArray = "-ldflags=-X github.com/Shopify/toxiproxy.Version=v${version}";
+  ldflags = [ "-X github.com/Shopify/toxiproxy.Version=v${version}" ];
 
   postInstall = ''
     mv $out/bin/cli $out/bin/toxiproxy-cli
diff --git a/nixpkgs/pkgs/development/tools/tracy/default.nix b/nixpkgs/pkgs/development/tools/tracy/default.nix
index 724e74098dec..5bb056d5b34e 100644
--- a/nixpkgs/pkgs/development/tools/tracy/default.nix
+++ b/nixpkgs/pkgs/development/tools/tracy/default.nix
@@ -4,13 +4,13 @@ let
   disableLTO = stdenv.cc.isClang && stdenv.isDarwin;  # workaround issue #19098
 in stdenv.mkDerivation rec {
   pname = "tracy";
-  version = "0.7.7";
+  version = "0.7.8";
 
   src = fetchFromGitHub {
     owner = "wolfpld";
     repo = "tracy";
     rev = "v${version}";
-    sha256 = "sha256-jp+Geqk39ZPoe2KzUJJ0w5hvCnyUlHGwVKn73lJJt94=";
+    sha256 = "sha256-hOeanY170vvn5W68cCDRUFApia/PW3ymPIgdWx3gwVw=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/nixpkgs/pkgs/development/tools/treefmt/default.nix b/nixpkgs/pkgs/development/tools/treefmt/default.nix
index 961b9625eded..16da8e485b17 100644
--- a/nixpkgs/pkgs/development/tools/treefmt/default.nix
+++ b/nixpkgs/pkgs/development/tools/treefmt/default.nix
@@ -1,16 +1,16 @@
 { lib, rustPlatform, fetchFromGitHub }:
 rustPlatform.buildRustPackage rec {
   pname = "treefmt";
-  version = "0.2.2";
+  version = "0.2.5";
 
   src = fetchFromGitHub {
     owner = "numtide";
     repo = "treefmt";
     rev = "v${version}";
-    sha256 = "13z7n0xg150815c77ysz4iqpk8rbgj4vmqy1y2262ryb88dwaw5n";
+    sha256 = "0h9xl887620d0b4y17nhkayr0raj8b7m6zsgx8gw4v9vdjkjbbpa";
   };
 
-  cargoSha256 = "1jfrmafj1b28k6xjpj0qq1jpccll0adqxhjypphxhyfsfnra8g6f";
+  cargoSha256 = "04zmc2vaxsm4f1baissv3a6hnji3raixg891m3m8l13vin1a884q";
 
   meta = {
     description = "one CLI to format the code tree";
diff --git a/nixpkgs/pkgs/development/tools/turbogit/default.nix b/nixpkgs/pkgs/development/tools/turbogit/default.nix
index 7d3e88f6cb47..30ce29ffe665 100644
--- a/nixpkgs/pkgs/development/tools/turbogit/default.nix
+++ b/nixpkgs/pkgs/development/tools/turbogit/default.nix
@@ -1,16 +1,16 @@
 { fetchFromGitHub, buildGoModule, lib, installShellFiles, libgit2, pkg-config }:
 buildGoModule rec {
   pname = "turbogit";
-  version = "2.0.0";
+  version = "3.0.1";
 
   src = fetchFromGitHub {
     owner = "b4nst";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-UIPI1r6BnfD5ukk5yGg3VJHMyaMp30MXhJfOkoNT6vs=";
+    sha256 = "sha256-A1hVpapp6yIpUVnDQ1yLLHiYdLcQlr/JcTOmt5sr3Oo=";
   };
 
-  vendorSha256 = "sha256-SX0VPENcfw8ysL+dDGPSJ/FNdyecjENx4+UHXdu71O8=";
+  vendorSha256 = "sha256-1AEcBq7wiENWQ5HZEEXpIgA6Bf2T28zm/MwYTke/f9s=";
 
   subPackages = [ "." ];
 
diff --git a/nixpkgs/pkgs/development/tools/tychus/default.nix b/nixpkgs/pkgs/development/tools/tychus/default.nix
index 8b330b36ea99..3838dfdc4852 100644
--- a/nixpkgs/pkgs/development/tools/tychus/default.nix
+++ b/nixpkgs/pkgs/development/tools/tychus/default.nix
@@ -17,7 +17,7 @@ buildGoPackage rec {
 
   buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ CoreFoundation ];
 
-  buildFlags = [ "--tags" "release" ];
+  tags = [ "release" ];
 
   meta = {
     description = "Command line utility to live-reload your application";
diff --git a/nixpkgs/pkgs/development/tools/uftrace/default.nix b/nixpkgs/pkgs/development/tools/uftrace/default.nix
index 03ee72289014..68eb00f4eb6d 100644
--- a/nixpkgs/pkgs/development/tools/uftrace/default.nix
+++ b/nixpkgs/pkgs/development/tools/uftrace/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "uftrace";
-  version = "0.9.4";
+  version = "0.10";
 
   src = fetchFromGitHub {
     owner = "namhyung";
     repo = "uftrace";
     rev = "v${version}";
-    sha256 = "09zj4lgsbx0yp4i8ij9nh7wzylfcj421jzf1kkc2zpnn5hgynsb5";
+    sha256 = "sha256-T3HFhFKHsUcOOCXaA1NG3aDE0k5frnhqjCI8aV18EjQ=";
   };
 
   postUnpack = ''
diff --git a/nixpkgs/pkgs/development/tools/unityhub/default.nix b/nixpkgs/pkgs/development/tools/unityhub/default.nix
index 27453ed5988a..cf3c17823dc0 100644
--- a/nixpkgs/pkgs/development/tools/unityhub/default.nix
+++ b/nixpkgs/pkgs/development/tools/unityhub/default.nix
@@ -2,8 +2,14 @@
 
 let
   version = "2.3.2";
-in appimageTools.wrapType2 rec {
+  src = fetchurl {
+    # mirror of https://public-cdn.cloud.unity3d.com/hub/prod/UnityHub.AppImage
+    url = "https://archive.org/download/unity-hub-${version}/UnityHub.AppImage";
+    sha256 = "07nfyfp9apshqarc6pgshsczila6x4943hiyyizc55kp85aw0imn";
+  };
   name = "unityhub";
+in appimageTools.wrapType2 rec {
+  inherit name src;
 
   extraPkgs = (pkgs: with pkgs; with xorg; [ gtk2 gdk-pixbuf glib libGL libGLU nss nspr
     alsa-lib cups gnome2.GConf libcap fontconfig freetype pango
@@ -13,19 +19,23 @@ in appimageTools.wrapType2 rec {
     libX11 libXcursor libXdamage libXfixes libXrender libXi
     libXcomposite libXext libXrandr libXtst libSM libICE libxcb
 
-    libselinux pciutils libpulseaudio libxml2 icu clang
+    libselinux pciutils libpulseaudio libxml2 icu clang cacert
   ]);
 
+  extraInstallCommands =
+    let appimageContents = appimageTools.extractType2 { inherit name src; }; in
+    ''
+      install -Dm444 ${appimageContents}/unityhub.desktop -t $out/share/applications
+      substituteInPlace $out/share/applications/unityhub.desktop \
+        --replace 'Exec=AppRun' 'Exec=${name}'
+      install -m 444 -D ${appimageContents}/unityhub.png \
+        $out/share/icons/hicolor/64x64/apps/unityhub.png
+    '';
+
   profile = ''
     export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
   '';
 
-  src = fetchurl {
-    # mirror of https://public-cdn.cloud.unity3d.com/hub/prod/UnityHub.AppImage
-    url = "https://archive.org/download/unity-hub-${version}/UnityHub.AppImage";
-    sha256 = "07nfyfp9apshqarc6pgshsczila6x4943hiyyizc55kp85aw0imn";
-  };
-
   meta = with lib; {
     homepage = "https://unity3d.com/";
     description = "Game development tool";
diff --git a/nixpkgs/pkgs/development/tools/vagrant/default.nix b/nixpkgs/pkgs/development/tools/vagrant/default.nix
index 688fd6eb849e..259ca5cfc94c 100644
--- a/nixpkgs/pkgs/development/tools/vagrant/default.nix
+++ b/nixpkgs/pkgs/development/tools/vagrant/default.nix
@@ -5,9 +5,9 @@
 let
   # NOTE: bumping the version and updating the hash is insufficient;
   # you must use bundix to generate a new gemset.nix in the Vagrant source.
-  version = "2.2.17";
+  version = "2.2.18";
   url = "https://github.com/hashicorp/vagrant/archive/v${version}.tar.gz";
-  sha256 = "sha256-T48ui7jgq9ni3pC09Jd2WzkT9PBaJ+SUDfcXA5QMjM8=";
+  sha256 = "sha256-NQiwkGuDLXMXyNNiIHmOwnS3IefvY9DPmRxo8Z2drpA=";
 
   deps = bundlerEnv rec {
     name = "${pname}-${version}";
diff --git a/nixpkgs/pkgs/development/tools/vagrant/gemset.nix b/nixpkgs/pkgs/development/tools/vagrant/gemset.nix
index 332fb265f878..a4014789b061 100644
--- a/nixpkgs/pkgs/development/tools/vagrant/gemset.nix
+++ b/nixpkgs/pkgs/development/tools/vagrant/gemset.nix
@@ -64,10 +64,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "186sra2bww83wa245mhmm57ngdn4w2k2x39iqkmxasjhibg5jsbl";
+      sha256 = "1iykfw2j6dd26rhgid3a17zghrmbmi68ppf3a7cdkvii68p4f37a";
       type = "gem";
     };
-    version = "0.84.0";
+    version = "0.85.0";
   };
   ffi = {
     groups = ["default"];
@@ -138,10 +138,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0h2v34xhi30w0d9gfzds2w6v89grq2gkpgvmdj9m8x1ld1845xnj";
+      sha256 = "1dq7yd4s9accpjiq0f92sgikw3whc5wnjn065laggkpqcqgx75gh";
       type = "gem";
     };
-    version = "3.5.1";
+    version = "3.6.0";
   };
   little-plugger = {
     groups = ["default"];
@@ -310,15 +310,15 @@
     version = "2.3.2";
   };
   vagrant_cloud = {
-    dependencies = ["excon" "log4r"];
+    dependencies = ["excon" "log4r" "rexml"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1rwfw014fbvaxshf8abi87srfaiirb7cr93s61qm177jm8q86h57";
+      sha256 = "0np0d8rjca130si5iaxasbqmfbbx4l3kd9mxdsa3p5mqiia7za3b";
       type = "gem";
     };
-    version = "3.0.4";
+    version = "3.0.5";
   };
   wdm = {
     groups = ["default"];
diff --git a/nixpkgs/pkgs/development/tools/vendir/default.nix b/nixpkgs/pkgs/development/tools/vendir/default.nix
index bca29d1abebf..d45a5828c1ed 100644
--- a/nixpkgs/pkgs/development/tools/vendir/default.nix
+++ b/nixpkgs/pkgs/development/tools/vendir/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "vendir";
-  version = "0.18.0";
+  version = "0.22.0";
 
   src = fetchFromGitHub {
     owner = "vmware-tanzu";
     repo = "carvel-vendir";
     rev = "v${version}";
-    sha256 = "sha256-+VZ1EWrEvTbWeO/o7EkkF2Xcro7UpCrnsOJjOCtfNzY=";
+    sha256 = "sha256-LvpzynT+ibrE1F1uv7X0pVtzOrVFIxFqbZwM04e1Do0=";
   };
 
   vendorSha256 = null;
diff --git a/nixpkgs/pkgs/development/tools/vulkan-validation-layers/default.nix b/nixpkgs/pkgs/development/tools/vulkan-validation-layers/default.nix
index adec30a14c5a..eac704b4a9c4 100644
--- a/nixpkgs/pkgs/development/tools/vulkan-validation-layers/default.nix
+++ b/nixpkgs/pkgs/development/tools/vulkan-validation-layers/default.nix
@@ -1,31 +1,30 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchFromGitHub
 , cmake
-, writeText
-, python3
-, spirv-headers
-, spirv-tools
-, vulkan-headers
-, vulkan-loader
 , glslang
-, pkg-config
-, xlibsWrapper
+, libX11
 , libxcb
 , libXrandr
+, spirv-headers
+, spirv-tools
+, vulkan-headers
 , wayland
 }:
-# vulkan-validation-layers requires a custom glslang version, while glslang requires
-# custom versions for spirv-tools and spirv-headers. The git hashes required for all
-# of these deps is documented upstream here:
-# https://github.com/KhronosGroup/Vulkan-ValidationLayers/blob/master/scripts/known_good.json
 
 let
+  # vulkan-validation-layers requires a custom glslang & robin-hood-hashing
+  # version, while glslang requires custom versions for spirv-tools and spirv-headers.
+  #
+  # The git hashes required for all of these deps is documented upstream here:
+  # https://github.com/KhronosGroup/Vulkan-ValidationLayers/blob/master/scripts/known_good.json
+  # and https://github.com/KhronosGroup/glslang/blob/master/known_good.json
   localSpirvHeaders = spirv-headers.overrideAttrs (_: {
     src = fetchFromGitHub {
       owner = "KhronosGroup";
       repo = "SPIRV-Headers";
-      rev = "f027d53ded7e230e008d37c8b47ede7cd308e19d";
-      sha256 = "12gp2mqcar6jj57jw9isfr62yn72kmvdcl0zga4gvrlyfhnf582q";
+      rev = "dafead1765f6c1a5f9f8a76387dcb2abe4e54acd"; # pin
+      sha256 = "1kj6wcx9y7r1xyg8n7ai2pzrg9ira7hbakr45wh5p4zyxh0m45n8";
     };
   });
   localGlslang = (glslang.override {
@@ -33,8 +32,8 @@ let
       src = fetchFromGitHub {
         owner = "KhronosGroup";
         repo = "SPIRV-Tools";
-        rev = "c9c1f54330d13a0bec1aa3f08d436249d8e35596";
-        sha256 = "0r5whsw9x8j4199xwxv293ar2ga73pm2s7rngw732ylh6rw3bkly";
+        rev = "dc72924cb31cd9f3dbc3eb47e9d926cf641e3a07"; # pin
+        sha256 = "0pxgbq6xapw9hgrzb3rk5cylzgg1y1bkqz5wxzwqls63pwga5912";
       };
     });
     argSpirv-headers = localSpirvHeaders;
@@ -42,55 +41,64 @@ let
     src = fetchFromGitHub {
       owner = "KhronosGroup";
       repo = "glslang";
-      rev = "dd69df7f3dac26362e10b0f38efb9e47990f7537";
-      sha256 = "1iafbh524avsjg4pjiq156b62pck2rwlfl2pjnml8sjy285506rk";
+      rev = "18eef33bd7a4bf5ad8c69f99cb72022608cf6e73"; # pin
+      sha256 = "0wwj7q509pkp8wj7120g1n2ddl4x2r03ljf5czd9794ji6yraidn";
     };
   });
+  robin-hood-hashing = fetchFromGitHub {
+    owner = "martinus";
+    repo = "robin-hood-hashing";
+    rev = "3.11.2"; # pin
+    sha256 = "0103mnqpmka1smy0arnrbihlvi7i8xr5im0px8wn4faw4flikkcm";
+  };
 in
-
 stdenv.mkDerivation rec {
   pname = "vulkan-validation-layers";
-  version = "1.2.162.0";
+  version = "1.2.182.0";
 
   # If we were to use "dev" here instead of headers, the setupHook would be
   # placed in that output instead of "out".
   outputs = ["out" "headers"];
   outputInclude = "headers";
 
-  src = fetchFromGitHub {
-    owner = "KhronosGroup";
-    repo = "Vulkan-ValidationLayers";
-    rev = "sdk-${version}";
-    sha256 = "1mpqmxh9zm20jdar59lp4yjpqfzxn2pwds6bkvnzihfy0pymf15k";
-  };
+  src = (assert version == vulkan-headers.version;
+    fetchFromGitHub {
+      owner = "KhronosGroup";
+      repo = "Vulkan-ValidationLayers";
+      rev = "sdk-${version}";
+      sha256 = "1fnmb7vbm7y1x67bf1xiwdrpj9j4lkvhk9xhb6hp6x2aryvcyrnc";
+    });
+
+  # Include absolute paths to layer libraries in their associated
+  # layer definition json files.
+  postPatch = ''
+    sed "s|\([[:space:]]*set(INSTALL_DEFINES \''${INSTALL_DEFINES} -DRELATIVE_LAYER_BINARY=\"\)\(\$<TARGET_FILE_NAME:\''${TARGET_NAME}>\")\)|\1$out/lib/\2|" -i layers/CMakeLists.txt
+  '';
 
   nativeBuildInputs = [
-    pkg-config
     cmake
-    python3
   ];
 
   buildInputs = [
-    localGlslang
-    localGlslang.spirv-headers
-    vulkan-headers
-    vulkan-loader
+    libX11
     libxcb
     libXrandr
+    vulkan-headers
     wayland
   ];
 
   cmakeFlags = [
     "-DGLSLANG_INSTALL_DIR=${localGlslang}"
     "-DSPIRV_HEADERS_INSTALL_DIR=${localSpirvHeaders}"
+    "-DROBIN_HOOD_HASHING_INSTALL_DIR=${robin-hood-hashing}"
     "-DBUILD_LAYER_SUPPORT_FILES=ON"
+    # Hide dev warnings that are useless for packaging
+    "-Wno-dev"
   ];
 
-  # Include absolute paths to layer libraries in their associated
-  # layer definition json files.
-  patchPhase = ''
-    sed "s|\([[:space:]]*set(INSTALL_DEFINES \''${INSTALL_DEFINES} -DRELATIVE_LAYER_BINARY=\"\)\(\$<TARGET_FILE_NAME:\''${TARGET_NAME}>\")\)|\1$out/lib/\2|" -i layers/CMakeLists.txt
-  '';
+  # Tests require access to vulkan-compatible GPU, which isn't
+  # available in Nix sandbox. Fails with VK_ERROR_INCOMPATIBLE_DRIVER.
+  doCheck = false;
 
   meta = with lib; {
     description = "The official Khronos Vulkan validation layers";
diff --git a/nixpkgs/pkgs/development/tools/vultr-cli/default.nix b/nixpkgs/pkgs/development/tools/vultr-cli/default.nix
index b97a4438c05d..3b9cebb6439a 100644
--- a/nixpkgs/pkgs/development/tools/vultr-cli/default.nix
+++ b/nixpkgs/pkgs/development/tools/vultr-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "vultr-cli";
-  version = "2.4.1";
+  version = "2.8.0";
 
   src = fetchFromGitHub {
     owner = "vultr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256:0qbsybs91v9vnkxj4kpwqhzk4hgpkq36wnixxjajg038x7slds4i";
+    sha256 = "sha256-BPeOud10cTsZ2flWRMf6F/i9JwnPPDFje3OZIAUa0O8=";
   };
 
   vendorSha256 = null;
diff --git a/nixpkgs/pkgs/development/tools/wasm-bindgen-cli/Cargo.lock b/nixpkgs/pkgs/development/tools/wasm-bindgen-cli/Cargo.lock
index 094c703b65f6..a51aef852d97 100644
--- a/nixpkgs/pkgs/development/tools/wasm-bindgen-cli/Cargo.lock
+++ b/nixpkgs/pkgs/development/tools/wasm-bindgen-cli/Cargo.lock
@@ -1,5 +1,7 @@
 # This file is automatically @generated by Cargo.
 # It is not intended for manual editing.
+version = 3
+
 [[package]]
 name = "add"
 version = "0.1.0"
@@ -15,9 +17,9 @@ checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234"
 
 [[package]]
 name = "aho-corasick"
-version = "0.7.18"
+version = "0.7.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
+checksum = "7404febffaa47dac81aa44dba71523c9d069b1bdc50a77db41195149e17f68e5"
 dependencies = [
  "memchr",
 ]
@@ -33,15 +35,9 @@ dependencies = [
 
 [[package]]
 name = "anyhow"
-version = "1.0.40"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28b2cd92db5cbd74e8e5028f7e27dd7aa3090e89e4f2a197cc7c8dfb69c7063b"
-
-[[package]]
-name = "arrayref"
-version = "0.3.6"
+version = "1.0.42"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544"
+checksum = "595d3cfa7a60d4555cb5067b99f07142a08ea778de5cf993f7b75c7d8fabc486"
 
 [[package]]
 name = "arrayvec"
@@ -91,7 +87,7 @@ checksum = "2582b77e0f3c506ec4838a25fa8a5f97b9bed72bb6d3d272ea1c031d8bd373bc"
 dependencies = [
  "askama_escape",
  "humansize",
- "nom 6.1.2",
+ "nom 6.2.1",
  "num-traits 0.2.14",
  "percent-encoding",
  "proc-macro2",
@@ -103,13 +99,13 @@ dependencies = [
 
 [[package]]
 name = "assert_cmd"
-version = "1.0.5"
+version = "1.0.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a88b6bd5df287567ffdf4ddf4d33060048e1068308e5f62d81c6f9824a045a48"
+checksum = "c98233c6673d8601ab23e77eb38f999c51100d46c5703b17288c57fddf3a1ffe"
 dependencies = [
  "bstr",
  "doc-comment",
- "predicates",
+ "predicates 2.0.1",
  "predicates-core",
  "predicates-tree",
  "wait-timeout",
@@ -128,15 +124,15 @@ dependencies = [
 
 [[package]]
 name = "autocfg"
-version = "0.1.7"
+version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2"
+checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
 
 [[package]]
-name = "autocfg"
-version = "1.0.1"
+name = "base-x"
+version = "0.2.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
+checksum = "a4521f3e3d031370679b3b140beb36dfe4801b09ac77e30c61941f97df3ef28b"
 
 [[package]]
 name = "base64"
@@ -150,15 +146,6 @@ dependencies = [
 
 [[package]]
 name = "base64"
-version = "0.10.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e"
-dependencies = [
- "byteorder",
-]
-
-[[package]]
-name = "base64"
 version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd"
@@ -188,21 +175,10 @@ dependencies = [
 ]
 
 [[package]]
-name = "blake2b_simd"
-version = "0.5.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "afa748e348ad3be8263be728124b24a24f268266f6f5d58af9d75f6a40b5c587"
-dependencies = [
- "arrayref",
- "arrayvec",
- "constant_time_eq",
-]
-
-[[package]]
 name = "bstr"
-version = "0.2.16"
+version = "0.2.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90682c8d613ad3373e66de8c6411e0ae2ab2571e879d2efbf73558cc66f21279"
+checksum = "a40b47ad93e1a5404e6c18dec46b628214fee441c70f4ab5d6942142cc268a3d"
 dependencies = [
  "lazy_static",
  "memchr",
@@ -242,9 +218,9 @@ dependencies = [
 
 [[package]]
 name = "cc"
-version = "1.0.68"
+version = "1.0.69"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4a72c244c1ff497a746a7e1fb3d14bd08420ecda70c8f25c7112f2781652d787"
+checksum = "e70cc2f62c6ce1868963827bd677764c62d07c3d9a3e1fb1177ee1a9ab199eb2"
 
 [[package]]
 name = "cfg-if"
@@ -274,7 +250,7 @@ dependencies = [
  "libc",
  "num-integer",
  "num-traits 0.2.14",
- "time",
+ "time 0.1.43",
  "winapi",
 ]
 
@@ -309,15 +285,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "cloudabi"
-version = "0.0.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
-dependencies = [
- "bitflags 1.2.1",
-]
-
-[[package]]
 name = "color_quant"
 version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -342,10 +309,10 @@ dependencies = [
 ]
 
 [[package]]
-name = "constant_time_eq"
-version = "0.1.5"
+name = "const_fn"
+version = "0.4.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc"
+checksum = "f92cfa0fd5690b3cf8c1ef2cabbd9b7ef22fa53cf5e1f92b05103f6d5d1cf6e7"
 
 [[package]]
 name = "crossbeam-channel"
@@ -359,9 +326,9 @@ dependencies = [
 
 [[package]]
 name = "crossbeam-deque"
-version = "0.8.0"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94af6efb46fef72616855b036a624cf27ba656ffc9be1b9a3c931cfc7749a9a9"
+checksum = "6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e"
 dependencies = [
  "cfg-if 1.0.0",
  "crossbeam-epoch",
@@ -408,9 +375,9 @@ dependencies = [
 
 [[package]]
 name = "curl-sys"
-version = "0.4.44+curl-7.77.0"
+version = "0.4.45+curl-7.78.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b6d85e9322b193f117c966e79c2d6929ec08c02f339f950044aba12e20bbaf1"
+checksum = "de9e5a72b1c744eb5dd20b2be4d7eb84625070bb5c4ab9b347b70464ab1e62eb"
 dependencies = [
  "cc",
  "libc",
@@ -451,15 +418,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "524cbf6897b527295dff137cec09ecf3a05f4fddffd7dfcd1585403449e74198"
 
 [[package]]
-name = "dirs"
-version = "1.0.5"
+name = "difflib"
+version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3fd78930633bd1c6e35c4b42b1df7b0cbc6bc191146e512bb3bedf243fcc3901"
-dependencies = [
- "libc",
- "redox_users",
- "winapi",
-]
+checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8"
+
+[[package]]
+name = "discard"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "212d0f5754cb6769937f4501cc0e67f4f4483c8d2c3e1e922ee9edbe4ab4c7c0"
 
 [[package]]
 name = "doc-comment"
@@ -504,13 +472,13 @@ dependencies = [
 
 [[package]]
 name = "env_logger"
-version = "0.8.3"
+version = "0.8.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17392a012ea30ef05a610aa97dfb49496e71c9f676b27879922ea5bdf60d9d3f"
+checksum = "a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3"
 dependencies = [
  "atty",
  "humantime",
- "log 0.4.14",
+ "log",
  "regex",
  "termcolor",
 ]
@@ -529,13 +497,13 @@ dependencies = [
 
 [[package]]
 name = "filetime"
-version = "0.2.14"
+version = "0.2.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d34cfa13a63ae058bfa601fe9e313bbdb3746427c1459185464ce0fcf62e1e8"
+checksum = "975ccf83d8d9d0d84682850a38c8169027be83368805971cc4f238c2b245bc98"
 dependencies = [
  "cfg-if 1.0.0",
  "libc",
- "redox_syscall 0.2.8",
+ "redox_syscall",
  "winapi",
 ]
 
@@ -574,12 +542,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "fuchsia-cprng"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
-
-[[package]]
 name = "funty"
 version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -587,9 +549,9 @@ checksum = "fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7"
 
 [[package]]
 name = "futures"
-version = "0.3.15"
+version = "0.3.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e7e43a803dae2fa37c1f6a8fe121e1f7bf9548b4dfc0522a42f34145dadfc27"
+checksum = "1adc00f486adfc9ce99f77d717836f0c5aa84965eb0b4f051f4e83f7cab53f8b"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -602,9 +564,9 @@ dependencies = [
 
 [[package]]
 name = "futures-channel"
-version = "0.3.15"
+version = "0.3.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e682a68b29a882df0545c143dc3646daefe80ba479bcdede94d5a703de2871e2"
+checksum = "74ed2411805f6e4e3d9bc904c95d5d423b89b3b25dc0250aa74729de20629ff9"
 dependencies = [
  "futures-core",
  "futures-sink",
@@ -621,9 +583,9 @@ dependencies = [
 
 [[package]]
 name = "futures-core"
-version = "0.3.15"
+version = "0.3.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0402f765d8a89a26043b889b26ce3c4679d268fa6bb22cd7c6aad98340e179d1"
+checksum = "af51b1b4a7fdff033703db39de8802c673eb91855f2e0d47dcf3bf2c0ef01f99"
 
 [[package]]
 name = "futures-core-preview"
@@ -633,9 +595,9 @@ checksum = "b35b6263fb1ef523c3056565fa67b1d16f0a8604ff12b11b08c25f28a734c60a"
 
 [[package]]
 name = "futures-executor"
-version = "0.3.15"
+version = "0.3.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "badaa6a909fac9e7236d0620a2f57f7664640c56575b71a7552fbd68deafab79"
+checksum = "4d0d535a57b87e1ae31437b892713aee90cd2d7b0ee48727cd11fc72ef54761c"
 dependencies = [
  "futures-core",
  "futures-task",
@@ -644,9 +606,9 @@ dependencies = [
 
 [[package]]
 name = "futures-io"
-version = "0.3.15"
+version = "0.3.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "acc499defb3b348f8d8f3f66415835a9131856ff7714bf10dadfc4ec4bdb29a1"
+checksum = "0b0e06c393068f3a6ef246c75cdca793d6a46347e75286933e5e75fd2fd11582"
 
 [[package]]
 name = "futures-lite"
@@ -660,11 +622,11 @@ dependencies = [
 
 [[package]]
 name = "futures-macro"
-version = "0.3.15"
+version = "0.3.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4c40298486cdf52cc00cd6d6987892ba502c7656a16a4192a9992b1ccedd121"
+checksum = "c54913bae956fb8df7f4dc6fc90362aa72e69148e3f39041fbe8742d21e0ac57"
 dependencies = [
- "autocfg 1.0.1",
+ "autocfg",
  "proc-macro-hack",
  "proc-macro2",
  "quote",
@@ -673,23 +635,23 @@ dependencies = [
 
 [[package]]
 name = "futures-sink"
-version = "0.3.15"
+version = "0.3.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a57bead0ceff0d6dde8f465ecd96c9338121bb7717d3e7b108059531870c4282"
+checksum = "c0f30aaa67363d119812743aa5f33c201a7a66329f97d1a887022971feea4b53"
 
 [[package]]
 name = "futures-task"
-version = "0.3.15"
+version = "0.3.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a16bef9fc1a4dddb5bee51c989e3fbba26569cbb0e31f5b303c184e3dd33dae"
+checksum = "bbe54a98670017f3be909561f6ad13e810d9a51f3f061b902062ca3da80799f2"
 
 [[package]]
 name = "futures-util"
-version = "0.3.15"
+version = "0.3.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "feb5c238d27e2bf94ffdfd27b2c29e3df4a68c4193bb6427384259e2bf191967"
+checksum = "67eb846bfd58e44a8481a00049e82c43e0ccb5d61f8dc071057cb19249dd4d78"
 dependencies = [
- "autocfg 1.0.1",
+ "autocfg",
  "futures-channel",
  "futures-core",
  "futures-io",
@@ -706,24 +668,13 @@ dependencies = [
 
 [[package]]
 name = "getrandom"
-version = "0.1.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
-dependencies = [
- "cfg-if 1.0.0",
- "libc",
- "wasi 0.9.0+wasi-snapshot-preview1",
-]
-
-[[package]]
-name = "getrandom"
 version = "0.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753"
 dependencies = [
  "cfg-if 1.0.0",
  "libc",
- "wasi 0.10.2+wasi-snapshot-preview1",
+ "wasi",
 ]
 
 [[package]]
@@ -746,6 +697,7 @@ checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
 name = "guide-supported-types-examples"
 version = "0.1.0"
 dependencies = [
+ "js-sys",
  "wasm-bindgen",
 ]
 
@@ -767,9 +719,9 @@ dependencies = [
 
 [[package]]
 name = "hermit-abi"
-version = "0.1.18"
+version = "0.1.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "322f4de77956e22ed0e5032c359a0f1273f1f7f0d79bfa3b8ffbc730d7fbcc5c"
+checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
 dependencies = [
  "libc",
 ]
@@ -843,6 +795,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e7e0062d2dc2f17d2f13750d95316ae8a2ff909af0fda957084f5defd87c43bb"
 
 [[package]]
+name = "itertools"
+version = "0.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "69ddb889f9d0d08a67338271fa9b62996bc788c7796a5c18cf057420aaed5eaf"
+dependencies = [
+ "either",
+]
+
+[[package]]
 name = "itoa"
 version = "0.4.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -859,7 +820,7 @@ dependencies = [
 
 [[package]]
 name = "js-sys"
-version = "0.3.51"
+version = "0.3.52"
 dependencies = [
  "wasm-bindgen",
  "wasm-bindgen-futures",
@@ -901,9 +862,9 @@ dependencies = [
 
 [[package]]
 name = "libc"
-version = "0.2.95"
+version = "0.2.99"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "789da6d93f1b866ffe175afc5322a4d76c038605a1c3319bb57b06967ca98a36"
+checksum = "a7f823d141fe0a24df1e23b4af4e3c7ba9e5966ec514ea068c93024aa7deb765"
 
 [[package]]
 name = "libz-sys"
@@ -919,15 +880,6 @@ dependencies = [
 
 [[package]]
 name = "log"
-version = "0.3.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b"
-dependencies = [
- "log 0.4.14",
-]
-
-[[package]]
-name = "log"
 version = "0.4.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710"
@@ -949,9 +901,9 @@ checksum = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"
 
 [[package]]
 name = "memchr"
-version = "2.4.0"
+version = "2.3.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b16bd47d9e329435e309c58469fe0791c2d0d1ba96ec0954152a5ae2b04387dc"
+checksum = "0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525"
 
 [[package]]
 name = "memoffset"
@@ -959,43 +911,38 @@ version = "0.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "59accc507f1338036a0477ef61afdae33cde60840f4dfe481319ce3ad116ddf9"
 dependencies = [
- "autocfg 1.0.1",
+ "autocfg",
 ]
 
 [[package]]
 name = "mime"
-version = "0.2.6"
+version = "0.3.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ba626b8a6de5da682e1caa06bdb42a335aee5a84db8e5046a3e8ab17ba0a3ae0"
-dependencies = [
- "log 0.3.9",
-]
+checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d"
 
 [[package]]
 name = "mime_guess"
-version = "1.8.8"
+version = "2.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "216929a5ee4dd316b1702eedf5e74548c123d370f47841ceaac38ca154690ca3"
+checksum = "2684d4c2e97d99848d30b324b00c8fcc7e5c897b7cbb5819b09e7c90e8baf212"
 dependencies = [
  "mime",
- "phf",
- "phf_codegen",
  "unicase",
 ]
 
 [[package]]
 name = "multipart"
-version = "0.16.1"
+version = "0.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "136eed74cadb9edd2651ffba732b19a450316b680e4f48d6c79e905799e19d01"
+checksum = "00dec633863867f29cb39df64a397cdf4a6354708ddd7759f70c7fb51c5f9182"
 dependencies = [
  "buf_redux",
  "httparse",
- "log 0.4.14",
+ "log",
  "mime",
  "mime_guess",
  "quick-error",
- "rand 0.6.5",
+ "rand",
  "safemem",
  "tempfile",
  "twoway",
@@ -1015,20 +962,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ffb4262d26ed83a1c0a33a38fe2bb15797329c85770da05e6b828ddb782627af"
 dependencies = [
  "memchr",
- "version_check 0.9.3",
+ "version_check",
 ]
 
 [[package]]
 name = "nom"
-version = "6.1.2"
+version = "6.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7413f999671bd4745a7b624bd370a569fb6bc574b23c83a3c5ed2e453f3d5e2"
+checksum = "9c5c51b9083a3c620fa67a2a635d1ce7d95b897e957d6b28ff9a5da960a103a6"
 dependencies = [
  "bitvec",
  "funty",
  "lexical-core",
  "memchr",
- "version_check 0.9.3",
+ "version_check",
 ]
 
 [[package]]
@@ -1043,7 +990,7 @@ version = "0.1.44"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db"
 dependencies = [
- "autocfg 1.0.1",
+ "autocfg",
  "num-traits 0.2.14",
 ]
 
@@ -1053,7 +1000,7 @@ version = "0.1.42"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b2021c8337a54d21aca0d59a92577a029af9431cb59b909b03252b9c164fad59"
 dependencies = [
- "autocfg 1.0.1",
+ "autocfg",
  "num-integer",
  "num-traits 0.2.14",
 ]
@@ -1083,7 +1030,7 @@ version = "0.2.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290"
 dependencies = [
- "autocfg 1.0.1",
+ "autocfg",
 ]
 
 [[package]]
@@ -1098,15 +1045,15 @@ dependencies = [
 
 [[package]]
 name = "once_cell"
-version = "1.7.2"
+version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af8b08b04175473088b46763e51ee54da5f9a164bc162f615b91bc179dbf15a3"
+checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56"
 
 [[package]]
 name = "openssl"
-version = "0.10.34"
+version = "0.10.35"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d7830286ad6a3973c0f1d9b73738f69c76b739301d0229c4b96501695cbe4c8"
+checksum = "549430950c79ae24e6d02e0b7404534ecf311d94cc9f861e9e4020187d13d885"
 dependencies = [
  "bitflags 1.2.1",
  "cfg-if 1.0.0",
@@ -1133,11 +1080,11 @@ dependencies = [
 
 [[package]]
 name = "openssl-sys"
-version = "0.9.63"
+version = "0.9.65"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6b0d6fb7d80f877617dfcb014e605e2b5ab2fb0afdf27935219bb6bd984cb98"
+checksum = "7a7907e3bfa08bb85105209cdfcb6c63d109f8f6c1ed6ca318fff5c1853fbc1d"
 dependencies = [
- "autocfg 1.0.1",
+ "autocfg",
  "cc",
  "libc",
  "openssl-src",
@@ -1161,49 +1108,10 @@ dependencies = [
 ]
 
 [[package]]
-name = "phf"
-version = "0.7.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b3da44b85f8e8dfaec21adae67f95d93244b2ecf6ad2a692320598dcc8e6dd18"
-dependencies = [
- "phf_shared",
-]
-
-[[package]]
-name = "phf_codegen"
-version = "0.7.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b03e85129e324ad4166b06b2c7491ae27fe3ec353af72e72cd1654c7225d517e"
-dependencies = [
- "phf_generator",
- "phf_shared",
-]
-
-[[package]]
-name = "phf_generator"
-version = "0.7.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09364cc93c159b8b06b1f4dd8a4398984503483891b0c26b867cf431fb132662"
-dependencies = [
- "phf_shared",
- "rand 0.6.5",
-]
-
-[[package]]
-name = "phf_shared"
-version = "0.7.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "234f71a15de2288bcb7e3b6515828d22af7ec8598ee6d24c3b526fa0a80b67a0"
-dependencies = [
- "siphasher",
- "unicase",
-]
-
-[[package]]
 name = "pin-project-lite"
-version = "0.2.6"
+version = "0.2.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc0e1f259c92177c30a4c9d177246edd0a3568b25756a977d0632cf8fa37e905"
+checksum = "8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443"
 
 [[package]]
 name = "pin-utils"
@@ -1249,6 +1157,17 @@ dependencies = [
 ]
 
 [[package]]
+name = "predicates"
+version = "2.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bc3d91237f5de3bcd9d927e24d03b495adb6135097b001cea7403e2d573d00a9"
+dependencies = [
+ "difflib",
+ "itertools",
+ "predicates-core",
+]
+
+[[package]]
 name = "predicates-core"
 version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1256,9 +1175,9 @@ checksum = "57e35a3326b75e49aa85f5dc6ec15b41108cf5aee58eabb1f274dd18b73c2451"
 
 [[package]]
 name = "predicates-tree"
-version = "1.0.2"
+version = "1.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "15f553275e5721409451eb85e15fd9a860a6e5ab4496eb215987502b5f5391f2"
+checksum = "d7dd0fd014130206c9352efbdc92be592751b2b9274dff685348341082c6ea3d"
 dependencies = [
  "predicates-core",
  "treeline",
@@ -1274,7 +1193,7 @@ dependencies = [
  "proc-macro2",
  "quote",
  "syn",
- "version_check 0.9.3",
+ "version_check",
 ]
 
 [[package]]
@@ -1285,7 +1204,7 @@ checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
 dependencies = [
  "proc-macro2",
  "quote",
- "version_check 0.9.3",
+ "version_check",
 ]
 
 [[package]]
@@ -1302,9 +1221,9 @@ checksum = "bc881b2c22681370c6a780e47af9840ef841837bc98118431d4e1868bd0c1086"
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.27"
+version = "1.0.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0d8caf72986c1a598726adc988bb5984792ef84f5ee5aa50209145ee8077038"
+checksum = "5c7ed8b8c7b886ea3ed7dde405212185f423ab44682667c8c6dd14aa1d9f6612"
 dependencies = [
  "unicode-xid",
 ]
@@ -1332,189 +1251,42 @@ checksum = "941ba9d78d8e2f7ce474c015eea4d9c6d25b6a3327f9832ee29a4de27f91bbb8"
 
 [[package]]
 name = "rand"
-version = "0.6.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca"
-dependencies = [
- "autocfg 0.1.7",
- "libc",
- "rand_chacha 0.1.1",
- "rand_core 0.4.2",
- "rand_hc 0.1.0",
- "rand_isaac",
- "rand_jitter",
- "rand_os",
- "rand_pcg",
- "rand_xorshift",
- "winapi",
-]
-
-[[package]]
-name = "rand"
-version = "0.7.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
-dependencies = [
- "getrandom 0.1.16",
- "libc",
- "rand_chacha 0.2.2",
- "rand_core 0.5.1",
- "rand_hc 0.2.0",
-]
-
-[[package]]
-name = "rand"
-version = "0.8.3"
+version = "0.8.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e"
+checksum = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8"
 dependencies = [
  "libc",
- "rand_chacha 0.3.0",
- "rand_core 0.6.2",
- "rand_hc 0.3.0",
-]
-
-[[package]]
-name = "rand_chacha"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef"
-dependencies = [
- "autocfg 0.1.7",
- "rand_core 0.3.1",
-]
-
-[[package]]
-name = "rand_chacha"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
-dependencies = [
- "ppv-lite86",
- "rand_core 0.5.1",
+ "rand_chacha",
+ "rand_core",
+ "rand_hc",
 ]
 
 [[package]]
 name = "rand_chacha"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e12735cf05c9e10bf21534da50a147b924d555dc7a547c42e6bb2d5b6017ae0d"
-dependencies = [
- "ppv-lite86",
- "rand_core 0.6.2",
-]
-
-[[package]]
-name = "rand_core"
 version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
-dependencies = [
- "rand_core 0.4.2",
-]
-
-[[package]]
-name = "rand_core"
-version = "0.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
-
-[[package]]
-name = "rand_core"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
+checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
 dependencies = [
- "getrandom 0.1.16",
+ "ppv-lite86",
+ "rand_core",
 ]
 
 [[package]]
 name = "rand_core"
-version = "0.6.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "34cf66eb183df1c5876e2dcf6b13d57340741e8dc255b48e40a26de954d06ae7"
-dependencies = [
- "getrandom 0.2.3",
-]
-
-[[package]]
-name = "rand_hc"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4"
-dependencies = [
- "rand_core 0.3.1",
-]
-
-[[package]]
-name = "rand_hc"
-version = "0.2.0"
+version = "0.6.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
+checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7"
 dependencies = [
- "rand_core 0.5.1",
+ "getrandom",
 ]
 
 [[package]]
 name = "rand_hc"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73"
-dependencies = [
- "rand_core 0.6.2",
-]
-
-[[package]]
-name = "rand_isaac"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08"
-dependencies = [
- "rand_core 0.3.1",
-]
-
-[[package]]
-name = "rand_jitter"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b"
-dependencies = [
- "libc",
- "rand_core 0.4.2",
- "winapi",
-]
-
-[[package]]
-name = "rand_os"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071"
-dependencies = [
- "cloudabi",
- "fuchsia-cprng",
- "libc",
- "rand_core 0.4.2",
- "rdrand",
- "winapi",
-]
-
-[[package]]
-name = "rand_pcg"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44"
-dependencies = [
- "autocfg 0.1.7",
- "rand_core 0.4.2",
-]
-
-[[package]]
-name = "rand_xorshift"
-version = "0.1.1"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c"
+checksum = "d51e9f596de227fda2ea6c84607f5558e196eeaf43c986b724ba4fb8fdf497e7"
 dependencies = [
- "rand_core 0.3.1",
+ "rand_core",
 ]
 
 [[package]]
@@ -1523,7 +1295,7 @@ version = "1.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c06aca804d41dbc8ba42dfd964f0d01334eceb64314b9ecf7c5fad5188a06d90"
 dependencies = [
- "autocfg 1.0.1",
+ "autocfg",
  "crossbeam-deque",
  "either",
  "rayon-core",
@@ -1568,45 +1340,19 @@ dependencies = [
 ]
 
 [[package]]
-name = "rdrand"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
-dependencies = [
- "rand_core 0.3.1",
-]
-
-[[package]]
-name = "redox_syscall"
-version = "0.1.57"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce"
-
-[[package]]
 name = "redox_syscall"
-version = "0.2.8"
+version = "0.2.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "742739e41cd49414de871ea5e549afb7e2a3ac77b589bcbebe8c82fab37147fc"
+checksum = "8383f39639269cde97d255a32bdb68c047337295414940c68bdd30c2e13203ff"
 dependencies = [
  "bitflags 1.2.1",
 ]
 
 [[package]]
-name = "redox_users"
-version = "0.3.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "de0737333e7a9502c789a36d7c7fa6092a49895d4faa31ca5df163857ded2e9d"
-dependencies = [
- "getrandom 0.1.16",
- "redox_syscall 0.1.57",
- "rust-argon2",
-]
-
-[[package]]
 name = "regex"
-version = "1.5.4"
+version = "1.4.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461"
+checksum = "2a26af418b574bd56588335b3a3659a65725d4e636eb1016c2f9e3b38c7cc759"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -1644,41 +1390,28 @@ dependencies = [
 
 [[package]]
 name = "rouille"
-version = "3.1.1"
+version = "3.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0cfaebc11a52b7415f07e69f18f8240a0ea5eedf0dcb888c5fb7b432e7b4729b"
+checksum = "8263ea8c0988dbdd89e679d408eaa5505bb886677e997562646c2e2ba4d2e6db"
 dependencies = [
- "base64 0.10.1",
+ "base64 0.13.0",
  "chrono",
  "filetime",
  "multipart",
  "num_cpus",
  "percent-encoding",
- "rand 0.7.3",
+ "rand",
  "serde",
  "serde_derive",
  "serde_json",
  "sha1",
- "term",
  "threadpool",
- "time",
+ "time 0.2.27",
  "tiny_http",
  "url",
 ]
 
 [[package]]
-name = "rust-argon2"
-version = "0.8.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b18820d944b33caa75a71378964ac46f58517c92b6ae5f762636247c09e78fb"
-dependencies = [
- "base64 0.13.0",
- "blake2b_simd",
- "constant_time_eq",
- "crossbeam-utils",
-]
-
-[[package]]
 name = "rust-duck-typed-interfaces"
 version = "0.1.0"
 dependencies = [
@@ -1687,9 +1420,18 @@ dependencies = [
 
 [[package]]
 name = "rustc-demangle"
-version = "0.1.19"
+version = "0.1.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "410f7acf3cb3a44527c5d9546bad4bf4e6c460915d5f9f2fc524498bfe8f70ce"
+checksum = "dead70b0b5e03e9c814bcb6b01e03e68f7c57a80aa48c72ec92152ab3e818d49"
+
+[[package]]
+name = "rustc_version"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
+dependencies = [
+ "semver",
+]
 
 [[package]]
 name = "ryu"
@@ -1742,19 +1484,34 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
 
 [[package]]
+name = "semver"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
+dependencies = [
+ "semver-parser",
+]
+
+[[package]]
+name = "semver-parser"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
+
+[[package]]
 name = "serde"
-version = "1.0.126"
+version = "1.0.127"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec7505abeacaec74ae4778d9d9328fe5a5d04253220a85c4ee022239fc996d03"
+checksum = "f03b9878abf6d14e6779d3f24f07b2cfa90352cfec4acc5aab8f1ac7f146fae8"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.126"
+version = "1.0.127"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "963a7dbc9895aeac7ac90e74f34a5d5261828f79df35cbed41e10189d3804d43"
+checksum = "a024926d3432516606328597e0f224a51355a493b49fdd67e9209187cbe55ecc"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1763,9 +1520,9 @@ dependencies = [
 
 [[package]]
 name = "serde_json"
-version = "1.0.64"
+version = "1.0.66"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "799e97dc9fdae36a5c8b8f2cae9ce2ee9fdce2058c57a93e6099d919fd982f79"
+checksum = "336b10da19a12ad094b59d870ebde26a45402e5b470add4b5fd03c5048a32127"
 dependencies = [
  "itoa",
  "ryu",
@@ -1779,22 +1536,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2579985fda508104f7587689507983eadd6a6e84dd35d6d115361f530916fa0d"
 
 [[package]]
-name = "siphasher"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b8de496cf83d4ed58b6be86c3a275b8602f6ffe98d3024a869e124147a9a3ac"
-
-[[package]]
 name = "slab"
-version = "0.4.3"
+version = "0.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f173ac3d1a7e3b28003f40de0b5ce7fe2710f9b9dc3fc38664cebee46b3b6527"
+checksum = "c307a32c1c5c437f38c7fd45d753050587732ba8628319fbdf12a7e289ccc590"
 
 [[package]]
 name = "socket2"
-version = "0.4.0"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e3dfc207c526015c632472a77be09cf1b6e46866581aecae5cc38fb4235dea2"
+checksum = "765f090f0e423d2b55843402a07915add955e7d60657db13707a159727326cad"
 dependencies = [
  "libc",
  "winapi",
@@ -1807,12 +1558,70 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4bf77cb82ba8453b42b6ae1d692e4cdc92f9a47beaf89a847c8be83f4e328ad3"
 
 [[package]]
+name = "standback"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e113fb6f3de07a243d434a56ec6f186dfd51cb08448239fe7bcae73f87ff28ff"
+dependencies = [
+ "version_check",
+]
+
+[[package]]
 name = "static_assertions"
 version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
 
 [[package]]
+name = "stdweb"
+version = "0.4.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d022496b16281348b52d0e30ae99e01a73d737b2f45d38fed4edf79f9325a1d5"
+dependencies = [
+ "discard",
+ "rustc_version",
+ "stdweb-derive",
+ "stdweb-internal-macros",
+ "stdweb-internal-runtime",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "stdweb-derive"
+version = "0.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c87a60a40fccc84bef0652345bbbbbe20a605bf5d0ce81719fc476f5c03b50ef"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "serde",
+ "serde_derive",
+ "syn",
+]
+
+[[package]]
+name = "stdweb-internal-macros"
+version = "0.2.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "58fa5ff6ad0d98d1ffa8cb115892b6e69d67799f6763e162a1c9db421dc22e11"
+dependencies = [
+ "base-x",
+ "proc-macro2",
+ "quote",
+ "serde",
+ "serde_derive",
+ "serde_json",
+ "sha1",
+ "syn",
+]
+
+[[package]]
+name = "stdweb-internal-runtime"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "213701ba3370744dcd1a12960caa4843b3d68b4d1c0a5d575e0d65b2ee9d16c0"
+
+[[package]]
 name = "strsim"
 version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1826,9 +1635,9 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
 
 [[package]]
 name = "structopt"
-version = "0.3.21"
+version = "0.3.22"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5277acd7ee46e63e5168a80734c9f6ee81b1367a7d8772a2d765df2a3705d28c"
+checksum = "69b041cdcb67226aca307e6e7be44c8806423d83e018bd662360a93dabce4d71"
 dependencies = [
  "clap",
  "lazy_static",
@@ -1837,9 +1646,9 @@ dependencies = [
 
 [[package]]
 name = "structopt-derive"
-version = "0.4.14"
+version = "0.4.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ba9cdfda491b814720b6b06e0cac513d922fc407582032e8706e9f137976f90"
+checksum = "7813934aecf5f51a54775e00068c237de98489463968231a51746bbbc03f9c10"
 dependencies = [
  "heck",
  "proc-macro-error",
@@ -1850,9 +1659,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "1.0.72"
+version = "1.0.74"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1e8cdbefb79a9a5a65e0db8b47b723ee907b7c7f8496c76a1770b5c310bab82"
+checksum = "1873d832550d4588c3dbc20f01361ab00bfe741048f71e3fecf145a7cc18b29c"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1873,24 +1682,13 @@ checksum = "dac1c663cfc93810f88aed9b8941d48cabf856a1b111c29a40439018d870eb22"
 dependencies = [
  "cfg-if 1.0.0",
  "libc",
- "rand 0.8.3",
- "redox_syscall 0.2.8",
+ "rand",
+ "redox_syscall",
  "remove_dir_all",
  "winapi",
 ]
 
 [[package]]
-name = "term"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "edd106a334b7657c10b7c540a0106114feadeb4dc314513e97df481d5d966f42"
-dependencies = [
- "byteorder",
- "dirs",
- "winapi",
-]
-
-[[package]]
 name = "termcolor"
 version = "1.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1928,6 +1726,44 @@ dependencies = [
 ]
 
 [[package]]
+name = "time"
+version = "0.2.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4752a97f8eebd6854ff91f1c1824cd6160626ac4bd44287f7f4ea2035a02a242"
+dependencies = [
+ "const_fn",
+ "libc",
+ "standback",
+ "stdweb",
+ "time-macros",
+ "version_check",
+ "winapi",
+]
+
+[[package]]
+name = "time-macros"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "957e9c6e26f12cb6d0dd7fc776bb67a706312e7299aed74c8dd5b17ebb27e2f1"
+dependencies = [
+ "proc-macro-hack",
+ "time-macros-impl",
+]
+
+[[package]]
+name = "time-macros-impl"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fd3c141a1b43194f3f56a1411225df8646c55781d5f26db825b3d98507eb482f"
+dependencies = [
+ "proc-macro-hack",
+ "proc-macro2",
+ "quote",
+ "standback",
+ "syn",
+]
+
+[[package]]
 name = "tiny_http"
 version = "0.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1936,15 +1772,15 @@ dependencies = [
  "ascii",
  "chrono",
  "chunked_transfer",
- "log 0.4.14",
+ "log",
  "url",
 ]
 
 [[package]]
 name = "tinyvec"
-version = "1.2.0"
+version = "1.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b5220f05bb7de7f3f53c7c065e1199b3172696fe2db9f9c4d8ad9b4ee74c342"
+checksum = "848a1e1181b9f6753b5e96a092749e29b11d19ede67dfbbd6c7dc7e0f49b5338"
 dependencies = [
  "tinyvec_macros",
 ]
@@ -1983,9 +1819,9 @@ checksum = "a7f741b240f1a48843f9b8e0444fb55fb2a4ff67293b50a9179dfd5ea67f8d41"
 
 [[package]]
 name = "trybuild"
-version = "1.0.42"
+version = "1.0.43"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1768998d9a3b179411618e377dbb134c58a88cda284b0aa71c42c40660127d46"
+checksum = "c02c413315329fc96167f922b46fd0caa3a43f4697b7a7896b183c7142635832"
 dependencies = [
  "glob",
  "lazy_static",
@@ -2015,11 +1851,11 @@ dependencies = [
 
 [[package]]
 name = "unicase"
-version = "1.4.2"
+version = "2.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f4765f83163b74f957c797ad9253caf97f103fb064d3999aea9568d09fc8a33"
+checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6"
 dependencies = [
- "version_check 0.1.5",
+ "version_check",
 ]
 
 [[package]]
@@ -2042,9 +1878,9 @@ dependencies = [
 
 [[package]]
 name = "unicode-segmentation"
-version = "1.7.1"
+version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb0d2e7be6ae3a5fa87eed5fb451aff96f2573d2694942e40543ae0bbe19c796"
+checksum = "8895849a949e7845e06bd6dc1aa51731a103c42707010a5b591c0038fb73385b"
 
 [[package]]
 name = "unicode-width"
@@ -2072,9 +1908,9 @@ dependencies = [
 
 [[package]]
 name = "vcpkg"
-version = "0.2.13"
+version = "0.2.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "025ce40a007e1907e58d5bc1a594def78e5573bb0b1160bc389634e8f12e4faa"
+checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
 
 [[package]]
 name = "vec_map"
@@ -2084,12 +1920,6 @@ checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
 
 [[package]]
 name = "version_check"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd"
-
-[[package]]
-name = "version_check"
 version = "0.9.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe"
@@ -2112,7 +1942,7 @@ dependencies = [
  "anyhow",
  "id-arena",
  "leb128",
- "log 0.4.14",
+ "log",
  "rayon",
  "walrus-macro",
  "wasmparser 0.77.0",
@@ -2132,19 +1962,13 @@ dependencies = [
 
 [[package]]
 name = "wasi"
-version = "0.9.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
-
-[[package]]
-name = "wasi"
 version = "0.10.2+wasi-snapshot-preview1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.74"
+version = "0.2.75"
 dependencies = [
  "cfg-if 1.0.0",
  "js-sys",
@@ -2160,11 +1984,11 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.74"
+version = "0.2.75"
 dependencies = [
  "bumpalo",
  "lazy_static",
- "log 0.4.14",
+ "log",
  "proc-macro2",
  "quote",
  "syn",
@@ -2181,7 +2005,7 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-cli"
-version = "0.2.74"
+version = "0.2.75"
 dependencies = [
  "anyhow",
  "assert_cmd",
@@ -2189,9 +2013,9 @@ dependencies = [
  "diff",
  "docopt",
  "env_logger",
- "log 0.4.14",
+ "log",
  "openssl",
- "predicates",
+ "predicates 1.0.8",
  "rayon",
  "rouille",
  "serde",
@@ -2209,11 +2033,11 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-cli-support"
-version = "0.2.74"
+version = "0.2.75"
 dependencies = [
  "anyhow",
  "base64 0.9.3",
- "log 0.4.14",
+ "log",
  "rustc-demangle",
  "serde_json",
  "tempfile",
@@ -2231,7 +2055,7 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-externref-xform"
-version = "0.2.74"
+version = "0.2.75"
 dependencies = [
  "anyhow",
  "rayon",
@@ -2243,7 +2067,7 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-futures"
-version = "0.4.24"
+version = "0.4.25"
 dependencies = [
  "cfg-if 1.0.0",
  "futures-channel-preview",
@@ -2257,7 +2081,7 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.74"
+version = "0.2.75"
 dependencies = [
  "quote",
  "trybuild",
@@ -2268,7 +2092,7 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.74"
+version = "0.2.75"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -2279,7 +2103,7 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-multi-value-xform"
-version = "0.2.74"
+version = "0.2.75"
 dependencies = [
  "anyhow",
  "rayon",
@@ -2300,11 +2124,11 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.74"
+version = "0.2.75"
 
 [[package]]
 name = "wasm-bindgen-test"
-version = "0.3.24"
+version = "0.3.25"
 dependencies = [
  "console_error_panic_hook",
  "js-sys",
@@ -2330,7 +2154,7 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-test-macro"
-version = "0.3.24"
+version = "0.3.25"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -2338,7 +2162,7 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-threads-xform"
-version = "0.2.74"
+version = "0.2.75"
 dependencies = [
  "anyhow",
  "walrus",
@@ -2347,7 +2171,7 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-wasm-conventions"
-version = "0.2.74"
+version = "0.2.75"
 dependencies = [
  "anyhow",
  "walrus",
@@ -2355,10 +2179,10 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-wasm-interpreter"
-version = "0.2.74"
+version = "0.2.75"
 dependencies = [
  "anyhow",
- "log 0.4.14",
+ "log",
  "tempfile",
  "walrus",
  "wasm-bindgen-wasm-conventions",
@@ -2367,13 +2191,13 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-webidl"
-version = "0.2.74"
+version = "0.2.75"
 dependencies = [
  "anyhow",
  "env_logger",
  "heck",
  "lazy_static",
- "log 0.4.14",
+ "log",
  "proc-macro2",
  "quote",
  "sourcefile",
@@ -2431,18 +2255,18 @@ checksum = "b35c86d22e720a07d954ebbed772d01180501afe7d03d464f413bb5f8914a8d6"
 
 [[package]]
 name = "wasmparser"
-version = "0.78.2"
+version = "0.80.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "52144d4c78e5cf8b055ceab8e5fa22814ce4315d6002ad32cfd914f37c12fd65"
+checksum = "a5f71b80b8193e50910919e7d1bc956d2b4f42b1cb1fad84bacb59332c16f2cf"
 
 [[package]]
 name = "wasmprinter"
-version = "0.2.26"
+version = "0.2.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2ccec894c70710c2e4669320a532cb2b9cfb97adb0429745642f8ce76916ed85"
+checksum = "b48e4f2999b9930e9b037e328357d7d2367e0d8ea6e534be90aeff60976c0452"
 dependencies = [
  "anyhow",
- "wasmparser 0.78.2",
+ "wasmparser 0.80.0",
 ]
 
 [[package]]
@@ -2456,25 +2280,25 @@ dependencies = [
 
 [[package]]
 name = "wast"
-version = "35.0.2"
+version = "37.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2ef140f1b49946586078353a453a1d28ba90adfc54dde75710bc1931de204d68"
+checksum = "9bc7b9a76845047ded00e031754ff410afee0d50fbdf62b55bdeecd245063d68"
 dependencies = [
  "leb128",
 ]
 
 [[package]]
 name = "wat"
-version = "1.0.37"
+version = "1.0.39"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ec280a739b69173e0ffd12c1658507996836ba4e992ed9bc1e5385a0bd72a02"
+checksum = "2ab2cc8d9a69d1ab28a41d9149bb06bb927aba8fc9d56625f8b597a564c83f50"
 dependencies = [
- "wast 35.0.2",
+ "wast 37.0.0",
 ]
 
 [[package]]
 name = "web-sys"
-version = "0.3.51"
+version = "0.3.52"
 dependencies = [
  "js-sys",
  "wasm-bindgen",
diff --git a/nixpkgs/pkgs/development/tools/wasm-bindgen-cli/default.nix b/nixpkgs/pkgs/development/tools/wasm-bindgen-cli/default.nix
index ef8affdf2446..fba7c979390a 100644
--- a/nixpkgs/pkgs/development/tools/wasm-bindgen-cli/default.nix
+++ b/nixpkgs/pkgs/development/tools/wasm-bindgen-cli/default.nix
@@ -11,7 +11,7 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "wasm-bindgen-cli";
-  version = "0.2.74";
+  version = "0.2.75";
 
   src =
     let
@@ -19,7 +19,7 @@ rustPlatform.buildRustPackage rec {
         owner = "rustwasm";
         repo = "wasm-bindgen";
         rev = version;
-        hash = "sha256-GsraYfWzUZjFpPpufTyXF0i2llBzjh04iTKio6m4NRA=";
+        hash = "sha256-eRAe6/v0Xrtd1d2k6p0WETZ2vkQkiDRZOds7y0DidY0=";
       };
     in
     runCommand "source" { } ''
@@ -31,14 +31,14 @@ rustPlatform.buildRustPackage rec {
   buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security curl ];
   nativeBuildInputs = [ pkg-config ];
 
-  cargoHash = "sha256-djeI7kSGRHMpXnsbVlM2CDek02u5tFAsyAdHwbKC0y8=";
+  cargoHash = "sha256-xZrGBRnsBQKvqGkZyU7FQCkx0dHt/hXlrVLSvGKx27k=";
   cargoBuildFlags = [ "-p" pname ];
 
   meta = with lib; {
     homepage = "https://rustwasm.github.io/docs/wasm-bindgen/";
     license = licenses.asl20;
     description = "Facilitating high-level interactions between wasm modules and JavaScript";
-    maintainers = with maintainers; [ ma27 rizary ];
+    maintainers = with maintainers; [ ma27 nitsky rizary ];
     platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/wrangler/default.nix b/nixpkgs/pkgs/development/tools/wrangler/default.nix
index bb1f23164858..6191ba75f5dc 100644
--- a/nixpkgs/pkgs/development/tools/wrangler/default.nix
+++ b/nixpkgs/pkgs/development/tools/wrangler/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "wrangler";
-  version = "1.16.1";
+  version = "1.19.2";
 
   src = fetchFromGitHub {
     owner = "cloudflare";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-chKmn38yB05NqDvtYWo4EwEIiD6kjy/1OMaMFM4qAA8=";
+    sha256 = "sha256-RnnmhdfYAmqfi2aM2oYrieFNOkiae4WGfR5RoHeNfmw=";
   };
 
-  cargoSha256 = "sha256-pG3ZsRPa/7QRkUik6a987SlGrl3B0thnN3h62JyzdJo=";
+  cargoSha256 = "sha256-sneNRs4DPrNA84K73DVSxAAmZ2fqX6VyQhF8bKgIbaQ=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/nixpkgs/pkgs/development/tools/yarn/default.nix b/nixpkgs/pkgs/development/tools/yarn/default.nix
index 1868bdaf2c32..10012e552ced 100644
--- a/nixpkgs/pkgs/development/tools/yarn/default.nix
+++ b/nixpkgs/pkgs/development/tools/yarn/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "yarn";
-  version = "1.22.10";
+  version = "1.22.11";
 
   src = fetchzip {
     url = "https://github.com/yarnpkg/yarn/releases/download/v${version}/yarn-v${version}.tar.gz";
-    sha256 = "0pdimll8lhsnqfafhdaxd6h6mgxhj1c7h56r111cmxhzw462y3mr";
+    sha256 = "0gmk46b9gd6q0zi3a2adgf8c1y05c2lf34k5wrw7alnlwy8iqvvp";
   };
 
   buildInputs = [ nodejs ];
diff --git a/nixpkgs/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix b/nixpkgs/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix
index 24ef1e85751e..cba0227fd1fa 100644
--- a/nixpkgs/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix
+++ b/nixpkgs/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix
@@ -4,7 +4,7 @@
 }:
 
 let
-  inherit (pkgs) stdenv lib fetchurl linkFarm callPackage git rsync makeWrapper;
+  inherit (pkgs) stdenv lib fetchurl linkFarm callPackage git rsync makeWrapper runCommandLocal;
 
   compose = f: g: x: f (g x);
   id = x: x;
@@ -105,7 +105,8 @@ in rec {
 
     in stdenv.mkDerivation {
       inherit preBuild postBuild name;
-      phases = ["configurePhase" "buildPhase"];
+      dontUnpack = true;
+      dontInstall = true;
       buildInputs = [ yarn nodejs git ] ++ extraBuildInputs;
 
       configurePhase = ''
@@ -413,21 +414,16 @@ in rec {
     '';
   };
 
-  fixup_yarn_lock = stdenv.mkDerivation {
-    name = "fixup_yarn_lock";
+  fixup_yarn_lock = runCommandLocal "fixup_yarn_lock"
+    {
+      buildInputs = [ nodejs ];
+    } ''
+    mkdir -p $out/lib
+    mkdir -p $out/bin
 
-    buildInputs = [ nodejs ];
+    cp ${./lib/urlToName.js} $out/lib/urlToName.js
+    cp ${./internal/fixup_yarn_lock.js} $out/bin/fixup_yarn_lock
 
-    phases = [ "installPhase" ];
-
-    installPhase = ''
-      mkdir -p $out/lib
-      mkdir -p $out/bin
-
-      cp ${./lib/urlToName.js} $out/lib/urlToName.js
-      cp ${./internal/fixup_yarn_lock.js} $out/bin/fixup_yarn_lock
-
-      patchShebangs $out
-    '';
-  };
+    patchShebangs $out
+  '';
 }
diff --git a/nixpkgs/pkgs/development/tools/yarn2nix-moretea/yarn2nix/lib/generateNix.js b/nixpkgs/pkgs/development/tools/yarn2nix-moretea/yarn2nix/lib/generateNix.js
index cebe7c715d1b..b82372fd5b6d 100644
--- a/nixpkgs/pkgs/development/tools/yarn2nix-moretea/yarn2nix/lib/generateNix.js
+++ b/nixpkgs/pkgs/development/tools/yarn2nix-moretea/yarn2nix/lib/generateNix.js
@@ -57,7 +57,7 @@ function fetchgit(fileName, url, rev, branch, builtinFetchGit) {
           sha256 = "${prefetchgit(url, rev)}";
         };
       `}in
-        runCommandNoCC "${fileName}" { buildInputs = [gnutar]; } ''
+        runCommand "${fileName}" { buildInputs = [gnutar]; } ''
           # Set u+w because tar-fs can't unpack archives with read-only dirs
           # https://github.com/mafintosh/tar-fs/issues/79
           tar cf $out --mode u+w -C \${repo} .
@@ -104,7 +104,7 @@ function fetchLockedDep(builtinFetchGit) {
 }
 
 const HEAD = `
-{ fetchurl, fetchgit, linkFarm, runCommandNoCC, gnutar }: rec {
+{ fetchurl, fetchgit, linkFarm, runCommand, gnutar }: rec {
   offline_cache = linkFarm "offline" packages;
   packages = [
 `.trim()
diff --git a/nixpkgs/pkgs/development/tools/yarn2nix-moretea/yarn2nix/yarn.nix b/nixpkgs/pkgs/development/tools/yarn2nix-moretea/yarn2nix/yarn.nix
index b8dba6833fbf..98c19af79fb5 100644
--- a/nixpkgs/pkgs/development/tools/yarn2nix-moretea/yarn2nix/yarn.nix
+++ b/nixpkgs/pkgs/development/tools/yarn2nix-moretea/yarn2nix/yarn.nix
@@ -1,4 +1,4 @@
-{ fetchurl, fetchgit, linkFarm, runCommandNoCC, gnutar }: rec {
+{ fetchurl, fetchgit, linkFarm, runCommand, gnutar }: rec {
   offline_cache = linkFarm "offline" packages;
   packages = [
     {
diff --git a/nixpkgs/pkgs/development/tools/yj/default.nix b/nixpkgs/pkgs/development/tools/yj/default.nix
index 303f325dec18..017434134ca1 100644
--- a/nixpkgs/pkgs/development/tools/yj/default.nix
+++ b/nixpkgs/pkgs/development/tools/yj/default.nix
@@ -13,7 +13,7 @@ buildGoModule rec {
 
   vendorSha256 = "0y0n9fsb85qlpf9slwsxzarmfi98asa4x04qp2r8pagl28l0i8wv";
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.Version=${version}" ];
+  ldflags = [ "-s" "-w" "-X main.Version=${version}" ];
 
   meta = with lib; {
     description = "Convert YAML <=> TOML <=> JSON <=> HCL";
diff --git a/nixpkgs/pkgs/development/tools/yq-go/default.nix b/nixpkgs/pkgs/development/tools/yq-go/default.nix
index f00c080cd1fd..5bd458ecdd60 100644
--- a/nixpkgs/pkgs/development/tools/yq-go/default.nix
+++ b/nixpkgs/pkgs/development/tools/yq-go/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "yq-go";
-  version = "4.6.3";
+  version = "4.12.1";
 
   src = fetchFromGitHub {
     owner = "mikefarah";
-    rev = "v${version}";
     repo = "yq";
-    sha256 = "sha256-+qSGdskv8qUZRl7wYKn8WsgAcD8DYw1BwZnVKK6g/sI=";
+    rev = "v${version}";
+    sha256 = "sha256-3L4SM698SJvHw1eXxxxL9OehDqQ6Al1XBL2WRG49PZU=";
   };
 
-  vendorSha256 = "sha256-vpvIl1lfaziuoHs+oDEIztufH1somphiBAn6qTaQaZw=";
+  vendorSha256 = "sha256-u7elWOW/tz1ISM/KC1njkZmPi8AEEssZ5QtxK/+1/1I=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/tools/ytt/default.nix b/nixpkgs/pkgs/development/tools/ytt/default.nix
index 10804980041b..978016369f20 100644
--- a/nixpkgs/pkgs/development/tools/ytt/default.nix
+++ b/nixpkgs/pkgs/development/tools/ytt/default.nix
@@ -1,13 +1,13 @@
 { lib, buildGoModule, fetchFromGitHub }:
 buildGoModule rec {
   pname = "ytt";
-  version = "0.31.0";
+  version = "0.36.0";
 
   src = fetchFromGitHub {
     owner = "vmware-tanzu";
     repo = "carvel-ytt";
     rev = "v${version}";
-    sha256 = "sha256-GXnhI8nd4ciFd22989ypqGy5pozKJm+dzg8MaDDvuZg=";
+    sha256 = "sha256-/o+SgH0wpQQokzpnlK6Im6K9U3Aax3GHe7IPmVg2etk=";
   };
 
   vendorSha256 = null;
diff --git a/nixpkgs/pkgs/development/web/cypress/default.nix b/nixpkgs/pkgs/development/web/cypress/default.nix
index ff673658272e..a82542760c28 100644
--- a/nixpkgs/pkgs/development/web/cypress/default.nix
+++ b/nixpkgs/pkgs/development/web/cypress/default.nix
@@ -17,11 +17,11 @@
 
 stdenv.mkDerivation rec {
   pname = "cypress";
-  version = "8.0.0";
+  version = "8.3.0";
 
   src = fetchzip {
     url = "https://cdn.cypress.io/desktop/${version}/linux-x64/cypress.zip";
-    sha256 = "144mz37xhk7gkwhmf67q1h07f2biy5nnw78yb2syc7w28v48ng0z";
+    sha256 = "sha256-MmdAi/AZ4CI/dPWbJxAXYTg/h0Dr/eEVYcZLMHaDQQ0=";
   };
 
   # don't remove runtime deps
diff --git a/nixpkgs/pkgs/development/web/deno/default.nix b/nixpkgs/pkgs/development/web/deno/default.nix
index d1a6330df7bd..71252c850818 100644
--- a/nixpkgs/pkgs/development/web/deno/default.nix
+++ b/nixpkgs/pkgs/development/web/deno/default.nix
@@ -17,15 +17,15 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "deno";
-  version = "1.12.1";
+  version = "1.13.2";
 
   src = fetchFromGitHub {
     owner = "denoland";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-kNwRnoUkX2dmj6ii9fRu/Hv4V3/sz6ag+wUPf93tmTQ=";
+    sha256 = "sha256-qAUQOTqVNTUSmKXoCwId4Bm6ashLLpY0QEWr8gyXxR4=";
   };
-  cargoSha256 = "sha256-5ukTSzDFCkBQ1UFfnpz1fFzJSHBYUoZAvhPGMkr/fIs=";
+  cargoSha256 = "sha256-pwP5XbWuK0g45zmamWUO9kiY8gzoNqk7nC7aGTCFhyY=";
 
   # Install completions post-install
   nativeBuildInputs = [ installShellFiles ];
diff --git a/nixpkgs/pkgs/development/web/deno/librusty_v8.nix b/nixpkgs/pkgs/development/web/deno/librusty_v8.nix
index a85d2bf76f2d..15c20cf4d768 100644
--- a/nixpkgs/pkgs/development/web/deno/librusty_v8.nix
+++ b/nixpkgs/pkgs/development/web/deno/librusty_v8.nix
@@ -11,11 +11,11 @@ let
   };
 in
 fetch_librusty_v8 {
-  version = "0.25.3";
+  version = "0.26.0";
   shas = {
-    x86_64-linux = "sha256-Z3lEJT3QVhP8PoDiM6Fw0sm5rXWvasBqASBO5tZA5zM=";
-    aarch64-linux = "sha256-pbcd1zV7IIEqCIp8vsRiO0KBGrOv52SvMZ4gthxuN/I=";
-    x86_64-darwin = "sha256-BwYdgd1kK8EQFfDc9RgtNvwvx7agt9hYNVmBGwHoqz0=";
-    aarch64-darwin = "sha256-/RHeNuR7VjhfwdjZXWMMX3UnweAjJblSCUq9eIwGvWc=";
+    x86_64-linux = "sha256-eYvfsgkLuV//4NmnxTNgB5vGoQ2JdSpXwF34d1kNxBw=";
+    aarch64-linux = "sha256-t+0/bJI4q2XElYz398aig/widJEOAascOmv4qnnKMQY=";
+    x86_64-darwin = "sha256-lYJcx5Oe/nuF3l5coH4WIMbBbiFMwxNWlIYojrdiJfI=";
+    aarch64-darwin = "sha256-5blisZ4Z/f68fZg7aDr5WK4MNvL5IRZZSJrvFb9N5oY=";
   };
 }
diff --git a/nixpkgs/pkgs/development/web/flyctl/default.nix b/nixpkgs/pkgs/development/web/flyctl/default.nix
index 8828b0222cc2..c222d5232bac 100644
--- a/nixpkgs/pkgs/development/web/flyctl/default.nix
+++ b/nixpkgs/pkgs/development/web/flyctl/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "flyctl";
-  version = "0.0.229";
+  version = "0.0.232";
 
   src = fetchFromGitHub {
     owner = "superfly";
     repo = "flyctl";
     rev = "v${version}";
-    sha256 = "sha256-mw+rTMFj41+T6lDe/MOQpmRcjt/gJhOCfaHcBkpjcsg=";
+    sha256 = "sha256-VpHHkcN7VTMLBFMOTJcO6b2JIOZVcubJDKN04xXQIzA=";
   };
 
   preBuild = ''
@@ -17,11 +17,11 @@ buildGoModule rec {
 
   subPackages = [ "." ];
 
-  vendorSha256 = "sha256-NnHnSfm3XYiwgGn56GsthFKiflJvhYhjoxmm8ogm+Uc=";
+  vendorSha256 = "sha256-6t2aLSr78pEhrYI53OMQpfJqa65wQAxlz6+ksUtxzmI=";
 
   doCheck = false;
 
-  buildFlagsArray = [ "-ldflags=-s -w -X github.com/superfly/flyctl/flyctl.Version=${version} -X github.com/superfly/flyctl/flyctl.Commit=${src.rev} -X github.com/superfly/flyctl/flyctl.BuildDate=1970-01-01T00:00:00+0000 -X github.com/superfly/flyctl/flyctl.Environment=production" ];
+  ldflags = [ "-s" "-w" "-X github.com/superfly/flyctl/flyctl.Version=${version}" "-X github.com/superfly/flyctl/flyctl.Commit=${src.rev}" "-X github.com/superfly/flyctl/flyctl.BuildDate=1970-01-01T00:00:00+0000" "-X github.com/superfly/flyctl/flyctl.Environment=production" ];
 
   meta = with lib; {
     description = "Command line tools for fly.io services";
diff --git a/nixpkgs/pkgs/development/web/kore/default.nix b/nixpkgs/pkgs/development/web/kore/default.nix
index bc8113fc6a1d..a1bd3ecd451b 100644
--- a/nixpkgs/pkgs/development/web/kore/default.nix
+++ b/nixpkgs/pkgs/development/web/kore/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "kore";
-  version = "4.0.1";
+  version = "4.1.0";
 
   src = fetchFromGitHub {
     owner = "jorisvink";
     repo = pname;
     rev = version;
-    sha256 = "0186lih30zps2d4600ikafbgsml269jzpcszdggzzkdw8p628qw9";
+    sha256 = "sha256-w5H1USQ2aladwSFdfYsX925pjCt3QWoXK4HqyEL7rH0=";
   };
 
   buildInputs = [ openssl curl postgresql yajl ];
diff --git a/nixpkgs/pkgs/development/web/minify/default.nix b/nixpkgs/pkgs/development/web/minify/default.nix
index 4ef1913fd667..31c6ba9253bb 100644
--- a/nixpkgs/pkgs/development/web/minify/default.nix
+++ b/nixpkgs/pkgs/development/web/minify/default.nix
@@ -2,20 +2,20 @@
 
 buildGoModule rec {
   pname = "minify";
-  version = "2.7.4";
+  version = "2.9.21";
 
   src = fetchFromGitHub {
     owner = "tdewolff";
     repo = pname;
     rev = "v${version}";
-    sha256 = "06xzb681g4lfrpqa1rhpq5mm83vpik8qp6gjxqm2n21bfph88jm2";
+    sha256 = "sha256-cHoQtvxofMet7j/PDKlFoVB9Qo5EMWcXqAwhqR4vNko=";
   };
 
-  vendorSha256 = "120d3nzk8cr5496cxp5p6ydlzw9mmpg7dllqhv1kpgwlbxmd8vr3";
+  vendorSha256 = "sha256-awlrjXXX9PWs4dt78yK4qNE1wCaA+tGL45tHQxxby8c=";
 
   doCheck = false;
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.Version=${version}" ];
+  ldflags = [ "-s" "-w" "-X main.Version=${version}" ];
 
   meta = with lib; {
     description = "Minifiers for web formats";
diff --git a/nixpkgs/pkgs/development/web/nodejs/disable-darwin-v8-system-instrumentation.patch b/nixpkgs/pkgs/development/web/nodejs/disable-darwin-v8-system-instrumentation.patch
new file mode 100644
index 000000000000..63e9107b33d0
--- /dev/null
+++ b/nixpkgs/pkgs/development/web/nodejs/disable-darwin-v8-system-instrumentation.patch
@@ -0,0 +1,16 @@
+Disable v8 system instrumentation on Darwin
+
+On Darwin, the v8 system instrumentation requires the header "os/signpost.h"
+which is available since apple_sdk 11+. See: https://github.com/nodejs/node/issues/39584
+
+--- old/tools/v8_gypfiles/features.gypi
++++ new/tools/v8_gypfiles/features.gypi
+@@ -62,7 +62,7 @@
+       }, {
+         'is_component_build': 0,
+       }],
+-      ['OS == "win" or OS == "mac"', {
++      ['OS == "win"', {
+         # Sets -DSYSTEM_INSTRUMENTATION. Enables OS-dependent event tracing
+         'v8_enable_system_instrumentation': 1,
+       }, {
diff --git a/nixpkgs/pkgs/development/web/nodejs/v12.nix b/nixpkgs/pkgs/development/web/nodejs/v12.nix
index cfd6c211ab53..7717dfa6c9cf 100644
--- a/nixpkgs/pkgs/development/web/nodejs/v12.nix
+++ b/nixpkgs/pkgs/development/web/nodejs/v12.nix
@@ -8,7 +8,7 @@ let
 in
   buildNodejs {
     inherit enableNpm;
-    version = "12.22.3";
-    sha256 = "143ihn30jd08nk19saxn6qp3ldc9yvy8w338i4cg9256wgx120im";
+    version = "12.22.6";
+    sha256 = "0yhgkcp7lx5nglxsrybbjymx1fys3wkbbhkj6h6652gnp0b2y0n2";
     patches = lib.optional stdenv.isDarwin ./bypass-xcodebuild.diff;
   }
diff --git a/nixpkgs/pkgs/development/web/nodejs/v14.nix b/nixpkgs/pkgs/development/web/nodejs/v14.nix
index ad6c8aacddc3..1ec04407f899 100644
--- a/nixpkgs/pkgs/development/web/nodejs/v14.nix
+++ b/nixpkgs/pkgs/development/web/nodejs/v14.nix
@@ -7,7 +7,7 @@ let
 in
   buildNodejs {
     inherit enableNpm;
-    version = "14.17.3";
-    sha256 = "0j3zd5vavsapqs9h682mr8r5i7xp47n0w4vjvm8rw3rn3dg4p2sb";
+    version = "14.17.6";
+    sha256 = "0pmd0haav2ychhcsw44klx6wfn8c7j1rsw08rc8hcm5i3h5wsn7l";
     patches = lib.optional stdenv.isDarwin ./bypass-xcodebuild.diff;
   }
diff --git a/nixpkgs/pkgs/development/web/nodejs/v16.nix b/nixpkgs/pkgs/development/web/nodejs/v16.nix
index 766df734a4aa..805e62be8d62 100644
--- a/nixpkgs/pkgs/development/web/nodejs/v16.nix
+++ b/nixpkgs/pkgs/development/web/nodejs/v16.nix
@@ -8,6 +8,7 @@ let
 in
   buildNodejs {
     inherit enableNpm;
-    version = "16.5.0";
-    sha256 = "16dapj5pm2y1m3ldrjjlz8rq9axk85nn316iz02nk6qjs66y6drz";
+    version = "16.8.0";
+    sha256 = "14k3njj382im3q4k6dhsxdk07gs81hw2k0nrixfvlw1964k04ydq";
+    patches = [ ./disable-darwin-v8-system-instrumentation.patch ];
   }
diff --git a/nixpkgs/pkgs/development/web/now-cli/default.nix b/nixpkgs/pkgs/development/web/now-cli/default.nix
deleted file mode 100644
index 586fc03687c5..000000000000
--- a/nixpkgs/pkgs/development/web/now-cli/default.nix
+++ /dev/null
@@ -1,87 +0,0 @@
-{ stdenv, lib, fetchurl }:
-stdenv.mkDerivation rec {
-  pname = "now-cli";
-  version = "15.8.7";
-
-  # TODO: switch to building from source, if possible
-  src = fetchurl {
-    url = "https://github.com/zeit/now-cli/releases/download/${version}/now-linux.gz";
-    sha256 = "1x6nsn9qmsy4hk7l2dsyabc7fxkwwwl1y1852vs4dgxi8w1hax93";
-  };
-
-  sourceRoot = ".";
-  unpackCmd = ''
-    gunzip -c $curSrc > now-linux
-  '';
-
-  dontBuild = true;
-
-  installPhase = ''
-    mkdir $out
-    mkdir $out/bin
-    cp now-linux $out/bin/now
-  '';
-
-    # now is a node program packaged using zeit/pkg.
-    # thus, it contains hardcoded offsets.
-    # patchelf shifts these locations when it expands headers.
-
-    # this could probably be generalised into allowing any program packaged
-    # with zeit/pkg to be run on nixos.
-
-  preFixup = let
-    libPath = lib.makeLibraryPath [stdenv.cc.cc];
-  in ''
-
-    orig_size=$(stat --printf=%s $out/bin/now)
-
-    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/bin/now
-    patchelf --set-rpath ${libPath} $out/bin/now
-    chmod +x $out/bin/now
-
-    new_size=$(stat --printf=%s $out/bin/now)
-
-    ###### zeit-pkg fixing starts here.
-    # we're replacing plaintext js code that looks like
-    # PAYLOAD_POSITION = '1234                  ' | 0
-    # [...]
-    # PRELUDE_POSITION = '1234                  ' | 0
-    # ^-----20-chars-----^^------22-chars------^
-    # ^-- grep points here
-    #
-    # var_* are as described above
-    # shift_by seems to be safe so long as all patchelf adjustments occur
-    # before any locations pointed to by hardcoded offsets
-
-    var_skip=20
-    var_select=22
-    shift_by=$(expr $new_size - $orig_size)
-
-    function fix_offset {
-      # $1 = name of variable to adjust
-      location=$(grep -obUam1 "$1" $out/bin/now | cut -d: -f1)
-      location=$(expr $location + $var_skip)
-
-      value=$(dd if=$out/bin/now iflag=count_bytes,skip_bytes skip=$location \
-                 bs=1 count=$var_select status=none)
-      value=$(expr $shift_by + $value)
-
-      echo -n $value | dd of=$out/bin/now bs=1 seek=$location conv=notrunc
-    }
-
-    fix_offset PAYLOAD_POSITION
-    fix_offset PRELUDE_POSITION
-
-  '';
-  dontStrip = true;
-
-
-
-  meta = with lib; {
-    homepage = "https://zeit.co/now";
-    description = "The Command Line Interface for Now - Global Serverless Deployments";
-    license = licenses.asl20;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.bhall ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/web/postman/default.nix b/nixpkgs/pkgs/development/web/postman/default.nix
index 6eb7eb1b58c5..abcf6bfc16ed 100644
--- a/nixpkgs/pkgs/development/web/postman/default.nix
+++ b/nixpkgs/pkgs/development/web/postman/default.nix
@@ -2,16 +2,16 @@
 , 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, libdrm, mesa
+, libXrender, libXtst, libXScrnSaver, libxkbcommon, libdrm, mesa
 }:
 
 stdenv.mkDerivation rec {
   pname = "postman";
-  version = "8.4.0";
+  version = "8.10.0";
 
   src = fetchurl {
     url = "https://dl.pstmn.io/download/version/${version}/linux64";
-    sha256 = "040l0g6m8lmjrm0wvq8z13xyddasz7v95v54d658w14gv0n713vw";
+    sha256 = "05f3eaa229483a7e1f698e6e2ea2031d37687de540d4fad05ce677ac216db24d";
     name = "${pname}.tar.gz";
   };
 
@@ -62,6 +62,7 @@ stdenv.mkDerivation rec {
     libXrender
     libXtst
     libXScrnSaver
+    libxkbcommon
   ];
 
   nativeBuildInputs = [ wrapGAppsHook ];
diff --git a/nixpkgs/pkgs/development/web/remarkjs/node-packages.nix b/nixpkgs/pkgs/development/web/remarkjs/node-packages.nix
index 5f5d3576b761..9add677c2488 100644
--- a/nixpkgs/pkgs/development/web/remarkjs/node-packages.nix
+++ b/nixpkgs/pkgs/development/web/remarkjs/node-packages.nix
@@ -3674,7 +3674,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Static analysis tool for JavaScript";
-      homepage = "http://jshint.com/";
+      homepage = "https://jshint.com/";
       license = "MIT";
     };
     production = true;
diff --git a/nixpkgs/pkgs/development/web/twitter-bootstrap/default.nix b/nixpkgs/pkgs/development/web/twitter-bootstrap/default.nix
index 8e3fd36b73fa..13b1e7b95c44 100644
--- a/nixpkgs/pkgs/development/web/twitter-bootstrap/default.nix
+++ b/nixpkgs/pkgs/development/web/twitter-bootstrap/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bootstrap";
-  version = "5.0.2";
+  version = "5.1.0";
 
   src = fetchurl {
     url = "https://github.com/twbs/bootstrap/releases/download/v${version}/${pname}-${version}-dist.zip";
-    sha256 = "sha256-ZvvBNDF9sjcO4JnLPRkzC1B1YG3fcMyjM9qwFlAg9sE=";
+    sha256 = "sha256-OVNCspdOM1BWDmV1LTaqtlc2UrEcxste95ouXoOtZLE=";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/nixpkgs/pkgs/games/0ad/data.nix b/nixpkgs/pkgs/games/0ad/data.nix
index 9533af21b15d..57018e04904c 100644
--- a/nixpkgs/pkgs/games/0ad/data.nix
+++ b/nixpkgs/pkgs/games/0ad/data.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://releases.wildfiregames.com/0ad-${version}-alpha-unix-data.tar.xz";
-    sha256 = "0b53jzl64i49rk3n3c3x0hibwbl7vih2xym8jq5s56klg61qdxa1";
+    sha256 = "1c9zrddmjxvvacismld6fbwbw9vrdbq6g6d3424p8w5p6xg5wlwy";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/games/0ad/game.nix b/nixpkgs/pkgs/games/0ad/game.nix
index feaf4347329c..4f7cf4457a7d 100644
--- a/nixpkgs/pkgs/games/0ad/game.nix
+++ b/nixpkgs/pkgs/games/0ad/game.nix
@@ -26,11 +26,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "0ad";
-  version = "0.0.24b";
+  version = "0.0.25b";
 
   src = fetchurl {
     url = "http://releases.wildfiregames.com/0ad-${version}-alpha-unix-build.tar.xz";
-    sha256 = "1a1py45hkh2cswi09vbf9chikgxdv9xplsmg6sv6xhdznv4j6p1j";
+    sha256 = "1p9fa8f7sjb9c5wl3mawzyfqvgr614kdkhrj2k4db9vkyisws3fp";
   };
 
   nativeBuildInputs = [ python2 perl pkg-config ];
diff --git a/nixpkgs/pkgs/games/0ad/wrapper.nix b/nixpkgs/pkgs/games/0ad/wrapper.nix
index ede151307d55..3511dc0bed49 100644
--- a/nixpkgs/pkgs/games/0ad/wrapper.nix
+++ b/nixpkgs/pkgs/games/0ad/wrapper.nix
@@ -4,7 +4,6 @@ assert zeroad-unwrapped.version == zeroad-data.version;
 
 buildEnv {
   name = "zeroad-${zeroad-unwrapped.version}";
-  inherit (zeroad-unwrapped) meta;
 
   nativeBuildInputs = [ makeWrapper ];
 
@@ -18,4 +17,8 @@ buildEnv {
         --set ZEROAD_ROOTDIR "$out/share/0ad"
     done
   '';
+
+  meta = zeroad-unwrapped.meta // {
+    hydraPlatforms = [];
+  };
 }
diff --git a/nixpkgs/pkgs/games/90secondportraits/default.nix b/nixpkgs/pkgs/games/90secondportraits/default.nix
index a5b504995f79..07458cc64463 100644
--- a/nixpkgs/pkgs/games/90secondportraits/default.nix
+++ b/nixpkgs/pkgs/games/90secondportraits/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ lua love ];
 
-  phases = "installPhase";
+  dontUnpack = true;
 
   installPhase =
   ''
diff --git a/nixpkgs/pkgs/games/alephone/marathon/default.nix b/nixpkgs/pkgs/games/alephone/marathon/default.nix
index 4518215a3374..e30a29695a8a 100644
--- a/nixpkgs/pkgs/games/alephone/marathon/default.nix
+++ b/nixpkgs/pkgs/games/alephone/marathon/default.nix
@@ -3,13 +3,12 @@
 alephone.makeWrapper rec {
   pname = "marathon";
   desktopName = "Marathon";
-  version = "20200904";
+  version = "20210408";
   icon = alephone.icons + "/marathon.png";
 
   zip = fetchurl {
-    url =
-      "https://github.com/Aleph-One-Marathon/alephone/releases/download/release-${version}/Marathon-${version}-Data.zip";
-    sha256 = "sha256-x5M8RkxH+Rn8hUJIIq/AFC5Ibn0zF95BqZIDEwM6wVg=";
+    url = "https://github.com/Aleph-One-Marathon/alephone/releases/download/release-${version}/Marathon-${version}-Data.zip";
+    sha256 = "sha256-WM5c0X/BGeDu8d7hME3LiZavkgJll6rc3Beat/2bsdg=";
   };
 
   meta = {
diff --git a/nixpkgs/pkgs/games/angband/default.nix b/nixpkgs/pkgs/games/angband/default.nix
index e14629dce8fc..ed18624deb12 100644
--- a/nixpkgs/pkgs/games/angband/default.nix
+++ b/nixpkgs/pkgs/games/angband/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "angband";
-  version = "4.2.2";
+  version = "4.2.3";
 
   src = fetchFromGitHub {
     owner = "angband";
     repo = "angband";
     rev = version;
-    sha256 = "sha256-z1HTt3+lWIr2F9YZFdw47lkYVgYl17qbb/OJ9YyYQa8=";
+    sha256 = "sha256-SFHAG74qJcV3E+jxPcOH2moW/kXhpwUwbGZVkNxqWd8=";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   installFlags = [ "bindir=$(out)/bin" ];
 
   meta = with lib; {
-    homepage = "http://rephial.org/";
+    homepage = "https://angband.github.io/angband";
     description = "A single-player roguelike dungeon exploration game";
     maintainers = [ maintainers.chattered ];
     license = licenses.gpl2;
diff --git a/nixpkgs/pkgs/games/anki/bin.nix b/nixpkgs/pkgs/games/anki/bin.nix
index 26b29b9228e3..81de4f859683 100644
--- a/nixpkgs/pkgs/games/anki/bin.nix
+++ b/nixpkgs/pkgs/games/anki/bin.nix
@@ -3,15 +3,23 @@
 let
   pname = "anki-bin";
   # Update hashes for both Linux and Darwin!
-  version = "2.1.44";
+  version = "2.1.47";
+
+  sources = {
+    linux = fetchurl {
+      url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-linux.tar.bz2";
+      sha256 = "sha256-cObvjXeDUDslfAhMOrlqyjidri6N7xLR2+LRz3hTdfg=";
+    };
+    darwin = fetchurl {
+      url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-mac.dmg";
+      sha256 = "sha256-TwYrI9gSabJ5icOsygtEJRymkrSgCD8jDXMtpaJXgWg=";
+    };
+  };
 
   unpacked = stdenv.mkDerivation {
     inherit pname version;
 
-    src = fetchurl {
-      url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-linux.tar.bz2";
-      sha256 = "01d5ll3vsd4v0ikxgamv47bkwmag15vnmsgpda5wivc3dyawc9j9";
-    };
+    src = sources.linux;
 
     installPhase = ''
       runHook preInstall
@@ -32,6 +40,8 @@ let
     platforms = [ "x86_64-linux" "x86_64-darwin" ];
     maintainers = with maintainers; [ atemu ];
   };
+
+  passthru = { inherit sources; };
 in
 
 if stdenv.isLinux then buildFHSUserEnv (appimageTools.defaultFhsEnvArgs // {
@@ -51,14 +61,11 @@ if stdenv.isLinux then buildFHSUserEnv (appimageTools.defaultFhsEnvArgs // {
       $out/share/
   '';
 
-  inherit meta;
+  inherit meta passthru;
 }) else stdenv.mkDerivation {
-  inherit pname version;
+  inherit pname version passthru;
 
-  src = fetchurl {
-    url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-mac.dmg";
-    sha256 = "1zrdih4rjsq30480sf200pw59r42p3nq2md56kj2l641kbc7ljka";
-  };
+  src = sources.darwin;
 
   nativeBuildInputs = [ undmg ];
   sourceRoot = ".";
diff --git a/nixpkgs/pkgs/games/anki/default.nix b/nixpkgs/pkgs/games/anki/default.nix
index 6edddfeed5c7..d1def3740097 100644
--- a/nixpkgs/pkgs/games/anki/default.nix
+++ b/nixpkgs/pkgs/games/anki/default.nix
@@ -48,7 +48,7 @@ let
       rev = rev-manual;
       sha256 = sha256-manual;
     };
-    phases = [ "unpackPhase" "patchPhase" "buildPhase" ];
+    dontInstall = true;
     nativeBuildInputs = [ asciidoc ];
     patchPhase = ''
       # rsync isnt needed
diff --git a/nixpkgs/pkgs/games/antsimulator/default.nix b/nixpkgs/pkgs/games/antsimulator/default.nix
index b43b91d5cb99..bac481c88f35 100644
--- a/nixpkgs/pkgs/games/antsimulator/default.nix
+++ b/nixpkgs/pkgs/games/antsimulator/default.nix
@@ -2,20 +2,31 @@
 
 stdenv.mkDerivation rec {
   pname = "antsimulator";
-  version = "1.2";
+  version = "3.1";
 
   src = fetchFromGitHub {
     owner = "johnBuffer";
     repo = "AntSimulator";
     rev = "v${version}";
-    sha256 = "0wz80971rf86kb7mcnxwrq75vriwhmyir5s5n3wzml12rzfnj5f1";
+    sha256 = "sha256-1KWoGbdjF8VI4th/ZjAzASgsLEuS3xiwObulzxQAppA=";
   };
 
   nativeBuildInputs = [ cmake ];
   buildInputs = [ sfml ];
 
+  postPatch = ''
+    substituteInPlace src/main.cpp \
+      --replace "res/" "$out/opt/antsimulator/"
+
+    substituteInPlace include/simulation/config.hpp \
+      --replace "res/" "$out/opt/antsimulator/"
+
+    substituteInPlace include/render/colony_renderer.hpp \
+      --replace "res/" "$out/opt/antsimulator/"
+  '';
+
   installPhase = ''
-    mkdir -p $out/bin
+    install -Dm644 -t $out/opt/antsimulator res/*
     install -Dm755 ./AntSimulator $out/bin/antsimulator
   '';
 
diff --git a/nixpkgs/pkgs/games/atanks/default.nix b/nixpkgs/pkgs/games/atanks/default.nix
index f92f2e19c33d..197cadfea29c 100644
--- a/nixpkgs/pkgs/games/atanks/default.nix
+++ b/nixpkgs/pkgs/games/atanks/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "atanks";
-  version = "6.5";
+  version = "6.6";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/atanks/atanks/${pname}-${version}/${pname}-${version}.tar.gz";
-    sha256 = "0bijsbd51j4wsnmdxj54r92m7h8zqnvh9z3qqdig6zx7a8kjn61j";
+    sha256 = "sha256-vGse/J/H52JPrR2DUtcuknvg+6IWC7Jbtri9bGNwv0M=";
   };
 
   buildInputs = [ allegro ];
diff --git a/nixpkgs/pkgs/games/ballerburg/default.nix b/nixpkgs/pkgs/games/ballerburg/default.nix
new file mode 100644
index 000000000000..43b274a12825
--- /dev/null
+++ b/nixpkgs/pkgs/games/ballerburg/default.nix
@@ -0,0 +1,56 @@
+{ lib, stdenv, fetchurl, cmake, SDL, makeDesktopItem, copyDesktopItems
+, imagemagick }:
+
+let
+
+  icon = fetchurl {
+    url = "https://baller.tuxfamily.org/king.png";
+    sha256 = "1xq2h87s648wjpjl72ds3xnnk2jp8ghbkhjzh2g4hpkq2zdz90hy";
+  };
+
+in stdenv.mkDerivation rec {
+  pname = "ballerburg";
+  version = "1.2.0";
+
+  src = fetchurl {
+    url = "https://download.tuxfamily.org/baller/ballerburg-${version}.tar.gz";
+    sha256 = "sha256-BiX0shPBGA8sshee8rxs41x+mdsrJzBqhpDDic6sYwA=";
+  };
+
+  nativeBuildInputs = [ cmake copyDesktopItems imagemagick ];
+
+  buildInputs = [ SDL ];
+
+  desktopItems = [
+    (makeDesktopItem {
+      name = "Ballerburg";
+      desktopName = "Ballerburg SDL";
+      type = "Application";
+      exec = "_NET_WM_ICON=ballerburg ballerburg";
+      comment = meta.description;
+      icon = "ballerburg";
+      categories = "Game;";
+    })
+  ];
+
+  postInstall = ''
+    # Generate and install icon files
+    for size in 16 32 48 64 72 96 128 192 512 1024; do
+      mkdir -p $out/share/icons/hicolor/"$size"x"$size"/apps
+      convert ${icon} -sample "$size"x"$size" \
+        -background white -gravity south -extent "$size"x"$size" \
+        $out/share/icons/hicolor/"$size"x"$size"/apps/ballerburg.png
+    done
+  '';
+
+  meta = with lib; {
+    description = "Classic cannon combat game";
+    longDescription = ''
+      Two castles, separated by a mountain, try to defeat each other with their cannonballs,
+      either by killing the opponent's king or by weakening the opponent enough so that the king capitulates.'';
+    homepage = "https://baller.tuxfamily.org/";
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.j0hax ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/games/banner/default.nix b/nixpkgs/pkgs/games/banner/default.nix
index 084dd37d3224..613947c677a5 100644
--- a/nixpkgs/pkgs/games/banner/default.nix
+++ b/nixpkgs/pkgs/games/banner/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = with lib; {
-    homepage = "http://software.cedar-solutions.com/utilities.html";
+    homepage = "https://software.cedar-solutions.com/utilities.html";
     description = "Print large banners to ASCII terminals";
     license = licenses.gpl2Only;
 
diff --git a/nixpkgs/pkgs/games/bitsnbots/default.nix b/nixpkgs/pkgs/games/bitsnbots/default.nix
deleted file mode 100644
index e5e718e3ca5b..000000000000
--- a/nixpkgs/pkgs/games/bitsnbots/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ lib, stdenv, fetchurl, SDL, lua, libGLU, libGL }:
-
-stdenv.mkDerivation rec {
-  pname = "bitsnbots";
-  version = "20111230";
-
-  src = fetchurl {
-    url = "http://moikmellah.org/downloads/bitsnbots/bitsnbots.source.tgz";
-    sha256 = "1iiclm6bfpp2p6d692hpnw25xyr48ki1xkcxa7fvh5b7m1519gsp";
-  };
-
-  patchPhase = ''
-    sed -i '/^INCLUDE/d' Makefile.linux
-  '';
-
-  makefile = "Makefile.linux";
-
-  NIX_CFLAGS_COMPILE = "-I${SDL.dev}/include/SDL";
-
-  NIX_LDFLAGS = "-lGL";
-
-  installPhase = ''
-    mkdir -p $out/share/${pname}-${version}
-    cp -R bitsnbots resource scripts README $out/share/${pname}-${version}
-    mkdir -p $out/bin
-    ln -s $out/share/${pname}-${version}/bitsnbots $out/bin
-  '';
-
-  buildInputs = [ SDL lua libGLU libGL ];
-
-  meta = {
-    description = "Simple puzzle game with moving robots";
-    homepage = "http://moikmellah.org/blog/?page_id=19";
-    license = lib.licenses.gpl3Plus;
-    platforms = with lib.platforms; linux;
-  };
-}
diff --git a/nixpkgs/pkgs/games/blackshades/default.nix b/nixpkgs/pkgs/games/blackshades/default.nix
index 263d92dcea63..bd29c7b616c4 100644
--- a/nixpkgs/pkgs/games/blackshades/default.nix
+++ b/nixpkgs/pkgs/games/blackshades/default.nix
@@ -1,30 +1,29 @@
 { lib, stdenv, fetchFromSourcehut
-, SDL, SDL_image, libGLU, libGL, openal, libvorbis, freealut }:
+, SDL, stb, libGLU, libGL, openal, libvorbis, freealut }:
 
 stdenv.mkDerivation rec {
   pname = "blackshades";
-  version = "1.1.1";
+  version = "1.3.1";
 
   src = fetchFromSourcehut {
     owner = "~cnx";
     repo = pname;
     rev = version;
-    sha256 = "1gx43hcqahbd21ib8blhzmsrwqfzx4qy7f10ck0mh2zc4bfihz64";
+    sha256 = "0yzp74ynkcp6hh5m4zmvrgx5gwm186hq7p3m7qkww54qdyijb3rv";
   };
 
-  buildInputs = [ SDL SDL_image libGLU libGL openal libvorbis freealut ];
+  buildInputs = [ SDL stb libGLU libGL openal libvorbis freealut ];
 
-  patchPhase = ''
+  postPatch = ''
     sed -i -e s,Data/,$out/share/$pname/,g \
       -e s,Data:,$out/share/$pname/,g \
       src/*.cpp
   '';
 
   installPhase = ''
-    mkdir -p $out/bin $out/share/doc/$pname
+    mkdir -p $out/bin $out/share
     cp build/blackshades $out/bin
     cp -R Data $out/share/$pname
-    cp README.md $out/share/doc/$pname
   '';
 
   meta = {
diff --git a/nixpkgs/pkgs/games/brutalmaze/default.nix b/nixpkgs/pkgs/games/brutalmaze/default.nix
new file mode 100644
index 000000000000..d9c904d99a3b
--- /dev/null
+++ b/nixpkgs/pkgs/games/brutalmaze/default.nix
@@ -0,0 +1,30 @@
+{ lib, fetchFromSourcehut, python3Packages }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "brutalmaze";
+  version = "1.1.1";
+  format = "flit";
+  disabled = python3Packages.pythonOlder "3.7";
+
+  src = fetchFromSourcehut {
+    owner = "~cnx";
+    repo = pname;
+    rev = version;
+    sha256 = "1m105iq378mypj64syw59aldbm6bj4ma4ynhc50gafl656fabg4y";
+  };
+
+  propagatedBuildInputs = with python3Packages; [
+    loca
+    palace
+    pygame
+  ];
+
+  doCheck = false; # there's no test
+
+  meta = with lib; {
+    description = "Minimalist thrilling shoot 'em up game";
+    homepage = "https://brutalmaze.rtfd.io";
+    license = licenses.agpl3Plus;
+    maintainers = [ maintainers.McSinyx ];
+  };
+}
diff --git a/nixpkgs/pkgs/games/cataclysm-dda/common.nix b/nixpkgs/pkgs/games/cataclysm-dda/common.nix
index d91db073ff61..ccba8e23d5ae 100644
--- a/nixpkgs/pkgs/games/cataclysm-dda/common.nix
+++ b/nixpkgs/pkgs/games/cataclysm-dda/common.nix
@@ -101,7 +101,7 @@ stdenv.mkDerivation {
     '';
     homepage = "https://cataclysmdda.org/";
     license = licenses.cc-by-sa-30;
-    maintainers = with maintainers; [ mnacamura ];
+    maintainers = with maintainers; [ mnacamura DeeUnderscore ];
     platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/games/cataclysm-dda/stable.nix b/nixpkgs/pkgs/games/cataclysm-dda/stable.nix
index ba475ac9601d..a11837447f79 100644
--- a/nixpkgs/pkgs/games/cataclysm-dda/stable.nix
+++ b/nixpkgs/pkgs/games/cataclysm-dda/stable.nix
@@ -10,15 +10,20 @@ let
   };
 
   self = common.overrideAttrs (common: rec {
-    version = "0.F";
+    version = "0.F-1";
 
     src = fetchFromGitHub {
       owner = "CleverRaven";
       repo = "Cataclysm-DDA";
       rev = version;
-      sha256 = "1jid8lcl04y768b3psj1ifhx96lmd6fn1j2wzxhl4ic7ra66p2z3";
+      sha256 = "sha256-bVIln8cLZ15qXpW5iB8Odqk0OQbNLLM8OiKybTzARA0=";
     };
 
+    makeFlags = common.makeFlags ++ [
+      # Makefile declares version as 0.F, even under 0.F-1
+      "VERSION=${version}"
+    ];
+
     meta = common.meta // {
       maintainers = with lib.maintainers;
       common.meta.maintainers ++ [ skeidel ];
diff --git a/nixpkgs/pkgs/games/cbonsai/default.nix b/nixpkgs/pkgs/games/cbonsai/default.nix
index 98b55729f0e8..0425f4f56b3b 100644
--- a/nixpkgs/pkgs/games/cbonsai/default.nix
+++ b/nixpkgs/pkgs/games/cbonsai/default.nix
@@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ ncurses ];
+
+  makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
   installFlags = [ "PREFIX=$(out)" ];
 
   passthru.updateScript = nix-update-script { attrPath = pname; };
diff --git a/nixpkgs/pkgs/games/cgoban/default.nix b/nixpkgs/pkgs/games/cgoban/default.nix
new file mode 100644
index 000000000000..162de112fb55
--- /dev/null
+++ b/nixpkgs/pkgs/games/cgoban/default.nix
@@ -0,0 +1,38 @@
+{ lib
+, stdenv
+, writers
+, adoptopenjdk-jre-bin
+, fetchurl
+, makeWrapper
+}:
+stdenv.mkDerivation rec {
+  pname = "cgoban";
+  version = "3.5.23";
+
+  nativeBuildInputs = [ adoptopenjdk-jre-bin makeWrapper ];
+
+  src = fetchurl {
+    url = "https://web.archive.org/web/20210116034119/https://files.gokgs.com/javaBin/cgoban.jar";
+    sha256 = "0srw1hqr9prgr9dagfbh2j6p9ivaj40kdpyhs6zjkg7lhnnrrrcv";
+  };
+
+  dontConfigure = true;
+  dontUnpack = true;
+  dontBuild = true;
+  dontPatchELF = true;
+
+  installPhase = ''
+    runHook preInstall
+    install -D $src $out/lib/cgoban.jar
+    makeWrapper ${adoptopenjdk-jre-bin}/bin/java $out/bin/cgoban --add-flags "-jar $out/lib/cgoban.jar"
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Client for the KGS Go Server";
+    homepage = "https://www.gokgs.com/";
+    license = licenses.free;
+    maintainers = with maintainers; [ savannidgerinel ];
+    platforms = adoptopenjdk-jre-bin.meta.platforms;
+  };
+}
diff --git a/nixpkgs/pkgs/games/crawl/default.nix b/nixpkgs/pkgs/games/crawl/default.nix
index 11ac23fcef3a..6595f1ee0dc5 100644
--- a/nixpkgs/pkgs/games/crawl/default.nix
+++ b/nixpkgs/pkgs/games/crawl/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   name = "crawl-${version}${lib.optionalString tileMode "-tiles"}";
-  version = "0.26.1";
+  version = "0.27.0";
 
   src = fetchFromGitHub {
     owner = "crawl";
     repo = "crawl";
     rev = version;
-    sha256 = "sha256-lh0lCMZRH+c6jSHjLFDU3wjy6Oyp59ZcPaqg5PWVrkk=";
+    sha256 = "sha256-TTdzFWoWn9OfxosEsxUjmDtPmtHukpT0J/0y4kUvBvo=";
   };
 
   # Patch hard-coded paths and remove force library builds
diff --git a/nixpkgs/pkgs/games/crispy-doom/default.nix b/nixpkgs/pkgs/games/crispy-doom/default.nix
index 04c0868510fe..987d0005d24e 100644
--- a/nixpkgs/pkgs/games/crispy-doom/default.nix
+++ b/nixpkgs/pkgs/games/crispy-doom/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "crispy-doom";
-  version = "5.10.1";
+  version = "5.10.2";
 
   src = fetchFromGitHub {
     owner = "fabiangreffrath";
     repo = pname;
     rev = "${pname}-${version}";
-    sha256 = "sha256-5doytVxemqaXWXiqDSQUEAe71xmY0pOLASj/NJNyM5g=";
+    sha256 = "sha256-NUBodIojvlw46yLZ9Bn2pCpBwyVW8noOHQMM4uGmO3U=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/games/dhewm3/default.nix b/nixpkgs/pkgs/games/dhewm3/default.nix
index b5caa603eaf8..a87236c48f4a 100644
--- a/nixpkgs/pkgs/games/dhewm3/default.nix
+++ b/nixpkgs/pkgs/games/dhewm3/default.nix
@@ -1,15 +1,15 @@
 { lib, stdenv, fetchFromGitHub, cmake, SDL2, libGLU, libGL, zlib, libjpeg, libogg, libvorbis
-, openal, curl }:
+, openal, curl, copyDesktopItems, makeDesktopItem }:
 
 stdenv.mkDerivation rec {
   pname = "dhewm3";
-  version = "1.5.0";
+  version = "1.5.1";
 
   src = fetchFromGitHub {
     owner = "dhewm";
     repo = "dhewm3";
     rev = version;
-    sha256 = "0wsabvh1x4g12xmhzs2m2pgri2q9sir1w3m2r7fpy6kzxp32hqdk";
+    sha256 = "sha256-QI2INtNP+TSXdGSNxBcJ+lQK9dvDStrir20z3kCY8v4=";
   };
 
   # Add libGLU libGL linking
@@ -21,9 +21,18 @@ stdenv.mkDerivation rec {
     cd "$(ls -d dhewm3-*.src)"/neo
   '';
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [ cmake copyDesktopItems ];
   buildInputs = [ SDL2 libGLU libGL zlib libjpeg libogg libvorbis openal curl ];
 
+  desktopItems = [
+    (makeDesktopItem {
+      name = "dhewm3";
+      exec = "dhewm3";
+      desktopName = "Doom 3";
+      categories = "Game;";
+    })
+  ];
+
   hardeningDisable = [ "format" ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/games/duckmarines/default.nix b/nixpkgs/pkgs/games/duckmarines/default.nix
index ca2a74391416..af34742b9fd8 100644
--- a/nixpkgs/pkgs/games/duckmarines/default.nix
+++ b/nixpkgs/pkgs/games/duckmarines/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ lua love ];
 
-  phases = [ "installPhase" ];
+  dontUnpack = true;
 
   installPhase =
   ''
diff --git a/nixpkgs/pkgs/games/dwarf-fortress/soundsense.nix b/nixpkgs/pkgs/games/dwarf-fortress/soundsense.nix
index 5202c13b5b8a..8ed1e7be1b20 100644
--- a/nixpkgs/pkgs/games/dwarf-fortress/soundsense.nix
+++ b/nixpkgs/pkgs/games/dwarf-fortress/soundsense.nix
@@ -22,7 +22,6 @@ stdenv.mkDerivation rec {
     url = "http://df.zweistein.cz/soundsense/soundSense_${version}.zip";
     sha256 = "1gkrs69l3xsh858yjp204ddp29m668j630akm7arssc9359wxqkk";
   };
-  phases = [ "unpackPhase" "buildPhase" "installPhase" ];
   nativeBuildInputs = [ dos2unix ];
   buildPhase = ''
     dos2unix soundSense.sh
diff --git a/nixpkgs/pkgs/games/dwarf-fortress/twbt/default.nix b/nixpkgs/pkgs/games/dwarf-fortress/twbt/default.nix
index 7882cf06a074..7d2816d97a4a 100644
--- a/nixpkgs/pkgs/games/dwarf-fortress/twbt/default.nix
+++ b/nixpkgs/pkgs/games/dwarf-fortress/twbt/default.nix
@@ -52,8 +52,8 @@ let
     };
     "0.47.05" = {
       twbtRelease = "6.xx";
-      dfhackRelease = "0.47.05-beta1";
-      sha256 = "sha256-Y6G0qBMHvotp/oyiqANlzXZVklL270dhskd135PnE9Q=";
+      dfhackRelease = "0.47.05-r1";
+      sha256 = "1nqhaf7271bm9rq9dmilhhk9q7v3841d0rv4y3fid40vfi4gpi3p";
       prerelease = true;
     };
   };
diff --git a/nixpkgs/pkgs/games/ecwolf/default.nix b/nixpkgs/pkgs/games/ecwolf/default.nix
new file mode 100644
index 000000000000..251b51df43a8
--- /dev/null
+++ b/nixpkgs/pkgs/games/ecwolf/default.nix
@@ -0,0 +1,54 @@
+{ stdenv, lib, fetchurl, makeDesktopItem, copyDesktopItems, cmake, pkg-config, zlib, bzip2, libjpeg, SDL, SDL_mixer, gtk2 }:
+
+stdenv.mkDerivation rec {
+  pname = "ecwolf";
+  version = "1.3.3";
+
+  src = fetchurl {
+    url = "https://maniacsvault.net/ecwolf/files/ecwolf/1.x/${pname}-${version}-src.tar.xz";
+    sha256 = "1sbdv672dz47la5a5qwmdi1v258k9kc5dkx7cdj2b6gk8nbm2srl";
+  };
+
+  nativeBuildInputs = [ cmake copyDesktopItems pkg-config ];
+  buildInputs = [ zlib bzip2 libjpeg SDL SDL_mixer gtk2 ];
+
+  desktopItems = [
+    (makeDesktopItem {
+      name = "ecwolf";
+      exec = "ecwolf";
+      comment = "Enhanced Wolfenstein 3D port";
+      desktopName = "Wolfenstein 3D";
+      categories = "Game;";
+    })
+  ];
+
+  # Change the location where the ecwolf executable looks for the ecwolf.pk3
+  # file.
+  #
+  # By default, it expects the PK3 file to reside in the same directory as the
+  # executable, which is not desirable.
+  # We will adjust the code so that it can be retrieved from the share/
+  # directory.
+
+  preConfigure = ''
+    sed -i -e "s|ecwolf.pk3|$out/share/ecwolf/ecwolf.pk3|" src/version.h
+  ''
+  # Disable app bundle creation on Darwin. It fails, and it is not needed to run it from the Nix store
+  + lib.optionalString stdenv.isDarwin ''
+    sed -i -e "s|include(\''${CMAKE_CURRENT_SOURCE_DIR}/macosx/install.txt)||" src/CMakeLists.txt
+  '';
+
+  # Install the required PK3 file in the required data directory
+  postInstall = ''
+    mkdir -p $out/share/ecwolf
+    cp ecwolf.pk3 $out/share/ecwolf
+  '';
+
+  meta = with lib; {
+    description = "Enhanched SDL-based port of Wolfenstein 3D for various platforms";
+    homepage = "https://maniacsvault.net/ecwolf/";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ sander ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/games/eduke32/default.nix b/nixpkgs/pkgs/games/eduke32/default.nix
index e15cf241f759..8c7a79ff9822 100644
--- a/nixpkgs/pkgs/games/eduke32/default.nix
+++ b/nixpkgs/pkgs/games/eduke32/default.nix
@@ -16,13 +16,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "eduke32";
-  version = "20200907";
-  rev = "9257";
-  revExtra = "93f62bbad";
+  version = "20210722";
+  rev = "9484";
+  revExtra = "f3fea8c15";
 
   src = fetchurl {
-    url = "http://dukeworld.duke4.net/eduke32/synthesis/latest/eduke32_src_${version}-${rev}-${revExtra}.tar.xz";
-    sha256 = "972630059be61ef9564a241b84ef2ee4f69fc85c19ee36ce46052ff2f1ce3bf9";
+    url = "http://dukeworld.duke4.net/eduke32/synthesis/${version}-${rev}-${revExtra}/eduke32_src_${version}-${rev}-${revExtra}.tar.xz";
+    sha256 = "0fdl2i465cl5x7129772ksx97lvim98m9009q5cfmf6scagj9pvz";
   };
 
   buildInputs = [ alsa-lib flac gtk2 libvorbis libvpx libGL libGLU SDL2 SDL2_mixer ];
diff --git a/nixpkgs/pkgs/games/egoboo/default.nix b/nixpkgs/pkgs/games/egoboo/default.nix
index 56ebcb1444ed..158e81d91288 100644
--- a/nixpkgs/pkgs/games/egoboo/default.nix
+++ b/nixpkgs/pkgs/games/egoboo/default.nix
@@ -5,10 +5,11 @@ stdenv.mkDerivation rec {
   # they fix more, because it even has at least one bugs less than 2.7.4.
   # 2.8.0 does not start properly on linux
   # They just starting making that 2.8.0 work on linux.
-  name = "egoboo-2.7.3";
+  pname = "egoboo";
+  version = "2.7.3";
 
   src = fetchurl {
-    url = "mirror://sourceforge/egoboo/${name}.tar.gz";
+    url = "mirror://sourceforge/egoboo/egoboo-${version}.tar.gz";
     sha256 = "18cjgp9kakrsa90jcb4cl8hhh9k57mi5d1sy5ijjpd3p7zl647hd";
   };
 
@@ -22,10 +23,10 @@ stdenv.mkDerivation rec {
   # The user will need to have all the files in '.' to run egoboo, with
   # writeable controls.txt and setup.txt
   installPhase = ''
-    mkdir -p $out/share/${name}
-    cp -v game/egoboo $out/share/${name}
+    mkdir -p $out/share/egoboo-${version}
+    cp -v game/egoboo $out/share/egoboo-${version}
     cd ..
-    cp -v -Rd controls.txt setup.txt players modules basicdat $out/share/${name}
+    cp -v -Rd controls.txt setup.txt players modules basicdat $out/share/egoboo-${version}
   '';
 
   buildInputs = [ libGLU libGL SDL SDL_mixer SDL_image SDL_ttf ];
diff --git a/nixpkgs/pkgs/games/factorio/versions.json b/nixpkgs/pkgs/games/factorio/versions.json
index 98c58191f164..d1175d9670e6 100644
--- a/nixpkgs/pkgs/games/factorio/versions.json
+++ b/nixpkgs/pkgs/games/factorio/versions.json
@@ -2,56 +2,56 @@
   "x86_64-linux": {
     "alpha": {
       "experimental": {
-        "name": "factorio_alpha_x64-1.1.36.tar.xz",
+        "name": "factorio_alpha_x64-1.1.39.tar.xz",
         "needsAuth": true,
-        "sha256": "1x9a2lv6zbqawqlxg8bcbx04hjy0pq40macfa4sqi8w6h14wgww8",
+        "sha256": "1wyvk0niyppg7h9ayfsiy6x309bjwsbgf62nah13aps89jk8n1pc",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.36/alpha/linux64",
-        "version": "1.1.36"
+        "url": "https://factorio.com/get-download/1.1.39/alpha/linux64",
+        "version": "1.1.39"
       },
       "stable": {
-        "name": "factorio_alpha_x64-1.1.35.tar.xz",
+        "name": "factorio_alpha_x64-1.1.38.tar.xz",
         "needsAuth": true,
-        "sha256": "1svjjpyffdrmll1b3icsrikfi4v2r1z6j7iqq0v36iq0zw7vw3bk",
+        "sha256": "0cjhfyz4j06yn08n239ajjjpgykh39hzifhmd0ygr5szw9gdc851",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.35/alpha/linux64",
-        "version": "1.1.35"
+        "url": "https://factorio.com/get-download/1.1.38/alpha/linux64",
+        "version": "1.1.38"
       }
     },
     "demo": {
       "experimental": {
-        "name": "factorio_demo_x64-1.1.35.tar.xz",
+        "name": "factorio_demo_x64-1.1.37.tar.xz",
         "needsAuth": false,
-        "sha256": "0yqb4gf2avpxr4vwafws9pv74xyd9g84zggfikfc801ldc7sp29f",
+        "sha256": "06qwx9wd3990d3256y9y5qsxa0936076jgwhinmrlvjp9lxwl4ly",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.35/demo/linux64",
-        "version": "1.1.35"
+        "url": "https://factorio.com/get-download/1.1.37/demo/linux64",
+        "version": "1.1.37"
       },
       "stable": {
-        "name": "factorio_demo_x64-1.1.35.tar.xz",
+        "name": "factorio_demo_x64-1.1.38.tar.xz",
         "needsAuth": false,
-        "sha256": "0yqb4gf2avpxr4vwafws9pv74xyd9g84zggfikfc801ldc7sp29f",
+        "sha256": "0y53w01dyfmavw1yxbjqjiirmvw32bnf9bqz0isnd72dvkg0kziv",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.35/demo/linux64",
-        "version": "1.1.35"
+        "url": "https://factorio.com/get-download/1.1.38/demo/linux64",
+        "version": "1.1.38"
       }
     },
     "headless": {
       "experimental": {
-        "name": "factorio_headless_x64-1.1.36.tar.xz",
+        "name": "factorio_headless_x64-1.1.39.tar.xz",
         "needsAuth": false,
-        "sha256": "1s8g030xp5nrlmnn21frrd8n4nd7jjmb5hbpj1vhxjrk6vpijh24",
+        "sha256": "06figqmyd5bgwhpppziag4hs7x3ixr7wd8186cza3ly57bibha2m",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.36/headless/linux64",
-        "version": "1.1.36"
+        "url": "https://factorio.com/get-download/1.1.39/headless/linux64",
+        "version": "1.1.39"
       },
       "stable": {
-        "name": "factorio_headless_x64-1.1.35.tar.xz",
+        "name": "factorio_headless_x64-1.1.38.tar.xz",
         "needsAuth": false,
-        "sha256": "0xpiw89ad6cfpc576g5jpsyzwjncs3jrx01056p52wj01747fm94",
+        "sha256": "1c929pa9ifz0cvmx9k5yd267hjd5p7fdbln0czl3dq1vlskk1w71",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.35/headless/linux64",
-        "version": "1.1.35"
+        "url": "https://factorio.com/get-download/1.1.38/headless/linux64",
+        "version": "1.1.38"
       }
     }
   }
diff --git a/nixpkgs/pkgs/games/fheroes2/default.nix b/nixpkgs/pkgs/games/fheroes2/default.nix
index ea154db121ee..fabfdeea8ce6 100644
--- a/nixpkgs/pkgs/games/fheroes2/default.nix
+++ b/nixpkgs/pkgs/games/fheroes2/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fheroes2";
-  version = "0.9.5";
+  version = "0.9.6";
 
   src = fetchFromGitHub {
     owner = "ihhub";
     repo = "fheroes2";
     rev = version;
-    sha256 = "sha256-fqV2u6vChzU8387aQGf3OKeiWX188GouYZr4ZUmXWxs=";
+    sha256 = "sha256-zm7yR87pJY26USHocT7HnPNQK5xYjFPNo4RT2Lr3C/k=";
   };
 
   buildInputs = [ gettext libpng SDL2 SDL2_image SDL2_mixer SDL2_ttf zlib ];
diff --git a/nixpkgs/pkgs/games/flare/default.nix b/nixpkgs/pkgs/games/flare/default.nix
index 8cd70aed6143..9b4b6848aea0 100644
--- a/nixpkgs/pkgs/games/flare/default.nix
+++ b/nixpkgs/pkgs/games/flare/default.nix
@@ -1,7 +1,7 @@
 { lib, buildEnv, callPackage, makeWrapper, Cocoa }:
 
 buildEnv {
-  name = "flare-1.12rc2";
+  name = "flare-1.12";
 
   paths = [
     (callPackage ./engine.nix { inherit Cocoa; })
diff --git a/nixpkgs/pkgs/games/flare/engine.nix b/nixpkgs/pkgs/games/flare/engine.nix
index 1f1f35a3762d..fc7415ba3ec3 100644
--- a/nixpkgs/pkgs/games/flare/engine.nix
+++ b/nixpkgs/pkgs/games/flare/engine.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "flare-engine";
-  version = "1.12rc2";
+  version = "1.12";
 
   src = fetchFromGitHub {
     owner = "flareteam";
     repo = pname;
     rev = "v${version}";
-    sha256 = "10il9dpbcka1w5glmhv48bqwww44csmhq426lvsc7z84444gvvgq";
+    sha256 = "0swav6fzz970wj4iic3b7y06haa05720s2wivc8w7wcw9nzcac7j";
   };
 
   patches = [ ./desktop.patch ];
diff --git a/nixpkgs/pkgs/games/flare/game.nix b/nixpkgs/pkgs/games/flare/game.nix
index 10e27b4d39c0..9903f0b58204 100644
--- a/nixpkgs/pkgs/games/flare/game.nix
+++ b/nixpkgs/pkgs/games/flare/game.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "flare-game";
-  version = "1.12rc2";
+  version = "1.12";
 
   src = fetchFromGitHub {
     owner = "flareteam";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0k9fnbaqfgmih8bd0sh3kbk6f6v74i95wrbkij48gp48pq8yqbf9";
+    sha256 = "15k9r7w587pvkzrln0670hhq5fzif8k7xmrhb0nl3z3fi6dw3mmc";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/games/flightgear/default.nix b/nixpkgs/pkgs/games/flightgear/default.nix
index 0996d4bd512b..bfbb705da387 100644
--- a/nixpkgs/pkgs/games/flightgear/default.nix
+++ b/nixpkgs/pkgs/games/flightgear/default.nix
@@ -17,7 +17,7 @@ let
       sha256 = "sha256-/KFumHRkmRvsU/L1i11jG/KbqobnOEP7l4lyPMKHycA=";
     };
 
-    phases = [ "installPhase" ];
+    dontUnpack = true;
 
     installPhase = ''
       mkdir -p "$out/share/FlightGear"
diff --git a/nixpkgs/pkgs/games/freeciv/default.nix b/nixpkgs/pkgs/games/freeciv/default.nix
index 1560a45b0618..051266fa8007 100644
--- a/nixpkgs/pkgs/games/freeciv/default.nix
+++ b/nixpkgs/pkgs/games/freeciv/default.nix
@@ -1,23 +1,20 @@
 { lib, stdenv, fetchFromGitHub, autoreconfHook, lua5_3, pkg-config, python3
 , zlib, bzip2, curl, xz, gettext, libiconv
 , sdlClient ? true, SDL, SDL_mixer, SDL_image, SDL_ttf, SDL_gfx, freetype, fluidsynth
-, gtkClient ? false, gtk3
+, gtkClient ? stdenv.isLinux, gtk3
 , qtClient ? false, qt5
 , server ? true, readline
 , enableSqlite ? true, sqlite
 }:
 
-let
-  inherit (lib) optional optionals;
-
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "freeciv";
   version = "2.6.5";
 
   src = fetchFromGitHub {
     owner = "freeciv";
     repo = "freeciv";
-    rev = "R${builtins.replaceStrings [ "." ] [ "_" ] version}";
+    rev = "R${lib.replaceStrings [ "." ] [ "_" ] version}";
     sha256 = "sha256-7KVtBGihABpcbUm5ac2fuBVaDvbucEJSREPulGUdnUE=";
   };
 
@@ -29,42 +26,39 @@ in stdenv.mkDerivation rec {
   '';
 
   nativeBuildInputs = [ autoreconfHook pkg-config ]
-    ++ optional qtClient [ qt5.wrapQtAppsHook ];
+    ++ lib.optional qtClient [ qt5.wrapQtAppsHook ];
 
   buildInputs = [ lua5_3 zlib bzip2 curl xz gettext libiconv ]
-    ++ optionals sdlClient [ SDL SDL_mixer SDL_image SDL_ttf SDL_gfx freetype fluidsynth ]
-    ++ optionals gtkClient [ gtk3 ]
-    ++ optionals qtClient  [ qt5.qtbase ]
-    ++ optional server readline
-    ++ optional enableSqlite sqlite;
+    ++ lib.optionals sdlClient [ SDL SDL_mixer SDL_image SDL_ttf SDL_gfx freetype fluidsynth ]
+    ++ lib.optionals gtkClient [ gtk3 ]
+    ++ lib.optionals qtClient  [ qt5.qtbase ]
+    ++ lib.optional server readline
+    ++ lib.optional enableSqlite sqlite;
 
   dontWrapQtApps = true;
 
   configureFlags = [ "--enable-shared" ]
-    ++ optional sdlClient "--enable-client=sdl"
-    ++ optionals qtClient [
+    ++ lib.optional sdlClient "--enable-client=sdl"
+    ++ lib.optionals qtClient [
       "--enable-client=qt"
       "--with-qt5-includes=${qt5.qtbase.dev}/include"
-    ]
-    ++ optional enableSqlite "--enable-fcdb=sqlite3"
-    ++ optional (!gtkClient) "--enable-fcmp=cli"
-    ++ optional (!server)    "--disable-server";
+    ] ++ lib.optionals gtkClient [ "--enable-client=gtk3.22" ]
+    ++ lib.optional enableSqlite "--enable-fcdb=sqlite3"
+    ++ lib.optional (!gtkClient) "--enable-fcmp=cli"
+    ++ lib.optional (!server)    "--disable-server";
 
   enableParallelBuilding = true;
 
   meta = with lib; {
     description = "Multiplayer (or single player), turn-based strategy game";
-
     longDescription = ''
       Freeciv is a Free and Open Source empire-building strategy game
       inspired by the history of human civilization. The game commences in
       prehistory and your mission is to lead your tribe from the stone age
       to the space age...
     '';
-
     homepage = "http://www.freeciv.org"; # http only
     license = licenses.gpl2;
-
     maintainers = with maintainers; [ pierron ];
     platforms = platforms.unix;
     hydraPlatforms = platforms.linux; # sdl-config times out on darwin
diff --git a/nixpkgs/pkgs/games/freedroidrpg/default.nix b/nixpkgs/pkgs/games/freedroidrpg/default.nix
index 53b008d11dde..e0582c524eca 100644
--- a/nixpkgs/pkgs/games/freedroidrpg/default.nix
+++ b/nixpkgs/pkgs/games/freedroidrpg/default.nix
@@ -53,7 +53,7 @@ in stdenv.mkDerivation {
       </para>
     '';
 
-    homepage = "http://www.freedroid.org/";
+    homepage = "https://www.freedroid.org/";
 
     license = licenses.gpl2Plus;
 
diff --git a/nixpkgs/pkgs/games/freeorion/default.nix b/nixpkgs/pkgs/games/freeorion/default.nix
index dea5190d976e..5b4407038015 100644
--- a/nixpkgs/pkgs/games/freeorion/default.nix
+++ b/nixpkgs/pkgs/games/freeorion/default.nix
@@ -24,14 +24,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "0.4.10.1";
+  version = "0.4.10.2";
   pname = "freeorion";
 
   src = fetchFromGitHub {
     owner = "freeorion";
     repo = "freeorion";
     rev = "v${version}";
-    sha256 = "sha256-Itt2JIStx+JsnMMBvbeJXSEJpaS/pd1UMvPGNd50k7I=";
+    sha256 = "sha256-k/YwTg0N2b70igfqRuFl/zwxMQhD2QjbapsazYbi0Ik=";
   };
 
   buildInputs = [
@@ -59,7 +59,7 @@ stdenv.mkDerivation rec {
     makeWrapper
   ];
 
-  # as of 0.4.10.1 FreeOrion doesn't work with "-DOpenGL_GL_PREFERENCE=GLVND"
+  # as of 0.4.10.2 FreeOrion doesn't work with "-DOpenGL_GL_PREFERENCE=GLVND"
   cmakeFlags = [ "-DOpenGL_GL_PREFERENCE=LEGACY" ];
 
   postInstall = ''
diff --git a/nixpkgs/pkgs/games/gnonograms/default.nix b/nixpkgs/pkgs/games/gnonograms/default.nix
new file mode 100644
index 000000000000..7a696001a15f
--- /dev/null
+++ b/nixpkgs/pkgs/games/gnonograms/default.nix
@@ -0,0 +1,64 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, vala
+, meson
+, ninja
+, pkg-config
+, desktop-file-utils
+, appstream
+, python3
+, shared-mime-info
+, wrapGAppsHook
+, gtk3
+, pantheon
+, libgee
+}:
+
+stdenv.mkDerivation rec {
+  pname = "gnonograms";
+  version = "1.4.5";
+
+  src = fetchFromGitHub {
+    owner = "jeremypw";
+    repo = "gnonograms";
+    rev = "v${version}";
+    sha256 = "1ly3inp6dvjrixdysz5hdfwlhbs49ks0lf8062z2iq6gaf8ivkb2";
+  };
+
+  postPatch = ''
+    patchShebangs meson/post_install.py
+  '';
+
+  nativeBuildInputs = [
+    vala
+    meson
+    ninja
+    pkg-config
+    desktop-file-utils
+    appstream
+    python3
+    shared-mime-info
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    gtk3
+    pantheon.granite
+    libgee
+  ];
+
+  meta = with lib; {
+    description = "Nonograms puzzle game";
+    longDescription = ''
+      An implementation of the Japanese logic puzzle "Nonograms" written in
+      Vala, allowing the user to:
+      * Draw puzzles
+      * Generate random puzzles of chosen difficulty
+    '';
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ fgaz ];
+    homepage = "https://github.com/jeremypw/gnonograms";
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/games/gnuchess/default.nix b/nixpkgs/pkgs/games/gnuchess/default.nix
index 9f7d1684a5c4..c150ba4ffee4 100644
--- a/nixpkgs/pkgs/games/gnuchess/default.nix
+++ b/nixpkgs/pkgs/games/gnuchess/default.nix
@@ -3,10 +3,10 @@ let
   s = # Generated upstream information
   rec {
     baseName="gnuchess";
-    version="6.2.8";
+    version="6.2.9";
     name="${baseName}-${version}";
     url="mirror://gnu/chess/${name}.tar.gz";
-    sha256="0irqb0wl30c2i1rs8f6mm1c89l7l9nxxv7533lr408h1m36lc16m";
+    sha256="sha256-3fzCC911aQCpq2xCx9r5CiiTv38ZzjR0IM42uuvEGJA=";
   };
   buildInputs = [
     flex
diff --git a/nixpkgs/pkgs/games/grapejuice/default.nix b/nixpkgs/pkgs/games/grapejuice/default.nix
index 586d93151e2c..35a55ba307ed 100644
--- a/nixpkgs/pkgs/games/grapejuice/default.nix
+++ b/nixpkgs/pkgs/games/grapejuice/default.nix
@@ -15,13 +15,13 @@
 
 python3Packages.buildPythonApplication rec  {
   pname = "grapejuice";
-  version = "3.40.14";
+  version = "3.60.14";
 
   src = fetchFromGitLab {
     owner = "BrinkerVII";
     repo = "grapejuice";
-    rev = "v${version}";
-    sha256 = "1bmkkmi1gx5kc39cjnz5bzwqaicxs0zb6bcv4iny9qccbqf3icrd";
+    rev = "8a86aa31444f6afa97e4ab4cc2c651b1243b8349";
+    sha256 = "sha256-2+zG0O5ZW3rA4c83HXWsQ/V72KwHgrynDH0i3rLBWwU=";
   };
 
   nativeBuildInputs = [
@@ -53,9 +53,6 @@ python3Packages.buildPythonApplication rec  {
   ];
 
   postPatch = ''
-    substituteInPlace requirements.txt \
-      --replace "PyGObject-stubs" ""
-
     substituteInPlace src/grapejuice_common/assets/desktop/grapejuice.desktop \
       --replace \$GRAPEJUICE_EXECUTABLE "$out/bin/grapejuice" \
       --replace \$GRAPEJUICE_ICON grapejuice
diff --git a/nixpkgs/pkgs/games/gzdoom/default.nix b/nixpkgs/pkgs/games/gzdoom/default.nix
index 8ab54468c001..787184273fc3 100644
--- a/nixpkgs/pkgs/games/gzdoom/default.nix
+++ b/nixpkgs/pkgs/games/gzdoom/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitHub, cmake, makeWrapper, openal, fluidsynth_1
 , soundfont-fluid, libGL, SDL2, bzip2, zlib, libjpeg, libsndfile, mpg123
-, game-music-emu, pkg-config }:
+, game-music-emu, pkg-config, copyDesktopItems, makeDesktopItem }:
 
 let
   zmusic-src = fetchFromGitHub {
@@ -38,7 +38,7 @@ let
       fetchSubmodules = true;
     };
 
-    nativeBuildInputs = [ cmake makeWrapper pkg-config ];
+    nativeBuildInputs = [ cmake makeWrapper pkg-config copyDesktopItems ];
     buildInputs = [
       SDL2
       libGL
@@ -55,7 +55,18 @@ let
 
     NIX_CFLAGS_LINK = "-lopenal -lfluidsynth";
 
+    desktopItems = [
+      (makeDesktopItem {
+        name = "gzdoom";
+        exec = "gzdoom";
+        desktopName = "GZDoom";
+        categories = "Game;";
+      })
+    ];
+
     installPhase = ''
+      runHook preInstall
+
       install -Dm755 gzdoom "$out/lib/gzdoom/gzdoom"
       for i in *.pk3; do
         install -Dm644 "$i" "$out/lib/gzdoom/$i"
@@ -68,6 +79,8 @@ let
       done
       mkdir $out/bin
       makeWrapper $out/lib/gzdoom/gzdoom $out/bin/gzdoom
+
+      runHook postInstall
     '';
 
     meta = with lib; {
diff --git a/nixpkgs/pkgs/games/ja2-stracciatella/default.nix b/nixpkgs/pkgs/games/ja2-stracciatella/default.nix
index 3ad5ba20c53d..ea363c969429 100644
--- a/nixpkgs/pkgs/games/ja2-stracciatella/default.nix
+++ b/nixpkgs/pkgs/games/ja2-stracciatella/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, fetchFromGitHub, cmake, python, rustPlatform, SDL2, fltk, rapidjson, gtest, Carbon, Cocoa }:
+{ stdenv, lib, fetchurl, fetchFromGitHub, cmake, python3, rustPlatform, SDL2, fltk, rapidjson, gtest, Carbon, Cocoa }:
 let
   version = "0.17.0";
   src = fetchFromGitHub {
@@ -28,7 +28,7 @@ stdenv.mkDerivation {
   pname = "ja2-stracciatella";
   inherit src version;
 
-  nativeBuildInputs = [ cmake python ];
+  nativeBuildInputs = [ cmake python3 ];
   buildInputs = [ SDL2 fltk rapidjson gtest ] ++ lib.optionals stdenv.isDarwin [ Carbon Cocoa ];
 
   patches = [
diff --git a/nixpkgs/pkgs/games/lgogdownloader/default.nix b/nixpkgs/pkgs/games/lgogdownloader/default.nix
index 4cb9d3a6c048..d92484cfef27 100644
--- a/nixpkgs/pkgs/games/lgogdownloader/default.nix
+++ b/nixpkgs/pkgs/games/lgogdownloader/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "lgogdownloader";
-  version = "3.7";
+  version = "3.8";
 
   src = fetchFromGitHub {
     owner = "Sude-";
     repo = "lgogdownloader";
     rev = "v${version}";
-    sha256 = "sha256-3xFlFokqdD1Nstu7TSUCaHUxvSodIb12QNVjmNgn9gs=";
+    sha256 = "sha256-LywFJCZevlhthOkAZo7JkXcPT9V6Zh28VD/MVQnMQjo=";
   };
 
   nativeBuildInputs = [ cmake pkg-config help2man ];
diff --git a/nixpkgs/pkgs/games/liberation-circuit/default.nix b/nixpkgs/pkgs/games/liberation-circuit/default.nix
new file mode 100644
index 000000000000..478fd606376a
--- /dev/null
+++ b/nixpkgs/pkgs/games/liberation-circuit/default.nix
@@ -0,0 +1,71 @@
+{ stdenv, lib, fetchFromGitHub, fetchurl, cmake, git, makeWrapper, allegro5, libGL }:
+
+stdenv.mkDerivation rec {
+  pname = "liberation-circuit";
+  version = "1.3";
+
+  src = fetchFromGitHub {
+    owner = "linleyh";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "BAv0wEJw4pK77jV+1bWPHeqyU/u0HtZLBF3ETUoQEAk=";
+  };
+
+  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 ];
+  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
+
+    install -D linux-packaging/liberation-circuit.desktop $out/share/applications/liberation-circuit.desktop
+    install -D linux-packaging/liberation-circuit.appdata.xml $out/share/metainfo/liberation-circuit.appdata.xml
+    install -D linux-packaging/icon-256px.png $out/share/pixmaps/liberation-circuit.png
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Real-time strategy game with programmable units";
+    longDescription = ''
+      Escape from a hostile computer system! Harvest data to create an armada of battle-processes to aid your escape! Take command directly and play the game as an RTS, or use the game's built-in editor and compiler to write your own unit AI in a simplified version of C.
+    '';
+    homepage = "https://linleyh.itch.io/liberation-circuit";
+    maintainers = with maintainers; [ angustrau ];
+    license = licenses.gpl3Only;
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/games/manaplus/default.nix b/nixpkgs/pkgs/games/manaplus/default.nix
index ff7bfae971a0..09edb32ad140 100644
--- a/nixpkgs/pkgs/games/manaplus/default.nix
+++ b/nixpkgs/pkgs/games/manaplus/default.nix
@@ -3,11 +3,11 @@
 , libGL, autoreconfHook }:
 stdenv.mkDerivation rec {
   pname = "manaplus";
-  version = "1.9.3.23";
+  version = "2.1.3.17";
 
   src = fetchurl {
     url = "https://download.evolonline.org/manaplus/download/${version}/manaplus-${version}.tar.xz";
-    sha256 = "1ky182p4svwdqm6cf7jbns85hidkhkhq4s17cs2p381f0klapfjz";
+    sha256 = "sha256-6NFqxUjEAp7aiIScyTOFh2tT7PfuTCKH1vTgPpTm+j0=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/games/mari0/default.nix b/nixpkgs/pkgs/games/mari0/default.nix
index cb3349960f02..55ef9f51d5b3 100644
--- a/nixpkgs/pkgs/games/mari0/default.nix
+++ b/nixpkgs/pkgs/games/mari0/default.nix
@@ -28,8 +28,6 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ lua love_11 zip ];
 
-  phases = [ "unpackPhase" "installPhase" ];
-
   installPhase =
   ''
     mkdir -p $out/bin $out/share/games/lovegames $out/share/applications
diff --git a/nixpkgs/pkgs/games/minecraft-server/default.nix b/nixpkgs/pkgs/games/minecraft-server/default.nix
index ee47a0ecdc21..2304acf446df 100644
--- a/nixpkgs/pkgs/games/minecraft-server/default.nix
+++ b/nixpkgs/pkgs/games/minecraft-server/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchurl, nixosTests, jre_headless }:
 stdenv.mkDerivation {
   pname = "minecraft-server";
-  version = "1.17";
+  version = "1.17.1";
 
   src = fetchurl {
-    url = "https://launcher.mojang.com/v1/objects/0a269b5f2c5b93b1712d0f5dc43b6182b9ab254e/server.jar";
+    url = "https://launcher.mojang.com/v1/objects/a16d67e5807f57fc4e550299cf20226194497dc2/server.jar";
     # sha1 because that comes from mojang via api
-    sha1 = "0a269b5f2c5b93b1712d0f5dc43b6182b9ab254e";
+    sha1 = "a16d67e5807f57fc4e550299cf20226194497dc2";
   };
 
   preferLocalBuild = true;
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
     chmod +x $out/bin/minecraft-server
   '';
 
-  phases = "installPhase";
+  dontUnpack = true;
 
   passthru = {
     tests = { inherit (nixosTests) minecraft-server; };
diff --git a/nixpkgs/pkgs/games/mrrescue/default.nix b/nixpkgs/pkgs/games/mrrescue/default.nix
index ae7519c948ba..2328c20ef91d 100644
--- a/nixpkgs/pkgs/games/mrrescue/default.nix
+++ b/nixpkgs/pkgs/games/mrrescue/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation {
 
   nativeBuildInputs = [ lua love makeWrapper ];
 
-  phases = "installPhase";
+  dontUnpack = true;
 
   installPhase =
   ''
diff --git a/nixpkgs/pkgs/games/multimc/default.nix b/nixpkgs/pkgs/games/multimc/default.nix
index aa32efaa9402..8e72b9588561 100644
--- a/nixpkgs/pkgs/games/multimc/default.nix
+++ b/nixpkgs/pkgs/games/multimc/default.nix
@@ -43,7 +43,10 @@ in mkDerivation rec {
       Allows you to have multiple, separate instances of Minecraft (each with their own mods, texture packs, saves, etc) and helps you manage them and their associated options with a simple interface.
     '';
     platforms = platforms.linux;
-    license = licenses.lgpl21Plus;
+    license = licenses.asl20;
+    # upstream don't want us to re-distribute this application:
+    # https://github.com/NixOS/nixpkgs/issues/131983
+    hydraPlatforms = [];
     maintainers = with maintainers; [ cleverca22 starcraft66 ];
   };
 }
diff --git a/nixpkgs/pkgs/games/nottetris2/default.nix b/nixpkgs/pkgs/games/nottetris2/default.nix
index 42e5a33cad79..179673c05b63 100644
--- a/nixpkgs/pkgs/games/nottetris2/default.nix
+++ b/nixpkgs/pkgs/games/nottetris2/default.nix
@@ -28,8 +28,6 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ zip makeWrapper ];
   buildInputs = [ love_0_7 ];
 
-  phases = [ "unpackPhase" "installPhase" ];
-
   installPhase =
   ''
     mkdir -p $out/bin $out/share/games/lovegames $out/share/applications
diff --git a/nixpkgs/pkgs/games/oh-my-git/default.nix b/nixpkgs/pkgs/games/oh-my-git/default.nix
index 542effa65965..881935279fe4 100644
--- a/nixpkgs/pkgs/games/oh-my-git/default.nix
+++ b/nixpkgs/pkgs/games/oh-my-git/default.nix
@@ -20,6 +20,7 @@
 , libglvnd
 , libpulseaudio
 , zlib
+, udev # for libudev
 }:
 
 stdenv.mkDerivation rec {
@@ -54,6 +55,7 @@ stdenv.mkDerivation rec {
     libglvnd
     libpulseaudio
     zlib
+    udev
   ];
 
   desktopItems = [
diff --git a/nixpkgs/pkgs/games/onscripter-en/default.nix b/nixpkgs/pkgs/games/onscripter-en/default.nix
index bcd33eb98928..82de61e41893 100644
--- a/nixpkgs/pkgs/games/onscripter-en/default.nix
+++ b/nixpkgs/pkgs/games/onscripter-en/default.nix
@@ -4,7 +4,8 @@
 
 
 stdenv.mkDerivation {
-  name = "onscripter-en-20110930";
+  pname = "onscripter-en";
+  version = "20110930";
 
   src = fetchurl {
     # The website is not available now.
diff --git a/nixpkgs/pkgs/games/openmw/default.nix b/nixpkgs/pkgs/games/openmw/default.nix
index 8e6ed3cdb823..cfde63ac7264 100644
--- a/nixpkgs/pkgs/games/openmw/default.nix
+++ b/nixpkgs/pkgs/games/openmw/default.nix
@@ -3,6 +3,7 @@
 , fetchFromGitHub
 , cmake
 , pkg-config
+, wrapQtAppsHook
 , openscenegraph
 , mygui
 , bullet
@@ -37,7 +38,7 @@ mkDerivation rec {
     sha256 = "0rm32zsmxvr6b0jjihfj543skhicbw5kg6shjx312clhlm035w2x";
   };
 
-  nativeBuildInputs = [ cmake pkg-config ];
+  nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ];
 
   buildInputs = [
     SDL2
@@ -57,8 +58,6 @@ mkDerivation rec {
     "-DOpenGL_GL_PREFERENCE=LEGACY"
   ];
 
-  dontWrapQtApps = true;
-
   meta = with lib; {
     description = "An unofficial open source engine reimplementation of the game Morrowind";
     homepage = "http://openmw.org";
diff --git a/nixpkgs/pkgs/games/openrct2/default.nix b/nixpkgs/pkgs/games/openrct2/default.nix
index 9e79a9005dcb..cafa51c8342f 100644
--- a/nixpkgs/pkgs/games/openrct2/default.nix
+++ b/nixpkgs/pkgs/games/openrct2/default.nix
@@ -5,13 +5,13 @@
 }:
 
 let
-  version = "0.3.4";
+  version = "0.3.4.1";
 
   openrct2-src = fetchFromGitHub {
     owner = "OpenRCT2";
     repo = "OpenRCT2";
     rev = "v${version}";
-    sha256 = "051dm7bw3l8qnppk5b7xvavl29xfadqn8aa18q49qdy5mjy6qgk4";
+    sha256 = "0zjqn47pbgd2nrrbdl3lqk1mcdvwvvpjby2g0gfv6ssfw72fji7d";
   };
 
   objects-src = fetchFromGitHub {
diff --git a/nixpkgs/pkgs/games/osu-lazer/bypass-tamper-detection.patch b/nixpkgs/pkgs/games/osu-lazer/bypass-tamper-detection.patch
deleted file mode 100644
index 576f83a96c57..000000000000
--- a/nixpkgs/pkgs/games/osu-lazer/bypass-tamper-detection.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff --git a/osu.Game/OsuGameBase.cs b/osu.Game/OsuGameBase.cs

-index 98f60d52d..a27ce47ca 100644

---- a/osu.Game/OsuGameBase.cs

-+++ b/osu.Game/OsuGameBase.cs

-@@ -135,17 +135,7 @@ public OsuGameBase()

-         [BackgroundDependencyLoader]

-         private void load()

-         {

--            try

--            {

--                using (var str = File.OpenRead(typeof(OsuGameBase).Assembly.Location))

--                    VersionHash = str.ComputeMD5Hash();

--            }

--            catch

--            {

--                // special case for android builds, which can't read DLLs from a packed apk.

--                // should eventually be handled in a better way.

--                VersionHash = $"{Version}-{RuntimeInfo.OS}".ComputeMD5Hash();

--            }

-+            VersionHash = "253aa3a3a356a71295bf5b018cd4fda1";

- 

-             Resources.AddStore(new DllResourceStore(OsuResources.ResourceAssembly));

- 

diff --git a/nixpkgs/pkgs/games/osu-lazer/default.nix b/nixpkgs/pkgs/games/osu-lazer/default.nix
index 55f9bfb75c30..0af9968f20e7 100644
--- a/nixpkgs/pkgs/games/osu-lazer/default.nix
+++ b/nixpkgs/pkgs/games/osu-lazer/default.nix
@@ -16,18 +16,15 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "osu-lazer";
-  version = "2021.720.0";
+  version = "2021.815.0";
 
   src = fetchFromGitHub {
     owner = "ppy";
     repo = "osu";
     rev = version;
-    sha256 = "I7UkbyH2i218d5RCq4al9Gr1C0MX339jFOeyKrKQ3b0=";
+    sha256 = "z5z/BKi9W4i7fbDmzKUscyNByDwe4nJXyUED8SROCrg=";
   };
 
-  patches = [ ./bypass-tamper-detection.patch ];
-  patchFlags = [ "--binary" "-p1" ];
-
   nativeBuildInputs = [
     dotnet-sdk dotnetPackages.Nuget makeWrapper
     # FIXME: Without `cacert`, we will suffer from https://github.com/NuGet/Announcements/issues/49
diff --git a/nixpkgs/pkgs/games/osu-lazer/deps.nix b/nixpkgs/pkgs/games/osu-lazer/deps.nix
index d2c19b08d03d..c037a2dcf8c0 100644
--- a/nixpkgs/pkgs/games/osu-lazer/deps.nix
+++ b/nixpkgs/pkgs/games/osu-lazer/deps.nix
@@ -1,1787 +1,361 @@
 { fetchNuGet }: [
-  (fetchNuGet {
-    name = "AutoMapper";
-    version = "10.1.1";
-    sha256 = "1l1p9g7f7finr8laklbm7h2c45k0swl47iq0ik68js5s6pzvd6f8";
-  })
-  (fetchNuGet {
-    name = "DeltaCompressionDotNet";
-    version = "2.0.0.0";
-    sha256 = "0zhj7m3zaf9wcg51385in9qg1xgkvp8yyzgq3r5k4sagm7y68aqy";
-  })
-  (fetchNuGet {
-    name = "DiffPlex";
-    version = "1.7.0";
-    sha256 = "09a8hkbx99iwikfl8war629945yv7i8llj9480dbc4kyp6qqlr00";
-  })
-  (fetchNuGet {
-    name = "DiscordRichPresence";
-    version = "1.0.175";
-    sha256 = "180sax976327d70qbinv07f65g3w2zbw80n49hckg8wd4rw209vd";
-  })
-  (fetchNuGet {
-    name = "FFmpeg.AutoGen";
-    version = "4.3.0.1";
-    sha256 = "0n6x57mnnvcjnrs8zyvy07h5zm4bcfy9gh4n4bvd9fx5ys4pxkvv";
-  })
-  (fetchNuGet {
-    name = "Fody";
-    version = "6.5.2";
-    sha256 = "0vq97mkfk5ijinwnhpkm212y69ik6cd5x0n61ssyxmz50q1vp84f";
-  })
-  (fetchNuGet {
-    name = "HidSharpCore";
-    version = "1.2.1.1";
-    sha256 = "1zkndglmz0s8rblfhnqcvv90rkq2i7lf4bc380g7z8h1avf2ikll";
-  })
-  (fetchNuGet {
-    name = "HtmlAgilityPack";
-    version = "1.11.34";
-    sha256 = "078dad719hkv806qgj1f0hkn7di5zvvm594awfn5bsgb9afq94a7";
-  })
-  (fetchNuGet {
-    name = "Humanizer";
-    version = "2.11.10";
-    sha256 = "057pqzvdxsbpnnc5f1xkqg7j3ywp68ggia3w74fgqp0158dm6rdk";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core";
-    version = "2.11.10";
-    sha256 = "0z7kmd5rh1sb6izq0vssk6c2p63n00xglk45s7ga9z18z9aaskxv";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core";
-    version = "2.2.0";
-    sha256 = "08mzg65y9d3zvq16rsmpapcdan71ggq2mpks6k777h3wlm2sh3p5";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core.af";
-    version = "2.11.10";
-    sha256 = "18fiixfvjwn8m1i8z2cz4aqykzylvfdqmmpwc2zcd8sr1a2xm86z";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core.ar";
-    version = "2.11.10";
-    sha256 = "009fpm4jd325izm82ipipsvlwd31824gvskda68bdwi4yqmycz4p";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core.az";
-    version = "2.11.10";
-    sha256 = "144b9diwprabxwgi5a98k5iy95ajq4p7356phdqi2lhzwbz7b6a9";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core.bg";
-    version = "2.11.10";
-    sha256 = "1b9y40gvq2kwnj5wa40f8cbywv79jkajcwknagrgr27sykpfadl2";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core.bn-BD";
-    version = "2.11.10";
-    sha256 = "18pn4jcp36ygcx283l3fi9bs5d7q1a384b72a10g5kl0qckn88ay";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core.cs";
-    version = "2.11.10";
-    sha256 = "03crw1lnzp32v2kcdmllkrsqh07r4ggw9gyc96qw7cv0nk5ch1h8";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core.da";
-    version = "2.11.10";
-    sha256 = "0glby12zra3y3yiq4cwq1m6wjcjl8f21v8ghi6s20r48glm8vzy9";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core.de";
-    version = "2.11.10";
-    sha256 = "0a35xrm1f9p74x0fkr52bw9sd54vdy9d5rnvf565yh8ww43xfk7b";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core.el";
-    version = "2.11.10";
-    sha256 = "0bhwwdx5vc48zikdsbrkghdhwahxxc2lkff0yaa5nxhbhasl84h8";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core.es";
-    version = "2.11.10";
-    sha256 = "07bw07qy8nyzlgxl7l2lxv9f78qmkfppgzx7iyq5ikrcnpvc7i9q";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core.fa";
-    version = "2.11.10";
-    sha256 = "00d4hc1pfmhfkc5wmx9p7i00lgi4r0k6wfcns9kl1syjxv3bs5f2";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core.fi-FI";
-    version = "2.11.10";
-    sha256 = "0z4is7pl5jpi4pfdvd2zvx5mp00bj26d9l9ksqyc0liax8nfzyik";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core.fr";
-    version = "2.11.10";
-    sha256 = "0sybpg6kbbhrnk7gxcdk7ppan89lsfqsdssrg4i1dm8w48wgicap";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core.fr-BE";
-    version = "2.11.10";
-    sha256 = "1s25c86nl9wpsn6fydzwv4rfmdx5sm0vgyd7xhw5344k20gazvhv";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core.he";
-    version = "2.11.10";
-    sha256 = "1nx61qkjd6p9r36dmnm4942khyv35fpdqmb2w69gz6463g4d7z29";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core.hr";
-    version = "2.11.10";
-    sha256 = "02jhcyj72prkqsjxyilv04drm0bknqjh2r893jlbsfi9vjg2zay3";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core.hu";
-    version = "2.11.10";
-    sha256 = "0yb6ly4s1wdyaf96h2dvifqyb575aid6irwl3qx8gcvrs0xpcxdp";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core.hy";
-    version = "2.11.10";
-    sha256 = "0b7vaqldn7ca3xi4gkvkhjk900kw2zwb0m0d20bg45a83zdlx79c";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core.id";
-    version = "2.11.10";
-    sha256 = "1yqxirknwga4j18k7ixwgqxlv20479afanhariy3c5mkwvglsr9b";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core.it";
-    version = "2.11.10";
-    sha256 = "1skwgj5a6kkx3pm9w4f29psch69h1knmwbkdydlmx13h452p1w4l";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core.ja";
-    version = "2.11.10";
-    sha256 = "1wpc3yz9v611dqbw8j5yimk8dpz0rvpnls4rmlnp1m47gavpj8x4";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core.ko-KR";
-    version = "2.11.10";
-    sha256 = "1df0kd7vwdc3inxfkb3wsl1aw3d6vbab99dzh08p4m04g7i2c1a9";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core.ku";
-    version = "2.11.10";
-    sha256 = "17b66xfgwjr0sffx0hw4c6l90h43z7ffylrs26hgav0n110q2nwg";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core.lv";
-    version = "2.11.10";
-    sha256 = "0czxx4b9g0w7agykdl82wds09zasa9y58dmgjm925amlfz4wkyzs";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core.ms-MY";
-    version = "2.11.10";
-    sha256 = "0kix95nbw94fx0dziyz80y59i7ii7d21b63f7f94niarljjq36i3";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core.mt";
-    version = "2.11.10";
-    sha256 = "1rwy6m22pq65gxn86xlr9lv818fp5kb0wz98zxxfljc2iviw1f4p";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core.nb";
-    version = "2.11.10";
-    sha256 = "0ra2cl0avvv4sylha7z76jxnb4pdiqfbpr5m477snr04dsjxd9q9";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core.nb-NO";
-    version = "2.11.10";
-    sha256 = "1qszib03pvmjkrg8za7jjd2vzrs9p4fn2rmy82abnzldkhvifipq";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core.nl";
-    version = "2.11.10";
-    sha256 = "1i9bvy0i2yyasl9mgxiiwrkmfpm2c53d3wwdp9270r6120sxyy63";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core.pl";
-    version = "2.11.10";
-    sha256 = "0kggh4wgcic7wzgxy548n6w61schss2ccf9kz8alqshfi42xifby";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core.pt";
-    version = "2.11.10";
-    sha256 = "09j90s8x1lpvhfiy3syfnj8slkgcacf3xjy3pnkgxa6g4mi4f4bd";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core.ro";
-    version = "2.11.10";
-    sha256 = "1jgidmqfly91v1k22gn687mfql5bz7gjzp1aapi93vq5x635qssy";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core.ru";
-    version = "2.11.10";
-    sha256 = "13mmlh0ibxfyc85xrz3vx4mcg56mkzqql184iwdryq94p0g5ahil";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core.sk";
-    version = "2.11.10";
-    sha256 = "04ja06y5jaz1jwkwn117wx9cib04gpbi0vysn58a8sd5jrxmxai5";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core.sl";
-    version = "2.11.10";
-    sha256 = "05hxk9v3a7fn7s4g9jp5zxk2z6a33b9fkavyb1hjqnl2i37q2wja";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core.sr";
-    version = "2.11.10";
-    sha256 = "0x6l2msimrx72iywa1g0rqklgy209sdwg0r77i2lz0s1rvk5klm5";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core.sr-Latn";
-    version = "2.11.10";
-    sha256 = "01hdyn7mmbyy7f3aglawgnsj3nblcdpqjgzdcvniy73l536mira0";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core.sv";
-    version = "2.11.10";
-    sha256 = "0cbgchivw3d5ndib1zmgzmnymhyvfh9g9f0hijc860g5vaa9fkvh";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core.th-TH";
-    version = "2.11.10";
-    sha256 = "1v7f9x3b04iwhz9lb3ir8az8128nvcw1gi4park5zh3fg0f3mni0";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core.tr";
-    version = "2.11.10";
-    sha256 = "02c4ky0dskxkdrkc7vy8yzmvwjr1wqll1kzx0k21afhlx8xynjd4";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core.uk";
-    version = "2.11.10";
-    sha256 = "0900ilhwj8yvhyzpg1pjr7f5vrl62wp8dsnhk4c2igs20qvnv079";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core.uz-Cyrl-UZ";
-    version = "2.11.10";
-    sha256 = "09b7p2m8y49j49ckrmx2difgyj6y7fm2mwca093j8psxclsykcyr";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core.uz-Latn-UZ";
-    version = "2.11.10";
-    sha256 = "029kvkawqhlln52vpjpvr52dhr18ylk01cgsj2z8lxnqaka0q9hk";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core.vi";
-    version = "2.11.10";
-    sha256 = "0q4d47plsj956ivn82qwyidfxppjr9dp13m8c66aamrvhy4q8ny5";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core.zh-CN";
-    version = "2.11.10";
-    sha256 = "01dy5kf6ai8id77px92ji4kcxjc8haj39ivv55xy1afcg3qiy7mh";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core.zh-Hans";
-    version = "2.11.10";
-    sha256 = "16gcxgw2g6gck3nc2hxzlkbsg7wkfaqsjl87kasibxxh47zdqqv2";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core.zh-Hant";
-    version = "2.11.10";
-    sha256 = "1rjg2xvkwjjw3c7z9mdjjvbnl9lcvvhh4fr7l61rla2ynzdk46cj";
-  })
-  (fetchNuGet {
-    name = "JetBrains.Annotations";
-    version = "2021.1.0";
-    sha256 = "07pnhxxlgx8spmwmakz37nmbvgyb6yjrbrhad5rrn6y767z5r1gb";
-  })
-  (fetchNuGet {
-    name = "ManagedBass";
-    version = "2.0.4";
-    sha256 = "13hwd0yany4j52abbaaqsgq8lag2w9vjxxsj4qfbgwp4qs39x003";
-  })
-  (fetchNuGet {
-    name = "ManagedBass.Fx";
-    version = "2.0.1";
-    sha256 = "1rbjpgpm0ri7l2gqdy691rsv3visna2nbxawgvhdqljw068r8a8d";
-  })
-  (fetchNuGet {
-    name = "managed-midi";
-    version = "1.9.14";
-    sha256 = "025jh146zy98699y4civ7nxlkx312lwkl4sr8pha626q7q1kg89h";
-  })
-  (fetchNuGet {
-    name = "Markdig";
-    version = "0.25.0";
-    sha256 = "1f7iqkaphfyf6szjrp0633rj44wynqgiqyivbja5djyxjy4csfyy";
-  })
-  (fetchNuGet {
-    name = "MessagePack";
-    version = "2.2.85";
-    sha256 = "1y0h8bd0drnlsqf1bvrdiv9j1892zqf1rmyclfjzs49klpf0xphk";
-  })
-  (fetchNuGet {
-    name = "MessagePack.Annotations";
-    version = "2.2.85";
-    sha256 = "00wajml6iy3wid8mixh3jmm6dapfjbccwq95m8qciika4pyd4lq9";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.App.Runtime.linux-x64";
-    version = "5.0.5";
-    sha256 = "026m19pddhkx5idwpi6mp1yl9yfcfgm2qjp1jh54mdja1d7ng0vk";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Connections.Abstractions";
-    version = "5.0.7";
-    sha256 = "119wk2aqnas2sfyawv0wkg20ygk1cr15lycvvnw2x42kwgcimmks";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Http.Connections.Client";
-    version = "5.0.7";
-    sha256 = "0jdpqmjv9w29ih13nprzvf2m6cjrg69x0kwyi3d7b371rvz7m66l";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Http.Connections.Common";
-    version = "5.0.7";
-    sha256 = "1h6bw9hs92xp505c9x0jn1mx1i86r3s6xs7yyycx905grwisga39";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Http.Features";
-    version = "5.0.7";
-    sha256 = "1v89zxk15c7gswq10cbsf2yr974inpbk5npw2v6qj8vcs66qqwq3";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.SignalR.Client";
-    version = "5.0.7";
-    sha256 = "13mqsa5nks9fcxv6kxm9j75mxafs3h5pikv35a56h7d9z8wdazsr";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.SignalR.Client.Core";
-    version = "5.0.7";
-    sha256 = "033q9ijbbkh3crby96c62azyi61m0c7byiz89xbrdvagpj6ydqn5";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.SignalR.Common";
-    version = "5.0.7";
-    sha256 = "0s04flgfrljv3r8kxplc569mp3gsqd4nwda0h3yly3rqzwmbrnwp";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.SignalR.Protocols.Json";
-    version = "5.0.7";
-    sha256 = "0nb3v6hhhlndagczac255v2iyjs40jfi9gnb0933zh01wqrgkrv7";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.SignalR.Protocols.MessagePack";
-    version = "5.0.7";
-    sha256 = "06clfalw2xn7rfw53y8kiwcf2j3902iz0pl9fn2q4czhfwfp23ld";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson";
-    version = "5.0.7";
-    sha256 = "1m2likbhq8mxv33yw5zl2ybgc11ksjzqi7nhjrnx1bc12amb3nw4";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Bcl.AsyncInterfaces";
-    version = "1.0.0";
-    sha256 = "00dx5armvkqjxvkldz3invdlck9nj7w21dlsr2aqp1rqbyrbsbbh";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Bcl.AsyncInterfaces";
-    version = "1.1.0";
-    sha256 = "1dq5yw7cy6s42193yl4iqscfw5vzkjkgv0zyy32scr4jza6ni1a1";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Bcl.AsyncInterfaces";
-    version = "5.0.0";
-    sha256 = "0cp5jbax2mf6xr3dqiljzlwi05fv6n9a35z337s92jcljiq674kf";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Build.Framework";
-    version = "16.5.0";
-    sha256 = "1xgr02r7s9i6s70n237hss4yi9zicssia3zd2ny6s8vyxb7jpdyb";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Build.Locator";
-    version = "1.4.1";
-    sha256 = "0j119rri7a401rca67cxdyrn3rprzdl1b2wrblqc23xsff1xvlrx";
-  })
-  (fetchNuGet {
-    name = "Microsoft.CodeAnalysis.Analyzers";
-    version = "3.3.2";
-    sha256 = "162vb5894zxps0cf5n9gc08an7gwybzz87allx3lsszvllr9ldx4";
-  })
-  (fetchNuGet {
-    name = "Microsoft.CodeAnalysis.BannedApiAnalyzers";
-    version = "3.3.2";
-    sha256 = "1r8mfbpfy8jdinhfviwhv2vjsz950wn2vwz17lfw5kya1n13nj56";
-  })
-  (fetchNuGet {
-    name = "Microsoft.CodeAnalysis.Common";
-    version = "3.10.0";
-    sha256 = "12a7wq45liw89ylnf2b7v374s3m0lbknkx7kazk3bf6nd1b8ny81";
-  })
-  (fetchNuGet {
-    name = "Microsoft.CodeAnalysis.CSharp";
-    version = "3.10.0";
-    sha256 = "0plpvimh9drip1fvic3zfg1gmiw3q8xb85nqjqy1hq140p4him6k";
-  })
-  (fetchNuGet {
-    name = "Microsoft.CodeAnalysis.CSharp.Workspaces";
-    version = "3.10.0";
-    sha256 = "0g12hg6r8h2s99p8a0rx8h71rlmj9aff2hr26fkw7i734n39p070";
-  })
-  (fetchNuGet {
-    name = "Microsoft.CodeAnalysis.NetAnalyzers";
-    version = "5.0.3";
-    sha256 = "1l0zg9wl8yapjq9g2d979zhsmdkr8kfybmxnl7kvgkgldf114fbg";
-  })
-  (fetchNuGet {
-    name = "Microsoft.CodeAnalysis.Workspaces.Common";
-    version = "3.10.0";
-    sha256 = "1hr3ndhb7sw0l63blgp2y0a6d1pgkxah0ls1v7kdxmkdazv35svc";
-  })
-  (fetchNuGet {
-    name = "Microsoft.CodeAnalysis.Workspaces.MSBuild";
-    version = "3.10.0";
-    sha256 = "13h0wza8anac6snkry9fvzd188vnykifzy43ms8x07d40zmqnicd";
-  })
-  (fetchNuGet {
-    name = "Microsoft.CSharp";
-    version = "4.0.1";
-    sha256 = "0zxc0apx1gcx361jlq8smc9pfdgmyjh6hpka8dypc9w23nlsh6yj";
-  })
-  (fetchNuGet {
-    name = "Microsoft.CSharp";
-    version = "4.5.0";
-    sha256 = "01i28nvzccxbqmiz217fxs6hnjwmd5fafs37rd49a6qp53y6623l";
-  })
-  (fetchNuGet {
-    name = "Microsoft.CSharp";
-    version = "4.7.0";
-    sha256 = "0gd67zlw554j098kabg887b5a6pq9kzavpa3jjy5w53ccjzjfy8j";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Data.Sqlite.Core";
-    version = "2.2.6";
-    sha256 = "0fx8698k71vzr8pdc6q8bsbzg6r8a42s4hkzmiyv13ibmyb5q68k";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Diagnostics.NETCore.Client";
-    version = "0.2.221401";
-    sha256 = "1k55l60bg8lj5ayl3kixbzvx2684xd7a9nzha5fiqjgp85cimb3r";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Diagnostics.Runtime";
-    version = "2.0.226801";
-    sha256 = "1w8ahqkv8nbq2ch17aa9axhqqnybmc9bsxpdhpiy52ix70mr72w1";
-  })
-  (fetchNuGet {
-    name = "Microsoft.DotNet.PlatformAbstractions";
-    version = "2.1.0";
-    sha256 = "1qydvyyinj3b5mraazjal3n2k7jqhn05b6n1a2f3qjkqkxi63dmy";
-  })
-  (fetchNuGet {
-    name = "Microsoft.EntityFrameworkCore";
-    version = "2.2.6";
-    sha256 = "18j2cr50wsikwv7gy3vrjvmpdxckvv537qma8afdpr3yn2klayh5";
-  })
-  (fetchNuGet {
-    name = "Microsoft.EntityFrameworkCore.Abstractions";
-    version = "2.2.6";
-    sha256 = "1dyxb5ibx24frlgbqy7zch0falq9p1189zvlbxgl94m0hvpml5j3";
-  })
-  (fetchNuGet {
-    name = "Microsoft.EntityFrameworkCore.Analyzers";
-    version = "2.2.6";
-    sha256 = "10f2lxxmh0xrdjvnam31fqfnjkaick23mpfvahj3ca5l07bph0rc";
-  })
-  (fetchNuGet {
-    name = "Microsoft.EntityFrameworkCore.Design";
-    version = "2.2.6";
-    sha256 = "0kjjkh1yfb56wnkmciqzfn9vymqfjap364y5amia0lmqmhfz8g7f";
-  })
-  (fetchNuGet {
-    name = "Microsoft.EntityFrameworkCore.Relational";
-    version = "2.2.6";
-    sha256 = "0c0z4mrqldjfslyxywb2ydk8hn9ybhkvz6lxx3idrfalq3ni5f1z";
-  })
-  (fetchNuGet {
-    name = "Microsoft.EntityFrameworkCore.Sqlite";
-    version = "2.2.6";
-    sha256 = "0z8k5ns841imaqha5abb1ka0rsfzy90k6qkrvix11sp6k9i7lsam";
-  })
-  (fetchNuGet {
-    name = "Microsoft.EntityFrameworkCore.Sqlite.Core";
-    version = "2.2.6";
-    sha256 = "0jzqw4672mzxjvzas09sl0zyzzayfgkv003a7bw5g2gjyiphf630";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Caching.Abstractions";
-    version = "2.2.0";
-    sha256 = "0hhxc5dp52faha1bdqw0k426zicsv6x1kfqi30m9agr0b2hixj52";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Caching.Memory";
-    version = "2.2.0";
-    sha256 = "0bzrsn5vas86w66bd04xilnlb21nx4l6lz7d3acvy6y8ir2vb5dv";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Configuration";
-    version = "2.2.0";
-    sha256 = "02250qrs3jqqbggfvd0mkim82817f79x6jh8fx2i7r58d0m66qkl";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Configuration.Abstractions";
-    version = "2.2.0";
-    sha256 = "1fv5277hyhfqmc0gqszyqb1ilwnijm8kc9606yia6hwr8pxyg674";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Configuration.Abstractions";
-    version = "5.0.0";
-    sha256 = "0fqxkc9pjxkqylsdf26s9q21ciyk56h1w33pz3v1v4wcv8yv1v6k";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Configuration.Binder";
-    version = "2.2.0";
-    sha256 = "10qyjdkymdmag3r807kvbnwag4j3nz65i4cwikbd77jjvz92ya3j";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.DependencyInjection";
-    version = "2.2.0";
-    sha256 = "0lvv45rvq1xbf47lz818rjydc776zk8mf7svpzh1dml4qwlx9zck";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.DependencyInjection";
-    version = "5.0.1";
-    sha256 = "06xig49mwyp3b2dvdx98j079ncg6p4c9x8yj4pzs6ppmi3jgaaqk";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.DependencyInjection.Abstractions";
-    version = "2.2.0";
-    sha256 = "1jyzfdr9651h3x6pxwhpfbb9mysfh8f8z1jvy4g117h9790r9zx5";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.DependencyInjection.Abstractions";
-    version = "5.0.0";
-    sha256 = "17cz6s80va0ch0a6nqa1wbbbp3p8sqxb96lj4qcw67ivkp2yxiyj";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.DependencyModel";
-    version = "2.1.0";
-    sha256 = "0dl4qhjgifm6v3jsfzvzkvddyic77ggp9fq49ah661v45gk6ilgd";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Logging";
-    version = "2.2.0";
-    sha256 = "0bx3ljyvvcbikradq2h583rl72h8bxdz33aghk026cxzpv2mm3wm";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Logging";
-    version = "5.0.0";
-    sha256 = "1qa1l18q2jh9azya8gv1p8anzcdirjzd9dxxisb4911i9m1648i3";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Logging.Abstractions";
-    version = "2.2.0";
-    sha256 = "02w7hp6jicr7cl5p456k2cmrjvvhm6spg5kxnlncw3b72358m5wl";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Logging.Abstractions";
-    version = "5.0.0";
-    sha256 = "1yza38675dbv1qqnnhqm23alv2bbaqxp0pb7zinjmw8j2mr5r6wc";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.ObjectPool";
-    version = "5.0.7";
-    sha256 = "047wv490fjizknyhbmxwbbh9fns13pq2inpc9idxq42n2zj3zbij";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Options";
-    version = "2.2.0";
-    sha256 = "1b20yh03fg4nmmi3vlf6gf13vrdkmklshfzl3ijygcs4c2hly6v0";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Options";
-    version = "5.0.0";
-    sha256 = "1rdmgpg770x8qwaaa6ryc27zh93p697fcyvn5vkxp0wimlhqkbay";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Primitives";
-    version = "2.2.0";
-    sha256 = "0znah6arbcqari49ymigg3wiy2hgdifz8zsq8vdc3ynnf45r7h0c";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Primitives";
-    version = "5.0.0";
-    sha256 = "0swqcknyh87ns82w539z1mvy804pfwhgzs97cr3nwqk6g5s42gd6";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Primitives";
-    version = "5.0.1";
-    sha256 = "01ar5ba2sal9wnpa1xnnikhgb37vzhg2cspz45wf760jflpai2vv";
-  })
-  (fetchNuGet {
-    name = "Microsoft.NETCore.App.Runtime.linux-x64";
-    version = "5.0.5";
-    sha256 = "1h5yry6k9bpqqis2fb1901csb8kipm7anm174fjj41r317vzfjfa";
-  })
-  (fetchNuGet {
-    name = "Microsoft.NETCore.Platforms";
-    version = "1.0.1";
-    sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr";
-  })
-  (fetchNuGet {
-    name = "Microsoft.NETCore.Platforms";
-    version = "1.1.0";
-    sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm";
-  })
-  (fetchNuGet {
-    name = "Microsoft.NETCore.Platforms";
-    version = "2.0.0";
-    sha256 = "1fk2fk2639i7nzy58m9dvpdnzql4vb8yl8vr19r2fp8lmj9w2jr0";
-  })
-  (fetchNuGet {
-    name = "Microsoft.NETCore.Platforms";
-    version = "2.1.2";
-    sha256 = "1507hnpr9my3z4w1r6xk5n0s1j3y6a2c2cnynj76za7cphxi1141";
-  })
-  (fetchNuGet {
-    name = "Microsoft.NETCore.Platforms";
-    version = "5.0.0";
-    sha256 = "0mwpwdflidzgzfx2dlpkvvnkgkr2ayaf0s80737h4wa35gaj11rc";
-  })
-  (fetchNuGet {
-    name = "Microsoft.NETCore.Targets";
-    version = "3.1.0";
-    sha256 = "04cc2wl90p7g9zscnxgyj55vzl7srrrjwadl2dxgicfb2x2499ca";
-  })
-  (fetchNuGet {
-    name = "Microsoft.NETCore.Targets";
-    version = "5.0.0";
-    sha256 = "0z3qyv7qal5irvabc8lmkh58zsl42mrzd1i0sssvzhv4q4kl3cg6";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Win32.Primitives";
-    version = "4.0.1";
-    sha256 = "1n8ap0cmljbqskxpf8fjzn7kh1vvlndsa75k01qig26mbw97k2q7";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Win32.Primitives";
-    version = "4.3.0";
-    sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Win32.Registry";
-    version = "5.0.0";
-    sha256 = "102hvhq2gmlcbq8y2cb7hdr2dnmjzfp2k3asr1ycwrfacwyaak7n";
-  })
-  (fetchNuGet {
-    name = "MongoDB.Bson";
-    version = "2.11.3";
-    sha256 = "0fn900i51rwgk3ywpcp4dsf7c9v5glch7hia9l9w8aj8s10qjf1r";
-  })
-  (fetchNuGet {
-    name = "Mono.Cecil";
-    version = "0.9.6.1";
-    sha256 = "1fr7969h5q611l5227xw6nvv5rzap76vbpk0wg9hxbcxk3hn7szf";
-  })
-  (fetchNuGet {
-    name = "Mono.Posix.NETStandard";
-    version = "1.0.0";
-    sha256 = "0xlja36hwpjm837haq15mjh2prcf68lyrmn72nvgpz8qnf9vappw";
-  })
-  (fetchNuGet {
-    name = "NETStandard.Library";
-    version = "1.6.0";
-    sha256 = "0nmmv4yw7gw04ik8ialj3ak0j6pxa9spih67hnn1h2c38ba8h58k";
-  })
-  (fetchNuGet {
-    name = "NETStandard.Library";
-    version = "1.6.1";
-    sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8";
-  })
-  (fetchNuGet {
-    name = "NETStandard.Library";
-    version = "2.0.0";
-    sha256 = "1bc4ba8ahgk15m8k4nd7x406nhi0kwqzbgjk2dmw52ss553xz7iy";
-  })
-  (fetchNuGet {
-    name = "Newtonsoft.Json";
-    version = "12.0.2";
-    sha256 = "0w2fbji1smd2y7x25qqibf1qrznmv4s6s0jvrbvr6alb7mfyqvh5";
-  })
-  (fetchNuGet {
-    name = "Newtonsoft.Json";
-    version = "13.0.1";
-    sha256 = "0fijg0w6iwap8gvzyjnndds0q4b8anwxxvik7y8vgq97dram4srb";
-  })
-  (fetchNuGet {
-    name = "Newtonsoft.Json";
-    version = "9.0.1";
-    sha256 = "0mcy0i7pnfpqm4pcaiyzzji4g0c8i3a5gjz28rrr28110np8304r";
-  })
-  (fetchNuGet {
-    name = "NuGet.Common";
-    version = "5.10.0";
-    sha256 = "0qy6blgppgvxpfcricmvva3qzddk18dza5vy851jrbqshvf9g7kx";
-  })
-  (fetchNuGet {
-    name = "NuGet.Configuration";
-    version = "5.10.0";
-    sha256 = "0xb1n94lrwa6k83i9xcsq68202086p2gj74gzlbhlvb8c2pw6lbb";
-  })
-  (fetchNuGet {
-    name = "NuGet.DependencyResolver.Core";
-    version = "5.10.0";
-    sha256 = "0dhhclm281ihpfsjzxw34l6zlw49nwzyjiynkmsbcj9icfkp3y4r";
-  })
-  (fetchNuGet {
-    name = "NuGet.Frameworks";
-    version = "5.10.0";
-    sha256 = "0gb6n8rg2jpjp52icgpb3wjdfs3qllh5vbcz8hbcix3l7dncy3v2";
-  })
-  (fetchNuGet {
-    name = "NuGet.LibraryModel";
-    version = "5.10.0";
-    sha256 = "0b6mmq2mqfr06ypc772dmcd8bz55gkyfrgn0j3nrgkcdww4fzf9q";
-  })
-  (fetchNuGet {
-    name = "NuGet.Packaging";
-    version = "5.10.0";
-    sha256 = "11g0v061axhp0nisclq5cm2mc92d69z92giz9l40ih478c5nishw";
-  })
-  (fetchNuGet {
-    name = "NuGet.ProjectModel";
-    version = "5.10.0";
-    sha256 = "1cqg319n986wciskrqsfawfhqp1d7a7i2qjd0qplpckyw8msng2i";
-  })
-  (fetchNuGet {
-    name = "NuGet.Protocol";
-    version = "5.10.0";
-    sha256 = "0cs9qp169zx6g2w5bzrlhxv0q1i8mb8dxlb2nkiq7pkvah86rxkc";
-  })
-  (fetchNuGet {
-    name = "NuGet.Versioning";
-    version = "5.10.0";
-    sha256 = "10vvw6vjpx0c26rlxh7dnpyp4prahn25717ccd8bzkjmyzhm90cs";
-  })
-  (fetchNuGet {
-    name = "NUnit";
-    version = "3.13.2";
-    sha256 = "00bkjgarkwbj497da9d7lajala1ns67h1kx53w4bapwkf32jlcvn";
-  })
-  (fetchNuGet {
-    name = "OpenTabletDriver";
-    version = "0.5.3.1";
-    sha256 = "16xw8w943x9gvnnpbryahff5azzy8n26j2igyqgv88m352jd9rb8";
-  })
-  (fetchNuGet {
-    name = "OpenTabletDriver.Plugin";
-    version = "0.5.3.1";
-    sha256 = "17dxsvcz9g8kzydk5xlfz9kfxl62x9wi20609rh76wjd881bg1br";
-  })
-  (fetchNuGet {
-    name = "ppy.LocalisationAnalyser";
-    version = "2021.716.0";
-    sha256 = "0w45af0mlh4bkjxxhk5p4kb6z0na8fmm6xz10dfzs3b4i61h5x3z";
-  })
-  (fetchNuGet {
-    name = "ppy.osu.Framework";
-    version = "2021.714.0";
-    sha256 = "175i0hcbl01xy633zvij8185nj4g7ja1rsv2lmfz8qdykqj6g9kl";
-  })
-  (fetchNuGet {
-    name = "ppy.osu.Framework.NativeLibs";
-    version = "2021.115.0";
-    sha256 = "00cxrnc78wb8l7d4x7m39g73y85kbgnsnx3qdvv0a9p77lf7lx7z";
-  })
-  (fetchNuGet {
-    name = "ppy.osu.Game.Resources";
-    version = "2021.706.0";
-    sha256 = "1yacqy8h93vph3faf4y0iwhlnlmbny3zj57cm2bh04z2gk0l17am";
-  })
-  (fetchNuGet {
-    name = "ppy.osuTK.NS20";
-    version = "1.0.173";
-    sha256 = "11rrxakrgq5lriv09qlz26189nyc9lh0fjidn5h70labyp2gpa4y";
-  })
-  (fetchNuGet {
-    name = "ppy.SDL2-CS";
-    version = "1.0.238-alpha";
-    sha256 = "1n7pa7gy1hcgsfm3jix334qr6v229n1yymq58njj802l3k5g7980";
-  })
-  (fetchNuGet {
-    name = "ppy.squirrel.windows";
-    version = "1.9.0.5";
-    sha256 = "0nmhrg3q6izapfpwdslq80fqkvjj12ad9r94pd0nr2xx1zw0x1zl";
-  })
-  (fetchNuGet {
-    name = "Realm";
-    version = "10.3.0";
-    sha256 = "12zmp43cf2kilzq1yi9x2hy1jdh51c0kbnddw5s960k1kvyx2s2v";
-  })
-  (fetchNuGet {
-    name = "Realm.Fody";
-    version = "10.3.0";
-    sha256 = "0mhjkahi2ldxcizv08i70mrpwgrvljxdjlr81x3dmwgpxxfji18d";
-  })
-  (fetchNuGet {
-    name = "Remotion.Linq";
-    version = "2.2.0";
-    sha256 = "1y46ni0xswmmiryp8sydjgryafwn458dr91f9xn653w73kdyk4xf";
-  })
-  (fetchNuGet {
-    name = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl";
-    version = "4.3.0";
-    sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d";
-  })
-  (fetchNuGet {
-    name = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl";
-    version = "4.3.0";
-    sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59";
-  })
-  (fetchNuGet {
-    name = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl";
-    version = "4.3.0";
-    sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa";
-  })
-  (fetchNuGet {
-    name = "runtime.native.System";
-    version = "4.0.0";
-    sha256 = "1ppk69xk59ggacj9n7g6fyxvzmk1g5p4fkijm0d7xqfkig98qrkf";
-  })
-  (fetchNuGet {
-    name = "runtime.native.System";
-    version = "4.3.0";
-    sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4";
-  })
-  (fetchNuGet {
-    name = "runtime.native.System.IO.Compression";
-    version = "4.1.0";
-    sha256 = "0d720z4lzyfcabmmnvh0bnj76ll7djhji2hmfh3h44sdkjnlkknk";
-  })
-  (fetchNuGet {
-    name = "runtime.native.System.IO.Compression";
-    version = "4.3.0";
-    sha256 = "1vvivbqsk6y4hzcid27pqpm5bsi6sc50hvqwbcx8aap5ifrxfs8d";
-  })
-  (fetchNuGet {
-    name = "runtime.native.System.Net.Http";
-    version = "4.0.1";
-    sha256 = "1hgv2bmbaskx77v8glh7waxws973jn4ah35zysnkxmf0196sfxg6";
-  })
-  (fetchNuGet {
-    name = "runtime.native.System.Net.Http";
-    version = "4.3.0";
-    sha256 = "1n6rgz5132lcibbch1qlf0g9jk60r0kqv087hxc0lisy50zpm7kk";
-  })
-  (fetchNuGet {
-    name = "runtime.native.System.Security.Cryptography";
-    version = "4.0.0";
-    sha256 = "0k57aa2c3b10wl3hfqbgrl7xq7g8hh3a3ir44b31dn5p61iiw3z9";
-  })
-  (fetchNuGet {
-    name = "runtime.native.System.Security.Cryptography.Apple";
-    version = "4.3.0";
-    sha256 = "1b61p6gw1m02cc1ry996fl49liiwky6181dzr873g9ds92zl326q";
-  })
-  (fetchNuGet {
-    name = "runtime.native.System.Security.Cryptography.OpenSsl";
-    version = "4.3.0";
-    sha256 = "18pzfdlwsg2nb1jjjjzyb5qlgy6xjxzmhnfaijq5s2jw3cm3ab97";
-  })
-  (fetchNuGet {
-    name = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl";
-    version = "4.3.0";
-    sha256 = "0qyynf9nz5i7pc26cwhgi8j62ps27sqmf78ijcfgzab50z9g8ay3";
-  })
-  (fetchNuGet {
-    name = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl";
-    version = "4.3.0";
-    sha256 = "1klrs545awhayryma6l7g2pvnp9xy4z0r1i40r80zb45q3i9nbyf";
-  })
-  (fetchNuGet {
-    name = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple";
-    version = "4.3.0";
-    sha256 = "10yc8jdrwgcl44b4g93f1ds76b176bajd3zqi2faf5rvh1vy9smi";
-  })
-  (fetchNuGet {
-    name = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl";
-    version = "4.3.0";
-    sha256 = "0zcxjv5pckplvkg0r6mw3asggm7aqzbdjimhvsasb0cgm59x09l3";
-  })
-  (fetchNuGet {
-    name = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl";
-    version = "4.3.0";
-    sha256 = "0vhynn79ih7hw7cwjazn87rm9z9fj0rvxgzlab36jybgcpcgphsn";
-  })
-  (fetchNuGet {
-    name = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl";
-    version = "4.3.0";
-    sha256 = "160p68l2c7cqmyqjwxydcvgw7lvl1cr0znkw8fp24d1by9mqc8p3";
-  })
-  (fetchNuGet {
-    name = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl";
-    version = "4.3.0";
-    sha256 = "15zrc8fgd8zx28hdghcj5f5i34wf3l6bq5177075m2bc2j34jrqy";
-  })
-  (fetchNuGet {
-    name = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl";
-    version = "4.3.0";
-    sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5";
-  })
-  (fetchNuGet {
-    name = "Sentry";
-    version = "3.6.0";
-    sha256 = "1yjz3m8chg796izrdd9vlxvka60rmv6cmsxpnrv9llmsss2mqssz";
-  })
-  (fetchNuGet {
-    name = "SharpCompress";
-    version = "0.17.1";
-    sha256 = "1ffiacghbcnr3fkgvdcad7b1nky54nhmmn2sm43sks9zm8grvva4";
-  })
-  (fetchNuGet {
-    name = "SharpCompress";
-    version = "0.28.3";
-    sha256 = "1svymm2vyg3815p3sbwjdk563mz0a4ag1sr30pm0ki01brqpaaas";
-  })
-  (fetchNuGet {
-    name = "SharpFNT";
-    version = "2.0.0";
-    sha256 = "1bgacgh9hbck0qvji6frbb50sdiqfdng2fvvfgfw8b9qaql91mx0";
-  })
-  (fetchNuGet {
-    name = "SixLabors.ImageSharp";
-    version = "1.0.3";
-    sha256 = "1y43zvhjgi9rhylc8451784hhdi5b551hf7fsa6187b83wgxc47g";
-  })
-  (fetchNuGet {
-    name = "Splat";
-    version = "1.6.2";
-    sha256 = "154w9q0z8697rcpqs4x233crx5ap1z4pl4xc21hsd3csbhw13ykf";
-  })
-  (fetchNuGet {
-    name = "SQLitePCLRaw.bundle_green";
-    version = "1.1.12";
-    sha256 = "0jbyd25ag15fyn9nawjikv0v5ylk2zh5pxgr6gm4kpbpqys86sq9";
-  })
-  (fetchNuGet {
-    name = "SQLitePCLRaw.core";
-    version = "1.1.12";
-    sha256 = "03gflsn2wl6v0a8zvh6y5xdhx0xxmfrn6jfldiy829x3fx74zgdl";
-  })
-  (fetchNuGet {
-    name = "SQLitePCLRaw.lib.e_sqlite3.linux";
-    version = "1.1.12";
-    sha256 = "10mlq914d3zggdjf4bv27w6jx0gqqjf6f91y5ri6pbvaqyhi28h5";
-  })
-  (fetchNuGet {
-    name = "SQLitePCLRaw.lib.e_sqlite3.osx";
-    version = "1.1.12";
-    sha256 = "1hixg6n9sqllfrcihj145lh1l38inv827808difvazd4zr3mi0z1";
-  })
-  (fetchNuGet {
-    name = "SQLitePCLRaw.lib.e_sqlite3.v110_xp";
-    version = "1.1.12";
-    sha256 = "107sivk5p38dg1kyvqrxgp67dj89s8l6brf9l52k6s4vrn4hrrk7";
-  })
-  (fetchNuGet {
-    name = "SQLitePCLRaw.provider.e_sqlite3.netstandard11";
-    version = "1.1.12";
-    sha256 = "0qr2d7ka6f5c7bybdhiyq7nl90c9575szmi0nfpknd9c0w024if4";
-  })
-  (fetchNuGet {
-    name = "StbiSharp";
-    version = "1.0.13";
-    sha256 = "0yaspwlh4x93d7xnqj5w5pxlwzlv9lixvksyvdh176krfa4mjw3q";
-  })
-  (fetchNuGet {
-    name = "System.AppContext";
-    version = "4.1.0";
-    sha256 = "0fv3cma1jp4vgj7a8hqc9n7hr1f1kjp541s6z0q1r6nazb4iz9mz";
-  })
-  (fetchNuGet {
-    name = "System.AppContext";
-    version = "4.3.0";
-    sha256 = "1649qvy3dar900z3g817h17nl8jp4ka5vcfmsr05kh0fshn7j3ya";
-  })
-  (fetchNuGet {
-    name = "System.Buffers";
-    version = "4.0.0";
-    sha256 = "13s659bcmg9nwb6z78971z1lr6bmh2wghxi1ayqyzl4jijd351gr";
-  })
-  (fetchNuGet {
-    name = "System.Buffers";
-    version = "4.3.0";
-    sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy";
-  })
-  (fetchNuGet {
-    name = "System.Buffers";
-    version = "4.4.0";
-    sha256 = "183f8063w8zqn99pv0ni0nnwh7fgx46qzxamwnans55hhs2l0g19";
-  })
-  (fetchNuGet {
-    name = "System.Buffers";
-    version = "4.5.1";
-    sha256 = "04kb1mdrlcixj9zh1xdi5as0k0qi8byr5mi3p3jcxx72qz93s2y3";
-  })
-  (fetchNuGet {
-    name = "System.CodeDom";
-    version = "4.5.0";
-    sha256 = "1js3h3ig0zwyynl1q88siynp8ra0gz0pfq1wmvls6ji83jrxsami";
-  })
-  (fetchNuGet {
-    name = "System.Collections";
-    version = "4.0.11";
-    sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6";
-  })
-  (fetchNuGet {
-    name = "System.Collections";
-    version = "4.3.0";
-    sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9";
-  })
-  (fetchNuGet {
-    name = "System.Collections.Concurrent";
-    version = "4.0.12";
-    sha256 = "07y08kvrzpak873pmyxs129g1ch8l27zmg51pcyj2jvq03n0r0fc";
-  })
-  (fetchNuGet {
-    name = "System.Collections.Concurrent";
-    version = "4.3.0";
-    sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8";
-  })
-  (fetchNuGet {
-    name = "System.Collections.Immutable";
-    version = "1.5.0";
-    sha256 = "1d5gjn5afnrf461jlxzawcvihz195gayqpcfbv6dd7pxa9ialn06";
-  })
-  (fetchNuGet {
-    name = "System.Collections.Immutable";
-    version = "5.0.0";
-    sha256 = "1kvcllagxz2q92g81zkz81djkn2lid25ayjfgjalncyc68i15p0r";
-  })
-  (fetchNuGet {
-    name = "System.ComponentModel.Annotations";
-    version = "4.5.0";
-    sha256 = "1jj6f6g87k0iwsgmg3xmnn67a14mq88np0l1ys5zkxhkvbc8976p";
-  })
-  (fetchNuGet {
-    name = "System.ComponentModel.Annotations";
-    version = "5.0.0";
-    sha256 = "021h7x98lblq9avm1bgpa4i31c2kgsa7zn4sqhxf39g087ar756j";
-  })
-  (fetchNuGet {
-    name = "System.Composition";
-    version = "1.0.31";
-    sha256 = "0aa27jz73qb0xm6dyxv22qhfrmyyqjyn2dvvsd9asi82lcdh9i61";
-  })
-  (fetchNuGet {
-    name = "System.Composition.AttributedModel";
-    version = "1.0.31";
-    sha256 = "1ipyb86hvw754kmk47vjmzyilvj5hymg9nqabz70sbgsz1fygrdv";
-  })
-  (fetchNuGet {
-    name = "System.Composition.Convention";
-    version = "1.0.31";
-    sha256 = "00gqcdrql7vhynxh4xq0s9j5nw27kghmn2n773v7lhzjh3ash18r";
-  })
-  (fetchNuGet {
-    name = "System.Composition.Hosting";
-    version = "1.0.31";
-    sha256 = "1f1bnk3j7ndx9r7zpzibmrhw78clys1pspl20j2dhnmkiwhl23vy";
-  })
-  (fetchNuGet {
-    name = "System.Composition.Runtime";
-    version = "1.0.31";
-    sha256 = "1shfybfzsn4g6aim4pggb5ha31g0fz2kkk0519c4vj6m166g39ws";
-  })
-  (fetchNuGet {
-    name = "System.Composition.TypedParts";
-    version = "1.0.31";
-    sha256 = "1m4j19zx50lbbdx1xxbgpsd1dai2r3kzkyapw47kdvkb89qjkl63";
-  })
-  (fetchNuGet {
-    name = "System.Console";
-    version = "4.0.0";
-    sha256 = "0ynxqbc3z1nwbrc11hkkpw9skw116z4y9wjzn7id49p9yi7mzmlf";
-  })
-  (fetchNuGet {
-    name = "System.Console";
-    version = "4.3.0";
-    sha256 = "1flr7a9x920mr5cjsqmsy9wgnv3lvd0h1g521pdr1lkb2qycy7ay";
-  })
-  (fetchNuGet {
-    name = "System.Diagnostics.Debug";
-    version = "4.0.11";
-    sha256 = "0gmjghrqmlgzxivd2xl50ncbglb7ljzb66rlx8ws6dv8jm0d5siz";
-  })
-  (fetchNuGet {
-    name = "System.Diagnostics.Debug";
-    version = "4.3.0";
-    sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y";
-  })
-  (fetchNuGet {
-    name = "System.Diagnostics.DiagnosticSource";
-    version = "4.0.0";
-    sha256 = "1n6c3fbz7v8d3pn77h4v5wvsfrfg7v1c57lg3nff3cjyh597v23m";
-  })
-  (fetchNuGet {
-    name = "System.Diagnostics.DiagnosticSource";
-    version = "4.3.0";
-    sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq";
-  })
-  (fetchNuGet {
-    name = "System.Diagnostics.DiagnosticSource";
-    version = "4.5.0";
-    sha256 = "1y8m0p3127nak5yspapfnz25qc9x53gqpvwr3hdpsvrcd2r1pgyj";
-  })
-  (fetchNuGet {
-    name = "System.Diagnostics.DiagnosticSource";
-    version = "5.0.0";
-    sha256 = "0phd2qizshjvglhzws1jd0cq4m54gscz4ychzr3x6wbgl4vvfrga";
-  })
-  (fetchNuGet {
-    name = "System.Diagnostics.Tools";
-    version = "4.0.1";
-    sha256 = "19cknvg07yhakcvpxg3cxa0bwadplin6kyxd8mpjjpwnp56nl85x";
-  })
-  (fetchNuGet {
-    name = "System.Diagnostics.Tools";
-    version = "4.3.0";
-    sha256 = "0in3pic3s2ddyibi8cvgl102zmvp9r9mchh82ns9f0ms4basylw1";
-  })
-  (fetchNuGet {
-    name = "System.Diagnostics.Tracing";
-    version = "4.1.0";
-    sha256 = "1d2r76v1x610x61ahfpigda89gd13qydz6vbwzhpqlyvq8jj6394";
-  })
-  (fetchNuGet {
-    name = "System.Diagnostics.Tracing";
-    version = "4.3.0";
-    sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4";
-  })
-  (fetchNuGet {
-    name = "System.Dynamic.Runtime";
-    version = "4.0.11";
-    sha256 = "1pla2dx8gkidf7xkciig6nifdsb494axjvzvann8g2lp3dbqasm9";
-  })
-  (fetchNuGet {
-    name = "System.Dynamic.Runtime";
-    version = "4.3.0";
-    sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk";
-  })
-  (fetchNuGet {
-    name = "System.Formats.Asn1";
-    version = "5.0.0";
-    sha256 = "1axc8z0839yvqi2cb63l73l6d9j6wd20lsbdymwddz9hvrsgfwpn";
-  })
-  (fetchNuGet {
-    name = "System.Globalization";
-    version = "4.0.11";
-    sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d";
-  })
-  (fetchNuGet {
-    name = "System.Globalization";
-    version = "4.3.0";
-    sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki";
-  })
-  (fetchNuGet {
-    name = "System.Globalization.Calendars";
-    version = "4.0.1";
-    sha256 = "0bv0alrm2ck2zk3rz25lfyk9h42f3ywq77mx1syl6vvyncnpg4qh";
-  })
-  (fetchNuGet {
-    name = "System.Globalization.Calendars";
-    version = "4.3.0";
-    sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq";
-  })
-  (fetchNuGet {
-    name = "System.Globalization.Extensions";
-    version = "4.0.1";
-    sha256 = "0hjhdb5ri8z9l93bw04s7ynwrjrhx2n0p34sf33a9hl9phz69fyc";
-  })
-  (fetchNuGet {
-    name = "System.Globalization.Extensions";
-    version = "4.3.0";
-    sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls";
-  })
-  (fetchNuGet {
-    name = "System.Interactive.Async";
-    version = "3.2.0";
-    sha256 = "0y5r5y7dlccjpgg17rjrrzi3jya4ysyydamxs33qckkv4jb3534d";
-  })
-  (fetchNuGet {
-    name = "System.IO";
-    version = "4.1.0";
-    sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp";
-  })
-  (fetchNuGet {
-    name = "System.IO";
-    version = "4.3.0";
-    sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f";
-  })
-  (fetchNuGet {
-    name = "System.IO.Compression";
-    version = "4.1.0";
-    sha256 = "0iym7s3jkl8n0vzm3jd6xqg9zjjjqni05x45dwxyjr2dy88hlgji";
-  })
-  (fetchNuGet {
-    name = "System.IO.Compression";
-    version = "4.3.0";
-    sha256 = "084zc82yi6yllgda0zkgl2ys48sypiswbiwrv7irb3r0ai1fp4vz";
-  })
-  (fetchNuGet {
-    name = "System.IO.Compression.ZipFile";
-    version = "4.0.1";
-    sha256 = "0h72znbagmgvswzr46mihn7xm7chfk2fhrp5krzkjf29pz0i6z82";
-  })
-  (fetchNuGet {
-    name = "System.IO.Compression.ZipFile";
-    version = "4.3.0";
-    sha256 = "1yxy5pq4dnsm9hlkg9ysh5f6bf3fahqqb6p8668ndy5c0lk7w2ar";
-  })
-  (fetchNuGet {
-    name = "System.IO.FileSystem";
-    version = "4.0.1";
-    sha256 = "0kgfpw6w4djqra3w5crrg8xivbanh1w9dh3qapb28q060wb9flp1";
-  })
-  (fetchNuGet {
-    name = "System.IO.FileSystem";
-    version = "4.3.0";
-    sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw";
-  })
-  (fetchNuGet {
-    name = "System.IO.FileSystem.Primitives";
-    version = "4.0.1";
-    sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612";
-  })
-  (fetchNuGet {
-    name = "System.IO.FileSystem.Primitives";
-    version = "4.3.0";
-    sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c";
-  })
-  (fetchNuGet {
-    name = "System.IO.Packaging";
-    version = "5.0.0";
-    sha256 = "08l85pi8jy65las973szqdnir2awxp0r16h21c0bgrz19gxhs11n";
-  })
-  (fetchNuGet {
-    name = "System.IO.Pipelines";
-    version = "5.0.1";
-    sha256 = "1zvfcd2l1d5qxifsqd0cjyv57nr61a9ac2ca5jinyqmj32wgjd6v";
-  })
-  (fetchNuGet {
-    name = "System.Linq";
-    version = "4.1.0";
-    sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5";
-  })
-  (fetchNuGet {
-    name = "System.Linq";
-    version = "4.3.0";
-    sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7";
-  })
-  (fetchNuGet {
-    name = "System.Linq.Expressions";
-    version = "4.1.0";
-    sha256 = "1gpdxl6ip06cnab7n3zlcg6mqp7kknf73s8wjinzi4p0apw82fpg";
-  })
-  (fetchNuGet {
-    name = "System.Linq.Expressions";
-    version = "4.3.0";
-    sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv";
-  })
-  (fetchNuGet {
-    name = "System.Linq.Queryable";
-    version = "4.0.1";
-    sha256 = "11jn9k34g245yyf260gr3ldzvaqa9477w2c5nhb1p8vjx4xm3qaw";
-  })
-  (fetchNuGet {
-    name = "System.Management";
-    version = "4.5.0";
-    sha256 = "19z5x23n21xi94bgl531l9hrm64nyw9d5fpd7klfvr5xfsbh9jwr";
-  })
-  (fetchNuGet {
-    name = "System.Memory";
-    version = "4.5.1";
-    sha256 = "0f07d7hny38lq9w69wx4lxkn4wszrqf9m9js6fh9is645csm167c";
-  })
-  (fetchNuGet {
-    name = "System.Memory";
-    version = "4.5.3";
-    sha256 = "0naqahm3wljxb5a911d37mwjqjdxv9l0b49p5dmfyijvni2ppy8a";
-  })
-  (fetchNuGet {
-    name = "System.Memory";
-    version = "4.5.4";
-    sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y";
-  })
-  (fetchNuGet {
-    name = "System.Net.Http";
-    version = "4.1.0";
-    sha256 = "1i5rqij1icg05j8rrkw4gd4pgia1978mqhjzhsjg69lvwcdfg8yb";
-  })
-  (fetchNuGet {
-    name = "System.Net.Http";
-    version = "4.3.0";
-    sha256 = "1i4gc757xqrzflbk7kc5ksn20kwwfjhw9w7pgdkn19y3cgnl302j";
-  })
-  (fetchNuGet {
-    name = "System.Net.Primitives";
-    version = "4.0.11";
-    sha256 = "10xzzaynkzkakp7jai1ik3r805zrqjxiz7vcagchyxs2v26a516r";
-  })
-  (fetchNuGet {
-    name = "System.Net.Primitives";
-    version = "4.3.0";
-    sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii";
-  })
-  (fetchNuGet {
-    name = "System.Net.Sockets";
-    version = "4.1.0";
-    sha256 = "1385fvh8h29da5hh58jm1v78fzi9fi5vj93vhlm2kvqpfahvpqls";
-  })
-  (fetchNuGet {
-    name = "System.Net.Sockets";
-    version = "4.3.0";
-    sha256 = "1ssa65k6chcgi6mfmzrznvqaxk8jp0gvl77xhf1hbzakjnpxspla";
-  })
-  (fetchNuGet {
-    name = "System.Numerics.Vectors";
-    version = "4.4.0";
-    sha256 = "0rdvma399070b0i46c4qq1h2yvjj3k013sqzkilz4bz5cwmx1rba";
-  })
-  (fetchNuGet {
-    name = "System.Numerics.Vectors";
-    version = "4.5.0";
-    sha256 = "1kzrj37yzawf1b19jq0253rcs8hsq1l2q8g69d7ipnhzb0h97m59";
-  })
-  (fetchNuGet {
-    name = "System.ObjectModel";
-    version = "4.0.12";
-    sha256 = "1sybkfi60a4588xn34nd9a58png36i0xr4y4v4kqpg8wlvy5krrj";
-  })
-  (fetchNuGet {
-    name = "System.ObjectModel";
-    version = "4.3.0";
-    sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2";
-  })
-  (fetchNuGet {
-    name = "System.Reflection";
-    version = "4.1.0";
-    sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9";
-  })
-  (fetchNuGet {
-    name = "System.Reflection";
-    version = "4.3.0";
-    sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m";
-  })
-  (fetchNuGet {
-    name = "System.Reflection.Emit";
-    version = "4.0.1";
-    sha256 = "0ydqcsvh6smi41gyaakglnv252625hf29f7kywy2c70nhii2ylqp";
-  })
-  (fetchNuGet {
-    name = "System.Reflection.Emit";
-    version = "4.3.0";
-    sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74";
-  })
-  (fetchNuGet {
-    name = "System.Reflection.Emit";
-    version = "4.6.0";
-    sha256 = "18h375q5bn9h7swxnk4krrxym1dxmi9bm26p89xps9ygrj4q6zqw";
-  })
-  (fetchNuGet {
-    name = "System.Reflection.Emit";
-    version = "4.7.0";
-    sha256 = "121l1z2ypwg02yz84dy6gr82phpys0njk7yask3sihgy214w43qp";
-  })
-  (fetchNuGet {
-    name = "System.Reflection.Emit.ILGeneration";
-    version = "4.0.1";
-    sha256 = "1pcd2ig6bg144y10w7yxgc9d22r7c7ww7qn1frdfwgxr24j9wvv0";
-  })
-  (fetchNuGet {
-    name = "System.Reflection.Emit.ILGeneration";
-    version = "4.3.0";
-    sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q";
-  })
-  (fetchNuGet {
-    name = "System.Reflection.Emit.Lightweight";
-    version = "4.0.1";
-    sha256 = "1s4b043zdbx9k39lfhvsk68msv1nxbidhkq6nbm27q7sf8xcsnxr";
-  })
-  (fetchNuGet {
-    name = "System.Reflection.Emit.Lightweight";
-    version = "4.3.0";
-    sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c";
-  })
-  (fetchNuGet {
-    name = "System.Reflection.Emit.Lightweight";
-    version = "4.6.0";
-    sha256 = "0hry2k6b7kicg4zxnq0hhn0ys52711pxy7l9v5sp7gvp9cicwpgp";
-  })
-  (fetchNuGet {
-    name = "System.Reflection.Extensions";
-    version = "4.0.1";
-    sha256 = "0m7wqwq0zqq9gbpiqvgk3sr92cbrw7cp3xn53xvw7zj6rz6fdirn";
-  })
-  (fetchNuGet {
-    name = "System.Reflection.Extensions";
-    version = "4.3.0";
-    sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq";
-  })
-  (fetchNuGet {
-    name = "System.Reflection.Metadata";
-    version = "5.0.0";
-    sha256 = "17qsl5nanlqk9iz0l5wijdn6ka632fs1m1fvx18dfgswm258r3ss";
-  })
-  (fetchNuGet {
-    name = "System.Reflection.Primitives";
-    version = "4.0.1";
-    sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28";
-  })
-  (fetchNuGet {
-    name = "System.Reflection.Primitives";
-    version = "4.3.0";
-    sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276";
-  })
-  (fetchNuGet {
-    name = "System.Reflection.TypeExtensions";
-    version = "4.1.0";
-    sha256 = "1bjli8a7sc7jlxqgcagl9nh8axzfl11f4ld3rjqsyxc516iijij7";
-  })
-  (fetchNuGet {
-    name = "System.Reflection.TypeExtensions";
-    version = "4.3.0";
-    sha256 = "0y2ssg08d817p0vdag98vn238gyrrynjdj4181hdg780sif3ykp1";
-  })
-  (fetchNuGet {
-    name = "System.Resources.ResourceManager";
-    version = "4.0.1";
-    sha256 = "0b4i7mncaf8cnai85jv3wnw6hps140cxz8vylv2bik6wyzgvz7bi";
-  })
-  (fetchNuGet {
-    name = "System.Resources.ResourceManager";
-    version = "4.3.0";
-    sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49";
-  })
-  (fetchNuGet {
-    name = "System.Runtime";
-    version = "4.1.0";
-    sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m";
-  })
-  (fetchNuGet {
-    name = "System.Runtime";
-    version = "4.3.0";
-    sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.CompilerServices.Unsafe";
-    version = "4.5.1";
-    sha256 = "1xcrjx5fwg284qdnxyi2d0lzdm5q4frlpkp0nf6vvkx1kdz2prrf";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.CompilerServices.Unsafe";
-    version = "4.5.2";
-    sha256 = "1vz4275fjij8inf31np78hw50al8nqkngk04p3xv5n4fcmf1grgi";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.CompilerServices.Unsafe";
-    version = "4.5.3";
-    sha256 = "1afi6s2r1mh1kygbjmfba6l4f87pi5sg13p4a48idqafli94qxln";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.CompilerServices.Unsafe";
-    version = "5.0.0";
-    sha256 = "02k25ivn50dmqx5jn8hawwmz24yf0454fjd823qk6lygj9513q4x";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.Extensions";
-    version = "4.1.0";
-    sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.Extensions";
-    version = "4.3.0";
-    sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.Handles";
-    version = "4.0.1";
-    sha256 = "1g0zrdi5508v49pfm3iii2hn6nm00bgvfpjq1zxknfjrxxa20r4g";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.Handles";
-    version = "4.3.0";
-    sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.InteropServices";
-    version = "4.1.0";
-    sha256 = "01kxqppx3dr3b6b286xafqilv4s2n0gqvfgzfd4z943ga9i81is1";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.InteropServices";
-    version = "4.3.0";
-    sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.InteropServices.RuntimeInformation";
-    version = "4.0.0";
-    sha256 = "0glmvarf3jz5xh22iy3w9v3wyragcm4hfdr17v90vs7vcrm7fgp6";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.InteropServices.RuntimeInformation";
-    version = "4.3.0";
-    sha256 = "0q18r1sh4vn7bvqgd6dmqlw5v28flbpj349mkdish2vjyvmnb2ii";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.Numerics";
-    version = "4.0.1";
-    sha256 = "1y308zfvy0l5nrn46mqqr4wb4z1xk758pkk8svbz8b5ij7jnv4nn";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.Numerics";
-    version = "4.3.0";
-    sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.Serialization.Primitives";
-    version = "4.1.1";
-    sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k";
-  })
-  (fetchNuGet {
-    name = "System.Security.AccessControl";
-    version = "5.0.0";
-    sha256 = "17n3lrrl6vahkqmhlpn3w20afgz09n7i6rv0r3qypngwi7wqdr5r";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.Algorithms";
-    version = "4.2.0";
-    sha256 = "148s9g5dgm33ri7dnh19s4lgnlxbpwvrw2jnzllq2kijj4i4vs85";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.Algorithms";
-    version = "4.3.0";
-    sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.Cng";
-    version = "4.2.0";
-    sha256 = "118jijz446kix20blxip0f0q8mhsh9bz118mwc2ch1p6g7facpzc";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.Cng";
-    version = "4.3.0";
-    sha256 = "1k468aswafdgf56ab6yrn7649kfqx2wm9aslywjam1hdmk5yypmv";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.Cng";
-    version = "5.0.0";
-    sha256 = "06hkx2za8jifpslkh491dfwzm5dxrsyxzj5lsc0achb6yzg4zqlw";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.Csp";
-    version = "4.0.0";
-    sha256 = "1cwv8lqj8r15q81d2pz2jwzzbaji0l28xfrpw29kdpsaypm92z2q";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.Csp";
-    version = "4.3.0";
-    sha256 = "1x5wcrddf2s3hb8j78cry7yalca4lb5vfnkrysagbn6r9x6xvrx1";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.Encoding";
-    version = "4.0.0";
-    sha256 = "0a8y1a5wkmpawc787gfmnrnbzdgxmx1a14ax43jf3rj9gxmy3vk4";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.Encoding";
-    version = "4.3.0";
-    sha256 = "1jr6w70igqn07k5zs1ph6xja97hxnb3mqbspdrff6cvssgrixs32";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.OpenSsl";
-    version = "4.0.0";
-    sha256 = "16sx3cig3d0ilvzl8xxgffmxbiqx87zdi8fc73i3i7zjih1a7f4q";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.OpenSsl";
-    version = "4.3.0";
-    sha256 = "0givpvvj8yc7gv4lhb6s1prq6p2c4147204a0wib89inqzd87gqc";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.Pkcs";
-    version = "5.0.0";
-    sha256 = "0hb2mndac3xrw3786bsjxjfh19bwnr991qib54k6wsqjhjyyvbwj";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.Primitives";
-    version = "4.0.0";
-    sha256 = "0i7cfnwph9a10bm26m538h5xcr8b36jscp9sy1zhgifksxz4yixh";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.Primitives";
-    version = "4.3.0";
-    sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.ProtectedData";
-    version = "4.4.0";
-    sha256 = "1q8ljvqhasyynp94a1d7jknk946m20lkwy2c3wa8zw2pc517fbj6";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.X509Certificates";
-    version = "4.1.0";
-    sha256 = "0clg1bv55mfv5dq00m19cp634zx6inm31kf8ppbq1jgyjf2185dh";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.X509Certificates";
-    version = "4.3.0";
-    sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h";
-  })
-  (fetchNuGet {
-    name = "System.Security.Principal.Windows";
-    version = "5.0.0";
-    sha256 = "1mpk7xj76lxgz97a5yg93wi8lj0l8p157a5d50mmjy3gbz1904q8";
-  })
-  (fetchNuGet {
-    name = "System.Text.Encoding";
-    version = "4.0.11";
-    sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw";
-  })
-  (fetchNuGet {
-    name = "System.Text.Encoding";
-    version = "4.3.0";
-    sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr";
-  })
-  (fetchNuGet {
-    name = "System.Text.Encoding.CodePages";
-    version = "4.5.1";
-    sha256 = "1z21qyfs6sg76rp68qdx0c9iy57naan89pg7p6i3qpj8kyzn921w";
-  })
-  (fetchNuGet {
-    name = "System.Text.Encoding.CodePages";
-    version = "5.0.0";
-    sha256 = "1bn2pzaaq4wx9ixirr8151vm5hynn3lmrljcgjx9yghmm4k677k0";
-  })
-  (fetchNuGet {
-    name = "System.Text.Encoding.Extensions";
-    version = "4.0.11";
-    sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs";
-  })
-  (fetchNuGet {
-    name = "System.Text.Encoding.Extensions";
-    version = "4.3.0";
-    sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy";
-  })
-  (fetchNuGet {
-    name = "System.Text.Encodings.Web";
-    version = "5.0.1";
-    sha256 = "00yg63qnp94q2qryxxggzigi276bibb8b3b96gcvsyrxy7b703n9";
-  })
-  (fetchNuGet {
-    name = "System.Text.Json";
-    version = "4.7.0";
-    sha256 = "0fp3xrysccm5dkaac4yb51d793vywxks978kkl5x4db9gw29rfdr";
-  })
-  (fetchNuGet {
-    name = "System.Text.Json";
-    version = "5.0.2";
-    sha256 = "0vd0wd29cdhgcjngl9sw391sn2s8xm974y15zvym0whsdgjwiqfx";
-  })
-  (fetchNuGet {
-    name = "System.Text.RegularExpressions";
-    version = "4.1.0";
-    sha256 = "1mw7vfkkyd04yn2fbhm38msk7dz2xwvib14ygjsb8dq2lcvr18y7";
-  })
-  (fetchNuGet {
-    name = "System.Text.RegularExpressions";
-    version = "4.3.0";
-    sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l";
-  })
-  (fetchNuGet {
-    name = "System.Threading";
-    version = "4.0.11";
-    sha256 = "19x946h926bzvbsgj28csn46gak2crv2skpwsx80hbgazmkgb1ls";
-  })
-  (fetchNuGet {
-    name = "System.Threading";
-    version = "4.3.0";
-    sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34";
-  })
-  (fetchNuGet {
-    name = "System.Threading.Channels";
-    version = "5.0.0";
-    sha256 = "11z28x3cawry60l5phkqrvavm0mshz84n4c79hrz0p65lq8jpxgs";
-  })
-  (fetchNuGet {
-    name = "System.Threading.Tasks";
-    version = "4.0.11";
-    sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5";
-  })
-  (fetchNuGet {
-    name = "System.Threading.Tasks";
-    version = "4.3.0";
-    sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7";
-  })
-  (fetchNuGet {
-    name = "System.Threading.Tasks.Extensions";
-    version = "4.0.0";
-    sha256 = "1cb51z062mvc2i8blpzmpn9d9mm4y307xrwi65di8ri18cz5r1zr";
-  })
-  (fetchNuGet {
-    name = "System.Threading.Tasks.Extensions";
-    version = "4.3.0";
-    sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z";
-  })
-  (fetchNuGet {
-    name = "System.Threading.Tasks.Extensions";
-    version = "4.5.2";
-    sha256 = "1sh63dz0dymqcwmprp0nadm77b83vmm7lyllpv578c397bslb8hj";
-  })
-  (fetchNuGet {
-    name = "System.Threading.Tasks.Extensions";
-    version = "4.5.3";
-    sha256 = "0g7r6hm572ax8v28axrdxz1gnsblg6kszq17g51pj14a5rn2af7i";
-  })
-  (fetchNuGet {
-    name = "System.Threading.Tasks.Extensions";
-    version = "4.5.4";
-    sha256 = "0y6ncasgfcgnjrhynaf0lwpkpkmv4a07sswwkwbwb5h7riisj153";
-  })
-  (fetchNuGet {
-    name = "System.Threading.Thread";
-    version = "4.0.0";
-    sha256 = "1gxxm5fl36pjjpnx1k688dcw8m9l7nmf802nxis6swdaw8k54jzc";
-  })
-  (fetchNuGet {
-    name = "System.Threading.Timer";
-    version = "4.0.1";
-    sha256 = "15n54f1f8nn3mjcjrlzdg6q3520571y012mx7v991x2fvp73lmg6";
-  })
-  (fetchNuGet {
-    name = "System.Threading.Timer";
-    version = "4.3.0";
-    sha256 = "1nx773nsx6z5whv8kaa1wjh037id2f1cxhb69pvgv12hd2b6qs56";
-  })
-  (fetchNuGet {
-    name = "System.Xml.ReaderWriter";
-    version = "4.0.11";
-    sha256 = "0c6ky1jk5ada9m94wcadih98l6k1fvf6vi7vhn1msjixaha419l5";
-  })
-  (fetchNuGet {
-    name = "System.Xml.ReaderWriter";
-    version = "4.3.0";
-    sha256 = "0c47yllxifzmh8gq6rq6l36zzvw4kjvlszkqa9wq3fr59n0hl3s1";
-  })
-  (fetchNuGet {
-    name = "System.Xml.XDocument";
-    version = "4.0.11";
-    sha256 = "0n4lvpqzy9kc7qy1a4acwwd7b7pnvygv895az5640idl2y9zbz18";
-  })
-  (fetchNuGet {
-    name = "System.Xml.XDocument";
-    version = "4.3.0";
-    sha256 = "08h8fm4l77n0nd4i4fk2386y809bfbwqb7ih9d7564ifcxr5ssxd";
-  })
+  (fetchNuGet { name = "AutoMapper"; version = "10.1.1"; sha256 = "1l1p9g7f7finr8laklbm7h2c45k0swl47iq0ik68js5s6pzvd6f8"; })
+  (fetchNuGet { name = "DeltaCompressionDotNet"; version = "2.0.0.0"; sha256 = "0zhj7m3zaf9wcg51385in9qg1xgkvp8yyzgq3r5k4sagm7y68aqy"; })
+  (fetchNuGet { name = "DiffPlex"; version = "1.7.0"; sha256 = "09a8hkbx99iwikfl8war629945yv7i8llj9480dbc4kyp6qqlr00"; })
+  (fetchNuGet { name = "DiscordRichPresence"; version = "1.0.175"; sha256 = "180sax976327d70qbinv07f65g3w2zbw80n49hckg8wd4rw209vd"; })
+  (fetchNuGet { name = "FFmpeg.AutoGen"; version = "4.3.0.1"; sha256 = "0n6x57mnnvcjnrs8zyvy07h5zm4bcfy9gh4n4bvd9fx5ys4pxkvv"; })
+  (fetchNuGet { name = "Fody"; version = "6.5.2"; sha256 = "0vq97mkfk5ijinwnhpkm212y69ik6cd5x0n61ssyxmz50q1vp84f"; })
+  (fetchNuGet { name = "HidSharpCore"; version = "1.2.1.1"; sha256 = "1zkndglmz0s8rblfhnqcvv90rkq2i7lf4bc380g7z8h1avf2ikll"; })
+  (fetchNuGet { name = "HtmlAgilityPack"; version = "1.11.34"; sha256 = "078dad719hkv806qgj1f0hkn7di5zvvm594awfn5bsgb9afq94a7"; })
+  (fetchNuGet { name = "Humanizer"; version = "2.11.10"; sha256 = "057pqzvdxsbpnnc5f1xkqg7j3ywp68ggia3w74fgqp0158dm6rdk"; })
+  (fetchNuGet { name = "Humanizer.Core"; version = "2.11.10"; sha256 = "0z7kmd5rh1sb6izq0vssk6c2p63n00xglk45s7ga9z18z9aaskxv"; })
+  (fetchNuGet { name = "Humanizer.Core"; version = "2.2.0"; sha256 = "08mzg65y9d3zvq16rsmpapcdan71ggq2mpks6k777h3wlm2sh3p5"; })
+  (fetchNuGet { name = "Humanizer.Core.af"; version = "2.11.10"; sha256 = "18fiixfvjwn8m1i8z2cz4aqykzylvfdqmmpwc2zcd8sr1a2xm86z"; })
+  (fetchNuGet { name = "Humanizer.Core.ar"; version = "2.11.10"; sha256 = "009fpm4jd325izm82ipipsvlwd31824gvskda68bdwi4yqmycz4p"; })
+  (fetchNuGet { name = "Humanizer.Core.az"; version = "2.11.10"; sha256 = "144b9diwprabxwgi5a98k5iy95ajq4p7356phdqi2lhzwbz7b6a9"; })
+  (fetchNuGet { name = "Humanizer.Core.bg"; version = "2.11.10"; sha256 = "1b9y40gvq2kwnj5wa40f8cbywv79jkajcwknagrgr27sykpfadl2"; })
+  (fetchNuGet { name = "Humanizer.Core.bn-BD"; version = "2.11.10"; sha256 = "18pn4jcp36ygcx283l3fi9bs5d7q1a384b72a10g5kl0qckn88ay"; })
+  (fetchNuGet { name = "Humanizer.Core.cs"; version = "2.11.10"; sha256 = "03crw1lnzp32v2kcdmllkrsqh07r4ggw9gyc96qw7cv0nk5ch1h8"; })
+  (fetchNuGet { name = "Humanizer.Core.da"; version = "2.11.10"; sha256 = "0glby12zra3y3yiq4cwq1m6wjcjl8f21v8ghi6s20r48glm8vzy9"; })
+  (fetchNuGet { name = "Humanizer.Core.de"; version = "2.11.10"; sha256 = "0a35xrm1f9p74x0fkr52bw9sd54vdy9d5rnvf565yh8ww43xfk7b"; })
+  (fetchNuGet { name = "Humanizer.Core.el"; version = "2.11.10"; sha256 = "0bhwwdx5vc48zikdsbrkghdhwahxxc2lkff0yaa5nxhbhasl84h8"; })
+  (fetchNuGet { name = "Humanizer.Core.es"; version = "2.11.10"; sha256 = "07bw07qy8nyzlgxl7l2lxv9f78qmkfppgzx7iyq5ikrcnpvc7i9q"; })
+  (fetchNuGet { name = "Humanizer.Core.fa"; version = "2.11.10"; sha256 = "00d4hc1pfmhfkc5wmx9p7i00lgi4r0k6wfcns9kl1syjxv3bs5f2"; })
+  (fetchNuGet { name = "Humanizer.Core.fi-FI"; version = "2.11.10"; sha256 = "0z4is7pl5jpi4pfdvd2zvx5mp00bj26d9l9ksqyc0liax8nfzyik"; })
+  (fetchNuGet { name = "Humanizer.Core.fr"; version = "2.11.10"; sha256 = "0sybpg6kbbhrnk7gxcdk7ppan89lsfqsdssrg4i1dm8w48wgicap"; })
+  (fetchNuGet { name = "Humanizer.Core.fr-BE"; version = "2.11.10"; sha256 = "1s25c86nl9wpsn6fydzwv4rfmdx5sm0vgyd7xhw5344k20gazvhv"; })
+  (fetchNuGet { name = "Humanizer.Core.he"; version = "2.11.10"; sha256 = "1nx61qkjd6p9r36dmnm4942khyv35fpdqmb2w69gz6463g4d7z29"; })
+  (fetchNuGet { name = "Humanizer.Core.hr"; version = "2.11.10"; sha256 = "02jhcyj72prkqsjxyilv04drm0bknqjh2r893jlbsfi9vjg2zay3"; })
+  (fetchNuGet { name = "Humanizer.Core.hu"; version = "2.11.10"; sha256 = "0yb6ly4s1wdyaf96h2dvifqyb575aid6irwl3qx8gcvrs0xpcxdp"; })
+  (fetchNuGet { name = "Humanizer.Core.hy"; version = "2.11.10"; sha256 = "0b7vaqldn7ca3xi4gkvkhjk900kw2zwb0m0d20bg45a83zdlx79c"; })
+  (fetchNuGet { name = "Humanizer.Core.id"; version = "2.11.10"; sha256 = "1yqxirknwga4j18k7ixwgqxlv20479afanhariy3c5mkwvglsr9b"; })
+  (fetchNuGet { name = "Humanizer.Core.it"; version = "2.11.10"; sha256 = "1skwgj5a6kkx3pm9w4f29psch69h1knmwbkdydlmx13h452p1w4l"; })
+  (fetchNuGet { name = "Humanizer.Core.ja"; version = "2.11.10"; sha256 = "1wpc3yz9v611dqbw8j5yimk8dpz0rvpnls4rmlnp1m47gavpj8x4"; })
+  (fetchNuGet { name = "Humanizer.Core.ko-KR"; version = "2.11.10"; sha256 = "1df0kd7vwdc3inxfkb3wsl1aw3d6vbab99dzh08p4m04g7i2c1a9"; })
+  (fetchNuGet { name = "Humanizer.Core.ku"; version = "2.11.10"; sha256 = "17b66xfgwjr0sffx0hw4c6l90h43z7ffylrs26hgav0n110q2nwg"; })
+  (fetchNuGet { name = "Humanizer.Core.lv"; version = "2.11.10"; sha256 = "0czxx4b9g0w7agykdl82wds09zasa9y58dmgjm925amlfz4wkyzs"; })
+  (fetchNuGet { name = "Humanizer.Core.ms-MY"; version = "2.11.10"; sha256 = "0kix95nbw94fx0dziyz80y59i7ii7d21b63f7f94niarljjq36i3"; })
+  (fetchNuGet { name = "Humanizer.Core.mt"; version = "2.11.10"; sha256 = "1rwy6m22pq65gxn86xlr9lv818fp5kb0wz98zxxfljc2iviw1f4p"; })
+  (fetchNuGet { name = "Humanizer.Core.nb"; version = "2.11.10"; sha256 = "0ra2cl0avvv4sylha7z76jxnb4pdiqfbpr5m477snr04dsjxd9q9"; })
+  (fetchNuGet { name = "Humanizer.Core.nb-NO"; version = "2.11.10"; sha256 = "1qszib03pvmjkrg8za7jjd2vzrs9p4fn2rmy82abnzldkhvifipq"; })
+  (fetchNuGet { name = "Humanizer.Core.nl"; version = "2.11.10"; sha256 = "1i9bvy0i2yyasl9mgxiiwrkmfpm2c53d3wwdp9270r6120sxyy63"; })
+  (fetchNuGet { name = "Humanizer.Core.pl"; version = "2.11.10"; sha256 = "0kggh4wgcic7wzgxy548n6w61schss2ccf9kz8alqshfi42xifby"; })
+  (fetchNuGet { name = "Humanizer.Core.pt"; version = "2.11.10"; sha256 = "09j90s8x1lpvhfiy3syfnj8slkgcacf3xjy3pnkgxa6g4mi4f4bd"; })
+  (fetchNuGet { name = "Humanizer.Core.ro"; version = "2.11.10"; sha256 = "1jgidmqfly91v1k22gn687mfql5bz7gjzp1aapi93vq5x635qssy"; })
+  (fetchNuGet { name = "Humanizer.Core.ru"; version = "2.11.10"; sha256 = "13mmlh0ibxfyc85xrz3vx4mcg56mkzqql184iwdryq94p0g5ahil"; })
+  (fetchNuGet { name = "Humanizer.Core.sk"; version = "2.11.10"; sha256 = "04ja06y5jaz1jwkwn117wx9cib04gpbi0vysn58a8sd5jrxmxai5"; })
+  (fetchNuGet { name = "Humanizer.Core.sl"; version = "2.11.10"; sha256 = "05hxk9v3a7fn7s4g9jp5zxk2z6a33b9fkavyb1hjqnl2i37q2wja"; })
+  (fetchNuGet { name = "Humanizer.Core.sr"; version = "2.11.10"; sha256 = "0x6l2msimrx72iywa1g0rqklgy209sdwg0r77i2lz0s1rvk5klm5"; })
+  (fetchNuGet { name = "Humanizer.Core.sr-Latn"; version = "2.11.10"; sha256 = "01hdyn7mmbyy7f3aglawgnsj3nblcdpqjgzdcvniy73l536mira0"; })
+  (fetchNuGet { name = "Humanizer.Core.sv"; version = "2.11.10"; sha256 = "0cbgchivw3d5ndib1zmgzmnymhyvfh9g9f0hijc860g5vaa9fkvh"; })
+  (fetchNuGet { name = "Humanizer.Core.th-TH"; version = "2.11.10"; sha256 = "1v7f9x3b04iwhz9lb3ir8az8128nvcw1gi4park5zh3fg0f3mni0"; })
+  (fetchNuGet { name = "Humanizer.Core.tr"; version = "2.11.10"; sha256 = "02c4ky0dskxkdrkc7vy8yzmvwjr1wqll1kzx0k21afhlx8xynjd4"; })
+  (fetchNuGet { name = "Humanizer.Core.uk"; version = "2.11.10"; sha256 = "0900ilhwj8yvhyzpg1pjr7f5vrl62wp8dsnhk4c2igs20qvnv079"; })
+  (fetchNuGet { name = "Humanizer.Core.uz-Cyrl-UZ"; version = "2.11.10"; sha256 = "09b7p2m8y49j49ckrmx2difgyj6y7fm2mwca093j8psxclsykcyr"; })
+  (fetchNuGet { name = "Humanizer.Core.uz-Latn-UZ"; version = "2.11.10"; sha256 = "029kvkawqhlln52vpjpvr52dhr18ylk01cgsj2z8lxnqaka0q9hk"; })
+  (fetchNuGet { name = "Humanizer.Core.vi"; version = "2.11.10"; sha256 = "0q4d47plsj956ivn82qwyidfxppjr9dp13m8c66aamrvhy4q8ny5"; })
+  (fetchNuGet { name = "Humanizer.Core.zh-CN"; version = "2.11.10"; sha256 = "01dy5kf6ai8id77px92ji4kcxjc8haj39ivv55xy1afcg3qiy7mh"; })
+  (fetchNuGet { name = "Humanizer.Core.zh-Hans"; version = "2.11.10"; sha256 = "16gcxgw2g6gck3nc2hxzlkbsg7wkfaqsjl87kasibxxh47zdqqv2"; })
+  (fetchNuGet { name = "Humanizer.Core.zh-Hant"; version = "2.11.10"; sha256 = "1rjg2xvkwjjw3c7z9mdjjvbnl9lcvvhh4fr7l61rla2ynzdk46cj"; })
+  (fetchNuGet { name = "JetBrains.Annotations"; version = "2021.2.0"; sha256 = "0krvmg2h5ibh6mzs9yn7c8cdxgvr5hm7l884i49hlhnc1aiy5m1n"; })
+  (fetchNuGet { name = "ManagedBass"; version = "3.0.0"; sha256 = "1yh1s36w465z8gcj4xs6q048g63z7m3nyfy1vvw1lgh7k6hqqgma"; })
+  (fetchNuGet { name = "ManagedBass.Fx"; version = "3.0.0"; sha256 = "0sck1wmjlcy8q941bamk1i0k4yrklyilsgg6c832xdh96sdc049s"; })
+  (fetchNuGet { name = "ManagedBass.Mix"; version = "3.0.0"; sha256 = "0brnm0ry96b81hgffbaj52s53bsn9c8cx4q24j0whsvmcqqxhs4v"; })
+  (fetchNuGet { name = "managed-midi"; version = "1.9.14"; sha256 = "025jh146zy98699y4civ7nxlkx312lwkl4sr8pha626q7q1kg89h"; })
+  (fetchNuGet { name = "Markdig"; version = "0.25.0"; sha256 = "1f7iqkaphfyf6szjrp0633rj44wynqgiqyivbja5djyxjy4csfyy"; })
+  (fetchNuGet { name = "MessagePack"; version = "2.3.75"; sha256 = "0mcpxym6g47lyfalnr27mmavmgmd46k6f9g7id8cn1anbbvd4xv1"; })
+  (fetchNuGet { name = "MessagePack.Annotations"; version = "2.3.75"; sha256 = "06a1ys161gvw1sr771w909gwd1y4dizdvldknkhy8484drj90prd"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "5.0.5"; sha256 = "026m19pddhkx5idwpi6mp1yl9yfcfgm2qjp1jh54mdja1d7ng0vk"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Connections.Abstractions"; version = "5.0.8"; sha256 = "13k0p0k1gqk12hnxj4l5yjbyv8y51ggkybrqjjr3yf3411vyy4q2"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Http.Connections.Client"; version = "5.0.8"; sha256 = "0rladdnd7g8gh7hj5gbrcp3dlspngad4xhgk0qmpzhlc3qr4snf2"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Http.Connections.Common"; version = "5.0.8"; sha256 = "03d2ydy7zap5hri7k1f30d1i9jaqj0nijwgp2z6b36gwqck9rys7"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Http.Features"; version = "5.0.8"; sha256 = "1amyhi7m2g3al3ams5fdzqk9xablw14vfpvn819mym1ml1y6lbb7"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.SignalR.Client"; version = "5.0.8"; sha256 = "0a25gzp6p5ii0p4g9n1vlsc085bvy7m02cdpyb2zxl10iggzqj57"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.SignalR.Client.Core"; version = "5.0.8"; sha256 = "09yaqai0ld25p27nndw9bg7p0vm11y4jc00xcl3vh0jb0lqhkznf"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.SignalR.Common"; version = "5.0.8"; sha256 = "0j1wa67n22gbwswn8457m3cl6jw099wn84qxj9qsrsylv4md58n6"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.SignalR.Protocols.Json"; version = "5.0.8"; sha256 = "1nms7rs157njhh0lvkhk4hv5i6ds54jx5fw5iy2jwa7qajic1yjv"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.SignalR.Protocols.MessagePack"; version = "5.0.8"; sha256 = "02rbz3wlfq8bnd4h7d0pd2f9lvpcyjf7ak73wbl8y0fi19xda07i"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson"; version = "5.0.8"; sha256 = "1qwn1263jxc90mbapfkr4a1238q76clv2c38n0w3ybdxy3md8n34"; })
+  (fetchNuGet { name = "Microsoft.Bcl.AsyncInterfaces"; version = "1.0.0"; sha256 = "00dx5armvkqjxvkldz3invdlck9nj7w21dlsr2aqp1rqbyrbsbbh"; })
+  (fetchNuGet { name = "Microsoft.Bcl.AsyncInterfaces"; version = "1.1.0"; sha256 = "1dq5yw7cy6s42193yl4iqscfw5vzkjkgv0zyy32scr4jza6ni1a1"; })
+  (fetchNuGet { name = "Microsoft.Bcl.AsyncInterfaces"; version = "5.0.0"; sha256 = "0cp5jbax2mf6xr3dqiljzlwi05fv6n9a35z337s92jcljiq674kf"; })
+  (fetchNuGet { name = "Microsoft.Build.Framework"; version = "16.5.0"; sha256 = "1xgr02r7s9i6s70n237hss4yi9zicssia3zd2ny6s8vyxb7jpdyb"; })
+  (fetchNuGet { name = "Microsoft.Build.Locator"; version = "1.4.1"; sha256 = "0j119rri7a401rca67cxdyrn3rprzdl1b2wrblqc23xsff1xvlrx"; })
+  (fetchNuGet { name = "Microsoft.CodeAnalysis.Analyzers"; version = "3.3.2"; sha256 = "162vb5894zxps0cf5n9gc08an7gwybzz87allx3lsszvllr9ldx4"; })
+  (fetchNuGet { name = "Microsoft.CodeAnalysis.BannedApiAnalyzers"; version = "3.3.2"; sha256 = "1r8mfbpfy8jdinhfviwhv2vjsz950wn2vwz17lfw5kya1n13nj56"; })
+  (fetchNuGet { name = "Microsoft.CodeAnalysis.Common"; version = "3.10.0"; sha256 = "12a7wq45liw89ylnf2b7v374s3m0lbknkx7kazk3bf6nd1b8ny81"; })
+  (fetchNuGet { name = "Microsoft.CodeAnalysis.CSharp"; version = "3.10.0"; sha256 = "0plpvimh9drip1fvic3zfg1gmiw3q8xb85nqjqy1hq140p4him6k"; })
+  (fetchNuGet { name = "Microsoft.CodeAnalysis.CSharp.Workspaces"; version = "3.10.0"; sha256 = "0g12hg6r8h2s99p8a0rx8h71rlmj9aff2hr26fkw7i734n39p070"; })
+  (fetchNuGet { name = "Microsoft.CodeAnalysis.NetAnalyzers"; version = "5.0.3"; sha256 = "1l0zg9wl8yapjq9g2d979zhsmdkr8kfybmxnl7kvgkgldf114fbg"; })
+  (fetchNuGet { name = "Microsoft.CodeAnalysis.Workspaces.Common"; version = "3.10.0"; sha256 = "1hr3ndhb7sw0l63blgp2y0a6d1pgkxah0ls1v7kdxmkdazv35svc"; })
+  (fetchNuGet { name = "Microsoft.CodeAnalysis.Workspaces.MSBuild"; version = "3.10.0"; sha256 = "13h0wza8anac6snkry9fvzd188vnykifzy43ms8x07d40zmqnicd"; })
+  (fetchNuGet { name = "Microsoft.CSharp"; version = "4.0.1"; sha256 = "0zxc0apx1gcx361jlq8smc9pfdgmyjh6hpka8dypc9w23nlsh6yj"; })
+  (fetchNuGet { name = "Microsoft.CSharp"; version = "4.5.0"; sha256 = "01i28nvzccxbqmiz217fxs6hnjwmd5fafs37rd49a6qp53y6623l"; })
+  (fetchNuGet { name = "Microsoft.CSharp"; version = "4.7.0"; sha256 = "0gd67zlw554j098kabg887b5a6pq9kzavpa3jjy5w53ccjzjfy8j"; })
+  (fetchNuGet { name = "Microsoft.Data.Sqlite.Core"; version = "2.2.6"; sha256 = "0fx8698k71vzr8pdc6q8bsbzg6r8a42s4hkzmiyv13ibmyb5q68k"; })
+  (fetchNuGet { name = "Microsoft.Diagnostics.NETCore.Client"; version = "0.2.221401"; sha256 = "1k55l60bg8lj5ayl3kixbzvx2684xd7a9nzha5fiqjgp85cimb3r"; })
+  (fetchNuGet { name = "Microsoft.Diagnostics.Runtime"; version = "2.0.226801"; sha256 = "1w8ahqkv8nbq2ch17aa9axhqqnybmc9bsxpdhpiy52ix70mr72w1"; })
+  (fetchNuGet { name = "Microsoft.DotNet.PlatformAbstractions"; version = "2.1.0"; sha256 = "1qydvyyinj3b5mraazjal3n2k7jqhn05b6n1a2f3qjkqkxi63dmy"; })
+  (fetchNuGet { name = "Microsoft.EntityFrameworkCore"; version = "2.2.6"; sha256 = "18j2cr50wsikwv7gy3vrjvmpdxckvv537qma8afdpr3yn2klayh5"; })
+  (fetchNuGet { name = "Microsoft.EntityFrameworkCore.Abstractions"; version = "2.2.6"; sha256 = "1dyxb5ibx24frlgbqy7zch0falq9p1189zvlbxgl94m0hvpml5j3"; })
+  (fetchNuGet { name = "Microsoft.EntityFrameworkCore.Analyzers"; version = "2.2.6"; sha256 = "10f2lxxmh0xrdjvnam31fqfnjkaick23mpfvahj3ca5l07bph0rc"; })
+  (fetchNuGet { name = "Microsoft.EntityFrameworkCore.Design"; version = "2.2.6"; sha256 = "0kjjkh1yfb56wnkmciqzfn9vymqfjap364y5amia0lmqmhfz8g7f"; })
+  (fetchNuGet { name = "Microsoft.EntityFrameworkCore.Relational"; version = "2.2.6"; sha256 = "0c0z4mrqldjfslyxywb2ydk8hn9ybhkvz6lxx3idrfalq3ni5f1z"; })
+  (fetchNuGet { name = "Microsoft.EntityFrameworkCore.Sqlite"; version = "2.2.6"; sha256 = "0z8k5ns841imaqha5abb1ka0rsfzy90k6qkrvix11sp6k9i7lsam"; })
+  (fetchNuGet { name = "Microsoft.EntityFrameworkCore.Sqlite.Core"; version = "2.2.6"; sha256 = "0jzqw4672mzxjvzas09sl0zyzzayfgkv003a7bw5g2gjyiphf630"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Caching.Abstractions"; version = "2.2.0"; sha256 = "0hhxc5dp52faha1bdqw0k426zicsv6x1kfqi30m9agr0b2hixj52"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Caching.Memory"; version = "2.2.0"; sha256 = "0bzrsn5vas86w66bd04xilnlb21nx4l6lz7d3acvy6y8ir2vb5dv"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Configuration"; version = "2.2.0"; sha256 = "02250qrs3jqqbggfvd0mkim82817f79x6jh8fx2i7r58d0m66qkl"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Configuration.Abstractions"; version = "2.2.0"; sha256 = "1fv5277hyhfqmc0gqszyqb1ilwnijm8kc9606yia6hwr8pxyg674"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Configuration.Abstractions"; version = "5.0.0"; sha256 = "0fqxkc9pjxkqylsdf26s9q21ciyk56h1w33pz3v1v4wcv8yv1v6k"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Configuration.Binder"; version = "2.2.0"; sha256 = "10qyjdkymdmag3r807kvbnwag4j3nz65i4cwikbd77jjvz92ya3j"; })
+  (fetchNuGet { name = "Microsoft.Extensions.DependencyInjection"; version = "2.2.0"; sha256 = "0lvv45rvq1xbf47lz818rjydc776zk8mf7svpzh1dml4qwlx9zck"; })
+  (fetchNuGet { name = "Microsoft.Extensions.DependencyInjection"; version = "5.0.2"; sha256 = "0db6d1b076nfqfn5mhy63l3gkfn5kr29hwcrx81ldr7y062r1b9y"; })
+  (fetchNuGet { name = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "2.2.0"; sha256 = "1jyzfdr9651h3x6pxwhpfbb9mysfh8f8z1jvy4g117h9790r9zx5"; })
+  (fetchNuGet { name = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "5.0.0"; sha256 = "17cz6s80va0ch0a6nqa1wbbbp3p8sqxb96lj4qcw67ivkp2yxiyj"; })
+  (fetchNuGet { name = "Microsoft.Extensions.DependencyModel"; version = "2.1.0"; sha256 = "0dl4qhjgifm6v3jsfzvzkvddyic77ggp9fq49ah661v45gk6ilgd"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Logging"; version = "2.2.0"; sha256 = "0bx3ljyvvcbikradq2h583rl72h8bxdz33aghk026cxzpv2mm3wm"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Logging"; version = "5.0.0"; sha256 = "1qa1l18q2jh9azya8gv1p8anzcdirjzd9dxxisb4911i9m1648i3"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Logging.Abstractions"; version = "2.2.0"; sha256 = "02w7hp6jicr7cl5p456k2cmrjvvhm6spg5kxnlncw3b72358m5wl"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Logging.Abstractions"; version = "5.0.0"; sha256 = "1yza38675dbv1qqnnhqm23alv2bbaqxp0pb7zinjmw8j2mr5r6wc"; })
+  (fetchNuGet { name = "Microsoft.Extensions.ObjectPool"; version = "5.0.8"; sha256 = "06hfa4crnmf72rw1znqw2fmknshsjnvaa3xgmw4kswd3y622ljxg"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Options"; version = "2.2.0"; sha256 = "1b20yh03fg4nmmi3vlf6gf13vrdkmklshfzl3ijygcs4c2hly6v0"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Options"; version = "5.0.0"; sha256 = "1rdmgpg770x8qwaaa6ryc27zh93p697fcyvn5vkxp0wimlhqkbay"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Primitives"; version = "2.2.0"; sha256 = "0znah6arbcqari49ymigg3wiy2hgdifz8zsq8vdc3ynnf45r7h0c"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Primitives"; version = "5.0.0"; sha256 = "0swqcknyh87ns82w539z1mvy804pfwhgzs97cr3nwqk6g5s42gd6"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Primitives"; version = "5.0.1"; sha256 = "01ar5ba2sal9wnpa1xnnikhgb37vzhg2cspz45wf760jflpai2vv"; })
+  (fetchNuGet { name = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "5.0.5"; sha256 = "1h5yry6k9bpqqis2fb1901csb8kipm7anm174fjj41r317vzfjfa"; })
+  (fetchNuGet { name = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; })
+  (fetchNuGet { name = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
+  (fetchNuGet { name = "Microsoft.NETCore.Platforms"; version = "2.0.0"; sha256 = "1fk2fk2639i7nzy58m9dvpdnzql4vb8yl8vr19r2fp8lmj9w2jr0"; })
+  (fetchNuGet { name = "Microsoft.NETCore.Platforms"; version = "2.1.2"; sha256 = "1507hnpr9my3z4w1r6xk5n0s1j3y6a2c2cnynj76za7cphxi1141"; })
+  (fetchNuGet { name = "Microsoft.NETCore.Platforms"; version = "5.0.0"; sha256 = "0mwpwdflidzgzfx2dlpkvvnkgkr2ayaf0s80737h4wa35gaj11rc"; })
+  (fetchNuGet { name = "Microsoft.NETCore.Targets"; version = "3.1.0"; sha256 = "04cc2wl90p7g9zscnxgyj55vzl7srrrjwadl2dxgicfb2x2499ca"; })
+  (fetchNuGet { name = "Microsoft.NETCore.Targets"; version = "5.0.0"; sha256 = "0z3qyv7qal5irvabc8lmkh58zsl42mrzd1i0sssvzhv4q4kl3cg6"; })
+  (fetchNuGet { name = "Microsoft.Win32.Primitives"; version = "4.0.1"; sha256 = "1n8ap0cmljbqskxpf8fjzn7kh1vvlndsa75k01qig26mbw97k2q7"; })
+  (fetchNuGet { name = "Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; })
+  (fetchNuGet { name = "Microsoft.Win32.Registry"; version = "5.0.0"; sha256 = "102hvhq2gmlcbq8y2cb7hdr2dnmjzfp2k3asr1ycwrfacwyaak7n"; })
+  (fetchNuGet { name = "MongoDB.Bson"; version = "2.11.3"; sha256 = "0fn900i51rwgk3ywpcp4dsf7c9v5glch7hia9l9w8aj8s10qjf1r"; })
+  (fetchNuGet { name = "Mono.Cecil"; version = "0.9.6.1"; sha256 = "1fr7969h5q611l5227xw6nvv5rzap76vbpk0wg9hxbcxk3hn7szf"; })
+  (fetchNuGet { name = "Mono.Posix.NETStandard"; version = "1.0.0"; sha256 = "0xlja36hwpjm837haq15mjh2prcf68lyrmn72nvgpz8qnf9vappw"; })
+  (fetchNuGet { name = "NETStandard.Library"; version = "1.6.0"; sha256 = "0nmmv4yw7gw04ik8ialj3ak0j6pxa9spih67hnn1h2c38ba8h58k"; })
+  (fetchNuGet { name = "NETStandard.Library"; version = "1.6.1"; sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8"; })
+  (fetchNuGet { name = "NETStandard.Library"; version = "2.0.0"; sha256 = "1bc4ba8ahgk15m8k4nd7x406nhi0kwqzbgjk2dmw52ss553xz7iy"; })
+  (fetchNuGet { name = "Newtonsoft.Json"; version = "12.0.2"; sha256 = "0w2fbji1smd2y7x25qqibf1qrznmv4s6s0jvrbvr6alb7mfyqvh5"; })
+  (fetchNuGet { name = "Newtonsoft.Json"; version = "13.0.1"; sha256 = "0fijg0w6iwap8gvzyjnndds0q4b8anwxxvik7y8vgq97dram4srb"; })
+  (fetchNuGet { name = "Newtonsoft.Json"; version = "9.0.1"; sha256 = "0mcy0i7pnfpqm4pcaiyzzji4g0c8i3a5gjz28rrr28110np8304r"; })
+  (fetchNuGet { name = "NuGet.Common"; version = "5.10.0"; sha256 = "0qy6blgppgvxpfcricmvva3qzddk18dza5vy851jrbqshvf9g7kx"; })
+  (fetchNuGet { name = "NuGet.Configuration"; version = "5.10.0"; sha256 = "0xb1n94lrwa6k83i9xcsq68202086p2gj74gzlbhlvb8c2pw6lbb"; })
+  (fetchNuGet { name = "NuGet.DependencyResolver.Core"; version = "5.10.0"; sha256 = "0dhhclm281ihpfsjzxw34l6zlw49nwzyjiynkmsbcj9icfkp3y4r"; })
+  (fetchNuGet { name = "NuGet.Frameworks"; version = "5.10.0"; sha256 = "0gb6n8rg2jpjp52icgpb3wjdfs3qllh5vbcz8hbcix3l7dncy3v2"; })
+  (fetchNuGet { name = "NuGet.LibraryModel"; version = "5.10.0"; sha256 = "0b6mmq2mqfr06ypc772dmcd8bz55gkyfrgn0j3nrgkcdww4fzf9q"; })
+  (fetchNuGet { name = "NuGet.Packaging"; version = "5.10.0"; sha256 = "11g0v061axhp0nisclq5cm2mc92d69z92giz9l40ih478c5nishw"; })
+  (fetchNuGet { name = "NuGet.ProjectModel"; version = "5.10.0"; sha256 = "1cqg319n986wciskrqsfawfhqp1d7a7i2qjd0qplpckyw8msng2i"; })
+  (fetchNuGet { name = "NuGet.Protocol"; version = "5.10.0"; sha256 = "0cs9qp169zx6g2w5bzrlhxv0q1i8mb8dxlb2nkiq7pkvah86rxkc"; })
+  (fetchNuGet { name = "NuGet.Versioning"; version = "5.10.0"; sha256 = "10vvw6vjpx0c26rlxh7dnpyp4prahn25717ccd8bzkjmyzhm90cs"; })
+  (fetchNuGet { name = "NUnit"; version = "3.13.2"; sha256 = "00bkjgarkwbj497da9d7lajala1ns67h1kx53w4bapwkf32jlcvn"; })
+  (fetchNuGet { name = "OpenTabletDriver"; version = "0.5.3.1"; sha256 = "16xw8w943x9gvnnpbryahff5azzy8n26j2igyqgv88m352jd9rb8"; })
+  (fetchNuGet { name = "OpenTabletDriver.Plugin"; version = "0.5.3.1"; sha256 = "17dxsvcz9g8kzydk5xlfz9kfxl62x9wi20609rh76wjd881bg1br"; })
+  (fetchNuGet { name = "ppy.LocalisationAnalyser"; version = "2021.725.0"; sha256 = "00nvk8kw94v0iq5k7y810sa235lqdjlggq7f00c64c3d1zam4203"; })
+  (fetchNuGet { name = "ppy.ManagedBass"; version = "3.1.3-alpha"; sha256 = "0qdrklalp42pbyb30vpr7c0kwjablsja0s6xplxxkpfd14y8mzk4"; })
+  (fetchNuGet { name = "ppy.osu.Framework"; version = "2021.813.0"; sha256 = "1zwx2jq6r1xcp72f484nhicmf472pad84p2hxwhli7xczq0n0fbc"; })
+  (fetchNuGet { name = "ppy.osu.Framework.NativeLibs"; version = "2021.805.0"; sha256 = "004c053s6p7339bfw68lvlyk9jkbw6djkf2d72dz8wam546k8dcl"; })
+  (fetchNuGet { name = "ppy.osu.Game.Resources"; version = "2021.813.0"; sha256 = "1g7f15khni624024c87cx0hihpd4syl1vss8nyrxqmkqqlif6da1"; })
+  (fetchNuGet { name = "ppy.osuTK.NS20"; version = "1.0.177"; sha256 = "0l5if7phd0pvnsvqlbzaz5bizxb6w2i412wyc0wfcrl3p6pm4y7m"; })
+  (fetchNuGet { name = "ppy.SDL2-CS"; version = "1.0.367-alpha"; sha256 = "0mg45c81wzxdr7v4kygmvgipgs1s24v3bkyn64c0xl1vb015l2bx"; })
+  (fetchNuGet { name = "ppy.squirrel.windows"; version = "1.9.0.5"; sha256 = "0nmhrg3q6izapfpwdslq80fqkvjj12ad9r94pd0nr2xx1zw0x1zl"; })
+  (fetchNuGet { name = "Realm"; version = "10.3.0"; sha256 = "12zmp43cf2kilzq1yi9x2hy1jdh51c0kbnddw5s960k1kvyx2s2v"; })
+  (fetchNuGet { name = "Realm.Fody"; version = "10.3.0"; sha256 = "0mhjkahi2ldxcizv08i70mrpwgrvljxdjlr81x3dmwgpxxfji18d"; })
+  (fetchNuGet { name = "Remotion.Linq"; version = "2.2.0"; sha256 = "1y46ni0xswmmiryp8sydjgryafwn458dr91f9xn653w73kdyk4xf"; })
+  (fetchNuGet { name = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d"; })
+  (fetchNuGet { name = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59"; })
+  (fetchNuGet { name = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa"; })
+  (fetchNuGet { name = "runtime.native.System"; version = "4.0.0"; sha256 = "1ppk69xk59ggacj9n7g6fyxvzmk1g5p4fkijm0d7xqfkig98qrkf"; })
+  (fetchNuGet { name = "runtime.native.System"; version = "4.3.0"; sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4"; })
+  (fetchNuGet { name = "runtime.native.System.IO.Compression"; version = "4.1.0"; sha256 = "0d720z4lzyfcabmmnvh0bnj76ll7djhji2hmfh3h44sdkjnlkknk"; })
+  (fetchNuGet { name = "runtime.native.System.IO.Compression"; version = "4.3.0"; sha256 = "1vvivbqsk6y4hzcid27pqpm5bsi6sc50hvqwbcx8aap5ifrxfs8d"; })
+  (fetchNuGet { name = "runtime.native.System.Net.Http"; version = "4.0.1"; sha256 = "1hgv2bmbaskx77v8glh7waxws973jn4ah35zysnkxmf0196sfxg6"; })
+  (fetchNuGet { name = "runtime.native.System.Net.Http"; version = "4.3.0"; sha256 = "1n6rgz5132lcibbch1qlf0g9jk60r0kqv087hxc0lisy50zpm7kk"; })
+  (fetchNuGet { name = "runtime.native.System.Security.Cryptography"; version = "4.0.0"; sha256 = "0k57aa2c3b10wl3hfqbgrl7xq7g8hh3a3ir44b31dn5p61iiw3z9"; })
+  (fetchNuGet { name = "runtime.native.System.Security.Cryptography.Apple"; version = "4.3.0"; sha256 = "1b61p6gw1m02cc1ry996fl49liiwky6181dzr873g9ds92zl326q"; })
+  (fetchNuGet { name = "runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "18pzfdlwsg2nb1jjjjzyb5qlgy6xjxzmhnfaijq5s2jw3cm3ab97"; })
+  (fetchNuGet { name = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0qyynf9nz5i7pc26cwhgi8j62ps27sqmf78ijcfgzab50z9g8ay3"; })
+  (fetchNuGet { name = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1klrs545awhayryma6l7g2pvnp9xy4z0r1i40r80zb45q3i9nbyf"; })
+  (fetchNuGet { name = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple"; version = "4.3.0"; sha256 = "10yc8jdrwgcl44b4g93f1ds76b176bajd3zqi2faf5rvh1vy9smi"; })
+  (fetchNuGet { name = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0zcxjv5pckplvkg0r6mw3asggm7aqzbdjimhvsasb0cgm59x09l3"; })
+  (fetchNuGet { name = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0vhynn79ih7hw7cwjazn87rm9z9fj0rvxgzlab36jybgcpcgphsn"; })
+  (fetchNuGet { name = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "160p68l2c7cqmyqjwxydcvgw7lvl1cr0znkw8fp24d1by9mqc8p3"; })
+  (fetchNuGet { name = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "15zrc8fgd8zx28hdghcj5f5i34wf3l6bq5177075m2bc2j34jrqy"; })
+  (fetchNuGet { name = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5"; })
+  (fetchNuGet { name = "Sentry"; version = "3.8.3"; sha256 = "0ymr3f36illxk2949nfyd91anw46n19wd1rl1id4l6yql9fl6b30"; })
+  (fetchNuGet { name = "SharpCompress"; version = "0.17.1"; sha256 = "1ffiacghbcnr3fkgvdcad7b1nky54nhmmn2sm43sks9zm8grvva4"; })
+  (fetchNuGet { name = "SharpCompress"; version = "0.28.3"; sha256 = "1svymm2vyg3815p3sbwjdk563mz0a4ag1sr30pm0ki01brqpaaas"; })
+  (fetchNuGet { name = "SharpFNT"; version = "2.0.0"; sha256 = "1bgacgh9hbck0qvji6frbb50sdiqfdng2fvvfgfw8b9qaql91mx0"; })
+  (fetchNuGet { name = "SixLabors.ImageSharp"; version = "1.0.3"; sha256 = "1y43zvhjgi9rhylc8451784hhdi5b551hf7fsa6187b83wgxc47g"; })
+  (fetchNuGet { name = "Splat"; version = "1.6.2"; sha256 = "154w9q0z8697rcpqs4x233crx5ap1z4pl4xc21hsd3csbhw13ykf"; })
+  (fetchNuGet { name = "SQLitePCLRaw.bundle_green"; version = "1.1.12"; sha256 = "0jbyd25ag15fyn9nawjikv0v5ylk2zh5pxgr6gm4kpbpqys86sq9"; })
+  (fetchNuGet { name = "SQLitePCLRaw.core"; version = "1.1.12"; sha256 = "03gflsn2wl6v0a8zvh6y5xdhx0xxmfrn6jfldiy829x3fx74zgdl"; })
+  (fetchNuGet { name = "SQLitePCLRaw.lib.e_sqlite3.linux"; version = "1.1.12"; sha256 = "10mlq914d3zggdjf4bv27w6jx0gqqjf6f91y5ri6pbvaqyhi28h5"; })
+  (fetchNuGet { name = "SQLitePCLRaw.lib.e_sqlite3.osx"; version = "1.1.12"; sha256 = "1hixg6n9sqllfrcihj145lh1l38inv827808difvazd4zr3mi0z1"; })
+  (fetchNuGet { name = "SQLitePCLRaw.lib.e_sqlite3.v110_xp"; version = "1.1.12"; sha256 = "107sivk5p38dg1kyvqrxgp67dj89s8l6brf9l52k6s4vrn4hrrk7"; })
+  (fetchNuGet { name = "SQLitePCLRaw.provider.e_sqlite3.netstandard11"; version = "1.1.12"; sha256 = "0qr2d7ka6f5c7bybdhiyq7nl90c9575szmi0nfpknd9c0w024if4"; })
+  (fetchNuGet { name = "StbiSharp"; version = "1.0.13"; sha256 = "0yaspwlh4x93d7xnqj5w5pxlwzlv9lixvksyvdh176krfa4mjw3q"; })
+  (fetchNuGet { name = "System.AppContext"; version = "4.1.0"; sha256 = "0fv3cma1jp4vgj7a8hqc9n7hr1f1kjp541s6z0q1r6nazb4iz9mz"; })
+  (fetchNuGet { name = "System.AppContext"; version = "4.3.0"; sha256 = "1649qvy3dar900z3g817h17nl8jp4ka5vcfmsr05kh0fshn7j3ya"; })
+  (fetchNuGet { name = "System.Buffers"; version = "4.0.0"; sha256 = "13s659bcmg9nwb6z78971z1lr6bmh2wghxi1ayqyzl4jijd351gr"; })
+  (fetchNuGet { name = "System.Buffers"; version = "4.3.0"; sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; })
+  (fetchNuGet { name = "System.Buffers"; version = "4.4.0"; sha256 = "183f8063w8zqn99pv0ni0nnwh7fgx46qzxamwnans55hhs2l0g19"; })
+  (fetchNuGet { name = "System.Buffers"; version = "4.5.1"; sha256 = "04kb1mdrlcixj9zh1xdi5as0k0qi8byr5mi3p3jcxx72qz93s2y3"; })
+  (fetchNuGet { name = "System.CodeDom"; version = "4.5.0"; sha256 = "1js3h3ig0zwyynl1q88siynp8ra0gz0pfq1wmvls6ji83jrxsami"; })
+  (fetchNuGet { name = "System.Collections"; version = "4.0.11"; sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6"; })
+  (fetchNuGet { name = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; })
+  (fetchNuGet { name = "System.Collections.Concurrent"; version = "4.0.12"; sha256 = "07y08kvrzpak873pmyxs129g1ch8l27zmg51pcyj2jvq03n0r0fc"; })
+  (fetchNuGet { name = "System.Collections.Concurrent"; version = "4.3.0"; sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8"; })
+  (fetchNuGet { name = "System.Collections.Immutable"; version = "1.5.0"; sha256 = "1d5gjn5afnrf461jlxzawcvihz195gayqpcfbv6dd7pxa9ialn06"; })
+  (fetchNuGet { name = "System.Collections.Immutable"; version = "5.0.0"; sha256 = "1kvcllagxz2q92g81zkz81djkn2lid25ayjfgjalncyc68i15p0r"; })
+  (fetchNuGet { name = "System.ComponentModel.Annotations"; version = "4.5.0"; sha256 = "1jj6f6g87k0iwsgmg3xmnn67a14mq88np0l1ys5zkxhkvbc8976p"; })
+  (fetchNuGet { name = "System.ComponentModel.Annotations"; version = "5.0.0"; sha256 = "021h7x98lblq9avm1bgpa4i31c2kgsa7zn4sqhxf39g087ar756j"; })
+  (fetchNuGet { name = "System.Composition"; version = "1.0.31"; sha256 = "0aa27jz73qb0xm6dyxv22qhfrmyyqjyn2dvvsd9asi82lcdh9i61"; })
+  (fetchNuGet { name = "System.Composition.AttributedModel"; version = "1.0.31"; sha256 = "1ipyb86hvw754kmk47vjmzyilvj5hymg9nqabz70sbgsz1fygrdv"; })
+  (fetchNuGet { name = "System.Composition.Convention"; version = "1.0.31"; sha256 = "00gqcdrql7vhynxh4xq0s9j5nw27kghmn2n773v7lhzjh3ash18r"; })
+  (fetchNuGet { name = "System.Composition.Hosting"; version = "1.0.31"; sha256 = "1f1bnk3j7ndx9r7zpzibmrhw78clys1pspl20j2dhnmkiwhl23vy"; })
+  (fetchNuGet { name = "System.Composition.Runtime"; version = "1.0.31"; sha256 = "1shfybfzsn4g6aim4pggb5ha31g0fz2kkk0519c4vj6m166g39ws"; })
+  (fetchNuGet { name = "System.Composition.TypedParts"; version = "1.0.31"; sha256 = "1m4j19zx50lbbdx1xxbgpsd1dai2r3kzkyapw47kdvkb89qjkl63"; })
+  (fetchNuGet { name = "System.Console"; version = "4.0.0"; sha256 = "0ynxqbc3z1nwbrc11hkkpw9skw116z4y9wjzn7id49p9yi7mzmlf"; })
+  (fetchNuGet { name = "System.Console"; version = "4.3.0"; sha256 = "1flr7a9x920mr5cjsqmsy9wgnv3lvd0h1g521pdr1lkb2qycy7ay"; })
+  (fetchNuGet { name = "System.Diagnostics.Debug"; version = "4.0.11"; sha256 = "0gmjghrqmlgzxivd2xl50ncbglb7ljzb66rlx8ws6dv8jm0d5siz"; })
+  (fetchNuGet { name = "System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; })
+  (fetchNuGet { name = "System.Diagnostics.DiagnosticSource"; version = "4.0.0"; sha256 = "1n6c3fbz7v8d3pn77h4v5wvsfrfg7v1c57lg3nff3cjyh597v23m"; })
+  (fetchNuGet { name = "System.Diagnostics.DiagnosticSource"; version = "4.3.0"; sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq"; })
+  (fetchNuGet { name = "System.Diagnostics.DiagnosticSource"; version = "4.5.0"; sha256 = "1y8m0p3127nak5yspapfnz25qc9x53gqpvwr3hdpsvrcd2r1pgyj"; })
+  (fetchNuGet { name = "System.Diagnostics.DiagnosticSource"; version = "5.0.0"; sha256 = "0phd2qizshjvglhzws1jd0cq4m54gscz4ychzr3x6wbgl4vvfrga"; })
+  (fetchNuGet { name = "System.Diagnostics.Tools"; version = "4.0.1"; sha256 = "19cknvg07yhakcvpxg3cxa0bwadplin6kyxd8mpjjpwnp56nl85x"; })
+  (fetchNuGet { name = "System.Diagnostics.Tools"; version = "4.3.0"; sha256 = "0in3pic3s2ddyibi8cvgl102zmvp9r9mchh82ns9f0ms4basylw1"; })
+  (fetchNuGet { name = "System.Diagnostics.Tracing"; version = "4.1.0"; sha256 = "1d2r76v1x610x61ahfpigda89gd13qydz6vbwzhpqlyvq8jj6394"; })
+  (fetchNuGet { name = "System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4"; })
+  (fetchNuGet { name = "System.Dynamic.Runtime"; version = "4.0.11"; sha256 = "1pla2dx8gkidf7xkciig6nifdsb494axjvzvann8g2lp3dbqasm9"; })
+  (fetchNuGet { name = "System.Dynamic.Runtime"; version = "4.3.0"; sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk"; })
+  (fetchNuGet { name = "System.Formats.Asn1"; version = "5.0.0"; sha256 = "1axc8z0839yvqi2cb63l73l6d9j6wd20lsbdymwddz9hvrsgfwpn"; })
+  (fetchNuGet { name = "System.Globalization"; version = "4.0.11"; sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d"; })
+  (fetchNuGet { name = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; })
+  (fetchNuGet { name = "System.Globalization.Calendars"; version = "4.0.1"; sha256 = "0bv0alrm2ck2zk3rz25lfyk9h42f3ywq77mx1syl6vvyncnpg4qh"; })
+  (fetchNuGet { name = "System.Globalization.Calendars"; version = "4.3.0"; sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq"; })
+  (fetchNuGet { name = "System.Globalization.Extensions"; version = "4.0.1"; sha256 = "0hjhdb5ri8z9l93bw04s7ynwrjrhx2n0p34sf33a9hl9phz69fyc"; })
+  (fetchNuGet { name = "System.Globalization.Extensions"; version = "4.3.0"; sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls"; })
+  (fetchNuGet { name = "System.Interactive.Async"; version = "3.2.0"; sha256 = "0y5r5y7dlccjpgg17rjrrzi3jya4ysyydamxs33qckkv4jb3534d"; })
+  (fetchNuGet { name = "System.IO"; version = "4.1.0"; sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp"; })
+  (fetchNuGet { name = "System.IO"; version = "4.3.0"; sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; })
+  (fetchNuGet { name = "System.IO.Compression"; version = "4.1.0"; sha256 = "0iym7s3jkl8n0vzm3jd6xqg9zjjjqni05x45dwxyjr2dy88hlgji"; })
+  (fetchNuGet { name = "System.IO.Compression"; version = "4.3.0"; sha256 = "084zc82yi6yllgda0zkgl2ys48sypiswbiwrv7irb3r0ai1fp4vz"; })
+  (fetchNuGet { name = "System.IO.Compression.ZipFile"; version = "4.0.1"; sha256 = "0h72znbagmgvswzr46mihn7xm7chfk2fhrp5krzkjf29pz0i6z82"; })
+  (fetchNuGet { name = "System.IO.Compression.ZipFile"; version = "4.3.0"; sha256 = "1yxy5pq4dnsm9hlkg9ysh5f6bf3fahqqb6p8668ndy5c0lk7w2ar"; })
+  (fetchNuGet { name = "System.IO.FileSystem"; version = "4.0.1"; sha256 = "0kgfpw6w4djqra3w5crrg8xivbanh1w9dh3qapb28q060wb9flp1"; })
+  (fetchNuGet { name = "System.IO.FileSystem"; version = "4.3.0"; sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw"; })
+  (fetchNuGet { name = "System.IO.FileSystem.Primitives"; version = "4.0.1"; sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612"; })
+  (fetchNuGet { name = "System.IO.FileSystem.Primitives"; version = "4.3.0"; sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; })
+  (fetchNuGet { name = "System.IO.Packaging"; version = "5.0.0"; sha256 = "08l85pi8jy65las973szqdnir2awxp0r16h21c0bgrz19gxhs11n"; })
+  (fetchNuGet { name = "System.IO.Pipelines"; version = "5.0.1"; sha256 = "1zvfcd2l1d5qxifsqd0cjyv57nr61a9ac2ca5jinyqmj32wgjd6v"; })
+  (fetchNuGet { name = "System.Linq"; version = "4.1.0"; sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5"; })
+  (fetchNuGet { name = "System.Linq"; version = "4.3.0"; sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; })
+  (fetchNuGet { name = "System.Linq.Expressions"; version = "4.1.0"; sha256 = "1gpdxl6ip06cnab7n3zlcg6mqp7kknf73s8wjinzi4p0apw82fpg"; })
+  (fetchNuGet { name = "System.Linq.Expressions"; version = "4.3.0"; sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv"; })
+  (fetchNuGet { name = "System.Linq.Queryable"; version = "4.0.1"; sha256 = "11jn9k34g245yyf260gr3ldzvaqa9477w2c5nhb1p8vjx4xm3qaw"; })
+  (fetchNuGet { name = "System.Management"; version = "4.5.0"; sha256 = "19z5x23n21xi94bgl531l9hrm64nyw9d5fpd7klfvr5xfsbh9jwr"; })
+  (fetchNuGet { name = "System.Memory"; version = "4.5.1"; sha256 = "0f07d7hny38lq9w69wx4lxkn4wszrqf9m9js6fh9is645csm167c"; })
+  (fetchNuGet { name = "System.Memory"; version = "4.5.3"; sha256 = "0naqahm3wljxb5a911d37mwjqjdxv9l0b49p5dmfyijvni2ppy8a"; })
+  (fetchNuGet { name = "System.Memory"; version = "4.5.4"; sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y"; })
+  (fetchNuGet { name = "System.Net.Http"; version = "4.1.0"; sha256 = "1i5rqij1icg05j8rrkw4gd4pgia1978mqhjzhsjg69lvwcdfg8yb"; })
+  (fetchNuGet { name = "System.Net.Http"; version = "4.3.0"; sha256 = "1i4gc757xqrzflbk7kc5ksn20kwwfjhw9w7pgdkn19y3cgnl302j"; })
+  (fetchNuGet { name = "System.Net.Primitives"; version = "4.0.11"; sha256 = "10xzzaynkzkakp7jai1ik3r805zrqjxiz7vcagchyxs2v26a516r"; })
+  (fetchNuGet { name = "System.Net.Primitives"; version = "4.3.0"; sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii"; })
+  (fetchNuGet { name = "System.Net.Sockets"; version = "4.1.0"; sha256 = "1385fvh8h29da5hh58jm1v78fzi9fi5vj93vhlm2kvqpfahvpqls"; })
+  (fetchNuGet { name = "System.Net.Sockets"; version = "4.3.0"; sha256 = "1ssa65k6chcgi6mfmzrznvqaxk8jp0gvl77xhf1hbzakjnpxspla"; })
+  (fetchNuGet { name = "System.Numerics.Vectors"; version = "4.4.0"; sha256 = "0rdvma399070b0i46c4qq1h2yvjj3k013sqzkilz4bz5cwmx1rba"; })
+  (fetchNuGet { name = "System.Numerics.Vectors"; version = "4.5.0"; sha256 = "1kzrj37yzawf1b19jq0253rcs8hsq1l2q8g69d7ipnhzb0h97m59"; })
+  (fetchNuGet { name = "System.ObjectModel"; version = "4.0.12"; sha256 = "1sybkfi60a4588xn34nd9a58png36i0xr4y4v4kqpg8wlvy5krrj"; })
+  (fetchNuGet { name = "System.ObjectModel"; version = "4.3.0"; sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2"; })
+  (fetchNuGet { name = "System.Reflection"; version = "4.1.0"; sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9"; })
+  (fetchNuGet { name = "System.Reflection"; version = "4.3.0"; sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; })
+  (fetchNuGet { name = "System.Reflection.Emit"; version = "4.0.1"; sha256 = "0ydqcsvh6smi41gyaakglnv252625hf29f7kywy2c70nhii2ylqp"; })
+  (fetchNuGet { name = "System.Reflection.Emit"; version = "4.3.0"; sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74"; })
+  (fetchNuGet { name = "System.Reflection.Emit"; version = "4.6.0"; sha256 = "18h375q5bn9h7swxnk4krrxym1dxmi9bm26p89xps9ygrj4q6zqw"; })
+  (fetchNuGet { name = "System.Reflection.Emit"; version = "4.7.0"; sha256 = "121l1z2ypwg02yz84dy6gr82phpys0njk7yask3sihgy214w43qp"; })
+  (fetchNuGet { name = "System.Reflection.Emit.ILGeneration"; version = "4.0.1"; sha256 = "1pcd2ig6bg144y10w7yxgc9d22r7c7ww7qn1frdfwgxr24j9wvv0"; })
+  (fetchNuGet { name = "System.Reflection.Emit.ILGeneration"; version = "4.3.0"; sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q"; })
+  (fetchNuGet { name = "System.Reflection.Emit.Lightweight"; version = "4.0.1"; sha256 = "1s4b043zdbx9k39lfhvsk68msv1nxbidhkq6nbm27q7sf8xcsnxr"; })
+  (fetchNuGet { name = "System.Reflection.Emit.Lightweight"; version = "4.3.0"; sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c"; })
+  (fetchNuGet { name = "System.Reflection.Emit.Lightweight"; version = "4.6.0"; sha256 = "0hry2k6b7kicg4zxnq0hhn0ys52711pxy7l9v5sp7gvp9cicwpgp"; })
+  (fetchNuGet { name = "System.Reflection.Extensions"; version = "4.0.1"; sha256 = "0m7wqwq0zqq9gbpiqvgk3sr92cbrw7cp3xn53xvw7zj6rz6fdirn"; })
+  (fetchNuGet { name = "System.Reflection.Extensions"; version = "4.3.0"; sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq"; })
+  (fetchNuGet { name = "System.Reflection.Metadata"; version = "5.0.0"; sha256 = "17qsl5nanlqk9iz0l5wijdn6ka632fs1m1fvx18dfgswm258r3ss"; })
+  (fetchNuGet { name = "System.Reflection.Primitives"; version = "4.0.1"; sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28"; })
+  (fetchNuGet { name = "System.Reflection.Primitives"; version = "4.3.0"; sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; })
+  (fetchNuGet { name = "System.Reflection.TypeExtensions"; version = "4.1.0"; sha256 = "1bjli8a7sc7jlxqgcagl9nh8axzfl11f4ld3rjqsyxc516iijij7"; })
+  (fetchNuGet { name = "System.Reflection.TypeExtensions"; version = "4.3.0"; sha256 = "0y2ssg08d817p0vdag98vn238gyrrynjdj4181hdg780sif3ykp1"; })
+  (fetchNuGet { name = "System.Resources.ResourceManager"; version = "4.0.1"; sha256 = "0b4i7mncaf8cnai85jv3wnw6hps140cxz8vylv2bik6wyzgvz7bi"; })
+  (fetchNuGet { name = "System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; })
+  (fetchNuGet { name = "System.Runtime"; version = "4.1.0"; sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m"; })
+  (fetchNuGet { name = "System.Runtime"; version = "4.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; })
+  (fetchNuGet { name = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.1"; sha256 = "1xcrjx5fwg284qdnxyi2d0lzdm5q4frlpkp0nf6vvkx1kdz2prrf"; })
+  (fetchNuGet { name = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.2"; sha256 = "1vz4275fjij8inf31np78hw50al8nqkngk04p3xv5n4fcmf1grgi"; })
+  (fetchNuGet { name = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.3"; sha256 = "1afi6s2r1mh1kygbjmfba6l4f87pi5sg13p4a48idqafli94qxln"; })
+  (fetchNuGet { name = "System.Runtime.CompilerServices.Unsafe"; version = "5.0.0"; sha256 = "02k25ivn50dmqx5jn8hawwmz24yf0454fjd823qk6lygj9513q4x"; })
+  (fetchNuGet { name = "System.Runtime.Extensions"; version = "4.1.0"; sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z"; })
+  (fetchNuGet { name = "System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; })
+  (fetchNuGet { name = "System.Runtime.Handles"; version = "4.0.1"; sha256 = "1g0zrdi5508v49pfm3iii2hn6nm00bgvfpjq1zxknfjrxxa20r4g"; })
+  (fetchNuGet { name = "System.Runtime.Handles"; version = "4.3.0"; sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; })
+  (fetchNuGet { name = "System.Runtime.InteropServices"; version = "4.1.0"; sha256 = "01kxqppx3dr3b6b286xafqilv4s2n0gqvfgzfd4z943ga9i81is1"; })
+  (fetchNuGet { name = "System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; })
+  (fetchNuGet { name = "System.Runtime.InteropServices.RuntimeInformation"; version = "4.0.0"; sha256 = "0glmvarf3jz5xh22iy3w9v3wyragcm4hfdr17v90vs7vcrm7fgp6"; })
+  (fetchNuGet { name = "System.Runtime.InteropServices.RuntimeInformation"; version = "4.3.0"; sha256 = "0q18r1sh4vn7bvqgd6dmqlw5v28flbpj349mkdish2vjyvmnb2ii"; })
+  (fetchNuGet { name = "System.Runtime.Numerics"; version = "4.0.1"; sha256 = "1y308zfvy0l5nrn46mqqr4wb4z1xk758pkk8svbz8b5ij7jnv4nn"; })
+  (fetchNuGet { name = "System.Runtime.Numerics"; version = "4.3.0"; sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z"; })
+  (fetchNuGet { name = "System.Runtime.Serialization.Primitives"; version = "4.1.1"; sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k"; })
+  (fetchNuGet { name = "System.Security.AccessControl"; version = "5.0.0"; sha256 = "17n3lrrl6vahkqmhlpn3w20afgz09n7i6rv0r3qypngwi7wqdr5r"; })
+  (fetchNuGet { name = "System.Security.Cryptography.Algorithms"; version = "4.2.0"; sha256 = "148s9g5dgm33ri7dnh19s4lgnlxbpwvrw2jnzllq2kijj4i4vs85"; })
+  (fetchNuGet { name = "System.Security.Cryptography.Algorithms"; version = "4.3.0"; sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml"; })
+  (fetchNuGet { name = "System.Security.Cryptography.Cng"; version = "4.2.0"; sha256 = "118jijz446kix20blxip0f0q8mhsh9bz118mwc2ch1p6g7facpzc"; })
+  (fetchNuGet { name = "System.Security.Cryptography.Cng"; version = "4.3.0"; sha256 = "1k468aswafdgf56ab6yrn7649kfqx2wm9aslywjam1hdmk5yypmv"; })
+  (fetchNuGet { name = "System.Security.Cryptography.Cng"; version = "5.0.0"; sha256 = "06hkx2za8jifpslkh491dfwzm5dxrsyxzj5lsc0achb6yzg4zqlw"; })
+  (fetchNuGet { name = "System.Security.Cryptography.Csp"; version = "4.0.0"; sha256 = "1cwv8lqj8r15q81d2pz2jwzzbaji0l28xfrpw29kdpsaypm92z2q"; })
+  (fetchNuGet { name = "System.Security.Cryptography.Csp"; version = "4.3.0"; sha256 = "1x5wcrddf2s3hb8j78cry7yalca4lb5vfnkrysagbn6r9x6xvrx1"; })
+  (fetchNuGet { name = "System.Security.Cryptography.Encoding"; version = "4.0.0"; sha256 = "0a8y1a5wkmpawc787gfmnrnbzdgxmx1a14ax43jf3rj9gxmy3vk4"; })
+  (fetchNuGet { name = "System.Security.Cryptography.Encoding"; version = "4.3.0"; sha256 = "1jr6w70igqn07k5zs1ph6xja97hxnb3mqbspdrff6cvssgrixs32"; })
+  (fetchNuGet { name = "System.Security.Cryptography.OpenSsl"; version = "4.0.0"; sha256 = "16sx3cig3d0ilvzl8xxgffmxbiqx87zdi8fc73i3i7zjih1a7f4q"; })
+  (fetchNuGet { name = "System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0givpvvj8yc7gv4lhb6s1prq6p2c4147204a0wib89inqzd87gqc"; })
+  (fetchNuGet { name = "System.Security.Cryptography.Pkcs"; version = "5.0.0"; sha256 = "0hb2mndac3xrw3786bsjxjfh19bwnr991qib54k6wsqjhjyyvbwj"; })
+  (fetchNuGet { name = "System.Security.Cryptography.Primitives"; version = "4.0.0"; sha256 = "0i7cfnwph9a10bm26m538h5xcr8b36jscp9sy1zhgifksxz4yixh"; })
+  (fetchNuGet { name = "System.Security.Cryptography.Primitives"; version = "4.3.0"; sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby"; })
+  (fetchNuGet { name = "System.Security.Cryptography.ProtectedData"; version = "4.4.0"; sha256 = "1q8ljvqhasyynp94a1d7jknk946m20lkwy2c3wa8zw2pc517fbj6"; })
+  (fetchNuGet { name = "System.Security.Cryptography.X509Certificates"; version = "4.1.0"; sha256 = "0clg1bv55mfv5dq00m19cp634zx6inm31kf8ppbq1jgyjf2185dh"; })
+  (fetchNuGet { name = "System.Security.Cryptography.X509Certificates"; version = "4.3.0"; sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h"; })
+  (fetchNuGet { name = "System.Security.Principal.Windows"; version = "5.0.0"; sha256 = "1mpk7xj76lxgz97a5yg93wi8lj0l8p157a5d50mmjy3gbz1904q8"; })
+  (fetchNuGet { name = "System.Text.Encoding"; version = "4.0.11"; sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw"; })
+  (fetchNuGet { name = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; })
+  (fetchNuGet { name = "System.Text.Encoding.CodePages"; version = "4.5.1"; sha256 = "1z21qyfs6sg76rp68qdx0c9iy57naan89pg7p6i3qpj8kyzn921w"; })
+  (fetchNuGet { name = "System.Text.Encoding.CodePages"; version = "5.0.0"; sha256 = "1bn2pzaaq4wx9ixirr8151vm5hynn3lmrljcgjx9yghmm4k677k0"; })
+  (fetchNuGet { name = "System.Text.Encoding.Extensions"; version = "4.0.11"; sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs"; })
+  (fetchNuGet { name = "System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; })
+  (fetchNuGet { name = "System.Text.Encodings.Web"; version = "5.0.1"; sha256 = "00yg63qnp94q2qryxxggzigi276bibb8b3b96gcvsyrxy7b703n9"; })
+  (fetchNuGet { name = "System.Text.Json"; version = "4.7.0"; sha256 = "0fp3xrysccm5dkaac4yb51d793vywxks978kkl5x4db9gw29rfdr"; })
+  (fetchNuGet { name = "System.Text.Json"; version = "5.0.2"; sha256 = "0vd0wd29cdhgcjngl9sw391sn2s8xm974y15zvym0whsdgjwiqfx"; })
+  (fetchNuGet { name = "System.Text.RegularExpressions"; version = "4.1.0"; sha256 = "1mw7vfkkyd04yn2fbhm38msk7dz2xwvib14ygjsb8dq2lcvr18y7"; })
+  (fetchNuGet { name = "System.Text.RegularExpressions"; version = "4.3.0"; sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l"; })
+  (fetchNuGet { name = "System.Threading"; version = "4.0.11"; sha256 = "19x946h926bzvbsgj28csn46gak2crv2skpwsx80hbgazmkgb1ls"; })
+  (fetchNuGet { name = "System.Threading"; version = "4.3.0"; sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; })
+  (fetchNuGet { name = "System.Threading.Channels"; version = "5.0.0"; sha256 = "11z28x3cawry60l5phkqrvavm0mshz84n4c79hrz0p65lq8jpxgs"; })
+  (fetchNuGet { name = "System.Threading.Tasks"; version = "4.0.11"; sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5"; })
+  (fetchNuGet { name = "System.Threading.Tasks"; version = "4.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; })
+  (fetchNuGet { name = "System.Threading.Tasks.Extensions"; version = "4.0.0"; sha256 = "1cb51z062mvc2i8blpzmpn9d9mm4y307xrwi65di8ri18cz5r1zr"; })
+  (fetchNuGet { name = "System.Threading.Tasks.Extensions"; version = "4.3.0"; sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z"; })
+  (fetchNuGet { name = "System.Threading.Tasks.Extensions"; version = "4.5.2"; sha256 = "1sh63dz0dymqcwmprp0nadm77b83vmm7lyllpv578c397bslb8hj"; })
+  (fetchNuGet { name = "System.Threading.Tasks.Extensions"; version = "4.5.3"; sha256 = "0g7r6hm572ax8v28axrdxz1gnsblg6kszq17g51pj14a5rn2af7i"; })
+  (fetchNuGet { name = "System.Threading.Tasks.Extensions"; version = "4.5.4"; sha256 = "0y6ncasgfcgnjrhynaf0lwpkpkmv4a07sswwkwbwb5h7riisj153"; })
+  (fetchNuGet { name = "System.Threading.Thread"; version = "4.0.0"; sha256 = "1gxxm5fl36pjjpnx1k688dcw8m9l7nmf802nxis6swdaw8k54jzc"; })
+  (fetchNuGet { name = "System.Threading.Timer"; version = "4.0.1"; sha256 = "15n54f1f8nn3mjcjrlzdg6q3520571y012mx7v991x2fvp73lmg6"; })
+  (fetchNuGet { name = "System.Threading.Timer"; version = "4.3.0"; sha256 = "1nx773nsx6z5whv8kaa1wjh037id2f1cxhb69pvgv12hd2b6qs56"; })
+  (fetchNuGet { name = "System.Xml.ReaderWriter"; version = "4.0.11"; sha256 = "0c6ky1jk5ada9m94wcadih98l6k1fvf6vi7vhn1msjixaha419l5"; })
+  (fetchNuGet { name = "System.Xml.ReaderWriter"; version = "4.3.0"; sha256 = "0c47yllxifzmh8gq6rq6l36zzvw4kjvlszkqa9wq3fr59n0hl3s1"; })
+  (fetchNuGet { name = "System.Xml.XDocument"; version = "4.0.11"; sha256 = "0n4lvpqzy9kc7qy1a4acwwd7b7pnvygv895az5640idl2y9zbz18"; })
+  (fetchNuGet { name = "System.Xml.XDocument"; version = "4.3.0"; sha256 = "08h8fm4l77n0nd4i4fk2386y809bfbwqb7ih9d7564ifcxr5ssxd"; })
 ]
diff --git a/nixpkgs/pkgs/games/osu-lazer/update.sh b/nixpkgs/pkgs/games/osu-lazer/update.sh
index b5c8208fe41b..2fe30ebec143 100755
--- a/nixpkgs/pkgs/games/osu-lazer/update.sh
+++ b/nixpkgs/pkgs/games/osu-lazer/update.sh
@@ -1,5 +1,5 @@
 #!/usr/bin/env nix-shell
-#!nix-shell -i bash -p curl jq common-updater-scripts dotnet-sdk_5
+#!nix-shell -i bash -p curl jq common-updater-scripts nuget-to-nix dotnet-sdk_5
 set -eo pipefail
 cd "$(dirname "${BASH_SOURCE[0]}")"
 
@@ -25,21 +25,7 @@ pushd "$src"
 mkdir ./nuget_tmp.packages
 dotnet restore osu.Desktop --packages ./nuget_tmp.packages --runtime linux-x64
 
-echo "{ fetchNuGet }: [" >"$deps_file"
-while read pkg_spec; do
-  { read pkg_name; read pkg_version; } < <(
-    # Build version part should be ignored: `3.0.0-beta2.20059.3+77df2220` -> `3.0.0-beta2.20059.3`
-    sed -nE 's/.*<id>([^<]*).*/\1/p; s/.*<version>([^<+]*).*/\1/p' "$pkg_spec")
-  pkg_sha256="$(nix-hash --type sha256 --flat --base32 "$(dirname "$pkg_spec")"/*.nupkg)"
-  cat >>"$deps_file" <<EOF
-  (fetchNuGet {
-    name = "$pkg_name";
-    version = "$pkg_version";
-    sha256 = "$pkg_sha256";
-  })
-EOF
-done < <(find ./nuget_tmp.packages -name '*.nuspec' | sort)
-echo "]" >>"$deps_file"
+nuget-to-nix ./nuget_tmp.packages > "$deps_file"
 
 popd
 rm -r "$src"
diff --git a/nixpkgs/pkgs/games/pioneer/default.nix b/nixpkgs/pkgs/games/pioneer/default.nix
index 51eda72bdefc..cd827131a706 100644
--- a/nixpkgs/pkgs/games/pioneer/default.nix
+++ b/nixpkgs/pkgs/games/pioneer/default.nix
@@ -25,6 +25,8 @@ stdenv.mkDerivation rec {
     export PIONEER_DATA_DIR="$out/share/pioneer/data";
   '';
 
+  makeFlags = [ "build-data" ];
+
   meta = with lib; {
     description = "A space adventure game set in the Milky Way galaxy at the turn of the 31st century";
     homepage = "https://pioneerspacesim.net";
diff --git a/nixpkgs/pkgs/games/pokerth/default.nix b/nixpkgs/pkgs/games/pokerth/default.nix
index 349dd5d85cba..1c9879f8beb9 100644
--- a/nixpkgs/pkgs/games/pokerth/default.nix
+++ b/nixpkgs/pkgs/games/pokerth/default.nix
@@ -61,8 +61,6 @@ mkDerivation rec {
 
   NIX_CFLAGS_COMPILE = "-I${SDL.dev}/include/SDL";
 
-  enableParallelBuilding = true;
-
   meta = with lib; {
     homepage = "https://www.pokerth.net";
     description = "Poker game ${target}";
diff --git a/nixpkgs/pkgs/games/qgo/default.nix b/nixpkgs/pkgs/games/qgo/default.nix
index ea8c8aaeac87..cc28ebc63f3c 100644
--- a/nixpkgs/pkgs/games/qgo/default.nix
+++ b/nixpkgs/pkgs/games/qgo/default.nix
@@ -43,6 +43,4 @@ mkDerivation {
   '';
   nativeBuildInputs = [ qmake ];
   buildInputs = [ qtbase qtmultimedia qttranslations ];
-  enableParallelBuilding = true;
-
 }
diff --git a/nixpkgs/pkgs/games/quake3/ioquake/default.nix b/nixpkgs/pkgs/games/quake3/ioquake/default.nix
index e006507a6335..1ac8a41ca1a7 100644
--- a/nixpkgs/pkgs/games/quake3/ioquake/default.nix
+++ b/nixpkgs/pkgs/games/quake3/ioquake/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation {
   pname = "ioquake3-git";
-  version = "2020-12-26";
+  version = "2021-07-20";
 
   src = fetchFromGitHub {
     owner = "ioquake";
     repo = "ioq3";
-    rev = "05180e32dcfb9a4552e1b9652b56127248a9950c";
-    sha256 = "0hcxxa1ambpdwhg7nb5hvb32g49rl5p9dcflpzcv5cax9drn166i";
+    rev = "bc8737d707595aebd7cc11d6d5a5d65ede750f59";
+    sha256 = "1icrkaw6c5c5ndy886bn65lycwnxzxwvz0ndz4p9i6r716k11add";
   };
 
   nativeBuildInputs = [ which pkg-config ];
diff --git a/nixpkgs/pkgs/games/quakespasm/default.nix b/nixpkgs/pkgs/games/quakespasm/default.nix
index 41589caed6db..87ecd4601339 100644
--- a/nixpkgs/pkgs/games/quakespasm/default.nix
+++ b/nixpkgs/pkgs/games/quakespasm/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, SDL, fetchurl, gzip, libvorbis, libmad }:
+{ lib, stdenv, SDL, fetchurl, gzip, libvorbis, libmad, copyDesktopItems, makeDesktopItem }:
 
 stdenv.mkDerivation rec {
   pname = "quakespasm";
@@ -12,6 +12,7 @@ stdenv.mkDerivation rec {
 
   sourceRoot = "${pname}-${version}/Quake";
 
+  nativeBuildInputs = [ copyDesktopItems ];
   buildInputs = [
     gzip SDL libvorbis libmad
   ];
@@ -25,6 +26,15 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  desktopItems = [
+    (makeDesktopItem {
+      name = "quakespasm";
+      exec = "quake";
+      desktopName = "Quakespasm";
+      categories = "Game;";
+    })
+  ];
+
   meta = with lib; {
     description = "An engine for iD software's Quake";
     homepage = "http://quakespasm.sourceforge.net/";
diff --git a/nixpkgs/pkgs/games/quakespasm/vulkan.nix b/nixpkgs/pkgs/games/quakespasm/vulkan.nix
index 0d0b03f514b8..c8882349ce27 100644
--- a/nixpkgs/pkgs/games/quakespasm/vulkan.nix
+++ b/nixpkgs/pkgs/games/quakespasm/vulkan.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "vkquake";
-  version = "1.05.2";
+  version = "1.05.3";
 
   src = fetchFromGitHub {
     owner = "Novum";
     repo = "vkQuake";
     rev = version;
-    sha256 = "sha256-h4TpeOwCK3Ynd+XZKo7wHncWS1OI6+b9SReD5xMK9zk=";
+    sha256 = "sha256-nrqxfJbTkaPgKozkS6ulUZNXymkpw0bbQBHUZEFnLhs=";
   };
 
   sourceRoot = "source/Quake";
diff --git a/nixpkgs/pkgs/games/randtype/default.nix b/nixpkgs/pkgs/games/randtype/default.nix
new file mode 100644
index 000000000000..0eaf2c092160
--- /dev/null
+++ b/nixpkgs/pkgs/games/randtype/default.nix
@@ -0,0 +1,31 @@
+{ lib, stdenv, fetchzip, zlib }:
+
+stdenv.mkDerivation rec {
+  pname = "randtype";
+  version = "1.13";
+
+  src = fetchzip {
+    url = "mirror://sourceforge/randtype/${pname}-${version}.tar.gz";
+    sha256 = "055xs02qwpgbkn2l57bwghbsrsysg1zhm2asp0byvjpz4sc4w1rd";
+  };
+
+  buildInputs = [ zlib ];
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/share/man/man1 $out/bin
+    install -cp randtype.1.gz $out/share/man/man1
+    install -cps randtype $out/bin
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "semi-random text typer";
+    homepage = "https://benkibbey.wordpress.com/randtype/";
+    maintainers = with maintainers; [ dandellion ];
+    license = licenses.gpl2Only;
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/games/rimshot/default.nix b/nixpkgs/pkgs/games/rimshot/default.nix
index 1f4efa5097bd..997da768c6d4 100644
--- a/nixpkgs/pkgs/games/rimshot/default.nix
+++ b/nixpkgs/pkgs/games/rimshot/default.nix
@@ -27,8 +27,6 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ makeWrapper unzip ];
   buildInputs = [ lua love ];
 
-  phases = [ "unpackPhase" "installPhase" ];
-
   unpackPhase = ''
     unzip -j $src
   '';
diff --git a/nixpkgs/pkgs/games/rott/default.nix b/nixpkgs/pkgs/games/rott/default.nix
new file mode 100644
index 000000000000..cac357faf2e0
--- /dev/null
+++ b/nixpkgs/pkgs/games/rott/default.nix
@@ -0,0 +1,54 @@
+{stdenv, lib, fetchurl, SDL, SDL_mixer, makeDesktopItem, copyDesktopItems, runtimeShell, buildShareware ? false}:
+
+stdenv.mkDerivation rec {
+  pname = "rott";
+  version = "1.1.2";
+
+  src = fetchurl {
+    url = "https://icculus.org/rott/releases/${pname}-${version}.tar.gz";
+    sha256 = "1zr7v5dv2iqx40gzxbg8mhac7fxz3kqf28y6ysxv1xhjqgl1c98h";
+  };
+
+  nativeBuildInputs = [ copyDesktopItems ];
+  buildInputs = [ SDL SDL_mixer ];
+
+  preBuild = ''
+    cd rott
+    make clean
+    make SHAREWARE=${if buildShareware then "1" else "0"}
+  '';
+
+  # Include a wrapper script to allow the game to be launched from a user's PATH and load the game data from the user's home directory.
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp rott $out/bin
+
+    cat > $out/bin/launch-rott <<EOF
+    #! ${runtimeShell} -e
+    cd ~/.rott/data
+    exec $out/bin/rott
+    EOF
+
+    chmod +x $out/bin/launch-rott
+
+    runHook postInstall
+  '';
+
+  desktopItems = [
+    (makeDesktopItem {
+      name = "rott";
+      exec = "launch-rott";
+      desktopName = "Rise of the Triad: ${if buildShareware then "The HUNT Begins" else "Dark War"}";
+      categories = "Game;";
+    })
+  ];
+
+  meta = with lib; {
+    description = "SDL port of Rise of the Triad";
+    homepage = "https://icculus.org/rott/";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ sander ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/games/rpg-cli/default.nix b/nixpkgs/pkgs/games/rpg-cli/default.nix
index 44e35c3787d7..602bdb1ee31b 100644
--- a/nixpkgs/pkgs/games/rpg-cli/default.nix
+++ b/nixpkgs/pkgs/games/rpg-cli/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rpg-cli";
-  version = "0.5.0";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "facundoolano";
     repo = pname;
     rev = version;
-    sha256 = "sha256-LRTHnYxjPraVISAERT6XJGKIA3YJIilgEwU6olq2CRc=";
+    sha256 = "sha256-R0Yaxe7Z1gPH0pvfytl5lOJKDZi4hN/upY/baMLc3Aw=";
   };
 
-  cargoSha256 = "sha256-ZlQy/JiYKDKPCEWrAFvKV6WsAkk2zsPpfJADB+kPyuo=";
+  cargoSha256 = "sha256-pvhZlj1uy5DZV+RBnqkUlVQPdQqGhh0YLE9aGFS3s1g=";
 
   # tests assume the authors macbook, and thus fail
   doCheck = false;
diff --git a/nixpkgs/pkgs/games/scid-vs-pc/default.nix b/nixpkgs/pkgs/games/scid-vs-pc/default.nix
index 9d3cdeb02e93..e6fb00eb76cf 100644
--- a/nixpkgs/pkgs/games/scid-vs-pc/default.nix
+++ b/nixpkgs/pkgs/games/scid-vs-pc/default.nix
@@ -2,11 +2,11 @@
 
 tcl.mkTclDerivation rec {
   pname = "scid-vs-pc";
-  version = "4.21";
+  version = "4.22";
 
   src = fetchurl {
     url = "mirror://sourceforge/scidvspc/scid_vs_pc-${version}.tgz";
-    sha256 = "1lsm5s2hlhqbmwm6f38jlg2kc4j6lwp86lg6z3w6nc3jibzgvsay";
+    sha256 = "sha256-PSHDPrfhJI/DyEVQLo8Ckargqf/iUG5PgvUbO/4WNJM=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/games/scrolls/default.nix b/nixpkgs/pkgs/games/scrolls/default.nix
index cdeab7b10d35..fad783571c5d 100644
--- a/nixpkgs/pkgs/games/scrolls/default.nix
+++ b/nixpkgs/pkgs/games/scrolls/default.nix
@@ -29,7 +29,6 @@ stdenv.mkDerivation {
     libpulseaudio
   ];
 
-  phases = [ "unpackPhase" "installPhase" ];
   installPhase = ''
     mkdir -p "$out/opt/Scrolls"
     cp -r ../Scrolls "$out/opt/Scrolls/"
diff --git a/nixpkgs/pkgs/games/shattered-pixel-dungeon/default.nix b/nixpkgs/pkgs/games/shattered-pixel-dungeon/default.nix
index ec18a26829fb..e67a9f6d470e 100644
--- a/nixpkgs/pkgs/games/shattered-pixel-dungeon/default.nix
+++ b/nixpkgs/pkgs/games/shattered-pixel-dungeon/default.nix
@@ -10,23 +10,23 @@
 
 let
   pname = "shattered-pixel-dungeon";
-  version = "0.9.3";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "00-Evan";
     repo = "shattered-pixel-dungeon";
     # NOTE: always use the commit sha, not the tag. Tags _will_ disappear!
     # https://github.com/00-Evan/shattered-pixel-dungeon/issues/596
-    rev = "785c869f2b61013a15fddbf5f0c65d67fe900e80";
-    sha256 = "sha256-d7Fc1IPOW/0RwLYe9vwaD3gFw6div2/J0DOFdWYDXWY=";
+    rev = "1f296a2d1088ad35421f5f8040a9f0803fa46ba8";
+    sha256 = "sha256-MzHdUAzCR2JtIdY1SGuge3xgR6qIhNYxUPOxA+TZtLE=";
   };
 
   postPatch = ''
     # disable gradle plugins with native code and their targets
     perl -i.bak1 -pe "s#(^\s*id '.+' version '.+'$)#// \1#" build.gradle
-    perl -i.bak2 -pe "s#(.*)#// \1# if /^(buildscript|task portable|task nsis|task proguard|task tgz|task\(afterEclipseImport\)|launch4j|macAppBundle|buildRpm|buildDeb|shadowJar)/ ... /^}/" build.gradle
-    # Remove unbuildable android stuff
-    rm android/build.gradle
+    perl -i.bak2 -pe "s#(.*)#// \1# if /^(buildscript|task portable|task nsis|task proguard|task tgz|task\(afterEclipseImport\)|launch4j|macAppBundle|buildRpm|buildDeb|shadowJar|robovm)/ ... /^}/" build.gradle
+    # Remove unbuildable Android/iOS stuff
+    rm android/build.gradle ios/build.gradle
   '';
 
   # fake build to pre-download deps into fixed-output derivation
@@ -46,9 +46,8 @@ let
         | perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \
         | sh
     '';
-    outputHashAlgo = "sha256";
     outputHashMode = "recursive";
-    outputHash = "0ih10c6c85vhrqgilqmkzqjx3dc8cscvs9wkh90zgdj10qv0iba3";
+    outputHash = "sha256-0P/BcjNnbDN25DguRcCyzPuUG7bouxEx1ySodIbSwvg=";
   };
 
 in stdenv.mkDerivation rec {
diff --git a/nixpkgs/pkgs/games/sienna/default.nix b/nixpkgs/pkgs/games/sienna/default.nix
index 24f5fc088769..59f01f6a2c47 100644
--- a/nixpkgs/pkgs/games/sienna/default.nix
+++ b/nixpkgs/pkgs/games/sienna/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ lua love ];
 
-  phases = "installPhase";
+  dontUnpack = true;
 
   installPhase =
   ''
diff --git a/nixpkgs/pkgs/games/spring/default.nix b/nixpkgs/pkgs/games/spring/default.nix
index 21aca5730628..b6e6505fd088 100644
--- a/nixpkgs/pkgs/games/spring/default.nix
+++ b/nixpkgs/pkgs/games/spring/default.nix
@@ -7,9 +7,9 @@
 
 stdenv.mkDerivation rec {
   pname = "spring";
-  version = "104.0.1-${buildId}-g${shortRev}";
+  version = "105.0.1-${buildId}-g${shortRev}";
   # usually the latest in https://github.com/spring/spring/commits/maintenance
-  rev = "f266c8107b3e5dda5a78061ef00ca0ed8736d6f2";
+  rev = "8581792eac65e07cbed182ccb1e90424ce3bd8fc";
   shortRev = builtins.substring 0 7 rev;
   buildId = "1486";
 
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     owner = "spring";
     repo = pname;
     inherit rev;
-    sha256 = "1nx68d894yfmqc6df72hmk75ph26fqdvlmmq58cca0vbwpz9hf5v";
+    sha256 = "05lvd8grqmv7vl8rrx02rhl0qhmm58dyi6s78b64j3fkia4sfj1r";
     fetchSubmodules = true;
   };
 
@@ -60,7 +60,5 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = with maintainers; [ phreedom qknight domenkozar sorki ];
     platforms = platforms.linux;
-    # error: 'snprintf' was not declared in this scope
-    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/games/tcl2048/default.nix b/nixpkgs/pkgs/games/tcl2048/default.nix
index 93286058b49c..b2796225a6c7 100644
--- a/nixpkgs/pkgs/games/tcl2048/default.nix
+++ b/nixpkgs/pkgs/games/tcl2048/default.nix
@@ -10,7 +10,7 @@ tcl.mkTclDerivation rec {
   };
 
   buildInputs = [ tcllib ];
-  phases = "installPhase fixupPhase";
+  dontUnpack = true;
 
   installPhase = ''
     mkdir -pv $out/bin
diff --git a/nixpkgs/pkgs/games/terraria-server/default.nix b/nixpkgs/pkgs/games/terraria-server/default.nix
index b5a8c7e486bd..e325319e39cb 100644
--- a/nixpkgs/pkgs/games/terraria-server/default.nix
+++ b/nixpkgs/pkgs/games/terraria-server/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
   urlVersion = lib.replaceChars [ "." ] [ "" ] version;
 
   src = fetchurl {
-    url = "https://terraria.org/system/dedicated_servers/archives/000/000/046/original/terraria-server-${urlVersion}.zip";
+    url = "https://terraria.org/api/download/pc-dedicated-server/terraria-server-${urlVersion}.zip";
     sha256 = "0qm4pbm1d9gax47fk4zhw9rcxvajxs36w7dghirli89i994r7g8j";
   };
 
@@ -14,17 +14,21 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ autoPatchelfHook unzip ];
 
   installPhase = ''
+    runHook preInstall
+
     mkdir -p $out/bin
     cp -r Linux $out/
     chmod +x "$out/Linux/TerrariaServer.bin.x86_64"
     ln -s "$out/Linux/TerrariaServer.bin.x86_64" $out/bin/TerrariaServer
+
+    runHook postInstall
   '';
 
   meta = with lib; {
     homepage = "https://terraria.org";
-    description =
-      "Dedicated server for Terraria, a 2D action-adventure sandbox";
+    description = "Dedicated server for Terraria, a 2D action-adventure sandbox";
     platforms = [ "x86_64-linux" ];
     license = licenses.unfree;
+    maintainers = with maintainers; [ ncfavier ];
   };
 }
diff --git a/nixpkgs/pkgs/games/the-powder-toy/default.nix b/nixpkgs/pkgs/games/the-powder-toy/default.nix
index ba232097af64..8857e3868b52 100644
--- a/nixpkgs/pkgs/games/the-powder-toy/default.nix
+++ b/nixpkgs/pkgs/games/the-powder-toy/default.nix
@@ -22,8 +22,6 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Cocoa ];
 
-  enableParallelBuilding = true;
-
   meta = with lib; {
     description = "A free 2D physics sandbox game";
     homepage = "http://powdertoy.co.uk/";
diff --git a/nixpkgs/pkgs/games/ultimatestunts/default.nix b/nixpkgs/pkgs/games/ultimatestunts/default.nix
index 2e3d54459186..0ffe86efee4c 100644
--- a/nixpkgs/pkgs/games/ultimatestunts/default.nix
+++ b/nixpkgs/pkgs/games/ultimatestunts/default.nix
@@ -3,10 +3,10 @@ pkg-config}:
 
 stdenv.mkDerivation rec {
   pname = "ultimate-stunts";
-  version = "0.7.6.1";
+  version = "0.7.7.1";
   src = fetchurl {
     url = "mirror://sourceforge/ultimatestunts/ultimatestunts-srcdata-${lib.replaceStrings ["."] [""] version}.tar.gz";
-    sha256 = "0rd565ml6l927gyq158klhni7myw8mgllhv0xl1fg9m8hlzssgrv";
+    sha256 = "sha256-/MBuSi/yxcG9k3ZwrNsHkUDzzg798AV462VZog67JtM=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/nixpkgs/pkgs/games/vapor/default.nix b/nixpkgs/pkgs/games/vapor/default.nix
index 710280652636..2fa7ca189270 100644
--- a/nixpkgs/pkgs/games/vapor/default.nix
+++ b/nixpkgs/pkgs/games/vapor/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ lua love ];
 
-  phases = "installPhase";
+  dontUnpack = true;
 
   installPhase =
   ''
diff --git a/nixpkgs/pkgs/games/vassal/default.nix b/nixpkgs/pkgs/games/vassal/default.nix
index e1fc19fa05b2..1a08fbb4dd0b 100644
--- a/nixpkgs/pkgs/games/vassal/default.nix
+++ b/nixpkgs/pkgs/games/vassal/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "VASSAL";
-  version = "3.5.3";
+  version = "3.5.8";
 
   src = fetchzip {
     url = "https://github.com/vassalengine/vassal/releases/download/${version}/${pname}-${version}-linux.tar.bz2";
-    sha256 = "sha256-r48k4Un623uYsYcdF5UAH6w/uIdgWz8WQ75BiwrApkA=";
+    sha256 = "sha256-IJ3p7+0fs/2dCbE1BOb2580upR9W/1R2/e3xmkAsJ+M=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/games/vintagestory/default.nix b/nixpkgs/pkgs/games/vintagestory/default.nix
new file mode 100644
index 000000000000..721b8c921d24
--- /dev/null
+++ b/nixpkgs/pkgs/games/vintagestory/default.nix
@@ -0,0 +1,85 @@
+{ lib
+, stdenv
+, fetchurl
+, makeWrapper
+, makeDesktopItem
+, copyDesktopItems
+, mono
+, xorg
+, gtk2
+, sqlite
+, openal
+, cairo
+, libGLU
+, SDL2
+, freealut
+}:
+
+stdenv.mkDerivation rec {
+  pname = "vintagestory";
+  version = "1.15.5";
+
+  src = fetchurl {
+    url = "https://cdn.vintagestory.at/gamefiles/stable/vs_archive_${version}.tar.gz";
+    sha256 = "sha256-38vLkH8B1yYC1I8P8uCsbC8CK8Btpfm9tNxgiuswsa8=";
+  };
+
+  nativeBuildInputs = [ makeWrapper copyDesktopItems ];
+
+  buildInputs = [ mono ];
+
+  runtimeLibs = lib.makeLibraryPath ([
+    gtk2
+    sqlite
+    openal
+    cairo
+    libGLU
+    SDL2
+    freealut
+  ] ++ (with xorg; [
+    libX11
+    libXi
+  ]));
+
+  desktopItems = makeDesktopItem {
+    name = "vintagestory";
+    desktopName = "Vintage Story";
+    exec = "vintagestory";
+    icon = "vintagestory";
+    comment = "Innovate and explore in a sandbox world";
+    type = "Application";
+    categories = "Game;";
+  };
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/share/vintagestory $out/bin $out/share/pixmaps $out/share/fonts/truetype
+    cp -r * $out/share/vintagestory
+    cp $out/share/vintagestory/assets/gameicon.xpm $out/share/pixmaps/vintagestory.xpm
+    cp $out/share/vintagestory/assets/game/fonts/*.ttf $out/share/fonts/truetype
+
+    runHook postInstall
+  '';
+
+  preFixup = ''
+    makeWrapper ${mono}/bin/mono $out/bin/vintagestory \
+      --prefix LD_LIBRARY_PATH : "${runtimeLibs}" \
+      --add-flags $out/share/vintagestory/Vintagestory.exe
+    makeWrapper ${mono}/bin/mono $out/bin/vintagestory-server \
+      --prefix LD_LIBRARY_PATH : "${runtimeLibs}" \
+      --add-flags $out/share/vintagestory/VintagestoryServer.exe
+
+    find "$out/share/vintagestory/assets/" -not -path "*/fonts/*" -regex ".*/.*[A-Z].*" | while read -r file; do
+      local filename="$(basename -- "$file")"
+      ln -sf "$filename" "''${file%/*}"/"''${filename,,}"
+    done
+  '';
+
+  meta = with lib; {
+    description = "An in-development indie sandbox game about innovation and exploration";
+    homepage = "https://www.vintagestory.at/";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ artturin ];
+  };
+}
diff --git a/nixpkgs/pkgs/games/warzone2100/default.nix b/nixpkgs/pkgs/games/warzone2100/default.nix
index feadcc7f8b21..3d811f50d4a2 100644
--- a/nixpkgs/pkgs/games/warzone2100/default.nix
+++ b/nixpkgs/pkgs/games/warzone2100/default.nix
@@ -39,11 +39,11 @@ in
 
 stdenv.mkDerivation rec {
   inherit pname;
-  version  = "4.1.0";
+  version  = "4.1.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/releases/${version}/${pname}_src.tar.xz";
-    sha256 = "sha256-HQlphogK2jjTXV7cQ8lFNWjHMBnpStyvT3wKYjlDQW0=";
+    sha256 = "sha256-sKZiDjWwVFXT6RiY+zT+0S6Zb3uCC0CaZzOQYEWpWNs=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/games/wesnoth/default.nix b/nixpkgs/pkgs/games/wesnoth/default.nix
index 6eedc446f53f..ae23cc799ceb 100644
--- a/nixpkgs/pkgs/games/wesnoth/default.nix
+++ b/nixpkgs/pkgs/games/wesnoth/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wesnoth";
-  version = "1.14.16";
+  version = "1.14.17";
 
   src = fetchFromGitHub {
     rev = version;
     owner = "wesnoth";
     repo = "wesnoth";
-    sha256 = "sha256-QMz7atxol18r//UNb6+H6xAAEQdR4hAN8UW0KeGSH1g=";
+    sha256 = "RZ38MbUaUjfajo9wXSfDt8NHBySC+ODlgZAPf2NPblc=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
     '';
 
     homepage = "https://www.wesnoth.org/";
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     maintainers = with maintainers; [ abbradar ];
     platforms = platforms.unix;
   };
diff --git a/nixpkgs/pkgs/games/xonotic/default.nix b/nixpkgs/pkgs/games/xonotic/default.nix
index b15e111970e9..d5374c5446d1 100644
--- a/nixpkgs/pkgs/games/xonotic/default.nix
+++ b/nixpkgs/pkgs/games/xonotic/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, fetchzip, makeWrapper, runCommandNoCC, makeDesktopItem
+{ lib, stdenv, fetchurl, fetchzip, makeWrapper, runCommand, makeDesktopItem
 , xonotic-data, copyDesktopItems
 , # required for both
   unzip, libjpeg, zlib, libvorbis, curl
@@ -6,6 +6,8 @@
   libX11, libGLU, libGL, libXpm, libXext, libXxf86vm, alsa-lib
 , # sdl
   SDL2
+, # blind
+  gmp
 
 , withSDL ? true
 , withGLX ? false
@@ -63,7 +65,7 @@ let
     };
 
     nativeBuildInputs = [ unzip ];
-    buildInputs = [ libjpeg zlib libvorbis curl ]
+    buildInputs = [ libjpeg zlib libvorbis curl gmp ]
       ++ lib.optional withGLX [ libX11.dev libGLU.dev libGL.dev libXpm.dev libXext.dev libXxf86vm.dev alsa-lib.dev ]
       ++ lib.optional withSDL [ SDL2.dev ];
 
@@ -74,17 +76,27 @@ let
 
     dontStrip = target != "release";
 
-    buildPhase = lib.optionalString withDedicated ''
+    postConfigure = ''
+      pushd ../d0_blind_id
+      ./configure $configureFlags
+      popd
+    '';
+
+    buildPhase = (lib.optionalString withDedicated ''
       make -j $NIX_BUILD_CORES -l $NIX_BUILD_CORES sv-${target}
     '' + lib.optionalString withGLX ''
       make -j $NIX_BUILD_CORES -l $NIX_BUILD_CORES cl-${target}
     '' + lib.optionalString withSDL ''
       make -j $NIX_BUILD_CORES -l $NIX_BUILD_CORES sdl-${target}
+    '') + ''
+      pushd ../d0_blind_id
+      make -j $NIX_BUILD_CORES -l $NIX_BUILD_CORES
+      popd
     '';
 
     enableParallelBuilding = true;
 
-    installPhase = ''
+    installPhase = (''
       for size in 16x16 24x24 32x32 48x48 64x64 72x72 96x96 128x128 192x192 256x256 512x512 1024x1024 scalable; do
         install -Dm644 ../../misc/logos/xonotic_icon.svg \
           $out/share/icons/hicolor/$size/xonotic.svg
@@ -95,6 +107,10 @@ let
       install -Dm755 darkplaces-glx "$out/bin/xonotic-glx"
     '' + lib.optionalString withSDL ''
       install -Dm755 darkplaces-sdl "$out/bin/xonotic-sdl"
+    '') + ''
+      pushd ../d0_blind_id
+      make install
+      popd
     '';
 
     # Xonotic needs to find libcurl.so at runtime for map downloads
@@ -121,16 +137,16 @@ in rec {
   xonotic-data = fetchzip {
     name = "xonotic-data";
     url = "https://dl.xonotic.org/xonotic-${version}.zip";
-    sha256 = "1ygkh0v68y4sd1w5vpk8dgb65h5jm599hwszdfgjp3ax4d3ml81x";
+    sha256 = "15caj11v9hhr7w55w3rs1rspblzr9lg1crqivbn9pyyq0rif8cpl";
     extraPostFetch = ''
       cd $out
-      rm -rf $(ls | grep -v "^data$")
+      rm -rf $(ls | grep -v "^data$" | grep -v "^key_0.d0pk$")
     '';
     meta.hydraPlatforms = [];
     passthru.version = version;
   };
 
-  xonotic = runCommandNoCC "xonotic${variant}-${version}" {
+  xonotic = runCommand "xonotic${variant}-${version}" {
     inherit xonotic-unwrapped;
     nativeBuildInputs = [ makeWrapper copyDesktopItems ];
     desktopItems = [ desktopItem ];
@@ -156,7 +172,7 @@ in rec {
     copyDesktopItems
   '' + ''
     for binary in $out/bin/xonotic-*; do
-      wrapProgram $binary --add-flags "-basedir ${xonotic-data}"
+      wrapProgram $binary --add-flags "-basedir ${xonotic-data}" --prefix LD_LIBRARY_PATH : "${xonotic-unwrapped}/lib"
     done
   '');
 }
diff --git a/nixpkgs/pkgs/misc/cups/drivers/brgenml1cupswrapper/default.nix b/nixpkgs/pkgs/misc/cups/drivers/brgenml1cupswrapper/default.nix
index ec02e8c4f0e0..e309e8e8b264 100644
--- a/nixpkgs/pkgs/misc/cups/drivers/brgenml1cupswrapper/default.nix
+++ b/nixpkgs/pkgs/misc/cups/drivers/brgenml1cupswrapper/default.nix
@@ -52,10 +52,11 @@
 */
 
 stdenv.mkDerivation rec {
+  pname = "brgenml1cupswrapper";
+  version = "3.1.0-1";
 
-  name = "brgenml1cupswrapper-3.1.0-1";
   src = fetchurl {
-    url = "https://download.brother.com/welcome/dlf101125/${name}.i386.deb";
+    url = "https://download.brother.com/welcome/dlf101125/brgenml1cupswrapper-${version}.i386.deb";
     sha256 = "0kd2a2waqr10kfv1s8is3nd5dlphw4d1343srdsbrlbbndja3s6r";
   };
 
diff --git a/nixpkgs/pkgs/misc/cups/drivers/brgenml1lpr/default.nix b/nixpkgs/pkgs/misc/cups/drivers/brgenml1lpr/default.nix
index 6cdff2c4124e..fd439e9cd73d 100644
--- a/nixpkgs/pkgs/misc/cups/drivers/brgenml1lpr/default.nix
+++ b/nixpkgs/pkgs/misc/cups/drivers/brgenml1lpr/default.nix
@@ -35,10 +35,11 @@ let
   '';
 in
 stdenv.mkDerivation rec {
+  pname = "brgenml1lpr";
+  version = "3.1.0-1";
 
-  name = "brgenml1lpr-3.1.0-1";
   src = fetchurl {
-    url = "https://download.brother.com/welcome/dlf101123/${name}.i386.deb";
+    url = "https://download.brother.com/welcome/dlf101123/brgenml1lpr-${version}.i386.deb";
     sha256 = "0zdvjnrjrz9sba0k525linxp55lr4cyivfhqbkq1c11br2nvy09f";
   };
 
diff --git a/nixpkgs/pkgs/misc/cups/drivers/canon/default.nix b/nixpkgs/pkgs/misc/cups/drivers/canon/default.nix
index 0d6ec276b5f4..93bc1f79e250 100644
--- a/nixpkgs/pkgs/misc/cups/drivers/canon/default.nix
+++ b/nixpkgs/pkgs/misc/cups/drivers/canon/default.nix
@@ -1,19 +1,30 @@
-{ lib, stdenv, fetchurl, unzip, autoreconfHook, libtool, makeWrapper, cups
-, ghostscript, pkgsi686Linux, zlib }:
+{ lib
+, stdenv
+, fetchurl
+, unzip
+, autoconf
+, automake
+, libtool
+, makeWrapper
+, cups
+, ghostscript
+, pkgsi686Linux
+, zlib
+}:
 
 let
 
-  i686_NIX_GCC = pkgsi686Linux.callPackage ({gcc}: gcc) {};
-  i686_libxml2 = pkgsi686Linux.callPackage ({libxml2}: libxml2) {};
+  i686_NIX_GCC = pkgsi686Linux.callPackage ({ gcc }: gcc) { };
+  i686_libxml2 = pkgsi686Linux.callPackage ({ libxml2 }: libxml2) { };
 
   commonVer = "4.10";
   version = "3.70";
-  dl = "8/0100007658/08";
+  dl = "4/0100010264/01";
 
-  versionNoDots = builtins.replaceStrings ["."] [""] version;
+  versionNoDots = builtins.replaceStrings [ "." ] [ "" ] version;
   src_canon = fetchurl {
-    url = "http://gdlp01.c-wss.com/gds/${dl}/linux-UFRII-drv-v${versionNoDots}-uken-05.tar.gz";
-    sha256 = "0424lvyrsvsb94qga4p4ldis7f714c5yw5ydv3f84mdl2a7papg0";
+    url = "http://gdlp01.c-wss.com/gds/${dl}/linux-UFRII-drv-v${versionNoDots}-uken-07.tar.gz";
+    sha256 = "01nxpg3h1c64p5skxv904fg5c4sblmif486vkij2v62wwn6l65pz";
   };
 
 in
@@ -24,18 +35,18 @@ stdenv.mkDerivation {
   inherit version;
   src = src_canon;
 
-  phases = [ "unpackPhase" "installPhase" ];
-
   postUnpack = ''
     (cd $sourceRoot; tar -xzf Sources/cndrvcups-common-${commonVer}-1.tar.gz)
     (cd $sourceRoot; tar -xzf Sources/cndrvcups-lb-${version}-1.tar.gz)
   '';
 
-  nativeBuildInputs = [ makeWrapper unzip autoreconfHook libtool ];
+  nativeBuildInputs = [ makeWrapper unzip autoconf automake libtool ];
 
   buildInputs = [ cups zlib ];
 
   installPhase = ''
+    runHook preInstall
+
     ##
     ## cndrvcups-common buildPhase
     ##
@@ -213,7 +224,9 @@ stdenv.mkDerivation {
     makeWrapper "${ghostscript}/bin/gs" "$out/bin/gs" \
       --prefix LD_LIBRARY_PATH ":" "$out/lib" \
       --prefix PATH ":" "$out/bin"
-    '';
+
+    runHook postInstall
+  '';
 
   meta = with lib; {
     description = "CUPS Linux drivers for Canon printers";
diff --git a/nixpkgs/pkgs/misc/cups/drivers/cups-bjnp/default.nix b/nixpkgs/pkgs/misc/cups/drivers/cups-bjnp/default.nix
index 40243bb91969..5a6ea08a8e16 100644
--- a/nixpkgs/pkgs/misc/cups/drivers/cups-bjnp/default.nix
+++ b/nixpkgs/pkgs/misc/cups/drivers/cups-bjnp/default.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl, cups}:
 
 stdenv.mkDerivation rec {
-  name = "cups-bjnp-1.2.2";
+  pname = "cups-bjnp";
+  version = "1.2.2";
 
   src = fetchurl {
-    url = "mirror://sourceforge/cups-bjnp/${name}.tar.gz";
+    url = "mirror://sourceforge/cups-bjnp/cups-bjnp-${version}.tar.gz";
     sha256 = "0sb0vm1sf8ismzd9ba33qswxmsirj2z1b7lnyrc9v5ixm7q0bnrm";
   };
 
diff --git a/nixpkgs/pkgs/misc/cups/drivers/estudio/default.nix b/nixpkgs/pkgs/misc/cups/drivers/estudio/default.nix
index 37b39556d932..5dd4c8815059 100644
--- a/nixpkgs/pkgs/misc/cups/drivers/estudio/default.nix
+++ b/nixpkgs/pkgs/misc/cups/drivers/estudio/default.nix
@@ -11,10 +11,6 @@ stdenv.mkDerivation {
 
   buildInputs = [ perl ];
 
-  phases = [ "unpackPhase"
-             "patchPhase"
-             "installPhase" ];
-
   patchPhase = ''
     patchShebangs lib/
     gunzip                share/cups/model/Toshiba/TOSHIBA_ColorMFP_CUPS.gz
diff --git a/nixpkgs/pkgs/misc/cups/drivers/mfcl2700dncupswrapper/default.nix b/nixpkgs/pkgs/misc/cups/drivers/mfcl2700dncupswrapper/default.nix
index d32968cc45c3..0b145dfa3853 100644
--- a/nixpkgs/pkgs/misc/cups/drivers/mfcl2700dncupswrapper/default.nix
+++ b/nixpkgs/pkgs/misc/cups/drivers/mfcl2700dncupswrapper/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ dpkg makeWrapper ];
 
-  phases = [ "installPhase" ];
+  dontUnpack = true;
 
   installPhase = ''
     dpkg-deb -x $src $out
diff --git a/nixpkgs/pkgs/misc/cups/drivers/mfcl2700dnlpr/default.nix b/nixpkgs/pkgs/misc/cups/drivers/mfcl2700dnlpr/default.nix
index 0d11579e9541..4b60f548aad5 100644
--- a/nixpkgs/pkgs/misc/cups/drivers/mfcl2700dnlpr/default.nix
+++ b/nixpkgs/pkgs/misc/cups/drivers/mfcl2700dnlpr/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ dpkg makeWrapper ];
 
-  phases = [ "installPhase" ];
+  dontUnpack = true;
 
   installPhase = ''
     dpkg-deb -x $src $out
diff --git a/nixpkgs/pkgs/misc/cups/drivers/mfcl2720dwcupswrapper/default.nix b/nixpkgs/pkgs/misc/cups/drivers/mfcl2720dwcupswrapper/default.nix
index 5d4980da9d17..f30f9abae334 100644
--- a/nixpkgs/pkgs/misc/cups/drivers/mfcl2720dwcupswrapper/default.nix
+++ b/nixpkgs/pkgs/misc/cups/drivers/mfcl2720dwcupswrapper/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ dpkg makeWrapper ];
 
-  phases = [ "installPhase" ];
+  dontUnpack = true;
 
   installPhase = ''
     dpkg-deb -x $src $out
diff --git a/nixpkgs/pkgs/misc/cups/drivers/mfcl2720dwlpr/default.nix b/nixpkgs/pkgs/misc/cups/drivers/mfcl2720dwlpr/default.nix
index 2b6c458e7454..fabcee4dc027 100644
--- a/nixpkgs/pkgs/misc/cups/drivers/mfcl2720dwlpr/default.nix
+++ b/nixpkgs/pkgs/misc/cups/drivers/mfcl2720dwlpr/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ dpkg makeWrapper ];
 
-  phases = [ "installPhase" ];
+  dontUnpack = true;
 
   installPhase = ''
     dpkg-deb -x $src $out
diff --git a/nixpkgs/pkgs/misc/cups/drivers/mfcl8690cdwcupswrapper/default.nix b/nixpkgs/pkgs/misc/cups/drivers/mfcl8690cdwcupswrapper/default.nix
index ebb2e4392989..a7fd86a31699 100644
--- a/nixpkgs/pkgs/misc/cups/drivers/mfcl8690cdwcupswrapper/default.nix
+++ b/nixpkgs/pkgs/misc/cups/drivers/mfcl8690cdwcupswrapper/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ dpkg makeWrapper ];
 
-  phases = [ "installPhase" ];
+  dontUnpack = true;
 
   installPhase = ''
     dpkg-deb -x $src $out
diff --git a/nixpkgs/pkgs/misc/cups/drivers/mfcl8690cdwlpr/default.nix b/nixpkgs/pkgs/misc/cups/drivers/mfcl8690cdwlpr/default.nix
index 2b5dc44cead8..ee9e8a07baab 100644
--- a/nixpkgs/pkgs/misc/cups/drivers/mfcl8690cdwlpr/default.nix
+++ b/nixpkgs/pkgs/misc/cups/drivers/mfcl8690cdwlpr/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ dpkg makeWrapper ];
 
-  phases = [ "installPhase" ];
+  dontUnpack = true;
 
   installPhase = ''
     dpkg-deb -x $src $out
diff --git a/nixpkgs/pkgs/misc/cups/drivers/splix/default.nix b/nixpkgs/pkgs/misc/cups/drivers/splix/default.nix
index 1125e7697112..cfe53e48d679 100644
--- a/nixpkgs/pkgs/misc/cups/drivers/splix/default.nix
+++ b/nixpkgs/pkgs/misc/cups/drivers/splix/default.nix
@@ -3,15 +3,14 @@
 let
 
   color-profiles = stdenv.mkDerivation {
-    name = "splix-color-profiles-20070625";
+    pname = "splix-color-profiles";
+    version = "unstable-2007-06-25";
 
     src = fetchurl {
       url = "http://splix.ap2c.org/samsung_cms.tar.bz2";
       sha256 = "1156flics5m9m7a4hdmcc2nphbdyary6dfmbcrmsp9xb7ivsypdl";
     };
 
-    phases = [ "unpackPhase" "installPhase" ];
-
     installPhase = ''
       mkdir -p $out/share/cups/profiles/samsung
       cp * $out/share/cups/profiles/samsung/
@@ -19,14 +18,14 @@ let
   };
 
 in stdenv.mkDerivation rec {
-  name = "splix-svn-${rev}";
-  rev = "315";
+  pname = "splix-svn";
+  version = "315";
 
   src = fetchsvn {
     # We build this from svn, because splix hasn't been in released in several years
     # although the community has been adding some new printer models.
     url = "svn://svn.code.sf.net/p/splix/code/splix";
-    inherit rev;
+    rev = version;
     sha256 = "16wbm4xnz35ca3mw2iggf5f4jaxpyna718ia190ka6y4ah932jxl";
   };
 
diff --git a/nixpkgs/pkgs/misc/drivers/epson-escpr/default.nix b/nixpkgs/pkgs/misc/drivers/epson-escpr/default.nix
index bdb2839ab0b3..9c4998ecaa0f 100644
--- a/nixpkgs/pkgs/misc/drivers/epson-escpr/default.nix
+++ b/nixpkgs/pkgs/misc/drivers/epson-escpr/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation {
   pname = "epson-escpr";
-  version = "1.7.3";
+  version = "1.7.16";
 
   src = fetchurl {
     # To find new versions, visit
@@ -11,10 +11,10 @@ stdenv.mkDerivation {
     # version.
     # NOTE: Don't forget to update the webarchive link too!
     urls = [
-      "https://download3.ebz.epson.net/dsc/f/03/00/09/83/26/f90d0f70b33a9d7d77a2408364c47fba1ccbf943/epson-inkjet-printer-escpr-1.7.3-1lsb3.2.tar.gz"
-      "https://web.archive.org/web/https://download3.ebz.epson.net/dsc/f/03/00/09/83/26/f90d0f70b33a9d7d77a2408364c47fba1ccbf943/epson-inkjet-printer-escpr-1.7.3-1lsb3.2.tar.gz"
+      "https://download3.ebz.epson.net/dsc/f/03/00/12/97/30/97f146010d33b9a55badbc23429296f6b9b46011/epson-inkjet-printer-escpr-1.7.16-1lsb3.2.tar.gz"
+      "https://web.archive.org/web/https://download3.ebz.epson.net/dsc/f/03/00/12/97/30/97f146010d33b9a55badbc23429296f6b9b46011/epson-inkjet-printer-escpr-1.7.16-1lsb3.2.tar.gz"
     ];
-    sha256 = "0r3jkdfk33irha9gpyvhha056ans59p7dq9i153i292ifjsd8458";
+    sha256 = "18n6fgyrii8084vdjhys94lr6nhhbmn7zzjd8jckvv1grb0iz9nv";
   };
 
   patches = [ ./cups-filter-ppd-dirs.patch ];
diff --git a/nixpkgs/pkgs/misc/drivers/epson-escpr2/default.nix b/nixpkgs/pkgs/misc/drivers/epson-escpr2/default.nix
index 130be517bb84..bcb56ac00517 100644
--- a/nixpkgs/pkgs/misc/drivers/epson-escpr2/default.nix
+++ b/nixpkgs/pkgs/misc/drivers/epson-escpr2/default.nix
@@ -1,8 +1,8 @@
-{ lib, stdenv, fetchurl, cups }:
+{ lib, stdenv, fetchurl, cups, busybox }:
 
 stdenv.mkDerivation rec {
   pname = "epson-inkjet-printer-escpr2";
-  version = "1.1.34";
+  version = "1.1.38";
 
   src = fetchurl {
     # To find new versions, visit
@@ -11,15 +11,26 @@ stdenv.mkDerivation rec {
     # version.
     # NOTE: Don't forget to update the webarchive link too!
     urls = [
-      "https://download3.ebz.epson.net/dsc/f/03/00/12/85/48/fd5de1ecd7270b0398399355e265c99dfd1dbafb/epson-inkjet-printer-escpr2-1.1.34.tar.gz"
-      "https://web.archive.org/web/20210627160654/https://download3.ebz.epson.net/dsc/f/03/00/12/85/48/fd5de1ecd7270b0398399355e265c99dfd1dbafb/epson-inkjet-printer-escpr2-1.1.34.tar.gz"
+      "https://download3.ebz.epson.net/dsc/f/03/00/12/91/84/6902a4d11864b195ddda45f6de968d8ec1ee9e3b/epson-inkjet-printer-escpr2-1.1.38-1lsb3.2.src.rpm"
+      "https://web.archive.org/web/20210731163511/https://download3.ebz.epson.net/dsc/f/03/00/12/91/84/6902a4d11864b195ddda45f6de968d8ec1ee9e3b/epson-inkjet-printer-escpr2-1.1.38-1lsb3.2.src.rpm"
     ];
-    sha256 = "sha256-sHBGWbkZ+zolHehyXQR8U2AyKSrgDSPmrkrcfcx/bAs=";
+    sha256 = "sha256-rQtmWREZKtu5MuqEn91/1+SfGol4f8jKzd1mQ0e3h1c=";
   };
 
+  unpackPhase = ''
+    runHook preUnpack
+
+    rpm2cpio $src | cpio -idmv
+    tar xvf ${pname}-${version}-1lsb3.2.tar.gz
+    cd ${pname}-${version}
+
+    runHook postUnpack
+  '';
+
   patches = [ ./cups-filter-ppd-dirs.patch ];
 
   buildInputs = [ cups ];
+  nativeBuildInputs = [ busybox ];
 
   meta = with lib; {
     homepage = "http://download.ebz.epson.net/dsc/search/01/search/";
diff --git a/nixpkgs/pkgs/misc/drivers/epson-workforce-635-nx625-series/default.nix b/nixpkgs/pkgs/misc/drivers/epson-workforce-635-nx625-series/default.nix
index e06a0c911624..73d88ad19c24 100644
--- a/nixpkgs/pkgs/misc/drivers/epson-workforce-635-nx625-series/default.nix
+++ b/nixpkgs/pkgs/misc/drivers/epson-workforce-635-nx625-series/default.nix
@@ -9,14 +9,14 @@ let
     driver = "epson-inkjet-printer-workforce-635-nx625-series-1.0.1";
   };
 in stdenv.mkDerivation rec {
-  name = "epson-inkjet-printer-workforce-635-nx625-series";
+  pname = "epson-inkjet-printer-workforce-635-nx625-series";
   version = "1.0.1";
 
   src = fetchurl {
     # NOTE: Don't forget to update the webarchive link too!
     urls = [
-      "https://download.ebz.epson.net/dsc/op/stable/SRPMS/${name}-${version}-1lsb3.2.src.rpm"
-      "https://web.archive.org/web/https://download.ebz.epson.net/dsc/op/stable/SRPMS/${name}-${version}-1lsb3.2.src.rpm"
+      "https://download.ebz.epson.net/dsc/op/stable/SRPMS/${pname}-${version}-1lsb3.2.src.rpm"
+      "https://web.archive.org/web/https://download.ebz.epson.net/dsc/op/stable/SRPMS/${pname}-${version}-1lsb3.2.src.rpm"
     ];
     sha256 = "19nb2h0y9rvv6rg7j262f8sqap9kjvz8kmisxnjg1w0v19zb9zf2";
   };
@@ -40,7 +40,7 @@ in stdenv.mkDerivation rec {
     let
       filterdir = "$out/cups/lib/filter";
       docdir  = "$out/share/doc";
-      ppddir  = "$out/share/cups/model/${name}";
+      ppddir  = "$out/share/cups/model/${pname}";
       libdir =
         if stdenv.system == "x86_64-linux"    then "lib64"
         else if stdenv.system == "i686_linux" then "lib"
@@ -51,7 +51,7 @@ in stdenv.mkDerivation rec {
 
       cd ../${srcdirs.driver}
       for ppd in ppds/*; do
-          substituteInPlace "$ppd" --replace '/opt/${name}' "$out"
+          substituteInPlace "$ppd" --replace '/opt/${pname}' "$out"
           gzip -c "$ppd" > "${ppddir}/''${ppd#*/}"
       done
       cp COPYING.EPSON README "${docdir}"
@@ -91,7 +91,7 @@ in stdenv.mkDerivation rec {
       To use the driver adjust your configuration.nix file:
         services.printing = {
           enable = true;
-          drivers = [ pkgs.${name} ];
+          drivers = [ pkgs.${pname} ];
         };
     '';
     downloadPage = "https://download.ebz.epson.net/dsc/du/02/DriverDownloadInfo.do?LG2=EN&CN2=&DSCMI=16857&DSCCHK=4334d3487503d7f916ccf5d58071b05b7687294f";
diff --git a/nixpkgs/pkgs/misc/drivers/foomatic-filters/default.nix b/nixpkgs/pkgs/misc/drivers/foomatic-filters/default.nix
index db1da676a515..5804eb60930d 100644
--- a/nixpkgs/pkgs/misc/drivers/foomatic-filters/default.nix
+++ b/nixpkgs/pkgs/misc/drivers/foomatic-filters/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchpatch, fetchurl, pkg-config, perl, cups, dbus, enscript }:
 
 stdenv.mkDerivation rec {
-  name = "foomatic-filters-4.0.17";
+  pname = "foomatic-filters";
+  version = "4.0.17";
 
   src = fetchurl {
-    url = "https://www.openprinting.org/download/foomatic/${name}.tar.gz";
+    url = "https://www.openprinting.org/download/foomatic/foomatic-filters-${version}.tar.gz";
     sha256 = "1qrkgbm5jay2r7sh9qbyf0aiyrsl1mdc844hxf7fhw95a0zfbqm2";
   };
 
diff --git a/nixpkgs/pkgs/misc/drivers/gutenprint/bin.nix b/nixpkgs/pkgs/misc/drivers/gutenprint/bin.nix
index 58b77cb91071..891421d3312c 100644
--- a/nixpkgs/pkgs/misc/drivers/gutenprint/bin.nix
+++ b/nixpkgs/pkgs/misc/drivers/gutenprint/bin.nix
@@ -34,7 +34,9 @@ stdenv.mkDerivation {
 
   buildInputs = [ rpm cpio ];
 
-  phases = "buildPhase";
+  dontUnpack = true;
+  dontInstall = true;
+  dontFixup = true;
 
   libPath = lib.makeLibraryPath [ stdenv.cc.cc zlib ];
 
diff --git a/nixpkgs/pkgs/misc/drivers/gutenprint/default.nix b/nixpkgs/pkgs/misc/drivers/gutenprint/default.nix
index 9cd76c11ccea..6b1bfefd7014 100644
--- a/nixpkgs/pkgs/misc/drivers/gutenprint/default.nix
+++ b/nixpkgs/pkgs/misc/drivers/gutenprint/default.nix
@@ -6,10 +6,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gutenprint-5.3.4";
+  pname = "gutenprint";
+  version = "5.3.4";
 
   src = fetchurl {
-    url = "mirror://sourceforge/gimp-print/${name}.tar.bz2";
+    url = "mirror://sourceforge/gimp-print/gutenprint-${version}.tar.bz2";
     sha256 = "0s0b14hjwvbxksq7af5v8z9g2rfqv9jdmxd9d81m57f5mh6rad0p";
   };
 
diff --git a/nixpkgs/pkgs/misc/drivers/m33-linux/default.nix b/nixpkgs/pkgs/misc/drivers/m33-linux/default.nix
index d2ba2685a291..84272898f52c 100644
--- a/nixpkgs/pkgs/misc/drivers/m33-linux/default.nix
+++ b/nixpkgs/pkgs/misc/drivers/m33-linux/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation {
-  name = "M33-Linux-2016-06-23";
+  pname = "M33-Linux";
+  version = "unstable-2016-06-23";
 
   src = fetchFromGitHub {
     owner = "donovan6000";
diff --git a/nixpkgs/pkgs/misc/drivers/postscript-lexmark/default.nix b/nixpkgs/pkgs/misc/drivers/postscript-lexmark/default.nix
index ebc6439dd5ca..64a38239a9b0 100644
--- a/nixpkgs/pkgs/misc/drivers/postscript-lexmark/default.nix
+++ b/nixpkgs/pkgs/misc/drivers/postscript-lexmark/default.nix
@@ -13,8 +13,6 @@ stdenv.mkDerivation {
 
   nativeBuildInputs = [ rpmextract ];
 
-  phases = [ "unpackPhase" "installPhase"];
-
   sourceRoot = ".";
 
   unpackPhase = ''
diff --git a/nixpkgs/pkgs/misc/drivers/sundtek/default.nix b/nixpkgs/pkgs/misc/drivers/sundtek/default.nix
index d52f9dd7cde3..d81a278ec135 100644
--- a/nixpkgs/pkgs/misc/drivers/sundtek/default.nix
+++ b/nixpkgs/pkgs/misc/drivers/sundtek/default.nix
@@ -10,18 +10,19 @@ let
     else
     if isi686 then "32bit"
     else throw "${system} not considered in build derivation. Might still be supported.";
+  sha256 = with stdenv;
+    if isx86_64 then "1jfsng5n3phw5rqpkid9m5j7m7zgj5bifh7swvba7f97y6imdaax"
+    else "15y6r5w306pcq4g1rn9f7vf70f3a7qhq237ngaf0wxh2nr0aamxp";
 
 in
   stdenv.mkDerivation {
     src = fetchurl {
       url = "http://www.sundtek.de/media/netinst/${platform}/installer.tar.gz";
-      sha256 = "15y6r5w306pcq4g1rn9f7vf70f3a7qhq237ngaf0wxh2nr0aamxp";
+      sha256 = sha256;
     };
     pname = "sundtek";
     inherit version;
 
-    phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
-
     sourceRoot = ".";
 
     installPhase = ''
diff --git a/nixpkgs/pkgs/misc/drivers/xboxdrv/default.nix b/nixpkgs/pkgs/misc/drivers/xboxdrv/default.nix
index e2894802839e..bd4022526ed4 100644
--- a/nixpkgs/pkgs/misc/drivers/xboxdrv/default.nix
+++ b/nixpkgs/pkgs/misc/drivers/xboxdrv/default.nix
@@ -18,7 +18,7 @@ in stdenv.mkDerivation {
   dontUseSconsInstall = true;
 
   meta = with lib; {
-    homepage = "https://pingus.seul.org/~grumbel/xboxdrv/";
+    homepage = "https://xboxdrv.gitlab.io/";
     description = "Xbox/Xbox360 (and more) gamepad driver for Linux that works in userspace";
     license = licenses.gpl3Plus;
     maintainers = [ ];
diff --git a/nixpkgs/pkgs/misc/drivers/xwiimote/default.nix b/nixpkgs/pkgs/misc/drivers/xwiimote/default.nix
index 8fafd1b6ebcc..414a207fa544 100644
--- a/nixpkgs/pkgs/misc/drivers/xwiimote/default.nix
+++ b/nixpkgs/pkgs/misc/drivers/xwiimote/default.nix
@@ -1,9 +1,11 @@
 { lib, stdenv, udev, ncurses, pkg-config, fetchurl, bluez }:
 
 stdenv.mkDerivation rec {
-  name = "xwiimote-2";
+  pname = "xwiimote";
+  version = "2";
+
   src = fetchurl {
-    url = "https://github.com/dvdhrm/xwiimote/releases/download/${name}/${name}.tar.xz";
+    url = "https://github.com/dvdhrm/xwiimote/releases/download/xwiimote-${version}/xwiimote-${version}.tar.xz";
     sha256 = "1g9cbhblll47l300zr999xr51x2g98y49l222f77fhswd12kjzhd";
   };
 
diff --git a/nixpkgs/pkgs/misc/emulators/blastem/default.nix b/nixpkgs/pkgs/misc/emulators/blastem/default.nix
index a2dc86449d9e..c96f5d9217c5 100644
--- a/nixpkgs/pkgs/misc/emulators/blastem/default.nix
+++ b/nixpkgs/pkgs/misc/emulators/blastem/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, fetchFromGitHub, pkg-config, SDL2, glew, xcftools, python, pillow, makeWrapper }:
+{ lib, stdenv, fetchurl, fetchFromGitHub, pkg-config, SDL2, glew, xcftools, python2Packages, makeWrapper }:
 
 let
   vasm =
@@ -26,7 +26,7 @@ stdenv.mkDerivation {
     sha256 = "07wzbmzp0y8mh59jxg81q17gqagz3psxigxh8dmzsipgg68y6a8r";
   };
   nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ pkg-config SDL2 glew xcftools python pillow vasm ];
+  buildInputs = [ pkg-config SDL2 glew xcftools python2Packages.python python2Packages.pillow vasm ];
   preBuild = ''
     patchShebangs img2tiles.py
   '';
diff --git a/nixpkgs/pkgs/misc/emulators/bsnes-hd/default.nix b/nixpkgs/pkgs/misc/emulators/bsnes-hd/default.nix
new file mode 100644
index 000000000000..6494185958c2
--- /dev/null
+++ b/nixpkgs/pkgs/misc/emulators/bsnes-hd/default.nix
@@ -0,0 +1,55 @@
+{ lib, stdenv, fetchFromGitHub
+, pkg-config
+, libX11, libXv
+, udev
+, SDL2
+, gtk2, gtksourceview
+, alsa-lib, libao, openal, libpulseaudio
+, libicns, Cocoa, OpenAL
+}:
+
+stdenv.mkDerivation {
+  pname = "bsnes-hd";
+  version = "10.6-beta";
+
+  src = fetchFromGitHub {
+    owner = "DerKoun";
+    repo = "bsnes-hd";
+    rev = "beta_10_6";
+    sha256 = "0f3cd89fd0lqskzj98cc1pzmdbscq0psdjckp86w94rbchx7iw4h";
+  };
+
+  patches = [
+    # Replace invocation of `sips` with an equivalent invocation of `png2icns`
+    # while assembling the .app directory hierarchy in the macos build. The
+    # `sips` executable isn't in our environment during the build, but
+    # `png2icns` is available by way of the dependency on libicns.
+    ./macos-replace-sips-with-png2icns.patch
+
+    # During `make install` on macos the Makefile wants to move the .app into
+    # the current user's home directory. This patches the Makefile such that
+    # the .app ends up in $(prefix)/Applications. The $(prefix) variable will
+    # be set to $out, so this will result in the .app ending up in the
+    # Applications directory in the current nix profile.
+    ./macos-copy-app-to-prefix.patch
+  ];
+
+  nativeBuildInputs = [ pkg-config ]
+    ++ lib.optionals stdenv.isDarwin [ libicns ];
+
+  buildInputs = [ SDL2 libao ]
+    ++ lib.optionals stdenv.isLinux [ libX11 libXv udev gtk2 gtksourceview alsa-lib openal libpulseaudio ]
+    ++ lib.optionals stdenv.isDarwin [ Cocoa OpenAL ];
+
+  enableParallelBuilding = true;
+
+  makeFlags = [ "-C" "bsnes" "prefix=$(out)" ];
+
+  meta = with lib; {
+    description = "A fork of bsnes that adds HD video features";
+    homepage = "https://github.com/DerKoun/bsnes-hd";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ stevebob ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/misc/emulators/bsnes-hd/macos-copy-app-to-prefix.patch b/nixpkgs/pkgs/misc/emulators/bsnes-hd/macos-copy-app-to-prefix.patch
new file mode 100644
index 000000000000..d38efbc99bce
--- /dev/null
+++ b/nixpkgs/pkgs/misc/emulators/bsnes-hd/macos-copy-app-to-prefix.patch
@@ -0,0 +1,18 @@
+diff --git a/bsnes/target-bsnes/GNUmakefile b/bsnes/target-bsnes/GNUmakefile
+index 7a3ab9f..ec8a1a4 100644
+--- a/bsnes/target-bsnes/GNUmakefile
++++ b/bsnes/target-bsnes/GNUmakefile
+@@ -43,11 +43,8 @@ ifeq ($(platform),windows)
+ else ifeq ($(shell id -un),root)
+ 	$(error "make install should not be run as root")
+ else ifeq ($(platform),macos)
+-	mkdir -p ~/Library/Application\ Support/$(name)/
+-	mkdir -p ~/Library/Application\ Support/$(name)/Database/
+-	mkdir -p ~/Library/Application\ Support/$(name)/Firmware/
+-	mkdir -p ~/Library/Application\ Support/$(name)/Shaders/
+-	cp -R out/$(name).app /Applications/$(name).app
++	mkdir -p $(prefix)/Applications
++	cp -R out/$(name).app $(prefix)/Applications
+ else ifneq ($(filter $(platform),linux bsd),)
+ 	mkdir -p $(prefix)/bin/
+ 	mkdir -p $(prefix)/share/applications/
diff --git a/nixpkgs/pkgs/misc/emulators/bsnes-hd/macos-replace-sips-with-png2icns.patch b/nixpkgs/pkgs/misc/emulators/bsnes-hd/macos-replace-sips-with-png2icns.patch
new file mode 100644
index 000000000000..85adb33e3ab4
--- /dev/null
+++ b/nixpkgs/pkgs/misc/emulators/bsnes-hd/macos-replace-sips-with-png2icns.patch
@@ -0,0 +1,13 @@
+diff --git a/bsnes/target-bsnes/GNUmakefile b/bsnes/target-bsnes/GNUmakefile
+index 4c67bde..7a3ab9f 100644
+--- a/bsnes/target-bsnes/GNUmakefile
++++ b/bsnes/target-bsnes/GNUmakefile
+@@ -33,7 +33,7 @@ ifeq ($(platform),macos)
+ 	cp Database/* out/$(name).app/Contents/MacOS/Database/
+ 	cp -r ../shaders/* out/$(name).app/Contents/macOS/Shaders/
+ 	cp $(ui)/resource/$(name).plist out/$(name).app/Contents/Info.plist
+-	sips -s format icns $(ui)/resource/$(name).png --out out/$(name).app/Contents/Resources/$(name).icns
++	png2icns out/$(name).app/Contents/Resources/$(name).icns $(ui)/resource/$(name).png
+ endif
+ 
+ verbose: hiro.verbose ruby.verbose nall.verbose all;
diff --git a/nixpkgs/pkgs/misc/emulators/bsod/default.nix b/nixpkgs/pkgs/misc/emulators/bsod/default.nix
index 872ee8571f30..869440856f9a 100644
--- a/nixpkgs/pkgs/misc/emulators/bsod/default.nix
+++ b/nixpkgs/pkgs/misc/emulators/bsod/default.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl, ncurses}:
 
-stdenv.mkDerivation {
-  name = "bsod-0.1";
+stdenv.mkDerivation rec {
+  pname = "bsod";
+  version = "0.1";
 
   src = fetchurl {
-    url = "https://www.vanheusden.com/bsod/bsod-0.1.tgz";
+    url = "https://www.vanheusden.com/bsod/bsod-${version}.tgz";
     sha256 = "0hqwacazyq5rhc04j8w8w0j0dgb6ca8k66c9lxf6bsyi6wvbhvmd";
   };
 
diff --git a/nixpkgs/pkgs/misc/emulators/cdemu/analyzer.nix b/nixpkgs/pkgs/misc/emulators/cdemu/analyzer.nix
index dddcc3a74682..21ec032f5cca 100644
--- a/nixpkgs/pkgs/misc/emulators/cdemu/analyzer.nix
+++ b/nixpkgs/pkgs/misc/emulators/cdemu/analyzer.nix
@@ -1,9 +1,9 @@
 { callPackage, makeWrapper, gobject-introspection, cmake
 , python3Packages, gtk3, glib, libxml2, gnuplot, gnome, gdk-pixbuf, librsvg, intltool, libmirage }:
 let pkg = import ./base.nix {
-  version = "3.2.3";
+  version = "3.2.5";
   pkgName = "image-analyzer";
-  pkgSha256 = "17yfjmf65s77214qassz6l01cjcni4cv06nzfsm7qrzw172fmci4";
+  pkgSha256 = "00906lky0z1m0bdqnjmzxgcb19dzvljhddhh42lixyr53sjp94cc";
 };
 in callPackage pkg {
   buildInputs = [ glib gtk3 libxml2 gnuplot libmirage makeWrapper
diff --git a/nixpkgs/pkgs/misc/emulators/cdemu/base.nix b/nixpkgs/pkgs/misc/emulators/cdemu/base.nix
index 6db1089a37f5..1754f2ad4bbc 100644
--- a/nixpkgs/pkgs/misc/emulators/cdemu/base.nix
+++ b/nixpkgs/pkgs/misc/emulators/cdemu/base.nix
@@ -4,7 +4,7 @@ let name = "${pkgName}-${version}";
 in stdenv.mkDerivation ({
   inherit name buildInputs;
   src = fetchurl {
-    url = "mirror://sourceforge/cdemu/${name}.tar.bz2";
+    url = "mirror://sourceforge/cdemu/${name}.tar.xz";
     sha256 = pkgSha256;
   };
   nativeBuildInputs = [ pkg-config cmake ];
@@ -29,7 +29,7 @@ in stdenv.mkDerivation ({
 
       Optical media emulated by CDemu can be mounted within Linux. Automounting is also allowed.
     '';
-    homepage = "http://cdemu.sourceforge.net/";
+    homepage = "https://cdemu.sourceforge.io/";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = with lib.maintainers; [ bendlas ];
diff --git a/nixpkgs/pkgs/misc/emulators/cdemu/client.nix b/nixpkgs/pkgs/misc/emulators/cdemu/client.nix
index 087b15cecd16..0572dda59546 100644
--- a/nixpkgs/pkgs/misc/emulators/cdemu/client.nix
+++ b/nixpkgs/pkgs/misc/emulators/cdemu/client.nix
@@ -1,8 +1,8 @@
 { callPackage, python3Packages, intltool, makeWrapper }:
 let pkg = import ./base.nix {
-  version = "3.2.3";
+  version = "3.2.5";
   pkgName = "cdemu-client";
-  pkgSha256 = "1bvc2m63fx03rbp3ihgl2n7k24lwg5ydwkmr84gsjfcxp46q10zq";
+  pkgSha256 = "1prrdhv0ia0axc6b73crszqzh802wlkihz6d100yvg7wbgmqabd7";
 };
 in callPackage pkg {
   buildInputs = [ python3Packages.python python3Packages.dbus-python python3Packages.pygobject3
diff --git a/nixpkgs/pkgs/misc/emulators/cdemu/daemon.nix b/nixpkgs/pkgs/misc/emulators/cdemu/daemon.nix
index db6ed7ddb47a..4fc3ea211993 100644
--- a/nixpkgs/pkgs/misc/emulators/cdemu/daemon.nix
+++ b/nixpkgs/pkgs/misc/emulators/cdemu/daemon.nix
@@ -1,8 +1,8 @@
 { callPackage, glib, libao, intltool, libmirage }:
 let pkg = import ./base.nix {
-  version = "3.2.3";
+  version = "3.2.5";
   pkgName = "cdemu-daemon";
-  pkgSha256 = "022xzgwmncswb9md71w3ly3mjkdfc93lbij2llp2jamq8grxjjxr";
+  pkgSha256 = "16g6fv1lxkdmbsy6zh5sj54dvgwvm900fd18aq609yg8jnqm644d";
 };
 in callPackage pkg {
   buildInputs = [ glib libao libmirage intltool ];
diff --git a/nixpkgs/pkgs/misc/emulators/cdemu/gui.nix b/nixpkgs/pkgs/misc/emulators/cdemu/gui.nix
index 8ce84ccae204..6f5313c4cca7 100644
--- a/nixpkgs/pkgs/misc/emulators/cdemu/gui.nix
+++ b/nixpkgs/pkgs/misc/emulators/cdemu/gui.nix
@@ -2,9 +2,9 @@
 , python3Packages, gtk3, glib, libnotify, intltool, gnome, gdk-pixbuf, librsvg }:
 let
   pkg = import ./base.nix {
-    version = "3.2.3";
+    version = "3.2.5";
     pkgName = "gcdemu";
-    pkgSha256 = "19vy1awha8s7cfja3a6npaf3rfy3pl3cbsh4vd609q9jz4v4lyg4";
+    pkgSha256 = "1nvpbq4mz8caw91q5ny9gf206g9bypavxws9nxyfcanfkc4zfkl4";
   };
   inherit (python3Packages) python pygobject3;
 in callPackage pkg {
diff --git a/nixpkgs/pkgs/misc/emulators/cdemu/libmirage.nix b/nixpkgs/pkgs/misc/emulators/cdemu/libmirage.nix
index 9813c906befc..0025226d2087 100644
--- a/nixpkgs/pkgs/misc/emulators/cdemu/libmirage.nix
+++ b/nixpkgs/pkgs/misc/emulators/cdemu/libmirage.nix
@@ -3,9 +3,9 @@
 , pcre, util-linux, libselinux, libsepol }:
 
 let pkg = import ./base.nix {
-  version = "3.2.3";
+  version = "3.2.5";
   pkgName = "libmirage";
-  pkgSha256 = "08mfvqyk3833ksfd47i4j3ppmrw5ry219km6h7lywdh9hm9x14yf";
+  pkgSha256 = "0f8i2ha44rykkk3ac2q8zsw3y1zckw6qnf6zvkyrj3qqbzhrf3fm";
 };
 in callPackage pkg {
   buildInputs = [ glib libsndfile zlib bzip2 xz libsamplerate intltool ];
diff --git a/nixpkgs/pkgs/misc/emulators/cdemu/vhba.nix b/nixpkgs/pkgs/misc/emulators/cdemu/vhba.nix
index 182469310c41..1a4357b543b1 100644
--- a/nixpkgs/pkgs/misc/emulators/cdemu/vhba.nix
+++ b/nixpkgs/pkgs/misc/emulators/cdemu/vhba.nix
@@ -2,21 +2,19 @@
 
 stdenv.mkDerivation rec {
   pname = "vhba";
-  version = "20190831";
+  version = "20210418";
 
   src  = fetchurl {
-    url = "mirror://sourceforge/cdemu/vhba-module-${version}.tar.bz2";
-    sha256 = "1ybbk6l06n0y11n5wnfmvdz0baizmq55l458ywimghdyz0n7g0ws";
+    url = "mirror://sourceforge/cdemu/vhba-module-${version}.tar.xz";
+    sha256 = "119zgav6caialmf3hr096wkf72l9h76sqc9w5dhx26kj4yp85g8q";
   };
 
   makeFlags = [ "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" "INSTALL_MOD_PATH=$(out)" ];
   nativeBuildInputs = kernel.moduleBuildDependencies;
 
-  hardeningDisable = [ "pic" ];
-
   meta = with lib; {
     description = "Provides a Virtual (SCSI) HBA";
-    homepage = "http://cdemu.sourceforge.net/about/vhba/";
+    homepage = "https://cdemu.sourceforge.io/about/vhba/";
     platforms = platforms.linux;
     license = licenses.gpl2Plus;
     maintainers = with lib.maintainers; [ bendlas ];
diff --git a/nixpkgs/pkgs/misc/emulators/dosbox/default.nix b/nixpkgs/pkgs/misc/emulators/dosbox/default.nix
index 160c8733ff5c..ba4f88dbcad0 100644
--- a/nixpkgs/pkgs/misc/emulators/dosbox/default.nix
+++ b/nixpkgs/pkgs/misc/emulators/dosbox/default.nix
@@ -1,10 +1,11 @@
 { stdenv, lib, fetchurl, makeDesktopItem, SDL, SDL_net, SDL_sound, libGLU, libGL, libpng, graphicsmagick }:
 
 stdenv.mkDerivation rec {
-  name = "dosbox-0.74-3";
+  pname = "dosbox";
+  version = "0.74-3";
 
   src = fetchurl {
-    url = "mirror://sourceforge/dosbox/${name}.tar.gz";
+    url = "mirror://sourceforge/dosbox/dosbox-${version}.tar.gz";
     sha256 = "02i648i50dwicv1vaql15rccv4g8h5blf5g6inv67lrfxpbkvlf0";
   };
 
diff --git a/nixpkgs/pkgs/misc/emulators/fakenes/default.nix b/nixpkgs/pkgs/misc/emulators/fakenes/default.nix
index 2011d8ce0375..6bc4b1480ffc 100644
--- a/nixpkgs/pkgs/misc/emulators/fakenes/default.nix
+++ b/nixpkgs/pkgs/misc/emulators/fakenes/default.nix
@@ -1,10 +1,12 @@
 {lib, stdenv, fetchurl, allegro, openal, libGLU, libGL, zlib, hawknl, freeglut, libX11,
   libXxf86vm, libXcursor, libXpm }:
 
-stdenv.mkDerivation {
-  name = "fakenes-0.5.9b3";
+stdenv.mkDerivation rec {
+  pname = "fakenes";
+  version = "0.5.9-beta3";
+
   src = fetchurl {
-    url = "mirror://sourceforge/fakenes/fakenes-0.5.9-beta3.tar.gz";
+    url = "mirror://sourceforge/fakenes/fakenes-${version}.tar.gz";
     sha256 = "026h67s4pzc1vma59pmzk02iy379255qbai2q74wln9bxqcpniy4";
   };
 
diff --git a/nixpkgs/pkgs/misc/emulators/fceux/default.nix b/nixpkgs/pkgs/misc/emulators/fceux/default.nix
index f76fc761abbc..50e9c447f2fc 100644
--- a/nixpkgs/pkgs/misc/emulators/fceux/default.nix
+++ b/nixpkgs/pkgs/misc/emulators/fceux/default.nix
@@ -1,40 +1,24 @@
-{lib, stdenv, fetchFromGitHub, scons, zlib, SDL, lua5_1, pkg-config}:
+{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, wrapQtAppsHook, SDL2, lua5_1, minizip, x264 }:
 
-stdenv.mkDerivation {
-  pname = "fceux-unstable";
-  version = "2020-01-29";
+stdenv.mkDerivation rec {
+  pname = "fceux";
+  version = "2.4.0";
 
   src = fetchFromGitHub {
     owner = "TASVideos";
-    repo = "fceux";
-    rev = "fb8d46d9697cb24b0ebe79d84eedf282f69ab337";
-    sha256 = "0gpz411dzfwx9mr34yi4zb1hphd5hha1nvwgzxki0sviwafca992";
+    repo = pname;
+    rev = "${pname}-${version}";
+    sha256 = "sha256-i0mb0vy46D97oOpAjMw3CPbG4w/LWP9YRVEMWjdYgs0=";
   };
 
-  nativeBuildInputs = [ pkg-config scons ];
-  buildInputs = [
-    zlib SDL lua5_1
-  ];
+  nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ];
+  buildInputs = [ SDL2 lua5_1 minizip x264 ];
 
-  sconsFlags = "OPENGL=false GTK=false CREATE_AVI=false LOGO=false";
-  prefixKey = "--prefix=";
-
-  # sed allows scons to find libraries in nix.
-  # mkdir is a hack to make scons succeed.  It still doesn't
-  # actually put the files in there due to a bug in the SConstruct file.
-  # OPENGL doesn't work because fceux dlopens the library.
-  preBuild = ''
-    sed -e 's/env *= *Environment *.*/&; env['"'"'ENV'"'"']=os.environ;/' -i SConstruct
-    export CC="gcc"
-    export CXX="g++"
-    mkdir -p "$out" "$out/share/applications" "$out/share/pixmaps"
-  '';
-
-  meta = {
+  meta = with lib; {
     description = "A Nintendo Entertainment System (NES) Emulator";
-    license = lib.licenses.gpl2;
-    maintainers = [ lib.maintainers.scubed2 ];
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ sbruder scubed2 ];
     homepage = "http://www.fceux.com/";
-    platforms = lib.platforms.linux;
+    platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/misc/emulators/firebird-emu/default.nix b/nixpkgs/pkgs/misc/emulators/firebird-emu/default.nix
index c766df9e3c03..f2817bde85ce 100644
--- a/nixpkgs/pkgs/misc/emulators/firebird-emu/default.nix
+++ b/nixpkgs/pkgs/misc/emulators/firebird-emu/default.nix
@@ -12,8 +12,6 @@ mkDerivation rec {
     fetchSubmodules = true;
   };
 
-  enableParallelBuilding = true;
-
   nativeBuildInputs = [ qmake ];
 
   buildInputs = [ qtbase qtdeclarative ];
diff --git a/nixpkgs/pkgs/misc/emulators/fuse-emulator/default.nix b/nixpkgs/pkgs/misc/emulators/fuse-emulator/default.nix
index 3426b47daeac..35e28ba55f6a 100644
--- a/nixpkgs/pkgs/misc/emulators/fuse-emulator/default.nix
+++ b/nixpkgs/pkgs/misc/emulators/fuse-emulator/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "fuse-emulator";
-  version = "1.5.7";
+  version = "1.6.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/fuse-${version}.tar.gz";
-    sha256 = "0kaynjr28w42n3iha60mgr7nxm49w8j0v49plyrc7ka24qzmiqph";
+    sha256 = "sha256-Oo/t8v/pR8VxVhusVaWa2tTFkzj3TkSbfnpn2coEcJY=";
   };
 
   nativeBuildInputs = [ perl pkg-config wrapGAppsHook ];
diff --git a/nixpkgs/pkgs/misc/emulators/gens-gs/default.nix b/nixpkgs/pkgs/misc/emulators/gens-gs/default.nix
index abc676ffa632..0fbd12fc3651 100644
--- a/nixpkgs/pkgs/misc/emulators/gens-gs/default.nix
+++ b/nixpkgs/pkgs/misc/emulators/gens-gs/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, gtk2, SDL, nasm, zlib, libpng, libGLU, libGL }:
 
-stdenv.mkDerivation {
-  name = "gens-gs-7";
+stdenv.mkDerivation rec {
+  pname = "gens-gs";
+  version = "7";
 
   src = fetchurl {
-    url = "http://retrocdn.net/images/6/6d/Gens-gs-r7.tar.gz";
+    url = "http://retrocdn.net/images/6/6d/Gens-gs-r${version}.tar.gz";
     sha256 = "1ha5s6d3y7s9aq9f4zmn9p88109c3mrj36z2w68jhiw5xrxws833";
   };
 
diff --git a/nixpkgs/pkgs/misc/emulators/mgba/default.nix b/nixpkgs/pkgs/misc/emulators/mgba/default.nix
index fa25609dcdb8..c15c8a0ad76a 100644
--- a/nixpkgs/pkgs/misc/emulators/mgba/default.nix
+++ b/nixpkgs/pkgs/misc/emulators/mgba/default.nix
@@ -9,6 +9,7 @@
 , libedit
 , libelf
 , libzip
+, copyDesktopItems
 , makeDesktopItem
 , minizip
 , pkg-config
@@ -18,26 +19,15 @@
 , wrapQtAppsHook
 }:
 
-let
-  desktopItem = makeDesktopItem {
-    name = "mgba";
-    exec = "mgba-qt";
-    icon = "mgba";
-    comment = "A Game Boy Advance Emulator";
-    desktopName = "mgba";
-    genericName = "Game Boy Advance Emulator";
-    categories = "Game;Emulator;";
-    startupNotify = "false";
-  };
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "mgba";
-  version = "0.9.0";
+  version = "0.9.2";
 
   src = fetchFromGitHub {
     owner = "mgba-emu";
     repo = "mgba";
     rev = version;
-    hash = "sha256-JVauGyHJVfiXVG4Z+Ydh1lRypy5rk9SKeTbeHFNFYJs=";
+    hash = "sha256-A48PVUCekdRYel/BddPCeIcEDllOvcU7pk4i4P58dpo=";
   };
 
   nativeBuildInputs = [
@@ -59,9 +49,18 @@ in stdenv.mkDerivation rec {
     qttools
   ];
 
-  postInstall = ''
-    cp -r ${desktopItem}/share/applications $out/share
-  '';
+  desktopItems = [
+    (makeDesktopItem {
+      name = "mgba";
+      exec = "mgba-qt";
+      icon = "mgba";
+      comment = "A Game Boy Advance Emulator";
+      desktopName = "mgba";
+      genericName = "Game Boy Advance Emulator";
+      categories = "Game;Emulator;";
+      startupNotify = "false";
+    })
+  ];
 
   meta = with lib; {
     homepage = "https://mgba.io";
diff --git a/nixpkgs/pkgs/misc/emulators/openmsx/default.nix b/nixpkgs/pkgs/misc/emulators/openmsx/default.nix
index 61d416e17ac8..f054b954b59b 100644
--- a/nixpkgs/pkgs/misc/emulators/openmsx/default.nix
+++ b/nixpkgs/pkgs/misc/emulators/openmsx/default.nix
@@ -1,28 +1,55 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config
+{ lib
+, stdenv
+, fetchFromGitHub
+, pkg-config
+, SDL2
+, SDL2_image
+, SDL2_ttf
+, alsa-lib
+, freetype
+, glew
+, libGL
+, libogg
+, libpng
+, libtheora
+, libvorbis
 , python
-, alsa-lib, glew, libGL, libpng
-, libogg, libtheora, libvorbis
-, SDL2, SDL2_image, SDL2_ttf
-, freetype, tcl, zlib
+, tcl
+, zlib
 }:
 
 stdenv.mkDerivation rec {
   pname = "openmsx";
-  version = "16.0";
+  version = "17.0";
 
   src = fetchFromGitHub {
     owner = "openMSX";
     repo = "openMSX";
     rev = "RELEASE_${builtins.replaceStrings ["."] ["_"] version}";
-    sha256 = "04sphn9ph378r0qv881riv90cgz58650jcqcwmi1mv6gbcb3img5";
+    sha256 = "sha256-9PdUNahJZ2O6ASkzLW/uudP3hiIzTDpxzFy6Pjb8JiU=";
     fetchSubmodules = true;
   };
 
-  nativeBuildInputs = [ pkg-config python ];
+  nativeBuildInputs = [
+    pkg-config
+    python
+  ];
 
-  buildInputs = [ alsa-lib glew libGL libpng
-    libogg libtheora libvorbis freetype
-    SDL2 SDL2_image SDL2_ttf tcl zlib ];
+  buildInputs = [
+    SDL2
+    SDL2_image
+    SDL2_ttf
+    alsa-lib
+    freetype
+    glew
+    libGL
+    libogg
+    libpng
+    libtheora
+    libvorbis
+    tcl
+    zlib
+  ];
 
   postPatch = ''
     cp ${./custom-nix.mk} build/custom.mk
@@ -30,19 +57,19 @@ stdenv.mkDerivation rec {
 
   dontAddPrefix = true;
 
-  # Many thanks @mthuurne from OpenMSX project
-  # for providing support to Nixpkgs :)
+  # Many thanks @mthuurne from OpenMSX project for providing support to
+  # Nixpkgs! :)
   TCL_CONFIG="${tcl}/lib/";
 
-  meta = with lib;{
+  meta = with lib; {
+    homepage = "https://openmsx.org";
     description = "The MSX emulator that aims for perfection";
     longDescription = ''
       OpenMSX is an emulator for the MSX home computer system. Its goal is
       to emulate all aspects of the MSX with 100% accuracy.
     '';
-    homepage = "https://openmsx.org";
+    license = with licenses; [ bsd2 boost gpl2Plus ];
     maintainers = with maintainers; [ AndersonTorres ];
     platforms = platforms.unix;
-    license = with licenses; [ bsd2 boost gpl2 ];
   };
 }
diff --git a/nixpkgs/pkgs/misc/emulators/proton-caller/default.nix b/nixpkgs/pkgs/misc/emulators/proton-caller/default.nix
index a69c1b3763ee..0c3b786c11f5 100644
--- a/nixpkgs/pkgs/misc/emulators/proton-caller/default.nix
+++ b/nixpkgs/pkgs/misc/emulators/proton-caller/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "proton-caller";
-  version = "2.3.0";
+  version = "2.3.1";
 
   src = fetchFromGitHub {
     owner = "caverym";
     repo = pname;
     rev = version;
-    sha256 = "1rj0f8jzmrvj6gz1rcdjmxdqk2i5cxhz9ji4217kwyb6h1h0jmdk";
+    sha256 = "sha256-GFZX+ss6LRosCsOuzjLu15BCdImhxH2D2kZQzF8zA90=";
   };
 
-  cargoSha256 = "165kzza1m8h37y1ir0d0hp0z645h4ihkyj83fii69f18gk47r3kg";
+  cargoSha256 = "sha256-8HaMmvSUI5Zttlsx5tewwIR+iKBlp4w8XlRfI0tyBas=";
 
   meta = with lib; {
     description = "Run Windows programs with Proton";
diff --git a/nixpkgs/pkgs/misc/emulators/retroarch/wrapper.nix b/nixpkgs/pkgs/misc/emulators/retroarch/wrapper.nix
index 40d9f07846b7..4cc7ad404be0 100644
--- a/nixpkgs/pkgs/misc/emulators/retroarch/wrapper.nix
+++ b/nixpkgs/pkgs/misc/emulators/retroarch/wrapper.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation {
     inherit license homepage platforms maintainers;
     description = description
                   + " (with cores: "
-                  + lib.concatStrings (lib.intersperse ", " (map (x: ""+x.name) cores))
+                  + lib.concatStringsSep ", " (map (x: ""+x.name) cores)
                   + ")";
   };
 }
diff --git a/nixpkgs/pkgs/misc/emulators/ryujinx/deps.nix b/nixpkgs/pkgs/misc/emulators/ryujinx/deps.nix
index be9281949855..6ae51812b3d5 100644
--- a/nixpkgs/pkgs/misc/emulators/ryujinx/deps.nix
+++ b/nixpkgs/pkgs/misc/emulators/ryujinx/deps.nix
@@ -1,1122 +1,226 @@
 { fetchNuGet }: [
-  (fetchNuGet {
-    name = "AtkSharp";
-    version = "3.22.25.128";
-    sha256 = "0fg01zi7v6127043jzxzihirsdp187pyj83gfa6p79cx763l7z94";
-  })
-  (fetchNuGet {
-    name = "CairoSharp";
-    version = "3.22.25.128";
-    sha256 = "1rjdxd4fq5z3n51qx8vrcaf4i277ccc62jxk88xzbsxapdmjjdf9";
-  })
-  (fetchNuGet {
-    name = "CommandLineParser";
-    version = "2.8.0";
-    sha256 = "1m32xyilv2b7k55jy8ddg08c20glbcj2yi545kxs9hj2ahanhrbb";
-  })
-  (fetchNuGet {
-    name = "Concentus";
-    version = "1.1.7";
-    sha256 = "0y5z444wrbhlmsqpy2sxmajl1fbf74843lvgj3y6vz260dn2q0l0";
-  })
-  (fetchNuGet {
-    name = "Crc32.NET";
-    version = "1.2.0";
-    sha256 = "0qaj3192k1vfji87zf50rhydn5mrzyzybrs2k4v7ap29k8i0vi5h";
-  })
-  (fetchNuGet {
-    name = "DiscordRichPresence";
-    version = "1.0.175";
-    sha256 = "180sax976327d70qbinv07f65g3w2zbw80n49hckg8wd4rw209vd";
-  })
-  (fetchNuGet {
-    name = "FFmpeg.AutoGen";
-    version = "4.4.0";
-    sha256 = "02n4az1jv30078019png9gbspygz051inxsn6w4iar20dqp55g2w";
-  })
-  (fetchNuGet {
-    name = "GdkSharp";
-    version = "3.22.25.128";
-    sha256 = "0bmn0ddaw8797pnhpyl03h2zl8i5ha67yv38gly4ydy50az2xhj7";
-  })
-  (fetchNuGet {
-    name = "GioSharp";
-    version = "3.22.25.128";
-    sha256 = "0syfa1f2hg7wsxln5lh86n8m1lihhprc51b6km91gkl25l5hw5bv";
-  })
-  (fetchNuGet {
-    name = "GLibSharp";
-    version = "3.22.25.128";
-    sha256 = "1j8i5izk97ga30z1qpd765zqd2q5w71y8bhnkqq4bj59768fyxp5";
-  })
-  (fetchNuGet {
-    name = "GtkSharp.Dependencies";
-    version = "1.1.0";
-    sha256 = "1g1rhcn38ww97638rds6l5bysra43hkhv47fy71fvq89623zgyxn";
-  })
-  (fetchNuGet {
-    name = "GtkSharp";
-    version = "3.22.25.128";
-    sha256 = "0z0wx0p3gc02r8d7y88k1rw307sb2vapbr1k1yc5qdc38fxz5jsy";
-  })
-  (fetchNuGet {
-    name = "LibHac";
-    version = "0.12.0";
-    sha256 = "08r9b9cdcbz6339sw8r5dfy2a8iw53df0j3xq9rygkg02xspimld";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.App.Runtime.linux-x64";
-    version = "5.0.5";
-    sha256 = "026m19pddhkx5idwpi6mp1yl9yfcfgm2qjp1jh54mdja1d7ng0vk";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.App.Runtime.osx-x64";
-    version = "5.0.5";
-    sha256 = "09nsi9fa8kb3jpnim0hdap3jabskvpr4fmpvnj5wsh3gp91vqvgb";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.App.Runtime.win-x64";
-    version = "5.0.5";
-    sha256 = "10g2vdsz685agqbd7h7dd9gvs584prpai0zv37r59wzlynj1assl";
-  })
-  (fetchNuGet {
-    name = "Microsoft.CodeCoverage";
-    version = "16.8.0";
-    sha256 = "1y05sjk7wgd29a47v1yhn2s1lrd8wgazkilvmjbvivmrrm3fqjs8";
-  })
-  (fetchNuGet {
-    name = "Microsoft.CSharp";
-    version = "4.0.1";
-    sha256 = "0zxc0apx1gcx361jlq8smc9pfdgmyjh6hpka8dypc9w23nlsh6yj";
-  })
-  (fetchNuGet {
-    name = "Microsoft.DotNet.InternalAbstractions";
-    version = "1.0.0";
-    sha256 = "0mp8ihqlb7fsa789frjzidrfjc1lrhk88qp3xm5qvr7vf4wy4z8x";
-  })
-  (fetchNuGet {
-    name = "Microsoft.NET.Test.Sdk";
-    version = "16.8.0";
-    sha256 = "1ln2mva7j2mpsj9rdhpk8vhm3pgd8wn563xqdcwd38avnhp74rm9";
-  })
-  (fetchNuGet {
-    name = "Microsoft.NETCore.App.Host.osx-x64";
-    version = "5.0.5";
-    sha256 = "14d6wz593dwm2j3apd3ny10idk8bfxqgfrparhc1q7q4i66y21ws";
-  })
-  (fetchNuGet {
-    name = "Microsoft.NETCore.App.Host.win-x64";
-    version = "5.0.5";
-    sha256 = "1233y31z46yqzjgwpa6mmb1h63iqp6wbly6mbwkjqm2adx1wkp47";
-  })
-  (fetchNuGet {
-    name = "Microsoft.NETCore.App.Runtime.linux-x64";
-    version = "5.0.5";
-    sha256 = "1h5yry6k9bpqqis2fb1901csb8kipm7anm174fjj41r317vzfjfa";
-  })
-  (fetchNuGet {
-    name = "Microsoft.NETCore.App.Runtime.osx-x64";
-    version = "5.0.5";
-    sha256 = "1a1ijdk61l0h25sj9ypcf96vz1c08ca7q5809g82qpi9m34kw8b8";
-  })
-  (fetchNuGet {
-    name = "Microsoft.NETCore.App.Runtime.win-x64";
-    version = "5.0.5";
-    sha256 = "1gc4msk61jgj9ill4icp0mn523g411iqpxphp0fykfvqdpqyqg46";
-  })
-  (fetchNuGet {
-    name = "Microsoft.NETCore.Platforms";
-    version = "1.0.1";
-    sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr";
-  })
-  (fetchNuGet {
-    name = "Microsoft.NETCore.Platforms";
-    version = "1.1.0";
-    sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm";
-  })
-  (fetchNuGet {
-    name = "Microsoft.NETCore.Platforms";
-    version = "2.0.0";
-    sha256 = "1fk2fk2639i7nzy58m9dvpdnzql4vb8yl8vr19r2fp8lmj9w2jr0";
-  })
-  (fetchNuGet {
-    name = "Microsoft.NETCore.Platforms";
-    version = "5.0.0";
-    sha256 = "0mwpwdflidzgzfx2dlpkvvnkgkr2ayaf0s80737h4wa35gaj11rc";
-  })
-  (fetchNuGet {
-    name = "Microsoft.NETCore.Targets";
-    version = "1.0.1";
-    sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p";
-  })
-  (fetchNuGet {
-    name = "Microsoft.NETCore.Targets";
-    version = "1.1.0";
-    sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh";
-  })
-  (fetchNuGet {
-    name = "Microsoft.TestPlatform.ObjectModel";
-    version = "16.8.0";
-    sha256 = "0ii9d88py6mjsxzj9v3zx4izh6rb9ma6s9kj85xmc0xrw7jc2g3m";
-  })
-  (fetchNuGet {
-    name = "Microsoft.TestPlatform.TestHost";
-    version = "16.8.0";
-    sha256 = "1rh8cga1km3jfafkwfjr0dwqrxb4306hf7fipwba9h02w7vlhb9a";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Win32.Primitives";
-    version = "4.0.1";
-    sha256 = "1n8ap0cmljbqskxpf8fjzn7kh1vvlndsa75k01qig26mbw97k2q7";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Win32.Primitives";
-    version = "4.3.0";
-    sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Win32.Registry";
-    version = "4.3.0";
-    sha256 = "1gxyzxam8163vk1kb6xzxjj4iwspjsz9zhgn1w9rjzciphaz0ig7";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Win32.Registry";
-    version = "4.5.0";
-    sha256 = "1zapbz161ji8h82xiajgriq6zgzmb1f3ar517p2h63plhsq5gh2q";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Win32.Registry";
-    version = "5.0.0";
-    sha256 = "102hvhq2gmlcbq8y2cb7hdr2dnmjzfp2k3asr1ycwrfacwyaak7n";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Win32.SystemEvents";
-    version = "5.0.0";
-    sha256 = "0sja4ba0mrvdamn0r9mhq38b9dxi08yb3c1hzh29n1z6ws1hlrcq";
-  })
-  (fetchNuGet {
-    name = "Mono.Posix.NETStandard";
-    version = "1.0.0";
-    sha256 = "0xlja36hwpjm837haq15mjh2prcf68lyrmn72nvgpz8qnf9vappw";
-  })
-  (fetchNuGet {
-    name = "MsgPack.Cli";
-    version = "1.0.1";
-    sha256 = "1dk2bs3g16lsxcjjm7gfx6jxa4667wccw94jlh2ql7y7smvh9z8r";
-  })
-  (fetchNuGet {
-    name = "NETStandard.Library";
-    version = "1.6.0";
-    sha256 = "0nmmv4yw7gw04ik8ialj3ak0j6pxa9spih67hnn1h2c38ba8h58k";
-  })
-  (fetchNuGet {
-    name = "NETStandard.Library";
-    version = "2.0.0";
-    sha256 = "1bc4ba8ahgk15m8k4nd7x406nhi0kwqzbgjk2dmw52ss553xz7iy";
-  })
-  (fetchNuGet {
-    name = "Newtonsoft.Json";
-    version = "12.0.2";
-    sha256 = "0w2fbji1smd2y7x25qqibf1qrznmv4s6s0jvrbvr6alb7mfyqvh5";
-  })
-  (fetchNuGet {
-    name = "Newtonsoft.Json";
-    version = "9.0.1";
-    sha256 = "0mcy0i7pnfpqm4pcaiyzzji4g0c8i3a5gjz28rrr28110np8304r";
-  })
-  (fetchNuGet {
-    name = "NuGet.Frameworks";
-    version = "5.0.0";
-    sha256 = "18ijvmj13cwjdrrm52c8fpq021531zaz4mj4b4zapxaqzzxf2qjr";
-  })
-  (fetchNuGet {
-    name = "NUnit";
-    version = "3.12.0";
-    sha256 = "1880j2xwavi8f28vxan3hyvdnph4nlh5sbmh285s4lc9l0b7bdk2";
-  })
-  (fetchNuGet {
-    name = "NUnit3TestAdapter";
-    version = "3.17.0";
-    sha256 = "0kxc6z3b8ccdrcyqz88jm5yh5ch9nbg303v67q8sp5hhs8rl8nk6";
-  })
-  (fetchNuGet {
-    name = "OpenTK.Core";
-    version = "4.5.0";
-    sha256 = "06qxczikp0aah20d4skk3g588dgh2vn2xffn0ajyyv0475m61s9m";
-  })
-  (fetchNuGet {
-    name = "OpenTK.Graphics";
-    version = "4.5.0";
-    sha256 = "180g5c92fhhhpmwl6paihx4h1bil7akaihlz2qy124n28pf4s988";
-  })
-  (fetchNuGet {
-    name = "OpenTK.Mathematics";
-    version = "4.5.0";
-    sha256 = "1h9dxhq1llxdbgdzsi87ijqgj2ilr3rv0zkxhaa65xrc5x8j8fva";
-  })
-  (fetchNuGet {
-    name = "OpenTK.OpenAL";
-    version = "4.5.0";
-    sha256 = "0lqxpc3vnxglql42x2frvq5bpkl5cf3dpnf9nx6pr3q6qnhigkfb";
-  })
-  (fetchNuGet {
-    name = "PangoSharp";
-    version = "3.22.25.128";
-    sha256 = "0dkl9j0yd65s5ds9xj5z6yb7yca7wlycqz25m8dng20d13sqr1zp";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.Collections";
-    version = "4.3.0";
-    sha256 = "0bv5qgm6vr47ynxqbnkc7i797fdi8gbjjxii173syrx14nmrkwg0";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.Diagnostics.Tools";
-    version = "4.3.0";
-    sha256 = "1wl76vk12zhdh66vmagni66h5xbhgqq7zkdpgw21jhxhvlbcl8pk";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.Diagnostics.Tracing";
-    version = "4.3.0";
-    sha256 = "00j6nv2xgmd3bi347k00m7wr542wjlig53rmj28pmw7ddcn97jbn";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.Globalization.Calendars";
-    version = "4.3.0";
-    sha256 = "1ghhhk5psqxcg6w88sxkqrc35bxcz27zbqm2y5p5298pv3v7g201";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.Globalization";
-    version = "4.3.0";
-    sha256 = "1daqf33hssad94lamzg01y49xwndy2q97i2lrb7mgn28656qia1x";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.IO";
-    version = "4.3.0";
-    sha256 = "0l8xz8zn46w4d10bcn3l4yyn4vhb3lrj2zw8llvz7jk14k4zps5x";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.Reflection.Extensions";
-    version = "4.3.0";
-    sha256 = "0zyri97dfc5vyaz9ba65hjj1zbcrzaffhsdlpxc9bh09wy22fq33";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.Reflection.Primitives";
-    version = "4.3.0";
-    sha256 = "0x1mm8c6iy8rlxm8w9vqw7gb7s1ljadrn049fmf70cyh42vdfhrf";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.Reflection";
-    version = "4.3.0";
-    sha256 = "02c9h3y35pylc0zfq3wcsvc5nqci95nrkq0mszifc0sjx7xrzkly";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.Resources.ResourceManager";
-    version = "4.3.0";
-    sha256 = "03kickal0iiby82wa5flar18kyv82s9s6d4xhk5h4bi5kfcyfjzl";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.Runtime.Handles";
-    version = "4.3.0";
-    sha256 = "0bh5bi25nk9w9xi8z23ws45q5yia6k7dg3i4axhfqlnj145l011x";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.Runtime.InteropServices";
-    version = "4.3.0";
-    sha256 = "0c3g3g3jmhlhw4klrc86ka9fjbl7i59ds1fadsb2l8nqf8z3kb19";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.Runtime";
-    version = "4.3.0";
-    sha256 = "1cqh1sv3h5j7ixyb7axxbdkqx6cxy00p4np4j91kpm492rf4s25b";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.Text.Encoding.Extensions";
-    version = "4.3.0";
-    sha256 = "0lqhgqi0i8194ryqq6v2gqx0fb86db2gqknbm0aq31wb378j7ip8";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.Text.Encoding";
-    version = "4.3.0";
-    sha256 = "0aqqi1v4wx51h51mk956y783wzags13wa7mgqyclacmsmpv02ps3";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.Threading.Tasks";
-    version = "4.3.0";
-    sha256 = "03mnvkhskbzxddz4hm113zsch1jyzh2cs450dk3rgfjp8crlw1va";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.Threading.Timer";
-    version = "4.3.0";
-    sha256 = "0aw4phrhwqz9m61r79vyfl5la64bjxj8l34qnrcwb28v49fg2086";
-  })
-  (fetchNuGet {
-    name = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl";
-    version = "4.3.0";
-    sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d";
-  })
-  (fetchNuGet {
-    name = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl";
-    version = "4.3.0";
-    sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59";
-  })
-  (fetchNuGet {
-    name = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl";
-    version = "4.3.0";
-    sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa";
-  })
-  (fetchNuGet {
-    name = "runtime.native.System.IO.Compression";
-    version = "4.1.0";
-    sha256 = "0d720z4lzyfcabmmnvh0bnj76ll7djhji2hmfh3h44sdkjnlkknk";
-  })
-  (fetchNuGet {
-    name = "runtime.native.System.Net.Http";
-    version = "4.0.1";
-    sha256 = "1hgv2bmbaskx77v8glh7waxws973jn4ah35zysnkxmf0196sfxg6";
-  })
-  (fetchNuGet {
-    name = "runtime.native.System.Security.Cryptography.OpenSsl";
-    version = "4.3.0";
-    sha256 = "18pzfdlwsg2nb1jjjjzyb5qlgy6xjxzmhnfaijq5s2jw3cm3ab97";
-  })
-  (fetchNuGet {
-    name = "runtime.native.System.Security.Cryptography";
-    version = "4.0.0";
-    sha256 = "0k57aa2c3b10wl3hfqbgrl7xq7g8hh3a3ir44b31dn5p61iiw3z9";
-  })
-  (fetchNuGet {
-    name = "runtime.native.System";
-    version = "4.0.0";
-    sha256 = "1ppk69xk59ggacj9n7g6fyxvzmk1g5p4fkijm0d7xqfkig98qrkf";
-  })
-  (fetchNuGet {
-    name = "runtime.native.System";
-    version = "4.3.0";
-    sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4";
-  })
-  (fetchNuGet {
-    name = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl";
-    version = "4.3.0";
-    sha256 = "0qyynf9nz5i7pc26cwhgi8j62ps27sqmf78ijcfgzab50z9g8ay3";
-  })
-  (fetchNuGet {
-    name = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl";
-    version = "4.3.0";
-    sha256 = "1klrs545awhayryma6l7g2pvnp9xy4z0r1i40r80zb45q3i9nbyf";
-  })
-  (fetchNuGet {
-    name = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl";
-    version = "4.3.0";
-    sha256 = "0zcxjv5pckplvkg0r6mw3asggm7aqzbdjimhvsasb0cgm59x09l3";
-  })
-  (fetchNuGet {
-    name = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl";
-    version = "4.3.0";
-    sha256 = "0vhynn79ih7hw7cwjazn87rm9z9fj0rvxgzlab36jybgcpcgphsn";
-  })
-  (fetchNuGet {
-    name = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl";
-    version = "4.3.0";
-    sha256 = "160p68l2c7cqmyqjwxydcvgw7lvl1cr0znkw8fp24d1by9mqc8p3";
-  })
-  (fetchNuGet {
-    name = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl";
-    version = "4.3.0";
-    sha256 = "15zrc8fgd8zx28hdghcj5f5i34wf3l6bq5177075m2bc2j34jrqy";
-  })
-  (fetchNuGet {
-    name = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl";
-    version = "4.3.0";
-    sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5";
-  })
-  (fetchNuGet {
-    name = "runtime.unix.Microsoft.Win32.Primitives";
-    version = "4.3.0";
-    sha256 = "0y61k9zbxhdi0glg154v30kkq7f8646nif8lnnxbvkjpakggd5id";
-  })
-  (fetchNuGet {
-    name = "runtime.unix.System.Console";
-    version = "4.3.0";
-    sha256 = "1pfpkvc6x2if8zbdzg9rnc5fx51yllprl8zkm5npni2k50lisy80";
-  })
-  (fetchNuGet {
-    name = "runtime.unix.System.Diagnostics.Debug";
-    version = "4.3.0";
-    sha256 = "1lps7fbnw34bnh3lm31gs5c0g0dh7548wfmb8zz62v0zqz71msj5";
-  })
-  (fetchNuGet {
-    name = "runtime.unix.System.IO.FileSystem";
-    version = "4.3.0";
-    sha256 = "14nbkhvs7sji5r1saj2x8daz82rnf9kx28d3v2qss34qbr32dzix";
-  })
-  (fetchNuGet {
-    name = "runtime.unix.System.Net.Primitives";
-    version = "4.3.0";
-    sha256 = "0bdnglg59pzx9394sy4ic66kmxhqp8q8bvmykdxcbs5mm0ipwwm4";
-  })
-  (fetchNuGet {
-    name = "runtime.unix.System.Net.Sockets";
-    version = "4.3.0";
-    sha256 = "03npdxzy8gfv035bv1b9rz7c7hv0rxl5904wjz51if491mw0xy12";
-  })
-  (fetchNuGet {
-    name = "runtime.unix.System.Private.Uri";
-    version = "4.3.0";
-    sha256 = "1jx02q6kiwlvfksq1q9qr17fj78y5v6mwsszav4qcz9z25d5g6vk";
-  })
-  (fetchNuGet {
-    name = "runtime.unix.System.Runtime.Extensions";
-    version = "4.3.0";
-    sha256 = "0pnxxmm8whx38dp6yvwgmh22smknxmqs5n513fc7m4wxvs1bvi4p";
-  })
-  (fetchNuGet {
-    name = "runtime.win.Microsoft.Win32.Primitives";
-    version = "4.3.0";
-    sha256 = "0k1h8nnp1s0p8rjwgjyj1387cc1yycv0k22igxc963lqdzrx2z36";
-  })
-  (fetchNuGet {
-    name = "runtime.win.System.Console";
-    version = "4.3.0";
-    sha256 = "0x2yajfrbc5zc6g7nmlr44xpjk6p1hxjq47jn3xki5j7i33zw9jc";
-  })
-  (fetchNuGet {
-    name = "runtime.win.System.Diagnostics.Debug";
-    version = "4.3.0";
-    sha256 = "16fbn4bcynad1ygdq0yk1wmckvs8jvrrf104xa5dc2hlc8y3x58f";
-  })
-  (fetchNuGet {
-    name = "runtime.win.System.IO.FileSystem";
-    version = "4.3.0";
-    sha256 = "1c01nklbxywszsbfaxc76hsz7gdxac3jkphrywfkdsi3v4bwd6g8";
-  })
-  (fetchNuGet {
-    name = "runtime.win.System.Net.Primitives";
-    version = "4.3.0";
-    sha256 = "1dixh195bi7473n17hspll6i562gghdz9m4jk8d4kzi1mlzjk9cf";
-  })
-  (fetchNuGet {
-    name = "runtime.win.System.Net.Sockets";
-    version = "4.3.0";
-    sha256 = "0lr3zki831vs6qhk5wckv2b9qbfk9rcj0ds2926qvj1b9y9m6sck";
-  })
-  (fetchNuGet {
-    name = "runtime.win.System.Runtime.Extensions";
-    version = "4.3.0";
-    sha256 = "1700famsxndccfbcdz9q14qb20p49lax67mqwpgy4gx3vja1yczr";
-  })
-  (fetchNuGet {
-    name = "Ryujinx.Audio.OpenAL.Dependencies";
-    version = "1.21.0.1";
-    sha256 = "0z5k42h252nr60d02p2ww9190d7k1kzrb26vil4ydfhxqqqv6w9l";
-  })
-  (fetchNuGet {
-    name = "Ryujinx.Graphics.Nvdec.Dependencies";
-    version = "4.4.0-build7";
-    sha256 = "0g1l3lgs0ffxp64ka81v6q1cgsdirl1qlf73255v29r3v337074m";
-  })
-  (fetchNuGet {
-    name = "Ryujinx.SDL2-CS";
-    version = "2.0.15-build11";
-    sha256 = "0s4h69l2b508l5wxp4v4ip8k83k78p3963xxv8bfamin9517przi";
-  })
-  (fetchNuGet {
-    name = "SharpZipLib";
-    version = "1.3.0";
-    sha256 = "1pizj82wisch28nfdaszwqm9bz19lnl0s5mq8c0zybm2vhnrhvk4";
-  })
-  (fetchNuGet {
-    name = "SixLabors.Fonts";
-    version = "1.0.0-beta0013";
-    sha256 = "0r0aw8xxd32rwcawawcz6asiyggz02hnzg5hvz8gimq8hvwx1wql";
-  })
-  (fetchNuGet {
-    name = "SixLabors.ImageSharp.Drawing";
-    version = "1.0.0-beta11";
-    sha256 = "0hl0rs3kr1zdnx3gdssxgli6fyvmwzcfp99f4db71s0i8j8b2bp5";
-  })
-  (fetchNuGet {
-    name = "SixLabors.ImageSharp";
-    version = "1.0.2";
-    sha256 = "0fhk9sn8k18slfb26wz8mal0j699f7djwhxgv97snz6b10wynfaj";
-  })
-  (fetchNuGet {
-    name = "SPB";
-    version = "0.0.3-build15";
-    sha256 = "0h00yi2j65q31r5npsziq2rpiw832vf9r72j1hjqibp2l5m6v6yw";
-  })
-  (fetchNuGet {
-    name = "System.AppContext";
-    version = "4.1.0";
-    sha256 = "0fv3cma1jp4vgj7a8hqc9n7hr1f1kjp541s6z0q1r6nazb4iz9mz";
-  })
-  (fetchNuGet {
-    name = "System.Buffers";
-    version = "4.0.0";
-    sha256 = "13s659bcmg9nwb6z78971z1lr6bmh2wghxi1ayqyzl4jijd351gr";
-  })
-  (fetchNuGet {
-    name = "System.Buffers";
-    version = "4.3.0";
-    sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy";
-  })
-  (fetchNuGet {
-    name = "System.CodeDom";
-    version = "4.4.0";
-    sha256 = "1zgbafm5p380r50ap5iddp11kzhr9khrf2pnai6k593wjar74p1g";
-  })
-  (fetchNuGet {
-    name = "System.CodeDom";
-    version = "5.0.0";
-    sha256 = "14zs2wqkmdlxzj8ikx19n321lsbarx5vl2a8wrachymxn8zb5njh";
-  })
-  (fetchNuGet {
-    name = "System.Collections.Concurrent";
-    version = "4.0.12";
-    sha256 = "07y08kvrzpak873pmyxs129g1ch8l27zmg51pcyj2jvq03n0r0fc";
-  })
-  (fetchNuGet {
-    name = "System.Collections.NonGeneric";
-    version = "4.3.0";
-    sha256 = "07q3k0hf3mrcjzwj8fwk6gv3n51cb513w4mgkfxzm3i37sc9kz7k";
-  })
-  (fetchNuGet {
-    name = "System.Collections.Specialized";
-    version = "4.3.0";
-    sha256 = "1sdwkma4f6j85m3dpb53v9vcgd0zyc9jb33f8g63byvijcj39n20";
-  })
-  (fetchNuGet {
-    name = "System.Collections";
-    version = "4.0.11";
-    sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6";
-  })
-  (fetchNuGet {
-    name = "System.Collections";
-    version = "4.3.0";
-    sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9";
-  })
-  (fetchNuGet {
-    name = "System.ComponentModel.EventBasedAsync";
-    version = "4.3.0";
-    sha256 = "1rv9bkb8yyhqqqrx6x95njv6mdxlbvv527b44mrd93g8fmgkifl7";
-  })
-  (fetchNuGet {
-    name = "System.ComponentModel.Primitives";
-    version = "4.3.0";
-    sha256 = "1svfmcmgs0w0z9xdw2f2ps05rdxmkxxhf0l17xk9l1l8xfahkqr0";
-  })
-  (fetchNuGet {
-    name = "System.ComponentModel.TypeConverter";
-    version = "4.3.0";
-    sha256 = "17ng0p7v3nbrg3kycz10aqrrlw4lz9hzhws09pfh8gkwicyy481x";
-  })
-  (fetchNuGet {
-    name = "System.ComponentModel";
-    version = "4.3.0";
-    sha256 = "0986b10ww3nshy30x9sjyzm0jx339dkjxjj3401r3q0f6fx2wkcb";
-  })
-  (fetchNuGet {
-    name = "System.Console";
-    version = "4.0.0";
-    sha256 = "0ynxqbc3z1nwbrc11hkkpw9skw116z4y9wjzn7id49p9yi7mzmlf";
-  })
-  (fetchNuGet {
-    name = "System.Diagnostics.Debug";
-    version = "4.0.11";
-    sha256 = "0gmjghrqmlgzxivd2xl50ncbglb7ljzb66rlx8ws6dv8jm0d5siz";
-  })
-  (fetchNuGet {
-    name = "System.Diagnostics.Debug";
-    version = "4.3.0";
-    sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y";
-  })
-  (fetchNuGet {
-    name = "System.Diagnostics.DiagnosticSource";
-    version = "4.0.0";
-    sha256 = "1n6c3fbz7v8d3pn77h4v5wvsfrfg7v1c57lg3nff3cjyh597v23m";
-  })
-  (fetchNuGet {
-    name = "System.Diagnostics.Process";
-    version = "4.3.0";
-    sha256 = "0g4prsbkygq8m21naqmcp70f24a1ksyix3dihb1r1f71lpi3cfj7";
-  })
-  (fetchNuGet {
-    name = "System.Diagnostics.Tools";
-    version = "4.0.1";
-    sha256 = "19cknvg07yhakcvpxg3cxa0bwadplin6kyxd8mpjjpwnp56nl85x";
-  })
-  (fetchNuGet {
-    name = "System.Diagnostics.Tracing";
-    version = "4.1.0";
-    sha256 = "1d2r76v1x610x61ahfpigda89gd13qydz6vbwzhpqlyvq8jj6394";
-  })
-  (fetchNuGet {
-    name = "System.Diagnostics.Tracing";
-    version = "4.3.0";
-    sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4";
-  })
-  (fetchNuGet {
-    name = "System.Drawing.Common";
-    version = "5.0.1";
-    sha256 = "14h722wq58k1wmgxmpws91xc7kh8109ijw0hcxjq9qkbhbi6pwmb";
-  })
-  (fetchNuGet {
-    name = "System.Dynamic.Runtime";
-    version = "4.0.11";
-    sha256 = "1pla2dx8gkidf7xkciig6nifdsb494axjvzvann8g2lp3dbqasm9";
-  })
-  (fetchNuGet {
-    name = "System.Globalization.Calendars";
-    version = "4.0.1";
-    sha256 = "0bv0alrm2ck2zk3rz25lfyk9h42f3ywq77mx1syl6vvyncnpg4qh";
-  })
-  (fetchNuGet {
-    name = "System.Globalization.Extensions";
-    version = "4.0.1";
-    sha256 = "0hjhdb5ri8z9l93bw04s7ynwrjrhx2n0p34sf33a9hl9phz69fyc";
-  })
-  (fetchNuGet {
-    name = "System.Globalization.Extensions";
-    version = "4.3.0";
-    sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls";
-  })
-  (fetchNuGet {
-    name = "System.Globalization";
-    version = "4.0.11";
-    sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d";
-  })
-  (fetchNuGet {
-    name = "System.Globalization";
-    version = "4.3.0";
-    sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki";
-  })
-  (fetchNuGet {
-    name = "System.IO.Compression.ZipFile";
-    version = "4.0.1";
-    sha256 = "0h72znbagmgvswzr46mihn7xm7chfk2fhrp5krzkjf29pz0i6z82";
-  })
-  (fetchNuGet {
-    name = "System.IO.Compression";
-    version = "4.1.0";
-    sha256 = "0iym7s3jkl8n0vzm3jd6xqg9zjjjqni05x45dwxyjr2dy88hlgji";
-  })
-  (fetchNuGet {
-    name = "System.IO.FileSystem.Primitives";
-    version = "4.0.1";
-    sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612";
-  })
-  (fetchNuGet {
-    name = "System.IO.FileSystem.Primitives";
-    version = "4.3.0";
-    sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c";
-  })
-  (fetchNuGet {
-    name = "System.IO.FileSystem";
-    version = "4.0.1";
-    sha256 = "0kgfpw6w4djqra3w5crrg8xivbanh1w9dh3qapb28q060wb9flp1";
-  })
-  (fetchNuGet {
-    name = "System.IO.FileSystem";
-    version = "4.3.0";
-    sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw";
-  })
-  (fetchNuGet {
-    name = "System.IO";
-    version = "4.1.0";
-    sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp";
-  })
-  (fetchNuGet {
-    name = "System.IO";
-    version = "4.3.0";
-    sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f";
-  })
-  (fetchNuGet {
-    name = "System.Linq.Expressions";
-    version = "4.1.0";
-    sha256 = "1gpdxl6ip06cnab7n3zlcg6mqp7kknf73s8wjinzi4p0apw82fpg";
-  })
-  (fetchNuGet {
-    name = "System.Linq";
-    version = "4.1.0";
-    sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5";
-  })
-  (fetchNuGet {
-    name = "System.Linq";
-    version = "4.3.0";
-    sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7";
-  })
-  (fetchNuGet {
-    name = "System.Management";
-    version = "5.0.0";
-    sha256 = "09hyv3p0zd549577clydlb2szl84m4gvdjnsry73n8b12ja7d75s";
-  })
-  (fetchNuGet {
-    name = "System.Net.Http";
-    version = "4.1.0";
-    sha256 = "1i5rqij1icg05j8rrkw4gd4pgia1978mqhjzhsjg69lvwcdfg8yb";
-  })
-  (fetchNuGet {
-    name = "System.Net.NameResolution";
-    version = "4.3.0";
-    sha256 = "15r75pwc0rm3vvwsn8rvm2krf929mjfwliv0mpicjnii24470rkq";
-  })
-  (fetchNuGet {
-    name = "System.Net.Primitives";
-    version = "4.0.11";
-    sha256 = "10xzzaynkzkakp7jai1ik3r805zrqjxiz7vcagchyxs2v26a516r";
-  })
-  (fetchNuGet {
-    name = "System.Net.Sockets";
-    version = "4.1.0";
-    sha256 = "1385fvh8h29da5hh58jm1v78fzi9fi5vj93vhlm2kvqpfahvpqls";
-  })
-  (fetchNuGet {
-    name = "System.Numerics.Vectors";
-    version = "4.3.0";
-    sha256 = "05kji1mv4sl75iwmc613p873145nynm02xiajx8pn0h2kx53d23s";
-  })
-  (fetchNuGet {
-    name = "System.Numerics.Vectors";
-    version = "4.5.0";
-    sha256 = "1kzrj37yzawf1b19jq0253rcs8hsq1l2q8g69d7ipnhzb0h97m59";
-  })
-  (fetchNuGet {
-    name = "System.ObjectModel";
-    version = "4.0.12";
-    sha256 = "1sybkfi60a4588xn34nd9a58png36i0xr4y4v4kqpg8wlvy5krrj";
-  })
-  (fetchNuGet {
-    name = "System.Private.Uri";
-    version = "4.3.0";
-    sha256 = "04r1lkdnsznin0fj4ya1zikxiqr0h6r6a1ww2dsm60gqhdrf0mvx";
-  })
-  (fetchNuGet {
-    name = "System.Reflection.Emit.ILGeneration";
-    version = "4.0.1";
-    sha256 = "1pcd2ig6bg144y10w7yxgc9d22r7c7ww7qn1frdfwgxr24j9wvv0";
-  })
-  (fetchNuGet {
-    name = "System.Reflection.Emit.ILGeneration";
-    version = "4.3.0";
-    sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q";
-  })
-  (fetchNuGet {
-    name = "System.Reflection.Emit.Lightweight";
-    version = "4.0.1";
-    sha256 = "1s4b043zdbx9k39lfhvsk68msv1nxbidhkq6nbm27q7sf8xcsnxr";
-  })
-  (fetchNuGet {
-    name = "System.Reflection.Emit.Lightweight";
-    version = "4.3.0";
-    sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c";
-  })
-  (fetchNuGet {
-    name = "System.Reflection.Emit";
-    version = "4.0.1";
-    sha256 = "0ydqcsvh6smi41gyaakglnv252625hf29f7kywy2c70nhii2ylqp";
-  })
-  (fetchNuGet {
-    name = "System.Reflection.Emit";
-    version = "4.3.0";
-    sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74";
-  })
-  (fetchNuGet {
-    name = "System.Reflection.Extensions";
-    version = "4.0.1";
-    sha256 = "0m7wqwq0zqq9gbpiqvgk3sr92cbrw7cp3xn53xvw7zj6rz6fdirn";
-  })
-  (fetchNuGet {
-    name = "System.Reflection.Extensions";
-    version = "4.3.0";
-    sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq";
-  })
-  (fetchNuGet {
-    name = "System.Reflection.Primitives";
-    version = "4.0.1";
-    sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28";
-  })
-  (fetchNuGet {
-    name = "System.Reflection.Primitives";
-    version = "4.3.0";
-    sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276";
-  })
-  (fetchNuGet {
-    name = "System.Reflection.TypeExtensions";
-    version = "4.1.0";
-    sha256 = "1bjli8a7sc7jlxqgcagl9nh8axzfl11f4ld3rjqsyxc516iijij7";
-  })
-  (fetchNuGet {
-    name = "System.Reflection.TypeExtensions";
-    version = "4.3.0";
-    sha256 = "0y2ssg08d817p0vdag98vn238gyrrynjdj4181hdg780sif3ykp1";
-  })
-  (fetchNuGet {
-    name = "System.Reflection";
-    version = "4.1.0";
-    sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9";
-  })
-  (fetchNuGet {
-    name = "System.Reflection";
-    version = "4.3.0";
-    sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m";
-  })
-  (fetchNuGet {
-    name = "System.Resources.ResourceManager";
-    version = "4.0.1";
-    sha256 = "0b4i7mncaf8cnai85jv3wnw6hps140cxz8vylv2bik6wyzgvz7bi";
-  })
-  (fetchNuGet {
-    name = "System.Resources.ResourceManager";
-    version = "4.3.0";
-    sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.CompilerServices.Unsafe";
-    version = "4.7.0";
-    sha256 = "16r6sn4czfjk8qhnz7bnqlyiaaszr0ihinb7mq9zzr1wba257r54";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.CompilerServices.Unsafe";
-    version = "5.0.0-preview.7.20364.11";
-    sha256 = "19sl184f6rjhfsizq0vapysazd6yd66lf638rszvrdhqlsxssz2m";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.Extensions";
-    version = "4.1.0";
-    sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.Extensions";
-    version = "4.3.0";
-    sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.Handles";
-    version = "4.0.1";
-    sha256 = "1g0zrdi5508v49pfm3iii2hn6nm00bgvfpjq1zxknfjrxxa20r4g";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.Handles";
-    version = "4.3.0";
-    sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.InteropServices.RuntimeInformation";
-    version = "4.0.0";
-    sha256 = "0glmvarf3jz5xh22iy3w9v3wyragcm4hfdr17v90vs7vcrm7fgp6";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.InteropServices.RuntimeInformation";
-    version = "4.3.0";
-    sha256 = "0q18r1sh4vn7bvqgd6dmqlw5v28flbpj349mkdish2vjyvmnb2ii";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.InteropServices";
-    version = "4.1.0";
-    sha256 = "01kxqppx3dr3b6b286xafqilv4s2n0gqvfgzfd4z943ga9i81is1";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.InteropServices";
-    version = "4.3.0";
-    sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.Numerics";
-    version = "4.0.1";
-    sha256 = "1y308zfvy0l5nrn46mqqr4wb4z1xk758pkk8svbz8b5ij7jnv4nn";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.Serialization.Primitives";
-    version = "4.1.1";
-    sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k";
-  })
-  (fetchNuGet {
-    name = "System.Runtime";
-    version = "4.1.0";
-    sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m";
-  })
-  (fetchNuGet {
-    name = "System.Runtime";
-    version = "4.3.0";
-    sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7";
-  })
-  (fetchNuGet {
-    name = "System.Security.AccessControl";
-    version = "4.5.0";
-    sha256 = "1wvwanz33fzzbnd2jalar0p0z3x0ba53vzx1kazlskp7pwyhlnq0";
-  })
-  (fetchNuGet {
-    name = "System.Security.AccessControl";
-    version = "5.0.0";
-    sha256 = "17n3lrrl6vahkqmhlpn3w20afgz09n7i6rv0r3qypngwi7wqdr5r";
-  })
-  (fetchNuGet {
-    name = "System.Security.Claims";
-    version = "4.3.0";
-    sha256 = "0jvfn7j22l3mm28qjy3rcw287y9h65ha4m940waaxah07jnbzrhn";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.Algorithms";
-    version = "4.2.0";
-    sha256 = "148s9g5dgm33ri7dnh19s4lgnlxbpwvrw2jnzllq2kijj4i4vs85";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.Cng";
-    version = "4.2.0";
-    sha256 = "118jijz446kix20blxip0f0q8mhsh9bz118mwc2ch1p6g7facpzc";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.Csp";
-    version = "4.0.0";
-    sha256 = "1cwv8lqj8r15q81d2pz2jwzzbaji0l28xfrpw29kdpsaypm92z2q";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.Encoding";
-    version = "4.0.0";
-    sha256 = "0a8y1a5wkmpawc787gfmnrnbzdgxmx1a14ax43jf3rj9gxmy3vk4";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.OpenSsl";
-    version = "4.0.0";
-    sha256 = "16sx3cig3d0ilvzl8xxgffmxbiqx87zdi8fc73i3i7zjih1a7f4q";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.Primitives";
-    version = "4.0.0";
-    sha256 = "0i7cfnwph9a10bm26m538h5xcr8b36jscp9sy1zhgifksxz4yixh";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.X509Certificates";
-    version = "4.1.0";
-    sha256 = "0clg1bv55mfv5dq00m19cp634zx6inm31kf8ppbq1jgyjf2185dh";
-  })
-  (fetchNuGet {
-    name = "System.Security.Principal.Windows";
-    version = "4.3.0";
-    sha256 = "00a0a7c40i3v4cb20s2cmh9csb5jv2l0frvnlzyfxh848xalpdwr";
-  })
-  (fetchNuGet {
-    name = "System.Security.Principal.Windows";
-    version = "4.5.0";
-    sha256 = "0rmj89wsl5yzwh0kqjgx45vzf694v9p92r4x4q6yxldk1cv1hi86";
-  })
-  (fetchNuGet {
-    name = "System.Security.Principal.Windows";
-    version = "5.0.0";
-    sha256 = "1mpk7xj76lxgz97a5yg93wi8lj0l8p157a5d50mmjy3gbz1904q8";
-  })
-  (fetchNuGet {
-    name = "System.Security.Principal";
-    version = "4.3.0";
-    sha256 = "12cm2zws06z4lfc4dn31iqv7072zyi4m910d4r6wm8yx85arsfxf";
-  })
-  (fetchNuGet {
-    name = "System.Text.Encoding.Extensions";
-    version = "4.0.11";
-    sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs";
-  })
-  (fetchNuGet {
-    name = "System.Text.Encoding.Extensions";
-    version = "4.3.0";
-    sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy";
-  })
-  (fetchNuGet {
-    name = "System.Text.Encoding";
-    version = "4.0.11";
-    sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw";
-  })
-  (fetchNuGet {
-    name = "System.Text.Encoding";
-    version = "4.3.0";
-    sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr";
-  })
-  (fetchNuGet {
-    name = "System.Text.RegularExpressions";
-    version = "4.1.0";
-    sha256 = "1mw7vfkkyd04yn2fbhm38msk7dz2xwvib14ygjsb8dq2lcvr18y7";
-  })
-  (fetchNuGet {
-    name = "System.Text.RegularExpressions";
-    version = "4.3.0";
-    sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l";
-  })
-  (fetchNuGet {
-    name = "System.Threading.Overlapped";
-    version = "4.3.0";
-    sha256 = "1nahikhqh9nk756dh8p011j36rlcp1bzz3vwi2b4m1l2s3vz8idm";
-  })
-  (fetchNuGet {
-    name = "System.Threading.Tasks.Extensions";
-    version = "4.0.0";
-    sha256 = "1cb51z062mvc2i8blpzmpn9d9mm4y307xrwi65di8ri18cz5r1zr";
-  })
-  (fetchNuGet {
-    name = "System.Threading.Tasks.Extensions";
-    version = "4.3.0";
-    sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z";
-  })
-  (fetchNuGet {
-    name = "System.Threading.Tasks";
-    version = "4.0.11";
-    sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5";
-  })
-  (fetchNuGet {
-    name = "System.Threading.Tasks";
-    version = "4.3.0";
-    sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7";
-  })
-  (fetchNuGet {
-    name = "System.Threading.Thread";
-    version = "4.3.0";
-    sha256 = "0y2xiwdfcph7znm2ysxanrhbqqss6a3shi1z3c779pj2s523mjx4";
-  })
-  (fetchNuGet {
-    name = "System.Threading.ThreadPool";
-    version = "4.3.0";
-    sha256 = "027s1f4sbx0y1xqw2irqn6x161lzj8qwvnh2gn78ciiczdv10vf1";
-  })
-  (fetchNuGet {
-    name = "System.Threading.Timer";
-    version = "4.0.1";
-    sha256 = "15n54f1f8nn3mjcjrlzdg6q3520571y012mx7v991x2fvp73lmg6";
-  })
-  (fetchNuGet {
-    name = "System.Threading";
-    version = "4.0.11";
-    sha256 = "19x946h926bzvbsgj28csn46gak2crv2skpwsx80hbgazmkgb1ls";
-  })
-  (fetchNuGet {
-    name = "System.Threading";
-    version = "4.3.0";
-    sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34";
-  })
-  (fetchNuGet {
-    name = "System.Xml.ReaderWriter";
-    version = "4.0.11";
-    sha256 = "0c6ky1jk5ada9m94wcadih98l6k1fvf6vi7vhn1msjixaha419l5";
-  })
-  (fetchNuGet {
-    name = "System.Xml.ReaderWriter";
-    version = "4.3.0";
-    sha256 = "0c47yllxifzmh8gq6rq6l36zzvw4kjvlszkqa9wq3fr59n0hl3s1";
-  })
-  (fetchNuGet {
-    name = "System.Xml.XDocument";
-    version = "4.0.11";
-    sha256 = "0n4lvpqzy9kc7qy1a4acwwd7b7pnvygv895az5640idl2y9zbz18";
-  })
-  (fetchNuGet {
-    name = "System.Xml.XmlDocument";
-    version = "4.3.0";
-    sha256 = "0bmz1l06dihx52jxjr22dyv5mxv6pj4852lx68grjm7bivhrbfwi";
-  })
-  (fetchNuGet {
-    name = "System.Xml.XPath.XmlDocument";
-    version = "4.3.0";
-    sha256 = "1h9lh7qkp0lff33z847sdfjj8yaz98ylbnkbxlnsbflhj9xyfqrm";
-  })
-  (fetchNuGet {
-    name = "System.Xml.XPath";
-    version = "4.3.0";
-    sha256 = "1cv2m0p70774a0sd1zxc8fm8jk3i5zk2bla3riqvi8gsm0r4kpci";
-  })
+  (fetchNuGet { name = "AtkSharp"; version = "3.22.25.128"; sha256 = "0fg01zi7v6127043jzxzihirsdp187pyj83gfa6p79cx763l7z94"; })
+  (fetchNuGet { name = "CairoSharp"; version = "3.22.25.128"; sha256 = "1rjdxd4fq5z3n51qx8vrcaf4i277ccc62jxk88xzbsxapdmjjdf9"; })
+  (fetchNuGet { name = "CommandLineParser"; version = "2.8.0"; sha256 = "1m32xyilv2b7k55jy8ddg08c20glbcj2yi545kxs9hj2ahanhrbb"; })
+  (fetchNuGet { name = "Concentus"; version = "1.1.7"; sha256 = "0y5z444wrbhlmsqpy2sxmajl1fbf74843lvgj3y6vz260dn2q0l0"; })
+  (fetchNuGet { name = "Crc32.NET"; version = "1.2.0"; sha256 = "0qaj3192k1vfji87zf50rhydn5mrzyzybrs2k4v7ap29k8i0vi5h"; })
+  (fetchNuGet { name = "DiscordRichPresence"; version = "1.0.175"; sha256 = "180sax976327d70qbinv07f65g3w2zbw80n49hckg8wd4rw209vd"; })
+  (fetchNuGet { name = "FFmpeg.AutoGen"; version = "4.4.0"; sha256 = "02n4az1jv30078019png9gbspygz051inxsn6w4iar20dqp55g2w"; })
+  (fetchNuGet { name = "GdkSharp"; version = "3.22.25.128"; sha256 = "0bmn0ddaw8797pnhpyl03h2zl8i5ha67yv38gly4ydy50az2xhj7"; })
+  (fetchNuGet { name = "GioSharp"; version = "3.22.25.128"; sha256 = "0syfa1f2hg7wsxln5lh86n8m1lihhprc51b6km91gkl25l5hw5bv"; })
+  (fetchNuGet { name = "GLibSharp"; version = "3.22.25.128"; sha256 = "1j8i5izk97ga30z1qpd765zqd2q5w71y8bhnkqq4bj59768fyxp5"; })
+  (fetchNuGet { name = "GtkSharp"; version = "3.22.25.128"; sha256 = "0z0wx0p3gc02r8d7y88k1rw307sb2vapbr1k1yc5qdc38fxz5jsy"; })
+  (fetchNuGet { name = "GtkSharp.Dependencies"; version = "1.1.0"; sha256 = "1g1rhcn38ww97638rds6l5bysra43hkhv47fy71fvq89623zgyxn"; })
+  (fetchNuGet { name = "LibHac"; version = "0.12.0"; sha256 = "08r9b9cdcbz6339sw8r5dfy2a8iw53df0j3xq9rygkg02xspimld"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "5.0.5"; sha256 = "026m19pddhkx5idwpi6mp1yl9yfcfgm2qjp1jh54mdja1d7ng0vk"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "5.0.5"; sha256 = "09nsi9fa8kb3jpnim0hdap3jabskvpr4fmpvnj5wsh3gp91vqvgb"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.App.Runtime.win-x64"; version = "5.0.5"; sha256 = "10g2vdsz685agqbd7h7dd9gvs584prpai0zv37r59wzlynj1assl"; })
+  (fetchNuGet { name = "Microsoft.CodeCoverage"; version = "16.8.0"; sha256 = "1y05sjk7wgd29a47v1yhn2s1lrd8wgazkilvmjbvivmrrm3fqjs8"; })
+  (fetchNuGet { name = "Microsoft.CSharp"; version = "4.0.1"; sha256 = "0zxc0apx1gcx361jlq8smc9pfdgmyjh6hpka8dypc9w23nlsh6yj"; })
+  (fetchNuGet { name = "Microsoft.DotNet.InternalAbstractions"; version = "1.0.0"; sha256 = "0mp8ihqlb7fsa789frjzidrfjc1lrhk88qp3xm5qvr7vf4wy4z8x"; })
+  (fetchNuGet { name = "Microsoft.NETCore.App.Host.osx-x64"; version = "5.0.5"; sha256 = "14d6wz593dwm2j3apd3ny10idk8bfxqgfrparhc1q7q4i66y21ws"; })
+  (fetchNuGet { name = "Microsoft.NETCore.App.Host.win-x64"; version = "5.0.5"; sha256 = "1233y31z46yqzjgwpa6mmb1h63iqp6wbly6mbwkjqm2adx1wkp47"; })
+  (fetchNuGet { name = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "5.0.5"; sha256 = "1h5yry6k9bpqqis2fb1901csb8kipm7anm174fjj41r317vzfjfa"; })
+  (fetchNuGet { name = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "5.0.5"; sha256 = "1a1ijdk61l0h25sj9ypcf96vz1c08ca7q5809g82qpi9m34kw8b8"; })
+  (fetchNuGet { name = "Microsoft.NETCore.App.Runtime.win-x64"; version = "5.0.5"; sha256 = "1gc4msk61jgj9ill4icp0mn523g411iqpxphp0fykfvqdpqyqg46"; })
+  (fetchNuGet { name = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; })
+  (fetchNuGet { name = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
+  (fetchNuGet { name = "Microsoft.NETCore.Platforms"; version = "2.0.0"; sha256 = "1fk2fk2639i7nzy58m9dvpdnzql4vb8yl8vr19r2fp8lmj9w2jr0"; })
+  (fetchNuGet { name = "Microsoft.NETCore.Platforms"; version = "5.0.0"; sha256 = "0mwpwdflidzgzfx2dlpkvvnkgkr2ayaf0s80737h4wa35gaj11rc"; })
+  (fetchNuGet { name = "Microsoft.NETCore.Targets"; version = "1.0.1"; sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; })
+  (fetchNuGet { name = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; })
+  (fetchNuGet { name = "Microsoft.NET.Test.Sdk"; version = "16.8.0"; sha256 = "1ln2mva7j2mpsj9rdhpk8vhm3pgd8wn563xqdcwd38avnhp74rm9"; })
+  (fetchNuGet { name = "Microsoft.TestPlatform.ObjectModel"; version = "16.8.0"; sha256 = "0ii9d88py6mjsxzj9v3zx4izh6rb9ma6s9kj85xmc0xrw7jc2g3m"; })
+  (fetchNuGet { name = "Microsoft.TestPlatform.TestHost"; version = "16.8.0"; sha256 = "1rh8cga1km3jfafkwfjr0dwqrxb4306hf7fipwba9h02w7vlhb9a"; })
+  (fetchNuGet { name = "Microsoft.Win32.Primitives"; version = "4.0.1"; sha256 = "1n8ap0cmljbqskxpf8fjzn7kh1vvlndsa75k01qig26mbw97k2q7"; })
+  (fetchNuGet { name = "Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; })
+  (fetchNuGet { name = "Microsoft.Win32.Registry"; version = "4.3.0"; sha256 = "1gxyzxam8163vk1kb6xzxjj4iwspjsz9zhgn1w9rjzciphaz0ig7"; })
+  (fetchNuGet { name = "Microsoft.Win32.Registry"; version = "4.5.0"; sha256 = "1zapbz161ji8h82xiajgriq6zgzmb1f3ar517p2h63plhsq5gh2q"; })
+  (fetchNuGet { name = "Microsoft.Win32.Registry"; version = "5.0.0"; sha256 = "102hvhq2gmlcbq8y2cb7hdr2dnmjzfp2k3asr1ycwrfacwyaak7n"; })
+  (fetchNuGet { name = "Microsoft.Win32.SystemEvents"; version = "5.0.0"; sha256 = "0sja4ba0mrvdamn0r9mhq38b9dxi08yb3c1hzh29n1z6ws1hlrcq"; })
+  (fetchNuGet { name = "Mono.Posix.NETStandard"; version = "1.0.0"; sha256 = "0xlja36hwpjm837haq15mjh2prcf68lyrmn72nvgpz8qnf9vappw"; })
+  (fetchNuGet { name = "MsgPack.Cli"; version = "1.0.1"; sha256 = "1dk2bs3g16lsxcjjm7gfx6jxa4667wccw94jlh2ql7y7smvh9z8r"; })
+  (fetchNuGet { name = "NETStandard.Library"; version = "1.6.0"; sha256 = "0nmmv4yw7gw04ik8ialj3ak0j6pxa9spih67hnn1h2c38ba8h58k"; })
+  (fetchNuGet { name = "NETStandard.Library"; version = "2.0.0"; sha256 = "1bc4ba8ahgk15m8k4nd7x406nhi0kwqzbgjk2dmw52ss553xz7iy"; })
+  (fetchNuGet { name = "Newtonsoft.Json"; version = "12.0.2"; sha256 = "0w2fbji1smd2y7x25qqibf1qrznmv4s6s0jvrbvr6alb7mfyqvh5"; })
+  (fetchNuGet { name = "Newtonsoft.Json"; version = "9.0.1"; sha256 = "0mcy0i7pnfpqm4pcaiyzzji4g0c8i3a5gjz28rrr28110np8304r"; })
+  (fetchNuGet { name = "NuGet.Frameworks"; version = "5.0.0"; sha256 = "18ijvmj13cwjdrrm52c8fpq021531zaz4mj4b4zapxaqzzxf2qjr"; })
+  (fetchNuGet { name = "NUnit"; version = "3.12.0"; sha256 = "1880j2xwavi8f28vxan3hyvdnph4nlh5sbmh285s4lc9l0b7bdk2"; })
+  (fetchNuGet { name = "NUnit3TestAdapter"; version = "3.17.0"; sha256 = "0kxc6z3b8ccdrcyqz88jm5yh5ch9nbg303v67q8sp5hhs8rl8nk6"; })
+  (fetchNuGet { name = "OpenTK.Core"; version = "4.5.0"; sha256 = "06qxczikp0aah20d4skk3g588dgh2vn2xffn0ajyyv0475m61s9m"; })
+  (fetchNuGet { name = "OpenTK.Graphics"; version = "4.5.0"; sha256 = "180g5c92fhhhpmwl6paihx4h1bil7akaihlz2qy124n28pf4s988"; })
+  (fetchNuGet { name = "OpenTK.Mathematics"; version = "4.5.0"; sha256 = "1h9dxhq1llxdbgdzsi87ijqgj2ilr3rv0zkxhaa65xrc5x8j8fva"; })
+  (fetchNuGet { name = "OpenTK.OpenAL"; version = "4.5.0"; sha256 = "0lqxpc3vnxglql42x2frvq5bpkl5cf3dpnf9nx6pr3q6qnhigkfb"; })
+  (fetchNuGet { name = "PangoSharp"; version = "3.22.25.128"; sha256 = "0dkl9j0yd65s5ds9xj5z6yb7yca7wlycqz25m8dng20d13sqr1zp"; })
+  (fetchNuGet { name = "runtime.any.System.Collections"; version = "4.3.0"; sha256 = "0bv5qgm6vr47ynxqbnkc7i797fdi8gbjjxii173syrx14nmrkwg0"; })
+  (fetchNuGet { name = "runtime.any.System.Diagnostics.Tools"; version = "4.3.0"; sha256 = "1wl76vk12zhdh66vmagni66h5xbhgqq7zkdpgw21jhxhvlbcl8pk"; })
+  (fetchNuGet { name = "runtime.any.System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "00j6nv2xgmd3bi347k00m7wr542wjlig53rmj28pmw7ddcn97jbn"; })
+  (fetchNuGet { name = "runtime.any.System.Globalization"; version = "4.3.0"; sha256 = "1daqf33hssad94lamzg01y49xwndy2q97i2lrb7mgn28656qia1x"; })
+  (fetchNuGet { name = "runtime.any.System.Globalization.Calendars"; version = "4.3.0"; sha256 = "1ghhhk5psqxcg6w88sxkqrc35bxcz27zbqm2y5p5298pv3v7g201"; })
+  (fetchNuGet { name = "runtime.any.System.IO"; version = "4.3.0"; sha256 = "0l8xz8zn46w4d10bcn3l4yyn4vhb3lrj2zw8llvz7jk14k4zps5x"; })
+  (fetchNuGet { name = "runtime.any.System.Reflection"; version = "4.3.0"; sha256 = "02c9h3y35pylc0zfq3wcsvc5nqci95nrkq0mszifc0sjx7xrzkly"; })
+  (fetchNuGet { name = "runtime.any.System.Reflection.Extensions"; version = "4.3.0"; sha256 = "0zyri97dfc5vyaz9ba65hjj1zbcrzaffhsdlpxc9bh09wy22fq33"; })
+  (fetchNuGet { name = "runtime.any.System.Reflection.Primitives"; version = "4.3.0"; sha256 = "0x1mm8c6iy8rlxm8w9vqw7gb7s1ljadrn049fmf70cyh42vdfhrf"; })
+  (fetchNuGet { name = "runtime.any.System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "03kickal0iiby82wa5flar18kyv82s9s6d4xhk5h4bi5kfcyfjzl"; })
+  (fetchNuGet { name = "runtime.any.System.Runtime"; version = "4.3.0"; sha256 = "1cqh1sv3h5j7ixyb7axxbdkqx6cxy00p4np4j91kpm492rf4s25b"; })
+  (fetchNuGet { name = "runtime.any.System.Runtime.Handles"; version = "4.3.0"; sha256 = "0bh5bi25nk9w9xi8z23ws45q5yia6k7dg3i4axhfqlnj145l011x"; })
+  (fetchNuGet { name = "runtime.any.System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "0c3g3g3jmhlhw4klrc86ka9fjbl7i59ds1fadsb2l8nqf8z3kb19"; })
+  (fetchNuGet { name = "runtime.any.System.Text.Encoding"; version = "4.3.0"; sha256 = "0aqqi1v4wx51h51mk956y783wzags13wa7mgqyclacmsmpv02ps3"; })
+  (fetchNuGet { name = "runtime.any.System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "0lqhgqi0i8194ryqq6v2gqx0fb86db2gqknbm0aq31wb378j7ip8"; })
+  (fetchNuGet { name = "runtime.any.System.Threading.Tasks"; version = "4.3.0"; sha256 = "03mnvkhskbzxddz4hm113zsch1jyzh2cs450dk3rgfjp8crlw1va"; })
+  (fetchNuGet { name = "runtime.any.System.Threading.Timer"; version = "4.3.0"; sha256 = "0aw4phrhwqz9m61r79vyfl5la64bjxj8l34qnrcwb28v49fg2086"; })
+  (fetchNuGet { name = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d"; })
+  (fetchNuGet { name = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59"; })
+  (fetchNuGet { name = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa"; })
+  (fetchNuGet { name = "runtime.native.System"; version = "4.0.0"; sha256 = "1ppk69xk59ggacj9n7g6fyxvzmk1g5p4fkijm0d7xqfkig98qrkf"; })
+  (fetchNuGet { name = "runtime.native.System"; version = "4.3.0"; sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4"; })
+  (fetchNuGet { name = "runtime.native.System.IO.Compression"; version = "4.1.0"; sha256 = "0d720z4lzyfcabmmnvh0bnj76ll7djhji2hmfh3h44sdkjnlkknk"; })
+  (fetchNuGet { name = "runtime.native.System.Net.Http"; version = "4.0.1"; sha256 = "1hgv2bmbaskx77v8glh7waxws973jn4ah35zysnkxmf0196sfxg6"; })
+  (fetchNuGet { name = "runtime.native.System.Security.Cryptography"; version = "4.0.0"; sha256 = "0k57aa2c3b10wl3hfqbgrl7xq7g8hh3a3ir44b31dn5p61iiw3z9"; })
+  (fetchNuGet { name = "runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "18pzfdlwsg2nb1jjjjzyb5qlgy6xjxzmhnfaijq5s2jw3cm3ab97"; })
+  (fetchNuGet { name = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0qyynf9nz5i7pc26cwhgi8j62ps27sqmf78ijcfgzab50z9g8ay3"; })
+  (fetchNuGet { name = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1klrs545awhayryma6l7g2pvnp9xy4z0r1i40r80zb45q3i9nbyf"; })
+  (fetchNuGet { name = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0zcxjv5pckplvkg0r6mw3asggm7aqzbdjimhvsasb0cgm59x09l3"; })
+  (fetchNuGet { name = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0vhynn79ih7hw7cwjazn87rm9z9fj0rvxgzlab36jybgcpcgphsn"; })
+  (fetchNuGet { name = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "160p68l2c7cqmyqjwxydcvgw7lvl1cr0znkw8fp24d1by9mqc8p3"; })
+  (fetchNuGet { name = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "15zrc8fgd8zx28hdghcj5f5i34wf3l6bq5177075m2bc2j34jrqy"; })
+  (fetchNuGet { name = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5"; })
+  (fetchNuGet { name = "runtime.unix.Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0y61k9zbxhdi0glg154v30kkq7f8646nif8lnnxbvkjpakggd5id"; })
+  (fetchNuGet { name = "runtime.unix.System.Console"; version = "4.3.0"; sha256 = "1pfpkvc6x2if8zbdzg9rnc5fx51yllprl8zkm5npni2k50lisy80"; })
+  (fetchNuGet { name = "runtime.unix.System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "1lps7fbnw34bnh3lm31gs5c0g0dh7548wfmb8zz62v0zqz71msj5"; })
+  (fetchNuGet { name = "runtime.unix.System.IO.FileSystem"; version = "4.3.0"; sha256 = "14nbkhvs7sji5r1saj2x8daz82rnf9kx28d3v2qss34qbr32dzix"; })
+  (fetchNuGet { name = "runtime.unix.System.Net.Primitives"; version = "4.3.0"; sha256 = "0bdnglg59pzx9394sy4ic66kmxhqp8q8bvmykdxcbs5mm0ipwwm4"; })
+  (fetchNuGet { name = "runtime.unix.System.Net.Sockets"; version = "4.3.0"; sha256 = "03npdxzy8gfv035bv1b9rz7c7hv0rxl5904wjz51if491mw0xy12"; })
+  (fetchNuGet { name = "runtime.unix.System.Private.Uri"; version = "4.3.0"; sha256 = "1jx02q6kiwlvfksq1q9qr17fj78y5v6mwsszav4qcz9z25d5g6vk"; })
+  (fetchNuGet { name = "runtime.unix.System.Runtime.Extensions"; version = "4.3.0"; sha256 = "0pnxxmm8whx38dp6yvwgmh22smknxmqs5n513fc7m4wxvs1bvi4p"; })
+  (fetchNuGet { name = "runtime.win.Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0k1h8nnp1s0p8rjwgjyj1387cc1yycv0k22igxc963lqdzrx2z36"; })
+  (fetchNuGet { name = "runtime.win.System.Console"; version = "4.3.0"; sha256 = "0x2yajfrbc5zc6g7nmlr44xpjk6p1hxjq47jn3xki5j7i33zw9jc"; })
+  (fetchNuGet { name = "runtime.win.System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "16fbn4bcynad1ygdq0yk1wmckvs8jvrrf104xa5dc2hlc8y3x58f"; })
+  (fetchNuGet { name = "runtime.win.System.IO.FileSystem"; version = "4.3.0"; sha256 = "1c01nklbxywszsbfaxc76hsz7gdxac3jkphrywfkdsi3v4bwd6g8"; })
+  (fetchNuGet { name = "runtime.win.System.Net.Primitives"; version = "4.3.0"; sha256 = "1dixh195bi7473n17hspll6i562gghdz9m4jk8d4kzi1mlzjk9cf"; })
+  (fetchNuGet { name = "runtime.win.System.Net.Sockets"; version = "4.3.0"; sha256 = "0lr3zki831vs6qhk5wckv2b9qbfk9rcj0ds2926qvj1b9y9m6sck"; })
+  (fetchNuGet { name = "runtime.win.System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1700famsxndccfbcdz9q14qb20p49lax67mqwpgy4gx3vja1yczr"; })
+  (fetchNuGet { name = "Ryujinx.Audio.OpenAL.Dependencies"; version = "1.21.0.1"; sha256 = "0z5k42h252nr60d02p2ww9190d7k1kzrb26vil4ydfhxqqqv6w9l"; })
+  (fetchNuGet { name = "Ryujinx.Graphics.Nvdec.Dependencies"; version = "4.4.0-build7"; sha256 = "0g1l3lgs0ffxp64ka81v6q1cgsdirl1qlf73255v29r3v337074m"; })
+  (fetchNuGet { name = "Ryujinx.SDL2-CS"; version = "2.0.15-build11"; sha256 = "0s4h69l2b508l5wxp4v4ip8k83k78p3963xxv8bfamin9517przi"; })
+  (fetchNuGet { name = "SharpZipLib"; version = "1.3.0"; sha256 = "1pizj82wisch28nfdaszwqm9bz19lnl0s5mq8c0zybm2vhnrhvk4"; })
+  (fetchNuGet { name = "SixLabors.Fonts"; version = "1.0.0-beta0013"; sha256 = "0r0aw8xxd32rwcawawcz6asiyggz02hnzg5hvz8gimq8hvwx1wql"; })
+  (fetchNuGet { name = "SixLabors.ImageSharp"; version = "1.0.2"; sha256 = "0fhk9sn8k18slfb26wz8mal0j699f7djwhxgv97snz6b10wynfaj"; })
+  (fetchNuGet { name = "SixLabors.ImageSharp.Drawing"; version = "1.0.0-beta11"; sha256 = "0hl0rs3kr1zdnx3gdssxgli6fyvmwzcfp99f4db71s0i8j8b2bp5"; })
+  (fetchNuGet { name = "SPB"; version = "0.0.3-build15"; sha256 = "0h00yi2j65q31r5npsziq2rpiw832vf9r72j1hjqibp2l5m6v6yw"; })
+  (fetchNuGet { name = "System.AppContext"; version = "4.1.0"; sha256 = "0fv3cma1jp4vgj7a8hqc9n7hr1f1kjp541s6z0q1r6nazb4iz9mz"; })
+  (fetchNuGet { name = "System.Buffers"; version = "4.0.0"; sha256 = "13s659bcmg9nwb6z78971z1lr6bmh2wghxi1ayqyzl4jijd351gr"; })
+  (fetchNuGet { name = "System.Buffers"; version = "4.3.0"; sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; })
+  (fetchNuGet { name = "System.CodeDom"; version = "4.4.0"; sha256 = "1zgbafm5p380r50ap5iddp11kzhr9khrf2pnai6k593wjar74p1g"; })
+  (fetchNuGet { name = "System.CodeDom"; version = "5.0.0"; sha256 = "14zs2wqkmdlxzj8ikx19n321lsbarx5vl2a8wrachymxn8zb5njh"; })
+  (fetchNuGet { name = "System.Collections"; version = "4.0.11"; sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6"; })
+  (fetchNuGet { name = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; })
+  (fetchNuGet { name = "System.Collections.Concurrent"; version = "4.0.12"; sha256 = "07y08kvrzpak873pmyxs129g1ch8l27zmg51pcyj2jvq03n0r0fc"; })
+  (fetchNuGet { name = "System.Collections.NonGeneric"; version = "4.3.0"; sha256 = "07q3k0hf3mrcjzwj8fwk6gv3n51cb513w4mgkfxzm3i37sc9kz7k"; })
+  (fetchNuGet { name = "System.Collections.Specialized"; version = "4.3.0"; sha256 = "1sdwkma4f6j85m3dpb53v9vcgd0zyc9jb33f8g63byvijcj39n20"; })
+  (fetchNuGet { name = "System.ComponentModel"; version = "4.3.0"; sha256 = "0986b10ww3nshy30x9sjyzm0jx339dkjxjj3401r3q0f6fx2wkcb"; })
+  (fetchNuGet { name = "System.ComponentModel.EventBasedAsync"; version = "4.3.0"; sha256 = "1rv9bkb8yyhqqqrx6x95njv6mdxlbvv527b44mrd93g8fmgkifl7"; })
+  (fetchNuGet { name = "System.ComponentModel.Primitives"; version = "4.3.0"; sha256 = "1svfmcmgs0w0z9xdw2f2ps05rdxmkxxhf0l17xk9l1l8xfahkqr0"; })
+  (fetchNuGet { name = "System.ComponentModel.TypeConverter"; version = "4.3.0"; sha256 = "17ng0p7v3nbrg3kycz10aqrrlw4lz9hzhws09pfh8gkwicyy481x"; })
+  (fetchNuGet { name = "System.Console"; version = "4.0.0"; sha256 = "0ynxqbc3z1nwbrc11hkkpw9skw116z4y9wjzn7id49p9yi7mzmlf"; })
+  (fetchNuGet { name = "System.Diagnostics.Debug"; version = "4.0.11"; sha256 = "0gmjghrqmlgzxivd2xl50ncbglb7ljzb66rlx8ws6dv8jm0d5siz"; })
+  (fetchNuGet { name = "System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; })
+  (fetchNuGet { name = "System.Diagnostics.DiagnosticSource"; version = "4.0.0"; sha256 = "1n6c3fbz7v8d3pn77h4v5wvsfrfg7v1c57lg3nff3cjyh597v23m"; })
+  (fetchNuGet { name = "System.Diagnostics.Process"; version = "4.3.0"; sha256 = "0g4prsbkygq8m21naqmcp70f24a1ksyix3dihb1r1f71lpi3cfj7"; })
+  (fetchNuGet { name = "System.Diagnostics.Tools"; version = "4.0.1"; sha256 = "19cknvg07yhakcvpxg3cxa0bwadplin6kyxd8mpjjpwnp56nl85x"; })
+  (fetchNuGet { name = "System.Diagnostics.Tracing"; version = "4.1.0"; sha256 = "1d2r76v1x610x61ahfpigda89gd13qydz6vbwzhpqlyvq8jj6394"; })
+  (fetchNuGet { name = "System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4"; })
+  (fetchNuGet { name = "System.Drawing.Common"; version = "5.0.1"; sha256 = "14h722wq58k1wmgxmpws91xc7kh8109ijw0hcxjq9qkbhbi6pwmb"; })
+  (fetchNuGet { name = "System.Dynamic.Runtime"; version = "4.0.11"; sha256 = "1pla2dx8gkidf7xkciig6nifdsb494axjvzvann8g2lp3dbqasm9"; })
+  (fetchNuGet { name = "System.Globalization"; version = "4.0.11"; sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d"; })
+  (fetchNuGet { name = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; })
+  (fetchNuGet { name = "System.Globalization.Calendars"; version = "4.0.1"; sha256 = "0bv0alrm2ck2zk3rz25lfyk9h42f3ywq77mx1syl6vvyncnpg4qh"; })
+  (fetchNuGet { name = "System.Globalization.Extensions"; version = "4.0.1"; sha256 = "0hjhdb5ri8z9l93bw04s7ynwrjrhx2n0p34sf33a9hl9phz69fyc"; })
+  (fetchNuGet { name = "System.Globalization.Extensions"; version = "4.3.0"; sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls"; })
+  (fetchNuGet { name = "System.IO"; version = "4.1.0"; sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp"; })
+  (fetchNuGet { name = "System.IO"; version = "4.3.0"; sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; })
+  (fetchNuGet { name = "System.IO.Compression"; version = "4.1.0"; sha256 = "0iym7s3jkl8n0vzm3jd6xqg9zjjjqni05x45dwxyjr2dy88hlgji"; })
+  (fetchNuGet { name = "System.IO.Compression.ZipFile"; version = "4.0.1"; sha256 = "0h72znbagmgvswzr46mihn7xm7chfk2fhrp5krzkjf29pz0i6z82"; })
+  (fetchNuGet { name = "System.IO.FileSystem"; version = "4.0.1"; sha256 = "0kgfpw6w4djqra3w5crrg8xivbanh1w9dh3qapb28q060wb9flp1"; })
+  (fetchNuGet { name = "System.IO.FileSystem"; version = "4.3.0"; sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw"; })
+  (fetchNuGet { name = "System.IO.FileSystem.Primitives"; version = "4.0.1"; sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612"; })
+  (fetchNuGet { name = "System.IO.FileSystem.Primitives"; version = "4.3.0"; sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; })
+  (fetchNuGet { name = "System.Linq"; version = "4.1.0"; sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5"; })
+  (fetchNuGet { name = "System.Linq"; version = "4.3.0"; sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; })
+  (fetchNuGet { name = "System.Linq.Expressions"; version = "4.1.0"; sha256 = "1gpdxl6ip06cnab7n3zlcg6mqp7kknf73s8wjinzi4p0apw82fpg"; })
+  (fetchNuGet { name = "System.Management"; version = "5.0.0"; sha256 = "09hyv3p0zd549577clydlb2szl84m4gvdjnsry73n8b12ja7d75s"; })
+  (fetchNuGet { name = "System.Net.Http"; version = "4.1.0"; sha256 = "1i5rqij1icg05j8rrkw4gd4pgia1978mqhjzhsjg69lvwcdfg8yb"; })
+  (fetchNuGet { name = "System.Net.NameResolution"; version = "4.3.0"; sha256 = "15r75pwc0rm3vvwsn8rvm2krf929mjfwliv0mpicjnii24470rkq"; })
+  (fetchNuGet { name = "System.Net.Primitives"; version = "4.0.11"; sha256 = "10xzzaynkzkakp7jai1ik3r805zrqjxiz7vcagchyxs2v26a516r"; })
+  (fetchNuGet { name = "System.Net.Sockets"; version = "4.1.0"; sha256 = "1385fvh8h29da5hh58jm1v78fzi9fi5vj93vhlm2kvqpfahvpqls"; })
+  (fetchNuGet { name = "System.Numerics.Vectors"; version = "4.3.0"; sha256 = "05kji1mv4sl75iwmc613p873145nynm02xiajx8pn0h2kx53d23s"; })
+  (fetchNuGet { name = "System.Numerics.Vectors"; version = "4.5.0"; sha256 = "1kzrj37yzawf1b19jq0253rcs8hsq1l2q8g69d7ipnhzb0h97m59"; })
+  (fetchNuGet { name = "System.ObjectModel"; version = "4.0.12"; sha256 = "1sybkfi60a4588xn34nd9a58png36i0xr4y4v4kqpg8wlvy5krrj"; })
+  (fetchNuGet { name = "System.Private.Uri"; version = "4.3.0"; sha256 = "04r1lkdnsznin0fj4ya1zikxiqr0h6r6a1ww2dsm60gqhdrf0mvx"; })
+  (fetchNuGet { name = "System.Reflection"; version = "4.1.0"; sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9"; })
+  (fetchNuGet { name = "System.Reflection"; version = "4.3.0"; sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; })
+  (fetchNuGet { name = "System.Reflection.Emit"; version = "4.0.1"; sha256 = "0ydqcsvh6smi41gyaakglnv252625hf29f7kywy2c70nhii2ylqp"; })
+  (fetchNuGet { name = "System.Reflection.Emit"; version = "4.3.0"; sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74"; })
+  (fetchNuGet { name = "System.Reflection.Emit.ILGeneration"; version = "4.0.1"; sha256 = "1pcd2ig6bg144y10w7yxgc9d22r7c7ww7qn1frdfwgxr24j9wvv0"; })
+  (fetchNuGet { name = "System.Reflection.Emit.ILGeneration"; version = "4.3.0"; sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q"; })
+  (fetchNuGet { name = "System.Reflection.Emit.Lightweight"; version = "4.0.1"; sha256 = "1s4b043zdbx9k39lfhvsk68msv1nxbidhkq6nbm27q7sf8xcsnxr"; })
+  (fetchNuGet { name = "System.Reflection.Emit.Lightweight"; version = "4.3.0"; sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c"; })
+  (fetchNuGet { name = "System.Reflection.Extensions"; version = "4.0.1"; sha256 = "0m7wqwq0zqq9gbpiqvgk3sr92cbrw7cp3xn53xvw7zj6rz6fdirn"; })
+  (fetchNuGet { name = "System.Reflection.Extensions"; version = "4.3.0"; sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq"; })
+  (fetchNuGet { name = "System.Reflection.Primitives"; version = "4.0.1"; sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28"; })
+  (fetchNuGet { name = "System.Reflection.Primitives"; version = "4.3.0"; sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; })
+  (fetchNuGet { name = "System.Reflection.TypeExtensions"; version = "4.1.0"; sha256 = "1bjli8a7sc7jlxqgcagl9nh8axzfl11f4ld3rjqsyxc516iijij7"; })
+  (fetchNuGet { name = "System.Reflection.TypeExtensions"; version = "4.3.0"; sha256 = "0y2ssg08d817p0vdag98vn238gyrrynjdj4181hdg780sif3ykp1"; })
+  (fetchNuGet { name = "System.Resources.ResourceManager"; version = "4.0.1"; sha256 = "0b4i7mncaf8cnai85jv3wnw6hps140cxz8vylv2bik6wyzgvz7bi"; })
+  (fetchNuGet { name = "System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; })
+  (fetchNuGet { name = "System.Runtime"; version = "4.1.0"; sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m"; })
+  (fetchNuGet { name = "System.Runtime"; version = "4.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; })
+  (fetchNuGet { name = "System.Runtime.CompilerServices.Unsafe"; version = "4.7.0"; sha256 = "16r6sn4czfjk8qhnz7bnqlyiaaszr0ihinb7mq9zzr1wba257r54"; })
+  (fetchNuGet { name = "System.Runtime.CompilerServices.Unsafe"; version = "5.0.0-preview.7.20364.11"; sha256 = "19sl184f6rjhfsizq0vapysazd6yd66lf638rszvrdhqlsxssz2m"; })
+  (fetchNuGet { name = "System.Runtime.Extensions"; version = "4.1.0"; sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z"; })
+  (fetchNuGet { name = "System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; })
+  (fetchNuGet { name = "System.Runtime.Handles"; version = "4.0.1"; sha256 = "1g0zrdi5508v49pfm3iii2hn6nm00bgvfpjq1zxknfjrxxa20r4g"; })
+  (fetchNuGet { name = "System.Runtime.Handles"; version = "4.3.0"; sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; })
+  (fetchNuGet { name = "System.Runtime.InteropServices"; version = "4.1.0"; sha256 = "01kxqppx3dr3b6b286xafqilv4s2n0gqvfgzfd4z943ga9i81is1"; })
+  (fetchNuGet { name = "System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; })
+  (fetchNuGet { name = "System.Runtime.InteropServices.RuntimeInformation"; version = "4.0.0"; sha256 = "0glmvarf3jz5xh22iy3w9v3wyragcm4hfdr17v90vs7vcrm7fgp6"; })
+  (fetchNuGet { name = "System.Runtime.InteropServices.RuntimeInformation"; version = "4.3.0"; sha256 = "0q18r1sh4vn7bvqgd6dmqlw5v28flbpj349mkdish2vjyvmnb2ii"; })
+  (fetchNuGet { name = "System.Runtime.Numerics"; version = "4.0.1"; sha256 = "1y308zfvy0l5nrn46mqqr4wb4z1xk758pkk8svbz8b5ij7jnv4nn"; })
+  (fetchNuGet { name = "System.Runtime.Serialization.Primitives"; version = "4.1.1"; sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k"; })
+  (fetchNuGet { name = "System.Security.AccessControl"; version = "4.5.0"; sha256 = "1wvwanz33fzzbnd2jalar0p0z3x0ba53vzx1kazlskp7pwyhlnq0"; })
+  (fetchNuGet { name = "System.Security.AccessControl"; version = "5.0.0"; sha256 = "17n3lrrl6vahkqmhlpn3w20afgz09n7i6rv0r3qypngwi7wqdr5r"; })
+  (fetchNuGet { name = "System.Security.Claims"; version = "4.3.0"; sha256 = "0jvfn7j22l3mm28qjy3rcw287y9h65ha4m940waaxah07jnbzrhn"; })
+  (fetchNuGet { name = "System.Security.Cryptography.Algorithms"; version = "4.2.0"; sha256 = "148s9g5dgm33ri7dnh19s4lgnlxbpwvrw2jnzllq2kijj4i4vs85"; })
+  (fetchNuGet { name = "System.Security.Cryptography.Cng"; version = "4.2.0"; sha256 = "118jijz446kix20blxip0f0q8mhsh9bz118mwc2ch1p6g7facpzc"; })
+  (fetchNuGet { name = "System.Security.Cryptography.Csp"; version = "4.0.0"; sha256 = "1cwv8lqj8r15q81d2pz2jwzzbaji0l28xfrpw29kdpsaypm92z2q"; })
+  (fetchNuGet { name = "System.Security.Cryptography.Encoding"; version = "4.0.0"; sha256 = "0a8y1a5wkmpawc787gfmnrnbzdgxmx1a14ax43jf3rj9gxmy3vk4"; })
+  (fetchNuGet { name = "System.Security.Cryptography.OpenSsl"; version = "4.0.0"; sha256 = "16sx3cig3d0ilvzl8xxgffmxbiqx87zdi8fc73i3i7zjih1a7f4q"; })
+  (fetchNuGet { name = "System.Security.Cryptography.Primitives"; version = "4.0.0"; sha256 = "0i7cfnwph9a10bm26m538h5xcr8b36jscp9sy1zhgifksxz4yixh"; })
+  (fetchNuGet { name = "System.Security.Cryptography.X509Certificates"; version = "4.1.0"; sha256 = "0clg1bv55mfv5dq00m19cp634zx6inm31kf8ppbq1jgyjf2185dh"; })
+  (fetchNuGet { name = "System.Security.Principal"; version = "4.3.0"; sha256 = "12cm2zws06z4lfc4dn31iqv7072zyi4m910d4r6wm8yx85arsfxf"; })
+  (fetchNuGet { name = "System.Security.Principal.Windows"; version = "4.3.0"; sha256 = "00a0a7c40i3v4cb20s2cmh9csb5jv2l0frvnlzyfxh848xalpdwr"; })
+  (fetchNuGet { name = "System.Security.Principal.Windows"; version = "4.5.0"; sha256 = "0rmj89wsl5yzwh0kqjgx45vzf694v9p92r4x4q6yxldk1cv1hi86"; })
+  (fetchNuGet { name = "System.Security.Principal.Windows"; version = "5.0.0"; sha256 = "1mpk7xj76lxgz97a5yg93wi8lj0l8p157a5d50mmjy3gbz1904q8"; })
+  (fetchNuGet { name = "System.Text.Encoding"; version = "4.0.11"; sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw"; })
+  (fetchNuGet { name = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; })
+  (fetchNuGet { name = "System.Text.Encoding.Extensions"; version = "4.0.11"; sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs"; })
+  (fetchNuGet { name = "System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; })
+  (fetchNuGet { name = "System.Text.RegularExpressions"; version = "4.1.0"; sha256 = "1mw7vfkkyd04yn2fbhm38msk7dz2xwvib14ygjsb8dq2lcvr18y7"; })
+  (fetchNuGet { name = "System.Text.RegularExpressions"; version = "4.3.0"; sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l"; })
+  (fetchNuGet { name = "System.Threading"; version = "4.0.11"; sha256 = "19x946h926bzvbsgj28csn46gak2crv2skpwsx80hbgazmkgb1ls"; })
+  (fetchNuGet { name = "System.Threading"; version = "4.3.0"; sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; })
+  (fetchNuGet { name = "System.Threading.Overlapped"; version = "4.3.0"; sha256 = "1nahikhqh9nk756dh8p011j36rlcp1bzz3vwi2b4m1l2s3vz8idm"; })
+  (fetchNuGet { name = "System.Threading.Tasks"; version = "4.0.11"; sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5"; })
+  (fetchNuGet { name = "System.Threading.Tasks"; version = "4.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; })
+  (fetchNuGet { name = "System.Threading.Tasks.Extensions"; version = "4.0.0"; sha256 = "1cb51z062mvc2i8blpzmpn9d9mm4y307xrwi65di8ri18cz5r1zr"; })
+  (fetchNuGet { name = "System.Threading.Tasks.Extensions"; version = "4.3.0"; sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z"; })
+  (fetchNuGet { name = "System.Threading.Thread"; version = "4.3.0"; sha256 = "0y2xiwdfcph7znm2ysxanrhbqqss6a3shi1z3c779pj2s523mjx4"; })
+  (fetchNuGet { name = "System.Threading.ThreadPool"; version = "4.3.0"; sha256 = "027s1f4sbx0y1xqw2irqn6x161lzj8qwvnh2gn78ciiczdv10vf1"; })
+  (fetchNuGet { name = "System.Threading.Timer"; version = "4.0.1"; sha256 = "15n54f1f8nn3mjcjrlzdg6q3520571y012mx7v991x2fvp73lmg6"; })
+  (fetchNuGet { name = "System.Xml.ReaderWriter"; version = "4.0.11"; sha256 = "0c6ky1jk5ada9m94wcadih98l6k1fvf6vi7vhn1msjixaha419l5"; })
+  (fetchNuGet { name = "System.Xml.ReaderWriter"; version = "4.3.0"; sha256 = "0c47yllxifzmh8gq6rq6l36zzvw4kjvlszkqa9wq3fr59n0hl3s1"; })
+  (fetchNuGet { name = "System.Xml.XDocument"; version = "4.0.11"; sha256 = "0n4lvpqzy9kc7qy1a4acwwd7b7pnvygv895az5640idl2y9zbz18"; })
+  (fetchNuGet { name = "System.Xml.XmlDocument"; version = "4.3.0"; sha256 = "0bmz1l06dihx52jxjr22dyv5mxv6pj4852lx68grjm7bivhrbfwi"; })
+  (fetchNuGet { name = "System.Xml.XPath"; version = "4.3.0"; sha256 = "1cv2m0p70774a0sd1zxc8fm8jk3i5zk2bla3riqvi8gsm0r4kpci"; })
+  (fetchNuGet { name = "System.Xml.XPath.XmlDocument"; version = "4.3.0"; sha256 = "1h9lh7qkp0lff33z847sdfjj8yaz98ylbnkbxlnsbflhj9xyfqrm"; })
 ]
diff --git a/nixpkgs/pkgs/misc/emulators/ryujinx/updater.sh b/nixpkgs/pkgs/misc/emulators/ryujinx/updater.sh
index a2f47baa067b..db8fd9254faf 100755
--- a/nixpkgs/pkgs/misc/emulators/ryujinx/updater.sh
+++ b/nixpkgs/pkgs/misc/emulators/ryujinx/updater.sh
@@ -1,5 +1,5 @@
 #! /usr/bin/env nix-shell
-#! nix-shell -i bash -p coreutils gnused curl common-updater-scripts nix-prefetch-git jq dotnet-sdk_5
+#! nix-shell -i bash -p coreutils gnused curl common-updater-scripts nuget-to-nix nix-prefetch-git jq dotnet-sdk_5
 set -eo pipefail
 cd "$(dirname "${BASH_SOURCE[0]}")"
 
@@ -47,21 +47,7 @@ EOF
 
 dotnet restore Ryujinx.sln --configfile ./nuget_tmp.config
 
-echo "{ fetchNuGet }: [" >"$deps_file"
-while read pkg_spec; do
-  { read pkg_name; read pkg_version; } < <(
-    # Build version part should be ignored: `3.0.0-beta2.20059.3+77df2220` -> `3.0.0-beta2.20059.3`
-    sed -nE 's/.*<id>([^<]*).*/\1/p; s/.*<version>([^<+]*).*/\1/p' "$pkg_spec")
-  pkg_sha256="$(nix-hash --type sha256 --flat --base32 "$(dirname "$pkg_spec")"/*.nupkg)"
-  cat >>"$deps_file" <<EOF
-  (fetchNuGet {
-    name = "$pkg_name";
-    version = "$pkg_version";
-    sha256 = "$pkg_sha256";
-  })
-EOF
-done < <(find ./nuget_tmp.packages -name '*.nuspec' | sort)
-echo "]" >>"$deps_file"
+nuget-to-nix ./nuget_tmp.packages > "$deps_file"
 
 popd
 rm -r "$src"
diff --git a/nixpkgs/pkgs/misc/emulators/sameboy/default.nix b/nixpkgs/pkgs/misc/emulators/sameboy/default.nix
index ee91a010df77..db300274f908 100644
--- a/nixpkgs/pkgs/misc/emulators/sameboy/default.nix
+++ b/nixpkgs/pkgs/misc/emulators/sameboy/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sameboy";
-  version = "0.14.2";
+  version = "0.14.5";
 
   src = fetchFromGitHub {
     owner = "LIJI32";
     repo = "SameBoy";
     rev = "v${version}";
-    sha256 = "sha256-VGyB0Em9VFU1Z1K2XfbS9wGs6gZ8/eH/FiaFAKnFdaA=";
+    sha256 = "sha256-o2aH9rfga4f4yrf6r01wnrC0foYtD5EwdKFUPf2KGWM=";
   };
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/misc/emulators/stella/default.nix b/nixpkgs/pkgs/misc/emulators/stella/default.nix
index ff90ae8908be..73e5990e112e 100644
--- a/nixpkgs/pkgs/misc/emulators/stella/default.nix
+++ b/nixpkgs/pkgs/misc/emulators/stella/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "stella";
-  version = "6.5.2";
+  version = "6.5.3";
 
   src = fetchFromGitHub {
     owner = "stella-emu";
     repo = pname;
     rev = version;
-    hash = "sha256-CDLMOqSgRx75tjBoLycis/cckCNwgdlb9TRBlD3Dd04=";
+    hash = "sha256-Y9rEh9PZalQNj+d7OXN/8z5P8Hti4R3c2RL1BY+J1y4=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/nixpkgs/pkgs/misc/emulators/uae/default.nix b/nixpkgs/pkgs/misc/emulators/uae/default.nix
index 803efe5149c2..ebbdc667ef1e 100644
--- a/nixpkgs/pkgs/misc/emulators/uae/default.nix
+++ b/nixpkgs/pkgs/misc/emulators/uae/default.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl, pkg-config, gtk2, alsa-lib, SDL}:
 
 stdenv.mkDerivation rec {
-  name = "uae-0.8.29";
+  pname = "uae";
+  version = "0.8.29";
 
   src = fetchurl {
-    url = "http://web.archive.org/web/20130905032631/http://www.amigaemulator.org/files/sources/develop/${name}.tar.bz2";
+    url = "http://web.archive.org/web/20130905032631/http://www.amigaemulator.org/files/sources/develop/uae-${version}.tar.bz2";
     sha256 = "05s3cd1rd5a970s938qf4c2xm3l7f54g5iaqw56v8smk355m4qr4";
   };
 
diff --git a/nixpkgs/pkgs/misc/emulators/uxn/default.nix b/nixpkgs/pkgs/misc/emulators/uxn/default.nix
new file mode 100644
index 000000000000..3e4928412b11
--- /dev/null
+++ b/nixpkgs/pkgs/misc/emulators/uxn/default.nix
@@ -0,0 +1,54 @@
+{ lib
+, stdenv
+, fetchFromSourcehut
+, SDL2
+}:
+
+stdenv.mkDerivation rec {
+  pname = "uxn";
+  version = "0.0.0+unstable=2021-08-30";
+
+  src = fetchFromSourcehut {
+    owner = "~rabbits";
+    repo = pname;
+    rev = "a2e40d9d10c11ef48f4f93d0dc86f5085b4263ce";
+    hash = "sha256-/hxDYi814nQydm2iQk4NID4vpJ3BcBcM6NdL0iuZk5M=";
+  };
+
+  buildInputs = [
+    SDL2
+  ];
+
+  dontConfigure = true;
+
+  # It is easier to emulate build.sh script
+  buildPhase = ''
+    runHook preBuild
+
+    cc -std=c89 -Wall -Wno-unknown-pragmas src/uxnasm.c -o uxnasm
+    cc -std=c89 -Wall -Wno-unknown-pragmas src/uxn.c src/uxncli.c -o uxncli
+    cc -std=c89 -Wall -Wno-unknown-pragmas src/uxn.c src/devices/ppu.c \
+       src/devices/apu.c src/uxnemu.c $(sdl2-config --cflags --libs) -o uxnemu
+
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    install -d $out/bin/ $out/share/${pname}/
+
+    cp uxnasm uxncli uxnemu $out/bin/
+    cp -r projects $out/share/${pname}/
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = "https://wiki.xxiivv.com/site/uxn.html";
+    description = "An assembler and emulator for the Uxn stack machine";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = with platforms; unix;
+  };
+}
diff --git a/nixpkgs/pkgs/misc/emulators/vice/default.nix b/nixpkgs/pkgs/misc/emulators/vice/default.nix
index f8b9e5906f3e..ba9d538b6631 100644
--- a/nixpkgs/pkgs/misc/emulators/vice/default.nix
+++ b/nixpkgs/pkgs/misc/emulators/vice/default.nix
@@ -3,10 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "vice-3.1";
+  pname = "vice";
+  version = "3.1";
 
   src = fetchurl {
-    url = "mirror://sourceforge/vice-emu/vice-3.1.tar.gz";
+    url = "mirror://sourceforge/vice-emu/vice-${version}.tar.gz";
     sha256 = "0h0jbml02s2a36hr78dxv1zshmfhxp1wadpcdl09aq416fb1bf1y";
   };
 
diff --git a/nixpkgs/pkgs/misc/emulators/wine/sources.nix b/nixpkgs/pkgs/misc/emulators/wine/sources.nix
index f2e61d18ee2a..212a3222b7c6 100644
--- a/nixpkgs/pkgs/misc/emulators/wine/sources.nix
+++ b/nixpkgs/pkgs/misc/emulators/wine/sources.nix
@@ -44,16 +44,16 @@ in rec {
 
   unstable = fetchurl rec {
     # NOTE: Don't forget to change the SHA256 for staging as well.
-    version = "6.12";
+    version = "6.16";
     url = "https://dl.winehq.org/wine/source/6.x/wine-${version}.tar.xz";
-    sha256 = "1a6fnxb4rci310m0wjcs9cnmpj88775q70qk7xi3k06z1qqbx4pv";
+    sha256 = "sha256-aVCSBQ2YoSnE1/MVPLDkkjJIuuXz2SBjn6SrGnP4+ug=";
     inherit (stable) gecko32 gecko64;
 
     ## see http://wiki.winehq.org/Mono
     mono = fetchurl rec {
-      version = "6.2.0";
+      version = "6.3.0";
       url = "https://dl.winehq.org/wine/wine-mono/${version}/wine-mono-${version}-x86.msi";
-      sha256 = "sha256-zY1TUT2DV7KHama6sIllTvmUH0LvaQ+1VcZJP1OB28o=";
+      sha256 = "sha256-pfAtMqAoNpKkpiX1Qc+7tFGIMShHTFyANiOFMXzQmfA=";
     };
 
     patches = [
@@ -65,11 +65,10 @@ in rec {
   staging = fetchFromGitHub rec {
     # https://github.com/wine-staging/wine-staging/releases
     inherit (unstable) version;
-    sha256 = "1mg5yrw5jk2nbdp9mcqc3iar01lr76lmm1py95wify9p2bqzavpp";
+    sha256 = "sha256-TvTx3vSOyudyC7aravQGcj5KGqI8uHkgHroIJww5buQ=";
     owner = "wine-staging";
     repo = "wine-staging";
-    # Replace back on next release: rev = "v${version}";
-    rev = "v6.12.1";
+    rev = "v${version}";
 
     disabledPatchsets = [ ];
   };
diff --git a/nixpkgs/pkgs/misc/emulators/wxmupen64plus/default.nix b/nixpkgs/pkgs/misc/emulators/wxmupen64plus/default.nix
index 8621d213b79d..3b24584f7e63 100644
--- a/nixpkgs/pkgs/misc/emulators/wxmupen64plus/default.nix
+++ b/nixpkgs/pkgs/misc/emulators/wxmupen64plus/default.nix
@@ -1,10 +1,12 @@
 { lib, stdenv, fetchurl, python, wxGTK29, mupen64plus, SDL, libX11, libGLU, libGL
 , wafHook }:
 
-stdenv.mkDerivation {
-  name = "wxmupen64plus-0.3";
+stdenv.mkDerivation rec {
+  pname = "wxmupen64plus";
+  version = "0.3";
+
   src = fetchurl {
-    url = "https://bitbucket.org/auria/wxmupen64plus/get/0.3.tar.bz2";
+    url = "https://bitbucket.org/auria/wxmupen64plus/get/${version}.tar.bz2";
     sha256 = "1mnxi4k011dd300k35li2p6x4wccwi6im21qz8dkznnz397ps67c";
   };
 
diff --git a/nixpkgs/pkgs/misc/emulators/yuzu/default.nix b/nixpkgs/pkgs/misc/emulators/yuzu/default.nix
index 3ecf17f02331..0e4fe692ae32 100644
--- a/nixpkgs/pkgs/misc/emulators/yuzu/default.nix
+++ b/nixpkgs/pkgs/misc/emulators/yuzu/default.nix
@@ -16,13 +16,13 @@ in {
   };
   early-access = libsForQt5.callPackage ./base.nix rec {
     pname = "yuzu-ea";
-    version = "1855";
+    version = "1874";
     branchName = branch;
     src = fetchFromGitHub {
       owner = "pineappleEA";
       repo = "pineapple-src";
       rev = "EA-${version}";
-      sha256 = "0civ63zi23cym3kii4v3aiqrsg2zzj0w6sp6sa14ixysagqxsd4a";
+      sha256 = "0ryrz7dl1sg30vvd7wrf05pjj8swah86055fn7qm6mr2bfslww0h";
     };
   };
 }.${branch}
diff --git a/nixpkgs/pkgs/misc/emulators/zsnes/default.nix b/nixpkgs/pkgs/misc/emulators/zsnes/default.nix
index 4a6b1fbda279..e965816d0257 100644
--- a/nixpkgs/pkgs/misc/emulators/zsnes/default.nix
+++ b/nixpkgs/pkgs/misc/emulators/zsnes/default.nix
@@ -13,7 +13,8 @@ let
   };
 
 in stdenv.mkDerivation {
-  name = "zsnes-1.51";
+  pname = "zsnes";
+  version = "1.51";
 
   src = fetchFromGitHub {
     owner = "emillon";
diff --git a/nixpkgs/pkgs/misc/lilypond/fonts.nix b/nixpkgs/pkgs/misc/lilypond/fonts.nix
index ca87db757cc0..f1c80ad761b2 100644
--- a/nixpkgs/pkgs/misc/lilypond/fonts.nix
+++ b/nixpkgs/pkgs/misc/lilypond/fonts.nix
@@ -13,8 +13,6 @@ let
         repo = fontName;
       };
 
-      phases = [ "unpackPhase" "installPhase" ];
-
       installPhase = ''
         local fontsdir="$out/share/lilypond/${lilypond.version}/fonts"
 
diff --git a/nixpkgs/pkgs/misc/logging/beats/7.x.nix b/nixpkgs/pkgs/misc/logging/beats/7.x.nix
index 77e14e96c54e..99a79fecedc5 100644
--- a/nixpkgs/pkgs/misc/logging/beats/7.x.nix
+++ b/nixpkgs/pkgs/misc/logging/beats/7.x.nix
@@ -1,30 +1,31 @@
-{ lib, fetchFromGitHub, elk7Version, buildGoPackage, libpcap, nixosTests, systemd }:
+{ lib, fetchFromGitHub, elk7Version, buildGoModule, libpcap, nixosTests, systemd }:
 
-let beat = package : extraArgs : buildGoPackage (rec {
-      name = "${package}-${version}";
-      version = elk7Version;
+let beat = package: extraArgs: buildGoModule (rec {
+  pname = package;
+  version = elk7Version;
 
-      src = fetchFromGitHub {
-        owner = "elastic";
-        repo = "beats";
-        rev = "v${version}";
-        sha256 = "192ygz3ppfah8d2b811x67jfqhcr5ivz7qh4vwrd729rjfr0bbgb";
-      };
+  src = fetchFromGitHub {
+    owner = "elastic";
+    repo = "beats";
+    rev = "v${version}";
+    sha256 = "sha256-zr0a0LBR4G9okS2pUixDYtYZ0yCp4G6j08jx/zlIKOA=";
+  };
 
-      goPackagePath = "github.com/elastic/beats";
+  vendorSha256 = "sha256-xmw432vY1T2EixkDcXdGrnMdc8fYOI4R2lEjbkav3JQ=";
 
-      subPackages = [ package ];
+  subPackages = [ package ];
 
-      meta = with lib; {
-        homepage = "https://www.elastic.co/products/beats";
-        license = licenses.asl20;
-        maintainers = with maintainers; [ fadenb basvandijk ];
-        platforms = platforms.linux;
-      };
-    } // extraArgs);
-in rec {
-  filebeat7   = beat "filebeat"   {meta.description = "Lightweight shipper for logfiles";};
-  heartbeat7  = beat "heartbeat"  {meta.description = "Lightweight shipper for uptime monitoring";};
+  meta = with lib; {
+    homepage = "https://www.elastic.co/products/beats";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fadenb basvandijk ];
+    platforms = platforms.linux;
+  };
+} // extraArgs);
+in
+rec {
+  filebeat7 = beat "filebeat" { meta.description = "Lightweight shipper for logfiles"; };
+  heartbeat7 = beat "heartbeat" { meta.description = "Lightweight shipper for uptime monitoring"; };
   metricbeat7 = beat "metricbeat" {
     meta.description = "Lightweight shipper for metrics";
     passthru.tests =
@@ -46,14 +47,15 @@ in rec {
       PostgreSQL, Redis or Thrift and correlate the messages into transactions.
     '';
   };
-  journalbeat7  = beat "journalbeat" {
+  journalbeat7 = beat "journalbeat" {
     meta.description = ''
       Journalbeat is an open source data collector to read and forward
       journal entries from Linuxes with systemd.
     '';
     buildInputs = [ systemd.dev ];
-    postFixup = let libPath = lib.makeLibraryPath [ (lib.getLib systemd) ]; in ''
-      patchelf --set-rpath ${libPath} "$out/bin/journalbeat"
-    '';
+    postFixup = let libPath = lib.makeLibraryPath [ (lib.getLib systemd) ]; in
+      ''
+        patchelf --set-rpath ${libPath} "$out/bin/journalbeat"
+      '';
   };
 }
diff --git a/nixpkgs/pkgs/misc/mxt-app/default.nix b/nixpkgs/pkgs/misc/mxt-app/default.nix
index 099300634e8c..df812d516ecc 100644
--- a/nixpkgs/pkgs/misc/mxt-app/default.nix
+++ b/nixpkgs/pkgs/misc/mxt-app/default.nix
@@ -1,14 +1,14 @@
 { lib, stdenv, fetchFromGitHub, autoreconfHook, libtool }:
 
 stdenv.mkDerivation rec {
-  version="1.32";
+  version="1.33";
   pname = "mxt-app";
 
   src = fetchFromGitHub {
     owner = "atmel-maxtouch";
     repo = "mxt-app";
     rev = "v${version}";
-    sha256 = "1z1g5h14j3yw3r9phgir33s9j07ns9c0r5lkl49940pzqycnrwbj";
+    sha256 = "sha256-PgIIxoyR7UA5y4UZ6meJERrbi1Bov03pJkN5St4BWss=";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/nixpkgs/pkgs/misc/screensavers/betterlockscreen/default.nix b/nixpkgs/pkgs/misc/screensavers/betterlockscreen/default.nix
index facac2717c4c..8d228890d054 100644
--- a/nixpkgs/pkgs/misc/screensavers/betterlockscreen/default.nix
+++ b/nixpkgs/pkgs/misc/screensavers/betterlockscreen/default.nix
@@ -1,39 +1,50 @@
-{
-  lib, stdenv, makeWrapper, fetchFromGitHub,
-  imagemagick, i3lock-color, xdpyinfo, xrandr, bc, feh, procps, xrdb
+{ fetchFromGitHub
+, lib
+, makeWrapper
+, stdenv
+
+  # Dependencies (@see https://github.com/pavanjadhaw/betterlockscreen/blob/master/shell.nix)
+, bc
+, coreutils
+, i3lock-color
+, gawk
+, gnugrep
+, gnused
+, imagemagick
+, procps
+, xdpyinfo
+, xrandr
+, xset
 }:
 
 stdenv.mkDerivation rec {
   pname = "betterlockscreen";
-  version = "3.2.0";
+  version = "4.0.3";
 
   src = fetchFromGitHub {
     owner = "pavanjadhaw";
     repo = "betterlockscreen";
-    rev = version;
-    sha256 = "sha256-UOMCTHtw1C+MiJL6AQ+8gqmmbqrs1QTzEi1Ar03PyMs=";
+    rev = "v${version}";
+    sha256 = "sha256-d4uI/S7Kr8yvzc4/L0BX8+TBXb4AVNMJp4gb8uXgBwA=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
 
-  patches = [ ./replace-i3lock.patch ];
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/bin
+    cp betterlockscreen $out/bin/betterlockscreen
+    wrapProgram "$out/bin/betterlockscreen" --prefix PATH : "$out/bin:${lib.makeBinPath [ bc coreutils i3lock-color gawk gnugrep gnused imagemagick procps xdpyinfo xrandr xset ]}"
 
-  installPhase =
-    let
-      PATH =
-        lib.makeBinPath
-        [imagemagick i3lock-color xdpyinfo xrandr bc feh procps xrdb];
-    in ''
-      mkdir -p $out/bin
-      cp betterlockscreen $out/bin/betterlockscreen
-      wrapProgram "$out/bin/betterlockscreen" --prefix PATH : "$out/bin:${PATH}"
-    '';
+    runHook postInstall
+  '';
 
   meta = with lib; {
-    description = "A simple minimal lock screen which allows you to cache images with different filters and lockscreen with blazing speed";
+    description = "Fast and sweet looking lockscreen for linux systems with effects!";
     homepage = "https://github.com/pavanjadhaw/betterlockscreen";
     license = licenses.mit;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ eyjhb ];
+    maintainers = with maintainers; [ eyjhb sebtm ];
   };
 }
diff --git a/nixpkgs/pkgs/misc/screensavers/betterlockscreen/replace-i3lock.patch b/nixpkgs/pkgs/misc/screensavers/betterlockscreen/replace-i3lock.patch
deleted file mode 100644
index 439c3561f960..000000000000
--- a/nixpkgs/pkgs/misc/screensavers/betterlockscreen/replace-i3lock.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/betterlockscreen b/betterlockscreen
-index 6dd06e0..746d820 100755
---- a/betterlockscreen
-+++ b/betterlockscreen
-@@ -87,7 +87,7 @@ prelock() {
- lock() {
- 	#$1 image path
- 
--	i3lock \
-+	i3lock-color \
- 		-c 00000000 \
- 		-t -i "$1" \
- 		--timepos='x+110:h-70' \
-
diff --git a/nixpkgs/pkgs/misc/screensavers/slock/default.nix b/nixpkgs/pkgs/misc/screensavers/slock/default.nix
index 800a81d2ffcd..63ca76e391f4 100644
--- a/nixpkgs/pkgs/misc/screensavers/slock/default.nix
+++ b/nixpkgs/pkgs/misc/screensavers/slock/default.nix
@@ -6,10 +6,11 @@
 
 with lib;
 stdenv.mkDerivation rec {
-  name = "slock-1.4";
+  pname = "slock";
+  version = "1.4";
 
   src = fetchurl {
-    url = "https://dl.suckless.org/tools/${name}.tar.gz";
+    url = "https://dl.suckless.org/tools/slock-${version}.tar.gz";
     sha256 = "0sif752303dg33f14k6pgwq2jp1hjyhqv6x4sy3sj281qvdljf5m";
   };
 
diff --git a/nixpkgs/pkgs/misc/screensavers/vlock/default.nix b/nixpkgs/pkgs/misc/screensavers/vlock/default.nix
index 4813e2493075..1602c94c0992 100644
--- a/nixpkgs/pkgs/misc/screensavers/vlock/default.nix
+++ b/nixpkgs/pkgs/misc/screensavers/vlock/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, pam }:
 
-stdenv.mkDerivation {
-  name = "vlock-2.2.2";
-  src = fetchurl
-  {
-    url = "mirror://debian/pool/main/v/vlock/vlock_2.2.2.orig.tar.gz";
+stdenv.mkDerivation rec {
+  pname = "vlock";
+  version = "2.2.2";
+
+  src = fetchurl {
+    url = "mirror://debian/pool/main/v/vlock/vlock_${version}.orig.tar.gz";
     sha256 = "1b9gv7hmlb8swda5bn40lp1yki8b8wv29vdnhcjqfl6ir98551za";
   };
 
diff --git a/nixpkgs/pkgs/misc/screensavers/xlockmore/default.nix b/nixpkgs/pkgs/misc/screensavers/xlockmore/default.nix
index 600528a79444..680f9c0a5bcb 100644
--- a/nixpkgs/pkgs/misc/screensavers/xlockmore/default.nix
+++ b/nixpkgs/pkgs/misc/screensavers/xlockmore/default.nix
@@ -2,10 +2,11 @@
 , libXdmcp, libXt, autoreconfHook }:
 
 stdenv.mkDerivation rec {
-  name = "xlockmore-5.66";
+  pname = "xlockmore";
+  version = "5.66";
 
   src = fetchurl {
-    url = "http://sillycycle.com/xlock/${name}.tar.xz";
+    url = "http://sillycycle.com/xlock/xlockmore-${version}.tar.xz";
     sha256 = "sha256-WXalw2YoKNFFIskOBvKN3PyOV3iP3gjri3pw6e87q3E=";
     curlOpts = "--user-agent 'Mozilla/5.0'";
   };
diff --git a/nixpkgs/pkgs/misc/screensavers/xscreensaver/default.nix b/nixpkgs/pkgs/misc/screensavers/xscreensaver/default.nix
index 6b90d6f58e15..05ebdde853e8 100644
--- a/nixpkgs/pkgs/misc/screensavers/xscreensaver/default.nix
+++ b/nixpkgs/pkgs/misc/screensavers/xscreensaver/default.nix
@@ -9,12 +9,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "6.00";
+  version = "6.01";
   pname = "xscreensaver";
 
   src = fetchurl {
     url = "https://www.jwz.org/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "WFCIl0chuCjr1x/T67AZ0b8xITPJVurJZy1h9rSddwY=";
+    sha256 = "sha256-CFSEZl2R9gtKHe2s2UvPm3Sw+wlrztyJ/xwkUWjlRzs=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/misc/screensavers/xss-lock/default.nix b/nixpkgs/pkgs/misc/screensavers/xss-lock/default.nix
index c6dafd2a8127..ec7e8f4e7e5c 100644
--- a/nixpkgs/pkgs/misc/screensavers/xss-lock/default.nix
+++ b/nixpkgs/pkgs/misc/screensavers/xss-lock/default.nix
@@ -2,7 +2,8 @@
 , libXau, libXdmcp, xcbutil }:
 
 stdenv.mkDerivation {
-  name = "xss-lock-git-2018-05-31";
+  pname = "xss-lock";
+  version = "unstable-2018-05-31";
 
   src = fetchFromGitHub {
     owner = "xdbob";
diff --git a/nixpkgs/pkgs/misc/screensavers/xtrlock-pam/default.nix b/nixpkgs/pkgs/misc/screensavers/xtrlock-pam/default.nix
index c563cca05efe..6908429e21b9 100644
--- a/nixpkgs/pkgs/misc/screensavers/xtrlock-pam/default.nix
+++ b/nixpkgs/pkgs/misc/screensavers/xtrlock-pam/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchgit, python, pkg-config, xlibsWrapper, pam }:
 
 stdenv.mkDerivation {
-  name = "xtrlock-pam-3.4-post-20150909";
+  pname = "xtrlock-pam";
+  version = "3.4-post-20150909";
 
   src = fetchgit {
     url = "https://github.com/aanatoly/xtrlock-pam";
diff --git a/nixpkgs/pkgs/misc/sndio/default.nix b/nixpkgs/pkgs/misc/sndio/default.nix
index 9e4035801f1e..474e59c590a5 100644
--- a/nixpkgs/pkgs/misc/sndio/default.nix
+++ b/nixpkgs/pkgs/misc/sndio/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "sndio";
-  version = "1.8.0";
+  version = "1.8.1";
 
   src = fetchurl {
-    url = "http://www.sndio.org/sndio-${version}.tar.gz";
-    sha256 = "027hlqji0h2cm96rb8qvkdmwxl56l59bgn828nvmwak2c2i5k703";
+    url = "https://www.sndio.org/sndio-${version}.tar.gz";
+    sha256 = "08b33bbrhbva1lyzzsj5k6ggcqzrfjfhb2n99a0b8b07kqc3f7gq";
   };
 
   nativeBuildInputs = lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = with lib; {
-    homepage = "http://www.sndio.org";
+    homepage = "https://www.sndio.org";
     description = "Small audio and MIDI framework part of the OpenBSD project";
     license = licenses.isc;
     maintainers = with maintainers; [ chiiruno ];
diff --git a/nixpkgs/pkgs/misc/solfege/default.nix b/nixpkgs/pkgs/misc/solfege/default.nix
index fc7062d904c3..c3c22ac8f159 100644
--- a/nixpkgs/pkgs/misc/solfege/default.nix
+++ b/nixpkgs/pkgs/misc/solfege/default.nix
@@ -5,10 +5,11 @@
 }:
 
 buildPythonApplication rec {
-  name = "solfege-3.23.4";
+  pname = "solfege";
+  version = "3.23.4";
 
   src = fetchurl {
-    url = "mirror://sourceforge/solfege/${name}.tar.gz";
+    url = "mirror://sourceforge/solfege/solfege-${version}.tar.gz";
     sha256 = "0sc17vf4xz6gy0s0z9ghi68yskikdmyb4gdaxx6imrm40734k8mp";
   };
 
diff --git a/nixpkgs/pkgs/misc/tmux-plugins/default.nix b/nixpkgs/pkgs/misc/tmux-plugins/default.nix
index b4978e200ab1..b04a54874571 100644
--- a/nixpkgs/pkgs/misc/tmux-plugins/default.nix
+++ b/nixpkgs/pkgs/misc/tmux-plugins/default.nix
@@ -63,6 +63,33 @@ in rec {
     };
   };
 
+  better-mouse-mode = mkTmuxPlugin {
+    pluginName = "better-mouse-mode";
+    version = "unstable-2021-08-02";
+    src = fetchFromGitHub {
+      owner = "NHDaly";
+      repo = "tmux-better-mouse-mode";
+      rev = "aa59077c635ab21b251bd8cb4dc24c415e64a58e";
+      sha256 = "06346ih3hzwszhkj25g4xv5av7292s6sdbrdpx39p0n3kgf5mwww";
+    };
+    rtpFilePath = "scroll_copy_mode.tmux";
+    meta = {
+      homepage = "https://github.com/NHDaly/tmux-better-mouse-mode";
+      description = "better mouse support for tmux";
+      longDescription =
+      ''
+        Features:
+
+          * Emulate mouse-support for full-screen programs like less that don't provide built in mouse support.
+          * Exit copy-mode and return to your prompt by scrolling back all the way down to the bottom.
+          * Adjust your scrolling speed.
+      '';
+      license = lib.licenses.mit;
+      platforms = lib.platforms.unix;
+      maintainers = with lib.maintainers; [ chrispickard ];
+    };
+  };
+
   continuum = mkTmuxPlugin {
     pluginName = "continuum";
     version = "unstable-2020-10-16";
diff --git a/nixpkgs/pkgs/misc/vim-plugins/build-vim-plugin.nix b/nixpkgs/pkgs/misc/vim-plugins/build-vim-plugin.nix
index 6960b7905393..a3a09a93ac9c 100644
--- a/nixpkgs/pkgs/misc/vim-plugins/build-vim-plugin.nix
+++ b/nixpkgs/pkgs/misc/vim-plugins/build-vim-plugin.nix
@@ -1,6 +1,7 @@
 { lib, stdenv
-, rtpPath ? "share/vim-plugins"
+, rtpPath
 , vim
+, vimGenDocHook
 }:
 
 rec {
@@ -25,6 +26,7 @@ rec {
     addRtp "${rtpPath}/${path}" attrs (stdenv.mkDerivation (attrs // {
       name = namePrefix + name;
 
+      nativeBuildInputs = attrs.nativeBuildInputs or [] ++ [ vimGenDocHook ];
       inherit unpackPhase configurePhase buildPhase addonInfo preInstall postInstall;
 
       installPhase = ''
@@ -34,26 +36,12 @@ rec {
         mkdir -p $out/${rtpPath}
         cp -r . $target
 
-        # build help tags
-        if [ -d "$target/doc" ]; then
-          echo "Building help tags"
-          if ! ${vim}/bin/vim -N -u NONE -i NONE -n -E -s -V1 -c "helptags $target/doc" +quit!; then
-            echo "Failed to build help tags!"
-            exit 1
-          fi
-        else
-          echo "No docs available"
-        fi
-
-        if [ -n "$addonInfo" ]; then
-          echo "$addonInfo" > $target/addon-info.json
-        fi
-
         runHook postInstall
       '';
     }));
 
   buildVimPluginFrom2Nix = attrs: buildVimPlugin ({
+    # vim plugins may override this
     buildPhase = ":";
     configurePhase =":";
   } // attrs);
diff --git a/nixpkgs/pkgs/misc/vim-plugins/default.nix b/nixpkgs/pkgs/misc/vim-plugins/default.nix
index cbc6ec7380ba..9bfcf4431863 100644
--- a/nixpkgs/pkgs/misc/vim-plugins/default.nix
+++ b/nixpkgs/pkgs/misc/vim-plugins/default.nix
@@ -1,13 +1,23 @@
 # TODO check that no license information gets lost
-{ callPackage, config, lib, vimUtils, vim, darwin, llvmPackages }:
+{ callPackage, config, lib, vimUtils, vim, darwin, llvmPackages, luaPackages }:
 
 let
 
-  inherit (vimUtils.override {inherit vim;}) buildVimPluginFrom2Nix;
+  inherit (vimUtils.override {inherit vim;}) buildVimPluginFrom2Nix vimGenDocHook;
 
   inherit (lib) extends;
 
-  initialPackages = self: {};
+  initialPackages = self: {
+    # Convert derivation to a vim plugin.
+    toVimPlugin = drv:
+      drv.overrideAttrs(oldAttrs: {
+
+        nativeBuildInputs = oldAttrs.nativeBuildInputs or [] ++ [ vimGenDocHook ];
+        passthru = (oldAttrs.passthru or {}) // {
+          vimPlugin = true;
+        };
+      });
+  };
 
   plugins = callPackage ./generated.nix {
     inherit buildVimPluginFrom2Nix;
@@ -22,7 +32,7 @@ let
   overrides = callPackage ./overrides.nix {
     inherit (darwin.apple_sdk.frameworks) Cocoa CoreFoundation CoreServices;
     inherit buildVimPluginFrom2Nix;
-    inherit llvmPackages;
+    inherit llvmPackages luaPackages;
   };
 
   aliases = if (config.allowAliases or true) then (import ./aliases.nix lib) else final: prev: {};
diff --git a/nixpkgs/pkgs/misc/vim-plugins/deprecated.json b/nixpkgs/pkgs/misc/vim-plugins/deprecated.json
index 41373adf62b1..0b637a90f1d8 100644
--- a/nixpkgs/pkgs/misc/vim-plugins/deprecated.json
+++ b/nixpkgs/pkgs/misc/vim-plugins/deprecated.json
@@ -3,10 +3,22 @@
         "date": "2020-03-27",
         "new": "vim-gist"
     },
+    "nvim-bufferline-lua": {
+        "date": "2021-08-22",
+        "new": "bufferline-nvim"
+    },
     "nvim-lsp": {
         "date": "2020-08-31",
         "new": "nvim-lspconfig"
     },
+    "nvim-toggleterm-lua": {
+        "date": "2021-08-22",
+        "new": "toggleterm-nvim"
+    },
+    "sql-nvim": {
+        "date": "2021-09-03",
+        "new": "sqlite-lua"
+    },
     "vim-jade": {
         "date": "2020-03-27",
         "new": "vim-pug"
diff --git a/nixpkgs/pkgs/misc/vim-plugins/generated.nix b/nixpkgs/pkgs/misc/vim-plugins/generated.nix
index b31924a9de42..1674087457e0 100644
--- a/nixpkgs/pkgs/misc/vim-plugins/generated.nix
+++ b/nixpkgs/pkgs/misc/vim-plugins/generated.nix
@@ -4,7 +4,7 @@
 final: prev:
 {
   a-vim = buildVimPluginFrom2Nix {
-    pname = "a-vim";
+    pname = "a.vim";
     version = "2010-11-06";
     src = fetchFromGitHub {
       owner = "vim-scripts";
@@ -16,7 +16,7 @@ final: prev:
   };
 
   ack-vim = buildVimPluginFrom2Nix {
-    pname = "ack-vim";
+    pname = "ack.vim";
     version = "2018-02-27";
     src = fetchFromGitHub {
       owner = "mileszs";
@@ -40,7 +40,7 @@ final: prev:
   };
 
   aerial-nvim = buildVimPluginFrom2Nix {
-    pname = "aerial-nvim";
+    pname = "aerial.nvim";
     version = "2021-07-17";
     src = fetchFromGitHub {
       owner = "stevearc";
@@ -64,7 +64,7 @@ final: prev:
   };
 
   alchemist-vim = buildVimPluginFrom2Nix {
-    pname = "alchemist-vim";
+    pname = "alchemist.vim";
     version = "2020-04-27";
     src = fetchFromGitHub {
       owner = "slashmili";
@@ -77,12 +77,12 @@ final: prev:
 
   ale = buildVimPluginFrom2Nix {
     pname = "ale";
-    version = "2021-07-21";
+    version = "2021-09-03";
     src = fetchFromGitHub {
       owner = "dense-analysis";
       repo = "ale";
-      rev = "5ad4fdd583116ec253aaf43e2d457cd3e3aa5587";
-      sha256 = "178c60ckgkr4ivgi1b21f1cndx9d64spydc8z75gcyz3r6lcbrmm";
+      rev = "b9fdb91e9294b091a56a9da0b8ae705490cd95c6";
+      sha256 = "1l928wv1rk1hmmna7rnd4xl5vfxxq8f7p5jjz1cph2gbyalsivh0";
     };
     meta.homepage = "https://github.com/dense-analysis/ale/";
   };
@@ -101,24 +101,24 @@ final: prev:
 
   aniseed = buildVimPluginFrom2Nix {
     pname = "aniseed";
-    version = "2021-07-19";
+    version = "2021-08-14";
     src = fetchFromGitHub {
       owner = "Olical";
       repo = "aniseed";
-      rev = "c15c4e49d6ecb7ad7252902bb1b4310ba161617a";
-      sha256 = "13pnlx4rqjc51vrq9d8kyjjxb2apw3y6j2xh68ii746klinjpjy5";
+      rev = "0b0173592740a4b4c36cbdc195f0aa7422dd4666";
+      sha256 = "09mv0yqj8qqj7i8dfqg50vin6whg9sc5scfsxr20jrx278z94j6h";
     };
     meta.homepage = "https://github.com/Olical/aniseed/";
   };
 
   ansible-vim = buildVimPluginFrom2Nix {
     pname = "ansible-vim";
-    version = "2021-06-01";
+    version = "2021-07-27";
     src = fetchFromGitHub {
       owner = "pearofducks";
       repo = "ansible-vim";
-      rev = "804099202b72ffd4bf4ea4ce24d8d7bac8b9ae2d";
-      sha256 = "0p93g0zi8j6bf5zh0ng9vdl9f76dan524g22jpb8c0xmm6ywns5l";
+      rev = "40e28ee318b968c09a1724cd25cd450330b136c9";
+      sha256 = "09fcn2mdi05alhzkk89namymk7lryycb303nah9i63km39h5rs12";
     };
     meta.homepage = "https://github.com/pearofducks/ansible-vim/";
   };
@@ -136,7 +136,7 @@ final: prev:
   };
 
   arcanist-vim = buildVimPluginFrom2Nix {
-    pname = "arcanist-vim";
+    pname = "arcanist.vim";
     version = "2016-05-27";
     src = fetchFromGitHub {
       owner = "solarnz";
@@ -148,7 +148,7 @@ final: prev:
   };
 
   argtextobj-vim = buildVimPluginFrom2Nix {
-    pname = "argtextobj-vim";
+    pname = "argtextobj.vim";
     version = "2010-10-18";
     src = fetchFromGitHub {
       owner = "vim-scripts";
@@ -160,7 +160,7 @@ final: prev:
   };
 
   async-vim = buildVimPluginFrom2Nix {
-    pname = "async-vim";
+    pname = "async.vim";
     version = "2021-03-21";
     src = fetchFromGitHub {
       owner = "prabirshrestha";
@@ -172,13 +172,13 @@ final: prev:
   };
 
   asyncomplete-vim = buildVimPluginFrom2Nix {
-    pname = "asyncomplete-vim";
-    version = "2021-05-04";
+    pname = "asyncomplete.vim";
+    version = "2021-08-19";
     src = fetchFromGitHub {
       owner = "prabirshrestha";
       repo = "asyncomplete.vim";
-      rev = "6c653c3f8f1c1cf7a34522c9555d5160f36d29ee";
-      sha256 = "1zzdybfswlh66gw8a3imkwf7m6g13rlf6dqyg71c6bfmn3zlx2l0";
+      rev = "73ac8e4e4525ba48e82d0f30643987b015233d4e";
+      sha256 = "0gbmkxrxcwr5adzp2j7dd64dpzc775m1b9sv0si96gh9pb6119q2";
     };
     meta.homepage = "https://github.com/prabirshrestha/asyncomplete.vim/";
   };
@@ -233,18 +233,18 @@ final: prev:
 
   auto-session = buildVimPluginFrom2Nix {
     pname = "auto-session";
-    version = "2021-07-15";
+    version = "2021-08-31";
     src = fetchFromGitHub {
       owner = "rmagatti";
       repo = "auto-session";
-      rev = "f5e5dda7587db72b074edbc3b573d52df639f9a5";
-      sha256 = "1ddr28v44llmfsdf2l3ybgwijhv49dddghdk396nk0sw883a3hs8";
+      rev = "8ffff055e3b68df809fa8a7f9fc9fceed57e7be9";
+      sha256 = "1vdhyn39fn6b7a008w5hsv9ygqcxzcmca9mvbvpaga42bnw2hxc4";
     };
     meta.homepage = "https://github.com/rmagatti/auto-session/";
   };
 
   autoload_cscope-vim = buildVimPluginFrom2Nix {
-    pname = "autoload_cscope-vim";
+    pname = "autoload_cscope.vim";
     version = "2011-01-28";
     src = fetchFromGitHub {
       owner = "vim-scripts";
@@ -257,12 +257,12 @@ final: prev:
 
   awesome-vim-colorschemes = buildVimPluginFrom2Nix {
     pname = "awesome-vim-colorschemes";
-    version = "2021-07-09";
+    version = "2021-08-15";
     src = fetchFromGitHub {
       owner = "rafi";
       repo = "awesome-vim-colorschemes";
-      rev = "dbb29a451bb5441e860e70a35b925e43ab307e3f";
-      sha256 = "1qd9rfbq0b9jj38arv2mwyrlg7vfpia293lbyhxgn3ilsl85m63h";
+      rev = "facbd7269201b1766369be9abc8bfc183938a9ae";
+      sha256 = "11bdzds9qyr56sqwl2c7cy7gll32dd3fzy8bx1b0rg7ylwlyqllf";
     };
     meta.homepage = "https://github.com/rafi/awesome-vim-colorschemes/";
   };
@@ -280,13 +280,13 @@ final: prev:
   };
 
   barbar-nvim = buildVimPluginFrom2Nix {
-    pname = "barbar-nvim";
-    version = "2021-06-12";
+    pname = "barbar.nvim";
+    version = "2021-08-16";
     src = fetchFromGitHub {
       owner = "romgrk";
       repo = "barbar.nvim";
-      rev = "33639e53d0bf69444275ed048c5bfd7e29396634";
-      sha256 = "0zqc4j0nbdhap8a67529n2k4k53xnqxrjsn2a4sdqdwvm207y6r9";
+      rev = "7a19aac3d401c997a6fb7067a7756a4a77184c2e";
+      sha256 = "1jbbnd7s2kql44zv7xkv9hmyj0482yjnm57l8nl0kdf8b61zzi3s";
     };
     meta.homepage = "https://github.com/romgrk/barbar.nvim/";
   };
@@ -304,7 +304,7 @@ final: prev:
   };
 
   bats-vim = buildVimPluginFrom2Nix {
-    pname = "bats-vim";
+    pname = "bats.vim";
     version = "2013-07-03";
     src = fetchFromGitHub {
       owner = "vim-scripts";
@@ -316,7 +316,7 @@ final: prev:
   };
 
   bclose-vim = buildVimPluginFrom2Nix {
-    pname = "bclose-vim";
+    pname = "bclose.vim";
     version = "2018-10-10";
     src = fetchFromGitHub {
       owner = "rbgrouleff";
@@ -328,7 +328,7 @@ final: prev:
   };
 
   BetterLua-vim = buildVimPluginFrom2Nix {
-    pname = "BetterLua-vim";
+    pname = "BetterLua.vim";
     version = "2020-08-14";
     src = fetchFromGitHub {
       owner = "euclidianAce";
@@ -340,13 +340,13 @@ final: prev:
   };
 
   bracey-vim = buildVimPluginFrom2Nix {
-    pname = "bracey-vim";
-    version = "2021-05-11";
+    pname = "bracey.vim";
+    version = "2021-08-20";
     src = fetchFromGitHub {
       owner = "turbio";
       repo = "bracey.vim";
-      rev = "457933c107db65ff7e2695e07209a9a2934544b7";
-      sha256 = "1x8c8l9x4i9n2rlh3a8zha0ni85v04p32w7yciwxp7ddlwzf3lwh";
+      rev = "4e1a22acc01787814819df1057d039d4ecf357eb";
+      sha256 = "05cz8hx2jk3zp1h65j4pfpvdvcff65wp59j7j796ljnjaggj9kh2";
     };
     meta.homepage = "https://github.com/turbio/bracey.vim/";
   };
@@ -363,6 +363,18 @@ final: prev:
     meta.homepage = "https://github.com/fruit-in/brainfuck-vim/";
   };
 
+  bufdelete-nvim = buildVimPluginFrom2Nix {
+    pname = "bufdelete.nvim";
+    version = "2021-09-03";
+    src = fetchFromGitHub {
+      owner = "famiu";
+      repo = "bufdelete.nvim";
+      rev = "d8293811dd8f30e3e88f83c0a46573fddcf46cdb";
+      sha256 = "181dbbkqnpqyjsc8v7h7sfv5r1qnkc00n5s7qv9321l0zrlhhfgb";
+    };
+    meta.homepage = "https://github.com/famiu/bufdelete.nvim/";
+  };
+
   bufexplorer = buildVimPluginFrom2Nix {
     pname = "bufexplorer";
     version = "2021-04-20";
@@ -375,8 +387,20 @@ final: prev:
     meta.homepage = "https://github.com/jlanzarotta/bufexplorer/";
   };
 
+  bufferline-nvim = buildVimPluginFrom2Nix {
+    pname = "bufferline.nvim";
+    version = "2021-09-02";
+    src = fetchFromGitHub {
+      owner = "akinsho";
+      repo = "bufferline.nvim";
+      rev = "bede234e1036ab04dd6c6caf3bd7f9ed1d194c3c";
+      sha256 = "0rmibanlfyny2zb7rlw4zfw3xdhcqap70xr72a9m9frxvgdmgdnr";
+    };
+    meta.homepage = "https://github.com/akinsho/bufferline.nvim/";
+  };
+
   BufOnly-vim = buildVimPluginFrom2Nix {
-    pname = "BufOnly-vim";
+    pname = "BufOnly.vim";
     version = "2010-10-18";
     src = fetchFromGitHub {
       owner = "vim-scripts";
@@ -388,7 +412,7 @@ final: prev:
   };
 
   calendar-vim = buildVimPluginFrom2Nix {
-    pname = "calendar-vim";
+    pname = "calendar.vim";
     version = "2021-01-30";
     src = fetchFromGitHub {
       owner = "itchyny";
@@ -412,31 +436,31 @@ final: prev:
   };
 
   caw-vim = buildVimPluginFrom2Nix {
-    pname = "caw-vim";
-    version = "2021-04-15";
+    pname = "caw.vim";
+    version = "2021-08-21";
     src = fetchFromGitHub {
       owner = "tyru";
       repo = "caw.vim";
-      rev = "42637427b1760f3f3006fafe95fb3e25fedca07b";
-      sha256 = "1xyc50y7cicqwvzqyj0jm3bzqbwcy39v4mdjjx2czlmzzgv8qlqy";
+      rev = "2c0cd18aa113cc255daf4366f1d01a7a25ce0110";
+      sha256 = "1sa7mhqvfgyr3fsdyl9bjb7scw8ii4y9ig4n3qq77lm4k7snzp2v";
     };
     meta.homepage = "https://github.com/tyru/caw.vim/";
   };
 
   chadtree = buildVimPluginFrom2Nix {
     pname = "chadtree";
-    version = "2021-07-21";
+    version = "2021-09-03";
     src = fetchFromGitHub {
       owner = "ms-jpq";
       repo = "chadtree";
-      rev = "f768ee24fd8b8b3ee6751361b9ac09f7c8f381d8";
-      sha256 = "1rdfjz2l2v1hzsp8pfiv0c7kbmf7221a90pak7w7mncaabrzlnxr";
+      rev = "6f443966b9b0da18632dd872aeeffaaf4b254da7";
+      sha256 = "1nvlxx4264xyggpv7xz2nzd0fpnw7bmax3r2pya2km9vk67lkjmw";
     };
     meta.homepage = "https://github.com/ms-jpq/chadtree/";
   };
 
   changeColorScheme-vim = buildVimPluginFrom2Nix {
-    pname = "changeColorScheme-vim";
+    pname = "changeColorScheme.vim";
     version = "2010-10-18";
     src = fetchFromGitHub {
       owner = "vim-scripts";
@@ -461,12 +485,12 @@ final: prev:
 
   ci_dark = buildVimPluginFrom2Nix {
     pname = "ci_dark";
-    version = "2021-06-20";
+    version = "2021-08-21";
     src = fetchFromGitHub {
       owner = "yunlingz";
       repo = "ci_dark";
-      rev = "8ff6b42196ccb1f84b781a8ccb10bc117ad58e88";
-      sha256 = "0ym3sg6vd0jwqq33dx5vfblhf0hjis9zfp0fcsn4iyiq0rf7jphz";
+      rev = "a2fb69aabbe2bbbf1fd08d34c168f2348a4af493";
+      sha256 = "1fd6pk0vl8il42d53rzddlbbk5r4k0gz95bk964pc81z38bmskcw";
     };
     meta.homepage = "https://github.com/yunlingz/ci_dark/";
   };
@@ -483,6 +507,18 @@ final: prev:
     meta.homepage = "https://github.com/xavierd/clang_complete/";
   };
 
+  clever-f-vim = buildVimPluginFrom2Nix {
+    pname = "clever-f.vim";
+    version = "2021-07-07";
+    src = fetchFromGitHub {
+      owner = "rhysd";
+      repo = "clever-f.vim";
+      rev = "fd370f27cca93918184a8043220cef1aa440a1fd";
+      sha256 = "163gd1vv6k9pyzyfjfcqinn7w001ickwdh1ygg6g62h4s98r2ann";
+    };
+    meta.homepage = "https://github.com/rhysd/clever-f.vim/";
+  };
+
   clighter8 = buildVimPluginFrom2Nix {
     pname = "clighter8";
     version = "2018-07-25";
@@ -495,6 +531,114 @@ final: prev:
     meta.homepage = "https://github.com/bbchung/clighter8/";
   };
 
+  cmd-parser-nvim = buildVimPluginFrom2Nix {
+    pname = "cmd-parser.nvim";
+    version = "2021-05-30";
+    src = fetchFromGitHub {
+      owner = "winston0410";
+      repo = "cmd-parser.nvim";
+      rev = "70813af493398217cb1df10950ae8b99c58422db";
+      sha256 = "0rfa8cpykarcal8qcfp1dax1kgcbq7bv1ld6r1ia08n9vnqi5vm6";
+    };
+    meta.homepage = "https://github.com/winston0410/cmd-parser.nvim/";
+  };
+
+  cmp-buffer = buildVimPluginFrom2Nix {
+    pname = "cmp-buffer";
+    version = "2021-09-02";
+    src = fetchFromGitHub {
+      owner = "hrsh7th";
+      repo = "cmp-buffer";
+      rev = "5dde5430757696be4169ad409210cf5088554ed6";
+      sha256 = "0fdywbv4b0z1kjnkx9vxzvc4cvjyp9mnyv4xi14zndwjgf1gmcwl";
+    };
+    meta.homepage = "https://github.com/hrsh7th/cmp-buffer/";
+  };
+
+  cmp-calc = buildVimPluginFrom2Nix {
+    pname = "cmp-calc";
+    version = "2021-08-25";
+    src = fetchFromGitHub {
+      owner = "hrsh7th";
+      repo = "cmp-calc";
+      rev = "cda036bfd147288c107b840e917fdd0a3e18f404";
+      sha256 = "1s2sx9pzafrs0132qh7jym9kppyz9rk2hs3sdnizj62m4d3lwm5l";
+    };
+    meta.homepage = "https://github.com/hrsh7th/cmp-calc/";
+  };
+
+  cmp-emoji = buildVimPluginFrom2Nix {
+    pname = "cmp-emoji";
+    version = "2021-08-25";
+    src = fetchFromGitHub {
+      owner = "hrsh7th";
+      repo = "cmp-emoji";
+      rev = "bbdcc00ecbae3bba18c648a6520d78f354853ce0";
+      sha256 = "0zsda2dhhvqd1968xr6p8ndpai4vhb8xmk08nv038zg9csrqkqac";
+    };
+    meta.homepage = "https://github.com/hrsh7th/cmp-emoji/";
+  };
+
+  cmp-nvim-lsp = buildVimPluginFrom2Nix {
+    pname = "cmp-nvim-lsp";
+    version = "2021-09-03";
+    src = fetchFromGitHub {
+      owner = "hrsh7th";
+      repo = "cmp-nvim-lsp";
+      rev = "f6f471898bc4b45eacd36eef9887847b73130e0e";
+      sha256 = "1asr32w5q618pqggq9jwrbqs4kjp3ssbw5pca5wc7j2496vm2lhg";
+    };
+    meta.homepage = "https://github.com/hrsh7th/cmp-nvim-lsp/";
+  };
+
+  cmp-nvim-lua = buildVimPluginFrom2Nix {
+    pname = "cmp-nvim-lua";
+    version = "2021-08-30";
+    src = fetchFromGitHub {
+      owner = "hrsh7th";
+      repo = "cmp-nvim-lua";
+      rev = "44acf47b28ff77b4b18d69d5b51b03184c87ccdf";
+      sha256 = "053xmzzrw04n8rdxivy222ivqswh5mka1kawl470f7f0b67yfjlp";
+    };
+    meta.homepage = "https://github.com/hrsh7th/cmp-nvim-lua/";
+  };
+
+  cmp-path = buildVimPluginFrom2Nix {
+    pname = "cmp-path";
+    version = "2021-08-25";
+    src = fetchFromGitHub {
+      owner = "hrsh7th";
+      repo = "cmp-path";
+      rev = "48df45154ee644edf1b955d325be60928dd28d47";
+      sha256 = "0c8y3i0p2li0r0jqg4ngw2cfh9jy21832nl9x45yfbwmh6gfw8qd";
+    };
+    meta.homepage = "https://github.com/hrsh7th/cmp-path/";
+  };
+
+  cmp-vsnip = buildVimPluginFrom2Nix {
+    pname = "cmp-vsnip";
+    version = "2021-08-25";
+    src = fetchFromGitHub {
+      owner = "hrsh7th";
+      repo = "cmp-vsnip";
+      rev = "1588c35bf8f637e8f5287477f31895781858f970";
+      sha256 = "0q3z0f7d53cbqidx8qd3z48b46a83l5ay54iw525w22j1kki3aaw";
+    };
+    meta.homepage = "https://github.com/hrsh7th/cmp-vsnip/";
+  };
+
+  cmp_luasnip = buildVimPluginFrom2Nix {
+    pname = "cmp_luasnip";
+    version = "2021-09-02";
+    src = fetchFromGitHub {
+      owner = "saadparwaiz1";
+      repo = "cmp_luasnip";
+      rev = "438632c7996fe633e1b0f60c9089e8e8637f1bb7";
+      sha256 = "14h0d4ni5vahhxbqfa9smzyfcg73kp2iaxxfzhlkx4sq107byry3";
+    };
+    meta.homepage = "https://github.com/saadparwaiz1/cmp_luasnip/";
+  };
+
   coc-clap = buildVimPluginFrom2Nix {
     pname = "coc-clap";
     version = "2021-05-10";
@@ -521,24 +665,24 @@ final: prev:
 
   coc-fzf = buildVimPluginFrom2Nix {
     pname = "coc-fzf";
-    version = "2021-06-26";
+    version = "2021-08-03";
     src = fetchFromGitHub {
       owner = "antoinemadec";
       repo = "coc-fzf";
-      rev = "5b133aaa8c15f1c6fa831713892efd87189b0637";
-      sha256 = "18cb39d113z8yxriidc0dmkkkzpp6x5hl414n5fcqwhjk5h514rn";
+      rev = "415535475c43fedb8bccd72fbcc00bb850113eb7";
+      sha256 = "02blpv258ibzk2bz1bjcjcqiab9lb6ilhclj5s1abwblvn713i47";
     };
     meta.homepage = "https://github.com/antoinemadec/coc-fzf/";
   };
 
   coc-lua = buildVimPluginFrom2Nix {
     pname = "coc-lua";
-    version = "2021-07-20";
+    version = "2021-08-24";
     src = fetchFromGitHub {
       owner = "josa42";
       repo = "coc-lua";
-      rev = "d3ddb34d124c2fce9afa56342e67732a267d6b42";
-      sha256 = "1px4fny0m272jl4vvhhv317j4wh5kfb89rdlrrpqwg8dl2si24rq";
+      rev = "94583be510649b80de60a9263095fbbbbfee06e6";
+      sha256 = "1qjwks027hlbv637cbkimp5f9957rg73my1zfhq8d7a0r4gzv643";
     };
     meta.homepage = "https://github.com/josa42/coc-lua/";
   };
@@ -568,19 +712,19 @@ final: prev:
   };
 
   coc-nvim = buildVimPluginFrom2Nix {
-    pname = "coc-nvim";
-    version = "2021-07-20";
+    pname = "coc.nvim";
+    version = "2021-08-23";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc.nvim";
-      rev = "576f3c972aa9c4458d3dbac2794bd8643ae16e4a";
-      sha256 = "09cndvz8dcasn35bclhqc4i72dw93sczivvfi0zw9ncgsdl22r6g";
+      rev = "595e60210f7d0c9e5a21672428bae8c3f518a3b9";
+      sha256 = "0mdqb07avwk2f5h5xylq2lkg56jk82dccyrxb17cxfw2dsgbs93m";
     };
     meta.homepage = "https://github.com/neoclide/coc.nvim/";
   };
 
   codi-vim = buildVimPluginFrom2Nix {
-    pname = "codi-vim";
+    pname = "codi.vim";
     version = "2021-01-11";
     src = fetchFromGitHub {
       owner = "metakirby5";
@@ -592,7 +736,7 @@ final: prev:
   };
 
   colorbuddy-nvim = buildVimPluginFrom2Nix {
-    pname = "colorbuddy-nvim";
+    pname = "colorbuddy.nvim";
     version = "2021-04-16";
     src = fetchFromGitHub {
       owner = "tjdevries";
@@ -641,7 +785,7 @@ final: prev:
   };
 
   committia-vim = buildVimPluginFrom2Nix {
-    pname = "committia-vim";
+    pname = "committia.vim";
     version = "2020-08-27";
     src = fetchFromGitHub {
       owner = "rhysd";
@@ -678,24 +822,24 @@ final: prev:
 
   compe-tabnine = buildVimPluginFrom2Nix {
     pname = "compe-tabnine";
-    version = "2021-07-07";
+    version = "2021-08-11";
     src = fetchFromGitHub {
       owner = "tzachar";
       repo = "compe-tabnine";
-      rev = "a4d7b60dc538b724c4bc7df50687a879bcf764c7";
-      sha256 = "1lhy2m4awni2pmz9b7b1hkjmaaf4napgihykqwhm9rshsb0xzgvx";
+      rev = "4e3dc7b9950e0e5dbfb9451622de670cf62875ac";
+      sha256 = "0nb0jsr65q4497mbikc9fm2vkf2dq64ahxf60lv4rzm2irr3azdj";
     };
     meta.homepage = "https://github.com/tzachar/compe-tabnine/";
   };
 
   compe-tmux = buildVimPluginFrom2Nix {
     pname = "compe-tmux";
-    version = "2021-07-19";
+    version = "2021-08-24";
     src = fetchFromGitHub {
       owner = "andersevenrud";
       repo = "compe-tmux";
-      rev = "82d2139de0279a20a70da61320042adf31b94798";
-      sha256 = "06dyrknc6gap8ybsjai4ndr4cdhzkwz1hnxilz9ffcbplzwldhs5";
+      rev = "881b5255e12fef6c28e1039f4afeb77626205b24";
+      sha256 = "1l2bvjhwi2s33cp6m58gvi9k2hpg3sdv9048ah8xk0rjd7kb2adn";
     };
     meta.homepage = "https://github.com/andersevenrud/compe-tmux/";
   };
@@ -726,12 +870,12 @@ final: prev:
 
   completion-nvim = buildVimPluginFrom2Nix {
     pname = "completion-nvim";
-    version = "2021-07-03";
+    version = "2021-08-02";
     src = fetchFromGitHub {
       owner = "nvim-lua";
       repo = "completion-nvim";
-      rev = "22624f0aa5d1fdd0c84456300d2390b223c1a226";
-      sha256 = "133zmiblkh145abrv9xagzq3qw504g1nvm5v1vmxhxsa7rilr376";
+      rev = "139fb6cfbd9f7384a5489d3e4afdacb8ed977ab0";
+      sha256 = "1641gx74mqbsp42m6z695l8xlr56b79vklghjdxywi35xbz4yq22";
     };
     meta.homepage = "https://github.com/nvim-lua/completion-nvim/";
   };
@@ -761,7 +905,7 @@ final: prev:
   };
 
   concealedyank-vim = buildVimPluginFrom2Nix {
-    pname = "concealedyank-vim";
+    pname = "concealedyank.vim";
     version = "2013-03-24";
     src = fetchFromGitHub {
       owner = "chikatoike";
@@ -773,7 +917,7 @@ final: prev:
   };
 
   conflict-marker-vim = buildVimPluginFrom2Nix {
-    pname = "conflict-marker-vim";
+    pname = "conflict-marker.vim";
     version = "2020-09-23";
     src = fetchFromGitHub {
       owner = "rhysd";
@@ -786,30 +930,30 @@ final: prev:
 
   conjure = buildVimPluginFrom2Nix {
     pname = "conjure";
-    version = "2021-07-19";
+    version = "2021-09-01";
     src = fetchFromGitHub {
       owner = "Olical";
       repo = "conjure";
-      rev = "c651b5af9e30b9d88290ca30b0374b064e1a278d";
-      sha256 = "1qycvbkr6axl5vcwwf5m6svag511p97h2xzcbh68arqa1kqx208l";
+      rev = "20f5a76ae5da98e57be120974fb26f360d26972c";
+      sha256 = "1qh8d1cakjsnfpvmhkscm697jay8fjw0mi2djn09qpvcgy6xh5jy";
     };
     meta.homepage = "https://github.com/Olical/conjure/";
   };
 
   context_filetype-vim = buildVimPluginFrom2Nix {
-    pname = "context_filetype-vim";
-    version = "2021-06-05";
+    pname = "context_filetype.vim";
+    version = "2021-08-08";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "context_filetype.vim";
-      rev = "eca5b28dca1bace3b5694eb20b3ab244f65180e0";
-      sha256 = "0n0av5x6js5ld4xnlq5nh18cdwhvrljdsx17gq2sf54q342hlwp0";
+      rev = "28768168261bca161c3f2599e0ed63c96aab6dea";
+      sha256 = "1kyfl4xcx9brsnmqb19ibc2sai5zdrjd1vv7zn63halm2imdv2sj";
     };
     meta.homepage = "https://github.com/Shougo/context_filetype.vim/";
   };
 
   coq-vim = buildVimPluginFrom2Nix {
-    pname = "coq-vim";
+    pname = "coq.vim";
     version = "2013-01-16";
     src = fetchFromGitHub {
       owner = "jvoorhis";
@@ -822,18 +966,18 @@ final: prev:
 
   Coqtail = buildVimPluginFrom2Nix {
     pname = "Coqtail";
-    version = "2021-07-21";
+    version = "2021-08-29";
     src = fetchFromGitHub {
       owner = "whonore";
       repo = "Coqtail";
-      rev = "2cad943df739c1fcf4d923854ae642fde38b477f";
-      sha256 = "1j761zpa41p9hmh4bxapaqjvxx9d3nhcf2bifsibcjghcxblj1xb";
+      rev = "13147545ffe61def7d3bb1123c5c843715e9565c";
+      sha256 = "0jr6c0s7g54ra8w5r5b8j6hx16ch7cg9rj60jakbqfc1qdi5y9jm";
     };
     meta.homepage = "https://github.com/whonore/Coqtail/";
   };
 
   cosco-vim = buildVimPluginFrom2Nix {
-    pname = "cosco-vim";
+    pname = "cosco.vim";
     version = "2018-08-07";
     src = fetchFromGitHub {
       owner = "lfilho";
@@ -846,12 +990,12 @@ final: prev:
 
   cpsm = buildVimPluginFrom2Nix {
     pname = "cpsm";
-    version = "2020-08-01";
+    version = "2021-07-25";
     src = fetchFromGitHub {
       owner = "nixprime";
       repo = "cpsm";
-      rev = "42cfb0f83083b33640619c208341629bff67bd8a";
-      sha256 = "0wcq442wj73ra0agflljjkhcwlma7r703l7l9hn7zd8wfb4iv48s";
+      rev = "814961aef3eba4412e5e63342575c46f87eaead4";
+      sha256 = "13qp6qaghaw355wjwmmd8d7cakb3ry9ijpnz06mj8yza50w7p3fx";
     };
     meta.homepage = "https://github.com/nixprime/cpsm/";
   };
@@ -869,7 +1013,7 @@ final: prev:
   };
 
   csv-vim = buildVimPluginFrom2Nix {
-    pname = "csv-vim";
+    pname = "csv.vim";
     version = "2021-06-29";
     src = fetchFromGitHub {
       owner = "chrisbra";
@@ -917,7 +1061,7 @@ final: prev:
   };
 
   ctrlp-vim = buildVimPluginFrom2Nix {
-    pname = "ctrlp-vim";
+    pname = "ctrlp.vim";
     version = "2021-04-18";
     src = fetchFromGitHub {
       owner = "ctrlpvim";
@@ -930,12 +1074,12 @@ final: prev:
 
   dart-vim-plugin = buildVimPluginFrom2Nix {
     pname = "dart-vim-plugin";
-    version = "2021-04-05";
+    version = "2021-08-17";
     src = fetchFromGitHub {
       owner = "dart-lang";
       repo = "dart-vim-plugin";
-      rev = "d874c13dca7300178546de62e1aff7d4812640c7";
-      sha256 = "1i1w9mwmrl6cds83mai1xyqrqmzbgal2whw653g54sz1gvnhab7s";
+      rev = "08764627ce85fc0c0bf9d8fd11b3cf5fc05d58ba";
+      sha256 = "0fqjgnpc6zajqr4pd3hf73fg0cjx7cnkhz6cjdf5mvjwllgv92gp";
     };
     meta.homepage = "https://github.com/dart-lang/dart-vim-plugin/";
   };
@@ -966,24 +1110,24 @@ final: prev:
 
   defx-icons = buildVimPluginFrom2Nix {
     pname = "defx-icons";
-    version = "2021-03-07";
+    version = "2021-08-21";
     src = fetchFromGitHub {
       owner = "kristijanhusak";
       repo = "defx-icons";
-      rev = "563bc2d07d6c369a293ea8cb2fad8afd38bf4a02";
-      sha256 = "0gp65vf7lb00k4pk9iyr2zm6q3lfz16ad70hh3ldnj2azdfz539m";
+      rev = "82c3eb13bed83453d2361a72d4af7b52a74b2b93";
+      sha256 = "0gvrk7spf1fkyvldcrs03d50sck9gbhn52mk0d19awxylf765ygz";
     };
     meta.homepage = "https://github.com/kristijanhusak/defx-icons/";
   };
 
   defx-nvim = buildVimPluginFrom2Nix {
-    pname = "defx-nvim";
-    version = "2021-07-15";
+    pname = "defx.nvim";
+    version = "2021-08-18";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "defx.nvim";
-      rev = "6ccd2d35581f5c497b2fe3e6a9ecbbb494210d6e";
-      sha256 = "0fg8gv38xvsv7y739m1wix5a384zjn0hqnmkqiz244jxii1l0p8y";
+      rev = "7e506d4b8cea834ef7e61a1f694540c5da418a25";
+      sha256 = "16lg72l4zixhmd7pf8aliw3gwz2m25z90h8phmjj3d93w2g4q8zd";
     };
     meta.homepage = "https://github.com/Shougo/defx.nvim/";
   };
@@ -1025,25 +1169,25 @@ final: prev:
   };
 
   denite-nvim = buildVimPluginFrom2Nix {
-    pname = "denite-nvim";
-    version = "2021-07-13";
+    pname = "denite.nvim";
+    version = "2021-08-28";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "denite.nvim";
-      rev = "29ece0ca76408c191e3c5ed997b239efb4b38f58";
-      sha256 = "02s43lyqb17066wjjcl29vyky76svzaddclh1q6jh2awhixpsqx2";
+      rev = "6260889ce501ea6f09967e23295bc2adf5cc480f";
+      sha256 = "1akps9sxcyi9q07mg0vrn4fqhanmzx82npbillq0qbv8y41s75f5";
     };
     meta.homepage = "https://github.com/Shougo/denite.nvim/";
   };
 
   deol-nvim = buildVimPluginFrom2Nix {
-    pname = "deol-nvim";
-    version = "2021-07-13";
+    pname = "deol.nvim";
+    version = "2021-08-26";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "deol.nvim";
-      rev = "df506505ab2de577b35271a2b222042000a30381";
-      sha256 = "0hqfbbcq4bnc48bknd7lfm41djq6977s18j14kyanp9gm7851sis";
+      rev = "355ae1f71be51faacd40a38e1046f1b1edef5788";
+      sha256 = "1zwmhcjd5ygd3qq7jcb5yvprv081azwmp4x2cg3ijlazgh610ssa";
     };
     meta.homepage = "https://github.com/Shougo/deol.nvim/";
   };
@@ -1267,19 +1411,19 @@ final: prev:
   };
 
   deoplete-nvim = buildVimPluginFrom2Nix {
-    pname = "deoplete-nvim";
-    version = "2021-07-14";
+    pname = "deoplete.nvim";
+    version = "2021-09-02";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "deoplete.nvim";
-      rev = "49151bc9f7a52b02e5aac5eb76bbb80ba81e3726";
-      sha256 = "02csaq7x99l5h175kyy0bwdb8kdq3caldj6gkpc7lx7zdc987pwn";
+      rev = "18788fc822abd1ac1ffc1a8189afbfae15d06cf9";
+      sha256 = "1w962pwfzfn7j1y8lbdkbsv64cb6l9iyaazpdlvgqwvl2hvi6cwz";
     };
     meta.homepage = "https://github.com/Shougo/deoplete.nvim/";
   };
 
   devdocs-vim = buildVimPluginFrom2Nix {
-    pname = "devdocs-vim";
+    pname = "devdocs.vim";
     version = "2018-08-27";
     src = fetchFromGitHub {
       owner = "rhysd";
@@ -1315,19 +1459,19 @@ final: prev:
   };
 
   diffview-nvim = buildVimPluginFrom2Nix {
-    pname = "diffview-nvim";
-    version = "2021-07-19";
+    pname = "diffview.nvim";
+    version = "2021-09-03";
     src = fetchFromGitHub {
       owner = "sindrets";
       repo = "diffview.nvim";
-      rev = "63d7052686732a910b7355761193fdb55a521cd3";
-      sha256 = "13r743m9x2mbi0qvfgv8vqfjgxnrmvic09ps484m39bxsbdywzvv";
+      rev = "7c392177dc40b333dcee939fded1c5b2f3466def";
+      sha256 = "07zxdwh6c5qkazg9vm9rr7xw1n5c1i3nxsfbifvnl2qgvkb5wyxc";
     };
     meta.homepage = "https://github.com/sindrets/diffview.nvim/";
   };
 
   direnv-vim = buildVimPluginFrom2Nix {
-    pname = "direnv-vim";
+    pname = "direnv.vim";
     version = "2020-11-20";
     src = fetchFromGitHub {
       owner = "direnv";
@@ -1340,18 +1484,18 @@ final: prev:
 
   doki-theme-vim = buildVimPluginFrom2Nix {
     pname = "doki-theme-vim";
-    version = "2021-07-07";
+    version = "2021-08-12";
     src = fetchFromGitHub {
       owner = "doki-theme";
       repo = "doki-theme-vim";
-      rev = "570577ba3f47baebd9e9019916971bee60e2c2e4";
-      sha256 = "05y3dd2w518jcpgbmj83hv8knm92xnagzbv9hknhbs99bgghmp0h";
+      rev = "78502433a41589ead80c834f9e61d7a17f97b844";
+      sha256 = "1gfxq9sfld0vx320q15r8xk6kwxxbl7jla3ykr6wd167bnr1z7q0";
     };
     meta.homepage = "https://github.com/doki-theme/doki-theme-vim/";
   };
 
   DoxygenToolkit-vim = buildVimPluginFrom2Nix {
-    pname = "DoxygenToolkit-vim";
+    pname = "DoxygenToolkit.vim";
     version = "2010-11-06";
     src = fetchFromGitHub {
       owner = "vim-scripts";
@@ -1364,53 +1508,65 @@ final: prev:
 
   dracula-vim = buildVimPluginFrom2Nix {
     pname = "dracula-vim";
-    version = "2021-06-04";
+    version = "2021-08-22";
     src = fetchFromGitHub {
       owner = "dracula";
       repo = "vim";
-      rev = "869f70a7603b77cdb2f63983dd286f3f61b7a966";
-      sha256 = "031c000nr2raw0v6bdnisczjz20y5iw0yapj8wih0nc703dirhih";
+      rev = "d1ff992bf605c098577b7f0e632e3ea887b71520";
+      sha256 = "04zmqz270willnpfsf61pa9xx5i5phx1g6r6nw317r9rs0dnk0wj";
     };
     meta.homepage = "https://github.com/dracula/vim/";
   };
 
   echodoc-vim = buildVimPluginFrom2Nix {
-    pname = "echodoc-vim";
-    version = "2021-07-09";
+    pname = "echodoc.vim";
+    version = "2021-08-12";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "echodoc.vim";
-      rev = "9288bef70cda903edc2561c7612fe2d6a3c73aa5";
-      sha256 = "1s6glmc489dfz750d3xikwxm84qqa89qza1jp3vfj7jn47h1r826";
+      rev = "3e907e05d0495f999149f50a1e6cd72972ee7cbe";
+      sha256 = "0bdiz108l4aa5ma49lbmmp8ks8n17i6wzjsawd94rgsyl3j4j3ri";
     };
     meta.homepage = "https://github.com/Shougo/echodoc.vim/";
   };
 
   edge = buildVimPluginFrom2Nix {
     pname = "edge";
-    version = "2021-07-19";
+    version = "2021-09-03";
     src = fetchFromGitHub {
       owner = "sainnhe";
       repo = "edge";
-      rev = "8785d0c2737b6354c847a2ac2cd327a16e2087f2";
-      sha256 = "0nhf9vnsba7gm1yxnbj8lqd9d1ihdgpqrlyihlc815ayqzzs3h9b";
+      rev = "9653ebf5bf63c4ea31c3b6cf758d6253c672a838";
+      sha256 = "0qmpk36brpwl8wi7jw3sv3mvlrrzlww1kn5sa669g3sbdjkk7zpj";
     };
     meta.homepage = "https://github.com/sainnhe/edge/";
   };
 
   editorconfig-vim = buildVimPluginFrom2Nix {
     pname = "editorconfig-vim";
-    version = "2021-07-20";
+    version = "2021-07-25";
     src = fetchFromGitHub {
       owner = "editorconfig";
       repo = "editorconfig-vim";
-      rev = "1c4f781f2439469e5342217131886260c9445fc6";
-      sha256 = "0m39if0n4kijqzxk91r1a1fnyhr2p4b9nx1yzvwzkj21snysi4w8";
+      rev = "3078cd10b28904e57d878c0d0dab42aa0a9fdc89";
+      sha256 = "1zjwhg3g56skqi9lndjhn9fh8hr478yvns8xz9xpnzcgzdaqbi1w";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/editorconfig/editorconfig-vim/";
   };
 
+  editorconfig-nvim = buildVimPluginFrom2Nix {
+    pname = "editorconfig.nvim";
+    version = "2021-09-02";
+    src = fetchFromGitHub {
+      owner = "gpanders";
+      repo = "editorconfig.nvim";
+      rev = "d9df2225615071bec85e5956a146ae0fabc960f6";
+      sha256 = "02jjzmgjcaqvgnfnc81xnqfsgfnyyv9mv1xjz6s4vm823gmhi2li";
+    };
+    meta.homepage = "https://github.com/gpanders/editorconfig.nvim/";
+  };
+
   elm-vim = buildVimPluginFrom2Nix {
     pname = "elm-vim";
     version = "2020-09-23";
@@ -1424,7 +1580,7 @@ final: prev:
   };
 
   elvish-vim = buildVimPluginFrom2Nix {
-    pname = "elvish-vim";
+    pname = "elvish.vim";
     version = "2019-06-29";
     src = fetchFromGitHub {
       owner = "dmix";
@@ -1437,12 +1593,12 @@ final: prev:
 
   embark-vim = buildVimPluginFrom2Nix {
     pname = "embark-vim";
-    version = "2021-04-25";
+    version = "2021-07-24";
     src = fetchFromGitHub {
       owner = "embark-theme";
       repo = "vim";
-      rev = "95847fbae47aa5d49b6470568b8151a93e15307a";
-      sha256 = "06qvnbhwm2gl8921hyq75dwxxfbkwfvvsn4pci89831qn6w3pa6f";
+      rev = "03029f4ec49cd0dd1d16eb9561742f5c9f794e71";
+      sha256 = "14gnndh40h8qlymsb9lkycn4w7jv8f7kk0yjxi4wzjvycg7mrplx";
     };
     meta.homepage = "https://github.com/embark-theme/vim/";
   };
@@ -1486,18 +1642,18 @@ final: prev:
 
   falcon = buildVimPluginFrom2Nix {
     pname = "falcon";
-    version = "2021-07-14";
+    version = "2021-07-23";
     src = fetchFromGitHub {
       owner = "fenetikm";
       repo = "falcon";
-      rev = "0a67fda0cb7908a43ea4d3c7b8d3d413e305c2be";
-      sha256 = "1yjdj6n74z34lq7aayxnngkvyrcpgii9mh92l50jyq22mbqng4hj";
+      rev = "f734d08b7d8c59be372f0364cbdbb2e3b8884574";
+      sha256 = "1gfswql15fpndxmkqgw5l3c15kpv2892bhmcc8hg3wwi6d8c8g3i";
     };
     meta.homepage = "https://github.com/fenetikm/falcon/";
   };
 
   far-vim = buildVimPluginFrom2Nix {
-    pname = "far-vim";
+    pname = "far.vim";
     version = "2021-02-19";
     src = fetchFromGitHub {
       owner = "brooth";
@@ -1510,30 +1666,42 @@ final: prev:
 
   fastfold = buildVimPluginFrom2Nix {
     pname = "fastfold";
-    version = "2020-03-23";
+    version = "2021-08-14";
     src = fetchFromGitHub {
       owner = "konfekt";
       repo = "fastfold";
-      rev = "5872cbe9d921eb3ec79dce14a1f492f44c1cbaaf";
-      sha256 = "07mls0yczg2cmia2jn0s2rvgwl07yxlm4hyvjd941p1knvn88x8q";
+      rev = "20126c1646f96da862af7cbec45ca0fe0a930703";
+      sha256 = "12hqr9glh6wpjmacb2ib4phf29icwj9pxccmcap79w9w5p6zy2yn";
     };
     meta.homepage = "https://github.com/konfekt/fastfold/";
   };
 
+  fcitx-vim = buildVimPluginFrom2Nix {
+    pname = "fcitx.vim";
+    version = "2021-08-20";
+    src = fetchFromGitHub {
+      owner = "lilydjwg";
+      repo = "fcitx.vim";
+      rev = "3554b279a09f0edf31129ad162613e5954097fd0";
+      sha256 = "1bhjylsw6b44nhmsiy0xvligrdnh9gnz27cwriqxp7lfv5pcz0ch";
+    };
+    meta.homepage = "https://github.com/lilydjwg/fcitx.vim/";
+  };
+
   feline-nvim = buildVimPluginFrom2Nix {
-    pname = "feline-nvim";
-    version = "2021-07-11";
+    pname = "feline.nvim";
+    version = "2021-09-03";
     src = fetchFromGitHub {
       owner = "famiu";
       repo = "feline.nvim";
-      rev = "4c04c967691d028b4056f726735db329039cdff2";
-      sha256 = "18z9dl58mfmffysr8g5drd6iy79fwn463lagp629cdghrjxcq65c";
+      rev = "0961775c8dd84fafcd7a9d92e8a95657385ff847";
+      sha256 = "0bpyqg344cldx1587bpy5zay2y986b34s1zyjy2nasri95jzkvwp";
     };
     meta.homepage = "https://github.com/famiu/feline.nvim/";
   };
 
   fennel-vim = buildVimPluginFrom2Nix {
-    pname = "fennel-vim";
+    pname = "fennel.vim";
     version = "2020-11-15";
     src = fetchFromGitHub {
       owner = "bakpakin";
@@ -1545,25 +1713,25 @@ final: prev:
   };
 
   fern-vim = buildVimPluginFrom2Nix {
-    pname = "fern-vim";
-    version = "2021-07-03";
+    pname = "fern.vim";
+    version = "2021-08-08";
     src = fetchFromGitHub {
       owner = "lambdalisue";
       repo = "fern.vim";
-      rev = "1b234d8ec0ffadf7fe3f4ddba13480dd4adeb7c7";
-      sha256 = "1prl720r82mp89jfciw50pd2cygp97v46w7vq30b1m4v3016lh15";
+      rev = "ed2e422f047eb2cc8afcfecea9464984cfa801a0";
+      sha256 = "0jr632pd274xhyji7b1l195i8avf20v4d9g8r4w1ryskirj1k3ry";
     };
     meta.homepage = "https://github.com/lambdalisue/fern.vim/";
   };
 
   ferret = buildVimPluginFrom2Nix {
     pname = "ferret";
-    version = "2021-07-09";
+    version = "2021-08-06";
     src = fetchFromGitHub {
       owner = "wincent";
       repo = "ferret";
-      rev = "14d883975b2f1d50bbf7a6f74a04f39e59c0b06c";
-      sha256 = "1hnn3x37iphbaam3h5kz0l6y09v2xr79p1nkhs10m939vxavg62k";
+      rev = "a513036f28d9ef1092d95ba7f183b3966a070194";
+      sha256 = "117ifszvd2f6h86ialqnm10j14bhhcyn4pjl0289zsyf2fk4kksn";
     };
     meta.homepage = "https://github.com/wincent/ferret/";
   };
@@ -1581,7 +1749,7 @@ final: prev:
   };
 
   FixCursorHold-nvim = buildVimPluginFrom2Nix {
-    pname = "FixCursorHold-nvim";
+    pname = "FixCursorHold.nvim";
     version = "2021-04-16";
     src = fetchFromGitHub {
       owner = "antoinemadec";
@@ -1606,7 +1774,7 @@ final: prev:
   };
 
   float-preview-nvim = buildVimPluginFrom2Nix {
-    pname = "float-preview-nvim";
+    pname = "float-preview.nvim";
     version = "2020-11-03";
     src = fetchFromGitHub {
       owner = "ncm2";
@@ -1618,7 +1786,7 @@ final: prev:
   };
 
   floating-nvim = buildVimPluginFrom2Nix {
-    pname = "floating-nvim";
+    pname = "floating.nvim";
     version = "2021-07-19";
     src = fetchFromGitHub {
       owner = "fhill2";
@@ -1642,13 +1810,13 @@ final: prev:
   };
 
   formatter-nvim = buildVimPluginFrom2Nix {
-    pname = "formatter-nvim";
-    version = "2021-07-15";
+    pname = "formatter.nvim";
+    version = "2021-08-27";
     src = fetchFromGitHub {
       owner = "mhartington";
       repo = "formatter.nvim";
-      rev = "9efa18bc9552a8b2a00644f79d41f279be322e45";
-      sha256 = "0hfq580ng3wlzkc9g44pz1ciwa9ax46ylka3s3y4v79szhviykby";
+      rev = "c80405aca78fda2f8da586d7d087c13fdd500d85";
+      sha256 = "07s7yw0l9xbf55x67yqcxi5r1y9nj5pjx69rl38jffw1l6lnnbgj";
     };
     meta.homepage = "https://github.com/mhartington/formatter.nvim/";
   };
@@ -1667,12 +1835,12 @@ final: prev:
 
   friendly-snippets = buildVimPluginFrom2Nix {
     pname = "friendly-snippets";
-    version = "2021-07-08";
+    version = "2021-08-29";
     src = fetchFromGitHub {
       owner = "rafamadriz";
       repo = "friendly-snippets";
-      rev = "f3ca66b6a2a42eb01ffc255ac03039177b888951";
-      sha256 = "08wzq5i86wxdyhl2yrl9ggfhng92pfx5d7rhmxfcm4abnnl9sj07";
+      rev = "53c823f92f159107efa238ad1a5837f63ecb4c2b";
+      sha256 = "0sb8l0f7wzbhyr0aq5kjmn4c4llhi49ka9brhwkn24rhkizyyl51";
     };
     meta.homepage = "https://github.com/rafamadriz/friendly-snippets/";
   };
@@ -1690,43 +1858,43 @@ final: prev:
   };
 
   fugitive-gitlab-vim = buildVimPluginFrom2Nix {
-    pname = "fugitive-gitlab-vim";
-    version = "2019-10-24";
+    pname = "fugitive-gitlab.vim";
+    version = "2021-09-02";
     src = fetchFromGitHub {
       owner = "shumphrey";
       repo = "fugitive-gitlab.vim";
-      rev = "f3e56ff60fe3fb5ebc891cbe5fd12cd8c59ae6ef";
-      sha256 = "0cx3zd7f09prxjfrj201139j00wsw66fx5crw6dhblf4z6mfpgnx";
+      rev = "ad4e00264c25bcb7dc6f400b2a409d2fce194907";
+      sha256 = "0vqm6nv7nr8mis1nljxiqx4g5w3wp0g2pcc4ly9x7jidicgm7awi";
     };
     meta.homepage = "https://github.com/shumphrey/fugitive-gitlab.vim/";
   };
 
   fwatch-nvim = buildVimPluginFrom2Nix {
-    pname = "fwatch-nvim";
-    version = "2021-04-26";
+    pname = "fwatch.nvim";
+    version = "2021-07-25";
     src = fetchFromGitHub {
       owner = "rktjmp";
       repo = "fwatch.nvim";
-      rev = "5fd6bff00d7fa432cdc847819563dad90bcf649d";
-      sha256 = "1jc3kv0w3767593p9capif3p0msf8ac5xal170757ghfiy2jhsp9";
+      rev = "83600d71e7d7dd73194375adcea938789a41249a";
+      sha256 = "1kqmyqzx4g45dayhbbck4bavfdr2y41lwjdv5z4bwd9hqys7s4rz";
     };
     meta.homepage = "https://github.com/rktjmp/fwatch.nvim/";
   };
 
   fzf-checkout-vim = buildVimPluginFrom2Nix {
-    name = "fzf-checkout.vim";
-    version = "2021-07-21";
+    pname = "fzf-checkout.vim";
+    version = "2021-06-25";
     src = fetchFromGitHub {
       owner = "stsewd";
       repo = "fzf-checkout.vim";
       rev = "4d5ecae74460de8fed4f743f6bd53c4c31d32797";
       sha256 = "0mia7p2z8l3lrid0v8ml4i8y190gh4ll9898yyg4gcghhxp83zpm";
     };
-    meta.homepage = "https://github.com/stsewd/fzf-checkout.vim";
+    meta.homepage = "https://github.com/stsewd/fzf-checkout.vim/";
   };
 
   fzf-lsp-nvim = buildVimPluginFrom2Nix {
-    pname = "fzf-lsp-nvim";
+    pname = "fzf-lsp.nvim";
     version = "2021-06-20";
     src = fetchFromGitHub {
       owner = "gfanto";
@@ -1738,19 +1906,19 @@ final: prev:
   };
 
   fzf-vim = buildVimPluginFrom2Nix {
-    pname = "fzf-vim";
-    version = "2021-05-25";
+    pname = "fzf.vim";
+    version = "2021-09-02";
     src = fetchFromGitHub {
       owner = "junegunn";
       repo = "fzf.vim";
-      rev = "e34f6c129d39b90db44df1107c8b7dfacfd18946";
-      sha256 = "0rn0b48zxf46ak0a2dwbx4aas0fjiywhch0viffzhj5b61lvy218";
+      rev = "980cd074395110964b66bfbc5c1f1ee237be3c86";
+      sha256 = "0wpih3xcyr6nnmpqfikp47ay2pmxp1lr0fp7fxwql8sfjc29i76r";
     };
     meta.homepage = "https://github.com/junegunn/fzf.vim/";
   };
 
   galaxyline-nvim = buildVimPluginFrom2Nix {
-    pname = "galaxyline-nvim";
+    pname = "galaxyline.nvim";
     version = "2021-04-25";
     src = fetchFromGitHub {
       owner = "glepnir";
@@ -1762,7 +1930,7 @@ final: prev:
   };
 
   gen_tags-vim = buildVimPluginFrom2Nix {
-    pname = "gen_tags-vim";
+    pname = "gen_tags.vim";
     version = "2020-10-12";
     src = fetchFromGitHub {
       owner = "jsfaint";
@@ -1775,12 +1943,12 @@ final: prev:
 
   gentoo-syntax = buildVimPluginFrom2Nix {
     pname = "gentoo-syntax";
-    version = "2021-07-16";
+    version = "2021-09-01";
     src = fetchFromGitHub {
       owner = "gentoo";
       repo = "gentoo-syntax";
-      rev = "14aec3bde121c797f9131da0d4b18a932598bb8f";
-      sha256 = "1mcn4dhwjay5c0y650y2rxz9acxwfsninwrvp20ssgi4gcw2vg76";
+      rev = "07f6f93065ffc2aa6fe398eebbf31013a092701b";
+      sha256 = "0g4cdx2n5l0fmfdv09h2kg96z04s7lyigi6f0xbp1axc2b8zxrzp";
     };
     meta.homepage = "https://github.com/gentoo/gentoo-syntax/";
   };
@@ -1810,7 +1978,7 @@ final: prev:
   };
 
   gina-vim = buildVimPluginFrom2Nix {
-    pname = "gina-vim";
+    pname = "gina.vim";
     version = "2021-06-12";
     src = fetchFromGitHub {
       owner = "lambdalisue";
@@ -1822,7 +1990,7 @@ final: prev:
   };
 
   git-blame-nvim = buildVimPluginFrom2Nix {
-    pname = "git-blame-nvim";
+    pname = "git-blame.nvim";
     version = "2021-06-14";
     src = fetchFromGitHub {
       owner = "f-person";
@@ -1834,7 +2002,7 @@ final: prev:
   };
 
   git-messenger-vim = buildVimPluginFrom2Nix {
-    pname = "git-messenger-vim";
+    pname = "git-messenger.vim";
     version = "2021-06-06";
     src = fetchFromGitHub {
       owner = "rhysd";
@@ -1846,19 +2014,19 @@ final: prev:
   };
 
   git-worktree-nvim = buildVimPluginFrom2Nix {
-    pname = "git-worktree-nvim";
-    version = "2021-07-15";
+    pname = "git-worktree.nvim";
+    version = "2021-08-24";
     src = fetchFromGitHub {
       owner = "ThePrimeagen";
       repo = "git-worktree.nvim";
-      rev = "97adf37032c213201c823e98b0555f7279525d62";
-      sha256 = "0vca7pyipch3y3g19sfwqx33l8jh3h7r9wv3hlfw960iyqc2xia7";
+      rev = "e562d8a3baa6c96d148944592a2d7c88f48927f2";
+      sha256 = "1c78pjycvnkq28ar7bp0xiadyd3jml596hsw0fsxvbdwba4a7ikk";
     };
     meta.homepage = "https://github.com/ThePrimeagen/git-worktree.nvim/";
   };
 
   gitignore-vim = buildVimPluginFrom2Nix {
-    pname = "gitignore-vim";
+    pname = "gitignore.vim";
     version = "2014-03-16";
     src = fetchFromGitHub {
       owner = "vim-scripts";
@@ -1869,14 +2037,26 @@ final: prev:
     meta.homepage = "https://github.com/vim-scripts/gitignore.vim/";
   };
 
+  gitlinker-nvim = buildVimPluginFrom2Nix {
+    pname = "gitlinker.nvim";
+    version = "2021-07-15";
+    src = fetchFromGitHub {
+      owner = "ruifm";
+      repo = "gitlinker.nvim";
+      rev = "585f2eab74cb872c421f564274ef050fa74937ab";
+      sha256 = "1zc9yr7b53akn639xhczala7vqz7rdy61xnndwn37bdxzvjqm59j";
+    };
+    meta.homepage = "https://github.com/ruifm/gitlinker.nvim/";
+  };
+
   gitsigns-nvim = buildVimPluginFrom2Nix {
-    pname = "gitsigns-nvim";
-    version = "2021-07-21";
+    pname = "gitsigns.nvim";
+    version = "2021-08-29";
     src = fetchFromGitHub {
       owner = "lewis6991";
       repo = "gitsigns.nvim";
-      rev = "c3b63ec2ffedc7e7199265852eab13ec8c02b6e0";
-      sha256 = "1l8yilf0fqi16lrgpp8i8irq3fb1a73j17gvhff7m6fyzilwahjj";
+      rev = "daa233aabb4dbc7c870ea7300bcfeef96d49c2a3";
+      sha256 = "0y0il8v0g8kvsyzir4hbkwvzv9wk2iqs1apxlvijk9ccfdk9ya0p";
     };
     meta.homepage = "https://github.com/lewis6991/gitsigns.nvim/";
   };
@@ -1894,7 +2074,7 @@ final: prev:
   };
 
   gleam-vim = buildVimPluginFrom2Nix {
-    pname = "gleam-vim";
+    pname = "gleam.vim";
     version = "2020-06-24";
     src = fetchFromGitHub {
       owner = "gleam-lang";
@@ -1906,15 +2086,15 @@ final: prev:
   };
 
   glow-nvim = buildVimPluginFrom2Nix {
-    pname = "glow-nvim";
-    version = "2021-07-14";
+    pname = "glow.nvim";
+    version = "2021-08-30";
     src = fetchFromGitHub {
-      owner = "npxbr";
+      owner = "ellisonleao";
       repo = "glow.nvim";
-      rev = "3688c38b70eaa680a7100a53e2f12bcd367de225";
-      sha256 = "18xkgwy3gfaq45wzixpr3ngskqqg0c2nziykvy323fimjvbvqxan";
+      rev = "794649fa93a49f39e16364da5421508fe0223e4f";
+      sha256 = "06askhkw5g07144a60g59jxrp2xvimpk3yw9qhm69lllhvkgihqz";
     };
-    meta.homepage = "https://github.com/npxbr/glow.nvim/";
+    meta.homepage = "https://github.com/ellisonleao/glow.nvim/";
   };
 
   golden-ratio = buildVimPluginFrom2Nix {
@@ -1941,8 +2121,20 @@ final: prev:
     meta.homepage = "https://github.com/buoto/gotests-vim/";
   };
 
+  goto-preview = buildVimPluginFrom2Nix {
+    pname = "goto-preview";
+    version = "2021-08-20";
+    src = fetchFromGitHub {
+      owner = "rmagatti";
+      repo = "goto-preview";
+      rev = "017efbcb377a6c0e16c4902328cf34d7257cbd1c";
+      sha256 = "11n09m7agy9b5zx0cralam7gsr2bfwpf4564z2iwxgia3186bs8g";
+    };
+    meta.homepage = "https://github.com/rmagatti/goto-preview/";
+  };
+
   goyo-vim = buildVimPluginFrom2Nix {
-    pname = "goyo-vim";
+    pname = "goyo.vim";
     version = "2020-08-29";
     src = fetchFromGitHub {
       owner = "junegunn";
@@ -1967,42 +2159,54 @@ final: prev:
 
   gruvbox-community = buildVimPluginFrom2Nix {
     pname = "gruvbox-community";
-    version = "2021-05-17";
+    version = "2021-08-20";
     src = fetchFromGitHub {
       owner = "gruvbox-community";
       repo = "gruvbox";
-      rev = "51ae4557e8941943d70da36320cc80a521e2d99e";
-      sha256 = "0dgvd4qpzg7fn7rwvpknzi2bxzzb2g8jl9jh9byj07yll413gzqh";
+      rev = "dba3e04ab97bf80d41c0d30f34ecde8ca2762c47";
+      sha256 = "1kryx30fzj33lm969jgx3715s3cz5cp7hlxjs5d29a11gqbmpi0n";
     };
     meta.homepage = "https://github.com/gruvbox-community/gruvbox/";
   };
 
   gruvbox-flat-nvim = buildVimPluginFrom2Nix {
-    pname = "gruvbox-flat-nvim";
-    version = "2021-06-25";
+    pname = "gruvbox-flat.nvim";
+    version = "2021-08-17";
     src = fetchFromGitHub {
       owner = "eddyekofo94";
       repo = "gruvbox-flat.nvim";
-      rev = "b98cd51a564881eac30794e64a8db63860d9bcf0";
-      sha256 = "03drq3sqak2lcb7vs7qw1lhgrbnri0m1qp50cgaq17v0dlk15n4k";
+      rev = "9f02570bf323e9484b6f04ad96adc3103a075662";
+      sha256 = "1dw4mm1ksclhx7ys88z2g0481j9xxd95qi1jlma8l5cyjfzdkrkz";
     };
     meta.homepage = "https://github.com/eddyekofo94/gruvbox-flat.nvim/";
   };
 
+  gruvbox-material = buildVimPluginFrom2Nix {
+    pname = "gruvbox-material";
+    version = "2021-09-03";
+    src = fetchFromGitHub {
+      owner = "sainnhe";
+      repo = "gruvbox-material";
+      rev = "99260ca49fa587e4e3c75da429f6c76866651a6a";
+      sha256 = "0rx2ma52q8pwwq8yr61wg3v0z3s7nb5zr5p15i596aa69a84a9pn";
+    };
+    meta.homepage = "https://github.com/sainnhe/gruvbox-material/";
+  };
+
   gruvbox-nvim = buildVimPluginFrom2Nix {
-    pname = "gruvbox-nvim";
-    version = "2021-07-05";
+    pname = "gruvbox.nvim";
+    version = "2021-08-19";
     src = fetchFromGitHub {
-      owner = "npxbr";
+      owner = "ellisonleao";
       repo = "gruvbox.nvim";
-      rev = "ac0948e28203cba5d0510cf3443906228645e3eb";
-      sha256 = "0g9j2gqsgx7la96xhc72l7rb535phqjpb5mva191wjfn13j0hkda";
+      rev = "24494189e723b71c1683c58ecfd0825d202b2bf8";
+      sha256 = "1zv7gmq8q5qszb2pxfiwkzwbm4yk2zbrly1whv2kpymlik37i7as";
     };
-    meta.homepage = "https://github.com/npxbr/gruvbox.nvim/";
+    meta.homepage = "https://github.com/ellisonleao/gruvbox.nvim/";
   };
 
   gundo-vim = buildVimPluginFrom2Nix {
-    pname = "gundo-vim";
+    pname = "gundo.vim";
     version = "2021-02-21";
     src = fetchFromGitHub {
       owner = "sjl";
@@ -2014,13 +2218,13 @@ final: prev:
   };
 
   gv-vim = buildVimPluginFrom2Nix {
-    pname = "gv-vim";
-    version = "2021-05-27";
+    pname = "gv.vim";
+    version = "2021-08-24";
     src = fetchFromGitHub {
       owner = "junegunn";
       repo = "gv.vim";
-      rev = "5f902f4f7d06ef084ffd6cddcd1ee7d3c9a793c6";
-      sha256 = "0am6sip4q14v2cvf9dmq6jkh37nhdhbvs466619qyd48qxcf9k9n";
+      rev = "6f6a3afe73a2cb52d8517d1a95ecfc9b09fb3e92";
+      sha256 = "1j1yqanqcndxzi3r3d3pvgjh14bw28sfy0ik5jh8zvggkl240sqn";
     };
     meta.homepage = "https://github.com/junegunn/gv.vim/";
   };
@@ -2074,19 +2278,19 @@ final: prev:
   };
 
   hologram-nvim = buildVimPluginFrom2Nix {
-    pname = "hologram-nvim";
-    version = "2021-06-14";
+    pname = "hologram.nvim";
+    version = "2021-08-01";
     src = fetchFromGitHub {
       owner = "edluffy";
       repo = "hologram.nvim";
-      rev = "d8300f996fde96fc37c02b89f70642c1c44057a3";
-      sha256 = "0g9i5mgd69kgkl27my1xnyd3yf77c8313ikbhm7cn6i6iqml1blf";
+      rev = "5598fea84f0bab236293793a6398fb7fbbf1cbc6";
+      sha256 = "0a5fgnqh475ngv4n4xbxzisvcx9vs1w4qn1k4imh8p61n02q0h8w";
     };
     meta.homepage = "https://github.com/edluffy/hologram.nvim/";
   };
 
   hoon-vim = buildVimPluginFrom2Nix {
-    pname = "hoon-vim";
+    pname = "hoon.vim";
     version = "2020-11-09";
     src = fetchFromGitHub {
       owner = "urbit";
@@ -2098,7 +2302,7 @@ final: prev:
   };
 
   hop-nvim = buildVimPluginFrom2Nix {
-    pname = "hop-nvim";
+    pname = "hop.nvim";
     version = "2021-07-13";
     src = fetchFromGitHub {
       owner = "phaazon";
@@ -2110,7 +2314,7 @@ final: prev:
   };
 
   i3config-vim = buildVimPluginFrom2Nix {
-    pname = "i3config-vim";
+    pname = "i3config.vim";
     version = "2021-06-23";
     src = fetchFromGitHub {
       owner = "mboughaba";
@@ -2122,7 +2326,7 @@ final: prev:
   };
 
   iceberg-vim = buildVimPluginFrom2Nix {
-    pname = "iceberg-vim";
+    pname = "iceberg.vim";
     version = "2020-12-25";
     src = fetchFromGitHub {
       owner = "cocopon";
@@ -2182,7 +2386,7 @@ final: prev:
   };
 
   incsearch-easymotion-vim = buildVimPluginFrom2Nix {
-    pname = "incsearch-easymotion-vim";
+    pname = "incsearch-easymotion.vim";
     version = "2016-01-18";
     src = fetchFromGitHub {
       owner = "haya14busa";
@@ -2194,7 +2398,7 @@ final: prev:
   };
 
   incsearch-vim = buildVimPluginFrom2Nix {
-    pname = "incsearch-vim";
+    pname = "incsearch.vim";
     version = "2017-11-24";
     src = fetchFromGitHub {
       owner = "haya14busa";
@@ -2206,13 +2410,13 @@ final: prev:
   };
 
   indent-blankline-nvim = buildVimPluginFrom2Nix {
-    pname = "indent-blankline-nvim";
-    version = "2021-07-19";
+    pname = "indent-blankline.nvim";
+    version = "2021-09-02";
     src = fetchFromGitHub {
       owner = "lukas-reineke";
       repo = "indent-blankline.nvim";
-      rev = "0257caac96b28ec9efd80a00c13d31c469357f5b";
-      sha256 = "0r5c99xzsizqpk4h35lp3ip8lqang2vvg01vrv0bad3wqnjqq1d7";
+      rev = "f26818bbb0a5428b4699f6c49fc3d3fa3e822930";
+      sha256 = "1yksfc2sbkn7p7wiai2d7rjnizylckvb1fck5k7kjwbxnwzwsjk5";
     };
     meta.homepage = "https://github.com/lukas-reineke/indent-blankline.nvim/";
   };
@@ -2242,7 +2446,7 @@ final: prev:
   };
 
   investigate-vim = buildVimPluginFrom2Nix {
-    pname = "investigate-vim";
+    pname = "investigate.vim";
     version = "2020-02-29";
     src = fetchFromGitHub {
       owner = "keith";
@@ -2278,7 +2482,7 @@ final: prev:
   };
 
   is-vim = buildVimPluginFrom2Nix {
-    pname = "is-vim";
+    pname = "is.vim";
     version = "2020-10-27";
     src = fetchFromGitHub {
       owner = "haya14busa";
@@ -2290,7 +2494,7 @@ final: prev:
   };
 
   jdaddy-vim = buildVimPluginFrom2Nix {
-    pname = "jdaddy-vim";
+    pname = "jdaddy.vim";
     version = "2014-02-22";
     src = fetchFromGitHub {
       owner = "vim-scripts";
@@ -2327,7 +2531,7 @@ final: prev:
   };
 
   jellybeans-vim = buildVimPluginFrom2Nix {
-    pname = "jellybeans-vim";
+    pname = "jellybeans.vim";
     version = "2019-06-22";
     src = fetchFromGitHub {
       owner = "nanotech";
@@ -2351,7 +2555,7 @@ final: prev:
   };
 
   jq-vim = buildVimPluginFrom2Nix {
-    pname = "jq-vim";
+    pname = "jq.vim";
     version = "2019-05-21";
     src = fetchFromGitHub {
       owner = "vito-c";
@@ -2362,18 +2566,42 @@ final: prev:
     meta.homepage = "https://github.com/vito-c/jq.vim/";
   };
 
+  jsonc-vim = buildVimPluginFrom2Nix {
+    pname = "jsonc.vim";
+    version = "2020-11-24";
+    src = fetchFromGitHub {
+      owner = "neoclide";
+      repo = "jsonc.vim";
+      rev = "63ffa5199a0e64d5ce0515256407f32dfbd67fc3";
+      sha256 = "047c2sc8q49axhi9416lzzpv5ykczc63dqd4xy56rfcfrvsi199j";
+    };
+    meta.homepage = "https://github.com/neoclide/jsonc.vim/";
+  };
+
   julia-vim = buildVimPluginFrom2Nix {
     pname = "julia-vim";
-    version = "2021-07-01";
+    version = "2021-08-04";
     src = fetchFromGitHub {
       owner = "JuliaEditorSupport";
       repo = "julia-vim";
-      rev = "6ff9e9938badea96f64154f2991e165e8d340cf2";
-      sha256 = "11k1gjsh8fibdpg5lrcq3rz90gwjb7725krhimnvhrkwhcyl1bwb";
+      rev = "9d7d6af330f9cbd7d4d536b5952b71a64790621d";
+      sha256 = "1vzwa0nrwvfpiqvaad4jykpx1h5blsl3l125xzhx7vxgksmmrxbs";
     };
     meta.homepage = "https://github.com/JuliaEditorSupport/julia-vim/";
   };
 
+  kommentary = buildVimPluginFrom2Nix {
+    pname = "kommentary";
+    version = "2021-08-26";
+    src = fetchFromGitHub {
+      owner = "b3nj5m1n";
+      repo = "kommentary";
+      rev = "09d332c66b7155b14eb22c9129aee44d9d2ff496";
+      sha256 = "1cdzsqilnb90wqicjb9v58wiayp8a7wa44q4aw7a5a74yyxysfhy";
+    };
+    meta.homepage = "https://github.com/b3nj5m1n/kommentary/";
+  };
+
   kotlin-vim = buildVimPluginFrom2Nix {
     pname = "kotlin-vim";
     version = "2021-07-03";
@@ -2387,7 +2615,7 @@ final: prev:
   };
 
   lalrpop-vim = buildVimPluginFrom2Nix {
-    pname = "lalrpop-vim";
+    pname = "lalrpop.vim";
     version = "2017-11-22";
     src = fetchFromGitHub {
       owner = "qnighy";
@@ -2411,7 +2639,7 @@ final: prev:
   };
 
   LanguageTool-nvim = buildVimPluginFrom2Nix {
-    pname = "LanguageTool-nvim";
+    pname = "LanguageTool.nvim";
     version = "2020-10-19";
     src = fetchFromGitHub {
       owner = "vigoux";
@@ -2447,31 +2675,31 @@ final: prev:
   };
 
   lazygit-nvim = buildVimPluginFrom2Nix {
-    pname = "lazygit-nvim";
-    version = "2021-07-21";
+    pname = "lazygit.nvim";
+    version = "2021-08-07";
     src = fetchFromGitHub {
       owner = "kdheepak";
       repo = "lazygit.nvim";
-      rev = "c1840692c17b6994bb3b96b33e48040d0cb2da99";
-      sha256 = "07mwa2bbny73s60as5s1schk4zhk6m6rv26ljbcl14mx45z9m8r8";
+      rev = "b1ebb53902a4f5d8c565f7485d4e57d937f89b91";
+      sha256 = "1fjzrrr0i0yvl2q65r1v922iza13zy8chfcz998hi499sizviwmq";
     };
     meta.homepage = "https://github.com/kdheepak/lazygit.nvim/";
   };
 
   LeaderF = buildVimPluginFrom2Nix {
     pname = "LeaderF";
-    version = "2021-07-03";
+    version = "2021-08-31";
     src = fetchFromGitHub {
       owner = "Yggdroot";
       repo = "LeaderF";
-      rev = "64a941e317fb9a432d8924eb3a124627c71c0d18";
-      sha256 = "10d6fr2kasm13js7k85a9mm6q7ga6b3h6z9mys6wwaphzsm7vli1";
+      rev = "880888469193a6bf020376bab098a7401a06e445";
+      sha256 = "03hq263cqay01v6hazghma4h48j30kqpx6bbnwsar26m8vg6vpg1";
     };
     meta.homepage = "https://github.com/Yggdroot/LeaderF/";
   };
 
   lean-vim = buildVimPluginFrom2Nix {
-    pname = "lean-vim";
+    pname = "lean.vim";
     version = "2021-06-07";
     src = fetchFromGitHub {
       owner = "leanprover";
@@ -2483,7 +2711,7 @@ final: prev:
   };
 
   lens-vim = buildVimPluginFrom2Nix {
-    pname = "lens-vim";
+    pname = "lens.vim";
     version = "2021-05-30";
     src = fetchFromGitHub {
       owner = "camspiers";
@@ -2495,7 +2723,7 @@ final: prev:
   };
 
   lessspace-vim = buildVimPluginFrom2Nix {
-    pname = "lessspace-vim";
+    pname = "lessspace.vim";
     version = "2019-09-12";
     src = fetchFromGitHub {
       owner = "thirtythreeforty";
@@ -2507,19 +2735,19 @@ final: prev:
   };
 
   lexima-vim = buildVimPluginFrom2Nix {
-    pname = "lexima-vim";
-    version = "2020-07-31";
+    pname = "lexima.vim";
+    version = "2021-08-12";
     src = fetchFromGitHub {
       owner = "cohama";
       repo = "lexima.vim";
-      rev = "89bf4dc13539131a29cf938074b3f1ce9d000bfd";
-      sha256 = "19b73r3v4i64kiijihzqlbj6bf6jd1w90qc7d3lg95iwlaczd8v0";
+      rev = "6b716e2118d842a26620387f0845e57cfd69ffaf";
+      sha256 = "1az40rjfyvwg9zkk822abrf0v0ccm29rp5290capirnfna5w71d6";
     };
     meta.homepage = "https://github.com/cohama/lexima.vim/";
   };
 
   lf-vim = buildVimPluginFrom2Nix {
-    pname = "lf-vim";
+    pname = "lf.vim";
     version = "2021-02-18";
     src = fetchFromGitHub {
       owner = "ptzz";
@@ -2532,24 +2760,24 @@ final: prev:
 
   lh-brackets = buildVimPluginFrom2Nix {
     pname = "lh-brackets";
-    version = "2021-03-09";
+    version = "2021-08-18";
     src = fetchFromGitHub {
       owner = "LucHermitte";
       repo = "lh-brackets";
-      rev = "73efae0e97b8c661bf36d3637c3ba1ee02b4fe07";
-      sha256 = "122jhh3vkapxz42sa6l9sdxcdl4fzq4xfrjmaak815nvf3bg249a";
+      rev = "0b687d63afc771d5ddce3aa175b9ab4b012f9715";
+      sha256 = "0nhvibvizczk8bp4lc4g9mndhwp240bh8adcq840zf3lghpnlkh4";
     };
     meta.homepage = "https://github.com/LucHermitte/lh-brackets/";
   };
 
   lh-vim-lib = buildVimPluginFrom2Nix {
     pname = "lh-vim-lib";
-    version = "2021-04-06";
+    version = "2021-08-18";
     src = fetchFromGitHub {
       owner = "LucHermitte";
       repo = "lh-vim-lib";
-      rev = "6cb8f4cbe54b735dfa6dbb708cc9eaddead251d2";
-      sha256 = "0qggqhj2ikq2ki9g93qgwpl2w5nhssafmwc8a2xkwi4qm4k2shqh";
+      rev = "aa8e8f270c1d3be4fbe6b153827a191a5fcaa0d7";
+      sha256 = "0lgpxgg2696pbfdgnr2zcapvhfk6d1qwvci223h69rvg0fh853rz";
     };
     meta.homepage = "https://github.com/LucHermitte/lh-vim-lib/";
   };
@@ -2568,18 +2796,18 @@ final: prev:
 
   lightline-bufferline = buildVimPluginFrom2Nix {
     pname = "lightline-bufferline";
-    version = "2021-06-09";
+    version = "2021-08-19";
     src = fetchFromGitHub {
       owner = "mengelbrecht";
       repo = "lightline-bufferline";
-      rev = "ce6b2e1e09654af34a80af774879eac4708cc11e";
-      sha256 = "0cv5845d1gg9mv5pcp8c9afydvgihgfyk7ibjr3fgkqacwcfzjmy";
+      rev = "0b1ec6fbb1fceebd88694e99fbc905d916c8b30a";
+      sha256 = "19mwdnnvps3dr5125al5yqlbziirl100xz11jkp2rbk250pc5h8d";
     };
     meta.homepage = "https://github.com/mengelbrecht/lightline-bufferline/";
   };
 
   lightline-gruvbox-vim = buildVimPluginFrom2Nix {
-    pname = "lightline-gruvbox-vim";
+    pname = "lightline-gruvbox.vim";
     version = "2018-03-23";
     src = fetchFromGitHub {
       owner = "shinchu";
@@ -2591,7 +2819,7 @@ final: prev:
   };
 
   lightline-vim = buildVimPluginFrom2Nix {
-    pname = "lightline-vim";
+    pname = "lightline.vim";
     version = "2021-05-30";
     src = fetchFromGitHub {
       owner = "itchyny";
@@ -2603,19 +2831,19 @@ final: prev:
   };
 
   lightspeed-nvim = buildVimPluginFrom2Nix {
-    pname = "lightspeed-nvim";
-    version = "2021-07-16";
+    pname = "lightspeed.nvim";
+    version = "2021-09-03";
     src = fetchFromGitHub {
       owner = "ggandor";
       repo = "lightspeed.nvim";
-      rev = "62f02aabce3b5af190cf113d5bdf4a8271a966c3";
-      sha256 = "1cckxvr035vsall3891j60yc1a12p8q63rjnm7ac1wzdhh7d8c38";
+      rev = "c918dd441b2e24ed4f6f805df89efc8e99015103";
+      sha256 = "0ppkspsqbi05rnssk19ccjcym4zaqph7a75vw9d38akg2i176rsk";
     };
     meta.homepage = "https://github.com/ggandor/lightspeed.nvim/";
   };
 
   limelight-vim = buildVimPluginFrom2Nix {
-    pname = "limelight-vim";
+    pname = "limelight.vim";
     version = "2020-10-13";
     src = fetchFromGitHub {
       owner = "junegunn";
@@ -2626,8 +2854,20 @@ final: prev:
     meta.homepage = "https://github.com/junegunn/limelight.vim/";
   };
 
+  lir-nvim = buildVimPluginFrom2Nix {
+    pname = "lir.nvim";
+    version = "2021-08-27";
+    src = fetchFromGitHub {
+      owner = "tamago324";
+      repo = "lir.nvim";
+      rev = "ccbae9636949afa9d3afbcba93f35dba3437ad94";
+      sha256 = "1lxh6vh4nnfldxqivnv1f03300pmm7cb5pvapa2afv6h8src8hzs";
+    };
+    meta.homepage = "https://github.com/tamago324/lir.nvim/";
+  };
+
   lispdocs-nvim = buildVimPluginFrom2Nix {
-    pname = "lispdocs-nvim";
+    pname = "lispdocs.nvim";
     version = "2021-05-16";
     src = fetchFromGitHub {
       owner = "tami5";
@@ -2639,7 +2879,7 @@ final: prev:
   };
 
   lsp-colors-nvim = buildVimPluginFrom2Nix {
-    pname = "lsp-colors-nvim";
+    pname = "lsp-colors.nvim";
     version = "2021-04-30";
     src = fetchFromGitHub {
       owner = "folke";
@@ -2651,31 +2891,31 @@ final: prev:
   };
 
   lsp-rooter-nvim = buildVimPluginFrom2Nix {
-    pname = "lsp-rooter-nvim";
-    version = "2021-05-25";
+    pname = "lsp-rooter.nvim";
+    version = "2021-08-13";
     src = fetchFromGitHub {
       owner = "ahmedkhalf";
       repo = "lsp-rooter.nvim";
-      rev = "ca8670c8fc4efbd9a05f330f4037304962c9abbb";
-      sha256 = "1p24gk4yps21wm8gwrsp9a6c2ynwv6xlp7iny2448l2yvrjw494n";
+      rev = "7c83364f5a40db6c91f322fb148a99be8cec7b91";
+      sha256 = "1zmjc9a72swndgzzqyax1r6ifi858dq445ygmpxbpav8kp0q7n4g";
     };
     meta.homepage = "https://github.com/ahmedkhalf/lsp-rooter.nvim/";
   };
 
   lsp-status-nvim = buildVimPluginFrom2Nix {
-    pname = "lsp-status-nvim";
-    version = "2021-05-20";
+    pname = "lsp-status.nvim";
+    version = "2021-09-01";
     src = fetchFromGitHub {
       owner = "nvim-lua";
       repo = "lsp-status.nvim";
-      rev = "54c395248539d65fddda46f7d92e3421856874c1";
-      sha256 = "1qfrfckdbqyav8l1g7lwpjrrwh559nm71ki74qd1xd18y1h63ny2";
+      rev = "745ba61c353b47c365d4dbfdd3d3334a3177f8cd";
+      sha256 = "06cgvrl6l1wj6aj0ndbxi14zfqdfhgdzd7h72dxi1bkx8hrf54i0";
     };
     meta.homepage = "https://github.com/nvim-lua/lsp-status.nvim/";
   };
 
   lsp_extensions-nvim = buildVimPluginFrom2Nix {
-    pname = "lsp_extensions-nvim";
+    pname = "lsp_extensions.nvim";
     version = "2021-06-25";
     src = fetchFromGitHub {
       owner = "nvim-lua";
@@ -2687,31 +2927,31 @@ final: prev:
   };
 
   lsp_signature-nvim = buildVimPluginFrom2Nix {
-    pname = "lsp_signature-nvim";
-    version = "2021-07-19";
+    pname = "lsp_signature.nvim";
+    version = "2021-09-03";
     src = fetchFromGitHub {
       owner = "ray-x";
       repo = "lsp_signature.nvim";
-      rev = "78af1399d0e7a85152d4f75b9ce0c20286735d6e";
-      sha256 = "156wdb57vabz0syx84zlnn5v6wy7g02flq4r5caz9xwccdszwz33";
+      rev = "ef533cc43fa11f58597364c24f8898b7deac74ef";
+      sha256 = "0g6m18w1jggg182dm77n3zvrj87d230c6m7rrg6snialllvbk0sh";
     };
     meta.homepage = "https://github.com/ray-x/lsp_signature.nvim/";
   };
 
   lspkind-nvim = buildVimPluginFrom2Nix {
     pname = "lspkind-nvim";
-    version = "2021-05-22";
+    version = "2021-08-19";
     src = fetchFromGitHub {
       owner = "onsails";
       repo = "lspkind-nvim";
-      rev = "3469f0c9a6767625d532a74a167f5d6ba2b8c5bf";
-      sha256 = "1ff1i6m9kk3n36n24c109g6yddcbbzm10iigvi0pv1z2fdpsrl07";
+      rev = "9cc326504e566f467407bae2669a98963c5404d2";
+      sha256 = "0bbczy2hhdl79g749d41vv5fyfcdd3rsxhi8mbq6avc0vhw72m8c";
     };
     meta.homepage = "https://github.com/onsails/lspkind-nvim/";
   };
 
   lspsaga-nvim = buildVimPluginFrom2Nix {
-    pname = "lspsaga-nvim";
+    pname = "lspsaga.nvim";
     version = "2021-04-25";
     src = fetchFromGitHub {
       owner = "glepnir";
@@ -2722,8 +2962,20 @@ final: prev:
     meta.homepage = "https://github.com/glepnir/lspsaga.nvim/";
   };
 
+  lualine-lsp-progress = buildVimPluginFrom2Nix {
+    pname = "lualine-lsp-progress";
+    version = "2021-07-10";
+    src = fetchFromGitHub {
+      owner = "arkav";
+      repo = "lualine-lsp-progress";
+      rev = "7c024f40a3b26c8f7925745cdd2fe7acc96939c4";
+      sha256 = "0flmd69d7kjzcnzclx6k2yxjfy9nmkwxjlrgl3sszw5qpffxjlk1";
+    };
+    meta.homepage = "https://github.com/arkav/lualine-lsp-progress/";
+  };
+
   lualine-nvim = buildVimPluginFrom2Nix {
-    pname = "lualine-nvim";
+    pname = "lualine.nvim";
     version = "2021-05-27";
     src = fetchFromGitHub {
       owner = "hoob3rt";
@@ -2736,24 +2988,24 @@ final: prev:
 
   luasnip = buildVimPluginFrom2Nix {
     pname = "luasnip";
-    version = "2021-07-20";
+    version = "2021-09-03";
     src = fetchFromGitHub {
       owner = "l3mon4d3";
       repo = "luasnip";
-      rev = "d4ddebdb4f4bc44e731e808d794bd8c429dc9e07";
-      sha256 = "01lsxak9hl2shhhzqjypdjpkasrppn6v8xlzxi28c7973c5jn629";
+      rev = "1db821efe7416483a7288ef86dbae6f63ab0221e";
+      sha256 = "0gjyhb7yqjgb2ld9g3aahn0hv6vns91c5q3hvjcwaxqvkc77sk2i";
     };
     meta.homepage = "https://github.com/l3mon4d3/luasnip/";
   };
 
   lush-nvim = buildVimPluginFrom2Nix {
-    pname = "lush-nvim";
-    version = "2021-07-15";
+    pname = "lush.nvim";
+    version = "2021-08-30";
     src = fetchFromGitHub {
       owner = "rktjmp";
       repo = "lush.nvim";
-      rev = "a787bcd1d9afb2bd6bab13834c5b28e727f266c0";
-      sha256 = "12i4bvgm26sfvdanjjwz1572nfnyax1i2bwawfkz2ab34xlwcr0y";
+      rev = "58c203fe01d4c9622a51f57270c0c58b0516adff";
+      sha256 = "18qk4yn8fazwxjxdlj50jl159iyh586bbvlgv3944wfnjgij727a";
     };
     meta.homepage = "https://github.com/rktjmp/lush.nvim/";
   };
@@ -2771,7 +3023,7 @@ final: prev:
   };
 
   markdown-preview-nvim = buildVimPluginFrom2Nix {
-    pname = "markdown-preview-nvim";
+    pname = "markdown-preview.nvim";
     version = "2021-03-10";
     src = fetchFromGitHub {
       owner = "iamcco";
@@ -2783,7 +3035,7 @@ final: prev:
   };
 
   matchit-zip = buildVimPluginFrom2Nix {
-    pname = "matchit-zip";
+    pname = "matchit.zip";
     version = "2010-10-18";
     src = fetchFromGitHub {
       owner = "vim-scripts";
@@ -2808,12 +3060,12 @@ final: prev:
 
   mattn-calendar-vim = buildVimPluginFrom2Nix {
     pname = "mattn-calendar-vim";
-    version = "2020-12-29";
+    version = "2021-08-29";
     src = fetchFromGitHub {
       owner = "mattn";
       repo = "calendar-vim";
-      rev = "9a32891101990dd88b86befb50c46575ef8a364e";
-      sha256 = "0i6nxap9fx8z9dx6q33pc9hz8s8vc2ghz5zchyxxmdn2mb5fki53";
+      rev = "24394ce720fcee4a672249fcdde4b088d62ed4b1";
+      sha256 = "0smmwgdnby0n0hg4511wf63vbm387l4d3dw75sid3m9cm8xlpwgl";
     };
     meta.homepage = "https://github.com/mattn/calendar-vim/";
   };
@@ -2831,13 +3083,13 @@ final: prev:
   };
 
   minimap-vim = buildVimPluginFrom2Nix {
-    pname = "minimap-vim";
-    version = "2021-07-21";
+    pname = "minimap.vim";
+    version = "2021-08-27";
     src = fetchFromGitHub {
       owner = "wfxr";
       repo = "minimap.vim";
-      rev = "d389e2b0c67f5cedd5ec5edfe53afc847f8daf61";
-      sha256 = "180grx6317ic6ip98awvqnfjc4zkzqh91rglls5pvwcq1w5m5vwb";
+      rev = "45a8eabefd500ab4496ee790d3ac178eb4de9fb9";
+      sha256 = "13mlcjkdbhpfgcg45m7whylxsaylgx1lysr5npc7gk6a85l2slzq";
     };
     meta.homepage = "https://github.com/wfxr/minimap.vim/";
   };
@@ -2867,7 +3119,7 @@ final: prev:
   };
 
   moonlight-nvim = buildVimPluginFrom2Nix {
-    pname = "moonlight-nvim";
+    pname = "moonlight.nvim";
     version = "2021-05-16";
     src = fetchFromGitHub {
       owner = "shaunsingh";
@@ -3084,12 +3336,12 @@ final: prev:
 
   neco-look = buildVimPluginFrom2Nix {
     pname = "neco-look";
-    version = "2019-11-19";
+    version = "2021-07-26";
     src = fetchFromGitHub {
       owner = "ujihisa";
       repo = "neco-look";
-      rev = "4d7f1fd7e406c302fba2a1358017c5a76d0f9fc1";
-      sha256 = "1brvzg15ni5j60wncpvxhs5k36wz83lhvfcnvja2l9yrngcgh6vr";
+      rev = "d98e550b741265fa8ca2b18f51c19adb2d3ff00a";
+      sha256 = "01bb5d3n7k7m5gd1rn78qhrjf9cvsccwib390zh0h22aryswzqnx";
     };
     meta.homepage = "https://github.com/ujihisa/neco-look/";
   };
@@ -3108,18 +3360,18 @@ final: prev:
 
   neco-vim = buildVimPluginFrom2Nix {
     pname = "neco-vim";
-    version = "2020-11-10";
+    version = "2021-08-28";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "neco-vim";
-      rev = "2b1dca6ca16d6f5655748fcd4d54d772fcfd0d81";
-      sha256 = "1prnclm9i7m09v1ip0sgkgddxwclas3x48zc8c800vxmmvjhzd7j";
+      rev = "31e5725ab5666396921d86bcec2f0b6ea0028ce7";
+      sha256 = "1mm827a9d848ypp6x77paqii37a1j70vwh3hayp8p7g3pv4cimjl";
     };
     meta.homepage = "https://github.com/Shougo/neco-vim/";
   };
 
   neocomplete-vim = buildVimPluginFrom2Nix {
-    pname = "neocomplete-vim";
+    pname = "neocomplete.vim";
     version = "2021-02-18";
     src = fetchFromGitHub {
       owner = "Shougo";
@@ -3131,7 +3383,7 @@ final: prev:
   };
 
   neodark-vim = buildVimPluginFrom2Nix {
-    pname = "neodark-vim";
+    pname = "neodark.vim";
     version = "2019-12-04";
     src = fetchFromGitHub {
       owner = "KeitaNakamura";
@@ -3144,30 +3396,30 @@ final: prev:
 
   neoformat = buildVimPluginFrom2Nix {
     pname = "neoformat";
-    version = "2021-07-20";
+    version = "2021-08-30";
     src = fetchFromGitHub {
       owner = "sbdchd";
       repo = "neoformat";
-      rev = "f9fa0e31f9e5c7aaa2ea2091ca64b28d84d485c0";
-      sha256 = "1bv75ijvs63r88nghjk5ljjz06r6xbp3923r3c17p1d3ks2qsfxa";
+      rev = "3924dade3a0b06d1457958ea7aa181787478b464";
+      sha256 = "1fr2lw5pfx9bs45c9knk9yz0p6pb5w51zlzqb5kr6c966hdq1msx";
     };
     meta.homepage = "https://github.com/sbdchd/neoformat/";
   };
 
   neogit = buildVimPluginFrom2Nix {
     pname = "neogit";
-    version = "2021-07-18";
+    version = "2021-09-03";
     src = fetchFromGitHub {
       owner = "TimUntersberger";
       repo = "neogit";
-      rev = "ee83d4fa8ac946e5e0064e65a5276e1ea030ae28";
-      sha256 = "0mrydz0xl2yqgsp1nsz4p55mjhx7x7z7pahcq3y5mzzla687dnqg";
+      rev = "2a9ce6bbe682c31dbd5cd59214eb0ae93dab4ab6";
+      sha256 = "1pkdq2c1ac90zblrm10fbrjw3sxlifd87djnnnmc9r7xmvb4azxa";
     };
     meta.homepage = "https://github.com/TimUntersberger/neogit/";
   };
 
   neoinclude-vim = buildVimPluginFrom2Nix {
-    pname = "neoinclude-vim";
+    pname = "neoinclude.vim";
     version = "2020-09-13";
     src = fetchFromGitHub {
       owner = "Shougo";
@@ -3191,7 +3443,7 @@ final: prev:
   };
 
   neomru-vim = buildVimPluginFrom2Nix {
-    pname = "neomru-vim";
+    pname = "neomru.vim";
     version = "2020-02-05";
     src = fetchFromGitHub {
       owner = "Shougo";
@@ -3202,18 +3454,42 @@ final: prev:
     meta.homepage = "https://github.com/Shougo/neomru.vim/";
   };
 
+  neon = buildVimPluginFrom2Nix {
+    pname = "neon";
+    version = "2021-07-30";
+    src = fetchFromGitHub {
+      owner = "rafamadriz";
+      repo = "neon";
+      rev = "5c6d24504e2177a709ad16ae9e89ab5732327ad8";
+      sha256 = "1p7g3204hjj52qnm5vdvh425r4xh0y8bsyfivpnp4zgz44rqd6v3";
+    };
+    meta.homepage = "https://github.com/rafamadriz/neon/";
+  };
+
   neorg = buildVimPluginFrom2Nix {
     pname = "neorg";
-    version = "2021-07-17";
+    version = "2021-08-26";
     src = fetchFromGitHub {
       owner = "vhyrro";
       repo = "neorg";
-      rev = "7f9f1d328c218b041ce899def4923334a5355c14";
-      sha256 = "1f7acjy3xhiz2yzkdp5x5f4p28zz583h7snyzrc2l8w7fwz600x9";
+      rev = "45ded3cbd52da312b71bffd8b8a6b9bed1367500";
+      sha256 = "1792j7h2an4kfc9jp6p8fa7mwri7295rb30siar35c0diapzai32";
     };
     meta.homepage = "https://github.com/vhyrro/neorg/";
   };
 
+  neoscroll-nvim = buildVimPluginFrom2Nix {
+    pname = "neoscroll.nvim";
+    version = "2021-08-28";
+    src = fetchFromGitHub {
+      owner = "karb94";
+      repo = "neoscroll.nvim";
+      rev = "cd4278795ed8ee120a97078b03aa6436802126d9";
+      sha256 = "0byd108bmiz5rhnm4jh4sb4sqma9rcac7h8q6i89hhjwn5r0qqif";
+    };
+    meta.homepage = "https://github.com/karb94/neoscroll.nvim/";
+  };
+
   neosnippet-snippets = buildVimPluginFrom2Nix {
     pname = "neosnippet-snippets";
     version = "2021-05-05";
@@ -3227,13 +3503,13 @@ final: prev:
   };
 
   neosnippet-vim = buildVimPluginFrom2Nix {
-    pname = "neosnippet-vim";
-    version = "2021-06-05";
+    pname = "neosnippet.vim";
+    version = "2021-08-22";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "neosnippet.vim";
-      rev = "d2e1e6b4c4e17cab2debd0353fed77b417b53237";
-      sha256 = "0bwlcija1sbml5ni7mz4q97hhnl7hiqamzzvqw8qyp8aw2b0kj1q";
+      rev = "3f6f5f8ad34d63ecb1060dbd6d7e2513238da528";
+      sha256 = "14f0ksrn4grkpjfn766hxg1p19dryngxai33b2322dy0qaw244d2";
     };
     meta.homepage = "https://github.com/Shougo/neosnippet.vim/";
   };
@@ -3252,24 +3528,24 @@ final: prev:
 
   neoterm = buildVimPluginFrom2Nix {
     pname = "neoterm";
-    version = "2021-05-26";
+    version = "2021-08-12";
     src = fetchFromGitHub {
       owner = "kassio";
       repo = "neoterm";
-      rev = "cae4f19aeac40037039e914932da850443b7729f";
-      sha256 = "0h3d36vj7sdx10f9gndplwkyqmjxq9frafyj9vmsjhj117nn8agh";
+      rev = "e78179a9ceb98de8d0c37bdda435a5deab4d5e71";
+      sha256 = "0w962xfcgigdw41wblrv1l55xki0kl5vwkdbm6jlr44hzii0nhgz";
     };
     meta.homepage = "https://github.com/kassio/neoterm/";
   };
 
   neovim-ayu = buildVimPluginFrom2Nix {
     pname = "neovim-ayu";
-    version = "2021-07-17";
+    version = "2021-08-30";
     src = fetchFromGitHub {
       owner = "Shatur";
       repo = "neovim-ayu";
-      rev = "755b4a379ef4812f9656fb3f59220cf3a45c2070";
-      sha256 = "0irjjpfrl6i7hfvay6b187i7dkkjq40fdcrx53xxfk9qq47l1z13";
+      rev = "5f8fbd1c8df54859c34c201515f734550fdb264e";
+      sha256 = "0rdxf7qd1hn2s82c7z0f7mgaw2dmbhwdy4jdkiabdi9y5f4d66wh";
     };
     meta.homepage = "https://github.com/Shatur/neovim-ayu/";
   };
@@ -3299,7 +3575,7 @@ final: prev:
   };
 
   neoyank-vim = buildVimPluginFrom2Nix {
-    pname = "neoyank-vim";
+    pname = "neoyank.vim";
     version = "2020-12-20";
     src = fetchFromGitHub {
       owner = "Shougo";
@@ -3312,42 +3588,42 @@ final: prev:
 
   nerdcommenter = buildVimPluginFrom2Nix {
     pname = "nerdcommenter";
-    version = "2021-05-29";
+    version = "2021-09-02";
     src = fetchFromGitHub {
       owner = "preservim";
       repo = "nerdcommenter";
-      rev = "a5d1663185bee20bfb120c9ab212144444514982";
-      sha256 = "03799774h9f7k52gwjnhjjm2w9s6ip5zdrpljinwp6lfavxd4w8a";
+      rev = "a65465d321f2f8a74b2ffa540b9b87563f7e12e8";
+      sha256 = "00ir65iv8jfbgzjmj7332fmydh0qhabbhx8zbvd3j6pgfxqpaafw";
     };
     meta.homepage = "https://github.com/preservim/nerdcommenter/";
   };
 
   nerdtree = buildVimPluginFrom2Nix {
     pname = "nerdtree";
-    version = "2021-07-15";
+    version = "2021-08-12";
     src = fetchFromGitHub {
       owner = "preservim";
       repo = "nerdtree";
-      rev = "2c14ed0e153cdcd0a1c7d1eabec6820bb6b3f8a2";
-      sha256 = "0gny5xw4knvjlkgazygpkwy8fk2x8igh45f980ypjghfkiw8h5f8";
+      rev = "0e71462f90fb4bd09121eeba829512cc24ab5c97";
+      sha256 = "0q88xrd0zi0wm7rdpggq9gfrlki56w14qr4bg5x1im3p4y6nj7f3";
     };
     meta.homepage = "https://github.com/preservim/nerdtree/";
   };
 
   nerdtree-git-plugin = buildVimPluginFrom2Nix {
     pname = "nerdtree-git-plugin";
-    version = "2021-06-04";
+    version = "2021-08-18";
     src = fetchFromGitHub {
       owner = "Xuyuanp";
       repo = "nerdtree-git-plugin";
-      rev = "bca0ed63883d028e6afc7f11a78c56fcaf34d363";
-      sha256 = "1j5llx2l36hgr10mjjdrp8xdv9mhmc6panpjgdxzdg5ncwn4ndzm";
+      rev = "e1fe727127a813095854a5b063c15e955a77eafb";
+      sha256 = "0d7xm5rafw5biv8phfyny2haqq50mnh0q4ms7dkhvp9k1k2k2whz";
     };
     meta.homepage = "https://github.com/Xuyuanp/nerdtree-git-plugin/";
   };
 
   neuron-vim = buildVimPluginFrom2Nix {
-    pname = "neuron-vim";
+    pname = "neuron.vim";
     version = "2020-12-06";
     src = fetchFromGitHub {
       owner = "fiatjaf";
@@ -3359,7 +3635,7 @@ final: prev:
   };
 
   nginx-vim = buildVimPluginFrom2Nix {
-    pname = "nginx-vim";
+    pname = "nginx.vim";
     version = "2021-02-25";
     src = fetchFromGitHub {
       owner = "chr4";
@@ -3371,7 +3647,7 @@ final: prev:
   };
 
   nim-vim = buildVimPluginFrom2Nix {
-    pname = "nim-vim";
+    pname = "nim.vim";
     version = "2020-10-16";
     src = fetchFromGitHub {
       owner = "zah";
@@ -3383,7 +3659,7 @@ final: prev:
   };
 
   nlua-nvim = buildVimPluginFrom2Nix {
-    pname = "nlua-nvim";
+    pname = "nlua.nvim";
     version = "2021-06-15";
     src = fetchFromGitHub {
       owner = "tjdevries";
@@ -3395,13 +3671,13 @@ final: prev:
   };
 
   nnn-vim = buildVimPluginFrom2Nix {
-    pname = "nnn-vim";
-    version = "2021-06-07";
+    pname = "nnn.vim";
+    version = "2021-09-03";
     src = fetchFromGitHub {
       owner = "mcchrish";
       repo = "nnn.vim";
-      rev = "abf700104c0450bac10be3ece613ff88997f47e4";
-      sha256 = "0s3z5kd2h8cx6lplvg3yqp2pacx8c7kcavpvwnl71vmi0s2ld85s";
+      rev = "c4c4d9531726c11892e32daa977c958ad47f7b97";
+      sha256 = "1b84nh9c3pvlkgj2jldd9p8bmd3wzqxldl0y7gn6ny93f3ajgkb8";
     };
     meta.homepage = "https://github.com/mcchrish/nnn.vim/";
   };
@@ -3419,13 +3695,13 @@ final: prev:
   };
 
   nord-nvim = buildVimPluginFrom2Nix {
-    pname = "nord-nvim";
-    version = "2021-07-20";
+    pname = "nord.nvim";
+    version = "2021-08-20";
     src = fetchFromGitHub {
       owner = "shaunsingh";
       repo = "nord.nvim";
-      rev = "994cb6b4efa481ac1a64aa3ac5c9e8cfea806783";
-      sha256 = "1wssns3iwgfkf73vgln4msv8l5gw724wyalqzv8w8ckhf68dbz4j";
+      rev = "d2b6f9d4688a381f26a652df7e1b6a49e9f33542";
+      sha256 = "03jjx1mblqwdrz7g280wvdyq9sbfj6spf8k61gcq1gy7bb4qjfp7";
     };
     meta.homepage = "https://github.com/shaunsingh/nord.nvim/";
   };
@@ -3443,31 +3719,31 @@ final: prev:
   };
 
   nterm-nvim = buildVimPluginFrom2Nix {
-    pname = "nterm-nvim";
-    version = "2021-07-15";
+    pname = "nterm.nvim";
+    version = "2021-08-24";
     src = fetchFromGitHub {
       owner = "jlesquembre";
       repo = "nterm.nvim";
-      rev = "8076f2960512d50a93ffd3d9b04499f9d4fbe793";
-      sha256 = "0z2d9jvw7yf415mpvqlx5vc8k9n02vc28v4p1fimvz7axcv67361";
+      rev = "bb612046c7775c6986e706b8ab31057ed8ca19b2";
+      sha256 = "1r50z8c3jjx1ysazih298ni2iikblmj48gxh3k9p722kngfdsxjg";
     };
     meta.homepage = "https://github.com/jlesquembre/nterm.nvim/";
   };
 
   null-ls-nvim = buildVimPluginFrom2Nix {
-    pname = "null-ls-nvim";
-    version = "2021-07-21";
+    pname = "null-ls.nvim";
+    version = "2021-09-03";
     src = fetchFromGitHub {
       owner = "jose-elias-alvarez";
       repo = "null-ls.nvim";
-      rev = "fa50b4ce297599dc22b1b4bb8550eff4d791f9e4";
-      sha256 = "0fhp6qxwykb1hz4xgaj4sq1h1qlfdr855fyaigw171nz0p7ki7ws";
+      rev = "3b298c243eecec533de5869eff44d87cbc41b662";
+      sha256 = "1vdzswx6nz1cw7d0328rx7xrlz2i64ynkw8ad5hxrfdmb589rjkd";
     };
     meta.homepage = "https://github.com/jose-elias-alvarez/null-ls.nvim/";
   };
 
   numb-nvim = buildVimPluginFrom2Nix {
-    pname = "numb-nvim";
+    pname = "numb.nvim";
     version = "2021-07-12";
     src = fetchFromGitHub {
       owner = "nacro90";
@@ -3479,7 +3755,7 @@ final: prev:
   };
 
   nvcode-color-schemes-vim = buildVimPluginFrom2Nix {
-    pname = "nvcode-color-schemes-vim";
+    pname = "nvcode-color-schemes.vim";
     version = "2021-07-03";
     src = fetchFromGitHub {
       owner = "ChristianChiarulli";
@@ -3494,74 +3770,62 @@ final: prev:
     pname = "nvim-ale-diagnostic";
     version = "2021-03-03";
     src = fetchFromGitHub {
-      owner = "nathunsmitty";
+      owner = "nathanmsmith";
       repo = "nvim-ale-diagnostic";
       rev = "894a6790637fdda0df1a2ee1de3f58cd8c276e10";
       sha256 = "07jfmhac8s27awx9pknxlaqz9x3sbmjx7n90pr4np389b43zgrmp";
     };
-    meta.homepage = "https://github.com/nathunsmitty/nvim-ale-diagnostic/";
+    meta.homepage = "https://github.com/nathanmsmith/nvim-ale-diagnostic/";
   };
 
   nvim-autopairs = buildVimPluginFrom2Nix {
     pname = "nvim-autopairs";
-    version = "2021-07-19";
+    version = "2021-09-02";
     src = fetchFromGitHub {
       owner = "windwp";
       repo = "nvim-autopairs";
-      rev = "b0bbe8d9089cbb045fd15d217ac5a5ec0f4f5066";
-      sha256 = "173nkjfkqklg8zk4vs69c0avrw0v6hngj0szxj7xs3yh2wfnhqnh";
+      rev = "8197c69a550f61ed7d7ebab44393a6545092a38a";
+      sha256 = "0arfkz8qgj0qp9z9ds9qsykf3f317p2zkayxi4c5spa79d5yzl55";
     };
     meta.homepage = "https://github.com/windwp/nvim-autopairs/";
   };
 
   nvim-base16 = buildVimPluginFrom2Nix {
     pname = "nvim-base16";
-    version = "2021-06-26";
+    version = "2021-08-23";
     src = fetchFromGitHub {
       owner = "RRethy";
       repo = "nvim-base16";
-      rev = "3be30f3165278e31333b44a6dcc937653893f623";
-      sha256 = "1rzj8fqbbvbyjvcdkvy5p9q02f24m0fc0sbzh1wl2wk91yb42vqb";
+      rev = "bb06f63bacdd6ca0ea6e5874843e5854ea01cb6f";
+      sha256 = "1qginyalp9j9pv1pb0448ngvfjphhj03n30jjsnk7zq11pdcdrwg";
     };
     meta.homepage = "https://github.com/RRethy/nvim-base16/";
   };
 
   nvim-bqf = buildVimPluginFrom2Nix {
     pname = "nvim-bqf";
-    version = "2021-07-11";
+    version = "2021-09-01";
     src = fetchFromGitHub {
       owner = "kevinhwang91";
       repo = "nvim-bqf";
-      rev = "46e6469fb1ef90d475fb43c56e0eeb81eacf08dd";
-      sha256 = "1mj134zmrq9ldvl7w2m4769az9g2iyk4fvrpahaz93czdx9ac6gh";
+      rev = "8f0eb6ba45acd8e9b3d4aeb4428cd22167c96c20";
+      sha256 = "1pz4l85radaf71qbsdf8bnb4zf3c77x40hwnyy72p3mk6r1wivfd";
     };
     meta.homepage = "https://github.com/kevinhwang91/nvim-bqf/";
   };
 
   nvim-bufdel = buildVimPluginFrom2Nix {
     pname = "nvim-bufdel";
-    version = "2021-05-21";
+    version = "2021-07-28";
     src = fetchFromGitHub {
       owner = "ojroques";
       repo = "nvim-bufdel";
-      rev = "9a1f0f3ed55db86f66ad87f72639269ac1374169";
-      sha256 = "0f10pik2msm7rdi9lx9ll7jgh1gk9y3q8756ri6jdzk4bwd8j4is";
+      rev = "17d17a4b16e5b5a7403470a8b5afc10772d4e84a";
+      sha256 = "1x14kiwklrnd264ihib84x2l3xgdshnv7yxvjdia5rdsvxny4kvb";
     };
     meta.homepage = "https://github.com/ojroques/nvim-bufdel/";
   };
 
-  nvim-bufferline-lua = buildVimPluginFrom2Nix {
-    pname = "nvim-bufferline-lua";
-    version = "2021-07-21";
-    src = fetchFromGitHub {
-      owner = "akinsho";
-      repo = "nvim-bufferline.lua";
-      rev = "47fc74b5b3aafd2e3028c69ab96cb215c5f6c8bc";
-      sha256 = "0mr0dh8picgd8ghm9gvgyg08cihr4k1x8l2brfahpnxha6aghx58";
-    };
-    meta.homepage = "https://github.com/akinsho/nvim-bufferline.lua/";
-  };
-
   nvim-cm-racer = buildVimPluginFrom2Nix {
     pname = "nvim-cm-racer";
     version = "2017-07-27";
@@ -3574,8 +3838,20 @@ final: prev:
     meta.homepage = "https://github.com/roxma/nvim-cm-racer/";
   };
 
+  nvim-cmp = buildVimPluginFrom2Nix {
+    pname = "nvim-cmp";
+    version = "2021-09-03";
+    src = fetchFromGitHub {
+      owner = "hrsh7th";
+      repo = "nvim-cmp";
+      rev = "972ff2732536d4c3c8cc22bcf05c0d59cac19994";
+      sha256 = "0vr1f3qcpqm1zdn5ryl7wjk7fv38pxnsxkcrwq4sra181zzp2jhc";
+    };
+    meta.homepage = "https://github.com/hrsh7th/nvim-cmp/";
+  };
+
   nvim-colorizer-lua = buildVimPluginFrom2Nix {
-    pname = "nvim-colorizer-lua";
+    pname = "nvim-colorizer.lua";
     version = "2020-06-11";
     src = fetchFromGitHub {
       owner = "norcalli";
@@ -3588,12 +3864,12 @@ final: prev:
 
   nvim-compe = buildVimPluginFrom2Nix {
     pname = "nvim-compe";
-    version = "2021-07-16";
+    version = "2021-08-31";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "nvim-compe";
-      rev = "ef97a9b17c655d8b603c5fa9abf6fbb623a1dad4";
-      sha256 = "0lrna8ryw391dpvi64x3q2gj484mf5s6wlqqg6a52a5s3ganh41n";
+      rev = "efd9f425383ec57756a74c60a6e85d190b110ed7";
+      sha256 = "0vqmpgrvgn0923dadf9y1clxpaxf56brscsx31l96v2qghwac7m8";
     };
     meta.homepage = "https://github.com/hrsh7th/nvim-compe/";
   };
@@ -3612,78 +3888,102 @@ final: prev:
 
   nvim-dap = buildVimPluginFrom2Nix {
     pname = "nvim-dap";
-    version = "2021-07-20";
+    version = "2021-09-02";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-dap";
-      rev = "e3e23d257c9a36e3d189d6b57e6c6b7e91bfa14f";
-      sha256 = "09rk3s6swwng78cpj1f2rlww2vkqai9sx72sqihk09sc16prp6cc";
+      rev = "980bdf8e68d626adba0fea7ef990966bd47052a1";
+      sha256 = "06inkm5rw9lx14jz1z4r3q669wyqm46s3b6k6aiiz2b8dldz74ll";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-dap/";
   };
 
   nvim-dap-ui = buildVimPluginFrom2Nix {
     pname = "nvim-dap-ui";
-    version = "2021-06-29";
+    version = "2021-09-01";
     src = fetchFromGitHub {
       owner = "rcarriga";
       repo = "nvim-dap-ui";
-      rev = "e32b33dae9d8d738f86f84699d4f978f8d9deb02";
-      sha256 = "0sdx890gk79qyyjs946kq3anyq8yyxvkg9sfphiavq5xs9840ps1";
+      rev = "ef803555f7b399b92b35ff7be1ec5c275d9af6d3";
+      sha256 = "09dq62dqx2gnpi3b6mf97ai0d01pvw596gyrz3bfm6p2yq8l8089";
     };
     meta.homepage = "https://github.com/rcarriga/nvim-dap-ui/";
   };
 
   nvim-dap-virtual-text = buildVimPluginFrom2Nix {
     pname = "nvim-dap-virtual-text";
-    version = "2021-06-12";
+    version = "2021-07-25";
     src = fetchFromGitHub {
       owner = "theHamsta";
       repo = "nvim-dap-virtual-text";
-      rev = "c07c23f52e1019b237927f9520c691e57adb9e6a";
-      sha256 = "0pa1xjp6h5ny7lnql8nsqszx0gpzc1fa9xiksq3k1k5yjjj4wm1z";
+      rev = "ebd0a7850432e2c9b9651b8e4091e74e59604c77";
+      sha256 = "17z8g124cg3m28fn418d3rgia6aa44xyw70h7kkl0w1xpa908n03";
     };
     meta.homepage = "https://github.com/theHamsta/nvim-dap-virtual-text/";
   };
 
+  nvim-expand-expr = buildVimPluginFrom2Nix {
+    pname = "nvim-expand-expr";
+    version = "2021-08-14";
+    src = fetchFromGitHub {
+      owner = "allendang";
+      repo = "nvim-expand-expr";
+      rev = "365cc2a0111228938fb46cffb9cc1a246d787cf0";
+      sha256 = "1nmklzvvq64dz430gzrbq6qpjrvwwfm09lsw4iiffs9fizjp95if";
+    };
+    meta.homepage = "https://github.com/allendang/nvim-expand-expr/";
+  };
+
   nvim-gdb = buildVimPluginFrom2Nix {
     pname = "nvim-gdb";
-    version = "2021-06-07";
+    version = "2021-08-02";
     src = fetchFromGitHub {
       owner = "sakhnik";
       repo = "nvim-gdb";
-      rev = "53bfce7a254651469ce9577349811bc76d9af46c";
-      sha256 = "1xcwrjfvikb1qqyaic2m0fi12l0hmxj0y5mwx1h95karpydbb0rz";
+      rev = "f2c8d5b70f4cad18db5f15e897ba006aeba08f80";
+      sha256 = "0vq9lb2vir0am85nwjqphdmlx7akvpvcfgw3mr15rvnc9spzh8ix";
     };
     meta.homepage = "https://github.com/sakhnik/nvim-gdb/";
   };
 
+  nvim-gps = buildVimPluginFrom2Nix {
+    pname = "nvim-gps";
+    version = "2021-09-02";
+    src = fetchFromGitHub {
+      owner = "smiteshp";
+      repo = "nvim-gps";
+      rev = "56d41c2ce5dfbdf32fc11ef8381a8b523774a208";
+      sha256 = "1f1wz18x0y8kbnfx859j4i6dwa8vxwny0l0cj9m5hah71slawglx";
+    };
+    meta.homepage = "https://github.com/smiteshp/nvim-gps/";
+  };
+
   nvim-highlite = buildVimPluginFrom2Nix {
     pname = "nvim-highlite";
-    version = "2021-07-19";
+    version = "2021-09-02";
     src = fetchFromGitHub {
       owner = "Iron-E";
       repo = "nvim-highlite";
-      rev = "8e1d114f3d855653bc71fba9e5a22a05d3a1b1a2";
-      sha256 = "1dm6rwx3w8hbgg20ay4bcdd3c87bqpqvl64zfc673p81m76b3s86";
+      rev = "b0c31d84d8c53999365a8d38ebefd7f1e7221b9e";
+      sha256 = "0cs47xpp1f6l9fsk320sk8kkqjanzwzg0718awzbj7rfbcvm865l";
     };
     meta.homepage = "https://github.com/Iron-E/nvim-highlite/";
   };
 
   nvim-hlslens = buildVimPluginFrom2Nix {
     pname = "nvim-hlslens";
-    version = "2021-07-17";
+    version = "2021-09-03";
     src = fetchFromGitHub {
       owner = "kevinhwang91";
       repo = "nvim-hlslens";
-      rev = "1df774df358e70cbc9f74f34d38a82e756ceb001";
-      sha256 = "1zf5i30g49f7ks6hhvr84ac3ka57lv96c124cpr1d4h9xld1n9q8";
+      rev = "20db45d5626c9441a9b8bb687dd8915db69b76cb";
+      sha256 = "1yxrs62lpanaiw1m4wbxrhq9b7xqjmca8i2hscfzn3ydvdnd0bf4";
     };
     meta.homepage = "https://github.com/kevinhwang91/nvim-hlslens/";
   };
 
   nvim-hs-vim = buildVimPluginFrom2Nix {
-    pname = "nvim-hs-vim";
+    pname = "nvim-hs.vim";
     version = "2020-08-29";
     src = fetchFromGitHub {
       owner = "neovimhaskell";
@@ -3696,48 +3996,48 @@ final: prev:
 
   nvim-jdtls = buildVimPluginFrom2Nix {
     pname = "nvim-jdtls";
-    version = "2021-07-12";
+    version = "2021-08-31";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-jdtls";
-      rev = "391e55bb5f90bc23e47c3b57eed6c6fcc95b0e7f";
-      sha256 = "1djjdllr1klzy9yggkwmv7cv8gcpyb96mw1c9qfq9vdi5fmhcsyn";
+      rev = "6566daf66fe8c05e963a1a5358ef81eca7a1e135";
+      sha256 = "1hqyzm6lgnm5qyibjjqx2h7nahqnb726832b489vabvvca4s0ndj";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-jdtls/";
   };
 
   nvim-lightbulb = buildVimPluginFrom2Nix {
     pname = "nvim-lightbulb";
-    version = "2021-06-05";
+    version = "2021-08-21";
     src = fetchFromGitHub {
       owner = "kosayoda";
       repo = "nvim-lightbulb";
-      rev = "388cc8caaf3e10836810aabbb9283a27dd8584cd";
-      sha256 = "0a7izbvpwn0sx9gvpczvl57fy9rm7jaibc4m44asjz501m04lbra";
+      rev = "e94e434f4549c9c331f875931b3e804fb1d2bc16";
+      sha256 = "0043vzjp4p48xw03xn9g5l0daplg3rfijqxdq00kp0s6np3c312j";
     };
     meta.homepage = "https://github.com/kosayoda/nvim-lightbulb/";
   };
 
   nvim-lspconfig = buildVimPluginFrom2Nix {
     pname = "nvim-lspconfig";
-    version = "2021-07-20";
+    version = "2021-09-02";
     src = fetchFromGitHub {
       owner = "neovim";
       repo = "nvim-lspconfig";
-      rev = "4f72377143fc0961391fb0e42e751b9f677fca4e";
-      sha256 = "1w9gjnv98gv8jwkkw1x5jsnc8366w1jcllipxlrij97z6hspqc8m";
+      rev = "71c241425fd7a84f0ae33ea1eb7c071f20499bcd";
+      sha256 = "15hrqdzz6y07p6d7w8ydqra27pl3hqphzwlh2bqixpdpq9chlhyh";
     };
     meta.homepage = "https://github.com/neovim/nvim-lspconfig/";
   };
 
   nvim-lsputils = buildVimPluginFrom2Nix {
     pname = "nvim-lsputils";
-    version = "2021-05-27";
+    version = "2021-08-09";
     src = fetchFromGitHub {
       owner = "RishabhRD";
       repo = "nvim-lsputils";
-      rev = "f34927f8ec777f4e91e14afc709de9da1cd70116";
-      sha256 = "1s1pvddgkdslh3r9p08r3xjdpi93d15i4k1jssh8apxzm37gw7lm";
+      rev = "ae2f20d6938bab234815e0bc69dae1a991307b99";
+      sha256 = "0ikim2zwrlc19bpshr1vzsk15wi5z7am59f4fi53rbh985jmncqr";
     };
     meta.homepage = "https://github.com/RishabhRD/nvim-lsputils/";
   };
@@ -3754,6 +4054,18 @@ final: prev:
     meta.homepage = "https://github.com/yamatsum/nvim-nonicons/";
   };
 
+  nvim-notify = buildVimPluginFrom2Nix {
+    pname = "nvim-notify";
+    version = "2021-09-03";
+    src = fetchFromGitHub {
+      owner = "rcarriga";
+      repo = "nvim-notify";
+      rev = "3c394b379eea00699a2a2515a19ceb3b79068a8f";
+      sha256 = "10gw5sfn5kjw87961mcci5zam428zyfnx2c1l1lvgwsxnla7cbqz";
+    };
+    meta.homepage = "https://github.com/rcarriga/nvim-notify/";
+  };
+
   nvim-peekup = buildVimPluginFrom2Nix {
     pname = "nvim-peekup";
     version = "2021-07-05";
@@ -3768,18 +4080,18 @@ final: prev:
 
   nvim-scrollview = buildVimPluginFrom2Nix {
     pname = "nvim-scrollview";
-    version = "2021-07-20";
+    version = "2021-09-03";
     src = fetchFromGitHub {
       owner = "dstein64";
       repo = "nvim-scrollview";
-      rev = "b7ca5298fd75700cc74b122654241f5ed24ecf96";
-      sha256 = "0pywghia4hv9pa8g1irmqc1qrbvbhhibazx8z6kcqrrmsb3026g5";
+      rev = "bec1c4b9b4c8f6a3fccb20ecc2469e91ec791614";
+      sha256 = "0w2lxr6jd2dw2bvv09qwg11sxav7c8imw65zs7zx6anyznx1p86r";
     };
     meta.homepage = "https://github.com/dstein64/nvim-scrollview/";
   };
 
   nvim-terminal-lua = buildVimPluginFrom2Nix {
-    pname = "nvim-terminal-lua";
+    pname = "nvim-terminal.lua";
     version = "2019-10-17";
     src = fetchFromGitHub {
       owner = "norcalli";
@@ -3790,50 +4102,38 @@ final: prev:
     meta.homepage = "https://github.com/norcalli/nvim-terminal.lua/";
   };
 
-  nvim-toggleterm-lua = buildVimPluginFrom2Nix {
-    pname = "nvim-toggleterm-lua";
-    version = "2021-07-19";
-    src = fetchFromGitHub {
-      owner = "akinsho";
-      repo = "nvim-toggleterm.lua";
-      rev = "0e11e0322c1730559cb74f728300de2912bf9a61";
-      sha256 = "10r9zqmkhh3bpjhjhrr24vssy5wazd4499sxsyqsr6p9bb1mkhqh";
-    };
-    meta.homepage = "https://github.com/akinsho/nvim-toggleterm.lua/";
-  };
-
   nvim-tree-lua = buildVimPluginFrom2Nix {
-    pname = "nvim-tree-lua";
-    version = "2021-07-19";
+    pname = "nvim-tree.lua";
+    version = "2021-09-03";
     src = fetchFromGitHub {
       owner = "kyazdani42";
       repo = "nvim-tree.lua";
-      rev = "d3e76b81e5b169af192dea4da0bd6f64faad2c36";
-      sha256 = "0hw50yyikndx1260a50j6izjsa4m709r7v3qzrpwz482d7fq700j";
+      rev = "425f5eedc7fa2c6152063d59ec1d840136f37d0d";
+      sha256 = "0k7a21kc50bgasmd25pk8caxrnjyl3inlxixxnck75b0rdf03bvf";
     };
     meta.homepage = "https://github.com/kyazdani42/nvim-tree.lua/";
   };
 
   nvim-treesitter = buildVimPluginFrom2Nix {
     pname = "nvim-treesitter";
-    version = "2021-07-20";
+    version = "2021-07-18";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter";
-      rev = "e473630fe0872cb0ed97cd7085e724aa58bc1c84";
-      sha256 = "1l6cv9znpwnk4hmg3vh8gy26s8hvlbg03wmd7snjwxcpfyj6vi84";
+      rev = "27f5e99cdd1b4e7f6a5cc30016d990ebf81a561c";
+      sha256 = "1msnzijwz4bj7hv8zkzp0x3y3dwwm3v5n63pmdx865d8ggb8dln6";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/";
   };
 
   nvim-treesitter-context = buildVimPluginFrom2Nix {
     pname = "nvim-treesitter-context";
-    version = "2021-06-05";
+    version = "2021-08-08";
     src = fetchFromGitHub {
       owner = "romgrk";
       repo = "nvim-treesitter-context";
-      rev = "bdc598b519cfbfdf61baf9a27953da2fc1642b23";
-      sha256 = "1slyjfjcrna06b23kbw4vf81qbncgimzhw1qsqwsqldnvdc35lcr";
+      rev = "9c71ace8af7bfbfef3beb25c648c8d41f72bd09a";
+      sha256 = "1jp4an8nni9m8528lza6vc0bj5pkmzfadzvqrgh6vi545ppmxihl";
     };
     meta.homepage = "https://github.com/romgrk/nvim-treesitter-context/";
   };
@@ -3864,42 +4164,54 @@ final: prev:
 
   nvim-treesitter-textobjects = buildVimPluginFrom2Nix {
     pname = "nvim-treesitter-textobjects";
-    version = "2021-07-20";
+    version = "2021-07-25";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter-textobjects";
-      rev = "7f36db566c66998e04ea569723174c42d8190903";
-      sha256 = "1j2vjlfrvvvxzqq2z6z9mdlanq8q8zhfhffbrygv1zgrp6izhhkx";
+      rev = "b100e6188c4b1e90af4066593e36a9f4ca7364b7";
+      sha256 = "1npcs5dxylny79hbkk1cnp3xp2yh4s3s6j314721k2v5mhim3dw2";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter-textobjects/";
   };
 
+  nvim-ts-context-commentstring = buildVimPluginFrom2Nix {
+    pname = "nvim-ts-context-commentstring";
+    version = "2021-08-17";
+    src = fetchFromGitHub {
+      owner = "joosepalviste";
+      repo = "nvim-ts-context-commentstring";
+      rev = "72a3f45a294a4a871101f820c6b94a29bd9b203f";
+      sha256 = "12cpak7b2aw2wrfx6gpw4lqx9c65q4fibsy5vf3a7h5g1i6yjg2m";
+    };
+    meta.homepage = "https://github.com/joosepalviste/nvim-ts-context-commentstring/";
+  };
+
   nvim-ts-rainbow = buildVimPluginFrom2Nix {
     pname = "nvim-ts-rainbow";
-    version = "2021-07-19";
+    version = "2021-08-27";
     src = fetchFromGitHub {
       owner = "p00f";
       repo = "nvim-ts-rainbow";
-      rev = "038cda43f4b7e8819c230de2bbe943972ed2f37c";
-      sha256 = "0kdzfi5dm1lm1bzagf60c8dd1a3zz0x4qp28nns6nhiv7kljj3zy";
+      rev = "aa27d56bc53a82f501cd89cd797969f5e2211c61";
+      sha256 = "1xaigr825wd1q4kxayki8a1pqfcyps07llfl6naa05k5x4g59izv";
     };
     meta.homepage = "https://github.com/p00f/nvim-ts-rainbow/";
   };
 
   nvim-web-devicons = buildVimPluginFrom2Nix {
     pname = "nvim-web-devicons";
-    version = "2021-05-19";
+    version = "2021-08-31";
     src = fetchFromGitHub {
       owner = "kyazdani42";
       repo = "nvim-web-devicons";
-      rev = "da717e19678bd6ec33008cf92da05da1b8ceb87d";
-      sha256 = "0jvvjpbxdgch0wvgdmihkqng84rwifq74q858cvfahrx3y5y1cnw";
+      rev = "c8ce86df2ee0f5bb455c4188c8a4c77d3c9ef714";
+      sha256 = "1n6cp02zmz3ykgw7ywh59fw48q13s3friql7cfbx8sdb1qsjmh8h";
     };
     meta.homepage = "https://github.com/kyazdani42/nvim-web-devicons/";
   };
 
   nvim-whichkey-setup-lua = buildVimPluginFrom2Nix {
-    pname = "nvim-whichkey-setup-lua";
+    pname = "nvim-whichkey-setup.lua";
     version = "2021-04-16";
     src = fetchFromGitHub {
       owner = "AckslD";
@@ -3922,8 +4234,20 @@ final: prev:
     meta.homepage = "https://github.com/roxma/nvim-yarp/";
   };
 
+  nvim_context_vt = buildVimPluginFrom2Nix {
+    pname = "nvim_context_vt";
+    version = "2021-08-31";
+    src = fetchFromGitHub {
+      owner = "haringsrob";
+      repo = "nvim_context_vt";
+      rev = "df026a7186e33e20c4b8f98f8f94a5caecc345af";
+      sha256 = "0lxkmld4rg3vzxbx23v3r3hxkgj572kngddvy4l83068gwmdr08m";
+    };
+    meta.homepage = "https://github.com/haringsrob/nvim_context_vt/";
+  };
+
   nvimdev-nvim = buildVimPluginFrom2Nix {
-    pname = "nvimdev-nvim";
+    pname = "nvimdev.nvim";
     version = "2019-10-09";
     src = fetchFromGitHub {
       owner = "neovim";
@@ -3971,25 +4295,25 @@ final: prev:
   };
 
   onedark-nvim = buildVimPluginFrom2Nix {
-    pname = "onedark-nvim";
-    version = "2021-07-16";
+    pname = "onedark.nvim";
+    version = "2021-08-30";
     src = fetchFromGitHub {
       owner = "olimorris";
       repo = "onedark.nvim";
-      rev = "df80982b43ced71a286933e830b26faabb9a36e9";
-      sha256 = "1hddmi543js7z77383ppvdray2dri5jn8lcqivk9xm5l8maz52cz";
+      rev = "7dc9734260e8af794ab69d6976a693e8c631d617";
+      sha256 = "1hw9m6fasbpy67a4h2a0zw7231gpc4995aj6p4ljk4kw6672mnlw";
     };
     meta.homepage = "https://github.com/olimorris/onedark.nvim/";
   };
 
   onedark-vim = buildVimPluginFrom2Nix {
-    pname = "onedark-vim";
-    version = "2021-07-12";
+    pname = "onedark.vim";
+    version = "2021-08-12";
     src = fetchFromGitHub {
       owner = "joshdick";
       repo = "onedark.vim";
-      rev = "ee4b22cbae8a3a434fad832bd89a6981c7c061af";
-      sha256 = "1fz3ly97w0n8viarlqil2q38s6hwd0lzyyi2jvpqsg9bj07dg4k3";
+      rev = "bd199dfa76cd0ff4abef2a8ad19c44d35552879d";
+      sha256 = "1xh3ypma3kmn0nb8szq14flfca6ss8k2f1vlnvyapa8dc9i731yy";
     };
     meta.homepage = "https://github.com/joshdick/onedark.vim/";
   };
@@ -4007,7 +4331,7 @@ final: prev:
   };
 
   open-browser-github-vim = buildVimPluginFrom2Nix {
-    pname = "open-browser-github-vim";
+    pname = "open-browser-github.vim";
     version = "2021-03-21";
     src = fetchFromGitHub {
       owner = "tyru";
@@ -4019,7 +4343,7 @@ final: prev:
   };
 
   open-browser-vim = buildVimPluginFrom2Nix {
-    pname = "open-browser-vim";
+    pname = "open-browser.vim";
     version = "2020-05-20";
     src = fetchFromGitHub {
       owner = "tyru";
@@ -4031,19 +4355,19 @@ final: prev:
   };
 
   packer-nvim = buildVimPluginFrom2Nix {
-    pname = "packer-nvim";
-    version = "2021-07-17";
+    pname = "packer.nvim";
+    version = "2021-09-01";
     src = fetchFromGitHub {
       owner = "wbthomason";
       repo = "packer.nvim";
-      rev = "b6a904b341c56c5386bdd5c991439a834d061874";
-      sha256 = "1ja6k5cw6v5nhi91s643r6c38a15rgi4n8cb0k5pc5q252q8km04";
+      rev = "3f950aeed3bd908e33fd59643e8f3be05b719df6";
+      sha256 = "0sa6ygr0sb67p1bfjwhi2fm19yvalgy2zv1j55r66gh8lwmg0xx2";
     };
     meta.homepage = "https://github.com/wbthomason/packer.nvim/";
   };
 
   palenight-vim = buildVimPluginFrom2Nix {
-    pname = "palenight-vim";
+    pname = "palenight.vim";
     version = "2020-10-20";
     src = fetchFromGitHub {
       owner = "drewtempelmeyer";
@@ -4079,7 +4403,7 @@ final: prev:
   };
 
   pears-nvim = buildVimPluginFrom2Nix {
-    pname = "pears-nvim";
+    pname = "pears.nvim";
     version = "2021-05-27";
     src = fetchFromGitHub {
       owner = "steelsojka";
@@ -4091,7 +4415,7 @@ final: prev:
   };
 
   peskcolor-vim = buildVimPluginFrom2Nix {
-    pname = "peskcolor-vim";
+    pname = "peskcolor.vim";
     version = "2016-06-11";
     src = fetchFromGitHub {
       owner = "andsild";
@@ -4103,7 +4427,7 @@ final: prev:
   };
 
   pig-vim = buildVimPluginFrom2Nix {
-    pname = "pig-vim";
+    pname = "pig.vim";
     version = "2017-06-08";
     src = fetchFromGitHub {
       owner = "motus";
@@ -4116,36 +4440,36 @@ final: prev:
 
   plantuml-syntax = buildVimPluginFrom2Nix {
     pname = "plantuml-syntax";
-    version = "2021-04-08";
+    version = "2021-09-01";
     src = fetchFromGitHub {
       owner = "aklt";
       repo = "plantuml-syntax";
-      rev = "a26961c0b729c6ec4d40a08d30e1c4256964744b";
-      sha256 = "1llrk17iihb80lnag136sy5vayqp2zd4imh3hp7msbns8dvp3hfy";
+      rev = "405186847a44c16dd039bb644541b4c8fbdab095";
+      sha256 = "07s9wjls1rix7wyc2b2nfzsgcqd54slbv64fy7lyv3bkzrbdz8c0";
     };
     meta.homepage = "https://github.com/aklt/plantuml-syntax/";
   };
 
   playground = buildVimPluginFrom2Nix {
     pname = "playground";
-    version = "2021-07-13";
+    version = "2021-07-27";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "playground";
-      rev = "2715d35f27cbdfe6231e48212d12be383013f442";
-      sha256 = "0z1vlsdmhlw6pbga9nypsihzjybglyr8is3maqbyqswrmz1yg87h";
+      rev = "deb887b3f49d66654d9faa9778e8949fe0d80bc3";
+      sha256 = "10jlgsqkplisa1fd7i36yb46fdsa0cx069bpwp2yl4ki2jys953j";
     };
     meta.homepage = "https://github.com/nvim-treesitter/playground/";
   };
 
   plenary-nvim = buildVimPluginFrom2Nix {
-    pname = "plenary-nvim";
-    version = "2021-07-12";
+    pname = "plenary.nvim";
+    version = "2021-09-01";
     src = fetchFromGitHub {
       owner = "nvim-lua";
       repo = "plenary.nvim";
-      rev = "8bae2c1fadc9ed5bfcfb5ecbd0c0c4d7d40cb974";
-      sha256 = "1axvjv6n77afkjqk914dpc020kxd7mig6m5sr916k1n1q35jc4ny";
+      rev = "06266e7bf675ba9af887fb6d1661b289fdd9bcf4";
+      sha256 = "02c1y9ygzq8fmcgy7l4khpb141v2fww3gbl8vf0ds2f70zgglxs4";
     };
     meta.homepage = "https://github.com/nvim-lua/plenary.nvim/";
   };
@@ -4176,25 +4500,25 @@ final: prev:
   };
 
   popup-nvim = buildVimPluginFrom2Nix {
-    pname = "popup-nvim";
-    version = "2021-05-08";
+    pname = "popup.nvim";
+    version = "2021-08-09";
     src = fetchFromGitHub {
       owner = "nvim-lua";
       repo = "popup.nvim";
-      rev = "5e3bece7b4b4905f4ec89bee74c09cfd8172a16a";
-      sha256 = "1k6rz652fjkzhjd8ljr0l6vfispanrlpq0r4aya4qswzxni4rxhg";
+      rev = "f91d80973f80025d4ed00380f2e06c669dfda49d";
+      sha256 = "1pp1d6kbx8yn4cg2zs8rynvvpa8y89ryr8rial9csg26v2z22z95";
     };
     meta.homepage = "https://github.com/nvim-lua/popup.nvim/";
   };
 
   presence-nvim = buildVimPluginFrom2Nix {
-    pname = "presence-nvim";
-    version = "2021-07-09";
+    pname = "presence.nvim";
+    version = "2021-09-03";
     src = fetchFromGitHub {
       owner = "andweeb";
       repo = "presence.nvim";
-      rev = "080d24394b9abc93b6cd7635cb96c7d6601759a3";
-      sha256 = "19xc61xfdyi21k9wbs63iynkfysqi3v28897bqig8myjr1mifbpb";
+      rev = "0072e310e3c3174871a0545345a1b2a14da46d4e";
+      sha256 = "0jhvm4vyqw77x5lkm93aa54ma2yf77js6kgcrcr1024gnggnznz7";
     };
     meta.homepage = "https://github.com/andweeb/presence.nvim/";
   };
@@ -4259,6 +4583,18 @@ final: prev:
     meta.homepage = "https://github.com/python-mode/python-mode/";
   };
 
+  python-syntax = buildVimPluginFrom2Nix {
+    pname = "python-syntax";
+    version = "2020-12-14";
+    src = fetchFromGitHub {
+      owner = "vim-python";
+      repo = "python-syntax";
+      rev = "2cc00ba72929ea5f9456a26782db57fb4cc56a65";
+      sha256 = "1w4yd25rnbhsps81agvq0kr3vcbifrlpb7h4z0vcgsx1nvmxy205";
+    };
+    meta.homepage = "https://github.com/vim-python/python-syntax/";
+  };
+
   QFEnter = buildVimPluginFrom2Nix {
     pname = "QFEnter";
     version = "2020-10-09";
@@ -4284,7 +4620,7 @@ final: prev:
   };
 
   quickfix-reflector-vim = buildVimPluginFrom2Nix {
-    pname = "quickfix-reflector-vim";
+    pname = "quickfix-reflector.vim";
     version = "2019-12-11";
     src = fetchFromGitHub {
       owner = "stefandtw";
@@ -4320,7 +4656,7 @@ final: prev:
   };
 
   rainbow_parentheses-vim = buildVimPluginFrom2Nix {
-    pname = "rainbow_parentheses-vim";
+    pname = "rainbow_parentheses.vim";
     version = "2013-03-05";
     src = fetchFromGitHub {
       owner = "kien";
@@ -4332,7 +4668,7 @@ final: prev:
   };
 
   random-vim = buildVimPluginFrom2Nix {
-    pname = "random-vim";
+    pname = "random.vim";
     version = "2010-10-18";
     src = fetchFromGitHub {
       owner = "vim-scripts";
@@ -4343,8 +4679,20 @@ final: prev:
     meta.homepage = "https://github.com/vim-scripts/random.vim/";
   };
 
+  range-highlight-nvim = buildVimPluginFrom2Nix {
+    pname = "range-highlight.nvim";
+    version = "2021-08-03";
+    src = fetchFromGitHub {
+      owner = "winston0410";
+      repo = "range-highlight.nvim";
+      rev = "8b5e8ccb3460b2c3675f4639b9f54e64eaab36d9";
+      sha256 = "1yswni0p1w7ja6cddxyd3m4hi8gsdyh8hm8rlk878b096maxkgw1";
+    };
+    meta.homepage = "https://github.com/winston0410/range-highlight.nvim/";
+  };
+
   ranger-vim = buildVimPluginFrom2Nix {
-    pname = "ranger-vim";
+    pname = "ranger.vim";
     version = "2021-04-25";
     src = fetchFromGitHub {
       owner = "rafaqz";
@@ -4356,7 +4704,7 @@ final: prev:
   };
 
   readline-vim = buildVimPluginFrom2Nix {
-    pname = "readline-vim";
+    pname = "readline.vim";
     version = "2019-12-28";
     src = fetchFromGitHub {
       owner = "ryvnf";
@@ -4368,25 +4716,37 @@ final: prev:
   };
 
   Recover-vim = buildVimPluginFrom2Nix {
-    pname = "Recover-vim";
-    version = "2021-05-18";
+    pname = "Recover.vim";
+    version = "2021-07-22";
     src = fetchFromGitHub {
       owner = "chrisbra";
       repo = "Recover.vim";
-      rev = "097b098e62d6499967e44091689c104165ad5e22";
-      sha256 = "12qizfs7d0xh10vzm7spcqsi53k3iqvbfp5nhb3qh3xdsavzyp0m";
+      rev = "48b6bc12b560d3013cd30c7959e235993374c24b";
+      sha256 = "1ia2bv7yigcv944rkqy7jlrzi71m3k9kzj1hjhyrk0c2rg738r94";
     };
     meta.homepage = "https://github.com/chrisbra/Recover.vim/";
   };
 
+  refactoring-nvim = buildVimPluginFrom2Nix {
+    pname = "refactoring.nvim";
+    version = "2021-09-02";
+    src = fetchFromGitHub {
+      owner = "theprimeagen";
+      repo = "refactoring.nvim";
+      rev = "220685f62532d28af64def09266b8341502044cc";
+      sha256 = "0pv78vkhsnhc690q449950abxlr6w88xj60g39hyx9y5wkq8aqks";
+    };
+    meta.homepage = "https://github.com/theprimeagen/refactoring.nvim/";
+  };
+
   registers-nvim = buildVimPluginFrom2Nix {
-    pname = "registers-nvim";
-    version = "2021-07-11";
+    pname = "registers.nvim";
+    version = "2021-08-11";
     src = fetchFromGitHub {
       owner = "tversteeg";
       repo = "registers.nvim";
-      rev = "8b02ba8dc9a2946f90f51cc43ff1175b0f916616";
-      sha256 = "10xrwxm5qpb1d25d5kr485xik4wmgr0pz92jn9w5rbf6widsdi7a";
+      rev = "fc070007d6c1c87a671db6632425004fa8a0b2e2";
+      sha256 = "1bziyijfsm5q1m6bbp5m7nkki48f16nsiyibr178k9rlr2k6yccm";
     };
     meta.homepage = "https://github.com/tversteeg/registers.nvim/";
   };
@@ -4416,25 +4776,25 @@ final: prev:
   };
 
   riv-vim = buildVimPluginFrom2Nix {
-    pname = "riv-vim";
-    version = "2020-04-09";
+    pname = "riv.vim";
+    version = "2021-08-09";
     src = fetchFromGitHub {
       owner = "gu-fan";
       repo = "riv.vim";
-      rev = "e26c3e8dce4c1332e802cde84f83e61ec8a13986";
-      sha256 = "1da3iwrpy08rayrsf8v0ml4khlp9j5i4cffpv9j3iyalcbhk2m9g";
+      rev = "201ffc4e8dbfc3deeb26c6e278980f53d81d7f6a";
+      sha256 = "1drl291lq44hf7qx1g6l5ivqclfb6ih9lj5qy5cmv9w9b3svwlv4";
     };
     meta.homepage = "https://github.com/gu-fan/riv.vim/";
   };
 
   rnvimr = buildVimPluginFrom2Nix {
     pname = "rnvimr";
-    version = "2021-05-19";
+    version = "2021-08-22";
     src = fetchFromGitHub {
       owner = "kevinhwang91";
       repo = "rnvimr";
-      rev = "dacb2ba386d982d4466aa469799376c38ddcfd2a";
-      sha256 = "1b8zb6k92iwmvdny5g16d5y5zl8fc235vlgvxrnipcfj4m3ch0yy";
+      rev = "9f75ac3734bde4cd2cc1726b6936650ac4e144d6";
+      sha256 = "03jgq6rd3rxs6hn2ksh8nbkbv7lpabcb7372xifq5vhgqqfj447j";
     };
     meta.homepage = "https://github.com/kevinhwang91/rnvimr/";
   };
@@ -4452,7 +4812,7 @@ final: prev:
   };
 
   rspec-vim = buildVimPluginFrom2Nix {
-    pname = "rspec-vim";
+    pname = "rspec.vim";
     version = "2020-08-20";
     src = fetchFromGitHub {
       owner = "keith";
@@ -4476,31 +4836,31 @@ final: prev:
   };
 
   rust-tools-nvim = buildVimPluginFrom2Nix {
-    pname = "rust-tools-nvim";
-    version = "2021-07-21";
+    pname = "rust-tools.nvim";
+    version = "2021-08-29";
     src = fetchFromGitHub {
       owner = "simrat39";
       repo = "rust-tools.nvim";
-      rev = "11f232c7a82c3fd5d34654c6b02abae4f56ac5e6";
-      sha256 = "1xyrf6s8szd1lpz70ng1whhysjvnn7pxi80knyrjrkqzkqpimiac";
+      rev = "54a7a24cc7afd9cec765a3c30e23859b974e731d";
+      sha256 = "16y4mdxmvbdgb5k6lds4kwd1xh005g1v1vlnbykjd1lnkfz4h4kq";
     };
     meta.homepage = "https://github.com/simrat39/rust-tools.nvim/";
   };
 
   rust-vim = buildVimPluginFrom2Nix {
-    pname = "rust-vim";
-    version = "2021-02-15";
+    pname = "rust.vim";
+    version = "2021-08-30";
     src = fetchFromGitHub {
       owner = "rust-lang";
       repo = "rust.vim";
-      rev = "87c745d8d506fc1eecc1d81df15d5bde1658a2fc";
-      sha256 = "0v0ip731lclh9aqrmlqwnnz4skgawaq3invghh1c7lh0zdq22lzb";
+      rev = "7505d5b7f66a163209a181dff327b57d592da7c2";
+      sha256 = "0n2044mgnzpkvx4wr2ihx16ajw6mczqcvirv31md97qicrzfqy91";
     };
     meta.homepage = "https://github.com/rust-lang/rust.vim/";
   };
 
   sad-vim = buildVimPluginFrom2Nix {
-    pname = "sad-vim";
+    pname = "sad.vim";
     version = "2019-02-18";
     src = fetchFromGitHub {
       owner = "hauleth";
@@ -4524,7 +4884,7 @@ final: prev:
   };
 
   scrollbar-nvim = buildVimPluginFrom2Nix {
-    pname = "scrollbar-nvim";
+    pname = "scrollbar.nvim";
     version = "2021-06-04";
     src = fetchFromGitHub {
       owner = "Xuyuanp";
@@ -4535,6 +4895,18 @@ final: prev:
     meta.homepage = "https://github.com/Xuyuanp/scrollbar.nvim/";
   };
 
+  securemodelines = buildVimPluginFrom2Nix {
+    pname = "securemodelines";
+    version = "2019-02-09";
+    src = fetchFromGitHub {
+      owner = "RobertAudi";
+      repo = "securemodelines";
+      rev = "657ebcb88be5e09b715cac903a874046bdd7fc4e";
+      sha256 = "0cqf2vakfhfb3wjmz5kz9kync252sffx3rvlnb8vbfs1p6l19vhs";
+    };
+    meta.homepage = "https://github.com/RobertAudi/securemodelines/";
+  };
+
   self = buildVimPluginFrom2Nix {
     pname = "self";
     version = "2014-05-28";
@@ -4548,7 +4920,7 @@ final: prev:
   };
 
   semantic-highlight-vim = buildVimPluginFrom2Nix {
-    pname = "semantic-highlight-vim";
+    pname = "semantic-highlight.vim";
     version = "2020-09-11";
     src = fetchFromGitHub {
       owner = "jaxbot";
@@ -4561,18 +4933,18 @@ final: prev:
 
   semshi = buildVimPluginFrom2Nix {
     pname = "semshi";
-    version = "2021-07-13";
+    version = "2021-07-24";
     src = fetchFromGitHub {
       owner = "numirias";
       repo = "semshi";
-      rev = "39c7500032f35711aecb492affd989433b984f14";
-      sha256 = "14hv67fhmq85m382grc6h07r5xs83mmx3j8nf94j60gwbybhlkdb";
+      rev = "252f07fd5f0ae9eb19d02bae979fd7c9152c1ccf";
+      sha256 = "0r1nrkhyhk08vfhf9hnbhjlnqy0imqhdqx31y301k2kb31hyiyq3";
     };
     meta.homepage = "https://github.com/numirias/semshi/";
   };
 
   seoul256-vim = buildVimPluginFrom2Nix {
-    pname = "seoul256-vim";
+    pname = "seoul256.vim";
     version = "2020-06-21";
     src = fetchFromGitHub {
       owner = "junegunn";
@@ -4584,7 +4956,7 @@ final: prev:
   };
 
   shabadou-vim = buildVimPluginFrom2Nix {
-    pname = "shabadou-vim";
+    pname = "shabadou.vim";
     version = "2016-07-19";
     src = fetchFromGitHub {
       owner = "osyo-manga";
@@ -4596,7 +4968,7 @@ final: prev:
   };
 
   Shade-nvim = buildVimPluginFrom2Nix {
-    pname = "Shade-nvim";
+    pname = "Shade.nvim";
     version = "2021-04-29";
     src = fetchFromGitHub {
       owner = "sunjon";
@@ -4620,7 +4992,7 @@ final: prev:
   };
 
   sideways-vim = buildVimPluginFrom2Nix {
-    pname = "sideways-vim";
+    pname = "sideways.vim";
     version = "2021-07-15";
     src = fetchFromGitHub {
       owner = "AndrewRadev";
@@ -4645,7 +5017,7 @@ final: prev:
   };
 
   skim-vim = buildVimPluginFrom2Nix {
-    pname = "skim-vim";
+    pname = "skim.vim";
     version = "2020-11-11";
     src = fetchFromGitHub {
       owner = "lotabout";
@@ -4657,7 +5029,7 @@ final: prev:
   };
 
   sky-color-clock-vim = buildVimPluginFrom2Nix {
-    pname = "sky-color-clock-vim";
+    pname = "sky-color-clock.vim";
     version = "2018-11-03";
     src = fetchFromGitHub {
       owner = "mopp";
@@ -4669,7 +5041,7 @@ final: prev:
   };
 
   smartpairs-vim = buildVimPluginFrom2Nix {
-    pname = "smartpairs-vim";
+    pname = "smartpairs.vim";
     version = "2018-01-01";
     src = fetchFromGitHub {
       owner = "gorkunov";
@@ -4693,7 +5065,7 @@ final: prev:
   };
 
   snippets-nvim = buildVimPluginFrom2Nix {
-    pname = "snippets-nvim";
+    pname = "snippets.nvim";
     version = "2020-09-09";
     src = fetchFromGitHub {
       owner = "norcalli";
@@ -4706,18 +5078,18 @@ final: prev:
 
   sonokai = buildVimPluginFrom2Nix {
     pname = "sonokai";
-    version = "2021-07-19";
+    version = "2021-09-03";
     src = fetchFromGitHub {
       owner = "sainnhe";
       repo = "sonokai";
-      rev = "9d8c57c2b0bf57082093bf1b162ac492206d35dd";
-      sha256 = "0ymgbcy8v7ang4ghlkr52wq86ydr4pma1vwvp78y5yhi4xmn82mn";
+      rev = "61b796d94e7b0110f1bdf321cc1d19a841697a42";
+      sha256 = "1jan5ahp3rpr71qvjnd4jf4kxl7ijknaw3d3h0svlzhqd0pbq92p";
     };
     meta.homepage = "https://github.com/sainnhe/sonokai/";
   };
 
   sourcemap-vim = buildVimPluginFrom2Nix {
-    pname = "sourcemap-vim";
+    pname = "sourcemap.vim";
     version = "2012-09-19";
     src = fetchFromGitHub {
       owner = "chikatoike";
@@ -4741,7 +5113,7 @@ final: prev:
   };
 
   Spacegray-vim = buildVimPluginFrom2Nix {
-    pname = "Spacegray-vim";
+    pname = "Spacegray.vim";
     version = "2021-07-06";
     src = fetchFromGitHub {
       owner = "ackyshake";
@@ -4777,7 +5149,7 @@ final: prev:
   };
 
   specs-nvim = buildVimPluginFrom2Nix {
-    pname = "specs-nvim";
+    pname = "specs.nvim";
     version = "2021-05-05";
     src = fetchFromGitHub {
       owner = "edluffy";
@@ -4789,7 +5161,7 @@ final: prev:
   };
 
   splice-vim = buildVimPluginFrom2Nix {
-    pname = "splice-vim";
+    pname = "splice.vim";
     version = "2020-01-15";
     src = fetchFromGitHub {
       owner = "sjl";
@@ -4801,7 +5173,7 @@ final: prev:
   };
 
   split-term-vim = buildVimPluginFrom2Nix {
-    pname = "split-term-vim";
+    pname = "split-term.vim";
     version = "2018-09-30";
     src = fetchFromGitHub {
       owner = "vimlab";
@@ -4813,42 +5185,54 @@ final: prev:
   };
 
   splitjoin-vim = buildVimPluginFrom2Nix {
-    pname = "splitjoin-vim";
-    version = "2021-07-17";
+    pname = "splitjoin.vim";
+    version = "2021-08-02";
     src = fetchFromGitHub {
       owner = "AndrewRadev";
       repo = "splitjoin.vim";
-      rev = "e5c60658d9aca5af479ef6371037cc6453a6b1eb";
-      sha256 = "07l7acnhp9nwwkmybjs2fdprql5nanyxxn9z3wl59y8jx2ca44p7";
+      rev = "a27352edee29fad650f129a41908bc62efc82978";
+      sha256 = "111z3kc3wc8n8cdmc0v4aysh8irfg4px0n0224wvsswax8ql2q74";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/AndrewRadev/splitjoin.vim/";
   };
 
-  sql-nvim = buildVimPluginFrom2Nix {
-    pname = "sql-nvim";
-    version = "2021-07-19";
+  sqlite-lua = buildVimPluginFrom2Nix {
+    pname = "sqlite.lua";
+    version = "2021-09-03";
     src = fetchFromGitHub {
       owner = "tami5";
-      repo = "sql.nvim";
-      rev = "9983108bc9941af842d3b847b60564d180fc8e4b";
-      sha256 = "1f1f1v107w61b86pdrs9qvchyg286nif31c5cp3yx6rq22fynbgd";
+      repo = "sqlite.lua";
+      rev = "f1051e5ee1dbc9a41007f94433ff882e4243fafa";
+      sha256 = "0vyb48x65ywsc7hdcp1ggmlah97866dpx4wmidjck15mqzkiwldz";
     };
-    meta.homepage = "https://github.com/tami5/sql.nvim/";
+    meta.homepage = "https://github.com/tami5/sqlite.lua/";
   };
 
   srcery-vim = buildVimPluginFrom2Nix {
     pname = "srcery-vim";
-    version = "2021-07-21";
+    version = "2021-07-26";
     src = fetchFromGitHub {
       owner = "srcery-colors";
       repo = "srcery-vim";
-      rev = "d313ed0f8f39a7fd09da65c4f02191368680387f";
-      sha256 = "1z9r2x58g212jy2sl981s7f8pj2nbqfgjbfi471yqafbxlynfzdw";
+      rev = "9a34db8c7e1eda84754420eaced9fdf00f43a929";
+      sha256 = "1nh6zwx4lcyx8vdvdfr04z5vwvpcbg8ns2pfxmcgjpcajhawg3nx";
     };
     meta.homepage = "https://github.com/srcery-colors/srcery-vim/";
   };
 
+  sslsecure-vim = buildVimPluginFrom2Nix {
+    pname = "sslsecure.vim";
+    version = "2017-07-27";
+    src = fetchFromGitHub {
+      owner = "chr4";
+      repo = "sslsecure.vim";
+      rev = "a1ddb42bf7ebbe9db48109bb89433492754833cf";
+      sha256 = "1wjrpfphr6wwikrii2jxrw2l8523zzfbnrr6pjivj6ml86b38yk4";
+    };
+    meta.homepage = "https://github.com/chr4/sslsecure.vim/";
+  };
+
   stan-vim = buildVimPluginFrom2Nix {
     pname = "stan-vim";
     version = "2021-05-28";
@@ -4862,7 +5246,7 @@ final: prev:
   };
 
   starsearch-vim = buildVimPluginFrom2Nix {
-    pname = "starsearch-vim";
+    pname = "starsearch.vim";
     version = "2014-09-21";
     src = fetchFromGitHub {
       owner = "darfink";
@@ -4874,19 +5258,19 @@ final: prev:
   };
 
   suda-vim = buildVimPluginFrom2Nix {
-    pname = "suda-vim";
-    version = "2021-07-21";
+    pname = "suda.vim";
+    version = "2021-09-01";
     src = fetchFromGitHub {
       owner = "lambdalisue";
       repo = "suda.vim";
-      rev = "bfafa2722178bdb8898e014a7e95b60d497960d9";
-      sha256 = "1cjj6d6zkd2b9hv77saz8p7xcw06rj0svdhycc4df8bcdrvvmi39";
+      rev = "0290c93c148a14eab2b661a1933003d86436f6ec";
+      sha256 = "0n4axfzb6wngklygwbfi1l1qv1d1zgkxhn1wp9fcb8mxg869iwv1";
     };
     meta.homepage = "https://github.com/lambdalisue/suda.vim/";
   };
 
   SudoEdit-vim = buildVimPluginFrom2Nix {
-    pname = "SudoEdit-vim";
+    pname = "SudoEdit.vim";
     version = "2020-02-27";
     src = fetchFromGitHub {
       owner = "chrisbra";
@@ -4922,27 +5306,27 @@ final: prev:
   };
 
   swift-vim = buildVimPluginFrom2Nix {
-    pname = "swift-vim";
-    version = "2021-05-30";
+    pname = "swift.vim";
+    version = "2021-08-05";
     src = fetchFromGitHub {
       owner = "keith";
       repo = "swift.vim";
-      rev = "7ef452b47f14a2bfed26324793777cf12d2a8d78";
-      sha256 = "0s12iv8vmqp8yr8fg7a6yf73kgq84i9zy18fhgb0jcc6cwwwz3iq";
+      rev = "e83ca052e88805b8b20bc2558e7995461665e306";
+      sha256 = "1in7dz0h9a4phw57a3fk7h2lmn3hrcn17vaqjimpp7hwlc160467";
     };
     meta.homepage = "https://github.com/keith/swift.vim/";
   };
 
   symbols-outline-nvim = buildVimPluginFrom2Nix {
-    pname = "symbols-outline-nvim";
-    version = "2021-07-21";
+    pname = "symbols-outline.nvim";
+    version = "2021-08-28";
     src = fetchFromGitHub {
       owner = "simrat39";
       repo = "symbols-outline.nvim";
-      rev = "7414f30365a342e1d89072d474a35913643b6eec";
-      sha256 = "19c9dv8dc72nnb1dx7wdraihpzf5b42wwq3c9vn0na8k1xy26h8y";
+      rev = "80490ad0c697d7277cbd4ea24883120f6de32db0";
+      sha256 = "16gl8jc7bqszmpw3yj0sxkxdq9zch6lfj8n0cd6jihd6i9ans564";
     };
-    meta.homepage = "https://github.com/simrat39/symbols-outline.nvim";
+    meta.homepage = "https://github.com/simrat39/symbols-outline.nvim/";
   };
 
   syntastic = buildVimPluginFrom2Nix {
@@ -4971,19 +5355,18 @@ final: prev:
 
   tabnine-vim = buildVimPluginFrom2Nix {
     pname = "tabnine-vim";
-    version = "2021-07-14";
+    version = "2021-09-02";
     src = fetchFromGitHub {
       owner = "codota";
       repo = "tabnine-vim";
-      rev = "e431d0425f4b132caef736ab682ba917edee30e9";
-      sha256 = "17d5qa5y809sss4rk5gl75fxbh04nychjgpag6xjd8fzwd51xmzr";
-      fetchSubmodules = true;
+      rev = "d0f294cbe6dcdd226240a7d2a598cbba05581389";
+      sha256 = "1iq6j6g68q4c9dnsnf0i6p2z1ipygm9kmjzwz5i5rl52nhkc18f3";
     };
     meta.homepage = "https://github.com/codota/tabnine-vim/";
   };
 
   taboo-vim = buildVimPluginFrom2Nix {
-    pname = "taboo-vim";
+    pname = "taboo.vim";
     version = "2019-08-27";
     src = fetchFromGitHub {
       owner = "gcmt";
@@ -4995,7 +5378,7 @@ final: prev:
   };
 
   tabpagebuffer-vim = buildVimPluginFrom2Nix {
-    pname = "tabpagebuffer-vim";
+    pname = "tabpagebuffer.vim";
     version = "2014-09-30";
     src = fetchFromGitHub {
       owner = "Shougo";
@@ -5018,20 +5401,32 @@ final: prev:
     meta.homepage = "https://github.com/godlygeek/tabular/";
   };
 
+  tagalong-vim = buildVimPluginFrom2Nix {
+    pname = "tagalong.vim";
+    version = "2021-08-19";
+    src = fetchFromGitHub {
+      owner = "AndrewRadev";
+      repo = "tagalong.vim";
+      rev = "6c8c0f4903daed1c11087a014a8bc23ac4334850";
+      sha256 = "1vcymd05pacs3ywf4bq20vhn46a3d4hpl2lwcbc5z1cv18iwd3ip";
+    };
+    meta.homepage = "https://github.com/AndrewRadev/tagalong.vim/";
+  };
+
   tagbar = buildVimPluginFrom2Nix {
     pname = "tagbar";
-    version = "2021-06-24";
+    version = "2021-08-24";
     src = fetchFromGitHub {
       owner = "preservim";
       repo = "tagbar";
-      rev = "2da3443f5fb78aa0b9a60bb5b2926d72df734e14";
-      sha256 = "0xihnfp1jv3ixhinqvnfig1v5k8swf3vcqjavspchd94lnb4b2h4";
+      rev = "bb8ca482a5d14a771f718bd794b5945be3a6ff74";
+      sha256 = "074dvmc7cnwqjx7dy8zsp6ikdzh9gxralf41vs17z8qr6pd4y7g0";
     };
     meta.homepage = "https://github.com/preservim/tagbar/";
   };
 
   taglist-vim = buildVimPluginFrom2Nix {
-    pname = "taglist-vim";
+    pname = "taglist.vim";
     version = "2010-10-18";
     src = fetchFromGitHub {
       owner = "vim-scripts";
@@ -5043,7 +5438,7 @@ final: prev:
   };
 
   targets-vim = buildVimPluginFrom2Nix {
-    pname = "targets-vim";
+    pname = "targets.vim";
     version = "2019-12-08";
     src = fetchFromGitHub {
       owner = "wellle";
@@ -5056,12 +5451,12 @@ final: prev:
 
   taskwiki = buildVimPluginFrom2Nix {
     pname = "taskwiki";
-    version = "2021-06-27";
+    version = "2021-08-13";
     src = fetchFromGitHub {
       owner = "tools-life";
       repo = "taskwiki";
-      rev = "f9a1e6ab9f10bd02fab05c225ccca6e253e690a0";
-      sha256 = "12f1i8dfmd4n3wc4cs45csl6j6aw4g7i6bbqnk017sylwxpiilsq";
+      rev = "832293f9f797ce56a35be1a9c28ed8ddc3113364";
+      sha256 = "0568xnfhf7kd31nf0l10rxd5gnp90wph3623wrxrg3al5ix7jy6n";
     };
     meta.homepage = "https://github.com/tools-life/taskwiki/";
   };
@@ -5079,7 +5474,7 @@ final: prev:
   };
 
   telescope-dap-nvim = buildVimPluginFrom2Nix {
-    pname = "telescope-dap-nvim";
+    pname = "telescope-dap.nvim";
     version = "2021-03-26";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
@@ -5091,31 +5486,31 @@ final: prev:
   };
 
   telescope-frecency-nvim = buildVimPluginFrom2Nix {
-    pname = "telescope-frecency-nvim";
-    version = "2021-07-14";
+    pname = "telescope-frecency.nvim";
+    version = "2021-09-01";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope-frecency.nvim";
-      rev = "5173a42d4a306567a90c41fb90ee660a3274d34f";
-      sha256 = "0baphixbfwq3fd3wcxf1fjgb7qwr7l0p6c8rpqf80msb0d7ikv77";
+      rev = "cf3a1deb9cf165c60d54b3c05ef6b08ac9eb0056";
+      sha256 = "05fjh17si1gv31da64m9qfdsy492c3njrp6l4l6qsf7n6dwjjsi6";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope-frecency.nvim/";
   };
 
   telescope-fzf-native-nvim = buildVimPluginFrom2Nix {
-    pname = "telescope-fzf-native-nvim";
-    version = "2021-07-06";
+    pname = "telescope-fzf-native.nvim";
+    version = "2021-08-27";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope-fzf-native.nvim";
-      rev = "fe8c8d8cf7ff215ac83e1119cba87c016070b27e";
-      sha256 = "0kzxf3kzw45mlccp8z5zl3cfda4n5afymmdyir3kd248ll904jy1";
+      rev = "66c8705414483d768b25f7e19d445e3df0d62625";
+      sha256 = "1hg908k21zbmdc4qmdnpq5kz4lfwdrghmxibcm5li6c5shb0rs1q";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope-fzf-native.nvim/";
   };
 
   telescope-fzf-writer-nvim = buildVimPluginFrom2Nix {
-    pname = "telescope-fzf-writer-nvim";
+    pname = "telescope-fzf-writer.nvim";
     version = "2021-04-16";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
@@ -5127,7 +5522,7 @@ final: prev:
   };
 
   telescope-fzy-native-nvim = buildVimPluginFrom2Nix {
-    pname = "telescope-fzy-native-nvim";
+    pname = "telescope-fzy-native.nvim";
     version = "2021-04-08";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
@@ -5139,44 +5534,56 @@ final: prev:
     meta.homepage = "https://github.com/nvim-telescope/telescope-fzy-native.nvim/";
   };
 
+  telescope-project-nvim = buildVimPluginFrom2Nix {
+    pname = "telescope-project.nvim";
+    version = "2021-08-03";
+    src = fetchFromGitHub {
+      owner = "nvim-telescope";
+      repo = "telescope-project.nvim";
+      rev = "6f63c15efc4994e54c3240db8ed4089c926083d8";
+      sha256 = "0mda6cak1qqa5h9j5xng8wq81aqfypizmxpfdfqhzjsswwpa9bjy";
+    };
+    meta.homepage = "https://github.com/nvim-telescope/telescope-project.nvim/";
+  };
+
   telescope-symbols-nvim = buildVimPluginFrom2Nix {
-    pname = "telescope-symbols-nvim";
-    version = "2021-06-15";
+    pname = "telescope-symbols.nvim";
+    version = "2021-08-07";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope-symbols.nvim";
-      rev = "e211b6aeed1f94ca660c407f3052f83ab8f4b2a9";
-      sha256 = "0nd02akh5nmcnv8mqih6xpzc4pbhys6rva7v60p38kxx50ycfkvw";
+      rev = "d2d7d6b4298a1f733649526661d872c5e7a75521";
+      sha256 = "0jxnalhfgmnllwb38a9dgzrnrhdnxgcbi2p7m4jk5p87260a9gvk";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope-symbols.nvim/";
   };
 
   telescope-z-nvim = buildVimPluginFrom2Nix {
-    pname = "telescope-z-nvim";
-    version = "2021-07-19";
+    pname = "telescope-z.nvim";
+    version = "2021-08-12";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope-z.nvim";
-      rev = "f5776dbd0c687af0862b2e4ee83c62c5f4a7271d";
-      sha256 = "08lcszv53d9mqhgdwkdygbnk5w0pyh0q6djxzqhnjb6qphibf3m6";
+      rev = "8015020205e702bb62b4077294a59ee445e061f5";
+      sha256 = "01vjdzjfz7293dwxilihk5qpgf92j59hdq3cl62630vhfxlbc1m0";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope-z.nvim/";
   };
 
   telescope-nvim = buildVimPluginFrom2Nix {
-    pname = "telescope-nvim";
-    version = "2021-07-20";
+    pname = "telescope.nvim";
+    version = "2021-09-02";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope.nvim";
-      rev = "664690029fdb302bee8d3f27a458383e8477add7";
-      sha256 = "1aaq9lmfxxxpirkbj3py76qnyfd1qhsq9msfw689zgzjqahk7zhz";
+      rev = "ac42f0c26cb417b76046a394c1b3163d346e9107";
+      sha256 = "1qzc04xlrkssgvrmciddbykcczklqzhh8fnkr0pf6xrll0vvm1fv";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope.nvim/";
   };
 
   tender-vim = buildVimPluginFrom2Nix {
-    pname = "tender-vim";
+    pname = "tender.vim";
     version = "2021-05-24";
     src = fetchFromGitHub {
       owner = "jacoborus";
@@ -5187,8 +5594,20 @@ final: prev:
     meta.homepage = "https://github.com/jacoborus/tender.vim/";
   };
 
+  terminus = buildVimPluginFrom2Nix {
+    pname = "terminus";
+    version = "2021-06-12";
+    src = fetchFromGitHub {
+      owner = "wincent";
+      repo = "terminus";
+      rev = "e8bc19c8156d955762c31d0964eeb7c84889f42e";
+      sha256 = "1w4wc6y72mk80ivv55hs8liwa8fnhkyvly8dnny1jhfzs3bbk8kg";
+    };
+    meta.homepage = "https://github.com/wincent/terminus/";
+  };
+
   termwrapper-nvim = buildVimPluginFrom2Nix {
-    pname = "termwrapper-nvim";
+    pname = "termwrapper.nvim";
     version = "2021-03-28";
     src = fetchFromGitHub {
       owner = "oberblastmeister";
@@ -5212,7 +5631,7 @@ final: prev:
   };
 
   thesaurus_query-vim = buildVimPluginFrom2Nix {
-    pname = "thesaurus_query-vim";
+    pname = "thesaurus_query.vim";
     version = "2021-07-08";
     src = fetchFromGitHub {
       owner = "ron89";
@@ -5224,7 +5643,7 @@ final: prev:
   };
 
   thumbnail-vim = buildVimPluginFrom2Nix {
-    pname = "thumbnail-vim";
+    pname = "thumbnail.vim";
     version = "2021-01-11";
     src = fetchFromGitHub {
       owner = "itchyny";
@@ -5248,7 +5667,7 @@ final: prev:
   };
 
   tmux-complete-vim = buildVimPluginFrom2Nix {
-    pname = "tmux-complete-vim";
+    pname = "tmux-complete.vim";
     version = "2021-03-26";
     src = fetchFromGitHub {
       owner = "wellle";
@@ -5259,20 +5678,32 @@ final: prev:
     meta.homepage = "https://github.com/wellle/tmux-complete.vim/";
   };
 
+  tmuxline-vim = buildVimPluginFrom2Nix {
+    pname = "tmuxline.vim";
+    version = "2021-07-20";
+    src = fetchFromGitHub {
+      owner = "edkolev";
+      repo = "tmuxline.vim";
+      rev = "4119c553923212cc67f4e135e6f946dc3ec0a4d6";
+      sha256 = "0gs2jghs1a9sp09mlphcpa1rzlmxmsvyaa7y20w6qsbczz989vm3";
+    };
+    meta.homepage = "https://github.com/edkolev/tmuxline.vim/";
+  };
+
   todo-comments-nvim = buildVimPluginFrom2Nix {
-    pname = "todo-comments-nvim";
-    version = "2021-07-11";
+    pname = "todo-comments.nvim";
+    version = "2021-08-05";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "todo-comments.nvim";
-      rev = "4a27e05519827ba1594d5ce3fde874040f005bfe";
-      sha256 = "0g6dxyd7vh89rg4xfdl20djfdcv1scq44mvxd3imzb7yhrhdpa95";
+      rev = "808a2e524b3720804716a99fd900986b9d727d4d";
+      sha256 = "1j1ls4d6c3shbm9pd0b6lwmccxsvlr8j12c3fhn9q6dizkir08qx";
     };
     meta.homepage = "https://github.com/folke/todo-comments.nvim/";
   };
 
   todo-txt-vim = buildVimPluginFrom2Nix {
-    pname = "todo-txt-vim";
+    pname = "todo.txt-vim";
     version = "2021-03-20";
     src = fetchFromGitHub {
       owner = "freitass";
@@ -5284,32 +5715,44 @@ final: prev:
     meta.homepage = "https://github.com/freitass/todo.txt-vim/";
   };
 
+  toggleterm-nvim = buildVimPluginFrom2Nix {
+    pname = "toggleterm.nvim";
+    version = "2021-08-24";
+    src = fetchFromGitHub {
+      owner = "akinsho";
+      repo = "toggleterm.nvim";
+      rev = "ef7a882a818d1bf2598bc58ca0bc158d097d499d";
+      sha256 = "0sdp260jnal7qmdqskxwk5cg1c846fz65xr66b18s0y0lm5z53c2";
+    };
+    meta.homepage = "https://github.com/akinsho/toggleterm.nvim/";
+  };
+
   tokyonight-nvim = buildVimPluginFrom2Nix {
-    pname = "tokyonight-nvim";
-    version = "2021-07-21";
+    pname = "tokyonight.nvim";
+    version = "2021-08-30";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "tokyonight.nvim";
-      rev = "0ee0bcf14d8c7c70081a0e9967c211121c4300c7";
-      sha256 = "0rkw544dzgyp76ag3zrh8d3n0mri5c0cjpy8mvbfpgyj87w18m8d";
+      rev = "eede574f9ef57137e6d7e4bab37b09db636c5a56";
+      sha256 = "06hhg5n8k9iri3mlgbf80hwz9qwjkvvl6x5f6kjih7klzcx6x04j";
     };
     meta.homepage = "https://github.com/folke/tokyonight.nvim/";
   };
 
   traces-vim = buildVimPluginFrom2Nix {
-    pname = "traces-vim";
-    version = "2021-07-21";
+    pname = "traces.vim";
+    version = "2021-08-27";
     src = fetchFromGitHub {
       owner = "markonm";
       repo = "traces.vim";
-      rev = "896f2bed6b982ce5ca2c5bd454b8eb8af312e5a1";
-      sha256 = "1pwlw8gq0vd8zc3xqmp8r2s2wka9m9i85w08av59rmwnizk6vkza";
+      rev = "419ce02f68b13aa892735febc1d1887a9a11d5db";
+      sha256 = "07va4rr9xfmr93qq4nn0d3ssay4mwdvxzl4f92akib36kxnv0m69";
     };
     meta.homepage = "https://github.com/markonm/traces.vim/";
   };
 
   train-nvim = buildVimPluginFrom2Nix {
-    pname = "train-nvim";
+    pname = "train.nvim";
     version = "2020-09-10";
     src = fetchFromGitHub {
       owner = "tjdevries";
@@ -5333,19 +5776,19 @@ final: prev:
   };
 
   trouble-nvim = buildVimPluginFrom2Nix {
-    pname = "trouble-nvim";
-    version = "2021-07-16";
+    pname = "trouble.nvim";
+    version = "2021-08-05";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "trouble.nvim";
-      rev = "059ea2b999171f50019291ee776dd496799fdf3a";
-      sha256 = "06v2jvlw8rjlarx89kfb7ys8y0jkm1f7c4vnws60nfbqgp9c9k98";
+      rev = "51dd9175eb506b026189c70f81823dfa77defe86";
+      sha256 = "0cd3xiiwsqivy8vx408wdz622i7kcvxw6whmkm1dcw6lnsp4bcg1";
     };
     meta.homepage = "https://github.com/folke/trouble.nvim/";
   };
 
   tslime-vim = buildVimPluginFrom2Nix {
-    pname = "tslime-vim";
+    pname = "tslime.vim";
     version = "2020-09-09";
     src = fetchFromGitHub {
       owner = "jgdavey";
@@ -5369,13 +5812,13 @@ final: prev:
   };
 
   twilight-nvim = buildVimPluginFrom2Nix {
-    pname = "twilight-nvim";
-    version = "2021-07-17";
+    pname = "twilight.nvim";
+    version = "2021-08-06";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "twilight.nvim";
-      rev = "f722fa24411d0423a3d2daf6f1b5f8b11df9db2b";
-      sha256 = "0k2vbhs960h346w37ky2mpv1syzjxi19zl9zmnvlsy6annqd892x";
+      rev = "8ab43c0fdc246fdd82382d7ef4ec383f8f755ef9";
+      sha256 = "0fh752l53yk3bnas07kds7vhmdnxrbslq126qdyqb6f1xgzb9gjj";
     };
     meta.homepage = "https://github.com/folke/twilight.nvim/";
   };
@@ -5394,12 +5837,12 @@ final: prev:
 
   ultisnips = buildVimPluginFrom2Nix {
     pname = "ultisnips";
-    version = "2021-06-15";
+    version = "2021-08-26";
     src = fetchFromGitHub {
       owner = "SirVer";
       repo = "ultisnips";
-      rev = "aec91caefec10741722927cf073703a528fe7a8f";
-      sha256 = "1a5527adkaawgcj1pm5qp0qiq084x70ljj7a35abjil20f3s7y85";
+      rev = "53e1921e3ef015ef658e540c0aa9c4835f9c18a6";
+      sha256 = "1ayx52rc8gki3qj6j88ij1klasn6iggn035cgmp0vvspcsrs795c";
     };
     meta.homepage = "https://github.com/SirVer/ultisnips/";
   };
@@ -5417,19 +5860,19 @@ final: prev:
   };
 
   unicode-vim = buildVimPluginFrom2Nix {
-    pname = "unicode-vim";
-    version = "2021-05-24";
+    pname = "unicode.vim";
+    version = "2021-09-02";
     src = fetchFromGitHub {
       owner = "chrisbra";
       repo = "unicode.vim";
-      rev = "62f7a3558ee4402bcaaae8638e768268f1137a0f";
-      sha256 = "1y5inpiaqvnq69n1dbpiwilqfq2hf56m7w5a6kj2fkav15pyczx7";
+      rev = "664d7b2e5cedf36ea3a85ad7e8e28e43c16f025b";
+      sha256 = "1033x76ixh2k454y23swqhn8bf9nibl8jzijva53c0xk7018kzh4";
     };
     meta.homepage = "https://github.com/chrisbra/unicode.vim/";
   };
 
   unite-vim = buildVimPluginFrom2Nix {
-    pname = "unite-vim";
+    pname = "unite.vim";
     version = "2021-02-06";
     src = fetchFromGitHub {
       owner = "Shougo";
@@ -5441,7 +5884,7 @@ final: prev:
   };
 
   utl-vim = buildVimPluginFrom2Nix {
-    pname = "utl-vim";
+    pname = "utl.vim";
     version = "2010-10-18";
     src = fetchFromGitHub {
       owner = "vim-scripts";
@@ -5453,7 +5896,7 @@ final: prev:
   };
 
   vader-vim = buildVimPluginFrom2Nix {
-    pname = "vader-vim";
+    pname = "vader.vim";
     version = "2020-02-13";
     src = fetchFromGitHub {
       owner = "junegunn";
@@ -5465,7 +5908,7 @@ final: prev:
   };
 
   vCoolor-vim = buildVimPluginFrom2Nix {
-    pname = "vCoolor-vim";
+    pname = "vCoolor.vim";
     version = "2020-10-14";
     src = fetchFromGitHub {
       owner = "KabbAmine";
@@ -5477,7 +5920,7 @@ final: prev:
   };
 
   verilog_systemverilog-vim = buildVimPluginFrom2Nix {
-    pname = "verilog_systemverilog-vim";
+    pname = "verilog_systemverilog.vim";
     version = "2021-01-16";
     src = fetchFromGitHub {
       owner = "vhda";
@@ -5742,12 +6185,12 @@ final: prev:
 
   vim-airline = buildVimPluginFrom2Nix {
     pname = "vim-airline";
-    version = "2021-07-18";
+    version = "2021-08-11";
     src = fetchFromGitHub {
       owner = "vim-airline";
       repo = "vim-airline";
-      rev = "b861f9d2483a8b066f7b5b4dbae8990ff21455c5";
-      sha256 = "0rz7p95ks4ymdwz7aqahc782msdz70qx25807cwvqh1gc9x887vq";
+      rev = "0de4c9df21abf9256091d205148601f718d3a12c";
+      sha256 = "12k3kdxnmqhkb8f71cqrrf1xwphlcc7nbimlxkp7my5y75xrk6lx";
     };
     meta.homepage = "https://github.com/vim-airline/vim-airline/";
   };
@@ -5790,12 +6233,12 @@ final: prev:
 
   vim-android = buildVimPluginFrom2Nix {
     pname = "vim-android";
-    version = "2021-07-10";
+    version = "2021-09-01";
     src = fetchFromGitHub {
       owner = "hsanson";
       repo = "vim-android";
-      rev = "9be0a3c46a45c7a790022e5e3e293635469446fb";
-      sha256 = "16xgidkd2v2g5zljfpdx82nai7cxq4nzw1irdfsdllv4ns9q27si";
+      rev = "ab784d414148e16c8f6c737c14d115783da72c30";
+      sha256 = "0ihw5v9rm32351ydfvsrmkq15hls7rri9d54xqfrzhrdmygyicjf";
     };
     meta.homepage = "https://github.com/hsanson/vim-android/";
   };
@@ -5850,12 +6293,12 @@ final: prev:
 
   vim-autoformat = buildVimPluginFrom2Nix {
     pname = "vim-autoformat";
-    version = "2021-06-21";
+    version = "2021-07-22";
     src = fetchFromGitHub {
       owner = "vim-autoformat";
       repo = "vim-autoformat";
-      rev = "d616fcf8a747f86bd3b26004b83ea5b7c7526df1";
-      sha256 = "1292613i7yi38jsl1sly5i9bdi7bzaw2pg67gkymq2ln7zcpvims";
+      rev = "80ba8b13a9699db20754623a0933095be65fc203";
+      sha256 = "0crlkxc55lk37vy52yxwpp84bc3rd7a5am71xj9zl29a4xap5mdp";
     };
     meta.homepage = "https://github.com/vim-autoformat/vim-autoformat/";
   };
@@ -5994,12 +6437,12 @@ final: prev:
 
   vim-capslock = buildVimPluginFrom2Nix {
     pname = "vim-capslock";
-    version = "2021-07-13";
+    version = "2021-08-26";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-capslock";
-      rev = "a910e686986b239a7885e67ab6914638f88e914b";
-      sha256 = "0aiqs4m5vfc22lcjkb2iphpb2qi7bz994lbjr2frsb8g8h508h18";
+      rev = "252a9166fecf79e2e2a0b2ee4e0712364472e825";
+      sha256 = "06l2q7mmp72kag009fgyks4ajm0apfqkcqhkfc40ysad19ghn65l";
     };
     meta.homepage = "https://github.com/tpope/vim-capslock/";
   };
@@ -6042,12 +6485,12 @@ final: prev:
 
   vim-clap = buildVimPluginFrom2Nix {
     pname = "vim-clap";
-    version = "2021-07-21";
+    version = "2021-09-03";
     src = fetchFromGitHub {
       owner = "liuchengxu";
       repo = "vim-clap";
-      rev = "2e287bd7e73198408d73b7183e3019a3aff6c19b";
-      sha256 = "1n1hipxim9d1shh9ch414yy15vdr8yc5ppgk7msv6zzgsw10qyaw";
+      rev = "60a728c6f29f9c1844e004ffe773b3208d1fd10a";
+      sha256 = "1d0iyafbsmpav0zh1wmf50yjcw066592z179vak8pxw03ppy912x";
     };
     meta.homepage = "https://github.com/liuchengxu/vim-clap/";
   };
@@ -6306,36 +6749,36 @@ final: prev:
 
   vim-dadbod = buildVimPluginFrom2Nix {
     pname = "vim-dadbod";
-    version = "2021-06-02";
+    version = "2021-08-23";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-dadbod";
-      rev = "9e4fdb8ab029c0436728a96e1c92677737c2e784";
-      sha256 = "1rmiza1km214mvlrdaqycv5hk8ki35giab11b9ggwcigbh743h01";
+      rev = "6f8b99868fd5560d6eb47f82ca76ec62e3d5ae78";
+      sha256 = "0n1hvyv9555rgi3qajy3d59v1nqdwcrr0l4nqzc0pr0cg9q7d6g3";
     };
     meta.homepage = "https://github.com/tpope/vim-dadbod/";
   };
 
   vim-dadbod-completion = buildVimPluginFrom2Nix {
     pname = "vim-dadbod-completion";
-    version = "2021-05-12";
+    version = "2021-09-02";
     src = fetchFromGitHub {
       owner = "kristijanhusak";
       repo = "vim-dadbod-completion";
-      rev = "a3f8ea8e666f4bebe12739d8854a4bd31544dfbb";
-      sha256 = "04m7drx86r8zqq7rq29wa9zq5ckzf5bqxzyhdc5hqn82jxcvxmpz";
+      rev = "b791318764a58956e04d83ad7b89555bb089d8b0";
+      sha256 = "18glwgjbkb1bdwg590qpyh975ax0l5llr88c7xmz6g9di20g61dd";
     };
     meta.homepage = "https://github.com/kristijanhusak/vim-dadbod-completion/";
   };
 
   vim-dadbod-ui = buildVimPluginFrom2Nix {
     pname = "vim-dadbod-ui";
-    version = "2021-05-12";
+    version = "2021-08-27";
     src = fetchFromGitHub {
       owner = "kristijanhusak";
       repo = "vim-dadbod-ui";
-      rev = "09fb2f51dcd022a6be20b48a730df493f4b3ca2d";
-      sha256 = "1bsy8illa9xsawx6lfs67y2xri38fpxdb4xz25ajy43snls41say";
+      rev = "5f2bd8499f1627c1938300256e6d9abb1ae4856d";
+      sha256 = "1a2icyz84lc54y4nq5amf3l51cc0f2yyzyqz5zx6m7dwb1r3nhpn";
     };
     meta.homepage = "https://github.com/kristijanhusak/vim-dadbod-ui/";
   };
@@ -6378,12 +6821,12 @@ final: prev:
 
   vim-devicons = buildVimPluginFrom2Nix {
     pname = "vim-devicons";
-    version = "2021-07-16";
+    version = "2021-08-31";
     src = fetchFromGitHub {
       owner = "ryanoasis";
       repo = "vim-devicons";
-      rev = "0a11dae811e6c8b939fe80aeb750469f8ca44d67";
-      sha256 = "07lgjzi10h1gfvr2ij1pc4qxj63n4bg3jvj01ilj6yas56a3hk09";
+      rev = "d16475cbd7d50664e3d9261951cd4415967c5c41";
+      sha256 = "10zxn3d3hg8kim3350lvirwnwah1qkcgrdj7ac1jiy3g0qa8j16n";
     };
     meta.homepage = "https://github.com/ryanoasis/vim-devicons/";
   };
@@ -6414,12 +6857,12 @@ final: prev:
 
   vim-dirvish = buildVimPluginFrom2Nix {
     pname = "vim-dirvish";
-    version = "2021-07-03";
+    version = "2021-09-02";
     src = fetchFromGitHub {
       owner = "justinmk";
       repo = "vim-dirvish";
-      rev = "ff3f5cdff71d7a9710a012f2ff11e1294f70c7a5";
-      sha256 = "0hxbwwml7qsjyjc88bmsl6ikc4bhpz17xh8qql9jsi3mkna66krh";
+      rev = "b2b5709b7979bb99b0548d5879c49672891b9b5b";
+      sha256 = "076rvky65x7qiplbidmpz4f3is9l77g12bci1h490cni4n3rh73f";
     };
     meta.homepage = "https://github.com/justinmk/vim-dirvish/";
   };
@@ -6438,12 +6881,12 @@ final: prev:
 
   vim-dispatch = buildVimPluginFrom2Nix {
     pname = "vim-dispatch";
-    version = "2021-04-17";
+    version = "2021-08-12";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-dispatch";
-      rev = "250ea269e206445d10700b299afd3eb993e939ad";
-      sha256 = "1fcp2nsgamkxm7x0mn1n3xp02dc7x773cdp9p30ikqn44pzgyq10";
+      rev = "ed9538655a6ab3e8f48be7c32657ec974242845f";
+      sha256 = "0zskv8isxg3yfsqw5bzi0n6ywhha63rnah4k6skjycawcb9i8bvv";
     };
     meta.homepage = "https://github.com/tpope/vim-dispatch/";
   };
@@ -6474,12 +6917,12 @@ final: prev:
 
   vim-docbk-snippets = buildVimPluginFrom2Nix {
     pname = "vim-docbk-snippets";
-    version = "2019-09-13";
+    version = "2021-07-30";
     src = fetchFromGitHub {
       owner = "jhradilek";
       repo = "vim-snippets";
-      rev = "b8604893f46f6c570a55efff733f0371ac8a805d";
-      sha256 = "1qz3azgzv9718s2a6h8xw5nrvs4j776csmzsn9chvykdpx8rwim1";
+      rev = "81a8dcb66886a0717e9ca73c8857ee90c3989063";
+      sha256 = "0d6532qx66aiawpq2fdji0mnmvnlg5dnbvds5s4pgzafydikpr70";
     };
     meta.homepage = "https://github.com/jhradilek/vim-snippets/";
   };
@@ -6558,12 +7001,12 @@ final: prev:
 
   vim-elixir = buildVimPluginFrom2Nix {
     pname = "vim-elixir";
-    version = "2021-06-16";
+    version = "2021-08-25";
     src = fetchFromGitHub {
       owner = "elixir-editors";
       repo = "vim-elixir";
-      rev = "58084475c1e523caeac97ffff62c154f7f8fcc66";
-      sha256 = "09nv87iqjnwpfkvbspgwxibjlf1aj4syw0nv885fyw8fjpbhf06l";
+      rev = "c29c1ede8f9f12d9c76b7c8b5b8ead7690c5792c";
+      sha256 = "1rz24r97z3dlzxn3b8m3s4m697f9vhs5688jbqgs4fcbki2wrsyj";
     };
     meta.homepage = "https://github.com/elixir-editors/vim-elixir/";
   };
@@ -6580,6 +7023,18 @@ final: prev:
     meta.homepage = "https://github.com/andys8/vim-elm-syntax/";
   };
 
+  vim-emoji = buildVimPluginFrom2Nix {
+    pname = "vim-emoji";
+    version = "2018-01-30";
+    src = fetchFromGitHub {
+      owner = "junegunn";
+      repo = "vim-emoji";
+      rev = "9ed6515401a6e20a9781ba508db7d67a5e4e231f";
+      sha256 = "0bvwmz570pfxicbask88p523vkggidq5fj2zm59s4c20a7d5s1yy";
+    };
+    meta.homepage = "https://github.com/junegunn/vim-emoji/";
+  };
+
   vim-endwise = buildVimPluginFrom2Nix {
     pname = "vim-endwise";
     version = "2021-03-06";
@@ -6642,12 +7097,12 @@ final: prev:
 
   vim-eunuch = buildVimPluginFrom2Nix {
     pname = "vim-eunuch";
-    version = "2021-04-05";
+    version = "2021-07-28";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-eunuch";
-      rev = "dbbbf853fc523d312f61b4bbdf2e13297645dcde";
-      sha256 = "0lwkzxz76pcmash56p14pf54blz9v9kw17qj2i5wa8wdcymia98l";
+      rev = "e8b1be581b88de524fc62cd24265d602f8caac19";
+      sha256 = "08gcwnayp6k0xm62rrw6zqkdacs3mng2h29vnbpfgsviazxa6b85";
     };
     meta.homepage = "https://github.com/tpope/vim-eunuch/";
   };
@@ -6702,12 +7157,12 @@ final: prev:
 
   vim-fireplace = buildVimPluginFrom2Nix {
     pname = "vim-fireplace";
-    version = "2021-05-12";
+    version = "2021-08-03";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-fireplace";
-      rev = "07b0256b08e0da6d31200663cbe6d6f8c995a287";
-      sha256 = "0zp3ghiqyg1qf8rxx5a1hqxyz4sqqw1afbh9qzsjlw18g0va86kj";
+      rev = "c9a155b88d629221628937eadb64a3e87f8d82d9";
+      sha256 = "1h0y4k3xypbn4lyyksjddvcdnz8nqy73qnjxm21ahsz73xk6bpwk";
     };
     meta.homepage = "https://github.com/tpope/vim-fireplace/";
   };
@@ -6762,24 +7217,24 @@ final: prev:
 
   vim-floaterm = buildVimPluginFrom2Nix {
     pname = "vim-floaterm";
-    version = "2021-07-14";
+    version = "2021-08-11";
     src = fetchFromGitHub {
       owner = "voldikss";
       repo = "vim-floaterm";
-      rev = "daf9389e827dd19d804ffaad19cc8b64e389da6c";
-      sha256 = "0kcjfi61md9n0fgnypamvqsc9k4mykr9wx978qna2xjb19vfkvad";
+      rev = "9716765f2af3415ad1f9091a50c334649a74e4c5";
+      sha256 = "1fclir7g02x8cpsyzf40l1igcw140h695g6mslyhhgjclm0rigpm";
     };
     meta.homepage = "https://github.com/voldikss/vim-floaterm/";
   };
 
   vim-flog = buildVimPluginFrom2Nix {
     pname = "vim-flog";
-    version = "2021-05-02";
+    version = "2021-08-23";
     src = fetchFromGitHub {
       owner = "rbong";
       repo = "vim-flog";
-      rev = "cabecb166bde31d9fe86caac7e51284cff575da2";
-      sha256 = "13ybny4i20p6xi6rp6vzngbrjwjpikvcrhg8spj1g9n2z5wcc2xz";
+      rev = "670b4efd759da01da051edf8839daa789c7f86f2";
+      sha256 = "0c76vqwl0mdjsg6bk7jsdhqwkjygq4vbwfc99gf3b5c2m5kxx375";
     };
     meta.homepage = "https://github.com/rbong/vim-flog/";
   };
@@ -6822,16 +7277,28 @@ final: prev:
 
   vim-fugitive = buildVimPluginFrom2Nix {
     pname = "vim-fugitive";
-    version = "2021-07-17";
+    version = "2021-09-02";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-fugitive";
-      rev = "de6495ae846b2c5913fa85d5464c036c0acdfa34";
-      sha256 = "184cbh2jxwpp4zgvlfhs4qx1mr4vyq5vvv6lvk8lcng40dxfr9fg";
+      rev = "2a53d7924877b38b3d82fba188fd9053bfbc646e";
+      sha256 = "17zafl9bj7szfzadwl245dhv5s4f14bcipksir95kw7h2lcwxxmx";
     };
     meta.homepage = "https://github.com/tpope/vim-fugitive/";
   };
 
+  vim-gh-line = buildVimPluginFrom2Nix {
+    pname = "vim-gh-line";
+    version = "2021-03-25";
+    src = fetchFromGitHub {
+      owner = "ruanyl";
+      repo = "vim-gh-line";
+      rev = "4ca32f57f5f95cd3436c3f9ee7657a9b9c0ca763";
+      sha256 = "0pfw8jvmxwhdvjcfypiqk2jlk5plqbigjmykbqs1zvaznc2b7z5v";
+    };
+    meta.homepage = "https://github.com/ruanyl/vim-gh-line/";
+  };
+
   vim-ghost = buildVimPluginFrom2Nix {
     pname = "vim-ghost";
     version = "2020-06-19";
@@ -6870,36 +7337,36 @@ final: prev:
 
   vim-git = buildVimPluginFrom2Nix {
     pname = "vim-git";
-    version = "2021-07-10";
+    version = "2021-08-28";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-git";
-      rev = "75047b7d812cbe182ee04f0956bb31ba7efd46b0";
-      sha256 = "00hz040ar9ka3mcf2pgjc6iwznh7baqi6q09xkpr0pnjhm9k0bci";
+      rev = "3d68c6dcaa303f0144b7657e00b46ef98f0deb82";
+      sha256 = "060djzwpx5imlw3lb3kifp3gl0drn32a2dvb5baddg0kacahdvky";
     };
     meta.homepage = "https://github.com/tpope/vim-git/";
   };
 
   vim-gitbranch = buildVimPluginFrom2Nix {
     pname = "vim-gitbranch";
-    version = "2017-05-27";
+    version = "2021-08-20";
     src = fetchFromGitHub {
       owner = "itchyny";
       repo = "vim-gitbranch";
-      rev = "8118dc1cdd387bd609852be4bf350360ce881193";
-      sha256 = "01gvd96mnzfc5s0951zzq122birg5svnximkldgb9kv5bmsnmh3j";
+      rev = "1a8ba866f3eaf0194783b9f8573339d6ede8f1ed";
+      sha256 = "0nd6wwc0xd5b9djlcf18phmzjaqc3l7imarh1cil9644n1ls0l00";
     };
     meta.homepage = "https://github.com/itchyny/vim-gitbranch/";
   };
 
   vim-gitgutter = buildVimPluginFrom2Nix {
     pname = "vim-gitgutter";
-    version = "2021-07-12";
+    version = "2021-08-30";
     src = fetchFromGitHub {
       owner = "airblade";
       repo = "vim-gitgutter";
-      rev = "7d9b7125ff2533f6c520573f54e91db2f13a44b0";
-      sha256 = "1ckz2b7y6y483d0ignkv8mm0xf9jbs8k3srp50m7sj24nsdadb1v";
+      rev = "832f7c62261930517453fec96d78f79d5289b75d";
+      sha256 = "1ykw84a2dayix0pm82nl0rcpfahrsyqhg0h5fw67fw6dihrdnh0s";
     };
     meta.homepage = "https://github.com/airblade/vim-gitgutter/";
   };
@@ -6942,12 +7409,12 @@ final: prev:
 
   vim-go = buildVimPluginFrom2Nix {
     pname = "vim-go";
-    version = "2021-06-28";
+    version = "2021-09-03";
     src = fetchFromGitHub {
       owner = "fatih";
       repo = "vim-go";
-      rev = "32bcf757e455ab3b87c9201247b9a6b091d44ea0";
-      sha256 = "1ymd4dqd8725962iz12slrdgjp2sxqrrmznq18za4q14psy6dcin";
+      rev = "4a429a0fc85c2a95b24544373516fdee805c3a56";
+      sha256 = "07m51777mgww3ryclfcph7nvxrywc6zx9nzx9y5pqgcl8q87h711";
     };
     meta.homepage = "https://github.com/fatih/vim-go/";
   };
@@ -6978,24 +7445,24 @@ final: prev:
 
   vim-grepper = buildVimPluginFrom2Nix {
     pname = "vim-grepper";
-    version = "2021-05-10";
+    version = "2021-08-30";
     src = fetchFromGitHub {
       owner = "mhinz";
       repo = "vim-grepper";
-      rev = "b80004c050501122d58f82712b21d0b7c8dfc019";
-      sha256 = "049552dvsk14hx4h9rp9g65xkf13n42z304lzxca69j5q6k1qrdl";
+      rev = "2b93535752ffcb312f9fab73d90e80dc9f2e60fc";
+      sha256 = "1xldg5hkbapd9s842d3xpdw32sslr8lvfx12p03hrlc2w58innx1";
     };
     meta.homepage = "https://github.com/mhinz/vim-grepper/";
   };
 
   vim-gruvbox8 = buildVimPluginFrom2Nix {
     pname = "vim-gruvbox8";
-    version = "2021-06-13";
+    version = "2021-08-04";
     src = fetchFromGitHub {
       owner = "lifepillar";
       repo = "vim-gruvbox8";
-      rev = "73bd562267d3dea92b6e8dd1f0e3caca024927ad";
-      sha256 = "01x0y5ma7wz2yjcq12zzlmkn8x4yz4gcmxmkyrcy127pnhjn8a23";
+      rev = "1e205910e67003ff9efb77e7730f1e49d8aae29c";
+      sha256 = "1z7vx4x4flx6853a70vk2bcnv52ra3z275g1i30pjzc5blsbw6hw";
     };
     meta.homepage = "https://github.com/lifepillar/vim-gruvbox8/";
   };
@@ -7351,12 +7818,12 @@ final: prev:
 
   vim-javacomplete2 = buildVimPluginFrom2Nix {
     pname = "vim-javacomplete2";
-    version = "2021-03-18";
+    version = "2021-08-21";
     src = fetchFromGitHub {
       owner = "artur-shaik";
       repo = "vim-javacomplete2";
-      rev = "b01e32ec3d005423d5e6043b18b563086a623dc8";
-      sha256 = "0d9a6ynir9hgl9yp0mh0ng935llj4z9jkd9rvpddskcvq7h5590c";
+      rev = "54a4b02edef78509621d180794df0c6924e48b3b";
+      sha256 = "08hi6r1cspkklir9qa6x4h4a3zs404hvcwsspylysv7asnv8jncf";
     };
     meta.homepage = "https://github.com/artur-shaik/vim-javacomplete2/";
   };
@@ -7387,12 +7854,12 @@ final: prev:
 
   vim-jinja = buildVimPluginFrom2Nix {
     pname = "vim-jinja";
-    version = "2021-07-19";
+    version = "2021-08-26";
     src = fetchFromGitHub {
       owner = "lepture";
       repo = "vim-jinja";
-      rev = "2f0eeefe583ea477cb7605f972d57d7d5e55e13f";
-      sha256 = "0r8508h9s2bikmv3wvw4iaq3j8i5n564k7s06aqx9j79i16asn22";
+      rev = "7c54e2320c5f676636cdd8697480782eebfb2bf2";
+      sha256 = "153qirdl5xrnj1jc0ivlvf2rk7gdby96vn3prf6ky0l0gqxlzd8g";
     };
     meta.homepage = "https://github.com/lepture/vim-jinja/";
   };
@@ -7412,12 +7879,12 @@ final: prev:
 
   vim-jsdoc = buildVimPluginFrom2Nix {
     pname = "vim-jsdoc";
-    version = "2021-05-04";
+    version = "2021-08-15";
     src = fetchFromGitHub {
       owner = "heavenshell";
       repo = "vim-jsdoc";
-      rev = "e9e8547a57fa113945047c003d321fbbee770e03";
-      sha256 = "15j7fb20rz6gndm04ac9lfwrbq9ss5pk9ilxj90rd1dmppvkdkfr";
+      rev = "85c248898f5ca66a865e917b30e0e75579fa5463";
+      sha256 = "056v6g1fszw77nncbmrz8mv3zchp17g3d5cqmc1sawrfif131gyb";
     };
     meta.homepage = "https://github.com/heavenshell/vim-jsdoc/";
   };
@@ -7472,12 +7939,12 @@ final: prev:
 
   vim-kitty-navigator = buildVimPluginFrom2Nix {
     pname = "vim-kitty-navigator";
-    version = "2021-07-02";
+    version = "2021-08-17";
     src = fetchFromGitHub {
       owner = "knubie";
       repo = "vim-kitty-navigator";
-      rev = "dedbd5358a5b3b519f1f2c9c032ea6e4ff41d6b4";
-      sha256 = "01jgblg1qfq9149fab5kcaa3q5fa7d8psxvgs8gkbs109nxkrjc4";
+      rev = "a58f56960933df0b34b98ba3b025995774315adc";
+      sha256 = "16vz20fvhbb2p9g68qix9s4fbr9adrgwc45g12ldi7bdgkr1006g";
     };
     meta.homepage = "https://github.com/knubie/vim-kitty-navigator/";
   };
@@ -7496,11 +7963,11 @@ final: prev:
 
   vim-lastplace = buildVimPluginFrom2Nix {
     pname = "vim-lastplace";
-    version = "2021-03-29";
+    version = "2021-08-14";
     src = fetchFromGitHub {
       owner = "farmergreg";
       repo = "vim-lastplace";
-      rev = "8f6c4454eb462776b6ebdc48e3e29a68ddeb726d";
+      rev = "d522829d810f3254ca09da368a896c962d4a3d61";
       sha256 = "04x6y9yp5xlds37bswmrc3xlhhjfln9nzrkippvvhl48b0kfnpj8";
     };
     meta.homepage = "https://github.com/farmergreg/vim-lastplace/";
@@ -7566,6 +8033,18 @@ final: prev:
     meta.homepage = "https://github.com/ledger/vim-ledger/";
   };
 
+  vim-lfe = buildVimPluginFrom2Nix {
+    pname = "vim-lfe";
+    version = "2018-04-30";
+    src = fetchFromGitHub {
+      owner = "lfe-support";
+      repo = "vim-lfe";
+      rev = "290e7085fbd53d0c2b98b5d5a442d697c08b7d76";
+      sha256 = "1wf4lyrnz957ya5zvgkdk1k1jw9yk0bkzz7230m9ry9vl55ss64y";
+    };
+    meta.homepage = "https://github.com/lfe-support/vim-lfe/";
+  };
+
   vim-lightline-coc = buildVimPluginFrom2Nix {
     pname = "vim-lightline-coc";
     version = "2021-03-03";
@@ -7592,12 +8071,12 @@ final: prev:
 
   vim-liquid = buildVimPluginFrom2Nix {
     pname = "vim-liquid";
-    version = "2020-07-01";
+    version = "2021-07-22";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-liquid";
-      rev = "94bd2ea1fd45cf0a21edc3433231e7fcb7791323";
-      sha256 = "0r8lisyhbzyw2w9xzbashlhnag98vws78xwmh03dpd8kbpcdiz0w";
+      rev = "447c69b59fadcf04f96d99873126953eae7aa235";
+      sha256 = "0cglf4kfb07jwz1v14gl83rnfjm4c1b69nih3g7yj001ddyj5amx";
     };
     meta.homepage = "https://github.com/tpope/vim-liquid/";
   };
@@ -7640,12 +8119,12 @@ final: prev:
 
   vim-lsp = buildVimPluginFrom2Nix {
     pname = "vim-lsp";
-    version = "2021-07-20";
+    version = "2021-08-27";
     src = fetchFromGitHub {
       owner = "prabirshrestha";
       repo = "vim-lsp";
-      rev = "7ba553effb021293c9ff5176b91e76da71797825";
-      sha256 = "1phfqzn94m2j7g10aifh12a4gyyrhqnj1vn2bpdp29lpm1n179yg";
+      rev = "52ded667a5c8426d6845b53b943d2a5f6cc3fd6a";
+      sha256 = "01jynlb339pbg9pqjnfdgq62n4hccg8ay13j9anvkvjmrpbdg7y4";
     };
     meta.homepage = "https://github.com/prabirshrestha/vim-lsp/";
   };
@@ -7676,12 +8155,12 @@ final: prev:
 
   vim-maktaba = buildVimPluginFrom2Nix {
     pname = "vim-maktaba";
-    version = "2021-07-17";
+    version = "2021-08-09";
     src = fetchFromGitHub {
       owner = "google";
       repo = "vim-maktaba";
-      rev = "4e4404dffbd99159af9cfe816d13a6e69aadcee2";
-      sha256 = "1a1k27gvsd2ssnw3w8b29z3q8z2w2jxgcwpx5gd6djk1id26rhb6";
+      rev = "f5127b339a9d776f220cc0393783c55def9d8ce0";
+      sha256 = "0svkpk46fvas5346af2cw2ga03mlwd3rn8pya41f9whybqxdrysg";
     };
     meta.homepage = "https://github.com/google/vim-maktaba/";
   };
@@ -7749,12 +8228,12 @@ final: prev:
 
   vim-matchup = buildVimPluginFrom2Nix {
     pname = "vim-matchup";
-    version = "2021-07-19";
+    version = "2021-08-28";
     src = fetchFromGitHub {
       owner = "andymass";
       repo = "vim-matchup";
-      rev = "61802ad25f303dc37f575cbed9b902605353db49";
-      sha256 = "15c8y5rfsnmx4dm01advvax8flkibkg60lbs8x0xgyzfcqjzhl14";
+      rev = "4bbb22d694e1ca1132a9bbee4f491b48041e1710";
+      sha256 = "035bf331rr4xbxi8mlnlhnvrg3q97lnpgzkgw1gc7d7rsbf0gz6p";
     };
     meta.homepage = "https://github.com/andymass/vim-matchup/";
   };
@@ -7845,12 +8324,12 @@ final: prev:
 
   vim-mucomplete = buildVimPluginFrom2Nix {
     pname = "vim-mucomplete";
-    version = "2021-03-14";
+    version = "2021-09-01";
     src = fetchFromGitHub {
       owner = "lifepillar";
       repo = "vim-mucomplete";
-      rev = "83cd9b3775438faafc3475f9f9d5fbb8da4dfa5b";
-      sha256 = "1l8rdmy9i81zq2ck0zvlsmqs7hfqpcxa0b8psf5nw72mwhbvv1np";
+      rev = "7ef91226beeb382a37b4d4d5f0f54e6acf1eaaee";
+      sha256 = "1c9a8hibcrgagrcv41yyg2qq1f6v60316ai25y44rzk9ncx3idsj";
     };
     meta.homepage = "https://github.com/lifepillar/vim-mucomplete/";
   };
@@ -8097,12 +8576,12 @@ final: prev:
 
   vim-oscyank = buildVimPluginFrom2Nix {
     pname = "vim-oscyank";
-    version = "2021-05-21";
+    version = "2021-08-17";
     src = fetchFromGitHub {
       owner = "ojroques";
       repo = "vim-oscyank";
-      rev = "20fade09069cd35602387c2e7d2a7cd0f6cff8b0";
-      sha256 = "1ym87hd85l67976dxk919mdwab8fi8iq8azqk4mpa75gzl2ia7wl";
+      rev = "9c84cb3eeff0a30f5f8f0dccd77b12ac8494dd95";
+      sha256 = "17fjjm5mcwvi0mxsfnqasbr96cln2b0125wyzjj36z4y2bx7w1dm";
     };
     meta.homepage = "https://github.com/ojroques/vim-oscyank/";
   };
@@ -8145,12 +8624,12 @@ final: prev:
 
   vim-pandoc = buildVimPluginFrom2Nix {
     pname = "vim-pandoc";
-    version = "2021-06-09";
+    version = "2021-07-30";
     src = fetchFromGitHub {
       owner = "vim-pandoc";
       repo = "vim-pandoc";
-      rev = "1c56693951ce81f344cff0d7c8a6f7ea62a06981";
-      sha256 = "017g2cq05pfxjmcdm42qz6pv2cf2v18lnnrfnizm1cd388r9byll";
+      rev = "38476f9e61582d17d5e724fd3977913a9c0af5a4";
+      sha256 = "1zadap09iqdbssmqf44543hhkga696bxfv3gjcxln6xjfwmvmrck";
     };
     meta.homepage = "https://github.com/vim-pandoc/vim-pandoc/";
   };
@@ -8265,12 +8744,12 @@ final: prev:
 
   vim-plug = buildVimPluginFrom2Nix {
     pname = "vim-plug";
-    version = "2021-04-30";
+    version = "2021-08-31";
     src = fetchFromGitHub {
       owner = "junegunn";
       repo = "vim-plug";
-      rev = "fc2813ef4484c7a5c080021ceaa6d1f70390d920";
-      sha256 = "0fsl8w17z15sj21x5gd5ah5p5fjsnk0gzdx2n2p0jnkcb05bwzck";
+      rev = "c9971346bb486ccff354aaee8606cc0d2d5a0c97";
+      sha256 = "0w2sk2fvjw3g8bjnrp0lkalbrawl2nn2akr92rji3ycggsnxb6ai";
     };
     meta.homepage = "https://github.com/junegunn/vim-plug/";
   };
@@ -8289,12 +8768,12 @@ final: prev:
 
   vim-polyglot = buildVimPluginFrom2Nix {
     pname = "vim-polyglot";
-    version = "2021-07-08";
+    version = "2021-07-28";
     src = fetchFromGitHub {
       owner = "sheerun";
       repo = "vim-polyglot";
-      rev = "554a6ac7575f87b5b85d1b2bf60e7071c4164cbc";
-      sha256 = "0qh3gzvv3y4fjjk9cqz8nqqh87181rq9pxp4j4ly52jpk7hca7qc";
+      rev = "ce31cd1d2f4e8eee9fd91325e4599f15cb9566fd";
+      sha256 = "16wxmqq90n2153w1lkycq2drpcgdxmrsfiizz0m2vi17ph69avnr";
     };
     meta.homepage = "https://github.com/sheerun/vim-polyglot/";
   };
@@ -8325,14 +8804,14 @@ final: prev:
 
   vim-prettier = buildVimPluginFrom2Nix {
     pname = "vim-prettier";
-    version = "2021-07-21";
+    version = "2021-06-29";
     src = fetchFromGitHub {
       owner = "prettier";
       repo = "vim-prettier";
       rev = "0e61e4a5b55d2740aa118db91a6671dcb11307e8";
       sha256 = "0d83lx6kfpsi3d4q9wz8zwsgdn0vn16psqyngml6wspjyibh6pnf";
     };
-    meta.homepage = "https://github.com/prettier/vim-prettier";
+    meta.homepage = "https://github.com/prettier/vim-prettier/";
   };
 
   vim-prettyprint = buildVimPluginFrom2Nix {
@@ -8409,12 +8888,12 @@ final: prev:
 
   vim-puppet = buildVimPluginFrom2Nix {
     pname = "vim-puppet";
-    version = "2021-07-18";
+    version = "2021-08-04";
     src = fetchFromGitHub {
       owner = "rodjek";
       repo = "vim-puppet";
-      rev = "7bb7586896b7afe6e6f26bcbaf70ad8517d98018";
-      sha256 = "1mqnawfpg23rwjp3zpz85s3dpspcl8zrh9dymv5p0pqbn27mlf5n";
+      rev = "980147f64d708652aad1e67d8b39c17b2dd07702";
+      sha256 = "0851b22an00p6i2xbc18zx3z5ik5k8nfr6is2fcbsqhlks0g7cgf";
     };
     meta.homepage = "https://github.com/rodjek/vim-puppet/";
   };
@@ -8505,12 +8984,12 @@ final: prev:
 
   vim-rails = buildVimPluginFrom2Nix {
     pname = "vim-rails";
-    version = "2021-06-01";
+    version = "2021-08-21";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-rails";
-      rev = "3b3796352a6f1a68e54e5f7ae5e0c1b9103fab0e";
-      sha256 = "1f0xns0h55szamms17wi06k1ninvygsc4yw82hr29kfq94hvn57l";
+      rev = "03a5c3e85411db1488cdfd1029d2a91f9327c8a2";
+      sha256 = "0x72948i7ilzavf3922hl5d5vmq57f8a7zazpvlmnzs0msvvqzwr";
     };
     meta.homepage = "https://github.com/tpope/vim-rails/";
   };
@@ -8527,26 +9006,50 @@ 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-07-16";
+    version = "2021-08-31";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-rhubarb";
-      rev = "b4aad6dc43660db554bba2942026fb9965f1a45e";
-      sha256 = "04ckpl3q1k4l530fhf5srbklfqdz4rfrcapwsa92n4bwskfxbnsp";
+      rev = "82e71b150d28b60fa96a0e4fe3c84df691a9206a";
+      sha256 = "19lfvn8nhfya461f980g52v4x100iizh9d40dkgwaw9j33yv1i0n";
     };
     meta.homepage = "https://github.com/tpope/vim-rhubarb/";
   };
 
   vim-rooter = buildVimPluginFrom2Nix {
     pname = "vim-rooter";
-    version = "2021-06-08";
+    version = "2021-07-28";
     src = fetchFromGitHub {
       owner = "airblade";
       repo = "vim-rooter";
-      rev = "9a5ce8edc67cca36cc530ee27a805112ce7a7e9b";
-      sha256 = "0zx1mzaiqwqyg7imahwy0mzp52b2dzp4qdnrsgcnkvkxf8v67bak";
+      rev = "0415be8b5989e56f6c9e382a04906b7f719cfb38";
+      sha256 = "1v7akjwrk62q2bk03iqhvziw6s13wnh2lk0vppzvlksv6rj0cmpi";
     };
     meta.homepage = "https://github.com/airblade/vim-rooter/";
   };
@@ -8565,12 +9068,12 @@ final: prev:
 
   vim-ruby = buildVimPluginFrom2Nix {
     pname = "vim-ruby";
-    version = "2021-07-18";
+    version = "2021-08-18";
     src = fetchFromGitHub {
       owner = "vim-ruby";
       repo = "vim-ruby";
-      rev = "482e2cec5a742920eddf644f2f1efcb15f03967c";
-      sha256 = "18b3hhb1sfgip80dp7wicrsqs59narj49qlmpnfhsy29imsxzb72";
+      rev = "cb2ed789ebcd836fa699fc4555f924f69d19f199";
+      sha256 = "1a4h0cc4w68mfpkw37vxnaqk9ml3ygkgmfqqdcr74ncmnl58cqjq";
     };
     meta.homepage = "https://github.com/vim-ruby/vim-ruby/";
   };
@@ -8589,36 +9092,36 @@ final: prev:
 
   vim-sandwich = buildVimPluginFrom2Nix {
     pname = "vim-sandwich";
-    version = "2020-12-15";
+    version = "2021-09-03";
     src = fetchFromGitHub {
       owner = "machakann";
       repo = "vim-sandwich";
-      rev = "9e6340affe9f53c11a6975a5f50b9bf48adb692c";
-      sha256 = "0ghli93qzr3i8ai90waikylwas3xgy5bdgykng55b9mqgpmc3faf";
+      rev = "785fb39d79bb843b545f1d8a9265bd8f2e2285f8";
+      sha256 = "01arkxk1kvd8l0v0ckg89favy629mnvl3vnb24abfkldhsrrzjfq";
     };
     meta.homepage = "https://github.com/machakann/vim-sandwich/";
   };
 
   vim-sayonara = buildVimPluginFrom2Nix {
     pname = "vim-sayonara";
-    version = "2017-03-13";
+    version = "2021-08-12";
     src = fetchFromGitHub {
       owner = "mhinz";
       repo = "vim-sayonara";
-      rev = "357135ce127581fab2c0caf45d4b3fec4603aa77";
-      sha256 = "0m4pbpqq7m4rbqj1sxzx3r25znm9m5df6z6kndc6x5c1p27a63pi";
+      rev = "7e774f58c5865d9c10d40396850b35ab95af17c5";
+      sha256 = "0m22zjby54gvpg0s7qbpxdvjx6bcf3xdb58yc90bmf6pxklllc20";
     };
     meta.homepage = "https://github.com/mhinz/vim-sayonara/";
   };
 
   vim-scala = buildVimPluginFrom2Nix {
     pname = "vim-scala";
-    version = "2019-06-24";
+    version = "2021-08-11";
     src = fetchFromGitHub {
       owner = "derekwyatt";
       repo = "vim-scala";
-      rev = "bbdfea4b98fdb8866a8a6060ec1294643cfeb413";
-      sha256 = "14q8j6vwqad2nwia29d0844v2zdcx04xn9dyicv13sdpivzcm4rb";
+      rev = "7657218f14837395a4e6759f15289bad6febd1b4";
+      sha256 = "0iypq4ii1lbnw6x4qc89vy8g8wq0gi06v96nphcc4fbs04pb4cr5";
     };
     meta.homepage = "https://github.com/derekwyatt/vim-scala/";
   };
@@ -8841,12 +9344,12 @@ final: prev:
 
   vim-snippets = buildVimPluginFrom2Nix {
     pname = "vim-snippets";
-    version = "2021-07-16";
+    version = "2021-08-27";
     src = fetchFromGitHub {
       owner = "honza";
       repo = "vim-snippets";
-      rev = "f1b72d866d6564075a8b0da1f179c0b7de723131";
-      sha256 = "1vfpf0mjwk519gdly44f0ixc5y4609j33fsjsfzwgcmp3xgmf081";
+      rev = "e081212205f767fc5b050977c0a2b0f1536a3bdf";
+      sha256 = "1z7dbhjz7y9wl9gvv35pn4v25pksaavibblxakw3pxv6xk5c5kxf";
     };
     meta.homepage = "https://github.com/honza/vim-snippets/";
   };
@@ -8925,12 +9428,12 @@ final: prev:
 
   vim-startuptime = buildVimPluginFrom2Nix {
     pname = "vim-startuptime";
-    version = "2021-07-11";
+    version = "2021-08-06";
     src = fetchFromGitHub {
       owner = "dstein64";
       repo = "vim-startuptime";
-      rev = "e82e635e1e188b1d00fa9ed3de21794c07ea1445";
-      sha256 = "1623rkqni2xbz6jl8cs848db0gydnpsp0nxss6rg2cp9l813k68f";
+      rev = "5e4c41a744523a7e300d3e1613cf3201709b0b03";
+      sha256 = "036dyas04hrhhv1s747g4pv2qhi4pfyyxjifidrg5s1dx68zd6p2";
     };
     meta.homepage = "https://github.com/dstein64/vim-startuptime/";
   };
@@ -8997,12 +9500,12 @@ final: prev:
 
   vim-swap = buildVimPluginFrom2Nix {
     pname = "vim-swap";
-    version = "2021-04-07";
+    version = "2021-08-08";
     src = fetchFromGitHub {
       owner = "machakann";
       repo = "vim-swap";
-      rev = "e75fb91c4940447758902f8cab95d13f8be84d0e";
-      sha256 = "0z8mlcjhp1r2v9hs69h6kpk7yfyi7c2y7ck096y5y0hbcwrarn6n";
+      rev = "9358bfdc5e377aa13e7c2c2dd8699ba32b0dcf83";
+      sha256 = "1vi0d4mp3npyv1hz4zyillrw4dpq71b1cqc2lwc4ks5b6g83pf27";
     };
     meta.homepage = "https://github.com/machakann/vim-swap/";
   };
@@ -9082,12 +9585,12 @@ final: prev:
 
   vim-test = buildVimPluginFrom2Nix {
     pname = "vim-test";
-    version = "2021-07-08";
+    version = "2021-08-13";
     src = fetchFromGitHub {
       owner = "vim-test";
       repo = "vim-test";
-      rev = "849d378a499ada59d3326c166d44f0a118e4bdbf";
-      sha256 = "161a3nh1ggd2ff2d6bllssfds6kcab3z7sckr2q2bbipggl33lkd";
+      rev = "b980e646e5f91d6e65659737b584e484ef918984";
+      sha256 = "073lpxmrs41zm0mqxf6pmf88xvkq1fngryl8rp1lcgkrwbl7isg4";
     };
     meta.homepage = "https://github.com/vim-test/vim-test/";
   };
@@ -9154,12 +9657,12 @@ final: prev:
 
   vim-textobj-variable-segment = buildVimPluginFrom2Nix {
     pname = "vim-textobj-variable-segment";
-    version = "2019-12-30";
+    version = "2021-08-29";
     src = fetchFromGitHub {
       owner = "Julian";
       repo = "vim-textobj-variable-segment";
-      rev = "78457d4322b44bf89730e708b62b69df48c39aa3";
-      sha256 = "14dcrnk83hj4ixrkdgjrk9cf0193f82wqckdzd4w0b76adf3habj";
+      rev = "30f7bc94bc8a87d923631f5e440200b662becb1a";
+      sha256 = "1168qylhs0f0xzvy68kh07p8w01ypc78h2cb4pklv8079c869k30";
     };
     meta.homepage = "https://github.com/Julian/vim-textobj-variable-segment/";
   };
@@ -9250,12 +9753,12 @@ final: prev:
 
   vim-tpipeline = buildVimPluginFrom2Nix {
     pname = "vim-tpipeline";
-    version = "2021-06-19";
+    version = "2021-08-27";
     src = fetchFromGitHub {
       owner = "vimpostor";
       repo = "vim-tpipeline";
-      rev = "a40b618746bb60ddf3a664e65f82ffa4750d450a";
-      sha256 = "1pxnsxixdjpmndqi1cl0lp54mh4zidx40lshpdvmk3fjpjdjd130";
+      rev = "88e7302f705ffe60a26ee25619c27c60681bf6fe";
+      sha256 = "0cgmxls4y1h7mx91mibfia2860zamfdr8k7k6qipwdmcmchmrawa";
     };
     meta.homepage = "https://github.com/vimpostor/vim-tpipeline/";
   };
@@ -9298,24 +9801,24 @@ final: prev:
 
   vim-twiggy = buildVimPluginFrom2Nix {
     pname = "vim-twiggy";
-    version = "2021-07-16";
+    version = "2021-08-25";
     src = fetchFromGitHub {
       owner = "sodapopcan";
       repo = "vim-twiggy";
-      rev = "cd7286702319d676c622a5f5891dc68563bf6ad5";
-      sha256 = "1xmcnhbny74hr0zciy55gq8c8agds2x1xvdsr1wrghkcr2k15w46";
+      rev = "3561237047481c212b55942d9507c937841d3bc8";
+      sha256 = "1099bnpagw6sv5j2rigsp2b9qc58dcyi4520hb0xz48zdvynkaac";
     };
     meta.homepage = "https://github.com/sodapopcan/vim-twiggy/";
   };
 
   vim-ultest = buildVimPluginFrom2Nix {
     pname = "vim-ultest";
-    version = "2021-07-18";
+    version = "2021-08-18";
     src = fetchFromGitHub {
       owner = "rcarriga";
       repo = "vim-ultest";
-      rev = "06f965a62c32906f220c37e7b758a275d6a992f6";
-      sha256 = "0zgpp6g29n1kb0qi6n84i1d540g0xhw5bzj8kp5xsh5wlvn9h4fk";
+      rev = "416c58d00280c452f4c8c75866393394031fcb6b";
+      sha256 = "0vm91shvwzq6x3llxjrprx2vimk73hkcdcmivbpkmvbsx0z33480";
     };
     meta.homepage = "https://github.com/rcarriga/vim-ultest/";
   };
@@ -9334,12 +9837,12 @@ final: prev:
 
   vim-unimpaired = buildVimPluginFrom2Nix {
     pname = "vim-unimpaired";
-    version = "2020-04-26";
+    version = "2021-08-26";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-unimpaired";
-      rev = "4afbe5ebf32ad85341b4c02b0e1d8ca96a64c561";
-      sha256 = "052amdb4bd2qbip3z9xz7h1cv61k4p038j65yijm68vy0hf2724y";
+      rev = "c147741c643e2fef3458e8e44834c11ef85bdd9b";
+      sha256 = "0lz2kdp8wmrnrcflsbfhmv42l81gvv00s3qfgf6926zxsr7r5kpl";
     };
     meta.homepage = "https://github.com/tpope/vim-unimpaired/";
   };
@@ -9358,12 +9861,12 @@ final: prev:
 
   vim-vinegar = buildVimPluginFrom2Nix {
     pname = "vim-vinegar";
-    version = "2021-03-16";
+    version = "2021-09-02";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-vinegar";
-      rev = "b245f3ab4580eba27616a5ce06a56d5f791e67bd";
-      sha256 = "0lvqfa5drjzk3b877aldnjc9m4jnwlpxlvfvy8s81az92r69f13m";
+      rev = "43576e84d3034bccb1216f39f51ed36d945d7b96";
+      sha256 = "17zg5x4n9y14qw68hj0sphpghwqccafhyy4ld1b65vglz40zqi3v";
     };
     meta.homepage = "https://github.com/tpope/vim-vinegar/";
   };
@@ -9382,12 +9885,12 @@ final: prev:
 
   vim-visual-multi = buildVimPluginFrom2Nix {
     pname = "vim-visual-multi";
-    version = "2021-07-11";
+    version = "2021-08-31";
     src = fetchFromGitHub {
       owner = "mg979";
       repo = "vim-visual-multi";
-      rev = "46c082aad84fd83c3c3d962c65afa800c2c33d85";
-      sha256 = "1i3vz8c2v0ygk2m512phkpb8hcz1jj60k583yjkra9l78y7dj7y5";
+      rev = "e20908963d9b0114e5da1eacbc516e4b09cf5803";
+      sha256 = "02y91annhsrq6m9lnnvrla08g3z4chmpdrfrlzf252s26062mwdv";
     };
     meta.homepage = "https://github.com/mg979/vim-visual-multi/";
   };
@@ -9406,24 +9909,24 @@ final: prev:
 
   vim-vsnip = buildVimPluginFrom2Nix {
     pname = "vim-vsnip";
-    version = "2021-07-05";
+    version = "2021-08-14";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "vim-vsnip";
-      rev = "d9d3c2d2942b8e35aedc5c82552913b19958de77";
-      sha256 = "06hv1rf3br32n6ks5fic8x9c1m32n3wx4pj4xgmy9q58gf95sn2w";
+      rev = "87d144b7451deb3ab55f1a3e3c5124cfab2b02fa";
+      sha256 = "17gw992xvxsa6wyirah17xbsdi2gl4lif8ibvbs7dwagnkv01vyb";
     };
     meta.homepage = "https://github.com/hrsh7th/vim-vsnip/";
   };
 
   vim-vsnip-integ = buildVimPluginFrom2Nix {
     pname = "vim-vsnip-integ";
-    version = "2020-12-31";
+    version = "2021-08-21";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "vim-vsnip-integ";
-      rev = "60dfbb0dc73cfc4828e9328251a46ccbd7e9b5fe";
-      sha256 = "0nv8imllzpm5zvg2n3c5mb7lc1v1fn6jmqy8vgmv2fp1050p3dy3";
+      rev = "8f94cdd9ca6c3e6c328edaf22029f1bf17f3d1c5";
+      sha256 = "1wh44m7jn1s7jyk0g9flf2qhkqgcl5amfi5w7dwjqkr8z495r29h";
     };
     meta.homepage = "https://github.com/hrsh7th/vim-vsnip-integ/";
   };
@@ -9442,12 +9945,12 @@ final: prev:
 
   vim-wakatime = buildVimPluginFrom2Nix {
     pname = "vim-wakatime";
-    version = "2020-12-29";
+    version = "2021-08-23";
     src = fetchFromGitHub {
       owner = "wakatime";
       repo = "vim-wakatime";
-      rev = "45dfc28c30b44041183d749cf724e3dba9ac65ef";
-      sha256 = "1ipdynpg9v5mll1zimyiaxw4zzj004myh5xjky32z783lgi0qlxl";
+      rev = "1bef11e2f277984214a7bdca250c09199b57a80b";
+      sha256 = "01f3mrbcpdg3dxhy0h2khjaj1fz63f4x8iwmbqbk9vp6r1qzwkkl";
     };
     meta.homepage = "https://github.com/wakatime/vim-wakatime/";
   };
@@ -9490,12 +9993,12 @@ final: prev:
 
   vim-wordmotion = buildVimPluginFrom2Nix {
     pname = "vim-wordmotion";
-    version = "2021-06-04";
+    version = "2021-07-26";
     src = fetchFromGitHub {
       owner = "chaoren";
       repo = "vim-wordmotion";
-      rev = "dca1a1827513497def6362411d093ae6b3cff7f8";
-      sha256 = "1ij2j35bskk20wyiwjg1krqr9fi5fk043gfpxihhlbxd7yxlbpq1";
+      rev = "0edeebdfa95c0a1fc5fbb83b8faf6b0b2cc3bf7e";
+      sha256 = "0f9jfb9x1p43q3apyj68200dp8821qv8bdybax0c33hyxyzbz6n6";
     };
     meta.homepage = "https://github.com/chaoren/vim-wordmotion/";
   };
@@ -9526,24 +10029,24 @@ final: prev:
 
   vim-xkbswitch = buildVimPluginFrom2Nix {
     pname = "vim-xkbswitch";
-    version = "2021-07-12";
+    version = "2021-08-30";
     src = fetchFromGitHub {
       owner = "lyokha";
       repo = "vim-xkbswitch";
-      rev = "df53e9c5fce91a84e1d6e8722956a01595d16c40";
-      sha256 = "0zndnmdmxlr6114d29sc1q8fc0s2zlsrj1v28gp0sgnim1rmavfp";
+      rev = "04acea43fce810e19cf46efedee05bd6ced3cf84";
+      sha256 = "01wdqn6zb3a9aij58293hrxagvhsjr8rq4fa6rqm7cq7pm4bkgli";
     };
     meta.homepage = "https://github.com/lyokha/vim-xkbswitch/";
   };
 
   vim-xtabline = buildVimPluginFrom2Nix {
     pname = "vim-xtabline";
-    version = "2021-07-19";
+    version = "2021-08-13";
     src = fetchFromGitHub {
       owner = "mg979";
       repo = "vim-xtabline";
-      rev = "e1be98dc050b8c5196e324cb4236e8c4b44483e6";
-      sha256 = "12gr0v2r91q75v1wfrskp330zlyibshngs11if9nlxpnhgz8f6dn";
+      rev = "9e1ee818616edc38a52dbc3956a3046393384d05";
+      sha256 = "0j2z5mkdpfp6wzz7saqnpla0wmsr1c42gvjs0n2i4385phlg93vz";
     };
     meta.homepage = "https://github.com/mg979/vim-xtabline/";
   };
@@ -9610,24 +10113,24 @@ final: prev:
 
   vimade = buildVimPluginFrom2Nix {
     pname = "vimade";
-    version = "2021-04-07";
+    version = "2021-09-01";
     src = fetchFromGitHub {
       owner = "TaDaa";
       repo = "vimade";
-      rev = "9b9254340e39dab3dad64c05b10af0fd85490b71";
-      sha256 = "0sbk9lf5w136lwl3ca866m594993s23zad5ss4whzm9j0qknihl3";
+      rev = "f01d758cf59842b0a562617184fa16e511f72547";
+      sha256 = "02glk6llrzl3xj1rsaiivxmqy05cc954sidc8h21ssmkn9zyj1m3";
     };
     meta.homepage = "https://github.com/TaDaa/vimade/";
   };
 
   vimagit = buildVimPluginFrom2Nix {
     pname = "vimagit";
-    version = "2020-11-18";
+    version = "2021-08-10";
     src = fetchFromGitHub {
       owner = "jreybert";
       repo = "vimagit";
-      rev = "aaf1278f03e866f0b978d4b0f0cc7084db251129";
-      sha256 = "1k23q1p6wgjlk1cpmv1ijjggjklz8hgg6s7bx6mrk0aw5j2s1pdh";
+      rev = "fb71060049f829e48fc392e0be43d1040c271204";
+      sha256 = "1yizvf9s9djxar64kp63r45q5vv2k616xskd4adkcfqn8crzyw52";
     };
     meta.homepage = "https://github.com/jreybert/vimagit/";
   };
@@ -9645,7 +10148,7 @@ final: prev:
   };
 
   vimfiler-vim = buildVimPluginFrom2Nix {
-    pname = "vimfiler-vim";
+    pname = "vimfiler.vim";
     version = "2020-07-13";
     src = fetchFromGitHub {
       owner = "Shougo";
@@ -9693,7 +10196,7 @@ final: prev:
   };
 
   vimproc-vim = buildVimPluginFrom2Nix {
-    pname = "vimproc-vim";
+    pname = "vimproc.vim";
     version = "2020-06-23";
     src = fetchFromGitHub {
       owner = "Shougo";
@@ -9717,7 +10220,7 @@ final: prev:
   };
 
   vimshell-vim = buildVimPluginFrom2Nix {
-    pname = "vimshell-vim";
+    pname = "vimshell.vim";
     version = "2019-07-16";
     src = fetchFromGitHub {
       owner = "Shougo";
@@ -9730,12 +10233,12 @@ final: prev:
 
   vimspector = buildVimPluginFrom2Nix {
     pname = "vimspector";
-    version = "2021-07-13";
+    version = "2021-08-20";
     src = fetchFromGitHub {
       owner = "puremourning";
       repo = "vimspector";
-      rev = "9c806d2a014a21ef4bce49a18791d04e1a66bdf7";
-      sha256 = "0imqzcdw28d5nmv2837x1m07pmir1yh9zbf52nsnvibw09z26kg8";
+      rev = "14f34ea6d12b71a720356ce83c386f8ba393e700";
+      sha256 = "1w680m5xwv6imyc4rd5mpj76w2ac6qgvfsaw33xd9wpgl3ld444j";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/puremourning/vimspector/";
@@ -9743,36 +10246,36 @@ final: prev:
 
   vimtex = buildVimPluginFrom2Nix {
     pname = "vimtex";
-    version = "2021-07-18";
+    version = "2021-09-02";
     src = fetchFromGitHub {
       owner = "lervag";
       repo = "vimtex";
-      rev = "830659752b8914f6b4567a00448901246e4d1841";
-      sha256 = "1zdi1kblk03gwifpg1nanq4ppn9xw6af92l3li86ziw89bv3bad9";
+      rev = "1861f3c89d9c4dc776f95639295ebdbe00c12702";
+      sha256 = "0wby0dvm6briqb40c2f2kn6vbf546wn8xwzrk9wpi5xpv1z4a29g";
     };
     meta.homepage = "https://github.com/lervag/vimtex/";
   };
 
   vimux = buildVimPluginFrom2Nix {
     pname = "vimux";
-    version = "2021-05-25";
+    version = "2021-08-15";
     src = fetchFromGitHub {
       owner = "preservim";
       repo = "vimux";
-      rev = "a1650d5f9bc2d617bb546bb8014a206e41089dc8";
-      sha256 = "0gdhhkpcq654c7jv5ycnss3fra2mysz3zl64n46cq17vmwczbcrh";
+      rev = "89604a4464c3069dbe31f7bc8dd16a5fbc88a303";
+      sha256 = "1lr7zqza29xxwbki9fgfazrak6ybyvm1a782kbs3v3zip10xmm3x";
     };
     meta.homepage = "https://github.com/preservim/vimux/";
   };
 
   vimway-lsp-diag-nvim = buildVimPluginFrom2Nix {
-    pname = "vimway-lsp-diag-nvim";
-    version = "2021-07-21";
+    pname = "vimway-lsp-diag.nvim";
+    version = "2021-08-04";
     src = fetchFromGitHub {
       owner = "onsails";
       repo = "vimway-lsp-diag.nvim";
-      rev = "dee2f59a45f72fb2ba0dd29cb06ed5357097ee07";
-      sha256 = "16da94g367sb07d1xn55cvyi48zjgjv2c1p7mzabpidm9c7r99pm";
+      rev = "4de4ba1b545203660be3ab935c4ed3063aebde78";
+      sha256 = "12fmm80xw72k4dmcxal1ypyjgd5qvkwgsmmj7jzn5b4z2iddn302";
     };
     meta.homepage = "https://github.com/onsails/vimway-lsp-diag.nvim/";
   };
@@ -9789,8 +10292,20 @@ final: prev:
     meta.homepage = "https://github.com/vimwiki/vimwiki/";
   };
 
+  vis = buildVimPluginFrom2Nix {
+    pname = "vis";
+    version = "2013-04-26";
+    src = fetchFromGitHub {
+      owner = "vim-scripts";
+      repo = "vis";
+      rev = "6a87efbfbd97238716b602c2b53564aa6329b5de";
+      sha256 = "1bg1d2gmln1s0324c4a2338qx729yy708f1hgk98fkgl9sk2bhdi";
+    };
+    meta.homepage = "https://github.com/vim-scripts/vis/";
+  };
+
   vissort-vim = buildVimPluginFrom2Nix {
-    pname = "vissort-vim";
+    pname = "vissort.vim";
     version = "2014-01-31";
     src = fetchFromGitHub {
       owner = "navicore";
@@ -9802,19 +10317,19 @@ final: prev:
   };
 
   vista-vim = buildVimPluginFrom2Nix {
-    pname = "vista-vim";
-    version = "2021-06-16";
+    pname = "vista.vim";
+    version = "2021-08-03";
     src = fetchFromGitHub {
       owner = "liuchengxu";
       repo = "vista.vim";
-      rev = "d709462958f2167008c9653a9cbc9de1067bfa2d";
-      sha256 = "1fq4ah4jzfddg2w7n1sy9fjfy6z9ab3jslfx48n991i0kwbw4vp0";
+      rev = "cb908f21c23d9c9ebce678c8dbc7a0f876384b8c";
+      sha256 = "0s2r7k1g7bzwy0yc7hx6iqyha3839jngr2db5gdihnc1niq9z8q5";
     };
     meta.homepage = "https://github.com/liuchengxu/vista.vim/";
   };
 
   Vundle-vim = buildVimPluginFrom2Nix {
-    pname = "Vundle-vim";
+    pname = "Vundle.vim";
     version = "2019-08-17";
     src = fetchFromGitHub {
       owner = "VundleVim";
@@ -9826,7 +10341,7 @@ final: prev:
   };
 
   wal-vim = buildVimPluginFrom2Nix {
-    pname = "wal-vim";
+    pname = "wal.vim";
     version = "2020-11-08";
     src = fetchFromGitHub {
       owner = "dylanaraps";
@@ -9850,19 +10365,31 @@ final: prev:
   };
 
   which-key-nvim = buildVimPluginFrom2Nix {
-    pname = "which-key-nvim";
-    version = "2021-07-06";
+    pname = "which-key.nvim";
+    version = "2021-08-05";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "which-key.nvim";
-      rev = "dc9c3be7acae2a486c117f5a9f6ada62b2243336";
-      sha256 = "105fnr3qa64izllb9s4r6lsg5mfddiap784j7zz7gh3znpy43n3m";
+      rev = "b582c9d78f0d105041ed29ec3a8ee11d98ddfd50";
+      sha256 = "00k4x121v5zmd70xn24ipiqnpvzlvbv5p089mxsd0wpkng3q31ks";
     };
     meta.homepage = "https://github.com/folke/which-key.nvim/";
   };
 
+  wilder-nvim = buildVimPluginFrom2Nix {
+    pname = "wilder.nvim";
+    version = "2021-09-03";
+    src = fetchFromGitHub {
+      owner = "gelguy";
+      repo = "wilder.nvim";
+      rev = "8fb563901cada58e247336d380c85f884274b66c";
+      sha256 = "0x696lnhs8qfn3k1c5m235y7zf2lwgk9d7azldwdg1ziiyvih4y4";
+    };
+    meta.homepage = "https://github.com/gelguy/wilder.nvim/";
+  };
+
   wildfire-vim = buildVimPluginFrom2Nix {
-    pname = "wildfire-vim";
+    pname = "wildfire.vim";
     version = "2021-05-10";
     src = fetchFromGitHub {
       owner = "gcmt";
@@ -9874,7 +10401,7 @@ final: prev:
   };
 
   wmgraphviz-vim = buildVimPluginFrom2Nix {
-    pname = "wmgraphviz-vim";
+    pname = "wmgraphviz.vim";
     version = "2018-04-26";
     src = fetchFromGitHub {
       owner = "wannesm";
@@ -9886,7 +10413,7 @@ final: prev:
   };
 
   wombat256-vim = buildVimPluginFrom2Nix {
-    pname = "wombat256-vim";
+    pname = "wombat256.vim";
     version = "2010-10-18";
     src = fetchFromGitHub {
       owner = "vim-scripts";
@@ -9910,7 +10437,7 @@ final: prev:
   };
 
   wstrip-vim = buildVimPluginFrom2Nix {
-    pname = "wstrip-vim";
+    pname = "wstrip.vim";
     version = "2021-03-14";
     src = fetchFromGitHub {
       owner = "tweekmonster";
@@ -9934,7 +10461,7 @@ final: prev:
   };
 
   xterm-color-table-vim = buildVimPluginFrom2Nix {
-    pname = "xterm-color-table-vim";
+    pname = "xterm-color-table.vim";
     version = "2014-01-01";
     src = fetchFromGitHub {
       owner = "guns";
@@ -9946,7 +10473,7 @@ final: prev:
   };
 
   YankRing-vim = buildVimPluginFrom2Nix {
-    pname = "YankRing-vim";
+    pname = "YankRing.vim";
     version = "2015-07-29";
     src = fetchFromGitHub {
       owner = "vim-scripts";
@@ -9958,7 +10485,7 @@ final: prev:
   };
 
   yats-vim = buildVimPluginFrom2Nix {
-    pname = "yats-vim";
+    pname = "yats.vim";
     version = "2021-07-10";
     src = fetchFromGitHub {
       owner = "HerringtonDarkholme";
@@ -9972,19 +10499,19 @@ final: prev:
 
   YouCompleteMe = buildVimPluginFrom2Nix {
     pname = "YouCompleteMe";
-    version = "2021-07-05";
+    version = "2021-08-05";
     src = fetchFromGitHub {
       owner = "ycm-core";
       repo = "YouCompleteMe";
-      rev = "c83c240e1397291bf1babcba173253d7f753a0b6";
-      sha256 = "0lr2vl9rdjr2lgbs5vlbcjw3zrwv66w5bijlpk1xy45ccbrbq2nw";
+      rev = "518275b599ab6dd7844c24022f6aec505fb4b07c";
+      sha256 = "0wkd83xlzfbk3h19gn3jhp6lpkb1wnxrhcdnczhdwhy81lizfq4w";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/ycm-core/YouCompleteMe/";
   };
 
   YUNOcommit-vim = buildVimPluginFrom2Nix {
-    pname = "YUNOcommit-vim";
+    pname = "YUNOcommit.vim";
     version = "2014-11-26";
     src = fetchFromGitHub {
       owner = "esneider";
@@ -9996,7 +10523,7 @@ final: prev:
   };
 
   zeavim-vim = buildVimPluginFrom2Nix {
-    pname = "zeavim-vim";
+    pname = "zeavim.vim";
     version = "2019-06-07";
     src = fetchFromGitHub {
       owner = "KabbAmine";
@@ -10032,7 +10559,7 @@ final: prev:
   };
 
   zig-vim = buildVimPluginFrom2Nix {
-    pname = "zig-vim";
+    pname = "zig.vim";
     version = "2021-06-24";
     src = fetchFromGitHub {
       owner = "ziglang";
@@ -10044,7 +10571,7 @@ final: prev:
   };
 
   zoomwintab-vim = buildVimPluginFrom2Nix {
-    pname = "zoomwintab-vim";
+    pname = "zoomwintab.vim";
     version = "2020-10-13";
     src = fetchFromGitHub {
       owner = "troydm";
diff --git a/nixpkgs/pkgs/misc/vim-plugins/overrides.nix b/nixpkgs/pkgs/misc/vim-plugins/overrides.nix
index a63d05441281..22adcb743166 100644
--- a/nixpkgs/pkgs/misc/vim-plugins/overrides.nix
+++ b/nixpkgs/pkgs/misc/vim-plugins/overrides.nix
@@ -86,6 +86,8 @@
 , iferr
 , impl
 , reftools
+# must be lua51Packages
+, luaPackages
 }:
 
 self: super: {
@@ -124,8 +126,8 @@ self: super: {
     buildInputs = [ tabnine ];
 
     postFixup = ''
-      mkdir $target/binaries
-      ln -s ${tabnine}/bin/TabNine $target/binaries/TabNine_$(uname -s)
+      mkdir -p $target/binaries/${tabnine.version}
+      ln -s ${tabnine}/bin/ $target/binaries/${tabnine.version}/${tabnine.passthru.platform}
     '';
   });
 
@@ -201,7 +203,7 @@ self: super: {
 
   direnv-vim = super.direnv-vim.overrideAttrs (oa: {
     preFixup = oa.preFixup or "" + ''
-      substituteInPlace $out/share/vim-plugins/direnv-vim/autoload/direnv.vim \
+      substituteInPlace $out/share/vim-plugins/direnv.vim/autoload/direnv.vim \
         --replace "let s:direnv_cmd = get(g:, 'direnv_cmd', 'direnv')" \
           "let s:direnv_cmd = get(g:, 'direnv_cmd', '${lib.getBin direnv}/bin/direnv')"
     '';
@@ -212,6 +214,14 @@ self: super: {
     dependencies = with self; [ vimproc-vim vimshell-vim self.self forms ];
   });
 
+  fcitx-vim = super.fcitx-vim.overrideAttrs (old: {
+    passthru.python3Dependencies = ps: with ps; [ dbus-python ];
+    meta = {
+      description = "Keep and restore fcitx state when leaving/re-entering insert mode or search mode";
+      license = lib.licenses.mit;
+    };
+  });
+
   forms = super.forms.overrideAttrs (old: {
     dependencies = with self; [ self.self ];
   });
@@ -282,6 +292,8 @@ self: super: {
     dependencies = with self; [ plenary-nvim ];
   });
 
+  # plenary-nvim = super.toVimPlugin(luaPackages.plenary-nvim);
+
   gruvbox-nvim = super.gruvbox-nvim.overrideAttrs (old: {
     dependencies = with self; [ lush-nvim ];
   });
@@ -298,8 +310,12 @@ self: super: {
   himalaya-vim = buildVimPluginFrom2Nix {
     pname = "himalaya-vim";
     inherit (himalaya) src version;
-    configurePhase = "cd vim/";
     dependencies = with self; [ himalaya ];
+    patchPhase = ''
+      rm -rf !"vim/"
+      cp -vaR vim/. .
+      rm -rf vim/
+    '';
     preFixup = ''
       substituteInPlace $out/share/vim-plugins/himalaya-vim/plugin/himalaya.vim \
         --replace 'if !executable("himalaya")' 'if v:false'
@@ -363,6 +379,10 @@ self: super: {
     dependencies = with self; [ vim-floaterm ];
   });
 
+  lir-nvim = super.lir-nvim.overrideAttrs (old: {
+    dependencies = with self; [ plenary-nvim ];
+  });
+
   meson = buildVimPluginFrom2Nix {
     inherit (meson) pname version src;
     preInstall = "cd data/syntax-highlighting/vim";
@@ -433,10 +453,22 @@ self: super: {
       });
   });
 
+  onedark-nvim = super.onedark-nvim.overrideAttrs (old: {
+    dependencies = with self; [ lush-nvim ];
+  });
+
   onehalf = super.onehalf.overrideAttrs (old: {
     configurePhase = "cd vim";
   });
 
+  range-highlight-nvim = super.range-highlight-nvim.overrideAttrs (old: {
+    dependencies = with self; [ cmd-parser-nvim ];
+  });
+
+  refactoring-nvim = super.refactoring-nvim.overrideAttrs (old: {
+    dependencies = with self; [ nvim-treesitter plenary-nvim ];
+  });
+
   skim = buildVimPluginFrom2Nix {
     pname = "skim";
     version = skim.version;
@@ -447,7 +479,7 @@ self: super: {
     dependencies = with self; [ skim ];
   });
 
-  sql-nvim = super.sql-nvim.overrideAttrs (old: {
+  sqlite-lua = super.sqlite-lua.overrideAttrs (old: {
     postPatch = ''
       substituteInPlace lua/sql/defs.lua \
         --replace "vim.g.sql_clib_path or" "vim.g.sql_clib_path or '${sqlite.out}/lib/libsqlite3.so' or"
@@ -484,7 +516,7 @@ self: super: {
     });
 
   telescope-frecency-nvim = super.telescope-frecency-nvim.overrideAttrs (old: {
-    dependencies = with self; [ sql-nvim telescope-nvim ];
+    dependencies = with self; [ sqlite-lua telescope-nvim ];
   });
 
   telescope-fzf-writer-nvim = super.telescope-fzf-writer-nvim.overrideAttrs (old: {
@@ -643,7 +675,7 @@ self: super: {
             libiconv
           ];
 
-          cargoSha256 = "046c5w47isnz5l23kpk8zkbw312yp5dz9wq9dc2kmpklai71fc1a";
+          cargoSha256 = "16lcsi5mxmj79ky5lbpivravn8rjl4z3j3fsxrglb22ab4i7js3n";
         };
       in
       ''
@@ -802,7 +834,7 @@ self: super: {
   });
 
   vim-xdebug = super.vim-xdebug.overrideAttrs (old: {
-    postInstall = false;
+    postInstall = null;
   });
 
   vim-xkbswitch = super.vim-xkbswitch.overrideAttrs (old: {
diff --git a/nixpkgs/pkgs/misc/vim-plugins/update-shell.nix b/nixpkgs/pkgs/misc/vim-plugins/update-shell.nix
new file mode 100644
index 000000000000..e95801624b69
--- /dev/null
+++ b/nixpkgs/pkgs/misc/vim-plugins/update-shell.nix
@@ -0,0 +1,13 @@
+{ nixpkgs ? import ../../.. { } }:
+with nixpkgs;
+let
+  pyEnv = python3.withPackages(ps: [ ps.GitPython ]);
+in
+mkShell {
+  packages = [
+    bash
+    pyEnv
+    nix-prefetch-scripts
+  ];
+}
+
diff --git a/nixpkgs/pkgs/misc/vim-plugins/update.py b/nixpkgs/pkgs/misc/vim-plugins/update.py
index df948cc0e55d..fa80b58eb386 100755
--- a/nixpkgs/pkgs/misc/vim-plugins/update.py
+++ b/nixpkgs/pkgs/misc/vim-plugins/update.py
@@ -1,5 +1,6 @@
 #!/usr/bin/env nix-shell
-#!nix-shell -p nix-prefetch-git -p python3 -p python3Packages.GitPython nix -i python3
+#!nix-shell update-shell.nix -i python3
+
 
 # format:
 # $ nix run nixpkgs.python3Packages.black -c black update.py
@@ -11,9 +12,14 @@
 import inspect
 import os
 import sys
+import logging
+import textwrap
 from typing import List, Tuple
 from pathlib import Path
 
+log = logging.getLogger()
+log.addHandler(logging.StreamHandler())
+
 # Import plugin update library from maintainers/scripts/pluginupdate.py
 ROOT = Path(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))))
 sys.path.insert(0, os.path.join(ROOT.parent.parent.parent, "maintainers", "scripts"))
@@ -40,28 +46,28 @@ HEADER = (
 )
 
 
-def generate_nix(plugins: List[Tuple[str, str, pluginupdate.Plugin]], outfile: str):
-    sorted_plugins = sorted(plugins, key=lambda v: v[2].name.lower())
+class VimEditor(pluginupdate.Editor):
+    def generate_nix(self, plugins: List[Tuple[str, str, pluginupdate.Plugin]], outfile: str):
+        sorted_plugins = sorted(plugins, key=lambda v: v[2].name.lower())
 
-    with open(outfile, "w+") as f:
-        f.write(HEADER)
-        f.write(
-            """
-{ lib, buildVimPluginFrom2Nix, fetchFromGitHub }:
+        with open(outfile, "w+") as f:
+            f.write(HEADER)
+            f.write(textwrap.dedent("""
+                { lib, buildVimPluginFrom2Nix, fetchFromGitHub }:
 
-final: prev:
-{"""
-        )
-        for owner, repo, plugin in sorted_plugins:
-            if plugin.has_submodules:
-                submodule_attr = "\n      fetchSubmodules = true;"
-            else:
-                submodule_attr = ""
+                final: prev:
+                {"""
+            ))
+            for owner, repo, plugin in sorted_plugins:
+                if plugin.has_submodules:
+                    submodule_attr = "\n      fetchSubmodules = true;"
+                else:
+                    submodule_attr = ""
 
-            f.write(
-                f"""
+                f.write(textwrap.indent(textwrap.dedent(
+                    f"""
   {plugin.normalized_name} = buildVimPluginFrom2Nix {{
-    pname = "{plugin.normalized_name}";
+    pname = "{plugin.name}";
     version = "{plugin.version}";
     src = fetchFromGitHub {{
       owner = "{owner}";
@@ -72,18 +78,17 @@ final: prev:
     meta.homepage = "https://github.com/{owner}/{repo}/";
   }};
 """
-            )
-        f.write(
-            """
-}
-"""
-        )
-    print(f"updated {outfile}")
+                ), '  '))
+            f.write("\n}\n")
+        print(f"updated {outfile}")
+
 
 
 def main():
-    editor = pluginupdate.Editor("vim", ROOT, GET_PLUGINS, generate_nix)
-    pluginupdate.update_plugins(editor)
+    editor = VimEditor("vim", ROOT, GET_PLUGINS)
+    parser = editor.create_parser()
+    args = parser.parse_args()
+    pluginupdate.update_plugins(editor, args)
 
 
 if __name__ == "__main__":
diff --git a/nixpkgs/pkgs/misc/vim-plugins/vim-gen-doc-hook.sh b/nixpkgs/pkgs/misc/vim-plugins/vim-gen-doc-hook.sh
new file mode 100644
index 000000000000..0efc62912013
--- /dev/null
+++ b/nixpkgs/pkgs/misc/vim-plugins/vim-gen-doc-hook.sh
@@ -0,0 +1,31 @@
+echo "Sourcing vim-gen-doc-hook"
+
+# the doc folder is copied via the copy_directories entry of the rockspec
+# in the folder gitsigns.nvim-scm-1-rocks/gitsigns.nvim/scm-1
+vimPluginGenTags() {
+    echo "Executing vimPluginGenTags"
+
+    target="$out/@rtpPath@/$pname"
+    mkdir -p $out/@rtpPath@
+    cp -r . $target
+
+    # build help tags
+    if [ -d "$target/doc" ]; then
+        echo "Building help tags"
+        if ! @vimBinary@ -N -u NONE -i NONE -n -E -s -V1 -c "helptags $target/doc" +quit!; then
+        echo "Failed to build help tags!"
+        exit 1
+        fi
+    else
+        echo "No docs available"
+    fi
+
+    if [ -n "$addonInfo" ]; then
+        echo "$addonInfo" > $target/addon-info.json
+    fi
+
+    echo "Finished executing vimPluginInstallPhase"
+}
+
+preFixupHooks+=(vimPluginGenTags)
+
diff --git a/nixpkgs/pkgs/misc/vim-plugins/vim-plugin-names b/nixpkgs/pkgs/misc/vim-plugins/vim-plugin-names
index 3f1963101cec..7fb9afd68d27 100644
--- a/nixpkgs/pkgs/misc/vim-plugins/vim-plugin-names
+++ b/nixpkgs/pkgs/misc/vim-plugins/vim-plugin-names
@@ -6,9 +6,10 @@ ahmedkhalf/lsp-rooter.nvim@main
 airblade/vim-gitgutter
 airblade/vim-rooter
 ajmwagar/vim-deus
-akinsho/nvim-bufferline.lua
-akinsho/nvim-toggleterm.lua
+akinsho/bufferline.nvim
+akinsho/toggleterm.nvim
 aklt/plantuml-syntax
+allendang/nvim-expand-expr@main
 altercation/vim-colors-solarized
 alvan/vim-closetag
 alx741/vim-hindent
@@ -19,6 +20,7 @@ andrep/vimacs
 andreshazard/vim-logreview
 AndrewRadev/sideways.vim@main
 AndrewRadev/splitjoin.vim@main
+AndrewRadev/tagalong.vim
 andsild/peskcolor.vim
 andviro/flake8-vim
 andweeb/presence.nvim@main
@@ -28,11 +30,13 @@ antoinemadec/coc-fzf
 antoinemadec/FixCursorHold.nvim
 ap/vim-css-color
 arcticicestudio/nord-vim
+arkav/lualine-lsp-progress
 arthurxavierx/vim-unicoder
 artur-shaik/vim-javacomplete2
 autozimu/LanguageClient-neovim
 axelf4/vim-strip-trailing-whitespace
 ayu-theme/ayu-vim
+b3nj5m1n/kommentary@main
 bakpakin/fennel.vim
 bazelbuild/vim-bazel
 bbchung/clighter8
@@ -58,6 +62,7 @@ chikatoike/concealedyank.vim
 chikatoike/sourcemap.vim
 chkno/vim-haskell-module-name
 chr4/nginx.vim
+chr4/sslsecure.vim
 chrisbra/CheckAttach
 chrisbra/csv.vim
 chrisbra/NrrwRgn
@@ -118,6 +123,7 @@ easymotion/vim-easymotion
 eddiebergman/nvim-treesitter-pyfold
 eddyekofo94/gruvbox-flat.nvim
 editorconfig/editorconfig-vim
+edkolev/tmuxline.vim
 edluffy/hologram.nvim@main
 edluffy/specs.nvim@main
 edwinb/idris2-vim
@@ -125,6 +131,8 @@ ehamberg/vim-cute-python
 eigenfoo/stan-vim
 eikenb/acp
 elixir-editors/vim-elixir
+ellisonleao/glow.nvim@main
+ellisonleao/gruvbox.nvim@main
 elmcast/elm-vim
 elzr/vim-json
 embark-theme/vim@main as embark-vim
@@ -137,6 +145,7 @@ esneider/YUNOcommit.vim
 euclidianAce/BetterLua.vim
 euclio/vim-markdown-composer
 f-person/git-blame.nvim
+famiu/bufdelete.nvim
 famiu/feline.nvim
 farmergreg/vim-lastplace
 fatih/vim-go
@@ -163,6 +172,7 @@ fszymanski/deoplete-emoji
 garbas/vim-snipmate
 gcmt/taboo.vim
 gcmt/wildfire.vim
+gelguy/wilder.nvim
 gennaro-tedesco/nvim-peekup
 gentoo/gentoo-syntax
 GEverding/vim-hocon
@@ -185,6 +195,7 @@ 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
@@ -192,6 +203,7 @@ guns/vim-clojure-highlight
 guns/vim-clojure-static
 guns/vim-sexp
 guns/xterm-color-table.vim
+haringsrob/nvim_context_vt
 hashivim/vim-packer
 hashivim/vim-terraform
 hashivim/vim-vagrant
@@ -208,6 +220,14 @@ HerringtonDarkholme/yats.vim
 honza/vim-snippets
 hoob3rt/lualine.nvim
 hotwatermorning/auto-git-diff
+hrsh7th/cmp-buffer@main
+hrsh7th/cmp-calc@main
+hrsh7th/cmp-emoji@main
+hrsh7th/cmp-nvim-lsp@main
+hrsh7th/cmp-nvim-lua@main
+hrsh7th/cmp-path@main
+hrsh7th/cmp-vsnip@main
+hrsh7th/nvim-cmp@main
 hrsh7th/nvim-compe
 hrsh7th/vim-vsnip
 hrsh7th/vim-vsnip-integ
@@ -219,6 +239,8 @@ 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
@@ -257,6 +279,7 @@ jnurmine/zenburn
 jonbri/vim-colorstepper
 jonsmithers/vim-html-template-literals
 joonty/vim-xdebug
+joosepalviste/nvim-ts-context-commentstring@main
 josa42/coc-lua
 josa42/vim-lightline-coc
 jose-elias-alvarez/null-ls.nvim@main
@@ -278,6 +301,7 @@ 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
@@ -297,6 +321,7 @@ kana/vim-operator-user
 kana/vim-tabpagecd
 kana/vim-textobj-function
 kana/vim-textobj-user
+karb94/neoscroll.nvim
 kassio/neoterm
 kbenzie/vim-spirv
 kchmck/vim-coffee-script
@@ -339,11 +364,13 @@ ledger/vim-ledger
 lepture/vim-jinja
 lervag/vimtex
 lewis6991/gitsigns.nvim@main
+lfe-support/vim-lfe
 lfilho/cosco.vim
 lifepillar/vim-gruvbox8
 lifepillar/vim-mucomplete
 lighttiger2505/deoplete-vim-lsp
 lilydjwg/colorizer
+lilydjwg/fcitx.vim@fcitx5
 liuchengxu/vim-clap
 liuchengxu/vim-which-key
 liuchengxu/vista.vim
@@ -409,7 +436,7 @@ mhartington/oceanic-next
 mhinz/vim-crates
 mhinz/vim-grepper
 mhinz/vim-janah
-mhinz/vim-sayonara
+mhinz/vim-sayonara@7e774f58c5865d9c10d40396850b35ab95af17c5
 mhinz/vim-signify
 mhinz/vim-startify
 michaeljsmith/vim-indent-object
@@ -432,7 +459,7 @@ nanotech/jellybeans.vim
 natebosch/vim-lsc
 nathanaelkane/vim-indent-guides
 nathangrigg/vim-beancount
-nathunsmitty/nvim-ale-diagnostic@main
+nathanmsmith/nvim-ale-diagnostic@main
 navicore/vissort.vim
 nbouscal/vim-stylish-haskell
 ncm2/float-preview.nvim
@@ -457,6 +484,7 @@ neoclide/coc-neco
 neoclide/coc.nvim@release
 neoclide/denite-extra
 neoclide/denite-git
+neoclide/jsonc.vim
 neoclide/vim-easygit
 neomake/neomake
 neovim/nvim-lspconfig
@@ -473,8 +501,6 @@ noc7c9/vim-iced-coffee-script
 norcalli/nvim-colorizer.lua
 norcalli/nvim-terminal.lua
 norcalli/snippets.nvim
-npxbr/glow.nvim@main
-npxbr/gruvbox.nvim@main
 ntpeters/vim-better-whitespace
 numirias/semshi
 nvie/vim-flake8
@@ -489,13 +515,14 @@ nvim-telescope/telescope-frecency.nvim
 nvim-telescope/telescope-fzf-native.nvim@main
 nvim-telescope/telescope-fzf-writer.nvim
 nvim-telescope/telescope-fzy-native.nvim
+nvim-telescope/telescope-project.nvim
 nvim-telescope/telescope-symbols.nvim
 nvim-telescope/telescope-z.nvim@main
 nvim-telescope/telescope.nvim
 nvim-treesitter/completion-treesitter
-nvim-treesitter/nvim-treesitter
 nvim-treesitter/nvim-treesitter-refactor
-nvim-treesitter/nvim-treesitter-textobjects
+nvim-treesitter/nvim-treesitter-textobjects@0.5-compat
+nvim-treesitter/nvim-treesitter@0.5-compat
 nvim-treesitter/playground
 oberblastmeister/termwrapper.nvim
 ocaml/vim-ocaml
@@ -550,6 +577,7 @@ Quramy/tsuquyomi
 racer-rust/vim-racer
 radenling/vim-dispatch-neovim
 rafamadriz/friendly-snippets@main
+rafamadriz/neon@main
 rafaqz/ranger.vim
 rafi/awesome-vim-colorschemes
 raghur/fruzzy
@@ -561,7 +589,9 @@ ray-x/lsp_signature.nvim
 rbgrouleff/bclose.vim
 rbong/vim-flog
 rcarriga/nvim-dap-ui
+rcarriga/nvim-notify
 rcarriga/vim-ultest
+rhysd/clever-f.vim
 rhysd/committia.vim
 rhysd/conflict-marker.vim
 rhysd/devdocs.vim
@@ -574,6 +604,8 @@ RishabhRD/popfix
 rktjmp/fwatch.nvim@main
 rktjmp/lush.nvim@main
 rmagatti/auto-session@main
+rmagatti/goto-preview@main
+RobertAudi/securemodelines
 rodjek/vim-puppet
 romainl/vim-cool
 romainl/vim-qf
@@ -589,10 +621,14 @@ 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
 sainnhe/edge
+sainnhe/gruvbox-material
 sainnhe/sonokai
 sakhnik/nvim-gdb
 saltstack/salt-vim
@@ -637,6 +673,7 @@ sjl/gundo.vim
 sjl/splice.vim
 sk1418/last256
 slashmili/alchemist.vim
+smiteshp/nvim-gps
 sodapopcan/vim-twiggy
 solarnz/arcanist.vim
 sonph/onehalf
@@ -645,8 +682,8 @@ steelsojka/completion-buffers
 steelsojka/pears.nvim
 stefandtw/quickfix-reflector.vim
 stephpy/vim-yaml
-stsewd/fzf-checkout.vim
 stevearc/aerial.nvim
+stsewd/fzf-checkout.vim
 sunaku/vim-dasht
 sunjon/Shade.nvim
 svermeulen/vim-subversive
@@ -655,9 +692,10 @@ t9md/vim-smalls
 TaDaa/vimade
 takac/vim-hardtime
 tamago324/compe-zsh
+tamago324/lir.nvim
 tami5/compe-conjure
 tami5/lispdocs.nvim
-tami5/sql.nvim
+tami5/sqlite.lua
 tbastos/vim-lua
 tbodt/deoplete-tabnine
 ternjs/tern_for_vim
@@ -667,6 +705,7 @@ tex/vimpreviewpandoc
 Th3Whit3Wolf/one-nvim@main
 theHamsta/nvim-dap-virtual-text
 ThePrimeagen/git-worktree.nvim
+theprimeagen/refactoring.nvim
 ThePrimeagen/vim-apm
 thinca/vim-ft-diff_fold
 thinca/vim-prettyprint
@@ -760,6 +799,7 @@ 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
@@ -785,6 +825,7 @@ vim-scripts/ShowMultiBase
 vim-scripts/tabmerge
 vim-scripts/taglist.vim
 vim-scripts/utl.vim
+vim-scripts/vis
 vim-scripts/wombat256.vim
 vim-scripts/YankRing.vim
 vim-syntastic/syntastic
@@ -813,7 +854,10 @@ whonore/Coqtail
 will133/vim-dirdiff
 wincent/command-t
 wincent/ferret
+wincent/terminus
 windwp/nvim-autopairs
+winston0410/cmd-parser.nvim
+winston0410/range-highlight.nvim
 wlangstroth/vim-racket
 wsdjeg/vim-fetch
 xavierd/clang_complete
diff --git a/nixpkgs/pkgs/misc/vim-plugins/vim-utils.nix b/nixpkgs/pkgs/misc/vim-plugins/vim-utils.nix
index 5ca3aef23588..a0293b8f5cf7 100644
--- a/nixpkgs/pkgs/misc/vim-plugins/vim-utils.nix
+++ b/nixpkgs/pkgs/misc/vim-plugins/vim-utils.nix
@@ -2,6 +2,9 @@
 { lib, stdenv, vim, vimPlugins, vim_configurable, buildEnv, writeText, writeScriptBin
 , nix-prefetch-hg, nix-prefetch-git
 , fetchFromGitHub, runtimeShell
+, hasLuaModule
+, python3
+, callPackage, makeSetupHook
 }:
 
 /*
@@ -186,7 +189,21 @@ let
 
   nativeImpl = packages:
   (let
-    link = (packageName: dir: pluginPath: "ln -sf ${pluginPath}/share/vim-plugins/* $out/pack/${packageName}/${dir}");
+    # dir is "start" or "opt"
+    linkLuaPlugin = plugin: packageName: dir: ''
+      mkdir -p $out/pack/${packageName}/${dir}/${plugin.pname}/lua
+      ln -sf ${plugin}/share/lua/5.1/* $out/pack/${packageName}/${dir}/${plugin.pname}/lua
+      ln -sf ${plugin}/${plugin.pname}-${plugin.version}-rocks/${plugin.pname}/${plugin.version}/* $out/pack/${packageName}/${dir}/${plugin.pname}/
+    '';
+
+    linkVimlPlugin = pluginPath: packageName: dir:
+      "ln -sf ${pluginPath}/${rtpPath}/* $out/pack/${packageName}/${dir}";
+
+      # (builtins.trace pluginPath )
+      link = pluginPath: if hasLuaModule pluginPath
+        then linkLuaPlugin pluginPath
+        else linkVimlPlugin pluginPath;
+
     packageLinks = (packageName: {start ? [], opt ? []}:
     let
       # `nativeImpl` expects packages to be derivations, not strings (as
@@ -195,13 +212,24 @@ let
       # and can simply pass `null`.
       depsOfOptionalPlugins = lib.subtractLists opt (findDependenciesRecursively opt);
       startWithDeps = findDependenciesRecursively start;
+      allPlugins = lib.unique (startWithDeps ++ depsOfOptionalPlugins);
+      python3Env = python3.withPackages (ps:
+        lib.flatten (builtins.map (plugin: (plugin.python3Dependencies or (_: [])) ps) allPlugins)
+      );
     in
       [ "mkdir -p $out/pack/${packageName}/start" ]
       # To avoid confusion, even dependencies of optional plugins are added
       # to `start` (except if they are explicitly listed as optional plugins).
-      ++ (builtins.map (link packageName "start") (lib.unique (startWithDeps ++ depsOfOptionalPlugins)))
+      ++ (builtins.map (x: link x packageName "start") allPlugins)
       ++ ["mkdir -p $out/pack/${packageName}/opt"]
-      ++ (builtins.map (link packageName "opt") opt)
+      ++ (builtins.map (x: link x packageName "opt") opt)
+      # Assemble all python3 dependencies into a single `site-packages` to avoid doing recursive dependency collection
+      # for each plugin.
+      # This directory is only for python import search path, and will not slow down the startup time.
+      ++ [
+        "mkdir -p $out/pack/${packageName}/start/__python3_dependencies"
+        "ln -s ${python3Env}/${python3Env.sitePackages} $out/pack/${packageName}/start/__python3_dependencies/python3"
+      ]
     );
     packDir = (packages:
       stdenv.mkDerivation {
@@ -217,6 +245,18 @@ let
     set runtimepath^=${packDir packages}
   '');
 
+  /* Generates a vimrc string
+
+    packages is an attrset with {name: { start = [ vim derivations ]; opt = [ vim derivations ]; }
+    Example:
+      vimrcContent {
+
+        packages = { home-manager = { start = [vimPlugins.vim-fugitive]; opt = [];};
+        beforePlugins = '';
+        customRc = ''let mapleader = " "'';
+
+      };
+   */
   vimrcContent = {
     packages ? null,
     vam ? null,
@@ -446,7 +486,18 @@ rec {
     '';
   };
 
-  inherit (import ./build-vim-plugin.nix { inherit lib stdenv rtpPath vim; }) buildVimPlugin buildVimPluginFrom2Nix;
+  vimGenDocHook = callPackage ({ vim }:
+    makeSetupHook {
+      name = "vim-gen-doc-hook";
+      deps = [ vim ];
+      substitutions = {
+        vimBinary = "${vim}/bin/vim";
+        inherit rtpPath;
+      };
+    } ./vim-gen-doc-hook.sh) {};
+
+  inherit (import ./build-vim-plugin.nix { inherit lib stdenv rtpPath vim vimGenDocHook; })
+    buildVimPlugin buildVimPluginFrom2Nix;
 
   # used to figure out which python dependencies etc. neovim needs
   requiredPlugins = {
diff --git a/nixpkgs/pkgs/misc/vscode-extensions/default.nix b/nixpkgs/pkgs/misc/vscode-extensions/default.nix
index 6507a603b86c..c65307e50644 100644
--- a/nixpkgs/pkgs/misc/vscode-extensions/default.nix
+++ b/nixpkgs/pkgs/misc/vscode-extensions/default.nix
@@ -1,4 +1,19 @@
-{ config, lib, buildEnv, callPackage, vscode-utils, asciidoctor, nodePackages, jdk, llvmPackages_8, nixpkgs-fmt, jq, shellcheck }:
+{ config
+, lib
+, buildEnv
+, callPackage
+, vscode-utils
+, asciidoctor
+, nodePackages
+, jdk
+, llvmPackages_8
+, nixpkgs-fmt
+, jq
+, shellcheck
+, moreutils
+, racket-minimal
+, clojure-lsp
+}:
 
 let
   inherit (vscode-utils) buildVscodeMarketplaceExtension;
@@ -170,12 +185,10 @@ let
           version = "0.0.1";
           sha256 = "sha256-vz2kU36B1xkLci2QwLpl/SBEhfSWltIDJ1r7SorHcr8=";
         };
-        nativeBuildInputs = [ jq ];
+        nativeBuildInputs = [ jq moreutils ];
         postInstall = ''
           cd "$out/$installPrefix"
-          tmp_package_json=$(mktemp)
-          jq '.contributes.configuration.properties."nixpkgs-fmt.path".default = "${nixpkgs-fmt}/bin/nixpkgs-fmt"' package.json > "$tmp_package_json"
-          mv "$tmp_package_json" package.json
+          jq '.contributes.configuration.properties."nixpkgs-fmt.path".default = "${nixpkgs-fmt}/bin/nixpkgs-fmt"' package.json | sponge package.json
         '';
         meta = with lib; {
           license = licenses.mit;
@@ -194,7 +207,7 @@ let
         };
       };
 
-      bbenoist.Nix = buildVscodeMarketplaceExtension {
+      bbenoist.nix = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "Nix";
           publisher = "bbenoist";
@@ -206,6 +219,23 @@ let
         };
       };
 
+      betterthantomorrow.calva = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "calva";
+          publisher = "betterthantomorrow";
+          version = "2.0.205";
+          sha256 = "sha256-umnG1uLB42fUNKjANaKcABjVmqbdOQakd/6TPsEpF9c";
+        };
+        nativeBuildInputs = [ jq moreutils ];
+        postInstall = ''
+          cd "$out/$installPrefix"
+          jq '.contributes.configuration[0].properties."calva.clojureLspPath".default = "${clojure-lsp}/bin/clojure-lsp"' package.json | sponge package.json
+        '';
+        meta = with lib; {
+          license = licenses.mit;
+        };
+      };
+
       bodil.file-browser = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "file-browser";
@@ -266,7 +296,7 @@ let
         };
       };
 
-      CoenraadS.bracket-pair-colorizer = buildVscodeMarketplaceExtension {
+      coenraads.bracket-pair-colorizer = buildVscodeMarketplaceExtension {
         meta = with lib; {
           changelog = "https://marketplace.visualstudio.com/items/CoenraadS.bracket-pair-colorizer/changelog";
           description = "A customizable extension for colorizing matching brackets";
@@ -513,6 +543,27 @@ let
         };
       };
 
+      eugleo.magic-racket = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "magic-racket";
+          publisher = "evzen-wybitul";
+          version = "0.5.7";
+          sha256 = "sha256-34/H0WgM73yzuOGU2w6Ipq7KuEBuN1bykcLGuvzY3mU=";
+        };
+        nativeBuildInputs = [ jq moreutils ];
+        postInstall = ''
+          cd "$out/$installPrefix"
+          jq '.contributes.configuration.properties."magic-racket.general.racketPath".default = "${racket-minimal}/bin/racket"' package.json | sponge package.json
+        '';
+        meta = with lib; {
+          changelog = "https://marketplace.visualstudio.com/items/evzen-wybitul.magic-racket/changelog";
+          description = "The best coding experience for Racket in VS Code ";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=evzen-wybitul.magic-racket";
+          homepage = "https://github.com/Eugleo/magic-racket";
+          license = licenses.agpl3Only;
+        };
+      };
+
       file-icons.file-icons = buildVscodeMarketplaceExtension {
         meta = with lib; {
           changelog = "https://marketplace.visualstudio.com/items/file-icons.file-icons/changelog";
@@ -657,7 +708,7 @@ let
         };
       };
 
-      golang.Go = buildVscodeMarketplaceExtension {
+      golang.go = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "Go";
           publisher = "golang";
@@ -765,12 +816,12 @@ let
         };
       };
 
-      jakebecker.elixir-ls = buildVscodeMarketplaceExtension {
+      elixir-lsp.vscode-elixir-ls = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "elixir-ls";
           publisher = "JakeBecker";
-          version = "0.7.0";
-          sha256 = "sha256-kFrkElD7qC1SpOx1rpcHW1D2hybHCf7cqvIO7JfPuMc=";
+          version = "0.8.0";
+          sha256 = "sha256-VD1g4DJfA0vDJ0cyHFDEtCEqQo0nXfPC5vknEU91cPk=";
         };
         meta = with lib; {
           license = licenses.mit;
@@ -801,8 +852,8 @@ let
         mktplcRef = {
           name = "nix-ide";
           publisher = "jnoortheen";
-          version = "0.1.7";
-          sha256 = "1bw4wyq9abimxbhl7q9g8grvj2ax9qqq6mmqbiqlbsi2arvk0wrm";
+          version = "0.1.16";
+          sha256 = "04ky1mzyjjr1mrwv3sxz4mgjcq5ylh6n01lvhb19h3fmwafkdxbp";
         };
       };
 
@@ -866,6 +917,18 @@ let
         };
       };
 
+      lokalise.i18n-ally = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "i18n-ally";
+          publisher = "Lokalise";
+          version = "2.7.1";
+          sha256 = "sha256-nHBYRSiPQ5ucWPr9VCUgMrosloLnVj40Fh+CEBvWONE=";
+        };
+        meta = {
+          license = lib.licenses.mit;
+        };
+      };
+
       mads-hartmann.bash-ide-vscode = buildVscodeMarketplaceExtension {
         mktplcRef = {
           publisher = "mads-hartmann";
@@ -1289,12 +1352,10 @@ let
           version = "0.14.4";
           sha256 = "05z314sw9nqym3qlj7dcwm0fz1hb23xppzqn3nr2wcj17hs8zz4m";
         };
-        nativeBuildInputs = [ jq ];
+        nativeBuildInputs = [ jq moreutils ];
         postInstall = ''
           cd "$out/$installPrefix"
-          tmp_package_json=$(mktemp)
-          jq '.contributes.configuration.properties."shellcheck.executablePath".default = "${shellcheck}/bin/shellcheck"' package.json > "$tmp_package_json"
-          mv "$tmp_package_json" package.json
+          jq '.contributes.configuration.properties."shellcheck.executablePath".default = "${shellcheck}/bin/shellcheck"' package.json | sponge package.json
         '';
         meta = {
           license = lib.licenses.mit;
@@ -1339,6 +1400,19 @@ let
 
       vadimcn.vscode-lldb = callPackage ./vscode-lldb { };
 
+      viktorqvarfordt.vscode-pitch-black-theme = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "vscode-pitch-black-theme";
+          publisher = "ViktorQvarfordt";
+          version = "1.2.4";
+          sha256 = "sha256-HTXToZv0WWFjuQiofEJuaZNSDTmCUcZ0B3KOn+CVALw=";
+        };
+        meta = {
+          license = lib.licenses.mit;
+        };
+      };
+
+
       vincaslt.highlight-matching-tag = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "highlight-matching-tag";
@@ -1469,7 +1543,7 @@ let
 
   aliases = self: super: {
     # aliases
-    ms-vscode = lib.recursiveUpdate super.ms-vscode { inherit (super.golang) Go; };
+    ms-vscode = lib.recursiveUpdate super.ms-vscode { inherit (super.golang) go; };
   };
 
   # TODO: add overrides overlay, so that we can have a generated.nix
diff --git a/nixpkgs/pkgs/misc/vscode-extensions/ms-vsliveshare-vsliveshare/default.nix b/nixpkgs/pkgs/misc/vscode-extensions/ms-vsliveshare-vsliveshare/default.nix
index 0fa9a4bb4bee..c111f01621b3 100644
--- a/nixpkgs/pkgs/misc/vscode-extensions/ms-vsliveshare-vsliveshare/default.nix
+++ b/nixpkgs/pkgs/misc/vscode-extensions/ms-vsliveshare-vsliveshare/default.nix
@@ -38,8 +38,8 @@ in ((vscode-utils.override { stdenv = gccStdenv; }).buildVscodeMarketplaceExtens
   mktplcRef = {
     name = "vsliveshare";
     publisher = "ms-vsliveshare";
-    version = "1.0.4498";
-    sha256 = "01gg9jqkq9z05ckw0mnqfr769359j6h3z8ay6r17jj6m4mhy2m5g";
+    version = "1.0.4673";
+    sha256 = "1ys3lilc2r3n250s6pfvadrabnvqpzy74awjmvw79jrbvvk1iw1z";
   };
 }).overrideAttrs({ nativeBuildInputs ? [], buildInputs ? [], ... }: {
   nativeBuildInputs = nativeBuildInputs ++ [
diff --git a/nixpkgs/pkgs/misc/vscode-extensions/remote-ssh/default.nix b/nixpkgs/pkgs/misc/vscode-extensions/remote-ssh/default.nix
index 29ca973a0aae..ab59527d82bc 100644
--- a/nixpkgs/pkgs/misc/vscode-extensions/remote-ssh/default.nix
+++ b/nixpkgs/pkgs/misc/vscode-extensions/remote-ssh/default.nix
@@ -36,8 +36,8 @@ in
     mktplcRef = {
       name = "remote-ssh";
       publisher = "ms-vscode-remote";
-      version = "0.50.0";
-      sha256 = "01pyd6759p5nkjhjy3iplrl748xblr54l1jphk2g02s1n5ds2qb9";
+      version = "0.65.7";
+      sha256 = "ae86c4be79fc5af747bb1f1aa5841221af80ee7476cc2f1c9ac277fa2fa1d683";
     };
 
     postPatch = ''
diff --git a/nixpkgs/pkgs/misc/vscode-extensions/rust-analyzer/build-deps/package.json b/nixpkgs/pkgs/misc/vscode-extensions/rust-analyzer/build-deps/package.json
index d54ad42b1f6d..5c68fec3f120 100644
--- a/nixpkgs/pkgs/misc/vscode-extensions/rust-analyzer/build-deps/package.json
+++ b/nixpkgs/pkgs/misc/vscode-extensions/rust-analyzer/build-deps/package.json
@@ -1,27 +1,26 @@
 {
   "name": "rust-analyzer",
-  "version": "0.4.0-dev",
+  "version": "0.2.727",
   "dependencies": {
     "https-proxy-agent": "^5.0.0",
     "node-fetch": "^2.6.1",
     "vscode-languageclient": "^7.1.0-next.5",
-    "@rollup/plugin-commonjs": "^17.0.0",
-    "@rollup/plugin-node-resolve": "^11.0.0",
-    "@types/glob": "^7.1.3",
-    "@types/mocha": "^8.0.4",
-    "@types/node": "~12.12.6",
-    "@types/node-fetch": "^2.5.7",
-    "@types/vscode": "^1.53.0",
-    "@typescript-eslint/eslint-plugin": "^4.9.0",
-    "@typescript-eslint/parser": "^4.9.0",
-    "eslint": "^7.15.0",
+    "d3": "^7.0.0",
+    "d3-graphviz": "^4.0.0",
+    "@types/glob": "^7.1.4",
+    "@types/mocha": "^8.2.3",
+    "@types/node": "~14.17.5",
+    "@types/node-fetch": "^2.5.11",
+    "@types/vscode": "^1.57.0",
+    "@typescript-eslint/eslint-plugin": "^4.28.2",
+    "@typescript-eslint/parser": "^4.28.2",
+    "eslint": "^7.30.0",
     "glob": "^7.1.6",
-    "mocha": "^8.2.1",
-    "rollup": "^2.34.2",
-    "tslib": "^2.0.3",
-    "typescript": "^4.1.2",
+    "mocha": "^9.0.2",
+    "tslib": "^2.3.0",
+    "typescript": "^4.3.5",
     "typescript-formatter": "^7.2.2",
-    "vsce": "=1.88.0",
+    "vsce": "^1.95.1",
     "vscode-test": "^1.5.1"
   }
 }
diff --git a/nixpkgs/pkgs/misc/vscode-extensions/rust-analyzer/default.nix b/nixpkgs/pkgs/misc/vscode-extensions/rust-analyzer/default.nix
index 0136bf4e5b1b..82491389791e 100644
--- a/nixpkgs/pkgs/misc/vscode-extensions/rust-analyzer/default.nix
+++ b/nixpkgs/pkgs/misc/vscode-extensions/rust-analyzer/default.nix
@@ -1,5 +1,11 @@
 # Update script: pkgs/development/tools/rust/rust-analyzer/update.sh
-{ lib, vscode-utils, jq, rust-analyzer, nodePackages
+{ lib
+, vscode-utils
+, jq
+, rust-analyzer
+, nodePackages
+, moreutils
+, esbuild
 , setDefaultServerPath ? true
 }:
 
@@ -7,9 +13,6 @@ let
   pname = "rust-analyzer";
   publisher = "matklad";
 
-  # Follow the unstable version of rust-analyzer, since the extension is not stable yet.
-  inherit (rust-analyzer) version;
-
   build-deps = nodePackages."rust-analyzer-build-deps-../../misc/vscode-extensions/rust-analyzer/build-deps";
   # FIXME: Making a new derivation to link `node_modules` and run `npm run package`
   # will cause a build failure.
@@ -17,26 +20,40 @@ let
     src = "${rust-analyzer.src}/editors/code";
     outputs = [ "vsix" "out" ];
 
+    releaseTag = rust-analyzer.version;
+
+    nativeBuildInputs = [ jq moreutils esbuild ];
+
+    # Follows https://github.com/rust-analyzer/rust-analyzer/blob/41949748a6123fd6061eb984a47f4fe780525e63/xtask/src/dist.rs#L39-L65
     postInstall = ''
-      npm run package
-      mkdir $vsix
-      cp ${pname}.vsix $vsix/${pname}.zip
+      jq '
+        .version = $ENV.version |
+        .releaseTag = $ENV.releaseTag |
+        .enableProposedApi = false |
+        walk(del(.["$generated-start"]?) | del(.["$generated-end"]?))
+      ' package.json | sponge package.json
+
+      mkdir -p $vsix
+      npx vsce package -o $vsix/${pname}.zip
     '';
   };
 
-in vscode-utils.buildVscodeExtension {
+  # Use the plugin version as in vscode marketplace, updated by update script.
+  inherit (vsix) version;
+
+in
+vscode-utils.buildVscodeExtension {
   inherit version vsix;
   name = "${pname}-${version}";
   src = "${vsix}/${pname}.zip";
   vscodeExtUniqueId = "${publisher}.${pname}";
 
-  nativeBuildInputs = lib.optional setDefaultServerPath jq;
+  nativeBuildInputs = lib.optionals setDefaultServerPath [ jq moreutils ];
 
   preInstall = lib.optionalString setDefaultServerPath ''
-    jq '.contributes.configuration.properties."rust-analyzer.serverPath".default = $s' \
+    jq '.contributes.configuration.properties."rust-analyzer.server.path".default = $s' \
       --arg s "${rust-analyzer}/bin/rust-analyzer" \
-      package.json >package.json.new
-    mv package.json.new package.json
+      package.json | sponge package.json
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/misc/vscode-extensions/terraform/default.nix b/nixpkgs/pkgs/misc/vscode-extensions/terraform/default.nix
index e934f03b2095..b40da25d2c45 100644
--- a/nixpkgs/pkgs/misc/vscode-extensions/terraform/default.nix
+++ b/nixpkgs/pkgs/misc/vscode-extensions/terraform/default.nix
@@ -3,19 +3,19 @@ vscode-utils.buildVscodeMarketplaceExtension rec {
   mktplcRef = {
     name = "terraform";
     publisher = "hashicorp";
-    version = "2.13.2";
+    version = "2.14.0";
   };
 
   vsix = fetchurl {
     name = "${mktplcRef.publisher}-${mktplcRef.name}.zip";
     url = "https://github.com/hashicorp/vscode-terraform/releases/download/v${mktplcRef.version}/${mktplcRef.name}-${mktplcRef.version}.vsix";
-    sha256 = "0h7c6p2dcwsg7wlp49p2fsq0f164pzkx65929imd1m2df77aykqa";
+    sha256 = "1q43a28l6xfp3yw6wlr1kcidik0dbp8b7lg9vc83rhw4rjgvjsfm";
   };
 
   patches = [ ./fix-terraform-ls.patch ];
 
   postPatch = ''
-    substituteInPlace out/clientHandler.js --replace TERRAFORM-LS-PATH ${terraform-ls}/bin/terraform-ls
+    substituteInPlace out/serverPath.js --replace TERRAFORM-LS-PATH ${terraform-ls}/bin/terraform-ls
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/misc/vscode-extensions/terraform/fix-terraform-ls.patch b/nixpkgs/pkgs/misc/vscode-extensions/terraform/fix-terraform-ls.patch
index 9153276d3674..2f34d09fd115 100644
--- a/nixpkgs/pkgs/misc/vscode-extensions/terraform/fix-terraform-ls.patch
+++ b/nixpkgs/pkgs/misc/vscode-extensions/terraform/fix-terraform-ls.patch
@@ -1,43 +1,19 @@
-diff --git a/out/clientHandler.js b/out/clientHandler.js
-index 7f9716d..a543d60 100644
---- a/out/clientHandler.js
-+++ b/out/clientHandler.js
-@@ -33,8 +33,7 @@ class ClientHandler {
-             this.reporter.sendTelemetryEvent('usePathToBinary');
-         }
-         else {
--            const installPath = path.join(context.extensionPath, 'lsp');
--            this.pathToBinary = path.join(installPath, 'terraform-ls');
-+            this.pathToBinary = 'TERRAFORM-LS-PATH';
-         }
+diff --git a/out/serverPath.js b/out/serverPath.js
+index ffb1b80..990ca2b 100644
+--- a/out/serverPath.js
++++ b/out/serverPath.js
+@@ -8,7 +8,13 @@ exports.CUSTOM_BIN_PATH_OPTION_NAME = 'languageServer.pathToBinary';
+ class ServerPath {
+     constructor(context) {
+         this.context = context;
+-        this.customBinPath = vscode.workspace.getConfiguration('terraform').get(exports.CUSTOM_BIN_PATH_OPTION_NAME);
++
++        const customBinPath = vscode.workspace.getConfiguration('terraform').get(exports.CUSTOM_BIN_PATH_OPTION_NAME);
++        if (!customBinPath) {
++          this.customBinPath = 'TERRAFORM-LS-PATH';
++        } else {
++            this.customBinPath = customBinPath;
++        }
      }
-     startClients(folders) {
-diff --git a/out/extension.js b/out/extension.js
-index 7a271fc..726bbf8 100644
---- a/out/extension.js
-+++ b/out/extension.js
-@@ -149,24 +149,6 @@ function updateLanguageServer(clientHandler, installPath) {
-             updateLanguageServer(clientHandler, installPath);
-         }, 24 * hour);
-         // skip install if a language server binary path is set
--        if (!vscodeUtils_1.config('terraform').get('languageServer.pathToBinary')) {
--            const installer = new languageServerInstaller_1.LanguageServerInstaller(installPath, reporter);
--            const install = yield installer.needsInstall();
--            if (install) {
--                yield clientHandler.stopClients();
--                try {
--                    yield installer.install();
--                }
--                catch (err) {
--                    console.log(err); // for test failure reporting
--                    reporter.sendTelemetryException(err);
--                    throw err;
--                }
--                finally {
--                    yield installer.cleanupZips();
--                }
--            }
--        }
-         return clientHandler.startClients(vscodeUtils_1.prunedFolderNames()); // on repeat runs with no install, this will be a no-op
-     });
- }
+     installPath() {
+         return this.context.asAbsolutePath(INSTALL_FOLDER_NAME);
diff --git a/nixpkgs/pkgs/misc/vscode-extensions/vscode-lldb/default.nix b/nixpkgs/pkgs/misc/vscode-extensions/vscode-lldb/default.nix
index 0ef98818dbd1..819650bdb01a 100644
--- a/nixpkgs/pkgs/misc/vscode-extensions/vscode-lldb/default.nix
+++ b/nixpkgs/pkgs/misc/vscode-extensions/vscode-lldb/default.nix
@@ -31,7 +31,7 @@ let
 
     buildAndTestSubdir = "adapter";
 
-    cargoFlags = [
+    cargoBuildFlags = [
       "--lib"
       "--bin=codelldb"
       "--features=weak-linkage"
@@ -99,6 +99,5 @@ in stdenv.mkDerivation {
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ oxalica ];
     platforms = platforms.all;
-    broken = stdenv.isDarwin; # Build failed on x86_64-darwin currently.
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/bsd/netbsd/default.nix b/nixpkgs/pkgs/os-specific/bsd/netbsd/default.nix
index bb0984d9738b..1e9331480007 100644
--- a/nixpkgs/pkgs/os-specific/bsd/netbsd/default.nix
+++ b/nixpkgs/pkgs/os-specific/bsd/netbsd/default.nix
@@ -7,6 +7,8 @@
 }:
 
 let
+  inherit (buildPackages.buildPackages) rsync;
+
   fetchNetBSD = path: version: sha256: fetchcvs {
     cvsRoot = ":pserver:anoncvs@anoncvs.NetBSD.org:/cvsroot";
     module = "src/${path}";
@@ -60,7 +62,7 @@ in lib.makeScopeWithSplicing
     nativeBuildInputs = with buildPackages.netbsd; [
       bsdSetupHook
       makeMinimal
-      install tsort lorder mandoc groff statHook
+      install tsort lorder mandoc groff statHook rsync
     ];
     buildInputs = with self; compatIfNeeded;
 
@@ -116,7 +118,7 @@ in lib.makeScopeWithSplicing
     version = "9.2";
 
     buildInputs = with self; [];
-    nativeBuildInputs = with buildPackages.netbsd; [ bsdSetupHook ];
+    nativeBuildInputs = with buildPackages.netbsd; [ bsdSetupHook rsync ];
 
     skipIncludesPhase = true;
 
@@ -165,6 +167,7 @@ in lib.makeScopeWithSplicing
     nativeBuildInputs = with buildPackages.netbsd; commonDeps ++ [
       bsdSetupHook
       makeMinimal
+      rsync
     ];
 
     buildInputs = with self; commonDeps;
@@ -237,7 +240,7 @@ in lib.makeScopeWithSplicing
     nativeBuildInputs = with buildPackages.netbsd; [
       bsdSetupHook
       makeMinimal
-      mandoc groff
+      mandoc groff rsync
     ];
     skipIncludesPhase = true;
     buildInputs = with self; compatIfNeeded ++ [ fts ];
@@ -259,7 +262,7 @@ in lib.makeScopeWithSplicing
     sha256 = "01d4fpxvz1pgzfk5xznz5dcm0x0gdzwcsfm1h3d0xc9kc6hj2q77";
     version = "9.2";
     nativeBuildInputs = with buildPackages.netbsd; [
-      bsdSetupHook
+      bsdSetupHook rsync
     ];
     propagatedBuildInputs = with self; compatIfNeeded;
     extraPaths = with self; [
@@ -297,7 +300,7 @@ in lib.makeScopeWithSplicing
     nativeBuildInputs = with buildPackages.netbsd; [
       bsdSetupHook
       makeMinimal
-      install mandoc groff
+      install mandoc groff rsync
     ];
   };
 
@@ -319,7 +322,7 @@ in lib.makeScopeWithSplicing
     nativeBuildInputs = with buildPackages.netbsd; [
       bsdSetupHook
       makeMinimal
-      install mandoc groff
+      install mandoc groff rsync
     ];
   };
 
@@ -330,7 +333,7 @@ in lib.makeScopeWithSplicing
     nativeBuildInputs = with buildPackages.netbsd; [
       bsdSetupHook
       makeMinimal
-      install mandoc groff
+      install mandoc groff rsync
     ];
   };
   ##
@@ -463,7 +466,7 @@ in lib.makeScopeWithSplicing
     NIX_CFLAGS_COMPILE = [ "-DMAKE_BOOTSTRAP" ];
     nativeBuildInputs = with buildPackages.netbsd; [
       bsdSetupHook
-      makeMinimal install mandoc byacc flex
+      makeMinimal install mandoc byacc flex rsync
     ];
     buildInputs = with self; compatIfNeeded;
     extraPaths = with self; [ cksum.src ];
@@ -482,7 +485,7 @@ in lib.makeScopeWithSplicing
     nativeBuildInputs = with buildPackages.netbsd; [
       bsdSetupHook
       makeMinimal
-      install mandoc groff nbperf rpcgen
+      install mandoc groff rsync nbperf rpcgen
     ];
     extraPaths = with self; [ common ];
     headersOnly = true;
@@ -508,7 +511,7 @@ in lib.makeScopeWithSplicing
     propagatedBuildInputs = with self; [ include ];
     nativeBuildInputs = with buildPackages.netbsd; [
       bsdSetupHook
-      makeMinimal install tsort lorder statHook uudecode config genassym
+      makeMinimal install tsort lorder statHook rsync uudecode config genassym
     ];
 
     postConfigure = ''
@@ -748,7 +751,7 @@ in lib.makeScopeWithSplicing
       bsdSetupHook
       makeMinimal
       install mandoc groff flex
-      byacc genassym gencat lorder tsort statHook
+      byacc genassym gencat lorder tsort statHook rsync
     ];
     buildInputs = with self; [ headers ];
     extraPaths = with self; [ sys.src ld_elf_so.src ];
@@ -786,7 +789,7 @@ in lib.makeScopeWithSplicing
       bsdSetupHook
       makeMinimal
       install mandoc groff flex
-      byacc genassym gencat lorder tsort statHook rpcgen
+      byacc genassym gencat lorder tsort statHook rsync rpcgen
     ];
     buildInputs = with self; [ headers csu ];
     NIX_CFLAGS_COMPILE = "-B${self.csu}/lib";
diff --git a/nixpkgs/pkgs/os-specific/bsd/setup-hook.sh b/nixpkgs/pkgs/os-specific/bsd/setup-hook.sh
index 45babc38d7a5..98fee66f5dfe 100644
--- a/nixpkgs/pkgs/os-specific/bsd/setup-hook.sh
+++ b/nixpkgs/pkgs/os-specific/bsd/setup-hook.sh
@@ -70,10 +70,7 @@ setBSDSourceDir() {
   export _SRC_TOP_=$BSDSRCDIR
   chmod -R u+w $sourceRoot
   for path in $extraPaths; do
-    cd $path
-    find . -type d -exec mkdir -p $sourceRoot/\{} \;
-    find . -type f -exec cp -pr \{} $sourceRoot/\{} \;
-    chmod -R u+w $sourceRoot
+    rsync -Er --chmod u+w $path/ $sourceRoot/
   done
 
   cd $sourceRoot
@@ -104,6 +101,9 @@ moveUsrDir() {
   if [ -d $prefix ]; then
     # Remove lingering /usr references
     if [ -d $prefix/usr ]; then
+      # Didn't try using rsync yet because per
+      # https://unix.stackexchange.com/questions/127712/merging-folders-with-mv,
+      # it's not neessarily better.
       pushd $prefix/usr
       find . -type d -exec mkdir -p $out/\{} \;
       find . \( -type f -o -type l \) -exec mv \{} $out/\{} \;
diff --git a/nixpkgs/pkgs/os-specific/darwin/apple-sdk-11.0/apple_sdk.nix b/nixpkgs/pkgs/os-specific/darwin/apple-sdk-11.0/apple_sdk.nix
index 6e987c5dfb41..228a084d250f 100644
--- a/nixpkgs/pkgs/os-specific/darwin/apple-sdk-11.0/apple_sdk.nix
+++ b/nixpkgs/pkgs/os-specific/darwin/apple-sdk-11.0/apple_sdk.nix
@@ -141,6 +141,15 @@ in rec {
         cp -r ${MacOSX-SDK}/usr/include/libDER $out/include
       '';
     };
+
+    simd = stdenv.mkDerivation {
+      name = "apple-lib-simd";
+      dontUnpack = true;
+      installPhase = ''
+        mkdir -p $out/include
+        cp -r ${MacOSX-SDK}/usr/include/simd $out/include
+      '';
+    };
   };
 
   overrides = super: {
diff --git a/nixpkgs/pkgs/os-specific/darwin/apple-sdk-11.0/frameworks.nix b/nixpkgs/pkgs/os-specific/darwin/apple-sdk-11.0/frameworks.nix
index c8f8ccc4a081..96c0475c087e 100644
--- a/nixpkgs/pkgs/os-specific/darwin/apple-sdk-11.0/frameworks.nix
+++ b/nixpkgs/pkgs/os-specific/darwin/apple-sdk-11.0/frameworks.nix
@@ -1,7 +1,7 @@
 { frameworks, libs, libobjc, Libsystem, libnetwork }: with frameworks; with libs;
 {
   AGL                              = { inherit Carbon OpenGL; };
-  AVFoundation                     = { inherit ApplicationServices AVFCapture AVFCore CoreGraphics; };
+  AVFoundation                     = { inherit ApplicationServices AVFCapture AVFCore CoreGraphics simd UniformTypeIdentifiers; };
   AVKit                            = {};
   Accelerate                       = { inherit CoreWLAN IOBluetooth; };
   Accessibility                    = {};
diff --git a/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/libunwind/default.nix b/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/libunwind/default.nix
index 5021d3cd7fec..0d378f6089fb 100644
--- a/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/libunwind/default.nix
+++ b/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/libunwind/default.nix
@@ -1,7 +1,7 @@
 { lib, appleDerivation }:
 
 appleDerivation {
-  buildPhase = ":";
+  dontBuild = true;
 
   # install headers only
   installPhase = ''
diff --git a/nixpkgs/pkgs/os-specific/darwin/binutils/default.nix b/nixpkgs/pkgs/os-specific/darwin/binutils/default.nix
index 5dc57f43e4ab..c5bc50cafd71 100644
--- a/nixpkgs/pkgs/os-specific/darwin/binutils/default.nix
+++ b/nixpkgs/pkgs/os-specific/darwin/binutils/default.nix
@@ -56,8 +56,8 @@ stdenv.mkDerivation {
   # and using clang directly here is a better option than relying on cctools.
   # On x86_64-darwin the Clang version is too old to support this mode.
   + lib.optionalString stdenv.isAarch64 ''
-    rm $out/bin/as
-    makeWrapper "${clang-unwrapped}/bin/clang" "$out/bin/as" \
+    rm $out/bin/${targetPrefix}as
+    makeWrapper "${clang-unwrapped}/bin/clang" "$out/bin/${targetPrefix}as" \
       --add-flags "-x assembler -integrated-as -c"
   '';
 
diff --git a/nixpkgs/pkgs/os-specific/darwin/signing-utils/auto-sign-hook.sh b/nixpkgs/pkgs/os-specific/darwin/signing-utils/auto-sign-hook.sh
index 430aba8cdc7e..cca65661f8a9 100644
--- a/nixpkgs/pkgs/os-specific/darwin/signing-utils/auto-sign-hook.sh
+++ b/nixpkgs/pkgs/os-specific/darwin/signing-utils/auto-sign-hook.sh
@@ -1,4 +1,4 @@
-fixupOutputHooks+=('signDarwinBinariesIn $prefix')
+postFixupHooks+=(signDarwinBinariesInAllOutputs)
 
 # Uses signingUtils, see definition of autoSignDarwinBinariesHook in
 # darwin-packages.nix
@@ -14,7 +14,18 @@ signDarwinBinariesIn() {
     return 0
   fi
 
+  echo "signing $dir"
+
   while IFS= read -r -d $'\0' f; do
     signIfRequired "$f"
   done < <(find "$dir" -type f -print0)
 }
+
+# Apply fixup to each output.
+signDarwinBinariesInAllOutputs() {
+  local output
+
+  for output in $outputs; do
+     signDarwinBinariesIn "${!output}"
+  done
+}
diff --git a/nixpkgs/pkgs/os-specific/darwin/smimesign/default.nix b/nixpkgs/pkgs/os-specific/darwin/smimesign/default.nix
index 6b7e38891619..d50e00f984e5 100644
--- a/nixpkgs/pkgs/os-specific/darwin/smimesign/default.nix
+++ b/nixpkgs/pkgs/os-specific/darwin/smimesign/default.nix
@@ -13,7 +13,7 @@ buildGoModule rec {
 
   vendorSha256 = "1cldxykm9qj5rvyfafam45y5xj4f19700s2f9w7ndhxgfp9vahvz";
 
-  buildFlagsArray = "-ldflags=-X main.versionString=v${version}";
+  ldflags = [ "-X main.versionString=v${version}" ];
 
   meta = with lib; {
     description = "An S/MIME signing utility for macOS and Windows that is compatible with Git";
diff --git a/nixpkgs/pkgs/os-specific/darwin/xattr/default.nix b/nixpkgs/pkgs/os-specific/darwin/xattr/default.nix
new file mode 100644
index 000000000000..1aa8b49e88aa
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/darwin/xattr/default.nix
@@ -0,0 +1,73 @@
+{ lib
+, stdenv
+, fetchzip
+, buildPythonPackage
+, python
+, ed
+, unifdef
+}:
+
+buildPythonPackage rec {
+  pname = "xattr";
+  version = "61.60.1";
+
+  src = fetchzip rec {
+    url = "https://opensource.apple.com/tarballs/python_modules/python_modules-${version}.tar.gz";
+    sha256 = "19kydl7w4vpdi7zmfd5z9vjkq24jfk2cv4j0pppw69j06czhdwwi";
+  };
+
+  sourceRoot = "${src.name}/Modules/xattr-0.6.4";
+  format = "other";
+
+  nativeBuildInputs = [
+    ed
+    unifdef
+  ];
+
+  makeFlags = [
+    "OBJROOT=$(PWD)"
+    "DSTROOT=${placeholder "out"}"
+    "OSL=${placeholder "doc"}/share/xattr/OpenSourceLicenses"
+    "OSV=${placeholder "doc"}/share/xattr/OpenSourceVersions"
+  ];
+
+  # need to use `out` instead of `bin` since buildPythonPackage ignores the latter
+  outputs = [ "out" "doc" "python" ];
+
+  # We need to patch a reference to gnutar in an included Makefile
+  postUnpack = ''
+    chmod u+w $sourceRoot/..
+  '';
+
+  postPatch = ''
+    substituteInPlace ../Makefile.inc --replace gnutar tar
+    substituteInPlace Makefile --replace "/usr" ""
+  '';
+
+  preInstall = ''
+    # prevent setup.py from trying to download setuptools
+    sed -i xattr-*/setup.py -e '/ez_setup/d'
+
+    # create our custom target dirs we patch in
+    mkdir -p "$doc/share/xattr/"OpenSource{Licenses,Versions}
+    mkdir -p "$python/lib/${python.libPrefix}"
+  '';
+
+  # move python package to its own output to reduce clutter
+  postInstall = ''
+    mv "$out/lib/python" "$python/${python.sitePackages}"
+    rmdir "$out/lib"
+  '';
+
+  makeWrapperArgs = [
+    "--prefix" "PYTHONPATH" ":" "${placeholder "python"}/${python.sitePackages}"
+  ];
+
+  meta = with lib; {
+    description = "Display and manipulate extended attributes";
+    license = [ licenses.psfl licenses.mit ]; # see $doc/share/xattr/OpenSourceLicenses
+    maintainers = [ maintainers.sternenseemann ];
+    homepage = "https://opensource.apple.com/source/python_modules/";
+    platforms = lib.platforms.darwin;
+  };
+}
diff --git a/nixpkgs/pkgs/os-specific/linux/acpi-call/default.nix b/nixpkgs/pkgs/os-specific/linux/acpi-call/default.nix
index f986ed790a16..39842927c9a1 100644
--- a/nixpkgs/pkgs/os-specific/linux/acpi-call/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/acpi-call/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "acpi-call";
-  version = "1.2.1";
+  version = "1.2.2";
   name = "${pname}-${version}-${kernel.version}";
 
   src = fetchFromGitHub {
     owner = "nix-community";
     repo = "acpi_call";
     rev = "v${version}";
-    sha256 = "0mr4rjbv6fj4phf038addrgv32940bphghw2v9n1z4awvw7wzkbg";
+    sha256 = "1s7h9y3adyfhw7cjldlfmid79lrwz3vqlvziw9nwd6x5qdj4w9vp";
   };
 
   hardeningDisable = [ "pic" ];
diff --git a/nixpkgs/pkgs/os-specific/linux/akvcam/default.nix b/nixpkgs/pkgs/os-specific/linux/akvcam/default.nix
index 815dc6a2ee3c..700389a4a183 100644
--- a/nixpkgs/pkgs/os-specific/linux/akvcam/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/akvcam/default.nix
@@ -1,32 +1,32 @@
-{ lib, stdenv, fetchFromGitHub, kernel, qmake }:
+{ lib, stdenv, fetchFromGitHub, kernel }:
 
 stdenv.mkDerivation rec {
   pname = "akvcam";
-  version = "1.2.0";
+  version = "1.2.2";
 
   src = fetchFromGitHub {
     owner = "webcamoid";
     repo = "akvcam";
     rev = version;
-    sha256 = "0r5xg7pz0wl6pq5029rpzm9fn978vq0md31xjkp2amny7rrgxw72";
+    sha256 = "1f0vjia2d7zj3y5c63lx1r537bdjx6821yxy29ilbrvsbjq2szj8";
   };
+  sourceRoot = "source/src";
 
-  nativeBuildInputs = [ qmake ];
-  dontWrapQtApps = true;
-
-  qmakeFlags = [
+  makeFlags = [
     "KERNEL_DIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
   ];
 
   installPhase = ''
-    install -m644 -b -D src/akvcam.ko $out/lib/modules/${kernel.modDirVersion}/akvcam.ko
+    install -m644 -b -D akvcam.ko $out/lib/modules/${kernel.modDirVersion}/akvcam.ko
   '';
 
+  enableParallelBuilding = true;
+
   meta = with lib; {
     description = "Virtual camera driver for Linux";
     homepage = "https://github.com/webcamoid/akvcam";
     maintainers = with maintainers; [ freezeboy ];
     platforms = platforms.linux;
-    license = licenses.gpl2;
+    license = licenses.gpl2Only;
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-topology-conf/default.nix b/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-topology-conf/default.nix
index 97960f833e14..e0dfc879fbc9 100644
--- a/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-topology-conf/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-topology-conf/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "alsa-topology-conf-${version}";
-  version = "1.2.5";
+  version = "1.2.5.1";
 
   src = fetchurl {
     url = "mirror://alsa/lib/${name}.tar.bz2";
-    sha256 = "sha256-i/qDBspj4dDL6AvphGYCc7kb1bfdCACmxapx3YyNd1w=";
+    sha256 = "sha256-98W64VRavNc4JLyX9OcsNA4Rq+oYi6DxwG9eCtd2sXk=";
   };
 
   dontBuild = true;
diff --git a/nixpkgs/pkgs/os-specific/linux/apparmor/default.nix b/nixpkgs/pkgs/os-specific/linux/apparmor/default.nix
index 1b1fb4154512..5acf8e560e3d 100644
--- a/nixpkgs/pkgs/os-specific/linux/apparmor/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/apparmor/default.nix
@@ -256,7 +256,7 @@ let
     name = "apparmor-kernel-patches-${apparmor-version}";
     src = apparmor-sources;
 
-    phases = "unpackPhase installPhase";
+    dontBuild = true;
 
     installPhase = ''
       mkdir "$out"
diff --git a/nixpkgs/pkgs/os-specific/linux/blktrace/default.nix b/nixpkgs/pkgs/os-specific/linux/blktrace/default.nix
index fb5a5d06212b..e44f90a36367 100644
--- a/nixpkgs/pkgs/os-specific/linux/blktrace/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/blktrace/default.nix
@@ -1,13 +1,14 @@
 { lib, stdenv, fetchurl, libaio }:
 
-stdenv.mkDerivation {
-  name = "blktrace-1.2.0";
+stdenv.mkDerivation rec {
+  pname = "blktrace";
+  version = "1.3.0";
 
   # Official source
   # "git://git.kernel.org/pub/scm/linux/kernel/git/axboe/blktrace.git"
   src = fetchurl {
-    url = "http://brick.kernel.dk/snaps/blktrace-1.2.0.tar.bz2";
-    sha256 = "0i9z7ayh9qx4wi0ihyz15bhr1c9aknjl8v5i8c9mx3rhyy41i5i6";
+    url = "https://brick.kernel.dk/snaps/blktrace-${version}.tar.bz2";
+    sha256 = "sha256-1t7aA4Yt4r0bG5+6cpu7hi2bynleaqf3yoa2VoEacNY=";
   };
 
   buildInputs = [ libaio ];
@@ -16,9 +17,10 @@ stdenv.mkDerivation {
     sed s,/usr/local,$out, -i Makefile
   '';
 
-  meta = {
+  meta = with lib; {
     description = "Block layer IO tracing mechanism";
-    license = lib.licenses.gpl2;
-    platforms = lib.platforms.linux;
+    maintainers = with maintainers; [ ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/bluez/default.nix b/nixpkgs/pkgs/os-specific/linux/bluez/default.nix
index 040b8fc8478c..a3899fd47c58 100644
--- a/nixpkgs/pkgs/os-specific/linux/bluez/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/bluez/default.nix
@@ -77,6 +77,13 @@ in stdenv.mkDerivation rec {
     "--enable-nfc"
     "--enable-sap"
     "--enable-sixaxis"
+    "--enable-btpclient"
+    "--enable-hid2hci"
+    "--enable-logger"
+
+    # To provide ciptool, sdptool, and rfcomm (unmaintained)
+    # superseded by new D-Bus APIs
+    "--enable-deprecated"
   ];
 
   # Work around `make install' trying to create /var/lib/bluetooth.
diff --git a/nixpkgs/pkgs/os-specific/linux/cramfsswap/default.nix b/nixpkgs/pkgs/os-specific/linux/cramfsswap/default.nix
index f47482c1111f..ee3c12d251b2 100644
--- a/nixpkgs/pkgs/os-specific/linux/cramfsswap/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/cramfsswap/default.nix
@@ -2,13 +2,18 @@
 
 stdenv.mkDerivation rec {
   pname = "cramfsswap";
-  version = "1.4.1";
+  version = "1.4.2";
 
   src = fetchurl {
-    url = "mirror://debian/pool/main/c/cramfsswap/${pname}_${version}.tar.gz";
-    sha256 = "0c6lbx1inkbcvvhh3y6fvfaq3w7d1zv7psgpjs5f3zjk1jysi9qd";
+    url = "mirror://debian/pool/main/c/cramfsswap/${pname}_${version}.tar.xz";
+    sha256 = "10mj45zx71inaa3l1d81g64f7yn1xcprvq4v4yzpdwbxqmqaikw1";
   };
 
+  # Needed for cross-compilation
+  postPatch = ''
+    substituteInPlace Makefile --replace 'strip ' '$(STRIP) '
+  '';
+
   buildInputs = [zlib];
 
   installPhase = ''
@@ -18,7 +23,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Swap endianess of a cram filesystem (cramfs)";
     homepage = "https://packages.debian.org/sid/utils/cramfsswap";
-    license = licenses.gpl2;
+    license = licenses.gpl2Only;
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/ddcci/default.nix b/nixpkgs/pkgs/os-specific/linux/ddcci/default.nix
index 7e5f95cb2067..92c33077d684 100644
--- a/nixpkgs/pkgs/os-specific/linux/ddcci/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/ddcci/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "ddcci-driver";
-  version = "0.3.3";
+  version = "0.4.1";
   name = "${pname}-${kernel.version}-${version}";
 
   src = fetchFromGitLab {
     owner = "${pname}-linux";
     repo = "${pname}-linux";
     rev = "v${version}";
-    sha256 = "0vkkja3ykjil783zjpwp0vz7jy2fp9ccazzi3afd4fjk8gldin7f";
+    sha256 = "1qhsm0ccwfmwn0r6sbc6ms4lf4a3iqfcgqmbs6afr6hhxkqll3fg";
   };
 
   hardeningDisable = [ "pic" ];
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
       --replace depmod \#
   '';
 
-  makeFlags = [
+  makeFlags = kernel.makeFlags ++ [
     "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
     "KVER=${kernel.modDirVersion}"
     "KERNEL_MODLIB=$(out)/lib/modules/${kernel.modDirVersion}"
@@ -35,8 +35,9 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Kernel module driver for DDC/CI monitors";
     homepage = "https://gitlab.com/ddcci-driver-linux/ddcci-driver-linux";
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     maintainers = with maintainers; [ bricewge ];
     platforms = platforms.linux;
+    broken = kernel.kernelOlder "5.1";
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/dpdk/default.nix b/nixpkgs/pkgs/os-specific/linux/dpdk/default.nix
index a4bad12b7165..ca8905e62402 100644
--- a/nixpkgs/pkgs/os-specific/linux/dpdk/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/dpdk/default.nix
@@ -4,6 +4,7 @@
 , pkg-config, meson, ninja
 , libbsd, numactl, libbpf, zlib, libelf, jansson, openssl, libpcap
 , doxygen, python3
+, withExamples ? []
 , shared ? false }:
 
 let
@@ -51,7 +52,8 @@ in stdenv.mkDerivation rec {
   ++ lib.optional (mod && kernel.kernelOlder "5.11") "-Ddisable_drivers=kni"
   ++ lib.optional (!shared) "-Ddefault_library=static"
   ++ lib.optional stdenv.isx86_64 "-Dmachine=nehalem"
-  ++ lib.optional mod "-Dkernel_dir=${placeholder "kmod"}/lib/modules/${kernel.modDirVersion}";
+  ++ lib.optional mod "-Dkernel_dir=${placeholder "kmod"}/lib/modules/${kernel.modDirVersion}"
+  ++ lib.optional (withExamples != []) "-Dexamples=${builtins.concatStringsSep "," withExamples}";
 
   # dpdk meson script does not support separate kernel source and installion
   # dirs (except via destdir), so we temporarily link the former into the latter.
@@ -65,6 +67,10 @@ in stdenv.mkDerivation rec {
     rm -f $kmod/lib/modules/${kernel.modDirVersion}/build
   '';
 
+  postInstall = lib.optionalString (withExamples != []) ''
+    find examples -type f -executable -exec install {} $out/bin \;
+  '';
+
   outputs = [ "out" ] ++ lib.optional mod "kmod";
 
   meta = with lib; {
@@ -72,6 +78,6 @@ in stdenv.mkDerivation rec {
     homepage = "http://dpdk.org/";
     license = with licenses; [ lgpl21 gpl2 bsd2 ];
     platforms =  platforms.linux;
-    maintainers = with maintainers; [ magenbluten orivej mic92 ];
+    maintainers = with maintainers; [ magenbluten orivej mic92 zhaofengli ];
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/evdi/default.nix b/nixpkgs/pkgs/os-specific/linux/evdi/default.nix
index 5eb31e9422de..c1b624386c39 100644
--- a/nixpkgs/pkgs/os-specific/linux/evdi/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/evdi/default.nix
@@ -1,29 +1,16 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, kernel, libdrm }:
+{ lib, stdenv, fetchFromGitHub, kernel, libdrm }:
 
 stdenv.mkDerivation rec {
   pname = "evdi";
-  version = "unstable-2021-06-11";
+  version = "unstable-2021-07-07";
 
   src = fetchFromGitHub {
     owner = "DisplayLink";
     repo = pname;
-    rev = "65e12fca334f2f42396f4e8d16592d53cab34dd6";
-    sha256 = "sha256-81IfdYKadKT7vRdkmxzfGo4KHa4UJ8uJ0K6djQCr22U=";
+    rev = "b0b2c80eb63f9b858b71afa772135f434aea192a";
+    sha256 = "sha256-io+CbZovGjEJjwtmARFH23Djt933ONoHMDoea+i6xFo=";
   };
 
-  # Linux 5.13 support
-  # The patches break compilation for older kernels
-  patches = lib.optional (kernel.kernelAtLeast "5.13") [
-    (fetchpatch {
-      url = "https://github.com/DisplayLink/evdi/commit/c5f5441d0a115d2cfc8125b8bafaa05b2edc7938.patch";
-      sha256 = "sha256-tWYgBrRh3mXPebhUygOvJ07V87g9JU66hREriACfEVI=";
-    })
-    (fetchpatch {
-      url = "https://github.com/DisplayLink/evdi/commit/5f04d2e2df4cfd21dc15d31f1152c6a66fa48a78.patch";
-      sha256 = "sha256-690/eUiEVWvnT/YAVgKcLo86dgolF9giWRuPxXpL+eQ=";
-    })
-  ];
-
   nativeBuildInputs = kernel.moduleBuildDependencies;
 
   buildInputs = [ kernel libdrm ];
diff --git a/nixpkgs/pkgs/os-specific/linux/extrace/default.nix b/nixpkgs/pkgs/os-specific/linux/extrace/default.nix
index 8a02d9c67b14..1eac5997bf3b 100644
--- a/nixpkgs/pkgs/os-specific/linux/extrace/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/extrace/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "extrace";
-  version = "0.7";
+  version = "0.8";
 
   src = fetchFromGitHub {
     owner = "leahneukirchen";
     repo = "extrace";
     rev = "v${version}";
-    sha256 = "0acspj3djspfvgr3ng5b61qws6v2md6b0lc5qkby10mqnfpkvq85";
+    sha256 = "sha256-Kg5yzVg9sqlOCzAq/HeFUPZ89Enfkt/r7EunCfOqdA0=";
   };
 
   makeFlags = [ "PREFIX=$(out)" ];
diff --git a/nixpkgs/pkgs/os-specific/linux/firmware/b43-firmware/5.1.138.nix b/nixpkgs/pkgs/os-specific/linux/firmware/b43-firmware/5.1.138.nix
index 42444d784d52..3f810fd93a1c 100644
--- a/nixpkgs/pkgs/os-specific/linux/firmware/b43-firmware/5.1.138.nix
+++ b/nixpkgs/pkgs/os-specific/linux/firmware/b43-firmware/5.1.138.nix
@@ -13,8 +13,6 @@ stdenv.mkDerivation {
 
   buildInputs = [ b43FirmwareCutter ];
 
-  phases = [ "unpackPhase" "installPhase" ];
-
   installPhase = ''
     mkdir -p $out/lib/firmware
     b43-fwcutter -w $out/lib/firmware linux/wl_apsta.o
@@ -22,7 +20,7 @@ stdenv.mkDerivation {
 
   meta = {
     description = "Firmware for cards supported by the b43 kernel module";
-    homepage = "http://wireless.kernel.org/en/users/Drivers/b43";
+    homepage = "https://wireless.wiki.kernel.org/en/users/drivers/b43";
     license = lib.licenses.unfree;
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/firmware/b43-firmware/6.30.163.46.nix b/nixpkgs/pkgs/os-specific/linux/firmware/b43-firmware/6.30.163.46.nix
index c0226065ea26..1116d96a637f 100644
--- a/nixpkgs/pkgs/os-specific/linux/firmware/b43-firmware/6.30.163.46.nix
+++ b/nixpkgs/pkgs/os-specific/linux/firmware/b43-firmware/6.30.163.46.nix
@@ -11,8 +11,6 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ b43FirmwareCutter ];
 
-  phases = [ "unpackPhase" "installPhase" ];
-
   sourceRoot = ".";
 
   installPhase = ''
@@ -22,7 +20,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Firmware for cards supported by the b43 kernel module";
-    homepage = "http://wireless.kernel.org/en/users/Drivers/b43";
+    homepage = "https://wireless.wiki.kernel.org/en/users/drivers/b43";
     downloadPage = "http://www.lwfinger.com/b43-firmware";
     license = licenses.unfree;
   };
diff --git a/nixpkgs/pkgs/os-specific/linux/firmware/broadcom-bt-firmware/default.nix b/nixpkgs/pkgs/os-specific/linux/firmware/broadcom-bt-firmware/default.nix
index 5118d0a0b9bf..a0985cad0dbe 100644
--- a/nixpkgs/pkgs/os-specific/linux/firmware/broadcom-bt-firmware/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/firmware/broadcom-bt-firmware/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Firmware for Broadcom WIDCOMM® Bluetooth devices";
-    homepage = "http://www.catalog.update.microsoft.com/Search.aspx?q=Broadcom+bluetooth";
+    homepage = "https://www.catalog.update.microsoft.com/Search.aspx?q=Broadcom+bluetooth";
     license = licenses.unfree;
     platforms = platforms.linux;
     maintainers = with maintainers; [ zraexy ];
diff --git a/nixpkgs/pkgs/os-specific/linux/firmware/facetimehd-firmware/default.nix b/nixpkgs/pkgs/os-specific/linux/firmware/facetimehd-firmware/default.nix
index 88a32f174d54..1c3d8fbbaf7d 100644
--- a/nixpkgs/pkgs/os-specific/linux/firmware/facetimehd-firmware/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/firmware/facetimehd-firmware/default.nix
@@ -43,7 +43,8 @@ stdenv.mkDerivation {
     curlOpts = "-r ${dmgRange}";
   };
 
-  phases = [ "buildPhase" ];
+  dontUnpack = true;
+  dontInstall = true;
 
   buildInputs = [ cpio xz ];
 
diff --git a/nixpkgs/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix b/nixpkgs/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
index 4293f53e47d1..1ae8ed3ec773 100644
--- a/nixpkgs/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
@@ -2,12 +2,12 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "firmware-linux-nonfree";
-  version = "2021-07-16";
+  version = "2021-08-18";
 
   src = fetchgit {
     url = "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git";
-    rev = "refs/tags/" + lib.replaceStrings ["-"] [""] version;
-    sha256 = "185pnaqf2qmhbcdvvldmbar09zgaxhh3h8x9bxn6079bcdpaskn6";
+    rev = "refs/tags/" + lib.replaceStrings [ "-" ] [ "" ] version;
+    sha256 = "sha256-RLPTbH2quBqCF3fi70GtOE0i3lEdaL5xo67xk8gbYMo=";
   };
 
   installFlags = [ "DESTDIR=$(out)" ];
@@ -17,7 +17,7 @@ stdenvNoCC.mkDerivation rec {
 
   outputHashMode = "recursive";
   outputHashAlgo = "sha256";
-  outputHash = "0g470hj2ylpviijfpjqzsndn2k8kkscj27wqwk51xlk8cr3mrahb";
+  outputHash = "sha256-0ZNgRGImh6sqln7bNP0a0lbSPEp7GwVoIuuOxW2Y9OM=";
 
   meta = with lib; {
     description = "Binary firmware collection packaged by kernel.org";
diff --git a/nixpkgs/pkgs/os-specific/linux/firmware/fwupd/default.nix b/nixpkgs/pkgs/os-specific/linux/firmware/fwupd/default.nix
index 24e23f2b7e97..4f3c3a79f5b0 100644
--- a/nixpkgs/pkgs/os-specific/linux/firmware/fwupd/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/firmware/fwupd/default.nix
@@ -91,7 +91,7 @@ let
 
   self = stdenv.mkDerivation rec {
     pname = "fwupd";
-    version = "1.5.7";
+    version = "1.5.12";
 
     # libfwupd goes to lib
     # daemon, plug-ins and libfwupdplugin go to out
@@ -100,7 +100,7 @@ let
 
     src = fetchurl {
       url = "https://people.freedesktop.org/~hughsient/releases/fwupd-${version}.tar.xz";
-      sha256 = "16isrrv6zhdgccbfnz7km5g1cnvfnip7aiidkfhf5dlnrnyb2sxh";
+      sha256 = "sha256-BluwLlm6s/2H/USARQpAvDR0+X8WP/q0h8VvxA6Qftc=";
     };
 
     patches = [
@@ -296,7 +296,6 @@ let
         "fwupd/thunderbolt.conf"
         "fwupd/upower.conf"
         "fwupd/uefi_capsule.conf"
-        "pki/fwupd/GPG-KEY-Hughski-Limited"
         "pki/fwupd/GPG-KEY-Linux-Foundation-Firmware"
         "pki/fwupd/GPG-KEY-Linux-Vendor-Firmware-Service"
         "pki/fwupd/LVFS-CA.pem"
diff --git a/nixpkgs/pkgs/os-specific/linux/firmware/intel2200BGFirmware/default.nix b/nixpkgs/pkgs/os-specific/linux/firmware/intel2200BGFirmware/default.nix
index c9b1d7c5f0a5..7c195cd2d7ca 100644
--- a/nixpkgs/pkgs/os-specific/linux/firmware/intel2200BGFirmware/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/firmware/intel2200BGFirmware/default.nix
@@ -1,18 +1,25 @@
-{ lib, fetchzip }:
+{ stdenv
+, lib
+, fetchurl }:
 
-let version = "3.1"; in
+stdenv.mkDerivation rec {
+  pname = "intel2200BGFirmware";
+  version = "3.1";
 
-fetchzip {
-  name = "intel2200BGFirmware-${version}";
-  url = "https://src.fedoraproject.org/repo/pkgs/ipw2200-firmware/ipw2200-fw-${version}.tgz/eaba788643c7cc7483dd67ace70f6e99/ipw2200-fw-${version}.tgz";
-  sha256 = "0zjyjndyc401pn5x5lgypxdal21n82ymi3vbb2ja1b89yszj432b";
+  src = fetchurl {
+    url = "https://src.fedoraproject.org/repo/pkgs/ipw2200-firmware/ipw2200-fw-${version}.tgz/eaba788643c7cc7483dd67ace70f6e99/ipw2200-fw-${version}.tgz";
+    hash = "sha256-xoGMEcGMwDDVX/g/ZLK62P7vSF53QvhPlKYdgRpiWL0=";
+  };
+
+  installPhase = ''
+    runHook preInstall
 
-  postFetch = ''
-    tar -xzvf $downloadedFile --strip-components=1
     install -D -m644 ipw2200-bss.fw     $out/lib/firmware/ipw2200-bss.fw
     install -D -m644 ipw2200-ibss.fw    $out/lib/firmware/ipw2200-ibss.fw
     install -D -m644 ipw2200-sniffer.fw $out/lib/firmware/ipw2200-sniffer.fw
     install -D -m644 LICENSE.ipw2200-fw $out/share/doc/intel2200BGFirmware/LICENSE
+
+    runHook postInstall
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/os-specific/linux/firmware/libreelec-dvb-firmware/default.nix b/nixpkgs/pkgs/os-specific/linux/firmware/libreelec-dvb-firmware/default.nix
new file mode 100644
index 000000000000..2103012d3ed9
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/linux/firmware/libreelec-dvb-firmware/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, lib}:
+
+stdenv.mkDerivation rec {
+  pname = "libreelec-dvb-firmware";
+  version = "1.4.2";
+
+  src = fetchFromGitHub {
+    repo = "dvb-firmware";
+    owner = "LibreElec";
+    rev = version;
+    sha256 = "1xnfl4gp6d81gpdp86v5xgcqiqz2nf1i43sb3a4i5jqs8kxcap2k";
+  };
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/lib
+    cp -rv firmware $out/lib
+    find $out/lib \( -name 'README.*' -or -name 'LICEN[SC]E.*' -or -name '*.txt' \) | xargs rm
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "DVB firmware from LibreELEC";
+    homepage = "https://github.com/LibreELEC/dvb-firmware";
+    license = licenses.unfreeRedistributableFirmware;
+    maintainers = with maintainers; [ kittywitch ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/os-specific/linux/firmware/openelec-dvb-firmware/default.nix b/nixpkgs/pkgs/os-specific/linux/firmware/openelec-dvb-firmware/default.nix
deleted file mode 100644
index 3181072ea182..000000000000
--- a/nixpkgs/pkgs/os-specific/linux/firmware/openelec-dvb-firmware/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ lib, stdenv, fetchurl }:
-
-stdenv.mkDerivation rec {
-  pname = "openelec-dvb-firmware";
-  version = "0.0.51";
-
-  src = fetchurl {
-    url = "https://github.com/OpenELEC/dvb-firmware/archive/${version}.tar.gz";
-    sha256 = "cef3ce537d213e020af794cecf9de207e2882c375ceda39102eb6fa2580bad8d";
-  };
-
-  phases = [ "unpackPhase" "installPhase" ];
-
-  installPhase = ''
-    DESTDIR="$out" ./install
-    find $out \( -name 'README.*' -or -name 'LICEN[SC]E.*' -or -name '*.txt' \) | xargs rm
-  '';
-
-  meta = with lib; {
-    description = "DVB firmware from OpenELEC";
-    homepage = "https://github.com/OpenELEC/dvb-firmware";
-    license = licenses.unfreeRedistributableFirmware;
-    platforms = platforms.linux;
-    priority = 7;
-  };
-}
diff --git a/nixpkgs/pkgs/os-specific/linux/firmware/raspberrypi-wireless/default.nix b/nixpkgs/pkgs/os-specific/linux/firmware/raspberrypi-wireless/default.nix
index e6a03ef7df50..ba8df751511f 100644
--- a/nixpkgs/pkgs/os-specific/linux/firmware/raspberrypi-wireless/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/firmware/raspberrypi-wireless/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation {
   pname = "raspberrypi-wireless-firmware";
-  version = "2021-01-28";
+  version = "2021-06-28";
 
   srcs = [
     (fetchFromGitHub {
@@ -16,8 +16,8 @@ stdenv.mkDerivation {
       name = "firmware-nonfree";
       owner = "RPi-Distro";
       repo = "firmware-nonfree";
-      rev = "83938f78ca2d5a0ffe0c223bb96d72ccc7b71ca5";
-      sha256 = "1l4zz86y2hjyvdwjy75abyjwh3wqknd71y3vh1iw5nd0hws8ranp";
+      rev = "00de3194a96397c913786945ac0af1fd6fbec45b";
+      sha256 = "1xnr364dkiq6gmr21lcrj23hwc0g9y5qad8dm2maij647bgzp07r";
     })
   ];
 
@@ -28,6 +28,7 @@ stdenv.mkDerivation {
   dontFixup = true;
 
   installPhase = ''
+    runHook preInstall
     mkdir -p "$out/lib/firmware/brcm"
 
     # Wifi firmware
@@ -37,6 +38,7 @@ stdenv.mkDerivation {
 
     # Bluetooth firmware
     cp bluez-firmware/broadcom/*.hcd "$out/lib/firmware/brcm"
+    runHook postInstall
   '';
 
   outputHashMode = "recursive";
diff --git a/nixpkgs/pkgs/os-specific/linux/firmware/raspberrypi/armstubs.nix b/nixpkgs/pkgs/os-specific/linux/firmware/raspberrypi/armstubs.nix
index 52fa42665773..9934f51487d1 100644
--- a/nixpkgs/pkgs/os-specific/linux/firmware/raspberrypi/armstubs.nix
+++ b/nixpkgs/pkgs/os-specific/linux/firmware/raspberrypi/armstubs.nix
@@ -1,17 +1,17 @@
-{ lib, stdenv, fetchFromGitHub, cmake, pkg-config }:
+{ lib, stdenv, fetchFromGitHub }:
 
 let
   inherit (lib) optionals;
 in
 stdenv.mkDerivation {
   pname = "raspberrypi-armstubs";
-  version = "2020-10-08";
+  version = "2021-07-05";
 
   src = fetchFromGitHub {
     owner = "raspberrypi";
     repo = "tools";
-    rev = "fc0e73c13865450e95edd046200e42a6e52d8256";
-    sha256 = "1g6ikpjcrm5x0rk5aiwjdd8grf997qkvgamcrdxy6k9ln746h25s";
+    rev = "2e59fc67d465510179155973d2b959e50a440e47";
+    sha256 = "1ysdl4qldy6ldf8cm1igxjisi14xl3s2pi6cnqzpxb38sgihb1vy";
   };
 
   NIX_CFLAGS_COMPILE = [
@@ -37,13 +37,15 @@ stdenv.mkDerivation {
   ;
 
   installPhase = ''
+    runHook preInstall
     mkdir -vp $out/
     cp -v *.bin $out/
+    runHook postInstall
   '';
 
   meta = with lib; {
     description = "Firmware related ARM stubs for the Raspberry Pi";
-    homepage = https://github.com/raspberrypi/tools;
+    homepage = "https://github.com/raspberrypi/tools";
     license = licenses.bsd3;
     platforms = [ "armv6l-linux" "armv7l-linux" "aarch64-linux" ];
     maintainers = with maintainers; [ samueldr ];
diff --git a/nixpkgs/pkgs/os-specific/linux/firmware/raspberrypi/default.nix b/nixpkgs/pkgs/os-specific/linux/firmware/raspberrypi/default.nix
index 6a826f639660..29c1859121e0 100644
--- a/nixpkgs/pkgs/os-specific/linux/firmware/raspberrypi/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/firmware/raspberrypi/default.nix
@@ -3,13 +3,13 @@
 stdenvNoCC.mkDerivation rec {
   # NOTE: this should be updated with linux_rpi
   pname = "raspberrypi-firmware";
-  version = "1.20210303";
+  version = "1.20210805";
 
   src = fetchFromGitHub {
     owner = "raspberrypi";
     repo = "firmware";
     rev = version;
-    sha256 = "0pgiw93hq4gfph5dnwbi8w59g0f7yhmagwzam971k529mh5yl86m";
+    sha256 = "1nndhjv4il42yw3pq8ni3r4nlp1m0r229fadrf4f9v51mgcg11i1";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/os-specific/linux/firmware/rtl8192su-firmware/default.nix b/nixpkgs/pkgs/os-specific/linux/firmware/rtl8192su-firmware/default.nix
index 34c2b683ea40..6cbaa4acb8d2 100644
--- a/nixpkgs/pkgs/os-specific/linux/firmware/rtl8192su-firmware/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/firmware/rtl8192su-firmware/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
     sha256 = "0j3c35paapq1icmxq0mg7pm2xa2m69q7bkfmwgq99d682yr2cb5l";
   };
 
-  phases = [ "unpackPhase" "installPhase" ];
+  dontBuild = true;
 
   installPhase = ''
     for i in rtl8192sfw.bin \
diff --git a/nixpkgs/pkgs/os-specific/linux/firmware/rtl8723bs-firmware/default.nix b/nixpkgs/pkgs/os-specific/linux/firmware/rtl8723bs-firmware/default.nix
index 36580d4b1b91..c587994ccecb 100644
--- a/nixpkgs/pkgs/os-specific/linux/firmware/rtl8723bs-firmware/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/firmware/rtl8723bs-firmware/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "rtl8723bs-firmware-${linuxPackages.rtl8723bs.version}";
   inherit (linuxPackages.rtl8723bs) src;
 
-  phases = [ "unpackPhase" "installPhase" ];
+  dontBuild = true;
 
   installPhase = ''
     mkdir -p                "$out/lib/firmware/rtlwifi"
diff --git a/nixpkgs/pkgs/os-specific/linux/firmware/sof-firmware/default.nix b/nixpkgs/pkgs/os-specific/linux/firmware/sof-firmware/default.nix
index 5ee39c5bf331..2409d9b1aba1 100644
--- a/nixpkgs/pkgs/os-specific/linux/firmware/sof-firmware/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/firmware/sof-firmware/default.nix
@@ -1,6 +1,5 @@
 { lib, stdenv, fetchFromGitHub }:
 
-with lib;
 stdenv.mkDerivation rec {
   pname = "sof-firmware";
   version = "1.7";
diff --git a/nixpkgs/pkgs/os-specific/linux/firmware/system76-firmware/default.nix b/nixpkgs/pkgs/os-specific/linux/firmware/system76-firmware/default.nix
index ca750d89cc5b..a7bc36106996 100644
--- a/nixpkgs/pkgs/os-specific/linux/firmware/system76-firmware/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/firmware/system76-firmware/default.nix
@@ -2,13 +2,13 @@
 rustPlatform.buildRustPackage rec {
   pname = "system76-firmware";
   # Check Makefile when updating, make sure postInstall matches make install
-  version = "1.0.24";
+  version = "1.0.28";
 
   src = fetchFromGitHub {
     owner = "pop-os";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Poe18HKEQusvN3WF4ZAV1WCvU8/3HKpHEqDsfDO62V0=";
+    sha256 = "sha256-hv8Vdpg/Tt3eo2AdFlOEG182jH5Oy7/BX3p1EMPQjnc=";
   };
 
   nativeBuildInputs = [ pkg-config makeWrapper ];
@@ -17,7 +17,7 @@ rustPlatform.buildRustPackage rec {
 
   cargoBuildFlags = [ "--workspace" ];
 
-  cargoSha256 = "sha256-gGw3zpxLxQZ3rglpDERO0fSxBOez1Q10Fljis6nyB/4=";
+  cargoSha256 = "sha256-A39zvxvZB3j59giPAVeucHPzqwofnugmLweiPXh5Uzg=";
 
   # Purposefully don't install systemd unit file, that's for NixOS
   postInstall = ''
diff --git a/nixpkgs/pkgs/os-specific/linux/firmware/zd1211/default.nix b/nixpkgs/pkgs/os-specific/linux/firmware/zd1211/default.nix
index 15e53557126d..075e46a5de55 100644
--- a/nixpkgs/pkgs/os-specific/linux/firmware/zd1211/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/firmware/zd1211/default.nix
@@ -1,19 +1,25 @@
-{ lib, fetchzip }:
+{ stdenv
+, lib
+, fetchurl
+}:
 
-let
+stdenv.mkDerivation rec {
   pname = "zd1211-firmware";
   version = "1.5";
-in fetchzip rec {
-  name = "${pname}-${version}";
-  url = "mirror://sourceforge/zd1211/${name}.tar.bz2";
 
-  postFetch = ''
-    tar -xjvf $downloadedFile
+  src = fetchurl {
+    url = "mirror://sourceforge/zd1211/${pname}-${version}.tar.bz2";
+    hash = "sha256-8R04ENf3KDOZf2NFhKWG3M7XGjU/llq/gQYuxDHQKxI=";
+  };
+
+  installPhase = ''
+    runHook preInstall
+
     mkdir -p $out/lib/firmware/zd1211
-    cp zd1211-firmware/* $out/lib/firmware/zd1211
-  '';
+    cp * $out/lib/firmware/zd1211
 
-  sha256 = "0sj2zl3r0549mjz37xy6iilm1hm7ak5ax02gwrn81r5yvphqzd52";
+    runHook postInstall
+  '';
 
   meta = {
     description = "Firmware for the ZyDAS ZD1211(b) 802.11a/b/g USB WLAN chip";
diff --git a/nixpkgs/pkgs/os-specific/linux/fwts/default.nix b/nixpkgs/pkgs/os-specific/linux/fwts/default.nix
index 1b5a0e3bdffe..585347caac0f 100644
--- a/nixpkgs/pkgs/os-specific/linux/fwts/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/fwts/default.nix
@@ -1,23 +1,24 @@
-{ lib, stdenv, fetchzip, autoreconfHook, pkg-config, glib, libtool, pcre
-, json_c, flex, bison, dtc, pciutils, dmidecode, iasl, libbsd }:
+{ lib, stdenv, fetchzip, autoreconfHook, pkg-config, glib, pcre
+, json_c, flex, bison, dtc, pciutils, dmidecode, acpica-tools, libbsd }:
 
 stdenv.mkDerivation rec {
   pname = "fwts";
-  version = "20.11.00";
+  version = "21.07.00";
 
   src = fetchzip {
-    url = "http://fwts.ubuntu.com/release/${pname}-V${version}.tar.gz";
-    sha256 = "0s8iz6c9qhyndcsjscs3qail2mzfywpbiys1x232igm5kl089vvr";
+    url = "https://fwts.ubuntu.com/release/${pname}-V${version}.tar.gz";
+    sha256 = "sha256-cTm8R7sUJk5aTjXvsxfBXX0J/ehVoqo43ILZ6VqaPTI=";
     stripRoot = false;
   };
 
-  nativeBuildInputs = [ autoreconfHook pkg-config libtool ];
-  buildInputs = [ glib pcre json_c flex bison dtc pciutils dmidecode iasl libbsd ];
+  nativeBuildInputs = [ autoreconfHook pkg-config ];
+  buildInputs = [ glib pcre json_c flex bison dtc pciutils dmidecode acpica-tools libbsd ];
 
   postPatch = ''
-    substituteInPlace src/lib/include/fwts_binpaths.h --replace "/usr/bin/lspci"      "${pciutils}/bin/lspci"
-    substituteInPlace src/lib/include/fwts_binpaths.h --replace "/usr/sbin/dmidecode" "${dmidecode}/bin/dmidecode"
-    substituteInPlace src/lib/include/fwts_binpaths.h --replace "/usr/bin/iasl"       "${iasl}/bin/iasl"
+    substituteInPlace src/lib/include/fwts_binpaths.h \
+      --replace "/usr/bin/lspci"      "${pciutils}/bin/lspci" \
+      --replace "/usr/sbin/dmidecode" "${dmidecode}/bin/dmidecode" \
+      --replace "/usr/bin/iasl"       "${acpica-tools}/bin/iasl"
   '';
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/os-specific/linux/i810switch/default.nix b/nixpkgs/pkgs/os-specific/linux/i810switch/default.nix
index ffca983a35e0..3a202ca08e96 100644
--- a/nixpkgs/pkgs/os-specific/linux/i810switch/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/i810switch/default.nix
@@ -1,9 +1,8 @@
 { lib, stdenv, fetchurl, pciutils }:
 
 stdenv.mkDerivation {
-  name = "i810switch-0.6.5";
-
-  phases = "unpackPhase installPhase";
+  pname = "i810switch";
+  version = "0.6.5";
 
   installPhase = "
     sed -i -e 's+/usr++' Makefile
@@ -17,10 +16,11 @@ stdenv.mkDerivation {
     sha256 = "d714840e3b14e1fa9c432c4be0044b7c008d904dece0d611554655b979cad4c3";
   };
 
-  meta = {
+  meta = with lib; {
     description = "A utility for switching between the LCD and external VGA display on Intel graphics cards";
     homepage = "http://www16.plala.or.jp/mano-a-mano/i810switch.html";
-    license = lib.licenses.gpl2;
-    platforms = lib.platforms.linux;
+    maintainers = with maintainers; [ ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/iotop-c/default.nix b/nixpkgs/pkgs/os-specific/linux/iotop-c/default.nix
index 47cfa57fe817..ca0eddac6664 100644
--- a/nixpkgs/pkgs/os-specific/linux/iotop-c/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/iotop-c/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "iotop-c";
-  version = "1.17";
+  version = "1.18";
 
   src = fetchFromGitHub {
     owner = "Tomas-M";
     repo = "iotop";
     rev = "v${version}";
-    sha256 = "0hjy30155c3nijx3jgyn5kpj293632p0j6f3lf5acdfax1ynav86";
+    sha256 = "sha256-5RbxryvRKWJvjuJJwDK6GYnwdtHGfW7XEc75q4omxIA=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/nixpkgs/pkgs/os-specific/linux/ipset/default.nix b/nixpkgs/pkgs/os-specific/linux/ipset/default.nix
index 213ae45f48f3..a116aef7920a 100644
--- a/nixpkgs/pkgs/os-specific/linux/ipset/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/ipset/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ipset";
-  version = "7.11";
+  version = "7.15";
 
   src = fetchurl {
-    url = "http://ipset.netfilter.org/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-MVG6rTDx2eMXsqtPL1qnqfe03BH8+P5zrNDcC126v30=";
+    url = "https://ipset.netfilter.org/${pname}-${version}.tar.bz2";
+    sha256 = "sha256-ClVFqq22QBQsH4iNNmp43fhyR5mWf6IGhqcAU71iF1E=";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   configureFlags = [ "--with-kmod=no" ];
 
   meta = with lib; {
-    homepage = "http://ipset.netfilter.org/";
+    homepage = "https://ipset.netfilter.org/";
     description = "Administration tool for IP sets";
     license = licenses.gpl2;
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/os-specific/linux/iptables/default.nix b/nixpkgs/pkgs/os-specific/linux/iptables/default.nix
index 912d9078c947..fe0e82c4a8e6 100644
--- a/nixpkgs/pkgs/os-specific/linux/iptables/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/iptables/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" ];
 
-  postInstall = optional nftablesCompat ''
+  postInstall = optionalString nftablesCompat ''
     rm $out/sbin/{iptables,iptables-restore,iptables-save,ip6tables,ip6tables-restore,ip6tables-save}
     ln -sv xtables-nft-multi $out/bin/iptables
     ln -sv xtables-nft-multi $out/bin/iptables-restore
diff --git a/nixpkgs/pkgs/os-specific/linux/iputils/default.nix b/nixpkgs/pkgs/os-specific/linux/iputils/default.nix
index 495860ef5760..c949069885df 100644
--- a/nixpkgs/pkgs/os-specific/linux/iputils/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/iputils/default.nix
@@ -1,11 +1,12 @@
 { lib, stdenv, fetchFromGitHub
 , meson, ninja, pkg-config, gettext, libxslt, docbook_xsl_ns
 , libcap, libidn2
+, iproute2
 , apparmorRulesFromClosure
 }:
 
 let
-  version = "20210202";
+  version = "20210722";
   sunAsIsLicense = {
     fullName = "AS-IS, SUN MICROSYSTEMS license";
     url = "https://github.com/iputils/iputils/blob/s${version}/rdisc.c";
@@ -18,11 +19,20 @@ in stdenv.mkDerivation rec {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "08j2hfgnfh31vv9rn1ml7090j2lsvm9wdpdz13rz60rmyzrx9dq3";
+    sha256 = "139fyifsjm0i012rhcx3ra3pxx2wxh77dfd551d8lgiv2mqd742j";
   };
 
+  postPatch = lib.optionalString (!doCheck) ''
+    # There isn't a Meson option for this yet:
+    sed -i '/##### TESTS #####/q' ping/meson.build
+  '';
+
   outputs = ["out" "apparmor"];
 
+  # We don't have the required permissions inside the build sandbox:
+  # /build/source/build/ping/ping: socket: Operation not permitted
+  doCheck = false;
+
   mesonFlags = [
     "-DBUILD_RARPD=true"
     "-DBUILD_TRACEROUTE6=true"
@@ -37,6 +47,8 @@ in stdenv.mkDerivation rec {
   nativeBuildInputs = [ meson ninja pkg-config gettext libxslt.bin docbook_xsl_ns ];
   buildInputs = [ libcap ]
     ++ lib.optional (!stdenv.hostPlatform.isMusl) libidn2;
+  checkInputs = [ iproute2 ];
+
   postInstall = ''
     mkdir $apparmor
     cat >$apparmor/bin.ping <<EOF
diff --git a/nixpkgs/pkgs/os-specific/linux/isgx/default.nix b/nixpkgs/pkgs/os-specific/linux/isgx/default.nix
index 3e551e559170..6e97532ee5dd 100644
--- a/nixpkgs/pkgs/os-specific/linux/isgx/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/isgx/default.nix
@@ -1,29 +1,16 @@
-{ stdenv, lib, fetchFromGitHub, fetchpatch, kernel, kernelAtLeast }:
+{ stdenv, lib, fetchFromGitHub, kernel, kernelAtLeast }:
 
 stdenv.mkDerivation rec {
   name = "isgx-${version}-${kernel.version}";
-  version = "2.11";
+  version = "2.14";
 
   src = fetchFromGitHub {
     owner = "intel";
     repo = "linux-sgx-driver";
-    rev = "sgx_driver_${version}";
-    hash = "sha256-zZ0FgCx63LCNmvQ909O27v/o4+93gefhgEE/oDr/bHw=";
+    rev = "sgx_diver_${version}"; # Typo is upstream's.
+    sha256 = "0kbbf2inaywp44lm8ig26mkb36jq3smsln0yp6kmrirdwc3c53mi";
   };
 
-  patches = [
-    # Fixes build with kernel >= 5.8
-    (fetchpatch {
-      url = "https://github.com/intel/linux-sgx-driver/commit/276c5c6a064d22358542f5e0aa96b1c0ace5d695.patch";
-      sha256 = "sha256-PmchqYENIbnJ51G/tkdap/g20LUrJEoQ4rDtqy6hj24=";
-    })
-    # Fixes detection with kernel >= 5.11
-    (fetchpatch {
-      url = "https://github.com/intel/linux-sgx-driver/commit/ed2c256929962db1a8805db53bed09bb8f2f4de3.patch";
-      sha256 = "sha256-MRbgS4U8FTCP1J1n+rhsvbXxKDytfl6B7YlT9Izq05U=";
-    })
-  ];
-
   hardeningDisable = [ "pic" ];
 
   nativeBuildInputs = kernel.moduleBuildDependencies;
@@ -38,6 +25,8 @@ stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
+  enableParallelBuilding = true;
+
   meta = with lib; {
     description = "Intel SGX Linux Driver";
     longDescription = ''
diff --git a/nixpkgs/pkgs/os-specific/linux/jool/source.nix b/nixpkgs/pkgs/os-specific/linux/jool/source.nix
index abf7b0dac45f..a90482a58d31 100644
--- a/nixpkgs/pkgs/os-specific/linux/jool/source.nix
+++ b/nixpkgs/pkgs/os-specific/linux/jool/source.nix
@@ -1,11 +1,11 @@
 { fetchFromGitHub }:
 
 rec {
-  version = "4.0.9";
+  version = "4.1.5";
   src = fetchFromGitHub {
     owner = "NICMx";
     repo = "Jool";
     rev = "v${version}";
-    sha256 = "0zhdpk1sbsv1iyr9rvj94wk853684avz3zzn4cv2k4254d7n25m7";
+    sha256 = "05dwz4q6v6azgpyj9dzwihnw1lalhhym116q2ya7spvgxzxi04ax";
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/kbd/default.nix b/nixpkgs/pkgs/os-specific/linux/kbd/default.nix
index c7a59e59cab6..23a523b15d72 100644
--- a/nixpkgs/pkgs/os-specific/linux/kbd/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kbd/default.nix
@@ -29,6 +29,10 @@ stdenv.mkDerivation rec {
     "--disable-nls"
   ];
 
+  patches = [
+    ./search-paths.patch
+  ];
+
   postPatch =
     ''
       # Renaming keymaps with name clashes, because loadkeys just picks
@@ -62,7 +66,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ autoreconfHook pkg-config flex ];
 
   passthru.tests = {
-    inherit (nixosTests) keymap kbd-setfont-decompress;
+    inherit (nixosTests) keymap kbd-setfont-decompress kbd-update-search-paths-patch;
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/os-specific/linux/kbd/search-paths.patch b/nixpkgs/pkgs/os-specific/linux/kbd/search-paths.patch
new file mode 100644
index 000000000000..3b337ca7cc2b
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/linux/kbd/search-paths.patch
@@ -0,0 +1,85 @@
+Add /etc/kbd to the list of directories to search for the console
+fonts, screen mappings, Unicode maps, keytable files, etc.
+
+Without this patch, kbd will only look inside
+/nix/store/<hash>-kbd-x.x.x/share.
+
+--- a/src/libkeymap/analyze.l
++++ b/src/libkeymap/analyze.l
+@@ -109,6 +109,9 @@ static const char *const include_dirpath1[] = {
+ 	NULL
+ };
+ static const char *const include_dirpath3[] = {
++	"/etc/kbd/" KEYMAPDIR "/include/",
++	"/etc/kbd/" KEYMAPDIR "/i386/include/",
++	"/etc/kbd/" KEYMAPDIR "/mac/include/",
+ 	DATADIR "/" KEYMAPDIR "/include/",
+ 	DATADIR "/" KEYMAPDIR "/i386/include/",
+ 	DATADIR "/" KEYMAPDIR "/mac/include/",
+--- a/src/libkfont/context.c
++++ b/src/libkfont/context.c
+@@ -13,6 +13,7 @@
+ /* search for the map file in these directories (with trailing /) */
+ static const char *const mapdirpath[]  = {
+ 	"",
++	"/etc/kbd/" TRANSDIR "/",
+ 	DATADIR "/" TRANSDIR "/",
+ 	NULL
+ };
+@@ -28,6 +29,7 @@ static const char *const mapsuffixes[] = {
+ /* search for the font in these directories (with trailing /) */
+ static const char *const fontdirpath[]  = {
+ 	"",
++	"/etc/kbd/" FONTDIR "/",
+ 	DATADIR "/" FONTDIR "/",
+ 	NULL
+ };
+@@ -42,6 +44,7 @@ static char const *const fontsuffixes[] = {
+ 
+ static const char *const unidirpath[]  = {
+ 	"",
++	"/etc/kbd/" UNIMAPDIR "/",
+ 	DATADIR "/" UNIMAPDIR "/",
+ 	NULL
+ };
+@@ -55,6 +58,7 @@ static const char *const unisuffixes[] = {
+ /* hide partial fonts a bit - loading a single one is a bad idea */
+ const char *const partfontdirpath[]  = {
+ 	"",
++	"/etc/kbd/" FONTDIR "/" PARTIALDIR "/",
+ 	DATADIR "/" FONTDIR "/" PARTIALDIR "/",
+ 	NULL
+ };
+--- a/src/loadkeys.c
++++ b/src/loadkeys.c
+@@ -27,6 +27,7 @@
+ 
+ static const char *const dirpath1[] = {
+ 	"",
++	"/etc/kbd/" KEYMAPDIR "/**",
+ 	DATADIR "/" KEYMAPDIR "/**",
+ 	KERNDIR "/",
+ 	NULL
+--- a/src/resizecons.c
++++ b/src/resizecons.c
+@@ -104,6 +104,7 @@ static void vga_set_verticaldisplayend_lowbyte(int);
+ 
+ const char *const dirpath[]  = {
+ 	"",
++	"/etc/kbd/" VIDEOMODEDIR "/",
+ 	DATADIR "/" VIDEOMODEDIR "/",
+ 	NULL
+ };
+--- a/src/setfont.c
++++ b/src/setfont.c
+@@ -48,8 +48,8 @@ usage(void)
+ 	                    "    -v         Be verbose.\n"
+ 	                    "    -C <cons>  Indicate console device to be used.\n"
+ 	                    "    -V         Print version and exit.\n"
+-	                    "Files are loaded from the current directory or %s/*/.\n"),
+-	        DATADIR);
++	                    "Files are loaded from the current directory or %s/*/ or %s/*/.\n"),
++	        DATADIR, "/etc/kbd");
+ 	exit(EX_USAGE);
+ }
+ 
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/common-config.nix b/nixpkgs/pkgs/os-specific/linux/kernel/common-config.nix
index 355e653c8eae..c82f872e4889 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/common-config.nix
@@ -758,7 +758,7 @@ let
       POSIX_MQUEUE        = yes;
       FRONTSWAP           = yes;
       FUSION              = yes; # Fusion MPT device support
-      IDE                 = no; # deprecated IDE support
+      IDE                 = whenOlder "5.14" no; # deprecated IDE support, removed in 5.14
       IDLE_PAGE_TRACKING  = yes;
       IRDA_ULTRA          = whenOlder "4.17" yes; # Ultra (connectionless) protocol
 
@@ -790,6 +790,7 @@ let
       MODVERSIONS        = whenOlder "4.9" yes;
       MOUSE_ELAN_I2C_SMBUS = yes;
       MOUSE_PS2_ELANTECH = yes; # Elantech PS/2 protocol extension
+      MOUSE_PS2_VMMOUSE  = yes;
       MTRR_SANITIZER     = yes;
       NET_FC             = yes; # Fibre Channel driver support
       # GPIO on Intel Bay Trail, for some Chromebook internal eMMC disks
@@ -846,6 +847,8 @@ let
       X86_AMD_PLATFORM_DEVICE = yes;
       X86_PLATFORM_DRIVERS_DELL = whenAtLeast "5.12" yes;
 
+      LIRC = mkMerge [ (whenOlder "4.16" module) (whenAtLeast "4.17" 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
@@ -878,8 +881,6 @@ let
       # Keeping it a built-in ensures it will be used if possible.
       FB_SIMPLE = yes;
 
-    } // optionalAttrs (stdenv.hostPlatform.system == "armv7l-linux") {
-      ARM_LPAE = yes;
     };
   };
 in
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/generic.nix b/nixpkgs/pkgs/os-specific/linux/kernel/generic.nix
index 598dac90babe..7f2a97d868ed 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/generic.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/generic.nix
@@ -58,6 +58,7 @@
 , preferBuiltin ? stdenv.hostPlatform.linux-kernel.preferBuiltin or false
 , kernelArch ? stdenv.hostPlatform.linuxArch
 , kernelTests ? []
+, nixosTests
 , ...
 }:
 
@@ -70,7 +71,7 @@ assert stdenv.isLinux;
 
 let
   # Combine the `features' attribute sets of all the kernel patches.
-  kernelFeatures = lib.fold (x: y: (x.features or {}) // y) ({
+  kernelFeatures = lib.foldr (x: y: (x.features or {}) // y) ({
     iwlwifi = true;
     efiBootStub = true;
     needsCifsUtils = true;
@@ -192,7 +193,16 @@ let
     kernelOlder = lib.versionOlder version;
     kernelAtLeast = lib.versionAtLeast version;
     passthru = kernel.passthru // (removeAttrs passthru [ "passthru" ]);
-    tests = kernelTests;
+    tests = let
+      overridableKernel = finalKernel // {
+        override = args:
+          lib.warn (
+            "override is stubbed for NixOS kernel tests, not applying changes these arguments: "
+            + toString (lib.attrNames (if lib.isAttrs args then args else args {}))
+          ) overridableKernel;
+      };
+    in [ (nixosTests.kernel-generic.testsForKernel overridableKernel) ] ++ kernelTests;
   };
 
-in lib.extendDerivation true passthru kernel
+  finalKernel = lib.extendDerivation true passthru kernel;
+in finalKernel
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/hardened/config.nix b/nixpkgs/pkgs/os-specific/linux/kernel/hardened/config.nix
index 20f9f5aaa147..973e6d50adfe 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/hardened/config.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/hardened/config.nix
@@ -88,7 +88,7 @@ assert (versionAtLeast version "4.9");
   INET_MPTCP_DIAG   = option no;
 
   # Use -fstack-protector-strong (gcc 4.9+) for best stack canary coverage.
-  CC_STACKPROTECTOR_REGULAR = whenOlder "4.18" no;
+  CC_STACKPROTECTOR_REGULAR = lib.mkForce (whenOlder "4.18" no);
   CC_STACKPROTECTOR_STRONG  = whenOlder "4.18" yes;
 
   # Detect out-of-bound reads/writes and use-after-free
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/hardened/patches.json b/nixpkgs/pkgs/os-specific/linux/kernel/hardened/patches.json
index 412e50415007..dc379de31612 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/hardened/patches.json
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/hardened/patches.json
@@ -1,32 +1,32 @@
 {
     "4.14": {
         "extra": "-hardened1",
-        "name": "linux-hardened-4.14.240-hardened1.patch",
-        "sha256": "0j5zp0f8s4w3f60yam2spg3bx56bdjvv0mh632zlhchz8rdk5zs4",
-        "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.14.240-hardened1/linux-hardened-4.14.240-hardened1.patch"
+        "name": "linux-hardened-4.14.245-hardened1.patch",
+        "sha256": "035sq0l15afhyfivkavd08pyaywsrcl6f468gykmbq9j3i2swbb6",
+        "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.14.245-hardened1/linux-hardened-4.14.245-hardened1.patch"
     },
     "4.19": {
         "extra": "-hardened1",
-        "name": "linux-hardened-4.19.198-hardened1.patch",
-        "sha256": "18c5j00xiwc0xn5klcrwazk6wvjiy3cixbfbrw4xj7zal9r5p6q9",
-        "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.198-hardened1/linux-hardened-4.19.198-hardened1.patch"
+        "name": "linux-hardened-4.19.205-hardened1.patch",
+        "sha256": "14v3kwkkhyng0wfz4spca6z7wvsxj4kplj144qv1k3fm9yy2cy3h",
+        "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.205-hardened1/linux-hardened-4.19.205-hardened1.patch"
     },
     "5.10": {
         "extra": "-hardened1",
-        "name": "linux-hardened-5.10.52-hardened1.patch",
-        "sha256": "062a32rb1g5xk1npiz9fa114k7g4x9pmygycn3alc0phngjmvr98",
-        "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.52-hardened1/linux-hardened-5.10.52-hardened1.patch"
+        "name": "linux-hardened-5.10.61-hardened1.patch",
+        "sha256": "0hg67w9s6nzfmar8y01cnc46b2m2sa6s1xz85x1z1c46vw9558f0",
+        "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.61-hardened1/linux-hardened-5.10.61-hardened1.patch"
     },
-    "5.12": {
+    "5.13": {
         "extra": "-hardened1",
-        "name": "linux-hardened-5.12.19-hardened1.patch",
-        "sha256": "1nr3922gd6il69k5cpp9g3knpy6yjb6jsmpi9k4v02bkvypg86dc",
-        "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.12.19-hardened1/linux-hardened-5.12.19-hardened1.patch"
+        "name": "linux-hardened-5.13.13-hardened1.patch",
+        "sha256": "1rb4jpz8zbpijybpm7dwxr05f9nmf6b9av2b651ffxg5vziw17l3",
+        "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.13.13-hardened1/linux-hardened-5.13.13-hardened1.patch"
     },
     "5.4": {
         "extra": "-hardened1",
-        "name": "linux-hardened-5.4.134-hardened1.patch",
-        "sha256": "0iay6dxwd1vqj02ljf0ghncrqpr6b0gby90xiza8kkk8wnh3r9hh",
-        "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.134-hardened1/linux-hardened-5.4.134-hardened1.patch"
+        "name": "linux-hardened-5.4.143-hardened1.patch",
+        "sha256": "0xv29cclypywq52908zppxpjrxllcdb67chw7lcia60y1aqsg83z",
+        "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.143-hardened1/linux-hardened-5.4.143-hardened1.patch"
     }
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/hardened/update.py b/nixpkgs/pkgs/os-specific/linux/kernel/hardened/update.py
index e96ac9ca8554..f278b518c024 100755
--- a/nixpkgs/pkgs/os-specific/linux/kernel/hardened/update.py
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/hardened/update.py
@@ -212,7 +212,11 @@ for release in repo.get_releases():
     if len(version) < 4:
         continue
 
+    if not (isinstance(version[-2], int)):
+        continue
+
     kernel_version = version[:-1]
+
     kernel_key = major_kernel_version_key(kernel_version)
     try:
         packaged_kernel_version = kernel_versions[kernel_key]
@@ -226,7 +230,7 @@ for release in repo.get_releases():
     else:
         # Fall back to the latest patch for this major kernel version,
         # skipping patches for kernels newer than the packaged one.
-        if kernel_version > packaged_kernel_version:
+        if '.'.join(str(x) for x in kernel_version) > '.'.join(str(x) for x in packaged_kernel_version):
             continue
         elif (
             kernel_key not in releases or releases[kernel_key].version < version
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.14.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.14.nix
index ccecc433a4ac..8869d0cf653c 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.14.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.14.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "4.14.240";
+  version = "4.14.246";
 
   # 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,8 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1k65qwzlnqnh9ym0n2fxpa8nk2qwvykwhwgaixk3b7ndzmr8b6c8";
+    sha256 = "0fpgig84shpas1jc0h4s3aw9brkcq1as84gjbk4bfhc48bpi4mlw";
   };
-
-  kernelTests = args.kernelTests or [ nixosTests.kernel-generic.linux_4_14 ];
 } // (args.argsOverride or {}))
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.19.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.19.nix
index 4ed06ee22058..d081f92332b2 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.19.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.19.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "4.19.198";
+  version = "4.19.206";
 
   # 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,8 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "13k0r6a4n8nbni64a18wqzy0pg4vn1zw2li78xrm78rqcrnah85y";
+    sha256 = "1h44lvzxd0cngj71bk8qba9dz7jlqj68ir6xjwfafglb81ppgsxp";
   };
-
-  kernelTests = args.kernelTests or [ nixosTests.kernel-generic.linux_4_19 ];
 } // (args.argsOverride or {}))
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.4.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.4.nix
index 6c2595386e08..1469508eb0e3 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.4.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.4.nix
@@ -1,14 +1,12 @@
 { buildPackages, fetchurl, perl, buildLinux, nixosTests, stdenv, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.4.276";
+  version = "4.4.283";
   extraMeta.branch = "4.4";
   extraMeta.broken = stdenv.isAarch64;
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1hf9h5kr1ws2lvinzq6cv7aps8af1kx4q8j4bsk2vv4i2zvmfr7y";
+    sha256 = "1d9v4h4cbc4i371lhhwpxbmg88gna6xyi2ahfvv0clz60802y982";
   };
-
-  kernelTests = args.kernelTests or [ nixosTests.kernel-generic.linux_4_4 ];
 } // (args.argsOverride or {}))
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.9.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.9.nix
index 0dc5cfeae6eb..89f45b8021a2 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.9.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.9.nix
@@ -1,14 +1,12 @@
 { buildPackages, fetchurl, perl, buildLinux, nixosTests, stdenv, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.9.276";
+  version = "4.9.282";
   extraMeta.branch = "4.9";
   extraMeta.broken = stdenv.isAarch64;
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "16jp05jhmqcp8lawqga69gxn1acdkxsskn3a6wf0635863fky3hv";
+    sha256 = "059fin4si93ya13xy831w84q496ksxidpd3kyw38918sfy4p6wk7";
   };
-
-  kernelTests = args.kernelTests or [ nixosTests.kernel-generic.linux_4_9 ];
 } // (args.argsOverride or {}))
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.10.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.10.nix
index f59cca3e12fb..b36deaadb4ba 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.10.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.10.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.10.52";
+  version = "5.10.62";
 
   # 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,8 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "0ydf09wsg0pkjm9dk8y730ksg15p5rlbhq445zx8k191zah5g7kn";
+    sha256 = "1cc6z2xzi1s69805jk4f91iarx19v0yyqvssx1f1mc0l9l1db389";
   };
-
-  kernelTests = args.kernelTests or [ nixosTests.kernel-generic.linux_5_10 ];
 } // (args.argsOverride or {}))
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.13.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.13.nix
index 82defad373bd..dbccfd2cae79 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.13.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.13.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.13.4";
+  version = "5.13.14";
 
   # 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,9 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "0v3x1q1r0r8lyjg5hsj7yayfxqcgfj01p86ya4s0i9jaclpwv4ki";
+    sha256 = "06lbjsbr86qa8yai5gfclbfxvcqsw33kxj9b4r93hh6z1wajmx82";
   };
-
-  kernelTests = args.kernelTests or [ nixosTests.kernel-generic.linux_5_13 ];
 } // (args.argsOverride or { }))
-
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.12.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.14.nix
index e1e7aec2ce2d..a16b35f55cbf 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.12.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.14.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.12.19";
+  version = "5.14.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,8 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "0wscz736n13m833cd12lskn47r0b8ki4fhgpjnwga0jsab9iqf79";
+    sha256 = "1iq8s031fviccc4710biwl7gxqdimm3nhlvxd0m3fykvhhmcanq0";
   };
-
-  kernelTests = args.kernelTests or [ nixosTests.kernel-generic.linux_5_12 ];
-} // (args.argsOverride or {}))
+} // (args.argsOverride or { }))
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.4.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.4.nix
index c4e08b685b5e..ea8cf7042a24 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.4.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.4.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.4.134";
+  version = "5.4.144";
 
   # 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,8 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "0haqw1w6f8p330ydbsl7iml1x0qqrv63az6921p2a70n88b8dyy9";
+    sha256 = "11aqp12xwbg7ysac3f9iaxwkhvasdg9bw4r43jj8af5bf61bjhxw";
   };
-
-  kernelTests = args.kernelTests or [ nixosTests.kernel-generic.linux_5_4 ];
 } // (args.argsOverride or {}))
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-libre.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-libre.nix
index 656324569631..3642dfe442d0 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-libre.nix
+++ b/nixpkgs/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 = "18165";
-    sha256 = "17birwp6byxr4yb8cbc0afssli84ds1p2sisjl4g6rx3r7yqvsxn";
+    rev = "18298";
+    sha256 = "027fp6h7295cc9m5g46phqd6hixcnvihpfsyrnzvsxz6pkvjzpw4";
   }
 , ...
 }:
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-lqx.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-lqx.nix
index f701c2846f44..dae6072aa780 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-lqx.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-lqx.nix
@@ -1,8 +1,8 @@
 { lib, fetchFromGitHub, buildLinux, linux_zen, ... } @ args:
 
 let
-  version = "5.12.17";
-  suffix = "lqx2";
+  version = "5.13.9";
+  suffix = "lqx1";
 in
 
 buildLinux (args // {
@@ -14,11 +14,11 @@ buildLinux (args // {
     owner = "zen-kernel";
     repo = "zen-kernel";
     rev = "v${version}-${suffix}";
-    sha256 = "sha256-i0Ha9H1VVRKlmomWz1+UmKBH9CSlmHAZm0kwz0Kamqg=";
+    sha256 = "sha256-aAnwPw1qoGhUdWN/uaQa+5bi0DFZB/wDfNow7FgMMFE=";
   };
 
   extraMeta = {
-    branch = "5.12/master";
+    branch = "5.13/master";
     maintainers = with lib.maintainers; [ atemu ];
     description = linux_zen.meta.description + " (Same as linux_zen but less aggressive release schedule)";
   };
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-rpi.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-rpi.nix
index 8ccf46b402b7..17d24c187d5a 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-rpi.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-rpi.nix
@@ -2,8 +2,8 @@
 
 let
   # NOTE: raspberrypifw & raspberryPiWirelessFirmware should be updated with this
-  modDirVersion = "5.10.17";
-  tag = "1.20210303";
+  modDirVersion = "5.10.52";
+  tag = "1.20210805";
 in
 lib.overrideDerivation (buildLinux (args // {
   version = "${modDirVersion}-${tag}";
@@ -12,8 +12,8 @@ lib.overrideDerivation (buildLinux (args // {
   src = fetchFromGitHub {
     owner = "raspberrypi";
     repo = "linux";
-    rev = "raspberrypi-kernel_${tag}-1";
-    sha256 = "0ffsllayl18ka4mgp4rdy9h0da5gy1n6g0kfvinvzdzabb5wzvrx";
+    rev = tag;
+    sha256 = "1j71xblflslfi4c3zx2srw6fahnhp3bjx4yjfqrp39kzaa41ij0b";
   };
 
   defconfig = {
@@ -33,6 +33,11 @@ lib.overrideDerivation (buildLinux (args // {
     #       |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
     # ../drivers/gpu/drm/ast/ast_mode.c:851:18: note: (near initialization for 'ast_crtc_helper_funcs.atomic_flush')
     DRM_AST n
+    # ../drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c: In function 'amdgpu_dm_atomic_commit_tail':
+    # ../drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:7757:4: error: implicit declaration of function 'is_hdr_metadata_different' [-Werror=implicit-function-declaration]
+    #  7757 |    is_hdr_metadata_different(old_con_state, new_con_state);
+    #       |    ^~~~~~~~~~~~~~~~~~~~~~~~~
+    DRM_AMDGPU n
   '';
 
   extraMeta = if (rpiVersion < 3) then {
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix
index 62c411cd9698..826d99883e4d 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix
@@ -6,7 +6,7 @@
 , ... } @ args:
 
 let
-  version = "5.10.47-rt46"; # updated by ./update-rt.sh
+  version = "5.10.59-rt52"; # 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 = "1ig1kb10729xyawm2zqzx8slpdbylgwms7b5vkhw3q6iwqpjmd9h";
+    sha256 = "107anv16khx055rpkvfd532rdcfg4ffbs7bhp45hdqi3bz0ssg1k";
   };
 
   kernelPatches = let rt-patch = {
     name = "rt";
     patch = fetchurl {
       url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
-      sha256 = "12jnnwnh3bgz2ygc173r45sbqm74rz3f2nlp7m2fb8dlxdby460q";
+      sha256 = "0i66z1njppn9qvl8msarcgbvmgby6hv8w0k0rmlizwj09i1pmwdx";
     };
   }; in [ rt-patch ] ++ kernelPatches;
 
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix
index 4c49dc9c42a4..7a1f477f8472 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix
@@ -6,7 +6,7 @@
 , ... } @ args:
 
 let
-  version = "5.4.129-rt61"; # updated by ./update-rt.sh
+  version = "5.4.143-rt63"; # updated by ./update-rt.sh
   branch = lib.versions.majorMinor version;
   kversion = builtins.elemAt (lib.splitString "-" version) 0;
 in buildLinux (args // {
@@ -14,14 +14,14 @@ in buildLinux (args // {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${kversion}.tar.xz";
-    sha256 = "1ps64gx85lmbriq445hd2hcv4g4b1d1cwf4r3nd90x6i2cj4c9j4";
+    sha256 = "090x087p8hxnc1daf2xwj7vg8hg1jhz5i4andkbhdy550l5nalq9";
   };
 
   kernelPatches = let rt-patch = {
     name = "rt";
     patch = fetchurl {
       url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
-      sha256 = "0b3hp6a7afkjqd7an4hj423nq6flwzd42kjcyk4pifv5fx6c7pgq";
+      sha256 = "13d9sx6vw3hlh0cpccfsfqkjj6yfjmbh4wp4x6ry84i39lrfbwg3";
     };
   }; in [ rt-patch ] ++ kernelPatches;
 
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-testing.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-testing.nix
index 4e2ef7b4652e..2caea08416ea 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-testing.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-testing.nix
@@ -14,8 +14,6 @@ buildLinux (args // rec {
     sha256 = "sha256-PunFd6tOsmrsPItp2QX4TEVxHnvvi1BMSwWio/DTlMU=";
   };
 
-  kernelTests = args.kernelTests or [ nixosTests.kernel-generic.linux_testing ];
-
   # Should the testing kernels ever be built on Hydra?
   extraMeta.hydraPlatforms = [];
 
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-xanmod.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-xanmod.nix
index 758f6fd998aa..5034f66e2fce 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-xanmod.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-xanmod.nix
@@ -1,8 +1,9 @@
 { lib, stdenv, buildLinux, fetchFromGitHub, ... } @ args:
 
 let
-  version = "5.13.4";
-  suffix = "xanmod1-cacule";
+  version = "5.13.13";
+  release = "1";
+  suffix = "xanmod${release}-cacule";
 in
 buildLinux (args // rec {
   inherit version;
@@ -12,7 +13,7 @@ buildLinux (args // rec {
     owner = "xanmod";
     repo = "linux";
     rev = modDirVersion;
-    sha256 = "sha256-jSV5dL6myB4WeokYBwoBtQaOfLaUgvseYtReyjLGOhU=";
+    sha256 = "sha256-qRJuTkTmsKbCCGrzq62o+1RrvTGM74p4mqy9AQ8hvD0=";
   };
 
   structuredExtraConfig = with lib.kernel; {
@@ -43,11 +44,17 @@ buildLinux (args // rec {
     ANDROID_BINDER_IPC = module;
     ANDROID_BINDERFS = module;
     ANDROID_BINDER_DEVICES = freeform "binder,hwbinder,vndbinder";
+
+    # Futex WAIT_MULTIPLE implementation for Wine / Proton Fsync.
+    # Futex2 interface compatible w/ latest Wine / Proton Fsync.
+    FUTEX = yes;
+    FUTEX2 = yes;
+    FUTEX_PI = yes;
   };
 
   extraMeta = {
     branch = "5.13-cacule";
-    maintainers = with lib.maintainers; [ fortuneteller2k ];
+    maintainers = with lib.maintainers; [ fortuneteller2k lovesegfault ];
     description = "Built with custom settings and new features built to provide a stable, responsive and smooth desktop experience";
     broken = stdenv.isAarch64;
   };
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-zen.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-zen.nix
index f646e380ac3e..7750b776575c 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-zen.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-zen.nix
@@ -1,24 +1,33 @@
 { lib, fetchFromGitHub, buildLinux, ... } @ args:
 
 let
-  version = "5.12.14";
-  suffix = "zen1";
+  # having the full version string here makes it easier to update
+  modDirVersion = "5.13.13-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}";
 in
 
 buildLinux (args // {
-  modDirVersion = "${version}-${suffix}";
-  inherit version;
+  inherit version modDirVersion;
   isZen = true;
 
   src = fetchFromGitHub {
     owner = "zen-kernel";
     repo = "zen-kernel";
-    rev = "v${version}-${suffix}";
-    sha256 = "sha256-xmU2HNigSMb+xGkQ9XShBKfRxVHPHsz88JoTI2KsShQ=";
+    rev = "v${modDirVersion}";
+    sha256 = "sha256-aTTbhXy0wsDDCSbX1k27l9g3FliqwE6TbRq2zkI3mnw=";
+  };
+
+  structuredExtraConfig = with lib.kernel; {
+    ZEN_INTERACTIVE = yes;
   };
 
   extraMeta = {
-    branch = "5.12/master";
+    inherit branch;
     maintainers = with lib.maintainers; [ atemu andresilva ];
     description = "Built using the best configuration and kernel sources for desktop, multimedia, and gaming workloads.";
   };
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/update-zen.sh b/nixpkgs/pkgs/os-specific/linux/kernel/update-zen.sh
new file mode 100755
index 000000000000..1532d7be02b3
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/update-zen.sh
@@ -0,0 +1,21 @@
+#! /usr/bin/env nix-shell
+#! nix-shell -I nixpkgs=../../../.. -i bash -p nix-prefetch git gnused gnugrep nix curl
+set -euo pipefail -x
+
+nixpkgs="$(git rev-parse --show-toplevel)"
+old=$(nix-instantiate --eval -A linuxPackages_zen.kernel.modDirVersion "$nixpkgs")
+old="${old%\"}"
+old="${old#\"}"
+new=$(curl https://github.com/zen-kernel/zen-kernel/releases.atom | grep -m1 -o -E '[0-9.]+-zen[0-9]+')
+if [[ "$new" == "$old" ]]; then
+    echo "already up-to-date"
+    exit 0
+fi
+
+path="$nixpkgs/pkgs/os-specific/linux/kernel/linux-zen.nix"
+
+sed -i -e "s!modDirVersion = \".*\"!modDirVersion = \"${new}\"!" "$path"
+checksum=$(nix-prefetch "(import ${nixpkgs} {}).linuxPackages_zen.kernel")
+sed -i -e "s!sha256 = \".*\"!sha256 = \"${checksum}\"!" "$path"
+
+git commit -m "linux_zen: ${old} -> ${new}" $path
diff --git a/nixpkgs/pkgs/os-specific/linux/kexectools/default.nix b/nixpkgs/pkgs/os-specific/linux/kexec-tools/default.nix
index 21d803e2b721..21d803e2b721 100644
--- a/nixpkgs/pkgs/os-specific/linux/kexectools/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kexec-tools/default.nix
diff --git a/nixpkgs/pkgs/os-specific/linux/libcap/default.nix b/nixpkgs/pkgs/os-specific/linux/libcap/default.nix
index 47fa7c05e792..2f12d2fea38c 100644
--- a/nixpkgs/pkgs/os-specific/linux/libcap/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/libcap/default.nix
@@ -7,11 +7,11 @@ assert usePam -> pam != null;
 
 stdenv.mkDerivation rec {
   pname = "libcap";
-  version = "2.48";
+  version = "2.49";
 
   src = fetchurl {
     url = "mirror://kernel/linux/libs/security/linux-privs/libcap2/${pname}-${version}.tar.xz";
-    sha256 = "sha256-TelZDuCah8KC1Vhzf/tbYXXMv9JtWArdEN9E0PBH9sI=";
+    sha256 = "sha256-6YvE2TZFCC7Hh3MLD9GnErOIgkZcUFd33hfDOIMe4YE=";
   };
 
   outputs = [ "out" "dev" "lib" "man" "doc" ]
diff --git a/nixpkgs/pkgs/os-specific/linux/libfabric/default.nix b/nixpkgs/pkgs/os-specific/linux/libfabric/default.nix
index 9a1e44f6af99..2abe07b0964e 100644
--- a/nixpkgs/pkgs/os-specific/linux/libfabric/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/libfabric/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libfabric";
-  version = "1.12.1";
+  version = "1.13.0";
 
   enableParallelBuilding = true;
 
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     owner = "ofiwg";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-J2PoDwjPWYpagX4M2k9E1xitBzgRUZzwX9Gf00H+Tdc=";
+    sha256 = "sha256-felGKpdihOi4TCp95T1ti7fErQVphP0vYGRKEwlQt4Q=";
   };
 
   nativeBuildInputs = [ pkg-config autoreconfHook ] ;
diff --git a/nixpkgs/pkgs/os-specific/linux/lttng-modules/default.nix b/nixpkgs/pkgs/os-specific/linux/lttng-modules/default.nix
index 7f4036c775ff..e5645438567a 100644
--- a/nixpkgs/pkgs/os-specific/linux/lttng-modules/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/lttng-modules/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "lttng-modules-${kernel.version}";
-  version = "2.12.6";
+  version = "2.13.0";
 
   src = fetchurl {
     url = "https://lttng.org/files/lttng-modules/lttng-modules-${version}.tar.bz2";
-    sha256 = "sha256-lawqLPkthdI/+9rKah7A18FnIR0eD7hQq5AASj9HXqo=";
+    sha256 = "0mikc3fdjd0w6rrcyksjzmv0czvgba6yk8dfmz4a3cr8s4y2pgsy";
   };
 
   buildInputs = kernel.moduleBuildDependencies;
diff --git a/nixpkgs/pkgs/os-specific/linux/lvm2/default.nix b/nixpkgs/pkgs/os-specific/linux/lvm2/default.nix
index d822ceed714c..2e52e49639e2 100644
--- a/nixpkgs/pkgs/os-specific/linux/lvm2/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/lvm2/default.nix
@@ -4,7 +4,7 @@
 , pkg-config
 , util-linux
 , libuuid
-, thin-provisioning-tools, libaio
+, libaio
 , enableCmdlib ? false
 , enableDmeventd ? false
 , udev ? null
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ udev libuuid thin-provisioning-tools libaio ];
+  buildInputs = [ udev libuuid libaio ];
 
   configureFlags = [
     "--disable-readline"
diff --git a/nixpkgs/pkgs/os-specific/linux/mcelog/default.nix b/nixpkgs/pkgs/os-specific/linux/mcelog/default.nix
index b20632be334c..85e4065e90a4 100644
--- a/nixpkgs/pkgs/os-specific/linux/mcelog/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/mcelog/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mcelog";
-  version = "175";
+  version = "178";
 
   src = fetchFromGitHub {
     owner  = "andikleen";
     repo   = "mcelog";
     rev    = "v${version}";
-    sha256 = "sha256-Xzbck/nRdTR9H5o2XVFlFdNLz2ve65KEcefKAKe0eW8=";
+    sha256 = "sha256-++R/R3oRw0O0MoDnASdVr9UIiI0yS4UcIO8nV62PLzE=";
   };
 
   postPatch = ''
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
       errors are logged to /var/log/mcelog or syslog or the journal.
     '';
     homepage = "http://mcelog.org/";
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/musl/default.nix b/nixpkgs/pkgs/os-specific/linux/musl/default.nix
index ae175a363241..f19c7ea7a44b 100644
--- a/nixpkgs/pkgs/os-specific/linux/musl/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/musl/default.nix
@@ -82,6 +82,7 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "dev" ];
 
   dontDisableStatic = true;
+  dontAddStaticConfigureFlags = true;
   separateDebugInfo = true;
 
   NIX_DONT_SET_RPATH = true;
diff --git a/nixpkgs/pkgs/os-specific/linux/net-tools/default.nix b/nixpkgs/pkgs/os-specific/linux/net-tools/default.nix
index c9410c27df96..9630b5c0c7a1 100644
--- a/nixpkgs/pkgs/os-specific/linux/net-tools/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/net-tools/default.nix
@@ -24,6 +24,7 @@ stdenv.mkDerivation rec {
     "HAVE_SERIAL_TOOLS=1"
     "HAVE_HOSTNAME_TOOLS=1"
     "HAVE_HOSTNAME_SYMLINKS=1"
+    "HAVE_MII=1"
   ];
 
   meta = {
diff --git a/nixpkgs/pkgs/os-specific/linux/nftables/default.nix b/nixpkgs/pkgs/os-specific/linux/nftables/default.nix
index f5fdee14c15e..e0e69adb4b6b 100644
--- a/nixpkgs/pkgs/os-specific/linux/nftables/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/nftables/default.nix
@@ -10,12 +10,12 @@
 with lib;
 
 stdenv.mkDerivation rec {
-  version = "0.9.9";
+  version = "1.0.0";
   pname = "nftables";
 
   src = fetchurl {
     url = "https://netfilter.org/projects/nftables/files/${pname}-${version}.tar.bz2";
-    sha256 = "1d7iwc8xlyfsbgn6qx1sdfcq7jhpl8wpfj39hcd06y8dzp3jvvvn";
+    sha256 = "1x25zs2czmn14mmq1nqi4zibsvh04vqjbx5lxj42nylnmxym9gsq";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh b/nixpkgs/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh
index 69e0dee1d20c..b58c3b60bf9a 100755
--- a/nixpkgs/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh
+++ b/nixpkgs/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh
@@ -4,6 +4,7 @@ if [ -x "@runtimeShell@" ]; then export SHELL="@runtimeShell@"; fi;
 
 set -e
 set -o pipefail
+shopt -s inherit_errexit
 
 export PATH=@path@:$PATH
 
@@ -25,7 +26,7 @@ rollback=
 upgrade=
 upgrade_all=
 profile=/nix/var/nix/profiles/system
-buildHost=
+buildHost=localhost
 targetHost=
 maybeSudo=()
 
@@ -519,7 +520,7 @@ if [ "$action" = switch -o "$action" = boot -o "$action" = test -o "$action" = d
 fi
 
 
-if [ "$action" = build-vm ]; then
+if [ "$action" = build-vm -o "$action" = build-vm-with-bootloader ]; then
     cat >&2 <<EOF
 
 Done.  The virtual machine can be started by running $(echo $pathToConfig/bin/run-*-vm)
diff --git a/nixpkgs/pkgs/os-specific/linux/nvidia-x11/builder.sh b/nixpkgs/pkgs/os-specific/linux/nvidia-x11/builder.sh
index e6ad62b1128d..51bd4d725a8b 100755
--- a/nixpkgs/pkgs/os-specific/linux/nvidia-x11/builder.sh
+++ b/nixpkgs/pkgs/os-specific/linux/nvidia-x11/builder.sh
@@ -17,10 +17,8 @@ buildPhase() {
         # Create the module.
         echo "Building linux driver against kernel: $kernel";
         cd kernel
-        sysSrc=$(echo $kernel/lib/modules/$kernelVersion/source)
-        sysOut=$(echo $kernel/lib/modules/$kernelVersion/build)
         unset src # used by the nv makefile
-        make IGNORE_PREEMPT_RT_PRESENCE=1 NV_BUILD_SUPPORTS_HMM=1 SYSSRC=$sysSrc SYSOUT=$sysOut module -j$NIX_BUILD_CORES
+        make $makeFlags -j $NIX_BUILD_CORES module
 
         cd ..
     fi
@@ -46,11 +44,17 @@ installPhase() {
     fi
 
     # Install systemd power management executables
+    if [ -e systemd/nvidia-sleep.sh ]; then
+        mv systemd/nvidia-sleep.sh ./
+    fi
     if [ -e nvidia-sleep.sh ]; then
         sed -E 's#(PATH=).*#\1"$PATH"#' nvidia-sleep.sh > nvidia-sleep.sh.fixed
         install -Dm755 nvidia-sleep.sh.fixed $out/bin/nvidia-sleep.sh
     fi
 
+    if [ -e systemd/system-sleep/nvidia ]; then
+        mv systemd/system-sleep/nvidia ./
+    fi
     if [ -e nvidia ]; then
         sed -E "s#/usr(/bin/nvidia-sleep.sh)#$out\\1#" nvidia > nvidia.fixed
         install -Dm755 nvidia.fixed $out/lib/systemd/system-sleep/nvidia
diff --git a/nixpkgs/pkgs/os-specific/linux/nvidia-x11/default.nix b/nixpkgs/pkgs/os-specific/linux/nvidia-x11/default.nix
index 2cf9cddef4d6..7dccdccaf7b8 100644
--- a/nixpkgs/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/nixpkgs/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 = "460.73.01";
-      sha256_64bit = "120ymf59l6nipczszf82lrm2p4ihhqyv2pfwwfg9wy96vqcckc8i";
-      settingsSha256 = "08jh7g34p9yxv5fh1cw0r2pjx65ryiv3w2lk1qg0gxn2r7xypkx0";
-      persistencedSha256 = "040gx4wqp3hxcfb4aba4sl7b01ixr5slhzw0xldwcqlmhpwqphi5";
+      version = "470.63.01";
+      sha256_64bit = "sha256:057dsc0j3136r5gc08id3rwz9c0x7i01xkcwfk77vqic9b6486kg";
+      settingsSha256 = "sha256:0lizp4hn49yvca2yd76yh3awld98pkaa35a067lpcld35vb5brgv";
+      persistencedSha256 = "sha256:1f3gdpa23ipjy2xwf7qnxmw7w8xxhqy25rmcz34xkngjf4fn4pbs";
     }
     else legacy_390;
 
diff --git a/nixpkgs/pkgs/os-specific/linux/nvidia-x11/generic.nix b/nixpkgs/pkgs/os-specific/linux/nvidia-x11/generic.nix
index 2d325ab3d565..282d9728821e 100644
--- a/nixpkgs/pkgs/os-specific/linux/nvidia-x11/generic.nix
+++ b/nixpkgs/pkgs/os-specific/linux/nvidia-x11/generic.nix
@@ -75,6 +75,13 @@ let
     kernel = if libsOnly then null else kernel.dev;
     kernelVersion = if libsOnly then null else kernel.modDirVersion;
 
+    makeFlags = optionals (!libsOnly) (kernel.makeFlags ++ [
+      "IGNORE_PREEMPT_RT_PRESENCE=1"
+      "NV_BUILD_SUPPORTS_HMM=1"
+      "SYSSRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source"
+      "SYSOUT=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
+    ]);
+
     hardeningDisable = [ "pic" "format" ];
 
     dontStrip = true;
diff --git a/nixpkgs/pkgs/os-specific/linux/nvidia-x11/persistenced.nix b/nixpkgs/pkgs/os-specific/linux/nvidia-x11/persistenced.nix
index 9a3daa3d2705..5276dfd2aff4 100644
--- a/nixpkgs/pkgs/os-specific/linux/nvidia-x11/persistenced.nix
+++ b/nixpkgs/pkgs/os-specific/linux/nvidia-x11/persistenced.nix
@@ -21,6 +21,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ m4 ];
   buildInputs = [ libtirpc ];
 
+  inherit (nvidia_x11) makeFlags;
+
   installFlags = [ "PREFIX=$(out)" ];
 
   postFixup = ''
diff --git a/nixpkgs/pkgs/os-specific/linux/nvidia-x11/settings.nix b/nixpkgs/pkgs/os-specific/linux/nvidia-x11/settings.nix
index d5bbf40e2b8a..873e09df8dfb 100644
--- a/nixpkgs/pkgs/os-specific/linux/nvidia-x11/settings.nix
+++ b/nixpkgs/pkgs/os-specific/linux/nvidia-x11/settings.nix
@@ -24,7 +24,7 @@ let
       cd src/libXNVCtrl
     '';
 
-    makeFlags = [
+    makeFlags = nvidia_x11.makeFlags ++ [
       "OUTPUTDIR=." # src/libXNVCtrl
     ];
 
@@ -51,7 +51,7 @@ stdenv.mkDerivation {
              ++ lib.optionals withGtk3 [ gtk3 librsvg wrapGAppsHook ];
 
   enableParallelBuilding = true;
-  makeFlags = [ "NV_USE_BUNDLED_LIBJANSSON=0" ];
+  makeFlags = nvidia_x11.makeFlags ++ [ "NV_USE_BUNDLED_LIBJANSSON=0" ];
   installFlags = [ "PREFIX=$(out)" ];
 
   postPatch = lib.optionalString nvidia_x11.useProfiles ''
@@ -61,7 +61,7 @@ stdenv.mkDerivation {
   preBuild = ''
     if [ -e src/libXNVCtrl/libXNVCtrl.a ]; then
       ( cd src/libXNVCtrl
-        make
+        make $makeFlags
       )
     fi
   '';
diff --git a/nixpkgs/pkgs/os-specific/linux/odp-dpdk/default.nix b/nixpkgs/pkgs/os-specific/linux/odp-dpdk/default.nix
index 5e2284b489c7..66b39b2c89e6 100644
--- a/nixpkgs/pkgs/os-specific/linux/odp-dpdk/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/odp-dpdk/default.nix
@@ -7,15 +7,18 @@
       url = "https://fast.dpdk.org/rel/dpdk-${version}.tar.xz";
       sha256 = "sha256-RnEzlohDZ3uxwna7dKNFiqfAAswh4pXFHjvWVJexEqs=";
     };
+    mesonFlags = old.mesonFlags ++ [
+      "-Denable_docs=false"
+    ];
   });
 
 in stdenv.mkDerivation rec {
   pname = "odp-dpdk";
-  version = "1.27.0.0_DPDK_19.11";
+  version = "1.30.1.0_DPDK_19.11";
 
   src = fetchurl {
     url = "https://git.linaro.org/lng/odp-dpdk.git/snapshot/${pname}-${version}.tar.gz";
-    sha256 = "sha256-/4m2NqnEXyenNUrCq3c2ozJzPWFFs/Qp7MAVm9B2biA=";
+    sha256 = "sha256-R3PsqQiHlHPzIYYWTVEC7Ikg3KR5I0jWGgftDA9Jj1o=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/os-specific/linux/ofp/default.nix b/nixpkgs/pkgs/os-specific/linux/ofp/default.nix
deleted file mode 100644
index 5defafeba805..000000000000
--- a/nixpkgs/pkgs/os-specific/linux/ofp/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook
-, openssl, libpcap, odp-dpdk, dpdk
-}:
-
-stdenv.mkDerivation rec {
-  pname = "ofp";
-  version = "2.0.0";
-
-  src = fetchFromGitHub {
-    owner = "OpenFastPath";
-    repo = "ofp";
-    rev = version;
-    sha256 = "05902593fycgkwzk5g7wzgk0k40nrrgybplkdka3rqnlj6aydhqf";
-  };
-
-  nativeBuildInputs = [ pkg-config autoreconfHook ];
-  buildInputs = [ openssl libpcap odp-dpdk dpdk ];
-
-  dontDisableStatic = true;
-
-  postPatch = ''
-    substituteInPlace configure.ac --replace m4_esyscmd m4_esyscmd_s
-    substituteInPlace scripts/git_hash.sh --replace /bin/bash ${stdenv.shell}
-    echo ${version} > .scmversion
-  '';
-
-  configureFlags = [
-    "--with-odp=${odp-dpdk}"
-    "--with-odp-lib=odp-dpdk"
-    "--disable-shared"
-  ];
-
-  meta = with lib; {
-    description = "High performance TCP/IP stack";
-    homepage = "http://www.openfastpath.org";
-    license = licenses.bsd3;
-    platforms =  [ "x86_64-linux" ];
-    maintainers = [ maintainers.abuibrahim ];
-    broken = true;
-  };
-}
diff --git a/nixpkgs/pkgs/os-specific/linux/openrazer/driver.nix b/nixpkgs/pkgs/os-specific/linux/openrazer/driver.nix
index 07113e628625..6e387de0719f 100644
--- a/nixpkgs/pkgs/os-specific/linux/openrazer/driver.nix
+++ b/nixpkgs/pkgs/os-specific/linux/openrazer/driver.nix
@@ -30,11 +30,13 @@ stdenv.mkDerivation (common // {
     install -m 644 -v -D install_files/udev/99-razer.rules $RAZER_RULES_OUT
     install -m 755 -v -D install_files/udev/razer_mount $RAZER_MOUNT_OUT
     substituteInPlace $RAZER_RULES_OUT \
-      --replace razer_mount $RAZER_MOUNT_OUT
+      --replace razer_mount $RAZER_MOUNT_OUT \
+      --replace plugdev openrazer
     substituteInPlace $RAZER_MOUNT_OUT \
       --replace /usr/bin/logger ${util-linux}/bin/logger \
       --replace chgrp ${coreutils}/bin/chgrp \
-      --replace "PATH='/sbin:/bin:/usr/sbin:/usr/bin'" ""
+      --replace "PATH='/sbin:/bin:/usr/sbin:/usr/bin'" "" \
+      --replace plugdev openrazer
 
     runHook postInstall
   '';
diff --git a/nixpkgs/pkgs/os-specific/linux/openvswitch/default.nix b/nixpkgs/pkgs/os-specific/linux/openvswitch/default.nix
index 5faccc14ce76..e2346cca95c7 100644
--- a/nixpkgs/pkgs/os-specific/linux/openvswitch/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/openvswitch/default.nix
@@ -8,12 +8,12 @@ let
   _kernel = kernel;
   pythonEnv = python3.withPackages (ps: with ps; [ six ]);
 in stdenv.mkDerivation rec {
-  version = "2.14.2";
+  version = "2.15.1";
   pname = "openvswitch";
 
   src = fetchurl {
     url = "https://www.openvswitch.org/releases/${pname}-${version}.tar.gz";
-    sha256 = "sha256-ZfQg+VTiUNiV+y2yKhMuHLVgvF4rkFHoNFETSBCOWXo=";
+    sha256 = "0vgijwycf3wvzv9v811jrfr5rlwmihlxwpf16spl6k9n6zaswysw";
   };
 
   kernel = optional (_kernel != null) _kernel.dev;
diff --git a/nixpkgs/pkgs/os-specific/linux/pcm/default.nix b/nixpkgs/pkgs/os-specific/linux/pcm/default.nix
index c0b8b59ebb51..e3e723399346 100644
--- a/nixpkgs/pkgs/os-specific/linux/pcm/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/pcm/default.nix
@@ -1,14 +1,14 @@
 { lib, stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
-  version = "202101";
+  version = "202107";
   pname = "pcm";
 
   src = fetchFromGitHub {
     owner = "opcm";
     repo = "pcm";
     rev = version;
-    sha256 = "sha256-xiC9XDuFcAzD2lVuzBWUvHy1Z1shEXM2KPFabKvgh1Y=";
+    sha256 = "sha256-2fN+jS6+BpodjjN+TV67uiNgZ0eblWjzbyU3CDp9ee0=";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/os-specific/linux/ply/default.nix b/nixpkgs/pkgs/os-specific/linux/ply/default.nix
index e62716e47967..916aa39eee22 100644
--- a/nixpkgs/pkgs/os-specific/linux/ply/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/ply/default.nix
@@ -1,19 +1,16 @@
 { lib, stdenv, kernel, fetchFromGitHub, autoreconfHook, bison, flex, p7zip, rsync }:
 
-assert kernel != null -> lib.versionAtLeast kernel.version "4.0";
-
-let
-  version = "1.0.beta1-9e810b1";
-in stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "ply";
-  inherit version;
+  version = "2.1.1-${lib.substring 0 7 src.rev}";
+
   nativeBuildInputs = [ autoreconfHook flex bison p7zip rsync ];
 
   src = fetchFromGitHub {
     owner = "iovisor";
     repo = "ply";
-    rev = "9e810b157ba079c32c430a7d4c6034826982056e";
-    sha256 = "15cp6iczawaqlhsa0af6i37zn5iq53kh6ya8s2hzd018yd7mhg50";
+    rev = "e25c9134b856cc7ffe9f562ff95caf9487d16b59";
+    sha256 = "1178z7vvnjwnlxc98g2962v16878dy7bd0b2njsgn4vqgrnia7i5";
   };
 
   preAutoreconf = ''
@@ -34,9 +31,10 @@ in stdenv.mkDerivation {
   '';
 
   meta = with lib; {
-    description = "dynamic Tracing in Linux";
+    description = "Dynamic tracing in Linux";
     homepage = "https://wkz.github.io/ply/";
-    license = [ licenses.gpl2 ];
+    license = [ licenses.gpl2Only ];
     maintainers = with maintainers; [ mic92 mbbx6spp ];
+    broken = lib.versionOlder kernel.version "4.0";
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/powertop/default.nix b/nixpkgs/pkgs/os-specific/linux/powertop/default.nix
index bbcf6e390f04..79594a87c515 100644
--- a/nixpkgs/pkgs/os-specific/linux/powertop/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/powertop/default.nix
@@ -1,17 +1,20 @@
-{ lib, stdenv, fetchurl, fetchpatch, gettext, libnl, ncurses, pciutils, pkg-config, zlib }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, gettext, libnl, ncurses, pciutils
+, pkg-config, zlib, autoreconfHook }:
 
 stdenv.mkDerivation rec {
   pname = "powertop";
-  version = "2.13";
+  version = "2.14";
 
-  src = fetchurl {
-    url = "https://01.org/sites/default/files/downloads/${pname}-${version}.tar.gz";
-    sha256 = "0y1ixw8v17fdb1ima0zshrd0rh4zxdh10r93nrrvq6d4lhn9jpx6";
+  src = fetchFromGitHub {
+    owner = "fenrus75";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1zkr2y5nb1nr22nq8a3zli87iyfasfq6489p7h1k428pv8k45w4f";
   };
 
   outputs = [ "out" "man" ];
 
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [ pkg-config autoreconfHook ];
   buildInputs = [ gettext libnl ncurses pciutils zlib ];
 
   patches = lib.optional stdenv.hostPlatform.isMusl (
@@ -22,6 +25,8 @@ stdenv.mkDerivation rec {
     }
   );
 
+  NIX_LDFLAGS = [ "-lpthread" ];
+
   postPatch = ''
     substituteInPlace src/main.cpp --replace "/sbin/modprobe" "modprobe"
     substituteInPlace src/calibrate/calibrate.cpp --replace "/usr/bin/xset" "xset"
diff --git a/nixpkgs/pkgs/os-specific/linux/psftools/default.nix b/nixpkgs/pkgs/os-specific/linux/psftools/default.nix
index f7bcc2fd6add..6d423be738e7 100644
--- a/nixpkgs/pkgs/os-specific/linux/psftools/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/psftools/default.nix
@@ -1,10 +1,10 @@
 { lib, stdenv, fetchurl }:
 stdenv.mkDerivation rec {
   pname = "psftools";
-  version = "1.0.14";
+  version = "1.1.0";
   src = fetchurl {
     url = "https://www.seasip.info/Unix/PSF/${pname}-${version}.tar.gz";
-    sha256 = "17nia5n5rabbh42gz51c8y53rjwddria4j3wvzk8dd0llj7k1y6w";
+    sha256 = "sha256-P9eIHtEXC55C2rXweJ9Vw93tIspjjQ6MCQ44FJDEook=";
   };
   outputs = ["out" "man" "dev" "lib"];
 
diff --git a/nixpkgs/pkgs/os-specific/linux/raspberrypi-eeprom/default.nix b/nixpkgs/pkgs/os-specific/linux/raspberrypi-eeprom/default.nix
index 5113d3c10704..32378e451e8a 100644
--- a/nixpkgs/pkgs/os-specific/linux/raspberrypi-eeprom/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/raspberrypi-eeprom/default.nix
@@ -28,22 +28,25 @@ stdenvNoCC.mkDerivation rec {
 
     cp rpi-eeprom-config rpi-eeprom-update $out/bin
     cp -r firmware/{beta,critical,old,stable} $out/share/rpi-eeprom
+    cp -P firmware/default firmware/latest $out/share/rpi-eeprom
   '';
 
   fixupPhase = ''
     patchShebangs $out/bin
-    wrapProgram $out/bin/rpi-eeprom-update \
-      --set FIRMWARE_ROOT $out/share/rpi-eeprom \
-      ${lib.optionalString stdenvNoCC.isAarch64 "--set VCMAILBOX ${libraspberrypi}/bin/vcmailbox"} \
-      --prefix PATH : "${lib.makeBinPath ([
-        binutils-unwrapped
-        findutils
-        kmod
-        pciutils
-        (placeholder "out")
-      ] ++ lib.optionals stdenvNoCC.isAarch64 [
-        libraspberrypi
-      ])}"
+    for i in rpi-eeprom-update rpi-eeprom-config; do
+      wrapProgram $out/bin/$i \
+        --set FIRMWARE_ROOT $out/share/rpi-eeprom \
+        ${lib.optionalString stdenvNoCC.isAarch64 "--set VCMAILBOX ${libraspberrypi}/bin/vcmailbox"} \
+        --prefix PATH : "${lib.makeBinPath ([
+          binutils-unwrapped
+          findutils
+          kmod
+          pciutils
+          (placeholder "out")
+        ] ++ lib.optionals stdenvNoCC.isAarch64 [
+          libraspberrypi
+        ])}"
+    done
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/os-specific/linux/rdma-core/default.nix b/nixpkgs/pkgs/os-specific/linux/rdma-core/default.nix
index 25a8f3bdafad..242a4d03811f 100644
--- a/nixpkgs/pkgs/os-specific/linux/rdma-core/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/rdma-core/default.nix
@@ -3,7 +3,7 @@
 } :
 
 let
-  version = "35.0";
+  version = "36.0";
 
 in stdenv.mkDerivation {
   pname = "rdma-core";
@@ -13,7 +13,7 @@ in stdenv.mkDerivation {
     owner = "linux-rdma";
     repo = "rdma-core";
     rev = "v${version}";
-    sha256 = "0ra0m1s0029qgcq0li7md6pkri7pcc4iy3cd6jrrqs9c6n1clnnd";
+    sha256 = "0x3mpwmhln6brwrwix9abdq1bs9zi4qnr3r64vwqk7l6f43mqd30";
   };
 
   nativeBuildInputs = [ cmake pkg-config pandoc docutils ];
diff --git a/nixpkgs/pkgs/os-specific/linux/restool/default.nix b/nixpkgs/pkgs/os-specific/linux/restool/default.nix
new file mode 100644
index 000000000000..4f488c28323e
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/linux/restool/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, lib, fetchgit, bash, coreutils, dtc, file, gawk, gnugrep, gnused }:
+
+stdenv.mkDerivation rec {
+  pname = "restool";
+  version = "20.12";
+
+  src = fetchgit {
+    url = "https://source.codeaurora.org/external/qoriq/qoriq-components/restool";
+    rev = "LSDK-${version}";
+    sha256 = "137xvvms3n4wwb5v2sv70vsib52s3s314306qa0mqpgxf9fb19zl";
+  };
+
+  nativeBuildInputs = [ file ];
+  buildInputs = [ bash coreutils dtc gawk gnugrep gnused ];
+
+  makeFlags = [
+    "prefix=$(out)"
+    "VERSION=${version}"
+  ];
+
+  preFixup = ''
+    # wrapProgram interacts badly with the ls-main tool, which relies on the
+    # shell's $0 argument to figure out which operation to run (busybox-style
+    # symlinks). Instead, inject the environment directly into the shell
+    # scripts we need to wrap.
+    for tool in ls-append-dpl ls-debug ls-main; do
+      sed -i "1 a export PATH=\"$out/bin:${lib.makeBinPath buildInputs}:\$PATH\"" $out/bin/$tool
+    done
+  '';
+
+  meta = with lib; {
+    description = "DPAA2 Resource Management Tool";
+    longDescription = ''
+      restool is a user space application providing the ability to dynamically
+      create and manage DPAA2 containers and objects from Linux.
+    '';
+    homepage = "https://source.codeaurora.org/external/qoriq/qoriq-components/restool/about/";
+    license = licenses.bsd3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ delroth ];
+  };
+}
diff --git a/nixpkgs/pkgs/os-specific/linux/rewritefs/default.nix b/nixpkgs/pkgs/os-specific/linux/rewritefs/default.nix
index 161db99114b8..f7c79106c41d 100644
--- a/nixpkgs/pkgs/os-specific/linux/rewritefs/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/rewritefs/default.nix
@@ -1,18 +1,21 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, fuse, pcre }:
+{ lib, stdenv, fetchFromGitHub, pkg-config, fuse3, fuse, pcre }:
 
 stdenv.mkDerivation {
   pname = "rewritefs";
-  version = "2017-08-14";
+  version = "2020-02-21";
 
   src = fetchFromGitHub {
     owner  = "sloonz";
     repo   = "rewritefs";
-    rev    = "33fb844d8e8ff441a3fc80d2715e8c64f8563d81";
-    sha256 = "15bcxprkxf0xqxljsqhb0jpi7p1vwqcb00sjs7nzrj7vh2p7mqla";
+    rev    = "bc241c7f81e626766786b56cf71d32c1a6ad510c";
+    sha256 = "0zj2560hcbg5az0r8apnv0zz9b22i9r9w6rlih0rbrn673xp7q2i";
   };
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ fuse pcre ];
+  # Note: fuse is needed solely because (unlike fuse3) it exports ulockmgr.h.
+  # This library was removed in fuse 3 to be distributed separately, but
+  # apparently it's not.
+  buildInputs = [ fuse3 fuse pcre ];
 
   prePatch = ''
     # do not set sticky bit in nix store
diff --git a/nixpkgs/pkgs/os-specific/linux/rtl8188eus-aircrack/default.nix b/nixpkgs/pkgs/os-specific/linux/rtl8188eus-aircrack/default.nix
index 93a91f0447a4..100683ed37ba 100644
--- a/nixpkgs/pkgs/os-specific/linux/rtl8188eus-aircrack/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/rtl8188eus-aircrack/default.nix
@@ -29,6 +29,8 @@ stdenv.mkDerivation {
     mkdir -p "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/"
   '';
 
+  enableParallelBuilding = true;
+
   meta = with lib; {
     description = "RealTek RTL8188eus WiFi driver with monitor mode & frame injection support";
     homepage = "https://github.com/aircrack-ng/rtl8188eus";
diff --git a/nixpkgs/pkgs/os-specific/linux/rtl8812au/default.nix b/nixpkgs/pkgs/os-specific/linux/rtl8812au/default.nix
index 43396a99b963..7fa5ee42670d 100644
--- a/nixpkgs/pkgs/os-specific/linux/rtl8812au/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/rtl8812au/default.nix
@@ -42,6 +42,8 @@ stdenv.mkDerivation rec {
     nuke-refs $out/lib/modules/*/kernel/net/wireless/*.ko
   '';
 
+  enableParallelBuilding = true;
+
   meta = with lib; {
     description = "Driver for Realtek 802.11ac, rtl8812au, provides the 8812au mod";
     homepage = "https://github.com/gordboy/rtl8812au-5.9.3.2";
diff --git a/nixpkgs/pkgs/os-specific/linux/rtl8814au/default.nix b/nixpkgs/pkgs/os-specific/linux/rtl8814au/default.nix
index 2b0fb9622a4b..f8c74f9d22e2 100644
--- a/nixpkgs/pkgs/os-specific/linux/rtl8814au/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/rtl8814au/default.nix
@@ -29,6 +29,8 @@ stdenv.mkDerivation {
     mkdir -p "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/"
   '';
 
+  enableParallelBuilding = true;
+
   meta = with lib; {
     description = "Realtek 8814AU USB WiFi driver";
     homepage = "https://github.com/morrownr/8814au";
diff --git a/nixpkgs/pkgs/os-specific/linux/rtl8821au/default.nix b/nixpkgs/pkgs/os-specific/linux/rtl8821au/default.nix
index 08e097b0d5f3..1f7d07f7326d 100644
--- a/nixpkgs/pkgs/os-specific/linux/rtl8821au/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/rtl8821au/default.nix
@@ -34,6 +34,8 @@ stdenv.mkDerivation rec {
     nuke-refs $out/lib/modules/*/kernel/net/wireless/*.ko
   '';
 
+  enableParallelBuilding = true;
+
   meta = with lib; {
     description = "rtl8821AU and rtl8812AU chipset driver with firmware";
     homepage = "https://github.com/morrownr/8821au";
diff --git a/nixpkgs/pkgs/os-specific/linux/rtl8821ce/default.nix b/nixpkgs/pkgs/os-specific/linux/rtl8821ce/default.nix
index b4def6f001ca..27ee57ba7553 100644
--- a/nixpkgs/pkgs/os-specific/linux/rtl8821ce/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/rtl8821ce/default.nix
@@ -28,6 +28,8 @@ stdenv.mkDerivation rec {
     mkdir -p "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/"
   '';
 
+  enableParallelBuilding = true;
+
   meta = with lib; {
     description = "Realtek rtl8821ce driver";
     homepage = "https://github.com/tomaspinho/rtl8821ce";
diff --git a/nixpkgs/pkgs/os-specific/linux/rtl8821cu/default.nix b/nixpkgs/pkgs/os-specific/linux/rtl8821cu/default.nix
index 556fd7939156..2ea555ff0b8a 100644
--- a/nixpkgs/pkgs/os-specific/linux/rtl8821cu/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/rtl8821cu/default.nix
@@ -28,6 +28,8 @@ stdenv.mkDerivation rec {
     mkdir -p "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/"
   '';
 
+  enableParallelBuilding = true;
+
   meta = with lib; {
     description = "Realtek rtl8821cu driver";
     homepage = "https://github.com/morrownr/8821cu";
diff --git a/nixpkgs/pkgs/os-specific/linux/rtl88x2bu/default.nix b/nixpkgs/pkgs/os-specific/linux/rtl88x2bu/default.nix
index 4b194bb2f335..cbd604b72ed1 100644
--- a/nixpkgs/pkgs/os-specific/linux/rtl88x2bu/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/rtl88x2bu/default.nix
@@ -28,6 +28,8 @@ stdenv.mkDerivation rec {
     mkdir -p "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/"
   '';
 
+  enableParallelBuilding = true;
+
   meta = with lib; {
     description = "Realtek rtl88x2bu driver";
     homepage = "https://github.com/morrownr/88x2bu";
diff --git a/nixpkgs/pkgs/os-specific/linux/rtl88xxau-aircrack/default.nix b/nixpkgs/pkgs/os-specific/linux/rtl88xxau-aircrack/default.nix
index d65a601fd9e2..8d3340e16fb3 100644
--- a/nixpkgs/pkgs/os-specific/linux/rtl88xxau-aircrack/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/rtl88xxau-aircrack/default.nix
@@ -40,6 +40,8 @@ stdenv.mkDerivation rec {
     mkdir -p "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/"
   '';
 
+  enableParallelBuilding = true;
+
   meta = with lib; {
     description = "Aircrack-ng kernel module for Realtek 88XXau network cards\n(8811au, 8812au, 8814au and 8821au chipsets) with monitor mode and injection support.";
     homepage = "https://github.com/aircrack-ng/rtl8812au";
diff --git a/nixpkgs/pkgs/os-specific/linux/rtw88/default.nix b/nixpkgs/pkgs/os-specific/linux/rtw88/default.nix
index 423023512408..c3f849df1181 100644
--- a/nixpkgs/pkgs/os-specific/linux/rtw88/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/rtw88/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation {
     license = with licenses; [ bsd3 gpl2Only ];
     maintainers = with maintainers; [ tvorog ];
     platforms = platforms.linux;
-    broken = kernel.kernelOlder "4.14";
+    broken = kernel.kernelOlder "4.14" || kernel.kernelAtLeast "5.14";
     priority = -1;
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/s6-linux-init/default.nix b/nixpkgs/pkgs/os-specific/linux/s6-linux-init/default.nix
index 5d6941259e1b..f618fa7d8daf 100644
--- a/nixpkgs/pkgs/os-specific/linux/s6-linux-init/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/s6-linux-init/default.nix
@@ -4,8 +4,8 @@ with skawarePackages;
 
 buildPackage {
   pname = "s6-linux-init";
-  version = "1.0.6.2";
-  sha256 = "06xcmn2a89fvng056lcnnyrl2ak0y7cblkc90lj9a2liyhawy9dr";
+  version = "1.0.6.3";
+  sha256 = "1idqjcxhl5wgff8yrsvx2812wahjri2hcs7qs6k62g0sdd8niqr9";
 
   description = "A set of minimalistic tools used to create a s6-based init system, including a /sbin/init binary, on a Linux kernel";
   platforms = lib.platforms.linux;
diff --git a/nixpkgs/pkgs/os-specific/linux/systemd/default.nix b/nixpkgs/pkgs/os-specific/linux/systemd/default.nix
index a33bb3c1a1d6..01d2db5b2f1a 100644
--- a/nixpkgs/pkgs/os-specific/linux/systemd/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/systemd/default.nix
@@ -53,8 +53,8 @@
 , libselinux
 , withLibseccomp ? lib.meta.availableOn stdenv.hostPlatform libseccomp
 , libseccomp
-, withKexectools ? lib.meta.availableOn stdenv.hostPlatform kexectools
-, kexectools
+, withKexectools ? lib.meta.availableOn stdenv.hostPlatform kexec-tools
+, kexec-tools
 , bashInteractive
 , libmicrohttpd
 
@@ -308,7 +308,7 @@ stdenv.mkDerivation {
     ++ lib.optionals withCompression [ bzip2 lz4 xz ]
     ++ lib.optional withCryptsetup (lib.getDev cryptsetup.dev)
     ++ lib.optional withEfi gnu-efi
-    ++ lib.optional withKexectools kexectools
+    ++ lib.optional withKexectools kexec-tools
     ++ lib.optional withLibseccomp libseccomp
     ++ lib.optional withNetworkd iptables
     ++ lib.optional withPCRE2 pcre2
diff --git a/nixpkgs/pkgs/os-specific/linux/sysvinit/default.nix b/nixpkgs/pkgs/os-specific/linux/sysvinit/default.nix
index 8f9acdf06626..5ee5b0bda57f 100644
--- a/nixpkgs/pkgs/os-specific/linux/sysvinit/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/sysvinit/default.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, fetchurl, withoutInitTools ? false }:
 
-let version = "2.97"; in
+let version = "2.99"; in
 
 stdenv.mkDerivation {
   name = (if withoutInitTools then "sysvtools" else "sysvinit") + "-" + version;
 
   src = fetchurl {
     url = "mirror://savannah/sysvinit/sysvinit-${version}.tar.xz";
-    sha256 = "042iyayyh3j28vfbypzn822b73r3nfmyn79f9mixigqrfn2rcn9d";
+    sha256 = "sha256-sFw2d7tpiv5kyZeWiwDEmyqb0yDOljUjIw7n6kEZd1c=";
   };
 
   prePatch = ''
diff --git a/nixpkgs/pkgs/os-specific/linux/tuigreet/default.nix b/nixpkgs/pkgs/os-specific/linux/tuigreet/default.nix
index 89dfe85c082d..5911305c0d8b 100644
--- a/nixpkgs/pkgs/os-specific/linux/tuigreet/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/tuigreet/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "tuigreet";
-  version = "0.5.0";
+  version = "0.6.1";
 
   src = fetchFromGitHub {
     owner = "apognu";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Ip/GhpHgTgWFyCdujcCni1CLFDDirUbJuzCj8QiUsFc=";
+    sha256 = "sha256-Exw3HPNFh1yiUfDfaIDiz2PemnVLRmefD4ydgMiHQAc=";
   };
 
-  cargoSha256 = "sha256-G/E/2wjeSY57bQJgrZYUA1sWUwtk5mRavmLwy1EgHRM=";
+  cargoSha256 = "sha256-/JNGyAEZlb4YilsoXtaXekXNVev6sdVxS4pEcPFh7Bg=";
 
   meta = with lib; {
     description = "Graphical console greter for greetd";
diff --git a/nixpkgs/pkgs/os-specific/linux/tuxedo-keyboard/default.nix b/nixpkgs/pkgs/os-specific/linux/tuxedo-keyboard/default.nix
index 17f8b3a28c4e..563e1333b87f 100644
--- a/nixpkgs/pkgs/os-specific/linux/tuxedo-keyboard/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/tuxedo-keyboard/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tuxedo-keyboard-${kernel.version}";
-  version = "3.0.7";
+  version = "3.0.8";
 
   src = fetchFromGitHub {
     owner = "tuxedocomputers";
     repo = "tuxedo-keyboard";
     rev = "v${version}";
-    sha256 = "sha256-JloLwfJfDdVowx1hOehjxPbnaKBCAMn7SZe09SE03HU=";
+    sha256 = "1rv3ns4n61v18cpnp36zi47jpnqhj410yzi8b307ghiyriapbijv";
   };
 
   buildInputs = [ linuxHeaders ];
@@ -17,7 +17,10 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     mkdir -p "$out/lib/modules/${kernel.modDirVersion}"
-    mv src/tuxedo_keyboard.ko $out/lib/modules/${kernel.modDirVersion}
+
+    for module in clevo_acpi.ko clevo_wmi.ko tuxedo_keyboard.ko tuxedo_io/tuxedo_io.ko; do
+        mv src/$module $out/lib/modules/${kernel.modDirVersion}
+    done
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/os-specific/linux/uclibc/default.nix b/nixpkgs/pkgs/os-specific/linux/uclibc/default.nix
index 8dc0d4613f42..a724604c725e 100644
--- a/nixpkgs/pkgs/os-specific/linux/uclibc/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/uclibc/default.nix
@@ -48,7 +48,7 @@ let
     UCLIBC_HAS_FPU n
   '';
 
-  version = "1.0.37";
+  version = "1.0.38";
 in
 
 stdenv.mkDerivation {
@@ -58,7 +58,7 @@ stdenv.mkDerivation {
   src = fetchurl {
     url = "https://downloads.uclibc-ng.org/releases/${version}/uClibc-ng-${version}.tar.bz2";
     # from "${url}.sha256";
-    sha256 = "sha256-wThkkRBA42CskGC8kUlgmxk88Qy2Z8qRfLqD6kP8JY0=";
+    sha256 = "sha256-7wexvOOfDpIsM3XcdhHxESz7GsOW+ZkiA0dfiN5rHrU=";
   };
 
   # 'ftw' needed to build acl, a coreutils dependency
diff --git a/nixpkgs/pkgs/os-specific/linux/usbutils/default.nix b/nixpkgs/pkgs/os-specific/linux/usbutils/default.nix
index fba025b29d94..0e0163c2ae2a 100644
--- a/nixpkgs/pkgs/os-specific/linux/usbutils/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/usbutils/default.nix
@@ -1,11 +1,12 @@
-{ lib, stdenv, fetchurl, substituteAll, autoreconfHook, pkg-config, libusb1, hwdata , python3 }:
+{ lib, stdenv, fetchurl, substituteAll, autoreconfHook, pkg-config, libusb1, hwdata, python3 }:
 
 stdenv.mkDerivation rec {
-  name = "usbutils-013";
+  pname = "usbutils";
+  version = "014";
 
   src = fetchurl {
-    url = "mirror://kernel/linux/utils/usb/usbutils/${name}.tar.xz";
-    sha256 = "0f0klk6d3hmbpf6p4dcwa1qjzblmkhbxs1wsw87aidvqri7lj8wy";
+    url = "mirror://kernel/linux/utils/usb/usbutils/usbutils-${version}.tar.xz";
+    sha256 = "sha256-Ogec+tYFYCJ7ZxkkgteBO/ljJvy7ZsBCVIOXFfJ2/Gk=";
   };
 
   patches = [
@@ -26,6 +27,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "http://www.linux-usb.org/";
     description = "Tools for working with USB devices, such as lsusb";
+    maintainers = with maintainers; [ ];
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
   };
diff --git a/nixpkgs/pkgs/os-specific/linux/v4l2loopback/default.nix b/nixpkgs/pkgs/os-specific/linux/v4l2loopback/default.nix
index 53f37e805fa7..c1aa7be2af6b 100644
--- a/nixpkgs/pkgs/os-specific/linux/v4l2loopback/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/v4l2loopback/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "v4l2loopback";
-  version = "unstable-2020-04-22-${kernel.version}";
+  version = "unstable-2021-07-13-${kernel.version}";
 
   src = fetchFromGitHub {
     owner = "umlaeute";
     repo = "v4l2loopback";
-    rev = "d26e624b4ead762d34152f9f825b3a51fb92fb9c";
-    sha256 = "sha256-OA45vmuVieoL7J83D3TD5qi3SBsiqi0kiQn4i1K6dVE=";
+    rev = "baf9de279afc7a7c7513e9c40a0c9ff88f456af4";
+    sha256 = "sha256-uglYTeqz81fgkKYYU9Cw8x9+S088jGxDEGkb3rmkhrw==";
   };
 
   hardeningDisable = [ "format" "pic" ];
@@ -23,6 +23,12 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ kmod ];
 
+  postInstall = ''
+    make install-utils PREFIX=$bin
+  '';
+
+  outputs = [ "out" "bin" ];
+
   makeFlags = [
     "KERNELRELEASE=${kernel.modDirVersion}"
     "KERNEL_DIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
@@ -34,5 +40,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Only;
     maintainers = with maintainers; [ fortuneteller2k ];
     platforms = platforms.linux;
+    outputsToInstall = [ "out" ];
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/wireguard/default.nix b/nixpkgs/pkgs/os-specific/linux/wireguard/default.nix
index e183b4ac5d4b..32389d27369c 100644
--- a/nixpkgs/pkgs/os-specific/linux/wireguard/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/wireguard/default.nix
@@ -36,6 +36,10 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     inherit (wireguard-tools.meta) homepage license maintainers;
     description = "Kernel module for the WireGuard secure network tunnel";
+    longDescription = ''
+      Backport of WireGuard for kernels 3.10 to 5.5, as an out of tree module.
+      (as WireGuard was merged into the Linux kernel for 5.6)
+    '';
     downloadPage = "https://git.zx2c4.com/wireguard-linux-compat/refs/";
     platforms = platforms.linux;
   };
diff --git a/nixpkgs/pkgs/os-specific/linux/wooting-udev-rules/default.nix b/nixpkgs/pkgs/os-specific/linux/wooting-udev-rules/default.nix
index f1ae20692353..f34e106727c1 100644
--- a/nixpkgs/pkgs/os-specific/linux/wooting-udev-rules/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/wooting-udev-rules/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "wooting-udev-rules";
-  version = "20190601";
+  version = "20210525";
 
   # Source: https://wooting.helpscoutdocs.com/article/68-wootility-configuring-device-access-for-wootility-under-linux-udev-rules
   src = [ ./wooting.rules ];
diff --git a/nixpkgs/pkgs/os-specific/linux/wooting-udev-rules/wooting.rules b/nixpkgs/pkgs/os-specific/linux/wooting-udev-rules/wooting.rules
index d906df3d4c6a..fa4148d87438 100644
--- a/nixpkgs/pkgs/os-specific/linux/wooting-udev-rules/wooting.rules
+++ b/nixpkgs/pkgs/os-specific/linux/wooting-udev-rules/wooting.rules
@@ -7,3 +7,8 @@ SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2402", MODE:="0
 SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="ff02", MODE:="0660", GROUP="input"
 # Wooting Two update mode
 SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2403", MODE:="0660", GROUP="input"
+
+# Wooting Two Lekker Edition
+SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1210", MODE:="0660", GROUP="input"
+# Wooting Two Lekker Edition update mode
+SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="121f", MODE:="0660", GROUP="input"
diff --git a/nixpkgs/pkgs/os-specific/linux/xmm7360-pci/default.nix b/nixpkgs/pkgs/os-specific/linux/xmm7360-pci/default.nix
index 115299ff50bd..221bde981b65 100644
--- a/nixpkgs/pkgs/os-specific/linux/xmm7360-pci/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/xmm7360-pci/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
     license = licenses.isc;
     maintainers = with maintainers; [ flokli hexa ];
     platforms = platforms.linux;
+    broken = kernel.kernelAtLeast "5.14";
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/zenmonitor/default.nix b/nixpkgs/pkgs/os-specific/linux/zenmonitor/default.nix
index 43cfd87cba53..603cdf7ceec7 100644
--- a/nixpkgs/pkgs/os-specific/linux/zenmonitor/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/zenmonitor/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zenmonitor";
-  version = "1.4.2";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
-    owner = "ocerman";
-    repo = "zenmonitor";
+    owner = "Ta180m";
+    repo = "zenmonitor3";
     rev = "v${version}";
-    sha256 = "0smv94vi36hziw42gasivyw25h5n1sgwwk1cv78id5g85w0kw246";
+    sha256 = "sha256-dbjLpfflIsEU+wTApghJYBPxBXqS/7MJqcMBcj50o6I=";
   };
 
   buildInputs = [ gtk3 ];
@@ -18,9 +18,9 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Monitoring software for AMD Zen-based CPUs";
-    homepage = "https://github.com/ocerman/zenmonitor";
+    homepage = "https://github.com/Ta180m/zenmonitor3";
     license = licenses.mit;
     platforms = [ "i686-linux" "x86_64-linux" ];
-    maintainers = with maintainers; [ alexbakker ];
+    maintainers = with maintainers; [ alexbakker artturin ];
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/zenpower/default.nix b/nixpkgs/pkgs/os-specific/linux/zenpower/default.nix
index af59ec8e37bf..f3f6e420a2a2 100644
--- a/nixpkgs/pkgs/os-specific/linux/zenpower/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/zenpower/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zenpower";
-  version = "0.1.12";
+  version = "0.1.13";
 
   src = fetchFromGitHub {
-    owner = "ocerman";
-    repo = "zenpower";
+    owner = "Ta180m";
+    repo = "zenpower3";
     rev = "v${version}";
-    sha256 = "116yrw4ygh3fqwhniaqq0nps29pq87mi2q1375f1ylkfiak8n63a";
+    sha256 = "sha256-2QScHDwOKN3Psui0M2s2p6D97jjbfe3Us5Nkn2srKC0=";
   };
 
   hardeningDisable = [ "pic" ];
@@ -23,9 +23,9 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Linux kernel driver for reading temperature, voltage(SVI2), current(SVI2) and power(SVI2) for AMD Zen family CPUs.";
-    homepage = "https://github.com/ocerman/zenpower";
+    homepage = "https://github.com/Ta180m/zenpower3";
     license = licenses.gpl2;
-    maintainers = with maintainers; [ alexbakker ];
+    maintainers = with maintainers; [ alexbakker artturin ];
     platforms = [ "x86_64-linux" ];
     broken = versionOlder kernel.version "4.14";
   };
diff --git a/nixpkgs/pkgs/os-specific/linux/zenstates/default.nix b/nixpkgs/pkgs/os-specific/linux/zenstates/default.nix
index a56337cfef22..8e31073151ba 100644
--- a/nixpkgs/pkgs/os-specific/linux/zenstates/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/zenstates/default.nix
@@ -35,8 +35,6 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ python3 ];
 
-  phases = [ "installPhase" ];
-
   installPhase = ''
     mkdir -p $out/bin
     cp $src/zenstates.py $out/bin/zenstates
diff --git a/nixpkgs/pkgs/os-specific/linux/zfs/default.nix b/nixpkgs/pkgs/os-specific/linux/zfs/default.nix
index 7784aa8e03fe..bf45a5037616 100644
--- a/nixpkgs/pkgs/os-specific/linux/zfs/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/zfs/default.nix
@@ -14,6 +14,9 @@
 # Kernel dependencies
 , kernel ? null
 , enablePython ? true
+
+# for determining the latest compatible linuxPackages
+, linuxPackages_5_13
 }:
 
 with lib;
@@ -23,14 +26,23 @@ let
   buildKernel = any (n: n == configFile) [ "kernel" "all" ];
   buildUser = any (n: n == configFile) [ "user" "all" ];
 
+  # XXX: You always want to build kernel modules with the same stdenv as the
+  # kernel was built with. However, since zfs can also be built for userspace we
+  # need to correctly pick between the provided/default stdenv, and the one used
+  # by the kernel.
+  # If you don't do this your ZFS builds will fail on any non-standard (e.g.
+  # clang-built) kernels.
+  stdenv' = if kernel == null then stdenv else kernel.stdenv;
+
   common = { version
     , sha256
     , extraPatches ? []
     , rev ? "zfs-${version}"
     , isUnstable ? false
+    , latestCompatibleLinuxPackages
     , kernelCompatible ? null }:
 
-    stdenv.mkDerivation {
+    stdenv'.mkDerivation {
       name = "zfs-${configFile}-${version}${optionalString buildKernel "-${kernel.version}"}";
 
       src = fetchFromGitHub {
@@ -161,7 +173,7 @@ let
       outputs = [ "out" ] ++ optionals buildUser [ "dev" ];
 
       passthru = {
-        inherit enableMail;
+        inherit enableMail latestCompatibleLinuxPackages;
 
         tests =
           if isUnstable then [
@@ -196,6 +208,7 @@ in {
   zfsStable = common {
     # check the release notes for compatible kernels
     kernelCompatible = kernel.kernelAtLeast "3.10" && kernel.kernelOlder "5.14";
+    latestCompatibleLinuxPackages = linuxPackages_5_13;
 
     # this package should point to the latest release.
     version = "2.1.0";
@@ -205,12 +218,14 @@ in {
 
   zfsUnstable = common {
     # check the release notes for compatible kernels
-    kernelCompatible = kernel.kernelAtLeast "3.10" && kernel.kernelOlder "5.14";
+    kernelCompatible = kernel.kernelAtLeast "3.10" && kernel.kernelOlder "5.15";
+    latestCompatibleLinuxPackages = linuxPackages_5_13;
 
     # this package should point to a version / git revision compatible with the latest kernel release
-    version = "2.1.0";
+    version = "unstable-2021-08-30";
+    rev = "3b89d9518df2c7fd747e349873a3d4d498beb20e";
 
-    sha256 = "sha256-YdY4SStXZGBBdAHdM3R/unco7ztxI3s0/buPSNSeh5o=";
+    sha256 = "sha256-wVbjpVrPQmhJmMqdGUf0IwlCIoOsT7Zfj5lxSKcOsgg=";
 
     isUnstable = true;
   };
diff --git a/nixpkgs/pkgs/os-specific/windows/jom/default.nix b/nixpkgs/pkgs/os-specific/windows/jom/default.nix
index a2fbdde95aa9..f3a953576ec9 100644
--- a/nixpkgs/pkgs/os-specific/windows/jom/default.nix
+++ b/nixpkgs/pkgs/os-specific/windows/jom/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
   '';
 
   meta = {
-    homepage = "http://qt-project.org/wiki/jom";
+    homepage = "https://qt-project.org/wiki/jom";
     description = "Clone of nmake supporting multiple independent commands in parallel";
     license = lib.licenses.gpl2Plus; # Explicitly, GPLv2 or GPLv3, but not later.
   };
diff --git a/nixpkgs/pkgs/pkgs-lib/formats.nix b/nixpkgs/pkgs/pkgs-lib/formats.nix
index 4d5395664612..5e17519d4ce1 100644
--- a/nixpkgs/pkgs/pkgs-lib/formats.nix
+++ b/nixpkgs/pkgs/pkgs-lib/formats.nix
@@ -38,7 +38,7 @@ rec {
       };
     in valueType;
 
-    generate = name: value: pkgs.runCommandNoCC name {
+    generate = name: value: pkgs.runCommand name {
       nativeBuildInputs = [ pkgs.jq ];
       value = builtins.toJSON value;
       passAsFile = [ "value" ];
@@ -48,14 +48,31 @@ rec {
 
   };
 
-  # YAML has been a strict superset of JSON since 1.2
-  yaml = {}:
-    let jsonSet = json {};
-    in jsonSet // {
-      type = jsonSet.type // {
+  yaml = {}: {
+
+    generate = name: value: pkgs.runCommand name {
+        nativeBuildInputs = [ pkgs.remarshal ];
+        value = builtins.toJSON value;
+        passAsFile = [ "value" ];
+      } ''
+        json2yaml "$valuePath" "$out"
+      '';
+
+    type = with lib.types; let
+      valueType = nullOr (oneOf [
+        bool
+        int
+        float
+        str
+        path
+        (attrsOf valueType)
+        (listOf valueType)
+      ]) // {
         description = "YAML value";
       };
-    };
+    in valueType;
+
+  };
 
   ini = {
     # Represents lists as duplicate keys
@@ -121,7 +138,7 @@ rec {
       };
     in valueType;
 
-    generate = name: value: pkgs.runCommandNoCC name {
+    generate = name: value: pkgs.runCommand name {
       nativeBuildInputs = [ pkgs.remarshal ];
       value = builtins.toJSON value;
       passAsFile = [ "value" ];
diff --git a/nixpkgs/pkgs/pkgs-lib/tests/formats.nix b/nixpkgs/pkgs/pkgs-lib/tests/formats.nix
index 679fde015228..2bc4e407fe75 100644
--- a/nixpkgs/pkgs/pkgs-lib/tests/formats.nix
+++ b/nixpkgs/pkgs/pkgs-lib/tests/formats.nix
@@ -14,7 +14,7 @@ let
       }) [ def ]);
     in formatSet.generate "test-format-file" config;
 
-  runBuildTest = name: { drv, expected }: pkgs.runCommandNoCC name {} ''
+  runBuildTest = name: { drv, expected }: pkgs.runCommand name {} ''
     if diff -u '${builtins.toFile "expected" expected}' '${drv}'; then
       touch "$out"
     else
@@ -72,21 +72,17 @@ in runBuildTests {
       path = ./formats.nix;
     };
     expected = ''
-      {
-        "attrs": {
-          "foo": null
-        },
-        "false": false,
-        "float": 3.141,
-        "list": [
-          null,
-          null
-        ],
-        "null": null,
-        "path": "${./formats.nix}",
-        "str": "foo",
-        "true": true
-      }
+      attrs:
+        foo: null
+      'false': false
+      float: 3.141
+      list:
+      - null
+      - null
+      'null': null
+      path: ${./formats.nix}
+      str: foo
+      'true': true
     '';
   };
 
diff --git a/nixpkgs/pkgs/servers/adguardhome/default.nix b/nixpkgs/pkgs/servers/adguardhome/default.nix
index f9f164dd7646..009b64666002 100644
--- a/nixpkgs/pkgs/servers/adguardhome/default.nix
+++ b/nixpkgs/pkgs/servers/adguardhome/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "adguardhome";
+  pname = "adguardhome";
   version = "0.106.3";
 
   src = fetchurl {
diff --git a/nixpkgs/pkgs/servers/amqp/rabbitmq-server/default.nix b/nixpkgs/pkgs/servers/amqp/rabbitmq-server/default.nix
index c2d13b00aa83..33541da86b28 100644
--- a/nixpkgs/pkgs/servers/amqp/rabbitmq-server/default.nix
+++ b/nixpkgs/pkgs/servers/amqp/rabbitmq-server/default.nix
@@ -1,24 +1,42 @@
-{ lib, stdenv, fetchurl, erlang, elixir, python, libxml2, libxslt, xmlto
-, docbook_xml_dtd_45, docbook_xsl, zip, unzip, rsync, getconf, socat
-, procps, coreutils, gnused, systemd, glibcLocales
-, AppKit, Carbon, Cocoa
+{ lib
+, stdenv
+, fetchurl
+, erlang
+, elixir
+, python
+, libxml2
+, libxslt
+, xmlto
+, docbook_xml_dtd_45
+, docbook_xsl
+, zip
+, unzip
+, rsync
+, getconf
+, socat
+, procps
+, coreutils
+, gnused
+, systemd
+, glibcLocales
+, AppKit
+, Carbon
+, Cocoa
 , nixosTests
 }:
 
 stdenv.mkDerivation rec {
   pname = "rabbitmq-server";
-
-  version = "3.8.9";
+  version = "3.9.4";
 
   # 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 = "0b252l9r45h8r5gibdqcn6hhbm8g6rfzhm1k9d39pwhs5x77cjqv";
+    sha256 = "sha256-L2ftgdk7QmWl3iQR52G4SwZyI4NURybVMQ1WtcHPvHE=";
   };
 
-  nativeBuildInputs = [ unzip ];
-  buildInputs =
-    [ erlang elixir python libxml2 libxslt xmlto docbook_xml_dtd_45 docbook_xsl zip rsync glibcLocales ]
+  nativeBuildInputs = [ unzip xmlto docbook_xml_dtd_45 docbook_xsl zip rsync ];
+  buildInputs = [ erlang elixir python libxml2 libxslt glibcLocales ]
     ++ lib.optionals stdenv.isDarwin [ AppKit Carbon Cocoa ];
 
   outputs = [ "out" "man" "doc" ];
@@ -33,20 +51,16 @@ stdenv.mkDerivation rec {
   runtimePath = lib.makeBinPath ([
     erlang
     getconf # for getting memory limits
-    socat procps
-    gnused coreutils # used by helper scripts
+    socat
+    procps
+    gnused
+    coreutils # used by helper scripts
   ] ++ lib.optionals stdenv.isLinux [ systemd ]); # for systemd unit activation check
+
   postInstall = ''
     # rabbitmq-env calls to sed/coreutils, so provide everything early
     sed -i $out/sbin/rabbitmq-env -e '2s|^|PATH=${runtimePath}\''${PATH:+:}\$PATH/\n|'
 
-    # rabbitmq-server script uses `dirname` to get hold of a
-    # rabbitmq-env, so let's provide this file directly. After that
-    # point everything is OK - the PATH above will kick in
-    substituteInPlace $out/sbin/rabbitmq-server \
-      --replace '`dirname $0`/rabbitmq-env' \
-                "$out/sbin/rabbitmq-env"
-
     # We know exactly where rabbitmq is gonna be, so we patch that into the env-script.
     # By doing it early we make sure that auto-detection for this will
     # never be executed (somewhere below in the script).
@@ -60,15 +74,15 @@ stdenv.mkDerivation rec {
     rm $out/INSTALL
   '';
 
-  meta = {
-    homepage = "https://www.rabbitmq.com/";
-    description = "An implementation of the AMQP messaging protocol";
-    license = lib.licenses.mpl20;
-    platforms = lib.platforms.unix;
-    maintainers = with lib.maintainers; [ Profpatsch ];
-  };
-
   passthru.tests = {
     vm-test = nixosTests.rabbitmq;
   };
+
+  meta = with lib; {
+    homepage = "https://www.rabbitmq.com/";
+    description = "An implementation of the AMQP messaging protocol";
+    license = licenses.mpl20;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ turion ];
+  };
 }
diff --git a/nixpkgs/pkgs/servers/apache-kafka/default.nix b/nixpkgs/pkgs/servers/apache-kafka/default.nix
index 935db27044f3..4fec4390e345 100644
--- a/nixpkgs/pkgs/servers/apache-kafka/default.nix
+++ b/nixpkgs/pkgs/servers/apache-kafka/default.nix
@@ -5,22 +5,16 @@ let
   jre8 = jdk8_headless;
   jre11 = jdk11_headless;
   versionMap = {
-    "2.4" = {
-      kafkaVersion = "2.4.1";
-      scalaVersion = "2.12";
-      sha256 = "0ahsprmpjz026mhbr79187wfdrxcg352iipyfqfrx68q878wnxr1";
-      jre = jre8;
-    };
-    "2.5" = {
-      kafkaVersion = "2.5.1";
-      scalaVersion = "2.12";
-      sha256 = "1wn4iszrm2rvsfyyr515zx79k5m86davjkcwcwpxcgc4k3q0z7lv";
-      jre = jre8;
+    "2.7" = {
+      kafkaVersion = "2.7.1";
+      scalaVersion = "2.13";
+      sha256 = "1qv6blf99211bc80xnd4k42r9v9c5vilyqkplyhsa6hqymg32gfa";
+      jre = jre11;
     };
-    "2.6" = {
-      kafkaVersion = "2.6.1";
+    "2.8" = {
+      kafkaVersion = "2.8.0";
       scalaVersion = "2.13";
-      sha256 = "1a2kd4r6f8z7qf886nnq9f350sblzzdi230j2hll7x156888573y";
+      sha256 = "1iljfjlp29m4s6gkja9fxkzj8a8p0qc0sfy8x4g1318kbnp818rz";
       jre = jre11;
     };
   };
diff --git a/nixpkgs/pkgs/servers/apcupsd/default.nix b/nixpkgs/pkgs/servers/apcupsd/default.nix
index f2193d67ff5a..9e5e81457e90 100644
--- a/nixpkgs/pkgs/servers/apcupsd/default.nix
+++ b/nixpkgs/pkgs/servers/apcupsd/default.nix
@@ -6,10 +6,10 @@ assert enableCgiScripts -> gd != null;
 
 stdenv.mkDerivation rec {
   pname = "apcupsd";
-  name = "${pname}-3.14.14";
+  version = "3.14.14";
 
   src = fetchurl {
-    url = "mirror://sourceforge/${pname}/${name}.tar.gz";
+    url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
     sha256 = "0rwqiyzlg9p0szf3x6q1ppvrw6f6dbpn2rc5z623fk3bkdalhxyv";
   };
 
diff --git a/nixpkgs/pkgs/servers/asterisk/default.nix b/nixpkgs/pkgs/servers/asterisk/default.nix
index be0cd877458c..e8912f4b5374 100644
--- a/nixpkgs/pkgs/servers/asterisk/default.nix
+++ b/nixpkgs/pkgs/servers/asterisk/default.nix
@@ -90,7 +90,16 @@ let
     sha256 = "1s9idx2miwk178sa731ig9r4fzx4gy1q8xazfqyd7q4lfd70s1cy";
   };
 
-in rec {
+  # auto-generated by update.py
+  versions = lib.mapAttrs (_: {version, sha256}: common {
+    inherit version sha256;
+    externals = {
+      "externals_cache/pjproject-2.10.tar.bz2" = pjproject_2_10;
+      "addons/mp3" = mp3-202;
+    };
+  }) (builtins.fromJSON (builtins.readFile ./versions.json));
+
+in {
   # Supported releases (as of 2020-10-26).
   # Source: https://wiki.asterisk.org/wiki/display/AST/Asterisk+Versions
   # Exact version can be found at https://www.asterisk.org/downloads/asterisk/all-asterisk-versions/
@@ -100,43 +109,8 @@ in rec {
   # 16.x    LTS        2018-10-09  2022-10-09  2023-10-09
   # 17.x    Standard   2019-10-28  2020-10-28  2021-10-28
   # 18.x    LTS        2020-10-20  2024-10-20  2025-10-20
-  asterisk-lts = asterisk_18;
-  asterisk-stable = asterisk_18;
-  asterisk = asterisk_18;
-
-  asterisk_13 = common {
-    version = "13.38.2";
-    sha256 = "1v7wgsa9vf7qycg3xpvmn2bkandkfh3x15pr8ylg0w0gvfkkf5b9";
-    externals = {
-      "externals_cache/pjproject-2.10.tar.bz2" = pjproject_2_10;
-      "addons/mp3" = mp3-202;
-    };
-  };
-
-  asterisk_16 = common {
-    version = "16.17.0";
-    sha256 = "1bzlsk9k735qf8a693b6sa548my7m9ahavmdicwmc14px70wrvnw";
-    externals = {
-      "externals_cache/pjproject-2.10.tar.bz2" = pjproject_2_10;
-      "addons/mp3" = mp3-202;
-    };
-  };
-
-  asterisk_17 = common {
-    version = "17.9.3";
-    sha256 = "0nhk0izrxx24pz806fwnhidjmciwrkcrsvxvhrdvibiqyvfk8yk7";
-    externals = {
-      "externals_cache/pjproject-2.10.tar.bz2" = pjproject_2_10;
-      "addons/mp3" = mp3-202;
-    };
-  };
+  asterisk-lts = versions.asterisk_18;
+  asterisk-stable = versions.asterisk_18;
+  asterisk = versions.asterisk_18;
 
-  asterisk_18 = common {
-    version = "18.3.0";
-    sha256 = "1xb953i9ay82vcdv8izi5dd5xnspcsvg10ajiyph377jw2xnd5fb";
-    externals = {
-      "externals_cache/pjproject-2.10.tar.bz2" = pjproject_2_10;
-      "addons/mp3" = mp3-202;
-    };
-  };
-}
+} // versions
diff --git a/nixpkgs/pkgs/servers/asterisk/update.py b/nixpkgs/pkgs/servers/asterisk/update.py
new file mode 100755
index 000000000000..5a7fabf9d676
--- /dev/null
+++ b/nixpkgs/pkgs/servers/asterisk/update.py
@@ -0,0 +1,36 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i python3 -p python39 python39.pkgs.packaging python39.pkgs.beautifulsoup4 python39.pkgs.requests
+from packaging import version
+from bs4 import BeautifulSoup
+import re, requests, json
+
+URL = "https://downloads.asterisk.org/pub/telephony/asterisk"
+
+page = requests.get(URL)
+changelog = re.compile("^ChangeLog-\d+\.\d+\.\d+$")
+changelogs = [a.get_text() for a in BeautifulSoup(page.text, 'html.parser').find_all('a') if changelog.match(a.get_text())]
+major_versions = {}
+for changelog in changelogs:
+    v = version.parse(changelog.removeprefix("ChangeLog-"))
+    major_versions.setdefault(v.major, []).append(v)
+
+out = {}
+for mv in major_versions.keys():
+    v = max(major_versions[mv])
+    sha = requests.get(f"{URL}/asterisk-{v}.sha256").text.split()[0]
+    out["asterisk_" + str(mv)] = {
+        "version": str(v),
+        "sha256": sha
+    }
+
+try:
+    with open("versions.json", "r") as in_file:
+        in_data = json.loads(in_file.read())
+        for v in in_data.keys():
+            print(v + ":", in_data[v]["version"], "->", out[v]["version"])
+except:
+    # nice to have for the PR, not a requirement
+    pass
+
+with open("versions.json", "w") as out_file:
+    out_file.write(json.dumps(out, sort_keys=True, indent=2) + "\n")
diff --git a/nixpkgs/pkgs/servers/asterisk/versions.json b/nixpkgs/pkgs/servers/asterisk/versions.json
new file mode 100644
index 000000000000..93d2539993de
--- /dev/null
+++ b/nixpkgs/pkgs/servers/asterisk/versions.json
@@ -0,0 +1,18 @@
+{
+  "asterisk_13": {
+    "sha256": "478040705f5819259bb1d22cb4e27970092a5bfdb691d27d321c26235eea4bb3",
+    "version": "13.38.3"
+  },
+  "asterisk_16": {
+    "sha256": "c34fc38287cea533c0d0a34959112119e47d12d8ea6ac11bdddf9265afda6d11",
+    "version": "16.19.1"
+  },
+  "asterisk_17": {
+    "sha256": "cc0d6b9ef1512d4e279b80ca8bf78032d69fe6e92492c95c22c44023d6c111fa",
+    "version": "17.9.4"
+  },
+  "asterisk_18": {
+    "sha256": "e7d78716a0deeadf24b7d537cd24c11c2d9a096265eefc9470565c4da0fc54c7",
+    "version": "18.5.1"
+  }
+}
diff --git a/nixpkgs/pkgs/servers/atlassian/crowd.nix b/nixpkgs/pkgs/servers/atlassian/crowd.nix
index f4c257314a84..74d26f65453d 100644
--- a/nixpkgs/pkgs/servers/atlassian/crowd.nix
+++ b/nixpkgs/pkgs/servers/atlassian/crowd.nix
@@ -10,8 +10,6 @@ stdenv.mkDerivation rec {
     sha256 = "1gg4jcwvk4za6j4260dx1vz2dprrnqv8paqf6z86s7ka3y1nx1aj";
   };
 
-  phases = [ "unpackPhase" "buildPhase" "installPhase" "fixupPhase" ];
-
   buildPhase = ''
     mv apache-tomcat/conf/server.xml apache-tomcat/conf/server.xml.dist
     ln -s /run/atlassian-crowd/server.xml apache-tomcat/conf/server.xml
diff --git a/nixpkgs/pkgs/servers/bazarr/default.nix b/nixpkgs/pkgs/servers/bazarr/default.nix
index d15844e682e2..1db21cb13bc2 100644
--- a/nixpkgs/pkgs/servers/bazarr/default.nix
+++ b/nixpkgs/pkgs/servers/bazarr/default.nix
@@ -1,25 +1,28 @@
-{ stdenv, lib, fetchurl, makeWrapper, python3, unrar, ffmpeg, nixosTests }:
+{ stdenv, lib, fetchurl, makeWrapper, unzip, python3, unrar, ffmpeg, nixosTests }:
 
 stdenv.mkDerivation rec {
   pname = "bazarr";
-  version = "0.9.6";
+  version = "0.9.7";
+
+  sourceRoot = ".";
 
   src = fetchurl {
-    url = "https://github.com/morpheus65535/bazarr/archive/v${version}.tar.gz";
-    sha256 = "sha256-aO9PIE/YlSIGEcntDCdxIYuuvV5jG266ldhC2QfT+e4=";
+    url = "https://github.com/morpheus65535/bazarr/releases/download/v${version}/bazarr.zip";
+    sha256 = "sha256-OyH3/KK8d5pWu+Ubzgd4N0IwpumbAe/43Oo+LGg+Erc=";
   };
 
-  nativeBuildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ unzip makeWrapper ];
 
   installPhase = ''
-    mkdir -p $out/src
-    cp -r * $out/src
-
-    mkdir -p $out/bin
-    makeWrapper "${(python3.withPackages (ps: [ps.lxml ps.numpy])).interpreter}" \
+    mkdir -p $out/{bin,share/${pname}-${version}}
+    cp -r * $out/share/${pname}-${version}
+    makeWrapper "${
+      (python3.withPackages
+        (ps: [ ps.lxml ps.numpy ps.gevent ps.gevent-websocket ])).interpreter
+    }" \
       $out/bin/bazarr \
-      --add-flags "$out/src/bazarr.py" \
-      --suffix PATH : ${lib.makeBinPath [ unrar ffmpeg ]} \
+      --add-flags "$out/share/${pname}-${version}/bazarr.py" \
+      --suffix PATH : ${lib.makeBinPath [ unrar ffmpeg ]}
   '';
 
   passthru.tests = {
@@ -30,7 +33,7 @@ stdenv.mkDerivation rec {
     description = "Subtitle manager for Sonarr and Radarr";
     homepage = "https://www.bazarr.media/";
     license = licenses.gpl3Only;
-    maintainers = with maintainers; [ xwvvvvwx ];
+    maintainers = with maintainers; [ d-xo ];
     platforms = platforms.all;
   };
 }
diff --git a/nixpkgs/pkgs/servers/blockbook/default.nix b/nixpkgs/pkgs/servers/blockbook/default.nix
index 8d75b89d0d8a..b10f8919af7a 100644
--- a/nixpkgs/pkgs/servers/blockbook/default.nix
+++ b/nixpkgs/pkgs/servers/blockbook/default.nix
@@ -33,12 +33,11 @@ buildGoModule rec {
 
   buildInputs = [ bzip2 lz4 rocksdb snappy zeromq zlib ];
 
-  buildFlagsArray = ''
-    -ldflags=
-       -X github.com/trezor/blockbook/common.version=${version}
-       -X github.com/trezor/blockbook/common.gitcommit=${commit}
-       -X github.com/trezor/blockbook/common.buildDate=unknown
-  '';
+  ldflags = [
+    "-X github.com/trezor/blockbook/common.version=${version}"
+    "-X github.com/trezor/blockbook/common.gitcommit=${commit}"
+    "-X github.com/trezor/blockbook/common.buildDate=unknown"
+  ];
 
   preBuild = lib.optionalString stdenv.isDarwin ''
     ulimit -n 8192
diff --git a/nixpkgs/pkgs/servers/caddy/default.nix b/nixpkgs/pkgs/servers/caddy/default.nix
index a2cd3c7eb097..801601487913 100644
--- a/nixpkgs/pkgs/servers/caddy/default.nix
+++ b/nixpkgs/pkgs/servers/caddy/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "caddy";
-  version = "2.4.1";
+  version = "2.4.4";
 
   subPackages = [ "cmd/caddy" ];
 
@@ -10,10 +10,10 @@ buildGoModule rec {
     owner = "caddyserver";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Wc7eNw5FZWoUT6IP84NhROC59bf4/RCw/gOWLuYI2dc=";
+    sha256 = "sha256-POdDORICDE49BQ5LLTs4GTb1VoSXZD4K4MpRkVoj+AY=";
   };
 
-  vendorSha256 = "sha256-ZOrhR03m+cs+mTQio3qEIf+1B0IP0i2+x+vcml5AMco=";
+  vendorSha256 = "sha256-JAQaxEmdX0fpDahe55pEKnUW64k8JjrytkBrXpQJz3I=";
 
   passthru.tests = { inherit (nixosTests) caddy; };
 
diff --git a/nixpkgs/pkgs/servers/cayley/default.nix b/nixpkgs/pkgs/servers/cayley/default.nix
index c9d06d497714..13bf9326c22b 100644
--- a/nixpkgs/pkgs/servers/cayley/default.nix
+++ b/nixpkgs/pkgs/servers/cayley/default.nix
@@ -15,10 +15,9 @@ buildGoPackage rec {
 
   goDeps = ./deps.nix;
 
-  buildFlagsArray = ''
-    -ldflags=
-      -X=main.Version=${version}
-  '';
+  ldflags = [
+    "-X=main.Version=${version}"
+  ];
 
   meta = {
     homepage = "https://cayley.io/";
diff --git a/nixpkgs/pkgs/servers/computing/slurm-spank-x11/default.nix b/nixpkgs/pkgs/servers/computing/slurm-spank-x11/default.nix
index 454cdbb57e3d..8a8aa34fdb2d 100644
--- a/nixpkgs/pkgs/servers/computing/slurm-spank-x11/default.nix
+++ b/nixpkgs/pkgs/servers/computing/slurm-spank-x11/default.nix
@@ -1,10 +1,7 @@
 { lib, stdenv, fetchFromGitHub, slurm } :
-let
+stdenv.mkDerivation rec {
+  pname = "slurm-spank-x11";
   version = "0.2.5";
-in
-stdenv.mkDerivation {
-  name = "slurm-spank-x11-${version}";
-  version = version;
 
   src = fetchFromGitHub {
     owner = "hautreux";
diff --git a/nixpkgs/pkgs/servers/computing/slurm/default.nix b/nixpkgs/pkgs/servers/computing/slurm/default.nix
index 49beef53fe67..6468f12c3d9c 100644
--- a/nixpkgs/pkgs/servers/computing/slurm/default.nix
+++ b/nixpkgs/pkgs/servers/computing/slurm/default.nix
@@ -9,7 +9,7 @@
 
 stdenv.mkDerivation rec {
   pname = "slurm";
-  version = "20.11.8.1";
+  version = "21.08.0.1";
 
   # N.B. We use github release tags instead of https://www.schedmd.com/downloads.php
   # because the latter does not keep older releases.
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     repo = "slurm";
     # The release tags use - instead of .
     rev = "${pname}-${builtins.replaceStrings ["."] ["-"] version}";
-    sha256 = "0id2b01rvq81zd2p34il0gg880f94g9ip4gn1pyh20zz5bxlnbjc";
+    sha256 = "0f1i64vby1qa2y9gv9a9x595s58p6dpw4yhljbgrc2wr7glvnfi3";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/nixpkgs/pkgs/servers/consul/default.nix b/nixpkgs/pkgs/servers/consul/default.nix
index da0e7364e95a..be6259e9559b 100644
--- a/nixpkgs/pkgs/servers/consul/default.nix
+++ b/nixpkgs/pkgs/servers/consul/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "consul";
-  version = "1.10.1";
+  version = "1.10.2";
   rev = "v${version}";
 
   # Note: Currently only release tags are supported, because they have the Consul UI
@@ -17,7 +17,7 @@ buildGoModule rec {
     owner = "hashicorp";
     repo = pname;
     inherit rev;
-    sha256 = "sha256-oap0pXqtIbT9wMfD/RuJ2tTRynSvfzsgL8TyY4nj3sM=";
+    sha256 = "sha256-mA/s3J0ylE3C3IGaYfadeZV6PQ5Ooth6iQ4JEgPl44Q=";
   };
 
   passthru.tests.consul = nixosTests.consul;
@@ -26,18 +26,17 @@ buildGoModule rec {
   # has a split module structure in one repo
   subPackages = ["." "connect/certgen"];
 
-  vendorSha256 = "sha256-DloQGxeooVhYWA5/ICkL2UEQvNPilb2F5pst78UzWPI=";
+  vendorSha256 = "sha256-MWQ1m2nvKdP8ZCDs0sjZCiW4DSGe3NnVl4sQ448cu5M=";
 
   doCheck = false;
 
   deleteVendor = true;
 
-  preBuild = ''
-    buildFlagsArray+=("-ldflags"
-                      "-X github.com/hashicorp/consul/version.GitDescribe=v${version}
-                       -X github.com/hashicorp/consul/version.Version=${version}
-                       -X github.com/hashicorp/consul/version.VersionPrerelease=")
-  '';
+  ldflags = [
+    "-X github.com/hashicorp/consul/version.GitDescribe=v${version}"
+    "-X github.com/hashicorp/consul/version.Version=${version}"
+    "-X github.com/hashicorp/consul/version.VersionPrerelease="
+  ];
 
   meta = with lib; {
     description = "Tool for service discovery, monitoring and configuration";
diff --git a/nixpkgs/pkgs/servers/corosync/default.nix b/nixpkgs/pkgs/servers/corosync/default.nix
index b4926e75b524..9df679bf6bce 100644
--- a/nixpkgs/pkgs/servers/corosync/default.nix
+++ b/nixpkgs/pkgs/servers/corosync/default.nix
@@ -10,11 +10,11 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "corosync";
-  version = "3.1.4";
+  version = "3.1.5";
 
   src = fetchurl {
     url = "http://build.clusterlabs.org/corosync/releases/${pname}-${version}.tar.gz";
-    sha256 = "sha256-sxoYlAi5RJCQcg0bSqO23t9nTkuuzOeLWPa/dLZZzuo=";
+    sha256 = "sha256-O7o+PtgasrCAcRsu4kEC+7530GCwXUvi2jEAgghPC7w=";
   };
 
   nativeBuildInputs = [ makeWrapper pkg-config ];
diff --git a/nixpkgs/pkgs/servers/dendrite/default.nix b/nixpkgs/pkgs/servers/dendrite/default.nix
index 5f070aa398c1..1d214b751fcf 100644
--- a/nixpkgs/pkgs/servers/dendrite/default.nix
+++ b/nixpkgs/pkgs/servers/dendrite/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "matrix-dendrite";
-  version = "0.3.11";
+  version = "0.4.1";
 
   src = fetchFromGitHub {
     owner = "matrix-org";
     repo = "dendrite";
     rev = "v${version}";
-    sha256 = "15xqd4yhsnnpz5n90fbny9i8lp7ki2z3fbpbd8cvsp49347rm483";
+    sha256 = "sha256-F2e+peM7DBihmos/oPar36UDHkibmlzIknCjMauOph8=";
   };
 
-  vendorSha256 = "1l1wydvi0yalas79cvhrqg563cvs57hg9rv6qnkw879r6smb2x1n";
+  vendorSha256 = "sha256-M6mnFO+SInZNvtwMa02TvHIg14Ve7swlGcYfsQFioxQ=";
 
   passthru.tests = {
     inherit (nixosTests) dendrite;
diff --git a/nixpkgs/pkgs/servers/dex/default.nix b/nixpkgs/pkgs/servers/dex/default.nix
index 9d577047ee21..0f4282699ee2 100644
--- a/nixpkgs/pkgs/servers/dex/default.nix
+++ b/nixpkgs/pkgs/servers/dex/default.nix
@@ -17,8 +17,8 @@ buildGoModule rec {
     "cmd/dex"
   ];
 
-  buildFlagsArray = [
-    "-ldflags=-w -s -X github.com/dexidp/dex/version.Version=${src.rev}"
+  ldflags = [
+    "-w" "-s" "-X github.com/dexidp/dex/version.Version=${src.rev}"
   ];
 
   postInstall = ''
diff --git a/nixpkgs/pkgs/servers/dict/dictd-db-collector.nix b/nixpkgs/pkgs/servers/dict/dictd-db-collector.nix
index f635c98602d9..a0ad507c4664 100644
--- a/nixpkgs/pkgs/servers/dict/dictd-db-collector.nix
+++ b/nixpkgs/pkgs/servers/dict/dictd-db-collector.nix
@@ -1,80 +1,83 @@
-{stdenv, lib, dict}:
-({dictlist, allowList ? ["127.0.0.1"], denyList ? []}:
+{ stdenv, lib, dict }:
+({ dictlist, allowList ? [ "127.0.0.1" ], denyList ? [ ] }:
+
 /*
- dictlist is a list of form 
- [ { filename = /path/to/files/basename;
- name = "name"; } ]
- basename.dict.dz and basename.index should be 
- dict files. Or look below for other options.
- allowList is a list of IP/domain *-wildcarded strings
- denyList is the same..
+  dictlist is a list of form
+  [ { filename = /path/to/files/basename;
+  name = "name"; } ]
+  basename.dict.dz and basename.index should be
+  dict files. Or look below for other options.
+  allowList is a list of IP/domain *-wildcarded strings
+  denyList is the same..
 */
 
 let
-	link_arguments = map 
-			(x: '' "${x.filename}" '')
-			dictlist; 
-	databases = lib.concatStrings (map (x : 
-		"${x.name}	${x.filename}\n") dictlist);
-	allow = lib.concatStrings (map (x: "allow ${x}\n") allowList);
-	deny = lib.concatStrings (map (x: "deny ${x}\n") denyList);
-	accessSection = "
-		access {
-			${allow}
-			${deny}
-		}
-	";
-	installPhase = ''  
-  	mkdir -p $out/share/dictd
-	cd $out/share/dictd
-	echo "${databases}" >databases.names 
-	echo "${accessSection}" > dictd.conf
-	for j in ${toString link_arguments}; do 
-		name="$(egrep '	'"$j"\$ databases.names)"
-		name=''${name%	$j}
-		if test -d "$j"; then
-			if test -d "$j"/share/dictd ; then
-				echo "Got store path $j"
-				j="$j"/share/dictd 
-			fi
-			echo "Directory reference: $j"
-			i=$(ls "$j""/"*.index)
-			i="''${i%.index}";
-		else
-			i="$j";
-		fi
-		echo "Basename is $i"
-		locale=$(cat "$(dirname "$i")"/locale)
-		base="$(basename "$i")"
-		echo "Locale is $locale"
-		export LC_ALL=$locale 
-		export LANG=$locale 
-		if test -e "$i".dict.dz; then
-			ln -s "$i".dict.dz
-		else
-			cp "$i".dict .
-			dictzip "$base".dict
-		fi
-		ln -s "$i".index .
-		dictfmt_index2word --locale $locale < "$base".index > "$base".word || true
-		dictfmt_index2suffix --locale $locale < "$base".index > "$base".suffix || true
+  link_arguments = map
+    (x: '' "${x.filename}" '')
+    dictlist;
+  databases = lib.concatStrings (map
+    (x:
+      "${x.name}  ${x.filename}\n")
+    dictlist);
+  allow = lib.concatStrings (map (x: "allow ${x}\n") allowList);
+  deny = lib.concatStrings (map (x: "deny ${x}\n") denyList);
+  accessSection = "
+  access {
+    ${allow}
+    ${deny}
+  }
+";
+  installPhase = ''
+      mkdir -p $out/share/dictd
+    cd $out/share/dictd
+    echo "${databases}" >databases.names
+    echo "${accessSection}" > dictd.conf
+    for j in ${toString link_arguments}; do
+      name="$(egrep '  '"$j"\$ databases.names)"
+      name=''${name%  $j}
+      if test -d "$j"; then
+        if test -d "$j"/share/dictd ; then
+          echo "Got store path $j"
+          j="$j"/share/dictd
+        fi
+        echo "Directory reference: $j"
+        i=$(ls "$j""/"*.index)
+        i="''${i%.index}";
+      else
+        i="$j";
+      fi
+      echo "Basename is $i"
+      locale=$(cat "$(dirname "$i")"/locale)
+      base="$(basename "$i")"
+      echo "Locale is $locale"
+      export LC_ALL=$locale
+      export LANG=$locale
+      if test -e "$i".dict.dz; then
+        ln -s "$i".dict.dz
+      else
+        cp "$i".dict .
+        dictzip "$base".dict
+      fi
+      ln -s "$i".index .
+      dictfmt_index2word --locale $locale < "$base".index > "$base".word || true
+      dictfmt_index2suffix --locale $locale < "$base".index > "$base".suffix || true
 
-		echo "database $name {" >> dictd.conf
-		echo "  data $out/share/dictd/$base.dict.dz" >> dictd.conf
-		echo "  index $out/share/dictd/$base.index" >> dictd.conf
-		echo "  index_word $out/share/dictd/$base.word" >> dictd.conf
-		echo "  index_suffix $out/share/dictd/$base.suffix" >> dictd.conf
-		echo "}" >> dictd.conf
-	done
-  	'';
+      echo "database $name {" >> dictd.conf
+      echo "  data $out/share/dictd/$base.dict.dz" >> dictd.conf
+      echo "  index $out/share/dictd/$base.index" >> dictd.conf
+      echo "  index_word $out/share/dictd/$base.word" >> dictd.conf
+      echo "  index_suffix $out/share/dictd/$base.suffix" >> dictd.conf
+      echo "}" >> dictd.conf
+    done
+  '';
 
 in
 
 stdenv.mkDerivation {
   name = "dictd-dbs";
 
-  phases = ["installPhase"];
-  buildInputs = [dict];
+  buildInputs = [ dict ];
 
+  dontUnpack = true;
   inherit installPhase;
 })
diff --git a/nixpkgs/pkgs/servers/dict/wiktionary/builder.sh b/nixpkgs/pkgs/servers/dict/wiktionary/builder.sh
deleted file mode 100644
index 65652ad4bdbf..000000000000
--- a/nixpkgs/pkgs/servers/dict/wiktionary/builder.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-source $stdenv/setup
-
-mkdir -p $out/share/dictd/
-cd $out/share/dictd
-
-python -O "$convert" "$src"
-dictzip wiktionary-en.dict
-echo en_US.UTF-8 > locale
diff --git a/nixpkgs/pkgs/servers/dict/wiktionary/default.nix b/nixpkgs/pkgs/servers/dict/wiktionary/default.nix
index 3a01120f3a68..05df86f3a784 100644
--- a/nixpkgs/pkgs/servers/dict/wiktionary/default.nix
+++ b/nixpkgs/pkgs/servers/dict/wiktionary/default.nix
@@ -1,23 +1,33 @@
 { lib, stdenv, fetchurl, python2, dict, glibcLocales }:
 
 stdenv.mkDerivation rec {
-  version = "20210201";
   pname = "dict-db-wiktionary";
+  version = "20210201";
 
   src = fetchurl {
     url = "https://dumps.wikimedia.org/enwiktionary/${version}/enwiktionary-${version}-pages-articles.xml.bz2";
     sha256 = "0dc34cbadsg0f6lhfcyx0np7zjnlg6837piqhlvnn0b45xnzn0cs";
   };
 
-  convert = ./wiktionary2dict.py;
-  buildInputs = [ python2 dict glibcLocales ];
-  builder = ./builder.sh;
+  # script in nixpkgs does not support python2
+  nativeBuildInputs = [ python2 dict glibcLocales ];
+
+  dontUnpack = true;
+
+  installPhase = ''
+    mkdir -p $out/share/dictd/
+    cd $out/share/dictd
+
+    ${python2.interpreter} -O ${./wiktionary2dict.py} "${src}"
+    dictzip wiktionary-en.dict
+    echo en_US.UTF-8 > locale
+  '';
 
   passthru.updateScript = ./update.sh;
 
   meta = with lib; {
     description = "DICT version of English Wiktionary";
-    homepage = "http://en.wiktionary.org/";
+    homepage = "https://en.wiktionary.org/";
     maintainers = with maintainers; [ qyliss ];
     platforms = platforms.all;
     license = with licenses; [ cc-by-sa-30 fdl11Plus ];
diff --git a/nixpkgs/pkgs/servers/dns/knot-dns/default.nix b/nixpkgs/pkgs/servers/dns/knot-dns/default.nix
index e5192b7b3c1e..4adb649e0868 100644
--- a/nixpkgs/pkgs/servers/dns/knot-dns/default.nix
+++ b/nixpkgs/pkgs/servers/dns/knot-dns/default.nix
@@ -1,17 +1,15 @@
 { lib, stdenv, fetchurl, pkg-config, gnutls, liburcu, lmdb, libcap_ng, libidn2, libunistring
-, systemd, nettle, libedit, zlib, libiconv, libintl, libmaxminddb, libbpf, nghttp2
+, systemd, nettle, libedit, zlib, libiconv, libintl, libmaxminddb, libbpf, nghttp2, libmnl
 , autoreconfHook, nixosTests
 }:
 
-let inherit (lib) optional optionals; in
-
 stdenv.mkDerivation rec {
   pname = "knot-dns";
-  version = "3.0.8";
+  version = "3.1.1";
 
   src = fetchurl {
     url = "https://secure.nic.cz/files/knot-dns/knot-${version}.tar.xz";
-    sha256 = "df723949c19ebecf9a7118894c3127e292eb09dc7274b5ce9b527409f42edfb0";
+    sha256 = "75bfb1acaca774ed3dd781dc74780298dc0fd51b54e4b61015e7487d6cd2067c";
   };
 
   outputs = [ "bin" "out" "dev" ];
@@ -38,12 +36,10 @@ stdenv.mkDerivation rec {
     libmaxminddb # optional for geoip module (it's tiny)
     # without sphinx &al. for developer documentation
     # TODO: add dnstap support?
-  ]
-    ++ optionals stdenv.isLinux [
-      libcap_ng systemd
-      libbpf # XDP support
-    ]
-    ++ optional stdenv.isDarwin zlib; # perhaps due to gnutls
+  ] ++ lib.optionals stdenv.isLinux [
+    libcap_ng systemd
+    libbpf libmnl # XDP support (it's Linux kernel API)
+  ] ++ lib.optional stdenv.isDarwin zlib; # perhaps due to gnutls
 
   enableParallelBuilding = true;
 
diff --git a/nixpkgs/pkgs/servers/dns/knot-resolver/default.nix b/nixpkgs/pkgs/servers/dns/knot-resolver/default.nix
index b0f9dfd6c910..9e7e6c249e1f 100644
--- a/nixpkgs/pkgs/servers/dns/knot-resolver/default.nix
+++ b/nixpkgs/pkgs/servers/dns/knot-resolver/default.nix
@@ -17,11 +17,11 @@ lua = luajitPackages;
 
 unwrapped = stdenv.mkDerivation rec {
   pname = "knot-resolver";
-  version = "5.3.2";
+  version = "5.4.1";
 
   src = fetchurl {
     url = "https://secure.nic.cz/files/knot-resolver/${pname}-${version}.tar.xz";
-    sha256 = "8b6f447d5fe93422d4c129a2d4004a977369c3aa6e55258ead1cbd488bc01436";
+    sha256 = "fb8b962dd9ef744e2551c4f052454bc2a30e39c1f662f4f3522e8f221d8e3d66";
   };
 
   outputs = [ "out" "dev" ];
@@ -43,7 +43,7 @@ unwrapped = stdenv.mkDerivation rec {
     # some tests have issues with network sandboxing, apparently
   + optionalString doInstallCheck ''
     echo 'os.exit(77)' > daemon/lua/trust_anchors.test/bootstrap.test.lua
-    sed '/^[[:blank:]]*test_dstaddr,$/d' -i \
+    sed -E '/^[[:blank:]]*test_(dstaddr|headers),?$/d' -i \
       tests/config/doh2.test.lua modules/http/http_doh.test.lua
   '';
 
diff --git a/nixpkgs/pkgs/servers/dns/nsd/default.nix b/nixpkgs/pkgs/servers/dns/nsd/default.nix
index ddded73391d7..8c64671251ea 100644
--- a/nixpkgs/pkgs/servers/dns/nsd/default.nix
+++ b/nixpkgs/pkgs/servers/dns/nsd/default.nix
@@ -16,11 +16,11 @@
 
 stdenv.mkDerivation rec {
   pname = "nsd";
-  version = "4.3.5";
+  version = "4.3.7";
 
   src = fetchurl {
     url = "https://www.nlnetlabs.nl/downloads/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-faK0PjCz1/MHcixgj3Gb+xafDZhcdko0+gZp3DNIRHI=";
+    sha256 = "sha256-/TuexTu9Fo1Wegv83xQMlmUR/a94vVOdCRwaE8E76K0=";
   };
 
   prePatch = ''
diff --git a/nixpkgs/pkgs/servers/domoticz/default.nix b/nixpkgs/pkgs/servers/domoticz/default.nix
index a9f5245ff1fe..0208e27a276e 100644
--- a/nixpkgs/pkgs/servers/domoticz/default.nix
+++ b/nixpkgs/pkgs/servers/domoticz/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv,
-  fetchzip,
+  fetchFromGitHub,
   makeWrapper,
   cmake,
   python3,
@@ -17,29 +17,17 @@
   cereal
 }:
 
-let
-  version = "2020.2";
-  minizip = "f5282643091dc1b33546bb8d8b3c23d78fdba231";
-
-  domoticz-src = fetchzip {
-    url = "https://github.com/domoticz/domoticz/archive/${version}.tar.gz";
-    sha256 = "1b4pkw9qp7f5r995vm4xdnpbwi9vxjyzbnk63bmy1xkvbhshm0g3";
-  };
-
-  minizip-src = fetchzip {
-    url = "https://github.com/domoticz/minizip/archive/${minizip}.tar.gz";
-    sha256 = "1vddrzm4pwl14bms91fs3mbqqjhcxrmpx9a68b6nfbs20xmpnsny";
-  };
-in
 stdenv.mkDerivation rec {
-  name = "domoticz";
-  inherit version;
+  pname = "domoticz";
+  version = "2021.1";
 
-  src = domoticz-src;
-
-  postUnpack = ''
-    cp -r ${minizip-src}/* $sourceRoot/extern/minizip
-  '';
+  src = fetchFromGitHub {
+    owner = "domoticz";
+    repo = pname;
+    rev = version;
+    sha256 = "03s1fx2ilhiq47p99c6iln1fi0rhdcxxsrv1zaww7f7bc744vzbk";
+    fetchSubmodules = true;
+  };
 
   buildInputs = [
     openssl
diff --git a/nixpkgs/pkgs/servers/elasticmq-server-bin/default.nix b/nixpkgs/pkgs/servers/elasticmq-server-bin/default.nix
index c10ea7dd1806..bc599ebbc2c8 100644
--- a/nixpkgs/pkgs/servers/elasticmq-server-bin/default.nix
+++ b/nixpkgs/pkgs/servers/elasticmq-server-bin/default.nix
@@ -1,34 +1,40 @@
-{ lib, stdenv, fetchurl, jdk, jre, makeWrapper }:
+{ lib, stdenv, fetchurl, jdk, jre, makeWrapper, runCommand, python3Packages, writeText }:
 
-stdenv.mkDerivation rec {
-  pname = "elasticmq-server";
-  version = "0.14.6";
+let
+  elasticmq-server = stdenv.mkDerivation rec {
+    pname = "elasticmq-server";
+    version = "1.2.0";
 
-  src = fetchurl {
-    url = "https://s3-eu-west-1.amazonaws.com/softwaremill-public/${pname}-${version}.jar";
-    sha256 = "1cp2pmkc6gx7gr6109jlcphlky5rr6s1wj528r6hyhzdc01sjhhz";
-  };
+    src = fetchurl {
+      url = "https://s3-eu-west-1.amazonaws.com/softwaremill-public/${pname}-${version}.jar";
+      sha256 = "06bn5ixz0pvvhfvavr6njv8c2i9pgd6gj32wnp2f0fn0z1kypn1f";
+    };
 
-  # don't do anything?
-  unpackPhase = "${jdk}/bin/jar xf $src favicon.png";
+    # don't do anything?
+    unpackPhase = "${jdk}/bin/jar xf $src favicon.png";
 
-  nativeBuildInputs = [ makeWrapper ];
+    nativeBuildInputs = [ makeWrapper ];
 
-  installPhase = ''
-    mkdir -p $out/bin $out/share/elasticmq-server
+    installPhase = ''
+      mkdir -p $out/bin $out/share/elasticmq-server
 
-    cp $src $out/share/elasticmq-server/elasticmq-server.jar
+      cp $src $out/share/elasticmq-server/elasticmq-server.jar
 
-    # TODO: how to add extraArgs? current workaround is to use JAVA_TOOL_OPTIONS environment to specify properties
-    makeWrapper ${jre}/bin/java $out/bin/elasticmq-server \
-      --add-flags "-jar $out/share/elasticmq-server/elasticmq-server.jar"
-  '';
+      # TODO: how to add extraArgs? current workaround is to use JAVA_TOOL_OPTIONS environment to specify properties
+      makeWrapper ${jre}/bin/java $out/bin/elasticmq-server \
+        --add-flags "-jar $out/share/elasticmq-server/elasticmq-server.jar"
+    '';
 
-  meta = with lib; {
-    homepage = "https://github.com/softwaremill/elasticmq";
-    description = "Message queueing system with Java, Scala and Amazon SQS-compatible interfaces";
-    license = licenses.asl20;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ peterromfeldhk ];
+    meta = with lib; {
+      homepage = "https://github.com/softwaremill/elasticmq";
+      description = "Message queueing system with Java, Scala and Amazon SQS-compatible interfaces";
+      license = licenses.asl20;
+      platforms = platforms.unix;
+      maintainers = with maintainers; [ peterromfeldhk ];
+    };
+  };
+in elasticmq-server.overrideAttrs (_: {
+  passthru.tests.elasticmqTest = import ./elasticmq-test.nix {
+    inherit elasticmq-server runCommand python3Packages writeText;
   };
-}
+})
diff --git a/nixpkgs/pkgs/servers/elasticmq-server-bin/elasticmq-test.nix b/nixpkgs/pkgs/servers/elasticmq-server-bin/elasticmq-test.nix
new file mode 100644
index 000000000000..044b74508982
--- /dev/null
+++ b/nixpkgs/pkgs/servers/elasticmq-server-bin/elasticmq-test.nix
@@ -0,0 +1,47 @@
+{ elasticmq-server, python3Packages, runCommand, writeText}:
+
+runCommand "${elasticmq-server.name}-tests" (let
+  commonPy = ''
+    import boto3
+    client = boto3.resource(
+      "sqs",
+      endpoint_url="http://localhost:9324",
+      region_name="elasticmq",
+      aws_secret_access_key="x",
+      aws_access_key_id="x",
+      use_ssl=False,
+    )
+    queue = client.get_queue_by_name(QueueName="foobar")
+  '';
+in {
+  buildInputs = with python3Packages; [ python boto3 ];
+  emqConfig = writeText "emq-test.conf" ''
+    generate-node-address = true
+
+    queues {
+      foobar {}
+    }
+  '';
+  putMessagePy = writeText "put_message.py" ''
+    ${commonPy}
+    queue.send_message(MessageBody="bazqux")
+  '';
+  checkMessagePy = writeText "check_message.py" ''
+    ${commonPy}
+    messages = queue.receive_messages()
+    print(f"Received {messages!r}")
+    assert len(messages) == 1
+    assert messages[0].body == "bazqux"
+  '';
+}) ''
+  JAVA_TOOL_OPTIONS="-Dconfig.file=$emqConfig" ${elasticmq-server}/bin/elasticmq-server &
+  SERVER_PID=$!
+  sleep 10
+
+  python $putMessagePy
+  python $checkMessagePy
+  touch $out
+
+  # needed on darwin
+  kill $SERVER_PID
+''
diff --git a/nixpkgs/pkgs/servers/felix/default.nix b/nixpkgs/pkgs/servers/felix/default.nix
index dd9d34c85fdd..1f355e61e457 100644
--- a/nixpkgs/pkgs/servers/felix/default.nix
+++ b/nixpkgs/pkgs/servers/felix/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "apache-felix";
-  version = "6.0.3";
+  version = "7.0.0";
   src = fetchurl {
     url = "mirror://apache/felix/org.apache.felix.main.distribution-${version}.tar.gz";
-    sha256 = "1yk04q8rfbbabacbhmrsw5ywr96496x1cz4icdqimb1cfxixv1q0";
+    sha256 = "sha256-ea1QYUqf6m3HB17TrEQ7UEc48fl5QHQMYsN3t0T9VD4=";
   };
   buildCommand =
   ''
diff --git a/nixpkgs/pkgs/servers/filtron/default.nix b/nixpkgs/pkgs/servers/filtron/default.nix
new file mode 100644
index 000000000000..36d64db4e215
--- /dev/null
+++ b/nixpkgs/pkgs/servers/filtron/default.nix
@@ -0,0 +1,26 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "filtron";
+  version = "0.2.0";
+
+  src = fetchFromGitHub {
+    owner = "asciimoo";
+    repo = "filtron";
+    rev = "v${version}";
+    sha256 = "18d3h0i2sfqbc0bjx26jm2n9f37zwp8z9z4wd17sw7nvkfa72a26";
+  };
+
+  vendorSha256 = "05q2g591xl08h387mm6njabvki19yih63dfsafgpc9hyk5ydf2n9";
+
+  # The upstream test checks are obsolete/unmaintained.
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Reverse HTTP proxy to filter requests by different rules.";
+    homepage = "https://github.com/asciimoo/filtron";
+    license = licenses.agpl3;
+    maintainers = [ maintainers.dasj19 ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/servers/fingerd/bsd-fingerd/default.nix b/nixpkgs/pkgs/servers/fingerd/bsd-fingerd/default.nix
index d03cd1c915ab..0220a18916b3 100644
--- a/nixpkgs/pkgs/servers/fingerd/bsd-fingerd/default.nix
+++ b/nixpkgs/pkgs/servers/fingerd/bsd-fingerd/default.nix
@@ -2,11 +2,12 @@
 
 # !!! Duplication: this package is almost exactly the same as `bsd-fingerd'.
 
-stdenv.mkDerivation {
-  name = "bsd-fingerd-0.17";
+stdenv.mkDerivation rec {
+  pname = "bsd-fingerd";
+  version = "0.17";
 
   src = fetchurl {
-    url = "ftp://ftp.metalab.unc.edu/pub/linux/system/network/finger/bsd-finger-0.17.tar.gz";
+    url = "ftp://ftp.metalab.unc.edu/pub/linux/system/network/finger/bsd-finger-${version}.tar.gz";
     sha256 = "1yhkiv0in588il7f84k2xiy78g9lv12ll0y7047gazhiimk5v244";
   };
 
diff --git a/nixpkgs/pkgs/servers/ftp/bftpd/default.nix b/nixpkgs/pkgs/servers/ftp/bftpd/default.nix
index f8a9875914da..015802ac31eb 100644
--- a/nixpkgs/pkgs/servers/ftp/bftpd/default.nix
+++ b/nixpkgs/pkgs/servers/ftp/bftpd/default.nix
@@ -1,15 +1,12 @@
 { lib, stdenv, fetchurl }:
 
-let
+stdenv.mkDerivation rec {
   pname = "bftpd";
-
-in stdenv.mkDerivation rec {
-  name = "${pname}-${version}";
-  version = "5.7";
+  version = "6.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/project/${pname}/${pname}/${name}/${name}.tar.gz";
-    sha256 = "sha256-pUPOYqgJKntQZRRodcyYeFNLCdxKhT8sK1bi3jl6b0s=";
+    url = "mirror://sourceforge/project/${pname}/${pname}/${pname}-${version}/${pname}-${version}.tar.gz";
+    sha256 = "sha256-t+YCys67drYKcD3GXxSVzZo4HTRZArIpA6EofeyPAlw=";
   };
 
   preConfigure = ''
diff --git a/nixpkgs/pkgs/servers/ftp/pure-ftpd/default.nix b/nixpkgs/pkgs/servers/ftp/pure-ftpd/default.nix
index 3ea030440626..b88d926e1db6 100644
--- a/nixpkgs/pkgs/servers/ftp/pure-ftpd/default.nix
+++ b/nixpkgs/pkgs/servers/ftp/pure-ftpd/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, openssl, fetchpatch }:
 
 stdenv.mkDerivation rec {
-  name = "pure-ftpd-1.0.49";
+  pname = "pure-ftpd";
+  version = "1.0.49";
 
   src = fetchurl {
-    url = "https://download.pureftpd.org/pub/pure-ftpd/releases/${name}.tar.gz";
+    url = "https://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-${version}.tar.gz";
     sha256 = "19cjr262n6h560fi9nm7l1srwf93k34bp8dp1c6gh90bqxcg8yvn";
   };
 
diff --git a/nixpkgs/pkgs/servers/ftp/vsftpd/default.nix b/nixpkgs/pkgs/servers/ftp/vsftpd/default.nix
index a477551df307..d78c7ca18d19 100644
--- a/nixpkgs/pkgs/servers/ftp/vsftpd/default.nix
+++ b/nixpkgs/pkgs/servers/ftp/vsftpd/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, libcap, openssl, pam }:
 
 stdenv.mkDerivation rec {
-  name = "vsftpd-3.0.3";
+  pname = "vsftpd";
+  version = "3.0.3";
 
   src = fetchurl {
-    url = "https://security.appspot.com/downloads/${name}.tar.gz";
+    url = "https://security.appspot.com/downloads/vsftpd-${version}.tar.gz";
     sha256 = "1xsyjn68k3fgm2incpb3lz2nikffl9by2safp994i272wvv2nkcx";
   };
 
diff --git a/nixpkgs/pkgs/servers/gerbera/default.nix b/nixpkgs/pkgs/servers/gerbera/default.nix
index 35290de6b245..acb8c139be6f 100644
--- a/nixpkgs/pkgs/servers/gerbera/default.nix
+++ b/nixpkgs/pkgs/servers/gerbera/default.nix
@@ -65,13 +65,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "gerbera";
-  version = "1.8.1";
+  version = "1.8.2";
 
   src = fetchFromGitHub {
     repo = "gerbera";
     owner = "gerbera";
     rev = "v${version}";
-    sha256 = "sha256-bJIT/qQOKTy2l0wsumlGNvaGqzb2mK0hHKG0S6mEG3o=";
+    sha256 = "sha256-RVFzATHNCW4lR9dVrtY2fo2BiJrXPCpelBaUXBwOWyY=";
   };
 
   postPatch = lib.optionalString enableMysql ''
diff --git a/nixpkgs/pkgs/servers/gonic/default.nix b/nixpkgs/pkgs/servers/gonic/default.nix
index 1ff50079ebd7..57623a8026bd 100644
--- a/nixpkgs/pkgs/servers/gonic/default.nix
+++ b/nixpkgs/pkgs/servers/gonic/default.nix
@@ -1,6 +1,6 @@
-{ lib, buildGoModule, fetchFromGitHub
+{ lib, stdenv, buildGoModule, fetchFromGitHub
 , pkg-config, taglib, alsa-lib
-, zlib
+, zlib, AudioToolbox, AppKit
 
 # Disable on-the-fly transcoding,
 # removing the dependency on ffmpeg.
@@ -12,16 +12,18 @@
 
 buildGoModule rec {
   pname = "gonic";
-  version = "0.12.2";
+  version = "0.13.1";
   src = fetchFromGitHub {
     owner = "sentriz";
     repo = pname;
-    rev = "7d420f61a90739cd82a81c2740274c538405d950";
-    sha256 = "0ix33cbhik1580h1jgv6n512dcgip436wmljpiw53c9v438k0ps5";
+    rev = "v${version}";
+    sha256 = "08zr5cbmn25wfi1sjfsb311ycn1855x57ypyn5165zcz49pcfzxn";
   };
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ taglib alsa-lib zlib ];
+  buildInputs = [ taglib zlib ]
+    ++ lib.optionals stdenv.isLinux [ alsa-lib ]
+    ++ lib.optionals stdenv.isDarwin [ AudioToolbox AppKit ];
   vendorSha256 = "0inxlqxnkglz4j14jav8080718a80nqdcl866lkql8r6zcxb4fm9";
 
   # TODO(Profpatsch): write a test for transcoding support,
diff --git a/nixpkgs/pkgs/servers/gotify/default.nix b/nixpkgs/pkgs/servers/gotify/default.nix
index d0a3d9c10a20..8f3739b4ebfb 100644
--- a/nixpkgs/pkgs/servers/gotify/default.nix
+++ b/nixpkgs/pkgs/servers/gotify/default.nix
@@ -45,8 +45,8 @@ buildGoModule rec {
   # produce binaries which panic when executed and are not interesting at all
   subPackages = [ "." ];
 
-  buildFlagsArray = [
-    "-ldflags=-X main.Version=${version} -X main.Mode=prod"
+  ldflags = [
+    "-X main.Version=${version}" "-X main.Mode=prod"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/servers/gotify/ui.nix b/nixpkgs/pkgs/servers/gotify/ui.nix
index 2a7f18430808..36e823ac5574 100644
--- a/nixpkgs/pkgs/servers/gotify/ui.nix
+++ b/nixpkgs/pkgs/servers/gotify/ui.nix
@@ -3,7 +3,7 @@
 }:
 
 yarn2nix-moretea.mkYarnPackage rec {
-  name = "gotify-ui";
+  pname = "gotify-ui";
 
   packageJSON = ./package.json;
   yarnNix = ./yarndeps.nix;
diff --git a/nixpkgs/pkgs/servers/gotify/yarndeps.nix b/nixpkgs/pkgs/servers/gotify/yarndeps.nix
index c6631cd96069..a0237663984d 100644
--- a/nixpkgs/pkgs/servers/gotify/yarndeps.nix
+++ b/nixpkgs/pkgs/servers/gotify/yarndeps.nix
@@ -1,4 +1,4 @@
-{ fetchurl, fetchgit, linkFarm, runCommandNoCC, gnutar }: rec {
+{ fetchurl, fetchgit, linkFarm, runCommand, gnutar }: rec {
   offline_cache = linkFarm "offline" packages;
   packages = [
     {
diff --git a/nixpkgs/pkgs/servers/gpm/default.nix b/nixpkgs/pkgs/servers/gpm/default.nix
index bde4150d15d7..4337820683d0 100644
--- a/nixpkgs/pkgs/servers/gpm/default.nix
+++ b/nixpkgs/pkgs/servers/gpm/default.nix
@@ -5,10 +5,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gpm-1.20.7";
+  pname = "gpm";
+  version = "1.20.7";
 
   src = fetchurl {
-    url = "https://www.nico.schottelius.org/software/gpm/archives/${name}.tar.bz2";
+    url = "https://www.nico.schottelius.org/software/gpm/archives/gpm-${version}.tar.bz2";
     sha256 = "13d426a8h403ckpc8zyf7s2p5rql0lqbg2bv0454x0pvgbfbf4gh";
   };
 
diff --git a/nixpkgs/pkgs/servers/gpsd/default.nix b/nixpkgs/pkgs/servers/gpsd/default.nix
index 62b711af67a0..e7746fa34f0a 100644
--- a/nixpkgs/pkgs/servers/gpsd/default.nix
+++ b/nixpkgs/pkgs/servers/gpsd/default.nix
@@ -1,40 +1,71 @@
-{ stdenv, lib ,fetchurl, scons, pkg-config, dbus, ncurses
-, libusb1, docbook_xml_dtd_412, docbook_xsl, bc
+{ stdenv
+, lib
+, fetchurl
+
+# nativeBuildInputs
+, scons
+, pkg-config
+
+# buildInputs
+, dbus
+, libusb1
+, ncurses
+, pps-tools
+, python3Packages
 
 # optional deps for GUI packages
 , guiSupport ? true
-, dbus-glib ? null, libX11 ? null, libXt ? null, libXpm ? null, libXaw ? null, libXext ? null
-, gobject-introspection ? null, pango ? null, gdk-pixbuf ? null, atk ? null, wrapGAppsHook ? null
-
-, libxslt, xmlto, gpsdUser ? "gpsd", gpsdGroup ? "dialout"
-, pps-tools
-, python3Packages
+, dbus-glib
+, libX11
+, libXt
+, libXpm
+, libXaw
+, libXext
+, gobject-introspection
+, pango
+, gdk-pixbuf
+, atk
+, wrapGAppsHook
+
+, gpsdUser ? "gpsd", gpsdGroup ? "dialout"
 }:
 
-
 stdenv.mkDerivation rec {
   pname = "gpsd";
-  version = "3.22";
+  version = "3.23";
 
   src = fetchurl {
     url = "mirror://savannah/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "18rplv1cd76ndb2wc91jarjmfm2nk508pykv1hir79bqbwmdygvq";
+    sha256 = "sha256-UiwjYqfrLXrDfqoVBPEq3tHDc0eah7oGzGeVl0tWe7w=";
   };
 
+  # TODO: render & install HTML documentation using asciidoctor
   nativeBuildInputs = [
-    scons pkg-config docbook_xml_dtd_412 docbook_xsl xmlto bc
-    python3Packages.python
+    pkg-config
     python3Packages.wrapPython
-  ]
-  ++ lib.optionals guiSupport [ wrapGAppsHook gobject-introspection ];
+    scons
+  ] ++ lib.optionals guiSupport [
+    gobject-introspection
+    wrapGAppsHook
+  ];
 
   buildInputs = [
-    python3Packages.python dbus ncurses
-    libxslt libusb1 pps-tools
-  ]
-  ++ lib.optionals guiSupport [
-    dbus-glib libX11 libXt libXpm libXaw libXext
-    gobject-introspection pango gdk-pixbuf atk
+    dbus
+    libusb1
+    ncurses
+    pps-tools
+    python3Packages.python
+  ] ++ lib.optionals guiSupport [
+    atk
+    dbus-glib
+    gdk-pixbuf
+    gobject-introspection
+    libX11
+    libXaw
+    libXext
+    libXpm
+    libXt
+    pango
   ];
 
   pythonPath = lib.optionals guiSupport [
@@ -46,8 +77,6 @@ stdenv.mkDerivation rec {
     ./sconstruct-env-fixes.patch
   ];
 
-  # - leapfetch=no disables going online at build time to fetch leap-seconds
-  #   info. See <gpsd-src>/build.txt for more info.
   preBuild = ''
     patchShebangs .
     sed -e "s|systemd_dir = .*|systemd_dir = '$out/lib/systemd/system'|" -i SConscript
@@ -57,6 +86,8 @@ stdenv.mkDerivation rec {
     sconsFlags+=" python_libdir=$out/lib/${python3Packages.python.libPrefix}/site-packages"
   '';
 
+  # - leapfetch=no disables going online at build time to fetch leap-seconds
+  #   info. See <gpsd-src>/build.txt for more info.
   sconsFlags = [
     "leapfetch=no"
     "gpsd_user=${gpsdUser}"
@@ -73,6 +104,7 @@ stdenv.mkDerivation rec {
   preInstall = ''
     mkdir -p "$out/lib/udev/rules.d"
   '';
+
   installTargets = [ "install" "udev-install" ];
 
   # remove binaries for x-less install because xgps sconsflag is partially broken
@@ -103,7 +135,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = "https://gpsd.gitlab.io/gpsd/index.html";
     changelog = "https://gitlab.com/gpsd/gpsd/-/blob/release-${version}/NEWS";
-    license = licenses.bsd3;
+    license = licenses.bsd2;
     platforms = platforms.linux;
     maintainers = with maintainers; [ bjornfor rasendubi ];
   };
diff --git a/nixpkgs/pkgs/servers/grocy/0001-Define-configs-with-env-vars.patch b/nixpkgs/pkgs/servers/grocy/0001-Define-configs-with-env-vars.patch
index 0d6ae781b757..4e3d36c33c9f 100644
--- a/nixpkgs/pkgs/servers/grocy/0001-Define-configs-with-env-vars.patch
+++ b/nixpkgs/pkgs/servers/grocy/0001-Define-configs-with-env-vars.patch
@@ -1,7 +1,7 @@
-From 7ed6c641cc501246931721700b73f40dce7e8f4b Mon Sep 17 00:00:00 2001

+From 035709eeac697945a26276cc17b996c1a0678ddc Mon Sep 17 00:00:00 2001

 From: Maximilian Bosch <maximilian@mbosch.me>

 Date: Tue, 22 Dec 2020 15:38:56 +0100

-Subject: [PATCH 1/2] Define configs with env vars

+Subject: [PATCH] Define configs with env vars

 

 ---

  app.php                      | 4 ++--

@@ -11,32 +11,32 @@ Subject: [PATCH 1/2] Define configs with env vars
  4 files changed, 5 insertions(+), 6 deletions(-)

 

 diff --git a/app.php b/app.php

-index 8176ebe..04432ba 100644

+index 17ba6a99..89f48089 100644

 --- a/app.php

 +++ b/app.php

-@@ -10,7 +10,7 @@ use Slim\Factory\AppFactory;

+@@ -11,7 +11,7 @@ use Slim\Views\Blade;

  require_once __DIR__ . '/vendor/autoload.php';

  

  // Load config files

 -require_once GROCY_DATAPATH . '/config.php';

 +require_once getenv('GROCY_CONFIG_FILE');

  require_once __DIR__ . '/config-dist.php'; // For not in own config defined values we use the default ones

+ require_once __DIR__ . '/helpers/ConfigurationValidator.php';

  

- // Definitions for dev/demo/prerelease mode

-@@ -37,7 +37,7 @@ $app = AppFactory::create();

+@@ -62,7 +62,7 @@ $app = AppFactory::create();

  

  $container = $app->getContainer();

  $container->set('view', function (Container $container) {

--	return new Slim\Views\Blade(__DIR__ . '/views', GROCY_DATAPATH . '/viewcache');

-+	return new Slim\Views\Blade(__DIR__ . '/views', getenv('GROCY_CACHE_DIR'));

+-	return new Blade(__DIR__ . '/views', GROCY_DATAPATH . '/viewcache');

++	return new Blade(__DIR__ . '/views', getenv('GROCY_CACHE_DIR'));

  });

+ 

  $container->set('UrlManager', function (Container $container) {

- 	return new UrlManager(GROCY_BASE_URL);

 diff --git a/services/DatabaseService.php b/services/DatabaseService.php

-index d1080b0..8bc4ee1 100644

+index dfcd5d4b..bc8d1a1d 100644

 --- a/services/DatabaseService.php

 +++ b/services/DatabaseService.php

-@@ -105,6 +105,6 @@ class DatabaseService

+@@ -107,6 +107,6 @@ class DatabaseService

  			return GROCY_DATAPATH . '/grocy_' . $dbSuffix . '.db';

  		}

  

@@ -45,23 +45,23 @@ index d1080b0..8bc4ee1 100644
  	}

  }

 diff --git a/services/FilesService.php b/services/FilesService.php

-index 8c1483e..8f74b4b 100644

+index 7d070350..fba2e923 100644

 --- a/services/FilesService.php

 +++ b/services/FilesService.php

-@@ -70,7 +70,7 @@ class FilesService extends BaseService

- 	{

- 		parent::__construct();

+@@ -103,7 +103,7 @@ class FilesService extends BaseService

  

--		$this->StoragePath = GROCY_DATAPATH . '/storage';

+ 	public function GetFilePath($group, $fileName)

+ 	{

+-		$groupFolderPath = $this->StoragePath . '/' . $group;

 +		$this->StoragePath = getenv('GROCY_STORAGE_DIR');

  

- 		if (!file_exists($this->StoragePath))

+ 		if (!file_exists($groupFolderPath))

  		{

 diff --git a/services/StockService.php b/services/StockService.php

-index 4741b4b..6d4e748 100644

+index f73ac5bd..6b6e693a 100644

 --- a/services/StockService.php

 +++ b/services/StockService.php

-@@ -1374,8 +1374,7 @@ class StockService extends BaseService

+@@ -1589,8 +1589,7 @@ class StockService extends BaseService

  			throw new \Exception('No barcode lookup plugin defined');

  		}

  

@@ -72,5 +72,5 @@ index 4741b4b..6d4e748 100644
  		{

  			require_once $path;

 -- 

-2.29.2

+2.31.1

 

diff --git a/nixpkgs/pkgs/servers/grocy/default.nix b/nixpkgs/pkgs/servers/grocy/default.nix
index bd9a02f7b91a..a417b8e38f7e 100644
--- a/nixpkgs/pkgs/servers/grocy/default.nix
+++ b/nixpkgs/pkgs/servers/grocy/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "grocy";
-  version = "3.0.1";
+  version = "3.1.1";
 
   src = fetchurl {
     url = "https://github.com/grocy/grocy/releases/download/v${version}/grocy_${version}.zip";
-    sha256 = "sha256-Yjxv0LcLNtpYs4ntBano9NUxwdWgF5etA/M6hUVzOa8=";
+    sha256 = "sha256-xoYjaZF7Frz+QPZ37fBSbgXTwsR/+Na+XsP5tfATgNg=";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/nixpkgs/pkgs/servers/hashi-ui/default.nix b/nixpkgs/pkgs/servers/hashi-ui/default.nix
index 73a96d6a3c0e..d49d18c39019 100644
--- a/nixpkgs/pkgs/servers/hashi-ui/default.nix
+++ b/nixpkgs/pkgs/servers/hashi-ui/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "hashi-ui";
+  pname = "hashi-ui";
   version = "1.3.8";
 
   src = fetchurl {
diff --git a/nixpkgs/pkgs/servers/hasura/cli.nix b/nixpkgs/pkgs/servers/hasura/cli.nix
index af2f6f2a11f3..a65d4bb38234 100644
--- a/nixpkgs/pkgs/servers/hasura/cli.nix
+++ b/nixpkgs/pkgs/servers/hasura/cli.nix
@@ -1,7 +1,7 @@
 { buildGoModule, hasura-graphql-engine }:
 
 buildGoModule rec {
-  name = "hasura-${version}";
+  pname = "hasura";
   version = hasura-graphql-engine.version;
 
   src = hasura-graphql-engine.src;
@@ -9,15 +9,15 @@ buildGoModule rec {
 
   subPackages = [ "cmd/hasura" ];
 
-  vendorSha256 = "sha256-Fp6o3xZ/964q8yzJJFrqWZtQ5zYNy6Wreh42YxWjNbU=";
+  vendorSha256 = "1pkc9bh5s2vqnpkmnm91zaihh98b3drhiv4lcpi98rhln8r52b1k";
 
   doCheck = false;
 
-  buildFlagsArray = [''-ldflags=
-    -X github.com/hasura/graphql-engine/cli/version.BuildVersion=${version}
-    -s
-    -w
-  ''];
+  ldflags = [
+    "-X github.com/hasura/graphql-engine/cli/version.BuildVersion=${version}"
+    "-s"
+    "-w"
+  ];
 
   postInstall = ''
     mkdir -p $out/share/{bash-completion/completions,zsh/site-functions}
diff --git a/nixpkgs/pkgs/servers/headscale/default.nix b/nixpkgs/pkgs/servers/headscale/default.nix
index bece609fc4e0..06b2fa867e84 100644
--- a/nixpkgs/pkgs/servers/headscale/default.nix
+++ b/nixpkgs/pkgs/servers/headscale/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "headscale";
-  version = "0.3.4";
+  version = "0.7.1";
 
   src = fetchFromGitHub {
     owner = "juanfont";
     repo = "headscale";
     rev = "v${version}";
-    sha256 = "sha256-O8PJrowP9iDK4sQXHNi1eo44X/tRc7nyKZgJUB6fKC4=";
+    sha256 = "sha256-/mpSIS3UajxFTQm+/Ko6e0hZ8kbPWSNNctaYKaGl8Gs=";
   };
 
-  vendorSha256 = "sha256-0Lqr/tWk31S01vi21sG2gtlGouOhecL4u8ScKG0nWLo=";
+  vendorSha256 = "sha256-ususDOF/LznhK4EInHE7J/ItMjziGfP9Gn8/Q5wd78g=";
 
   # Ldflags are same as build target in the project's Makefile
   # https://github.com/juanfont/headscale/blob/main/Makefile
diff --git a/nixpkgs/pkgs/servers/heisenbridge/default.nix b/nixpkgs/pkgs/servers/heisenbridge/default.nix
index 638dba8f56c7..f4ea4be0060a 100644
--- a/nixpkgs/pkgs/servers/heisenbridge/default.nix
+++ b/nixpkgs/pkgs/servers/heisenbridge/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonPackage rec {
   pname = "heisenbridge";
-  version = "0.99.1";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "hifi";
     repo = "heisenbridge";
     rev = "v${version}";
-    sha256 = "sha256-v3ji450YFxMiyBOb4DuDJDvAGKhWYSSQ8kBB51r97PE=";
+    sha256 = "sha256-DmYGP50GsthxvhXUMkwV+mvcfCjCMu90VMe5woNvf1w=";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/nixpkgs/pkgs/servers/holochain-go/default.nix b/nixpkgs/pkgs/servers/holochain-go/default.nix
index 0d138e1f648e..f98352c5c95d 100644
--- a/nixpkgs/pkgs/servers/holochain-go/default.nix
+++ b/nixpkgs/pkgs/servers/holochain-go/default.nix
@@ -1,7 +1,7 @@
 { lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
-  name = "holochain-go${version}";
+  pname = "holochain-go";
   version = "0.1.0-alpha";
   rev = "a17510b910a7a377441c152b8dccdbae1999f63f";
 
diff --git a/nixpkgs/pkgs/servers/home-assistant/component-packages.nix b/nixpkgs/pkgs/servers/home-assistant/component-packages.nix
index 2190bd6b2787..da88c09c5b61 100644
--- a/nixpkgs/pkgs/servers/home-assistant/component-packages.nix
+++ b/nixpkgs/pkgs/servers/home-assistant/component-packages.nix
@@ -2,13 +2,14 @@
 # Do not edit!
 
 {
-  version = "2021.7.0";
+  version = "2021.8.8";
   components = {
     "abode" = ps: with ps; [ abodepy ];
     "accuweather" = ps: with ps; [ accuweather ];
     "acer_projector" = ps: with ps; [ pyserial ];
     "acmeda" = ps: with ps; [ aiopulse ];
     "actiontec" = ps: with ps; [ ];
+    "adax" = ps: with ps; [ adax ];
     "adguard" = ps: with ps; [ adguardhome ];
     "ads" = ps: with ps; [ pyads ];
     "advantage_air" = ps: with ps; [ advantage-air ];
@@ -32,7 +33,7 @@
     "ambient_station" = ps: with ps; [ aioambient ];
     "amcrest" = ps: with ps; [ amcrest ha-ffmpeg ];
     "ampio" = ps: with ps; [ ]; # missing inputs: asmog
-    "analytics" = ps: with ps; [ aiohttp-cors ];
+    "analytics" = ps: with ps; [ aiohttp-cors sqlalchemy ];
     "android_ip_webcam" = ps: with ps; [ pydroid-ipcam ];
     "androidtv" = ps: with ps; [ adb-shell androidtv pure-python-adb ];
     "anel_pwrctrl" = ps: with ps; [ ]; # missing inputs: anel_pwrctrl-homeassistant
@@ -92,7 +93,7 @@
     "bluesound" = ps: with ps; [ xmltodict ];
     "bluetooth_le_tracker" = ps: with ps; [ pygatt ];
     "bluetooth_tracker" = ps: with ps; [ bt-proximity pybluez ];
-    "bme280" = ps: with ps; [ smbus-cffi ]; # missing inputs: i2csense
+    "bme280" = ps: with ps; [ smbus-cffi ]; # missing inputs: bme280spi i2csense
     "bme680" = ps: with ps; [ bme680 smbus-cffi ];
     "bmp280" = ps: with ps; [ ]; # missing inputs: RPi.GPIO adafruit-circuitpython-bmp280
     "bmw_connected_drive" = ps: with ps; [ bimmer-connected ];
@@ -183,7 +184,7 @@
     "dlib_face_detect" = ps: with ps; [ face_recognition ];
     "dlib_face_identify" = ps: with ps; [ face_recognition ];
     "dlink" = ps: with ps; [ ]; # missing inputs: pyW215
-    "dlna_dmr" = ps: with ps; [ async-upnp-client ];
+    "dlna_dmr" = ps: with ps; [ aiohttp-cors async-upnp-client ifaddr ];
     "dnsip" = ps: with ps; [ aiodns ];
     "dominos" = ps: with ps; [ aiohttp-cors ]; # missing inputs: pizzapi
     "doods" = ps: with ps; [ pillow ]; # missing inputs: pydoods
@@ -224,7 +225,8 @@
     "emonitor" = ps: with ps; [ aioemonitor ];
     "emulated_hue" = ps: with ps; [ aiohttp-cors ];
     "emulated_kasa" = ps: with ps; [ sense-energy ];
-    "emulated_roku" = ps: with ps; [ emulated-roku ];
+    "emulated_roku" = ps: with ps; [ aiohttp-cors emulated-roku ifaddr ];
+    "energy" = ps: with ps; [ aiohttp-cors sqlalchemy ];
     "enigma2" = ps: with ps; [ openwebifpy ];
     "enocean" = ps: with ps; [ enocean ];
     "enphase_envoy" = ps: with ps; [ envoy-reader ];
@@ -268,6 +270,7 @@
     "flexit" = ps: with ps; [ pymodbus ]; # missing inputs: pyflexit
     "flic" = ps: with ps; [ pyflic ];
     "flick_electric" = ps: with ps; [ pyflick ];
+    "flipr" = ps: with ps; [ ]; # missing inputs: flipr-api
     "flo" = ps: with ps; [ aioflo ];
     "flock" = ps: with ps; [ ];
     "flume" = ps: with ps; [ pyflume ];
@@ -286,20 +289,19 @@
     "freebox" = ps: with ps; [ freebox-api ];
     "freedns" = ps: with ps; [ ];
     "freedompro" = ps: with ps; [ pyfreedompro ];
-    "fritz" = ps: with ps; [ aiohttp-cors fritzconnection fritzprofiles ifaddr xmltodict ];
+    "fritz" = ps: with ps; [ aiohttp-cors fritzconnection ifaddr xmltodict ];
     "fritzbox" = ps: with ps; [ pyfritzhome ];
     "fritzbox_callmonitor" = ps: with ps; [ fritzconnection ];
-    "fritzbox_netmonitor" = ps: with ps; [ fritzconnection ];
     "fronius" = ps: with ps; [ pyfronius ];
-    "frontend" = ps: with ps; [ aiohttp-cors home-assistant-frontend pillow ];
+    "frontend" = ps: with ps; [ aiohttp-cors home-assistant-frontend pillow sqlalchemy ];
     "frontier_silicon" = ps: with ps; [ ]; # missing inputs: afsapi
     "futurenow" = ps: with ps; [ pyfnip ];
     "garadget" = ps: with ps; [ ];
     "garages_amsterdam" = ps: with ps; [ garages-amsterdam ];
-    "garmin_connect" = ps: with ps; [ garminconnect-ha ];
     "gc100" = ps: with ps; [ ]; # missing inputs: python-gc100
     "gdacs" = ps: with ps; [ aio-georss-gdacs ];
     "generic" = ps: with ps; [ ];
+    "generic_hygrostat" = ps: with ps; [ ];
     "generic_thermostat" = ps: with ps; [ sqlalchemy ];
     "geniushub" = ps: with ps; [ ]; # missing inputs: geniushub-client
     "geo_json_events" = ps: with ps; [ geojson-client ];
@@ -342,7 +344,7 @@
     "hangouts" = ps: with ps; [ hangups ];
     "harman_kardon_avr" = ps: with ps; [ ]; # missing inputs: hkavr
     "harmony" = ps: with ps; [ aioharmony ];
-    "hassio" = ps: with ps; [ aiohttp-cors home-assistant-frontend pillow ];
+    "hassio" = ps: with ps; [ aiohttp-cors home-assistant-frontend pillow sqlalchemy ];
     "haveibeenpwned" = ps: with ps; [ ];
     "hddtemp" = ps: with ps; [ ];
     "hdmi_cec" = ps: with ps; [ pycec ];
@@ -371,7 +373,7 @@
     "html5" = ps: with ps; [ aiohttp-cors pywebpush ];
     "http" = ps: with ps; [ aiohttp-cors ];
     "htu21d" = ps: with ps; [ smbus-cffi ]; # missing inputs: i2csense
-    "huawei_lte" = ps: with ps; [ getmac huawei-lte-api stringcase url-normalize ];
+    "huawei_lte" = ps: with ps; [ huawei-lte-api stringcase url-normalize ];
     "huawei_router" = ps: with ps; [ ];
     "hue" = ps: with ps; [ aiohue ];
     "huisbaasje" = ps: with ps; [ huisbaasje-client ];
@@ -460,7 +462,7 @@
     "litterrobot" = ps: with ps; [ pylitterbot ];
     "llamalab_automate" = ps: with ps; [ ];
     "local_file" = ps: with ps; [ ];
-    "local_ip" = ps: with ps; [ ];
+    "local_ip" = ps: with ps; [ aiohttp-cors ifaddr ];
     "locative" = ps: with ps; [ aiohttp-cors ];
     "lock" = ps: with ps; [ ];
     "logbook" = ps: with ps; [ aiohttp-cors home-assistant-frontend pillow sqlalchemy ];
@@ -484,7 +486,7 @@
     "mailgun" = ps: with ps; [ aiohttp-cors ]; # missing inputs: pymailgunner
     "manual" = ps: with ps; [ ];
     "manual_mqtt" = ps: with ps; [ aiohttp-cors paho-mqtt ];
-    "map" = ps: with ps; [ aiohttp-cors home-assistant-frontend pillow ];
+    "map" = ps: with ps; [ aiohttp-cors home-assistant-frontend pillow sqlalchemy ];
     "marytts" = ps: with ps; [ ]; # missing inputs: speak2mary
     "mastodon" = ps: with ps; [ mastodon-py ];
     "matrix" = ps: with ps; [ matrix-client ];
@@ -528,7 +530,7 @@
     "monoprice" = ps: with ps; [ ]; # missing inputs: pymonoprice
     "moon" = ps: with ps; [ ];
     "motion_blinds" = ps: with ps; [ ]; # missing inputs: motionblinds
-    "motioneye" = ps: with ps; [ motioneye-client ];
+    "motioneye" = ps: with ps; [ aiohttp-cors motioneye-client ];
     "mpchc" = ps: with ps; [ ];
     "mpd" = ps: with ps; [ mpd2 ];
     "mqtt" = ps: with ps; [ aiohttp-cors paho-mqtt ];
@@ -540,7 +542,7 @@
     "mullvad" = ps: with ps; [ mullvad-api ];
     "mutesync" = ps: with ps; [ mutesync ];
     "mvglive" = ps: with ps; [ PyMVGLive ];
-    "my" = ps: with ps; [ aiohttp-cors home-assistant-frontend pillow ];
+    "my" = ps: with ps; [ aiohttp-cors home-assistant-frontend pillow sqlalchemy ];
     "mychevy" = ps: with ps; [ ]; # missing inputs: mychevy
     "mycroft" = ps: with ps; [ ]; # missing inputs: mycroftapi
     "myq" = ps: with ps; [ pymyq ];
@@ -566,7 +568,7 @@
     "nexia" = ps: with ps; [ nexia ];
     "nextbus" = ps: with ps; [ ]; # missing inputs: py_nextbusnext
     "nextcloud" = ps: with ps; [ nextcloudmonitor ];
-    "nfandroidtv" = ps: with ps; [ ];
+    "nfandroidtv" = ps: with ps; [ ]; # missing inputs: notifications-android-tv
     "nightscout" = ps: with ps; [ ]; # missing inputs: py-nightscout
     "niko_home_control" = ps: with ps; [ ]; # missing inputs: niko-home-control
     "nilu" = ps: with ps; [ ]; # missing inputs: niluclient
@@ -596,7 +598,7 @@
     "ohmconnect" = ps: with ps; [ defusedxml ];
     "ombi" = ps: with ps; [ ]; # missing inputs: pyombi
     "omnilogic" = ps: with ps; [ omnilogic ];
-    "onboarding" = ps: with ps; [ aiohttp-cors home-assistant-frontend pillow ];
+    "onboarding" = ps: with ps; [ aiohttp-cors home-assistant-frontend pillow sqlalchemy ];
     "ondilo_ico" = ps: with ps; [ aiohttp-cors ondilo ];
     "onewire" = ps: with ps; [ ]; # missing inputs: pi1wire pyownet
     "onkyo" = ps: with ps; [ onkyo-eiscp ];
@@ -607,7 +609,7 @@
     "openerz" = ps: with ps; [ openerz-api ];
     "openevse" = ps: with ps; [ ]; # missing inputs: openevsewifi
     "openexchangerates" = ps: with ps; [ ];
-    "opengarage" = ps: with ps; [ ]; # missing inputs: open-garage
+    "opengarage" = ps: with ps; [ open-garage ];
     "openhardwaremonitor" = ps: with ps; [ ];
     "openhome" = ps: with ps; [ openhomedevice ];
     "opensensemap" = ps: with ps; [ opensensemap-api ];
@@ -628,8 +630,8 @@
     "panasonic_bluray" = ps: with ps; [ ]; # missing inputs: panacotta
     "panasonic_viera" = ps: with ps; [ ]; # missing inputs: panasonic_viera
     "pandora" = ps: with ps; [ pexpect ];
-    "panel_custom" = ps: with ps; [ aiohttp-cors home-assistant-frontend pillow ];
-    "panel_iframe" = ps: with ps; [ aiohttp-cors home-assistant-frontend pillow ];
+    "panel_custom" = ps: with ps; [ aiohttp-cors home-assistant-frontend pillow sqlalchemy ];
+    "panel_iframe" = ps: with ps; [ aiohttp-cors home-assistant-frontend pillow sqlalchemy ];
     "pcal9535a" = ps: with ps; [ ]; # missing inputs: pcal9535a
     "pencom" = ps: with ps; [ ]; # missing inputs: pencompy
     "persistent_notification" = ps: with ps; [ ];
@@ -656,7 +658,8 @@
     "profiler" = ps: with ps; [ guppy3 objgraph pyprof2calltree ];
     "progettihwsw" = ps: with ps; [ ]; # missing inputs: progettihwsw
     "proliphix" = ps: with ps; [ ]; # missing inputs: proliphix
-    "prometheus" = ps: with ps; [ aiohttp-cors prometheus_client ];
+    "prometheus" = ps: with ps; [ aiohttp-cors prometheus-client ];
+    "prosegur" = ps: with ps; [ pyprosegur ];
     "prowl" = ps: with ps; [ ];
     "proximity" = ps: with ps; [ ];
     "proxmoxve" = ps: with ps; [ proxmoxer ];
@@ -696,6 +699,7 @@
     "remember_the_milk" = ps: with ps; [ httplib2 ]; # missing inputs: RtmAPI
     "remote" = ps: with ps; [ ];
     "remote_rpi_gpio" = ps: with ps; [ ]; # missing inputs: gpiozero
+    "renault" = ps: with ps; [ ]; # missing inputs: renault-api
     "repetier" = ps: with ps; [ ]; # missing inputs: pyrepetier
     "rest" = ps: with ps; [ jsonpath xmltodict ];
     "rest_command" = ps: with ps; [ ];
@@ -717,16 +721,16 @@
     "rpi_gpio_pwm" = ps: with ps; [ ]; # missing inputs: pwmled
     "rpi_pfio" = ps: with ps; [ ]; # missing inputs: pifacecommon pifacedigitalio
     "rpi_power" = ps: with ps; [ ]; # missing inputs: rpi-bad-power
-    "rpi_rf" = ps: with ps; [ ]; # missing inputs: rpi-rf
+    "rpi_rf" = ps: with ps; [ ]; # missing inputs: RPi.GPIO rpi-rf
     "rss_feed_template" = ps: with ps; [ aiohttp-cors ];
     "rtorrent" = ps: with ps; [ ];
     "ruckus_unleashed" = ps: with ps; [ pyruckus ];
     "russound_rio" = ps: with ps; [ ]; # missing inputs: russound_rio
     "russound_rnet" = ps: with ps; [ ]; # missing inputs: russound
     "sabnzbd" = ps: with ps; [ aiohttp-cors ifaddr netdisco zeroconf ]; # missing inputs: pysabnzbd
-    "safe_mode" = ps: with ps; [ aiohttp-cors hass-nabucasa home-assistant-frontend pillow ];
+    "safe_mode" = ps: with ps; [ aiohttp-cors hass-nabucasa home-assistant-frontend pillow sqlalchemy ];
     "saj" = ps: with ps; [ ]; # missing inputs: pysaj
-    "samsungtv" = ps: with ps; [ samsungctl samsungtvws wakeonlan ];
+    "samsungtv" = ps: with ps; [ getmac samsungctl samsungtvws wakeonlan ];
     "satel_integra" = ps: with ps; [ ]; # missing inputs: satel_integra
     "scene" = ps: with ps; [ ];
     "schluter" = ps: with ps; [ ]; # missing inputs: py-schluter
@@ -763,6 +767,7 @@
     "simplisafe" = ps: with ps; [ simplisafe-python ];
     "simulated" = ps: with ps; [ ];
     "sinch" = ps: with ps; [ ]; # missing inputs: clx-sdk-xms
+    "siren" = ps: with ps; [ ];
     "sisyphus" = ps: with ps; [ ]; # missing inputs: sisyphus-control
     "sky_hub" = ps: with ps; [ ]; # missing inputs: pyskyqhub
     "skybeacon" = ps: with ps; [ pygatt ];
@@ -793,7 +798,7 @@
     "somfy_mylink" = ps: with ps; [ somfy-mylink-synergy ];
     "sonarr" = ps: with ps; [ sonarr ];
     "songpal" = ps: with ps; [ python-songpal ];
-    "sonos" = ps: with ps; [ aiohttp-cors async-upnp-client defusedxml ifaddr plexapi plexauth plexwebsocket pysonos zeroconf ];
+    "sonos" = ps: with ps; [ aiohttp-cors async-upnp-client defusedxml ifaddr plexapi plexauth plexwebsocket soco zeroconf ];
     "sony_projector" = ps: with ps; [ ]; # missing inputs: pysdcp
     "soundtouch" = ps: with ps; [ aiohttp-cors ifaddr libsoundtouch zeroconf ];
     "spaceapi" = ps: with ps; [ aiohttp-cors ];
@@ -833,7 +838,7 @@
     "syncthing" = ps: with ps; [ aiosyncthing ];
     "syncthru" = ps: with ps; [ pysyncthru url-normalize ];
     "synology_chat" = ps: with ps; [ ];
-    "synology_dsm" = ps: with ps; [ synologydsm-api ];
+    "synology_dsm" = ps: with ps; [ ]; # missing inputs: py-synologydsm-api
     "synology_srm" = ps: with ps; [ ]; # missing inputs: synology-srm
     "syslog" = ps: with ps; [ ];
     "system_bridge" = ps: with ps; [ aiohttp-cors ifaddr systembridge zeroconf ];
@@ -969,7 +974,6 @@
     "worldtidesinfo" = ps: with ps; [ ];
     "worxlandroid" = ps: with ps; [ ];
     "wsdot" = ps: with ps; [ ];
-    "wunderground" = ps: with ps; [ ];
     "x10" = ps: with ps; [ ];
     "xbee" = ps: with ps; [ ]; # missing inputs: xbee-helper
     "xbox" = ps: with ps; [ aiohttp-cors xbox-webapi ];
@@ -989,6 +993,7 @@
     "yeelight" = ps: with ps; [ yeelight ];
     "yeelightsunflower" = ps: with ps; [ ]; # missing inputs: yeelightsunflower
     "yi" = ps: with ps; [ aioftp ha-ffmpeg ];
+    "youless" = ps: with ps; [ ]; # missing inputs: youless-api
     "zabbix" = ps: with ps; [ ]; # missing inputs: py-zabbix
     "zamg" = ps: with ps; [ ];
     "zengge" = ps: with ps; [ ]; # missing inputs: zengge
diff --git a/nixpkgs/pkgs/servers/home-assistant/default.nix b/nixpkgs/pkgs/servers/home-assistant/default.nix
index 36af74cc1620..7bf04b65c723 100644
--- a/nixpkgs/pkgs/servers/home-assistant/default.nix
+++ b/nixpkgs/pkgs/servers/home-assistant/default.nix
@@ -24,6 +24,18 @@ let
     # Override the version of some packages pinned in Home Assistant's setup.py and requirements_all.txt
     (mkOverride "python-slugify" "4.0.1" "69a517766e00c1268e5bbfc0d010a0a8508de0b18d30ad5a1ff357f8ae724270")
 
+    (self: super: {
+      async-upnp-client = super.async-upnp-client.overridePythonAttrs (oldAttrs: rec {
+        version = "0.19.2";
+        src = fetchFromGitHub {
+          owner = "StevenLooman";
+          repo = "async_upnp_client";
+          rev = version;
+          sha256 = "1v8d2lvxihqasn7866zssys16s0lgxkk6ri2dp4rr7wr8g9ixvdr";
+        };
+      });
+    })
+
     # Pinned due to API changes in iaqualink>=2.0, remove after
     # https://github.com/home-assistant/core/pull/48137 was merged
     (self: super: {
@@ -53,64 +65,10 @@ let
       });
     })
 
-    # Pinned due to bug in ring-doorbell 0.7.0
-    # https://github.com/tchellomello/python-ring-doorbell/issues/240
-    (mkOverride "ring-doorbell" "0.6.2"
-      "fbd537722a27b3b854c26506d894b7399bb8dc57ff36083285971227a2d46560")
-
-    # Pinned due to API changes in pyatv>=0.8.0
-    (self: super: {
-      pyatv = super.pyatv.overridePythonAttrs (olAttrs: rec {
-        version = "0.7.7";
-        src = fetchFromGitHub {
-          owner = "postlund";
-          repo = "pyatv";
-          rev = "v${version}";
-          sha256 = "sha256-dPnh8XZN7ZVR2rYNnj7GSYXW5I2GNQwD/KRDTgs2AtI=";
-        };
-      });
-    })
-
-    # Pinned due to API changes in pyflunearyou>=2.0
-    (self: super: {
-      pyflunearyou = super.pyflunearyou.overridePythonAttrs (oldAttrs: rec {
-        version = "1.0.7";
-        src = fetchFromGitHub {
-          owner = "bachya";
-          repo = "pyflunearyou";
-          rev = version;
-          sha256 = "0hq55k298m9a90qb3lasw9bi093hzndrah00rfq94bp53aq0is99";
-        };
-        postPatch = ''
-          substituteInPlace pyproject.toml \
-            --replace "poetry.masonry.api" "poetry.core.masonry.api" \
-            --replace 'msgpack = "^0.6.2"' 'msgpack = "*"' \
-            --replace 'ujson = "^1.35"' 'ujson = "*"'
-        '';
-      });
-    })
-
     # Pinned due to API changes in pylast 4.2.1
     (mkOverride "pylast" "4.2.0"
       "0zd0dn2l738ndz62vpa751z0ldnm91dcz9zzbvxv53r08l0s9yf3")
 
-    # Pinned due to API changes in pyopenuv>=1.1.0
-    (self: super: {
-      pyopenuv = super.pyopenuv.overridePythonAttrs (oldAttrs: rec {
-        version = "1.0.13";
-        src = fetchFromGitHub {
-          owner = "bachya";
-          repo = "pyopenuv";
-          rev = version;
-          sha256 = "1gx9xjkyvqqy8410lnbshq1j5y4cb0cdc4m505g17rwdzdwb01y8";
-        };
-        postPatch = ''
-          substituteInPlace pyproject.toml \
-            --replace "poetry.masonry.api" "poetry.core.masonry.api"
-        '';
-      });
-    })
-
     # Pinned due to API changes in pyruckus>0.12
     (self: super: {
       pyruckus = super.pyruckus.overridePythonAttrs (oldAttrs: rec {
@@ -137,6 +95,19 @@ let
       });
     })
 
+    # Pinned due to changes in total-connect-client>0.58 which made the tests fails at the moment
+    (self: super: {
+      total-connect-client = super.total-connect-client.overridePythonAttrs (oldAttrs: rec {
+        version = "0.58";
+        src = fetchFromGitHub {
+          owner = "craigjmidwinter";
+          repo = "total-connect-client";
+          rev = version;
+          sha256 = "1dqmgvgvwjh235wghygan2jnfvmn9vz789in2as3asig9cifix9z";
+        };
+      });
+    })
+
     # home-assistant-frontend does not exist in python3.pkgs
     (self: super: {
       home-assistant-frontend = self.callPackage ./frontend.nix { };
@@ -170,7 +141,7 @@ let
   extraBuildInputs = extraPackages py.pkgs;
 
   # Don't forget to run parse-requirements.py after updating
-  hassVersion = "2021.7.0";
+  hassVersion = "2021.8.8";
 
 in with py.pkgs; buildPythonApplication rec {
   pname = "homeassistant";
@@ -187,7 +158,7 @@ in with py.pkgs; buildPythonApplication rec {
     owner = "home-assistant";
     repo = "core";
     rev = version;
-    sha256 = "1dx1pmi0w265pyajmmvd7k6vb5z7s77a7b161zd0n4zsb989dil6";
+    sha256 = "1fj16qva04d9qhpnfxxacsp82vqqfha5c2zg4f850kld4qhwrgky";
   };
 
   # leave this in, so users don't have to constantly update their downstream patch handling
@@ -401,7 +372,6 @@ in with py.pkgs; buildPythonApplication rec {
     "fritzbox_callmonitor"
     "frontend"
     "garages_amsterdam"
-    "garmin_connect"
     "gdacs"
     "generic"
     "generic_thermostat"
@@ -443,7 +413,8 @@ in with py.pkgs; buildPythonApplication rec {
     "home_connect"
     "home_plus_control"
     "homeassistant"
-    "homekit"
+    # disable homekit tests because they fail in the network component
+    #"homekit"
     "homekit_controller"
     "homematic"
     "homematicip_cloud"
@@ -671,7 +642,6 @@ in with py.pkgs; buildPythonApplication rec {
     "switcher_kis"
     "syncthing"
     "syncthru"
-    "synology_dsm"
     "system_health"
     "system_log"
     "tado"
@@ -744,7 +714,6 @@ in with py.pkgs; buildPythonApplication rec {
     "workday"
     "worldclock"
     "wsdot"
-    "wunderground"
     "xbox"
     "xiaomi"
     "xiaomi_aqara"
@@ -804,8 +773,15 @@ in with py.pkgs; buildPythonApplication rec {
     # wallbox/test_config_flow.py: Tries to connect to api.wall-box.cim: Failed to establish a new connection: [Errno -2] Name or service not known
     "--deselect tests/components/wallbox/test_config_flow.py::test_form_invalid_auth"
     "--deselect tests/components/wallbox/test_config_flow.py::test_form_cannot_connect"
-    # tests/components/default_config/test_init.py: Tries to check for updates and fails ungracefully without network access
+    # default_config/test_init.py: Tries to check for updates and fails ungracefully without network access
     "--deselect tests/components/default_config/test_init.py::test_setup"
+    # local_ip/test_{init,config_flow}.py: tries to lookup a route towards a multicast address and fails
+    "--deselect tests/components/local_ip/test_init.py::test_basic_setup"
+    "--deselect tests/components/local_ip/test_config_flow.py::test_config_flow"
+    # netatmo/test_select.py: NoneType object has no attribute state
+    "--deselect tests/components/netatmo/test_select.py::test_select_schedule_thermostats"
+    # helpers/test_system_info.py: AssertionError: assert 'Unknown' == 'Home Assistant Container'
+    "--deselect tests/helpers/test_system_info.py::test_container_installationtype"
     # tests are located in tests/
     "tests"
     # dynamically add packages required for component tests
@@ -841,8 +817,6 @@ in with py.pkgs; buildPythonApplication rec {
     "test_onboarding_core_no_rpi_power"
     # hue/test_sensor_base.py: Race condition when counting events
     "test_hue_events"
-    # homekit/test_homekit.py: Tries to use zeroconf, which tries to join a multicast group
-    "test_homekit_uses_system_zeroconf"
     # august/test_lock.py: AssertionError: assert 'unlocked' == 'locked'
     "test_lock_update_via_pubnub"
   ];
diff --git a/nixpkgs/pkgs/servers/home-assistant/frontend.nix b/nixpkgs/pkgs/servers/home-assistant/frontend.nix
index a42b13a260d5..926cb48ce30e 100644
--- a/nixpkgs/pkgs/servers/home-assistant/frontend.nix
+++ b/nixpkgs/pkgs/servers/home-assistant/frontend.nix
@@ -4,11 +4,11 @@ buildPythonPackage rec {
   # the frontend version corresponding to a specific home-assistant version can be found here
   # https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/frontend/manifest.json
   pname = "home-assistant-frontend";
-  version = "20210707.0";
+  version = "20210809.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-6RR+T4+vS6g00+MS1ty8aFVx6WM2dE+c17+wDoPxnGg=";
+    sha256 = "sha256-5NWNDhQ7XKK9/tC+SbpwOm2MSA2VGHLcE1ggyl6vPkc=";
   };
 
   # there is nothing to strip in this package
diff --git a/nixpkgs/pkgs/servers/home-assistant/update.sh b/nixpkgs/pkgs/servers/home-assistant/update.sh
index 8b17dabdfe28..56f7b0aaede8 100755
--- a/nixpkgs/pkgs/servers/home-assistant/update.sh
+++ b/nixpkgs/pkgs/servers/home-assistant/update.sh
@@ -36,5 +36,5 @@ sed -i -e "s/hassVersion =.*/hassVersion = \"${TARGET_VERSION}\";/" \
     nix-update --version "$TARGET_VERSION" --build home-assistant
 )
 
-git add ./component-packages.nix ./default.nix ./frontend.nix
-git commit -m "home-assistant: ${CURRENT_VERSION} -> ${TARGET_VERSION}"
+#git add ./component-packages.nix ./default.nix ./frontend.nix
+#git commit -m "home-assistant: ${CURRENT_VERSION} -> ${TARGET_VERSION}"
diff --git a/nixpkgs/pkgs/servers/hqplayerd/default.nix b/nixpkgs/pkgs/servers/hqplayerd/default.nix
index 594085d422ef..92ce3294f1c3 100644
--- a/nixpkgs/pkgs/servers/hqplayerd/default.nix
+++ b/nixpkgs/pkgs/servers/hqplayerd/default.nix
@@ -17,11 +17,11 @@
 
 stdenv.mkDerivation rec {
   pname = "hqplayerd";
-  version = "4.24.2-63";
+  version = "4.25.2-66";
 
   src = fetchurl {
     url = "https://www.signalyst.eu/bins/${pname}/fc34/${pname}-${version}.fc34.x86_64.rpm";
-    sha256 = "sha256-6JUgHDO+S73n/IVQhkmC0Nw4GQVzTLtiBbz/wZiflRg=";
+    sha256 = "sha256-BZGtv/Bumkltk6fJw3+RG1LZc3pGpd8e4DvgLxOTvcQ=";
   };
 
   unpackPhase = ''
@@ -53,24 +53,28 @@ stdenv.mkDerivation rec {
     mkdir -p $out/bin
     cp ./usr/bin/hqplayerd $out/bin
 
+    # main configuration
+    mkdir -p $out/etc/hqplayer
+    cp ./etc/hqplayer/hqplayerd.xml $out/etc/hqplayer/
+
     # udev rules
     mkdir -p $out/etc/udev/rules.d
-    cp ./etc/udev/rules.d/50-taudio2.rules $out/etc/udev/rules.d
+    cp ./etc/udev/rules.d/50-taudio2.rules $out/etc/udev/rules.d/
 
     # kernel module cfgs
     mkdir -p $out/etc/modules-load.d
-    cp ./etc/modules-load.d/taudio2.conf $out/etc/modules-load.d
+    cp ./etc/modules-load.d/taudio2.conf $out/etc/modules-load.d/
 
     # systemd service file
     mkdir -p $out/lib/systemd/system
-    cp ./usr/lib/systemd/system/hqplayerd.service $out/lib/systemd/system
+    cp ./usr/lib/systemd/system/hqplayerd.service $out/lib/systemd/system/
 
     # documentation
     mkdir -p $out/share/doc/hqplayerd
-    cp ./usr/share/doc/hqplayerd/* $out/share/doc/hqplayerd
+    cp ./usr/share/doc/hqplayerd/* $out/share/doc/hqplayerd/
 
     # misc service support files
-    mkdir -p $out/var/lib/hqplayerd
+    mkdir -p $out/var/lib/hqplayer
     cp -r ./var/lib/hqplayer/web $out/var/lib/hqplayer
 
     runHook postInstall
@@ -78,7 +82,8 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     substituteInPlace $out/lib/systemd/system/hqplayerd.service \
-      --replace /usr/bin/hqplayerd $out/bin/hqplayerd
+      --replace /usr/bin/hqplayerd $out/bin/hqplayerd \
+      --replace "NetworkManager-wait-online.service" ""
   '';
 
   postFixup = ''
diff --git a/nixpkgs/pkgs/servers/http/apache-modules/mod_auth_mellon/default.nix b/nixpkgs/pkgs/servers/http/apache-modules/mod_auth_mellon/default.nix
index c8cb13022e26..8763591d05e3 100644
--- a/nixpkgs/pkgs/servers/http/apache-modules/mod_auth_mellon/default.nix
+++ b/nixpkgs/pkgs/servers/http/apache-modules/mod_auth_mellon/default.nix
@@ -3,19 +3,15 @@
 stdenv.mkDerivation rec {
 
   pname = "mod_auth_mellon";
-  version = "0.17.0";
+  version = "0.18.0";
 
   src = fetchFromGitHub {
     owner = "latchset";
     repo = "mod_auth_mellon";
     rev = "v${version}";
-    sha256 = "03bkvqkmqq72ff1a8cpvpcxngnlz1p6433y2fkkynpjfr19cna2s";
+    sha256 = "0alfa8hz09jdg29bi1mvhwyr2nl0nvss2a2kybrcjvdw1fx6vijn";
   };
 
-  patches = [
-    ./fixdeps.patch
-  ];
-
   nativeBuildInputs = [ autoreconfHook pkg-config ];
   buildInputs = [ apacheHttpd autoconf automake curl glib lasso libtool libxml2 libxslt openssl xmlsec ];
 
@@ -29,7 +25,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = "https://github.com/UNINETT/mod_auth_mellon";
+    homepage = "https://github.com/latchset/mod_auth_mellon";
     description = "An Apache module with a simple SAML 2.0 service provider";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/servers/http/apache-modules/mod_auth_mellon/fixdeps.patch b/nixpkgs/pkgs/servers/http/apache-modules/mod_auth_mellon/fixdeps.patch
deleted file mode 100644
index 4f814ad60368..000000000000
--- a/nixpkgs/pkgs/servers/http/apache-modules/mod_auth_mellon/fixdeps.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-diff --git a/Makefile.in b/Makefile.in
-index 1388c91..ab28982 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -42,7 +42,7 @@ DISTFILES=$(SRC) \
- all:	mod_auth_mellon.la
- 
- mod_auth_mellon.la: $(SRC) auth_mellon.h auth_mellon_compat.h
--	@APXS2@ -Wc,"-std=c99 @MELLON_CFLAGS@ @OPENSSL_CFLAGS@ @LASSO_CFLAGS@ @CURL_CFLAGS@ @GLIB_CFLAGS@ @CFLAGS@" -Wl,"@OPENSSL_LIBS@ @LASSO_LIBS@ @CURL_LIBS@ @GLIB_LIBS@" -Wc,-Wall -Wc,-g -c $(SRC)
-+	@APXS2@ -Wc,"-std=c99 @MELLON_CFLAGS@ @OPENSSL_CFLAGS@ @LASSO_CFLAGS@ @CURL_CFLAGS@ @GLIB_CFLAGS@ @CFLAGS@ @LIBXML2_CFLAGS@ @XMLSEC_CFLAGS@ @CFLAGS@" -Wl,"@OPENSSL_LIBS@ @LASSO_LIBS@ @CURL_LIBS@ @GLIB_LIBS@ @LIBXML2_LIBS@ @XMLSEC_LIBS@" -Wc,-Wall -Wc,-g -c $(SRC)
- 
- 
- # Building configure (for distribution)
-diff --git a/configure.ac b/configure.ac
-index 421b952..e62768e 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -91,6 +91,16 @@ AC_SUBST(GLIB_LIBS)
- 
- AC_SUBST(MELLON_CFLAGS)
- 
-+#include <libxml/uri.h>
-+PKG_CHECK_MODULES(LIBXML2, libxml-2.0)
-+AC_SUBST(LIBXML2_CFLAGS)
-+AC_SUBST(LIBXML2_LIBS)
-+
-+#include <xmlsec/xmlenc.h>
-+PKG_CHECK_MODULES(XMLSEC, xmlsec1-openssl)
-+AC_SUBST(XMLSEC_CFLAGS)
-+AC_SUBST(XMLSEC_LIBS)
-+
- # Test to see if we can include lasso/utils.h
- # AC_CHECK_HEADER won't work correctly unless we specifiy the include directories
- # found in the LASSO_CFLAGS. Save and restore CFLAGS and CPPFLAGS.
diff --git a/nixpkgs/pkgs/servers/http/apache-modules/mod_fastcgi/default.nix b/nixpkgs/pkgs/servers/http/apache-modules/mod_fastcgi/default.nix
index 0e5a5fed31c1..eeabbc1f30dc 100644
--- a/nixpkgs/pkgs/servers/http/apache-modules/mod_fastcgi/default.nix
+++ b/nixpkgs/pkgs/servers/http/apache-modules/mod_fastcgi/default.nix
@@ -1,17 +1,15 @@
 { lib, stdenv, fetchurl, apacheHttpd }:
 
 let
-  version = "2.4.7.1";
-
   apache-24-patch = fetchurl {
-      name = "compile-against-apache24.diff";
-      url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/compile-against-apache24.diff?h=packages/mod_fastcgi&id=81c7cb99d15682df3bdb1edcaeea5259e9e43a42";
-      sha256 = "000qvrf5jb979i37rimrdivcgjijcffgrpkx38c0rn62z9jz61g4";
-    };
+    name = "compile-against-apache24.diff";
+    url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/compile-against-apache24.diff?h=packages/mod_fastcgi&id=81c7cb99d15682df3bdb1edcaeea5259e9e43a42";
+    sha256 = "000qvrf5jb979i37rimrdivcgjijcffgrpkx38c0rn62z9jz61g4";
+  };
 in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "mod_fastcgi";
-  inherit version;
+  version = "2.4.7.1";
 
   src = fetchurl {
     url = "https://github.com/FastCGI-Archives/mod_fastcgi/archive/${version}.tar.gz";
diff --git a/nixpkgs/pkgs/servers/http/apache-modules/mod_perl/default.nix b/nixpkgs/pkgs/servers/http/apache-modules/mod_perl/default.nix
index 2762f636f592..e511429bfc44 100644
--- a/nixpkgs/pkgs/servers/http/apache-modules/mod_perl/default.nix
+++ b/nixpkgs/pkgs/servers/http/apache-modules/mod_perl/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, apacheHttpd, perl }:
+{ stdenv, fetchurl, apacheHttpd, perl, nixosTests }:
 
 stdenv.mkDerivation rec {
   pname = "mod_perl";
@@ -9,6 +9,11 @@ stdenv.mkDerivation rec {
     sha256 = "0x3gq4nz96y202cymgrf56n8spm7bffkd1p74dh9q3zrrlc9wana";
   };
 
+  patches = [
+    # Fix build on perl-5.34.0, https://github.com/Perl/perl5/issues/18617
+    ../../../../development/perl-modules/mod_perl2-PL_hash_seed.patch
+  ];
+
   buildInputs = [ apacheHttpd perl ];
   buildPhase = ''
     perl Makefile.PL \
@@ -23,4 +28,6 @@ stdenv.mkDerivation rec {
     mv $out${perl}/* $out
     rm $out/nix -rf
   '';
+
+  passthru.tests = nixosTests.mod_perl;
 }
diff --git a/nixpkgs/pkgs/servers/http/apache-modules/mod_wsgi/default.nix b/nixpkgs/pkgs/servers/http/apache-modules/mod_wsgi/default.nix
index 7f28abe8840a..6a029ce1dccd 100644
--- a/nixpkgs/pkgs/servers/http/apache-modules/mod_wsgi/default.nix
+++ b/nixpkgs/pkgs/servers/http/apache-modules/mod_wsgi/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mod_wsgi";
-  version = "4.7.1";
+  version = "4.9.0";
 
   src = fetchurl {
     url = "https://github.com/GrahamDumpleton/mod_wsgi/archive/${version}.tar.gz";
-    sha256 = "0dbxhrp3x689ccrhvm2lw2icmmj8i4p86z2lq3xn1zlsf43fax16";
+    sha256 = "sha256-Cm84CvhUuFoxUeVKPDO1IMSm4hqZvK165d37/jGnS1A=";
   };
 
   buildInputs = [ apacheHttpd python ncurses ];
diff --git a/nixpkgs/pkgs/servers/http/gitlab-pages/default.nix b/nixpkgs/pkgs/servers/http/gitlab-pages/default.nix
index c62ad8b75c9c..68aaeb16af7a 100644
--- a/nixpkgs/pkgs/servers/http/gitlab-pages/default.nix
+++ b/nixpkgs/pkgs/servers/http/gitlab-pages/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "gitlab-pages";
-  version = "1.40.0";
+  version = "1.41.0";
 
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-pages";
     rev = "v${version}";
-    sha256 = "sha256-RgWDAvuxqZeFCU+Q2s+FDIM/AroIdnfVq/D5lG4XN7U=";
+    sha256 = "sha256-f/dmQvsWHlc9thJ9Ekp14VjdjW5+IMtD0vDMlYksUx4=";
   };
 
-  vendorSha256 = "sha256-HbMM0IHw1DMDlNN1m2EHaG9CXnj9j9xROPQiT2xTGlM=";
+  vendorSha256 = "sha256-C/1CuUbZEfawzAasTM1VsbK3vVvuRAWUR3cBm5zGzXs=";
   subPackages = [ "." ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/servers/http/jboss/default.nix b/nixpkgs/pkgs/servers/http/jboss/default.nix
index 81ec4a6c6bb2..564636f6db24 100644
--- a/nixpkgs/pkgs/servers/http/jboss/default.nix
+++ b/nixpkgs/pkgs/servers/http/jboss/default.nix
@@ -8,8 +8,6 @@ stdenv.mkDerivation rec {
     sha256 = "1bdjw0ib9qr498vpfbg8klqw6rl11vbz7vwn6gp1r5gpqkd3zzc8";
   };
 
-  phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
-
   installPhase = ''
     mv $PWD $out
     find $out/bin -name \*.sh -print0 | xargs -0 sed -i -e '/#!\/bin\/sh/aJAVA_HOME=${jdk}'
diff --git a/nixpkgs/pkgs/servers/http/jboss/jdbc/mysql/default.nix b/nixpkgs/pkgs/servers/http/jboss/jdbc/mysql/default.nix
index e05bf4bfce8c..8db1b7a2d04d 100644
--- a/nixpkgs/pkgs/servers/http/jboss/jdbc/mysql/default.nix
+++ b/nixpkgs/pkgs/servers/http/jboss/jdbc/mysql/default.nix
@@ -1,11 +1,12 @@
 { lib, stdenv, mysql_jdbc }:
 
 stdenv.mkDerivation {
-  name = "jboss-mysql-jdbc";
+  pname = "jboss-mysql-jdbc";
 
   builder = ./builder.sh;
 
   inherit mysql_jdbc;
+  version = mysql_jdbc.version;
 
   meta = {
     platforms = lib.platforms.unix;
diff --git a/nixpkgs/pkgs/servers/http/micro-httpd/default.nix b/nixpkgs/pkgs/servers/http/micro-httpd/default.nix
index 99960d6cb719..01ff91ebda6b 100644
--- a/nixpkgs/pkgs/servers/http/micro-httpd/default.nix
+++ b/nixpkgs/pkgs/servers/http/micro-httpd/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation {
-  name = "micro-httpd-20140814";
+  pname = "micro-httpd";
+  version = "20140814";
 
   src = fetchurl {
     url   = "https://acme.com/software/micro_httpd/micro_httpd_14Aug2014.tar.gz";
diff --git a/nixpkgs/pkgs/servers/http/nginx/modules.nix b/nixpkgs/pkgs/servers/http/nginx/modules.nix
index e6cbff3316a7..568f6d8b9e50 100644
--- a/nixpkgs/pkgs/servers/http/nginx/modules.nix
+++ b/nixpkgs/pkgs/servers/http/nginx/modules.nix
@@ -50,7 +50,7 @@ in
       repo = "ngx_brotli";
       rev = "25f86f0bac1101b6512135eac5f93c49c63609e3";
       sha256 = "02hfvfa6milj40qc2ikpb9f95sxqvxk4hly3x74kqhysbdi06hhv";
-    }; in pkgs.runCommandNoCC "ngx_brotli-src" {} ''
+    }; in pkgs.runCommand "ngx_brotli-src" {} ''
       cp -a ${gitsrc} $out
       substituteInPlace $out/filter/config \
         --replace '$ngx_addon_dir/deps/brotli/c' ${lib.getDev pkgs.brotli}
diff --git a/nixpkgs/pkgs/servers/http/pomerium/default.nix b/nixpkgs/pkgs/servers/http/pomerium/default.nix
index ea9628417d7d..7b28200b284e 100644
--- a/nixpkgs/pkgs/servers/http/pomerium/default.nix
+++ b/nixpkgs/pkgs/servers/http/pomerium/default.nix
@@ -25,7 +25,7 @@ buildGoModule rec {
     "cmd/pomerium-cli"
   ];
 
-  buildFlagsArray = let
+  ldflags = let
     # Set a variety of useful meta variables for stamping the build with.
     setVars = {
       Version = "v${version}";
@@ -35,7 +35,7 @@ buildGoModule rec {
     };
     varFlags = concatStringsSep " " (mapAttrsToList (name: value: "-X github.com/pomerium/pomerium/internal/version.${name}=${value}") setVars);
   in [
-    "-ldflags=${varFlags}"
+    "${varFlags}"
   ];
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/servers/http/ran/default.nix b/nixpkgs/pkgs/servers/http/ran/default.nix
new file mode 100644
index 000000000000..5d58506be3ff
--- /dev/null
+++ b/nixpkgs/pkgs/servers/http/ran/default.nix
@@ -0,0 +1,47 @@
+{ buildGoModule
+, fetchFromGitHub
+, lib
+, runCommand
+, ran
+, curl
+}:
+
+buildGoModule rec {
+  pname = "ran";
+  version = "0.1.6";
+  src = fetchFromGitHub {
+    owner = "m3ng9i";
+    repo = "ran";
+    rev = "v${version}";
+    hash = "sha256-iMvUvzr/jaTNdgHQFuoJNJnnkx2XHIUUlrPWyTlreEw=";
+  };
+
+  vendorSha256 = "sha256-ObroruWWNilHIclqNvbEaa7vwk+1zMzDKbjlVs7Fito=";
+
+  CGO_ENABLED = 0;
+
+  ldflags = [
+    "-X" "main._version_=v${version}"
+    "-X" "main._branch_=master"
+  ];
+
+  passthru.tests = {
+    simple = runCommand "ran-test" { } ''
+      echo hello world > index.html
+      ${ran}/bin/ran &
+      # Allow ran to fully initialize
+      sleep 1
+      [ "$(${curl}/bin/curl 127.0.0.1:8080)" == "hello world" ]
+      kill %1
+      ${ran}/bin/ran --version > $out
+    '';
+  };
+
+  meta = with lib; {
+    homepage = "https://github.com/m3ng9i/ran";
+    description = "Ran is a simple web server for serving static files";
+    license = licenses.mit;
+    maintainers = with maintainers; [ tomberek ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/servers/http/redstore/default.nix b/nixpkgs/pkgs/servers/http/redstore/default.nix
index d4e92bc3f6c2..30027467a2ea 100644
--- a/nixpkgs/pkgs/servers/http/redstore/default.nix
+++ b/nixpkgs/pkgs/servers/http/redstore/default.nix
@@ -2,10 +2,11 @@
   , librdf_rasqal }:
 
 stdenv.mkDerivation rec {
-  name = "redstore-0.5.4";
+  pname = "redstore";
+  version = "0.5.4";
 
   src = fetchurl {
-    url = "https://www.aelius.com/njh/redstore/${name}.tar.gz";
+    url = "https://www.aelius.com/njh/redstore/redstore-${version}.tar.gz";
     sha256 = "0hc1fjfbfvggl72zqx27v4wy84f5m7bp4dnwd8g41aw8lgynbgaq";
   };
 
diff --git a/nixpkgs/pkgs/servers/http/tomcat/jdbc/mysql/default.nix b/nixpkgs/pkgs/servers/http/tomcat/jdbc/mysql/default.nix
index 3796d5458b2b..7585cabccd14 100644
--- a/nixpkgs/pkgs/servers/http/tomcat/jdbc/mysql/default.nix
+++ b/nixpkgs/pkgs/servers/http/tomcat/jdbc/mysql/default.nix
@@ -1,11 +1,12 @@
 { lib, stdenv, mysql_jdbc }:
 
 stdenv.mkDerivation {
-  name = "tomcat-mysql-jdbc";
+  pname = "tomcat-mysql-jdbc";
   builder = ./builder.sh;
   buildInputs = [ mysql_jdbc ];
 
   inherit mysql_jdbc;
+  version = mysql_jdbc.version;
 
   meta = {
     platforms = lib.platforms.unix;
diff --git a/nixpkgs/pkgs/servers/http/unit/default.nix b/nixpkgs/pkgs/servers/http/unit/default.nix
index f3238cc4bda9..d08161c76b24 100644
--- a/nixpkgs/pkgs/servers/http/unit/default.nix
+++ b/nixpkgs/pkgs/servers/http/unit/default.nix
@@ -30,14 +30,14 @@ let
   php80-unit = php80.override phpConfig;
 
 in stdenv.mkDerivation rec {
-  version = "1.24.0";
+  version = "1.25.0";
   pname = "unit";
 
   src = fetchFromGitHub {
     owner = "nginx";
     repo = pname;
     rev = version;
-    sha256 = "0214dvwz31hxjxnqk3fkqhn2xznaqdrb96m5s2k8ll8rldmk1gd6";
+    sha256 = "sha256-8Xv7YTvwuI0evBO1Te4oI1IoJ0AnK8OVZoZTYtfYKfw=";
   };
 
   nativeBuildInputs = [ which ];
diff --git a/nixpkgs/pkgs/servers/icecast/default.nix b/nixpkgs/pkgs/servers/icecast/default.nix
index 15e5e81d0585..e04716214fec 100644
--- a/nixpkgs/pkgs/servers/icecast/default.nix
+++ b/nixpkgs/pkgs/servers/icecast/default.nix
@@ -3,10 +3,11 @@
 , libvorbis, libtheora, speex, libkate, libopus }:
 
 stdenv.mkDerivation rec {
-  name = "icecast-2.4.4";
+  pname = "icecast";
+  version = "2.4.4";
 
   src = fetchurl {
-    url = "http://downloads.xiph.org/releases/icecast/${name}.tar.gz";
+    url = "http://downloads.xiph.org/releases/icecast/icecast-${version}.tar.gz";
     sha256 = "0i2d9rhav0x6js2qhjf5iy6j2a7f0d11ail0lfv40hb1kygrgda9";
   };
 
diff --git a/nixpkgs/pkgs/servers/icingaweb2/default.nix b/nixpkgs/pkgs/servers/icingaweb2/default.nix
index 7923674a3b76..cf900ffd7fda 100644
--- a/nixpkgs/pkgs/servers/icingaweb2/default.nix
+++ b/nixpkgs/pkgs/servers/icingaweb2/default.nix
@@ -2,13 +2,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "icingaweb2";
-  version = "2.9.0";
+  version = "2.9.3";
 
   src = fetchFromGitHub {
     owner = "Icinga";
     repo = "icingaweb2";
     rev = "v${version}";
-    sha256 = "1vp2gdvgvw960178yaqql6iza0rg2h8japsnass3kkrwrmb2liq5";
+    sha256 = "sha256-nPzf/SGyjEXuy0Q/Lofe1rSbW+4E6LXKzyi4np3jvF4=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/servers/icingaweb2/ipl.nix b/nixpkgs/pkgs/servers/icingaweb2/ipl.nix
index 35b9357009c4..20b29962b7c6 100644
--- a/nixpkgs/pkgs/servers/icingaweb2/ipl.nix
+++ b/nixpkgs/pkgs/servers/icingaweb2/ipl.nix
@@ -2,13 +2,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "icingaweb2-ipl";
-  version = "0.6.0";
+  version = "0.6.1";
 
   src = fetchFromGitHub {
     owner = "Icinga";
     repo = "icinga-php-library";
     rev = "v${version}";
-    sha256 = "0nzvd84r9f1mypfhq4p37hsvkrbd5wzgs1m9qhj45ncvf5rq49f1";
+    sha256 = "sha256-5xlvwB1o6d3mWd0TSybQW9s88q6A7KrledY1L8xaxLU=";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/servers/icingaweb2/theme-april/default.nix b/nixpkgs/pkgs/servers/icingaweb2/theme-april/default.nix
index 0a152a7e157e..05f9b9c971b7 100644
--- a/nixpkgs/pkgs/servers/icingaweb2/theme-april/default.nix
+++ b/nixpkgs/pkgs/servers/icingaweb2/theme-april/default.nix
@@ -4,12 +4,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "icingaweb2-theme-april";
+  pname = "icingaweb2-theme-april";
   version = "1.0.4";
 
   src = fetchFromGitHub {
     owner = "Mikesch-mp";
-    repo = name;
+    repo = pname;
     rev = "v${version}";
     sha256 = "0i1js2k47llzgmc77q9frvcmr02mqlhg0qhswx1486fvm6myxg0g";
   };
diff --git a/nixpkgs/pkgs/servers/icingaweb2/theme-lsd/default.nix b/nixpkgs/pkgs/servers/icingaweb2/theme-lsd/default.nix
index 59b8df6b4d42..e2c60ef79869 100644
--- a/nixpkgs/pkgs/servers/icingaweb2/theme-lsd/default.nix
+++ b/nixpkgs/pkgs/servers/icingaweb2/theme-lsd/default.nix
@@ -4,12 +4,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "icingaweb2-theme-lsd";
+  pname = "icingaweb2-theme-lsd";
   version = "1.0.3";
 
   src = fetchFromGitHub {
     owner = "Mikesch-mp";
-    repo = name;
+    repo = pname;
     rev = "v${version}";
     sha256 = "172y08sar4nbyv5pfq5chw8xa3b7fg1dacmsg778zky5zf49qz2w";
   };
diff --git a/nixpkgs/pkgs/servers/icingaweb2/theme-particles/default.nix b/nixpkgs/pkgs/servers/icingaweb2/theme-particles/default.nix
index ddd363701a7c..7e8adb72c6d9 100644
--- a/nixpkgs/pkgs/servers/icingaweb2/theme-particles/default.nix
+++ b/nixpkgs/pkgs/servers/icingaweb2/theme-particles/default.nix
@@ -4,12 +4,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "icingaweb2-theme-particles";
+  pname = "icingaweb2-theme-particles";
   version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "Mikesch-mp";
-    repo = name;
+    repo = pname;
     rev = "v${version}";
     sha256 = "0m6bbz191686k4djqbk8v0zcdm4cyi159jb3zwz7q295xbpi2vfy";
   };
diff --git a/nixpkgs/pkgs/servers/icingaweb2/theme-snow/default.nix b/nixpkgs/pkgs/servers/icingaweb2/theme-snow/default.nix
index 5650d1ccdba8..9b571b948b52 100644
--- a/nixpkgs/pkgs/servers/icingaweb2/theme-snow/default.nix
+++ b/nixpkgs/pkgs/servers/icingaweb2/theme-snow/default.nix
@@ -4,12 +4,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "icingaweb2-theme-snow";
+  pname = "icingaweb2-theme-snow";
   version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "Mikesch-mp";
-    repo = name;
+    repo = pname;
     rev = "v${version}";
     sha256 = "1c974v85mbsis52y2knwzh33996q8sza7pqrcs6ydx033s0rxjrp";
   };
diff --git a/nixpkgs/pkgs/servers/icingaweb2/theme-spring/default.nix b/nixpkgs/pkgs/servers/icingaweb2/theme-spring/default.nix
index dda26caf6a19..8392124eb072 100644
--- a/nixpkgs/pkgs/servers/icingaweb2/theme-spring/default.nix
+++ b/nixpkgs/pkgs/servers/icingaweb2/theme-spring/default.nix
@@ -4,12 +4,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "icingaweb2-theme-spring";
+  pname = "icingaweb2-theme-spring";
   version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "Mikesch-mp";
-    repo = name;
+    repo = pname;
     rev = "v${version}";
     sha256 = "09v4871pndarhm2spxm9fdab58l5wj8m40kh53wvk1xc3g7pqki9";
   };
diff --git a/nixpkgs/pkgs/servers/icingaweb2/theme-unicorn/default.nix b/nixpkgs/pkgs/servers/icingaweb2/theme-unicorn/default.nix
index a2bb3f9e4a2b..39c4e7b92743 100644
--- a/nixpkgs/pkgs/servers/icingaweb2/theme-unicorn/default.nix
+++ b/nixpkgs/pkgs/servers/icingaweb2/theme-unicorn/default.nix
@@ -5,13 +5,13 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "icingaweb2-theme-unicorn";
+  pname = "icingaweb2-theme-unicorn";
   version = "1.0.2";
 
   srcs = [
     (fetchFromGitHub {
       owner = "Mikesch-mp";
-      repo = name;
+      repo = pname;
       rev = "v${version}";
       sha256 = "1qmcajdf0g70vp2avqa50lfrfigq22k91kggbgn5ablwyg9dki05";
     })
diff --git a/nixpkgs/pkgs/servers/interlock/default.nix b/nixpkgs/pkgs/servers/interlock/default.nix
index 9823a36d7545..e151c9ec45e3 100644
--- a/nixpkgs/pkgs/servers/interlock/default.nix
+++ b/nixpkgs/pkgs/servers/interlock/default.nix
@@ -21,7 +21,7 @@ buildGoPackage rec {
   goDeps = ./deps.nix;
 
   nativeBuildInputs = [ sudo ];
-  buildFlags = [ "-tags textsecure" ];
+  tags = [ "textsecure" ];
   postPatch = ''
     grep -lr '/s\?bin/' | xargs sed -i \
       -e 's|/bin/mount|${mount}/bin/mount|' \
diff --git a/nixpkgs/pkgs/servers/irc/charybdis/default.nix b/nixpkgs/pkgs/servers/irc/charybdis/default.nix
index 3b2508a7760b..53bfbb81cd91 100644
--- a/nixpkgs/pkgs/servers/irc/charybdis/default.nix
+++ b/nixpkgs/pkgs/servers/irc/charybdis/default.nix
@@ -1,12 +1,13 @@
 { lib, stdenv, fetchFromGitHub, autoreconfHook, bison, flex, openssl, gnutls }:
 
 stdenv.mkDerivation rec {
-  name = "charybdis-4.1.2";
+  pname = "charybdis";
+  version = "4.1.2";
 
   src = fetchFromGitHub {
     owner = "charybdis-ircd";
     repo = "charybdis";
-    rev = name;
+    rev = "${pname}-${version}";
     sha256 = "1lndk0yp27qm8bds4jd204ynxcq92fqmpfb0kkcla5zgky3miks3";
   };
 
diff --git a/nixpkgs/pkgs/servers/irc/ircd-hybrid/default.nix b/nixpkgs/pkgs/servers/irc/ircd-hybrid/default.nix
index b29f75fb5293..f115b7109186 100644
--- a/nixpkgs/pkgs/servers/irc/ircd-hybrid/default.nix
+++ b/nixpkgs/pkgs/servers/irc/ircd-hybrid/default.nix
@@ -1,11 +1,12 @@
 { lib, stdenv, fetchurl, openssl, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "ircd-hybrid-8.2.36";
+  pname = "ircd-hybrid";
+  version = "8.2.38";
 
   src = fetchurl {
-    url = "mirror://sourceforge/ircd-hybrid/${name}.tgz";
-    sha256 = "0sg4g0znl8ic8vklpy96z88gjksc165kl945a6fr1j4xc1bf8gcv";
+    url = "mirror://sourceforge/ircd-hybrid/ircd-hybrid-${version}.tgz";
+    sha256 = "sha256-xRA0hzowgjSQtb37Pnw7de1nPtlHAg2FwRMSaKdr+2M=";
   };
 
   buildInputs = [ openssl zlib ];
diff --git a/nixpkgs/pkgs/servers/isso/default.nix b/nixpkgs/pkgs/servers/isso/default.nix
index 3338f8b2a84d..6550659898e0 100644
--- a/nixpkgs/pkgs/servers/isso/default.nix
+++ b/nixpkgs/pkgs/servers/isso/default.nix
@@ -1,11 +1,23 @@
-{ lib, python3Packages, fetchFromGitHub }:
+{ pkgs, nodejs, lib, python3Packages, fetchFromGitHub }:
+let
+  nodeEnv = import ./node-env.nix {
+    inherit (pkgs) stdenv lib python2 runCommand writeTextFile;
+    inherit pkgs nodejs;
+    libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
+  };
+  nodePackages = import ./node-packages.nix {
+    inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit;
+    inherit nodeEnv;
+  };
 
+  nodeDependencies = (nodePackages.shell.override (old: {
+  })).nodeDependencies;
+in
 with python3Packages; buildPythonApplication rec {
 
   pname = "isso";
   version = "0.12.5";
 
-  # no tests on PyPI
   src = fetchFromGitHub {
     owner = "posativ";
     repo = pname;
@@ -25,8 +37,16 @@ with python3Packages; buildPythonApplication rec {
 
   nativeBuildInputs = [
     cffi
+    nodejs
   ];
 
+  preBuild = ''
+    ln -s ${nodeDependencies}/lib/node_modules ./node_modules
+    export PATH="${nodeDependencies}/bin:$PATH"
+
+    make js
+  '';
+
   checkInputs = [ nose ];
 
   checkPhase = ''
@@ -40,4 +60,3 @@ with python3Packages; buildPythonApplication rec {
     maintainers = with maintainers; [ fgaz ];
   };
 }
-
diff --git a/nixpkgs/pkgs/servers/isso/node-env.nix b/nixpkgs/pkgs/servers/isso/node-env.nix
new file mode 100644
index 000000000000..21089c4d5459
--- /dev/null
+++ b/nixpkgs/pkgs/servers/isso/node-env.nix
@@ -0,0 +1,573 @@
+# This file originates from node2nix
+
+{lib, stdenv, nodejs, python2, pkgs, libtool, runCommand, writeTextFile}:
+
+let
+  # Workaround to cope with utillinux in Nixpkgs 20.09 and util-linux in Nixpkgs master
+  utillinux = if pkgs ? utillinux then pkgs.utillinux else pkgs.util-linux;
+
+  python = if nodejs ? python then nodejs.python else python2;
+
+  # Create a tar wrapper that filters all the 'Ignoring unknown extended header keyword' noise
+  tarWrapper = runCommand "tarWrapper" {} ''
+    mkdir -p $out/bin
+
+    cat > $out/bin/tar <<EOF
+    #! ${stdenv.shell} -e
+    $(type -p tar) "\$@" --warning=no-unknown-keyword --delay-directory-restore
+    EOF
+
+    chmod +x $out/bin/tar
+  '';
+
+  # Function that generates a TGZ file from a NPM project
+  buildNodeSourceDist =
+    { name, version, src, ... }:
+
+    stdenv.mkDerivation {
+      name = "node-tarball-${name}-${version}";
+      inherit src;
+      buildInputs = [ nodejs ];
+      buildPhase = ''
+        export HOME=$TMPDIR
+        tgzFile=$(npm pack | tail -n 1) # Hooks to the pack command will add output (https://docs.npmjs.com/misc/scripts)
+      '';
+      installPhase = ''
+        mkdir -p $out/tarballs
+        mv $tgzFile $out/tarballs
+        mkdir -p $out/nix-support
+        echo "file source-dist $out/tarballs/$tgzFile" >> $out/nix-support/hydra-build-products
+      '';
+    };
+
+  includeDependencies = {dependencies}:
+    lib.optionalString (dependencies != [])
+      (lib.concatMapStrings (dependency:
+        ''
+          # Bundle the dependencies of the package
+          mkdir -p node_modules
+          cd node_modules
+
+          # Only include dependencies if they don't exist. They may also be bundled in the package.
+          if [ ! -e "${dependency.name}" ]
+          then
+              ${composePackage dependency}
+          fi
+
+          cd ..
+        ''
+      ) dependencies);
+
+  # Recursively composes the dependencies of a package
+  composePackage = { name, packageName, src, dependencies ? [], ... }@args:
+    builtins.addErrorContext "while evaluating node package '${packageName}'" ''
+      DIR=$(pwd)
+      cd $TMPDIR
+
+      unpackFile ${src}
+
+      # Make the base dir in which the target dependency resides first
+      mkdir -p "$(dirname "$DIR/${packageName}")"
+
+      if [ -f "${src}" ]
+      then
+          # Figure out what directory has been unpacked
+          packageDir="$(find . -maxdepth 1 -type d | tail -1)"
+
+          # Restore write permissions to make building work
+          find "$packageDir" -type d -exec chmod u+x {} \;
+          chmod -R u+w "$packageDir"
+
+          # Move the extracted tarball into the output folder
+          mv "$packageDir" "$DIR/${packageName}"
+      elif [ -d "${src}" ]
+      then
+          # Get a stripped name (without hash) of the source directory.
+          # On old nixpkgs it's already set internally.
+          if [ -z "$strippedName" ]
+          then
+              strippedName="$(stripHash ${src})"
+          fi
+
+          # Restore write permissions to make building work
+          chmod -R u+w "$strippedName"
+
+          # Move the extracted directory into the output folder
+          mv "$strippedName" "$DIR/${packageName}"
+      fi
+
+      # Unset the stripped name to not confuse the next unpack step
+      unset strippedName
+
+      # Include the dependencies of the package
+      cd "$DIR/${packageName}"
+      ${includeDependencies { inherit dependencies; }}
+      cd ..
+      ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
+    '';
+
+  pinpointDependencies = {dependencies, production}:
+    let
+      pinpointDependenciesFromPackageJSON = writeTextFile {
+        name = "pinpointDependencies.js";
+        text = ''
+          var fs = require('fs');
+          var path = require('path');
+
+          function resolveDependencyVersion(location, name) {
+              if(location == process.env['NIX_STORE']) {
+                  return null;
+              } else {
+                  var dependencyPackageJSON = path.join(location, "node_modules", name, "package.json");
+
+                  if(fs.existsSync(dependencyPackageJSON)) {
+                      var dependencyPackageObj = JSON.parse(fs.readFileSync(dependencyPackageJSON));
+
+                      if(dependencyPackageObj.name == name) {
+                          return dependencyPackageObj.version;
+                      }
+                  } else {
+                      return resolveDependencyVersion(path.resolve(location, ".."), name);
+                  }
+              }
+          }
+
+          function replaceDependencies(dependencies) {
+              if(typeof dependencies == "object" && dependencies !== null) {
+                  for(var dependency in dependencies) {
+                      var resolvedVersion = resolveDependencyVersion(process.cwd(), dependency);
+
+                      if(resolvedVersion === null) {
+                          process.stderr.write("WARNING: cannot pinpoint dependency: "+dependency+", context: "+process.cwd()+"\n");
+                      } else {
+                          dependencies[dependency] = resolvedVersion;
+                      }
+                  }
+              }
+          }
+
+          /* Read the package.json configuration */
+          var packageObj = JSON.parse(fs.readFileSync('./package.json'));
+
+          /* Pinpoint all dependencies */
+          replaceDependencies(packageObj.dependencies);
+          if(process.argv[2] == "development") {
+              replaceDependencies(packageObj.devDependencies);
+          }
+          replaceDependencies(packageObj.optionalDependencies);
+
+          /* Write the fixed package.json file */
+          fs.writeFileSync("package.json", JSON.stringify(packageObj, null, 2));
+        '';
+      };
+    in
+    ''
+      node ${pinpointDependenciesFromPackageJSON} ${if production then "production" else "development"}
+
+      ${lib.optionalString (dependencies != [])
+        ''
+          if [ -d node_modules ]
+          then
+              cd node_modules
+              ${lib.concatMapStrings (dependency: pinpointDependenciesOfPackage dependency) dependencies}
+              cd ..
+          fi
+        ''}
+    '';
+
+  # Recursively traverses all dependencies of a package and pinpoints all
+  # dependencies in the package.json file to the versions that are actually
+  # being used.
+
+  pinpointDependenciesOfPackage = { packageName, dependencies ? [], production ? true, ... }@args:
+    ''
+      if [ -d "${packageName}" ]
+      then
+          cd "${packageName}"
+          ${pinpointDependencies { inherit dependencies production; }}
+          cd ..
+          ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
+      fi
+    '';
+
+  # Extract the Node.js source code which is used to compile packages with
+  # native bindings
+  nodeSources = runCommand "node-sources" {} ''
+    tar --no-same-owner --no-same-permissions -xf ${nodejs.src}
+    mv node-* $out
+  '';
+
+  # Script that adds _integrity fields to all package.json files to prevent NPM from consulting the cache (that is empty)
+  addIntegrityFieldsScript = writeTextFile {
+    name = "addintegrityfields.js";
+    text = ''
+      var fs = require('fs');
+      var path = require('path');
+
+      function augmentDependencies(baseDir, dependencies) {
+          for(var dependencyName in dependencies) {
+              var dependency = dependencies[dependencyName];
+
+              // Open package.json and augment metadata fields
+              var packageJSONDir = path.join(baseDir, "node_modules", dependencyName);
+              var packageJSONPath = path.join(packageJSONDir, "package.json");
+
+              if(fs.existsSync(packageJSONPath)) { // Only augment packages that exist. Sometimes we may have production installs in which development dependencies can be ignored
+                  console.log("Adding metadata fields to: "+packageJSONPath);
+                  var packageObj = JSON.parse(fs.readFileSync(packageJSONPath));
+
+                  if(dependency.integrity) {
+                      packageObj["_integrity"] = dependency.integrity;
+                  } else {
+                      packageObj["_integrity"] = "sha1-000000000000000000000000000="; // When no _integrity string has been provided (e.g. by Git dependencies), add a dummy one. It does not seem to harm and it bypasses downloads.
+                  }
+
+                  if(dependency.resolved) {
+                      packageObj["_resolved"] = dependency.resolved; // Adopt the resolved property if one has been provided
+                  } else {
+                      packageObj["_resolved"] = dependency.version; // Set the resolved version to the version identifier. This prevents NPM from cloning Git repositories.
+                  }
+
+                  if(dependency.from !== undefined) { // Adopt from property if one has been provided
+                      packageObj["_from"] = dependency.from;
+                  }
+
+                  fs.writeFileSync(packageJSONPath, JSON.stringify(packageObj, null, 2));
+              }
+
+              // Augment transitive dependencies
+              if(dependency.dependencies !== undefined) {
+                  augmentDependencies(packageJSONDir, dependency.dependencies);
+              }
+          }
+      }
+
+      if(fs.existsSync("./package-lock.json")) {
+          var packageLock = JSON.parse(fs.readFileSync("./package-lock.json"));
+
+          if(![1, 2].includes(packageLock.lockfileVersion)) {
+             process.stderr.write("Sorry, I only understand lock file versions 1 and 2!\n");
+             process.exit(1);
+          }
+
+          if(packageLock.dependencies !== undefined) {
+              augmentDependencies(".", packageLock.dependencies);
+          }
+      }
+    '';
+  };
+
+  # Reconstructs a package-lock file from the node_modules/ folder structure and package.json files with dummy sha1 hashes
+  reconstructPackageLock = writeTextFile {
+    name = "addintegrityfields.js";
+    text = ''
+      var fs = require('fs');
+      var path = require('path');
+
+      var packageObj = JSON.parse(fs.readFileSync("package.json"));
+
+      var lockObj = {
+          name: packageObj.name,
+          version: packageObj.version,
+          lockfileVersion: 1,
+          requires: true,
+          dependencies: {}
+      };
+
+      function augmentPackageJSON(filePath, dependencies) {
+          var packageJSON = path.join(filePath, "package.json");
+          if(fs.existsSync(packageJSON)) {
+              var packageObj = JSON.parse(fs.readFileSync(packageJSON));
+              dependencies[packageObj.name] = {
+                  version: packageObj.version,
+                  integrity: "sha1-000000000000000000000000000=",
+                  dependencies: {}
+              };
+              processDependencies(path.join(filePath, "node_modules"), dependencies[packageObj.name].dependencies);
+          }
+      }
+
+      function processDependencies(dir, dependencies) {
+          if(fs.existsSync(dir)) {
+              var files = fs.readdirSync(dir);
+
+              files.forEach(function(entry) {
+                  var filePath = path.join(dir, entry);
+                  var stats = fs.statSync(filePath);
+
+                  if(stats.isDirectory()) {
+                      if(entry.substr(0, 1) == "@") {
+                          // When we encounter a namespace folder, augment all packages belonging to the scope
+                          var pkgFiles = fs.readdirSync(filePath);
+
+                          pkgFiles.forEach(function(entry) {
+                              if(stats.isDirectory()) {
+                                  var pkgFilePath = path.join(filePath, entry);
+                                  augmentPackageJSON(pkgFilePath, dependencies);
+                              }
+                          });
+                      } else {
+                          augmentPackageJSON(filePath, dependencies);
+                      }
+                  }
+              });
+          }
+      }
+
+      processDependencies("node_modules", lockObj.dependencies);
+
+      fs.writeFileSync("package-lock.json", JSON.stringify(lockObj, null, 2));
+    '';
+  };
+
+  prepareAndInvokeNPM = {packageName, bypassCache, reconstructLock, npmFlags, production}:
+    let
+      forceOfflineFlag = if bypassCache then "--offline" else "--registry http://www.example.com";
+    in
+    ''
+        # Pinpoint the versions of all dependencies to the ones that are actually being used
+        echo "pinpointing versions of dependencies..."
+        source $pinpointDependenciesScriptPath
+
+        # Patch the shebangs of the bundled modules to prevent them from
+        # calling executables outside the Nix store as much as possible
+        patchShebangs .
+
+        # Deploy the Node.js package by running npm install. Since the
+        # dependencies have been provided already by ourselves, it should not
+        # attempt to install them again, which is good, because we want to make
+        # it Nix's responsibility. If it needs to install any dependencies
+        # anyway (e.g. because the dependency parameters are
+        # incomplete/incorrect), it fails.
+        #
+        # The other responsibilities of NPM are kept -- version checks, build
+        # steps, postprocessing etc.
+
+        export HOME=$TMPDIR
+        cd "${packageName}"
+        runHook preRebuild
+
+        ${lib.optionalString bypassCache ''
+          ${lib.optionalString reconstructLock ''
+            if [ -f package-lock.json ]
+            then
+                echo "WARNING: Reconstruct lock option enabled, but a lock file already exists!"
+                echo "This will most likely result in version mismatches! We will remove the lock file and regenerate it!"
+                rm package-lock.json
+            else
+                echo "No package-lock.json file found, reconstructing..."
+            fi
+
+            node ${reconstructPackageLock}
+          ''}
+
+          node ${addIntegrityFieldsScript}
+        ''}
+
+        npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${lib.optionalString production "--production"} rebuild
+
+        if [ "''${dontNpmInstall-}" != "1" ]
+        then
+            # NPM tries to download packages even when they already exist if npm-shrinkwrap is used.
+            rm -f npm-shrinkwrap.json
+
+            npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${lib.optionalString production "--production"} install
+        fi
+    '';
+
+  # Builds and composes an NPM package including all its dependencies
+  buildNodePackage =
+    { name
+    , packageName
+    , version
+    , dependencies ? []
+    , buildInputs ? []
+    , production ? true
+    , npmFlags ? ""
+    , dontNpmInstall ? false
+    , bypassCache ? false
+    , reconstructLock ? false
+    , preRebuild ? ""
+    , dontStrip ? true
+    , unpackPhase ? "true"
+    , buildPhase ? "true"
+    , meta ? {}
+    , ... }@args:
+
+    let
+      extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "preRebuild" "unpackPhase" "buildPhase" "meta" ];
+    in
+    stdenv.mkDerivation ({
+      name = "${name}-${version}";
+      buildInputs = [ tarWrapper python nodejs ]
+        ++ lib.optional (stdenv.isLinux) utillinux
+        ++ lib.optional (stdenv.isDarwin) libtool
+        ++ buildInputs;
+
+      inherit nodejs;
+
+      inherit dontStrip; # Stripping may fail a build for some package deployments
+      inherit dontNpmInstall preRebuild unpackPhase buildPhase;
+
+      compositionScript = composePackage args;
+      pinpointDependenciesScript = pinpointDependenciesOfPackage args;
+
+      passAsFile = [ "compositionScript" "pinpointDependenciesScript" ];
+
+      installPhase = ''
+        # Create and enter a root node_modules/ folder
+        mkdir -p $out/lib/node_modules
+        cd $out/lib/node_modules
+
+        # Compose the package and all its dependencies
+        source $compositionScriptPath
+
+        ${prepareAndInvokeNPM { inherit packageName bypassCache reconstructLock npmFlags production; }}
+
+        # Create symlink to the deployed executable folder, if applicable
+        if [ -d "$out/lib/node_modules/.bin" ]
+        then
+            ln -s $out/lib/node_modules/.bin $out/bin
+        fi
+
+        # Create symlinks to the deployed manual page folders, if applicable
+        if [ -d "$out/lib/node_modules/${packageName}/man" ]
+        then
+            mkdir -p $out/share
+            for dir in "$out/lib/node_modules/${packageName}/man/"*
+            do
+                mkdir -p $out/share/man/$(basename "$dir")
+                for page in "$dir"/*
+                do
+                    ln -s $page $out/share/man/$(basename "$dir")
+                done
+            done
+        fi
+
+        # Run post install hook, if provided
+        runHook postInstall
+      '';
+
+      meta = {
+        # default to Node.js' platforms
+        platforms = nodejs.meta.platforms;
+      } // meta;
+    } // extraArgs);
+
+  # Builds a node environment (a node_modules folder and a set of binaries)
+  buildNodeDependencies =
+    { name
+    , packageName
+    , version
+    , src
+    , dependencies ? []
+    , buildInputs ? []
+    , production ? true
+    , npmFlags ? ""
+    , dontNpmInstall ? false
+    , bypassCache ? false
+    , reconstructLock ? false
+    , dontStrip ? true
+    , unpackPhase ? "true"
+    , buildPhase ? "true"
+    , ... }@args:
+
+    let
+      extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" ];
+    in
+      stdenv.mkDerivation ({
+        name = "node-dependencies-${name}-${version}";
+
+        buildInputs = [ tarWrapper python nodejs ]
+          ++ lib.optional (stdenv.isLinux) utillinux
+          ++ lib.optional (stdenv.isDarwin) libtool
+          ++ buildInputs;
+
+        inherit dontStrip; # Stripping may fail a build for some package deployments
+        inherit dontNpmInstall unpackPhase buildPhase;
+
+        includeScript = includeDependencies { inherit dependencies; };
+        pinpointDependenciesScript = pinpointDependenciesOfPackage args;
+
+        passAsFile = [ "includeScript" "pinpointDependenciesScript" ];
+
+        installPhase = ''
+          mkdir -p $out/${packageName}
+          cd $out/${packageName}
+
+          source $includeScriptPath
+
+          # Create fake package.json to make the npm commands work properly
+          cp ${src}/package.json .
+          chmod 644 package.json
+          ${lib.optionalString bypassCache ''
+            if [ -f ${src}/package-lock.json ]
+            then
+                cp ${src}/package-lock.json .
+            fi
+          ''}
+
+          # Go to the parent folder to make sure that all packages are pinpointed
+          cd ..
+          ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
+
+          ${prepareAndInvokeNPM { inherit packageName bypassCache reconstructLock npmFlags production; }}
+
+          # Expose the executables that were installed
+          cd ..
+          ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
+
+          mv ${packageName} lib
+          ln -s $out/lib/node_modules/.bin $out/bin
+        '';
+      } // extraArgs);
+
+  # Builds a development shell
+  buildNodeShell =
+    { name
+    , packageName
+    , version
+    , src
+    , dependencies ? []
+    , buildInputs ? []
+    , production ? true
+    , npmFlags ? ""
+    , dontNpmInstall ? false
+    , bypassCache ? false
+    , reconstructLock ? false
+    , dontStrip ? true
+    , unpackPhase ? "true"
+    , buildPhase ? "true"
+    , ... }@args:
+
+    let
+      nodeDependencies = buildNodeDependencies args;
+    in
+    stdenv.mkDerivation {
+      name = "node-shell-${name}-${version}";
+
+      buildInputs = [ python nodejs ] ++ lib.optional (stdenv.isLinux) utillinux ++ buildInputs;
+      buildCommand = ''
+        mkdir -p $out/bin
+        cat > $out/bin/shell <<EOF
+        #! ${stdenv.shell} -e
+        $shellHook
+        exec ${stdenv.shell}
+        EOF
+        chmod +x $out/bin/shell
+      '';
+
+      # Provide the dependencies in a development shell through the NODE_PATH environment variable
+      inherit nodeDependencies;
+      shellHook = lib.optionalString (dependencies != []) ''
+        export NODE_PATH=${nodeDependencies}/lib/node_modules
+        export PATH="${nodeDependencies}/bin:$PATH"
+      '';
+    };
+in
+{
+  buildNodeSourceDist = lib.makeOverridable buildNodeSourceDist;
+  buildNodePackage = lib.makeOverridable buildNodePackage;
+  buildNodeDependencies = lib.makeOverridable buildNodeDependencies;
+  buildNodeShell = lib.makeOverridable buildNodeShell;
+}
diff --git a/nixpkgs/pkgs/servers/isso/node-packages.nix b/nixpkgs/pkgs/servers/isso/node-packages.nix
new file mode 100644
index 000000000000..462108c0e737
--- /dev/null
+++ b/nixpkgs/pkgs/servers/isso/node-packages.nix
@@ -0,0 +1,558 @@
+# This file has been generated by node2nix 1.9.0. Do not edit!
+
+{nodeEnv, fetchurl, fetchgit, nix-gitignore, stdenv, lib, globalBuildInputs ? []}:
+
+let
+  sources = {
+    "acorn-1.2.2" = {
+      name = "acorn";
+      packageName = "acorn";
+      version = "1.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn/-/acorn-1.2.2.tgz";
+        sha1 = "c8ce27de0acc76d896d2b1fad3df588d9e82f014";
+      };
+    };
+    "acorn-2.7.0" = {
+      name = "acorn";
+      packageName = "acorn";
+      version = "2.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz";
+        sha1 = "ab6e7d9d886aaca8b085bc3312b79a198433f0e7";
+      };
+    };
+    "acorn-globals-1.0.9" = {
+      name = "acorn-globals";
+      packageName = "acorn-globals";
+      version = "1.0.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn-globals/-/acorn-globals-1.0.9.tgz";
+        sha1 = "55bb5e98691507b74579d0513413217c380c54cf";
+      };
+    };
+    "align-text-0.1.4" = {
+      name = "align-text";
+      packageName = "align-text";
+      version = "0.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz";
+        sha1 = "0cd90a561093f35d0a99256c22b7069433fad117";
+      };
+    };
+    "almond-0.3.3" = {
+      name = "almond";
+      packageName = "almond";
+      version = "0.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/almond/-/almond-0.3.3.tgz";
+        sha1 = "a0e7c95ac7624d6417b4494b1e68bff693168a20";
+      };
+    };
+    "amdefine-1.0.1" = {
+      name = "amdefine";
+      packageName = "amdefine";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz";
+        sha1 = "4a5282ac164729e93619bcfd3ad151f817ce91f5";
+      };
+    };
+    "asap-1.0.0" = {
+      name = "asap";
+      packageName = "asap";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/asap/-/asap-1.0.0.tgz";
+        sha1 = "b2a45da5fdfa20b0496fc3768cc27c12fa916a7d";
+      };
+    };
+    "camelcase-1.2.1" = {
+      name = "camelcase";
+      packageName = "camelcase";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz";
+        sha1 = "9bb5304d2e0b56698b2c758b08a3eaa9daa58a39";
+      };
+    };
+    "center-align-0.1.3" = {
+      name = "center-align";
+      packageName = "center-align";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz";
+        sha1 = "aa0d32629b6ee972200411cbd4461c907bc2b7ad";
+      };
+    };
+    "character-parser-1.2.1" = {
+      name = "character-parser";
+      packageName = "character-parser";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/character-parser/-/character-parser-1.2.1.tgz";
+        sha1 = "c0dde4ab182713b919b970959a123ecc1a30fcd6";
+      };
+    };
+    "clean-css-3.4.28" = {
+      name = "clean-css";
+      packageName = "clean-css";
+      version = "3.4.28";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/clean-css/-/clean-css-3.4.28.tgz";
+        sha1 = "bf1945e82fc808f55695e6ddeaec01400efd03ff";
+      };
+    };
+    "cliui-2.1.0" = {
+      name = "cliui";
+      packageName = "cliui";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz";
+        sha1 = "4b475760ff80264c762c3a1719032e91c7fea0d1";
+      };
+    };
+    "commander-2.6.0" = {
+      name = "commander";
+      packageName = "commander";
+      version = "2.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commander/-/commander-2.6.0.tgz";
+        sha1 = "9df7e52fb2a0cb0fb89058ee80c3104225f37e1d";
+      };
+    };
+    "commander-2.8.1" = {
+      name = "commander";
+      packageName = "commander";
+      version = "2.8.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz";
+        sha1 = "06be367febfda0c330aa1e2a072d3dc9762425d4";
+      };
+    };
+    "constantinople-3.0.2" = {
+      name = "constantinople";
+      packageName = "constantinople";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/constantinople/-/constantinople-3.0.2.tgz";
+        sha1 = "4b945d9937907bcd98ee575122c3817516544141";
+      };
+    };
+    "css-1.0.8" = {
+      name = "css";
+      packageName = "css";
+      version = "1.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/css/-/css-1.0.8.tgz";
+        sha1 = "9386811ca82bccc9ee7fb5a732b1e2a317c8a3e7";
+      };
+    };
+    "css-parse-1.0.4" = {
+      name = "css-parse";
+      packageName = "css-parse";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/css-parse/-/css-parse-1.0.4.tgz";
+        sha1 = "38b0503fbf9da9f54e9c1dbda60e145c77117bdd";
+      };
+    };
+    "css-stringify-1.0.5" = {
+      name = "css-stringify";
+      packageName = "css-stringify";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/css-stringify/-/css-stringify-1.0.5.tgz";
+        sha1 = "b0d042946db2953bb9d292900a6cb5f6d0122031";
+      };
+    };
+    "decamelize-1.2.0" = {
+      name = "decamelize";
+      packageName = "decamelize";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz";
+        sha1 = "f6534d15148269b20352e7bee26f501f9a191290";
+      };
+    };
+    "graceful-readlink-1.0.1" = {
+      name = "graceful-readlink";
+      packageName = "graceful-readlink";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz";
+        sha1 = "4cafad76bc62f02fa039b2f94e9a3dd3a391a725";
+      };
+    };
+    "is-buffer-1.1.6" = {
+      name = "is-buffer";
+      packageName = "is-buffer";
+      version = "1.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz";
+        sha512 = "NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==";
+      };
+    };
+    "is-promise-1.0.1" = {
+      name = "is-promise";
+      packageName = "is-promise";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-promise/-/is-promise-1.0.1.tgz";
+        sha1 = "31573761c057e33c2e91aab9e96da08cefbe76e5";
+      };
+    };
+    "is-promise-2.2.2" = {
+      name = "is-promise";
+      packageName = "is-promise";
+      version = "2.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz";
+        sha512 = "+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==";
+      };
+    };
+    "jade-1.11.0" = {
+      name = "jade";
+      packageName = "jade";
+      version = "1.11.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jade/-/jade-1.11.0.tgz";
+        sha1 = "9c80e538c12d3fb95c8d9bb9559fa0cc040405fd";
+      };
+    };
+    "jstransformer-0.0.2" = {
+      name = "jstransformer";
+      packageName = "jstransformer";
+      version = "0.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jstransformer/-/jstransformer-0.0.2.tgz";
+        sha1 = "7aae29a903d196cfa0973d885d3e47947ecd76ab";
+      };
+    };
+    "kind-of-3.2.2" = {
+      name = "kind-of";
+      packageName = "kind-of";
+      version = "3.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz";
+        sha1 = "31ea21a734bab9bbb0f32466d893aea51e4a3c64";
+      };
+    };
+    "lazy-cache-1.0.4" = {
+      name = "lazy-cache";
+      packageName = "lazy-cache";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz";
+        sha1 = "a1d78fc3a50474cb80845d3b3b6e1da49a446e8e";
+      };
+    };
+    "longest-1.0.1" = {
+      name = "longest";
+      packageName = "longest";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz";
+        sha1 = "30a0b2da38f73770e8294a0d22e6625ed77d0097";
+      };
+    };
+    "minimist-1.2.5" = {
+      name = "minimist";
+      packageName = "minimist";
+      version = "1.2.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz";
+        sha512 = "FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==";
+      };
+    };
+    "mkdirp-0.5.5" = {
+      name = "mkdirp";
+      packageName = "mkdirp";
+      version = "0.5.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz";
+        sha512 = "NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==";
+      };
+    };
+    "optimist-0.3.7" = {
+      name = "optimist";
+      packageName = "optimist";
+      version = "0.3.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz";
+        sha1 = "c90941ad59e4273328923074d2cf2e7cbc6ec0d9";
+      };
+    };
+    "promise-2.0.0" = {
+      name = "promise";
+      packageName = "promise";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/promise/-/promise-2.0.0.tgz";
+        sha1 = "46648aa9d605af5d2e70c3024bf59436da02b80e";
+      };
+    };
+    "promise-6.1.0" = {
+      name = "promise";
+      packageName = "promise";
+      version = "6.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/promise/-/promise-6.1.0.tgz";
+        sha1 = "2ce729f6b94b45c26891ad0602c5c90e04c6eef6";
+      };
+    };
+    "repeat-string-1.6.1" = {
+      name = "repeat-string";
+      packageName = "repeat-string";
+      version = "1.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz";
+        sha1 = "8dcae470e1c88abc2d600fff4a776286da75e637";
+      };
+    };
+    "requirejs-2.3.6" = {
+      name = "requirejs";
+      packageName = "requirejs";
+      version = "2.3.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/requirejs/-/requirejs-2.3.6.tgz";
+        sha512 = "ipEzlWQe6RK3jkzikgCupiTbTvm4S0/CAU5GlgptkN5SO6F3u0UD0K18wy6ErDqiCyP4J4YYe1HuAShvsxePLg==";
+      };
+    };
+    "requirejs-text-2.0.16" = {
+      name = "requirejs-text";
+      packageName = "requirejs-text";
+      version = "2.0.16";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/requirejs-text/-/requirejs-text-2.0.16.tgz";
+        sha512 = "XrzjeTb1pwzIWmkz8qnUiM20gENgiwB+66IciNuziwlaPAJsYQsQPSYyQ1kD4tGKGZxTisIfDbOHk02DpI/76Q==";
+      };
+    };
+    "right-align-0.1.3" = {
+      name = "right-align";
+      packageName = "right-align";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz";
+        sha1 = "61339b722fe6a3515689210d24e14c96148613ef";
+      };
+    };
+    "source-map-0.1.43" = {
+      name = "source-map";
+      packageName = "source-map";
+      version = "0.1.43";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz";
+        sha1 = "c24bc146ca517c1471f5dacbe2571b2b7f9e3346";
+      };
+    };
+    "source-map-0.4.4" = {
+      name = "source-map";
+      packageName = "source-map";
+      version = "0.4.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz";
+        sha1 = "eba4f5da9c0dc999de68032d8b4f76173652036b";
+      };
+    };
+    "source-map-0.5.7" = {
+      name = "source-map";
+      packageName = "source-map";
+      version = "0.5.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz";
+        sha1 = "8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc";
+      };
+    };
+    "transformers-2.1.0" = {
+      name = "transformers";
+      packageName = "transformers";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/transformers/-/transformers-2.1.0.tgz";
+        sha1 = "5d23cb35561dd85dc67fb8482309b47d53cce9a7";
+      };
+    };
+    "uglify-js-2.2.5" = {
+      name = "uglify-js";
+      packageName = "uglify-js";
+      version = "2.2.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-2.2.5.tgz";
+        sha1 = "a6e02a70d839792b9780488b7b8b184c095c99c7";
+      };
+    };
+    "uglify-js-2.8.29" = {
+      name = "uglify-js";
+      packageName = "uglify-js";
+      version = "2.8.29";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz";
+        sha1 = "29c5733148057bb4e1f75df35b7a9cb72e6a59dd";
+      };
+    };
+    "uglify-to-browserify-1.0.2" = {
+      name = "uglify-to-browserify";
+      packageName = "uglify-to-browserify";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz";
+        sha1 = "6e0924d6bda6b5afe349e39a6d632850a0f882b7";
+      };
+    };
+    "void-elements-2.0.1" = {
+      name = "void-elements";
+      packageName = "void-elements";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz";
+        sha1 = "c066afb582bb1cb4128d60ea92392e94d5e9dbec";
+      };
+    };
+    "window-size-0.1.0" = {
+      name = "window-size";
+      packageName = "window-size";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz";
+        sha1 = "5438cd2ea93b202efa3a19fe8887aee7c94f9c9d";
+      };
+    };
+    "with-4.0.3" = {
+      name = "with";
+      packageName = "with";
+      version = "4.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/with/-/with-4.0.3.tgz";
+        sha1 = "eefd154e9e79d2c8d3417b647a8f14d9fecce14e";
+      };
+    };
+    "wordwrap-0.0.2" = {
+      name = "wordwrap";
+      packageName = "wordwrap";
+      version = "0.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz";
+        sha1 = "b79669bb42ecb409f83d583cad52ca17eaa1643f";
+      };
+    };
+    "wordwrap-0.0.3" = {
+      name = "wordwrap";
+      packageName = "wordwrap";
+      version = "0.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz";
+        sha1 = "a3d5da6cd5c0bc0008d37234bbaf1bed63059107";
+      };
+    };
+    "yargs-3.10.0" = {
+      name = "yargs";
+      packageName = "yargs";
+      version = "3.10.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz";
+        sha1 = "f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1";
+      };
+    };
+  };
+  args = {
+    name = "isso";
+    packageName = "isso";
+    version = "latest";
+    src = ./.;
+    dependencies = [
+      sources."acorn-2.7.0"
+      sources."acorn-globals-1.0.9"
+      sources."align-text-0.1.4"
+      sources."almond-0.3.3"
+      sources."amdefine-1.0.1"
+      sources."asap-1.0.0"
+      sources."camelcase-1.2.1"
+      sources."center-align-0.1.3"
+      sources."character-parser-1.2.1"
+      (sources."clean-css-3.4.28" // {
+        dependencies = [
+          sources."commander-2.8.1"
+        ];
+      })
+      (sources."cliui-2.1.0" // {
+        dependencies = [
+          sources."wordwrap-0.0.2"
+        ];
+      })
+      sources."commander-2.6.0"
+      sources."constantinople-3.0.2"
+      sources."css-1.0.8"
+      sources."css-parse-1.0.4"
+      sources."css-stringify-1.0.5"
+      sources."decamelize-1.2.0"
+      sources."graceful-readlink-1.0.1"
+      sources."is-buffer-1.1.6"
+      sources."is-promise-2.2.2"
+      sources."jade-1.11.0"
+      sources."jstransformer-0.0.2"
+      sources."kind-of-3.2.2"
+      sources."lazy-cache-1.0.4"
+      sources."longest-1.0.1"
+      sources."minimist-1.2.5"
+      sources."mkdirp-0.5.5"
+      sources."optimist-0.3.7"
+      sources."promise-6.1.0"
+      sources."repeat-string-1.6.1"
+      sources."requirejs-2.3.6"
+      sources."requirejs-text-2.0.16"
+      sources."right-align-0.1.3"
+      sources."source-map-0.4.4"
+      (sources."transformers-2.1.0" // {
+        dependencies = [
+          sources."is-promise-1.0.1"
+          sources."promise-2.0.0"
+          sources."source-map-0.1.43"
+          sources."uglify-js-2.2.5"
+        ];
+      })
+      (sources."uglify-js-2.8.29" // {
+        dependencies = [
+          sources."source-map-0.5.7"
+        ];
+      })
+      sources."uglify-to-browserify-1.0.2"
+      sources."void-elements-2.0.1"
+      sources."window-size-0.1.0"
+      (sources."with-4.0.3" // {
+        dependencies = [
+          sources."acorn-1.2.2"
+        ];
+      })
+      sources."wordwrap-0.0.3"
+      sources."yargs-3.10.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "lightweight Disquis alternative";
+      license = "MIT";
+    };
+    production = false;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+in
+{
+  args = args;
+  sources = sources;
+  tarball = nodeEnv.buildNodeSourceDist args;
+  package = nodeEnv.buildNodePackage args;
+  shell = nodeEnv.buildNodeShell args;
+  nodeDependencies = nodeEnv.buildNodeDependencies (lib.overrideExisting args {
+    src = stdenv.mkDerivation {
+      name = args.name + "-package-json";
+      src = nix-gitignore.gitignoreSourcePure [
+        "*"
+        "!package.json"
+        "!package-lock.json"
+      ] args.src;
+      dontBuild = true;
+      installPhase = "mkdir -p $out; cp -r ./* $out;";
+    };
+  });
+}
diff --git a/nixpkgs/pkgs/servers/isso/package.json b/nixpkgs/pkgs/servers/isso/package.json
new file mode 100644
index 000000000000..6b89e0f77dd4
--- /dev/null
+++ b/nixpkgs/pkgs/servers/isso/package.json
@@ -0,0 +1,15 @@
+{
+  "name": "isso",
+  "version": "latest",
+  "author": "Martin Zimmermann",
+  "description": "lightweight Disquis alternative",
+  "license": "MIT",
+  "repository": "github:posativ/isso",
+  "dependencies": {},
+  "devDependencies": {
+    "almond": "^0.3.3",
+    "jade": "^1.5.0",
+    "requirejs": "^2.3.6",
+    "requirejs-text": "^2.0.15"
+  }
+}
diff --git a/nixpkgs/pkgs/servers/jackett/default.nix b/nixpkgs/pkgs/servers/jackett/default.nix
index a324dcb58bdc..baa1461df82e 100644
--- a/nixpkgs/pkgs/servers/jackett/default.nix
+++ b/nixpkgs/pkgs/servers/jackett/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "jackett";
-  version = "0.18.455";
+  version = "0.18.545";
 
   src = fetchurl {
     url = "https://github.com/Jackett/Jackett/releases/download/v${version}/Jackett.Binaries.Mono.tar.gz";
-    sha256 = "sha256-qEuhgtDtdMCHJtUcUDUmKI8FT0ti7veleI7UhwTAUfE=";
+    sha256 = "sha256-aHb7bhqagf60YkzL5II/mGPeUibH655QH8Qx3+EqWjY=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/servers/jellyfin/nuget-deps.nix b/nixpkgs/pkgs/servers/jellyfin/nuget-deps.nix
index 978a2cff615d..6afc41fba6f9 100644
--- a/nixpkgs/pkgs/servers/jellyfin/nuget-deps.nix
+++ b/nixpkgs/pkgs/servers/jellyfin/nuget-deps.nix
@@ -1,2268 +1,455 @@
-# This file has been generated by the jellyfin updateScript. Do not edit!
 { fetchNuGet }: [
-  (fetchNuGet {
-    name = "BDInfo";
-    version = "0.7.6.1";
-    sha256 = "06qhssvd4iicssl9wv7921g3ss6y2s6g9zhf1svgcm8ffs52i38i";
-  })
-  (fetchNuGet {
-    name = "BlurHashSharp";
-    version = "1.1.1";
-    sha256 = "1fbpg9935pfpr93vywxjdxqzjv1c7v3z86ylzh5n2krxm5jygzrv";
-  })
-  (fetchNuGet {
-    name = "BlurHashSharp.SkiaSharp";
-    version = "1.1.1";
-    sha256 = "11ljrrph0kkw2qfxyza9xfzmh6aspbx5iv0pvk4ms0hyzxh1mas0";
-  })
-  (fetchNuGet {
-    name = "CommandLineParser";
-    version = "2.8.0";
-    sha256 = "1m32xyilv2b7k55jy8ddg08c20glbcj2yi545kxs9hj2ahanhrbb";
-  })
-  (fetchNuGet {
-    name = "DotNet.Glob";
-    version = "3.1.0";
-    sha256 = "11rvhb7y420yadah3j8by5xc7ad2ks2bqyhn4aa10m3xb6hiza0i";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core";
-    version = "2.8.26";
-    sha256 = "1v8xd12yms4qq1md4vh6faxicmqrvahqdd7sdkyzrphab9v44nsm";
-  })
-  (fetchNuGet {
-    name = "Jellyfin.XmlTv";
-    version = "10.6.2";
-    sha256 = "0ngxjl6d99hzccdbisgwf84w27j2fvjxr05awkirvm6nzvbgq16a";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Antiforgery";
-    version = "2.2.0";
-    sha256 = "026wjdwjx0lgccqv0xi5gxylxzgz5ifgxf25p5pqakgrhkz0a59l";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.App.Runtime.linux-x64";
-    version = "5.0.5";
-    sha256 = "026m19pddhkx5idwpi6mp1yl9yfcfgm2qjp1jh54mdja1d7ng0vk";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Authentication";
-    version = "2.2.0";
-    sha256 = "0yqfzd0qq5ypmk6b9gnb1yscl75fxx9frq808cxs70ay7y7jqmgn";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Authentication.Abstractions";
-    version = "2.2.0";
-    sha256 = "0vj7fhpk0d95nkkxz4q0rma6pb4ym96mx6nms4603y0l19h0k5yh";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Authentication.Core";
-    version = "2.2.0";
-    sha256 = "1wgn45fmdi7dk9cl4cdhzgqc9mdxhfw7zg8zwns3j7qgrhlv6k8h";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Authorization";
-    version = "5.0.3";
-    sha256 = "0cffsksaaxndmryb3m1bhli1iihq1wc69dinpxzrdwhw8s2bmfxw";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Authorization.Policy";
-    version = "2.2.0";
-    sha256 = "1d1zh65kfjf81j21ssmhr465vx08bra8424vgnrb22gdx03mhwd2";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Connections.Abstractions";
-    version = "2.2.0";
-    sha256 = "1rl94r8b0zq14f3dhfnvfjj1ivr81iw9zh5kdgs3zkdv0xc9x21j";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Cors";
-    version = "2.2.0";
-    sha256 = "0qskbz87i74kfbklxqfyqaccyba21kkx2lcdfa54kxj9r8daq7sc";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Cryptography.Internal";
-    version = "2.2.0";
-    sha256 = "01lg2fx85b47ldgdrhs6clsivj35x54xwc9r5xk3f1v8rr3gycsv";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.DataProtection";
-    version = "2.2.0";
-    sha256 = "09lzbp084xxy1xxfbxpqdff8phv2pzd1n5v30xfm03hhl7a038gx";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.DataProtection.Abstractions";
-    version = "2.2.0";
-    sha256 = "1gi4hpssmrrdf5lm6idkhvqbfy12bx14976y4gbhmx9z8lxaqcfz";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Diagnostics.Abstractions";
-    version = "2.2.0";
-    sha256 = "061cdhjh5w2f1frhimcgk68vx8p743jb9h4qik3lm1c734r0drm0";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Hosting";
-    version = "2.2.7";
-    sha256 = "0pr4kmzlj3rmylxqg6dw2ph8a8sl2m2k630z1qy21kddsb4ac849";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Hosting.Abstractions";
-    version = "2.2.0";
-    sha256 = "043k651vbfshh3s997x42ymj8nb32419m7q3sjw5q2c27anrhfhv";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Hosting.Server.Abstractions";
-    version = "2.2.0";
-    sha256 = "0nz73bwrvhc1n7gd7xxm3p5ww2wx9qr9m9i43y20gh0c54adkygh";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Html.Abstractions";
-    version = "2.2.0";
-    sha256 = "1z5lkzb9h9wprvyxyjw4fj7bjypaibsw0cj4bz769hf0abjz8y1v";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Http";
-    version = "2.2.0";
-    sha256 = "1fcrafpa57sab3as18idqknzlxkx49n4sxzlzik3sj6pcji5j17q";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Http";
-    version = "2.2.2";
-    sha256 = "09mgjvpqdyylz9dbngql9arx46lfkiczjdf7aqr9asd5vjqlv2c8";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Http.Abstractions";
-    version = "2.2.0";
-    sha256 = "13s8cm6jdpydxmr0rgmzrmnp1v2r7i3rs7v9fhabk5spixdgfy6b";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Http.Extensions";
-    version = "2.2.0";
-    sha256 = "118gp1mfb8ymcvw87fzgjqwlc1d1b0l0sbfki291ydg414cz3dfn";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Http.Features";
-    version = "2.2.0";
-    sha256 = "0xrlq8i61vzhzzy25n80m7wh2kn593rfaii3aqnxdsxsg6sfgnx1";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.JsonPatch";
-    version = "2.2.0";
-    sha256 = "07cihb5sqkavg42nvircdwjp0b67mhrla97jgx285zdjphplg4h2";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Localization";
-    version = "2.2.0";
-    sha256 = "08knc70cy7ycid5sbbbzy6my4b7ddj4j760k5xf1qnfb0njxhfh7";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Metadata";
-    version = "5.0.3";
-    sha256 = "01v2iaqpzz0h6z3hg1vr67za7d3283gs0wym42zvb9yksg6pf0zi";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Mvc";
-    version = "2.2.0";
-    sha256 = "16jrikcywkd4r4jh551p8gxxw6hj3aizdzd5i7agb06gwpgqqv9c";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Mvc.Abstractions";
-    version = "2.2.0";
-    sha256 = "09p447ipd19517vy8xx9ykvspn6b4fgbm2rskpmzyw41x9wz4k0b";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Mvc.Analyzers";
-    version = "2.2.0";
-    sha256 = "1b975z00bzgh2z5hina4bzfksvc2vgnbzmi8g3q962hspg6ylh9f";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Mvc.ApiExplorer";
-    version = "2.2.0";
-    sha256 = "1ryhd1md30fgrli74qv45mhldivbasdvydw0lllg6x6jzpyrkwpa";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Mvc.Core";
-    version = "2.2.0";
-    sha256 = "1k6lkgk9zak5sczvyjbwgqnfcwcg9ks74wznqfzck8c6hns1by0m";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Mvc.Cors";
-    version = "2.2.0";
-    sha256 = "077vjxn0k5rr4s675g50rzkns6scgijxxh5iib59k77ldwpdr14q";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Mvc.DataAnnotations";
-    version = "2.2.0";
-    sha256 = "0vdhdjarh4az7g71gkvmhq6xpvwhh8si3sbrpdwb8p60i94cdyl6";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Mvc.Formatters.Json";
-    version = "2.2.0";
-    sha256 = "0421fcf2z8a6z81ql123ili32wbr3x25zpq17xjf4s9fmsr0069a";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Mvc.Localization";
-    version = "2.2.0";
-    sha256 = "0d27xirwsr3j7jacsrz6g2r4py35hgzjyy6ak6gkd07cm707wgc6";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Mvc.Razor";
-    version = "2.2.0";
-    sha256 = "06fqg7rfyvfj3hdppkhy37ddjff2d6pg7khj6lccs9lwc732yr7q";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Mvc.Razor.Extensions";
-    version = "2.2.0";
-    sha256 = "04javqbzv7mkakqjl40j429giaagjj7hmwcljrgj8q1jknk0x9xc";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Mvc.RazorPages";
-    version = "2.2.0";
-    sha256 = "0zqyqfxzl3lkqfy9chd0ipani75q3109imlxrnhdfiwmxrd8xqbm";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Mvc.TagHelpers";
-    version = "2.2.0";
-    sha256 = "16aprk81sp2i0n0dmp318cm65mk03i58rhpijm4fz4xz51j7z8li";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Mvc.ViewFeatures";
-    version = "2.2.0";
-    sha256 = "1isflvb0ff5nfqnvdlyvmszkd42axbbz0xmdaf0d7sah0qkvvi7n";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Razor";
-    version = "2.2.0";
-    sha256 = "02ybprvsi59nwa0fdq99jvx7r26bs2bg3xjxkilc495clgg98zp0";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Razor.Design";
-    version = "2.2.0";
-    sha256 = "03pcdcbmyw050hag588b7caqilnq3cb6ndq5g6j0r7j7wf3plsn6";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Razor.Language";
-    version = "2.2.0";
-    sha256 = "0n58qdipwy5wymfhgm3anickwvnf4svb9ipbrby7ksrhhrkqvx4z";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Razor.Runtime";
-    version = "2.2.0";
-    sha256 = "1n9j5hjinm5gp39nwmcf26dwg1psl7sf7xkxnvfxsnl44mbcy695";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.ResponseCaching.Abstractions";
-    version = "2.2.0";
-    sha256 = "01sp2i2bgcn6blw1mcvg5nrlc97c9czyawwvgfi6ydzdvs6ang37";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.ResponseCompression";
-    version = "2.2.0";
-    sha256 = "0madnk92752alpc7cv2bazqlihhzgl3yj1s9ajhi3w09vg8n8pz4";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Routing";
-    version = "2.2.0";
-    sha256 = "12kv602j2rxp43l1v3618yz3pdd7hqc3r98ya0bqz6y2ppvhbyws";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Routing.Abstractions";
-    version = "2.2.0";
-    sha256 = "0d9wwz1rsh1fslbv1y72jpkvqv2v9n28rl3vslcg0x74lp2678ly";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Server.Kestrel";
-    version = "2.2.0";
-    sha256 = "0wh7hf09i9qxs9r0d5xdcx3qingsid9nxlwcyjg2r44pjs6cg1rf";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Server.Kestrel.Core";
-    version = "2.2.0";
-    sha256 = "075ffds8hwp8ps0zf84bsv9pgiaqry9njc403qack701aybci97r";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Server.Kestrel.Https";
-    version = "2.2.0";
-    sha256 = "08z447wrbzy3l9lmmas353nr17sg9yccwcg62l9ax9a6n1wvds8c";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions";
-    version = "2.2.0";
-    sha256 = "08bj95zy4zszyx1rsy8v2ai9kg4120ij6yi0zillwx3ndb3q7vfb";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets";
-    version = "2.2.0";
-    sha256 = "0vhicfnv12sz2c81czdgdlffcgrhnn1jzz9zwy3a9c2n4rn8k9k5";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.WebSockets";
-    version = "2.2.1";
-    sha256 = "0gzikr1z2fdz8nzy1m969jsrk2h97ld1hzgmbc6f036qmhiq26hr";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.WebUtilities";
-    version = "2.2.0";
-    sha256 = "0cs1g4ing4alfbwyngxzgvkrv7z964isv1j9dzflafda4p0wxmsi";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Build.Tasks.Git";
-    version = "1.0.0";
-    sha256 = "0avwja8vk56f2kr2pmrqx3h60bnwbs7ds062lhvhcxv87m5yfqnj";
-  })
-  (fetchNuGet {
-    name = "Microsoft.CodeAnalysis.Analyzers";
-    version = "1.1.0";
-    sha256 = "08r667hj2259wbim1p3al5qxkshydykmb7nd9ygbjlg4mmydkapc";
-  })
-  (fetchNuGet {
-    name = "Microsoft.CodeAnalysis.Common";
-    version = "2.8.0";
-    sha256 = "0g4h41fs0r8lqh9pk9s4mc1090kdpa6sbxq4rc866s8hnq9s1h4j";
-  })
-  (fetchNuGet {
-    name = "Microsoft.CodeAnalysis.CSharp";
-    version = "2.8.0";
-    sha256 = "0p1xvw1h2fmnxywv1j4x6p3rgarpc8mfwfgn0vflk5xfnc961f6w";
-  })
-  (fetchNuGet {
-    name = "Microsoft.CodeAnalysis.FxCopAnalyzers";
-    version = "2.9.8";
-    sha256 = "15zv982rln15ds8z2hkpmx04njdg0cmmf1xnb9v1v7cxxf7yxx27";
-  })
-  (fetchNuGet {
-    name = "Microsoft.CodeAnalysis.Razor";
-    version = "2.2.0";
-    sha256 = "03cm9danxxnsnmrzfz2swz6zhckkgg6hrz1ycnvnjrbpk3w4v0d6";
-  })
-  (fetchNuGet {
-    name = "Microsoft.CodeAnalysis.VersionCheckAnalyzer";
-    version = "2.9.8";
-    sha256 = "19v25694f9l172snrm4qik5gxzlifiyrmf0kk2zasz7hrciw36bl";
-  })
-  (fetchNuGet {
-    name = "Microsoft.CodeQuality.Analyzers";
-    version = "2.9.8";
-    sha256 = "17ld069hlpcv4z4ylx6m4rhd398sxd0qd0msadfm0rljlkj6xg83";
-  })
-  (fetchNuGet {
-    name = "Microsoft.CSharp";
-    version = "4.0.1";
-    sha256 = "0zxc0apx1gcx361jlq8smc9pfdgmyjh6hpka8dypc9w23nlsh6yj";
-  })
-  (fetchNuGet {
-    name = "Microsoft.CSharp";
-    version = "4.3.0";
-    sha256 = "0gw297dgkh0al1zxvgvncqs0j15lsna9l1wpqas4rflmys440xvb";
-  })
-  (fetchNuGet {
-    name = "Microsoft.CSharp";
-    version = "4.5.0";
-    sha256 = "01i28nvzccxbqmiz217fxs6hnjwmd5fafs37rd49a6qp53y6623l";
-  })
-  (fetchNuGet {
-    name = "Microsoft.CSharp";
-    version = "4.7.0";
-    sha256 = "0gd67zlw554j098kabg887b5a6pq9kzavpa3jjy5w53ccjzjfy8j";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Data.Sqlite.Core";
-    version = "5.0.3";
-    sha256 = "1msj8zn2yfdn5lcny3msqiry94rhs8lkmx1l4pv29mhxggchvidr";
-  })
-  (fetchNuGet {
-    name = "Microsoft.DotNet.PlatformAbstractions";
-    version = "2.0.4";
-    sha256 = "1fdzln4im9hb55agzwchbfgm3vmngigmbpci5j89b0gqcxixmv8j";
-  })
-  (fetchNuGet {
-    name = "Microsoft.DotNet.PlatformAbstractions";
-    version = "2.1.0";
-    sha256 = "1qydvyyinj3b5mraazjal3n2k7jqhn05b6n1a2f3qjkqkxi63dmy";
-  })
-  (fetchNuGet {
-    name = "Microsoft.DotNet.PlatformAbstractions";
-    version = "3.1.6";
-    sha256 = "0b9myd7gqbpaw9pkd2bx45jhik9mwj0f1ss57sk2cxmag2lkdws5";
-  })
-  (fetchNuGet {
-    name = "Microsoft.EntityFrameworkCore";
-    version = "5.0.3";
-    sha256 = "1bhkmr15njgyrd57rmvrjdyamj6qm1n8sdrzcgbfyj7wsjav8dmv";
-  })
-  (fetchNuGet {
-    name = "Microsoft.EntityFrameworkCore.Abstractions";
-    version = "5.0.3";
-    sha256 = "1h0cxqsmpgd1fc9jd4mm1v89s8zchpmd24ks4j5fjgc3j83nvgg9";
-  })
-  (fetchNuGet {
-    name = "Microsoft.EntityFrameworkCore.Analyzers";
-    version = "5.0.3";
-    sha256 = "0mgnw1na94gg4mks7ba9r9cfy3k8vnspi08ryc2i8h91m31dibc2";
-  })
-  (fetchNuGet {
-    name = "Microsoft.EntityFrameworkCore.Design";
-    version = "5.0.3";
-    sha256 = "00p9l6ydqg6kmwyqza0dd9q1zfvam7b3hv8b9kafbl590kdxjzl4";
-  })
-  (fetchNuGet {
-    name = "Microsoft.EntityFrameworkCore.Relational";
-    version = "5.0.3";
-    sha256 = "11pancjxzx04yvy7h4x4m6hncwl2ijiwsvr9m1sa1cmq53lrrvlk";
-  })
-  (fetchNuGet {
-    name = "Microsoft.EntityFrameworkCore.Sqlite";
-    version = "5.0.3";
-    sha256 = "16658n7q2jahk4haljand6j3bmkg718hck4g1piy1j8kx2i6dg7p";
-  })
-  (fetchNuGet {
-    name = "Microsoft.EntityFrameworkCore.Sqlite.Core";
-    version = "5.0.3";
-    sha256 = "0ffi0dyrg00891ac15qajrk7mnhwyayi1fdpwjm10zjdxm4nwy26";
-  })
-  (fetchNuGet {
-    name = "Microsoft.EntityFrameworkCore.Tools";
-    version = "5.0.3";
-    sha256 = "074v7y4irv34xw16ps8mmjm5pq8gk1fs17kx4sznw9bgkcfrm0hy";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.ApiDescription.Server";
-    version = "3.0.0";
-    sha256 = "13a47xcqyi5gz85swxd4mgp7ndgl4kknrvv3xwmbn71hsh953hsh";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Caching.Abstractions";
-    version = "2.2.0";
-    sha256 = "0hhxc5dp52faha1bdqw0k426zicsv6x1kfqi30m9agr0b2hixj52";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Caching.Abstractions";
-    version = "5.0.0";
-    sha256 = "0j83zapqhgqb4v5f6kn891km095pfhvsqha357a86ccclmv2czvb";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Caching.Memory";
-    version = "2.2.0";
-    sha256 = "0bzrsn5vas86w66bd04xilnlb21nx4l6lz7d3acvy6y8ir2vb5dv";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Caching.Memory";
-    version = "5.0.0";
-    sha256 = "0l8spndl3kvccjlay202msm31iy5iig0i9ddbsdy92wbcjr97lca";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Configuration";
-    version = "2.0.0";
-    sha256 = "0yssxq9di5h6xw2cayp5hj3l9b2p0jw9wcjz73rwk4586spac9s9";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Configuration";
-    version = "2.2.0";
-    sha256 = "02250qrs3jqqbggfvd0mkim82817f79x6jh8fx2i7r58d0m66qkl";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Configuration";
-    version = "3.1.2";
-    sha256 = "06diq359ac4bf8jlr9msf8mwalk1a85lskkgcd8mcha56l7l7g0r";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Configuration";
-    version = "3.1.6";
-    sha256 = "0j0zl05n9vv23m2dg4wy6pc39zy09rvnr0ljwh63sa1gski32fhx";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Configuration";
-    version = "5.0.0";
-    sha256 = "01m9vzlq0vg0lhckj2dimwq42niwny8g3lm13c9a401hlyg90z1p";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Configuration.Abstractions";
-    version = "2.0.0";
-    sha256 = "1ilz2yrgg9rbjyhn6a5zh9pr51nmh11z7sixb4p7vivgydj9gxwf";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Configuration.Abstractions";
-    version = "2.1.0";
-    sha256 = "03gzlr3z9j1xnr1k6y91zgxpz3pj27i3zsvjwj7i8jqnlqmk7pxd";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Configuration.Abstractions";
-    version = "2.2.0";
-    sha256 = "1fv5277hyhfqmc0gqszyqb1ilwnijm8kc9606yia6hwr8pxyg674";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Configuration.Abstractions";
-    version = "3.1.2";
-    sha256 = "1mfsgiklr4v99bx62z97vnp7y2jbdr9g9gwyyw89xcb67pir0wb9";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Configuration.Abstractions";
-    version = "3.1.6";
-    sha256 = "1bqp28717rdlygdj7m3srfdbkvx0x6bqs2ply9h2sib87jqxaz9i";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Configuration.Abstractions";
-    version = "5.0.0";
-    sha256 = "0fqxkc9pjxkqylsdf26s9q21ciyk56h1w33pz3v1v4wcv8yv1v6k";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Configuration.Binder";
-    version = "2.0.0";
-    sha256 = "1prvdbma6r18n5agbhhabv6g357p1j70gq4m9g0vs859kf44nrgc";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Configuration.Binder";
-    version = "2.2.0";
-    sha256 = "10qyjdkymdmag3r807kvbnwag4j3nz65i4cwikbd77jjvz92ya3j";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Configuration.Binder";
-    version = "3.1.2";
-    sha256 = "1jksknhlvgxgys51z0j7pi6c4k8m1iqv3ixp8nhrk24bc8hf04br";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Configuration.Binder";
-    version = "3.1.6";
-    sha256 = "0lq35v2zqvs9jl7y347nr8qmdghr6xrymmik3b5kndw1zlrflavn";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Configuration.Binder";
-    version = "5.0.0";
-    sha256 = "0sld0bh2k5kss32i3nf8mwqkjagmw0d1cdfmxm87ckiicwm413a0";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Configuration.EnvironmentVariables";
-    version = "2.2.4";
-    sha256 = "0i5m7ki5jl4q9fbc0capcjakbh2y55g0zhq7cjs9qw38496rb020";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Configuration.EnvironmentVariables";
-    version = "5.0.0";
-    sha256 = "03gvckj10ljk1mir9g8cf3cajsnihhvmh8z8341gkr9h5653qkv0";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Configuration.FileExtensions";
-    version = "2.2.0";
-    sha256 = "0bwk1kh6q259nmnly90j5rbbzi9w5gigq5vyjr31c1br4j8cjmqd";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Configuration.FileExtensions";
-    version = "5.0.0";
-    sha256 = "1wq229r3xcmm9wh9sqdpvmfv4qpbp2zms9x6xk7g7sbb8h32hnz3";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Configuration.Json";
-    version = "5.0.0";
-    sha256 = "0hq5i483bjbvprp1la9l3si82x1ydxbvkpfc7r3s7zgxg957fyp9";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.DependencyInjection";
-    version = "2.2.0";
-    sha256 = "0lvv45rvq1xbf47lz818rjydc776zk8mf7svpzh1dml4qwlx9zck";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.DependencyInjection";
-    version = "3.1.2";
-    sha256 = "0z3vdzrnfy838afc2vv4knj2ycab7jni55kdj82p7plfjngv01ic";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.DependencyInjection";
-    version = "3.1.6";
-    sha256 = "0m8b5phfbkx96l92nf0xs3bz6861mhb7i4havxckz7mr81g968l6";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.DependencyInjection";
-    version = "5.0.0";
-    sha256 = "15sdwcyzz0qlybwbdq854bn3jk6kx7awx28gs864c4shhbqkppj4";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.DependencyInjection";
-    version = "5.0.1";
-    sha256 = "06xig49mwyp3b2dvdx98j079ncg6p4c9x8yj4pzs6ppmi3jgaaqk";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.DependencyInjection.Abstractions";
-    version = "2.0.0";
-    sha256 = "1pwrfh9b72k9rq6mb2jab5qhhi225d5rjalzkapiayggmygc8nhz";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.DependencyInjection.Abstractions";
-    version = "2.1.0";
-    sha256 = "0c0cx8r5xkjpxmcfp51959jnp55qjvq28d9vaslk08avvi1by12s";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.DependencyInjection.Abstractions";
-    version = "2.2.0";
-    sha256 = "1jyzfdr9651h3x6pxwhpfbb9mysfh8f8z1jvy4g117h9790r9zx5";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.DependencyInjection.Abstractions";
-    version = "3.1.2";
-    sha256 = "0jh1338ai6060k1130by4m0s7jhz8ky7ij9vagrsgnpcl1yc9k70";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.DependencyInjection.Abstractions";
-    version = "3.1.6";
-    sha256 = "18mcv1x6b3qlaksmb8q92r34jrv1841la5lmg21qppmb9qs0z293";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.DependencyInjection.Abstractions";
-    version = "5.0.0";
-    sha256 = "17cz6s80va0ch0a6nqa1wbbbp3p8sqxb96lj4qcw67ivkp2yxiyj";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.DependencyModel";
-    version = "2.0.4";
-    sha256 = "041i1vlcibpzgalxxzdk81g5pgmqvmz2g61k0rqa2sky0wpvijx9";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.DependencyModel";
-    version = "2.1.0";
-    sha256 = "0dl4qhjgifm6v3jsfzvzkvddyic77ggp9fq49ah661v45gk6ilgd";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.DependencyModel";
-    version = "5.0.0";
-    sha256 = "1mma1zxi0b40972cwfvkj9y0w9r7vjbi74784jzcb22pric00k5x";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Diagnostics.HealthChecks";
-    version = "5.0.3";
-    sha256 = "0hv4l27bp29gy3rh9cssvvc8xwzy8ffwh277dw870zhv5mm2ha29";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions";
-    version = "5.0.3";
-    sha256 = "1r1xrlgbyfsf0b447lw6lv6jxq339ssrm61klyjmnk1ady05h9di";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore";
-    version = "5.0.3";
-    sha256 = "0q0j75i289yn3bv09dhzfirpb4glqm35wrv7p2463kmbf3g551rr";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.FileProviders.Abstractions";
-    version = "2.1.0";
-    sha256 = "1sxls5f5cgb0wr8cwb05skqmz074683hrhmd3hhq6m5dasnzb8n3";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.FileProviders.Abstractions";
-    version = "2.2.0";
-    sha256 = "1f83ffb4xjwljg8dgzdsa3pa0582q6b4zm0si467fgkybqzk3c54";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.FileProviders.Abstractions";
-    version = "5.0.0";
-    sha256 = "01ahgd0b2z2zycrr2lcsq2cl59fn04bh51hdwdp9dcsdkpvnasj1";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.FileProviders.Composite";
-    version = "2.2.0";
-    sha256 = "0k3qfxb0pn9b63grbf9jv7xw40gk6m1djmi3c4inwys7lxcj2k18";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.FileProviders.Physical";
-    version = "2.2.0";
-    sha256 = "0lrq4bxf67pw6n9kzwzqsnxkad2ygh2zn46hjias8j7aqljglh7x";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.FileProviders.Physical";
-    version = "5.0.0";
-    sha256 = "00vii8148a6pk12l9jl0rhjp7apil5q5qcy7v1smnv17lj4p8szd";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.FileSystemGlobbing";
-    version = "2.2.0";
-    sha256 = "01jw7s1nb44n65qs3rk7xdzc419qwl0s5c34k031f1cc5ag3jvc2";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.FileSystemGlobbing";
-    version = "5.0.0";
-    sha256 = "0lm6n9vbyjh0l17qcc2y9qwn1cns3dyjmkvbxjp0g9sll32kjpmb";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Hosting.Abstractions";
-    version = "2.1.0";
-    sha256 = "04vm9mdjjzg3lpp2rzpgkpn8h5bzdl3bwcr22lshd3kp602ws4k9";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Hosting.Abstractions";
-    version = "2.2.0";
-    sha256 = "1xc7xr1nq7akfahyl5in9iyxrygap2xi9nxh39rfm37sf8lk55v1";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Hosting.Abstractions";
-    version = "5.0.0";
-    sha256 = "1k28hndmm8ky7sr2j5agdz9lls25mbb08dkypka0b76x5f4hplb5";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Http";
-    version = "3.1.6";
-    sha256 = "04ggi7vdx7h5622y1y7xcls6lij880jn9b2xgg73rwrq6bcadj6q";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Http";
-    version = "5.0.0";
-    sha256 = "1sx2w6s2giavi3i1wbpa64h1v1xhk5afz3whh7rxhb9fmsn9h1bk";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Localization";
-    version = "2.2.0";
-    sha256 = "1k73kk5qmrvdyd7l8qxp19crw18f2p5dgk3cjx59g7vf3rkgmc6k";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Localization.Abstractions";
-    version = "2.2.0";
-    sha256 = "1yzqs5x97rj6wlg0rylj0xi3dn1bw4ps26zdqsijx621jl1r97gy";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Logging";
-    version = "2.2.0";
-    sha256 = "0bx3ljyvvcbikradq2h583rl72h8bxdz33aghk026cxzpv2mm3wm";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Logging";
-    version = "3.1.2";
-    sha256 = "0yh4zbyvm24alrcblcbm0sp7l9ys5ypcxs7l772yj7fdpk0bx3ap";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Logging";
-    version = "3.1.6";
-    sha256 = "0brzknkxlalpb1a8m371nmkmpfjf1q3p8x6nls5ylh0w7midxxgp";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Logging";
-    version = "5.0.0";
-    sha256 = "1qa1l18q2jh9azya8gv1p8anzcdirjzd9dxxisb4911i9m1648i3";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Logging.Abstractions";
-    version = "2.1.0";
-    sha256 = "1gvgif1wcx4k6pv7gc00qv1hid945jdywy1s50s33q0hfd91hbnj";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Logging.Abstractions";
-    version = "2.2.0";
-    sha256 = "02w7hp6jicr7cl5p456k2cmrjvvhm6spg5kxnlncw3b72358m5wl";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Logging.Abstractions";
-    version = "3.1.2";
-    sha256 = "0givwc5dnz1wm9aa0sfxi4mjws6v9c8v5i5772yg1r4w1wvn3733";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Logging.Abstractions";
-    version = "3.1.6";
-    sha256 = "16pk17a3hh0j431a5f7d663iqk1j6n3wjlzk6chmvnfk3dpwfhww";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Logging.Abstractions";
-    version = "5.0.0";
-    sha256 = "1yza38675dbv1qqnnhqm23alv2bbaqxp0pb7zinjmw8j2mr5r6wc";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.ObjectPool";
-    version = "2.2.0";
-    sha256 = "0n1q9lvc24ii1shzy575xldgmz7imnk4dswwwcgmzz93klri9r1z";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Options";
-    version = "2.0.0";
-    sha256 = "0g4zadlg73f507krilhaaa7h0jdga216syrzjlyf5fdk25gxmjqh";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Options";
-    version = "2.2.0";
-    sha256 = "1b20yh03fg4nmmi3vlf6gf13vrdkmklshfzl3ijygcs4c2hly6v0";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Options";
-    version = "3.1.2";
-    sha256 = "005f42rq6n2v5cakqi51266g26dkjc6nsqdd6w62pxvv6g6kp9km";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Options";
-    version = "3.1.6";
-    sha256 = "1rdi0pcpcmhvwkn7mxymrpav9q2c4frxhl99ps961mmh1i5738sc";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Options";
-    version = "5.0.0";
-    sha256 = "1rdmgpg770x8qwaaa6ryc27zh93p697fcyvn5vkxp0wimlhqkbay";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Options.ConfigurationExtensions";
-    version = "2.0.0";
-    sha256 = "1isc3rjbzz60f7wbmgcwslx5d10hm5hisnk7v54vfi2bz7132gll";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Primitives";
-    version = "2.0.0";
-    sha256 = "1xppr5jbny04slyjgngxjdm0maxdh47vq481ps944d7jrfs0p3mb";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Primitives";
-    version = "2.1.0";
-    sha256 = "1r9gzwdfmb8ysnc4nzmyz5cyar1lw0qmizsvrsh252nhlyg06nmb";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Primitives";
-    version = "2.2.0";
-    sha256 = "0znah6arbcqari49ymigg3wiy2hgdifz8zsq8vdc3ynnf45r7h0c";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Primitives";
-    version = "3.1.2";
-    sha256 = "04hdb7rd59frgb5ym0sfwc5r67jj6vykcbxljzs8909f8hrs98jb";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Primitives";
-    version = "3.1.6";
-    sha256 = "1acl88cph3yqcjz7ami5hzdr69cvxvry24a6r6fmrwnzfcc1i40n";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Primitives";
-    version = "5.0.0";
-    sha256 = "0swqcknyh87ns82w539z1mvy804pfwhgzs97cr3nwqk6g5s42gd6";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.WebEncoders";
-    version = "2.2.0";
-    sha256 = "1mhnichccw6mjf37d38q2i1kr7qp485m7apa1b872ji0q16yy1y3";
-  })
-  (fetchNuGet {
-    name = "Microsoft.NetCore.Analyzers";
-    version = "2.9.8";
-    sha256 = "1klybsdy9yw49zlpmix4vjdhmfaibg5h9yx03vszdnijzap7vpsx";
-  })
-  (fetchNuGet {
-    name = "Microsoft.NETCore.App.Runtime.linux-x64";
-    version = "5.0.5";
-    sha256 = "1h5yry6k9bpqqis2fb1901csb8kipm7anm174fjj41r317vzfjfa";
-  })
-  (fetchNuGet {
-    name = "Microsoft.NETCore.Platforms";
-    version = "1.0.1";
-    sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr";
-  })
-  (fetchNuGet {
-    name = "Microsoft.NETCore.Platforms";
-    version = "1.1.0";
-    sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm";
-  })
-  (fetchNuGet {
-    name = "Microsoft.NETCore.Platforms";
-    version = "1.1.1";
-    sha256 = "164wycgng4mi9zqi2pnsf1pq6gccbqvw6ib916mqizgjmd8f44pj";
-  })
-  (fetchNuGet {
-    name = "Microsoft.NETCore.Platforms";
-    version = "2.0.0";
-    sha256 = "1fk2fk2639i7nzy58m9dvpdnzql4vb8yl8vr19r2fp8lmj9w2jr0";
-  })
-  (fetchNuGet {
-    name = "Microsoft.NETCore.Platforms";
-    version = "3.1.1";
-    sha256 = "05hmaygd5131rnqi6ipv7agsbpi7ka18779vw45iw6b385l7n987";
-  })
-  (fetchNuGet {
-    name = "Microsoft.NETCore.Platforms";
-    version = "5.0.0";
-    sha256 = "0mwpwdflidzgzfx2dlpkvvnkgkr2ayaf0s80737h4wa35gaj11rc";
-  })
-  (fetchNuGet {
-    name = "Microsoft.NETCore.Targets";
-    version = "1.0.1";
-    sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p";
-  })
-  (fetchNuGet {
-    name = "Microsoft.NETCore.Targets";
-    version = "1.1.0";
-    sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh";
-  })
-  (fetchNuGet {
-    name = "Microsoft.NETCore.Targets";
-    version = "1.1.3";
-    sha256 = "05smkcyxir59rgrmp7d6327vvrlacdgldfxhmyr1azclvga1zfsq";
-  })
-  (fetchNuGet {
-    name = "Microsoft.NetFramework.Analyzers";
-    version = "2.9.8";
-    sha256 = "0mb3gkqcr13ryphrzax40cf05bz0h269a6zm1hnzzsq7gbd5iipb";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Net.Http.Headers";
-    version = "2.2.0";
-    sha256 = "0w6lrk9z67bcirq2cj2ldfhnizc6id77ba6i30hjzgqjlyhh1gx5";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Net.Http.Headers";
-    version = "2.2.8";
-    sha256 = "1s0n68z6v5mbys4jjrd4jdxrrz81iq4dzmmbmxzmlf59769x8rj9";
-  })
-  (fetchNuGet {
-    name = "Microsoft.OpenApi";
-    version = "1.2.3";
-    sha256 = "07b19k89whj69j87afkz86gp9b3iybw8jqwvlgcn43m7fb2y99rr";
-  })
-  (fetchNuGet {
-    name = "Microsoft.SourceLink.Common";
-    version = "1.0.0";
-    sha256 = "1zxkpx01zdv17c39iiy8fx25ran89n14qwddh1f140v1s4dn8z9c";
-  })
-  (fetchNuGet {
-    name = "Microsoft.SourceLink.GitHub";
-    version = "1.0.0";
-    sha256 = "029ixyaqn48cjza87m5qf0g1ynyhlm6irgbx1n09src9g666yhpd";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Win32.Primitives";
-    version = "4.0.1";
-    sha256 = "1n8ap0cmljbqskxpf8fjzn7kh1vvlndsa75k01qig26mbw97k2q7";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Win32.Primitives";
-    version = "4.3.0";
-    sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Win32.Registry";
-    version = "4.5.0";
-    sha256 = "1zapbz161ji8h82xiajgriq6zgzmb1f3ar517p2h63plhsq5gh2q";
-  })
-  (fetchNuGet {
-    name = "Mono.Nat";
-    version = "3.0.1";
-    sha256 = "1xy3c9wsiz8k3rx8v60y6gnps337rsb5jpyj0r6g384prg6z4vh0";
-  })
-  (fetchNuGet {
-    name = "NETStandard.Library";
-    version = "1.6.0";
-    sha256 = "0nmmv4yw7gw04ik8ialj3ak0j6pxa9spih67hnn1h2c38ba8h58k";
-  })
-  (fetchNuGet {
-    name = "NETStandard.Library";
-    version = "1.6.1";
-    sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8";
-  })
-  (fetchNuGet {
-    name = "Newtonsoft.Json";
-    version = "10.0.1";
-    sha256 = "15ncqic3p2rzs8q8ppi0irl2miq75kilw4lh8yfgjq96id0ds3hv";
-  })
-  (fetchNuGet {
-    name = "Newtonsoft.Json";
-    version = "11.0.2";
-    sha256 = "1784xi44f4k8v1fr696hsccmwpy94bz7kixxqlri98zhcxn406b2";
-  })
-  (fetchNuGet {
-    name = "Newtonsoft.Json";
-    version = "12.0.2";
-    sha256 = "0w2fbji1smd2y7x25qqibf1qrznmv4s6s0jvrbvr6alb7mfyqvh5";
-  })
-  (fetchNuGet {
-    name = "Newtonsoft.Json";
-    version = "12.0.3";
-    sha256 = "17dzl305d835mzign8r15vkmav2hq8l6g7942dfjpnzr17wwl89x";
-  })
-  (fetchNuGet {
-    name = "Newtonsoft.Json";
-    version = "9.0.1";
-    sha256 = "0mcy0i7pnfpqm4pcaiyzzji4g0c8i3a5gjz28rrr28110np8304r";
-  })
-  (fetchNuGet {
-    name = "Newtonsoft.Json.Bson";
-    version = "1.0.1";
-    sha256 = "1r1hvj5gjl466bya2bfl5aaj8rbwyf5x1msg710wf3k2llbci1xa";
-  })
-  (fetchNuGet {
-    name = "OptimizedPriorityQueue";
-    version = "5.0.0";
-    sha256 = "0a0kn4sr80yx1bm5nngbillfbcafv86hqxwp5kxjgh3wcd01c803";
-  })
-  (fetchNuGet {
-    name = "PlaylistsNET";
-    version = "1.1.3";
-    sha256 = "092lgqvvarx6g8mrhm8rdzcqisklzffa0i3gkpc0zbk7b7b0f8yg";
-  })
-  (fetchNuGet {
-    name = "prometheus-net";
-    version = "3.1.2";
-    sha256 = "1jyxvl9cqxvb71mpaglw8aks27i69hg7yzrdwsjc182nmmhh1p03";
-  })
-  (fetchNuGet {
-    name = "prometheus-net";
-    version = "4.1.1";
-    sha256 = "0n016rxlz00xrw1jrikwr6h221rrw96h13d0823mfb5375rdi8rx";
-  })
-  (fetchNuGet {
-    name = "prometheus-net.AspNetCore";
-    version = "4.1.1";
-    sha256 = "0239i5ga7z3ajq6rvqz2ym3a30b1nbfjn6dnmc1iljd9579flzhs";
-  })
-  (fetchNuGet {
-    name = "prometheus-net.DotNetRuntime";
-    version = "3.4.1";
-    sha256 = "1b4a5yh2s8nji4bvp9fcw03dw0wbx58823b7jfga0vva33am3xx8";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.Collections";
-    version = "4.3.0";
-    sha256 = "0bv5qgm6vr47ynxqbnkc7i797fdi8gbjjxii173syrx14nmrkwg0";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.Diagnostics.Tools";
-    version = "4.3.0";
-    sha256 = "1wl76vk12zhdh66vmagni66h5xbhgqq7zkdpgw21jhxhvlbcl8pk";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.Diagnostics.Tracing";
-    version = "4.3.0";
-    sha256 = "00j6nv2xgmd3bi347k00m7wr542wjlig53rmj28pmw7ddcn97jbn";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.Globalization";
-    version = "4.3.0";
-    sha256 = "1daqf33hssad94lamzg01y49xwndy2q97i2lrb7mgn28656qia1x";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.Globalization.Calendars";
-    version = "4.3.0";
-    sha256 = "1ghhhk5psqxcg6w88sxkqrc35bxcz27zbqm2y5p5298pv3v7g201";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.IO";
-    version = "4.3.0";
-    sha256 = "0l8xz8zn46w4d10bcn3l4yyn4vhb3lrj2zw8llvz7jk14k4zps5x";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.Reflection";
-    version = "4.3.0";
-    sha256 = "02c9h3y35pylc0zfq3wcsvc5nqci95nrkq0mszifc0sjx7xrzkly";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.Reflection.Extensions";
-    version = "4.3.0";
-    sha256 = "0zyri97dfc5vyaz9ba65hjj1zbcrzaffhsdlpxc9bh09wy22fq33";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.Reflection.Primitives";
-    version = "4.3.0";
-    sha256 = "0x1mm8c6iy8rlxm8w9vqw7gb7s1ljadrn049fmf70cyh42vdfhrf";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.Resources.ResourceManager";
-    version = "4.3.0";
-    sha256 = "03kickal0iiby82wa5flar18kyv82s9s6d4xhk5h4bi5kfcyfjzl";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.Runtime";
-    version = "4.3.0";
-    sha256 = "1cqh1sv3h5j7ixyb7axxbdkqx6cxy00p4np4j91kpm492rf4s25b";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.Runtime.Handles";
-    version = "4.3.0";
-    sha256 = "0bh5bi25nk9w9xi8z23ws45q5yia6k7dg3i4axhfqlnj145l011x";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.Runtime.InteropServices";
-    version = "4.3.0";
-    sha256 = "0c3g3g3jmhlhw4klrc86ka9fjbl7i59ds1fadsb2l8nqf8z3kb19";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.Text.Encoding";
-    version = "4.3.0";
-    sha256 = "0aqqi1v4wx51h51mk956y783wzags13wa7mgqyclacmsmpv02ps3";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.Text.Encoding.Extensions";
-    version = "4.3.0";
-    sha256 = "0lqhgqi0i8194ryqq6v2gqx0fb86db2gqknbm0aq31wb378j7ip8";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.Threading.Tasks";
-    version = "4.3.0";
-    sha256 = "03mnvkhskbzxddz4hm113zsch1jyzh2cs450dk3rgfjp8crlw1va";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.Threading.Timer";
-    version = "4.3.0";
-    sha256 = "0aw4phrhwqz9m61r79vyfl5la64bjxj8l34qnrcwb28v49fg2086";
-  })
-  (fetchNuGet {
-    name = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl";
-    version = "4.3.0";
-    sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d";
-  })
-  (fetchNuGet {
-    name = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl";
-    version = "4.3.0";
-    sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59";
-  })
-  (fetchNuGet {
-    name = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl";
-    version = "4.3.0";
-    sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa";
-  })
-  (fetchNuGet {
-    name = "runtime.native.System";
-    version = "4.0.0";
-    sha256 = "1ppk69xk59ggacj9n7g6fyxvzmk1g5p4fkijm0d7xqfkig98qrkf";
-  })
-  (fetchNuGet {
-    name = "runtime.native.System";
-    version = "4.3.0";
-    sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4";
-  })
-  (fetchNuGet {
-    name = "runtime.native.System.IO.Compression";
-    version = "4.1.0";
-    sha256 = "0d720z4lzyfcabmmnvh0bnj76ll7djhji2hmfh3h44sdkjnlkknk";
-  })
-  (fetchNuGet {
-    name = "runtime.native.System.IO.Compression";
-    version = "4.3.0";
-    sha256 = "1vvivbqsk6y4hzcid27pqpm5bsi6sc50hvqwbcx8aap5ifrxfs8d";
-  })
-  (fetchNuGet {
-    name = "runtime.native.System.Net.Http";
-    version = "4.0.1";
-    sha256 = "1hgv2bmbaskx77v8glh7waxws973jn4ah35zysnkxmf0196sfxg6";
-  })
-  (fetchNuGet {
-    name = "runtime.native.System.Net.Http";
-    version = "4.3.0";
-    sha256 = "1n6rgz5132lcibbch1qlf0g9jk60r0kqv087hxc0lisy50zpm7kk";
-  })
-  (fetchNuGet {
-    name = "runtime.native.System.Security.Cryptography";
-    version = "4.0.0";
-    sha256 = "0k57aa2c3b10wl3hfqbgrl7xq7g8hh3a3ir44b31dn5p61iiw3z9";
-  })
-  (fetchNuGet {
-    name = "runtime.native.System.Security.Cryptography.Apple";
-    version = "4.3.0";
-    sha256 = "1b61p6gw1m02cc1ry996fl49liiwky6181dzr873g9ds92zl326q";
-  })
-  (fetchNuGet {
-    name = "runtime.native.System.Security.Cryptography.OpenSsl";
-    version = "4.3.0";
-    sha256 = "18pzfdlwsg2nb1jjjjzyb5qlgy6xjxzmhnfaijq5s2jw3cm3ab97";
-  })
-  (fetchNuGet {
-    name = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl";
-    version = "4.3.0";
-    sha256 = "0qyynf9nz5i7pc26cwhgi8j62ps27sqmf78ijcfgzab50z9g8ay3";
-  })
-  (fetchNuGet {
-    name = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl";
-    version = "4.3.0";
-    sha256 = "1klrs545awhayryma6l7g2pvnp9xy4z0r1i40r80zb45q3i9nbyf";
-  })
-  (fetchNuGet {
-    name = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple";
-    version = "4.3.0";
-    sha256 = "10yc8jdrwgcl44b4g93f1ds76b176bajd3zqi2faf5rvh1vy9smi";
-  })
-  (fetchNuGet {
-    name = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl";
-    version = "4.3.0";
-    sha256 = "0zcxjv5pckplvkg0r6mw3asggm7aqzbdjimhvsasb0cgm59x09l3";
-  })
-  (fetchNuGet {
-    name = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl";
-    version = "4.3.0";
-    sha256 = "0vhynn79ih7hw7cwjazn87rm9z9fj0rvxgzlab36jybgcpcgphsn";
-  })
-  (fetchNuGet {
-    name = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl";
-    version = "4.3.0";
-    sha256 = "160p68l2c7cqmyqjwxydcvgw7lvl1cr0znkw8fp24d1by9mqc8p3";
-  })
-  (fetchNuGet {
-    name = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl";
-    version = "4.3.0";
-    sha256 = "15zrc8fgd8zx28hdghcj5f5i34wf3l6bq5177075m2bc2j34jrqy";
-  })
-  (fetchNuGet {
-    name = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl";
-    version = "4.3.0";
-    sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5";
-  })
-  (fetchNuGet {
-    name = "runtime.unix.Microsoft.Win32.Primitives";
-    version = "4.3.0";
-    sha256 = "0y61k9zbxhdi0glg154v30kkq7f8646nif8lnnxbvkjpakggd5id";
-  })
-  (fetchNuGet {
-    name = "runtime.unix.System.Console";
-    version = "4.3.0";
-    sha256 = "1pfpkvc6x2if8zbdzg9rnc5fx51yllprl8zkm5npni2k50lisy80";
-  })
-  (fetchNuGet {
-    name = "runtime.unix.System.Console";
-    version = "4.3.1";
-    sha256 = "15kfi3761mk2i29zg135ipsvavm50nwm4334cy5m5q7iagzsf73p";
-  })
-  (fetchNuGet {
-    name = "runtime.unix.System.Diagnostics.Debug";
-    version = "4.3.0";
-    sha256 = "1lps7fbnw34bnh3lm31gs5c0g0dh7548wfmb8zz62v0zqz71msj5";
-  })
-  (fetchNuGet {
-    name = "runtime.unix.System.IO.FileSystem";
-    version = "4.3.0";
-    sha256 = "14nbkhvs7sji5r1saj2x8daz82rnf9kx28d3v2qss34qbr32dzix";
-  })
-  (fetchNuGet {
-    name = "runtime.unix.System.Net.Primitives";
-    version = "4.3.0";
-    sha256 = "0bdnglg59pzx9394sy4ic66kmxhqp8q8bvmykdxcbs5mm0ipwwm4";
-  })
-  (fetchNuGet {
-    name = "runtime.unix.System.Net.Sockets";
-    version = "4.3.0";
-    sha256 = "03npdxzy8gfv035bv1b9rz7c7hv0rxl5904wjz51if491mw0xy12";
-  })
-  (fetchNuGet {
-    name = "runtime.unix.System.Private.Uri";
-    version = "4.3.0";
-    sha256 = "1jx02q6kiwlvfksq1q9qr17fj78y5v6mwsszav4qcz9z25d5g6vk";
-  })
-  (fetchNuGet {
-    name = "runtime.unix.System.Runtime.Extensions";
-    version = "4.3.0";
-    sha256 = "0pnxxmm8whx38dp6yvwgmh22smknxmqs5n513fc7m4wxvs1bvi4p";
-  })
-  (fetchNuGet {
-    name = "Serilog";
-    version = "2.3.0";
-    sha256 = "0y1111y0csfnil901nfahhj3x251nzdam0c4vab3gw5qh8iqs3my";
-  })
-  (fetchNuGet {
-    name = "Serilog";
-    version = "2.5.0";
-    sha256 = "0lq3kpmb83mv9kzr9zshz46bp6mvgx1kfz4dzjgzpasf6llgmrx0";
-  })
-  (fetchNuGet {
-    name = "Serilog";
-    version = "2.6.0";
-    sha256 = "0xzq2szx5yb9xgnkj2zvjil48baald22jm2j39smnac32gid5gm0";
-  })
-  (fetchNuGet {
-    name = "Serilog";
-    version = "2.8.0";
-    sha256 = "0fnrs05yjnni06mbax7ig74wiiqjyyhrxmr1hrhlpwcmc40zs4ih";
-  })
-  (fetchNuGet {
-    name = "Serilog";
-    version = "2.9.0";
-    sha256 = "0z0ib82w9b229a728bbyhzc2hnlbl0ki7nnvmgnv3l741f2vr4i6";
-  })
-  (fetchNuGet {
-    name = "SerilogAnalyzer";
-    version = "0.15.0.0";
-    sha256 = "0k83cyzl9520q282vp07zb8rs16a56axv7a31l3m5fb1afq2hv9l";
-  })
-  (fetchNuGet {
-    name = "Serilog.AspNetCore";
-    version = "3.4.0";
-    sha256 = "1k59zspma8hlka6j6hvflw8i073092qj8kzz52fdkqrck7w7cbag";
-  })
-  (fetchNuGet {
-    name = "Serilog.Enrichers.Thread";
-    version = "3.1.0";
-    sha256 = "1y75aiv2k1sxnh012ixkx92fq1yl8srqggy8l439igg4p223hcqi";
-  })
-  (fetchNuGet {
-    name = "Serilog.Extensions.Hosting";
-    version = "3.1.0";
-    sha256 = "0n01n2kvapl5hkp80fa0ra8zixacfqhrs05ijkh3hj5bvgnscsx5";
-  })
-  (fetchNuGet {
-    name = "Serilog.Extensions.Logging";
-    version = "3.0.1";
-    sha256 = "069qy7dm5nxb372ij112ppa6m99b4iaimj3sji74m659fwrcrl9a";
-  })
-  (fetchNuGet {
-    name = "Serilog.Formatting.Compact";
-    version = "1.1.0";
-    sha256 = "1w3qhj1jrihb20gr9la4r4gcmdyyy6dai2xflwhzvgqrq05wlycy";
-  })
-  (fetchNuGet {
-    name = "Serilog.Settings.Configuration";
-    version = "3.1.0";
-    sha256 = "1cj5am4n073331gbfm2ylqb9cadl4q3ppzgwmm5c8m1drxpiwkb5";
-  })
-  (fetchNuGet {
-    name = "Serilog.Sinks.Async";
-    version = "1.4.0";
-    sha256 = "00kqrn3xmfzg469y155vihsiby8dbbs382fi6qg8p2zg3i5dih1d";
-  })
-  (fetchNuGet {
-    name = "Serilog.Sinks.Console";
-    version = "3.1.1";
-    sha256 = "0j99as641y1k6havwwkhyr0n08vibiblmfjj6nz051mz8g3864fn";
-  })
-  (fetchNuGet {
-    name = "Serilog.Sinks.Debug";
-    version = "1.0.1";
-    sha256 = "0969mb254kr59bgkq01ybyzca89z3f4n9ng5mdj8m53d5653zf22";
-  })
-  (fetchNuGet {
-    name = "Serilog.Sinks.File";
-    version = "4.1.0";
-    sha256 = "1ry7p9hf1zlnai1j5zjhjp4dqm2agsbpq6cvxgpf5l8m26x6mgca";
-  })
-  (fetchNuGet {
-    name = "Serilog.Sinks.Graylog";
-    version = "2.2.2";
-    sha256 = "0cvl9vfd1qx0hdvvylhh9frnxwqdl9yq4vy21fjsr6wdvgflg2hr";
-  })
-  (fetchNuGet {
-    name = "ServiceStack.Text.Core";
-    version = "5.10.2";
-    sha256 = "0hpqfify017gm8nbah2abkk5d4vnsqrgj86i8b5mx3wy54h82pvb";
-  })
-  (fetchNuGet {
-    name = "SharpCompress";
-    version = "0.26.0";
-    sha256 = "03cygf8p44j1bfn6z9cn2xrw6zhvhq17xac1sph5rgq7vq2m5iq5";
-  })
-  (fetchNuGet {
-    name = "SkiaSharp";
-    version = "2.80.2";
-    sha256 = "17n0f4gfxz69fzd7zmgimbxfja15vq902arap2rqjr1hxp8sck7g";
-  })
-  (fetchNuGet {
-    name = "SkiaSharp.NativeAssets.Linux";
-    version = "2.80.2";
-    sha256 = "1951b7rpisaymb37j846jq01pjd05l4fjlnf56blh33ihxyj2jzi";
-  })
-  (fetchNuGet {
-    name = "SmartAnalyzers.MultithreadingAnalyzer";
-    version = "1.1.31";
-    sha256 = "1qk5s4rx5ma7k2kzkn1h94fsrzmwkivj0z1czsjwmr8z7zhngs2h";
-  })
-  (fetchNuGet {
-    name = "SQLitePCL.pretty.netstandard";
-    version = "2.1.0";
-    sha256 = "03vjk8r0dzyiwya6q5p2z2wp9sxj3b7xi72p7wgsy270a2pb3f28";
-  })
-  (fetchNuGet {
-    name = "SQLitePCLRaw.bundle_e_sqlite3";
-    version = "2.0.4";
-    sha256 = "1l3vbkwismsx5jcy3d5bj4bzh8bni8bk2gq4lqplz82pz5phjpxm";
-  })
-  (fetchNuGet {
-    name = "SQLitePCLRaw.core";
-    version = "1.1.14";
-    sha256 = "1najf6ns5b8rqqlmlxjn4wjcgnb5ch9ni7wiq6iip4155d35c519";
-  })
-  (fetchNuGet {
-    name = "SQLitePCLRaw.core";
-    version = "2.0.2";
-    sha256 = "11mnbnsiirpgmilskqh1issvgzgg08ndq3p3nkrw73hyqr7kl958";
-  })
-  (fetchNuGet {
-    name = "SQLitePCLRaw.core";
-    version = "2.0.4";
-    sha256 = "0lb5vwfl1hd24xzzdaj2p4k2hv2k0i3mgdri6fjj0ssb37mcyir1";
-  })
-  (fetchNuGet {
-    name = "SQLitePCLRaw.lib.e_sqlite3";
-    version = "2.0.4";
-    sha256 = "0kmx1w5qllmwxldr8338qxwmpfzc6g2lmyrah7wfaxd3mvfzky5c";
-  })
-  (fetchNuGet {
-    name = "SQLitePCLRaw.provider.dynamic_cdecl";
-    version = "2.0.4";
-    sha256 = "084r98kilpm0q1aw41idq8slncpd7cz65g0m1wr0p8d12x8z5g6j";
-  })
-  (fetchNuGet {
-    name = "SQLitePCLRaw.provider.sqlite3.netstandard11";
-    version = "1.1.14";
-    sha256 = "00jwin9lannq4qla6r85c4f0m1y8g103r02p8cnjhakxz588dm1y";
-  })
-  (fetchNuGet {
-    name = "StyleCop.Analyzers";
-    version = "1.1.118";
-    sha256 = "0hj4ax64cay2lvrh9693m0g4pmis0fi5wpm12xwzvc7lkizvac0a";
-  })
-  (fetchNuGet {
-    name = "Swashbuckle.AspNetCore";
-    version = "5.6.3";
-    sha256 = "1s8jmvssk8g518szi9nijsq73d85fnlzvink2x0ahf2jkvpakn9p";
-  })
-  (fetchNuGet {
-    name = "Swashbuckle.AspNetCore.ReDoc";
-    version = "5.6.3";
-    sha256 = "1kbn77wbcn03pwcynj4n602p4157y1qrfv775clnmzfq7z5nfaw6";
-  })
-  (fetchNuGet {
-    name = "Swashbuckle.AspNetCore.Swagger";
-    version = "5.6.3";
-    sha256 = "0yg27nlndaiaa6sv7xkcysdpmq1dzf24xjz6xq0vwn51mn84vsg9";
-  })
-  (fetchNuGet {
-    name = "Swashbuckle.AspNetCore.SwaggerGen";
-    version = "5.6.3";
-    sha256 = "15h31wq9n9zcpalb3k1pzgcsafn1mz397mb9bnl55621p6zxrlz2";
-  })
-  (fetchNuGet {
-    name = "Swashbuckle.AspNetCore.SwaggerUI";
-    version = "5.6.3";
-    sha256 = "0vbq3xycsixnpsqw2pphzw77w1liyz8hi1sl4hy9bpgpa18p2sfj";
-  })
-  (fetchNuGet {
-    name = "System.AppContext";
-    version = "4.1.0";
-    sha256 = "0fv3cma1jp4vgj7a8hqc9n7hr1f1kjp541s6z0q1r6nazb4iz9mz";
-  })
-  (fetchNuGet {
-    name = "System.AppContext";
-    version = "4.3.0";
-    sha256 = "1649qvy3dar900z3g817h17nl8jp4ka5vcfmsr05kh0fshn7j3ya";
-  })
-  (fetchNuGet {
-    name = "System.Buffers";
-    version = "4.0.0";
-    sha256 = "13s659bcmg9nwb6z78971z1lr6bmh2wghxi1ayqyzl4jijd351gr";
-  })
-  (fetchNuGet {
-    name = "System.Buffers";
-    version = "4.3.0";
-    sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy";
-  })
-  (fetchNuGet {
-    name = "System.Buffers";
-    version = "4.5.0";
-    sha256 = "1ywfqn4md6g3iilpxjn5dsr0f5lx6z0yvhqp4pgjcamygg73cz2c";
-  })
-  (fetchNuGet {
-    name = "System.Collections";
-    version = "4.0.11";
-    sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6";
-  })
-  (fetchNuGet {
-    name = "System.Collections";
-    version = "4.3.0";
-    sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9";
-  })
-  (fetchNuGet {
-    name = "System.Collections.Concurrent";
-    version = "4.0.12";
-    sha256 = "07y08kvrzpak873pmyxs129g1ch8l27zmg51pcyj2jvq03n0r0fc";
-  })
-  (fetchNuGet {
-    name = "System.Collections.Concurrent";
-    version = "4.3.0";
-    sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8";
-  })
-  (fetchNuGet {
-    name = "System.Collections.Immutable";
-    version = "1.3.1";
-    sha256 = "17615br2x5riyx8ivf1dcqwj6q3ipq1bi5hqhw54yfyxmx38ddva";
-  })
-  (fetchNuGet {
-    name = "System.Collections.Immutable";
-    version = "5.0.0";
-    sha256 = "1kvcllagxz2q92g81zkz81djkn2lid25ayjfgjalncyc68i15p0r";
-  })
-  (fetchNuGet {
-    name = "System.Collections.NonGeneric";
-    version = "4.0.1";
-    sha256 = "19994r5y5bpdhj7di6w047apvil8lh06lh2c2yv9zc4fc5g9bl4d";
-  })
-  (fetchNuGet {
-    name = "System.Collections.NonGeneric";
-    version = "4.3.0";
-    sha256 = "07q3k0hf3mrcjzwj8fwk6gv3n51cb513w4mgkfxzm3i37sc9kz7k";
-  })
-  (fetchNuGet {
-    name = "System.Collections.Specialized";
-    version = "4.3.0";
-    sha256 = "1sdwkma4f6j85m3dpb53v9vcgd0zyc9jb33f8g63byvijcj39n20";
-  })
-  (fetchNuGet {
-    name = "System.ComponentModel";
-    version = "4.3.0";
-    sha256 = "0986b10ww3nshy30x9sjyzm0jx339dkjxjj3401r3q0f6fx2wkcb";
-  })
-  (fetchNuGet {
-    name = "System.ComponentModel.Annotations";
-    version = "4.5.0";
-    sha256 = "1jj6f6g87k0iwsgmg3xmnn67a14mq88np0l1ys5zkxhkvbc8976p";
-  })
-  (fetchNuGet {
-    name = "System.ComponentModel.Annotations";
-    version = "5.0.0";
-    sha256 = "021h7x98lblq9avm1bgpa4i31c2kgsa7zn4sqhxf39g087ar756j";
-  })
-  (fetchNuGet {
-    name = "System.ComponentModel.Primitives";
-    version = "4.3.0";
-    sha256 = "1svfmcmgs0w0z9xdw2f2ps05rdxmkxxhf0l17xk9l1l8xfahkqr0";
-  })
-  (fetchNuGet {
-    name = "System.ComponentModel.TypeConverter";
-    version = "4.3.0";
-    sha256 = "17ng0p7v3nbrg3kycz10aqrrlw4lz9hzhws09pfh8gkwicyy481x";
-  })
-  (fetchNuGet {
-    name = "System.Console";
-    version = "4.0.0";
-    sha256 = "0ynxqbc3z1nwbrc11hkkpw9skw116z4y9wjzn7id49p9yi7mzmlf";
-  })
-  (fetchNuGet {
-    name = "System.Console";
-    version = "4.3.0";
-    sha256 = "1flr7a9x920mr5cjsqmsy9wgnv3lvd0h1g521pdr1lkb2qycy7ay";
-  })
-  (fetchNuGet {
-    name = "System.Diagnostics.Debug";
-    version = "4.0.11";
-    sha256 = "0gmjghrqmlgzxivd2xl50ncbglb7ljzb66rlx8ws6dv8jm0d5siz";
-  })
-  (fetchNuGet {
-    name = "System.Diagnostics.Debug";
-    version = "4.3.0";
-    sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y";
-  })
-  (fetchNuGet {
-    name = "System.Diagnostics.DiagnosticSource";
-    version = "4.0.0";
-    sha256 = "1n6c3fbz7v8d3pn77h4v5wvsfrfg7v1c57lg3nff3cjyh597v23m";
-  })
-  (fetchNuGet {
-    name = "System.Diagnostics.DiagnosticSource";
-    version = "4.3.0";
-    sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq";
-  })
-  (fetchNuGet {
-    name = "System.Diagnostics.DiagnosticSource";
-    version = "4.5.0";
-    sha256 = "1y8m0p3127nak5yspapfnz25qc9x53gqpvwr3hdpsvrcd2r1pgyj";
-  })
-  (fetchNuGet {
-    name = "System.Diagnostics.DiagnosticSource";
-    version = "4.5.1";
-    sha256 = "1j8dgilsgd0n7y87wq1cdlnwck96wijhbyhdp4d01l1gzm3074c1";
-  })
-  (fetchNuGet {
-    name = "System.Diagnostics.DiagnosticSource";
-    version = "5.0.1";
-    sha256 = "0mzw44wsm87vpslb9sn7rirxynpq9m3b00l7gl0q71m8shfh66qs";
-  })
-  (fetchNuGet {
-    name = "System.Diagnostics.FileVersionInfo";
-    version = "4.3.0";
-    sha256 = "094hx249lb3vb336q7dg3v257hbxvz2jnalj695l7cg5kxzqwai7";
-  })
-  (fetchNuGet {
-    name = "System.Diagnostics.StackTrace";
-    version = "4.3.0";
-    sha256 = "0ash4h9k0m7xsm0yl79r0ixrdz369h7y922wipp5gladmlbvpyjd";
-  })
-  (fetchNuGet {
-    name = "System.Diagnostics.Tools";
-    version = "4.0.1";
-    sha256 = "19cknvg07yhakcvpxg3cxa0bwadplin6kyxd8mpjjpwnp56nl85x";
-  })
-  (fetchNuGet {
-    name = "System.Diagnostics.Tools";
-    version = "4.3.0";
-    sha256 = "0in3pic3s2ddyibi8cvgl102zmvp9r9mchh82ns9f0ms4basylw1";
-  })
-  (fetchNuGet {
-    name = "System.Diagnostics.Tracing";
-    version = "4.1.0";
-    sha256 = "1d2r76v1x610x61ahfpigda89gd13qydz6vbwzhpqlyvq8jj6394";
-  })
-  (fetchNuGet {
-    name = "System.Diagnostics.Tracing";
-    version = "4.3.0";
-    sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4";
-  })
-  (fetchNuGet {
-    name = "System.Dynamic.Runtime";
-    version = "4.0.11";
-    sha256 = "1pla2dx8gkidf7xkciig6nifdsb494axjvzvann8g2lp3dbqasm9";
-  })
-  (fetchNuGet {
-    name = "System.Dynamic.Runtime";
-    version = "4.3.0";
-    sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk";
-  })
-  (fetchNuGet {
-    name = "System.Globalization";
-    version = "4.0.11";
-    sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d";
-  })
-  (fetchNuGet {
-    name = "System.Globalization";
-    version = "4.3.0";
-    sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki";
-  })
-  (fetchNuGet {
-    name = "System.Globalization.Calendars";
-    version = "4.0.1";
-    sha256 = "0bv0alrm2ck2zk3rz25lfyk9h42f3ywq77mx1syl6vvyncnpg4qh";
-  })
-  (fetchNuGet {
-    name = "System.Globalization.Calendars";
-    version = "4.3.0";
-    sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq";
-  })
-  (fetchNuGet {
-    name = "System.Globalization.Extensions";
-    version = "4.0.1";
-    sha256 = "0hjhdb5ri8z9l93bw04s7ynwrjrhx2n0p34sf33a9hl9phz69fyc";
-  })
-  (fetchNuGet {
-    name = "System.Globalization.Extensions";
-    version = "4.3.0";
-    sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls";
-  })
-  (fetchNuGet {
-    name = "System.IO";
-    version = "4.1.0";
-    sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp";
-  })
-  (fetchNuGet {
-    name = "System.IO";
-    version = "4.3.0";
-    sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f";
-  })
-  (fetchNuGet {
-    name = "System.IO.Compression";
-    version = "4.1.0";
-    sha256 = "0iym7s3jkl8n0vzm3jd6xqg9zjjjqni05x45dwxyjr2dy88hlgji";
-  })
-  (fetchNuGet {
-    name = "System.IO.Compression";
-    version = "4.3.0";
-    sha256 = "084zc82yi6yllgda0zkgl2ys48sypiswbiwrv7irb3r0ai1fp4vz";
-  })
-  (fetchNuGet {
-    name = "System.IO.Compression.ZipFile";
-    version = "4.0.1";
-    sha256 = "0h72znbagmgvswzr46mihn7xm7chfk2fhrp5krzkjf29pz0i6z82";
-  })
-  (fetchNuGet {
-    name = "System.IO.Compression.ZipFile";
-    version = "4.3.0";
-    sha256 = "1yxy5pq4dnsm9hlkg9ysh5f6bf3fahqqb6p8668ndy5c0lk7w2ar";
-  })
-  (fetchNuGet {
-    name = "System.IO.FileSystem";
-    version = "4.0.1";
-    sha256 = "0kgfpw6w4djqra3w5crrg8xivbanh1w9dh3qapb28q060wb9flp1";
-  })
-  (fetchNuGet {
-    name = "System.IO.FileSystem";
-    version = "4.3.0";
-    sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw";
-  })
-  (fetchNuGet {
-    name = "System.IO.FileSystem.Primitives";
-    version = "4.0.1";
-    sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612";
-  })
-  (fetchNuGet {
-    name = "System.IO.FileSystem.Primitives";
-    version = "4.3.0";
-    sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c";
-  })
-  (fetchNuGet {
-    name = "System.IO.Pipelines";
-    version = "4.5.2";
-    sha256 = "045sn3vyk5xysjjm19q4dj5c1g1rf8l98n4qsl9pl9id4fn08yq1";
-  })
-  (fetchNuGet {
-    name = "System.Linq";
-    version = "4.1.0";
-    sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5";
-  })
-  (fetchNuGet {
-    name = "System.Linq";
-    version = "4.3.0";
-    sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7";
-  })
-  (fetchNuGet {
-    name = "System.Linq.Async";
-    version = "5.0.0";
-    sha256 = "1bc1bfnahyk6y31mrxn7nd071436m94p4r9b2j835pghcqawqfbc";
-  })
-  (fetchNuGet {
-    name = "System.Linq.Expressions";
-    version = "4.1.0";
-    sha256 = "1gpdxl6ip06cnab7n3zlcg6mqp7kknf73s8wjinzi4p0apw82fpg";
-  })
-  (fetchNuGet {
-    name = "System.Linq.Expressions";
-    version = "4.3.0";
-    sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv";
-  })
-  (fetchNuGet {
-    name = "System.Memory";
-    version = "4.5.0";
-    sha256 = "1layqpcx1q4l805fdnj2dfqp6ncx2z42ca06rgsr6ikq4jjgbv30";
-  })
-  (fetchNuGet {
-    name = "System.Memory";
-    version = "4.5.1";
-    sha256 = "0f07d7hny38lq9w69wx4lxkn4wszrqf9m9js6fh9is645csm167c";
-  })
-  (fetchNuGet {
-    name = "System.Memory";
-    version = "4.5.3";
-    sha256 = "0naqahm3wljxb5a911d37mwjqjdxv9l0b49p5dmfyijvni2ppy8a";
-  })
-  (fetchNuGet {
-    name = "System.Memory";
-    version = "4.5.4";
-    sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y";
-  })
-  (fetchNuGet {
-    name = "System.Net.Http";
-    version = "4.1.0";
-    sha256 = "1i5rqij1icg05j8rrkw4gd4pgia1978mqhjzhsjg69lvwcdfg8yb";
-  })
-  (fetchNuGet {
-    name = "System.Net.Http";
-    version = "4.3.0";
-    sha256 = "1i4gc757xqrzflbk7kc5ksn20kwwfjhw9w7pgdkn19y3cgnl302j";
-  })
-  (fetchNuGet {
-    name = "System.Net.NameResolution";
-    version = "4.3.0";
-    sha256 = "15r75pwc0rm3vvwsn8rvm2krf929mjfwliv0mpicjnii24470rkq";
-  })
-  (fetchNuGet {
-    name = "System.Net.Primitives";
-    version = "4.0.11";
-    sha256 = "10xzzaynkzkakp7jai1ik3r805zrqjxiz7vcagchyxs2v26a516r";
-  })
-  (fetchNuGet {
-    name = "System.Net.Primitives";
-    version = "4.3.0";
-    sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii";
-  })
-  (fetchNuGet {
-    name = "System.Net.Sockets";
-    version = "4.1.0";
-    sha256 = "1385fvh8h29da5hh58jm1v78fzi9fi5vj93vhlm2kvqpfahvpqls";
-  })
-  (fetchNuGet {
-    name = "System.Net.Sockets";
-    version = "4.3.0";
-    sha256 = "1ssa65k6chcgi6mfmzrznvqaxk8jp0gvl77xhf1hbzakjnpxspla";
-  })
-  (fetchNuGet {
-    name = "System.Net.WebSockets.WebSocketProtocol";
-    version = "4.5.3";
-    sha256 = "0z9ccndkkq6gpsh35q3pjm4zya47p6vakcyj8nc352g4wiizqc8c";
-  })
-  (fetchNuGet {
-    name = "System.Numerics.Vectors";
-    version = "4.5.0";
-    sha256 = "1kzrj37yzawf1b19jq0253rcs8hsq1l2q8g69d7ipnhzb0h97m59";
-  })
-  (fetchNuGet {
-    name = "System.ObjectModel";
-    version = "4.0.12";
-    sha256 = "1sybkfi60a4588xn34nd9a58png36i0xr4y4v4kqpg8wlvy5krrj";
-  })
-  (fetchNuGet {
-    name = "System.ObjectModel";
-    version = "4.3.0";
-    sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2";
-  })
-  (fetchNuGet {
-    name = "System.Private.Uri";
-    version = "4.3.0";
-    sha256 = "04r1lkdnsznin0fj4ya1zikxiqr0h6r6a1ww2dsm60gqhdrf0mvx";
-  })
-  (fetchNuGet {
-    name = "System.Reflection";
-    version = "4.1.0";
-    sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9";
-  })
-  (fetchNuGet {
-    name = "System.Reflection";
-    version = "4.3.0";
-    sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m";
-  })
-  (fetchNuGet {
-    name = "System.Reflection.Emit";
-    version = "4.0.1";
-    sha256 = "0ydqcsvh6smi41gyaakglnv252625hf29f7kywy2c70nhii2ylqp";
-  })
-  (fetchNuGet {
-    name = "System.Reflection.Emit";
-    version = "4.3.0";
-    sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74";
-  })
-  (fetchNuGet {
-    name = "System.Reflection.Emit.ILGeneration";
-    version = "4.0.1";
-    sha256 = "1pcd2ig6bg144y10w7yxgc9d22r7c7ww7qn1frdfwgxr24j9wvv0";
-  })
-  (fetchNuGet {
-    name = "System.Reflection.Emit.ILGeneration";
-    version = "4.3.0";
-    sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q";
-  })
-  (fetchNuGet {
-    name = "System.Reflection.Emit.Lightweight";
-    version = "4.0.1";
-    sha256 = "1s4b043zdbx9k39lfhvsk68msv1nxbidhkq6nbm27q7sf8xcsnxr";
-  })
-  (fetchNuGet {
-    name = "System.Reflection.Emit.Lightweight";
-    version = "4.3.0";
-    sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c";
-  })
-  (fetchNuGet {
-    name = "System.Reflection.Extensions";
-    version = "4.0.1";
-    sha256 = "0m7wqwq0zqq9gbpiqvgk3sr92cbrw7cp3xn53xvw7zj6rz6fdirn";
-  })
-  (fetchNuGet {
-    name = "System.Reflection.Extensions";
-    version = "4.3.0";
-    sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq";
-  })
-  (fetchNuGet {
-    name = "System.Reflection.Metadata";
-    version = "1.4.2";
-    sha256 = "08b7b43vczlliv8k7q43jinjfrxwpljsglw7sxmc6sd7d54pd1vi";
-  })
-  (fetchNuGet {
-    name = "System.Reflection.Metadata";
-    version = "1.6.0";
-    sha256 = "1wdbavrrkajy7qbdblpbpbalbdl48q3h34cchz24gvdgyrlf15r4";
-  })
-  (fetchNuGet {
-    name = "System.Reflection.Primitives";
-    version = "4.0.1";
-    sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28";
-  })
-  (fetchNuGet {
-    name = "System.Reflection.Primitives";
-    version = "4.3.0";
-    sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276";
-  })
-  (fetchNuGet {
-    name = "System.Reflection.TypeExtensions";
-    version = "4.1.0";
-    sha256 = "1bjli8a7sc7jlxqgcagl9nh8axzfl11f4ld3rjqsyxc516iijij7";
-  })
-  (fetchNuGet {
-    name = "System.Reflection.TypeExtensions";
-    version = "4.3.0";
-    sha256 = "0y2ssg08d817p0vdag98vn238gyrrynjdj4181hdg780sif3ykp1";
-  })
-  (fetchNuGet {
-    name = "System.Resources.ResourceManager";
-    version = "4.0.1";
-    sha256 = "0b4i7mncaf8cnai85jv3wnw6hps140cxz8vylv2bik6wyzgvz7bi";
-  })
-  (fetchNuGet {
-    name = "System.Resources.ResourceManager";
-    version = "4.3.0";
-    sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49";
-  })
-  (fetchNuGet {
-    name = "System.Runtime";
-    version = "4.1.0";
-    sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m";
-  })
-  (fetchNuGet {
-    name = "System.Runtime";
-    version = "4.3.0";
-    sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7";
-  })
-  (fetchNuGet {
-    name = "System.Runtime";
-    version = "4.3.1";
-    sha256 = "03ch4d2acf6q037a4njxpll2kkx3dwzlg07yxr4z5m6j1kqgmm27";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.CompilerServices.Unsafe";
-    version = "4.4.0";
-    sha256 = "0a6ahgi5b148sl5qyfpyw383p3cb4yrkm802k29fsi4mxkiwir29";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.CompilerServices.Unsafe";
-    version = "4.5.0";
-    sha256 = "17labczwqk3jng3kkky73m0jhi8wc21vbl7cz5c0hj2p1dswin43";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.CompilerServices.Unsafe";
-    version = "4.5.1";
-    sha256 = "1xcrjx5fwg284qdnxyi2d0lzdm5q4frlpkp0nf6vvkx1kdz2prrf";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.Extensions";
-    version = "4.1.0";
-    sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.Extensions";
-    version = "4.3.0";
-    sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.Handles";
-    version = "4.0.1";
-    sha256 = "1g0zrdi5508v49pfm3iii2hn6nm00bgvfpjq1zxknfjrxxa20r4g";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.Handles";
-    version = "4.3.0";
-    sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.InteropServices";
-    version = "4.1.0";
-    sha256 = "01kxqppx3dr3b6b286xafqilv4s2n0gqvfgzfd4z943ga9i81is1";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.InteropServices";
-    version = "4.3.0";
-    sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.InteropServices.RuntimeInformation";
-    version = "4.0.0";
-    sha256 = "0glmvarf3jz5xh22iy3w9v3wyragcm4hfdr17v90vs7vcrm7fgp6";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.InteropServices.RuntimeInformation";
-    version = "4.3.0";
-    sha256 = "0q18r1sh4vn7bvqgd6dmqlw5v28flbpj349mkdish2vjyvmnb2ii";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.Numerics";
-    version = "4.0.1";
-    sha256 = "1y308zfvy0l5nrn46mqqr4wb4z1xk758pkk8svbz8b5ij7jnv4nn";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.Numerics";
-    version = "4.3.0";
-    sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.Serialization.Formatters";
-    version = "4.3.0";
-    sha256 = "114j35n8gcvn3sqv9ar36r1jjq0y1yws9r0yk8i6wm4aq7n9rs0m";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.Serialization.Primitives";
-    version = "4.1.1";
-    sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.Serialization.Primitives";
-    version = "4.3.0";
-    sha256 = "01vv2p8h4hsz217xxs0rixvb7f2xzbh6wv1gzbfykcbfrza6dvnf";
-  })
-  (fetchNuGet {
-    name = "System.Security.AccessControl";
-    version = "4.5.0";
-    sha256 = "1wvwanz33fzzbnd2jalar0p0z3x0ba53vzx1kazlskp7pwyhlnq0";
-  })
-  (fetchNuGet {
-    name = "System.Security.Claims";
-    version = "4.3.0";
-    sha256 = "0jvfn7j22l3mm28qjy3rcw287y9h65ha4m940waaxah07jnbzrhn";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.Algorithms";
-    version = "4.2.0";
-    sha256 = "148s9g5dgm33ri7dnh19s4lgnlxbpwvrw2jnzllq2kijj4i4vs85";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.Algorithms";
-    version = "4.3.0";
-    sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.Cng";
-    version = "4.2.0";
-    sha256 = "118jijz446kix20blxip0f0q8mhsh9bz118mwc2ch1p6g7facpzc";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.Cng";
-    version = "4.3.0";
-    sha256 = "1k468aswafdgf56ab6yrn7649kfqx2wm9aslywjam1hdmk5yypmv";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.Cng";
-    version = "4.5.0";
-    sha256 = "1pm4ykbcz48f1hdmwpia432ha6qbb9kbrxrrp7cg3m8q8xn52ngn";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.Csp";
-    version = "4.0.0";
-    sha256 = "1cwv8lqj8r15q81d2pz2jwzzbaji0l28xfrpw29kdpsaypm92z2q";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.Csp";
-    version = "4.3.0";
-    sha256 = "1x5wcrddf2s3hb8j78cry7yalca4lb5vfnkrysagbn6r9x6xvrx1";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.Encoding";
-    version = "4.0.0";
-    sha256 = "0a8y1a5wkmpawc787gfmnrnbzdgxmx1a14ax43jf3rj9gxmy3vk4";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.Encoding";
-    version = "4.3.0";
-    sha256 = "1jr6w70igqn07k5zs1ph6xja97hxnb3mqbspdrff6cvssgrixs32";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.OpenSsl";
-    version = "4.0.0";
-    sha256 = "16sx3cig3d0ilvzl8xxgffmxbiqx87zdi8fc73i3i7zjih1a7f4q";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.OpenSsl";
-    version = "4.3.0";
-    sha256 = "0givpvvj8yc7gv4lhb6s1prq6p2c4147204a0wib89inqzd87gqc";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.Pkcs";
-    version = "4.5.0";
-    sha256 = "16dhiz2qypk289dxiqa9rb7jmslnami6bykalv5dvbd8j91zikpy";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.Primitives";
-    version = "4.0.0";
-    sha256 = "0i7cfnwph9a10bm26m538h5xcr8b36jscp9sy1zhgifksxz4yixh";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.Primitives";
-    version = "4.3.0";
-    sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.X509Certificates";
-    version = "4.1.0";
-    sha256 = "0clg1bv55mfv5dq00m19cp634zx6inm31kf8ppbq1jgyjf2185dh";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.X509Certificates";
-    version = "4.3.0";
-    sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.Xml";
-    version = "4.5.0";
-    sha256 = "1rk40x0msf9k7sxnjyizagjns1z25dh3cf22bx6hsx6vhf0sk08l";
-  })
-  (fetchNuGet {
-    name = "System.Security.Permissions";
-    version = "4.5.0";
-    sha256 = "192ww5rm3c9mirxgl1nzyrwd18am3izqls0hzm0fvcdjl5grvbhm";
-  })
-  (fetchNuGet {
-    name = "System.Security.Principal";
-    version = "4.3.0";
-    sha256 = "12cm2zws06z4lfc4dn31iqv7072zyi4m910d4r6wm8yx85arsfxf";
-  })
-  (fetchNuGet {
-    name = "System.Security.Principal.Windows";
-    version = "4.3.0";
-    sha256 = "00a0a7c40i3v4cb20s2cmh9csb5jv2l0frvnlzyfxh848xalpdwr";
-  })
-  (fetchNuGet {
-    name = "System.Security.Principal.Windows";
-    version = "4.5.0";
-    sha256 = "0rmj89wsl5yzwh0kqjgx45vzf694v9p92r4x4q6yxldk1cv1hi86";
-  })
-  (fetchNuGet {
-    name = "System.Text.Encoding";
-    version = "4.0.11";
-    sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw";
-  })
-  (fetchNuGet {
-    name = "System.Text.Encoding";
-    version = "4.3.0";
-    sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr";
-  })
-  (fetchNuGet {
-    name = "System.Text.Encoding.CodePages";
-    version = "4.3.0";
-    sha256 = "0lgxg1gn7pg7j0f942pfdc9q7wamzxsgq3ng248ikdasxz0iadkv";
-  })
-  (fetchNuGet {
-    name = "System.Text.Encoding.CodePages";
-    version = "4.7.1";
-    sha256 = "1y1hdap9qbl7vp74j8s9zcbh3v1rnrrvcc55wj1hl6has2v3qh1r";
-  })
-  (fetchNuGet {
-    name = "System.Text.Encoding.CodePages";
-    version = "5.0.0";
-    sha256 = "1bn2pzaaq4wx9ixirr8151vm5hynn3lmrljcgjx9yghmm4k677k0";
-  })
-  (fetchNuGet {
-    name = "System.Text.Encoding.Extensions";
-    version = "4.0.11";
-    sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs";
-  })
-  (fetchNuGet {
-    name = "System.Text.Encoding.Extensions";
-    version = "4.3.0";
-    sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy";
-  })
-  (fetchNuGet {
-    name = "System.Text.Encodings.Web";
-    version = "4.5.0";
-    sha256 = "0srd5bva52n92i90wd88pzrqjsxnfgka3ilybwh7s6sf469y5s53";
-  })
-  (fetchNuGet {
-    name = "System.Text.Json";
-    version = "5.0.1";
-    sha256 = "1j7via4spxy73ipng754wdz1nb882gsb9qh26jqlql66vzbbm3j3";
-  })
-  (fetchNuGet {
-    name = "System.Text.RegularExpressions";
-    version = "4.1.0";
-    sha256 = "1mw7vfkkyd04yn2fbhm38msk7dz2xwvib14ygjsb8dq2lcvr18y7";
-  })
-  (fetchNuGet {
-    name = "System.Text.RegularExpressions";
-    version = "4.3.0";
-    sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l";
-  })
-  (fetchNuGet {
-    name = "System.Threading";
-    version = "4.0.11";
-    sha256 = "19x946h926bzvbsgj28csn46gak2crv2skpwsx80hbgazmkgb1ls";
-  })
-  (fetchNuGet {
-    name = "System.Threading";
-    version = "4.3.0";
-    sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34";
-  })
-  (fetchNuGet {
-    name = "System.Threading.Tasks";
-    version = "4.0.11";
-    sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5";
-  })
-  (fetchNuGet {
-    name = "System.Threading.Tasks";
-    version = "4.3.0";
-    sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7";
-  })
-  (fetchNuGet {
-    name = "System.Threading.Tasks.Dataflow";
-    version = "5.0.0";
-    sha256 = "028fimgwn5j9fv6m547c975a8b90d9qcnb89k5crjyspsnjcqbhy";
-  })
-  (fetchNuGet {
-    name = "System.Threading.Tasks.Extensions";
-    version = "4.0.0";
-    sha256 = "1cb51z062mvc2i8blpzmpn9d9mm4y307xrwi65di8ri18cz5r1zr";
-  })
-  (fetchNuGet {
-    name = "System.Threading.Tasks.Extensions";
-    version = "4.3.0";
-    sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z";
-  })
-  (fetchNuGet {
-    name = "System.Threading.Tasks.Extensions";
-    version = "4.5.1";
-    sha256 = "1ikrplvw4m6pzjbq3bfbpr572n4i9mni577zvmrkaygvx85q3myw";
-  })
-  (fetchNuGet {
-    name = "System.Threading.Tasks.Parallel";
-    version = "4.3.0";
-    sha256 = "1rr3qa4hxwyj531s4nb3bwrxnxxwz617i0n9gh6x7nr7dd3ayzgh";
-  })
-  (fetchNuGet {
-    name = "System.Threading.Thread";
-    version = "4.3.0";
-    sha256 = "0y2xiwdfcph7znm2ysxanrhbqqss6a3shi1z3c779pj2s523mjx4";
-  })
-  (fetchNuGet {
-    name = "System.Threading.ThreadPool";
-    version = "4.3.0";
-    sha256 = "027s1f4sbx0y1xqw2irqn6x161lzj8qwvnh2gn78ciiczdv10vf1";
-  })
-  (fetchNuGet {
-    name = "System.Threading.Timer";
-    version = "4.0.1";
-    sha256 = "15n54f1f8nn3mjcjrlzdg6q3520571y012mx7v991x2fvp73lmg6";
-  })
-  (fetchNuGet {
-    name = "System.Threading.Timer";
-    version = "4.3.0";
-    sha256 = "1nx773nsx6z5whv8kaa1wjh037id2f1cxhb69pvgv12hd2b6qs56";
-  })
-  (fetchNuGet {
-    name = "System.ValueTuple";
-    version = "4.3.0";
-    sha256 = "1227k7fxbxapq7dms4lvwwjdf3pr1jcsmhy2nzzhj6g6hs530hxn";
-  })
-  (fetchNuGet {
-    name = "System.Xml.ReaderWriter";
-    version = "4.0.11";
-    sha256 = "0c6ky1jk5ada9m94wcadih98l6k1fvf6vi7vhn1msjixaha419l5";
-  })
-  (fetchNuGet {
-    name = "System.Xml.ReaderWriter";
-    version = "4.3.0";
-    sha256 = "0c47yllxifzmh8gq6rq6l36zzvw4kjvlszkqa9wq3fr59n0hl3s1";
-  })
-  (fetchNuGet {
-    name = "System.Xml.XDocument";
-    version = "4.0.11";
-    sha256 = "0n4lvpqzy9kc7qy1a4acwwd7b7pnvygv895az5640idl2y9zbz18";
-  })
-  (fetchNuGet {
-    name = "System.Xml.XDocument";
-    version = "4.3.0";
-    sha256 = "08h8fm4l77n0nd4i4fk2386y809bfbwqb7ih9d7564ifcxr5ssxd";
-  })
-  (fetchNuGet {
-    name = "System.Xml.XmlDocument";
-    version = "4.3.0";
-    sha256 = "0bmz1l06dihx52jxjr22dyv5mxv6pj4852lx68grjm7bivhrbfwi";
-  })
-  (fetchNuGet {
-    name = "System.Xml.XPath";
-    version = "4.3.0";
-    sha256 = "1cv2m0p70774a0sd1zxc8fm8jk3i5zk2bla3riqvi8gsm0r4kpci";
-  })
-  (fetchNuGet {
-    name = "System.Xml.XPath.XDocument";
-    version = "4.3.0";
-    sha256 = "1wxckyb7n1pi433xzz0qcwcbl1swpra64065mbwwi8dhdc4kiabn";
-  })
-  (fetchNuGet {
-    name = "TagLibSharp";
-    version = "2.2.0";
-    sha256 = "0jb0f84p4jd59ha36spyk9q08g6fjap3xywq32rcs2xwzhhqiq0y";
-  })
-  (fetchNuGet {
-    name = "TMDbLib";
-    version = "1.7.3-alpha";
-    sha256 = "1dfk646w1mn2yj0ali7dcanxqs8q3njprzpw0n2v8wgd53jpava1";
-  })
-  (fetchNuGet {
-    name = "TvDbSharper";
-    version = "3.2.2";
-    sha256 = "0dkxcb7745y7wy8sdg7xic5idwwdmnp7k0x8v05f6s075a8m7nqz";
-  })
-  (fetchNuGet {
-    name = "UTF.Unknown";
-    version = "2.3.0";
-    sha256 = "067hw460y36sfcpdfaw8lirn1hn2g4fvkpnih41nighzvmq1ixzf";
-  })
+  (fetchNuGet { name = "BDInfo"; version = "0.7.6.1"; sha256 = "06qhssvd4iicssl9wv7921g3ss6y2s6g9zhf1svgcm8ffs52i38i"; })
+  (fetchNuGet { name = "BlurHashSharp"; version = "1.1.1"; sha256 = "1fbpg9935pfpr93vywxjdxqzjv1c7v3z86ylzh5n2krxm5jygzrv"; })
+  (fetchNuGet { name = "BlurHashSharp.SkiaSharp"; version = "1.1.1"; sha256 = "11ljrrph0kkw2qfxyza9xfzmh6aspbx5iv0pvk4ms0hyzxh1mas0"; })
+  (fetchNuGet { name = "CommandLineParser"; version = "2.8.0"; sha256 = "1m32xyilv2b7k55jy8ddg08c20glbcj2yi545kxs9hj2ahanhrbb"; })
+  (fetchNuGet { name = "DotNet.Glob"; version = "3.1.0"; sha256 = "11rvhb7y420yadah3j8by5xc7ad2ks2bqyhn4aa10m3xb6hiza0i"; })
+  (fetchNuGet { name = "Humanizer.Core"; version = "2.8.26"; sha256 = "1v8xd12yms4qq1md4vh6faxicmqrvahqdd7sdkyzrphab9v44nsm"; })
+  (fetchNuGet { name = "Jellyfin.XmlTv"; version = "10.6.2"; sha256 = "0ngxjl6d99hzccdbisgwf84w27j2fvjxr05awkirvm6nzvbgq16a"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Antiforgery"; version = "2.2.0"; sha256 = "026wjdwjx0lgccqv0xi5gxylxzgz5ifgxf25p5pqakgrhkz0a59l"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "5.0.5"; sha256 = "026m19pddhkx5idwpi6mp1yl9yfcfgm2qjp1jh54mdja1d7ng0vk"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Authentication"; version = "2.2.0"; sha256 = "0yqfzd0qq5ypmk6b9gnb1yscl75fxx9frq808cxs70ay7y7jqmgn"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Authentication.Abstractions"; version = "2.2.0"; sha256 = "0vj7fhpk0d95nkkxz4q0rma6pb4ym96mx6nms4603y0l19h0k5yh"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Authentication.Core"; version = "2.2.0"; sha256 = "1wgn45fmdi7dk9cl4cdhzgqc9mdxhfw7zg8zwns3j7qgrhlv6k8h"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Authorization"; version = "5.0.3"; sha256 = "0cffsksaaxndmryb3m1bhli1iihq1wc69dinpxzrdwhw8s2bmfxw"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Authorization.Policy"; version = "2.2.0"; sha256 = "1d1zh65kfjf81j21ssmhr465vx08bra8424vgnrb22gdx03mhwd2"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Connections.Abstractions"; version = "2.2.0"; sha256 = "1rl94r8b0zq14f3dhfnvfjj1ivr81iw9zh5kdgs3zkdv0xc9x21j"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Cors"; version = "2.2.0"; sha256 = "0qskbz87i74kfbklxqfyqaccyba21kkx2lcdfa54kxj9r8daq7sc"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Cryptography.Internal"; version = "2.2.0"; sha256 = "01lg2fx85b47ldgdrhs6clsivj35x54xwc9r5xk3f1v8rr3gycsv"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.DataProtection"; version = "2.2.0"; sha256 = "09lzbp084xxy1xxfbxpqdff8phv2pzd1n5v30xfm03hhl7a038gx"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.DataProtection.Abstractions"; version = "2.2.0"; sha256 = "1gi4hpssmrrdf5lm6idkhvqbfy12bx14976y4gbhmx9z8lxaqcfz"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Diagnostics.Abstractions"; version = "2.2.0"; sha256 = "061cdhjh5w2f1frhimcgk68vx8p743jb9h4qik3lm1c734r0drm0"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Hosting"; version = "2.2.7"; sha256 = "0pr4kmzlj3rmylxqg6dw2ph8a8sl2m2k630z1qy21kddsb4ac849"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Hosting.Abstractions"; version = "2.2.0"; sha256 = "043k651vbfshh3s997x42ymj8nb32419m7q3sjw5q2c27anrhfhv"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Hosting.Server.Abstractions"; version = "2.2.0"; sha256 = "0nz73bwrvhc1n7gd7xxm3p5ww2wx9qr9m9i43y20gh0c54adkygh"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Html.Abstractions"; version = "2.2.0"; sha256 = "1z5lkzb9h9wprvyxyjw4fj7bjypaibsw0cj4bz769hf0abjz8y1v"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Http"; version = "2.2.0"; sha256 = "1fcrafpa57sab3as18idqknzlxkx49n4sxzlzik3sj6pcji5j17q"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Http"; version = "2.2.2"; sha256 = "09mgjvpqdyylz9dbngql9arx46lfkiczjdf7aqr9asd5vjqlv2c8"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Http.Abstractions"; version = "2.2.0"; sha256 = "13s8cm6jdpydxmr0rgmzrmnp1v2r7i3rs7v9fhabk5spixdgfy6b"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Http.Extensions"; version = "2.2.0"; sha256 = "118gp1mfb8ymcvw87fzgjqwlc1d1b0l0sbfki291ydg414cz3dfn"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Http.Features"; version = "2.2.0"; sha256 = "0xrlq8i61vzhzzy25n80m7wh2kn593rfaii3aqnxdsxsg6sfgnx1"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.JsonPatch"; version = "2.2.0"; sha256 = "07cihb5sqkavg42nvircdwjp0b67mhrla97jgx285zdjphplg4h2"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Localization"; version = "2.2.0"; sha256 = "08knc70cy7ycid5sbbbzy6my4b7ddj4j760k5xf1qnfb0njxhfh7"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Metadata"; version = "5.0.3"; sha256 = "01v2iaqpzz0h6z3hg1vr67za7d3283gs0wym42zvb9yksg6pf0zi"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Mvc"; version = "2.2.0"; sha256 = "16jrikcywkd4r4jh551p8gxxw6hj3aizdzd5i7agb06gwpgqqv9c"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Mvc.Abstractions"; version = "2.2.0"; sha256 = "09p447ipd19517vy8xx9ykvspn6b4fgbm2rskpmzyw41x9wz4k0b"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Mvc.Analyzers"; version = "2.2.0"; sha256 = "1b975z00bzgh2z5hina4bzfksvc2vgnbzmi8g3q962hspg6ylh9f"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Mvc.ApiExplorer"; version = "2.2.0"; sha256 = "1ryhd1md30fgrli74qv45mhldivbasdvydw0lllg6x6jzpyrkwpa"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Mvc.Core"; version = "2.2.0"; sha256 = "1k6lkgk9zak5sczvyjbwgqnfcwcg9ks74wznqfzck8c6hns1by0m"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Mvc.Cors"; version = "2.2.0"; sha256 = "077vjxn0k5rr4s675g50rzkns6scgijxxh5iib59k77ldwpdr14q"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Mvc.DataAnnotations"; version = "2.2.0"; sha256 = "0vdhdjarh4az7g71gkvmhq6xpvwhh8si3sbrpdwb8p60i94cdyl6"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Mvc.Formatters.Json"; version = "2.2.0"; sha256 = "0421fcf2z8a6z81ql123ili32wbr3x25zpq17xjf4s9fmsr0069a"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Mvc.Localization"; version = "2.2.0"; sha256 = "0d27xirwsr3j7jacsrz6g2r4py35hgzjyy6ak6gkd07cm707wgc6"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Mvc.Razor"; version = "2.2.0"; sha256 = "06fqg7rfyvfj3hdppkhy37ddjff2d6pg7khj6lccs9lwc732yr7q"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Mvc.Razor.Extensions"; version = "2.2.0"; sha256 = "04javqbzv7mkakqjl40j429giaagjj7hmwcljrgj8q1jknk0x9xc"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Mvc.RazorPages"; version = "2.2.0"; sha256 = "0zqyqfxzl3lkqfy9chd0ipani75q3109imlxrnhdfiwmxrd8xqbm"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Mvc.TagHelpers"; version = "2.2.0"; sha256 = "16aprk81sp2i0n0dmp318cm65mk03i58rhpijm4fz4xz51j7z8li"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Mvc.ViewFeatures"; version = "2.2.0"; sha256 = "1isflvb0ff5nfqnvdlyvmszkd42axbbz0xmdaf0d7sah0qkvvi7n"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Razor"; version = "2.2.0"; sha256 = "02ybprvsi59nwa0fdq99jvx7r26bs2bg3xjxkilc495clgg98zp0"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Razor.Design"; version = "2.2.0"; sha256 = "03pcdcbmyw050hag588b7caqilnq3cb6ndq5g6j0r7j7wf3plsn6"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Razor.Language"; version = "2.2.0"; sha256 = "0n58qdipwy5wymfhgm3anickwvnf4svb9ipbrby7ksrhhrkqvx4z"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Razor.Runtime"; version = "2.2.0"; sha256 = "1n9j5hjinm5gp39nwmcf26dwg1psl7sf7xkxnvfxsnl44mbcy695"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.ResponseCaching.Abstractions"; version = "2.2.0"; sha256 = "01sp2i2bgcn6blw1mcvg5nrlc97c9czyawwvgfi6ydzdvs6ang37"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.ResponseCompression"; version = "2.2.0"; sha256 = "0madnk92752alpc7cv2bazqlihhzgl3yj1s9ajhi3w09vg8n8pz4"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Routing"; version = "2.2.0"; sha256 = "12kv602j2rxp43l1v3618yz3pdd7hqc3r98ya0bqz6y2ppvhbyws"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Routing.Abstractions"; version = "2.2.0"; sha256 = "0d9wwz1rsh1fslbv1y72jpkvqv2v9n28rl3vslcg0x74lp2678ly"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Server.Kestrel"; version = "2.2.0"; sha256 = "0wh7hf09i9qxs9r0d5xdcx3qingsid9nxlwcyjg2r44pjs6cg1rf"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Server.Kestrel.Core"; version = "2.2.0"; sha256 = "075ffds8hwp8ps0zf84bsv9pgiaqry9njc403qack701aybci97r"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Server.Kestrel.Https"; version = "2.2.0"; sha256 = "08z447wrbzy3l9lmmas353nr17sg9yccwcg62l9ax9a6n1wvds8c"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions"; version = "2.2.0"; sha256 = "08bj95zy4zszyx1rsy8v2ai9kg4120ij6yi0zillwx3ndb3q7vfb"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets"; version = "2.2.0"; sha256 = "0vhicfnv12sz2c81czdgdlffcgrhnn1jzz9zwy3a9c2n4rn8k9k5"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.WebSockets"; version = "2.2.1"; sha256 = "0gzikr1z2fdz8nzy1m969jsrk2h97ld1hzgmbc6f036qmhiq26hr"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.WebUtilities"; version = "2.2.0"; sha256 = "0cs1g4ing4alfbwyngxzgvkrv7z964isv1j9dzflafda4p0wxmsi"; })
+  (fetchNuGet { name = "Microsoft.Build.Tasks.Git"; version = "1.0.0"; sha256 = "0avwja8vk56f2kr2pmrqx3h60bnwbs7ds062lhvhcxv87m5yfqnj"; })
+  (fetchNuGet { name = "Microsoft.CodeAnalysis.Analyzers"; version = "1.1.0"; sha256 = "08r667hj2259wbim1p3al5qxkshydykmb7nd9ygbjlg4mmydkapc"; })
+  (fetchNuGet { name = "Microsoft.CodeAnalysis.Common"; version = "2.8.0"; sha256 = "0g4h41fs0r8lqh9pk9s4mc1090kdpa6sbxq4rc866s8hnq9s1h4j"; })
+  (fetchNuGet { name = "Microsoft.CodeAnalysis.CSharp"; version = "2.8.0"; sha256 = "0p1xvw1h2fmnxywv1j4x6p3rgarpc8mfwfgn0vflk5xfnc961f6w"; })
+  (fetchNuGet { name = "Microsoft.CodeAnalysis.FxCopAnalyzers"; version = "2.9.8"; sha256 = "15zv982rln15ds8z2hkpmx04njdg0cmmf1xnb9v1v7cxxf7yxx27"; })
+  (fetchNuGet { name = "Microsoft.CodeAnalysis.Razor"; version = "2.2.0"; sha256 = "03cm9danxxnsnmrzfz2swz6zhckkgg6hrz1ycnvnjrbpk3w4v0d6"; })
+  (fetchNuGet { name = "Microsoft.CodeAnalysis.VersionCheckAnalyzer"; version = "2.9.8"; sha256 = "19v25694f9l172snrm4qik5gxzlifiyrmf0kk2zasz7hrciw36bl"; })
+  (fetchNuGet { name = "Microsoft.CodeQuality.Analyzers"; version = "2.9.8"; sha256 = "17ld069hlpcv4z4ylx6m4rhd398sxd0qd0msadfm0rljlkj6xg83"; })
+  (fetchNuGet { name = "Microsoft.CSharp"; version = "4.0.1"; sha256 = "0zxc0apx1gcx361jlq8smc9pfdgmyjh6hpka8dypc9w23nlsh6yj"; })
+  (fetchNuGet { name = "Microsoft.CSharp"; version = "4.3.0"; sha256 = "0gw297dgkh0al1zxvgvncqs0j15lsna9l1wpqas4rflmys440xvb"; })
+  (fetchNuGet { name = "Microsoft.CSharp"; version = "4.5.0"; sha256 = "01i28nvzccxbqmiz217fxs6hnjwmd5fafs37rd49a6qp53y6623l"; })
+  (fetchNuGet { name = "Microsoft.CSharp"; version = "4.7.0"; sha256 = "0gd67zlw554j098kabg887b5a6pq9kzavpa3jjy5w53ccjzjfy8j"; })
+  (fetchNuGet { name = "Microsoft.Data.Sqlite.Core"; version = "5.0.3"; sha256 = "1msj8zn2yfdn5lcny3msqiry94rhs8lkmx1l4pv29mhxggchvidr"; })
+  (fetchNuGet { name = "Microsoft.DotNet.PlatformAbstractions"; version = "2.0.4"; sha256 = "1fdzln4im9hb55agzwchbfgm3vmngigmbpci5j89b0gqcxixmv8j"; })
+  (fetchNuGet { name = "Microsoft.DotNet.PlatformAbstractions"; version = "2.1.0"; sha256 = "1qydvyyinj3b5mraazjal3n2k7jqhn05b6n1a2f3qjkqkxi63dmy"; })
+  (fetchNuGet { name = "Microsoft.DotNet.PlatformAbstractions"; version = "3.1.6"; sha256 = "0b9myd7gqbpaw9pkd2bx45jhik9mwj0f1ss57sk2cxmag2lkdws5"; })
+  (fetchNuGet { name = "Microsoft.EntityFrameworkCore"; version = "5.0.3"; sha256 = "1bhkmr15njgyrd57rmvrjdyamj6qm1n8sdrzcgbfyj7wsjav8dmv"; })
+  (fetchNuGet { name = "Microsoft.EntityFrameworkCore.Abstractions"; version = "5.0.3"; sha256 = "1h0cxqsmpgd1fc9jd4mm1v89s8zchpmd24ks4j5fjgc3j83nvgg9"; })
+  (fetchNuGet { name = "Microsoft.EntityFrameworkCore.Analyzers"; version = "5.0.3"; sha256 = "0mgnw1na94gg4mks7ba9r9cfy3k8vnspi08ryc2i8h91m31dibc2"; })
+  (fetchNuGet { name = "Microsoft.EntityFrameworkCore.Design"; version = "5.0.3"; sha256 = "00p9l6ydqg6kmwyqza0dd9q1zfvam7b3hv8b9kafbl590kdxjzl4"; })
+  (fetchNuGet { name = "Microsoft.EntityFrameworkCore.Relational"; version = "5.0.3"; sha256 = "11pancjxzx04yvy7h4x4m6hncwl2ijiwsvr9m1sa1cmq53lrrvlk"; })
+  (fetchNuGet { name = "Microsoft.EntityFrameworkCore.Sqlite"; version = "5.0.3"; sha256 = "16658n7q2jahk4haljand6j3bmkg718hck4g1piy1j8kx2i6dg7p"; })
+  (fetchNuGet { name = "Microsoft.EntityFrameworkCore.Sqlite.Core"; version = "5.0.3"; sha256 = "0ffi0dyrg00891ac15qajrk7mnhwyayi1fdpwjm10zjdxm4nwy26"; })
+  (fetchNuGet { name = "Microsoft.EntityFrameworkCore.Tools"; version = "5.0.3"; sha256 = "074v7y4irv34xw16ps8mmjm5pq8gk1fs17kx4sznw9bgkcfrm0hy"; })
+  (fetchNuGet { name = "Microsoft.Extensions.ApiDescription.Server"; version = "3.0.0"; sha256 = "13a47xcqyi5gz85swxd4mgp7ndgl4kknrvv3xwmbn71hsh953hsh"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Caching.Abstractions"; version = "2.2.0"; sha256 = "0hhxc5dp52faha1bdqw0k426zicsv6x1kfqi30m9agr0b2hixj52"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Caching.Abstractions"; version = "5.0.0"; sha256 = "0j83zapqhgqb4v5f6kn891km095pfhvsqha357a86ccclmv2czvb"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Caching.Memory"; version = "2.2.0"; sha256 = "0bzrsn5vas86w66bd04xilnlb21nx4l6lz7d3acvy6y8ir2vb5dv"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Caching.Memory"; version = "5.0.0"; sha256 = "0l8spndl3kvccjlay202msm31iy5iig0i9ddbsdy92wbcjr97lca"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Configuration"; version = "2.0.0"; sha256 = "0yssxq9di5h6xw2cayp5hj3l9b2p0jw9wcjz73rwk4586spac9s9"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Configuration"; version = "2.2.0"; sha256 = "02250qrs3jqqbggfvd0mkim82817f79x6jh8fx2i7r58d0m66qkl"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Configuration"; version = "3.1.2"; sha256 = "06diq359ac4bf8jlr9msf8mwalk1a85lskkgcd8mcha56l7l7g0r"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Configuration"; version = "3.1.6"; sha256 = "0j0zl05n9vv23m2dg4wy6pc39zy09rvnr0ljwh63sa1gski32fhx"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Configuration"; version = "5.0.0"; sha256 = "01m9vzlq0vg0lhckj2dimwq42niwny8g3lm13c9a401hlyg90z1p"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Configuration.Abstractions"; version = "2.0.0"; sha256 = "1ilz2yrgg9rbjyhn6a5zh9pr51nmh11z7sixb4p7vivgydj9gxwf"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Configuration.Abstractions"; version = "2.1.0"; sha256 = "03gzlr3z9j1xnr1k6y91zgxpz3pj27i3zsvjwj7i8jqnlqmk7pxd"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Configuration.Abstractions"; version = "2.2.0"; sha256 = "1fv5277hyhfqmc0gqszyqb1ilwnijm8kc9606yia6hwr8pxyg674"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Configuration.Abstractions"; version = "3.1.2"; sha256 = "1mfsgiklr4v99bx62z97vnp7y2jbdr9g9gwyyw89xcb67pir0wb9"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Configuration.Abstractions"; version = "3.1.6"; sha256 = "1bqp28717rdlygdj7m3srfdbkvx0x6bqs2ply9h2sib87jqxaz9i"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Configuration.Abstractions"; version = "5.0.0"; sha256 = "0fqxkc9pjxkqylsdf26s9q21ciyk56h1w33pz3v1v4wcv8yv1v6k"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Configuration.Binder"; version = "2.0.0"; sha256 = "1prvdbma6r18n5agbhhabv6g357p1j70gq4m9g0vs859kf44nrgc"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Configuration.Binder"; version = "2.2.0"; sha256 = "10qyjdkymdmag3r807kvbnwag4j3nz65i4cwikbd77jjvz92ya3j"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Configuration.Binder"; version = "3.1.2"; sha256 = "1jksknhlvgxgys51z0j7pi6c4k8m1iqv3ixp8nhrk24bc8hf04br"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Configuration.Binder"; version = "3.1.6"; sha256 = "0lq35v2zqvs9jl7y347nr8qmdghr6xrymmik3b5kndw1zlrflavn"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Configuration.Binder"; version = "5.0.0"; sha256 = "0sld0bh2k5kss32i3nf8mwqkjagmw0d1cdfmxm87ckiicwm413a0"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Configuration.EnvironmentVariables"; version = "2.2.4"; sha256 = "0i5m7ki5jl4q9fbc0capcjakbh2y55g0zhq7cjs9qw38496rb020"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Configuration.EnvironmentVariables"; version = "5.0.0"; sha256 = "03gvckj10ljk1mir9g8cf3cajsnihhvmh8z8341gkr9h5653qkv0"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Configuration.FileExtensions"; version = "2.2.0"; sha256 = "0bwk1kh6q259nmnly90j5rbbzi9w5gigq5vyjr31c1br4j8cjmqd"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Configuration.FileExtensions"; version = "5.0.0"; sha256 = "1wq229r3xcmm9wh9sqdpvmfv4qpbp2zms9x6xk7g7sbb8h32hnz3"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Configuration.Json"; version = "5.0.0"; sha256 = "0hq5i483bjbvprp1la9l3si82x1ydxbvkpfc7r3s7zgxg957fyp9"; })
+  (fetchNuGet { name = "Microsoft.Extensions.DependencyInjection"; version = "2.2.0"; sha256 = "0lvv45rvq1xbf47lz818rjydc776zk8mf7svpzh1dml4qwlx9zck"; })
+  (fetchNuGet { name = "Microsoft.Extensions.DependencyInjection"; version = "3.1.2"; sha256 = "0z3vdzrnfy838afc2vv4knj2ycab7jni55kdj82p7plfjngv01ic"; })
+  (fetchNuGet { name = "Microsoft.Extensions.DependencyInjection"; version = "3.1.6"; sha256 = "0m8b5phfbkx96l92nf0xs3bz6861mhb7i4havxckz7mr81g968l6"; })
+  (fetchNuGet { name = "Microsoft.Extensions.DependencyInjection"; version = "5.0.0"; sha256 = "15sdwcyzz0qlybwbdq854bn3jk6kx7awx28gs864c4shhbqkppj4"; })
+  (fetchNuGet { name = "Microsoft.Extensions.DependencyInjection"; version = "5.0.1"; sha256 = "06xig49mwyp3b2dvdx98j079ncg6p4c9x8yj4pzs6ppmi3jgaaqk"; })
+  (fetchNuGet { name = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "2.0.0"; sha256 = "1pwrfh9b72k9rq6mb2jab5qhhi225d5rjalzkapiayggmygc8nhz"; })
+  (fetchNuGet { name = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "2.1.0"; sha256 = "0c0cx8r5xkjpxmcfp51959jnp55qjvq28d9vaslk08avvi1by12s"; })
+  (fetchNuGet { name = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "2.2.0"; sha256 = "1jyzfdr9651h3x6pxwhpfbb9mysfh8f8z1jvy4g117h9790r9zx5"; })
+  (fetchNuGet { name = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "3.1.2"; sha256 = "0jh1338ai6060k1130by4m0s7jhz8ky7ij9vagrsgnpcl1yc9k70"; })
+  (fetchNuGet { name = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "3.1.6"; sha256 = "18mcv1x6b3qlaksmb8q92r34jrv1841la5lmg21qppmb9qs0z293"; })
+  (fetchNuGet { name = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "5.0.0"; sha256 = "17cz6s80va0ch0a6nqa1wbbbp3p8sqxb96lj4qcw67ivkp2yxiyj"; })
+  (fetchNuGet { name = "Microsoft.Extensions.DependencyModel"; version = "2.0.4"; sha256 = "041i1vlcibpzgalxxzdk81g5pgmqvmz2g61k0rqa2sky0wpvijx9"; })
+  (fetchNuGet { name = "Microsoft.Extensions.DependencyModel"; version = "2.1.0"; sha256 = "0dl4qhjgifm6v3jsfzvzkvddyic77ggp9fq49ah661v45gk6ilgd"; })
+  (fetchNuGet { name = "Microsoft.Extensions.DependencyModel"; version = "5.0.0"; sha256 = "1mma1zxi0b40972cwfvkj9y0w9r7vjbi74784jzcb22pric00k5x"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Diagnostics.HealthChecks"; version = "5.0.3"; sha256 = "0hv4l27bp29gy3rh9cssvvc8xwzy8ffwh277dw870zhv5mm2ha29"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions"; version = "5.0.3"; sha256 = "1r1xrlgbyfsf0b447lw6lv6jxq339ssrm61klyjmnk1ady05h9di"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore"; version = "5.0.3"; sha256 = "0q0j75i289yn3bv09dhzfirpb4glqm35wrv7p2463kmbf3g551rr"; })
+  (fetchNuGet { name = "Microsoft.Extensions.FileProviders.Abstractions"; version = "2.1.0"; sha256 = "1sxls5f5cgb0wr8cwb05skqmz074683hrhmd3hhq6m5dasnzb8n3"; })
+  (fetchNuGet { name = "Microsoft.Extensions.FileProviders.Abstractions"; version = "2.2.0"; sha256 = "1f83ffb4xjwljg8dgzdsa3pa0582q6b4zm0si467fgkybqzk3c54"; })
+  (fetchNuGet { name = "Microsoft.Extensions.FileProviders.Abstractions"; version = "5.0.0"; sha256 = "01ahgd0b2z2zycrr2lcsq2cl59fn04bh51hdwdp9dcsdkpvnasj1"; })
+  (fetchNuGet { name = "Microsoft.Extensions.FileProviders.Composite"; version = "2.2.0"; sha256 = "0k3qfxb0pn9b63grbf9jv7xw40gk6m1djmi3c4inwys7lxcj2k18"; })
+  (fetchNuGet { name = "Microsoft.Extensions.FileProviders.Physical"; version = "2.2.0"; sha256 = "0lrq4bxf67pw6n9kzwzqsnxkad2ygh2zn46hjias8j7aqljglh7x"; })
+  (fetchNuGet { name = "Microsoft.Extensions.FileProviders.Physical"; version = "5.0.0"; sha256 = "00vii8148a6pk12l9jl0rhjp7apil5q5qcy7v1smnv17lj4p8szd"; })
+  (fetchNuGet { name = "Microsoft.Extensions.FileSystemGlobbing"; version = "2.2.0"; sha256 = "01jw7s1nb44n65qs3rk7xdzc419qwl0s5c34k031f1cc5ag3jvc2"; })
+  (fetchNuGet { name = "Microsoft.Extensions.FileSystemGlobbing"; version = "5.0.0"; sha256 = "0lm6n9vbyjh0l17qcc2y9qwn1cns3dyjmkvbxjp0g9sll32kjpmb"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Hosting.Abstractions"; version = "2.1.0"; sha256 = "04vm9mdjjzg3lpp2rzpgkpn8h5bzdl3bwcr22lshd3kp602ws4k9"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Hosting.Abstractions"; version = "2.2.0"; sha256 = "1xc7xr1nq7akfahyl5in9iyxrygap2xi9nxh39rfm37sf8lk55v1"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Hosting.Abstractions"; version = "5.0.0"; sha256 = "1k28hndmm8ky7sr2j5agdz9lls25mbb08dkypka0b76x5f4hplb5"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Http"; version = "3.1.6"; sha256 = "04ggi7vdx7h5622y1y7xcls6lij880jn9b2xgg73rwrq6bcadj6q"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Http"; version = "5.0.0"; sha256 = "1sx2w6s2giavi3i1wbpa64h1v1xhk5afz3whh7rxhb9fmsn9h1bk"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Localization"; version = "2.2.0"; sha256 = "1k73kk5qmrvdyd7l8qxp19crw18f2p5dgk3cjx59g7vf3rkgmc6k"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Localization.Abstractions"; version = "2.2.0"; sha256 = "1yzqs5x97rj6wlg0rylj0xi3dn1bw4ps26zdqsijx621jl1r97gy"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Logging"; version = "2.2.0"; sha256 = "0bx3ljyvvcbikradq2h583rl72h8bxdz33aghk026cxzpv2mm3wm"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Logging"; version = "3.1.2"; sha256 = "0yh4zbyvm24alrcblcbm0sp7l9ys5ypcxs7l772yj7fdpk0bx3ap"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Logging"; version = "3.1.6"; sha256 = "0brzknkxlalpb1a8m371nmkmpfjf1q3p8x6nls5ylh0w7midxxgp"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Logging"; version = "5.0.0"; sha256 = "1qa1l18q2jh9azya8gv1p8anzcdirjzd9dxxisb4911i9m1648i3"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Logging.Abstractions"; version = "2.1.0"; sha256 = "1gvgif1wcx4k6pv7gc00qv1hid945jdywy1s50s33q0hfd91hbnj"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Logging.Abstractions"; version = "2.2.0"; sha256 = "02w7hp6jicr7cl5p456k2cmrjvvhm6spg5kxnlncw3b72358m5wl"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Logging.Abstractions"; version = "3.1.2"; sha256 = "0givwc5dnz1wm9aa0sfxi4mjws6v9c8v5i5772yg1r4w1wvn3733"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Logging.Abstractions"; version = "3.1.6"; sha256 = "16pk17a3hh0j431a5f7d663iqk1j6n3wjlzk6chmvnfk3dpwfhww"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Logging.Abstractions"; version = "5.0.0"; sha256 = "1yza38675dbv1qqnnhqm23alv2bbaqxp0pb7zinjmw8j2mr5r6wc"; })
+  (fetchNuGet { name = "Microsoft.Extensions.ObjectPool"; version = "2.2.0"; sha256 = "0n1q9lvc24ii1shzy575xldgmz7imnk4dswwwcgmzz93klri9r1z"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Options"; version = "2.0.0"; sha256 = "0g4zadlg73f507krilhaaa7h0jdga216syrzjlyf5fdk25gxmjqh"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Options"; version = "2.2.0"; sha256 = "1b20yh03fg4nmmi3vlf6gf13vrdkmklshfzl3ijygcs4c2hly6v0"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Options"; version = "3.1.2"; sha256 = "005f42rq6n2v5cakqi51266g26dkjc6nsqdd6w62pxvv6g6kp9km"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Options"; version = "3.1.6"; sha256 = "1rdi0pcpcmhvwkn7mxymrpav9q2c4frxhl99ps961mmh1i5738sc"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Options"; version = "5.0.0"; sha256 = "1rdmgpg770x8qwaaa6ryc27zh93p697fcyvn5vkxp0wimlhqkbay"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Options.ConfigurationExtensions"; version = "2.0.0"; sha256 = "1isc3rjbzz60f7wbmgcwslx5d10hm5hisnk7v54vfi2bz7132gll"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Primitives"; version = "2.0.0"; sha256 = "1xppr5jbny04slyjgngxjdm0maxdh47vq481ps944d7jrfs0p3mb"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Primitives"; version = "2.1.0"; sha256 = "1r9gzwdfmb8ysnc4nzmyz5cyar1lw0qmizsvrsh252nhlyg06nmb"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Primitives"; version = "2.2.0"; sha256 = "0znah6arbcqari49ymigg3wiy2hgdifz8zsq8vdc3ynnf45r7h0c"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Primitives"; version = "3.1.2"; sha256 = "04hdb7rd59frgb5ym0sfwc5r67jj6vykcbxljzs8909f8hrs98jb"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Primitives"; version = "3.1.6"; sha256 = "1acl88cph3yqcjz7ami5hzdr69cvxvry24a6r6fmrwnzfcc1i40n"; })
+  (fetchNuGet { name = "Microsoft.Extensions.Primitives"; version = "5.0.0"; sha256 = "0swqcknyh87ns82w539z1mvy804pfwhgzs97cr3nwqk6g5s42gd6"; })
+  (fetchNuGet { name = "Microsoft.Extensions.WebEncoders"; version = "2.2.0"; sha256 = "1mhnichccw6mjf37d38q2i1kr7qp485m7apa1b872ji0q16yy1y3"; })
+  (fetchNuGet { name = "Microsoft.NetCore.Analyzers"; version = "2.9.8"; sha256 = "1klybsdy9yw49zlpmix4vjdhmfaibg5h9yx03vszdnijzap7vpsx"; })
+  (fetchNuGet { name = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "5.0.5"; sha256 = "1h5yry6k9bpqqis2fb1901csb8kipm7anm174fjj41r317vzfjfa"; })
+  (fetchNuGet { name = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; })
+  (fetchNuGet { name = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
+  (fetchNuGet { name = "Microsoft.NETCore.Platforms"; version = "1.1.1"; sha256 = "164wycgng4mi9zqi2pnsf1pq6gccbqvw6ib916mqizgjmd8f44pj"; })
+  (fetchNuGet { name = "Microsoft.NETCore.Platforms"; version = "2.0.0"; sha256 = "1fk2fk2639i7nzy58m9dvpdnzql4vb8yl8vr19r2fp8lmj9w2jr0"; })
+  (fetchNuGet { name = "Microsoft.NETCore.Platforms"; version = "3.1.1"; sha256 = "05hmaygd5131rnqi6ipv7agsbpi7ka18779vw45iw6b385l7n987"; })
+  (fetchNuGet { name = "Microsoft.NETCore.Platforms"; version = "5.0.0"; sha256 = "0mwpwdflidzgzfx2dlpkvvnkgkr2ayaf0s80737h4wa35gaj11rc"; })
+  (fetchNuGet { name = "Microsoft.NETCore.Targets"; version = "1.0.1"; sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; })
+  (fetchNuGet { name = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; })
+  (fetchNuGet { name = "Microsoft.NETCore.Targets"; version = "1.1.3"; sha256 = "05smkcyxir59rgrmp7d6327vvrlacdgldfxhmyr1azclvga1zfsq"; })
+  (fetchNuGet { name = "Microsoft.NetFramework.Analyzers"; version = "2.9.8"; sha256 = "0mb3gkqcr13ryphrzax40cf05bz0h269a6zm1hnzzsq7gbd5iipb"; })
+  (fetchNuGet { name = "Microsoft.Net.Http.Headers"; version = "2.2.0"; sha256 = "0w6lrk9z67bcirq2cj2ldfhnizc6id77ba6i30hjzgqjlyhh1gx5"; })
+  (fetchNuGet { name = "Microsoft.Net.Http.Headers"; version = "2.2.8"; sha256 = "1s0n68z6v5mbys4jjrd4jdxrrz81iq4dzmmbmxzmlf59769x8rj9"; })
+  (fetchNuGet { name = "Microsoft.OpenApi"; version = "1.2.3"; sha256 = "07b19k89whj69j87afkz86gp9b3iybw8jqwvlgcn43m7fb2y99rr"; })
+  (fetchNuGet { name = "Microsoft.SourceLink.Common"; version = "1.0.0"; sha256 = "1zxkpx01zdv17c39iiy8fx25ran89n14qwddh1f140v1s4dn8z9c"; })
+  (fetchNuGet { name = "Microsoft.SourceLink.GitHub"; version = "1.0.0"; sha256 = "029ixyaqn48cjza87m5qf0g1ynyhlm6irgbx1n09src9g666yhpd"; })
+  (fetchNuGet { name = "Microsoft.Win32.Primitives"; version = "4.0.1"; sha256 = "1n8ap0cmljbqskxpf8fjzn7kh1vvlndsa75k01qig26mbw97k2q7"; })
+  (fetchNuGet { name = "Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; })
+  (fetchNuGet { name = "Microsoft.Win32.Registry"; version = "4.5.0"; sha256 = "1zapbz161ji8h82xiajgriq6zgzmb1f3ar517p2h63plhsq5gh2q"; })
+  (fetchNuGet { name = "Mono.Nat"; version = "3.0.1"; sha256 = "1xy3c9wsiz8k3rx8v60y6gnps337rsb5jpyj0r6g384prg6z4vh0"; })
+  (fetchNuGet { name = "NETStandard.Library"; version = "1.6.0"; sha256 = "0nmmv4yw7gw04ik8ialj3ak0j6pxa9spih67hnn1h2c38ba8h58k"; })
+  (fetchNuGet { name = "NETStandard.Library"; version = "1.6.1"; sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8"; })
+  (fetchNuGet { name = "Newtonsoft.Json"; version = "10.0.1"; sha256 = "15ncqic3p2rzs8q8ppi0irl2miq75kilw4lh8yfgjq96id0ds3hv"; })
+  (fetchNuGet { name = "Newtonsoft.Json"; version = "11.0.2"; sha256 = "1784xi44f4k8v1fr696hsccmwpy94bz7kixxqlri98zhcxn406b2"; })
+  (fetchNuGet { name = "Newtonsoft.Json"; version = "12.0.2"; sha256 = "0w2fbji1smd2y7x25qqibf1qrznmv4s6s0jvrbvr6alb7mfyqvh5"; })
+  (fetchNuGet { name = "Newtonsoft.Json"; version = "12.0.3"; sha256 = "17dzl305d835mzign8r15vkmav2hq8l6g7942dfjpnzr17wwl89x"; })
+  (fetchNuGet { name = "Newtonsoft.Json"; version = "9.0.1"; sha256 = "0mcy0i7pnfpqm4pcaiyzzji4g0c8i3a5gjz28rrr28110np8304r"; })
+  (fetchNuGet { name = "Newtonsoft.Json.Bson"; version = "1.0.1"; sha256 = "1r1hvj5gjl466bya2bfl5aaj8rbwyf5x1msg710wf3k2llbci1xa"; })
+  (fetchNuGet { name = "OptimizedPriorityQueue"; version = "5.0.0"; sha256 = "0a0kn4sr80yx1bm5nngbillfbcafv86hqxwp5kxjgh3wcd01c803"; })
+  (fetchNuGet { name = "PlaylistsNET"; version = "1.1.3"; sha256 = "092lgqvvarx6g8mrhm8rdzcqisklzffa0i3gkpc0zbk7b7b0f8yg"; })
+  (fetchNuGet { name = "prometheus-net"; version = "3.1.2"; sha256 = "1jyxvl9cqxvb71mpaglw8aks27i69hg7yzrdwsjc182nmmhh1p03"; })
+  (fetchNuGet { name = "prometheus-net"; version = "4.1.1"; sha256 = "0n016rxlz00xrw1jrikwr6h221rrw96h13d0823mfb5375rdi8rx"; })
+  (fetchNuGet { name = "prometheus-net.AspNetCore"; version = "4.1.1"; sha256 = "0239i5ga7z3ajq6rvqz2ym3a30b1nbfjn6dnmc1iljd9579flzhs"; })
+  (fetchNuGet { name = "prometheus-net.DotNetRuntime"; version = "3.4.1"; sha256 = "1b4a5yh2s8nji4bvp9fcw03dw0wbx58823b7jfga0vva33am3xx8"; })
+  (fetchNuGet { name = "runtime.any.System.Collections"; version = "4.3.0"; sha256 = "0bv5qgm6vr47ynxqbnkc7i797fdi8gbjjxii173syrx14nmrkwg0"; })
+  (fetchNuGet { name = "runtime.any.System.Diagnostics.Tools"; version = "4.3.0"; sha256 = "1wl76vk12zhdh66vmagni66h5xbhgqq7zkdpgw21jhxhvlbcl8pk"; })
+  (fetchNuGet { name = "runtime.any.System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "00j6nv2xgmd3bi347k00m7wr542wjlig53rmj28pmw7ddcn97jbn"; })
+  (fetchNuGet { name = "runtime.any.System.Globalization"; version = "4.3.0"; sha256 = "1daqf33hssad94lamzg01y49xwndy2q97i2lrb7mgn28656qia1x"; })
+  (fetchNuGet { name = "runtime.any.System.Globalization.Calendars"; version = "4.3.0"; sha256 = "1ghhhk5psqxcg6w88sxkqrc35bxcz27zbqm2y5p5298pv3v7g201"; })
+  (fetchNuGet { name = "runtime.any.System.IO"; version = "4.3.0"; sha256 = "0l8xz8zn46w4d10bcn3l4yyn4vhb3lrj2zw8llvz7jk14k4zps5x"; })
+  (fetchNuGet { name = "runtime.any.System.Reflection"; version = "4.3.0"; sha256 = "02c9h3y35pylc0zfq3wcsvc5nqci95nrkq0mszifc0sjx7xrzkly"; })
+  (fetchNuGet { name = "runtime.any.System.Reflection.Extensions"; version = "4.3.0"; sha256 = "0zyri97dfc5vyaz9ba65hjj1zbcrzaffhsdlpxc9bh09wy22fq33"; })
+  (fetchNuGet { name = "runtime.any.System.Reflection.Primitives"; version = "4.3.0"; sha256 = "0x1mm8c6iy8rlxm8w9vqw7gb7s1ljadrn049fmf70cyh42vdfhrf"; })
+  (fetchNuGet { name = "runtime.any.System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "03kickal0iiby82wa5flar18kyv82s9s6d4xhk5h4bi5kfcyfjzl"; })
+  (fetchNuGet { name = "runtime.any.System.Runtime"; version = "4.3.0"; sha256 = "1cqh1sv3h5j7ixyb7axxbdkqx6cxy00p4np4j91kpm492rf4s25b"; })
+  (fetchNuGet { name = "runtime.any.System.Runtime.Handles"; version = "4.3.0"; sha256 = "0bh5bi25nk9w9xi8z23ws45q5yia6k7dg3i4axhfqlnj145l011x"; })
+  (fetchNuGet { name = "runtime.any.System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "0c3g3g3jmhlhw4klrc86ka9fjbl7i59ds1fadsb2l8nqf8z3kb19"; })
+  (fetchNuGet { name = "runtime.any.System.Text.Encoding"; version = "4.3.0"; sha256 = "0aqqi1v4wx51h51mk956y783wzags13wa7mgqyclacmsmpv02ps3"; })
+  (fetchNuGet { name = "runtime.any.System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "0lqhgqi0i8194ryqq6v2gqx0fb86db2gqknbm0aq31wb378j7ip8"; })
+  (fetchNuGet { name = "runtime.any.System.Threading.Tasks"; version = "4.3.0"; sha256 = "03mnvkhskbzxddz4hm113zsch1jyzh2cs450dk3rgfjp8crlw1va"; })
+  (fetchNuGet { name = "runtime.any.System.Threading.Timer"; version = "4.3.0"; sha256 = "0aw4phrhwqz9m61r79vyfl5la64bjxj8l34qnrcwb28v49fg2086"; })
+  (fetchNuGet { name = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d"; })
+  (fetchNuGet { name = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59"; })
+  (fetchNuGet { name = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa"; })
+  (fetchNuGet { name = "runtime.native.System"; version = "4.0.0"; sha256 = "1ppk69xk59ggacj9n7g6fyxvzmk1g5p4fkijm0d7xqfkig98qrkf"; })
+  (fetchNuGet { name = "runtime.native.System"; version = "4.3.0"; sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4"; })
+  (fetchNuGet { name = "runtime.native.System.IO.Compression"; version = "4.1.0"; sha256 = "0d720z4lzyfcabmmnvh0bnj76ll7djhji2hmfh3h44sdkjnlkknk"; })
+  (fetchNuGet { name = "runtime.native.System.IO.Compression"; version = "4.3.0"; sha256 = "1vvivbqsk6y4hzcid27pqpm5bsi6sc50hvqwbcx8aap5ifrxfs8d"; })
+  (fetchNuGet { name = "runtime.native.System.Net.Http"; version = "4.0.1"; sha256 = "1hgv2bmbaskx77v8glh7waxws973jn4ah35zysnkxmf0196sfxg6"; })
+  (fetchNuGet { name = "runtime.native.System.Net.Http"; version = "4.3.0"; sha256 = "1n6rgz5132lcibbch1qlf0g9jk60r0kqv087hxc0lisy50zpm7kk"; })
+  (fetchNuGet { name = "runtime.native.System.Security.Cryptography"; version = "4.0.0"; sha256 = "0k57aa2c3b10wl3hfqbgrl7xq7g8hh3a3ir44b31dn5p61iiw3z9"; })
+  (fetchNuGet { name = "runtime.native.System.Security.Cryptography.Apple"; version = "4.3.0"; sha256 = "1b61p6gw1m02cc1ry996fl49liiwky6181dzr873g9ds92zl326q"; })
+  (fetchNuGet { name = "runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "18pzfdlwsg2nb1jjjjzyb5qlgy6xjxzmhnfaijq5s2jw3cm3ab97"; })
+  (fetchNuGet { name = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0qyynf9nz5i7pc26cwhgi8j62ps27sqmf78ijcfgzab50z9g8ay3"; })
+  (fetchNuGet { name = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1klrs545awhayryma6l7g2pvnp9xy4z0r1i40r80zb45q3i9nbyf"; })
+  (fetchNuGet { name = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple"; version = "4.3.0"; sha256 = "10yc8jdrwgcl44b4g93f1ds76b176bajd3zqi2faf5rvh1vy9smi"; })
+  (fetchNuGet { name = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0zcxjv5pckplvkg0r6mw3asggm7aqzbdjimhvsasb0cgm59x09l3"; })
+  (fetchNuGet { name = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0vhynn79ih7hw7cwjazn87rm9z9fj0rvxgzlab36jybgcpcgphsn"; })
+  (fetchNuGet { name = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "160p68l2c7cqmyqjwxydcvgw7lvl1cr0znkw8fp24d1by9mqc8p3"; })
+  (fetchNuGet { name = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "15zrc8fgd8zx28hdghcj5f5i34wf3l6bq5177075m2bc2j34jrqy"; })
+  (fetchNuGet { name = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5"; })
+  (fetchNuGet { name = "runtime.unix.Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0y61k9zbxhdi0glg154v30kkq7f8646nif8lnnxbvkjpakggd5id"; })
+  (fetchNuGet { name = "runtime.unix.System.Console"; version = "4.3.0"; sha256 = "1pfpkvc6x2if8zbdzg9rnc5fx51yllprl8zkm5npni2k50lisy80"; })
+  (fetchNuGet { name = "runtime.unix.System.Console"; version = "4.3.1"; sha256 = "15kfi3761mk2i29zg135ipsvavm50nwm4334cy5m5q7iagzsf73p"; })
+  (fetchNuGet { name = "runtime.unix.System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "1lps7fbnw34bnh3lm31gs5c0g0dh7548wfmb8zz62v0zqz71msj5"; })
+  (fetchNuGet { name = "runtime.unix.System.IO.FileSystem"; version = "4.3.0"; sha256 = "14nbkhvs7sji5r1saj2x8daz82rnf9kx28d3v2qss34qbr32dzix"; })
+  (fetchNuGet { name = "runtime.unix.System.Net.Primitives"; version = "4.3.0"; sha256 = "0bdnglg59pzx9394sy4ic66kmxhqp8q8bvmykdxcbs5mm0ipwwm4"; })
+  (fetchNuGet { name = "runtime.unix.System.Net.Sockets"; version = "4.3.0"; sha256 = "03npdxzy8gfv035bv1b9rz7c7hv0rxl5904wjz51if491mw0xy12"; })
+  (fetchNuGet { name = "runtime.unix.System.Private.Uri"; version = "4.3.0"; sha256 = "1jx02q6kiwlvfksq1q9qr17fj78y5v6mwsszav4qcz9z25d5g6vk"; })
+  (fetchNuGet { name = "runtime.unix.System.Runtime.Extensions"; version = "4.3.0"; sha256 = "0pnxxmm8whx38dp6yvwgmh22smknxmqs5n513fc7m4wxvs1bvi4p"; })
+  (fetchNuGet { name = "Serilog"; version = "2.3.0"; sha256 = "0y1111y0csfnil901nfahhj3x251nzdam0c4vab3gw5qh8iqs3my"; })
+  (fetchNuGet { name = "Serilog"; version = "2.5.0"; sha256 = "0lq3kpmb83mv9kzr9zshz46bp6mvgx1kfz4dzjgzpasf6llgmrx0"; })
+  (fetchNuGet { name = "Serilog"; version = "2.6.0"; sha256 = "0xzq2szx5yb9xgnkj2zvjil48baald22jm2j39smnac32gid5gm0"; })
+  (fetchNuGet { name = "Serilog"; version = "2.8.0"; sha256 = "0fnrs05yjnni06mbax7ig74wiiqjyyhrxmr1hrhlpwcmc40zs4ih"; })
+  (fetchNuGet { name = "Serilog"; version = "2.9.0"; sha256 = "0z0ib82w9b229a728bbyhzc2hnlbl0ki7nnvmgnv3l741f2vr4i6"; })
+  (fetchNuGet { name = "SerilogAnalyzer"; version = "0.15.0.0"; sha256 = "0k83cyzl9520q282vp07zb8rs16a56axv7a31l3m5fb1afq2hv9l"; })
+  (fetchNuGet { name = "Serilog.AspNetCore"; version = "3.4.0"; sha256 = "1k59zspma8hlka6j6hvflw8i073092qj8kzz52fdkqrck7w7cbag"; })
+  (fetchNuGet { name = "Serilog.Enrichers.Thread"; version = "3.1.0"; sha256 = "1y75aiv2k1sxnh012ixkx92fq1yl8srqggy8l439igg4p223hcqi"; })
+  (fetchNuGet { name = "Serilog.Extensions.Hosting"; version = "3.1.0"; sha256 = "0n01n2kvapl5hkp80fa0ra8zixacfqhrs05ijkh3hj5bvgnscsx5"; })
+  (fetchNuGet { name = "Serilog.Extensions.Logging"; version = "3.0.1"; sha256 = "069qy7dm5nxb372ij112ppa6m99b4iaimj3sji74m659fwrcrl9a"; })
+  (fetchNuGet { name = "Serilog.Formatting.Compact"; version = "1.1.0"; sha256 = "1w3qhj1jrihb20gr9la4r4gcmdyyy6dai2xflwhzvgqrq05wlycy"; })
+  (fetchNuGet { name = "Serilog.Settings.Configuration"; version = "3.1.0"; sha256 = "1cj5am4n073331gbfm2ylqb9cadl4q3ppzgwmm5c8m1drxpiwkb5"; })
+  (fetchNuGet { name = "Serilog.Sinks.Async"; version = "1.4.0"; sha256 = "00kqrn3xmfzg469y155vihsiby8dbbs382fi6qg8p2zg3i5dih1d"; })
+  (fetchNuGet { name = "Serilog.Sinks.Console"; version = "3.1.1"; sha256 = "0j99as641y1k6havwwkhyr0n08vibiblmfjj6nz051mz8g3864fn"; })
+  (fetchNuGet { name = "Serilog.Sinks.Debug"; version = "1.0.1"; sha256 = "0969mb254kr59bgkq01ybyzca89z3f4n9ng5mdj8m53d5653zf22"; })
+  (fetchNuGet { name = "Serilog.Sinks.File"; version = "4.1.0"; sha256 = "1ry7p9hf1zlnai1j5zjhjp4dqm2agsbpq6cvxgpf5l8m26x6mgca"; })
+  (fetchNuGet { name = "Serilog.Sinks.Graylog"; version = "2.2.2"; sha256 = "0cvl9vfd1qx0hdvvylhh9frnxwqdl9yq4vy21fjsr6wdvgflg2hr"; })
+  (fetchNuGet { name = "ServiceStack.Text.Core"; version = "5.10.2"; sha256 = "0hpqfify017gm8nbah2abkk5d4vnsqrgj86i8b5mx3wy54h82pvb"; })
+  (fetchNuGet { name = "SharpCompress"; version = "0.26.0"; sha256 = "03cygf8p44j1bfn6z9cn2xrw6zhvhq17xac1sph5rgq7vq2m5iq5"; })
+  (fetchNuGet { name = "SkiaSharp"; version = "2.80.2"; sha256 = "17n0f4gfxz69fzd7zmgimbxfja15vq902arap2rqjr1hxp8sck7g"; })
+  (fetchNuGet { name = "SkiaSharp.NativeAssets.Linux"; version = "2.80.2"; sha256 = "1951b7rpisaymb37j846jq01pjd05l4fjlnf56blh33ihxyj2jzi"; })
+  (fetchNuGet { name = "SmartAnalyzers.MultithreadingAnalyzer"; version = "1.1.31"; sha256 = "1qk5s4rx5ma7k2kzkn1h94fsrzmwkivj0z1czsjwmr8z7zhngs2h"; })
+  (fetchNuGet { name = "SQLitePCL.pretty.netstandard"; version = "2.1.0"; sha256 = "03vjk8r0dzyiwya6q5p2z2wp9sxj3b7xi72p7wgsy270a2pb3f28"; })
+  (fetchNuGet { name = "SQLitePCLRaw.bundle_e_sqlite3"; version = "2.0.4"; sha256 = "1l3vbkwismsx5jcy3d5bj4bzh8bni8bk2gq4lqplz82pz5phjpxm"; })
+  (fetchNuGet { name = "SQLitePCLRaw.core"; version = "1.1.14"; sha256 = "1najf6ns5b8rqqlmlxjn4wjcgnb5ch9ni7wiq6iip4155d35c519"; })
+  (fetchNuGet { name = "SQLitePCLRaw.core"; version = "2.0.2"; sha256 = "11mnbnsiirpgmilskqh1issvgzgg08ndq3p3nkrw73hyqr7kl958"; })
+  (fetchNuGet { name = "SQLitePCLRaw.core"; version = "2.0.4"; sha256 = "0lb5vwfl1hd24xzzdaj2p4k2hv2k0i3mgdri6fjj0ssb37mcyir1"; })
+  (fetchNuGet { name = "SQLitePCLRaw.lib.e_sqlite3"; version = "2.0.4"; sha256 = "0kmx1w5qllmwxldr8338qxwmpfzc6g2lmyrah7wfaxd3mvfzky5c"; })
+  (fetchNuGet { name = "SQLitePCLRaw.provider.dynamic_cdecl"; version = "2.0.4"; sha256 = "084r98kilpm0q1aw41idq8slncpd7cz65g0m1wr0p8d12x8z5g6j"; })
+  (fetchNuGet { name = "SQLitePCLRaw.provider.sqlite3.netstandard11"; version = "1.1.14"; sha256 = "00jwin9lannq4qla6r85c4f0m1y8g103r02p8cnjhakxz588dm1y"; })
+  (fetchNuGet { name = "StyleCop.Analyzers"; version = "1.1.118"; sha256 = "0hj4ax64cay2lvrh9693m0g4pmis0fi5wpm12xwzvc7lkizvac0a"; })
+  (fetchNuGet { name = "Swashbuckle.AspNetCore"; version = "5.6.3"; sha256 = "1s8jmvssk8g518szi9nijsq73d85fnlzvink2x0ahf2jkvpakn9p"; })
+  (fetchNuGet { name = "Swashbuckle.AspNetCore.ReDoc"; version = "5.6.3"; sha256 = "1kbn77wbcn03pwcynj4n602p4157y1qrfv775clnmzfq7z5nfaw6"; })
+  (fetchNuGet { name = "Swashbuckle.AspNetCore.Swagger"; version = "5.6.3"; sha256 = "0yg27nlndaiaa6sv7xkcysdpmq1dzf24xjz6xq0vwn51mn84vsg9"; })
+  (fetchNuGet { name = "Swashbuckle.AspNetCore.SwaggerGen"; version = "5.6.3"; sha256 = "15h31wq9n9zcpalb3k1pzgcsafn1mz397mb9bnl55621p6zxrlz2"; })
+  (fetchNuGet { name = "Swashbuckle.AspNetCore.SwaggerUI"; version = "5.6.3"; sha256 = "0vbq3xycsixnpsqw2pphzw77w1liyz8hi1sl4hy9bpgpa18p2sfj"; })
+  (fetchNuGet { name = "System.AppContext"; version = "4.1.0"; sha256 = "0fv3cma1jp4vgj7a8hqc9n7hr1f1kjp541s6z0q1r6nazb4iz9mz"; })
+  (fetchNuGet { name = "System.AppContext"; version = "4.3.0"; sha256 = "1649qvy3dar900z3g817h17nl8jp4ka5vcfmsr05kh0fshn7j3ya"; })
+  (fetchNuGet { name = "System.Buffers"; version = "4.0.0"; sha256 = "13s659bcmg9nwb6z78971z1lr6bmh2wghxi1ayqyzl4jijd351gr"; })
+  (fetchNuGet { name = "System.Buffers"; version = "4.3.0"; sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; })
+  (fetchNuGet { name = "System.Buffers"; version = "4.5.0"; sha256 = "1ywfqn4md6g3iilpxjn5dsr0f5lx6z0yvhqp4pgjcamygg73cz2c"; })
+  (fetchNuGet { name = "System.Collections"; version = "4.0.11"; sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6"; })
+  (fetchNuGet { name = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; })
+  (fetchNuGet { name = "System.Collections.Concurrent"; version = "4.0.12"; sha256 = "07y08kvrzpak873pmyxs129g1ch8l27zmg51pcyj2jvq03n0r0fc"; })
+  (fetchNuGet { name = "System.Collections.Concurrent"; version = "4.3.0"; sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8"; })
+  (fetchNuGet { name = "System.Collections.Immutable"; version = "1.3.1"; sha256 = "17615br2x5riyx8ivf1dcqwj6q3ipq1bi5hqhw54yfyxmx38ddva"; })
+  (fetchNuGet { name = "System.Collections.Immutable"; version = "5.0.0"; sha256 = "1kvcllagxz2q92g81zkz81djkn2lid25ayjfgjalncyc68i15p0r"; })
+  (fetchNuGet { name = "System.Collections.NonGeneric"; version = "4.0.1"; sha256 = "19994r5y5bpdhj7di6w047apvil8lh06lh2c2yv9zc4fc5g9bl4d"; })
+  (fetchNuGet { name = "System.Collections.NonGeneric"; version = "4.3.0"; sha256 = "07q3k0hf3mrcjzwj8fwk6gv3n51cb513w4mgkfxzm3i37sc9kz7k"; })
+  (fetchNuGet { name = "System.Collections.Specialized"; version = "4.3.0"; sha256 = "1sdwkma4f6j85m3dpb53v9vcgd0zyc9jb33f8g63byvijcj39n20"; })
+  (fetchNuGet { name = "System.ComponentModel"; version = "4.3.0"; sha256 = "0986b10ww3nshy30x9sjyzm0jx339dkjxjj3401r3q0f6fx2wkcb"; })
+  (fetchNuGet { name = "System.ComponentModel.Annotations"; version = "4.5.0"; sha256 = "1jj6f6g87k0iwsgmg3xmnn67a14mq88np0l1ys5zkxhkvbc8976p"; })
+  (fetchNuGet { name = "System.ComponentModel.Annotations"; version = "5.0.0"; sha256 = "021h7x98lblq9avm1bgpa4i31c2kgsa7zn4sqhxf39g087ar756j"; })
+  (fetchNuGet { name = "System.ComponentModel.Primitives"; version = "4.3.0"; sha256 = "1svfmcmgs0w0z9xdw2f2ps05rdxmkxxhf0l17xk9l1l8xfahkqr0"; })
+  (fetchNuGet { name = "System.ComponentModel.TypeConverter"; version = "4.3.0"; sha256 = "17ng0p7v3nbrg3kycz10aqrrlw4lz9hzhws09pfh8gkwicyy481x"; })
+  (fetchNuGet { name = "System.Console"; version = "4.0.0"; sha256 = "0ynxqbc3z1nwbrc11hkkpw9skw116z4y9wjzn7id49p9yi7mzmlf"; })
+  (fetchNuGet { name = "System.Console"; version = "4.3.0"; sha256 = "1flr7a9x920mr5cjsqmsy9wgnv3lvd0h1g521pdr1lkb2qycy7ay"; })
+  (fetchNuGet { name = "System.Diagnostics.Debug"; version = "4.0.11"; sha256 = "0gmjghrqmlgzxivd2xl50ncbglb7ljzb66rlx8ws6dv8jm0d5siz"; })
+  (fetchNuGet { name = "System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; })
+  (fetchNuGet { name = "System.Diagnostics.DiagnosticSource"; version = "4.0.0"; sha256 = "1n6c3fbz7v8d3pn77h4v5wvsfrfg7v1c57lg3nff3cjyh597v23m"; })
+  (fetchNuGet { name = "System.Diagnostics.DiagnosticSource"; version = "4.3.0"; sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq"; })
+  (fetchNuGet { name = "System.Diagnostics.DiagnosticSource"; version = "4.5.0"; sha256 = "1y8m0p3127nak5yspapfnz25qc9x53gqpvwr3hdpsvrcd2r1pgyj"; })
+  (fetchNuGet { name = "System.Diagnostics.DiagnosticSource"; version = "4.5.1"; sha256 = "1j8dgilsgd0n7y87wq1cdlnwck96wijhbyhdp4d01l1gzm3074c1"; })
+  (fetchNuGet { name = "System.Diagnostics.DiagnosticSource"; version = "5.0.1"; sha256 = "0mzw44wsm87vpslb9sn7rirxynpq9m3b00l7gl0q71m8shfh66qs"; })
+  (fetchNuGet { name = "System.Diagnostics.FileVersionInfo"; version = "4.3.0"; sha256 = "094hx249lb3vb336q7dg3v257hbxvz2jnalj695l7cg5kxzqwai7"; })
+  (fetchNuGet { name = "System.Diagnostics.StackTrace"; version = "4.3.0"; sha256 = "0ash4h9k0m7xsm0yl79r0ixrdz369h7y922wipp5gladmlbvpyjd"; })
+  (fetchNuGet { name = "System.Diagnostics.Tools"; version = "4.0.1"; sha256 = "19cknvg07yhakcvpxg3cxa0bwadplin6kyxd8mpjjpwnp56nl85x"; })
+  (fetchNuGet { name = "System.Diagnostics.Tools"; version = "4.3.0"; sha256 = "0in3pic3s2ddyibi8cvgl102zmvp9r9mchh82ns9f0ms4basylw1"; })
+  (fetchNuGet { name = "System.Diagnostics.Tracing"; version = "4.1.0"; sha256 = "1d2r76v1x610x61ahfpigda89gd13qydz6vbwzhpqlyvq8jj6394"; })
+  (fetchNuGet { name = "System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4"; })
+  (fetchNuGet { name = "System.Dynamic.Runtime"; version = "4.0.11"; sha256 = "1pla2dx8gkidf7xkciig6nifdsb494axjvzvann8g2lp3dbqasm9"; })
+  (fetchNuGet { name = "System.Dynamic.Runtime"; version = "4.3.0"; sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk"; })
+  (fetchNuGet { name = "System.Globalization"; version = "4.0.11"; sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d"; })
+  (fetchNuGet { name = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; })
+  (fetchNuGet { name = "System.Globalization.Calendars"; version = "4.0.1"; sha256 = "0bv0alrm2ck2zk3rz25lfyk9h42f3ywq77mx1syl6vvyncnpg4qh"; })
+  (fetchNuGet { name = "System.Globalization.Calendars"; version = "4.3.0"; sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq"; })
+  (fetchNuGet { name = "System.Globalization.Extensions"; version = "4.0.1"; sha256 = "0hjhdb5ri8z9l93bw04s7ynwrjrhx2n0p34sf33a9hl9phz69fyc"; })
+  (fetchNuGet { name = "System.Globalization.Extensions"; version = "4.3.0"; sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls"; })
+  (fetchNuGet { name = "System.IO"; version = "4.1.0"; sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp"; })
+  (fetchNuGet { name = "System.IO"; version = "4.3.0"; sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; })
+  (fetchNuGet { name = "System.IO.Compression"; version = "4.1.0"; sha256 = "0iym7s3jkl8n0vzm3jd6xqg9zjjjqni05x45dwxyjr2dy88hlgji"; })
+  (fetchNuGet { name = "System.IO.Compression"; version = "4.3.0"; sha256 = "084zc82yi6yllgda0zkgl2ys48sypiswbiwrv7irb3r0ai1fp4vz"; })
+  (fetchNuGet { name = "System.IO.Compression.ZipFile"; version = "4.0.1"; sha256 = "0h72znbagmgvswzr46mihn7xm7chfk2fhrp5krzkjf29pz0i6z82"; })
+  (fetchNuGet { name = "System.IO.Compression.ZipFile"; version = "4.3.0"; sha256 = "1yxy5pq4dnsm9hlkg9ysh5f6bf3fahqqb6p8668ndy5c0lk7w2ar"; })
+  (fetchNuGet { name = "System.IO.FileSystem"; version = "4.0.1"; sha256 = "0kgfpw6w4djqra3w5crrg8xivbanh1w9dh3qapb28q060wb9flp1"; })
+  (fetchNuGet { name = "System.IO.FileSystem"; version = "4.3.0"; sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw"; })
+  (fetchNuGet { name = "System.IO.FileSystem.Primitives"; version = "4.0.1"; sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612"; })
+  (fetchNuGet { name = "System.IO.FileSystem.Primitives"; version = "4.3.0"; sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; })
+  (fetchNuGet { name = "System.IO.Pipelines"; version = "4.5.2"; sha256 = "045sn3vyk5xysjjm19q4dj5c1g1rf8l98n4qsl9pl9id4fn08yq1"; })
+  (fetchNuGet { name = "System.Linq"; version = "4.1.0"; sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5"; })
+  (fetchNuGet { name = "System.Linq"; version = "4.3.0"; sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; })
+  (fetchNuGet { name = "System.Linq.Async"; version = "5.0.0"; sha256 = "1bc1bfnahyk6y31mrxn7nd071436m94p4r9b2j835pghcqawqfbc"; })
+  (fetchNuGet { name = "System.Linq.Expressions"; version = "4.1.0"; sha256 = "1gpdxl6ip06cnab7n3zlcg6mqp7kknf73s8wjinzi4p0apw82fpg"; })
+  (fetchNuGet { name = "System.Linq.Expressions"; version = "4.3.0"; sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv"; })
+  (fetchNuGet { name = "System.Memory"; version = "4.5.0"; sha256 = "1layqpcx1q4l805fdnj2dfqp6ncx2z42ca06rgsr6ikq4jjgbv30"; })
+  (fetchNuGet { name = "System.Memory"; version = "4.5.1"; sha256 = "0f07d7hny38lq9w69wx4lxkn4wszrqf9m9js6fh9is645csm167c"; })
+  (fetchNuGet { name = "System.Memory"; version = "4.5.3"; sha256 = "0naqahm3wljxb5a911d37mwjqjdxv9l0b49p5dmfyijvni2ppy8a"; })
+  (fetchNuGet { name = "System.Memory"; version = "4.5.4"; sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y"; })
+  (fetchNuGet { name = "System.Net.Http"; version = "4.1.0"; sha256 = "1i5rqij1icg05j8rrkw4gd4pgia1978mqhjzhsjg69lvwcdfg8yb"; })
+  (fetchNuGet { name = "System.Net.Http"; version = "4.3.0"; sha256 = "1i4gc757xqrzflbk7kc5ksn20kwwfjhw9w7pgdkn19y3cgnl302j"; })
+  (fetchNuGet { name = "System.Net.NameResolution"; version = "4.3.0"; sha256 = "15r75pwc0rm3vvwsn8rvm2krf929mjfwliv0mpicjnii24470rkq"; })
+  (fetchNuGet { name = "System.Net.Primitives"; version = "4.0.11"; sha256 = "10xzzaynkzkakp7jai1ik3r805zrqjxiz7vcagchyxs2v26a516r"; })
+  (fetchNuGet { name = "System.Net.Primitives"; version = "4.3.0"; sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii"; })
+  (fetchNuGet { name = "System.Net.Sockets"; version = "4.1.0"; sha256 = "1385fvh8h29da5hh58jm1v78fzi9fi5vj93vhlm2kvqpfahvpqls"; })
+  (fetchNuGet { name = "System.Net.Sockets"; version = "4.3.0"; sha256 = "1ssa65k6chcgi6mfmzrznvqaxk8jp0gvl77xhf1hbzakjnpxspla"; })
+  (fetchNuGet { name = "System.Net.WebSockets.WebSocketProtocol"; version = "4.5.3"; sha256 = "0z9ccndkkq6gpsh35q3pjm4zya47p6vakcyj8nc352g4wiizqc8c"; })
+  (fetchNuGet { name = "System.Numerics.Vectors"; version = "4.5.0"; sha256 = "1kzrj37yzawf1b19jq0253rcs8hsq1l2q8g69d7ipnhzb0h97m59"; })
+  (fetchNuGet { name = "System.ObjectModel"; version = "4.0.12"; sha256 = "1sybkfi60a4588xn34nd9a58png36i0xr4y4v4kqpg8wlvy5krrj"; })
+  (fetchNuGet { name = "System.ObjectModel"; version = "4.3.0"; sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2"; })
+  (fetchNuGet { name = "System.Private.Uri"; version = "4.3.0"; sha256 = "04r1lkdnsznin0fj4ya1zikxiqr0h6r6a1ww2dsm60gqhdrf0mvx"; })
+  (fetchNuGet { name = "System.Reflection"; version = "4.1.0"; sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9"; })
+  (fetchNuGet { name = "System.Reflection"; version = "4.3.0"; sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; })
+  (fetchNuGet { name = "System.Reflection.Emit"; version = "4.0.1"; sha256 = "0ydqcsvh6smi41gyaakglnv252625hf29f7kywy2c70nhii2ylqp"; })
+  (fetchNuGet { name = "System.Reflection.Emit"; version = "4.3.0"; sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74"; })
+  (fetchNuGet { name = "System.Reflection.Emit.ILGeneration"; version = "4.0.1"; sha256 = "1pcd2ig6bg144y10w7yxgc9d22r7c7ww7qn1frdfwgxr24j9wvv0"; })
+  (fetchNuGet { name = "System.Reflection.Emit.ILGeneration"; version = "4.3.0"; sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q"; })
+  (fetchNuGet { name = "System.Reflection.Emit.Lightweight"; version = "4.0.1"; sha256 = "1s4b043zdbx9k39lfhvsk68msv1nxbidhkq6nbm27q7sf8xcsnxr"; })
+  (fetchNuGet { name = "System.Reflection.Emit.Lightweight"; version = "4.3.0"; sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c"; })
+  (fetchNuGet { name = "System.Reflection.Extensions"; version = "4.0.1"; sha256 = "0m7wqwq0zqq9gbpiqvgk3sr92cbrw7cp3xn53xvw7zj6rz6fdirn"; })
+  (fetchNuGet { name = "System.Reflection.Extensions"; version = "4.3.0"; sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq"; })
+  (fetchNuGet { name = "System.Reflection.Metadata"; version = "1.4.2"; sha256 = "08b7b43vczlliv8k7q43jinjfrxwpljsglw7sxmc6sd7d54pd1vi"; })
+  (fetchNuGet { name = "System.Reflection.Metadata"; version = "1.6.0"; sha256 = "1wdbavrrkajy7qbdblpbpbalbdl48q3h34cchz24gvdgyrlf15r4"; })
+  (fetchNuGet { name = "System.Reflection.Primitives"; version = "4.0.1"; sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28"; })
+  (fetchNuGet { name = "System.Reflection.Primitives"; version = "4.3.0"; sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; })
+  (fetchNuGet { name = "System.Reflection.TypeExtensions"; version = "4.1.0"; sha256 = "1bjli8a7sc7jlxqgcagl9nh8axzfl11f4ld3rjqsyxc516iijij7"; })
+  (fetchNuGet { name = "System.Reflection.TypeExtensions"; version = "4.3.0"; sha256 = "0y2ssg08d817p0vdag98vn238gyrrynjdj4181hdg780sif3ykp1"; })
+  (fetchNuGet { name = "System.Resources.ResourceManager"; version = "4.0.1"; sha256 = "0b4i7mncaf8cnai85jv3wnw6hps140cxz8vylv2bik6wyzgvz7bi"; })
+  (fetchNuGet { name = "System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; })
+  (fetchNuGet { name = "System.Runtime"; version = "4.1.0"; sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m"; })
+  (fetchNuGet { name = "System.Runtime"; version = "4.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; })
+  (fetchNuGet { name = "System.Runtime"; version = "4.3.1"; sha256 = "03ch4d2acf6q037a4njxpll2kkx3dwzlg07yxr4z5m6j1kqgmm27"; })
+  (fetchNuGet { name = "System.Runtime.CompilerServices.Unsafe"; version = "4.4.0"; sha256 = "0a6ahgi5b148sl5qyfpyw383p3cb4yrkm802k29fsi4mxkiwir29"; })
+  (fetchNuGet { name = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.0"; sha256 = "17labczwqk3jng3kkky73m0jhi8wc21vbl7cz5c0hj2p1dswin43"; })
+  (fetchNuGet { name = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.1"; sha256 = "1xcrjx5fwg284qdnxyi2d0lzdm5q4frlpkp0nf6vvkx1kdz2prrf"; })
+  (fetchNuGet { name = "System.Runtime.Extensions"; version = "4.1.0"; sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z"; })
+  (fetchNuGet { name = "System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; })
+  (fetchNuGet { name = "System.Runtime.Handles"; version = "4.0.1"; sha256 = "1g0zrdi5508v49pfm3iii2hn6nm00bgvfpjq1zxknfjrxxa20r4g"; })
+  (fetchNuGet { name = "System.Runtime.Handles"; version = "4.3.0"; sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; })
+  (fetchNuGet { name = "System.Runtime.InteropServices"; version = "4.1.0"; sha256 = "01kxqppx3dr3b6b286xafqilv4s2n0gqvfgzfd4z943ga9i81is1"; })
+  (fetchNuGet { name = "System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; })
+  (fetchNuGet { name = "System.Runtime.InteropServices.RuntimeInformation"; version = "4.0.0"; sha256 = "0glmvarf3jz5xh22iy3w9v3wyragcm4hfdr17v90vs7vcrm7fgp6"; })
+  (fetchNuGet { name = "System.Runtime.InteropServices.RuntimeInformation"; version = "4.3.0"; sha256 = "0q18r1sh4vn7bvqgd6dmqlw5v28flbpj349mkdish2vjyvmnb2ii"; })
+  (fetchNuGet { name = "System.Runtime.Numerics"; version = "4.0.1"; sha256 = "1y308zfvy0l5nrn46mqqr4wb4z1xk758pkk8svbz8b5ij7jnv4nn"; })
+  (fetchNuGet { name = "System.Runtime.Numerics"; version = "4.3.0"; sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z"; })
+  (fetchNuGet { name = "System.Runtime.Serialization.Formatters"; version = "4.3.0"; sha256 = "114j35n8gcvn3sqv9ar36r1jjq0y1yws9r0yk8i6wm4aq7n9rs0m"; })
+  (fetchNuGet { name = "System.Runtime.Serialization.Primitives"; version = "4.1.1"; sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k"; })
+  (fetchNuGet { name = "System.Runtime.Serialization.Primitives"; version = "4.3.0"; sha256 = "01vv2p8h4hsz217xxs0rixvb7f2xzbh6wv1gzbfykcbfrza6dvnf"; })
+  (fetchNuGet { name = "System.Security.AccessControl"; version = "4.5.0"; sha256 = "1wvwanz33fzzbnd2jalar0p0z3x0ba53vzx1kazlskp7pwyhlnq0"; })
+  (fetchNuGet { name = "System.Security.Claims"; version = "4.3.0"; sha256 = "0jvfn7j22l3mm28qjy3rcw287y9h65ha4m940waaxah07jnbzrhn"; })
+  (fetchNuGet { name = "System.Security.Cryptography.Algorithms"; version = "4.2.0"; sha256 = "148s9g5dgm33ri7dnh19s4lgnlxbpwvrw2jnzllq2kijj4i4vs85"; })
+  (fetchNuGet { name = "System.Security.Cryptography.Algorithms"; version = "4.3.0"; sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml"; })
+  (fetchNuGet { name = "System.Security.Cryptography.Cng"; version = "4.2.0"; sha256 = "118jijz446kix20blxip0f0q8mhsh9bz118mwc2ch1p6g7facpzc"; })
+  (fetchNuGet { name = "System.Security.Cryptography.Cng"; version = "4.3.0"; sha256 = "1k468aswafdgf56ab6yrn7649kfqx2wm9aslywjam1hdmk5yypmv"; })
+  (fetchNuGet { name = "System.Security.Cryptography.Cng"; version = "4.5.0"; sha256 = "1pm4ykbcz48f1hdmwpia432ha6qbb9kbrxrrp7cg3m8q8xn52ngn"; })
+  (fetchNuGet { name = "System.Security.Cryptography.Csp"; version = "4.0.0"; sha256 = "1cwv8lqj8r15q81d2pz2jwzzbaji0l28xfrpw29kdpsaypm92z2q"; })
+  (fetchNuGet { name = "System.Security.Cryptography.Csp"; version = "4.3.0"; sha256 = "1x5wcrddf2s3hb8j78cry7yalca4lb5vfnkrysagbn6r9x6xvrx1"; })
+  (fetchNuGet { name = "System.Security.Cryptography.Encoding"; version = "4.0.0"; sha256 = "0a8y1a5wkmpawc787gfmnrnbzdgxmx1a14ax43jf3rj9gxmy3vk4"; })
+  (fetchNuGet { name = "System.Security.Cryptography.Encoding"; version = "4.3.0"; sha256 = "1jr6w70igqn07k5zs1ph6xja97hxnb3mqbspdrff6cvssgrixs32"; })
+  (fetchNuGet { name = "System.Security.Cryptography.OpenSsl"; version = "4.0.0"; sha256 = "16sx3cig3d0ilvzl8xxgffmxbiqx87zdi8fc73i3i7zjih1a7f4q"; })
+  (fetchNuGet { name = "System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0givpvvj8yc7gv4lhb6s1prq6p2c4147204a0wib89inqzd87gqc"; })
+  (fetchNuGet { name = "System.Security.Cryptography.Pkcs"; version = "4.5.0"; sha256 = "16dhiz2qypk289dxiqa9rb7jmslnami6bykalv5dvbd8j91zikpy"; })
+  (fetchNuGet { name = "System.Security.Cryptography.Primitives"; version = "4.0.0"; sha256 = "0i7cfnwph9a10bm26m538h5xcr8b36jscp9sy1zhgifksxz4yixh"; })
+  (fetchNuGet { name = "System.Security.Cryptography.Primitives"; version = "4.3.0"; sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby"; })
+  (fetchNuGet { name = "System.Security.Cryptography.X509Certificates"; version = "4.1.0"; sha256 = "0clg1bv55mfv5dq00m19cp634zx6inm31kf8ppbq1jgyjf2185dh"; })
+  (fetchNuGet { name = "System.Security.Cryptography.X509Certificates"; version = "4.3.0"; sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h"; })
+  (fetchNuGet { name = "System.Security.Cryptography.Xml"; version = "4.5.0"; sha256 = "1rk40x0msf9k7sxnjyizagjns1z25dh3cf22bx6hsx6vhf0sk08l"; })
+  (fetchNuGet { name = "System.Security.Permissions"; version = "4.5.0"; sha256 = "192ww5rm3c9mirxgl1nzyrwd18am3izqls0hzm0fvcdjl5grvbhm"; })
+  (fetchNuGet { name = "System.Security.Principal"; version = "4.3.0"; sha256 = "12cm2zws06z4lfc4dn31iqv7072zyi4m910d4r6wm8yx85arsfxf"; })
+  (fetchNuGet { name = "System.Security.Principal.Windows"; version = "4.3.0"; sha256 = "00a0a7c40i3v4cb20s2cmh9csb5jv2l0frvnlzyfxh848xalpdwr"; })
+  (fetchNuGet { name = "System.Security.Principal.Windows"; version = "4.5.0"; sha256 = "0rmj89wsl5yzwh0kqjgx45vzf694v9p92r4x4q6yxldk1cv1hi86"; })
+  (fetchNuGet { name = "System.Text.Encoding"; version = "4.0.11"; sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw"; })
+  (fetchNuGet { name = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; })
+  (fetchNuGet { name = "System.Text.Encoding.CodePages"; version = "4.3.0"; sha256 = "0lgxg1gn7pg7j0f942pfdc9q7wamzxsgq3ng248ikdasxz0iadkv"; })
+  (fetchNuGet { name = "System.Text.Encoding.CodePages"; version = "4.7.1"; sha256 = "1y1hdap9qbl7vp74j8s9zcbh3v1rnrrvcc55wj1hl6has2v3qh1r"; })
+  (fetchNuGet { name = "System.Text.Encoding.CodePages"; version = "5.0.0"; sha256 = "1bn2pzaaq4wx9ixirr8151vm5hynn3lmrljcgjx9yghmm4k677k0"; })
+  (fetchNuGet { name = "System.Text.Encoding.Extensions"; version = "4.0.11"; sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs"; })
+  (fetchNuGet { name = "System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; })
+  (fetchNuGet { name = "System.Text.Encodings.Web"; version = "4.5.0"; sha256 = "0srd5bva52n92i90wd88pzrqjsxnfgka3ilybwh7s6sf469y5s53"; })
+  (fetchNuGet { name = "System.Text.Json"; version = "5.0.1"; sha256 = "1j7via4spxy73ipng754wdz1nb882gsb9qh26jqlql66vzbbm3j3"; })
+  (fetchNuGet { name = "System.Text.RegularExpressions"; version = "4.1.0"; sha256 = "1mw7vfkkyd04yn2fbhm38msk7dz2xwvib14ygjsb8dq2lcvr18y7"; })
+  (fetchNuGet { name = "System.Text.RegularExpressions"; version = "4.3.0"; sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l"; })
+  (fetchNuGet { name = "System.Threading"; version = "4.0.11"; sha256 = "19x946h926bzvbsgj28csn46gak2crv2skpwsx80hbgazmkgb1ls"; })
+  (fetchNuGet { name = "System.Threading"; version = "4.3.0"; sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; })
+  (fetchNuGet { name = "System.Threading.Tasks"; version = "4.0.11"; sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5"; })
+  (fetchNuGet { name = "System.Threading.Tasks"; version = "4.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; })
+  (fetchNuGet { name = "System.Threading.Tasks.Dataflow"; version = "5.0.0"; sha256 = "028fimgwn5j9fv6m547c975a8b90d9qcnb89k5crjyspsnjcqbhy"; })
+  (fetchNuGet { name = "System.Threading.Tasks.Extensions"; version = "4.0.0"; sha256 = "1cb51z062mvc2i8blpzmpn9d9mm4y307xrwi65di8ri18cz5r1zr"; })
+  (fetchNuGet { name = "System.Threading.Tasks.Extensions"; version = "4.3.0"; sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z"; })
+  (fetchNuGet { name = "System.Threading.Tasks.Extensions"; version = "4.5.1"; sha256 = "1ikrplvw4m6pzjbq3bfbpr572n4i9mni577zvmrkaygvx85q3myw"; })
+  (fetchNuGet { name = "System.Threading.Tasks.Parallel"; version = "4.3.0"; sha256 = "1rr3qa4hxwyj531s4nb3bwrxnxxwz617i0n9gh6x7nr7dd3ayzgh"; })
+  (fetchNuGet { name = "System.Threading.Thread"; version = "4.3.0"; sha256 = "0y2xiwdfcph7znm2ysxanrhbqqss6a3shi1z3c779pj2s523mjx4"; })
+  (fetchNuGet { name = "System.Threading.ThreadPool"; version = "4.3.0"; sha256 = "027s1f4sbx0y1xqw2irqn6x161lzj8qwvnh2gn78ciiczdv10vf1"; })
+  (fetchNuGet { name = "System.Threading.Timer"; version = "4.0.1"; sha256 = "15n54f1f8nn3mjcjrlzdg6q3520571y012mx7v991x2fvp73lmg6"; })
+  (fetchNuGet { name = "System.Threading.Timer"; version = "4.3.0"; sha256 = "1nx773nsx6z5whv8kaa1wjh037id2f1cxhb69pvgv12hd2b6qs56"; })
+  (fetchNuGet { name = "System.ValueTuple"; version = "4.3.0"; sha256 = "1227k7fxbxapq7dms4lvwwjdf3pr1jcsmhy2nzzhj6g6hs530hxn"; })
+  (fetchNuGet { name = "System.Xml.ReaderWriter"; version = "4.0.11"; sha256 = "0c6ky1jk5ada9m94wcadih98l6k1fvf6vi7vhn1msjixaha419l5"; })
+  (fetchNuGet { name = "System.Xml.ReaderWriter"; version = "4.3.0"; sha256 = "0c47yllxifzmh8gq6rq6l36zzvw4kjvlszkqa9wq3fr59n0hl3s1"; })
+  (fetchNuGet { name = "System.Xml.XDocument"; version = "4.0.11"; sha256 = "0n4lvpqzy9kc7qy1a4acwwd7b7pnvygv895az5640idl2y9zbz18"; })
+  (fetchNuGet { name = "System.Xml.XDocument"; version = "4.3.0"; sha256 = "08h8fm4l77n0nd4i4fk2386y809bfbwqb7ih9d7564ifcxr5ssxd"; })
+  (fetchNuGet { name = "System.Xml.XmlDocument"; version = "4.3.0"; sha256 = "0bmz1l06dihx52jxjr22dyv5mxv6pj4852lx68grjm7bivhrbfwi"; })
+  (fetchNuGet { name = "System.Xml.XPath"; version = "4.3.0"; sha256 = "1cv2m0p70774a0sd1zxc8fm8jk3i5zk2bla3riqvi8gsm0r4kpci"; })
+  (fetchNuGet { name = "System.Xml.XPath.XDocument"; version = "4.3.0"; sha256 = "1wxckyb7n1pi433xzz0qcwcbl1swpra64065mbwwi8dhdc4kiabn"; })
+  (fetchNuGet { name = "TagLibSharp"; version = "2.2.0"; sha256 = "0jb0f84p4jd59ha36spyk9q08g6fjap3xywq32rcs2xwzhhqiq0y"; })
+  (fetchNuGet { name = "TMDbLib"; version = "1.7.3-alpha"; sha256 = "1dfk646w1mn2yj0ali7dcanxqs8q3njprzpw0n2v8wgd53jpava1"; })
+  (fetchNuGet { name = "TvDbSharper"; version = "3.2.2"; sha256 = "0dkxcb7745y7wy8sdg7xic5idwwdmnp7k0x8v05f6s075a8m7nqz"; })
+  (fetchNuGet { name = "UTF.Unknown"; version = "2.3.0"; sha256 = "067hw460y36sfcpdfaw8lirn1hn2g4fvkpnih41nighzvmq1ixzf"; })
 ]
diff --git a/nixpkgs/pkgs/servers/jellyfin/update.sh b/nixpkgs/pkgs/servers/jellyfin/update.sh
index 09bcfecc019c..a725dc08fc98 100755
--- a/nixpkgs/pkgs/servers/jellyfin/update.sh
+++ b/nixpkgs/pkgs/servers/jellyfin/update.sh
@@ -1,5 +1,5 @@
 #!/usr/bin/env nix-shell
-#!nix-shell -i bash -p curl jq common-updater-scripts dotnetCorePackages.sdk_5_0 gnused nix coreutils findutils
+#!nix-shell -i bash -p curl jq common-updater-scripts dotnetCorePackages.sdk_5_0 nuget-to-nix gnused nix coreutils findutils
 
 set -euo pipefail
 
@@ -31,22 +31,7 @@ pushd "$src"
 mkdir ./nuget_tmp.packages
 dotnet restore Jellyfin.Server --packages ./nuget_tmp.packages --runtime linux-x64
 
-echo "# This file has been generated by the jellyfin updateScript. Do not edit!" >"$nugetDepsFile"
-echo "{ fetchNuGet }: [" >>"$nugetDepsFile"
-while read -r pkg_spec; do
-  { read -r pkg_name; read -r pkg_version; } < <(
-    # Build version part should be ignored: `3.0.0-beta2.20059.3+77df2220` -> `3.0.0-beta2.20059.3`
-    sed -nE 's/.*<id>([^<]*).*/\1/p; s/.*<version>([^<+]*).*/\1/p' "$pkg_spec")
-  pkg_sha256="$(nix-hash --type sha256 --flat --base32 "$(dirname "$pkg_spec")"/*.nupkg)"
-  cat >>"$nugetDepsFile" <<EOF
-  (fetchNuGet {
-    name = "$pkg_name";
-    version = "$pkg_version";
-    sha256 = "$pkg_sha256";
-  })
-EOF
-done < <(find ./nuget_tmp.packages -name '*.nuspec' | sort)
-echo "]" >>"$nugetDepsFile"
+nuget-to-nix ./nuget_tmp.packages > "$nugetDepsFile"
 
 popd
 rm -r "$src"
diff --git a/nixpkgs/pkgs/servers/keycloak/default.nix b/nixpkgs/pkgs/servers/keycloak/default.nix
index 8cfefcf9796d..cd8373f0842b 100644
--- a/nixpkgs/pkgs/servers/keycloak/default.nix
+++ b/nixpkgs/pkgs/servers/keycloak/default.nix
@@ -18,11 +18,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname   = "keycloak";
-  version = "14.0.0";
+  version = "15.0.2";
 
   src = fetchzip {
     url    = "https://github.com/keycloak/keycloak/releases/download/${version}/keycloak-${version}.zip";
-    sha256 = "sha256-NH2uNiYZZrEYE5DG2kDXzLN7/GgXR8IfBqRb6EoKA9s=";
+    sha256 = "sha256-GlnSsvAYBjRTtabMVrpWUH0EWEdLIe6ud+HIXJqTsqY=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/servers/klipper/default.nix b/nixpkgs/pkgs/servers/klipper/default.nix
index f120454ac84a..aa933b0fb660 100644
--- a/nixpkgs/pkgs/servers/klipper/default.nix
+++ b/nixpkgs/pkgs/servers/klipper/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   };
 
   # We have no LTO on i686 since commit 22284b0
-  postPatch = lib.optional stdenv.isi686 ''
+  postPatch = lib.optionalString stdenv.isi686 ''
     substituteInPlace chelper/__init__.py \
       --replace "-flto -fwhole-program " ""
   '';
diff --git a/nixpkgs/pkgs/servers/ldap/389/default.nix b/nixpkgs/pkgs/servers/ldap/389/default.nix
index 34bb901f6713..aa46426142bd 100644
--- a/nixpkgs/pkgs/servers/ldap/389/default.nix
+++ b/nixpkgs/pkgs/servers/ldap/389/default.nix
@@ -43,13 +43,13 @@
 
 stdenv.mkDerivation rec {
   pname = "389-ds-base";
-  version = "2.0.6";
+  version = "2.0.7";
 
   src = fetchFromGitHub {
     owner = "389ds";
     repo = pname;
     rev = "${pname}-${version}";
-    sha256 = "sha256-MYLRrH3PrNdPVuRffiG39zzJK6eHJcvIDWn1q0IHrZ8=";
+    sha256 = "sha256-aM1qo+yHrCFespPWHv2f25ooqQVCIZGaZS43dY6kiC4=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config doxygen ];
diff --git a/nixpkgs/pkgs/servers/libreddit/default.nix b/nixpkgs/pkgs/servers/libreddit/default.nix
new file mode 100644
index 000000000000..744b5efe2100
--- /dev/null
+++ b/nixpkgs/pkgs/servers/libreddit/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, stdenv
+, nixosTests
+, rustPlatform
+, fetchFromGitHub
+, Security
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "libreddit";
+  version = "0.14.14";
+
+  src = fetchFromGitHub {
+    owner = "spikecodes";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-duirX+X8moByV1urdgXjzTQ2zOfCfz7etzjDxkSKvhk=";
+  };
+
+  cargoSha256 = "sha256-pFCERBnN386rW8ajpLWUHteCTWRmEiR19Sp5d8HXc5Y=";
+
+  buildInputs = lib.optional stdenv.isDarwin Security;
+
+  passthru.tests = {
+    inherit (nixosTests) libreddit;
+  };
+
+  meta = with lib; {
+    description = "Private front-end for Reddit";
+    homepage = "https://github.com/spikecodes/libreddit";
+    license = with licenses; [ agpl3Only ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/servers/livepeer/default.nix b/nixpkgs/pkgs/servers/livepeer/default.nix
index ad67cdf4348c..c84dc85ef93e 100644
--- a/nixpkgs/pkgs/servers/livepeer/default.nix
+++ b/nixpkgs/pkgs/servers/livepeer/default.nix
@@ -4,16 +4,16 @@
 
 buildGoModule rec {
   pname = "livepeer";
-  version = "0.5.14";
+  version = "0.5.15";
 
   runVend = true;
-  vendorSha256 = "sha256-StkgU11VLEKg89kn3zPcdC8HBw9MmJrfDPGk1SUQO64=";
+  vendorSha256 = "sha256-PhkdbixJDA9Ym4cK5ALIYJgDQnO5GTbZ0XGsVHcvYYQ=";
 
   src = fetchFromGitHub {
     owner = "livepeer";
     repo = "go-livepeer";
     rev = "v${version}";
-    sha256 = "sha256-GxgpGI1ymhbYhzCP2Bs5wJ5kq5rHHkClXcAsYlaQ/AM=";
+    sha256 = "sha256-ZB80QssqN9SBpmYk/QgPRVF88qedmNeUG+EkjxWz4rQ=";
   };
 
   # livepeer_cli has a vendoring problem
diff --git a/nixpkgs/pkgs/servers/maddy/default.nix b/nixpkgs/pkgs/servers/maddy/default.nix
index 1a84cb98732f..c5fa1b5e670a 100644
--- a/nixpkgs/pkgs/servers/maddy/default.nix
+++ b/nixpkgs/pkgs/servers/maddy/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "maddy";
-  version = "0.4.4";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "foxcpp";
     repo = "maddy";
     rev = "v${version}";
-    sha256 = "sha256-IhVEb6tjfbWqhQdw1UYxy4I8my2L+eSOCd/BEz0qis0=";
+    sha256 = "sha256-SxJfuNZBtwaILF4zD4hrTANc/GlOG53XVwg3NvKYAkg=";
   };
 
-  vendorSha256 = "sha256-FrKWlZ3pQB+oo+rfHA8AgGRAr7YRUcb064bZGTDSKkk=";
+  vendorSha256 = "sha256-bxKEQaOubjRfLX+dMxVDzLOUInHykUdy9X8wvFE6Va4=";
 
-  buildFlagsArray = [ "-ldflags=-s -w -X github.com/foxcpp/maddy.Version=${version}" ];
+  ldflags = [ "-s" "-w" "-X github.com/foxcpp/maddy.Version=${version}" ];
 
   subPackages = [ "cmd/maddy" "cmd/maddyctl" ];
 
diff --git a/nixpkgs/pkgs/servers/mail/dovecot/default.nix b/nixpkgs/pkgs/servers/mail/dovecot/default.nix
index 0bd0a8707c04..6f5d065e488c 100644
--- a/nixpkgs/pkgs/servers/mail/dovecot/default.nix
+++ b/nixpkgs/pkgs/servers/mail/dovecot/default.nix
@@ -11,7 +11,7 @@
 
 stdenv.mkDerivation rec {
   pname = "dovecot";
-  version = "2.3.15";
+  version = "2.3.16";
 
   nativeBuildInputs = [ perl pkg-config ];
   buildInputs =
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://dovecot.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.gz";
-    sha256 = "141manrh54cy8xizr7f8fsa3vdzc2ccfgdz87l9rjylm8mfxvfr1";
+    sha256 = "04ngqv5mml5z0i4p7fkchp4xw2awy7x7mq2mim9frnav0m9iv9q3";
   };
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix b/nixpkgs/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix
index 33c66a46bb72..a13a7c104197 100644
--- a/nixpkgs/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix
+++ b/nixpkgs/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix
@@ -3,11 +3,11 @@ let
   dovecotMajorMinor = lib.versions.majorMinor dovecot.version;
 in stdenv.mkDerivation rec {
   pname = "dovecot-pigeonhole";
-  version = "0.5.15";
+  version = "0.5.16";
 
   src = fetchurl {
     url = "https://pigeonhole.dovecot.org/releases/${dovecotMajorMinor}/dovecot-${dovecotMajorMinor}-pigeonhole-${version}.tar.gz";
-    sha256 = "1l2h0p8ddsl3ja2lnwk0mfqplqh8n0iw8k27awd3ak7prr88yjg1";
+    sha256 = "0f79qsiqnhaxn7mrrfcrnsjyv6357kzb7wa0chhfd69vwa06g8sw";
   };
 
   buildInputs = [ dovecot openssl ];
diff --git a/nixpkgs/pkgs/servers/mail/mailhog/default.nix b/nixpkgs/pkgs/servers/mail/mailhog/default.nix
index 0032c4a630e9..d4c358ec47f5 100644
--- a/nixpkgs/pkgs/servers/mail/mailhog/default.nix
+++ b/nixpkgs/pkgs/servers/mail/mailhog/default.nix
@@ -13,7 +13,7 @@ buildGoPackage rec {
     sha256 = "124216850572r1h0ii7ad6jd1cd5czcvkz7k2jzvjb4pv2kl8p3y";
   };
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
+  ldflags = [ "-s" "-w" "-X main.version=${version}" ];
 
   meta = with lib; {
     description = "Web and API based SMTP testing";
diff --git a/nixpkgs/pkgs/servers/mail/postfix/default.nix b/nixpkgs/pkgs/servers/mail/postfix/default.nix
index 2fddaae47b28..6af262567720 100644
--- a/nixpkgs/pkgs/servers/mail/postfix/default.nix
+++ b/nixpkgs/pkgs/servers/mail/postfix/default.nix
@@ -23,22 +23,20 @@ let
      ++ lib.optional withLDAP "-lldap");
 
 in stdenv.mkDerivation rec {
-
   pname = "postfix";
-
-  version = "3.6.1";
+  version = "3.6.2";
 
   src = fetchurl {
-    url = "ftp://ftp.cs.uu.nl/mirror/postfix/postfix-release/official/${pname}-${version}.tar.gz";
-    sha256 = "sha256-IKgFYlYB57lZiSIIMsj6FM43TwcR2gVBiPjOxqkv1xw=";
+    url = "http://cdn.postfix.johnriley.me/mirrors/postfix-release/official/${pname}-${version}.tar.gz";
+    sha256 = "sha256-UHMj0g17P3BfSc+MB9Q3xtgJC+0H4Vo8DsQF7a1Up9Q=";
   };
 
   nativeBuildInputs = [ makeWrapper m4 ];
   buildInputs = [ db openssl cyrus_sasl icu libnsl pcre ]
-                ++ lib.optional withPgSQL postgresql
-                ++ lib.optional withMySQL libmysqlclient
-                ++ lib.optional withSQLite sqlite
-                ++ lib.optional withLDAP openldap;
+    ++ lib.optional withPgSQL postgresql
+    ++ lib.optional withMySQL libmysqlclient
+    ++ lib.optional withSQLite sqlite
+    ++ lib.optional withLDAP openldap;
 
   hardeningDisable = [ "format" ];
   hardeningEnable = [ "pie" ];
@@ -103,6 +101,6 @@ in stdenv.mkDerivation rec {
     description = "A fast, easy to administer, and secure mail server";
     license = with licenses; [ ipl10 epl20 ];
     platforms = platforms.linux;
-    maintainers = with maintainers; [ globin dotlambda ];
+    maintainers = with maintainers; [ globin dotlambda lewo ];
   };
 }
diff --git a/nixpkgs/pkgs/servers/mail/postsrsd/default.nix b/nixpkgs/pkgs/servers/mail/postsrsd/default.nix
index b61332be2432..67dbea9c470d 100644
--- a/nixpkgs/pkgs/servers/mail/postsrsd/default.nix
+++ b/nixpkgs/pkgs/servers/mail/postsrsd/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "postsrsd";
-  version = "1.10";
+  version = "1.11";
 
   src = fetchFromGitHub {
     owner = "roehling";
     repo = "postsrsd";
     rev = version;
-    sha256 = "sha256-AqOHHOnGqOnIw5hPPiJjUJFiwngTux7gwn8qig0t7hs=";
+    sha256 = "sha256-M1VtH+AToLh9J4zwIznInfFJzqmKElTvqAgI+qqL+Lw=";
   };
 
   cmakeFlags = [ "-DGENERATE_SRS_SECRET=OFF" "-DINIT_FLAVOR=systemd" ];
diff --git a/nixpkgs/pkgs/servers/mastodon/update.nix b/nixpkgs/pkgs/servers/mastodon/update.nix
index 28c0ff235e74..d7423b3e66c8 100644
--- a/nixpkgs/pkgs/servers/mastodon/update.nix
+++ b/nixpkgs/pkgs/servers/mastodon/update.nix
@@ -8,7 +8,6 @@ stdenv.mkDerivation rec {
     patchShebangs $out/bin/update.sh
     wrapProgram $out/bin/update.sh --prefix PATH : ${lib.makeBinPath buildInputs}
   '';
-  phases = [ "installPhase" ];
 
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ yarn2nix bundix coreutils diffutils nix-prefetch-github gnused jq ];
diff --git a/nixpkgs/pkgs/servers/mastodon/yarn.nix b/nixpkgs/pkgs/servers/mastodon/yarn.nix
index 01aa11cfcac0..be436875f979 100644
--- a/nixpkgs/pkgs/servers/mastodon/yarn.nix
+++ b/nixpkgs/pkgs/servers/mastodon/yarn.nix
@@ -1,4 +1,4 @@
-{ fetchurl, fetchgit, linkFarm, runCommandNoCC, gnutar }: rec {
+{ fetchurl, fetchgit, linkFarm, runCommand, gnutar }: rec {
   offline_cache = linkFarm "offline" packages;
   packages = [
     {
diff --git a/nixpkgs/pkgs/servers/matrix-appservice-discord/default.nix b/nixpkgs/pkgs/servers/matrix-appservice-discord/default.nix
index 7b7a67821f9e..5b0c8d10abb9 100644
--- a/nixpkgs/pkgs/servers/matrix-appservice-discord/default.nix
+++ b/nixpkgs/pkgs/servers/matrix-appservice-discord/default.nix
@@ -1,4 +1,4 @@
-{ lib, mkYarnPackage, fetchFromGitHub, runCommand, makeWrapper, python, nodejs }:
+{ lib, mkYarnPackage, fetchFromGitHub, runCommand, makeWrapper, python3, nodejs }:
 
 assert lib.versionAtLeast nodejs.version "12.0.0";
 
@@ -26,7 +26,7 @@ in mkYarnPackage rec {
 
   pkgConfig = {
     better-sqlite3 = {
-      buildInputs = [ python ];
+      buildInputs = [ python3 ];
       postInstall = ''
         # build native sqlite bindings
         npm run build-release --offline --nodedir="${nodeSources}"
diff --git a/nixpkgs/pkgs/servers/matrix-appservice-discord/yarn-dependencies.nix b/nixpkgs/pkgs/servers/matrix-appservice-discord/yarn-dependencies.nix
index 83923458bf2d..1d2246034e36 100644
--- a/nixpkgs/pkgs/servers/matrix-appservice-discord/yarn-dependencies.nix
+++ b/nixpkgs/pkgs/servers/matrix-appservice-discord/yarn-dependencies.nix
@@ -1,4 +1,4 @@
-{ fetchurl, fetchgit, linkFarm, runCommandNoCC, gnutar }: rec {
+{ fetchurl, fetchgit, linkFarm, runCommand, gnutar }: rec {
   offline_cache = linkFarm "offline" packages;
   packages = [
     {
@@ -683,7 +683,7 @@
           sha256 = "1iy8as2ax50xqp1bkqb18dspkdjw6qdmvz803xaijp14bwx0shja";
         };
       in
-        runCommandNoCC "git___github.com_Sorunome_better_discord.js.git" { buildInputs = [gnutar]; } ''
+        runCommand "git___github.com_Sorunome_better_discord.js.git" { buildInputs = [gnutar]; } ''
           # Set u+w because tar-fs can't unpack archives with read-only dirs
           # https://github.com/mafintosh/tar-fs/issues/79
           tar cf $out --mode u+w -C ${repo} .
@@ -1291,7 +1291,7 @@
           sha256 = "0p7hlgdyfcipfjjx5hxwkqd524cmys9yxgqx29wmqkgjxp8xgwhy";
         };
       in
-        runCommandNoCC "git___github.com_Sorunome_discord_markdown.git" { buildInputs = [gnutar]; } ''
+        runCommand "git___github.com_Sorunome_discord_markdown.git" { buildInputs = [gnutar]; } ''
           # Set u+w because tar-fs can't unpack archives with read-only dirs
           # https://github.com/mafintosh/tar-fs/issues/79
           tar cf $out --mode u+w -C ${repo} .
diff --git a/nixpkgs/pkgs/servers/matrix-corporal/default.nix b/nixpkgs/pkgs/servers/matrix-corporal/default.nix
index e489e774be5e..ae455168778f 100644
--- a/nixpkgs/pkgs/servers/matrix-corporal/default.nix
+++ b/nixpkgs/pkgs/servers/matrix-corporal/default.nix
@@ -11,8 +11,8 @@ buildGoModule rec {
     sha256 = "sha256-u1ppwy+t2ewAH0/+R6e0Ja5A3PQG/lUy2b6kgcMVj8E=";
   };
 
-  buildFlagsArray = [
-    "-ldflags=-s -w -X main.GitCommit=${version} -X main.GitBranch=${version} -X main.GitState=nixpkgs -X main.GitSummary=${version} -X main.Version=${version}"
+  ldflags = [
+    "-s" "-w" "-X main.GitCommit=${version}" "-X main.GitBranch=${version}" "-X main.GitState=nixpkgs" "-X main.GitSummary=${version}" "-X main.Version=${version}"
   ];
 
   vendorSha256 = "sha256-YmUiGsg2UZfV6SHEPwnbmWPhGQ5teV+we9MBaJyrJr4=";
diff --git a/nixpkgs/pkgs/servers/matrix-synapse/0001-setup-add-homeserver-as-console-script.patch b/nixpkgs/pkgs/servers/matrix-synapse/0001-setup-add-homeserver-as-console-script.patch
new file mode 100644
index 000000000000..eb70d21ed5cb
--- /dev/null
+++ b/nixpkgs/pkgs/servers/matrix-synapse/0001-setup-add-homeserver-as-console-script.patch
@@ -0,0 +1,33 @@
+From 36ffbb7ad2c535180cae473b470a43f9db4fbdcd Mon Sep 17 00:00:00 2001
+From: Maximilian Bosch <maximilian@mbosch.me>
+Date: Mon, 16 Aug 2021 13:27:28 +0200
+Subject: [PATCH] setup: add homeserver as console script
+
+With this change, it will be added to `$out/bin` in `nixpkgs` directly.
+This became necessary since our old workaround, calling it as script,
+doesn't work anymore since the shebangs were removed[1].
+
+[1] https://github.com/matrix-org/synapse/pull/10415
+---
+ setup.py | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/setup.py b/setup.py
+index c47856351..27f1d842c 100755
+--- a/setup.py
++++ b/setup.py
+@@ -133,6 +133,11 @@ setup(
+     long_description=long_description,
+     long_description_content_type="text/x-rst",
+     python_requires="~=3.6",
++    entry_points={
++        'console_scripts': [
++            'homeserver = synapse.app.homeserver:main'
++        ]
++    },
+     classifiers=[
+         "Development Status :: 5 - Production/Stable",
+         "Topic :: Communications :: Chat",
+-- 
+2.31.1
+
diff --git a/nixpkgs/pkgs/servers/matrix-synapse/default.nix b/nixpkgs/pkgs/servers/matrix-synapse/default.nix
index b2e61d506560..e94b05edf9d3 100644
--- a/nixpkgs/pkgs/servers/matrix-synapse/default.nix
+++ b/nixpkgs/pkgs/servers/matrix-synapse/default.nix
@@ -12,16 +12,15 @@ let
 in
 buildPythonApplication rec {
   pname = "matrix-synapse";
-  version = "1.38.1";
+  version = "1.41.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-bGKGzhuDjKaNbjXSwvidk9SrRmJsLQyLe5jps4DXN+s=";
+    sha256 = "1vaym6mxnwg2xdqjcigi2sb0kkdi0ly5d5ghakfsysxcfn08d1z8";
   };
 
   patches = [
-    # adds an entry point for the service
-    ./homeserver-script.patch
+    ./0001-setup-add-homeserver-as-console-script.patch
   ];
 
   buildInputs = [ openssl ];
@@ -41,7 +40,7 @@ buildPythonApplication rec {
     netaddr
     phonenumbers
     pillow
-    prometheus_client
+    prometheus-client
     psutil
     psycopg2
     pyasn1
diff --git a/nixpkgs/pkgs/servers/matrix-synapse/homeserver-script.patch b/nixpkgs/pkgs/servers/matrix-synapse/homeserver-script.patch
deleted file mode 100644
index 554a2c5f66c1..000000000000
--- a/nixpkgs/pkgs/servers/matrix-synapse/homeserver-script.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff --git a/homeserver b/homeserver
-new file mode 120000
-index 000000000..2f1d41351
---- /dev/null
-+++ b/homeserver
-@@ -0,0 +1 @@
-+synapse/app/homeserver.py
-\ No newline at end of file
-diff --git a/setup.py b/setup.py
-index 5ce06c898..f1ccd95bc 100755
---- a/setup.py
-+++ b/setup.py
-@@ -115,6 +115,6 @@ setup(
-         "Programming Language :: Python :: 3.6",
-         "Programming Language :: Python :: 3.7",
-     ],
--    scripts=["synctl"] + glob.glob("scripts/*"),
-+    scripts=["synctl", "homeserver"] + glob.glob("scripts/*"),
-     cmdclass={"test": TestCommand},
- )
--- 
-2.22.0
-
diff --git a/nixpkgs/pkgs/servers/matrix-synapse/matrix-appservice-irc/default.nix b/nixpkgs/pkgs/servers/matrix-synapse/matrix-appservice-irc/default.nix
index ab92c29ee3dc..7b5779b958d2 100644
--- a/nixpkgs/pkgs/servers/matrix-synapse/matrix-appservice-irc/default.nix
+++ b/nixpkgs/pkgs/servers/matrix-synapse/matrix-appservice-irc/default.nix
@@ -20,6 +20,7 @@ ourNodePackages."${packageName}".override {
   '';
 
   passthru.tests.matrix-appservice-irc = nixosTests.matrix-appservice-irc;
+  passthru.updateScript = ./update.sh;
 
   meta = with lib; {
     description = "Node.js IRC bridge for Matrix";
diff --git a/nixpkgs/pkgs/servers/matrix-synapse/matrix-appservice-irc/update.sh b/nixpkgs/pkgs/servers/matrix-synapse/matrix-appservice-irc/update.sh
new file mode 100755
index 000000000000..f6cf0c029765
--- /dev/null
+++ b/nixpkgs/pkgs/servers/matrix-synapse/matrix-appservice-irc/update.sh
@@ -0,0 +1,24 @@
+#!/usr/bin/env nix-shell
+#! nix-shell -i bash -p nodePackages.node2nix nodejs-12_x curl jq
+
+set -euo pipefail
+# cd to the folder containing this script
+cd "$(dirname "$0")"
+
+CURRENT_VERSION=$(nix eval --raw '(with import ../../../../. {}; matrix-appservice-irc.version)')
+TARGET_VERSION="$(curl https://api.github.com/repos/matrix-org/matrix-appservice-irc/releases/latest | jq -r ".tag_name")"
+
+if [[ "$CURRENT_VERSION" == "$TARGET_VERSION" ]]; then
+    echo "matrix-appservice-irc is up-to-date: ${CURRENT_VERSION}"
+    exit 0
+fi
+
+echo "matrix-appservice-irc: $CURRENT_VERSION -> $TARGET_VERSION"
+
+sed -i "s/#$CURRENT_VERSION/#$TARGET_VERSION/" package.json
+
+./generate-dependencies.sh
+
+# Apparently this is done by r-ryantm, so only uncomment for manual usage
+#git add ./package.json ./node-packages.nix
+#git commit -m "matrix-appservice-irc: ${CURRENT_VERSION} -> ${TARGET_VERSION}"
diff --git a/nixpkgs/pkgs/servers/matterbridge/default.nix b/nixpkgs/pkgs/servers/matterbridge/default.nix
index a3e898e048ab..575069cce82e 100644
--- a/nixpkgs/pkgs/servers/matterbridge/default.nix
+++ b/nixpkgs/pkgs/servers/matterbridge/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "matterbridge";
-  version = "1.22.2";
+  version = "1.22.3";
 
   src = fetchFromGitHub {
     owner = "42wim";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-H6Cy6yvX57QLNfZPeansZv6IJ4uQVqr0h24QsAlrLx8=";
+    sha256 = "sha256-YBIDNyjS8Si7A2Bciz5M8jY3JrgKOmlDPT0m5QM/9+Y=";
   };
 
   vendorSha256 = null;
diff --git a/nixpkgs/pkgs/servers/mattermost/default.nix b/nixpkgs/pkgs/servers/mattermost/default.nix
index 6a7ba06df885..14996cecc659 100644
--- a/nixpkgs/pkgs/servers/mattermost/default.nix
+++ b/nixpkgs/pkgs/servers/mattermost/default.nix
@@ -16,10 +16,9 @@ let
 
     goPackagePath = "github.com/mattermost/mattermost-server";
 
-    buildFlagsArray = ''
-      -ldflags=
-        -X ${goPackagePath}/model.BuildNumber=nixpkgs-${version}
-    '';
+    ldflags = [
+      "-X ${goPackagePath}/model.BuildNumber=nixpkgs-${version}"
+    ];
 
   };
 
diff --git a/nixpkgs/pkgs/servers/mattermost/matterircd.nix b/nixpkgs/pkgs/servers/mattermost/matterircd.nix
index af2f9e6af104..fa10d140e4b6 100644
--- a/nixpkgs/pkgs/servers/mattermost/matterircd.nix
+++ b/nixpkgs/pkgs/servers/mattermost/matterircd.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "matterircd";
-  version = "0.23.1";
+  version = "0.24.2";
 
   src = fetchFromGitHub {
     owner = "42wim";
     repo = "matterircd";
     rev = "v${version}";
-    sha256 = "sha256-1oItl0mLyAFah9qaaYl+IAT/H4X+GW82GBHYuLWacVI=";
+    sha256 = "sha256-SatnrRKYCngBZJwRNMad9Vt2xd7FktH79t3TB83cwhg=";
   };
 
   goPackagePath = "github.com/42wim/matterircd";
diff --git a/nixpkgs/pkgs/servers/mautrix-signal/default.nix b/nixpkgs/pkgs/servers/mautrix-signal/default.nix
index 76897d92820c..46f9bccceff6 100644
--- a/nixpkgs/pkgs/servers/mautrix-signal/default.nix
+++ b/nixpkgs/pkgs/servers/mautrix-signal/default.nix
@@ -2,13 +2,13 @@
 
 python3.pkgs.buildPythonPackage rec {
   pname = "mautrix-signal";
-  version = "unstable-2021-07-01";
+  version = "unstable-2021-08-12";
 
   src = fetchFromGitHub {
     owner = "tulir";
     repo = "mautrix-signal";
-    rev = "56eb24412fcafb4836f29375fba9cc6db1715d6f";
-    sha256 = "10nbfl48yb7h23znkxvkqh1dgp2xgldvxsigwfmwa1qbq0l4dljl";
+    rev = "a592baaaa6c9ab7ec29edc84f069b9e9e2fc1b03";
+    sha256 = "0rvidf4ah23x8m7k7hbkwm2xrs838wnli99gh99b5hr6fqmacbwl";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
@@ -19,7 +19,7 @@ python3.pkgs.buildPythonPackage rec {
     mautrix
     phonenumbers
     pillow
-    prometheus_client
+    prometheus-client
     pycryptodome
     python-olm
     python_magic
diff --git a/nixpkgs/pkgs/servers/mautrix-telegram/default.nix b/nixpkgs/pkgs/servers/mautrix-telegram/default.nix
index f54657db38f8..fd26dfd3fc5f 100644
--- a/nixpkgs/pkgs/servers/mautrix-telegram/default.nix
+++ b/nixpkgs/pkgs/servers/mautrix-telegram/default.nix
@@ -1,4 +1,6 @@
-{ lib, python3, mautrix-telegram, fetchFromGitHub }:
+{ lib, python3, mautrix-telegram, fetchFromGitHub
+, withE2BE ? true
+}:
 
 let
   python = python3.override {
@@ -21,22 +23,25 @@ let
 
 in python.pkgs.buildPythonPackage rec {
   pname = "mautrix-telegram";
-  version = "0.10.0";
+  version = "0.10.1";
   disabled = python.pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "tulir";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-lLVKD+/pKqs8oWBdyL+R1lk22LqQOC9nbMlxhCK39xA=";
+    sha256 = "sha256-1Dmc7WRlT2ivGkdrGDC1b44DE0ovQKfUR0gDiQE4h5c=";
   };
 
   patches = [ ./0001-Re-add-entrypoint.patch ./0002-Don-t-depend-on-pytest-runner.patch ];
   postPatch = ''
     sed -i -e '/alembic>/d' requirements.txt
+    substituteInPlace requirements.txt \
+      --replace "telethon>=1.22,<1.23" "telethon"
   '';
 
-  propagatedBuildInputs = with python.pkgs; [
+
+  propagatedBuildInputs = with python.pkgs; ([
     Mako
     aiohttp
     mautrix
@@ -49,7 +54,12 @@ in python.pkgs.buildPythonPackage rec {
     pillow
     lxml
     setuptools
-  ] ++ dbDrivers;
+  ] ++ lib.optionals withE2BE [
+    asyncpg
+    python-olm
+    pycryptodome
+    unpaddedbase64
+  ]) ++ dbDrivers;
 
   # `alembic` (a database migration tool) is only needed for the initial setup,
   # and not needed during the actual runtime. However `alembic` requires `mautrix-telegram`
diff --git a/nixpkgs/pkgs/servers/mautrix-whatsapp/default.nix b/nixpkgs/pkgs/servers/mautrix-whatsapp/default.nix
index a5b2f14e9d58..c2f9e206e9cb 100644
--- a/nixpkgs/pkgs/servers/mautrix-whatsapp/default.nix
+++ b/nixpkgs/pkgs/servers/mautrix-whatsapp/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "mautrix-whatsapp";
-  version = "0.1.7";
+  version = "0.1.8";
 
   src = fetchFromGitHub {
-    owner = "tulir";
-    repo = "mautrix-whatsapp";
+    owner = "mautrix";
+    repo = "whatsapp";
     rev = "v${version}";
-    sha256 = "sha256-PXahSrA+jBWreFhqCp1Ar9yYfIJGJfU2xH88Ax3fdkE=";
+    sha256 = "bFuJa4pKwqQmpJDqYwA97CjrTeQ1Q8V/pNqD0ff6x/U=";
   };
 
   buildInputs = [ olm ];
 
-  vendorSha256 = "sha256-Iscojrn6wVnweOQV1GvhZ4QjUdTfDLOsCP1hVR4u/b4=";
+  vendorSha256 = "NTORR0ixVozUllWlGziTUSJNy1zHoPWQMZbmPUchpQ0=";
 
   doCheck = false;
 
@@ -22,7 +22,7 @@ buildGoModule rec {
   meta = with lib; {
     homepage = "https://github.com/tulir/mautrix-whatsapp";
     description = "Matrix <-> Whatsapp hybrid puppeting/relaybot bridge";
-    license = licenses.agpl3;
+    license = licenses.agpl3Plus;
     maintainers = with maintainers; [ vskilet ma27 ];
   };
 }
diff --git a/nixpkgs/pkgs/servers/miniflux/default.nix b/nixpkgs/pkgs/servers/miniflux/default.nix
index f66468b240f8..fe61e5fc8b84 100644
--- a/nixpkgs/pkgs/servers/miniflux/default.nix
+++ b/nixpkgs/pkgs/servers/miniflux/default.nix
@@ -22,9 +22,9 @@ in buildGoModule {
     go test $(go list ./... | grep -v client)
   ''; # skip client tests as they require network access
 
-  buildFlagsArray = ''
-    -ldflags=-s -w -X miniflux.app/version.Version=${version}
-  '';
+  ldflags = [
+    "-s" "-w" "-X miniflux.app/version.Version=${version}"
+  ];
 
   postInstall = ''
     mv $out/bin/miniflux.app $out/bin/miniflux
diff --git a/nixpkgs/pkgs/servers/minio/default.nix b/nixpkgs/pkgs/servers/minio/default.nix
index d244abf2e68c..9293b4c48f01 100644
--- a/nixpkgs/pkgs/servers/minio/default.nix
+++ b/nixpkgs/pkgs/servers/minio/default.nix
@@ -15,26 +15,28 @@ let
 in
 buildGoModule rec {
   pname = "minio";
-  version = "2021-05-16T05-32-34Z";
+  version = "2021-08-25T00-41-18Z";
 
   src = fetchFromGitHub {
     owner = "minio";
     repo = "minio";
     rev = "RELEASE.${version}";
-    sha256 = "sha256-+zanqJMYNg/1c20cMm+bqVsW8VquucxEK5NiFAqOmS0=";
+    sha256 = "sha256-gwP1q+5vjgCnrnvWTxPC66fugVrilC1WbLk3SP4NXqA=";
   };
 
-  vendorSha256 = "sha256-5aDD68nugFyWsySLEj7LXAdtFXFKWnqfz+5zF5wC2qw=";
+  vendorSha256 = "sha256-JcgMJ6xz3h3YJ1zoSJLCWdWGmd12MPvxcIPX1ZbhpaM=";
 
   doCheck = false;
 
   subPackages = [ "." ];
 
-  preBuild = let t = "github.com/minio/minio/cmd"; in
-    ''
-      export CGO_ENABLED=0
-      buildFlagsArray+=("-tags" "kqueue" "-ldflags" "-s -w -X ${t}.Version=${versionToTimestamp version} -X ${t}.ReleaseTag=RELEASE.${version} -X ${t}.CommitID=${src.rev}")
-    '';
+  CGO_ENABLED = 0;
+
+  tags = [ "kqueue" ];
+
+  ldflags = let t = "github.com/minio/minio/cmd"; in [
+    "-s" "-w" "-X ${t}.Version=${versionToTimestamp version}" "-X ${t}.ReleaseTag=RELEASE.${version}" "-X ${t}.CommitID=${src.rev}"
+  ];
 
   passthru.tests.minio = nixosTests.minio;
 
diff --git a/nixpkgs/pkgs/servers/misc/gobgpd/default.nix b/nixpkgs/pkgs/servers/misc/gobgpd/default.nix
index 570b2b40c159..75bc9f8e6088 100644
--- a/nixpkgs/pkgs/servers/misc/gobgpd/default.nix
+++ b/nixpkgs/pkgs/servers/misc/gobgpd/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "gobgpd";
-  version = "2.29.0";
+  version = "2.30.0";
 
   src = fetchFromGitHub {
     owner = "osrg";
     repo = "gobgp";
     rev = "v${version}";
-    sha256 = "sha256-DhSIf8fAG2Zf0mwJ/iMgQU5sugHK2jJ6WJPbFbA/mhM=";
+    sha256 = "sha256-YerInFAUHFGEU0XSYeqKly9EiCq/uSjtMLnzI/ekSJ4=";
   };
 
   vendorSha256 = "sha256-PWm7XnO6LPaU8g8ymmqRkQv2KSX9kLv9RVaa000mrTY=";
@@ -17,10 +17,9 @@ buildGoModule rec {
     export CGO_ENABLED=0
   '';
 
-  buildFlagsArray = ''
-    -ldflags=
-    -s -w -extldflags '-static'
-  '';
+  ldflags = [
+    "-s" "-w" "-extldflags '-static'"
+  ];
 
   subPackages = [ "cmd/gobgpd" ];
 
diff --git a/nixpkgs/pkgs/servers/misc/navidrome/default.nix b/nixpkgs/pkgs/servers/misc/navidrome/default.nix
index 065184b77136..15c424394f2e 100644
--- a/nixpkgs/pkgs/servers/misc/navidrome/default.nix
+++ b/nixpkgs/pkgs/servers/misc/navidrome/default.nix
@@ -1,14 +1,14 @@
-{ lib, stdenv, fetchurl, ffmpeg, ffmpegSupport ? true, makeWrapper }:
+{ lib, stdenv, fetchurl, ffmpeg, ffmpegSupport ? true, makeWrapper, nixosTests }:
 
 with lib;
 
 stdenv.mkDerivation rec {
   pname = "navidrome";
-  version = "0.43.0";
+  version = "0.44.1";
 
   src = fetchurl {
     url = "https://github.com/deluan/navidrome/releases/download/v${version}/navidrome_${version}_Linux_x86_64.tar.gz";
-    sha256 = "0y7a5n8phffxga1bjkaf7x5ijripqg1nfjljkrrj26778550vqb5";
+    sha256 = "sha256-2lnj6aNLPeLwxgyRUQFOQJDsOSMu9Banez8RMMQs74Y=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -31,6 +31,8 @@ stdenv.mkDerivation rec {
       --prefix PATH : ${makeBinPath (optional ffmpegSupport ffmpeg)}
   '';
 
+  passthru.tests.navidrome = nixosTests.navidrome;
+
   meta = {
     description = "Navidrome Music Server and Streamer compatible with Subsonic/Airsonic";
     homepage = "https://www.navidrome.org/";
diff --git a/nixpkgs/pkgs/servers/misc/subsonic/default.nix b/nixpkgs/pkgs/servers/misc/subsonic/default.nix
index 4c5ea3fe6c6c..8e04dcb1cb98 100644
--- a/nixpkgs/pkgs/servers/misc/subsonic/default.nix
+++ b/nixpkgs/pkgs/servers/misc/subsonic/default.nix
@@ -33,6 +33,4 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ telotortium ];
     platforms = platforms.unix;
   };
-
-  phases = ["unpackPhase" "installPhase"];
 }
diff --git a/nixpkgs/pkgs/servers/monitoring/alertmanager-bot/default.nix b/nixpkgs/pkgs/servers/monitoring/alertmanager-bot/default.nix
index 9fb364de1915..2d36dcb8e1d5 100644
--- a/nixpkgs/pkgs/servers/monitoring/alertmanager-bot/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/alertmanager-bot/default.nix
@@ -17,11 +17,9 @@ buildGoModule rec {
     sed "s;/templates/default.tmpl;$out/share&;" -i cmd/alertmanager-bot/main.go
   '';
 
-  preBuild = ''
-    export buildFlagsArray=(
-      "-ldflags=-s -w -X main.Version=v${version} -X main.Revision=${src.rev}"
-    )
-  '';
+  ldflags = [
+    "-s" "-w" "-X main.Version=v${version}" "-X main.Revision=${src.rev}"
+  ];
 
   postInstall = ''
     install -Dm644 -t $out/share/templates $src/default.tmpl
diff --git a/nixpkgs/pkgs/servers/monitoring/alertmanager-irc-relay/default.nix b/nixpkgs/pkgs/servers/monitoring/alertmanager-irc-relay/default.nix
index f5d4f6ca88f3..5a2fcc4a8976 100644
--- a/nixpkgs/pkgs/servers/monitoring/alertmanager-irc-relay/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/alertmanager-irc-relay/default.nix
@@ -13,7 +13,7 @@ buildGoModule rec {
 
   vendorSha256 = "sha256-VLG15IXS/fXFMTCJKEqGW6qZ9aOLPhazidVsOywG+w4=";
 
-  buildFlagsArray = [ "-ldflags=-s -w" ];
+  ldflags = [ "-s" "-w" ];
 
   meta = with lib; {
     description = "Alertmanager IRC Relay is a bot relaying Prometheus alerts to IRC";
diff --git a/nixpkgs/pkgs/servers/monitoring/cadvisor/default.nix b/nixpkgs/pkgs/servers/monitoring/cadvisor/default.nix
index 8501aa5e02cd..2db3cd084470 100644
--- a/nixpkgs/pkgs/servers/monitoring/cadvisor/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/cadvisor/default.nix
@@ -15,7 +15,7 @@ buildGoModule rec {
 
   vendorSha256 = "sha256-FMO+wNmjFFD9+/9mhNcyZftk8ryhwFXDZeEy/h5EMWc=";
 
-  buildFlagsArray = [ "-ldflags=-s -w -X github.com/google/cadvisor/version.Version=${version}" ];
+  ldflags = [ "-s" "-w" "-X github.com/google/cadvisor/version.Version=${version}" ];
 
   postInstall = ''
     mv $out/bin/{cmd,cadvisor}
diff --git a/nixpkgs/pkgs/servers/monitoring/do-agent/default.nix b/nixpkgs/pkgs/servers/monitoring/do-agent/default.nix
index d6e3accdf41d..5f70bf702a6b 100644
--- a/nixpkgs/pkgs/servers/monitoring/do-agent/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/do-agent/default.nix
@@ -11,10 +11,9 @@ buildGoModule rec {
     sha256 = "sha256-boEgCC3uWvJvb6VKpNhh6vHCfeE7oun5oneI2ITKh9g=";
   };
 
-  buildFlagsArray = ''
-    -ldflags=
-      -X main.version=${version}
-  '';
+  ldflags = [
+    "-X main.version=${version}"
+  ];
 
   vendorSha256 = null;
 
diff --git a/nixpkgs/pkgs/servers/monitoring/grafana-agent/default.nix b/nixpkgs/pkgs/servers/monitoring/grafana-agent/default.nix
index c772b76cf031..c7c3fb37b702 100644
--- a/nixpkgs/pkgs/servers/monitoring/grafana-agent/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/grafana-agent/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "grafana-agent";
-  version = "0.16.1";
+  version = "0.18.2";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "grafana";
     repo = "agent";
-    sha256 = "0kqbn6fqlrxjqdkkhbr7qmm2m05a7dlskfdb7y4gr5ggi65m6ik5";
+    sha256 = "sha256-yTCFMnOSRgMqL9KD26cYeJcQ1rrUBOf8I+i7IPExP9I=";
   };
 
-  vendorSha256 = "0xi69a1zkcmi5q8m7lfwp3xb4cbkwc2dzqm24lfqsq13xj5jq6ph";
+  vendorSha256 = "sha256-MZGOZB/mS3pmZuI35E/QkaNLLhbuW2DfZiih9OCXMj0=";
 
   patches = [
     # https://github.com/grafana/agent/issues/731
diff --git a/nixpkgs/pkgs/servers/monitoring/grafana-image-renderer/default.nix b/nixpkgs/pkgs/servers/monitoring/grafana-image-renderer/default.nix
index fab8d4b0096b..a87d30d73570 100644
--- a/nixpkgs/pkgs/servers/monitoring/grafana-image-renderer/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/grafana-image-renderer/default.nix
@@ -9,7 +9,7 @@
 # * Update `version`+`hash` and rebuild.
 
 mkYarnPackage rec {
-  name = "grafana-image-renderer";
+  pname = "grafana-image-renderer";
   version = "3.0.0";
 
   src = fetchFromGitHub {
diff --git a/nixpkgs/pkgs/servers/monitoring/grafana-image-renderer/yarn.nix b/nixpkgs/pkgs/servers/monitoring/grafana-image-renderer/yarn.nix
index 7eb3a3bb8a76..5cec9f36ef28 100644
--- a/nixpkgs/pkgs/servers/monitoring/grafana-image-renderer/yarn.nix
+++ b/nixpkgs/pkgs/servers/monitoring/grafana-image-renderer/yarn.nix
@@ -1,4 +1,4 @@
-{ fetchurl, fetchgit, linkFarm, runCommandNoCC, gnutar }: rec {
+{ fetchurl, fetchgit, linkFarm, runCommand, gnutar }: rec {
   offline_cache = linkFarm "offline" packages;
   packages = [
     {
diff --git a/nixpkgs/pkgs/servers/monitoring/grafana/default.nix b/nixpkgs/pkgs/servers/monitoring/grafana/default.nix
index 2c8ba20f6d41..996637f51b9e 100644
--- a/nixpkgs/pkgs/servers/monitoring/grafana/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/grafana/default.nix
@@ -2,23 +2,23 @@
 
 buildGoModule rec {
   pname = "grafana";
-  version = "8.0.6";
+  version = "8.1.2";
 
-  excludedPackages = "\\(alert_webhook_listener\\|clean-swagger\\|release_publisher\\|slow_proxy\\|slow_proxy_mac\\)";
+  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-incw/Uv1Jeg/WAkWUgJGvdJ2OpZYfkCAvgLW/qXWXEo=";
+    sha256 = "sha256-xlERuPkhPEHbfX7bVoc9CjqYe/P0Miiyu5c067LLS1M=";
   };
 
   srcStatic = fetchurl {
     url = "https://dl.grafana.com/oss/release/grafana-${version}.linux-amd64.tar.gz";
-    sha256 = "sha256-JSpNAi9NvZpo0HzdDmdi1i+lNGLylHgctT6PPWHNhkk=";
+    sha256 = "sha256-0fzCwkVHrBFiSKxvyTK0Xu8wHpyo58u+a9c7daaUCc0=";
   };
 
-  vendorSha256 = "sha256-72i2NgulRpdBZ9dwx+0VlKDzzNnBJgEKKizrLPwzUY4=";
+  vendorSha256 = "sha256-DFD6orsM5oDOLgHbCbrD+zNKVGbQT3Izm1VtNCZO40I=";
 
   preBuild = ''
     # The testcase makes an API call against grafana.com:
@@ -43,9 +43,9 @@ buildGoModule rec {
     rm -r scripts/go
   '';
 
-  buildFlagsArray = ''
-    -ldflags=-s -w -X main.version=${version}
-  '';
+  ldflags = [
+    "-s" "-w" "-X main.version=${version}"
+  ];
 
   postInstall = ''
     tar -xvf $srcStatic
diff --git a/nixpkgs/pkgs/servers/monitoring/grafana/plugins/grafadruid-druid-datasource/default.nix b/nixpkgs/pkgs/servers/monitoring/grafana/plugins/grafadruid-druid-datasource/default.nix
new file mode 100644
index 000000000000..9f1d501d23fd
--- /dev/null
+++ b/nixpkgs/pkgs/servers/monitoring/grafana/plugins/grafadruid-druid-datasource/default.nix
@@ -0,0 +1,13 @@
+{ grafanaPlugin, lib }:
+
+grafanaPlugin rec {
+  pname = "grafadruid-druid-datasource";
+  version = "1.2.0";
+  zipHash = "sha256-DPeyV2jZquSQcSE+HzvxArWEefs9bFNPjZwDFp+dIjg=";
+  meta = with lib; {
+    description = "Connects Grafana to Druid";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ nukaduka ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/servers/monitoring/grafana/plugins/grafana-polystat-panel/default.nix b/nixpkgs/pkgs/servers/monitoring/grafana/plugins/grafana-polystat-panel/default.nix
index 85b4c7069a9a..0ef214975979 100644
--- a/nixpkgs/pkgs/servers/monitoring/grafana/plugins/grafana-polystat-panel/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/grafana/plugins/grafana-polystat-panel/default.nix
@@ -2,8 +2,8 @@
 
 grafanaPlugin rec {
   pname = "grafana-polystat-panel";
-  version = "1.2.5";
-  zipHash = "sha256-U9vNfK4ofNzwL7MVe43tGY85gI56Jt1eb7TrCkeNrOQ=";
+  version = "1.2.6";
+  zipHash = "sha256-gbMD2o8A2YYZzkpYiXNkv8Oj958RP47fL6DXj1SBYF0=";
   meta = with lib; {
     description = "Hexagonal multi-stat panel for Grafana";
     license = licenses.asl20;
diff --git a/nixpkgs/pkgs/servers/monitoring/grafana/plugins/plugins.nix b/nixpkgs/pkgs/servers/monitoring/grafana/plugins/plugins.nix
index d763f14c75a1..a99a71cffd1c 100644
--- a/nixpkgs/pkgs/servers/monitoring/grafana/plugins/plugins.nix
+++ b/nixpkgs/pkgs/servers/monitoring/grafana/plugins/plugins.nix
@@ -5,6 +5,7 @@
   grafanaPlugin = callPackage ./grafana-plugin.nix { };
 
   doitintl-bigquery-datasource = callPackage ./doitintl-bigquery-datasource { };
+  grafadruid-druid-datasource = callPackage ./grafadruid-druid-datasource { };
   grafana-clock-panel = callPackage ./grafana-clock-panel { };
   grafana-piechart-panel = callPackage ./grafana-piechart-panel { };
   grafana-polystat-panel = callPackage ./grafana-polystat-panel { };
diff --git a/nixpkgs/pkgs/servers/monitoring/heapster/default.nix b/nixpkgs/pkgs/servers/monitoring/heapster/default.nix
index 2460cc633ebe..d1205ae353b2 100644
--- a/nixpkgs/pkgs/servers/monitoring/heapster/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/heapster/default.nix
@@ -2,7 +2,8 @@
 
 buildGoPackage rec {
   rev = "3057a2c07061c8d9ffaf77e5442ffd7512ac0133";
-  name = "heapster-${lib.strings.substring 0 7 rev}";
+  pname = "heapster";
+  version = lib.strings.substring 0 7 rev;
   goPackagePath = "k8s.io/heapster";
   subPackages = [ "./" ];
 
diff --git a/nixpkgs/pkgs/servers/monitoring/icinga2/default.nix b/nixpkgs/pkgs/servers/monitoring/icinga2/default.nix
index 44c512196c65..7079ae4ff8db 100644
--- a/nixpkgs/pkgs/servers/monitoring/icinga2/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/icinga2/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "icinga2${nameSuffix}";
-  version = "2.12.4";
+  version = "2.13.1";
 
   src = fetchFromGitHub {
     owner = "icinga";
     repo = "icinga2";
     rev = "v${version}";
-    sha256 = "sha256-SJBOZzLbmW4525G3w6BVS53kOd2bJ5rEbwwb4Lo5q8I=";
+    sha256 = "sha256-cGVUNO3p00bkPd4tPbipevuixHz8ptk6W8y1rl3dge8=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/servers/monitoring/loki/default.nix b/nixpkgs/pkgs/servers/monitoring/loki/default.nix
index 83150e424758..d23a873ccecb 100644
--- a/nixpkgs/pkgs/servers/monitoring/loki/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/loki/default.nix
@@ -8,14 +8,14 @@
 }:
 
 buildGoModule rec {
-  version = "2.2.1";
+  version = "2.3.0";
   pname = "grafana-loki";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "grafana";
     repo = "loki";
-    sha256 = "sha256-ujZD5GIgMewvEQW3Wnt0eHdMIFs77PkkEecgCDw9290=";
+    sha256 = "sha256-Cxg3VRF4p/Kb6LyreGV0g+zPr15wplritSZgkbTiDI0=";
   };
 
   vendorSha256 = null;
@@ -24,7 +24,7 @@ buildGoModule rec {
     # TODO split every executable into its own package
     "cmd/loki"
     "cmd/loki-canary"
-    "cmd/promtail"
+    "clients/cmd/promtail"
     "cmd/logcli"
   ];
 
@@ -38,16 +38,21 @@ buildGoModule rec {
 
   passthru.tests = { inherit (nixosTests) loki; };
 
-  buildFlagsArray = let t = "github.com/grafana/loki/pkg/build"; in
-    ''
-      -ldflags=-s -w -X ${t}.Version=${version} -X ${t}.BuildUser=nix@nixpkgs -X ${t}.BuildDate=unknown -X ${t}.Branch=unknown -X ${t}.Revision=unknown
-    '';
+  ldflags = let t = "github.com/grafana/loki/pkg/util/build"; in [
+    "-s"
+    "-w"
+    "-X ${t}.Version=${version}"
+    "-X ${t}.BuildUser=nix@nixpkgs"
+    "-X ${t}.BuildDate=unknown"
+    "-X ${t}.Branch=unknown"
+    "-X ${t}.Revision=unknown"
+  ];
 
   doCheck = true;
 
   meta = with lib; {
     description = "Like Prometheus, but for logs";
-    license = licenses.asl20;
+    license = with licenses; [ agpl3Only asl20 ];
     homepage = "https://grafana.com/oss/loki/";
     maintainers = with maintainers; [ willibutz globin mmahut ];
     platforms = platforms.unix;
diff --git a/nixpkgs/pkgs/servers/monitoring/mackerel-agent/default.nix b/nixpkgs/pkgs/servers/monitoring/mackerel-agent/default.nix
index 988d502e1432..21776c352af1 100644
--- a/nixpkgs/pkgs/servers/monitoring/mackerel-agent/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/mackerel-agent/default.nix
@@ -2,28 +2,27 @@
 
 buildGoModule rec {
   pname = "mackerel-agent";
-  version = "0.71.2";
+  version = "0.72.1";
 
   src = fetchFromGitHub {
     owner = "mackerelio";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-O67xzL4avCOh2x6qJCScOWR2TS1hfP5S6jHHELNbZWQ=";
+    sha256 = "sha256-pUbZY+TjSZNOrmRarYVUDI0HoIUMY0LacdFSdqQ/7D4=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
   checkInputs = lib.optionals (!stdenv.isDarwin) [ nettools ];
   buildInputs = lib.optionals (!stdenv.isDarwin) [ iproute2 ];
 
-  vendorSha256 = "sha256-iFWQoAnB0R6XwjdPvOWJdNTmEZ961zE51vDrmZ7r4Jk=";
+  vendorSha256 = "sha256-trVfF4voye6CQ5WK78yBT86fgSUFyxaCtsZx6kXgYGE=";
 
   subPackages = [ "." ];
 
-  buildFlagsArray = ''
-    -ldflags=
-    -X=main.version=${version}
-    -X=main.gitcommit=v${version}
-  '';
+  ldflags = [
+    "-X=main.version=${version}"
+    "-X=main.gitcommit=v${version}"
+  ];
 
   postInstall = ''
     wrapProgram $out/bin/mackerel-agent \
diff --git a/nixpkgs/pkgs/servers/monitoring/mtail/default.nix b/nixpkgs/pkgs/servers/monitoring/mtail/default.nix
index c0a7e1129a14..e5a3179a86c0 100644
--- a/nixpkgs/pkgs/servers/monitoring/mtail/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/mtail/default.nix
@@ -21,8 +21,8 @@ buildGoModule rec {
     go generate -x ./internal/vm/
   '';
 
-  buildFlagsArray = [
-    "-ldflags=-X main.Version=${version}"
+  ldflags = [
+    "-X main.Version=${version}"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/servers/monitoring/munin/default.nix b/nixpkgs/pkgs/servers/monitoring/munin/default.nix
index c25c23671ba9..ac9b015480ee 100644
--- a/nixpkgs/pkgs/servers/monitoring/munin/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/munin/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub, makeWrapper, which, coreutils, rrdtool, perlPackages
-, python, ruby, jre, nettools, bc
+, python2, ruby, jre, nettools, bc
 }:
 
 stdenv.mkDerivation rec {
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
     perlPackages.ListMoreUtils
     perlPackages.LWP
     perlPackages.DBDPg
-    python
+    python2
     ruby
     jre
     # tests
@@ -54,7 +54,7 @@ stdenv.mkDerivation rec {
   # needs to find a local perl module during build
   PERL_USE_UNSAFE_INC = "1";
 
-  # TODO: tests are failing http://munin-monitoring.org/ticket/1390#comment:1
+  # TODO: tests are failing https://munin-monitoring.org/ticket/1390#comment:1
   # NOTE: important, test command always exits with 0, think of a way to abort the build once tests pass
   doCheck = false;
 
@@ -97,7 +97,7 @@ stdenv.mkDerivation rec {
     "DESTDIR=$(out)"
     "PERLLIB=$(out)/${perlPackages.perl.libPrefix}"
     "PERL=${perlPackages.perl.outPath}/bin/perl"
-    "PYTHON=${python.outPath}/bin/python"
+    "PYTHON=${python2.outPath}/bin/python"
     "RUBY=${ruby.outPath}/bin/ruby"
     "JAVARUN=${jre.outPath}/bin/java"
     "PLUGINUSER=munin"
@@ -134,7 +134,7 @@ stdenv.mkDerivation rec {
       interface. Munin can help analyze resource trends and 'what just happened
       to kill our performance?' problems.
     '';
-    homepage = "http://munin-monitoring.org/";
+    homepage = "https://munin-monitoring.org/";
     license = licenses.gpl2;
     maintainers = [ maintainers.bjornfor ];
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/alertmanager.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/alertmanager.nix
index bc3cf7539ece..251c977bd4df 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/alertmanager.nix
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/alertmanager.nix
@@ -14,15 +14,14 @@ buildGoPackage rec {
     sha256 = "0zrzyaqs73pz4rmj4xaj15x4n1542m0nb7jqm2j77k07j75r5w41";
   };
 
-  buildFlagsArray = let t = "${goPackagePath}/vendor/github.com/prometheus/common/version"; in ''
-    -ldflags=
-       -X ${t}.Version=${version}
-       -X ${t}.Revision=${src.rev}
-       -X ${t}.Branch=unknown
-       -X ${t}.BuildUser=nix@nixpkgs
-       -X ${t}.BuildDate=unknown
-       -X ${t}.GoVersion=${lib.getVersion go}
-  '';
+  ldflags = let t = "${goPackagePath}/vendor/github.com/prometheus/common/version"; in [
+    "-X ${t}.Version=${version}"
+    "-X ${t}.Revision=${src.rev}"
+    "-X ${t}.Branch=unknown"
+    "-X ${t}.BuildUser=nix@nixpkgs"
+    "-X ${t}.BuildDate=unknown"
+    "-X ${t}.GoVersion=${lib.getVersion go}"
+  ];
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/artifactory-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/artifactory-exporter.nix
index 5e7d386d7e1c..a91a267bb210 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/artifactory-exporter.nix
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/artifactory-exporter.nix
@@ -16,14 +16,13 @@ buildGoModule rec {
 
   subPackages = [ "." ];
 
-  buildFlagsArray = ''
-     -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=master
-      -X github.com/prometheus/common/version.BuildDate=19700101-00:00:00
-  '';
+  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=master"
+    "-X github.com/prometheus/common/version.BuildDate=19700101-00:00:00"
+  ];
 
   passthru.tests = { inherit (nixosTests.prometheus-exporters) artifactory; };
 
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/bitcoin-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/bitcoin-exporter.nix
index 333be3732112..f2d50fe85014 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/bitcoin-exporter.nix
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/bitcoin-exporter.nix
@@ -22,7 +22,7 @@ python3Packages.buildPythonApplication rec {
     })
   ];
 
-  propagatedBuildInputs = with python3Packages; [ prometheus_client bitcoinlib riprova ];
+  propagatedBuildInputs = with python3Packages; [ prometheus-client bitcoinlib riprova ];
 
   installPhase = ''
     mkdir -p $out/bin
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/default.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/default.nix
index b87817af439c..19136a397785 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/default.nix
@@ -1,4 +1,10 @@
-{ stdenv, lib, go, buildGoModule, fetchFromGitHub, mkYarnPackage, nixosTests
+{ stdenv
+, lib
+, go
+, buildGoModule
+, fetchFromGitHub
+, mkYarnPackage
+, nixosTests
 , fetchpatch
 }:
 
@@ -27,7 +33,8 @@ let
     installPhase = "mv build $out";
     distPhase = "true";
   };
-in buildGoModule rec {
+in
+buildGoModule rec {
   pname = "prometheus";
   inherit src version;
 
@@ -40,20 +47,20 @@ in buildGoModule rec {
     ln -s ${webui} web/ui/static/react
   '';
 
-  buildFlags = "-tags=builtinassets";
-  buildFlagsArray = let
-    t = "${goPackagePath}/vendor/github.com/prometheus/common/version";
-  in [
-    ''
-      -ldflags=
-         -X ${t}.Version=${version}
-         -X ${t}.Revision=unknown
-         -X ${t}.Branch=unknown
-         -X ${t}.BuildUser=nix@nixpkgs
-         -X ${t}.BuildDate=unknown
-         -X ${t}.GoVersion=${lib.getVersion go}
-    ''
-  ];
+  tags = [ "builtinassets" ];
+
+  ldflags =
+    let
+      t = "${goPackagePath}/vendor/github.com/prometheus/common/version";
+    in
+    [
+      "-X ${t}.Version=${version}"
+      "-X ${t}.Revision=unknown"
+      "-X ${t}.Branch=unknown"
+      "-X ${t}.BuildUser=nix@nixpkgs"
+      "-X ${t}.BuildDate=unknown"
+      "-X ${t}.GoVersion=${lib.getVersion go}"
+    ];
 
   # only run this in the real build, not during the vendor build
   # this should probably be fixed in buildGoModule
@@ -67,7 +74,8 @@ in buildGoModule rec {
     cp -a $src/console_libraries $src/consoles $out/etc/prometheus
   '';
 
-  doCheck = !stdenv.isDarwin; # https://hydra.nixos.org/build/130673870/nixlog/1
+  # doCheck = !stdenv.isDarwin; # https://hydra.nixos.org/build/130673870/nixlog/1
+  doCheck = false;
 
   passthru.tests = { inherit (nixosTests) prometheus; };
 
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/fritzbox-exporter-deps.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/fritzbox-exporter-deps.nix
deleted file mode 100644
index 2d94ffeba26a..000000000000
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/fritzbox-exporter-deps.nix
+++ /dev/null
@@ -1,93 +0,0 @@
-# This file was generated by https://github.com/kamilchm/go2nix v1.3.0
-[
-  {
-    goPackagePath = "github.com/123Haynes/go-http-digest-auth-client";
-    fetch = {
-      type = "git";
-      url = "https://github.com/123Haynes/go-http-digest-auth-client";
-      rev = "4c2ff1556cab0c8c14069d8d116c34db59c50c54";
-      sha256 = "0hpynnvwlxcdrrplvzibqk3179lzwkv8zlp03r6cd1vsd28b11ja";
-    };
-  }
-  {
-    goPackagePath = "github.com/beorn7/perks";
-    fetch = {
-      type = "git";
-      url = "https://github.com/beorn7/perks";
-      rev = "4b2b341e8d7715fae06375aa633dbb6e91b3fb46";
-      sha256 = "1i1nz1f6g55xi2y3aiaz5kqfgvknarbfl4f0sx4nyyb4s7xb1z9x";
-    };
-  }
-  {
-    goPackagePath = "github.com/golang/protobuf";
-    fetch = {
-      type = "git";
-      url = "https://github.com/golang/protobuf";
-      rev = "e91709a02e0e8ff8b86b7aa913fdc9ae9498e825";
-      sha256 = "16arbb7nwvs7lkpr7i9vrv8mk9h77zd3blzp3z9b0infqla4ddzc";
-    };
-  }
-  {
-    goPackagePath = "github.com/matttproud/golang_protobuf_extensions";
-    fetch = {
-      type = "git";
-      url = "https://github.com/matttproud/golang_protobuf_extensions";
-      rev = "c182affec369e30f25d3eb8cd8a478dee585ae7d";
-      sha256 = "1xqsf9vpcrd4hp95rl6kgmjvkv1df4aicfw4l5vfcxcwxknfx2xs";
-    };
-  }
-  {
-    goPackagePath = "github.com/mxschmitt/golang-env-struct";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mxschmitt/golang-env-struct";
-      rev = "0c54aeca83972d1c7adf812b37dc53a6cbf58fb7";
-      sha256 = "19h840xhkglxwfbwx6w1qyndzg775b14kpz3xpq0lfrkfxdq0w9l";
-    };
-  }
-  {
-    goPackagePath = "github.com/pkg/errors";
-    fetch = {
-      type = "git";
-      url = "https://github.com/pkg/errors";
-      rev = "27936f6d90f9c8e1145f11ed52ffffbfdb9e0af7";
-      sha256 = "0yzmgi6g4ak4q8y7w6x0n5cbinlcn8yc3gwgzy4yck00qdn25d6y";
-    };
-  }
-  {
-    goPackagePath = "github.com/prometheus/client_golang";
-    fetch = {
-      type = "git";
-      url = "https://github.com/prometheus/client_golang";
-      rev = "3f6cbd95606771ac9f7b1c9247d2ca186cb72cb9";
-      sha256 = "1d9qc9jwqsgh6r5x5qkf6c6pkfb5jfhxls431ilhawn05fbyyypq";
-    };
-  }
-  {
-    goPackagePath = "github.com/prometheus/client_model";
-    fetch = {
-      type = "git";
-      url = "https://github.com/prometheus/client_model";
-      rev = "fd36f4220a901265f90734c3183c5f0c91daa0b8";
-      sha256 = "1bs5d72k361llflgl94c22n0w53j30rsfh84smgk8mbjbcmjsaa5";
-    };
-  }
-  {
-    goPackagePath = "github.com/prometheus/common";
-    fetch = {
-      type = "git";
-      url = "https://github.com/prometheus/common";
-      rev = "c873fb1f9420b83ee703b4361c61183b4619f74d";
-      sha256 = "1fmigir3c35nxmsj4bqwfp69kaxy415qk0ssi4wplcyd1g656lbg";
-    };
-  }
-  {
-    goPackagePath = "github.com/prometheus/procfs";
-    fetch = {
-      type = "git";
-      url = "https://github.com/prometheus/procfs";
-      rev = "87a4384529e0652f5035fb5cc8095faf73ea9b0b";
-      sha256 = "1rjd7hf5nvsdw2jpqpapfw6nv3w3zphfhkrh5p7nryakal6kcgmh";
-    };
-  }
-]
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/fritzbox-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/fritzbox-exporter.nix
index cefa4579069f..bd8f667b11c2 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/fritzbox-exporter.nix
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/fritzbox-exporter.nix
@@ -1,28 +1,27 @@
-{ lib, buildGoPackage, fetchFromGitHub, nixosTests }:
+{ lib, buildGoModule, fetchFromGitHub, nixosTests }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "fritzbox-exporter";
-  version = "v1.0-32-g90fc0c5";
-  rev = "90fc0c572d3340803f7c2aafc4b097db7af1f871";
+  version = "unstable-2021-04-13";
 
   src = fetchFromGitHub {
-    inherit rev;
+    rev = "fd36539bd7db191b3734e17934b5f1e78e4e9829";
     owner = "mxschmitt";
     repo = "fritzbox_exporter";
-    sha256 = "08gcc60g187x1d14vh7n7s52zkqgj3fvg5v84i6dw55rmb6zzxri";
+    sha256 = "0w9gdcnfc61q6mzm95i7kphsf1rngn8rb6kz1b6knrh5d8w61p1n";
   };
 
-  goPackagePath = "github.com/mxschmitt/fritzbox_exporter";
+  subPackages = [ "cmd/exporter" ];
 
-  goDeps = ./fritzbox-exporter-deps.nix;
+  vendorSha256 = "0k6bd052pjfg5c1ba1yhni8msv3wl512vfzy2hrk49jibh8h052n";
 
   passthru.tests = { inherit (nixosTests.prometheus-exporters) fritzbox; };
 
   meta = with lib; {
     description = "Prometheus Exporter for FRITZ!Box (TR64 and UPnP)";
-    homepage = "https://github.com/ndecker/fritzbox_exporter";
+    homepage = "https://github.com/mxschmitt/fritzbox_exporter";
     license = licenses.asl20;
-    maintainers = with maintainers; [ bachp flokli ];
+    maintainers = with maintainers; [ bachp flokli sbruder ];
     platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/influxdb-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/influxdb-exporter.nix
new file mode 100644
index 000000000000..35c67af92b12
--- /dev/null
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/influxdb-exporter.nix
@@ -0,0 +1,35 @@
+{ lib, buildGoModule, fetchFromGitHub, nixosTests }:
+
+buildGoModule rec {
+  pname = "influxdb_exporter";
+  version = "0.8.0";
+  rev = "v${version}";
+
+  src = fetchFromGitHub {
+    inherit rev;
+    owner = "prometheus";
+    repo = "influxdb_exporter";
+    sha256 = "sha256-aNj4ru3yDet+jdcEpckFVaymmjWmKzTMPcTxPMNFbgo=";
+  };
+
+  vendorSha256 = null;
+
+  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"
+  ];
+
+  passthru.tests = { inherit (nixosTests.prometheus-exporters) influxdb; };
+
+  meta = with lib; {
+    description = "Prometheus exporter that accepts InfluxDB metrics";
+    homepage = "https://github.com/prometheus/influxdb_exporter";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ hexa ];
+  };
+}
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/jmx-httpserver.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/jmx-httpserver.nix
index 2c08374ec736..9a311c02f335 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/jmx-httpserver.nix
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/jmx-httpserver.nix
@@ -1,23 +1,20 @@
 { lib, stdenv, fetchurl, jre, makeWrapper }:
 
-let
+stdenv.mkDerivation rec {
+  pname = "jmx-prometheus-httpserver";
   version = "0.15.0";
-  jarName = "jmx_prometheus_httpserver-${version}-jar-with-dependencies.jar";
-  mavenUrl = "mirror://maven/io/prometheus/jmx/jmx_prometheus_httpserver/${version}/${jarName}";
-in stdenv.mkDerivation {
-  inherit version jarName;
 
-  name = "jmx-prometheus-httpserver-${version}";
+  jarName = "jmx_prometheus_httpserver-${version}-jar-with-dependencies.jar";
 
   src = fetchurl {
-    url = mavenUrl;
+    url = "mirror://maven/io/prometheus/jmx/jmx_prometheus_httpserver/${version}/${jarName}";
     sha256 = "0fr3svn8kjp7bq1wzbkvv5awylwn8b01bngj04zvk7fpzqpgs7mz";
   };
 
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ jre ];
 
-  phases = "installPhase";
+  dontUnpack = true;
 
   installPhase = ''
     mkdir -p $out/libexec
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/kea-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/kea-exporter.nix
index 1f5ff7c02235..98df8861e825 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/kea-exporter.nix
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/kea-exporter.nix
@@ -11,7 +11,7 @@ python3Packages.buildPythonApplication rec {
 
   propagatedBuildInputs = with python3Packages; [
     click
-    prometheus_client
+    prometheus-client
   ];
 
   checkPhase = ''
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/knot-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/knot-exporter.nix
index 42b6047d3d4f..f0b6055f2ba0 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/knot-exporter.nix
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/knot-exporter.nix
@@ -1,25 +1,16 @@
-{ stdenv, fetchFromGitHub, lib, python3, nixosTests, fetchpatch }:
+{ stdenv, fetchFromGitHub, lib, python3, nixosTests }:
 
 stdenv.mkDerivation rec {
   pname = "knot-exporter";
-  version = "unstable-2020-01-30";
+  version = "unstable-2021-08-21";
 
   src = fetchFromGitHub {
     owner = "ghedo";
     repo = "knot_exporter";
-    rev = "21dd46b401e0c1aea0b173e19462cdf89e1f444e";
-    sha256 = "sha256-4au4lpaq3jcqC2JXdCcf8h+YN8Nmm4eE0kZwA+1rWlc=";
+    rev = "b18eb7db735b50280f0815497475f4c7092a6550";
+    sha256 = "sha256-FGzkO/KHDhkM3PA2urNQcrMi3MHADkd0YwAvu1jvfrU=";
   };
 
-  patches = [
-    # Fixes a crash with all metrics enabled. See
-    # https://github.com/ghedo/knot_exporter/pull/6 for further context.
-    (fetchpatch {
-      url = "https://github.com/ghedo/knot_exporter/commit/2317476e080369450ae51a707ccd30d4b89d680f.patch";
-      sha256 = "sha256-yEPu8EE1V/draNx9DeMrPj+bMfJRxauweo33dITl4AA=";
-    })
-  ];
-
   dontBuild = true;
 
   nativeBuildInputs = [ python3.pkgs.wrapPython ];
@@ -30,7 +21,7 @@ stdenv.mkDerivation rec {
 
     install -Dm0755 knot_exporter $out/bin/knot_exporter
     patchShebangs $out/bin
-    buildPythonPath ${python3.pkgs.prometheus_client}
+    buildPythonPath ${python3.pkgs.prometheus-client}
     patchPythonScript $out/bin/knot_exporter
 
     runHook postInstall
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/mysqld-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/mysqld-exporter.nix
index 9a856eedf682..894fbd1ab3f1 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/mysqld-exporter.nix
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/mysqld-exporter.nix
@@ -14,6 +14,15 @@ buildGoModule rec {
 
   vendorSha256 = "19785rfzlx8h0h8vmg0ghd40h3p4y6ikhgf8rd2qfj5f6qxfhrgv";
 
+  ldflags = let t = "github.com/prometheus/common/version"; in [
+    "-s" "-w"
+    "-X ${t}.Version=${version}"
+    "-X ${t}.Revision=${rev}"
+    "-X ${t}.Branch=unknown"
+    "-X ${t}.BuildUser=nix@nixpkgs"
+    "-X ${t}.BuildDate=unknown"
+  ];
+
   # skips tests with external dependencies, e.g. on mysqld
   checkFlags = [ "-short" ];
 
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/nginx-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/nginx-exporter.nix
index 65206256194a..8b39915193ef 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/nginx-exporter.nix
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/nginx-exporter.nix
@@ -6,8 +6,8 @@ buildGoPackage rec {
 
   goPackagePath = "github.com/nginxinc/nginx-prometheus-exporter";
 
-  buildFlagsArray = [
-    "-ldflags=" "-X main.version=${version}"
+  ldflags = [
+    "-X main.version=${version}"
   ];
 
   src = fetchFromGitHub {
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/node-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/node-exporter.nix
index f97485f9478b..7f0e5c78eba9 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/node-exporter.nix
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/node-exporter.nix
@@ -19,17 +19,15 @@ buildGoModule rec {
 
   excludedPackages = [ "docs/node-mixin" ];
 
-  buildFlagsArray = let
-    goPackagePath = "github.com/prometheus/node_exporter";
-  in ''
-    -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
-  '';
+  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"
+  ];
 
   passthru.tests = { inherit (nixosTests.prometheus-exporters) node; };
 
@@ -38,6 +36,5 @@ buildGoModule rec {
     homepage = "https://github.com/prometheus/node_exporter";
     license = licenses.asl20;
     maintainers = with maintainers; [ benley fpletz globin Frostman ];
-    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/openldap-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/openldap-exporter.nix
index 3aabe6e72310..84cb7a62f243 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/openldap-exporter.nix
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/openldap-exporter.nix
@@ -2,21 +2,20 @@
 
 buildGoPackage rec {
   pname = "openldap_exporter";
-  version = "2.1";
+  version = "2.1.4";
 
   src = fetchFromGitHub {
     owner = "tomcz";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Di1GiyVp/hGCFhqxhlqJSucGZK7f/FDDUFtJRaiAZu4=";
+    sha256 = "sha256-G4bTYFm1Zh+7gfSIZnfrPyQ15967ebEzl33pgZu23D4=";
   };
 
-  buildFlagsArray = ''
-    -ldflags=
-      -s -w
-      -X github.com/tomcz/openldap_exporter.tag=v${version}
-      -X github.com/tomcz/openldap_exporter.commit=unknown
-  '';
+  ldflags = [
+    "-s" "-w"
+    "-X github.com/tomcz/openldap_exporter.tag=v${version}"
+    "-X github.com/tomcz/openldap_exporter.commit=unknown"
+  ];
 
   goPackagePath = "github.com/tomcz/openldap_exporter";
 
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/postfix-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/postfix-exporter.nix
index a24edd2fbb0d..8f71c0123dce 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/postfix-exporter.nix
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/postfix-exporter.nix
@@ -18,7 +18,7 @@ buildGoPackage rec {
 
   nativeBuildInputs = optional withSystemdSupport makeWrapper;
   buildInputs = optional withSystemdSupport systemd;
-  buildFlags = optional (!withSystemdSupport) "-tags nosystemd";
+  tags = optional (!withSystemdSupport) "nosystemd";
 
   goDeps = ./postfix-exporter-deps.nix;
   extraSrcs = optionals withSystemdSupport [
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/postgres-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/postgres-exporter.nix
index 9b3cda6e7ae8..4db534add8c2 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/postgres-exporter.nix
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/postgres-exporter.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "postgres_exporter";
-  version = "0.9.0";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "wrouesnel";
     repo = "postgres_exporter";
     rev = "v${version}";
-    sha256 = "sha256-Kv+sjqhlmH36L4YvDuGYODR/eTHA2TKQ6IUCXAiItyo=";
+    sha256 = "sha256-QU/pPw0gOHF5SAET8S/v7nTPyEvBqkxwwGQ42PbQNvw=";
   };
 
-  vendorSha256 = "sha256-yMcoUl9NsiiZQyEHlLu79DzIyl6BbhLZ/xNFavaGrEs=";
+  vendorSha256 = "sha256-sSJjJR0wlW95I6bgzLKx4aVcqwKMRyzzWC4uz0BKLNY=";
 
   doCheck = true;
 
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/promscale.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/promscale.nix
index 5b0b308c5ec5..546bfbb7e28c 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/promscale.nix
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/promscale.nix
@@ -5,18 +5,18 @@
 
 buildGoModule rec {
   pname = "promscale";
-  version = "0.4.1";
+  version = "0.5.1";
 
   src = fetchFromGitHub {
     owner = "timescale";
     repo = pname;
     rev = version;
-    sha256 = "sha256-RdhsQtrD+I8eAgFNr1hvW83Ho22aNhWBX8crCM0b8jU=";
+    sha256 = "sha256-u9qlABTuQ4EWEfyei6nN/AZ7j9QJXQ61GvyhP8wEmK0=";
   };
 
-  vendorSha256 = "sha256-82E82O0yaLbu+oSTX7AQoYXFYy3wYVdBCevV7pHZVOA=";
+  vendorSha256 = "sha256-DFDTYT7UK1cYwGeCgeQcJmrCoqGPDzicusRPPUbH0Gs=";
 
-  buildFlagsArray = [ "-ldflags=-s -w -X github.com/timescale/promscale/pkg/version.Version=${version} -X github.com/timescale/promscale/pkg/version.CommitHash=${src.rev}" ];
+  ldflags = [ "-s" "-w" "-X github.com/timescale/promscale/pkg/version.Version=${version}" "-X github.com/timescale/promscale/pkg/version.CommitHash=${src.rev}" ];
 
   doCheck = false; # Requires access to a docker daemon
   doInstallCheck = true;
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/pushgateway.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/pushgateway.nix
index 0bdb0680ae9d..f14ceec44e21 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/pushgateway.nix
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/pushgateway.nix
@@ -17,15 +17,14 @@ buildGoPackage rec {
   buildUser = "nix@nixpkgs";
   buildDate = "19700101-00:00:00";
 
-  buildFlagsArray = ''
-    -ldflags=
-        -X github.com/prometheus/pushgateway/vendor/github.com/prometheus/common/version.Version=${version}
-        -X github.com/prometheus/pushgateway/vendor/github.com/prometheus/common/version.Revision=${rev}
-        -X github.com/prometheus/pushgateway/vendor/github.com/prometheus/common/version.Branch=${rev}
-        -X github.com/prometheus/pushgateway/vendor/github.com/prometheus/common/version.BuildUser=${buildUser}
-        -X github.com/prometheus/pushgateway/vendor/github.com/prometheus/common/version.BuildDate=${buildDate}
-        -X main.goVersion=${lib.getVersion go}
-  '';
+  ldflags = [
+    "-X github.com/prometheus/pushgateway/vendor/github.com/prometheus/common/version.Version=${version}"
+    "-X github.com/prometheus/pushgateway/vendor/github.com/prometheus/common/version.Revision=${rev}"
+    "-X github.com/prometheus/pushgateway/vendor/github.com/prometheus/common/version.Branch=${rev}"
+    "-X github.com/prometheus/pushgateway/vendor/github.com/prometheus/common/version.BuildUser=${buildUser}"
+    "-X github.com/prometheus/pushgateway/vendor/github.com/prometheus/common/version.BuildDate=${buildDate}"
+    "-X main.goVersion=${lib.getVersion go}"
+  ];
 
   doInstallCheck = true;
   installCheckPhase = ''
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/redis-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/redis-exporter.nix
index a2636d9f7147..e87c6354ae55 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/redis-exporter.nix
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/redis-exporter.nix
@@ -13,12 +13,11 @@ buildGoModule rec {
 
   vendorSha256 = "11237959ikd7l5glkhfz0g55mbld2hq985b5crwb9bnimaly5lga";
 
-  buildFlagsArray = ''
-    -ldflags=
-       -X main.BuildVersion=${version}
-       -X main.BuildCommitSha=unknown
-       -X main.BuildDate=unknown
-  '';
+  ldflags = [
+    "-X main.BuildVersion=${version}"
+    "-X main.BuildCommitSha=unknown"
+    "-X main.BuildDate=unknown"
+  ];
 
   # needs a redis server
   doCheck = false;
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/smokeping-prober.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/smokeping-prober.nix
index b998e1d24c6c..8b1cbb962ade 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/smokeping-prober.nix
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/smokeping-prober.nix
@@ -8,7 +8,7 @@ buildGoModule rec {
   pname = "smokeping_prober";
   version = "${baseVersion}-g${commit}";
 
-  buildFlagsArray = let
+  ldflags = let
     setVars = {
       Version = baseVersion;
       Revision = commit;
@@ -17,7 +17,7 @@ buildGoModule rec {
     };
     varFlags = lib.concatStringsSep " " (lib.mapAttrsToList (name: value: "-X github.com/prometheus/common/version.${name}=${value}") setVars);
   in [
-    "-ldflags=${varFlags} -s -w"
+    "${varFlags}" "-s" "-w"
   ];
 
   src = fetchFromGitHub {
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/tor-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/tor-exporter.nix
index bc8022f9feb1..fcfe87806eb9 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/tor-exporter.nix
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/tor-exporter.nix
@@ -1,7 +1,7 @@
 { lib, fetchFromGitHub, python3Packages, nixosTests }:
 
 python3Packages.buildPythonApplication rec {
-  name = "tor-exporter-${version}";
+  pname = "tor-exporter";
   version = "0.4";
 
   # Just a single .py file to use as the application's main entry point.
@@ -14,7 +14,7 @@ python3Packages.buildPythonApplication rec {
     sha256 = "1gzf42z0cgdqijbi9cwpjkqzkvnabaxkkfa5ac5h27r3pxx3q4n0";
   };
 
-  propagatedBuildInputs = with python3Packages; [ prometheus_client stem retrying ];
+  propagatedBuildInputs = with python3Packages; [ prometheus-client stem retrying ];
 
   installPhase = ''
     mkdir -p $out/share/
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/webui-yarndeps.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/webui-yarndeps.nix
index 496d2fff4ae1..c8c4e50e0ebd 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/webui-yarndeps.nix
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/webui-yarndeps.nix
@@ -1,4 +1,4 @@
-{ fetchurl, fetchgit, linkFarm, runCommandNoCC, gnutar }: rec {
+{ fetchurl, fetchgit, linkFarm, runCommand, gnutar }: rec {
   offline_cache = linkFarm "offline" packages;
   packages = [
     {
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/xmpp-alerts.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/xmpp-alerts.nix
index ddffc9c55daf..97593cecca89 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/xmpp-alerts.nix
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/xmpp-alerts.nix
@@ -20,7 +20,7 @@ python3Packages.buildPythonApplication rec {
   ] ++ (with python3Packages; [
     aiohttp
     slixmpp
-    prometheus_client
+    prometheus-client
     pyyaml
   ]);
 
diff --git a/nixpkgs/pkgs/servers/monitoring/riemann/default.nix b/nixpkgs/pkgs/servers/monitoring/riemann/default.nix
index 03609e4d25a1..0ea67d61e067 100644
--- a/nixpkgs/pkgs/servers/monitoring/riemann/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/riemann/default.nix
@@ -11,8 +11,6 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ makeWrapper ];
 
-  phases = [ "unpackPhase" "installPhase" ];
-
   installPhase = ''
     substituteInPlace bin/riemann --replace '$top/lib/riemann.jar' "$out/share/java/riemann.jar"
 
diff --git a/nixpkgs/pkgs/servers/monitoring/sensu-go/default.nix b/nixpkgs/pkgs/servers/monitoring/sensu-go/default.nix
index 881d677b3e59..6358fa753916 100644
--- a/nixpkgs/pkgs/servers/monitoring/sensu-go/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/sensu-go/default.nix
@@ -4,29 +4,28 @@ let
   generic = { subPackages, pname, postInstall ? "" }:
     buildGoModule rec {
       inherit pname;
-      version = "6.2.7";
+      version = "6.4.1";
       shortRev = "3a1ac58"; # for internal version info
 
       src = fetchFromGitHub {
         owner = "sensu";
         repo = "sensu-go";
         rev = "v${version}";
-        sha256 = "sha256-JPX7MfxdlI6jLHVybAR4xtd/IiVGDrhrYUSlXohhpGc=";
+        sha256 = "sha256-tVmjBfRvQQ1+VtARP1lN8Fu06tujZhZj9IpGVF0mKqA=";
       };
 
       inherit subPackages postInstall;
 
-  vendorSha256 = "sha256-bGQADjT9SMxZnWb3k7wVSsF7VWWuESBL/VDG76vj+Tk=";
+  vendorSha256 = "sha256-fStGEKAR9fzA6Uom6r59jFGTBUfTTj0TzytoJWuicbU=";
 
   doCheck = false;
 
-      buildFlagsArray = let
+      ldflags = let
         versionPkg = "github.com/sensu/sensu-go/version";
-      in ''
-        -ldflags=
-          -X ${versionPkg}.Version=${version}
-          -X ${versionPkg}.BuildSHA=${shortRev}
-      '';
+      in [
+        "-X ${versionPkg}.Version=${version}"
+        "-X ${versionPkg}.BuildSHA=${shortRev}"
+      ];
 
       meta = {
         homepage = "https://sensu.io";
diff --git a/nixpkgs/pkgs/servers/monitoring/seyren/default.nix b/nixpkgs/pkgs/servers/monitoring/seyren/default.nix
index 4dd90cacb8bf..a94de966e4d3 100644
--- a/nixpkgs/pkgs/servers/monitoring/seyren/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/seyren/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "1fixij04n8hgmaj8kw8i6vclwyd6n94x0n6ify73ynm6dfv8g37x";
   };
 
-  phases = ["installPhase"];
+  dontUnpack = true;
 
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ jre ];
diff --git a/nixpkgs/pkgs/servers/monitoring/telegraf/default.nix b/nixpkgs/pkgs/servers/monitoring/telegraf/default.nix
index 578bb10652a0..d92219ea71d8 100644
--- a/nixpkgs/pkgs/servers/monitoring/telegraf/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/telegraf/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "telegraf";
-  version = "1.19.1";
+  version = "1.19.3";
 
   excludedPackages = "test";
 
@@ -12,14 +12,15 @@ buildGoModule rec {
     owner = "influxdata";
     repo = "telegraf";
     rev = "v${version}";
-    sha256 = "sha256-8shyNKwSg3pUxfQsIHBNnIaks/86vHuHN/SroDE3QFU=";
+    sha256 = "sha256-14nwSLCurI9vNgZwad3qc2/yrvpc8Og8jojTCAfJ5F0=";
   };
 
-  vendorSha256 = "sha256-jP6P2NShzlFCptCQ04XY4cIrONNArwthiEONEo32Btw=";
+  vendorSha256 = "sha256-J48ezMi9+PxohDKFhBpbcu6fdojlZPXnQQw2IcyimTA=";
+  proxyVendor = true;
 
-  preBuild = ''
-    buildFlagsArray+=("-ldflags=-w -s -X main.version=${version}")
-  '';
+  ldflags = [
+    "-w" "-s" "-X main.version=${version}"
+  ];
 
   passthru.tests = { inherit (nixosTests) telegraf; };
 
diff --git a/nixpkgs/pkgs/servers/monitoring/thanos/default.nix b/nixpkgs/pkgs/servers/monitoring/thanos/default.nix
index ac19ddda793d..fef179945b38 100644
--- a/nixpkgs/pkgs/servers/monitoring/thanos/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/thanos/default.nix
@@ -1,29 +1,28 @@
 { lib, buildGoModule, fetchFromGitHub }:
 buildGoModule rec {
   pname = "thanos";
-  version = "0.19.0";
+  version = "0.22.0";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "thanos-io";
     repo = "thanos";
-    sha256 = "sha256-FryVKOabokw2+RyD94QLVpC9ZGIHPuSXZf5H+eitj80=";
+    sha256 = "sha256-3jEPfYRewuXTk39sfp6MFKu0LYCzj/VEQTJVUUSkbZk=";
   };
 
-  vendorSha256 = "sha256-GBjPMZ6BwUOKywNf1Bc2WeA14qvKQ0R5gWvVxgO/7Lo=";
+  vendorSha256 = "sha256-rXfYlrTm0Av9Sxq+jdxsxIDvJQIo3rcBTydtiXnifTw=";
 
   doCheck = false;
 
   subPackages = "cmd/thanos";
 
-  buildFlagsArray = let t = "github.com/prometheus/common/version"; in ''
-    -ldflags=
-       -X ${t}.Version=${version}
-       -X ${t}.Revision=unknown
-       -X ${t}.Branch=unknown
-       -X ${t}.BuildUser=nix@nixpkgs
-       -X ${t}.BuildDate=unknown
-  '';
+  ldflags = let t = "github.com/prometheus/common/version"; in [
+    "-X ${t}.Version=${version}"
+    "-X ${t}.Revision=unknown"
+    "-X ${t}.Branch=unknown"
+    "-X ${t}.BuildUser=nix@nixpkgs"
+    "-X ${t}.BuildDate=unknown"
+  ];
 
   meta = with lib; {
     description = "Highly available Prometheus setup with long term storage capabilities";
diff --git a/nixpkgs/pkgs/servers/monitoring/unifi-poller/default.nix b/nixpkgs/pkgs/servers/monitoring/unifi-poller/default.nix
index 992a92a2733c..745cfdd34595 100644
--- a/nixpkgs/pkgs/servers/monitoring/unifi-poller/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/unifi-poller/default.nix
@@ -13,13 +13,13 @@ buildGoModule rec {
 
   vendorSha256 = "sha256-LOBkdyfsw7ua6TsLglO5jdR9NWo5Df8rnQ8MH+eIz4g=";
 
-  buildFlagsArray = ''
-    -ldflags=-w -s
-      -X github.com/prometheus/common/version.Branch=master
-      -X github.com/prometheus/common/version.BuildDate=unknown
-      -X github.com/prometheus/common/version.Revision=${src.rev}
-      -X github.com/prometheus/common/version.Version=${version}-0
-  '';
+  ldflags = [
+    "-w" "-s"
+    "-X github.com/prometheus/common/version.Branch=master"
+    "-X github.com/prometheus/common/version.BuildDate=unknown"
+    "-X github.com/prometheus/common/version.Revision=${src.rev}"
+    "-X github.com/prometheus/common/version.Version=${version}-0"
+  ];
 
   meta = with lib; {
     description = "Collect ALL UniFi Controller, Site, Device & Client Data - Export to InfluxDB or Prometheus";
diff --git a/nixpkgs/pkgs/servers/moonraker/default.nix b/nixpkgs/pkgs/servers/moonraker/default.nix
new file mode 100644
index 000000000000..2ca35beeff11
--- /dev/null
+++ b/nixpkgs/pkgs/servers/moonraker/default.nix
@@ -0,0 +1,44 @@
+{ lib, stdenvNoCC, fetchFromGitHub, python3, makeWrapper, unstableGitUpdater }:
+
+let
+  pythonEnv = python3.withPackages (packages: with packages; [
+    tornado
+    pyserial
+    pillow
+    lmdb
+    streaming-form-data
+    distro
+    inotify-simple
+    libnacl
+    paho-mqtt
+  ]);
+in stdenvNoCC.mkDerivation rec {
+  pname = "moonraker";
+  version = "unstable-2021-07-18";
+
+  src = fetchFromGitHub {
+    owner = "Arksine";
+    repo = "moonraker";
+    rev = "42f61ceafa90fcfea8bffbe968e26a6fd8b61af6";
+    sha256 = "1w6l9pgs4n4nnk3h40y346bf6j3v4j4h1qnhj5dwlbwdxiqpd9gs";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    mkdir -p $out $out/bin $out/lib
+    cp -r moonraker $out/lib
+
+    makeWrapper ${pythonEnv}/bin/python $out/bin/moonraker \
+      --add-flags "$out/lib/moonraker/moonraker.py"
+  '';
+
+  passthru.updateScript = unstableGitUpdater { url = meta.homepage; };
+
+  meta = with lib; {
+    description = "API web server for Klipper";
+    homepage = "https://github.com/Arksine/moonraker";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ zhaofengli ];
+  };
+}
diff --git a/nixpkgs/pkgs/servers/mpd/default.nix b/nixpkgs/pkgs/servers/mpd/default.nix
index eef79853b395..042772c95db8 100644
--- a/nixpkgs/pkgs/servers/mpd/default.nix
+++ b/nixpkgs/pkgs/servers/mpd/default.nix
@@ -116,13 +116,13 @@ let
 
     in stdenv.mkDerivation rec {
       pname = "mpd";
-      version = "0.22.9";
+      version = "0.22.10";
 
       src = fetchFromGitHub {
         owner  = "MusicPlayerDaemon";
         repo   = "MPD";
         rev    = "v${version}";
-        sha256 = "sha256-Qw7qJqxcBKxshT/qbVUegE1Tpt4QV5WbUHT2+qLbr9o=";
+        sha256 = "sha256-h9dmi8AI8ZCjF4nlTi07uOWKs+8gly2HhSbPRB3Jl0g=";
       };
 
       buildInputs = [
diff --git a/nixpkgs/pkgs/servers/mqtt/mosquitto/default.nix b/nixpkgs/pkgs/servers/mqtt/mosquitto/default.nix
index 9e251e1bc224..67200f5515a9 100644
--- a/nixpkgs/pkgs/servers/mqtt/mosquitto/default.nix
+++ b/nixpkgs/pkgs/servers/mqtt/mosquitto/default.nix
@@ -12,19 +12,29 @@
 , openssl
 , withSystemd ? stdenv.isLinux
 , systemd
+, fetchpatch
 }:
 
 stdenv.mkDerivation rec {
   pname = "mosquitto";
-  version = "2.0.10";
+  version = "2.0.12";
 
   src = fetchFromGitHub {
     owner = "eclipse";
     repo = pname;
     rev = "v${version}";
-    sha256 = "144vw7b9ja4lci4mplbxs048x9aixd9c3s7rg6wc1k31w099rb12";
+    sha256 = "0bn6vpk6gdxrnm3aw3j2g0ny6cx2arv8pmv4x8302pr6qcrz57s6";
   };
 
+  patches = lib.optionals stdenv.isDarwin [
+    (fetchpatch {
+      name = "revert-cmake-shared-to-module.patch"; # See https://github.com/eclipse/mosquitto/issues/2277
+      url = "https://github.com/eclipse/mosquitto/commit/e21eaeca37196439b3e89bb8fd2eb1903ef94845.patch";
+      sha256 = "14syi2c1rks8sl2aw09my276w45yq1iasvzkqcrqwy4drdqrf069";
+      revert = true;
+    })
+  ];
+
   postPatch = ''
     for f in html manpage ; do
       substituteInPlace man/$f.xsl \
diff --git a/nixpkgs/pkgs/servers/nas/default.nix b/nixpkgs/pkgs/servers/nas/default.nix
index 4732368ac887..c5dba62c6e7c 100644
--- a/nixpkgs/pkgs/servers/nas/default.nix
+++ b/nixpkgs/pkgs/servers/nas/default.nix
@@ -1,11 +1,9 @@
 { lib, stdenv, fetchurl, imake, bison, flex, gccmakedep
 , xorgproto, libXau, libXt, libXext, libXaw, libXpm, xorgcffiles }:
 
-let
+stdenv.mkDerivation rec {
   pname = "nas";
   version = "1.9.4";
-in stdenv.mkDerivation {
-  name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${pname}-${version}.src.tar.gz";
diff --git a/nixpkgs/pkgs/servers/nats-server/default.nix b/nixpkgs/pkgs/servers/nats-server/default.nix
index 4f62c6f7773d..339c847898c3 100644
--- a/nixpkgs/pkgs/servers/nats-server/default.nix
+++ b/nixpkgs/pkgs/servers/nats-server/default.nix
@@ -4,7 +4,7 @@ with lib;
 
 buildGoPackage rec {
   pname   = "nats-server";
-  version = "2.2.1";
+  version = "2.4.0";
 
   goPackagePath = "github.com/nats-io/${pname}";
 
@@ -12,7 +12,7 @@ buildGoPackage rec {
     rev    = "v${version}";
     owner  = "nats-io";
     repo   = pname;
-    sha256 = "sha256-LQ817nZrFkF1zdj2m2SQK58BqDbUPSnncSWR+Woi+Ao=";
+    sha256 = "sha256-v758qj1dy8zh3zfZxKkKALxZqNAxc1XdtTW4dxU4l5A=";
   };
 
   meta = {
diff --git a/nixpkgs/pkgs/servers/nats-streaming-server/default.nix b/nixpkgs/pkgs/servers/nats-streaming-server/default.nix
index bf6d95b65d45..3de95b4f1133 100644
--- a/nixpkgs/pkgs/servers/nats-streaming-server/default.nix
+++ b/nixpkgs/pkgs/servers/nats-streaming-server/default.nix
@@ -4,14 +4,14 @@ with lib;
 
 buildGoPackage rec {
   pname   = "nats-streaming-server";
-  version = "0.21.1";
+  version = "0.22.1";
   goPackagePath = "github.com/nats-io/${pname}";
 
   src = fetchFromGitHub {
     rev    = "v${version}";
     owner  = "nats-io";
     repo   = pname;
-    sha256 = "sha256-GqnIGnXcOcfbAgUruVxsTSvi6pH1E3QugEmZr3tPiIY=";
+    sha256 = "sha256-VdYyui0fyoNf1q3M1xTg/UMlxIFABqAbqQaD0bLpKCY=";
   };
 
   meta = {
diff --git a/nixpkgs/pkgs/servers/neard/default.nix b/nixpkgs/pkgs/servers/neard/default.nix
index a638c0638528..77c6f8839f71 100644
--- a/nixpkgs/pkgs/servers/neard/default.nix
+++ b/nixpkgs/pkgs/servers/neard/default.nix
@@ -1,16 +1,19 @@
-{ lib, stdenv, fetchurl, autoreconfHook, pkg-config, systemd, glib, dbus, libnl, pythonPackages }:
+{ lib, stdenv, fetchurl, autoreconfHook, pkg-config, systemd, glib, dbus, libnl, python2Packages }:
 
 stdenv.mkDerivation rec {
-  name = "neard-0.16";
+  pname = "neard";
+  version = "0.16";
 
   src = fetchurl {
-    url = "https://git.kernel.org/pub/scm/network/nfc/neard.git/snapshot/${name}.tar.gz";
+    url = "https://git.kernel.org/pub/scm/network/nfc/neard.git/snapshot/neard-${version}.tar.gz";
     sha256 = "0bpdmyxvd3z54p95apz4bjb5jp8hbc04sicjapcryjwa8mh6pbil";
   };
 
-  nativeBuildInputs = [ autoreconfHook pkg-config ];
-  buildInputs = [ systemd glib dbus libnl pythonPackages.python pythonPackages.wrapPython ];
-  pythonPath = [ pythonPackages.pygobject2 pythonPackages.dbus-python pythonPackages.pygtk ];
+  nativeBuildInputs = [ autoreconfHook pkg-config python2Packages.wrapPython ];
+  buildInputs = [ systemd glib dbus libnl ] ++ (with python2Packages; [ python ]);
+  pythonPath = with python2Packages; [ pygobject2 dbus-python pygtk ];
+
+  strictDeps = true;
 
   configureFlags = [ "--disable-debug" "--enable-tools" "--enable-ese" "--with-systemdsystemunitdir=$out/lib/systemd/system" ];
 
diff --git a/nixpkgs/pkgs/servers/networkaudiod/default.nix b/nixpkgs/pkgs/servers/networkaudiod/default.nix
new file mode 100644
index 000000000000..fcf713d9fe88
--- /dev/null
+++ b/nixpkgs/pkgs/servers/networkaudiod/default.nix
@@ -0,0 +1,71 @@
+{ stdenv
+, autoPatchelfHook
+, dpkg
+, fetchurl
+, lib
+, alsa-lib
+}:
+let
+  inherit (stdenv.targetPlatform) system;
+  throwSystem = throw "Unsupported system: ${system}";
+in
+stdenv.mkDerivation rec {
+  pname = "networkaudiod";
+  version = "4.1.1-46";
+
+  src = {
+    x86_64-linux = fetchurl {
+      url = "https://www.signalyst.eu/bins/naa/linux/buster/${pname}_${version}_amd64.deb";
+      sha256 = "sha256-un5VcCnvCCS/KWtW991Rt9vz3flYilERmRNooEsKCkA=";
+    };
+    aarch64-linux = fetchurl {
+      url = "https://www.signalyst.eu/bins/naa/linux/buster/${pname}_${version}_arm64.deb";
+      sha256 = "sha256-fjSCWX9VYhVJ43N2kSqd5gfTtDJ1UiH4j5PJ9I5Skag=";
+    };
+  }.${system} or throwSystem;
+
+  unpackPhase = ''
+    dpkg -x $src .
+  '';
+
+  nativeBuildInputs = [ autoPatchelfHook dpkg ];
+
+  buildInputs = [
+    alsa-lib
+    stdenv.cc.cc.lib
+  ];
+
+  dontConfigure = true;
+  dontBuild = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    # main executable
+    mkdir -p $out/bin
+    cp ./usr/sbin/networkaudiod $out/bin
+
+    # systemd service file
+    mkdir -p $out/lib/systemd/system
+    cp ./lib/systemd/system/networkaudiod.service $out/lib/systemd/system
+
+    # documentation
+    mkdir -p $out/share/doc/networkaudiod
+    cp -r ./usr/share/doc/networkaudiod $out/share/doc/
+
+    runHook postInstall
+  '';
+
+  postInstall = ''
+    substituteInPlace $out/lib/systemd/system/networkaudiod.service \
+      --replace /usr/sbin/networkaudiod $out/bin/networkaudiod
+  '';
+
+  meta = with lib; {
+    homepage = "https://www.signalyst.com/index.html";
+    description = "Network Audio Adapter daemon";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ lovesegfault ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/servers/news/leafnode/default.nix b/nixpkgs/pkgs/servers/news/leafnode/default.nix
index eb6ce851c6ee..03aea95177a4 100644
--- a/nixpkgs/pkgs/servers/news/leafnode/default.nix
+++ b/nixpkgs/pkgs/servers/news/leafnode/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchurl, pcre }:
 
 stdenv.mkDerivation {
-  name = "leafnode-2.0.0.alpha20121101a.12";
+  pname = "leafnode";
+  version = "2.0.0.alpha20121101a.12";
 
   src = fetchurl {
     url = "http://home.pages.de/~mandree/leafnode/beta/leafnode-2.0.0.alpha20121101a.tar.bz2";
diff --git a/nixpkgs/pkgs/servers/nextcloud/default.nix b/nixpkgs/pkgs/servers/nextcloud/default.nix
index 1776987bae09..00b242ef87b3 100644
--- a/nixpkgs/pkgs/servers/nextcloud/default.nix
+++ b/nixpkgs/pkgs/servers/nextcloud/default.nix
@@ -44,18 +44,18 @@ in {
   '';
 
   nextcloud20 = generic {
-    version = "20.0.11";
-    sha256 = "sha256-CLrJH5eNTiJJrDzfCg+re3J2qmwxFOe12nUU/QgtD6A=";
+    version = "20.0.12";
+    sha256 = "sha256-gIIPuWVcWv/5nuXMWticcPBKMjJVsCmvs83tj8fdbgY=";
   };
 
   nextcloud21 = generic {
-    version = "21.0.3";
-    sha256 = "8adcd175c7a70c33332586fa9ce36d03ba02d1df5d4c334d1210201d3fb953ee";
+    version = "21.0.4";
+    sha256 = "sha256-Sg0w/r+6UxGLqZCgwtLBZ2e3eqZ2r8k30gGNaGXF/jo=";
   };
 
   nextcloud22 = generic {
-    version = "22.0.0";
-    sha256 = "sha256-ORHTdUw3rKfJtfOys3UTwPK1u5ea8AgWwRF7Hu28XXo=";
+    version = "22.1.1";
+    sha256 = "sha256-5VtuuXf7U5CB4zp9jxluOEMOszfMdr8DeaZjpJf73ls=";
   };
   # tip: get she sha with:
   # curl 'https://download.nextcloud.com/server/releases/nextcloud-${version}.tar.bz2.sha256'
diff --git a/nixpkgs/pkgs/servers/nextcloud/news-updater.nix b/nixpkgs/pkgs/servers/nextcloud/news-updater.nix
index 19147be3f5da..88a30e358ab9 100644
--- a/nixpkgs/pkgs/servers/nextcloud/news-updater.nix
+++ b/nixpkgs/pkgs/servers/nextcloud/news-updater.nix
@@ -1,7 +1,7 @@
 { lib, fetchurl, python3Packages, php }:
 
 python3Packages.buildPythonApplication rec {
-  name = "nextcloud-news-updater-${version}";
+  pname = "nextcloud-news-updater";
   version = "10.0.1";
 
   src = fetchurl {
diff --git a/nixpkgs/pkgs/servers/nitter/default.nix b/nixpkgs/pkgs/servers/nitter/default.nix
new file mode 100644
index 000000000000..b5137c92b450
--- /dev/null
+++ b/nixpkgs/pkgs/servers/nitter/default.nix
@@ -0,0 +1,136 @@
+{ lib
+, stdenv
+, nixosTests
+, fetchFromGitHub
+, nim
+, libsass
+}:
+
+let
+  jester = fetchFromGitHub {
+    owner = "dom96";
+    repo = "jester";
+    rev = "v0.5.0";
+    sha256 = "0m8a4ss4460jd2lcbqcbdd68jhcy35xg7qdyr95mh8rflwvmcvhk";
+  };
+  karax = fetchFromGitHub {
+    owner = "karaxnim";
+    repo = "karax";
+    rev = "1.1.2";
+    sha256 = "07ykrd21hd76vlmkqpvv5xvaxw6aaq87bky47p2420ni85a6d94j";
+  };
+  sass = fetchFromGitHub {
+    owner = "dom96";
+    repo = "sass";
+    rev = "e683aa1";
+    sha256 = "0qvly5rilsqqsyvr67pqhglm55ndc4nd6v90jwswbnigxiqf79lc";
+  };
+  regex = fetchFromGitHub {
+    owner = "nitely";
+    repo = "nim-regex";
+    rev = "2e32fdc";
+    sha256 = "1hrl40mwql7nh4wc7sdhmk8bj5728b93v5a93j49v660l0rn4qx8";
+  };
+  unicodedb = fetchFromGitHub {
+    owner = "nitely";
+    repo = "nim-unicodedb";
+    rev = "v0.9.0";
+    sha256 = "06j8d0bjbpv1iibqlmrac4qb61ggv17hvh6nv4pbccqk1rlpxhsq";
+  };
+  unicodeplus= fetchFromGitHub {
+    owner = "nitely";
+    repo = "nim-unicodeplus";
+    rev = "v0.8.0";
+    sha256 = "181wzwivfgplkqn5r4crhnaqgsza7x6fi23i86djb2dxvm7v6qxk";
+  };
+  segmentation = fetchFromGitHub {
+    owner = "nitely";
+    repo = "nim-segmentation";
+    rev = "v0.1.0";
+    sha256 = "007bkx8dwy8n340zbp6wyqfsq9bh6q5ykav1ywdlwykyp1n909bh";
+  };
+  nimcrypto = fetchFromGitHub {
+    owner = "cheatfate";
+    repo = "nimcrypto";
+    rev = "a5742a9a214ac33f91615f3862c7b099aec43b00";
+    sha256 = "0al0jsaicm8vyr63n909dq1glhvpra1n9sllmj0r7lsjsdb59wsz";
+  };
+  markdown = fetchFromGitHub {
+    owner = "soasme";
+    repo = "nim-markdown";
+    rev = "abdbe5e";
+    sha256 = "0f3c1sxvhbbds43c9l8cz69pfpf984msj1lv4pb7bzpxb5zil2wy";
+  };
+  packedjson = fetchFromGitHub {
+    owner = "Araq";
+    repo = "packedjson";
+    rev = "7198cc8";
+    sha256 = "1ay2zd88q8hvpvigsg8h0y5vc65hk3lk0d48fy9hwg4lcng19mp1";
+  };
+  supersnappy = fetchFromGitHub {
+    owner = "guzba";
+    repo = "supersnappy";
+    rev = "1.1.5";
+    sha256 = "1y26sgnszvdf5sn7j0jx2dpd4i03mvbk9i9ni9kbyrs798bjwi6z";
+  };
+  redpool = fetchFromGitHub {
+    owner = "zedeus";
+    repo = "redpool";
+    rev = "57aeb25";
+    sha256 = "0fph7qlia6fvya1zqzbgvww2hk5pd0vq1wlf9ij9jyn655mg0w3q";
+  };
+  frosty = fetchFromGitHub {
+    owner = "disruptek";
+    repo = "frosty";
+    rev = "0.3.1";
+    sha256 = "0hd6484ihjgl57gmqyp5xfq5prycb49k0313fqky600mhz71nmyz";
+  };
+  redis = fetchFromGitHub {
+    owner = "zedeus";
+    repo = "redis";
+    rev = "94bcbf1";
+    sha256 = "1p9zv4f4lqrjqa8fk98cb89b9fzlf866jc584ll9sws14904i80j";
+  };
+in stdenv.mkDerivation rec {
+  pname = "nitter";
+  version = "unstable-2021-07-18";
+
+  src = fetchFromGitHub {
+    owner = "zedeus";
+    repo = "nitter";
+    rev = "6c5cb01b294d4f6e3b438fc47683359eb0fe5057";
+    sha256 = "1dl8ndyv8m1hnydrp5xilcpp2cfbp02d5jap3y42i4nazc9ar6p4";
+  };
+
+  nativeBuildInputs = [ nim ];
+  buildInputs = [ libsass ];
+
+  buildPhase = ''
+    runHook preBuild
+    export HOME=$TMPDIR
+    nim -d:release -p:${jester} -p:${karax} -p:${sass}/src -p:${regex}/src -p:${unicodedb}/src -p:${unicodeplus}/src -p:${segmentation}/src -p:${nimcrypto} -p:${markdown}/src -p:${packedjson} -p:${supersnappy}/src -p:${redpool}/src -p:${frosty} -p:${redis}/src c src/$pname
+    nim -p:${sass}/src c --hint[Processing]:off -r tools/gencss
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    install -Dt $out/bin src/$pname
+    mkdir -p $out/share/nitter
+    cp -r public $out/share/nitter/public
+    runHook postInstall
+  '';
+
+  passthru.tests = {
+    inherit (nixosTests) nitter;
+  };
+
+  meta = with lib; {
+    description = "Alternative Twitter front-end";
+    homepage = "https://github.com/zedeus/nitter";
+    maintainers = with maintainers; [ erdnaxe ];
+    license = licenses.agpl3Only;
+    platforms = [ "x86_64-linux" ];
+  };
+}
+
diff --git a/nixpkgs/pkgs/servers/nosql/aerospike/default.nix b/nixpkgs/pkgs/servers/nosql/aerospike/default.nix
index 33347a73a20c..db7b39ac5c7a 100644
--- a/nixpkgs/pkgs/servers/nosql/aerospike/default.nix
+++ b/nixpkgs/pkgs/servers/nosql/aerospike/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Flash-optimized, in-memory, NoSQL database";
-    homepage = "http://aerospike.com/";
+    homepage = "https://aerospike.com/";
     license = licenses.agpl3;
     platforms = [ "x86_64-linux" ];
     maintainers = with maintainers; [ kalbasit ];
diff --git a/nixpkgs/pkgs/servers/nosql/cassandra/generic.nix b/nixpkgs/pkgs/servers/nosql/cassandra/generic.nix
index cab21080a043..2d031ae9f5d2 100644
--- a/nixpkgs/pkgs/servers/nosql/cassandra/generic.nix
+++ b/nixpkgs/pkgs/servers/nosql/cassandra/generic.nix
@@ -1,7 +1,7 @@
 { lib
 , stdenv
 , fetchurl
-, python
+, python2
 , makeWrapper
 , gawk
 , bash
@@ -99,7 +99,7 @@ stdenv.mkDerivation rec {
       fi
     done
 
-    wrapProgram $out/bin/cqlsh --prefix PATH : ${python}/bin
+    wrapProgram $out/bin/cqlsh --prefix PATH : ${python2}/bin
 
     runHook postInstall
   '';
diff --git a/nixpkgs/pkgs/servers/nosql/influxdb/default.nix b/nixpkgs/pkgs/servers/nosql/influxdb/default.nix
index 16449d73fdac..4f10beda85cc 100644
--- a/nixpkgs/pkgs/servers/nosql/influxdb/default.nix
+++ b/nixpkgs/pkgs/servers/nosql/influxdb/default.nix
@@ -2,20 +2,20 @@
 
 buildGoModule rec {
   pname = "influxdb";
-  version = "1.8.6";
+  version = "1.8.9";
 
   src = fetchFromGitHub {
     owner = "influxdata";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-v58druwTVeUOItbBUNr8lNsFlam9v0sxXlTeHlM0g6A=";
+    sha256 = "sha256-LavOnVREu7uLWcdM9zIonqoYPJBdY2j5eKMeVNXa1dk=";
   };
 
-  vendorSha256 = "sha256-t7uwrsrF4LYdRjOhwdsCouDJXvD9364Ma5gvKezvi5o=";
+  vendorSha256 = "sha256-jgAbEWXL1LYRN7ud9ij0Z1KBGHPZ0sRq78tsK92ob8k=";
 
   doCheck = false;
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
+  ldflags = [ "-s" "-w" "-X main.version=${version}" ];
 
   excludedPackages = "test";
 
diff --git a/nixpkgs/pkgs/servers/nosql/influxdb2/default.nix b/nixpkgs/pkgs/servers/nosql/influxdb2/default.nix
index 1e65689444fe..bba51c6a8031 100644
--- a/nixpkgs/pkgs/servers/nosql/influxdb2/default.nix
+++ b/nixpkgs/pkgs/servers/nosql/influxdb2/default.nix
@@ -102,12 +102,12 @@ in buildGoModule {
       go generate
       popd
     done
-    export buildFlagsArray=(
-      -tags="assets"
-      -ldflags="-X main.commit=${shorthash} -X main.version=${version}"
-    )
   '';
 
+  tags = [ "assets" ];
+
+  ldflags = [ "-X main.commit=${shorthash}" "-X main.version=${version}" ];
+
   meta = with lib; {
     description = "An open-source distributed time series database";
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/servers/nosql/influxdb2/influx-ui-yarndeps.nix b/nixpkgs/pkgs/servers/nosql/influxdb2/influx-ui-yarndeps.nix
index 53795e76322e..bc92013b1472 100644
--- a/nixpkgs/pkgs/servers/nosql/influxdb2/influx-ui-yarndeps.nix
+++ b/nixpkgs/pkgs/servers/nosql/influxdb2/influx-ui-yarndeps.nix
@@ -1,4 +1,4 @@
-{ fetchurl, fetchgit, linkFarm, runCommandNoCC, gnutar }: rec {
+{ fetchurl, fetchgit, linkFarm, runCommand, gnutar }: rec {
   offline_cache = linkFarm "offline" packages;
   packages = [
     {
diff --git a/nixpkgs/pkgs/servers/nosql/mongodb/mongodb.nix b/nixpkgs/pkgs/servers/nosql/mongodb/mongodb.nix
index 8a66528d81cd..7c66d348ffb0 100644
--- a/nixpkgs/pkgs/servers/nosql/mongodb/mongodb.nix
+++ b/nixpkgs/pkgs/servers/nosql/mongodb/mongodb.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchurl, sconsPackages, boost, gperftools, pcre-cpp, snappy, zlib, libyamlcpp
-, sasl, openssl, libpcap, python27, python38, curl, Security, CoreFoundation, cctools }:
+, sasl, openssl, libpcap, curl, Security, CoreFoundation, cctools }:
 
 # Note:
 # The command line tools are written in Go as part of a different package (mongodb-tools)
@@ -12,17 +12,16 @@ with lib;
 
 let
   variants = if versionAtLeast version "4.2"
-    then { python = python38.withPackages (ps: with ps; [ pyyaml cheetah3 psutil setuptools ]);
+    then rec { python = scons.python.withPackages (ps: with ps; [ pyyaml cheetah3 psutil setuptools ]);
             scons = sconsPackages.scons_latest;
             mozjsVersion = "60";
             mozjsReplace = "defined(HAVE___SINCOS)";
           }
-    else { python = python27.withPackages (ps: with ps; [ pyyaml typing cheetah ]);
+    else rec { python = scons.python.withPackages (ps: with ps; [ pyyaml typing cheetah ]);
             scons = sconsPackages.scons_3_1_2;
             mozjsVersion = "45";
             mozjsReplace = "defined(HAVE_SINCOS)";
           };
-  python = python27.withPackages (ps: with ps; [ pyyaml typing cheetah ]);
   system-libraries = [
     "boost"
     "pcre"
diff --git a/nixpkgs/pkgs/servers/nosql/victoriametrics/default.nix b/nixpkgs/pkgs/servers/nosql/victoriametrics/default.nix
index 12ad70375121..4ef8fe9575f2 100644
--- a/nixpkgs/pkgs/servers/nosql/victoriametrics/default.nix
+++ b/nixpkgs/pkgs/servers/nosql/victoriametrics/default.nix
@@ -13,7 +13,7 @@ buildGoModule rec {
 
   vendorSha256 = null;
 
-  buildFlagsArray = [ "-ldflags=-s -w -X github.com/VictoriaMetrics/VictoriaMetrics/lib/buildinfo.Version=${version}" ];
+  ldflags = [ "-s" "-w" "-X github.com/VictoriaMetrics/VictoriaMetrics/lib/buildinfo.Version=${version}" ];
 
   passthru.tests = { inherit (nixosTests) victoriametrics; };
 
diff --git a/nixpkgs/pkgs/servers/oauth2-proxy/default.nix b/nixpkgs/pkgs/servers/oauth2-proxy/default.nix
index a5aee60d8bb1..dfc1756b3746 100644
--- a/nixpkgs/pkgs/servers/oauth2-proxy/default.nix
+++ b/nixpkgs/pkgs/servers/oauth2-proxy/default.nix
@@ -14,7 +14,7 @@ buildGoModule rec {
   vendorSha256 = "sha256-kclpoZ33JOciP2IUCQZB5idA7rgbWxPPFNwZU+pEJFU=";
 
   # Taken from https://github.com/oauth2-proxy/oauth2-proxy/blob/master/Makefile
-  buildFlagsArray = ("-ldflags=-X main.VERSION=${version}");
+  ldflags = [ "-X main.VERSION=${version}" ];
 
   meta = with lib; {
     description = "A reverse proxy that provides authentication with Google, Github, or other providers";
diff --git a/nixpkgs/pkgs/servers/ombi/default.nix b/nixpkgs/pkgs/servers/ombi/default.nix
index e5e37321d523..0be7a3f0097c 100644
--- a/nixpkgs/pkgs/servers/ombi/default.nix
+++ b/nixpkgs/pkgs/servers/ombi/default.nix
@@ -10,14 +10,14 @@ let
     "Unsupported system: ${stdenv.hostPlatform.system}");
 
   hash = {
-    x64-linux_hash = "sha256-LRScuJVI3/657RYZjY9I3rcmANaEaw48CWIYc0VWHs4=";
-    arm64-linux_hash = "sha256-k0wi8FlVnU60Cnsng6CNNfoP+UItFLj15OxsqAfkO+4=";
-    x64-osx_hash = "sha256-czcPj+PC4cfJMqYYZyVy1ReO8pqYFUqeV8o/moHuCRw=";
+    x64-linux_hash = "sha256-4kvcBRMMH4AnTKSES5Cpst/omTRXVRq1V1y/z5njKJI=";
+    arm64-linux_hash = "sha256-NLsf0ldvlKSrHJyAXv5Ar2zIetoga6iZPOGTxFOqoQQ=";
+    x64-osx_hash = "sha256-tjvGuShz/fv3qUknFVKJ+tE/bVtIyPZ7dr4JfTEcDJY=";
   }."${arch}-${os}_hash";
 
 in stdenv.mkDerivation rec {
   pname = "ombi";
-  version = "4.0.1430";
+  version = "4.0.1468";
 
   sourceRoot = ".";
 
diff --git a/nixpkgs/pkgs/servers/openafs/1.8/module.nix b/nixpkgs/pkgs/servers/openafs/1.8/module.nix
index 2e33e61c0e52..4f1404b62820 100644
--- a/nixpkgs/pkgs/servers/openafs/1.8/module.nix
+++ b/nixpkgs/pkgs/servers/openafs/1.8/module.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchurl, which, autoconf, automake, flex, bison
-, kernel, glibc, perl, libtool_2, libkrb5, fetchpatch }:
+, kernel, glibc, perl, libtool_2, libkrb5 }:
 
 with (import ./srcs.nix {
   inherit fetchurl;
@@ -18,49 +18,6 @@ in stdenv.mkDerivation {
 
   buildInputs = [ libkrb5 ];
 
-  patches = [
-    # LINUX 5.8: Replace kernel_setsockopt with new funcs
-    (fetchpatch {
-      url = "https://github.com/openafs/openafs/commit/d7fc5bf9bf031089d80703c48daf30d5b15a80ca.patch";
-      sha256 = "0469ydzgvyvrl1b2s1qbl9cd8c5c1nb99c3z52z5i685da5z6pab";
-    })
-    # LINUX 5.8: do not set name field in backing_dev_info
-    (fetchpatch {
-      url = "https://github.com/openafs/openafs/commit/335f37be13d2ff954e4aeea617ee66502170805e.patch";
-      sha256 = "0jr6cgplnip61cjlcd3fvgsc6n3jhfk93mm9m7ak04w1vc26dk9x";
-    })
-    # LINUX 5.8: use lru_cache_add
-    (fetchpatch {
-      url = "https://github.com/openafs/openafs/commit/facff58b840a47853592510617ba7a1da2e3eaa9.patch";
-      sha256 = "0izafg6bi5iaigq3jjx0zlg1cxwaddz3238hk0s08fcb6nyhkvx1";
-    })
-    # LINUX 5.9: Remove HAVE_UNLOCKED_IOCTL/COMPAT_IOCTL
-    (fetchpatch {
-      url = "https://github.com/openafs/openafs/commit/e7902252f15acfc28453c531f6fa3b29c9c91b92.patch";
-      sha256 = "1jy4v8yx8p6mhma6b3h3g94mb38bw7hg7q6lnyc8bijkbnl0d1rl";
-    })
-    # Linux: Refactor test for 32bit compat
-    (fetchpatch {
-      url = "https://github.com/openafs/openafs/commit/4ad1057ab8fd206c9fa8d5e3bdde4f1a8417afdb.patch";
-      sha256 = "0v2537wkav78yi8lv6fkd1n6rf2g17igf44rpa3kd0kkidxv5lqr";
-    })
-    # Linux 5.11: Test 32bit compat with in_compat_syscall
-    (fetchpatch {
-      url = "https://github.com/openafs/openafs/commit/ee53dd3bc087a05e22fc4111297a51ddb30013f0.patch";
-      sha256 = "0dfab3zk0dmf6iksna5n09lf5dn4f8w43q4irl2yf5dgqm35shkr";
-    })
-    # Linux: Create wrapper for setattr_prepare
-    (fetchpatch {
-      url = "https://github.com/openafs/openafs/commit/5a5d358b02b88d6d2c7a27a75149e35b1de7db38.patch";
-      sha256 = "07gywsg41cz5h6iafr4pb0gb9jnsb58xkwn479lw46b3y5jgz7ki";
-    })
-    # Linux 5.12: Add user_namespace param to inode ops
-    (fetchpatch {
-      url = "https://github.com/openafs/openafs/commit/c747b15dd2877e6d17e3e6b940ae78c1e1ccd3ea.patch";
-      sha256 = "0bbqmx4nkmfkapk25zrv9ivhhs91rn9dizb1lkfs7a6937q1kaqh";
-    })
-  ];
-
   hardeningDisable = [ "pic" ];
 
   configureFlags = [
@@ -98,7 +55,7 @@ in stdenv.mkDerivation {
     homepage = "https://www.openafs.org";
     license = licenses.ipl10;
     platforms = platforms.linux;
-    maintainers = [ maintainers.maggesi maintainers.spacefrogg ];
+    maintainers = with maintainers; [ maggesi spacefrogg ];
     broken = versionOlder kernel.version "3.18" || kernel.isHardened;
   };
 }
diff --git a/nixpkgs/pkgs/servers/openafs/1.8/srcs.nix b/nixpkgs/pkgs/servers/openafs/1.8/srcs.nix
index f1fd7ff4c0fe..f35903e50916 100644
--- a/nixpkgs/pkgs/servers/openafs/1.8/srcs.nix
+++ b/nixpkgs/pkgs/servers/openafs/1.8/srcs.nix
@@ -1,14 +1,14 @@
 { fetchurl }:
 rec {
-  version = "1.8.7";
+  version = "1.8.8";
   src = fetchurl {
     url = "https://www.openafs.org/dl/openafs/${version}/openafs-${version}-src.tar.bz2";
-    sha256 = "0ygsrf65w9sqji2x3jbx3h31vk6513s6nalzxi7p2ryf3xb3lm2k";
+    sha256 = "sha256-2qjvhqdyf6z83jvJemrRQxKcHCXuNfM0cIDsfp0oTaA=";
   };
 
   srcs = [ src
     (fetchurl {
       url = "https://www.openafs.org/dl/openafs/${version}/openafs-${version}-doc.tar.bz2";
-      sha256 = "0zri99pxmp4klh8ki5ycnjpf1h21lynn4049s6ywmap1vkpq84yn";
+      sha256 = "sha256-3cxODH1KvOTxrGB+acEudxGCX1iBPjZcTfjpfraOm+U=";
     })];
 }
diff --git a/nixpkgs/pkgs/servers/pg_featureserv/default.nix b/nixpkgs/pkgs/servers/pg_featureserv/default.nix
index fd31d728a3b2..9a4fd071338e 100644
--- a/nixpkgs/pkgs/servers/pg_featureserv/default.nix
+++ b/nixpkgs/pkgs/servers/pg_featureserv/default.nix
@@ -13,7 +13,7 @@ buildGoModule rec {
 
   vendorSha256 = "1jqrkx850ghmpnfjhqky93r8fq7q63m5ivs0lzljzbvn7ya75f2r";
 
-  buildFlagsArray = [ "-ldflags=-s -w -X github.com/CrunchyData/pg_featureserv/conf.setVersion=${version}" ];
+  ldflags = [ "-s" "-w" "-X github.com/CrunchyData/pg_featureserv/conf.setVersion=${version}" ];
 
   meta = with lib; {
     description = "Lightweight RESTful Geospatial Feature Server for PostGIS in Go";
diff --git a/nixpkgs/pkgs/servers/pg_tileserv/default.nix b/nixpkgs/pkgs/servers/pg_tileserv/default.nix
index d9ba4e8e6fa0..a380af0311b3 100644
--- a/nixpkgs/pkgs/servers/pg_tileserv/default.nix
+++ b/nixpkgs/pkgs/servers/pg_tileserv/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "pg_tileserv";
-  version = "1.0.7";
+  version = "1.0.8";
 
   src = fetchFromGitHub {
     owner = "CrunchyData";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-PHF8n0rjxvajyC/y2sFcdvxQdDFXkxcDZOkYT10UsE4=";
+    sha256 = "07xj807cbggnh8k7d2i7h326p4wjb8sz5ng0hbdnznvyc4sb2cdw";
   };
 
   vendorSha256 = "sha256-qdlh9H039GwKTxOhx+dzyUHkzJbaOeuguKnBOyAPe/E=";
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.programVersion=${version}" ];
+  ldflags = [ "-s" "-w" "-X main.programVersion=${version}" ];
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/servers/pleroma/default.nix b/nixpkgs/pkgs/servers/pleroma/default.nix
index 01608f1ca464..356d320d4d1f 100644
--- a/nixpkgs/pkgs/servers/pleroma/default.nix
+++ b/nixpkgs/pkgs/servers/pleroma/default.nix
@@ -7,14 +7,14 @@
 
 beamPackages.mixRelease rec {
   pname = "pleroma";
-  version = "2.3.50";
+  version = "2.4.0";
 
   src = fetchFromGitLab {
     domain = "git.pleroma.social";
     owner = "pleroma";
     repo = "pleroma";
-    rev = "94687e23938b808a3fff95c92956ec337160cd0b";
-    sha256 = "160ss6qhx3007lyb0f5cjzbm5dzxq9q8rfn83l8qfxgan8hliag6";
+    rev = "v${version}";
+    sha256 = "sha256-1zp/qVk2K3q8AtkfXab0MBAHaQnY5enVtfdu64FFPhg=";
   };
 
   mixNixDeps = import ./mix.nix {
@@ -36,18 +36,6 @@ beamPackages.mixRelease rec {
         };
         beamDeps = with final; [ prometheus ];
       };
-      eblurhash = beamPackages.buildRebar3 rec {
-        name = "eblurhash";
-        version = "0.0.0";
-
-        src = fetchFromGitHub {
-          owner = "zotonic";
-          repo = "eblurhash";
-          rev = "04a0b76eadf4de1be17726f39b6313b88708fd12";
-          sha256 = "1b9r41scg9rn3skx65ssv1q5lczmg0ky6h1y39qajsvdi5w3swyx";
-        };
-        beamDeps = with final; [ ];
-      };
       captcha = beamPackages.buildMix rec {
         name = "captcha";
         version = "0.1.0";
diff --git a/nixpkgs/pkgs/servers/pleroma/mix.nix b/nixpkgs/pkgs/servers/pleroma/mix.nix
index d32e20b31233..ccced19bf9fb 100644
--- a/nixpkgs/pkgs/servers/pleroma/mix.nix
+++ b/nixpkgs/pkgs/servers/pleroma/mix.nix
@@ -346,53 +346,53 @@ let
       beamDeps = [];
     };
 
-    ecto = buildMix rec {
-      name = "ecto";
-      version = "3.4.6";
+    eblurhash = buildRebar3 rec {
+      name = "eblurhash";
+      version = "1.1.0";
 
       src = fetchHex {
         pkg = "${name}";
         version = "${version}";
-        sha256 = "02zpyd5mm2zfkz4b839nz1x3ias5av3by1vjzkfc4x9flviaj4vg";
+        sha256 = "07dmkbyafpxffh8ar6af4riqfxiqc547rias7i73gpgx16fqhsrf";
       };
 
-      beamDeps = [ decimal jason telemetry ];
+      beamDeps = [];
     };
 
-    ecto_enum = buildMix rec {
-      name = "ecto_enum";
-      version = "1.4.0";
+    ecto = buildMix rec {
+      name = "ecto";
+      version = "3.6.2";
 
       src = fetchHex {
         pkg = "${name}";
         version = "${version}";
-        sha256 = "1r2ffrr020fhfviqn21cv06sd3sp4bf1jra0xrgb3hl1f445rdcg";
+        sha256 = "0kl893yi9jxzxnpd5gafivzazn96z2q24y04lfw8dyg60kxnvbgg";
       };
 
-      beamDeps = [ ecto ecto_sql postgrex ];
+      beamDeps = [ decimal jason telemetry ];
     };
 
-    ecto_explain = buildMix rec {
-      name = "ecto_explain";
-      version = "0.1.2";
+    ecto_enum = buildMix rec {
+      name = "ecto_enum";
+      version = "1.4.0";
 
       src = fetchHex {
         pkg = "${name}";
         version = "${version}";
-        sha256 = "0c3366grl2r7k29a7sxwgqmq670c98sya4p96k7g9v1hmsc7f3hx";
+        sha256 = "1r2ffrr020fhfviqn21cv06sd3sp4bf1jra0xrgb3hl1f445rdcg";
       };
 
-      beamDeps = [];
+      beamDeps = [ ecto ecto_sql postgrex ];
     };
 
     ecto_sql = buildMix rec {
       name = "ecto_sql";
-      version = "3.4.5";
+      version = "3.6.2";
 
       src = fetchHex {
         pkg = "${name}";
         version = "${version}";
-        sha256 = "1hlar4r206szv84qbxc4igg2grvmqaa4mls110y6mcvr6mm0r69i";
+        sha256 = "0syv5wjdkywaxx9mmps0x9sdawqp3nnakbnf7av3ksj2yzkdgjay";
       };
 
       beamDeps = [ db_connection ecto postgrex telemetry ];
@@ -842,12 +842,12 @@ let
 
     linkify = buildMix rec {
       name = "linkify";
-      version = "0.5.0";
+      version = "0.5.1";
 
       src = fetchHex {
         pkg = "${name}";
         version = "${version}";
-        sha256 = "1mzjkn0f2svn44fhazkhpaxnwn9hbnqha7z2i4fcbrxfa21rbkac";
+        sha256 = "0i7r9z49sdxs7nrnh2igmwzzmq9ih4fm02a046klmnps49z8q4m3";
       };
 
       beamDeps = [];
@@ -1154,12 +1154,12 @@ let
 
     plug = buildMix rec {
       name = "plug";
-      version = "1.11.1";
+      version = "1.10.4";
 
       src = fetchHex {
         pkg = "${name}";
         version = "${version}";
-        sha256 = "07w83cx4xx90x4l1kmil4lpby55lpw83jfw3y08pqn5vxx7lwli3";
+        sha256 = "1874ixvvjklg0hnxr6d990qzarvvfxhd4s35c5bfqbixwwzj67md";
       };
 
       beamDeps = [ mime plug_crypto telemetry ];
@@ -1517,4 +1517,3 @@ let
     };
   };
 in self
-
diff --git a/nixpkgs/pkgs/servers/plex/raw.nix b/nixpkgs/pkgs/servers/plex/raw.nix
index 1d527fb203c1..62247d83ddee 100644
--- a/nixpkgs/pkgs/servers/plex/raw.nix
+++ b/nixpkgs/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.23.5.4841-549599676";
+  version = "1.24.1.4931-1a38e63c6";
   pname = "plexmediaserver";
 
   # Fetch the source
   src = if stdenv.hostPlatform.system == "aarch64-linux" then fetchurl {
     url = "https://downloads.plex.tv/plex-media-server-new/${version}/debian/plexmediaserver_${version}_arm64.deb";
-    sha256 = "168aill68fcq3cv3a78yhqnfxziww8r80is179y9jxmhymnmzp9q";
+    sha256 = "1vsg90rlhynfk8wlbf080fv9wah7w8244pl878hjbi6yrjmz2s7g";
   } else fetchurl {
     url = "https://downloads.plex.tv/plex-media-server-new/${version}/debian/plexmediaserver_${version}_amd64.deb";
-    sha256 = "0cp2likx2dqy6j5icp5n07kg1md9qvq9vsh4818m86r2p015qlvb";
+    sha256 = "08xai0jcpmj1hwkkkgc87v9xwszd5bvwhn36kp6v73jnv1l5cmqb";
   };
 
   outputs = [ "out" "basedb" ];
diff --git a/nixpkgs/pkgs/servers/postfixadmin/default.nix b/nixpkgs/pkgs/servers/postfixadmin/default.nix
new file mode 100644
index 000000000000..e561b3931f73
--- /dev/null
+++ b/nixpkgs/pkgs/servers/postfixadmin/default.nix
@@ -0,0 +1,28 @@
+{ fetchFromGitHub, stdenv, lib }:
+
+stdenv.mkDerivation rec {
+  pname = "postfixadmin";
+  version = "3.3.10";
+
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = "${pname}-${version}";
+    sha256 = "0xck6df96r4z8k2j8x20b8h2qvmzyrfsya82s4i7hfhrxii92d3w";
+  };
+
+  installPhase = ''
+    mkdir $out
+    cp -r * $out/
+    ln -sf /etc/postfixadmin/config.local.php $out/
+    ln -sf /var/cache/postfixadmin/templates_c $out/
+  '';
+
+  meta = {
+    description = "Web based virtual user administration interface for Postfix mail servers";
+    homepage = "https://postfixadmin.sourceforge.io/";
+    maintainers = with lib.maintainers; [ globin ];
+    license = lib.licenses.gpl2Plus;
+    platforms = lib.platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/servers/pounce/default.nix b/nixpkgs/pkgs/servers/pounce/default.nix
index 3ff6b112a978..8e1b0864c9bc 100644
--- a/nixpkgs/pkgs/servers/pounce/default.nix
+++ b/nixpkgs/pkgs/servers/pounce/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "pounce";
-  version = "2.3";
+  version = "2.4";
 
   src = fetchzip {
     url = "https://git.causal.agency/pounce/snapshot/pounce-${version}.tar.gz";
-    sha256 = "0pk3kwr6k6dz2vdx1kyv7mhj756j4bwsmdlmjzhh8ghczjqp2s2x";
+    sha256 = "sha256-bEObiqgkSarYILwZE70OjRyEUy3QZg+FLocWljFRGNc=";
   };
 
   buildInputs = [ libressl ];
diff --git a/nixpkgs/pkgs/servers/pulseaudio/default.nix b/nixpkgs/pkgs/servers/pulseaudio/default.nix
index 10b18dd1ae1d..232b228394bb 100644
--- a/nixpkgs/pkgs/servers/pulseaudio/default.nix
+++ b/nixpkgs/pkgs/servers/pulseaudio/default.nix
@@ -92,7 +92,10 @@ stdenv.mkDerivation rec {
       "--with-bash-completion-dir=${placeholder "out"}/share/bash-completions/completions"
     ]
     ++ lib.optional (jackaudioSupport && !libOnly) "--enable-jack"
-    ++ lib.optional stdenv.isDarwin "--with-mac-sysroot=/"
+    ++ lib.optionals stdenv.isDarwin [
+      "--with-mac-sysroot=/"
+      "--disable-neon-opt"
+    ]
     ++ lib.optional (stdenv.isLinux && useSystemd) "--with-systemduserunitdir=${placeholder "out"}/lib/systemd/user"
     ++ lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) "--disable-gsettings";
 
diff --git a/nixpkgs/pkgs/servers/reproxy/default.nix b/nixpkgs/pkgs/servers/reproxy/default.nix
index 0d25b4267838..25fb5268c146 100644
--- a/nixpkgs/pkgs/servers/reproxy/default.nix
+++ b/nixpkgs/pkgs/servers/reproxy/default.nix
@@ -27,8 +27,8 @@ buildGoModule rec {
 
   vendorSha256 = null;
 
-  buildFlagsArray = [
-    "-ldflags=-s -w -X main.revision=${version}"
+  ldflags = [
+    "-s" "-w" "-X main.revision=${version}"
   ];
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/servers/rippled/data-api.nix b/nixpkgs/pkgs/servers/rippled/data-api.nix
index 2d1db24474bb..a2de1d8fad3a 100644
--- a/nixpkgs/pkgs/servers/rippled/data-api.nix
+++ b/nixpkgs/pkgs/servers/rippled/data-api.nix
@@ -5,7 +5,7 @@ with lib;
 let
   np = nodePackages.override { generated = ./package.nix; self = np; };
 in nodePackages.buildNodePackage rec {
-  name = "ripple-data-api-${version}";
+  pname = "ripple-data-api";
   version = lib.strings.substring 0 7 rev;
   rev = "c56b860105f36c1c44ae011189d495272648c589";
 
diff --git a/nixpkgs/pkgs/servers/roon-bridge/default.nix b/nixpkgs/pkgs/servers/roon-bridge/default.nix
index 5b469c1cc9d7..74851446c999 100644
--- a/nixpkgs/pkgs/servers/roon-bridge/default.nix
+++ b/nixpkgs/pkgs/servers/roon-bridge/default.nix
@@ -7,19 +7,28 @@
 , stdenv
 , zlib
 }:
-
+let
+  inherit (stdenv.targetPlatform) system;
+  throwSystem = throw "Unsupported system: ${system}";
+in
 stdenv.mkDerivation rec {
   pname = "roon-bridge";
-  version = "1.8-795";
+  version = "1.8-814";
 
   # N.B. The URL is unstable. I've asked for them to provide a stable URL but
   # they have ignored me. If this package fails to build for you, you may need
   # to update the version and sha256.
   # c.f. https://community.roonlabs.com/t/latest-roon-server-is-not-available-for-download-on-nixos/118129
-  src = fetchurl {
-    url = "https://web.archive.org/web/20210610172810/http://download.roonlabs.com/builds/RoonBridge_linuxx64.tar.bz2";
-    sha256 = "sha256-ahdy0/TBOyMfCt4VTkcDTZGAFmwQJT2KvZuMtFcAY3w=";
-  };
+  src = {
+    x86_64-linux = fetchurl {
+      url = "https://web.archive.org/web/20210729154257/http://download.roonlabs.com/builds/RoonBridge_linuxx64.tar.bz2";
+      sha256 = "sha256-dersaP/8qkl9k81FrgMieB0P4nKmDwjLW5poqKhEn7A=";
+    };
+    aarch64-linux = fetchurl {
+      url = "https://web.archive.org/web/20210803071334/http://download.roonlabs.com/builds/RoonBridge_linuxarmv8.tar.bz2";
+      sha256 = "sha256-zZj7PkLUYYHo3dngqErv1RqynSXi6/D5VPZWfrppX5U=";
+    };
+  }.${system} or throwSystem;
 
   buildInputs = [
     alsa-lib
diff --git a/nixpkgs/pkgs/servers/roon-server/default.nix b/nixpkgs/pkgs/servers/roon-server/default.nix
index 91371a085575..61af3f2425e7 100644
--- a/nixpkgs/pkgs/servers/roon-server/default.nix
+++ b/nixpkgs/pkgs/servers/roon-server/default.nix
@@ -11,15 +11,15 @@
 , zlib
 }: stdenv.mkDerivation rec {
   pname = "roon-server";
-  version = "1.8-806";
+  version = "1.8-814";
 
   # N.B. The URL is unstable. I've asked for them to provide a stable URL but
   # they have ignored me. If this package fails to build for you, you may need
   # to update the version and sha256.
   # c.f. https://community.roonlabs.com/t/latest-roon-server-is-not-available-for-download-on-nixos/118129
   src = fetchurl {
-    url = "https://web.archive.org/web/20210707070319/http://download.roonlabs.com/builds/RoonServer_linuxx64.tar.bz2";
-    sha256 = "sha256-TRgsHR71wNz2MoH+RZrIaWEzQSAbo+q8ICKfmmCFy5Y=";
+    url = "https://web.archive.org/web/20210729154130/http://download.roonlabs.com/builds/RoonServer_linuxx64.tar.bz2";
+    sha256 = "sha256-GbWcgNq+dmzoHNFZyB/QFCvJ7Hh48v8IuGS4WMNlKgI=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/servers/routinator/default.nix b/nixpkgs/pkgs/servers/routinator/default.nix
index 8412d0069c7d..1ee312325923 100644
--- a/nixpkgs/pkgs/servers/routinator/default.nix
+++ b/nixpkgs/pkgs/servers/routinator/default.nix
@@ -2,17 +2,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "routinator";
-  version = "0.9.0";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "NLnetLabs";
     repo = pname;
-    rev = version;
-    sha256 = "sha256-8CBsLOAF0JnRMe7qLod6UDPGLMPwqDm0Z5BjB4KCkBc=";
+    rev = "v${version}";
+    sha256 = "171zmqqkgdpbspn70sgsypnyw7m6q2x8izwxrzbyi5xslsgd24i4";
   };
 
   buildInputs = lib.optionals stdenv.isDarwin [ Security ];
-  cargoSha256 = "sha256-S/RAt3tCIlaSqIHqP5C+QK9aQq+4CO/MW2toUo9kVKk=";
+  cargoSha256 = "0r1m1zv3mkmmaalln3ny6m33dyjqzdyfbmkcav05kz12xjdd94fs";
 
   meta = with lib; {
     description = "An RPKI Validator written in Rust";
diff --git a/nixpkgs/pkgs/servers/rpiplay/default.nix b/nixpkgs/pkgs/servers/rpiplay/default.nix
new file mode 100644
index 000000000000..672c6746abcb
--- /dev/null
+++ b/nixpkgs/pkgs/servers/rpiplay/default.nix
@@ -0,0 +1,49 @@
+{ lib, stdenv, pkg-config, fetchFromGitHub, fetchpatch, cmake, wrapGAppsHook, avahi, avahi-compat, openssl, gst_all_1, libplist }:
+
+stdenv.mkDerivation rec {
+  pname = "rpiplay";
+  version = "unstable-2021-06-14";
+
+  src = fetchFromGitHub {
+    owner = "FD-";
+    repo = "RPiPlay";
+    rev = "35dd995fceed29183cbfad0d4110ae48e0635786";
+    sha256 = "sha256-qe7ZTT45NYvzgnhRmz15uGT/FnGi9uppbKVbmch5B9A=";
+  };
+
+  patches = [
+    # allow rpiplay to be used with firewall enabled.
+    # sets static ports 7000 7100 (tcp) and 6000 6001 7011 (udp)
+    (fetchpatch {
+      name = "use-static-ports.patch";
+      url = "https://github.com/FD-/RPiPlay/commit/2ffc287ba822e1d2b2ed0fc0e41a2bb3d9dab105.patch";
+      sha256 = "08dy829gyhyzw2n54zn5m3176cmd24k5hij24vpww5bhbwkbabww";
+    })
+  ];
+
+  nativeBuildInputs = [
+    cmake
+    openssl
+    libplist
+    pkg-config
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    avahi
+    avahi-compat
+    gst_all_1.gstreamer
+    gst_all_1.gst-plugins-base
+    gst_all_1.gst-plugins-good
+    gst_all_1.gst-plugins-bad
+    gst_all_1.gst-plugins-ugly
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/FD-/RPiPlay";
+    description = "An open-source implementation of an AirPlay mirroring server.";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ mschneider ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/servers/rtsp-simple-server/default.nix b/nixpkgs/pkgs/servers/rtsp-simple-server/default.nix
index baf364cfece8..c6897167cefa 100644
--- a/nixpkgs/pkgs/servers/rtsp-simple-server/default.nix
+++ b/nixpkgs/pkgs/servers/rtsp-simple-server/default.nix
@@ -5,22 +5,24 @@
 
 buildGoModule rec {
   pname = "rtsp-simple-server";
-  version = "0.15.4";
+  version = "0.17.2";
 
   src = fetchFromGitHub {
     owner = "aler9";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-6XdX4HEjDRt9WtqyHIv/NLt7IytNDeJLgCeTHTGybRI=";
+    sha256 = "sha256-z3dT5WtchG3FeWZsqKOPUk9D5G6srr5+DgY0A0nWSzk=";
   };
 
-  vendorSha256 = "sha256-T5LWbxYsKnG5eaYLR/rms6+2DXv2lV9o39BvF7HapZY=";
+  vendorSha256 = "sha256-buQW5jMnHyHc/oYdmfTnoktFRG3V3SNxn7t5mAwmiJI=";
 
   # Tests need docker
   doCheck = false;
 
-  buildFlagsArray = [
-    "-ldflags=-X main.Version=${version}"
+  # In the future, we might need to switch to `main.Version`, considering:
+  # https://github.com/aler9/rtsp-simple-server/issues/503
+  ldflags = [
+    "-X github.com/aler9/rtsp-simple-server/internal/core.version=v${version}"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/servers/samba/4.x.nix b/nixpkgs/pkgs/servers/samba/4.x.nix
index 3ae30699546d..d75b204db293 100644
--- a/nixpkgs/pkgs/servers/samba/4.x.nix
+++ b/nixpkgs/pkgs/servers/samba/4.x.nix
@@ -1,13 +1,14 @@
 { lib, stdenv
+, buildPackages
 , fetchurl
-, python
+, wafHook
 , pkg-config
 , bison
 , flex
 , perl
 , libxslt
+, heimdal
 , docbook_xsl
-, rpcgen
 , fixDarwinDylibNames
 , docbook_xml_dtd_45
 , readline
@@ -17,7 +18,6 @@
 , libarchive
 , zlib
 , liburing
-, fam
 , gnutls
 , libunwind
 , systemd
@@ -59,26 +59,31 @@ stdenv.mkDerivation rec {
     ./patch-source3__libads__kerberos_keytab.c.patch
     ./4.x-no-persistent-install-dynconfig.patch
     ./4.x-fix-makeflags-parsing.patch
+    ./build-find-pre-built-heimdal-build-tools-in-case-of-.patch
   ];
 
   nativeBuildInputs = [
+    python3Packages.python
+    wafHook
     pkg-config
     bison
     flex
     perl
     perl.pkgs.ParseYapp
     libxslt
+    buildPackages.stdenv.cc
+    heimdal
     docbook_xsl
     docbook_xml_dtd_45
     cmocka
     rpcsvc-proto
   ] ++ optionals stdenv.isDarwin [
-    rpcgen
     fixDarwinDylibNames
   ];
 
   buildInputs = [
-    python
+    python3Packages.python
+    python3Packages.wrapPython
     readline
     popt
     dbus
@@ -86,7 +91,6 @@ stdenv.mkDerivation rec {
     libbsd
     libarchive
     zlib
-    fam
     libunwind
     gnutls
     libtasn1
@@ -102,6 +106,8 @@ stdenv.mkDerivation rec {
     ++ optional enableAcl acl
     ++ optional enablePam pam;
 
+  wafPath = "buildtools/bin/waf";
+
   postPatch = ''
     # Removes absolute paths in scripts
     sed -i 's,/sbin/,,g' ctdb/config/functions
@@ -112,7 +118,11 @@ stdenv.mkDerivation rec {
     patchShebangs ./buildtools/bin
   '';
 
-  configureFlags = [
+  preConfigure = ''
+    export PKGCONFIG="$PKG_CONFIG"
+  '';
+
+  wafConfigureFlags = [
     "--with-static-modules=NONE"
     "--with-shared-modules=ALL"
     "--enable-fhs"
@@ -126,7 +136,20 @@ stdenv.mkDerivation rec {
     "--without-ads"
   ] ++ optional enableProfiling "--with-profiling-data"
     ++ optional (!enableAcl) "--without-acl-support"
-    ++ optional (!enablePam) "--without-pam";
+    ++ optional (!enablePam) "--without-pam"
+    ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
+    "--bundled-libraries=!asn1_compile,!compile_et"
+  ] ++ optional stdenv.isAarch32 [
+    # https://bugs.gentoo.org/683148
+    "--jobs 1"
+  ];
+
+  # python-config from build Python gives incorrect values when cross-compiling.
+  # If python-config is not found, the build falls back to using the sysconfig
+  # module, which works correctly in all cases.
+  PYTHON_CONFIG = "/invalid";
+
+  pythonPath = [ python3Packages.dnspython tdb ];
 
   preBuild = ''
     export MAKEFLAGS="-j $NIX_BUILD_CORES"
@@ -146,6 +169,13 @@ stdenv.mkDerivation rec {
     patchelf --shrink-rpath "\$BIN";
     EOF
     find $out -type f -name \*.so -exec $SHELL -c "$SCRIPT" \;
+
+    # Samba does its own shebang patching, but uses build Python
+    find "$out/bin" -type f -executable -exec \
+      sed -i '1 s^#!${python3Packages.python.pythonForBuild}/bin/python.*^#!${python3Packages.python.interpreter}^' {} \;
+
+    # Fix PYTHONPATH for some tools
+    wrapPythonPrograms
   '';
 
   passthru = {
diff --git a/nixpkgs/pkgs/servers/samba/build-find-pre-built-heimdal-build-tools-in-case-of-.patch b/nixpkgs/pkgs/servers/samba/build-find-pre-built-heimdal-build-tools-in-case-of-.patch
new file mode 100644
index 000000000000..b8636958ee27
--- /dev/null
+++ b/nixpkgs/pkgs/servers/samba/build-find-pre-built-heimdal-build-tools-in-case-of-.patch
@@ -0,0 +1,87 @@
+From e002d2ef2688d5433d2bd03aa4d77a0ec5ac4e63 Mon Sep 17 00:00:00 2001
+From: Uri Simchoni <uri@samba.org>
+Date: Sun, 20 Oct 2019 00:03:14 +0300
+Subject: [PATCH] build: find pre-built heimdal build tools in case of embedded
+ heimdal
+
+This patch fixes the case of finding asn1_compile and compile_et for
+building embedded heimdal, by setting
+--bundled-libraries='!asn1_compile,!compile_et' as configure flags.
+
+The Heimdal build tools compile_et and asn1_compile are needed *only*
+if we use the embedded heimdal (otherwise we don't build heimdal and
+use headers that have been generated by those tools elsewhere).
+
+For cross-compilation with embedded heimdal, it is vital to use host build
+tools, and so asn1_compile and compile_et must be supplied and not
+built. One way of doing this would be to set the COMPILE_ET and
+ASN1_COMPILE env vars to the location of supplied binaries. Another way,
+which is more commonly used, is to exclude asn1_compile and compile_et
+from bundled packages via the switch
+-bundled-libraries='!asn1_compile,!compile_et'. When this is done,
+the build script searches the path for those tools and sets the
+ASN1_COMPILE and COMPILE_ET vars accordingly. (this is admittedly
+kind of a round-about way of doing things but this has become the
+de-facto standard amongst embedded distro builders).
+
+In commit 8061983d4882f3ba3f12da71443b035d7b672eec, this process of
+finding the binaris has been moved to be carried out only in the
+system heimdal case. As explained above, we only need these tools,
+and hence the check, in bundled mode.
+
+BUG: https://bugzilla.samba.org/show_bug.cgi?id=14164
+
+Signed-off-by: Uri Simchoni <uri@samba.org>
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+[Bernd: rebased for version 4.11.13]
+---
+ wscript_configure_embedded_heimdal | 11 +++++++++++
+ wscript_configure_system_heimdal   | 11 -----------
+ 2 files changed, 11 insertions(+), 11 deletions(-)
+
+diff --git a/wscript_configure_embedded_heimdal b/wscript_configure_embedded_heimdal
+index 8c55ae2a938..4fdae8062c5 100644
+--- a/wscript_configure_embedded_heimdal
++++ b/wscript_configure_embedded_heimdal
+@@ -1 +1,12 @@
+ conf.RECURSE('source4/heimdal_build')
++
++def check_system_heimdal_binary(name):
++    if conf.LIB_MAY_BE_BUNDLED(name):
++        return False
++    if not conf.find_program(name, var=name.upper()):
++        return False
++    conf.define('USING_SYSTEM_%s' % name.upper(), 1)
++    return True
++
++check_system_heimdal_binary("compile_et")
++check_system_heimdal_binary("asn1_compile")
+diff --git a/wscript_configure_system_heimdal b/wscript_configure_system_heimdal
+index 0ff6dad2f55..f77c177442f 100644
+--- a/wscript_configure_system_heimdal
++++ b/wscript_configure_system_heimdal
+@@ -37,14 +37,6 @@ def check_system_heimdal_lib(name, functions='', headers='', onlyif=None):
+     conf.define('USING_SYSTEM_%s' % name.upper(), 1)
+     return True
+ 
+-def check_system_heimdal_binary(name):
+-    if conf.LIB_MAY_BE_BUNDLED(name):
+-        return False
+-    if not conf.find_program(name, var=name.upper()):
+-        return False
+-    conf.define('USING_SYSTEM_%s' % name.upper(), 1)
+-    return True
+-
+ check_system_heimdal_lib("com_err", "com_right_r com_err", "com_err.h")
+ 
+ if check_system_heimdal_lib("roken", "rk_socket_set_reuseaddr", "roken.h"):
+@@ -96,7 +96,4 @@
+ #if conf.CHECK_BUNDLED_SYSTEM('tommath', checkfunctions='mp_init', headers='tommath.h'):
+ #    conf.define('USING_SYSTEM_TOMMATH', 1)
+ 
+-check_system_heimdal_binary("compile_et")
+-check_system_heimdal_binary("asn1_compile")
+-
+ conf.define('USING_SYSTEM_KRB5', 1)
+-- 
+2.20.1
diff --git a/nixpkgs/pkgs/servers/search/elasticsearch/6.x.nix b/nixpkgs/pkgs/servers/search/elasticsearch/6.x.nix
index 3558fd5935e4..4b92592f65df 100644
--- a/nixpkgs/pkgs/servers/search/elasticsearch/6.x.nix
+++ b/nixpkgs/pkgs/servers/search/elasticsearch/6.x.nix
@@ -13,10 +13,10 @@ with lib;
 
 stdenv.mkDerivation (rec {
   version = elk6Version;
-  name = "elasticsearch-${optionalString (!enableUnfree) "oss-"}${version}";
+  pname = "elasticsearch${optionalString (!enableUnfree) "-oss"}";
 
   src = fetchurl {
-    url = "https://artifacts.elastic.co/downloads/elasticsearch/${name}.tar.gz";
+    url = "https://artifacts.elastic.co/downloads/elasticsearch/${pname}-${version}.tar.gz";
     sha256 =
       if enableUnfree
       then "09dy3iyzk460vra6na6vk7d3mzpbv4cl0pl7kjmybxy947j7hh42"
diff --git a/nixpkgs/pkgs/servers/search/elasticsearch/7.x.nix b/nixpkgs/pkgs/servers/search/elasticsearch/7.x.nix
index f808b6985b47..de194bcc7d29 100644
--- a/nixpkgs/pkgs/servers/search/elasticsearch/7.x.nix
+++ b/nixpkgs/pkgs/servers/search/elasticsearch/7.x.nix
@@ -1,10 +1,13 @@
 { elk7Version
 , enableUnfree ? true
-, lib, stdenv
+, lib
+, stdenv
 , fetchurl
 , makeWrapper
 , jre_headless
-, util-linux, gnugrep, coreutils
+, util-linux
+, gnugrep
+, coreutils
 , autoPatchelfHook
 , zlib
 }:
@@ -17,20 +20,20 @@ let
   shas =
     if enableUnfree
     then {
-      x86_64-linux  = "1s27bzx5y8vcd95qrw6av3fhyxb45219x9ahwaxa2cygmbpighrp";
-      x86_64-darwin = "1ia3byir3i5qaarmcaysrg3dhnxjmxnf0m0kzyf61g9aiy87gb7q";
+      x86_64-linux = "sha256-O3rjtvXyJI+kRBqiz2U2OMkCIQj4E+AIHaE8N4o14R4=";
+      x86_64-darwin = "sha256-AwuY2yMxf+v7U5/KD3Cf+Hv6ijjySEyj6pzF3RCsg24=";
     }
     else {
-      x86_64-linux  = "005i7d7ag10qkn7bkx7md50iihvcvc84hay2j94wvsm7yghhbmi3";
-      x86_64-darwin = "01f81720rbzdqc0g1xymhz2lflldfbnb0rh7mpki99pss28vj9sh";
+      x86_64-linux = "sha256-cJrdkFIFgAI6wfQh34Z8yFuLrOCOKzgOsWZhU3S/3NQ=";
+      x86_64-darwin = "sha256-OhMVOdXei9D9cH+O5tBhdKvZ05TsImjMqUUsucRyWMo=";
     };
 in
 stdenv.mkDerivation (rec {
   version = elk7Version;
-  name = "elasticsearch-${optionalString (!enableUnfree) "oss-"}${version}";
+  pname = "elasticsearch${optionalString (!enableUnfree) "-oss"}";
 
   src = fetchurl {
-    url = "https://artifacts.elastic.co/downloads/elasticsearch/${name}-${plat}-${arch}.tar.gz";
+    url = "https://artifacts.elastic.co/downloads/elasticsearch/${pname}-${version}-${plat}-${arch}.tar.gz";
     sha256 = shas.${stdenv.hostPlatform.system} or (throw "Unknown architecture");
   };
 
@@ -48,7 +51,7 @@ stdenv.mkDerivation (rec {
 
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ jre_headless util-linux ]
-             ++ optional enableUnfree zlib;
+    ++ optional enableUnfree zlib;
 
   installPhase = ''
     mkdir -p $out
@@ -56,6 +59,9 @@ stdenv.mkDerivation (rec {
 
     chmod +x $out/bin/*
 
+    substituteInPlace $out/bin/elasticsearch \
+      --replace 'bin/elasticsearch-keystore' "$out/bin/elasticsearch-keystore"
+
     wrapProgram $out/bin/elasticsearch \
       --prefix PATH : "${makeBinPath [ util-linux coreutils gnugrep ]}" \
       --set JAVA_HOME "${jre_headless}"
diff --git a/nixpkgs/pkgs/servers/search/elasticsearch/plugins.nix b/nixpkgs/pkgs/servers/search/elasticsearch/plugins.nix
index 19aac337057f..39af6976bf9b 100644
--- a/nixpkgs/pkgs/servers/search/elasticsearch/plugins.nix
+++ b/nixpkgs/pkgs/servers/search/elasticsearch/plugins.nix
@@ -3,17 +3,17 @@
 let
   esVersion = elasticsearch.version;
 
-  esPlugin = a@{
-    pluginName,
-    installPhase ? ''
-      mkdir -p $out/config
-      mkdir -p $out/plugins
-      ln -s ${elasticsearch}/lib $out/lib
-      ES_HOME=$out ${elasticsearch}/bin/elasticsearch-plugin install --batch -v file://$src
-      rm $out/lib
-    '',
-    ...
-  }:
+  esPlugin =
+    a@{ pluginName
+    , installPhase ? ''
+        mkdir -p $out/config
+        mkdir -p $out/plugins
+        ln -s ${elasticsearch}/lib $out/lib
+        ES_HOME=$out ${elasticsearch}/bin/elasticsearch-plugin install --batch -v file://$src
+        rm $out/lib
+      ''
+    , ...
+    }:
     stdenv.mkDerivation (a // {
       inherit installPhase;
       pname = "elasticsearch-${pluginName}";
@@ -24,10 +24,11 @@ let
       nativeBuildInputs = [ unzip ];
       meta = a.meta // {
         platforms = elasticsearch.meta.platforms;
-        maintainers = (a.meta.maintainers or []) ++ (with lib.maintainers; [ offline ]);
+        maintainers = (a.meta.maintainers or [ ]) ++ (with lib.maintainers; [ offline ]);
       };
     });
-in {
+in
+{
 
   analysis-icu = esPlugin rec {
     name = "elasticsearch-analysis-icu-${version}";
@@ -36,7 +37,7 @@ in {
     src = fetchurl {
       url = "https://artifacts.elastic.co/downloads/elasticsearch-plugins/${pluginName}/${pluginName}-${version}.zip";
       sha256 =
-        if version == "7.5.1" then "0v6ynbk34g7pl9cwy8ga8bk1my18jb6pc3pqbjl8p93w38219vi6"
+        if version == "7.10.2" then "sha256-HXNJy8WPExPeh5afjdLEFg+0WX0LYI/kvvaLGVUke5E="
         else if version == "6.8.3" then "0vbaqyj0lfy3ijl1c9h92b0nh605h5mjs57bk2zhycdvbw5sx2lv"
         else throw "unsupported version ${version} for plugin ${pluginName}";
     };
@@ -53,7 +54,7 @@ in {
     src = fetchurl {
       url = "https://github.com/vhyza/elasticsearch-${pluginName}/releases/download/v${version}/elasticsearch-${pluginName}-${version}-plugin.zip";
       sha256 =
-        if version == "7.5.1" then "0js8b9a9ma797448m3sy92qxbwziix8gkcka7hf17dqrb9k29v61"
+        if version == "7.10.2" then "sha256-mW4YNZ20qatyfHCDAmod/gVmkPYh15NrsYPgiBy1/T8="
         else if version == "6.8.3" then "12bshvp01pp2lgwd0cn9l58axg8gdimsh4g9wfllxi1bdpv4cy53"
         else throw "unsupported version ${version} for plugin ${pluginName}";
     };
@@ -70,7 +71,7 @@ in {
     src = fetchurl {
       url = "https://artifacts.elastic.co/downloads/elasticsearch-plugins/${pluginName}/${pluginName}-${version}.zip";
       sha256 =
-        if version == "7.5.1" then "0znmbdf99bli4kvyb3vxr5x48yb6n64nl38gpa63iqsv3nlbi0hp"
+        if version == "7.10.2" then "sha256-PjA/pwoulkD2d6sHKqzcYxQpb1aS68/l047z5JTcV3Y="
         else if version == "6.8.3" then "0ggdhf7w50bxsffmcznrjy14b578fps0f8arg3v54qvj94v9jc37"
         else throw "unsupported version ${version} for plugin ${pluginName}";
     };
@@ -87,7 +88,7 @@ in {
     src = fetchurl {
       url = "https://artifacts.elastic.co/downloads/elasticsearch-plugins/${pluginName}/${pluginName}-${version}.zip";
       sha256 =
-        if version == "7.5.1" then "09wl2bpng4xx384xns960rymnm64b5zn2cb1sp25n85pd0isp4p2"
+        if version == "7.10.2" then "sha256-yvxSkVyZDWeu7rcxxq1+IVsljZQKgWEURiXY9qycK1s="
         else if version == "6.8.3" then "0pmffz761dqjpvmkl7i7xsyw1iyyspqpddxp89rjsznfc9pak5im"
         else throw "unsupported version ${version} for plugin ${pluginName}";
     };
@@ -104,7 +105,7 @@ in {
     src = fetchurl {
       url = "https://artifacts.elastic.co/downloads/elasticsearch-plugins/${pluginName}/${pluginName}-${version}.zip";
       sha256 =
-        if version == "7.5.1" then "0hhwxkjlkw1yv5sp6pdn5k1y8bdv4mnmb6nby1z4367mig6rm8v9"
+        if version == "7.10.2" then "sha256-yOMiYJ2c/mcLDcTA99YrpQBiEBAa/mLtTqJlqTJ5tBc="
         else if version == "6.8.3" then "0kfr4i2rcwinjn31xrc2piicasjanaqcgnbif9xc7lnak2nnzmll"
         else throw "unsupported version ${version} for plugin ${pluginName}";
     };
@@ -121,7 +122,7 @@ in {
     src = fetchurl {
       url = "https://artifacts.elastic.co/downloads/elasticsearch-plugins/${pluginName}/${pluginName}-${esVersion}.zip";
       sha256 =
-        if version == "7.5.1" then "1j1rgbha5lh0a02h55zqc5qn0mvvi16l2m5r8lmaswp97px056v9"
+        if version == "7.10.2" then "sha256-fN2RQsY9OACE71pIw87XVJo4c3sUu/6gf/6wUt7ZNIE="
         else if version == "6.8.3" then "1mm6hj2m1db68n81rzsvlw6nisflr5ikzk5zv9nmk0z641n5vh1x"
         else throw "unsupported version ${version} for plugin ${pluginName}";
     };
@@ -138,7 +139,7 @@ in {
     src = fetchurl {
       url = "https://artifacts.elastic.co/downloads/elasticsearch-plugins/${pluginName}/${pluginName}-${esVersion}.zip";
       sha256 =
-        if version == "7.5.1" then "15g438zpxrcmsgddwmk3sccy92ha90cyq9c61kcw1q84wfi0a7jl"
+        if version == "7.10.2" then "sha256-JdWt5LzSbs0MIEuLJIE1ceTnNeTYI5Jt2N0Xj7OBO6g="
         else if version == "6.8.3" then "1s2klpvnhpkrk53p64zbga3b66czi7h1a13f58kfn2cn0zfavnbk"
         else throw "unsupported version ${version} for plugin ${pluginName}";
     };
@@ -149,26 +150,30 @@ in {
     };
   };
 
-  search-guard = let
-    majorVersion = lib.head (builtins.splitVersion esVersion);
-  in esPlugin rec {
-    pluginName = "search-guard";
-    version =
-      # https://docs.search-guard.com/latest/search-guard-versions
-      if esVersion == "7.5.1" then "${esVersion}-38.0.0"
-      else if esVersion == "6.8.3" then "${esVersion}-25.5"
-      else throw "unsupported version ${esVersion} for plugin ${pluginName}";
-    src = fetchurl {
-      url = "mirror://maven/com/floragunn/${pluginName}-${majorVersion}/${version}/${pluginName}-${majorVersion}-${version}.zip";
-      sha256 =
-        if version == "7.5.1-38.0.0" then "1a1wp9wrmz6ji2rnpk0b9jqnp86w0w0z8sb48giyc1gzcy1ra9yh"
-        else if version == "6.8.3-25.5" then "0a7ys9qinc0fjyka03cx9rv0pm7wnvslk234zv5vrphkrj52s1cb"
-        else throw "unsupported version ${version} for plugin ${pluginName}";
-    };
-    meta = with lib; {
-      homepage = "https://search-guard.com";
-      description = "Elasticsearch plugin that offers encryption, authentication, and authorisation. ";
-      license = licenses.asl20;
+  search-guard =
+    let
+      majorVersion = lib.head (builtins.splitVersion esVersion);
+    in
+    esPlugin rec {
+      pluginName = "search-guard";
+      version =
+        # https://docs.search-guard.com/latest/search-guard-versions
+        if esVersion == "7.10.2" then "7.10.1-49.3.0"
+        else if esVersion == "6.8.3" then "${esVersion}-25.5"
+        else throw "unsupported version ${esVersion} for plugin ${pluginName}";
+      src = fetchurl {
+        url =
+          if version == "7.10.1-49.3.0" then "https://maven.search-guard.com/search-guard-suite-release/com/floragunn/search-guard-suite-plugin/${version}/search-guard-suite-plugin-${version}.zip"
+          else "mirror://maven/com/floragunn/${pluginName}-${majorVersion}/${version}/${pluginName}-${majorVersion}-${version}.zip";
+        sha256 =
+          if version == "7.10.1-49.3.0" then "sha256-vKH2+c+7WlncgljrvYH9lAqQTKzg9l0ABZ23Q/xdoK4="
+          else if version == "6.8.3-25.5" then "0a7ys9qinc0fjyka03cx9rv0pm7wnvslk234zv5vrphkrj52s1cb"
+          else throw "unsupported version ${version} for plugin ${pluginName}";
+      };
+      meta = with lib; {
+        homepage = "https://search-guard.com";
+        description = "Elasticsearch plugin that offers encryption, authentication, and authorisation. ";
+        license = licenses.asl20;
+      };
     };
-  };
 }
diff --git a/nixpkgs/pkgs/servers/search/groonga/default.nix b/nixpkgs/pkgs/servers/search/groonga/default.nix
index 8ef89031c182..b405a4c2f09d 100644
--- a/nixpkgs/pkgs/servers/search/groonga/default.nix
+++ b/nixpkgs/pkgs/servers/search/groonga/default.nix
@@ -7,11 +7,11 @@
 stdenv.mkDerivation rec {
 
   pname = "groonga";
-  version = "11.0.4";
+  version = "11.0.5";
 
   src = fetchurl {
     url    = "https://packages.groonga.org/source/groonga/${pname}-${version}.tar.gz";
-    sha256 = "sha256-a/IMroZ1zAgIv7Cx4kkj5byIMoC0o+seHhqVLaUUSqc=";
+    sha256 = "sha256-oBABhMKLezjPeHkWfqesy+ze+CPnWfmS17vCKC7fWEU=";
   };
 
   buildInputs = with lib;
diff --git a/nixpkgs/pkgs/servers/search/meilisearch/Cargo.nix b/nixpkgs/pkgs/servers/search/meilisearch/Cargo.nix
new file mode 100644
index 000000000000..c226ad671269
--- /dev/null
+++ b/nixpkgs/pkgs/servers/search/meilisearch/Cargo.nix
@@ -0,0 +1,11200 @@
+
+# This file was @generated by crate2nix 0.10.0 with the command:
+#   "generate"
+# See https://github.com/kolloch/crate2nix for more info.
+
+{ nixpkgs ? <nixpkgs>
+, pkgs ? import nixpkgs { config = {}; }
+, lib ? pkgs.lib
+, stdenv ? pkgs.stdenv
+, buildRustCrateForPkgs ? if buildRustCrate != null
+    then lib.warn "crate2nix: Passing `buildRustCrate` as argument to Cargo.nix is deprecated. If you don't customize `buildRustCrate`, replace `callPackage ./Cargo.nix {}` by `import ./Cargo.nix { inherit pkgs; }`, and if you need to customize `buildRustCrate`, use `buildRustCrateForPkgs` instead." (_: buildRustCrate)
+    else pkgs: pkgs.buildRustCrate
+  # Deprecated
+, buildRustCrate ? null
+  # This is used as the `crateOverrides` argument for `buildRustCrate`.
+, defaultCrateOverrides ? pkgs.defaultCrateOverrides
+  # The features to enable for the root_crate or the workspace_members.
+, rootFeatures ? [ "default" ]
+  # If true, throw errors instead of issueing deprecation warnings.
+, strictDeprecation ? false
+  # Used for conditional compilation based on CPU feature detection.
+, targetFeatures ? []
+  # Whether to perform release builds: longer compile times, faster binaries.
+, release ? true
+  # Additional crate2nix configuration if it exists.
+, crateConfig
+  ? if builtins.pathExists ./crate-config.nix
+    then pkgs.callPackage ./crate-config.nix {}
+    else {}
+}:
+
+rec {
+  #
+  # "public" attributes that we attempt to keep stable with new versions of crate2nix.
+  #
+
+
+  # Refer your crate build derivation by name here.
+  # You can override the features with
+  # workspaceMembers."${crateName}".build.override { features = [ "default" "feature1" ... ]; }.
+  workspaceMembers = {
+    "meilisearch-error" = rec {
+      packageId = "meilisearch-error";
+      build = internal.buildRustCrateWithFeatures {
+        packageId = "meilisearch-error";
+      };
+
+      # Debug support which might change between releases.
+      # File a bug if you depend on any for non-debug work!
+      debug = internal.debugCrate { inherit packageId; };
+    };
+    "meilisearch-http" = rec {
+      packageId = "meilisearch-http";
+      build = internal.buildRustCrateWithFeatures {
+        packageId = "meilisearch-http";
+      };
+
+      # Debug support which might change between releases.
+      # File a bug if you depend on any for non-debug work!
+      debug = internal.debugCrate { inherit packageId; };
+    };
+  };
+
+  # A derivation that joins the outputs of all workspace members together.
+  allWorkspaceMembers = pkgs.symlinkJoin {
+      name = "all-workspace-members";
+      paths =
+        let members = builtins.attrValues workspaceMembers;
+        in builtins.map (m: m.build) members;
+  };
+
+  #
+  # "internal" ("private") attributes that may change in every new version of crate2nix.
+  #
+
+  internal = rec {
+    # Build and dependency information for crates.
+    # Many of the fields are passed one-to-one to buildRustCrate.
+    #
+    # Noteworthy:
+    # * `dependencies`/`buildDependencies`: similar to the corresponding fields for buildRustCrate.
+    #   but with additional information which is used during dependency/feature resolution.
+    # * `resolvedDependencies`: the selected default features reported by cargo - only included for debugging.
+    # * `devDependencies` as of now not used by `buildRustCrate` but used to
+    #   inject test dependencies into the build
+
+    crates = {
+      "actix-codec" = rec {
+        crateName = "actix-codec";
+        version = "0.4.0";
+        edition = "2018";
+        sha256 = "16h1q4qmq2r0dq71cl7wbgi9yzr1y5qc2z6ahg5l84z5v6rbwp8x";
+        libName = "actix_codec";
+        authors = [
+          "Nikolay Kim <fafhrd91@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "bitflags";
+            packageId = "bitflags";
+          }
+          {
+            name = "bytes";
+            packageId = "bytes 1.0.1";
+          }
+          {
+            name = "futures-core";
+            packageId = "futures-core";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "futures-sink";
+            packageId = "futures-sink";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "log";
+            packageId = "log";
+          }
+          {
+            name = "pin-project-lite";
+            packageId = "pin-project-lite";
+          }
+          {
+            name = "tokio";
+            packageId = "tokio";
+          }
+          {
+            name = "tokio-util";
+            packageId = "tokio-util";
+            features = [ "codec" "io" ];
+          }
+        ];
+
+      };
+      "actix-cors" = rec {
+        crateName = "actix-cors";
+        version = "0.6.0-beta.1";
+        edition = "2018";
+        workspace_member = null;
+        src = pkgs.fetchgit {
+          url = "https://github.com/MarinPostma/actix-extras.git";
+          rev = "2dac1a421619bf7b386dea63d3ae25a3bc4abc43";
+          sha256 = "0ny03ibf8vvdvcmcvzlvngx80rvmh47bx517iqc5wh74yzdmdlsn";
+        };
+        libName = "actix_cors";
+        authors = [
+          "Nikolay Kim <fafhrd91@gmail.com>"
+          "Rob Ede <robjtede@icloud.com>"
+        ];
+        dependencies = [
+          {
+            name = "actix-service";
+            packageId = "actix-service";
+          }
+          {
+            name = "actix-web";
+            packageId = "actix-web";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "derive_more";
+            packageId = "derive_more";
+          }
+          {
+            name = "futures-util";
+            packageId = "futures-util";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "log";
+            packageId = "log";
+          }
+          {
+            name = "once_cell";
+            packageId = "once_cell";
+          }
+          {
+            name = "tinyvec";
+            packageId = "tinyvec";
+            features = [ "alloc" ];
+          }
+        ];
+
+      };
+      "actix-http" = rec {
+        crateName = "actix-http";
+        version = "3.0.0-beta.6";
+        edition = "2018";
+        sha256 = "0iq32p49ds5ag9ldwpi83j9zqapvx5hdh4njlncfcqk0l0mirmar";
+        libName = "actix_http";
+        authors = [
+          "Nikolay Kim <fafhrd91@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "actix-codec";
+            packageId = "actix-codec";
+          }
+          {
+            name = "actix-rt";
+            packageId = "actix-rt";
+          }
+          {
+            name = "actix-service";
+            packageId = "actix-service";
+          }
+          {
+            name = "actix-tls";
+            packageId = "actix-tls";
+            features = [ "accept" "connect" ];
+          }
+          {
+            name = "actix-utils";
+            packageId = "actix-utils";
+          }
+          {
+            name = "ahash";
+            packageId = "ahash 0.7.4";
+          }
+          {
+            name = "base64";
+            packageId = "base64";
+          }
+          {
+            name = "bitflags";
+            packageId = "bitflags";
+          }
+          {
+            name = "brotli2";
+            packageId = "brotli2";
+            optional = true;
+          }
+          {
+            name = "bytes";
+            packageId = "bytes 1.0.1";
+          }
+          {
+            name = "bytestring";
+            packageId = "bytestring";
+          }
+          {
+            name = "derive_more";
+            packageId = "derive_more";
+          }
+          {
+            name = "encoding_rs";
+            packageId = "encoding_rs";
+          }
+          {
+            name = "flate2";
+            packageId = "flate2";
+            optional = true;
+          }
+          {
+            name = "futures-core";
+            packageId = "futures-core";
+            usesDefaultFeatures = false;
+            features = [ "alloc" ];
+          }
+          {
+            name = "futures-util";
+            packageId = "futures-util";
+            usesDefaultFeatures = false;
+            features = [ "alloc" "sink" ];
+          }
+          {
+            name = "h2";
+            packageId = "h2";
+          }
+          {
+            name = "http";
+            packageId = "http";
+          }
+          {
+            name = "httparse";
+            packageId = "httparse";
+          }
+          {
+            name = "itoa";
+            packageId = "itoa";
+          }
+          {
+            name = "language-tags";
+            packageId = "language-tags";
+          }
+          {
+            name = "local-channel";
+            packageId = "local-channel";
+          }
+          {
+            name = "log";
+            packageId = "log";
+          }
+          {
+            name = "mime";
+            packageId = "mime";
+          }
+          {
+            name = "once_cell";
+            packageId = "once_cell";
+          }
+          {
+            name = "paste";
+            packageId = "paste";
+          }
+          {
+            name = "percent-encoding";
+            packageId = "percent-encoding";
+          }
+          {
+            name = "pin-project";
+            packageId = "pin-project";
+          }
+          {
+            name = "pin-project-lite";
+            packageId = "pin-project-lite";
+          }
+          {
+            name = "rand";
+            packageId = "rand 0.8.4";
+          }
+          {
+            name = "regex";
+            packageId = "regex";
+          }
+          {
+            name = "serde";
+            packageId = "serde";
+          }
+          {
+            name = "sha-1";
+            packageId = "sha-1 0.9.6";
+          }
+          {
+            name = "smallvec";
+            packageId = "smallvec";
+          }
+          {
+            name = "time";
+            packageId = "time 0.2.27";
+            usesDefaultFeatures = false;
+            features = [ "std" ];
+          }
+          {
+            name = "tokio";
+            packageId = "tokio";
+            features = [ "sync" ];
+          }
+        ];
+        features = {
+          "compress" = [ "flate2" "brotli2" ];
+          "openssl" = [ "actix-tls/openssl" ];
+          "rustls" = [ "actix-tls/rustls" ];
+          "trust-dns" = [ "trust-dns-resolver" ];
+        };
+        resolvedDefaultFeatures = [ "brotli2" "compress" "default" "flate2" "rustls" ];
+      };
+      "actix-macros" = rec {
+        crateName = "actix-macros";
+        version = "0.2.1";
+        edition = "2018";
+        sha256 = "0dw88g9lzrhkzq8hxh1lvykr87wdm0cicyz5kxp5w4vwhpb6ry62";
+        procMacro = true;
+        authors = [
+          "Nikolay Kim <fafhrd91@gmail.com>"
+          "Ibraheem Ahmed <ibrah1440@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "quote";
+            packageId = "quote 1.0.9";
+          }
+          {
+            name = "syn";
+            packageId = "syn 1.0.73";
+            features = [ "full" ];
+          }
+        ];
+
+      };
+      "actix-router" = rec {
+        crateName = "actix-router";
+        version = "0.2.7";
+        edition = "2018";
+        sha256 = "0b258dplqmria44mv1zzjpmm2xrpdzwcqcz3jg41z7k4ffprklia";
+        libName = "actix_router";
+        authors = [
+          "Nikolay Kim <fafhrd91@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "bytestring";
+            packageId = "bytestring";
+          }
+          {
+            name = "http";
+            packageId = "http";
+            optional = true;
+          }
+          {
+            name = "log";
+            packageId = "log";
+          }
+          {
+            name = "regex";
+            packageId = "regex";
+          }
+          {
+            name = "serde";
+            packageId = "serde";
+          }
+        ];
+        features = {
+          "default" = [ "http" ];
+        };
+        resolvedDefaultFeatures = [ "default" "http" ];
+      };
+      "actix-rt" = rec {
+        crateName = "actix-rt";
+        version = "2.2.0";
+        edition = "2018";
+        sha256 = "181bwmsazdn7v8s6m9s7abv92lpsh6prcg3wi8l95vf9azcpqzdw";
+        libName = "actix_rt";
+        authors = [
+          "Nikolay Kim <fafhrd91@gmail.com>"
+          "Rob Ede <robjtede@icloud.com>"
+        ];
+        dependencies = [
+          {
+            name = "actix-macros";
+            packageId = "actix-macros";
+            optional = true;
+          }
+          {
+            name = "futures-core";
+            packageId = "futures-core";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "tokio";
+            packageId = "tokio";
+            features = [ "rt" "net" "parking_lot" "signal" "sync" "time" ];
+          }
+        ];
+        features = {
+          "default" = [ "macros" ];
+          "macros" = [ "actix-macros" ];
+        };
+        resolvedDefaultFeatures = [ "actix-macros" "default" "macros" ];
+      };
+      "actix-server" = rec {
+        crateName = "actix-server";
+        version = "2.0.0-beta.5";
+        edition = "2018";
+        sha256 = "11xzz6hi6jclakj14qhf02xpbhmwm1b8gdmk31h1gc63zhar4di6";
+        libName = "actix_server";
+        authors = [
+          "Nikolay Kim <fafhrd91@gmail.com>"
+          "fakeshadow <24548779@qq.com>"
+        ];
+        dependencies = [
+          {
+            name = "actix-rt";
+            packageId = "actix-rt";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "actix-service";
+            packageId = "actix-service";
+          }
+          {
+            name = "actix-utils";
+            packageId = "actix-utils";
+          }
+          {
+            name = "futures-core";
+            packageId = "futures-core";
+            usesDefaultFeatures = false;
+            features = [ "alloc" ];
+          }
+          {
+            name = "log";
+            packageId = "log";
+          }
+          {
+            name = "mio";
+            packageId = "mio";
+            features = [ "os-poll" "net" ];
+          }
+          {
+            name = "num_cpus";
+            packageId = "num_cpus";
+          }
+          {
+            name = "slab";
+            packageId = "slab";
+          }
+          {
+            name = "tokio";
+            packageId = "tokio";
+            features = [ "sync" ];
+          }
+        ];
+        features = {
+        };
+        resolvedDefaultFeatures = [ "default" ];
+      };
+      "actix-service" = rec {
+        crateName = "actix-service";
+        version = "2.0.0";
+        edition = "2018";
+        sha256 = "0d2hf15clvxbnx08lql6h18yalap9x1g69icwvxd0c47dbbgkxbp";
+        libName = "actix_service";
+        authors = [
+          "Nikolay Kim <fafhrd91@gmail.com>"
+          "Rob Ede <robjtede@icloud.com>"
+          "fakeshadow <24548779@qq.com>"
+        ];
+        dependencies = [
+          {
+            name = "futures-core";
+            packageId = "futures-core";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "paste";
+            packageId = "paste";
+          }
+          {
+            name = "pin-project-lite";
+            packageId = "pin-project-lite";
+          }
+        ];
+
+      };
+      "actix-tls" = rec {
+        crateName = "actix-tls";
+        version = "3.0.0-beta.5";
+        edition = "2018";
+        sha256 = "0sgmzsxm00l0zw8qaw33nqn4v8kkgnjh3spp681yyqh9hihbpdv5";
+        libName = "actix_tls";
+        authors = [
+          "Nikolay Kim <fafhrd91@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "actix-codec";
+            packageId = "actix-codec";
+          }
+          {
+            name = "actix-rt";
+            packageId = "actix-rt";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "actix-service";
+            packageId = "actix-service";
+          }
+          {
+            name = "actix-utils";
+            packageId = "actix-utils";
+          }
+          {
+            name = "derive_more";
+            packageId = "derive_more";
+          }
+          {
+            name = "futures-core";
+            packageId = "futures-core";
+            usesDefaultFeatures = false;
+            features = [ "alloc" ];
+          }
+          {
+            name = "http";
+            packageId = "http";
+            optional = true;
+          }
+          {
+            name = "log";
+            packageId = "log";
+          }
+          {
+            name = "tokio-rustls";
+            packageId = "tokio-rustls";
+            optional = true;
+          }
+          {
+            name = "tokio-util";
+            packageId = "tokio-util";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "webpki-roots";
+            packageId = "webpki-roots";
+            optional = true;
+          }
+        ];
+        features = {
+          "default" = [ "accept" "connect" "uri" ];
+          "native-tls" = [ "tokio-native-tls" ];
+          "openssl" = [ "tls-openssl" "tokio-openssl" ];
+          "rustls" = [ "tokio-rustls" "webpki-roots" ];
+          "uri" = [ "http" ];
+        };
+        resolvedDefaultFeatures = [ "accept" "connect" "default" "http" "rustls" "tokio-rustls" "uri" "webpki-roots" ];
+      };
+      "actix-utils" = rec {
+        crateName = "actix-utils";
+        version = "3.0.0";
+        edition = "2018";
+        sha256 = "155aj87z8634mfmggfixyqy3pqhpyf7g97zrzy6piz77qamcp4g4";
+        libName = "actix_utils";
+        authors = [
+          "Nikolay Kim <fafhrd91@gmail.com>"
+          "Rob Ede <robjtede@icloud.com>"
+        ];
+        dependencies = [
+          {
+            name = "local-waker";
+            packageId = "local-waker";
+          }
+          {
+            name = "pin-project-lite";
+            packageId = "pin-project-lite";
+          }
+        ];
+
+      };
+      "actix-web" = rec {
+        crateName = "actix-web";
+        version = "4.0.0-beta.6";
+        edition = "2018";
+        sha256 = "0bvsjdxz3bnxx9dbqyy8bhwkijmr4pz21bgwn00dfmqm0lryj4pz";
+        libName = "actix_web";
+        authors = [
+          "Nikolay Kim <fafhrd91@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "actix-codec";
+            packageId = "actix-codec";
+          }
+          {
+            name = "actix-http";
+            packageId = "actix-http";
+          }
+          {
+            name = "actix-macros";
+            packageId = "actix-macros";
+          }
+          {
+            name = "actix-router";
+            packageId = "actix-router";
+          }
+          {
+            name = "actix-rt";
+            packageId = "actix-rt";
+          }
+          {
+            name = "actix-server";
+            packageId = "actix-server";
+          }
+          {
+            name = "actix-service";
+            packageId = "actix-service";
+          }
+          {
+            name = "actix-tls";
+            packageId = "actix-tls";
+            optional = true;
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "actix-utils";
+            packageId = "actix-utils";
+          }
+          {
+            name = "actix-web-codegen";
+            packageId = "actix-web-codegen";
+          }
+          {
+            name = "ahash";
+            packageId = "ahash 0.7.4";
+          }
+          {
+            name = "bytes";
+            packageId = "bytes 1.0.1";
+          }
+          {
+            name = "cookie";
+            packageId = "cookie";
+            optional = true;
+            features = [ "percent-encode" ];
+          }
+          {
+            name = "derive_more";
+            packageId = "derive_more";
+          }
+          {
+            name = "either";
+            packageId = "either";
+          }
+          {
+            name = "encoding_rs";
+            packageId = "encoding_rs";
+          }
+          {
+            name = "futures-core";
+            packageId = "futures-core";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "futures-util";
+            packageId = "futures-util";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "itoa";
+            packageId = "itoa";
+          }
+          {
+            name = "language-tags";
+            packageId = "language-tags";
+          }
+          {
+            name = "log";
+            packageId = "log";
+          }
+          {
+            name = "mime";
+            packageId = "mime";
+          }
+          {
+            name = "once_cell";
+            packageId = "once_cell";
+          }
+          {
+            name = "pin-project";
+            packageId = "pin-project";
+          }
+          {
+            name = "regex";
+            packageId = "regex";
+          }
+          {
+            name = "serde";
+            packageId = "serde";
+            features = [ "derive" ];
+          }
+          {
+            name = "serde_json";
+            packageId = "serde_json";
+          }
+          {
+            name = "serde_urlencoded";
+            packageId = "serde_urlencoded";
+          }
+          {
+            name = "smallvec";
+            packageId = "smallvec";
+          }
+          {
+            name = "socket2";
+            packageId = "socket2";
+          }
+          {
+            name = "time";
+            packageId = "time 0.2.27";
+            usesDefaultFeatures = false;
+            features = [ "std" ];
+          }
+          {
+            name = "url";
+            packageId = "url";
+          }
+        ];
+        features = {
+          "compress" = [ "actix-http/compress" ];
+          "cookies" = [ "cookie" ];
+          "default" = [ "compress" "cookies" ];
+          "openssl" = [ "actix-http/openssl" "actix-tls/accept" "actix-tls/openssl" ];
+          "rustls" = [ "actix-http/rustls" "actix-tls/accept" "actix-tls/rustls" ];
+          "secure-cookies" = [ "cookie/secure" ];
+        };
+        resolvedDefaultFeatures = [ "actix-tls" "compress" "cookie" "cookies" "default" "rustls" ];
+      };
+      "actix-web-codegen" = rec {
+        crateName = "actix-web-codegen";
+        version = "0.5.0-beta.3";
+        edition = "2018";
+        sha256 = "13bcbad7snnqx25sb4r3yvr6f5jxiny9ywp9x30hacblhrlqq10d";
+        procMacro = true;
+        authors = [
+          "Nikolay Kim <fafhrd91@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "proc-macro2";
+            packageId = "proc-macro2 1.0.27";
+          }
+          {
+            name = "quote";
+            packageId = "quote 1.0.9";
+          }
+          {
+            name = "syn";
+            packageId = "syn 1.0.73";
+            features = [ "full" "parsing" ];
+          }
+        ];
+
+      };
+      "actix-web-static-files" = rec {
+        crateName = "actix-web-static-files";
+        version = "3.0.5";
+        edition = "2018";
+        workspace_member = null;
+        src = pkgs.fetchgit {
+          url = "https://github.com/MarinPostma/actix-web-static-files.git";
+          rev = "6db8c3e2940d61659581492b5e9c9b9062567613";
+          sha256 = "1q00s1w2ry6kl7j4bn4q1xqpdn90sc3icjm2wml8fn4rszamhnqy";
+        };
+        authors = [
+          "Alexander Korolev <kilork@yandex.ru>"
+        ];
+        dependencies = [
+          {
+            name = "actix-service";
+            packageId = "actix-service";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "actix-web";
+            packageId = "actix-web";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "change-detection";
+            packageId = "change-detection";
+            optional = true;
+          }
+          {
+            name = "derive_more";
+            packageId = "derive_more";
+          }
+          {
+            name = "futures";
+            packageId = "futures";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "mime_guess";
+            packageId = "mime_guess";
+          }
+          {
+            name = "path-slash";
+            packageId = "path-slash";
+          }
+        ];
+        buildDependencies = [
+          {
+            name = "actix-service";
+            packageId = "actix-service";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "actix-web";
+            packageId = "actix-web";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "change-detection";
+            packageId = "change-detection";
+            optional = true;
+          }
+          {
+            name = "derive_more";
+            packageId = "derive_more";
+          }
+          {
+            name = "futures";
+            packageId = "futures";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "mime_guess";
+            packageId = "mime_guess";
+          }
+          {
+            name = "path-slash";
+            packageId = "path-slash";
+          }
+        ];
+        features = {
+          "default" = [ "change-detection" ];
+        };
+        resolvedDefaultFeatures = [ "change-detection" "default" ];
+      };
+      "addr2line" = rec {
+        crateName = "addr2line";
+        version = "0.15.2";
+        edition = "2015";
+        sha256 = "0fkz8sgwp9lbhzfch89wimn4qx16a8l62vfx07hrw85y3xxf98p7";
+        authors = [
+          "Nick Fitzgerald <fitzgen@gmail.com>"
+          "Philip Craig <philipjcraig@gmail.com>"
+          "Jon Gjengset <jon@thesquareplanet.com>"
+          "Noah Bergbauer <noah.bergbauer@tum.de>"
+        ];
+        dependencies = [
+          {
+            name = "gimli";
+            packageId = "gimli";
+            usesDefaultFeatures = false;
+            features = [ "read" ];
+          }
+        ];
+        features = {
+          "default" = [ "rustc-demangle" "cpp_demangle" "std-object" "fallible-iterator" "smallvec" ];
+          "rustc-dep-of-std" = [ "core" "alloc" "compiler_builtins" "gimli/rustc-dep-of-std" ];
+          "std" = [ "gimli/std" ];
+          "std-object" = [ "std" "object" "object/std" "object/compression" "gimli/endian-reader" ];
+        };
+      };
+      "adler" = rec {
+        crateName = "adler";
+        version = "1.0.2";
+        edition = "2015";
+        sha256 = "1zim79cvzd5yrkzl3nyfx0avijwgk9fqv3yrscdy1cc79ih02qpj";
+        authors = [
+          "Jonas Schievink <jonasschievink@gmail.com>"
+        ];
+        features = {
+          "default" = [ "std" ];
+          "rustc-dep-of-std" = [ "core" "compiler_builtins" ];
+        };
+      };
+      "ahash 0.3.8" = rec {
+        crateName = "ahash";
+        version = "0.3.8";
+        edition = "2018";
+        sha256 = "05qjnr0wccch0gg2kghg0xyh8qd5gfqd15q9dd6r1lamcs375zg8";
+        authors = [
+          "Tom Kaitchuck <Tom.Kaitchuck@gmail.com>"
+        ];
+        features = {
+          "compile-time-rng" = [ "const-random" ];
+          "default" = [ "compile-time-rng" "std" ];
+        };
+      };
+      "ahash 0.7.4" = rec {
+        crateName = "ahash";
+        version = "0.7.4";
+        edition = "2018";
+        sha256 = "163vy6jcd7r3jczsv4zyhlc5x9dqsfgg1yrqbm3xhygr1czq7fs3";
+        authors = [
+          "Tom Kaitchuck <Tom.Kaitchuck@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "getrandom";
+            packageId = "getrandom 0.2.3";
+            target = { target, features }: ((target."os" == "linux") || (target."os" == "android") || (target."os" == "windows") || (target."os" == "macos") || (target."os" == "ios") || (target."os" == "freebsd") || (target."os" == "openbsd") || (target."os" == "netbsd") || (target."os" == "dragonfly") || (target."os" == "solaris") || (target."os" == "illumos") || (target."os" == "fuchsia") || (target."os" == "redox") || (target."os" == "cloudabi") || (target."os" == "haiku") || (target."os" == "vxworks") || (target."os" == "emscripten") || (target."os" == "wasi"));
+          }
+          {
+            name = "once_cell";
+            packageId = "once_cell";
+            usesDefaultFeatures = false;
+            target = { target, features }: ((target."os" == "linux") || (target."os" == "android") || (target."os" == "windows") || (target."os" == "macos") || (target."os" == "ios") || (target."os" == "freebsd") || (target."os" == "openbsd") || (target."os" == "netbsd") || (target."os" == "dragonfly") || (target."os" == "solaris") || (target."os" == "illumos") || (target."os" == "fuchsia") || (target."os" == "redox") || (target."os" == "cloudabi") || (target."os" == "haiku") || (target."os" == "vxworks") || (target."os" == "emscripten") || (target."os" == "wasi"));
+            features = [ "unstable" "alloc" ];
+          }
+        ];
+        buildDependencies = [
+          {
+            name = "version_check";
+            packageId = "version_check";
+          }
+        ];
+        features = {
+          "compile-time-rng" = [ "const-random" ];
+          "default" = [ "std" ];
+        };
+        resolvedDefaultFeatures = [ "default" "std" ];
+      };
+      "aho-corasick" = rec {
+        crateName = "aho-corasick";
+        version = "0.7.18";
+        edition = "2018";
+        sha256 = "0vv50b3nvkhyy7x7ip19qnsq11bqlnffkmj2yx2xlyk5wzawydqy";
+        libName = "aho_corasick";
+        authors = [
+          "Andrew Gallant <jamslam@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "memchr";
+            packageId = "memchr";
+            usesDefaultFeatures = false;
+          }
+        ];
+        features = {
+          "default" = [ "std" ];
+          "std" = [ "memchr/std" ];
+        };
+        resolvedDefaultFeatures = [ "default" "std" ];
+      };
+      "ansi_term" = rec {
+        crateName = "ansi_term";
+        version = "0.11.0";
+        edition = "2015";
+        sha256 = "16wpvrghvd0353584i1idnsgm0r3vchg8fyrm0x8ayv1rgvbljgf";
+        authors = [
+          "ogham@bsago.me"
+          "Ryan Scheel (Havvy) <ryan.havvy@gmail.com>"
+          "Josh Triplett <josh@joshtriplett.org>"
+        ];
+        dependencies = [
+          {
+            name = "winapi";
+            packageId = "winapi";
+            target = { target, features }: (target."os" == "windows");
+            features = [ "errhandlingapi" "consoleapi" "processenv" ];
+          }
+        ];
+
+      };
+      "anyhow" = rec {
+        crateName = "anyhow";
+        version = "1.0.41";
+        edition = "2018";
+        sha256 = "0qaa0vgsa7ybq7wqk57508l52l1lr3sbx49vk9hf43w9yql2dbqm";
+        authors = [
+          "David Tolnay <dtolnay@gmail.com>"
+        ];
+        features = {
+          "default" = [ "std" ];
+        };
+        resolvedDefaultFeatures = [ "default" "std" ];
+      };
+      "arc-swap" = rec {
+        crateName = "arc-swap";
+        version = "1.3.0";
+        edition = "2018";
+        sha256 = "08689pgnd38qjghg1njdpkj4mj46k1q4znn9gwz9082m8i72a1p9";
+        authors = [
+          "Michal 'vorner' Vaner <vorner@vorner.cz>"
+        ];
+        features = {
+        };
+      };
+      "assert-json-diff" = rec {
+        crateName = "assert-json-diff";
+        version = "1.0.1";
+        edition = "2018";
+        workspace_member = null;
+        src = pkgs.fetchgit {
+          url = "https://github.com/qdequele/assert-json-diff";
+          rev = "9012a0c8866d0f2db0ef9a6242e4a19d1e8c67e4";
+          sha256 = "1inv5y75acrw0vhpsc32rh5h0701vnm7c4lcsqcdzd8sdy76cisl";
+        };
+        authors = [
+          "David Pedersen <david.pdrsn@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "serde";
+            packageId = "serde";
+          }
+          {
+            name = "serde_json";
+            packageId = "serde_json";
+          }
+        ];
+
+      };
+      "async-stream" = rec {
+        crateName = "async-stream";
+        version = "0.3.2";
+        edition = "2018";
+        sha256 = "0986b72jksg4lndw76py9glry3snc29bbqrna874wl5jwgkp84qp";
+        authors = [
+          "Carl Lerche <me@carllerche.com>"
+        ];
+        dependencies = [
+          {
+            name = "async-stream-impl";
+            packageId = "async-stream-impl";
+          }
+          {
+            name = "futures-core";
+            packageId = "futures-core";
+          }
+        ];
+
+      };
+      "async-stream-impl" = rec {
+        crateName = "async-stream-impl";
+        version = "0.3.2";
+        edition = "2018";
+        sha256 = "024k57iwmmhzvbzacxlkssh45cqlnb8xjlvlsp60jm6fsb4di3k4";
+        procMacro = true;
+        authors = [
+          "Carl Lerche <me@carllerche.com>"
+        ];
+        dependencies = [
+          {
+            name = "proc-macro2";
+            packageId = "proc-macro2 1.0.27";
+          }
+          {
+            name = "quote";
+            packageId = "quote 1.0.9";
+          }
+          {
+            name = "syn";
+            packageId = "syn 1.0.73";
+            features = [ "extra-traits" "full" "visit-mut" ];
+          }
+        ];
+
+      };
+      "async-trait" = rec {
+        crateName = "async-trait";
+        version = "0.1.50";
+        edition = "2018";
+        sha256 = "08m7xim7dvcjw5cx2ryz3wndxc0vib2s02qrvabxvg2cpd5yi60b";
+        procMacro = true;
+        authors = [
+          "David Tolnay <dtolnay@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "proc-macro2";
+            packageId = "proc-macro2 1.0.27";
+          }
+          {
+            name = "quote";
+            packageId = "quote 1.0.9";
+          }
+          {
+            name = "syn";
+            packageId = "syn 1.0.73";
+            features = [ "full" "visit-mut" ];
+          }
+        ];
+
+      };
+      "atty" = rec {
+        crateName = "atty";
+        version = "0.2.14";
+        edition = "2015";
+        sha256 = "1s7yslcs6a28c5vz7jwj63lkfgyx8mx99fdirlhi9lbhhzhrpcyr";
+        authors = [
+          "softprops <d.tangren@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "hermit-abi";
+            packageId = "hermit-abi";
+            target = { target, features }: (target."os" == "hermit");
+          }
+          {
+            name = "libc";
+            packageId = "libc";
+            usesDefaultFeatures = false;
+            target = { target, features }: (target."unix" or false);
+          }
+          {
+            name = "winapi";
+            packageId = "winapi";
+            target = { target, features }: (target."windows" or false);
+            features = [ "consoleapi" "processenv" "minwinbase" "minwindef" "winbase" ];
+          }
+        ];
+
+      };
+      "autocfg" = rec {
+        crateName = "autocfg";
+        version = "1.0.1";
+        edition = "2015";
+        sha256 = "0jj6i9zn4gjl03kjvziqdji6rwx8ykz8zk2ngpc331z2g3fk3c6d";
+        authors = [
+          "Josh Stone <cuviper@gmail.com>"
+        ];
+
+      };
+      "backtrace" = rec {
+        crateName = "backtrace";
+        version = "0.3.60";
+        edition = "2018";
+        sha256 = "10kjrb4b3kjx6g4mkmcwjg4dimmzpsn7iq3225wix0jd9sjmx0dp";
+        authors = [
+          "The Rust Project Developers"
+        ];
+        dependencies = [
+          {
+            name = "addr2line";
+            packageId = "addr2line";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "cfg-if";
+            packageId = "cfg-if 1.0.0";
+          }
+          {
+            name = "libc";
+            packageId = "libc";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "miniz_oxide";
+            packageId = "miniz_oxide";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "object";
+            packageId = "object";
+            usesDefaultFeatures = false;
+            features = [ "read_core" "elf" "macho" "pe" "unaligned" "archive" ];
+          }
+          {
+            name = "rustc-demangle";
+            packageId = "rustc-demangle";
+          }
+        ];
+        buildDependencies = [
+          {
+            name = "cc";
+            packageId = "cc";
+          }
+        ];
+        features = {
+          "default" = [ "std" ];
+          "serialize-rustc" = [ "rustc-serialize" ];
+          "serialize-serde" = [ "serde" ];
+          "verify-winapi" = [ "winapi/dbghelp" "winapi/handleapi" "winapi/libloaderapi" "winapi/memoryapi" "winapi/minwindef" "winapi/processthreadsapi" "winapi/synchapi" "winapi/tlhelp32" "winapi/winbase" "winapi/winnt" ];
+        };
+        resolvedDefaultFeatures = [ "default" "std" ];
+      };
+      "base-x" = rec {
+        crateName = "base-x";
+        version = "0.2.8";
+        edition = "2015";
+        sha256 = "12zj7vgrf7wlc46f6xxc14dq1r6z6vmhn51vkdkp04q37lz1ylm4";
+        authors = [
+          "Alex R. <alexei.rudenko@gmail.com>"
+        ];
+        features = {
+          "default" = [ "std" ];
+        };
+        resolvedDefaultFeatures = [ "default" "std" ];
+      };
+      "base64" = rec {
+        crateName = "base64";
+        version = "0.13.0";
+        edition = "2018";
+        sha256 = "1z82g23mbzjgijkpcrilc7nljpxpvpf7zxf6iyiapkgka2ngwkch";
+        authors = [
+          "Alice Maz <alice@alicemaz.com>"
+          "Marshall Pierce <marshall@mpierce.org>"
+        ];
+        features = {
+          "default" = [ "std" ];
+        };
+        resolvedDefaultFeatures = [ "default" "std" ];
+      };
+      "bincode" = rec {
+        crateName = "bincode";
+        version = "1.3.3";
+        edition = "2015";
+        sha256 = "1bfw3mnwzx5g1465kiqllp5n4r10qrqy88kdlp3jfwnq2ya5xx5i";
+        authors = [
+          "Ty Overby <ty@pre-alpha.com>"
+          "Francesco Mazzoli <f@mazzo.li>"
+          "David Tolnay <dtolnay@gmail.com>"
+          "Zoey Riordan <zoey@dos.cafe>"
+        ];
+        dependencies = [
+          {
+            name = "serde";
+            packageId = "serde";
+          }
+        ];
+        features = {
+        };
+      };
+      "bitflags" = rec {
+        crateName = "bitflags";
+        version = "1.2.1";
+        edition = "2015";
+        sha256 = "14qnd5nq8p2almk79m4m8ydqhd413yaxsyjp5xd19g3mikzf47fg";
+        authors = [
+          "The Rust Project Developers"
+        ];
+        features = {
+        };
+        resolvedDefaultFeatures = [ "default" ];
+      };
+      "block-buffer 0.7.3" = rec {
+        crateName = "block-buffer";
+        version = "0.7.3";
+        edition = "2015";
+        sha256 = "12v8wizynqin0hqf140kmp9s38q223mp1b0hkqk8j5pk8720v560";
+        authors = [
+          "RustCrypto Developers"
+        ];
+        dependencies = [
+          {
+            name = "block-padding";
+            packageId = "block-padding";
+          }
+          {
+            name = "byte-tools";
+            packageId = "byte-tools";
+          }
+          {
+            name = "byteorder";
+            packageId = "byteorder";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "generic-array";
+            packageId = "generic-array 0.12.4";
+          }
+        ];
+
+      };
+      "block-buffer 0.9.0" = rec {
+        crateName = "block-buffer";
+        version = "0.9.0";
+        edition = "2018";
+        sha256 = "1r4pf90s7d7lj1wdjhlnqa26vvbm6pnc33z138lxpnp9srpi2lj1";
+        authors = [
+          "RustCrypto Developers"
+        ];
+        dependencies = [
+          {
+            name = "generic-array";
+            packageId = "generic-array 0.14.4";
+          }
+        ];
+
+      };
+      "block-padding" = rec {
+        crateName = "block-padding";
+        version = "0.1.5";
+        edition = "2015";
+        sha256 = "1xbkmysiz23vimd17rnsjpw9bgjxipwfslwyygqlkx4in3dxwygs";
+        authors = [
+          "RustCrypto Developers"
+        ];
+        dependencies = [
+          {
+            name = "byte-tools";
+            packageId = "byte-tools";
+          }
+        ];
+
+      };
+      "brotli-sys" = rec {
+        crateName = "brotli-sys";
+        version = "0.3.2";
+        edition = "2015";
+        sha256 = "1kdfdbcba6zwa13xpjwgiplblkdf6vigxjbwwp6l2ascbylxwia4";
+        authors = [
+          "Alex Crichton <alex@alexcrichton.com>"
+        ];
+        dependencies = [
+          {
+            name = "libc";
+            packageId = "libc";
+          }
+        ];
+        buildDependencies = [
+          {
+            name = "cc";
+            packageId = "cc";
+          }
+        ];
+
+      };
+      "brotli2" = rec {
+        crateName = "brotli2";
+        version = "0.3.2";
+        edition = "2015";
+        sha256 = "13jnhpmfkqy2xar4lxrsk3rx3i12bgnarnsxq4arhc6yxb1kdc0c";
+        authors = [
+          "Alex Crichton <alex@alexcrichton.com>"
+        ];
+        dependencies = [
+          {
+            name = "brotli-sys";
+            packageId = "brotli-sys";
+          }
+          {
+            name = "libc";
+            packageId = "libc";
+          }
+        ];
+
+      };
+      "bstr" = rec {
+        crateName = "bstr";
+        version = "0.2.16";
+        edition = "2018";
+        sha256 = "0y8jy9kcqn1myzxjx7c73rbv4amfw08n936ycqz3glrsc66jqs4h";
+        authors = [
+          "Andrew Gallant <jamslam@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "lazy_static";
+            packageId = "lazy_static";
+            optional = true;
+          }
+          {
+            name = "memchr";
+            packageId = "memchr";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "regex-automata";
+            packageId = "regex-automata";
+            optional = true;
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "serde";
+            packageId = "serde";
+            optional = true;
+            usesDefaultFeatures = false;
+          }
+        ];
+        features = {
+          "default" = [ "std" "unicode" ];
+          "serde1" = [ "std" "serde1-nostd" "serde/std" ];
+          "serde1-nostd" = [ "serde" ];
+          "std" = [ "memchr/std" ];
+          "unicode" = [ "lazy_static" "regex-automata" ];
+        };
+        resolvedDefaultFeatures = [ "default" "lazy_static" "regex-automata" "serde" "serde1" "serde1-nostd" "std" "unicode" ];
+      };
+      "bumpalo" = rec {
+        crateName = "bumpalo";
+        version = "3.7.0";
+        edition = "2018";
+        sha256 = "0ccn025n0x1gc0ijjlabin2xs7dkx5yfagkskr93yw9c06pyfncw";
+        authors = [
+          "Nick Fitzgerald <fitzgen@gmail.com>"
+        ];
+        features = {
+        };
+        resolvedDefaultFeatures = [ "default" ];
+      };
+      "byte-tools" = rec {
+        crateName = "byte-tools";
+        version = "0.3.1";
+        edition = "2015";
+        sha256 = "1mqi29wsm8njpl51pfwr31wmpzs5ahlcb40wsjyd92l90ixcmdg3";
+        authors = [
+          "RustCrypto Developers"
+        ];
+
+      };
+      "byte-unit" = rec {
+        crateName = "byte-unit";
+        version = "4.0.12";
+        edition = "2018";
+        sha256 = "1n5w327g55ly5r4yjh71rhv2ifw615xdxv8d2rj5nxsbxgk9fc86";
+        authors = [
+          "Magic Len <len@magiclen.org>"
+        ];
+        dependencies = [
+          {
+            name = "utf8-width";
+            packageId = "utf8-width";
+          }
+        ];
+        features = {
+          "default" = [ "std" "u128" ];
+        };
+        resolvedDefaultFeatures = [ "std" ];
+      };
+      "bytemuck" = rec {
+        crateName = "bytemuck";
+        version = "1.7.0";
+        edition = "2018";
+        sha256 = "0dc4i6s9l86h2wb2h4r4njp80lm3a5i3k860p9fph3sdf6mx4rlr";
+        authors = [
+          "Lokathor <zefria@gmail.com>"
+        ];
+        features = {
+          "derive" = [ "bytemuck_derive" ];
+          "extern_crate_std" = [ "extern_crate_alloc" ];
+        };
+      };
+      "byteorder" = rec {
+        crateName = "byteorder";
+        version = "1.4.3";
+        edition = "2018";
+        sha256 = "0456lv9xi1a5bcm32arknf33ikv76p3fr9yzki4lb2897p2qkh8l";
+        authors = [
+          "Andrew Gallant <jamslam@gmail.com>"
+        ];
+        features = {
+          "default" = [ "std" ];
+        };
+        resolvedDefaultFeatures = [ "default" "std" ];
+      };
+      "bytes 0.6.0" = rec {
+        crateName = "bytes";
+        version = "0.6.0";
+        edition = "2018";
+        sha256 = "05ivrcbgl4f7z2zzm9hbsi8cy66spi70xlm6fp16zsq4ylsvrp70";
+        authors = [
+          "Carl Lerche <me@carllerche.com>"
+          "Sean McArthur <sean@seanmonstar.com>"
+        ];
+        features = {
+          "default" = [ "std" ];
+        };
+        resolvedDefaultFeatures = [ "default" "std" ];
+      };
+      "bytes 1.0.1" = rec {
+        crateName = "bytes";
+        version = "1.0.1";
+        edition = "2018";
+        sha256 = "0h6h1c8g3yj2b4k8g25gr3246mq985y0kl3z685cs784fr1ww05p";
+        authors = [
+          "Carl Lerche <me@carllerche.com>"
+          "Sean McArthur <sean@seanmonstar.com>"
+        ];
+        features = {
+          "default" = [ "std" ];
+        };
+        resolvedDefaultFeatures = [ "default" "std" ];
+      };
+      "bytestring" = rec {
+        crateName = "bytestring";
+        version = "1.0.0";
+        edition = "2018";
+        sha256 = "0ka9gkn2rrxms0d5s32ckpchh06qmgidbh4xw630gfcpkshnnw4h";
+        authors = [
+          "Nikolay Kim <fafhrd91@gmail.com>"
+          "Rob Ede <robjtede@icloud.com>"
+        ];
+        dependencies = [
+          {
+            name = "bytes";
+            packageId = "bytes 1.0.1";
+          }
+        ];
+
+      };
+      "bzip2" = rec {
+        crateName = "bzip2";
+        version = "0.4.3";
+        edition = "2015";
+        sha256 = "1c495c2zh3knxwby2v1m7b21qddvrkya4mvyqlbm197knn0dkz3a";
+        authors = [
+          "Alex Crichton <alex@alexcrichton.com>"
+        ];
+        dependencies = [
+          {
+            name = "bzip2-sys";
+            packageId = "bzip2-sys";
+          }
+          {
+            name = "libc";
+            packageId = "libc";
+          }
+        ];
+        features = {
+          "static" = [ "bzip2-sys/static" ];
+          "tokio" = [ "tokio-io" "futures" ];
+        };
+      };
+      "bzip2-sys" = rec {
+        crateName = "bzip2-sys";
+        version = "0.1.11+1.0.8";
+        edition = "2015";
+        sha256 = "1p2crnv8d8gpz5c2vlvzl0j55i3yqg5bi0kwsl1531x77xgraskk";
+        libName = "bzip2_sys";
+        libPath = "lib.rs";
+        authors = [
+          "Alex Crichton <alex@alexcrichton.com>"
+        ];
+        dependencies = [
+          {
+            name = "libc";
+            packageId = "libc";
+          }
+        ];
+        buildDependencies = [
+          {
+            name = "cc";
+            packageId = "cc";
+          }
+          {
+            name = "pkg-config";
+            packageId = "pkg-config";
+          }
+        ];
+        features = {
+        };
+      };
+      "cargo_toml" = rec {
+        crateName = "cargo_toml";
+        version = "0.9.2";
+        edition = "2018";
+        sha256 = "14md0px40lk4hi1gn9sq1wizk19pkzddsljjdz0csbdhvynrcdcw";
+        libPath = "src/cargo_toml.rs";
+        authors = [
+          "Kornel <kornel@geekhood.net>"
+        ];
+        dependencies = [
+          {
+            name = "serde";
+            packageId = "serde";
+          }
+          {
+            name = "serde_derive";
+            packageId = "serde_derive";
+          }
+          {
+            name = "toml";
+            packageId = "toml";
+          }
+        ];
+
+      };
+      "cc" = rec {
+        crateName = "cc";
+        version = "1.0.68";
+        edition = "2018";
+        crateBin = [];
+        sha256 = "11ypa8b7iwhjf5fg5j3hvbn2116h9g8v67vyd9s7ljgzq52c4wja";
+        authors = [
+          "Alex Crichton <alex@alexcrichton.com>"
+        ];
+        dependencies = [
+          {
+            name = "jobserver";
+            packageId = "jobserver";
+            optional = true;
+          }
+        ];
+        features = {
+          "parallel" = [ "jobserver" ];
+        };
+        resolvedDefaultFeatures = [ "jobserver" "parallel" ];
+      };
+      "cedarwood" = rec {
+        crateName = "cedarwood";
+        version = "0.4.4";
+        edition = "2018";
+        sha256 = "13glk5w8hndgy553nrdmqxdvlr0b4s6n0lm4lf680qs1p73q4gln";
+        authors = [
+          "Paul Meng <me@paulme.ng>"
+        ];
+        dependencies = [
+          {
+            name = "smallvec";
+            packageId = "smallvec";
+          }
+        ];
+        features = {
+        };
+        resolvedDefaultFeatures = [ "default" ];
+      };
+      "cfg-if 0.1.10" = rec {
+        crateName = "cfg-if";
+        version = "0.1.10";
+        edition = "2018";
+        sha256 = "08h80ihs74jcyp24cd75wwabygbbdgl05k6p5dmq8akbr78vv1a7";
+        authors = [
+          "Alex Crichton <alex@alexcrichton.com>"
+        ];
+        features = {
+          "rustc-dep-of-std" = [ "core" "compiler_builtins" ];
+        };
+      };
+      "cfg-if 1.0.0" = rec {
+        crateName = "cfg-if";
+        version = "1.0.0";
+        edition = "2018";
+        sha256 = "1za0vb97n4brpzpv8lsbnzmq5r8f2b0cpqqr0sy8h5bn751xxwds";
+        authors = [
+          "Alex Crichton <alex@alexcrichton.com>"
+        ];
+        features = {
+          "rustc-dep-of-std" = [ "core" "compiler_builtins" ];
+        };
+      };
+      "change-detection" = rec {
+        crateName = "change-detection";
+        version = "1.2.0";
+        edition = "2018";
+        sha256 = "06mwv8d25gzxsfa27ij7lfr6xrbwr62xpv5rs2a1v2p4x89a97qm";
+        authors = [
+          "Alexander Korolev <alexander.korolev.germany@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "path-matchers";
+            packageId = "path-matchers";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "path-slash";
+            packageId = "path-slash";
+          }
+        ];
+        features = {
+          "default" = [ "glob" ];
+          "glob" = [ "path-matchers/glob" ];
+        };
+        resolvedDefaultFeatures = [ "default" "glob" ];
+      };
+      "character_converter" = rec {
+        crateName = "character_converter";
+        version = "1.0.0";
+        edition = "2018";
+        sha256 = "0p0yg30zmakgdxfha9r7af17g8r4hnb09diw0cfa5mh9rrz4fj1f";
+        authors = [
+          "Preston Wang-Stosur-Bassett <p.wanstobas@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "bincode";
+            packageId = "bincode";
+          }
+        ];
+
+      };
+      "chrono" = rec {
+        crateName = "chrono";
+        version = "0.4.19";
+        edition = "2015";
+        sha256 = "0wyfl6c00vhfl562spnfcna3zkw8jqvcp652m9iskhl8j26dc2k7";
+        authors = [
+          "Kang Seonghoon <public+rust@mearie.org>"
+          "Brandon W Maister <quodlibetor@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "libc";
+            packageId = "libc";
+            optional = true;
+          }
+          {
+            name = "num-integer";
+            packageId = "num-integer";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "num-traits";
+            packageId = "num-traits";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "serde";
+            packageId = "serde";
+            optional = true;
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "time";
+            packageId = "time 0.1.44";
+            optional = true;
+          }
+          {
+            name = "winapi";
+            packageId = "winapi";
+            optional = true;
+            target = { target, features }: (target."windows" or false);
+            features = [ "std" "minwinbase" "minwindef" "timezoneapi" ];
+          }
+        ];
+        features = {
+          "clock" = [ "libc" "std" "winapi" ];
+          "default" = [ "clock" "std" "oldtime" ];
+          "oldtime" = [ "time" ];
+          "unstable-locales" = [ "pure-rust-locales" "alloc" ];
+          "wasmbind" = [ "wasm-bindgen" "js-sys" ];
+        };
+        resolvedDefaultFeatures = [ "clock" "default" "libc" "oldtime" "serde" "std" "time" "winapi" ];
+      };
+      "clap" = rec {
+        crateName = "clap";
+        version = "2.33.3";
+        edition = "2015";
+        sha256 = "00i065a58987k1sbzqmlz721rw521zcg08jmsh40gi3khp3qmr9p";
+        authors = [
+          "Kevin K. <kbknapp@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "ansi_term";
+            packageId = "ansi_term";
+            optional = true;
+            target = { target, features }: (!(target."windows" or false));
+          }
+          {
+            name = "atty";
+            packageId = "atty";
+            optional = true;
+          }
+          {
+            name = "bitflags";
+            packageId = "bitflags";
+          }
+          {
+            name = "strsim";
+            packageId = "strsim";
+            optional = true;
+          }
+          {
+            name = "textwrap";
+            packageId = "textwrap";
+          }
+          {
+            name = "unicode-width";
+            packageId = "unicode-width";
+          }
+          {
+            name = "vec_map";
+            packageId = "vec_map";
+            optional = true;
+          }
+        ];
+        features = {
+          "color" = [ "ansi_term" "atty" ];
+          "default" = [ "suggestions" "color" "vec_map" ];
+          "doc" = [ "yaml" ];
+          "lints" = [ "clippy" ];
+          "suggestions" = [ "strsim" ];
+          "wrap_help" = [ "term_size" "textwrap/term_size" ];
+          "yaml" = [ "yaml-rust" ];
+        };
+        resolvedDefaultFeatures = [ "ansi_term" "atty" "color" "default" "strsim" "suggestions" "vec_map" ];
+      };
+      "concat-arrays" = rec {
+        crateName = "concat-arrays";
+        version = "0.1.2";
+        edition = "2018";
+        sha256 = "0irpvjsws7i40nx1ywxsmqw1bx3v4jq66x7vg95y70mk9s11bxqx";
+        procMacro = true;
+        authors = [
+          "Andrew Cann <shum@canndrew.org>"
+        ];
+        dependencies = [
+          {
+            name = "proc-macro2";
+            packageId = "proc-macro2 1.0.27";
+          }
+          {
+            name = "quote";
+            packageId = "quote 1.0.9";
+          }
+          {
+            name = "syn";
+            packageId = "syn 1.0.73";
+            features = [ "full" ];
+          }
+        ];
+
+      };
+      "const_fn" = rec {
+        crateName = "const_fn";
+        version = "0.4.8";
+        edition = "2018";
+        sha256 = "1rzn3ifnsgqh0lmzkqgm7jjjzwkykfysnb7gq7w3q2v9sl7zlb7r";
+        procMacro = true;
+        authors = [
+          "Taiki Endo <te316e89@gmail.com>"
+        ];
+
+      };
+      "convert_case" = rec {
+        crateName = "convert_case";
+        version = "0.4.0";
+        edition = "2018";
+        sha256 = "03jaf1wrsyqzcaah9jf8l1iznvdw5mlsca2qghhzr9w27sddaib2";
+        authors = [
+          "David Purdum <purdum41@gmail.com>"
+        ];
+        features = {
+          "random" = [ "rand" ];
+        };
+      };
+      "cookie" = rec {
+        crateName = "cookie";
+        version = "0.15.0";
+        edition = "2018";
+        sha256 = "09v6nx475xva12w7i9f76xfizc9ilj60isdxwnys7nf3p9jqipzz";
+        authors = [
+          "Sergio Benitez <sb@sergio.bz>"
+          "Alex Crichton <alex@alexcrichton.com>"
+        ];
+        dependencies = [
+          {
+            name = "percent-encoding";
+            packageId = "percent-encoding";
+            optional = true;
+          }
+          {
+            name = "time";
+            packageId = "time 0.2.27";
+            usesDefaultFeatures = false;
+            features = [ "std" ];
+          }
+        ];
+        buildDependencies = [
+          {
+            name = "version_check";
+            packageId = "version_check";
+          }
+        ];
+        features = {
+          "key-expansion" = [ "sha2" "hkdf" ];
+          "percent-encode" = [ "percent-encoding" ];
+          "private" = [ "aes-gcm" "base64" "rand" "subtle" ];
+          "secure" = [ "private" "signed" "key-expansion" ];
+          "signed" = [ "hmac" "sha2" "base64" "rand" "subtle" ];
+        };
+        resolvedDefaultFeatures = [ "percent-encode" "percent-encoding" ];
+      };
+      "cow-utils" = rec {
+        crateName = "cow-utils";
+        version = "0.1.2";
+        edition = "2018";
+        sha256 = "0wq1hcqj17ivzb45w3l0l87q81srapvpbqxf055x4xazmzgkmfvr";
+        authors = [
+          "Ingvar Stepanyan <me@rreverser.com>"
+        ];
+        features = {
+        };
+        resolvedDefaultFeatures = [ "default" ];
+      };
+      "cpufeatures" = rec {
+        crateName = "cpufeatures";
+        version = "0.1.5";
+        edition = "2018";
+        sha256 = "1vvid867wpnz5wzma3f4x2ijl83fgr6x1fc6shspzpf9ysb9djb6";
+        authors = [
+          "RustCrypto Developers"
+        ];
+        dependencies = [
+          {
+            name = "libc";
+            packageId = "libc";
+            target = { target, features }: (stdenv.hostPlatform.config == "aarch64-apple-darwin");
+          }
+          {
+            name = "libc";
+            packageId = "libc";
+            target = { target, features }: ((target."arch" == "aarch64") && (target."os" == "linux"));
+          }
+        ];
+
+      };
+      "crc32fast" = rec {
+        crateName = "crc32fast";
+        version = "1.2.1";
+        edition = "2015";
+        sha256 = "06ivjlkzcxxxk7nyshc44aql4zjpmvirq46vmzrakdjax3n6y5c1";
+        authors = [
+          "Sam Rijs <srijs@airpost.net>"
+          "Alex Crichton <alex@alexcrichton.com>"
+        ];
+        dependencies = [
+          {
+            name = "cfg-if";
+            packageId = "cfg-if 1.0.0";
+          }
+        ];
+        features = {
+          "default" = [ "std" ];
+        };
+        resolvedDefaultFeatures = [ "default" "std" ];
+      };
+      "crossbeam-channel" = rec {
+        crateName = "crossbeam-channel";
+        version = "0.5.1";
+        edition = "2018";
+        sha256 = "1d1dnp61g51gnmc45cb4vpjsr5n62wz22an2y3q6avgifzhjgv86";
+        authors = [
+          "The Crossbeam Project Developers"
+        ];
+        dependencies = [
+          {
+            name = "cfg-if";
+            packageId = "cfg-if 1.0.0";
+          }
+          {
+            name = "crossbeam-utils";
+            packageId = "crossbeam-utils 0.8.5";
+            optional = true;
+            usesDefaultFeatures = false;
+          }
+        ];
+        features = {
+          "default" = [ "std" ];
+          "std" = [ "crossbeam-utils/std" ];
+        };
+        resolvedDefaultFeatures = [ "crossbeam-utils" "default" "std" ];
+      };
+      "crossbeam-deque" = rec {
+        crateName = "crossbeam-deque";
+        version = "0.8.0";
+        edition = "2018";
+        sha256 = "1ad995vzq74k7jd1pgn9zxbacyzj9ii6l0svhlb2dxzy8vxnxbwl";
+        authors = [
+          "The Crossbeam Project Developers"
+        ];
+        dependencies = [
+          {
+            name = "cfg-if";
+            packageId = "cfg-if 1.0.0";
+          }
+          {
+            name = "crossbeam-epoch";
+            packageId = "crossbeam-epoch";
+            optional = true;
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "crossbeam-utils";
+            packageId = "crossbeam-utils 0.8.5";
+            optional = true;
+            usesDefaultFeatures = false;
+          }
+        ];
+        features = {
+          "default" = [ "std" ];
+          "std" = [ "crossbeam-epoch/std" "crossbeam-utils/std" ];
+        };
+        resolvedDefaultFeatures = [ "crossbeam-epoch" "crossbeam-utils" "default" "std" ];
+      };
+      "crossbeam-epoch" = rec {
+        crateName = "crossbeam-epoch";
+        version = "0.9.5";
+        edition = "2018";
+        sha256 = "1zdpfd6hjf944dr5pb7h7rkiccbwksc958x4mp1y4d56384jxh2f";
+        authors = [
+          "The Crossbeam Project Developers"
+        ];
+        dependencies = [
+          {
+            name = "cfg-if";
+            packageId = "cfg-if 1.0.0";
+          }
+          {
+            name = "crossbeam-utils";
+            packageId = "crossbeam-utils 0.8.5";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "lazy_static";
+            packageId = "lazy_static";
+            optional = true;
+          }
+          {
+            name = "memoffset";
+            packageId = "memoffset";
+          }
+          {
+            name = "scopeguard";
+            packageId = "scopeguard";
+            usesDefaultFeatures = false;
+          }
+        ];
+        features = {
+          "default" = [ "std" ];
+          "loom" = [ "loom-crate" "crossbeam-utils/loom" ];
+          "nightly" = [ "crossbeam-utils/nightly" "const_fn" ];
+          "std" = [ "alloc" "crossbeam-utils/std" "lazy_static" ];
+        };
+        resolvedDefaultFeatures = [ "alloc" "lazy_static" "std" ];
+      };
+      "crossbeam-queue" = rec {
+        crateName = "crossbeam-queue";
+        version = "0.1.2";
+        edition = "2015";
+        sha256 = "0jsa9dbxnwqcxfws09vaschf92d4imlbbikmcn4ka8z7rzb9r5vw";
+        authors = [
+          "The Crossbeam Project Developers"
+        ];
+        dependencies = [
+          {
+            name = "crossbeam-utils";
+            packageId = "crossbeam-utils 0.6.6";
+          }
+        ];
+
+      };
+      "crossbeam-utils 0.6.6" = rec {
+        crateName = "crossbeam-utils";
+        version = "0.6.6";
+        edition = "2015";
+        sha256 = "1rk0r9n04bmq4a3g2q5qhvvlmrmx780gc6h9lmc94mwndslkz5q4";
+        authors = [
+          "The Crossbeam Project Developers"
+        ];
+        dependencies = [
+          {
+            name = "cfg-if";
+            packageId = "cfg-if 0.1.10";
+          }
+          {
+            name = "lazy_static";
+            packageId = "lazy_static";
+            optional = true;
+          }
+        ];
+        features = {
+          "default" = [ "std" ];
+          "std" = [ "lazy_static" ];
+        };
+        resolvedDefaultFeatures = [ "default" "lazy_static" "std" ];
+      };
+      "crossbeam-utils 0.8.5" = rec {
+        crateName = "crossbeam-utils";
+        version = "0.8.5";
+        edition = "2018";
+        sha256 = "1ny481cx8a5pdknypb41jqym03dl8x26i2ldyyp3yb3zrq8zqb6q";
+        authors = [
+          "The Crossbeam Project Developers"
+        ];
+        dependencies = [
+          {
+            name = "cfg-if";
+            packageId = "cfg-if 1.0.0";
+          }
+          {
+            name = "lazy_static";
+            packageId = "lazy_static";
+            optional = true;
+          }
+        ];
+        features = {
+          "default" = [ "std" ];
+          "std" = [ "lazy_static" ];
+        };
+        resolvedDefaultFeatures = [ "default" "lazy_static" "std" ];
+      };
+      "csv" = rec {
+        crateName = "csv";
+        version = "1.1.6";
+        edition = "2018";
+        sha256 = "1q9nqn0qlamwl18v57p82c8yhxy43lkzf2z1mndmycsvqinkm092";
+        authors = [
+          "Andrew Gallant <jamslam@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "bstr";
+            packageId = "bstr";
+            features = [ "serde1" ];
+          }
+          {
+            name = "csv-core";
+            packageId = "csv-core";
+          }
+          {
+            name = "itoa";
+            packageId = "itoa";
+          }
+          {
+            name = "ryu";
+            packageId = "ryu";
+          }
+          {
+            name = "serde";
+            packageId = "serde";
+          }
+        ];
+        devDependencies = [
+          {
+            name = "serde";
+            packageId = "serde";
+            features = [ "derive" ];
+          }
+        ];
+
+      };
+      "csv-core" = rec {
+        crateName = "csv-core";
+        version = "0.1.10";
+        edition = "2018";
+        sha256 = "145wcc3560v1kmysqqspvddppiysr2rifqzy4nnlh3r6kxanc91b";
+        authors = [
+          "Andrew Gallant <jamslam@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "memchr";
+            packageId = "memchr";
+            usesDefaultFeatures = false;
+          }
+        ];
+        features = {
+          "libc" = [ "memchr/libc" ];
+        };
+        resolvedDefaultFeatures = [ "default" ];
+      };
+      "debugid" = rec {
+        crateName = "debugid";
+        version = "0.7.2";
+        edition = "2018";
+        sha256 = "1fh2nl4dzbcm3bn9knb30phprm1mhr826wb268m7w2gjqalga77r";
+        authors = [
+          "Sentry <hello@sentry.io>"
+        ];
+        dependencies = [
+          {
+            name = "serde";
+            packageId = "serde";
+            optional = true;
+          }
+          {
+            name = "uuid";
+            packageId = "uuid";
+          }
+        ];
+
+        resolvedDefaultFeatures = [ "serde" ];
+      };
+      "derive_more" = rec {
+        crateName = "derive_more";
+        version = "0.99.14";
+        edition = "2018";
+        sha256 = "085ksssdwxrnvx9g19g9sfzgn9db8d7lx4j3ah76clg3y77bkisw";
+        procMacro = true;
+        authors = [
+          "Jelte Fennema <github-tech@jeltef.nl>"
+        ];
+        dependencies = [
+          {
+            name = "convert_case";
+            packageId = "convert_case";
+            optional = true;
+          }
+          {
+            name = "proc-macro2";
+            packageId = "proc-macro2 1.0.27";
+          }
+          {
+            name = "quote";
+            packageId = "quote 1.0.9";
+          }
+          {
+            name = "syn";
+            packageId = "syn 1.0.73";
+          }
+        ];
+        features = {
+          "default" = [ "add_assign" "add" "as_mut" "as_ref" "constructor" "deref" "deref_mut" "display" "error" "from" "from_str" "index" "index_mut" "into" "into_iterator" "iterator" "mul_assign" "mul" "not" "sum" "try_into" "is_variant" ];
+          "display" = [ "syn/extra-traits" ];
+          "error" = [ "syn/extra-traits" ];
+          "from" = [ "syn/extra-traits" ];
+          "generate-parsing-rs" = [ "peg" ];
+          "into" = [ "syn/extra-traits" ];
+          "is_variant" = [ "convert_case" ];
+          "mul" = [ "syn/extra-traits" ];
+          "mul_assign" = [ "syn/extra-traits" ];
+          "not" = [ "syn/extra-traits" ];
+          "testing-helpers" = [ "rustc_version" ];
+          "try_into" = [ "syn/extra-traits" ];
+        };
+        resolvedDefaultFeatures = [ "add" "add_assign" "as_mut" "as_ref" "constructor" "convert_case" "default" "deref" "deref_mut" "display" "error" "from" "from_str" "index" "index_mut" "into" "into_iterator" "is_variant" "iterator" "mul" "mul_assign" "not" "sum" "try_into" ];
+      };
+      "deunicode" = rec {
+        crateName = "deunicode";
+        version = "1.3.0";
+        edition = "2018";
+        sha256 = "1wpqgdfhssaqd25hvm898vgmc3x7wv5y1vcy70balr4zcdfpfdvz";
+        authors = [
+          "Kornel Lesinski <kornel@geekhood.net>"
+          "Amit Chowdhury <amitc97@gmail.com>"
+        ];
+
+      };
+      "difference" = rec {
+        crateName = "difference";
+        version = "2.0.0";
+        edition = "2015";
+        crateBin = [];
+        sha256 = "1621wx4k8h452p6xzmzzvm7mz87kxh4yqz0kzxfjj9xmjxlbyk2j";
+        authors = [
+          "Johann Hofmann <mail@johann-hofmann.com>"
+        ];
+        features = {
+          "bin" = [ "getopts" ];
+        };
+        resolvedDefaultFeatures = [ "default" ];
+      };
+      "digest 0.8.1" = rec {
+        crateName = "digest";
+        version = "0.8.1";
+        edition = "2015";
+        sha256 = "1madjl27f3kj5ql7kwgvb9c8b7yb7bv7yfgx7rqzj4i3fp4cil7k";
+        authors = [
+          "RustCrypto Developers"
+        ];
+        dependencies = [
+          {
+            name = "generic-array";
+            packageId = "generic-array 0.12.4";
+          }
+        ];
+        features = {
+          "dev" = [ "blobby" ];
+        };
+      };
+      "digest 0.9.0" = rec {
+        crateName = "digest";
+        version = "0.9.0";
+        edition = "2018";
+        sha256 = "0rmhvk33rgvd6ll71z8sng91a52rw14p0drjn1da0mqa138n1pfk";
+        authors = [
+          "RustCrypto Developers"
+        ];
+        dependencies = [
+          {
+            name = "generic-array";
+            packageId = "generic-array 0.14.4";
+          }
+        ];
+        features = {
+          "dev" = [ "blobby" ];
+          "std" = [ "alloc" ];
+        };
+        resolvedDefaultFeatures = [ "alloc" "std" ];
+      };
+      "discard" = rec {
+        crateName = "discard";
+        version = "1.0.4";
+        edition = "2015";
+        sha256 = "1h67ni5bxvg95s91wgicily4ix7lcw7cq0a5gy9njrybaibhyb91";
+        authors = [
+          "Pauan <pcxunlimited@gmail.com>"
+        ];
+
+      };
+      "downcast" = rec {
+        crateName = "downcast";
+        version = "0.10.0";
+        edition = "2015";
+        sha256 = "07bh0l95gwrzak6rj29v8kkm577d8vivxsxhqgscf64b4bq59d2b";
+        authors = [
+          "Felix Köpge <fkoep@mailbox.org>"
+        ];
+        features = {
+          "default" = [ "std" ];
+        };
+        resolvedDefaultFeatures = [ "default" "std" ];
+      };
+      "either" = rec {
+        crateName = "either";
+        version = "1.6.1";
+        edition = "2015";
+        sha256 = "0mwl9vngqf5jvrhmhn9x60kr5hivxyjxbmby2pybncxfqhf4z3g7";
+        authors = [
+          "bluss"
+        ];
+        features = {
+          "default" = [ "use_std" ];
+        };
+        resolvedDefaultFeatures = [ "default" "use_std" ];
+      };
+      "encoding_rs" = rec {
+        crateName = "encoding_rs";
+        version = "0.8.28";
+        edition = "2018";
+        sha256 = "0rf0r99q4kgjrx22kx7pjyjg4lm21599y3ggvy3hzj2spi7h5pw0";
+        authors = [
+          "Henri Sivonen <hsivonen@hsivonen.fi>"
+        ];
+        dependencies = [
+          {
+            name = "cfg-if";
+            packageId = "cfg-if 1.0.0";
+          }
+        ];
+        features = {
+          "fast-legacy-encode" = [ "fast-hangul-encode" "fast-hanja-encode" "fast-kanji-encode" "fast-gb-hanzi-encode" "fast-big5-hanzi-encode" ];
+          "simd-accel" = [ "packed_simd" "packed_simd/into_bits" ];
+        };
+      };
+      "enum-iterator" = rec {
+        crateName = "enum-iterator";
+        version = "0.7.0";
+        edition = "2018";
+        sha256 = "1rldnx6avpz39i1bwb65d4gs303p40syyfc4zqwlx7mpxp2wbsjf";
+        authors = [
+          "Stephane Raux <stephaneyfx@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "enum-iterator-derive";
+            packageId = "enum-iterator-derive";
+          }
+        ];
+
+      };
+      "enum-iterator-derive" = rec {
+        crateName = "enum-iterator-derive";
+        version = "0.7.0";
+        edition = "2018";
+        sha256 = "0ndihb41kmi6pxc2bs097abxliw2pgnnw412lhdqfymjc1vw6d61";
+        procMacro = true;
+        authors = [
+          "Stephane Raux <stephaneyfx@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "proc-macro2";
+            packageId = "proc-macro2 1.0.27";
+          }
+          {
+            name = "quote";
+            packageId = "quote 1.0.9";
+          }
+          {
+            name = "syn";
+            packageId = "syn 1.0.73";
+          }
+        ];
+
+      };
+      "env_logger" = rec {
+        crateName = "env_logger";
+        version = "0.8.4";
+        edition = "2018";
+        sha256 = "1qzw8g11dbdfi7ixm44ldykwcqsxqkh8vx5cgpd88zmclgz8g4d1";
+        authors = [
+          "The Rust Project Developers"
+        ];
+        dependencies = [
+          {
+            name = "atty";
+            packageId = "atty";
+            optional = true;
+          }
+          {
+            name = "humantime";
+            packageId = "humantime";
+            optional = true;
+          }
+          {
+            name = "log";
+            packageId = "log";
+            features = [ "std" ];
+          }
+          {
+            name = "regex";
+            packageId = "regex";
+            optional = true;
+            usesDefaultFeatures = false;
+            features = [ "std" "perf" ];
+          }
+          {
+            name = "termcolor";
+            packageId = "termcolor";
+            optional = true;
+          }
+        ];
+        features = {
+          "default" = [ "termcolor" "atty" "humantime" "regex" ];
+        };
+        resolvedDefaultFeatures = [ "atty" "default" "humantime" "regex" "termcolor" ];
+      };
+      "fake-simd" = rec {
+        crateName = "fake-simd";
+        version = "0.1.2";
+        edition = "2015";
+        sha256 = "1vfylvk4va2ivqx85603lyqqp0zk52cgbs4n5nfbbbqx577qm2p8";
+        authors = [
+          "The Rust-Crypto Project Developers"
+        ];
+
+      };
+      "filetime" = rec {
+        crateName = "filetime";
+        version = "0.2.14";
+        edition = "2018";
+        sha256 = "1s71cb7hzkk4ahc5j53w8933gnxv2giyj7v0za5hbbk37ahwyd0x";
+        authors = [
+          "Alex Crichton <alex@alexcrichton.com>"
+        ];
+        dependencies = [
+          {
+            name = "cfg-if";
+            packageId = "cfg-if 1.0.0";
+          }
+          {
+            name = "libc";
+            packageId = "libc";
+            target = { target, features }: (target."unix" or false);
+          }
+          {
+            name = "redox_syscall";
+            packageId = "redox_syscall";
+            target = { target, features }: (target."os" == "redox");
+          }
+          {
+            name = "winapi";
+            packageId = "winapi";
+            target = { target, features }: (target."windows" or false);
+            features = [ "fileapi" "minwindef" "winbase" ];
+          }
+        ];
+
+      };
+      "flate2" = rec {
+        crateName = "flate2";
+        version = "1.0.20";
+        edition = "2018";
+        sha256 = "1q5b4r2rclhjbcxlbv5231avp1y6y8bynrf5v3brdzhhvr9yqfnd";
+        authors = [
+          "Alex Crichton <alex@alexcrichton.com>"
+          "Josh Triplett <josh@joshtriplett.org>"
+        ];
+        dependencies = [
+          {
+            name = "cfg-if";
+            packageId = "cfg-if 1.0.0";
+          }
+          {
+            name = "crc32fast";
+            packageId = "crc32fast";
+          }
+          {
+            name = "libc";
+            packageId = "libc";
+          }
+          {
+            name = "miniz_oxide";
+            packageId = "miniz_oxide";
+            optional = true;
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "miniz_oxide";
+            packageId = "miniz_oxide";
+            usesDefaultFeatures = false;
+            target = { target, features }: ((target."arch" == "wasm32") && (!(target."os" == "emscripten")));
+          }
+        ];
+        features = {
+          "cloudflare_zlib" = [ "any_zlib" "cloudflare-zlib-sys" ];
+          "default" = [ "rust_backend" ];
+          "rust_backend" = [ "miniz_oxide" ];
+          "tokio" = [ "tokio-io" "futures" ];
+          "zlib" = [ "any_zlib" "libz-sys" ];
+          "zlib-ng-compat" = [ "zlib" "libz-sys/zlib-ng" ];
+        };
+        resolvedDefaultFeatures = [ "default" "miniz_oxide" "rust_backend" ];
+      };
+      "float-cmp" = rec {
+        crateName = "float-cmp";
+        version = "0.8.0";
+        edition = "2018";
+        sha256 = "1i56hnzjn5pmrcm47fwkmfxiihk7wz5vvcgpb0kpfhzkqi57y9p1";
+        libName = "float_cmp";
+        authors = [
+          "Mike Dilger <mike@mikedilger.com>"
+        ];
+        dependencies = [
+          {
+            name = "num-traits";
+            packageId = "num-traits";
+            optional = true;
+            usesDefaultFeatures = false;
+          }
+        ];
+        features = {
+          "default" = [ "ratio" ];
+          "ratio" = [ "num-traits" ];
+        };
+        resolvedDefaultFeatures = [ "default" "num-traits" "ratio" ];
+      };
+      "fnv" = rec {
+        crateName = "fnv";
+        version = "1.0.7";
+        edition = "2015";
+        sha256 = "1hc2mcqha06aibcaza94vbi81j6pr9a1bbxrxjfhc91zin8yr7iz";
+        libPath = "lib.rs";
+        authors = [
+          "Alex Crichton <alex@alexcrichton.com>"
+        ];
+        features = {
+          "default" = [ "std" ];
+        };
+        resolvedDefaultFeatures = [ "default" "std" ];
+      };
+      "form_urlencoded" = rec {
+        crateName = "form_urlencoded";
+        version = "1.0.1";
+        edition = "2018";
+        sha256 = "1491fmakavcmsjbm3q6iy0bhmn9l422jasdhzx5hkljgza3mmhjz";
+        authors = [
+          "The rust-url developers"
+        ];
+        dependencies = [
+          {
+            name = "matches";
+            packageId = "matches";
+          }
+          {
+            name = "percent-encoding";
+            packageId = "percent-encoding";
+          }
+        ];
+
+      };
+      "fragile" = rec {
+        crateName = "fragile";
+        version = "1.0.0";
+        edition = "2018";
+        sha256 = "1wlihmkjyhvl5rckal32p010piy1l15s6l81h7z31jcd971kk839";
+        authors = [
+          "Armin Ronacher <armin.ronacher@active-4.com>"
+        ];
+
+      };
+      "fs_extra" = rec {
+        crateName = "fs_extra";
+        version = "1.2.0";
+        edition = "2015";
+        sha256 = "151k6dr35mhq5d8pc8krhw55ajhkyiv0pm14s7zzlc5bc9fp28i0";
+        authors = [
+          "Denis Kurilenko <webdesus@gmail.com>"
+        ];
+
+      };
+      "fst" = rec {
+        crateName = "fst";
+        version = "0.4.7";
+        edition = "2018";
+        sha256 = "06mnksicgv9rp8b7w0ykkshf355l05zym3ygm74qr5z30ndmpf3s";
+        authors = [
+          "Andrew Gallant <jamslam@gmail.com>"
+        ];
+        features = {
+          "levenshtein" = [ "utf8-ranges" ];
+        };
+        resolvedDefaultFeatures = [ "default" ];
+      };
+      "fuchsia-cprng" = rec {
+        crateName = "fuchsia-cprng";
+        version = "0.1.1";
+        edition = "2018";
+        sha256 = "1fnkqrbz7ixxzsb04bsz9p0zzazanma8znfdqjvh39n14vapfvx0";
+        authors = [
+          "Erick Tryzelaar <etryzelaar@google.com>"
+        ];
+
+      };
+      "futures" = rec {
+        crateName = "futures";
+        version = "0.3.15";
+        edition = "2018";
+        sha256 = "09zwmmfi8d1glhi0bz2didagjyqz3q9gxa7nq4vzmqns0fl46zhf";
+        authors = [
+          "Alex Crichton <alex@alexcrichton.com>"
+        ];
+        dependencies = [
+          {
+            name = "futures-channel";
+            packageId = "futures-channel";
+            usesDefaultFeatures = false;
+            features = [ "sink" ];
+          }
+          {
+            name = "futures-core";
+            packageId = "futures-core";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "futures-executor";
+            packageId = "futures-executor";
+            optional = true;
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "futures-io";
+            packageId = "futures-io";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "futures-sink";
+            packageId = "futures-sink";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "futures-task";
+            packageId = "futures-task";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "futures-util";
+            packageId = "futures-util";
+            usesDefaultFeatures = false;
+            features = [ "sink" ];
+          }
+        ];
+        features = {
+          "alloc" = [ "futures-core/alloc" "futures-task/alloc" "futures-sink/alloc" "futures-channel/alloc" "futures-util/alloc" ];
+          "async-await" = [ "futures-util/async-await" "futures-util/async-await-macro" ];
+          "bilock" = [ "futures-util/bilock" ];
+          "compat" = [ "std" "futures-util/compat" ];
+          "default" = [ "std" "async-await" "executor" ];
+          "executor" = [ "std" "futures-executor/std" ];
+          "io-compat" = [ "compat" "futures-util/io-compat" ];
+          "read-initializer" = [ "futures-io/read-initializer" "futures-util/read-initializer" ];
+          "std" = [ "alloc" "futures-core/std" "futures-task/std" "futures-io/std" "futures-sink/std" "futures-util/std" "futures-util/io" "futures-util/channel" ];
+          "thread-pool" = [ "executor" "futures-executor/thread-pool" ];
+          "unstable" = [ "futures-core/unstable" "futures-task/unstable" "futures-channel/unstable" "futures-io/unstable" "futures-util/unstable" ];
+          "write-all-vectored" = [ "futures-util/write-all-vectored" ];
+        };
+        resolvedDefaultFeatures = [ "alloc" "async-await" "default" "executor" "futures-executor" "std" ];
+      };
+      "futures-channel" = rec {
+        crateName = "futures-channel";
+        version = "0.3.15";
+        edition = "2018";
+        sha256 = "1qki53g079ymjkgdxg3rlh5yivys8qvdqhy18l2xz0m8565sd0p6";
+        authors = [
+          "Alex Crichton <alex@alexcrichton.com>"
+        ];
+        dependencies = [
+          {
+            name = "futures-core";
+            packageId = "futures-core";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "futures-sink";
+            packageId = "futures-sink";
+            optional = true;
+            usesDefaultFeatures = false;
+          }
+        ];
+        features = {
+          "alloc" = [ "futures-core/alloc" ];
+          "default" = [ "std" ];
+          "sink" = [ "futures-sink" ];
+          "std" = [ "alloc" "futures-core/std" ];
+        };
+        resolvedDefaultFeatures = [ "alloc" "default" "futures-sink" "sink" "std" ];
+      };
+      "futures-core" = rec {
+        crateName = "futures-core";
+        version = "0.3.15";
+        edition = "2018";
+        sha256 = "1lbrw5087ndaqvbjrckbz9ld4ya67k72d6w87c22d6m8v1jzf0h4";
+        authors = [
+          "Alex Crichton <alex@alexcrichton.com>"
+        ];
+        features = {
+          "default" = [ "std" ];
+          "std" = [ "alloc" ];
+        };
+        resolvedDefaultFeatures = [ "alloc" "default" "std" ];
+      };
+      "futures-executor" = rec {
+        crateName = "futures-executor";
+        version = "0.3.15";
+        edition = "2018";
+        sha256 = "0ydbmzg6ig9gankp2nspaq668r3ngzss4806dliygjgs16lsdnms";
+        authors = [
+          "Alex Crichton <alex@alexcrichton.com>"
+        ];
+        dependencies = [
+          {
+            name = "futures-core";
+            packageId = "futures-core";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "futures-task";
+            packageId = "futures-task";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "futures-util";
+            packageId = "futures-util";
+            usesDefaultFeatures = false;
+          }
+        ];
+        features = {
+          "default" = [ "std" ];
+          "std" = [ "futures-core/std" "futures-task/std" "futures-util/std" ];
+          "thread-pool" = [ "std" "num_cpus" ];
+        };
+        resolvedDefaultFeatures = [ "std" ];
+      };
+      "futures-io" = rec {
+        crateName = "futures-io";
+        version = "0.3.15";
+        edition = "2018";
+        sha256 = "1899vd5yri6zv88by53pzxb1h4x96mc42riziy6qyd1vzgg9ki5c";
+        authors = [
+          "Alex Crichton <alex@alexcrichton.com>"
+        ];
+        features = {
+          "default" = [ "std" ];
+        };
+        resolvedDefaultFeatures = [ "std" ];
+      };
+      "futures-macro" = rec {
+        crateName = "futures-macro";
+        version = "0.3.15";
+        edition = "2018";
+        sha256 = "08fixp6b34lr58cs85kacp3h599bi63njvfd03655pvc92c05i54";
+        procMacro = true;
+        authors = [
+          "Taylor Cramer <cramertj@google.com>"
+          "Taiki Endo <te316e89@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "proc-macro-hack";
+            packageId = "proc-macro-hack";
+          }
+          {
+            name = "proc-macro2";
+            packageId = "proc-macro2 1.0.27";
+          }
+          {
+            name = "quote";
+            packageId = "quote 1.0.9";
+          }
+          {
+            name = "syn";
+            packageId = "syn 1.0.73";
+            features = [ "full" ];
+          }
+        ];
+        buildDependencies = [
+          {
+            name = "autocfg";
+            packageId = "autocfg";
+          }
+        ];
+
+      };
+      "futures-sink" = rec {
+        crateName = "futures-sink";
+        version = "0.3.15";
+        edition = "2018";
+        sha256 = "10j21j3k358512qyglqpfyxj309kr6bcspj6izg6s3gzrv8flyx5";
+        authors = [
+          "Alex Crichton <alex@alexcrichton.com>"
+        ];
+        features = {
+          "default" = [ "std" ];
+          "std" = [ "alloc" ];
+        };
+        resolvedDefaultFeatures = [ "alloc" "default" "std" ];
+      };
+      "futures-task" = rec {
+        crateName = "futures-task";
+        version = "0.3.15";
+        edition = "2018";
+        sha256 = "1bixscylw61w61dizqxhrdlnb8mv7yg9h775pssxsk8szkwvw5la";
+        authors = [
+          "Alex Crichton <alex@alexcrichton.com>"
+        ];
+        features = {
+          "default" = [ "std" ];
+          "std" = [ "alloc" ];
+        };
+        resolvedDefaultFeatures = [ "alloc" "std" ];
+      };
+      "futures-util" = rec {
+        crateName = "futures-util";
+        version = "0.3.15";
+        edition = "2018";
+        sha256 = "0rqr36zy4na270kn9fwk866adx1xkv1b49zxzm7zjavys8wc5dgy";
+        authors = [
+          "Alex Crichton <alex@alexcrichton.com>"
+        ];
+        dependencies = [
+          {
+            name = "futures-channel";
+            packageId = "futures-channel";
+            optional = true;
+            usesDefaultFeatures = false;
+            features = [ "std" ];
+          }
+          {
+            name = "futures-core";
+            packageId = "futures-core";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "futures-io";
+            packageId = "futures-io";
+            optional = true;
+            usesDefaultFeatures = false;
+            features = [ "std" ];
+          }
+          {
+            name = "futures-macro";
+            packageId = "futures-macro";
+            optional = true;
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "futures-sink";
+            packageId = "futures-sink";
+            optional = true;
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "futures-task";
+            packageId = "futures-task";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "memchr";
+            packageId = "memchr";
+            optional = true;
+          }
+          {
+            name = "pin-project-lite";
+            packageId = "pin-project-lite";
+          }
+          {
+            name = "pin-utils";
+            packageId = "pin-utils";
+          }
+          {
+            name = "proc-macro-hack";
+            packageId = "proc-macro-hack";
+            optional = true;
+          }
+          {
+            name = "proc-macro-nested";
+            packageId = "proc-macro-nested";
+            optional = true;
+          }
+          {
+            name = "slab";
+            packageId = "slab";
+            optional = true;
+          }
+        ];
+        buildDependencies = [
+          {
+            name = "autocfg";
+            packageId = "autocfg";
+          }
+        ];
+        features = {
+          "alloc" = [ "futures-core/alloc" "futures-task/alloc" ];
+          "async-await-macro" = [ "async-await" "futures-macro" "proc-macro-hack" "proc-macro-nested" ];
+          "channel" = [ "std" "futures-channel" ];
+          "compat" = [ "std" "futures_01" ];
+          "default" = [ "std" "async-await" "async-await-macro" ];
+          "io" = [ "std" "futures-io" "memchr" ];
+          "io-compat" = [ "io" "compat" "tokio-io" ];
+          "read-initializer" = [ "io" "futures-io/read-initializer" "futures-io/unstable" ];
+          "sink" = [ "futures-sink" ];
+          "std" = [ "alloc" "futures-core/std" "futures-task/std" "slab" ];
+          "unstable" = [ "futures-core/unstable" "futures-task/unstable" ];
+          "write-all-vectored" = [ "io" ];
+        };
+        resolvedDefaultFeatures = [ "alloc" "async-await" "async-await-macro" "channel" "default" "futures-channel" "futures-io" "futures-macro" "futures-sink" "io" "memchr" "proc-macro-hack" "proc-macro-nested" "sink" "slab" "std" ];
+      };
+      "fxhash" = rec {
+        crateName = "fxhash";
+        version = "0.2.1";
+        edition = "2015";
+        sha256 = "037mb9ichariqi45xm6mz0b11pa92gj38ba0409z3iz239sns6y3";
+        libPath = "lib.rs";
+        authors = [
+          "cbreeden <github@u.breeden.cc>"
+        ];
+        dependencies = [
+          {
+            name = "byteorder";
+            packageId = "byteorder";
+          }
+        ];
+
+      };
+      "generic-array 0.12.4" = rec {
+        crateName = "generic-array";
+        version = "0.12.4";
+        edition = "2015";
+        sha256 = "1gfpay78vijl9vrwl1k9v7fbvbhkhcmnrk4kfg9l6x24y4s9zpzz";
+        libName = "generic_array";
+        authors = [
+          "Bartłomiej Kamiński <fizyk20@gmail.com>"
+          "Aaron Trent <novacrazy@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "typenum";
+            packageId = "typenum";
+          }
+        ];
+
+      };
+      "generic-array 0.14.4" = rec {
+        crateName = "generic-array";
+        version = "0.14.4";
+        edition = "2015";
+        sha256 = "05qqwm9v5asbil9z28wjkmpfvs1c5c99n8n9gwxis3d3r3n6c52h";
+        libName = "generic_array";
+        authors = [
+          "Bartłomiej Kamiński <fizyk20@gmail.com>"
+          "Aaron Trent <novacrazy@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "typenum";
+            packageId = "typenum";
+          }
+        ];
+        buildDependencies = [
+          {
+            name = "version_check";
+            packageId = "version_check";
+          }
+        ];
+        features = {
+        };
+      };
+      "getrandom 0.1.16" = rec {
+        crateName = "getrandom";
+        version = "0.1.16";
+        edition = "2018";
+        sha256 = "1kjzmz60qx9mn615ks1akjbf36n3lkv27zfwbcam0fzmj56wphwg";
+        authors = [
+          "The Rand Project Developers"
+        ];
+        dependencies = [
+          {
+            name = "cfg-if";
+            packageId = "cfg-if 1.0.0";
+          }
+          {
+            name = "libc";
+            packageId = "libc";
+            usesDefaultFeatures = false;
+            target = { target, features }: (target."unix" or false);
+          }
+          {
+            name = "wasi";
+            packageId = "wasi 0.9.0+wasi-snapshot-preview1";
+            target = { target, features }: (target."os" == "wasi");
+          }
+        ];
+        features = {
+          "rustc-dep-of-std" = [ "compiler_builtins" "core" ];
+          "test-in-browser" = [ "wasm-bindgen" ];
+          "wasm-bindgen" = [ "bindgen" "js-sys" ];
+        };
+        resolvedDefaultFeatures = [ "std" ];
+      };
+      "getrandom 0.2.3" = rec {
+        crateName = "getrandom";
+        version = "0.2.3";
+        edition = "2018";
+        sha256 = "0lr7mnkvnzdh1xxmwmhhbm4gwg29k3m2rzhpjmjm4k2jcfa9kkbz";
+        authors = [
+          "The Rand Project Developers"
+        ];
+        dependencies = [
+          {
+            name = "cfg-if";
+            packageId = "cfg-if 1.0.0";
+          }
+          {
+            name = "libc";
+            packageId = "libc";
+            usesDefaultFeatures = false;
+            target = { target, features }: (target."unix" or false);
+          }
+          {
+            name = "wasi";
+            packageId = "wasi 0.10.0+wasi-snapshot-preview1";
+            target = { target, features }: (target."os" == "wasi");
+          }
+        ];
+        features = {
+          "js" = [ "wasm-bindgen" "js-sys" ];
+          "rustc-dep-of-std" = [ "compiler_builtins" "core" "libc/rustc-dep-of-std" "wasi/rustc-dep-of-std" ];
+        };
+        resolvedDefaultFeatures = [ "std" ];
+      };
+      "getset" = rec {
+        crateName = "getset";
+        version = "0.1.1";
+        edition = "2018";
+        sha256 = "016590lxhlqga016z1qnavl0zavk59b97aix2zcd4wad3b02icr4";
+        procMacro = true;
+        authors = [
+          "Ana Hobden <ana@hoverbear.org>"
+        ];
+        dependencies = [
+          {
+            name = "proc-macro-error";
+            packageId = "proc-macro-error";
+          }
+          {
+            name = "proc-macro2";
+            packageId = "proc-macro2 1.0.27";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "quote";
+            packageId = "quote 1.0.9";
+          }
+          {
+            name = "syn";
+            packageId = "syn 1.0.73";
+          }
+        ];
+
+      };
+      "gimli" = rec {
+        crateName = "gimli";
+        version = "0.24.0";
+        edition = "2018";
+        sha256 = "12c1arfrzvw0lxy487wm66xb3vn7wy0r1v5hvn32fri6cqw7ah0f";
+        authors = [
+          "Nick Fitzgerald <fitzgen@gmail.com>"
+          "Philip Craig <philipjcraig@gmail.com>"
+        ];
+        features = {
+          "default" = [ "read" "write" "std" "fallible-iterator" "endian-reader" ];
+          "endian-reader" = [ "stable_deref_trait" ];
+          "rustc-dep-of-std" = [ "core" "alloc" "compiler_builtins" ];
+          "std" = [ "fallible-iterator/std" "stable_deref_trait/std" ];
+          "write" = [ "indexmap" ];
+        };
+        resolvedDefaultFeatures = [ "read" ];
+      };
+      "git2" = rec {
+        crateName = "git2";
+        version = "0.13.20";
+        edition = "2018";
+        sha256 = "1fkc2gzcnl4ci3rja9mc5jl2ygl3fkc1fgym3rcwby216ac1x0yr";
+        authors = [
+          "Josh Triplett <josh@joshtriplett.org>"
+          "Alex Crichton <alex@alexcrichton.com>"
+        ];
+        dependencies = [
+          {
+            name = "bitflags";
+            packageId = "bitflags";
+          }
+          {
+            name = "libc";
+            packageId = "libc";
+          }
+          {
+            name = "libgit2-sys";
+            packageId = "libgit2-sys";
+          }
+          {
+            name = "log";
+            packageId = "log";
+          }
+          {
+            name = "url";
+            packageId = "url";
+          }
+        ];
+        features = {
+          "default" = [ "ssh" "https" "ssh_key_from_memory" ];
+          "https" = [ "libgit2-sys/https" "openssl-sys" "openssl-probe" ];
+          "ssh" = [ "libgit2-sys/ssh" ];
+          "ssh_key_from_memory" = [ "libgit2-sys/ssh_key_from_memory" ];
+          "vendored-openssl" = [ "openssl-sys/vendored" ];
+          "zlib-ng-compat" = [ "libgit2-sys/zlib-ng-compat" ];
+        };
+      };
+      "glob" = rec {
+        crateName = "glob";
+        version = "0.3.0";
+        edition = "2015";
+        sha256 = "0x25wfr7vg3mzxc9x05dcphvd3nwlcmbnxrvwcvrrdwplcrrk4cv";
+        authors = [
+          "The Rust Project Developers"
+        ];
+
+      };
+      "grenad" = rec {
+        crateName = "grenad";
+        version = "0.1.0";
+        edition = "2018";
+        workspace_member = null;
+        src = pkgs.fetchgit {
+          url = "https://github.com/Kerollmops/grenad.git";
+          rev = "3adcb267dcbc590c7da10eb5f887a254865b3dbe";
+          sha256 = "03zzi59yk2rgasdzsf7rgz26vpk5060vlfskls9cb556wiizh6cl";
+        };
+        authors = [
+          "Clément Renault <clement@meilisearch.com>"
+        ];
+        dependencies = [
+          {
+            name = "byteorder";
+            packageId = "byteorder";
+          }
+          {
+            name = "flate2";
+            packageId = "flate2";
+            optional = true;
+          }
+          {
+            name = "log";
+            packageId = "log";
+          }
+          {
+            name = "nix";
+            packageId = "nix";
+            target = { target, features }: (target."os" == "linux");
+          }
+          {
+            name = "snap";
+            packageId = "snap";
+            optional = true;
+          }
+          {
+            name = "tempfile";
+            packageId = "tempfile";
+          }
+          {
+            name = "zstd";
+            packageId = "zstd";
+            optional = true;
+          }
+        ];
+        features = {
+          "default" = [ "zlib" "snappy" "zstd" ];
+          "snappy" = [ "snap" ];
+          "zlib" = [ "flate2" ];
+        };
+        resolvedDefaultFeatures = [ "default" "flate2" "snap" "snappy" "zlib" "zstd" ];
+      };
+      "h2" = rec {
+        crateName = "h2";
+        version = "0.3.3";
+        edition = "2018";
+        sha256 = "09kpwgqpwlk282l9jmwvjwm3dssvvjaz60w93xa3zdphxv246lw2";
+        authors = [
+          "Carl Lerche <me@carllerche.com>"
+          "Sean McArthur <sean@seanmonstar.com>"
+        ];
+        dependencies = [
+          {
+            name = "bytes";
+            packageId = "bytes 1.0.1";
+          }
+          {
+            name = "fnv";
+            packageId = "fnv";
+          }
+          {
+            name = "futures-core";
+            packageId = "futures-core";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "futures-sink";
+            packageId = "futures-sink";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "futures-util";
+            packageId = "futures-util";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "http";
+            packageId = "http";
+          }
+          {
+            name = "indexmap";
+            packageId = "indexmap";
+            features = [ "std" ];
+          }
+          {
+            name = "slab";
+            packageId = "slab";
+          }
+          {
+            name = "tokio";
+            packageId = "tokio";
+            features = [ "io-util" ];
+          }
+          {
+            name = "tokio-util";
+            packageId = "tokio-util";
+            features = [ "codec" ];
+          }
+          {
+            name = "tracing";
+            packageId = "tracing";
+            usesDefaultFeatures = false;
+            features = [ "std" ];
+          }
+        ];
+        devDependencies = [
+          {
+            name = "tokio";
+            packageId = "tokio";
+            features = [ "rt-multi-thread" "macros" "sync" "net" ];
+          }
+        ];
+        features = {
+        };
+      };
+      "hashbrown 0.11.2" = rec {
+        crateName = "hashbrown";
+        version = "0.11.2";
+        edition = "2018";
+        sha256 = "0vkjsf5nzs7qcia5ya79j9sq2p1caz4crrncr1675wwyj3ag0pmb";
+        authors = [
+          "Amanieu d'Antras <amanieu@gmail.com>"
+        ];
+        features = {
+          "ahash-compile-time-rng" = [ "ahash/compile-time-rng" ];
+          "default" = [ "ahash" "inline-more" ];
+          "rustc-dep-of-std" = [ "nightly" "core" "compiler_builtins" "alloc" "rustc-internal-api" ];
+        };
+        resolvedDefaultFeatures = [ "inline-more" ];
+      };
+      "hashbrown 0.7.2" = rec {
+        crateName = "hashbrown";
+        version = "0.7.2";
+        edition = "2018";
+        sha256 = "1ks110dbp81ddn3v826vnrlk5psh3vgvwf4rmb9s0gfdpyb2wa4n";
+        authors = [
+          "Amanieu d'Antras <amanieu@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "ahash";
+            packageId = "ahash 0.3.8";
+            optional = true;
+            usesDefaultFeatures = false;
+          }
+        ];
+        buildDependencies = [
+          {
+            name = "autocfg";
+            packageId = "autocfg";
+          }
+        ];
+        features = {
+          "ahash-compile-time-rng" = [ "ahash/compile-time-rng" ];
+          "default" = [ "ahash" "inline-more" ];
+          "rustc-dep-of-std" = [ "nightly" "core" "compiler_builtins" "alloc" "rustc-internal-api" ];
+        };
+        resolvedDefaultFeatures = [ "ahash" "default" "inline-more" ];
+      };
+      "hashbrown 0.9.1" = rec {
+        crateName = "hashbrown";
+        version = "0.9.1";
+        edition = "2018";
+        sha256 = "016dsm9s4xmxlkw2jfikm54qlz6vyk0qr280gab7kzp342jf9byp";
+        authors = [
+          "Amanieu d'Antras <amanieu@gmail.com>"
+        ];
+        features = {
+          "ahash-compile-time-rng" = [ "ahash/compile-time-rng" ];
+          "default" = [ "ahash" "inline-more" ];
+          "rustc-dep-of-std" = [ "nightly" "core" "compiler_builtins" "alloc" "rustc-internal-api" ];
+        };
+        resolvedDefaultFeatures = [ "raw" ];
+      };
+      "heck" = rec {
+        crateName = "heck";
+        version = "0.3.3";
+        edition = "2018";
+        sha256 = "0b0kkr790p66lvzn9nsmfjvydrbmh9z5gb664jchwgw64vxiwqkd";
+        authors = [
+          "Without Boats <woboats@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "unicode-segmentation";
+            packageId = "unicode-segmentation";
+          }
+        ];
+
+      };
+      "heed" = rec {
+        crateName = "heed";
+        version = "0.12.0";
+        edition = "2018";
+        workspace_member = null;
+        src = pkgs.fetchgit {
+          url = "https://github.com/Kerollmops/heed";
+          rev = "8e5dc6d71c8166a8d7d0db059e6e51478942b551";
+          sha256 = "09h9i693jiy3ybvc5acj8giszsv3kchpaxs4ld2ha81zxcmmfkrw";
+        };
+        authors = [
+          "Kerollmops <renault.cle@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "byteorder";
+            packageId = "byteorder";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "heed-traits";
+            packageId = "heed-traits";
+          }
+          {
+            name = "heed-types";
+            packageId = "heed-types";
+          }
+          {
+            name = "libc";
+            packageId = "libc";
+          }
+          {
+            name = "lmdb-rkv-sys";
+            packageId = "lmdb-rkv-sys";
+            optional = true;
+          }
+          {
+            name = "once_cell";
+            packageId = "once_cell";
+          }
+          {
+            name = "page_size";
+            packageId = "page_size";
+          }
+          {
+            name = "serde";
+            packageId = "serde";
+            optional = true;
+            features = [ "derive" ];
+          }
+          {
+            name = "synchronoise";
+            packageId = "synchronoise";
+          }
+          {
+            name = "url";
+            packageId = "url";
+            target = { target, features }: (target."windows" or false);
+          }
+          {
+            name = "zerocopy";
+            packageId = "zerocopy";
+          }
+        ];
+        devDependencies = [
+          {
+            name = "serde";
+            packageId = "serde";
+            features = [ "derive" ];
+          }
+        ];
+        features = {
+          "arbitrary_precision" = [ "heed-types/arbitrary_precision" ];
+          "default" = [ "lmdb" "serde" "serde-bincode" "serde-json" ];
+          "lmdb" = [ "lmdb-rkv-sys" ];
+          "mdbx" = [ "mdbx-sys" ];
+          "preserve_order" = [ "heed-types/preserve_order" ];
+          "raw_value" = [ "heed-types/raw_value" ];
+          "serde-bincode" = [ "heed-types/serde" "heed-types/bincode" ];
+          "serde-json" = [ "heed-types/serde" "heed-types/serde_json" ];
+          "unbounded_depth" = [ "heed-types/unbounded_depth" ];
+        };
+        resolvedDefaultFeatures = [ "default" "lmdb" "lmdb-rkv-sys" "serde" "serde-bincode" "serde-json" "sync-read-txn" ];
+      };
+      "heed-traits" = rec {
+        crateName = "heed-traits";
+        version = "0.7.0";
+        edition = "2018";
+        workspace_member = null;
+        src = pkgs.fetchgit {
+          url = "https://github.com/Kerollmops/heed";
+          rev = "8e5dc6d71c8166a8d7d0db059e6e51478942b551";
+          sha256 = "09h9i693jiy3ybvc5acj8giszsv3kchpaxs4ld2ha81zxcmmfkrw";
+        };
+        authors = [
+          "Kerollmops <renault.cle@gmail.com>"
+        ];
+
+      };
+      "heed-types" = rec {
+        crateName = "heed-types";
+        version = "0.7.2";
+        edition = "2018";
+        workspace_member = null;
+        src = pkgs.fetchgit {
+          url = "https://github.com/Kerollmops/heed";
+          rev = "8e5dc6d71c8166a8d7d0db059e6e51478942b551";
+          sha256 = "09h9i693jiy3ybvc5acj8giszsv3kchpaxs4ld2ha81zxcmmfkrw";
+        };
+        authors = [
+          "Kerollmops <renault.cle@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "bincode";
+            packageId = "bincode";
+            optional = true;
+          }
+          {
+            name = "heed-traits";
+            packageId = "heed-traits";
+          }
+          {
+            name = "serde";
+            packageId = "serde";
+            optional = true;
+          }
+          {
+            name = "serde_json";
+            packageId = "serde_json";
+            optional = true;
+          }
+          {
+            name = "zerocopy";
+            packageId = "zerocopy";
+          }
+        ];
+        features = {
+          "arbitrary_precision" = [ "serde_json/arbitrary_precision" ];
+          "default" = [ "serde-bincode" "serde-json" ];
+          "preserve_order" = [ "serde_json/preserve_order" ];
+          "raw_value" = [ "serde_json/raw_value" ];
+          "serde-bincode" = [ "serde" "bincode" ];
+          "serde-json" = [ "serde" "serde_json" ];
+          "unbounded_depth" = [ "serde_json/unbounded_depth" ];
+        };
+        resolvedDefaultFeatures = [ "bincode" "default" "serde" "serde-bincode" "serde-json" "serde_json" ];
+      };
+      "hermit-abi" = rec {
+        crateName = "hermit-abi";
+        version = "0.1.18";
+        edition = "2018";
+        sha256 = "0p6czgbk1izviwxzm6ypy3vz2wqj1yd3ab03wp82xqjng7klsbrj";
+        authors = [
+          "Stefan Lankes"
+        ];
+        dependencies = [
+          {
+            name = "libc";
+            packageId = "libc";
+            usesDefaultFeatures = false;
+          }
+        ];
+        features = {
+          "rustc-dep-of-std" = [ "core" "compiler_builtins/rustc-dep-of-std" "libc/rustc-dep-of-std" ];
+        };
+        resolvedDefaultFeatures = [ "default" ];
+      };
+      "hex" = rec {
+        crateName = "hex";
+        version = "0.4.3";
+        edition = "2018";
+        sha256 = "0w1a4davm1lgzpamwnba907aysmlrnygbqmfis2mqjx5m552a93z";
+        authors = [
+          "KokaKiwi <kokakiwi@kokakiwi.net>"
+        ];
+        features = {
+          "default" = [ "std" ];
+          "std" = [ "alloc" ];
+        };
+        resolvedDefaultFeatures = [ "alloc" "default" "std" ];
+      };
+      "hostname" = rec {
+        crateName = "hostname";
+        version = "0.3.1";
+        edition = "2015";
+        sha256 = "0rz8yf70cvzl3nry71m4bz9w6x4j9kdz3qng6pnwhk2h20z1qwrw";
+        authors = [
+          "fengcen <fengcen.love@gmail.com>"
+          "svartalf <self@svartalf.info>"
+        ];
+        dependencies = [
+          {
+            name = "libc";
+            packageId = "libc";
+            target = { target, features }: ((target."unix" or false) || (target."os" == "redox"));
+          }
+          {
+            name = "match_cfg";
+            packageId = "match_cfg";
+          }
+          {
+            name = "winapi";
+            packageId = "winapi";
+            target = { target, features }: (target."os" == "windows");
+            features = [ "sysinfoapi" ];
+          }
+        ];
+        features = {
+        };
+        resolvedDefaultFeatures = [ "default" ];
+      };
+      "http" = rec {
+        crateName = "http";
+        version = "0.2.4";
+        edition = "2018";
+        sha256 = "04fcnqbnqmrsnphz5lbca2plascsm8bib5csd518bqj7qyd8qzjj";
+        authors = [
+          "Alex Crichton <alex@alexcrichton.com>"
+          "Carl Lerche <me@carllerche.com>"
+          "Sean McArthur <sean@seanmonstar.com>"
+        ];
+        dependencies = [
+          {
+            name = "bytes";
+            packageId = "bytes 1.0.1";
+          }
+          {
+            name = "fnv";
+            packageId = "fnv";
+          }
+          {
+            name = "itoa";
+            packageId = "itoa";
+          }
+        ];
+
+      };
+      "http-body" = rec {
+        crateName = "http-body";
+        version = "0.4.2";
+        edition = "2018";
+        sha256 = "1abmxi1mgv4qxawn4v1bxmp7b7ac835mg7isy2q6sy70w15s3nk0";
+        authors = [
+          "Carl Lerche <me@carllerche.com>"
+          "Lucio Franco <luciofranco14@gmail.com>"
+          "Sean McArthur <sean@seanmonstar.com>"
+        ];
+        dependencies = [
+          {
+            name = "bytes";
+            packageId = "bytes 1.0.1";
+          }
+          {
+            name = "http";
+            packageId = "http";
+          }
+          {
+            name = "pin-project-lite";
+            packageId = "pin-project-lite";
+          }
+        ];
+
+      };
+      "httparse" = rec {
+        crateName = "httparse";
+        version = "1.4.1";
+        edition = "2015";
+        sha256 = "0s2y7ki3sxyf1ynp0mm2k3mgafigy23d7g0rzci3rs9pdrhppa7k";
+        authors = [
+          "Sean McArthur <sean@seanmonstar.com>"
+        ];
+        features = {
+          "default" = [ "std" ];
+        };
+        resolvedDefaultFeatures = [ "default" "std" ];
+      };
+      "httpdate 0.3.2" = rec {
+        crateName = "httpdate";
+        version = "0.3.2";
+        edition = "2015";
+        sha256 = "0izbd3sf0625wm4rrfv85xa4xa8j4n1ldxhwlkgff4cm6rh4sjs9";
+        authors = [
+          "Pyfisch <pyfisch@gmail.com>"
+        ];
+        features = {
+        };
+      };
+      "httpdate 1.0.1" = rec {
+        crateName = "httpdate";
+        version = "1.0.1";
+        edition = "2018";
+        sha256 = "0h240ck2xlp62dqfhfp6g45984avsmh1pkcgjmyywgzkr2kbhmk4";
+        authors = [
+          "Pyfisch <pyfisch@posteo.org>"
+        ];
+
+      };
+      "human_format" = rec {
+        crateName = "human_format";
+        version = "1.0.3";
+        edition = "2015";
+        sha256 = "1c3w2lm41gmnd82acjsi6y50ym2sh5fdb6abghysmaaqsxhf5k46";
+        authors = [
+          "Bob Chatman <bob.chatman@gmail.com>"
+        ];
+
+      };
+      "humantime" = rec {
+        crateName = "humantime";
+        version = "2.1.0";
+        edition = "2018";
+        sha256 = "1r55pfkkf5v0ji1x6izrjwdq9v6sc7bv99xj6srywcar37xmnfls";
+        authors = [
+          "Paul Colomiets <paul@colomiets.name>"
+        ];
+
+      };
+      "hyper" = rec {
+        crateName = "hyper";
+        version = "0.14.9";
+        edition = "2018";
+        sha256 = "10yxz4wchlq1dnya2p3kv9nw8iv5zchw92h9wly5ycs1njhvmmh7";type = [ "lib" "staticlib" "cdylib" ];
+        authors = [
+          "Sean McArthur <sean@seanmonstar.com>"
+        ];
+        dependencies = [
+          {
+            name = "bytes";
+            packageId = "bytes 1.0.1";
+          }
+          {
+            name = "futures-channel";
+            packageId = "futures-channel";
+          }
+          {
+            name = "futures-core";
+            packageId = "futures-core";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "futures-util";
+            packageId = "futures-util";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "h2";
+            packageId = "h2";
+            optional = true;
+          }
+          {
+            name = "http";
+            packageId = "http";
+          }
+          {
+            name = "http-body";
+            packageId = "http-body";
+          }
+          {
+            name = "httparse";
+            packageId = "httparse";
+          }
+          {
+            name = "httpdate";
+            packageId = "httpdate 1.0.1";
+          }
+          {
+            name = "itoa";
+            packageId = "itoa";
+          }
+          {
+            name = "pin-project-lite";
+            packageId = "pin-project-lite";
+          }
+          {
+            name = "socket2";
+            packageId = "socket2";
+            optional = true;
+          }
+          {
+            name = "tokio";
+            packageId = "tokio";
+            features = [ "sync" ];
+          }
+          {
+            name = "tower-service";
+            packageId = "tower-service";
+          }
+          {
+            name = "tracing";
+            packageId = "tracing";
+            usesDefaultFeatures = false;
+            features = [ "std" ];
+          }
+          {
+            name = "want";
+            packageId = "want";
+          }
+        ];
+        devDependencies = [
+          {
+            name = "futures-util";
+            packageId = "futures-util";
+            usesDefaultFeatures = false;
+            features = [ "alloc" ];
+          }
+          {
+            name = "tokio";
+            packageId = "tokio";
+            features = [ "fs" "macros" "io-std" "io-util" "rt" "rt-multi-thread" "sync" "time" "test-util" ];
+          }
+        ];
+        features = {
+          "ffi" = [ "libc" ];
+          "full" = [ "client" "http1" "http2" "server" "stream" "runtime" ];
+          "http2" = [ "h2" ];
+          "runtime" = [ "tcp" "tokio/rt" ];
+          "tcp" = [ "socket2" "tokio/net" "tokio/rt" "tokio/time" ];
+        };
+        resolvedDefaultFeatures = [ "client" "h2" "http1" "http2" "runtime" "socket2" "tcp" ];
+      };
+      "hyper-rustls" = rec {
+        crateName = "hyper-rustls";
+        version = "0.22.1";
+        edition = "2018";
+        sha256 = "0r2szp06nzqx6gblcw69kwx8afjp218fc083kfpw0i3d66bpm7sz";
+        authors = [
+          "Joseph Birr-Pixton <jpixton@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "futures-util";
+            packageId = "futures-util";
+          }
+          {
+            name = "hyper";
+            packageId = "hyper";
+            usesDefaultFeatures = false;
+            features = [ "client" "http1" ];
+          }
+          {
+            name = "log";
+            packageId = "log";
+          }
+          {
+            name = "rustls";
+            packageId = "rustls";
+          }
+          {
+            name = "tokio";
+            packageId = "tokio";
+          }
+          {
+            name = "tokio-rustls";
+            packageId = "tokio-rustls";
+          }
+          {
+            name = "webpki";
+            packageId = "webpki";
+          }
+        ];
+        devDependencies = [
+          {
+            name = "hyper";
+            packageId = "hyper";
+            features = [ "full" ];
+          }
+          {
+            name = "tokio";
+            packageId = "tokio";
+            features = [ "io-std" "macros" "net" "rt-multi-thread" ];
+          }
+        ];
+        features = {
+          "default" = [ "native-tokio" ];
+          "native-tokio" = [ "tokio-runtime" "rustls-native-certs" ];
+          "tokio-runtime" = [ "hyper/runtime" "ct-logs" ];
+          "webpki-tokio" = [ "tokio-runtime" "webpki-roots" ];
+        };
+      };
+      "idna" = rec {
+        crateName = "idna";
+        version = "0.2.3";
+        edition = "2018";
+        sha256 = "1y7ca2w5qp9msgl57n03zqp78gq1bk2crqzg6kv7a542mdphm2j1";
+        authors = [
+          "The rust-url developers"
+        ];
+        dependencies = [
+          {
+            name = "matches";
+            packageId = "matches";
+          }
+          {
+            name = "unicode-bidi";
+            packageId = "unicode-bidi";
+          }
+          {
+            name = "unicode-normalization";
+            packageId = "unicode-normalization";
+          }
+        ];
+
+      };
+      "indexmap" = rec {
+        crateName = "indexmap";
+        version = "1.6.2";
+        edition = "2018";
+        sha256 = "1wxfh55zlrlpdxfcvvvj6wwc46f23cnb0j9q71190yl9pyh4aj42";
+        authors = [
+          "bluss"
+          "Josh Stone <cuviper@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "hashbrown";
+            packageId = "hashbrown 0.9.1";
+            usesDefaultFeatures = false;
+            features = [ "raw" ];
+          }
+          {
+            name = "serde";
+            packageId = "serde";
+            optional = true;
+            usesDefaultFeatures = false;
+          }
+        ];
+        buildDependencies = [
+          {
+            name = "autocfg";
+            packageId = "autocfg";
+          }
+        ];
+        features = {
+          "serde-1" = [ "serde" ];
+        };
+        resolvedDefaultFeatures = [ "serde" "serde-1" "std" ];
+      };
+      "instant" = rec {
+        crateName = "instant";
+        version = "0.1.9";
+        edition = "2018";
+        sha256 = "1v659qqm55misvjijfbl1p7azjp4yynjbwldan8836ynpgp4w4k1";
+        authors = [
+          "sebcrozet <developer@crozet.re>"
+        ];
+        dependencies = [
+          {
+            name = "cfg-if";
+            packageId = "cfg-if 1.0.0";
+          }
+        ];
+        features = {
+          "now" = [ "time" ];
+          "wasm-bindgen" = [ "js-sys" "wasm-bindgen_rs" "web-sys" ];
+        };
+      };
+      "ipnet" = rec {
+        crateName = "ipnet";
+        version = "2.3.1";
+        edition = "2015";
+        sha256 = "1ad32j3kkbb0bgf5whzfkdw6843ywr48245dhk7c9gny5r7xdwk8";
+        authors = [
+          "Kris Price <kris@krisprice.nz>"
+        ];
+
+      };
+      "itertools 0.10.1" = rec {
+        crateName = "itertools";
+        version = "0.10.1";
+        edition = "2018";
+        sha256 = "1bsyxnm20x05rwc5qskrqy4cfswrcadzlwc26dkqml6hz64vipb9";
+        authors = [
+          "bluss"
+        ];
+        dependencies = [
+          {
+            name = "either";
+            packageId = "either";
+            usesDefaultFeatures = false;
+          }
+        ];
+        features = {
+          "default" = [ "use_std" ];
+          "use_std" = [ "use_alloc" ];
+        };
+        resolvedDefaultFeatures = [ "default" "use_alloc" "use_std" ];
+      };
+      "itertools 0.9.0" = rec {
+        crateName = "itertools";
+        version = "0.9.0";
+        edition = "2018";
+        sha256 = "0jyml7ygr7kijkcjdl3fk5f34y5h5jsavclim7l13zjiavw1hkr8";
+        authors = [
+          "bluss"
+        ];
+        dependencies = [
+          {
+            name = "either";
+            packageId = "either";
+            usesDefaultFeatures = false;
+          }
+        ];
+        features = {
+          "default" = [ "use_std" ];
+        };
+        resolvedDefaultFeatures = [ "default" "use_std" ];
+      };
+      "itoa" = rec {
+        crateName = "itoa";
+        version = "0.4.7";
+        edition = "2015";
+        sha256 = "0di7fggbknwfjcw8cgzm1dnm3ik32l2m1f7nmyh8ipmh45h069fx";
+        authors = [
+          "David Tolnay <dtolnay@gmail.com>"
+        ];
+        features = {
+          "default" = [ "std" ];
+        };
+        resolvedDefaultFeatures = [ "default" "std" ];
+      };
+      "jemalloc-sys" = rec {
+        crateName = "jemalloc-sys";
+        version = "0.3.2";
+        edition = "2015";
+        sha256 = "0ify9vlql01qhfxlj7d4p9jvcp90mj2h69nkbq7slccvbhzryfqd";
+        authors = [
+          "Alex Crichton <alex@alexcrichton.com>"
+          "Gonzalo Brito Gadeschi <gonzalobg88@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "libc";
+            packageId = "libc";
+            usesDefaultFeatures = false;
+          }
+        ];
+        buildDependencies = [
+          {
+            name = "cc";
+            packageId = "cc";
+          }
+          {
+            name = "fs_extra";
+            packageId = "fs_extra";
+          }
+        ];
+        features = {
+          "background_threads" = [ "background_threads_runtime_support" ];
+          "default" = [ "background_threads_runtime_support" ];
+        };
+        resolvedDefaultFeatures = [ "background_threads_runtime_support" ];
+      };
+      "jemallocator" = rec {
+        crateName = "jemallocator";
+        version = "0.3.2";
+        edition = "2015";
+        sha256 = "0sabfa5118b7l4ars5n36s2fjyfn59w4d6mjs6rrmsa5zky67bj3";
+        authors = [
+          "Alex Crichton <alex@alexcrichton.com>"
+          "Gonzalo Brito Gadeschi <gonzalobg88@gmail.com>"
+          "Simon Sapin <simon.sapin@exyr.org>"
+          "Steven Fackler <sfackler@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "jemalloc-sys";
+            packageId = "jemalloc-sys";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "libc";
+            packageId = "libc";
+            usesDefaultFeatures = false;
+          }
+        ];
+        features = {
+          "background_threads" = [ "jemalloc-sys/background_threads" ];
+          "background_threads_runtime_support" = [ "jemalloc-sys/background_threads_runtime_support" ];
+          "debug" = [ "jemalloc-sys/debug" ];
+          "default" = [ "background_threads_runtime_support" ];
+          "disable_initial_exec_tls" = [ "jemalloc-sys/disable_initial_exec_tls" ];
+          "profiling" = [ "jemalloc-sys/profiling" ];
+          "stats" = [ "jemalloc-sys/stats" ];
+          "unprefixed_malloc_on_supported_platforms" = [ "jemalloc-sys/unprefixed_malloc_on_supported_platforms" ];
+        };
+        resolvedDefaultFeatures = [ "background_threads_runtime_support" "default" ];
+      };
+      "jieba-rs" = rec {
+        crateName = "jieba-rs";
+        version = "0.6.4";
+        edition = "2018";
+        sha256 = "0m8h66jvhaf9bh7484v8vjbdc71i9rz676ivpj59byc058bv78zy";
+        authors = [
+          "messense <messense@icloud.com>"
+          "Paul Meng <me@paulme.ng>"
+        ];
+        dependencies = [
+          {
+            name = "cedarwood";
+            packageId = "cedarwood";
+          }
+          {
+            name = "fxhash";
+            packageId = "fxhash";
+          }
+          {
+            name = "hashbrown";
+            packageId = "hashbrown 0.11.2";
+            usesDefaultFeatures = false;
+            features = [ "inline-more" ];
+          }
+          {
+            name = "lazy_static";
+            packageId = "lazy_static";
+          }
+          {
+            name = "phf";
+            packageId = "phf";
+          }
+          {
+            name = "regex";
+            packageId = "regex";
+          }
+        ];
+        buildDependencies = [
+          {
+            name = "phf_codegen";
+            packageId = "phf_codegen";
+          }
+        ];
+        features = {
+          "default" = [ "default-dict" ];
+          "textrank" = [ "ordered-float" ];
+          "tfidf" = [ "ordered-float" ];
+        };
+        resolvedDefaultFeatures = [ "default" "default-dict" ];
+      };
+      "jobserver" = rec {
+        crateName = "jobserver";
+        version = "0.1.22";
+        edition = "2018";
+        sha256 = "1zg7p4khibisbvd8b1lqvvni6lr00g49d4bq2zj6m76bs7jmlbwp";
+        authors = [
+          "Alex Crichton <alex@alexcrichton.com>"
+        ];
+        dependencies = [
+          {
+            name = "libc";
+            packageId = "libc";
+            target = { target, features }: (target."unix" or false);
+          }
+        ];
+
+      };
+      "js-sys" = rec {
+        crateName = "js-sys";
+        version = "0.3.51";
+        edition = "2018";
+        sha256 = "0qkhnsidcx4vkgacn4hhl6bf6lxhc3lljfzpad11ms50wfngpgc3";
+        authors = [
+          "The wasm-bindgen Developers"
+        ];
+        dependencies = [
+          {
+            name = "wasm-bindgen";
+            packageId = "wasm-bindgen";
+          }
+        ];
+
+      };
+      "language-tags" = rec {
+        crateName = "language-tags";
+        version = "0.2.2";
+        edition = "2015";
+        sha256 = "16hrjdpa827carq5x4b8zhas24d8kg4s16m6nmmn1kb7cr5qh7d9";
+        authors = [
+          "Pyfisch <pyfisch@gmail.com>"
+        ];
+        features = {
+          "heap_size" = [ "heapsize" "heapsize_plugin" ];
+        };
+      };
+      "lazy_static" = rec {
+        crateName = "lazy_static";
+        version = "1.4.0";
+        edition = "2015";
+        sha256 = "0in6ikhw8mgl33wjv6q6xfrb5b9jr16q8ygjy803fay4zcisvaz2";
+        authors = [
+          "Marvin Löbel <loebel.marvin@gmail.com>"
+        ];
+        features = {
+          "spin_no_std" = [ "spin" ];
+        };
+      };
+      "levenshtein_automata" = rec {
+        crateName = "levenshtein_automata";
+        version = "0.2.1";
+        edition = "2018";
+        sha256 = "09dv3rahqgslyv347s5ymwv0krw44d6xpfymz9mz7sa5dsvdwb0c";
+        authors = [
+          "Paul Masurel <paul.masurel@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "fst";
+            packageId = "fst";
+            optional = true;
+            usesDefaultFeatures = false;
+          }
+        ];
+        features = {
+          "fst_automaton" = [ "fst" ];
+        };
+        resolvedDefaultFeatures = [ "fst" "fst_automaton" ];
+      };
+      "libc" = rec {
+        crateName = "libc";
+        version = "0.2.97";
+        edition = "2015";
+        sha256 = "1dlgdziv6nkabx287jjmghnlgc5dqv6fgpvh9n7ibpr0synsvf0j";
+        authors = [
+          "The Rust Project Developers"
+        ];
+        features = {
+          "default" = [ "std" ];
+          "rustc-dep-of-std" = [ "align" "rustc-std-workspace-core" ];
+          "use_std" = [ "std" ];
+        };
+        resolvedDefaultFeatures = [ "default" "extra_traits" "std" ];
+      };
+      "libgit2-sys" = rec {
+        crateName = "libgit2-sys";
+        version = "0.12.21+1.1.0";
+        edition = "2018";
+        sha256 = "09b85x3gpvq0d7v1mhg4f3w1b3skzlpbikrx9j2rwarbsyn1n9w6";
+        libName = "libgit2_sys";
+        libPath = "lib.rs";
+        authors = [
+          "Josh Triplett <josh@joshtriplett.org>"
+          "Alex Crichton <alex@alexcrichton.com>"
+        ];
+        dependencies = [
+          {
+            name = "libc";
+            packageId = "libc";
+          }
+          {
+            name = "libz-sys";
+            packageId = "libz-sys";
+            usesDefaultFeatures = false;
+            features = [ "libc" ];
+          }
+        ];
+        buildDependencies = [
+          {
+            name = "cc";
+            packageId = "cc";
+            features = [ "parallel" ];
+          }
+          {
+            name = "pkg-config";
+            packageId = "pkg-config";
+          }
+        ];
+        features = {
+          "https" = [ "openssl-sys" ];
+          "ssh" = [ "libssh2-sys" ];
+          "zlib-ng-compat" = [ "libz-sys/zlib-ng" "libssh2-sys/zlib-ng-compat" ];
+        };
+      };
+      "libz-sys" = rec {
+        crateName = "libz-sys";
+        version = "1.1.3";
+        edition = "2015";
+        sha256 = "0rpcxkccjn8da9114kvl8hrnrkspzsmdn0qcxlix85lwajw3am6y";
+        authors = [
+          "Alex Crichton <alex@alexcrichton.com>"
+          "Josh Triplett <josh@joshtriplett.org>"
+        ];
+        dependencies = [
+          {
+            name = "libc";
+            packageId = "libc";
+            optional = true;
+          }
+        ];
+        buildDependencies = [
+          {
+            name = "cc";
+            packageId = "cc";
+          }
+          {
+            name = "pkg-config";
+            packageId = "pkg-config";
+          }
+          {
+            name = "vcpkg";
+            packageId = "vcpkg";
+            target = {target, features}: (target."env" == "msvc");
+          }
+        ];
+        features = {
+          "default" = [ "libc" "stock-zlib" ];
+          "zlib-ng" = [ "libc" "cmake" ];
+        };
+        resolvedDefaultFeatures = [ "libc" ];
+      };
+      "linked-hash-map" = rec {
+        crateName = "linked-hash-map";
+        version = "0.5.4";
+        edition = "2015";
+        sha256 = "1ww8zsraqnvrsknd315481185igwkx5n14xnhq5i8216z65b7fbz";
+        authors = [
+          "Stepan Koltsov <stepan.koltsov@gmail.com>"
+          "Andrew Paseltiner <apaseltiner@gmail.com>"
+        ];
+        features = {
+          "heapsize_impl" = [ "heapsize" ];
+          "serde_impl" = [ "serde" "serde_test" ];
+        };
+      };
+      "lmdb-rkv-sys" = rec {
+        crateName = "lmdb-rkv-sys";
+        version = "0.15.0";
+        edition = "2015";
+        workspace_member = null;
+        src = pkgs.fetchgit {
+          url = "https://github.com/meilisearch/lmdb-rs";
+          rev = "d0b50d02938ee84e4e4372697ea991fe2a4cae3b";
+          sha256 = "0pqar429y4qzxmyr6daw32syvggm4dk7cs7g01lp6f8a6cvbbwkc";
+        };
+        libName = "lmdb_sys";
+        authors = [
+          "Dan Burkert <dan@danburkert.com>"
+          "Victor Porof <vporof@mozilla.com>"
+        ];
+        dependencies = [
+          {
+            name = "libc";
+            packageId = "libc";
+          }
+        ];
+        buildDependencies = [
+          {
+            name = "cc";
+            packageId = "cc";
+          }
+          {
+            name = "pkg-config";
+            packageId = "pkg-config";
+          }
+        ];
+        features = {
+        };
+        resolvedDefaultFeatures = [ "default" ];
+      };
+      "local-channel" = rec {
+        crateName = "local-channel";
+        version = "0.1.2";
+        edition = "2018";
+        sha256 = "17zy0g5wv4i0crnj03mzk18zkshmgv4mj9ail02p424my66ccik2";
+        authors = [
+          "Nikolay Kim <fafhrd91@gmail.com>"
+          "Rob Ede <robjtede@icloud.com>"
+        ];
+        dependencies = [
+          {
+            name = "futures-core";
+            packageId = "futures-core";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "futures-sink";
+            packageId = "futures-sink";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "futures-util";
+            packageId = "futures-util";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "local-waker";
+            packageId = "local-waker";
+          }
+        ];
+
+      };
+      "local-waker" = rec {
+        crateName = "local-waker";
+        version = "0.1.1";
+        edition = "2018";
+        sha256 = "194dvpx4drizq4jgcawvxa9n54bv3adv1l5aqgi9rsbwwb9s5yc4";
+        authors = [
+          "Nikolay Kim <fafhrd91@gmail.com>"
+          "Rob Ede <robjtede@icloud.com>"
+        ];
+
+      };
+      "lock_api" = rec {
+        crateName = "lock_api";
+        version = "0.4.4";
+        edition = "2018";
+        sha256 = "1sq7pw7h7jbfvnv5nq3vm912gdwhhv8idi3njifd3xnz0q38i0h3";
+        authors = [
+          "Amanieu d'Antras <amanieu@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "scopeguard";
+            packageId = "scopeguard";
+            usesDefaultFeatures = false;
+          }
+        ];
+        features = {
+        };
+      };
+      "log" = rec {
+        crateName = "log";
+        version = "0.4.14";
+        edition = "2015";
+        sha256 = "04175hv0v62shd82qydq58a48k3bjijmk54v38zgqlbxqkkbpfai";
+        authors = [
+          "The Rust Project Developers"
+        ];
+        dependencies = [
+          {
+            name = "cfg-if";
+            packageId = "cfg-if 1.0.0";
+          }
+        ];
+        features = {
+          "kv_unstable" = [ "value-bag" ];
+          "kv_unstable_serde" = [ "kv_unstable_std" "value-bag/serde" "serde" ];
+          "kv_unstable_std" = [ "std" "kv_unstable" "value-bag/error" ];
+          "kv_unstable_sval" = [ "kv_unstable" "value-bag/sval" "sval" ];
+        };
+        resolvedDefaultFeatures = [ "std" ];
+      };
+      "logging_timer" = rec {
+        crateName = "logging_timer";
+        version = "1.0.0";
+        edition = "2018";
+        sha256 = "14x7wanqbfmisb8v3xvmwyxrwl6j2qdm0pvbz3wc45swjm4w5l20";
+        authors = [
+          "Philip Daniels <Philip.Daniels1971@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "log";
+            packageId = "log";
+          }
+          {
+            name = "logging_timer_proc_macros";
+            packageId = "logging_timer_proc_macros";
+          }
+        ];
+
+      };
+      "logging_timer_proc_macros" = rec {
+        crateName = "logging_timer_proc_macros";
+        version = "1.0.0";
+        edition = "2018";
+        sha256 = "01zbw1k0kk8g8qcxdpryhymfcmfpfhbp0bzqfi17rzmwwql2qb28";
+        procMacro = true;
+        authors = [
+          "Philip Daniels <Philip.Daniels1971@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "log";
+            packageId = "log";
+          }
+          {
+            name = "proc-macro2";
+            packageId = "proc-macro2 0.4.30";
+          }
+          {
+            name = "quote";
+            packageId = "quote 0.6.13";
+          }
+          {
+            name = "syn";
+            packageId = "syn 0.15.44";
+            features = [ "full" ];
+          }
+        ];
+
+      };
+      "main_error" = rec {
+        crateName = "main_error";
+        version = "0.1.1";
+        edition = "2018";
+        sha256 = "0r4a13lgh2513g9dzcj2h6k1w65mgklg1cfx1ax6l2rf50gbnqxv";
+        authors = [
+          "Daniel Lehmann <mail@dlehmann.eu>"
+        ];
+
+      };
+      "maplit" = rec {
+        crateName = "maplit";
+        version = "1.0.2";
+        edition = "2015";
+        sha256 = "07b5kjnhrrmfhgqm9wprjw8adx6i225lqp49gasgqg74lahnabiy";
+        authors = [
+          "bluss"
+        ];
+
+      };
+      "match_cfg" = rec {
+        crateName = "match_cfg";
+        version = "0.1.0";
+        edition = "2015";
+        sha256 = "1r5j3zqc3qr8ybcx95bk8q57mkizmgmffj5lmicd4i8d9riyigpz";
+        authors = [
+          "gnzlbg <gonzalobg88@gmail.com>"
+        ];
+        features = {
+          "default" = [ "use_core" ];
+        };
+        resolvedDefaultFeatures = [ "default" "use_core" ];
+      };
+      "matches" = rec {
+        crateName = "matches";
+        version = "0.1.8";
+        edition = "2015";
+        sha256 = "020axl4q7rk9vz90phs7f8jas4imxal9y9kxl4z4v7a6719mrz3z";
+        libPath = "lib.rs";
+        authors = [
+          "Simon Sapin <simon.sapin@exyr.org>"
+        ];
+
+      };
+      "meilisearch-error" = rec {
+        crateName = "meilisearch-error";
+        version = "0.21.1";
+        edition = "2018";
+        src = lib.cleanSourceWith { filter = sourceFilter;  src = ./meilisearch-error; };
+        authors = [
+          "marin <postma.marin@protonmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "actix-http";
+            packageId = "actix-http";
+          }
+        ];
+
+      };
+      "meilisearch-http" = rec {
+        crateName = "meilisearch-http";
+        version = "0.21.1";
+        edition = "2018";
+        crateBin = [
+          { name = "meilisearch"; path = "src/main.rs"; }
+        ];
+        src = lib.cleanSourceWith { filter = sourceFilter;  src = ./meilisearch-http; };
+        authors = [
+          "Quentin de Quelen <quentin@dequelen.me>"
+          "Clément Renault <clement@meilisearch.com>"
+        ];
+        dependencies = [
+          {
+            name = "actix-cors";
+            packageId = "actix-cors";
+          }
+          {
+            name = "actix-http";
+            packageId = "actix-http";
+          }
+          {
+            name = "actix-service";
+            packageId = "actix-service";
+          }
+          {
+            name = "actix-web";
+            packageId = "actix-web";
+            features = [ "rustls" ];
+          }
+          {
+            name = "actix-web-static-files";
+            packageId = "actix-web-static-files";
+            optional = true;
+          }
+          {
+            name = "anyhow";
+            packageId = "anyhow";
+          }
+          {
+            name = "arc-swap";
+            packageId = "arc-swap";
+          }
+          {
+            name = "async-stream";
+            packageId = "async-stream";
+          }
+          {
+            name = "async-trait";
+            packageId = "async-trait";
+          }
+          {
+            name = "byte-unit";
+            packageId = "byte-unit";
+            usesDefaultFeatures = false;
+            features = [ "std" ];
+          }
+          {
+            name = "bytes";
+            packageId = "bytes 0.6.0";
+          }
+          {
+            name = "chrono";
+            packageId = "chrono";
+            features = [ "serde" ];
+          }
+          {
+            name = "crossbeam-channel";
+            packageId = "crossbeam-channel";
+          }
+          {
+            name = "either";
+            packageId = "either";
+          }
+          {
+            name = "env_logger";
+            packageId = "env_logger";
+          }
+          {
+            name = "flate2";
+            packageId = "flate2";
+          }
+          {
+            name = "fst";
+            packageId = "fst";
+          }
+          {
+            name = "futures";
+            packageId = "futures";
+          }
+          {
+            name = "futures-util";
+            packageId = "futures-util";
+          }
+          {
+            name = "grenad";
+            packageId = "grenad";
+          }
+          {
+            name = "heed";
+            packageId = "heed";
+          }
+          {
+            name = "http";
+            packageId = "http";
+          }
+          {
+            name = "indexmap";
+            packageId = "indexmap";
+            features = [ "serde-1" ];
+          }
+          {
+            name = "itertools";
+            packageId = "itertools 0.10.1";
+          }
+          {
+            name = "jemallocator";
+            packageId = "jemallocator";
+            target = { target, features }: (target."os" == "linux");
+          }
+          {
+            name = "log";
+            packageId = "log";
+          }
+          {
+            name = "main_error";
+            packageId = "main_error";
+          }
+          {
+            name = "meilisearch-error";
+            packageId = "meilisearch-error";
+          }
+          {
+            name = "meilisearch-tokenizer";
+            packageId = "meilisearch-tokenizer";
+          }
+          {
+            name = "memmap";
+            packageId = "memmap";
+          }
+          {
+            name = "milli";
+            packageId = "milli";
+          }
+          {
+            name = "mime";
+            packageId = "mime";
+          }
+          {
+            name = "num_cpus";
+            packageId = "num_cpus";
+          }
+          {
+            name = "obkv";
+            packageId = "obkv";
+          }
+          {
+            name = "once_cell";
+            packageId = "once_cell";
+          }
+          {
+            name = "parking_lot";
+            packageId = "parking_lot";
+          }
+          {
+            name = "pin-project";
+            packageId = "pin-project";
+          }
+          {
+            name = "rand";
+            packageId = "rand 0.7.3";
+          }
+          {
+            name = "rayon";
+            packageId = "rayon";
+          }
+          {
+            name = "regex";
+            packageId = "regex";
+          }
+          {
+            name = "reqwest";
+            packageId = "reqwest";
+            optional = true;
+            usesDefaultFeatures = false;
+            features = [ "json" "rustls-tls" ];
+          }
+          {
+            name = "rustls";
+            packageId = "rustls";
+          }
+          {
+            name = "sentry";
+            packageId = "sentry";
+            optional = true;
+            usesDefaultFeatures = false;
+            features = [ "backtrace" "contexts" "panic" "reqwest" "rustls" "log" ];
+          }
+          {
+            name = "serde";
+            packageId = "serde";
+            features = [ "derive" ];
+          }
+          {
+            name = "serde_json";
+            packageId = "serde_json";
+            features = [ "preserve_order" ];
+          }
+          {
+            name = "serdeval";
+            packageId = "serdeval";
+          }
+          {
+            name = "sha2";
+            packageId = "sha2";
+          }
+          {
+            name = "siphasher";
+            packageId = "siphasher";
+          }
+          {
+            name = "slice-group-by";
+            packageId = "slice-group-by";
+          }
+          {
+            name = "structopt";
+            packageId = "structopt";
+          }
+          {
+            name = "tar";
+            packageId = "tar";
+          }
+          {
+            name = "tempfile";
+            packageId = "tempfile";
+          }
+          {
+            name = "thiserror";
+            packageId = "thiserror";
+          }
+          {
+            name = "tokio";
+            packageId = "tokio";
+            features = [ "full" ];
+          }
+          {
+            name = "uuid";
+            packageId = "uuid";
+            features = [ "serde" ];
+          }
+          {
+            name = "walkdir";
+            packageId = "walkdir";
+          }
+          {
+            name = "whoami";
+            packageId = "whoami";
+            optional = true;
+          }
+        ];
+        buildDependencies = [
+          {
+            name = "actix-web-static-files";
+            packageId = "actix-web-static-files";
+            optional = true;
+          }
+          {
+            name = "anyhow";
+            packageId = "anyhow";
+            optional = true;
+          }
+          {
+            name = "cargo_toml";
+            packageId = "cargo_toml";
+            optional = true;
+          }
+          {
+            name = "hex";
+            packageId = "hex";
+            optional = true;
+          }
+          {
+            name = "reqwest";
+            packageId = "reqwest";
+            optional = true;
+            usesDefaultFeatures = false;
+            features = [ "blocking" "rustls-tls" ];
+          }
+          {
+            name = "sha-1";
+            packageId = "sha-1 0.9.6";
+            optional = true;
+          }
+          {
+            name = "tempfile";
+            packageId = "tempfile";
+            optional = true;
+          }
+          {
+            name = "vergen";
+            packageId = "vergen";
+            usesDefaultFeatures = false;
+            features = [ "git" ];
+          }
+          {
+            name = "zip";
+            packageId = "zip";
+            optional = true;
+          }
+        ];
+        devDependencies = [
+          {
+            name = "actix-rt";
+            packageId = "actix-rt";
+          }
+          {
+            name = "assert-json-diff";
+            packageId = "assert-json-diff";
+          }
+          {
+            name = "mockall";
+            packageId = "mockall";
+          }
+          {
+            name = "paste";
+            packageId = "paste";
+          }
+          {
+            name = "serde_url_params";
+            packageId = "serde_url_params";
+          }
+          {
+            name = "tempdir";
+            packageId = "tempdir";
+          }
+          {
+            name = "urlencoding";
+            packageId = "urlencoding";
+          }
+        ];
+        features = {
+          "analytics" = [ "sentry" "whoami" "reqwest" ];
+          "default" = [ "analytics" "mini-dashboard" ];
+          "mini-dashboard" = [ "actix-web-static-files" "anyhow" "cargo_toml" "hex" "reqwest" "sha-1" "tempfile" "zip" ];
+        };
+        resolvedDefaultFeatures = [ "actix-web-static-files" "analytics" "anyhow" "cargo_toml" "default" "hex" "mini-dashboard" "reqwest" "sentry" "sha-1" "tempfile" "whoami" "zip" ];
+      };
+      "meilisearch-tokenizer" = rec {
+        crateName = "meilisearch-tokenizer";
+        version = "0.2.5";
+        edition = "2018";
+        workspace_member = null;
+        src = pkgs.fetchgit {
+          url = "https://github.com/meilisearch/tokenizer.git";
+          rev = "c0b5cf741ed9485147f2cbe523f2214d4fa4c395";
+          sha256 = "0hvf92z24adqwhh81r9arirhrvgyp1wva9g2wsrir4xqvaqdzdr5";
+        };
+        authors = [
+          "Many <many@meilisearch.com>"
+        ];
+        dependencies = [
+          {
+            name = "character_converter";
+            packageId = "character_converter";
+          }
+          {
+            name = "cow-utils";
+            packageId = "cow-utils";
+          }
+          {
+            name = "deunicode";
+            packageId = "deunicode";
+          }
+          {
+            name = "fst";
+            packageId = "fst";
+          }
+          {
+            name = "jieba-rs";
+            packageId = "jieba-rs";
+          }
+          {
+            name = "once_cell";
+            packageId = "once_cell";
+          }
+          {
+            name = "slice-group-by";
+            packageId = "slice-group-by";
+          }
+          {
+            name = "unicode-segmentation";
+            packageId = "unicode-segmentation";
+          }
+          {
+            name = "whatlang";
+            packageId = "whatlang";
+          }
+        ];
+
+      };
+      "memchr" = rec {
+        crateName = "memchr";
+        version = "2.4.0";
+        edition = "2018";
+        sha256 = "1p478fqf4nia2ma0kv4npb8x1hli0zz6k16517ikb51jkryx8sxi";
+        authors = [
+          "Andrew Gallant <jamslam@gmail.com>"
+          "bluss"
+        ];
+        features = {
+          "default" = [ "std" ];
+          "use_std" = [ "std" ];
+        };
+        resolvedDefaultFeatures = [ "default" "std" ];
+      };
+      "memmap" = rec {
+        crateName = "memmap";
+        version = "0.7.0";
+        edition = "2015";
+        sha256 = "0ns7kkd1h4pijdkwfvw4qlbbmqmlmzwlq3g2676dcl5vwyazv1b5";
+        authors = [
+          "Dan Burkert <dan@danburkert.com>"
+        ];
+        dependencies = [
+          {
+            name = "libc";
+            packageId = "libc";
+            target = { target, features }: (target."unix" or false);
+          }
+          {
+            name = "winapi";
+            packageId = "winapi";
+            target = { target, features }: (target."windows" or false);
+            features = [ "basetsd" "handleapi" "memoryapi" "minwindef" "std" "sysinfoapi" ];
+          }
+        ];
+
+      };
+      "memoffset" = rec {
+        crateName = "memoffset";
+        version = "0.6.4";
+        edition = "2015";
+        sha256 = "1yfx2v8kmkhr2d4gwk8ghihdwg73vapn3vvp0im06f0kgx8crb2r";
+        authors = [
+          "Gilad Naaman <gilad.naaman@gmail.com>"
+        ];
+        buildDependencies = [
+          {
+            name = "autocfg";
+            packageId = "autocfg";
+          }
+        ];
+        features = {
+        };
+        resolvedDefaultFeatures = [ "default" ];
+      };
+      "milli" = rec {
+        crateName = "milli";
+        version = "0.10.2";
+        edition = "2018";
+        workspace_member = null;
+        src = pkgs.fetchgit {
+          url = "https://github.com/meilisearch/milli.git";
+          rev = "879d5e8799836d93f8995810965b6797be4f69d1";
+          sha256 = "09gdf4mwrn3ka1iqh3h33b86p68c8ichkkkd4231igl11wxj91d1";
+        };
+        authors = [
+          "Kerollmops <clement@meilisearch.com>"
+        ];
+        dependencies = [
+          {
+            name = "bstr";
+            packageId = "bstr";
+          }
+          {
+            name = "byteorder";
+            packageId = "byteorder";
+          }
+          {
+            name = "chrono";
+            packageId = "chrono";
+            features = [ "serde" ];
+          }
+          {
+            name = "concat-arrays";
+            packageId = "concat-arrays";
+          }
+          {
+            name = "csv";
+            packageId = "csv";
+          }
+          {
+            name = "either";
+            packageId = "either";
+          }
+          {
+            name = "flate2";
+            packageId = "flate2";
+          }
+          {
+            name = "fst";
+            packageId = "fst";
+          }
+          {
+            name = "fxhash";
+            packageId = "fxhash";
+          }
+          {
+            name = "grenad";
+            packageId = "grenad";
+          }
+          {
+            name = "heed";
+            packageId = "heed";
+            usesDefaultFeatures = false;
+            features = [ "lmdb" "sync-read-txn" ];
+          }
+          {
+            name = "human_format";
+            packageId = "human_format";
+          }
+          {
+            name = "itertools";
+            packageId = "itertools 0.10.1";
+          }
+          {
+            name = "levenshtein_automata";
+            packageId = "levenshtein_automata";
+            features = [ "fst_automaton" ];
+          }
+          {
+            name = "linked-hash-map";
+            packageId = "linked-hash-map";
+          }
+          {
+            name = "log";
+            packageId = "log";
+          }
+          {
+            name = "logging_timer";
+            packageId = "logging_timer";
+          }
+          {
+            name = "meilisearch-tokenizer";
+            packageId = "meilisearch-tokenizer";
+          }
+          {
+            name = "memmap";
+            packageId = "memmap";
+          }
+          {
+            name = "obkv";
+            packageId = "obkv";
+          }
+          {
+            name = "once_cell";
+            packageId = "once_cell";
+          }
+          {
+            name = "ordered-float";
+            packageId = "ordered-float";
+          }
+          {
+            name = "pest";
+            packageId = "pest";
+          }
+          {
+            name = "pest_derive";
+            packageId = "pest_derive";
+          }
+          {
+            name = "rayon";
+            packageId = "rayon";
+          }
+          {
+            name = "regex";
+            packageId = "regex";
+          }
+          {
+            name = "roaring";
+            packageId = "roaring";
+          }
+          {
+            name = "serde";
+            packageId = "serde";
+            features = [ "derive" ];
+          }
+          {
+            name = "serde_json";
+            packageId = "serde_json";
+            features = [ "preserve_order" ];
+          }
+          {
+            name = "slice-group-by";
+            packageId = "slice-group-by";
+          }
+          {
+            name = "smallstr";
+            packageId = "smallstr";
+            features = [ "serde" ];
+          }
+          {
+            name = "smallvec";
+            packageId = "smallvec";
+          }
+          {
+            name = "tempfile";
+            packageId = "tempfile";
+          }
+          {
+            name = "tinytemplate";
+            packageId = "tinytemplate";
+          }
+          {
+            name = "uuid";
+            packageId = "uuid";
+            features = [ "v4" ];
+          }
+        ];
+        features = {
+        };
+        resolvedDefaultFeatures = [ "default" ];
+      };
+      "mime" = rec {
+        crateName = "mime";
+        version = "0.3.16";
+        edition = "2015";
+        sha256 = "13dcm9lh01hdwfjcg74ppljyjfj1c6w3a3cwkhxf0w8wa37cfq1a";
+        authors = [
+          "Sean McArthur <sean@seanmonstar.com>"
+        ];
+
+      };
+      "mime_guess" = rec {
+        crateName = "mime_guess";
+        version = "2.0.3";
+        edition = "2015";
+        sha256 = "04pjpbl90z4yn0cmifvwgf4mqznciw6b095k626q96bxx71d9116";
+        authors = [
+          "Austin Bonander <austin.bonander@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "mime";
+            packageId = "mime";
+          }
+          {
+            name = "unicase";
+            packageId = "unicase";
+          }
+        ];
+        buildDependencies = [
+          {
+            name = "unicase";
+            packageId = "unicase";
+          }
+        ];
+        features = {
+          "default" = [ "rev-mappings" ];
+        };
+        resolvedDefaultFeatures = [ "default" "rev-mappings" ];
+      };
+      "miniz_oxide" = rec {
+        crateName = "miniz_oxide";
+        version = "0.4.4";
+        edition = "2018";
+        sha256 = "0jsfv00hl5rmx1nijn59sr9jmjd4rjnjhh4kdjy8d187iklih9d9";
+        authors = [
+          "Frommi <daniil.liferenko@gmail.com>"
+          "oyvindln <oyvindln@users.noreply.github.com>"
+        ];
+        dependencies = [
+          {
+            name = "adler";
+            packageId = "adler";
+            usesDefaultFeatures = false;
+          }
+        ];
+        buildDependencies = [
+          {
+            name = "autocfg";
+            packageId = "autocfg";
+          }
+        ];
+        features = {
+          "rustc-dep-of-std" = [ "core" "alloc" "compiler_builtins" "adler/rustc-dep-of-std" ];
+        };
+      };
+      "mio" = rec {
+        crateName = "mio";
+        version = "0.7.13";
+        edition = "2018";
+        sha256 = "05mvlrn3r2vqps4fflmknw15r0rs8xld4g99sdf8647c2iixnawc";
+        authors = [
+          "Carl Lerche <me@carllerche.com>"
+          "Thomas de Zeeuw <thomasdezeeuw@gmail.com>"
+          "Tokio Contributors <team@tokio.rs>"
+        ];
+        dependencies = [
+          {
+            name = "libc";
+            packageId = "libc";
+            target = { target, features }: (target."unix" or false);
+          }
+          {
+            name = "log";
+            packageId = "log";
+          }
+          {
+            name = "miow";
+            packageId = "miow";
+            target = { target, features }: (target."windows" or false);
+          }
+          {
+            name = "ntapi";
+            packageId = "ntapi";
+            target = { target, features }: (target."windows" or false);
+          }
+          {
+            name = "winapi";
+            packageId = "winapi";
+            target = { target, features }: (target."windows" or false);
+            features = [ "winsock2" "mswsock" "mstcpip" ];
+          }
+        ];
+        features = {
+          "os-ext" = [ "os-poll" ];
+          "os-util" = [ "os-ext" ];
+          "pipe" = [ "os-ext" ];
+          "tcp" = [ "net" ];
+          "udp" = [ "net" ];
+          "uds" = [ "net" ];
+        };
+        resolvedDefaultFeatures = [ "default" "net" "os-ext" "os-poll" "os-util" "tcp" "udp" "uds" ];
+      };
+      "miow" = rec {
+        crateName = "miow";
+        version = "0.3.7";
+        edition = "2018";
+        sha256 = "08afp2xfpxmdw003111lxz6g9jgbj4zi2fpldvv7da6d4nqcbwdr";
+        authors = [
+          "Alex Crichton <alex@alexcrichton.com>"
+        ];
+        dependencies = [
+          {
+            name = "winapi";
+            packageId = "winapi";
+            features = [ "std" "fileapi" "handleapi" "ioapiset" "minwindef" "namedpipeapi" "ntdef" "synchapi" "winerror" "winsock2" "ws2def" "ws2ipdef" ];
+          }
+        ];
+
+      };
+      "mockall" = rec {
+        crateName = "mockall";
+        version = "0.9.1";
+        edition = "2018";
+        sha256 = "1m9kpv4523503v48ahyzk9g2rabvbjl70mlbkc8mkfzr4fni9mhq";
+        authors = [
+          "Alan Somers <asomers@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "cfg-if";
+            packageId = "cfg-if 1.0.0";
+          }
+          {
+            name = "downcast";
+            packageId = "downcast";
+          }
+          {
+            name = "fragile";
+            packageId = "fragile";
+          }
+          {
+            name = "lazy_static";
+            packageId = "lazy_static";
+          }
+          {
+            name = "mockall_derive";
+            packageId = "mockall_derive";
+          }
+          {
+            name = "predicates";
+            packageId = "predicates";
+          }
+          {
+            name = "predicates-tree";
+            packageId = "predicates-tree";
+          }
+        ];
+        features = {
+          "nightly" = [ "mockall_derive/nightly_derive" "downcast/nightly" ];
+        };
+      };
+      "mockall_derive" = rec {
+        crateName = "mockall_derive";
+        version = "0.9.1";
+        edition = "2018";
+        sha256 = "1snywdscj3chgs0xqr5700dsw2hy0qwd0s3kdk4nz85w6m327m2x";
+        procMacro = true;
+        authors = [
+          "Alan Somers <asomers@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "cfg-if";
+            packageId = "cfg-if 1.0.0";
+          }
+          {
+            name = "proc-macro2";
+            packageId = "proc-macro2 1.0.27";
+          }
+          {
+            name = "quote";
+            packageId = "quote 1.0.9";
+          }
+          {
+            name = "syn";
+            packageId = "syn 1.0.73";
+            features = [ "extra-traits" "full" ];
+          }
+        ];
+        features = {
+          "nightly_derive" = [ "proc-macro2/nightly" ];
+        };
+      };
+      "nix" = rec {
+        crateName = "nix";
+        version = "0.19.1";
+        edition = "2018";
+        sha256 = "1wk1pmaf9pv84sc4jf19gm1as2yq3ydwcx0n5nc1bpsgzq6bmk5j";
+        authors = [
+          "The nix-rust Project Developers"
+        ];
+        dependencies = [
+          {
+            name = "bitflags";
+            packageId = "bitflags";
+          }
+          {
+            name = "cfg-if";
+            packageId = "cfg-if 1.0.0";
+          }
+          {
+            name = "libc";
+            packageId = "libc";
+            features = [ "extra_traits" ];
+          }
+        ];
+        buildDependencies = [
+          {
+            name = "cc";
+            packageId = "cc";
+            target = {target, features}: (target."os" == "dragonfly");
+          }
+        ];
+
+      };
+      "normalize-line-endings" = rec {
+        crateName = "normalize-line-endings";
+        version = "0.3.0";
+        edition = "2015";
+        sha256 = "1gp52dfn2glz26a352zra8h04351icf0fkqzw1shkwrgh1vpz031";
+        authors = [
+          "Richard Dodd <richdodj@gmail.com>"
+        ];
+
+      };
+      "ntapi" = rec {
+        crateName = "ntapi";
+        version = "0.3.6";
+        edition = "2018";
+        sha256 = "0i5daj9sr8wyi5jkpwpybln2jqpn59z0mqfc0dpdidipwh1bjsrz";
+        authors = [
+          "MSxDOS <melcodos@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "winapi";
+            packageId = "winapi";
+            features = [ "cfg" "evntrace" "in6addr" "inaddr" "minwinbase" "ntsecapi" "windef" "winioctl" ];
+          }
+        ];
+        features = {
+          "default" = [ "user" ];
+          "impl-default" = [ "winapi/impl-default" ];
+        };
+        resolvedDefaultFeatures = [ "default" "user" ];
+      };
+      "num-integer" = rec {
+        crateName = "num-integer";
+        version = "0.1.44";
+        edition = "2015";
+        sha256 = "1nq152y3304as1iai95hqz8prqnc94lks1s7q05sfjdmcf56kk6j";
+        authors = [
+          "The Rust Project Developers"
+        ];
+        dependencies = [
+          {
+            name = "num-traits";
+            packageId = "num-traits";
+            usesDefaultFeatures = false;
+          }
+        ];
+        buildDependencies = [
+          {
+            name = "autocfg";
+            packageId = "autocfg";
+          }
+        ];
+        features = {
+          "default" = [ "std" ];
+          "i128" = [ "num-traits/i128" ];
+          "std" = [ "num-traits/std" ];
+        };
+      };
+      "num-traits" = rec {
+        crateName = "num-traits";
+        version = "0.2.14";
+        edition = "2015";
+        sha256 = "144j176s2p76azy2ngk2vkdzgwdc0bc8c93jhki8c9fsbknb2r4s";
+        authors = [
+          "The Rust Project Developers"
+        ];
+        buildDependencies = [
+          {
+            name = "autocfg";
+            packageId = "autocfg";
+          }
+        ];
+        features = {
+          "default" = [ "std" ];
+        };
+        resolvedDefaultFeatures = [ "std" ];
+      };
+      "num_cpus" = rec {
+        crateName = "num_cpus";
+        version = "1.13.0";
+        edition = "2015";
+        sha256 = "1cv6yxhz2zbnwn8pn1yn8grg7zsnd523947fby41a737aqvryj85";
+        authors = [
+          "Sean McArthur <sean@seanmonstar.com>"
+        ];
+        dependencies = [
+          {
+            name = "hermit-abi";
+            packageId = "hermit-abi";
+            target = { target, features }: (((target."arch" == "x86_64") || (target."arch" == "aarch64")) && (target."os" == "hermit"));
+          }
+          {
+            name = "libc";
+            packageId = "libc";
+          }
+        ];
+
+      };
+      "object" = rec {
+        crateName = "object";
+        version = "0.25.3";
+        edition = "2018";
+        sha256 = "1irb91bk41kfd4bpr1ypda8hv1qn9js43zvl003b8mvsd7ijp3x3";
+        authors = [
+          "Nick Fitzgerald <fitzgen@gmail.com>"
+          "Philip Craig <philipjcraig@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "memchr";
+            packageId = "memchr";
+            usesDefaultFeatures = false;
+          }
+        ];
+        features = {
+          "all" = [ "read" "write" "std" "compression" "default" ];
+          "compression" = [ "flate2" "std" ];
+          "default" = [ "read" "compression" ];
+          "pe" = [ "coff" ];
+          "read" = [ "read_core" "archive" "coff" "elf" "macho" "pe" "unaligned" ];
+          "rustc-dep-of-std" = [ "core" "compiler_builtins" "alloc" ];
+          "std" = [ "memchr/std" ];
+          "wasm" = [ "wasmparser" ];
+          "write" = [ "write_core" "coff" "elf" "macho" ];
+          "write_core" = [ "crc32fast" "indexmap" "std" ];
+        };
+        resolvedDefaultFeatures = [ "archive" "coff" "elf" "macho" "pe" "read_core" "unaligned" ];
+      };
+      "obkv" = rec {
+        crateName = "obkv";
+        version = "0.2.0";
+        edition = "2018";
+        sha256 = "11d3mc0v4qydckk3qn3n65kk4z47zpdpya513lmbanwfgk6li7pn";
+        authors = [
+          "Kerollmops <clement@meilisearch.com>"
+        ];
+
+      };
+      "once_cell" = rec {
+        crateName = "once_cell";
+        version = "1.8.0";
+        edition = "2018";
+        sha256 = "0mkbbxg6416z11r2yzsq91cqrkj9w1iyx5hakq15h5sbnriwnbv9";
+        authors = [
+          "Aleksey Kladov <aleksey.kladov@gmail.com>"
+        ];
+        features = {
+          "alloc" = [ "race" ];
+          "default" = [ "std" ];
+          "std" = [ "alloc" ];
+        };
+        resolvedDefaultFeatures = [ "alloc" "default" "race" "std" "unstable" ];
+      };
+      "opaque-debug 0.2.3" = rec {
+        crateName = "opaque-debug";
+        version = "0.2.3";
+        edition = "2015";
+        sha256 = "172j6bs8ndclqxa2m64qc0y1772rr73g4l9fg2svscgicnbfff98";
+        authors = [
+          "RustCrypto Developers"
+        ];
+
+      };
+      "opaque-debug 0.3.0" = rec {
+        crateName = "opaque-debug";
+        version = "0.3.0";
+        edition = "2018";
+        sha256 = "1m8kzi4nd6shdqimn0mgb24f0hxslhnqd1whakyq06wcqd086jk2";
+        authors = [
+          "RustCrypto Developers"
+        ];
+
+      };
+      "ordered-float" = rec {
+        crateName = "ordered-float";
+        version = "2.5.1";
+        edition = "2018";
+        sha256 = "1hpxm9mh948488cs4hhmhabbiya941rq2jgpj44mwf7587xzq07i";
+        authors = [
+          "Jonathan Reem <jonathan.reem@gmail.com>"
+          "Matt Brubeck <mbrubeck@limpet.net>"
+        ];
+        dependencies = [
+          {
+            name = "num-traits";
+            packageId = "num-traits";
+            usesDefaultFeatures = false;
+          }
+        ];
+        features = {
+          "default" = [ "std" ];
+          "randtest" = [ "rand/std" "rand/std_rng" ];
+          "std" = [ "num-traits/std" ];
+        };
+        resolvedDefaultFeatures = [ "default" "std" ];
+      };
+      "page_size" = rec {
+        crateName = "page_size";
+        version = "0.4.2";
+        edition = "2015";
+        sha256 = "1kgdv7f626jy4i2pq8czp4ppady4g4kqfa5ik4dah7mzzd4fbggf";
+        authors = [
+          "Philip Woods <elzairthesorcerer@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "libc";
+            packageId = "libc";
+            target = { target, features }: (target."unix" or false);
+          }
+          {
+            name = "winapi";
+            packageId = "winapi";
+            target = { target, features }: (target."windows" or false);
+            features = [ "sysinfoapi" ];
+          }
+        ];
+        features = {
+          "no_std" = [ "spin" ];
+        };
+      };
+      "parking_lot" = rec {
+        crateName = "parking_lot";
+        version = "0.11.1";
+        edition = "2018";
+        sha256 = "1sqmgaia8zfd5fbnqw2w13ijh7crk3lf9vw4cb52vwlx0an48xvd";
+        authors = [
+          "Amanieu d'Antras <amanieu@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "instant";
+            packageId = "instant";
+          }
+          {
+            name = "lock_api";
+            packageId = "lock_api";
+          }
+          {
+            name = "parking_lot_core";
+            packageId = "parking_lot_core";
+          }
+        ];
+        features = {
+          "deadlock_detection" = [ "parking_lot_core/deadlock_detection" ];
+          "nightly" = [ "parking_lot_core/nightly" "lock_api/nightly" ];
+          "owning_ref" = [ "lock_api/owning_ref" ];
+          "serde" = [ "lock_api/serde" ];
+          "stdweb" = [ "instant/stdweb" ];
+          "wasm-bindgen" = [ "instant/wasm-bindgen" ];
+        };
+        resolvedDefaultFeatures = [ "default" ];
+      };
+      "parking_lot_core" = rec {
+        crateName = "parking_lot_core";
+        version = "0.8.3";
+        edition = "2018";
+        sha256 = "065hkylji0g0fkh1vqp7kzs74vclhsxcczwhwqzpcig770lphyps";
+        authors = [
+          "Amanieu d'Antras <amanieu@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "cfg-if";
+            packageId = "cfg-if 1.0.0";
+          }
+          {
+            name = "instant";
+            packageId = "instant";
+          }
+          {
+            name = "libc";
+            packageId = "libc";
+            target = { target, features }: (target."unix" or false);
+          }
+          {
+            name = "redox_syscall";
+            packageId = "redox_syscall";
+            target = { target, features }: (target."os" == "redox");
+          }
+          {
+            name = "smallvec";
+            packageId = "smallvec";
+          }
+          {
+            name = "winapi";
+            packageId = "winapi";
+            target = { target, features }: (target."windows" or false);
+            features = [ "winnt" "ntstatus" "minwindef" "winerror" "winbase" "errhandlingapi" "handleapi" ];
+          }
+        ];
+        features = {
+          "deadlock_detection" = [ "petgraph" "thread-id" "backtrace" ];
+        };
+      };
+      "paste" = rec {
+        crateName = "paste";
+        version = "1.0.5";
+        edition = "2018";
+        sha256 = "0n7y1pabn6vspdxgzx62rs9wdlbnay9r1g84j8jk2pn6s1x59gxc";
+        procMacro = true;
+        authors = [
+          "David Tolnay <dtolnay@gmail.com>"
+        ];
+
+      };
+      "path-matchers" = rec {
+        crateName = "path-matchers";
+        version = "1.0.2";
+        edition = "2018";
+        sha256 = "0avv7zcg7jakz765kg0zbva7nsv8mgcjj0jz78cyqybnlir9pk9n";
+        authors = [
+          "Alexander Korolev <kilork@yandex.ru>"
+        ];
+        dependencies = [
+          {
+            name = "glob";
+            packageId = "glob";
+            optional = true;
+          }
+        ];
+        features = {
+          "default" = [ "glob" ];
+        };
+        resolvedDefaultFeatures = [ "glob" ];
+      };
+      "path-slash" = rec {
+        crateName = "path-slash";
+        version = "0.1.4";
+        edition = "2018";
+        sha256 = "06dnnmd3fvmr9ngwgj0xrfj9s8h09m9dgf3zlqsbalzk9wybpb1w";
+        authors = [
+          "rhysd <https://rhysd.github.io>"
+        ];
+
+      };
+      "percent-encoding" = rec {
+        crateName = "percent-encoding";
+        version = "2.1.0";
+        edition = "2015";
+        sha256 = "0bp3zrsk3kr47fbpipyczidbbx4g54lzxdm77ni1i3qws10mdzfl";
+        libPath = "lib.rs";
+        authors = [
+          "The rust-url developers"
+        ];
+
+      };
+      "pest" = rec {
+        crateName = "pest";
+        version = "2.1.3";
+        edition = "2015";
+        workspace_member = null;
+        src = pkgs.fetchgit {
+          url = "https://github.com/pest-parser/pest.git";
+          rev = "51fd1d49f1041f7839975664ef71fe15c7dcaf67";
+          sha256 = "1l2ixz723f58ksdm0j12z9zw5cnap0fhcd5kbhbz5ndazy8sn5rf";
+        };
+        authors = [
+          "Dragoș Tiselice <dragostiselice@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "ucd-trie";
+            packageId = "ucd-trie";
+          }
+        ];
+        features = {
+          "pretty-print" = [ "serde" "serde_json" ];
+        };
+      };
+      "pest_derive" = rec {
+        crateName = "pest_derive";
+        version = "2.1.0";
+        edition = "2015";
+        sha256 = "1l5jfa6ril71cw5nsiw0r45br54dd8cj2r1nc2d1wq6wb3jilgc3";
+        procMacro = true;
+        authors = [
+          "Dragoș Tiselice <dragostiselice@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "pest";
+            packageId = "pest";
+          }
+          {
+            name = "pest_generator";
+            packageId = "pest_generator";
+          }
+        ];
+
+      };
+      "pest_generator" = rec {
+        crateName = "pest_generator";
+        version = "2.1.3";
+        edition = "2015";
+        sha256 = "0mfgl0p6v91ywdqr9i8w053v70cnfqjk8y5rhwbvir9idridpf4r";
+        authors = [
+          "Dragoș Tiselice <dragostiselice@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "pest";
+            packageId = "pest";
+          }
+          {
+            name = "pest_meta";
+            packageId = "pest_meta";
+          }
+          {
+            name = "proc-macro2";
+            packageId = "proc-macro2 1.0.27";
+          }
+          {
+            name = "quote";
+            packageId = "quote 1.0.9";
+          }
+          {
+            name = "syn";
+            packageId = "syn 1.0.73";
+          }
+        ];
+
+      };
+      "pest_meta" = rec {
+        crateName = "pest_meta";
+        version = "2.1.3";
+        edition = "2015";
+        sha256 = "07d1jbbbpxpchk0j37ljas46sdyyg599z3zw2ac0f5sk9x06xgjl";
+        authors = [
+          "Dragoș Tiselice <dragostiselice@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "maplit";
+            packageId = "maplit";
+          }
+          {
+            name = "pest";
+            packageId = "pest";
+          }
+        ];
+        buildDependencies = [
+          {
+            name = "sha-1";
+            packageId = "sha-1 0.8.2";
+            usesDefaultFeatures = false;
+          }
+        ];
+
+      };
+      "phf" = rec {
+        crateName = "phf";
+        version = "0.8.0";
+        edition = "2018";
+        sha256 = "04pyv8bzqvw69rd5dynd5nb85py1hf7wa4ixyhrvdz1l5qin3yrx";
+        authors = [
+          "Steven Fackler <sfackler@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "phf_shared";
+            packageId = "phf_shared";
+          }
+        ];
+        features = {
+          "default" = [ "std" ];
+          "macros" = [ "phf_macros" "proc-macro-hack" ];
+          "std" = [ "phf_shared/std" ];
+          "unicase" = [ "phf_shared/unicase" ];
+        };
+        resolvedDefaultFeatures = [ "default" "std" ];
+      };
+      "phf_codegen" = rec {
+        crateName = "phf_codegen";
+        version = "0.8.0";
+        edition = "2018";
+        sha256 = "05d8w7aqqjb6039pfm6404gk5dlwrrf97kiy1n21212vb1hyxzyb";
+        authors = [
+          "Steven Fackler <sfackler@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "phf_generator";
+            packageId = "phf_generator";
+          }
+          {
+            name = "phf_shared";
+            packageId = "phf_shared";
+          }
+        ];
+
+      };
+      "phf_generator" = rec {
+        crateName = "phf_generator";
+        version = "0.8.0";
+        edition = "2018";
+        crateBin = [];
+        sha256 = "09i5338d1kixq6a60fcayz6awgxjlxcfw9ic5f02abbgr067ydhp";
+        authors = [
+          "Steven Fackler <sfackler@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "phf_shared";
+            packageId = "phf_shared";
+          }
+          {
+            name = "rand";
+            packageId = "rand 0.7.3";
+            features = [ "small_rng" ];
+          }
+        ];
+
+      };
+      "phf_shared" = rec {
+        crateName = "phf_shared";
+        version = "0.8.0";
+        edition = "2018";
+        sha256 = "1xssnqrrcn0nr9ayqrnm8xm37ac4xvwcx8pax7jxss7yxawzh360";
+        authors = [
+          "Steven Fackler <sfackler@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "siphasher";
+            packageId = "siphasher";
+          }
+        ];
+        features = {
+          "default" = [ "std" ];
+        };
+        resolvedDefaultFeatures = [ "default" "std" ];
+      };
+      "pin-project" = rec {
+        crateName = "pin-project";
+        version = "1.0.7";
+        edition = "2018";
+        sha256 = "1964rh32hiy5v2ircli8wv8fxq9h2nkgfalda6j407040v0rql67";
+        authors = [
+          "Taiki Endo <te316e89@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "pin-project-internal";
+            packageId = "pin-project-internal";
+            usesDefaultFeatures = false;
+          }
+        ];
+
+      };
+      "pin-project-internal" = rec {
+        crateName = "pin-project-internal";
+        version = "1.0.7";
+        edition = "2018";
+        sha256 = "0vs289my2262ziwxj60mnzr2k41ibga73z8yddah1dc34l9m1ja8";
+        procMacro = true;
+        authors = [
+          "Taiki Endo <te316e89@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "proc-macro2";
+            packageId = "proc-macro2 1.0.27";
+          }
+          {
+            name = "quote";
+            packageId = "quote 1.0.9";
+          }
+          {
+            name = "syn";
+            packageId = "syn 1.0.73";
+            features = [ "full" "visit-mut" ];
+          }
+        ];
+
+      };
+      "pin-project-lite" = rec {
+        crateName = "pin-project-lite";
+        version = "0.2.6";
+        edition = "2018";
+        sha256 = "01g96zxghb33s1vsjmjpn9l3a2nxdqj7glf9lhq7q5wjkhjiy3nw";
+        authors = [
+          "Taiki Endo <te316e89@gmail.com>"
+        ];
+
+      };
+      "pin-utils" = rec {
+        crateName = "pin-utils";
+        version = "0.1.0";
+        edition = "2018";
+        sha256 = "117ir7vslsl2z1a7qzhws4pd01cg2d3338c47swjyvqv2n60v1wb";
+        authors = [
+          "Josef Brandl <mail@josefbrandl.de>"
+        ];
+
+      };
+      "pkg-config" = rec {
+        crateName = "pkg-config";
+        version = "0.3.19";
+        edition = "2015";
+        sha256 = "0k4860955riciibxr8bhnklp79jydp4xfylwdn5v9kj96hxlac9q";
+        authors = [
+          "Alex Crichton <alex@alexcrichton.com>"
+        ];
+
+      };
+      "ppv-lite86" = rec {
+        crateName = "ppv-lite86";
+        version = "0.2.10";
+        edition = "2018";
+        sha256 = "0ms8198kclg4h96ggbziixxmsdl847s648kmbx11zlmjsqjccx5c";
+        authors = [
+          "The CryptoCorrosion Contributors"
+        ];
+        features = {
+          "default" = [ "std" ];
+        };
+        resolvedDefaultFeatures = [ "simd" "std" ];
+      };
+      "predicates" = rec {
+        crateName = "predicates";
+        version = "1.0.8";
+        edition = "2018";
+        sha256 = "1pr1h0gqak6zc7vdrzaw98spi20lcm70brx3dz6glfxazpvzm77l";
+        authors = [
+          "Nick Stevens <nick@bitcurry.com>"
+        ];
+        dependencies = [
+          {
+            name = "difference";
+            packageId = "difference";
+            optional = true;
+          }
+          {
+            name = "float-cmp";
+            packageId = "float-cmp";
+            optional = true;
+          }
+          {
+            name = "normalize-line-endings";
+            packageId = "normalize-line-endings";
+            optional = true;
+          }
+          {
+            name = "predicates-core";
+            packageId = "predicates-core";
+          }
+          {
+            name = "regex";
+            packageId = "regex";
+            optional = true;
+          }
+        ];
+        features = {
+          "default" = [ "difference" "regex" "float-cmp" "normalize-line-endings" ];
+        };
+        resolvedDefaultFeatures = [ "default" "difference" "float-cmp" "normalize-line-endings" "regex" ];
+      };
+      "predicates-core" = rec {
+        crateName = "predicates-core";
+        version = "1.0.2";
+        edition = "2018";
+        sha256 = "0l947jviipblyaqsp3p5mvsqq421bg0nxp7mhnm4jpmp4qrmmqsp";
+        authors = [
+          "Nick Stevens <nick@bitcurry.com>"
+        ];
+
+      };
+      "predicates-tree" = rec {
+        crateName = "predicates-tree";
+        version = "1.0.2";
+        edition = "2018";
+        sha256 = "1wliadgjnl47b4hyp5j4mgjscq58v5gy31gba6a408apbqkm7x8m";
+        authors = [
+          "Nick Stevens <nick@bitcurry.com>"
+        ];
+        dependencies = [
+          {
+            name = "predicates-core";
+            packageId = "predicates-core";
+          }
+          {
+            name = "treeline";
+            packageId = "treeline";
+          }
+        ];
+
+      };
+      "proc-macro-error" = rec {
+        crateName = "proc-macro-error";
+        version = "1.0.4";
+        edition = "2018";
+        sha256 = "1373bhxaf0pagd8zkyd03kkx6bchzf6g0dkwrwzsnal9z47lj9fs";
+        authors = [
+          "CreepySkeleton <creepy-skeleton@yandex.ru>"
+        ];
+        dependencies = [
+          {
+            name = "proc-macro-error-attr";
+            packageId = "proc-macro-error-attr";
+          }
+          {
+            name = "proc-macro2";
+            packageId = "proc-macro2 1.0.27";
+          }
+          {
+            name = "quote";
+            packageId = "quote 1.0.9";
+          }
+          {
+            name = "syn";
+            packageId = "syn 1.0.73";
+            optional = true;
+            usesDefaultFeatures = false;
+          }
+        ];
+        buildDependencies = [
+          {
+            name = "version_check";
+            packageId = "version_check";
+          }
+        ];
+        features = {
+          "default" = [ "syn-error" ];
+          "syn-error" = [ "syn" ];
+        };
+        resolvedDefaultFeatures = [ "default" "syn" "syn-error" ];
+      };
+      "proc-macro-error-attr" = rec {
+        crateName = "proc-macro-error-attr";
+        version = "1.0.4";
+        edition = "2018";
+        sha256 = "0sgq6m5jfmasmwwy8x4mjygx5l7kp8s4j60bv25ckv2j1qc41gm1";
+        procMacro = true;
+        authors = [
+          "CreepySkeleton <creepy-skeleton@yandex.ru>"
+        ];
+        dependencies = [
+          {
+            name = "proc-macro2";
+            packageId = "proc-macro2 1.0.27";
+          }
+          {
+            name = "quote";
+            packageId = "quote 1.0.9";
+          }
+        ];
+        buildDependencies = [
+          {
+            name = "version_check";
+            packageId = "version_check";
+          }
+        ];
+
+      };
+      "proc-macro-hack" = rec {
+        crateName = "proc-macro-hack";
+        version = "0.5.19";
+        edition = "2018";
+        sha256 = "1rg0kzsj7lj00qj602d3h77spwfz48vixn1wbjp7a4yrq65w9w6v";
+        procMacro = true;
+        authors = [
+          "David Tolnay <dtolnay@gmail.com>"
+        ];
+
+      };
+      "proc-macro-nested" = rec {
+        crateName = "proc-macro-nested";
+        version = "0.1.7";
+        edition = "2015";
+        sha256 = "11hh1jynh62f3m1ii0f9gf1l3y0fhkwpmr40lz3704v848n1p25w";
+        authors = [
+          "David Tolnay <dtolnay@gmail.com>"
+        ];
+
+      };
+      "proc-macro2 0.4.30" = rec {
+        crateName = "proc-macro2";
+        version = "0.4.30";
+        edition = "2015";
+        sha256 = "0nd71fl24sys066jrha6j7i34nfkjv44yzw8yww9742wmc8j0gfg";
+        authors = [
+          "Alex Crichton <alex@alexcrichton.com>"
+        ];
+        dependencies = [
+          {
+            name = "unicode-xid";
+            packageId = "unicode-xid 0.1.0";
+          }
+        ];
+        features = {
+          "default" = [ "proc-macro" ];
+        };
+        resolvedDefaultFeatures = [ "default" "proc-macro" ];
+      };
+      "proc-macro2 1.0.27" = rec {
+        crateName = "proc-macro2";
+        version = "1.0.27";
+        edition = "2018";
+        sha256 = "0f3h0zl5w5090ajmmvpmhkpr4iwqnn5rip3afacabhc657vwmn7h";
+        authors = [
+          "Alex Crichton <alex@alexcrichton.com>"
+          "David Tolnay <dtolnay@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "unicode-xid";
+            packageId = "unicode-xid 0.2.2";
+          }
+        ];
+        features = {
+          "default" = [ "proc-macro" ];
+        };
+        resolvedDefaultFeatures = [ "default" "proc-macro" ];
+      };
+      "quote 0.6.13" = rec {
+        crateName = "quote";
+        version = "0.6.13";
+        edition = "2015";
+        sha256 = "1qgqq48jymp5h4y082aanf25hrw6bpb678xh3zw993qfhxmkpqkc";
+        authors = [
+          "David Tolnay <dtolnay@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "proc-macro2";
+            packageId = "proc-macro2 0.4.30";
+            usesDefaultFeatures = false;
+          }
+        ];
+        features = {
+          "default" = [ "proc-macro" ];
+          "proc-macro" = [ "proc-macro2/proc-macro" ];
+        };
+        resolvedDefaultFeatures = [ "default" "proc-macro" ];
+      };
+      "quote 1.0.9" = rec {
+        crateName = "quote";
+        version = "1.0.9";
+        edition = "2018";
+        sha256 = "19rjmfqzk26rxbgxy5j2ckqc2v12sw2xw8l4gi8bzpn2bmsbkl63";
+        authors = [
+          "David Tolnay <dtolnay@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "proc-macro2";
+            packageId = "proc-macro2 1.0.27";
+            usesDefaultFeatures = false;
+          }
+        ];
+        features = {
+          "default" = [ "proc-macro" ];
+          "proc-macro" = [ "proc-macro2/proc-macro" ];
+        };
+        resolvedDefaultFeatures = [ "default" "proc-macro" ];
+      };
+      "rand 0.4.6" = rec {
+        crateName = "rand";
+        version = "0.4.6";
+        edition = "2015";
+        sha256 = "14qjfv3gggzhnma20k0sc1jf8y6pplsaq7n1j9ls5c8kf2wl0a2m";
+        authors = [
+          "The Rust Project Developers"
+        ];
+        dependencies = [
+          {
+            name = "fuchsia-cprng";
+            packageId = "fuchsia-cprng";
+            target = { target, features }: (target."os" == "fuchsia");
+          }
+          {
+            name = "libc";
+            packageId = "libc";
+            optional = true;
+            target = { target, features }: (target."unix" or false);
+          }
+          {
+            name = "rand_core";
+            packageId = "rand_core 0.3.1";
+            usesDefaultFeatures = false;
+            target = { target, features }: (target."env" == "sgx");
+          }
+          {
+            name = "rdrand";
+            packageId = "rdrand";
+            target = { target, features }: (target."env" == "sgx");
+          }
+          {
+            name = "winapi";
+            packageId = "winapi";
+            target = { target, features }: (target."windows" or false);
+            features = [ "minwindef" "ntsecapi" "profileapi" "winnt" ];
+          }
+        ];
+        features = {
+          "default" = [ "std" ];
+          "nightly" = [ "i128_support" ];
+          "std" = [ "libc" ];
+        };
+        resolvedDefaultFeatures = [ "default" "libc" "std" ];
+      };
+      "rand 0.7.3" = rec {
+        crateName = "rand";
+        version = "0.7.3";
+        edition = "2018";
+        sha256 = "00sdaimkbz491qgi6qxkv582yivl32m2jd401kzbn94vsiwicsva";
+        authors = [
+          "The Rand Project Developers"
+          "The Rust Project Developers"
+        ];
+        dependencies = [
+          {
+            name = "getrandom";
+            packageId = "getrandom 0.1.16";
+            rename = "getrandom_package";
+            optional = true;
+          }
+          {
+            name = "libc";
+            packageId = "libc";
+            optional = true;
+            usesDefaultFeatures = false;
+            target = { target, features }: (target."unix" or false);
+          }
+          {
+            name = "rand_chacha";
+            packageId = "rand_chacha 0.2.2";
+            usesDefaultFeatures = false;
+            target = { target, features }: (!(target."os" == "emscripten"));
+          }
+          {
+            name = "rand_core";
+            packageId = "rand_core 0.5.1";
+          }
+          {
+            name = "rand_hc";
+            packageId = "rand_hc 0.2.0";
+            target = { target, features }: (target."os" == "emscripten");
+          }
+          {
+            name = "rand_pcg";
+            packageId = "rand_pcg";
+            optional = true;
+          }
+        ];
+        devDependencies = [
+          {
+            name = "rand_hc";
+            packageId = "rand_hc 0.2.0";
+          }
+          {
+            name = "rand_pcg";
+            packageId = "rand_pcg";
+          }
+        ];
+        features = {
+          "alloc" = [ "rand_core/alloc" ];
+          "default" = [ "std" ];
+          "getrandom" = [ "getrandom_package" "rand_core/getrandom" ];
+          "nightly" = [ "simd_support" ];
+          "simd_support" = [ "packed_simd" ];
+          "small_rng" = [ "rand_pcg" ];
+          "std" = [ "rand_core/std" "rand_chacha/std" "alloc" "getrandom" "libc" ];
+          "stdweb" = [ "getrandom_package/stdweb" ];
+          "wasm-bindgen" = [ "getrandom_package/wasm-bindgen" ];
+        };
+        resolvedDefaultFeatures = [ "alloc" "default" "getrandom" "getrandom_package" "libc" "rand_pcg" "small_rng" "std" ];
+      };
+      "rand 0.8.4" = rec {
+        crateName = "rand";
+        version = "0.8.4";
+        edition = "2018";
+        sha256 = "1n5wska2fbfj4dsfz8mc0pd0dgjlrb6c9anpk5mwym345rip6x9f";
+        authors = [
+          "The Rand Project Developers"
+          "The Rust Project Developers"
+        ];
+        dependencies = [
+          {
+            name = "libc";
+            packageId = "libc";
+            optional = true;
+            usesDefaultFeatures = false;
+            target = { target, features }: (target."unix" or false);
+          }
+          {
+            name = "rand_chacha";
+            packageId = "rand_chacha 0.3.1";
+            optional = true;
+            usesDefaultFeatures = false;
+            target = { target, features }: (!(target."os" == "emscripten"));
+          }
+          {
+            name = "rand_core";
+            packageId = "rand_core 0.6.3";
+          }
+          {
+            name = "rand_hc";
+            packageId = "rand_hc 0.3.1";
+            optional = true;
+            target = { target, features }: (target."os" == "emscripten");
+          }
+        ];
+        devDependencies = [
+          {
+            name = "rand_hc";
+            packageId = "rand_hc 0.3.1";
+          }
+        ];
+        features = {
+          "alloc" = [ "rand_core/alloc" ];
+          "default" = [ "std" "std_rng" ];
+          "getrandom" = [ "rand_core/getrandom" ];
+          "serde1" = [ "serde" "rand_core/serde1" ];
+          "simd_support" = [ "packed_simd" ];
+          "std" = [ "rand_core/std" "rand_chacha/std" "alloc" "getrandom" "libc" ];
+          "std_rng" = [ "rand_chacha" "rand_hc" ];
+        };
+        resolvedDefaultFeatures = [ "alloc" "default" "getrandom" "libc" "rand_chacha" "rand_hc" "std" "std_rng" ];
+      };
+      "rand_chacha 0.2.2" = rec {
+        crateName = "rand_chacha";
+        version = "0.2.2";
+        edition = "2018";
+        sha256 = "00il36fkdbsmpr99p9ksmmp6dn1md7rmnwmz0rr77jbrca2yvj7l";
+        authors = [
+          "The Rand Project Developers"
+          "The Rust Project Developers"
+          "The CryptoCorrosion Contributors"
+        ];
+        dependencies = [
+          {
+            name = "ppv-lite86";
+            packageId = "ppv-lite86";
+            usesDefaultFeatures = false;
+            features = [ "simd" ];
+          }
+          {
+            name = "rand_core";
+            packageId = "rand_core 0.5.1";
+          }
+        ];
+        features = {
+          "default" = [ "std" "simd" ];
+          "std" = [ "ppv-lite86/std" ];
+        };
+        resolvedDefaultFeatures = [ "std" ];
+      };
+      "rand_chacha 0.3.1" = rec {
+        crateName = "rand_chacha";
+        version = "0.3.1";
+        edition = "2018";
+        sha256 = "123x2adin558xbhvqb8w4f6syjsdkmqff8cxwhmjacpsl1ihmhg6";
+        authors = [
+          "The Rand Project Developers"
+          "The Rust Project Developers"
+          "The CryptoCorrosion Contributors"
+        ];
+        dependencies = [
+          {
+            name = "ppv-lite86";
+            packageId = "ppv-lite86";
+            usesDefaultFeatures = false;
+            features = [ "simd" ];
+          }
+          {
+            name = "rand_core";
+            packageId = "rand_core 0.6.3";
+          }
+        ];
+        features = {
+          "default" = [ "std" ];
+          "serde1" = [ "serde" ];
+          "std" = [ "ppv-lite86/std" ];
+        };
+        resolvedDefaultFeatures = [ "std" ];
+      };
+      "rand_core 0.3.1" = rec {
+        crateName = "rand_core";
+        version = "0.3.1";
+        edition = "2015";
+        sha256 = "0jzdgszfa4bliigiy4hi66k7fs3gfwi2qxn8vik84ph77fwdwvvs";
+        authors = [
+          "The Rand Project Developers"
+          "The Rust Project Developers"
+        ];
+        dependencies = [
+          {
+            name = "rand_core";
+            packageId = "rand_core 0.4.2";
+          }
+        ];
+        features = {
+          "alloc" = [ "rand_core/alloc" ];
+          "default" = [ "std" ];
+          "serde1" = [ "rand_core/serde1" ];
+          "std" = [ "rand_core/std" ];
+        };
+      };
+      "rand_core 0.4.2" = rec {
+        crateName = "rand_core";
+        version = "0.4.2";
+        edition = "2015";
+        sha256 = "1p09ynysrq1vcdlmcqnapq4qakl2yd1ng3kxh3qscpx09k2a6cww";
+        authors = [
+          "The Rand Project Developers"
+          "The Rust Project Developers"
+        ];
+        features = {
+          "serde1" = [ "serde" "serde_derive" ];
+          "std" = [ "alloc" ];
+        };
+      };
+      "rand_core 0.5.1" = rec {
+        crateName = "rand_core";
+        version = "0.5.1";
+        edition = "2018";
+        sha256 = "06bdvx08v3rkz451cm7z59xwwqn1rkfh6v9ay77b14f8dwlybgch";
+        authors = [
+          "The Rand Project Developers"
+          "The Rust Project Developers"
+        ];
+        dependencies = [
+          {
+            name = "getrandom";
+            packageId = "getrandom 0.1.16";
+            optional = true;
+          }
+        ];
+        features = {
+          "serde1" = [ "serde" ];
+          "std" = [ "alloc" "getrandom" "getrandom/std" ];
+        };
+        resolvedDefaultFeatures = [ "alloc" "getrandom" "std" ];
+      };
+      "rand_core 0.6.3" = rec {
+        crateName = "rand_core";
+        version = "0.6.3";
+        edition = "2018";
+        sha256 = "1rxlxc3bpzgwphcg9c9yasvv9idipcg2z2y4j0vlb52jyl418kyk";
+        authors = [
+          "The Rand Project Developers"
+          "The Rust Project Developers"
+        ];
+        dependencies = [
+          {
+            name = "getrandom";
+            packageId = "getrandom 0.2.3";
+            optional = true;
+          }
+        ];
+        features = {
+          "serde1" = [ "serde" ];
+          "std" = [ "alloc" "getrandom" "getrandom/std" ];
+        };
+        resolvedDefaultFeatures = [ "alloc" "getrandom" "std" ];
+      };
+      "rand_hc 0.2.0" = rec {
+        crateName = "rand_hc";
+        version = "0.2.0";
+        edition = "2018";
+        sha256 = "0g31sqwpmsirdlwr0svnacr4dbqyz339im4ssl9738cjgfpjjcfa";
+        authors = [
+          "The Rand Project Developers"
+        ];
+        dependencies = [
+          {
+            name = "rand_core";
+            packageId = "rand_core 0.5.1";
+          }
+        ];
+
+      };
+      "rand_hc 0.3.1" = rec {
+        crateName = "rand_hc";
+        version = "0.3.1";
+        edition = "2018";
+        sha256 = "1rwpykyvhkxs4jvqdja3mzp9dqaqamzn113cxaigs9z2dmcry7nm";
+        authors = [
+          "The Rand Project Developers"
+        ];
+        dependencies = [
+          {
+            name = "rand_core";
+            packageId = "rand_core 0.6.3";
+          }
+        ];
+
+      };
+      "rand_pcg" = rec {
+        crateName = "rand_pcg";
+        version = "0.2.1";
+        edition = "2018";
+        sha256 = "0ab4h6s6x3py833jk61lwadq83qd1c8bih2hgi6yps9rnv0x1aqn";
+        authors = [
+          "The Rand Project Developers"
+        ];
+        dependencies = [
+          {
+            name = "rand_core";
+            packageId = "rand_core 0.5.1";
+          }
+        ];
+        features = {
+          "serde1" = [ "serde" ];
+        };
+      };
+      "rayon" = rec {
+        crateName = "rayon";
+        version = "1.5.1";
+        edition = "2018";
+        sha256 = "143dl2453bazgk7rwjrickmyqd0ks3q69nfz8axcins19n0clsn0";
+        authors = [
+          "Niko Matsakis <niko@alum.mit.edu>"
+          "Josh Stone <cuviper@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "crossbeam-deque";
+            packageId = "crossbeam-deque";
+          }
+          {
+            name = "either";
+            packageId = "either";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "rayon-core";
+            packageId = "rayon-core";
+          }
+        ];
+        buildDependencies = [
+          {
+            name = "autocfg";
+            packageId = "autocfg";
+          }
+        ];
+
+      };
+      "rayon-core" = rec {
+        crateName = "rayon-core";
+        version = "1.9.1";
+        edition = "2018";
+        sha256 = "13kdcnqp2p1a5a3amamfjpnm7ay463vq4dfxy4rrh9shr3i210fp";
+        authors = [
+          "Niko Matsakis <niko@alum.mit.edu>"
+          "Josh Stone <cuviper@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "crossbeam-channel";
+            packageId = "crossbeam-channel";
+          }
+          {
+            name = "crossbeam-deque";
+            packageId = "crossbeam-deque";
+          }
+          {
+            name = "crossbeam-utils";
+            packageId = "crossbeam-utils 0.8.5";
+          }
+          {
+            name = "lazy_static";
+            packageId = "lazy_static";
+          }
+          {
+            name = "num_cpus";
+            packageId = "num_cpus";
+          }
+        ];
+
+      };
+      "rdrand" = rec {
+        crateName = "rdrand";
+        version = "0.4.0";
+        edition = "2015";
+        sha256 = "1cjq0kwx1bk7jx3kzyciiish5gqsj7620dm43dc52sr8fzmm9037";
+        authors = [
+          "Simonas Kazlauskas <rdrand@kazlauskas.me>"
+        ];
+        dependencies = [
+          {
+            name = "rand_core";
+            packageId = "rand_core 0.3.1";
+            usesDefaultFeatures = false;
+          }
+        ];
+        features = {
+          "default" = [ "std" ];
+        };
+        resolvedDefaultFeatures = [ "default" "std" ];
+      };
+      "redox_syscall" = rec {
+        crateName = "redox_syscall";
+        version = "0.2.9";
+        edition = "2018";
+        sha256 = "1vpyfnfrw5ki262720yks8m7vn1a2mg89s4rqi5ir7izvyx9md2s";
+        libName = "syscall";
+        authors = [
+          "Jeremy Soller <jackpot51@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "bitflags";
+            packageId = "bitflags";
+          }
+        ];
+
+      };
+      "regex" = rec {
+        crateName = "regex";
+        version = "1.5.4";
+        edition = "2018";
+        sha256 = "0qf479kjbmb582h4d1d6gfl75h0j8aq2nrdi5wg6zdcy6llqcynh";
+        authors = [
+          "The Rust Project Developers"
+        ];
+        dependencies = [
+          {
+            name = "aho-corasick";
+            packageId = "aho-corasick";
+            optional = true;
+          }
+          {
+            name = "memchr";
+            packageId = "memchr";
+            optional = true;
+          }
+          {
+            name = "regex-syntax";
+            packageId = "regex-syntax";
+            usesDefaultFeatures = false;
+          }
+        ];
+        features = {
+          "default" = [ "std" "perf" "unicode" "regex-syntax/default" ];
+          "perf" = [ "perf-cache" "perf-dfa" "perf-inline" "perf-literal" ];
+          "perf-literal" = [ "aho-corasick" "memchr" ];
+          "unicode" = [ "unicode-age" "unicode-bool" "unicode-case" "unicode-gencat" "unicode-perl" "unicode-script" "unicode-segment" "regex-syntax/unicode" ];
+          "unicode-age" = [ "regex-syntax/unicode-age" ];
+          "unicode-bool" = [ "regex-syntax/unicode-bool" ];
+          "unicode-case" = [ "regex-syntax/unicode-case" ];
+          "unicode-gencat" = [ "regex-syntax/unicode-gencat" ];
+          "unicode-perl" = [ "regex-syntax/unicode-perl" ];
+          "unicode-script" = [ "regex-syntax/unicode-script" ];
+          "unicode-segment" = [ "regex-syntax/unicode-segment" ];
+          "unstable" = [ "pattern" ];
+          "use_std" = [ "std" ];
+        };
+        resolvedDefaultFeatures = [ "aho-corasick" "default" "memchr" "perf" "perf-cache" "perf-dfa" "perf-inline" "perf-literal" "std" "unicode" "unicode-age" "unicode-bool" "unicode-case" "unicode-gencat" "unicode-perl" "unicode-script" "unicode-segment" ];
+      };
+      "regex-automata" = rec {
+        crateName = "regex-automata";
+        version = "0.1.10";
+        edition = "2015";
+        sha256 = "0ci1hvbzhrfby5fdpf4ganhf7kla58acad9i1ff1p34dzdrhs8vc";
+        authors = [
+          "Andrew Gallant <jamslam@gmail.com>"
+        ];
+        features = {
+          "default" = [ "std" ];
+          "std" = [ "regex-syntax" ];
+          "transducer" = [ "std" "fst" ];
+        };
+      };
+      "regex-syntax" = rec {
+        crateName = "regex-syntax";
+        version = "0.6.25";
+        edition = "2018";
+        sha256 = "16y87hz1bxmmz6kk360cxwfm3jnbsxb3x4zw9x1gzz7khic2i5zl";
+        authors = [
+          "The Rust Project Developers"
+        ];
+        features = {
+          "default" = [ "unicode" ];
+          "unicode" = [ "unicode-age" "unicode-bool" "unicode-case" "unicode-gencat" "unicode-perl" "unicode-script" "unicode-segment" ];
+        };
+        resolvedDefaultFeatures = [ "default" "unicode" "unicode-age" "unicode-bool" "unicode-case" "unicode-gencat" "unicode-perl" "unicode-script" "unicode-segment" ];
+      };
+      "remove_dir_all" = rec {
+        crateName = "remove_dir_all";
+        version = "0.5.3";
+        edition = "2015";
+        sha256 = "1rzqbsgkmr053bxxl04vmvsd1njyz0nxvly97aip6aa2cmb15k9s";
+        authors = [
+          "Aaronepower <theaaronepower@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "winapi";
+            packageId = "winapi";
+            target = { target, features }: (target."windows" or false);
+            features = [ "std" "errhandlingapi" "winerror" "fileapi" "winbase" ];
+          }
+        ];
+
+      };
+      "reqwest" = rec {
+        crateName = "reqwest";
+        version = "0.11.4";
+        edition = "2018";
+        sha256 = "08kdxaa7c5wzlr2f4qkqlczc86p30sz84xllk83dyxxvp5hryvi4";
+        authors = [
+          "Sean McArthur <sean@seanmonstar.com>"
+        ];
+        dependencies = [
+          {
+            name = "base64";
+            packageId = "base64";
+            target = { target, features }: (!(target."arch" == "wasm32"));
+          }
+          {
+            name = "bytes";
+            packageId = "bytes 1.0.1";
+          }
+          {
+            name = "encoding_rs";
+            packageId = "encoding_rs";
+            target = { target, features }: (!(target."arch" == "wasm32"));
+          }
+          {
+            name = "futures-core";
+            packageId = "futures-core";
+            usesDefaultFeatures = false;
+            target = { target, features }: (!(target."arch" == "wasm32"));
+          }
+          {
+            name = "futures-util";
+            packageId = "futures-util";
+            usesDefaultFeatures = false;
+            target = { target, features }: (!(target."arch" == "wasm32"));
+          }
+          {
+            name = "http";
+            packageId = "http";
+          }
+          {
+            name = "http-body";
+            packageId = "http-body";
+            target = { target, features }: (!(target."arch" == "wasm32"));
+          }
+          {
+            name = "hyper";
+            packageId = "hyper";
+            usesDefaultFeatures = false;
+            target = { target, features }: (!(target."arch" == "wasm32"));
+            features = [ "tcp" "http1" "http2" "client" "runtime" ];
+          }
+          {
+            name = "hyper-rustls";
+            packageId = "hyper-rustls";
+            optional = true;
+            usesDefaultFeatures = false;
+            target = { target, features }: (!(target."arch" == "wasm32"));
+          }
+          {
+            name = "ipnet";
+            packageId = "ipnet";
+            target = { target, features }: (!(target."arch" == "wasm32"));
+          }
+          {
+            name = "js-sys";
+            packageId = "js-sys";
+            target = { target, features }: (target."arch" == "wasm32");
+          }
+          {
+            name = "lazy_static";
+            packageId = "lazy_static";
+            target = { target, features }: (!(target."arch" == "wasm32"));
+          }
+          {
+            name = "log";
+            packageId = "log";
+            target = { target, features }: (!(target."arch" == "wasm32"));
+          }
+          {
+            name = "mime";
+            packageId = "mime";
+            target = { target, features }: (!(target."arch" == "wasm32"));
+          }
+          {
+            name = "percent-encoding";
+            packageId = "percent-encoding";
+            target = { target, features }: (!(target."arch" == "wasm32"));
+          }
+          {
+            name = "pin-project-lite";
+            packageId = "pin-project-lite";
+            target = { target, features }: (!(target."arch" == "wasm32"));
+          }
+          {
+            name = "rustls";
+            packageId = "rustls";
+            optional = true;
+            target = { target, features }: (!(target."arch" == "wasm32"));
+            features = [ "dangerous_configuration" ];
+          }
+          {
+            name = "serde";
+            packageId = "serde";
+          }
+          {
+            name = "serde_json";
+            packageId = "serde_json";
+            optional = true;
+          }
+          {
+            name = "serde_urlencoded";
+            packageId = "serde_urlencoded";
+          }
+          {
+            name = "tokio";
+            packageId = "tokio";
+            usesDefaultFeatures = false;
+            target = { target, features }: (!(target."arch" == "wasm32"));
+            features = [ "net" "time" ];
+          }
+          {
+            name = "tokio-rustls";
+            packageId = "tokio-rustls";
+            optional = true;
+            target = { target, features }: (!(target."arch" == "wasm32"));
+          }
+          {
+            name = "url";
+            packageId = "url";
+          }
+          {
+            name = "wasm-bindgen";
+            packageId = "wasm-bindgen";
+            target = { target, features }: (target."arch" == "wasm32");
+            features = [ "serde-serialize" ];
+          }
+          {
+            name = "wasm-bindgen-futures";
+            packageId = "wasm-bindgen-futures";
+            target = { target, features }: (target."arch" == "wasm32");
+          }
+          {
+            name = "web-sys";
+            packageId = "web-sys";
+            target = { target, features }: (target."arch" == "wasm32");
+            features = [ "Headers" "Request" "RequestInit" "RequestMode" "Response" "Window" "FormData" "Blob" "BlobPropertyBag" "ServiceWorkerGlobalScope" "RequestCredentials" ];
+          }
+          {
+            name = "webpki-roots";
+            packageId = "webpki-roots";
+            optional = true;
+            target = { target, features }: (!(target."arch" == "wasm32"));
+          }
+          {
+            name = "winreg";
+            packageId = "winreg";
+            target = { target, features }: (target."windows" or false);
+          }
+        ];
+        devDependencies = [
+          {
+            name = "hyper";
+            packageId = "hyper";
+            usesDefaultFeatures = false;
+            target = {target, features}: (!(target."arch" == "wasm32"));
+            features = [ "tcp" "stream" "http1" "http2" "client" "server" "runtime" ];
+          }
+          {
+            name = "serde";
+            packageId = "serde";
+            target = {target, features}: (!(target."arch" == "wasm32"));
+            features = [ "derive" ];
+          }
+          {
+            name = "tokio";
+            packageId = "tokio";
+            usesDefaultFeatures = false;
+            target = {target, features}: (!(target."arch" == "wasm32"));
+            features = [ "macros" "rt-multi-thread" ];
+          }
+        ];
+        features = {
+          "__rustls" = [ "hyper-rustls" "tokio-rustls" "rustls" "__tls" ];
+          "blocking" = [ "futures-util/io" "tokio/rt-multi-thread" "tokio/sync" ];
+          "brotli" = [ "async-compression" "async-compression/brotli" "tokio-util" ];
+          "cookies" = [ "cookie_crate" "cookie_store" "time" ];
+          "default" = [ "default-tls" ];
+          "default-tls" = [ "hyper-tls" "native-tls-crate" "__tls" "tokio-native-tls" ];
+          "deflate" = [ "async-compression" "async-compression/zlib" "tokio-util" ];
+          "gzip" = [ "async-compression" "async-compression/gzip" "tokio-util" ];
+          "json" = [ "serde_json" ];
+          "multipart" = [ "mime_guess" ];
+          "native-tls" = [ "default-tls" ];
+          "native-tls-alpn" = [ "native-tls" "native-tls-crate/alpn" ];
+          "native-tls-vendored" = [ "native-tls" "native-tls-crate/vendored" ];
+          "rustls-tls" = [ "rustls-tls-webpki-roots" ];
+          "rustls-tls-manual-roots" = [ "__rustls" ];
+          "rustls-tls-native-roots" = [ "rustls-native-certs" "__rustls" ];
+          "rustls-tls-webpki-roots" = [ "webpki-roots" "__rustls" ];
+          "socks" = [ "tokio-socks" ];
+          "trust-dns" = [ "trust-dns-resolver" ];
+        };
+        resolvedDefaultFeatures = [ "__rustls" "__tls" "blocking" "hyper-rustls" "json" "rustls" "rustls-tls" "rustls-tls-webpki-roots" "serde_json" "tokio-rustls" "webpki-roots" ];
+      };
+      "retain_mut" = rec {
+        crateName = "retain_mut";
+        version = "0.1.3";
+        edition = "2015";
+        sha256 = "0nvfimwjidjfj50k2lh2xplc179zzsz8dlh38s52jz82m4jpkhg9";
+        authors = [
+          "Xidorn Quan <me@upsuper.org>"
+        ];
+
+      };
+      "ring" = rec {
+        crateName = "ring";
+        version = "0.16.20";
+        edition = "2018";
+        sha256 = "1z682xp7v38ayq9g9nkbhhfpj6ygralmlx7wdmsfv8rnw99cylrh";
+        authors = [
+          "Brian Smith <brian@briansmith.org>"
+        ];
+        dependencies = [
+          {
+            name = "libc";
+            packageId = "libc";
+            usesDefaultFeatures = false;
+            target = { target, features }: ((target."os" == "android") || (target."os" == "linux"));
+          }
+          {
+            name = "once_cell";
+            packageId = "once_cell";
+            optional = true;
+            usesDefaultFeatures = false;
+            target = { target, features }: ((target."os" == "android") || (target."os" == "linux"));
+            features = [ "std" ];
+          }
+          {
+            name = "once_cell";
+            packageId = "once_cell";
+            usesDefaultFeatures = false;
+            target = { target, features }: ((target."os" == "dragonfly") || (target."os" == "freebsd") || (target."os" == "illumos") || (target."os" == "netbsd") || (target."os" == "openbsd") || (target."os" == "solaris"));
+            features = [ "std" ];
+          }
+          {
+            name = "spin";
+            packageId = "spin";
+            usesDefaultFeatures = false;
+            target = { target, features }: ((target."arch" == "x86") || (target."arch" == "x86_64") || (((target."arch" == "aarch64") || (target."arch" == "arm")) && ((target."os" == "android") || (target."os" == "fuchsia") || (target."os" == "linux"))));
+          }
+          {
+            name = "untrusted";
+            packageId = "untrusted";
+          }
+          {
+            name = "web-sys";
+            packageId = "web-sys";
+            usesDefaultFeatures = false;
+            target = { target, features }: ((target."arch" == "wasm32") && (target."vendor" == "unknown") && (target."os" == "unknown") && (target."env" == ""));
+            features = [ "Crypto" "Window" ];
+          }
+          {
+            name = "winapi";
+            packageId = "winapi";
+            usesDefaultFeatures = false;
+            target = { target, features }: (target."os" == "windows");
+            features = [ "ntsecapi" "wtypesbase" ];
+          }
+        ];
+        buildDependencies = [
+          {
+            name = "cc";
+            packageId = "cc";
+            usesDefaultFeatures = false;
+          }
+        ];
+        devDependencies = [
+          {
+            name = "libc";
+            packageId = "libc";
+            usesDefaultFeatures = false;
+            target = {target, features}: ((target."unix" or false) || (target."windows" or false));
+          }
+        ];
+        features = {
+          "default" = [ "alloc" "dev_urandom_fallback" ];
+          "dev_urandom_fallback" = [ "once_cell" ];
+          "std" = [ "alloc" ];
+        };
+        resolvedDefaultFeatures = [ "alloc" "default" "dev_urandom_fallback" "once_cell" ];
+      };
+      "roaring" = rec {
+        crateName = "roaring";
+        version = "0.6.7";
+        edition = "2018";
+        sha256 = "02capyx1axzi621ipnlm2ff7v6w4f1wnvygdd6pbi263by4glv2k";
+        authors = [
+          "Wim Looman <wim@nemo157.com>"
+          "Kerollmops <kero@meilisearch.com>"
+        ];
+        dependencies = [
+          {
+            name = "bytemuck";
+            packageId = "bytemuck";
+          }
+          {
+            name = "byteorder";
+            packageId = "byteorder";
+          }
+          {
+            name = "retain_mut";
+            packageId = "retain_mut";
+          }
+        ];
+
+      };
+      "rustc-demangle" = rec {
+        crateName = "rustc-demangle";
+        version = "0.1.20";
+        edition = "2015";
+        sha256 = "0jcdh4zanli1r4pcfj5ah1xcbxv87vh02syb9f0rqgp0nnq71bfy";
+        authors = [
+          "Alex Crichton <alex@alexcrichton.com>"
+        ];
+        features = {
+          "rustc-dep-of-std" = [ "core" "compiler_builtins" ];
+        };
+      };
+      "rustc_version 0.2.3" = rec {
+        crateName = "rustc_version";
+        version = "0.2.3";
+        edition = "2015";
+        sha256 = "02h3x57lcr8l2pm0a645s9whdh33pn5cnrwvn5cb57vcrc53x3hk";
+        authors = [
+          "Marvin Löbel <loebel.marvin@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "semver";
+            packageId = "semver 0.9.0";
+          }
+        ];
+
+      };
+      "rustc_version 0.3.3" = rec {
+        crateName = "rustc_version";
+        version = "0.3.3";
+        edition = "2018";
+        sha256 = "1vjmw7xcdri0spsf24mkpwpph853wrbqppihhw061i2igh4f5pzh";
+        authors = [
+          "Marvin Löbel <loebel.marvin@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "semver";
+            packageId = "semver 0.11.0";
+          }
+        ];
+
+      };
+      "rustls" = rec {
+        crateName = "rustls";
+        version = "0.19.1";
+        edition = "2018";
+        sha256 = "1mx6nzbplydy9khll4clsl35m6c1a2cgz9czr74swfgfzrsvdv9m";
+        authors = [
+          "Joseph Birr-Pixton <jpixton@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "base64";
+            packageId = "base64";
+          }
+          {
+            name = "log";
+            packageId = "log";
+            optional = true;
+          }
+          {
+            name = "ring";
+            packageId = "ring";
+          }
+          {
+            name = "sct";
+            packageId = "sct";
+          }
+          {
+            name = "webpki";
+            packageId = "webpki";
+          }
+        ];
+        devDependencies = [
+          {
+            name = "log";
+            packageId = "log";
+          }
+        ];
+        features = {
+          "default" = [ "logging" ];
+          "logging" = [ "log" ];
+        };
+        resolvedDefaultFeatures = [ "dangerous_configuration" "default" "log" "logging" ];
+      };
+      "rustversion" = rec {
+        crateName = "rustversion";
+        version = "1.0.5";
+        edition = "2018";
+        sha256 = "1250m7ymrhp3c5xfmliskmknhf23r7x3cirxy9wmrdwbfnfr1cv1";
+        procMacro = true;
+        build = "build/build.rs";
+        authors = [
+          "David Tolnay <dtolnay@gmail.com>"
+        ];
+
+      };
+      "ryu" = rec {
+        crateName = "ryu";
+        version = "1.0.5";
+        edition = "2018";
+        sha256 = "0vpqv1dj7fksa6hm3zpk5rbsjs0ifbfy7xwzsyyil0rx37a03lvi";
+        authors = [
+          "David Tolnay <dtolnay@gmail.com>"
+        ];
+        features = {
+        };
+      };
+      "same-file" = rec {
+        crateName = "same-file";
+        version = "1.0.6";
+        edition = "2018";
+        sha256 = "00h5j1w87dmhnvbv9l8bic3y7xxsnjmssvifw2ayvgx9mb1ivz4k";
+        authors = [
+          "Andrew Gallant <jamslam@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "winapi-util";
+            packageId = "winapi-util";
+            target = { target, features }: (target."windows" or false);
+          }
+        ];
+
+      };
+      "scopeguard" = rec {
+        crateName = "scopeguard";
+        version = "1.1.0";
+        edition = "2015";
+        sha256 = "1kbqm85v43rq92vx7hfiay6pmcga03vrjbbfwqpyj3pwsg3b16nj";
+        authors = [
+          "bluss"
+        ];
+        features = {
+          "default" = [ "use_std" ];
+        };
+      };
+      "sct" = rec {
+        crateName = "sct";
+        version = "0.6.1";
+        edition = "2018";
+        sha256 = "1ki8qa7yf4d9i4ynsfvwwkpnnqw0m8ayx0jva4w9zrp0k0wbhqmk";
+        authors = [
+          "Joseph Birr-Pixton <jpixton@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "ring";
+            packageId = "ring";
+          }
+          {
+            name = "untrusted";
+            packageId = "untrusted";
+          }
+        ];
+
+      };
+      "semver 0.11.0" = rec {
+        crateName = "semver";
+        version = "0.11.0";
+        edition = "2015";
+        sha256 = "1dn6064fipjymnmjccyjhb70miyvqvp08gvw1wbg8vbg4c8ay0gk";
+        authors = [
+          "Steve Klabnik <steve@steveklabnik.com>"
+          "The Rust Project Developers"
+        ];
+        dependencies = [
+          {
+            name = "semver-parser";
+            packageId = "semver-parser 0.10.2";
+          }
+        ];
+        features = {
+          "ci" = [ "serde" "diesel/sqlite" ];
+        };
+        resolvedDefaultFeatures = [ "default" ];
+      };
+      "semver 0.9.0" = rec {
+        crateName = "semver";
+        version = "0.9.0";
+        edition = "2015";
+        sha256 = "00q4lkcj0rrgbhviv9sd4p6qmdsipkwkbra7rh11jrhq5kpvjzhx";
+        authors = [
+          "Steve Klabnik <steve@steveklabnik.com>"
+          "The Rust Project Developers"
+        ];
+        dependencies = [
+          {
+            name = "semver-parser";
+            packageId = "semver-parser 0.7.0";
+          }
+        ];
+        features = {
+          "ci" = [ "serde" ];
+        };
+        resolvedDefaultFeatures = [ "default" ];
+      };
+      "semver-parser 0.10.2" = rec {
+        crateName = "semver-parser";
+        version = "0.10.2";
+        edition = "2018";
+        crateBin = [];
+        sha256 = "1xqijhqhx3bn77xnl1mlcp032hz8nv7n2fbdacbdzq7rnzsvxc00";
+        authors = [
+          "Steve Klabnik <steve@steveklabnik.com>"
+        ];
+        dependencies = [
+          {
+            name = "pest";
+            packageId = "pest";
+          }
+        ];
+
+      };
+      "semver-parser 0.7.0" = rec {
+        crateName = "semver-parser";
+        version = "0.7.0";
+        edition = "2015";
+        sha256 = "18vhypw6zgccnrlm5ps1pwa0khz7ry927iznpr88b87cagr1v2iq";
+        authors = [
+          "Steve Klabnik <steve@steveklabnik.com>"
+        ];
+
+      };
+      "sentry" = rec {
+        crateName = "sentry";
+        version = "0.22.0";
+        edition = "2018";
+        sha256 = "1d22kgsvj5pj0x6n1vx70n5ygnh1bfic76pgw8c606670xdl4z7j";
+        authors = [
+          "Sentry <hello@sentry.io>"
+        ];
+        dependencies = [
+          {
+            name = "httpdate";
+            packageId = "httpdate 0.3.2";
+            optional = true;
+          }
+          {
+            name = "reqwest";
+            packageId = "reqwest";
+            rename = "reqwest_";
+            optional = true;
+            usesDefaultFeatures = false;
+            features = [ "blocking" "json" ];
+          }
+          {
+            name = "sentry-backtrace";
+            packageId = "sentry-backtrace";
+            optional = true;
+          }
+          {
+            name = "sentry-contexts";
+            packageId = "sentry-contexts";
+            optional = true;
+          }
+          {
+            name = "sentry-core";
+            packageId = "sentry-core";
+            features = [ "client" ];
+          }
+          {
+            name = "sentry-log";
+            packageId = "sentry-log";
+            optional = true;
+          }
+          {
+            name = "sentry-panic";
+            packageId = "sentry-panic";
+            optional = true;
+          }
+        ];
+        features = {
+          "anyhow" = [ "sentry-anyhow" ];
+          "backtrace" = [ "sentry-backtrace" ];
+          "contexts" = [ "sentry-contexts" ];
+          "curl" = [ "curl_" "httpdate" "serde_json" ];
+          "debug-images" = [ "sentry-debug-images" ];
+          "debug-logs" = [ "log_" "sentry-core/debug-logs" ];
+          "default" = [ "backtrace" "contexts" "panic" "transport" ];
+          "log" = [ "sentry-log" ];
+          "native-tls" = [ "reqwest_/default-tls" ];
+          "panic" = [ "sentry-panic" ];
+          "reqwest" = [ "reqwest_" "httpdate" ];
+          "rustls" = [ "reqwest_/rustls-tls" ];
+          "slog" = [ "sentry-slog" ];
+          "surf" = [ "surf_" "httpdate" "futures" ];
+          "test" = [ "sentry-core/test" ];
+          "transport" = [ "reqwest" "native-tls" ];
+        };
+        resolvedDefaultFeatures = [ "backtrace" "contexts" "httpdate" "log" "panic" "reqwest" "reqwest_" "rustls" "sentry-backtrace" "sentry-contexts" "sentry-log" "sentry-panic" ];
+      };
+      "sentry-backtrace" = rec {
+        crateName = "sentry-backtrace";
+        version = "0.22.0";
+        edition = "2018";
+        sha256 = "0cx7bhmnb0sm1s0423409y8biikzbn0ykwx5mar2a3hapvcvk9c0";
+        authors = [
+          "Sentry <hello@sentry.io>"
+        ];
+        dependencies = [
+          {
+            name = "backtrace";
+            packageId = "backtrace";
+          }
+          {
+            name = "lazy_static";
+            packageId = "lazy_static";
+          }
+          {
+            name = "regex";
+            packageId = "regex";
+          }
+          {
+            name = "sentry-core";
+            packageId = "sentry-core";
+          }
+        ];
+
+      };
+      "sentry-contexts" = rec {
+        crateName = "sentry-contexts";
+        version = "0.22.0";
+        edition = "2018";
+        sha256 = "1q5wx5nhvl7acqh9hgc6b51s2anbypsa3y9bgm1bfblvvq9b4414";
+        authors = [
+          "Sentry <hello@sentry.io>"
+        ];
+        dependencies = [
+          {
+            name = "hostname";
+            packageId = "hostname";
+          }
+          {
+            name = "lazy_static";
+            packageId = "lazy_static";
+          }
+          {
+            name = "libc";
+            packageId = "libc";
+          }
+          {
+            name = "regex";
+            packageId = "regex";
+          }
+          {
+            name = "sentry-core";
+            packageId = "sentry-core";
+          }
+          {
+            name = "uname";
+            packageId = "uname";
+            target = { target, features }: (!(target."windows" or false));
+          }
+        ];
+        buildDependencies = [
+          {
+            name = "rustc_version";
+            packageId = "rustc_version 0.3.3";
+          }
+        ];
+
+      };
+      "sentry-core" = rec {
+        crateName = "sentry-core";
+        version = "0.22.0";
+        edition = "2018";
+        sha256 = "0d0cdbzaqkg4h5qb5z02r70fvjzz42c74pg6804m9dac71g4ignb";
+        authors = [
+          "Sentry <hello@sentry.io>"
+        ];
+        dependencies = [
+          {
+            name = "lazy_static";
+            packageId = "lazy_static";
+          }
+          {
+            name = "rand";
+            packageId = "rand 0.8.4";
+            optional = true;
+          }
+          {
+            name = "sentry-types";
+            packageId = "sentry-types";
+          }
+          {
+            name = "serde";
+            packageId = "serde";
+            features = [ "derive" ];
+          }
+          {
+            name = "serde_json";
+            packageId = "serde_json";
+          }
+        ];
+        features = {
+          "client" = [ "rand" ];
+          "debug-logs" = [ "log_" ];
+          "test" = [ "client" ];
+        };
+        resolvedDefaultFeatures = [ "client" "default" "rand" ];
+      };
+      "sentry-log" = rec {
+        crateName = "sentry-log";
+        version = "0.22.0";
+        edition = "2018";
+        sha256 = "0q79q8qgrzah2kcmds67bbzrlwiriyghzm5c8brfa2j1fbv46wb4";
+        authors = [
+          "Sentry <hello@sentry.io>"
+        ];
+        dependencies = [
+          {
+            name = "log";
+            packageId = "log";
+            features = [ "std" ];
+          }
+          {
+            name = "sentry-core";
+            packageId = "sentry-core";
+          }
+        ];
+
+      };
+      "sentry-panic" = rec {
+        crateName = "sentry-panic";
+        version = "0.22.0";
+        edition = "2018";
+        sha256 = "145xm6x9ivq151q97wb6lkhbhqywfi48pb5rws80p984zxf1kkw9";
+        authors = [
+          "Sentry <hello@sentry.io>"
+        ];
+        dependencies = [
+          {
+            name = "sentry-backtrace";
+            packageId = "sentry-backtrace";
+          }
+          {
+            name = "sentry-core";
+            packageId = "sentry-core";
+          }
+        ];
+
+      };
+      "sentry-types" = rec {
+        crateName = "sentry-types";
+        version = "0.22.0";
+        edition = "2018";
+        sha256 = "13296k3jc56459myfri53p880wbbcw29csknmhw4bd45zxy7fpmw";
+        authors = [
+          "Sentry <hello@sentry.io>"
+        ];
+        dependencies = [
+          {
+            name = "chrono";
+            packageId = "chrono";
+            usesDefaultFeatures = false;
+            features = [ "clock" "std" "serde" ];
+          }
+          {
+            name = "debugid";
+            packageId = "debugid";
+            features = [ "serde" ];
+          }
+          {
+            name = "serde";
+            packageId = "serde";
+            features = [ "derive" ];
+          }
+          {
+            name = "serde_json";
+            packageId = "serde_json";
+          }
+          {
+            name = "thiserror";
+            packageId = "thiserror";
+          }
+          {
+            name = "url";
+            packageId = "url";
+            features = [ "serde" ];
+          }
+          {
+            name = "uuid";
+            packageId = "uuid";
+            features = [ "v4" "serde" ];
+          }
+        ];
+        features = {
+          "default" = [ "protocol" ];
+        };
+        resolvedDefaultFeatures = [ "default" "protocol" ];
+      };
+      "serde" = rec {
+        crateName = "serde";
+        version = "1.0.126";
+        edition = "2015";
+        sha256 = "00vdk7y3j8h2xv28a2i2ad1d19g5iwrdknbq8yp79v6axamhaxgc";
+        authors = [
+          "Erick Tryzelaar <erick.tryzelaar@gmail.com>"
+          "David Tolnay <dtolnay@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "serde_derive";
+            packageId = "serde_derive";
+            optional = true;
+          }
+        ];
+        devDependencies = [
+          {
+            name = "serde_derive";
+            packageId = "serde_derive";
+          }
+        ];
+        features = {
+          "default" = [ "std" ];
+          "derive" = [ "serde_derive" ];
+        };
+        resolvedDefaultFeatures = [ "default" "derive" "serde_derive" "std" ];
+      };
+      "serde_derive" = rec {
+        crateName = "serde_derive";
+        version = "1.0.126";
+        edition = "2015";
+        sha256 = "0hsdh39qj0g187nwndfzg67q4qajbm5g6x0fr5xarblmk2y7sfln";
+        procMacro = true;
+        authors = [
+          "Erick Tryzelaar <erick.tryzelaar@gmail.com>"
+          "David Tolnay <dtolnay@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "proc-macro2";
+            packageId = "proc-macro2 1.0.27";
+          }
+          {
+            name = "quote";
+            packageId = "quote 1.0.9";
+          }
+          {
+            name = "syn";
+            packageId = "syn 1.0.73";
+          }
+        ];
+        features = {
+        };
+        resolvedDefaultFeatures = [ "default" ];
+      };
+      "serde_json" = rec {
+        crateName = "serde_json";
+        version = "1.0.64";
+        edition = "2018";
+        sha256 = "0y9gk3yikncrc0zajmwc0pidr7zfwafawb4gidf6mqyskzf9g7kr";
+        authors = [
+          "Erick Tryzelaar <erick.tryzelaar@gmail.com>"
+          "David Tolnay <dtolnay@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "indexmap";
+            packageId = "indexmap";
+            optional = true;
+          }
+          {
+            name = "itoa";
+            packageId = "itoa";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "ryu";
+            packageId = "ryu";
+          }
+          {
+            name = "serde";
+            packageId = "serde";
+            usesDefaultFeatures = false;
+          }
+        ];
+        features = {
+          "alloc" = [ "serde/alloc" ];
+          "default" = [ "std" ];
+          "preserve_order" = [ "indexmap" ];
+          "std" = [ "serde/std" ];
+        };
+        resolvedDefaultFeatures = [ "default" "indexmap" "preserve_order" "std" ];
+      };
+      "serde_url_params" = rec {
+        crateName = "serde_url_params";
+        version = "0.2.1";
+        edition = "2018";
+        sha256 = "0d7vdpvsyv2q9aj71r3bd25grh4v253ixl785zrqlws00ryk0hrc";
+        authors = [
+          "boxdot <d@zerovolt.org>"
+        ];
+        dependencies = [
+          {
+            name = "serde";
+            packageId = "serde";
+          }
+          {
+            name = "url";
+            packageId = "url";
+          }
+        ];
+        devDependencies = [
+          {
+            name = "serde";
+            packageId = "serde";
+            features = [ "derive" ];
+          }
+        ];
+
+      };
+      "serde_urlencoded" = rec {
+        crateName = "serde_urlencoded";
+        version = "0.7.0";
+        edition = "2018";
+        sha256 = "1s9wnjrak5a0igfhcghhz51kvi7n010j5rs9lmhd5hfrz2kmgypd";
+        authors = [
+          "Anthony Ramine <n.oxyde@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "form_urlencoded";
+            packageId = "form_urlencoded";
+          }
+          {
+            name = "itoa";
+            packageId = "itoa";
+          }
+          {
+            name = "ryu";
+            packageId = "ryu";
+          }
+          {
+            name = "serde";
+            packageId = "serde";
+          }
+        ];
+
+      };
+      "serdeval" = rec {
+        crateName = "serdeval";
+        version = "0.1.0";
+        edition = "2018";
+        sha256 = "1l1bwsz58ldn9cqj1ax9qy071aza8jgw028zkayshj6msggkl0ll";
+        dependencies = [
+          {
+            name = "serde";
+            packageId = "serde";
+          }
+        ];
+
+      };
+      "sha-1 0.8.2" = rec {
+        crateName = "sha-1";
+        version = "0.8.2";
+        edition = "2015";
+        sha256 = "1pv387q0r7llk2cqzyq0nivzvkgqgzsiygqzlv7b68z9xl5lvngp";
+        libName = "sha1";
+        authors = [
+          "RustCrypto Developers"
+        ];
+        dependencies = [
+          {
+            name = "block-buffer";
+            packageId = "block-buffer 0.7.3";
+          }
+          {
+            name = "digest";
+            packageId = "digest 0.8.1";
+          }
+          {
+            name = "fake-simd";
+            packageId = "fake-simd";
+          }
+          {
+            name = "opaque-debug";
+            packageId = "opaque-debug 0.2.3";
+          }
+        ];
+        devDependencies = [
+          {
+            name = "digest";
+            packageId = "digest 0.8.1";
+            features = [ "dev" ];
+          }
+        ];
+        features = {
+          "asm" = [ "sha1-asm" ];
+          "asm-aarch64" = [ "asm" "libc" ];
+          "default" = [ "std" ];
+          "std" = [ "digest/std" ];
+        };
+      };
+      "sha-1 0.9.6" = rec {
+        crateName = "sha-1";
+        version = "0.9.6";
+        edition = "2018";
+        sha256 = "05jfwssqvpcy0sr1pcdhdn9awalwsazclimbgzpx0cjq3isglk4c";
+        libName = "sha1";
+        authors = [
+          "RustCrypto Developers"
+        ];
+        dependencies = [
+          {
+            name = "block-buffer";
+            packageId = "block-buffer 0.9.0";
+          }
+          {
+            name = "cfg-if";
+            packageId = "cfg-if 1.0.0";
+          }
+          {
+            name = "cpufeatures";
+            packageId = "cpufeatures";
+            target = { target, features }: (stdenv.hostPlatform.config == "aarch64-apple-darwin");
+          }
+          {
+            name = "cpufeatures";
+            packageId = "cpufeatures";
+            target = { target, features }: ((target."arch" == "aarch64") && (target."os" == "linux"));
+          }
+          {
+            name = "cpufeatures";
+            packageId = "cpufeatures";
+            target = { target, features }: ((target."arch" == "x86") || (target."arch" == "x86_64"));
+          }
+          {
+            name = "digest";
+            packageId = "digest 0.9.0";
+          }
+          {
+            name = "opaque-debug";
+            packageId = "opaque-debug 0.3.0";
+          }
+        ];
+        devDependencies = [
+          {
+            name = "digest";
+            packageId = "digest 0.9.0";
+            features = [ "dev" ];
+          }
+        ];
+        features = {
+          "asm" = [ "sha1-asm" ];
+          "asm-aarch64" = [ "asm" ];
+          "default" = [ "std" ];
+          "std" = [ "digest/std" ];
+        };
+        resolvedDefaultFeatures = [ "default" "std" ];
+      };
+      "sha1" = rec {
+        crateName = "sha1";
+        version = "0.6.0";
+        edition = "2015";
+        sha256 = "03gs2q4m67rn2p8xcdfxhip6mpgahdwm12bnb3vh90ahv9grhy95";
+        authors = [
+          "Armin Ronacher <armin.ronacher@active-4.com>"
+        ];
+        features = {
+        };
+      };
+      "sha2" = rec {
+        crateName = "sha2";
+        version = "0.9.5";
+        edition = "2018";
+        sha256 = "04lzf4swq6cijvxnc6facr3g72h5v7a5z8lz3xrkf8gxa9bswqmk";
+        authors = [
+          "RustCrypto Developers"
+        ];
+        dependencies = [
+          {
+            name = "block-buffer";
+            packageId = "block-buffer 0.9.0";
+          }
+          {
+            name = "cfg-if";
+            packageId = "cfg-if 1.0.0";
+          }
+          {
+            name = "cpufeatures";
+            packageId = "cpufeatures";
+            target = { target, features }: (stdenv.hostPlatform.config == "aarch64-apple-darwin");
+          }
+          {
+            name = "cpufeatures";
+            packageId = "cpufeatures";
+            target = { target, features }: ((target."arch" == "aarch64") && (target."os" == "linux"));
+          }
+          {
+            name = "cpufeatures";
+            packageId = "cpufeatures";
+            target = { target, features }: ((target."arch" == "x86") || (target."arch" == "x86_64"));
+          }
+          {
+            name = "digest";
+            packageId = "digest 0.9.0";
+          }
+          {
+            name = "opaque-debug";
+            packageId = "opaque-debug 0.3.0";
+          }
+        ];
+        devDependencies = [
+          {
+            name = "digest";
+            packageId = "digest 0.9.0";
+            features = [ "dev" ];
+          }
+        ];
+        features = {
+          "asm" = [ "sha2-asm" ];
+          "asm-aarch64" = [ "asm" ];
+          "default" = [ "std" ];
+          "std" = [ "digest/std" ];
+        };
+        resolvedDefaultFeatures = [ "default" "std" ];
+      };
+      "signal-hook-registry" = rec {
+        crateName = "signal-hook-registry";
+        version = "1.4.0";
+        edition = "2015";
+        sha256 = "1c2mhijg54y6c1zi4630yki1vpq3z96ljfnsrdy0rb64ilr767p5";
+        authors = [
+          "Michal 'vorner' Vaner <vorner@vorner.cz>"
+          "Masaki Hara <ackie.h.gmai@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "libc";
+            packageId = "libc";
+          }
+        ];
+
+      };
+      "siphasher" = rec {
+        crateName = "siphasher";
+        version = "0.3.5";
+        edition = "2018";
+        sha256 = "09zzzdshn4rj1qkhsb9hz9qwp42jx5b6whwi42ba7r670x2nvknb";
+        authors = [
+          "Frank Denis <github@pureftpd.org>"
+        ];
+        features = {
+          "default" = [ "std" ];
+          "serde_no_std" = [ "serde/alloc" ];
+          "serde_std" = [ "std" "serde/std" ];
+        };
+        resolvedDefaultFeatures = [ "default" "std" ];
+      };
+      "slab" = rec {
+        crateName = "slab";
+        version = "0.4.3";
+        edition = "2015";
+        sha256 = "09v57dmy9gnfcj3c6gywp7wi09zywxf0ppj07w02hfvy38ysqwzi";
+        authors = [
+          "Carl Lerche <me@carllerche.com>"
+        ];
+        features = {
+          "default" = [ "std" ];
+        };
+        resolvedDefaultFeatures = [ "default" "std" ];
+      };
+      "slice-group-by" = rec {
+        crateName = "slice-group-by";
+        version = "0.2.6";
+        edition = "2018";
+        sha256 = "1yx765cnd8xz0f2ar7lmkn3bq5s6fisdjbmn18v2ilj6nvq78x0z";
+        authors = [
+          "Kerollmops <renault.cle@gmail.com>"
+        ];
+        features = {
+          "default" = [ "std" ];
+        };
+        resolvedDefaultFeatures = [ "default" "std" ];
+      };
+      "smallstr" = rec {
+        crateName = "smallstr";
+        version = "0.2.0";
+        edition = "2018";
+        sha256 = "0kxfwlpjg6l33glnckl1cnf2250sfa173q67zwlqfrv8s6a2g4hy";
+        authors = [
+          "Murarth <murarth@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "serde";
+            packageId = "serde";
+            optional = true;
+          }
+          {
+            name = "smallvec";
+            packageId = "smallvec";
+          }
+        ];
+        features = {
+          "union" = [ "smallvec/union" ];
+        };
+        resolvedDefaultFeatures = [ "serde" ];
+      };
+      "smallvec" = rec {
+        crateName = "smallvec";
+        version = "1.6.1";
+        edition = "2018";
+        sha256 = "0kk08axr0ybfbjzk65a41k84mb6sfhyajmfndaka9igkx34kf3zy";
+        authors = [
+          "The Servo Project Developers"
+        ];
+        features = {
+        };
+      };
+      "snap" = rec {
+        crateName = "snap";
+        version = "1.0.5";
+        edition = "2018";
+        sha256 = "0l8llidvm7dlwfw2ql6hk4b4byl9677fppwgl7i2wglqs6a60ia5";
+        authors = [
+          "Andrew Gallant <jamslam@gmail.com>"
+        ];
+
+      };
+      "socket2" = rec {
+        crateName = "socket2";
+        version = "0.4.0";
+        edition = "2018";
+        sha256 = "18ny6m1gnf6cwp5ax0b5hr36w6yg16z7faj76b31aq2jghhgqgcy";
+        authors = [
+          "Alex Crichton <alex@alexcrichton.com>"
+          "Thomas de Zeeuw <thomasdezeeuw@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "libc";
+            packageId = "libc";
+            target = { target, features }: (target."unix" or false);
+          }
+          {
+            name = "winapi";
+            packageId = "winapi";
+            target = { target, features }: (target."windows" or false);
+            features = [ "handleapi" "ws2ipdef" "ws2tcpip" ];
+          }
+        ];
+        features = {
+        };
+      };
+      "spin" = rec {
+        crateName = "spin";
+        version = "0.5.2";
+        edition = "2015";
+        sha256 = "0b84m6dbzrwf2kxylnw82d3dr8w06av7rfkr8s85fb5f43rwyqvf";
+        authors = [
+          "Mathijs van de Nes <git@mathijs.vd-nes.nl>"
+          "John Ericson <git@JohnEricson.me>"
+        ];
+
+      };
+      "standback" = rec {
+        crateName = "standback";
+        version = "0.2.17";
+        edition = "2018";
+        sha256 = "1zr8zy3kzryaggz3k0j4135m3zbd31pyqmja8cyj8yp07mpzn4z1";
+        authors = [
+          "Jacob Pratt <open-source@jhpratt.dev>"
+          "The Rust Project Developers"
+        ];
+        buildDependencies = [
+          {
+            name = "version_check";
+            packageId = "version_check";
+          }
+        ];
+        features = {
+          "default" = [ "std" ];
+        };
+        resolvedDefaultFeatures = [ "std" ];
+      };
+      "stdweb" = rec {
+        crateName = "stdweb";
+        version = "0.4.20";
+        edition = "2015";
+        sha256 = "1md14n9rzxzdskz3hpgln8vxfwqsw2cswc0f5nslh4r82rmlj8nh";
+        authors = [
+          "Jan Bujak <j@exia.io>"
+        ];
+        dependencies = [
+          {
+            name = "discard";
+            packageId = "discard";
+          }
+          {
+            name = "stdweb-derive";
+            packageId = "stdweb-derive";
+          }
+          {
+            name = "stdweb-internal-macros";
+            packageId = "stdweb-internal-macros";
+          }
+          {
+            name = "stdweb-internal-runtime";
+            packageId = "stdweb-internal-runtime";
+          }
+          {
+            name = "wasm-bindgen";
+            packageId = "wasm-bindgen";
+            target = { target, features }: ((target."arch" == "wasm32") && (target."vendor" == "unknown") && (target."os" == "unknown") && (!(target."cargo_web" or false)));
+          }
+        ];
+        buildDependencies = [
+          {
+            name = "rustc_version";
+            packageId = "rustc_version 0.2.3";
+          }
+        ];
+        features = {
+          "default" = [ "serde" "serde_json" ];
+          "experimental_features_which_may_break_on_minor_version_bumps" = [ "futures-support" ];
+          "futures-support" = [ "futures-core-preview" "futures-channel-preview" "futures-util-preview" "futures-executor-preview" ];
+        };
+      };
+      "stdweb-derive" = rec {
+        crateName = "stdweb-derive";
+        version = "0.5.3";
+        edition = "2015";
+        sha256 = "1vsh7g0gaxn4kxqq3knhymdn02p2pfxmnd2j0vplpj6c1yj60yn8";
+        procMacro = true;
+        authors = [
+          "Jan Bujak <j@exia.io>"
+        ];
+        dependencies = [
+          {
+            name = "proc-macro2";
+            packageId = "proc-macro2 1.0.27";
+          }
+          {
+            name = "quote";
+            packageId = "quote 1.0.9";
+          }
+          {
+            name = "serde";
+            packageId = "serde";
+          }
+          {
+            name = "serde_derive";
+            packageId = "serde_derive";
+          }
+          {
+            name = "syn";
+            packageId = "syn 1.0.73";
+            usesDefaultFeatures = false;
+            features = [ "derive" "parsing" "printing" ];
+          }
+        ];
+
+      };
+      "stdweb-internal-macros" = rec {
+        crateName = "stdweb-internal-macros";
+        version = "0.2.9";
+        edition = "2015";
+        sha256 = "049fq8fl5ny9l5if2qv7kxwng7g6ns95h4fbm3zx360dmpv5zyjq";
+        procMacro = true;
+        authors = [
+          "Jan Bujak <j@exia.io>"
+        ];
+        dependencies = [
+          {
+            name = "base-x";
+            packageId = "base-x";
+          }
+          {
+            name = "proc-macro2";
+            packageId = "proc-macro2 1.0.27";
+          }
+          {
+            name = "quote";
+            packageId = "quote 1.0.9";
+          }
+          {
+            name = "serde";
+            packageId = "serde";
+          }
+          {
+            name = "serde_derive";
+            packageId = "serde_derive";
+          }
+          {
+            name = "serde_json";
+            packageId = "serde_json";
+          }
+          {
+            name = "sha1";
+            packageId = "sha1";
+          }
+          {
+            name = "syn";
+            packageId = "syn 1.0.73";
+            usesDefaultFeatures = false;
+            features = [ "full" "parsing" "printing" "clone-impls" ];
+          }
+        ];
+
+      };
+      "stdweb-internal-runtime" = rec {
+        crateName = "stdweb-internal-runtime";
+        version = "0.1.5";
+        edition = "2015";
+        sha256 = "1h0nkppb4r8dbrbms2hw9n5xdcs392m0r5hj3b6lsx3h6fx02dr1";
+        authors = [
+          "Jan Bujak <j@exia.io>"
+        ];
+        features = {
+        };
+        resolvedDefaultFeatures = [ "default" ];
+      };
+      "strsim" = rec {
+        crateName = "strsim";
+        version = "0.8.0";
+        edition = "2015";
+        sha256 = "0sjsm7hrvjdifz661pjxq5w4hf190hx53fra8dfvamacvff139cf";
+        authors = [
+          "Danny Guo <dannyguo91@gmail.com>"
+        ];
+
+      };
+      "structopt" = rec {
+        crateName = "structopt";
+        version = "0.3.21";
+        edition = "2018";
+        sha256 = "136j0lvjmpv5syi751vxg8vb30gfyv4k81x8d18kxrj6xvbsqxsj";
+        authors = [
+          "Guillaume Pinot <texitoi@texitoi.eu>"
+          "others"
+        ];
+        dependencies = [
+          {
+            name = "clap";
+            packageId = "clap";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "lazy_static";
+            packageId = "lazy_static";
+          }
+          {
+            name = "structopt-derive";
+            packageId = "structopt-derive";
+          }
+        ];
+        features = {
+          "color" = [ "clap/color" ];
+          "debug" = [ "clap/debug" ];
+          "default" = [ "clap/default" ];
+          "doc" = [ "clap/doc" ];
+          "lints" = [ "clap/lints" ];
+          "no_cargo" = [ "clap/no_cargo" ];
+          "paw" = [ "structopt-derive/paw" "paw_dep" ];
+          "suggestions" = [ "clap/suggestions" ];
+          "wrap_help" = [ "clap/wrap_help" ];
+          "yaml" = [ "clap/yaml" ];
+        };
+        resolvedDefaultFeatures = [ "default" ];
+      };
+      "structopt-derive" = rec {
+        crateName = "structopt-derive";
+        version = "0.4.14";
+        edition = "2018";
+        sha256 = "143gjwvz3s86hwp070km83y25n8kqp5f01kb1dr19f4ilkywvaav";
+        procMacro = true;
+        authors = [
+          "Guillaume Pinot <texitoi@texitoi.eu>"
+        ];
+        dependencies = [
+          {
+            name = "heck";
+            packageId = "heck";
+          }
+          {
+            name = "proc-macro-error";
+            packageId = "proc-macro-error";
+          }
+          {
+            name = "proc-macro2";
+            packageId = "proc-macro2 1.0.27";
+          }
+          {
+            name = "quote";
+            packageId = "quote 1.0.9";
+          }
+          {
+            name = "syn";
+            packageId = "syn 1.0.73";
+            features = [ "full" ];
+          }
+        ];
+        features = {
+        };
+      };
+      "syn 0.15.44" = rec {
+        crateName = "syn";
+        version = "0.15.44";
+        edition = "2015";
+        sha256 = "1id5g6x6zihv3j7hwrw3m1jp636bg8dpi671r7zy3jvpkavb794w";
+        authors = [
+          "David Tolnay <dtolnay@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "proc-macro2";
+            packageId = "proc-macro2 0.4.30";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "quote";
+            packageId = "quote 0.6.13";
+            optional = true;
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "unicode-xid";
+            packageId = "unicode-xid 0.1.0";
+          }
+        ];
+        features = {
+          "default" = [ "derive" "parsing" "printing" "clone-impls" "proc-macro" ];
+          "printing" = [ "quote" ];
+          "proc-macro" = [ "proc-macro2/proc-macro" "quote/proc-macro" ];
+        };
+        resolvedDefaultFeatures = [ "clone-impls" "default" "derive" "full" "parsing" "printing" "proc-macro" "quote" ];
+      };
+      "syn 1.0.73" = rec {
+        crateName = "syn";
+        version = "1.0.73";
+        edition = "2018";
+        sha256 = "1ixw4lscc7009ibaic8g5bvnc94hdcr62ksjk3jjl38363zqj57p";
+        authors = [
+          "David Tolnay <dtolnay@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "proc-macro2";
+            packageId = "proc-macro2 1.0.27";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "quote";
+            packageId = "quote 1.0.9";
+            optional = true;
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "unicode-xid";
+            packageId = "unicode-xid 0.2.2";
+          }
+        ];
+        features = {
+          "default" = [ "derive" "parsing" "printing" "clone-impls" "proc-macro" ];
+          "printing" = [ "quote" ];
+          "proc-macro" = [ "proc-macro2/proc-macro" "quote/proc-macro" ];
+          "test" = [ "syn-test-suite/all-features" ];
+        };
+        resolvedDefaultFeatures = [ "clone-impls" "default" "derive" "extra-traits" "full" "parsing" "printing" "proc-macro" "quote" "visit" "visit-mut" ];
+      };
+      "synchronoise" = rec {
+        crateName = "synchronoise";
+        version = "1.0.0";
+        edition = "2015";
+        sha256 = "1szasv8xl6z3gxfq8h8wllw2mq53d71nn29achxsnfcxzh7fs5yp";
+        authors = [
+          "QuietMisdreavus <grey@quietmisdreavus.net>"
+        ];
+        dependencies = [
+          {
+            name = "crossbeam-queue";
+            packageId = "crossbeam-queue";
+          }
+        ];
+
+      };
+      "synstructure" = rec {
+        crateName = "synstructure";
+        version = "0.12.4";
+        edition = "2018";
+        sha256 = "00c72ij813xsilssgya6m6f73d0s5zzsld1y26bvhk3kdzbg4d5q";
+        authors = [
+          "Nika Layzell <nika@thelayzells.com>"
+        ];
+        dependencies = [
+          {
+            name = "proc-macro2";
+            packageId = "proc-macro2 1.0.27";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "quote";
+            packageId = "quote 1.0.9";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "syn";
+            packageId = "syn 1.0.73";
+            usesDefaultFeatures = false;
+            features = [ "derive" "parsing" "printing" "clone-impls" "visit" "extra-traits" ];
+          }
+          {
+            name = "unicode-xid";
+            packageId = "unicode-xid 0.2.2";
+          }
+        ];
+        features = {
+          "default" = [ "proc-macro" ];
+          "proc-macro" = [ "proc-macro2/proc-macro" "syn/proc-macro" "quote/proc-macro" ];
+        };
+        resolvedDefaultFeatures = [ "default" "proc-macro" ];
+      };
+      "tar" = rec {
+        crateName = "tar";
+        version = "0.4.35";
+        edition = "2018";
+        sha256 = "100v082cda6g8a237vrnpf075pqr7z46wrhgawa960pzmv39sxvx";
+        authors = [
+          "Alex Crichton <alex@alexcrichton.com>"
+        ];
+        dependencies = [
+          {
+            name = "filetime";
+            packageId = "filetime";
+          }
+          {
+            name = "libc";
+            packageId = "libc";
+            target = { target, features }: (target."unix" or false);
+          }
+          {
+            name = "xattr";
+            packageId = "xattr";
+            optional = true;
+            target = { target, features }: (target."unix" or false);
+          }
+        ];
+        features = {
+          "default" = [ "xattr" ];
+        };
+        resolvedDefaultFeatures = [ "default" "xattr" ];
+      };
+      "tempdir" = rec {
+        crateName = "tempdir";
+        version = "0.3.7";
+        edition = "2015";
+        sha256 = "1n5n86zxpgd85y0mswrp5cfdisizq2rv3la906g6ipyc03xvbwhm";
+        authors = [
+          "The Rust Project Developers"
+        ];
+        dependencies = [
+          {
+            name = "rand";
+            packageId = "rand 0.4.6";
+          }
+          {
+            name = "remove_dir_all";
+            packageId = "remove_dir_all";
+          }
+        ];
+
+      };
+      "tempfile" = rec {
+        crateName = "tempfile";
+        version = "3.2.0";
+        edition = "2018";
+        sha256 = "08pbf3c1i42382dc44dil5bgiawcsi0qk6zdibw10f69rxiwdhfs";
+        authors = [
+          "Steven Allen <steven@stebalien.com>"
+          "The Rust Project Developers"
+          "Ashley Mannix <ashleymannix@live.com.au>"
+          "Jason White <jasonaw0@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "cfg-if";
+            packageId = "cfg-if 1.0.0";
+          }
+          {
+            name = "libc";
+            packageId = "libc";
+            target = { target, features }: (target."unix" or false);
+          }
+          {
+            name = "rand";
+            packageId = "rand 0.8.4";
+          }
+          {
+            name = "redox_syscall";
+            packageId = "redox_syscall";
+            target = { target, features }: (target."os" == "redox");
+          }
+          {
+            name = "remove_dir_all";
+            packageId = "remove_dir_all";
+          }
+          {
+            name = "winapi";
+            packageId = "winapi";
+            target = { target, features }: (target."windows" or false);
+            features = [ "fileapi" "handleapi" "winbase" ];
+          }
+        ];
+
+      };
+      "termcolor" = rec {
+        crateName = "termcolor";
+        version = "1.1.2";
+        edition = "2018";
+        sha256 = "1x65i1ny4m6z1by62ra6wdcrd557p2ysm866x0pg60zby2cxizid";
+        authors = [
+          "Andrew Gallant <jamslam@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "winapi-util";
+            packageId = "winapi-util";
+            target = { target, features }: (target."windows" or false);
+          }
+        ];
+
+      };
+      "textwrap" = rec {
+        crateName = "textwrap";
+        version = "0.11.0";
+        edition = "2015";
+        sha256 = "0q5hky03ik3y50s9sz25r438bc4nwhqc6dqwynv4wylc807n29nk";
+        authors = [
+          "Martin Geisler <martin@geisler.net>"
+        ];
+        dependencies = [
+          {
+            name = "unicode-width";
+            packageId = "unicode-width";
+          }
+        ];
+
+      };
+      "thiserror" = rec {
+        crateName = "thiserror";
+        version = "1.0.25";
+        edition = "2018";
+        sha256 = "1ip9j8riar3xffp261yls4phpasz768xhnafxdz4qlargx2pcvzs";
+        authors = [
+          "David Tolnay <dtolnay@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "thiserror-impl";
+            packageId = "thiserror-impl";
+          }
+        ];
+
+      };
+      "thiserror-impl" = rec {
+        crateName = "thiserror-impl";
+        version = "1.0.25";
+        edition = "2018";
+        sha256 = "139i3bxidyncjd1sphkn4c577nkba8lzmphhr9gb26xz1y67cdla";
+        procMacro = true;
+        authors = [
+          "David Tolnay <dtolnay@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "proc-macro2";
+            packageId = "proc-macro2 1.0.27";
+          }
+          {
+            name = "quote";
+            packageId = "quote 1.0.9";
+          }
+          {
+            name = "syn";
+            packageId = "syn 1.0.73";
+          }
+        ];
+
+      };
+      "time 0.1.44" = rec {
+        crateName = "time";
+        version = "0.1.44";
+        edition = "2015";
+        sha256 = "0m9jwy2pcmk232r3b9r80fs12mkckfjffjha4qfaxcdq9a8ydfbd";
+        authors = [
+          "The Rust Project Developers"
+        ];
+        dependencies = [
+          {
+            name = "libc";
+            packageId = "libc";
+          }
+          {
+            name = "wasi";
+            packageId = "wasi 0.10.0+wasi-snapshot-preview1";
+            target = { target, features }: (target."os" == "wasi");
+          }
+          {
+            name = "winapi";
+            packageId = "winapi";
+            target = { target, features }: (target."windows" or false);
+            features = [ "std" "minwinbase" "minwindef" "ntdef" "profileapi" "sysinfoapi" "timezoneapi" ];
+          }
+        ];
+        devDependencies = [
+          {
+            name = "winapi";
+            packageId = "winapi";
+            features = [ "std" "processthreadsapi" "winbase" ];
+          }
+        ];
+
+      };
+      "time 0.2.27" = rec {
+        crateName = "time";
+        version = "0.2.27";
+        edition = "2018";
+        sha256 = "0hm209d078jfgxzjhi5xqim64q31rlj1h70zz57qbmpbirzsjlj7";
+        authors = [
+          "Jacob Pratt <the.z.cuber@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "const_fn";
+            packageId = "const_fn";
+          }
+          {
+            name = "libc";
+            packageId = "libc";
+            optional = true;
+            target = { target, features }: (target."unix" or false);
+          }
+          {
+            name = "standback";
+            packageId = "standback";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "stdweb";
+            packageId = "stdweb";
+            optional = true;
+            usesDefaultFeatures = false;
+            target = { target, features }: (target."arch" == "wasm32");
+          }
+          {
+            name = "time-macros";
+            packageId = "time-macros";
+          }
+          {
+            name = "winapi";
+            packageId = "winapi";
+            optional = true;
+            target = { target, features }: (target."windows" or false);
+            features = [ "minwinbase" "minwindef" "timezoneapi" ];
+          }
+        ];
+        buildDependencies = [
+          {
+            name = "version_check";
+            packageId = "version_check";
+          }
+        ];
+        devDependencies = [
+          {
+            name = "standback";
+            packageId = "standback";
+          }
+        ];
+        features = {
+          "default" = [ "deprecated" "std" ];
+          "std" = [ "libc" "winapi" "stdweb" "standback/std" ];
+        };
+        resolvedDefaultFeatures = [ "libc" "std" "stdweb" "winapi" ];
+      };
+      "time-macros" = rec {
+        crateName = "time-macros";
+        version = "0.1.1";
+        edition = "2018";
+        sha256 = "1wg24yxpxcfmim6dgblrf8p321m7cyxpdivzvp8bcb7i4rp9qzlm";
+        authors = [
+          "Jacob Pratt <the.z.cuber@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "proc-macro-hack";
+            packageId = "proc-macro-hack";
+          }
+          {
+            name = "time-macros-impl";
+            packageId = "time-macros-impl";
+          }
+        ];
+
+      };
+      "time-macros-impl" = rec {
+        crateName = "time-macros-impl";
+        version = "0.1.2";
+        edition = "2018";
+        sha256 = "0bs8xc3qbndk4nw6vwnmh5bwail6vwji4hd1aqzly6a33cd18g7x";
+        procMacro = true;
+        authors = [
+          "Jacob Pratt <the.z.cuber@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "proc-macro-hack";
+            packageId = "proc-macro-hack";
+          }
+          {
+            name = "proc-macro2";
+            packageId = "proc-macro2 1.0.27";
+          }
+          {
+            name = "quote";
+            packageId = "quote 1.0.9";
+          }
+          {
+            name = "standback";
+            packageId = "standback";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "syn";
+            packageId = "syn 1.0.73";
+            usesDefaultFeatures = false;
+            features = [ "proc-macro" "parsing" "printing" ];
+          }
+        ];
+
+      };
+      "tinytemplate" = rec {
+        crateName = "tinytemplate";
+        version = "1.1.0";
+        edition = "2015";
+        sha256 = "0by1k1hdz6jgv4ykd0izirwsm6p3qb6s9g1jb4ffqg500ihcfgbd";
+        authors = [
+          "Brook Heisler <brookheisler@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "serde";
+            packageId = "serde";
+          }
+          {
+            name = "serde_json";
+            packageId = "serde_json";
+          }
+        ];
+
+      };
+      "tinyvec" = rec {
+        crateName = "tinyvec";
+        version = "1.2.0";
+        edition = "2018";
+        sha256 = "0hn3fkpb9nca9nf9znz2dxlp4ccv37hnbh67aczpzpmpbgq20ljv";
+        authors = [
+          "Lokathor <zefria@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "tinyvec_macros";
+            packageId = "tinyvec_macros";
+            optional = true;
+          }
+        ];
+        features = {
+          "alloc" = [ "tinyvec_macros" ];
+        };
+        resolvedDefaultFeatures = [ "alloc" "default" "tinyvec_macros" ];
+      };
+      "tinyvec_macros" = rec {
+        crateName = "tinyvec_macros";
+        version = "0.1.0";
+        edition = "2018";
+        sha256 = "0p5zvgbas5nh403fbxica819mf3g83n8g2hzpfazfr56w6klv9yd";
+        authors = [
+          "Soveu <marx.tomasz@gmail.com>"
+        ];
+
+      };
+      "tokio" = rec {
+        crateName = "tokio";
+        version = "1.7.1";
+        edition = "2018";
+        sha256 = "18jw744lajnn82xbharaq522llw6py1zwm6wlpvikfwk881fvcjz";
+        authors = [
+          "Tokio Contributors <team@tokio.rs>"
+        ];
+        dependencies = [
+          {
+            name = "bytes";
+            packageId = "bytes 1.0.1";
+            optional = true;
+          }
+          {
+            name = "libc";
+            packageId = "libc";
+            optional = true;
+            target = { target, features }: (target."unix" or false);
+          }
+          {
+            name = "memchr";
+            packageId = "memchr";
+            optional = true;
+          }
+          {
+            name = "mio";
+            packageId = "mio";
+            optional = true;
+          }
+          {
+            name = "num_cpus";
+            packageId = "num_cpus";
+            optional = true;
+          }
+          {
+            name = "once_cell";
+            packageId = "once_cell";
+            optional = true;
+          }
+          {
+            name = "parking_lot";
+            packageId = "parking_lot";
+            optional = true;
+          }
+          {
+            name = "pin-project-lite";
+            packageId = "pin-project-lite";
+          }
+          {
+            name = "signal-hook-registry";
+            packageId = "signal-hook-registry";
+            optional = true;
+            target = { target, features }: (target."unix" or false);
+          }
+          {
+            name = "tokio-macros";
+            packageId = "tokio-macros";
+            optional = true;
+          }
+          {
+            name = "winapi";
+            packageId = "winapi";
+            optional = true;
+            usesDefaultFeatures = false;
+            target = { target, features }: (target."windows" or false);
+          }
+        ];
+        buildDependencies = [
+          {
+            name = "autocfg";
+            packageId = "autocfg";
+          }
+        ];
+        devDependencies = [
+          {
+            name = "libc";
+            packageId = "libc";
+            target = {target, features}: (target."unix" or false);
+          }
+        ];
+        features = {
+          "full" = [ "fs" "io-util" "io-std" "macros" "net" "parking_lot" "process" "rt" "rt-multi-thread" "signal" "sync" "time" ];
+          "io-util" = [ "memchr" "bytes" ];
+          "macros" = [ "tokio-macros" ];
+          "net" = [ "libc" "mio/os-poll" "mio/os-util" "mio/tcp" "mio/udp" "mio/uds" "winapi/namedpipeapi" ];
+          "process" = [ "bytes" "once_cell" "libc" "mio/os-poll" "mio/os-util" "mio/uds" "signal-hook-registry" "winapi/threadpoollegacyapiset" ];
+          "rt-multi-thread" = [ "num_cpus" "rt" ];
+          "signal" = [ "once_cell" "libc" "mio/os-poll" "mio/uds" "mio/os-util" "signal-hook-registry" "winapi/consoleapi" ];
+        };
+        resolvedDefaultFeatures = [ "bytes" "default" "fs" "full" "io-std" "io-util" "libc" "macros" "memchr" "mio" "net" "num_cpus" "once_cell" "parking_lot" "process" "rt" "rt-multi-thread" "signal" "signal-hook-registry" "sync" "time" "tokio-macros" "winapi" ];
+      };
+      "tokio-macros" = rec {
+        crateName = "tokio-macros";
+        version = "1.2.0";
+        edition = "2018";
+        sha256 = "0drws4ji260pmbv5afb72mb1ql6qamkm0wk40j3gpnj173s3v7n4";
+        procMacro = true;
+        authors = [
+          "Tokio Contributors <team@tokio.rs>"
+        ];
+        dependencies = [
+          {
+            name = "proc-macro2";
+            packageId = "proc-macro2 1.0.27";
+          }
+          {
+            name = "quote";
+            packageId = "quote 1.0.9";
+          }
+          {
+            name = "syn";
+            packageId = "syn 1.0.73";
+            features = [ "full" ];
+          }
+        ];
+
+      };
+      "tokio-rustls" = rec {
+        crateName = "tokio-rustls";
+        version = "0.22.0";
+        edition = "2018";
+        sha256 = "1dp1s2kai081f3fn9gjq92x2lw7lm7iqpcsl02cg2zg5fbg48s5w";
+        authors = [
+          "quininer kel <quininer@live.com>"
+        ];
+        dependencies = [
+          {
+            name = "rustls";
+            packageId = "rustls";
+          }
+          {
+            name = "tokio";
+            packageId = "tokio";
+          }
+          {
+            name = "webpki";
+            packageId = "webpki";
+          }
+        ];
+        devDependencies = [
+          {
+            name = "tokio";
+            packageId = "tokio";
+            features = [ "full" ];
+          }
+        ];
+        features = {
+          "dangerous_configuration" = [ "rustls/dangerous_configuration" ];
+        };
+      };
+      "tokio-util" = rec {
+        crateName = "tokio-util";
+        version = "0.6.7";
+        edition = "2018";
+        sha256 = "14imdf24bng2ynsxa9hvmcx65h4xm75zib5mavdlk84lil60pahw";
+        authors = [
+          "Tokio Contributors <team@tokio.rs>"
+        ];
+        dependencies = [
+          {
+            name = "bytes";
+            packageId = "bytes 1.0.1";
+          }
+          {
+            name = "futures-core";
+            packageId = "futures-core";
+          }
+          {
+            name = "futures-sink";
+            packageId = "futures-sink";
+          }
+          {
+            name = "log";
+            packageId = "log";
+          }
+          {
+            name = "pin-project-lite";
+            packageId = "pin-project-lite";
+          }
+          {
+            name = "tokio";
+            packageId = "tokio";
+            features = [ "sync" ];
+          }
+        ];
+        devDependencies = [
+          {
+            name = "tokio";
+            packageId = "tokio";
+            features = [ "full" ];
+          }
+        ];
+        features = {
+          "__docs_rs" = [ "futures-util" ];
+          "compat" = [ "futures-io" ];
+          "full" = [ "codec" "compat" "io" "time" "net" "rt" ];
+          "net" = [ "tokio/net" ];
+          "rt" = [ "tokio/rt" ];
+          "time" = [ "tokio/time" "slab" ];
+        };
+        resolvedDefaultFeatures = [ "codec" "default" "io" ];
+      };
+      "toml" = rec {
+        crateName = "toml";
+        version = "0.5.8";
+        edition = "2018";
+        sha256 = "1apcmjrrjw429pjw7mqlmdwwd67g8305vwqy4kw3swr612bl44d3";
+        authors = [
+          "Alex Crichton <alex@alexcrichton.com>"
+        ];
+        dependencies = [
+          {
+            name = "serde";
+            packageId = "serde";
+          }
+        ];
+        features = {
+          "preserve_order" = [ "indexmap" ];
+        };
+        resolvedDefaultFeatures = [ "default" ];
+      };
+      "tower-service" = rec {
+        crateName = "tower-service";
+        version = "0.3.1";
+        edition = "2018";
+        sha256 = "1iih764s3f6vlkspfmr72fkrs2lw1v3wiqmc6bd5zq1hdlfzs39n";
+        authors = [
+          "Tower Maintainers <team@tower-rs.com>"
+        ];
+
+      };
+      "tracing" = rec {
+        crateName = "tracing";
+        version = "0.1.26";
+        edition = "2018";
+        sha256 = "17dqjhixmnbrk0c99ydb3b9pygjnzfb7yhlasb6134s4jy6fpb89";
+        authors = [
+          "Eliza Weisman <eliza@buoyant.io>"
+          "Tokio Contributors <team@tokio.rs>"
+        ];
+        dependencies = [
+          {
+            name = "cfg-if";
+            packageId = "cfg-if 1.0.0";
+          }
+          {
+            name = "pin-project-lite";
+            packageId = "pin-project-lite";
+          }
+          {
+            name = "tracing-core";
+            packageId = "tracing-core";
+            usesDefaultFeatures = false;
+          }
+        ];
+        features = {
+          "attributes" = [ "tracing-attributes" ];
+          "default" = [ "std" "attributes" ];
+          "log-always" = [ "log" ];
+          "std" = [ "tracing-core/std" ];
+        };
+        resolvedDefaultFeatures = [ "std" ];
+      };
+      "tracing-core" = rec {
+        crateName = "tracing-core";
+        version = "0.1.18";
+        edition = "2018";
+        sha256 = "0lm0li6lx75jgbbgxsb45439257sqb0j7828caf2hjqsigwi9zx9";
+        authors = [
+          "Tokio Contributors <team@tokio.rs>"
+        ];
+        dependencies = [
+          {
+            name = "lazy_static";
+            packageId = "lazy_static";
+            optional = true;
+          }
+        ];
+        features = {
+          "default" = [ "std" ];
+          "std" = [ "lazy_static" ];
+        };
+        resolvedDefaultFeatures = [ "lazy_static" "std" ];
+      };
+      "treeline" = rec {
+        crateName = "treeline";
+        version = "0.1.0";
+        edition = "2015";
+        sha256 = "0hcdgyk5xzcx2ylm0fr9czzs9cjznm7l9q5qz51qi97i82r43xx7";
+        authors = [
+          "softprops <d.tangren@gmail.com>"
+        ];
+
+      };
+      "try-lock" = rec {
+        crateName = "try-lock";
+        version = "0.2.3";
+        edition = "2015";
+        sha256 = "0hkn1ksmg5hdqgqdw1ahy5qk69f4crh2psf0v61qphyrf777nm2r";
+        authors = [
+          "Sean McArthur <sean@seanmonstar.com>"
+        ];
+
+      };
+      "typenum" = rec {
+        crateName = "typenum";
+        version = "1.13.0";
+        edition = "2018";
+        sha256 = "01lbbspn4080yg8wp6y7q3xcqih1c1dmkkx4pwax4z1a9436k7w7";
+        build = "build/main.rs";
+        authors = [
+          "Paho Lurie-Gregg <paho@paholg.com>"
+          "Andre Bogus <bogusandre@gmail.com>"
+        ];
+        features = {
+        };
+      };
+      "ucd-trie" = rec {
+        crateName = "ucd-trie";
+        version = "0.1.3";
+        edition = "2018";
+        sha256 = "072cblf8v3wzyaz3lhbpzgil4s03dpzg1ppy3gqx2l4v622y3pjn";
+        authors = [
+          "Andrew Gallant <jamslam@gmail.com>"
+        ];
+        features = {
+          "default" = [ "std" ];
+        };
+        resolvedDefaultFeatures = [ "default" "std" ];
+      };
+      "uname" = rec {
+        crateName = "uname";
+        version = "0.1.1";
+        edition = "2015";
+        sha256 = "1j1xd1rryml4j1hf07kahva9d5ym8m9jz9z20hfdpr1jrbq8jbxp";
+        authors = [
+          "Ignacio Corderi <icorderi@msn.com>"
+        ];
+        dependencies = [
+          {
+            name = "libc";
+            packageId = "libc";
+          }
+        ];
+
+      };
+      "unicase" = rec {
+        crateName = "unicase";
+        version = "2.6.0";
+        edition = "2015";
+        sha256 = "1xmlbink4ycgxrkjspp0mf7pghcx4m7vxq7fpfm04ikr2zk7pwsh";
+        authors = [
+          "Sean McArthur <sean@seanmonstar.com>"
+        ];
+        buildDependencies = [
+          {
+            name = "version_check";
+            packageId = "version_check";
+          }
+        ];
+        features = {
+        };
+      };
+      "unicode-bidi" = rec {
+        crateName = "unicode-bidi";
+        version = "0.3.5";
+        edition = "2018";
+        sha256 = "1q07h5kp9jszwf0bkrpa1v5wmv04dv920x3w2xy6pjdikchbxf7f";
+        libName = "unicode_bidi";
+        authors = [
+          "The Servo Project Developers"
+        ];
+        dependencies = [
+          {
+            name = "matches";
+            packageId = "matches";
+          }
+        ];
+        features = {
+          "flame_it" = [ "flame" "flamer" ];
+          "with_serde" = [ "serde" ];
+        };
+        resolvedDefaultFeatures = [ "default" ];
+      };
+      "unicode-normalization" = rec {
+        crateName = "unicode-normalization";
+        version = "0.1.19";
+        edition = "2018";
+        sha256 = "1yabhmg8zlcksda3ajly9hpbzqgbhknxwch8dwkfkaa1569r0ifm";
+        authors = [
+          "kwantam <kwantam@gmail.com>"
+          "Manish Goregaokar <manishsmail@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "tinyvec";
+            packageId = "tinyvec";
+            features = [ "alloc" ];
+          }
+        ];
+        features = {
+          "default" = [ "std" ];
+        };
+        resolvedDefaultFeatures = [ "default" "std" ];
+      };
+      "unicode-segmentation" = rec {
+        crateName = "unicode-segmentation";
+        version = "1.7.1";
+        edition = "2015";
+        sha256 = "15n736z0pbj30pj44jb9s9rjavzrmx8v8pzdgsl5yfmfwrxjw3dv";
+        authors = [
+          "kwantam <kwantam@gmail.com>"
+          "Manish Goregaokar <manishsmail@gmail.com>"
+        ];
+        features = {
+        };
+      };
+      "unicode-width" = rec {
+        crateName = "unicode-width";
+        version = "0.1.8";
+        edition = "2015";
+        sha256 = "1qxizyi6xbcqyi4z79p523ywvmgsfcgfqb3zv3c8i6x1jcc5jdwk";
+        authors = [
+          "kwantam <kwantam@gmail.com>"
+          "Manish Goregaokar <manishsmail@gmail.com>"
+        ];
+        features = {
+          "rustc-dep-of-std" = [ "std" "core" "compiler_builtins" ];
+        };
+        resolvedDefaultFeatures = [ "default" ];
+      };
+      "unicode-xid 0.1.0" = rec {
+        crateName = "unicode-xid";
+        version = "0.1.0";
+        edition = "2015";
+        sha256 = "1z57lqh4s18rr4x0j4fw4fmp9hf9346h0kmdgqsqx0fhjr3k0wpw";
+        authors = [
+          "erick.tryzelaar <erick.tryzelaar@gmail.com>"
+          "kwantam <kwantam@gmail.com>"
+        ];
+        features = {
+        };
+        resolvedDefaultFeatures = [ "default" ];
+      };
+      "unicode-xid 0.2.2" = rec {
+        crateName = "unicode-xid";
+        version = "0.2.2";
+        edition = "2015";
+        sha256 = "1wrkgcw557v311dkdb6n2hrix9dm2qdsb1zpw7pn79l03zb85jwc";
+        authors = [
+          "erick.tryzelaar <erick.tryzelaar@gmail.com>"
+          "kwantam <kwantam@gmail.com>"
+          "Manish Goregaokar <manishsmail@gmail.com>"
+        ];
+        features = {
+        };
+        resolvedDefaultFeatures = [ "default" ];
+      };
+      "untrusted" = rec {
+        crateName = "untrusted";
+        version = "0.7.1";
+        edition = "2018";
+        sha256 = "0jkbqaj9d3v5a91pp3wp9mffvng1nhycx6sh4qkdd9qyr62ccmm1";
+        libPath = "src/untrusted.rs";
+        authors = [
+          "Brian Smith <brian@briansmith.org>"
+        ];
+
+      };
+      "url" = rec {
+        crateName = "url";
+        version = "2.2.2";
+        edition = "2018";
+        sha256 = "132pzpvfvpw33gjlzqd55n5iag9qddzffq8qbp1myfykna1w61x5";
+        authors = [
+          "The rust-url developers"
+        ];
+        dependencies = [
+          {
+            name = "form_urlencoded";
+            packageId = "form_urlencoded";
+          }
+          {
+            name = "idna";
+            packageId = "idna";
+          }
+          {
+            name = "matches";
+            packageId = "matches";
+          }
+          {
+            name = "percent-encoding";
+            packageId = "percent-encoding";
+          }
+          {
+            name = "serde";
+            packageId = "serde";
+            optional = true;
+            features = [ "derive" ];
+          }
+        ];
+
+        resolvedDefaultFeatures = [ "serde" ];
+      };
+      "urlencoding" = rec {
+        crateName = "urlencoding";
+        version = "1.3.3";
+        edition = "2018";
+        sha256 = "1yqgq2qigm1s8zyv23j0422j4vn20ppnnizx9b7p629sw1sh27ss";
+        authors = [
+          "Kornel <kornel@geekhood.net>"
+          "Bertram Truong <b@bertramtruong.com>"
+        ];
+
+      };
+      "utf8-width" = rec {
+        crateName = "utf8-width";
+        version = "0.1.5";
+        edition = "2018";
+        sha256 = "0ax3y087ga8r2aap2h36jhmcapfvbly97mac3shxzy3y8mzxgxvw";
+        authors = [
+          "Magic Len <len@magiclen.org>"
+        ];
+
+      };
+      "uuid" = rec {
+        crateName = "uuid";
+        version = "0.8.2";
+        edition = "2018";
+        sha256 = "1dy4ldcp7rnzjy56dxh7d2sgrcvn4q77y0a8r0a48946h66zjp5w";
+        authors = [
+          "Ashley Mannix<ashleymannix@live.com.au>"
+          "Christopher Armstrong"
+          "Dylan DPC<dylan.dpc@gmail.com>"
+          "Hunar Roop Kahlon<hunar.roop@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "getrandom";
+            packageId = "getrandom 0.2.3";
+            optional = true;
+          }
+          {
+            name = "serde";
+            packageId = "serde";
+            optional = true;
+            usesDefaultFeatures = false;
+          }
+        ];
+        features = {
+          "default" = [ "std" ];
+          "guid" = [ "winapi" ];
+          "stdweb" = [ "getrandom" "getrandom/js" ];
+          "v3" = [ "md5" ];
+          "v4" = [ "getrandom" ];
+          "v5" = [ "sha1" ];
+          "wasm-bindgen" = [ "getrandom" "getrandom/js" ];
+        };
+        resolvedDefaultFeatures = [ "default" "getrandom" "serde" "std" "v4" ];
+      };
+      "vcpkg" = rec {
+        crateName = "vcpkg";
+        version = "0.2.15";
+        edition = "2015";
+        sha256 = "09i4nf5y8lig6xgj3f7fyrvzd3nlaw4znrihw8psidvv5yk4xkdc";
+        authors = [
+          "Jim McGrath <jimmc2@gmail.com>"
+        ];
+
+      };
+      "vec_map" = rec {
+        crateName = "vec_map";
+        version = "0.8.2";
+        edition = "2015";
+        sha256 = "1481w9g1dw9rxp3l6snkdqihzyrd2f8vispzqmwjwsdyhw8xzggi";
+        authors = [
+          "Alex Crichton <alex@alexcrichton.com>"
+          "Jorge Aparicio <japaricious@gmail.com>"
+          "Alexis Beingessner <a.beingessner@gmail.com>"
+          "Brian Anderson <>"
+          "tbu- <>"
+          "Manish Goregaokar <>"
+          "Aaron Turon <aturon@mozilla.com>"
+          "Adolfo Ochagavía <>"
+          "Niko Matsakis <>"
+          "Steven Fackler <>"
+          "Chase Southwood <csouth3@illinois.edu>"
+          "Eduard Burtescu <>"
+          "Florian Wilkens <>"
+          "Félix Raimundo <>"
+          "Tibor Benke <>"
+          "Markus Siemens <markus@m-siemens.de>"
+          "Josh Branchaud <jbranchaud@gmail.com>"
+          "Huon Wilson <dbau.pp@gmail.com>"
+          "Corey Farwell <coref@rwell.org>"
+          "Aaron Liblong <>"
+          "Nick Cameron <nrc@ncameron.org>"
+          "Patrick Walton <pcwalton@mimiga.net>"
+          "Felix S Klock II <>"
+          "Andrew Paseltiner <apaseltiner@gmail.com>"
+          "Sean McArthur <sean.monstar@gmail.com>"
+          "Vadim Petrochenkov <>"
+        ];
+        features = {
+          "eders" = [ "serde" ];
+        };
+      };
+      "vergen" = rec {
+        crateName = "vergen";
+        version = "5.1.15";
+        edition = "2018";
+        sha256 = "0g1zz5qp3rw2sv5xfka8yh06km674mg8sz7h2fms2mccn2m5am16";
+        authors = [
+          "Jason Ozias <jason.g.ozias@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "anyhow";
+            packageId = "anyhow";
+          }
+          {
+            name = "cfg-if";
+            packageId = "cfg-if 1.0.0";
+          }
+          {
+            name = "chrono";
+            packageId = "chrono";
+            optional = true;
+          }
+          {
+            name = "enum-iterator";
+            packageId = "enum-iterator";
+          }
+          {
+            name = "getset";
+            packageId = "getset";
+          }
+          {
+            name = "git2";
+            packageId = "git2";
+            optional = true;
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "thiserror";
+            packageId = "thiserror";
+          }
+        ];
+        buildDependencies = [
+          {
+            name = "chrono";
+            packageId = "chrono";
+          }
+          {
+            name = "rustversion";
+            packageId = "rustversion";
+          }
+        ];
+        features = {
+          "build" = [ "chrono" ];
+          "default" = [ "build" "cargo" "git" "rustc" "si" ];
+          "git" = [ "chrono" "git2" ];
+          "rustc" = [ "rustc_version" ];
+          "si" = [ "sysinfo" ];
+        };
+        resolvedDefaultFeatures = [ "chrono" "git" "git2" ];
+      };
+      "version_check" = rec {
+        crateName = "version_check";
+        version = "0.9.3";
+        edition = "2015";
+        sha256 = "1zmkcgj2m0pq0l4wnhrp1wl1lygf7x2h5p7pvjwc4719lnlxrv2z";
+        authors = [
+          "Sergio Benitez <sb@sergio.bz>"
+        ];
+
+      };
+      "walkdir" = rec {
+        crateName = "walkdir";
+        version = "2.3.2";
+        edition = "2018";
+        sha256 = "0mnszy33685v8y9js8mw6x2p3iddqs8vfj7n2dhqddnlbirz5340";
+        authors = [
+          "Andrew Gallant <jamslam@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "same-file";
+            packageId = "same-file";
+          }
+          {
+            name = "winapi";
+            packageId = "winapi";
+            target = { target, features }: (target."windows" or false);
+            features = [ "std" "winnt" ];
+          }
+          {
+            name = "winapi-util";
+            packageId = "winapi-util";
+            target = { target, features }: (target."windows" or false);
+          }
+        ];
+
+      };
+      "want" = rec {
+        crateName = "want";
+        version = "0.3.0";
+        edition = "2018";
+        sha256 = "181b2zmwfq389x9n2g1n37cvcvvdand832zz6v8i1l8wrdlaks0w";
+        authors = [
+          "Sean McArthur <sean@seanmonstar.com>"
+        ];
+        dependencies = [
+          {
+            name = "log";
+            packageId = "log";
+          }
+          {
+            name = "try-lock";
+            packageId = "try-lock";
+          }
+        ];
+
+      };
+      "wasi 0.10.0+wasi-snapshot-preview1" = rec {
+        crateName = "wasi";
+        version = "0.10.0+wasi-snapshot-preview1";
+        edition = "2018";
+        sha256 = "07y3l8mzfzzz4cj09c8y90yak4hpsi9g7pllyzpr6xvwrabka50s";
+        authors = [
+          "The Cranelift Project Developers"
+        ];
+        features = {
+          "default" = [ "std" ];
+          "rustc-dep-of-std" = [ "compiler_builtins" "core" "rustc-std-workspace-alloc" ];
+        };
+        resolvedDefaultFeatures = [ "default" "std" ];
+      };
+      "wasi 0.9.0+wasi-snapshot-preview1" = rec {
+        crateName = "wasi";
+        version = "0.9.0+wasi-snapshot-preview1";
+        edition = "2018";
+        sha256 = "06g5v3vrdapfzvfq662cij7v8a1flwr2my45nnncdv2galrdzkfc";
+        authors = [
+          "The Cranelift Project Developers"
+        ];
+        features = {
+          "default" = [ "std" ];
+          "rustc-dep-of-std" = [ "compiler_builtins" "core" "rustc-std-workspace-alloc" ];
+        };
+        resolvedDefaultFeatures = [ "default" "std" ];
+      };
+      "wasm-bindgen" = rec {
+        crateName = "wasm-bindgen";
+        version = "0.2.74";
+        edition = "2018";
+        sha256 = "1zcp57mwb47vdw3r594cl7vbj6pwd503xrkq8a3phvs8xpaf2knm";
+        authors = [
+          "The wasm-bindgen Developers"
+        ];
+        dependencies = [
+          {
+            name = "cfg-if";
+            packageId = "cfg-if 1.0.0";
+          }
+          {
+            name = "serde";
+            packageId = "serde";
+            optional = true;
+          }
+          {
+            name = "serde_json";
+            packageId = "serde_json";
+            optional = true;
+          }
+          {
+            name = "wasm-bindgen-macro";
+            packageId = "wasm-bindgen-macro";
+          }
+        ];
+        features = {
+          "default" = [ "spans" "std" ];
+          "enable-interning" = [ "std" ];
+          "serde-serialize" = [ "serde" "serde_json" "std" ];
+          "spans" = [ "wasm-bindgen-macro/spans" ];
+          "strict-macro" = [ "wasm-bindgen-macro/strict-macro" ];
+          "xxx_debug_only_print_generated_code" = [ "wasm-bindgen-macro/xxx_debug_only_print_generated_code" ];
+        };
+        resolvedDefaultFeatures = [ "default" "serde" "serde-serialize" "serde_json" "spans" "std" ];
+      };
+      "wasm-bindgen-backend" = rec {
+        crateName = "wasm-bindgen-backend";
+        version = "0.2.74";
+        edition = "2018";
+        sha256 = "005ra6jc8pm1y2wi6swkvn34r2is3knv5f2dv59ymkscd6hgccrv";
+        authors = [
+          "The wasm-bindgen Developers"
+        ];
+        dependencies = [
+          {
+            name = "bumpalo";
+            packageId = "bumpalo";
+          }
+          {
+            name = "lazy_static";
+            packageId = "lazy_static";
+          }
+          {
+            name = "log";
+            packageId = "log";
+          }
+          {
+            name = "proc-macro2";
+            packageId = "proc-macro2 1.0.27";
+          }
+          {
+            name = "quote";
+            packageId = "quote 1.0.9";
+          }
+          {
+            name = "syn";
+            packageId = "syn 1.0.73";
+            features = [ "full" ];
+          }
+          {
+            name = "wasm-bindgen-shared";
+            packageId = "wasm-bindgen-shared";
+          }
+        ];
+        features = {
+          "extra-traits" = [ "syn/extra-traits" ];
+        };
+        resolvedDefaultFeatures = [ "spans" ];
+      };
+      "wasm-bindgen-futures" = rec {
+        crateName = "wasm-bindgen-futures";
+        version = "0.4.24";
+        edition = "2018";
+        sha256 = "1wb75qgv91qjblv685hnka2fn3w4fp0wi05cs3i3rmbrqrw7kfjz";
+        authors = [
+          "The wasm-bindgen Developers"
+        ];
+        dependencies = [
+          {
+            name = "cfg-if";
+            packageId = "cfg-if 1.0.0";
+          }
+          {
+            name = "js-sys";
+            packageId = "js-sys";
+          }
+          {
+            name = "wasm-bindgen";
+            packageId = "wasm-bindgen";
+          }
+          {
+            name = "web-sys";
+            packageId = "web-sys";
+            target = { target, features }: (builtins.elem "atomics" targetFeatures);
+            features = [ "MessageEvent" "Worker" ];
+          }
+        ];
+        features = {
+          "futures-core-03-stream" = [ "futures-core" ];
+        };
+      };
+      "wasm-bindgen-macro" = rec {
+        crateName = "wasm-bindgen-macro";
+        version = "0.2.74";
+        edition = "2018";
+        sha256 = "1m4bn6wlzc2rkp693zgnn7kh05r5fm4w55l0igjy23s3c756k088";
+        procMacro = true;
+        authors = [
+          "The wasm-bindgen Developers"
+        ];
+        dependencies = [
+          {
+            name = "quote";
+            packageId = "quote 1.0.9";
+          }
+          {
+            name = "wasm-bindgen-macro-support";
+            packageId = "wasm-bindgen-macro-support";
+          }
+        ];
+        features = {
+          "spans" = [ "wasm-bindgen-macro-support/spans" ];
+          "strict-macro" = [ "wasm-bindgen-macro-support/strict-macro" ];
+        };
+        resolvedDefaultFeatures = [ "spans" ];
+      };
+      "wasm-bindgen-macro-support" = rec {
+        crateName = "wasm-bindgen-macro-support";
+        version = "0.2.74";
+        edition = "2018";
+        sha256 = "15vsk3q4jfk8ax4walc8vy3fgvrpkg86vjz2ym0z5ngk5xa428my";
+        authors = [
+          "The wasm-bindgen Developers"
+        ];
+        dependencies = [
+          {
+            name = "proc-macro2";
+            packageId = "proc-macro2 1.0.27";
+          }
+          {
+            name = "quote";
+            packageId = "quote 1.0.9";
+          }
+          {
+            name = "syn";
+            packageId = "syn 1.0.73";
+            features = [ "visit" "full" ];
+          }
+          {
+            name = "wasm-bindgen-backend";
+            packageId = "wasm-bindgen-backend";
+          }
+          {
+            name = "wasm-bindgen-shared";
+            packageId = "wasm-bindgen-shared";
+          }
+        ];
+        features = {
+          "extra-traits" = [ "syn/extra-traits" ];
+          "spans" = [ "wasm-bindgen-backend/spans" ];
+        };
+        resolvedDefaultFeatures = [ "spans" ];
+      };
+      "wasm-bindgen-shared" = rec {
+        crateName = "wasm-bindgen-shared";
+        version = "0.2.74";
+        edition = "2018";
+        sha256 = "0ksbnhjzvnsmzc1n18bs98swnrzrwxjrpx3clrsyv3pip1vgikyp";
+        authors = [
+          "The wasm-bindgen Developers"
+        ];
+
+      };
+      "web-sys" = rec {
+        crateName = "web-sys";
+        version = "0.3.51";
+        edition = "2018";
+        sha256 = "10p514z7zmwzxqll0z0zqhlswv3hadbrwais3l8zfgcz6xxl2a78";
+        authors = [
+          "The wasm-bindgen Developers"
+        ];
+        dependencies = [
+          {
+            name = "js-sys";
+            packageId = "js-sys";
+          }
+          {
+            name = "wasm-bindgen";
+            packageId = "wasm-bindgen";
+          }
+        ];
+        features = {
+          "AbortSignal" = [ "EventTarget" ];
+          "AnalyserNode" = [ "AudioNode" "EventTarget" ];
+          "Animation" = [ "EventTarget" ];
+          "AnimationEvent" = [ "Event" ];
+          "AnimationPlaybackEvent" = [ "Event" ];
+          "Attr" = [ "EventTarget" "Node" ];
+          "AudioBufferSourceNode" = [ "AudioNode" "AudioScheduledSourceNode" "EventTarget" ];
+          "AudioContext" = [ "BaseAudioContext" "EventTarget" ];
+          "AudioDestinationNode" = [ "AudioNode" "EventTarget" ];
+          "AudioNode" = [ "EventTarget" ];
+          "AudioProcessingEvent" = [ "Event" ];
+          "AudioScheduledSourceNode" = [ "AudioNode" "EventTarget" ];
+          "AudioStreamTrack" = [ "EventTarget" "MediaStreamTrack" ];
+          "AudioTrackList" = [ "EventTarget" ];
+          "AudioWorklet" = [ "Worklet" ];
+          "AudioWorkletGlobalScope" = [ "WorkletGlobalScope" ];
+          "AudioWorkletNode" = [ "AudioNode" "EventTarget" ];
+          "AuthenticatorAssertionResponse" = [ "AuthenticatorResponse" ];
+          "AuthenticatorAttestationResponse" = [ "AuthenticatorResponse" ];
+          "BaseAudioContext" = [ "EventTarget" ];
+          "BatteryManager" = [ "EventTarget" ];
+          "BeforeUnloadEvent" = [ "Event" ];
+          "BiquadFilterNode" = [ "AudioNode" "EventTarget" ];
+          "BlobEvent" = [ "Event" ];
+          "Bluetooth" = [ "EventTarget" ];
+          "BluetoothAdvertisingEvent" = [ "Event" ];
+          "BluetoothDevice" = [ "EventTarget" ];
+          "BluetoothPermissionResult" = [ "EventTarget" "PermissionStatus" ];
+          "BluetoothRemoteGattCharacteristic" = [ "EventTarget" ];
+          "BluetoothRemoteGattService" = [ "EventTarget" ];
+          "BroadcastChannel" = [ "EventTarget" ];
+          "CanvasCaptureMediaStream" = [ "EventTarget" "MediaStream" ];
+          "CdataSection" = [ "CharacterData" "EventTarget" "Node" "Text" ];
+          "ChannelMergerNode" = [ "AudioNode" "EventTarget" ];
+          "ChannelSplitterNode" = [ "AudioNode" "EventTarget" ];
+          "CharacterData" = [ "EventTarget" "Node" ];
+          "ChromeWorker" = [ "EventTarget" "Worker" ];
+          "Clipboard" = [ "EventTarget" ];
+          "ClipboardEvent" = [ "Event" ];
+          "CloseEvent" = [ "Event" ];
+          "Comment" = [ "CharacterData" "EventTarget" "Node" ];
+          "CompositionEvent" = [ "Event" "UiEvent" ];
+          "ConstantSourceNode" = [ "AudioNode" "AudioScheduledSourceNode" "EventTarget" ];
+          "ConvolverNode" = [ "AudioNode" "EventTarget" ];
+          "CssAnimation" = [ "Animation" "EventTarget" ];
+          "CssConditionRule" = [ "CssGroupingRule" "CssRule" ];
+          "CssCounterStyleRule" = [ "CssRule" ];
+          "CssFontFaceRule" = [ "CssRule" ];
+          "CssFontFeatureValuesRule" = [ "CssRule" ];
+          "CssGroupingRule" = [ "CssRule" ];
+          "CssImportRule" = [ "CssRule" ];
+          "CssKeyframeRule" = [ "CssRule" ];
+          "CssKeyframesRule" = [ "CssRule" ];
+          "CssMediaRule" = [ "CssConditionRule" "CssGroupingRule" "CssRule" ];
+          "CssNamespaceRule" = [ "CssRule" ];
+          "CssPageRule" = [ "CssRule" ];
+          "CssStyleRule" = [ "CssRule" ];
+          "CssStyleSheet" = [ "StyleSheet" ];
+          "CssSupportsRule" = [ "CssConditionRule" "CssGroupingRule" "CssRule" ];
+          "CssTransition" = [ "Animation" "EventTarget" ];
+          "CustomEvent" = [ "Event" ];
+          "DedicatedWorkerGlobalScope" = [ "EventTarget" "WorkerGlobalScope" ];
+          "DelayNode" = [ "AudioNode" "EventTarget" ];
+          "DeviceLightEvent" = [ "Event" ];
+          "DeviceMotionEvent" = [ "Event" ];
+          "DeviceOrientationEvent" = [ "Event" ];
+          "DeviceProximityEvent" = [ "Event" ];
+          "Document" = [ "EventTarget" "Node" ];
+          "DocumentFragment" = [ "EventTarget" "Node" ];
+          "DocumentTimeline" = [ "AnimationTimeline" ];
+          "DocumentType" = [ "EventTarget" "Node" ];
+          "DomMatrix" = [ "DomMatrixReadOnly" ];
+          "DomPoint" = [ "DomPointReadOnly" ];
+          "DomRect" = [ "DomRectReadOnly" ];
+          "DomRequest" = [ "EventTarget" ];
+          "DragEvent" = [ "Event" "MouseEvent" "UiEvent" ];
+          "DynamicsCompressorNode" = [ "AudioNode" "EventTarget" ];
+          "Element" = [ "EventTarget" "Node" ];
+          "ErrorEvent" = [ "Event" ];
+          "EventSource" = [ "EventTarget" ];
+          "ExtendableEvent" = [ "Event" ];
+          "ExtendableMessageEvent" = [ "Event" "ExtendableEvent" ];
+          "FetchEvent" = [ "Event" "ExtendableEvent" ];
+          "FetchObserver" = [ "EventTarget" ];
+          "File" = [ "Blob" ];
+          "FileReader" = [ "EventTarget" ];
+          "FileSystemDirectoryEntry" = [ "FileSystemEntry" ];
+          "FileSystemFileEntry" = [ "FileSystemEntry" ];
+          "FocusEvent" = [ "Event" "UiEvent" ];
+          "FontFaceSet" = [ "EventTarget" ];
+          "FontFaceSetLoadEvent" = [ "Event" ];
+          "GainNode" = [ "AudioNode" "EventTarget" ];
+          "GamepadAxisMoveEvent" = [ "Event" "GamepadEvent" ];
+          "GamepadButtonEvent" = [ "Event" "GamepadEvent" ];
+          "GamepadEvent" = [ "Event" ];
+          "GpuDevice" = [ "EventTarget" ];
+          "GpuUncapturedErrorEvent" = [ "Event" ];
+          "HashChangeEvent" = [ "Event" ];
+          "HtmlAnchorElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlAreaElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlAudioElement" = [ "Element" "EventTarget" "HtmlElement" "HtmlMediaElement" "Node" ];
+          "HtmlBaseElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlBodyElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlBrElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlButtonElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlCanvasElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlDListElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlDataElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlDataListElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlDetailsElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlDialogElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlDirectoryElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlDivElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlDocument" = [ "Document" "EventTarget" "Node" ];
+          "HtmlElement" = [ "Element" "EventTarget" "Node" ];
+          "HtmlEmbedElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlFieldSetElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlFontElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlFormControlsCollection" = [ "HtmlCollection" ];
+          "HtmlFormElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlFrameElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlFrameSetElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlHeadElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlHeadingElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlHrElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlHtmlElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlIFrameElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlImageElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlInputElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlLabelElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlLegendElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlLiElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlLinkElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlMapElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlMediaElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlMenuElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlMenuItemElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlMetaElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlMeterElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlModElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlOListElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlObjectElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlOptGroupElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlOptionElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlOptionsCollection" = [ "HtmlCollection" ];
+          "HtmlOutputElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlParagraphElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlParamElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlPictureElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlPreElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlProgressElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlQuoteElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlScriptElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlSelectElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlSlotElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlSourceElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlSpanElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlStyleElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlTableCaptionElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlTableCellElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlTableColElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlTableElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlTableRowElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlTableSectionElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlTemplateElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlTextAreaElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlTimeElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlTitleElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlTrackElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlUListElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlUnknownElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlVideoElement" = [ "Element" "EventTarget" "HtmlElement" "HtmlMediaElement" "Node" ];
+          "IdbCursorWithValue" = [ "IdbCursor" ];
+          "IdbDatabase" = [ "EventTarget" ];
+          "IdbFileHandle" = [ "EventTarget" ];
+          "IdbFileRequest" = [ "DomRequest" "EventTarget" ];
+          "IdbLocaleAwareKeyRange" = [ "IdbKeyRange" ];
+          "IdbMutableFile" = [ "EventTarget" ];
+          "IdbOpenDbRequest" = [ "EventTarget" "IdbRequest" ];
+          "IdbRequest" = [ "EventTarget" ];
+          "IdbTransaction" = [ "EventTarget" ];
+          "IdbVersionChangeEvent" = [ "Event" ];
+          "IirFilterNode" = [ "AudioNode" "EventTarget" ];
+          "ImageCaptureErrorEvent" = [ "Event" ];
+          "InputEvent" = [ "Event" "UiEvent" ];
+          "KeyboardEvent" = [ "Event" "UiEvent" ];
+          "KeyframeEffect" = [ "AnimationEffect" ];
+          "LocalMediaStream" = [ "EventTarget" "MediaStream" ];
+          "MediaDevices" = [ "EventTarget" ];
+          "MediaElementAudioSourceNode" = [ "AudioNode" "EventTarget" ];
+          "MediaEncryptedEvent" = [ "Event" ];
+          "MediaKeyError" = [ "Event" ];
+          "MediaKeyMessageEvent" = [ "Event" ];
+          "MediaKeySession" = [ "EventTarget" ];
+          "MediaQueryList" = [ "EventTarget" ];
+          "MediaQueryListEvent" = [ "Event" ];
+          "MediaRecorder" = [ "EventTarget" ];
+          "MediaRecorderErrorEvent" = [ "Event" ];
+          "MediaSource" = [ "EventTarget" ];
+          "MediaStream" = [ "EventTarget" ];
+          "MediaStreamAudioDestinationNode" = [ "AudioNode" "EventTarget" ];
+          "MediaStreamAudioSourceNode" = [ "AudioNode" "EventTarget" ];
+          "MediaStreamEvent" = [ "Event" ];
+          "MediaStreamTrack" = [ "EventTarget" ];
+          "MediaStreamTrackEvent" = [ "Event" ];
+          "MessageEvent" = [ "Event" ];
+          "MessagePort" = [ "EventTarget" ];
+          "MidiAccess" = [ "EventTarget" ];
+          "MidiConnectionEvent" = [ "Event" ];
+          "MidiInput" = [ "EventTarget" "MidiPort" ];
+          "MidiMessageEvent" = [ "Event" ];
+          "MidiOutput" = [ "EventTarget" "MidiPort" ];
+          "MidiPort" = [ "EventTarget" ];
+          "MouseEvent" = [ "Event" "UiEvent" ];
+          "MouseScrollEvent" = [ "Event" "MouseEvent" "UiEvent" ];
+          "MutationEvent" = [ "Event" ];
+          "NetworkInformation" = [ "EventTarget" ];
+          "Node" = [ "EventTarget" ];
+          "Notification" = [ "EventTarget" ];
+          "NotificationEvent" = [ "Event" "ExtendableEvent" ];
+          "OfflineAudioCompletionEvent" = [ "Event" ];
+          "OfflineAudioContext" = [ "BaseAudioContext" "EventTarget" ];
+          "OfflineResourceList" = [ "EventTarget" ];
+          "OffscreenCanvas" = [ "EventTarget" ];
+          "OscillatorNode" = [ "AudioNode" "AudioScheduledSourceNode" "EventTarget" ];
+          "PageTransitionEvent" = [ "Event" ];
+          "PaintWorkletGlobalScope" = [ "WorkletGlobalScope" ];
+          "PannerNode" = [ "AudioNode" "EventTarget" ];
+          "PaymentMethodChangeEvent" = [ "Event" "PaymentRequestUpdateEvent" ];
+          "PaymentRequestUpdateEvent" = [ "Event" ];
+          "Performance" = [ "EventTarget" ];
+          "PerformanceMark" = [ "PerformanceEntry" ];
+          "PerformanceMeasure" = [ "PerformanceEntry" ];
+          "PerformanceNavigationTiming" = [ "PerformanceEntry" "PerformanceResourceTiming" ];
+          "PerformanceResourceTiming" = [ "PerformanceEntry" ];
+          "PermissionStatus" = [ "EventTarget" ];
+          "PointerEvent" = [ "Event" "MouseEvent" "UiEvent" ];
+          "PopStateEvent" = [ "Event" ];
+          "PopupBlockedEvent" = [ "Event" ];
+          "PresentationAvailability" = [ "EventTarget" ];
+          "PresentationConnection" = [ "EventTarget" ];
+          "PresentationConnectionAvailableEvent" = [ "Event" ];
+          "PresentationConnectionCloseEvent" = [ "Event" ];
+          "PresentationConnectionList" = [ "EventTarget" ];
+          "PresentationRequest" = [ "EventTarget" ];
+          "ProcessingInstruction" = [ "CharacterData" "EventTarget" "Node" ];
+          "ProgressEvent" = [ "Event" ];
+          "PromiseRejectionEvent" = [ "Event" ];
+          "PublicKeyCredential" = [ "Credential" ];
+          "PushEvent" = [ "Event" "ExtendableEvent" ];
+          "RadioNodeList" = [ "NodeList" ];
+          "RtcDataChannel" = [ "EventTarget" ];
+          "RtcDataChannelEvent" = [ "Event" ];
+          "RtcPeerConnection" = [ "EventTarget" ];
+          "RtcPeerConnectionIceEvent" = [ "Event" ];
+          "RtcTrackEvent" = [ "Event" ];
+          "RtcdtmfSender" = [ "EventTarget" ];
+          "RtcdtmfToneChangeEvent" = [ "Event" ];
+          "Screen" = [ "EventTarget" ];
+          "ScreenOrientation" = [ "EventTarget" ];
+          "ScriptProcessorNode" = [ "AudioNode" "EventTarget" ];
+          "ScrollAreaEvent" = [ "Event" "UiEvent" ];
+          "SecurityPolicyViolationEvent" = [ "Event" ];
+          "ServiceWorker" = [ "EventTarget" ];
+          "ServiceWorkerContainer" = [ "EventTarget" ];
+          "ServiceWorkerGlobalScope" = [ "EventTarget" "WorkerGlobalScope" ];
+          "ServiceWorkerRegistration" = [ "EventTarget" ];
+          "ShadowRoot" = [ "DocumentFragment" "EventTarget" "Node" ];
+          "SharedWorker" = [ "EventTarget" ];
+          "SharedWorkerGlobalScope" = [ "EventTarget" "WorkerGlobalScope" ];
+          "SourceBuffer" = [ "EventTarget" ];
+          "SourceBufferList" = [ "EventTarget" ];
+          "SpeechRecognition" = [ "EventTarget" ];
+          "SpeechRecognitionError" = [ "Event" ];
+          "SpeechRecognitionEvent" = [ "Event" ];
+          "SpeechSynthesis" = [ "EventTarget" ];
+          "SpeechSynthesisErrorEvent" = [ "Event" "SpeechSynthesisEvent" ];
+          "SpeechSynthesisEvent" = [ "Event" ];
+          "SpeechSynthesisUtterance" = [ "EventTarget" ];
+          "StereoPannerNode" = [ "AudioNode" "EventTarget" ];
+          "StorageEvent" = [ "Event" ];
+          "SvgAnimateElement" = [ "Element" "EventTarget" "Node" "SvgAnimationElement" "SvgElement" ];
+          "SvgAnimateMotionElement" = [ "Element" "EventTarget" "Node" "SvgAnimationElement" "SvgElement" ];
+          "SvgAnimateTransformElement" = [ "Element" "EventTarget" "Node" "SvgAnimationElement" "SvgElement" ];
+          "SvgAnimationElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgCircleElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ];
+          "SvgClipPathElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgComponentTransferFunctionElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgDefsElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
+          "SvgDescElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgElement" = [ "Element" "EventTarget" "Node" ];
+          "SvgEllipseElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ];
+          "SvgFilterElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgForeignObjectElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
+          "SvgGeometryElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
+          "SvgGradientElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgGraphicsElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgImageElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
+          "SvgLineElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ];
+          "SvgLinearGradientElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGradientElement" ];
+          "SvgMarkerElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgMaskElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgMetadataElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgPathElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ];
+          "SvgPathSegArcAbs" = [ "SvgPathSeg" ];
+          "SvgPathSegArcRel" = [ "SvgPathSeg" ];
+          "SvgPathSegClosePath" = [ "SvgPathSeg" ];
+          "SvgPathSegCurvetoCubicAbs" = [ "SvgPathSeg" ];
+          "SvgPathSegCurvetoCubicRel" = [ "SvgPathSeg" ];
+          "SvgPathSegCurvetoCubicSmoothAbs" = [ "SvgPathSeg" ];
+          "SvgPathSegCurvetoCubicSmoothRel" = [ "SvgPathSeg" ];
+          "SvgPathSegCurvetoQuadraticAbs" = [ "SvgPathSeg" ];
+          "SvgPathSegCurvetoQuadraticRel" = [ "SvgPathSeg" ];
+          "SvgPathSegCurvetoQuadraticSmoothAbs" = [ "SvgPathSeg" ];
+          "SvgPathSegCurvetoQuadraticSmoothRel" = [ "SvgPathSeg" ];
+          "SvgPathSegLinetoAbs" = [ "SvgPathSeg" ];
+          "SvgPathSegLinetoHorizontalAbs" = [ "SvgPathSeg" ];
+          "SvgPathSegLinetoHorizontalRel" = [ "SvgPathSeg" ];
+          "SvgPathSegLinetoRel" = [ "SvgPathSeg" ];
+          "SvgPathSegLinetoVerticalAbs" = [ "SvgPathSeg" ];
+          "SvgPathSegLinetoVerticalRel" = [ "SvgPathSeg" ];
+          "SvgPathSegMovetoAbs" = [ "SvgPathSeg" ];
+          "SvgPathSegMovetoRel" = [ "SvgPathSeg" ];
+          "SvgPatternElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgPolygonElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ];
+          "SvgPolylineElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ];
+          "SvgRadialGradientElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGradientElement" ];
+          "SvgRectElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ];
+          "SvgScriptElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgSetElement" = [ "Element" "EventTarget" "Node" "SvgAnimationElement" "SvgElement" ];
+          "SvgStopElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgStyleElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgSwitchElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
+          "SvgSymbolElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgTextContentElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
+          "SvgTextElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" "SvgTextContentElement" "SvgTextPositioningElement" ];
+          "SvgTextPathElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" "SvgTextContentElement" ];
+          "SvgTextPositioningElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" "SvgTextContentElement" ];
+          "SvgTitleElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgUseElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
+          "SvgViewElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgaElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
+          "SvgfeBlendElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgfeColorMatrixElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgfeComponentTransferElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgfeCompositeElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgfeConvolveMatrixElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgfeDiffuseLightingElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgfeDisplacementMapElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgfeDistantLightElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgfeDropShadowElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgfeFloodElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgfeFuncAElement" = [ "Element" "EventTarget" "Node" "SvgComponentTransferFunctionElement" "SvgElement" ];
+          "SvgfeFuncBElement" = [ "Element" "EventTarget" "Node" "SvgComponentTransferFunctionElement" "SvgElement" ];
+          "SvgfeFuncGElement" = [ "Element" "EventTarget" "Node" "SvgComponentTransferFunctionElement" "SvgElement" ];
+          "SvgfeFuncRElement" = [ "Element" "EventTarget" "Node" "SvgComponentTransferFunctionElement" "SvgElement" ];
+          "SvgfeGaussianBlurElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgfeImageElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgfeMergeElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgfeMergeNodeElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgfeMorphologyElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgfeOffsetElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgfePointLightElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgfeSpecularLightingElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgfeSpotLightElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgfeTileElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgfeTurbulenceElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvggElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
+          "SvgmPathElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgsvgElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
+          "SvgtSpanElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" "SvgTextContentElement" "SvgTextPositioningElement" ];
+          "TcpServerSocket" = [ "EventTarget" ];
+          "TcpServerSocketEvent" = [ "Event" ];
+          "TcpSocket" = [ "EventTarget" ];
+          "TcpSocketErrorEvent" = [ "Event" ];
+          "TcpSocketEvent" = [ "Event" ];
+          "Text" = [ "CharacterData" "EventTarget" "Node" ];
+          "TextTrack" = [ "EventTarget" ];
+          "TextTrackCue" = [ "EventTarget" ];
+          "TextTrackList" = [ "EventTarget" ];
+          "TimeEvent" = [ "Event" ];
+          "TouchEvent" = [ "Event" "UiEvent" ];
+          "TrackEvent" = [ "Event" ];
+          "TransitionEvent" = [ "Event" ];
+          "UiEvent" = [ "Event" ];
+          "Usb" = [ "EventTarget" ];
+          "UsbConnectionEvent" = [ "Event" ];
+          "UsbPermissionResult" = [ "EventTarget" "PermissionStatus" ];
+          "UserProximityEvent" = [ "Event" ];
+          "ValueEvent" = [ "Event" ];
+          "VideoStreamTrack" = [ "EventTarget" "MediaStreamTrack" ];
+          "VideoTrackList" = [ "EventTarget" ];
+          "VrDisplay" = [ "EventTarget" ];
+          "VttCue" = [ "EventTarget" "TextTrackCue" ];
+          "WaveShaperNode" = [ "AudioNode" "EventTarget" ];
+          "WebGlContextEvent" = [ "Event" ];
+          "WebKitCssMatrix" = [ "DomMatrix" "DomMatrixReadOnly" ];
+          "WebSocket" = [ "EventTarget" ];
+          "WheelEvent" = [ "Event" "MouseEvent" "UiEvent" ];
+          "Window" = [ "EventTarget" ];
+          "WindowClient" = [ "Client" ];
+          "Worker" = [ "EventTarget" ];
+          "WorkerDebuggerGlobalScope" = [ "EventTarget" ];
+          "WorkerGlobalScope" = [ "EventTarget" ];
+          "XmlDocument" = [ "Document" "EventTarget" "Node" ];
+          "XmlHttpRequest" = [ "EventTarget" "XmlHttpRequestEventTarget" ];
+          "XmlHttpRequestEventTarget" = [ "EventTarget" ];
+          "XmlHttpRequestUpload" = [ "EventTarget" "XmlHttpRequestEventTarget" ];
+          "Xr" = [ "EventTarget" ];
+          "XrBoundedReferenceSpace" = [ "EventTarget" "XrReferenceSpace" "XrSpace" ];
+          "XrInputSourceEvent" = [ "Event" ];
+          "XrInputSourcesChangeEvent" = [ "Event" ];
+          "XrReferenceSpace" = [ "EventTarget" "XrSpace" ];
+          "XrReferenceSpaceEvent" = [ "Event" ];
+          "XrSession" = [ "EventTarget" ];
+          "XrSessionEvent" = [ "Event" ];
+          "XrSpace" = [ "EventTarget" ];
+          "XrViewerPose" = [ "XrPose" ];
+        };
+        resolvedDefaultFeatures = [ "Blob" "BlobPropertyBag" "Crypto" "Document" "Event" "EventTarget" "FormData" "Headers" "HtmlDocument" "MessageEvent" "Navigator" "Node" "Request" "RequestCredentials" "RequestInit" "RequestMode" "Response" "ServiceWorkerGlobalScope" "Window" "Worker" "WorkerGlobalScope" ];
+      };
+      "webpki" = rec {
+        crateName = "webpki";
+        version = "0.21.4";
+        edition = "2018";
+        sha256 = "1sm4i8c5bw3bdhi7mjk0wpvwx55hvsmyn0k2lpa4cb161038rqxq";
+        libPath = "src/webpki.rs";
+        authors = [
+          "Brian Smith <brian@briansmith.org>"
+        ];
+        dependencies = [
+          {
+            name = "ring";
+            packageId = "ring";
+            usesDefaultFeatures = false;
+            features = [ "alloc" ];
+          }
+          {
+            name = "untrusted";
+            packageId = "untrusted";
+          }
+        ];
+        features = {
+          "default" = [ "std" "trust_anchor_util" ];
+          "trust_anchor_util" = [ "std" ];
+        };
+        resolvedDefaultFeatures = [ "default" "std" "trust_anchor_util" ];
+      };
+      "webpki-roots" = rec {
+        crateName = "webpki-roots";
+        version = "0.21.1";
+        edition = "2018";
+        crateBin = [];
+        sha256 = "0h49lkr7hrxpyr0xg1nph4m3v1l6rhg8ax9n8msvfwz48hsibgma";
+        authors = [
+          "Joseph Birr-Pixton <jpixton@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "webpki";
+            packageId = "webpki";
+          }
+        ];
+
+      };
+      "whatlang" = rec {
+        crateName = "whatlang";
+        version = "0.12.0";
+        edition = "2018";
+        sha256 = "00zp7h1iwinpd6b8prcan0n3y36d3afs497djf3620wwn8p6sd3s";
+        authors = [
+          "Sergey Potapov <blake131313@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "hashbrown";
+            packageId = "hashbrown 0.7.2";
+          }
+        ];
+        features = {
+        };
+      };
+      "whoami" = rec {
+        crateName = "whoami";
+        version = "1.1.2";
+        edition = "2018";
+        sha256 = "1xiaddvcd54yl9jyk3lnw3gvc0d9y8viv4s622pzx3cmbhrczfja";
+        authors = [
+          "Jeron Aldaron Lau <jeronlau@plopgrizzly.com>"
+        ];
+        dependencies = [
+          {
+            name = "wasm-bindgen";
+            packageId = "wasm-bindgen";
+            target = { target, features }: (target."arch" == "wasm32");
+          }
+          {
+            name = "web-sys";
+            packageId = "web-sys";
+            target = { target, features }: (target."arch" == "wasm32");
+            features = [ "Navigator" "HtmlDocument" "Document" "Window" ];
+          }
+        ];
+        features = {
+        };
+        resolvedDefaultFeatures = [ "default" ];
+      };
+      "winapi" = rec {
+        crateName = "winapi";
+        version = "0.3.9";
+        edition = "2015";
+        sha256 = "06gl025x418lchw1wxj64ycr7gha83m44cjr5sarhynd9xkrm0sw";
+        authors = [
+          "Peter Atashian <retep998@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "winapi-i686-pc-windows-gnu";
+            packageId = "winapi-i686-pc-windows-gnu";
+            target = { target, features }: (stdenv.hostPlatform.config == "i686-pc-windows-gnu");
+          }
+          {
+            name = "winapi-x86_64-pc-windows-gnu";
+            packageId = "winapi-x86_64-pc-windows-gnu";
+            target = { target, features }: (stdenv.hostPlatform.config == "x86_64-pc-windows-gnu");
+          }
+        ];
+        features = {
+          "debug" = [ "impl-debug" ];
+        };
+        resolvedDefaultFeatures = [ "basetsd" "cfg" "consoleapi" "errhandlingapi" "evntrace" "fileapi" "handleapi" "impl-debug" "impl-default" "in6addr" "inaddr" "ioapiset" "memoryapi" "minwinbase" "minwindef" "mstcpip" "mswsock" "namedpipeapi" "ntdef" "ntsecapi" "ntstatus" "processenv" "profileapi" "std" "synchapi" "sysinfoapi" "threadpoollegacyapiset" "timezoneapi" "winbase" "wincon" "windef" "winerror" "winioctl" "winnt" "winreg" "winsock2" "ws2def" "ws2ipdef" "ws2tcpip" "wtypesbase" ];
+      };
+      "winapi-i686-pc-windows-gnu" = rec {
+        crateName = "winapi-i686-pc-windows-gnu";
+        version = "0.4.0";
+        edition = "2015";
+        sha256 = "1dmpa6mvcvzz16zg6d5vrfy4bxgg541wxrcip7cnshi06v38ffxc";
+        authors = [
+          "Peter Atashian <retep998@gmail.com>"
+        ];
+
+      };
+      "winapi-util" = rec {
+        crateName = "winapi-util";
+        version = "0.1.5";
+        edition = "2018";
+        sha256 = "0y71bp7f6d536czj40dhqk0d55wfbbwqfp2ymqf1an5ibgl6rv3h";
+        authors = [
+          "Andrew Gallant <jamslam@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "winapi";
+            packageId = "winapi";
+            target = { target, features }: (target."windows" or false);
+            features = [ "std" "consoleapi" "errhandlingapi" "fileapi" "minwindef" "processenv" "winbase" "wincon" "winerror" "winnt" ];
+          }
+        ];
+
+      };
+      "winapi-x86_64-pc-windows-gnu" = rec {
+        crateName = "winapi-x86_64-pc-windows-gnu";
+        version = "0.4.0";
+        edition = "2015";
+        sha256 = "0gqq64czqb64kskjryj8isp62m2sgvx25yyj3kpc2myh85w24bki";
+        authors = [
+          "Peter Atashian <retep998@gmail.com>"
+        ];
+
+      };
+      "winreg" = rec {
+        crateName = "winreg";
+        version = "0.7.0";
+        edition = "2015";
+        sha256 = "0sdxcyvda4v1v6a0k1j2v1400z3ng323k9a56gxvkq51x21dn801";
+        authors = [
+          "Igor Shaula <gentoo90@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "winapi";
+            packageId = "winapi";
+            features = [ "impl-default" "impl-debug" "minwindef" "minwinbase" "timezoneapi" "winerror" "winnt" "winreg" "handleapi" ];
+          }
+        ];
+        features = {
+          "serialization-serde" = [ "transactions" "serde" ];
+          "transactions" = [ "winapi/ktmw32" ];
+        };
+      };
+      "xattr" = rec {
+        crateName = "xattr";
+        version = "0.2.2";
+        edition = "2015";
+        sha256 = "0k556fb6f5jc907975j9c8iynl2fqz3rf0w6fiig83i4yi0kfk14";
+        authors = [
+          "Steven Allen <steven@stebalien.com>"
+        ];
+        dependencies = [
+          {
+            name = "libc";
+            packageId = "libc";
+          }
+        ];
+        features = {
+          "default" = [ "unsupported" ];
+        };
+        resolvedDefaultFeatures = [ "default" "unsupported" ];
+      };
+      "zerocopy" = rec {
+        crateName = "zerocopy";
+        version = "0.3.0";
+        edition = "2018";
+        sha256 = "0imbiww3abh0cqg4kp70di6yab6m10n3yjqc48kc1dqpv6d57035";
+        authors = [
+          "Joshua Liebow-Feeser <joshlf@google.com>"
+        ];
+        dependencies = [
+          {
+            name = "byteorder";
+            packageId = "byteorder";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "zerocopy-derive";
+            packageId = "zerocopy-derive";
+          }
+        ];
+
+      };
+      "zerocopy-derive" = rec {
+        crateName = "zerocopy-derive";
+        version = "0.2.0";
+        edition = "2018";
+        sha256 = "1yzd3057gr3csn3x4wrl8y4ji52hr8rirbh9cz487svvzp8xp66l";
+        procMacro = true;
+        authors = [
+          "Joshua Liebow-Feeser <joshlf@google.com>"
+        ];
+        dependencies = [
+          {
+            name = "proc-macro2";
+            packageId = "proc-macro2 1.0.27";
+          }
+          {
+            name = "syn";
+            packageId = "syn 1.0.73";
+          }
+          {
+            name = "synstructure";
+            packageId = "synstructure";
+          }
+        ];
+
+      };
+      "zip" = rec {
+        crateName = "zip";
+        version = "0.5.13";
+        edition = "2018";
+        sha256 = "0588z88sj37nj1clis1rf4fh794av0hwaiaihfrin9b19n24iawk";
+        authors = [
+          "Mathijs van de Nes <git@mathijs.vd-nes.nl>"
+          "Marli Frost <marli@frost.red>"
+          "Ryan Levick <ryan.levick@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "byteorder";
+            packageId = "byteorder";
+          }
+          {
+            name = "bzip2";
+            packageId = "bzip2";
+            optional = true;
+          }
+          {
+            name = "crc32fast";
+            packageId = "crc32fast";
+          }
+          {
+            name = "flate2";
+            packageId = "flate2";
+            optional = true;
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "thiserror";
+            packageId = "thiserror";
+          }
+          {
+            name = "time";
+            packageId = "time 0.1.44";
+            optional = true;
+          }
+        ];
+        features = {
+          "default" = [ "bzip2" "deflate" "time" ];
+          "deflate" = [ "flate2/rust_backend" ];
+          "deflate-miniz" = [ "flate2/default" ];
+          "deflate-zlib" = [ "flate2/zlib" ];
+        };
+        resolvedDefaultFeatures = [ "bzip2" "default" "deflate" "flate2" "time" ];
+      };
+      "zstd" = rec {
+        crateName = "zstd";
+        version = "0.5.4+zstd.1.4.7";
+        edition = "2018";
+        sha256 = "0419r39dk3zx3xxlhpr9i9nac63qhn1si1qkyqbib2xsn6ynx6b9";
+        authors = [
+          "Alexandre Bury <alexandre.bury@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "zstd-safe";
+            packageId = "zstd-safe";
+            usesDefaultFeatures = false;
+            features = [ "experimental" ];
+          }
+        ];
+        features = {
+          "bindgen" = [ "zstd-safe/bindgen" ];
+          "default" = [ "legacy" ];
+          "legacy" = [ "zstd-safe/legacy" ];
+          "pkg-config" = [ "zstd-safe/pkg-config" ];
+          "tokio" = [ "tokio-io" "futures" ];
+          "wasm" = [ "zstd-safe/std" ];
+          "zstdmt" = [ "zstd-safe/zstdmt" ];
+        };
+        resolvedDefaultFeatures = [ "default" "legacy" ];
+      };
+      "zstd-safe" = rec {
+        crateName = "zstd-safe";
+        version = "2.0.6+zstd.1.4.7";
+        edition = "2015";
+        sha256 = "17m46z6b26ai70xrdgv98yp52676ajbx32a5sibf5klynqgr7alq";
+        authors = [
+          "Alexandre Bury <alexandre.bury@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "libc";
+            packageId = "libc";
+          }
+          {
+            name = "zstd-sys";
+            packageId = "zstd-sys";
+            usesDefaultFeatures = false;
+          }
+        ];
+        features = {
+          "bindgen" = [ "zstd-sys/bindgen" ];
+          "default" = [ "legacy" ];
+          "experimental" = [ "zstd-sys/experimental" ];
+          "legacy" = [ "zstd-sys/legacy" ];
+          "pkg-config" = [ "zstd-sys/pkg-config" ];
+          "std" = [ "zstd-sys/std" ];
+          "zstdmt" = [ "zstd-sys/zstdmt" ];
+        };
+        resolvedDefaultFeatures = [ "experimental" "legacy" ];
+      };
+      "zstd-sys" = rec {
+        crateName = "zstd-sys";
+        version = "1.4.18+zstd.1.4.7";
+        edition = "2015";
+        sha256 = "10gcxawj2rxgxcxdv2gyv83gxckwg0vhvn3iyx1qz0q6hxvyirm1";
+        authors = [
+          "Alexandre Bury <alexandre.bury@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "libc";
+            packageId = "libc";
+          }
+        ];
+        buildDependencies = [
+          {
+            name = "cc";
+            packageId = "cc";
+            features = [ "parallel" ];
+          }
+          {
+            name = "glob";
+            packageId = "glob";
+          }
+          {
+            name = "itertools";
+            packageId = "itertools 0.9.0";
+          }
+        ];
+        features = {
+          "default" = [ "legacy" ];
+        };
+        resolvedDefaultFeatures = [ "experimental" "legacy" ];
+      };
+    };
+
+    #
+# crate2nix/default.nix (excerpt start)
+#
+
+  /* Target (platform) data for conditional dependencies.
+    This corresponds roughly to what buildRustCrate is setting.
+  */
+  defaultTarget = {
+    unix = true;
+    windows = false;
+    fuchsia = true;
+    test = false;
+
+    # This doesn't appear to be officially documented anywhere yet.
+    # See https://github.com/rust-lang-nursery/rust-forge/issues/101.
+    os =
+      if stdenv.hostPlatform.isDarwin
+      then "macos"
+      else stdenv.hostPlatform.parsed.kernel.name;
+    arch = stdenv.hostPlatform.parsed.cpu.name;
+    family = "unix";
+    env = "gnu";
+    endian =
+      if stdenv.hostPlatform.parsed.cpu.significantByte.name == "littleEndian"
+      then "little" else "big";
+    pointer_width = toString stdenv.hostPlatform.parsed.cpu.bits;
+    vendor = stdenv.hostPlatform.parsed.vendor.name;
+    debug_assertions = false;
+  };
+
+  /* Filters common temp files and build files. */
+  # TODO(pkolloch): Substitute with gitignore filter
+  sourceFilter = name: type:
+    let
+      baseName = builtins.baseNameOf (builtins.toString name);
+    in
+      ! (
+        # Filter out git
+        baseName == ".gitignore"
+        || (type == "directory" && baseName == ".git")
+
+        # Filter out build results
+        || (
+          type == "directory" && (
+            baseName == "target"
+            || baseName == "_site"
+            || baseName == ".sass-cache"
+            || baseName == ".jekyll-metadata"
+            || baseName == "build-artifacts"
+          )
+        )
+
+        # Filter out nix-build result symlinks
+        || (
+          type == "symlink" && lib.hasPrefix "result" baseName
+        )
+
+        # Filter out IDE config
+        || (
+          type == "directory" && (
+            baseName == ".idea" || baseName == ".vscode"
+          )
+        ) || lib.hasSuffix ".iml" baseName
+
+        # Filter out nix build files
+        || baseName == "Cargo.nix"
+
+        # Filter out editor backup / swap files.
+        || lib.hasSuffix "~" baseName
+        || builtins.match "^\\.sw[a-z]$$" baseName != null
+        || builtins.match "^\\..*\\.sw[a-z]$$" baseName != null
+        || lib.hasSuffix ".tmp" baseName
+        || lib.hasSuffix ".bak" baseName
+        || baseName == "tests.nix"
+      );
+
+  /* Returns a crate which depends on successful test execution
+    of crate given as the second argument.
+
+    testCrateFlags: list of flags to pass to the test exectuable
+    testInputs: list of packages that should be available during test execution
+  */
+  crateWithTest = { crate, testCrate, testCrateFlags, testInputs, testPreRun, testPostRun }:
+    assert builtins.typeOf testCrateFlags == "list";
+    assert builtins.typeOf testInputs == "list";
+    assert builtins.typeOf testPreRun == "string";
+    assert builtins.typeOf testPostRun == "string";
+    let
+      # override the `crate` so that it will build and execute tests instead of
+      # building the actual lib and bin targets We just have to pass `--test`
+      # to rustc and it will do the right thing.  We execute the tests and copy
+      # their log and the test executables to $out for later inspection.
+      test =
+        let
+          drv = testCrate.override
+            (
+              _: {
+                buildTests = true;
+              }
+            );
+          # If the user hasn't set any pre/post commands, we don't want to
+          # insert empty lines. This means that any existing users of crate2nix
+          # don't get a spurious rebuild unless they set these explicitly.
+          testCommand = pkgs.lib.concatStringsSep "\n"
+            (pkgs.lib.filter (s: s != "") [
+              testPreRun
+              "$f $testCrateFlags 2>&1 | tee -a $out"
+              testPostRun
+            ]);
+        in
+        pkgs.runCommand "run-tests-${testCrate.name}"
+          {
+            inherit testCrateFlags;
+            buildInputs = testInputs;
+          } ''
+          set -ex
+
+          export RUST_BACKTRACE=1
+
+          # recreate a file hierarchy as when running tests with cargo
+
+          # the source for test data
+          ${pkgs.xorg.lndir}/bin/lndir ${crate.src}
+
+          # build outputs
+          testRoot=target/debug
+          mkdir -p $testRoot
+
+          # executables of the crate
+          # we copy to prevent std::env::current_exe() to resolve to a store location
+          for i in ${crate}/bin/*; do
+            cp "$i" "$testRoot"
+          done
+          chmod +w -R .
+
+          # test harness executables are suffixed with a hash, like cargo does
+          # this allows to prevent name collision with the main
+          # executables of the crate
+          hash=$(basename $out)
+          for file in ${drv}/tests/*; do
+            f=$testRoot/$(basename $file)-$hash
+            cp $file $f
+            ${testCommand}
+          done
+        '';
+    in
+    pkgs.runCommand "${crate.name}-linked"
+      {
+        inherit (crate) outputs crateName;
+        passthru = (crate.passthru or { }) // {
+          inherit test;
+        };
+      } ''
+      echo tested by ${test}
+      ${lib.concatMapStringsSep "\n" (output: "ln -s ${crate.${output}} ${"$"}${output}") crate.outputs}
+    '';
+
+  /* A restricted overridable version of builtRustCratesWithFeatures. */
+  buildRustCrateWithFeatures =
+    { packageId
+    , features ? rootFeatures
+    , crateOverrides ? defaultCrateOverrides
+    , buildRustCrateForPkgsFunc ? null
+    , runTests ? false
+    , testCrateFlags ? [ ]
+    , testInputs ? [ ]
+      # Any command to run immediatelly before a test is executed.
+    , testPreRun ? ""
+      # Any command run immediatelly after a test is executed.
+    , testPostRun ? ""
+    }:
+    lib.makeOverridable
+      (
+        { features
+        , crateOverrides
+        , runTests
+        , testCrateFlags
+        , testInputs
+        , testPreRun
+        , testPostRun
+        }:
+        let
+          buildRustCrateForPkgsFuncOverriden =
+            if buildRustCrateForPkgsFunc != null
+            then buildRustCrateForPkgsFunc
+            else
+              (
+                if crateOverrides == pkgs.defaultCrateOverrides
+                then buildRustCrateForPkgs
+                else
+                  pkgs: (buildRustCrateForPkgs pkgs).override {
+                    defaultCrateOverrides = crateOverrides;
+                  }
+              );
+          builtRustCrates = builtRustCratesWithFeatures {
+            inherit packageId features;
+            buildRustCrateForPkgsFunc = buildRustCrateForPkgsFuncOverriden;
+            runTests = false;
+          };
+          builtTestRustCrates = builtRustCratesWithFeatures {
+            inherit packageId features;
+            buildRustCrateForPkgsFunc = buildRustCrateForPkgsFuncOverriden;
+            runTests = true;
+          };
+          drv = builtRustCrates.crates.${packageId};
+          testDrv = builtTestRustCrates.crates.${packageId};
+          derivation =
+            if runTests then
+              crateWithTest
+                {
+                  crate = drv;
+                  testCrate = testDrv;
+                  inherit testCrateFlags testInputs testPreRun testPostRun;
+                }
+            else drv;
+        in
+        derivation
+      )
+      { inherit features crateOverrides runTests testCrateFlags testInputs testPreRun testPostRun; };
+
+  /* Returns an attr set with packageId mapped to the result of buildRustCrateForPkgsFunc
+    for the corresponding crate.
+  */
+  builtRustCratesWithFeatures =
+    { packageId
+    , features
+    , crateConfigs ? crates
+    , buildRustCrateForPkgsFunc
+    , runTests
+    , target ? defaultTarget
+    } @ args:
+      assert (builtins.isAttrs crateConfigs);
+      assert (builtins.isString packageId);
+      assert (builtins.isList features);
+      assert (builtins.isAttrs target);
+      assert (builtins.isBool runTests);
+      let
+        rootPackageId = packageId;
+        mergedFeatures = mergePackageFeatures
+          (
+            args // {
+              inherit rootPackageId;
+              target = target // { test = runTests; };
+            }
+          );
+        # Memoize built packages so that reappearing packages are only built once.
+        builtByPackageIdByPkgs = mkBuiltByPackageIdByPkgs pkgs;
+        mkBuiltByPackageIdByPkgs = pkgs:
+          let
+            self = {
+              crates = lib.mapAttrs (packageId: value: buildByPackageIdForPkgsImpl self pkgs packageId) crateConfigs;
+              build = mkBuiltByPackageIdByPkgs pkgs.buildPackages;
+            };
+          in
+          self;
+        buildByPackageIdForPkgsImpl = self: pkgs: packageId:
+          let
+            features = mergedFeatures."${packageId}" or [ ];
+            crateConfig' = crateConfigs."${packageId}";
+            crateConfig =
+              builtins.removeAttrs crateConfig' [ "resolvedDefaultFeatures" "devDependencies" ];
+            devDependencies =
+              lib.optionals
+                (runTests && packageId == rootPackageId)
+                (crateConfig'.devDependencies or [ ]);
+            dependencies =
+              dependencyDerivations {
+                inherit features target;
+                buildByPackageId = depPackageId:
+                  # proc_macro crates must be compiled for the build architecture
+                  if crateConfigs.${depPackageId}.procMacro or false
+                  then self.build.crates.${depPackageId}
+                  else self.crates.${depPackageId};
+                dependencies =
+                  (crateConfig.dependencies or [ ])
+                  ++ devDependencies;
+              };
+            buildDependencies =
+              dependencyDerivations {
+                inherit features target;
+                buildByPackageId = depPackageId:
+                  self.build.crates.${depPackageId};
+                dependencies = crateConfig.buildDependencies or [ ];
+              };
+            filterEnabledDependenciesForThis = dependencies: filterEnabledDependencies {
+              inherit dependencies features target;
+            };
+            dependenciesWithRenames =
+              lib.filter (d: d ? "rename")
+                (
+                  filterEnabledDependenciesForThis
+                    (
+                      (crateConfig.buildDependencies or [ ])
+                      ++ (crateConfig.dependencies or [ ])
+                      ++ devDependencies
+                    )
+                );
+            # Crate renames have the form:
+            #
+            # {
+            #    crate_name = [
+            #       { version = "1.2.3"; rename = "crate_name01"; }
+            #    ];
+            #    # ...
+            # }
+            crateRenames =
+              let
+                grouped =
+                  lib.groupBy
+                    (dependency: dependency.name)
+                    dependenciesWithRenames;
+                versionAndRename = dep:
+                  let
+                    package = crateConfigs."${dep.packageId}";
+                  in
+                  { inherit (dep) rename; version = package.version; };
+              in
+              lib.mapAttrs (name: choices: builtins.map versionAndRename choices) grouped;
+          in
+          buildRustCrateForPkgsFunc pkgs
+            (
+              crateConfig // {
+                src = crateConfig.src or (
+                  pkgs.fetchurl rec {
+                    name = "${crateConfig.crateName}-${crateConfig.version}.tar.gz";
+                    # https://www.pietroalbini.org/blog/downloading-crates-io/
+                    # Not rate-limited, CDN URL.
+                    url = "https://static.crates.io/crates/${crateConfig.crateName}/${crateConfig.crateName}-${crateConfig.version}.crate";
+                    sha256 =
+                      assert (lib.assertMsg (crateConfig ? sha256) "Missing sha256 for ${name}");
+                      crateConfig.sha256;
+                  }
+                );
+                extraRustcOpts = lib.lists.optional (targetFeatures != [ ]) "-C target-feature=${lib.concatMapStringsSep "," (x: "+${x}") targetFeatures}";
+                inherit features dependencies buildDependencies crateRenames release;
+              }
+            );
+      in
+      builtByPackageIdByPkgs;
+
+  /* Returns the actual derivations for the given dependencies. */
+  dependencyDerivations =
+    { buildByPackageId
+    , features
+    , dependencies
+    , target
+    }:
+      assert (builtins.isList features);
+      assert (builtins.isList dependencies);
+      assert (builtins.isAttrs target);
+      let
+        enabledDependencies = filterEnabledDependencies {
+          inherit dependencies features target;
+        };
+        depDerivation = dependency: buildByPackageId dependency.packageId;
+      in
+      map depDerivation enabledDependencies;
+
+  /* Returns a sanitized version of val with all values substituted that cannot
+    be serialized as JSON.
+  */
+  sanitizeForJson = val:
+    if builtins.isAttrs val
+    then lib.mapAttrs (n: v: sanitizeForJson v) val
+    else if builtins.isList val
+    then builtins.map sanitizeForJson val
+    else if builtins.isFunction val
+    then "function"
+    else val;
+
+  /* Returns various tools to debug a crate. */
+  debugCrate = { packageId, target ? defaultTarget }:
+    assert (builtins.isString packageId);
+    let
+      debug = rec {
+        # The built tree as passed to buildRustCrate.
+        buildTree = buildRustCrateWithFeatures {
+          buildRustCrateForPkgsFunc = _: lib.id;
+          inherit packageId;
+        };
+        sanitizedBuildTree = sanitizeForJson buildTree;
+        dependencyTree = sanitizeForJson
+          (
+            buildRustCrateWithFeatures {
+              buildRustCrateForPkgsFunc = _: crate: {
+                "01_crateName" = crate.crateName or false;
+                "02_features" = crate.features or [ ];
+                "03_dependencies" = crate.dependencies or [ ];
+              };
+              inherit packageId;
+            }
+          );
+        mergedPackageFeatures = mergePackageFeatures {
+          features = rootFeatures;
+          inherit packageId target;
+        };
+        diffedDefaultPackageFeatures = diffDefaultPackageFeatures {
+          inherit packageId target;
+        };
+      };
+    in
+    { internal = debug; };
+
+  /* Returns differences between cargo default features and crate2nix default
+    features.
+
+    This is useful for verifying the feature resolution in crate2nix.
+  */
+  diffDefaultPackageFeatures =
+    { crateConfigs ? crates
+    , packageId
+    , target
+    }:
+      assert (builtins.isAttrs crateConfigs);
+      let
+        prefixValues = prefix: lib.mapAttrs (n: v: { "${prefix}" = v; });
+        mergedFeatures =
+          prefixValues
+            "crate2nix"
+            (mergePackageFeatures { inherit crateConfigs packageId target; features = [ "default" ]; });
+        configs = prefixValues "cargo" crateConfigs;
+        combined = lib.foldAttrs (a: b: a // b) { } [ mergedFeatures configs ];
+        onlyInCargo =
+          builtins.attrNames
+            (lib.filterAttrs (n: v: !(v ? "crate2nix") && (v ? "cargo")) combined);
+        onlyInCrate2Nix =
+          builtins.attrNames
+            (lib.filterAttrs (n: v: (v ? "crate2nix") && !(v ? "cargo")) combined);
+        differentFeatures = lib.filterAttrs
+          (
+            n: v:
+              (v ? "crate2nix")
+              && (v ? "cargo")
+              && (v.crate2nix.features or [ ]) != (v."cargo".resolved_default_features or [ ])
+          )
+          combined;
+      in
+      builtins.toJSON {
+        inherit onlyInCargo onlyInCrate2Nix differentFeatures;
+      };
+
+  /* Returns an attrset mapping packageId to the list of enabled features.
+
+    If multiple paths to a dependency enable different features, the
+    corresponding feature sets are merged. Features in rust are additive.
+  */
+  mergePackageFeatures =
+    { crateConfigs ? crates
+    , packageId
+    , rootPackageId ? packageId
+    , features ? rootFeatures
+    , dependencyPath ? [ crates.${packageId}.crateName ]
+    , featuresByPackageId ? { }
+    , target
+      # Adds devDependencies to the crate with rootPackageId.
+    , runTests ? false
+    , ...
+    } @ args:
+      assert (builtins.isAttrs crateConfigs);
+      assert (builtins.isString packageId);
+      assert (builtins.isString rootPackageId);
+      assert (builtins.isList features);
+      assert (builtins.isList dependencyPath);
+      assert (builtins.isAttrs featuresByPackageId);
+      assert (builtins.isAttrs target);
+      assert (builtins.isBool runTests);
+      let
+        crateConfig = crateConfigs."${packageId}" or (builtins.throw "Package not found: ${packageId}");
+        expandedFeatures = expandFeatures (crateConfig.features or { }) features;
+        enabledFeatures = enableFeatures (crateConfig.dependencies or [ ]) expandedFeatures;
+        depWithResolvedFeatures = dependency:
+          let
+            packageId = dependency.packageId;
+            features = dependencyFeatures enabledFeatures dependency;
+          in
+          { inherit packageId features; };
+        resolveDependencies = cache: path: dependencies:
+          assert (builtins.isAttrs cache);
+          assert (builtins.isList dependencies);
+          let
+            enabledDependencies = filterEnabledDependencies {
+              inherit dependencies target;
+              features = enabledFeatures;
+            };
+            directDependencies = map depWithResolvedFeatures enabledDependencies;
+            foldOverCache = op: lib.foldl op cache directDependencies;
+          in
+          foldOverCache
+            (
+              cache: { packageId, features }:
+                let
+                  cacheFeatures = cache.${packageId} or [ ];
+                  combinedFeatures = sortedUnique (cacheFeatures ++ features);
+                in
+                if cache ? ${packageId} && cache.${packageId} == combinedFeatures
+                then cache
+                else
+                  mergePackageFeatures {
+                    features = combinedFeatures;
+                    featuresByPackageId = cache;
+                    inherit crateConfigs packageId target runTests rootPackageId;
+                  }
+            );
+        cacheWithSelf =
+          let
+            cacheFeatures = featuresByPackageId.${packageId} or [ ];
+            combinedFeatures = sortedUnique (cacheFeatures ++ enabledFeatures);
+          in
+          featuresByPackageId // {
+            "${packageId}" = combinedFeatures;
+          };
+        cacheWithDependencies =
+          resolveDependencies cacheWithSelf "dep"
+            (
+              crateConfig.dependencies or [ ]
+              ++ lib.optionals
+                (runTests && packageId == rootPackageId)
+                (crateConfig.devDependencies or [ ])
+            );
+        cacheWithAll =
+          resolveDependencies
+            cacheWithDependencies "build"
+            (crateConfig.buildDependencies or [ ]);
+      in
+      cacheWithAll;
+
+  /* Returns the enabled dependencies given the enabled features. */
+  filterEnabledDependencies = { dependencies, features, target }:
+    assert (builtins.isList dependencies);
+    assert (builtins.isList features);
+    assert (builtins.isAttrs target);
+
+    lib.filter
+      (
+        dep:
+        let
+          targetFunc = dep.target or (features: true);
+        in
+        targetFunc { inherit features target; }
+        && (
+          !(dep.optional or false)
+          || builtins.any (doesFeatureEnableDependency dep) features
+        )
+      )
+      dependencies;
+
+  /* Returns whether the given feature should enable the given dependency. */
+  doesFeatureEnableDependency = { name, rename ? null, ... }: feature:
+    let
+      prefix = "${name}/";
+      len = builtins.stringLength prefix;
+      startsWithPrefix = builtins.substring 0 len feature == prefix;
+    in
+    (rename == null && feature == name)
+    || (rename != null && rename == feature)
+    || startsWithPrefix;
+
+  /* Returns the expanded features for the given inputFeatures by applying the
+    rules in featureMap.
+
+    featureMap is an attribute set which maps feature names to lists of further
+    feature names to enable in case this feature is selected.
+  */
+  expandFeatures = featureMap: inputFeatures:
+    assert (builtins.isAttrs featureMap);
+    assert (builtins.isList inputFeatures);
+    let
+      expandFeature = feature:
+        assert (builtins.isString feature);
+        [ feature ] ++ (expandFeatures featureMap (featureMap."${feature}" or [ ]));
+      outFeatures = lib.concatMap expandFeature inputFeatures;
+    in
+    sortedUnique outFeatures;
+
+  /* This function adds optional dependencies as features if they are enabled
+    indirectly by dependency features. This function mimics Cargo's behavior
+    described in a note at:
+    https://doc.rust-lang.org/nightly/cargo/reference/features.html#dependency-features
+  */
+  enableFeatures = dependencies: features:
+    assert (builtins.isList features);
+    assert (builtins.isList dependencies);
+    let
+      additionalFeatures = lib.concatMap
+        (
+          dependency:
+            assert (builtins.isAttrs dependency);
+            let
+              enabled = builtins.any (doesFeatureEnableDependency dependency) features;
+            in
+            if (dependency.optional or false) && enabled then [ dependency.name ] else [ ]
+        )
+        dependencies;
+    in
+    sortedUnique (features ++ additionalFeatures);
+
+  /*
+    Returns the actual features for the given dependency.
+
+    features: The features of the crate that refers this dependency.
+  */
+  dependencyFeatures = features: dependency:
+    assert (builtins.isList features);
+    assert (builtins.isAttrs dependency);
+    let
+      defaultOrNil =
+        if dependency.usesDefaultFeatures or true
+        then [ "default" ]
+        else [ ];
+      explicitFeatures = dependency.features or [ ];
+      additionalDependencyFeatures =
+        let
+          dependencyPrefix = (dependency.rename or dependency.name) + "/";
+          dependencyFeatures =
+            builtins.filter (f: lib.hasPrefix dependencyPrefix f) features;
+        in
+        builtins.map (lib.removePrefix dependencyPrefix) dependencyFeatures;
+    in
+    defaultOrNil ++ explicitFeatures ++ additionalDependencyFeatures;
+
+  /* Sorts and removes duplicates from a list of strings. */
+  sortedUnique = features:
+    assert (builtins.isList features);
+    assert (builtins.all builtins.isString features);
+    let
+      outFeaturesSet = lib.foldl (set: feature: set // { "${feature}" = 1; }) { } features;
+      outFeaturesUnique = builtins.attrNames outFeaturesSet;
+    in
+    builtins.sort (a: b: a < b) outFeaturesUnique;
+
+  deprecationWarning = message: value:
+    if strictDeprecation
+    then builtins.throw "strictDeprecation enabled, aborting: ${message}"
+    else builtins.trace message value;
+
+  #
+  # crate2nix/default.nix (excerpt end)
+  #
+  };
+}
+
diff --git a/nixpkgs/pkgs/servers/search/meilisearch/crate-hashes.json b/nixpkgs/pkgs/servers/search/meilisearch/crate-hashes.json
new file mode 100644
index 000000000000..4ee1c270688e
--- /dev/null
+++ b/nixpkgs/pkgs/servers/search/meilisearch/crate-hashes.json
@@ -0,0 +1,13 @@
+{
+  "actix-cors 0.6.0-beta.1 (git+https://github.com/MarinPostma/actix-extras.git?rev=2dac1a4#2dac1a421619bf7b386dea63d3ae25a3bc4abc43)": "0ny03ibf8vvdvcmcvzlvngx80rvmh47bx517iqc5wh74yzdmdlsn",
+  "actix-web-static-files 3.0.5 (git+https://github.com/MarinPostma/actix-web-static-files.git?rev=6db8c3e#6db8c3e2940d61659581492b5e9c9b9062567613)": "1q00s1w2ry6kl7j4bn4q1xqpdn90sc3icjm2wml8fn4rszamhnqy",
+  "assert-json-diff 1.0.1 (git+https://github.com/qdequele/assert-json-diff?branch=master#9012a0c8866d0f2db0ef9a6242e4a19d1e8c67e4)": "1inv5y75acrw0vhpsc32rh5h0701vnm7c4lcsqcdzd8sdy76cisl",
+  "grenad 0.1.0 (git+https://github.com/Kerollmops/grenad.git?rev=3adcb26#3adcb267dcbc590c7da10eb5f887a254865b3dbe)": "03zzi59yk2rgasdzsf7rgz26vpk5060vlfskls9cb556wiizh6cl",
+  "heed 0.12.0 (git+https://github.com/Kerollmops/heed?tag=v0.12.1#8e5dc6d71c8166a8d7d0db059e6e51478942b551)": "09h9i693jiy3ybvc5acj8giszsv3kchpaxs4ld2ha81zxcmmfkrw",
+  "heed-traits 0.7.0 (git+https://github.com/Kerollmops/heed?tag=v0.12.1#8e5dc6d71c8166a8d7d0db059e6e51478942b551)": "09h9i693jiy3ybvc5acj8giszsv3kchpaxs4ld2ha81zxcmmfkrw",
+  "heed-types 0.7.2 (git+https://github.com/Kerollmops/heed?tag=v0.12.1#8e5dc6d71c8166a8d7d0db059e6e51478942b551)": "09h9i693jiy3ybvc5acj8giszsv3kchpaxs4ld2ha81zxcmmfkrw",
+  "lmdb-rkv-sys 0.15.0 (git+https://github.com/meilisearch/lmdb-rs#d0b50d02938ee84e4e4372697ea991fe2a4cae3b)": "0pqar429y4qzxmyr6daw32syvggm4dk7cs7g01lp6f8a6cvbbwkc",
+  "meilisearch-tokenizer 0.2.5 (git+https://github.com/meilisearch/tokenizer.git?tag=v0.2.5#c0b5cf741ed9485147f2cbe523f2214d4fa4c395)": "0hvf92z24adqwhh81r9arirhrvgyp1wva9g2wsrir4xqvaqdzdr5",
+  "milli 0.10.2 (git+https://github.com/meilisearch/milli.git?tag=v0.10.2#879d5e8799836d93f8995810965b6797be4f69d1)": "09gdf4mwrn3ka1iqh3h33b86p68c8ichkkkd4231igl11wxj91d1",
+  "pest 2.1.3 (git+https://github.com/pest-parser/pest.git?rev=51fd1d49f1041f7839975664ef71fe15c7dcaf67#51fd1d49f1041f7839975664ef71fe15c7dcaf67)": "1l2ixz723f58ksdm0j12z9zw5cnap0fhcd5kbhbz5ndazy8sn5rf"
+}
diff --git a/nixpkgs/pkgs/servers/search/meilisearch/default.nix b/nixpkgs/pkgs/servers/search/meilisearch/default.nix
index 4ad1d78eb502..5a6b6342fa3b 100644
--- a/nixpkgs/pkgs/servers/search/meilisearch/default.nix
+++ b/nixpkgs/pkgs/servers/search/meilisearch/default.nix
@@ -1,29 +1,48 @@
-{ lib, stdenv
-, rustPlatform
+{ lib
+, stdenv
+, buildRustCrate
+, defaultCrateOverrides
 , fetchFromGitHub
-, IOKit
 , Security
+, features ? [ ]
 }:
 
-rustPlatform.buildRustPackage rec {
-  pname = "meilisearch";
-  version = "0.9.0";
-
+let
+  version = "0.21.1";
   src = fetchFromGitHub {
     owner = "meilisearch";
     repo = "MeiliSearch";
     rev = "v${version}";
-    sha256 = "00i5vsbcyrbsvhr5n1b3pxa87v0kfw6pg931i2kzyf4wh021k6sw";
+    sha256 = "sha256-wyyhTNhVw8EJhahstLK+QuEhufQC68rMpw/ngK8FL8Y=";
   };
-
-  cargoSha256 = "1icxpragn69c95i5gyx0b07gw4h82r8fsv0nvns0v8dxqisz877k";
-
-  buildInputs = lib.optionals stdenv.isDarwin [ IOKit Security ];
-
-  meta = with lib; {
-    description = "Ultra relevant and instant full-text search API";
-    homepage = "https://meilisearch.com/";
-    license = licenses.mit;
-    maintainers = with maintainers; [ Br1ght0ne ];
+  customBuildRustCrateForPkgs = pkgs: buildRustCrate.override {
+    defaultCrateOverrides = defaultCrateOverrides // {
+      meilisearch-http = attrs: {
+        src = "${src}/meilisearch-http";
+        buildInputs = lib.optionals stdenv.isDarwin [ Security ];
+      };
+      meilisearch-error = attrs: {
+        src = "${src}/meilisearch-error";
+      };
+    };
+  };
+  cargo_nix = import ./Cargo.nix {
+    nixpkgs = ../../../..;
+    buildRustCrateForPkgs = customBuildRustCrateForPkgs;
   };
+  meilisearch-http = cargo_nix.workspaceMembers."meilisearch-http".build.override {
+    inherit features;
+  };
+in
+stdenv.mkDerivation {
+  pname = "meilisearch";
+  inherit version src;
+  dontUnpack = true;
+  dontBuild = true;
+  installPhase = ''
+    mkdir -p $out/bin
+    cp ${meilisearch-http}/bin/meilisearch $out/bin/meilisearch
+  '';
+  dontCheck = true;
+  dontFixup = true;
 }
diff --git a/nixpkgs/pkgs/servers/search/meilisearch/unify-pest-dependency-version.patch b/nixpkgs/pkgs/servers/search/meilisearch/unify-pest-dependency-version.patch
new file mode 100644
index 000000000000..4569aa1c538b
--- /dev/null
+++ b/nixpkgs/pkgs/servers/search/meilisearch/unify-pest-dependency-version.patch
@@ -0,0 +1,74 @@
+diff --git a/Cargo.lock b/Cargo.lock
+index e92c0ed0..63bb0996 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -1700,7 +1700,7 @@ dependencies = [
+  "obkv",
+  "once_cell",
+  "ordered-float",
+- "pest 2.1.3 (git+https://github.com/pest-parser/pest.git?rev=51fd1d49f1041f7839975664ef71fe15c7dcaf67)",
++ "pest",
+  "pest_derive",
+  "rayon",
+  "roaring",
+@@ -1939,15 +1939,6 @@ version = "2.1.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
+ 
+-[[package]]
+-name = "pest"
+-version = "2.1.3"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "10f4872ae94d7b90ae48754df22fd42ad52ce740b8f370b03da4835417403e53"
+-dependencies = [
+- "ucd-trie",
+-]
+-
+ [[package]]
+ name = "pest"
+ version = "2.1.3"
+@@ -1962,7 +1953,7 @@ version = "2.1.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "833d1ae558dc601e9a60366421196a8d94bc0ac980476d0b67e1d0988d72b2d0"
+ dependencies = [
+- "pest 2.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "pest",
+  "pest_generator",
+ ]
+ 
+@@ -1972,7 +1963,7 @@ version = "2.1.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "99b8db626e31e5b81787b9783425769681b347011cc59471e33ea46d2ea0cf55"
+ dependencies = [
+- "pest 2.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "pest",
+  "pest_meta",
+  "proc-macro2 1.0.27",
+  "quote 1.0.9",
+@@ -1986,7 +1977,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "54be6e404f5317079812fc8f9f5279de376d8856929e21c184ecf6bbd692a11d"
+ dependencies = [
+  "maplit",
+- "pest 2.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "pest",
+  "sha-1 0.8.2",
+ ]
+ 
+diff --git a/Cargo.toml b/Cargo.toml
+index a1dca038..405f210a 100644
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -1,8 +1,9 @@
+ [workspace]
+-members = [
+-    "meilisearch-http",
+-    "meilisearch-error",
+-]
++members = ["meilisearch-http", "meilisearch-error"]
++resolver = "2"
+ 
+ [profile.release]
+ debug = true
++
++[patch.crates-io]
++pest = { git = "https://github.com/pest-parser/pest.git", rev = "51fd1d49f1041f7839975664ef71fe15c7dcaf67" }
diff --git a/nixpkgs/pkgs/servers/serviio/default.nix b/nixpkgs/pkgs/servers/serviio/default.nix
index f3c8fc2311cc..29c223a3470e 100644
--- a/nixpkgs/pkgs/servers/serviio/default.nix
+++ b/nixpkgs/pkgs/servers/serviio/default.nix
@@ -9,8 +9,6 @@ stdenv.mkDerivation rec {
     sha256 = "0mxpdyhjf4w83q8ssmvpxm95hw4x7lfkh48vvdablccfndh82x2i";
   };
 
-  phases = ["unpackPhase" "installPhase"];
-
   installPhase = ''
     mkdir -p $out
     cp -R config legal lib library plugins LICENCE.txt NOTICE.txt README.txt RELEASE_NOTES.txt $out
diff --git a/nixpkgs/pkgs/servers/shishi/default.nix b/nixpkgs/pkgs/servers/shishi/default.nix
index 6737119d8812..91f84f2f587f 100644
--- a/nixpkgs/pkgs/servers/shishi/default.nix
+++ b/nixpkgs/pkgs/servers/shishi/default.nix
@@ -22,10 +22,11 @@ let
 in
 with lib;
 stdenv.mkDerivation rec {
-  name = "shishi-1.0.2";
+  pname = "shishi";
+  version = "1.0.2";
 
   src = fetchurl {
-    url = "mirror://gnu/shishi/${name}.tar.gz";
+    url = "mirror://gnu/shishi/shishi-${version}.tar.gz";
     sha256 = "032qf72cpjdfffq1yq54gz3ahgqf2ijca4vl31sfabmjzq9q370d";
   };
 
diff --git a/nixpkgs/pkgs/servers/silc-server/default.nix b/nixpkgs/pkgs/servers/silc-server/default.nix
index 48bc4395d073..83596cffadfb 100644
--- a/nixpkgs/pkgs/servers/silc-server/default.nix
+++ b/nixpkgs/pkgs/servers/silc-server/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "silc-server-1.1.18";
+  pname = "silc-server";
+  version = "1.1.18";
 
   src = fetchurl {
-    url = "http://silcnet.org/download/server/sources/${name}.tar.bz2";
+    url = "http://silcnet.org/download/server/sources/silc-server-${version}.tar.bz2";
     sha256 = "0nr0hrwr4kbi611qazmrify7a27nzxb5n7d97f5i9cw3avxlw38s";
   };
 
diff --git a/nixpkgs/pkgs/servers/sip/sipwitch/default.nix b/nixpkgs/pkgs/servers/sip/sipwitch/default.nix
index f5b3288c60cc..4f4f5e44ee60 100644
--- a/nixpkgs/pkgs/servers/sip/sipwitch/default.nix
+++ b/nixpkgs/pkgs/servers/sip/sipwitch/default.nix
@@ -1,10 +1,11 @@
 { fetchurl, lib, stdenv, pkg-config, ucommon, libosip, libexosip, gnutls, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "sipwitch-1.9.15";
+  pname = "sipwitch";
+  version = "1.9.15";
 
   src = fetchurl {
-    url = "mirror://gnu/sipwitch/${name}.tar.gz";
+    url = "mirror://gnu/sipwitch/sipwitch-${version}.tar.gz";
     sha256 = "2a7aa86a653f6810b3cd9cce6c37b3f70e937e7d14b09fd5c2a70d70588a9482";
   };
 
diff --git a/nixpkgs/pkgs/servers/smcroute/default.nix b/nixpkgs/pkgs/servers/smcroute/default.nix
index 0ef8a5799e2e..9bf67988e1b6 100644
--- a/nixpkgs/pkgs/servers/smcroute/default.nix
+++ b/nixpkgs/pkgs/servers/smcroute/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "smcroute";
-  version = "2.4.4";
+  version = "2.5.1";
 
   src = fetchFromGitHub {
     owner = "troglobit";
     repo = "smcroute";
     rev = version;
-    sha256 = "0mjq9cx093b0825rqbcq3z0lzy81pd8h0fz6rda6npg3604rxj81";
+    sha256 = "sha256-r6f/tC2832yIMoXVIUKTolonzhnVWQY46HfP3pu5ndY=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/nixpkgs/pkgs/servers/sozu/default.nix b/nixpkgs/pkgs/servers/sozu/default.nix
index 07f85c889c21..1104b23f0a93 100644
--- a/nixpkgs/pkgs/servers/sozu/default.nix
+++ b/nixpkgs/pkgs/servers/sozu/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "sozu";
-  version = "0.11.56";
+  version = "0.13.6";
 
   src = fetchFromGitHub {
     owner = "sozu-proxy";
     repo = pname;
     rev = version;
-    sha256 = "sha256-/XyBzhZCsX9sGk+iTFlDnblWfDCZdI4b9yfo4Z+Wp1U=";
+    sha256 = "sha256-C2wIkneOh6t8gjoHRYMRorAKEVvM3R+NRZbG9hhCE5A=";
   };
 
-  cargoSha256 = "sha256-xnps3/i6BpzdwUAQmb8aoOPc39L2P52y/ZDAeLoEIU8=";
+  cargoSha256 = "sha256-Ej2/X1aQ8uRdZKpVRT4+AzhDWMv/sT8GrCitUmkrHmI=";
 
   buildInputs =
     lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security;
diff --git a/nixpkgs/pkgs/servers/sql/dolt/default.nix b/nixpkgs/pkgs/servers/sql/dolt/default.nix
index 7d9009f8c654..2d9bf7283253 100644
--- a/nixpkgs/pkgs/servers/sql/dolt/default.nix
+++ b/nixpkgs/pkgs/servers/sql/dolt/default.nix
@@ -1,27 +1,26 @@
 { fetchFromGitHub, lib, buildGoModule }:
 
 buildGoModule rec {
-    pname = "dolt";
-    version = "0.24.1";
+  pname = "dolt";
+  version = "0.27.4";
 
-    src = fetchFromGitHub {
-        owner = "liquidata-inc";
-        repo = "dolt";
-        rev = "v${version}";
-        sha256 = "sha256-z2F6ru2LNATiI4rSImbvwgxqKxuj8kwzjhwSbsPDBEs=";
-    };
+  src = fetchFromGitHub {
+    owner = "liquidata-inc";
+    repo = "dolt";
+    rev = "v${version}";
+    sha256 = "sha256-q3zs402E3mqvxAuf/ll/ao9/c9NOWR7uYJMbieFXS1U=";
+  };
 
-    modRoot = "./go";
-    subPackages = [ "cmd/dolt" "cmd/git-dolt" "cmd/git-dolt-smudge" ];
-  vendorSha256 = "sha256-JO2hGrKbt+5Eh7v7LCZrPBK84Q9gjquchlZ5MfMY3uY=";
+  modRoot = "./go";
+  subPackages = [ "cmd/dolt" "cmd/git-dolt" "cmd/git-dolt-smudge" ];
+  vendorSha256 = "sha256-zF7pofbYrVzEiW6zttyePuEWueqKRKclc0WrYwb1bCU=";
 
   doCheck = false;
 
-    meta = with lib; {
-        description = "Relational database with version control and CLI a-la Git";
-        homepage = "https://github.com/liquidata-inc/dolt";
-        license = licenses.asl20;
-        maintainers = with maintainers; [ danbst ];
-        platforms = platforms.linux ++ platforms.darwin;
-    };
+  meta = with lib; {
+    description = "Relational database with version control and CLI a-la Git";
+    homepage = "https://github.com/liquidata-inc/dolt";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ danbst ];
+  };
 }
diff --git a/nixpkgs/pkgs/servers/sql/materialize/default.nix b/nixpkgs/pkgs/servers/sql/materialize/default.nix
index f2c6d59bd2ae..184c3cc1ebc8 100644
--- a/nixpkgs/pkgs/servers/sql/materialize/default.nix
+++ b/nixpkgs/pkgs/servers/sql/materialize/default.nix
@@ -40,17 +40,17 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "materialize";
-  version = "0.8.1";
-  rev = "ef996c54db7c9504690b9f230a4a676ae1fb617f";
+  version = "0.8.3";
+  rev = "3e47d280945f0ddbdc263fc643f067649f66eda1";
 
   src = fetchFromGitHub {
     owner = "MaterializeInc";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1lrv0q191rhdqk316557qk2a6b00vrf07j1g63ri6mp8ad1g8gk3";
+    sha256 = "15635hcw04nms133k9l5582xbk7frc86nka91yaafl63q6pwbdvg";
   };
 
-  cargoSha256 = "0fx7m1ci4zak7sm71kdiaj2l29rlqax15hd424i9yn4aj1bd358b";
+  cargoSha256 = "1fxqjhjs4bqq6nzax7xrhwjpv57dk90iw9fl8ilp41wzg7yvyhcm";
 
   nativeBuildInputs = [ cmake perl pkg-config ]
     # Provides the mig command used by the krb5-src build script
@@ -86,7 +86,7 @@ rustPlatform.buildRustPackage rec {
     homepage    = "https://materialize.com";
     description = "A streaming SQL materialized view engine for real-time applications";
     license     = licenses.bsl11;
-    platforms   = [ "x86_64-linux" "x86_64-darwin" ];
+    platforms   = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" ];
     maintainers = [ maintainers.petrosagg ];
   };
 }
diff --git a/nixpkgs/pkgs/servers/sql/mysql/5.7.x.nix b/nixpkgs/pkgs/servers/sql/mysql/5.7.x.nix
index 36e26d38fc48..c1ce4d9e1e14 100644
--- a/nixpkgs/pkgs/servers/sql/mysql/5.7.x.nix
+++ b/nixpkgs/pkgs/servers/sql/mysql/5.7.x.nix
@@ -16,7 +16,7 @@ self = stdenv.mkDerivation rec {
     sha256 = "1fhv16zr46pxm1j8vb8x8mh3nwzglg01arz8gnazbmjqldr5idpq";
   };
 
-  preConfigure = lib.optional stdenv.isDarwin ''
+  preConfigure = lib.optionalString stdenv.isDarwin ''
     ln -s /bin/ps $TMPDIR/ps
     export PATH=$PATH:$TMPDIR
   '';
diff --git a/nixpkgs/pkgs/servers/sql/mysql/8.0.x.nix b/nixpkgs/pkgs/servers/sql/mysql/8.0.x.nix
index d5bc01716997..e37789e7ee6c 100644
--- a/nixpkgs/pkgs/servers/sql/mysql/8.0.x.nix
+++ b/nixpkgs/pkgs/servers/sql/mysql/8.0.x.nix
@@ -1,16 +1,16 @@
 { lib, stdenv, fetchurl, bison, cmake, pkg-config
 , boost, icu, libedit, libevent, lz4, ncurses, openssl, protobuf, re2, readline, zlib, zstd
-, numactl, perl, cctools, CoreServices, developer_cmds, libtirpc, rpcsvc-proto, curl
+, numactl, perl, cctools, CoreServices, developer_cmds, libtirpc, rpcsvc-proto, curl, DarwinTools
 }:
 
 let
 self = stdenv.mkDerivation rec {
   pname = "mysql";
-  version = "8.0.25";
+  version = "8.0.26";
 
   src = fetchurl {
     url = "https://dev.mysql.com/get/Downloads/MySQL-${self.mysqlVersion}/${pname}-${version}.tar.gz";
-    sha256 = "c16aa9cf621bc028efba2bb11f3c36a323b125fa0d108ff92fab60e46309206e";
+    sha256 = "sha256-293Nx3L4BscRo3MTY6UPPTWeqsnF0UgAhHKKHCzl2k0=";
   };
 
   patches = [
@@ -32,7 +32,7 @@ self = stdenv.mkDerivation rec {
   ] ++ lib.optionals stdenv.isLinux [
     numactl libtirpc
   ] ++ lib.optionals stdenv.isDarwin [
-    cctools CoreServices developer_cmds
+    cctools CoreServices developer_cmds DarwinTools
   ];
 
   outputs = [ "out" "static" ];
diff --git a/nixpkgs/pkgs/servers/sql/mysql/jdbc/builder.sh b/nixpkgs/pkgs/servers/sql/mysql/jdbc/builder.sh
deleted file mode 100644
index 56336e041356..000000000000
--- a/nixpkgs/pkgs/servers/sql/mysql/jdbc/builder.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-source $stdenv/setup
-
-set -e
-
-unzip $src
-cd mysql-connector-java-*
-
-mkdir -p $out/share/java
-cp mysql-connector-java-*-bin.jar $out/share/java/mysql-connector-java.jar
diff --git a/nixpkgs/pkgs/servers/sql/mysql/jdbc/default.nix b/nixpkgs/pkgs/servers/sql/mysql/jdbc/default.nix
index 6b22185cd800..612d103876be 100644
--- a/nixpkgs/pkgs/servers/sql/mysql/jdbc/default.nix
+++ b/nixpkgs/pkgs/servers/sql/mysql/jdbc/default.nix
@@ -1,18 +1,28 @@
-{lib, stdenv, fetchurl, ant, unzip}:
+{ lib, stdenv, fetchurl, ant, unzip }:
 
 stdenv.mkDerivation rec {
-  name = "mysql-connector-java-5.1.46";
-  builder = ./builder.sh;
+  pname = "mysql-connector-java";
+  version = "5.1.49";
 
   src = fetchurl {
-    url = "http://dev.mysql.com/get/Downloads/Connector-J/${name}.zip";
-    sha256 = "0dfjshrrx0ndfb6xbdpwhn1f1jkw0km57rgpar0ny8ixmgdnlwnm";
+    url = "https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-${version}.zip";
+    sha256 = "1bm4mm4xka4pq2rwxx3k8xlcpa1vjcglr3pf4ls2i4hamww047yk";
   };
 
+  installPhase = ''
+    mkdir -p $out/share/java
+    cp mysql-connector-java-*-bin.jar $out/share/java/mysql-connector-java.jar
+  '';
+
   nativeBuildInputs = [ unzip ];
+
   buildInputs = [ ant ];
 
-  meta = {
-    platforms = lib.platforms.unix;
+  meta = with lib; {
+    description = "MySQL Connector/J";
+    homepage = "https://dev.mysql.com/doc/connector-j/8.0/en/";
+    maintainers = with maintainers; [ ];
+    platforms = platforms.unix;
+    license = licenses.gpl2;
   };
 }
diff --git a/nixpkgs/pkgs/servers/sql/postgresql/default.nix b/nixpkgs/pkgs/servers/sql/postgresql/default.nix
index 5d0a9cfa8574..1f9a1ffc018b 100644
--- a/nixpkgs/pkgs/servers/sql/postgresql/default.nix
+++ b/nixpkgs/pkgs/servers/sql/postgresql/default.nix
@@ -33,7 +33,7 @@ let
       inherit sha256;
     };
 
-    hardeningEnable = lib.optionals (!stdenv.isDarwin) [ "pie" ];
+    hardeningEnable = lib.optionals (!stdenv.cc.isClang) [ "pie" ];
 
     outputs = [ "out" "lib" "doc" "man" ];
     setOutputFlags = false; # $out retains configureFlags :-/
diff --git a/nixpkgs/pkgs/servers/sql/postgresql/ext/pg_similarity.nix b/nixpkgs/pkgs/servers/sql/postgresql/ext/pg_similarity.nix
index e424120a390f..a4a8e6b0fe37 100644
--- a/nixpkgs/pkgs/servers/sql/postgresql/ext/pg_similarity.nix
+++ b/nixpkgs/pkgs/servers/sql/postgresql/ext/pg_similarity.nix
@@ -2,7 +2,8 @@
 
 stdenv.mkDerivation {
 
-  name = "pg_similarity-1.0";
+  pname = "pg_similarity";
+  version = "1.0";
   src = fetchFromGitHub {
     owner = "eulerto";
     repo = "pg_similarity";
diff --git a/nixpkgs/pkgs/servers/sql/postgresql/ext/timescaledb.nix b/nixpkgs/pkgs/servers/sql/postgresql/ext/timescaledb.nix
index bebe58676935..f8e3f00b7970 100644
--- a/nixpkgs/pkgs/servers/sql/postgresql/ext/timescaledb.nix
+++ b/nixpkgs/pkgs/servers/sql/postgresql/ext/timescaledb.nix
@@ -8,7 +8,7 @@
 
 stdenv.mkDerivation rec {
   pname = "timescaledb";
-  version = "2.3.1";
+  version = "2.4.1";
 
   nativeBuildInputs = [ cmake ];
   buildInputs = [ postgresql openssl libkrb5 ];
@@ -17,10 +17,10 @@ stdenv.mkDerivation rec {
     owner  = "timescale";
     repo   = "timescaledb";
     rev    = "refs/tags/${version}";
-    sha256 = "0azcg8fh0bbc4a6b0mghdg4b9v62bb3haaq6cycj40fk4mf1dldx";
+    sha256 = "0nc6nvngp5skz8rasvb7pyi9nlw642iwk19p17lizmw8swdm5nji";
   };
 
-  cmakeFlags = [ "-DSEND_TELEMETRY_DEFAULT=OFF" "-DREGRESS_CHECKS=OFF" ]
+  cmakeFlags = [ "-DSEND_TELEMETRY_DEFAULT=OFF" "-DREGRESS_CHECKS=OFF" "-DTAP_CHECKS=OFF" ]
     ++ lib.optionals stdenv.isDarwin [ "-DLINTER=OFF" ];
 
   # Fix the install phase which tries to install into the pgsql extension dir,
@@ -44,5 +44,6 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ volth marsam ];
     platforms   = postgresql.meta.platforms;
     license     = licenses.asl20;
+    broken      = versionOlder postgresql.version "12";
   };
 }
diff --git a/nixpkgs/pkgs/servers/sql/sqlite/jdbc/default.nix b/nixpkgs/pkgs/servers/sql/sqlite/jdbc/default.nix
index 01a9d5fa2e23..36fba217e005 100644
--- a/nixpkgs/pkgs/servers/sql/sqlite/jdbc/default.nix
+++ b/nixpkgs/pkgs/servers/sql/sqlite/jdbc/default.nix
@@ -11,8 +11,6 @@ stdenv.mkDerivation rec {
     sha256 = "1xk5fi2wzq3jspvbdm5hvs78501i14jy3v7x6fjnh5fnpqdacpd4";
   };
 
-  phases = [ "installPhase" ];
-
   installPhase = ''
     install -m444 -D ${src}/share/java/*${pname}-${version}.jar "$out/share/java/${pname}-${version}.jar"
   '';
diff --git a/nixpkgs/pkgs/servers/sql/virtuoso/6.x.nix b/nixpkgs/pkgs/servers/sql/virtuoso/6.x.nix
index 4737c0a38942..c811a1624128 100644
--- a/nixpkgs/pkgs/servers/sql/virtuoso/6.x.nix
+++ b/nixpkgs/pkgs/servers/sql/virtuoso/6.x.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, libxml2, openssl, readline, gawk }:
 
 stdenv.mkDerivation rec {
-  name = "virtuoso-opensource-6.1.6";
+  pname = "virtuoso-opensource";
+  version = "6.1.6";
 
   src = fetchurl {
-    url = "mirror://sourceforge/virtuoso/${name}.tar.gz";
+    url = "mirror://sourceforge/virtuoso/${pname}-${version}.tar.gz";
     sha256 = "0dx0lp7cngdchi0772hp93zzn6sdap7z8s3vay3mzb9xgf0sdgy6";
   };
 
@@ -23,7 +24,7 @@ stdenv.mkDerivation rec {
   postInstall = ''
     echo Moving documentation
     mkdir -pv $out/share/doc
-    mv -v $out/share/virtuoso/doc $out/share/doc/${name}
+    mv -v $out/share/virtuoso/doc $out/share/doc/${pname}-${version}
 
     echo Removing jars and empty directories
     find $out -name "*.a" -delete -o -name "*.jar" -delete -o -type d -empty -delete
diff --git a/nixpkgs/pkgs/servers/sql/virtuoso/7.x.nix b/nixpkgs/pkgs/servers/sql/virtuoso/7.x.nix
index a27cd249f1ce..173124596a09 100644
--- a/nixpkgs/pkgs/servers/sql/virtuoso/7.x.nix
+++ b/nixpkgs/pkgs/servers/sql/virtuoso/7.x.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, libxml2, openssl, readline, gawk }:
 
 stdenv.mkDerivation rec {
-  name = "virtuoso-opensource-7.2.4.2";
+  pname = "virtuoso-opensource";
+  version = "7.2.4.2";
 
   src = fetchurl {
-    url = "mirror://sourceforge/virtuoso/${name}.tar.gz";
+    url = "mirror://sourceforge/virtuoso/${pname}-${version}.tar.gz";
     sha256 = "12dqam1gc1v93l0bj0vlpvjqppki6y1hqrlznywxnw0rrz9pb002";
   };
 
@@ -21,7 +22,7 @@ stdenv.mkDerivation rec {
   postInstall=''
     echo Moving documentation
     mkdir -pv $out/share/doc
-    mv -v $out/share/virtuoso/doc $out/share/doc/${name}
+    mv -v $out/share/virtuoso/doc $out/share/doc/${pname}-${version}
     echo Removing jars and empty directories
     find $out -name "*.a" -delete -o -name "*.jar" -delete -o -type d -empty -delete
     '';
diff --git a/nixpkgs/pkgs/servers/squid/default.nix b/nixpkgs/pkgs/servers/squid/default.nix
index dd3405d35312..206e9fbb005f 100644
--- a/nixpkgs/pkgs/servers/squid/default.nix
+++ b/nixpkgs/pkgs/servers/squid/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "squid";
-  version = "4.15";
+  version = "4.16";
 
   src = fetchurl {
     url = "http://www.squid-cache.org/Versions/v4/${pname}-${version}.tar.xz";
-    sha256 = "sha256-tpOk5asoEaioVPYN4KYq+786lSux0EeVLJrgEyH4SiU=";
+    sha256 = "sha256-fgDokXV8HALa5UbJiY9EDGAxtoTYwkPW7atSkHbjumM=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/nixpkgs/pkgs/servers/swego/default.nix b/nixpkgs/pkgs/servers/swego/default.nix
index c71d705a00e5..9009abb92060 100644
--- a/nixpkgs/pkgs/servers/swego/default.nix
+++ b/nixpkgs/pkgs/servers/swego/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "swego";
-  version = "0.94";
+  version = "0.97";
 
   src = fetchFromGitHub {
     owner = "nodauf";
     repo = "Swego";
     rev = "v${version}";
-    sha256 = "sha256-PquedlfBzNSXa3l6IIHlf6Xb4M4uEb1XCKRfN229IEA=";
+    sha256 = "sha256-T4xkjNdOSD0kHLVfwUz1PrFokLmnbzcj/pbV36W+2ZQ=";
   };
 
-  vendorSha256 = "sha256-TK1LN9EmVH95jPO6K7gtCwdnW4WOKH3K7Q0FhgNMVUQ=";
+  vendorSha256 = "sha256-GiYJfykcBvIoJ0zvdtT3P+iHmBgBWIeOTaniFysAPHs=";
 
   postInstall = ''
     mv $out/bin/src $out/bin/$pname
diff --git a/nixpkgs/pkgs/servers/tailscale/default.nix b/nixpkgs/pkgs/servers/tailscale/default.nix
index e09def926e18..e4007cb6c2d0 100644
--- a/nixpkgs/pkgs/servers/tailscale/default.nix
+++ b/nixpkgs/pkgs/servers/tailscale/default.nix
@@ -1,37 +1,34 @@
-{ lib, buildGoModule, fetchFromGitHub, makeWrapper, iptables, iproute2 }:
+{ lib, buildGoModule, fetchFromGitHub, makeWrapper, iptables, iproute2, procps }:
 
 buildGoModule rec {
   pname = "tailscale";
-  version = "1.10.2";
+  version = "1.14.0";
 
   src = fetchFromGitHub {
     owner = "tailscale";
     repo = "tailscale";
     rev = "v${version}";
-    sha256 = "sha256-bAWQTdpqDF7ERQzNY1k0NtxdA9M9bIyfHtvX0nKfIQY=";
+    sha256 = "sha256-FlPb7PtX/q34I7DZBLB9RIlg9tjKqktwn7N8Pv02hYc=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
 
   CGO_ENABLED = 0;
 
-  vendorSha256 = "1mq5bbz9vsxhcrwxpsdnhp8q8zrnp6jpqggn9n5kqr82f3bizwxv";
+  vendorSha256 = "sha256-em6443czDMak9RxLq7Dj9miknqg29vf0a0N82LmNrHk=";
 
   doCheck = false;
 
   subPackages = [ "cmd/tailscale" "cmd/tailscaled" ];
 
-  preBuild = ''
-    export buildFlagsArray=(
-      -tags="xversion"
-      -ldflags="-X tailscale.com/version.Long=${version} -X tailscale.com/version.Short=${version}"
-    )
-  '';
+  tags = [ "xversion" ];
+
+  ldflags = [ "-X tailscale.com/version.Long=${version}" "-X tailscale.com/version.Short=${version}" ];
 
   postInstall = ''
-    wrapProgram $out/bin/tailscaled --prefix PATH : ${
-      lib.makeBinPath [ iproute2 iptables ]
-    }
+    wrapProgram $out/bin/tailscaled --prefix PATH : ${lib.makeBinPath [ iproute2 iptables ]}
+    wrapProgram $out/bin/tailscale --suffix PATH : ${lib.makeBinPath [ procps ]}
+
     sed -i -e "s#/usr/sbin#$out/bin#" -e "/^EnvironmentFile/d" ./cmd/tailscaled/tailscaled.service
     install -D -m0444 -t $out/lib/systemd/system ./cmd/tailscaled/tailscaled.service
   '';
diff --git a/nixpkgs/pkgs/servers/tautulli/default.nix b/nixpkgs/pkgs/servers/tautulli/default.nix
index cecdce5aa960..7a48a9b2478a 100644
--- a/nixpkgs/pkgs/servers/tautulli/default.nix
+++ b/nixpkgs/pkgs/servers/tautulli/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonApplication rec {
   pname = "Tautulli";
-  version = "2.7.3";
+  version = "2.7.5";
   format = "other";
 
   pythonPath = [ setuptools ];
@@ -12,7 +12,7 @@ buildPythonApplication rec {
     owner = "Tautulli";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1ig2vq19sb6n2x2w2zbf54izynaqay9l8xq1zds116v0z729wlkh";
+    sha256 = "h4IRPUaqgb/AgqKJJEsHBydJOH2i//fpWzMFa0VM2ns=";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/servers/tegola/default.nix b/nixpkgs/pkgs/servers/tegola/default.nix
index 5e3aa2d0ef67..d94f97baf865 100644
--- a/nixpkgs/pkgs/servers/tegola/default.nix
+++ b/nixpkgs/pkgs/servers/tegola/default.nix
@@ -13,7 +13,7 @@ buildGoPackage rec {
     sha256 = "sha256-NA2KwyhLLIusf6a6v+OcmHz91kPcIhvG9PRmRk8h+fQ=";
   };
 
-  buildFlagsArray = [ "-ldflags=-s -w -X ${goPackagePath}/cmd/tegola/cmd.Version=${version}" ];
+  ldflags = [ "-s" "-w" "-X ${goPackagePath}/cmd/tegola/cmd.Version=${version}" ];
 
   excludedPackages = [ "example" ];
 
diff --git a/nixpkgs/pkgs/servers/teleport/default.nix b/nixpkgs/pkgs/servers/teleport/default.nix
index ad96798133b5..05094045fd32 100644
--- a/nixpkgs/pkgs/servers/teleport/default.nix
+++ b/nixpkgs/pkgs/servers/teleport/default.nix
@@ -1,56 +1,49 @@
 # This file was generated by https://github.com/kamilchm/go2nix v2.0-dev
-{ lib, buildGoModule, zip, fetchFromGitHub, makeWrapper, xdg-utils }:
+{ lib, buildGoModule, fetchFromGitHub, makeWrapper, xdg-utils }:
 let
   webassets = fetchFromGitHub {
     owner = "gravitational";
     repo = "webassets";
-    rev = "8a30ee4e3570c7db0566028b6b562167aa40f646";
-    sha256 = "sha256-noMVcB1cjiMcRke6/qJIzDaEh4uPIewsedLQRdPbzIQ=";
+    rev = "2891baa0de7283f61c08ff2fa4494e53f9d4afc1";
+    sha256 = "sha256-AvhCOLa+mgty9METlOCARlUOEDMAW6Kk1esSmBbVcok=";
   };
 in
-
 buildGoModule rec {
   pname = "teleport";
-  version = "6.2.7";
+  version = "7.0.3";
 
   # This repo has a private submodule "e" which fetchgit cannot handle without failing.
   src = fetchFromGitHub {
     owner = "gravitational";
     repo = "teleport";
     rev = "v${version}";
-    sha256 = "0ychs2pqi3awbr0vraz0ksddwk5hihrd1d9raq8mxyw5dz5124ki";
+    sha256 = "sha256-pWe4n/HilieUYfoO0OElC9ccMaTOaMcVadUfWUJJGhk=";
   };
 
   vendorSha256 = null;
 
   subPackages = [ "tool/tctl" "tool/teleport" "tool/tsh" ];
+  tags = [ "webassets_embed" ];
 
-  nativeBuildInputs = [ zip makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
-  # https://github.com/NixOS/nixpkgs/issues/120738
-  patches = [ ./tsh.patch ];
+  patches = [
+    # https://github.com/NixOS/nixpkgs/issues/120738
+    ./tsh.patch
+    # https://github.com/NixOS/nixpkgs/issues/132652
+    ./test.patch
+  ];
 
-  postBuild = ''
-    pushd .
+  # Reduce closure size for client machines
+  outputs = [ "out" "client" ];
+
+  preBuild = ''
     mkdir -p build
     echo "making webassets"
     cp -r ${webassets}/* webassets/
-    make build/webassets.zip
-    cat build/webassets.zip >> $NIX_BUILD_TOP/go/bin/teleport
-    rm -fr build/webassets.zip
-    cd $NIX_BUILD_TOP/go/bin
-    zip -q -A teleport
-    popd
+    make lib/web/build/webassets
   '';
 
-  # Do not strip the embedded web assets
-  dontStrip = true;
-
-  # Reduce closure size for client machines
-  outputs = [ "out" "client" ];
-
-  buildTargets = [ "full" ];
-
   preCheck = ''
     export HOME=$(mktemp -d)
   '';
diff --git a/nixpkgs/pkgs/servers/teleport/test.patch b/nixpkgs/pkgs/servers/teleport/test.patch
new file mode 100644
index 000000000000..49f5a17663e1
--- /dev/null
+++ b/nixpkgs/pkgs/servers/teleport/test.patch
@@ -0,0 +1,13 @@
+diff --git a/tool/tsh/resolve_default_addr_test.go b/tool/tsh/resolve_default_addr_test.go
+index d5976f156..aec5199aa 100644
+--- a/tool/tsh/resolve_default_addr_test.go
++++ b/tool/tsh/resolve_default_addr_test.go
+@@ -237,7 +237,7 @@ func TestResolveDefaultAddrTimeoutBeforeAllRacersLaunched(t *testing.T) {
+
+ 	blockingHandler, doneCh := newWaitForeverHandler()
+
+-	servers := make([]*httptest.Server, 1000)
++	servers := make([]*httptest.Server, 100)
+ 	for i := 0; i < len(servers); i++ {
+ 		servers[i] = makeTestServer(t, blockingHandler)
+ 	}
diff --git a/nixpkgs/pkgs/servers/tracing/tempo/default.nix b/nixpkgs/pkgs/servers/tracing/tempo/default.nix
index 22c1df884b4f..b22e8c29b9ab 100644
--- a/nixpkgs/pkgs/servers/tracing/tempo/default.nix
+++ b/nixpkgs/pkgs/servers/tracing/tempo/default.nix
@@ -1,14 +1,14 @@
 { lib, buildGoModule, fetchFromGitHub }:
 
 buildGoModule rec {
-  version = "0.5.0";
+  version = "1.0.1";
   pname = "tempo";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "grafana";
     repo = "tempo";
-    sha256 = "sha256-Har0JJqr6mkliKh25n+F4tork+bzfI/bv19H/rIRb9g=";
+    sha256 = "sha256-4QrCoz4taNXV13g+Pi0j7pTWy0hLY/qAdTOIMMuDWIA=";
   };
 
   vendorSha256 = null;
diff --git a/nixpkgs/pkgs/servers/traefik/default.nix b/nixpkgs/pkgs/servers/traefik/default.nix
index ca8d7d7412dc..3a70b148b114 100644
--- a/nixpkgs/pkgs/servers/traefik/default.nix
+++ b/nixpkgs/pkgs/servers/traefik/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "traefik";
-  version = "2.4.8";
+  version = "2.5.1";
 
   src = fetchzip {
     url = "https://github.com/traefik/traefik/releases/download/v${version}/traefik-v${version}.src.tar.gz";
-    sha256 = "sha256-hCBhJazI0Y1qQjULF+CBfUfz6PvkgLXafvXKR6iKHmU=";
+    sha256 = "sha256-vO8sBksh5gRq+s7VXshs5wZw4ygqbJzG2J3iSEGl/Ws=";
     stripRoot = false;
   };
 
-  vendorSha256 = "sha256-MW/JG4TbUvbo4dQnQbKIbLlLgkQvOqsfagpXILJ/BYQ=";
+  vendorSha256 = "sha256-tBUW6iBZZYc2OgSzFcDZ1C8YnyrXnuy3SdQiy8FPksM=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/servers/tt-rss/default.nix b/nixpkgs/pkgs/servers/tt-rss/default.nix
index e91fed5ee160..39615a238e35 100644
--- a/nixpkgs/pkgs/servers/tt-rss/default.nix
+++ b/nixpkgs/pkgs/servers/tt-rss/default.nix
@@ -2,17 +2,28 @@
 
 stdenv.mkDerivation rec {
   pname = "tt-rss";
-  version = "2021-01-29";
-  rev = "6d8f2221b82b6a31becbeed8baf5e05ad9e053fe";
+  year = "21";
+  month = "06";
+  day = "21";
+  version = "20${year}-${month}-${day}";
+  rev = "cd26dbe64c9b14418f0b2d826a38a35c6bf8a270";
 
   src = fetchurl {
     url = "https://git.tt-rss.org/fox/tt-rss/archive/${rev}.tar.gz";
-    sha256 = "124c62hck631xlq5aa1miz9rbg711ygk7z1yx92m5dfcy630l7x5";
+    sha256 = "1dpmzi7hknv5rk2g1iw13r8zcxcwrhkd5hhf292ml0dw3cwki0gm";
   };
 
   installPhase = ''
+    runHook preInstall
+
     mkdir $out
     cp -ra * $out/
+
+    # see the code of Config::get_version(). you can check that the version in
+    # the footer of the preferences pages is not UNKNOWN
+    echo "${year}.${month}" > $out/version_static.txt
+
+    runHook postInstall
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/servers/tt-rss/plugin-auth-ldap/default.nix b/nixpkgs/pkgs/servers/tt-rss/plugin-auth-ldap/default.nix
index d48db311ea10..23425b0a2d00 100644
--- a/nixpkgs/pkgs/servers/tt-rss/plugin-auth-ldap/default.nix
+++ b/nixpkgs/pkgs/servers/tt-rss/plugin-auth-ldap/default.nix
@@ -16,6 +16,11 @@ stdenv.mkDerivation rec {
       url = "https://github.com/Mic92/TTRSS-Auth-LDAP/commit/7534fa54babc377a070e05e326a46a252b5e3884.patch";
       sha256 = "1p7zas0n627z0g226dp5m5dg1ai2z3vi69n3xivp517iv3lch70l";
     })
+    # https://github.com/hydrian/TTRSS-Auth-LDAP/pull/40
+    (fetchpatch {
+      url = "https://github.com/hydrian/TTRSS-Auth-LDAP/commit/557811efa15bab3b5044c98416f9e37264f11c9a.patch";
+      sha256 = "sha256-KtDY0J1OYNTLwK7834lI+2XL1N1FkOk5zhinGY90/4A=";
+    })
   ];
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/servers/tt-rss/theme-feedly/default.nix b/nixpkgs/pkgs/servers/tt-rss/theme-feedly/default.nix
index f6882611a25b..ac0642261bfd 100644
--- a/nixpkgs/pkgs/servers/tt-rss/theme-feedly/default.nix
+++ b/nixpkgs/pkgs/servers/tt-rss/theme-feedly/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tt-rss-theme-feedly";
-  version = "2.5.0";
+  version = "2.8.2";
 
   src = fetchFromGitHub {
     owner = "levito";
     repo = "tt-rss-feedly-theme";
     rev = "v${version}";
-    sha256 = "sha256-wZ6Q4cxvJKot1TWE8tOVZeaaeBSXghmkYkOK9GjAnEM=";
+    sha256 = "sha256-OQclPtQkz5oOZuYzrdfekTUX1J111HtwuxAvWC4h9YI=";
   };
 
   dontBuild = true;
diff --git a/nixpkgs/pkgs/servers/tvheadend/default.nix b/nixpkgs/pkgs/servers/tvheadend/default.nix
index 98a40766d7e7..6c853b1ccc8b 100644
--- a/nixpkgs/pkgs/servers/tvheadend/default.nix
+++ b/nixpkgs/pkgs/servers/tvheadend/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub, cmake, makeWrapper, pkg-config
-, avahi, dbus, gettext, git, gnutar, gzip, bzip2, ffmpeg_3, libiconv, openssl, python
+, avahi, dbus, gettext, git, gnutar, gzip, bzip2, ffmpeg_4, libiconv, openssl, python
 , v4l-utils, which, zlib }:
 
 let
@@ -29,7 +29,7 @@ in stdenv.mkDerivation {
   };
 
   buildInputs = [
-    avahi dbus gettext git gnutar gzip bzip2 ffmpeg_3 libiconv openssl python
+    avahi dbus gettext git gnutar gzip bzip2 ffmpeg_4 libiconv openssl python
     which zlib
   ];
 
diff --git a/nixpkgs/pkgs/servers/uhub/default.nix b/nixpkgs/pkgs/servers/uhub/default.nix
index 4569ee675d92..df76789f9086 100644
--- a/nixpkgs/pkgs/servers/uhub/default.nix
+++ b/nixpkgs/pkgs/servers/uhub/default.nix
@@ -1,52 +1,31 @@
-{ lib, stdenv, fetchpatch, fetchFromGitHub, cmake, openssl, sqlite, pkg-config, systemd
-, tlsSupport ? false }:
+{ lib, stdenv, fetchpatch, fetchFromGitHub, cmake, openssl, sqlite, pkg-config
+, systemd, tlsSupport ? false }:
 
 assert tlsSupport -> openssl != null;
 
 stdenv.mkDerivation rec {
   pname = "uhub";
-  version = "0.5.0";
+  version = "unstable-2019-12-13";
 
   src = fetchFromGitHub {
     owner = "janvidar";
     repo = "uhub";
-    rev = version;
-    sha256 = "0zdbxfvw7apmfhqgsfkfp4pn9iflzwdn0zwvzymm5inswfc00pxg";
+    rev = "35d8088b447527f56609b85b444bd0b10cd67b5c";
+    hash = "sha256-CdTTf82opnpjd7I9TTY+JDEZSfdGFPE0bq/xsafwm/w=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
   buildInputs = [ sqlite systemd ] ++ lib.optional tlsSupport openssl;
 
-  outputs = [ "out"
-    "mod_example"
-    "mod_welcome"
-    "mod_logging"
-    "mod_auth_simple"
-    "mod_auth_sqlite"
-    "mod_chat_history"
-    "mod_chat_only"
-    "mod_topic"
-    "mod_no_guest_downloads"
-  ];
-
-  patches = [
-    ./plugin-dir.patch
-    # fix aarch64 build: https://github.com/janvidar/uhub/issues/46
-    (fetchpatch {
-      url = "https://github.com/janvidar/uhub/pull/47.patch";
-      sha256 = "07yik6za89ar5bxm7m2183i7f6hfbawbxvd4vs02n1zr2fgfxmiq";
-    })
-
-    # Fixed compilation on systemd > 210
-    (fetchpatch {
-      url = "https://github.com/janvidar/uhub/commit/70f2a43f676cdda5961950a8d9a21e12d34993f8.diff";
-      sha256 = "1jp8fvw6f9jh0sdjml9mahkk6p6b96p6rzg2y601mnnbcdj8y8xp";
-    })
-  ];
+  postPatch = ''
+    substituteInPlace CMakeLists.txt \
+      --replace "/usr/lib/uhub/" "$out/plugins" \
+      --replace "/etc/uhub" "$TMPDIR"
+  '';
 
   cmakeFlags = [
     "-DSYSTEMD_SUPPORT=ON"
-    (if tlsSupport then "-DSSL_SUPPORT=ON" else "-DSSL_SUPPORT=OFF")
+    "-DSSL_SUPPORT=${if tlsSupport then "ON" else "OFF"}"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/servers/uhub/plugin-dir.patch b/nixpkgs/pkgs/servers/uhub/plugin-dir.patch
deleted file mode 100644
index d29d600425ff..000000000000
--- a/nixpkgs/pkgs/servers/uhub/plugin-dir.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -241,8 +241,14 @@
- 
- if (UNIX)
- 	install( TARGETS uhub uhub-passwd RUNTIME DESTINATION bin )
--	install( TARGETS mod_example mod_welcome mod_logging mod_auth_simple mod_auth_sqlite mod_chat_history mod_chat_history_sqlite mod_chat_only mod_topic mod_no_guest_downloads DESTINATION /usr/lib/uhub/ OPTIONAL )
--	install( FILES ${CMAKE_SOURCE_DIR}/doc/uhub.conf ${CMAKE_SOURCE_DIR}/doc/plugins.conf ${CMAKE_SOURCE_DIR}/doc/rules.txt ${CMAKE_SOURCE_DIR}/doc/motd.txt DESTINATION /etc/uhub OPTIONAL )
-+
-+    set( PLUGINS mod_example mod_welcome mod_logging mod_auth_simple mod_auth_sqlite mod_chat_history mod_chat_only mod_topic mod_no_guest_downloads )
-+
-+    foreach( PLUGIN ${PLUGINS} )
-+        install( TARGETS ${PLUGIN} DESTINATION $ENV{${PLUGIN}} OPTIONAL )
-+    endforeach( PLUGIN )
-+
-+	install( FILES ${CMAKE_SOURCE_DIR}/doc/uhub.conf ${CMAKE_SOURCE_DIR}/doc/plugins.conf ${CMAKE_SOURCE_DIR}/doc/rules.txt ${CMAKE_SOURCE_DIR}/doc/motd.txt DESTINATION doc/ OPTIONAL )
- endif()
- 
- 
diff --git a/nixpkgs/pkgs/servers/unifi/default.nix b/nixpkgs/pkgs/servers/unifi/default.nix
index 0cca27a6be9d..070324a5a15a 100644
--- a/nixpkgs/pkgs/servers/unifi/default.nix
+++ b/nixpkgs/pkgs/servers/unifi/default.nix
@@ -52,7 +52,7 @@ in rec {
   };
 
   unifi6 = generic {
-    version = "6.2.25";
-    sha256 = "14pfy9cxjyaczdp9lk56by8s5485sjsz2414x7wshf1x76yfjh27";
+    version = "6.2.26";
+    sha256 = "15mwl02v50j30vvsmky9kp42i04y38kipapczyi5srhbd9jddyh3";
   };
 }
diff --git a/nixpkgs/pkgs/servers/unpackerr/default.nix b/nixpkgs/pkgs/servers/unpackerr/default.nix
index d9cde6b7ab5f..0d1505a91ca2 100644
--- a/nixpkgs/pkgs/servers/unpackerr/default.nix
+++ b/nixpkgs/pkgs/servers/unpackerr/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "unpackerr";
-  version = "0.9.6";
+  version = "0.9.7";
 
   src = fetchFromGitHub {
     owner = "davidnewhall";
     repo = "unpackerr";
     rev = "v${version}";
-    sha256 = "1jyqrfik6fy7d4lr1y0ryp4iz8yn898ksyxwaryvrhykznqivp0y";
+    sha256 = "sha256-OJDFPSXbJffiKW1SmMptPxj69YU7cuOU1LgIiInurCM=";
   };
 
-  vendorSha256 = "0ilpg7xfll0c5lsv8zf4h3i72yabddkddih4d292hczyz9wi3j4z";
+  vendorSha256 = "sha256-n8gRefr+MyiSaATG1mZrS3lx4oDEfbQ1LQxQ6vp5l0Y=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ Cocoa WebKit ];
 
diff --git a/nixpkgs/pkgs/servers/urserver/default.nix b/nixpkgs/pkgs/servers/urserver/default.nix
index 9047ea0ee34f..392277eeedc3 100644
--- a/nixpkgs/pkgs/servers/urserver/default.nix
+++ b/nixpkgs/pkgs/servers/urserver/default.nix
@@ -9,11 +9,11 @@
 
 stdenv.mkDerivation rec {
   pname = "urserver";
-  version = "3.9.0.2465";
+  version = "3.10.0.2467";
 
   src = fetchurl {
     url = "https://www.unifiedremote.com/static/builds/server/linux-x64/${builtins.elemAt (builtins.splitVersion version) 3}/urserver-${version}.tar.gz";
-    sha256 = "sha256-3DIroodWCMbq1fzPjhuGLk/2fY/qFxFISLzjkjJ4i90=";
+    sha256 = "sha256-IaLRhia6mb4h7x5MbBRtPJxJ3uTlkfOzmoTwYzwfbWA=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/servers/varnish/default.nix b/nixpkgs/pkgs/servers/varnish/default.nix
index 1fbb36257d26..1d4a3276cc09 100644
--- a/nixpkgs/pkgs/servers/varnish/default.nix
+++ b/nixpkgs/pkgs/servers/varnish/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, pcre, libxslt, groff, ncurses, pkg-config, readline, libedit
+{ lib, stdenv, fetchurl, pcre, libxslt, groff, ncurses, pkg-config, readline, libedit, coreutils
 , python3, makeWrapper }:
 
 let
@@ -21,6 +21,10 @@ let
 
       buildFlags = [ "localstatedir=/var/spool" ];
 
+      postPatch = ''
+        substituteInPlace bin/varnishtest/vtc_main.c --replace /bin/rm "${coreutils}/bin/rm"
+      '';
+
       postInstall = ''
         wrapProgram "$out/sbin/varnishd" --prefix PATH : "${lib.makeBinPath [ stdenv.cc ]}"
       '';
@@ -44,12 +48,8 @@ in
     version = "6.0.7";
     sha256 = "0njs6xpc30nc4chjdm4d4g63bigbxhi4dc46f4az3qcz51r8zl2a";
   };
-  varnish62 = common {
-    version = "6.2.3";
-    sha256 = "02b6pqh5j1d4n362n42q42bfjzjrngd6x49b13q7wzsy6igd1jsy";
-  };
-  varnish63 = common {
-    version = "6.3.2";
-    sha256 = "1f5ahzdh3am6fij5jhiybv3knwl11rhc5r3ig1ybzw55ai7788q8";
+  varnish65 = common {
+    version = "6.5.2";
+    sha256 = "041gc22h8cwsb8jw7zdv6yk5h8xg2q0g655m5zhi5jxq35f2sljx";
   };
 }
diff --git a/nixpkgs/pkgs/servers/varnish/digest.nix b/nixpkgs/pkgs/servers/varnish/digest.nix
index 55d13ffae31f..31aaad835bdb 100644
--- a/nixpkgs/pkgs/servers/varnish/digest.nix
+++ b/nixpkgs/pkgs/servers/varnish/digest.nix
@@ -1,14 +1,14 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, varnish, libmhash, docutils }:
+{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, varnish, libmhash, docutils, coreutils, version, sha256 }:
 
 stdenv.mkDerivation rec {
-  version = "1.0.2";
-  name = "${varnish.name}-digest-${version}";
+  pname = "${varnish.name}-digest";
+  inherit version;
 
   src = fetchFromGitHub {
     owner = "varnish";
     repo = "libvmod-digest";
-    rev = "libvmod-digest-${version}";
-    sha256 = "0jwkqqalydn0pwfdhirl5zjhbc3hldvhh09hxrahibr72fgmgpbx";
+    rev = version;
+    inherit sha256;
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config docutils ];
diff --git a/nixpkgs/pkgs/servers/varnish/dynamic.nix b/nixpkgs/pkgs/servers/varnish/dynamic.nix
index 6ad8288871b1..78fd4d106412 100644
--- a/nixpkgs/pkgs/servers/varnish/dynamic.nix
+++ b/nixpkgs/pkgs/servers/varnish/dynamic.nix
@@ -1,14 +1,14 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook269, pkg-config, varnish, docutils }:
+{ lib, stdenv, fetchFromGitHub, autoreconfHook269, pkg-config, varnish, docutils, version, sha256 }:
 
-stdenv.mkDerivation rec {
-  version = "0.4";
-  name = "${varnish.name}-dynamic-${version}";
+stdenv.mkDerivation {
+  pname = "${varnish.name}-dynamic";
+  inherit version;
 
   src = fetchFromGitHub {
     owner = "nigoroll";
     repo = "libvmod-dynamic";
     rev = "v${version}";
-    sha256 = "1n94slrm6vn3hpymfkla03gw9603jajclg84bjhwb8kxsk3rxpmk";
+    inherit sha256;
   };
 
   nativeBuildInputs = [ pkg-config docutils autoreconfHook269 varnish.python ];
diff --git a/nixpkgs/pkgs/servers/varnish/modules.nix b/nixpkgs/pkgs/servers/varnish/modules.nix
index 0a8e97df61ee..527dd17c03c0 100644
--- a/nixpkgs/pkgs/servers/varnish/modules.nix
+++ b/nixpkgs/pkgs/servers/varnish/modules.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   version = "0.15.0";
-  name = "${varnish.name}-modules-${version}";
+  pname = "${varnish.name}-modules";
 
   src = fetchFromGitHub {
     owner = "varnish";
diff --git a/nixpkgs/pkgs/servers/varnish/packages.nix b/nixpkgs/pkgs/servers/varnish/packages.nix
index a5c5fe868d01..647247acafd1 100644
--- a/nixpkgs/pkgs/servers/varnish/packages.nix
+++ b/nixpkgs/pkgs/servers/varnish/packages.nix
@@ -1,15 +1,28 @@
-{ callPackage, varnish60, varnish62, varnish63 }:
-
-{
-  varnish60Packages = {
+{ callPackage, varnish60, varnish65, fetchFromGitHub }: {
+  varnish60Packages = rec {
     varnish = varnish60;
-    digest  = callPackage ./digest.nix   { varnish = varnish60; };
-    dynamic = callPackage ./dynamic.nix  { varnish = varnish60; };
+    digest  = callPackage ./digest.nix {
+      inherit varnish;
+      version = "libvmod-digest-1.0.2";
+      sha256 = "0jwkqqalydn0pwfdhirl5zjhbc3hldvhh09hxrahibr72fgmgpbx";
+    };
+    dynamic = callPackage ./dynamic.nix  {
+      inherit varnish;
+      version = "0.4";
+      sha256 = "1n94slrm6vn3hpymfkla03gw9603jajclg84bjhwb8kxsk3rxpmk";
+    };
   };
-  varnish62Packages = {
-    varnish = varnish62;
-  };
-  varnish63Packages = {
-    varnish = varnish63;
+  varnish65Packages = rec {
+    varnish = varnish65;
+    digest  = callPackage ./digest.nix {
+      inherit varnish;
+      version = "6.6";
+      sha256 = "0n33g8ml4bsyvcvl5lk7yng1ikvmcv8dd6bc1mv2lj4729pp97nn";
+    };
+    dynamic = callPackage ./dynamic.nix  {
+      inherit varnish;
+      version = "2.3.1";
+      sha256 = "060vkba7jwcvx5704hh6ds0g0kfzpkdrg8548frvkrkz2s5j9y88";
+    };
   };
 }
diff --git a/nixpkgs/pkgs/servers/vouch-proxy/default.nix b/nixpkgs/pkgs/servers/vouch-proxy/default.nix
new file mode 100644
index 000000000000..8badb4f8fdd9
--- /dev/null
+++ b/nixpkgs/pkgs/servers/vouch-proxy/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "vouch-proxy";
+  version = "0.32.0";
+
+  src = fetchFromGitHub {
+    owner = "vouch";
+    repo = "vouch-proxy";
+    rev = "v${version}";
+    sha256 = "sha256-thA3hsGNDifUc0XFsOB8cjJTrz4NY+NtK05a20AFzJ8=";
+  };
+
+  vendorSha256 = "sha256-ifH+420FIrib+zQtzzHtMMYd84BED+vgnRw4xToYIl4=";
+
+  ldflags = [
+    "-s" "-w"
+    "-X main.version=${version}"
+  ];
+
+  preCheck = ''
+    export VOUCH_ROOT=$PWD
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/vouch/vouch-proxy";
+    description = "An SSO and OAuth / OIDC login solution for NGINX using the auth_request module";
+    license = licenses.mit;
+    maintainers = with maintainers; [ em0lar ];
+  };
+}
diff --git a/nixpkgs/pkgs/servers/web-apps/bookstack/default.nix b/nixpkgs/pkgs/servers/web-apps/bookstack/default.nix
index 1c35ebeff3b0..f7a02b5c13dd 100644
--- a/nixpkgs/pkgs/servers/web-apps/bookstack/default.nix
+++ b/nixpkgs/pkgs/servers/web-apps/bookstack/default.nix
@@ -14,12 +14,12 @@ let
   });
 
 in package.override rec {
-  name = "bookstack";
+  pname = "bookstack";
   version = "21.05.3";
 
   src = fetchFromGitHub {
     owner = "bookstackapp";
-    repo = name;
+    repo = pname;
     rev = "v${version}";
     sha256 = "0dymrmy771lv6h9432vw7d12x5xgchjn9s3z8maz3b9d5xlx9gw8";
   };
diff --git a/nixpkgs/pkgs/servers/web-apps/cryptpad/bower-packages.nix b/nixpkgs/pkgs/servers/web-apps/cryptpad/bower-packages.nix
index be0c3ab72c75..83c707472931 100644
--- a/nixpkgs/pkgs/servers/web-apps/cryptpad/bower-packages.nix
+++ b/nixpkgs/pkgs/servers/web-apps/cryptpad/bower-packages.nix
@@ -1,42 +1,40 @@
 # Generated by bower2nix v3.2.0 (https://github.com/rvl/bower2nix)
 { fetchbower, buildEnv }:
 buildEnv { name = "bower-env"; ignoreCollisions = true; paths = [
-  (fetchbower "jquery" "2.1.0" "~2.1.0" "02kwvz93vzpv10qnp7s0dz3al0jh77awwrizb6wadsvgifxssnlr")
   (fetchbower "jquery" "2.2.4" "2.2.4" "0kaln93pzjlr4vqf2zvsm9dwgjkrii9xlsqg48hc1vs16cl109rn")
   (fetchbower "tweetnacl" "0.12.2" "0.12.2" "1lfzbfrdaly3zyzbcp1p53yhxlrx56k8x04q924kg7l52gblm65g")
   (fetchbower "components-font-awesome" "4.7.0" "^4.6.3" "1w27im6ayjrbgjqa0i49ml5d3wy4ld40h9b29hz9myv77bpx4lg1")
   (fetchbower "ckeditor" "4.14.0" "4.14.0" "0lw9q0k8c0jlxvf35vrccab9c3c8rgpc6x66czj9si8yy2lyliyp")
-  (fetchbower "codemirror" "5.56.0+components1" "^5.19.0" "0fv8rxw6dspyv4bl6p2aka57544f45527rallnhnm5scv77qnakm")
+  (fetchbower "codemirror" "5.61.1" "^5.19.0" "1abm1fcps86y2qm033wa96pd6ixf9w01vlhly5i51j0j94arnz4g")
   (fetchbower "requirejs" "2.3.5" "2.3.5" "05lyvgz914h2w08r24rk0vkk3yxmqrvlg7j3i5av9ffkg9lpzsli")
   (fetchbower "marked" "1.1.0" "1.1.0" "1sdgqw9iki9c1pfm4c5h6c956mchbip2jywjrcmrlb75k53flsjz")
   (fetchbower "rangy" "rangy-release#1.3.0" "rangy-release#~1.3.0" "13x3wci003p8jyv2ncir0k23bxckx99b3555r0zvgmlwycg7w0zv")
   (fetchbower "json.sortify" "2.1.0" "~2.1.0" "1rz9xz0gnm4ak31n10vhslqsw8fw493gjylwj8xsy3bxqq1ygpnh")
   (fetchbower "secure-fabric.js" "secure-v1.7.9" "secure-v1.7.9" "1l56mk7hbnsm9cdg5zdcmg95p7a9w96dq0bbl8fp11vs0awjil7a")
   (fetchbower "hyperjson" "1.4.0" "~1.4.0" "1n68ls3x4lyhg1yy8i4q3xkgh5xqpyakf45sny4x91mkr68x4bd9")
-  (fetchbower "chainpad-crypto" "0.2.4" "^0.2.0" "0sqqc2j0pc34ig6319n18i85j03hibqkhz3cbr70vbd8x43vfzby")
-  (fetchbower "chainpad-listmap" "0.9.0" "^0.9.0" "173yr5a6zxq7nb3fha6f1ajv2vy0mvqwmm949ww7ihvrhh7cd0f5")
-  (fetchbower "chainpad" "5.2.2" "^5.2.0" "1rmh039bqk11xnnh99sqrqksr4idly75y5q4f5wyl9cg4slsqrdp")
+  (fetchbower "chainpad-crypto" "0.2.6" "^0.2.0" "0h6ibv6gcym7mm080swdw4l6l159xjmxgqnahyxw3aydha5cj1z0")
+  (fetchbower "chainpad-listmap" "0.10.2" "^0.10.0" "03j3qws0icam4c0yqrz7f6maf1dxhlc56hc6csr2d9dx0wshd57s")
+  (fetchbower "chainpad" "5.2.4" "^5.2.0" "1f4nap0r8w50qpmjdfhhjhpz5xcl0n4zaxxnav1qaxi5j6dyg8h6")
   (fetchbower "file-saver" "1.3.1" "1.3.1" "065nzkvdiicxnw06z1sjz1sbp9nyis8z839hv6ng1fk25dc5kvkg")
   (fetchbower "alertifyjs" "1.0.11" "1.0.11" "0v7323bzq90k35shm3h6azj4wd9la3kbi1va1pw4qyvndkwma69l")
   (fetchbower "scrypt-async" "1.2.0" "1.2.0" "0d076ax708p9b8hcmk4f82j925nlnm0hmp0ni45ql37g7iirfpyv")
   (fetchbower "require-css" "0.1.10" "0.1.10" "106gz9i76v71q9zx2pnqkkj342m630lvssnw54023a0ljc0gqcwq")
   (fetchbower "less" "3.7.1" "3.7.1" "1n7ps4xlbrc9m63b3q62mg3p6i7d5hwchhpjshb0drzj5crvz556")
-  (fetchbower "bootstrap" "3.1.1" "~3.1.1" "06bhjwa8p7mzbpr3jkgydd804z1nwrkdql66h7jkfml99psv9811")
-  (fetchbower "bootstrap" "4.5.0" "^v4.0.0" "0cfdn6z8jwx6y8lbbq6xpkfhq2vra0i84nkj9ji2bil1fzgzi40f")
+  (fetchbower "bootstrap" "4.6.0" "^v4.0.0" "1pp2n88pkms25p7mbna7vxxl5mkpdn8nvnfzwcwpp6b0871njmr6")
   (fetchbower "diff-dom" "2.1.1" "2.1.1" "0nrn6xqlhp0p5ixjxdk8qg3939crkggh1l8swd20d7bsz186l5f1")
   (fetchbower "nthen" "0.1.7" "0.1.7" "03yap5ildigaw4rwxmxs37pcwhq415iham8w39zd56ka98gpfxa5")
   (fetchbower "open-sans-fontface" "1.4.2" "^1.4.2" "0ksav1fcq640fmdz49ra4prwsrrfj35y2p4shx1jh1j7zxd044nf")
-  (fetchbower "bootstrap-tokenfield" "0.12.1" "^0.12.1" "0ib1v5k8h360sp19yiy7q92rfaz2554fvwwg2ixmxn01ydqlprw6")
-  (fetchbower "localforage" "1.8.1" "^1.5.2" "0ci265385racnxvn4g1n672yaxi47msw6k042nxdb5vlpf5g327j")
+  (fetchbower "bootstrap-tokenfield" "0.12.1" "0.12.1" "1dh791s6ih8bf9ihck9n39h68c273jb3lg4mqk94bvqraz45fvwx")
+  (fetchbower "localforage" "1.9.0" "^1.5.2" "18ds5427gaschld5afwi128hqy8kysa1b1ckbrzbmqz8xnlshmc2")
   (fetchbower "html2canvas" "0.4.1" "^0.4.1" "0yg7y90nav068q0i5afc2c221zkddpf28hi0hwc46cawx4180c69")
   (fetchbower "croppie" "2.6.5" "^2.5.0" "1j1v5620zi13ad42r358i4ay891abwn6nz357484kgq2bgjj6ccx")
-  (fetchbower "sortablejs" "1.10.2" "^1.6.0" "10q4gyblhjy7w51clr0k9j7h722l4ybzn5535givwpmp6xagv11v")
+  (fetchbower "sortablejs" "1.14.0" "^1.6.0" "104d688lrbwxi3hnfr4q169850ffyfv1s8qnycqxhx0zfh3887m0")
   (fetchbower "saferphore" "0.0.1" "^0.0.1" "1wfr9wpbm3lswmvy2p0247ydb108h4qh5s286py89k871qh6jwdi")
-  (fetchbower "jszip" "Stuk/jszip#3.5.0" "Stuk/jszip#^3.1.5" "1ra19d82cq1hrnbw88l8c61bs12kpgxvbfiiwpfi8fhy0l8hcsvk")
+  (fetchbower "jszip" "Stuk/jszip#3.7.1" "Stuk/jszip#^3.1.5" "0lzq1zd2glvfh3wwj73c9sffas56ql5472yj1cwq3g7iva5iliwq")
   (fetchbower "requirejs-plugins" "1.0.3" "^1.0.3" "00s3sdz1ykygx5shldwhhhybwgw7c99vkqd94i5i5x0gl97ifxf5")
   (fetchbower "dragula.js" "3.7.2" "3.7.2" "0dbkmrl8bcxiplprmmp9fj96ri5nahb2ql8cc7zwawncv0drvlh0")
   (fetchbower "MathJax" "3.0.5" "3.0.5" "087a9av15qj43m8pr3b9g59ncmydhmg40m6dfzsac62ykianh2a0")
-  (fetchbower "chainpad-netflux" "0.11.2" "^0.11.0" "1dqfricbm6s8iv7w1bsx1700m5cpk5rk1f4spqv0fqyf6mdz366v")
-  (fetchbower "netflux-websocket" "0.1.20" "^0.1.20" "1xwqq7nw7fmhglndbplarkdzxfmkq831aqs8nm6qj0hz2ggbibhz")
+  (fetchbower "chainpad-netflux" "0.12.9" "^0.12.0" "1b2jkfl354gs9iy05i6db9g0hnngacxd2wdv59lc0icbmx62fpvi")
+  (fetchbower "netflux-websocket" "0.1.21" "^0.1.20" "13ia8cqipq1jnyzzxwf9yy91gzwnwb2g5kzb6l8id5gdr415q5yn")
   (fetchbower "es6-promise" "3.3.1" "^3.2.2" "0ai6z5admfs84fdx6663ips49kqgz4x68ays78cic0xfb7pp6vcz")
 ]; }
diff --git a/nixpkgs/pkgs/servers/web-apps/cryptpad/default.nix b/nixpkgs/pkgs/servers/web-apps/cryptpad/default.nix
index abd20d644990..4e8daf38453c 100644
--- a/nixpkgs/pkgs/servers/web-apps/cryptpad/default.nix
+++ b/nixpkgs/pkgs/servers/web-apps/cryptpad/default.nix
@@ -2,6 +2,7 @@
 , pkgs
 , lib
 , buildBowerComponents
+, fetchbower
 , fetchurl
 , nodejs
 }:
@@ -12,30 +13,39 @@ let
     inherit (stdenv.hostPlatform) system;
   };
 
-  bowerPackages = buildBowerComponents {
+  bowerPackages = (buildBowerComponents {
     name = "${cryptpad.name}-bower-packages";
-    # this list had to be tweaked by hand:
-    # * add the second jquery ~2.1.0 entry
-    # * add the second bootstrap ~3.1.1 entry
     generated = ./bower-packages.nix;
     src = cryptpad.src;
-  };
+  }).overrideAttrs (old: {
+    bowerPackages = old.bowerPackages.override (old_: {
+      # add missing dependencies:
+      # Those dependencies are EOL and they are not installed by buildBowerComponents,
+      # but they are required, otherwise the resolver crashes.
+      # * add the second jquery ~2.1.0 entry
+      # * add the second bootstrap ~3.1.1 entry
+      paths = old_.paths ++ [
+        (fetchbower "jquery" "2.1.0" "~2.1.0" "02kwvz93vzpv10qnp7s0dz3al0jh77awwrizb6wadsvgifxssnlr")
+        (fetchbower "bootstrap" "3.1.1" "~3.1.1" "06bhjwa8p7mzbpr3jkgydd804z1nwrkdql66h7jkfml99psv9811")
+      ];
+    });
+  });
 
   # find an element in an attribute set
   findValue = pred: default: set:
     let
       list =
         lib.concatMap
-        (name:
-          let v = set.${name}; in
-          if pred name v then [v] else []
-        )
-        (lib.attrNames set)
-        ;
-    in
-      if list == [] then default
-      else lib.head list
+          (name:
+            let v = set.${name}; in
+            if pred name v then [ v ] else [ ]
+          )
+          (lib.attrNames set)
       ;
+    in
+    if list == [ ] then default
+    else lib.head list
+  ;
 
   # The cryptpad package attribute key changes for each release. Get it out
   # programatically instead.
@@ -43,7 +53,7 @@ let
     (k: v: v.packageName == "cryptpad")
     (throw "cryptpad not found")
     nodePackages
-    ;
+  ;
 
   combined = cryptpad.override {
     postInstall = ''
@@ -64,6 +74,17 @@ let
       EOF
       chmod +x $out/bin/cryptpad
     '';
+
+    meta = {
+      longDescription = ''
+        CryptPad is a collaboration suite that is end-to-end-encrypted and open-source.
+        It is built to enable collaboration, synchronizing changes to documents in real time.
+        Because all data is encrypted, the service and its administrators have no way of seeing the content being edited and stored.
+      '';
+      maintainers = with lib.maintainers; [ davhau ];
+      mainProgram = "cryptpad";
+    };
+
   };
 in
-  combined
+combined
diff --git a/nixpkgs/pkgs/servers/web-apps/cryptpad/generate.sh b/nixpkgs/pkgs/servers/web-apps/cryptpad/generate.sh
index 697b5a74a08a..925420c49a58 100755
--- a/nixpkgs/pkgs/servers/web-apps/cryptpad/generate.sh
+++ b/nixpkgs/pkgs/servers/web-apps/cryptpad/generate.sh
@@ -1,11 +1,18 @@
 #!/usr/bin/env nix-shell
-#! nix-shell -i bash  -I nixpkgs=../../../.. -p nodePackages.node2nix nodePackages.bower2nix
+#! nix-shell -i bash -I nixpkgs=../../../.. -p nodePackages.node2nix nix
+
+# This script is meant to be run in the current directory
+
+cryptpadSrc=$(nix eval '(import ../../../.. {}).cryptpad.src' --raw)
+echo "cryptpad src: $cryptpadSrc"
+
+nix-shell -I nixpkgs=../../../.. -p '(nodePackages.override { nodejs = nodejs-10_x; }).bower2nix' --run "bower2nix $cryptpadSrc/bower.json bower-packages.nix"
+
+
 set -euo pipefail
 
 node2nix --nodejs-12 \
      --input node-packages.json \
      --output node-packages-generated.nix \
      --composition node-packages.nix \
-     --node-env ../../../development/node-packages/node-env.nix \
-
-# TODO: bower2nix > bower-packages.nix
+     --node-env ../../../development/node-packages/node-env.nix
diff --git a/nixpkgs/pkgs/servers/web-apps/cryptpad/node-packages-generated.nix b/nixpkgs/pkgs/servers/web-apps/cryptpad/node-packages-generated.nix
index 47e64e9d911e..cbc12d113cfb 100644
--- a/nixpkgs/pkgs/servers/web-apps/cryptpad/node-packages-generated.nix
+++ b/nixpkgs/pkgs/servers/web-apps/cryptpad/node-packages-generated.nix
@@ -4,6 +4,15 @@
 
 let
   sources = {
+    "@mcrowe/minibloom-0.2.0" = {
+      name = "_at_mcrowe_slash_minibloom";
+      packageName = "@mcrowe/minibloom";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@mcrowe/minibloom/-/minibloom-0.2.0.tgz";
+        sha1 = "1bed96aec18388198da37443899b2c3ff5948053";
+      };
+    };
     "accepts-1.3.7" = {
       name = "accepts";
       packageName = "accepts";
@@ -49,22 +58,22 @@ let
         sha1 = "d32815404d689699f85a4ea4fa8755dd13a96048";
       };
     };
-    "chainpad-crypto-0.2.5" = {
+    "chainpad-crypto-0.2.6" = {
       name = "chainpad-crypto";
       packageName = "chainpad-crypto";
-      version = "0.2.5";
+      version = "0.2.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/chainpad-crypto/-/chainpad-crypto-0.2.5.tgz";
-        sha512 = "K9vRsAspuX+uU1goXPz0CawpLIaOHq+1JP3WfDLqaz67LbCX/MLIUt9aMcSeIJcwZ9uMpqnbMGRktyVPoz6MCA==";
+        url = "https://registry.npmjs.org/chainpad-crypto/-/chainpad-crypto-0.2.6.tgz";
+        sha512 = "yk7bBj22rs9PaX6LiqQxiw+Vj/afBStsNP1xP/B4Uh9a8iyJ7JrSZJ2Hj3d6fyqxJlBrMAX82Aj5PCZb5dzzHw==";
       };
     };
-    "chainpad-server-4.0.9" = {
+    "chainpad-server-5.1.0" = {
       name = "chainpad-server";
       packageName = "chainpad-server";
-      version = "4.0.9";
+      version = "5.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/chainpad-server/-/chainpad-server-4.0.9.tgz";
-        sha512 = "8h1W41ktE05TM6LuXrklpW2TUxWeNyIDiRaQygKsXaA/7pyJxF7+AmPVS+xW0c31VkHjQDPiaMzPoxhcxXnIyA==";
+        url = "https://registry.npmjs.org/chainpad-server/-/chainpad-server-5.1.0.tgz";
+        sha512 = "BdjgOOLTXXo1EjQ7lURDe7oqsqfQISNvwhILfp3K3diY2K1hxpPLbjYzOSgxNOTADeOAff0xnInR5eUCESVWaQ==";
       };
     };
     "content-disposition-0.5.2" = {
@@ -184,13 +193,13 @@ let
         sha512 = "Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==";
       };
     };
-    "forwarded-0.1.2" = {
+    "forwarded-0.2.0" = {
       name = "forwarded";
       packageName = "forwarded";
-      version = "0.1.2";
+      version = "0.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz";
-        sha1 = "98c23dab1175657b8c0573e8ceccd91b0ff18c84";
+        url = "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz";
+        sha512 = "buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==";
       };
     };
     "fresh-0.5.2" = {
@@ -229,13 +238,13 @@ let
         sha512 = "+CEb+GDCM7tkOS2wdMKTn9vU7DgnKUTuDlehkNJKNSovdCOVxs14OfKCk4cvSaR3za4gj+OBdl9opPN9xrJ0zA==";
       };
     };
-    "graceful-fs-4.2.4" = {
+    "graceful-fs-4.2.8" = {
       name = "graceful-fs";
       packageName = "graceful-fs";
-      version = "4.2.4";
+      version = "4.2.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz";
-        sha512 = "WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==";
+        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz";
+        sha512 = "qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==";
       };
     };
     "http-errors-1.6.3" = {
@@ -337,22 +346,22 @@ let
         sha512 = "KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==";
       };
     };
-    "mime-db-1.45.0" = {
+    "mime-db-1.49.0" = {
       name = "mime-db";
       packageName = "mime-db";
-      version = "1.45.0";
+      version = "1.49.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz";
-        sha512 = "CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==";
+        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz";
+        sha512 = "CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==";
       };
     };
-    "mime-types-2.1.28" = {
+    "mime-types-2.1.32" = {
       name = "mime-types";
       packageName = "mime-types";
-      version = "2.1.28";
+      version = "2.1.32";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz";
-        sha512 = "0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==";
+        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz";
+        sha512 = "hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==";
       };
     };
     "ms-2.0.0" = {
@@ -373,13 +382,13 @@ let
         sha512 = "hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==";
       };
     };
-    "netflux-websocket-0.1.20" = {
+    "netflux-websocket-0.1.21" = {
       name = "netflux-websocket";
       packageName = "netflux-websocket";
-      version = "0.1.20";
+      version = "0.1.21";
       src = fetchurl {
-        url = "https://registry.npmjs.org/netflux-websocket/-/netflux-websocket-0.1.20.tgz";
-        sha512 = "svFkw4ol4gmkcXKnx5kF/8tR9mmtTCDzUlLy4mSlcNl/4iWlbDmgwp/+aJ3nqtv8fg12m+DAFGX2+fbC0//dcg==";
+        url = "https://registry.npmjs.org/netflux-websocket/-/netflux-websocket-0.1.21.tgz";
+        sha512 = "Zjl5lefg8urC0a0T7YCPGiUgRsISZBsTZl1STylmQz8Bq4ohcZ8cP3r6VoCpeVcvJ1Y/e3ZCXPxndWlNP9Jfug==";
       };
     };
     "nthen-0.1.8" = {
@@ -418,13 +427,13 @@ let
         sha1 = "df604178005f522f15eb4490e7247a1bfaa67f8c";
       };
     };
-    "proxy-addr-2.0.6" = {
+    "proxy-addr-2.0.7" = {
       name = "proxy-addr";
       packageName = "proxy-addr";
-      version = "2.0.6";
+      version = "2.0.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz";
-        sha512 = "dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==";
+        url = "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz";
+        sha512 = "llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==";
       };
     };
     "pull-stream-3.6.14" = {
@@ -647,27 +656,28 @@ let
   };
 in
 {
-  "cryptpad-git+https://github.com/xwiki-labs/cryptpad.git#3.20.1" = nodeEnv.buildNodePackage {
+  "cryptpad-git+https://github.com/xwiki-labs/cryptpad.git#4.9.0" = nodeEnv.buildNodePackage {
     name = "cryptpad";
     packageName = "cryptpad";
-    version = "3.20.1";
+    version = "4.9.0";
     src = fetchgit {
       url = "https://github.com/xwiki-labs/cryptpad.git";
-      rev = "9bc27d7d0d50d17c345bd545a45341a05293c558";
-      sha256 = "4a1fc833b38b2097741500cef38c6b04f5b752c21736e95eb492c33012016332";
+      rev = "b1281fb4abd14e9758d58df4801e0a00eda7bc44";
+      sha256 = "ed2d0e2520645fccdada7fa5f25bb878c0ee0e61d6c81a98c18906c12750578c";
     };
     dependencies = [
+      sources."@mcrowe/minibloom-0.2.0"
       sources."accepts-1.3.7"
       sources."array-flatten-1.1.1"
       sources."async-limiter-1.0.1"
       sources."body-parser-1.18.3"
       sources."bytes-3.0.0"
-      (sources."chainpad-crypto-0.2.5" // {
+      (sources."chainpad-crypto-0.2.6" // {
         dependencies = [
           sources."tweetnacl-git+https://github.com/dchest/tweetnacl-js.git#v0.12.2"
         ];
       })
-      sources."chainpad-server-4.0.9"
+      sources."chainpad-server-5.1.0"
       sources."content-disposition-0.5.2"
       sources."content-type-1.0.4"
       sources."cookie-0.3.1"
@@ -681,12 +691,12 @@ in
       sources."etag-1.8.1"
       sources."express-4.16.4"
       sources."finalhandler-1.1.1"
-      sources."forwarded-0.1.2"
+      sources."forwarded-0.2.0"
       sources."fresh-0.5.2"
       sources."fs-extra-7.0.1"
       sources."gar-1.0.4"
       sources."get-folder-size-2.0.1"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.8"
       sources."http-errors-1.6.3"
       sources."iconv-lite-0.4.23"
       sources."inherits-2.0.3"
@@ -698,16 +708,16 @@ in
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
       sources."mime-1.4.1"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."ms-2.0.0"
       sources."negotiator-0.6.2"
-      sources."netflux-websocket-0.1.20"
+      sources."netflux-websocket-0.1.21"
       sources."nthen-0.1.8"
       sources."on-finished-2.3.0"
       sources."parseurl-1.3.3"
       sources."path-to-regexp-0.1.7"
-      sources."proxy-addr-2.0.6"
+      sources."proxy-addr-2.0.7"
       sources."pull-stream-3.6.14"
       sources."qs-6.5.2"
       sources."range-parser-1.2.1"
diff --git a/nixpkgs/pkgs/servers/web-apps/cryptpad/node-packages.json b/nixpkgs/pkgs/servers/web-apps/cryptpad/node-packages.json
index 07e02a1a0a2e..fde63614a46a 100644
--- a/nixpkgs/pkgs/servers/web-apps/cryptpad/node-packages.json
+++ b/nixpkgs/pkgs/servers/web-apps/cryptpad/node-packages.json
@@ -1,3 +1,3 @@
 [
-  { "cryptpad": "git+https://github.com/xwiki-labs/cryptpad.git#3.20.1" }
+  { "cryptpad": "git+https://github.com/xwiki-labs/cryptpad.git#4.9.0" }
 ]
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/auto_generated_path.patch b/nixpkgs/pkgs/servers/web-apps/discourse/auto_generated_path.patch
new file mode 100644
index 000000000000..9dcb1cb5595e
--- /dev/null
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/auto_generated_path.patch
@@ -0,0 +1,13 @@
+diff --git a/lib/plugin/instance.rb b/lib/plugin/instance.rb
+index 380a63e987..b2ce7fa982 100644
+--- a/lib/plugin/instance.rb
++++ b/lib/plugin/instance.rb
+@@ -403,7 +403,7 @@ class Plugin::Instance
+   end
+ 
+   def auto_generated_path
+-    File.dirname(path) << "/auto_generated"
++    "#{Rails.root}/public/assets/auto_generated_plugin_assets/#{name}"
+   end
+ 
+   def after_initialize(&block)
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/default.nix b/nixpkgs/pkgs/servers/web-apps/discourse/default.nix
index 72ea8a943dc2..ca0f30d78942 100644
--- a/nixpkgs/pkgs/servers/web-apps/discourse/default.nix
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, makeWrapper, runCommandNoCC, lib, nixosTests, writeShellScript
+{ stdenv, pkgs, makeWrapper, runCommand, lib, writeShellScript
 , fetchFromGitHub, bundlerEnv, callPackage
 
 , ruby, replace, gzip, gnutar, git, cacert, util-linux, gawk
@@ -6,16 +6,16 @@
 , redis, postgresql, which, brotli, procps, rsync, nodePackages, v8
 
 , plugins ? []
-}:
+}@args:
 
 let
-  version = "2.7.5";
+  version = "2.7.7";
 
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse";
     rev = "v${version}";
-    sha256 = "sha256-OykWaiBAHcZy41i+aRzBHCRgwnfQUBijHjb+ofIk25M=";
+    sha256 = "sha256-rhcTQyirgPX0ITjgotJAYLLSU957GanxAYYhy9j123U=";
   };
 
   runtimeDeps = [
@@ -55,6 +55,7 @@ let
     , version ? null
     , meta ? null
     , bundlerEnvArgs ? {}
+    , preserveGemsDir ? false
     , src
     , ...
     }@args:
@@ -65,19 +66,29 @@ let
     in
       stdenv.mkDerivation (builtins.removeAttrs args [ "bundlerEnvArgs" ] // {
         pluginName = if name != null then name else "${pname}-${version}";
-        phases = [ "unpackPhase" "installPhase" ];
+        dontConfigure = true;
+        dontBuild = true;
         installPhase = ''
           runHook preInstall
           mkdir -p $out
           cp -r * $out/
-        '' + lib.optionalString (bundlerEnvArgs != {}) ''
-          ln -sf ${rubyEnv}/lib/ruby/gems $out/gems
-        '' + ''
+        '' + lib.optionalString (bundlerEnvArgs != {}) (
+          if preserveGemsDir then ''
+            cp -r ${rubyEnv}/lib/ruby/gems/* $out/gems/
+          ''
+          else ''
+            if [[ -e $out/gems ]]; then
+              echo "Warning: The repo contains a 'gems' directory which will be removed!"
+              echo "         If you need to preserve it, set 'preserveGemsDir = true'."
+              rm -r $out/gems
+            fi
+            ln -sf ${rubyEnv}/lib/ruby/gems $out/gems
+          '' + ''
           runHook postInstall
-        '';
+        '');
       });
 
-  rake = runCommandNoCC "discourse-rake" {
+  rake = runCommand "discourse-rake" {
     nativeBuildInputs = [ makeWrapper ];
   } ''
     mkdir -p $out/bin
@@ -157,6 +168,11 @@ let
       # Use the Ruby API version in the plugin gem path, to match the
       # one constructed by bundlerEnv
       ./plugin_gem_api_version.patch
+
+      # Change the path to the auto generated plugin assets, which
+      # defaults to the plugin's directory and isn't writable at the
+      # time of asset generation
+      ./auto_generated_path.patch
     ];
 
     # We have to set up an environment that is close enough to
@@ -243,6 +259,11 @@ let
       # Use mv instead of rename, since rename doesn't work across
       # device boundaries
       ./use_mv_instead_of_rename.patch
+
+      # Change the path to the auto generated plugin assets, which
+      # defaults to the plugin's directory and isn't writable at the
+      # time of asset generation
+      ./auto_generated_path.patch
     ];
 
     postPatch = ''
@@ -273,7 +294,6 @@ let
       ln -sf /run/discourse/config $out/share/discourse/config
       ln -sf /run/discourse/assets/javascripts/plugins $out/share/discourse/app/assets/javascripts/plugins
       ln -sf /run/discourse/public $out/share/discourse/public
-      ln -sf /run/discourse/plugins $out/share/discourse/plugins
       ln -sf ${assets} $out/share/discourse/public.dist/assets
       ${lib.concatMapStringsSep "\n" (p: "ln -sf ${p} $out/share/discourse/plugins/${p.pluginName or ""}") plugins}
 
@@ -293,7 +313,7 @@ let
       enabledPlugins = plugins;
       plugins = callPackage ./plugins/all-plugins.nix { inherit mkDiscoursePlugin; };
       ruby = rubyEnv.wrappedRuby;
-      tests = nixosTests.discourse;
+      tests = import ../../../../nixos/tests/discourse.nix { package = pkgs.discourse.override args; };
     };
   };
 in discourse
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/all-plugins.nix b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/all-plugins.nix
index f64fbb137dfc..2766b645349f 100644
--- a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/all-plugins.nix
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/all-plugins.nix
@@ -3,9 +3,14 @@ let
   callPackage = newScope args;
 in
 {
+  discourse-calendar = callPackage ./discourse-calendar {};
   discourse-canned-replies = callPackage ./discourse-canned-replies {};
+  discourse-checklist = callPackage ./discourse-checklist {};
+  discourse-data-explorer = callPackage ./discourse-data-explorer {};
   discourse-github = callPackage ./discourse-github {};
+  discourse-ldap-auth = callPackage ./discourse-ldap-auth {};
   discourse-math = callPackage ./discourse-math {};
+  discourse-migratepassword = callPackage ./discourse-migratepassword {};
   discourse-solved = callPackage ./discourse-solved {};
   discourse-spoiler-alert = callPackage ./discourse-spoiler-alert {};
   discourse-yearly-review = callPackage ./discourse-yearly-review {};
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/Gemfile b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/Gemfile
new file mode 100644
index 000000000000..bda8e6ec3cf3
--- /dev/null
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/Gemfile
@@ -0,0 +1,8 @@
+# frozen_string_literal: true
+
+source "https://rubygems.org"
+
+git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
+
+# gem "rails"
+gem 'rrule', '0.4.2', require: false
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/Gemfile.lock b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/Gemfile.lock
new file mode 100644
index 000000000000..d5622c0ac377
--- /dev/null
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/Gemfile.lock
@@ -0,0 +1,27 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    activesupport (6.1.4)
+      concurrent-ruby (~> 1.0, >= 1.0.2)
+      i18n (>= 1.6, < 2)
+      minitest (>= 5.1)
+      tzinfo (~> 2.0)
+      zeitwerk (~> 2.3)
+    concurrent-ruby (1.1.9)
+    i18n (1.8.10)
+      concurrent-ruby (~> 1.0)
+    minitest (5.14.4)
+    rrule (0.4.2)
+      activesupport (>= 4.1)
+    tzinfo (2.0.4)
+      concurrent-ruby (~> 1.0)
+    zeitwerk (2.4.2)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  rrule (= 0.4.2)
+
+BUNDLED WITH
+   2.2.20
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/default.nix b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/default.nix
new file mode 100644
index 000000000000..b610a5c21a1b
--- /dev/null
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/default.nix
@@ -0,0 +1,18 @@
+{ lib, mkDiscoursePlugin, fetchFromGitHub }:
+
+mkDiscoursePlugin {
+  name = "discourse-calendar";
+  bundlerEnvArgs.gemdir = ./.;
+  src = fetchFromGitHub {
+    owner = "discourse";
+    repo = "discourse-calendar";
+    rev = "519cf403ae3003291de20145aca243e2ffbcb4a2";
+    sha256 = "0398cf7k03i7j7v5w1mysjzk2npbkvr7icj5sjwa8i8xzg34gck4";
+  };
+  meta = with lib; {
+    homepage = "https://github.com/discourse/discourse-calendar";
+    maintainers = with maintainers; [ ryantm ];
+    license = licenses.mit;
+    description = "Adds the ability to create a dynamic calendar in the first post of a topic";
+  };
+}
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/gemset.nix b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/gemset.nix
new file mode 100644
index 000000000000..26db0e6fd107
--- /dev/null
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/gemset.nix
@@ -0,0 +1,76 @@
+{
+  activesupport = {
+    dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0kqgywy4cj3h5142dh7pl0xx5nybp25jn0ykk0znziivzks68xdk";
+      type = "gem";
+    };
+    version = "6.1.4";
+  };
+  concurrent-ruby = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0nwad3211p7yv9sda31jmbyw6sdafzmdi2i2niaz6f0wk5nq9h0f";
+      type = "gem";
+    };
+    version = "1.1.9";
+  };
+  i18n = {
+    dependencies = ["concurrent-ruby"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0g2fnag935zn2ggm5cn6k4s4xvv53v2givj1j90szmvavlpya96a";
+      type = "gem";
+    };
+    version = "1.8.10";
+  };
+  minitest = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "19z7wkhg59y8abginfrm2wzplz7py3va8fyngiigngqvsws6cwgl";
+      type = "gem";
+    };
+    version = "5.14.4";
+  };
+  rrule = {
+    dependencies = ["activesupport"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0w338b7dgvd144fl5b8xy2lfc6zgbcjac7b4z158jc8h070yzc9v";
+      type = "gem";
+    };
+    version = "0.4.2";
+  };
+  tzinfo = {
+    dependencies = ["concurrent-ruby"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "10qp5x7f9hvlc0psv9gsfbxg4a7s0485wsbq1kljkxq94in91l4z";
+      type = "gem";
+    };
+    version = "2.0.4";
+  };
+  zeitwerk = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1746czsjarixq0x05f7p3hpzi38ldg6wxnxxw74kbjzh1sdjgmpl";
+      type = "gem";
+    };
+    version = "2.4.2";
+  };
+}
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-canned-replies/default.nix b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-canned-replies/default.nix
index 558abec36f47..f90fabc05745 100644
--- a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-canned-replies/default.nix
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-canned-replies/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-canned-replies";
-    rev = "e3f1de8928df5955b64994079b7e2073556e5456";
-    sha256 = "1g4fazm6cn6hbfd08mq2zhc6dgm4qj1r1f1amhbgxhk6qsxf42cd";
+    rev = "672a96a8160d3767cf5fd6647309c7b5dcf8a55d";
+    sha256 = "105zgpc7j3xmlkaz3cgxw1rfgy5d3dzln58ix569jmzifbsijml7";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-canned-replies";
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-checklist/default.nix b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-checklist/default.nix
new file mode 100644
index 000000000000..89edb3f71d7e
--- /dev/null
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-checklist/default.nix
@@ -0,0 +1,17 @@
+{ lib, mkDiscoursePlugin, fetchFromGitHub }:
+
+mkDiscoursePlugin {
+  name = "discourse-checklist";
+  src = fetchFromGitHub {
+    owner = "discourse";
+    repo = "discourse-checklist";
+    rev = "6e7b9c5040c55795c7fd4db9569b3e93dad092c2";
+    sha256 = "sha256-2KAVBrfAvhLZC9idi+ijbVqOCq9rSXbDVEOZS+mWJ10=";
+  };
+  meta = with lib; {
+    homepage = "https://github.com/discourse/discourse-checklist";
+    maintainers = with maintainers; [ ryantm ];
+    license = licenses.gpl2Only;
+    description = "A simple checklist rendering plugin for discourse ";
+  };
+}
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-data-explorer/default.nix b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-data-explorer/default.nix
new file mode 100644
index 000000000000..90218759cac5
--- /dev/null
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-data-explorer/default.nix
@@ -0,0 +1,17 @@
+{ lib, mkDiscoursePlugin, fetchFromGitHub }:
+
+mkDiscoursePlugin {
+  name = "discourse-data-explorer";
+  src = fetchFromGitHub {
+    owner = "discourse";
+    repo = "discourse-data-explorer";
+    rev = "23287ece952cb45203819e7b470ebc194c58cb13";
+    sha256 = "1vc2072r72fkvcfpy6vpn9x4gl9lpjk29pnj8095xs22im8j5in1";
+  };
+  meta = with lib; {
+    homepage = "https://github.com/discourse/discourse-data-explorer";
+    maintainers = with maintainers; [ ryantm ];
+    license = licenses.mit;
+    description = "SQL Queries for admins in Discourse";
+  };
+}
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile.lock b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile.lock
index 0486ea1402b9..b6ebd834a530 100644
--- a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile.lock
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile.lock
@@ -3,7 +3,7 @@ GEM
   specs:
     addressable (2.8.0)
       public_suffix (>= 2.0.2, < 5.0)
-    faraday (1.5.0)
+    faraday (1.7.0)
       faraday-em_http (~> 1.0)
       faraday-em_synchrony (~> 1.0)
       faraday-excon (~> 1.1)
@@ -11,6 +11,7 @@ GEM
       faraday-net_http (~> 1.0)
       faraday-net_http_persistent (~> 1.1)
       faraday-patron (~> 1.0)
+      faraday-rack (~> 1.0)
       multipart-post (>= 1.2, < 3)
       ruby2_keywords (>= 0.0.4)
     faraday-em_http (1.0.0)
@@ -18,20 +19,21 @@ GEM
     faraday-excon (1.1.0)
     faraday-httpclient (1.0.1)
     faraday-net_http (1.0.1)
-    faraday-net_http_persistent (1.1.0)
+    faraday-net_http_persistent (1.2.0)
     faraday-patron (1.0.0)
+    faraday-rack (1.0.0)
     multipart-post (2.1.1)
     octokit (4.21.0)
       faraday (>= 0.9)
       sawyer (~> 0.8.0, >= 0.5.3)
     public_suffix (4.0.6)
-    ruby2_keywords (0.0.4)
+    ruby2_keywords (0.0.5)
     sawyer (0.8.2)
       addressable (>= 2.3.5)
       faraday (> 0.8, < 2.0)
 
 PLATFORMS
-  x86_64-linux
+  ruby
 
 DEPENDENCIES
   octokit (= 4.21.0)
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix
index bb6d16bfe465..63488de18ff1 100644
--- a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix
@@ -6,8 +6,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-github";
-    rev = "154fd5ea597640c2259ce489b4ce75b48ac1973c";
-    sha256 = "0wb5p219z42rc035rnh2iwrbsj000nxa9shbmc325rzcg6xlhdhw";
+    rev = "b6ad8e39a13e2ad5c6943ea697ca23f2c5f9fec1";
+    sha256 = "0vxwp4kbf44clcqilb8ni0ykk4jrgiv4rbd05pgfvndcp3izm2i6";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-github";
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix
index ae20ec895210..90009a3beb8b 100644
--- a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix
@@ -11,15 +11,15 @@
     version = "2.8.0";
   };
   faraday = {
-    dependencies = ["faraday-em_http" "faraday-em_synchrony" "faraday-excon" "faraday-httpclient" "faraday-net_http" "faraday-net_http_persistent" "faraday-patron" "multipart-post" "ruby2_keywords"];
+    dependencies = ["faraday-em_http" "faraday-em_synchrony" "faraday-excon" "faraday-httpclient" "faraday-net_http" "faraday-net_http_persistent" "faraday-patron" "faraday-rack" "multipart-post" "ruby2_keywords"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0gwbii45plm9bljk22bwzhzxrc5xid8qx24f54vrm74q3zaz00ah";
+      sha256 = "0r6ik2yvsbx6jj30vck32da2bbvj4m0gf4jhp09vr75i1d6jzfvb";
       type = "gem";
     };
-    version = "1.5.0";
+    version = "1.7.0";
   };
   faraday-em_http = {
     groups = ["default"];
@@ -76,10 +76,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0l2c835wl7gv34xp49fhd1bl4czkpw2g3ahqsak2251iqv5589ka";
+      sha256 = "0dc36ih95qw3rlccffcb0vgxjhmipsvxhn6cw71l7ffs0f7vq30b";
       type = "gem";
     };
-    version = "1.1.0";
+    version = "1.2.0";
   };
   faraday-patron = {
     groups = ["default"];
@@ -91,6 +91,16 @@
     };
     version = "1.0.0";
   };
+  faraday-rack = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1h184g4vqql5jv9s9im6igy00jp6mrah2h14py6mpf9bkabfqq7g";
+      type = "gem";
+    };
+    version = "1.0.0";
+  };
   multipart-post = {
     groups = ["default"];
     platforms = [];
@@ -127,10 +137,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15wfcqxyfgka05v2a7kpg64x57gl1y4xzvnc9lh60bqx5sf1iqrs";
+      sha256 = "1vz322p8n39hz3b4a9gkmz9y7a5jaz41zrm2ywf31dvkqm03glgz";
       type = "gem";
     };
-    version = "0.0.4";
+    version = "0.0.5";
   };
   sawyer = {
     dependencies = ["addressable" "faraday"];
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-ldap-auth/Gemfile b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-ldap-auth/Gemfile
new file mode 100644
index 000000000000..897a808c1d7d
--- /dev/null
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-ldap-auth/Gemfile
@@ -0,0 +1,8 @@
+# frozen_string_literal: true
+
+source "https://rubygems.org"
+
+gem 'pyu-ruby-sasl', '0.0.3.3', require: false
+gem 'rubyntlm', '0.3.4', require: false
+gem 'net-ldap', '0.14.0'
+gem 'omniauth-ldap', '1.0.5'
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-ldap-auth/Gemfile.lock b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-ldap-auth/Gemfile.lock
new file mode 100644
index 000000000000..2843cb0d8f09
--- /dev/null
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-ldap-auth/Gemfile.lock
@@ -0,0 +1,28 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    hashie (4.1.0)
+    net-ldap (0.14.0)
+    omniauth (1.9.1)
+      hashie (>= 3.4.6)
+      rack (>= 1.6.2, < 3)
+    omniauth-ldap (1.0.5)
+      net-ldap (~> 0.12)
+      omniauth (~> 1.0)
+      pyu-ruby-sasl (~> 0.0.3.2)
+      rubyntlm (~> 0.3.4)
+    pyu-ruby-sasl (0.0.3.3)
+    rack (2.2.3)
+    rubyntlm (0.3.4)
+
+PLATFORMS
+  x86_64-linux
+
+DEPENDENCIES
+  net-ldap (= 0.14.0)
+  omniauth-ldap (= 1.0.5)
+  pyu-ruby-sasl (= 0.0.3.3)
+  rubyntlm (= 0.3.4)
+
+BUNDLED WITH
+   2.2.20
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-ldap-auth/default.nix b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-ldap-auth/default.nix
new file mode 100644
index 000000000000..92a3c2544cda
--- /dev/null
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-ldap-auth/default.nix
@@ -0,0 +1,18 @@
+{ lib, mkDiscoursePlugin, fetchFromGitHub }:
+
+mkDiscoursePlugin {
+  name = "discourse-ldap-auth";
+  bundlerEnvArgs.gemdir = ./.;
+  src = fetchFromGitHub {
+    owner = "jonmbake";
+    repo = "discourse-ldap-auth";
+    rev = "eca02c560f2f2bf42feeb1923bc17e074f16b891";
+    sha256 = "sha256-HLNoDvvxkBMvqP6WbRrJY0CYnK92W77nzSpuwgl0VPA=";
+  };
+  meta = with lib; {
+    homepage = "https://github.com/jonmbake/discourse-ldap-auth";
+    maintainers = with maintainers; [ ryantm ];
+    license = licenses.mit;
+    description = "Discourse plugin to enable LDAP/Active Directory authentication.";
+  };
+}
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-ldap-auth/gemset.nix b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-ldap-auth/gemset.nix
new file mode 100644
index 000000000000..e684a5064791
--- /dev/null
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-ldap-auth/gemset.nix
@@ -0,0 +1,74 @@
+{
+  hashie = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "02bsx12ihl78x0vdm37byp78jjw2ff6035y7rrmbd90qxjwxr43q";
+      type = "gem";
+    };
+    version = "4.1.0";
+  };
+  net-ldap = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "18fyxfbh32ai72cwgz8s9w0fg0xq7j534y217flw54mmzsj8i6qp";
+      type = "gem";
+    };
+    version = "0.14.0";
+  };
+  omniauth = {
+    dependencies = ["hashie" "rack"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "002vi9gwamkmhf0dsj2im1d47xw2n1jfhnzl18shxf3ampkqfmyz";
+      type = "gem";
+    };
+    version = "1.9.1";
+  };
+  omniauth-ldap = {
+    dependencies = ["net-ldap" "omniauth" "pyu-ruby-sasl" "rubyntlm"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1ld3mx46xa1qhc0cpnck1n06xcxs0ag4n41zgabxri27a772f9wz";
+      type = "gem";
+    };
+    version = "1.0.5";
+  };
+  pyu-ruby-sasl = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1rcpjiz9lrvyb3rd8k8qni0v4ps08psympffyldmmnrqayyad0sn";
+      type = "gem";
+    };
+    version = "0.0.3.3";
+  };
+  rack = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0i5vs0dph9i5jn8dfc6aqd6njcafmb20rwqngrf759c9cvmyff16";
+      type = "gem";
+    };
+    version = "2.2.3";
+  };
+  rubyntlm = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "18d1lxhx62swggf4cqg76h7hp04f5801c8h07w08cm9xng2niqby";
+      type = "gem";
+    };
+    version = "0.3.4";
+  };
+}
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/Gemfile b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/Gemfile
new file mode 100644
index 000000000000..0fcdf01d56f9
--- /dev/null
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/Gemfile
@@ -0,0 +1,6 @@
+# frozen_string_literal: true
+
+source "https://rubygems.org"
+
+gem 'bcrypt', '3.1.3'
+gem 'unix-crypt', '1.3.0'
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/Gemfile.lock b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/Gemfile.lock
new file mode 100644
index 000000000000..2c9fb9049304
--- /dev/null
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/Gemfile.lock
@@ -0,0 +1,15 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    bcrypt (3.1.3)
+    unix-crypt (1.3.0)
+
+PLATFORMS
+  x86_64-linux
+
+DEPENDENCIES
+  bcrypt (= 3.1.3)
+  unix-crypt (= 1.3.0)
+
+BUNDLED WITH
+   2.2.20
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/default.nix b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/default.nix
new file mode 100644
index 000000000000..4c46dfb181e7
--- /dev/null
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/default.nix
@@ -0,0 +1,18 @@
+{ lib, mkDiscoursePlugin, fetchFromGitHub }:
+
+mkDiscoursePlugin {
+  name = "discourse-migratepassword";
+  bundlerEnvArgs.gemdir = ./.;
+  src = fetchFromGitHub {
+    owner = "communiteq";
+    repo = "discourse-migratepassword";
+    rev = "91d6a008de91853becca01846aa4662bd227670e";
+    sha256 = "sha256-aKj0zXyXDnG20qVdhGvn4fwXiBeHFj2pv4bTUP81MP0=";
+  };
+  meta = with lib; {
+    homepage = "https://github.com/communiteq/discourse-migratepassword";
+    maintainers = with maintainers; [ ryantm ];
+    license = licenses.gpl2Only;
+    description = "Support migrated password hashes";
+  };
+}
diff --git a/nixpkgs/pkgs/tools/text/bcat/gemset.nix b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/gemset.nix
index 9471ffae8ddb..22b4053bbd4e 100644
--- a/nixpkgs/pkgs/tools/text/bcat/gemset.nix
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/gemset.nix
@@ -1,23 +1,22 @@
 {
-  bcat = {
-    dependencies = ["rack"];
+  bcrypt = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0w2wwlngcs7f4lmvifixrb89bjkw2lx8z0nn72w360hz394ic651";
+      sha256 = "1d2gqv8vry4ps0asb7nn1z4zxi3mcscy7yrim0npdd294ffyinvj";
       type = "gem";
     };
-    version = "0.6.2";
+    version = "3.1.3";
   };
-  rack = {
+  unix-crypt = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1g9926ln2lw12lfxm4ylq1h6nl0rafl10za3xvjzc87qvnqic87f";
+      sha256 = "1wflipsmmicmgvqilp9pml4x19b337kh6p6jgrzqrzpkq2z52gdq";
       type = "gem";
     };
-    version = "1.6.11";
+    version = "1.3.0";
   };
 }
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix
index 2d451418bdd9..c92c5a1016aa 100644
--- a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-solved";
-    rev = "b96374bf4ab7e6d5cecb0761918b060a524eb9bf";
-    sha256 = "0zrv70p0wz93akpcj6gpwjkw7az3iz9bx4n2z630kyrlmxdbj32a";
+    rev = "8bf54370200fe9d94541f69339430a7dc1019d62";
+    sha256 = "1sk91h4dilkxm1wpv8zw59wgw860ywwlcgiw2kd23ybdk9n7b3lh";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-solved";
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/update.py b/nixpkgs/pkgs/servers/web-apps/discourse/update.py
index ae4dadfc3a73..a207b0ebf318 100755
--- a/nixpkgs/pkgs/servers/web-apps/discourse/update.py
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/update.py
@@ -12,6 +12,7 @@ import os
 import stat
 import json
 import requests
+import textwrap
 from distutils.version import LooseVersion
 from pathlib import Path
 from typing import Iterable
@@ -77,7 +78,11 @@ def _call_nix_update(pkg, version):
 
 def _nix_eval(expr: str):
     nixpkgs_path = Path(__file__).parent / '../../../../'
-    return json.loads(subprocess.check_output(['nix', 'eval', '--json', f'(with import {nixpkgs_path} {{}}; {expr})'], text=True))
+    try:
+        output = subprocess.check_output(['nix', 'eval', '--json', f'(with import {nixpkgs_path} {{}}; {expr})'], text=True)
+    except subprocess.CalledProcessError:
+        return None
+    return json.loads(output)
 
 
 def _get_current_package_version(pkg: str):
@@ -111,6 +116,18 @@ def _diff_file(filepath: str, old_version: str, new_version: str):
     return
 
 
+def _remove_platforms(rubyenv_dir: Path):
+    for platform in ['arm64-darwin-20', 'x86_64-darwin-18',
+                     'x86_64-darwin-19', 'x86_64-darwin-20',
+                     'x86_64-linux']:
+        with open(rubyenv_dir / 'Gemfile.lock', 'r') as f:
+            for line in f:
+                if platform in line:
+                    subprocess.check_output(
+                        ['bundle', 'lock', '--remove-platform', platform], cwd=rubyenv_dir)
+                    break
+
+
 @click_log.simple_verbosity_option(logger)
 
 
@@ -173,10 +190,7 @@ def update(rev):
             f.write(repo.get_file(fn, rev))
 
     subprocess.check_output(['bundle', 'lock'], cwd=rubyenv_dir)
-    for platform in ['arm64-darwin-20', 'x86_64-darwin-18',
-                     'x86_64-darwin-19', 'x86_64-darwin-20',
-                     'x86_64-linux']:
-        subprocess.check_output(['bundle', 'lock', '--remove-platform', platform], cwd=rubyenv_dir)
+    _remove_platforms(rubyenv_dir)
     subprocess.check_output(['bundix'], cwd=rubyenv_dir)
 
     _call_nix_update('discourse', repo.rev2version(rev))
@@ -187,9 +201,14 @@ def update_plugins():
 
     """
     plugins = [
+        {'name': 'discourse-calendar'},
         {'name': 'discourse-canned-replies'},
+        {'name': 'discourse-checklist'},
+        {'name': 'discourse-data-explorer'},
         {'name': 'discourse-github'},
+        {'name': 'discourse-ldap-auth', 'owner': 'jonmbake'},
         {'name': 'discourse-math'},
+        {'name': 'discourse-migratepassword', 'owner': 'discoursehosting'},
         {'name': 'discourse-solved'},
         {'name': 'discourse-spoiler-alert'},
         {'name': 'discourse-yearly-review'},
@@ -202,13 +221,59 @@ def update_plugins():
         repo_name = plugin.get('repo_name') or name
 
         repo = DiscourseRepo(owner=owner, repo=repo_name)
+
+        filename = _nix_eval(f'builtins.unsafeGetAttrPos "src" discourse.plugins.{name}')
+        if filename is None:
+            filename = Path(__file__).parent / 'plugins' / name / 'default.nix'
+            filename.parent.mkdir()
+
+            has_ruby_deps = False
+            for line in repo.get_file('plugin.rb', repo.latest_commit_sha).splitlines():
+                if 'gem ' in line:
+                    has_ruby_deps = True
+                    break
+
+            with open(filename, 'w') as f:
+                f.write(textwrap.dedent(f"""
+                         {{ lib, mkDiscoursePlugin, fetchFromGitHub }}:
+
+                         mkDiscoursePlugin {{
+                           name = "{name}";"""[1:] + ("""
+                           bundlerEnvArgs.gemdir = ./.;""" if has_ruby_deps else "") + f"""
+                           src = {fetcher} {{
+                             owner = "{owner}";
+                             repo = "{repo_name}";
+                             rev = "replace-with-git-rev";
+                             sha256 = "replace-with-sha256";
+                           }};
+                           meta = with lib; {{
+                             homepage = "";
+                             maintainers = with maintainers; [ ];
+                             license = licenses.mit; # change to the correct license!
+                             description = "";
+                           }};
+                         }}"""))
+
+            all_plugins_filename = Path(__file__).parent / 'plugins' / 'all-plugins.nix'
+            with open(all_plugins_filename, 'r+') as f:
+                content = f.read()
+                pos = -1
+                while content[pos] != '}':
+                    pos -= 1
+                content = content[:pos] + f'  {name} = callPackage ./{name} {{}};' + os.linesep + content[pos:]
+                f.seek(0)
+                f.write(content)
+                f.truncate()
+
+        else:
+            filename = filename['file']
+
         prev_commit_sha = _nix_eval(f'discourse.plugins.{name}.src.rev')
 
         if prev_commit_sha == repo.latest_commit_sha:
             click.echo(f'Plugin {name} is already at the latest revision')
             continue
 
-        filename = _nix_eval(f'builtins.unsafeGetAttrPos "src" discourse.plugins.{name}')['file']
         prev_hash = _nix_eval(f'discourse.plugins.{name}.src.outputHash')
         new_hash = subprocess.check_output([
             'nix-universal-prefetch', fetcher,
@@ -244,7 +309,9 @@ def update_plugins():
             with open(gemfile, 'a') as f:
                 f.write(gemfile_text)
 
+            subprocess.check_output(['bundle', 'lock', '--add-platform', 'ruby'], cwd=rubyenv_dir)
             subprocess.check_output(['bundle', 'lock', '--update'], cwd=rubyenv_dir)
+            _remove_platforms(rubyenv_dir)
             subprocess.check_output(['bundix'], cwd=rubyenv_dir)
 
 
diff --git a/nixpkgs/pkgs/servers/web-apps/galene/default.nix b/nixpkgs/pkgs/servers/web-apps/galene/default.nix
index c24857d9dc5f..0ae5523c35a3 100644
--- a/nixpkgs/pkgs/servers/web-apps/galene/default.nix
+++ b/nixpkgs/pkgs/servers/web-apps/galene/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "galene";
-  version = "0.3.4";
+  version = "0.3.5";
 
   src = fetchFromGitHub {
     owner = "jech";
     repo = "galene";
     rev = "galene-${version}";
-    sha256 = "sha256-yb+gEex4WEvIAEMuSTkw25rsBTL9tlfhf9qQtISWUd0=";
+    sha256 = "sha256-CqwxHLXhiBYPS+93/MycS2IR//31puhI+oSpMS/jR1s=";
   };
 
   vendorSha256 = "sha256-Vm7tTTQJyZZVbORl5ziy4GJ34kHh5dh0ojX/ZuTpshA=";
diff --git a/nixpkgs/pkgs/servers/web-apps/hedgedoc/default.nix b/nixpkgs/pkgs/servers/web-apps/hedgedoc/default.nix
index 0e1d933ab589..40f8b1b43278 100644
--- a/nixpkgs/pkgs/servers/web-apps/hedgedoc/default.nix
+++ b/nixpkgs/pkgs/servers/web-apps/hedgedoc/default.nix
@@ -29,7 +29,7 @@ let
 in
 
 mkYarnPackage rec {
-  name = "hedgedoc";
+  pname = "hedgedoc";
   version = "1.8.2";
 
   src = fetchFromGitHub {
diff --git a/nixpkgs/pkgs/servers/web-apps/hedgedoc/yarn.nix b/nixpkgs/pkgs/servers/web-apps/hedgedoc/yarn.nix
index d18891f619fc..5d7cbc1c02db 100644
--- a/nixpkgs/pkgs/servers/web-apps/hedgedoc/yarn.nix
+++ b/nixpkgs/pkgs/servers/web-apps/hedgedoc/yarn.nix
@@ -1,4 +1,4 @@
-{ fetchurl, fetchgit, linkFarm, runCommandNoCC, gnutar }: rec {
+{ fetchurl, fetchgit, linkFarm, runCommand, gnutar }: rec {
   offline_cache = linkFarm "offline" packages;
   packages = [
     {
@@ -651,7 +651,7 @@
           sha256 = "1pa8cqbr758vx1q2ymsmbkp9cz3b7bghxzi90zc4hfq1nzav5w85";
         };
       in
-        runCommandNoCC "Idle.js" { buildInputs = [gnutar]; } ''
+        runCommand "Idle.js" { buildInputs = [gnutar]; } ''
           # Set u+w because tar-fs can't unpack archives with read-only dirs
           # https://github.com/mafintosh/tar-fs/issues/79
           tar cf $out --mode u+w -C ${repo} .
@@ -2403,7 +2403,7 @@
           sha256 = "0b6axzi9kwsd24pcqfk5rmy9nhsdyklpd3z8w9wiynd64435dilz";
         };
       in
-        runCommandNoCC "CodeMirror.git" { buildInputs = [gnutar]; } ''
+        runCommand "CodeMirror.git" { buildInputs = [gnutar]; } ''
           # Set u+w because tar-fs can't unpack archives with read-only dirs
           # https://github.com/mafintosh/tar-fs/issues/79
           tar cf $out --mode u+w -C ${repo} .
@@ -3531,7 +3531,7 @@
           sha256 = "0hlv66cxrqih7spnissl44jd8f8x9dyvzc68fn0g2fwwrnpjjib7";
         };
       in
-        runCommandNoCC "diff-match-patch.git" { buildInputs = [gnutar]; } ''
+        runCommand "diff-match-patch.git" { buildInputs = [gnutar]; } ''
           # Set u+w because tar-fs can't unpack archives with read-only dirs
           # https://github.com/mafintosh/tar-fs/issues/79
           tar cf $out --mode u+w -C ${repo} .
@@ -6203,7 +6203,7 @@
           sha256 = "0d2zf62fmad760rg9hrkyhp03k5apms3fm0mf64yy8q6p3iw7jvw";
         };
       in
-        runCommandNoCC "js-sequence-diagrams.git" { buildInputs = [gnutar]; } ''
+        runCommand "js-sequence-diagrams.git" { buildInputs = [gnutar]; } ''
           # Set u+w because tar-fs can't unpack archives with read-only dirs
           # https://github.com/mafintosh/tar-fs/issues/79
           tar cf $out --mode u+w -C ${repo} .
@@ -6923,7 +6923,7 @@
           sha256 = "036v1a9z79mc961xxx0rw8p6n2w1z8bnqpapgfg2kbw8f87jfxyi";
         };
       in
-        runCommandNoCC "lz-string.git" { buildInputs = [gnutar]; } ''
+        runCommand "lz-string.git" { buildInputs = [gnutar]; } ''
           # Set u+w because tar-fs can't unpack archives with read-only dirs
           # https://github.com/mafintosh/tar-fs/issues/79
           tar cf $out --mode u+w -C ${repo} .
@@ -7323,7 +7323,7 @@
           sha256 = "1rgmap95akwf9z72msxpqcfy95h8pqz9c8vn9xvvibfb5jf46lv0";
         };
       in
-        runCommandNoCC "meta-marked" { buildInputs = [gnutar]; } ''
+        runCommand "meta-marked" { buildInputs = [gnutar]; } ''
           # Set u+w because tar-fs can't unpack archives with read-only dirs
           # https://github.com/mafintosh/tar-fs/issues/79
           tar cf $out --mode u+w -C ${repo} .
diff --git a/nixpkgs/pkgs/servers/web-apps/lemmy/default.nix b/nixpkgs/pkgs/servers/web-apps/lemmy/default.nix
index e9b6eb116290..c07865688f99 100644
--- a/nixpkgs/pkgs/servers/web-apps/lemmy/default.nix
+++ b/nixpkgs/pkgs/servers/web-apps/lemmy/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "lemmy-server";
-  version = "0.11.2";
+  version = "0.11.3";
 
   src = fetchFromGitHub {
     owner = "LemmyNet";
     repo = "lemmy";
     rev = version;
-    sha256 = "sha256-wDRBeAYjPpAd3DL99fH4Yng994hGmAmxlBqzOeXTP88=";
+    sha256 = "sha256-AFVipxzKwNiillVmMA+Q7nMKajN9mzw37mBpqzf+XpM=";
   };
 
-  cargoSha256 = "sha256-7wF5mUjSeJvCNLZcR6XB31RX2RLOOEyTGpOQxg+NcWk=";
+  cargoSha256 = "sha256-nxuynzQRUqne1KZIvP152afWbG2Zb9zyCqy7Bx4PeJ8=";
 
   buildInputs = [ postgresql ]
     ++ lib.optionals stdenv.isDarwin [ libiconv Security ];
@@ -32,7 +32,7 @@ rustPlatform.buildRustPackage rec {
   OPENSSL_INCLUDE_DIR = "${openssl.dev}/include";
 
   meta = with lib; {
-    description = "Ultra relevant and instant full-text search API";
+    description = "🐀 Building a federated alternative to reddit in rust";
     homepage = "https://join-lemmy.org/";
     license = licenses.agpl3Only;
     maintainers = with maintainers; [ happysalada ];
diff --git a/nixpkgs/pkgs/servers/web-apps/matomo/default.nix b/nixpkgs/pkgs/servers/web-apps/matomo/default.nix
index 9a0a1bed0c8c..673b5bbc3b2d 100644
--- a/nixpkgs/pkgs/servers/web-apps/matomo/default.nix
+++ b/nixpkgs/pkgs/servers/web-apps/matomo/default.nix
@@ -3,16 +3,16 @@
 let
   versions = {
     matomo = {
-      version = "4.3.1";
-      sha256 = "Ve4P1cVV/uZ59BcQaUZLTTOwpjX7veof9jR0l3Y9xOQ=";
+      version = "4.4.1";
+      sha256 = "0y8ljdj97znvd3hkkr7s6s9k8m93agw3z9cfw1azzaxgc46akfcl";
     };
 
     matomo-beta = {
-      version = "4.3.1";
+      version = "4.4.1";
       # `beta` examples: "b1", "rc1", null
       # TOOD when updating: use null if stable version is >= latest beta or release candidate
       beta = null;
-      sha256 = "Ve4P1cVV/uZ59BcQaUZLTTOwpjX7veof9jR0l3Y9xOQ=";
+      sha256 = "0y8ljdj97znvd3hkkr7s6s9k8m93agw3z9cfw1azzaxgc46akfcl";
     };
   };
   common = pname: { version, sha256, beta ? null }:
@@ -102,7 +102,7 @@ let
           license = licenses.gpl3Plus;
           homepage = "https://matomo.org/";
           platforms = platforms.all;
-          maintainers = with maintainers; [ florianjacob kiwi ];
+          maintainers = with maintainers; [ florianjacob kiwi sebbel ];
         };
       };
 in
diff --git a/nixpkgs/pkgs/servers/web-apps/moodle/default.nix b/nixpkgs/pkgs/servers/web-apps/moodle/default.nix
index bd90e908f1c4..d6fcedf8dc6c 100644
--- a/nixpkgs/pkgs/servers/web-apps/moodle/default.nix
+++ b/nixpkgs/pkgs/servers/web-apps/moodle/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchurl, writeText, plugins ? [ ] }:
 
 let
-  version = "3.11";
+  version = "3.11.2";
   stableVersion = lib.concatStrings (lib.take 2 (lib.splitVersion version));
 
 in stdenv.mkDerivation rec {
@@ -11,7 +11,7 @@ in stdenv.mkDerivation rec {
   src = fetchurl {
     url =
       "https://download.moodle.org/stable${stableVersion}/${pname}-${version}.tgz";
-    sha256 = "sha256-rZKY26ZPvubSr6nZ+Kguj1uKoEJbF3pEIKjjh6weyYo";
+    sha256 = "sha256-owe/8CVz7+uBrHJQDN4csWVcdk49AvT1ip88lAe/tKg=";
   };
 
   phpConfig = writeText "config.php" ''
diff --git a/nixpkgs/pkgs/servers/web-apps/plausible/default.nix b/nixpkgs/pkgs/servers/web-apps/plausible/default.nix
index 2cdd33a245e5..40e7d878da29 100644
--- a/nixpkgs/pkgs/servers/web-apps/plausible/default.nix
+++ b/nixpkgs/pkgs/servers/web-apps/plausible/default.nix
@@ -13,7 +13,6 @@
 let
   pname = "plausible";
   version = "1.3.0";
-  name = "${pname}-${version}";
 
   src = fetchFromGitHub {
     owner = "plausible";
diff --git a/nixpkgs/pkgs/servers/web-apps/plausible/yarn.nix b/nixpkgs/pkgs/servers/web-apps/plausible/yarn.nix
index 303ccb31c551..3b29c311445c 100644
--- a/nixpkgs/pkgs/servers/web-apps/plausible/yarn.nix
+++ b/nixpkgs/pkgs/servers/web-apps/plausible/yarn.nix
@@ -1,4 +1,4 @@
-{ fetchurl, fetchgit, linkFarm, runCommandNoCC, gnutar }: rec {
+{ fetchurl, fetchgit, linkFarm, runCommand, gnutar }: rec {
   offline_cache = linkFarm "offline" packages;
   packages = [
     {
diff --git a/nixpkgs/pkgs/servers/web-apps/sogo/default.nix b/nixpkgs/pkgs/servers/web-apps/sogo/default.nix
index 20fc0f6f0c0c..fc7af3bcf2dc 100644
--- a/nixpkgs/pkgs/servers/web-apps/sogo/default.nix
+++ b/nixpkgs/pkgs/servers/web-apps/sogo/default.nix
@@ -1,19 +1,19 @@
 { gnustep, lib, fetchFromGitHub, fetchpatch, makeWrapper, python3, lndir
-, openssl_1_1, openldap, sope, libmemcached, curl, libsodium, libzip, pkg-config, nixosTests }:
-with lib; gnustep.stdenv.mkDerivation rec {
+, openssl, openldap, sope, libmemcached, curl, libsodium, libytnef, libzip, pkg-config, nixosTests }:
+gnustep.stdenv.mkDerivation rec {
   pname = "SOGo";
-  version = "5.1.1";
+  version = "5.2.0";
 
   src = fetchFromGitHub {
     owner = "inverse-inc";
     repo = pname;
     rev = "SOGo-${version}";
-    sha256 = "19qkznk20fi47zxvg24hqnim5bpjlawk76w04jgd93yqakidl8ax";
+    sha256 = "0y9im5y6ffdc7sy2qphq0xai4ig1ks7vj10vy4mn1psdlc5kd516";
   };
 
   nativeBuildInputs = [ gnustep.make makeWrapper python3 ];
-  buildInputs = [ gnustep.base sope openssl_1_1 libmemcached (curl.override { openssl = openssl_1_1; }) libsodium libzip pkg-config ]
-    ++ optional (openldap != null) openldap;
+  buildInputs = [ gnustep.base sope openssl libmemcached curl libsodium libytnef libzip pkg-config ]
+    ++ lib.optional (openldap != null) openldap;
 
   patches = [
     # TODO: take a closer look at other patches in https://sources.debian.org/patches/sogo/ and https://github.com/Skrupellos/sogo-patches
@@ -68,7 +68,7 @@ with lib; gnustep.stdenv.mkDerivation rec {
 
   passthru.tests.sogo = nixosTests.sogo;
 
-  meta = {
+  meta = with lib; {
     description = "A very fast and scalable modern collaboration suite (groupware)";
     license = with licenses; [ gpl2Only lgpl21Only ];
     homepage = "https://sogo.nu/";
diff --git a/nixpkgs/pkgs/servers/web-apps/whitebophir/node-packages-generated.nix b/nixpkgs/pkgs/servers/web-apps/whitebophir/node-packages-generated.nix
index cdbb8c4a3451..d5ecdf2f5d41 100644
--- a/nixpkgs/pkgs/servers/web-apps/whitebophir/node-packages-generated.nix
+++ b/nixpkgs/pkgs/servers/web-apps/whitebophir/node-packages-generated.nix
@@ -4,112 +4,112 @@
 
 let
   sources = {
-    "@financial-times/polyfill-useragent-normaliser-1.9.0" = {
+    "@financial-times/polyfill-useragent-normaliser-1.10.0" = {
       name = "_at_financial-times_slash_polyfill-useragent-normaliser";
       packageName = "@financial-times/polyfill-useragent-normaliser";
-      version = "1.9.0";
+      version = "1.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@financial-times/polyfill-useragent-normaliser/-/polyfill-useragent-normaliser-1.9.0.tgz";
-        sha512 = "jrVQ42tT1RrWyR/hkJlro2HhHZMPGXknKfJyZabe0CYj1c1KIqdS1JhhXEOt0T9ntaRCYq56y2/hAMM6LOU73g==";
+        url = "https://registry.npmjs.org/@financial-times/polyfill-useragent-normaliser/-/polyfill-useragent-normaliser-1.10.0.tgz";
+        sha512 = "OQYm8qoegUzHZgpNjw0QSmcoH8Tu+fbY9/wTOqbK/2lj3qWNZpGdBimTV1qp8xwF+SVyL2vNzZEjTxSlbjNOSA==";
       };
     };
-    "@financial-times/useragent_parser-1.5.1" = {
+    "@financial-times/useragent_parser-1.6.0" = {
       name = "_at_financial-times_slash_useragent_parser";
       packageName = "@financial-times/useragent_parser";
-      version = "1.5.1";
+      version = "1.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@financial-times/useragent_parser/-/useragent_parser-1.5.1.tgz";
-        sha512 = "g6MJ5tVszip1wAOq41yk8Z0WJqjfpu3hKaos/IaechYC4RqIn8bTanNR/EGD6oeOdJ9/fTPbQQX5/3ZQwSTXtQ==";
+        url = "https://registry.npmjs.org/@financial-times/useragent_parser/-/useragent_parser-1.6.0.tgz";
+        sha512 = "v6Ucl//xSVhpyTtHMVCA9uv9W7CVwj8vBAQFKFDkfGC1DquBobOMhnzH9Odc+Tunf+i4WRnNgt90fQ7CSAbU3g==";
       };
     };
-    "@formatjs/ecma402-abstract-1.5.1" = {
+    "@formatjs/ecma402-abstract-1.8.0" = {
       name = "_at_formatjs_slash_ecma402-abstract";
       packageName = "@formatjs/ecma402-abstract";
-      version = "1.5.1";
+      version = "1.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.5.1.tgz";
-        sha512 = "io9XhgIpEbc6jSdn4QVnJeFaUzy6gS5fGiIRCUJ7QKqCNp69JS8EJPW8gCtvwz+JQtx2SJvhaMJbzz3rGkTXBA==";
+        url = "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.8.0.tgz";
+        sha512 = "X+nxZcIQr0YfYNtw1ZkHjN3YSyi0fEmdAJqRzk24KwNvqLv7GmVfw70mf7ADnwOvkcrSaAdx24GfAqckGTv9ww==";
       };
     };
-    "@formatjs/intl-datetimeformat-3.2.3" = {
+    "@formatjs/intl-datetimeformat-4.1.0" = {
       name = "_at_formatjs_slash_intl-datetimeformat";
       packageName = "@formatjs/intl-datetimeformat";
-      version = "3.2.3";
+      version = "4.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@formatjs/intl-datetimeformat/-/intl-datetimeformat-3.2.3.tgz";
-        sha512 = "KnQUVuctlozQHULnBi+WLZDAGznFYviVU2HqgCYin2ZEz45IJ9dIZH9gqwsIgiLDgudptHfbj98I3JeKJhprcg==";
+        url = "https://registry.npmjs.org/@formatjs/intl-datetimeformat/-/intl-datetimeformat-4.1.0.tgz";
+        sha512 = "rEAPnIIsiOpjXMqoMdxClJ4Q2uhKTN1WH2fQUCJrg4FYdqfevJeymSowdLcOi1AYARIoTXTmlqS8pHIJx62VEw==";
       };
     };
-    "@formatjs/intl-displaynames-4.0.4" = {
+    "@formatjs/intl-displaynames-5.1.0" = {
       name = "_at_formatjs_slash_intl-displaynames";
       packageName = "@formatjs/intl-displaynames";
-      version = "4.0.4";
+      version = "5.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-4.0.4.tgz";
-        sha512 = "oNeLM0vZDFNZSqrz70XhxbMGtjfQ7T/UUcA9K4DvjWX6vmgCbpw5rdwEddhTotY3EmTyUJueK+14e2gIwfCbBA==";
+        url = "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-5.1.0.tgz";
+        sha512 = "2pwIlHcNBZ281ySsz/E6JURVDxWsIxHn/HyxmylxBQMeW2HeFq1YuP6ycAxSMfp+EtWAN4v8TgWJQM+YBI22FA==";
       };
     };
-    "@formatjs/intl-getcanonicallocales-1.5.3" = {
+    "@formatjs/intl-getcanonicallocales-1.6.0" = {
       name = "_at_formatjs_slash_intl-getcanonicallocales";
       packageName = "@formatjs/intl-getcanonicallocales";
-      version = "1.5.3";
+      version = "1.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@formatjs/intl-getcanonicallocales/-/intl-getcanonicallocales-1.5.3.tgz";
-        sha512 = "QVBnSPZ32Y80wkXbf36hP9VbyklbOb8edppxFcgO9Lbd47zagllw65Y81QOHEn/j11JcTn2OhW0vea95LHvQmA==";
+        url = "https://registry.npmjs.org/@formatjs/intl-getcanonicallocales/-/intl-getcanonicallocales-1.6.0.tgz";
+        sha512 = "1967VujZeow0K0NpzerdNOaskcE0KwnnchxT8TzlkLs4RjXx7Uz0bjQPtUYGV7kvbgMJ9qb6tWmCqIwe3sBKUw==";
       };
     };
-    "@formatjs/intl-listformat-5.0.4" = {
+    "@formatjs/intl-listformat-6.1.0" = {
       name = "_at_formatjs_slash_intl-listformat";
       packageName = "@formatjs/intl-listformat";
-      version = "5.0.4";
+      version = "6.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-5.0.4.tgz";
-        sha512 = "0DQ2NF1PmO3+mvZp4V/SPNk7kUaLDcZR3eWbN8cGvSafWOrcv1iEcTXOd8ow8u9OA0gBTWwgPDcQFn7W0mU8kw==";
+        url = "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-6.1.0.tgz";
+        sha512 = "NsDKO0U1mVFZmoyZ0ztFL+biqztDKv1qdSvPA1S5yOYZddDy6G9SpnBZgNjhxUFIBqycNW95ibO/jrI5Ou4s5Q==";
       };
     };
-    "@formatjs/intl-locale-2.4.13" = {
+    "@formatjs/intl-locale-2.4.26" = {
       name = "_at_formatjs_slash_intl-locale";
       packageName = "@formatjs/intl-locale";
-      version = "2.4.13";
+      version = "2.4.26";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@formatjs/intl-locale/-/intl-locale-2.4.13.tgz";
-        sha512 = "hrglCuFjRpMrutmuL+Ck84KBxeHhouk7d5B/G9kqHL4zmrW6AsBwU+0KeyvareiY3MWzYZhQj1Nm3JEGulQRUQ==";
+        url = "https://registry.npmjs.org/@formatjs/intl-locale/-/intl-locale-2.4.26.tgz";
+        sha512 = "f5NyHb5qdfA0oO2IGLhNU0k9BWq8xI26VqxzZqjTfEKnn8xJ+SBE9drwRfTqlRz6pmvztPmkDg3FSflmGdDKGw==";
       };
     };
-    "@formatjs/intl-numberformat-6.1.3" = {
+    "@formatjs/intl-numberformat-7.1.0" = {
       name = "_at_formatjs_slash_intl-numberformat";
       packageName = "@formatjs/intl-numberformat";
-      version = "6.1.3";
+      version = "7.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@formatjs/intl-numberformat/-/intl-numberformat-6.1.3.tgz";
-        sha512 = "bLVEt4G7IfacLpiBKg2VfHKnPrzWOWX/jxEi+OIUk6M2bEfYj8Vi1nYGb8+D7ZHCbuj/L7+lnlL4bItPTXT8JA==";
+        url = "https://registry.npmjs.org/@formatjs/intl-numberformat/-/intl-numberformat-7.1.0.tgz";
+        sha512 = "zwjacMSn+Ide2RXK2PN0veB7N7ay10tQ1Pb8eXeMB7zjRjJXHROi8O1ZA0dpJid0lw/5+5G2/lEdYvsPWLkaZA==";
       };
     };
-    "@formatjs/intl-pluralrules-4.0.5" = {
+    "@formatjs/intl-pluralrules-4.0.20" = {
       name = "_at_formatjs_slash_intl-pluralrules";
       packageName = "@formatjs/intl-pluralrules";
-      version = "4.0.5";
+      version = "4.0.20";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@formatjs/intl-pluralrules/-/intl-pluralrules-4.0.5.tgz";
-        sha512 = "mWsCpc/SZ6rk0Qb3zpv5bUz6uJysW6qap0qJJz6d0MJpszN3GNsk8CbP5q62oUaWvBmHoeXBvAG9VVEu1TUexw==";
+        url = "https://registry.npmjs.org/@formatjs/intl-pluralrules/-/intl-pluralrules-4.0.20.tgz";
+        sha512 = "ayyjvIh9ShXQxo0Y9GhUTyW9zyB3jiBFRIEhMmGowpIlTVRhOwl57XZ+YuUgo/yCvtJqnvGPu/4/fQTouxHuGw==";
       };
     };
-    "@formatjs/intl-relativetimeformat-8.0.3" = {
+    "@formatjs/intl-relativetimeformat-9.1.0" = {
       name = "_at_formatjs_slash_intl-relativetimeformat";
       packageName = "@formatjs/intl-relativetimeformat";
-      version = "8.0.3";
+      version = "9.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@formatjs/intl-relativetimeformat/-/intl-relativetimeformat-8.0.3.tgz";
-        sha512 = "OIobPtY5vtwe5IM0B0J3KmewYB/NTcbgiW9yRdWzMA1TeFSd8LfuficICYuzUZt25Kh/eIw4g37ArhS1WH/6Iw==";
+        url = "https://registry.npmjs.org/@formatjs/intl-relativetimeformat/-/intl-relativetimeformat-9.1.0.tgz";
+        sha512 = "F4HmAk/ZYy9VNbrNOayGfPKEnj2ey6M9kMKf+UKL6QL21FOxLyY6e4okSG6VbAjZ0cYgKvEiNDjSuWP86qSo0g==";
       };
     };
-    "@juggle/resize-observer-3.3.0" = {
+    "@juggle/resize-observer-3.3.1" = {
       name = "_at_juggle_slash_resize-observer";
       packageName = "@juggle/resize-observer";
-      version = "3.3.0";
+      version = "3.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@juggle/resize-observer/-/resize-observer-3.3.0.tgz";
-        sha512 = "P1v2nvK7z2gOLVM/bveIRLG9L99uEahTGgTltyF03zixZAjI9YmKLj5Z9MpS9wBIUt5WDoQORT2lXvLOIF89iA==";
+        url = "https://registry.npmjs.org/@juggle/resize-observer/-/resize-observer-3.3.1.tgz";
+        sha512 = "zMM9Ds+SawiUkakS7y94Ymqx+S0ORzpG3frZirN3l+UlXUmSUR7hF4wxCVqW+ei94JzV5kt0uXBcoOEAuiydrw==";
       };
     };
     "@types/component-emitter-1.2.10" = {
@@ -121,40 +121,40 @@ let
         sha512 = "bsjleuRKWmGqajMerkzox19aGbscQX5rmmvvXl3wlIp5gMG1HgkiwPxsN5p070fBDKTNSPgojVbuY1+HWMbFhg==";
       };
     };
-    "@types/cookie-0.4.0" = {
+    "@types/cookie-0.4.1" = {
       name = "_at_types_slash_cookie";
       packageName = "@types/cookie";
-      version = "0.4.0";
+      version = "0.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.0.tgz";
-        sha512 = "y7mImlc/rNkvCRmg8gC3/lj87S7pTUIJ6QGjwHR9WQJcFs+ZMTOaoPrkdFA/YdbuqVEmEbb5RdhVxMkAcgOnpg==";
+        url = "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz";
+        sha512 = "XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==";
       };
     };
-    "@types/cors-2.8.10" = {
+    "@types/cors-2.8.12" = {
       name = "_at_types_slash_cors";
       packageName = "@types/cors";
-      version = "2.8.10";
+      version = "2.8.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/cors/-/cors-2.8.10.tgz";
-        sha512 = "C7srjHiVG3Ey1nR6d511dtDkCEjxuN9W1HWAEjGq8kpcwmNM6JJkpC0xvabM7BXTG2wDq8Eu33iH9aQKa7IvLQ==";
+        url = "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz";
+        sha512 = "vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==";
       };
     };
-    "@types/node-14.14.31" = {
+    "@types/node-16.4.11" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "14.14.31";
+      version = "16.4.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-14.14.31.tgz";
-        sha512 = "vFHy/ezP5qI0rFgJ7aQnjDXwAMrG0KqqIH7tQG5PPv3BWBayOPIQNBjVc/P6hhdZfMx51REc6tfDNXHUio893g==";
+        url = "https://registry.npmjs.org/@types/node/-/node-16.4.11.tgz";
+        sha512 = "nWSFUbuNiPKJEe1IViuodSI+9cM+vpM8SWF/O6dJK7wmGRNq55U7XavJHrlRrPkSMuUZUFzg1xaZ1B+ZZCrRWw==";
       };
     };
-    "@webcomponents/template-1.4.4" = {
+    "@webcomponents/template-1.5.0" = {
       name = "_at_webcomponents_slash_template";
       packageName = "@webcomponents/template";
-      version = "1.4.4";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@webcomponents/template/-/template-1.4.4.tgz";
-        sha512 = "QqCmmywIKJTilkl6UIPLxEBBuqhDaOBpvQyKOnUEwl9lJuVHBrVlhMIhhnp9VSZJ6xEUnp+PiX8DST1k0q/v4Q==";
+        url = "https://registry.npmjs.org/@webcomponents/template/-/template-1.5.0.tgz";
+        sha512 = "DPQgBAedzjsFD7rgv7b6OKmpHq5VTBUCLmYfDiov2FC2C79QGaz+4iNmlVAem5iSicvN8DWTwU1kZ48XYLtuqg==";
       };
     };
     "Base64-1.1.0" = {
@@ -220,13 +220,13 @@ let
         sha1 = "4b728faf0a19555194d4fbd05582f833fdcd137b";
       };
     };
-    "balanced-match-1.0.0" = {
+    "balanced-match-1.0.2" = {
       name = "balanced-match";
       packageName = "balanced-match";
-      version = "1.0.0";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz";
-        sha1 = "89b4d199ab2bee49de164ea02b89ce462d71b767";
+        url = "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz";
+        sha512 = "3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==";
       };
     };
     "base64-arraybuffer-0.1.4" = {
@@ -436,13 +436,13 @@ let
         sha1 = "ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59";
       };
     };
-    "engine.io-4.1.1" = {
+    "engine.io-5.1.1" = {
       name = "engine.io";
       packageName = "engine.io";
-      version = "4.1.1";
+      version = "5.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/engine.io/-/engine.io-4.1.1.tgz";
-        sha512 = "t2E9wLlssQjGw0nluF6aYyfX8LwYU8Jj0xct+pAhfWfv/YrBn6TSNtEYsgxHIfaMqfrLx07czcMg9bMN6di+3w==";
+        url = "https://registry.npmjs.org/engine.io/-/engine.io-5.1.1.tgz";
+        sha512 = "aMWot7H5aC8L4/T8qMYbLdvKlZOdJTH54FxfdFunTGvhMx1BHkJOntWArsVfgAZVwAO9LC2sryPWRcEeUzCe5w==";
       };
     };
     "engine.io-parser-4.0.2" = {
@@ -472,13 +472,13 @@ let
         sha1 = "41ae2eeb65efa62268aebfea83ac7d79299b0887";
       };
     };
-    "event-source-polyfill-1.0.22" = {
+    "event-source-polyfill-1.0.24" = {
       name = "event-source-polyfill";
       packageName = "event-source-polyfill";
-      version = "1.0.22";
+      version = "1.0.24";
       src = fetchurl {
-        url = "https://registry.npmjs.org/event-source-polyfill/-/event-source-polyfill-1.0.22.tgz";
-        sha512 = "Fnk9E2p4rkZ3eJGBn2HDeZoBTpyjPxj8RX/whdr4Pm5622xYgYo1k48SUD649Xlo6nnoKRr2WwcUlneil/AZ8g==";
+        url = "https://registry.npmjs.org/event-source-polyfill/-/event-source-polyfill-1.0.24.tgz";
+        sha512 = "aEtMhrH5ww3X6RgbsNcwu0whw8zjOoeRnwPqRKqKuxWS5KlAZhCY+rTm6wMlHOXbxmLGn8lW6Xox7rfpBExzGA==";
       };
     };
     "event-target-shim-5.0.1" = {
@@ -535,13 +535,13 @@ let
         sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f";
       };
     };
-    "glob-7.1.6" = {
+    "glob-7.1.7" = {
       name = "glob";
       packageName = "glob";
-      version = "7.1.6";
+      version = "7.1.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz";
-        sha512 = "LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==";
+        url = "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz";
+        sha512 = "OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==";
       };
     };
     "graceful-fs-4.2.6" = {
@@ -715,22 +715,22 @@ let
         sha512 = "x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==";
       };
     };
-    "mime-db-1.46.0" = {
+    "mime-db-1.49.0" = {
       name = "mime-db";
       packageName = "mime-db";
-      version = "1.46.0";
+      version = "1.49.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.46.0.tgz";
-        sha512 = "svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ==";
+        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz";
+        sha512 = "CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==";
       };
     };
-    "mime-types-2.1.29" = {
+    "mime-types-2.1.32" = {
       name = "mime-types";
       packageName = "mime-types";
-      version = "2.1.29";
+      version = "2.1.32";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.29.tgz";
-        sha512 = "Y/jMt/S5sR9OaqteJtslsFZKWOIIqMACsJSiHghlCAyhf7jfVYjKBmLiX8OgpWeW+fjJ2b+Az69aPFPkUOY6xQ==";
+        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz";
+        sha512 = "hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==";
       };
     };
     "minimatch-3.0.4" = {
@@ -895,13 +895,13 @@ let
         sha512 = "JDdx+3i4fs2pkqwWZJgGEM2vFWsq+01YsQFT9CKPGuv2Q0xSdrQZoxi9XwyNARTgxiOdgoAwWQRluLRe/JQX2g==";
       };
     };
-    "polyfill-library-3.103.0" = {
+    "polyfill-library-3.107.1" = {
       name = "polyfill-library";
       packageName = "polyfill-library";
-      version = "3.103.0";
+      version = "3.107.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/polyfill-library/-/polyfill-library-3.103.0.tgz";
-        sha512 = "z6DMbqDGO87IeG/sjN/PGPgGLzhKftVj6OeRujxgQn+Kz7x+E8uzFvdB3X8dqoE4xaY6aX3ar0UzRxRlYPH9yg==";
+        url = "https://registry.npmjs.org/polyfill-library/-/polyfill-library-3.107.1.tgz";
+        sha512 = "HrN61Tp8Wjz1xcmYmstm0m6ySeiVSVqadDFhFMZmoiWlRoPQRfdeVWv88IqZKmxYITZ85z26wmOJdGYrGs6tjw==";
       };
     };
     "process-nextick-args-2.0.1" = {
@@ -985,13 +985,13 @@ let
         sha512 = "emnwZtu6NrlBlvT6HrlbAOs024JX4orWew8H5owBOyUJ7eFXn8lGe4bsXTBD6AAWzP/p7LL86AjVIH8Apqec5w==";
       };
     };
-    "semver-7.3.4" = {
+    "semver-7.3.5" = {
       name = "semver";
       packageName = "semver";
-      version = "7.3.4";
+      version = "7.3.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz";
-        sha512 = "tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==";
+        url = "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz";
+        sha512 = "PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==";
       };
     };
     "send-0.17.1" = {
@@ -1021,22 +1021,22 @@ let
         sha512 = "JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==";
       };
     };
-    "socket.io-3.1.2" = {
+    "socket.io-4.1.3" = {
       name = "socket.io";
       packageName = "socket.io";
-      version = "3.1.2";
+      version = "4.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/socket.io/-/socket.io-3.1.2.tgz";
-        sha512 = "JubKZnTQ4Z8G4IZWtaAZSiRP3I/inpy8c/Bsx2jrwGrTbKeVU5xd6qkKMHpChYeM3dWZSO0QACiGK+obhBNwYw==";
+        url = "https://registry.npmjs.org/socket.io/-/socket.io-4.1.3.tgz";
+        sha512 = "tLkaY13RcO4nIRh1K2hT5iuotfTaIQw7cVIe0FUykN3SuQi0cm7ALxuyT5/CtDswOMWUzMGTibxYNx/gU7In+Q==";
       };
     };
-    "socket.io-adapter-2.1.0" = {
+    "socket.io-adapter-2.3.1" = {
       name = "socket.io-adapter";
       packageName = "socket.io-adapter";
-      version = "2.1.0";
+      version = "2.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.1.0.tgz";
-        sha512 = "+vDov/aTsLjViYTwS9fPy5pEtTkrbEKsw2M+oVSoFGw6OD1IpvlV1VPhUzNbofCQ8oyMbdYJqDtGdmHQK6TdPg==";
+        url = "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.3.1.tgz";
+        sha512 = "8cVkRxI8Nt2wadkY6u60Y4rpW3ejA1rxgcK2JuyIhmF+RMNpTy1QRtkHIDUOf3B4HlQwakMsWbKftMv/71VMmw==";
       };
     };
     "socket.io-parser-4.0.4" = {
@@ -1075,6 +1075,15 @@ let
         sha512 = "BmeFZRYH9XXf56omx0LuiG+gBXRqwmrKsOtcsGTJh8tw9U0cgRKTrOnyDpP1uvI1AVEkoRKYaAvR902ByotFOw==";
       };
     };
+    "statsd-client-0.4.7" = {
+      name = "statsd-client";
+      packageName = "statsd-client";
+      version = "0.4.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/statsd-client/-/statsd-client-0.4.7.tgz";
+        sha512 = "+sGCE6FednJ/vI7vywErOg/mhVqmf6Zlktz7cdGRnF/cQWXD9ifMgtqU1CIIXmhSwm11SCk4zDN+bwNCvIR/Kg==";
+      };
+    };
     "statuses-1.5.0" = {
       name = "statuses";
       packageName = "statuses";
@@ -1084,15 +1093,6 @@ let
         sha1 = "161c7dac177659fd9811f43771fa99381478628c";
       };
     };
-    "stream-cache-0.0.2" = {
-      name = "stream-cache";
-      packageName = "stream-cache";
-      version = "0.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/stream-cache/-/stream-cache-0.0.2.tgz";
-        sha1 = "1ac5ad6832428ca55667dbdee395dad4e6db118f";
-      };
-    };
     "stream-from-promise-1.0.0" = {
       name = "stream-from-promise";
       packageName = "stream-from-promise";
@@ -1138,13 +1138,13 @@ let
         sha1 = "ae21768175d1559d48bef35420b2f4962f09c330";
       };
     };
-    "tslib-2.1.0" = {
+    "tslib-2.3.0" = {
       name = "tslib";
       packageName = "tslib";
-      version = "2.1.0";
+      version = "2.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz";
-        sha512 = "hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==";
+        url = "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz";
+        sha512 = "N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==";
       };
     };
     "uglify-js-2.8.29" = {
@@ -1156,13 +1156,13 @@ let
         sha1 = "29c5733148057bb4e1f75df35b7a9cb72e6a59dd";
       };
     };
-    "uglify-js-3.13.0" = {
+    "uglify-js-3.14.1" = {
       name = "uglify-js";
       packageName = "uglify-js";
-      version = "3.13.0";
+      version = "3.14.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.0.tgz";
-        sha512 = "TWYSWa9T2pPN4DIJYbU9oAjQx+5qdV5RUDxwARg8fmJZrD/V27Zj0JngW5xg1DFz42G0uDYl2XhzF6alSzD62w==";
+        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.1.tgz";
+        sha512 = "JhS3hmcVaXlp/xSo3PKY5R0JqKs5M3IV+exdLHW99qKvKivPO4Z8qbej6mte17SOPqAOVMjt/XGgWacnFSzM3g==";
       };
     };
     "uglify-to-browserify-1.0.2" = {
@@ -1273,13 +1273,13 @@ let
         sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
       };
     };
-    "ws-7.4.3" = {
+    "ws-7.4.6" = {
       name = "ws";
       packageName = "ws";
-      version = "7.4.3";
+      version = "7.4.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ws/-/ws-7.4.3.tgz";
-        sha512 = "hr6vCR76GsossIRsr8OLR9acVVm1jyfEWvhbNjtgPOrfvAlKzvyeg/P6r8RuDjRyrcQoPQT7K0DGEPc7Ae6jzA==";
+        url = "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz";
+        sha512 = "YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==";
       };
     };
     "yaku-1.0.1" = {
@@ -1312,33 +1312,33 @@ let
   };
 in
 {
-  "whitebophir-git+https://github.com/lovasoa/whitebophir.git#v1.9.1" = nodeEnv.buildNodePackage {
+  "whitebophir-git+https://github.com/lovasoa/whitebophir.git#v1.14.6" = nodeEnv.buildNodePackage {
     name = "whitebophir";
     packageName = "whitebophir";
-    version = "1.9.1";
+    version = "1.14.6";
     src = fetchgit {
       url = "https://github.com/lovasoa/whitebophir.git";
-      rev = "626397d43f14c3579d6434ac76fc373b994f1741";
-      sha256 = "3c3d74b7c011e1d0f2781210de996fc0ecc35b29b93c74a27eb436902d0489fe";
+      rev = "37d1d6811af911739d57520dc20dae6cac154464";
+      sha256 = "bda4e0077ef64861146e073c91b7488edfc0290f37478da6563e9ea16e6e4824";
     };
     dependencies = [
-      sources."@financial-times/polyfill-useragent-normaliser-1.9.0"
-      sources."@financial-times/useragent_parser-1.5.1"
-      sources."@formatjs/ecma402-abstract-1.5.1"
-      sources."@formatjs/intl-datetimeformat-3.2.3"
-      sources."@formatjs/intl-displaynames-4.0.4"
-      sources."@formatjs/intl-getcanonicallocales-1.5.3"
-      sources."@formatjs/intl-listformat-5.0.4"
-      sources."@formatjs/intl-locale-2.4.13"
-      sources."@formatjs/intl-numberformat-6.1.3"
-      sources."@formatjs/intl-pluralrules-4.0.5"
-      sources."@formatjs/intl-relativetimeformat-8.0.3"
-      sources."@juggle/resize-observer-3.3.0"
+      sources."@financial-times/polyfill-useragent-normaliser-1.10.0"
+      sources."@financial-times/useragent_parser-1.6.0"
+      sources."@formatjs/ecma402-abstract-1.8.0"
+      sources."@formatjs/intl-datetimeformat-4.1.0"
+      sources."@formatjs/intl-displaynames-5.1.0"
+      sources."@formatjs/intl-getcanonicallocales-1.6.0"
+      sources."@formatjs/intl-listformat-6.1.0"
+      sources."@formatjs/intl-locale-2.4.26"
+      sources."@formatjs/intl-numberformat-7.1.0"
+      sources."@formatjs/intl-pluralrules-4.0.20"
+      sources."@formatjs/intl-relativetimeformat-9.1.0"
+      sources."@juggle/resize-observer-3.3.1"
       sources."@types/component-emitter-1.2.10"
-      sources."@types/cookie-0.4.0"
-      sources."@types/cors-2.8.10"
-      sources."@types/node-14.14.31"
-      sources."@webcomponents/template-1.4.4"
+      sources."@types/cookie-0.4.1"
+      sources."@types/cors-2.8.12"
+      sources."@types/node-16.4.11"
+      sources."@webcomponents/template-1.5.0"
       sources."Base64-1.1.0"
       sources."abort-controller-3.0.0"
       sources."accept-language-parser-1.5.0"
@@ -1346,7 +1346,7 @@ in
       sources."align-text-0.1.4"
       sources."async-mutex-0.3.1"
       sources."audio-context-polyfill-1.0.0"
-      sources."balanced-match-1.0.0"
+      sources."balanced-match-1.0.2"
       sources."base64-arraybuffer-0.1.4"
       sources."base64id-2.0.0"
       sources."brace-expansion-1.1.11"
@@ -1372,7 +1372,7 @@ in
       sources."diff-4.0.2"
       sources."ee-first-1.1.1"
       sources."encodeurl-1.0.2"
-      (sources."engine.io-4.1.1" // {
+      (sources."engine.io-5.1.1" // {
         dependencies = [
           sources."debug-4.3.2"
           sources."ms-2.1.2"
@@ -1381,14 +1381,14 @@ in
       sources."engine.io-parser-4.0.2"
       sources."escape-html-1.0.3"
       sources."etag-1.8.1"
-      sources."event-source-polyfill-1.0.22"
+      sources."event-source-polyfill-1.0.24"
       sources."event-target-shim-5.0.1"
       sources."fastestsmallesttextencoderdecoder-1.0.22"
       sources."fresh-0.5.2"
       sources."from2-2.3.0"
       sources."from2-string-1.1.0"
       sources."fs.realpath-1.0.0"
-      sources."glob-7.1.6"
+      sources."glob-7.1.7"
       sources."graceful-fs-4.2.6"
       sources."handlebars-4.7.7"
       sources."html5shiv-3.7.3"
@@ -1408,8 +1408,8 @@ in
       sources."lru-cache-6.0.0"
       sources."merge2-1.4.1"
       sources."mime-1.6.0"
-      sources."mime-db-1.46.0"
-      sources."mime-types-2.1.29"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
       sources."mkdirp-1.0.4"
@@ -1425,7 +1425,7 @@ in
       sources."parseurl-1.3.3"
       sources."path-is-absolute-1.0.1"
       sources."picturefill-3.0.3"
-      (sources."polyfill-library-3.103.0" // {
+      (sources."polyfill-library-3.107.1" // {
         dependencies = [
           sources."source-map-0.5.7"
           sources."uglify-js-2.8.29"
@@ -1440,7 +1440,7 @@ in
       sources."rimraf-3.0.2"
       sources."safe-buffer-5.1.2"
       sources."seamless-scroll-polyfill-1.2.3"
-      sources."semver-7.3.4"
+      sources."semver-7.3.5"
       (sources."send-0.17.1" // {
         dependencies = [
           (sources."debug-2.6.9" // {
@@ -1453,13 +1453,13 @@ in
       })
       sources."serve-static-1.14.1"
       sources."setprototypeof-1.1.1"
-      (sources."socket.io-3.1.2" // {
+      (sources."socket.io-4.1.3" // {
         dependencies = [
           sources."debug-4.3.2"
           sources."ms-2.1.2"
         ];
       })
-      sources."socket.io-adapter-2.1.0"
+      sources."socket.io-adapter-2.3.1"
       (sources."socket.io-parser-4.0.4" // {
         dependencies = [
           sources."debug-4.3.2"
@@ -1468,15 +1468,15 @@ in
       })
       sources."source-map-0.6.1"
       sources."spdx-licenses-1.0.0"
+      sources."statsd-client-0.4.7"
       sources."statuses-1.5.0"
-      sources."stream-cache-0.0.2"
       sources."stream-from-promise-1.0.0"
       sources."stream-to-string-1.2.0"
       sources."string_decoder-1.1.1"
       sources."toidentifier-1.0.0"
       sources."toposort-2.0.2"
-      sources."tslib-2.1.0"
-      sources."uglify-js-3.13.0"
+      sources."tslib-2.3.0"
+      sources."uglify-js-3.14.1"
       sources."uglify-to-browserify-1.0.2"
       sources."unorm-1.6.0"
       sources."usertiming-0.1.8"
@@ -1488,7 +1488,7 @@ in
       sources."window-size-0.1.0"
       sources."wordwrap-1.0.0"
       sources."wrappy-1.0.2"
-      sources."ws-7.4.3"
+      sources."ws-7.4.6"
       sources."yaku-1.0.1"
       sources."yallist-4.0.0"
       sources."yargs-3.10.0"
diff --git a/nixpkgs/pkgs/servers/web-apps/whitebophir/node-packages.json b/nixpkgs/pkgs/servers/web-apps/whitebophir/node-packages.json
index 7ba8afd1513c..72eabcc7ec11 100644
--- a/nixpkgs/pkgs/servers/web-apps/whitebophir/node-packages.json
+++ b/nixpkgs/pkgs/servers/web-apps/whitebophir/node-packages.json
@@ -1,3 +1,3 @@
 [
-  { "whitebophir": "git+https://github.com/lovasoa/whitebophir.git#v1.9.1" }
+  { "whitebophir": "git+https://github.com/lovasoa/whitebophir.git#v1.14.6" }
 ]
diff --git a/nixpkgs/pkgs/servers/web-apps/wordpress/default.nix b/nixpkgs/pkgs/servers/web-apps/wordpress/default.nix
index 7dbf4054ef27..41eb08ae75bf 100644
--- a/nixpkgs/pkgs/servers/web-apps/wordpress/default.nix
+++ b/nixpkgs/pkgs/servers/web-apps/wordpress/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "wordpress";
-  version = "5.7.2";
+  version = "5.8";
 
   src = fetchurl {
     url = "https://wordpress.org/${pname}-${version}.tar.gz";
-    sha256 = "sha256-640FIIFZRp0L48szn3tqFQo59QP69nnCVQKEM/UTEhk=";
+    sha256 = "sha256-0pgTq1U2Exj1GfKo+mYxEmoKj5GsMPYstgAsEIV36H8=";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/servers/x11/xorg/default.nix b/nixpkgs/pkgs/servers/x11/xorg/default.nix
index 9a75403cec62..81f813aae9c7 100644
--- a/nixpkgs/pkgs/servers/x11/xorg/default.nix
+++ b/nixpkgs/pkgs/servers/x11/xorg/default.nix
@@ -1915,17 +1915,17 @@ lib.makeScope newScope (self: with self; {
   }) {};
 
   # THIS IS A GENERATED FILE.  DO NOT EDIT!
-  xeyes = callPackage ({ stdenv, pkg-config, fetchurl, libX11, libXext, libXmu, xorgproto, libXrender, libXt }: stdenv.mkDerivation {
+  xeyes = callPackage ({ stdenv, pkg-config, fetchurl, libX11, libxcb, libXext, libXi, libXmu, xorgproto, libXrender, libXt }: stdenv.mkDerivation {
     pname = "xeyes";
-    version = "1.1.2";
+    version = "1.2.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = "mirror://xorg/individual/app/xeyes-1.1.2.tar.bz2";
-      sha256 = "0lq5j7fryx1wn998jq6h3icz1h6pqrsbs3adskjzjyhn5l6yrg2p";
+      url = "mirror://xorg/individual/app/xeyes-1.2.0.tar.bz2";
+      sha256 = "1nxn443pfhddmwl59wplpjkslhlyfk307qx18nrimvvb2hipx8gq";
     };
     hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkg-config ];
-    buildInputs = [ libX11 libXext libXmu xorgproto libXrender libXt ];
+    buildInputs = [ libX11 libxcb libXext libXi libXmu xorgproto libXrender libXt ];
     meta.platforms = lib.platforms.unix;
   }) {};
 
@@ -2052,11 +2052,11 @@ lib.makeScope newScope (self: with self; {
   # THIS IS A GENERATED FILE.  DO NOT EDIT!
   xf86videoamdgpu = callPackage ({ stdenv, pkg-config, fetchurl, xorgproto, mesa, libGL, libdrm, udev, xorgserver }: stdenv.mkDerivation {
     pname = "xf86-video-amdgpu";
-    version = "19.1.0";
+    version = "21.0.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = "mirror://xorg/individual/driver/xf86-video-amdgpu-19.1.0.tar.bz2";
-      sha256 = "0pgy4ihnja0vm8504qw7qxh3pdpa3p9k6967nz15m6b1mvha83jg";
+      url = "mirror://xorg/individual/driver/xf86-video-amdgpu-21.0.0.tar.bz2";
+      sha256 = "125dq85n46yqmnmr2hknxwcqicwlvz2b2phf0m963fpg9l1j6y30";
     };
     hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkg-config ];
@@ -3102,11 +3102,11 @@ lib.makeScope newScope (self: with self; {
   # THIS IS A GENERATED FILE.  DO NOT EDIT!
   xorgserver = callPackage ({ stdenv, pkg-config, fetchurl, xorgproto, openssl, libX11, libXau, libXaw, libxcb, xcbutil, xcbutilwm, xcbutilimage, xcbutilkeysyms, xcbutilrenderutil, libXdmcp, libXfixes, libxkbfile, libXmu, libXpm, libXrender, libXres, libXt }: stdenv.mkDerivation {
     pname = "xorg-server";
-    version = "1.20.12";
+    version = "1.20.13";
     builder = ./builder.sh;
     src = fetchurl {
-      url = "mirror://xorg/individual/xserver/xorg-server-1.20.12.tar.xz";
-      sha256 = "1b4ckvxaiiiwdxwyfzbbfkr384qqy5qzfsm37z0fr08x8f9w0v9k";
+      url = "mirror://xorg/individual/xserver/xorg-server-1.20.13.tar.xz";
+      sha256 = "003371ad64bz7i2hx7idnh90yw12dbh116ssy40s70balnb4xaj0";
     };
     hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkg-config ];
@@ -3177,11 +3177,11 @@ lib.makeScope newScope (self: with self; {
   # THIS IS A GENERATED FILE.  DO NOT EDIT!
   xrdb = callPackage ({ stdenv, pkg-config, fetchurl, libX11, libXmu, xorgproto }: stdenv.mkDerivation {
     pname = "xrdb";
-    version = "1.2.0";
+    version = "1.2.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = "mirror://xorg/individual/app/xrdb-1.2.0.tar.bz2";
-      sha256 = "0ik9gh6363c47pr0dp7q22nfs8vmavjg2v4bsr0604ppl77nafpj";
+      url = "mirror://xorg/individual/app/xrdb-1.2.1.tar.bz2";
+      sha256 = "1d78prd8sfszq2rwwlb32ksph4fymf988lp75aj8iysg44f06pag";
     };
     hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkg-config ];
@@ -3312,11 +3312,11 @@ lib.makeScope newScope (self: with self; {
   # THIS IS A GENERATED FILE.  DO NOT EDIT!
   xwd = callPackage ({ stdenv, pkg-config, fetchurl, libxkbfile, libX11, xorgproto }: stdenv.mkDerivation {
     pname = "xwd";
-    version = "1.0.7";
+    version = "1.0.8";
     builder = ./builder.sh;
     src = fetchurl {
-      url = "mirror://xorg/individual/app/xwd-1.0.7.tar.bz2";
-      sha256 = "1537i8q8pgf0sjklakzfvjwrq5b246qjywrx9ll8xfg0p6w1as6d";
+      url = "mirror://xorg/individual/app/xwd-1.0.8.tar.bz2";
+      sha256 = "06q36fh55r62ms0igfxsanrn6gv8lh794q1bw9xzw51p2qs2papv";
     };
     hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkg-config ];
diff --git a/nixpkgs/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/nixpkgs/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
index e18479c0d7a0..62873ceda482 100755
--- a/nixpkgs/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
+++ b/nixpkgs/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
@@ -1,10 +1,7 @@
-#! /usr/bin/env perl
-
-# Usage:
-#
-# manually update tarballs.list
-# then run: cat tarballs.list | perl ./generate-expr-from-tarballs.pl
+#!/usr/bin/env nix-shell
+#!nix-shell --pure --keep NIX_PATH -i perl -p cacert nix perl
 
+# Usage: manually update tarballs.list then run: ./generate-expr-from-tarballs.pl tarballs.list
 
 use strict;
 use warnings;
diff --git a/nixpkgs/pkgs/servers/x11/xorg/overrides.nix b/nixpkgs/pkgs/servers/x11/xorg/overrides.nix
index a52e1a7b0a58..ec43ae9d59d4 100644
--- a/nixpkgs/pkgs/servers/x11/xorg/overrides.nix
+++ b/nixpkgs/pkgs/servers/x11/xorg/overrides.nix
@@ -844,10 +844,6 @@ self: super:
     postInstall = "mkdir $out/bin";
   });
 
-  xwd = super.xwd.overrideAttrs (attrs: {
-    buildInputs = with self; attrs.buildInputs ++ [libXt];
-  });
-
   xrdb = super.xrdb.overrideAttrs (attrs: {
     configureFlags = [ "--with-cpp=${mcpp}/bin/mcpp" ];
   });
diff --git a/nixpkgs/pkgs/servers/x11/xorg/tarballs.list b/nixpkgs/pkgs/servers/x11/xorg/tarballs.list
index 42cb2da3a0d6..0f6ab40ed906 100644
--- a/nixpkgs/pkgs/servers/x11/xorg/tarballs.list
+++ b/nixpkgs/pkgs/servers/x11/xorg/tarballs.list
@@ -36,7 +36,7 @@ mirror://xorg/individual/app/xdm-1.1.12.tar.bz2
 mirror://xorg/individual/app/xdpyinfo-1.3.2.tar.bz2
 mirror://xorg/individual/app/xdriinfo-1.0.6.tar.bz2
 mirror://xorg/individual/app/xev-1.2.3.tar.bz2
-mirror://xorg/individual/app/xeyes-1.1.2.tar.bz2
+mirror://xorg/individual/app/xeyes-1.2.0.tar.bz2
 mirror://xorg/individual/app/xfd-1.1.3.tar.bz2
 mirror://xorg/individual/app/xfontsel-1.0.6.tar.bz2
 mirror://xorg/individual/app/xfs-1.2.0.tar.bz2
@@ -62,7 +62,7 @@ mirror://xorg/individual/app/xmore-1.0.3.tar.bz2
 mirror://xorg/individual/app/xpr-1.0.5.tar.bz2
 mirror://xorg/individual/app/xprop-1.2.5.tar.bz2
 mirror://xorg/individual/app/xrandr-1.5.1.tar.xz
-mirror://xorg/individual/app/xrdb-1.2.0.tar.bz2
+mirror://xorg/individual/app/xrdb-1.2.1.tar.bz2
 mirror://xorg/individual/app/xrefresh-1.0.6.tar.bz2
 mirror://xorg/individual/app/xset-1.2.4.tar.bz2
 mirror://xorg/individual/app/xsetroot-1.1.2.tar.bz2
@@ -70,7 +70,7 @@ mirror://xorg/individual/app/xsm-1.0.4.tar.bz2
 mirror://xorg/individual/app/xstdcmap-1.0.4.tar.bz2
 mirror://xorg/individual/app/xtrap-1.0.3.tar.bz2
 mirror://xorg/individual/app/xvinfo-1.1.4.tar.bz2
-mirror://xorg/individual/app/xwd-1.0.7.tar.bz2
+mirror://xorg/individual/app/xwd-1.0.8.tar.bz2
 mirror://xorg/individual/app/xwininfo-1.1.4.tar.bz2
 mirror://xorg/individual/app/xwud-1.0.5.tar.bz2
 mirror://xorg/individual/data/xbitmaps-1.1.2.tar.bz2
@@ -86,7 +86,7 @@ mirror://xorg/individual/driver/xf86-input-mouse-1.9.3.tar.bz2
 mirror://xorg/individual/driver/xf86-input-synaptics-1.9.1.tar.bz2
 mirror://xorg/individual/driver/xf86-input-vmmouse-13.1.0.tar.bz2
 mirror://xorg/individual/driver/xf86-input-void-1.4.1.tar.bz2
-mirror://xorg/individual/driver/xf86-video-amdgpu-19.1.0.tar.bz2
+mirror://xorg/individual/driver/xf86-video-amdgpu-21.0.0.tar.bz2
 mirror://xorg/individual/driver/xf86-video-apm-1.3.0.tar.bz2
 mirror://xorg/individual/driver/xf86-video-ark-0.7.5.tar.bz2
 mirror://xorg/individual/driver/xf86-video-ast-1.1.5.tar.bz2
@@ -218,4 +218,4 @@ mirror://xorg/individual/util/lndir-1.0.3.tar.bz2
 mirror://xorg/individual/util/makedepend-1.0.6.tar.bz2
 mirror://xorg/individual/util/util-macros-1.19.3.tar.bz2
 mirror://xorg/individual/util/xorg-cf-files-1.0.6.tar.bz2
-mirror://xorg/individual/xserver/xorg-server-1.20.12.tar.xz
+mirror://xorg/individual/xserver/xorg-server-1.20.13.tar.xz
diff --git a/nixpkgs/pkgs/servers/x11/xquartz/default.nix b/nixpkgs/pkgs/servers/x11/xquartz/default.nix
index 8f3bbf61baa9..ad4d5603a135 100644
--- a/nixpkgs/pkgs/servers/x11/xquartz/default.nix
+++ b/nixpkgs/pkgs/servers/x11/xquartz/default.nix
@@ -95,7 +95,8 @@ let
     ];
   };
 in stdenv.mkDerivation {
-  name = "xquartz-${lib.getVersion xorg.xorgserver}";
+  pname = "xquartz";
+  version = lib.getVersion xorg.xorgserver;
 
   nativeBuildInputs = [ ruby makeWrapper ];
 
diff --git a/nixpkgs/pkgs/servers/xandikos/default.nix b/nixpkgs/pkgs/servers/xandikos/default.nix
index b29151911a63..acf96d008f7a 100644
--- a/nixpkgs/pkgs/servers/xandikos/default.nix
+++ b/nixpkgs/pkgs/servers/xandikos/default.nix
@@ -22,7 +22,7 @@ python3Packages.buildPythonApplication rec {
     icalendar
     jinja2
     multidict
-    prometheus_client
+    prometheus-client
   ];
 
   passthru.tests.xandikos = nixosTests.xandikos;
diff --git a/nixpkgs/pkgs/servers/xinetd/default.nix b/nixpkgs/pkgs/servers/xinetd/default.nix
index 3d130c93b784..e296112045d4 100644
--- a/nixpkgs/pkgs/servers/xinetd/default.nix
+++ b/nixpkgs/pkgs/servers/xinetd/default.nix
@@ -1,10 +1,11 @@
 { fetchurl, fetchpatch, lib, stdenv, libtirpc }:
 
 stdenv.mkDerivation rec {
-  name = "xinetd-2.3.15";
+  pname = "xinetd";
+  version = "2.3.15";
 
   src = fetchurl {
-    url = "http://www.xinetd.org/${name}.tar.gz";
+    url = "http://www.xinetd.org/xinetd-${version}.tar.gz";
     sha256 = "1qsv1al506x33gh92bqa8w21k7mxqrbsrwmxvkj0amn72420ckmz";
   };
 
diff --git a/nixpkgs/pkgs/servers/zookeeper/default.nix b/nixpkgs/pkgs/servers/zookeeper/default.nix
index d5bf7b910148..becd765fd8de 100644
--- a/nixpkgs/pkgs/servers/zookeeper/default.nix
+++ b/nixpkgs/pkgs/servers/zookeeper/default.nix
@@ -12,8 +12,6 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ jre ];
 
-  phases = ["unpackPhase" "installPhase"];
-
   installPhase = ''
     runHook preInstall
     mkdir -p $out
diff --git a/nixpkgs/pkgs/shells/bash/bash-5.1-patches.nix b/nixpkgs/pkgs/shells/bash/bash-5.1-patches.nix
index b834deda0f80..aa5ad75fbc70 100644
--- a/nixpkgs/pkgs/shells/bash/bash-5.1-patches.nix
+++ b/nixpkgs/pkgs/shells/bash/bash-5.1-patches.nix
@@ -5,4 +5,8 @@ patch: [
 (patch "002" "1gjx9zqcm407am3n2sh44b8dxm48kgm15rzfiijqxr01m0hn3shm")
 (patch "003" "1cdnpbfc64yhvkjj4d12s9ywp11g195vzfl1cab24sq55wkcrwi2")
 (patch "004" "11iwhy6v562bv0kk7lwj7f5jj65ma9bblivy0v02h3ggcibbdbls")
+(patch "005" "19bdyigdr81824nxvqr6a7k0cax60wq7376j6b91afbnwvlvbjyc")
+(patch "006" "051x8wlwrqk0yr0zg378vh824iklfl5g9pkmcdf62qp8gn9pvqbm")
+(patch "007" "0fir80pp1gmlpadmqcgkrv4y119pc7xllchjzg05fd7px73viz5c")
+(patch "008" "1lfjgshk8i9vch92p5wgc9r90j3phw79aa7gbai89w183b2z6b7j")
 ]
diff --git a/nixpkgs/pkgs/shells/bash/update-patch-set.sh b/nixpkgs/pkgs/shells/bash/update-patch-set.sh
index cb4f372f5433..03b00228822d 100755
--- a/nixpkgs/pkgs/shells/bash/update-patch-set.sh
+++ b/nixpkgs/pkgs/shells/bash/update-patch-set.sh
@@ -1,11 +1,11 @@
 #!/usr/bin/env nix-shell
-#!nix-shell --pure -i bash -p wget -p gnupg -p cacert
+#!nix-shell --pure -i bash -p wget -p gnupg -p cacert -p nix
 
 # Update patch set for GNU Bash or Readline.
 
 if [ $# -ne 2 ]
 then
-    echo "Usage: $(basename $0) PROJECT VERSION"
+    echo "Usage: $(basename "$0") PROJECT VERSION"
     echo ""
     echo "Update the patch set for PROJECT (one of \`bash' or \`readline') for"
     echo "the given version (e.g., \`4.0').  Produce \`PROJECT-patches.nix'."
@@ -14,14 +14,12 @@ fi
 
 PROJECT="$1"
 VERSION="$2"
-VERSION_CONDENSED="$(echo $VERSION | sed -es/\\.//g)"
-PATCH_LIST="$PROJECT-$VERSION-patches.nix"
+DIR=$(dirname "$0")
+VERSION_CONDENSED="$(echo "$VERSION" | sed -es/\\.//g)"
+PATCH_LIST="$DIR/$PROJECT-$VERSION-patches.nix"
 
 set -e
 
-start=1
-end=100 # must be > 99 for correct padding
-
 rm -vf "$PATCH_LIST"
 
 wget "https://tiswww.case.edu/php/chet/gpgkey.asc"
@@ -35,18 +33,20 @@ rm gpgkey.asc{,.md5}
   echo "patch: [" )							\
 >> "$PATCH_LIST"
 
-for i in `seq -w $start $end`
+for i in {001..100}
 do
-    wget ftp.gnu.org/gnu/$PROJECT/$PROJECT-$VERSION-patches/$PROJECT$VERSION_CONDENSED-$i || break
-    wget ftp.gnu.org/gnu/$PROJECT/$PROJECT-$VERSION-patches/$PROJECT$VERSION_CONDENSED-$i.sig
-    gpg --verify $PROJECT$VERSION_CONDENSED-$i.sig
-    echo "(patch \"$i\" \"$(nix-hash --flat --type sha256 --base32 $PROJECT$VERSION_CONDENSED-$i)\")"	\
+    wget -P "$DIR" "ftp.gnu.org/gnu/$PROJECT/$PROJECT-$VERSION-patches/$PROJECT$VERSION_CONDENSED-$i" || break
+    wget -P "$DIR" "ftp.gnu.org/gnu/$PROJECT/$PROJECT-$VERSION-patches/$PROJECT$VERSION_CONDENSED-$i.sig"
+    gpg --verify "$DIR/$PROJECT$VERSION_CONDENSED-$i.sig"
+    hash=$(nix-hash --flat --type sha256 --base32 "$DIR/$PROJECT$VERSION_CONDENSED-$i")
+    echo "(patch \"$i\" \"$hash\")"	\
     >> "$PATCH_LIST"
 
-    rm -f $PROJECT$VERSION_CONDENSED-$i{,.sig}
+    rm -f "$DIR/$PROJECT$VERSION_CONDENSED-$i"{,.sig}
 done
 
 echo "]" >> "$PATCH_LIST"
 
-echo "Got $(expr $i - 1) patches."
+# bash interprets numbers starting with 0 as octals
+echo "Got $((10#$i - 1)) patches."
 echo "Patch list has been written to \`$PATCH_LIST'."
diff --git a/nixpkgs/pkgs/shells/bash/yarn-completion/default.nix b/nixpkgs/pkgs/shells/bash/yarn-completion/default.nix
new file mode 100644
index 000000000000..fabfc0a1ce23
--- /dev/null
+++ b/nixpkgs/pkgs/shells/bash/yarn-completion/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, installShellFiles
+}:
+
+stdenv.mkDerivation rec {
+  pname = "yarn-bash-completion";
+  version = "0.17.0";
+
+  src = fetchFromGitHub {
+    owner = "dsifford";
+    repo = "yarn-completion";
+    rev = "v${version}";
+    sha256 = "0xflbrbwskjqv3knvc8jqygpvfxh5ak66q7w22d1ng8gwrfqzcng";
+  };
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  installPhase = ''
+    runHook preInstall
+
+    installShellCompletion --cmd yarn ./yarn-completion.bash
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/dsifford/yarn-completion/";
+    description = "Bash completion for Yarn";
+    license = licenses.mit;
+    maintainers = with maintainers; [ DamienCassou ];
+  };
+}
diff --git a/nixpkgs/pkgs/shells/elvish/default.nix b/nixpkgs/pkgs/shells/elvish/default.nix
index de25503e4aa0..961f765dd872 100644
--- a/nixpkgs/pkgs/shells/elvish/default.nix
+++ b/nixpkgs/pkgs/shells/elvish/default.nix
@@ -2,20 +2,20 @@
 
 buildGoModule rec {
   pname = "elvish";
-  version = "0.15.0";
+  version = "0.16.3";
 
   excludedPackages = [ "website" ];
 
-  buildFlagsArray = [ "-ldflags=-s -w -X github.com/elves/elvish/pkg/buildinfo.Version==${version} -X github.com/elves/elvish/pkg/buildinfo.Reproducible=true" ];
+  ldflags = [ "-s" "-w" "-X github.com/elves/elvish/pkg/buildinfo.Version==${version}" "-X github.com/elves/elvish/pkg/buildinfo.Reproducible=true" ];
 
   src = fetchFromGitHub {
     owner = "elves";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1jksdpf86miz1dv3vrmvpvz4k1c2m23dway6a7b1cypg03c68a75";
+    sha256 = "1na2fswqp4rbgvlagz9nj3cmlxavlhi2gj6k6jpjq05mcbkxr3bd";
   };
 
-  vendorSha256 = "124m9680pl7wrh7ld7v39dfl86r6vih1pjk3bmbihy0fjgxnnq0b";
+  vendorSha256 = "06rx09vs08d9arim53al73z22hb40xj2101kbvafz6wbyp6pqws1";
 
   doCheck = false;
 
@@ -29,7 +29,6 @@ buildGoModule rec {
     homepage = "https://elv.sh/";
     license = licenses.bsd2;
     maintainers = with maintainers; [ vrthra AndersonTorres ];
-    platforms = with platforms; linux ++ darwin;
   };
 
   passthru = {
diff --git a/nixpkgs/pkgs/shells/fish/oh-my-fish/default.nix b/nixpkgs/pkgs/shells/fish/oh-my-fish/default.nix
new file mode 100644
index 000000000000..e0dca9419ebc
--- /dev/null
+++ b/nixpkgs/pkgs/shells/fish/oh-my-fish/default.nix
@@ -0,0 +1,60 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, fish
+, runtimeShell
+, writeShellScript
+}:
+
+stdenv.mkDerivation rec {
+  pname = "oh-my-fish";
+  version = "7+unstable=2021-03-03";
+
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = "0b1396ad7962073fa25615bf03c43b53eddc2d56";
+    hash = "sha256-lwMo4+PcYR9kYJPWK+ALiMfBdxFSgB2vjtSn8QrmmEA=";
+  };
+
+  buildInputs = [
+    fish
+  ];
+
+  dontConfigure = true;
+  dontBuild = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -pv $out/bin $out/share/${pname}
+    cp -vr * $out/share/${pname}
+
+    cat << EOF > $out/bin/omf-install
+    #!${runtimeShell}
+
+    ${fish}/bin/fish \\
+      $out/share/${pname}/bin/install \\
+      --noninteractive \\
+      --offline=$out/share/${pname}
+
+    EOF
+    chmod +x $out/bin/omf-install
+
+    runHook PostInstall
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/oh-my-fish/oh-my-fish";
+    description = "The Fish Shell Framework";
+    longDescription = ''
+      Oh My Fish provides core infrastructure to allow you to install packages
+      which extend or modify the look of your shell. It's fast, extensible and
+      easy to use.
+    '';
+    license = licenses.mit;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = fish.meta.platforms;
+  };
+}
+# TODO: customize the omf-install script
diff --git a/nixpkgs/pkgs/shells/nushell/default.nix b/nixpkgs/pkgs/shells/nushell/default.nix
index b7fa5453d87a..eaddb0f56dcd 100644
--- a/nixpkgs/pkgs/shells/nushell/default.nix
+++ b/nixpkgs/pkgs/shells/nushell/default.nix
@@ -4,6 +4,7 @@
 , rustPlatform
 , openssl
 , zlib
+, zstd
 , pkg-config
 , python3
 , xorg
@@ -17,27 +18,40 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "nushell";
-  version = "0.33.0";
+  version = "0.36.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "sha256-Asjm3IoAfzphITLQuNh6r/i/pjEM/A+wpCsAB83bu2U=";
+    sha256 = "sha256-5vBt0Q7f3ydo74cmY4WpIHqMlNYc0Tl35d0DnWUQZbU=";
   };
 
-  cargoSha256 = "sha256-Ly59mdUzSI2pIPbckWn1WBz/o2zVzpAzaCDROLdjG7Y=";
+  cargoSha256 = "sha256-F3niVkZbg84cFEY0eGgmMAMEJ+eBHwDS2+3EFRR2fLY=";
 
   nativeBuildInputs = [ pkg-config ]
     ++ lib.optionals (withExtraFeatures && stdenv.isLinux) [ python3 ];
 
-  buildInputs = [ openssl ]
+  buildInputs = [ openssl zstd ]
     ++ lib.optionals stdenv.isDarwin [ zlib libiconv Security ]
     ++ lib.optionals (withExtraFeatures && stdenv.isLinux) [ xorg.libX11 ]
     ++ lib.optionals (withExtraFeatures && stdenv.isDarwin) [ AppKit nghttp2 libgit2 ];
 
   cargoBuildFlags = lib.optional withExtraFeatures "--features=extra";
 
+  # Since 0.34, nu has an indirect dependency on `zstd-sys` (via `polars` and
+  # `parquet`, for dataframe support), which by default has an impure build
+  # (git submodule for the `zstd` C library). The `pkg-config` feature flag
+  # fixes this, but it's hard to invoke this in the right place, because of
+  # the indirect dependencies. So add a direct dependency on `zstd-sys` here
+  # at the top level, along with this feature flag, to ensure that when
+  # `zstd-sys` is transitively invoked, it triggers a pure build using the
+  # system `zstd` library provided above.
+  #
+  # (If this patch needs updating, in a nushell repo add the zstd-sys line to
+  # Cargo.toml, then `cargo update --package zstd-sys` to update Cargo.lock.)
+  cargoPatches = [ ./use-system-zstd-lib.diff ];
+
   # TODO investigate why tests are broken on darwin
   # failures show that tests try to write to paths
   # outside of TMPDIR
diff --git a/nixpkgs/pkgs/shells/nushell/use-system-zstd-lib.diff b/nixpkgs/pkgs/shells/nushell/use-system-zstd-lib.diff
new file mode 100644
index 000000000000..271ad6c692ed
--- /dev/null
+++ b/nixpkgs/pkgs/shells/nushell/use-system-zstd-lib.diff
@@ -0,0 +1,32 @@
+diff --git a/Cargo.lock b/Cargo.lock
+index 8833c3e5..0c90d2fe 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -3188,6 +3188,7 @@ dependencies = [
+  "nu_plugin_xpath",
+  "rstest",
+  "serial_test",
++ "zstd-sys",
+ ]
+
+ [[package]]
+@@ -6954,4 +6955,5 @@ checksum = "615120c7a2431d16cf1cf979e7fc31ba7a5b5e5707b29c8a99e5dbf8a8392a33"
+ dependencies = [
+  "cc",
+  "libc",
++ "pkg-config",
+ ]
+diff --git a/Cargo.toml b/Cargo.toml
+index 89e8a311..4cc2331a 100644
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -63,6 +63,9 @@ serial_test = "0.5.1"
+ hamcrest2 = "0.3.0"
+ rstest = "0.10.0"
+
++# Specify that the indirect dependency ztsd-sys should pick up the system zstd C library
++zstd-sys = { version = "1", features = [ "pkg-config" ] }
++
+ [build-dependencies]
+
+ [features]
diff --git a/nixpkgs/pkgs/shells/oil/default.nix b/nixpkgs/pkgs/shells/oil/default.nix
index 4d66f0d401dc..38ff6a76818a 100644
--- a/nixpkgs/pkgs/shells/oil/default.nix
+++ b/nixpkgs/pkgs/shells/oil/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "oil";
-  version = "0.8.12";
+  version = "0.9.0";
 
   src = fetchurl {
     url = "https://www.oilshell.org/download/oil-${version}.tar.xz";
-    sha256 = "sha256-M8JdMru2DDcPWa7qQq9m1NQwjI7kVkHvK5I4W5U1XPU=";
+    sha256 = "sha256-xk4io2ZXVupU6mCqmD94k1AaE8Kk0cf3PIx28X6gNjY=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/shells/powershell/default.nix b/nixpkgs/pkgs/shells/powershell/default.nix
index 135cfb40ff0a..5c082641e9f2 100644
--- a/nixpkgs/pkgs/shells/powershell/default.nix
+++ b/nixpkgs/pkgs/shells/powershell/default.nix
@@ -8,7 +8,7 @@ let archString = if stdenv.isAarch64 then "arm64"
                      else if stdenv.isLinux then "linux"
                      else throw "unsupported platform";
     platformSha = if stdenv.isDarwin then "0w44ws8b6zfixf7xz93hmplqsx18279n9x8j77y4rbzs13fldvsn"
-                     else if (stdenv.isLinux && stdenv.isx86_64) then "0xm7l49zhkz2fly3d751kjd5cy3ws9zji9i0061lkd06dvkch7jy"
+                     else if (stdenv.isLinux && stdenv.isx86_64) then "sha256-SOZn7CGLu9x+xhQwjgm0SL7sKDODLwHRpzi7tMdRBAM="
                      else if (stdenv.isLinux && stdenv.isAarch64) then "1axbi4kmb1ydys7c45jhp729w1srid3c8jgivb4bdmdp56rf6h32"
                      else throw "unsupported platform";
     platformLdLibraryPath = if stdenv.isDarwin then "DYLD_FALLBACK_LIBRARY_PATH"
@@ -19,7 +19,7 @@ let archString = if stdenv.isAarch64 then "arm64"
 in
 stdenv.mkDerivation rec {
   pname = "powershell";
-  version = "7.1.3";
+  version = "7.1.4";
 
   src = fetchzip {
     url = "https://github.com/PowerShell/PowerShell/releases/download/v${version}/powershell-${version}-${platformString}-${archString}.tar.gz";
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
     rm -f $pslibs/libcrypto${ext}.1.0.0
     rm -f $pslibs/libssl${ext}.1.0.0
 
-    # At least the 7.1.3-osx package does not have the executable bit set.
+    # At least the 7.1.4-osx package does not have the executable bit set.
     chmod a+x $pslibs/pwsh
 
     ls $pslibs
diff --git a/nixpkgs/pkgs/shells/tcsh/default.nix b/nixpkgs/pkgs/shells/tcsh/default.nix
index 4d6c9556501c..4fd4e5730a4e 100644
--- a/nixpkgs/pkgs/shells/tcsh/default.nix
+++ b/nixpkgs/pkgs/shells/tcsh/default.nix
@@ -4,7 +4,7 @@
 
 stdenv.mkDerivation rec {
   pname = "tcsh";
-  version = "6.22.03";
+  version = "6.22.04";
 
   src = fetchurl {
     urls = [
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
       "ftp://ftp.funet.fi/pub/unix/shells/tcsh/${pname}-${version}.tar.gz"
       "ftp://ftp.funet.fi/pub/unix/shells/tcsh/old/${pname}-${version}.tar.gz"
     ];
-    sha256 = "sha256-viz9ZT0qDH9QbS3RTBIyS6dJvUhAN75t9Eo5c/UiYrc=";
+    hash = "sha256-6xY1YkMhjDLzngcljXK/iyHmLOlLsOipXjGLFROX4jE=";
   };
 
   buildInputs = [ ncurses ];
@@ -28,12 +28,13 @@ stdenv.mkDerivation rec {
     });
 
   meta = with lib; {
+    homepage = "https://www.tcsh.org/";
     description = "An enhanced version of the Berkeley UNIX C shell (csh)";
     longDescription = ''
-      tcsh is an enhanced but completely compatible version of the
-      Berkeley UNIX C shell, csh. It is a command language interpreter
-      usable both as an interactive login shell and a shell script
-      command processor.
+      tcsh is an enhanced but completely compatible version of the Berkeley UNIX
+      C shell, csh. It is a command language interpreter usable both as an
+      interactive login shell and a shell script command processor.
+
       It includes:
       - command-line editor
       - programmable word completion
@@ -41,10 +42,9 @@ stdenv.mkDerivation rec {
       - history mechanism
       - job control
     '';
-    homepage = "https://www.tcsh.org/";
     license = licenses.bsd2;
     maintainers = with maintainers; [ AndersonTorres ];
-    platforms = platforms.linux ++ platforms.darwin;
+    platforms = platforms.unix;
   };
 
   passthru = {
diff --git a/nixpkgs/pkgs/shells/xonsh/default.nix b/nixpkgs/pkgs/shells/xonsh/default.nix
index a2cc4206620e..28f87685166d 100644
--- a/nixpkgs/pkgs/shells/xonsh/default.nix
+++ b/nixpkgs/pkgs/shells/xonsh/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv
+{ lib
 , fetchFromGitHub
 , python3Packages
 , glibcLocales
@@ -8,14 +8,14 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "xonsh";
-  version = "0.9.27";
+  version = "0.10.1";
 
   # fetch from github because the pypi package ships incomplete tests
   src = fetchFromGitHub {
-    owner  = "xonsh";
-    repo   = "xonsh";
-    rev    = version;
-    sha256 = "09w6bl3qsygfs2ph2r423ndnbd74bzf67vp8587h2dkkfxlzjbad";
+    owner = "xonsh";
+    repo = "xonsh";
+    rev = version;
+    sha256 = "03ahay2rl98a9k4pqkxksmj6mcg554jnbhw9jh8cyvjrygrpcpch";
   };
 
   LC_ALL = "en_US.UTF-8";
@@ -29,19 +29,48 @@ python3Packages.buildPythonApplication rec {
     find scripts -name 'xonsh*' -exec sed -i -e "s|env -S|env|" {} \;
     find -name "*.xsh" | xargs sed -ie 's|/usr/bin/env|${coreutils}/bin/env|'
     patchShebangs .
+
+    substituteInPlace scripts/xon.sh \
+      --replace 'python' "${python3Packages.python}/bin/python"
+
+  '';
+
+  makeWrapperArgs = [
+    "--prefix PYTHONPATH : ${placeholder "out"}/lib/${python3Packages.python.libPrefix}/site-packages"
+  ];
+
+  postInstall = ''
+    wrapProgram $out/bin/xon.sh \
+      $makeWrapperArgs
   '';
 
-  doCheck = !stdenv.isDarwin;
+  disabledTests = [
+    # fails on sandbox
+    "test_colorize_file"
+    "test_loading_correctly"
+    "test_no_command_path_completion"
+    # fails on non-interactive shells
+    "test_capture_always"
+    "test_casting"
+    "test_command_pipeline_capture"
+    "test_dirty_working_directory"
+    "test_man_completion"
+    "test_vc_get_branch"
+  ];
+
+  disabledTestPaths = [
+    # fails on non-interactive shells
+    "tests/prompt/test_gitstatus.py"
+    "tests/completers/test_bash_completer.py"
+  ];
 
-  checkPhase = ''
-    HOME=$TMPDIR pytest -k 'not test_repath_backslash and not test_os and not test_man_completion and not test_builtins and not test_main and not test_ptk_highlight and not test_pyghooks and not test_command_pipeline_capture and not test_git_dirty_working_directory_includes_untracked and not test_dirty_working_directory and not test_vc_get_branch'
-    HOME=$TMPDIR pytest -k 'test_builtins or test_main' --reruns 5
-    HOME=$TMPDIR pytest -k 'test_ptk_highlight'
+  preCheck = ''
+    HOME=$TMPDIR
   '';
 
-  checkInputs = [ python3Packages.pytest python3Packages.pytest-rerunfailures glibcLocales git ];
+  checkInputs = [ glibcLocales git ] ++ (with python3Packages; [ pytestCheckHook pytest-subprocess ]);
 
-  propagatedBuildInputs = with python3Packages; [ ply prompt_toolkit pygments ];
+  propagatedBuildInputs = with python3Packages; [ ply prompt-toolkit pygments ];
 
   meta = with lib; {
     description = "A Python-ish, BASHwards-compatible shell";
@@ -49,7 +78,6 @@ python3Packages.buildPythonApplication rec {
     changelog = "https://github.com/xonsh/xonsh/raw/${version}/CHANGELOG.rst";
     license = licenses.bsd3;
     maintainers = with maintainers; [ spwhitt vrthra ];
-    platforms = platforms.all;
   };
 
   passthru = {
diff --git a/nixpkgs/pkgs/shells/zsh/antibody/default.nix b/nixpkgs/pkgs/shells/zsh/antibody/default.nix
index d5c197d5da6e..1db4321259df 100644
--- a/nixpkgs/pkgs/shells/zsh/antibody/default.nix
+++ b/nixpkgs/pkgs/shells/zsh/antibody/default.nix
@@ -15,7 +15,7 @@ buildGoModule rec {
 
   doCheck = false;
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
+  ldflags = [ "-s" "-w" "-X main.version=${version}" ];
 
   meta = with lib; {
     description = "The fastest shell plugin manager";
diff --git a/nixpkgs/pkgs/shells/zsh/default.nix b/nixpkgs/pkgs/shells/zsh/default.nix
index 71f526525e4f..92eebfd95442 100644
--- a/nixpkgs/pkgs/shells/zsh/default.nix
+++ b/nixpkgs/pkgs/shells/zsh/default.nix
@@ -18,6 +18,11 @@ stdenv.mkDerivation {
     sha256 = "09yyaadq738zlrnlh1hd3ycj1mv3q5hh4xl1ank70mjnqm6bbi6w";
   };
 
+  patches = [
+    # fix location of timezone data for TZ= completion
+    ./tz_completion.patch
+  ];
+
   buildInputs = [ ncurses pcre ];
 
   configureFlags = [
diff --git a/nixpkgs/pkgs/shells/zsh/oh-my-zsh/default.nix b/nixpkgs/pkgs/shells/zsh/oh-my-zsh/default.nix
index 23c783246e91..e78c208b56fe 100644
--- a/nixpkgs/pkgs/shells/zsh/oh-my-zsh/default.nix
+++ b/nixpkgs/pkgs/shells/zsh/oh-my-zsh/default.nix
@@ -5,15 +5,15 @@
 , git, nix, nixfmt, jq, coreutils, gnused, curl, cacert }:
 
 stdenv.mkDerivation rec {
-  version = "2021-04-26";
+  version = "2021-08-27";
   pname = "oh-my-zsh";
-  rev = "63a7422d8dd5eb93c849df0ab9e679e6f333818a";
+  rev = "190325049ef93731ab28295dbedf36d44ab33d7a";
 
   src = fetchFromGitHub {
     inherit rev;
     owner = "ohmyzsh";
     repo = "ohmyzsh";
-    sha256 = "1spi6y5jmha0bf1s69mycpmksxjniqmcnvkvmza4rhji8v8b120w";
+    sha256 = "x+cGlYjTgs7Esb4NNSBcKhoDb1SuEQxONt/sSHeVj0M=";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/shells/zsh/pure-prompt/default.nix b/nixpkgs/pkgs/shells/zsh/pure-prompt/default.nix
index 0ba449870b83..d5ed2641d536 100644
--- a/nixpkgs/pkgs/shells/zsh/pure-prompt/default.nix
+++ b/nixpkgs/pkgs/shells/zsh/pure-prompt/default.nix
@@ -4,13 +4,13 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "pure-prompt";
-  version = "1.17.0";
+  version = "1.17.1";
 
   src = fetchFromGitHub {
     owner = "sindresorhus";
     repo = "pure";
     rev = "v${version}";
-    sha256 = "sha256-6j6QZtsA5ZgfXthYjXRrND2zAJwZx0/6WRI1f3c+2mE=";
+    sha256 = "sha256-bWp04xT+/Xhgxj1Rm0FgTkRtLH9nuSFtqBsO3B7Exvo=";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/shells/zsh/spaceship-prompt/default.nix b/nixpkgs/pkgs/shells/zsh/spaceship-prompt/default.nix
index e5725a78fc54..618a35c2f6ad 100644
--- a/nixpkgs/pkgs/shells/zsh/spaceship-prompt/default.nix
+++ b/nixpkgs/pkgs/shells/zsh/spaceship-prompt/default.nix
@@ -2,13 +2,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "spaceship-prompt";
-  version = "3.12.6";
+  version = "3.14.0";
 
   src = fetchFromGitHub {
     owner = "denysdovhan";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-tKFah8b62wuw5vaNHddmj31UNd9kKCcQ99p8GlTnR6s=";
+    sha256 = "sha256-K9dNQAMW/Ms6rlAmfgQCqMiA7S4gLh9ZhvUoQiLoHOY=";
   };
 
   dontBuild = true;
diff --git a/nixpkgs/pkgs/shells/zsh/tz_completion.patch b/nixpkgs/pkgs/shells/zsh/tz_completion.patch
new file mode 100644
index 000000000000..01977828129d
--- /dev/null
+++ b/nixpkgs/pkgs/shells/zsh/tz_completion.patch
@@ -0,0 +1,14 @@
+On NixOS, timezone data is located at /etc/zoneinfo
+diff --git a/Completion/Unix/Type/_time_zone b/Completion/Unix/Type/_time_zone
+index cd924bbc7..5d683291b 100644
+--- a/Completion/Unix/Type/_time_zone
++++ b/Completion/Unix/Type/_time_zone
+@@ -3,7 +3,7 @@
+ local expl
+ 
+ if (( ! $+_zoneinfo_dirs )); then
+-  _zoneinfo_dirs=( /usr/{share,lib,share/lib}/{zoneinfo*,locale/TZ}(/) )
++  _zoneinfo_dirs=( /etc/zoneinfo /usr/{share,lib,share/lib}/{zoneinfo*,locale/TZ}(/) )
+ fi
+ 
+ _wanted time-zones expl 'time zone' _files -W _zoneinfo_dirs "$@" -
diff --git a/nixpkgs/pkgs/shells/zsh/zsh-fzf-tab/default.nix b/nixpkgs/pkgs/shells/zsh/zsh-fzf-tab/default.nix
index ee0f702780f3..ccf60e6d76af 100644
--- a/nixpkgs/pkgs/shells/zsh/zsh-fzf-tab/default.nix
+++ b/nixpkgs/pkgs/shells/zsh/zsh-fzf-tab/default.nix
@@ -4,13 +4,13 @@ let
   INSTALL_PATH="${placeholder "out"}/share/fzf-tab";
 in stdenv.mkDerivation rec {
   pname = "zsh-fzf-tab";
-  version = "unstable-2021-04-01";
+  version = "unstable-2021-08-05";
 
   src = fetchFromGitHub {
     owner = "Aloxaf";
     repo = "fzf-tab";
-    rev = "0c36bdcf6a80ec009280897f07f56969f94d377e";
-    sha256 = "0ymp9ky0jlkx9b63jajvpac5g3ll8snkf8q081g0yw42b9hwpiid";
+    rev = "89a33154707c09789177a893e5a8ebbb131d5d3d";
+    sha256 = "1g8011ldrghbw5ibchsp0p93r31cwyx2r1z5xplksd779jw79wdx";
   };
 
   buildInputs = [ ncurses ];
diff --git a/nixpkgs/pkgs/shells/zsh/zsh-nix-shell/default.nix b/nixpkgs/pkgs/shells/zsh/zsh-nix-shell/default.nix
index 20017414cf7d..8b463eda573e 100644
--- a/nixpkgs/pkgs/shells/zsh/zsh-nix-shell/default.nix
+++ b/nixpkgs/pkgs/shells/zsh/zsh-nix-shell/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zsh-nix-shell";
-  version = "0.1.0";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "chisui";
     repo = "zsh-nix-shell";
     rev = "v${version}";
-    sha256 = "0snhch9hfy83d4amkyxx33izvkhbwmindy0zjjk28hih1a9l2jmx";
+    sha256 = "sha256-719lVo6p55G1tt3+6nMhZ904nyvlq0Q5exb0il36/Aw=";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/stdenv/adapters.nix b/nixpkgs/pkgs/stdenv/adapters.nix
index a8e984d61743..719f67998266 100644
--- a/nixpkgs/pkgs/stdenv/adapters.nix
+++ b/nixpkgs/pkgs/stdenv/adapters.nix
@@ -2,7 +2,31 @@
    a new stdenv with different behaviour, e.g. using a different C
    compiler. */
 
-pkgs:
+{ lib, pkgs, config }:
+
+let
+  # N.B. Keep in sync with default arg for stdenv/generic.
+  defaultMkDerivationFromStdenv = import ./generic/make-derivation.nix { inherit lib config; };
+
+  # Low level function to help with overriding `mkDerivationFromStdenv`. One
+  # gives it the old stdenv arguments and a "continuation" function, and
+  # underneath the final stdenv argument it yields to the continuation to do
+  # whatever it wants with old `mkDerivation` (old `mkDerivationFromStdenv`
+  # applied to the *new, final* stdenv) provided for convenience.
+  withOldMkDerivation = stdenvSuperArgs: k: stdenvSelf: let
+    mkDerivationFromStdenv-super = stdenvSuperArgs.mkDerivationFromStdenv or defaultMkDerivationFromStdenv;
+    mkDerivationSuper = mkDerivationFromStdenv-super stdenvSelf;
+  in
+    k stdenvSelf mkDerivationSuper;
+
+  # Wrap the original `mkDerivation` providing extra args to it.
+  extendMkDerivationArgs = old: f: withOldMkDerivation old (_: mkDerivationSuper: args:
+    mkDerivationSuper (args // f args));
+
+  # Wrap the original `mkDerivation` transforming the result.
+  overrideMkDerivationResult = old: f: withOldMkDerivation old (_: mkDerivationSuper: args:
+    f (mkDerivationSuper args));
+in
 
 rec {
 
@@ -31,33 +55,32 @@ rec {
 
   # Return a modified stdenv that tries to build statically linked
   # binaries.
-  makeStaticBinaries = stdenv:
-    let stdenv' = if stdenv.hostPlatform.libc != "glibc" then stdenv else
-      stdenv.override (prev: {
-          extraBuildInputs = (prev.extraBuildInputs or []) ++ [
-              stdenv.glibc.static
-            ];
-        });
-    in stdenv' //
-    { mkDerivation = args:
-      if stdenv'.hostPlatform.isDarwin
+  makeStaticBinaries = stdenv0:
+    stdenv0.override (old: {
+      mkDerivationFromStdenv = withOldMkDerivation old (stdenv: mkDerivationSuper: args:
+      if stdenv.hostPlatform.isDarwin
       then throw "Cannot build fully static binaries on Darwin/macOS"
-      else stdenv'.mkDerivation (args // {
+      else mkDerivationSuper (args // {
         NIX_CFLAGS_LINK = toString (args.NIX_CFLAGS_LINK or "") + " -static";
-      } // pkgs.lib.optionalAttrs (!(args.dontAddStaticConfigureFlags or false)) {
+      } // lib.optionalAttrs (!(args.dontAddStaticConfigureFlags or false)) {
         configureFlags = (args.configureFlags or []) ++ [
             "--disable-shared" # brrr...
           ];
-      });
-    };
+      }));
+    } // lib.optionalAttrs (stdenv0.hostPlatform.libc == "libc") {
+      extraBuildInputs = (old.extraBuildInputs or []) ++ [
+        stdenv0.glibc.static
+      ];
+    });
 
 
   # Return a modified stdenv that builds static libraries instead of
   # shared libraries.
-  makeStaticLibraries = stdenv: stdenv //
-    { mkDerivation = args: stdenv.mkDerivation (args // {
+  makeStaticLibraries = stdenv:
+    stdenv.override (old: {
+      mkDerivationFromStdenv = extendMkDerivationArgs old (args: {
         dontDisableStatic = true;
-      } // pkgs.lib.optionalAttrs (!(args.dontAddStaticConfigureFlags or false)) {
+      } // lib.optionalAttrs (!(args.dontAddStaticConfigureFlags or false)) {
         configureFlags = (args.configureFlags or []) ++ [
           "--enable-static"
           "--disable-shared"
@@ -65,18 +88,19 @@ rec {
         cmakeFlags = (args.cmakeFlags or []) ++ [ "-DBUILD_SHARED_LIBS:BOOL=OFF" ];
         mesonFlags = (args.mesonFlags or []) ++ [ "-Ddefault_library=static" ];
       });
-    };
+    });
 
 
   /* Modify a stdenv so that all buildInputs are implicitly propagated to
      consuming derivations
   */
-  propagateBuildInputs = stdenv: stdenv //
-    { mkDerivation = args: stdenv.mkDerivation (args // {
+  propagateBuildInputs = stdenv:
+    stdenv.override (old: {
+      mkDerivationFromStdenv = extendMkDerivationArgs old (args: {
         propagatedBuildInputs = (args.propagatedBuildInputs or []) ++ (args.buildInputs or []);
         buildInputs = [];
       });
-    };
+    });
 
 
   /* Modify a stdenv so that the specified attributes are added to
@@ -88,8 +112,9 @@ rec {
            { NIX_CFLAGS_COMPILE = "-O0"; }
            stdenv;
   */
-  addAttrsToDerivation = extraAttrs: stdenv: stdenv //
-    { mkDerivation = args: stdenv.mkDerivation (args // extraAttrs); };
+  addAttrsToDerivation = extraAttrs: stdenv: stdenv.override (old: {
+    mkDerivationFromStdenv = extendMkDerivationArgs old (_: extraAttrs);
+  });
 
 
   /* Return a modified stdenv that builds packages with GCC's coverage
@@ -110,21 +135,20 @@ rec {
      # remove all maintainers.
      defaultStdenv = replaceMaintainersField allStdenvs.stdenv pkgs [];
   */
-  replaceMaintainersField = stdenv: pkgs: maintainers: stdenv //
-    { mkDerivation = args:
-        pkgs.lib.recursiveUpdate
-          (stdenv.mkDerivation args)
-          { meta.maintainers = maintainers; };
-    };
+  replaceMaintainersField = stdenv: pkgs: maintainers:
+    stdenv.override (old: {
+      mkDerivationFromStdenv = overrideMkDerivationResult (pkg:
+        lib.recursiveUpdate pkg { meta.maintainers = maintainers; });
+    });
 
 
   /* Use the trace output to report all processed derivations with their
      license name.
   */
-  traceDrvLicenses = stdenv: stdenv //
-    { mkDerivation = args:
+  traceDrvLicenses = stdenv:
+    stdenv.override (old: {
+      mkDerivationFromStdenv = overrideMkDerivationResult (pkg:
         let
-          pkg = stdenv.mkDerivation args;
           printDrvPath = val: let
             drvPath = builtins.unsafeDiscardStringContext pkg.drvPath;
             license = pkg.meta.license or null;
@@ -133,8 +157,8 @@ rec {
         in pkg // {
           outPath = printDrvPath pkg.outPath;
           drvPath = printDrvPath pkg.drvPath;
-        };
-    };
+        });
+    });
 
 
   /* Abort if the license predicate is not verified for a derivation
@@ -152,10 +176,10 @@ rec {
      use it by patching the all-packages.nix file or by using the override
      feature of ~/.config/nixpkgs/config.nix .
   */
-  validateLicenses = licensePred: stdenv: stdenv //
-    { mkDerivation = args:
+  validateLicenses = licensePred: stdenv:
+    stdenv.override (old: {
+      mkDerivationFromStdenv = overrideMkDerivationResult (pkg:
         let
-          pkg = stdenv.mkDerivation args;
           drv = builtins.unsafeDiscardStringContext pkg.drvPath;
           license =
             pkg.meta.license or
@@ -175,40 +199,43 @@ rec {
         in pkg // {
           outPath = validate pkg.outPath;
           drvPath = validate pkg.drvPath;
-        };
-    };
+        });
+    });
 
 
   /* Modify a stdenv so that it produces debug builds; that is,
      binaries have debug info, and compiler optimisations are
      disabled. */
-  keepDebugInfo = stdenv: stdenv //
-    { mkDerivation = args: stdenv.mkDerivation (args // {
+  keepDebugInfo = stdenv:
+    stdenv.override (old: {
+      mkDerivationFromStdenv = extendMkDerivationArgs old (args: {
         dontStrip = true;
         NIX_CFLAGS_COMPILE = toString (args.NIX_CFLAGS_COMPILE or "") + " -ggdb -Og";
       });
-    };
+    });
 
 
   /* Modify a stdenv so that it uses the Gold linker. */
-  useGoldLinker = stdenv: stdenv //
-    { mkDerivation = args: stdenv.mkDerivation (args // {
+  useGoldLinker = stdenv:
+    stdenv.override (old: {
+      mkDerivationFromStdenv = extendMkDerivationArgs old (args: {
         NIX_CFLAGS_LINK = toString (args.NIX_CFLAGS_LINK or "") + " -fuse-ld=gold";
       });
-    };
+    });
 
 
   /* Modify a stdenv so that it builds binaries optimized specifically
      for the machine they are built on.
 
      WARNING: this breaks purity! */
-  impureUseNativeOptimizations = stdenv: stdenv //
-    { mkDerivation = args: stdenv.mkDerivation (args // {
+  impureUseNativeOptimizations = stdenv:
+    stdenv.override (old: {
+      mkDerivationFromStdenv = extendMkDerivationArgs old (args: {
         NIX_CFLAGS_COMPILE = toString (args.NIX_CFLAGS_COMPILE or "") + " -march=native";
         NIX_ENFORCE_NO_NATIVE = false;
 
         preferLocalBuild = true;
         allowSubstitutes = false;
       });
-    };
+    });
 }
diff --git a/nixpkgs/pkgs/stdenv/generic/check-meta.nix b/nixpkgs/pkgs/stdenv/generic/check-meta.nix
index ac62ad30829a..ba3c8eef20e6 100644
--- a/nixpkgs/pkgs/stdenv/generic/check-meta.nix
+++ b/nixpkgs/pkgs/stdenv/generic/check-meta.nix
@@ -231,6 +231,7 @@ let
     timeout = int;
 
     # Weirder stuff that doesn't appear in the documentation?
+    maxSilent = int;
     knownVulnerabilities = listOf str;
     name = str;
     version = str;
diff --git a/nixpkgs/pkgs/stdenv/generic/default.nix b/nixpkgs/pkgs/stdenv/generic/default.nix
index 88ca1b2c7903..d7fb1b0ba063 100644
--- a/nixpkgs/pkgs/stdenv/generic/default.nix
+++ b/nixpkgs/pkgs/stdenv/generic/default.nix
@@ -48,6 +48,10 @@ let lib = import ../../../lib; in lib.makeOverridable (
 
 , # The platform which build tools (especially compilers) build for in this stage,
   targetPlatform
+
+, # The implementation of `mkDerivation`, parameterized with the final stdenv so we can tie the knot.
+  # This is convient to have as a parameter so the stdenv "adapters" work better
+  mkDerivationFromStdenv ? import ./make-derivation.nix { inherit lib config; }
 }:
 
 let
@@ -155,9 +159,7 @@ let
       # to correct type of machine.
       inherit (hostPlatform) system;
 
-      inherit (import ./make-derivation.nix {
-        inherit lib config stdenv;
-      }) mkDerivation;
+      mkDerivation = mkDerivationFromStdenv stdenv;
 
       inherit fetchurlBoot;
 
diff --git a/nixpkgs/pkgs/stdenv/generic/make-derivation.nix b/nixpkgs/pkgs/stdenv/generic/make-derivation.nix
index d6704d59111a..56cfa0c503f8 100644
--- a/nixpkgs/pkgs/stdenv/generic/make-derivation.nix
+++ b/nixpkgs/pkgs/stdenv/generic/make-derivation.nix
@@ -1,4 +1,6 @@
-{ lib, config, stdenv }:
+{ lib, config }:
+
+stdenv:
 
 let
   checkMeta = import ./check-meta.nix {
@@ -7,405 +9,403 @@ let
     # to build it. This is a bit confusing for cross compilation.
     inherit (stdenv) hostPlatform;
   };
-in rec {
-  # `mkDerivation` wraps the builtin `derivation` function to
-  # produce derivations that use this stdenv and its shell.
-  #
-  # See also:
-  #
-  # * https://nixos.org/nixpkgs/manual/#sec-using-stdenv
-  #   Details on how to use this mkDerivation function
+in
+
+# `mkDerivation` wraps the builtin `derivation` function to
+# produce derivations that use this stdenv and its shell.
+#
+# See also:
+#
+# * https://nixos.org/nixpkgs/manual/#sec-using-stdenv
+#   Details on how to use this mkDerivation function
+#
+# * https://nixos.org/nix/manual/#ssec-derivation
+#   Explanation about derivations in general
+{
+
+# These types of dependencies are all exhaustively documented in
+# the "Specifying Dependencies" section of the "Standard
+# Environment" chapter of the Nixpkgs manual.
+
+# TODO(@Ericson2314): Stop using legacy dep attribute names
+
+#                           host offset -> target offset
+  depsBuildBuild              ? [] # -1 -> -1
+, depsBuildBuildPropagated    ? [] # -1 -> -1
+, nativeBuildInputs           ? [] # -1 ->  0  N.B. Legacy name
+, propagatedNativeBuildInputs ? [] # -1 ->  0  N.B. Legacy name
+, depsBuildTarget             ? [] # -1 ->  1
+, depsBuildTargetPropagated   ? [] # -1 ->  1
+
+, depsHostHost                ? [] #  0 ->  0
+, depsHostHostPropagated      ? [] #  0 ->  0
+, buildInputs                 ? [] #  0 ->  1  N.B. Legacy name
+, propagatedBuildInputs       ? [] #  0 ->  1  N.B. Legacy name
+
+, depsTargetTarget            ? [] #  1 ->  1
+, depsTargetTargetPropagated  ? [] #  1 ->  1
+
+, checkInputs                 ? []
+, installCheckInputs          ? []
+
+# Configure Phase
+, configureFlags ? []
+, cmakeFlags ? []
+, mesonFlags ? []
+, # Target is not included by default because most programs don't care.
+  # Including it then would cause needless mass rebuilds.
   #
-  # * https://nixos.org/nix/manual/#ssec-derivation
-  #   Explanation about derivations in general
-  mkDerivation =
-    {
-
-    # These types of dependencies are all exhaustively documented in
-    # the "Specifying Dependencies" section of the "Standard
-    # Environment" chapter of the Nixpkgs manual.
-
-    # TODO(@Ericson2314): Stop using legacy dep attribute names
-
-    #                           host offset -> target offset
-      depsBuildBuild              ? [] # -1 -> -1
-    , depsBuildBuildPropagated    ? [] # -1 -> -1
-    , nativeBuildInputs           ? [] # -1 ->  0  N.B. Legacy name
-    , propagatedNativeBuildInputs ? [] # -1 ->  0  N.B. Legacy name
-    , depsBuildTarget             ? [] # -1 ->  1
-    , depsBuildTargetPropagated   ? [] # -1 ->  1
-
-    , depsHostHost                ? [] #  0 ->  0
-    , depsHostHostPropagated      ? [] #  0 ->  0
-    , buildInputs                 ? [] #  0 ->  1  N.B. Legacy name
-    , propagatedBuildInputs       ? [] #  0 ->  1  N.B. Legacy name
-
-    , depsTargetTarget            ? [] #  1 ->  1
-    , depsTargetTargetPropagated  ? [] #  1 ->  1
-
-    , checkInputs                 ? []
-    , installCheckInputs          ? []
-
-    # Configure Phase
-    , configureFlags ? []
-    , cmakeFlags ? []
-    , mesonFlags ? []
-    , # Target is not included by default because most programs don't care.
-      # Including it then would cause needless mass rebuilds.
-      #
-      # TODO(@Ericson2314): Make [ "build" "host" ] always the default.
-      configurePlatforms ? lib.optionals
-        (stdenv.hostPlatform != stdenv.buildPlatform)
-        [ "build" "host" ]
-
-    # TODO(@Ericson2314): Make unconditional / resolve #33599
-    # Check phase
-    , doCheck ? config.doCheckByDefault or false
-
-    # TODO(@Ericson2314): Make unconditional / resolve #33599
-    # InstallCheck phase
-    , doInstallCheck ? config.doCheckByDefault or false
-
-    , # TODO(@Ericson2314): Make always true and remove
-      strictDeps ? stdenv.hostPlatform != stdenv.buildPlatform
-    , meta ? {}
-    , passthru ? {}
-    , pos ? # position used in error messages and for meta.position
-        (if attrs.meta.description or null != null
-          then builtins.unsafeGetAttrPos "description" attrs.meta
-          else if attrs.version or null != null
-          then builtins.unsafeGetAttrPos "version" attrs
-          else builtins.unsafeGetAttrPos "name" attrs)
-    , separateDebugInfo ? false
-    , outputs ? [ "out" ]
-    , __darwinAllowLocalNetworking ? false
-    , __impureHostDeps ? []
-    , __propagatedImpureHostDeps ? []
-    , sandboxProfile ? ""
-    , propagatedSandboxProfile ? ""
-
-    , hardeningEnable ? []
-    , hardeningDisable ? []
-
-    , patches ? []
-
-    , __contentAddressed ?
-      (! attrs ? outputHash) # Fixed-output drvs can't be content addressed too
-      && (config.contentAddressedByDefault or false)
-
-    , ... } @ attrs:
-
-    let
-      # TODO(@oxij, @Ericson2314): This is here to keep the old semantics, remove when
-      # no package has `doCheck = true`.
-      doCheck' = doCheck && stdenv.hostPlatform == stdenv.buildPlatform;
-      doInstallCheck' = doInstallCheck && stdenv.hostPlatform == stdenv.buildPlatform;
-
-      separateDebugInfo' = separateDebugInfo && stdenv.hostPlatform.isLinux && !(stdenv.hostPlatform.useLLVM or false);
-      outputs' = outputs ++ lib.optional separateDebugInfo' "debug";
-
-      noNonNativeDeps = builtins.length (depsBuildTarget ++ depsBuildTargetPropagated
-                                      ++ depsHostHost ++ depsHostHostPropagated
-                                      ++ buildInputs ++ propagatedBuildInputs
-                                      ++ depsTargetTarget ++ depsTargetTargetPropagated) == 0;
-      dontAddHostSuffix = attrs ? outputHash && !noNonNativeDeps || !stdenv.hasCC;
-      supportedHardeningFlags = [ "fortify" "stackprotector" "pie" "pic" "strictoverflow" "format" "relro" "bindnow" ];
-      # Musl-based platforms will keep "pie", other platforms will not.
-      # If you change this, make sure to update section `{#sec-hardening-in-nixpkgs}`
-      # in the nixpkgs manual to inform users about the defaults.
-      defaultHardeningFlags = if stdenv.hostPlatform.isMusl &&
-                                # Except when:
-                                #    - static aarch64, where compilation works, but produces segfaulting dynamically linked binaries.
-                                #    - static armv7l, where compilation fails.
-                                !((stdenv.hostPlatform.isAarch64 || stdenv.hostPlatform.isAarch32) && stdenv.hostPlatform.isStatic)
-                              then supportedHardeningFlags
-                              else lib.remove "pie" supportedHardeningFlags;
-      enabledHardeningOptions =
-        if builtins.elem "all" hardeningDisable
-        then []
-        else lib.subtractLists hardeningDisable (defaultHardeningFlags ++ hardeningEnable);
-      # hardeningDisable additionally supports "all".
-      erroneousHardeningFlags = lib.subtractLists supportedHardeningFlags (hardeningEnable ++ lib.remove "all" hardeningDisable);
-    in if builtins.length erroneousHardeningFlags != 0
-    then abort ("mkDerivation was called with unsupported hardening flags: " + lib.generators.toPretty {} {
-      inherit erroneousHardeningFlags hardeningDisable hardeningEnable supportedHardeningFlags;
-    })
-    else let
-      doCheck = doCheck';
-      doInstallCheck = doInstallCheck';
-
-      outputs = outputs';
-
-      references = nativeBuildInputs ++ buildInputs
-                ++ propagatedNativeBuildInputs ++ propagatedBuildInputs;
-
-      dependencies = map (map lib.chooseDevOutputs) [
-        [
-          (map (drv: drv.__spliced.buildBuild or drv) depsBuildBuild)
-          (map (drv: drv.nativeDrv or drv) nativeBuildInputs
-             ++ lib.optional separateDebugInfo' ../../build-support/setup-hooks/separate-debug-info.sh
-             ++ lib.optional stdenv.hostPlatform.isWindows ../../build-support/setup-hooks/win-dll-link.sh
-             ++ lib.optionals doCheck checkInputs
-             ++ lib.optionals doInstallCheck' installCheckInputs)
-          (map (drv: drv.__spliced.buildTarget or drv) depsBuildTarget)
-        ]
-        [
-          (map (drv: drv.__spliced.hostHost or drv) depsHostHost)
-          (map (drv: drv.crossDrv or drv) buildInputs)
-        ]
-        [
-          (map (drv: drv.__spliced.targetTarget or drv) depsTargetTarget)
-        ]
-      ];
-      propagatedDependencies = map (map lib.chooseDevOutputs) [
-        [
-          (map (drv: drv.__spliced.buildBuild or drv) depsBuildBuildPropagated)
-          (map (drv: drv.nativeDrv or drv) propagatedNativeBuildInputs)
-          (map (drv: drv.__spliced.buildTarget or drv) depsBuildTargetPropagated)
-        ]
-        [
-          (map (drv: drv.__spliced.hostHost or drv) depsHostHostPropagated)
-          (map (drv: drv.crossDrv or drv) propagatedBuildInputs)
-        ]
-        [
-          (map (drv: drv.__spliced.targetTarget or drv) depsTargetTargetPropagated)
-        ]
-      ];
+  # TODO(@Ericson2314): Make [ "build" "host" ] always the default.
+  configurePlatforms ? lib.optionals
+    (stdenv.hostPlatform != stdenv.buildPlatform)
+    [ "build" "host" ]
+
+# TODO(@Ericson2314): Make unconditional / resolve #33599
+# Check phase
+, doCheck ? config.doCheckByDefault or false
+
+# TODO(@Ericson2314): Make unconditional / resolve #33599
+# InstallCheck phase
+, doInstallCheck ? config.doCheckByDefault or false
+
+, # TODO(@Ericson2314): Make always true and remove
+  strictDeps ? stdenv.hostPlatform != stdenv.buildPlatform
+, meta ? {}
+, passthru ? {}
+, pos ? # position used in error messages and for meta.position
+    (if attrs.meta.description or null != null
+      then builtins.unsafeGetAttrPos "description" attrs.meta
+      else if attrs.version or null != null
+      then builtins.unsafeGetAttrPos "version" attrs
+      else builtins.unsafeGetAttrPos "name" attrs)
+, separateDebugInfo ? false
+, outputs ? [ "out" ]
+, __darwinAllowLocalNetworking ? false
+, __impureHostDeps ? []
+, __propagatedImpureHostDeps ? []
+, sandboxProfile ? ""
+, propagatedSandboxProfile ? ""
+
+, hardeningEnable ? []
+, hardeningDisable ? []
+
+, patches ? []
+
+, __contentAddressed ?
+  (! attrs ? outputHash) # Fixed-output drvs can't be content addressed too
+  && (config.contentAddressedByDefault or false)
+
+, ... } @ attrs:
 
-      computedSandboxProfile =
-        lib.concatMap (input: input.__propagatedSandboxProfile or [])
-          (stdenv.extraNativeBuildInputs
-           ++ stdenv.extraBuildInputs
-           ++ lib.concatLists dependencies);
-
-      computedPropagatedSandboxProfile =
-        lib.concatMap (input: input.__propagatedSandboxProfile or [])
-          (lib.concatLists propagatedDependencies);
-
-      computedImpureHostDeps =
-        lib.unique (lib.concatMap (input: input.__propagatedImpureHostDeps or [])
-          (stdenv.extraNativeBuildInputs
-           ++ stdenv.extraBuildInputs
-           ++ lib.concatLists dependencies));
-
-      computedPropagatedImpureHostDeps =
-        lib.unique (lib.concatMap (input: input.__propagatedImpureHostDeps or [])
-          (lib.concatLists propagatedDependencies));
-
-      derivationArg =
-        (removeAttrs attrs
-          ["meta" "passthru" "pos"
-           "checkInputs" "installCheckInputs"
-           "__darwinAllowLocalNetworking"
-           "__impureHostDeps" "__propagatedImpureHostDeps"
-           "sandboxProfile" "propagatedSandboxProfile"])
-        // (lib.optionalAttrs (attrs ? name || (attrs ? pname && attrs ? version)) {
-          name =
-            let
-              # Indicate the host platform of the derivation if cross compiling.
-              # Fixed-output derivations like source tarballs shouldn't get a host
-              # suffix. But we have some weird ones with run-time deps that are
-              # just used for their side-affects. Those might as well since the
-              # hash can't be the same. See #32986.
-              hostSuffix = lib.optionalString
-                (stdenv.hostPlatform != stdenv.buildPlatform && !dontAddHostSuffix)
-                "-${stdenv.hostPlatform.config}";
-              # Disambiguate statically built packages. This was originally
-              # introduce as a means to prevent nix-env to get confused between
-              # nix and nixStatic. This should be also achieved by moving the
-              # hostSuffix before the version, so we could contemplate removing
-              # it again.
-              staticMarker = lib.optionalString stdenv.hostPlatform.isStatic "-static";
-            in
-              if attrs ? name
-              then attrs.name + hostSuffix
-              else "${attrs.pname}${staticMarker}${hostSuffix}-${attrs.version}";
-        }) // {
-          builder = attrs.realBuilder or stdenv.shell;
-          args = attrs.args or ["-e" (attrs.builder or ./default-builder.sh)];
-          inherit stdenv;
-
-          # The `system` attribute of a derivation has special meaning to Nix.
-          # Derivations set it to choose what sort of machine could be used to
-          # execute the build, The build platform entirely determines this,
-          # indeed more finely than Nix knows or cares about. The `system`
-          # attribute of `buildPlatfom` matches Nix's degree of specificity.
-          # exactly.
-          inherit (stdenv.buildPlatform) system;
-
-          userHook = config.stdenv.userHook or null;
-          __ignoreNulls = true;
-
-          inherit strictDeps;
-
-          depsBuildBuild              = lib.elemAt (lib.elemAt dependencies 0) 0;
-          nativeBuildInputs           = lib.elemAt (lib.elemAt dependencies 0) 1;
-          depsBuildTarget             = lib.elemAt (lib.elemAt dependencies 0) 2;
-          depsHostHost                = lib.elemAt (lib.elemAt dependencies 1) 0;
-          buildInputs                 = lib.elemAt (lib.elemAt dependencies 1) 1;
-          depsTargetTarget            = lib.elemAt (lib.elemAt dependencies 2) 0;
-
-          depsBuildBuildPropagated    = lib.elemAt (lib.elemAt propagatedDependencies 0) 0;
-          propagatedNativeBuildInputs = lib.elemAt (lib.elemAt propagatedDependencies 0) 1;
-          depsBuildTargetPropagated   = lib.elemAt (lib.elemAt propagatedDependencies 0) 2;
-          depsHostHostPropagated      = lib.elemAt (lib.elemAt propagatedDependencies 1) 0;
-          propagatedBuildInputs       = lib.elemAt (lib.elemAt propagatedDependencies 1) 1;
-          depsTargetTargetPropagated  = lib.elemAt (lib.elemAt propagatedDependencies 2) 0;
-
-          # This parameter is sometimes a string, sometimes null, and sometimes a list, yuck
-          configureFlags = let inherit (lib) optional elem; in
-            (/**/ if lib.isString configureFlags then [configureFlags]
-             else if configureFlags == null      then []
-             else                                     configureFlags)
-            ++ optional (elem "build"  configurePlatforms) "--build=${stdenv.buildPlatform.config}"
-            ++ optional (elem "host"   configurePlatforms) "--host=${stdenv.hostPlatform.config}"
-            ++ optional (elem "target" configurePlatforms) "--target=${stdenv.targetPlatform.config}";
-
-          inherit patches;
-
-          inherit doCheck doInstallCheck;
-
-          inherit outputs;
-        } // lib.optionalAttrs (__contentAddressed) {
-          inherit __contentAddressed;
-          # Provide default values for outputHashMode and outputHashAlgo because
-          # most people won't care about these anyways
-          outputHashAlgo = attrs.outputHashAlgo or "sha256";
-          outputHashMode = attrs.outputHashMode or "recursive";
-        } // lib.optionalAttrs (stdenv.hostPlatform != stdenv.buildPlatform) {
-          cmakeFlags =
-            (/**/ if lib.isString cmakeFlags then [cmakeFlags]
-             else if cmakeFlags == null      then []
-             else                                     cmakeFlags)
-          ++ [ "-DCMAKE_SYSTEM_NAME=${lib.findFirst lib.isString "Generic" (
-               lib.optional (!stdenv.hostPlatform.isRedox) stdenv.hostPlatform.uname.system)}"]
-          ++ lib.optional (stdenv.hostPlatform.uname.processor != null) "-DCMAKE_SYSTEM_PROCESSOR=${stdenv.hostPlatform.uname.processor}"
-          ++ lib.optional (stdenv.hostPlatform.uname.release != null) "-DCMAKE_SYSTEM_VERSION=${stdenv.hostPlatform.release}"
-          ++ lib.optional (stdenv.hostPlatform.isDarwin) "-DCMAKE_OSX_ARCHITECTURES=${stdenv.hostPlatform.darwinArch}"
-          ++ lib.optional (stdenv.buildPlatform.uname.system != null) "-DCMAKE_HOST_SYSTEM_NAME=${stdenv.buildPlatform.uname.system}"
-          ++ lib.optional (stdenv.buildPlatform.uname.processor != null) "-DCMAKE_HOST_SYSTEM_PROCESSOR=${stdenv.buildPlatform.uname.processor}"
-          ++ lib.optional (stdenv.buildPlatform.uname.release != null) "-DCMAKE_HOST_SYSTEM_VERSION=${stdenv.buildPlatform.uname.release}";
-
-          mesonFlags = if mesonFlags == null then null else let
-            # See https://mesonbuild.com/Reference-tables.html#cpu-families
-            cpuFamily = platform: with platform;
-              /**/ if isAarch32 then "arm"
-              else if isAarch64 then "aarch64"
-              else if isx86_32  then "x86"
-              else if isx86_64  then "x86_64"
-              else platform.parsed.cpu.family + builtins.toString platform.parsed.cpu.bits;
-            crossFile = builtins.toFile "cross-file.conf" ''
-              [properties]
-              needs_exe_wrapper = true
-
-              [host_machine]
-              system = '${stdenv.targetPlatform.parsed.kernel.name}'
-              cpu_family = '${cpuFamily stdenv.targetPlatform}'
-              cpu = '${stdenv.targetPlatform.parsed.cpu.name}'
-              endian = ${if stdenv.targetPlatform.isLittleEndian then "'little'" else "'big'"}
-            '';
-          in [ "--cross-file=${crossFile}" ] ++ mesonFlags;
-        } // lib.optionalAttrs (attrs.enableParallelBuilding or false) {
-          enableParallelChecking = attrs.enableParallelChecking or true;
-        } // lib.optionalAttrs (hardeningDisable != [] || hardeningEnable != [] || stdenv.hostPlatform.isMusl) {
-          NIX_HARDENING_ENABLE = enabledHardeningOptions;
-        } // lib.optionalAttrs (stdenv.hostPlatform.isx86_64 && stdenv.hostPlatform ? gcc.arch) {
-          requiredSystemFeatures = attrs.requiredSystemFeatures or [] ++ [ "gccarch-${stdenv.hostPlatform.gcc.arch}" ];
-        } // lib.optionalAttrs (stdenv.buildPlatform.isDarwin) {
-          inherit __darwinAllowLocalNetworking;
-          # TODO: remove lib.unique once nix has a list canonicalization primitive
-          __sandboxProfile =
-          let profiles = [ stdenv.extraSandboxProfile ] ++ computedSandboxProfile ++ computedPropagatedSandboxProfile ++ [ propagatedSandboxProfile sandboxProfile ];
-              final = lib.concatStringsSep "\n" (lib.filter (x: x != "") (lib.unique profiles));
-          in final;
-          __propagatedSandboxProfile = lib.unique (computedPropagatedSandboxProfile ++ [ propagatedSandboxProfile ]);
-          __impureHostDeps = computedImpureHostDeps ++ computedPropagatedImpureHostDeps ++ __propagatedImpureHostDeps ++ __impureHostDeps ++ stdenv.__extraImpureHostDeps ++ [
-            "/dev/zero"
-            "/dev/random"
-            "/dev/urandom"
-            "/bin/sh"
-          ];
-          __propagatedImpureHostDeps = computedPropagatedImpureHostDeps ++ __propagatedImpureHostDeps;
-        };
-
-      validity = checkMeta { inherit meta attrs; };
-
-      # The meta attribute is passed in the resulting attribute set,
-      # but it's not part of the actual derivation, i.e., it's not
-      # 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 = attrs.name or "${attrs.pname}-${attrs.version}";
-
-          # If the packager hasn't specified `outputsToInstall`, choose a default,
-          # which is the name of `p.bin or p.out or p` along with `p.man` when
-          # present.
-          #
-          # If the packager has specified it, it will be overridden below in
-          # `// meta`.
-          #
-          #   Note: This default probably shouldn't be globally configurable.
-          #   Services and users should specify outputs explicitly,
-          #   unless they are comfortable with this default.
-          outputsToInstall =
-            let
-              hasOutput = out: builtins.elem out outputs;
-            in [( lib.findFirst hasOutput null (["bin" "out"] ++ outputs) )]
-              ++ lib.optional (hasOutput "man") "man";
-        }
-        // attrs.meta or {}
-        # Fill `meta.position` to identify the source location of the package.
-        // lib.optionalAttrs (pos != null) {
-          position = pos.file + ":" + toString pos.line;
-        } // {
-          # Expose the result of the checks for everyone to see.
-          inherit (validity) unfree broken unsupported insecure;
-          available = validity.valid
-                   && (if config.checkMetaRecursively or false
-                       then lib.all (d: d.meta.available or true) references
-                       else true);
-        };
-
-    in
-
-      lib.extendDerivation
-        validity.handled
-        ({
-           overrideAttrs = f: mkDerivation (attrs // (f attrs));
-
-           # A derivation that always builds successfully and whose runtime
-           # dependencies are the original derivations build time dependencies
-           # This allows easy building and distributing of all derivations
-           # needed to enter a nix-shell with
-           #   nix-build shell.nix -A inputDerivation
-           inputDerivation = derivation (derivationArg // {
-             # Add a name in case the original drv didn't have one
-             name = derivationArg.name or "inputDerivation";
-             # This always only has one output
-             outputs = [ "out" ];
-
-             # Propagate the original builder and arguments, since we override
-             # them and they might contain references to build inputs
-             _derivation_original_builder = derivationArg.builder;
-             _derivation_original_args = derivationArg.args;
-
-             builder = stdenv.shell;
-             # The bash builtin `export` dumps all current environment variables,
-             # which is where all build input references end up (e.g. $PATH for
-             # binaries). By writing this to $out, Nix can find and register
-             # them as runtime dependencies (since Nix greps for store paths
-             # through $out to find them)
-             args = [ "-c" "export > $out" ];
-           });
-
-           inherit meta passthru;
-         } //
-         # Pass through extra attributes that are not inputs, but
-         # should be made available to Nix expressions using the
-         # derivation (e.g., in assertions).
-         passthru)
-        (derivation derivationArg);
-
-}
+let
+  # TODO(@oxij, @Ericson2314): This is here to keep the old semantics, remove when
+  # no package has `doCheck = true`.
+  doCheck' = doCheck && stdenv.hostPlatform == stdenv.buildPlatform;
+  doInstallCheck' = doInstallCheck && stdenv.hostPlatform == stdenv.buildPlatform;
+
+  separateDebugInfo' = separateDebugInfo && stdenv.hostPlatform.isLinux && !(stdenv.hostPlatform.useLLVM or false);
+  outputs' = outputs ++ lib.optional separateDebugInfo' "debug";
+
+  noNonNativeDeps = builtins.length (depsBuildTarget ++ depsBuildTargetPropagated
+                                  ++ depsHostHost ++ depsHostHostPropagated
+                                  ++ buildInputs ++ propagatedBuildInputs
+                                  ++ depsTargetTarget ++ depsTargetTargetPropagated) == 0;
+  dontAddHostSuffix = attrs ? outputHash && !noNonNativeDeps || !stdenv.hasCC;
+  supportedHardeningFlags = [ "fortify" "stackprotector" "pie" "pic" "strictoverflow" "format" "relro" "bindnow" ];
+  # Musl-based platforms will keep "pie", other platforms will not.
+  # If you change this, make sure to update section `{#sec-hardening-in-nixpkgs}`
+  # in the nixpkgs manual to inform users about the defaults.
+  defaultHardeningFlags = if stdenv.hostPlatform.isMusl &&
+                            # Except when:
+                            #    - static aarch64, where compilation works, but produces segfaulting dynamically linked binaries.
+                            #    - static armv7l, where compilation fails.
+                            !((stdenv.hostPlatform.isAarch64 || stdenv.hostPlatform.isAarch32) && stdenv.hostPlatform.isStatic)
+                          then supportedHardeningFlags
+                          else lib.remove "pie" supportedHardeningFlags;
+  enabledHardeningOptions =
+    if builtins.elem "all" hardeningDisable
+    then []
+    else lib.subtractLists hardeningDisable (defaultHardeningFlags ++ hardeningEnable);
+  # hardeningDisable additionally supports "all".
+  erroneousHardeningFlags = lib.subtractLists supportedHardeningFlags (hardeningEnable ++ lib.remove "all" hardeningDisable);
+in if builtins.length erroneousHardeningFlags != 0
+then abort ("mkDerivation was called with unsupported hardening flags: " + lib.generators.toPretty {} {
+  inherit erroneousHardeningFlags hardeningDisable hardeningEnable supportedHardeningFlags;
+})
+else let
+  doCheck = doCheck';
+  doInstallCheck = doInstallCheck';
+
+  outputs = outputs';
+
+  references = nativeBuildInputs ++ buildInputs
+            ++ propagatedNativeBuildInputs ++ propagatedBuildInputs;
+
+  dependencies = map (map lib.chooseDevOutputs) [
+    [
+      (map (drv: drv.__spliced.buildBuild or drv) depsBuildBuild)
+      (map (drv: drv.nativeDrv or drv) nativeBuildInputs
+         ++ lib.optional separateDebugInfo' ../../build-support/setup-hooks/separate-debug-info.sh
+         ++ lib.optional stdenv.hostPlatform.isWindows ../../build-support/setup-hooks/win-dll-link.sh
+         ++ lib.optionals doCheck checkInputs
+         ++ lib.optionals doInstallCheck' installCheckInputs)
+      (map (drv: drv.__spliced.buildTarget or drv) depsBuildTarget)
+    ]
+    [
+      (map (drv: drv.__spliced.hostHost or drv) depsHostHost)
+      (map (drv: drv.crossDrv or drv) buildInputs)
+    ]
+    [
+      (map (drv: drv.__spliced.targetTarget or drv) depsTargetTarget)
+    ]
+  ];
+  propagatedDependencies = map (map lib.chooseDevOutputs) [
+    [
+      (map (drv: drv.__spliced.buildBuild or drv) depsBuildBuildPropagated)
+      (map (drv: drv.nativeDrv or drv) propagatedNativeBuildInputs)
+      (map (drv: drv.__spliced.buildTarget or drv) depsBuildTargetPropagated)
+    ]
+    [
+      (map (drv: drv.__spliced.hostHost or drv) depsHostHostPropagated)
+      (map (drv: drv.crossDrv or drv) propagatedBuildInputs)
+    ]
+    [
+      (map (drv: drv.__spliced.targetTarget or drv) depsTargetTargetPropagated)
+    ]
+  ];
+
+  computedSandboxProfile =
+    lib.concatMap (input: input.__propagatedSandboxProfile or [])
+      (stdenv.extraNativeBuildInputs
+       ++ stdenv.extraBuildInputs
+       ++ lib.concatLists dependencies);
+
+  computedPropagatedSandboxProfile =
+    lib.concatMap (input: input.__propagatedSandboxProfile or [])
+      (lib.concatLists propagatedDependencies);
+
+  computedImpureHostDeps =
+    lib.unique (lib.concatMap (input: input.__propagatedImpureHostDeps or [])
+      (stdenv.extraNativeBuildInputs
+       ++ stdenv.extraBuildInputs
+       ++ lib.concatLists dependencies));
+
+  computedPropagatedImpureHostDeps =
+    lib.unique (lib.concatMap (input: input.__propagatedImpureHostDeps or [])
+      (lib.concatLists propagatedDependencies));
+
+  derivationArg =
+    (removeAttrs attrs
+      ["meta" "passthru" "pos"
+       "checkInputs" "installCheckInputs"
+       "__darwinAllowLocalNetworking"
+       "__impureHostDeps" "__propagatedImpureHostDeps"
+       "sandboxProfile" "propagatedSandboxProfile"])
+    // (lib.optionalAttrs (attrs ? name || (attrs ? pname && attrs ? version)) {
+      name =
+        let
+          # Indicate the host platform of the derivation if cross compiling.
+          # Fixed-output derivations like source tarballs shouldn't get a host
+          # suffix. But we have some weird ones with run-time deps that are
+          # just used for their side-affects. Those might as well since the
+          # hash can't be the same. See #32986.
+          hostSuffix = lib.optionalString
+            (stdenv.hostPlatform != stdenv.buildPlatform && !dontAddHostSuffix)
+            "-${stdenv.hostPlatform.config}";
+          # Disambiguate statically built packages. This was originally
+          # introduce as a means to prevent nix-env to get confused between
+          # nix and nixStatic. This should be also achieved by moving the
+          # hostSuffix before the version, so we could contemplate removing
+          # it again.
+          staticMarker = lib.optionalString stdenv.hostPlatform.isStatic "-static";
+        in
+          if attrs ? name
+          then attrs.name + hostSuffix
+          else "${attrs.pname}${staticMarker}${hostSuffix}-${attrs.version}";
+    }) // {
+      builder = attrs.realBuilder or stdenv.shell;
+      args = attrs.args or ["-e" (attrs.builder or ./default-builder.sh)];
+      inherit stdenv;
+
+      # The `system` attribute of a derivation has special meaning to Nix.
+      # Derivations set it to choose what sort of machine could be used to
+      # execute the build, The build platform entirely determines this,
+      # indeed more finely than Nix knows or cares about. The `system`
+      # attribute of `buildPlatfom` matches Nix's degree of specificity.
+      # exactly.
+      inherit (stdenv.buildPlatform) system;
+
+      userHook = config.stdenv.userHook or null;
+      __ignoreNulls = true;
+
+      inherit strictDeps;
+
+      depsBuildBuild              = lib.elemAt (lib.elemAt dependencies 0) 0;
+      nativeBuildInputs           = lib.elemAt (lib.elemAt dependencies 0) 1;
+      depsBuildTarget             = lib.elemAt (lib.elemAt dependencies 0) 2;
+      depsHostHost                = lib.elemAt (lib.elemAt dependencies 1) 0;
+      buildInputs                 = lib.elemAt (lib.elemAt dependencies 1) 1;
+      depsTargetTarget            = lib.elemAt (lib.elemAt dependencies 2) 0;
+
+      depsBuildBuildPropagated    = lib.elemAt (lib.elemAt propagatedDependencies 0) 0;
+      propagatedNativeBuildInputs = lib.elemAt (lib.elemAt propagatedDependencies 0) 1;
+      depsBuildTargetPropagated   = lib.elemAt (lib.elemAt propagatedDependencies 0) 2;
+      depsHostHostPropagated      = lib.elemAt (lib.elemAt propagatedDependencies 1) 0;
+      propagatedBuildInputs       = lib.elemAt (lib.elemAt propagatedDependencies 1) 1;
+      depsTargetTargetPropagated  = lib.elemAt (lib.elemAt propagatedDependencies 2) 0;
+
+      # This parameter is sometimes a string, sometimes null, and sometimes a list, yuck
+      configureFlags = let inherit (lib) optional elem; in
+        (/**/ if lib.isString configureFlags then [configureFlags]
+         else if configureFlags == null      then []
+         else                                     configureFlags)
+        ++ optional (elem "build"  configurePlatforms) "--build=${stdenv.buildPlatform.config}"
+        ++ optional (elem "host"   configurePlatforms) "--host=${stdenv.hostPlatform.config}"
+        ++ optional (elem "target" configurePlatforms) "--target=${stdenv.targetPlatform.config}";
+
+      inherit patches;
+
+      inherit doCheck doInstallCheck;
+
+      inherit outputs;
+    } // lib.optionalAttrs (__contentAddressed) {
+      inherit __contentAddressed;
+      # Provide default values for outputHashMode and outputHashAlgo because
+      # most people won't care about these anyways
+      outputHashAlgo = attrs.outputHashAlgo or "sha256";
+      outputHashMode = attrs.outputHashMode or "recursive";
+    } // lib.optionalAttrs (stdenv.hostPlatform != stdenv.buildPlatform) {
+      cmakeFlags =
+        (/**/ if lib.isString cmakeFlags then [cmakeFlags]
+         else if cmakeFlags == null      then []
+         else                                     cmakeFlags)
+      ++ [ "-DCMAKE_SYSTEM_NAME=${lib.findFirst lib.isString "Generic" (
+           lib.optional (!stdenv.hostPlatform.isRedox) stdenv.hostPlatform.uname.system)}"]
+      ++ lib.optional (stdenv.hostPlatform.uname.processor != null) "-DCMAKE_SYSTEM_PROCESSOR=${stdenv.hostPlatform.uname.processor}"
+      ++ lib.optional (stdenv.hostPlatform.uname.release != null) "-DCMAKE_SYSTEM_VERSION=${stdenv.hostPlatform.release}"
+      ++ lib.optional (stdenv.hostPlatform.isDarwin) "-DCMAKE_OSX_ARCHITECTURES=${stdenv.hostPlatform.darwinArch}"
+      ++ lib.optional (stdenv.buildPlatform.uname.system != null) "-DCMAKE_HOST_SYSTEM_NAME=${stdenv.buildPlatform.uname.system}"
+      ++ lib.optional (stdenv.buildPlatform.uname.processor != null) "-DCMAKE_HOST_SYSTEM_PROCESSOR=${stdenv.buildPlatform.uname.processor}"
+      ++ lib.optional (stdenv.buildPlatform.uname.release != null) "-DCMAKE_HOST_SYSTEM_VERSION=${stdenv.buildPlatform.uname.release}";
+
+      mesonFlags = if mesonFlags == null then null else let
+        # See https://mesonbuild.com/Reference-tables.html#cpu-families
+        cpuFamily = platform: with platform;
+          /**/ if isAarch32 then "arm"
+          else if isAarch64 then "aarch64"
+          else if isx86_32  then "x86"
+          else if isx86_64  then "x86_64"
+          else platform.parsed.cpu.family + builtins.toString platform.parsed.cpu.bits;
+        crossFile = builtins.toFile "cross-file.conf" ''
+          [properties]
+          needs_exe_wrapper = true
+
+          [host_machine]
+          system = '${stdenv.targetPlatform.parsed.kernel.name}'
+          cpu_family = '${cpuFamily stdenv.targetPlatform}'
+          cpu = '${stdenv.targetPlatform.parsed.cpu.name}'
+          endian = ${if stdenv.targetPlatform.isLittleEndian then "'little'" else "'big'"}
+        '';
+      in [ "--cross-file=${crossFile}" ] ++ mesonFlags;
+    } // lib.optionalAttrs (attrs.enableParallelBuilding or false) {
+      enableParallelChecking = attrs.enableParallelChecking or true;
+    } // lib.optionalAttrs (hardeningDisable != [] || hardeningEnable != [] || stdenv.hostPlatform.isMusl) {
+      NIX_HARDENING_ENABLE = enabledHardeningOptions;
+    } // lib.optionalAttrs (stdenv.hostPlatform.isx86_64 && stdenv.hostPlatform ? gcc.arch) {
+      requiredSystemFeatures = attrs.requiredSystemFeatures or [] ++ [ "gccarch-${stdenv.hostPlatform.gcc.arch}" ];
+    } // lib.optionalAttrs (stdenv.buildPlatform.isDarwin) {
+      inherit __darwinAllowLocalNetworking;
+      # TODO: remove lib.unique once nix has a list canonicalization primitive
+      __sandboxProfile =
+      let profiles = [ stdenv.extraSandboxProfile ] ++ computedSandboxProfile ++ computedPropagatedSandboxProfile ++ [ propagatedSandboxProfile sandboxProfile ];
+          final = lib.concatStringsSep "\n" (lib.filter (x: x != "") (lib.unique profiles));
+      in final;
+      __propagatedSandboxProfile = lib.unique (computedPropagatedSandboxProfile ++ [ propagatedSandboxProfile ]);
+      __impureHostDeps = computedImpureHostDeps ++ computedPropagatedImpureHostDeps ++ __propagatedImpureHostDeps ++ __impureHostDeps ++ stdenv.__extraImpureHostDeps ++ [
+        "/dev/zero"
+        "/dev/random"
+        "/dev/urandom"
+        "/bin/sh"
+      ];
+      __propagatedImpureHostDeps = computedPropagatedImpureHostDeps ++ __propagatedImpureHostDeps;
+    };
+
+  validity = checkMeta { inherit meta attrs; };
+
+  # The meta attribute is passed in the resulting attribute set,
+  # but it's not part of the actual derivation, i.e., it's not
+  # 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 = attrs.name or "${attrs.pname}-${attrs.version}";
+
+      # If the packager hasn't specified `outputsToInstall`, choose a default,
+      # which is the name of `p.bin or p.out or p` along with `p.man` when
+      # present.
+      #
+      # If the packager has specified it, it will be overridden below in
+      # `// meta`.
+      #
+      #   Note: This default probably shouldn't be globally configurable.
+      #   Services and users should specify outputs explicitly,
+      #   unless they are comfortable with this default.
+      outputsToInstall =
+        let
+          hasOutput = out: builtins.elem out outputs;
+        in [( lib.findFirst hasOutput null (["bin" "out"] ++ outputs) )]
+          ++ lib.optional (hasOutput "man") "man";
+    }
+    // attrs.meta or {}
+    # Fill `meta.position` to identify the source location of the package.
+    // lib.optionalAttrs (pos != null) {
+      position = pos.file + ":" + toString pos.line;
+    } // {
+      # Expose the result of the checks for everyone to see.
+      inherit (validity) unfree broken unsupported insecure;
+      available = validity.valid
+               && (if config.checkMetaRecursively or false
+                   then lib.all (d: d.meta.available or true) references
+                   else true);
+    };
+
+in
+
+lib.extendDerivation
+  validity.handled
+  ({
+     overrideAttrs = f: stdenv.mkDerivation (attrs // (f attrs));
+
+     # A derivation that always builds successfully and whose runtime
+     # dependencies are the original derivations build time dependencies
+     # This allows easy building and distributing of all derivations
+     # needed to enter a nix-shell with
+     #   nix-build shell.nix -A inputDerivation
+     inputDerivation = derivation (derivationArg // {
+       # Add a name in case the original drv didn't have one
+       name = derivationArg.name or "inputDerivation";
+       # This always only has one output
+       outputs = [ "out" ];
+
+       # Propagate the original builder and arguments, since we override
+       # them and they might contain references to build inputs
+       _derivation_original_builder = derivationArg.builder;
+       _derivation_original_args = derivationArg.args;
+
+       builder = stdenv.shell;
+       # The bash builtin `export` dumps all current environment variables,
+       # which is where all build input references end up (e.g. $PATH for
+       # binaries). By writing this to $out, Nix can find and register
+       # them as runtime dependencies (since Nix greps for store paths
+       # through $out to find them)
+       args = [ "-c" "export > $out" ];
+     });
+
+     inherit meta passthru;
+   } //
+   # Pass through extra attributes that are not inputs, but
+   # should be made available to Nix expressions using the
+   # derivation (e.g., in assertions).
+   passthru)
+  (derivation derivationArg)
diff --git a/nixpkgs/pkgs/stdenv/generic/setup.sh b/nixpkgs/pkgs/stdenv/generic/setup.sh
index 066ef6ed9eb3..ec5a5e6dcb9d 100644
--- a/nixpkgs/pkgs/stdenv/generic/setup.sh
+++ b/nixpkgs/pkgs/stdenv/generic/setup.sh
@@ -487,7 +487,7 @@ activatePackage() {
     # build platform are included here. That would be `depsBuild*`,
     # and legacy `nativeBuildInputs`, in general. If we aren't cross
     # compiling, however, everything can be put on the PATH. To ease
-    # the transition, we do include everything in thatcase.
+    # the transition, we do include everything in that case.
     #
     # TODO(@Ericson2314): Don't special-case native compilation
     if [[ -z "${strictDeps-}" || "$hostOffset" -le -1 ]]; then
@@ -975,6 +975,7 @@ configurePhase() {
     fi
 
     if [ -z "${dontFixLibtool:-}" ]; then
+        export lt_cv_deplibs_check_method="${lt_cv_deplibs_check_method-pass_all}"
         local i
         find . -iname "ltmain.sh" -print0 | while IFS='' read -r -d '' i; do
             echo "fixing libtool script $i"
diff --git a/nixpkgs/pkgs/test/cuda/cuda-library-samples/generic.nix b/nixpkgs/pkgs/test/cuda/cuda-library-samples/generic.nix
index f1ce243bfa6a..350decef22dc 100644
--- a/nixpkgs/pkgs/test/cuda/cuda-library-samples/generic.nix
+++ b/nixpkgs/pkgs/test/cuda/cuda-library-samples/generic.nix
@@ -16,7 +16,6 @@ let
     version = lib.strings.substring 0 7 rev + "-" + lib.versions.majorMinor cudatoolkit.version;
     nativeBuildInputs = [ cmake addOpenGLRunpath ];
     buildInputs = [ cudatoolkit ];
-    enableParallelBuilding = true;
     postFixup = ''
       for exe in $out/bin/*; do
         addOpenGLRunpath $exe
diff --git a/nixpkgs/pkgs/test/texlive/default.nix b/nixpkgs/pkgs/test/texlive/default.nix
index 2444334f5268..217a862e1c56 100644
--- a/nixpkgs/pkgs/test/texlive/default.nix
+++ b/nixpkgs/pkgs/test/texlive/default.nix
@@ -1,7 +1,7 @@
-{ lib, runCommandNoCC, fetchurl, file, texlive, writeShellScript }:
+{ lib, runCommand, fetchurl, file, texlive, writeShellScript }:
 
 {
-  chktex = runCommandNoCC "texlive-test-chktex" {
+  chktex = runCommand "texlive-test-chktex" {
     nativeBuildInputs = [
       (with texlive; combine { inherit scheme-infraonly chktex; })
     ];
@@ -18,7 +18,7 @@
 
   dvipng = lib.recurseIntoAttrs {
     # https://github.com/NixOS/nixpkgs/issues/75605
-    basic = runCommandNoCC "texlive-test-dvipng-basic" {
+    basic = runCommand "texlive-test-dvipng-basic" {
       nativeBuildInputs = [ file texlive.combined.scheme-medium ];
       input = fetchurl {
         name = "test_dvipng.tex";
@@ -40,7 +40,7 @@
     '';
 
     # test dvipng's limited capability to render postscript specials via GS
-    ghostscript = runCommandNoCC "texlive-test-ghostscript" {
+    ghostscript = runCommand "texlive-test-ghostscript" {
       nativeBuildInputs = [ file (with texlive; combine { inherit scheme-small dvipng; }) ];
       input = builtins.toFile "postscript-sample.tex" ''
         \documentclass{minimal}
@@ -81,7 +81,7 @@
   };
 
   # https://github.com/NixOS/nixpkgs/issues/75070
-  dvisvgm = runCommandNoCC "texlive-test-dvisvgm" {
+  dvisvgm = runCommand "texlive-test-dvisvgm" {
     nativeBuildInputs = [ file texlive.combined.scheme-medium ];
     input = builtins.toFile "dvisvgm-sample.tex" ''
       \documentclass{article}
@@ -106,7 +106,7 @@
     mv document*.svg "$out"/
   '';
 
-  texdoc = runCommandNoCC "texlive-test-texdoc" {
+  texdoc = runCommand "texlive-test-texdoc" {
     nativeBuildInputs = [
       (with texlive; combine {
         inherit scheme-infraonly luatex texdoc;
@@ -121,7 +121,7 @@
   '';
 
   # test that language files are generated as expected
-  hyphen-base = runCommandNoCC "texlive-test-hyphen-base" {
+  hyphen-base = runCommand "texlive-test-hyphen-base" {
     hyphenBase = lib.head texlive.hyphen-base.pkgs;
     schemeFull = texlive.combined.scheme-full;
     schemeInfraOnly = texlive.combined.scheme-infraonly;
@@ -154,7 +154,7 @@
   '';
 
   # test that fmtutil.cnf is fully regenerated on scheme-full
-  fmtutilCnf = runCommandNoCC "texlive-test-fmtutil.cnf" {
+  fmtutilCnf = runCommand "texlive-test-fmtutil.cnf" {
     kpathsea = lib.head texlive.kpathsea.pkgs;
     schemeFull = texlive.combined.scheme-full;
   } ''
diff --git a/nixpkgs/pkgs/tools/X11/arandr/default.nix b/nixpkgs/pkgs/tools/X11/arandr/default.nix
index e6f4b5f6ff19..4e4146a55994 100644
--- a/nixpkgs/pkgs/tools/X11/arandr/default.nix
+++ b/nixpkgs/pkgs/tools/X11/arandr/default.nix
@@ -32,7 +32,7 @@ in buildPythonApplication rec {
   propagatedBuildInputs = [ xrandr pygobject3 ];
 
   meta = {
-    homepage = "http://christian.amsuess.com/tools/arandr/";
+    homepage = "https://christian.amsuess.com/tools/arandr/";
     description = "A simple visual front end for XRandR";
     license = lib.licenses.gpl3;
     maintainers = [ lib.maintainers.domenkozar ];
diff --git a/nixpkgs/pkgs/tools/X11/ckbcomp/default.nix b/nixpkgs/pkgs/tools/X11/ckbcomp/default.nix
index 471dc80979ab..06f87f0a7ae7 100644
--- a/nixpkgs/pkgs/tools/X11/ckbcomp/default.nix
+++ b/nixpkgs/pkgs/tools/X11/ckbcomp/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "ckbcomp";
-  version = "1.199";
+  version = "1.205";
 
   src = fetchFromGitLab {
     domain = "salsa.debian.org";
     owner = "installer-team";
     repo = "console-setup";
     rev = version;
-    sha256 = "0jvnxmqhfmj4aywskr2bk1q5p5fl8s4k4bch89965vcwi9bplalf";
+    sha256 = "sha256-agE+Bspw1JL1R1HvNeWW4xr2m0+H83f/9jk6EjQwxWk=";
   };
 
   buildInputs = [ perl ];
diff --git a/nixpkgs/pkgs/tools/X11/imwheel/default.nix b/nixpkgs/pkgs/tools/X11/imwheel/default.nix
index 27a545a95cdb..7aa8a6cba6a7 100644
--- a/nixpkgs/pkgs/tools/X11/imwheel/default.nix
+++ b/nixpkgs/pkgs/tools/X11/imwheel/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, libX11, libXext, libXi, libXmu, libXt, libXtst }:
 
 stdenv.mkDerivation rec {
-  name = "imwheel-1.0.0pre12";
+  pname = "imwheel";
+  version = "1.0.0pre12";
 
   src = fetchurl {
-    url = "mirror://sourceforge/imwheel/${name}.tar.gz";
+    url = "mirror://sourceforge/imwheel/imwheel-${version}.tar.gz";
     sha256 = "2320ed019c95ca4d922968e1e1cbf0c075a914e865e3965d2bd694ca3d57cfe3";
   };
 
diff --git a/nixpkgs/pkgs/tools/X11/inputplug/default.nix b/nixpkgs/pkgs/tools/X11/inputplug/default.nix
new file mode 100644
index 000000000000..031b73994b62
--- /dev/null
+++ b/nixpkgs/pkgs/tools/X11/inputplug/default.nix
@@ -0,0 +1,35 @@
+{ fetchCrate
+, installShellFiles
+, lib
+, libbsd
+, pkg-config
+, rustPlatform
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "inputplug";
+  version = "0.4.0";
+
+  src = fetchCrate {
+    inherit pname version;
+    sha256 = "00gv2i2pxy56l6ysslbscxinr4r0mpk9p2ivkrnjnwhc8j3v8v7h";
+  };
+
+  nativeBuildInputs = [ installShellFiles pkg-config ];
+
+  buildInputs = [ libbsd ];
+
+  cargoSha256 = "161kz47d4psfvh0vm98k8qappg50lpsw1ybyy7s3g3bp6ivfz8jv";
+
+  postInstall = ''
+    installManPage inputplug.1
+  '';
+
+  meta = with lib; {
+    description = "Monitor XInput events and run arbitrary scripts on hierarchy change events";
+    homepage = "https://github.com/andrewshadura/inputplug";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jecaro ];
+  };
+}
+
diff --git a/nixpkgs/pkgs/tools/X11/keynav/default.nix b/nixpkgs/pkgs/tools/X11/keynav/default.nix
index 75b5bc2356a1..847d13315f8d 100644
--- a/nixpkgs/pkgs/tools/X11/keynav/default.nix
+++ b/nixpkgs/pkgs/tools/X11/keynav/default.nix
@@ -1,9 +1,23 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, libX11, xorgproto, libXtst, libXi, libXext
-, libXinerama, libXrandr, glib, cairo, xdotool }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, pkg-config
+, libX11
+, xorgproto
+, libXtst
+, libXi
+, libXext
+, libXinerama
+, libXrandr
+, glib
+, cairo
+, xdotool
+}:
 
 let release = "20180821"; in
 stdenv.mkDerivation {
-  name = "keynav-0.${release}.0";
+  pname = "keynav";
+  version = "0.${release}.0";
 
   src = fetchFromGitHub {
     owner = "jordansissel";
@@ -13,21 +27,30 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ libX11 xorgproto libXtst libXi libXext libXinerama libXrandr
-                  glib cairo xdotool ];
+  buildInputs = [
+    libX11
+    xorgproto
+    libXtst
+    libXi
+    libXext
+    libXinerama
+    libXrandr
+    glib
+    cairo
+    xdotool
+  ];
 
-  patchPhase = ''
+  postPatch = ''
     echo >>VERSION MAJOR=0
     echo >>VERSION RELEASE=${release}
     echo >>VERSION REVISION=0
   '';
 
-  installPhase =
-    ''
-      mkdir -p $out/bin $out/share/keynav/doc
-      cp keynav $out/bin
-      cp keynavrc $out/share/keynav/doc
-    '';
+  installPhase = ''
+    mkdir -p $out/bin $out/share/keynav/doc
+    cp keynav $out/bin
+    cp keynavrc $out/share/keynav/doc
+  '';
 
   meta = with lib; {
     description = "Generate X11 mouse clicks from keyboard";
diff --git a/nixpkgs/pkgs/tools/X11/ksuperkey/default.nix b/nixpkgs/pkgs/tools/X11/ksuperkey/default.nix
index 144841209304..8b77ae550300 100644
--- a/nixpkgs/pkgs/tools/X11/ksuperkey/default.nix
+++ b/nixpkgs/pkgs/tools/X11/ksuperkey/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     description = "A tool to be able to bind the super key as a key rather than a modifier";
     homepage = "https://github.com/hanschen/ksuperkey";
     license = licenses.gpl3;
-    maintainers = [ maintainers.vozz ];
+    maintainers = [ ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/opentabletdriver/deps.nix b/nixpkgs/pkgs/tools/X11/opentabletdriver/deps.nix
index 45ded855587a..33891b633829 100644
--- a/nixpkgs/pkgs/tools/X11/opentabletdriver/deps.nix
+++ b/nixpkgs/pkgs/tools/X11/opentabletdriver/deps.nix
@@ -1,462 +1,94 @@
 { fetchNuGet }: [
-  (fetchNuGet {
-    name = "AtkSharp";
-    version = "3.24.24.34";
-    sha256 = "1jn1vgi9xm0jp7769k6sbdi8d273kigjrsh93i6s4c03hqxv7cqs";
-  })
-  (fetchNuGet {
-    name = "CairoSharp";
-    version = "3.24.24.34";
-    sha256 = "0pydn1k0cam1gclg9sc1sbnmbyzh28qlc5qanyxcylwghink3kgz";
-  })
-  (fetchNuGet {
-    name = "Eto.Forms";
-    version = "2.5.10";
-    sha256 = "1d71wglk4ixfqfbm6sxmj753x5iwbar8i9zzjy3bh64fy1dn8lz7";
-  })
-  (fetchNuGet {
-    name = "Eto.Forms";
-    version = "2.5.11";
-    sha256 = "0h86jc19wy3ssj7pb34w1h02v92mg29gdipszwjs3y15piy66z3s";
-  })
-  (fetchNuGet {
-    name = "Eto.Platform.Gtk";
-    version = "2.5.11";
-    sha256 = "1s9njz7l9zghrbzli7lbiav5ss3glqf17npj07f3jldd933nb95j";
-  })
-  (fetchNuGet {
-    name = "GdkSharp";
-    version = "3.24.24.34";
-    sha256 = "0r0x0yib7chwsyrbpvicrfwldwqx5lyqq4p86zaxpmzd6zdaj0x5";
-  })
-  (fetchNuGet {
-    name = "GioSharp";
-    version = "3.24.24.34";
-    sha256 = "02hxvgjd4w9jpzbkk7qf9q9bkvyp5hfzwxfqp10vg5lpl9yl3xpx";
-  })
-  (fetchNuGet {
-    name = "GLibSharp";
-    version = "3.24.24.34";
-    sha256 = "0kvp033fgdwc8p2abfp5z9pzq66cvwbnjfvr4v4bkpy5s5h181kq";
-  })
-  (fetchNuGet {
-    name = "GtkSharp";
-    version = "3.24.24.34";
-    sha256 = "0028hzmmqyfx87qqmaf9cgb5psn7gkbmqvixcid67x1d6mzxjicb";
-  })
-  (fetchNuGet {
-    name = "HidSharpCore";
-    version = "1.2.1.1";
-    sha256 = "1zkndglmz0s8rblfhnqcvv90rkq2i7lf4bc380g7z8h1avf2ikll";
-  })
-  (fetchNuGet {
-    name = "MessagePack.Annotations";
-    version = "2.1.194";
-    sha256 = "1jkhq3hiy4brvzsywl4p4jb9jrnzs3vmgr3s8fxpb1dzafadw8b0";
-  })
-  (fetchNuGet {
-    name = "MessagePack";
-    version = "2.1.194";
-    sha256 = "1v2gyd9sd6hppfhlzngmzzhnpr39b95rwrqq0r9zzp480b6vzaj0";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Bcl.AsyncInterfaces";
-    version = "1.1.1";
-    sha256 = "0a1ahssqds2ympr7s4xcxv5y8jgxs7ahd6ah6fbgglj4rki1f1vw";
-  })
-  (fetchNuGet {
-    name = "Microsoft.CSharp";
-    version = "4.4.1";
-    sha256 = "0z6d1i6xcf0c00z6rs75rgw4ncs9q2m8amasf6mmbf40fm02ry7g";
-  })
-  (fetchNuGet {
-    name = "Microsoft.NETCore.Platforms";
-    version = "1.1.0";
-    sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm";
-  })
-  (fetchNuGet {
-    name = "Microsoft.NETCore.Platforms";
-    version = "1.1.1";
-    sha256 = "164wycgng4mi9zqi2pnsf1pq6gccbqvw6ib916mqizgjmd8f44pj";
-  })
-  (fetchNuGet {
-    name = "Microsoft.NETCore.Platforms";
-    version = "3.0.0";
-    sha256 = "1bk8r4r3ihmi6322jmcag14jmw11mjqys202azqjzglcx59pxh51";
-  })
-  (fetchNuGet {
-    name = "Microsoft.NETCore.Targets";
-    version = "1.1.0";
-    sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh";
-  })
-  (fetchNuGet {
-    name = "Microsoft.VisualStudio.Threading.Analyzers";
-    version = "16.7.56";
-    sha256 = "04v9df0k7bsc0rzgkw4mnvi43pdrh42vk6xdcwn9m6im33m0nnz2";
-  })
-  (fetchNuGet {
-    name = "Microsoft.VisualStudio.Threading";
-    version = "16.7.56";
-    sha256 = "13x0xrsjxd86clf9cjjwmpzlyp8pkrf13riya7igs8zy93zw2qap";
-  })
-  (fetchNuGet {
-    name = "Microsoft.VisualStudio.Validation";
-    version = "15.5.31";
-    sha256 = "1ah99rn922qa0sd2k3h64m324f2r32pw8cn4cfihgvwx4qdrpmgw";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Win32.Primitives";
-    version = "4.3.0";
-    sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Win32.Registry";
-    version = "4.6.0";
-    sha256 = "0i4y782yrqqyx85pg597m20gm0v126w0j9ddk5z7xb3crx4z9f2s";
-  })
-  (fetchNuGet {
-    name = "Nerdbank.Streams";
-    version = "2.6.77";
-    sha256 = "13dnfwxa8syx7vfjmd5pcrqz31k0q8y3mmh6yz6bmljhjri65q5c";
-  })
-  (fetchNuGet {
-    name = "Newtonsoft.Json";
-    version = "12.0.2";
-    sha256 = "0w2fbji1smd2y7x25qqibf1qrznmv4s6s0jvrbvr6alb7mfyqvh5";
-  })
-  (fetchNuGet {
-    name = "Octokit";
-    version = "0.50.0";
-    sha256 = "1ignj5i6a1c19qqrw00wlr9fdjmwrxkxz7gdxj0x653w84gbv7qq";
-  })
-  (fetchNuGet {
-    name = "PangoSharp";
-    version = "3.24.24.34";
-    sha256 = "1r0h14cklglfpv1lhv93cxmzi2w7d5s03gzpq3j5dmrz43flg9zw";
-  })
-  (fetchNuGet {
-    name = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl";
-    version = "4.3.2";
-    sha256 = "0rwpqngkqiapqc5c2cpkj7idhngrgss5qpnqg0yh40mbyflcxf8i";
-  })
-  (fetchNuGet {
-    name = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl";
-    version = "4.3.2";
-    sha256 = "1n06gxwlinhs0w7s8a94r1q3lwqzvynxwd3mp10ws9bg6gck8n4r";
-  })
-  (fetchNuGet {
-    name = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl";
-    version = "4.3.2";
-    sha256 = "0404wqrc7f2yc0wxv71y3nnybvqx8v4j9d47hlscxy759a525mc3";
-  })
-  (fetchNuGet {
-    name = "runtime.native.System.Net.Http";
-    version = "4.3.0";
-    sha256 = "1n6rgz5132lcibbch1qlf0g9jk60r0kqv087hxc0lisy50zpm7kk";
-  })
-  (fetchNuGet {
-    name = "runtime.native.System.Security.Cryptography.Apple";
-    version = "4.3.0";
-    sha256 = "1b61p6gw1m02cc1ry996fl49liiwky6181dzr873g9ds92zl326q";
-  })
-  (fetchNuGet {
-    name = "runtime.native.System.Security.Cryptography.OpenSsl";
-    version = "4.3.2";
-    sha256 = "0zy5r25jppz48i2bkg8b9lfig24xixg6nm3xyr1379zdnqnpm8f6";
-  })
-  (fetchNuGet {
-    name = "runtime.native.System";
-    version = "4.3.0";
-    sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4";
-  })
-  (fetchNuGet {
-    name = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl";
-    version = "4.3.2";
-    sha256 = "096ch4n4s8k82xga80lfmpimpzahd2ip1mgwdqgar0ywbbl6x438";
-  })
-  (fetchNuGet {
-    name = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl";
-    version = "4.3.2";
-    sha256 = "1dm8fifl7rf1gy7lnwln78ch4rw54g0pl5g1c189vawavll7p6rj";
-  })
-  (fetchNuGet {
-    name = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple";
-    version = "4.3.0";
-    sha256 = "10yc8jdrwgcl44b4g93f1ds76b176bajd3zqi2faf5rvh1vy9smi";
-  })
-  (fetchNuGet {
-    name = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl";
-    version = "4.3.2";
-    sha256 = "1m9z1k9kzva9n9kwinqxl97x2vgl79qhqjlv17k9s2ymcyv2bwr6";
-  })
-  (fetchNuGet {
-    name = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl";
-    version = "4.3.2";
-    sha256 = "1cpx56mcfxz7cpn57wvj18sjisvzq8b5vd9rw16ihd2i6mcp3wa1";
-  })
-  (fetchNuGet {
-    name = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl";
-    version = "4.3.2";
-    sha256 = "15gsm1a8jdmgmf8j5v1slfz8ks124nfdhk2vxs2rw3asrxalg8hi";
-  })
-  (fetchNuGet {
-    name = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl";
-    version = "4.3.2";
-    sha256 = "0q0n5q1r1wnqmr5i5idsrd9ywl33k0js4pngkwq9p368mbxp8x1w";
-  })
-  (fetchNuGet {
-    name = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl";
-    version = "4.3.2";
-    sha256 = "1x0g58pbpjrmj2x2qw17rdwwnrcl0wvim2hdwz48lixvwvp22n9c";
-  })
-  (fetchNuGet {
-    name = "SharpZipLib";
-    version = "1.3.1";
-    sha256 = "09zypjfils38143da507s5fi4hzvdlz32wfav219hksnpl35y8x0";
-  })
-  (fetchNuGet {
-    name = "StreamJsonRpc";
-    version = "2.6.121";
-    sha256 = "0xzvpk17w2skndzdg47j7gkrrvw6521db4mv8lc3v8hm97vs9m76";
-  })
-  (fetchNuGet {
-    name = "System.Collections.Concurrent";
-    version = "4.3.0";
-    sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8";
-  })
-  (fetchNuGet {
-    name = "System.Collections.Immutable";
-    version = "1.7.1";
-    sha256 = "1nh4nlxfc7lbnbl86wwk1a3jwl6myz5j6hvgh5sp4krim9901hsq";
-  })
-  (fetchNuGet {
-    name = "System.Collections";
-    version = "4.3.0";
-    sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9";
-  })
-  (fetchNuGet {
-    name = "System.CommandLine";
-    version = "2.0.0-beta1.20253.1";
-    sha256 = "16saf1fm9q80bb624fkqz0ksrwpnbw9617d7xg3jib7a2wgagm2r";
-  })
-  (fetchNuGet {
-    name = "System.ComponentModel.Annotations";
-    version = "4.7.0";
-    sha256 = "06x1m46ddxj0ng28d7gry9gjkqdg2kp89jyf480g5gznyybbs49z";
-  })
-  (fetchNuGet {
-    name = "System.Diagnostics.Debug";
-    version = "4.3.0";
-    sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y";
-  })
-  (fetchNuGet {
-    name = "System.Diagnostics.DiagnosticSource";
-    version = "4.3.0";
-    sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq";
-  })
-  (fetchNuGet {
-    name = "System.Diagnostics.Tracing";
-    version = "4.3.0";
-    sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4";
-  })
-  (fetchNuGet {
-    name = "System.Globalization.Calendars";
-    version = "4.3.0";
-    sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq";
-  })
-  (fetchNuGet {
-    name = "System.Globalization.Extensions";
-    version = "4.3.0";
-    sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls";
-  })
-  (fetchNuGet {
-    name = "System.Globalization";
-    version = "4.3.0";
-    sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki";
-  })
-  (fetchNuGet {
-    name = "System.IO.FileSystem.Primitives";
-    version = "4.3.0";
-    sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c";
-  })
-  (fetchNuGet {
-    name = "System.IO.FileSystem";
-    version = "4.3.0";
-    sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw";
-  })
-  (fetchNuGet {
-    name = "System.IO.Pipelines";
-    version = "4.7.2";
-    sha256 = "16v4qaypm72cfsfqr8z3k6yrpzn0m3apgkh6aljfwpycdk150sf9";
-  })
-  (fetchNuGet {
-    name = "System.IO";
-    version = "4.3.0";
-    sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f";
-  })
-  (fetchNuGet {
-    name = "System.Linq";
-    version = "4.3.0";
-    sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7";
-  })
-  (fetchNuGet {
-    name = "System.Memory";
-    version = "4.5.3";
-    sha256 = "0naqahm3wljxb5a911d37mwjqjdxv9l0b49p5dmfyijvni2ppy8a";
-  })
-  (fetchNuGet {
-    name = "System.Memory";
-    version = "4.5.4";
-    sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y";
-  })
-  (fetchNuGet {
-    name = "System.Net.Http";
-    version = "4.3.4";
-    sha256 = "0kdp31b8819v88l719j6my0yas6myv9d1viql3qz5577mv819jhl";
-  })
-  (fetchNuGet {
-    name = "System.Net.Primitives";
-    version = "4.3.0";
-    sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii";
-  })
-  (fetchNuGet {
-    name = "System.Net.WebSockets";
-    version = "4.3.0";
-    sha256 = "1gfj800078kggcgl0xyl00a6y5k4wwh2k2qm69rjy22wbmq7fy4p";
-  })
-  (fetchNuGet {
-    name = "System.Reflection.Emit.Lightweight";
-    version = "4.6.0";
-    sha256 = "0hry2k6b7kicg4zxnq0hhn0ys52711pxy7l9v5sp7gvp9cicwpgp";
-  })
-  (fetchNuGet {
-    name = "System.Reflection.Emit";
-    version = "4.7.0";
-    sha256 = "121l1z2ypwg02yz84dy6gr82phpys0njk7yask3sihgy214w43qp";
-  })
-  (fetchNuGet {
-    name = "System.Reflection.Primitives";
-    version = "4.3.0";
-    sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276";
-  })
-  (fetchNuGet {
-    name = "System.Reflection";
-    version = "4.3.0";
-    sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m";
-  })
-  (fetchNuGet {
-    name = "System.Resources.ResourceManager";
-    version = "4.3.0";
-    sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.CompilerServices.Unsafe";
-    version = "4.5.2";
-    sha256 = "1vz4275fjij8inf31np78hw50al8nqkngk04p3xv5n4fcmf1grgi";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.CompilerServices.Unsafe";
-    version = "4.7.1";
-    sha256 = "119br3pd85lq8zcgh4f60jzmv1g976q1kdgi3hvqdlhfbw6siz2j";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.Extensions";
-    version = "4.3.0";
-    sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.Handles";
-    version = "4.3.0";
-    sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.InteropServices";
-    version = "4.3.0";
-    sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.Numerics";
-    version = "4.3.0";
-    sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z";
-  })
-  (fetchNuGet {
-    name = "System.Runtime";
-    version = "4.3.0";
-    sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7";
-  })
-  (fetchNuGet {
-    name = "System.Security.AccessControl";
-    version = "4.6.0";
-    sha256 = "1wl1dyghi0qhpap1vgfhg2ybdyyhy9vc2a7dpm1xb30vfgmlkjmf";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.Algorithms";
-    version = "4.3.0";
-    sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.Cng";
-    version = "4.3.0";
-    sha256 = "1k468aswafdgf56ab6yrn7649kfqx2wm9aslywjam1hdmk5yypmv";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.Csp";
-    version = "4.3.0";
-    sha256 = "1x5wcrddf2s3hb8j78cry7yalca4lb5vfnkrysagbn6r9x6xvrx1";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.Encoding";
-    version = "4.3.0";
-    sha256 = "1jr6w70igqn07k5zs1ph6xja97hxnb3mqbspdrff6cvssgrixs32";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.OpenSsl";
-    version = "4.3.0";
-    sha256 = "0givpvvj8yc7gv4lhb6s1prq6p2c4147204a0wib89inqzd87gqc";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.Primitives";
-    version = "4.3.0";
-    sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.X509Certificates";
-    version = "4.3.0";
-    sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h";
-  })
-  (fetchNuGet {
-    name = "System.Security.Principal.Windows";
-    version = "4.6.0";
-    sha256 = "1jmfzfz1n8hp63s5lja5xxpzkinbp6g59l3km9h8avjiisdrg5wm";
-  })
-  (fetchNuGet {
-    name = "System.Text.Encoding";
-    version = "4.3.0";
-    sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr";
-  })
-  (fetchNuGet {
-    name = "System.Threading.Tasks.Dataflow";
-    version = "4.11.1";
-    sha256 = "09fbfsiay1xcbpvnq2j38b6mb2scvf0s8mpn78bcqsldidg7k2vw";
-  })
-  (fetchNuGet {
-    name = "System.Threading.Tasks.Extensions";
-    version = "4.5.4";
-    sha256 = "0y6ncasgfcgnjrhynaf0lwpkpkmv4a07sswwkwbwb5h7riisj153";
-  })
-  (fetchNuGet {
-    name = "System.Threading.Tasks";
-    version = "4.3.0";
-    sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7";
-  })
-  (fetchNuGet {
-    name = "System.Threading";
-    version = "4.3.0";
-    sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34";
-  })
-  (fetchNuGet {
-    name = "WaylandNET";
-    version = "0.2.0";
-    sha256 = "1qjpvra08vdqdw4j1gamz6451x5sd5r1j86lsvrl8akq4nymfr8k";
-  })
+  (fetchNuGet { name = "AtkSharp"; version = "3.24.24.34"; sha256 = "1jn1vgi9xm0jp7769k6sbdi8d273kigjrsh93i6s4c03hqxv7cqs"; })
+  (fetchNuGet { name = "CairoSharp"; version = "3.24.24.34"; sha256 = "0pydn1k0cam1gclg9sc1sbnmbyzh28qlc5qanyxcylwghink3kgz"; })
+  (fetchNuGet { name = "Eto.Forms"; version = "2.5.10"; sha256 = "1d71wglk4ixfqfbm6sxmj753x5iwbar8i9zzjy3bh64fy1dn8lz7"; })
+  (fetchNuGet { name = "Eto.Forms"; version = "2.5.11"; sha256 = "0h86jc19wy3ssj7pb34w1h02v92mg29gdipszwjs3y15piy66z3s"; })
+  (fetchNuGet { name = "Eto.Platform.Gtk"; version = "2.5.11"; sha256 = "1s9njz7l9zghrbzli7lbiav5ss3glqf17npj07f3jldd933nb95j"; })
+  (fetchNuGet { name = "GdkSharp"; version = "3.24.24.34"; sha256 = "0r0x0yib7chwsyrbpvicrfwldwqx5lyqq4p86zaxpmzd6zdaj0x5"; })
+  (fetchNuGet { name = "GioSharp"; version = "3.24.24.34"; sha256 = "02hxvgjd4w9jpzbkk7qf9q9bkvyp5hfzwxfqp10vg5lpl9yl3xpx"; })
+  (fetchNuGet { name = "GLibSharp"; version = "3.24.24.34"; sha256 = "0kvp033fgdwc8p2abfp5z9pzq66cvwbnjfvr4v4bkpy5s5h181kq"; })
+  (fetchNuGet { name = "GtkSharp"; version = "3.24.24.34"; sha256 = "0028hzmmqyfx87qqmaf9cgb5psn7gkbmqvixcid67x1d6mzxjicb"; })
+  (fetchNuGet { name = "HidSharpCore"; version = "1.2.1.1"; sha256 = "1zkndglmz0s8rblfhnqcvv90rkq2i7lf4bc380g7z8h1avf2ikll"; })
+  (fetchNuGet { name = "MessagePack"; version = "2.1.194"; sha256 = "1v2gyd9sd6hppfhlzngmzzhnpr39b95rwrqq0r9zzp480b6vzaj0"; })
+  (fetchNuGet { name = "MessagePack.Annotations"; version = "2.1.194"; sha256 = "1jkhq3hiy4brvzsywl4p4jb9jrnzs3vmgr3s8fxpb1dzafadw8b0"; })
+  (fetchNuGet { name = "Microsoft.Bcl.AsyncInterfaces"; version = "1.1.1"; sha256 = "0a1ahssqds2ympr7s4xcxv5y8jgxs7ahd6ah6fbgglj4rki1f1vw"; })
+  (fetchNuGet { name = "Microsoft.CSharp"; version = "4.4.1"; sha256 = "0z6d1i6xcf0c00z6rs75rgw4ncs9q2m8amasf6mmbf40fm02ry7g"; })
+  (fetchNuGet { name = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
+  (fetchNuGet { name = "Microsoft.NETCore.Platforms"; version = "1.1.1"; sha256 = "164wycgng4mi9zqi2pnsf1pq6gccbqvw6ib916mqizgjmd8f44pj"; })
+  (fetchNuGet { name = "Microsoft.NETCore.Platforms"; version = "3.0.0"; sha256 = "1bk8r4r3ihmi6322jmcag14jmw11mjqys202azqjzglcx59pxh51"; })
+  (fetchNuGet { name = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; })
+  (fetchNuGet { name = "Microsoft.VisualStudio.Threading"; version = "16.7.56"; sha256 = "13x0xrsjxd86clf9cjjwmpzlyp8pkrf13riya7igs8zy93zw2qap"; })
+  (fetchNuGet { name = "Microsoft.VisualStudio.Threading.Analyzers"; version = "16.7.56"; sha256 = "04v9df0k7bsc0rzgkw4mnvi43pdrh42vk6xdcwn9m6im33m0nnz2"; })
+  (fetchNuGet { name = "Microsoft.VisualStudio.Validation"; version = "15.5.31"; sha256 = "1ah99rn922qa0sd2k3h64m324f2r32pw8cn4cfihgvwx4qdrpmgw"; })
+  (fetchNuGet { name = "Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; })
+  (fetchNuGet { name = "Microsoft.Win32.Registry"; version = "4.6.0"; sha256 = "0i4y782yrqqyx85pg597m20gm0v126w0j9ddk5z7xb3crx4z9f2s"; })
+  (fetchNuGet { name = "Nerdbank.Streams"; version = "2.6.77"; sha256 = "13dnfwxa8syx7vfjmd5pcrqz31k0q8y3mmh6yz6bmljhjri65q5c"; })
+  (fetchNuGet { name = "Newtonsoft.Json"; version = "12.0.2"; sha256 = "0w2fbji1smd2y7x25qqibf1qrznmv4s6s0jvrbvr6alb7mfyqvh5"; })
+  (fetchNuGet { name = "Octokit"; version = "0.50.0"; sha256 = "1ignj5i6a1c19qqrw00wlr9fdjmwrxkxz7gdxj0x653w84gbv7qq"; })
+  (fetchNuGet { name = "PangoSharp"; version = "3.24.24.34"; sha256 = "1r0h14cklglfpv1lhv93cxmzi2w7d5s03gzpq3j5dmrz43flg9zw"; })
+  (fetchNuGet { name = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "0rwpqngkqiapqc5c2cpkj7idhngrgss5qpnqg0yh40mbyflcxf8i"; })
+  (fetchNuGet { name = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "1n06gxwlinhs0w7s8a94r1q3lwqzvynxwd3mp10ws9bg6gck8n4r"; })
+  (fetchNuGet { name = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "0404wqrc7f2yc0wxv71y3nnybvqx8v4j9d47hlscxy759a525mc3"; })
+  (fetchNuGet { name = "runtime.native.System"; version = "4.3.0"; sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4"; })
+  (fetchNuGet { name = "runtime.native.System.Net.Http"; version = "4.3.0"; sha256 = "1n6rgz5132lcibbch1qlf0g9jk60r0kqv087hxc0lisy50zpm7kk"; })
+  (fetchNuGet { name = "runtime.native.System.Security.Cryptography.Apple"; version = "4.3.0"; sha256 = "1b61p6gw1m02cc1ry996fl49liiwky6181dzr873g9ds92zl326q"; })
+  (fetchNuGet { name = "runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "0zy5r25jppz48i2bkg8b9lfig24xixg6nm3xyr1379zdnqnpm8f6"; })
+  (fetchNuGet { name = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "096ch4n4s8k82xga80lfmpimpzahd2ip1mgwdqgar0ywbbl6x438"; })
+  (fetchNuGet { name = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "1dm8fifl7rf1gy7lnwln78ch4rw54g0pl5g1c189vawavll7p6rj"; })
+  (fetchNuGet { name = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple"; version = "4.3.0"; sha256 = "10yc8jdrwgcl44b4g93f1ds76b176bajd3zqi2faf5rvh1vy9smi"; })
+  (fetchNuGet { name = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "1m9z1k9kzva9n9kwinqxl97x2vgl79qhqjlv17k9s2ymcyv2bwr6"; })
+  (fetchNuGet { name = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "1cpx56mcfxz7cpn57wvj18sjisvzq8b5vd9rw16ihd2i6mcp3wa1"; })
+  (fetchNuGet { name = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "15gsm1a8jdmgmf8j5v1slfz8ks124nfdhk2vxs2rw3asrxalg8hi"; })
+  (fetchNuGet { name = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "0q0n5q1r1wnqmr5i5idsrd9ywl33k0js4pngkwq9p368mbxp8x1w"; })
+  (fetchNuGet { name = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "1x0g58pbpjrmj2x2qw17rdwwnrcl0wvim2hdwz48lixvwvp22n9c"; })
+  (fetchNuGet { name = "SharpZipLib"; version = "1.3.1"; sha256 = "09zypjfils38143da507s5fi4hzvdlz32wfav219hksnpl35y8x0"; })
+  (fetchNuGet { name = "StreamJsonRpc"; version = "2.6.121"; sha256 = "0xzvpk17w2skndzdg47j7gkrrvw6521db4mv8lc3v8hm97vs9m76"; })
+  (fetchNuGet { name = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; })
+  (fetchNuGet { name = "System.Collections.Concurrent"; version = "4.3.0"; sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8"; })
+  (fetchNuGet { name = "System.Collections.Immutable"; version = "1.7.1"; sha256 = "1nh4nlxfc7lbnbl86wwk1a3jwl6myz5j6hvgh5sp4krim9901hsq"; })
+  (fetchNuGet { name = "System.CommandLine"; version = "2.0.0-beta1.20253.1"; sha256 = "16saf1fm9q80bb624fkqz0ksrwpnbw9617d7xg3jib7a2wgagm2r"; })
+  (fetchNuGet { name = "System.ComponentModel.Annotations"; version = "4.7.0"; sha256 = "06x1m46ddxj0ng28d7gry9gjkqdg2kp89jyf480g5gznyybbs49z"; })
+  (fetchNuGet { name = "System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; })
+  (fetchNuGet { name = "System.Diagnostics.DiagnosticSource"; version = "4.3.0"; sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq"; })
+  (fetchNuGet { name = "System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4"; })
+  (fetchNuGet { name = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; })
+  (fetchNuGet { name = "System.Globalization.Calendars"; version = "4.3.0"; sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq"; })
+  (fetchNuGet { name = "System.Globalization.Extensions"; version = "4.3.0"; sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls"; })
+  (fetchNuGet { name = "System.IO"; version = "4.3.0"; sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; })
+  (fetchNuGet { name = "System.IO.FileSystem"; version = "4.3.0"; sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw"; })
+  (fetchNuGet { name = "System.IO.FileSystem.Primitives"; version = "4.3.0"; sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; })
+  (fetchNuGet { name = "System.IO.Pipelines"; version = "4.7.2"; sha256 = "16v4qaypm72cfsfqr8z3k6yrpzn0m3apgkh6aljfwpycdk150sf9"; })
+  (fetchNuGet { name = "System.Linq"; version = "4.3.0"; sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; })
+  (fetchNuGet { name = "System.Memory"; version = "4.5.3"; sha256 = "0naqahm3wljxb5a911d37mwjqjdxv9l0b49p5dmfyijvni2ppy8a"; })
+  (fetchNuGet { name = "System.Memory"; version = "4.5.4"; sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y"; })
+  (fetchNuGet { name = "System.Net.Http"; version = "4.3.4"; sha256 = "0kdp31b8819v88l719j6my0yas6myv9d1viql3qz5577mv819jhl"; })
+  (fetchNuGet { name = "System.Net.Primitives"; version = "4.3.0"; sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii"; })
+  (fetchNuGet { name = "System.Net.WebSockets"; version = "4.3.0"; sha256 = "1gfj800078kggcgl0xyl00a6y5k4wwh2k2qm69rjy22wbmq7fy4p"; })
+  (fetchNuGet { name = "System.Reflection"; version = "4.3.0"; sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; })
+  (fetchNuGet { name = "System.Reflection.Emit"; version = "4.7.0"; sha256 = "121l1z2ypwg02yz84dy6gr82phpys0njk7yask3sihgy214w43qp"; })
+  (fetchNuGet { name = "System.Reflection.Emit.Lightweight"; version = "4.6.0"; sha256 = "0hry2k6b7kicg4zxnq0hhn0ys52711pxy7l9v5sp7gvp9cicwpgp"; })
+  (fetchNuGet { name = "System.Reflection.Primitives"; version = "4.3.0"; sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; })
+  (fetchNuGet { name = "System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; })
+  (fetchNuGet { name = "System.Runtime"; version = "4.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; })
+  (fetchNuGet { name = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.2"; sha256 = "1vz4275fjij8inf31np78hw50al8nqkngk04p3xv5n4fcmf1grgi"; })
+  (fetchNuGet { name = "System.Runtime.CompilerServices.Unsafe"; version = "4.7.1"; sha256 = "119br3pd85lq8zcgh4f60jzmv1g976q1kdgi3hvqdlhfbw6siz2j"; })
+  (fetchNuGet { name = "System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; })
+  (fetchNuGet { name = "System.Runtime.Handles"; version = "4.3.0"; sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; })
+  (fetchNuGet { name = "System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; })
+  (fetchNuGet { name = "System.Runtime.Numerics"; version = "4.3.0"; sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z"; })
+  (fetchNuGet { name = "System.Security.AccessControl"; version = "4.6.0"; sha256 = "1wl1dyghi0qhpap1vgfhg2ybdyyhy9vc2a7dpm1xb30vfgmlkjmf"; })
+  (fetchNuGet { name = "System.Security.Cryptography.Algorithms"; version = "4.3.0"; sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml"; })
+  (fetchNuGet { name = "System.Security.Cryptography.Cng"; version = "4.3.0"; sha256 = "1k468aswafdgf56ab6yrn7649kfqx2wm9aslywjam1hdmk5yypmv"; })
+  (fetchNuGet { name = "System.Security.Cryptography.Csp"; version = "4.3.0"; sha256 = "1x5wcrddf2s3hb8j78cry7yalca4lb5vfnkrysagbn6r9x6xvrx1"; })
+  (fetchNuGet { name = "System.Security.Cryptography.Encoding"; version = "4.3.0"; sha256 = "1jr6w70igqn07k5zs1ph6xja97hxnb3mqbspdrff6cvssgrixs32"; })
+  (fetchNuGet { name = "System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0givpvvj8yc7gv4lhb6s1prq6p2c4147204a0wib89inqzd87gqc"; })
+  (fetchNuGet { name = "System.Security.Cryptography.Primitives"; version = "4.3.0"; sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby"; })
+  (fetchNuGet { name = "System.Security.Cryptography.X509Certificates"; version = "4.3.0"; sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h"; })
+  (fetchNuGet { name = "System.Security.Principal.Windows"; version = "4.6.0"; sha256 = "1jmfzfz1n8hp63s5lja5xxpzkinbp6g59l3km9h8avjiisdrg5wm"; })
+  (fetchNuGet { name = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; })
+  (fetchNuGet { name = "System.Threading"; version = "4.3.0"; sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; })
+  (fetchNuGet { name = "System.Threading.Tasks"; version = "4.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; })
+  (fetchNuGet { name = "System.Threading.Tasks.Dataflow"; version = "4.11.1"; sha256 = "09fbfsiay1xcbpvnq2j38b6mb2scvf0s8mpn78bcqsldidg7k2vw"; })
+  (fetchNuGet { name = "System.Threading.Tasks.Extensions"; version = "4.5.4"; sha256 = "0y6ncasgfcgnjrhynaf0lwpkpkmv4a07sswwkwbwb5h7riisj153"; })
+  (fetchNuGet { name = "WaylandNET"; version = "0.2.0"; sha256 = "1qjpvra08vdqdw4j1gamz6451x5sd5r1j86lsvrl8akq4nymfr8k"; })
 ]
diff --git a/nixpkgs/pkgs/tools/X11/opentabletdriver/shell.nix b/nixpkgs/pkgs/tools/X11/opentabletdriver/shell.nix
index 4367d22e9df7..bb60dfd50397 100644
--- a/nixpkgs/pkgs/tools/X11/opentabletdriver/shell.nix
+++ b/nixpkgs/pkgs/tools/X11/opentabletdriver/shell.nix
@@ -5,6 +5,7 @@ with pkgs;
 mkShell {
   packages = [
     common-updater-scripts
+    nuget-to-nix
     curl
     dotnetCorePackages.sdk_5_0
     jq
diff --git a/nixpkgs/pkgs/tools/X11/opentabletdriver/update.sh b/nixpkgs/pkgs/tools/X11/opentabletdriver/update.sh
index 9944bb0b6dea..b73a5a4b7ca9 100755
--- a/nixpkgs/pkgs/tools/X11/opentabletdriver/update.sh
+++ b/nixpkgs/pkgs/tools/X11/opentabletdriver/update.sh
@@ -52,21 +52,7 @@ for project in OpenTabletDriver.{Console,Daemon,UX.Gtk}; do
     dotnet restore $project --configfile ./nuget_tmp.config
 done
 
-echo "{ fetchNuGet }: [" >"$deps_file"
-while read pkg_spec; do
-  { read pkg_name; read pkg_version; } < <(
-    # Build version part should be ignored: `3.0.0-beta2.20059.3+77df2220` -> `3.0.0-beta2.20059.3`
-    sed -nE 's/.*<id>([^<]*).*/\1/p; s/.*<version>([^<+]*).*/\1/p' "$pkg_spec")
-  pkg_sha256="$(nix-hash --type sha256 --flat --base32 "$(dirname "$pkg_spec")"/*.nupkg)"
-  cat >>"$deps_file" <<EOF
-  (fetchNuGet {
-    name = "$pkg_name";
-    version = "$pkg_version";
-    sha256 = "$pkg_sha256";
-  })
-EOF
-done < <(find ./nuget_tmp.packages -name '*.nuspec' | sort)
-echo "]" >>"$deps_file"
+nuget-to-nix ./nuget_tmp.packages > "$deps_file"
 
 popd
 rm -r "$src"
diff --git a/nixpkgs/pkgs/tools/X11/x2vnc/default.nix b/nixpkgs/pkgs/tools/X11/x2vnc/default.nix
index 10519128a9d8..ed4a83fc8de0 100644
--- a/nixpkgs/pkgs/tools/X11/x2vnc/default.nix
+++ b/nixpkgs/pkgs/tools/X11/x2vnc/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, xorg }:
 
-stdenv.mkDerivation {
-  name = "x2vnc-1.7.2";
+stdenv.mkDerivation rec {
+  pname = "x2vnc";
+  version = "1.7.2";
 
   src = fetchurl {
-    url = "https://fredrik.hubbe.net/x2vnc/x2vnc-1.7.2.tar.gz";
+    url = "https://fredrik.hubbe.net/x2vnc/x2vnc-${version}.tar.gz";
     sha256 = "00bh9j3m6snyd2fgnzhj5vlkj9ibh69gfny9bfzlxbnivb06s1yw";
   };
 
diff --git a/nixpkgs/pkgs/tools/X11/x2x/default.nix b/nixpkgs/pkgs/tools/X11/x2x/default.nix
index 01169e68f6e8..f473344ad38c 100644
--- a/nixpkgs/pkgs/tools/X11/x2x/default.nix
+++ b/nixpkgs/pkgs/tools/X11/x2x/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, imake, libX11, libXtst, libXext, gccmakedep }:
 
-stdenv.mkDerivation {
-  name = "x2x-1.27";
+stdenv.mkDerivation rec {
+  pname = "x2x";
+  version = "1.27";
 
   src = fetchurl {
-    url = "https://github.com/downloads/dottedmag/x2x/x2x-1.27.tar.gz";
+    url = "https://github.com/downloads/dottedmag/x2x/x2x-${version}.tar.gz";
     sha256 = "0dha0kn1lbc4as0wixsvk6bn4innv49z9a0sm5wlx4q1v0vzqzyj";
   };
 
diff --git a/nixpkgs/pkgs/tools/X11/xbrightness/default.nix b/nixpkgs/pkgs/tools/X11/xbrightness/default.nix
index 1bb95699f644..1445c60ccb19 100644
--- a/nixpkgs/pkgs/tools/X11/xbrightness/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xbrightness/default.nix
@@ -1,11 +1,12 @@
 { lib, stdenv, fetchurl, imake, gccmakedep
 , libX11, libXaw, libXext, libXmu, libXpm, libXxf86vm  }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
+  pname = "xbrightness";
+  version = "0.3-mika-akk";
 
-  name = "xbrightness-0.3-mika-akk";
   src = fetchurl {
-    url = "https://shallowsky.com/software/xbrightness/xbrightness-0.3-mika-akk.tar.gz";
+    url = "https://shallowsky.com/software/xbrightness/xbrightness-${version}.tar.gz";
     sha256 = "2564dbd393544657cdabe4cbf535d9cfb9abe8edddb1b8cdb1ed4d12f358626e";
   };
 
diff --git a/nixpkgs/pkgs/tools/X11/xcalib/default.nix b/nixpkgs/pkgs/tools/X11/xcalib/default.nix
index 78804d027917..09d5cde88fe6 100644
--- a/nixpkgs/pkgs/tools/X11/xcalib/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xcalib/default.nix
@@ -1,12 +1,13 @@
 { lib, stdenv, fetchFromGitHub, libX11, libXxf86vm, libXext, libXrandr }:
 
 stdenv.mkDerivation rec {
-  name = "xcalib-0.10";
+  pname = "xcalib";
+  version = "0.10";
 
   src = fetchFromGitHub {
     owner = "OpenICC";
     repo = "xcalib";
-    rev = "f95abc1a551d7c695a8b142c4d9d5035368d482d";
+    rev = version;
     sha256 = "05fzdjmhiafgi2jf0k41i3nm0837a78sb6yv59cwc23nla8g0bhr";
   };
 
diff --git a/nixpkgs/pkgs/tools/X11/xchainkeys/default.nix b/nixpkgs/pkgs/tools/X11/xchainkeys/default.nix
index 06428393b2a2..5c154f8a1116 100644
--- a/nixpkgs/pkgs/tools/X11/xchainkeys/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xchainkeys/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, libX11 }:
 
 stdenv.mkDerivation rec {
-  name = "xchainkeys-0.11";
+  pname = "xchainkeys";
+  version = "0.11";
 
   src = fetchurl {
-    url = "http://henning-bekel.de/download/xchainkeys/${name}.tar.gz";
+    url = "http://henning-bekel.de/download/xchainkeys/xchainkeys-${version}.tar.gz";
     sha256 = "1rpqs7h5krral08vqxwb0imy33z17v5llvrg5hy8hkl2ap7ya0mn";
   };
 
diff --git a/nixpkgs/pkgs/tools/X11/xdg-user-dirs/default.nix b/nixpkgs/pkgs/tools/X11/xdg-user-dirs/default.nix
index 991b9be22389..a5eb5e0ee0ad 100644
--- a/nixpkgs/pkgs/tools/X11/xdg-user-dirs/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xdg-user-dirs/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, libxslt, docbook_xsl, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "xdg-user-dirs-0.17";
+  pname = "xdg-user-dirs";
+  version = "0.17";
 
   src = fetchurl {
-    url = "https://user-dirs.freedesktop.org/releases/${name}.tar.gz";
+    url = "https://user-dirs.freedesktop.org/releases/xdg-user-dirs-${version}.tar.gz";
     sha256 = "13216b8rfkzak5k6bvpx6jvqv3cnbgpijnjwj8a8d3kq4cl0a1ra";
   };
 
diff --git a/nixpkgs/pkgs/tools/X11/xdotool/default.nix b/nixpkgs/pkgs/tools/X11/xdotool/default.nix
index 5779f5270f71..d917e54ec3fb 100644
--- a/nixpkgs/pkgs/tools/X11/xdotool/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xdotool/default.nix
@@ -1,16 +1,18 @@
-{ lib, stdenv, fetchurl, pkg-config, libX11, perl, libXtst, xorgproto, libXi, libXinerama, libxkbcommon }:
+{ lib, stdenv, fetchFromGitHub, pkg-config, libX11, perl, libXtst, xorgproto, libXi, libXinerama, libxkbcommon, libXext }:
 
 stdenv.mkDerivation rec {
   pname = "xdotool";
-  version = "3.20160805.1";
+  version = "3.20210804.2";
 
-  src = fetchurl {
-    url = "https://github.com/jordansissel/xdotool/releases/download/v${version}/xdotool-${version}.tar.gz";
-    sha256 = "1a6c1zr86zb53352yxv104l76l8x21gfl2bgw6h21iphxpv5zgim";
+  src = fetchFromGitHub {
+    owner = "jordansissel";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-7N5f/BFtq/m5MsXe7ZCTUTc1yp+JDJNRF1P9qB2l554=";
   };
 
   nativeBuildInputs = [ pkg-config perl ];
-  buildInputs = [ libX11 libXtst xorgproto libXi libXinerama libxkbcommon ];
+  buildInputs = [ libX11 libXtst xorgproto libXi libXinerama libxkbcommon libXext ];
 
   preBuild = ''
     mkdir -p $out/lib
diff --git a/nixpkgs/pkgs/tools/X11/xkbset/default.nix b/nixpkgs/pkgs/tools/X11/xkbset/default.nix
index 132b7a111220..645770f7e015 100644
--- a/nixpkgs/pkgs/tools/X11/xkbset/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xkbset/default.nix
@@ -1,11 +1,12 @@
 { lib, stdenv, fetchurl, perl, libX11 }:
 
 stdenv.mkDerivation rec {
-  name = "xkbset-0.5";
+  pname = "xkbset";
+  version = "0.6";
 
   src = fetchurl {
-    url = "http://faculty.missouri.edu/~stephen/software/xkbset/${name}.tar.gz";
-    sha256 = "01c2579495b39e00d870f50225c441888dc88021e9ee3b693a842dd72554d172";
+    url = "http://faculty.missouri.edu/~stephen/software/xkbset/xkbset-${version}.tar.gz";
+    sha256 = "sha256-rAMv7EnExPDyMY0/RhiXDFFBkbFC4GxRpmH+I0KlNaU=";
   };
 
   buildInputs = [ perl libX11 ];
diff --git a/nixpkgs/pkgs/tools/X11/xmagnify/default.nix b/nixpkgs/pkgs/tools/X11/xmagnify/default.nix
index b4df0f00342f..a9cb715be396 100644
--- a/nixpkgs/pkgs/tools/X11/xmagnify/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xmagnify/default.nix
@@ -1,12 +1,13 @@
 { lib, stdenv, fetchFromGitLab, libX11, xorgproto }:
 
-stdenv.mkDerivation {
-  name = "xmagnify-0.1.0";
+stdenv.mkDerivation rec {
+  pname = "xmagnify";
+  version = "0.1.0";
 
   src = fetchFromGitLab {
     owner = "amiloradovsky";
     repo = "magnify";
-    rev = "0.1.0";  # 56da280173e9d0bd7b3769e07ba485cb4db35869
+    rev = version;
     sha256 = "1ngnp5f5zl3v35vhbdyjpymy6mwrs0476fm5nd7dzkba7n841jdh";
   };
 
diff --git a/nixpkgs/pkgs/tools/X11/xosview2/default.nix b/nixpkgs/pkgs/tools/X11/xosview2/default.nix
index fbee1e0ef647..771cc772d719 100644
--- a/nixpkgs/pkgs/tools/X11/xosview2/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xosview2/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "xosview2";
-  version = "2.3.1";
+  version = "2.3.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/xosview/${pname}-${version}.tar.gz";
-    sha256 = "1drp0n6qjbxyc0104a3aw2g94rh5p218wmrqwxh3kwwm7pmr9xip";
+    sha256 = "sha256-ex1GDBgx9Zzx5tOkZ2IRYskmBh/bUYpRTXHWRoE30vA=";
   };
 
   # The software failed to buid with this enabled; it seemed tests were not implemented
diff --git a/nixpkgs/pkgs/tools/X11/xplugd/default.nix b/nixpkgs/pkgs/tools/X11/xplugd/default.nix
new file mode 100644
index 000000000000..aa07c7f37b1b
--- /dev/null
+++ b/nixpkgs/pkgs/tools/X11/xplugd/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, stdenv
+, xorg
+, pkg-config
+, fetchFromGitHub
+, autoreconfHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "xplugd";
+  version = "1.4";
+
+  src = fetchFromGitHub {
+    owner = "troglobit";
+    repo = "xplugd";
+    rev = "v${version}";
+    sha256 = "11vjr69prrs4ir9c267zwq4g9liipzrqi0kmw1zg95dbn7r7zmql";
+  };
+
+  buildInputs = with xorg; [ libX11 libXi libXrandr libXext ];
+  nativeBuildInputs = [ pkg-config autoreconfHook ];
+
+  meta = with lib; {
+    homepage = "https://github.com/troglobit/xplugd";
+    description = "A UNIX daemon that executes a script on X input and RandR changes";
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ akho ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/X11/xrestop/default.nix b/nixpkgs/pkgs/tools/X11/xrestop/default.nix
index e2b87e7380c1..dd3766160c01 100644
--- a/nixpkgs/pkgs/tools/X11/xrestop/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xrestop/default.nix
@@ -1,19 +1,22 @@
 { lib, stdenv, fetchurl, xorg, pkg-config, ncurses }:
-stdenv.mkDerivation {
 
+stdenv.mkDerivation rec {
   pname = "xrestop";
-  version = "0.4";
+  version = "0.5";
 
   src = fetchurl {
-    url = "mirror://gentoo/distfiles/xrestop-0.4.tar.gz";
-    sha256 = "0mz27jpij8am1s32i63mdm58znfijcpfhdqq1npbmvgclyagrhk7";
+    url = "https://xorg.freedesktop.org/archive/individual/app/xrestop-${version}.tar.bz2";
+    sha256 = "06ym32famav8qhdms5k7y5i14nfq89hhvfn5g452jjqzkpcsbl49";
   };
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ xorg.libX11 xorg.libXres xorg.libXext ncurses ];
 
-  meta = {
-    platforms = lib.platforms.unix;
-    license = lib.licenses.gpl2;
+  meta = with lib; {
+    description = "A 'top' like tool for monitoring X Client server resource usage";
+    homepage = "https://gitlab.freedesktop.org/xorg/app/xrestop";
+    maintainers = with maintainers; [ qyliss ];
+    platforms = platforms.unix;
+    license = licenses.gpl2Plus;
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/xwallpaper/default.nix b/nixpkgs/pkgs/tools/X11/xwallpaper/default.nix
index d99a6ec8dac5..a05ef18dc994 100644
--- a/nixpkgs/pkgs/tools/X11/xwallpaper/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xwallpaper/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xwallpaper";
-  version = "0.7.0";
+  version = "0.7.3";
 
   src = fetchFromGitHub {
     owner = "stoeckmann";
     repo = "xwallpaper";
     rev = "v${version}";
-    sha256 = "1bpymspnllbscha8j9y67w9ck2l6yv66zdbknv8s13hz5qi1ishk";
+    sha256 = "sha256-O4VynpP3VJY/p6+NLUuKetwoMfbp93aXTiRoQJkgW+c=";
   };
 
   nativeBuildInputs = [ pkg-config autoreconfHook installShellFiles ];
diff --git a/nixpkgs/pkgs/tools/admin/acme.sh/default.nix b/nixpkgs/pkgs/tools/admin/acme.sh/default.nix
index 83d4387bd359..efa565bc3e70 100644
--- a/nixpkgs/pkgs/tools/admin/acme.sh/default.nix
+++ b/nixpkgs/pkgs/tools/admin/acme.sh/default.nix
@@ -2,13 +2,13 @@
   unixtools, dnsutils, coreutils, gnugrep, gnused }:
 stdenv.mkDerivation rec {
   pname = "acme.sh";
-  version = "2.9.0";
+  version = "3.0.0";
 
   src = fetchFromGitHub {
     owner = "Neilpang";
     repo = "acme.sh";
     rev = version;
-    sha256 = "sha256-BSKqfj8idpE4OV8/EJkCFo5i1vq/aEde/moqJcwuDvk=";
+    sha256 = "sha256-KWSDAHzvNl8Iao13OV/ExRoKqkc9nouWim+bAN1V+Jo=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/tools/admin/afterburn/default.nix b/nixpkgs/pkgs/tools/admin/afterburn/default.nix
index 7b522dd93b80..0126d68ed2d0 100644
--- a/nixpkgs/pkgs/tools/admin/afterburn/default.nix
+++ b/nixpkgs/pkgs/tools/admin/afterburn/default.nix
@@ -2,21 +2,21 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "afterburn";
-  version = "5.0.0";
+  version = "5.1.0";
 
   src = fetchFromGitHub {
     owner = "coreos";
     repo = "afterburn";
     rev = "v${version}";
-    sha256 = "sha256-sdgAZuT8bIX4eWN7nLNNyclxazmCBr5kDFS6s6cRXVU=";
+    sha256 = "sha256-5dzgvoR6qGlVz0RJ1j9B4yna1aCbOczVLcU++GWNEL8=";
   };
 
-  cargoSha256 = "sha256-IzcaaQjge2z49XwyFcPHX/AMjvrbcOLw0J1qBzHw7Is=";
+  cargoSha256 = "sha256-cqipYIH/XHMe7ppsXPVnDfsUqXoIep7CHiOGEPbZK4M=";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ openssl ];
 
-  patchPhase = ''
+  postPatch = ''
     substituteInPlace ./systemd/afterburn-checkin.service --replace /usr/bin $out/bin
     substituteInPlace ./systemd/afterburn-firstboot-checkin.service --replace /usr/bin $out/bin
     substituteInPlace ./systemd/afterburn-sshkeys@.service.in --replace /usr/bin $out/bin
diff --git a/nixpkgs/pkgs/tools/admin/aws-vault/default.nix b/nixpkgs/pkgs/tools/admin/aws-vault/default.nix
index c17160152817..afc493c3b6a1 100644
--- a/nixpkgs/pkgs/tools/admin/aws-vault/default.nix
+++ b/nixpkgs/pkgs/tools/admin/aws-vault/default.nix
@@ -34,10 +34,9 @@ buildGoModule rec {
   subPackages = [ "." ];
 
   # set the version. see: aws-vault's Makefile
-  buildFlagsArray = ''
-    -ldflags=
-    -X main.Version=v${version}
-  '';
+  ldflags = [
+    "-X main.Version=v${version}"
+  ];
 
   doInstallCheck = true;
 
diff --git a/nixpkgs/pkgs/tools/admin/awscli2/default.nix b/nixpkgs/pkgs/tools/admin/awscli2/default.nix
index d84c1816fec4..0c5d08fd25c5 100644
--- a/nixpkgs/pkgs/tools/admin/awscli2/default.nix
+++ b/nixpkgs/pkgs/tools/admin/awscli2/default.nix
@@ -3,15 +3,16 @@ let
   py = python3.override {
     packageOverrides = self: super: {
       botocore = super.botocore.overridePythonAttrs (oldAttrs: rec {
-        version = "2.0.0dev122";
+        version = "2.0.0dev138";
         src = fetchFromGitHub {
           owner = "boto";
           repo = "botocore";
-          rev = "8dd916418c8193f56226b7772f263b2435eae27a";
-          sha256 = "sha256-iAZmqnffqrmFuxlQyOpEQzSCcL/hRAjuXKulOXoy4hY=";
+          rev = "5f1971d2d9d2cf7090a8b71650ab40712319bca3";
+          sha256 = "sha256-onptN++MDJrit3sIEXCX9oRJ0qQ5xzmI6J2iABiK7RA";
         };
+        propagatedBuildInputs = super.botocore.propagatedBuildInputs ++ [py.pkgs.awscrt];
       });
-      prompt_toolkit = super.prompt_toolkit.overridePythonAttrs (oldAttrs: rec {
+      prompt-toolkit = super.prompt-toolkit.overridePythonAttrs (oldAttrs: rec {
         version = "2.0.10";
         src = oldAttrs.src.override {
           inherit version;
@@ -24,13 +25,13 @@ let
 in
 with py.pkgs; buildPythonApplication rec {
   pname = "awscli2";
-  version = "2.2.14"; # N.B: if you change this, change botocore to a matching version too
+  version = "2.2.30"; # N.B: if you change this, change botocore to a matching version too
 
   src = fetchFromGitHub {
     owner = "aws";
     repo = "aws-cli";
     rev = version;
-    sha256 = "sha256-LU9Tqzdi8ULZ5y3FbfSXdrip4NcxFkXRCTpVGo05LcM=";
+    sha256 = "sha256-OPxo5RjdDCTPntiJInUtgcU43Nn5JEUbwRJXeBl/yYQ";
   };
 
   patches = [
@@ -42,7 +43,7 @@ with py.pkgs; buildPythonApplication rec {
 
   postPatch = ''
     substituteInPlace setup.py \
-      --replace "awscrt==0.11.13" "awscrt" \
+      --replace "awscrt==0.11.24" "awscrt" \
       --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" \
@@ -62,7 +63,7 @@ with py.pkgs; buildPythonApplication rec {
     docutils
     groff
     less
-    prompt_toolkit
+    prompt-toolkit
     pyyaml
     rsa
     ruamel_yaml
diff --git a/nixpkgs/pkgs/tools/admin/awsweeper/default.nix b/nixpkgs/pkgs/tools/admin/awsweeper/default.nix
index 0ff42ca20fcf..7d1935415ab7 100644
--- a/nixpkgs/pkgs/tools/admin/awsweeper/default.nix
+++ b/nixpkgs/pkgs/tools/admin/awsweeper/default.nix
@@ -13,7 +13,7 @@ buildGoModule rec {
 
   vendorSha256 = "sha256-1u1mzANLlWduAQF1GUX7BJSyYlSZwNQISqKwbyRlGog=";
 
-  buildFlagsArray = [ "-ldflags=-s -w -X github.com/jckuester/awsweeper/internal.version=${version} -X github.com/jckuester/awsweeper/internal.commit=${src.rev} -X github.com/jckuester/awsweeper/internal.date=unknown" ];
+  ldflags = [ "-s" "-w" "-X github.com/jckuester/awsweeper/internal.version=${version}" "-X github.com/jckuester/awsweeper/internal.commit=${src.rev}" "-X github.com/jckuester/awsweeper/internal.date=unknown" ];
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/admin/chamber/default.nix b/nixpkgs/pkgs/tools/admin/chamber/default.nix
index 4a26603a1341..45c62fd42f92 100644
--- a/nixpkgs/pkgs/tools/admin/chamber/default.nix
+++ b/nixpkgs/pkgs/tools/admin/chamber/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "chamber";
-  version = "2.10.1";
+  version = "2.10.3";
 
   src = fetchFromGitHub {
     owner = "segmentio";
@@ -15,7 +15,7 @@ buildGoModule rec {
 
   vendorSha256 = "sha256-XpLLolxWu9aMp1cyG4dUQk4YtknbIRMmBUdSeyY4PNk=";
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.Version=v${version}" ];
+  ldflags = [ "-s" "-w" "-X main.Version=v${version}" ];
 
   meta = with lib; {
     description =
diff --git a/nixpkgs/pkgs/tools/admin/clair/default.nix b/nixpkgs/pkgs/tools/admin/clair/default.nix
index 0298ca29a7c4..836f9082d242 100644
--- a/nixpkgs/pkgs/tools/admin/clair/default.nix
+++ b/nixpkgs/pkgs/tools/admin/clair/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "clair";
-  version = "4.1.1";
+  version = "4.2.0";
 
   src = fetchFromGitHub {
     owner = "quay";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-E04G3EJ0JrOVjtTd3nBHZehzuDrvt6t4hfFdGO92uuk=";
+    sha256 = "sha256-PVR7QMndjfCNVo9U3lnArpRBxLfmOH8iEdFub7hZyio=";
   };
 
-  vendorSha256 = "sha256-xgP5IhB9eyKOIBlT5jKDJkUy8lz2UrWmGqqeDhqRawY=";
+  vendorSha256 = "sha256-npskCUVxNTgI8egVU1id02xHFfTizOb7kBUNfOLdbOc=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/admin/credhub-cli/default.nix b/nixpkgs/pkgs/tools/admin/credhub-cli/default.nix
index 0c71850f849e..9cfb23ab9daa 100644
--- a/nixpkgs/pkgs/tools/admin/credhub-cli/default.nix
+++ b/nixpkgs/pkgs/tools/admin/credhub-cli/default.nix
@@ -28,8 +28,7 @@ buildGoModule rec {
 
   vendorSha256 = null;
 
-  buildFlagsArray = [
-    "-ldflags="
+  ldflags = [
     "-s"
     "-w"
     "-X code.cloudfoundry.org/credhub-cli/version.Version=${version}"
diff --git a/nixpkgs/pkgs/tools/admin/daemontools/default.nix b/nixpkgs/pkgs/tools/admin/daemontools/default.nix
index 6fafc1c253a9..ad12234bf27b 100644
--- a/nixpkgs/pkgs/tools/admin/daemontools/default.nix
+++ b/nixpkgs/pkgs/tools/admin/daemontools/default.nix
@@ -1,24 +1,25 @@
 { fetchurl, bash, glibc, lib, stdenv }:
 
 stdenv.mkDerivation rec {
-  name = "daemontools-0.76";
+  pname = "daemontools";
+  version = "0.76";
 
   src = fetchurl {
-    url = "https://cr.yp.to/daemontools/${name}.tar.gz";
+    url = "https://cr.yp.to/daemontools/daemontools-${version}.tar.gz";
     sha256 = "07scvw88faxkscxi91031pjkpccql6wspk4yrlnsbrrb5c0kamd5";
   };
 
   patches = [ ./fix-nix-usernamespace-build.patch ];
 
   configurePhase = ''
-    cd ${name}
+    cd daemontools-${version}
 
     sed -ie '1 s_$_ -include ${glibc.dev}/include/errno.h_' src/conf-cc
 
     substituteInPlace src/Makefile \
       --replace '/bin/sh' '${bash}/bin/bash -oxtrace'
 
-    sed -ie "s_^PATH=.*_PATH=$src/${name}/compile:''${PATH}_" src/rts.tests
+    sed -ie "s_^PATH=.*_PATH=$src/daemontools-${version}/compile:''${PATH}_" src/rts.tests
 
     cat ${glibc.dev}/include/errno.h
   '';
diff --git a/nixpkgs/pkgs/tools/admin/drawterm/default.nix b/nixpkgs/pkgs/tools/admin/drawterm/default.nix
new file mode 100644
index 000000000000..d3785a737f9c
--- /dev/null
+++ b/nixpkgs/pkgs/tools/admin/drawterm/default.nix
@@ -0,0 +1,37 @@
+{ stdenv
+, lib
+, fetchgit
+, xorg
+}:
+
+stdenv.mkDerivation rec {
+  pname = "drawterm";
+  version = "unstable-2021-08-02";
+
+  src = fetchgit {
+    url = "git://git.9front.org/plan9front/drawterm";
+    rev = "a130d441722ac3f759d2d83b98eb6aef7e84f97e";
+    sha256 = "R+W1XMqQqCrMwgX9lHRhxJPG6ZOvtQrU6HUsKfvfrBQ=";
+  };
+
+  buildInputs = [
+    xorg.libX11
+    xorg.libXt
+  ];
+
+  # TODO: macos
+  makeFlags = [ "CONF=unix" ];
+
+  installPhase = ''
+    install -Dm755 -t $out/bin/ drawterm
+    install -Dm644 -t $out/man/man1/ drawterm.1
+  '';
+
+  meta = with lib; {
+    description = "Connect to Plan9 CPU servers from other operating systems.";
+    homepage = "https://drawterm.9front.org/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ luc65r ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/admin/eksctl/default.nix b/nixpkgs/pkgs/tools/admin/eksctl/default.nix
index 6a28e18c7d3a..d152ef128392 100644
--- a/nixpkgs/pkgs/tools/admin/eksctl/default.nix
+++ b/nixpkgs/pkgs/tools/admin/eksctl/default.nix
@@ -2,25 +2,28 @@
 
 buildGoModule rec {
   pname = "eksctl";
-  version = "0.57.0";
+  version = "0.62.0";
 
   src = fetchFromGitHub {
     owner = "weaveworks";
     repo = pname;
     rev = version;
-    sha256 = "sha256-5Y//OD/UsqDnM8MPVJghrc5SbVwBEG/Eu761QWy5xK8=";
+    sha256 = "sha256-1WIkUXqcDagrAivozgLjXsiIUsVQ7mOp2ODivHEfNkQ=";
   };
 
-  vendorSha256 = "sha256-CQ7A4vwUrshKRZBdIJZlCXmcxS0O0CkE1tNkZskYu1E=";
+  vendorSha256 = "sha256-AWNTjqEeSEoXO9wcpEXM3y1AeqQYlbswjr0kXvXqGjk=";
 
   doCheck = false;
 
   subPackages = [ "cmd/eksctl" ];
 
-  buildFlags = [ "-tags netgo" "-tags release" ];
+  tags = [ "netgo" "release" ];
 
-  buildFlagsArray = [
-    "-ldflags=-s -w -X github.com/weaveworks/eksctl/pkg/version.gitCommit=${src.rev} -X github.com/weaveworks/eksctl/pkg/version.buildDate=19700101-00:00:00"
+  ldflags = [
+    "-s"
+    "-w"
+    "-X github.com/weaveworks/eksctl/pkg/version.gitCommit=${src.rev}"
+    "-X github.com/weaveworks/eksctl/pkg/version.buildDate=19700101-00:00:00"
   ];
 
   nativeBuildInputs = [ installShellFiles ];
diff --git a/nixpkgs/pkgs/tools/admin/exoscale-cli/default.nix b/nixpkgs/pkgs/tools/admin/exoscale-cli/default.nix
index 4fb11de26c3c..544ffcaf1ab3 100644
--- a/nixpkgs/pkgs/tools/admin/exoscale-cli/default.nix
+++ b/nixpkgs/pkgs/tools/admin/exoscale-cli/default.nix
@@ -2,18 +2,18 @@
 
 buildGoPackage rec {
   pname = "exoscale-cli";
-  version = "1.37.0";
+  version = "1.40.2";
 
   src = fetchFromGitHub {
     owner  = "exoscale";
     repo   = "cli";
     rev    = "v${version}";
-    sha256 = "sha256-ETj14xwCQJv3xNYXFY/Z0FsxjxLrlpcVkap2sRsLzVU=";
+    sha256 = "sha256-J5Wid/Xq3wYY+2/RoFgdY5ZDdNQu8TkTF9W6YLvnwvM=";
   };
 
   goPackagePath = "github.com/exoscale/cli";
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version} -X main.commit=${src.rev}" ];
+  ldflags = [ "-s" "-w" "-X main.version=${version}" "-X main.commit=${src.rev}" ];
 
   # ensures only the cli binary is built and we don't clutter bin/ with submodules
   subPackages = [ "." ];
diff --git a/nixpkgs/pkgs/tools/admin/fioctl/default.nix b/nixpkgs/pkgs/tools/admin/fioctl/default.nix
index 068d87a3bfd1..98e68c10fb9d 100644
--- a/nixpkgs/pkgs/tools/admin/fioctl/default.nix
+++ b/nixpkgs/pkgs/tools/admin/fioctl/default.nix
@@ -2,22 +2,22 @@
 
 buildGoModule rec {
   pname = "fioctl";
-  version = "0.18";
+  version = "0.20";
 
   src = fetchFromGitHub {
     owner = "foundriesio";
     repo = "fioctl";
     rev = "v${version}";
-    sha256 = "sha256-uqJ08ftaU39gmhDtl+noVtGscu6utcl42rXz4XaGtWc=";
+    sha256 = "sha256-vc+V69cyJZSJa6GXUUNYeXdKvmUrVIQhsBykptcl85s=";
   };
 
-  vendorSha256 = "sha256-6a+JMj3hh6GPuqnLknv7/uR8vsUsOgsS+pdxHoMqH5w=";
+  vendorSha256 = "sha256-SuUY4xwinky5QO+GxyotrFiYX1LnWQNjwWXIUpfVHUE=";
 
   runVend = true;
 
-  buildFlagsArray = ''
-    -ldflags=-s -w -X github.com/foundriesio/fioctl/subcommands/version.Commit=${src.rev}
-  '';
+  ldflags = [
+    "-s" "-w" "-X github.com/foundriesio/fioctl/subcommands/version.Commit=${src.rev}"
+  ];
 
   meta = with lib; {
     description = "A simple CLI to manage your Foundries Factory ";
diff --git a/nixpkgs/pkgs/tools/admin/google-cloud-sdk/cloud_sql_proxy_path.patch b/nixpkgs/pkgs/tools/admin/google-cloud-sdk/cloud_sql_proxy_path.patch
index aec4be2ec19a..f92896e81c94 100644
--- a/nixpkgs/pkgs/tools/admin/google-cloud-sdk/cloud_sql_proxy_path.patch
+++ b/nixpkgs/pkgs/tools/admin/google-cloud-sdk/cloud_sql_proxy_path.patch
@@ -2,7 +2,7 @@ diff --git a/lib/googlecloudsdk/api_lib/sql/instances.py b/lib/googlecloudsdk/ap
 index 0d88ffe..814a436 100644
 --- a/lib/googlecloudsdk/api_lib/sql/instances.py
 +++ b/lib/googlecloudsdk/api_lib/sql/instances.py
-@@ -86,18 +86,19 @@ def GetRegionFromZone(gce_zone):
+@@ -85,18 +85,19 @@ def GetRegionFromZone(gce_zone):
  def _GetCloudSqlProxyPath():
    """Determines the path to the cloud_sql_proxy binary."""
    sdk_bin_path = config.Paths().sdk_bin_path
@@ -14,7 +14,7 @@ index 0d88ffe..814a436 100644
 -          'Using cloud_sql_proxy found at [{path}]'.format(path=proxy_path))
 -      return proxy_path
 -    else:
--      raise exceptions.ToolException(
+-      raise sql_exceptions.SqlProxyNotFound(
 -          'A Cloud SQL Proxy SDK root could not be found. Please check your '
 -          'installation.')
 -  return os.path.join(sdk_bin_path, 'cloud_sql_proxy')
@@ -28,7 +28,7 @@ index 0d88ffe..814a436 100644
 +        'Using cloud_sql_proxy found at [{path}]'.format(path=proxy_path))
 +    return proxy_path
 +
-+  raise exceptions.ToolException(
++  raise sql_exceptions.SqlProxyNotFound(
 +      'A Cloud SQL Proxy SDK root could not be found. Please check your '
 +      'installation.')
  
diff --git a/nixpkgs/pkgs/tools/admin/google-cloud-sdk/default.nix b/nixpkgs/pkgs/tools/admin/google-cloud-sdk/default.nix
index f461a5c30ed1..7e4316bf52e6 100644
--- a/nixpkgs/pkgs/tools/admin/google-cloud-sdk/default.nix
+++ b/nixpkgs/pkgs/tools/admin/google-cloud-sdk/default.nix
@@ -21,23 +21,33 @@ let
   sources = name: system: {
     x86_64-darwin = {
       url = "${baseUrl}/${name}-darwin-x86_64.tar.gz";
-      sha256 = "1h02pywzjn2d4p07xic1936w5qjbaz33qny8afrgzvgbqnqx7dvs";
+      sha256 = "1a17bbvimdqq4k25lprqk9cq3lpfchd65hzjf23ha4imndpbjgqr";
     };
 
     aarch64-darwin = {
       url = "${baseUrl}/${name}-darwin-arm.tar.gz";
-      sha256 = "0qrmrxzphslhq3xf01zh91v7fvqn0z4hv8rpd15qwq9q84d2c3gr";
+      sha256 = "184k1kv10g4zzzxgmwpakvg5ffxhz01dd01kb5h32mf1j5fid1zh";
     };
 
     x86_64-linux = {
       url = "${baseUrl}/${name}-linux-x86_64.tar.gz";
-      sha256 = "0lz14d9gs6k0zbnyvrl6zyj8w7f6a5z7q95y48jkizc822rajhc3";
+      sha256 = "0hhaq5hf5nvaah06h6v8q2hpn8hc815ihsi74dpwg6pmg9h266pr";
+    };
+
+    i686-linux = {
+      url = "${baseUrl}/${name}-linux-x86.tar.gz";
+      sha256 = "14z1nzwc0j3qhbw2ldrskd8zjsslwgsw7pxxq3v0ypc1rjibsql5";
+    };
+
+    aarch64-linux = {
+      url = "${baseUrl}/${name}-linux-arm.tar.gz";
+      sha256 = "0f6xrij2wbx57s4897bi12l9fz3flj1wyibbk7jjg0l5332h4yhr";
     };
   }.${system};
 
 in stdenv.mkDerivation rec {
   pname = "google-cloud-sdk";
-  version = "348.0.0";
+  version = "351.0.0";
 
   src = fetchurl (sources "${pname}-${version}" stdenv.hostPlatform.system);
 
@@ -114,6 +124,6 @@ in stdenv.mkDerivation rec {
     license = licenses.free;
     homepage = "https://cloud.google.com/sdk/";
     maintainers = with maintainers; [ iammrinal0 pradyuman stephenmw zimbatm ];
-    platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ];
+    platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/iamy/default.nix b/nixpkgs/pkgs/tools/admin/iamy/default.nix
index dd35da451ad8..6ee5f3f880bb 100644
--- a/nixpkgs/pkgs/tools/admin/iamy/default.nix
+++ b/nixpkgs/pkgs/tools/admin/iamy/default.nix
@@ -15,9 +15,9 @@ buildGoModule rec {
 
   doCheck = false;
 
-  buildFlagsArray = [''-ldflags=
-    -X main.Version=v${version} -s -w
-  ''];
+  ldflags = [
+    "-X main.Version=v${version}" "-s" "-w"
+  ];
 
   meta = with lib; {
     description = "A cli tool for importing and exporting AWS IAM configuration to YAML files";
diff --git a/nixpkgs/pkgs/tools/admin/lego/default.nix b/nixpkgs/pkgs/tools/admin/lego/default.nix
index 78f4b8cd2cb2..685679467549 100644
--- a/nixpkgs/pkgs/tools/admin/lego/default.nix
+++ b/nixpkgs/pkgs/tools/admin/lego/default.nix
@@ -17,8 +17,8 @@ buildGoModule rec {
 
   subPackages = [ "cmd/lego" ];
 
-  buildFlagsArray = [
-    "-ldflags=-X main.version=${version}"
+  ldflags = [
+    "-X main.version=${version}"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/admin/lxd/default.nix b/nixpkgs/pkgs/tools/admin/lxd/default.nix
index ac831c9da482..722e3b947738 100644
--- a/nixpkgs/pkgs/tools/admin/lxd/default.nix
+++ b/nixpkgs/pkgs/tools/admin/lxd/default.nix
@@ -19,13 +19,13 @@ let
 in
 buildGoPackage rec {
   pname = "lxd";
-  version = "4.16";
+  version = "4.17";
 
   goPackagePath = "github.com/lxc/lxd";
 
   src = fetchurl {
     url = "https://linuxcontainers.org/downloads/lxd/lxd-${version}.tar.gz";
-    sha256 = "1da9avmxs8sy92d9nrdgry2x685ral58zgf89yr88qxc0llbzq7r";
+    sha256 = "1kzmgyg5kw3zw9qa6jabld6rmb53b6yy69h7y9znsdlf74jllljl";
   };
 
   postPatch = ''
@@ -72,7 +72,7 @@ buildGoPackage rec {
     description = "Daemon based on liblxc offering a REST API to manage containers";
     homepage = "https://linuxcontainers.org/lxd/";
     license = licenses.asl20;
-    maintainers = with maintainers; [ fpletz wucke13 ];
+    maintainers = with maintainers; [ fpletz wucke13 marsam ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/meshcentral/default.nix b/nixpkgs/pkgs/tools/admin/meshcentral/default.nix
new file mode 100644
index 000000000000..070d6ef8c211
--- /dev/null
+++ b/nixpkgs/pkgs/tools/admin/meshcentral/default.nix
@@ -0,0 +1,37 @@
+{ lib, fetchpatch, fetchzip, yarn2nix-moretea, nodejs, jq, dos2unix }:
+
+yarn2nix-moretea.mkYarnPackage rec {
+  version = "0.8.98";
+
+  src = fetchzip {
+    url = "https://registry.npmjs.org/meshcentral/-/meshcentral-${version}.tgz";
+    sha256 = "0120csvak07mkgaiq4sxyslcipgfgal0mhd8gwywcij2s71a3n26";
+  };
+
+  packageJSON = ./package.json;
+  yarnLock = ./yarn.lock;
+  yarnNix = ./yarn.nix;
+
+  # Tarball has CRLF line endings. This makes patching difficult, so let's convert them.
+  nativeBuildInputs = [ dos2unix ];
+  prePatch = ''
+    find . -name '*.js' -exec dos2unix {} +
+    ln -snf meshcentral.js bin/meshcentral
+  '';
+
+  preFixup = ''
+    mkdir -p $out/bin
+    chmod a+x $out/libexec/meshcentral/deps/meshcentral/meshcentral.js
+    sed -i '1i#!${nodejs}/bin/node' $out/libexec/meshcentral/deps/meshcentral/meshcentral.js
+    ln -s $out/libexec/meshcentral/deps/meshcentral/meshcentral.js $out/bin/meshcentral
+  '';
+
+  publishBinsFor = [ ];
+
+  meta = with lib; {
+    description = "Computer management web app";
+    homepage = "https://meshcentral.com/info/";
+    maintainers = [ maintainers.lheckemann ];
+    license = licenses.asl20;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/admin/meshcentral/package.json b/nixpkgs/pkgs/tools/admin/meshcentral/package.json
new file mode 100644
index 000000000000..99125c15e10a
--- /dev/null
+++ b/nixpkgs/pkgs/tools/admin/meshcentral/package.json
@@ -0,0 +1,123 @@
+{
+  "name": "meshcentral",
+  "version": "0.8.98",
+  "keywords": [
+    "Remote Device Management",
+    "Remote Device Monitoring",
+    "Remote Desktop",
+    "Remote Terminal",
+    "Remote File Access",
+    "KVM",
+    "2FA",
+    "Two-Factor Authentication",
+    "Intel Active Management Technology",
+    "Intel AMT"
+  ],
+  "homepage": "https://meshcentral.com",
+  "description": "Web based remote computer management server",
+  "author": "Ylian Saint-Hilaire <ylianst@gmail.com>",
+  "main": "meshcentral.js",
+  "bin": {
+    "meshcentral": "bin/meshcentral"
+  },
+  "license": "Apache-2.0",
+  "files": [
+    "*.js",
+    "amt",
+    "bin",
+    "views",
+    "emails",
+    "agents",
+    "public",
+    "translate",
+    "readme.txt",
+    "license.txt",
+    "sample-config.json",
+    "sample-config-advanced.json"
+  ],
+  "dependencies": {
+    "body-parser": "^1.19.0",
+    "cbor": "~5.2.0",
+    "compression": "^1.7.4",
+    "cookie-session": "^2.0.0-beta.3",
+    "express": "^4.17.0",
+    "express-handlebars": "^3.1.0",
+    "express-ws": "^4.0.0",
+    "ipcheck": "^0.1.0",
+    "minimist": "^1.2.0",
+    "multiparty": "^4.2.1",
+    "nedb": "^1.8.0",
+    "node-forge": "^0.10.0",
+    "ws": "^5.2.3",
+    "xmldom": "^0.5.0",
+    "yauzl": "^2.10.0"
+  },
+  "repository": {
+    "type": "git",
+    "url": "https://github.com/Ylianst/MeshCentral.git"
+  },
+  "readme": "readme.txt",
+  "optionalDependencies": {
+    "passport": "*",
+    "passport-twitter": "*",
+    "passport-google-oauth20": "*",
+    "passport-github2": "*",
+    "passport-reddit": "*",
+    "passport-azure-oauth2": "*",
+    "jwt-simple": "*",
+    "passport-saml": "*",
+    "ws": "5.2.3",
+    "cbor": "5.2.0",
+    "nedb": "*",
+    "https": "*",
+    "yauzl": "*",
+    "xmldom": "*",
+    "ipcheck": "*",
+    "express": "*",
+    "archiver": "4.0.2",
+    "multiparty": "*",
+    "node-forge": "*",
+    "express-ws": "4.0.0",
+    "compression": "*",
+    "body-parser": "*",
+    "cookie-session": "*",
+    "express-handlebars": "*",
+    "node-windows": "*",
+    "loadavg-windows": "*",
+    "node-sspi": "*",
+    "ldapauth-fork": "*",
+    "node-rdpjs-2": "*",
+    "ssh2": "*",
+    "image-size": "*",
+    "acme-client": "*",
+    "aedes": "0.39.0",
+    "mysql": "*",
+    "@mysql/xdevapi": "*",
+    "mongodb": "*",
+    "saslprep": "*",
+    "mariadb": "*",
+    "node-vault": "*",
+    "semver": "*",
+    "https-proxy-agent": "*",
+    "mongojs": "*",
+    "nodemailer": "*",
+    "@sendgrid/mail": "*",
+    "jsdom": "*",
+    "esprima": "*",
+    "minify-js": "*",
+    "html-minifier": "*",
+    "archiver-zip-encrypted": "*",
+    "googleapis": "*",
+    "webdav": "*",
+    "wildleek": "2.0.0",
+    "yubikeyotp": "*",
+    "otplib": "10.2.3",
+    "twilio": "*",
+    "plivo": "*",
+    "web-push": "*",
+    "node-xcs": "*",
+    "modern-syslog": "*",
+    "syslog": "*",
+    "heapdump": "*"
+  }
+}
diff --git a/nixpkgs/pkgs/tools/admin/meshcentral/update.sh b/nixpkgs/pkgs/tools/admin/meshcentral/update.sh
new file mode 100755
index 000000000000..f7f12078372e
--- /dev/null
+++ b/nixpkgs/pkgs/tools/admin/meshcentral/update.sh
@@ -0,0 +1,50 @@
+#!/usr/bin/env nix-shell
+#! nix-shell -i bash -p nodejs yarn yarn2nix jq rsync common-updater-scripts moreutils
+
+set -exuo pipefail
+
+expr_dir=$(cd "$(dirname "$0")"; pwd)
+tmp=$(mktemp -dt update-meshcentral.XXXXXX)
+
+npm show --json meshcentral > "$tmp/npm.json"
+version=$(<"$tmp/npm.json" jq -r .version)
+tarball=$(<"$tmp/npm.json" jq -r .dist.tarball)
+
+prefetch=$(nix-prefetch-url --unpack --print-path "$tarball" | tr '\n' ' ')
+read -r hash storePath <<<"$prefetch"
+cd "$tmp"
+rsync -r --chmod=u=rwX "$storePath/" package/
+cd package
+
+# Very crude way of discovering optional dependencies. These are
+# fetched at runtime by stock upstream, but we don't allow that kind
+# of thing in nix :)
+awk <meshcentral.js "
+  BEGIN { RS=\"[\n;]\" }
+  match(\$0, /(modules|passport) = (\[.*\])$/, a) { print a[2] }
+  match(\$0, /(modules|passport).push\(('[^']+')\)/, a) { print a[2] }
+" |
+    tr \' \" |
+    jq --slurp '[if type == "array" then .[] else . end] | flatten' |
+    # And an equally crude way of adding them to package.json. We
+    # can't use yarn add here, because that will blow up on
+    # dependencies which don't support the current platform. Even with
+    # --optional.
+    jq --slurpfile package package.json \
+       '(. | map(. | capture("(?<name>@?[^@]+)(@(?<version>.+))?") | { key: .name, value: (.version // "*")}) | from_entries) as $optionalDependencies | $package | .[] | .optionalDependencies |= . + $optionalDependencies' |
+    sponge package.json
+
+# Fetch all the optional dependencies, so we have them available in
+# yarn.lock/yarn.nix
+yarn install --ignore-scripts
+
+cp package.json "$expr_dir"
+cp yarn.lock "$expr_dir/yarn.lock"
+yarn2nix > "$expr_dir/yarn.nix"
+
+cd "$expr_dir/../../../.."
+update-source-version meshcentral "$version" "$hash" "$tarball"
+
+# Only clean up if everything worked
+cd /
+rm -rf "$tmp"
diff --git a/nixpkgs/pkgs/tools/admin/meshcentral/yarn.lock b/nixpkgs/pkgs/tools/admin/meshcentral/yarn.lock
new file mode 100644
index 000000000000..6d00c730024e
--- /dev/null
+++ b/nixpkgs/pkgs/tools/admin/meshcentral/yarn.lock
@@ -0,0 +1,7365 @@
+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
+# yarn lockfile v1
+
+
+"@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/generator@^7.15.0", "@babel/generator@^7.4.0":
+  version "7.15.0"
+  resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.15.0.tgz#a7d0c172e0d814974bad5aa77ace543b97917f15"
+  integrity sha512-eKl4XdMrbpYvuB505KTta4AV9g+wWzmVBW69tX0H2NwKVKd2YJbKgyK6M8j/rgLbmHOYJn6rUklV677nOyJrEQ==
+  dependencies:
+    "@babel/types" "^7.15.0"
+    jsesc "^2.5.1"
+    source-map "^0.5.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-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", "@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/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"
+    chalk "^2.0.0"
+    js-tokens "^4.0.0"
+
+"@babel/parser@^7.14.5", "@babel/parser@^7.15.0", "@babel/parser@^7.4.3":
+  version "7.15.0"
+  resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.15.0.tgz#b6d6e29058ca369127b0eeca2a1c4b5794f1b6b9"
+  integrity sha512-0v7oNOjr6YT9Z2RAOTv4T9aP+ubfx4Q/OhVtAet7PFDt0t9Oy6Jn+/rfC6b8HJ5zEqrQCiMxJfgtHpmIminmJQ==
+
+"@babel/template@^7.14.5", "@babel/template@^7.4.0":
+  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.4.3":
+  version "7.15.0"
+  resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.15.0.tgz#4cca838fd1b2a03283c1f38e141f639d60b3fc98"
+  integrity sha512-392d8BN0C9eVxVWd8H6x9WfipgVH5IaIoLp23334Sc1vbKKWINnvwRpb4us0xtPaCumlwbTtIYNA0Dv/32sVFw==
+  dependencies:
+    "@babel/code-frame" "^7.14.5"
+    "@babel/generator" "^7.15.0"
+    "@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.15.0"
+    "@babel/types" "^7.15.0"
+    debug "^4.1.0"
+    globals "^11.1.0"
+
+"@babel/types@^7.14.5", "@babel/types@^7.15.0", "@babel/types@^7.4.0":
+  version "7.15.0"
+  resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.15.0.tgz#61af11f2286c4e9c69ca8deb5f4375a73c72dcbd"
+  integrity sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==
+  dependencies:
+    "@babel/helper-validator-identifier" "^7.14.9"
+    to-fast-properties "^2.0.0"
+
+"@mysql/xdevapi@*":
+  version "8.0.26"
+  resolved "https://registry.yarnpkg.com/@mysql/xdevapi/-/xdevapi-8.0.26.tgz#bdf5752553c53c32d665bfa3034f21fbfa989611"
+  integrity sha512-YiBW91Z4igfUil6y6+kWV2BNlD3JQvBgVjwIfpbuPdOGiPwh/eb6zc1fyFSxa5sY3PmMKc/7v4nhdauwPLyUwA==
+  dependencies:
+    google-protobuf "3.14.0"
+    parsimmon "1.16.0"
+
+"@sendgrid/client@^7.4.3":
+  version "7.4.3"
+  resolved "https://registry.yarnpkg.com/@sendgrid/client/-/client-7.4.3.tgz#bc71aae05de2cd9aa607f4eb1d886711d09f9595"
+  integrity sha512-tTaHx893w5iqG0sVtUnMyRchuwYF95k4UOkmov1MouMIeMUbNvbalITo7cG7YSXUTY9rT2t4eBY6HcEBCVeqfg==
+  dependencies:
+    "@sendgrid/helpers" "^7.4.3"
+    axios "^0.21.1"
+
+"@sendgrid/helpers@^7.4.3":
+  version "7.4.3"
+  resolved "https://registry.yarnpkg.com/@sendgrid/helpers/-/helpers-7.4.3.tgz#231a4405266cfa291054df8b668fe3a4dc9387aa"
+  integrity sha512-Wt+68g1sVEM5UspJh34O/cxtv6BBbtAIk7U9B3PB2ySOtPs9e6hI1QkgYVwpNmkt7k2p86muUNyma/Aig25agg==
+  dependencies:
+    deepmerge "^4.2.2"
+
+"@sendgrid/mail@*":
+  version "7.4.5"
+  resolved "https://registry.yarnpkg.com/@sendgrid/mail/-/mail-7.4.5.tgz#22cef36e793134833b36aff5d3f4f53e8f81dd52"
+  integrity sha512-adXMvrTUOlYr7+UTigZRGSYR9vheBv1y4fF2mugn29NBdQMfcQPGLQ5vIHgSAfcboBFCagZdamZqM5FeSGU0Hw==
+  dependencies:
+    "@sendgrid/client" "^7.4.3"
+    "@sendgrid/helpers" "^7.4.3"
+
+"@tootallnate/once@1":
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82"
+  integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==
+
+"@types/geojson@^7946.0.7":
+  version "7946.0.8"
+  resolved "https://registry.yarnpkg.com/@types/geojson/-/geojson-7946.0.8.tgz#30744afdb385e2945e22f3b033f897f76b1f12ca"
+  integrity sha512-1rkryxURpr6aWP7R786/UQOkJ3PcpQiWkAXBmdWc7ryFWqN6a4xfK7BtjXvFBKO9LjQ+MWQSWxYeZX1OApnArA==
+
+"@types/ldapjs@^1.0.9":
+  version "1.0.11"
+  resolved "https://registry.yarnpkg.com/@types/ldapjs/-/ldapjs-1.0.11.tgz#34077176af2b06186bd54e4a38ceb6e852387fa4"
+  integrity sha512-O4D1frY6xy2mQr5WouNPeltMe5EHdmU4FxbLDC6TMDX5HXOuafusGu+7Y9WAoqBaYHZ5hcFa7jfkpggyexfeXQ==
+  dependencies:
+    "@types/node" "*"
+
+"@types/node@*":
+  version "16.4.13"
+  resolved "https://registry.yarnpkg.com/@types/node/-/node-16.4.13.tgz#7dfd9c14661edc65cccd43a29eb454174642370d"
+  integrity sha512-bLL69sKtd25w7p1nvg9pigE4gtKVpGTPojBFLMkGHXuUgap2sLqQt2qUnqmVCDfzGUL0DRNZP+1prIZJbMeAXg==
+
+"@types/node@^14.14.14", "@types/node@^14.14.28":
+  version "14.17.9"
+  resolved "https://registry.yarnpkg.com/@types/node/-/node-14.17.9.tgz#b97c057e6138adb7b720df2bd0264b03c9f504fd"
+  integrity sha512-CMjgRNsks27IDwI785YMY0KLt3co/c0cQ5foxHYv/shC2w8oOnVwz5Ubq1QG5KzrcW+AXk6gzdnxIkDnTvzu3g==
+
+"@types/webidl-conversions@*":
+  version "6.1.1"
+  resolved "https://registry.yarnpkg.com/@types/webidl-conversions/-/webidl-conversions-6.1.1.tgz#e33bc8ea812a01f63f90481c666334844b12a09e"
+  integrity sha512-XAahCdThVuCFDQLT7R7Pk/vqeObFNL3YqRyFZg+AqAP/W1/w3xHaIxuW7WszQqTbIBOPRcItYJIou3i/mppu3Q==
+
+"@types/whatwg-url@^8.0.0":
+  version "8.2.1"
+  resolved "https://registry.yarnpkg.com/@types/whatwg-url/-/whatwg-url-8.2.1.tgz#f1aac222dab7c59e011663a0cb0a3117b2ef05d4"
+  integrity sha512-2YubE1sjj5ifxievI5Ge1sckb9k/Er66HyR2c+3+I6VDUUg1TLPdYYTEbQ+DjRkS4nTxMJhgWfSfMRD2sl2EYQ==
+  dependencies:
+    "@types/node" "*"
+    "@types/webidl-conversions" "*"
+
+"@xmpp/base64@^0.9.0":
+  version "0.9.0"
+  resolved "https://registry.yarnpkg.com/@xmpp/base64/-/base64-0.9.0.tgz#f5914c2b7228d833020af991a2a207267fc8fcf4"
+  integrity sha512-/Naw/zQB3YryuQvSS3T3TwBV+z29Ox7RxfAs31foRcGblxw9Vkh4arTqwYpd49BLGbUzw+PBhpCgyJ4IrHPeFA==
+  dependencies:
+    base-64 "^0.1.0"
+
+"@xmpp/client-core@^0.9.2":
+  version "0.9.2"
+  resolved "https://registry.yarnpkg.com/@xmpp/client-core/-/client-core-0.9.2.tgz#0176ad686358e903afefbf92d4c0f11676a90572"
+  integrity sha512-mNwg3FwB2OSFxjNY445SSL9OsrKefVGtQP1o3AuL26TjioGE+C8brijBvH+g4CM84G3/FF6aDOhvetp4fJJZcQ==
+  dependencies:
+    "@xmpp/connection" "^0.9.2"
+    "@xmpp/jid" "^0.9.2"
+    "@xmpp/xml" "^0.9.2"
+
+"@xmpp/client@^0.9.2":
+  version "0.9.2"
+  resolved "https://registry.yarnpkg.com/@xmpp/client/-/client-0.9.2.tgz#6a0c7e1d9a8f7ea670981bd66fba5e41067960f7"
+  integrity sha512-b/p+1RLiPhp3mngjkaKYyLcj0B6zwvQcV6K+JysJLz8kwevspIomlEO8dwHq3k2k3vX+Be6JPfREaTp+BjABtg==
+  dependencies:
+    "@xmpp/client-core" "^0.9.2"
+    "@xmpp/iq" "^0.9.2"
+    "@xmpp/middleware" "^0.9.2"
+    "@xmpp/reconnect" "^0.9.0"
+    "@xmpp/resolve" "^0.9.2"
+    "@xmpp/resource-binding" "^0.9.2"
+    "@xmpp/sasl" "^0.9.2"
+    "@xmpp/sasl-anonymous" "^0.9.0"
+    "@xmpp/sasl-plain" "^0.9.0"
+    "@xmpp/sasl-scram-sha-1" "^0.9.0"
+    "@xmpp/session-establishment" "^0.9.2"
+    "@xmpp/starttls" "^0.9.2"
+    "@xmpp/stream-features" "^0.9.0"
+    "@xmpp/tcp" "^0.9.2"
+    "@xmpp/tls" "^0.9.2"
+    "@xmpp/websocket" "^0.9.2"
+
+"@xmpp/connection-tcp@^0.9.2":
+  version "0.9.2"
+  resolved "https://registry.yarnpkg.com/@xmpp/connection-tcp/-/connection-tcp-0.9.2.tgz#57f1165ef729e339237522a5206b8f9439f9edbf"
+  integrity sha512-qdKp9vKprcaDcs/wdGPUc4GavaRNkoIH6q3PduMpIpF2CC8faQQTGO554i0k2VITxN4AyBIBIzPL5Iht/FEUSw==
+  dependencies:
+    "@xmpp/connection" "^0.9.2"
+    "@xmpp/xml" "^0.9.2"
+
+"@xmpp/connection@^0.9.2":
+  version "0.9.2"
+  resolved "https://registry.yarnpkg.com/@xmpp/connection/-/connection-0.9.2.tgz#bfa354d4c99e16032d50a95a5638e6f58897f31f"
+  integrity sha512-Jlc39RhIYLqLLInV8pmUnNClaJgjh+ZZfwGrRvYTw9v0Pic7dOeE+cyT7ONZPjmfue4Jhqo8bRbKSrF7ezQbEA==
+  dependencies:
+    "@xmpp/error" "^0.9.0"
+    "@xmpp/events" "^0.9.0"
+    "@xmpp/jid" "^0.9.2"
+    "@xmpp/xml" "^0.9.2"
+
+"@xmpp/debug@^0.9.2":
+  version "0.9.2"
+  resolved "https://registry.yarnpkg.com/@xmpp/debug/-/debug-0.9.2.tgz#51702dfe5d14bae327c3468ea2967cf015800840"
+  integrity sha512-Fr0QPUZV/Kk3OnpSbIOOrSkDe0I4tVVE6670doKLdau6cRMP5Cx/bwkh565eSezcp9L0c9ws7gffqVnVDN7MkQ==
+  dependencies:
+    "@xmpp/xml" "^0.9.2"
+
+"@xmpp/error@^0.9.0":
+  version "0.9.0"
+  resolved "https://registry.yarnpkg.com/@xmpp/error/-/error-0.9.0.tgz#3232fab6fdb7a25fe67d3e0e1962ae8742b2f2da"
+  integrity sha512-W8gqCwii+SmI8h1fx0HCFgfYMtrO0hjR2DeLHchn89F1x6o2fGisllLQ38vfCZWIqy3wXfLPuf5q6WM6nHe8gQ==
+
+"@xmpp/events@^0.9.0":
+  version "0.9.0"
+  resolved "https://registry.yarnpkg.com/@xmpp/events/-/events-0.9.0.tgz#60d181390fc6b080f5487c6877c3a8fa25276d1a"
+  integrity sha512-ckOtr2u4NfsJxq7cl/6aZbQh3aXkrZHXOmm4Q+hdbUECZxpE1AxRu0QuxVS8yqmx+eVjGzOX98My4c0Dbe6CfQ==
+  dependencies:
+    events "^3.0.0"
+
+"@xmpp/id@^0.9.0":
+  version "0.9.0"
+  resolved "https://registry.yarnpkg.com/@xmpp/id/-/id-0.9.0.tgz#baee9afad8ab7c5a3f3b000b2f98c02ddef67674"
+  integrity sha512-h7ycA0kDYM8fTObqtys92L3JTECnv6TUoUKP7Canq9xQP1k3K//ZMnMMFXc8NlU3Jl2U7V1Ny9zJlYM9gYv25w==
+
+"@xmpp/iq@^0.9.2":
+  version "0.9.2"
+  resolved "https://registry.yarnpkg.com/@xmpp/iq/-/iq-0.9.2.tgz#0a16cf672eb03a7b7358d74835f00cca3aca7113"
+  integrity sha512-XCEuMj0JH41F7VgvKpF95lG4giXb/lyV0FbDmms3owCfWCEdaCxVJ8PzNZLq2rcUNCg/L1fvA+tUgZGqWMjnNw==
+  dependencies:
+    "@xmpp/events" "^0.9.0"
+    "@xmpp/id" "^0.9.0"
+    "@xmpp/middleware" "^0.9.2"
+    "@xmpp/xml" "^0.9.2"
+
+"@xmpp/jid@^0.9.2":
+  version "0.9.2"
+  resolved "https://registry.yarnpkg.com/@xmpp/jid/-/jid-0.9.2.tgz#2b87c466834e0618e226be4119b1d54fd828c7da"
+  integrity sha512-mCWUhs/2C2/qB75m4x4VEEDMvs7ymcqZFjnrtgA3/i005+NLBHeZzzHiEo0n+VWVuyEE/6wrOmI/U2LkCGkEMA==
+
+"@xmpp/middleware@^0.9.2":
+  version "0.9.2"
+  resolved "https://registry.yarnpkg.com/@xmpp/middleware/-/middleware-0.9.2.tgz#40b0a6b9ce5473524f46c0841eed30fcb7ca956e"
+  integrity sha512-ayvUm8+5gWQzq9iIh8YtzDENJAaZvIOSrmZtDfExKCewZlPSyqlMcMM96JqImyiIzXCj45q7qfaFmekZoYWt6g==
+  dependencies:
+    "@xmpp/error" "^0.9.0"
+    "@xmpp/jid" "^0.9.2"
+    "@xmpp/xml" "^0.9.2"
+    koa-compose "^4.1.0"
+
+"@xmpp/reconnect@^0.9.0":
+  version "0.9.0"
+  resolved "https://registry.yarnpkg.com/@xmpp/reconnect/-/reconnect-0.9.0.tgz#50f5d8e791021f0d19b34a13cb9ea495eae8a6be"
+  integrity sha512-c7SicqcosnXpJ+s4jjGof94FzHEChKiInTf4Colh7WkVWwXtsGrRU1PMYIbX3P/58t5EqgZvfCYQrGjsWSB0kg==
+  dependencies:
+    "@xmpp/events" "^0.9.0"
+
+"@xmpp/resolve@^0.9.2":
+  version "0.9.2"
+  resolved "https://registry.yarnpkg.com/@xmpp/resolve/-/resolve-0.9.2.tgz#530d8df631d3cb920abc5cc84b470966c71ce9a4"
+  integrity sha512-c0Ff0PSecGNnE2yOkDMd6IXJA9EFlKJWB2qfbfT+i24NObXjFsBeUnEdxlI0F4eFkAyxQYNvn8qPRX4bfPJlCw==
+  dependencies:
+    "@xmpp/events" "^0.9.0"
+    "@xmpp/xml" "^0.9.2"
+    node-fetch "^2.3.0"
+
+"@xmpp/resource-binding@^0.9.2":
+  version "0.9.2"
+  resolved "https://registry.yarnpkg.com/@xmpp/resource-binding/-/resource-binding-0.9.2.tgz#49d440ab47e886bbbee5f27966e28a4619eb60bb"
+  integrity sha512-fwDY35KF6MmMSv+VJS+P5KlFd1tz5QCS/5KMo78egmlv6IiBNJILOsV36t7vnPFBj9yHNomv/lJAsNt/ApkkfQ==
+  dependencies:
+    "@xmpp/xml" "^0.9.2"
+
+"@xmpp/sasl-anonymous@^0.9.0":
+  version "0.9.0"
+  resolved "https://registry.yarnpkg.com/@xmpp/sasl-anonymous/-/sasl-anonymous-0.9.0.tgz#dbd38751c17c41fd5aef91c1384ce3ade8099f33"
+  integrity sha512-F7t5LnSfmvybLBUsEOFkhvEJgY+CKdO09r5lmup5SvtYPIXMjLOb26qS+hn68woz2s1sk+tj5VUzEm/NbmfgAQ==
+  dependencies:
+    sasl-anonymous "^0.1.0"
+
+"@xmpp/sasl-plain@^0.9.0":
+  version "0.9.0"
+  resolved "https://registry.yarnpkg.com/@xmpp/sasl-plain/-/sasl-plain-0.9.0.tgz#6b8d4a2e882685e460cdfb2181d00ac00904f606"
+  integrity sha512-7Jn34z88cy1khFYYFCnRQw0K10O+XxDKK13ImuOOS+tag+7ulvd2wT1cWJFcRIBsDvZJSqqROBfqXwHgd4PrYg==
+  dependencies:
+    sasl-plain "^0.1.0"
+
+"@xmpp/sasl-scram-sha-1@^0.9.0":
+  version "0.9.0"
+  resolved "https://registry.yarnpkg.com/@xmpp/sasl-scram-sha-1/-/sasl-scram-sha-1-0.9.0.tgz#ee7acbba4393262db6a864630868948de031a4e4"
+  integrity sha512-AXV+Z5nwKKfkqg/XKsVi/fpJrJvhwUdZHxz84+cSskmfmD47cZw07eWkbFubs551qlAKeM/viSRE0WEaZqe4mA==
+  dependencies:
+    sasl-scram-sha-1 "^1.2.0"
+
+"@xmpp/sasl@^0.9.2":
+  version "0.9.2"
+  resolved "https://registry.yarnpkg.com/@xmpp/sasl/-/sasl-0.9.2.tgz#69b7995520c6330f4e5a8b67127ac942c94163ee"
+  integrity sha512-58Fi0jkGB5o9JnRhF9SIJ3c6YdZsrxIAGMA2qksvTJfKdytx0OqmhoFU4mTxfV4fckvTOboEvYZlDSqQ26XPqQ==
+  dependencies:
+    "@xmpp/base64" "^0.9.0"
+    "@xmpp/error" "^0.9.0"
+    "@xmpp/xml" "^0.9.2"
+    saslmechanisms "^0.1.1"
+
+"@xmpp/session-establishment@^0.9.2":
+  version "0.9.2"
+  resolved "https://registry.yarnpkg.com/@xmpp/session-establishment/-/session-establishment-0.9.2.tgz#f648879236df9c95a48bb08e4eb71b3c7be21ab9"
+  integrity sha512-p0WGTNxHusUOaNj72uVejAO94w8AvEwTMDfbtqHqMmotW4Lyw9xPgHgD7GFrCmU8S3OSWfyu36niXSgkrGJ2hg==
+  dependencies:
+    "@xmpp/xml" "^0.9.2"
+
+"@xmpp/starttls@^0.9.2":
+  version "0.9.2"
+  resolved "https://registry.yarnpkg.com/@xmpp/starttls/-/starttls-0.9.2.tgz#656ec7c80928863a37e026fdd5b4f6966f3c15fc"
+  integrity sha512-/rjpHb8RAN+LXug7aiMeDc8or/kBsy1Y8Cx/jVKN3aRTR6S35J/s+o9EB8apkZAPjNVO3pqcM3rh+K2wnA+f4w==
+  dependencies:
+    "@xmpp/events" "^0.9.0"
+    "@xmpp/xml" "^0.9.2"
+
+"@xmpp/stream-features@^0.9.0":
+  version "0.9.0"
+  resolved "https://registry.yarnpkg.com/@xmpp/stream-features/-/stream-features-0.9.0.tgz#5202943ccb9ad99c2750a705e40d80c24b2e5b7c"
+  integrity sha512-kO3sUE9+E1/0SoVe5KVbA/jrMIUp8vkk7kcEIzv3TBLQLlA0nnrbaTh3Wf1fvuOtJ8L2Tj1J06haLORY6h6rHQ==
+
+"@xmpp/tcp@^0.9.2":
+  version "0.9.2"
+  resolved "https://registry.yarnpkg.com/@xmpp/tcp/-/tcp-0.9.2.tgz#d7810e68cca65078500f3d23ac4e8901474aae24"
+  integrity sha512-5sQPK6XDrEBxGGNTbyDlowBFIz04wSgnfmgw1jtz13v6fSK6ADypSX4sHNxBwhBa9RQ5kc/xEPWUU/p47AxCPQ==
+  dependencies:
+    "@xmpp/connection-tcp" "^0.9.2"
+
+"@xmpp/tls@^0.9.2":
+  version "0.9.2"
+  resolved "https://registry.yarnpkg.com/@xmpp/tls/-/tls-0.9.2.tgz#bc826e36bd65dc3b2516e4a563dc53ac8307746c"
+  integrity sha512-Iqp8xKFwV7pLYS0Bl5GAC0UtHYhGw9TZfKb4Nc4FDewkL74WdFsIcXqZuGo0Ry4xnJ8TBSkWi2oEE1hYGUytAw==
+  dependencies:
+    "@xmpp/connection" "^0.9.2"
+    "@xmpp/connection-tcp" "^0.9.2"
+
+"@xmpp/websocket@^0.9.2":
+  version "0.9.2"
+  resolved "https://registry.yarnpkg.com/@xmpp/websocket/-/websocket-0.9.2.tgz#f8f4aabaaa0ce429f573a7cc2c0534ea16b38dde"
+  integrity sha512-6Bhv16psT4qZBhmhhd8T6wwCXGBhOkXCQCH2954gHqbMTKsZL3xkL6WM9O2doiHO1ffvLERy/ofOoPSLfOLPzA==
+  dependencies:
+    "@xmpp/connection" "^0.9.2"
+    "@xmpp/xml" "^0.9.2"
+    ws "^7.0.0"
+
+"@xmpp/xml@^0.9.2":
+  version "0.9.2"
+  resolved "https://registry.yarnpkg.com/@xmpp/xml/-/xml-0.9.2.tgz#7d02ba15820b81853833a86531abe3e0d1f9abd5"
+  integrity sha512-xhPT3/EtTK0gsOLYyYmvoQncof1EQnE8P2eVBtUy/3Mt5FKhZI+gNsTkn+ORYjgkyHWfupIa9pN0/m7A89TCdA==
+  dependencies:
+    ltx "^2.8.1"
+
+abab@^2.0.3, abab@^2.0.5:
+  version "2.0.5"
+  resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a"
+  integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==
+
+abbrev@1:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
+  integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
+
+abort-controller@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392"
+  integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==
+  dependencies:
+    event-target-shim "^5.0.0"
+
+abstract-logging@^2.0.0:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/abstract-logging/-/abstract-logging-2.0.1.tgz#6b0c371df212db7129b57d2e7fcf282b8bf1c839"
+  integrity sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==
+
+accepts@~1.3.5, accepts@~1.3.7:
+  version "1.3.7"
+  resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd"
+  integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==
+  dependencies:
+    mime-types "~2.1.24"
+    negotiator "0.6.2"
+
+acme-client@*:
+  version "4.1.3"
+  resolved "https://registry.yarnpkg.com/acme-client/-/acme-client-4.1.3.tgz#2a37c7c8835da259eeb0cbfd8bcb7be3b9e4725b"
+  integrity sha512-QL3F5us72ChCDsrSztGnTRo1HXBaOeptyUi6v2PNksZL728wZ3ZaxAST+QcfhAt2tOrr9Zl6zJorqS5vLBTtXA==
+  dependencies:
+    axios "0.21.1"
+    backo2 "^1.0.0"
+    bluebird "^3.5.0"
+    debug "^4.1.1"
+    node-forge "^0.10.0"
+
+acorn-globals@^6.0.0:
+  version "6.0.0"
+  resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45"
+  integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==
+  dependencies:
+    acorn "^7.1.1"
+    acorn-walk "^7.1.1"
+
+acorn-jsx@^3.0.0:
+  version "3.0.1"
+  resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b"
+  integrity sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=
+  dependencies:
+    acorn "^3.0.4"
+
+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@^3.0.4, acorn@^3.3.0:
+  version "3.3.0"
+  resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a"
+  integrity sha1-ReN/s56No/JbruP/U2niu18iAXo=
+
+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==
+
+aedes-packet@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/aedes-packet/-/aedes-packet-1.0.0.tgz#2eea46f97c925b0a1f4d03f4f1fe5ef887b100f1"
+  integrity sha1-LupG+XySWwofTQP08f5e+IexAPE=
+
+aedes-persistence@^6.0.0:
+  version "6.0.0"
+  resolved "https://registry.yarnpkg.com/aedes-persistence/-/aedes-persistence-6.0.0.tgz#e9eb15288a3be1a8e9fc7f231df2237ca0978eb1"
+  integrity sha512-LVk80Mg6bCfQgbcyo16ipuFo5KdORVxtzFAMmaisE3Hkydwt5H9I02gmF5IPADF5zPk0RfYxumQ4IIV1+jEp7Q==
+  dependencies:
+    aedes-packet "^1.0.0"
+    from2 "^2.1.0"
+    qlobber "^3.0.2"
+
+aedes@0.39.0:
+  version "0.39.0"
+  resolved "https://registry.yarnpkg.com/aedes/-/aedes-0.39.0.tgz#125e2f1e53a600f3a0bfde26431997deed27f117"
+  integrity sha512-AV7pN4Ogt4tNNgNNabKjsC7Cw7bMMNjQH1hua4zQV0TFf/QEBPVu1YDZMH3Lrrt2XziydQzmBrBc5aAQvAq5FQ==
+  dependencies:
+    aedes-packet "^1.0.0"
+    aedes-persistence "^6.0.0"
+    bulk-write-stream "^2.0.0"
+    end-of-stream "^1.4.1"
+    fastfall "^1.5.1"
+    fastparallel "^2.3.0"
+    fastseries "^1.7.2"
+    from2 "^2.3.0"
+    mqemitter "^3.0.0"
+    mqtt-packet "^6.1.2"
+    pump "^3.0.0"
+    retimer "^2.0.0"
+    reusify "^1.0.4"
+    shortid "^2.2.14"
+    through2 "^3.0.1"
+    uuid "^3.3.2"
+
+aes-js@^3.1.2:
+  version "3.1.2"
+  resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.1.2.tgz#db9aabde85d5caabbfc0d4f2a4446960f627146a"
+  integrity sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ==
+
+agent-base@6:
+  version "6.0.2"
+  resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77"
+  integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==
+  dependencies:
+    debug "4"
+
+ajv@^6.12.3:
+  version "6.12.6"
+  resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
+  integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
+  dependencies:
+    fast-deep-equal "^3.1.1"
+    fast-json-stable-stringify "^2.0.0"
+    json-schema-traverse "^0.4.1"
+    uri-js "^4.2.2"
+
+align-text@^0.1.1, align-text@^0.1.3:
+  version "0.1.4"
+  resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117"
+  integrity sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=
+  dependencies:
+    kind-of "^3.0.2"
+    longest "^1.0.1"
+    repeat-string "^1.5.2"
+
+amdefine@>=0.0.4:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
+  integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=
+
+ansi-escape-sequences@^2.2.1, ansi-escape-sequences@^2.2.2:
+  version "2.2.2"
+  resolved "https://registry.yarnpkg.com/ansi-escape-sequences/-/ansi-escape-sequences-2.2.2.tgz#174c78d6f8b7de75f8957ae81c7f72210c701635"
+  integrity sha1-F0x41vi33nX4lXroHH9yIQxwFjU=
+  dependencies:
+    array-back "^1.0.2"
+    collect-all "~0.2.1"
+
+ansi-escape-sequences@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/ansi-escape-sequences/-/ansi-escape-sequences-3.0.0.tgz#1c18394b6af9b76ff9a63509fa497669fd2ce53e"
+  integrity sha1-HBg5S2r5t2/5pjUJ+kl2af0s5T4=
+  dependencies:
+    array-back "^1.0.3"
+
+ansi-regex@^2.0.0:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
+  integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8=
+
+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-styles@^2.2.1:
+  version "2.2.1"
+  resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
+  integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=
+
+ansi-styles@^3.2.0, ansi-styles@^3.2.1:
+  version "3.2.1"
+  resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
+  integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
+  dependencies:
+    color-convert "^1.9.0"
+
+ansi-styles@^4.1.0:
+  version "4.3.0"
+  resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
+  integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
+  dependencies:
+    color-convert "^2.0.1"
+
+anymatch@^1.3.0:
+  version "1.3.2"
+  resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a"
+  integrity sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==
+  dependencies:
+    micromatch "^2.1.5"
+    normalize-path "^2.0.0"
+
+app-usage-stats@^0.4.0:
+  version "0.4.1"
+  resolved "https://registry.yarnpkg.com/app-usage-stats/-/app-usage-stats-0.4.1.tgz#97eb9b89b5678fa2ddc9793b1298628cc218429f"
+  integrity sha1-l+ubibVnj6LdyXk7EphijMIYQp8=
+  dependencies:
+    array-back "^1.0.4"
+    core-js "^2.4.1"
+    feature-detect-es6 "^1.3.1"
+    home-path "^1.0.3"
+    test-value "^2.1.0"
+    usage-stats "^0.8.2"
+
+append-transform@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-1.0.0.tgz#046a52ae582a228bd72f58acfbe2967c678759ab"
+  integrity sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==
+  dependencies:
+    default-require-extensions "^2.0.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-zip-encrypted@*:
+  version "1.0.10"
+  resolved "https://registry.yarnpkg.com/archiver-zip-encrypted/-/archiver-zip-encrypted-1.0.10.tgz#4218a602b6088480703996808484fc1fc4a60a41"
+  integrity sha512-Lrufx6UOithz1Z4C0PrwTsbF7qak/TDhMs3nAC/mFxV/tPKKaMhdjUgHV1UqRjcu2FaS8ghNexFVcNZ+CdFaXA==
+  dependencies:
+    aes-js "^3.1.2"
+    archiver "^5.3.0"
+    archiver-utils "^2.1.0"
+    buffer-crc32 "^0.2.13"
+    compress-commons "^4.1.1"
+    crc32-stream "^4.0.2"
+    zip-stream "^4.1.0"
+
+archiver@4.0.2:
+  version "4.0.2"
+  resolved "https://registry.yarnpkg.com/archiver/-/archiver-4.0.2.tgz#43c72865eadb4ddaaa2fb74852527b6a450d927c"
+  integrity sha512-B9IZjlGwaxF33UN4oPbfBkyA4V1SxNLeIhR1qY8sRXSsbdUkEHrrOvwlYFPx+8uQeCe9M+FG6KgO+imDmQ79CQ==
+  dependencies:
+    archiver-utils "^2.1.0"
+    async "^3.2.0"
+    buffer-crc32 "^0.2.1"
+    glob "^7.1.6"
+    readable-stream "^3.6.0"
+    tar-stream "^2.1.2"
+    zip-stream "^3.0.1"
+
+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"
+
+archy@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40"
+  integrity sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=
+
+argparse@^1.0.7:
+  version "1.0.10"
+  resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
+  integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
+  dependencies:
+    sprintf-js "~1.0.2"
+
+arr-diff@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf"
+  integrity sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=
+  dependencies:
+    arr-flatten "^1.0.1"
+
+arr-diff@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520"
+  integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=
+
+arr-flatten@^1.0.1, arr-flatten@^1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1"
+  integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==
+
+arr-union@^3.1.0:
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4"
+  integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=
+
+array-back@^1.0.2, array-back@^1.0.3, array-back@^1.0.4:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/array-back/-/array-back-1.0.4.tgz#644ba7f095f7ffcf7c43b5f0dc39d3c1f03c063b"
+  integrity sha1-ZEun8JX3/898Q7Xw3DnTwfA8Bjs=
+  dependencies:
+    typical "^2.6.0"
+
+array-each@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/array-each/-/array-each-1.0.1.tgz#a794af0c05ab1752846ee753a1f211a05ba0c44f"
+  integrity sha1-p5SvDAWrF1KEbudTofIRoFugxE8=
+
+array-flatten@1.1.1:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
+  integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=
+
+array-slice@^1.0.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-1.1.0.tgz#e368ea15f89bc7069f7ffb89aec3a6c7d4ac22d4"
+  integrity sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==
+
+array-tools@^1.0.6, array-tools@^1.1.0, array-tools@^1.1.4, array-tools@^1.8.4:
+  version "1.8.6"
+  resolved "https://registry.yarnpkg.com/array-tools/-/array-tools-1.8.6.tgz#145771f7f9c94e98cc5ea4196a99b8323aee18ae"
+  integrity sha1-FFdx9/nJTpjMXqQZapm4MjruGK4=
+  dependencies:
+    object-tools "^1.6.1"
+    typical "^2.1"
+
+array-tools@^2:
+  version "2.0.9"
+  resolved "https://registry.yarnpkg.com/array-tools/-/array-tools-2.0.9.tgz#5a511de7a41be0eec9ffdcd4912d0af9f0caca35"
+  integrity sha1-WlEd56Qb4O7J/9zUkS0K+fDKyjU=
+  dependencies:
+    ansi-escape-sequences "^2.2.2"
+    array-back "^1.0.2"
+    collect-json "^1.0.7"
+    filter-where "^1.0.1"
+    object-get "^2.0.0"
+    reduce-extract "^1.0.0"
+    reduce-flatten "^1.0.0"
+    reduce-unique "^1.0.0"
+    reduce-without "^1.0.0"
+    sort-array "^1.0.0"
+    test-value "^1.0.1"
+
+array-unique@^0.2.1:
+  version "0.2.1"
+  resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53"
+  integrity sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=
+
+array-unique@^0.3.2:
+  version "0.3.2"
+  resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
+  integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=
+
+arrify@^2.0.0:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa"
+  integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==
+
+asap@^2.0.0, asap@~2.0.3, asap@~2.0.6:
+  version "2.0.6"
+  resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46"
+  integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=
+
+asn1.js@^5.3.0:
+  version "5.4.1"
+  resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07"
+  integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==
+  dependencies:
+    bn.js "^4.0.0"
+    inherits "^2.0.1"
+    minimalistic-assert "^1.0.0"
+    safer-buffer "^2.1.0"
+
+asn1@^0.2.4, asn1@~0.2.3:
+  version "0.2.4"
+  resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136"
+  integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==
+  dependencies:
+    safer-buffer "~2.1.0"
+
+assert-plus@1.0.0, assert-plus@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
+  integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=
+
+assign-symbols@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"
+  integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=
+
+async-each@^1.0.0:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf"
+  integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==
+
+async-limiter@~1.0.0:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd"
+  integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==
+
+async@0.2.10:
+  version "0.2.10"
+  resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1"
+  integrity sha1-trvgsGdLnXGXCMo43owjfLUmw9E=
+
+async@^2.0.1:
+  version "2.6.3"
+  resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff"
+  integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==
+  dependencies:
+    lodash "^4.17.14"
+
+async@^3.2.0, async@~3.2.0:
+  version "3.2.1"
+  resolved "https://registry.yarnpkg.com/async/-/async-3.2.1.tgz#d3274ec66d107a47476a4c49136aacdb00665fc8"
+  integrity sha512-XdD5lRO/87udXCMC9meWdYiR+Nq6ZjUfXidViUZGu2F1MO4T3XwZ1et0hb2++BgLfhyJwy44BGB/yx80ABx8hg==
+
+asynckit@^0.4.0:
+  version "0.4.0"
+  resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
+  integrity sha1-x57Zf380y48robyXkLzDZkdLS3k=
+
+atob@^2.1.2:
+  version "2.1.2"
+  resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
+  integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
+
+aws-sign2@~0.7.0:
+  version "0.7.0"
+  resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
+  integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=
+
+aws4@^1.8.0:
+  version "1.11.0"
+  resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59"
+  integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==
+
+axios@0.21.1, axios@^0.21.1:
+  version "0.21.1"
+  resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.1.tgz#22563481962f4d6bde9a76d516ef0e5d3c09b2b8"
+  integrity sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==
+  dependencies:
+    follow-redirects "^1.10.0"
+
+babel-cli@^6.16.0:
+  version "6.26.0"
+  resolved "https://registry.yarnpkg.com/babel-cli/-/babel-cli-6.26.0.tgz#502ab54874d7db88ad00b887a06383ce03d002f1"
+  integrity sha1-UCq1SHTX24itALiHoGODzgPQAvE=
+  dependencies:
+    babel-core "^6.26.0"
+    babel-polyfill "^6.26.0"
+    babel-register "^6.26.0"
+    babel-runtime "^6.26.0"
+    commander "^2.11.0"
+    convert-source-map "^1.5.0"
+    fs-readdir-recursive "^1.0.0"
+    glob "^7.1.2"
+    lodash "^4.17.4"
+    output-file-sync "^1.1.2"
+    path-is-absolute "^1.0.1"
+    slash "^1.0.0"
+    source-map "^0.5.6"
+    v8flags "^2.1.1"
+  optionalDependencies:
+    chokidar "^1.6.1"
+
+babel-code-frame@^6.26.0:
+  version "6.26.0"
+  resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
+  integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=
+  dependencies:
+    chalk "^1.1.3"
+    esutils "^2.0.2"
+    js-tokens "^3.0.2"
+
+babel-core@^6.26.0:
+  version "6.26.3"
+  resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207"
+  integrity sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==
+  dependencies:
+    babel-code-frame "^6.26.0"
+    babel-generator "^6.26.0"
+    babel-helpers "^6.24.1"
+    babel-messages "^6.23.0"
+    babel-register "^6.26.0"
+    babel-runtime "^6.26.0"
+    babel-template "^6.26.0"
+    babel-traverse "^6.26.0"
+    babel-types "^6.26.0"
+    babylon "^6.18.0"
+    convert-source-map "^1.5.1"
+    debug "^2.6.9"
+    json5 "^0.5.1"
+    lodash "^4.17.4"
+    minimatch "^3.0.4"
+    path-is-absolute "^1.0.1"
+    private "^0.1.8"
+    slash "^1.0.0"
+    source-map "^0.5.7"
+
+babel-generator@^6.26.0:
+  version "6.26.1"
+  resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90"
+  integrity sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==
+  dependencies:
+    babel-messages "^6.23.0"
+    babel-runtime "^6.26.0"
+    babel-types "^6.26.0"
+    detect-indent "^4.0.0"
+    jsesc "^1.3.0"
+    lodash "^4.17.4"
+    source-map "^0.5.7"
+    trim-right "^1.0.1"
+
+babel-helper-call-delegate@^6.24.1:
+  version "6.24.1"
+  resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d"
+  integrity sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=
+  dependencies:
+    babel-helper-hoist-variables "^6.24.1"
+    babel-runtime "^6.22.0"
+    babel-traverse "^6.24.1"
+    babel-types "^6.24.1"
+
+babel-helper-define-map@^6.24.1:
+  version "6.26.0"
+  resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz#a5f56dab41a25f97ecb498c7ebaca9819f95be5f"
+  integrity sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=
+  dependencies:
+    babel-helper-function-name "^6.24.1"
+    babel-runtime "^6.26.0"
+    babel-types "^6.26.0"
+    lodash "^4.17.4"
+
+babel-helper-function-name@^6.24.1:
+  version "6.24.1"
+  resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9"
+  integrity sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=
+  dependencies:
+    babel-helper-get-function-arity "^6.24.1"
+    babel-runtime "^6.22.0"
+    babel-template "^6.24.1"
+    babel-traverse "^6.24.1"
+    babel-types "^6.24.1"
+
+babel-helper-get-function-arity@^6.24.1:
+  version "6.24.1"
+  resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d"
+  integrity sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=
+  dependencies:
+    babel-runtime "^6.22.0"
+    babel-types "^6.24.1"
+
+babel-helper-hoist-variables@^6.24.1:
+  version "6.24.1"
+  resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76"
+  integrity sha1-HssnaJydJVE+rbyZFKc/VAi+enY=
+  dependencies:
+    babel-runtime "^6.22.0"
+    babel-types "^6.24.1"
+
+babel-helper-optimise-call-expression@^6.24.1:
+  version "6.24.1"
+  resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257"
+  integrity sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=
+  dependencies:
+    babel-runtime "^6.22.0"
+    babel-types "^6.24.1"
+
+babel-helper-regex@^6.24.1:
+  version "6.26.0"
+  resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz#325c59f902f82f24b74faceed0363954f6495e72"
+  integrity sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=
+  dependencies:
+    babel-runtime "^6.26.0"
+    babel-types "^6.26.0"
+    lodash "^4.17.4"
+
+babel-helper-replace-supers@^6.24.1:
+  version "6.24.1"
+  resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a"
+  integrity sha1-v22/5Dk40XNpohPKiov3S2qQqxo=
+  dependencies:
+    babel-helper-optimise-call-expression "^6.24.1"
+    babel-messages "^6.23.0"
+    babel-runtime "^6.22.0"
+    babel-template "^6.24.1"
+    babel-traverse "^6.24.1"
+    babel-types "^6.24.1"
+
+babel-helpers@^6.24.1:
+  version "6.24.1"
+  resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2"
+  integrity sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=
+  dependencies:
+    babel-runtime "^6.22.0"
+    babel-template "^6.24.1"
+
+babel-messages@^6.23.0:
+  version "6.23.0"
+  resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e"
+  integrity sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=
+  dependencies:
+    babel-runtime "^6.22.0"
+
+babel-plugin-check-es2015-constants@^6.22.0:
+  version "6.22.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a"
+  integrity sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=
+  dependencies:
+    babel-runtime "^6.22.0"
+
+babel-plugin-transform-es2015-arrow-functions@^6.22.0:
+  version "6.22.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221"
+  integrity sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=
+  dependencies:
+    babel-runtime "^6.22.0"
+
+babel-plugin-transform-es2015-block-scoped-functions@^6.22.0:
+  version "6.22.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141"
+  integrity sha1-u8UbSflk1wy42OC5ToICRs46YUE=
+  dependencies:
+    babel-runtime "^6.22.0"
+
+babel-plugin-transform-es2015-block-scoping@^6.24.1:
+  version "6.26.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz#d70f5299c1308d05c12f463813b0a09e73b1895f"
+  integrity sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=
+  dependencies:
+    babel-runtime "^6.26.0"
+    babel-template "^6.26.0"
+    babel-traverse "^6.26.0"
+    babel-types "^6.26.0"
+    lodash "^4.17.4"
+
+babel-plugin-transform-es2015-classes@^6.24.1:
+  version "6.24.1"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db"
+  integrity sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=
+  dependencies:
+    babel-helper-define-map "^6.24.1"
+    babel-helper-function-name "^6.24.1"
+    babel-helper-optimise-call-expression "^6.24.1"
+    babel-helper-replace-supers "^6.24.1"
+    babel-messages "^6.23.0"
+    babel-runtime "^6.22.0"
+    babel-template "^6.24.1"
+    babel-traverse "^6.24.1"
+    babel-types "^6.24.1"
+
+babel-plugin-transform-es2015-computed-properties@^6.24.1:
+  version "6.24.1"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3"
+  integrity sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=
+  dependencies:
+    babel-runtime "^6.22.0"
+    babel-template "^6.24.1"
+
+babel-plugin-transform-es2015-destructuring@^6.22.0:
+  version "6.23.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d"
+  integrity sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=
+  dependencies:
+    babel-runtime "^6.22.0"
+
+babel-plugin-transform-es2015-duplicate-keys@^6.24.1:
+  version "6.24.1"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e"
+  integrity sha1-c+s9MQypaePvnskcU3QabxV2Qj4=
+  dependencies:
+    babel-runtime "^6.22.0"
+    babel-types "^6.24.1"
+
+babel-plugin-transform-es2015-for-of@^6.22.0:
+  version "6.23.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691"
+  integrity sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=
+  dependencies:
+    babel-runtime "^6.22.0"
+
+babel-plugin-transform-es2015-function-name@^6.24.1:
+  version "6.24.1"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b"
+  integrity sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=
+  dependencies:
+    babel-helper-function-name "^6.24.1"
+    babel-runtime "^6.22.0"
+    babel-types "^6.24.1"
+
+babel-plugin-transform-es2015-literals@^6.22.0:
+  version "6.22.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e"
+  integrity sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=
+  dependencies:
+    babel-runtime "^6.22.0"
+
+babel-plugin-transform-es2015-modules-amd@^6.24.1:
+  version "6.24.1"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154"
+  integrity sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=
+  dependencies:
+    babel-plugin-transform-es2015-modules-commonjs "^6.24.1"
+    babel-runtime "^6.22.0"
+    babel-template "^6.24.1"
+
+babel-plugin-transform-es2015-modules-commonjs@^6.24.1:
+  version "6.26.2"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz#58a793863a9e7ca870bdc5a881117ffac27db6f3"
+  integrity sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==
+  dependencies:
+    babel-plugin-transform-strict-mode "^6.24.1"
+    babel-runtime "^6.26.0"
+    babel-template "^6.26.0"
+    babel-types "^6.26.0"
+
+babel-plugin-transform-es2015-modules-systemjs@^6.24.1:
+  version "6.24.1"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23"
+  integrity sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=
+  dependencies:
+    babel-helper-hoist-variables "^6.24.1"
+    babel-runtime "^6.22.0"
+    babel-template "^6.24.1"
+
+babel-plugin-transform-es2015-modules-umd@^6.24.1:
+  version "6.24.1"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468"
+  integrity sha1-rJl+YoXNGO1hdq22B9YCNErThGg=
+  dependencies:
+    babel-plugin-transform-es2015-modules-amd "^6.24.1"
+    babel-runtime "^6.22.0"
+    babel-template "^6.24.1"
+
+babel-plugin-transform-es2015-object-super@^6.24.1:
+  version "6.24.1"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d"
+  integrity sha1-JM72muIcuDp/hgPa0CH1cusnj40=
+  dependencies:
+    babel-helper-replace-supers "^6.24.1"
+    babel-runtime "^6.22.0"
+
+babel-plugin-transform-es2015-parameters@^6.24.1:
+  version "6.24.1"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b"
+  integrity sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=
+  dependencies:
+    babel-helper-call-delegate "^6.24.1"
+    babel-helper-get-function-arity "^6.24.1"
+    babel-runtime "^6.22.0"
+    babel-template "^6.24.1"
+    babel-traverse "^6.24.1"
+    babel-types "^6.24.1"
+
+babel-plugin-transform-es2015-shorthand-properties@^6.24.1:
+  version "6.24.1"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0"
+  integrity sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=
+  dependencies:
+    babel-runtime "^6.22.0"
+    babel-types "^6.24.1"
+
+babel-plugin-transform-es2015-spread@^6.22.0:
+  version "6.22.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1"
+  integrity sha1-1taKmfia7cRTbIGlQujdnxdG+NE=
+  dependencies:
+    babel-runtime "^6.22.0"
+
+babel-plugin-transform-es2015-sticky-regex@^6.24.1:
+  version "6.24.1"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc"
+  integrity sha1-AMHNsaynERLN8M9hJsLta0V8zbw=
+  dependencies:
+    babel-helper-regex "^6.24.1"
+    babel-runtime "^6.22.0"
+    babel-types "^6.24.1"
+
+babel-plugin-transform-es2015-template-literals@^6.22.0:
+  version "6.22.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d"
+  integrity sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=
+  dependencies:
+    babel-runtime "^6.22.0"
+
+babel-plugin-transform-es2015-typeof-symbol@^6.22.0:
+  version "6.23.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372"
+  integrity sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=
+  dependencies:
+    babel-runtime "^6.22.0"
+
+babel-plugin-transform-es2015-unicode-regex@^6.24.1:
+  version "6.24.1"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9"
+  integrity sha1-04sS9C6nMj9yk4fxinxa4frrNek=
+  dependencies:
+    babel-helper-regex "^6.24.1"
+    babel-runtime "^6.22.0"
+    regexpu-core "^2.0.0"
+
+babel-plugin-transform-regenerator@^6.24.1:
+  version "6.26.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz#e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f"
+  integrity sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=
+  dependencies:
+    regenerator-transform "^0.10.0"
+
+babel-plugin-transform-strict-mode@^6.24.1:
+  version "6.24.1"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758"
+  integrity sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=
+  dependencies:
+    babel-runtime "^6.22.0"
+    babel-types "^6.24.1"
+
+babel-polyfill@^6.13.0, babel-polyfill@^6.26.0:
+  version "6.26.0"
+  resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.26.0.tgz#379937abc67d7895970adc621f284cd966cf2153"
+  integrity sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=
+  dependencies:
+    babel-runtime "^6.26.0"
+    core-js "^2.5.0"
+    regenerator-runtime "^0.10.5"
+
+babel-preset-es2015@^6.16.0:
+  version "6.24.1"
+  resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz#d44050d6bc2c9feea702aaf38d727a0210538939"
+  integrity sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=
+  dependencies:
+    babel-plugin-check-es2015-constants "^6.22.0"
+    babel-plugin-transform-es2015-arrow-functions "^6.22.0"
+    babel-plugin-transform-es2015-block-scoped-functions "^6.22.0"
+    babel-plugin-transform-es2015-block-scoping "^6.24.1"
+    babel-plugin-transform-es2015-classes "^6.24.1"
+    babel-plugin-transform-es2015-computed-properties "^6.24.1"
+    babel-plugin-transform-es2015-destructuring "^6.22.0"
+    babel-plugin-transform-es2015-duplicate-keys "^6.24.1"
+    babel-plugin-transform-es2015-for-of "^6.22.0"
+    babel-plugin-transform-es2015-function-name "^6.24.1"
+    babel-plugin-transform-es2015-literals "^6.22.0"
+    babel-plugin-transform-es2015-modules-amd "^6.24.1"
+    babel-plugin-transform-es2015-modules-commonjs "^6.24.1"
+    babel-plugin-transform-es2015-modules-systemjs "^6.24.1"
+    babel-plugin-transform-es2015-modules-umd "^6.24.1"
+    babel-plugin-transform-es2015-object-super "^6.24.1"
+    babel-plugin-transform-es2015-parameters "^6.24.1"
+    babel-plugin-transform-es2015-shorthand-properties "^6.24.1"
+    babel-plugin-transform-es2015-spread "^6.22.0"
+    babel-plugin-transform-es2015-sticky-regex "^6.24.1"
+    babel-plugin-transform-es2015-template-literals "^6.22.0"
+    babel-plugin-transform-es2015-typeof-symbol "^6.22.0"
+    babel-plugin-transform-es2015-unicode-regex "^6.24.1"
+    babel-plugin-transform-regenerator "^6.24.1"
+
+babel-register@^6.26.0:
+  version "6.26.0"
+  resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071"
+  integrity sha1-btAhFz4vy0htestFxgCahW9kcHE=
+  dependencies:
+    babel-core "^6.26.0"
+    babel-runtime "^6.26.0"
+    core-js "^2.5.0"
+    home-or-tmp "^2.0.0"
+    lodash "^4.17.4"
+    mkdirp "^0.5.1"
+    source-map-support "^0.4.15"
+
+babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0:
+  version "6.26.0"
+  resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
+  integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4=
+  dependencies:
+    core-js "^2.4.0"
+    regenerator-runtime "^0.11.0"
+
+babel-template@^6.24.1, babel-template@^6.26.0:
+  version "6.26.0"
+  resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02"
+  integrity sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=
+  dependencies:
+    babel-runtime "^6.26.0"
+    babel-traverse "^6.26.0"
+    babel-types "^6.26.0"
+    babylon "^6.18.0"
+    lodash "^4.17.4"
+
+babel-traverse@^6.24.1, babel-traverse@^6.26.0:
+  version "6.26.0"
+  resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee"
+  integrity sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=
+  dependencies:
+    babel-code-frame "^6.26.0"
+    babel-messages "^6.23.0"
+    babel-runtime "^6.26.0"
+    babel-types "^6.26.0"
+    babylon "^6.18.0"
+    debug "^2.6.8"
+    globals "^9.18.0"
+    invariant "^2.2.2"
+    lodash "^4.17.4"
+
+babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0:
+  version "6.26.0"
+  resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497"
+  integrity sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=
+  dependencies:
+    babel-runtime "^6.26.0"
+    esutils "^2.0.2"
+    lodash "^4.17.4"
+    to-fast-properties "^1.0.3"
+
+babylon@^6.18.0:
+  version "6.18.0"
+  resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3"
+  integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==
+
+backo2@^1.0.0:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947"
+  integrity sha1-MasayLEpNjRj41s+u2n038+6eUc=
+
+backoff@^2.5.0:
+  version "2.5.0"
+  resolved "https://registry.yarnpkg.com/backoff/-/backoff-2.5.0.tgz#f616eda9d3e4b66b8ca7fca79f695722c5f8e26f"
+  integrity sha1-9hbtqdPktmuMp/ynn2lXIsX44m8=
+  dependencies:
+    precond "0.2"
+
+balanced-match@^1.0.0:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
+  integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
+
+base-64@^0.1.0:
+  version "0.1.0"
+  resolved "https://registry.yarnpkg.com/base-64/-/base-64-0.1.0.tgz#780a99c84e7d600260361511c4877613bf24f6bb"
+  integrity sha1-eAqZyE59YAJgNhURxId2E78k9rs=
+
+base-64@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/base-64/-/base-64-1.0.0.tgz#09d0f2084e32a3fd08c2475b973788eee6ae8f4a"
+  integrity sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==
+
+base64-js@^1.3.0, base64-js@^1.3.1:
+  version "1.5.1"
+  resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
+  integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
+
+base64url@3.x.x:
+  version "3.0.1"
+  resolved "https://registry.yarnpkg.com/base64url/-/base64url-3.0.1.tgz#6399d572e2bc3f90a9a8b22d5dbb0a32d33f788d"
+  integrity sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==
+
+base@^0.11.1:
+  version "0.11.2"
+  resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f"
+  integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==
+  dependencies:
+    cache-base "^1.0.1"
+    class-utils "^0.3.5"
+    component-emitter "^1.2.1"
+    define-property "^1.0.0"
+    isobject "^3.0.1"
+    mixin-deep "^1.2.0"
+    pascalcase "^0.1.1"
+
+bcrypt-pbkdf@^1.0.0, bcrypt-pbkdf@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"
+  integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=
+  dependencies:
+    tweetnacl "^0.14.3"
+
+bcryptjs@^2.4.0:
+  version "2.4.3"
+  resolved "https://registry.yarnpkg.com/bcryptjs/-/bcryptjs-2.4.3.tgz#9ab5627b93e60621ff7cdac5da9733027df1d0cb"
+  integrity sha1-mrVie5PmBiH/fNrF2pczAn3x0Ms=
+
+bignumber.js@9.0.0:
+  version "9.0.0"
+  resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.0.0.tgz#805880f84a329b5eac6e7cb6f8274b6d82bdf075"
+  integrity sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A==
+
+bignumber.js@^9.0.0, bignumber.js@^9.0.1:
+  version "9.0.1"
+  resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.0.1.tgz#8d7ba124c882bfd8e43260c67475518d0689e4e5"
+  integrity sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA==
+
+binary-extensions@^1.0.0:
+  version "1.13.1"
+  resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65"
+  integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==
+
+binary-search-tree@0.2.5:
+  version "0.2.5"
+  resolved "https://registry.yarnpkg.com/binary-search-tree/-/binary-search-tree-0.2.5.tgz#7dbb3b210fdca082450dad2334c304af39bdc784"
+  integrity sha1-fbs7IQ/coIJFDa0jNMMErzm9x4Q=
+  dependencies:
+    underscore "~1.4.4"
+
+binary-search@1.3.6:
+  version "1.3.6"
+  resolved "https://registry.yarnpkg.com/binary-search/-/binary-search-1.3.6.tgz#e32426016a0c5092f0f3598836a1c7da3560565c"
+  integrity sha512-nbE1WxOTTrUWIfsfZ4aHGYu5DOuNkbxGokjV6Z2kxfJK3uaAb8zNK1muzOeipoLHZjInT4Br88BHpzevc681xA==
+
+bindings@^1.1.1, bindings@^1.5.0:
+  version "1.5.0"
+  resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df"
+  integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==
+  dependencies:
+    file-uri-to-path "1.0.0"
+
+bitwise-xor@0.0.0:
+  version "0.0.0"
+  resolved "https://registry.yarnpkg.com/bitwise-xor/-/bitwise-xor-0.0.0.tgz#040a8172b5bb8cc562b0b7119f230b2a1a780e3d"
+  integrity sha1-BAqBcrW7jMVisLcRnyMLKhp4Dj0=
+
+bl@^2.2.1:
+  version "2.2.1"
+  resolved "https://registry.yarnpkg.com/bl/-/bl-2.2.1.tgz#8c11a7b730655c5d56898cdc871224f40fd901d5"
+  integrity sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g==
+  dependencies:
+    readable-stream "^2.3.5"
+    safe-buffer "^5.1.1"
+
+bl@^4.0.2, 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@^3.5.0:
+  version "3.7.2"
+  resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
+  integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
+
+bluebird@~3.4.6:
+  version "3.4.7"
+  resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.7.tgz#f72d760be09b7f76d08ed8fae98b289a8d05fab3"
+  integrity sha1-9y12C+Cbf3bQjtj66Ysomo0F+rM=
+
+bn.js@^4.0.0:
+  version "4.12.0"
+  resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88"
+  integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==
+
+body-parser@1.19.0, body-parser@^1.19.0:
+  version "1.19.0"
+  resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a"
+  integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==
+  dependencies:
+    bytes "3.1.0"
+    content-type "~1.0.4"
+    debug "2.6.9"
+    depd "~1.1.2"
+    http-errors "1.7.2"
+    iconv-lite "0.4.24"
+    on-finished "~2.3.0"
+    qs "6.7.0"
+    raw-body "2.4.0"
+    type-is "~1.6.17"
+
+brace-expansion@^1.0.0, brace-expansion@^1.1.7:
+  version "1.1.11"
+  resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
+  integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
+  dependencies:
+    balanced-match "^1.0.0"
+    concat-map "0.0.1"
+
+braces@^1.8.2:
+  version "1.8.5"
+  resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7"
+  integrity sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=
+  dependencies:
+    expand-range "^1.8.1"
+    preserve "^0.2.0"
+    repeat-element "^1.1.2"
+
+braces@^2.3.1:
+  version "2.3.2"
+  resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729"
+  integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==
+  dependencies:
+    arr-flatten "^1.1.0"
+    array-unique "^0.3.2"
+    extend-shallow "^2.0.1"
+    fill-range "^4.0.0"
+    isobject "^3.0.1"
+    repeat-element "^1.1.2"
+    snapdragon "^0.8.1"
+    snapdragon-node "^2.0.1"
+    split-string "^3.0.2"
+    to-regex "^3.0.1"
+
+braces@^3.0.1:
+  version "3.0.2"
+  resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
+  integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
+  dependencies:
+    fill-range "^7.0.1"
+
+browser-process-hrtime@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626"
+  integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==
+
+bson@^1.1.4:
+  version "1.1.6"
+  resolved "https://registry.yarnpkg.com/bson/-/bson-1.1.6.tgz#fb819be9a60cd677e0853aee4ca712a785d6618a"
+  integrity sha512-EvVNVeGo4tHxwi8L6bPj3y3itEvStdwvvlojVxxbyYfoaxJ6keLgrTuKdyfEAszFK+H3olzBuafE0yoh0D1gdg==
+
+bson@^4.4.0:
+  version "4.4.1"
+  resolved "https://registry.yarnpkg.com/bson/-/bson-4.4.1.tgz#682c3cb8b90b222414ce14ef8398154ba2cc21bc"
+  integrity sha512-Uu4OCZa0jouQJCKOk1EmmyqtdWAP5HVLru4lQxTwzJzxT+sJ13lVpEZU/MATDxtHiekWMAL84oQY3Xn1LpJVSg==
+  dependencies:
+    buffer "^5.6.0"
+
+buffer-crc32@^0.2.1, buffer-crc32@^0.2.13, 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=
+
+buffer-equal-constant-time@1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819"
+  integrity sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=
+
+buffer@^5.1.0, buffer@^5.5.0, buffer@^5.6.0:
+  version "5.7.1"
+  resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0"
+  integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==
+  dependencies:
+    base64-js "^1.3.1"
+    ieee754 "^1.1.13"
+
+build-url@^1.0.10:
+  version "1.3.3"
+  resolved "https://registry.yarnpkg.com/build-url/-/build-url-1.3.3.tgz#fad1ef30d8861931f85bc1f41fca0a537be31e5f"
+  integrity sha512-uSC8d+d4SlbXTu/9nBhwEKi33CE0KQgCvfy8QwyrrO5vCuXr9hN021ZBh8ip5vxPbMOrZiPwgqcupuhezxiP3g==
+
+bulk-write-stream@^2.0.0:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/bulk-write-stream/-/bulk-write-stream-2.0.1.tgz#085bdc65caf19ceece4ff365fdb951ef0c6e3db8"
+  integrity sha512-XWOLjgHtpDasHfwM8oO4df1JoZwa7/OwTsXDzh4rUTo+9CowzeOFBZz43w+H14h1fyq+xl28tVIBrdjcjj4Gug==
+  dependencies:
+    inherits "^2.0.3"
+    readable-stream "^3.1.1"
+
+bunyan@^1.8.12:
+  version "1.8.15"
+  resolved "https://registry.yarnpkg.com/bunyan/-/bunyan-1.8.15.tgz#8ce34ca908a17d0776576ca1b2f6cbd916e93b46"
+  integrity sha512-0tECWShh6wUysgucJcBAoYegf3JJoZWibxdqhTm7OHPeT42qdjkZ29QCMcKwbgU1kiH+auSIasNRXMLWXafXig==
+  optionalDependencies:
+    dtrace-provider "~0.8"
+    moment "^2.19.3"
+    mv "~2"
+    safe-json-stringify "~1"
+
+bytes@3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048"
+  integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=
+
+bytes@3.1.0:
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6"
+  integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==
+
+cache-base@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2"
+  integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==
+  dependencies:
+    collection-visit "^1.0.0"
+    component-emitter "^1.2.1"
+    get-value "^2.0.6"
+    has-value "^1.0.0"
+    isobject "^3.0.1"
+    set-value "^2.0.0"
+    to-object-path "^0.3.0"
+    union-value "^1.0.0"
+    unset-value "^1.0.0"
+
+cache-point@~0.3.3:
+  version "0.3.4"
+  resolved "https://registry.yarnpkg.com/cache-point/-/cache-point-0.3.4.tgz#152db502c6bb23b5aa3f663e230d5de8ec4e4f3f"
+  integrity sha1-FS21Asa7I7WqP2Y+Iw1d6OxOTz8=
+  dependencies:
+    array-back "^1.0.3"
+    core-js "^2.4.1"
+    feature-detect-es6 "^1.3.1"
+    fs-then-native "^1.0.2"
+    mkdirp "~0.5.1"
+
+caching-transform@^3.0.2:
+  version "3.0.2"
+  resolved "https://registry.yarnpkg.com/caching-transform/-/caching-transform-3.0.2.tgz#601d46b91eca87687a281e71cef99791b0efca70"
+  integrity sha512-Mtgcv3lh3U0zRii/6qVgQODdPA4G3zhG+jtbCWj39RXuUFTMzH0vcdMtaJS1jPowd+It2Pqr6y3NJMQqOqCE2w==
+  dependencies:
+    hasha "^3.0.0"
+    make-dir "^2.0.0"
+    package-hash "^3.0.0"
+    write-file-atomic "^2.4.2"
+
+call-bind@^1.0.0:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c"
+  integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==
+  dependencies:
+    function-bind "^1.1.1"
+    get-intrinsic "^1.0.2"
+
+camel-case@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73"
+  integrity sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=
+  dependencies:
+    no-case "^2.2.0"
+    upper-case "^1.1.1"
+
+camelcase@^1.0.2:
+  version "1.2.1"
+  resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39"
+  integrity sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=
+
+camelcase@^5.0.0:
+  version "5.3.1"
+  resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
+  integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
+
+caseless@~0.12.0:
+  version "0.12.0"
+  resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
+  integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=
+
+catharsis@~0.8.8:
+  version "0.8.11"
+  resolved "https://registry.yarnpkg.com/catharsis/-/catharsis-0.8.11.tgz#d0eb3d2b82b7da7a3ce2efb1a7b00becc6643468"
+  integrity sha512-a+xUyMV7hD1BrDQA/3iPV7oc+6W26BgVJO05PGEoatMyIuPScQKsde6i3YorWX1qs+AZjnJ18NqdKoCtKiNh1g==
+  dependencies:
+    lodash "^4.17.14"
+
+cbor@5.2.0:
+  version "5.2.0"
+  resolved "https://registry.yarnpkg.com/cbor/-/cbor-5.2.0.tgz#4cca67783ccd6de7b50ab4ed62636712f287a67c"
+  integrity sha512-5IMhi9e1QU76ppa5/ajP1BmMWZ2FHkhAhjeVKQ/EFCgYSEaeVaoGtL7cxJskf9oCCk+XjzaIdc3IuU/dbA/o2A==
+  dependencies:
+    bignumber.js "^9.0.1"
+    nofilter "^1.0.4"
+
+center-align@^0.1.1:
+  version "0.1.3"
+  resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad"
+  integrity sha1-qg0yYptu6XIgBBHL1EYckHvCt60=
+  dependencies:
+    align-text "^0.1.3"
+    lazy-cache "^1.0.3"
+
+chalk@^1.1.3:
+  version "1.1.3"
+  resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
+  integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=
+  dependencies:
+    ansi-styles "^2.2.1"
+    escape-string-regexp "^1.0.2"
+    has-ansi "^2.0.0"
+    strip-ansi "^3.0.0"
+    supports-color "^2.0.0"
+
+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==
+  dependencies:
+    ansi-styles "^3.2.1"
+    escape-string-regexp "^1.0.5"
+    supports-color "^5.3.0"
+
+chalk@~4.1.0:
+  version "4.1.2"
+  resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
+  integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
+  dependencies:
+    ansi-styles "^4.1.0"
+    supports-color "^7.1.0"
+
+charenc@0.0.2:
+  version "0.0.2"
+  resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667"
+  integrity sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=
+
+chokidar@^1.6.1:
+  version "1.7.0"
+  resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468"
+  integrity sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=
+  dependencies:
+    anymatch "^1.3.0"
+    async-each "^1.0.0"
+    glob-parent "^2.0.0"
+    inherits "^2.0.1"
+    is-binary-path "^1.0.0"
+    is-glob "^2.0.0"
+    path-is-absolute "^1.0.0"
+    readdirp "^2.0.0"
+  optionalDependencies:
+    fsevents "^1.0.0"
+
+cipher-base@^1.0.1, cipher-base@^1.0.3:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de"
+  integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==
+  dependencies:
+    inherits "^2.0.1"
+    safe-buffer "^5.0.1"
+
+class-utils@^0.3.5:
+  version "0.3.6"
+  resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463"
+  integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==
+  dependencies:
+    arr-union "^3.1.0"
+    define-property "^0.2.5"
+    isobject "^3.0.0"
+    static-extend "^0.1.1"
+
+clean-css@^4.2.1:
+  version "4.2.3"
+  resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78"
+  integrity sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==
+  dependencies:
+    source-map "~0.6.0"
+
+cli-commands@0.1.0:
+  version "0.1.0"
+  resolved "https://registry.yarnpkg.com/cli-commands/-/cli-commands-0.1.0.tgz#c57cacc406bbcf9ee21646607161ed432ef5a05a"
+  integrity sha1-xXysxAa7z57iFkZgcWHtQy71oFo=
+  dependencies:
+    ansi-escape-sequences "^3.0.0"
+    command-line-args "^3.0.1"
+    command-line-commands "^1.0.4"
+    command-line-usage "^3.0.5"
+
+cliui@^2.1.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1"
+  integrity sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=
+  dependencies:
+    center-align "^0.1.1"
+    right-align "^0.1.1"
+    wordwrap "0.0.2"
+
+cliui@^5.0.0:
+  version "5.0.0"
+  resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5"
+  integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==
+  dependencies:
+    string-width "^3.1.0"
+    strip-ansi "^5.2.0"
+    wrap-ansi "^5.1.0"
+
+collect-all@^1.0.2, collect-all@^1.0.4:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/collect-all/-/collect-all-1.0.4.tgz#50cd7119ac24b8e12a661f0f8c3aa0ea7222ddfc"
+  integrity sha512-RKZhRwJtJEP5FWul+gkSMEnaK6H3AGPTTWOiRimCcs+rc/OmQE3Yhy1Q7A7KsdkG3ZXVdZq68Y6ONSdvkeEcKA==
+  dependencies:
+    stream-connect "^1.0.2"
+    stream-via "^1.0.4"
+
+collect-all@~0.2.1:
+  version "0.2.1"
+  resolved "https://registry.yarnpkg.com/collect-all/-/collect-all-0.2.1.tgz#7225fb4585c22d4ffac886f0abaf5abc563a1a6a"
+  integrity sha1-ciX7RYXCLU/6yIbwq69avFY6Gmo=
+  dependencies:
+    stream-connect "^1.0.1"
+    stream-via "~0.1.0"
+    typical "^2.3.0"
+
+collect-json@^1.0.1, collect-json@^1.0.7, collect-json@^1.0.8:
+  version "1.0.9"
+  resolved "https://registry.yarnpkg.com/collect-json/-/collect-json-1.0.9.tgz#eb9906ef3160899e46e8482fac13a5e591dae9ae"
+  integrity sha512-5sGzu8rjhY4uzm4FJOVsNtcAhNiyEsZ70Lz3xv+7mXuLfU41QikE0es3nn2N0knqEKg+r4K7TMFHFmR8OFGpFA==
+  dependencies:
+    collect-all "^1.0.4"
+    stream-connect "^1.0.2"
+    stream-via "^1.0.4"
+
+collection-visit@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0"
+  integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=
+  dependencies:
+    map-visit "^1.0.0"
+    object-visit "^1.0.0"
+
+color-convert@^1.9.0:
+  version "1.9.3"
+  resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
+  integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
+  dependencies:
+    color-name "1.1.3"
+
+color-convert@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
+  integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
+  dependencies:
+    color-name "~1.1.4"
+
+color-name@1.1.3:
+  version "1.1.3"
+  resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
+  integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
+
+color-name@~1.1.4:
+  version "1.1.4"
+  resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
+  integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
+
+colors@~1.1.2:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63"
+  integrity sha1-FopHAXVran9RoSzgyXv6KMCE7WM=
+
+column-layout@^2.1.1:
+  version "2.1.4"
+  resolved "https://registry.yarnpkg.com/column-layout/-/column-layout-2.1.4.tgz#ed2857092ccf8338026fe538379d9672d70b3641"
+  integrity sha1-7ShXCSzPgzgCb+U4N52WctcLNkE=
+  dependencies:
+    ansi-escape-sequences "^2.2.2"
+    array-back "^1.0.3"
+    collect-json "^1.0.8"
+    command-line-args "^2.1.6"
+    core-js "^2.4.0"
+    deep-extend "~0.4.1"
+    feature-detect-es6 "^1.2.0"
+    object-tools "^2.0.6"
+    typical "^2.4.2"
+    wordwrapjs "^1.2.0"
+
+combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6:
+  version "1.0.8"
+  resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
+  integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
+  dependencies:
+    delayed-stream "~1.0.0"
+
+command-line-args@^2.1.4, command-line-args@^2.1.6:
+  version "2.1.6"
+  resolved "https://registry.yarnpkg.com/command-line-args/-/command-line-args-2.1.6.tgz#f197d6eaff34c9085577484b2864375b294f5697"
+  integrity sha1-8ZfW6v80yQhVd0hLKGQ3WylPVpc=
+  dependencies:
+    array-back "^1.0.2"
+    command-line-usage "^2"
+    core-js "^2.0.1"
+    feature-detect-es6 "^1.2.0"
+    find-replace "^1"
+    typical "^2.3.0"
+
+command-line-args@^3.0.0, command-line-args@^3.0.1:
+  version "3.0.5"
+  resolved "https://registry.yarnpkg.com/command-line-args/-/command-line-args-3.0.5.tgz#5bd4ad45e7983e5c1344918e40280ee2693c5ac0"
+  integrity sha1-W9StReeYPlwTRJGOQCgO4mk8WsA=
+  dependencies:
+    array-back "^1.0.4"
+    feature-detect-es6 "^1.3.1"
+    find-replace "^1.0.2"
+    typical "^2.6.0"
+
+command-line-commands@^1.0.4:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/command-line-commands/-/command-line-commands-1.0.4.tgz#034f9b167b5188afbdcf6b2efbb150fc8442c32b"
+  integrity sha1-A0+bFntRiK+9z2su+7FQ/IRCwys=
+  dependencies:
+    array-back "^1.0.3"
+    feature-detect-es6 "^1.3.1"
+
+command-line-tool@^0.1.0:
+  version "0.1.0"
+  resolved "https://registry.yarnpkg.com/command-line-tool/-/command-line-tool-0.1.0.tgz#91a11ba48ac63a4a687554367980f7c6423c149d"
+  integrity sha1-kaEbpIrGOkpodVQ2eYD3xkI8FJ0=
+  dependencies:
+    ansi-escape-sequences "^2.2.1"
+    array-back "^1.0.2"
+
+command-line-tool@~0.5.0:
+  version "0.5.2"
+  resolved "https://registry.yarnpkg.com/command-line-tool/-/command-line-tool-0.5.2.tgz#f87d6977f56bbdd2d5dfcf946345dd2cd9c6a53a"
+  integrity sha1-+H1pd/VrvdLV38+UY0XdLNnGpTo=
+  dependencies:
+    ansi-escape-sequences "^2.2.2"
+    array-back "^1.0.3"
+    command-line-args "^3.0.0"
+    command-line-usage "^3.0.3"
+    feature-detect-es6 "^1.3.0"
+    typical "^2.4.2"
+
+command-line-usage@^2:
+  version "2.0.5"
+  resolved "https://registry.yarnpkg.com/command-line-usage/-/command-line-usage-2.0.5.tgz#f80c35ca5e8624841923ea3be3b9bfbf4f7be27b"
+  integrity sha1-+Aw1yl6GJIQZI+o747m/v0974ns=
+  dependencies:
+    ansi-escape-sequences "^2.2.2"
+    array-back "^1.0.3"
+    column-layout "^2.1.1"
+    feature-detect-es6 "^1.2.0"
+    typical "^2.4.2"
+    wordwrapjs "^1.2.0"
+
+command-line-usage@^3.0.3, command-line-usage@^3.0.5:
+  version "3.0.8"
+  resolved "https://registry.yarnpkg.com/command-line-usage/-/command-line-usage-3.0.8.tgz#b6a20978c1b383477f5c11a529428b880bfe0f4d"
+  integrity sha1-tqIJeMGzg0d/XBGlKUKLiAv+D00=
+  dependencies:
+    ansi-escape-sequences "^3.0.0"
+    array-back "^1.0.3"
+    feature-detect-es6 "^1.3.1"
+    table-layout "^0.3.0"
+    typical "^2.6.0"
+
+commander@^2.11.0, commander@^2.19.0:
+  version "2.20.3"
+  resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
+  integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
+
+common-sequence@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/common-sequence/-/common-sequence-1.0.2.tgz#30e07f3f8f6f7f9b3dee854f20b2d39eee086de8"
+  integrity sha1-MOB/P49vf5s97oVPILLTnu4Ibeg=
+
+commondir@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
+  integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=
+
+component-emitter@^1.2.1:
+  version "1.3.0"
+  resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0"
+  integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==
+
+compress-commons@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/compress-commons/-/compress-commons-3.0.0.tgz#833944d84596e537224dd91cf92f5246823d4f1d"
+  integrity sha512-FyDqr8TKX5/X0qo+aVfaZ+PVmNJHJeckFBlq8jZGSJOgnynhfifoyl24qaqdUdDIBe0EVTHByN6NAkqYvE/2Xg==
+  dependencies:
+    buffer-crc32 "^0.2.13"
+    crc32-stream "^3.0.1"
+    normalize-path "^3.0.0"
+    readable-stream "^2.3.7"
+
+compress-commons@^4.1.0, compress-commons@^4.1.1:
+  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"
+
+compressible@~2.0.16:
+  version "2.0.18"
+  resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba"
+  integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==
+  dependencies:
+    mime-db ">= 1.43.0 < 2"
+
+compression@^1.7.4:
+  version "1.7.4"
+  resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f"
+  integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==
+  dependencies:
+    accepts "~1.3.5"
+    bytes "3.0.0"
+    compressible "~2.0.16"
+    debug "2.6.9"
+    on-headers "~1.0.2"
+    safe-buffer "5.1.2"
+    vary "~1.1.2"
+
+concat-map@0.0.1:
+  version "0.0.1"
+  resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
+  integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
+
+config-master@^2.0.4:
+  version "2.0.4"
+  resolved "https://registry.yarnpkg.com/config-master/-/config-master-2.0.4.tgz#e749505c5d3f946f2fad3c76dfe71fca689751dc"
+  integrity sha1-50lQXF0/lG8vrTx23+cfymiXUdw=
+  dependencies:
+    babel-polyfill "^6.13.0"
+    feature-detect-es6 "^1.3.1"
+    walk-back "^2.0.1"
+
+content-disposition@0.5.3:
+  version "0.5.3"
+  resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd"
+  integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==
+  dependencies:
+    safe-buffer "5.1.2"
+
+content-type@~1.0.4:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"
+  integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==
+
+convert-source-map@^1.5.0, convert-source-map@^1.5.1, convert-source-map@^1.6.0:
+  version "1.8.0"
+  resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369"
+  integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==
+  dependencies:
+    safe-buffer "~5.1.1"
+
+cookie-session@^2.0.0-beta.3:
+  version "2.0.0-rc.1"
+  resolved "https://registry.yarnpkg.com/cookie-session/-/cookie-session-2.0.0-rc.1.tgz#66fa03f26e5873d681d70f14bff5e48a94c53d37"
+  integrity sha512-zg80EsLe7S1J4y0XxV7SZ8Fbi90ZZoampuX2bfYDOvJfc//98sSlZC41YDzTTjtVbeU1VlVdBbldXOOyi5xzEw==
+  dependencies:
+    cookies "0.8.0"
+    debug "3.2.6"
+    on-headers "~1.0.2"
+    safe-buffer "5.2.0"
+
+cookie-signature@1.0.6:
+  version "1.0.6"
+  resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
+  integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw=
+
+cookie@0.4.0:
+  version "0.4.0"
+  resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba"
+  integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==
+
+cookies@0.8.0:
+  version "0.8.0"
+  resolved "https://registry.yarnpkg.com/cookies/-/cookies-0.8.0.tgz#1293ce4b391740a8406e3c9870e828c4b54f3f90"
+  integrity sha512-8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow==
+  dependencies:
+    depd "~2.0.0"
+    keygrip "~1.1.0"
+
+copy-descriptor@^0.1.0:
+  version "0.1.1"
+  resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
+  integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=
+
+core-js@^2.0.1, core-js@^2.4.0, core-js@^2.4.1, core-js@^2.5.0:
+  version "2.6.12"
+  resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec"
+  integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==
+
+core-util-is@1.0.2, core-util-is@~1.0.0:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
+  integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
+
+cp-file@^6.2.0:
+  version "6.2.0"
+  resolved "https://registry.yarnpkg.com/cp-file/-/cp-file-6.2.0.tgz#40d5ea4a1def2a9acdd07ba5c0b0246ef73dc10d"
+  integrity sha512-fmvV4caBnofhPe8kOcitBwSn2f39QLjnAnGq3gO9dfd75mUytzKNZB1hde6QHunW2Rt+OwuBOMc3i1tNElbszA==
+  dependencies:
+    graceful-fs "^4.1.2"
+    make-dir "^2.0.0"
+    nested-error-stacks "^2.0.0"
+    pify "^4.0.1"
+    safe-buffer "^5.0.1"
+
+cpu-features@0.0.2:
+  version "0.0.2"
+  resolved "https://registry.yarnpkg.com/cpu-features/-/cpu-features-0.0.2.tgz#9f636156f1155fd04bdbaa028bb3c2fbef3cea7a"
+  integrity sha512-/2yieBqvMcRj8McNzkycjW2v3OIUOibBfd2dLEJ0nWts8NobAxwiyw9phVNS6oDL8x8tz9F7uNVFEVpJncQpeA==
+  dependencies:
+    nan "^2.14.1"
+
+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@^3.0.1:
+  version "3.0.1"
+  resolved "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-3.0.1.tgz#cae6eeed003b0e44d739d279de5ae63b171b4e85"
+  integrity sha512-mctvpXlbzsvK+6z8kJwSJ5crm7yBwrQMTybJzMw1O4lLGJqjlDCXY2Zw7KheiA6XBEcBmfLx1D88mjRGVJtY9w==
+  dependencies:
+    crc "^3.4.4"
+    readable-stream "^3.4.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"
+
+crc@^3.4.4:
+  version "3.8.0"
+  resolved "https://registry.yarnpkg.com/crc/-/crc-3.8.0.tgz#ad60269c2c856f8c299e2c4cc0de4556914056c6"
+  integrity sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==
+  dependencies:
+    buffer "^5.1.0"
+
+create-hash@^1.1.0:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196"
+  integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==
+  dependencies:
+    cipher-base "^1.0.1"
+    inherits "^2.0.1"
+    md5.js "^1.3.4"
+    ripemd160 "^2.0.1"
+    sha.js "^2.4.0"
+
+create-hmac@^1.1.3:
+  version "1.1.7"
+  resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff"
+  integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==
+  dependencies:
+    cipher-base "^1.0.3"
+    create-hash "^1.1.0"
+    inherits "^2.0.1"
+    ripemd160 "^2.0.0"
+    safe-buffer "^5.0.1"
+    sha.js "^2.4.8"
+
+cross-spawn@^4:
+  version "4.0.2"
+  resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-4.0.2.tgz#7b9247621c23adfdd3856004a823cbe397424d41"
+  integrity sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=
+  dependencies:
+    lru-cache "^4.0.1"
+    which "^1.2.9"
+
+crypt@0.0.2:
+  version "0.0.2"
+  resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b"
+  integrity sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=
+
+cssom@^0.4.4:
+  version "0.4.4"
+  resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10"
+  integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==
+
+cssom@~0.3.6:
+  version "0.3.8"
+  resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a"
+  integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==
+
+cssstyle@^2.3.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852"
+  integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==
+  dependencies:
+    cssom "~0.3.6"
+
+dashdash@^1.12.0:
+  version "1.14.1"
+  resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
+  integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=
+  dependencies:
+    assert-plus "^1.0.0"
+
+data-urls@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b"
+  integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==
+  dependencies:
+    abab "^2.0.3"
+    whatwg-mimetype "^2.3.0"
+    whatwg-url "^8.0.0"
+
+dateformat@~3.0.3:
+  version "3.0.3"
+  resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae"
+  integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==
+
+dayjs@^1.8.29:
+  version "1.10.6"
+  resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.10.6.tgz#288b2aa82f2d8418a6c9d4df5898c0737ad02a63"
+  integrity sha512-AztC/IOW4L1Q41A86phW5Thhcrco3xuAA+YX/BLpLWWjRcTj5TOt/QImBLmCKlrF7u7k47arTnOyL6GnbG8Hvw==
+
+ddata@~0.1.25:
+  version "0.1.28"
+  resolved "https://registry.yarnpkg.com/ddata/-/ddata-0.1.28.tgz#53138fafa3f01749ea2451d12b6b6dd9df1d5b1f"
+  integrity sha1-UxOPr6PwF0nqJFHRK2tt2d8dWx8=
+  dependencies:
+    array-back "^1.0.3"
+    core-js "^2.4.1"
+    handlebars "^3.0.3"
+    marked "~0.3.6"
+    object-get "^2.1.0"
+    reduce-flatten "^1.0.1"
+    string-tools "^1.0.0"
+    test-value "^2.0.0"
+
+debug@2.6.9, debug@^2.2.0, debug@^2.3.3, 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@3.1.0:
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
+  integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==
+  dependencies:
+    ms "2.0.0"
+
+debug@3.2.6:
+  version "3.2.6"
+  resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b"
+  integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==
+  dependencies:
+    ms "^2.1.1"
+
+debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1:
+  version "4.3.2"
+  resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b"
+  integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==
+  dependencies:
+    ms "2.1.2"
+
+decamelize@^1.0.0, decamelize@^1.2.0:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
+  integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
+
+decimal.js@^10.2.1:
+  version "10.3.1"
+  resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz#d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783"
+  integrity sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==
+
+decode-uri-component@^0.2.0:
+  version "0.2.0"
+  resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
+  integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=
+
+deep-extend@~0.4.1:
+  version "0.4.2"
+  resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f"
+  integrity sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=
+
+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=
+
+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==
+
+default-require-extensions@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-2.0.0.tgz#f5f8fbb18a7d6d50b21f641f649ebb522cfe24f7"
+  integrity sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=
+  dependencies:
+    strip-bom "^3.0.0"
+
+defer-promise@^1.0.0:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/defer-promise/-/defer-promise-1.0.2.tgz#b79521c59cadadaed2d305385d30f8b05cbf9196"
+  integrity sha512-5a0iWJvnon50nLLqHPW83pX45BLb4MmlSa1sIg05NBhZoK5EZGz1s8qoZ3888dVGGOT0Ni01NdETuAgdJUZknA==
+
+define-properties@^1.1.3:
+  version "1.1.3"
+  resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1"
+  integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==
+  dependencies:
+    object-keys "^1.0.12"
+
+define-property@^0.2.5:
+  version "0.2.5"
+  resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116"
+  integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=
+  dependencies:
+    is-descriptor "^0.1.0"
+
+define-property@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6"
+  integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY=
+  dependencies:
+    is-descriptor "^1.0.0"
+
+define-property@^2.0.2:
+  version "2.0.2"
+  resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d"
+  integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==
+  dependencies:
+    is-descriptor "^1.0.2"
+    isobject "^3.0.1"
+
+delayed-stream@~1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
+  integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
+
+denque@^1.4.1, denque@^1.5.0:
+  version "1.5.0"
+  resolved "https://registry.yarnpkg.com/denque/-/denque-1.5.0.tgz#773de0686ff2d8ec2ff92914316a47b73b1c73de"
+  integrity sha512-CYiCSgIF1p6EUByQPlGkKnP1M9g0ZV3qMIrqMqZqdwazygIA/YP2vrbcyl1h/WppKJTdl1F85cXIle+394iDAQ==
+
+depd@~1.1.2:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
+  integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=
+
+depd@~2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df"
+  integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
+
+destroy@~1.0.4:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
+  integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=
+
+detect-file@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7"
+  integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=
+
+detect-indent@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208"
+  integrity sha1-920GQ1LN9Docts5hnE7jqUdd4gg=
+  dependencies:
+    repeating "^2.0.0"
+
+dir_cache@^1.0.1:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/dir_cache/-/dir_cache-1.0.3.tgz#89b8ca92efdcdf552ef2e14d24c38114f9df554b"
+  integrity sha1-ibjKku/c31Uu8uFNJMOBFPnfVUs=
+  dependencies:
+    async "^2.0.1"
+    minify-js "0.0.2"
+    utils-igor "^1.0.4"
+
+dmd@^1.4.1:
+  version "1.4.2"
+  resolved "https://registry.yarnpkg.com/dmd/-/dmd-1.4.2.tgz#b1304b98a5700a6bfe5dcf91be657c981700a4bc"
+  integrity sha1-sTBLmKVwCmv+Xc+RvmV8mBcApLw=
+  dependencies:
+    array-back "^1.0.3"
+    command-line-tool "~0.5.0"
+    common-sequence "^1.0.2"
+    ddata "~0.1.25"
+    file-set "^1.0.0"
+    handlebars-array "^0.2.0"
+    handlebars-comparison "^2.0.0"
+    handlebars-json "^1.0.0"
+    handlebars-regexp "^1.0.0"
+    handlebars-string "^2.0.1"
+    object-tools "^2.0.6"
+    reduce-unique "^1.0.0"
+    reduce-without "^1.0.1"
+    stream-handlebars "~0.1.6"
+    string-tools "^1.0.0"
+    walk-back "^2.0.1"
+
+domexception@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304"
+  integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==
+  dependencies:
+    webidl-conversions "^5.0.0"
+
+dtrace-provider@~0.8:
+  version "0.8.8"
+  resolved "https://registry.yarnpkg.com/dtrace-provider/-/dtrace-provider-0.8.8.tgz#2996d5490c37e1347be263b423ed7b297fb0d97e"
+  integrity sha512-b7Z7cNtHPhH9EJhNNbbeqTcXB8LGFFZhq1PGgEvpeHlzd36bhbdTWoE/Ba/YguqpBSlAPKnARWhVlhunCMwfxg==
+  dependencies:
+    nan "^2.14.0"
+
+each-series@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/each-series/-/each-series-1.0.0.tgz#f886e6c66dfdb25ef1fe73564146ee5cb478afcb"
+  integrity sha1-+Ibmxm39sl7x/nNWQUbuXLR4r8s=
+
+ecc-jsbn@~0.1.1:
+  version "0.1.2"
+  resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9"
+  integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=
+  dependencies:
+    jsbn "~0.1.0"
+    safer-buffer "^2.1.0"
+
+ecdsa-sig-formatter@1.0.11, ecdsa-sig-formatter@^1.0.11:
+  version "1.0.11"
+  resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf"
+  integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==
+  dependencies:
+    safe-buffer "^5.0.1"
+
+ee-first@1.1.1:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
+  integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
+
+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==
+
+encodeurl@~1.0.2:
+  version "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:
+  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"
+
+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.0.1:
+  version "4.1.1"
+  resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d"
+  integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==
+
+escape-html@^1.0.3, escape-html@~1.0.3:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
+  integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=
+
+escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5, escape-string-regexp@~1.0.5:
+  version "1.0.5"
+  resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
+  integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
+
+escodegen@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd"
+  integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==
+  dependencies:
+    esprima "^4.0.1"
+    estraverse "^5.2.0"
+    esutils "^2.0.2"
+    optionator "^0.8.1"
+  optionalDependencies:
+    source-map "~0.6.1"
+
+espree@~3.1.7:
+  version "3.1.7"
+  resolved "https://registry.yarnpkg.com/espree/-/espree-3.1.7.tgz#fd5deec76a97a5120a9cd3a7cb1177a0923b11d2"
+  integrity sha1-/V3ux2qXpRIKnNOnyxF3oJI7EdI=
+  dependencies:
+    acorn "^3.3.0"
+    acorn-jsx "^3.0.0"
+
+esprima@*, esprima@^4.0.0, esprima@^4.0.1:
+  version "4.0.1"
+  resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
+  integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
+
+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==
+
+esutils@^2.0.2:
+  version "2.0.3"
+  resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
+  integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
+
+etag@~1.8.1:
+  version "1.8.1"
+  resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
+  integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=
+
+event-target-shim@^5.0.0:
+  version "5.0.1"
+  resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789"
+  integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==
+
+eventemitter2@~0.4.13:
+  version "0.4.14"
+  resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-0.4.14.tgz#8f61b75cde012b2e9eb284d4545583b5643b61ab"
+  integrity sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=
+
+events@^3.0.0:
+  version "3.3.0"
+  resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400"
+  integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==
+
+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=
+
+expand-brackets@^0.1.4:
+  version "0.1.5"
+  resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b"
+  integrity sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=
+  dependencies:
+    is-posix-bracket "^0.1.0"
+
+expand-brackets@^2.1.4:
+  version "2.1.4"
+  resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622"
+  integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI=
+  dependencies:
+    debug "^2.3.3"
+    define-property "^0.2.5"
+    extend-shallow "^2.0.1"
+    posix-character-classes "^0.1.0"
+    regex-not "^1.0.0"
+    snapdragon "^0.8.1"
+    to-regex "^3.0.1"
+
+expand-range@^1.8.1:
+  version "1.8.2"
+  resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337"
+  integrity sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=
+  dependencies:
+    fill-range "^2.1.0"
+
+expand-tilde@^2.0.0, expand-tilde@^2.0.2:
+  version "2.0.2"
+  resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502"
+  integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=
+  dependencies:
+    homedir-polyfill "^1.0.1"
+
+express-handlebars@^3.1.0:
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/express-handlebars/-/express-handlebars-3.1.0.tgz#c177ee9a81f6a2abada6b550b77b3e30c6bc0796"
+  integrity sha512-7QlaXnSREMmN5P2o4gmpUZDfJlLtfBka9d6r7/ccXaU7rPp76odw9YYtwZYdIiha2JqwiaG6o2Wu6NZJQ0u7Fg==
+  dependencies:
+    glob "^7.1.3"
+    graceful-fs "^4.1.2"
+    handlebars "^4.1.2"
+    object.assign "^4.1.0"
+    promise "^8.0.2"
+
+express-ws@4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/express-ws/-/express-ws-4.0.0.tgz#dabd8dc974516418902a41fe6e30ed949b4d36c4"
+  integrity sha512-KEyUw8AwRET2iFjFsI1EJQrJ/fHeGiJtgpYgEWG3yDv4l/To/m3a2GaYfeGyB3lsWdvbesjF5XCMx+SVBgAAYw==
+  dependencies:
+    ws "^5.2.0"
+
+express@^4.17.0:
+  version "4.17.1"
+  resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134"
+  integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==
+  dependencies:
+    accepts "~1.3.7"
+    array-flatten "1.1.1"
+    body-parser "1.19.0"
+    content-disposition "0.5.3"
+    content-type "~1.0.4"
+    cookie "0.4.0"
+    cookie-signature "1.0.6"
+    debug "2.6.9"
+    depd "~1.1.2"
+    encodeurl "~1.0.2"
+    escape-html "~1.0.3"
+    etag "~1.8.1"
+    finalhandler "~1.1.2"
+    fresh "0.5.2"
+    merge-descriptors "1.0.1"
+    methods "~1.1.2"
+    on-finished "~2.3.0"
+    parseurl "~1.3.3"
+    path-to-regexp "0.1.7"
+    proxy-addr "~2.0.5"
+    qs "6.7.0"
+    range-parser "~1.2.1"
+    safe-buffer "5.1.2"
+    send "0.17.1"
+    serve-static "1.14.1"
+    setprototypeof "1.1.1"
+    statuses "~1.5.0"
+    type-is "~1.6.18"
+    utils-merge "1.0.1"
+    vary "~1.1.2"
+
+extend-shallow@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f"
+  integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=
+  dependencies:
+    is-extendable "^0.1.0"
+
+extend-shallow@^3.0.0, extend-shallow@^3.0.2:
+  version "3.0.2"
+  resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8"
+  integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=
+  dependencies:
+    assign-symbols "^1.0.0"
+    is-extendable "^1.0.1"
+
+extend@^3.0.2, 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==
+
+extglob@^0.3.1:
+  version "0.3.2"
+  resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1"
+  integrity sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=
+  dependencies:
+    is-extglob "^1.0.0"
+
+extglob@^2.0.4:
+  version "2.0.4"
+  resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543"
+  integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==
+  dependencies:
+    array-unique "^0.3.2"
+    define-property "^1.0.0"
+    expand-brackets "^2.1.4"
+    extend-shallow "^2.0.1"
+    fragment-cache "^0.2.1"
+    regex-not "^1.0.0"
+    snapdragon "^0.8.1"
+    to-regex "^3.0.1"
+
+extsprintf@1.3.0:
+  version "1.3.0"
+  resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
+  integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=
+
+extsprintf@^1.2.0:
+  version "1.4.0"
+  resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
+  integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=
+
+fast-deep-equal@^3.1.1:
+  version "3.1.3"
+  resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
+  integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
+
+fast-json-stable-stringify@^2.0.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
+  integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
+
+fast-levenshtein@~2.0.6:
+  version "2.0.6"
+  resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
+  integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
+
+fast-text-encoding@^1.0.0:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/fast-text-encoding/-/fast-text-encoding-1.0.3.tgz#ec02ac8e01ab8a319af182dae2681213cfe9ce53"
+  integrity sha512-dtm4QZH9nZtcDt8qJiOH9fcQd1NAgi+K1O2DbE6GG1PPCK/BWfOH3idCTRQ4ImXRUOyopDEgDEnVEE7Y/2Wrig==
+
+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==
+
+fastfall@^1.5.1:
+  version "1.5.1"
+  resolved "https://registry.yarnpkg.com/fastfall/-/fastfall-1.5.1.tgz#3fee03331a49d1d39b3cdf7a5e9cd66f475e7b94"
+  integrity sha1-P+4DMxpJ0dObPN96XpzWb0dee5Q=
+  dependencies:
+    reusify "^1.0.0"
+
+fastparallel@^2.3.0:
+  version "2.4.0"
+  resolved "https://registry.yarnpkg.com/fastparallel/-/fastparallel-2.4.0.tgz#65fbec1a5e5902494be772cf5765cbaaece08688"
+  integrity sha512-sacwQ7wwKlQXsa7TN24UvMBLZNLmVcPhmxccC9riFqb3N+fSczJL8eWdnZodZ/KijGVgNBBfvF/NeXER08uXnQ==
+  dependencies:
+    reusify "^1.0.4"
+    xtend "^4.0.2"
+
+fastseries@^1.7.2:
+  version "1.7.2"
+  resolved "https://registry.yarnpkg.com/fastseries/-/fastseries-1.7.2.tgz#d22ce13b9433dff3388d91dbd6b8bda9b21a0f4b"
+  integrity sha1-0izhO5Qz3/M4jZHb1ri9qbIaD0s=
+  dependencies:
+    reusify "^1.0.0"
+    xtend "^4.0.0"
+
+fd-slicer@~1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e"
+  integrity sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=
+  dependencies:
+    pend "~1.2.0"
+
+feature-detect-es6@^1.2.0, feature-detect-es6@^1.3.0, feature-detect-es6@^1.3.1:
+  version "1.5.0"
+  resolved "https://registry.yarnpkg.com/feature-detect-es6/-/feature-detect-es6-1.5.0.tgz#a69bb7662c65f64f89f07eac5a461b649a1e0a00"
+  integrity sha512-DzWPIGzTnfp3/KK1d/YPfmgLqeDju9F2DQYBL35VusgSApcA7XGqVtXfR4ETOOFEzdFJ3J7zh0Gkk011TiA4uQ==
+  dependencies:
+    array-back "^1.0.4"
+
+file-set@^1.0.0, file-set@^1.0.1:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/file-set/-/file-set-1.1.2.tgz#08f700bb2c129d0e6bff90157b6556ce7c01e4f9"
+  integrity sha512-xDXI09w+l+mXxWDym7dQXy3PLdo7DygHlAtRnQ6XIMa0iY/qX6+1J75jjwCArCd48yCiMx2+fRn50BTFd45+jQ==
+  dependencies:
+    array-back "^1.0.3"
+    glob "^7.1.0"
+
+file-set@~0.2.1:
+  version "0.2.8"
+  resolved "https://registry.yarnpkg.com/file-set/-/file-set-0.2.8.tgz#73a6571e9cbe51ac5926c88bd567d111f836f178"
+  integrity sha1-c6ZXHpy+UaxZJsiL1WfREfg28Xg=
+  dependencies:
+    array-tools "^2"
+    glob "^4"
+
+file-uri-to-path@1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd"
+  integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==
+
+filename-regex@^2.0.0:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26"
+  integrity sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=
+
+fill-range@^2.1.0:
+  version "2.2.4"
+  resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz#eb1e773abb056dcd8df2bfdf6af59b8b3a936565"
+  integrity sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==
+  dependencies:
+    is-number "^2.1.0"
+    isobject "^2.0.0"
+    randomatic "^3.0.0"
+    repeat-element "^1.1.2"
+    repeat-string "^1.5.2"
+
+fill-range@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7"
+  integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=
+  dependencies:
+    extend-shallow "^2.0.1"
+    is-number "^3.0.0"
+    repeat-string "^1.6.1"
+    to-regex-range "^2.1.0"
+
+fill-range@^7.0.1:
+  version "7.0.1"
+  resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
+  integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
+  dependencies:
+    to-regex-range "^5.0.1"
+
+filter-where@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/filter-where/-/filter-where-1.0.1.tgz#1b042569edce36bc1c4e9f73740d2c4e2feef77d"
+  integrity sha1-GwQlae3ONrwcTp9zdA0sTi/u930=
+  dependencies:
+    test-value "^1.0.1"
+
+finalhandler@~1.1.2:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d"
+  integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==
+  dependencies:
+    debug "2.6.9"
+    encodeurl "~1.0.2"
+    escape-html "~1.0.3"
+    on-finished "~2.3.0"
+    parseurl "~1.3.3"
+    statuses "~1.5.0"
+    unpipe "~1.0.0"
+
+find-cache-dir@^2.1.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7"
+  integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==
+  dependencies:
+    commondir "^1.0.1"
+    make-dir "^2.0.0"
+    pkg-dir "^3.0.0"
+
+find-replace@^1, find-replace@^1.0.2:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/find-replace/-/find-replace-1.0.3.tgz#b88e7364d2d9c959559f388c66670d6130441fa0"
+  integrity sha1-uI5zZNLZyVlVnziMZmcNYTBEH6A=
+  dependencies:
+    array-back "^1.0.4"
+    test-value "^2.1.0"
+
+find-up@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73"
+  integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==
+  dependencies:
+    locate-path "^3.0.0"
+
+findup-sync@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-4.0.0.tgz#956c9cdde804052b881b428512905c4a5f2cdef0"
+  integrity sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==
+  dependencies:
+    detect-file "^1.0.0"
+    is-glob "^4.0.0"
+    micromatch "^4.0.2"
+    resolve-dir "^1.0.1"
+
+findup-sync@~0.3.0:
+  version "0.3.0"
+  resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-0.3.0.tgz#37930aa5d816b777c03445e1966cc6790a4c0b16"
+  integrity sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=
+  dependencies:
+    glob "~5.0.0"
+
+fined@^1.2.0:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/fined/-/fined-1.2.0.tgz#d00beccf1aa2b475d16d423b0238b713a2c4a37b"
+  integrity sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==
+  dependencies:
+    expand-tilde "^2.0.2"
+    is-plain-object "^2.0.3"
+    object.defaults "^1.1.0"
+    object.pick "^1.2.0"
+    parse-filepath "^1.0.1"
+
+flagged-respawn@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-1.0.1.tgz#e7de6f1279ddd9ca9aac8a5971d618606b3aab41"
+  integrity sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==
+
+follow-redirects@^1.10.0:
+  version "1.14.1"
+  resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.1.tgz#d9114ded0a1cfdd334e164e6662ad02bfd91ff43"
+  integrity sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg==
+
+for-in@^1.0.1, for-in@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
+  integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=
+
+for-own@^0.1.4:
+  version "0.1.5"
+  resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce"
+  integrity sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=
+  dependencies:
+    for-in "^1.0.1"
+
+for-own@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b"
+  integrity sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=
+  dependencies:
+    for-in "^1.0.1"
+
+foreground-child@^1.5.6:
+  version "1.5.6"
+  resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-1.5.6.tgz#4fd71ad2dfde96789b980a5c0a295937cb2f5ce9"
+  integrity sha1-T9ca0t/elnibmApcCilZN8svXOk=
+  dependencies:
+    cross-spawn "^4"
+    signal-exit "^3.0.0"
+
+forever-agent@~0.6.1:
+  version "0.6.1"
+  resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
+  integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=
+
+form-data@^3.0.0:
+  version "3.0.1"
+  resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f"
+  integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==
+  dependencies:
+    asynckit "^0.4.0"
+    combined-stream "^1.0.8"
+    mime-types "^2.1.12"
+
+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"
+
+form-data@~2.3.2:
+  version "2.3.3"
+  resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"
+  integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==
+  dependencies:
+    asynckit "^0.4.0"
+    combined-stream "^1.0.6"
+    mime-types "^2.1.12"
+
+forwarded@0.2.0:
+  version "0.2.0"
+  resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811"
+  integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==
+
+fragment-cache@^0.2.1:
+  version "0.2.1"
+  resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19"
+  integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=
+  dependencies:
+    map-cache "^0.2.2"
+
+fresh@0.5.2:
+  version "0.5.2"
+  resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
+  integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=
+
+from2@^2.1.0, from2@^2.3.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af"
+  integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=
+  dependencies:
+    inherits "^2.0.1"
+    readable-stream "^2.0.0"
+
+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==
+
+fs-readdir-recursive@^1.0.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27"
+  integrity sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==
+
+fs-then-native@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/fs-then-native/-/fs-then-native-1.0.2.tgz#ac8d3807c9f1bbd1279607fb228e0ab649bb41fe"
+  integrity sha1-rI04B8nxu9Enlgf7Io4Ktkm7Qf4=
+  dependencies:
+    feature-detect-es6 "^1.3.1"
+
+fs.realpath@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
+  integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
+
+fsevents@^1.0.0:
+  version "1.2.13"
+  resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38"
+  integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==
+  dependencies:
+    bindings "^1.5.0"
+    nan "^2.12.1"
+
+function-bind@^1.1.1:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
+  integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
+
+gaxios@^4.0.0:
+  version "4.3.0"
+  resolved "https://registry.yarnpkg.com/gaxios/-/gaxios-4.3.0.tgz#ad4814d89061f85b97ef52aed888c5dbec32f774"
+  integrity sha512-pHplNbslpwCLMyII/lHPWFQbJWOX0B3R1hwBEOvzYi1GmdKZruuEHK4N9V6f7tf1EaPYyF80mui1+344p6SmLg==
+  dependencies:
+    abort-controller "^3.0.0"
+    extend "^3.0.2"
+    https-proxy-agent "^5.0.0"
+    is-stream "^2.0.0"
+    node-fetch "^2.3.0"
+
+gcp-metadata@^4.2.0:
+  version "4.3.0"
+  resolved "https://registry.yarnpkg.com/gcp-metadata/-/gcp-metadata-4.3.0.tgz#0423d06becdbfb9cbb8762eaacf14d5324997900"
+  integrity sha512-L9XQUpvKJCM76YRSmcxrR4mFPzPGsgZUH+GgHMxAET8qc6+BhRJq63RLhWakgEO2KKVgeSDVfyiNjkGSADwNTA==
+  dependencies:
+    gaxios "^4.0.0"
+    json-bigint "^1.0.0"
+
+get-caller-file@^2.0.1:
+  version "2.0.5"
+  resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
+  integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
+
+get-intrinsic@^1.0.2:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6"
+  integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==
+  dependencies:
+    function-bind "^1.1.1"
+    has "^1.0.3"
+    has-symbols "^1.0.1"
+
+get-value@^2.0.3, get-value@^2.0.6:
+  version "2.0.6"
+  resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28"
+  integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=
+
+getobject@~1.0.0:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/getobject/-/getobject-1.0.1.tgz#17d86a05913c15d173a5bcf8662dc7c7ac5ce147"
+  integrity sha512-tj18lLe+917AACr6BdVoUuHnBPTVd9BEJp1vxnMZ58ztNvuxz9Ufa+wf3g37tlGITH35jggwZ2d9lcgHJJgXfQ==
+
+getpass@^0.1.1:
+  version "0.1.7"
+  resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
+  integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=
+  dependencies:
+    assert-plus "^1.0.0"
+
+glob-base@^0.3.0:
+  version "0.3.0"
+  resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4"
+  integrity sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=
+  dependencies:
+    glob-parent "^2.0.0"
+    is-glob "^2.0.0"
+
+glob-parent@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28"
+  integrity sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=
+  dependencies:
+    is-glob "^2.0.0"
+
+glob@^4:
+  version "4.5.3"
+  resolved "https://registry.yarnpkg.com/glob/-/glob-4.5.3.tgz#c6cb73d3226c1efef04de3c56d012f03377ee15f"
+  integrity sha1-xstz0yJsHv7wTePFbQEvAzd+4V8=
+  dependencies:
+    inflight "^1.0.4"
+    inherits "2"
+    minimatch "^2.0.1"
+    once "^1.3.0"
+
+glob@^6.0.1:
+  version "6.0.4"
+  resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22"
+  integrity sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=
+  dependencies:
+    inflight "^1.0.4"
+    inherits "2"
+    minimatch "2 || 3"
+    once "^1.3.0"
+    path-is-absolute "^1.0.0"
+
+glob@^7.1.0, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, 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==
+  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"
+
+glob@~5.0.0:
+  version "5.0.15"
+  resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1"
+  integrity sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=
+  dependencies:
+    inflight "^1.0.4"
+    inherits "2"
+    minimatch "2 || 3"
+    once "^1.3.0"
+    path-is-absolute "^1.0.0"
+
+global-modules@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea"
+  integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==
+  dependencies:
+    global-prefix "^1.0.1"
+    is-windows "^1.0.1"
+    resolve-dir "^1.0.0"
+
+global-prefix@^1.0.1:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe"
+  integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=
+  dependencies:
+    expand-tilde "^2.0.2"
+    homedir-polyfill "^1.0.1"
+    ini "^1.3.4"
+    is-windows "^1.0.1"
+    which "^1.2.14"
+
+globals@^11.1.0:
+  version "11.12.0"
+  resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
+  integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
+
+globals@^9.18.0:
+  version "9.18.0"
+  resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"
+  integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==
+
+google-auth-library@^7.0.2:
+  version "7.5.0"
+  resolved "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-7.5.0.tgz#6b0a623dfb4ee7a8d93a0d25455031d1baf86181"
+  integrity sha512-iRMwc060kiA6ncZbAoQN90nlwT8jiHVmippofpMgo4YFEyRBaPouyM7+ZB742wKetByyy+TahshVRTx0tEyXGQ==
+  dependencies:
+    arrify "^2.0.0"
+    base64-js "^1.3.0"
+    ecdsa-sig-formatter "^1.0.11"
+    fast-text-encoding "^1.0.0"
+    gaxios "^4.0.0"
+    gcp-metadata "^4.2.0"
+    gtoken "^5.0.4"
+    jws "^4.0.0"
+    lru-cache "^6.0.0"
+
+google-p12-pem@^3.0.3:
+  version "3.1.1"
+  resolved "https://registry.yarnpkg.com/google-p12-pem/-/google-p12-pem-3.1.1.tgz#98fb717b722d12196a3e5b550c44517562269859"
+  integrity sha512-e9CwdD2QYkpvJsktki3Bm8P8FSGIneF+/42a9F9QHcQvJ73C2RoYZdrwRl6BhwksWtzl65gT4OnBROhUIFw95Q==
+  dependencies:
+    node-forge "^0.10.0"
+
+google-protobuf@3.14.0:
+  version "3.14.0"
+  resolved "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.14.0.tgz#20373d22046e63831a5110e11a84f713cc43651e"
+  integrity sha512-bwa8dBuMpOxg7COyqkW6muQuvNnWgVN8TX/epDRGW5m0jcrmq2QJyCyiV8ZE2/6LaIIqJtiv9bYokFhfpy/o6w==
+
+googleapis-common@^5.0.2:
+  version "5.0.4"
+  resolved "https://registry.yarnpkg.com/googleapis-common/-/googleapis-common-5.0.4.tgz#d47ba164dce40ff32f35319e56d1d67209ae25c3"
+  integrity sha512-clr6NSAoIeTrQ/ESl/OmH4uuvPUq4XgiyPAnTIrItOWyM/YKYsXgzpPNkmP6D6LNd/UoTnymcyLNuMPh0ibzXg==
+  dependencies:
+    extend "^3.0.2"
+    gaxios "^4.0.0"
+    google-auth-library "^7.0.2"
+    qs "^6.7.0"
+    url-template "^2.0.8"
+    uuid "^8.0.0"
+
+googleapis@*:
+  version "83.0.0"
+  resolved "https://registry.yarnpkg.com/googleapis/-/googleapis-83.0.0.tgz#045399fe8403d8516add6aa90802dda604fcfe20"
+  integrity sha512-/xzWnSPfZC6jwoq4bY8gMauGHF2kIbWZJ6bPgMUzI4zUGAhGD7YttHtbZX6Vz/eYIviYaQtL7HIvw5Jnei/TzA==
+  dependencies:
+    google-auth-library "^7.0.2"
+    googleapis-common "^5.0.2"
+
+graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.4, graceful-fs@^4.1.9, graceful-fs@^4.2.0:
+  version "4.2.8"
+  resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a"
+  integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==
+
+grunt-cli@~1.4.2:
+  version "1.4.3"
+  resolved "https://registry.yarnpkg.com/grunt-cli/-/grunt-cli-1.4.3.tgz#22c9f1a3d2780bf9b0d206e832e40f8f499175ff"
+  integrity sha512-9Dtx/AhVeB4LYzsViCjUQkd0Kw0McN2gYpdmGYKtE2a5Yt7v1Q+HYZVWhqXc/kGnxlMtqKDxSwotiGeFmkrCoQ==
+  dependencies:
+    grunt-known-options "~2.0.0"
+    interpret "~1.1.0"
+    liftup "~3.0.1"
+    nopt "~4.0.1"
+    v8flags "~3.2.0"
+
+grunt-jsdoc-to-markdown@^1.2.1:
+  version "1.2.1"
+  resolved "https://registry.yarnpkg.com/grunt-jsdoc-to-markdown/-/grunt-jsdoc-to-markdown-1.2.1.tgz#d253ac69b61c9575364a44d7db0513ab52f8dac9"
+  integrity sha1-0lOsabYclXU2SkTX2wUTq1L42sk=
+  dependencies:
+    jsdoc-to-markdown "^1.3.3"
+
+grunt-known-options@~2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/grunt-known-options/-/grunt-known-options-2.0.0.tgz#cac641e897f9a0a680b8c9839803d35f3325103c"
+  integrity sha512-GD7cTz0I4SAede1/+pAbmJRG44zFLPipVtdL9o3vqx9IEyb7b4/Y3s7r6ofI3CchR5GvYJ+8buCSioDv5dQLiA==
+
+grunt-legacy-log-utils@~2.1.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/grunt-legacy-log-utils/-/grunt-legacy-log-utils-2.1.0.tgz#49a8c7dc74051476dcc116c32faf9db8646856ef"
+  integrity sha512-lwquaPXJtKQk0rUM1IQAop5noEpwFqOXasVoedLeNzaibf/OPWjKYvvdqnEHNmU+0T0CaReAXIbGo747ZD+Aaw==
+  dependencies:
+    chalk "~4.1.0"
+    lodash "~4.17.19"
+
+grunt-legacy-log@~3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/grunt-legacy-log/-/grunt-legacy-log-3.0.0.tgz#1c6eaf92371ea415af31ea84ce50d434ef6d39c4"
+  integrity sha512-GHZQzZmhyq0u3hr7aHW4qUH0xDzwp2YXldLPZTCjlOeGscAOWWPftZG3XioW8MasGp+OBRIu39LFx14SLjXRcA==
+  dependencies:
+    colors "~1.1.2"
+    grunt-legacy-log-utils "~2.1.0"
+    hooker "~0.2.3"
+    lodash "~4.17.19"
+
+grunt-legacy-util@~2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/grunt-legacy-util/-/grunt-legacy-util-2.0.1.tgz#0f929d13a2faf9988c9917c82bff609e2d9ba255"
+  integrity sha512-2bQiD4fzXqX8rhNdXkAywCadeqiPiay0oQny77wA2F3WF4grPJXCvAcyoWUJV+po/b15glGkxuSiQCK299UC2w==
+  dependencies:
+    async "~3.2.0"
+    exit "~0.1.2"
+    getobject "~1.0.0"
+    hooker "~0.2.3"
+    lodash "~4.17.21"
+    underscore.string "~3.3.5"
+    which "~2.0.2"
+
+grunt@^1.0.1:
+  version "1.4.1"
+  resolved "https://registry.yarnpkg.com/grunt/-/grunt-1.4.1.tgz#7d1e17db1f9c8108777f7273d6b9359755576f50"
+  integrity sha512-ZXIYXTsAVrA7sM+jZxjQdrBOAg7DyMUplOMhTaspMRExei+fD0BTwdWXnn0W5SXqhb/Q/nlkzXclSi3IH55PIA==
+  dependencies:
+    dateformat "~3.0.3"
+    eventemitter2 "~0.4.13"
+    exit "~0.1.2"
+    findup-sync "~0.3.0"
+    glob "~7.1.6"
+    grunt-cli "~1.4.2"
+    grunt-known-options "~2.0.0"
+    grunt-legacy-log "~3.0.0"
+    grunt-legacy-util "~2.0.1"
+    iconv-lite "~0.4.13"
+    js-yaml "~3.14.0"
+    minimatch "~3.0.4"
+    mkdirp "~1.0.4"
+    nopt "~3.0.6"
+    rimraf "~3.0.2"
+
+gtoken@^5.0.4:
+  version "5.3.0"
+  resolved "https://registry.yarnpkg.com/gtoken/-/gtoken-5.3.0.tgz#6536eb2880d9829f0b9d78f756795d4d9064b217"
+  integrity sha512-mCcISYiaRZrJpfqOs0QWa6lfEM/C1V9ASkzFmuz43XBb5s1Vynh+CZy1ECeeJXVGx2PRByjYzb4Y4/zr1byr0w==
+  dependencies:
+    gaxios "^4.0.0"
+    google-p12-pem "^3.0.3"
+    jws "^4.0.0"
+
+handlebars-array@^0.2.0:
+  version "0.2.1"
+  resolved "https://registry.yarnpkg.com/handlebars-array/-/handlebars-array-0.2.1.tgz#dd58395a5261d661988e8d77520ebbfaadc6bd24"
+  integrity sha1-3Vg5WlJh1mGYjo13Ug67+q3GvSQ=
+  dependencies:
+    array-tools "^1.1.4"
+
+handlebars-comparison@^2.0.0:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/handlebars-comparison/-/handlebars-comparison-2.0.1.tgz#b17b95d2c298578e4aead38f5fac46e8f6005855"
+  integrity sha1-sXuV0sKYV45K6tOPX6xG6PYAWFU=
+  dependencies:
+    array-tools "^1.1.0"
+
+handlebars-json@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/handlebars-json/-/handlebars-json-1.0.1.tgz#2ef87bb782551cd645bb4691b824e9653ec02504"
+  integrity sha1-Lvh7t4JVHNZFu0aRuCTpZT7AJQQ=
+
+handlebars-regexp@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/handlebars-regexp/-/handlebars-regexp-1.0.1.tgz#5f47f067260e9ba8e52f1a280917f70de39f11e4"
+  integrity sha1-X0fwZyYOm6jlLxooCRf3DeOfEeQ=
+
+handlebars-string@^2.0.1:
+  version "2.0.2"
+  resolved "https://registry.yarnpkg.com/handlebars-string/-/handlebars-string-2.0.2.tgz#b9f92208a979cfcf51ff4a90defa183dc62942ca"
+  integrity sha1-ufkiCKl5z89R/0qQ3voYPcYpQso=
+  dependencies:
+    array-tools "^1.0.6"
+    string-tools "^0.1.4"
+
+handlebars@^3.0.0, handlebars@^3.0.3:
+  version "3.0.8"
+  resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-3.0.8.tgz#4e6ce3650fe6c53c151d106dcff1c5a7ca79e164"
+  integrity sha512-frzSzoxbJZSB719r+lM3UFKrnHIY6VPY/j47+GNOHVnBHxO+r+Y/iDjozAbj1SztmmMpr2CcZY6rLeN5mqX8zA==
+  dependencies:
+    optimist "^0.6.1"
+    source-map "^0.1.40"
+  optionalDependencies:
+    uglify-js "^2.6"
+
+handlebars@^4.1.2:
+  version "4.7.7"
+  resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1"
+  integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==
+  dependencies:
+    minimist "^1.2.5"
+    neo-async "^2.6.0"
+    source-map "^0.6.1"
+    wordwrap "^1.0.0"
+  optionalDependencies:
+    uglify-js "^3.1.4"
+
+har-schema@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
+  integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=
+
+har-validator@~5.1.0, har-validator@~5.1.3:
+  version "5.1.5"
+  resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd"
+  integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==
+  dependencies:
+    ajv "^6.12.3"
+    har-schema "^2.0.0"
+
+has-ansi@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
+  integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=
+  dependencies:
+    ansi-regex "^2.0.0"
+
+has-flag@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
+  integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
+
+has-flag@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
+  integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
+
+has-symbols@^1.0.1:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423"
+  integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==
+
+has-value@^0.3.1:
+  version "0.3.1"
+  resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f"
+  integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=
+  dependencies:
+    get-value "^2.0.3"
+    has-values "^0.1.4"
+    isobject "^2.0.0"
+
+has-value@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177"
+  integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=
+  dependencies:
+    get-value "^2.0.6"
+    has-values "^1.0.0"
+    isobject "^3.0.0"
+
+has-values@^0.1.4:
+  version "0.1.4"
+  resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771"
+  integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E=
+
+has-values@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f"
+  integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=
+  dependencies:
+    is-number "^3.0.0"
+    kind-of "^4.0.0"
+
+has@^1.0.3:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
+  integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
+  dependencies:
+    function-bind "^1.1.1"
+
+hash-base@^3.0.0:
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33"
+  integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==
+  dependencies:
+    inherits "^2.0.4"
+    readable-stream "^3.6.0"
+    safe-buffer "^5.2.0"
+
+hasha@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/hasha/-/hasha-3.0.0.tgz#52a32fab8569d41ca69a61ff1a214f8eb7c8bd39"
+  integrity sha1-UqMvq4Vp1BymmmH/GiFPjrfIvTk=
+  dependencies:
+    is-stream "^1.0.1"
+
+he@^1.2.0:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
+  integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
+
+heapdump@*:
+  version "0.3.15"
+  resolved "https://registry.yarnpkg.com/heapdump/-/heapdump-0.3.15.tgz#631a8a2585588ea64778d8ec80a64c6c025f6a08"
+  integrity sha512-n8aSFscI9r3gfhOcAECAtXFaQ1uy4QSke6bnaL+iymYZ/dWs9cqDqHM+rALfsHUwukUbxsdlECZ0pKmJdQ/4OA==
+  dependencies:
+    nan "^2.13.2"
+
+home-or-tmp@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8"
+  integrity sha1-42w/LSyufXRqhX440Y1fMqeILbg=
+  dependencies:
+    os-homedir "^1.0.0"
+    os-tmpdir "^1.0.1"
+
+home-path@^1.0.3, home-path@^1.0.5:
+  version "1.0.7"
+  resolved "https://registry.yarnpkg.com/home-path/-/home-path-1.0.7.tgz#cf77d7339ff3ddc3347a23c52612b1f5e7e56313"
+  integrity sha512-tM1pVa+u3ZqQwIkXcWfhUlY3HWS3TsnKsfi2OHHvnhkX52s9etyktPyy1rQotkr0euWimChDq+QkQuDe8ngUlQ==
+
+homedir-polyfill@^1.0.1:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8"
+  integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==
+  dependencies:
+    parse-passwd "^1.0.0"
+
+hooker@~0.2.3:
+  version "0.2.3"
+  resolved "https://registry.yarnpkg.com/hooker/-/hooker-0.2.3.tgz#b834f723cc4a242aa65963459df6d984c5d3d959"
+  integrity sha1-uDT3I8xKJCqmWWNFnfbZhMXT2Vk=
+
+hosted-git-info@^2.1.4:
+  version "2.8.9"
+  resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9"
+  integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==
+
+hot-patcher@^0.5.0:
+  version "0.5.0"
+  resolved "https://registry.yarnpkg.com/hot-patcher/-/hot-patcher-0.5.0.tgz#9d401424585aaf3a91646b816ceff40eb6a916b9"
+  integrity sha512-2Uu2W0s8+dnqXzdlg0MRsRzPoDCs1wVjOGSyMRRaMzLDX4bgHw6xDYKccsWafXPPxQpkQfEjgW6+17pwcg60bw==
+
+html-encoding-sniffer@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3"
+  integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==
+  dependencies:
+    whatwg-encoding "^1.0.5"
+
+html-escaper@^2.0.0:
+  version "2.0.2"
+  resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453"
+  integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==
+
+html-minifier@*:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-4.0.0.tgz#cca9aad8bce1175e02e17a8c33e46d8988889f56"
+  integrity sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig==
+  dependencies:
+    camel-case "^3.0.0"
+    clean-css "^4.2.1"
+    commander "^2.19.0"
+    he "^1.2.0"
+    param-case "^2.1.1"
+    relateurl "^0.2.7"
+    uglify-js "^3.5.1"
+
+http-errors@1.7.2:
+  version "1.7.2"
+  resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f"
+  integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==
+  dependencies:
+    depd "~1.1.2"
+    inherits "2.0.3"
+    setprototypeof "1.1.1"
+    statuses ">= 1.5.0 < 2"
+    toidentifier "1.0.0"
+
+http-errors@~1.7.2:
+  version "1.7.3"
+  resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06"
+  integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==
+  dependencies:
+    depd "~1.1.2"
+    inherits "2.0.4"
+    setprototypeof "1.1.1"
+    statuses ">= 1.5.0 < 2"
+    toidentifier "1.0.0"
+
+http-errors@~1.8.0:
+  version "1.8.0"
+  resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.0.tgz#75d1bbe497e1044f51e4ee9e704a62f28d336507"
+  integrity sha512-4I8r0C5JDhT5VkvI47QktDW75rNlGVsUf/8hzjCC/wkWI/jdTRmBb9aI7erSG82r1bjKY3F6k28WnsVxB1C73A==
+  dependencies:
+    depd "~1.1.2"
+    inherits "2.0.4"
+    setprototypeof "1.2.0"
+    statuses ">= 1.5.0 < 2"
+    toidentifier "1.0.0"
+
+http-proxy-agent@^4.0.1:
+  version "4.0.1"
+  resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a"
+  integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==
+  dependencies:
+    "@tootallnate/once" "1"
+    agent-base "6"
+    debug "4"
+
+http-signature@~1.2.0:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1"
+  integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=
+  dependencies:
+    assert-plus "^1.0.0"
+    jsprim "^1.2.2"
+    sshpk "^1.7.0"
+
+http_ece@1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/http_ece/-/http_ece-1.1.0.tgz#74780c6eb32d8ddfe9e36a83abcd81fe0cd4fb75"
+  integrity sha512-bptAfCDdPJxOs5zYSe7Y3lpr772s1G346R4Td5LgRUeCwIGpCGDUTJxRrhTNcAXbx37spge0kWEIH7QAYWNTlA==
+  dependencies:
+    urlsafe-base64 "~1.0.0"
+
+https-proxy-agent@*, https-proxy-agent@^5.0.0:
+  version "5.0.0"
+  resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2"
+  integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==
+  dependencies:
+    agent-base "6"
+    debug "4"
+
+https@*:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/https/-/https-1.0.0.tgz#3c37c7ae1a8eeb966904a2ad1e975a194b7ed3a4"
+  integrity sha1-PDfHrhqO65ZpBKKtHpdaGUt+06Q=
+
+iconv-lite@0.4.24, iconv-lite@~0.4.13:
+  version "0.4.24"
+  resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
+  integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
+  dependencies:
+    safer-buffer ">= 2.1.2 < 3"
+
+iconv-lite@^0.6.3:
+  version "0.6.3"
+  resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501"
+  integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==
+  dependencies:
+    safer-buffer ">= 2.1.2 < 3.0.0"
+
+ieee754@^1.1.13:
+  version "1.2.1"
+  resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
+  integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
+
+image-size@*:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/image-size/-/image-size-1.0.0.tgz#58b31fe4743b1cec0a0ac26f5c914d3c5b2f0750"
+  integrity sha512-JLJ6OwBfO1KcA+TvJT+v8gbE6iWbj24LyDNFgFEN0lzegn6cC6a/p3NIDaepMsJjQjlUWqIC7wJv8lBFxPNjcw==
+  dependencies:
+    queue "6.0.2"
+
+immediate@~3.0.5:
+  version "3.0.6"
+  resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b"
+  integrity sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=
+
+imurmurhash@^0.1.4:
+  version "0.1.4"
+  resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
+  integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
+
+inflight@^1.0.4:
+  version "1.0.6"
+  resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
+  integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
+  dependencies:
+    once "^1.3.0"
+    wrappy "1"
+
+inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, 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==
+
+inherits@2.0.3:
+  version "2.0.3"
+  resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
+  integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=
+
+ini@^1.3.4:
+  version "1.3.8"
+  resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c"
+  integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==
+
+interpret@~1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.1.0.tgz#7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614"
+  integrity sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=
+
+invariant@^2.2.2:
+  version "2.2.4"
+  resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
+  integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==
+  dependencies:
+    loose-envify "^1.0.0"
+
+ipaddr.js@1.9.1:
+  version "1.9.1"
+  resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3"
+  integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==
+
+ipcheck@^0.1.0:
+  version "0.1.0"
+  resolved "https://registry.yarnpkg.com/ipcheck/-/ipcheck-0.1.0.tgz#a6f942228910010f1688117b7a774b39c5222f81"
+  integrity sha1-pvlCIokQAQ8WiBF7endLOcUiL4E=
+
+is-absolute@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576"
+  integrity sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==
+  dependencies:
+    is-relative "^1.0.0"
+    is-windows "^1.0.1"
+
+is-accessor-descriptor@^0.1.6:
+  version "0.1.6"
+  resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6"
+  integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=
+  dependencies:
+    kind-of "^3.0.2"
+
+is-accessor-descriptor@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656"
+  integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==
+  dependencies:
+    kind-of "^6.0.0"
+
+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-binary-path@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898"
+  integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=
+  dependencies:
+    binary-extensions "^1.0.0"
+
+is-buffer@^1.1.5, is-buffer@~1.1.6:
+  version "1.1.6"
+  resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
+  integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
+
+is-core-module@^2.2.0:
+  version "2.5.0"
+  resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.5.0.tgz#f754843617c70bfd29b7bd87327400cda5c18491"
+  integrity sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg==
+  dependencies:
+    has "^1.0.3"
+
+is-data-descriptor@^0.1.4:
+  version "0.1.4"
+  resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56"
+  integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=
+  dependencies:
+    kind-of "^3.0.2"
+
+is-data-descriptor@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7"
+  integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==
+  dependencies:
+    kind-of "^6.0.0"
+
+is-descriptor@^0.1.0:
+  version "0.1.6"
+  resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca"
+  integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==
+  dependencies:
+    is-accessor-descriptor "^0.1.6"
+    is-data-descriptor "^0.1.4"
+    kind-of "^5.0.0"
+
+is-descriptor@^1.0.0, is-descriptor@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec"
+  integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==
+  dependencies:
+    is-accessor-descriptor "^1.0.0"
+    is-data-descriptor "^1.0.0"
+    kind-of "^6.0.2"
+
+is-dotfile@^1.0.0:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1"
+  integrity sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=
+
+is-equal-shallow@^0.1.3:
+  version "0.1.3"
+  resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534"
+  integrity sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=
+  dependencies:
+    is-primitive "^2.0.0"
+
+is-extendable@^0.1.0, is-extendable@^0.1.1:
+  version "0.1.1"
+  resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
+  integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=
+
+is-extendable@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4"
+  integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==
+  dependencies:
+    is-plain-object "^2.0.4"
+
+is-extglob@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0"
+  integrity sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=
+
+is-extglob@^2.1.1:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
+  integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
+
+is-finite@^1.0.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.1.0.tgz#904135c77fb42c0641d6aa1bcdbc4daa8da082f3"
+  integrity sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==
+
+is-fullwidth-code-point@^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-glob@^2.0.0, is-glob@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863"
+  integrity sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=
+  dependencies:
+    is-extglob "^1.0.0"
+
+is-glob@^4.0.0:
+  version "4.0.1"
+  resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc"
+  integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==
+  dependencies:
+    is-extglob "^2.1.1"
+
+is-number@^2.1.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f"
+  integrity sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=
+  dependencies:
+    kind-of "^3.0.2"
+
+is-number@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195"
+  integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=
+  dependencies:
+    kind-of "^3.0.2"
+
+is-number@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff"
+  integrity sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==
+
+is-number@^7.0.0:
+  version "7.0.0"
+  resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
+  integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
+
+is-plain-object@^2.0.3, is-plain-object@^2.0.4:
+  version "2.0.4"
+  resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
+  integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==
+  dependencies:
+    isobject "^3.0.1"
+
+is-posix-bracket@^0.1.0:
+  version "0.1.1"
+  resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4"
+  integrity sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=
+
+is-potential-custom-element-name@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5"
+  integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==
+
+is-primitive@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575"
+  integrity sha1-IHurkWOEmcB7Kt8kCkGochADRXU=
+
+is-relative@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d"
+  integrity sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==
+  dependencies:
+    is-unc-path "^1.0.0"
+
+is-stream@^1.0.1:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
+  integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ=
+
+is-stream@^2.0.0:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077"
+  integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==
+
+is-typedarray@~1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
+  integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
+
+is-unc-path@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d"
+  integrity sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==
+  dependencies:
+    unc-path-regex "^0.1.2"
+
+is-windows@^1.0.1, is-windows@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
+  integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==
+
+isarray@1.0.0, isarray@~1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
+  integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
+
+isexe@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
+  integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
+
+isobject@^2.0.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
+  integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=
+  dependencies:
+    isarray "1.0.0"
+
+isobject@^3.0.0, isobject@^3.0.1:
+  version "3.0.1"
+  resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
+  integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8=
+
+isstream@~0.1.2:
+  version "0.1.2"
+  resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
+  integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=
+
+istanbul-lib-coverage@^2.0.5:
+  version "2.0.5"
+  resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz#675f0ab69503fad4b1d849f736baaca803344f49"
+  integrity sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==
+
+istanbul-lib-hook@^2.0.7:
+  version "2.0.7"
+  resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz#c95695f383d4f8f60df1f04252a9550e15b5b133"
+  integrity sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA==
+  dependencies:
+    append-transform "^1.0.0"
+
+istanbul-lib-instrument@^3.3.0:
+  version "3.3.0"
+  resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz#a5f63d91f0bbc0c3e479ef4c5de027335ec6d630"
+  integrity sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==
+  dependencies:
+    "@babel/generator" "^7.4.0"
+    "@babel/parser" "^7.4.3"
+    "@babel/template" "^7.4.0"
+    "@babel/traverse" "^7.4.3"
+    "@babel/types" "^7.4.0"
+    istanbul-lib-coverage "^2.0.5"
+    semver "^6.0.0"
+
+istanbul-lib-report@^2.0.8:
+  version "2.0.8"
+  resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz#5a8113cd746d43c4889eba36ab10e7d50c9b4f33"
+  integrity sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==
+  dependencies:
+    istanbul-lib-coverage "^2.0.5"
+    make-dir "^2.1.0"
+    supports-color "^6.1.0"
+
+istanbul-lib-source-maps@^3.0.6:
+  version "3.0.6"
+  resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz#284997c48211752ec486253da97e3879defba8c8"
+  integrity sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==
+  dependencies:
+    debug "^4.1.1"
+    istanbul-lib-coverage "^2.0.5"
+    make-dir "^2.1.0"
+    rimraf "^2.6.3"
+    source-map "^0.6.1"
+
+istanbul-reports@^2.2.4:
+  version "2.2.7"
+  resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.2.7.tgz#5d939f6237d7b48393cc0959eab40cd4fd056931"
+  integrity sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg==
+  dependencies:
+    html-escaper "^2.0.0"
+
+"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
+  integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
+
+js-tokens@^3.0.2:
+  version "3.0.2"
+  resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
+  integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls=
+
+js-yaml@^3.13.1, js-yaml@~3.14.0:
+  version "3.14.1"
+  resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"
+  integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
+  dependencies:
+    argparse "^1.0.7"
+    esprima "^4.0.0"
+
+js2xmlparser@~1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/js2xmlparser/-/js2xmlparser-1.0.0.tgz#5a170f2e8d6476ce45405e04823242513782fe30"
+  integrity sha1-WhcPLo1kds5FQF4EgjJCUTeC/jA=
+
+jsbn@~0.1.0:
+  version "0.1.1"
+  resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
+  integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM=
+
+jsdoc-75lb@^3.5.6:
+  version "3.6.0"
+  resolved "https://registry.yarnpkg.com/jsdoc-75lb/-/jsdoc-75lb-3.6.0.tgz#a807119528b4009ccbcab49b7522f63fec6cd0bd"
+  integrity sha1-qAcRlSi0AJzLyrSbdSL2P+xs0L0=
+  dependencies:
+    bluebird "~3.4.6"
+    catharsis "~0.8.8"
+    escape-string-regexp "~1.0.5"
+    espree "~3.1.7"
+    js2xmlparser "~1.0.0"
+    klaw "~1.3.0"
+    marked "~0.3.6"
+    mkdirp "~0.5.1"
+    requizzle "~0.2.1"
+    strip-json-comments "~2.0.1"
+    taffydb "2.6.2"
+    underscore "~1.8.3"
+
+jsdoc-api@^1.0.0:
+  version "1.2.4"
+  resolved "https://registry.yarnpkg.com/jsdoc-api/-/jsdoc-api-1.2.4.tgz#5012235927bfad1e27bc88d07b0ddddb2d3a8a59"
+  integrity sha1-UBIjWSe/rR4nvIjQew3d2y06ilk=
+  dependencies:
+    array-back "^1.0.3"
+    cache-point "~0.3.3"
+    collect-all "^1.0.2"
+    core-js "^2.4.1"
+    feature-detect-es6 "^1.3.1"
+    file-set "^1.0.1"
+    jsdoc-75lb "^3.5.6"
+    object-to-spawn-args "^1.1.0"
+    promise.prototype.finally "^1.0.1"
+    temp-path "^1.0.0"
+    then-fs "^2.0.0"
+    walk-back "^2.0.1"
+
+jsdoc-parse@^1.2.7:
+  version "1.2.7"
+  resolved "https://registry.yarnpkg.com/jsdoc-parse/-/jsdoc-parse-1.2.7.tgz#54b7481b3cd6bcb7c173dc4fa69ee92735ea2525"
+  integrity sha1-VLdIGzzWvLfBc9xPpp7pJzXqJSU=
+  dependencies:
+    ansi-escape-sequences "^2.2.1"
+    array-tools "^2"
+    collect-json "^1.0.1"
+    command-line-args "^2.1.4"
+    command-line-tool "^0.1.0"
+    core-js "^2.0.1"
+    feature-detect-es6 "^1.2.0"
+    file-set "~0.2.1"
+    jsdoc-api "^1.0.0"
+    object-tools "^2"
+    stream-connect "^1.0.1"
+    test-value "^1.0.1"
+
+jsdoc-to-markdown@^1.3.3:
+  version "1.3.9"
+  resolved "https://registry.yarnpkg.com/jsdoc-to-markdown/-/jsdoc-to-markdown-1.3.9.tgz#774c0ece0ebd0bcc3261b2c9a2aa8d1399a61472"
+  integrity sha1-d0wOzg69C8wyYbLJoqqNE5mmFHI=
+  dependencies:
+    ansi-escape-sequences "^3.0.0"
+    command-line-args "^3.0.1"
+    command-line-usage "^3.0.5"
+    config-master "^2.0.4"
+    dmd "^1.4.1"
+    jsdoc-parse "^1.2.7"
+    jsdoc2md-stats "^1.0.3"
+    object-tools "^2.0.6"
+    stream-connect "^1.0.2"
+
+jsdoc2md-stats@^1.0.3:
+  version "1.0.6"
+  resolved "https://registry.yarnpkg.com/jsdoc2md-stats/-/jsdoc2md-stats-1.0.6.tgz#dc0e002aebbd0fbae5123534f92732afbc651fbf"
+  integrity sha1-3A4AKuu9D7rlEjU0+Scyr7xlH78=
+  dependencies:
+    app-usage-stats "^0.4.0"
+    feature-detect-es6 "^1.3.1"
+
+jsdom@*:
+  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"
+    acorn-globals "^6.0.0"
+    cssom "^0.4.4"
+    cssstyle "^2.3.0"
+    data-urls "^2.0.0"
+    decimal.js "^10.2.1"
+    domexception "^2.0.1"
+    escodegen "^2.0.0"
+    form-data "^3.0.0"
+    html-encoding-sniffer "^2.0.1"
+    http-proxy-agent "^4.0.1"
+    https-proxy-agent "^5.0.0"
+    is-potential-custom-element-name "^1.0.1"
+    nwsapi "^2.2.0"
+    parse5 "6.0.1"
+    saxes "^5.0.1"
+    symbol-tree "^3.2.4"
+    tough-cookie "^4.0.0"
+    w3c-hr-time "^1.0.2"
+    w3c-xmlserializer "^2.0.0"
+    webidl-conversions "^6.1.0"
+    whatwg-encoding "^1.0.5"
+    whatwg-mimetype "^2.3.0"
+    whatwg-url "^8.5.0"
+    ws "^7.4.6"
+    xml-name-validator "^3.0.0"
+
+jsesc@^1.3.0:
+  version "1.3.0"
+  resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b"
+  integrity sha1-RsP+yMGJKxKwgz25vHYiF226s0s=
+
+jsesc@^2.5.1:
+  version "2.5.2"
+  resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
+  integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
+
+jsesc@~0.5.0:
+  version "0.5.0"
+  resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
+  integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=
+
+json-bigint@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/json-bigint/-/json-bigint-1.0.0.tgz#ae547823ac0cad8398667f8cd9ef4730f5b01ff1"
+  integrity sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==
+  dependencies:
+    bignumber.js "^9.0.0"
+
+json-parse-better-errors@^1.0.1:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
+  integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==
+
+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@0.2.3:
+  version "0.2.3"
+  resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
+  integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=
+
+json-stringify-safe@~5.0.1:
+  version "5.0.1"
+  resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
+  integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=
+
+json5@^0.5.1:
+  version "0.5.1"
+  resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
+  integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=
+
+jsonwebtoken@^8.5.1:
+  version "8.5.1"
+  resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz#00e71e0b8df54c2121a1f26137df2280673bcc0d"
+  integrity sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==
+  dependencies:
+    jws "^3.2.2"
+    lodash.includes "^4.3.0"
+    lodash.isboolean "^3.0.3"
+    lodash.isinteger "^4.0.4"
+    lodash.isnumber "^3.0.3"
+    lodash.isplainobject "^4.0.6"
+    lodash.isstring "^4.0.1"
+    lodash.once "^4.0.0"
+    ms "^2.1.1"
+    semver "^5.6.0"
+
+jsprim@^1.2.2:
+  version "1.4.1"
+  resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
+  integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=
+  dependencies:
+    assert-plus "1.0.0"
+    extsprintf "1.3.0"
+    json-schema "0.2.3"
+    verror "1.10.0"
+
+jwa@^1.4.1:
+  version "1.4.1"
+  resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a"
+  integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==
+  dependencies:
+    buffer-equal-constant-time "1.0.1"
+    ecdsa-sig-formatter "1.0.11"
+    safe-buffer "^5.0.1"
+
+jwa@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/jwa/-/jwa-2.0.0.tgz#a7e9c3f29dae94027ebcaf49975c9345593410fc"
+  integrity sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==
+  dependencies:
+    buffer-equal-constant-time "1.0.1"
+    ecdsa-sig-formatter "1.0.11"
+    safe-buffer "^5.0.1"
+
+jws@^3.2.2:
+  version "3.2.2"
+  resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304"
+  integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==
+  dependencies:
+    jwa "^1.4.1"
+    safe-buffer "^5.0.1"
+
+jws@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/jws/-/jws-4.0.0.tgz#2d4e8cf6a318ffaa12615e9dec7e86e6c97310f4"
+  integrity sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==
+  dependencies:
+    jwa "^2.0.0"
+    safe-buffer "^5.0.1"
+
+jwt-simple@*:
+  version "0.5.6"
+  resolved "https://registry.yarnpkg.com/jwt-simple/-/jwt-simple-0.5.6.tgz#3357adec55b26547114157be66748995b75b333a"
+  integrity sha512-40aUybvhH9t2h71ncA1/1SbtTNCVZHgsTsTgqPUxGWDmUDrXyDf2wMNQKEbdBjbf4AI+fQhbECNTV6lWxQKUzg==
+
+keygrip@~1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/keygrip/-/keygrip-1.1.0.tgz#871b1681d5e159c62a445b0c74b615e0917e7226"
+  integrity sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==
+  dependencies:
+    tsscmp "1.0.6"
+
+kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0:
+  version "3.2.2"
+  resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
+  integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=
+  dependencies:
+    is-buffer "^1.1.5"
+
+kind-of@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57"
+  integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc=
+  dependencies:
+    is-buffer "^1.1.5"
+
+kind-of@^5.0.0:
+  version "5.1.0"
+  resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d"
+  integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==
+
+kind-of@^6.0.0, kind-of@^6.0.2:
+  version "6.0.3"
+  resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
+  integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
+
+klaw@~1.3.0:
+  version "1.3.1"
+  resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439"
+  integrity sha1-QIhDO0azsbolnXh4XY6W9zugJDk=
+  optionalDependencies:
+    graceful-fs "^4.1.9"
+
+koa-compose@^4.1.0:
+  version "4.1.0"
+  resolved "https://registry.yarnpkg.com/koa-compose/-/koa-compose-4.1.0.tgz#507306b9371901db41121c812e923d0d67d3e877"
+  integrity sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==
+
+layerr@^0.1.2:
+  version "0.1.2"
+  resolved "https://registry.yarnpkg.com/layerr/-/layerr-0.1.2.tgz#16c8e7fb042d3595ab15492bdad088f31d7afd15"
+  integrity sha512-ob5kTd9H3S4GOG2nVXyQhOu9O8nBgP555XxWPkJI0tR0JeRilfyTp8WtPdIJHLXBmHMSdEq5+KMxiYABeScsIQ==
+
+lazy-cache@^1.0.3:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e"
+  integrity sha1-odePw6UEdMuAhF07O24dpJpEbo4=
+
+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"
+
+ldap-filter@^0.3.3:
+  version "0.3.3"
+  resolved "https://registry.yarnpkg.com/ldap-filter/-/ldap-filter-0.3.3.tgz#2b14c68a2a9d4104dbdbc910a1ca85fd189e9797"
+  integrity sha1-KxTGiiqdQQTb28kQocqF/Riel5c=
+  dependencies:
+    assert-plus "^1.0.0"
+
+ldapauth-fork@*:
+  version "5.0.1"
+  resolved "https://registry.yarnpkg.com/ldapauth-fork/-/ldapauth-fork-5.0.1.tgz#18779a9c30371c5bbea02e3b6aaadb60819ad29c"
+  integrity sha512-EdELQz8zgPruqV2y88PAuAiZCgTaMjex/kEA2PIcOlPYFt75C9QFt5HGZKVQo8Sf/3Mwnr1AtiThHKcq+pRtEg==
+  dependencies:
+    "@types/ldapjs" "^1.0.9"
+    bcryptjs "^2.4.0"
+    ldapjs "^2.2.1"
+    lru-cache "^6.0.0"
+
+ldapjs@^2.2.1:
+  version "2.3.1"
+  resolved "https://registry.yarnpkg.com/ldapjs/-/ldapjs-2.3.1.tgz#04136815fb1f21d692ac87fab5961a04d86e8b04"
+  integrity sha512-kf0tHHLrpwKaBAQOhYHXgdeh2PkFuCCxWgLb1MRn67ZQVo787D2pij3mmHVZx193GIdM8xcfi8HF6AIYYnj0fQ==
+  dependencies:
+    abstract-logging "^2.0.0"
+    asn1 "^0.2.4"
+    assert-plus "^1.0.0"
+    backoff "^2.5.0"
+    ldap-filter "^0.3.3"
+    once "^1.4.0"
+    vasync "^2.2.0"
+    verror "^1.8.1"
+
+levn@~0.3.0:
+  version "0.3.0"
+  resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
+  integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=
+  dependencies:
+    prelude-ls "~1.1.2"
+    type-check "~0.3.2"
+
+lie@3.1.1:
+  version "3.1.1"
+  resolved "https://registry.yarnpkg.com/lie/-/lie-3.1.1.tgz#9a436b2cc7746ca59de7a41fa469b3efb76bd87e"
+  integrity sha1-mkNrLMd0bKWd56QfpGmz77dr2H4=
+  dependencies:
+    immediate "~3.0.5"
+
+liftup@~3.0.1:
+  version "3.0.1"
+  resolved "https://registry.yarnpkg.com/liftup/-/liftup-3.0.1.tgz#1cb81aff0f368464ed3a5f1a7286372d6b1a60ce"
+  integrity sha512-yRHaiQDizWSzoXk3APcA71eOI/UuhEkNN9DiW2Tt44mhYzX4joFoCZlxsSOF7RyeLlfqzFLQI1ngFq3ggMPhOw==
+  dependencies:
+    extend "^3.0.2"
+    findup-sync "^4.0.0"
+    fined "^1.2.0"
+    flagged-respawn "^1.0.1"
+    is-plain-object "^2.0.4"
+    object.map "^1.0.1"
+    rechoir "^0.7.0"
+    resolve "^1.19.0"
+
+load-json-file@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b"
+  integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs=
+  dependencies:
+    graceful-fs "^4.1.2"
+    parse-json "^4.0.0"
+    pify "^3.0.0"
+    strip-bom "^3.0.0"
+
+loadavg-windows@*:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/loadavg-windows/-/loadavg-windows-1.1.1.tgz#e384aa8107b4ebf851bec267dd4a0789c4c54bc4"
+  integrity sha512-ncSyH121LuN6OENPSohTAS2W85J3NYVIfjsVcK4spViQbHlQUXhGKd8VYhrqWyjtwwSTw4g3rrDraNoSJWRLgw==
+  dependencies:
+    weak-daemon "1.0.3"
+
+localforage@^1.3.0:
+  version "1.9.0"
+  resolved "https://registry.yarnpkg.com/localforage/-/localforage-1.9.0.tgz#f3e4d32a8300b362b4634cc4e066d9d00d2f09d1"
+  integrity sha512-rR1oyNrKulpe+VM9cYmcFn6tsHuokyVHFaCM3+osEmxaHTbEk8oQu6eGDfS6DQLWi/N67XRmB8ECG37OES368g==
+  dependencies:
+    lie "3.1.1"
+
+locate-path@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e"
+  integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==
+  dependencies:
+    p-locate "^3.0.0"
+    path-exists "^3.0.0"
+
+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.flattendeep@^4.4.0:
+  version "4.4.0"
+  resolved "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2"
+  integrity sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=
+
+lodash.includes@^4.3.0:
+  version "4.3.0"
+  resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f"
+  integrity sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=
+
+lodash.isboolean@^3.0.3:
+  version "3.0.3"
+  resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6"
+  integrity sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=
+
+lodash.isinteger@^4.0.4:
+  version "4.0.4"
+  resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343"
+  integrity sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=
+
+lodash.isnumber@^3.0.3:
+  version "3.0.3"
+  resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc"
+  integrity sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=
+
+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.isstring@^4.0.1:
+  version "4.0.1"
+  resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451"
+  integrity sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=
+
+lodash.once@^4.0.0:
+  version "4.1.1"
+  resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac"
+  integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=
+
+lodash.pick@^4.4.0:
+  version "4.4.0"
+  resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3"
+  integrity sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=
+
+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.11, lodash@^4.17.14, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.7.0, lodash@~4.17.19, lodash@~4.17.21:
+  version "4.17.21"
+  resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
+  integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
+
+long@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28"
+  integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==
+
+longest@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
+  integrity sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=
+
+loose-envify@^1.0.0:
+  version "1.4.0"
+  resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
+  integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
+  dependencies:
+    js-tokens "^3.0.0 || ^4.0.0"
+
+lower-case@^1.1.1:
+  version "1.1.4"
+  resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac"
+  integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw=
+
+lru-cache@^4.0.1:
+  version "4.1.5"
+  resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd"
+  integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==
+  dependencies:
+    pseudomap "^1.0.2"
+    yallist "^2.1.2"
+
+lru-cache@^6.0.0:
+  version "6.0.0"
+  resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
+  integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
+  dependencies:
+    yallist "^4.0.0"
+
+ltx@^2.8.1:
+  version "2.10.0"
+  resolved "https://registry.yarnpkg.com/ltx/-/ltx-2.10.0.tgz#0b794b898e01d9dcc61b54b160e78869003bbb20"
+  integrity sha512-RB4zR6Mrp/0wTNS9WxMvpgfht/7u/8QAC9DpPD19opL/4OASPa28uoliFqeDkLUU8pQ4aeAfATBZmz1aSAHkMw==
+  dependencies:
+    inherits "^2.0.4"
+
+make-dir@^2.0.0, make-dir@^2.1.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5"
+  integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==
+  dependencies:
+    pify "^4.0.1"
+    semver "^5.6.0"
+
+make-iterator@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/make-iterator/-/make-iterator-1.0.1.tgz#29b33f312aa8f547c4a5e490f56afcec99133ad6"
+  integrity sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==
+  dependencies:
+    kind-of "^6.0.2"
+
+map-cache@^0.2.0, map-cache@^0.2.2:
+  version "0.2.2"
+  resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"
+  integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=
+
+map-visit@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f"
+  integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=
+  dependencies:
+    object-visit "^1.0.0"
+
+mariadb@*:
+  version "2.5.4"
+  resolved "https://registry.yarnpkg.com/mariadb/-/mariadb-2.5.4.tgz#c66daa35e2768b8c714c758453531c06ae4927f4"
+  integrity sha512-4vQgMRyBIN9EwSQG0vzjR9D8bscPH0dGPJt67qVlOkHSiSm0xUatg1Pft4o1LzORgeOW4PheiY/HBE9bYYmNCA==
+  dependencies:
+    "@types/geojson" "^7946.0.7"
+    "@types/node" "^14.14.28"
+    denque "^1.5.0"
+    iconv-lite "^0.6.3"
+    long "^4.0.0"
+    moment-timezone "^0.5.33"
+    please-upgrade-node "^3.2.0"
+
+marked@~0.3.6:
+  version "0.3.19"
+  resolved "https://registry.yarnpkg.com/marked/-/marked-0.3.19.tgz#5d47f709c4c9fc3c216b6d46127280f40b39d790"
+  integrity sha512-ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg==
+
+math-random@^1.0.1:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.4.tgz#5dd6943c938548267016d4e34f057583080c514c"
+  integrity sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==
+
+md5.js@^1.3.4:
+  version "1.3.5"
+  resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f"
+  integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==
+  dependencies:
+    hash-base "^3.0.0"
+    inherits "^2.0.1"
+    safe-buffer "^5.1.2"
+
+md5@^2.3.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/md5/-/md5-2.3.0.tgz#c3da9a6aae3a30b46b7b0c349b87b110dc3bda4f"
+  integrity sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==
+  dependencies:
+    charenc "0.0.2"
+    crypt "0.0.2"
+    is-buffer "~1.1.6"
+
+media-typer@0.3.0:
+  version "0.3.0"
+  resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
+  integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=
+
+memory-pager@^1.0.2:
+  version "1.5.0"
+  resolved "https://registry.yarnpkg.com/memory-pager/-/memory-pager-1.5.0.tgz#d8751655d22d384682741c972f2c3d6dfa3e66b5"
+  integrity sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==
+
+merge-descriptors@1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
+  integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=
+
+merge-source-map@^1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.1.0.tgz#2fdde7e6020939f70906a68f2d7ae685e4c8c646"
+  integrity sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==
+  dependencies:
+    source-map "^0.6.1"
+
+methods@~1.1.2:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
+  integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=
+
+micromatch@^2.1.5:
+  version "2.3.11"
+  resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565"
+  integrity sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=
+  dependencies:
+    arr-diff "^2.0.0"
+    array-unique "^0.2.1"
+    braces "^1.8.2"
+    expand-brackets "^0.1.4"
+    extglob "^0.3.1"
+    filename-regex "^2.0.0"
+    is-extglob "^1.0.0"
+    is-glob "^2.0.1"
+    kind-of "^3.0.2"
+    normalize-path "^2.0.1"
+    object.omit "^2.0.0"
+    parse-glob "^3.0.4"
+    regex-cache "^0.4.2"
+
+micromatch@^3.1.10:
+  version "3.1.10"
+  resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23"
+  integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==
+  dependencies:
+    arr-diff "^4.0.0"
+    array-unique "^0.3.2"
+    braces "^2.3.1"
+    define-property "^2.0.2"
+    extend-shallow "^3.0.2"
+    extglob "^2.0.4"
+    fragment-cache "^0.2.1"
+    kind-of "^6.0.2"
+    nanomatch "^1.2.9"
+    object.pick "^1.3.0"
+    regex-not "^1.0.0"
+    snapdragon "^0.8.1"
+    to-regex "^3.0.2"
+
+micromatch@^4.0.2:
+  version "4.0.4"
+  resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9"
+  integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==
+  dependencies:
+    braces "^3.0.1"
+    picomatch "^2.2.3"
+
+mime-db@1.49.0, "mime-db@>= 1.43.0 < 2":
+  version "1.49.0"
+  resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.49.0.tgz#f3dfde60c99e9cf3bc9701d687778f537001cbed"
+  integrity sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==
+
+mime-types@^2.1.12, mime-types@~2.1.19, mime-types@~2.1.24:
+  version "2.1.32"
+  resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.32.tgz#1d00e89e7de7fe02008db61001d9e02852670fd5"
+  integrity sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==
+  dependencies:
+    mime-db "1.49.0"
+
+mime@1.6.0:
+  version "1.6.0"
+  resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
+  integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
+
+minify-js@*:
+  version "0.0.4"
+  resolved "https://registry.yarnpkg.com/minify-js/-/minify-js-0.0.4.tgz#e960cb61083f37af856944c512d0fca546d28dda"
+  integrity sha1-6WDLYQg/N6+FaUTFEtD8pUbSjdo=
+  dependencies:
+    async "^2.0.1"
+    dir_cache "^1.0.1"
+    utils-igor "^2.0.0"
+
+minify-js@0.0.2:
+  version "0.0.2"
+  resolved "https://registry.yarnpkg.com/minify-js/-/minify-js-0.0.2.tgz#833ba28645a1cfa942536bc6de4f0294d482f639"
+  integrity sha1-gzuihkWhz6lCU2vG3k8ClNSC9jk=
+  dependencies:
+    async "^2.0.1"
+    babel-cli "^6.16.0"
+    babel-preset-es2015 "^6.16.0"
+    dir_cache "^1.0.1"
+    grunt "^1.0.1"
+    grunt-jsdoc-to-markdown "^1.2.1"
+    utils-igor "^2.0.0"
+
+minimalistic-assert@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
+  integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==
+
+"minimatch@2 || 3", 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"
+
+minimatch@^2.0.1:
+  version "2.0.10"
+  resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-2.0.10.tgz#8d087c39c6b38c001b97fca7ce6d0e1e80afbac7"
+  integrity sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=
+  dependencies:
+    brace-expansion "^1.0.0"
+
+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==
+
+minimist@~0.0.1:
+  version "0.0.10"
+  resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf"
+  integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=
+
+mixin-deep@^1.2.0:
+  version "1.3.2"
+  resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566"
+  integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==
+  dependencies:
+    for-in "^1.0.2"
+    is-extendable "^1.0.1"
+
+mkdirp2@^1.0.3:
+  version "1.0.5"
+  resolved "https://registry.yarnpkg.com/mkdirp2/-/mkdirp2-1.0.5.tgz#68bbe61defefafce4b48948608ec0bac942512c2"
+  integrity sha512-xOE9xbICroUDmG1ye2h4bZ8WBie9EGmACaco8K8cx6RlkJJrxGIqjGqztAI+NMhexXBcdGbSEzI6N3EJPevxZw==
+
+mkdirp@^0.5.0, mkdirp@^0.5.1, 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.4:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
+  integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
+
+modern-syslog@*:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/modern-syslog/-/modern-syslog-1.2.0.tgz#6e419f640efe877f73ffea1c3e987132a69cd2a2"
+  integrity sha512-dmFE23qpyZJf8MOdzuNKliW4j1PCqxaRtSzyNnv6QDUWjf1z8T4ZoQ7Qf0t6It2ewNv9/XJZSJoUgwpq3D0X7A==
+  dependencies:
+    nan "^2.13.2"
+
+moment-timezone@^0.5.33:
+  version "0.5.33"
+  resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.33.tgz#b252fd6bb57f341c9b59a5ab61a8e51a73bbd22c"
+  integrity sha512-PTc2vcT8K9J5/9rDEPe5czSIKgLoGsH8UNpA4qZTVw0Vd/Uz19geE9abbIOQKaAQFcnQ3v5YEXrbSc5BpshH+w==
+  dependencies:
+    moment ">= 2.9.0"
+
+"moment@>= 2.9.0", moment@^2.19.3:
+  version "2.29.1"
+  resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3"
+  integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==
+
+mongodb-connection-string-url@^1.0.1:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/mongodb-connection-string-url/-/mongodb-connection-string-url-1.1.0.tgz#0bd769f16aa1767758c119c275ea22bb5110915f"
+  integrity sha512-g0Qaj4AzIaktWKBkfjMjwzvBzZQN1mtb2DVOTbjdvlaqTa5lGLcnTeh0/9R9mPiIt2lvRGOrDgUdazeP5rD9oA==
+  dependencies:
+    "@types/whatwg-url" "^8.0.0"
+    whatwg-url "^8.4.0"
+
+mongodb@*:
+  version "4.1.0"
+  resolved "https://registry.yarnpkg.com/mongodb/-/mongodb-4.1.0.tgz#f491de5d52003f41dffbc6ebfd8b95be21174d63"
+  integrity sha512-Gx9U9MsFWgJ3E0v4oHAdWvYTGBznNYPCkhmD/3i/kPTY/URnPfHD5/6VoKUFrdgQTK3icFiM9976hVbqCRBO9Q==
+  dependencies:
+    bson "^4.4.0"
+    denque "^1.5.0"
+    mongodb-connection-string-url "^1.0.1"
+  optionalDependencies:
+    saslprep "^1.0.0"
+
+mongodb@^3.3.2:
+  version "3.6.11"
+  resolved "https://registry.yarnpkg.com/mongodb/-/mongodb-3.6.11.tgz#8a59a0491a92b00a8c925f72ed9d9a5b054aebb2"
+  integrity sha512-4Y4lTFHDHZZdgMaHmojtNAlqkvddX2QQBEN0K//GzxhGwlI9tZ9R0vhbjr1Decw+TF7qK0ZLjQT292XgHRRQgw==
+  dependencies:
+    bl "^2.2.1"
+    bson "^1.1.4"
+    denque "^1.4.1"
+    optional-require "^1.0.3"
+    safe-buffer "^5.1.2"
+  optionalDependencies:
+    saslprep "^1.0.0"
+
+mongojs@*:
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/mongojs/-/mongojs-3.1.0.tgz#4242e6f5218a7301c35393b64ba9130d1d9488ef"
+  integrity sha512-aXJ4xfXwx9s1cqtKTZ24PypXiWhIgvgENObQzCGbV4QBxEVedy3yuErhx6znk959cF2dOzL2ClgXJvIhfgkpIQ==
+  dependencies:
+    each-series "^1.0.0"
+    mongodb "^3.3.2"
+    nyc "^14.1.1"
+    once "^1.4.0"
+    parse-mongo-url "^1.1.1"
+    readable-stream "^3.4.0"
+    thunky "^1.1.0"
+    to-mongodb-core "^2.0.0"
+
+mqemitter@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/mqemitter/-/mqemitter-3.0.0.tgz#427733ce397be39304c2279bd84358d5525cf577"
+  integrity sha512-1HduoiTFngBGFEKCGvfCpGfPM/3g58xtDW9fmuHpbnRieC01uAi3yJE/F1YsUrzH8p441l10kosYzi3HhJYnrQ==
+  dependencies:
+    fastparallel "^2.3.0"
+    qlobber "^3.1.0"
+
+mqtt-packet@^6.1.2:
+  version "6.10.0"
+  resolved "https://registry.yarnpkg.com/mqtt-packet/-/mqtt-packet-6.10.0.tgz#c8b507832c4152e3e511c0efa104ae4a64cd418f"
+  integrity sha512-ja8+mFKIHdB1Tpl6vac+sktqy3gA8t9Mduom1BA75cI+R9AHnZOiaBQwpGiWnaVJLDGRdNhQmFaAqd7tkKSMGA==
+  dependencies:
+    bl "^4.0.2"
+    debug "^4.1.1"
+    process-nextick-args "^2.0.1"
+
+ms@2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
+  integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
+
+ms@2.1.1:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a"
+  integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==
+
+ms@2.1.2:
+  version "2.1.2"
+  resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
+  integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
+
+ms@^2.1.1:
+  version "2.1.3"
+  resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
+  integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
+
+multiparty@^4.2.1:
+  version "4.2.2"
+  resolved "https://registry.yarnpkg.com/multiparty/-/multiparty-4.2.2.tgz#bee5fb5737247628d39dab4979ffd6d57bf60ef6"
+  integrity sha512-NtZLjlvsjcoGrzojtwQwn/Tm90aWJ6XXtPppYF4WmOk/6ncdwMMKggFY2NlRRN9yiCEIVxpOfPWahVEG2HAG8Q==
+  dependencies:
+    http-errors "~1.8.0"
+    safe-buffer "5.2.1"
+    uid-safe "2.1.5"
+
+mustache@^2.2.1:
+  version "2.3.2"
+  resolved "https://registry.yarnpkg.com/mustache/-/mustache-2.3.2.tgz#a6d4d9c3f91d13359ab889a812954f9230a3d0c5"
+  integrity sha512-KpMNwdQsYz3O/SBS1qJ/o3sqUJ5wSb8gb0pul8CO0S56b9Y2ALm8zCfsjPXsqGFfoNBkDwZuZIAjhsZI03gYVQ==
+
+mv@~2:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/mv/-/mv-2.1.1.tgz#ae6ce0d6f6d5e0a4f7d893798d03c1ea9559b6a2"
+  integrity sha1-rmzg1vbV4KT32JN5jQPB6pVZtqI=
+  dependencies:
+    mkdirp "~0.5.1"
+    ncp "~2.0.0"
+    rimraf "~2.4.0"
+
+mysql@*:
+  version "2.18.1"
+  resolved "https://registry.yarnpkg.com/mysql/-/mysql-2.18.1.tgz#2254143855c5a8c73825e4522baf2ea021766717"
+  integrity sha512-Bca+gk2YWmqp2Uf6k5NFEurwY/0td0cpebAucFpY/3jhrwrVGuxU2uQFCHjU19SJfje0yQvi+rVWdq78hR5lig==
+  dependencies:
+    bignumber.js "9.0.0"
+    readable-stream "2.3.7"
+    safe-buffer "5.1.2"
+    sqlstring "2.3.1"
+
+nan@^2.12.1, nan@^2.13.2, nan@^2.14.0, nan@^2.14.1, nan@^2.14.2:
+  version "2.15.0"
+  resolved "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee"
+  integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==
+
+nanoid@^2.1.0:
+  version "2.1.11"
+  resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-2.1.11.tgz#ec24b8a758d591561531b4176a01e3ab4f0f0280"
+  integrity sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA==
+
+nanomatch@^1.2.9:
+  version "1.2.13"
+  resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
+  integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==
+  dependencies:
+    arr-diff "^4.0.0"
+    array-unique "^0.3.2"
+    define-property "^2.0.2"
+    extend-shallow "^3.0.2"
+    fragment-cache "^0.2.1"
+    is-windows "^1.0.2"
+    kind-of "^6.0.2"
+    object.pick "^1.3.0"
+    regex-not "^1.0.0"
+    snapdragon "^0.8.1"
+    to-regex "^3.0.1"
+
+ncp@~2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3"
+  integrity sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=
+
+nedb@^1.8.0:
+  version "1.8.0"
+  resolved "https://registry.yarnpkg.com/nedb/-/nedb-1.8.0.tgz#0e3502cd82c004d5355a43c9e55577bd7bd91d88"
+  integrity sha1-DjUCzYLABNU1WkPJ5VV3vXvZHYg=
+  dependencies:
+    async "0.2.10"
+    binary-search-tree "0.2.5"
+    localforage "^1.3.0"
+    mkdirp "~0.5.1"
+    underscore "~1.4.4"
+
+negotiator@0.6.2:
+  version "0.6.2"
+  resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb"
+  integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==
+
+neo-async@^2.6.0:
+  version "2.6.2"
+  resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f"
+  integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==
+
+nested-error-stacks@^2.0.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/nested-error-stacks/-/nested-error-stacks-2.1.0.tgz#0fbdcf3e13fe4994781280524f8b96b0cdff9c61"
+  integrity sha512-AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug==
+
+nested-property@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/nested-property/-/nested-property-4.0.0.tgz#a67b5a31991e701e03cdbaa6453bc5b1011bb88d"
+  integrity sha512-yFehXNWRs4cM0+dz7QxCd06hTbWbSkV0ISsqBfkntU6TOY4Qm3Q88fRRLOddkGh2Qq6dZvnKVAahfhjcUvLnyA==
+
+no-case@^2.2.0:
+  version "2.3.2"
+  resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac"
+  integrity sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==
+  dependencies:
+    lower-case "^1.1.1"
+
+node-addon-api@^1.7.1:
+  version "1.7.2"
+  resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.7.2.tgz#3df30b95720b53c24e59948b49532b662444f54d"
+  integrity sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==
+
+node-fetch@^2.3.0:
+  version "2.6.1"
+  resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052"
+  integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==
+
+node-forge@^0.10.0:
+  version "0.10.0"
+  resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3"
+  integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==
+
+node-rdpjs-2@*:
+  version "0.3.5"
+  resolved "https://registry.yarnpkg.com/node-rdpjs-2/-/node-rdpjs-2-0.3.5.tgz#6f05fa175e70095a20b59c377be34fa1fe2fa444"
+  integrity sha512-ABgNbpbJlX2S4SZnsyoUd1MXINLq2y2hbrOXcoxn/NMl4/7uhM/JmXKublF3AooOgRCVKlXiefUVCIMSG/mNZw==
+  dependencies:
+    bunyan "^1.8.12"
+    lodash.isnumber "^3.0.3"
+
+node-sspi@*:
+  version "0.2.9"
+  resolved "https://registry.yarnpkg.com/node-sspi/-/node-sspi-0.2.9.tgz#5a5aab40a4062dbc95cbdbe61a44df34e91afaaf"
+  integrity sha512-7wnA8J6HQlqIS6J9B4Ofk1lf/e0tZzrMQYurrYKq46WLUJP9onFnmmedpiTpCwlrtXu4EMeEi+WStIDf9tz1fQ==
+  dependencies:
+    bindings "^1.1.1"
+    node-addon-api "^1.7.1"
+
+node-vault@*:
+  version "0.9.22"
+  resolved "https://registry.yarnpkg.com/node-vault/-/node-vault-0.9.22.tgz#052ab9b36c29d80d1ecfad61275259fe710d179e"
+  integrity sha512-/IR+YvINFhCzxJA5x/KHUDymJerFaeqvPUE2zwceRig8yEIA41qfVKusmO6bqRGFkr/2f6CaBVp7YfabzQyteg==
+  dependencies:
+    debug "3.1.0"
+    mustache "^2.2.1"
+    request "2.88.0"
+    request-promise-native "1.0.7"
+    tv4 "^1.2.7"
+
+node-windows@*:
+  version "0.1.14"
+  resolved "https://registry.yarnpkg.com/node-windows/-/node-windows-0.1.14.tgz#31bb0503da3bc637f2bfaa8b266640a2e92d891f"
+  integrity sha1-MbsFA9o7xjfyv6qLJmZAouktiR8=
+  dependencies:
+    optimist "~0.6.0"
+    xml "0.0.12"
+
+node-xcs@*:
+  version "0.1.7"
+  resolved "https://registry.yarnpkg.com/node-xcs/-/node-xcs-0.1.7.tgz#831d4956d6d6b958a1bc266b70760eafaa733206"
+  integrity sha512-YrZOhvyrk6LKYcGFq+sSNvfLalhEBmdc8E105J3hHpn+lVUD5dRJGGf0RpsismNMgp8Mv+Vvft6tofq0mj6Ofw==
+  dependencies:
+    "@xmpp/client" "^0.9.2"
+    "@xmpp/debug" "^0.9.2"
+
+nodemailer@*:
+  version "6.6.3"
+  resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.6.3.tgz#31fb53dd4d8ae16fc088a65cb9ffa8d928a69b48"
+  integrity sha512-faZFufgTMrphYoDjvyVpbpJcYzwyFnbAMmQtj1lVBYAUSm3SOy2fIdd9+Mr4UxPosBa0JRw9bJoIwQn+nswiew==
+
+nofilter@^1.0.4:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/nofilter/-/nofilter-1.0.4.tgz#78d6f4b6a613e7ced8b015cec534625f7667006e"
+  integrity sha512-N8lidFp+fCz+TD51+haYdbDGrcBWwuHX40F5+z0qkUjMJ5Tp+rdSuAkMJ9N9eoolDlEVTf6u5icM+cNKkKW2mA==
+
+nopt@~3.0.6:
+  version "3.0.6"
+  resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
+  integrity sha1-xkZdvwirzU2zWTF/eaxopkayj/k=
+  dependencies:
+    abbrev "1"
+
+nopt@~4.0.1:
+  version "4.0.3"
+  resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.3.tgz#a375cad9d02fd921278d954c2254d5aa57e15e48"
+  integrity sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==
+  dependencies:
+    abbrev "1"
+    osenv "^0.1.4"
+
+normalize-package-data@^2.3.2:
+  version "2.5.0"
+  resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8"
+  integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==
+  dependencies:
+    hosted-git-info "^2.1.4"
+    resolve "^1.10.0"
+    semver "2 || 3 || 4 || 5"
+    validate-npm-package-license "^3.0.1"
+
+normalize-path@^2.0.0, normalize-path@^2.0.1:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
+  integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=
+  dependencies:
+    remove-trailing-separator "^1.0.1"
+
+normalize-path@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
+  integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
+
+nwsapi@^2.2.0:
+  version "2.2.0"
+  resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7"
+  integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==
+
+nyc@^14.1.1:
+  version "14.1.1"
+  resolved "https://registry.yarnpkg.com/nyc/-/nyc-14.1.1.tgz#151d64a6a9f9f5908a1b73233931e4a0a3075eeb"
+  integrity sha512-OI0vm6ZGUnoGZv/tLdZ2esSVzDwUC88SNs+6JoSOMVxA+gKMB8Tk7jBwgemLx4O40lhhvZCVw1C+OYLOBOPXWw==
+  dependencies:
+    archy "^1.0.0"
+    caching-transform "^3.0.2"
+    convert-source-map "^1.6.0"
+    cp-file "^6.2.0"
+    find-cache-dir "^2.1.0"
+    find-up "^3.0.0"
+    foreground-child "^1.5.6"
+    glob "^7.1.3"
+    istanbul-lib-coverage "^2.0.5"
+    istanbul-lib-hook "^2.0.7"
+    istanbul-lib-instrument "^3.3.0"
+    istanbul-lib-report "^2.0.8"
+    istanbul-lib-source-maps "^3.0.6"
+    istanbul-reports "^2.2.4"
+    js-yaml "^3.13.1"
+    make-dir "^2.1.0"
+    merge-source-map "^1.1.0"
+    resolve-from "^4.0.0"
+    rimraf "^2.6.3"
+    signal-exit "^3.0.2"
+    spawn-wrap "^1.4.2"
+    test-exclude "^5.2.3"
+    uuid "^3.3.2"
+    yargs "^13.2.2"
+    yargs-parser "^13.0.0"
+
+oauth-sign@~0.9.0:
+  version "0.9.0"
+  resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
+  integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==
+
+oauth@0.9.x:
+  version "0.9.15"
+  resolved "https://registry.yarnpkg.com/oauth/-/oauth-0.9.15.tgz#bd1fefaf686c96b75475aed5196412ff60cfb9c1"
+  integrity sha1-vR/vr2hslrdUda7VGWQS/2DPucE=
+
+object-assign@^4.1.0:
+  version "4.1.1"
+  resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
+  integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
+
+object-copy@^0.1.0:
+  version "0.1.0"
+  resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c"
+  integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw=
+  dependencies:
+    copy-descriptor "^0.1.0"
+    define-property "^0.2.5"
+    kind-of "^3.0.3"
+
+object-get@^2.0.0, object-get@^2.0.2, object-get@^2.1.0:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/object-get/-/object-get-2.1.1.tgz#1dad63baf6d94df184d1c58756cc9be55b174dac"
+  integrity sha512-7n4IpLMzGGcLEMiQKsNR7vCe+N5E9LORFrtNUVy4sO3dj9a3HedZCxEL2T7QuLhcHN1NBuBsMOKaOsAYI9IIvg==
+
+object-inspect@^1.9.0:
+  version "1.11.0"
+  resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.11.0.tgz#9dceb146cedd4148a0d9e51ab88d34cf509922b1"
+  integrity sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==
+
+object-keys@^1.0.12, object-keys@^1.1.1:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
+  integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
+
+object-to-spawn-args@^1.1.0:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/object-to-spawn-args/-/object-to-spawn-args-1.1.1.tgz#77da8827f073d011c9e1b173f895781470246785"
+  integrity sha1-d9qIJ/Bz0BHJ4bFz+JV4FHAkZ4U=
+
+object-tools@^1.2.1, object-tools@^1.6.1:
+  version "1.6.7"
+  resolved "https://registry.yarnpkg.com/object-tools/-/object-tools-1.6.7.tgz#52d400fc875250993dbbb3ba298d7c79bb0698d0"
+  integrity sha1-UtQA/IdSUJk9u7O6KY18ebsGmNA=
+  dependencies:
+    array-tools "^1.8.4"
+    typical "^2.2"
+
+object-tools@^2, object-tools@^2.0.6:
+  version "2.0.6"
+  resolved "https://registry.yarnpkg.com/object-tools/-/object-tools-2.0.6.tgz#f3fe1c350cda4a6f5d99d9646dc4892a02476ddd"
+  integrity sha1-8/4cNQzaSm9dmdlkbcSJKgJHbd0=
+  dependencies:
+    array-back "^1.0.2"
+    collect-json "^1.0.7"
+    object-get "^2.0.2"
+    test-value "^1.1.0"
+    typical "^2.4.2"
+
+object-visit@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb"
+  integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=
+  dependencies:
+    isobject "^3.0.0"
+
+object.assign@^4.1.0:
+  version "4.1.2"
+  resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940"
+  integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==
+  dependencies:
+    call-bind "^1.0.0"
+    define-properties "^1.1.3"
+    has-symbols "^1.0.1"
+    object-keys "^1.1.1"
+
+object.defaults@^1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/object.defaults/-/object.defaults-1.1.0.tgz#3a7f868334b407dea06da16d88d5cd29e435fecf"
+  integrity sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=
+  dependencies:
+    array-each "^1.0.1"
+    array-slice "^1.0.0"
+    for-own "^1.0.0"
+    isobject "^3.0.0"
+
+object.map@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/object.map/-/object.map-1.0.1.tgz#cf83e59dc8fcc0ad5f4250e1f78b3b81bd801d37"
+  integrity sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=
+  dependencies:
+    for-own "^1.0.0"
+    make-iterator "^1.0.0"
+
+object.omit@^2.0.0:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa"
+  integrity sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=
+  dependencies:
+    for-own "^0.1.4"
+    is-extendable "^0.1.1"
+
+object.pick@^1.2.0, object.pick@^1.3.0:
+  version "1.3.0"
+  resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747"
+  integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=
+  dependencies:
+    isobject "^3.0.1"
+
+on-finished@~2.3.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
+  integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=
+  dependencies:
+    ee-first "1.1.1"
+
+on-headers@~1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f"
+  integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==
+
+once@^1.3.0, once@^1.3.1, once@^1.4.0:
+  version "1.4.0"
+  resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
+  integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
+  dependencies:
+    wrappy "1"
+
+optimist@^0.6.1, optimist@~0.6.0:
+  version "0.6.1"
+  resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686"
+  integrity sha1-2j6nRob6IaGaERwybpDrFaAZZoY=
+  dependencies:
+    minimist "~0.0.1"
+    wordwrap "~0.0.2"
+
+optional-require@^1.0.3:
+  version "1.1.4"
+  resolved "https://registry.yarnpkg.com/optional-require/-/optional-require-1.1.4.tgz#8af7da26b17da76abbf8a1c46e2e148a63813c0e"
+  integrity sha512-YIabCRxu1Qqlxowh5MBaT8vrvC5fa5QehT4iJw8OthkTC1ZXe7aMxtZHtwnNwJRfFgiqPof2RZeguXo4weS9mA==
+  dependencies:
+    require-at "^1.0.6"
+
+optionator@^0.8.1:
+  version "0.8.3"
+  resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495"
+  integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==
+  dependencies:
+    deep-is "~0.1.3"
+    fast-levenshtein "~2.0.6"
+    levn "~0.3.0"
+    prelude-ls "~1.1.2"
+    type-check "~0.3.2"
+    word-wrap "~1.2.3"
+
+os-homedir@^1.0.0, os-homedir@^1.0.1:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
+  integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M=
+
+os-tmpdir@^1.0.0, os-tmpdir@^1.0.1:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
+  integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=
+
+osenv@^0.1.4:
+  version "0.1.5"
+  resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410"
+  integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==
+  dependencies:
+    os-homedir "^1.0.0"
+    os-tmpdir "^1.0.0"
+
+otplib@10.2.3:
+  version "10.2.3"
+  resolved "https://registry.yarnpkg.com/otplib/-/otplib-10.2.3.tgz#5a371da0c2b36a4a92d2bdac7bf4446dd7ccafc8"
+  integrity sha512-dwQTF4SkLFVZyV85JFrzCh+zSSlWHyKQtjbHrDmldxqBo6BMZ8uMfQ+kcVTf/VCkbUx1KARvn9cR/inYM2nHTw==
+  dependencies:
+    thirty-two "1.0.2"
+
+output-file-sync@^1.1.2:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/output-file-sync/-/output-file-sync-1.1.2.tgz#d0a33eefe61a205facb90092e826598d5245ce76"
+  integrity sha1-0KM+7+YaIF+suQCS6CZZjVJFznY=
+  dependencies:
+    graceful-fs "^4.1.4"
+    mkdirp "^0.5.1"
+    object-assign "^4.1.0"
+
+p-limit@^2.0.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
+  integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
+  dependencies:
+    p-try "^2.0.0"
+
+p-locate@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4"
+  integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==
+  dependencies:
+    p-limit "^2.0.0"
+
+p-try@^2.0.0:
+  version "2.2.0"
+  resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
+  integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
+
+package-hash@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/package-hash/-/package-hash-3.0.0.tgz#50183f2d36c9e3e528ea0a8605dff57ce976f88e"
+  integrity sha512-lOtmukMDVvtkL84rJHI7dpTYq+0rli8N2wlnqUcBuDWCfVhRUfOmnR9SsoHFMLpACvEV60dX7rd0rFaYDZI+FA==
+  dependencies:
+    graceful-fs "^4.1.15"
+    hasha "^3.0.0"
+    lodash.flattendeep "^4.4.0"
+    release-zalgo "^1.0.0"
+
+param-case@^2.1.1:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247"
+  integrity sha1-35T9jPZTHs915r75oIWPvHK+Ikc=
+  dependencies:
+    no-case "^2.2.0"
+
+parse-filepath@^1.0.1:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.2.tgz#a632127f53aaf3d15876f5872f3ffac763d6c891"
+  integrity sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=
+  dependencies:
+    is-absolute "^1.0.0"
+    map-cache "^0.2.0"
+    path-root "^0.1.1"
+
+parse-glob@^3.0.4:
+  version "3.0.4"
+  resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c"
+  integrity sha1-ssN2z7EfNVE7rdFz7wu246OIORw=
+  dependencies:
+    glob-base "^0.3.0"
+    is-dotfile "^1.0.0"
+    is-extglob "^1.0.0"
+    is-glob "^2.0.0"
+
+parse-json@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0"
+  integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=
+  dependencies:
+    error-ex "^1.3.1"
+    json-parse-better-errors "^1.0.1"
+
+parse-mongo-url@^1.1.1:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/parse-mongo-url/-/parse-mongo-url-1.1.1.tgz#66238df5f8e7c0c8ca4cd970d4ab6a1373eb75b5"
+  integrity sha1-ZiON9fjnwMjKTNlw1KtqE3PrdbU=
+
+parse-passwd@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6"
+  integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=
+
+parse5@6.0.1:
+  version "6.0.1"
+  resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b"
+  integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==
+
+parseurl@~1.3.3:
+  version "1.3.3"
+  resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
+  integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
+
+parsimmon@1.16.0:
+  version "1.16.0"
+  resolved "https://registry.yarnpkg.com/parsimmon/-/parsimmon-1.16.0.tgz#2834e3db645b6a855ab2ea14fbaad10d82867e0f"
+  integrity sha512-tekGDz2Lny27SQ/5DzJdIK0lqsWwZ667SCLFIDCxaZM7VNgQjyKLbaL7FYPKpbjdxNAXFV/mSxkq5D2fnkW4pA==
+
+pascalcase@^0.1.1:
+  version "0.1.1"
+  resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14"
+  integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=
+
+passport-azure-oauth2@*:
+  version "0.1.0"
+  resolved "https://registry.yarnpkg.com/passport-azure-oauth2/-/passport-azure-oauth2-0.1.0.tgz#b391ebdf3aabb9529aa2b6c461d5a1677dd4c362"
+  integrity sha1-s5Hr3zqruVKaorbEYdWhZ33Uw2I=
+  dependencies:
+    passport-oauth "^1.0.0"
+
+passport-github2@*:
+  version "0.1.12"
+  resolved "https://registry.yarnpkg.com/passport-github2/-/passport-github2-0.1.12.tgz#a72ebff4fa52a35bc2c71122dcf470d1116f772c"
+  integrity sha512-3nPUCc7ttF/3HSP/k9sAXjz3SkGv5Nki84I05kSQPo01Jqq1NzJACgMblCK0fGcv9pKCG/KXU3AJRDGLqHLoIw==
+  dependencies:
+    passport-oauth2 "1.x.x"
+
+passport-google-oauth20@*:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/passport-google-oauth20/-/passport-google-oauth20-2.0.0.tgz#0d241b2d21ebd3dc7f2b60669ec4d587e3a674ef"
+  integrity sha512-KSk6IJ15RoxuGq7D1UKK/8qKhNfzbLeLrG3gkLZ7p4A6DBCcv7xpyQwuXtWdpyR0+E0mwkpjY1VfPOhxQrKzdQ==
+  dependencies:
+    passport-oauth2 "1.x.x"
+
+passport-oauth1@1.x.x:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/passport-oauth1/-/passport-oauth1-1.2.0.tgz#5229d431781bf5b265bec86ce9a9cce58a756cf9"
+  integrity sha512-Sv2YWodC6jN12M/OXwmR4BIXeeIHjjbwYTQw4kS6tHK4zYzSEpxBgSJJnknBjICA5cj0ju3FSnG1XmHgIhYnLg==
+  dependencies:
+    oauth "0.9.x"
+    passport-strategy "1.x.x"
+    utils-merge "1.x.x"
+
+passport-oauth2@1.x.x:
+  version "1.6.0"
+  resolved "https://registry.yarnpkg.com/passport-oauth2/-/passport-oauth2-1.6.0.tgz#5f599735e0ea40ea3027643785f81a3a9b4feb50"
+  integrity sha512-emXPLqLcVEcLFR/QvQXZcwLmfK8e9CqvMgmOFJxcNT3okSFMtUbRRKpY20x5euD+01uHsjjCa07DYboEeLXYiw==
+  dependencies:
+    base64url "3.x.x"
+    oauth "0.9.x"
+    passport-strategy "1.x.x"
+    uid2 "0.0.x"
+    utils-merge "1.x.x"
+
+passport-oauth@1.x, passport-oauth@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/passport-oauth/-/passport-oauth-1.0.0.tgz#90aff63387540f02089af28cdad39ea7f80d77df"
+  integrity sha1-kK/2M4dUDwIImvKM2tOep/gNd98=
+  dependencies:
+    passport-oauth1 "1.x.x"
+    passport-oauth2 "1.x.x"
+
+passport-reddit@*:
+  version "0.2.4"
+  resolved "https://registry.yarnpkg.com/passport-reddit/-/passport-reddit-0.2.4.tgz#4e5805d919a8f28f80c238f7da2d92a38067acc5"
+  integrity sha1-TlgF2Rmo8o+Awjj32i2So4BnrMU=
+  dependencies:
+    passport-oauth "1.x"
+    pkginfo "0.3.x"
+
+passport-saml@*:
+  version "3.1.1"
+  resolved "https://registry.yarnpkg.com/passport-saml/-/passport-saml-3.1.1.tgz#257470003366e06ce3c5738aa64a1209a0f4d7e7"
+  integrity sha512-45YXn/BUdzMSx27lEmY0EMXck+qgR8jdnsdgNbnG5HNzwGbcSLcTkH5AoULW+6gd5fcG1rcMDtKyIJwTIMJA6A==
+  dependencies:
+    debug "^4.3.1"
+    passport-strategy "^1.0.0"
+    xml-crypto "^2.1.2"
+    xml-encryption "^1.2.4"
+    xml2js "^0.4.23"
+    xmlbuilder "^15.1.1"
+    xmldom "^0.6.0"
+
+passport-strategy@1.x.x, passport-strategy@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/passport-strategy/-/passport-strategy-1.0.0.tgz#b5539aa8fc225a3d1ad179476ddf236b440f52e4"
+  integrity sha1-tVOaqPwiWj0a0XlHbd8ja0QPUuQ=
+
+passport-twitter@*:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/passport-twitter/-/passport-twitter-1.0.4.tgz#01a799e1f760bf2de49f2ba5fba32282f18932d7"
+  integrity sha1-AaeZ4fdgvy3knyul+6MigvGJMtc=
+  dependencies:
+    passport-oauth1 "1.x.x"
+    xtraverse "0.1.x"
+
+passport@*:
+  version "0.4.1"
+  resolved "https://registry.yarnpkg.com/passport/-/passport-0.4.1.tgz#941446a21cb92fc688d97a0861c38ce9f738f270"
+  integrity sha512-IxXgZZs8d7uFSt3eqNjM9NQ3g3uQCW5avD8mRNoXV99Yig50vjuaez6dQK2qC0kVWPRTujxY0dWgGfT09adjYg==
+  dependencies:
+    passport-strategy "1.x.x"
+    pause "0.0.1"
+
+path-exists@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
+  integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=
+
+path-is-absolute@^1.0.0, path-is-absolute@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
+  integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
+
+path-parse@^1.0.6:
+  version "1.0.7"
+  resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
+  integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
+
+path-posix@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/path-posix/-/path-posix-1.0.0.tgz#06b26113f56beab042545a23bfa88003ccac260f"
+  integrity sha1-BrJhE/Vr6rBCVFojv6iAA8ysJg8=
+
+path-root-regex@^0.1.0:
+  version "0.1.2"
+  resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d"
+  integrity sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=
+
+path-root@^0.1.1:
+  version "0.1.1"
+  resolved "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7"
+  integrity sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=
+  dependencies:
+    path-root-regex "^0.1.0"
+
+path-to-regexp@0.1.7:
+  version "0.1.7"
+  resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
+  integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=
+
+path-type@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f"
+  integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==
+  dependencies:
+    pify "^3.0.0"
+
+pause@0.0.1:
+  version "0.0.1"
+  resolved "https://registry.yarnpkg.com/pause/-/pause-0.0.1.tgz#1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d"
+  integrity sha1-HUCLP9t2kjuVQ9lvtMnf1TXZy10=
+
+pend@~1.2.0:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50"
+  integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA=
+
+performance-now@^2.1.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
+  integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=
+
+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==
+
+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=
+
+pify@^4.0.1:
+  version "4.0.1"
+  resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231"
+  integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==
+
+pkg-dir@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3"
+  integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==
+  dependencies:
+    find-up "^3.0.0"
+
+pkginfo@0.3.x:
+  version "0.3.1"
+  resolved "https://registry.yarnpkg.com/pkginfo/-/pkginfo-0.3.1.tgz#5b29f6a81f70717142e09e765bbeab97b4f81e21"
+  integrity sha1-Wyn2qB9wcXFC4J52W76rl7T4HiE=
+
+please-upgrade-node@^3.2.0:
+  version "3.2.0"
+  resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942"
+  integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==
+  dependencies:
+    semver-compare "^1.0.0"
+
+plivo@*:
+  version "4.20.1"
+  resolved "https://registry.yarnpkg.com/plivo/-/plivo-4.20.1.tgz#032366930f930debab6497b2def2ab07e46361dc"
+  integrity sha512-0f3l/FBc00hz/BXF9Pyl1HgqWWI2XW9CLGlQN284YQqlt54T0vI5AaPd3GRlDxb6tI95u9UATTwbOgNKe5WJVQ==
+  dependencies:
+    "@types/node" "^14.14.14"
+    axios "^0.21.1"
+    base-64 "^0.1.0"
+    build-url "^1.0.10"
+    form-data "^4.0.0"
+    https-proxy-agent "^5.0.0"
+    jsonwebtoken "^8.5.1"
+    lodash "^4.17.4"
+    querystring "^0.2.0"
+    uri-parser "^1.0.0"
+    utf8 "^2.1.2"
+    xml2js "^0.4.19"
+    xmlbuilder "^9.0.1"
+
+pop-iterate@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/pop-iterate/-/pop-iterate-1.0.1.tgz#ceacfdab4abf353d7a0f2aaa2c1fc7b3f9413ba3"
+  integrity sha1-zqz9q0q/NT16DyqqLB/Hs/lBO6M=
+
+posix-character-classes@^0.1.0:
+  version "0.1.1"
+  resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
+  integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=
+
+precond@0.2:
+  version "0.2.3"
+  resolved "https://registry.yarnpkg.com/precond/-/precond-0.2.3.tgz#aa9591bcaa24923f1e0f4849d240f47efc1075ac"
+  integrity sha1-qpWRvKokkj8eD0hJ0kD0fvwQdaw=
+
+prelude-ls@~1.1.2:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
+  integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=
+
+preserve@^0.2.0:
+  version "0.2.0"
+  resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
+  integrity sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=
+
+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==
+
+private@^0.1.6, private@^0.1.8:
+  version "0.1.8"
+  resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff"
+  integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==
+
+process-nextick-args@^2.0.1, 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==
+
+promise.prototype.finally@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/promise.prototype.finally/-/promise.prototype.finally-1.0.1.tgz#91182f91c92486995740fa05e0da942ac986befa"
+  integrity sha1-kRgvkckkhplXQPoF4NqUKsmGvvo=
+
+"promise@>=3.2 <8":
+  version "7.3.1"
+  resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf"
+  integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==
+  dependencies:
+    asap "~2.0.3"
+
+promise@^8.0.2:
+  version "8.1.0"
+  resolved "https://registry.yarnpkg.com/promise/-/promise-8.1.0.tgz#697c25c3dfe7435dd79fcd58c38a135888eaf05e"
+  integrity sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==
+  dependencies:
+    asap "~2.0.6"
+
+proxy-addr@~2.0.5:
+  version "2.0.7"
+  resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025"
+  integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==
+  dependencies:
+    forwarded "0.2.0"
+    ipaddr.js "1.9.1"
+
+pseudomap@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
+  integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM=
+
+psl@^1.1.24, psl@^1.1.28, psl@^1.1.33:
+  version "1.8.0"
+  resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24"
+  integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==
+
+pump@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"
+  integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==
+  dependencies:
+    end-of-stream "^1.1.0"
+    once "^1.3.1"
+
+punycode@^1.4.1:
+  version "1.4.1"
+  resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
+  integrity sha1-wNWmOycYgArY4esPpSachN1BhF4=
+
+punycode@^2.1.0, punycode@^2.1.1:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
+  integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
+
+q@2.0.x:
+  version "2.0.3"
+  resolved "https://registry.yarnpkg.com/q/-/q-2.0.3.tgz#75b8db0255a1a5af82f58c3f3aaa1efec7d0d134"
+  integrity sha1-dbjbAlWhpa+C9Yw/Oqoe/sfQ0TQ=
+  dependencies:
+    asap "^2.0.0"
+    pop-iterate "^1.0.1"
+    weak-map "^1.0.5"
+
+qlobber@^3.0.2, qlobber@^3.1.0:
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/qlobber/-/qlobber-3.1.0.tgz#b8c8e067496de17bdbf3cd843cf53ece09c8d211"
+  integrity sha512-B7EU6Hv9g4BeJiB7qtOjn9wwgqVpcWE5c4/86O0Yoj7fmAvgwXrdG1E+QF13S/+TX5XGUl7toizP0gzXR2Saug==
+
+qs@6.7.0:
+  version "6.7.0"
+  resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc"
+  integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==
+
+qs@^6.7.0, qs@^6.9.4:
+  version "6.10.1"
+  resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.1.tgz#4931482fa8d647a5aab799c5271d2133b981fb6a"
+  integrity sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==
+  dependencies:
+    side-channel "^1.0.4"
+
+qs@~6.5.2:
+  version "6.5.2"
+  resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
+  integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==
+
+querystring@^0.2.0:
+  version "0.2.1"
+  resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.1.tgz#40d77615bb09d16902a85c3e38aa8b5ed761c2dd"
+  integrity sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==
+
+querystringify@^2.1.1:
+  version "2.2.0"
+  resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6"
+  integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==
+
+queue@6.0.2:
+  version "6.0.2"
+  resolved "https://registry.yarnpkg.com/queue/-/queue-6.0.2.tgz#b91525283e2315c7553d2efa18d83e76432fed65"
+  integrity sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==
+  dependencies:
+    inherits "~2.0.3"
+
+random-bytes@~1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/random-bytes/-/random-bytes-1.0.0.tgz#4f68a1dc0ae58bd3fb95848c30324db75d64360b"
+  integrity sha1-T2ih3Arli9P7lYSMMDJNt11kNgs=
+
+randomatic@^3.0.0:
+  version "3.1.1"
+  resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-3.1.1.tgz#b776efc59375984e36c537b2f51a1f0aff0da1ed"
+  integrity sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==
+  dependencies:
+    is-number "^4.0.0"
+    kind-of "^6.0.0"
+    math-random "^1.0.1"
+
+randombytes@^2.0.1:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
+  integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==
+  dependencies:
+    safe-buffer "^5.1.0"
+
+range-parser@~1.2.1:
+  version "1.2.1"
+  resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
+  integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
+
+raw-body@2.4.0:
+  version "2.4.0"
+  resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332"
+  integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==
+  dependencies:
+    bytes "3.1.0"
+    http-errors "1.7.2"
+    iconv-lite "0.4.24"
+    unpipe "1.0.0"
+
+read-pkg-up@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978"
+  integrity sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==
+  dependencies:
+    find-up "^3.0.0"
+    read-pkg "^3.0.0"
+
+read-pkg@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389"
+  integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=
+  dependencies:
+    load-json-file "^4.0.0"
+    normalize-package-data "^2.3.2"
+    path-type "^3.0.0"
+
+"readable-stream@2 || 3", 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"
+
+readable-stream@2.3.7, readable-stream@^2.0.0, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.3.5, readable-stream@^2.3.7:
+  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==
+  dependencies:
+    core-util-is "~1.0.0"
+    inherits "~2.0.3"
+    isarray "~1.0.0"
+    process-nextick-args "~2.0.0"
+    safe-buffer "~5.1.1"
+    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"
+
+readdirp@^2.0.0:
+  version "2.2.1"
+  resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525"
+  integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==
+  dependencies:
+    graceful-fs "^4.1.11"
+    micromatch "^3.1.10"
+    readable-stream "^2.0.2"
+
+rechoir@^0.7.0:
+  version "0.7.1"
+  resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.7.1.tgz#9478a96a1ca135b5e88fc027f03ee92d6c645686"
+  integrity sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==
+  dependencies:
+    resolve "^1.9.0"
+
+reduce-extract@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/reduce-extract/-/reduce-extract-1.0.0.tgz#67f2385beda65061b5f5f4312662e8b080ca1525"
+  integrity sha1-Z/I4W+2mUGG19fQxJmLosIDKFSU=
+  dependencies:
+    test-value "^1.0.1"
+
+reduce-flatten@^1.0.0, reduce-flatten@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/reduce-flatten/-/reduce-flatten-1.0.1.tgz#258c78efd153ddf93cb561237f61184f3696e327"
+  integrity sha1-JYx479FT3fk8tWEjf2EYTzaW4yc=
+
+reduce-unique@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/reduce-unique/-/reduce-unique-1.0.0.tgz#7e586bcf87a4e32b6d7abd8277fad6cdec9f4803"
+  integrity sha1-flhrz4ek4ytter2Cd/rWzeyfSAM=
+
+reduce-without@^1.0.0, reduce-without@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/reduce-without/-/reduce-without-1.0.1.tgz#68ad0ead11855c9a37d4e8256c15bbf87972fc8c"
+  integrity sha1-aK0OrRGFXJo31OglbBW7+Hly/Iw=
+  dependencies:
+    test-value "^2.0.0"
+
+regenerate@^1.2.1:
+  version "1.4.2"
+  resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a"
+  integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==
+
+regenerator-runtime@^0.10.5:
+  version "0.10.5"
+  resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658"
+  integrity sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=
+
+regenerator-runtime@^0.11.0:
+  version "0.11.1"
+  resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
+  integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==
+
+regenerator-transform@^0.10.0:
+  version "0.10.1"
+  resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.10.1.tgz#1e4996837231da8b7f3cf4114d71b5691a0680dd"
+  integrity sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==
+  dependencies:
+    babel-runtime "^6.18.0"
+    babel-types "^6.19.0"
+    private "^0.1.6"
+
+regex-cache@^0.4.2:
+  version "0.4.4"
+  resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd"
+  integrity sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==
+  dependencies:
+    is-equal-shallow "^0.1.3"
+
+regex-not@^1.0.0, regex-not@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c"
+  integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==
+  dependencies:
+    extend-shallow "^3.0.2"
+    safe-regex "^1.1.0"
+
+regexpu-core@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240"
+  integrity sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=
+  dependencies:
+    regenerate "^1.2.1"
+    regjsgen "^0.2.0"
+    regjsparser "^0.1.4"
+
+regjsgen@^0.2.0:
+  version "0.2.0"
+  resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7"
+  integrity sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=
+
+regjsparser@^0.1.4:
+  version "0.1.5"
+  resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c"
+  integrity sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=
+  dependencies:
+    jsesc "~0.5.0"
+
+relateurl@^0.2.7:
+  version "0.2.7"
+  resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9"
+  integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=
+
+release-zalgo@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/release-zalgo/-/release-zalgo-1.0.0.tgz#09700b7e5074329739330e535c5a90fb67851730"
+  integrity sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=
+  dependencies:
+    es6-error "^4.0.1"
+
+remove-trailing-separator@^1.0.1:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
+  integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8=
+
+repeat-element@^1.1.2:
+  version "1.1.4"
+  resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9"
+  integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==
+
+repeat-string@^1.5.2, repeat-string@^1.6.1:
+  version "1.6.1"
+  resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
+  integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc=
+
+repeating@^2.0.0:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda"
+  integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=
+  dependencies:
+    is-finite "^1.0.0"
+
+req-then@0.5.1:
+  version "0.5.1"
+  resolved "https://registry.yarnpkg.com/req-then/-/req-then-0.5.1.tgz#31c6e0b56f4ddd2acd6de0ba1bcea77b6079dfdf"
+  integrity sha1-McbgtW9N3SrNbeC6G86ne2B5398=
+  dependencies:
+    array-back "^1.0.3"
+    defer-promise "^1.0.0"
+    feature-detect-es6 "^1.3.1"
+    lodash.pick "^4.4.0"
+    typical "^2.6.0"
+
+request-promise-core@1.1.2:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.2.tgz#339f6aababcafdb31c799ff158700336301d3346"
+  integrity sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==
+  dependencies:
+    lodash "^4.17.11"
+
+request-promise-native@1.0.7:
+  version "1.0.7"
+  resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.7.tgz#a49868a624bdea5069f1251d0a836e0d89aa2c59"
+  integrity sha512-rIMnbBdgNViL37nZ1b3L/VfPOpSi0TqVDQPAvO6U14lMzOLrt5nilxCQqtDKhZeDiW0/hkCXGoQjhgJd/tCh6w==
+  dependencies:
+    request-promise-core "1.1.2"
+    stealthy-require "^1.1.1"
+    tough-cookie "^2.3.3"
+
+request@*:
+  version "2.88.2"
+  resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3"
+  integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==
+  dependencies:
+    aws-sign2 "~0.7.0"
+    aws4 "^1.8.0"
+    caseless "~0.12.0"
+    combined-stream "~1.0.6"
+    extend "~3.0.2"
+    forever-agent "~0.6.1"
+    form-data "~2.3.2"
+    har-validator "~5.1.3"
+    http-signature "~1.2.0"
+    is-typedarray "~1.0.0"
+    isstream "~0.1.2"
+    json-stringify-safe "~5.0.1"
+    mime-types "~2.1.19"
+    oauth-sign "~0.9.0"
+    performance-now "^2.1.0"
+    qs "~6.5.2"
+    safe-buffer "^5.1.2"
+    tough-cookie "~2.5.0"
+    tunnel-agent "^0.6.0"
+    uuid "^3.3.2"
+
+request@2.88.0:
+  version "2.88.0"
+  resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef"
+  integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==
+  dependencies:
+    aws-sign2 "~0.7.0"
+    aws4 "^1.8.0"
+    caseless "~0.12.0"
+    combined-stream "~1.0.6"
+    extend "~3.0.2"
+    forever-agent "~0.6.1"
+    form-data "~2.3.2"
+    har-validator "~5.1.0"
+    http-signature "~1.2.0"
+    is-typedarray "~1.0.0"
+    isstream "~0.1.2"
+    json-stringify-safe "~5.0.1"
+    mime-types "~2.1.19"
+    oauth-sign "~0.9.0"
+    performance-now "^2.1.0"
+    qs "~6.5.2"
+    safe-buffer "^5.1.2"
+    tough-cookie "~2.4.3"
+    tunnel-agent "^0.6.0"
+    uuid "^3.3.2"
+
+require-at@^1.0.6:
+  version "1.0.6"
+  resolved "https://registry.yarnpkg.com/require-at/-/require-at-1.0.6.tgz#9eb7e3c5e00727f5a4744070a7f560d4de4f6e6a"
+  integrity sha512-7i1auJbMUrXEAZCOQ0VNJgmcT2VOKPRl2YGJwgpHpC9CE91Mv4/4UYIUm4chGJaI381ZDq1JUicFii64Hapd8g==
+
+require-directory@^2.1.1:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
+  integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I=
+
+require-main-filename@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b"
+  integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==
+
+requires-port@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
+  integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=
+
+requizzle@~0.2.1:
+  version "0.2.3"
+  resolved "https://registry.yarnpkg.com/requizzle/-/requizzle-0.2.3.tgz#4675c90aacafb2c036bd39ba2daa4a1cb777fded"
+  integrity sha512-YanoyJjykPxGHii0fZP0uUPEXpvqfBDxWV7s6GKAiiOsiqhX6vHNyW3Qzdmqp/iq/ExbhaGbVrjB4ruEVSM4GQ==
+  dependencies:
+    lodash "^4.17.14"
+
+resolve-dir@^1.0.0, resolve-dir@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43"
+  integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=
+  dependencies:
+    expand-tilde "^2.0.0"
+    global-modules "^1.0.0"
+
+resolve-from@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
+  integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
+
+resolve-url@^0.2.1:
+  version "0.2.1"
+  resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
+  integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
+
+resolve@^1.10.0, resolve@^1.19.0, resolve@^1.9.0:
+  version "1.20.0"
+  resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975"
+  integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==
+  dependencies:
+    is-core-module "^2.2.0"
+    path-parse "^1.0.6"
+
+ret@~0.1.10:
+  version "0.1.15"
+  resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"
+  integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==
+
+retimer@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/retimer/-/retimer-2.0.0.tgz#e8bd68c5e5a8ec2f49ccb5c636db84c04063bbca"
+  integrity sha512-KLXY85WkEq2V2bKex/LOO1ViXVn2KGYe4PYysAdYdjmraYIUsVkXu8O4am+8+5UbaaGl1qho4aqAAPHNQ4GSbg==
+
+reusify@^1.0.0, reusify@^1.0.4:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
+  integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
+
+right-align@^0.1.1:
+  version "0.1.3"
+  resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef"
+  integrity sha1-YTObci/mo1FWiSENJOFMlhSGE+8=
+  dependencies:
+    align-text "^0.1.1"
+
+rimraf@^2.6.2, rimraf@^2.6.3:
+  version "2.7.1"
+  resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
+  integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
+  dependencies:
+    glob "^7.1.3"
+
+rimraf@~2.4.0:
+  version "2.4.5"
+  resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.4.5.tgz#ee710ce5d93a8fdb856fb5ea8ff0e2d75934b2da"
+  integrity sha1-7nEM5dk6j9uFb7Xqj/Di11k0sto=
+  dependencies:
+    glob "^6.0.1"
+
+rimraf@~3.0.2:
+  version "3.0.2"
+  resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
+  integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
+  dependencies:
+    glob "^7.1.3"
+
+ripemd160@^2.0.0, ripemd160@^2.0.1:
+  version "2.0.2"
+  resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c"
+  integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==
+  dependencies:
+    hash-base "^3.0.0"
+    inherits "^2.0.1"
+
+rootpath@^0.1.2:
+  version "0.1.2"
+  resolved "https://registry.yarnpkg.com/rootpath/-/rootpath-0.1.2.tgz#5b379a87dca906e9b91d690a599439bef267ea6b"
+  integrity sha1-Wzeah9ypBum5HWkKWZQ5vvJn6ms=
+
+safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
+  version "5.1.2"
+  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.0"
+  resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519"
+  integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==
+
+safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, 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==
+
+safe-json-stringify@~1:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz#356e44bc98f1f93ce45df14bcd7c01cda86e0afd"
+  integrity sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==
+
+safe-regex@^1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e"
+  integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4=
+  dependencies:
+    ret "~0.1.10"
+
+"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0:
+  version "2.1.2"
+  resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
+  integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
+
+sasl-anonymous@^0.1.0:
+  version "0.1.0"
+  resolved "https://registry.yarnpkg.com/sasl-anonymous/-/sasl-anonymous-0.1.0.tgz#f544c7e824df2a40d9ad4733829572cc8d9ed5a5"
+  integrity sha1-9UTH6CTfKkDZrUczgpVyzI2e1aU=
+
+sasl-plain@^0.1.0:
+  version "0.1.0"
+  resolved "https://registry.yarnpkg.com/sasl-plain/-/sasl-plain-0.1.0.tgz#cf145e7c02222b64d60c0806d9cd2ae5380426cc"
+  integrity sha1-zxRefAIiK2TWDAgG2c0q5TgEJsw=
+
+sasl-scram-sha-1@^1.2.0:
+  version "1.2.1"
+  resolved "https://registry.yarnpkg.com/sasl-scram-sha-1/-/sasl-scram-sha-1-1.2.1.tgz#d88d51feaa0ff320d8eb1d6fc75657653f9dcd4b"
+  integrity sha1-2I1R/qoP8yDY6x1vx1ZXZT+dzUs=
+  dependencies:
+    bitwise-xor "0.0.0"
+    create-hash "^1.1.0"
+    create-hmac "^1.1.3"
+    randombytes "^2.0.1"
+
+saslmechanisms@^0.1.1:
+  version "0.1.1"
+  resolved "https://registry.yarnpkg.com/saslmechanisms/-/saslmechanisms-0.1.1.tgz#478be1429500fcfaa780be88b3343ced7d2a9182"
+  integrity sha1-R4vhQpUA/PqngL6IszQ87X0qkYI=
+
+saslprep@*, saslprep@^1.0.0:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/saslprep/-/saslprep-1.0.3.tgz#4c02f946b56cf54297e347ba1093e7acac4cf226"
+  integrity sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==
+  dependencies:
+    sparse-bitfield "^3.0.3"
+
+sax@>=0.6.0:
+  version "1.2.4"
+  resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
+  integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
+
+saxes@^5.0.1:
+  version "5.0.1"
+  resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d"
+  integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==
+  dependencies:
+    xmlchars "^2.2.0"
+
+scmp@^2.1.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/scmp/-/scmp-2.1.0.tgz#37b8e197c425bdeb570ab91cc356b311a11f9c9a"
+  integrity sha512-o/mRQGk9Rcer/jEEw/yw4mwo3EU/NvYvp577/Btqrym9Qy5/MdWGBqipbALgd2lrdWTJ5/gqDusxfnQBxOxT2Q==
+
+semver-compare@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc"
+  integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w=
+
+semver@*:
+  version "7.3.5"
+  resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7"
+  integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==
+  dependencies:
+    lru-cache "^6.0.0"
+
+"semver@2 || 3 || 4 || 5", semver@^5.6.0:
+  version "5.7.1"
+  resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
+  integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
+
+semver@^6.0.0:
+  version "6.3.0"
+  resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
+  integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
+
+send@0.17.1:
+  version "0.17.1"
+  resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8"
+  integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==
+  dependencies:
+    debug "2.6.9"
+    depd "~1.1.2"
+    destroy "~1.0.4"
+    encodeurl "~1.0.2"
+    escape-html "~1.0.3"
+    etag "~1.8.1"
+    fresh "0.5.2"
+    http-errors "~1.7.2"
+    mime "1.6.0"
+    ms "2.1.1"
+    on-finished "~2.3.0"
+    range-parser "~1.2.1"
+    statuses "~1.5.0"
+
+serve-static@1.14.1:
+  version "1.14.1"
+  resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9"
+  integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==
+  dependencies:
+    encodeurl "~1.0.2"
+    escape-html "~1.0.3"
+    parseurl "~1.3.3"
+    send "0.17.1"
+
+set-blocking@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
+  integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc=
+
+set-value@^2.0.0, set-value@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b"
+  integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==
+  dependencies:
+    extend-shallow "^2.0.1"
+    is-extendable "^0.1.1"
+    is-plain-object "^2.0.3"
+    split-string "^3.0.1"
+
+setprototypeof@1.1.1:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683"
+  integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==
+
+setprototypeof@1.2.0:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424"
+  integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==
+
+sha.js@^2.4.0, sha.js@^2.4.8:
+  version "2.4.11"
+  resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7"
+  integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==
+  dependencies:
+    inherits "^2.0.1"
+    safe-buffer "^5.0.1"
+
+shortid@^2.2.14:
+  version "2.2.16"
+  resolved "https://registry.yarnpkg.com/shortid/-/shortid-2.2.16.tgz#b742b8f0cb96406fd391c76bfc18a67a57fe5608"
+  integrity sha512-Ugt+GIZqvGXCIItnsL+lvFJOiN7RYqlGy7QE41O3YC1xbNSeDGIRO7xg2JJXIAj1cAGnOeC1r7/T9pgrtQbv4g==
+  dependencies:
+    nanoid "^2.1.0"
+
+side-channel@^1.0.4:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf"
+  integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==
+  dependencies:
+    call-bind "^1.0.0"
+    get-intrinsic "^1.0.2"
+    object-inspect "^1.9.0"
+
+signal-exit@^3.0.0, signal-exit@^3.0.2:
+  version "3.0.3"
+  resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c"
+  integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==
+
+slash@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"
+  integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=
+
+snapdragon-node@^2.0.1:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b"
+  integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==
+  dependencies:
+    define-property "^1.0.0"
+    isobject "^3.0.0"
+    snapdragon-util "^3.0.1"
+
+snapdragon-util@^3.0.1:
+  version "3.0.1"
+  resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2"
+  integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==
+  dependencies:
+    kind-of "^3.2.0"
+
+snapdragon@^0.8.1:
+  version "0.8.2"
+  resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d"
+  integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==
+  dependencies:
+    base "^0.11.1"
+    debug "^2.2.0"
+    define-property "^0.2.5"
+    extend-shallow "^2.0.1"
+    map-cache "^0.2.2"
+    source-map "^0.5.6"
+    source-map-resolve "^0.5.0"
+    use "^3.1.0"
+
+sort-array@^1.0.0:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/sort-array/-/sort-array-1.1.2.tgz#b88986053c0170a7f9de63f18a49ec79c24c3e64"
+  integrity sha1-uImGBTwBcKf53mPxiknsecJMPmQ=
+  dependencies:
+    array-back "^1.0.4"
+    object-get "^2.1.0"
+    typical "^2.6.0"
+
+source-map-resolve@^0.5.0:
+  version "0.5.3"
+  resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a"
+  integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==
+  dependencies:
+    atob "^2.1.2"
+    decode-uri-component "^0.2.0"
+    resolve-url "^0.2.1"
+    source-map-url "^0.4.0"
+    urix "^0.1.0"
+
+source-map-support@^0.4.15:
+  version "0.4.18"
+  resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f"
+  integrity sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==
+  dependencies:
+    source-map "^0.5.6"
+
+source-map-url@^0.4.0:
+  version "0.4.1"
+  resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56"
+  integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==
+
+source-map@^0.1.40:
+  version "0.1.43"
+  resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346"
+  integrity sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=
+  dependencies:
+    amdefine ">=0.0.4"
+
+source-map@^0.5.0, source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.1:
+  version "0.5.7"
+  resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
+  integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
+
+source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1:
+  version "0.6.1"
+  resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
+  integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
+
+sparse-bitfield@^3.0.3:
+  version "3.0.3"
+  resolved "https://registry.yarnpkg.com/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz#ff4ae6e68656056ba4b3e792ab3334d38273ca11"
+  integrity sha1-/0rm5oZWBWuks+eSqzM004JzyhE=
+  dependencies:
+    memory-pager "^1.0.2"
+
+spawn-wrap@^1.4.2:
+  version "1.4.3"
+  resolved "https://registry.yarnpkg.com/spawn-wrap/-/spawn-wrap-1.4.3.tgz#81b7670e170cca247d80bf5faf0cfb713bdcf848"
+  integrity sha512-IgB8md0QW/+tWqcavuFgKYR/qIRvJkRLPJDFaoXtLLUaVcCDK0+HeFTkmQHj3eprcYhc+gOl0aEA1w7qZlYezw==
+  dependencies:
+    foreground-child "^1.5.6"
+    mkdirp "^0.5.0"
+    os-homedir "^1.0.1"
+    rimraf "^2.6.2"
+    signal-exit "^3.0.2"
+    which "^1.3.0"
+
+spdx-correct@^3.0.0:
+  version "3.1.1"
+  resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9"
+  integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==
+  dependencies:
+    spdx-expression-parse "^3.0.0"
+    spdx-license-ids "^3.0.0"
+
+spdx-exceptions@^2.1.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d"
+  integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==
+
+spdx-expression-parse@^3.0.0:
+  version "3.0.1"
+  resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679"
+  integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==
+  dependencies:
+    spdx-exceptions "^2.1.0"
+    spdx-license-ids "^3.0.0"
+
+spdx-license-ids@^3.0.0:
+  version "3.0.9"
+  resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz#8a595135def9592bda69709474f1cbeea7c2467f"
+  integrity sha512-Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ==
+
+split-string@^3.0.1, split-string@^3.0.2:
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2"
+  integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==
+  dependencies:
+    extend-shallow "^3.0.0"
+
+sprintf-js@^1.0.3:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673"
+  integrity sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==
+
+sprintf-js@~1.0.2:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
+  integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
+
+sqlstring@2.3.1:
+  version "2.3.1"
+  resolved "https://registry.yarnpkg.com/sqlstring/-/sqlstring-2.3.1.tgz#475393ff9e91479aea62dcaf0ca3d14983a7fb40"
+  integrity sha1-R1OT/56RR5rqYtyvDKPRSYOn+0A=
+
+ssh2@*:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/ssh2/-/ssh2-1.2.0.tgz#177a46bb12b7ef2b7bce28bdcbd7eae3cbc50045"
+  integrity sha512-vklfVRyylayGV/zMwVEkTC9kBhA3t264hoUHV/yGuunBJh6uBGP1VlzhOp8EsqxpKnG0xkLE1qHZlU0+t8Vh6Q==
+  dependencies:
+    asn1 "^0.2.4"
+    bcrypt-pbkdf "^1.0.2"
+  optionalDependencies:
+    cpu-features "0.0.2"
+    nan "^2.14.2"
+
+sshpk@^1.7.0:
+  version "1.16.1"
+  resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877"
+  integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==
+  dependencies:
+    asn1 "~0.2.3"
+    assert-plus "^1.0.0"
+    bcrypt-pbkdf "^1.0.0"
+    dashdash "^1.12.0"
+    ecc-jsbn "~0.1.1"
+    getpass "^0.1.1"
+    jsbn "~0.1.0"
+    safer-buffer "^2.0.2"
+    tweetnacl "~0.14.0"
+
+static-extend@^0.1.1:
+  version "0.1.2"
+  resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6"
+  integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=
+  dependencies:
+    define-property "^0.2.5"
+    object-copy "^0.1.0"
+
+"statuses@>= 1.5.0 < 2", statuses@~1.5.0:
+  version "1.5.0"
+  resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
+  integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=
+
+stealthy-require@^1.1.1:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b"
+  integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=
+
+stream-connect@^1.0.1, stream-connect@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/stream-connect/-/stream-connect-1.0.2.tgz#18bc81f2edb35b8b5d9a8009200a985314428a97"
+  integrity sha1-GLyB8u2zW4tdmoAJIAqYUxRCipc=
+  dependencies:
+    array-back "^1.0.2"
+
+stream-handlebars@~0.1.6:
+  version "0.1.6"
+  resolved "https://registry.yarnpkg.com/stream-handlebars/-/stream-handlebars-0.1.6.tgz#7305b5064203da171608c478acf642a149892a2f"
+  integrity sha1-cwW1BkID2hcWCMR4rPZCoUmJKi8=
+  dependencies:
+    handlebars "^3.0.0"
+    object-tools "^1.2.1"
+
+stream-via@^1.0.4:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/stream-via/-/stream-via-1.0.4.tgz#8dccbb0ac909328eb8bc8e2a4bd3934afdaf606c"
+  integrity sha512-DBp0lSvX5G9KGRDTkR/R+a29H+Wk2xItOF+MpZLLNDWbEV9tGPnqLPxHEYjmiz8xGtJHRIqmI+hCjmNzqoA4nQ==
+
+stream-via@~0.1.0:
+  version "0.1.1"
+  resolved "https://registry.yarnpkg.com/stream-via/-/stream-via-0.1.1.tgz#0cee5df9c959fb1d3f4eda4819f289d5f9205afc"
+  integrity sha1-DO5d+clZ+x0/TtpIGfKJ1fkgWvw=
+
+string-tools@^0.1.4:
+  version "0.1.8"
+  resolved "https://registry.yarnpkg.com/string-tools/-/string-tools-0.1.8.tgz#70884e86a26ee5103a078bef67033d558d36e337"
+  integrity sha1-cIhOhqJu5RA6B4vvZwM9VY024zc=
+
+string-tools@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/string-tools/-/string-tools-1.0.0.tgz#c69a9d5788858997da66f1d923ba7113ea466b5a"
+  integrity sha1-xpqdV4iFiZfaZvHZI7pxE+pGa1o=
+
+string-width@^3.0.0, string-width@^3.1.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_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"
+
+string_decoder@~1.1.1:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
+  integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
+  dependencies:
+    safe-buffer "~5.1.0"
+
+strip-ansi@^3.0.0:
+  version "3.0.1"
+  resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
+  integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=
+  dependencies:
+    ansi-regex "^2.0.0"
+
+strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.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-bom@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
+  integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=
+
+strip-json-comments@~2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
+  integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo=
+
+supports-color@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
+  integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=
+
+supports-color@^5.3.0:
+  version "5.5.0"
+  resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
+  integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
+  dependencies:
+    has-flag "^3.0.0"
+
+supports-color@^6.1.0:
+  version "6.1.0"
+  resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3"
+  integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==
+  dependencies:
+    has-flag "^3.0.0"
+
+supports-color@^7.1.0:
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
+  integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
+  dependencies:
+    has-flag "^4.0.0"
+
+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==
+
+syslog@*:
+  version "0.1.1"
+  resolved "https://registry.yarnpkg.com/syslog/-/syslog-0.1.1.tgz#675d8210898e785fd14c831de2d9a6aec0a35cbd"
+  integrity sha1-Z12CEImOeF/RTIMd4tmmrsCjXL0=
+
+table-layout@^0.3.0:
+  version "0.3.0"
+  resolved "https://registry.yarnpkg.com/table-layout/-/table-layout-0.3.0.tgz#6ee20dc483db371b3e5c87f704ed2f7c799d2c9a"
+  integrity sha1-buINxIPbNxs+XIf3BO0vfHmdLJo=
+  dependencies:
+    array-back "^1.0.3"
+    core-js "^2.4.1"
+    deep-extend "~0.4.1"
+    feature-detect-es6 "^1.3.1"
+    typical "^2.6.0"
+    wordwrapjs "^2.0.0-0"
+
+taffydb@2.6.2:
+  version "2.6.2"
+  resolved "https://registry.yarnpkg.com/taffydb/-/taffydb-2.6.2.tgz#7cbcb64b5a141b6a2efc2c5d2c67b4e150b2a268"
+  integrity sha1-fLy2S1oUG2ou/CxdLGe04VCyomg=
+
+tar-stream@^2.1.2, 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-path@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/temp-path/-/temp-path-1.0.0.tgz#24b1543973ab442896d9ad367dd9cbdbfafe918b"
+  integrity sha1-JLFUOXOrRCiW2a02fdnL2/r+kYs=
+
+test-exclude@^5.2.3:
+  version "5.2.3"
+  resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.2.3.tgz#c3d3e1e311eb7ee405e092dac10aefd09091eac0"
+  integrity sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==
+  dependencies:
+    glob "^7.1.3"
+    minimatch "^3.0.4"
+    read-pkg-up "^4.0.0"
+    require-main-filename "^2.0.0"
+
+test-value@^1.0.1, test-value@^1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/test-value/-/test-value-1.1.0.tgz#a09136f72ec043d27c893707c2b159bfad7de93f"
+  integrity sha1-oJE29y7AQ9J8iTcHwrFZv6196T8=
+  dependencies:
+    array-back "^1.0.2"
+    typical "^2.4.2"
+
+test-value@^2.0.0, test-value@^2.1.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/test-value/-/test-value-2.1.0.tgz#11da6ff670f3471a73b625ca4f3fdcf7bb748291"
+  integrity sha1-Edpv9nDzRxpztiXKTz/c97t0gpE=
+  dependencies:
+    array-back "^1.0.3"
+    typical "^2.6.0"
+
+then-fs@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/then-fs/-/then-fs-2.0.0.tgz#72f792dd9d31705a91ae19ebfcf8b3f968c81da2"
+  integrity sha1-cveS3Z0xcFqRrhnr/Piz+WjIHaI=
+  dependencies:
+    promise ">=3.2 <8"
+
+thirty-two@1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/thirty-two/-/thirty-two-1.0.2.tgz#4ca2fffc02a51290d2744b9e3f557693ca6b627a"
+  integrity sha1-TKL//AKlEpDSdEueP1V2k8prYno=
+
+through2@^3.0.1:
+  version "3.0.2"
+  resolved "https://registry.yarnpkg.com/through2/-/through2-3.0.2.tgz#99f88931cfc761ec7678b41d5d7336b5b6a07bf4"
+  integrity sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==
+  dependencies:
+    inherits "^2.0.4"
+    readable-stream "2 || 3"
+
+thunky@^1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d"
+  integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==
+
+to-fast-properties@^1.0.3:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47"
+  integrity sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=
+
+to-fast-properties@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
+  integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=
+
+to-mongodb-core@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/to-mongodb-core/-/to-mongodb-core-2.0.0.tgz#3596ec7613ac9ad3b98a89dcb9aefba569cd27eb"
+  integrity sha1-NZbsdhOsmtO5ioncua77pWnNJ+s=
+
+to-object-path@^0.3.0:
+  version "0.3.0"
+  resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af"
+  integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=
+  dependencies:
+    kind-of "^3.0.2"
+
+to-regex-range@^2.1.0:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38"
+  integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=
+  dependencies:
+    is-number "^3.0.0"
+    repeat-string "^1.6.1"
+
+to-regex-range@^5.0.1:
+  version "5.0.1"
+  resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
+  integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
+  dependencies:
+    is-number "^7.0.0"
+
+to-regex@^3.0.1, to-regex@^3.0.2:
+  version "3.0.2"
+  resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce"
+  integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==
+  dependencies:
+    define-property "^2.0.2"
+    extend-shallow "^3.0.2"
+    regex-not "^1.0.2"
+    safe-regex "^1.1.0"
+
+toidentifier@1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553"
+  integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==
+
+tough-cookie@^2.3.3, tough-cookie@~2.5.0:
+  version "2.5.0"
+  resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
+  integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==
+  dependencies:
+    psl "^1.1.28"
+    punycode "^2.1.1"
+
+tough-cookie@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4"
+  integrity sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==
+  dependencies:
+    psl "^1.1.33"
+    punycode "^2.1.1"
+    universalify "^0.1.2"
+
+tough-cookie@~2.4.3:
+  version "2.4.3"
+  resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781"
+  integrity sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==
+  dependencies:
+    psl "^1.1.24"
+    punycode "^1.4.1"
+
+tr46@^2.1.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240"
+  integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==
+  dependencies:
+    punycode "^2.1.1"
+
+trim-right@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
+  integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=
+
+tsscmp@1.0.6:
+  version "1.0.6"
+  resolved "https://registry.yarnpkg.com/tsscmp/-/tsscmp-1.0.6.tgz#85b99583ac3589ec4bfef825b5000aa911d605eb"
+  integrity sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==
+
+tunnel-agent@^0.6.0:
+  version "0.6.0"
+  resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
+  integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=
+  dependencies:
+    safe-buffer "^5.0.1"
+
+tv4@^1.2.7:
+  version "1.3.0"
+  resolved "https://registry.yarnpkg.com/tv4/-/tv4-1.3.0.tgz#d020c846fadd50c855abb25ebaecc68fc10f7963"
+  integrity sha1-0CDIRvrdUMhVq7JeuuzGj8EPeWM=
+
+tweetnacl@^0.14.3, tweetnacl@~0.14.0:
+  version "0.14.5"
+  resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
+  integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=
+
+twilio@*:
+  version "3.66.1"
+  resolved "https://registry.yarnpkg.com/twilio/-/twilio-3.66.1.tgz#8435441ca45b0c7cb3761c4ba3011ca32e75ba69"
+  integrity sha512-BmIgfx2VuS7tj4IscBhyEj7CdmtfIaaJ1IuNeGoJFYBx5xikpuwkR0Ceo5CNtK5jnN3SCKmxHxToec/MYEXl0A==
+  dependencies:
+    axios "^0.21.1"
+    dayjs "^1.8.29"
+    https-proxy-agent "^5.0.0"
+    jsonwebtoken "^8.5.1"
+    lodash "^4.17.21"
+    q "2.0.x"
+    qs "^6.9.4"
+    rootpath "^0.1.2"
+    scmp "^2.1.0"
+    url-parse "^1.5.0"
+    xmlbuilder "^13.0.2"
+
+type-check@~0.3.2:
+  version "0.3.2"
+  resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
+  integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=
+  dependencies:
+    prelude-ls "~1.1.2"
+
+type-is@~1.6.17, type-is@~1.6.18:
+  version "1.6.18"
+  resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"
+  integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==
+  dependencies:
+    media-typer "0.3.0"
+    mime-types "~2.1.24"
+
+typical@^2.1, typical@^2.2, typical@^2.3.0, typical@^2.4.2, typical@^2.5.0, typical@^2.6.0, typical@^2.6.1:
+  version "2.6.1"
+  resolved "https://registry.yarnpkg.com/typical/-/typical-2.6.1.tgz#5c080e5d661cbbe38259d2e70a3c7253e873881d"
+  integrity sha1-XAgOXWYcu+OCWdLnCjxyU+hziB0=
+
+uglify-js@^2.6:
+  version "2.8.29"
+  resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd"
+  integrity sha1-KcVzMUgFe7Th913zW3qcty5qWd0=
+  dependencies:
+    source-map "~0.5.1"
+    yargs "~3.10.0"
+  optionalDependencies:
+    uglify-to-browserify "~1.0.0"
+
+uglify-js@^3.1.4, uglify-js@^3.5.1:
+  version "3.14.1"
+  resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.14.1.tgz#e2cb9fe34db9cb4cf7e35d1d26dfea28e09a7d06"
+  integrity sha512-JhS3hmcVaXlp/xSo3PKY5R0JqKs5M3IV+exdLHW99qKvKivPO4Z8qbej6mte17SOPqAOVMjt/XGgWacnFSzM3g==
+
+uglify-to-browserify@~1.0.0:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7"
+  integrity sha1-bgkk1r2mta/jSeOabWMoUKD4grc=
+
+uid-safe@2.1.5:
+  version "2.1.5"
+  resolved "https://registry.yarnpkg.com/uid-safe/-/uid-safe-2.1.5.tgz#2b3d5c7240e8fc2e58f8aa269e5ee49c0857bd3a"
+  integrity sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==
+  dependencies:
+    random-bytes "~1.0.0"
+
+uid2@0.0.x:
+  version "0.0.3"
+  resolved "https://registry.yarnpkg.com/uid2/-/uid2-0.0.3.tgz#483126e11774df2f71b8b639dcd799c376162b82"
+  integrity sha1-SDEm4Rd03y9xuLY53NeZw3YWK4I=
+
+unc-path-regex@^0.1.2:
+  version "0.1.2"
+  resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa"
+  integrity sha1-5z3T17DXxe2G+6xrCufYxqadUPo=
+
+underscore.string@~3.3.5:
+  version "3.3.5"
+  resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-3.3.5.tgz#fc2ad255b8bd309e239cbc5816fd23a9b7ea4023"
+  integrity sha512-g+dpmgn+XBneLmXXo+sGlW5xQEt4ErkS3mgeN2GFbremYeMBSJKr9Wf2KJplQVaiPY/f7FN6atosWYNm9ovrYg==
+  dependencies:
+    sprintf-js "^1.0.3"
+    util-deprecate "^1.0.2"
+
+underscore@~1.4.4:
+  version "1.4.4"
+  resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.4.4.tgz#61a6a32010622afa07963bf325203cf12239d604"
+  integrity sha1-YaajIBBiKvoHljvzJSA88SI51gQ=
+
+underscore@~1.8.3:
+  version "1.8.3"
+  resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.8.3.tgz#4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022"
+  integrity sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=
+
+union-value@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847"
+  integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==
+  dependencies:
+    arr-union "^3.1.0"
+    get-value "^2.0.6"
+    is-extendable "^0.1.1"
+    set-value "^2.0.1"
+
+universalify@^0.1.2:
+  version "0.1.2"
+  resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
+  integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
+
+unpipe@1.0.0, unpipe@~1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
+  integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=
+
+unset-value@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559"
+  integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=
+  dependencies:
+    has-value "^0.3.1"
+    isobject "^3.0.0"
+
+upper-case@^1.1.1:
+  version "1.1.3"
+  resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598"
+  integrity sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=
+
+uri-js@^4.2.2:
+  version "4.4.1"
+  resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
+  integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
+  dependencies:
+    punycode "^2.1.0"
+
+uri-parser@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/uri-parser/-/uri-parser-1.0.1.tgz#3307ebb50f279c11198ad09214bdaf24e29735b2"
+  integrity sha512-TRjjM2M83RD9jIIYttNj7ghUQTKSov+WXZbQIMM8DxY1R1QdJEGWNKKMYCxyeOw1p9re2nQ85usM6dPTVtox1g==
+
+urix@^0.1.0:
+  version "0.1.0"
+  resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72"
+  integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=
+
+url-join@^4.0.1:
+  version "4.0.1"
+  resolved "https://registry.yarnpkg.com/url-join/-/url-join-4.0.1.tgz#b642e21a2646808ffa178c4c5fda39844e12cde7"
+  integrity sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==
+
+url-parse@^1.5.0, url-parse@^1.5.1:
+  version "1.5.3"
+  resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.3.tgz#71c1303d38fb6639ade183c2992c8cc0686df862"
+  integrity sha512-IIORyIQD9rvj0A4CLWsHkBBJuNqWpFQe224b6j9t/ABmquIS0qDU2pY6kl6AuOrL5OkCXHMCFNe1jBcuAggjvQ==
+  dependencies:
+    querystringify "^2.1.1"
+    requires-port "^1.0.0"
+
+url-template@^2.0.8:
+  version "2.0.8"
+  resolved "https://registry.yarnpkg.com/url-template/-/url-template-2.0.8.tgz#fc565a3cccbff7730c775f5641f9555791439f21"
+  integrity sha1-/FZaPMy/93MMd19WQflVV5FDnyE=
+
+urlsafe-base64@^1.0.0, urlsafe-base64@~1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/urlsafe-base64/-/urlsafe-base64-1.0.0.tgz#23f89069a6c62f46cf3a1d3b00169cefb90be0c6"
+  integrity sha1-I/iQaabGL0bPOh07ABac77kL4MY=
+
+usage-stats@^0.8.2:
+  version "0.8.6"
+  resolved "https://registry.yarnpkg.com/usage-stats/-/usage-stats-0.8.6.tgz#ec92559f648845c2021cbf5b4adea17af7513830"
+  integrity sha512-QS1r7a1h5g1jo6KulvVGV+eQM+Jfj87AjJBfr1iaIJYz+N7+Qh7ezaVFCulwBGd8T1EidRiSYphG17gra2y0kg==
+  dependencies:
+    array-back "^1.0.4"
+    cli-commands "0.1.0"
+    core-js "^2.4.1"
+    feature-detect-es6 "^1.3.1"
+    home-path "^1.0.5"
+    mkdirp2 "^1.0.3"
+    req-then "0.5.1"
+    typical "^2.6.1"
+    uuid "^3.0.1"
+
+use@^3.1.0:
+  version "3.1.1"
+  resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f"
+  integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==
+
+user-home@^1.1.1:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190"
+  integrity sha1-K1viOjK2Onyd640PKNSFcko98ZA=
+
+utf8@^2.1.2:
+  version "2.1.2"
+  resolved "https://registry.yarnpkg.com/utf8/-/utf8-2.1.2.tgz#1fa0d9270e9be850d9b05027f63519bf46457d96"
+  integrity sha1-H6DZJw6b6FDZsFAn9jUZv0ZFfZY=
+
+util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
+  integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
+
+utils-igor@^1.0.4:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/utils-igor/-/utils-igor-1.0.4.tgz#59197669fd1e51a05ddbd3febb4789498cc42f03"
+  integrity sha1-WRl2af0eUaBd29P+u0eJSYzELwM=
+
+utils-igor@^2.0.0:
+  version "2.0.5"
+  resolved "https://registry.yarnpkg.com/utils-igor/-/utils-igor-2.0.5.tgz#51fae3fd0a754be33f7f4a05a6a4905f229e3d80"
+  integrity sha1-Ufrj/Qp1S+M/f0oFpqSQXyKePYA=
+  dependencies:
+    minify-js "0.0.2"
+
+utils-merge@1.0.1, utils-merge@1.x.x:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
+  integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=
+
+uuid@^3.0.1, uuid@^3.3.2:
+  version "3.4.0"
+  resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
+  integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
+
+uuid@^8.0.0:
+  version "8.3.2"
+  resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"
+  integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
+
+v8flags@^2.1.1:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.1.tgz#aab1a1fa30d45f88dd321148875ac02c0b55e5b4"
+  integrity sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=
+  dependencies:
+    user-home "^1.1.1"
+
+v8flags@~3.2.0:
+  version "3.2.0"
+  resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.2.0.tgz#b243e3b4dfd731fa774e7492128109a0fe66d656"
+  integrity sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==
+  dependencies:
+    homedir-polyfill "^1.0.1"
+
+validate-npm-package-license@^3.0.1:
+  version "3.0.4"
+  resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a"
+  integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==
+  dependencies:
+    spdx-correct "^3.0.0"
+    spdx-expression-parse "^3.0.0"
+
+vary@~1.1.2:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
+  integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=
+
+vasync@^2.2.0:
+  version "2.2.0"
+  resolved "https://registry.yarnpkg.com/vasync/-/vasync-2.2.0.tgz#cfde751860a15822db3b132bc59b116a4adaf01b"
+  integrity sha1-z951GGChWCLbOxMrxZsRakra8Bs=
+  dependencies:
+    verror "1.10.0"
+
+verror@1.10.0, verror@^1.8.1:
+  version "1.10.0"
+  resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
+  integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=
+  dependencies:
+    assert-plus "^1.0.0"
+    core-util-is "1.0.2"
+    extsprintf "^1.2.0"
+
+w3c-hr-time@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd"
+  integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==
+  dependencies:
+    browser-process-hrtime "^1.0.0"
+
+w3c-xmlserializer@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a"
+  integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==
+  dependencies:
+    xml-name-validator "^3.0.0"
+
+walk-back@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/walk-back/-/walk-back-2.0.1.tgz#554e2a9d874fac47a8cb006bf44c2f0c4998a0a4"
+  integrity sha1-VU4qnYdPrEeoywBr9EwvDEmYoKQ=
+
+weak-daemon@1.0.3:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/weak-daemon/-/weak-daemon-1.0.3.tgz#d922b7c0dfb8f6bf027c463ea875584d2b085f19"
+  integrity sha512-9OLYp5qQSxpnTIyuA1zJ7at3DV2DSBcbdXduC/3QFPeYjF30Lh1nfBrG+VLf4QUvZPz2lXFPu08oIRzWQfucVQ==
+
+weak-map@^1.0.5:
+  version "1.0.5"
+  resolved "https://registry.yarnpkg.com/weak-map/-/weak-map-1.0.5.tgz#79691584d98607f5070bd3b70a40e6bb22e401eb"
+  integrity sha1-eWkVhNmGB/UHC9O3CkDmuyLkAes=
+
+web-push@*:
+  version "3.4.5"
+  resolved "https://registry.yarnpkg.com/web-push/-/web-push-3.4.5.tgz#f94074ff150538872c7183e4d8881c8305920cf1"
+  integrity sha512-2njbTqZ6Q7ZqqK14YpK1GGmaZs3NmuGYF5b7abCXulUIWFSlSYcZ3NBJQRFcMiQDceD7vQknb8FUuvI1F7Qe/g==
+  dependencies:
+    asn1.js "^5.3.0"
+    http_ece "1.1.0"
+    https-proxy-agent "^5.0.0"
+    jws "^4.0.0"
+    minimist "^1.2.5"
+    urlsafe-base64 "^1.0.0"
+
+webdav@*:
+  version "4.6.0"
+  resolved "https://registry.yarnpkg.com/webdav/-/webdav-4.6.0.tgz#b12d3631562ed4a7d665dd1757349682dfc8f441"
+  integrity sha512-amL/NeZ73xe8cNC+uqAF3mOC/j5dNoNWlZswYCd7DKxhnZM7dViAVSv6gdCYeGAETjPEZVubcKDDRwGKz9ShQQ==
+  dependencies:
+    axios "^0.21.1"
+    base-64 "^1.0.0"
+    fast-xml-parser "^3.19.0"
+    he "^1.2.0"
+    hot-patcher "^0.5.0"
+    layerr "^0.1.2"
+    md5 "^2.3.0"
+    minimatch "^3.0.4"
+    nested-property "^4.0.0"
+    path-posix "^1.0.0"
+    url-join "^4.0.1"
+    url-parse "^1.5.1"
+
+webidl-conversions@^5.0.0:
+  version "5.0.0"
+  resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff"
+  integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==
+
+webidl-conversions@^6.1.0:
+  version "6.1.0"
+  resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514"
+  integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==
+
+whatwg-encoding@^1.0.5:
+  version "1.0.5"
+  resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0"
+  integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==
+  dependencies:
+    iconv-lite "0.4.24"
+
+whatwg-mimetype@^2.3.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf"
+  integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==
+
+whatwg-url@^8.0.0, whatwg-url@^8.4.0, whatwg-url@^8.5.0:
+  version "8.7.0"
+  resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77"
+  integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==
+  dependencies:
+    lodash "^4.7.0"
+    tr46 "^2.1.0"
+    webidl-conversions "^6.1.0"
+
+which-module@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
+  integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=
+
+which@^1.2.14, which@^1.2.9, which@^1.3.0:
+  version "1.3.1"
+  resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
+  integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
+  dependencies:
+    isexe "^2.0.0"
+
+which@~2.0.2:
+  version "2.0.2"
+  resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
+  integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
+  dependencies:
+    isexe "^2.0.0"
+
+wildleek@2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/wildleek/-/wildleek-2.0.0.tgz#85eb93c9c1822da963bc3c3c8d09ae9d12b48a47"
+  integrity sha512-wtHhfuGeWH9diQsQoprX5tr2+y5lyqyzMpiTFu4gJVQIK+L4jE8Phmr50sFmk7ewhZzbbQj2pCwbUcceq+IEIg==
+  dependencies:
+    binary-search "1.3.6"
+
+window-size@0.1.0:
+  version "0.1.0"
+  resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d"
+  integrity sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=
+
+word-wrap@~1.2.3:
+  version "1.2.3"
+  resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
+  integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
+
+wordwrap@0.0.2:
+  version "0.0.2"
+  resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f"
+  integrity sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=
+
+wordwrap@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
+  integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=
+
+wordwrap@~0.0.2:
+  version "0.0.3"
+  resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107"
+  integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc=
+
+wordwrapjs@^1.2.0:
+  version "1.2.1"
+  resolved "https://registry.yarnpkg.com/wordwrapjs/-/wordwrapjs-1.2.1.tgz#754a5ea0664cfbff50540dc32d67bda3289fc34b"
+  integrity sha1-dUpeoGZM+/9QVA3DLWe9oyifw0s=
+  dependencies:
+    array-back "^1.0.3"
+    typical "^2.5.0"
+
+wordwrapjs@^2.0.0-0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/wordwrapjs/-/wordwrapjs-2.0.0.tgz#ab55f695e6118da93858fdd70c053d1c5e01ac20"
+  integrity sha1-q1X2leYRjak4WP3XDAU9HF4BrCA=
+  dependencies:
+    array-back "^1.0.3"
+    feature-detect-es6 "^1.3.1"
+    reduce-flatten "^1.0.1"
+    typical "^2.6.0"
+
+wrap-ansi@^5.1.0:
+  version "5.1.0"
+  resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09"
+  integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==
+  dependencies:
+    ansi-styles "^3.2.0"
+    string-width "^3.0.0"
+    strip-ansi "^5.0.0"
+
+wrappy@1:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
+  integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
+
+write-file-atomic@^2.4.2:
+  version "2.4.3"
+  resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481"
+  integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==
+  dependencies:
+    graceful-fs "^4.1.11"
+    imurmurhash "^0.1.4"
+    signal-exit "^3.0.2"
+
+ws@5.2.3, ws@^5.2.0:
+  version "5.2.3"
+  resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.3.tgz#05541053414921bc29c63bee14b8b0dd50b07b3d"
+  integrity sha512-jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA==
+  dependencies:
+    async-limiter "~1.0.0"
+
+ws@^7.0.0, ws@^7.4.6:
+  version "7.5.3"
+  resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.3.tgz#160835b63c7d97bfab418fc1b8a9fced2ac01a74"
+  integrity sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==
+
+xml-crypto@^2.1.2:
+  version "2.1.2"
+  resolved "https://registry.yarnpkg.com/xml-crypto/-/xml-crypto-2.1.2.tgz#501506d42e466f6cd908c5a03182217231b4e4b8"
+  integrity sha512-DBhZXtBjENtLwJmeJhLUBwUm9YWNjCRvAx6ESP4VJyM9PDuKqZu2Fp5Y5HKqcdJT7vV7eI25Z4UBMezji6QloQ==
+  dependencies:
+    xmldom "^0.6.0"
+    xpath "0.0.32"
+
+xml-encryption@^1.2.4:
+  version "1.2.4"
+  resolved "https://registry.yarnpkg.com/xml-encryption/-/xml-encryption-1.2.4.tgz#767d13f9ff2f979ff5657b93bd72aa729d34b66c"
+  integrity sha512-+4aSBIv/lwmv5PntfYsZyelOnCcyDmCt/MNxXUukRGlcWW8DObJ26obbVX3iXYRdqkLqbv3AKk8ntNCGKIq/UQ==
+  dependencies:
+    escape-html "^1.0.3"
+    node-forge "^0.10.0"
+    xmldom "~0.6.0"
+    xpath "0.0.32"
+
+xml-name-validator@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a"
+  integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==
+
+xml2js@^0.4.19, xml2js@^0.4.23:
+  version "0.4.23"
+  resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.23.tgz#a0c69516752421eb2ac758ee4d4ccf58843eac66"
+  integrity sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==
+  dependencies:
+    sax ">=0.6.0"
+    xmlbuilder "~11.0.0"
+
+xml@0.0.12:
+  version "0.0.12"
+  resolved "https://registry.yarnpkg.com/xml/-/xml-0.0.12.tgz#f08b347109912be00285785f46f15ad8e50a5f67"
+  integrity sha1-8Is0cQmRK+AChXhfRvFa2OUKX2c=
+
+xmlbuilder@^13.0.2:
+  version "13.0.2"
+  resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-13.0.2.tgz#02ae33614b6a047d1c32b5389c1fdacb2bce47a7"
+  integrity sha512-Eux0i2QdDYKbdbA6AM6xE4m6ZTZr4G4xF9kahI2ukSEMCzwce2eX9WlTI5J3s+NU7hpasFsr8hWIONae7LluAQ==
+
+xmlbuilder@^15.1.1:
+  version "15.1.1"
+  resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-15.1.1.tgz#9dcdce49eea66d8d10b42cae94a79c3c8d0c2ec5"
+  integrity sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==
+
+xmlbuilder@^9.0.1:
+  version "9.0.7"
+  resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d"
+  integrity sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=
+
+xmlbuilder@~11.0.0:
+  version "11.0.1"
+  resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3"
+  integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==
+
+xmlchars@^2.2.0:
+  version "2.2.0"
+  resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb"
+  integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==
+
+xmldom@0.1.x:
+  version "0.1.31"
+  resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.1.31.tgz#b76c9a1bd9f0a9737e5a72dc37231cf38375e2ff"
+  integrity sha512-yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ==
+
+xmldom@^0.5.0:
+  version "0.5.0"
+  resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.5.0.tgz#193cb96b84aa3486127ea6272c4596354cb4962e"
+  integrity sha512-Foaj5FXVzgn7xFzsKeNIde9g6aFBxTPi37iwsno8QvApmtg7KYrr+OPyRHcJF7dud2a5nGRBXK3n0dL62Gf7PA==
+
+xmldom@^0.6.0, xmldom@~0.6.0:
+  version "0.6.0"
+  resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.6.0.tgz#43a96ecb8beece991cef382c08397d82d4d0c46f"
+  integrity sha512-iAcin401y58LckRZ0TkI4k0VSM1Qg0KGSc3i8rU+xrxe19A/BN1zHyVSJY7uoutVlaTSzYyk/v5AmkewAP7jtg==
+
+xpath@0.0.32:
+  version "0.0.32"
+  resolved "https://registry.yarnpkg.com/xpath/-/xpath-0.0.32.tgz#1b73d3351af736e17ec078d6da4b8175405c48af"
+  integrity sha512-rxMJhSIoiO8vXcWvSifKqhvV96GjiD5wYb8/QHdoRyQvraTpp4IEv944nhGausZZ3u7dhQXteZuZbaqfpB7uYw==
+
+xtend@^4.0.0, xtend@^4.0.2:
+  version "4.0.2"
+  resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
+  integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
+
+xtraverse@0.1.x:
+  version "0.1.0"
+  resolved "https://registry.yarnpkg.com/xtraverse/-/xtraverse-0.1.0.tgz#b741bad018ef78d8a9d2e83ade007b3f7959c732"
+  integrity sha1-t0G60BjveNip0ug63gB7P3lZxzI=
+  dependencies:
+    xmldom "0.1.x"
+
+y18n@^4.0.0:
+  version "4.0.3"
+  resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf"
+  integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==
+
+yallist@^2.1.2:
+  version "2.1.2"
+  resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
+  integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=
+
+yallist@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
+  integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
+
+yargs-parser@^13.0.0, yargs-parser@^13.1.2:
+  version "13.1.2"
+  resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38"
+  integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==
+  dependencies:
+    camelcase "^5.0.0"
+    decamelize "^1.2.0"
+
+yargs@^13.2.2:
+  version "13.3.2"
+  resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd"
+  integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==
+  dependencies:
+    cliui "^5.0.0"
+    find-up "^3.0.0"
+    get-caller-file "^2.0.1"
+    require-directory "^2.1.1"
+    require-main-filename "^2.0.0"
+    set-blocking "^2.0.0"
+    string-width "^3.0.0"
+    which-module "^2.0.0"
+    y18n "^4.0.0"
+    yargs-parser "^13.1.2"
+
+yargs@~3.10.0:
+  version "3.10.0"
+  resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1"
+  integrity sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=
+  dependencies:
+    camelcase "^1.0.2"
+    cliui "^2.1.0"
+    decamelize "^1.0.0"
+    window-size "0.1.0"
+
+yauzl@^2.10.0:
+  version "2.10.0"
+  resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9"
+  integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=
+  dependencies:
+    buffer-crc32 "~0.2.3"
+    fd-slicer "~1.1.0"
+
+yubikeyotp@*:
+  version "0.2.0"
+  resolved "https://registry.yarnpkg.com/yubikeyotp/-/yubikeyotp-0.2.0.tgz#8bdc51122cd00ed8c919b9c9caeba851b272aa7d"
+  integrity sha1-i9xREizQDtjJGbnJyuuoUbJyqn0=
+  dependencies:
+    request "*"
+
+zip-stream@^3.0.1:
+  version "3.0.1"
+  resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-3.0.1.tgz#cb8db9d324a76c09f9b76b31a12a48638b0b9708"
+  integrity sha512-r+JdDipt93ttDjsOVPU5zaq5bAyY+3H19bDrThkvuVxC0xMQzU1PJcS6D+KrP3u96gH9XLomcHPb+2skoDjulQ==
+  dependencies:
+    archiver-utils "^2.1.0"
+    compress-commons "^3.0.0"
+    readable-stream "^3.6.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/nixpkgs/pkgs/tools/admin/meshcentral/yarn.nix b/nixpkgs/pkgs/tools/admin/meshcentral/yarn.nix
new file mode 100644
index 000000000000..2fd6d9007521
--- /dev/null
+++ b/nixpkgs/pkgs/tools/admin/meshcentral/yarn.nix
@@ -0,0 +1,8021 @@
+{ fetchurl, fetchgit, linkFarm, runCommand, gnutar }: rec {
+  offline_cache = linkFarm "offline" packages;
+  packages = [
+    {
+      name = "_babel_code_frame___code_frame_7.14.5.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_generator___generator_7.15.0.tgz";
+      path = fetchurl {
+        name = "_babel_generator___generator_7.15.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/generator/-/generator-7.15.0.tgz";
+        sha1 = "a7d0c172e0d814974bad5aa77ace543b97917f15";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz";
+        sha1 = "89e2c474972f15d8e233b52ee8c480e2cfcd50c4";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz";
+        sha1 = "25fbfa579b0937eee1f3b805ece4ce398c431815";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz";
+        sha1 = "e0dd27c33a78e577d7c8884916a3e7ef1f7c7f8d";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz";
+        sha1 = "22b23a54ef51c2b7605d851930c1976dd0bc693a";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz";
+        sha1 = "6654d171b2024f6d8ee151bf2509699919131d48";
+      };
+    }
+    {
+      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.15.0.tgz";
+      path = fetchurl {
+        name = "_babel_parser___parser_7.15.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.15.0.tgz";
+        sha1 = "b6d6e29058ca369127b0eeca2a1c4b5794f1b6b9";
+      };
+    }
+    {
+      name = "_babel_template___template_7.14.5.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_traverse___traverse_7.15.0.tgz";
+      path = fetchurl {
+        name = "_babel_traverse___traverse_7.15.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.15.0.tgz";
+        sha1 = "4cca838fd1b2a03283c1f38e141f639d60b3fc98";
+      };
+    }
+    {
+      name = "_babel_types___types_7.15.0.tgz";
+      path = fetchurl {
+        name = "_babel_types___types_7.15.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/types/-/types-7.15.0.tgz";
+        sha1 = "61af11f2286c4e9c69ca8deb5f4375a73c72dcbd";
+      };
+    }
+    {
+      name = "_mysql_xdevapi___xdevapi_8.0.26.tgz";
+      path = fetchurl {
+        name = "_mysql_xdevapi___xdevapi_8.0.26.tgz";
+        url  = "https://registry.yarnpkg.com/@mysql/xdevapi/-/xdevapi-8.0.26.tgz";
+        sha1 = "bdf5752553c53c32d665bfa3034f21fbfa989611";
+      };
+    }
+    {
+      name = "_sendgrid_client___client_7.4.3.tgz";
+      path = fetchurl {
+        name = "_sendgrid_client___client_7.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/@sendgrid/client/-/client-7.4.3.tgz";
+        sha1 = "bc71aae05de2cd9aa607f4eb1d886711d09f9595";
+      };
+    }
+    {
+      name = "_sendgrid_helpers___helpers_7.4.3.tgz";
+      path = fetchurl {
+        name = "_sendgrid_helpers___helpers_7.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/@sendgrid/helpers/-/helpers-7.4.3.tgz";
+        sha1 = "231a4405266cfa291054df8b668fe3a4dc9387aa";
+      };
+    }
+    {
+      name = "_sendgrid_mail___mail_7.4.5.tgz";
+      path = fetchurl {
+        name = "_sendgrid_mail___mail_7.4.5.tgz";
+        url  = "https://registry.yarnpkg.com/@sendgrid/mail/-/mail-7.4.5.tgz";
+        sha1 = "22cef36e793134833b36aff5d3f4f53e8f81dd52";
+      };
+    }
+    {
+      name = "_tootallnate_once___once_1.1.2.tgz";
+      path = fetchurl {
+        name = "_tootallnate_once___once_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz";
+        sha1 = "ccb91445360179a04e7fe6aff78c00ffc1eeaf82";
+      };
+    }
+    {
+      name = "_types_geojson___geojson_7946.0.8.tgz";
+      path = fetchurl {
+        name = "_types_geojson___geojson_7946.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/@types/geojson/-/geojson-7946.0.8.tgz";
+        sha1 = "30744afdb385e2945e22f3b033f897f76b1f12ca";
+      };
+    }
+    {
+      name = "_types_ldapjs___ldapjs_1.0.11.tgz";
+      path = fetchurl {
+        name = "_types_ldapjs___ldapjs_1.0.11.tgz";
+        url  = "https://registry.yarnpkg.com/@types/ldapjs/-/ldapjs-1.0.11.tgz";
+        sha1 = "34077176af2b06186bd54e4a38ceb6e852387fa4";
+      };
+    }
+    {
+      name = "_types_node___node_16.4.13.tgz";
+      path = fetchurl {
+        name = "_types_node___node_16.4.13.tgz";
+        url  = "https://registry.yarnpkg.com/@types/node/-/node-16.4.13.tgz";
+        sha1 = "7dfd9c14661edc65cccd43a29eb454174642370d";
+      };
+    }
+    {
+      name = "_types_node___node_14.17.9.tgz";
+      path = fetchurl {
+        name = "_types_node___node_14.17.9.tgz";
+        url  = "https://registry.yarnpkg.com/@types/node/-/node-14.17.9.tgz";
+        sha1 = "b97c057e6138adb7b720df2bd0264b03c9f504fd";
+      };
+    }
+    {
+      name = "_types_webidl_conversions___webidl_conversions_6.1.1.tgz";
+      path = fetchurl {
+        name = "_types_webidl_conversions___webidl_conversions_6.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/webidl-conversions/-/webidl-conversions-6.1.1.tgz";
+        sha1 = "e33bc8ea812a01f63f90481c666334844b12a09e";
+      };
+    }
+    {
+      name = "_types_whatwg_url___whatwg_url_8.2.1.tgz";
+      path = fetchurl {
+        name = "_types_whatwg_url___whatwg_url_8.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/whatwg-url/-/whatwg-url-8.2.1.tgz";
+        sha1 = "f1aac222dab7c59e011663a0cb0a3117b2ef05d4";
+      };
+    }
+    {
+      name = "_xmpp_base64___base64_0.9.0.tgz";
+      path = fetchurl {
+        name = "_xmpp_base64___base64_0.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@xmpp/base64/-/base64-0.9.0.tgz";
+        sha1 = "f5914c2b7228d833020af991a2a207267fc8fcf4";
+      };
+    }
+    {
+      name = "_xmpp_client_core___client_core_0.9.2.tgz";
+      path = fetchurl {
+        name = "_xmpp_client_core___client_core_0.9.2.tgz";
+        url  = "https://registry.yarnpkg.com/@xmpp/client-core/-/client-core-0.9.2.tgz";
+        sha1 = "0176ad686358e903afefbf92d4c0f11676a90572";
+      };
+    }
+    {
+      name = "_xmpp_client___client_0.9.2.tgz";
+      path = fetchurl {
+        name = "_xmpp_client___client_0.9.2.tgz";
+        url  = "https://registry.yarnpkg.com/@xmpp/client/-/client-0.9.2.tgz";
+        sha1 = "6a0c7e1d9a8f7ea670981bd66fba5e41067960f7";
+      };
+    }
+    {
+      name = "_xmpp_connection_tcp___connection_tcp_0.9.2.tgz";
+      path = fetchurl {
+        name = "_xmpp_connection_tcp___connection_tcp_0.9.2.tgz";
+        url  = "https://registry.yarnpkg.com/@xmpp/connection-tcp/-/connection-tcp-0.9.2.tgz";
+        sha1 = "57f1165ef729e339237522a5206b8f9439f9edbf";
+      };
+    }
+    {
+      name = "_xmpp_connection___connection_0.9.2.tgz";
+      path = fetchurl {
+        name = "_xmpp_connection___connection_0.9.2.tgz";
+        url  = "https://registry.yarnpkg.com/@xmpp/connection/-/connection-0.9.2.tgz";
+        sha1 = "bfa354d4c99e16032d50a95a5638e6f58897f31f";
+      };
+    }
+    {
+      name = "_xmpp_debug___debug_0.9.2.tgz";
+      path = fetchurl {
+        name = "_xmpp_debug___debug_0.9.2.tgz";
+        url  = "https://registry.yarnpkg.com/@xmpp/debug/-/debug-0.9.2.tgz";
+        sha1 = "51702dfe5d14bae327c3468ea2967cf015800840";
+      };
+    }
+    {
+      name = "_xmpp_error___error_0.9.0.tgz";
+      path = fetchurl {
+        name = "_xmpp_error___error_0.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@xmpp/error/-/error-0.9.0.tgz";
+        sha1 = "3232fab6fdb7a25fe67d3e0e1962ae8742b2f2da";
+      };
+    }
+    {
+      name = "_xmpp_events___events_0.9.0.tgz";
+      path = fetchurl {
+        name = "_xmpp_events___events_0.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@xmpp/events/-/events-0.9.0.tgz";
+        sha1 = "60d181390fc6b080f5487c6877c3a8fa25276d1a";
+      };
+    }
+    {
+      name = "_xmpp_id___id_0.9.0.tgz";
+      path = fetchurl {
+        name = "_xmpp_id___id_0.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@xmpp/id/-/id-0.9.0.tgz";
+        sha1 = "baee9afad8ab7c5a3f3b000b2f98c02ddef67674";
+      };
+    }
+    {
+      name = "_xmpp_iq___iq_0.9.2.tgz";
+      path = fetchurl {
+        name = "_xmpp_iq___iq_0.9.2.tgz";
+        url  = "https://registry.yarnpkg.com/@xmpp/iq/-/iq-0.9.2.tgz";
+        sha1 = "0a16cf672eb03a7b7358d74835f00cca3aca7113";
+      };
+    }
+    {
+      name = "_xmpp_jid___jid_0.9.2.tgz";
+      path = fetchurl {
+        name = "_xmpp_jid___jid_0.9.2.tgz";
+        url  = "https://registry.yarnpkg.com/@xmpp/jid/-/jid-0.9.2.tgz";
+        sha1 = "2b87c466834e0618e226be4119b1d54fd828c7da";
+      };
+    }
+    {
+      name = "_xmpp_middleware___middleware_0.9.2.tgz";
+      path = fetchurl {
+        name = "_xmpp_middleware___middleware_0.9.2.tgz";
+        url  = "https://registry.yarnpkg.com/@xmpp/middleware/-/middleware-0.9.2.tgz";
+        sha1 = "40b0a6b9ce5473524f46c0841eed30fcb7ca956e";
+      };
+    }
+    {
+      name = "_xmpp_reconnect___reconnect_0.9.0.tgz";
+      path = fetchurl {
+        name = "_xmpp_reconnect___reconnect_0.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@xmpp/reconnect/-/reconnect-0.9.0.tgz";
+        sha1 = "50f5d8e791021f0d19b34a13cb9ea495eae8a6be";
+      };
+    }
+    {
+      name = "_xmpp_resolve___resolve_0.9.2.tgz";
+      path = fetchurl {
+        name = "_xmpp_resolve___resolve_0.9.2.tgz";
+        url  = "https://registry.yarnpkg.com/@xmpp/resolve/-/resolve-0.9.2.tgz";
+        sha1 = "530d8df631d3cb920abc5cc84b470966c71ce9a4";
+      };
+    }
+    {
+      name = "_xmpp_resource_binding___resource_binding_0.9.2.tgz";
+      path = fetchurl {
+        name = "_xmpp_resource_binding___resource_binding_0.9.2.tgz";
+        url  = "https://registry.yarnpkg.com/@xmpp/resource-binding/-/resource-binding-0.9.2.tgz";
+        sha1 = "49d440ab47e886bbbee5f27966e28a4619eb60bb";
+      };
+    }
+    {
+      name = "_xmpp_sasl_anonymous___sasl_anonymous_0.9.0.tgz";
+      path = fetchurl {
+        name = "_xmpp_sasl_anonymous___sasl_anonymous_0.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@xmpp/sasl-anonymous/-/sasl-anonymous-0.9.0.tgz";
+        sha1 = "dbd38751c17c41fd5aef91c1384ce3ade8099f33";
+      };
+    }
+    {
+      name = "_xmpp_sasl_plain___sasl_plain_0.9.0.tgz";
+      path = fetchurl {
+        name = "_xmpp_sasl_plain___sasl_plain_0.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@xmpp/sasl-plain/-/sasl-plain-0.9.0.tgz";
+        sha1 = "6b8d4a2e882685e460cdfb2181d00ac00904f606";
+      };
+    }
+    {
+      name = "_xmpp_sasl_scram_sha_1___sasl_scram_sha_1_0.9.0.tgz";
+      path = fetchurl {
+        name = "_xmpp_sasl_scram_sha_1___sasl_scram_sha_1_0.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@xmpp/sasl-scram-sha-1/-/sasl-scram-sha-1-0.9.0.tgz";
+        sha1 = "ee7acbba4393262db6a864630868948de031a4e4";
+      };
+    }
+    {
+      name = "_xmpp_sasl___sasl_0.9.2.tgz";
+      path = fetchurl {
+        name = "_xmpp_sasl___sasl_0.9.2.tgz";
+        url  = "https://registry.yarnpkg.com/@xmpp/sasl/-/sasl-0.9.2.tgz";
+        sha1 = "69b7995520c6330f4e5a8b67127ac942c94163ee";
+      };
+    }
+    {
+      name = "_xmpp_session_establishment___session_establishment_0.9.2.tgz";
+      path = fetchurl {
+        name = "_xmpp_session_establishment___session_establishment_0.9.2.tgz";
+        url  = "https://registry.yarnpkg.com/@xmpp/session-establishment/-/session-establishment-0.9.2.tgz";
+        sha1 = "f648879236df9c95a48bb08e4eb71b3c7be21ab9";
+      };
+    }
+    {
+      name = "_xmpp_starttls___starttls_0.9.2.tgz";
+      path = fetchurl {
+        name = "_xmpp_starttls___starttls_0.9.2.tgz";
+        url  = "https://registry.yarnpkg.com/@xmpp/starttls/-/starttls-0.9.2.tgz";
+        sha1 = "656ec7c80928863a37e026fdd5b4f6966f3c15fc";
+      };
+    }
+    {
+      name = "_xmpp_stream_features___stream_features_0.9.0.tgz";
+      path = fetchurl {
+        name = "_xmpp_stream_features___stream_features_0.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@xmpp/stream-features/-/stream-features-0.9.0.tgz";
+        sha1 = "5202943ccb9ad99c2750a705e40d80c24b2e5b7c";
+      };
+    }
+    {
+      name = "_xmpp_tcp___tcp_0.9.2.tgz";
+      path = fetchurl {
+        name = "_xmpp_tcp___tcp_0.9.2.tgz";
+        url  = "https://registry.yarnpkg.com/@xmpp/tcp/-/tcp-0.9.2.tgz";
+        sha1 = "d7810e68cca65078500f3d23ac4e8901474aae24";
+      };
+    }
+    {
+      name = "_xmpp_tls___tls_0.9.2.tgz";
+      path = fetchurl {
+        name = "_xmpp_tls___tls_0.9.2.tgz";
+        url  = "https://registry.yarnpkg.com/@xmpp/tls/-/tls-0.9.2.tgz";
+        sha1 = "bc826e36bd65dc3b2516e4a563dc53ac8307746c";
+      };
+    }
+    {
+      name = "_xmpp_websocket___websocket_0.9.2.tgz";
+      path = fetchurl {
+        name = "_xmpp_websocket___websocket_0.9.2.tgz";
+        url  = "https://registry.yarnpkg.com/@xmpp/websocket/-/websocket-0.9.2.tgz";
+        sha1 = "f8f4aabaaa0ce429f573a7cc2c0534ea16b38dde";
+      };
+    }
+    {
+      name = "_xmpp_xml___xml_0.9.2.tgz";
+      path = fetchurl {
+        name = "_xmpp_xml___xml_0.9.2.tgz";
+        url  = "https://registry.yarnpkg.com/@xmpp/xml/-/xml-0.9.2.tgz";
+        sha1 = "7d02ba15820b81853833a86531abe3e0d1f9abd5";
+      };
+    }
+    {
+      name = "abab___abab_2.0.5.tgz";
+      path = fetchurl {
+        name = "abab___abab_2.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz";
+        sha1 = "c0b678fb32d60fc1219c784d6a826fe385aeb79a";
+      };
+    }
+    {
+      name = "abbrev___abbrev_1.1.1.tgz";
+      path = fetchurl {
+        name = "abbrev___abbrev_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz";
+        sha1 = "f8f2c887ad10bf67f634f005b6987fed3179aac8";
+      };
+    }
+    {
+      name = "abort_controller___abort_controller_3.0.0.tgz";
+      path = fetchurl {
+        name = "abort_controller___abort_controller_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz";
+        sha1 = "eaf54d53b62bae4138e809ca225c8439a6efb392";
+      };
+    }
+    {
+      name = "abstract_logging___abstract_logging_2.0.1.tgz";
+      path = fetchurl {
+        name = "abstract_logging___abstract_logging_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/abstract-logging/-/abstract-logging-2.0.1.tgz";
+        sha1 = "6b0c371df212db7129b57d2e7fcf282b8bf1c839";
+      };
+    }
+    {
+      name = "accepts___accepts_1.3.7.tgz";
+      path = fetchurl {
+        name = "accepts___accepts_1.3.7.tgz";
+        url  = "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz";
+        sha1 = "531bc726517a3b2b41f850021c6cc15eaab507cd";
+      };
+    }
+    {
+      name = "acme_client___acme_client_4.1.3.tgz";
+      path = fetchurl {
+        name = "acme_client___acme_client_4.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/acme-client/-/acme-client-4.1.3.tgz";
+        sha1 = "2a37c7c8835da259eeb0cbfd8bcb7be3b9e4725b";
+      };
+    }
+    {
+      name = "acorn_globals___acorn_globals_6.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "acorn_jsx___acorn_jsx_3.0.1.tgz";
+      path = fetchurl {
+        name = "acorn_jsx___acorn_jsx_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz";
+        sha1 = "afdf9488fb1ecefc8348f6fb22f464e32a58b36b";
+      };
+    }
+    {
+      name = "acorn_walk___acorn_walk_7.2.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "acorn___acorn_3.3.0.tgz";
+      path = fetchurl {
+        name = "acorn___acorn_3.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz";
+        sha1 = "45e37fb39e8da3f25baee3ff5369e2bb5f22017a";
+      };
+    }
+    {
+      name = "acorn___acorn_7.4.1.tgz";
+      path = fetchurl {
+        name = "acorn___acorn_7.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz";
+        sha1 = "feaed255973d2e77555b83dbc08851a6c63520fa";
+      };
+    }
+    {
+      name = "acorn___acorn_8.4.1.tgz";
+      path = fetchurl {
+        name = "acorn___acorn_8.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/acorn/-/acorn-8.4.1.tgz";
+        sha1 = "56c36251fc7cabc7096adc18f05afe814321a28c";
+      };
+    }
+    {
+      name = "aedes_packet___aedes_packet_1.0.0.tgz";
+      path = fetchurl {
+        name = "aedes_packet___aedes_packet_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/aedes-packet/-/aedes-packet-1.0.0.tgz";
+        sha1 = "2eea46f97c925b0a1f4d03f4f1fe5ef887b100f1";
+      };
+    }
+    {
+      name = "aedes_persistence___aedes_persistence_6.0.0.tgz";
+      path = fetchurl {
+        name = "aedes_persistence___aedes_persistence_6.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/aedes-persistence/-/aedes-persistence-6.0.0.tgz";
+        sha1 = "e9eb15288a3be1a8e9fc7f231df2237ca0978eb1";
+      };
+    }
+    {
+      name = "aedes___aedes_0.39.0.tgz";
+      path = fetchurl {
+        name = "aedes___aedes_0.39.0.tgz";
+        url  = "https://registry.yarnpkg.com/aedes/-/aedes-0.39.0.tgz";
+        sha1 = "125e2f1e53a600f3a0bfde26431997deed27f117";
+      };
+    }
+    {
+      name = "aes_js___aes_js_3.1.2.tgz";
+      path = fetchurl {
+        name = "aes_js___aes_js_3.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/aes-js/-/aes-js-3.1.2.tgz";
+        sha1 = "db9aabde85d5caabbfc0d4f2a4446960f627146a";
+      };
+    }
+    {
+      name = "agent_base___agent_base_6.0.2.tgz";
+      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";
+      };
+    }
+    {
+      name = "ajv___ajv_6.12.6.tgz";
+      path = fetchurl {
+        name = "ajv___ajv_6.12.6.tgz";
+        url  = "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz";
+        sha1 = "baf5a62e802b07d977034586f8c3baf5adf26df4";
+      };
+    }
+    {
+      name = "align_text___align_text_0.1.4.tgz";
+      path = fetchurl {
+        name = "align_text___align_text_0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz";
+        sha1 = "0cd90a561093f35d0a99256c22b7069433fad117";
+      };
+    }
+    {
+      name = "amdefine___amdefine_1.0.1.tgz";
+      path = fetchurl {
+        name = "amdefine___amdefine_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz";
+        sha1 = "4a5282ac164729e93619bcfd3ad151f817ce91f5";
+      };
+    }
+    {
+      name = "ansi_escape_sequences___ansi_escape_sequences_2.2.2.tgz";
+      path = fetchurl {
+        name = "ansi_escape_sequences___ansi_escape_sequences_2.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-escape-sequences/-/ansi-escape-sequences-2.2.2.tgz";
+        sha1 = "174c78d6f8b7de75f8957ae81c7f72210c701635";
+      };
+    }
+    {
+      name = "ansi_escape_sequences___ansi_escape_sequences_3.0.0.tgz";
+      path = fetchurl {
+        name = "ansi_escape_sequences___ansi_escape_sequences_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-escape-sequences/-/ansi-escape-sequences-3.0.0.tgz";
+        sha1 = "1c18394b6af9b76ff9a63509fa497669fd2ce53e";
+      };
+    }
+    {
+      name = "ansi_regex___ansi_regex_2.1.1.tgz";
+      path = fetchurl {
+        name = "ansi_regex___ansi_regex_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz";
+        sha1 = "c3b33ab5ee360d86e0e628f0468ae7ef27d654df";
+      };
+    }
+    {
+      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_styles___ansi_styles_2.2.1.tgz";
+      path = fetchurl {
+        name = "ansi_styles___ansi_styles_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz";
+        sha1 = "b432dd3358b634cf75e1e4664368240533c1ddbe";
+      };
+    }
+    {
+      name = "ansi_styles___ansi_styles_3.2.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "ansi_styles___ansi_styles_4.3.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "anymatch___anymatch_1.3.2.tgz";
+      path = fetchurl {
+        name = "anymatch___anymatch_1.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz";
+        sha1 = "553dcb8f91e3c889845dfdba34c77721b90b9d7a";
+      };
+    }
+    {
+      name = "app_usage_stats___app_usage_stats_0.4.1.tgz";
+      path = fetchurl {
+        name = "app_usage_stats___app_usage_stats_0.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/app-usage-stats/-/app-usage-stats-0.4.1.tgz";
+        sha1 = "97eb9b89b5678fa2ddc9793b1298628cc218429f";
+      };
+    }
+    {
+      name = "append_transform___append_transform_1.0.0.tgz";
+      path = fetchurl {
+        name = "append_transform___append_transform_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/append-transform/-/append-transform-1.0.0.tgz";
+        sha1 = "046a52ae582a228bd72f58acfbe2967c678759ab";
+      };
+    }
+    {
+      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_zip_encrypted___archiver_zip_encrypted_1.0.10.tgz";
+      path = fetchurl {
+        name = "archiver_zip_encrypted___archiver_zip_encrypted_1.0.10.tgz";
+        url  = "https://registry.yarnpkg.com/archiver-zip-encrypted/-/archiver-zip-encrypted-1.0.10.tgz";
+        sha1 = "4218a602b6088480703996808484fc1fc4a60a41";
+      };
+    }
+    {
+      name = "archiver___archiver_4.0.2.tgz";
+      path = fetchurl {
+        name = "archiver___archiver_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/archiver/-/archiver-4.0.2.tgz";
+        sha1 = "43c72865eadb4ddaaa2fb74852527b6a450d927c";
+      };
+    }
+    {
+      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 = "archy___archy_1.0.0.tgz";
+      path = fetchurl {
+        name = "archy___archy_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz";
+        sha1 = "f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40";
+      };
+    }
+    {
+      name = "argparse___argparse_1.0.10.tgz";
+      path = fetchurl {
+        name = "argparse___argparse_1.0.10.tgz";
+        url  = "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz";
+        sha1 = "bcd6791ea5ae09725e17e5ad988134cd40b3d911";
+      };
+    }
+    {
+      name = "arr_diff___arr_diff_2.0.0.tgz";
+      path = fetchurl {
+        name = "arr_diff___arr_diff_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz";
+        sha1 = "8f3b827f955a8bd669697e4a4256ac3ceae356cf";
+      };
+    }
+    {
+      name = "arr_diff___arr_diff_4.0.0.tgz";
+      path = fetchurl {
+        name = "arr_diff___arr_diff_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz";
+        sha1 = "d6461074febfec71e7e15235761a329a5dc7c520";
+      };
+    }
+    {
+      name = "arr_flatten___arr_flatten_1.1.0.tgz";
+      path = fetchurl {
+        name = "arr_flatten___arr_flatten_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz";
+        sha1 = "36048bbff4e7b47e136644316c99669ea5ae91f1";
+      };
+    }
+    {
+      name = "arr_union___arr_union_3.1.0.tgz";
+      path = fetchurl {
+        name = "arr_union___arr_union_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz";
+        sha1 = "e39b09aea9def866a8f206e288af63919bae39c4";
+      };
+    }
+    {
+      name = "array_back___array_back_1.0.4.tgz";
+      path = fetchurl {
+        name = "array_back___array_back_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/array-back/-/array-back-1.0.4.tgz";
+        sha1 = "644ba7f095f7ffcf7c43b5f0dc39d3c1f03c063b";
+      };
+    }
+    {
+      name = "array_each___array_each_1.0.1.tgz";
+      path = fetchurl {
+        name = "array_each___array_each_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/array-each/-/array-each-1.0.1.tgz";
+        sha1 = "a794af0c05ab1752846ee753a1f211a05ba0c44f";
+      };
+    }
+    {
+      name = "array_flatten___array_flatten_1.1.1.tgz";
+      path = fetchurl {
+        name = "array_flatten___array_flatten_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz";
+        sha1 = "9a5f699051b1e7073328f2a008968b64ea2955d2";
+      };
+    }
+    {
+      name = "array_slice___array_slice_1.1.0.tgz";
+      path = fetchurl {
+        name = "array_slice___array_slice_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/array-slice/-/array-slice-1.1.0.tgz";
+        sha1 = "e368ea15f89bc7069f7ffb89aec3a6c7d4ac22d4";
+      };
+    }
+    {
+      name = "array_tools___array_tools_1.8.6.tgz";
+      path = fetchurl {
+        name = "array_tools___array_tools_1.8.6.tgz";
+        url  = "https://registry.yarnpkg.com/array-tools/-/array-tools-1.8.6.tgz";
+        sha1 = "145771f7f9c94e98cc5ea4196a99b8323aee18ae";
+      };
+    }
+    {
+      name = "array_tools___array_tools_2.0.9.tgz";
+      path = fetchurl {
+        name = "array_tools___array_tools_2.0.9.tgz";
+        url  = "https://registry.yarnpkg.com/array-tools/-/array-tools-2.0.9.tgz";
+        sha1 = "5a511de7a41be0eec9ffdcd4912d0af9f0caca35";
+      };
+    }
+    {
+      name = "array_unique___array_unique_0.2.1.tgz";
+      path = fetchurl {
+        name = "array_unique___array_unique_0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz";
+        sha1 = "a1d97ccafcbc2625cc70fadceb36a50c58b01a53";
+      };
+    }
+    {
+      name = "array_unique___array_unique_0.3.2.tgz";
+      path = fetchurl {
+        name = "array_unique___array_unique_0.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz";
+        sha1 = "a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428";
+      };
+    }
+    {
+      name = "arrify___arrify_2.0.1.tgz";
+      path = fetchurl {
+        name = "arrify___arrify_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz";
+        sha1 = "c9655e9331e0abcd588d2a7cad7e9956f66701fa";
+      };
+    }
+    {
+      name = "asap___asap_2.0.6.tgz";
+      path = fetchurl {
+        name = "asap___asap_2.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz";
+        sha1 = "e50347611d7e690943208bbdafebcbc2fb866d46";
+      };
+    }
+    {
+      name = "asn1.js___asn1.js_5.4.1.tgz";
+      path = fetchurl {
+        name = "asn1.js___asn1.js_5.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz";
+        sha1 = "11a980b84ebb91781ce35b0fdc2ee294e3783f07";
+      };
+    }
+    {
+      name = "asn1___asn1_0.2.4.tgz";
+      path = fetchurl {
+        name = "asn1___asn1_0.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz";
+        sha1 = "8d2475dfab553bb33e77b54e59e880bb8ce23136";
+      };
+    }
+    {
+      name = "assert_plus___assert_plus_1.0.0.tgz";
+      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 = "assign_symbols___assign_symbols_1.0.0.tgz";
+      path = fetchurl {
+        name = "assign_symbols___assign_symbols_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz";
+        sha1 = "59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367";
+      };
+    }
+    {
+      name = "async_each___async_each_1.0.3.tgz";
+      path = fetchurl {
+        name = "async_each___async_each_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz";
+        sha1 = "b727dbf87d7651602f06f4d4ac387f47d91b0cbf";
+      };
+    }
+    {
+      name = "async_limiter___async_limiter_1.0.1.tgz";
+      path = fetchurl {
+        name = "async_limiter___async_limiter_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz";
+        sha1 = "dd379e94f0db8310b08291f9d64c3209766617fd";
+      };
+    }
+    {
+      name = "async___async_0.2.10.tgz";
+      path = fetchurl {
+        name = "async___async_0.2.10.tgz";
+        url  = "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz";
+        sha1 = "b6bbe0b0674b9d719708ca38de8c237cb526c3d1";
+      };
+    }
+    {
+      name = "async___async_2.6.3.tgz";
+      path = fetchurl {
+        name = "async___async_2.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz";
+        sha1 = "d72625e2344a3656e3a3ad4fa749fa83299d82ff";
+      };
+    }
+    {
+      name = "async___async_3.2.1.tgz";
+      path = fetchurl {
+        name = "async___async_3.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/async/-/async-3.2.1.tgz";
+        sha1 = "d3274ec66d107a47476a4c49136aacdb00665fc8";
+      };
+    }
+    {
+      name = "asynckit___asynckit_0.4.0.tgz";
+      path = fetchurl {
+        name = "asynckit___asynckit_0.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz";
+        sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
+      };
+    }
+    {
+      name = "atob___atob_2.1.2.tgz";
+      path = fetchurl {
+        name = "atob___atob_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz";
+        sha1 = "6d9517eb9e030d2436666651e86bd9f6f13533c9";
+      };
+    }
+    {
+      name = "aws_sign2___aws_sign2_0.7.0.tgz";
+      path = fetchurl {
+        name = "aws_sign2___aws_sign2_0.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz";
+        sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8";
+      };
+    }
+    {
+      name = "aws4___aws4_1.11.0.tgz";
+      path = fetchurl {
+        name = "aws4___aws4_1.11.0.tgz";
+        url  = "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz";
+        sha1 = "d61f46d83b2519250e2784daf5b09479a8b41c59";
+      };
+    }
+    {
+      name = "axios___axios_0.21.1.tgz";
+      path = fetchurl {
+        name = "axios___axios_0.21.1.tgz";
+        url  = "https://registry.yarnpkg.com/axios/-/axios-0.21.1.tgz";
+        sha1 = "22563481962f4d6bde9a76d516ef0e5d3c09b2b8";
+      };
+    }
+    {
+      name = "babel_cli___babel_cli_6.26.0.tgz";
+      path = fetchurl {
+        name = "babel_cli___babel_cli_6.26.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-cli/-/babel-cli-6.26.0.tgz";
+        sha1 = "502ab54874d7db88ad00b887a06383ce03d002f1";
+      };
+    }
+    {
+      name = "babel_code_frame___babel_code_frame_6.26.0.tgz";
+      path = fetchurl {
+        name = "babel_code_frame___babel_code_frame_6.26.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz";
+        sha1 = "63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b";
+      };
+    }
+    {
+      name = "babel_core___babel_core_6.26.3.tgz";
+      path = fetchurl {
+        name = "babel_core___babel_core_6.26.3.tgz";
+        url  = "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz";
+        sha1 = "b2e2f09e342d0f0c88e2f02e067794125e75c207";
+      };
+    }
+    {
+      name = "babel_generator___babel_generator_6.26.1.tgz";
+      path = fetchurl {
+        name = "babel_generator___babel_generator_6.26.1.tgz";
+        url  = "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz";
+        sha1 = "1844408d3b8f0d35a404ea7ac180f087a601bd90";
+      };
+    }
+    {
+      name = "babel_helper_call_delegate___babel_helper_call_delegate_6.24.1.tgz";
+      path = fetchurl {
+        name = "babel_helper_call_delegate___babel_helper_call_delegate_6.24.1.tgz";
+        url  = "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz";
+        sha1 = "ece6aacddc76e41c3461f88bfc575bd0daa2df8d";
+      };
+    }
+    {
+      name = "babel_helper_define_map___babel_helper_define_map_6.26.0.tgz";
+      path = fetchurl {
+        name = "babel_helper_define_map___babel_helper_define_map_6.26.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz";
+        sha1 = "a5f56dab41a25f97ecb498c7ebaca9819f95be5f";
+      };
+    }
+    {
+      name = "babel_helper_function_name___babel_helper_function_name_6.24.1.tgz";
+      path = fetchurl {
+        name = "babel_helper_function_name___babel_helper_function_name_6.24.1.tgz";
+        url  = "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz";
+        sha1 = "d3475b8c03ed98242a25b48351ab18399d3580a9";
+      };
+    }
+    {
+      name = "babel_helper_get_function_arity___babel_helper_get_function_arity_6.24.1.tgz";
+      path = fetchurl {
+        name = "babel_helper_get_function_arity___babel_helper_get_function_arity_6.24.1.tgz";
+        url  = "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz";
+        sha1 = "8f7782aa93407c41d3aa50908f89b031b1b6853d";
+      };
+    }
+    {
+      name = "babel_helper_hoist_variables___babel_helper_hoist_variables_6.24.1.tgz";
+      path = fetchurl {
+        name = "babel_helper_hoist_variables___babel_helper_hoist_variables_6.24.1.tgz";
+        url  = "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz";
+        sha1 = "1ecb27689c9d25513eadbc9914a73f5408be7a76";
+      };
+    }
+    {
+      name = "babel_helper_optimise_call_expression___babel_helper_optimise_call_expression_6.24.1.tgz";
+      path = fetchurl {
+        name = "babel_helper_optimise_call_expression___babel_helper_optimise_call_expression_6.24.1.tgz";
+        url  = "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz";
+        sha1 = "f7a13427ba9f73f8f4fa993c54a97882d1244257";
+      };
+    }
+    {
+      name = "babel_helper_regex___babel_helper_regex_6.26.0.tgz";
+      path = fetchurl {
+        name = "babel_helper_regex___babel_helper_regex_6.26.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz";
+        sha1 = "325c59f902f82f24b74faceed0363954f6495e72";
+      };
+    }
+    {
+      name = "babel_helper_replace_supers___babel_helper_replace_supers_6.24.1.tgz";
+      path = fetchurl {
+        name = "babel_helper_replace_supers___babel_helper_replace_supers_6.24.1.tgz";
+        url  = "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz";
+        sha1 = "bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a";
+      };
+    }
+    {
+      name = "babel_helpers___babel_helpers_6.24.1.tgz";
+      path = fetchurl {
+        name = "babel_helpers___babel_helpers_6.24.1.tgz";
+        url  = "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz";
+        sha1 = "3471de9caec388e5c850e597e58a26ddf37602b2";
+      };
+    }
+    {
+      name = "babel_messages___babel_messages_6.23.0.tgz";
+      path = fetchurl {
+        name = "babel_messages___babel_messages_6.23.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz";
+        sha1 = "f3cdf4703858035b2a2951c6ec5edf6c62f2630e";
+      };
+    }
+    {
+      name = "babel_plugin_check_es2015_constants___babel_plugin_check_es2015_constants_6.22.0.tgz";
+      path = fetchurl {
+        name = "babel_plugin_check_es2015_constants___babel_plugin_check_es2015_constants_6.22.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz";
+        sha1 = "35157b101426fd2ffd3da3f75c7d1e91835bbf8a";
+      };
+    }
+    {
+      name = "babel_plugin_transform_es2015_arrow_functions___babel_plugin_transform_es2015_arrow_functions_6.22.0.tgz";
+      path = fetchurl {
+        name = "babel_plugin_transform_es2015_arrow_functions___babel_plugin_transform_es2015_arrow_functions_6.22.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz";
+        sha1 = "452692cb711d5f79dc7f85e440ce41b9f244d221";
+      };
+    }
+    {
+      name = "babel_plugin_transform_es2015_block_scoped_functions___babel_plugin_transform_es2015_block_scoped_functions_6.22.0.tgz";
+      path = fetchurl {
+        name = "babel_plugin_transform_es2015_block_scoped_functions___babel_plugin_transform_es2015_block_scoped_functions_6.22.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz";
+        sha1 = "bbc51b49f964d70cb8d8e0b94e820246ce3a6141";
+      };
+    }
+    {
+      name = "babel_plugin_transform_es2015_block_scoping___babel_plugin_transform_es2015_block_scoping_6.26.0.tgz";
+      path = fetchurl {
+        name = "babel_plugin_transform_es2015_block_scoping___babel_plugin_transform_es2015_block_scoping_6.26.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz";
+        sha1 = "d70f5299c1308d05c12f463813b0a09e73b1895f";
+      };
+    }
+    {
+      name = "babel_plugin_transform_es2015_classes___babel_plugin_transform_es2015_classes_6.24.1.tgz";
+      path = fetchurl {
+        name = "babel_plugin_transform_es2015_classes___babel_plugin_transform_es2015_classes_6.24.1.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz";
+        sha1 = "5a4c58a50c9c9461e564b4b2a3bfabc97a2584db";
+      };
+    }
+    {
+      name = "babel_plugin_transform_es2015_computed_properties___babel_plugin_transform_es2015_computed_properties_6.24.1.tgz";
+      path = fetchurl {
+        name = "babel_plugin_transform_es2015_computed_properties___babel_plugin_transform_es2015_computed_properties_6.24.1.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz";
+        sha1 = "6fe2a8d16895d5634f4cd999b6d3480a308159b3";
+      };
+    }
+    {
+      name = "babel_plugin_transform_es2015_destructuring___babel_plugin_transform_es2015_destructuring_6.23.0.tgz";
+      path = fetchurl {
+        name = "babel_plugin_transform_es2015_destructuring___babel_plugin_transform_es2015_destructuring_6.23.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz";
+        sha1 = "997bb1f1ab967f682d2b0876fe358d60e765c56d";
+      };
+    }
+    {
+      name = "babel_plugin_transform_es2015_duplicate_keys___babel_plugin_transform_es2015_duplicate_keys_6.24.1.tgz";
+      path = fetchurl {
+        name = "babel_plugin_transform_es2015_duplicate_keys___babel_plugin_transform_es2015_duplicate_keys_6.24.1.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz";
+        sha1 = "73eb3d310ca969e3ef9ec91c53741a6f1576423e";
+      };
+    }
+    {
+      name = "babel_plugin_transform_es2015_for_of___babel_plugin_transform_es2015_for_of_6.23.0.tgz";
+      path = fetchurl {
+        name = "babel_plugin_transform_es2015_for_of___babel_plugin_transform_es2015_for_of_6.23.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz";
+        sha1 = "f47c95b2b613df1d3ecc2fdb7573623c75248691";
+      };
+    }
+    {
+      name = "babel_plugin_transform_es2015_function_name___babel_plugin_transform_es2015_function_name_6.24.1.tgz";
+      path = fetchurl {
+        name = "babel_plugin_transform_es2015_function_name___babel_plugin_transform_es2015_function_name_6.24.1.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz";
+        sha1 = "834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b";
+      };
+    }
+    {
+      name = "babel_plugin_transform_es2015_literals___babel_plugin_transform_es2015_literals_6.22.0.tgz";
+      path = fetchurl {
+        name = "babel_plugin_transform_es2015_literals___babel_plugin_transform_es2015_literals_6.22.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz";
+        sha1 = "4f54a02d6cd66cf915280019a31d31925377ca2e";
+      };
+    }
+    {
+      name = "babel_plugin_transform_es2015_modules_amd___babel_plugin_transform_es2015_modules_amd_6.24.1.tgz";
+      path = fetchurl {
+        name = "babel_plugin_transform_es2015_modules_amd___babel_plugin_transform_es2015_modules_amd_6.24.1.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz";
+        sha1 = "3b3e54017239842d6d19c3011c4bd2f00a00d154";
+      };
+    }
+    {
+      name = "babel_plugin_transform_es2015_modules_commonjs___babel_plugin_transform_es2015_modules_commonjs_6.26.2.tgz";
+      path = fetchurl {
+        name = "babel_plugin_transform_es2015_modules_commonjs___babel_plugin_transform_es2015_modules_commonjs_6.26.2.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz";
+        sha1 = "58a793863a9e7ca870bdc5a881117ffac27db6f3";
+      };
+    }
+    {
+      name = "babel_plugin_transform_es2015_modules_systemjs___babel_plugin_transform_es2015_modules_systemjs_6.24.1.tgz";
+      path = fetchurl {
+        name = "babel_plugin_transform_es2015_modules_systemjs___babel_plugin_transform_es2015_modules_systemjs_6.24.1.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz";
+        sha1 = "ff89a142b9119a906195f5f106ecf305d9407d23";
+      };
+    }
+    {
+      name = "babel_plugin_transform_es2015_modules_umd___babel_plugin_transform_es2015_modules_umd_6.24.1.tgz";
+      path = fetchurl {
+        name = "babel_plugin_transform_es2015_modules_umd___babel_plugin_transform_es2015_modules_umd_6.24.1.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz";
+        sha1 = "ac997e6285cd18ed6176adb607d602344ad38468";
+      };
+    }
+    {
+      name = "babel_plugin_transform_es2015_object_super___babel_plugin_transform_es2015_object_super_6.24.1.tgz";
+      path = fetchurl {
+        name = "babel_plugin_transform_es2015_object_super___babel_plugin_transform_es2015_object_super_6.24.1.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz";
+        sha1 = "24cef69ae21cb83a7f8603dad021f572eb278f8d";
+      };
+    }
+    {
+      name = "babel_plugin_transform_es2015_parameters___babel_plugin_transform_es2015_parameters_6.24.1.tgz";
+      path = fetchurl {
+        name = "babel_plugin_transform_es2015_parameters___babel_plugin_transform_es2015_parameters_6.24.1.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz";
+        sha1 = "57ac351ab49caf14a97cd13b09f66fdf0a625f2b";
+      };
+    }
+    {
+      name = "babel_plugin_transform_es2015_shorthand_properties___babel_plugin_transform_es2015_shorthand_properties_6.24.1.tgz";
+      path = fetchurl {
+        name = "babel_plugin_transform_es2015_shorthand_properties___babel_plugin_transform_es2015_shorthand_properties_6.24.1.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz";
+        sha1 = "24f875d6721c87661bbd99a4622e51f14de38aa0";
+      };
+    }
+    {
+      name = "babel_plugin_transform_es2015_spread___babel_plugin_transform_es2015_spread_6.22.0.tgz";
+      path = fetchurl {
+        name = "babel_plugin_transform_es2015_spread___babel_plugin_transform_es2015_spread_6.22.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz";
+        sha1 = "d6d68a99f89aedc4536c81a542e8dd9f1746f8d1";
+      };
+    }
+    {
+      name = "babel_plugin_transform_es2015_sticky_regex___babel_plugin_transform_es2015_sticky_regex_6.24.1.tgz";
+      path = fetchurl {
+        name = "babel_plugin_transform_es2015_sticky_regex___babel_plugin_transform_es2015_sticky_regex_6.24.1.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz";
+        sha1 = "00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc";
+      };
+    }
+    {
+      name = "babel_plugin_transform_es2015_template_literals___babel_plugin_transform_es2015_template_literals_6.22.0.tgz";
+      path = fetchurl {
+        name = "babel_plugin_transform_es2015_template_literals___babel_plugin_transform_es2015_template_literals_6.22.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz";
+        sha1 = "a84b3450f7e9f8f1f6839d6d687da84bb1236d8d";
+      };
+    }
+    {
+      name = "babel_plugin_transform_es2015_typeof_symbol___babel_plugin_transform_es2015_typeof_symbol_6.23.0.tgz";
+      path = fetchurl {
+        name = "babel_plugin_transform_es2015_typeof_symbol___babel_plugin_transform_es2015_typeof_symbol_6.23.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz";
+        sha1 = "dec09f1cddff94b52ac73d505c84df59dcceb372";
+      };
+    }
+    {
+      name = "babel_plugin_transform_es2015_unicode_regex___babel_plugin_transform_es2015_unicode_regex_6.24.1.tgz";
+      path = fetchurl {
+        name = "babel_plugin_transform_es2015_unicode_regex___babel_plugin_transform_es2015_unicode_regex_6.24.1.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz";
+        sha1 = "d38b12f42ea7323f729387f18a7c5ae1faeb35e9";
+      };
+    }
+    {
+      name = "babel_plugin_transform_regenerator___babel_plugin_transform_regenerator_6.26.0.tgz";
+      path = fetchurl {
+        name = "babel_plugin_transform_regenerator___babel_plugin_transform_regenerator_6.26.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz";
+        sha1 = "e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f";
+      };
+    }
+    {
+      name = "babel_plugin_transform_strict_mode___babel_plugin_transform_strict_mode_6.24.1.tgz";
+      path = fetchurl {
+        name = "babel_plugin_transform_strict_mode___babel_plugin_transform_strict_mode_6.24.1.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz";
+        sha1 = "d5faf7aa578a65bbe591cf5edae04a0c67020758";
+      };
+    }
+    {
+      name = "babel_polyfill___babel_polyfill_6.26.0.tgz";
+      path = fetchurl {
+        name = "babel_polyfill___babel_polyfill_6.26.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.26.0.tgz";
+        sha1 = "379937abc67d7895970adc621f284cd966cf2153";
+      };
+    }
+    {
+      name = "babel_preset_es2015___babel_preset_es2015_6.24.1.tgz";
+      path = fetchurl {
+        name = "babel_preset_es2015___babel_preset_es2015_6.24.1.tgz";
+        url  = "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz";
+        sha1 = "d44050d6bc2c9feea702aaf38d727a0210538939";
+      };
+    }
+    {
+      name = "babel_register___babel_register_6.26.0.tgz";
+      path = fetchurl {
+        name = "babel_register___babel_register_6.26.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz";
+        sha1 = "6ed021173e2fcb486d7acb45c6009a856f647071";
+      };
+    }
+    {
+      name = "babel_runtime___babel_runtime_6.26.0.tgz";
+      path = fetchurl {
+        name = "babel_runtime___babel_runtime_6.26.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz";
+        sha1 = "965c7058668e82b55d7bfe04ff2337bc8b5647fe";
+      };
+    }
+    {
+      name = "babel_template___babel_template_6.26.0.tgz";
+      path = fetchurl {
+        name = "babel_template___babel_template_6.26.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz";
+        sha1 = "de03e2d16396b069f46dd9fff8521fb1a0e35e02";
+      };
+    }
+    {
+      name = "babel_traverse___babel_traverse_6.26.0.tgz";
+      path = fetchurl {
+        name = "babel_traverse___babel_traverse_6.26.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz";
+        sha1 = "46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee";
+      };
+    }
+    {
+      name = "babel_types___babel_types_6.26.0.tgz";
+      path = fetchurl {
+        name = "babel_types___babel_types_6.26.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz";
+        sha1 = "a3b073f94ab49eb6fa55cd65227a334380632497";
+      };
+    }
+    {
+      name = "babylon___babylon_6.18.0.tgz";
+      path = fetchurl {
+        name = "babylon___babylon_6.18.0.tgz";
+        url  = "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz";
+        sha1 = "af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3";
+      };
+    }
+    {
+      name = "backo2___backo2_1.0.2.tgz";
+      path = fetchurl {
+        name = "backo2___backo2_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz";
+        sha1 = "31ab1ac8b129363463e35b3ebb69f4dfcfba7947";
+      };
+    }
+    {
+      name = "backoff___backoff_2.5.0.tgz";
+      path = fetchurl {
+        name = "backoff___backoff_2.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/backoff/-/backoff-2.5.0.tgz";
+        sha1 = "f616eda9d3e4b66b8ca7fca79f695722c5f8e26f";
+      };
+    }
+    {
+      name = "balanced_match___balanced_match_1.0.2.tgz";
+      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";
+      };
+    }
+    {
+      name = "base_64___base_64_0.1.0.tgz";
+      path = fetchurl {
+        name = "base_64___base_64_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/base-64/-/base-64-0.1.0.tgz";
+        sha1 = "780a99c84e7d600260361511c4877613bf24f6bb";
+      };
+    }
+    {
+      name = "base_64___base_64_1.0.0.tgz";
+      path = fetchurl {
+        name = "base_64___base_64_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/base-64/-/base-64-1.0.0.tgz";
+        sha1 = "09d0f2084e32a3fd08c2475b973788eee6ae8f4a";
+      };
+    }
+    {
+      name = "base64_js___base64_js_1.5.1.tgz";
+      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 = "base64url___base64url_3.0.1.tgz";
+      path = fetchurl {
+        name = "base64url___base64url_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/base64url/-/base64url-3.0.1.tgz";
+        sha1 = "6399d572e2bc3f90a9a8b22d5dbb0a32d33f788d";
+      };
+    }
+    {
+      name = "base___base_0.11.2.tgz";
+      path = fetchurl {
+        name = "base___base_0.11.2.tgz";
+        url  = "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz";
+        sha1 = "7bde5ced145b6d551a90db87f83c558b4eb48a8f";
+      };
+    }
+    {
+      name = "bcrypt_pbkdf___bcrypt_pbkdf_1.0.2.tgz";
+      path = fetchurl {
+        name = "bcrypt_pbkdf___bcrypt_pbkdf_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz";
+        sha1 = "a4301d389b6a43f9b67ff3ca11a3f6637e360e9e";
+      };
+    }
+    {
+      name = "bcryptjs___bcryptjs_2.4.3.tgz";
+      path = fetchurl {
+        name = "bcryptjs___bcryptjs_2.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/bcryptjs/-/bcryptjs-2.4.3.tgz";
+        sha1 = "9ab5627b93e60621ff7cdac5da9733027df1d0cb";
+      };
+    }
+    {
+      name = "bignumber.js___bignumber.js_9.0.0.tgz";
+      path = fetchurl {
+        name = "bignumber.js___bignumber.js_9.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.0.0.tgz";
+        sha1 = "805880f84a329b5eac6e7cb6f8274b6d82bdf075";
+      };
+    }
+    {
+      name = "bignumber.js___bignumber.js_9.0.1.tgz";
+      path = fetchurl {
+        name = "bignumber.js___bignumber.js_9.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.0.1.tgz";
+        sha1 = "8d7ba124c882bfd8e43260c67475518d0689e4e5";
+      };
+    }
+    {
+      name = "binary_extensions___binary_extensions_1.13.1.tgz";
+      path = fetchurl {
+        name = "binary_extensions___binary_extensions_1.13.1.tgz";
+        url  = "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz";
+        sha1 = "598afe54755b2868a5330d2aff9d4ebb53209b65";
+      };
+    }
+    {
+      name = "binary_search_tree___binary_search_tree_0.2.5.tgz";
+      path = fetchurl {
+        name = "binary_search_tree___binary_search_tree_0.2.5.tgz";
+        url  = "https://registry.yarnpkg.com/binary-search-tree/-/binary-search-tree-0.2.5.tgz";
+        sha1 = "7dbb3b210fdca082450dad2334c304af39bdc784";
+      };
+    }
+    {
+      name = "binary_search___binary_search_1.3.6.tgz";
+      path = fetchurl {
+        name = "binary_search___binary_search_1.3.6.tgz";
+        url  = "https://registry.yarnpkg.com/binary-search/-/binary-search-1.3.6.tgz";
+        sha1 = "e32426016a0c5092f0f3598836a1c7da3560565c";
+      };
+    }
+    {
+      name = "bindings___bindings_1.5.0.tgz";
+      path = fetchurl {
+        name = "bindings___bindings_1.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz";
+        sha1 = "10353c9e945334bc0511a6d90b38fbc7c9c504df";
+      };
+    }
+    {
+      name = "bitwise_xor___bitwise_xor_0.0.0.tgz";
+      path = fetchurl {
+        name = "bitwise_xor___bitwise_xor_0.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/bitwise-xor/-/bitwise-xor-0.0.0.tgz";
+        sha1 = "040a8172b5bb8cc562b0b7119f230b2a1a780e3d";
+      };
+    }
+    {
+      name = "bl___bl_2.2.1.tgz";
+      path = fetchurl {
+        name = "bl___bl_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/bl/-/bl-2.2.1.tgz";
+        sha1 = "8c11a7b730655c5d56898cdc871224f40fd901d5";
+      };
+    }
+    {
+      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";
+      };
+    }
+    {
+      name = "bluebird___bluebird_3.7.2.tgz";
+      path = fetchurl {
+        name = "bluebird___bluebird_3.7.2.tgz";
+        url  = "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz";
+        sha1 = "9f229c15be272454ffa973ace0dbee79a1b0c36f";
+      };
+    }
+    {
+      name = "bluebird___bluebird_3.4.7.tgz";
+      path = fetchurl {
+        name = "bluebird___bluebird_3.4.7.tgz";
+        url  = "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.7.tgz";
+        sha1 = "f72d760be09b7f76d08ed8fae98b289a8d05fab3";
+      };
+    }
+    {
+      name = "bn.js___bn.js_4.12.0.tgz";
+      path = fetchurl {
+        name = "bn.js___bn.js_4.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz";
+        sha1 = "775b3f278efbb9718eec7361f483fb36fbbfea88";
+      };
+    }
+    {
+      name = "body_parser___body_parser_1.19.0.tgz";
+      path = fetchurl {
+        name = "body_parser___body_parser_1.19.0.tgz";
+        url  = "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz";
+        sha1 = "96b2709e57c9c4e09a6fd66a8fd979844f69f08a";
+      };
+    }
+    {
+      name = "brace_expansion___brace_expansion_1.1.11.tgz";
+      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";
+      };
+    }
+    {
+      name = "braces___braces_1.8.5.tgz";
+      path = fetchurl {
+        name = "braces___braces_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz";
+        sha1 = "ba77962e12dff969d6b76711e914b737857bf6a7";
+      };
+    }
+    {
+      name = "braces___braces_2.3.2.tgz";
+      path = fetchurl {
+        name = "braces___braces_2.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz";
+        sha1 = "5979fd3f14cd531565e5fa2df1abfff1dfaee729";
+      };
+    }
+    {
+      name = "braces___braces_3.0.2.tgz";
+      path = fetchurl {
+        name = "braces___braces_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz";
+        sha1 = "3454e1a462ee8d599e236df336cd9ea4f8afe107";
+      };
+    }
+    {
+      name = "browser_process_hrtime___browser_process_hrtime_1.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "bson___bson_1.1.6.tgz";
+      path = fetchurl {
+        name = "bson___bson_1.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/bson/-/bson-1.1.6.tgz";
+        sha1 = "fb819be9a60cd677e0853aee4ca712a785d6618a";
+      };
+    }
+    {
+      name = "bson___bson_4.4.1.tgz";
+      path = fetchurl {
+        name = "bson___bson_4.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/bson/-/bson-4.4.1.tgz";
+        sha1 = "682c3cb8b90b222414ce14ef8398154ba2cc21bc";
+      };
+    }
+    {
+      name = "buffer_crc32___buffer_crc32_0.2.13.tgz";
+      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";
+      };
+    }
+    {
+      name = "buffer_equal_constant_time___buffer_equal_constant_time_1.0.1.tgz";
+      path = fetchurl {
+        name = "buffer_equal_constant_time___buffer_equal_constant_time_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz";
+        sha1 = "f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819";
+      };
+    }
+    {
+      name = "buffer___buffer_5.7.1.tgz";
+      path = fetchurl {
+        name = "buffer___buffer_5.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz";
+        sha1 = "ba62e7c13133053582197160851a8f648e99eed0";
+      };
+    }
+    {
+      name = "build_url___build_url_1.3.3.tgz";
+      path = fetchurl {
+        name = "build_url___build_url_1.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/build-url/-/build-url-1.3.3.tgz";
+        sha1 = "fad1ef30d8861931f85bc1f41fca0a537be31e5f";
+      };
+    }
+    {
+      name = "bulk_write_stream___bulk_write_stream_2.0.1.tgz";
+      path = fetchurl {
+        name = "bulk_write_stream___bulk_write_stream_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/bulk-write-stream/-/bulk-write-stream-2.0.1.tgz";
+        sha1 = "085bdc65caf19ceece4ff365fdb951ef0c6e3db8";
+      };
+    }
+    {
+      name = "bunyan___bunyan_1.8.15.tgz";
+      path = fetchurl {
+        name = "bunyan___bunyan_1.8.15.tgz";
+        url  = "https://registry.yarnpkg.com/bunyan/-/bunyan-1.8.15.tgz";
+        sha1 = "8ce34ca908a17d0776576ca1b2f6cbd916e93b46";
+      };
+    }
+    {
+      name = "bytes___bytes_3.0.0.tgz";
+      path = fetchurl {
+        name = "bytes___bytes_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz";
+        sha1 = "d32815404d689699f85a4ea4fa8755dd13a96048";
+      };
+    }
+    {
+      name = "bytes___bytes_3.1.0.tgz";
+      path = fetchurl {
+        name = "bytes___bytes_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz";
+        sha1 = "f6cf7933a360e0588fa9fde85651cdc7f805d1f6";
+      };
+    }
+    {
+      name = "cache_base___cache_base_1.0.1.tgz";
+      path = fetchurl {
+        name = "cache_base___cache_base_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz";
+        sha1 = "0a7f46416831c8b662ee36fe4e7c59d76f666ab2";
+      };
+    }
+    {
+      name = "cache_point___cache_point_0.3.4.tgz";
+      path = fetchurl {
+        name = "cache_point___cache_point_0.3.4.tgz";
+        url  = "https://registry.yarnpkg.com/cache-point/-/cache-point-0.3.4.tgz";
+        sha1 = "152db502c6bb23b5aa3f663e230d5de8ec4e4f3f";
+      };
+    }
+    {
+      name = "caching_transform___caching_transform_3.0.2.tgz";
+      path = fetchurl {
+        name = "caching_transform___caching_transform_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/caching-transform/-/caching-transform-3.0.2.tgz";
+        sha1 = "601d46b91eca87687a281e71cef99791b0efca70";
+      };
+    }
+    {
+      name = "call_bind___call_bind_1.0.2.tgz";
+      path = fetchurl {
+        name = "call_bind___call_bind_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz";
+        sha1 = "b1d4e89e688119c3c9a903ad30abb2f6a919be3c";
+      };
+    }
+    {
+      name = "camel_case___camel_case_3.0.0.tgz";
+      path = fetchurl {
+        name = "camel_case___camel_case_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz";
+        sha1 = "ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73";
+      };
+    }
+    {
+      name = "camelcase___camelcase_1.2.1.tgz";
+      path = fetchurl {
+        name = "camelcase___camelcase_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz";
+        sha1 = "9bb5304d2e0b56698b2c758b08a3eaa9daa58a39";
+      };
+    }
+    {
+      name = "camelcase___camelcase_5.3.1.tgz";
+      path = fetchurl {
+        name = "camelcase___camelcase_5.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz";
+        sha1 = "e3c9b31569e106811df242f715725a1f4c494320";
+      };
+    }
+    {
+      name = "caseless___caseless_0.12.0.tgz";
+      path = fetchurl {
+        name = "caseless___caseless_0.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz";
+        sha1 = "1b681c21ff84033c826543090689420d187151dc";
+      };
+    }
+    {
+      name = "catharsis___catharsis_0.8.11.tgz";
+      path = fetchurl {
+        name = "catharsis___catharsis_0.8.11.tgz";
+        url  = "https://registry.yarnpkg.com/catharsis/-/catharsis-0.8.11.tgz";
+        sha1 = "d0eb3d2b82b7da7a3ce2efb1a7b00becc6643468";
+      };
+    }
+    {
+      name = "cbor___cbor_5.2.0.tgz";
+      path = fetchurl {
+        name = "cbor___cbor_5.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/cbor/-/cbor-5.2.0.tgz";
+        sha1 = "4cca67783ccd6de7b50ab4ed62636712f287a67c";
+      };
+    }
+    {
+      name = "center_align___center_align_0.1.3.tgz";
+      path = fetchurl {
+        name = "center_align___center_align_0.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz";
+        sha1 = "aa0d32629b6ee972200411cbd4461c907bc2b7ad";
+      };
+    }
+    {
+      name = "chalk___chalk_1.1.3.tgz";
+      path = fetchurl {
+        name = "chalk___chalk_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz";
+        sha1 = "a8115c55e4a702fe4d150abd3872822a7e09fc98";
+      };
+    }
+    {
+      name = "chalk___chalk_2.4.2.tgz";
+      path = fetchurl {
+        name = "chalk___chalk_2.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz";
+        sha1 = "cd42541677a54333cf541a49108c1432b44c9424";
+      };
+    }
+    {
+      name = "chalk___chalk_4.1.2.tgz";
+      path = fetchurl {
+        name = "chalk___chalk_4.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz";
+        sha1 = "aac4e2b7734a740867aeb16bf02aad556a1e7a01";
+      };
+    }
+    {
+      name = "charenc___charenc_0.0.2.tgz";
+      path = fetchurl {
+        name = "charenc___charenc_0.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz";
+        sha1 = "c0a1d2f3a7092e03774bfa83f14c0fc5790a8667";
+      };
+    }
+    {
+      name = "chokidar___chokidar_1.7.0.tgz";
+      path = fetchurl {
+        name = "chokidar___chokidar_1.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz";
+        sha1 = "798e689778151c8076b4b360e5edd28cda2bb468";
+      };
+    }
+    {
+      name = "cipher_base___cipher_base_1.0.4.tgz";
+      path = fetchurl {
+        name = "cipher_base___cipher_base_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz";
+        sha1 = "8760e4ecc272f4c363532f926d874aae2c1397de";
+      };
+    }
+    {
+      name = "class_utils___class_utils_0.3.6.tgz";
+      path = fetchurl {
+        name = "class_utils___class_utils_0.3.6.tgz";
+        url  = "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz";
+        sha1 = "f93369ae8b9a7ce02fd41faad0ca83033190c463";
+      };
+    }
+    {
+      name = "clean_css___clean_css_4.2.3.tgz";
+      path = fetchurl {
+        name = "clean_css___clean_css_4.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.3.tgz";
+        sha1 = "507b5de7d97b48ee53d84adb0160ff6216380f78";
+      };
+    }
+    {
+      name = "cli_commands___cli_commands_0.1.0.tgz";
+      path = fetchurl {
+        name = "cli_commands___cli_commands_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/cli-commands/-/cli-commands-0.1.0.tgz";
+        sha1 = "c57cacc406bbcf9ee21646607161ed432ef5a05a";
+      };
+    }
+    {
+      name = "cliui___cliui_2.1.0.tgz";
+      path = fetchurl {
+        name = "cliui___cliui_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz";
+        sha1 = "4b475760ff80264c762c3a1719032e91c7fea0d1";
+      };
+    }
+    {
+      name = "cliui___cliui_5.0.0.tgz";
+      path = fetchurl {
+        name = "cliui___cliui_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz";
+        sha1 = "deefcfdb2e800784aa34f46fa08e06851c7bbbc5";
+      };
+    }
+    {
+      name = "collect_all___collect_all_1.0.4.tgz";
+      path = fetchurl {
+        name = "collect_all___collect_all_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/collect-all/-/collect-all-1.0.4.tgz";
+        sha1 = "50cd7119ac24b8e12a661f0f8c3aa0ea7222ddfc";
+      };
+    }
+    {
+      name = "collect_all___collect_all_0.2.1.tgz";
+      path = fetchurl {
+        name = "collect_all___collect_all_0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/collect-all/-/collect-all-0.2.1.tgz";
+        sha1 = "7225fb4585c22d4ffac886f0abaf5abc563a1a6a";
+      };
+    }
+    {
+      name = "collect_json___collect_json_1.0.9.tgz";
+      path = fetchurl {
+        name = "collect_json___collect_json_1.0.9.tgz";
+        url  = "https://registry.yarnpkg.com/collect-json/-/collect-json-1.0.9.tgz";
+        sha1 = "eb9906ef3160899e46e8482fac13a5e591dae9ae";
+      };
+    }
+    {
+      name = "collection_visit___collection_visit_1.0.0.tgz";
+      path = fetchurl {
+        name = "collection_visit___collection_visit_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz";
+        sha1 = "4bc0373c164bc3291b4d368c829cf1a80a59dca0";
+      };
+    }
+    {
+      name = "color_convert___color_convert_1.9.3.tgz";
+      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";
+      };
+    }
+    {
+      name = "color_convert___color_convert_2.0.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "color_name___color_name_1.1.3.tgz";
+      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";
+      };
+    }
+    {
+      name = "color_name___color_name_1.1.4.tgz";
+      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 = "colors___colors_1.1.2.tgz";
+      path = fetchurl {
+        name = "colors___colors_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz";
+        sha1 = "168a4701756b6a7f51a12ce0c97bfa28c084ed63";
+      };
+    }
+    {
+      name = "column_layout___column_layout_2.1.4.tgz";
+      path = fetchurl {
+        name = "column_layout___column_layout_2.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/column-layout/-/column-layout-2.1.4.tgz";
+        sha1 = "ed2857092ccf8338026fe538379d9672d70b3641";
+      };
+    }
+    {
+      name = "combined_stream___combined_stream_1.0.8.tgz";
+      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";
+      };
+    }
+    {
+      name = "command_line_args___command_line_args_2.1.6.tgz";
+      path = fetchurl {
+        name = "command_line_args___command_line_args_2.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/command-line-args/-/command-line-args-2.1.6.tgz";
+        sha1 = "f197d6eaff34c9085577484b2864375b294f5697";
+      };
+    }
+    {
+      name = "command_line_args___command_line_args_3.0.5.tgz";
+      path = fetchurl {
+        name = "command_line_args___command_line_args_3.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/command-line-args/-/command-line-args-3.0.5.tgz";
+        sha1 = "5bd4ad45e7983e5c1344918e40280ee2693c5ac0";
+      };
+    }
+    {
+      name = "command_line_commands___command_line_commands_1.0.4.tgz";
+      path = fetchurl {
+        name = "command_line_commands___command_line_commands_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/command-line-commands/-/command-line-commands-1.0.4.tgz";
+        sha1 = "034f9b167b5188afbdcf6b2efbb150fc8442c32b";
+      };
+    }
+    {
+      name = "command_line_tool___command_line_tool_0.1.0.tgz";
+      path = fetchurl {
+        name = "command_line_tool___command_line_tool_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/command-line-tool/-/command-line-tool-0.1.0.tgz";
+        sha1 = "91a11ba48ac63a4a687554367980f7c6423c149d";
+      };
+    }
+    {
+      name = "command_line_tool___command_line_tool_0.5.2.tgz";
+      path = fetchurl {
+        name = "command_line_tool___command_line_tool_0.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/command-line-tool/-/command-line-tool-0.5.2.tgz";
+        sha1 = "f87d6977f56bbdd2d5dfcf946345dd2cd9c6a53a";
+      };
+    }
+    {
+      name = "command_line_usage___command_line_usage_2.0.5.tgz";
+      path = fetchurl {
+        name = "command_line_usage___command_line_usage_2.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/command-line-usage/-/command-line-usage-2.0.5.tgz";
+        sha1 = "f80c35ca5e8624841923ea3be3b9bfbf4f7be27b";
+      };
+    }
+    {
+      name = "command_line_usage___command_line_usage_3.0.8.tgz";
+      path = fetchurl {
+        name = "command_line_usage___command_line_usage_3.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/command-line-usage/-/command-line-usage-3.0.8.tgz";
+        sha1 = "b6a20978c1b383477f5c11a529428b880bfe0f4d";
+      };
+    }
+    {
+      name = "commander___commander_2.20.3.tgz";
+      path = fetchurl {
+        name = "commander___commander_2.20.3.tgz";
+        url  = "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz";
+        sha1 = "fd485e84c03eb4881c20722ba48035e8531aeb33";
+      };
+    }
+    {
+      name = "common_sequence___common_sequence_1.0.2.tgz";
+      path = fetchurl {
+        name = "common_sequence___common_sequence_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/common-sequence/-/common-sequence-1.0.2.tgz";
+        sha1 = "30e07f3f8f6f7f9b3dee854f20b2d39eee086de8";
+      };
+    }
+    {
+      name = "commondir___commondir_1.0.1.tgz";
+      path = fetchurl {
+        name = "commondir___commondir_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz";
+        sha1 = "ddd800da0c66127393cca5950ea968a3aaf1253b";
+      };
+    }
+    {
+      name = "component_emitter___component_emitter_1.3.0.tgz";
+      path = fetchurl {
+        name = "component_emitter___component_emitter_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz";
+        sha1 = "16e4070fba8ae29b679f2215853ee181ab2eabc0";
+      };
+    }
+    {
+      name = "compress_commons___compress_commons_3.0.0.tgz";
+      path = fetchurl {
+        name = "compress_commons___compress_commons_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/compress-commons/-/compress-commons-3.0.0.tgz";
+        sha1 = "833944d84596e537224dd91cf92f5246823d4f1d";
+      };
+    }
+    {
+      name = "compress_commons___compress_commons_4.1.1.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 = "compressible___compressible_2.0.18.tgz";
+      path = fetchurl {
+        name = "compressible___compressible_2.0.18.tgz";
+        url  = "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz";
+        sha1 = "af53cca6b070d4c3c0750fbd77286a6d7cc46fba";
+      };
+    }
+    {
+      name = "compression___compression_1.7.4.tgz";
+      path = fetchurl {
+        name = "compression___compression_1.7.4.tgz";
+        url  = "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz";
+        sha1 = "95523eff170ca57c29a0ca41e6fe131f41e5bb8f";
+      };
+    }
+    {
+      name = "concat_map___concat_map_0.0.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "config_master___config_master_2.0.4.tgz";
+      path = fetchurl {
+        name = "config_master___config_master_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/config-master/-/config-master-2.0.4.tgz";
+        sha1 = "e749505c5d3f946f2fad3c76dfe71fca689751dc";
+      };
+    }
+    {
+      name = "content_disposition___content_disposition_0.5.3.tgz";
+      path = fetchurl {
+        name = "content_disposition___content_disposition_0.5.3.tgz";
+        url  = "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz";
+        sha1 = "e130caf7e7279087c5616c2007d0485698984fbd";
+      };
+    }
+    {
+      name = "content_type___content_type_1.0.4.tgz";
+      path = fetchurl {
+        name = "content_type___content_type_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz";
+        sha1 = "e138cc75e040c727b1966fe5e5f8c9aee256fe3b";
+      };
+    }
+    {
+      name = "convert_source_map___convert_source_map_1.8.0.tgz";
+      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 = "cookie_session___cookie_session_2.0.0_rc.1.tgz";
+      path = fetchurl {
+        name = "cookie_session___cookie_session_2.0.0_rc.1.tgz";
+        url  = "https://registry.yarnpkg.com/cookie-session/-/cookie-session-2.0.0-rc.1.tgz";
+        sha1 = "66fa03f26e5873d681d70f14bff5e48a94c53d37";
+      };
+    }
+    {
+      name = "cookie_signature___cookie_signature_1.0.6.tgz";
+      path = fetchurl {
+        name = "cookie_signature___cookie_signature_1.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz";
+        sha1 = "e303a882b342cc3ee8ca513a79999734dab3ae2c";
+      };
+    }
+    {
+      name = "cookie___cookie_0.4.0.tgz";
+      path = fetchurl {
+        name = "cookie___cookie_0.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz";
+        sha1 = "beb437e7022b3b6d49019d088665303ebe9c14ba";
+      };
+    }
+    {
+      name = "cookies___cookies_0.8.0.tgz";
+      path = fetchurl {
+        name = "cookies___cookies_0.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/cookies/-/cookies-0.8.0.tgz";
+        sha1 = "1293ce4b391740a8406e3c9870e828c4b54f3f90";
+      };
+    }
+    {
+      name = "copy_descriptor___copy_descriptor_0.1.1.tgz";
+      path = fetchurl {
+        name = "copy_descriptor___copy_descriptor_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz";
+        sha1 = "676f6eb3c39997c2ee1ac3a924fd6124748f578d";
+      };
+    }
+    {
+      name = "core_js___core_js_2.6.12.tgz";
+      path = fetchurl {
+        name = "core_js___core_js_2.6.12.tgz";
+        url  = "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz";
+        sha1 = "d9333dfa7b065e347cc5682219d6f690859cc2ec";
+      };
+    }
+    {
+      name = "core_util_is___core_util_is_1.0.2.tgz";
+      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";
+      };
+    }
+    {
+      name = "cp_file___cp_file_6.2.0.tgz";
+      path = fetchurl {
+        name = "cp_file___cp_file_6.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/cp-file/-/cp-file-6.2.0.tgz";
+        sha1 = "40d5ea4a1def2a9acdd07ba5c0b0246ef73dc10d";
+      };
+    }
+    {
+      name = "cpu_features___cpu_features_0.0.2.tgz";
+      path = fetchurl {
+        name = "cpu_features___cpu_features_0.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/cpu-features/-/cpu-features-0.0.2.tgz";
+        sha1 = "9f636156f1155fd04bdbaa028bb3c2fbef3cea7a";
+      };
+    }
+    {
+      name = "crc_32___crc_32_1.2.0.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_3.0.1.tgz";
+      path = fetchurl {
+        name = "crc32_stream___crc32_stream_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-3.0.1.tgz";
+        sha1 = "cae6eeed003b0e44d739d279de5ae63b171b4e85";
+      };
+    }
+    {
+      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 = "crc___crc_3.8.0.tgz";
+      path = fetchurl {
+        name = "crc___crc_3.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/crc/-/crc-3.8.0.tgz";
+        sha1 = "ad60269c2c856f8c299e2c4cc0de4556914056c6";
+      };
+    }
+    {
+      name = "create_hash___create_hash_1.2.0.tgz";
+      path = fetchurl {
+        name = "create_hash___create_hash_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz";
+        sha1 = "889078af11a63756bcfb59bd221996be3a9ef196";
+      };
+    }
+    {
+      name = "create_hmac___create_hmac_1.1.7.tgz";
+      path = fetchurl {
+        name = "create_hmac___create_hmac_1.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz";
+        sha1 = "69170c78b3ab957147b2b8b04572e47ead2243ff";
+      };
+    }
+    {
+      name = "cross_spawn___cross_spawn_4.0.2.tgz";
+      path = fetchurl {
+        name = "cross_spawn___cross_spawn_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-4.0.2.tgz";
+        sha1 = "7b9247621c23adfdd3856004a823cbe397424d41";
+      };
+    }
+    {
+      name = "crypt___crypt_0.0.2.tgz";
+      path = fetchurl {
+        name = "crypt___crypt_0.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz";
+        sha1 = "88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b";
+      };
+    }
+    {
+      name = "cssom___cssom_0.4.4.tgz";
+      path = fetchurl {
+        name = "cssom___cssom_0.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz";
+        sha1 = "5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10";
+      };
+    }
+    {
+      name = "cssom___cssom_0.3.8.tgz";
+      path = fetchurl {
+        name = "cssom___cssom_0.3.8.tgz";
+        url  = "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz";
+        sha1 = "9f1276f5b2b463f2114d3f2c75250af8c1a36f4a";
+      };
+    }
+    {
+      name = "cssstyle___cssstyle_2.3.0.tgz";
+      path = fetchurl {
+        name = "cssstyle___cssstyle_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz";
+        sha1 = "ff665a0ddbdc31864b09647f34163443d90b0852";
+      };
+    }
+    {
+      name = "dashdash___dashdash_1.14.1.tgz";
+      path = fetchurl {
+        name = "dashdash___dashdash_1.14.1.tgz";
+        url  = "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz";
+        sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0";
+      };
+    }
+    {
+      name = "data_urls___data_urls_2.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "dateformat___dateformat_3.0.3.tgz";
+      path = fetchurl {
+        name = "dateformat___dateformat_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz";
+        sha1 = "a6e37499a4d9a9cf85ef5872044d62901c9889ae";
+      };
+    }
+    {
+      name = "dayjs___dayjs_1.10.6.tgz";
+      path = fetchurl {
+        name = "dayjs___dayjs_1.10.6.tgz";
+        url  = "https://registry.yarnpkg.com/dayjs/-/dayjs-1.10.6.tgz";
+        sha1 = "288b2aa82f2d8418a6c9d4df5898c0737ad02a63";
+      };
+    }
+    {
+      name = "ddata___ddata_0.1.28.tgz";
+      path = fetchurl {
+        name = "ddata___ddata_0.1.28.tgz";
+        url  = "https://registry.yarnpkg.com/ddata/-/ddata-0.1.28.tgz";
+        sha1 = "53138fafa3f01749ea2451d12b6b6dd9df1d5b1f";
+      };
+    }
+    {
+      name = "debug___debug_2.6.9.tgz";
+      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_3.1.0.tgz";
+      path = fetchurl {
+        name = "debug___debug_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz";
+        sha1 = "5bb5a0672628b64149566ba16819e61518c67261";
+      };
+    }
+    {
+      name = "debug___debug_3.2.6.tgz";
+      path = fetchurl {
+        name = "debug___debug_3.2.6.tgz";
+        url  = "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz";
+        sha1 = "e83d17de16d8a7efb7717edbe5fb10135eee629b";
+      };
+    }
+    {
+      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";
+      };
+    }
+    {
+      name = "decamelize___decamelize_1.2.0.tgz";
+      path = fetchurl {
+        name = "decamelize___decamelize_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz";
+        sha1 = "f6534d15148269b20352e7bee26f501f9a191290";
+      };
+    }
+    {
+      name = "decimal.js___decimal.js_10.3.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "decode_uri_component___decode_uri_component_0.2.0.tgz";
+      path = fetchurl {
+        name = "decode_uri_component___decode_uri_component_0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz";
+        sha1 = "eb3913333458775cb84cd1a1fae062106bb87545";
+      };
+    }
+    {
+      name = "deep_extend___deep_extend_0.4.2.tgz";
+      path = fetchurl {
+        name = "deep_extend___deep_extend_0.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz";
+        sha1 = "48b699c27e334bf89f10892be432f6e4c7d34a7f";
+      };
+    }
+    {
+      name = "deep_is___deep_is_0.1.3.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 = "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";
+        sha1 = "44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955";
+      };
+    }
+    {
+      name = "default_require_extensions___default_require_extensions_2.0.0.tgz";
+      path = fetchurl {
+        name = "default_require_extensions___default_require_extensions_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-2.0.0.tgz";
+        sha1 = "f5f8fbb18a7d6d50b21f641f649ebb522cfe24f7";
+      };
+    }
+    {
+      name = "defer_promise___defer_promise_1.0.2.tgz";
+      path = fetchurl {
+        name = "defer_promise___defer_promise_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/defer-promise/-/defer-promise-1.0.2.tgz";
+        sha1 = "b79521c59cadadaed2d305385d30f8b05cbf9196";
+      };
+    }
+    {
+      name = "define_properties___define_properties_1.1.3.tgz";
+      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";
+      };
+    }
+    {
+      name = "define_property___define_property_0.2.5.tgz";
+      path = fetchurl {
+        name = "define_property___define_property_0.2.5.tgz";
+        url  = "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz";
+        sha1 = "c35b1ef918ec3c990f9a5bc57be04aacec5c8116";
+      };
+    }
+    {
+      name = "define_property___define_property_1.0.0.tgz";
+      path = fetchurl {
+        name = "define_property___define_property_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz";
+        sha1 = "769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6";
+      };
+    }
+    {
+      name = "define_property___define_property_2.0.2.tgz";
+      path = fetchurl {
+        name = "define_property___define_property_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz";
+        sha1 = "d459689e8d654ba77e02a817f8710d702cb16e9d";
+      };
+    }
+    {
+      name = "delayed_stream___delayed_stream_1.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "denque___denque_1.5.0.tgz";
+      path = fetchurl {
+        name = "denque___denque_1.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/denque/-/denque-1.5.0.tgz";
+        sha1 = "773de0686ff2d8ec2ff92914316a47b73b1c73de";
+      };
+    }
+    {
+      name = "depd___depd_1.1.2.tgz";
+      path = fetchurl {
+        name = "depd___depd_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz";
+        sha1 = "9bcd52e14c097763e749b274c4346ed2e560b5a9";
+      };
+    }
+    {
+      name = "depd___depd_2.0.0.tgz";
+      path = fetchurl {
+        name = "depd___depd_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz";
+        sha1 = "b696163cc757560d09cf22cc8fad1571b79e76df";
+      };
+    }
+    {
+      name = "destroy___destroy_1.0.4.tgz";
+      path = fetchurl {
+        name = "destroy___destroy_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz";
+        sha1 = "978857442c44749e4206613e37946205826abd80";
+      };
+    }
+    {
+      name = "detect_file___detect_file_1.0.0.tgz";
+      path = fetchurl {
+        name = "detect_file___detect_file_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz";
+        sha1 = "f0d66d03672a825cb1b73bdb3fe62310c8e552b7";
+      };
+    }
+    {
+      name = "detect_indent___detect_indent_4.0.0.tgz";
+      path = fetchurl {
+        name = "detect_indent___detect_indent_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz";
+        sha1 = "f76d064352cdf43a1cb6ce619c4ee3a9475de208";
+      };
+    }
+    {
+      name = "dir_cache___dir_cache_1.0.3.tgz";
+      path = fetchurl {
+        name = "dir_cache___dir_cache_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/dir_cache/-/dir_cache-1.0.3.tgz";
+        sha1 = "89b8ca92efdcdf552ef2e14d24c38114f9df554b";
+      };
+    }
+    {
+      name = "dmd___dmd_1.4.2.tgz";
+      path = fetchurl {
+        name = "dmd___dmd_1.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/dmd/-/dmd-1.4.2.tgz";
+        sha1 = "b1304b98a5700a6bfe5dcf91be657c981700a4bc";
+      };
+    }
+    {
+      name = "domexception___domexception_2.0.1.tgz";
+      path = fetchurl {
+        name = "domexception___domexception_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz";
+        sha1 = "fb44aefba793e1574b0af6aed2801d057529f304";
+      };
+    }
+    {
+      name = "dtrace_provider___dtrace_provider_0.8.8.tgz";
+      path = fetchurl {
+        name = "dtrace_provider___dtrace_provider_0.8.8.tgz";
+        url  = "https://registry.yarnpkg.com/dtrace-provider/-/dtrace-provider-0.8.8.tgz";
+        sha1 = "2996d5490c37e1347be263b423ed7b297fb0d97e";
+      };
+    }
+    {
+      name = "each_series___each_series_1.0.0.tgz";
+      path = fetchurl {
+        name = "each_series___each_series_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/each-series/-/each-series-1.0.0.tgz";
+        sha1 = "f886e6c66dfdb25ef1fe73564146ee5cb478afcb";
+      };
+    }
+    {
+      name = "ecc_jsbn___ecc_jsbn_0.1.2.tgz";
+      path = fetchurl {
+        name = "ecc_jsbn___ecc_jsbn_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz";
+        sha1 = "3a83a904e54353287874c564b7549386849a98c9";
+      };
+    }
+    {
+      name = "ecdsa_sig_formatter___ecdsa_sig_formatter_1.0.11.tgz";
+      path = fetchurl {
+        name = "ecdsa_sig_formatter___ecdsa_sig_formatter_1.0.11.tgz";
+        url  = "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz";
+        sha1 = "ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf";
+      };
+    }
+    {
+      name = "ee_first___ee_first_1.1.1.tgz";
+      path = fetchurl {
+        name = "ee_first___ee_first_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz";
+        sha1 = "590c61156b0ae2f4f0255732a158b266bc56b21d";
+      };
+    }
+    {
+      name = "emoji_regex___emoji_regex_7.0.3.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 = "encodeurl___encodeurl_1.0.2.tgz";
+      path = fetchurl {
+        name = "encodeurl___encodeurl_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz";
+        sha1 = "ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59";
+      };
+    }
+    {
+      name = "end_of_stream___end_of_stream_1.4.4.tgz";
+      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";
+      };
+    }
+    {
+      name = "error_ex___error_ex_1.3.2.tgz";
+      path = fetchurl {
+        name = "error_ex___error_ex_1.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz";
+        sha1 = "b4ac40648107fdcdcfae242f428bea8a14d4f1bf";
+      };
+    }
+    {
+      name = "es6_error___es6_error_4.1.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "escape_html___escape_html_1.0.3.tgz";
+      path = fetchurl {
+        name = "escape_html___escape_html_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz";
+        sha1 = "0258eae4d3d0c0974de1c169188ef0051d1d1988";
+      };
+    }
+    {
+      name = "escape_string_regexp___escape_string_regexp_1.0.5.tgz";
+      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";
+      };
+    }
+    {
+      name = "escodegen___escodegen_2.0.0.tgz";
+      path = fetchurl {
+        name = "escodegen___escodegen_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz";
+        sha1 = "5e32b12833e8aa8fa35e1bf0befa89380484c7dd";
+      };
+    }
+    {
+      name = "espree___espree_3.1.7.tgz";
+      path = fetchurl {
+        name = "espree___espree_3.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/espree/-/espree-3.1.7.tgz";
+        sha1 = "fd5deec76a97a5120a9cd3a7cb1177a0923b11d2";
+      };
+    }
+    {
+      name = "esprima___esprima_4.0.1.tgz";
+      path = fetchurl {
+        name = "esprima___esprima_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz";
+        sha1 = "13b04cdb3e6c5d19df91ab6987a8695619b0aa71";
+      };
+    }
+    {
+      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 = "esutils___esutils_2.0.3.tgz";
+      path = fetchurl {
+        name = "esutils___esutils_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz";
+        sha1 = "74d2eb4de0b8da1293711910d50775b9b710ef64";
+      };
+    }
+    {
+      name = "etag___etag_1.8.1.tgz";
+      path = fetchurl {
+        name = "etag___etag_1.8.1.tgz";
+        url  = "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz";
+        sha1 = "41ae2eeb65efa62268aebfea83ac7d79299b0887";
+      };
+    }
+    {
+      name = "event_target_shim___event_target_shim_5.0.1.tgz";
+      path = fetchurl {
+        name = "event_target_shim___event_target_shim_5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz";
+        sha1 = "5d4d3ebdf9583d63a5333ce2deb7480ab2b05789";
+      };
+    }
+    {
+      name = "eventemitter2___eventemitter2_0.4.14.tgz";
+      path = fetchurl {
+        name = "eventemitter2___eventemitter2_0.4.14.tgz";
+        url  = "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-0.4.14.tgz";
+        sha1 = "8f61b75cde012b2e9eb284d4545583b5643b61ab";
+      };
+    }
+    {
+      name = "events___events_3.3.0.tgz";
+      path = fetchurl {
+        name = "events___events_3.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz";
+        sha1 = "31a95ad0a924e2d2c419a813aeb2c4e878ea7400";
+      };
+    }
+    {
+      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";
+      };
+    }
+    {
+      name = "exit___exit_0.1.2.tgz";
+      path = fetchurl {
+        name = "exit___exit_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz";
+        sha1 = "0632638f8d877cc82107d30a0fff1a17cba1cd0c";
+      };
+    }
+    {
+      name = "expand_brackets___expand_brackets_0.1.5.tgz";
+      path = fetchurl {
+        name = "expand_brackets___expand_brackets_0.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz";
+        sha1 = "df07284e342a807cd733ac5af72411e581d1177b";
+      };
+    }
+    {
+      name = "expand_brackets___expand_brackets_2.1.4.tgz";
+      path = fetchurl {
+        name = "expand_brackets___expand_brackets_2.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz";
+        sha1 = "b77735e315ce30f6b6eff0f83b04151a22449622";
+      };
+    }
+    {
+      name = "expand_range___expand_range_1.8.2.tgz";
+      path = fetchurl {
+        name = "expand_range___expand_range_1.8.2.tgz";
+        url  = "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz";
+        sha1 = "a299effd335fe2721ebae8e257ec79644fc85337";
+      };
+    }
+    {
+      name = "expand_tilde___expand_tilde_2.0.2.tgz";
+      path = fetchurl {
+        name = "expand_tilde___expand_tilde_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz";
+        sha1 = "97e801aa052df02454de46b02bf621642cdc8502";
+      };
+    }
+    {
+      name = "express_handlebars___express_handlebars_3.1.0.tgz";
+      path = fetchurl {
+        name = "express_handlebars___express_handlebars_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/express-handlebars/-/express-handlebars-3.1.0.tgz";
+        sha1 = "c177ee9a81f6a2abada6b550b77b3e30c6bc0796";
+      };
+    }
+    {
+      name = "express_ws___express_ws_4.0.0.tgz";
+      path = fetchurl {
+        name = "express_ws___express_ws_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/express-ws/-/express-ws-4.0.0.tgz";
+        sha1 = "dabd8dc974516418902a41fe6e30ed949b4d36c4";
+      };
+    }
+    {
+      name = "express___express_4.17.1.tgz";
+      path = fetchurl {
+        name = "express___express_4.17.1.tgz";
+        url  = "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz";
+        sha1 = "4491fc38605cf51f8629d39c2b5d026f98a4c134";
+      };
+    }
+    {
+      name = "extend_shallow___extend_shallow_2.0.1.tgz";
+      path = fetchurl {
+        name = "extend_shallow___extend_shallow_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz";
+        sha1 = "51af7d614ad9a9f610ea1bafbb989d6b1c56890f";
+      };
+    }
+    {
+      name = "extend_shallow___extend_shallow_3.0.2.tgz";
+      path = fetchurl {
+        name = "extend_shallow___extend_shallow_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz";
+        sha1 = "26a71aaf073b39fb2127172746131c2704028db8";
+      };
+    }
+    {
+      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 = "extglob___extglob_0.3.2.tgz";
+      path = fetchurl {
+        name = "extglob___extglob_0.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz";
+        sha1 = "2e18ff3d2f49ab2765cec9023f011daa8d8349a1";
+      };
+    }
+    {
+      name = "extglob___extglob_2.0.4.tgz";
+      path = fetchurl {
+        name = "extglob___extglob_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz";
+        sha1 = "ad00fe4dc612a9232e8718711dc5cb5ab0285543";
+      };
+    }
+    {
+      name = "extsprintf___extsprintf_1.3.0.tgz";
+      path = fetchurl {
+        name = "extsprintf___extsprintf_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz";
+        sha1 = "96918440e3041a7a414f8c52e3c574eb3c3e1e05";
+      };
+    }
+    {
+      name = "extsprintf___extsprintf_1.4.0.tgz";
+      path = fetchurl {
+        name = "extsprintf___extsprintf_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz";
+        sha1 = "e2689f8f356fad62cca65a3a91c5df5f9551692f";
+      };
+    }
+    {
+      name = "fast_deep_equal___fast_deep_equal_3.1.3.tgz";
+      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";
+      };
+    }
+    {
+      name = "fast_json_stable_stringify___fast_json_stable_stringify_2.1.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "fast_levenshtein___fast_levenshtein_2.0.6.tgz";
+      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";
+      };
+    }
+    {
+      name = "fast_text_encoding___fast_text_encoding_1.0.3.tgz";
+      path = fetchurl {
+        name = "fast_text_encoding___fast_text_encoding_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/fast-text-encoding/-/fast-text-encoding-1.0.3.tgz";
+        sha1 = "ec02ac8e01ab8a319af182dae2681213cfe9ce53";
+      };
+    }
+    {
+      name = "fast_xml_parser___fast_xml_parser_3.19.0.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 = "fastfall___fastfall_1.5.1.tgz";
+      path = fetchurl {
+        name = "fastfall___fastfall_1.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/fastfall/-/fastfall-1.5.1.tgz";
+        sha1 = "3fee03331a49d1d39b3cdf7a5e9cd66f475e7b94";
+      };
+    }
+    {
+      name = "fastparallel___fastparallel_2.4.0.tgz";
+      path = fetchurl {
+        name = "fastparallel___fastparallel_2.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/fastparallel/-/fastparallel-2.4.0.tgz";
+        sha1 = "65fbec1a5e5902494be772cf5765cbaaece08688";
+      };
+    }
+    {
+      name = "fastseries___fastseries_1.7.2.tgz";
+      path = fetchurl {
+        name = "fastseries___fastseries_1.7.2.tgz";
+        url  = "https://registry.yarnpkg.com/fastseries/-/fastseries-1.7.2.tgz";
+        sha1 = "d22ce13b9433dff3388d91dbd6b8bda9b21a0f4b";
+      };
+    }
+    {
+      name = "fd_slicer___fd_slicer_1.1.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "feature_detect_es6___feature_detect_es6_1.5.0.tgz";
+      path = fetchurl {
+        name = "feature_detect_es6___feature_detect_es6_1.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/feature-detect-es6/-/feature-detect-es6-1.5.0.tgz";
+        sha1 = "a69bb7662c65f64f89f07eac5a461b649a1e0a00";
+      };
+    }
+    {
+      name = "file_set___file_set_1.1.2.tgz";
+      path = fetchurl {
+        name = "file_set___file_set_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/file-set/-/file-set-1.1.2.tgz";
+        sha1 = "08f700bb2c129d0e6bff90157b6556ce7c01e4f9";
+      };
+    }
+    {
+      name = "file_set___file_set_0.2.8.tgz";
+      path = fetchurl {
+        name = "file_set___file_set_0.2.8.tgz";
+        url  = "https://registry.yarnpkg.com/file-set/-/file-set-0.2.8.tgz";
+        sha1 = "73a6571e9cbe51ac5926c88bd567d111f836f178";
+      };
+    }
+    {
+      name = "file_uri_to_path___file_uri_to_path_1.0.0.tgz";
+      path = fetchurl {
+        name = "file_uri_to_path___file_uri_to_path_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz";
+        sha1 = "553a7b8446ff6f684359c445f1e37a05dacc33dd";
+      };
+    }
+    {
+      name = "filename_regex___filename_regex_2.0.1.tgz";
+      path = fetchurl {
+        name = "filename_regex___filename_regex_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz";
+        sha1 = "c1c4b9bee3e09725ddb106b75c1e301fe2f18b26";
+      };
+    }
+    {
+      name = "fill_range___fill_range_2.2.4.tgz";
+      path = fetchurl {
+        name = "fill_range___fill_range_2.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz";
+        sha1 = "eb1e773abb056dcd8df2bfdf6af59b8b3a936565";
+      };
+    }
+    {
+      name = "fill_range___fill_range_4.0.0.tgz";
+      path = fetchurl {
+        name = "fill_range___fill_range_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz";
+        sha1 = "d544811d428f98eb06a63dc402d2403c328c38f7";
+      };
+    }
+    {
+      name = "fill_range___fill_range_7.0.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "filter_where___filter_where_1.0.1.tgz";
+      path = fetchurl {
+        name = "filter_where___filter_where_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/filter-where/-/filter-where-1.0.1.tgz";
+        sha1 = "1b042569edce36bc1c4e9f73740d2c4e2feef77d";
+      };
+    }
+    {
+      name = "finalhandler___finalhandler_1.1.2.tgz";
+      path = fetchurl {
+        name = "finalhandler___finalhandler_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz";
+        sha1 = "b7e7d000ffd11938d0fdb053506f6ebabe9f587d";
+      };
+    }
+    {
+      name = "find_cache_dir___find_cache_dir_2.1.0.tgz";
+      path = fetchurl {
+        name = "find_cache_dir___find_cache_dir_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz";
+        sha1 = "8d0f94cd13fe43c6c7c261a0d86115ca918c05f7";
+      };
+    }
+    {
+      name = "find_replace___find_replace_1.0.3.tgz";
+      path = fetchurl {
+        name = "find_replace___find_replace_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/find-replace/-/find-replace-1.0.3.tgz";
+        sha1 = "b88e7364d2d9c959559f388c66670d6130441fa0";
+      };
+    }
+    {
+      name = "find_up___find_up_3.0.0.tgz";
+      path = fetchurl {
+        name = "find_up___find_up_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz";
+        sha1 = "49169f1d7993430646da61ecc5ae355c21c97b73";
+      };
+    }
+    {
+      name = "findup_sync___findup_sync_4.0.0.tgz";
+      path = fetchurl {
+        name = "findup_sync___findup_sync_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/findup-sync/-/findup-sync-4.0.0.tgz";
+        sha1 = "956c9cdde804052b881b428512905c4a5f2cdef0";
+      };
+    }
+    {
+      name = "findup_sync___findup_sync_0.3.0.tgz";
+      path = fetchurl {
+        name = "findup_sync___findup_sync_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/findup-sync/-/findup-sync-0.3.0.tgz";
+        sha1 = "37930aa5d816b777c03445e1966cc6790a4c0b16";
+      };
+    }
+    {
+      name = "fined___fined_1.2.0.tgz";
+      path = fetchurl {
+        name = "fined___fined_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/fined/-/fined-1.2.0.tgz";
+        sha1 = "d00beccf1aa2b475d16d423b0238b713a2c4a37b";
+      };
+    }
+    {
+      name = "flagged_respawn___flagged_respawn_1.0.1.tgz";
+      path = fetchurl {
+        name = "flagged_respawn___flagged_respawn_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-1.0.1.tgz";
+        sha1 = "e7de6f1279ddd9ca9aac8a5971d618606b3aab41";
+      };
+    }
+    {
+      name = "follow_redirects___follow_redirects_1.14.1.tgz";
+      path = fetchurl {
+        name = "follow_redirects___follow_redirects_1.14.1.tgz";
+        url  = "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.1.tgz";
+        sha1 = "d9114ded0a1cfdd334e164e6662ad02bfd91ff43";
+      };
+    }
+    {
+      name = "for_in___for_in_1.0.2.tgz";
+      path = fetchurl {
+        name = "for_in___for_in_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz";
+        sha1 = "81068d295a8142ec0ac726c6e2200c30fb6d5e80";
+      };
+    }
+    {
+      name = "for_own___for_own_0.1.5.tgz";
+      path = fetchurl {
+        name = "for_own___for_own_0.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz";
+        sha1 = "5265c681a4f294dabbf17c9509b6763aa84510ce";
+      };
+    }
+    {
+      name = "for_own___for_own_1.0.0.tgz";
+      path = fetchurl {
+        name = "for_own___for_own_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz";
+        sha1 = "c63332f415cedc4b04dbfe70cf836494c53cb44b";
+      };
+    }
+    {
+      name = "foreground_child___foreground_child_1.5.6.tgz";
+      path = fetchurl {
+        name = "foreground_child___foreground_child_1.5.6.tgz";
+        url  = "https://registry.yarnpkg.com/foreground-child/-/foreground-child-1.5.6.tgz";
+        sha1 = "4fd71ad2dfde96789b980a5c0a295937cb2f5ce9";
+      };
+    }
+    {
+      name = "forever_agent___forever_agent_0.6.1.tgz";
+      path = fetchurl {
+        name = "forever_agent___forever_agent_0.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz";
+        sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91";
+      };
+    }
+    {
+      name = "form_data___form_data_3.0.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "form_data___form_data_4.0.0.tgz";
+      path = fetchurl {
+        name = "form_data___form_data_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz";
+        sha1 = "93919daeaf361ee529584b9b31664dc12c9fa452";
+      };
+    }
+    {
+      name = "form_data___form_data_2.3.3.tgz";
+      path = fetchurl {
+        name = "form_data___form_data_2.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz";
+        sha1 = "dcce52c05f644f298c6a7ab936bd724ceffbf3a6";
+      };
+    }
+    {
+      name = "forwarded___forwarded_0.2.0.tgz";
+      path = fetchurl {
+        name = "forwarded___forwarded_0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz";
+        sha1 = "2269936428aad4c15c7ebe9779a84bf0b2a81811";
+      };
+    }
+    {
+      name = "fragment_cache___fragment_cache_0.2.1.tgz";
+      path = fetchurl {
+        name = "fragment_cache___fragment_cache_0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz";
+        sha1 = "4290fad27f13e89be7f33799c6bc5a0abfff0d19";
+      };
+    }
+    {
+      name = "fresh___fresh_0.5.2.tgz";
+      path = fetchurl {
+        name = "fresh___fresh_0.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz";
+        sha1 = "3d8cadd90d976569fa835ab1f8e4b23a105605a7";
+      };
+    }
+    {
+      name = "from2___from2_2.3.0.tgz";
+      path = fetchurl {
+        name = "from2___from2_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz";
+        sha1 = "8bfb5502bde4a4d36cfdeea007fcca21d7e382af";
+      };
+    }
+    {
+      name = "fs_constants___fs_constants_1.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 = "fs_readdir_recursive___fs_readdir_recursive_1.1.0.tgz";
+      path = fetchurl {
+        name = "fs_readdir_recursive___fs_readdir_recursive_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz";
+        sha1 = "e32fc030a2ccee44a6b5371308da54be0b397d27";
+      };
+    }
+    {
+      name = "fs_then_native___fs_then_native_1.0.2.tgz";
+      path = fetchurl {
+        name = "fs_then_native___fs_then_native_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/fs-then-native/-/fs-then-native-1.0.2.tgz";
+        sha1 = "ac8d3807c9f1bbd1279607fb228e0ab649bb41fe";
+      };
+    }
+    {
+      name = "fs.realpath___fs.realpath_1.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "fsevents___fsevents_1.2.13.tgz";
+      path = fetchurl {
+        name = "fsevents___fsevents_1.2.13.tgz";
+        url  = "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz";
+        sha1 = "f325cb0455592428bcf11b383370ef70e3bfcc38";
+      };
+    }
+    {
+      name = "function_bind___function_bind_1.1.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "gaxios___gaxios_4.3.0.tgz";
+      path = fetchurl {
+        name = "gaxios___gaxios_4.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/gaxios/-/gaxios-4.3.0.tgz";
+        sha1 = "ad4814d89061f85b97ef52aed888c5dbec32f774";
+      };
+    }
+    {
+      name = "gcp_metadata___gcp_metadata_4.3.0.tgz";
+      path = fetchurl {
+        name = "gcp_metadata___gcp_metadata_4.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/gcp-metadata/-/gcp-metadata-4.3.0.tgz";
+        sha1 = "0423d06becdbfb9cbb8762eaacf14d5324997900";
+      };
+    }
+    {
+      name = "get_caller_file___get_caller_file_2.0.5.tgz";
+      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";
+      };
+    }
+    {
+      name = "get_intrinsic___get_intrinsic_1.1.1.tgz";
+      path = fetchurl {
+        name = "get_intrinsic___get_intrinsic_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz";
+        sha1 = "15f59f376f855c446963948f0d24cd3637b4abc6";
+      };
+    }
+    {
+      name = "get_value___get_value_2.0.6.tgz";
+      path = fetchurl {
+        name = "get_value___get_value_2.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz";
+        sha1 = "dc15ca1c672387ca76bd37ac0a395ba2042a2c28";
+      };
+    }
+    {
+      name = "getobject___getobject_1.0.1.tgz";
+      path = fetchurl {
+        name = "getobject___getobject_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/getobject/-/getobject-1.0.1.tgz";
+        sha1 = "17d86a05913c15d173a5bcf8662dc7c7ac5ce147";
+      };
+    }
+    {
+      name = "getpass___getpass_0.1.7.tgz";
+      path = fetchurl {
+        name = "getpass___getpass_0.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz";
+        sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa";
+      };
+    }
+    {
+      name = "glob_base___glob_base_0.3.0.tgz";
+      path = fetchurl {
+        name = "glob_base___glob_base_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz";
+        sha1 = "dbb164f6221b1c0b1ccf82aea328b497df0ea3c4";
+      };
+    }
+    {
+      name = "glob_parent___glob_parent_2.0.0.tgz";
+      path = fetchurl {
+        name = "glob_parent___glob_parent_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz";
+        sha1 = "81383d72db054fcccf5336daa902f182f6edbb28";
+      };
+    }
+    {
+      name = "glob___glob_4.5.3.tgz";
+      path = fetchurl {
+        name = "glob___glob_4.5.3.tgz";
+        url  = "https://registry.yarnpkg.com/glob/-/glob-4.5.3.tgz";
+        sha1 = "c6cb73d3226c1efef04de3c56d012f03377ee15f";
+      };
+    }
+    {
+      name = "glob___glob_6.0.4.tgz";
+      path = fetchurl {
+        name = "glob___glob_6.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz";
+        sha1 = "0f08860f6a155127b2fadd4f9ce24b1aab6e4d22";
+      };
+    }
+    {
+      name = "glob___glob_7.1.7.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_5.0.15.tgz";
+      path = fetchurl {
+        name = "glob___glob_5.0.15.tgz";
+        url  = "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz";
+        sha1 = "1bc936b9e02f4a603fcc222ecf7633d30b8b93b1";
+      };
+    }
+    {
+      name = "global_modules___global_modules_1.0.0.tgz";
+      path = fetchurl {
+        name = "global_modules___global_modules_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz";
+        sha1 = "6d770f0eb523ac78164d72b5e71a8877265cc3ea";
+      };
+    }
+    {
+      name = "global_prefix___global_prefix_1.0.2.tgz";
+      path = fetchurl {
+        name = "global_prefix___global_prefix_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz";
+        sha1 = "dbf743c6c14992593c655568cb66ed32c0122ebe";
+      };
+    }
+    {
+      name = "globals___globals_11.12.0.tgz";
+      path = fetchurl {
+        name = "globals___globals_11.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz";
+        sha1 = "ab8795338868a0babd8525758018c2a7eb95c42e";
+      };
+    }
+    {
+      name = "globals___globals_9.18.0.tgz";
+      path = fetchurl {
+        name = "globals___globals_9.18.0.tgz";
+        url  = "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz";
+        sha1 = "aa3896b3e69b487f17e31ed2143d69a8e30c2d8a";
+      };
+    }
+    {
+      name = "google_auth_library___google_auth_library_7.5.0.tgz";
+      path = fetchurl {
+        name = "google_auth_library___google_auth_library_7.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-7.5.0.tgz";
+        sha1 = "6b0a623dfb4ee7a8d93a0d25455031d1baf86181";
+      };
+    }
+    {
+      name = "google_p12_pem___google_p12_pem_3.1.1.tgz";
+      path = fetchurl {
+        name = "google_p12_pem___google_p12_pem_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/google-p12-pem/-/google-p12-pem-3.1.1.tgz";
+        sha1 = "98fb717b722d12196a3e5b550c44517562269859";
+      };
+    }
+    {
+      name = "google_protobuf___google_protobuf_3.14.0.tgz";
+      path = fetchurl {
+        name = "google_protobuf___google_protobuf_3.14.0.tgz";
+        url  = "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.14.0.tgz";
+        sha1 = "20373d22046e63831a5110e11a84f713cc43651e";
+      };
+    }
+    {
+      name = "googleapis_common___googleapis_common_5.0.4.tgz";
+      path = fetchurl {
+        name = "googleapis_common___googleapis_common_5.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/googleapis-common/-/googleapis-common-5.0.4.tgz";
+        sha1 = "d47ba164dce40ff32f35319e56d1d67209ae25c3";
+      };
+    }
+    {
+      name = "googleapis___googleapis_83.0.0.tgz";
+      path = fetchurl {
+        name = "googleapis___googleapis_83.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/googleapis/-/googleapis-83.0.0.tgz";
+        sha1 = "045399fe8403d8516add6aa90802dda604fcfe20";
+      };
+    }
+    {
+      name = "graceful_fs___graceful_fs_4.2.8.tgz";
+      path = fetchurl {
+        name = "graceful_fs___graceful_fs_4.2.8.tgz";
+        url  = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz";
+        sha1 = "e412b8d33f5e006593cbd3cee6df9f2cebbe802a";
+      };
+    }
+    {
+      name = "grunt_cli___grunt_cli_1.4.3.tgz";
+      path = fetchurl {
+        name = "grunt_cli___grunt_cli_1.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/grunt-cli/-/grunt-cli-1.4.3.tgz";
+        sha1 = "22c9f1a3d2780bf9b0d206e832e40f8f499175ff";
+      };
+    }
+    {
+      name = "grunt_jsdoc_to_markdown___grunt_jsdoc_to_markdown_1.2.1.tgz";
+      path = fetchurl {
+        name = "grunt_jsdoc_to_markdown___grunt_jsdoc_to_markdown_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/grunt-jsdoc-to-markdown/-/grunt-jsdoc-to-markdown-1.2.1.tgz";
+        sha1 = "d253ac69b61c9575364a44d7db0513ab52f8dac9";
+      };
+    }
+    {
+      name = "grunt_known_options___grunt_known_options_2.0.0.tgz";
+      path = fetchurl {
+        name = "grunt_known_options___grunt_known_options_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/grunt-known-options/-/grunt-known-options-2.0.0.tgz";
+        sha1 = "cac641e897f9a0a680b8c9839803d35f3325103c";
+      };
+    }
+    {
+      name = "grunt_legacy_log_utils___grunt_legacy_log_utils_2.1.0.tgz";
+      path = fetchurl {
+        name = "grunt_legacy_log_utils___grunt_legacy_log_utils_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/grunt-legacy-log-utils/-/grunt-legacy-log-utils-2.1.0.tgz";
+        sha1 = "49a8c7dc74051476dcc116c32faf9db8646856ef";
+      };
+    }
+    {
+      name = "grunt_legacy_log___grunt_legacy_log_3.0.0.tgz";
+      path = fetchurl {
+        name = "grunt_legacy_log___grunt_legacy_log_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/grunt-legacy-log/-/grunt-legacy-log-3.0.0.tgz";
+        sha1 = "1c6eaf92371ea415af31ea84ce50d434ef6d39c4";
+      };
+    }
+    {
+      name = "grunt_legacy_util___grunt_legacy_util_2.0.1.tgz";
+      path = fetchurl {
+        name = "grunt_legacy_util___grunt_legacy_util_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/grunt-legacy-util/-/grunt-legacy-util-2.0.1.tgz";
+        sha1 = "0f929d13a2faf9988c9917c82bff609e2d9ba255";
+      };
+    }
+    {
+      name = "grunt___grunt_1.4.1.tgz";
+      path = fetchurl {
+        name = "grunt___grunt_1.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/grunt/-/grunt-1.4.1.tgz";
+        sha1 = "7d1e17db1f9c8108777f7273d6b9359755576f50";
+      };
+    }
+    {
+      name = "gtoken___gtoken_5.3.0.tgz";
+      path = fetchurl {
+        name = "gtoken___gtoken_5.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/gtoken/-/gtoken-5.3.0.tgz";
+        sha1 = "6536eb2880d9829f0b9d78f756795d4d9064b217";
+      };
+    }
+    {
+      name = "handlebars_array___handlebars_array_0.2.1.tgz";
+      path = fetchurl {
+        name = "handlebars_array___handlebars_array_0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/handlebars-array/-/handlebars-array-0.2.1.tgz";
+        sha1 = "dd58395a5261d661988e8d77520ebbfaadc6bd24";
+      };
+    }
+    {
+      name = "handlebars_comparison___handlebars_comparison_2.0.1.tgz";
+      path = fetchurl {
+        name = "handlebars_comparison___handlebars_comparison_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/handlebars-comparison/-/handlebars-comparison-2.0.1.tgz";
+        sha1 = "b17b95d2c298578e4aead38f5fac46e8f6005855";
+      };
+    }
+    {
+      name = "handlebars_json___handlebars_json_1.0.1.tgz";
+      path = fetchurl {
+        name = "handlebars_json___handlebars_json_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/handlebars-json/-/handlebars-json-1.0.1.tgz";
+        sha1 = "2ef87bb782551cd645bb4691b824e9653ec02504";
+      };
+    }
+    {
+      name = "handlebars_regexp___handlebars_regexp_1.0.1.tgz";
+      path = fetchurl {
+        name = "handlebars_regexp___handlebars_regexp_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/handlebars-regexp/-/handlebars-regexp-1.0.1.tgz";
+        sha1 = "5f47f067260e9ba8e52f1a280917f70de39f11e4";
+      };
+    }
+    {
+      name = "handlebars_string___handlebars_string_2.0.2.tgz";
+      path = fetchurl {
+        name = "handlebars_string___handlebars_string_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/handlebars-string/-/handlebars-string-2.0.2.tgz";
+        sha1 = "b9f92208a979cfcf51ff4a90defa183dc62942ca";
+      };
+    }
+    {
+      name = "handlebars___handlebars_3.0.8.tgz";
+      path = fetchurl {
+        name = "handlebars___handlebars_3.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/handlebars/-/handlebars-3.0.8.tgz";
+        sha1 = "4e6ce3650fe6c53c151d106dcff1c5a7ca79e164";
+      };
+    }
+    {
+      name = "handlebars___handlebars_4.7.7.tgz";
+      path = fetchurl {
+        name = "handlebars___handlebars_4.7.7.tgz";
+        url  = "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz";
+        sha1 = "9ce33416aad02dbd6c8fafa8240d5d98004945a1";
+      };
+    }
+    {
+      name = "har_schema___har_schema_2.0.0.tgz";
+      path = fetchurl {
+        name = "har_schema___har_schema_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz";
+        sha1 = "a94c2224ebcac04782a0d9035521f24735b7ec92";
+      };
+    }
+    {
+      name = "har_validator___har_validator_5.1.5.tgz";
+      path = fetchurl {
+        name = "har_validator___har_validator_5.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz";
+        sha1 = "1f0803b9f8cb20c0fa13822df1ecddb36bde1efd";
+      };
+    }
+    {
+      name = "has_ansi___has_ansi_2.0.0.tgz";
+      path = fetchurl {
+        name = "has_ansi___has_ansi_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz";
+        sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91";
+      };
+    }
+    {
+      name = "has_flag___has_flag_3.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "has_flag___has_flag_4.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "has_symbols___has_symbols_1.0.2.tgz";
+      path = fetchurl {
+        name = "has_symbols___has_symbols_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz";
+        sha1 = "165d3070c00309752a1236a479331e3ac56f1423";
+      };
+    }
+    {
+      name = "has_value___has_value_0.3.1.tgz";
+      path = fetchurl {
+        name = "has_value___has_value_0.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz";
+        sha1 = "7b1f58bada62ca827ec0a2078025654845995e1f";
+      };
+    }
+    {
+      name = "has_value___has_value_1.0.0.tgz";
+      path = fetchurl {
+        name = "has_value___has_value_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz";
+        sha1 = "18b281da585b1c5c51def24c930ed29a0be6b177";
+      };
+    }
+    {
+      name = "has_values___has_values_0.1.4.tgz";
+      path = fetchurl {
+        name = "has_values___has_values_0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz";
+        sha1 = "6d61de95d91dfca9b9a02089ad384bff8f62b771";
+      };
+    }
+    {
+      name = "has_values___has_values_1.0.0.tgz";
+      path = fetchurl {
+        name = "has_values___has_values_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz";
+        sha1 = "95b0b63fec2146619a6fe57fe75628d5a39efe4f";
+      };
+    }
+    {
+      name = "has___has_1.0.3.tgz";
+      path = fetchurl {
+        name = "has___has_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz";
+        sha1 = "722d7cbfc1f6aa8241f16dd814e011e1f41e8796";
+      };
+    }
+    {
+      name = "hash_base___hash_base_3.1.0.tgz";
+      path = fetchurl {
+        name = "hash_base___hash_base_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz";
+        sha1 = "55c381d9e06e1d2997a883b4a3fddfe7f0d3af33";
+      };
+    }
+    {
+      name = "hasha___hasha_3.0.0.tgz";
+      path = fetchurl {
+        name = "hasha___hasha_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/hasha/-/hasha-3.0.0.tgz";
+        sha1 = "52a32fab8569d41ca69a61ff1a214f8eb7c8bd39";
+      };
+    }
+    {
+      name = "he___he_1.2.0.tgz";
+      path = fetchurl {
+        name = "he___he_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz";
+        sha1 = "84ae65fa7eafb165fddb61566ae14baf05664f0f";
+      };
+    }
+    {
+      name = "heapdump___heapdump_0.3.15.tgz";
+      path = fetchurl {
+        name = "heapdump___heapdump_0.3.15.tgz";
+        url  = "https://registry.yarnpkg.com/heapdump/-/heapdump-0.3.15.tgz";
+        sha1 = "631a8a2585588ea64778d8ec80a64c6c025f6a08";
+      };
+    }
+    {
+      name = "home_or_tmp___home_or_tmp_2.0.0.tgz";
+      path = fetchurl {
+        name = "home_or_tmp___home_or_tmp_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz";
+        sha1 = "e36c3f2d2cae7d746a857e38d18d5f32a7882db8";
+      };
+    }
+    {
+      name = "home_path___home_path_1.0.7.tgz";
+      path = fetchurl {
+        name = "home_path___home_path_1.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/home-path/-/home-path-1.0.7.tgz";
+        sha1 = "cf77d7339ff3ddc3347a23c52612b1f5e7e56313";
+      };
+    }
+    {
+      name = "homedir_polyfill___homedir_polyfill_1.0.3.tgz";
+      path = fetchurl {
+        name = "homedir_polyfill___homedir_polyfill_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz";
+        sha1 = "743298cef4e5af3e194161fbadcc2151d3a058e8";
+      };
+    }
+    {
+      name = "hooker___hooker_0.2.3.tgz";
+      path = fetchurl {
+        name = "hooker___hooker_0.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/hooker/-/hooker-0.2.3.tgz";
+        sha1 = "b834f723cc4a242aa65963459df6d984c5d3d959";
+      };
+    }
+    {
+      name = "hosted_git_info___hosted_git_info_2.8.9.tgz";
+      path = fetchurl {
+        name = "hosted_git_info___hosted_git_info_2.8.9.tgz";
+        url  = "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz";
+        sha1 = "dffc0bf9a21c02209090f2aa69429e1414daf3f9";
+      };
+    }
+    {
+      name = "hot_patcher___hot_patcher_0.5.0.tgz";
+      path = fetchurl {
+        name = "hot_patcher___hot_patcher_0.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/hot-patcher/-/hot-patcher-0.5.0.tgz";
+        sha1 = "9d401424585aaf3a91646b816ceff40eb6a916b9";
+      };
+    }
+    {
+      name = "html_encoding_sniffer___html_encoding_sniffer_2.0.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "html_escaper___html_escaper_2.0.2.tgz";
+      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";
+      };
+    }
+    {
+      name = "html_minifier___html_minifier_4.0.0.tgz";
+      path = fetchurl {
+        name = "html_minifier___html_minifier_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/html-minifier/-/html-minifier-4.0.0.tgz";
+        sha1 = "cca9aad8bce1175e02e17a8c33e46d8988889f56";
+      };
+    }
+    {
+      name = "http_errors___http_errors_1.7.2.tgz";
+      path = fetchurl {
+        name = "http_errors___http_errors_1.7.2.tgz";
+        url  = "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz";
+        sha1 = "4f5029cf13239f31036e5b2e55292bcfbcc85c8f";
+      };
+    }
+    {
+      name = "http_errors___http_errors_1.7.3.tgz";
+      path = fetchurl {
+        name = "http_errors___http_errors_1.7.3.tgz";
+        url  = "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz";
+        sha1 = "6c619e4f9c60308c38519498c14fbb10aacebb06";
+      };
+    }
+    {
+      name = "http_errors___http_errors_1.8.0.tgz";
+      path = fetchurl {
+        name = "http_errors___http_errors_1.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.0.tgz";
+        sha1 = "75d1bbe497e1044f51e4ee9e704a62f28d336507";
+      };
+    }
+    {
+      name = "http_proxy_agent___http_proxy_agent_4.0.1.tgz";
+      path = fetchurl {
+        name = "http_proxy_agent___http_proxy_agent_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz";
+        sha1 = "8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a";
+      };
+    }
+    {
+      name = "http_signature___http_signature_1.2.0.tgz";
+      path = fetchurl {
+        name = "http_signature___http_signature_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz";
+        sha1 = "9aecd925114772f3d95b65a60abb8f7c18fbace1";
+      };
+    }
+    {
+      name = "http_ece___http_ece_1.1.0.tgz";
+      path = fetchurl {
+        name = "http_ece___http_ece_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/http_ece/-/http_ece-1.1.0.tgz";
+        sha1 = "74780c6eb32d8ddfe9e36a83abcd81fe0cd4fb75";
+      };
+    }
+    {
+      name = "https_proxy_agent___https_proxy_agent_5.0.0.tgz";
+      path = fetchurl {
+        name = "https_proxy_agent___https_proxy_agent_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz";
+        sha1 = "e2a90542abb68a762e0a0850f6c9edadfd8506b2";
+      };
+    }
+    {
+      name = "https___https_1.0.0.tgz";
+      path = fetchurl {
+        name = "https___https_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/https/-/https-1.0.0.tgz";
+        sha1 = "3c37c7ae1a8eeb966904a2ad1e975a194b7ed3a4";
+      };
+    }
+    {
+      name = "iconv_lite___iconv_lite_0.4.24.tgz";
+      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";
+      };
+    }
+    {
+      name = "iconv_lite___iconv_lite_0.6.3.tgz";
+      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";
+      };
+    }
+    {
+      name = "ieee754___ieee754_1.2.1.tgz";
+      path = fetchurl {
+        name = "ieee754___ieee754_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz";
+        sha1 = "8eb7a10a63fff25d15a57b001586d177d1b0d352";
+      };
+    }
+    {
+      name = "image_size___image_size_1.0.0.tgz";
+      path = fetchurl {
+        name = "image_size___image_size_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/image-size/-/image-size-1.0.0.tgz";
+        sha1 = "58b31fe4743b1cec0a0ac26f5c914d3c5b2f0750";
+      };
+    }
+    {
+      name = "immediate___immediate_3.0.6.tgz";
+      path = fetchurl {
+        name = "immediate___immediate_3.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz";
+        sha1 = "9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b";
+      };
+    }
+    {
+      name = "imurmurhash___imurmurhash_0.1.4.tgz";
+      path = fetchurl {
+        name = "imurmurhash___imurmurhash_0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz";
+        sha1 = "9218b9b2b928a238b13dc4fb6b6d576f231453ea";
+      };
+    }
+    {
+      name = "inflight___inflight_1.0.6.tgz";
+      path = fetchurl {
+        name = "inflight___inflight_1.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz";
+        sha1 = "49bd6331d7d02d0c09bc910a1075ba8165b56df9";
+      };
+    }
+    {
+      name = "inherits___inherits_2.0.4.tgz";
+      path = fetchurl {
+        name = "inherits___inherits_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz";
+        sha1 = "0fa2c64f932917c3433a0ded55363aae37416b7c";
+      };
+    }
+    {
+      name = "inherits___inherits_2.0.3.tgz";
+      path = fetchurl {
+        name = "inherits___inherits_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz";
+        sha1 = "633c2c83e3da42a502f52466022480f4208261de";
+      };
+    }
+    {
+      name = "ini___ini_1.3.8.tgz";
+      path = fetchurl {
+        name = "ini___ini_1.3.8.tgz";
+        url  = "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz";
+        sha1 = "a29da425b48806f34767a4efce397269af28432c";
+      };
+    }
+    {
+      name = "interpret___interpret_1.1.0.tgz";
+      path = fetchurl {
+        name = "interpret___interpret_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/interpret/-/interpret-1.1.0.tgz";
+        sha1 = "7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614";
+      };
+    }
+    {
+      name = "invariant___invariant_2.2.4.tgz";
+      path = fetchurl {
+        name = "invariant___invariant_2.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz";
+        sha1 = "610f3c92c9359ce1db616e538008d23ff35158e6";
+      };
+    }
+    {
+      name = "ipaddr.js___ipaddr.js_1.9.1.tgz";
+      path = fetchurl {
+        name = "ipaddr.js___ipaddr.js_1.9.1.tgz";
+        url  = "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz";
+        sha1 = "bff38543eeb8984825079ff3a2a8e6cbd46781b3";
+      };
+    }
+    {
+      name = "ipcheck___ipcheck_0.1.0.tgz";
+      path = fetchurl {
+        name = "ipcheck___ipcheck_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/ipcheck/-/ipcheck-0.1.0.tgz";
+        sha1 = "a6f942228910010f1688117b7a774b39c5222f81";
+      };
+    }
+    {
+      name = "is_absolute___is_absolute_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_absolute___is_absolute_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz";
+        sha1 = "395e1ae84b11f26ad1795e73c17378e48a301576";
+      };
+    }
+    {
+      name = "is_accessor_descriptor___is_accessor_descriptor_0.1.6.tgz";
+      path = fetchurl {
+        name = "is_accessor_descriptor___is_accessor_descriptor_0.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz";
+        sha1 = "a9e12cb3ae8d876727eeef3843f8a0897b5c98d6";
+      };
+    }
+    {
+      name = "is_accessor_descriptor___is_accessor_descriptor_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_accessor_descriptor___is_accessor_descriptor_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz";
+        sha1 = "169c2f6d3df1f992618072365c9b0ea1f6878656";
+      };
+    }
+    {
+      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 = "77c99840527aa8ecb1a8ba697b80645a7a926a9d";
+      };
+    }
+    {
+      name = "is_binary_path___is_binary_path_1.0.1.tgz";
+      path = fetchurl {
+        name = "is_binary_path___is_binary_path_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz";
+        sha1 = "75f16642b480f187a711c814161fd3a4a7655898";
+      };
+    }
+    {
+      name = "is_buffer___is_buffer_1.1.6.tgz";
+      path = fetchurl {
+        name = "is_buffer___is_buffer_1.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz";
+        sha1 = "efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be";
+      };
+    }
+    {
+      name = "is_core_module___is_core_module_2.5.0.tgz";
+      path = fetchurl {
+        name = "is_core_module___is_core_module_2.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.5.0.tgz";
+        sha1 = "f754843617c70bfd29b7bd87327400cda5c18491";
+      };
+    }
+    {
+      name = "is_data_descriptor___is_data_descriptor_0.1.4.tgz";
+      path = fetchurl {
+        name = "is_data_descriptor___is_data_descriptor_0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz";
+        sha1 = "0b5ee648388e2c860282e793f1856fec3f301b56";
+      };
+    }
+    {
+      name = "is_data_descriptor___is_data_descriptor_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_data_descriptor___is_data_descriptor_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz";
+        sha1 = "d84876321d0e7add03990406abbbbd36ba9268c7";
+      };
+    }
+    {
+      name = "is_descriptor___is_descriptor_0.1.6.tgz";
+      path = fetchurl {
+        name = "is_descriptor___is_descriptor_0.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz";
+        sha1 = "366d8240dde487ca51823b1ab9f07a10a78251ca";
+      };
+    }
+    {
+      name = "is_descriptor___is_descriptor_1.0.2.tgz";
+      path = fetchurl {
+        name = "is_descriptor___is_descriptor_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz";
+        sha1 = "3b159746a66604b04f8c81524ba365c5f14d86ec";
+      };
+    }
+    {
+      name = "is_dotfile___is_dotfile_1.0.3.tgz";
+      path = fetchurl {
+        name = "is_dotfile___is_dotfile_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz";
+        sha1 = "a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1";
+      };
+    }
+    {
+      name = "is_equal_shallow___is_equal_shallow_0.1.3.tgz";
+      path = fetchurl {
+        name = "is_equal_shallow___is_equal_shallow_0.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz";
+        sha1 = "2238098fc221de0bcfa5d9eac4c45d638aa1c534";
+      };
+    }
+    {
+      name = "is_extendable___is_extendable_0.1.1.tgz";
+      path = fetchurl {
+        name = "is_extendable___is_extendable_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz";
+        sha1 = "62b110e289a471418e3ec36a617d472e301dfc89";
+      };
+    }
+    {
+      name = "is_extendable___is_extendable_1.0.1.tgz";
+      path = fetchurl {
+        name = "is_extendable___is_extendable_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz";
+        sha1 = "a7470f9e426733d81bd81e1155264e3a3507cab4";
+      };
+    }
+    {
+      name = "is_extglob___is_extglob_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_extglob___is_extglob_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz";
+        sha1 = "ac468177c4943405a092fc8f29760c6ffc6206c0";
+      };
+    }
+    {
+      name = "is_extglob___is_extglob_2.1.1.tgz";
+      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_finite___is_finite_1.1.0.tgz";
+      path = fetchurl {
+        name = "is_finite___is_finite_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-finite/-/is-finite-1.1.0.tgz";
+        sha1 = "904135c77fb42c0641d6aa1bcdbc4daa8da082f3";
+      };
+    }
+    {
+      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";
+      };
+    }
+    {
+      name = "is_glob___is_glob_2.0.1.tgz";
+      path = fetchurl {
+        name = "is_glob___is_glob_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz";
+        sha1 = "d096f926a3ded5600f3fdfd91198cb0888c2d863";
+      };
+    }
+    {
+      name = "is_glob___is_glob_4.0.1.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_number___is_number_2.1.0.tgz";
+      path = fetchurl {
+        name = "is_number___is_number_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz";
+        sha1 = "01fcbbb393463a548f2f466cce16dece49db908f";
+      };
+    }
+    {
+      name = "is_number___is_number_3.0.0.tgz";
+      path = fetchurl {
+        name = "is_number___is_number_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz";
+        sha1 = "24fd6201a4782cf50561c810276afc7d12d71195";
+      };
+    }
+    {
+      name = "is_number___is_number_4.0.0.tgz";
+      path = fetchurl {
+        name = "is_number___is_number_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz";
+        sha1 = "0026e37f5454d73e356dfe6564699867c6a7f0ff";
+      };
+    }
+    {
+      name = "is_number___is_number_7.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "is_plain_object___is_plain_object_2.0.4.tgz";
+      path = fetchurl {
+        name = "is_plain_object___is_plain_object_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz";
+        sha1 = "2c163b3fafb1b606d9d17928f05c2a1c38e07677";
+      };
+    }
+    {
+      name = "is_posix_bracket___is_posix_bracket_0.1.1.tgz";
+      path = fetchurl {
+        name = "is_posix_bracket___is_posix_bracket_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz";
+        sha1 = "3334dc79774368e92f016e6fbc0a88f5cd6e6bc4";
+      };
+    }
+    {
+      name = "is_potential_custom_element_name___is_potential_custom_element_name_1.0.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "is_primitive___is_primitive_2.0.0.tgz";
+      path = fetchurl {
+        name = "is_primitive___is_primitive_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz";
+        sha1 = "207bab91638499c07b2adf240a41a87210034575";
+      };
+    }
+    {
+      name = "is_relative___is_relative_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_relative___is_relative_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz";
+        sha1 = "a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d";
+      };
+    }
+    {
+      name = "is_stream___is_stream_1.1.0.tgz";
+      path = fetchurl {
+        name = "is_stream___is_stream_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz";
+        sha1 = "12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44";
+      };
+    }
+    {
+      name = "is_stream___is_stream_2.0.1.tgz";
+      path = fetchurl {
+        name = "is_stream___is_stream_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz";
+        sha1 = "fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077";
+      };
+    }
+    {
+      name = "is_typedarray___is_typedarray_1.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "is_unc_path___is_unc_path_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_unc_path___is_unc_path_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz";
+        sha1 = "d731e8898ed090a12c352ad2eaed5095ad322c9d";
+      };
+    }
+    {
+      name = "is_windows___is_windows_1.0.2.tgz";
+      path = fetchurl {
+        name = "is_windows___is_windows_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz";
+        sha1 = "d1850eb9791ecd18e6182ce12a30f396634bb19d";
+      };
+    }
+    {
+      name = "isarray___isarray_1.0.0.tgz";
+      path = fetchurl {
+        name = "isarray___isarray_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz";
+        sha1 = "bb935d48582cba168c06834957a54a3e07124f11";
+      };
+    }
+    {
+      name = "isexe___isexe_2.0.0.tgz";
+      path = fetchurl {
+        name = "isexe___isexe_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz";
+        sha1 = "e8fbf374dc556ff8947a10dcb0572d633f2cfa10";
+      };
+    }
+    {
+      name = "isobject___isobject_2.1.0.tgz";
+      path = fetchurl {
+        name = "isobject___isobject_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz";
+        sha1 = "f065561096a3f1da2ef46272f815c840d87e0c89";
+      };
+    }
+    {
+      name = "isobject___isobject_3.0.1.tgz";
+      path = fetchurl {
+        name = "isobject___isobject_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz";
+        sha1 = "4e431e92b11a9731636aa1f9c8d1ccbcfdab78df";
+      };
+    }
+    {
+      name = "isstream___isstream_0.1.2.tgz";
+      path = fetchurl {
+        name = "isstream___isstream_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz";
+        sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a";
+      };
+    }
+    {
+      name = "istanbul_lib_coverage___istanbul_lib_coverage_2.0.5.tgz";
+      path = fetchurl {
+        name = "istanbul_lib_coverage___istanbul_lib_coverage_2.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz";
+        sha1 = "675f0ab69503fad4b1d849f736baaca803344f49";
+      };
+    }
+    {
+      name = "istanbul_lib_hook___istanbul_lib_hook_2.0.7.tgz";
+      path = fetchurl {
+        name = "istanbul_lib_hook___istanbul_lib_hook_2.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz";
+        sha1 = "c95695f383d4f8f60df1f04252a9550e15b5b133";
+      };
+    }
+    {
+      name = "istanbul_lib_instrument___istanbul_lib_instrument_3.3.0.tgz";
+      path = fetchurl {
+        name = "istanbul_lib_instrument___istanbul_lib_instrument_3.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz";
+        sha1 = "a5f63d91f0bbc0c3e479ef4c5de027335ec6d630";
+      };
+    }
+    {
+      name = "istanbul_lib_report___istanbul_lib_report_2.0.8.tgz";
+      path = fetchurl {
+        name = "istanbul_lib_report___istanbul_lib_report_2.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz";
+        sha1 = "5a8113cd746d43c4889eba36ab10e7d50c9b4f33";
+      };
+    }
+    {
+      name = "istanbul_lib_source_maps___istanbul_lib_source_maps_3.0.6.tgz";
+      path = fetchurl {
+        name = "istanbul_lib_source_maps___istanbul_lib_source_maps_3.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz";
+        sha1 = "284997c48211752ec486253da97e3879defba8c8";
+      };
+    }
+    {
+      name = "istanbul_reports___istanbul_reports_2.2.7.tgz";
+      path = fetchurl {
+        name = "istanbul_reports___istanbul_reports_2.2.7.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.2.7.tgz";
+        sha1 = "5d939f6237d7b48393cc0959eab40cd4fd056931";
+      };
+    }
+    {
+      name = "js_tokens___js_tokens_4.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "js_tokens___js_tokens_3.0.2.tgz";
+      path = fetchurl {
+        name = "js_tokens___js_tokens_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz";
+        sha1 = "9866df395102130e38f7f996bceb65443209c25b";
+      };
+    }
+    {
+      name = "js_yaml___js_yaml_3.14.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "js2xmlparser___js2xmlparser_1.0.0.tgz";
+      path = fetchurl {
+        name = "js2xmlparser___js2xmlparser_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/js2xmlparser/-/js2xmlparser-1.0.0.tgz";
+        sha1 = "5a170f2e8d6476ce45405e04823242513782fe30";
+      };
+    }
+    {
+      name = "jsbn___jsbn_0.1.1.tgz";
+      path = fetchurl {
+        name = "jsbn___jsbn_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz";
+        sha1 = "a5e654c2e5a2deb5f201d96cefbca80c0ef2f513";
+      };
+    }
+    {
+      name = "jsdoc_75lb___jsdoc_75lb_3.6.0.tgz";
+      path = fetchurl {
+        name = "jsdoc_75lb___jsdoc_75lb_3.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/jsdoc-75lb/-/jsdoc-75lb-3.6.0.tgz";
+        sha1 = "a807119528b4009ccbcab49b7522f63fec6cd0bd";
+      };
+    }
+    {
+      name = "jsdoc_api___jsdoc_api_1.2.4.tgz";
+      path = fetchurl {
+        name = "jsdoc_api___jsdoc_api_1.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/jsdoc-api/-/jsdoc-api-1.2.4.tgz";
+        sha1 = "5012235927bfad1e27bc88d07b0ddddb2d3a8a59";
+      };
+    }
+    {
+      name = "jsdoc_parse___jsdoc_parse_1.2.7.tgz";
+      path = fetchurl {
+        name = "jsdoc_parse___jsdoc_parse_1.2.7.tgz";
+        url  = "https://registry.yarnpkg.com/jsdoc-parse/-/jsdoc-parse-1.2.7.tgz";
+        sha1 = "54b7481b3cd6bcb7c173dc4fa69ee92735ea2525";
+      };
+    }
+    {
+      name = "jsdoc_to_markdown___jsdoc_to_markdown_1.3.9.tgz";
+      path = fetchurl {
+        name = "jsdoc_to_markdown___jsdoc_to_markdown_1.3.9.tgz";
+        url  = "https://registry.yarnpkg.com/jsdoc-to-markdown/-/jsdoc-to-markdown-1.3.9.tgz";
+        sha1 = "774c0ece0ebd0bcc3261b2c9a2aa8d1399a61472";
+      };
+    }
+    {
+      name = "jsdoc2md_stats___jsdoc2md_stats_1.0.6.tgz";
+      path = fetchurl {
+        name = "jsdoc2md_stats___jsdoc2md_stats_1.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jsdoc2md-stats/-/jsdoc2md-stats-1.0.6.tgz";
+        sha1 = "dc0e002aebbd0fbae5123534f92732afbc651fbf";
+      };
+    }
+    {
+      name = "jsdom___jsdom_16.7.0.tgz";
+      path = fetchurl {
+        name = "jsdom___jsdom_16.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz";
+        sha1 = "918ae71965424b197c819f8183a754e18977b710";
+      };
+    }
+    {
+      name = "jsesc___jsesc_1.3.0.tgz";
+      path = fetchurl {
+        name = "jsesc___jsesc_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz";
+        sha1 = "46c3fec8c1892b12b0833db9bc7622176dbab34b";
+      };
+    }
+    {
+      name = "jsesc___jsesc_2.5.2.tgz";
+      path = fetchurl {
+        name = "jsesc___jsesc_2.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz";
+        sha1 = "80564d2e483dacf6e8ef209650a67df3f0c283a4";
+      };
+    }
+    {
+      name = "jsesc___jsesc_0.5.0.tgz";
+      path = fetchurl {
+        name = "jsesc___jsesc_0.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz";
+        sha1 = "e7dee66e35d6fc16f710fe91d5cf69f70f08911d";
+      };
+    }
+    {
+      name = "json_bigint___json_bigint_1.0.0.tgz";
+      path = fetchurl {
+        name = "json_bigint___json_bigint_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/json-bigint/-/json-bigint-1.0.0.tgz";
+        sha1 = "ae547823ac0cad8398667f8cd9ef4730f5b01ff1";
+      };
+    }
+    {
+      name = "json_parse_better_errors___json_parse_better_errors_1.0.2.tgz";
+      path = fetchurl {
+        name = "json_parse_better_errors___json_parse_better_errors_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz";
+        sha1 = "bb867cfb3450e69107c131d1c514bab3dc8bcaa9";
+      };
+    }
+    {
+      name = "json_schema_traverse___json_schema_traverse_0.4.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_schema___json_schema_0.2.3.tgz";
+      path = fetchurl {
+        name = "json_schema___json_schema_0.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz";
+        sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13";
+      };
+    }
+    {
+      name = "json_stringify_safe___json_stringify_safe_5.0.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "json5___json5_0.5.1.tgz";
+      path = fetchurl {
+        name = "json5___json5_0.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz";
+        sha1 = "1eade7acc012034ad84e2396767ead9fa5495821";
+      };
+    }
+    {
+      name = "jsonwebtoken___jsonwebtoken_8.5.1.tgz";
+      path = fetchurl {
+        name = "jsonwebtoken___jsonwebtoken_8.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz";
+        sha1 = "00e71e0b8df54c2121a1f26137df2280673bcc0d";
+      };
+    }
+    {
+      name = "jsprim___jsprim_1.4.1.tgz";
+      path = fetchurl {
+        name = "jsprim___jsprim_1.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz";
+        sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2";
+      };
+    }
+    {
+      name = "jwa___jwa_1.4.1.tgz";
+      path = fetchurl {
+        name = "jwa___jwa_1.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz";
+        sha1 = "743c32985cb9e98655530d53641b66c8645b039a";
+      };
+    }
+    {
+      name = "jwa___jwa_2.0.0.tgz";
+      path = fetchurl {
+        name = "jwa___jwa_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/jwa/-/jwa-2.0.0.tgz";
+        sha1 = "a7e9c3f29dae94027ebcaf49975c9345593410fc";
+      };
+    }
+    {
+      name = "jws___jws_3.2.2.tgz";
+      path = fetchurl {
+        name = "jws___jws_3.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz";
+        sha1 = "001099f3639468c9414000e99995fa52fb478304";
+      };
+    }
+    {
+      name = "jws___jws_4.0.0.tgz";
+      path = fetchurl {
+        name = "jws___jws_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/jws/-/jws-4.0.0.tgz";
+        sha1 = "2d4e8cf6a318ffaa12615e9dec7e86e6c97310f4";
+      };
+    }
+    {
+      name = "jwt_simple___jwt_simple_0.5.6.tgz";
+      path = fetchurl {
+        name = "jwt_simple___jwt_simple_0.5.6.tgz";
+        url  = "https://registry.yarnpkg.com/jwt-simple/-/jwt-simple-0.5.6.tgz";
+        sha1 = "3357adec55b26547114157be66748995b75b333a";
+      };
+    }
+    {
+      name = "keygrip___keygrip_1.1.0.tgz";
+      path = fetchurl {
+        name = "keygrip___keygrip_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/keygrip/-/keygrip-1.1.0.tgz";
+        sha1 = "871b1681d5e159c62a445b0c74b615e0917e7226";
+      };
+    }
+    {
+      name = "kind_of___kind_of_3.2.2.tgz";
+      path = fetchurl {
+        name = "kind_of___kind_of_3.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz";
+        sha1 = "31ea21a734bab9bbb0f32466d893aea51e4a3c64";
+      };
+    }
+    {
+      name = "kind_of___kind_of_4.0.0.tgz";
+      path = fetchurl {
+        name = "kind_of___kind_of_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz";
+        sha1 = "20813df3d712928b207378691a45066fae72dd57";
+      };
+    }
+    {
+      name = "kind_of___kind_of_5.1.0.tgz";
+      path = fetchurl {
+        name = "kind_of___kind_of_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz";
+        sha1 = "729c91e2d857b7a419a1f9aa65685c4c33f5845d";
+      };
+    }
+    {
+      name = "kind_of___kind_of_6.0.3.tgz";
+      path = fetchurl {
+        name = "kind_of___kind_of_6.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz";
+        sha1 = "07c05034a6c349fa06e24fa35aa76db4580ce4dd";
+      };
+    }
+    {
+      name = "klaw___klaw_1.3.1.tgz";
+      path = fetchurl {
+        name = "klaw___klaw_1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz";
+        sha1 = "4088433b46b3b1ba259d78785d8e96f73ba02439";
+      };
+    }
+    {
+      name = "koa_compose___koa_compose_4.1.0.tgz";
+      path = fetchurl {
+        name = "koa_compose___koa_compose_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/koa-compose/-/koa-compose-4.1.0.tgz";
+        sha1 = "507306b9371901db41121c812e923d0d67d3e877";
+      };
+    }
+    {
+      name = "layerr___layerr_0.1.2.tgz";
+      path = fetchurl {
+        name = "layerr___layerr_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/layerr/-/layerr-0.1.2.tgz";
+        sha1 = "16c8e7fb042d3595ab15492bdad088f31d7afd15";
+      };
+    }
+    {
+      name = "lazy_cache___lazy_cache_1.0.4.tgz";
+      path = fetchurl {
+        name = "lazy_cache___lazy_cache_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz";
+        sha1 = "a1d78fc3a50474cb80845d3b3b6e1da49a446e8e";
+      };
+    }
+    {
+      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";
+      };
+    }
+    {
+      name = "ldap_filter___ldap_filter_0.3.3.tgz";
+      path = fetchurl {
+        name = "ldap_filter___ldap_filter_0.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/ldap-filter/-/ldap-filter-0.3.3.tgz";
+        sha1 = "2b14c68a2a9d4104dbdbc910a1ca85fd189e9797";
+      };
+    }
+    {
+      name = "ldapauth_fork___ldapauth_fork_5.0.1.tgz";
+      path = fetchurl {
+        name = "ldapauth_fork___ldapauth_fork_5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/ldapauth-fork/-/ldapauth-fork-5.0.1.tgz";
+        sha1 = "18779a9c30371c5bbea02e3b6aaadb60819ad29c";
+      };
+    }
+    {
+      name = "ldapjs___ldapjs_2.3.1.tgz";
+      path = fetchurl {
+        name = "ldapjs___ldapjs_2.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/ldapjs/-/ldapjs-2.3.1.tgz";
+        sha1 = "04136815fb1f21d692ac87fab5961a04d86e8b04";
+      };
+    }
+    {
+      name = "levn___levn_0.3.0.tgz";
+      path = fetchurl {
+        name = "levn___levn_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz";
+        sha1 = "3b09924edf9f083c0490fdd4c0bc4421e04764ee";
+      };
+    }
+    {
+      name = "lie___lie_3.1.1.tgz";
+      path = fetchurl {
+        name = "lie___lie_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/lie/-/lie-3.1.1.tgz";
+        sha1 = "9a436b2cc7746ca59de7a41fa469b3efb76bd87e";
+      };
+    }
+    {
+      name = "liftup___liftup_3.0.1.tgz";
+      path = fetchurl {
+        name = "liftup___liftup_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/liftup/-/liftup-3.0.1.tgz";
+        sha1 = "1cb81aff0f368464ed3a5f1a7286372d6b1a60ce";
+      };
+    }
+    {
+      name = "load_json_file___load_json_file_4.0.0.tgz";
+      path = fetchurl {
+        name = "load_json_file___load_json_file_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz";
+        sha1 = "2f5f45ab91e33216234fd53adab668eb4ec0993b";
+      };
+    }
+    {
+      name = "loadavg_windows___loadavg_windows_1.1.1.tgz";
+      path = fetchurl {
+        name = "loadavg_windows___loadavg_windows_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/loadavg-windows/-/loadavg-windows-1.1.1.tgz";
+        sha1 = "e384aa8107b4ebf851bec267dd4a0789c4c54bc4";
+      };
+    }
+    {
+      name = "localforage___localforage_1.9.0.tgz";
+      path = fetchurl {
+        name = "localforage___localforage_1.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/localforage/-/localforage-1.9.0.tgz";
+        sha1 = "f3e4d32a8300b362b4634cc4e066d9d00d2f09d1";
+      };
+    }
+    {
+      name = "locate_path___locate_path_3.0.0.tgz";
+      path = fetchurl {
+        name = "locate_path___locate_path_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz";
+        sha1 = "dbec3b3ab759758071b58fe59fc41871af21400e";
+      };
+    }
+    {
+      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";
+      };
+    }
+    {
+      name = "lodash.flattendeep___lodash.flattendeep_4.4.0.tgz";
+      path = fetchurl {
+        name = "lodash.flattendeep___lodash.flattendeep_4.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz";
+        sha1 = "fb030917f86a3134e5bc9bec0d69e0013ddfedb2";
+      };
+    }
+    {
+      name = "lodash.includes___lodash.includes_4.3.0.tgz";
+      path = fetchurl {
+        name = "lodash.includes___lodash.includes_4.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz";
+        sha1 = "60bb98a87cb923c68ca1e51325483314849f553f";
+      };
+    }
+    {
+      name = "lodash.isboolean___lodash.isboolean_3.0.3.tgz";
+      path = fetchurl {
+        name = "lodash.isboolean___lodash.isboolean_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz";
+        sha1 = "6c2e171db2a257cd96802fd43b01b20d5f5870f6";
+      };
+    }
+    {
+      name = "lodash.isinteger___lodash.isinteger_4.0.4.tgz";
+      path = fetchurl {
+        name = "lodash.isinteger___lodash.isinteger_4.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz";
+        sha1 = "619c0af3d03f8b04c31f5882840b77b11cd68343";
+      };
+    }
+    {
+      name = "lodash.isnumber___lodash.isnumber_3.0.3.tgz";
+      path = fetchurl {
+        name = "lodash.isnumber___lodash.isnumber_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz";
+        sha1 = "3ce76810c5928d03352301ac287317f11c0b1ffc";
+      };
+    }
+    {
+      name = "lodash.isplainobject___lodash.isplainobject_4.0.6.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 = "lodash.isstring___lodash.isstring_4.0.1.tgz";
+      path = fetchurl {
+        name = "lodash.isstring___lodash.isstring_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz";
+        sha1 = "d527dfb5456eca7cc9bb95d5daeaf88ba54a5451";
+      };
+    }
+    {
+      name = "lodash.once___lodash.once_4.1.1.tgz";
+      path = fetchurl {
+        name = "lodash.once___lodash.once_4.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz";
+        sha1 = "0dd3971213c7c56df880977d504c88fb471a97ac";
+      };
+    }
+    {
+      name = "lodash.pick___lodash.pick_4.4.0.tgz";
+      path = fetchurl {
+        name = "lodash.pick___lodash.pick_4.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz";
+        sha1 = "52f05610fff9ded422611441ed1fc123a03001b3";
+      };
+    }
+    {
+      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";
+      };
+    }
+    {
+      name = "lodash___lodash_4.17.21.tgz";
+      path = fetchurl {
+        name = "lodash___lodash_4.17.21.tgz";
+        url  = "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz";
+        sha1 = "679591c564c3bffaae8454cf0b3df370c3d6911c";
+      };
+    }
+    {
+      name = "long___long_4.0.0.tgz";
+      path = fetchurl {
+        name = "long___long_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz";
+        sha1 = "9a7b71cfb7d361a194ea555241c92f7468d5bf28";
+      };
+    }
+    {
+      name = "longest___longest_1.0.1.tgz";
+      path = fetchurl {
+        name = "longest___longest_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz";
+        sha1 = "30a0b2da38f73770e8294a0d22e6625ed77d0097";
+      };
+    }
+    {
+      name = "loose_envify___loose_envify_1.4.0.tgz";
+      path = fetchurl {
+        name = "loose_envify___loose_envify_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz";
+        sha1 = "71ee51fa7be4caec1a63839f7e682d8132d30caf";
+      };
+    }
+    {
+      name = "lower_case___lower_case_1.1.4.tgz";
+      path = fetchurl {
+        name = "lower_case___lower_case_1.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz";
+        sha1 = "9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac";
+      };
+    }
+    {
+      name = "lru_cache___lru_cache_4.1.5.tgz";
+      path = fetchurl {
+        name = "lru_cache___lru_cache_4.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz";
+        sha1 = "8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd";
+      };
+    }
+    {
+      name = "lru_cache___lru_cache_6.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "ltx___ltx_2.10.0.tgz";
+      path = fetchurl {
+        name = "ltx___ltx_2.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/ltx/-/ltx-2.10.0.tgz";
+        sha1 = "0b794b898e01d9dcc61b54b160e78869003bbb20";
+      };
+    }
+    {
+      name = "make_dir___make_dir_2.1.0.tgz";
+      path = fetchurl {
+        name = "make_dir___make_dir_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz";
+        sha1 = "5f0310e18b8be898cc07009295a30ae41e91e6f5";
+      };
+    }
+    {
+      name = "make_iterator___make_iterator_1.0.1.tgz";
+      path = fetchurl {
+        name = "make_iterator___make_iterator_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/make-iterator/-/make-iterator-1.0.1.tgz";
+        sha1 = "29b33f312aa8f547c4a5e490f56afcec99133ad6";
+      };
+    }
+    {
+      name = "map_cache___map_cache_0.2.2.tgz";
+      path = fetchurl {
+        name = "map_cache___map_cache_0.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz";
+        sha1 = "c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf";
+      };
+    }
+    {
+      name = "map_visit___map_visit_1.0.0.tgz";
+      path = fetchurl {
+        name = "map_visit___map_visit_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz";
+        sha1 = "ecdca8f13144e660f1b5bd41f12f3479d98dfb8f";
+      };
+    }
+    {
+      name = "mariadb___mariadb_2.5.4.tgz";
+      path = fetchurl {
+        name = "mariadb___mariadb_2.5.4.tgz";
+        url  = "https://registry.yarnpkg.com/mariadb/-/mariadb-2.5.4.tgz";
+        sha1 = "c66daa35e2768b8c714c758453531c06ae4927f4";
+      };
+    }
+    {
+      name = "marked___marked_0.3.19.tgz";
+      path = fetchurl {
+        name = "marked___marked_0.3.19.tgz";
+        url  = "https://registry.yarnpkg.com/marked/-/marked-0.3.19.tgz";
+        sha1 = "5d47f709c4c9fc3c216b6d46127280f40b39d790";
+      };
+    }
+    {
+      name = "math_random___math_random_1.0.4.tgz";
+      path = fetchurl {
+        name = "math_random___math_random_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/math-random/-/math-random-1.0.4.tgz";
+        sha1 = "5dd6943c938548267016d4e34f057583080c514c";
+      };
+    }
+    {
+      name = "md5.js___md5.js_1.3.5.tgz";
+      path = fetchurl {
+        name = "md5.js___md5.js_1.3.5.tgz";
+        url  = "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz";
+        sha1 = "b5d07b8e3216e3e27cd728d72f70d1e6a342005f";
+      };
+    }
+    {
+      name = "md5___md5_2.3.0.tgz";
+      path = fetchurl {
+        name = "md5___md5_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/md5/-/md5-2.3.0.tgz";
+        sha1 = "c3da9a6aae3a30b46b7b0c349b87b110dc3bda4f";
+      };
+    }
+    {
+      name = "media_typer___media_typer_0.3.0.tgz";
+      path = fetchurl {
+        name = "media_typer___media_typer_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz";
+        sha1 = "8710d7af0aa626f8fffa1ce00168545263255748";
+      };
+    }
+    {
+      name = "memory_pager___memory_pager_1.5.0.tgz";
+      path = fetchurl {
+        name = "memory_pager___memory_pager_1.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/memory-pager/-/memory-pager-1.5.0.tgz";
+        sha1 = "d8751655d22d384682741c972f2c3d6dfa3e66b5";
+      };
+    }
+    {
+      name = "merge_descriptors___merge_descriptors_1.0.1.tgz";
+      path = fetchurl {
+        name = "merge_descriptors___merge_descriptors_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz";
+        sha1 = "b00aaa556dd8b44568150ec9d1b953f3f90cbb61";
+      };
+    }
+    {
+      name = "merge_source_map___merge_source_map_1.1.0.tgz";
+      path = fetchurl {
+        name = "merge_source_map___merge_source_map_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.1.0.tgz";
+        sha1 = "2fdde7e6020939f70906a68f2d7ae685e4c8c646";
+      };
+    }
+    {
+      name = "methods___methods_1.1.2.tgz";
+      path = fetchurl {
+        name = "methods___methods_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz";
+        sha1 = "5529a4d67654134edcc5266656835b0f851afcee";
+      };
+    }
+    {
+      name = "micromatch___micromatch_2.3.11.tgz";
+      path = fetchurl {
+        name = "micromatch___micromatch_2.3.11.tgz";
+        url  = "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz";
+        sha1 = "86677c97d1720b363431d04d0d15293bd38c1565";
+      };
+    }
+    {
+      name = "micromatch___micromatch_3.1.10.tgz";
+      path = fetchurl {
+        name = "micromatch___micromatch_3.1.10.tgz";
+        url  = "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz";
+        sha1 = "70859bc95c9840952f359a068a3fc49f9ecfac23";
+      };
+    }
+    {
+      name = "micromatch___micromatch_4.0.4.tgz";
+      path = fetchurl {
+        name = "micromatch___micromatch_4.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz";
+        sha1 = "896d519dfe9db25fce94ceb7a500919bf881ebf9";
+      };
+    }
+    {
+      name = "mime_db___mime_db_1.49.0.tgz";
+      path = fetchurl {
+        name = "mime_db___mime_db_1.49.0.tgz";
+        url  = "https://registry.yarnpkg.com/mime-db/-/mime-db-1.49.0.tgz";
+        sha1 = "f3dfde60c99e9cf3bc9701d687778f537001cbed";
+      };
+    }
+    {
+      name = "mime_types___mime_types_2.1.32.tgz";
+      path = fetchurl {
+        name = "mime_types___mime_types_2.1.32.tgz";
+        url  = "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.32.tgz";
+        sha1 = "1d00e89e7de7fe02008db61001d9e02852670fd5";
+      };
+    }
+    {
+      name = "mime___mime_1.6.0.tgz";
+      path = fetchurl {
+        name = "mime___mime_1.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz";
+        sha1 = "32cd9e5c64553bd58d19a568af452acff04981b1";
+      };
+    }
+    {
+      name = "minify_js___minify_js_0.0.4.tgz";
+      path = fetchurl {
+        name = "minify_js___minify_js_0.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/minify-js/-/minify-js-0.0.4.tgz";
+        sha1 = "e960cb61083f37af856944c512d0fca546d28dda";
+      };
+    }
+    {
+      name = "minify_js___minify_js_0.0.2.tgz";
+      path = fetchurl {
+        name = "minify_js___minify_js_0.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/minify-js/-/minify-js-0.0.2.tgz";
+        sha1 = "833ba28645a1cfa942536bc6de4f0294d482f639";
+      };
+    }
+    {
+      name = "minimalistic_assert___minimalistic_assert_1.0.1.tgz";
+      path = fetchurl {
+        name = "minimalistic_assert___minimalistic_assert_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz";
+        sha1 = "2e194de044626d4a10e7f7fbc00ce73e83e4d5c7";
+      };
+    }
+    {
+      name = "minimatch___minimatch_3.0.4.tgz";
+      path = fetchurl {
+        name = "minimatch___minimatch_3.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz";
+        sha1 = "5166e286457f03306064be5497e8dbb0c3d32083";
+      };
+    }
+    {
+      name = "minimatch___minimatch_2.0.10.tgz";
+      path = fetchurl {
+        name = "minimatch___minimatch_2.0.10.tgz";
+        url  = "https://registry.yarnpkg.com/minimatch/-/minimatch-2.0.10.tgz";
+        sha1 = "8d087c39c6b38c001b97fca7ce6d0e1e80afbac7";
+      };
+    }
+    {
+      name = "minimist___minimist_1.2.5.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_0.0.10.tgz";
+      path = fetchurl {
+        name = "minimist___minimist_0.0.10.tgz";
+        url  = "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz";
+        sha1 = "de3f98543dbf96082be48ad1a0c7cda836301dcf";
+      };
+    }
+    {
+      name = "mixin_deep___mixin_deep_1.3.2.tgz";
+      path = fetchurl {
+        name = "mixin_deep___mixin_deep_1.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz";
+        sha1 = "1120b43dc359a785dce65b55b82e257ccf479566";
+      };
+    }
+    {
+      name = "mkdirp2___mkdirp2_1.0.5.tgz";
+      path = fetchurl {
+        name = "mkdirp2___mkdirp2_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/mkdirp2/-/mkdirp2-1.0.5.tgz";
+        sha1 = "68bbe61defefafce4b48948608ec0bac942512c2";
+      };
+    }
+    {
+      name = "mkdirp___mkdirp_0.5.5.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_1.0.4.tgz";
+      path = fetchurl {
+        name = "mkdirp___mkdirp_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz";
+        sha1 = "3eb5ed62622756d79a5f0e2a221dfebad75c2f7e";
+      };
+    }
+    {
+      name = "modern_syslog___modern_syslog_1.2.0.tgz";
+      path = fetchurl {
+        name = "modern_syslog___modern_syslog_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/modern-syslog/-/modern-syslog-1.2.0.tgz";
+        sha1 = "6e419f640efe877f73ffea1c3e987132a69cd2a2";
+      };
+    }
+    {
+      name = "moment_timezone___moment_timezone_0.5.33.tgz";
+      path = fetchurl {
+        name = "moment_timezone___moment_timezone_0.5.33.tgz";
+        url  = "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.33.tgz";
+        sha1 = "b252fd6bb57f341c9b59a5ab61a8e51a73bbd22c";
+      };
+    }
+    {
+      name = "moment___moment_2.29.1.tgz";
+      path = fetchurl {
+        name = "moment___moment_2.29.1.tgz";
+        url  = "https://registry.yarnpkg.com/moment/-/moment-2.29.1.tgz";
+        sha1 = "b2be769fa31940be9eeea6469c075e35006fa3d3";
+      };
+    }
+    {
+      name = "mongodb_connection_string_url___mongodb_connection_string_url_1.1.0.tgz";
+      path = fetchurl {
+        name = "mongodb_connection_string_url___mongodb_connection_string_url_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/mongodb-connection-string-url/-/mongodb-connection-string-url-1.1.0.tgz";
+        sha1 = "0bd769f16aa1767758c119c275ea22bb5110915f";
+      };
+    }
+    {
+      name = "mongodb___mongodb_4.1.0.tgz";
+      path = fetchurl {
+        name = "mongodb___mongodb_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/mongodb/-/mongodb-4.1.0.tgz";
+        sha1 = "f491de5d52003f41dffbc6ebfd8b95be21174d63";
+      };
+    }
+    {
+      name = "mongodb___mongodb_3.6.11.tgz";
+      path = fetchurl {
+        name = "mongodb___mongodb_3.6.11.tgz";
+        url  = "https://registry.yarnpkg.com/mongodb/-/mongodb-3.6.11.tgz";
+        sha1 = "8a59a0491a92b00a8c925f72ed9d9a5b054aebb2";
+      };
+    }
+    {
+      name = "mongojs___mongojs_3.1.0.tgz";
+      path = fetchurl {
+        name = "mongojs___mongojs_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/mongojs/-/mongojs-3.1.0.tgz";
+        sha1 = "4242e6f5218a7301c35393b64ba9130d1d9488ef";
+      };
+    }
+    {
+      name = "mqemitter___mqemitter_3.0.0.tgz";
+      path = fetchurl {
+        name = "mqemitter___mqemitter_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/mqemitter/-/mqemitter-3.0.0.tgz";
+        sha1 = "427733ce397be39304c2279bd84358d5525cf577";
+      };
+    }
+    {
+      name = "mqtt_packet___mqtt_packet_6.10.0.tgz";
+      path = fetchurl {
+        name = "mqtt_packet___mqtt_packet_6.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/mqtt-packet/-/mqtt-packet-6.10.0.tgz";
+        sha1 = "c8b507832c4152e3e511c0efa104ae4a64cd418f";
+      };
+    }
+    {
+      name = "ms___ms_2.0.0.tgz";
+      path = fetchurl {
+        name = "ms___ms_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz";
+        sha1 = "5608aeadfc00be6c2901df5f9861788de0d597c8";
+      };
+    }
+    {
+      name = "ms___ms_2.1.1.tgz";
+      path = fetchurl {
+        name = "ms___ms_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz";
+        sha1 = "30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a";
+      };
+    }
+    {
+      name = "ms___ms_2.1.2.tgz";
+      path = fetchurl {
+        name = "ms___ms_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz";
+        sha1 = "d09d1f357b443f493382a8eb3ccd183872ae6009";
+      };
+    }
+    {
+      name = "ms___ms_2.1.3.tgz";
+      path = fetchurl {
+        name = "ms___ms_2.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz";
+        sha1 = "574c8138ce1d2b5861f0b44579dbadd60c6615b2";
+      };
+    }
+    {
+      name = "multiparty___multiparty_4.2.2.tgz";
+      path = fetchurl {
+        name = "multiparty___multiparty_4.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/multiparty/-/multiparty-4.2.2.tgz";
+        sha1 = "bee5fb5737247628d39dab4979ffd6d57bf60ef6";
+      };
+    }
+    {
+      name = "mustache___mustache_2.3.2.tgz";
+      path = fetchurl {
+        name = "mustache___mustache_2.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/mustache/-/mustache-2.3.2.tgz";
+        sha1 = "a6d4d9c3f91d13359ab889a812954f9230a3d0c5";
+      };
+    }
+    {
+      name = "mv___mv_2.1.1.tgz";
+      path = fetchurl {
+        name = "mv___mv_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/mv/-/mv-2.1.1.tgz";
+        sha1 = "ae6ce0d6f6d5e0a4f7d893798d03c1ea9559b6a2";
+      };
+    }
+    {
+      name = "mysql___mysql_2.18.1.tgz";
+      path = fetchurl {
+        name = "mysql___mysql_2.18.1.tgz";
+        url  = "https://registry.yarnpkg.com/mysql/-/mysql-2.18.1.tgz";
+        sha1 = "2254143855c5a8c73825e4522baf2ea021766717";
+      };
+    }
+    {
+      name = "nan___nan_2.15.0.tgz";
+      path = fetchurl {
+        name = "nan___nan_2.15.0.tgz";
+        url  = "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz";
+        sha1 = "3f34a473ff18e15c1b5626b62903b5ad6e665fee";
+      };
+    }
+    {
+      name = "nanoid___nanoid_2.1.11.tgz";
+      path = fetchurl {
+        name = "nanoid___nanoid_2.1.11.tgz";
+        url  = "https://registry.yarnpkg.com/nanoid/-/nanoid-2.1.11.tgz";
+        sha1 = "ec24b8a758d591561531b4176a01e3ab4f0f0280";
+      };
+    }
+    {
+      name = "nanomatch___nanomatch_1.2.13.tgz";
+      path = fetchurl {
+        name = "nanomatch___nanomatch_1.2.13.tgz";
+        url  = "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz";
+        sha1 = "b87a8aa4fc0de8fe6be88895b38983ff265bd119";
+      };
+    }
+    {
+      name = "ncp___ncp_2.0.0.tgz";
+      path = fetchurl {
+        name = "ncp___ncp_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz";
+        sha1 = "195a21d6c46e361d2fb1281ba38b91e9df7bdbb3";
+      };
+    }
+    {
+      name = "nedb___nedb_1.8.0.tgz";
+      path = fetchurl {
+        name = "nedb___nedb_1.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/nedb/-/nedb-1.8.0.tgz";
+        sha1 = "0e3502cd82c004d5355a43c9e55577bd7bd91d88";
+      };
+    }
+    {
+      name = "negotiator___negotiator_0.6.2.tgz";
+      path = fetchurl {
+        name = "negotiator___negotiator_0.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz";
+        sha1 = "feacf7ccf525a77ae9634436a64883ffeca346fb";
+      };
+    }
+    {
+      name = "neo_async___neo_async_2.6.2.tgz";
+      path = fetchurl {
+        name = "neo_async___neo_async_2.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz";
+        sha1 = "b4aafb93e3aeb2d8174ca53cf163ab7d7308305f";
+      };
+    }
+    {
+      name = "nested_error_stacks___nested_error_stacks_2.1.0.tgz";
+      path = fetchurl {
+        name = "nested_error_stacks___nested_error_stacks_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/nested-error-stacks/-/nested-error-stacks-2.1.0.tgz";
+        sha1 = "0fbdcf3e13fe4994781280524f8b96b0cdff9c61";
+      };
+    }
+    {
+      name = "nested_property___nested_property_4.0.0.tgz";
+      path = fetchurl {
+        name = "nested_property___nested_property_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/nested-property/-/nested-property-4.0.0.tgz";
+        sha1 = "a67b5a31991e701e03cdbaa6453bc5b1011bb88d";
+      };
+    }
+    {
+      name = "no_case___no_case_2.3.2.tgz";
+      path = fetchurl {
+        name = "no_case___no_case_2.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz";
+        sha1 = "60b813396be39b3f1288a4c1ed5d1e7d28b464ac";
+      };
+    }
+    {
+      name = "node_addon_api___node_addon_api_1.7.2.tgz";
+      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";
+      };
+    }
+    {
+      name = "node_fetch___node_fetch_2.6.1.tgz";
+      path = fetchurl {
+        name = "node_fetch___node_fetch_2.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz";
+        sha1 = "045bd323631f76ed2e2b55573394416b639a0052";
+      };
+    }
+    {
+      name = "node_forge___node_forge_0.10.0.tgz";
+      path = fetchurl {
+        name = "node_forge___node_forge_0.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz";
+        sha1 = "32dea2afb3e9926f02ee5ce8794902691a676bf3";
+      };
+    }
+    {
+      name = "node_rdpjs_2___node_rdpjs_2_0.3.5.tgz";
+      path = fetchurl {
+        name = "node_rdpjs_2___node_rdpjs_2_0.3.5.tgz";
+        url  = "https://registry.yarnpkg.com/node-rdpjs-2/-/node-rdpjs-2-0.3.5.tgz";
+        sha1 = "6f05fa175e70095a20b59c377be34fa1fe2fa444";
+      };
+    }
+    {
+      name = "node_sspi___node_sspi_0.2.9.tgz";
+      path = fetchurl {
+        name = "node_sspi___node_sspi_0.2.9.tgz";
+        url  = "https://registry.yarnpkg.com/node-sspi/-/node-sspi-0.2.9.tgz";
+        sha1 = "5a5aab40a4062dbc95cbdbe61a44df34e91afaaf";
+      };
+    }
+    {
+      name = "node_vault___node_vault_0.9.22.tgz";
+      path = fetchurl {
+        name = "node_vault___node_vault_0.9.22.tgz";
+        url  = "https://registry.yarnpkg.com/node-vault/-/node-vault-0.9.22.tgz";
+        sha1 = "052ab9b36c29d80d1ecfad61275259fe710d179e";
+      };
+    }
+    {
+      name = "node_windows___node_windows_0.1.14.tgz";
+      path = fetchurl {
+        name = "node_windows___node_windows_0.1.14.tgz";
+        url  = "https://registry.yarnpkg.com/node-windows/-/node-windows-0.1.14.tgz";
+        sha1 = "31bb0503da3bc637f2bfaa8b266640a2e92d891f";
+      };
+    }
+    {
+      name = "node_xcs___node_xcs_0.1.7.tgz";
+      path = fetchurl {
+        name = "node_xcs___node_xcs_0.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/node-xcs/-/node-xcs-0.1.7.tgz";
+        sha1 = "831d4956d6d6b958a1bc266b70760eafaa733206";
+      };
+    }
+    {
+      name = "nodemailer___nodemailer_6.6.3.tgz";
+      path = fetchurl {
+        name = "nodemailer___nodemailer_6.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.6.3.tgz";
+        sha1 = "31fb53dd4d8ae16fc088a65cb9ffa8d928a69b48";
+      };
+    }
+    {
+      name = "nofilter___nofilter_1.0.4.tgz";
+      path = fetchurl {
+        name = "nofilter___nofilter_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/nofilter/-/nofilter-1.0.4.tgz";
+        sha1 = "78d6f4b6a613e7ced8b015cec534625f7667006e";
+      };
+    }
+    {
+      name = "nopt___nopt_3.0.6.tgz";
+      path = fetchurl {
+        name = "nopt___nopt_3.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz";
+        sha1 = "c6465dbf08abcd4db359317f79ac68a646b28ff9";
+      };
+    }
+    {
+      name = "nopt___nopt_4.0.3.tgz";
+      path = fetchurl {
+        name = "nopt___nopt_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/nopt/-/nopt-4.0.3.tgz";
+        sha1 = "a375cad9d02fd921278d954c2254d5aa57e15e48";
+      };
+    }
+    {
+      name = "normalize_package_data___normalize_package_data_2.5.0.tgz";
+      path = fetchurl {
+        name = "normalize_package_data___normalize_package_data_2.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz";
+        sha1 = "e66db1838b200c1dfc233225d12cb36520e234a8";
+      };
+    }
+    {
+      name = "normalize_path___normalize_path_2.1.1.tgz";
+      path = fetchurl {
+        name = "normalize_path___normalize_path_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz";
+        sha1 = "1ab28b556e198363a8c1a6f7e6fa20137fe6aed9";
+      };
+    }
+    {
+      name = "normalize_path___normalize_path_3.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "nwsapi___nwsapi_2.2.0.tgz";
+      path = fetchurl {
+        name = "nwsapi___nwsapi_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz";
+        sha1 = "204879a9e3d068ff2a55139c2c772780681a38b7";
+      };
+    }
+    {
+      name = "nyc___nyc_14.1.1.tgz";
+      path = fetchurl {
+        name = "nyc___nyc_14.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/nyc/-/nyc-14.1.1.tgz";
+        sha1 = "151d64a6a9f9f5908a1b73233931e4a0a3075eeb";
+      };
+    }
+    {
+      name = "oauth_sign___oauth_sign_0.9.0.tgz";
+      path = fetchurl {
+        name = "oauth_sign___oauth_sign_0.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz";
+        sha1 = "47a7b016baa68b5fa0ecf3dee08a85c679ac6455";
+      };
+    }
+    {
+      name = "oauth___oauth_0.9.15.tgz";
+      path = fetchurl {
+        name = "oauth___oauth_0.9.15.tgz";
+        url  = "https://registry.yarnpkg.com/oauth/-/oauth-0.9.15.tgz";
+        sha1 = "bd1fefaf686c96b75475aed5196412ff60cfb9c1";
+      };
+    }
+    {
+      name = "object_assign___object_assign_4.1.1.tgz";
+      path = fetchurl {
+        name = "object_assign___object_assign_4.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz";
+        sha1 = "2109adc7965887cfc05cbbd442cac8bfbb360863";
+      };
+    }
+    {
+      name = "object_copy___object_copy_0.1.0.tgz";
+      path = fetchurl {
+        name = "object_copy___object_copy_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz";
+        sha1 = "7e7d858b781bd7c991a41ba975ed3812754e998c";
+      };
+    }
+    {
+      name = "object_get___object_get_2.1.1.tgz";
+      path = fetchurl {
+        name = "object_get___object_get_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/object-get/-/object-get-2.1.1.tgz";
+        sha1 = "1dad63baf6d94df184d1c58756cc9be55b174dac";
+      };
+    }
+    {
+      name = "object_inspect___object_inspect_1.11.0.tgz";
+      path = fetchurl {
+        name = "object_inspect___object_inspect_1.11.0.tgz";
+        url  = "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.11.0.tgz";
+        sha1 = "9dceb146cedd4148a0d9e51ab88d34cf509922b1";
+      };
+    }
+    {
+      name = "object_keys___object_keys_1.1.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "object_to_spawn_args___object_to_spawn_args_1.1.1.tgz";
+      path = fetchurl {
+        name = "object_to_spawn_args___object_to_spawn_args_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/object-to-spawn-args/-/object-to-spawn-args-1.1.1.tgz";
+        sha1 = "77da8827f073d011c9e1b173f895781470246785";
+      };
+    }
+    {
+      name = "object_tools___object_tools_1.6.7.tgz";
+      path = fetchurl {
+        name = "object_tools___object_tools_1.6.7.tgz";
+        url  = "https://registry.yarnpkg.com/object-tools/-/object-tools-1.6.7.tgz";
+        sha1 = "52d400fc875250993dbbb3ba298d7c79bb0698d0";
+      };
+    }
+    {
+      name = "object_tools___object_tools_2.0.6.tgz";
+      path = fetchurl {
+        name = "object_tools___object_tools_2.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/object-tools/-/object-tools-2.0.6.tgz";
+        sha1 = "f3fe1c350cda4a6f5d99d9646dc4892a02476ddd";
+      };
+    }
+    {
+      name = "object_visit___object_visit_1.0.1.tgz";
+      path = fetchurl {
+        name = "object_visit___object_visit_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz";
+        sha1 = "f79c4493af0c5377b59fe39d395e41042dd045bb";
+      };
+    }
+    {
+      name = "object.assign___object.assign_4.1.2.tgz";
+      path = fetchurl {
+        name = "object.assign___object.assign_4.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz";
+        sha1 = "0ed54a342eceb37b38ff76eb831a0e788cb63940";
+      };
+    }
+    {
+      name = "object.defaults___object.defaults_1.1.0.tgz";
+      path = fetchurl {
+        name = "object.defaults___object.defaults_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/object.defaults/-/object.defaults-1.1.0.tgz";
+        sha1 = "3a7f868334b407dea06da16d88d5cd29e435fecf";
+      };
+    }
+    {
+      name = "object.map___object.map_1.0.1.tgz";
+      path = fetchurl {
+        name = "object.map___object.map_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/object.map/-/object.map-1.0.1.tgz";
+        sha1 = "cf83e59dc8fcc0ad5f4250e1f78b3b81bd801d37";
+      };
+    }
+    {
+      name = "object.omit___object.omit_2.0.1.tgz";
+      path = fetchurl {
+        name = "object.omit___object.omit_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz";
+        sha1 = "1a9c744829f39dbb858c76ca3579ae2a54ebd1fa";
+      };
+    }
+    {
+      name = "object.pick___object.pick_1.3.0.tgz";
+      path = fetchurl {
+        name = "object.pick___object.pick_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz";
+        sha1 = "87a10ac4c1694bd2e1cbf53591a66141fb5dd747";
+      };
+    }
+    {
+      name = "on_finished___on_finished_2.3.0.tgz";
+      path = fetchurl {
+        name = "on_finished___on_finished_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz";
+        sha1 = "20f1336481b083cd75337992a16971aa2d906947";
+      };
+    }
+    {
+      name = "on_headers___on_headers_1.0.2.tgz";
+      path = fetchurl {
+        name = "on_headers___on_headers_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz";
+        sha1 = "772b0ae6aaa525c399e489adfad90c403eb3c28f";
+      };
+    }
+    {
+      name = "once___once_1.4.0.tgz";
+      path = fetchurl {
+        name = "once___once_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz";
+        sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1";
+      };
+    }
+    {
+      name = "optimist___optimist_0.6.1.tgz";
+      path = fetchurl {
+        name = "optimist___optimist_0.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz";
+        sha1 = "da3ea74686fa21a19a111c326e90eb15a0196686";
+      };
+    }
+    {
+      name = "optional_require___optional_require_1.1.4.tgz";
+      path = fetchurl {
+        name = "optional_require___optional_require_1.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/optional-require/-/optional-require-1.1.4.tgz";
+        sha1 = "8af7da26b17da76abbf8a1c46e2e148a63813c0e";
+      };
+    }
+    {
+      name = "optionator___optionator_0.8.3.tgz";
+      path = fetchurl {
+        name = "optionator___optionator_0.8.3.tgz";
+        url  = "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz";
+        sha1 = "84fa1d036fe9d3c7e21d99884b601167ec8fb495";
+      };
+    }
+    {
+      name = "os_homedir___os_homedir_1.0.2.tgz";
+      path = fetchurl {
+        name = "os_homedir___os_homedir_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz";
+        sha1 = "ffbc4988336e0e833de0c168c7ef152121aa7fb3";
+      };
+    }
+    {
+      name = "os_tmpdir___os_tmpdir_1.0.2.tgz";
+      path = fetchurl {
+        name = "os_tmpdir___os_tmpdir_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz";
+        sha1 = "bbe67406c79aa85c5cfec766fe5734555dfa1274";
+      };
+    }
+    {
+      name = "osenv___osenv_0.1.5.tgz";
+      path = fetchurl {
+        name = "osenv___osenv_0.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz";
+        sha1 = "85cdfafaeb28e8677f416e287592b5f3f49ea410";
+      };
+    }
+    {
+      name = "otplib___otplib_10.2.3.tgz";
+      path = fetchurl {
+        name = "otplib___otplib_10.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/otplib/-/otplib-10.2.3.tgz";
+        sha1 = "5a371da0c2b36a4a92d2bdac7bf4446dd7ccafc8";
+      };
+    }
+    {
+      name = "output_file_sync___output_file_sync_1.1.2.tgz";
+      path = fetchurl {
+        name = "output_file_sync___output_file_sync_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/output-file-sync/-/output-file-sync-1.1.2.tgz";
+        sha1 = "d0a33eefe61a205facb90092e826598d5245ce76";
+      };
+    }
+    {
+      name = "p_limit___p_limit_2.3.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "p_locate___p_locate_3.0.0.tgz";
+      path = fetchurl {
+        name = "p_locate___p_locate_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz";
+        sha1 = "322d69a05c0264b25997d9f40cd8a891ab0064a4";
+      };
+    }
+    {
+      name = "p_try___p_try_2.2.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "package_hash___package_hash_3.0.0.tgz";
+      path = fetchurl {
+        name = "package_hash___package_hash_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/package-hash/-/package-hash-3.0.0.tgz";
+        sha1 = "50183f2d36c9e3e528ea0a8605dff57ce976f88e";
+      };
+    }
+    {
+      name = "param_case___param_case_2.1.1.tgz";
+      path = fetchurl {
+        name = "param_case___param_case_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz";
+        sha1 = "df94fd8cf6531ecf75e6bef9a0858fbc72be2247";
+      };
+    }
+    {
+      name = "parse_filepath___parse_filepath_1.0.2.tgz";
+      path = fetchurl {
+        name = "parse_filepath___parse_filepath_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.2.tgz";
+        sha1 = "a632127f53aaf3d15876f5872f3ffac763d6c891";
+      };
+    }
+    {
+      name = "parse_glob___parse_glob_3.0.4.tgz";
+      path = fetchurl {
+        name = "parse_glob___parse_glob_3.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz";
+        sha1 = "b2c376cfb11f35513badd173ef0bb6e3a388391c";
+      };
+    }
+    {
+      name = "parse_json___parse_json_4.0.0.tgz";
+      path = fetchurl {
+        name = "parse_json___parse_json_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz";
+        sha1 = "be35f5425be1f7f6c747184f98a788cb99477ee0";
+      };
+    }
+    {
+      name = "parse_mongo_url___parse_mongo_url_1.1.1.tgz";
+      path = fetchurl {
+        name = "parse_mongo_url___parse_mongo_url_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/parse-mongo-url/-/parse-mongo-url-1.1.1.tgz";
+        sha1 = "66238df5f8e7c0c8ca4cd970d4ab6a1373eb75b5";
+      };
+    }
+    {
+      name = "parse_passwd___parse_passwd_1.0.0.tgz";
+      path = fetchurl {
+        name = "parse_passwd___parse_passwd_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz";
+        sha1 = "6d5b934a456993b23d37f40a382d6f1666a8e5c6";
+      };
+    }
+    {
+      name = "parse5___parse5_6.0.1.tgz";
+      path = fetchurl {
+        name = "parse5___parse5_6.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz";
+        sha1 = "e1a1c085c569b3dc08321184f19a39cc27f7c30b";
+      };
+    }
+    {
+      name = "parseurl___parseurl_1.3.3.tgz";
+      path = fetchurl {
+        name = "parseurl___parseurl_1.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz";
+        sha1 = "9da19e7bee8d12dff0513ed5b76957793bc2e8d4";
+      };
+    }
+    {
+      name = "parsimmon___parsimmon_1.16.0.tgz";
+      path = fetchurl {
+        name = "parsimmon___parsimmon_1.16.0.tgz";
+        url  = "https://registry.yarnpkg.com/parsimmon/-/parsimmon-1.16.0.tgz";
+        sha1 = "2834e3db645b6a855ab2ea14fbaad10d82867e0f";
+      };
+    }
+    {
+      name = "pascalcase___pascalcase_0.1.1.tgz";
+      path = fetchurl {
+        name = "pascalcase___pascalcase_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz";
+        sha1 = "b363e55e8006ca6fe21784d2db22bd15d7917f14";
+      };
+    }
+    {
+      name = "passport_azure_oauth2___passport_azure_oauth2_0.1.0.tgz";
+      path = fetchurl {
+        name = "passport_azure_oauth2___passport_azure_oauth2_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/passport-azure-oauth2/-/passport-azure-oauth2-0.1.0.tgz";
+        sha1 = "b391ebdf3aabb9529aa2b6c461d5a1677dd4c362";
+      };
+    }
+    {
+      name = "passport_github2___passport_github2_0.1.12.tgz";
+      path = fetchurl {
+        name = "passport_github2___passport_github2_0.1.12.tgz";
+        url  = "https://registry.yarnpkg.com/passport-github2/-/passport-github2-0.1.12.tgz";
+        sha1 = "a72ebff4fa52a35bc2c71122dcf470d1116f772c";
+      };
+    }
+    {
+      name = "passport_google_oauth20___passport_google_oauth20_2.0.0.tgz";
+      path = fetchurl {
+        name = "passport_google_oauth20___passport_google_oauth20_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/passport-google-oauth20/-/passport-google-oauth20-2.0.0.tgz";
+        sha1 = "0d241b2d21ebd3dc7f2b60669ec4d587e3a674ef";
+      };
+    }
+    {
+      name = "passport_oauth1___passport_oauth1_1.2.0.tgz";
+      path = fetchurl {
+        name = "passport_oauth1___passport_oauth1_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/passport-oauth1/-/passport-oauth1-1.2.0.tgz";
+        sha1 = "5229d431781bf5b265bec86ce9a9cce58a756cf9";
+      };
+    }
+    {
+      name = "passport_oauth2___passport_oauth2_1.6.0.tgz";
+      path = fetchurl {
+        name = "passport_oauth2___passport_oauth2_1.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/passport-oauth2/-/passport-oauth2-1.6.0.tgz";
+        sha1 = "5f599735e0ea40ea3027643785f81a3a9b4feb50";
+      };
+    }
+    {
+      name = "passport_oauth___passport_oauth_1.0.0.tgz";
+      path = fetchurl {
+        name = "passport_oauth___passport_oauth_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/passport-oauth/-/passport-oauth-1.0.0.tgz";
+        sha1 = "90aff63387540f02089af28cdad39ea7f80d77df";
+      };
+    }
+    {
+      name = "passport_reddit___passport_reddit_0.2.4.tgz";
+      path = fetchurl {
+        name = "passport_reddit___passport_reddit_0.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/passport-reddit/-/passport-reddit-0.2.4.tgz";
+        sha1 = "4e5805d919a8f28f80c238f7da2d92a38067acc5";
+      };
+    }
+    {
+      name = "passport_saml___passport_saml_3.1.1.tgz";
+      path = fetchurl {
+        name = "passport_saml___passport_saml_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/passport-saml/-/passport-saml-3.1.1.tgz";
+        sha1 = "257470003366e06ce3c5738aa64a1209a0f4d7e7";
+      };
+    }
+    {
+      name = "passport_strategy___passport_strategy_1.0.0.tgz";
+      path = fetchurl {
+        name = "passport_strategy___passport_strategy_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/passport-strategy/-/passport-strategy-1.0.0.tgz";
+        sha1 = "b5539aa8fc225a3d1ad179476ddf236b440f52e4";
+      };
+    }
+    {
+      name = "passport_twitter___passport_twitter_1.0.4.tgz";
+      path = fetchurl {
+        name = "passport_twitter___passport_twitter_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/passport-twitter/-/passport-twitter-1.0.4.tgz";
+        sha1 = "01a799e1f760bf2de49f2ba5fba32282f18932d7";
+      };
+    }
+    {
+      name = "passport___passport_0.4.1.tgz";
+      path = fetchurl {
+        name = "passport___passport_0.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/passport/-/passport-0.4.1.tgz";
+        sha1 = "941446a21cb92fc688d97a0861c38ce9f738f270";
+      };
+    }
+    {
+      name = "path_exists___path_exists_3.0.0.tgz";
+      path = fetchurl {
+        name = "path_exists___path_exists_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz";
+        sha1 = "ce0ebeaa5f78cb18925ea7d810d7b59b010fd515";
+      };
+    }
+    {
+      name = "path_is_absolute___path_is_absolute_1.0.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "path_parse___path_parse_1.0.7.tgz";
+      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";
+      };
+    }
+    {
+      name = "path_posix___path_posix_1.0.0.tgz";
+      path = fetchurl {
+        name = "path_posix___path_posix_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/path-posix/-/path-posix-1.0.0.tgz";
+        sha1 = "06b26113f56beab042545a23bfa88003ccac260f";
+      };
+    }
+    {
+      name = "path_root_regex___path_root_regex_0.1.2.tgz";
+      path = fetchurl {
+        name = "path_root_regex___path_root_regex_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz";
+        sha1 = "bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d";
+      };
+    }
+    {
+      name = "path_root___path_root_0.1.1.tgz";
+      path = fetchurl {
+        name = "path_root___path_root_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz";
+        sha1 = "9a4a6814cac1c0cd73360a95f32083c8ea4745b7";
+      };
+    }
+    {
+      name = "path_to_regexp___path_to_regexp_0.1.7.tgz";
+      path = fetchurl {
+        name = "path_to_regexp___path_to_regexp_0.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz";
+        sha1 = "df604178005f522f15eb4490e7247a1bfaa67f8c";
+      };
+    }
+    {
+      name = "path_type___path_type_3.0.0.tgz";
+      path = fetchurl {
+        name = "path_type___path_type_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz";
+        sha1 = "cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f";
+      };
+    }
+    {
+      name = "pause___pause_0.0.1.tgz";
+      path = fetchurl {
+        name = "pause___pause_0.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/pause/-/pause-0.0.1.tgz";
+        sha1 = "1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d";
+      };
+    }
+    {
+      name = "pend___pend_1.2.0.tgz";
+      path = fetchurl {
+        name = "pend___pend_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz";
+        sha1 = "7a57eb550a6783f9115331fcf4663d5c8e007a50";
+      };
+    }
+    {
+      name = "performance_now___performance_now_2.1.0.tgz";
+      path = fetchurl {
+        name = "performance_now___performance_now_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz";
+        sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b";
+      };
+    }
+    {
+      name = "picomatch___picomatch_2.3.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 = "pify___pify_3.0.0.tgz";
+      path = fetchurl {
+        name = "pify___pify_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz";
+        sha1 = "e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176";
+      };
+    }
+    {
+      name = "pify___pify_4.0.1.tgz";
+      path = fetchurl {
+        name = "pify___pify_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz";
+        sha1 = "4b2cd25c50d598735c50292224fd8c6df41e3231";
+      };
+    }
+    {
+      name = "pkg_dir___pkg_dir_3.0.0.tgz";
+      path = fetchurl {
+        name = "pkg_dir___pkg_dir_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz";
+        sha1 = "2749020f239ed990881b1f71210d51eb6523bea3";
+      };
+    }
+    {
+      name = "pkginfo___pkginfo_0.3.1.tgz";
+      path = fetchurl {
+        name = "pkginfo___pkginfo_0.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/pkginfo/-/pkginfo-0.3.1.tgz";
+        sha1 = "5b29f6a81f70717142e09e765bbeab97b4f81e21";
+      };
+    }
+    {
+      name = "please_upgrade_node___please_upgrade_node_3.2.0.tgz";
+      path = fetchurl {
+        name = "please_upgrade_node___please_upgrade_node_3.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz";
+        sha1 = "aeddd3f994c933e4ad98b99d9a556efa0e2fe942";
+      };
+    }
+    {
+      name = "plivo___plivo_4.20.1.tgz";
+      path = fetchurl {
+        name = "plivo___plivo_4.20.1.tgz";
+        url  = "https://registry.yarnpkg.com/plivo/-/plivo-4.20.1.tgz";
+        sha1 = "032366930f930debab6497b2def2ab07e46361dc";
+      };
+    }
+    {
+      name = "pop_iterate___pop_iterate_1.0.1.tgz";
+      path = fetchurl {
+        name = "pop_iterate___pop_iterate_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/pop-iterate/-/pop-iterate-1.0.1.tgz";
+        sha1 = "ceacfdab4abf353d7a0f2aaa2c1fc7b3f9413ba3";
+      };
+    }
+    {
+      name = "posix_character_classes___posix_character_classes_0.1.1.tgz";
+      path = fetchurl {
+        name = "posix_character_classes___posix_character_classes_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz";
+        sha1 = "01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab";
+      };
+    }
+    {
+      name = "precond___precond_0.2.3.tgz";
+      path = fetchurl {
+        name = "precond___precond_0.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/precond/-/precond-0.2.3.tgz";
+        sha1 = "aa9591bcaa24923f1e0f4849d240f47efc1075ac";
+      };
+    }
+    {
+      name = "prelude_ls___prelude_ls_1.1.2.tgz";
+      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";
+      };
+    }
+    {
+      name = "preserve___preserve_0.2.0.tgz";
+      path = fetchurl {
+        name = "preserve___preserve_0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz";
+        sha1 = "815ed1f6ebc65926f865b310c0713bcb3315ce4b";
+      };
+    }
+    {
+      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 = "private___private_0.1.8.tgz";
+      path = fetchurl {
+        name = "private___private_0.1.8.tgz";
+        url  = "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz";
+        sha1 = "2381edb3689f7a53d653190060fcf822d2f368ff";
+      };
+    }
+    {
+      name = "process_nextick_args___process_nextick_args_2.0.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "promise.prototype.finally___promise.prototype.finally_1.0.1.tgz";
+      path = fetchurl {
+        name = "promise.prototype.finally___promise.prototype.finally_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/promise.prototype.finally/-/promise.prototype.finally-1.0.1.tgz";
+        sha1 = "91182f91c92486995740fa05e0da942ac986befa";
+      };
+    }
+    {
+      name = "promise___promise_7.3.1.tgz";
+      path = fetchurl {
+        name = "promise___promise_7.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz";
+        sha1 = "064b72602b18f90f29192b8b1bc418ffd1ebd3bf";
+      };
+    }
+    {
+      name = "promise___promise_8.1.0.tgz";
+      path = fetchurl {
+        name = "promise___promise_8.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/promise/-/promise-8.1.0.tgz";
+        sha1 = "697c25c3dfe7435dd79fcd58c38a135888eaf05e";
+      };
+    }
+    {
+      name = "proxy_addr___proxy_addr_2.0.7.tgz";
+      path = fetchurl {
+        name = "proxy_addr___proxy_addr_2.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz";
+        sha1 = "f19fe69ceab311eeb94b42e70e8c2070f9ba1025";
+      };
+    }
+    {
+      name = "pseudomap___pseudomap_1.0.2.tgz";
+      path = fetchurl {
+        name = "pseudomap___pseudomap_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz";
+        sha1 = "f052a28da70e618917ef0a8ac34c1ae5a68286b3";
+      };
+    }
+    {
+      name = "psl___psl_1.8.0.tgz";
+      path = fetchurl {
+        name = "psl___psl_1.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz";
+        sha1 = "9326f8bcfb013adcc005fdff056acce020e51c24";
+      };
+    }
+    {
+      name = "pump___pump_3.0.0.tgz";
+      path = fetchurl {
+        name = "pump___pump_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz";
+        sha1 = "b4a2116815bde2f4e1ea602354e8c75565107a64";
+      };
+    }
+    {
+      name = "punycode___punycode_1.4.1.tgz";
+      path = fetchurl {
+        name = "punycode___punycode_1.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz";
+        sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e";
+      };
+    }
+    {
+      name = "punycode___punycode_2.1.1.tgz";
+      path = fetchurl {
+        name = "punycode___punycode_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz";
+        sha1 = "b58b010ac40c22c5657616c8d2c2c02c7bf479ec";
+      };
+    }
+    {
+      name = "q___q_2.0.3.tgz";
+      path = fetchurl {
+        name = "q___q_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/q/-/q-2.0.3.tgz";
+        sha1 = "75b8db0255a1a5af82f58c3f3aaa1efec7d0d134";
+      };
+    }
+    {
+      name = "qlobber___qlobber_3.1.0.tgz";
+      path = fetchurl {
+        name = "qlobber___qlobber_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/qlobber/-/qlobber-3.1.0.tgz";
+        sha1 = "b8c8e067496de17bdbf3cd843cf53ece09c8d211";
+      };
+    }
+    {
+      name = "qs___qs_6.7.0.tgz";
+      path = fetchurl {
+        name = "qs___qs_6.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz";
+        sha1 = "41dc1a015e3d581f1621776be31afb2876a9b1bc";
+      };
+    }
+    {
+      name = "qs___qs_6.10.1.tgz";
+      path = fetchurl {
+        name = "qs___qs_6.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/qs/-/qs-6.10.1.tgz";
+        sha1 = "4931482fa8d647a5aab799c5271d2133b981fb6a";
+      };
+    }
+    {
+      name = "qs___qs_6.5.2.tgz";
+      path = fetchurl {
+        name = "qs___qs_6.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz";
+        sha1 = "cb3ae806e8740444584ef154ce8ee98d403f3e36";
+      };
+    }
+    {
+      name = "querystring___querystring_0.2.1.tgz";
+      path = fetchurl {
+        name = "querystring___querystring_0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/querystring/-/querystring-0.2.1.tgz";
+        sha1 = "40d77615bb09d16902a85c3e38aa8b5ed761c2dd";
+      };
+    }
+    {
+      name = "querystringify___querystringify_2.2.0.tgz";
+      path = fetchurl {
+        name = "querystringify___querystringify_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz";
+        sha1 = "3345941b4153cb9d082d8eee4cda2016a9aef7f6";
+      };
+    }
+    {
+      name = "queue___queue_6.0.2.tgz";
+      path = fetchurl {
+        name = "queue___queue_6.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/queue/-/queue-6.0.2.tgz";
+        sha1 = "b91525283e2315c7553d2efa18d83e76432fed65";
+      };
+    }
+    {
+      name = "random_bytes___random_bytes_1.0.0.tgz";
+      path = fetchurl {
+        name = "random_bytes___random_bytes_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/random-bytes/-/random-bytes-1.0.0.tgz";
+        sha1 = "4f68a1dc0ae58bd3fb95848c30324db75d64360b";
+      };
+    }
+    {
+      name = "randomatic___randomatic_3.1.1.tgz";
+      path = fetchurl {
+        name = "randomatic___randomatic_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/randomatic/-/randomatic-3.1.1.tgz";
+        sha1 = "b776efc59375984e36c537b2f51a1f0aff0da1ed";
+      };
+    }
+    {
+      name = "randombytes___randombytes_2.1.0.tgz";
+      path = fetchurl {
+        name = "randombytes___randombytes_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz";
+        sha1 = "df6f84372f0270dc65cdf6291349ab7a473d4f2a";
+      };
+    }
+    {
+      name = "range_parser___range_parser_1.2.1.tgz";
+      path = fetchurl {
+        name = "range_parser___range_parser_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz";
+        sha1 = "3cf37023d199e1c24d1a55b84800c2f3e6468031";
+      };
+    }
+    {
+      name = "raw_body___raw_body_2.4.0.tgz";
+      path = fetchurl {
+        name = "raw_body___raw_body_2.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz";
+        sha1 = "a1ce6fb9c9bc356ca52e89256ab59059e13d0332";
+      };
+    }
+    {
+      name = "read_pkg_up___read_pkg_up_4.0.0.tgz";
+      path = fetchurl {
+        name = "read_pkg_up___read_pkg_up_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-4.0.0.tgz";
+        sha1 = "1b221c6088ba7799601c808f91161c66e58f8978";
+      };
+    }
+    {
+      name = "read_pkg___read_pkg_3.0.0.tgz";
+      path = fetchurl {
+        name = "read_pkg___read_pkg_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz";
+        sha1 = "9cbc686978fee65d16c00e2b19c237fcf6e38389";
+      };
+    }
+    {
+      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 = "readable_stream___readable_stream_2.3.7.tgz";
+      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 = "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";
+      };
+    }
+    {
+      name = "readdirp___readdirp_2.2.1.tgz";
+      path = fetchurl {
+        name = "readdirp___readdirp_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz";
+        sha1 = "0e87622a3325aa33e892285caf8b4e846529a525";
+      };
+    }
+    {
+      name = "rechoir___rechoir_0.7.1.tgz";
+      path = fetchurl {
+        name = "rechoir___rechoir_0.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/rechoir/-/rechoir-0.7.1.tgz";
+        sha1 = "9478a96a1ca135b5e88fc027f03ee92d6c645686";
+      };
+    }
+    {
+      name = "reduce_extract___reduce_extract_1.0.0.tgz";
+      path = fetchurl {
+        name = "reduce_extract___reduce_extract_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/reduce-extract/-/reduce-extract-1.0.0.tgz";
+        sha1 = "67f2385beda65061b5f5f4312662e8b080ca1525";
+      };
+    }
+    {
+      name = "reduce_flatten___reduce_flatten_1.0.1.tgz";
+      path = fetchurl {
+        name = "reduce_flatten___reduce_flatten_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/reduce-flatten/-/reduce-flatten-1.0.1.tgz";
+        sha1 = "258c78efd153ddf93cb561237f61184f3696e327";
+      };
+    }
+    {
+      name = "reduce_unique___reduce_unique_1.0.0.tgz";
+      path = fetchurl {
+        name = "reduce_unique___reduce_unique_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/reduce-unique/-/reduce-unique-1.0.0.tgz";
+        sha1 = "7e586bcf87a4e32b6d7abd8277fad6cdec9f4803";
+      };
+    }
+    {
+      name = "reduce_without___reduce_without_1.0.1.tgz";
+      path = fetchurl {
+        name = "reduce_without___reduce_without_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/reduce-without/-/reduce-without-1.0.1.tgz";
+        sha1 = "68ad0ead11855c9a37d4e8256c15bbf87972fc8c";
+      };
+    }
+    {
+      name = "regenerate___regenerate_1.4.2.tgz";
+      path = fetchurl {
+        name = "regenerate___regenerate_1.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz";
+        sha1 = "b9346d8827e8f5a32f7ba29637d398b69014848a";
+      };
+    }
+    {
+      name = "regenerator_runtime___regenerator_runtime_0.10.5.tgz";
+      path = fetchurl {
+        name = "regenerator_runtime___regenerator_runtime_0.10.5.tgz";
+        url  = "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz";
+        sha1 = "336c3efc1220adcedda2c9fab67b5a7955a33658";
+      };
+    }
+    {
+      name = "regenerator_runtime___regenerator_runtime_0.11.1.tgz";
+      path = fetchurl {
+        name = "regenerator_runtime___regenerator_runtime_0.11.1.tgz";
+        url  = "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz";
+        sha1 = "be05ad7f9bf7d22e056f9726cee5017fbf19e2e9";
+      };
+    }
+    {
+      name = "regenerator_transform___regenerator_transform_0.10.1.tgz";
+      path = fetchurl {
+        name = "regenerator_transform___regenerator_transform_0.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.10.1.tgz";
+        sha1 = "1e4996837231da8b7f3cf4114d71b5691a0680dd";
+      };
+    }
+    {
+      name = "regex_cache___regex_cache_0.4.4.tgz";
+      path = fetchurl {
+        name = "regex_cache___regex_cache_0.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz";
+        sha1 = "75bdc58a2a1496cec48a12835bc54c8d562336dd";
+      };
+    }
+    {
+      name = "regex_not___regex_not_1.0.2.tgz";
+      path = fetchurl {
+        name = "regex_not___regex_not_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz";
+        sha1 = "1f4ece27e00b0b65e0247a6810e6a85d83a5752c";
+      };
+    }
+    {
+      name = "regexpu_core___regexpu_core_2.0.0.tgz";
+      path = fetchurl {
+        name = "regexpu_core___regexpu_core_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz";
+        sha1 = "49d038837b8dcf8bfa5b9a42139938e6ea2ae240";
+      };
+    }
+    {
+      name = "regjsgen___regjsgen_0.2.0.tgz";
+      path = fetchurl {
+        name = "regjsgen___regjsgen_0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz";
+        sha1 = "6c016adeac554f75823fe37ac05b92d5a4edb1f7";
+      };
+    }
+    {
+      name = "regjsparser___regjsparser_0.1.5.tgz";
+      path = fetchurl {
+        name = "regjsparser___regjsparser_0.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz";
+        sha1 = "7ee8f84dc6fa792d3fd0ae228d24bd949ead205c";
+      };
+    }
+    {
+      name = "relateurl___relateurl_0.2.7.tgz";
+      path = fetchurl {
+        name = "relateurl___relateurl_0.2.7.tgz";
+        url  = "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz";
+        sha1 = "54dbf377e51440aca90a4cd274600d3ff2d888a9";
+      };
+    }
+    {
+      name = "release_zalgo___release_zalgo_1.0.0.tgz";
+      path = fetchurl {
+        name = "release_zalgo___release_zalgo_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/release-zalgo/-/release-zalgo-1.0.0.tgz";
+        sha1 = "09700b7e5074329739330e535c5a90fb67851730";
+      };
+    }
+    {
+      name = "remove_trailing_separator___remove_trailing_separator_1.1.0.tgz";
+      path = fetchurl {
+        name = "remove_trailing_separator___remove_trailing_separator_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz";
+        sha1 = "c24bce2a283adad5bc3f58e0d48249b92379d8ef";
+      };
+    }
+    {
+      name = "repeat_element___repeat_element_1.1.4.tgz";
+      path = fetchurl {
+        name = "repeat_element___repeat_element_1.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz";
+        sha1 = "be681520847ab58c7568ac75fbfad28ed42d39e9";
+      };
+    }
+    {
+      name = "repeat_string___repeat_string_1.6.1.tgz";
+      path = fetchurl {
+        name = "repeat_string___repeat_string_1.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz";
+        sha1 = "8dcae470e1c88abc2d600fff4a776286da75e637";
+      };
+    }
+    {
+      name = "repeating___repeating_2.0.1.tgz";
+      path = fetchurl {
+        name = "repeating___repeating_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz";
+        sha1 = "5214c53a926d3552707527fbab415dbc08d06dda";
+      };
+    }
+    {
+      name = "req_then___req_then_0.5.1.tgz";
+      path = fetchurl {
+        name = "req_then___req_then_0.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/req-then/-/req-then-0.5.1.tgz";
+        sha1 = "31c6e0b56f4ddd2acd6de0ba1bcea77b6079dfdf";
+      };
+    }
+    {
+      name = "request_promise_core___request_promise_core_1.1.2.tgz";
+      path = fetchurl {
+        name = "request_promise_core___request_promise_core_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.2.tgz";
+        sha1 = "339f6aababcafdb31c799ff158700336301d3346";
+      };
+    }
+    {
+      name = "request_promise_native___request_promise_native_1.0.7.tgz";
+      path = fetchurl {
+        name = "request_promise_native___request_promise_native_1.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.7.tgz";
+        sha1 = "a49868a624bdea5069f1251d0a836e0d89aa2c59";
+      };
+    }
+    {
+      name = "request___request_2.88.2.tgz";
+      path = fetchurl {
+        name = "request___request_2.88.2.tgz";
+        url  = "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz";
+        sha1 = "d73c918731cb5a87da047e207234146f664d12b3";
+      };
+    }
+    {
+      name = "request___request_2.88.0.tgz";
+      path = fetchurl {
+        name = "request___request_2.88.0.tgz";
+        url  = "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz";
+        sha1 = "9c2fca4f7d35b592efe57c7f0a55e81052124fef";
+      };
+    }
+    {
+      name = "require_at___require_at_1.0.6.tgz";
+      path = fetchurl {
+        name = "require_at___require_at_1.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/require-at/-/require-at-1.0.6.tgz";
+        sha1 = "9eb7e3c5e00727f5a4744070a7f560d4de4f6e6a";
+      };
+    }
+    {
+      name = "require_directory___require_directory_2.1.1.tgz";
+      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_main_filename___require_main_filename_2.0.0.tgz";
+      path = fetchurl {
+        name = "require_main_filename___require_main_filename_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz";
+        sha1 = "d0b329ecc7cc0f61649f62215be69af54aa8989b";
+      };
+    }
+    {
+      name = "requires_port___requires_port_1.0.0.tgz";
+      path = fetchurl {
+        name = "requires_port___requires_port_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz";
+        sha1 = "925d2601d39ac485e091cf0da5c6e694dc3dcaff";
+      };
+    }
+    {
+      name = "requizzle___requizzle_0.2.3.tgz";
+      path = fetchurl {
+        name = "requizzle___requizzle_0.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/requizzle/-/requizzle-0.2.3.tgz";
+        sha1 = "4675c90aacafb2c036bd39ba2daa4a1cb777fded";
+      };
+    }
+    {
+      name = "resolve_dir___resolve_dir_1.0.1.tgz";
+      path = fetchurl {
+        name = "resolve_dir___resolve_dir_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz";
+        sha1 = "79a40644c362be82f26effe739c9bb5382046f43";
+      };
+    }
+    {
+      name = "resolve_from___resolve_from_4.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "resolve_url___resolve_url_0.2.1.tgz";
+      path = fetchurl {
+        name = "resolve_url___resolve_url_0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz";
+        sha1 = "2c637fe77c893afd2a663fe21aa9080068e2052a";
+      };
+    }
+    {
+      name = "resolve___resolve_1.20.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 = "ret___ret_0.1.15.tgz";
+      path = fetchurl {
+        name = "ret___ret_0.1.15.tgz";
+        url  = "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz";
+        sha1 = "b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc";
+      };
+    }
+    {
+      name = "retimer___retimer_2.0.0.tgz";
+      path = fetchurl {
+        name = "retimer___retimer_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/retimer/-/retimer-2.0.0.tgz";
+        sha1 = "e8bd68c5e5a8ec2f49ccb5c636db84c04063bbca";
+      };
+    }
+    {
+      name = "reusify___reusify_1.0.4.tgz";
+      path = fetchurl {
+        name = "reusify___reusify_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz";
+        sha1 = "90da382b1e126efc02146e90845a88db12925d76";
+      };
+    }
+    {
+      name = "right_align___right_align_0.1.3.tgz";
+      path = fetchurl {
+        name = "right_align___right_align_0.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz";
+        sha1 = "61339b722fe6a3515689210d24e14c96148613ef";
+      };
+    }
+    {
+      name = "rimraf___rimraf_2.7.1.tgz";
+      path = fetchurl {
+        name = "rimraf___rimraf_2.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz";
+        sha1 = "35797f13a7fdadc566142c29d4f07ccad483e3ec";
+      };
+    }
+    {
+      name = "rimraf___rimraf_2.4.5.tgz";
+      path = fetchurl {
+        name = "rimraf___rimraf_2.4.5.tgz";
+        url  = "https://registry.yarnpkg.com/rimraf/-/rimraf-2.4.5.tgz";
+        sha1 = "ee710ce5d93a8fdb856fb5ea8ff0e2d75934b2da";
+      };
+    }
+    {
+      name = "rimraf___rimraf_3.0.2.tgz";
+      path = fetchurl {
+        name = "rimraf___rimraf_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz";
+        sha1 = "f1a5402ba6220ad52cc1282bac1ae3aa49fd061a";
+      };
+    }
+    {
+      name = "ripemd160___ripemd160_2.0.2.tgz";
+      path = fetchurl {
+        name = "ripemd160___ripemd160_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz";
+        sha1 = "a1c1a6f624751577ba5d07914cbc92850585890c";
+      };
+    }
+    {
+      name = "rootpath___rootpath_0.1.2.tgz";
+      path = fetchurl {
+        name = "rootpath___rootpath_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/rootpath/-/rootpath-0.1.2.tgz";
+        sha1 = "5b379a87dca906e9b91d690a599439bef267ea6b";
+      };
+    }
+    {
+      name = "safe_buffer___safe_buffer_5.1.2.tgz";
+      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.0.tgz";
+      path = fetchurl {
+        name = "safe_buffer___safe_buffer_5.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz";
+        sha1 = "b74daec49b1148f88c64b68d49b1e815c1f2f519";
+      };
+    }
+    {
+      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";
+      };
+    }
+    {
+      name = "safe_json_stringify___safe_json_stringify_1.2.0.tgz";
+      path = fetchurl {
+        name = "safe_json_stringify___safe_json_stringify_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz";
+        sha1 = "356e44bc98f1f93ce45df14bcd7c01cda86e0afd";
+      };
+    }
+    {
+      name = "safe_regex___safe_regex_1.1.0.tgz";
+      path = fetchurl {
+        name = "safe_regex___safe_regex_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz";
+        sha1 = "40a3669f3b077d1e943d44629e157dd48023bf2e";
+      };
+    }
+    {
+      name = "safer_buffer___safer_buffer_2.1.2.tgz";
+      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";
+      };
+    }
+    {
+      name = "sasl_anonymous___sasl_anonymous_0.1.0.tgz";
+      path = fetchurl {
+        name = "sasl_anonymous___sasl_anonymous_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/sasl-anonymous/-/sasl-anonymous-0.1.0.tgz";
+        sha1 = "f544c7e824df2a40d9ad4733829572cc8d9ed5a5";
+      };
+    }
+    {
+      name = "sasl_plain___sasl_plain_0.1.0.tgz";
+      path = fetchurl {
+        name = "sasl_plain___sasl_plain_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/sasl-plain/-/sasl-plain-0.1.0.tgz";
+        sha1 = "cf145e7c02222b64d60c0806d9cd2ae5380426cc";
+      };
+    }
+    {
+      name = "sasl_scram_sha_1___sasl_scram_sha_1_1.2.1.tgz";
+      path = fetchurl {
+        name = "sasl_scram_sha_1___sasl_scram_sha_1_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/sasl-scram-sha-1/-/sasl-scram-sha-1-1.2.1.tgz";
+        sha1 = "d88d51feaa0ff320d8eb1d6fc75657653f9dcd4b";
+      };
+    }
+    {
+      name = "saslmechanisms___saslmechanisms_0.1.1.tgz";
+      path = fetchurl {
+        name = "saslmechanisms___saslmechanisms_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/saslmechanisms/-/saslmechanisms-0.1.1.tgz";
+        sha1 = "478be1429500fcfaa780be88b3343ced7d2a9182";
+      };
+    }
+    {
+      name = "saslprep___saslprep_1.0.3.tgz";
+      path = fetchurl {
+        name = "saslprep___saslprep_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/saslprep/-/saslprep-1.0.3.tgz";
+        sha1 = "4c02f946b56cf54297e347ba1093e7acac4cf226";
+      };
+    }
+    {
+      name = "sax___sax_1.2.4.tgz";
+      path = fetchurl {
+        name = "sax___sax_1.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz";
+        sha1 = "2816234e2378bddc4e5354fab5caa895df7100d9";
+      };
+    }
+    {
+      name = "saxes___saxes_5.0.1.tgz";
+      path = fetchurl {
+        name = "saxes___saxes_5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz";
+        sha1 = "eebab953fa3b7608dbe94e5dadb15c888fa6696d";
+      };
+    }
+    {
+      name = "scmp___scmp_2.1.0.tgz";
+      path = fetchurl {
+        name = "scmp___scmp_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/scmp/-/scmp-2.1.0.tgz";
+        sha1 = "37b8e197c425bdeb570ab91cc356b311a11f9c9a";
+      };
+    }
+    {
+      name = "semver_compare___semver_compare_1.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "semver___semver_7.3.5.tgz";
+      path = fetchurl {
+        name = "semver___semver_7.3.5.tgz";
+        url  = "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz";
+        sha1 = "0b621c879348d8998e4b0e4be94b3f12e6018ef7";
+      };
+    }
+    {
+      name = "semver___semver_5.7.1.tgz";
+      path = fetchurl {
+        name = "semver___semver_5.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz";
+        sha1 = "a954f931aeba508d307bbf069eff0c01c96116f7";
+      };
+    }
+    {
+      name = "semver___semver_6.3.0.tgz";
+      path = fetchurl {
+        name = "semver___semver_6.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz";
+        sha1 = "ee0a64c8af5e8ceea67687b133761e1becbd1d3d";
+      };
+    }
+    {
+      name = "send___send_0.17.1.tgz";
+      path = fetchurl {
+        name = "send___send_0.17.1.tgz";
+        url  = "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz";
+        sha1 = "c1d8b059f7900f7466dd4938bdc44e11ddb376c8";
+      };
+    }
+    {
+      name = "serve_static___serve_static_1.14.1.tgz";
+      path = fetchurl {
+        name = "serve_static___serve_static_1.14.1.tgz";
+        url  = "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz";
+        sha1 = "666e636dc4f010f7ef29970a88a674320898b2f9";
+      };
+    }
+    {
+      name = "set_blocking___set_blocking_2.0.0.tgz";
+      path = fetchurl {
+        name = "set_blocking___set_blocking_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz";
+        sha1 = "045f9782d011ae9a6803ddd382b24392b3d890f7";
+      };
+    }
+    {
+      name = "set_value___set_value_2.0.1.tgz";
+      path = fetchurl {
+        name = "set_value___set_value_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz";
+        sha1 = "a18d40530e6f07de4228c7defe4227af8cad005b";
+      };
+    }
+    {
+      name = "setprototypeof___setprototypeof_1.1.1.tgz";
+      path = fetchurl {
+        name = "setprototypeof___setprototypeof_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz";
+        sha1 = "7e95acb24aa92f5885e0abef5ba131330d4ae683";
+      };
+    }
+    {
+      name = "setprototypeof___setprototypeof_1.2.0.tgz";
+      path = fetchurl {
+        name = "setprototypeof___setprototypeof_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz";
+        sha1 = "66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424";
+      };
+    }
+    {
+      name = "sha.js___sha.js_2.4.11.tgz";
+      path = fetchurl {
+        name = "sha.js___sha.js_2.4.11.tgz";
+        url  = "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz";
+        sha1 = "37a5cf0b81ecbc6943de109ba2960d1b26584ae7";
+      };
+    }
+    {
+      name = "shortid___shortid_2.2.16.tgz";
+      path = fetchurl {
+        name = "shortid___shortid_2.2.16.tgz";
+        url  = "https://registry.yarnpkg.com/shortid/-/shortid-2.2.16.tgz";
+        sha1 = "b742b8f0cb96406fd391c76bfc18a67a57fe5608";
+      };
+    }
+    {
+      name = "side_channel___side_channel_1.0.4.tgz";
+      path = fetchurl {
+        name = "side_channel___side_channel_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz";
+        sha1 = "efce5c8fdc104ee751b25c58d4290011fa5ea2cf";
+      };
+    }
+    {
+      name = "signal_exit___signal_exit_3.0.3.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 = "slash___slash_1.0.0.tgz";
+      path = fetchurl {
+        name = "slash___slash_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz";
+        sha1 = "c41f2f6c39fc16d1cd17ad4b5d896114ae470d55";
+      };
+    }
+    {
+      name = "snapdragon_node___snapdragon_node_2.1.1.tgz";
+      path = fetchurl {
+        name = "snapdragon_node___snapdragon_node_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz";
+        sha1 = "6c175f86ff14bdb0724563e8f3c1b021a286853b";
+      };
+    }
+    {
+      name = "snapdragon_util___snapdragon_util_3.0.1.tgz";
+      path = fetchurl {
+        name = "snapdragon_util___snapdragon_util_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz";
+        sha1 = "f956479486f2acd79700693f6f7b805e45ab56e2";
+      };
+    }
+    {
+      name = "snapdragon___snapdragon_0.8.2.tgz";
+      path = fetchurl {
+        name = "snapdragon___snapdragon_0.8.2.tgz";
+        url  = "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz";
+        sha1 = "64922e7c565b0e14204ba1aa7d6964278d25182d";
+      };
+    }
+    {
+      name = "sort_array___sort_array_1.1.2.tgz";
+      path = fetchurl {
+        name = "sort_array___sort_array_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/sort-array/-/sort-array-1.1.2.tgz";
+        sha1 = "b88986053c0170a7f9de63f18a49ec79c24c3e64";
+      };
+    }
+    {
+      name = "source_map_resolve___source_map_resolve_0.5.3.tgz";
+      path = fetchurl {
+        name = "source_map_resolve___source_map_resolve_0.5.3.tgz";
+        url  = "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz";
+        sha1 = "190866bece7553e1f8f267a2ee82c606b5509a1a";
+      };
+    }
+    {
+      name = "source_map_support___source_map_support_0.4.18.tgz";
+      path = fetchurl {
+        name = "source_map_support___source_map_support_0.4.18.tgz";
+        url  = "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz";
+        sha1 = "0286a6de8be42641338594e97ccea75f0a2c585f";
+      };
+    }
+    {
+      name = "source_map_url___source_map_url_0.4.1.tgz";
+      path = fetchurl {
+        name = "source_map_url___source_map_url_0.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz";
+        sha1 = "0af66605a745a5a2f91cf1bbf8a7afbc283dec56";
+      };
+    }
+    {
+      name = "source_map___source_map_0.1.43.tgz";
+      path = fetchurl {
+        name = "source_map___source_map_0.1.43.tgz";
+        url  = "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz";
+        sha1 = "c24bc146ca517c1471f5dacbe2571b2b7f9e3346";
+      };
+    }
+    {
+      name = "source_map___source_map_0.5.7.tgz";
+      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";
+      };
+    }
+    {
+      name = "source_map___source_map_0.6.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "sparse_bitfield___sparse_bitfield_3.0.3.tgz";
+      path = fetchurl {
+        name = "sparse_bitfield___sparse_bitfield_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz";
+        sha1 = "ff4ae6e68656056ba4b3e792ab3334d38273ca11";
+      };
+    }
+    {
+      name = "spawn_wrap___spawn_wrap_1.4.3.tgz";
+      path = fetchurl {
+        name = "spawn_wrap___spawn_wrap_1.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/spawn-wrap/-/spawn-wrap-1.4.3.tgz";
+        sha1 = "81b7670e170cca247d80bf5faf0cfb713bdcf848";
+      };
+    }
+    {
+      name = "spdx_correct___spdx_correct_3.1.1.tgz";
+      path = fetchurl {
+        name = "spdx_correct___spdx_correct_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz";
+        sha1 = "dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9";
+      };
+    }
+    {
+      name = "spdx_exceptions___spdx_exceptions_2.3.0.tgz";
+      path = fetchurl {
+        name = "spdx_exceptions___spdx_exceptions_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz";
+        sha1 = "3f28ce1a77a00372683eade4a433183527a2163d";
+      };
+    }
+    {
+      name = "spdx_expression_parse___spdx_expression_parse_3.0.1.tgz";
+      path = fetchurl {
+        name = "spdx_expression_parse___spdx_expression_parse_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz";
+        sha1 = "cf70f50482eefdc98e3ce0a6833e4a53ceeba679";
+      };
+    }
+    {
+      name = "spdx_license_ids___spdx_license_ids_3.0.9.tgz";
+      path = fetchurl {
+        name = "spdx_license_ids___spdx_license_ids_3.0.9.tgz";
+        url  = "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz";
+        sha1 = "8a595135def9592bda69709474f1cbeea7c2467f";
+      };
+    }
+    {
+      name = "split_string___split_string_3.1.0.tgz";
+      path = fetchurl {
+        name = "split_string___split_string_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz";
+        sha1 = "7cb09dda3a86585705c64b39a6466038682e8fe2";
+      };
+    }
+    {
+      name = "sprintf_js___sprintf_js_1.1.2.tgz";
+      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";
+      };
+    }
+    {
+      name = "sprintf_js___sprintf_js_1.0.3.tgz";
+      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";
+      };
+    }
+    {
+      name = "sqlstring___sqlstring_2.3.1.tgz";
+      path = fetchurl {
+        name = "sqlstring___sqlstring_2.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/sqlstring/-/sqlstring-2.3.1.tgz";
+        sha1 = "475393ff9e91479aea62dcaf0ca3d14983a7fb40";
+      };
+    }
+    {
+      name = "ssh2___ssh2_1.2.0.tgz";
+      path = fetchurl {
+        name = "ssh2___ssh2_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/ssh2/-/ssh2-1.2.0.tgz";
+        sha1 = "177a46bb12b7ef2b7bce28bdcbd7eae3cbc50045";
+      };
+    }
+    {
+      name = "sshpk___sshpk_1.16.1.tgz";
+      path = fetchurl {
+        name = "sshpk___sshpk_1.16.1.tgz";
+        url  = "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz";
+        sha1 = "fb661c0bef29b39db40769ee39fa70093d6f6877";
+      };
+    }
+    {
+      name = "static_extend___static_extend_0.1.2.tgz";
+      path = fetchurl {
+        name = "static_extend___static_extend_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz";
+        sha1 = "60809c39cbff55337226fd5e0b520f341f1fb5c6";
+      };
+    }
+    {
+      name = "statuses___statuses_1.5.0.tgz";
+      path = fetchurl {
+        name = "statuses___statuses_1.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz";
+        sha1 = "161c7dac177659fd9811f43771fa99381478628c";
+      };
+    }
+    {
+      name = "stealthy_require___stealthy_require_1.1.1.tgz";
+      path = fetchurl {
+        name = "stealthy_require___stealthy_require_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz";
+        sha1 = "35b09875b4ff49f26a777e509b3090a3226bf24b";
+      };
+    }
+    {
+      name = "stream_connect___stream_connect_1.0.2.tgz";
+      path = fetchurl {
+        name = "stream_connect___stream_connect_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/stream-connect/-/stream-connect-1.0.2.tgz";
+        sha1 = "18bc81f2edb35b8b5d9a8009200a985314428a97";
+      };
+    }
+    {
+      name = "stream_handlebars___stream_handlebars_0.1.6.tgz";
+      path = fetchurl {
+        name = "stream_handlebars___stream_handlebars_0.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/stream-handlebars/-/stream-handlebars-0.1.6.tgz";
+        sha1 = "7305b5064203da171608c478acf642a149892a2f";
+      };
+    }
+    {
+      name = "stream_via___stream_via_1.0.4.tgz";
+      path = fetchurl {
+        name = "stream_via___stream_via_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/stream-via/-/stream-via-1.0.4.tgz";
+        sha1 = "8dccbb0ac909328eb8bc8e2a4bd3934afdaf606c";
+      };
+    }
+    {
+      name = "stream_via___stream_via_0.1.1.tgz";
+      path = fetchurl {
+        name = "stream_via___stream_via_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/stream-via/-/stream-via-0.1.1.tgz";
+        sha1 = "0cee5df9c959fb1d3f4eda4819f289d5f9205afc";
+      };
+    }
+    {
+      name = "string_tools___string_tools_0.1.8.tgz";
+      path = fetchurl {
+        name = "string_tools___string_tools_0.1.8.tgz";
+        url  = "https://registry.yarnpkg.com/string-tools/-/string-tools-0.1.8.tgz";
+        sha1 = "70884e86a26ee5103a078bef67033d558d36e337";
+      };
+    }
+    {
+      name = "string_tools___string_tools_1.0.0.tgz";
+      path = fetchurl {
+        name = "string_tools___string_tools_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/string-tools/-/string-tools-1.0.0.tgz";
+        sha1 = "c69a9d5788858997da66f1d923ba7113ea466b5a";
+      };
+    }
+    {
+      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";
+      };
+    }
+    {
+      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_decoder___string_decoder_1.1.1.tgz";
+      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_3.0.1.tgz";
+      path = fetchurl {
+        name = "strip_ansi___strip_ansi_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz";
+        sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf";
+      };
+    }
+    {
+      name = "strip_ansi___strip_ansi_5.2.0.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_bom___strip_bom_3.0.0.tgz";
+      path = fetchurl {
+        name = "strip_bom___strip_bom_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz";
+        sha1 = "2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3";
+      };
+    }
+    {
+      name = "strip_json_comments___strip_json_comments_2.0.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "supports_color___supports_color_2.0.0.tgz";
+      path = fetchurl {
+        name = "supports_color___supports_color_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz";
+        sha1 = "535d045ce6b6363fa40117084629995e9df324c7";
+      };
+    }
+    {
+      name = "supports_color___supports_color_5.5.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "supports_color___supports_color_6.1.0.tgz";
+      path = fetchurl {
+        name = "supports_color___supports_color_6.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz";
+        sha1 = "0764abc69c63d5ac842dd4867e8d025e880df8f3";
+      };
+    }
+    {
+      name = "supports_color___supports_color_7.2.0.tgz";
+      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";
+      };
+    }
+    {
+      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";
+      };
+    }
+    {
+      name = "syslog___syslog_0.1.1.tgz";
+      path = fetchurl {
+        name = "syslog___syslog_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/syslog/-/syslog-0.1.1.tgz";
+        sha1 = "675d8210898e785fd14c831de2d9a6aec0a35cbd";
+      };
+    }
+    {
+      name = "table_layout___table_layout_0.3.0.tgz";
+      path = fetchurl {
+        name = "table_layout___table_layout_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/table-layout/-/table-layout-0.3.0.tgz";
+        sha1 = "6ee20dc483db371b3e5c87f704ed2f7c799d2c9a";
+      };
+    }
+    {
+      name = "taffydb___taffydb_2.6.2.tgz";
+      path = fetchurl {
+        name = "taffydb___taffydb_2.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/taffydb/-/taffydb-2.6.2.tgz";
+        sha1 = "7cbcb64b5a141b6a2efc2c5d2c67b4e150b2a268";
+      };
+    }
+    {
+      name = "tar_stream___tar_stream_2.2.0.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 = "temp_path___temp_path_1.0.0.tgz";
+      path = fetchurl {
+        name = "temp_path___temp_path_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/temp-path/-/temp-path-1.0.0.tgz";
+        sha1 = "24b1543973ab442896d9ad367dd9cbdbfafe918b";
+      };
+    }
+    {
+      name = "test_exclude___test_exclude_5.2.3.tgz";
+      path = fetchurl {
+        name = "test_exclude___test_exclude_5.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.2.3.tgz";
+        sha1 = "c3d3e1e311eb7ee405e092dac10aefd09091eac0";
+      };
+    }
+    {
+      name = "test_value___test_value_1.1.0.tgz";
+      path = fetchurl {
+        name = "test_value___test_value_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/test-value/-/test-value-1.1.0.tgz";
+        sha1 = "a09136f72ec043d27c893707c2b159bfad7de93f";
+      };
+    }
+    {
+      name = "test_value___test_value_2.1.0.tgz";
+      path = fetchurl {
+        name = "test_value___test_value_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/test-value/-/test-value-2.1.0.tgz";
+        sha1 = "11da6ff670f3471a73b625ca4f3fdcf7bb748291";
+      };
+    }
+    {
+      name = "then_fs___then_fs_2.0.0.tgz";
+      path = fetchurl {
+        name = "then_fs___then_fs_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/then-fs/-/then-fs-2.0.0.tgz";
+        sha1 = "72f792dd9d31705a91ae19ebfcf8b3f968c81da2";
+      };
+    }
+    {
+      name = "thirty_two___thirty_two_1.0.2.tgz";
+      path = fetchurl {
+        name = "thirty_two___thirty_two_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/thirty-two/-/thirty-two-1.0.2.tgz";
+        sha1 = "4ca2fffc02a51290d2744b9e3f557693ca6b627a";
+      };
+    }
+    {
+      name = "through2___through2_3.0.2.tgz";
+      path = fetchurl {
+        name = "through2___through2_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/through2/-/through2-3.0.2.tgz";
+        sha1 = "99f88931cfc761ec7678b41d5d7336b5b6a07bf4";
+      };
+    }
+    {
+      name = "thunky___thunky_1.1.0.tgz";
+      path = fetchurl {
+        name = "thunky___thunky_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz";
+        sha1 = "5abaf714a9405db0504732bbccd2cedd9ef9537d";
+      };
+    }
+    {
+      name = "to_fast_properties___to_fast_properties_1.0.3.tgz";
+      path = fetchurl {
+        name = "to_fast_properties___to_fast_properties_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz";
+        sha1 = "b83571fa4d8c25b82e231b06e3a3055de4ca1a47";
+      };
+    }
+    {
+      name = "to_fast_properties___to_fast_properties_2.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "to_mongodb_core___to_mongodb_core_2.0.0.tgz";
+      path = fetchurl {
+        name = "to_mongodb_core___to_mongodb_core_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/to-mongodb-core/-/to-mongodb-core-2.0.0.tgz";
+        sha1 = "3596ec7613ac9ad3b98a89dcb9aefba569cd27eb";
+      };
+    }
+    {
+      name = "to_object_path___to_object_path_0.3.0.tgz";
+      path = fetchurl {
+        name = "to_object_path___to_object_path_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz";
+        sha1 = "297588b7b0e7e0ac08e04e672f85c1f4999e17af";
+      };
+    }
+    {
+      name = "to_regex_range___to_regex_range_2.1.1.tgz";
+      path = fetchurl {
+        name = "to_regex_range___to_regex_range_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz";
+        sha1 = "7c80c17b9dfebe599e27367e0d4dd5590141db38";
+      };
+    }
+    {
+      name = "to_regex_range___to_regex_range_5.0.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "to_regex___to_regex_3.0.2.tgz";
+      path = fetchurl {
+        name = "to_regex___to_regex_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz";
+        sha1 = "13cfdd9b336552f30b51f33a8ae1b42a7a7599ce";
+      };
+    }
+    {
+      name = "toidentifier___toidentifier_1.0.0.tgz";
+      path = fetchurl {
+        name = "toidentifier___toidentifier_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz";
+        sha1 = "7e1be3470f1e77948bc43d94a3c8f4d7752ba553";
+      };
+    }
+    {
+      name = "tough_cookie___tough_cookie_2.5.0.tgz";
+      path = fetchurl {
+        name = "tough_cookie___tough_cookie_2.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz";
+        sha1 = "cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2";
+      };
+    }
+    {
+      name = "tough_cookie___tough_cookie_4.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "tough_cookie___tough_cookie_2.4.3.tgz";
+      path = fetchurl {
+        name = "tough_cookie___tough_cookie_2.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz";
+        sha1 = "53f36da3f47783b0925afa06ff9f3b165280f781";
+      };
+    }
+    {
+      name = "tr46___tr46_2.1.0.tgz";
+      path = fetchurl {
+        name = "tr46___tr46_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz";
+        sha1 = "fa87aa81ca5d5941da8cbf1f9b749dc969a4e240";
+      };
+    }
+    {
+      name = "trim_right___trim_right_1.0.1.tgz";
+      path = fetchurl {
+        name = "trim_right___trim_right_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz";
+        sha1 = "cb2e1203067e0c8de1f614094b9fe45704ea6003";
+      };
+    }
+    {
+      name = "tsscmp___tsscmp_1.0.6.tgz";
+      path = fetchurl {
+        name = "tsscmp___tsscmp_1.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/tsscmp/-/tsscmp-1.0.6.tgz";
+        sha1 = "85b99583ac3589ec4bfef825b5000aa911d605eb";
+      };
+    }
+    {
+      name = "tunnel_agent___tunnel_agent_0.6.0.tgz";
+      path = fetchurl {
+        name = "tunnel_agent___tunnel_agent_0.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz";
+        sha1 = "27a5dea06b36b04a0a9966774b290868f0fc40fd";
+      };
+    }
+    {
+      name = "tv4___tv4_1.3.0.tgz";
+      path = fetchurl {
+        name = "tv4___tv4_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/tv4/-/tv4-1.3.0.tgz";
+        sha1 = "d020c846fadd50c855abb25ebaecc68fc10f7963";
+      };
+    }
+    {
+      name = "tweetnacl___tweetnacl_0.14.5.tgz";
+      path = fetchurl {
+        name = "tweetnacl___tweetnacl_0.14.5.tgz";
+        url  = "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz";
+        sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64";
+      };
+    }
+    {
+      name = "twilio___twilio_3.66.1.tgz";
+      path = fetchurl {
+        name = "twilio___twilio_3.66.1.tgz";
+        url  = "https://registry.yarnpkg.com/twilio/-/twilio-3.66.1.tgz";
+        sha1 = "8435441ca45b0c7cb3761c4ba3011ca32e75ba69";
+      };
+    }
+    {
+      name = "type_check___type_check_0.3.2.tgz";
+      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";
+      };
+    }
+    {
+      name = "type_is___type_is_1.6.18.tgz";
+      path = fetchurl {
+        name = "type_is___type_is_1.6.18.tgz";
+        url  = "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz";
+        sha1 = "4e552cd05df09467dcbc4ef739de89f2cf37c131";
+      };
+    }
+    {
+      name = "typical___typical_2.6.1.tgz";
+      path = fetchurl {
+        name = "typical___typical_2.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/typical/-/typical-2.6.1.tgz";
+        sha1 = "5c080e5d661cbbe38259d2e70a3c7253e873881d";
+      };
+    }
+    {
+      name = "uglify_js___uglify_js_2.8.29.tgz";
+      path = fetchurl {
+        name = "uglify_js___uglify_js_2.8.29.tgz";
+        url  = "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz";
+        sha1 = "29c5733148057bb4e1f75df35b7a9cb72e6a59dd";
+      };
+    }
+    {
+      name = "uglify_js___uglify_js_3.14.1.tgz";
+      path = fetchurl {
+        name = "uglify_js___uglify_js_3.14.1.tgz";
+        url  = "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.14.1.tgz";
+        sha1 = "e2cb9fe34db9cb4cf7e35d1d26dfea28e09a7d06";
+      };
+    }
+    {
+      name = "uglify_to_browserify___uglify_to_browserify_1.0.2.tgz";
+      path = fetchurl {
+        name = "uglify_to_browserify___uglify_to_browserify_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz";
+        sha1 = "6e0924d6bda6b5afe349e39a6d632850a0f882b7";
+      };
+    }
+    {
+      name = "uid_safe___uid_safe_2.1.5.tgz";
+      path = fetchurl {
+        name = "uid_safe___uid_safe_2.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/uid-safe/-/uid-safe-2.1.5.tgz";
+        sha1 = "2b3d5c7240e8fc2e58f8aa269e5ee49c0857bd3a";
+      };
+    }
+    {
+      name = "uid2___uid2_0.0.3.tgz";
+      path = fetchurl {
+        name = "uid2___uid2_0.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/uid2/-/uid2-0.0.3.tgz";
+        sha1 = "483126e11774df2f71b8b639dcd799c376162b82";
+      };
+    }
+    {
+      name = "unc_path_regex___unc_path_regex_0.1.2.tgz";
+      path = fetchurl {
+        name = "unc_path_regex___unc_path_regex_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz";
+        sha1 = "e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa";
+      };
+    }
+    {
+      name = "underscore.string___underscore.string_3.3.5.tgz";
+      path = fetchurl {
+        name = "underscore.string___underscore.string_3.3.5.tgz";
+        url  = "https://registry.yarnpkg.com/underscore.string/-/underscore.string-3.3.5.tgz";
+        sha1 = "fc2ad255b8bd309e239cbc5816fd23a9b7ea4023";
+      };
+    }
+    {
+      name = "underscore___underscore_1.4.4.tgz";
+      path = fetchurl {
+        name = "underscore___underscore_1.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/underscore/-/underscore-1.4.4.tgz";
+        sha1 = "61a6a32010622afa07963bf325203cf12239d604";
+      };
+    }
+    {
+      name = "underscore___underscore_1.8.3.tgz";
+      path = fetchurl {
+        name = "underscore___underscore_1.8.3.tgz";
+        url  = "https://registry.yarnpkg.com/underscore/-/underscore-1.8.3.tgz";
+        sha1 = "4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022";
+      };
+    }
+    {
+      name = "union_value___union_value_1.0.1.tgz";
+      path = fetchurl {
+        name = "union_value___union_value_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz";
+        sha1 = "0b6fe7b835aecda61c6ea4d4f02c14221e109847";
+      };
+    }
+    {
+      name = "universalify___universalify_0.1.2.tgz";
+      path = fetchurl {
+        name = "universalify___universalify_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz";
+        sha1 = "b646f69be3942dabcecc9d6639c80dc105efaa66";
+      };
+    }
+    {
+      name = "unpipe___unpipe_1.0.0.tgz";
+      path = fetchurl {
+        name = "unpipe___unpipe_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz";
+        sha1 = "b2bf4ee8514aae6165b4817829d21b2ef49904ec";
+      };
+    }
+    {
+      name = "unset_value___unset_value_1.0.0.tgz";
+      path = fetchurl {
+        name = "unset_value___unset_value_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz";
+        sha1 = "8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559";
+      };
+    }
+    {
+      name = "upper_case___upper_case_1.1.3.tgz";
+      path = fetchurl {
+        name = "upper_case___upper_case_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz";
+        sha1 = "f6b4501c2ec4cdd26ba78be7222961de77621598";
+      };
+    }
+    {
+      name = "uri_js___uri_js_4.4.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "uri_parser___uri_parser_1.0.1.tgz";
+      path = fetchurl {
+        name = "uri_parser___uri_parser_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/uri-parser/-/uri-parser-1.0.1.tgz";
+        sha1 = "3307ebb50f279c11198ad09214bdaf24e29735b2";
+      };
+    }
+    {
+      name = "urix___urix_0.1.0.tgz";
+      path = fetchurl {
+        name = "urix___urix_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz";
+        sha1 = "da937f7a62e21fec1fd18d49b35c2935067a6c72";
+      };
+    }
+    {
+      name = "url_join___url_join_4.0.1.tgz";
+      path = fetchurl {
+        name = "url_join___url_join_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/url-join/-/url-join-4.0.1.tgz";
+        sha1 = "b642e21a2646808ffa178c4c5fda39844e12cde7";
+      };
+    }
+    {
+      name = "url_parse___url_parse_1.5.3.tgz";
+      path = fetchurl {
+        name = "url_parse___url_parse_1.5.3.tgz";
+        url  = "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.3.tgz";
+        sha1 = "71c1303d38fb6639ade183c2992c8cc0686df862";
+      };
+    }
+    {
+      name = "url_template___url_template_2.0.8.tgz";
+      path = fetchurl {
+        name = "url_template___url_template_2.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/url-template/-/url-template-2.0.8.tgz";
+        sha1 = "fc565a3cccbff7730c775f5641f9555791439f21";
+      };
+    }
+    {
+      name = "urlsafe_base64___urlsafe_base64_1.0.0.tgz";
+      path = fetchurl {
+        name = "urlsafe_base64___urlsafe_base64_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/urlsafe-base64/-/urlsafe-base64-1.0.0.tgz";
+        sha1 = "23f89069a6c62f46cf3a1d3b00169cefb90be0c6";
+      };
+    }
+    {
+      name = "usage_stats___usage_stats_0.8.6.tgz";
+      path = fetchurl {
+        name = "usage_stats___usage_stats_0.8.6.tgz";
+        url  = "https://registry.yarnpkg.com/usage-stats/-/usage-stats-0.8.6.tgz";
+        sha1 = "ec92559f648845c2021cbf5b4adea17af7513830";
+      };
+    }
+    {
+      name = "use___use_3.1.1.tgz";
+      path = fetchurl {
+        name = "use___use_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz";
+        sha1 = "d50c8cac79a19fbc20f2911f56eb973f4e10070f";
+      };
+    }
+    {
+      name = "user_home___user_home_1.1.1.tgz";
+      path = fetchurl {
+        name = "user_home___user_home_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz";
+        sha1 = "2b5be23a32b63a7c9deb8d0f28d485724a3df190";
+      };
+    }
+    {
+      name = "utf8___utf8_2.1.2.tgz";
+      path = fetchurl {
+        name = "utf8___utf8_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/utf8/-/utf8-2.1.2.tgz";
+        sha1 = "1fa0d9270e9be850d9b05027f63519bf46457d96";
+      };
+    }
+    {
+      name = "util_deprecate___util_deprecate_1.0.2.tgz";
+      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";
+      };
+    }
+    {
+      name = "utils_igor___utils_igor_1.0.4.tgz";
+      path = fetchurl {
+        name = "utils_igor___utils_igor_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/utils-igor/-/utils-igor-1.0.4.tgz";
+        sha1 = "59197669fd1e51a05ddbd3febb4789498cc42f03";
+      };
+    }
+    {
+      name = "utils_igor___utils_igor_2.0.5.tgz";
+      path = fetchurl {
+        name = "utils_igor___utils_igor_2.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/utils-igor/-/utils-igor-2.0.5.tgz";
+        sha1 = "51fae3fd0a754be33f7f4a05a6a4905f229e3d80";
+      };
+    }
+    {
+      name = "utils_merge___utils_merge_1.0.1.tgz";
+      path = fetchurl {
+        name = "utils_merge___utils_merge_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz";
+        sha1 = "9f95710f50a267947b2ccc124741c1028427e713";
+      };
+    }
+    {
+      name = "uuid___uuid_3.4.0.tgz";
+      path = fetchurl {
+        name = "uuid___uuid_3.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz";
+        sha1 = "b23e4358afa8a202fe7a100af1f5f883f02007ee";
+      };
+    }
+    {
+      name = "uuid___uuid_8.3.2.tgz";
+      path = fetchurl {
+        name = "uuid___uuid_8.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz";
+        sha1 = "80d5b5ced271bb9af6c445f21a1a04c606cefbe2";
+      };
+    }
+    {
+      name = "v8flags___v8flags_2.1.1.tgz";
+      path = fetchurl {
+        name = "v8flags___v8flags_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.1.tgz";
+        sha1 = "aab1a1fa30d45f88dd321148875ac02c0b55e5b4";
+      };
+    }
+    {
+      name = "v8flags___v8flags_3.2.0.tgz";
+      path = fetchurl {
+        name = "v8flags___v8flags_3.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/v8flags/-/v8flags-3.2.0.tgz";
+        sha1 = "b243e3b4dfd731fa774e7492128109a0fe66d656";
+      };
+    }
+    {
+      name = "validate_npm_package_license___validate_npm_package_license_3.0.4.tgz";
+      path = fetchurl {
+        name = "validate_npm_package_license___validate_npm_package_license_3.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz";
+        sha1 = "fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a";
+      };
+    }
+    {
+      name = "vary___vary_1.1.2.tgz";
+      path = fetchurl {
+        name = "vary___vary_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz";
+        sha1 = "2299f02c6ded30d4a5961b0b9f74524a18f634fc";
+      };
+    }
+    {
+      name = "vasync___vasync_2.2.0.tgz";
+      path = fetchurl {
+        name = "vasync___vasync_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/vasync/-/vasync-2.2.0.tgz";
+        sha1 = "cfde751860a15822db3b132bc59b116a4adaf01b";
+      };
+    }
+    {
+      name = "verror___verror_1.10.0.tgz";
+      path = fetchurl {
+        name = "verror___verror_1.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz";
+        sha1 = "3a105ca17053af55d6e270c1f8288682e18da400";
+      };
+    }
+    {
+      name = "w3c_hr_time___w3c_hr_time_1.0.2.tgz";
+      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";
+      };
+    }
+    {
+      name = "w3c_xmlserializer___w3c_xmlserializer_2.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "walk_back___walk_back_2.0.1.tgz";
+      path = fetchurl {
+        name = "walk_back___walk_back_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/walk-back/-/walk-back-2.0.1.tgz";
+        sha1 = "554e2a9d874fac47a8cb006bf44c2f0c4998a0a4";
+      };
+    }
+    {
+      name = "weak_daemon___weak_daemon_1.0.3.tgz";
+      path = fetchurl {
+        name = "weak_daemon___weak_daemon_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/weak-daemon/-/weak-daemon-1.0.3.tgz";
+        sha1 = "d922b7c0dfb8f6bf027c463ea875584d2b085f19";
+      };
+    }
+    {
+      name = "weak_map___weak_map_1.0.5.tgz";
+      path = fetchurl {
+        name = "weak_map___weak_map_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/weak-map/-/weak-map-1.0.5.tgz";
+        sha1 = "79691584d98607f5070bd3b70a40e6bb22e401eb";
+      };
+    }
+    {
+      name = "web_push___web_push_3.4.5.tgz";
+      path = fetchurl {
+        name = "web_push___web_push_3.4.5.tgz";
+        url  = "https://registry.yarnpkg.com/web-push/-/web-push-3.4.5.tgz";
+        sha1 = "f94074ff150538872c7183e4d8881c8305920cf1";
+      };
+    }
+    {
+      name = "webdav___webdav_4.6.0.tgz";
+      path = fetchurl {
+        name = "webdav___webdav_4.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/webdav/-/webdav-4.6.0.tgz";
+        sha1 = "b12d3631562ed4a7d665dd1757349682dfc8f441";
+      };
+    }
+    {
+      name = "webidl_conversions___webidl_conversions_5.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "webidl_conversions___webidl_conversions_6.1.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "whatwg_encoding___whatwg_encoding_1.0.5.tgz";
+      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";
+      };
+    }
+    {
+      name = "whatwg_mimetype___whatwg_mimetype_2.3.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "whatwg_url___whatwg_url_8.7.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "which_module___which_module_2.0.0.tgz";
+      path = fetchurl {
+        name = "which_module___which_module_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz";
+        sha1 = "d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a";
+      };
+    }
+    {
+      name = "which___which_1.3.1.tgz";
+      path = fetchurl {
+        name = "which___which_1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz";
+        sha1 = "a45043d54f5805316da8d62f9f50918d3da70b0a";
+      };
+    }
+    {
+      name = "which___which_2.0.2.tgz";
+      path = fetchurl {
+        name = "which___which_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz";
+        sha1 = "7c6a8dd0a636a0327e10b59c9286eee93f3f51b1";
+      };
+    }
+    {
+      name = "wildleek___wildleek_2.0.0.tgz";
+      path = fetchurl {
+        name = "wildleek___wildleek_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/wildleek/-/wildleek-2.0.0.tgz";
+        sha1 = "85eb93c9c1822da963bc3c3c8d09ae9d12b48a47";
+      };
+    }
+    {
+      name = "window_size___window_size_0.1.0.tgz";
+      path = fetchurl {
+        name = "window_size___window_size_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz";
+        sha1 = "5438cd2ea93b202efa3a19fe8887aee7c94f9c9d";
+      };
+    }
+    {
+      name = "word_wrap___word_wrap_1.2.3.tgz";
+      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";
+      };
+    }
+    {
+      name = "wordwrap___wordwrap_0.0.2.tgz";
+      path = fetchurl {
+        name = "wordwrap___wordwrap_0.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz";
+        sha1 = "b79669bb42ecb409f83d583cad52ca17eaa1643f";
+      };
+    }
+    {
+      name = "wordwrap___wordwrap_1.0.0.tgz";
+      path = fetchurl {
+        name = "wordwrap___wordwrap_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz";
+        sha1 = "27584810891456a4171c8d0226441ade90cbcaeb";
+      };
+    }
+    {
+      name = "wordwrap___wordwrap_0.0.3.tgz";
+      path = fetchurl {
+        name = "wordwrap___wordwrap_0.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz";
+        sha1 = "a3d5da6cd5c0bc0008d37234bbaf1bed63059107";
+      };
+    }
+    {
+      name = "wordwrapjs___wordwrapjs_1.2.1.tgz";
+      path = fetchurl {
+        name = "wordwrapjs___wordwrapjs_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/wordwrapjs/-/wordwrapjs-1.2.1.tgz";
+        sha1 = "754a5ea0664cfbff50540dc32d67bda3289fc34b";
+      };
+    }
+    {
+      name = "wordwrapjs___wordwrapjs_2.0.0.tgz";
+      path = fetchurl {
+        name = "wordwrapjs___wordwrapjs_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/wordwrapjs/-/wordwrapjs-2.0.0.tgz";
+        sha1 = "ab55f695e6118da93858fdd70c053d1c5e01ac20";
+      };
+    }
+    {
+      name = "wrap_ansi___wrap_ansi_5.1.0.tgz";
+      path = fetchurl {
+        name = "wrap_ansi___wrap_ansi_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz";
+        sha1 = "1fd1f67235d5b6d0fee781056001bfb694c03b09";
+      };
+    }
+    {
+      name = "wrappy___wrappy_1.0.2.tgz";
+      path = fetchurl {
+        name = "wrappy___wrappy_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz";
+        sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
+      };
+    }
+    {
+      name = "write_file_atomic___write_file_atomic_2.4.3.tgz";
+      path = fetchurl {
+        name = "write_file_atomic___write_file_atomic_2.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz";
+        sha1 = "1fd2e9ae1df3e75b8d8c367443c692d4ca81f481";
+      };
+    }
+    {
+      name = "ws___ws_5.2.3.tgz";
+      path = fetchurl {
+        name = "ws___ws_5.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/ws/-/ws-5.2.3.tgz";
+        sha1 = "05541053414921bc29c63bee14b8b0dd50b07b3d";
+      };
+    }
+    {
+      name = "ws___ws_7.5.3.tgz";
+      path = fetchurl {
+        name = "ws___ws_7.5.3.tgz";
+        url  = "https://registry.yarnpkg.com/ws/-/ws-7.5.3.tgz";
+        sha1 = "160835b63c7d97bfab418fc1b8a9fced2ac01a74";
+      };
+    }
+    {
+      name = "xml_crypto___xml_crypto_2.1.2.tgz";
+      path = fetchurl {
+        name = "xml_crypto___xml_crypto_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/xml-crypto/-/xml-crypto-2.1.2.tgz";
+        sha1 = "501506d42e466f6cd908c5a03182217231b4e4b8";
+      };
+    }
+    {
+      name = "xml_encryption___xml_encryption_1.2.4.tgz";
+      path = fetchurl {
+        name = "xml_encryption___xml_encryption_1.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/xml-encryption/-/xml-encryption-1.2.4.tgz";
+        sha1 = "767d13f9ff2f979ff5657b93bd72aa729d34b66c";
+      };
+    }
+    {
+      name = "xml_name_validator___xml_name_validator_3.0.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "xml2js___xml2js_0.4.23.tgz";
+      path = fetchurl {
+        name = "xml2js___xml2js_0.4.23.tgz";
+        url  = "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.23.tgz";
+        sha1 = "a0c69516752421eb2ac758ee4d4ccf58843eac66";
+      };
+    }
+    {
+      name = "xml___xml_0.0.12.tgz";
+      path = fetchurl {
+        name = "xml___xml_0.0.12.tgz";
+        url  = "https://registry.yarnpkg.com/xml/-/xml-0.0.12.tgz";
+        sha1 = "f08b347109912be00285785f46f15ad8e50a5f67";
+      };
+    }
+    {
+      name = "xmlbuilder___xmlbuilder_13.0.2.tgz";
+      path = fetchurl {
+        name = "xmlbuilder___xmlbuilder_13.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-13.0.2.tgz";
+        sha1 = "02ae33614b6a047d1c32b5389c1fdacb2bce47a7";
+      };
+    }
+    {
+      name = "xmlbuilder___xmlbuilder_15.1.1.tgz";
+      path = fetchurl {
+        name = "xmlbuilder___xmlbuilder_15.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-15.1.1.tgz";
+        sha1 = "9dcdce49eea66d8d10b42cae94a79c3c8d0c2ec5";
+      };
+    }
+    {
+      name = "xmlbuilder___xmlbuilder_9.0.7.tgz";
+      path = fetchurl {
+        name = "xmlbuilder___xmlbuilder_9.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz";
+        sha1 = "132ee63d2ec5565c557e20f4c22df9aca686b10d";
+      };
+    }
+    {
+      name = "xmlbuilder___xmlbuilder_11.0.1.tgz";
+      path = fetchurl {
+        name = "xmlbuilder___xmlbuilder_11.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz";
+        sha1 = "be9bae1c8a046e76b31127726347d0ad7002beb3";
+      };
+    }
+    {
+      name = "xmlchars___xmlchars_2.2.0.tgz";
+      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.1.31.tgz";
+      path = fetchurl {
+        name = "xmldom___xmldom_0.1.31.tgz";
+        url  = "https://registry.yarnpkg.com/xmldom/-/xmldom-0.1.31.tgz";
+        sha1 = "b76c9a1bd9f0a9737e5a72dc37231cf38375e2ff";
+      };
+    }
+    {
+      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";
+      };
+    }
+    {
+      name = "xmldom___xmldom_0.6.0.tgz";
+      path = fetchurl {
+        name = "xmldom___xmldom_0.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/xmldom/-/xmldom-0.6.0.tgz";
+        sha1 = "43a96ecb8beece991cef382c08397d82d4d0c46f";
+      };
+    }
+    {
+      name = "xpath___xpath_0.0.32.tgz";
+      path = fetchurl {
+        name = "xpath___xpath_0.0.32.tgz";
+        url  = "https://registry.yarnpkg.com/xpath/-/xpath-0.0.32.tgz";
+        sha1 = "1b73d3351af736e17ec078d6da4b8175405c48af";
+      };
+    }
+    {
+      name = "xtend___xtend_4.0.2.tgz";
+      path = fetchurl {
+        name = "xtend___xtend_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz";
+        sha1 = "bb72779f5fa465186b1f438f674fa347fdb5db54";
+      };
+    }
+    {
+      name = "xtraverse___xtraverse_0.1.0.tgz";
+      path = fetchurl {
+        name = "xtraverse___xtraverse_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/xtraverse/-/xtraverse-0.1.0.tgz";
+        sha1 = "b741bad018ef78d8a9d2e83ade007b3f7959c732";
+      };
+    }
+    {
+      name = "y18n___y18n_4.0.3.tgz";
+      path = fetchurl {
+        name = "y18n___y18n_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz";
+        sha1 = "b5f259c82cd6e336921efd7bfd8bf560de9eeedf";
+      };
+    }
+    {
+      name = "yallist___yallist_2.1.2.tgz";
+      path = fetchurl {
+        name = "yallist___yallist_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz";
+        sha1 = "1c11f9218f076089a47dd512f93c6699a6a81d52";
+      };
+    }
+    {
+      name = "yallist___yallist_4.0.0.tgz";
+      path = fetchurl {
+        name = "yallist___yallist_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz";
+        sha1 = "9bb92790d9c0effec63be73519e11a35019a3a72";
+      };
+    }
+    {
+      name = "yargs_parser___yargs_parser_13.1.2.tgz";
+      path = fetchurl {
+        name = "yargs_parser___yargs_parser_13.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz";
+        sha1 = "130f09702ebaeef2650d54ce6e3e5706f7a4fb38";
+      };
+    }
+    {
+      name = "yargs___yargs_13.3.2.tgz";
+      path = fetchurl {
+        name = "yargs___yargs_13.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz";
+        sha1 = "ad7ffefec1aa59565ac915f82dccb38a9c31a2dd";
+      };
+    }
+    {
+      name = "yargs___yargs_3.10.0.tgz";
+      path = fetchurl {
+        name = "yargs___yargs_3.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz";
+        sha1 = "f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1";
+      };
+    }
+    {
+      name = "yauzl___yauzl_2.10.0.tgz";
+      path = fetchurl {
+        name = "yauzl___yauzl_2.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz";
+        sha1 = "c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9";
+      };
+    }
+    {
+      name = "yubikeyotp___yubikeyotp_0.2.0.tgz";
+      path = fetchurl {
+        name = "yubikeyotp___yubikeyotp_0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/yubikeyotp/-/yubikeyotp-0.2.0.tgz";
+        sha1 = "8bdc51122cd00ed8c919b9c9caeba851b272aa7d";
+      };
+    }
+    {
+      name = "zip_stream___zip_stream_3.0.1.tgz";
+      path = fetchurl {
+        name = "zip_stream___zip_stream_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/zip-stream/-/zip-stream-3.0.1.tgz";
+        sha1 = "cb8db9d324a76c09f9b76b31a12a48638b0b9708";
+      };
+    }
+    {
+      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";
+      };
+    }
+  ];
+}
diff --git a/nixpkgs/pkgs/tools/admin/mycli/default.nix b/nixpkgs/pkgs/tools/admin/mycli/default.nix
index ca845cce1456..e128b9803c20 100644
--- a/nixpkgs/pkgs/tools/admin/mycli/default.nix
+++ b/nixpkgs/pkgs/tools/admin/mycli/default.nix
@@ -20,7 +20,7 @@ buildPythonApplication rec {
     configobj
     importlib-resources
     paramiko
-    prompt_toolkit
+    prompt-toolkit
     pyaes
     pycrypto
     pygments
diff --git a/nixpkgs/pkgs/tools/admin/nomachine-client/default.nix b/nixpkgs/pkgs/tools/admin/nomachine-client/default.nix
index 0daa65cc9804..be4bef1e1609 100644
--- a/nixpkgs/pkgs/tools/admin/nomachine-client/default.nix
+++ b/nixpkgs/pkgs/tools/admin/nomachine-client/default.nix
@@ -1,9 +1,9 @@
 { lib, stdenv, file, fetchurl, makeWrapper,
   autoPatchelfHook, jsoncpp, libpulseaudio }:
 let
-  versionMajor = "7.4";
-  versionMinor = "1";
-  versionBuild_x86_64 = "1";
+  versionMajor = "7.6";
+  versionMinor = "2";
+  versionBuild_x86_64 = "4";
   versionBuild_i686 = "1";
 in
   stdenv.mkDerivation rec {
@@ -14,12 +14,12 @@ in
       if stdenv.hostPlatform.system == "x86_64-linux" then
         fetchurl {
           url = "https://download.nomachine.com/download/${versionMajor}/Linux/nomachine_${version}_${versionBuild_x86_64}_x86_64.tar.gz";
-          sha256 = "1qir9ii0h5ali87mjzjl72dm1ky626d7y59jfpglakqxzqhjamdz";
+          sha256 = "1kkdf9dlp4j453blnwp1sds4r3h3fy863pvhdh466mrq3f10qca8";
         }
       else if stdenv.hostPlatform.system == "i686-linux" then
         fetchurl {
           url = "https://download.nomachine.com/download/${versionMajor}/Linux/nomachine_${version}_${versionBuild_i686}_i686.tar.gz";
-          sha256 = "1gxiysc09k3jz1pkkyfqgw2fygcnmrnskk6b9vn4fjnvsab4py60";
+          sha256 = "0h4c90hzhbg0qdb585bc9gry9cf9hd8r53m2jha4fdqhzd95ydln";
         }
       else
         throw "NoMachine client is not supported on ${stdenv.hostPlatform.system}";
@@ -90,4 +90,3 @@ in
       platforms = [ "x86_64-linux" "i686-linux" ];
     };
   }
-
diff --git a/nixpkgs/pkgs/tools/admin/ossutil/default.nix b/nixpkgs/pkgs/tools/admin/ossutil/default.nix
new file mode 100644
index 000000000000..d9f4b481f1b3
--- /dev/null
+++ b/nixpkgs/pkgs/tools/admin/ossutil/default.nix
@@ -0,0 +1,33 @@
+{ lib, buildGoModule, fetchFromGitHub, fetchpatch }:
+
+buildGoModule rec {
+  version = "1.7.6";
+  pname = "ossutil";
+
+  src = fetchFromGitHub {
+    owner = "aliyun";
+    repo = "ossutil";
+    rev = version;
+    sha256 = "1hkdk0hidnm7vz320i7s4z7jngx2j70acc93agii2b3r2bb91l3d";
+  };
+
+  # this patch is required to add go mods to fetch dependencies
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/aliyun/ossutil/commit/64067e979fb24ffb198a0c4eca718e81b63f514e.patch";
+      sha256 = "2pn0BcbNNL+iMema54LRpG/ca5kyDugLIZQ/TMhYG/8=";
+    })
+  ];
+
+  vendorSha256 = "lem9Jg4Ywv3qcIwhiZHNi1VH5HxxNr6mnefOLCzPL70=";
+
+  # don't run tests as they require secret access keys that only travis has
+  doCheck = false;
+
+  meta = with lib; {
+    homepage = "https://github.com/aliyun/ossutil";
+    description = "A user friendly command line tool to access Alibaba Cloud OSS";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jpetrucciani ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/admin/procs/default.nix b/nixpkgs/pkgs/tools/admin/procs/default.nix
index 0578bb4703cc..b25d1795bfdf 100644
--- a/nixpkgs/pkgs/tools/admin/procs/default.nix
+++ b/nixpkgs/pkgs/tools/admin/procs/default.nix
@@ -17,9 +17,9 @@ rustPlatform.buildRustPackage rec {
 
   postInstall = ''
     for shell in bash fish zsh; do
-      $out/bin/procs --completion $shell > procs.$shell
-      installShellCompletion procs.$shell
+      $out/bin/procs --completion $shell
     done
+    installShellCompletion procs.{bash,fish} --zsh _procs
   '';
 
   buildInputs = lib.optionals stdenv.isDarwin [ Security libiconv ];
@@ -27,8 +27,8 @@ rustPlatform.buildRustPackage rec {
   meta = with lib; {
     description = "A modern replacement for ps written in Rust";
     homepage = "https://github.com/dalance/procs";
+    changelog = "https://github.com/dalance/procs/raw/v${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ dalance Br1ght0ne ];
-    platforms = with platforms; linux ++ darwin;
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/pulumi/data.nix b/nixpkgs/pkgs/tools/admin/pulumi/data.nix
index 99627b930c25..9f1239923ec4 100644
--- a/nixpkgs/pkgs/tools/admin/pulumi/data.nix
+++ b/nixpkgs/pkgs/tools/admin/pulumi/data.nix
@@ -1,24 +1,24 @@
 # DO NOT EDIT! This file is generated automatically by update.sh
 { }:
 {
-  version = "3.6.0";
+  version = "3.10.0";
   pulumiPkgs = {
     x86_64-linux = [
       {
-        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.6.0-linux-x64.tar.gz";
-        sha256 = "1phj65y1l6pllq5fyrxm7hrwg44jpzq1skq6dw7x6zrs8prnlj52";
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.10.0-linux-x64.tar.gz";
+        sha256 = "0rhsdxiz5lz4hlw6a1pkjfblsh42vnk9bw8xg7wbjl9wpld3rys1";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v2.2.0-linux-amd64.tar.gz";
         sha256 = "0d88xfi7zzmpyrnvakwxsyavdx6d5hmfrcf4jhmd53mni0m0551l";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v4.10.0-linux-amd64.tar.gz";
-        sha256 = "12fj43pcs64s0i6h05q94abbxi0r1rlh8qgycmmydr8wajsn2a54";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v4.15.0-linux-amd64.tar.gz";
+        sha256 = "1s8w5kh9nfdv1vcdrpa2m76r2470k0j4frc3j3ijmqq1i0vv5yhk";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v3.2.0-linux-amd64.tar.gz";
-        sha256 = "1xvbkvhny8h5yl6gvlgzdp0cd8xv39sxm36bfszvx9133p6spvy4";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v3.4.0-linux-amd64.tar.gz";
+        sha256 = "0scisiswjs3jx0wm6q8i7pgpr2js3kiilq7wc29afyjck6xa14rh";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.2.0-linux-amd64.tar.gz";
@@ -29,8 +29,8 @@
         sha256 = "1ppwha1zk73w39msp6jym9in7jsrxzc530qgj4lj0961mb9rdkra";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.4.1-linux-amd64.tar.gz";
-        sha256 = "1zng8w2jr76z9s95id9dnvw7skr4yd55xrvv9c053gpyh7wv7bhs";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.6.0-linux-amd64.tar.gz";
+        sha256 = "1a62af80czj9sahb52fiz25p59nbzjlr1h7ycdxpjl9m1bxhvlfr";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v3.0.0-linux-amd64.tar.gz";
@@ -41,8 +41,8 @@
         sha256 = "0yhdcjscdkvvai95z2v6xabvvsfvaqi38ngpqrb73ahlwqhz3nys";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v5.11.0-linux-amd64.tar.gz";
-        sha256 = "0h0dpbdc9rcagw0wgz5l6jjc8wl1hj5ki5shi44jyf4hz7l0yl9y";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v5.15.0-linux-amd64.tar.gz";
+        sha256 = "11m1f80i33m4dh13z96yh655pfiwvk46sjspwql7s80kapl93pq9";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.2.0-linux-amd64.tar.gz";
@@ -53,16 +53,16 @@
         sha256 = "13rchk54wpjwci26kfa519gqagwfrp31w6a9nk1xfdxj45ha9d3x";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.1.0-linux-amd64.tar.gz";
-        sha256 = "0al3578g7l9rvhkswlm56wpkybj6njj39a3g56in9882lhpqixsy";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.2.0-linux-amd64.tar.gz";
+        sha256 = "0inx40vasjlxfvzr0pxbzm6rki50h5x5qkzx2wc51vv3gjln104q";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.5.0-linux-amd64.tar.gz";
-        sha256 = "1zi6r1g7l56ra506hxkj8p9wlkgbmry7ir48v8wwdsfvplryj4sf";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.6.0-linux-amd64.tar.gz";
+        sha256 = "19zvqxf13lr98sp3p1ry3q1fvzx0rpxwz5wbk331n5jn0ljzr783";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.2.0-linux-amd64.tar.gz";
-        sha256 = "1lvb3vs2yp0ybz2xn2za5f0nfipiisrpzwzfn0wgl9arh17v0phc";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.3.0-linux-amd64.tar.gz";
+        sha256 = "0vyqzphk75h1mk9p6wblgsw2cypycv32glzrnk4fildj48dakm5y";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.1.0-linux-amd64.tar.gz";
@@ -73,8 +73,8 @@
         sha256 = "04gaimdzh04v7f11xw1b7p95rbb142kbnix1zqas68wd6vpw9kyp";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v3.2.0-linux-amd64.tar.gz";
-        sha256 = "1np74bfvp4hr70izb8sarxvga3nnvyi9j7y6f0lqqgrfk2ixn48r";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v3.3.0-linux-amd64.tar.gz";
+        sha256 = "0rpf48snjm5n1xn7s6lnda6ny1gjgmfsqmbibw6w7h7la0ff78jp";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-packet-v3.2.2-linux-amd64.tar.gz";
@@ -89,30 +89,30 @@
         sha256 = "02g59jaifyjfcx185ir79d8lqic38dgaa9cb8dpi3xhvv32z0b0q";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v4.1.0-linux-amd64.tar.gz";
-        sha256 = "0npszs37q6j1x5h2sp9j1c6qnhr03lxp2r2ci0d4z3x7vyk06rja";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v4.3.0-linux-amd64.tar.gz";
+        sha256 = "0rmk55qivand0wa82mxgvyzgg16nz1r3q99k0n9zdlvh9dbffnc8";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.0.0-linux-amd64.tar.gz";
-        sha256 = "09vf4jddy7bys6x2vw7cyq5ylnwb43rr3ysk3vvi5czpbb8fa86k";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.0.1-linux-amd64.tar.gz";
+        sha256 = "0xrq4ffkaa0z5w2g7b9fdll3sh8wpzd6fg0xay7hfzjnl65dl3mp";
       }
     ];
     x86_64-darwin = [
       {
-        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.6.0-darwin-x64.tar.gz";
-        sha256 = "0yql94y78q0hfsxfsgvkxs7dv2lgrkv4ypm59qjr8l04krcknbmm";
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.10.0-darwin-x64.tar.gz";
+        sha256 = "18q1v1n3a497wbbzzjngpl90wpjnffn9wnpdp171r47k6xvbcsyq";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v2.2.0-darwin-amd64.tar.gz";
         sha256 = "12mkr0xczdnp21k0k7qn4r3swkaq3pr6v2z853p1db7ksz5kds23";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v4.10.0-darwin-amd64.tar.gz";
-        sha256 = "0zv4b7nyvz7h0h0jxndd7dxzf4risgqyl7f20cbbcsixxk90sz38";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v4.15.0-darwin-amd64.tar.gz";
+        sha256 = "1jnwlhfyyxz7196igi3gas3459k4nq1f4m1i4vdnxhkskp5838l0";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v3.2.0-darwin-amd64.tar.gz";
-        sha256 = "1h726ahb6mqzg83fl3m8wck5gz5hxczbpwmb5xl0yzz1m0s54czf";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v3.4.0-darwin-amd64.tar.gz";
+        sha256 = "0wy4ayrfqizf8izz5dgwv8xi5hvjh03jrg5lvglfph6549d4lpwc";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.2.0-darwin-amd64.tar.gz";
@@ -123,8 +123,8 @@
         sha256 = "1wwldhy6r6985rwx9vv73jb1nsna387sk6mba81lyc55ar67nsp9";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.4.1-darwin-amd64.tar.gz";
-        sha256 = "14kjmzmi5v5brz1cphpgr5k8clkr25vrc7wi8v36qmdhigv0kfbn";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.6.0-darwin-amd64.tar.gz";
+        sha256 = "062xzx7408xqlppw1nixs205i83436n0cbjngzc65wm03bzzj7mh";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v3.0.0-darwin-amd64.tar.gz";
@@ -135,8 +135,8 @@
         sha256 = "1dpsbq3b0fz86355jy7rz4kcsa1lnw4azn25vzlis89ay1ncbblc";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v5.11.0-darwin-amd64.tar.gz";
-        sha256 = "1k7yxajx3157qdanw1y11053k74rwlcvh828xrpwkzqszmzizxp9";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v5.15.0-darwin-amd64.tar.gz";
+        sha256 = "01vrivbdhsl50kiv092j2a5jvikhrw1kzpa5ags701l721zslycq";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.2.0-darwin-amd64.tar.gz";
@@ -147,16 +147,16 @@
         sha256 = "0qbw4b5zm6dmwdilaz4bjdg55gc5lilwagrxwrab37vq4a8and4c";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.1.0-darwin-amd64.tar.gz";
-        sha256 = "1fgh7q7sivip212q2zgvrgg3lwxrzasm9vpa858168fvjv67ylbc";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.2.0-darwin-amd64.tar.gz";
+        sha256 = "0bj7ir7dpkfsb75bjl45irwi692zxnys0125kmwdn8gnamlij5fx";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.5.0-darwin-amd64.tar.gz";
-        sha256 = "0cl8wg5g78c147pqy5q52qq9bd7hw8zgvfmdafszwzwz6xh1051b";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.6.0-darwin-amd64.tar.gz";
+        sha256 = "0i06q1hrxi84r8ss3ck7jgk3g4lblkjvgm3wx35v551l0ynmmqqw";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.2.0-darwin-amd64.tar.gz";
-        sha256 = "008jqnrl08g3gd38vg2yjwxdn288z75sbp3ghl2cbncfah2lwwja";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.3.0-darwin-amd64.tar.gz";
+        sha256 = "0fwbh02n7cjmv6d9jbqpjnmvvdp1cnsyhy7gxd2863j4w5f17q48";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.1.0-darwin-amd64.tar.gz";
@@ -167,8 +167,8 @@
         sha256 = "18vrp0zzi92x4l5nkjszvd0zr7pk6nl6s3h5a3hvsz5qrj2830q3";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v3.2.0-darwin-amd64.tar.gz";
-        sha256 = "08rmknpwrbc9h57a3ddg05s0idxbbrcf46i2gkqknjzs7dr6wzas";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v3.3.0-darwin-amd64.tar.gz";
+        sha256 = "0jlvdnvcmml009a84lfa6745qwjsifa9zmdrv4gqy9p76iydfs1n";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-packet-v3.2.2-darwin-amd64.tar.gz";
@@ -183,12 +183,12 @@
         sha256 = "0gd3xnl31892qp8ilz9lc1zdps77nf07jgvh0k37mink8f0ppy2z";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v4.1.0-darwin-amd64.tar.gz";
-        sha256 = "0nasbip85f1xjp6dfibw0nh133gf9cy5n4gdqnv5759bg92am7kg";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v4.3.0-darwin-amd64.tar.gz";
+        sha256 = "0ay8d84fc1hr1n4fpy1a4nj7bmhxzp86p0x68gz4rr9iwrd7xfgl";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.0.0-darwin-amd64.tar.gz";
-        sha256 = "09m0p5k8gkz37193vj1kwkdwbcvv04cwangwbp5xcn3c20q467xb";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.0.1-darwin-amd64.tar.gz";
+        sha256 = "1qb2gaiinclmbswyn5aakwjmm3gaggscckb1q2syx69k42hvp3s3";
       }
     ];
   };
diff --git a/nixpkgs/pkgs/tools/admin/pulumi/update.sh b/nixpkgs/pkgs/tools/admin/pulumi/update.sh
index efde5e7d6603..b65ea5e34968 100755
--- a/nixpkgs/pkgs/tools/admin/pulumi/update.sh
+++ b/nixpkgs/pkgs/tools/admin/pulumi/update.sh
@@ -3,33 +3,33 @@
 
 # Version of Pulumi from
 # https://www.pulumi.com/docs/get-started/install/versions/
-VERSION="3.6.0"
+VERSION="3.10.0"
 
 # Grab latest release ${VERSION} from
 # https://github.com/pulumi/pulumi-${NAME}/releases
 plugins=(
     "auth0=2.2.0"
-    "aws=4.10.0"
-    "cloudflare=3.2.0"
+    "aws=4.15.0"
+    "cloudflare=3.4.0"
     "consul=3.2.0"
     "datadog=3.3.0"
-    "digitalocean=4.4.1"
+    "digitalocean=4.6.0"
     "docker=3.0.0"
     "equinix-metal=2.0.0"
-    "gcp=5.11.0"
+    "gcp=5.15.0"
     "github=4.2.0"
     "gitlab=4.1.0"
-    "hcloud=1.1.0"
-    "kubernetes=3.5.0"
-    "linode=3.2.0"
+    "hcloud=1.2.0"
+    "kubernetes=3.6.0"
+    "linode=3.3.0"
     "mailgun=3.1.0"
     "mysql=3.0.0"
-    "openstack=3.2.0"
+    "openstack=3.3.0"
     "packet=3.2.2"
     "postgresql=3.1.0"
     "random=4.2.0"
-    "vault=4.1.0"
-    "vsphere=4.0.0"
+    "vault=4.3.0"
+    "vsphere=4.0.1"
 )
 
 function genMainSrc() {
diff --git a/nixpkgs/pkgs/tools/admin/realvnc-vnc-viewer/default.nix b/nixpkgs/pkgs/tools/admin/realvnc-vnc-viewer/default.nix
new file mode 100644
index 000000000000..690c215471cf
--- /dev/null
+++ b/nixpkgs/pkgs/tools/admin/realvnc-vnc-viewer/default.nix
@@ -0,0 +1,51 @@
+{ lib, stdenv, fetchurl, autoPatchelfHook, rpmextract, libX11, libXext }:
+
+stdenv.mkDerivation rec {
+  pname = "realvnc-vnc-viewer";
+  version = "6.21.406";
+
+  src = {
+    "x86_64-linux" = fetchurl {
+      url = "https://www.realvnc.com/download/file/viewer.files/VNC-Viewer-${version}-Linux-x64.rpm";
+      sha256 = "0rnizzanaykqg1vfy56p8abc4fmgpbibj54j4c1v81zsj3kmahka";
+    };
+    "i686-linux" = fetchurl {
+      url = "https://www.realvnc.com/download/file/viewer.files/VNC-Viewer-${version}-Linux-x86.rpm";
+      sha256 = "1rlxfiqymi1licn2spyiqa00kiwzhdr0pkh7vv3ai6gb9f6phk31";
+    };
+  }.${stdenv.system};
+
+  nativeBuildInputs = [ autoPatchelfHook rpmextract ];
+  buildInputs = [ libX11 libXext ];
+
+  unpackPhase = ''
+    rpmextract $src
+  '';
+
+  postPatch = ''
+    substituteInPlace ./usr/share/applications/realvnc-vncviewer.desktop \
+      --replace /usr/share/icons/hicolor/48x48/apps/vncviewer48x48.png vncviewer48x48.png
+    substituteInPlace ./usr/share/mimelnk/application/realvnc-vncviewer-mime.desktop \
+      --replace /usr/share/icons/hicolor/48x48/apps/vncviewer48x48.png vncviewer48x48.png
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    mv usr $out
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "VNC remote desktop client software by RealVNC";
+    homepage = "https://www.realvnc.com/en/connect/download/viewer/";
+    license = {
+      fullName = "VNC Connect End User License Agreement";
+      url = "https://static.realvnc.com/media/documents/LICENSE-4.0a_en.pdf";
+      free = false;
+    };
+    maintainers = with maintainers; [ angustrau ];
+    platforms = [ "x86_64-linux" "i686-linux" ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/admin/salt/default.nix b/nixpkgs/pkgs/tools/admin/salt/default.nix
index 0620bb285341..9e411e1ae3a4 100644
--- a/nixpkgs/pkgs/tools/admin/salt/default.nix
+++ b/nixpkgs/pkgs/tools/admin/salt/default.nix
@@ -7,11 +7,11 @@
 }:
 python3.pkgs.buildPythonApplication rec {
   pname = "salt";
-  version = "3003.1";
+  version = "3003.3";
 
   src = python3.pkgs.fetchPypi {
     inherit pname version;
-    sha256 = "inGE095NFydhjw0/u6eeVDia7/hbcvTOuCALzBZ/br4=";
+    sha256 = "pvnIyLXiYA6oYgtKZzcd4XYRvrT42X5LubCzCKN+0eI=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/nixpkgs/pkgs/tools/admin/sec/default.nix b/nixpkgs/pkgs/tools/admin/sec/default.nix
index 0afac976d09e..11a18dc199d4 100644
--- a/nixpkgs/pkgs/tools/admin/sec/default.nix
+++ b/nixpkgs/pkgs/tools/admin/sec/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sec";
-  version = "2.8.3";
+  version = "2.9.0";
 
   src = fetchFromGitHub {
     owner = "simple-evcorr";
     repo = "sec";
     rev = version;
-    sha256 = "0ryic5ilj1i5l41440i0ss6j3yv796fz3gr0qij5pqyd1z21md83";
+    sha256 = "sha256-WYSlIRhDBIDaza92VqCQcdMNicuRUX2IKY5CJyhswdI=";
   };
 
   buildInputs = [ perl ];
diff --git a/nixpkgs/pkgs/tools/admin/ssmsh/default.nix b/nixpkgs/pkgs/tools/admin/ssmsh/default.nix
index 3ed29af25fdc..6c4785c81c59 100644
--- a/nixpkgs/pkgs/tools/admin/ssmsh/default.nix
+++ b/nixpkgs/pkgs/tools/admin/ssmsh/default.nix
@@ -15,7 +15,7 @@ buildGoModule rec {
 
   doCheck = true;
 
-  buildFlagsArray = [ "-ldflags=-w -s -X main.Version=${version}" ];
+  ldflags = [ "-w" "-s" "-X main.Version=${version}" ];
 
   meta = with lib; {
     homepage = "https://github.com/bwhaley/ssmsh";
diff --git a/nixpkgs/pkgs/tools/admin/stripe-cli/default.nix b/nixpkgs/pkgs/tools/admin/stripe-cli/default.nix
index 13620d164e67..d812cd4b294f 100644
--- a/nixpkgs/pkgs/tools/admin/stripe-cli/default.nix
+++ b/nixpkgs/pkgs/tools/admin/stripe-cli/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "stripe-cli";
-  version = "1.5.12";
+  version = "1.7.0";
 
   src = fetchFromGitHub {
     owner = "stripe";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-eMxukwaJqsXL0+Euvk5mM+pcAsT3GsF9filuyRL4tXg=";
+    sha256 = "sha256-CO+2BpMIUSaOhdia75zDGR4RZQSaxY05Z6TOKxBlKIw=";
   };
 
-  vendorSha256 = "sha256-e7EZ5o30vDpS904/R1y7/Mds7HxQNmsIftrnc1Bj2bc=";
+  vendorSha256 = "sha256-LOSHoEP0YRjfHav3MXSYPPrrjX6/ItxeVMOihRx0DTQ=";
 
   subPackages = [
     "cmd/stripe"
diff --git a/nixpkgs/pkgs/tools/admin/tightvnc/default.nix b/nixpkgs/pkgs/tools/admin/tightvnc/default.nix
index 1bfb3be113da..0da2e7875f08 100644
--- a/nixpkgs/pkgs/tools/admin/tightvnc/default.nix
+++ b/nixpkgs/pkgs/tools/admin/tightvnc/default.nix
@@ -1,11 +1,12 @@
 { lib, stdenv, fetchurl, xlibsWrapper, zlib, libjpeg, imake, gccmakedep, libXmu
 , libXaw, libXpm, libXp , perl, xauth, fontDirectories, openssh }:
 
-stdenv.mkDerivation {
-  name = "tightvnc-1.3.10";
+stdenv.mkDerivation rec {
+  pname = "tightvnc";
+  version = "1.3.10";
 
   src = fetchurl {
-    url = "mirror://sourceforge/vnc-tight/tightvnc-1.3.10_unixsrc.tar.bz2";
+    url = "mirror://sourceforge/vnc-tight/tightvnc-${version}_unixsrc.tar.bz2";
     sha256 = "f48c70fea08d03744ae18df6b1499976362f16934eda3275cead87baad585c0d";
   };
 
diff --git a/nixpkgs/pkgs/tools/admin/trivy/default.nix b/nixpkgs/pkgs/tools/admin/trivy/default.nix
index 50ca76f0d6d3..c3b90d99bafb 100644
--- a/nixpkgs/pkgs/tools/admin/trivy/default.nix
+++ b/nixpkgs/pkgs/tools/admin/trivy/default.nix
@@ -15,9 +15,9 @@ buildGoModule rec {
 
   excludedPackages = "misc";
 
-  preBuild = ''
-    buildFlagsArray+=("-ldflags" "-s -w -X main.version=v${version}")
-  '';
+  ldflags = [
+    "-s" "-w" "-X main.version=v${version}"
+  ];
 
   doInstallCheck = true;
   installCheckPhase = ''
diff --git a/nixpkgs/pkgs/tools/archivers/atool/default.nix b/nixpkgs/pkgs/tools/archivers/atool/default.nix
index 419a7d04ee33..8303a1b4277b 100644
--- a/nixpkgs/pkgs/tools/archivers/atool/default.nix
+++ b/nixpkgs/pkgs/tools/archivers/atool/default.nix
@@ -1,9 +1,11 @@
 {lib, stdenv, fetchurl, perl, bash}:
 
-stdenv.mkDerivation {
-  name = "atool-0.39.0";
+stdenv.mkDerivation rec {
+  pname = "atool";
+  version = "0.39.0";
+
   src = fetchurl {
-    url = "mirror://savannah/atool/atool-0.39.0.tar.gz";
+    url = "mirror://savannah/atool/atool-${version}.tar.gz";
     sha256 = "aaf60095884abb872e25f8e919a8a63d0dabaeca46faeba87d12812d6efc703b";
   };
 
diff --git a/nixpkgs/pkgs/tools/archivers/cabextract/default.nix b/nixpkgs/pkgs/tools/archivers/cabextract/default.nix
index 3ed07544bb2b..4dddc4a5a6ae 100644
--- a/nixpkgs/pkgs/tools/archivers/cabextract/default.nix
+++ b/nixpkgs/pkgs/tools/archivers/cabextract/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "cabextract-1.9.1";
+  pname = "cabextract";
+  version = "1.9.1";
 
   src = fetchurl {
-    url = "https://www.cabextract.org.uk/${name}.tar.gz";
+    url = "https://www.cabextract.org.uk/cabextract-${version}.tar.gz";
     sha256 = "19qwhl2r8ip95q4vxzxg2kp4p125hjmc9762sns1dwwf7ikm7hmg";
   };
 
diff --git a/nixpkgs/pkgs/tools/archivers/corearchiver/default.nix b/nixpkgs/pkgs/tools/archivers/corearchiver/default.nix
new file mode 100644
index 000000000000..217520dde994
--- /dev/null
+++ b/nixpkgs/pkgs/tools/archivers/corearchiver/default.nix
@@ -0,0 +1,33 @@
+{ mkDerivation, lib, fetchFromGitLab, qtbase, libarchive, libarchive-qt, libcprime, cmake, ninja, }:
+
+mkDerivation rec {
+  pname = "corearchiver";
+  version = "4.2.0";
+
+  src = fetchFromGitLab {
+    owner = "cubocore/coreapps";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-FJGsQp1lbsrvlzKPiTv/FC9RH2+JRwwIvkLDTFW8t5s=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    ninja
+  ];
+
+  buildInputs = [
+    qtbase
+    libcprime
+    libarchive-qt
+    libarchive
+  ];
+
+  meta = with lib; {
+    description = "Archiver from the C Suite to create and extract archives";
+    homepage = "https://gitlab.com/cubocore/coreapps/corearchiver";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ dan4ik605743 ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/archivers/cromfs/default.nix b/nixpkgs/pkgs/tools/archivers/cromfs/default.nix
index bed0485e44a2..899640d90c45 100644
--- a/nixpkgs/pkgs/tools/archivers/cromfs/default.nix
+++ b/nixpkgs/pkgs/tools/archivers/cromfs/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, fuse, perl }:
 
 stdenv.mkDerivation rec {
-  name = "cromfs-1.5.10.2";
+  pname = "cromfs";
+  version = "1.5.10.2";
 
   src = fetchurl {
-    url = "https://bisqwit.iki.fi/src/arch/${name}.tar.bz2";
+    url = "https://bisqwit.iki.fi/src/arch/cromfs-${version}.tar.bz2";
     sha256 = "0xy2x1ws1qqfp7hfj6yzm80zhrxzmhn0w2yns77im1lmd2h18817";
   };
 
diff --git a/nixpkgs/pkgs/tools/archivers/innoextract/default.nix b/nixpkgs/pkgs/tools/archivers/innoextract/default.nix
index 4822ea82d1e6..d2e1bebb3676 100644
--- a/nixpkgs/pkgs/tools/archivers/innoextract/default.nix
+++ b/nixpkgs/pkgs/tools/archivers/innoextract/default.nix
@@ -3,10 +3,11 @@
 , withGog ? false, unar ? null }:
 
 stdenv.mkDerivation rec {
-  name = "innoextract-1.9";
+  pname = "innoextract";
+  version = "1.9";
 
   src = fetchurl {
-    url = "https://constexpr.org/innoextract/files/${name}.tar.gz";
+    url = "https://constexpr.org/innoextract/files/innoextract-${version}.tar.gz";
     sha256 = "09l1z1nbl6ijqqwszdwch9mqr54qb7df0wp2sd77v17dq6gsci33";
   };
 
diff --git a/nixpkgs/pkgs/tools/archivers/maxcso/default.nix b/nixpkgs/pkgs/tools/archivers/maxcso/default.nix
index ed81a1825257..1e7fe73728de 100644
--- a/nixpkgs/pkgs/tools/archivers/maxcso/default.nix
+++ b/nixpkgs/pkgs/tools/archivers/maxcso/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "maxcso";
-  version = "1.12.0";
+  version = "1.13.0";
 
   src = fetchFromGitHub {
     owner = "unknownbrackets";
     repo = "maxcso";
     rev = "v${version}";
-    sha256 = "10r0vb3ndpq1pw5224d48nim5xz8jj94zhlfy29br6h6jblq8zap";
+    sha256 = "sha256-6LjR1ZMZsi6toz9swPzNmSAlrUykwvVdYi1mR8Ctq5U=";
   };
 
   buildInputs = [ libuv lz4 zlib ];
diff --git a/nixpkgs/pkgs/tools/archivers/pxattr/default.nix b/nixpkgs/pkgs/tools/archivers/pxattr/default.nix
index 79a40e6ca6be..57eb7e6f87a1 100644
--- a/nixpkgs/pkgs/tools/archivers/pxattr/default.nix
+++ b/nixpkgs/pkgs/tools/archivers/pxattr/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, gcc }:
 
-stdenv.mkDerivation {
-  name = "pxattr-2.1.0";
+stdenv.mkDerivation rec {
+  pname = "pxattr";
+  version = "2.1.0";
 
   src = fetchurl {
-    url = "https://www.lesbonscomptes.com/pxattr/pxattr-2.1.0.tar.gz";
+    url = "https://www.lesbonscomptes.com/pxattr/pxattr-${version}.tar.gz";
     sha256 = "1dwcqc5z7gzma1zhis2md49bj2nq7m6jimh4zlx9szw6svisz56z";
   };
 
diff --git a/nixpkgs/pkgs/tools/archivers/wimlib/default.nix b/nixpkgs/pkgs/tools/archivers/wimlib/default.nix
index 4f397b9bf55f..cca62edfce6d 100644
--- a/nixpkgs/pkgs/tools/archivers/wimlib/default.nix
+++ b/nixpkgs/pkgs/tools/archivers/wimlib/default.nix
@@ -8,7 +8,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.13.2";
+  version = "1.13.4";
   pname = "wimlib";
 
   nativeBuildInputs = [ pkg-config makeWrapper ];
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://wimlib.net/downloads/${pname}-${version}.tar.gz";
-    sha256 = "0id9ym3hzij4kpdrk0sz3ijxp5r0z1md5jch83pml9hdy1zbx5bj";
+    sha256 = "sha256-S4fdCtnMGljO5XIa/ruYAR2rVJ5y8rVVM/MV8Isu3hI=";
   };
 
   preBuild = ''
diff --git a/nixpkgs/pkgs/tools/audio/abcm2ps/default.nix b/nixpkgs/pkgs/tools/audio/abcm2ps/default.nix
index 08f8e03885ee..b94d514e8ece 100644
--- a/nixpkgs/pkgs/tools/audio/abcm2ps/default.nix
+++ b/nixpkgs/pkgs/tools/audio/abcm2ps/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "abcm2ps";
-  version = "8.14.11";
+  version = "8.14.12";
 
   src = fetchFromGitHub {
     owner = "leesavide";
     repo = "abcm2ps";
     rev = "v${version}";
-    sha256 = "0lzzr2nkfg27gljcrdxkmli1wp08vap3vgxq1zgkv7f43rbm0qnw";
+    sha256 = "sha256-RELWtI+S2cbG7cXCehXymvWRdair28UaDZRVr5xt9Tk=";
   };
 
   configureFlags = [
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "http://moinejf.free.fr/";
-    license = licenses.gpl3;
+    license = licenses.lgpl3Plus;
     description = "A command line program which converts ABC to music sheet in PostScript or SVG format";
     platforms = platforms.unix;
     maintainers = [ maintainers.dotlambda ];
diff --git a/nixpkgs/pkgs/tools/audio/audiowaveform/default.nix b/nixpkgs/pkgs/tools/audio/audiowaveform/default.nix
index e120f6fcbf0e..ab56a9890b0c 100644
--- a/nixpkgs/pkgs/tools/audio/audiowaveform/default.nix
+++ b/nixpkgs/pkgs/tools/audio/audiowaveform/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "audiowaveform";
-  version = "1.4.2";
+  version = "1.5.1";
 
   src = fetchFromGitHub {
     owner = "bbc";
     repo = "audiowaveform";
     rev = version;
-    sha256 = "0k2s2f2hgq4pnjzfkgvjwgsflihmzdq7shicfjn0z2mzw4d1bvp2";
+    sha256 = "sha256-WODAgiwZ7UfoukTcujXE5atw/Z03+Vo6aR2jubPwQeU=";
   };
 
   nativeBuildInputs = [ cmake gtest ];
@@ -16,8 +16,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ boost gd libsndfile libmad libid3tag ];
 
   preConfigure = ''
-    ln -s ${gtest.src}/googletest googletest
-    ln -s ${gtest.src}/googlemock googlemock
+    ln -s ${gtest.src} googletest
   '';
 
   # One test is failing, see PR #101947
diff --git a/nixpkgs/pkgs/tools/audio/beets/default.nix b/nixpkgs/pkgs/tools/audio/beets/default.nix
index 059174ae0a27..7114d6801b47 100644
--- a/nixpkgs/pkgs/tools/audio/beets/default.nix
+++ b/nixpkgs/pkgs/tools/audio/beets/default.nix
@@ -100,18 +100,13 @@ let
 
 in pythonPackages.buildPythonApplication rec {
   pname = "beets";
-  # While there is a stable version, 1.4.9, it is more than 1000 commits behind
-  # master and lacks many bug fixes and improvements[1]. Also important,
-  # unstable does not require bs1770gain[2].
-  # [1]: https://discourse.beets.io/t/forming-a-beets-core-team/639
-  # [2]: https://github.com/NixOS/nixpkgs/pull/90504
-  version = "unstable-2021-05-13";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = "beetbox";
     repo = "beets";
-    rev = "1faa41f8c558d3f4415e5e48cf4513d50b466d34";
-    sha256 = "sha256-P0bV7WNqCYe9+3lqnFmAoRlb2asdsBUjzRMc24RngpU=";
+    rev = "v${version}";
+    sha256 = "sha256-yQMCJUwpjDDhPffBS6LUq6z4iT1VyFQE0R27XEbYXbY=";
   };
 
   propagatedBuildInputs = [
@@ -266,12 +261,11 @@ in pythonPackages.buildPythonApplication rec {
   passthru = {
     # FIXME: remove in favor of pkgs.beetsExternalPlugins
     externalPlugins = beetsExternalPlugins;
-    updateScript = unstableGitUpdater { url = "https://github.com/beetbox/beets"; };
   };
 
   meta = with lib; {
     description = "Music tagger and library organizer";
-    homepage = "http://beets.io";
+    homepage = "https://beets.io";
     license = licenses.mit;
     maintainers = with maintainers; [ aszlig doronbehar lovesegfault pjones ];
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/tools/audio/darkice/default.nix b/nixpkgs/pkgs/tools/audio/darkice/default.nix
index 1ff66e83e5a4..bc3bcbe4eff2 100644
--- a/nixpkgs/pkgs/tools/audio/darkice/default.nix
+++ b/nixpkgs/pkgs/tools/audio/darkice/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "darkice";
-  version = "1.3";
+  version = "1.4";
 
   src = fetchurl {
-    url = "mirror://sourceforge/darkice/${version}/darkice-${version}.tar.gz";
-    sha256 = "1rlxds7ssq7nk2in4s46xws7xy9ylxsqgcz85hxjgh17lsm0y39c";
+    url = "https://github.com/rafael2k/darkice/releases/download/v${version}/darkice-${version}.tar.gz";
+    sha256 = "05yq7lggxygrkd76yiqby3msrgdn082p0qlvmzzv9xbw8hmyra76";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/nixpkgs/pkgs/tools/audio/gvolicon/default.nix b/nixpkgs/pkgs/tools/audio/gvolicon/default.nix
index 9ef8eb43772a..852f538d6e31 100644
--- a/nixpkgs/pkgs/tools/audio/gvolicon/default.nix
+++ b/nixpkgs/pkgs/tools/audio/gvolicon/default.nix
@@ -1,7 +1,9 @@
 { lib, stdenv, makeWrapper, alsa-lib, pkg-config, fetchgit, gtk3, gnome, gdk-pixbuf, librsvg, wrapGAppsHook }:
 
 stdenv.mkDerivation {
-  name = "gvolicon-2014-04-28";
+  pname = "gvolicon";
+  version = "unstable-2014-04-28";
+
   src = fetchgit {
     url = "https://github.com/Unia/gvolicon";
     rev = "0d65a396ba11f519d5785c37fec3e9a816217a07";
diff --git a/nixpkgs/pkgs/tools/audio/midicsv/default.nix b/nixpkgs/pkgs/tools/audio/midicsv/default.nix
index cf55e0dd81d5..698205a2b076 100644
--- a/nixpkgs/pkgs/tools/audio/midicsv/default.nix
+++ b/nixpkgs/pkgs/tools/audio/midicsv/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "midicsv-1.1";
+  pname = "midicsv";
+  version = "1.1";
 
   src = fetchurl {
-    url = "http://www.fourmilab.ch/webtools/midicsv/${name}.tar.gz";
+    url = "http://www.fourmilab.ch/webtools/midicsv/midicsv-${version}.tar.gz";
     sha256 = "1vvhk2nf9ilfw0wchmxy8l13hbw9cnpz079nsx5srsy4nnd78nkw";
   };
 
diff --git a/nixpkgs/pkgs/tools/audio/mididings/default.nix b/nixpkgs/pkgs/tools/audio/mididings/default.nix
index f220fed208f1..9913ea911ebb 100644
--- a/nixpkgs/pkgs/tools/audio/mididings/default.nix
+++ b/nixpkgs/pkgs/tools/audio/mididings/default.nix
@@ -1,6 +1,6 @@
-{ lib, pythonPackages, fetchFromGitHub, pkg-config, glib, alsa-lib, libjack2  }:
+{ lib, python2Packages, fetchFromGitHub, pkg-config, glib, alsa-lib, libjack2  }:
 
-pythonPackages.buildPythonApplication {
+python2Packages.buildPythonApplication {
   version = "2015-11-17";
   pname = "mididings";
 
@@ -12,8 +12,8 @@ pythonPackages.buildPythonApplication {
   };
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ glib alsa-lib libjack2 pythonPackages.boost ];
-  propagatedBuildInputs = with pythonPackages; [ decorator ]
+  buildInputs = [ glib alsa-lib libjack2 python2Packages.boost ];
+  propagatedBuildInputs = with python2Packages; [ decorator ]
     # for livedings
     ++ [ tkinter pyliblo ]
     # for mididings.extra
@@ -25,7 +25,7 @@ pythonPackages.buildPythonApplication {
 
   preBuild = with lib.versions; ''
     substituteInPlace setup.py \
-      --replace boost_python "boost_python${major pythonPackages.python.version}${minor pythonPackages.python.version}"
+      --replace boost_python "boost_python${major python2Packages.python.version}${minor python2Packages.python.version}"
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/audio/mpdsync/default.nix b/nixpkgs/pkgs/tools/audio/mpdsync/default.nix
index 51f5ba656168..c89404fbba1c 100644
--- a/nixpkgs/pkgs/tools/audio/mpdsync/default.nix
+++ b/nixpkgs/pkgs/tools/audio/mpdsync/default.nix
@@ -1,7 +1,8 @@
 { stdenv, python2, fetchFromGitHub }:
 with python2.pkgs;
 stdenv.mkDerivation {
-  name = "mpdsync-2017-06-15";
+  pname = "mpdsync";
+  version = "unstable-2017-06-15";
 
   src = fetchFromGitHub {
     owner = "alphapapa";
diff --git a/nixpkgs/pkgs/tools/audio/pa-applet/default.nix b/nixpkgs/pkgs/tools/audio/pa-applet/default.nix
index 358e662ca1e0..6adc24e5300d 100644
--- a/nixpkgs/pkgs/tools/audio/pa-applet/default.nix
+++ b/nixpkgs/pkgs/tools/audio/pa-applet/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchgit, libpulseaudio, pkg-config, gtk3, glibc, autoconf, automake, libnotify, libX11, xf86inputevdev }:
 
 stdenv.mkDerivation {
-  name = "pa-applet-2012-04-11";
+  pname = "pa-applet";
+  version = "unstable-2012-04-11";
 
   src = fetchgit {
     url = "git://github.com/fernandotcl/pa-applet.git";
diff --git a/nixpkgs/pkgs/tools/audio/picotts/default.nix b/nixpkgs/pkgs/tools/audio/picotts/default.nix
index 03f446dc215b..5c995f407a7b 100644
--- a/nixpkgs/pkgs/tools/audio/picotts/default.nix
+++ b/nixpkgs/pkgs/tools/audio/picotts/default.nix
@@ -1,7 +1,9 @@
 { lib, stdenv, fetchFromGitHub, autoconf, automake, libtool, popt }:
 
 stdenv.mkDerivation {
-  name = "picotts-unstable-2018-10-19";
+  pname = "picotts";
+  version = "unstable-2018-10-19";
+
   src = fetchFromGitHub {
     repo = "picotts";
     owner = "naggety";
diff --git a/nixpkgs/pkgs/tools/audio/spotdl/default.nix b/nixpkgs/pkgs/tools/audio/spotdl/default.nix
index 71e8615a114f..2ecfba8772f6 100644
--- a/nixpkgs/pkgs/tools/audio/spotdl/default.nix
+++ b/nixpkgs/pkgs/tools/audio/spotdl/default.nix
@@ -6,13 +6,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "spotdl";
-  version = "3.6.3";
+  version = "3.7.2";
 
   src = fetchFromGitHub {
     owner = "spotDL";
     repo = "spotify-downloader";
     rev = "v${version}";
-    sha256 = "sha256-Ok8DOw+Joy35IqN7sNOQcUWYJS8tqBeQ5/I8fUSly7Q=";
+    sha256 = "sha256-ftSnlruSv+RtvjTpZPYg9Z2EK4th8NbDhVlG2eIc87s=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
@@ -26,6 +26,7 @@ python3.pkgs.buildPythonApplication rec {
     beautifulsoup4
     requests
     unidecode
+    youtube-dl
   ];
 
   checkInputs = with python3.pkgs; [
diff --git a/nixpkgs/pkgs/tools/audio/tts/default.nix b/nixpkgs/pkgs/tools/audio/tts/default.nix
index 7906c92ba881..eb1ea2aa5923 100644
--- a/nixpkgs/pkgs/tools/audio/tts/default.nix
+++ b/nixpkgs/pkgs/tools/audio/tts/default.nix
@@ -1,5 +1,5 @@
 { lib
-, python38
+, python3
 , fetchFromGitHub
 , fetchpatch
 }:
@@ -10,33 +10,28 @@
 # $ tts-server --model_name tts_models/en/ljspeech/glow-tts --vocoder_name vocoder_models/universal/libri-tts/fullband-melgan
 #
 # If you upgrade from an old version you may have to delete old models from ~/.local/share/tts
-# Also note that your tts version might not support all available models so check:
-#   https://github.com/coqui-ai/TTS/releases/tag/v0.1.2
 #
 # For now, for deployment check the systemd unit in the pull request:
 #   https://github.com/NixOS/nixpkgs/pull/103851#issue-521121136
 
-let
-  python3 = python38;
-in python3.pkgs.buildPythonApplication rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "tts";
-  version = "0.1.2";
-
-  # https://github.com/coqui-ai/TTS/issues/570
-  disabled = python3.pythonAtLeast "3.9";
+  version = "0.2.1";
 
   src = fetchFromGitHub {
     owner = "coqui-ai";
     repo = "TTS";
     rev = "v${version}";
-    sha256 = "1qgiaqn7iqxyf54qgnpmli69nw9s3gmi9qv874jsgycykc10hjg4";
+    sha256 = "sha256-7YMNxZ15qQowEE0tE6x/LbtirNGp7h9OLyS1JSl9x2A=";
   };
 
   postPatch = ''
-    sed -i -e 's!librosa==[^"]*!librosa!' requirements.txt
-    sed -i -e 's!numba==[^"]*!numba!' requirements.txt
-    sed -i -e 's!numpy==[^"]*!numpy!' requirements.txt
-    sed -i -e 's!umap-learn==[^"]*!umap-learn!' requirements.txt
+    sed -i requirements.txt \
+      -e 's!librosa==[^"]*!librosa!' \
+      -e 's!mecab-python3==[^"]*!mecab-python3!' \
+      -e 's!numba==[^"]*!numba!' \
+      -e 's!numpy==[^"]*!numpy!' \
+      -e 's!umap-learn==[^"]*!umap-learn!'
   '';
 
   nativeBuildInputs = with python3.pkgs; [
@@ -47,6 +42,7 @@ in python3.pkgs.buildPythonApplication rec {
     anyascii
     coqpit
     flask
+    fsspec
     gruut
     gdown
     inflect
@@ -111,6 +107,7 @@ in python3.pkgs.buildPythonApplication rec {
     "tests/vocoder_tests/test_vocoder_tf_melgan_generator.py"
     "tests/tts_tests/test_tacotron2_tf_model.py"
     # RuntimeError: fft: ATen not compiled with MKL support
+    "tests/tts_tests/test_vits_train.py"
     "tests/vocoder_tests/test_fullband_melgan_train.py"
     "tests/vocoder_tests/test_hifigan_train.py"
     "tests/vocoder_tests/test_melgan_train.py"
diff --git a/nixpkgs/pkgs/tools/audio/yabridge/default.nix b/nixpkgs/pkgs/tools/audio/yabridge/default.nix
index cbe35765cb4f..ac5767b24219 100644
--- a/nixpkgs/pkgs/tools/audio/yabridge/default.nix
+++ b/nixpkgs/pkgs/tools/audio/yabridge/default.nix
@@ -1,5 +1,5 @@
 { lib
-, stdenv
+, multiStdenv
 , fetchFromGitHub
 , substituteAll
 , meson
@@ -8,6 +8,7 @@
 , wine
 , boost
 , libxcb
+, pkgsi686Linux
 }:
 
 let
@@ -55,16 +56,16 @@ let
       sha256 = "sha256-39pvfcg4fvf7DAbAPzEHA1ja1LFL6r88nEwNYwaDC8w=";
     };
   };
-in stdenv.mkDerivation rec {
+in multiStdenv.mkDerivation rec {
   pname = "yabridge";
-  version = "3.3.1";
+  version = "3.5.2";
 
   # NOTE: Also update yabridgectl's cargoHash when this is updated
   src = fetchFromGitHub {
     owner = "robbert-vdh";
     repo = pname;
     rev = version;
-    hash = "sha256-3B+6YuCWVJljqdyGpePjPf5JDwLSWFNgOCeLt8e4mO8=";
+    hash = "sha256-SLiksc8lQo2A5sefKbcaJyhi8vPdp2p2Jbc7bvM0sDw=";
   };
 
   # Unpack subproject sources
@@ -109,6 +110,7 @@ in stdenv.mkDerivation rec {
 
   mesonFlags = [
     "--cross-file" "cross-wine.conf"
+    "-Dwith-bitbridge=true"
 
     # Requires CMake and is unnecessary
     "-Dtomlplusplus:GENERATE_CMAKE_CONFIG=disabled"
@@ -118,11 +120,16 @@ in stdenv.mkDerivation rec {
     "-Dtomlplusplus:BUILD_TESTS=disabled"
   ];
 
+  preConfigure = ''
+    sed -i "214s|xcb.*|xcb_32bit_dep = winegcc.find_library('xcb', dirs: [ '${lib.getLib pkgsi686Linux.xorg.libxcb}/lib', ])|" meson.build
+    sed -i "192 i '${lib.getLib pkgsi686Linux.boost}/lib'," meson.build
+  '';
+
   installPhase = ''
     runHook preInstall
     mkdir -p "$out/bin" "$out/lib"
-    cp yabridge-group.exe{,.so} "$out/bin"
-    cp yabridge-host.exe{,.so} "$out/bin"
+    cp yabridge-group*.exe{,.so} "$out/bin"
+    cp yabridge-host*.exe{,.so} "$out/bin"
     cp libyabridge-vst2.so "$out/lib"
     cp libyabridge-vst3.so "$out/lib"
     runHook postInstall
diff --git a/nixpkgs/pkgs/tools/audio/yabridge/hardcode-wine.patch b/nixpkgs/pkgs/tools/audio/yabridge/hardcode-wine.patch
index 2b6ce1f448fa..d58aedeb27ff 100644
--- a/nixpkgs/pkgs/tools/audio/yabridge/hardcode-wine.patch
+++ b/nixpkgs/pkgs/tools/audio/yabridge/hardcode-wine.patch
@@ -1,13 +1,13 @@
 diff --git a/src/plugin/utils.cpp b/src/plugin/utils.cpp
-index 1ff05bc..0723456 100644
+index 7fb7d1b3..eb227101 100644
 --- a/src/plugin/utils.cpp
 +++ b/src/plugin/utils.cpp
-@@ -351,7 +351,7 @@ std::string get_wine_version() {
+@@ -105,5 +105,5 @@ std::string PluginInfo::wine_version() const {
          access(wineloader_path.c_str(), X_OK) == 0) {
          wine_path = wineloader_path;
      } else {
 -        wine_path = bp::search_path("wine").string();
 +        wine_path = "@wine@/bin/wine";
      }
- 
+
      bp::ipstream output;
diff --git a/nixpkgs/pkgs/tools/audio/yabridgectl/default.nix b/nixpkgs/pkgs/tools/audio/yabridgectl/default.nix
index bf0913372beb..35c8b0c5aeff 100644
--- a/nixpkgs/pkgs/tools/audio/yabridgectl/default.nix
+++ b/nixpkgs/pkgs/tools/audio/yabridgectl/default.nix
@@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec {
 
   src = yabridge.src;
   sourceRoot = "source/tools/yabridgectl";
-  cargoHash = "sha256-f5k5OF+bEzH0b6M14Mdp8t4Qd5dP5Qj2fDsdiG1MkYk=";
+  cargoHash = "sha256-2x3qB0LbCBUZ4zqKIXPtYdWis+4QANTaJdFvoFbccGE=";
 
   patches = [
     # By default, yabridgectl locates libyabridge.so by using
diff --git a/nixpkgs/pkgs/tools/backup/btar/default.nix b/nixpkgs/pkgs/tools/backup/btar/default.nix
index af253ccd7e6a..c77aa5b82b62 100644
--- a/nixpkgs/pkgs/tools/backup/btar/default.nix
+++ b/nixpkgs/pkgs/tools/backup/btar/default.nix
@@ -1,21 +1,30 @@
-{ lib, stdenv, fetchurl, librsync }:
+{ lib, stdenv, fetchurl, fetchpatch, librsync }:
 
 stdenv.mkDerivation rec {
-  name = "btar-1.1.1";
+  pname = "btar";
+  version = "1.1.1";
+
   src = fetchurl {
-    url = "http://vicerveza.homeunix.net/~viric/soft/btar/${name}.tar.gz";
+    url = "https://vicerveza.homeunix.net/~viric/soft/btar/btar-${version}.tar.gz";
     sha256 = "0miklk4bqblpyzh1bni4x6lqn88fa8fjn15x1k1n8bxkx60nlymd";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://build.opensuse.org/public/source/openSUSE:Factory/btar/btar-librsync.patch?rev=2";
+      sha256 = "1awqny9489vsfffav19s73xxg26m7zrhvsgf1wxb8c2izazwr785";
+    })
+  ];
+
   buildInputs = [ librsync ];
 
-  installPhase = "make install PREFIX=$out";
+  makeFlags = [ "PREFIX=$(out)" ];
 
-  meta = {
+  meta = with lib; {
     description = "Tar-compatible block-based archiver";
     license = lib.licenses.gpl3Plus;
-    homepage = "http://viric.name/cgi-bin/btar";
-    platforms = with lib.platforms; all;
-    maintainers = with lib.maintainers; [viric];
+    homepage = "https://viric.name/cgi-bin/btar";
+    platforms = platforms.all;
+    maintainers = with maintainers; [ viric ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/backup/bupstash/default.nix b/nixpkgs/pkgs/tools/backup/bupstash/default.nix
index 44d16549cdda..ccf9115c1e75 100644
--- a/nixpkgs/pkgs/tools/backup/bupstash/default.nix
+++ b/nixpkgs/pkgs/tools/backup/bupstash/default.nix
@@ -1,16 +1,16 @@
 { lib, fetchFromGitHub, installShellFiles, rustPlatform, ronn, pkg-config, libsodium }:
 rustPlatform.buildRustPackage rec {
   pname = "bupstash";
-  version = "0.9.1";
+  version = "0.10.2";
 
   src = fetchFromGitHub {
     owner = "andrewchambers";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-DzRGhdUxfBW6iazpCHlQ9J8IL10FVxhac8kx6yBSGNk=";
+    sha256 = "sha256-0PKQYvKmAGP4/15nKhB+aZh8PF9dtDFjXEuPCA5tDYk=";
   };
 
-  cargoSha256 = "sha256-IKk4VsO/oH4nC6F1W+JA3Agl7oXXNJ7zpP2PYpPLREU=";
+  cargoSha256 = "sha256-6zVWKVtTL6zbB4Uulq+sK4vm3qAC0B5kf0DmDv5aneo=";
 
   nativeBuildInputs = [ ronn pkg-config installShellFiles ];
   buildInputs = [ libsodium ];
diff --git a/nixpkgs/pkgs/tools/backup/dirvish/default.nix b/nixpkgs/pkgs/tools/backup/dirvish/default.nix
index a26bdb0d9a3f..4f99e60f4dbe 100644
--- a/nixpkgs/pkgs/tools/backup/dirvish/default.nix
+++ b/nixpkgs/pkgs/tools/backup/dirvish/default.nix
@@ -1,9 +1,11 @@
 { fetchurl, lib, stdenv, makeWrapper, perl, perlPackages }:
 
 stdenv.mkDerivation rec {
-  name = "dirvish-1.2.1";
+  pname = "dirvish";
+  version = "1.2.1";
+
   src = fetchurl {
-    url = "http://dirvish.org/${name}.tgz";
+    url = "http://dirvish.org/dirvish${version}.tgz";
     sha256 = "6b7f29c3541448db3d317607bda3eb9bac9fb3c51f970611ffe27e9d63507dcd";
   };
 
diff --git a/nixpkgs/pkgs/tools/backup/discordchatexporter-cli/default.nix b/nixpkgs/pkgs/tools/backup/discordchatexporter-cli/default.nix
index 770a64b841c3..9cf489c4db5d 100644
--- a/nixpkgs/pkgs/tools/backup/discordchatexporter-cli/default.nix
+++ b/nixpkgs/pkgs/tools/backup/discordchatexporter-cli/default.nix
@@ -7,13 +7,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "discordchatexporter-cli";
-  version = "2.29";
+  version = "2.30";
 
   src = fetchFromGitHub {
     owner = "tyrrrz";
     repo = "discordchatexporter";
     rev = version;
-    sha256 = "0hbhDlGEK2rxuCByW8RaT/0vne8Z+q0ZobCkW1FBoG8=";
+    sha256 = "uTOeRsEab4vaAwtfysUTM3xFP5UMxpUQnuuU8hv3nk8=";
   };
 
   nativeBuildInputs = [ dotnet-sdk_5 dotnetPackages.Nuget cacert makeWrapper autoPatchelfHook ];
diff --git a/nixpkgs/pkgs/tools/backup/discordchatexporter-cli/deps.nix b/nixpkgs/pkgs/tools/backup/discordchatexporter-cli/deps.nix
index 9849e6c63662..f861a9cfdfb0 100644
--- a/nixpkgs/pkgs/tools/backup/discordchatexporter-cli/deps.nix
+++ b/nixpkgs/pkgs/tools/backup/discordchatexporter-cli/deps.nix
@@ -1,72 +1,16 @@
 { fetchNuGet }: [
-  (fetchNuGet {
-    name = "CliFx";
-    version = "2.0.6";
-    sha256 = "09yyjgpp52b0r3mqlvx75ld4vjp8hry7ql7r20nnvj0lach6fyh6";
-  })
-  (fetchNuGet {
-    name = "Gress";
-    version = "1.2.0";
-    sha256 = "0aidc9whi0718gh896j7xkyndki9x7rifd8n1n681afb2zbxw4bn";
-  })
-  (fetchNuGet {
-    name = "JsonExtensions";
-    version = "1.1.0";
-    sha256 = "1fqxb2jdbvjgg135wmy890qf63r056dq16jy7wgzkgp21m3j0lgy";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.App.Ref";
-    version = "3.1.10";
-    sha256 = "0xn4zh7shvijqlr03fqsmps6gz856isd9bg9rk4z2c4599ggal77";
-  })
-  (fetchNuGet {
-    name = "Microsoft.NETCore.App.Host.linux-x64";
-    version = "3.1.14";
-    sha256 = "11rqnascx9asfyxgxzwgxgr9gxxndm552k4dn4p1s57ciz7vkg9h";
-  })
-  (fetchNuGet {
-    name = "Microsoft.NETCore.App.Ref";
-    version = "3.1.0";
-    sha256 = "08svsiilx9spvjamcnjswv0dlpdrgryhr3asdz7cvnl914gjzq4y";
-  })
-  (fetchNuGet {
-    name = "MiniRazor.CodeGen";
-    version = "2.1.2";
-    sha256 = "0mg4zy4zq0ccrc9wchy796ln1znkmn3k1aax0kd2gha4fwa1d1fb";
-  })
-  (fetchNuGet {
-    name = "MiniRazor.Runtime";
-    version = "2.1.2";
-    sha256 = "1a6cm7j1f5n1bfzhg8w60xwa7cps2i82418k57dm2hgqla6p3rsp";
-  })
-  (fetchNuGet {
-    name = "Polly";
-    version = "7.2.2";
-    sha256 = "0s15n5zwj44i6sw3v40ca8l6j0ijydxcakvad49j52rp49iwrmkn";
-  })
-  (fetchNuGet {
-    name = "Spectre.Console";
-    version = "0.41.0";
-    sha256 = "104vyzwbbq5m75dm31xk7ilvmik8hw1cj3bc301a8w6gq8i0fpk3";
-  })
-  (fetchNuGet {
-    name = "Superpower";
-    version = "2.3.0";
-    sha256 = "0bdsc3c0d6jb0wr67siqfba0ldl0jxbwis6xr0whzqzf6m2cyahm";
-  })
-  (fetchNuGet {
-    name = "System.Memory";
-    version = "4.5.0";
-    sha256 = "1layqpcx1q4l805fdnj2dfqp6ncx2z42ca06rgsr6ikq4jjgbv30";
-  })
-  (fetchNuGet {
-    name = "Tyrrrz.Extensions";
-    version = "1.6.5";
-    sha256 = "1yzsii1pbp6b066wxwwws310p7h809apl81bhb8ad55hqlzy1rg3";
-  })
-  (fetchNuGet {
-    name = "Wcwidth";
-    version = "0.2.0";
-    sha256 = "0p7zaisix9ql4v5nyl9gfc93xcyj74j01rwvgm7jw29js3wlj10s";
-  })
+  (fetchNuGet { name = "CliFx"; version = "2.0.6"; sha256 = "09yyjgpp52b0r3mqlvx75ld4vjp8hry7ql7r20nnvj0lach6fyh6"; })
+  (fetchNuGet { name = "Gress"; version = "1.2.0"; sha256 = "0aidc9whi0718gh896j7xkyndki9x7rifd8n1n681afb2zbxw4bn"; })
+  (fetchNuGet { name = "JsonExtensions"; version = "1.1.0"; sha256 = "1fqxb2jdbvjgg135wmy890qf63r056dq16jy7wgzkgp21m3j0lgy"; })
+  (fetchNuGet { name = "Microsoft.AspNetCore.App.Ref"; version = "3.1.10"; sha256 = "0xn4zh7shvijqlr03fqsmps6gz856isd9bg9rk4z2c4599ggal77"; })
+  (fetchNuGet { name = "Microsoft.NETCore.App.Host.linux-x64"; version = "3.1.14"; sha256 = "11rqnascx9asfyxgxzwgxgr9gxxndm552k4dn4p1s57ciz7vkg9h"; })
+  (fetchNuGet { name = "Microsoft.NETCore.App.Ref"; version = "3.1.0"; sha256 = "08svsiilx9spvjamcnjswv0dlpdrgryhr3asdz7cvnl914gjzq4y"; })
+  (fetchNuGet { name = "MiniRazor.CodeGen"; version = "2.1.4"; sha256 = "1856hfw2wl3ilxmpg4jmwpigmq0rm50i9pmy3sq8f1xc8j44kzl2"; })
+  (fetchNuGet { name = "MiniRazor.Runtime"; version = "2.1.4"; sha256 = "1pc3kjbnz810a8bb94k6355rflmayigfmpfmc4jzzx6l6iavnnc4"; })
+  (fetchNuGet { name = "Polly"; version = "7.2.2"; sha256 = "0s15n5zwj44i6sw3v40ca8l6j0ijydxcakvad49j52rp49iwrmkn"; })
+  (fetchNuGet { name = "Spectre.Console"; version = "0.41.0"; sha256 = "104vyzwbbq5m75dm31xk7ilvmik8hw1cj3bc301a8w6gq8i0fpk3"; })
+  (fetchNuGet { name = "Superpower"; version = "2.3.0"; sha256 = "0bdsc3c0d6jb0wr67siqfba0ldl0jxbwis6xr0whzqzf6m2cyahm"; })
+  (fetchNuGet { name = "System.Memory"; version = "4.5.0"; sha256 = "1layqpcx1q4l805fdnj2dfqp6ncx2z42ca06rgsr6ikq4jjgbv30"; })
+  (fetchNuGet { name = "Tyrrrz.Extensions"; version = "1.6.5"; sha256 = "1yzsii1pbp6b066wxwwws310p7h809apl81bhb8ad55hqlzy1rg3"; })
+  (fetchNuGet { name = "Wcwidth"; version = "0.2.0"; sha256 = "0p7zaisix9ql4v5nyl9gfc93xcyj74j01rwvgm7jw29js3wlj10s"; })
 ]
diff --git a/nixpkgs/pkgs/tools/backup/discordchatexporter-cli/updater.sh b/nixpkgs/pkgs/tools/backup/discordchatexporter-cli/updater.sh
index ff5c44a19bcd..1fc261c29803 100755
--- a/nixpkgs/pkgs/tools/backup/discordchatexporter-cli/updater.sh
+++ b/nixpkgs/pkgs/tools/backup/discordchatexporter-cli/updater.sh
@@ -1,5 +1,5 @@
 #!/usr/bin/env nix-shell
-#!nix-shell -i bash -p curl jq common-updater-scripts dotnet-sdk_5
+#!nix-shell -i bash -p curl jq common-updater-scripts nuget-to-nix dotnet-sdk_5
 set -eo pipefail
 cd "$(dirname "${BASH_SOURCE[0]}")"
 
@@ -24,21 +24,7 @@ pushd "$src"
 mkdir ./nuget_tmp.packages
 dotnet restore DiscordChatExporter.Cli/DiscordChatExporter.Cli.csproj --packages ./nuget_tmp.packages
 
-echo "{ fetchNuGet }: [" >"$deps_file"
-while read pkg_spec; do
-  { read pkg_name; read pkg_version; } < <(
-    # Build version part should be ignored: `3.0.0-beta2.20059.3+77df2220` -> `3.0.0-beta2.20059.3`
-    sed -nE 's/.*<id>([^<]*).*/\1/p; s/.*<version>([^<+]*).*/\1/p' "$pkg_spec")
-  pkg_sha256="$(nix-hash --type sha256 --flat --base32 "$(dirname "$pkg_spec")"/*.nupkg)"
-  cat >>"$deps_file" <<EOF
-  (fetchNuGet {
-    name = "$pkg_name";
-    version = "$pkg_version";
-    sha256 = "$pkg_sha256";
-  })
-EOF
-done < <(find ./nuget_tmp.packages -name '*.nuspec' | sort)
-echo "]" >>"$deps_file"
+nuget-to-nix ./nuget_tmp.packages > "$deps_file"
 
 popd
 rm -r "$src"
diff --git a/nixpkgs/pkgs/tools/backup/duplicati/default.nix b/nixpkgs/pkgs/tools/backup/duplicati/default.nix
index 48ce604cd717..edea1e4b8634 100644
--- a/nixpkgs/pkgs/tools/backup/duplicati/default.nix
+++ b/nixpkgs/pkgs/tools/backup/duplicati/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "duplicati";
-  version = "2.0.6.1";
+  version = "2.0.6.3";
   channel = "beta";
-  build_date = "2021-05-03";
+  build_date = "2021-06-17";
 
   src = fetchzip {
     url = "https://github.com/duplicati/duplicati/releases/download/v${version}-${version}_${channel}_${build_date}/duplicati-${version}_${channel}_${build_date}.zip";
-    sha256 = "09537hswpicsx47vfdm78j3h7vvjd7nqjd2461jrln57nl7v7dac";
+    sha256 = "sha256-usMwlmer6rLgP46wGVkaAIocUW4MjuEpVWdX7rRcghg=";
     stripRoot = false;
   };
 
diff --git a/nixpkgs/pkgs/tools/backup/duplicity/default.nix b/nixpkgs/pkgs/tools/backup/duplicity/default.nix
index 28929615bcdb..bd8af80193f6 100644
--- a/nixpkgs/pkgs/tools/backup/duplicity/default.nix
+++ b/nixpkgs/pkgs/tools/backup/duplicity/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv
 , fetchFromGitLab
 , fetchpatch
-, python38
+, python3
 , librsync
 , ncftp
 , gnupg
@@ -13,7 +13,7 @@
 , gettext
 }:
 let
-  pythonPackages = python38.pkgs;
+  pythonPackages = python3.pkgs;
   inherit (lib.versions) majorMinor splitVersion;
   majorMinorPatch = v: builtins.concatStringsSep "." (lib.take 3 (splitVersion v));
 in
diff --git a/nixpkgs/pkgs/tools/backup/gphotos-sync/default.nix b/nixpkgs/pkgs/tools/backup/gphotos-sync/default.nix
index e7cd29e1a812..cce9c5b77b7b 100644
--- a/nixpkgs/pkgs/tools/backup/gphotos-sync/default.nix
+++ b/nixpkgs/pkgs/tools/backup/gphotos-sync/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchFromGitHub, python3Packages }:
+{ lib, fetchFromGitHub, python3Packages, ffmpeg }:
 
 python3Packages.buildPythonApplication rec {
   pname = "gphotos-sync";
@@ -19,10 +19,14 @@ python3Packages.buildPythonApplication rec {
     pyyaml
     requests_oauthlib
   ];
+
+  buildInputs = [ ffmpeg ];
+
   checkInputs = with python3Packages; [
     pytestCheckHook
     mock
   ];
+
   checkPhase = ''
     export HOME=$(mktemp -d)
 
diff --git a/nixpkgs/pkgs/tools/backup/kopia/default.nix b/nixpkgs/pkgs/tools/backup/kopia/default.nix
index 32f051f5ad91..ad113ed615ef 100644
--- a/nixpkgs/pkgs/tools/backup/kopia/default.nix
+++ b/nixpkgs/pkgs/tools/backup/kopia/default.nix
@@ -17,11 +17,10 @@ buildGoModule rec {
 
   subPackages = [ "." ];
 
-  buildFlagsArray = ''
-    -ldflags=
-       -X github.com/kopia/kopia/repo.BuildVersion=${version}
-       -X github.com/kopia/kopia/repo.BuildInfo=${src.rev}
-  '';
+  ldflags = [
+    "-X github.com/kopia/kopia/repo.BuildVersion=${version}"
+    "-X github.com/kopia/kopia/repo.BuildInfo=${src.rev}"
+  ];
 
   meta = with lib; {
     homepage = "https://kopia.io";
diff --git a/nixpkgs/pkgs/tools/backup/monolith/default.nix b/nixpkgs/pkgs/tools/backup/monolith/default.nix
index 8c2be78af2a1..bc31d5dfd361 100644
--- a/nixpkgs/pkgs/tools/backup/monolith/default.nix
+++ b/nixpkgs/pkgs/tools/backup/monolith/default.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "monolith";
-  version = "2.4.1";
+  version = "2.6.1";
 
   src = fetchFromGitHub {
     owner = "Y2Z";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-n89rfZwR8B6SKeLtzmbeHRyw2G9NIQ1BY6JvJuZmC/w=";
+    sha256 = "sha256-JhQkoVGJpMesNz2hRe+kWNX4zYrIcKzT0Z6owrXlRN4=";
   };
 
-  cargoSha256 = "sha256-+UGGsBU12PzkrZ8Po8fJBs1pygdOvoHp0tKmipjVMQ4=";
+  cargoSha256 = "sha256-BikzJr50Aua9llyQgbP/paIoC7dvsG0RYyVXmbdeGIA=";
 
   nativeBuildInputs = lib.optionals stdenv.isLinux [ pkg-config ];
   buildInputs = lib.optionals stdenv.isLinux [ openssl ]
diff --git a/nixpkgs/pkgs/tools/backup/mt-st/default.nix b/nixpkgs/pkgs/tools/backup/mt-st/default.nix
index 804c50830ce6..8c62ad6512e0 100644
--- a/nixpkgs/pkgs/tools/backup/mt-st/default.nix
+++ b/nixpkgs/pkgs/tools/backup/mt-st/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "mt-st-1.3";
+  pname = "mt-st";
+  version = "1.3";
 
   src = fetchurl {
-    url = "https://github.com/iustin/mt-st/releases/download/${name}/${name}.tar.gz";
+    url = "https://github.com/iustin/mt-st/releases/download/mt-st-${version}/mt-st-${version}.tar.gz";
     sha256 = "b552775326a327cdcc076c431c5cbc4f4e235ac7c41aa931ad83f94cccb9f6de";
   };
 
diff --git a/nixpkgs/pkgs/tools/backup/mtx/default.nix b/nixpkgs/pkgs/tools/backup/mtx/default.nix
index aa72b02afbbd..b8476954949e 100644
--- a/nixpkgs/pkgs/tools/backup/mtx/default.nix
+++ b/nixpkgs/pkgs/tools/backup/mtx/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "mtx-1.3.12";
+  pname = "mtx";
+  version = "1.3.12";
 
   src = fetchurl {
-    url = "mirror://gentoo/distfiles/${name}.tar.gz";
+    url = "mirror://gentoo/distfiles/mtx-${version}.tar.gz";
     sha256 = "0261c5e90b98b6138cd23dadecbc7bc6e2830235145ed2740290e1f35672d843";
   };
 
diff --git a/nixpkgs/pkgs/tools/backup/partimage/default.nix b/nixpkgs/pkgs/tools/backup/partimage/default.nix
index 2477fa6e4431..afb8489e1f42 100644
--- a/nixpkgs/pkgs/tools/backup/partimage/default.nix
+++ b/nixpkgs/pkgs/tools/backup/partimage/default.nix
@@ -9,12 +9,14 @@
 , slang
 , autoreconfHook
 }:
-stdenv.mkDerivation {
-  name = "partimage-0.6.9";
+stdenv.mkDerivation rec {
+  pname = "partimage";
+  version = "0.6.9";
+
   enableParallelBuilding = true;
 
   src = fetchurl {
-    url = "mirror://sourceforge/partimage/partimage-0.6.9.tar.bz2";
+    url = "mirror://sourceforge/partimage/partimage-${version}.tar.bz2";
     sha256 = "0db6xiphk6xnlpbxraiy31c5xzj0ql6k4rfkmqzh665yyj0nqfkm";
   };
 
diff --git a/nixpkgs/pkgs/tools/backup/restic/default.nix b/nixpkgs/pkgs/tools/backup/restic/default.nix
index 65ff53bf677d..0cf25941e907 100644
--- a/nixpkgs/pkgs/tools/backup/restic/default.nix
+++ b/nixpkgs/pkgs/tools/backup/restic/default.nix
@@ -3,13 +3,13 @@
 
 buildGoModule rec {
   pname = "restic";
-  version = "0.12.0";
+  version = "0.12.1";
 
   src = fetchFromGitHub {
     owner = "restic";
     repo = "restic";
     rev = "v${version}";
-    sha256 = "07gxf56g45gj2arvdnrr9656i9ykhy1y6k6zdlni1sa3aa2x2bbf";
+    sha256 = "19lzccipbpxdkay60zdqfq8dgah0sbxzjcfcx285c28js2zpp85m";
   };
 
   patches = [
@@ -17,7 +17,7 @@ buildGoModule rec {
     ./0001-Skip-testing-restore-with-permission-failure.patch
   ];
 
-  vendorSha256 = "14z22lmdd681rn61alpqbn3i9fn0kcc74321vjvhz2ix2mch3c1z";
+  vendorSha256 = "0sdswihiy4r3lw9a87xj2qm3nf28cw56yfm56mva6b8lr3vk93l6";
 
   subPackages = [ "cmd/restic" ];
 
diff --git a/nixpkgs/pkgs/tools/backup/rsnapshot/default.nix b/nixpkgs/pkgs/tools/backup/rsnapshot/default.nix
index 9322e62a3dc6..3ded8c6b8482 100644
--- a/nixpkgs/pkgs/tools/backup/rsnapshot/default.nix
+++ b/nixpkgs/pkgs/tools/backup/rsnapshot/default.nix
@@ -1,10 +1,11 @@
 { fetchurl, lib, stdenv, perl, openssh, rsync, logger }:
 
 stdenv.mkDerivation rec {
-  name = "rsnapshot-1.4.3";
+  pname = "rsnapshot";
+  version = "1.4.3";
 
   src = fetchurl {
-    url = "https://rsnapshot.org/downloads/${name}.tar.gz";
+    url = "https://rsnapshot.org/downloads/rsnapshot-${version}.tar.gz";
     sha256 = "1lavqmmsf53pim0nvming7fkng6p0nk2a51k2c2jdq0l7snpl31b";
   };
 
diff --git a/nixpkgs/pkgs/tools/backup/s3ql/default.nix b/nixpkgs/pkgs/tools/backup/s3ql/default.nix
index f67b5467078c..00d3b427d60e 100644
--- a/nixpkgs/pkgs/tools/backup/s3ql/default.nix
+++ b/nixpkgs/pkgs/tools/backup/s3ql/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "s3ql";
-  version = "3.7.2";
+  version = "3.7.3";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "release-${version}";
-    sha256 = "11f8k5vzfq69slzv17vddj135mzlcpmcj3cj3bigq717qb8vd6wl";
+    sha256 = "042fvkvranfnv2xxxz9d92cgia14p1hwmpjgm0rr94pjd36n1sfs";
   };
 
   checkInputs = [ which ] ++ (with python3Packages; [ cython pytest pytest-trio ]);
diff --git a/nixpkgs/pkgs/tools/backup/sanoid/default.nix b/nixpkgs/pkgs/tools/backup/sanoid/default.nix
index 3a59dcc06408..d2b37615e903 100644
--- a/nixpkgs/pkgs/tools/backup/sanoid/default.nix
+++ b/nixpkgs/pkgs/tools/backup/sanoid/default.nix
@@ -1,8 +1,6 @@
-{ lib, stdenv, fetchFromGitHub, makeWrapper, zfs
+{ lib, stdenv, fetchFromGitHub, nixosTests, makeWrapper, zfs
 , perlPackages, procps, which, openssh, mbuffer, pv, lzop, gzip, pigz }:
 
-with lib;
-
 stdenv.mkDerivation rec {
   pname = "sanoid";
   version = "2.1.0";
@@ -17,6 +15,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = with perlPackages; [ perl ConfigIniFiles CaptureTiny ];
 
+  passthru.tests = nixosTests.sanoid;
+
   installPhase = ''
     runHook preInstall
 
@@ -31,22 +31,22 @@ stdenv.mkDerivation rec {
     # incompatibilities with the ZFS kernel module.
     wrapProgram "$out/bin/sanoid" \
       --prefix PERL5LIB : "$PERL5LIB" \
-      --prefix PATH : "${makeBinPath [ procps "/run/booted-system/sw" zfs ]}"
+      --prefix PATH : "${lib.makeBinPath [ procps "/run/booted-system/sw" zfs ]}"
 
     install -m755 syncoid "$out/bin/syncoid"
     wrapProgram "$out/bin/syncoid" \
       --prefix PERL5LIB : "$PERL5LIB" \
-      --prefix PATH : "${makeBinPath [ openssh procps which pv mbuffer lzop gzip pigz "/run/booted-system/sw" zfs ]}"
+      --prefix PATH : "${lib.makeBinPath [ openssh procps which pv mbuffer lzop gzip pigz "/run/booted-system/sw" zfs ]}"
 
     install -m755 findoid "$out/bin/findoid"
     wrapProgram "$out/bin/findoid" \
       --prefix PERL5LIB : "$PERL5LIB" \
-      --prefix PATH : "${makeBinPath [ "/run/booted-system/sw" zfs ]}"
+      --prefix PATH : "${lib.makeBinPath [ "/run/booted-system/sw" zfs ]}"
 
     runHook postInstall
   '';
 
-  meta = {
+  meta = with lib; {
     description = "A policy-driven snapshot management tool for ZFS filesystems";
     homepage = "https://github.com/jimsalterjrs/sanoid";
     license = licenses.gpl3Plus;
diff --git a/nixpkgs/pkgs/tools/backup/tarsnapper/default.nix b/nixpkgs/pkgs/tools/backup/tarsnapper/default.nix
index a5ad2c3625c1..d793017ad873 100644
--- a/nixpkgs/pkgs/tools/backup/tarsnapper/default.nix
+++ b/nixpkgs/pkgs/tools/backup/tarsnapper/default.nix
@@ -1,25 +1,49 @@
-{ python3Packages, fetchFromGitHub , tarsnap }:
+{ lib
+, python3Packages
+, fetchFromGitHub
+, tarsnap
+}:
 
 python3Packages.buildPythonApplication rec {
-  name = "tarsnapper-${version}";
+  pname = "tarsnapper";
   version = "0.4";
 
   src = fetchFromGitHub {
     owner = "miracle2k";
-    repo = "tarsnapper";
+    repo = pname;
     rev = version;
     sha256 = "03db49188f4v1946c8mqqj30ah10x68hbg3a58js0syai32v12pm";
   };
 
-  checkInputs = with python3Packages; [ nose pytest ];
+  propagatedBuildInputs = with python3Packages; [
+    pyyaml
+    python-dateutil
+    pexpect
+  ];
+
+  checkInputs = with python3Packages; [
+    nose
+  ];
+
+  patches = [
+    # Remove standard module argparse from requirements
+    ./remove-argparse.patch
+  ];
+
+  makeWrapperArgs = [ "--prefix PATH : ${lib.makeBinPath [ tarsnap ]}" ];
 
   checkPhase = ''
-    py.test .
+    runHook preCheck
+    nosetests tests
+    runHook postCheck
   '';
 
-  propagatedBuildInputs = with python3Packages; [ pyyaml python-dateutil pexpect ];
+  pythonImportsCheck = [ "tarsnapper" ];
 
-  patches = [ ./remove-argparse.patch ];
-
-  makeWrapperArgs = ["--prefix PATH : ${tarsnap}/bin"];
+  meta = with lib; {
+    description = "Wrapper which expires backups using a gfs-scheme";
+    homepage = "https://github.com/miracle2k/tarsnapper";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ ];
+  };
 }
diff --git a/nixpkgs/pkgs/tools/backup/tsm-client/default.nix b/nixpkgs/pkgs/tools/backup/tsm-client/default.nix
index c432d47becde..e298751facab 100644
--- a/nixpkgs/pkgs/tools/backup/tsm-client/default.nix
+++ b/nixpkgs/pkgs/tools/backup/tsm-client/default.nix
@@ -152,7 +152,7 @@ buildEnv {
     ln --symbolic --no-target-directory opt/tivoli/tsm/client/api/bin64 $out/dsmi_dir
     ln --symbolic --no-target-directory "${dsmSysCli}" $out/dsm_dir/dsm.sys
     ln --symbolic --no-target-directory "${dsmSysApi}" $out/dsmi_dir/dsm.sys
-    ${lib.strings.optionalString (jdk8==null) "rm $out/bin/dsmj"}
+    ${lib.optionalString (jdk8==null) "rm $out/bin/dsmj"}
     for bin in $out/bin/*
     do
       target=$(readlink "$bin")
diff --git a/nixpkgs/pkgs/tools/backup/wal-g/default.nix b/nixpkgs/pkgs/tools/backup/wal-g/default.nix
index e9be1c83005e..80f3b6bbf8de 100644
--- a/nixpkgs/pkgs/tools/backup/wal-g/default.nix
+++ b/nixpkgs/pkgs/tools/backup/wal-g/default.nix
@@ -2,25 +2,24 @@
 
 buildGoModule rec {
   pname = "wal-g";
-  version = "1.0";
+  version = "1.1";
 
   src = fetchFromGitHub {
     owner = "wal-g";
     repo = "wal-g";
     rev = "v${version}";
-    sha256 = "0al8xg57fh3zqwgmm6lkcnpnisividhqld9jry3sqk2k45856y8j";
+    sha256 = "1hiym5id310rvw7vr8wir2vpf0p5qz71rx6v5i2gpjqml7c97cls";
   };
 
-  vendorSha256 = "0n0ymgcgkjlp0indih8h55jjj6372rdfcq717kwln6sxm4r9mb17";
+  vendorSha256 = "09z9x20zna1czhfpl47i98r8163a266mnr6xi17npjsfdvsjkppn";
 
   buildInputs = [ brotli libsodium ];
 
   subPackages = [ "main/pg" ];
 
-  buildFlagsArray = [
-    "-tags=brotli libsodium"
-    "-ldflags=-s -w -X github.com/wal-g/wal-g/cmd/pg.WalgVersion=${version} -X github.com/wal-g/wal-g/cmd/pg.GitRevision=${src.rev}"
-  ];
+  tags = [ "brotli" "libsodium" ];
+
+  ldflags = [ "-s" "-w" "-X github.com/wal-g/wal-g/cmd/pg.WalgVersion=${version}" "-X github.com/wal-g/wal-g/cmd/pg.GitRevision=${src.rev}" ];
 
   postInstall = ''
     mv $out/bin/pg $out/bin/wal-g
diff --git a/nixpkgs/pkgs/tools/bluetooth/blueman/default.nix b/nixpkgs/pkgs/tools/bluetooth/blueman/default.nix
index 0939584fa970..528f0999b2c6 100644
--- a/nixpkgs/pkgs/tools/bluetooth/blueman/default.nix
+++ b/nixpkgs/pkgs/tools/bluetooth/blueman/default.nix
@@ -9,11 +9,11 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "blueman";
-  version = "2.2.1";
+  version = "2.2.2";
 
   src = fetchurl {
     url = "https://github.com/blueman-project/blueman/releases/download/${version}/${pname}-${version}.tar.xz";
-    sha256 = "0whs1bqnn1fgzrq7y2w1d06ldvfafq6h2xzmcfncbwmyb4i0mhgw";
+    sha256 = "sha256-Ge1ZsaE09YT8AF9HKV/vZAqXCf2bmyMHOI4RKjLs0PY=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/bluetooth/obex-data-server/default.nix b/nixpkgs/pkgs/tools/bluetooth/obex-data-server/default.nix
index f580080e8796..cc6754b4a8c0 100644
--- a/nixpkgs/pkgs/tools/bluetooth/obex-data-server/default.nix
+++ b/nixpkgs/pkgs/tools/bluetooth/obex-data-server/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, libusb-compat-0_1, glib, dbus-glib, bluez, openobex, dbus }:
 
 stdenv.mkDerivation rec {
-  name = "obex-data-server-0.4.6";
+  pname = "obex-data-server";
+  version = "0.4.6";
 
   src = fetchurl {
-    url = "http://tadas.dailyda.com/software/${name}.tar.gz";
+    url = "http://tadas.dailyda.com/software/obex-data-server-${version}.tar.gz";
     sha256 = "0kq940wqs9j8qjnl58d6l3zhx0jaszci356xprx23l6nvdfld6dk";
   };
 
diff --git a/nixpkgs/pkgs/tools/bluetooth/obexd/default.nix b/nixpkgs/pkgs/tools/bluetooth/obexd/default.nix
index 6ddbcd5652de..c18aa3a1c263 100644
--- a/nixpkgs/pkgs/tools/bluetooth/obexd/default.nix
+++ b/nixpkgs/pkgs/tools/bluetooth/obexd/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, glib, dbus, openobex, bluez, libical }:
 
 stdenv.mkDerivation rec {
-  name = "obexd-0.48";
+  pname = "obexd";
+  version = "0.48";
 
   src = fetchurl {
-    url = "mirror://kernel/linux/bluetooth/${name}.tar.bz2";
+    url = "mirror://kernel/linux/bluetooth/obexd-${version}.tar.bz2";
     sha256 = "1i20dnibvnq9lnkkhajr5xx3kxlwf9q5c4jm19kyb0q1klzgzlb8";
   };
 
diff --git a/nixpkgs/pkgs/tools/bluetooth/obexfs/default.nix b/nixpkgs/pkgs/tools/bluetooth/obexfs/default.nix
index b81e8c4ea55b..2783c63899df 100644
--- a/nixpkgs/pkgs/tools/bluetooth/obexfs/default.nix
+++ b/nixpkgs/pkgs/tools/bluetooth/obexfs/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, bluez, fuse, obexftp }:
 
 stdenv.mkDerivation rec {
-  name = "obexfs-0.12";
+  pname = "obexfs";
+  version = "0.12";
 
   src = fetchurl {
-    url = "mirror://sourceforge/openobex/${name}.tar.gz";
+    url = "mirror://sourceforge/openobex/obexfs-${version}.tar.gz";
     sha256 = "1g3krpygk6swa47vbmp9j9s8ahqqcl9ra8r25ybgzv2d9pmjm9kj";
   };
 
diff --git a/nixpkgs/pkgs/tools/bluetooth/obexftp/default.nix b/nixpkgs/pkgs/tools/bluetooth/obexftp/default.nix
index fc2ff6128f75..3d9eda383ddf 100644
--- a/nixpkgs/pkgs/tools/bluetooth/obexftp/default.nix
+++ b/nixpkgs/pkgs/tools/bluetooth/obexftp/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, openobex, bluez, cmake }:
 
 stdenv.mkDerivation rec {
-  name = "obexftp-0.24.2";
+  pname = "obexftp";
+  version = "0.24.2";
 
   src = fetchurl {
-    url = "mirror://sourceforge/openobex/${name}-Source.tar.gz";
+    url = "mirror://sourceforge/openobex/obexftp-${version}-Source.tar.gz";
     sha256 = "18w9r78z78ri5qc8fjym4nk1jfbrkyr789sq7rxrkshf1a7b83yl";
   };
 
diff --git a/nixpkgs/pkgs/tools/bluetooth/openobex/default.nix b/nixpkgs/pkgs/tools/bluetooth/openobex/default.nix
index 1079623cf2af..831644bd4ac0 100644
--- a/nixpkgs/pkgs/tools/bluetooth/openobex/default.nix
+++ b/nixpkgs/pkgs/tools/bluetooth/openobex/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, bluez, libusb-compat-0_1, cmake }:
 
 stdenv.mkDerivation rec {
-  name = "openobex-1.7.2";
+  pname = "openobex";
+  version = "1.7.2";
 
   src = fetchurl {
-    url = "mirror://sourceforge/openobex/${name}-Source.tar.gz";
+    url = "mirror://sourceforge/openobex/openobex-${version}-Source.tar.gz";
     sha256 = "1z6l7pbwgs5pjx3861cyd3r6vq5av984bdp4r3hgrw2jxam6120m";
   };
 
diff --git a/nixpkgs/pkgs/tools/cd-dvd/ccd2iso/default.nix b/nixpkgs/pkgs/tools/cd-dvd/ccd2iso/default.nix
index 10f8d9701d40..ad3fee9792c6 100644
--- a/nixpkgs/pkgs/tools/cd-dvd/ccd2iso/default.nix
+++ b/nixpkgs/pkgs/tools/cd-dvd/ccd2iso/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "ccd2iso-0.3";
+  pname = "ccd2iso";
+  version = "0.3";
 
   src = fetchurl {
-    url = "mirror://sourceforge/ccd2iso/${name}.tar.gz";
+    url = "mirror://sourceforge/ccd2iso/ccd2iso-${version}.tar.gz";
     sha256 = "1z000zi7hpr2h9cabj6hzf3n6a6gd6glmm8nn36v4b8i4vzbhx7q";
   };
 
diff --git a/nixpkgs/pkgs/tools/cd-dvd/cdrdao/default.nix b/nixpkgs/pkgs/tools/cd-dvd/cdrdao/default.nix
index 3fca8b2cd3c6..c9d49cfd4390 100644
--- a/nixpkgs/pkgs/tools/cd-dvd/cdrdao/default.nix
+++ b/nixpkgs/pkgs/tools/cd-dvd/cdrdao/default.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl, libvorbis, libmad, pkg-config, libao}:
 
-stdenv.mkDerivation {
-  name = "cdrdao-1.2.3";
+stdenv.mkDerivation rec {
+  pname = "cdrdao";
+  version = "1.2.3";
 
   src = fetchurl {
-    url = "mirror://sourceforge/cdrdao/cdrdao-1.2.3.tar.bz2";
+    url = "mirror://sourceforge/cdrdao/cdrdao-${version}.tar.bz2";
     sha256 = "0pmpgx91j984snrsxbq1dgf3ximks2dfh1sqqmic72lrls7wp4w1";
   };
 
diff --git a/nixpkgs/pkgs/tools/cd-dvd/cdrkit/default.nix b/nixpkgs/pkgs/tools/cd-dvd/cdrkit/default.nix
index 28ed61ebd55e..1bc84cf59dfe 100644
--- a/nixpkgs/pkgs/tools/cd-dvd/cdrkit/default.nix
+++ b/nixpkgs/pkgs/tools/cd-dvd/cdrkit/default.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl, cmake, libcap, zlib, bzip2, perl}:
 
 stdenv.mkDerivation rec {
-  name = "cdrkit-1.1.11";
+  pname = "cdrkit";
+  version = "1.1.11";
 
   src = fetchurl {
-    url = "http://cdrkit.org/releases/${name}.tar.gz";
+    url = "http://cdrkit.org/releases/cdrkit-${version}.tar.gz";
     sha256 = "1nj7iv3xrq600i37na9a5idd718piiiqbs4zxvpjs66cdrsk1h6i";
   };
 
diff --git a/nixpkgs/pkgs/tools/cd-dvd/uif2iso/default.nix b/nixpkgs/pkgs/tools/cd-dvd/uif2iso/default.nix
index ac0879e32172..7a8a6569e533 100644
--- a/nixpkgs/pkgs/tools/cd-dvd/uif2iso/default.nix
+++ b/nixpkgs/pkgs/tools/cd-dvd/uif2iso/default.nix
@@ -1,11 +1,11 @@
 { lib, stdenv, fetchurl, unzip, zlib }:
 
 stdenv.mkDerivation rec {
-  nameNoVer = "uif2iso";
-  name = "${nameNoVer}-0.1.7";
+  pname = "uif2iso";
+  version = "0.1.7";
 
   src = fetchurl {
-    url = "http://aluigi.altervista.org/mytoolz/${nameNoVer}.zip";
+    url = "http://aluigi.altervista.org/mytoolz/uif2iso.zip";
     sha256 = "1v18fmlzhkkhv8xdc9dyvl8vamwg3ka4dsrg7vvmk1f2iczdx3dp";
   };
 
diff --git a/nixpkgs/pkgs/tools/cd-dvd/unetbootin/default.nix b/nixpkgs/pkgs/tools/cd-dvd/unetbootin/default.nix
index 71a0a763285a..88fab512b0b8 100644
--- a/nixpkgs/pkgs/tools/cd-dvd/unetbootin/default.nix
+++ b/nixpkgs/pkgs/tools/cd-dvd/unetbootin/default.nix
@@ -1,24 +1,40 @@
-{ lib, stdenv, fetchFromGitHub, makeWrapper, qt4, util-linux, coreutils, which, qmake4Hook
-, p7zip, mtools, syslinux }:
+{ lib
+, stdenv
+, coreutils
+, fetchFromGitHub
+, mtools
+, p7zip
+, wrapQtAppsHook
+, qtbase
+, qttools
+, qmake
+, syslinux
+, util-linux
+, which
+}:
 
 stdenv.mkDerivation rec {
   pname = "unetbootin";
-  version = "681";
+  version = "702";
 
   src = fetchFromGitHub {
-    owner  = "unetbootin";
-    repo   = "unetbootin";
-    rev    = version;
-    sha256 = "0ppqb7ywh4cpcjr5nw6f65dx4s8kx09gnhihnby3zjhxdf4l99fm";
+    owner = pname;
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-psX15XicPXAsd36BhuvK0G3GQS8hV/hazzO0HByCqV4=";
   };
 
   setSourceRoot = ''
     sourceRoot=$(echo */src/unetbootin)
   '';
 
-  buildInputs = [ qt4 ];
-  nativeBuildInputs = [ makeWrapper qmake4Hook ];
-  enableParallelBuilding = true;
+  buildInputs = [
+    qtbase
+    qttools
+    qmake
+  ];
+
+  nativeBuildInputs = [ wrapQtAppsHook ];
 
   # Lots of nice hard-coded paths...
   postPatch = ''
@@ -50,18 +66,19 @@ stdenv.mkDerivation rec {
     install -Dm644 -t $out/share/unetbootin   unetbootin_*.qm
     install -Dm644 -t $out/share/applications unetbootin.desktop
 
-    wrapProgram $out/bin/unetbootin \
-      --prefix PATH : ${lib.makeBinPath [ mtools p7zip which ]} \
-      --set QT_X11_NO_MITSHM 1
-
     runHook postInstall
   '';
 
+  qtWrapperArgs = [
+    "--prefix PATH : ${lib.makeBinPath [ mtools p7zip which ]}"
+    "--set QT_X11_NO_MITSHM 1"
+  ];
+
   meta = with lib; {
-    homepage    = "http://unetbootin.sourceforge.net/";
     description = "A tool to create bootable live USB drives from ISO images";
-    license     = licenses.gpl2Plus;
-    platforms   = platforms.linux;
+    homepage = "https://unetbootin.github.io/";
+    license = licenses.gpl2Plus;
     maintainers = with maintainers; [ ebzzry ];
+    platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/tools/cd-dvd/vobcopy/default.nix b/nixpkgs/pkgs/tools/cd-dvd/vobcopy/default.nix
index a31354670a04..2ebe9e5e0a35 100644
--- a/nixpkgs/pkgs/tools/cd-dvd/vobcopy/default.nix
+++ b/nixpkgs/pkgs/tools/cd-dvd/vobcopy/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, libdvdread, libdvdcss }:
 
 stdenv.mkDerivation rec {
-  name = "vobcopy-1.2.0";
+  pname = "vobcopy";
+  version = "1.2.0";
 
   src = fetchurl {
-    url = "http://www.vobcopy.org/download/${name}.tar.bz2";
+    url = "http://www.vobcopy.org/download/vobcopy-${version}.tar.bz2";
     sha256 = "01l1yihbd73srzghzzx5dgfg3yfb5kml5dix52mq0snhjp8h89c9";
   };
 
diff --git a/nixpkgs/pkgs/tools/cd-dvd/vobsub2srt/default.nix b/nixpkgs/pkgs/tools/cd-dvd/vobsub2srt/default.nix
index 5262fe06963b..54df481cd676 100644
--- a/nixpkgs/pkgs/tools/cd-dvd/vobsub2srt/default.nix
+++ b/nixpkgs/pkgs/tools/cd-dvd/vobsub2srt/default.nix
@@ -1,10 +1,9 @@
 { lib, stdenv, fetchgit, cmake, libtiff, pkg-config, tesseract }:
 
-let rev = "a6abbd61127a6392d420bbbebdf7612608c943c2";
-    shortRev = builtins.substring 0 7 rev;
-in
-stdenv.mkDerivation {
-  name = "vobsub2srt-git-20140817-${shortRev}";
+stdenv.mkDerivation rec {
+  pname = "vobsub2srt-git";
+  version = "20140817-${builtins.substring 0 7 rev}";
+  rev = "a6abbd61127a6392d420bbbebdf7612608c943c2";
 
   src = fetchgit {
     inherit rev;
diff --git a/nixpkgs/pkgs/tools/cd-dvd/xorriso/default.nix b/nixpkgs/pkgs/tools/cd-dvd/xorriso/default.nix
index 34fdb8d03af5..e1cd7cc4046e 100644
--- a/nixpkgs/pkgs/tools/cd-dvd/xorriso/default.nix
+++ b/nixpkgs/pkgs/tools/cd-dvd/xorriso/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "xorriso-${version}";
-  version = "1.5.2";
+  version = "1.5.4.pl02";
 
   src = fetchurl {
     url = "mirror://gnu/xorriso/${name}.tar.gz";
-    sha256 = "1rqpzj95f70jfwpn4lamasfgqpizjsipz12aprdhri777b4zas9v";
+    sha256 = "sha256-Psc5PUqdy/X3QwnCikFfVSJ+xidwuVrpk6yNejsVKXI=";
   };
 
   doCheck = true;
diff --git a/nixpkgs/pkgs/tools/compression/lzham/default.nix b/nixpkgs/pkgs/tools/compression/lzham/default.nix
index 7f4273163a3e..5915d1439dff 100644
--- a/nixpkgs/pkgs/tools/compression/lzham/default.nix
+++ b/nixpkgs/pkgs/tools/compression/lzham/default.nix
@@ -1,12 +1,13 @@
 { lib, stdenv, fetchFromGitHub, cmake } :
 
-stdenv.mkDerivation {
-  name = "lzham-1.0";
+stdenv.mkDerivation rec {
+  pname = "lzham";
+  version = "1.0";
 
   src = fetchFromGitHub {
     owner = "richgel999";
     repo = "lzham_codec";
-    rev = "v1_0_release";
+    rev = "v${lib.replaceStrings ["."] ["_"] version}_release";
     sha256 = "14c1zvzmp1ylp4pgayfdfk1kqjb23xj4f7ll1ra7b18wjxc9ja1v";
   };
 
diff --git a/nixpkgs/pkgs/tools/compression/mozlz4a/default.nix b/nixpkgs/pkgs/tools/compression/mozlz4a/default.nix
index 0aec49827e6d..44c75436908f 100644
--- a/nixpkgs/pkgs/tools/compression/mozlz4a/default.nix
+++ b/nixpkgs/pkgs/tools/compression/mozlz4a/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     chmod a+x "$out/bin/mozlz4a"
   '';
 
-  buildInputs = [ python3 python3.pkgs.python-lz4 ];
+  buildInputs = [ python3 python3.pkgs.lz4 ];
 
   meta = {
     description = "A script to handle Mozilla's mozlz4 files";
diff --git a/nixpkgs/pkgs/tools/compression/ouch/add-Cargo.lock.patch b/nixpkgs/pkgs/tools/compression/ouch/add-Cargo.lock.patch
new file mode 100644
index 000000000000..368ce6aab0b2
--- /dev/null
+++ b/nixpkgs/pkgs/tools/compression/ouch/add-Cargo.lock.patch
@@ -0,0 +1,434 @@
+diff --git a/Cargo.lock b/Cargo.lock
+new file mode 100644
+index 0000000..4bea8c1
+--- /dev/null
++++ b/Cargo.lock
+@@ -0,0 +1,428 @@
++# This file is automatically @generated by Cargo.
++# It is not intended for manual editing.
++[[package]]
++name = "adler"
++version = "1.0.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
++
++[[package]]
++name = "autocfg"
++version = "1.0.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
++
++[[package]]
++name = "bitflags"
++version = "1.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
++
++[[package]]
++name = "byteorder"
++version = "1.4.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
++
++[[package]]
++name = "bzip2"
++version = "0.4.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6afcd980b5f3a45017c57e57a2fcccbb351cc43a356ce117ef760ef8052b89b0"
++dependencies = [
++ "bzip2-sys",
++ "libc",
++]
++
++[[package]]
++name = "bzip2-sys"
++version = "0.1.11+1.0.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc"
++dependencies = [
++ "cc",
++ "libc",
++ "pkg-config",
++]
++
++[[package]]
++name = "cc"
++version = "1.0.69"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e70cc2f62c6ce1868963827bd677764c62d07c3d9a3e1fb1177ee1a9ab199eb2"
++
++[[package]]
++name = "cfg-if"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
++
++[[package]]
++name = "crc32fast"
++version = "1.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "81156fece84ab6a9f2afdb109ce3ae577e42b1228441eded99bd77f627953b1a"
++dependencies = [
++ "cfg-if",
++]
++
++[[package]]
++name = "filetime"
++version = "0.2.14"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1d34cfa13a63ae058bfa601fe9e313bbdb3746427c1459185464ce0fcf62e1e8"
++dependencies = [
++ "cfg-if",
++ "libc",
++ "redox_syscall",
++ "winapi",
++]
++
++[[package]]
++name = "flate2"
++version = "1.0.20"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cd3aec53de10fe96d7d8c565eb17f2c687bb5518a2ec453b5b1252964526abe0"
++dependencies = [
++ "cfg-if",
++ "crc32fast",
++ "libc",
++ "miniz_oxide",
++]
++
++[[package]]
++name = "fuchsia-cprng"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
++
++[[package]]
++name = "getrandom"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753"
++dependencies = [
++ "cfg-if",
++ "libc",
++ "wasi",
++]
++
++[[package]]
++name = "libc"
++version = "0.2.98"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "320cfe77175da3a483efed4bc0adc1968ca050b098ce4f2f1c13a56626128790"
++
++[[package]]
++name = "lzma-sys"
++version = "0.1.17"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bdb4b7c3eddad11d3af9e86c487607d2d2442d185d848575365c4856ba96d619"
++dependencies = [
++ "cc",
++ "libc",
++ "pkg-config",
++]
++
++[[package]]
++name = "miniz_oxide"
++version = "0.4.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b"
++dependencies = [
++ "adler",
++ "autocfg",
++]
++
++[[package]]
++name = "ouch"
++version = "0.1.5"
++dependencies = [
++ "bzip2",
++ "flate2",
++ "rand 0.8.4",
++ "strsim",
++ "tar",
++ "tempdir",
++ "walkdir",
++ "xz2",
++ "zip",
++]
++
++[[package]]
++name = "pkg-config"
++version = "0.3.19"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3831453b3449ceb48b6d9c7ad7c96d5ea673e9b470a1dc578c2ce6521230884c"
++
++[[package]]
++name = "ppv-lite86"
++version = "0.2.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857"
++
++[[package]]
++name = "proc-macro2"
++version = "1.0.28"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5c7ed8b8c7b886ea3ed7dde405212185f423ab44682667c8c6dd14aa1d9f6612"
++dependencies = [
++ "unicode-xid",
++]
++
++[[package]]
++name = "quote"
++version = "1.0.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7"
++dependencies = [
++ "proc-macro2",
++]
++
++[[package]]
++name = "rand"
++version = "0.4.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293"
++dependencies = [
++ "fuchsia-cprng",
++ "libc",
++ "rand_core 0.3.1",
++ "rdrand",
++ "winapi",
++]
++
++[[package]]
++name = "rand"
++version = "0.8.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8"
++dependencies = [
++ "libc",
++ "rand_chacha",
++ "rand_core 0.6.3",
++]
++
++[[package]]
++name = "rand_chacha"
++version = "0.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
++dependencies = [
++ "ppv-lite86",
++ "rand_core 0.6.3",
++]
++
++[[package]]
++name = "rand_core"
++version = "0.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
++dependencies = [
++ "rand_core 0.4.2",
++]
++
++[[package]]
++name = "rand_core"
++version = "0.4.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
++
++[[package]]
++name = "rand_core"
++version = "0.6.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7"
++dependencies = [
++ "getrandom",
++]
++
++[[package]]
++name = "rdrand"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
++dependencies = [
++ "rand_core 0.3.1",
++]
++
++[[package]]
++name = "redox_syscall"
++version = "0.2.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5ab49abadf3f9e1c4bc499e8845e152ad87d2ad2d30371841171169e9d75feee"
++dependencies = [
++ "bitflags",
++]
++
++[[package]]
++name = "remove_dir_all"
++version = "0.5.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
++dependencies = [
++ "winapi",
++]
++
++[[package]]
++name = "same-file"
++version = "1.0.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
++dependencies = [
++ "winapi-util",
++]
++
++[[package]]
++name = "strsim"
++version = "0.10.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
++
++[[package]]
++name = "syn"
++version = "1.0.74"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1873d832550d4588c3dbc20f01361ab00bfe741048f71e3fecf145a7cc18b29c"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "unicode-xid",
++]
++
++[[package]]
++name = "tar"
++version = "0.4.35"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7d779dc6aeff029314570f666ec83f19df7280bb36ef338442cfa8c604021b80"
++dependencies = [
++ "filetime",
++ "libc",
++ "xattr",
++]
++
++[[package]]
++name = "tempdir"
++version = "0.3.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "15f2b5fb00ccdf689e0149d1b1b3c03fead81c2b37735d812fa8bddbbf41b6d8"
++dependencies = [
++ "rand 0.4.6",
++ "remove_dir_all",
++]
++
++[[package]]
++name = "thiserror"
++version = "1.0.26"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "93119e4feac1cbe6c798c34d3a53ea0026b0b1de6a120deef895137c0529bfe2"
++dependencies = [
++ "thiserror-impl",
++]
++
++[[package]]
++name = "thiserror-impl"
++version = "1.0.26"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "060d69a0afe7796bf42e9e2ff91f5ee691fb15c53d38b4b62a9a53eb23164745"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn",
++]
++
++[[package]]
++name = "time"
++version = "0.1.43"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438"
++dependencies = [
++ "libc",
++ "winapi",
++]
++
++[[package]]
++name = "unicode-xid"
++version = "0.2.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3"
++
++[[package]]
++name = "walkdir"
++version = "2.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56"
++dependencies = [
++ "same-file",
++ "winapi",
++ "winapi-util",
++]
++
++[[package]]
++name = "wasi"
++version = "0.10.2+wasi-snapshot-preview1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
++
++[[package]]
++name = "winapi"
++version = "0.3.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
++dependencies = [
++ "winapi-i686-pc-windows-gnu",
++ "winapi-x86_64-pc-windows-gnu",
++]
++
++[[package]]
++name = "winapi-i686-pc-windows-gnu"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
++
++[[package]]
++name = "winapi-util"
++version = "0.1.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
++dependencies = [
++ "winapi",
++]
++
++[[package]]
++name = "winapi-x86_64-pc-windows-gnu"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
++
++[[package]]
++name = "xattr"
++version = "0.2.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "244c3741f4240ef46274860397c7c74e50eb23624996930e484c16679633a54c"
++dependencies = [
++ "libc",
++]
++
++[[package]]
++name = "xz2"
++version = "0.1.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c179869f34fc7c01830d3ce7ea2086bc3a07e0d35289b667d0a8bf910258926c"
++dependencies = [
++ "lzma-sys",
++]
++
++[[package]]
++name = "zip"
++version = "0.5.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "93ab48844d61251bb3835145c521d88aa4031d7139e8485990f60ca911fa0815"
++dependencies = [
++ "byteorder",
++ "bzip2",
++ "crc32fast",
++ "flate2",
++ "thiserror",
++ "time",
++]
diff --git a/nixpkgs/pkgs/tools/compression/ouch/default.nix b/nixpkgs/pkgs/tools/compression/ouch/default.nix
new file mode 100644
index 000000000000..c46e83ab91b2
--- /dev/null
+++ b/nixpkgs/pkgs/tools/compression/ouch/default.nix
@@ -0,0 +1,28 @@
+{ lib, rustPlatform, fetchFromGitHub }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "ouch";
+  version = "0.1.5";
+
+  src = fetchFromGitHub {
+    owner = "vrmiguel";
+    repo = pname;
+    rev = version;
+    sha256 = "00ah8hgrppa61jhwb74zl5b509q0yp2pp27w9frm814iqx70qn38";
+  };
+
+  cargoPatches = [
+    # a patch file to add Cargo.lock in the source code
+    # https://github.com/vrmiguel/ouch/pull/46
+    ./add-Cargo.lock.patch
+  ];
+
+  cargoSha256 = "181aq8r78g4bl1ndlwl54ws5ccrwph0mmk9506djxvfdy3hndxkg";
+
+  meta = with lib; {
+    description = "Taking the pain away from file (de)compression";
+    homepage = "https://github.com/vrmiguel/ouch";
+    license = licenses.mit;
+    maintainers = [ maintainers.psibi ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/compression/xdelta/default.nix b/nixpkgs/pkgs/tools/compression/xdelta/default.nix
index ee52f35c9790..fbaab91d0931 100644
--- a/nixpkgs/pkgs/tools/compression/xdelta/default.nix
+++ b/nixpkgs/pkgs/tools/compression/xdelta/default.nix
@@ -56,6 +56,6 @@ in stdenv.mkDerivation rec {
     '';
     homepage = "http://xdelta.org/";
     license = licenses.gpl2Plus;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/tools/compression/zstd/default.nix b/nixpkgs/pkgs/tools/compression/zstd/default.nix
index 5253d7faa401..f87a144f7cc9 100644
--- a/nixpkgs/pkgs/tools/compression/zstd/default.nix
+++ b/nixpkgs/pkgs/tools/compression/zstd/default.nix
@@ -3,6 +3,9 @@
 , file
 , legacySupport ? false
 , static ? stdenv.hostPlatform.isStatic
+# these need to be ran on the host, thus disable when cross-compiling
+, buildContrib ? stdenv.hostPlatform == stdenv.buildPlatform
+, doCheck ? stdenv.hostPlatform == stdenv.buildPlatform
 }:
 
 stdenv.mkDerivation rec {
@@ -40,7 +43,7 @@ stdenv.mkDerivation rec {
     (name: value: "-DZSTD_${name}:BOOL=${if value then "ON" else "OFF"}") {
       BUILD_SHARED = !static;
       BUILD_STATIC = static;
-      BUILD_CONTRIB = true;
+      BUILD_CONTRIB = buildContrib;
       PROGRAMS_LINK_SHARED = !static;
       LEGACY_SUPPORT = legacySupport;
       BUILD_TESTS = doCheck;
@@ -53,7 +56,7 @@ stdenv.mkDerivation rec {
   '';
 
   checkInputs = [ file ];
-  doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
+  inherit doCheck;
   checkPhase = ''
     runHook preCheck
     # Patch shebangs for playTests
@@ -64,13 +67,14 @@ stdenv.mkDerivation rec {
 
   preInstall = ''
     mkdir -p $bin/bin
-    cp contrib/pzstd/pzstd $bin/bin/pzstd
     substituteInPlace ../programs/zstdgrep \
       --replace ":-grep" ":-${gnugrep}/bin/grep" \
       --replace ":-zstdcat" ":-$bin/bin/zstdcat"
 
     substituteInPlace ../programs/zstdless \
       --replace "zstdcat" "$bin/bin/zstdcat"
+  '' + lib.optionalString buildContrib ''
+    cp contrib/pzstd/pzstd $bin/bin/pzstd
   '' + lib.optionalString stdenv.isDarwin ''
     install_name_tool -change @rpath/libzstd.1.dylib $out/lib/libzstd.1.dylib $bin/bin/pzstd
   '';
diff --git a/nixpkgs/pkgs/tools/filesystems/9pfs/default.nix b/nixpkgs/pkgs/tools/filesystems/9pfs/default.nix
index bf817a508731..03f082a40381 100644
--- a/nixpkgs/pkgs/tools/filesystems/9pfs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/9pfs/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchFromGitHub, fuse }:
 
 stdenv.mkDerivation {
-  name = "9pfs-20150918";
+  pname = "9pfs";
+  version = "unstable-2015-09-18";
 
   src = fetchFromGitHub {
     owner = "mischief";
diff --git a/nixpkgs/pkgs/tools/filesystems/aefs/default.nix b/nixpkgs/pkgs/tools/filesystems/aefs/default.nix
index fb6fa01894e4..c523255ddb04 100644
--- a/nixpkgs/pkgs/tools/filesystems/aefs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/aefs/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, fetchpatch, fuse }:
 
 stdenv.mkDerivation rec {
-  name = "aefs-0.4pre259-8843b7c";
+  pname = "aefs";
+  version = "0.4pre259-8843b7c";
 
   src = fetchurl {
-    url = "http://tarballs.nixos.org/${name}.tar.bz2";
+    url = "http://tarballs.nixos.org/aefs-${version}.tar.bz2";
     sha256 = "167hp58hmgdavg2mqn5dx1xgq24v08n8d6psf33jhbdabzx6a6zq";
   };
 
diff --git a/nixpkgs/pkgs/tools/filesystems/archivemount/default.nix b/nixpkgs/pkgs/tools/filesystems/archivemount/default.nix
index 32c942aea5b1..22e41611aef8 100644
--- a/nixpkgs/pkgs/tools/filesystems/archivemount/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/archivemount/default.nix
@@ -1,13 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, fuse, libarchive }:
 
-let
-  name = "archivemount-0.9.1";
-in
-stdenv.mkDerivation {
-  inherit name;
+stdenv.mkDerivation rec {
+  pname = "archivemount";
+  version = "0.9.1";
 
   src = fetchurl {
-    url = "https://www.cybernoia.de/software/archivemount/${name}.tar.gz";
+    url = "https://www.cybernoia.de/software/archivemount/archivemount-${version}.tar.gz";
     sha256 = "1cy5b6qril9c3ry6fv7ir87s8iyy5vxxmbyx90dm86fbra0vjaf5";
   };
 
diff --git a/nixpkgs/pkgs/tools/filesystems/bonnie/default.nix b/nixpkgs/pkgs/tools/filesystems/bonnie/default.nix
index e34e5289ad64..f2d55b47161a 100644
--- a/nixpkgs/pkgs/tools/filesystems/bonnie/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/bonnie/default.nix
@@ -1,9 +1,11 @@
 { lib, stdenv, fetchurl, perl }:
 
 stdenv.mkDerivation rec {
-  name = "bonnie++-1.98";
+  pname = "bonnie++";
+  version = "1.98";
+
   src = fetchurl {
-    url = "https://www.coker.com.au/bonnie++/${name}.tgz";
+    url = "https://www.coker.com.au/bonnie++/bonnie++-${version}.tgz";
     sha256 = "010bmlmi0nrlp3aq7p624sfaj5a65lswnyyxk3cnz1bqig0cn2vf";
   };
 
diff --git a/nixpkgs/pkgs/tools/filesystems/btrfs-progs/default.nix b/nixpkgs/pkgs/tools/filesystems/btrfs-progs/default.nix
index aad633f3ba46..158c7d593992 100644
--- a/nixpkgs/pkgs/tools/filesystems/btrfs-progs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/btrfs-progs/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "btrfs-progs";
-  version = "5.12.1";
+  version = "5.13";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v${version}.tar.xz";
-    sha256 = "sha256-lQhG/qRU+0scOfD6RUmDZEVy35HfXAYEezNb8tVHN1k=";
+    sha256 = "sha256-Tikh0iA9Jl4qlBu9brB37dXjmBHi1p6MEbLwPc9eWEM=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/filesystems/catcli/default.nix b/nixpkgs/pkgs/tools/filesystems/catcli/default.nix
index be9349daa27c..2deeeb2fc09e 100644
--- a/nixpkgs/pkgs/tools/filesystems/catcli/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/catcli/default.nix
@@ -7,13 +7,13 @@
 buildPythonApplication rec {
 
   pname = "catcli";
-  version = "0.6.2";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "deadc0de6";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0704022gbm987q6x6vcflq4b4p4hvcqm5ikiyndy5n8fj1q8lq95";
+    sha256 = "1r30345wzpg8yk542fmgh3khdb91s4sr9hnqxh1s71ifjsrgmpph";
   };
 
   propagatedBuildInputs = [ docopt anytree ];
diff --git a/nixpkgs/pkgs/tools/filesystems/ceph-csi/default.nix b/nixpkgs/pkgs/tools/filesystems/ceph-csi/default.nix
index 7f468c80964c..2eaa59b27e57 100644
--- a/nixpkgs/pkgs/tools/filesystems/ceph-csi/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/ceph-csi/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "ceph-csi";
-  version = "3.3.1";
+  version = "3.4.0";
 
   nativeBuildInputs = [ go ];
   buildInputs = [ ceph ];
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     owner = "ceph";
     repo = "ceph-csi";
     rev = "v${version}";
-    sha256 = "16nh4bh8a9s2zbxnnhq1ldww4dzp2fmf5idgq99vkyw2kfp017lf";
+    sha256 = "sha256-5+eK+iN6ecWtcmNPjiThCj1rwFaHX3rVCW9lmUCWhU0=";
   };
 
   preConfigure = ''
diff --git a/nixpkgs/pkgs/tools/filesystems/ceph/default.nix b/nixpkgs/pkgs/tools/filesystems/ceph/default.nix
index 0ccc96ce1885..426aff81f069 100644
--- a/nixpkgs/pkgs/tools/filesystems/ceph/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/ceph/default.nix
@@ -146,10 +146,10 @@ let
   ]);
   sitePackages = ceph-python-env.python.sitePackages;
 
-  version = "16.2.4";
+  version = "16.2.5";
   src = fetchurl {
     url = "http://download.ceph.com/tarballs/ceph-${version}.tar.gz";
-    sha256 = "sha256-J6FVK7feNN8cGO5BSDlfRGACAzchmRUSWR+a4ZgeWy0=";
+    sha256 = "sha256-uCBpFvp5k+A5SgwxoJVkuGb9E69paKrs3qda5RpsRt4=";
   };
 in rec {
   ceph = stdenv.mkDerivation {
diff --git a/nixpkgs/pkgs/tools/filesystems/ciopfs/default.nix b/nixpkgs/pkgs/tools/filesystems/ciopfs/default.nix
index cfe80cfce65e..31311756ab47 100644
--- a/nixpkgs/pkgs/tools/filesystems/ciopfs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/ciopfs/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, fuse, glib, attr }:
 
 stdenv.mkDerivation rec {
-  name = "ciopfs-0.4";
+  pname = "ciopfs";
+  version = "0.4";
 
   src = fetchurl {
-    url = "http://www.brain-dump.org/projects/ciopfs/${name}.tar.gz";
+    url = "http://www.brain-dump.org/projects/ciopfs/ciopfs-${version}.tar.gz";
     sha256 = "0sr9i9b3qfwbfvzvk00yrrg3x2xqk1njadbldkvn7hwwa4z5bm9l";
   };
 
diff --git a/nixpkgs/pkgs/tools/filesystems/davfs2/default.nix b/nixpkgs/pkgs/tools/filesystems/davfs2/default.nix
index 7652cc978785..2b573f9afdb1 100644
--- a/nixpkgs/pkgs/tools/filesystems/davfs2/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/davfs2/default.nix
@@ -9,10 +9,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "davfs2-1.6.0";
+  pname = "davfs2";
+  version = "1.6.0";
 
   src = fetchurl {
-    url = "mirror://savannah/davfs2/${name}.tar.gz";
+    url = "mirror://savannah/davfs2/davfs2-${version}.tar.gz";
     sha256 = "sha256-LmtnVoW9kXdyvmDwmZrgmMgPef8g3BMej+xFR8u2O1A=";
   };
 
diff --git a/nixpkgs/pkgs/tools/filesystems/duperemove/default.nix b/nixpkgs/pkgs/tools/filesystems/duperemove/default.nix
index bbc346d46f71..98e652a05f9d 100644
--- a/nixpkgs/pkgs/tools/filesystems/duperemove/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/duperemove/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "duperemove";
-  version = "0.11.2";
+  version = "0.11.3";
 
   src = fetchFromGitHub {
     owner = "markfasheh";
     repo = "duperemove";
     rev = "v${version}";
-    sha256 = "1a87mka2sfzhbch2jip6wlvvs0glxq9lqwmyrp359d1rmwwmqiw9";
+    sha256 = "sha256-WjUM52IqMDvBzeGHo7p4JcvMO5iPWPVOr8GJ3RSsnUs=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/nixpkgs/pkgs/tools/filesystems/fsfs/default.nix b/nixpkgs/pkgs/tools/filesystems/fsfs/default.nix
index 114c83e84f4a..836b94dc7954 100644
--- a/nixpkgs/pkgs/tools/filesystems/fsfs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/fsfs/default.nix
@@ -2,10 +2,12 @@
 
 throw "It still does not build"
 
-stdenv.mkDerivation {
-  name = "fsfs-0.1.1";
+stdenv.mkDerivation rec {
+  pname = "fsfs";
+  version = "0.1.1";
+
   src = fetchurl {
-    url = "mirror://sourceforge/fsfs/fsfs-0.1.1.tar.gz";
+    url = "mirror://sourceforge/fsfs/fsfs-${version}.tar.gz";
     sha256 = "05wka9aq182li2r7gxcd8bb3rhpns7ads0k59v7w1jza60l57c74";
   };
 
diff --git a/nixpkgs/pkgs/tools/filesystems/fuse-overlayfs/default.nix b/nixpkgs/pkgs/tools/filesystems/fuse-overlayfs/default.nix
index a3cb67c1bd3e..3fc319d5b748 100644
--- a/nixpkgs/pkgs/tools/filesystems/fuse-overlayfs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/fuse-overlayfs/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fuse-overlayfs";
-  version = "1.6";
+  version = "1.7.1";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-YNR9Cj2StbmA2MjoQEWgJCMoHXQ1wIYikXGUEkmJEIg=";
+    sha256 = "sha256-wSJjA9eZCb3DJed07xuCS0M7ey3DnyuIlp9kvFvDDC8=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/nixpkgs/pkgs/tools/filesystems/gcsfuse/default.nix b/nixpkgs/pkgs/tools/filesystems/gcsfuse/default.nix
index 92d35338d180..4f739769807b 100644
--- a/nixpkgs/pkgs/tools/filesystems/gcsfuse/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/gcsfuse/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "gcsfuse";
-  version = "0.35.1";
+  version = "0.36.0";
 
   src = fetchFromGitHub {
     owner = "googlecloudplatform";
     repo = "gcsfuse";
     rev = "v${version}";
-    sha256 = "sha256-A6vhdECKMq0kcR7mUTPu9F0N7gVj7tOg7UXeJ/gmbnM=";
+    sha256 = "sha256-qsvHqSvMG7VwRtNmyun2oO+ZRZ1D1spefTeUXrWGSNk=";
   };
 
   goPackagePath = "github.com/googlecloudplatform/gcsfuse";
@@ -20,7 +20,7 @@ buildGoPackage rec {
     ln -s $out/bin/mount_gcsfuse $out/bin/mount.fuse.gcsfuse
   '';
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.gcsfuseVersion=${version}" ];
+  ldflags = [ "-s" "-w" "-X main.gcsfuseVersion=${version}" ];
 
   meta = with lib;{
     description = "A user-space file system for interacting with Google Cloud Storage";
diff --git a/nixpkgs/pkgs/tools/filesystems/genext2fs/default.nix b/nixpkgs/pkgs/tools/filesystems/genext2fs/default.nix
index ccc048f75723..dc0b902bf32b 100644
--- a/nixpkgs/pkgs/tools/filesystems/genext2fs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/genext2fs/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "genext2fs-1.4.1";
+stdenv.mkDerivation rec {
+  pname = "genext2fs";
+  version = "1.4.1";
 
   src = fetchurl {
-    url = "mirror://sourceforge/genext2fs/genext2fs-1.4.1.tar.gz";
+    url = "mirror://sourceforge/genext2fs/genext2fs-${version}.tar.gz";
     sha256 = "1z7czvsf3ircvz2cw1cf53yifsq29ljxmj15hbgc79l6gbxbnka0";
   };
 
diff --git a/nixpkgs/pkgs/tools/filesystems/gfs2-utils/default.nix b/nixpkgs/pkgs/tools/filesystems/gfs2-utils/default.nix
new file mode 100644
index 000000000000..ba479b87aa92
--- /dev/null
+++ b/nixpkgs/pkgs/tools/filesystems/gfs2-utils/default.nix
@@ -0,0 +1,32 @@
+{ lib, stdenv, fetchurl
+, autoreconfHook, bison, flex, pkg-config
+, bzip2, check, ncurses, util-linux, zlib
+}:
+
+stdenv.mkDerivation rec {
+  pname = "gfs2-utils";
+  version = "3.4.1";
+
+  src = fetchurl {
+    url = "https://pagure.io/gfs2-utils/archive/${version}/gfs2-utils-${version}.tar.gz";
+    sha256 = "sha256-gwKxBBG5PtG4/RxX4sUC25ZeG8K2urqVkFDKL7NS4ZI=";
+  };
+
+  outputs = [ "bin" "doc" "out" "man" ];
+
+  nativeBuildInputs = [ autoreconfHook bison flex pkg-config ];
+  buildInputs = [ bzip2 ncurses util-linux zlib ];
+
+  checkInputs = [ check ];
+  doCheck = true;
+
+  enableParallelBuilding = true;
+
+  meta = with lib; {
+    homepage = "https://pagure.io/gfs2-utils";
+    description = "Tools for creating, checking and working with gfs2 filesystems";
+    maintainers = with maintainers; [ qyliss ];
+    license = [ licenses.gpl2Plus licenses.lgpl2Plus ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/filesystems/gocryptfs/default.nix b/nixpkgs/pkgs/tools/filesystems/gocryptfs/default.nix
index c2e022ca4bde..29750531db20 100644
--- a/nixpkgs/pkgs/tools/filesystems/gocryptfs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/gocryptfs/default.nix
@@ -16,16 +16,16 @@ in
 
 buildGoModule rec {
   pname = "gocryptfs";
-  version = "2.0.1";
+  version = "2.1";
 
   src = fetchFromGitHub {
     owner = "rfjakob";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0wiagmym8mwi0vpvrs5ryn3zjwha8ilh7xkavvkd1gqd5laln0kp";
+    sha256 = "sha256-nACBEOL/vnqxdAGI37k9bxgQKgpi35/tsuCxsQ9I2sw=";
   };
 
-  vendorSha256 = "10az8n7z4rhsk1af2x6v3pmxg4zp7c9cal35ily8bdzzcb9cpgs0";
+  vendorSha256 = "sha256-Q/oBT5xdLpgQCIk7KES6c8+BaCQVUIwCwVufl4oTFRs=";
 
   nativeBuildInputs = [
     pkg-config
@@ -37,12 +37,11 @@ buildGoModule rec {
 
   propagatedBuildInputs = [ libfido2 ];
 
-  buildFlagsArray = ''
-    -ldflags=
-      -X main.GitVersion=${version}
-      -X main.GitVersionFuse=[vendored]
-      -X main.BuildDate=unknown
-  '';
+  ldflags = [
+    "-X main.GitVersion=${version}"
+    "-X main.GitVersionFuse=[vendored]"
+    "-X main.BuildDate=unknown"
+  ];
 
   subPackages = [ "." "gocryptfs-xray" "contrib/statfs" ];
 
diff --git a/nixpkgs/pkgs/tools/filesystems/httpfs/default.nix b/nixpkgs/pkgs/tools/filesystems/httpfs/default.nix
index f107add29c0d..61843e4c65be 100644
--- a/nixpkgs/pkgs/tools/filesystems/httpfs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/httpfs/default.nix
@@ -2,10 +2,11 @@
 , docbook_xml_dtd_45, docbook_xsl , libxml2, libxslt }:
 
 stdenv.mkDerivation rec {
-  name = "httpfs2-0.1.5";
+  pname = "httpfs2";
+  version = "0.1.5";
 
   src = fetchurl {
-    url = "mirror://sourceforge/httpfs/httpfs2/${name}.tar.gz";
+    url = "mirror://sourceforge/httpfs/httpfs2/httpfs2-${version}.tar.gz";
     sha256 = "1h8ggvhw30n2r6w11n1s458ypggdqx6ldwd61ma4yd7binrlpjq1";
   };
 
diff --git a/nixpkgs/pkgs/tools/filesystems/jfsutils/default.nix b/nixpkgs/pkgs/tools/filesystems/jfsutils/default.nix
index fadc639fbf63..290bc3139108 100644
--- a/nixpkgs/pkgs/tools/filesystems/jfsutils/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/jfsutils/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, fetchpatch, libuuid, autoreconfHook }:
 
 stdenv.mkDerivation rec {
-  name = "jfsutils-1.1.15";
+  pname = "jfsutils";
+  version = "1.1.15";
 
   src = fetchurl {
-    url = "http://jfs.sourceforge.net/project/pub/${name}.tar.gz";
+    url = "http://jfs.sourceforge.net/project/pub/jfsutils-${version}.tar.gz";
     sha256 = "0kbsy2sk1jv4m82rxyl25gwrlkzvl3hzdga9gshkxkhm83v1aji4";
   };
 
diff --git a/nixpkgs/pkgs/tools/filesystems/mergerfs/tools.nix b/nixpkgs/pkgs/tools/filesystems/mergerfs/tools.nix
index e559fd9d4cd0..6e11c6513dad 100644
--- a/nixpkgs/pkgs/tools/filesystems/mergerfs/tools.nix
+++ b/nixpkgs/pkgs/tools/filesystems/mergerfs/tools.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub, coreutils, makeWrapper
-, rsync, python3, pythonPackages }:
+, rsync, python3 }:
 
 stdenv.mkDerivation rec {
   pname = "mergerfs-tools";
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   postInstall = with lib; ''
     wrapProgram $out/bin/mergerfs.balance --prefix PATH : ${makeBinPath [ rsync ]}
     wrapProgram $out/bin/mergerfs.dup --prefix PATH : ${makeBinPath [ rsync ]}
-    wrapProgram $out/bin/mergerfs.mktrash --prefix PATH : ${makeBinPath [ pythonPackages.xattr ]}
+    wrapProgram $out/bin/mergerfs.mktrash --prefix PATH : ${makeBinPath [ python3.pkgs.xattr ]}
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/filesystems/moosefs/default.nix b/nixpkgs/pkgs/tools/filesystems/moosefs/default.nix
index ee0d5eedc921..dc1d77bfa7ed 100644
--- a/nixpkgs/pkgs/tools/filesystems/moosefs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/moosefs/default.nix
@@ -1,7 +1,6 @@
 { lib, stdenv
 , fetchFromGitHub
-, makeWrapper
-, python
+, python3
 , fuse
 , pkg-config
 , libpcap
@@ -19,10 +18,14 @@ stdenv.mkDerivation rec {
     sha256 = "0dap9dqwwx8adma6arxg015riqc86cmjv2m44hk0kz7s24h79ipq";
   };
 
-  nativeBuildInputs = [ pkg-config makeWrapper ];
+  nativeBuildInputs = [
+    pkg-config
+  ];
 
   buildInputs =
-    [ fuse libpcap zlib python ];
+    [ fuse libpcap zlib python3 ];
+
+  strictDeps = true;
 
   buildFlags = lib.optionals stdenv.isDarwin [ "CPPFLAGS=-UHAVE_STRUCT_STAT_ST_BIRTHTIME" ];
 
@@ -32,7 +35,7 @@ stdenv.mkDerivation rec {
       "/usr/local/lib/pkgconfig" "/nonexistent"
   '';
 
-  preBuild = lib.optional stdenv.isDarwin ''
+  preBuild = lib.optionalString stdenv.isDarwin ''
     substituteInPlace config.h --replace \
       "#define HAVE_STRUCT_STAT_ST_BIRTHTIME 1" \
       "#undef HAVE_STRUCT_STAT_ST_BIRTHTIME"
diff --git a/nixpkgs/pkgs/tools/filesystems/mtdutils/default.nix b/nixpkgs/pkgs/tools/filesystems/mtdutils/default.nix
index cb40e72c30be..c4bf545a7d52 100644
--- a/nixpkgs/pkgs/tools/filesystems/mtdutils/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/mtdutils/default.nix
@@ -1,12 +1,13 @@
-{ lib, stdenv, fetchurl, autoreconfHook, pkg-config, cmocka, acl, libuuid, lzo, zlib, zstd }:
+{ lib, stdenv, fetchgit, autoreconfHook, pkg-config, cmocka, acl, libuuid, lzo, zlib, zstd }:
 
 stdenv.mkDerivation rec {
   pname = "mtd-utils";
-  version = "2.1.2";
+  version = "2.1.3";
 
-  src = fetchurl {
-    url = "ftp://ftp.infradead.org/pub/${pname}/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-itTF80cW1AZGqihySi9WFtMlpvEZJU+RTiaXbx926dY=";
+  src = fetchgit {
+    url = "git://git.infradead.org/mtd-utils.git";
+    rev = "v${version}";
+    sha256 = "sha256-w20Zp1G0WbNvEJwqpLw2f8VvmW8ZBEL0GSHze8qpPWg";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ] ++ lib.optional doCheck cmocka;
@@ -21,6 +22,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Tools for MTD filesystems";
+    downloadPage = "https://git.infradead.org/mtd-utils.git";
     license = licenses.gpl2Plus;
     homepage = "http://www.linux-mtd.infradead.org/";
     maintainers = with maintainers; [ viric superherointj ];
diff --git a/nixpkgs/pkgs/tools/filesystems/mtools/default.nix b/nixpkgs/pkgs/tools/filesystems/mtools/default.nix
index f82b008e41d0..41259f2a45e5 100644
--- a/nixpkgs/pkgs/tools/filesystems/mtools/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/mtools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mtools";
-  version = "4.0.33";
+  version = "4.0.35";
 
   src = fetchurl {
     url = "mirror://gnu/mtools/${pname}-${version}.tar.bz2";
-    sha256 = "0m5rx8djvg4jfvdgs4dxjkfd2na55wkdpid9xa32yc103s70zc8w";
+    sha256 = "sha256-NHaeFzdR0vDYkaCMdsgEJ+kpuO5DQ4AZuGZsw9ekR0k=";
   };
 
   patches = lib.optional stdenv.isDarwin ./UNUSED-darwin.patch;
diff --git a/nixpkgs/pkgs/tools/filesystems/mtpfs/default.nix b/nixpkgs/pkgs/tools/filesystems/mtpfs/default.nix
index e0b1cffe4dd7..a2dc01f8c097 100644
--- a/nixpkgs/pkgs/tools/filesystems/mtpfs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/mtpfs/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchurl, pkg-config, fuse, libmtp, glib, libmad, libid3tag }:
 
 stdenv.mkDerivation rec {
-  name = "mtpfs-1.1";
+  pname = "mtpfs";
+  version = "1.1";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ fuse libmtp glib libid3tag libmad ];
@@ -14,7 +15,7 @@ stdenv.mkDerivation rec {
   '';
 
   src = fetchurl {
-    url = "https://www.adebenham.com/files/mtp/${name}.tar.gz";
+    url = "https://www.adebenham.com/files/mtp/mtpfs-${version}.tar.gz";
     sha256 = "07acrqb17kpif2xcsqfqh5j4axvsa4rnh6xwnpqab5b9w5ykbbqv";
   };
 
diff --git a/nixpkgs/pkgs/tools/filesystems/netatalk/default.nix b/nixpkgs/pkgs/tools/filesystems/netatalk/default.nix
index 486963f44b9a..258b25c3693c 100644
--- a/nixpkgs/pkgs/tools/filesystems/netatalk/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/netatalk/default.nix
@@ -4,10 +4,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "netatalk-3.1.12";
+  pname = "netatalk";
+  version = "3.1.12";
 
   src = fetchurl {
-    url = "mirror://sourceforge/netatalk/netatalk/${name}.tar.bz2";
+    url = "mirror://sourceforge/netatalk/netatalk/netatalk-${version}.tar.bz2";
     sha256 = "1ld5mnz88ixic21m6f0xcgf8v6qm08j6xabh1dzfj6x47lxghq0m";
   };
 
diff --git a/nixpkgs/pkgs/tools/filesystems/ntfs-3g/default.nix b/nixpkgs/pkgs/tools/filesystems/ntfs-3g/default.nix
index 89ef27827a19..de110f61dd81 100644
--- a/nixpkgs/pkgs/tools/filesystems/ntfs-3g/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/ntfs-3g/default.nix
@@ -5,7 +5,7 @@
 
 stdenv.mkDerivation rec {
   pname = "ntfs3g";
-  version = "2017.3.23";
+  version = "2021.8.22";
 
   outputs = [ "out" "dev" "man" "doc" ];
 
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://tuxera.com/opensource/ntfs-3g_ntfsprogs-${version}.tgz";
-    sha256 = "1mb228p80hv97pgk3myyvgp975r9mxq56c6bdn1n24kngcfh4niy";
+    sha256 = "55b883aa05d94b2ec746ef3966cb41e66bed6db99f22ddd41d1b8b94bb202efb";
   };
 
   patchPhase = ''
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
     '';
 
   meta = with lib; {
-    homepage = "https://www.tuxera.com/community/open-source-ntfs-3g/";
+    homepage = "https://github.com/tuxera/ntfs-3g";
     description = "FUSE-based NTFS driver with full write support";
     maintainers = with maintainers; [ dezgeg ];
     platforms = with platforms; darwin ++ linux;
diff --git a/nixpkgs/pkgs/tools/filesystems/s3fs/default.nix b/nixpkgs/pkgs/tools/filesystems/s3fs/default.nix
index 95b5b6ab34aa..e0755a1eead0 100644
--- a/nixpkgs/pkgs/tools/filesystems/s3fs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/s3fs/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "s3fs-fuse";
-  version = "1.89";
+  version = "1.90";
 
   src = fetchFromGitHub {
     owner  = "s3fs-fuse";
     repo   = "s3fs-fuse";
     rev    = "v${version}";
-    sha256 = "sha256-Agb0tq7B98Ioe0G/XEZCYcFQKnMuYXX9x0yg4Gvu3/k=";
+    sha256 = "sha256-tcoINdkPfIdO0VMQ5tdpKcslpvvgVhaJiDFnS/ix0sc=";
   };
 
   buildInputs = [ curl openssl libxml2 fuse ];
diff --git a/nixpkgs/pkgs/tools/filesystems/squashfs-tools-ng/default.nix b/nixpkgs/pkgs/tools/filesystems/squashfs-tools-ng/default.nix
index cb4f3820bcc0..1dbaee5ad14c 100644
--- a/nixpkgs/pkgs/tools/filesystems/squashfs-tools-ng/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/squashfs-tools-ng/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "squashfs-tools-ng";
-  version = "1.1.2";
+  version = "1.1.3";
 
   src = fetchurl {
     url = "https://infraroot.at/pub/squashfs/squashfs-tools-ng-${version}.tar.xz";
-    sha256 = "0hlrbiy8xmccczi11ml0lzmg3946l9ck5wpfyw03wn5zgvx29zja";
+    sha256 = "sha256-q84Pz5qK4cM1Lk5eh+Gwd/VEEdpRczLqg7XnzpSN1w0=";
   };
 
   nativeBuildInputs = [ doxygen graphviz pkg-config perl ];
diff --git a/nixpkgs/pkgs/tools/filesystems/squashfs/0001-Mksquashfs-add-no-hardlinks-option.patch b/nixpkgs/pkgs/tools/filesystems/squashfs/0001-Mksquashfs-add-no-hardlinks-option.patch
deleted file mode 100644
index 0d6804a647b2..000000000000
--- a/nixpkgs/pkgs/tools/filesystems/squashfs/0001-Mksquashfs-add-no-hardlinks-option.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-From d925c9a11ee2e88ac8aac03f51892746f2bcf8cd Mon Sep 17 00:00:00 2001
-From: Phillip Lougher <phillip@squashfs.org.uk>
-Date: Thu, 25 Feb 2021 23:12:10 +0000
-Subject: [PATCH] Mksquashfs: add -no-hardlinks option
-
-Normally Mksquashfs will detect hardlinks (multiple files with the
-same inode) and hardlink them in the Squashfs image.
-
-But often hardlinks are used in the original filesystem
-to save space, when files are discovered to be duplicate.
-In this special case the only reason the files are
-hardlinked is to save space, and where the filesystem
-doesn't handle duplicate files (different inode, same
-data).
-
-Squashfs does handle duplicate files, and so add
-an option to ignore hardlinks and instead
-store them as duplicates.
-
-Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
----
- squashfs-tools/mksquashfs.c | 16 +++++++++++-----
- 1 file changed, 11 insertions(+), 5 deletions(-)
-
-diff --git a/squashfs-tools/mksquashfs.c b/squashfs-tools/mksquashfs.c
-index a45b77f..d4dc359 100644
---- a/squashfs-tools/mksquashfs.c
-+++ b/squashfs-tools/mksquashfs.c
-@@ -312,6 +312,9 @@ struct dir_info *root_dir;
- FILE *log_fd;
- int logging=FALSE;
- 
-+/* Should Mksquashfs detect hardlinked files? */
-+int no_hardlinks = FALSE;
-+
- static char *read_from_disk(long long start, unsigned int avail_bytes);
- void add_old_root_entry(char *name, squashfs_inode inode, int inode_number,
- 	int type);
-@@ -3093,11 +3096,11 @@ struct inode_info *lookup_inode3(struct stat *buf, int pseudo, int id,
- 
- 	/*
- 	 * Look-up inode in hash table, if it already exists we have a
--	 * hard-link, so increment the nlink count and return it.
--	 * Don't do the look-up for directories because we don't hard-link
--	 * directories.
-+	 * hardlink, so increment the nlink count and return it.
-+	 * Don't do the look-up for directories because Unix/Linux doesn't
-+	 * allow hard-links to directories.
- 	 */
--	if ((buf->st_mode & S_IFMT) != S_IFDIR) {
-+	if ((buf->st_mode & S_IFMT) != S_IFDIR && !no_hardlinks) {
- 		for(inode = inode_info[ino_hash]; inode; inode = inode->next) {
- 			if(memcmp(buf, &inode->buf, sizeof(struct stat)) == 0) {
- 				inode->nlink ++;
-@@ -5447,7 +5450,9 @@ int main(int argc, char *argv[])
- 		comp = lookup_compressor(COMP_DEFAULT);
- 
- 	for(i = source + 2; i < argc; i++) {
--		if(strcmp(argv[i], "-mkfs-time") == 0 ||
-+		if(strcmp(argv[i], "-no-hardlinks") == 0)
-+			no_hardlinks = TRUE;
-+		else if(strcmp(argv[i], "-mkfs-time") == 0 ||
- 				strcmp(argv[i], "-fstime") == 0) {
- 			if((++i == argc) || !parse_num_unsigned(argv[i], &mkfs_time)) {
- 				ERROR("%s: %s missing or invalid time value\n", argv[0], argv[i - 1]);
-@@ -5893,6 +5898,7 @@ printOptions:
- 				"files larger than block size\n");
- 			ERROR("-no-duplicates\t\tdo not perform duplicate "
- 				"checking\n");
-+			ERROR("-no-hardlinks\t\tdo not hardlink files, instead store duplicates\n");
- 			ERROR("-all-root\t\tmake all files owned by root\n");
- 			ERROR("-root-mode <mode>\tset root directory permissions to octal <mode>\n");
- 			ERROR("-force-uid <uid>\tset all file uids to <uid>\n");
--- 
-2.30.0
-
diff --git a/nixpkgs/pkgs/tools/filesystems/squashfs/4k-align.patch b/nixpkgs/pkgs/tools/filesystems/squashfs/4k-align.patch
index e73c06788756..db0af95601c5 100644
--- a/nixpkgs/pkgs/tools/filesystems/squashfs/4k-align.patch
+++ b/nixpkgs/pkgs/tools/filesystems/squashfs/4k-align.patch
@@ -1,6 +1,7 @@
-This patch has been edited to apply to squashfs 4.4, commit
-52eb4c279cd283ed9802dd1ceb686560b22ffb67. Below is the original
-message body of the patch.
+This patch is an old patch; see below for the original message body. The patch
+has been updated twice: Once to apply to squashfs 4.4, commit
+52eb4c279cd283ed9802dd1ceb686560b22ffb67, and later to apply to squashfs 4.5,
+commit 0496d7c3de3e09da37ba492081c86159806ebb07.
 
 From 7bda7c75748f36b0a50f93e46144d5a4de4974ad Mon Sep 17 00:00:00 2001
 From: Amin Hassani <ahassani@google.com>
@@ -20,24 +21,23 @@ increased_size = (number_of_unfragmented_files_in_image + number of fragments) *
 
 The 4k alignment can be enabled by flag '-4k-align'
 ---
- squashfs-tools/mksquashfs.c | 16 ++++++++++++++++
- 1 file changed, 16 insertions(+)
+ squashfs-tools/mksquashfs.c | 17 +++++++++++++++++
+ 1 file changed, 17 insertions(+)
 
 diff --git a/squashfs-tools/mksquashfs.c b/squashfs-tools/mksquashfs.c
-index a45b77f..07b1c06 100644
+index aaa4b00..eb2fb23 100644
 --- a/squashfs-tools/mksquashfs.c
 +++ b/squashfs-tools/mksquashfs.c
-@@ -102,7 +102,9 @@ int old_exclude = TRUE;
- int use_regex = FALSE;
- int nopad = FALSE;
+@@ -99,6 +99,8 @@ int nopad = FALSE;
  int exit_on_error = FALSE;
-+int do_4k_align = FALSE;
  long long start_offset = 0;
+ int sleep_time = 0;
++int do_4k_align = FALSE;
 +#define ALIGN_UP(bytes, size) (bytes = (bytes + size - 1) & ~(size - 1))
  
  long long global_uid = -1, global_gid = -1;
  
-@@ -1546,6 +1548,9 @@ void unlock_fragments()
+@@ -1553,6 +1555,9 @@ static void unlock_fragments()
  	 * queue at this time.
  	 */
  	while(!queue_empty(locked_fragment)) {
@@ -47,7 +47,7 @@ index a45b77f..07b1c06 100644
  		write_buffer = queue_get(locked_fragment);
  		frg = write_buffer->block;	
  		size = SQUASHFS_COMPRESSED_SIZE_BLOCK(fragment_table[frg].size);
-@@ -2478,6 +2483,9 @@ void *frag_deflator(void *arg)
+@@ -2460,6 +2465,9 @@ static void *frag_deflator(void *arg)
  		write_buffer->size = compressed_size;
  		pthread_mutex_lock(&fragment_mutex);
  		if(fragments_locked == FALSE) {
@@ -57,18 +57,26 @@ index a45b77f..07b1c06 100644
  			fragment_table[file_buffer->block].size = c_byte;
  			fragment_table[file_buffer->block].start_block = bytes;
  			write_buffer->block = bytes;
-@@ -2877,6 +2885,10 @@ int write_file_blocks(squashfs_inode *inode, struct dir_ent *dir_ent,
- 	long long sparse = 0;
- 	struct file_buffer *fragment_buffer = NULL;
+@@ -2850,6 +2858,10 @@ static struct file_info *write_file_blocks(int *status, struct dir_ent *dir_ent,
+ 	struct file_info *file;
+ 	int bl_hash = 0;
  
 +	// 4k align the start of each file.
 +	if(do_4k_align)
 +		ALIGN_UP(bytes, 4096);
 +
- 	if(pre_duplicate(read_size))
- 		return write_file_blocks_dup(inode, dir_ent, read_buffer, dup);
+ 	if(pre_duplicate(read_size, dir_ent->inode, read_buffer, &bl_hash))
+ 		return write_file_blocks_dup(status, dir_ent, read_buffer, dup, bl_hash);
  
-@@ -4972,6 +4984,7 @@ void write_filesystem_tables(struct squashfs_super_block *sBlk, int nopad)
+@@ -5975,6 +5987,7 @@ static void print_options(FILE *stream, char *name, int total_mem)
+ 	fprintf(stream, "actions from <f>\n");
+ 	fprintf(stream, "-false-action-file <f>\tas -false-action, but read ");
+ 	fprintf(stream, "actions from <f>\n");
++	fprintf(stream, "-4k-align\t\tenables 4k alignment of all files\n");
+ 	fprintf(stream, "\nFilesystem filter options:\n");
+ 	fprintf(stream, "-p <pseudo-definition>\tAdd pseudo file definition\n");
+ 	fprintf(stream, "-pf <pseudo-file>\tAdd list of pseudo file definitions\n");
+@@ -6198,6 +6211,7 @@ static void print_summary()
  		"compressed", no_fragments ? "no" : noF ? "uncompressed" :
  		"compressed", no_xattrs ? "no" : noX ? "uncompressed" :
  		"compressed", noI || noId ? "uncompressed" : "compressed");
@@ -76,23 +84,15 @@ index a45b77f..07b1c06 100644
  	printf("\tduplicates are %sremoved\n", duplicate_checking ? "" :
  		"not ");
  	printf("Filesystem size %.2f Kbytes (%.2f Mbytes)\n", bytes / 1024.0,
-@@ -5853,6 +5866,8 @@ print_compressor_options:
+@@ -7499,6 +7513,9 @@ print_compressor_options:
  			root_name = argv[i];
  		} else if(strcmp(argv[i], "-version") == 0) {
- 			VERSION();
+ 			print_version("mksquashfs");
++
 +		} else if(strcmp(argv[i], "-4k-align") == 0) {
 +			do_4k_align = TRUE;
  		} else {
  			ERROR("%s: invalid option\n\n", argv[0]);
- printOptions:
-@@ -5904,6 +5919,7 @@ printOptions:
- 			ERROR("\t\t\tdirectory containing that directory, "
- 				"rather than the\n");
- 			ERROR("\t\t\tcontents of the directory\n");
-+			ERROR("-4k-align\t\tenables 4k alignment of all files\n");
- 			ERROR("\nFilesystem filter options:\n");
- 			ERROR("-p <pseudo-definition>\tAdd pseudo file "
- 				"definition\n");
+ 			print_options(stderr, argv[0], total_mem);
 -- 
-2.23.0
-
+2.32.0
diff --git a/nixpkgs/pkgs/tools/filesystems/squashfs/darwin.patch b/nixpkgs/pkgs/tools/filesystems/squashfs/darwin.patch
index eb2dc24ec1a8..5f2e0b072998 100644
--- a/nixpkgs/pkgs/tools/filesystems/squashfs/darwin.patch
+++ b/nixpkgs/pkgs/tools/filesystems/squashfs/darwin.patch
@@ -8,9 +8,9 @@ diff --git a/squashfs-tools/action.c b/squashfs-tools/action.c
 index 4b06ccb..3cad2ab 100644
 --- a/squashfs-tools/action.c
 +++ b/squashfs-tools/action.c
-@@ -38,6 +38,10 @@
- #include <limits.h>
+@@ -39,6 +39,10 @@
  #include <errno.h>
+ #include <ctype.h>
  
 +#ifndef FNM_EXTMATCH /* glibc extension */
 +	#define FNM_EXTMATCH 0
@@ -19,7 +19,7 @@ index 4b06ccb..3cad2ab 100644
  #include "squashfs_fs.h"
  #include "mksquashfs.h"
  #include "action.h"
-@@ -2284,9 +2288,12 @@ static char *get_start(char *s, int n)
+@@ -2414,9 +2418,12 @@ static char *get_start(char *s, int n)
  
  static int subpathname_fn(struct atom *atom, struct action_data *action_data)
  {
@@ -27,7 +27,7 @@ index 4b06ccb..3cad2ab 100644
 +	char *path = strdup(action_data->subpath);
 +	int is_match = fnmatch(atom->argv[0], get_start(path,
  		count_components(atom->argv[0])),
- 		FNM_PATHNAME|FNM_PERIOD|FNM_EXTMATCH) == 0;
+ 		FNM_PATHNAME|FNM_EXTMATCH) == 0;
 +	free(path);
 +	return is_match;
  }
@@ -116,8 +116,8 @@ index a45b77f..3607448 100644
 +#endif
  
  #ifndef linux
- #define __BYTE_ORDER BYTE_ORDER
-@@ -4348,6 +4356,7 @@ void initialise_threads(int readq, int fragq, int bwriteq, int fwriteq,
+ #include <sys/sysctl.h>
+@@ -5022,6 +5030,7 @@ static void initialise_threads(int readq, int fragq, int bwriteq, int fwriteq,
  	sigemptyset(&sigmask);
  	sigaddset(&sigmask, SIGQUIT);
  	sigaddset(&sigmask, SIGHUP);
@@ -125,7 +125,7 @@ index a45b77f..3607448 100644
  	if(pthread_sigmask(SIG_BLOCK, &sigmask, NULL) != 0)
  		BAD_ERROR("Failed to set signal mask in intialise_threads\n");
  
-@@ -5195,6 +5204,35 @@ int get_physical_memory()
+@@ -5760,6 +5769,35 @@ static int get_physical_memory()
  	long long page_size = sysconf(_SC_PAGESIZE);
  	int phys_mem;
  
@@ -161,7 +161,7 @@ index a45b77f..3607448 100644
  	if(num_pages == -1 || page_size == -1) {
  		struct sysinfo sys;
  		int res = sysinfo(&sys);
-@@ -5207,6 +5245,7 @@ int get_physical_memory()
+@@ -5772,6 +5810,7 @@ static int get_physical_memory()
  	}
  
  	phys_mem = num_pages * page_size >> 20;
@@ -173,9 +173,9 @@ diff --git a/squashfs-tools/read_xattrs.c b/squashfs-tools/read_xattrs.c
 index 4debedf..3257c30 100644
 --- a/squashfs-tools/read_xattrs.c
 +++ b/squashfs-tools/read_xattrs.c
-@@ -39,13 +39,13 @@
- #include <endian.h>
- #endif
+@@ -31,13 +31,13 @@
+ #include <stdio.h>
+ #include <string.h>
  
 +#include <stdlib.h>
 +
@@ -206,7 +206,7 @@ index 727f1d5..c1a6183 100644
  #include <sys/types.h>
  #include <sys/time.h>
  #include <sys/resource.h>
-@@ -1080,7 +1084,7 @@ int create_inode(char *pathname, struct inode *i)
+@@ -1175,7 +1179,7 @@ int create_inode(char *pathname, struct inode *i)
  			break;
  		case SQUASHFS_SYMLINK_TYPE:
  		case SQUASHFS_LSYMLINK_TYPE: {
@@ -215,7 +215,7 @@ index 727f1d5..c1a6183 100644
  				{ i->time, 0 },
  				{ i->time, 0 }
  			};
-@@ -1099,8 +1103,7 @@ int create_inode(char *pathname, struct inode *i)
+@@ -1194,8 +1198,7 @@ int create_inode(char *pathname, struct inode *i)
  				goto failed;
  			}
  
@@ -223,16 +223,16 @@ index 727f1d5..c1a6183 100644
 -					AT_SYMLINK_NOFOLLOW);
 +			res = lutimes(pathname, times);
  			if(res == -1) {
- 				EXIT_UNSQUASH_STRICT("create_inode: failed to set time on "
- 					"%s, because %s\n", pathname,
-@@ -2235,6 +2238,7 @@ void initialise_threads(int fragment_buffer_size, int data_buffer_size)
- 	sigemptyset(&sigmask);
- 	sigaddset(&sigmask, SIGQUIT);
- 	sigaddset(&sigmask, SIGHUP);
-+	sigaddset(&sigmask, SIGALRM);
- 	if(pthread_sigmask(SIG_BLOCK, &sigmask, NULL) != 0)
- 		EXIT_UNSQUASH("Failed to set signal mask in initialise_threads"
- 			"\n");
+ 				EXIT_UNSQUASH_STRICT("create_inode: failed to"
+ 					" set time on %s, because %s\n",
+@@ -2683,6 +2686,7 @@ void initialise_threads(int fragment_buffer_size, int data_buffer_size, int cat_
+ 		sigemptyset(&sigmask);
+ 		sigaddset(&sigmask, SIGQUIT);
+ 		sigaddset(&sigmask, SIGHUP);
++		sigaddset(&sigmask, SIGALRM);
+ 		if(pthread_sigmask(SIG_BLOCK, &sigmask, NULL) != 0)
+ 			EXIT_UNSQUASH("Failed to set signal mask in initialise_threads\n");
+ 
 diff --git a/squashfs-tools/unsquashfs.h b/squashfs-tools/unsquashfs.h
 index 934618b..0e680ab 100644
 --- a/squashfs-tools/unsquashfs.h
@@ -245,14 +245,14 @@ index 934618b..0e680ab 100644
 +	#define FNM_EXTMATCH 0
 +#endif
 +
- #ifndef linux
- #define __BYTE_ORDER BYTE_ORDER
- #define __BIG_ENDIAN BIG_ENDIAN
+ #include "endian_compat.h"
+ #include "squashfs_fs.h"
+ #include "unsquashfs_error.h"
 diff --git a/squashfs-tools/unsquashfs_info.c b/squashfs-tools/unsquashfs_info.c
 index c8e2b9b..7d4f7af 100644
 --- a/squashfs-tools/unsquashfs_info.c
 +++ b/squashfs-tools/unsquashfs_info.c
-@@ -97,31 +97,22 @@ void dump_state()
+@@ -96,31 +96,22 @@ void dump_state()
  void *info_thrd(void *arg)
  {
  	sigset_t sigmask;
@@ -289,7 +289,7 @@ index c8e2b9b..7d4f7af 100644
  					"because %s\n", strerror(errno));
  			}
  		}
-@@ -133,8 +124,12 @@ void *info_thrd(void *arg)
+@@ -132,8 +123,12 @@ void *info_thrd(void *arg)
  			/* set one second interval period, if ^\ received
  			   within then, dump queue and cache status */
  			waiting = 1;
diff --git a/nixpkgs/pkgs/tools/filesystems/squashfs/default.nix b/nixpkgs/pkgs/tools/filesystems/squashfs/default.nix
index cddb1722584b..ee6a9d9a4c39 100644
--- a/nixpkgs/pkgs/tools/filesystems/squashfs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/squashfs/default.nix
@@ -1,32 +1,36 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , zlib
 , xz
 , lz4
 , lzo
 , zstd
+, nixosTests
 }:
 
 stdenv.mkDerivation rec {
   pname = "squashfs";
-  version = "4.4";
+  version = "4.5";
 
   src = fetchFromGitHub {
     owner = "plougher";
     repo = "squashfs-tools";
     rev = version;
-    sha256 = "0697fv8n6739mcyn57jclzwwbbqwpvjdfkv1qh9s56lvyqnplwaw";
+    sha256 = "1nanwz5qvsakxfm37md5i7xqagv69nfik9hpj8qlp6ymw266vgxr";
   };
 
   patches = [
     # This patch adds an option to pad filesystems (increasing size) in
     # exchange for better chunking / binary diff calculation.
     ./4k-align.patch
-    # Add -no-hardlinks option. This is a rebased version of
-    # c37bb4da4a5fa8c1cf114237ba364692dd522262, can be removed
-    # when upgrading to the next version after 4.4
-    ./0001-Mksquashfs-add-no-hardlinks-option.patch
+    # Otherwise sizes of some files may break in our ISO; see
+    # https://github.com/NixOS/nixpkgs/issues/132286
+    (fetchpatch {
+      url = "https://github.com/plougher/squashfs-tools/commit/19b161c1cd3e31f7a396ea92dea4390ad43f27b9.diff";
+      sha256 = "15ng8m2my3a6a9hnfx474bip2vwdh08hzs2k0l5gwd36jv2z1h3f";
+    })
   ] ++ lib.optional stdenv.isDarwin ./darwin.patch;
 
   buildInputs = [ zlib xz zstd lz4 lzo ];
@@ -44,6 +48,10 @@ stdenv.mkDerivation rec {
     "LZO_SUPPORT=1"
   ];
 
+  passthru.tests = {
+    nixos-iso-boots-and-verifies = nixosTests.boot.biosCdrom;
+  };
+
   meta = with lib; {
     homepage = "https://github.com/plougher/squashfs-tools";
     description = "Tool for creating and unpacking squashfs filesystems";
diff --git a/nixpkgs/pkgs/tools/filesystems/tar2ext4/default.nix b/nixpkgs/pkgs/tools/filesystems/tar2ext4/default.nix
new file mode 100644
index 000000000000..cd042f701d3a
--- /dev/null
+++ b/nixpkgs/pkgs/tools/filesystems/tar2ext4/default.nix
@@ -0,0 +1,22 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "tar2ext4";
+  version = "0.8.21";
+
+  src = fetchFromGitHub {
+    owner = "microsoft";
+    repo = "hcsshim";
+    rev = "v${version}";
+    sha256 = "sha256-oYCL6agif/BklMY5/ub6PExS6D/ZlTxi1QaabMOsEfw=";
+  };
+
+  sourceRoot = "source/cmd/tar2ext4";
+  vendorSha256 = null;
+
+  meta = with lib; {
+    description = "Convert a tar archive to an ext4 image";
+    maintainers = with maintainers; [ qyliss ];
+    license = licenses.mit;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/games/ajour/default.nix b/nixpkgs/pkgs/tools/games/ajour/default.nix
index 702ea28a6975..fad140d7456a 100644
--- a/nixpkgs/pkgs/tools/games/ajour/default.nix
+++ b/nixpkgs/pkgs/tools/games/ajour/default.nix
@@ -34,16 +34,16 @@ let
 
 in rustPlatform.buildRustPackage rec {
   pname = "Ajour";
-  version = "1.2.0";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "casperstorm";
     repo = "ajour";
     rev = version;
-    sha256 = "0xmjr8brjmkk13dsn3yvcl5ss6b214hpka0idk072n46qsyhg2wh";
+    sha256 = "sha256-nz54KPvPmrFGXB52Jn6LKl1aSYgLngARcfC7YIAaC70=";
   };
 
-  cargoSha256 = "06d1h2c2abg56567znxh65d4ddpi6wvxip9rbzkmdnzgy3b3y2wl";
+  cargoSha256 = "sha256-nsuo8PdQpdVJcDY8VDCLISnOz5+Z+MqG/OJC3FYCfEo=";
 
   nativeBuildInputs = [
     autoPatchelfHook
@@ -59,6 +59,7 @@ in rustPlatform.buildRustPackage rec {
     openssl
     libxcb
     libX11
+    libxkbcommon
   ];
 
   fixupPhase = ''
diff --git a/nixpkgs/pkgs/tools/games/joystickwake/default.nix b/nixpkgs/pkgs/tools/games/joystickwake/default.nix
index 01800aff8493..4f324c36d84a 100644
--- a/nixpkgs/pkgs/tools/games/joystickwake/default.nix
+++ b/nixpkgs/pkgs/tools/games/joystickwake/default.nix
@@ -1,13 +1,13 @@
 { lib, python3, fetchFromGitHub }:
 python3.pkgs.buildPythonApplication rec {
   pname = "joystickwake";
-  version = "0.2.4";
+  version = "0.2.5";
 
   src = fetchFromGitHub {
     owner = "foresto";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0j8xwfmzzmc9s88zvzc3lv67821r6x28vy6vli3srvx859wprppd";
+    sha256 = "1yhzv4gbz0c0ircxk91m1d4ygf14mla137z4nfxggmbvjs0aa4y0";
   };
 
   propagatedBuildInputs = with python3.pkgs; [ pyudev xlib ];
diff --git a/nixpkgs/pkgs/tools/graphics/agi/default.nix b/nixpkgs/pkgs/tools/graphics/agi/default.nix
index 57f9d7e33144..7aaf28764d2b 100644
--- a/nixpkgs/pkgs/tools/graphics/agi/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/agi/default.nix
@@ -14,11 +14,11 @@
 
 stdenv.mkDerivation rec {
   pname = "agi";
-  version = "1.1.0-dev-20210521";
+  version = "2.1.0-dev-20210820";
 
   src = fetchzip {
     url = "https://github.com/google/agi-dev-releases/releases/download/v${version}/agi-${version}-linux.zip";
-    sha256 = "sha256-otdthD5p+12JmBltFtXgVaa1fgsItluHv0S4k/GbB9Q=";
+    sha256 = "sha256-XsjWrih+8D3z1I41N5ZoLar/+5FV9mPN9aMbyZK2m/0=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/graphics/appleseed/default.nix b/nixpkgs/pkgs/tools/graphics/appleseed/default.nix
index 1436aacad099..efa46b3b608a 100644
--- a/nixpkgs/pkgs/tools/graphics/appleseed/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/appleseed/default.nix
@@ -1,11 +1,12 @@
 { lib, stdenv, fetchFromGitHub, cmake, boost165, pkg-config, guile,
-eigen, libpng, python, libGLU, qt4, openexr, openimageio,
+eigen, libpng, python3, libGLU, qt4, openexr, openimageio,
 opencolorio_1, xercesc, ilmbase, osl, seexpr, makeWrapper
 }:
 
 let boost_static = boost165.override {
   enableStatic = true;
   enablePython = true;
+  python = python3;
 };
 in stdenv.mkDerivation rec {
 
@@ -20,7 +21,7 @@ in stdenv.mkDerivation rec {
   };
   nativeBuildInputs = [ cmake pkg-config makeWrapper ];
   buildInputs = [
-    boost_static guile eigen libpng python
+    boost_static guile eigen libpng python3
     libGLU qt4 openexr openimageio opencolorio_1 xercesc
     osl seexpr
   ];
@@ -59,7 +60,7 @@ in stdenv.mkDerivation rec {
   # Work around a bug in the CMake build:
   postInstall = ''
     chmod a+x $out/bin/*
-    wrapProgram $out/bin/appleseed.studio --set PYTHONHOME ${python}
+    wrapProgram $out/bin/appleseed.studio --set PYTHONHOME ${python3}
   '';
 }
 
diff --git a/nixpkgs/pkgs/tools/graphics/argyllcms/default.nix b/nixpkgs/pkgs/tools/graphics/argyllcms/default.nix
index 8ebccd8047ae..a4117790a148 100644
--- a/nixpkgs/pkgs/tools/graphics/argyllcms/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/argyllcms/default.nix
@@ -4,16 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "argyllcms";
-  version = "2.1.2";
+  version = "2.2.0";
 
   src = fetchzip {
     # Kind of flacky URL, it was reaturning 406 and inconsistent binaries for a
     # while on me. It might be good to find a mirror
     url = "https://www.argyllcms.com/Argyll_V${version}_src.zip";
-    sha256 = "1bsi795kphr1a8l2kvvm9qfkvgfpimds4ijalnmg23wnr8691md1";
-
-    # The argyllcms web server doesn't like curl ...
-    curlOpts = "--user-agent 'Mozilla/5.0'";
+    sha256 = "sha256-EcVwYJfJbWWXl58O3ulsrWgUYTgR4uWdMgb0Z140Pu4=";
   };
 
   patches = [ ./gcc5.patch ];
diff --git a/nixpkgs/pkgs/tools/graphics/astc-encoder/default.nix b/nixpkgs/pkgs/tools/graphics/astc-encoder/default.nix
index 8cf35b36c0c1..d5754c7baeb3 100644
--- a/nixpkgs/pkgs/tools/graphics/astc-encoder/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/astc-encoder/default.nix
@@ -31,13 +31,13 @@ with rec {
 
 gccStdenv.mkDerivation rec {
   pname = "astc-encoder";
-  version = "3.0";
+  version = "3.2";
 
   src = fetchFromGitHub {
     owner = "ARM-software";
     repo = "astc-encoder";
     rev = version;
-    sha256 = "sha256-+vYEO2zS144ZuVN8b4/EpvTcakC9U0uc/eV4pB7lHiY=";
+    sha256 = "sha256-1GVMzM4+viVqurkzJqTL3Yszld5zLmpjygT/z74HMLs=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/tools/graphics/dcraw/default.nix b/nixpkgs/pkgs/tools/graphics/dcraw/default.nix
index 488fdb2b2679..35657cf8fc53 100644
--- a/nixpkgs/pkgs/tools/graphics/dcraw/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/dcraw/default.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl, libjpeg, lcms2, gettext, libiconv }:
 
 stdenv.mkDerivation rec {
-  name = "dcraw-9.28.0";
+  pname = "dcraw";
+  version = "9.28.0";
 
   src = fetchurl {
-    url = "https://www.dechifro.org/dcraw/archive/${name}.tar.gz";
+    url = "https://www.dechifro.org/dcraw/archive/dcraw-${version}.tar.gz";
     sha256 = "1fdl3xa1fbm71xzc3760rsjkvf0x5jdjrvdzyg2l9ka24vdc7418";
   };
 
diff --git a/nixpkgs/pkgs/tools/graphics/diagrams-builder/default.nix b/nixpkgs/pkgs/tools/graphics/diagrams-builder/default.nix
index 9337d5cca23b..85f4fdc83efa 100644
--- a/nixpkgs/pkgs/tools/graphics/diagrams-builder/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/diagrams-builder/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ makeWrapper ];
 
   buildCommand = with lib;
-    concatStrings (intersperse "\n" (map exeWrapper backends));
+    concatStringsSep "\n" (map exeWrapper backends);
 
   # Will be faster to build the wrapper locally then to fetch it from a binary cache.
   preferLocalBuild = true;
diff --git a/nixpkgs/pkgs/tools/graphics/editres/default.nix b/nixpkgs/pkgs/tools/graphics/editres/default.nix
index 3a55524dc00d..c9c1544c9a0e 100644
--- a/nixpkgs/pkgs/tools/graphics/editres/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/editres/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, libXt, libXaw, libXres, utilmacros }:
 
 stdenv.mkDerivation rec {
-  name = "editres-1.0.7";
+  pname = "editres";
+  version = "1.0.7";
 
   src = fetchurl {
-    url = "mirror://xorg/individual/app/${name}.tar.gz";
+    url = "mirror://xorg/individual/app/editres-${version}.tar.gz";
     sha256 = "10mbgijb6ac6wqb2grpy9mrazzw68jxjkxr9cbdf1111pa64yj19";
   };
 
diff --git a/nixpkgs/pkgs/tools/graphics/escrotum/default.nix b/nixpkgs/pkgs/tools/graphics/escrotum/default.nix
index decb92615f97..6a0a2b2683d9 100644
--- a/nixpkgs/pkgs/tools/graphics/escrotum/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/escrotum/default.nix
@@ -2,7 +2,8 @@
 }:
 
 with python2Packages; buildPythonApplication {
-  name = "escrotum-2019-06-10";
+  pname = "escrotum";
+  version = "unstable-2019-06-10";
 
   src = fetchFromGitHub {
     owner  = "Roger";
diff --git a/nixpkgs/pkgs/tools/graphics/exif/default.nix b/nixpkgs/pkgs/tools/graphics/exif/default.nix
index 130e2d961244..f07f3d05541e 100644
--- a/nixpkgs/pkgs/tools/graphics/exif/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/exif/default.nix
@@ -1,4 +1,13 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, libexif, popt, libintl }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, fetchpatch
+, autoreconfHook
+, pkg-config
+, libexif
+, popt
+, libintl
+}:
 
 stdenv.mkDerivation rec {
   pname = "exif";
@@ -11,6 +20,19 @@ stdenv.mkDerivation rec {
     sha256 = "1xlb1gdwxm3rmw7vlrynhvjp9dkwmvw23mxisdbdmma7ah2nda3i";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "CVE-2021-27815.part-1.patch";
+      url = "https://github.com/libexif/exif/commit/f6334d9d32437ef13dc902f0a88a2be0063d9d1c.patch";
+      sha256 = "0mfx7l8w3w1c2mn5h5d6s7gdfyd91wnml8v0f19v5sdn70hx5aa4";
+    })
+    (fetchpatch {
+      name = "CVE-2021-27815.part-2.patch";
+      url = "https://github.com/libexif/exif/commit/eb84b0e3c5f2a86013b6fcfb800d187896a648fa.patch";
+      sha256 = "11lyvy20maisiyhxgxvm85v5l5ba7p0bpd4m0g4ryli32mrwwy0l";
+    })
+  ];
+
   nativeBuildInputs = [ autoreconfHook pkg-config ];
   buildInputs = [ libexif popt libintl ];
 
diff --git a/nixpkgs/pkgs/tools/graphics/exiftags/default.nix b/nixpkgs/pkgs/tools/graphics/exiftags/default.nix
index afe8a5ecbcc3..6823f6bc20eb 100644
--- a/nixpkgs/pkgs/tools/graphics/exiftags/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/exiftags/default.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl}:
 
-stdenv.mkDerivation {
-  name = "exiftags-1.01";
+stdenv.mkDerivation rec {
+  pname = "exiftags";
+  version = "1.01";
 
   src = fetchurl {
-    url = "https://johnst.org/sw/exiftags/exiftags-1.01.tar.gz";
+    url = "https://johnst.org/sw/exiftags/exiftags-${version}.tar.gz";
     sha256 = "194ifl6hybx2a5x8jhlh9i56k3qfc6p2l72z0ii1b7v0bzg48myr";
   };
 
diff --git a/nixpkgs/pkgs/tools/graphics/fgallery/default.nix b/nixpkgs/pkgs/tools/graphics/fgallery/default.nix
index 28deabb98d14..484a11e322a2 100644
--- a/nixpkgs/pkgs/tools/graphics/fgallery/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/fgallery/default.nix
@@ -9,10 +9,11 @@
 # }
 
 stdenv.mkDerivation rec {
-  name = "fgallery-1.8.2";
+  pname = "fgallery";
+  version = "1.8.2";
 
   src = fetchurl {
-    url = "https://www.thregr.org/~wavexx/software/fgallery/releases/${name}.zip";
+    url = "https://www.thregr.org/~wavexx/software/fgallery/releases/fgallery-${version}.zip";
     sha256 = "18wlvqbxcng8pawimbc8f2422s8fnk840hfr6946lzsxr0ijakvf";
   };
 
diff --git a/nixpkgs/pkgs/tools/graphics/goverlay/default.nix b/nixpkgs/pkgs/tools/graphics/goverlay/default.nix
index 43d711588f8e..2296743694ee 100644
--- a/nixpkgs/pkgs/tools/graphics/goverlay/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/goverlay/default.nix
@@ -34,13 +34,13 @@ let
   '';
 in stdenv.mkDerivation rec {
   pname = "goverlay";
-  version = "0.5.1";
+  version = "0.6";
 
   src = fetchFromGitHub {
     owner = "benjamimgois";
     repo = pname;
     rev = version;
-    hash = "sha256-Zl1pq2MeGJsPdNlwUEpov5MHlsr9pSMkWHVprt8ImKs=";
+    hash = "sha256-E4SMUL9rpDSSdprX4fPyGCHCowdQavjhGIhV3r4jeiw=";
   };
 
   outputs = [ "out" "man" ];
diff --git a/nixpkgs/pkgs/tools/graphics/goverlay/find-xdg-data-files.patch b/nixpkgs/pkgs/tools/graphics/goverlay/find-xdg-data-files.patch
index 862e4c3903cb..51d4dcdc54ed 100644
--- a/nixpkgs/pkgs/tools/graphics/goverlay/find-xdg-data-files.patch
+++ b/nixpkgs/pkgs/tools/graphics/goverlay/find-xdg-data-files.patch
@@ -1,8 +1,8 @@
 diff --git a/overlayunit.pas b/overlayunit.pas
-index 59f6a81..a096543 100644
+index de8725f..005f171 100644
 --- a/overlayunit.pas
 +++ b/overlayunit.pas
-@@ -4871,7 +4871,7 @@ begin
+@@ -5377,7 +5377,7 @@ begin
     //Determine Mangohud dependency status
  
            //locate MangoHud and store result in tmp folder
@@ -11,7 +11,7 @@ index 59f6a81..a096543 100644
  
            // Assign Text file dependency_mangohud to variable mangohudVAR
            AssignFile(mangohudVAR, '/tmp/goverlay/dependency_mangohud');
-@@ -4880,7 +4880,7 @@ begin
+@@ -5386,7 +5386,7 @@ begin
            CloseFile(mangohudVAR);
  
            // Read String and store value on mangohuddependencyVALUE based on result
@@ -20,7 +20,7 @@ index 59f6a81..a096543 100644
            mangohuddependencyVALUE := 1
            else
            mangohuddependencyVALUE := 0;
-@@ -4889,7 +4889,7 @@ begin
+@@ -5395,7 +5395,7 @@ begin
     //Determine vkBasalt dependency staus
  
             //locate vkBasalt and store result in tmp folder
@@ -29,7 +29,7 @@ index 59f6a81..a096543 100644
  
             // Assign Text file dependency_mangohud to variable mangohudVAR
             AssignFile(vkbasaltVAR, '/tmp/goverlay/dependency_vkbasalt');
-@@ -4898,7 +4898,7 @@ begin
+@@ -5404,7 +5404,7 @@ begin
             CloseFile(vkbasaltVAR);
  
             // Read String and store value on vkbasaltdependencyVALUE based on result
diff --git a/nixpkgs/pkgs/tools/graphics/graphviz/default.nix b/nixpkgs/pkgs/tools/graphics/graphviz/default.nix
index 0662205d17e9..5031aad7480d 100644
--- a/nixpkgs/pkgs/tools/graphics/graphviz/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/graphviz/default.nix
@@ -1,5 +1,5 @@
 import ./base.nix rec {
-  rev = "a11eb938514725493324d18db1686f9a99c8569f"; # use rev as tags have disappeared before
-  version = "2.47.2";
-  sha256 = "sha256-6JFjM/2xl7KVmGhSr6RWgO23UwLDyAif3ONsBG4t/Wc=";
+  rev = "887cd2207e6858ff2c0fe6e461dd309a435c8d5a"; # use rev as tags have disappeared before
+  version = "2.47.3";
+  sha256 = "sha256-WUu3eAycG/oHTnT7HiZvf0B45I8miYolwRi9fHfA3uA=";
  }
diff --git a/nixpkgs/pkgs/tools/graphics/icoutils/default.nix b/nixpkgs/pkgs/tools/graphics/icoutils/default.nix
index 9fe41d91db21..62b4ab6b303e 100644
--- a/nixpkgs/pkgs/tools/graphics/icoutils/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/icoutils/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, libpng, perl, perlPackages, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "icoutils-0.32.3";
+  pname = "icoutils";
+  version = "0.32.3";
 
   src = fetchurl {
-    url = "mirror://savannah/icoutils/${name}.tar.bz2";
+    url = "mirror://savannah/icoutils/icoutils-${version}.tar.bz2";
     sha256 = "1q66cksms4l62y0wizb8vfavhmf7kyfgcfkynil3n99s0hny1aqp";
   };
 
diff --git a/nixpkgs/pkgs/tools/graphics/jbig2enc/default.nix b/nixpkgs/pkgs/tools/graphics/jbig2enc/default.nix
index a4b396c3d232..c04862610b69 100644
--- a/nixpkgs/pkgs/tools/graphics/jbig2enc/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/jbig2enc/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, leptonica, zlib, libwebp, giflib, libjpeg, libpng, libtiff }:
 
-stdenv.mkDerivation {
-  name = "jbig2enc-0.28";
+stdenv.mkDerivation rec {
+  pname = "jbig2enc";
+  version = "0.28";
 
   src = fetchurl {
-    url = "https://github.com/agl/jbig2enc/archive/0.28-dist.tar.gz";
+    url = "https://github.com/agl/jbig2enc/archive/${version}-dist.tar.gz";
     sha256 = "1wc0lmqz4jag3rhhk1xczlqpfv2qqp3fz7wzic2lba3vsbi1rrw3";
   };
 
diff --git a/nixpkgs/pkgs/tools/graphics/leela/default.nix b/nixpkgs/pkgs/tools/graphics/leela/default.nix
index cf10c92286ca..e50716f7a5cf 100644
--- a/nixpkgs/pkgs/tools/graphics/leela/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/leela/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchFromGitHub, pkg-config, poppler }:
 
 stdenv.mkDerivation {
-  name = "leela-12.fe7a35a";
+  pname = "leela";
+  version = "12.fe7a35a";
 
   src = fetchFromGitHub {
     owner = "TrilbyWhite";
diff --git a/nixpkgs/pkgs/tools/graphics/lsix/default.nix b/nixpkgs/pkgs/tools/graphics/lsix/default.nix
index ba07e2886b53..a9f8aa21bf1d 100644
--- a/nixpkgs/pkgs/tools/graphics/lsix/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/lsix/default.nix
@@ -2,13 +2,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "lsix";
-  version = "1.7.4";
+  version = "1.8";
 
   src = fetchFromGitHub {
     owner = "hackerb9";
     repo = pname;
     rev = version;
-    sha256 = "sha256-mOueSNhf1ywG4k1kRODBaWRjy0L162BAO1HRPaMMbFM=";
+    sha256 = "sha256-Qx6/PFm1XBmEI6iI+Ref9jNe6sXIhsVL4VQ1CX+caZE=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/tools/graphics/netpbm/default.nix b/nixpkgs/pkgs/tools/graphics/netpbm/default.nix
index 30b69c862c35..dea9aa6d97ed 100644
--- a/nixpkgs/pkgs/tools/graphics/netpbm/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/netpbm/default.nix
@@ -19,7 +19,8 @@
 stdenv.mkDerivation {
   # Determine version and revision from:
   # https://sourceforge.net/p/netpbm/code/HEAD/log/?path=/advanced
-  name = "netpbm-10.92.0";
+  pname = "netpbm";
+  version = "10.92.0";
 
   outputs = [ "bin" "out" "dev" ];
 
diff --git a/nixpkgs/pkgs/tools/graphics/nifskope/default.nix b/nixpkgs/pkgs/tools/graphics/nifskope/default.nix
index 0a053a3ad323..508aec818612 100644
--- a/nixpkgs/pkgs/tools/graphics/nifskope/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/nifskope/default.nix
@@ -35,8 +35,6 @@ stdenv.mkDerivation {
     done
   '';
 
-  enableParallelBuilding = true;
-
   # Inspired by install/linux-install/nifskope.spec.in.
   installPhase = ''
     runHook preInstall
@@ -62,7 +60,7 @@ stdenv.mkDerivation {
   meta = with lib; {
     homepage = "http://niftools.sourceforge.net/wiki/NifSkope";
     description = "A tool for analyzing and editing NetImmerse/Gamebryo '*.nif' files";
-    maintainers = with maintainers; [ eelco ma27 ];
+    maintainers = with maintainers; [ eelco ];
     platforms = platforms.linux;
     license = licenses.bsd3;
   };
diff --git a/nixpkgs/pkgs/tools/graphics/nip2/default.nix b/nixpkgs/pkgs/tools/graphics/nip2/default.nix
index 5fa2d2639625..4297db1c8bcd 100644
--- a/nixpkgs/pkgs/tools/graphics/nip2/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/nip2/default.nix
@@ -1,5 +1,19 @@
-{ lib, stdenv, fetchurl, pkg-config, glib, libxml2, flex, bison, vips, gtk2
-, fftw, gsl, goffice, libgsf }:
+{ lib
+, stdenv
+, fetchurl
+, pkg-config
+, glib
+, libxml2
+, flex
+, bison
+, vips
+, gtk2
+, fftw
+, gsl
+, goffice
+, libgsf
+, makeWrapper
+}:
 
 stdenv.mkDerivation rec {
   pname = "nip2";
@@ -10,11 +24,28 @@ stdenv.mkDerivation rec {
     sha256 = "0l7n427njif53npqn02gfjjly8y3khbrkzqxp10j5vp9h97psgiw";
   };
 
-  buildInputs =
-  [ pkg-config glib libxml2 flex bison vips
-    gtk2 fftw gsl goffice libgsf
+  nativeBuildInputs = [
+    bison
+    flex
+    pkg-config
+    makeWrapper
   ];
 
+  buildInputs = [
+    glib
+    libxml2
+    vips
+    gtk2
+    fftw
+    gsl
+    goffice
+    libgsf
+  ];
+
+  postFixup = ''
+    wrapProgram $out/bin/nip2 --set VIPSHOME "$out"
+  '';
+
   meta = with lib; {
     homepage = "https://github.com/libvips/nip2";
     description = "Graphical user interface for VIPS image processing system";
diff --git a/nixpkgs/pkgs/tools/graphics/optipng/default.nix b/nixpkgs/pkgs/tools/graphics/optipng/default.nix
index 72caf6f86aec..65ebd8ddbd12 100644
--- a/nixpkgs/pkgs/tools/graphics/optipng/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/optipng/default.nix
@@ -7,10 +7,11 @@
 with lib;
 
 stdenv.mkDerivation rec {
-  name = "optipng-0.7.7";
+  pname = "optipng";
+  version = "0.7.7";
 
   src = fetchurl {
-    url = "mirror://sourceforge/optipng/${name}.tar.gz";
+    url = "mirror://sourceforge/optipng/optipng-${version}.tar.gz";
     sha256 = "0lj4clb851fzpaq446wgj0sfy922zs5l5misbpwv6w7qrqrz4cjg";
   };
 
diff --git a/nixpkgs/pkgs/tools/graphics/pdfread/default.nix b/nixpkgs/pkgs/tools/graphics/pdfread/default.nix
deleted file mode 100644
index 8350e95188d3..000000000000
--- a/nixpkgs/pkgs/tools/graphics/pdfread/default.nix
+++ /dev/null
@@ -1,51 +0,0 @@
-{lib, stdenv, fetchurl, unzip, python, makeWrapper, ghostscript, pngnq, pillow, djvulibre
-, optipng, unrar}:
-
-stdenv.mkDerivation {
-  name = "pdfread-1.8.2";
-
-  src = fetchurl {
-    # I got it from http://www.mobileread.com/forums/showthread.php?t=21906
-    # But that needs user registration to allow downloading.
-    # This is an evolution from pdfread 1.7 in http://pdfread.sourceforge.net/
-    # Temporary place:
-    url = "http://vicerveza.homeunix.net/~viric/soft/PDFRead-1.8.2-Source-noGUI-noInstaller.zip";
-    sha256 = "0mzxpnk97f0ww5ds7h4wsval3g4lnrhv6rhspjs7cy4i41gmk8an";
-  };
-
-  nativeBuildInputs = [ makeWrapper unzip ];
-  buildInputs = [ python ];
-
-  broken = true; # Not found.
-
-  phases = "unpackPhase patchPhase installPhase";
-
-  unpackPhase = ''
-    unzip $src
-    sourceRoot=`pwd`/PDFRead/src
-  '';
-
-  patchPhase = ''
-    sed -i 's,#!/usr.*,#!${python}/bin/python,' pdfread.py
-  '';
-
-  installPhase = ''
-    mkdir -p $out/bin
-    cp pdfread.py $out/bin
-    chmod +x $out/bin/pdfread.py
-
-    LIBSUFFIX=lib/${python.libPrefix}/site-packages/
-    PYDIR=$out/$LIBSUFFIX
-    mkdir -p $PYDIR
-    cp -R *.py pylrs $PYDIR
-
-    wrapProgram $out/bin/pdfread.py --prefix PYTHONPATH : $PYTHONPATH:${pillow}/$LIBSUFFIX/PIL:$PYDIR \
-      --prefix PATH : ${lib.makeBinPath [ ghostscript pngnq djvulibre unrar optipng ]}
-  '';
-
-  meta = with lib; {
-    description = "PDF/DJVU to ebook format converter";
-    homepage = "https://www.mobileread.com/forums/showthread.php?t=21906";
-    license = licenses.mit;
-  };
-}
diff --git a/nixpkgs/pkgs/tools/graphics/pikchr/default.nix b/nixpkgs/pkgs/tools/graphics/pikchr/default.nix
index 432c70231d0d..ca4f647dfa2d 100644
--- a/nixpkgs/pkgs/tools/graphics/pikchr/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/pikchr/default.nix
@@ -5,11 +5,12 @@
 
 stdenv.mkDerivation {
   pname = "pikchr";
-  version = "unstable-2021-04-07";
+  # To update, use the last check-in in https://pikchr.org/home/timeline?r=trunk
+  version = "unstable-2021-07-22";
 
   src = fetchurl {
-    url = "https://pikchr.org/home/tarball/90b6d5b4a3834ff0/pikchr.tar.gz";
-    sha256 = "1cqpnljy12gl82rcbb7mwhgv9szcliwkbwwh67hzdv020h1scxym";
+    url = "https://pikchr.org/home/tarball/d9e1502ed74c6aab/pikchr.tar.gz";
+    sha256 = "sha256-YSy95GiSodOS1YJgl9arBniqEJzYPrZ9CHNSCee9Yfg=";
   };
 
   # can't open generated html files
diff --git a/nixpkgs/pkgs/tools/graphics/plotutils/default.nix b/nixpkgs/pkgs/tools/graphics/plotutils/default.nix
index 001b4cd174b4..57cfe988b0b7 100644
--- a/nixpkgs/pkgs/tools/graphics/plotutils/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/plotutils/default.nix
@@ -6,10 +6,11 @@
 # I'm only interested in making pstoedit convert to svg
 
 stdenv.mkDerivation rec {
-  name = "plotutils-2.6";
+  pname = "plotutils";
+  version = "2.6";
 
   src = fetchurl {
-    url = "mirror://gnu/plotutils/${name}.tar.gz";
+    url = "mirror://gnu/plotutils/plotutils-${version}.tar.gz";
     sha256 = "1arkyizn5wbgvbh53aziv3s6lmd3wm9lqzkhxb3hijlp1y124hjg";
   };
 
diff --git a/nixpkgs/pkgs/tools/graphics/pngcheck/default.nix b/nixpkgs/pkgs/tools/graphics/pngcheck/default.nix
index 579dcad4ccb4..266b85c54c54 100644
--- a/nixpkgs/pkgs/tools/graphics/pngcheck/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/pngcheck/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "pngcheck-3.0.2";
+  pname = "pngcheck";
+  version = "3.0.2";
 
   src = fetchurl {
-    url = "mirror://sourceforge/png-mng/${name}.tar.gz";
+    url = "mirror://sourceforge/png-mng/pngcheck-${version}.tar.gz";
     sha256 = "sha256-DX4mLyQRb93yhHqM61yS2fXybvtC6f/2PsK7dnYTHKc=";
   };
 
diff --git a/nixpkgs/pkgs/tools/graphics/pngcrush/default.nix b/nixpkgs/pkgs/tools/graphics/pngcrush/default.nix
index 18a156ea504b..16c710ceb79f 100644
--- a/nixpkgs/pkgs/tools/graphics/pngcrush/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/pngcrush/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, libpng }:
 
 stdenv.mkDerivation rec {
-  name = "pngcrush-1.8.13";
+  pname = "pngcrush";
+  version = "1.8.13";
 
   src = fetchurl {
-    url = "mirror://sourceforge/pmt/${name}-nolib.tar.xz";
+    url = "mirror://sourceforge/pmt/pngcrush-${version}-nolib.tar.xz";
     sha256 = "0l43c59d6v9l0g07z3q3ywhb8xb3vz74llv3mna0izk9bj6aqkiv";
   };
 
diff --git a/nixpkgs/pkgs/tools/graphics/pngnq/default.nix b/nixpkgs/pkgs/tools/graphics/pngnq/default.nix
index bec86e20ce3d..81f33c65af64 100644
--- a/nixpkgs/pkgs/tools/graphics/pngnq/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/pngnq/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, libpng, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "pngnq-1.1";
+  pname = "pngnq";
+  version = "1.1";
 
   src = fetchurl {
-    url = "mirror://sourceforge/pngnq/${name}.tar.gz";
+    url = "mirror://sourceforge/pngnq/pngnq-${version}.tar.gz";
     sha256 = "1qmnnl846agg55i7h4vmrn11lgb8kg6gvs8byqz34bdkjh5gwiy1";
   };
 
diff --git a/nixpkgs/pkgs/tools/graphics/pngout/default.nix b/nixpkgs/pkgs/tools/graphics/pngout/default.nix
index d1d069c7ff78..c2de8a4fb2ae 100644
--- a/nixpkgs/pkgs/tools/graphics/pngout/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/pngout/default.nix
@@ -5,11 +5,12 @@ let
   else if stdenv.hostPlatform.system == "x86_64-linux" then "x86_64"
   else throw "Unsupported system: ${stdenv.hostPlatform.system}";
 in
-stdenv.mkDerivation {
-  name = "pngout-20150319";
+stdenv.mkDerivation rec {
+  pname = "pngout";
+  version = "20150319";
 
   src = fetchurl {
-    url = "http://static.jonof.id.au/dl/kenutils/pngout-20150319-linux.tar.gz";
+    url = "http://static.jonof.id.au/dl/kenutils/pngout-${version}-linux.tar.gz";
     sha256 = "0iwv941hgs2g7ljpx48fxs24a70m2whrwarkrb77jkfcd309x2h7";
   };
 
diff --git a/nixpkgs/pkgs/tools/graphics/pngtoico/default.nix b/nixpkgs/pkgs/tools/graphics/pngtoico/default.nix
index 7eabfb89d5a6..7abf94f0a3e1 100644
--- a/nixpkgs/pkgs/tools/graphics/pngtoico/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/pngtoico/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, libpng }:
 
-stdenv.mkDerivation {
-  name = "pngtoico-1.0";
+stdenv.mkDerivation rec {
+  pname = "pngtoico";
+  version = "1.0";
 
   src = fetchurl {
-    url = "mirror://kernel/software/graphics/pngtoico/pngtoico-1.0.tar.gz";
+    url = "mirror://kernel/software/graphics/pngtoico/pngtoico-${version}.tar.gz";
     sha256 = "1xb4aa57sjvgqfp01br3dm72hf7q0gb2ad144s1ifrs09215fgph";
   };
 
diff --git a/nixpkgs/pkgs/tools/graphics/pstoedit/default.nix b/nixpkgs/pkgs/tools/graphics/pstoedit/default.nix
index 57e16a4925a7..dd5b51041b1f 100644
--- a/nixpkgs/pkgs/tools/graphics/pstoedit/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/pstoedit/default.nix
@@ -4,10 +4,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "pstoedit-3.75";
+  pname = "pstoedit";
+  version = "3.75";
 
   src = fetchurl {
-    url = "mirror://sourceforge/pstoedit/${name}.tar.gz";
+    url = "mirror://sourceforge/pstoedit/pstoedit-${version}.tar.gz";
     sha256 = "1kv46g2wsvsvcngkavxl5gnw3l6g5xqnh4kmyx4b39a01d8xiddp";
   };
 
diff --git a/nixpkgs/pkgs/tools/graphics/puppeteer-cli/yarn.nix b/nixpkgs/pkgs/tools/graphics/puppeteer-cli/yarn.nix
index 773acc84f352..469e2f23e056 100644
--- a/nixpkgs/pkgs/tools/graphics/puppeteer-cli/yarn.nix
+++ b/nixpkgs/pkgs/tools/graphics/puppeteer-cli/yarn.nix
@@ -1,4 +1,4 @@
-{ fetchurl, fetchgit, linkFarm, runCommandNoCC, gnutar }: rec {
+{ fetchurl, fetchgit, linkFarm, runCommand, gnutar }: rec {
   offline_cache = linkFarm "offline" packages;
   packages = [
     {
diff --git a/nixpkgs/pkgs/tools/graphics/resvg/default.nix b/nixpkgs/pkgs/tools/graphics/resvg/default.nix
index a770d208b49e..ce03561badf8 100644
--- a/nixpkgs/pkgs/tools/graphics/resvg/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/resvg/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "resvg";
-  version = "0.14.0";
+  version = "0.16.0";
 
   src = fetchFromGitHub {
     owner = "RazrFalcon";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-fd97w6yd9ZX2k8Vq+Vh6jouufGdFE02ZV8mb+BtA3tk=";
+    sha256 = "sha256-A54KTToi69l0/Nrz4K8EqFpCodbomYUI/zTP++Y4FF0=";
   };
 
-  cargoSha256 = "sha256-uP+YAJYZtMCUnLZWcwnoAw8E5cJeFxXx0qd2Li4byQM=";
+  cargoSha256 = "sha256-RbgLZvNZSNjYImVm8Ax5cAL3R0XqlVz5ApPYKj93GEE=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
 
diff --git a/nixpkgs/pkgs/tools/graphics/svgbob/default.nix b/nixpkgs/pkgs/tools/graphics/svgbob/default.nix
index 1f72243293e8..389f6415e9be 100644
--- a/nixpkgs/pkgs/tools/graphics/svgbob/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/svgbob/default.nix
@@ -2,15 +2,15 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "svgbob";
-  version = "0.5.3";
+  version = "0.5.4";
 
   src = fetchCrate {
     inherit version;
     crateName = "svgbob_cli";
-    sha256 = "1gi8h4wzpi477y1gwi4708pn2kr65934a4dmphbhwppxbw447qiw";
+    sha256 = "0qq7hkg32bqyw3vz3ibip7yrjg5m2ch9kdnwqrzaqqy9wb8d7154";
   };
 
-  cargoSha256 = "1x8phpllwm12igaachghwq6wgxl7nl8bhh7xybfrmn447viwxhq2";
+  cargoSha256 = "0p37qkgh1xpqmkr2p88njwhifpyqfh27qcwmmhwxdqcpzmmmkjhr";
 
   meta = with lib; {
     description = "Convert your ascii diagram scribbles into happy little SVG";
diff --git a/nixpkgs/pkgs/tools/graphics/transfig/default.nix b/nixpkgs/pkgs/tools/graphics/transfig/default.nix
index a6c9cd988c07..617ecbf90ee9 100644
--- a/nixpkgs/pkgs/tools/graphics/transfig/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/transfig/default.nix
@@ -1,9 +1,11 @@
 { lib, stdenv, fetchurl, zlib, libjpeg, libpng, imake, gccmakedep }:
 
-stdenv.mkDerivation {
-  name = "transfig-3.2.4";
+stdenv.mkDerivation rec {
+  pname = "transfig";
+  version = "3.2.4";
+
   src = fetchurl {
-    url = "ftp://ftp.tex.ac.uk/pub/archive/graphics/transfig/transfig.3.2.4.tar.gz";
+    url = "ftp://ftp.tex.ac.uk/pub/archive/graphics/transfig/transfig.${version}.tar.gz";
     sha256 = "0429snhp5acbz61pvblwlrwv8nxr6gf12p37f9xxwrkqv4ir7dd4";
   };
 
diff --git a/nixpkgs/pkgs/tools/graphics/vips/default.nix b/nixpkgs/pkgs/tools/graphics/vips/default.nix
index 18025f92e31c..bfe9a1875e5a 100644
--- a/nixpkgs/pkgs/tools/graphics/vips/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/vips/default.nix
@@ -1,34 +1,44 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , pkg-config
 , glib
 , libxml2
 , expat
-, fftw
-, orc
-, lcms
-, imagemagick
-, openexr
-, libtiff
-, libjpeg
-, libgsf
-, libexif
-, libheif
-, librsvg
 , ApplicationServices
 , Foundation
-, python27
-, libpng
+, python3
 , fetchFromGitHub
 , fetchpatch
 , autoreconfHook
 , gtk-doc
 , gobject-introspection
-,
+  # Optional dependencies
+, libjpeg
+, libexif
+, librsvg
+, poppler
+, libgsf
+, libtiff
+, fftw
+, lcms2
+, libpng
+, libimagequant
+, imagemagick
+, pango
+, orc
+, matio
+, cfitsio
+, libwebp
+, openexr
+, openjpeg
+, libjxl
+, openslide
+, libheif
 }:
 
 stdenv.mkDerivation rec {
   pname = "vips";
-  version = "8.10.6";
+  version = "8.11.3";
 
   outputs = [ "bin" "out" "man" "dev" ];
 
@@ -36,7 +46,7 @@ stdenv.mkDerivation rec {
     owner = "libvips";
     repo = "libvips";
     rev = "v${version}";
-    sha256 = "sha256-hdpkBC76PnPTN+rnNchLVk1CrhcClTtbaWyUcyUtuAk=";
+    sha256 = "sha256-CWuULuUMBV2VUCZEBg0MzS7rXI8UUkNh5XPV2eA8xt8=";
     # Remove unicode file names which leads to different checksums on HFS+
     # vs. other filesystems because of unicode normalisation.
     extraPostFetch = ''
@@ -54,22 +64,31 @@ stdenv.mkDerivation rec {
   buildInputs = [
     glib
     libxml2
-    fftw
-    orc
-    lcms
-    imagemagick
-    openexr
-    libtiff
+    expat
+    (python3.withPackages (p: [ p.pycairo ]))
+    # Optional dependencies
     libjpeg
-    libgsf
     libexif
-    libheif
-    libpng
     librsvg
-    python27
+    poppler
+    libgsf
+    libtiff
+    fftw
+    lcms2
     libpng
-    expat
-  ] ++ lib.optionals stdenv.isDarwin [ApplicationServices Foundation];
+    libimagequant
+    imagemagick
+    pango
+    orc
+    matio
+    cfitsio
+    libwebp
+    openexr
+    openjpeg
+    libjxl
+    openslide
+    libheif
+  ] ++ lib.optionals stdenv.isDarwin [ ApplicationServices Foundation ];
 
   # Required by .pc file
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/graphics/vulkan-extension-layer/default.nix b/nixpkgs/pkgs/tools/graphics/vulkan-extension-layer/default.nix
index f2ea439e0c97..aa90fced901f 100644
--- a/nixpkgs/pkgs/tools/graphics/vulkan-extension-layer/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/vulkan-extension-layer/default.nix
@@ -2,14 +2,15 @@
 
 stdenv.mkDerivation rec {
   pname = "vulkan-extension-layer";
-  version = "2020-11-20";
+  version = "1.2.182.0";
 
-  src = fetchFromGitHub {
-    owner = "KhronosGroup";
-    repo = "Vulkan-ExtensionLayer";
-    rev = "7474cb8e1f70e9f4a8bf382708a7f15465453af5";
-    sha256 = "1lxkgcnv32wqk4hlckv13xy84g38jzgc4qxp9vsbkrgz87hkdvwj";
-  };
+  src = (assert version == vulkan-headers.version;
+    fetchFromGitHub {
+      owner = "KhronosGroup";
+      repo = "Vulkan-ExtensionLayer";
+      rev = "sdk-${version}";
+      sha256 = "0by2kp48jbd55xk26rmlvc4wm77g1zvidx8czn1587ng2yzi7acr";
+    });
 
   nativeBuildInputs = [ cmake jq ];
 
diff --git a/nixpkgs/pkgs/tools/graphics/vulkan-tools-lunarg/default.nix b/nixpkgs/pkgs/tools/graphics/vulkan-tools-lunarg/default.nix
index 1d0f920a4ba4..3b33328485ee 100644
--- a/nixpkgs/pkgs/tools/graphics/vulkan-tools-lunarg/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/vulkan-tools-lunarg/default.nix
@@ -1,26 +1,44 @@
-{ stdenv, cmake, expat, fetchFromGitHub, jq, lib, libXdmcp, libXrandr, libffi
-, libxcb, pkg-config, python3, symlinkJoin, vulkan-headers, vulkan-loader
-, vulkan-validation-layers, wayland, writeText, xcbutilkeysyms, xcbutilwm
-, xlibsWrapper }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, python3
+, jq
+, expat
+, libX11
+, libXdmcp
+, libXrandr
+, libffi
+, libxcb
+, wayland
+, xcbutilkeysyms
+, xcbutilwm
+, vulkan-headers
+, vulkan-loader
+, symlinkJoin
+, vulkan-validation-layers
+, writeText
+}:
 
 stdenv.mkDerivation rec {
   pname = "vulkan-tools-lunarg";
   # The version must match that in vulkan-headers
-  version = "1.2.162.0";
+  version = "1.2.182.0";
 
   src = (assert version == vulkan-headers.version;
     fetchFromGitHub {
       owner = "LunarG";
       repo = "VulkanTools";
       rev = "sdk-${version}";
-      sha256 = "13v4202bfd7d7nwi8w12ja9k1vi10p9xxypzkpi063hmsgzxm5k5";
+      sha256 = "1b7762fcbakfvj2b2l68qj25pc7pz9jhfabf1x80b9w3q205hl2f";
       fetchSubmodules = true;
     });
 
-  nativeBuildInputs = [ cmake pkg-config python3 jq ];
+  nativeBuildInputs = [ cmake python3 jq ];
 
   buildInputs = [
     expat
+    libX11
     libXdmcp
     libXrandr
     libffi
@@ -28,7 +46,6 @@ stdenv.mkDerivation rec {
     wayland
     xcbutilkeysyms
     xcbutilwm
-    xlibsWrapper
   ];
 
   cmakeFlags = [
@@ -40,6 +57,8 @@ stdenv.mkDerivation rec {
         paths = [ vulkan-validation-layers.headers vulkan-validation-layers ];
       }
     }"
+    # Hide dev warnings that are useless for packaging
+    "-Wno-dev"
   ];
 
   preConfigure = ''
@@ -63,7 +82,6 @@ stdenv.mkDerivation rec {
   '';
 
   # Same as vulkan-validation-layers
-  libraryPath = lib.strings.makeLibraryPath [ vulkan-loader ];
   dontPatchELF = true;
 
   # Help vulkan-loader find the validation layers
diff --git a/nixpkgs/pkgs/tools/graphics/vulkan-tools/default.nix b/nixpkgs/pkgs/tools/graphics/vulkan-tools/default.nix
index 907404ec7f4a..161384c3ad01 100644
--- a/nixpkgs/pkgs/tools/graphics/vulkan-tools/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/vulkan-tools/default.nix
@@ -1,20 +1,23 @@
-{ stdenv, lib, fetchFromGitHub, cmake, python3, vulkan-loader,
- vulkan-headers, glslang, pkg-config, xlibsWrapper, libxcb,
- libXrandr, wayland }:
+{ stdenv, lib, fetchFromGitHub, cmake, glslang, libX11, libxcb
+, libXrandr, vulkan-headers, vulkan-loader, wayland }:
 
 stdenv.mkDerivation rec {
   pname = "vulkan-tools";
-  version = "1.2.162.0";
+  version = "1.2.182.0";
 
-  src = fetchFromGitHub {
-    owner = "KhronosGroup";
-    repo = "Vulkan-Tools";
-    rev = "sdk-${version}";
-    sha256 = "088vqh956zma3p1qc3p6rsygf5s395b6cv8b1x0whp2a0a1y81xz";
-  };
+  # It's not strictly necessary to have matching versions here, however
+  # since we're using the SDK version we may as well be consistent with
+  # the rest of nixpkgs.
+  src = (assert version == vulkan-headers.version;
+    fetchFromGitHub {
+      owner = "KhronosGroup";
+      repo = "Vulkan-Tools";
+      rev = "sdk-${version}";
+      sha256 = "028l2l7jx4443k8207q8jmjq1mnnm9kgyl2417jrkrvylcbv8ji9";
+    });
 
-  nativeBuildInputs = [ cmake pkg-config ];
-  buildInputs = [ python3 vulkan-headers vulkan-loader xlibsWrapper libxcb libXrandr wayland ];
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ glslang libX11 libxcb libXrandr vulkan-headers vulkan-loader wayland ];
 
   libraryPath = lib.strings.makeLibraryPath [ vulkan-loader ];
 
@@ -23,9 +26,10 @@ stdenv.mkDerivation rec {
   cmakeFlags = [
     # Don't build the mock ICD as it may get used instead of other drivers, if installed
     "-DBUILD_ICD=OFF"
-    "-DGLSLANG_INSTALL_DIR=${glslang}"
     # vulkaninfo loads libvulkan using dlopen, so we have to add it manually to RPATH
     "-DCMAKE_INSTALL_RPATH=${libraryPath}"
+    # Hide dev warnings that are useless for packaging
+    "-Wno-dev"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/graphics/waifu2x-converter-cpp/default.nix b/nixpkgs/pkgs/tools/graphics/waifu2x-converter-cpp/default.nix
index bffd9ea0378a..8d8ae6e71e42 100644
--- a/nixpkgs/pkgs/tools/graphics/waifu2x-converter-cpp/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/waifu2x-converter-cpp/default.nix
@@ -1,4 +1,4 @@
-{ cmake, fetchFromGitHub, makeWrapper, opencv3, lib, stdenv, ocl-icd, opencl-headers
+{ cmake, fetchFromGitHub, makeWrapper, opencv3, lib, stdenv, ocl-icd, opencl-headers, OpenCL
 , cudaSupport ? false, cudatoolkit ? null
 }:
 
@@ -13,18 +13,20 @@ stdenv.mkDerivation rec {
     sha256 = "0rv8bnyxz89za6gwk9gmdbaf3j7c1j52mip7h81rir288j35m84x";
   };
 
-  patchPhase = ''
-    # https://github.com/DeadSix27/waifu2x-converter-cpp/issues/123
-    sed -i 's:{"PNG",  false},:{"PNG",  true},:' src/main.cpp
-  '';
+  patches = [
+    # Remove the hard-coded compiler on Darwin and use the one in stdenv.
+    ./waifu2x_darwin_build.diff
+  ];
 
   buildInputs = [
-    ocl-icd opencv3 opencl-headers
-  ] ++ lib.optional cudaSupport cudatoolkit;
+    opencv3
+  ] ++ lib.optional cudaSupport cudatoolkit
+    ++ lib.optional stdenv.isDarwin OpenCL
+    ++ lib.optionals stdenv.isLinux [ ocl-icd opencl-headers ];
 
   nativeBuildInputs = [ cmake makeWrapper ];
 
-  preFixup = ''
+  preFixup = lib.optionalString stdenv.isLinux ''
     wrapProgram $out/bin/waifu2x-converter-cpp --prefix LD_LIBRARY_PATH : "${ocl-icd}/lib"
   '';
 
@@ -33,6 +35,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/DeadSix27/waifu2x-converter-cpp";
     license = lib.licenses.mit;
     maintainers = [ lib.maintainers.xzfc ];
-    platforms = lib.platforms.linux;
+    platforms = lib.platforms.linux ++ lib.platforms.darwin;
   };
 }
diff --git a/nixpkgs/pkgs/tools/graphics/waifu2x-converter-cpp/waifu2x_darwin_build.diff b/nixpkgs/pkgs/tools/graphics/waifu2x-converter-cpp/waifu2x_darwin_build.diff
new file mode 100644
index 000000000000..2a6a83c5ee80
--- /dev/null
+++ b/nixpkgs/pkgs/tools/graphics/waifu2x-converter-cpp/waifu2x_darwin_build.diff
@@ -0,0 +1,15 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 8b728b5..dedf8b6 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -71,10 +71,6 @@ message(STATUS "System is: ${CMAKE_SYSTEM_NAME} (${LOCAL_SYS_TYPE})")
+ 
+ ### Get binary paths for APPLE users
+ if(APPLE AND CMAKE_CXX_COMPILER_ID MATCHES "^(Apple)?Clang$")
+-	set(CMAKE_C_COMPILER "/usr/local/opt/llvm/bin/clang")
+-	set(CMAKE_CXX_COMPILER "/usr/local/opt/llvm/bin/clang++")
+-	set(CMAKE_EXE_LINKER_FLAGS "-L/usr/local/opt/llvm/lib -Wl,-rpath,/usr/local/opt/llvm/lib")
+-	set(CMAKE_SHARED_LINKER_FLAGS "-L/usr/local/opt/llvm/lib -Wl,-rpath,/usr/local/opt/llvm/lib")
+ 	if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 9.0)
+ 		set(FILE_SYSTEM_LIB "c++fs")
+ 	endif()
diff --git a/nixpkgs/pkgs/tools/graphics/xcftools/default.nix b/nixpkgs/pkgs/tools/graphics/xcftools/default.nix
index c1b12ca5fe72..e83e3c13ae3f 100644
--- a/nixpkgs/pkgs/tools/graphics/xcftools/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/xcftools/default.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl, libpng, perl, gettext }:
 
-stdenv.mkDerivation {
-  name = "xcftools-1.0.7";
+stdenv.mkDerivation rec {
+  pname = "xcftools";
+  version = "1.0.7";
 
   src = fetchurl {
-    url = "http://henning.makholm.net/xcftools/xcftools-1.0.7.tar.gz";
+    url = "http://henning.makholm.net/xcftools/xcftools-${version}.tar.gz";
     sha256 = "19i0x7yhlw6hd2gp013884zchg63yzjdj4hpany011il0n26vgqy";
   };
 
diff --git a/nixpkgs/pkgs/tools/graphics/xcolor/default.nix b/nixpkgs/pkgs/tools/graphics/xcolor/default.nix
index 1e8f3fd78d72..95f21efe1ad9 100644
--- a/nixpkgs/pkgs/tools/graphics/xcolor/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/xcolor/default.nix
@@ -1,29 +1,42 @@
-{ lib, rustPlatform, fetchFromGitHub, fetchpatch, pkg-config, libX11, libXcursor, libxcb, python3 }:
+{ lib, rustPlatform, fetchFromGitHub, pkg-config, libX11, libXcursor
+, libxcb, python3, installShellFiles, makeDesktopItem, copyDesktopItems }:
 
 rustPlatform.buildRustPackage rec {
   pname = "xcolor";
-  version = "unstable-2021-02-02";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "Soft";
     repo = pname;
-    rev = "0e99e67cd37000bf563aa1e89faae796ec25f163";
-    sha256 = "sha256-rHqK05dN5lrvDNbRCWGghI7KJwWzNCuRDEThEeMzmio=";
+    rev = version;
+    sha256 = "0i04jwvjasrypnsfwdnvsvcygp8ckf1a5sxvjxaivy73cdvy34vk";
   };
 
-  cargoPatches = [
-    # Update Cargo.lock, lexical_core doesn't build on Rust 1.52.1
-    (fetchpatch {
-      url = "https://github.com/Soft/xcolor/commit/324d80a18a39a11f2f7141b226f492e2a862d2ce.patch";
-      sha256 = "sha256-5VzXitpl/gMef40UQBh1EoHezXPyB08aflqp0mSMAVI=";
+  cargoSha256 = "1r2s4iy5ls0svw5ww51m37jhrbvnj690ig6n9c60hzw1hl4krk30";
+
+  nativeBuildInputs = [ pkg-config python3 installShellFiles copyDesktopItems ];
+
+  buildInputs = [ libX11 libXcursor libxcb ];
+
+  desktopItems = [
+    (makeDesktopItem {
+      name = "XColor";
+      exec = "xcolor -s";
+      desktopName = "XColor";
+      comment = "Select colors visible anywhere on the screen to get their RGB representation";
+      icon = "xcolor";
+      categories = "Graphics;";
     })
   ];
 
-  cargoSha256 = "sha256-yD4pX+dCJvbDecsdB8tNt1VsEcyAJxNrB5WsZUhPGII=";
-
-  nativeBuildInputs = [ pkg-config python3 ];
+  postInstall = ''
+    mkdir -p $out/share/applications
 
-  buildInputs = [ libX11 libXcursor libxcb ];
+    installManPage man/xcolor.1
+    for x in 16 24 32 48 256 512; do
+        install -D -m644 extra/icons/xcolor-''${x}.png $out/share/icons/hicolor/''${x}x''${x}/apps/xcolor.png
+    done
+  '';
 
   meta = with lib; {
     description = "Lightweight color picker for X11";
diff --git a/nixpkgs/pkgs/tools/inputmethods/anthy/default.nix b/nixpkgs/pkgs/tools/inputmethods/anthy/default.nix
index 03c692de8eca..23e2da0e41e6 100644
--- a/nixpkgs/pkgs/tools/inputmethods/anthy/default.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/anthy/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "anthy-9100h";
+  pname = "anthy";
+  version = "9100h";
 
   meta = with lib; {
     description = "Hiragana text to Kana Kanji mixed text Japanese input method";
@@ -12,7 +13,7 @@ stdenv.mkDerivation rec {
   };
 
   src = fetchurl {
-    url = "mirror://osdn/anthy/37536/${name}.tar.gz";
+    url = "mirror://osdn/anthy/37536/anthy-${version}.tar.gz";
     sha256 = "0ism4zibcsa5nl77wwi12vdsfjys3waxcphn1p5s7d0qy1sz0mnj";
   };
 }
diff --git a/nixpkgs/pkgs/tools/inputmethods/emote/default.nix b/nixpkgs/pkgs/tools/inputmethods/emote/default.nix
new file mode 100644
index 000000000000..d65831d5202e
--- /dev/null
+++ b/nixpkgs/pkgs/tools/inputmethods/emote/default.nix
@@ -0,0 +1,56 @@
+{ lib, fetchFromGitHub, python3Packages, wrapGAppsHook, gobject-introspection, gtk3, keybinder3, xdotool, pango, gdk-pixbuf, atk, librsvg }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "emote";
+  version = "2.0.0";
+
+  src = fetchFromGitHub {
+    owner = "tom-james-watson";
+    repo = "Emote";
+    rev = "v${version}";
+    sha256 = "kYXFD6VBnuEZ0ZMsF6ZmN4V0JN83puxRILpNlllVsKQ=";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.py --replace "pygobject==3.36.0" "pygobject"
+    substituteInPlace emote/config.py --replace 'os.environ.get("SNAP")' "'$out/share/emote'"
+    substituteInPlace snap/gui/emote.desktop --replace "Icon=\''${SNAP}/usr/share/icons/emote.svg" "Icon=emote.svg"
+  '';
+
+  nativeBuildInputs = [
+    wrapGAppsHook
+    gobject-introspection
+    keybinder3
+    pango
+    gdk-pixbuf
+    atk
+  ];
+
+  propagatedBuildInputs = [
+    python3Packages.pygobject3
+    gtk3
+    xdotool
+    librsvg
+  ];
+
+  postInstall = ''
+    install -D snap/gui/emote.desktop $out/share/applications/emote.desktop
+    install -D snap/gui/emote.svg $out/share/pixmaps/emote.svg
+    install -D -t $out/share/emote/static static/{emojis.json,logo.svg,style.css}
+  '';
+
+  dontWrapGApps = true;
+  preFixup = ''
+    makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
+  '';
+
+  doCheck = false;
+
+  meta = with lib; {
+    description = "A modern emoji picker for Linux";
+    homepage = "https://github.com/tom-james-watson/emote";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ angustrau ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/inputmethods/footswitch/default.nix b/nixpkgs/pkgs/tools/inputmethods/footswitch/default.nix
new file mode 100644
index 000000000000..9cfdbd393bd9
--- /dev/null
+++ b/nixpkgs/pkgs/tools/inputmethods/footswitch/default.nix
@@ -0,0 +1,35 @@
+{ lib, stdenv, fetchFromGitHub, pkg-config, hidapi }:
+
+stdenv.mkDerivation {
+  pname = "footswitch";
+  version = "unstable-20201-03-17";
+
+  src = fetchFromGitHub {
+    owner = "rgerganov";
+    repo = "footswitch";
+    rev = "aa0b10f00d3e76dac27b55b88c8d44c0c406f7f0";
+    sha256 = "sha256-SikYiBN7jbH5I1x5wPCF+buwFp1dt35cVxAN6lWkTN0=";
+  };
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ hidapi ];
+
+  postPatch = ''
+    substituteInPlace Makefile \
+      --replace /usr/local $out \
+      --replace /usr/bin/install install \
+      --replace /etc/udev/rules.d $out/lib/udev/rules.d
+  '';
+
+  preInstall = ''
+    mkdir -p $out/bin $out/lib/udev/rules.d
+  '';
+
+  meta = with lib; {
+    description = "Command line utlities for programming PCsensor and Scythe foot switches.";
+    homepage    = "https://github.com/rgerganov/footswitch";
+    license     = licenses.mit;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ baloo ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-bamboo/default.nix b/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-bamboo/default.nix
index 623c29124ff1..0785b7563456 100644
--- a/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-bamboo/default.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-bamboo/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ibus-bamboo";
-  version = "0.6.9";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "BambooEngine";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-7UXURvZX5UrpLHFYgBnuTX/sKQkubnBlvkSD/WBa4ZU=";
+    sha256 = "sha256-WKNDrm8PSU/F8MzpVsJ9oUkbolCxrwbjOZYYNiFr5Qs=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix b/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
index ac29545db3b0..9dcde821e14d 100644
--- a/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ibus-table";
-  version = "1.12.4";
+  version = "1.14.0";
 
   src = fetchFromGitHub {
     owner  = "kaio";
     repo   = "ibus-table";
     rev    = version;
-    sha256 = "sha256-2qST5k2+8gfSf1/FaxXW4qwSQgNw/QKM+1mMWDdrjCU=";
+    sha256 = "sha256-HGSa8T1fY3PGow/rB9ixAPTibLCykImcs0kM/dUIwmQ=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/tools/inputmethods/lisgd/default.nix b/nixpkgs/pkgs/tools/inputmethods/lisgd/default.nix
index 02344d153dbf..8b26e35c0541 100644
--- a/nixpkgs/pkgs/tools/inputmethods/lisgd/default.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/lisgd/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "lisgd";
-  version = "0.3.0";
+  version = "0.3.1";
 
   src = fetchFromSourcehut {
     owner = "~mil";
     repo = "lisgd";
     rev = version;
-    sha256 = "0g2pwff2c6ipxz83l26kx4rs3vah9qlm4h0n4x1k80mzqzf15hb6";
+    sha256 = "sha256-A8SsF5k4GwfVCj8JtodNWoLdPzaA9YsoP5EHHakUguc=";
   };
 
   inherit patches;
diff --git a/nixpkgs/pkgs/tools/inputmethods/m17n-db/default.nix b/nixpkgs/pkgs/tools/inputmethods/m17n-db/default.nix
index 7feb14080e9f..9344951dffe7 100644
--- a/nixpkgs/pkgs/tools/inputmethods/m17n-db/default.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/m17n-db/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, gettext }:
 
 stdenv.mkDerivation rec {
-  name = "m17n-db-1.8.0";
+  pname = "m17n-db";
+  version = "1.8.0";
 
   src = fetchurl {
-    url = "https://download.savannah.gnu.org/releases/m17n/${name}.tar.gz";
+    url = "https://download.savannah.gnu.org/releases/m17n/m17n-db-${version}.tar.gz";
     sha256 = "0vfw7z9i2s9np6nmx1d4dlsywm044rkaqarn7akffmb6bf1j6zv5";
   };
 
diff --git a/nixpkgs/pkgs/tools/inputmethods/m17n-lib/default.nix b/nixpkgs/pkgs/tools/inputmethods/m17n-lib/default.nix
index 51e52ce4e953..c80f97363116 100644
--- a/nixpkgs/pkgs/tools/inputmethods/m17n-lib/default.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/m17n-lib/default.nix
@@ -1,9 +1,10 @@
 {lib, stdenv, fetchurl, m17n_db}:
 stdenv.mkDerivation rec {
-  name = "m17n-lib-1.8.0";
+  pname = "m17n-lib";
+  version = "1.8.0";
 
   src = fetchurl {
-    url = "https://download.savannah.gnu.org/releases/m17n/${name}.tar.gz";
+    url = "https://download.savannah.gnu.org/releases/m17n/m17n-lib-${version}.tar.gz";
     sha256 = "0jp61y09xqj10mclpip48qlfhniw8gwy8b28cbzxy8hq8pkwmfkq";
   };
 
diff --git a/nixpkgs/pkgs/tools/inputmethods/nabi/default.nix b/nixpkgs/pkgs/tools/inputmethods/nabi/default.nix
index 5b6b0223a01f..72f13d4eb2dc 100644
--- a/nixpkgs/pkgs/tools/inputmethods/nabi/default.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/nabi/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, gtk2, libhangul }:
 
-stdenv.mkDerivation {
-  name = "nabi-1.0.0";
+stdenv.mkDerivation rec {
+  pname = "nabi";
+  version = "1.0.0";
 
   src = fetchurl {
-    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/nabi/nabi-1.0.0.tar.gz";
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/nabi/nabi-${version}.tar.gz";
     sha256 = "0craa24pw7b70sh253arv9bg9sy4q3mhsjwfss3bnv5nf0xwnncw";
   };
 
diff --git a/nixpkgs/pkgs/tools/inputmethods/remote-touchpad/default.nix b/nixpkgs/pkgs/tools/inputmethods/remote-touchpad/default.nix
index a4dc6a1c4632..90a438adb73a 100644
--- a/nixpkgs/pkgs/tools/inputmethods/remote-touchpad/default.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/remote-touchpad/default.nix
@@ -19,7 +19,7 @@ buildGoModule rec {
   };
 
   buildInputs = [ libX11 libXi libXt libXtst ];
-  buildFlags = [ "-tags" "portal,x11" ];
+  tags = [ "portal,x11" ];
 
   vendorSha256 = "1pgj0m67g759mcs4s34h4pq3mc7gni643z5cp6ffq4rrn8mdi060";
 
diff --git a/nixpkgs/pkgs/tools/misc/android-tools/default.nix b/nixpkgs/pkgs/tools/misc/android-tools/default.nix
index 1654b008aa55..8d74e74cb8ac 100644
--- a/nixpkgs/pkgs/tools/misc/android-tools/default.nix
+++ b/nixpkgs/pkgs/tools/misc/android-tools/default.nix
@@ -1,8 +1,12 @@
-{ lib, stdenv, fetchurl
-, cmake, perl, go
-, protobuf, zlib, gtest, brotli, lz4, zstd, libusb1, pcre2
+{ lib, stdenv, fetchurl, fetchpatch
+, cmake, perl, go, python3
+, protobuf, zlib, gtest, brotli, lz4, zstd, libusb1, pcre2, fmt_7
 }:
 
+let
+  pythonEnv = python3.withPackages(ps: [ ps.protobuf ]);
+in
+
 stdenv.mkDerivation rec {
   pname = "android-tools";
   version = "31.0.2";
@@ -12,8 +16,24 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-YbO/bCQMsLTQzP72lsVZhuBmV4Q2J9+VD9z2iBrw+NQ=";
   };
 
+  patches = [
+    # fmt 8 breaks the build but we can use fmt 7 from Nixpkgs:
+    (fetchpatch {
+      # Vendor google's version of fmtlib
+      url = "https://github.com/nmeum/android-tools/commit/21061c1dfb006c22304053c1f6f9e48ae4cbe25a.patch";
+      sha256 = "17mcsgfc3i8xq4hck0ppnzafh15aljxy7j2q4djcmwnvrkv9kx3s";
+      revert = true;
+      excludes = [ "vendor/fmtlib" ];
+    })
+  ];
+
+  postPatch = ''
+    sed -i -E "0,/import api_pb2/ s//from google.protobuf import api_pb2/" vendor/avb/aftltool.py
+  '';
+
   nativeBuildInputs = [ cmake perl go ];
-  buildInputs = [ protobuf zlib gtest brotli lz4 zstd libusb1 pcre2 ];
+  buildInputs = [ protobuf zlib gtest brotli lz4 zstd libusb1 pcre2 fmt_7 ];
+  propagatedBuildInputs = [ pythonEnv ];
 
   # Don't try to fetch any Go modules via the network:
   GOFLAGS = [ "-mod=vendor" ];
@@ -22,6 +42,12 @@ stdenv.mkDerivation rec {
     export GOCACHE=$TMPDIR/go-cache
   '';
 
+  postInstall = ''
+    install -Dm755 ../vendor/avb/aftltool.py -t $out/bin
+    install -Dm755 ../vendor/avb/avbtool.py -t $out/bin
+    install -Dm755 ../vendor/mkbootimg/mkbootimg.py $out/bin/mkbootimg
+  '';
+
   meta = with lib; {
     description = "Android SDK platform tools";
     longDescription = ''
diff --git a/nixpkgs/pkgs/tools/misc/arch-install-scripts/default.nix b/nixpkgs/pkgs/tools/misc/arch-install-scripts/default.nix
new file mode 100644
index 000000000000..0b6984526e4b
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/arch-install-scripts/default.nix
@@ -0,0 +1,68 @@
+{ lib
+, resholvePackage
+, fetchFromGitHub
+, asciidoc
+, bash
+, coreutils
+, gawk
+, gnum4
+, testVersion
+, util-linux
+}:
+
+resholvePackage rec {
+  pname = "arch-install-scripts";
+  version = "24";
+
+  src = fetchFromGitHub {
+    owner = "archlinux";
+    repo = "arch-install-scripts";
+    rev = "v${version}";
+    sha256 = "06rydiliis34lbz5fsayhbczs1xqi1a80jnhxafpjf6k3rfji6iq";
+  };
+
+  nativeBuildInputs = [ asciidoc gnum4 ];
+
+  preBuild = ''
+    substituteInPlace ./Makefile \
+      --replace "PREFIX = /usr/local" "PREFIX ?= /usr/local"
+
+    # https://github.com/archlinux/arch-install-scripts/pull/10
+    substituteInPlace ./common \
+      --replace "print '%s' \"\$1\"" "printf '%s' \"\$1\""
+  '';
+
+  installFlags = [ "PREFIX=$(out)" ];
+
+  doCheck = true;
+
+  solutions = {
+    # Give each solution a short name. This is what you'd use to
+    # override its settings, and it shows in (some) error messages.
+    profile = {
+      # the only *required* arguments are the 3 below
+
+      # Specify 1 or more $out-relative script paths. Unlike many
+      # builders, resholvePackage modifies the output files during
+      # fixup (to correctly resolve in-package sourcing).
+      scripts = [ "bin/arch-chroot" "bin/genfstab" "bin/pacstrap" ];
+
+      # "none" for no shebang, "${bash}/bin/bash" for bash, etc.
+      interpreter = "${bash}/bin/bash";
+
+      # packages resholve should resolve executables from
+      inputs = [ coreutils gawk util-linux ];
+    };
+  };
+
+  meta = with lib; {
+    description = "Useful scripts for installing Arch Linux";
+    longDescription = ''
+      A small suite of scripts aimed at automating some menial tasks when installing Arch Linux.
+    '';
+    homepage = "https://github.com/archlinux/arch-install-scripts";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ yayayayaka ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/bat/default.nix b/nixpkgs/pkgs/tools/misc/bat/default.nix
index 81b910117f17..de0f13c77fd0 100644
--- a/nixpkgs/pkgs/tools/misc/bat/default.nix
+++ b/nixpkgs/pkgs/tools/misc/bat/default.nix
@@ -13,15 +13,15 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "bat";
-  version = "0.18.2";
+  version = "0.18.3";
 
   src = fetchFromGitHub {
     owner = "sharkdp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Y8CmVOIDPQ9kpggOlKnxLV0oOyNRow0r/nvxNpCtYNU=";
+    sha256 = "sha256-3XwnlSPlyEE4oznXK59/rooZLtj1+VbozprXU2W0J5I=";
   };
-  cargoSha256 = "sha256-MdfBldImyW8QV0P3zPrYT2Vi9zChvXePI2T8tRsrlcQ=";
+  cargoSha256 = "sha256-g5yfE/s1N6EgI2ikiJbypI4iQbXPu6zGNoSVC6ldoWo=";
 
   nativeBuildInputs = [ pkg-config installShellFiles makeWrapper ];
 
@@ -48,6 +48,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/sharkdp/bat";
     changelog = "https://github.com/sharkdp/bat/raw/v${version}/CHANGELOG.md";
     license = with licenses; [ asl20 /* or */ mit ];
-    maintainers = with maintainers; [ dywedir lilyball zowoq ];
+    maintainers = with maintainers; [ dywedir lilyball zowoq SuperSandro2000 ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/bdf2psf/default.nix b/nixpkgs/pkgs/tools/misc/bdf2psf/default.nix
index d6ee17204304..72f142105b71 100644
--- a/nixpkgs/pkgs/tools/misc/bdf2psf/default.nix
+++ b/nixpkgs/pkgs/tools/misc/bdf2psf/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bdf2psf";
-  version = "1.204";
+  version = "1.205";
 
   src = fetchurl {
     url = "mirror://debian/pool/main/c/console-setup/bdf2psf_${version}_all.deb";
-    sha256 = "sha256-oyBkt52mWM2FiaM++s5Uoe7Wd0v1oLM7HjWKDjIonGE=";
+    sha256 = "sha256-elFmsqtndo4ReR4IoyhC56k0PMqy5QrUxOGUQLGeu0I=";
   };
 
   nativeBuildInputs = [ dpkg ];
diff --git a/nixpkgs/pkgs/tools/misc/betterdiscord-installer/default.nix b/nixpkgs/pkgs/tools/misc/betterdiscord-installer/default.nix
index f1aefd9b7583..1de5b7c4cf69 100644
--- a/nixpkgs/pkgs/tools/misc/betterdiscord-installer/default.nix
+++ b/nixpkgs/pkgs/tools/misc/betterdiscord-installer/default.nix
@@ -24,7 +24,7 @@ in appimageTools.wrapType2 {
 
   meta = with lib; {
     description = "Installer for BetterDiscord";
-    homepage = "https://betterdiscord.net";
+    homepage = "https://betterdiscord.app";
     license = licenses.mit;
     maintainers = [ maintainers.ivar ];
     platforms = [ "x86_64-linux" ];
diff --git a/nixpkgs/pkgs/tools/misc/broot/default.nix b/nixpkgs/pkgs/tools/misc/broot/default.nix
index a5c456c00501..9193e18d116a 100644
--- a/nixpkgs/pkgs/tools/misc/broot/default.nix
+++ b/nixpkgs/pkgs/tools/misc/broot/default.nix
@@ -14,14 +14,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "broot";
-  version = "1.6.0";
+  version = "1.6.2";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-H/QT/fmQI9sHjl6wMJjrfjvbOhY9VyBkAGetvcUqGrE=";
+    sha256 = "sha256-SjfTMBGby2jzmeNEtBVYqumLExhXW8nqxpbaeeaRM3w=";
   };
 
-  cargoHash = "sha256-5mqLVbB/dLAk3Ck7ilHhVn0CB/6Ln82SaTxZ/vkx+9k=";
+  cargoHash = "sha256-BdSqTzXu7Glhr0fQGmnkg5BXYgdQS6jgfH3A9hPpECY=";
 
   nativeBuildInputs = [
     installShellFiles
@@ -75,7 +75,7 @@ rustPlatform.buildRustPackage rec {
   meta = with lib; {
     description = "An interactive tree view, a fuzzy search, a balanced BFS descent and customizable commands";
     homepage = "https://dystroy.org/broot/";
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ dywedir ];
     license = with licenses; [ mit ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/calamares/default.nix b/nixpkgs/pkgs/tools/misc/calamares/default.nix
index 90abc7659203..d65d31d44c4e 100644
--- a/nixpkgs/pkgs/tools/misc/calamares/default.nix
+++ b/nixpkgs/pkgs/tools/misc/calamares/default.nix
@@ -6,12 +6,12 @@
 
 mkDerivation rec {
   pname = "calamares";
-  version = "3.2.36";
+  version = "3.2.39";
 
   # release including submodule
   src = fetchurl {
     url = "https://github.com/${pname}/${pname}/releases/download/v${version}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-pgA0mRglIBObNNUQIozNy6EvJQSmHRF+kN4EjqL4tt4=";
+    sha256 = "sha256-QGdy49RndRIBR3B+Z7iXbFyx5gxXO2GHNYc+iv0z47w=";
   };
 
   nativeBuildInputs = [ cmake extra-cmake-modules ];
diff --git a/nixpkgs/pkgs/tools/misc/chezmoi/default.nix b/nixpkgs/pkgs/tools/misc/chezmoi/default.nix
index fd289f9cfb8a..a60a84475b06 100644
--- a/nixpkgs/pkgs/tools/misc/chezmoi/default.nix
+++ b/nixpkgs/pkgs/tools/misc/chezmoi/default.nix
@@ -2,21 +2,21 @@
 
 buildGoModule rec {
   pname = "chezmoi";
-  version = "2.1.2";
+  version = "2.1.6";
 
   src = fetchFromGitHub {
     owner = "twpayne";
     repo = "chezmoi";
     rev = "v${version}";
-    sha256 = "sha256-EStR/tmbu95tptB7h3rHxoro87jlhu3i0XwRQNbIBvA=";
+    sha256 = "sha256-6BzocbG7I3ZHlPGZ2GRY/n9ezRF2OER9BFaoIq0yBro=";
   };
 
-  vendorSha256 = "sha256-Geeo/tqF+VJamIzgU1qz0iEjTKE8jwFQLGXPBuN9eN8=";
+  vendorSha256 = "sha256-i20Zt1ZP1ij1Qp4moNZqUTQOHPlchonFF7ag5qjMoqg=";
 
   doCheck = false;
 
-  buildFlagsArray = [
-    "-ldflags=-s -w -X main.version=${version} -X main.builtBy=nixpkgs"
+  ldflags = [
+    "-s" "-w" "-X main.version=${version}" "-X main.builtBy=nixpkgs"
   ];
 
   nativeBuildInputs = [ installShellFiles ];
diff --git a/nixpkgs/pkgs/tools/misc/cicero-tui/default.nix b/nixpkgs/pkgs/tools/misc/cicero-tui/default.nix
index 72721020e129..249e814fd303 100644
--- a/nixpkgs/pkgs/tools/misc/cicero-tui/default.nix
+++ b/nixpkgs/pkgs/tools/misc/cicero-tui/default.nix
@@ -10,13 +10,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cicero-tui";
-  version = "0.2.1";
+  version = "0.2.2";
 
   src = fetchFromGitHub {
     owner = "eyeplum";
     repo = "cicero-tui";
     rev = "v${version}";
-    sha256 = "sha256-FwjD+BdRc8y/g5MQLmBB/qkUj33cywbH2wjTp0y0s8A=";
+    sha256 = "sha256-j/AIuNE5WBNdUeXuKvvc4NqsVVk252tm4KR3w0e6bT8=";
   };
 
   nativeBuildInputs = [
@@ -29,7 +29,7 @@ rustPlatform.buildRustPackage rec {
     freetype
   ];
 
-  cargoSha256 = "sha256-JygEE7K8swbFvJ2aDXs+INhfoLuhy+LY7T8AUr4lgJY=";
+  cargoSha256 = "sha256-yup6hluGF2x+0XDwK+JETyNu4TFNPmqD4Y0Wthxrbcc=";
 
   meta = with lib; {
     description = "Unicode tool with a terminal user interface";
diff --git a/nixpkgs/pkgs/tools/misc/cloud-sql-proxy/default.nix b/nixpkgs/pkgs/tools/misc/cloud-sql-proxy/default.nix
index 552ea140d608..6f5a6ec25fbb 100644
--- a/nixpkgs/pkgs/tools/misc/cloud-sql-proxy/default.nix
+++ b/nixpkgs/pkgs/tools/misc/cloud-sql-proxy/default.nix
@@ -16,7 +16,7 @@ buildGoPackage rec {
 
   goDeps = ./deps.nix;
 
-  buildFlagsArray = [ "-ldflags=" "-X main.versionString=${version}" ];
+  ldflags = [ "-X main.versionString=${version}" ];
 
   meta = with lib; {
     description = "An authenticating proxy for Second Generation Google Cloud SQL databases";
diff --git a/nixpkgs/pkgs/tools/misc/complete-alias/default.nix b/nixpkgs/pkgs/tools/misc/complete-alias/default.nix
index 721e99427bb6..c23ed9771f23 100644
--- a/nixpkgs/pkgs/tools/misc/complete-alias/default.nix
+++ b/nixpkgs/pkgs/tools/misc/complete-alias/default.nix
@@ -5,13 +5,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "complete-alias";
-  version = "1.10.0";
+  version = "1.18.0";
 
   src = fetchFromGitHub {
     owner = "cykerway";
     repo = pname;
     rev = version;
-    sha256 = "1s0prdnmb2qnzc8d7ddldzqa53yc10qq0lbgx2l9dzmz8pdwylyc";
+    sha256 = "18lmdb3inphxyjv08ing5wckqnjq0m5zfl0f15mqzlvf2ypar63x";
   };
 
   buildPhase = ''
diff --git a/nixpkgs/pkgs/tools/misc/convbin/default.nix b/nixpkgs/pkgs/tools/misc/convbin/default.nix
index 7f57cab585bc..7405535edd43 100644
--- a/nixpkgs/pkgs/tools/misc/convbin/default.nix
+++ b/nixpkgs/pkgs/tools/misc/convbin/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "convbin";
-  version = "3.0";
+  version = "3.4";
 
   src = fetchFromGitHub {
     owner = "mateoconlechuga";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0n502zj8igm583kbfvyv7zhd97vb71jac41ncb9jr2yz2v5ir8j9";
+    sha256 = "sha256-JM9ixxOI3NnK3h54byFycTCJ/A+JTcNHKR71zxRed/s=";
   };
 
   makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
diff --git a/nixpkgs/pkgs/tools/misc/cope/default.nix b/nixpkgs/pkgs/tools/misc/cope/default.nix
new file mode 100644
index 000000000000..ffa25ba9530b
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/cope/default.nix
@@ -0,0 +1,28 @@
+{ lib, fetchFromGitHub, perl, perlPackages, makeWrapper, }:
+
+perlPackages.buildPerlPackage rec {
+  pname = "cope";
+  version = "unstable-2015-01-29";
+
+  src = fetchFromGitHub {
+    owner = "lotrfan";
+    repo = pname;
+    rev = "0dc82a939a9498ff80caf472841c279dfe03efae";
+    sha256 = "sha256-Tkv26M6YnaUB0nudjKGG482fvUkCobPk0VF1manBCoY=";
+  };
+
+  buildInputs = with perlPackages; [ EnvPath FileShareDir IOPty IOStty ListMoreUtils RegexpCommon RegexpIPv6 ];
+
+  postInstall = ''
+    mkdir -p $out/bin
+    mv $out/lib/perl5/site_perl/${perl.version}/auto/share/dist/Cope/* $out/bin/
+    rm -r $out/lib/perl5/site_perl/${perl.version}/auto
+  '';
+
+  meta = with lib; {
+    description = "A colourful wrapper for terminal programs";
+    homepage = "https://github.com/lotrfan/cope";
+    license = with licenses; [ artistic1 gpl1Plus ];
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/coreboot-utils/default.nix b/nixpkgs/pkgs/tools/misc/coreboot-utils/default.nix
index 95f9c74f5ade..36e82903a7e4 100644
--- a/nixpkgs/pkgs/tools/misc/coreboot-utils/default.nix
+++ b/nixpkgs/pkgs/tools/misc/coreboot-utils/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, zlib, pciutils, coreutils, acpica-tools, iasl, makeWrapper, gnugrep, gnused, file, buildEnv }:
+{ lib, stdenv, fetchurl, zlib, pciutils, coreutils, acpica-tools, makeWrapper, gnugrep, gnused, file, buildEnv }:
 
 let
   version = "4.14";
@@ -6,7 +6,7 @@ let
   commonMeta = with lib; {
     description = "Various coreboot-related tools";
     homepage = "https://www.coreboot.org";
-    license = licenses.gpl2;
+    license = with licenses; [ gpl2Only gpl2Plus ];
     maintainers = with maintainers; [ petabyteboy felixsinger yuka ];
     platforms = platforms.linux;
   };
@@ -81,7 +81,13 @@ let
     amdfwtool = generic {
       pname = "amdfwtool";
       meta.description = "Create AMD firmware combination";
-      installPhase = "install -Dm755 amdfwtool $out/bin/amdfwtool";
+      installPhase = ''
+        runHook preInstall
+
+        install -Dm755 amdfwtool $out/bin/amdfwtool
+
+        runHook postInstall
+      '';
     };
     acpidump-all = generic {
       pname = "acpidump-all";
@@ -89,9 +95,15 @@ let
       meta.description = "Walk through all ACPI tables with their addresses";
       nativeBuildInputs = [ makeWrapper ];
       dontBuild = true;
-      installPhase = "install -Dm755 acpidump-all $out/bin/acpidump-all";
+      installPhase = ''
+        runHook preInstall
+
+        install -Dm755 acpidump-all $out/bin/acpidump-all
+
+        runHook postInstall
+      '';
       postFixup = let
-        binPath = [ coreutils  acpica-tools iasl gnugrep  gnused  file ];
+        binPath = [ coreutils acpica-tools gnugrep gnused file ];
       in "wrapProgram $out/bin/acpidump-all --set PATH ${lib.makeBinPath binPath}";
     };
   };
diff --git a/nixpkgs/pkgs/tools/misc/coreshot/default.nix b/nixpkgs/pkgs/tools/misc/coreshot/default.nix
new file mode 100644
index 000000000000..bb2404b1ed52
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/coreshot/default.nix
@@ -0,0 +1,32 @@
+{ mkDerivation, lib, fetchFromGitLab, qtbase, qtx11extras, libcprime, cmake, ninja }:
+
+mkDerivation rec {
+  pname = "coreshot";
+  version = "4.2.0";
+
+  src = fetchFromGitLab {
+    owner = "cubocore/coreapps";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-HKgGeuM3CKGXwnFwSw6a0AB0klZKY5YS9C4q2UT6TN8=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    ninja
+  ];
+
+  buildInputs = [
+    qtbase
+    qtx11extras
+    libcprime
+  ];
+
+  meta = with lib; {
+    description = "A screen capture utility from the C Suite";
+    homepage = "https://gitlab.com/cubocore/coreapps/coreshot";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ dan4ik605743 ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/coreutils/default.nix b/nixpkgs/pkgs/tools/misc/coreutils/default.nix
index 0b2b03ba8db9..f22a7268fbc9 100644
--- a/nixpkgs/pkgs/tools/misc/coreutils/default.nix
+++ b/nixpkgs/pkgs/tools/misc/coreutils/default.nix
@@ -112,7 +112,8 @@ stdenv.mkDerivation (rec {
   # and {Open,Free}BSD.
   # With non-standard storeDir: https://github.com/NixOS/nix/issues/512
   doCheck = stdenv.hostPlatform == stdenv.buildPlatform
-    && (stdenv.hostPlatform.libc == "glibc" || stdenv.hostPlatform.isMusl);
+    && (stdenv.hostPlatform.libc == "glibc" || stdenv.hostPlatform.isMusl)
+    && !stdenv.isAarch32;
 
   # Prevents attempts of running 'help2man' on cross-built binaries.
   PERL = if stdenv.hostPlatform == stdenv.buildPlatform then null else "missing";
diff --git a/nixpkgs/pkgs/tools/misc/cpufetch/default.nix b/nixpkgs/pkgs/tools/misc/cpufetch/default.nix
index 4473738ac76c..46c485f52991 100644
--- a/nixpkgs/pkgs/tools/misc/cpufetch/default.nix
+++ b/nixpkgs/pkgs/tools/misc/cpufetch/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cpufetch";
-  version = "0.98";
+  version = "1.00";
 
   src = fetchFromGitHub {
     owner  = "Dr-Noob";
     repo   = "cpufetch";
     rev    = "v${version}";
-    sha256 = "060hmkwmb5ybcrj9jfx9681zk92489kq71nl6nacn8nfqrcn3qdb";
+    sha256 = "sha256-2Iar7RwL3T4DrFbqKJFys/R+VENRg2lmYFkslEaZeVE=";
   };
 
   nativeBuildInputs = [ installShellFiles ];
diff --git a/nixpkgs/pkgs/tools/misc/czkawka/default.nix b/nixpkgs/pkgs/tools/misc/czkawka/default.nix
index 8bca39c2ad52..9ff6a7aaa9aa 100644
--- a/nixpkgs/pkgs/tools/misc/czkawka/default.nix
+++ b/nixpkgs/pkgs/tools/misc/czkawka/default.nix
@@ -12,16 +12,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "czkawka";
-  version = "3.1.0";
+  version = "3.2.0";
 
   src = fetchFromGitHub {
     owner = "qarmin";
     repo = pname;
     rev = version;
-    sha256 = "sha256-LtGgpfToQUNKM1hmMPW7UrS/n7iyI+dz2vbSo+GOcRg=";
+    sha256 = "sha256-OBe6nk5C3kO5Lkas9+G+VY3xAzY7SWx8W5CkSbaYJ9Y=";
   };
 
-  cargoSha256 = "sha256-ZbyoCo1n4GRBkb5SClby5V51rLN1PnvCHD30TiJU2gY=";
+  cargoSha256 = "sha256-Jghkf1mX5ic7zB2KmtOZbSxgF8C6KjRdGG1Yt+dzylI=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/nixpkgs/pkgs/tools/misc/dashing/default.nix b/nixpkgs/pkgs/tools/misc/dashing/default.nix
index 496639ec07a5..6dfa3f2b7796 100644
--- a/nixpkgs/pkgs/tools/misc/dashing/default.nix
+++ b/nixpkgs/pkgs/tools/misc/dashing/default.nix
@@ -15,7 +15,7 @@ buildGoPackage rec {
 
   goDeps = ./deps.nix;
 
-  buildFlagsArray = [ "-ldflags=-X main.version=${version}" ];
+  ldflags = [ "-X main.version=${version}" ];
 
   meta = with lib; {
     description = "A Dash Generator Script for Any HTML";
diff --git a/nixpkgs/pkgs/tools/misc/dateutils/default.nix b/nixpkgs/pkgs/tools/misc/dateutils/default.nix
index e6793813b2be..a43f07c0a2d9 100644
--- a/nixpkgs/pkgs/tools/misc/dateutils/default.nix
+++ b/nixpkgs/pkgs/tools/misc/dateutils/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchurl, autoreconfHook, tzdata, fetchpatch }:
 
 stdenv.mkDerivation rec {
-  version = "0.4.8";
+  version = "0.4.9";
   pname = "dateutils";
 
   src = fetchurl {
     url = "https://bitbucket.org/hroptatyr/dateutils/downloads/${pname}-${version}.tar.xz";
-    sha256 = "0061f36axskm7yq9cp64x5a5phil8d3zgcd668nfmqzk9ji58w1z";
+    sha256 = "1hy96h9imxdbg9y7305mgv4grr6x4qic9xy3vhgh15lvjkcmc0kr";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/nixpkgs/pkgs/tools/misc/dialog/default.nix b/nixpkgs/pkgs/tools/misc/dialog/default.nix
index 744f55aed10b..dd31fed35832 100644
--- a/nixpkgs/pkgs/tools/misc/dialog/default.nix
+++ b/nixpkgs/pkgs/tools/misc/dialog/default.nix
@@ -12,11 +12,11 @@ assert unicodeSupport -> ncurses.unicode && ncurses != null;
 
 stdenv.mkDerivation rec {
   pname = "dialog";
-  version = "1.3-20210324";
+  version = "1.3-20210621";
 
   src = fetchurl {
     url = "ftp://ftp.invisible-island.net/dialog/${pname}-${version}.tgz";
-    hash = "sha256-AcLR4umvmwg+ogDKrQhP39pVF41bv05Cyf/0STUVFlM=";
+    hash = "sha256-w68izPzZuso4QGIQjdk1ToaZCSnuJwwjnu9pUYxdp8g=";
   };
 
   buildInputs = [
@@ -30,7 +30,9 @@ stdenv.mkDerivation rec {
     "--with-libtool-opts=${lib.optionalString enableShared "-shared"}"
   ];
 
-  installTargets = [ "install${lib.optionalString withLibrary "-full"}" ];
+  installTargets = [
+    "install${lib.optionalString withLibrary "-full"}"
+  ];
 
   meta = with lib; {
     homepage = "https://invisible-island.net/dialog/dialog.html";
diff --git a/nixpkgs/pkgs/tools/misc/diffoscope/default.nix b/nixpkgs/pkgs/tools/misc/diffoscope/default.nix
index 88a9846e8352..09f27a0c22cb 100644
--- a/nixpkgs/pkgs/tools/misc/diffoscope/default.nix
+++ b/nixpkgs/pkgs/tools/misc/diffoscope/default.nix
@@ -1,5 +1,5 @@
-{ lib, stdenv, fetchurl, runCommand, makeWrapper, python3Packages, docutils, help2man, installShellFiles
-, abootimg, acl, apktool, binutils-unwrapped, build-tools, bzip2, cbfstool, cdrkit, colord, colordiff, coreutils, cpio, db, diffutils, dtc
+{ lib, stdenv, fetchurl, python3Packages, docutils, help2man, installShellFiles
+, abootimg, acl, apksigner, apktool, binutils-unwrapped, bzip2, cbfstool, cdrkit, colord, colordiff, coreutils, cpio, db, diffutils, dtc
 , e2fsprogs, file, findutils, fontforge-fonttools, ffmpeg, fpc, gettext, ghc, ghostscriptX, giflib, gnumeric, gnupg, gnutar
 , gzip, hdf5, imagemagick, jdk, libarchive, libcaca, llvm, lz4, mono, openssh, openssl, pdftk, pgpdump, poppler_utils, qemu, R
 , radare2, sng, sqlite, squashfsTools, tcpdump, odt2txt, unzip, wabt, xxd, xz, zip, zstd
@@ -7,20 +7,13 @@
 }:
 
 # Note: when upgrading this package, please run the list-missing-tools.sh script as described below!
-let
-  apksigner = runCommand "apksigner" { nativeBuildInputs = [ makeWrapper ]; } ''
-    mkdir -p $out/bin
-    makeWrapper "${jdk}/bin/java" "$out/bin/apksigner" \
-      --add-flags "-jar ${builtins.head build-tools}/libexec/android-sdk/build-tools/28.0.3/lib/apksigner.jar"
-  '';
-in
 python3Packages.buildPythonApplication rec {
   pname = "diffoscope";
-  version = "178";
+  version = "182";
 
   src = fetchurl {
     url = "https://diffoscope.org/archive/diffoscope-${version}.tar.bz2";
-    sha256 = "sha256-uJbTQshf7vRd6EyaaV0itJVrMc/6o+pPXhtUgrjFnzM=";
+    sha256 = "sha256-atWyVMewm+I/SDdE9+z1JYLLVOFDsgps2BL9WgZLlVA=";
   };
 
   outputs = [ "out" "man" ];
@@ -42,10 +35,10 @@ python3Packages.buildPythonApplication rec {
   # Most of the non-Python dependencies here are optional command-line tools for various file-format parsers.
   # To help figuring out what's missing from the list, run: ./pkgs/tools/misc/diffoscope/list-missing-tools.sh
   #
-  # Still missing these tools: docx2txt dumppdf dumpxsb enjarify lipo ocamlobjinfo oggDump otool procyon
+  # Still missing these tools: docx2txt dumpimage dumppdf dumpxsb enjarify lipo ocamlobjinfo oggDump otool procyon
   pythonPath = [
       binutils-unwrapped bzip2 colordiff coreutils cpio db diffutils
-      dtc e2fsprogs file findutils fontforge-fonttools gettext gnutar gzip
+      e2fsprogs file findutils fontforge-fonttools gettext gnutar gzip
       libarchive libcaca lz4 openssl pgpdump sng sqlite squashfsTools unzip xxd
       xz zip zstd
     ]
@@ -53,7 +46,7 @@ python3Packages.buildPythonApplication rec {
       argcomplete debian defusedxml jsondiff jsbeautifier libarchive-c
       python_magic progressbar33 pypdf2 rpm tlsh
     ])
-    ++ lib.optionals stdenv.isLinux [ python3Packages.pyxattr acl cdrkit ]
+    ++ lib.optionals stdenv.isLinux [ python3Packages.pyxattr acl cdrkit dtc ]
     ++ lib.optionals enableBloat ([
       abootimg apksigner apktool cbfstool colord ffmpeg fpc ghc ghostscriptX giflib gnupg gnumeric
       hdf5 imagemagick llvm jdk mono odt2txt openssh pdftk poppler_utils qemu R tcpdump wabt radare2
@@ -73,6 +66,23 @@ python3Packages.buildPythonApplication rec {
     "test_diff_meta"
     "test_diff_meta2"
     "test_obj_no_differences"
+
+    # Failing because of file-v5.40 has a slightly different output.
+    # Upstream issue: https://salsa.debian.org/reproducible-builds/diffoscope/-/issues/271
+    "test_text_proper_indentation"
+  ] ++ lib.optionals stdenv.isDarwin [
+    # Disable flaky tests on Darwin
+    "test_non_unicode_filename"
+    "test_listing"
+  ];
+
+  # flaky tests on Darwin
+  disabledTestPaths = lib.optionals stdenv.isDarwin [
+    "tests/comparators/test_git.py"
+    "tests/comparators/test_java.py"
+    "tests/comparators/test_uimage.py"
+    "tests/comparators/test_device.py"
+    "tests/comparators/test_macho.py"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/misc/disfetch/default.nix b/nixpkgs/pkgs/tools/misc/disfetch/default.nix
index d66d413fcc36..96f2b28b5e3f 100644
--- a/nixpkgs/pkgs/tools/misc/disfetch/default.nix
+++ b/nixpkgs/pkgs/tools/misc/disfetch/default.nix
@@ -1,29 +1,29 @@
-{ stdenv
-, lib
-, fetchFromGitHub }:
+{ stdenv, lib, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
   pname = "disfetch";
-  version = "1.24";
+  version = "2.15";
 
   src = fetchFromGitHub {
-    owner = "llathasa-veleth";
+    owner = "q60";
     repo = "disfetch";
     rev = version;
-    sha256 = "sha256-Uoc5xSyLXXEqdyYn71NK8c8A/1wQ6djYn/HHJwGg5vc=";
+    sha256 = "sha256-1BxBeZfZK/vjUgTZknQLTLyWnI4LYyc1BmQeMcbwFP8=";
   };
 
   dontBuild = true;
 
   installPhase = ''
+    runHook preInstall
     install -Dm755 -t $out/bin disfetch
+    runHook postInstall
   '';
 
   meta = with lib; {
     description = "Yet another *nix distro fetching program, but less complex";
-    homepage = "https://github.com/llathasa-veleth/disfetch";
+    homepage = "https://github.com/q60/disfetch";
     license = licenses.mit;
     platforms = platforms.all;
-    maintainers = [ maintainers.vel ];
+    maintainers = with maintainers; [ vel ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/diskonaut/default.nix b/nixpkgs/pkgs/tools/misc/diskonaut/default.nix
index 058a0d1ad6f4..1fd1d3422a0f 100644
--- a/nixpkgs/pkgs/tools/misc/diskonaut/default.nix
+++ b/nixpkgs/pkgs/tools/misc/diskonaut/default.nix
@@ -1,4 +1,4 @@
-{ lib, rustPlatform, fetchFromGitHub }:
+{ lib, stdenv, rustPlatform, fetchFromGitHub }:
 
 rustPlatform.buildRustPackage rec {
   pname = "diskonaut";
@@ -13,10 +13,13 @@ rustPlatform.buildRustPackage rec {
 
   cargoSha256 = "10jrcy8m9ll4136ghq3fhmnphd9g3rw863x708vm17n44kgdxyab";
 
+  # 1 passed; 44 failed https://hydra.nixos.org/build/148943783/nixlog/1
+  doCheck = !stdenv.isDarwin;
+
   meta = with lib; {
     description = "Terminal disk space navigator";
     homepage = "https://github.com/imsnif/diskonaut";
     license = licenses.mit;
-    maintainers = with maintainers; [ evanjs ];
+    maintainers = with maintainers; [ evanjs SuperSandro2000 ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/dua/default.nix b/nixpkgs/pkgs/tools/misc/dua/default.nix
index 0c3d319f2a70..56880b6448df 100644
--- a/nixpkgs/pkgs/tools/misc/dua/default.nix
+++ b/nixpkgs/pkgs/tools/misc/dua/default.nix
@@ -2,7 +2,7 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "dua";
-  version = "2.14.2";
+  version = "2.14.4";
 
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv Foundation ];
 
@@ -10,7 +10,7 @@ rustPlatform.buildRustPackage rec {
     owner = "Byron";
     repo = "dua-cli";
     rev = "v${version}";
-    sha256 = "sha256-gUTDiUH/jlGAGbhOOCa63wfNy5Y8W6VWlSb9E+hQjHY=";
+    sha256 = "sha256-0L5IiB/J4RO/KGSk/zZKLPpAneNGPDvhmPsNiZxImac=";
     # Remove unicode file names which leads to different checksums on HFS+
     # vs. other filesystems because of unicode normalisation.
     extraPostFetch = ''
@@ -18,7 +18,7 @@ rustPlatform.buildRustPackage rec {
     '';
   };
 
-  cargoSha256 = "sha256-P8QFeP5KD5YeD4Px7OQNwCrvErgT9ytr4OlFkXuPgGU=";
+  cargoSha256 = "sha256-Mb59ZkIQVAZ01e3njdIR+0pM+PKQgEDaUP4saMGYn/8=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/misc/duf/default.nix b/nixpkgs/pkgs/tools/misc/duf/default.nix
index 076eb33fbb19..e95edb08b84a 100644
--- a/nixpkgs/pkgs/tools/misc/duf/default.nix
+++ b/nixpkgs/pkgs/tools/misc/duf/default.nix
@@ -13,7 +13,7 @@ buildGoModule rec {
 
   vendorSha256 = "153z0ccd556c0wpnxgyjq7m0c4y2z6fxsqq2p77kly9nr8cpzdb9";
 
-  buildFlagsArray = [ "-ldflags=-s -w -X=main.Version=${version}" ];
+  ldflags = [ "-s" "-w" "-X=main.Version=${version}" ];
 
   meta = with lib; {
     homepage = "https://github.com/muesli/duf/";
diff --git a/nixpkgs/pkgs/tools/misc/dust/default.nix b/nixpkgs/pkgs/tools/misc/dust/default.nix
index 85055ccba5eb..01c0ff4315e1 100644
--- a/nixpkgs/pkgs/tools/misc/dust/default.nix
+++ b/nixpkgs/pkgs/tools/misc/dust/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "du-dust";
-  version = "0.6.1";
+  version = "0.6.2";
 
   src = fetchFromGitHub {
     owner = "bootandy";
     repo = "dust";
     rev = "v${version}";
-    sha256 = "sha256-SgTEawxuz9gRxSZ9edNz2NwfJWSAwxKXxDJVpU6oTBg=";
+    sha256 = "sha256-5GhoL3by4sXhFJrNZi/UlERBa+s2oqDVVJODY0kdfxI=";
     # Remove unicode file names which leads to different checksums on HFS+
     # vs. other filesystems because of unicode normalisation.
     extraPostFetch = ''
@@ -16,7 +16,7 @@ rustPlatform.buildRustPackage rec {
     '';
   };
 
-  cargoSha256 = "sha256-/kDF1ZOzu32Dwd5fWZGhMlEf65TAKLMPFu+ZnZxOAms=";
+  cargoSha256 = "sha256-cgH3jrZPGUHiBDeJ9qj80dU+Vbz+wHMOsCaGAvJY6mg=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/misc/dutree/default.nix b/nixpkgs/pkgs/tools/misc/dutree/default.nix
new file mode 100644
index 000000000000..db767a1afb62
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/dutree/default.nix
@@ -0,0 +1,27 @@
+{ fetchFromGitHub, lib, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "dutree";
+  version = "0.2.18";
+
+  src = fetchFromGitHub {
+    owner = "nachoparker";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "17lm8jd07bi499mywg2iq669im34j4x4yhc8a3adxn12f8j0dfg7";
+    # test directory has files with unicode names which causes hash mismatches
+    # It is also not used by any tests or parts of build process
+    extraPostFetch = ''
+      rm -r $out/test
+    '';
+  };
+
+  cargoSha256 = "0gg1w0xx36aswfm0y53nqwwz7zds25ysmklbrc8v2r91j74bhkzw";
+
+  meta = with lib; {
+    description = "A tool to analyze file system usage written in Rust";
+    homepage = "https://github.com/nachoparker/dutree";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ figsoda ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/elfcat/Cargo.lock b/nixpkgs/pkgs/tools/misc/elfcat/Cargo.lock
deleted file mode 100644
index c5b48135993f..000000000000
--- a/nixpkgs/pkgs/tools/misc/elfcat/Cargo.lock
+++ /dev/null
@@ -1,7 +0,0 @@
-# This file is automatically @generated by Cargo.
-# It is not intended for manual editing.
-version = 3
-
-[[package]]
-name = "elfcat"
-version = "0.1.4"
diff --git a/nixpkgs/pkgs/tools/misc/elfcat/default.nix b/nixpkgs/pkgs/tools/misc/elfcat/default.nix
index a9691e43c6a9..91e4dfb99b3f 100644
--- a/nixpkgs/pkgs/tools/misc/elfcat/default.nix
+++ b/nixpkgs/pkgs/tools/misc/elfcat/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "elfcat";
-  version = "0.1.4";
+  version = "0.1.6";
 
   src = fetchFromGitHub {
     owner = "ruslashev";
     repo = pname;
     rev = version;
-    sha256 = "sha256-gh5JO3vO2FpHiZfaHOODPhRSB9HqZe1ir4g7UEkSUHY=";
+    sha256 = "sha256-v8G9XiZS+49HtuLjs4Co9A1J+5STAerphkLaMGvqXT4=";
   };
 
-  cargoLock.lockFile = ./Cargo.lock;
+  cargoSha256 = null;
 
   meta = with lib; {
     description = "ELF visualizer, generates HTML files from ELF binaries.";
diff --git a/nixpkgs/pkgs/tools/misc/entr/default.nix b/nixpkgs/pkgs/tools/misc/entr/default.nix
index abfd12523db9..8309bc129414 100644
--- a/nixpkgs/pkgs/tools/misc/entr/default.nix
+++ b/nixpkgs/pkgs/tools/misc/entr/default.nix
@@ -2,23 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "entr";
-  version = "4.9";
+  version = "5.0";
 
   src = fetchurl {
     url = "https://eradman.com/entrproject/code/${pname}-${version}.tar.gz";
-    sha256 = "sha256-4lak0vvkb2EyRggzukR+ZdfzW6nQsmXnxBUDl8xEBaI=";
+    sha256 = "1fqyshn9i213h6hiy31xlm719f6vayskfna92kvbd2aykryvp1ra";
   };
 
-  patches = lib.optionals stdenv.isDarwin [
-    # Fix v4.9 segfault on Darwin. remove with the next update
-    # https://github.com/eradman/entr/issues/74
-    (fetchpatch {
-      url = "https://github.com/eradman/entr/commit/468d77d45925abba826bb1dcda01487dbe37eb33.patch";
-      sha256 = "17kkcrsnac0pb930sf2kix71h4c7krzsrvz8pskx0vm39n1c9xfi";
-      includes = [ "entr.c" ];
-    })
-  ];
-
   postPatch = ''
     substituteInPlace Makefile.bsd --replace /bin/echo echo
     substituteInPlace entr.c --replace /bin/cat ${coreutils}/bin/cat
diff --git a/nixpkgs/pkgs/tools/misc/envdir-go/default.nix b/nixpkgs/pkgs/tools/misc/envdir-go/default.nix
index eafc71030ac8..8f847df3d5d1 100644
--- a/nixpkgs/pkgs/tools/misc/envdir-go/default.nix
+++ b/nixpkgs/pkgs/tools/misc/envdir-go/default.nix
@@ -14,10 +14,10 @@ buildGoPackage rec {
     sha256 = "1wdlblj127skgynf9amk7waabc3abbyxys9dvyc6c72zpcpdy5nc";
   };
 
-  preBuild = ''
-   # TODO: is there a way to get the commit ref so we can set main.buildCommit?
-    buildFlagsArray+=("-ldflags" "-X main.buildDate=1970-01-01T00:00:00+0000 -X main.buildVersion=${version}")
-'';
+  # TODO: is there a way to get the commit ref so we can set main.buildCommit?
+  ldflags = [
+    "-X main.buildDate=1970-01-01T00:00:00+0000" "-X main.buildVersion=${version}"
+  ];
 
   meta = {
     description = "A go rewrite of envdir";
diff --git a/nixpkgs/pkgs/tools/misc/esphome/dashboard.nix b/nixpkgs/pkgs/tools/misc/esphome/dashboard.nix
index beaffadab97e..777415de5800 100644
--- a/nixpkgs/pkgs/tools/misc/esphome/dashboard.nix
+++ b/nixpkgs/pkgs/tools/misc/esphome/dashboard.nix
@@ -4,11 +4,11 @@
 
 with python3.pkgs; buildPythonPackage rec {
   pname = "esphome-dashboard";
-  version = "20210719.0";
+  version = "20210728.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-gUZut9FsFHZ0zcTg+QDIdsM3EMvNFBawgBnt/Ia1BIc=";
+    sha256 = "sha256-OmlMrPLFMIV0Nu3aEKFotFXCZ2RKH9wYaev0SKvMBfQ=";
   };
 
   # no tests
diff --git a/nixpkgs/pkgs/tools/misc/esphome/default.nix b/nixpkgs/pkgs/tools/misc/esphome/default.nix
index 69a67a6e9181..4c58632e0df6 100644
--- a/nixpkgs/pkgs/tools/misc/esphome/default.nix
+++ b/nixpkgs/pkgs/tools/misc/esphome/default.nix
@@ -16,13 +16,13 @@ let
 in
 with python.pkgs; buildPythonApplication rec {
   pname = "esphome";
-  version = "1.20.0";
+  version = "2021.8.2";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-saLcTiWqpxnE+li9ojfrEAh/vjB1c3K4kQzkrBJW3t4=";
+    rev = version;
+    sha256 = "sha256-R+5eefPUZc6y/B8cZbxsLVrVwvBbVISZQAb1KwiYdFg=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/tools/misc/etcher/default.nix b/nixpkgs/pkgs/tools/misc/etcher/default.nix
index d0fae336d9d3..6834179cfe9a 100644
--- a/nixpkgs/pkgs/tools/misc/etcher/default.nix
+++ b/nixpkgs/pkgs/tools/misc/etcher/default.nix
@@ -59,6 +59,9 @@ stdenv.mkDerivation rec {
     cp -a usr/share/* $out/share
     cp -a opt/balenaEtcher/{locales,resources} $out/share/${pname}
 
+    substituteInPlace $out/share/applications/balena-etcher-electron.desktop \
+      --replace /opt/balenaEtcher/balena-etcher-electron ${pname}
+
     runHook postInstall
   '';
 
diff --git a/nixpkgs/pkgs/tools/misc/ethminer/add-global-context.patch b/nixpkgs/pkgs/tools/misc/ethminer/add-global-context.patch
new file mode 100644
index 000000000000..f0891e5a2758
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/ethminer/add-global-context.patch
@@ -0,0 +1,25 @@
+diff --git a/libethcore/CMakeLists.txt b/libethcore/CMakeLists.txt
+index 1a53de8..832e926 100644
+--- a/libethcore/CMakeLists.txt
++++ b/libethcore/CMakeLists.txt
+@@ -7,7 +7,7 @@ set(SOURCES
+ include_directories(BEFORE ..)
+ 
+ add_library(ethcore ${SOURCES})
+-target_link_libraries(ethcore PUBLIC devcore ethash::ethash PRIVATE hwmon)
++target_link_libraries(ethcore PUBLIC devcore ethash::ethash ethash-global-context PRIVATE hwmon)
+ 
+ if(ETHASHCL)
+ 	target_link_libraries(ethcore PRIVATE ethash-cl)
+diff --git a/libethcore/EthashAux.h b/libethcore/EthashAux.h
+index d9aadc7..fe5c6cf 100644
+--- a/libethcore/EthashAux.h
++++ b/libethcore/EthashAux.h
+@@ -22,6 +22,7 @@
+ #include <libdevcore/Worker.h>
+ 
+ #include <ethash/ethash.hpp>
++#include <ethash/global_context.hpp>
+ 
+ namespace dev
+ {
diff --git a/nixpkgs/pkgs/tools/misc/ethminer/default.nix b/nixpkgs/pkgs/tools/misc/ethminer/default.nix
index 675147bc5d57..e159622bc8e1 100644
--- a/nixpkgs/pkgs/tools/misc/ethminer/default.nix
+++ b/nixpkgs/pkgs/tools/misc/ethminer/default.nix
@@ -64,6 +64,11 @@ stdenv.mkDerivation rec {
     cudatoolkit
   ];
 
+  patches = [
+    # global context library is separated from libethash
+    ./add-global-context.patch
+  ];
+
   preConfigure = ''
     sed -i 's/_lib_static//' libpoolprotocols/CMakeLists.txt
   '';
diff --git a/nixpkgs/pkgs/tools/misc/ethtool/default.nix b/nixpkgs/pkgs/tools/misc/ethtool/default.nix
index 4b6d7cc9332e..9457507458d8 100644
--- a/nixpkgs/pkgs/tools/misc/ethtool/default.nix
+++ b/nixpkgs/pkgs/tools/misc/ethtool/default.nix
@@ -1,14 +1,17 @@
-{ lib, stdenv, fetchurl }:
+{ lib, stdenv, fetchurl, pkg-config, libmnl }:
 
 stdenv.mkDerivation rec {
   pname = "ethtool";
-  version = "5.4";
+  version = "5.13";
 
   src = fetchurl {
     url = "mirror://kernel/software/network/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "0srbqp4a3x9ryrbm5q854375y04ni8j0bmsrl89nmsyn4x4ixy12";
+    sha256 = "1wwcwiav0fbl75axmx8wms4xfdp1ji5c7j49k4yl8bngqra74fp6";
   };
 
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ libmnl ];
+
   meta = with lib; {
     description = "Utility for controlling network drivers and hardware";
     homepage = "https://www.kernel.org/pub/software/network/ethtool/";
diff --git a/nixpkgs/pkgs/tools/misc/exa/default.nix b/nixpkgs/pkgs/tools/misc/exa/default.nix
index 632eb4590586..9cabff9a9bef 100644
--- a/nixpkgs/pkgs/tools/misc/exa/default.nix
+++ b/nixpkgs/pkgs/tools/misc/exa/default.nix
@@ -18,16 +18,21 @@ rustPlatform.buildRustPackage rec {
 
   cargoSha256 = "sha256-ah8IjShmivS6IWL3ku/4/j+WNr/LdUnh1YJnPdaFdcM=";
 
-  nativeBuildInputs = [ cmake pkg-config installShellFiles pandoc ];
+  nativeBuildInputs = [
+    cmake pkg-config installShellFiles
+    # ghc is not supported on aarch64-darwin yet.
+  ] ++ lib.optional (stdenv.hostPlatform.system != "aarch64-darwin") pandoc;
+
   buildInputs = [ zlib ]
     ++ lib.optionals stdenv.isDarwin [ libiconv Security ];
 
-  outputs = [ "out" "man" ];
+  outputs = [ "out" ] ++ lib.optional (stdenv.hostPlatform.system != "aarch64-darwin") "man";
 
-  postInstall = ''
+  postInstall = lib.optionalString (stdenv.hostPlatform.system != "aarch64-darwin") ''
     pandoc --standalone -f markdown -t man man/exa.1.md > man/exa.1
     pandoc --standalone -f markdown -t man man/exa_colors.5.md > man/exa_colors.5
     installManPage man/exa.1 man/exa_colors.5
+  '' + ''
     installShellCompletion \
       --name exa completions/completions.bash \
       --name exa.fish completions/completions.fish \
diff --git a/nixpkgs/pkgs/tools/misc/fend/default.nix b/nixpkgs/pkgs/tools/misc/fend/default.nix
index 4ed308643e56..27352c83dee9 100644
--- a/nixpkgs/pkgs/tools/misc/fend/default.nix
+++ b/nixpkgs/pkgs/tools/misc/fend/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "fend";
-  version = "0.1.21";
+  version = "0.1.24";
 
   src = fetchFromGitHub {
     owner = "printfn";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-LrHZsnW96+QsXuGxWoGqIEKTE86m3tMnh4fpDPIhd1w=";
+    sha256 = "sha256-Oa/o2Jd0rf+fIVQCaCiSh+tI2KINh1Kx3NTVEULQlzI=";
   };
 
-  cargoSha256 = "sha256-GZ4Yt5iQkgupJMTYIbvCPtz19985MFf8IDy3ui0M6DE=";
+  cargoSha256 = "sha256-iFGw5mkeRGiMWe5wcrEcmH0WlHJ8p1D0rf1mh+1Mo+w=";
 
   doInstallCheck = true;
 
diff --git a/nixpkgs/pkgs/tools/misc/file/default.nix b/nixpkgs/pkgs/tools/misc/file/default.nix
index 4a9dc7ee774e..108cc5b82fd6 100644
--- a/nixpkgs/pkgs/tools/misc/file/default.nix
+++ b/nixpkgs/pkgs/tools/misc/file/default.nix
@@ -2,25 +2,19 @@
 
 stdenv.mkDerivation rec {
   pname = "file";
-  version = "5.39";
+  version = "5.40";
 
   src = fetchurl {
     urls = [
       "ftp://ftp.astron.com/pub/file/${pname}-${version}.tar.gz"
       "https://distfiles.macports.org/file/${pname}-${version}.tar.gz"
     ];
-    sha256 = "1lgs2w2sgamzf27kz5h7pajz7v62554q21fbs11n4mfrfrm2hpgh";
+    sha256 = "0myxlpj9gy2diqavx33vq88kpvr1k1bpzsm0d0zmb2hl7ks22wqn";
   };
 
-  patches = [
-    # https://github.com/file/file/commit/85b7ab83257b3191a1a7ca044589a092bcef2bb3
-    # Without the RCS id change to avoid conflicts. Remove on next bump.
-    ./webassembly-format-fix.patch
-  ];
-
   nativeBuildInputs = lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) file;
   buildInputs = [ zlib ]
-              ++ lib.optional stdenv.hostPlatform.isWindows libgnurx;
+    ++ lib.optional stdenv.hostPlatform.isWindows libgnurx;
 
   doCheck = true;
 
@@ -29,6 +23,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://darwinsys.com/file";
     description = "A program that shows the type of files";
+    maintainers = with maintainers; [ ];
     license = licenses.bsd2;
     platforms = platforms.all;
   };
diff --git a/nixpkgs/pkgs/tools/misc/file/webassembly-format-fix.patch b/nixpkgs/pkgs/tools/misc/file/webassembly-format-fix.patch
deleted file mode 100644
index 5eca833e4d71..000000000000
--- a/nixpkgs/pkgs/tools/misc/file/webassembly-format-fix.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/funcs.c b/src/funcs.c
-index 299b8f022..ecbfa28c5 100644
---- a/src/funcs.c
-+++ b/src/funcs.c
-@@ -93,7 +93,7 @@ file_checkfmt(char *msg, size_t mlen, const char *fmt)
- 		if (*++p == '%')
- 			continue;
- 		// Skip uninteresting.
--		while (strchr("0.'+- ", *p) != NULL)
-+		while (strchr("#0.'+- ", *p) != NULL)
- 			p++;
- 		if (*p == '*') {
- 			if (msg)
diff --git a/nixpkgs/pkgs/tools/misc/findutils/default.nix b/nixpkgs/pkgs/tools/misc/findutils/default.nix
index 18881ef181d2..8c8b8c7b2b43 100644
--- a/nixpkgs/pkgs/tools/misc/findutils/default.nix
+++ b/nixpkgs/pkgs/tools/misc/findutils/default.nix
@@ -9,21 +9,18 @@
 
 stdenv.mkDerivation rec {
   pname = "findutils";
-  version = "4.7.0";
+  version = "4.8.0";
 
   src = fetchurl {
     url = "mirror://gnu/findutils/${pname}-${version}.tar.xz";
-    sha256 = "16kqz9yz98dasmj70jwf5py7jk558w96w0vgp3zf9xsqk3gzpzn5";
+    sha256 = "0r3i72hnw0a30khlczi9k2c51aamaj6kfmp5mk3844nrjxz7n4jp";
   };
 
   postPatch = ''
     substituteInPlace xargs/xargs.c --replace 'char default_cmd[] = "echo";' 'char default_cmd[] = "${coreutils}/bin/echo";'
   '';
 
-  patches = [ ./no-install-statedir.patch ]
-    # fix gnulib tests on 32-bit ARM. Included on findutils master.
-    # https://lists.gnu.org/r/bug-gnulib/2020-08/msg00225.html
-    ++ lib.optional stdenv.hostPlatform.isAarch32 ./fix-gnulib-tests-arm.patch;
+  patches = [ ./no-install-statedir.patch ];
 
   buildInputs = [ coreutils ]; # bin/updatedb script needs to call sort
 
@@ -43,6 +40,12 @@ stdenv.mkDerivation rec {
     "--localstatedir=/var/cache"
   ];
 
+  CFLAGS = [
+    # TODO: Revisit upstream issue https://savannah.gnu.org/bugs/?59972
+    # https://github.com/Homebrew/homebrew-core/pull/69761#issuecomment-770268478
+    "-D__nonnull\\(params\\)="
+  ];
+
   enableParallelBuilding = true;
 
   meta = {
diff --git a/nixpkgs/pkgs/tools/misc/findutils/fix-gnulib-tests-arm.patch b/nixpkgs/pkgs/tools/misc/findutils/fix-gnulib-tests-arm.patch
deleted file mode 100644
index 39bd29f8439e..000000000000
--- a/nixpkgs/pkgs/tools/misc/findutils/fix-gnulib-tests-arm.patch
+++ /dev/null
@@ -1,45 +0,0 @@
->From 175e0bc72808d564074c4adcc72aeadb74adfcc6 Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Thu, 27 Aug 2020 17:52:58 -0700
-Subject: [PATCH] perror, strerror_r: remove unportable tests
-
-Problem reported by Florian Weimer in:
-https://lists.gnu.org/r/bug-gnulib/2020-08/msg00220.html
-* tests/test-perror2.c (main):
-* tests/test-strerror_r.c (main): Omit unportable tests.
----
- tests/test-perror2.c    | 3 ---
- tests/test-strerror_r.c | 3 ---
- 2 files changed, 6 deletions(-)
-
-diff --git a/gnulib-tests/test-perror2.c b/gnulib-tests/test-perror2.c
-index 1d14eda7b..c6214dd25 100644
---- a/gnulib-tests/test-perror2.c
-+++ b/gnulib-tests/test-perror2.c
-@@ -79,9 +79,6 @@ main (void)
-     errno = -5;
-     perror ("");
-     ASSERT (!ferror (stderr));
--    ASSERT (msg1 == msg2 || msg1 == msg4 || STREQ (msg1, str1));
--    ASSERT (msg2 == msg4 || STREQ (msg2, str2));
--    ASSERT (msg3 == msg4 || STREQ (msg3, str3));
-     ASSERT (STREQ (msg4, str4));
- 
-     free (str1);
-diff --git a/gnulib-tests/test-strerror_r.c b/gnulib-tests/test-strerror_r.c
-index b11d6fd9f..c1dbcf837 100644
---- a/gnulib-tests/test-strerror_r.c
-+++ b/gnulib-tests/test-strerror_r.c
-@@ -165,9 +165,6 @@ main (void)
- 
-     strerror_r (EACCES, buf, sizeof buf);
-     strerror_r (-5, buf, sizeof buf);
--    ASSERT (msg1 == msg2 || msg1 == msg4 || STREQ (msg1, str1));
--    ASSERT (msg2 == msg4 || STREQ (msg2, str2));
--    ASSERT (msg3 == msg4 || STREQ (msg3, str3));
-     ASSERT (STREQ (msg4, str4));
- 
-     free (str1);
--- 
-2.17.1
-
diff --git a/nixpkgs/pkgs/tools/misc/flameshot/default.nix b/nixpkgs/pkgs/tools/misc/flameshot/default.nix
index 838572d92973..e2e066fd8903 100644
--- a/nixpkgs/pkgs/tools/misc/flameshot/default.nix
+++ b/nixpkgs/pkgs/tools/misc/flameshot/default.nix
@@ -1,14 +1,28 @@
-{ mkDerivation, lib, fetchFromGitHub, qtbase, cmake, qttools, qtsvg }:
+{ mkDerivation
+, lib
+, fetchFromGitHub
+, qtbase
+, cmake
+, qttools
+, qtsvg
+, nix-update-script
+}:
 
 mkDerivation rec {
   pname = "flameshot";
-  version = "0.10.0";
+  version = "0.10.1";
 
   src = fetchFromGitHub {
     owner = "flameshot-org";
     repo = "flameshot";
     rev = "v${version}";
-    sha256 = "1m0mx8qhy9ycsqh5dj6c7mwwpbhqxlds31dqdxxk0krwl750smi2";
+    sha256 = "1ncknjayl6am740f49g0lc28z1zsifbicxz1j1kwps3ksj15nl7a";
+  };
+
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = pname;
+    };
   };
 
   nativeBuildInputs = [ cmake qttools qtsvg ];
diff --git a/nixpkgs/pkgs/tools/misc/flexoptix-app/default.nix b/nixpkgs/pkgs/tools/misc/flexoptix-app/default.nix
index 40f30bd7ad90..507fbb7dcc71 100644
--- a/nixpkgs/pkgs/tools/misc/flexoptix-app/default.nix
+++ b/nixpkgs/pkgs/tools/misc/flexoptix-app/default.nix
@@ -1,12 +1,12 @@
-{ lib, appimageTools, fetchurl }: let
+{ lib, appimageTools, fetchurl, nodePackages }: let
   pname = "flexoptix-app";
-  version = "5.9.0";
+  version = "5.11.0";
   name = "${pname}-${version}";
 
   src = fetchurl {
     name = "${name}.AppImage";
     url = "https://flexbox.reconfigure.me/download/electron/linux/x64/FLEXOPTIX%20App.${version}.AppImage";
-    sha256 = "0gbqaj9b11mxx0knmmh2d5863kaslbb3r6c4h8rjhg8qy4cws7hj";
+    sha256 = "sha256:1hzdb2fbkwpsf0d3ws4z32blk6549jwhf1lrlqmcxhzqfvkr4gin";
   };
 
   udevRules = fetchurl {
@@ -14,12 +14,20 @@
     sha256 = "0mr1bhgvavq1ax4206z1vr2y64s3r676w9jjl9ysziklbrsvk5rr";
   };
 
-  appimageContents = appimageTools.extractType2 {
-    inherit name src;
-  };
+  appimageContents = (appimageTools.extract { inherit name src; }).overrideAttrs (oA: {
+    buildCommand = ''
+      ${oA.buildCommand}
+
+      # Get rid of the autoupdater
+      ${nodePackages.asar}/bin/asar extract $out/resources/app.asar app
+      sed -i 's/async isUpdateAvailable.*/async isUpdateAvailable(updateInfo) { return false;/g' app/node_modules/electron-updater/out/AppUpdater.js
+      ${nodePackages.asar}/bin/asar pack app $out/resources/app.asar
+    '';
+  });
 
-in appimageTools.wrapType2 {
-  inherit name src;
+in appimageTools.wrapAppImage {
+  inherit name;
+  src = appimageContents;
 
   multiPkgs = null; # no 32bit needed
   extraPkgs = { pkgs, ... }@args: [
@@ -27,11 +35,14 @@ in appimageTools.wrapType2 {
   ] ++ appimageTools.defaultFhsEnvArgs.multiPkgs args;
 
   extraInstallCommands = ''
+    # Add desktop convencience stuff
     mv $out/bin/{${name},${pname}}
     install -Dm444 ${appimageContents}/flexoptix-app.desktop -t $out/share/applications
     install -Dm444 ${appimageContents}/flexoptix-app.png -t $out/share/pixmaps
     substituteInPlace $out/share/applications/flexoptix-app.desktop \
-      --replace 'Exec=AppRun' "Exec=$out/bin/${pname}"
+      --replace 'Exec=AppRun' "Exec=$out/bin/${pname} --"
+
+    # Add udev rules
     mkdir -p $out/lib/udev/rules.d
     ln -s ${udevRules} $out/lib/udev/rules.d/99-tprogrammer.rules
   '';
diff --git a/nixpkgs/pkgs/tools/misc/fontforge/default.nix b/nixpkgs/pkgs/tools/misc/fontforge/default.nix
index 5f64057c46c3..0f66fa55acad 100644
--- a/nixpkgs/pkgs/tools/misc/fontforge/default.nix
+++ b/nixpkgs/pkgs/tools/misc/fontforge/default.nix
@@ -7,7 +7,7 @@
 , withGUI ? withGTK
 , withPython ? true
 , withExtras ? true
-, Carbon ? null, Cocoa ? null
+, Carbon, Cocoa
 }:
 
 assert withGTK -> withGUI;
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
     readline uthash woff2 zeromq libuninameslist
     python freetype zlib glib giflib libpng libjpeg libtiff libxml2
   ]
-    ++ lib.optionals withSpiro [libspiro]
+    ++ lib.optionals withSpiro [ libspiro ]
     ++ lib.optionals withGUI [ gtk3 cairo pango ]
     ++ lib.optionals stdenv.isDarwin [ Carbon Cocoa ];
 
@@ -71,11 +71,11 @@ stdenv.mkDerivation rec {
       rm -r "$out/share/fontforge/python"
     '';
 
-  meta = {
+  meta = with lib; {
     description = "A font editor";
-    homepage = "http://fontforge.github.io";
-    platforms = lib.platforms.all;
-    license = lib.licenses.bsd3;
-    maintainers = [ lib.maintainers.erictapen ];
+    homepage = "https://fontforge.github.io";
+    platforms = platforms.all;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.erictapen ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/fwup/default.nix b/nixpkgs/pkgs/tools/misc/fwup/default.nix
index 69b76cf648d8..f58b73a47233 100644
--- a/nixpkgs/pkgs/tools/misc/fwup/default.nix
+++ b/nixpkgs/pkgs/tools/misc/fwup/default.nix
@@ -21,13 +21,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fwup";
-  version = "1.8.4";
+  version = "1.9.0";
 
   src = fetchFromGitHub {
     owner = "fhunleth";
     repo = "fwup";
     rev = "v${version}";
-    sha256 = "sha256-NaSA3mFWf3C03SAGssMqLT0vr5KMfxD5y/iragGNKjw=";
+    sha256 = "sha256-ARwBm9p6o/iC09F6pc5c4qq3WClNTyAvLPsG58YQOAM=";
   };
 
   nativeBuildInputs = [
@@ -59,7 +59,7 @@ stdenv.mkDerivation rec {
     xdelta
   ];
 
-  doCheck = true;
+  doCheck = !stdenv.isDarwin;
 
   meta = with lib; {
     description = "Configurable embedded Linux firmware update creator and runner";
diff --git a/nixpkgs/pkgs/tools/misc/fzf/default.nix b/nixpkgs/pkgs/tools/misc/fzf/default.nix
index 3ef5a643259c..d38a0ad71377 100644
--- a/nixpkgs/pkgs/tools/misc/fzf/default.nix
+++ b/nixpkgs/pkgs/tools/misc/fzf/default.nix
@@ -19,8 +19,8 @@ buildGoModule rec {
 
   buildInputs = [ ncurses ];
 
-  buildFlagsArray = [
-    "-ldflags=-s -w -X main.version=${version} -X main.revision=${src.rev}"
+  ldflags = [
+    "-s" "-w" "-X main.version=${version} -X main.revision=${src.rev}"
   ];
 
   # The vim plugin expects a relative path to the binary; patch it to abspath.
diff --git a/nixpkgs/pkgs/tools/misc/geekbench/default.nix b/nixpkgs/pkgs/tools/misc/geekbench/default.nix
index 17e67c0bc75e..5ccdf2e2feba 100644
--- a/nixpkgs/pkgs/tools/misc/geekbench/default.nix
+++ b/nixpkgs/pkgs/tools/misc/geekbench/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "geekbench";
-  version = "5.3.2";
+  version = "5.4.1";
 
   src = fetchurl {
     url = "https://cdn.geekbench.com/Geekbench-${version}-Linux.tar.gz";
-    sha256 = "sha256-SdmcyOgK8k07pkjOVWLbNj36ktJnkQWJ8ObPiMgcMYk=";
+    sha256 = "sha256-0Pg9bHQwWElW4B3oRco5F2FsaEeLC0ZXx7J+hl7dc3Y=";
   };
 
   dontConfigure = true;
diff --git a/nixpkgs/pkgs/tools/misc/gh-ost/default.nix b/nixpkgs/pkgs/tools/misc/gh-ost/default.nix
index 2e2d8ccfc14f..16594f898b97 100644
--- a/nixpkgs/pkgs/tools/misc/gh-ost/default.nix
+++ b/nixpkgs/pkgs/tools/misc/gh-ost/default.nix
@@ -13,7 +13,7 @@ buildGoPackage rec {
 
   goPackagePath = "github.com/github/gh-ost";
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.AppVersion=${version} -X main.BuildDescribe=${src.rev}" ];
+  ldflags = [ "-s" "-w" "-X main.AppVersion=${version}" "-X main.BuildDescribe=${src.rev}" ];
 
   meta = with lib; {
     description = "Triggerless online schema migration solution for MySQL";
diff --git a/nixpkgs/pkgs/tools/misc/git-town/default.nix b/nixpkgs/pkgs/tools/misc/git-town/default.nix
index 88d62b896df7..18f251fb7208 100644
--- a/nixpkgs/pkgs/tools/misc/git-town/default.nix
+++ b/nixpkgs/pkgs/tools/misc/git-town/default.nix
@@ -12,7 +12,7 @@ buildGoPackage rec {
     sha256 = "sha256-RmLDlTK+JO2KRLuLvO927W3WYdDlteBIpgTgDXh8lC8=";
   };
 
-  buildFlagsArray = [ "-ldflags=-X github.com/git-town/git-town/src/cmd.version=v${version} -X github.com/git-town/git-town/src/cmd.buildDate=nix" ];
+  ldflags = [ "-X github.com/git-town/git-town/src/cmd.version=v${version}" "-X github.com/git-town/git-town/src/cmd.buildDate=nix" ];
 
   meta = with lib; {
     description = "Generic, high-level git support for git-flow workflows";
@@ -21,4 +21,3 @@ buildGoPackage rec {
     license = licenses.mit;
   };
 }
-
diff --git a/nixpkgs/pkgs/tools/misc/goreleaser/default.nix b/nixpkgs/pkgs/tools/misc/goreleaser/default.nix
index 5e805920b68a..e26509dd11dd 100644
--- a/nixpkgs/pkgs/tools/misc/goreleaser/default.nix
+++ b/nixpkgs/pkgs/tools/misc/goreleaser/default.nix
@@ -2,19 +2,18 @@
 
 buildGoModule rec {
   pname = "goreleaser";
-  version = "0.173.2";
+  version = "0.176.0";
 
   src = fetchFromGitHub {
     owner = "goreleaser";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-X7Tj50A0CwkGUyKGsCj6LBAlNZwMhFk/gDEgG1KNjx0=";
+    sha256 = "sha256-7xqzt/QJOkZLVY3MbBf7QYBrEgO500ft6ahvngaw9rs=";
   };
 
-  vendorSha256 = "sha256-yX8Ffdzq22JHA2owtHurH8AEgqPgPjz+N06oD5ZiZmM=";
+  vendorSha256 = "sha256-xdK98JWfxvufewcXiMjo6hslFrCbmWrgTAwJM7f00n4=";
 
-  buildFlagsArray = [
-    "-ldflags="
+  ldflags = [
     "-s"
     "-w"
     "-X main.version=${version}"
diff --git a/nixpkgs/pkgs/tools/misc/goss/default.nix b/nixpkgs/pkgs/tools/misc/goss/default.nix
index bbe947ecd120..c4396bfae9fb 100644
--- a/nixpkgs/pkgs/tools/misc/goss/default.nix
+++ b/nixpkgs/pkgs/tools/misc/goss/default.nix
@@ -14,9 +14,9 @@ buildGoModule rec {
   vendorSha256 = "1lyqjkwj8hybj5swyrv6357hs8sxmf4wim0c8yhfb9mv7fsxhrv7";
 
   CGO_ENABLED = 0;
-  preBuild = ''
-    buildFlagsArray+=("-ldflags" "-s -w -X main.version=v${version}")
-  '';
+  ldflags = [
+    "-s" "-w" "-X main.version=v${version}"
+  ];
 
   meta = with lib; {
     homepage = "https://github.com/aelsabbahy/goss/";
diff --git a/nixpkgs/pkgs/tools/misc/gotify-cli/default.nix b/nixpkgs/pkgs/tools/misc/gotify-cli/default.nix
index 36a7055f875c..05a93b44b94e 100644
--- a/nixpkgs/pkgs/tools/misc/gotify-cli/default.nix
+++ b/nixpkgs/pkgs/tools/misc/gotify-cli/default.nix
@@ -19,8 +19,8 @@ buildGoModule rec {
     mv $out/bin/cli $out/bin/gotify
   '';
 
-  buildFlagsArray = [
-    "-ldflags=-X main.Version=${version} -X main.Commit=${version} -X main.BuildDate=1970-01-01"
+  ldflags = [
+    "-X main.Version=${version}" "-X main.Commit=${version}" "-X main.BuildDate=1970-01-01"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/misc/graylog/default.nix b/nixpkgs/pkgs/tools/misc/graylog/default.nix
index 8d18d654c72f..729cfbc283f9 100644
--- a/nixpkgs/pkgs/tools/misc/graylog/default.nix
+++ b/nixpkgs/pkgs/tools/misc/graylog/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "graylog";
-  version = "4.0.7";
+  version = "3.3.14";
 
   src = fetchurl {
     url = "https://packages.graylog2.org/releases/graylog/graylog-${version}.tgz";
-    sha256 = "sha256-sZn/ug4oh/SHbICbiQeAmtEIwT3++DBWbT2XBkYGYUc=";
+    sha256 = "04dslbvgrraacsw7wydbiv8jc753as2g54wn9sgh3lsryvzrfqfa";
   };
 
   dontBuild = true;
diff --git a/nixpkgs/pkgs/tools/misc/grc/default.nix b/nixpkgs/pkgs/tools/misc/grc/default.nix
index e47ea74bbe98..bb44c800a312 100644
--- a/nixpkgs/pkgs/tools/misc/grc/default.nix
+++ b/nixpkgs/pkgs/tools/misc/grc/default.nix
@@ -2,14 +2,14 @@
 
 buildPythonApplication rec {
   pname = "grc";
-  version = "1.12";
+  version = "1.13";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "garabik";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-XJj1j6sDt0iL3U6uMbB1j0OfpXRdP+x66gc6sKxrQIA=";
+    sha256 = "1h0h88h484a9796hai0wasi1xmjxxhpyxgixn6fgdyc5h69gv8nl";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/tools/misc/hdf5/default.nix b/nixpkgs/pkgs/tools/misc/hdf5/default.nix
index 37ebbe630cad..248351272d89 100644
--- a/nixpkgs/pkgs/tools/misc/hdf5/default.nix
+++ b/nixpkgs/pkgs/tools/misc/hdf5/default.nix
@@ -20,11 +20,11 @@ assert !cpp || !mpiSupport;
 let inherit (lib) optional optionals; in
 
 stdenv.mkDerivation rec {
-  version = "1.12.0";
+  version = "1.12.1";
   pname = "hdf5";
   src = fetchurl {
     url = "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-${lib.versions.majorMinor version}/${pname}-${version}/src/${pname}-${version}.tar.bz2";
-    sha256 = "0qazfslkqbmzg495jafpvqp0khws3jkxa0z7rph9qvhacil6544p";
+    sha256 = "sha256-qvn1MrPtqD09Otyfi0Cpt2MVIhj6RTScO8d1Asofjxw=";
   };
 
   passthru = {
diff --git a/nixpkgs/pkgs/tools/misc/hdfview/default.nix b/nixpkgs/pkgs/tools/misc/hdfview/default.nix
index 8537e5748c30..b33fee8e0b52 100644
--- a/nixpkgs/pkgs/tools/misc/hdfview/default.nix
+++ b/nixpkgs/pkgs/tools/misc/hdfview/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "hdfview";
-  version = "3.1.2";
+  version = "3.1.3";
 
   src = fetchurl {
     url = "https://support.hdfgroup.org/ftp/HDF5/releases/HDF-JAVA/${pname}-${version}/src/${pname}-${version}.tar.gz";
-    sha256 = "0kyw9i3f817z71l0ak7shl0wqxasz9h5fl05mklyapa7cj27637c";
+    sha256 = "sha256-VmgHSVMFoy09plU5pSnyaPz8N15toy7QfCtXI7mqDGY=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/misc/infracost/default.nix b/nixpkgs/pkgs/tools/misc/infracost/default.nix
index 3d91dd6d9abb..43dcbc4a74fc 100644
--- a/nixpkgs/pkgs/tools/misc/infracost/default.nix
+++ b/nixpkgs/pkgs/tools/misc/infracost/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "infracost";
-  version = "0.9.4";
+  version = "0.9.6";
 
   src = fetchFromGitHub {
     owner = "infracost";
     rev = "v${version}";
     repo = "infracost";
-    sha256 = "sha256-OQwMO9bhPK+Wjob8rAFYJQRpAYf1bPdRi2BjETjpSpE=";
+    sha256 = "sha256-lcvpNhfSgr8ky03sTo7kjnaLUJeIrzFqpYUjvQpT1Po=";
   };
-  vendorSha256 = "sha256-zMEtVPyzwW4SrbpydDFDqgHEC0/khkrSxlEnQ5I0he8=";
+  vendorSha256 = "sha256-TKs3xuZaO9PvlAcV5GDa3Jb36zeVWX3LcdcPxWR6KzE=";
 
   ldflags = [ "-s" "-w" "-X github.com/infracost/infracost/internal/version.Version=v${version}" ];
 
diff --git a/nixpkgs/pkgs/tools/misc/interactsh/default.nix b/nixpkgs/pkgs/tools/misc/interactsh/default.nix
new file mode 100644
index 000000000000..b623faea39fb
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/interactsh/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "interactsh";
+  version = "0.0.4";
+
+  src = fetchFromGitHub {
+    owner = "projectdiscovery";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-9tmEeYuMRZVkcUupBzJv3rCuy7Il46yh5i0UEUNCNtc=";
+  };
+
+  vendorSha256 = "sha256-YTzo8YjnJUNXZrYKYTCHOgZAUrMlYzbEEP3yXYfNZqo=";
+
+  modRoot = ".";
+  subPackages = [
+    "cmd/interactsh-client"
+    "cmd/interactsh-server"
+  ];
+
+  # Test files are not part of the release tarball
+  doCheck = false;
+
+  meta = with lib; {
+    description = "An Out of bounds interaction gathering server and client library";
+    longDescription = ''
+      Interactsh is an Open-Source Solution for Out of band Data Extraction,
+      A tool designed to detect bugs that cause external interactions,
+      For example - Blind SQLi, Blind CMDi, SSRF, etc.
+    '';
+    homepage = "https://github.com/projectdiscovery/interactsh";
+    license = licenses.mit;
+    maintainers = with maintainers; [ hanemile ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/kepubify/default.nix b/nixpkgs/pkgs/tools/misc/kepubify/default.nix
index b1ece43154fe..a53ff544ad19 100644
--- a/nixpkgs/pkgs/tools/misc/kepubify/default.nix
+++ b/nixpkgs/pkgs/tools/misc/kepubify/default.nix
@@ -2,19 +2,19 @@
 
 buildGoModule rec {
   pname = "kepubify";
-  version = "4.0.0";
+  version = "4.0.1";
 
   src = fetchFromGitHub {
     owner = "pgaskin";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Mxe43U0kxkSdAzs+lSJ0x/VspbJPam59DpTpFEJVMl4=";
+    sha256 = "sha256-ZQY5U9uMCwsMl3Ds3bscPYmTt8JdWehOoowb+AmJSbQ=";
   };
 
-  vendorSha256 = "sha256-bLQH7ZY2hE8fBTcW7DNoUQxe4N3m9Mv3JjjKO4cG7DY=";
+  vendorSha256 = "sha256-DcE2MCbH5FIU1UoIF8OF17TfsWS5eQhHnWDEAxy8X6c=";
 
   # remove when built with >= go 1.17
-  buildFlags = [ "-tags" "zip117" ];
+  tags = [ "zip117" ];
 
   ldflags = [ "-s" "-w" "-X main.version=${version}" ];
 
diff --git a/nixpkgs/pkgs/tools/misc/kermit/default.nix b/nixpkgs/pkgs/tools/misc/kermit/default.nix
index 1a561f0bef47..8af0674f54bf 100644
--- a/nixpkgs/pkgs/tools/misc/kermit/default.nix
+++ b/nixpkgs/pkgs/tools/misc/kermit/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation {
   '';
 
   meta = with lib; {
-    homepage = "http://www.kermitproject.org/ck90.html";
+    homepage = "https://www.kermitproject.org/ck90.html";
     description = "Portable Scriptable Network and Serial Communication Software";
     license = licenses.bsd3;
     maintainers = with maintainers; [ pSub ];
diff --git a/nixpkgs/pkgs/tools/misc/less/default.nix b/nixpkgs/pkgs/tools/misc/less/default.nix
index d63861ace331..9c5a4b1568be 100644
--- a/nixpkgs/pkgs/tools/misc/less/default.nix
+++ b/nixpkgs/pkgs/tools/misc/less/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "less";
-  version = "581.2";
+  version = "590";
 
   src = fetchurl {
     url = "https://www.greenwoodsoftware.com/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "0fyqslvrasv19qjvqrwfwz2n7mnm93y61x9bcx09ga90mxyb8d6f";
+    sha256 = "044fl3izmsi8n1vqzsqdp65q0qyyn5kmsg4sk7id0mxzx15zbbba";
   };
 
   configureFlags = [ "--sysconfdir=/etc" ] # Look for ‘sysless’ in /etc.
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     homepage = "https://www.greenwoodsoftware.com/less/";
     description = "A more advanced file pager than ‘more’";
     platforms = platforms.unix;
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     maintainers = with maintainers; [ eelco dtzWill ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/lf/default.nix b/nixpkgs/pkgs/tools/misc/lf/default.nix
index 8aa8e9a663b7..b135ed061dee 100644
--- a/nixpkgs/pkgs/tools/misc/lf/default.nix
+++ b/nixpkgs/pkgs/tools/misc/lf/default.nix
@@ -15,7 +15,7 @@ buildGoModule rec {
 
   nativeBuildInputs = [ installShellFiles ];
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.gVersion=r${version}" ];
+  ldflags = [ "-s" "-w" "-X main.gVersion=r${version}" ];
 
   postInstall = ''
     install -D --mode=444 lf.desktop $out/share/applications/lf.desktop
diff --git a/nixpkgs/pkgs/tools/misc/lifecycled/default.nix b/nixpkgs/pkgs/tools/misc/lifecycled/default.nix
index 1c30b760a9c8..6a9fe05ca731 100644
--- a/nixpkgs/pkgs/tools/misc/lifecycled/default.nix
+++ b/nixpkgs/pkgs/tools/misc/lifecycled/default.nix
@@ -4,16 +4,16 @@
 }:
 buildGoModule rec {
   pname = "lifecycled";
-  version = "3.1.0";
+  version = "3.2.0";
 
   src = fetchFromGitHub {
     owner = "buildkite";
     repo = "lifecycled";
     rev = "v${version}";
-    sha256 = "F9eovZpwbigP0AMdjAIxULPLDC3zO6GxQmPdt5Xvpkk=";
+    sha256 = "sha256-+Ts2ERoEZcBdxMXQlxPVtQe3pst5NXWKU3rmS5CgR7A=";
   };
 
-  vendorSha256 = "q5wYKSLHRzL+UGn29kr8+mUupOPR1zohTscbzjMRCS0=";
+  vendorSha256 = "sha256-q5wYKSLHRzL+UGn29kr8+mUupOPR1zohTscbzjMRCS0=";
 
   postInstall = ''
     mkdir -p $out/lib/systemd/system
diff --git a/nixpkgs/pkgs/tools/misc/linuxquota/default.nix b/nixpkgs/pkgs/tools/misc/linuxquota/default.nix
index 729dc41a107d..fbfb488f9067 100644
--- a/nixpkgs/pkgs/tools/misc/linuxquota/default.nix
+++ b/nixpkgs/pkgs/tools/misc/linuxquota/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchurl, e2fsprogs, openldap, pkg-config }:
 
 stdenv.mkDerivation rec {
-  version = "4.05";
+  version = "4.06";
   pname = "quota";
 
   src = fetchurl {
     url = "mirror://sourceforge/linuxquota/quota-${version}.tar.gz";
-    sha256 = "1fbsrxhhf1ls7i025db7p66yzjr0bqa2c63cni217v8l21fmnfzg";
+    sha256 = "sha256-Lz4DA583jU8Nl6zbSdr1gdyq1k0uHd8SlJX9V5+9Jo0=";
   };
 
   outputs = [ "out" "dev" "doc" "man" ];
diff --git a/nixpkgs/pkgs/tools/misc/lnav/0001-Forcefully-disable-docs-build.patch b/nixpkgs/pkgs/tools/misc/lnav/0001-Forcefully-disable-docs-build.patch
new file mode 100644
index 000000000000..afbec1d7e479
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/lnav/0001-Forcefully-disable-docs-build.patch
@@ -0,0 +1,38 @@
+From 20c3fe76340981c43eeed16a5509480a0f5cb56d Mon Sep 17 00:00:00 2001
+From: Maximilian Bosch <maximilian@mbosch.me>
+Date: Fri, 6 Aug 2021 10:55:01 +0200
+Subject: [PATCH] Forcefully disable docs build
+
+This currently affects the following statement in `src/Makefile.am`
+only:
+
+    if !DISABLE_DOCUMENTATION
+    all-local: lnav
+            if test -w $(srcdir)/internals; then \
+                    env DUMP_INTERNALS_DIR=$(srcdir)/internals DUMP_CRASH=1 ./lnav Makefile; \
+                    mv $(srcdir)/internals/*.schema.json $(top_srcdir)/docs/schemas; \
+            fi
+    endif
+
+We cannot do this (even on non-cross builds) since `lnav` requires e.g.
+`/etc/nsswitch.conf` and other impurities here.
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index ce311fd8..e3c9ebe0 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -287,7 +287,7 @@ AS_IF([test $? -eq 0],
+ 
+ AM_CONDITIONAL(USE_INCLUDED_YAJL, test $HAVE_LOCAL_YAJL -eq 0)
+ AM_CONDITIONAL(HAVE_LIBCURL, test x"$LIBCURL" != x"")
+-AM_CONDITIONAL([DISABLE_DOCUMENTATION], [ test x"$cross_compiling" != x"no" ])
++AM_CONDITIONAL([DISABLE_DOCUMENTATION], [ true ])
+ 
+ AC_CONFIG_HEADERS([src/config.h])
+ AC_CONFIG_FILES([Makefile])
+-- 
+2.31.1
+
diff --git a/nixpkgs/pkgs/tools/misc/lnav/default.nix b/nixpkgs/pkgs/tools/misc/lnav/default.nix
index 373687fafdf1..3cbfb2ad365a 100644
--- a/nixpkgs/pkgs/tools/misc/lnav/default.nix
+++ b/nixpkgs/pkgs/tools/misc/lnav/default.nix
@@ -3,18 +3,25 @@
 
 stdenv.mkDerivation rec {
   pname = "lnav";
-  version = "0.9.0";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "tstack";
     repo = "lnav";
     rev = "v${version}";
-    sha256 = "1frdrr3yjlk2fns3ny0qbr30rpswhwlvv3kyhdl3l6a0q5cqaqsg";
+    sha256 = "sha256-hAFyMypGC065aRgX2L4LdyFGpZ/LnX5SjA2iQv5Iuas=";
   };
 
+  patches = [ ./0001-Forcefully-disable-docs-build.patch ];
+  postPatch = ''
+    substituteInPlace Makefile.am \
+      --replace "SUBDIRS = src test" "SUBDIRS = src"
+  '';
+
+  enableParallelBuilding = true;
+
+  nativeBuildInputs = [ autoconf automake ];
   buildInputs = [
-    autoconf
-    automake
     zlib
     bzip2
     ncurses
@@ -24,10 +31,6 @@ stdenv.mkDerivation rec {
     curl
   ];
 
-  postPatch = ''
-    sed -ie '/DUMP_INTERNALS/d' src/Makefile.am
-  '';
-
   preConfigure = ''
     ./autogen.sh
   '';
diff --git a/nixpkgs/pkgs/tools/misc/logstash/7.x.nix b/nixpkgs/pkgs/tools/misc/logstash/7.x.nix
index 1abc0ff9bf82..c0c67b19b10a 100644
--- a/nixpkgs/pkgs/tools/misc/logstash/7.x.nix
+++ b/nixpkgs/pkgs/tools/misc/logstash/7.x.nix
@@ -1,6 +1,7 @@
 { elk7Version
 , enableUnfree ? true
-, lib, stdenv
+, lib
+, stdenv
 , fetchurl
 , makeWrapper
 , nixosTests
@@ -9,56 +10,69 @@
 
 with lib;
 
-let this = stdenv.mkDerivation rec {
-  version = elk7Version;
-  name = "logstash-${optionalString (!enableUnfree) "oss-"}${version}";
+let
+  info = splitString "-" stdenv.hostPlatform.system;
+  arch = elemAt info 0;
+  plat = elemAt info 1;
+  shas =
+    if enableUnfree
+    then {
+      x86_64-linux = "sha256-5qv4fbFpLf6aduD7wyxXQ6FsCeUqrszRisNBx44vbMY=";
+      x86_64-darwin = "sha256-7H+Xpo8qF1ZZMkR5n92PVplEN4JsBEYar91zHQhE+Lo=";
+    }
+    else {
+      x86_64-linux = "sha256-jiV2yGPwPgZ5plo3ftImVDLSOsk/XBzFkeeALSObLhU=";
+      x86_64-darwin = "sha256-UYG+GGr23eAc2GgNX/mXaGU0WKMjiQMPpD1wUvAVz0A=";
+    };
+  this = stdenv.mkDerivation rec {
+    version = elk7Version;
+    pname = "logstash${optionalString (!enableUnfree) "-oss"}";
 
-  src = fetchurl {
-    url = "https://artifacts.elastic.co/downloads/logstash/${name}.tar.gz";
-    sha256 =
-      if enableUnfree
-      then "01l6alwgsq6yf0z9d08i0hi8g708nph1vm78nl4xbpg8h964bybj"
-      else "0nlwgaw6rmhp5b68zpp1pzsjs30b0bjzdg8f7xy6rarpk338s8yb";
-  };
+    src = fetchurl {
+      url = "https://artifacts.elastic.co/downloads/logstash/${pname}-${version}-${plat}-${arch}.tar.gz";
+      sha256 = shas.${stdenv.hostPlatform.system} or (throw "Unknown architecture");
+    };
 
-  dontBuild         = true;
-  dontPatchELF      = true;
-  dontStrip         = true;
-  dontPatchShebangs = true;
+    dontBuild = true;
+    dontPatchELF = true;
+    dontStrip = true;
+    dontPatchShebangs = true;
 
-  buildInputs = [
-    makeWrapper jre
-  ];
+    buildInputs = [
+      makeWrapper
+      jre
+    ];
 
-  installPhase = ''
-    runHook preInstall
-    mkdir -p $out
-    cp -r {Gemfile*,modules,vendor,lib,bin,config,data,logstash-core,logstash-core-plugin-api} $out
+    installPhase = ''
+      runHook preInstall
+      mkdir -p $out
+      cp -r {Gemfile*,modules,vendor,lib,bin,config,data,logstash-core,logstash-core-plugin-api} $out
 
-    patchShebangs $out/bin/logstash
-    patchShebangs $out/bin/logstash-plugin
+      patchShebangs $out/bin/logstash
+      patchShebangs $out/bin/logstash-plugin
 
-    wrapProgram $out/bin/logstash \
-       --set JAVA_HOME "${jre}"
+      wrapProgram $out/bin/logstash \
+         --set JAVA_HOME "${jre}"
 
-    wrapProgram $out/bin/logstash-plugin \
-       --set JAVA_HOME "${jre}"
-    runHook postInstall
-  '';
+      wrapProgram $out/bin/logstash-plugin \
+         --set JAVA_HOME "${jre}"
+      runHook postInstall
+    '';
 
-  meta = with lib; {
-    description = "Logstash is a data pipeline that helps you process logs and other event data from a variety of systems";
-    homepage    = "https://www.elastic.co/products/logstash";
-    license     = if enableUnfree then licenses.elastic else licenses.asl20;
-    platforms   = platforms.unix;
-    maintainers = with maintainers; [ wjlroe offline basvandijk ];
+    meta = with lib; {
+      description = "Logstash is a data pipeline that helps you process logs and other event data from a variety of systems";
+      homepage = "https://www.elastic.co/products/logstash";
+      license = if enableUnfree then licenses.elastic else licenses.asl20;
+      platforms = platforms.unix;
+      maintainers = with maintainers; [ wjlroe offline basvandijk ];
+    };
+    passthru.tests =
+      optionalAttrs (!enableUnfree) (
+        assert this.drvPath == nixosTests.elk.ELK-7.elkPackages.logstash.drvPath;
+        {
+          elk = nixosTests.elk.ELK-7;
+        }
+      );
   };
-  passthru.tests =
-    optionalAttrs (!enableUnfree) (
-      assert this.drvPath == nixosTests.elk.ELK-7.elkPackages.logstash.drvPath;
-      {
-        elk = nixosTests.elk.ELK-7;
-      }
-    );
-};
-in this
+in
+this
diff --git a/nixpkgs/pkgs/tools/misc/lokalise2-cli/default.nix b/nixpkgs/pkgs/tools/misc/lokalise2-cli/default.nix
index 6c1f1759084e..087a5ce7f9a3 100644
--- a/nixpkgs/pkgs/tools/misc/lokalise2-cli/default.nix
+++ b/nixpkgs/pkgs/tools/misc/lokalise2-cli/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "lokalise2-cli";
-  version = "2.6.4";
+  version = "2.6.7";
 
   src = fetchFromGitHub {
     owner = "lokalise";
     repo = "lokalise-cli-2-go";
     rev = "v${version}";
-    sha256 = "sha256-D/I1I7r3IuDz1MZZrzKVMhdLIZxbN2bYeGmqJVlUU6g=";
+    sha256 = "sha256-p3JvaDDebbIgOvTh0e7yYe3qOXvj1pLSG95hpK62M7s=";
   };
 
-  vendorSha256 = "sha256-iWYlbGeLp/SiF8/OyWGIHJQB1RJjma9/EDc3zOsjNG8=";
+  vendorSha256 = "sha256-KJ8haktP9qoG5QsKnTOkvE8L+SQ9Z6hrsjUeS0wrdLs=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/misc/lrzsz/default.nix b/nixpkgs/pkgs/tools/misc/lrzsz/default.nix
index 55c11b00c93c..09e90ca07940 100644
--- a/nixpkgs/pkgs/tools/misc/lrzsz/default.nix
+++ b/nixpkgs/pkgs/tools/misc/lrzsz/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl }:
+{ lib, stdenv, gettext, fetchurl, fetchpatch }:
 
 stdenv.mkDerivation rec {
   name = "lrzsz-0.12.20";
@@ -8,6 +8,16 @@ stdenv.mkDerivation rec {
     sha256 = "1wcgfa9fsigf1gri74gq0pa7pyajk12m4z69x7ci9c6x9fqkd2y2";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "CVE-2018-10195.patch";
+      url = "https://bugzilla.redhat.com/attachment.cgi?id=79507";
+      sha256 = "0jlh8w0cjaz6k56f0h3a0h4wgc51axmrdn3mdspk7apjfzqcvx3c";
+    })
+  ];
+
+  nativeBuildInputs = [ gettext ];
+
   hardeningDisable = [ "format" ];
 
   configureFlags = [ "--program-transform-name=s/^l//" ];
diff --git a/nixpkgs/pkgs/tools/misc/macchina/default.nix b/nixpkgs/pkgs/tools/misc/macchina/default.nix
index 053240e21190..8b4b897526da 100644
--- a/nixpkgs/pkgs/tools/misc/macchina/default.nix
+++ b/nixpkgs/pkgs/tools/misc/macchina/default.nix
@@ -3,16 +3,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "macchina";
-  version = "0.9.2";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "Macchina-CLI";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256:0d6nqjn2828kk91430yjl6xlwx1j10xhp2i0vv2slm3wv0a4w24x";
+    sha256 = "sha256-ZuQ0FZM77ENAQ57B0oFqFmGqQnFblCP2wJETb47yo1E=";
   };
 
-  cargoSha256 = "sha256:0mjqqd43jj6hxicgjkvmdf966vj5xf0ndibszzwp38zdb5kzshqi";
+  cargoSha256 = "sha256-YwhhOHiQcN8VS1DFTtZGvD2QvNAfPngPm/ZeOxzuDnw=";
 
   nativeBuildInputs = [ installShellFiles ];
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv Foundation ];
diff --git a/nixpkgs/pkgs/tools/misc/maker-panel/default.nix b/nixpkgs/pkgs/tools/misc/maker-panel/default.nix
new file mode 100644
index 000000000000..96c4d6ad61c6
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/maker-panel/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, fetchFromGitHub
+, rustPlatform
+, go-md2man
+, installShellFiles
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "maker-panel";
+  version = "0.12.4";
+
+  src = fetchFromGitHub {
+    owner = "twitchyliquid64";
+    repo = "maker-panel";
+    rev = version;
+    sha256 = "0dlsy0c46781sb652kp80pvga7pzx6xla64axir92fcgg8k803bi";
+  };
+
+  cargoSha256 = "1ar62dn0khlbm47chakrsrxd1y76gpq0sql4g9j7dqqrvkavgd7w";
+
+  nativeBuildInputs = [ go-md2man installShellFiles ];
+
+  postBuild = ''
+    go-md2man --in docs/spec-reference.md --out maker-panel.5
+  '';
+
+  postInstall = ''
+    installManPage maker-panel.5
+  '';
+
+  meta = with lib; {
+    description = "Make mechanical PCBs by combining shapes together.";
+    homepage = "https://github.com/twitchyliquid64/maker-panel";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ twitchyliquid64 ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/markdown-anki-decks/default.nix b/nixpkgs/pkgs/tools/misc/markdown-anki-decks/default.nix
index d74eb84dc340..01a6d2933222 100644
--- a/nixpkgs/pkgs/tools/misc/markdown-anki-decks/default.nix
+++ b/nixpkgs/pkgs/tools/misc/markdown-anki-decks/default.nix
@@ -29,7 +29,10 @@ python3.pkgs.buildPythonApplication rec {
 
   postPatch = ''
     # No API changes.
-    substituteInPlace pyproject.toml --replace 'python-frontmatter = "^0.5.0"' 'python-frontmatter = "^1.0.0"'
+    substituteInPlace pyproject.toml \
+      --replace 'python-frontmatter = "^0.5.0"' 'python-frontmatter = "^1.0.0"' \
+      --replace 'genanki = "^0.10.1"' 'genanki = "^0.11.0"' \
+      --replace 'typer = "^0.3.2"' 'typer = "^0.4.0"'
   '';
 
   # No tests available on Pypi and there is only a failing version assertion test in the repo.
diff --git a/nixpkgs/pkgs/tools/misc/mathpix-snipping-tool/default.nix b/nixpkgs/pkgs/tools/misc/mathpix-snipping-tool/default.nix
index 7e940ee4f77f..a264a107990e 100644
--- a/nixpkgs/pkgs/tools/misc/mathpix-snipping-tool/default.nix
+++ b/nixpkgs/pkgs/tools/misc/mathpix-snipping-tool/default.nix
@@ -1,12 +1,12 @@
 { appimageTools, lib, fetchurl }:
 let
   pname = "mathpix-snipping-tool";
-  version = "03.00.0025";
+  version = "03.00.0050";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://download.mathpix.com/linux/Mathpix_Snipping_Tool-x86_64.v${version}.AppImage";
-    sha256 = "0p39rsmjfz3m5s3k9pmmkqbp8f21s1cwjgspz8m47dq5jjls8ay8";
+    sha256 = "0bf4x6jffiqdss8vwy1qypv75zxi1bfc8rywsgp5qlsjq792plpb";
   };
 
   appimageContents = appimageTools.extract { inherit name src; };
diff --git a/nixpkgs/pkgs/tools/misc/mc/default.nix b/nixpkgs/pkgs/tools/misc/mc/default.nix
index 6cbe693fb604..b9ff4ad33d2c 100644
--- a/nixpkgs/pkgs/tools/misc/mc/default.nix
+++ b/nixpkgs/pkgs/tools/misc/mc/default.nix
@@ -21,11 +21,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mc";
-  version = "4.8.26";
+  version = "4.8.27";
 
   src = fetchurl {
     url = "https://www.midnight-commander.org/downloads/${pname}-${version}.tar.xz";
-    sha256 = "sha256-xt6txQWV8tmiLcbCmanyizk+NYNG6/bKREqEadwWbCc=";
+    sha256 = "sha256-Mb5ZIl/6mSCBbpqLO+CrIloW0Z5Pr0aJDyW9/6AqT/Q=";
   };
 
   nativeBuildInputs = [ pkg-config autoreconfHook unzip ]
@@ -62,6 +62,13 @@ stdenv.mkDerivation rec {
     sed -i -e "s!PKG_CONFIG_PATH=''${PKG_CONFIG_PATH}!PKG_CONFIG_PATH=$(echo "$PKG_CONFIG_PATH" | sed -e 's/./0/g')!" $out/bin/mc
   '';
 
+  postFixup = lib.optionalString (!stdenv.isDarwin) ''
+    # libX11.so is loaded dynamically so autopatch doesn't detect it
+    patchelf \
+      --add-needed ${libX11}/lib/libX11.so \
+      $out/bin/mc
+  '';
+
   meta = with lib; {
     description = "File Manager and User Shell for the GNU Project";
     downloadPage = "https://www.midnight-commander.org/downloads/";
diff --git a/nixpkgs/pkgs/tools/misc/mcfly/default.nix b/nixpkgs/pkgs/tools/misc/mcfly/default.nix
index 6412eaa1f802..0d55da7fdfa4 100644
--- a/nixpkgs/pkgs/tools/misc/mcfly/default.nix
+++ b/nixpkgs/pkgs/tools/misc/mcfly/default.nix
@@ -2,30 +2,21 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mcfly";
-  version = "0.5.6";
+  version = "0.5.9";
 
   src = fetchFromGitHub {
     owner = "cantino";
     repo = "mcfly";
     rev = "v${version}";
-    sha256 = "sha256-x2cED+WEc50RB8BxiDEm/XnauT1RqqGjSIdL5MMaFBY=";
+    sha256 = "0i3qjgq1b8h3bzc7rxa60kq1yc2im9m6dgzrvial086a1zk8s81r";
   };
 
-  postInstall = ''
-    substituteInPlace mcfly.bash --replace '$(which mcfly)' $out/bin/mcfly
-    substituteInPlace mcfly.zsh  --replace '$(which mcfly)' $out/bin/mcfly
-    substituteInPlace mcfly.fish --replace '(which mcfly)' $out/bin/mcfly
-    install -Dm644 -t $out/share/mcfly mcfly.bash
-    install -Dm644 -t $out/share/mcfly mcfly.zsh
-    install -Dm644 -t $out/share/mcfly mcfly.fish
-  '';
-
-  cargoSha256 = "sha256-7RKewz5jBS2HhHvXHBUWaQQ/wq9nryS9E+DqzBOVjPs=";
+  cargoSha256 = "084v4fsdi25ahz068ssq29z7d5d3k3jh3s8b07irwybdsy18c629";
 
   meta = with lib; {
     homepage = "https://github.com/cantino/mcfly";
     description = "An upgraded ctrl-r for Bash whose history results make sense for what you're working on right now";
-    changelog = "https://github.com/cantino/mcfly/blob/v${version}/CHANGELOG.txt";
+    changelog = "https://github.com/cantino/mcfly/raw/v${version}/CHANGELOG.txt";
     license = licenses.mit;
     maintainers = [ maintainers.melkor333 ];
   };
diff --git a/nixpkgs/pkgs/tools/misc/mdbtools/default.nix b/nixpkgs/pkgs/tools/misc/mdbtools/default.nix
index b25a850311e3..7eb57863575f 100644
--- a/nixpkgs/pkgs/tools/misc/mdbtools/default.nix
+++ b/nixpkgs/pkgs/tools/misc/mdbtools/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mdbtools";
-  version = "0.9.3";
+  version = "0.9.4";
 
   src = fetchFromGitHub {
     owner = "mdbtools";
     repo = "mdbtools";
     rev = "v${version}";
-    sha256 = "11cv7hh8j8akpgm1a6pp7im6iacpgx6wzcg9n9rmb41j0fgxamdf";
+    sha256 = "sha256-Hnub8h0a3qx5cxVn1tp/IVbz9aORjGGWizD3Z4rPl2s=";
   };
 
   configureFlags = [ "--disable-scrollkeeper" ];
diff --git a/nixpkgs/pkgs/tools/misc/mdr/default.nix b/nixpkgs/pkgs/tools/misc/mdr/default.nix
new file mode 100644
index 000000000000..095e7f35feba
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/mdr/default.nix
@@ -0,0 +1,30 @@
+{ lib, fetchFromGitHub, buildGoModule }:
+
+buildGoModule rec {
+  pname = "mdr";
+  version = "0.2.5";
+
+  src = fetchFromGitHub {
+    owner = "MichaelMure";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-ibM3303pXnseAFP9qFTOzj0G/SxRPX+UeRfbJ+MCABk=";
+  };
+
+  vendorSha256 = "sha256-5jzU4EybEGKoEXCFhnu7z4tFRS9fgf2wJXhkvigRM0E=";
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X main.GitCommit=${src.rev}"
+    "-X main.GitLastTag=${version}"
+    "-X main.GitExactTag=${version}"
+  ];
+
+  meta = with lib; {
+    description = "MarkDown Renderer for the terminal";
+    homepage = "https://github.com/MichaelMure/mdr";
+    license = licenses.mit;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/me_cleaner/default.nix b/nixpkgs/pkgs/tools/misc/me_cleaner/default.nix
index 308b69c9d744..f5e8f1524737 100644
--- a/nixpkgs/pkgs/tools/misc/me_cleaner/default.nix
+++ b/nixpkgs/pkgs/tools/misc/me_cleaner/default.nix
@@ -1,6 +1,6 @@
-{ lib, buildPythonPackage, fetchFromGitHub }:
+{ lib, python2, fetchFromGitHub }:
 
-buildPythonPackage rec {
+python2.pkgs.buildPythonPackage rec {
   pname = "me_cleaner";
   version = "1.2";
 
diff --git a/nixpkgs/pkgs/tools/misc/microplane/default.nix b/nixpkgs/pkgs/tools/misc/microplane/default.nix
index 89b0bc4d8b8d..a44ae344bf59 100644
--- a/nixpkgs/pkgs/tools/misc/microplane/default.nix
+++ b/nixpkgs/pkgs/tools/misc/microplane/default.nix
@@ -2,20 +2,20 @@
 
 buildGoModule rec {
   pname = "microplane";
-  version = "0.0.32";
+  version = "0.0.34";
 
   src = fetchFromGitHub {
     owner = "Clever";
     repo = "microplane";
     rev = "v${version}";
-    sha256 = "sha256-QYii/UmYus5hloTUsbVKsw50bSfI4bArUgGzFSK8Cas=";
+    sha256 = "sha256-ZrBkVXRGZp8yGFIBo7sLGvJ8pMQq7Cq0xJiko57z164=";
   };
 
-  vendorSha256 = "sha256-1XtpoGqQ//2ccJdl8E7jnSBQhYoA4/YVBbHeI+OfaR0=";
+  vendorSha256 = "sha256-PqSjSFTVrIsQ065blIxZ9H/ARku6BEcnjboH+0K0G14=";
 
-  buildFlagsArray = ''
-    -ldflags=-s -w -X main.version=${version}
-  '';
+  ldflags = [
+    "-s" "-w" "-X main.version=${version}"
+  ];
 
   postInstall = ''
     ln -s $out/bin/microplane $out/bin/mp
diff --git a/nixpkgs/pkgs/tools/misc/mimeo/default.nix b/nixpkgs/pkgs/tools/misc/mimeo/default.nix
index ea79b8d2f0ff..d8e09e72f735 100644
--- a/nixpkgs/pkgs/tools/misc/mimeo/default.nix
+++ b/nixpkgs/pkgs/tools/misc/mimeo/default.nix
@@ -2,11 +2,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "mimeo";
-  version = "2019.7";
+  version = "2021.2";
 
   src = fetchurl {
     url = "https://xyne.archlinux.ca/projects/mimeo/src/${pname}-${version}.tar.xz";
-    sha256 = "0nzn7qvmpbb17d6q16llnhz1qdmyg718q59ic4gw2rq23cd6q47r";
+    sha256 = "113ip024ggajjdx0l406g6lwypdrddxz6k3640y6lzqjivcgybjf";
   };
 
   buildInputs = [ file desktop-file-utils ];
diff --git a/nixpkgs/pkgs/tools/misc/miniserve/default.nix b/nixpkgs/pkgs/tools/misc/miniserve/default.nix
index 98fb83357888..64fdb40f52a8 100644
--- a/nixpkgs/pkgs/tools/misc/miniserve/default.nix
+++ b/nixpkgs/pkgs/tools/misc/miniserve/default.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "miniserve";
-  version = "0.14.0";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "svenstaro";
     repo = "miniserve";
     rev = "v${version}";
-    sha256 = "sha256-Hv1aefuiu7pOlSMUjZLGY6bxVy+6myFH1afZZ5gtmi0=";
+    sha256 = "sha256-hcGpd23CM5r8tq7Wyf4/aJwTCVJ9POmZJHZvIdcF4Qg=";
   };
 
-  cargoSha256 = "sha256-CgiHluc9+5+hKwsC7UZimy1586QBUsj+TVlb2lQRXs0=";
+  cargoSha256 = "sha256-TnafvDbCZhIDnjGJThgYnwFs6O6/RvKFsll3gUh2mjQ=";
 
   nativeBuildInputs = [ installShellFiles pkg-config zlib ];
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ];
diff --git a/nixpkgs/pkgs/tools/misc/mmv-go/default.nix b/nixpkgs/pkgs/tools/misc/mmv-go/default.nix
index 8787e4a838f6..640b0d611e47 100644
--- a/nixpkgs/pkgs/tools/misc/mmv-go/default.nix
+++ b/nixpkgs/pkgs/tools/misc/mmv-go/default.nix
@@ -13,7 +13,7 @@ buildGoModule rec {
 
   vendorSha256 = "0xnrai15ww9lfk02bc9p5ssycwnqkyjj5ch1srh7yvnbw3fakx68";
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.revision=${src.rev}" ];
+  ldflags = [ "-s" "-w" "-X main.revision=${src.rev}" ];
 
   meta = with lib; {
     homepage = "https://github.com/itchyny/mmv";
diff --git a/nixpkgs/pkgs/tools/misc/mrtg/default.nix b/nixpkgs/pkgs/tools/misc/mrtg/default.nix
index e8ebde4ad4d9..ee6c9776c54b 100644
--- a/nixpkgs/pkgs/tools/misc/mrtg/default.nix
+++ b/nixpkgs/pkgs/tools/misc/mrtg/default.nix
@@ -1,24 +1,25 @@
 { lib, stdenv, fetchurl, perl, gd, rrdtool }:
 
 stdenv.mkDerivation rec {
-
-  version = "2.17.7";
   pname = "mrtg";
+  version = "2.17.8";
 
   src = fetchurl {
     url = "https://oss.oetiker.ch/mrtg/pub/${pname}-${version}.tar.gz";
-    sha256 = "1hrjqfi290i936nblwpfzjn6v8d8p69frcrvml206nxiiwkcp54v";
+    sha256 = "sha256-GsLgr2ng7N73VeeYylmDSreKwYXCpe/9t2hcWPLvAbQ=";
   };
 
   buildInputs = [
-    perl gd rrdtool
+    perl
+    gd
+    rrdtool
   ];
 
-  meta = {
+  meta = with lib; {
     description = "The Multi Router Traffic Grapher";
     homepage = "https://oss.oetiker.ch/mrtg/";
-    license = lib.licenses.gpl2;
-    maintainers = [ lib.maintainers.robberer ];
-    platforms = lib.platforms.unix;
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ robberer ];
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/neo-cowsay/default.nix b/nixpkgs/pkgs/tools/misc/neo-cowsay/default.nix
index 4ed1bd51696c..e6e95968a09f 100644
--- a/nixpkgs/pkgs/tools/misc/neo-cowsay/default.nix
+++ b/nixpkgs/pkgs/tools/misc/neo-cowsay/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "neo-cowsay";
-  version = "1.0.1";
+  version = "1.0.3";
 
   src = fetchFromGitHub {
     owner = "Code-Hex";
     repo = "Neo-cowsay";
     rev = "v${version}";
-    sha256 = "0c6lygdqi26mczij41sn8ckc3g6qaakkkh3iasf10a4d07amxci1";
+    sha256 = "sha256-n01C6Z9nV2DDbSqgbOIZTqZAWXo6h4/NJdyFiOCh79A=";
   };
 
-  vendorSha256 = "1clar59x2dvn7yj4fbylby9nrzy8kdixi48hkbmrv8g5l8n0wdl2";
+  vendorSha256 = "sha256-4qMsyNFD2MclsseE+IAaNm5r0wHWdcwLLPsZ0JJ3qpw=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/misc/noti/default.nix b/nixpkgs/pkgs/tools/misc/noti/default.nix
index 9bfc7e259d5b..c964a8872f83 100644
--- a/nixpkgs/pkgs/tools/misc/noti/default.nix
+++ b/nixpkgs/pkgs/tools/misc/noti/default.nix
@@ -16,9 +16,9 @@ buildGoPackage rec {
 
   goPackagePath = "github.com/variadico/noti";
 
-  preBuild = ''
-    buildFlagsArray+=("-ldflags" "-X ${goPackagePath}/internal/command.Version=${version}")
-  '';
+  ldflags = [
+    "-X ${goPackagePath}/internal/command.Version=${version}"
+  ];
 
   postInstall = ''
     install -Dm444 -t $out/share/man/man1 $src/docs/man/*.1
diff --git a/nixpkgs/pkgs/tools/misc/notify/default.nix b/nixpkgs/pkgs/tools/misc/notify/default.nix
index 0d7e6af8363f..8210dac327e6 100644
--- a/nixpkgs/pkgs/tools/misc/notify/default.nix
+++ b/nixpkgs/pkgs/tools/misc/notify/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "notify";
-  version = "0.0.2";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1nlsl4himxs5jv0fcd48jkwjnmn1w3alp0dcm1awmp6702zrsgqj";
+    sha256 = "sha256-grTHSMN4PpsCo5mST6nXE5+u7DewMVJXI3hnNIJdhLs=";
   };
 
-  vendorSha256 = "13dz0sk3561hrixsl1ghr9y0pzap2a8zrlbzzb7zs7550snbdcyg";
+  vendorSha256 = "sha256-BbhDNy3FmnHzAfv3lxPwL2jhp8Opfo0WVFhncfTO/28=";
 
   modRoot = ".";
   subPackages = [
diff --git a/nixpkgs/pkgs/tools/misc/ntfy-webpush/default.nix b/nixpkgs/pkgs/tools/misc/ntfy-webpush/default.nix
new file mode 100644
index 000000000000..27559dabbddf
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/ntfy-webpush/default.nix
@@ -0,0 +1,34 @@
+{ lib, python3Packages, fetchFromGitHub }:
+
+python3Packages.buildPythonPackage rec {
+  pname = "ntfy-webpush";
+  version = "0.1.3";
+
+  src = fetchFromGitHub {
+    owner = "dschep";
+    repo = "ntfy-webpush";
+    rev = "v${version}";
+    sha256 = "1dxlvq3glf8yjkn1hdk89rx1s4fi9ygg46yn866a9v7a5a83zx2n";
+  };
+
+  postPatch = ''
+    # break dependency loop
+    substituteInPlace setup.py \
+      --replace "'ntfy', " ""
+  '';
+
+  propagatedBuildInputs = with python3Packages; [
+    pywebpush
+    py-vapid
+  ];
+
+  # no tests, just a script
+  doCheck = false;
+
+  meta = with lib; {
+    description = "cloudbell webpush notification support for ntfy";
+    homepage = "https://dschep.github.io/ntfy-webpush/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/ntfy/default.nix b/nixpkgs/pkgs/tools/misc/ntfy/default.nix
index e2bb64ef5291..3f85e7f01a4b 100644
--- a/nixpkgs/pkgs/tools/misc/ntfy/default.nix
+++ b/nixpkgs/pkgs/tools/misc/ntfy/default.nix
@@ -22,6 +22,7 @@ python3Packages.buildPythonApplication rec {
     psutil
     matrix-client
     dbus-python
+    ntfy-webpush
   ];
 
   checkPhase = ''
diff --git a/nixpkgs/pkgs/tools/misc/opentelemetry-collector/default.nix b/nixpkgs/pkgs/tools/misc/opentelemetry-collector/default.nix
index 7c730c8c4a57..3250047e0e3d 100644
--- a/nixpkgs/pkgs/tools/misc/opentelemetry-collector/default.nix
+++ b/nixpkgs/pkgs/tools/misc/opentelemetry-collector/default.nix
@@ -1,23 +1,21 @@
 { buildGoModule
 , fetchFromGitHub
-, stdenv
 , lib
 }:
 
 buildGoModule rec {
   pname = "opentelemetry-collector";
-  version = "0.26.0";
+  version = "0.31.0";
 
   src = fetchFromGitHub {
     owner = "open-telemetry";
     repo = "opentelemetry-collector-contrib";
     rev = "v${version}";
-    sha256 = "03713b4bkhcz61maz0r5mkd36kv3rq8rji3qcpi9zf5bkkjs1yzb";
+    sha256 = "sha256-iJL3EFoBtp4UOLm4/b4JBwzK6iZSTE0cb6EzmlziOLk=";
   };
 
-  vendorSha256 = if stdenv.isDarwin
-    then "0anw3l6pq8yys2g2607ndhklb9m1i9krgjrw4wb99igavjzp3wpj"
-    else "04h463d2d7g6wqp5mzkqlszwzdbq0pix6j7n2s9s80lwg7nh8k3h";
+  vendorSha256 = "sha256-LNlglYys4F7+W7PUmBT9cBnYs7y6AlB9wdaDibaxqC0=";
+  proxyVendor = true;
 
   subPackages = [ "cmd/otelcontribcol" ];
 
diff --git a/nixpkgs/pkgs/tools/misc/osm2pgsql/default.nix b/nixpkgs/pkgs/tools/misc/osm2pgsql/default.nix
index 062b49e8bbdc..a0803a36839f 100644
--- a/nixpkgs/pkgs/tools/misc/osm2pgsql/default.nix
+++ b/nixpkgs/pkgs/tools/misc/osm2pgsql/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "osm2pgsql";
-  version = "1.5.0";
+  version = "1.5.1";
 
   src = fetchFromGitHub {
     owner = "openstreetmap";
     repo = pname;
     rev = version;
-    sha256 = "sha256-PHr9wP+DgsiQAvrVNO8Aa/X/dkrAUnlPDwAzSISa0GM=";
+    sha256 = "sha256-0mUGvu5o2MhlriNAUAUoyDrFgTw2weGGbQcBzaauKEQ=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/tools/misc/ostree/default.nix b/nixpkgs/pkgs/tools/misc/ostree/default.nix
index b5c0940910ca..1508e6f93cd6 100644
--- a/nixpkgs/pkgs/tools/misc/ostree/default.nix
+++ b/nixpkgs/pkgs/tools/misc/ostree/default.nix
@@ -41,13 +41,13 @@ let
   ]));
 in stdenv.mkDerivation rec {
   pname = "ostree";
-  version = "2021.1";
+  version = "2021.3";
 
   outputs = [ "out" "dev" "man" "installedTests" ];
 
   src = fetchurl {
     url = "https://github.com/ostreedev/ostree/releases/download/v${version}/libostree-${version}.tar.xz";
-    sha256 = "sha256-kbS9kmSDHSD/AOxELUjt5SbbVTeb2RdgaGPAX0O4WlE=";
+    sha256 = "sha256-D6Wjnww+WMIEATPkIpyyhmDGG5eM1KKj0vbpfvTI0LM=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/tools/misc/parallel/default.nix b/nixpkgs/pkgs/tools/misc/parallel/default.nix
index 0667327d062b..519d928c6952 100644
--- a/nixpkgs/pkgs/tools/misc/parallel/default.nix
+++ b/nixpkgs/pkgs/tools/misc/parallel/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "parallel";
-  version = "20210322";
+  version = "20210722";
 
   src = fetchurl {
     url = "mirror://gnu/parallel/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-mPcbRFojoYu06bzk83S5PmptnezfiSvo0iRZ8iS4VpQ=";
+    sha256 = "0jaa5137sjw2szvmnnslkqv1n3gg2rkkgr71j7hpp5a3q15hjf9j";
   };
 
   outputs = [ "out" "man" "doc" ];
diff --git a/nixpkgs/pkgs/tools/misc/pcb2gcode/default.nix b/nixpkgs/pkgs/tools/misc/pcb2gcode/default.nix
index d7f6a3d87394..48fc7bc32b41 100644
--- a/nixpkgs/pkgs/tools/misc/pcb2gcode/default.nix
+++ b/nixpkgs/pkgs/tools/misc/pcb2gcode/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pcb2gcode";
-  version = "2.3.1";
+  version = "2.4.0";
 
   src = fetchFromGitHub {
     owner = "pcb2gcode";
     repo = "pcb2gcode";
     rev = "v${version}";
-    sha256 = "sha256-blbfpMBe7X3OrNbBiz8fNzKcS/bbViQUTXtdxZpXPBk=";
+    sha256 = "sha256-3VQlYtSi6yWWNuxTlBzvBtkM5hAss47xat+sEW+P79E=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/nixpkgs/pkgs/tools/misc/peep/default.nix b/nixpkgs/pkgs/tools/misc/peep/default.nix
index 6379f24649b3..e77ace41f9c2 100644
--- a/nixpkgs/pkgs/tools/misc/peep/default.nix
+++ b/nixpkgs/pkgs/tools/misc/peep/default.nix
@@ -18,6 +18,6 @@ rustPlatform.buildRustPackage rec {
     description = "The CLI text viewer tool that works like less command on small pane within the terminal window";
     license = licenses.mit;
     homepage = "https://github.com/ryochack/peep";
-    maintainers = with maintainers; [ ma27 ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/pferd/default.nix b/nixpkgs/pkgs/tools/misc/pferd/default.nix
index c964a334553c..5c88ea2349f7 100644
--- a/nixpkgs/pkgs/tools/misc/pferd/default.nix
+++ b/nixpkgs/pkgs/tools/misc/pferd/default.nix
@@ -5,14 +5,14 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "pferd";
-  version = "3.1.0";
+  version = "3.2.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "Garmelon";
     repo = "PFERD";
     rev = "v${version}";
-    sha256 = "08kcl1c8z8qx65dfz5ghmbfqyjgkng4g9ymcnhydiz8j27smkj5d";
+    sha256 = "0r75a128r8ghrccc1flmpxblfrab5kg6fypzrlfmv2aqhkqg1brb";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/nixpkgs/pkgs/tools/misc/pgcenter/default.nix b/nixpkgs/pkgs/tools/misc/pgcenter/default.nix
index e1fed81b2db6..ac1c0bd356d2 100644
--- a/nixpkgs/pkgs/tools/misc/pgcenter/default.nix
+++ b/nixpkgs/pkgs/tools/misc/pgcenter/default.nix
@@ -2,20 +2,20 @@
 
 buildGoModule rec {
   pname = "pgcenter";
-  version = "0.9.1";
+  version = "0.9.2";
 
   src = fetchFromGitHub {
     owner  = "lesovsky";
     repo   = "pgcenter";
     rev    = "v${version}";
-    sha256 = "18s102hv6qqlx0nra91srdlb5fyv6x3hwism6c2r6zbxh68pgsag";
+    sha256 = "sha256-xaY01T12/5Peww9scRgfc5yHj7QA8BEwOK5l6OedziY=";
   };
 
-  vendorSha256 = "0mgq9zl56wlr37dxxa1sh53wfkhrl9ybjvxj5y9djspqkp4j45pn";
+  vendorSha256 = "sha256-9hYiyZ34atmSL7JvuXyiGU7HR4E6qN7bGZlyU+hP+FU=";
 
   subPackages = [ "cmd" ];
 
-  buildFlagsArray = [ "-ldflags=-w -s -X main.gitTag=${src.rev} -X main.gitCommit=${src.rev} -X main.gitBranch=master" ];
+  ldflags = [ "-w" "-s" "-X main.gitTag=${src.rev}" "-X main.gitCommit=${src.rev}" "-X main.gitBranch=master" ];
 
   postInstall = ''
     mv $out/bin/cmd $out/bin/pgcenter
diff --git a/nixpkgs/pkgs/tools/misc/pgmetrics/default.nix b/nixpkgs/pkgs/tools/misc/pgmetrics/default.nix
index 54e7093747bf..c5a240f714ea 100644
--- a/nixpkgs/pkgs/tools/misc/pgmetrics/default.nix
+++ b/nixpkgs/pkgs/tools/misc/pgmetrics/default.nix
@@ -2,20 +2,20 @@
 
 buildGoModule rec {
   pname = "pgmetrics";
-  version = "1.10.5";
+  version = "1.11.0";
 
   src = fetchFromGitHub {
     owner  = "rapidloop";
     repo   = pname;
     rev    = "v${version}";
-    sha256 = "sha256-rqaK94Rw0K1+r7+7jHI2bzBupCGTkokeC4heJ3Yu6pQ=";
+    sha256 = "sha256-8E4rciuoZrj8Oz2EXqtFgrPxvb8GJO3n1s2FpXrR0Q0=";
   };
 
-  vendorSha256 = "sha256-5f2hkOgAE4TrHNz7xx1RU9fozxjFZAl4HilhAqsbo5s=";
+  vendorSha256 = "sha256-scaaRjaDE/RG6Ei83CJBkfQCd1e5pH/Cs2vEbdl9Oyg=";
 
   doCheck = false;
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
+  ldflags = [ "-s" "-w" "-X main.version=${version}" ];
 
   meta = with lib; {
     homepage = "https://pgmetrics.io/";
diff --git a/nixpkgs/pkgs/tools/misc/phoronix-test-suite/tests.nix b/nixpkgs/pkgs/tools/misc/phoronix-test-suite/tests.nix
index 06bd9def9aa6..85249c1242ff 100644
--- a/nixpkgs/pkgs/tools/misc/phoronix-test-suite/tests.nix
+++ b/nixpkgs/pkgs/tools/misc/phoronix-test-suite/tests.nix
@@ -4,7 +4,7 @@ let
   inherit (phoronix-test-suite) pname version;
 in
 
-runCommand "${pname}-tests" { meta.timeout = 3; }
+runCommand "${pname}-tests" { meta.timeout = 60; }
   ''
     # automatic initial setup to prevent interactive questions
     ${phoronix-test-suite}/bin/phoronix-test-suite enterprise-setup >/dev/null
diff --git a/nixpkgs/pkgs/tools/misc/pick/default.nix b/nixpkgs/pkgs/tools/misc/pick/default.nix
index a8203978feea..9a6c6881f7df 100644
--- a/nixpkgs/pkgs/tools/misc/pick/default.nix
+++ b/nixpkgs/pkgs/tools/misc/pick/default.nix
@@ -1,19 +1,19 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, ncurses, pkg-config }:
+{ lib, stdenv, fetchFromGitHub, ncurses }:
 
 stdenv.mkDerivation rec {
   pname = "pick";
-  version = "2.0.2";
+  version = "4.0.0";
 
   src = fetchFromGitHub {
-    owner = "calleerlandsson";
+    owner = "mptre";
     repo = "pick";
     rev = "v${version}";
-    sha256 = "0wm3220gqrwldiq0rjdraq5mw3i7d58zwzls8234sx9maf59h0k0";
+    sha256 = "8cgt5KpLfnLwhucn4DQYC/7ot1u24ahJxWG+/1SL584=";
   };
 
   buildInputs = [ ncurses ];
 
-  nativeBuildInputs = [ autoreconfHook pkg-config ];
+  PREFIX = placeholder "out";
 
   meta = with lib; {
     inherit (src.meta) homepage;
diff --git a/nixpkgs/pkgs/tools/misc/pipelight/default.nix b/nixpkgs/pkgs/tools/misc/pipelight/default.nix
index 96027677fa86..a5a5b727a8de 100644
--- a/nixpkgs/pkgs/tools/misc/pipelight/default.nix
+++ b/nixpkgs/pkgs/tools/misc/pipelight/default.nix
@@ -21,7 +21,10 @@ in stdenv.mkDerivation rec {
 
   NIX_CFLAGS_COMPILE = [ "-fpermissive" ];
 
-  patches = [ ./pipelight.patch ];
+  patches = [
+    ./pipelight.patch
+    ./wine-6.13-new-args.patch
+  ];
 
   configurePhase = ''
     patchShebangs .
diff --git a/nixpkgs/pkgs/tools/misc/pipelight/wine-6.13-new-args.patch b/nixpkgs/pkgs/tools/misc/pipelight/wine-6.13-new-args.patch
new file mode 100644
index 000000000000..b67af621f64f
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/pipelight/wine-6.13-new-args.patch
@@ -0,0 +1,42 @@
+diff --git a/src/windows/pluginloader/apihook.c b/src/windows/pluginloader/apihook.c
+index 80bf726..6b80f70 100644
+--- a/src/windows/pluginloader/apihook.c
++++ b/src/windows/pluginloader/apihook.c
+@@ -42,7 +42,9 @@
+ #include "common/common.h"
+ #include "pluginloader.h"
+ 
++#define new cnew
+ #include <windows.h>							// for PVOID and other types
++#undef new
+ #include <string.h>								// for memset
+ 
+ void* patchDLLExport(PVOID ModuleBase, const char* functionName, void* newFunctionPtr){
+diff --git a/src/windows/pluginloader/npnfunctions.c b/src/windows/pluginloader/npnfunctions.c
+index e4e38aa..19f29d5 100644
+--- a/src/windows/pluginloader/npnfunctions.c
++++ b/src/windows/pluginloader/npnfunctions.c
+@@ -41,7 +41,9 @@
+ #include "common/common.h"
+ #include "pluginloader.h"
+ 
++#define new cnew
+ #include <windows.h>
++#undef new
+ 
+ /* Shockwave sometimes calls the function with a wrong instance? Is this a wine bug? */
+ NPP shockwaveInstanceBug = NULL;
+diff --git a/src/windows/pluginloader/pluginloader.c b/src/windows/pluginloader/pluginloader.c
+index 8f1170a..99dbceb 100644
+--- a/src/windows/pluginloader/pluginloader.c
++++ b/src/windows/pluginloader/pluginloader.c
+@@ -50,7 +50,9 @@
+ #include "pluginloader.h"
+ #include "apihook.h"
+ 
++#define new cnew
+ #include <windows.h>
++#undef new
+ #include <objbase.h>							// for CoInitializeEx
+ #include <GL/gl.h>
+ 
diff --git a/nixpkgs/pkgs/tools/misc/pistol/default.nix b/nixpkgs/pkgs/tools/misc/pistol/default.nix
index 52c83abdf688..6d91a54e56dc 100644
--- a/nixpkgs/pkgs/tools/misc/pistol/default.nix
+++ b/nixpkgs/pkgs/tools/misc/pistol/default.nix
@@ -35,7 +35,7 @@ buildGoModule rec {
     installManPage pistol.1
   '';
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.Version=${version}" ];
+  ldflags = [ "-s" "-w" "-X main.Version=${version}" ];
 
   meta = with lib; {
     description = "General purpose file previewer designed for Ranger, Lf to make scope.sh redundant";
diff --git a/nixpkgs/pkgs/tools/misc/piston-cli/default.nix b/nixpkgs/pkgs/tools/misc/piston-cli/default.nix
index 5e1ca0242bc6..6f40c08dd163 100644
--- a/nixpkgs/pkgs/tools/misc/piston-cli/default.nix
+++ b/nixpkgs/pkgs/tools/misc/piston-cli/default.nix
@@ -9,7 +9,7 @@ python3Packages.buildPythonApplication rec {
     sha256 = "qvDGVJcaMXUajdUQWl4W1dost8k0PsS9XX/o8uQrtfY=";
   };
 
-  propagatedBuildInputs = with python3Packages; [ rich prompt_toolkit requests pygments pyyaml more-itertools ];
+  propagatedBuildInputs = with python3Packages; [ rich prompt-toolkit requests pygments pyyaml more-itertools ];
 
   checkPhase = ''
     $out/bin/piston --help > /dev/null
diff --git a/nixpkgs/pkgs/tools/misc/plantuml/default.nix b/nixpkgs/pkgs/tools/misc/plantuml/default.nix
index 270a9ef8641d..304649a86bee 100644
--- a/nixpkgs/pkgs/tools/misc/plantuml/default.nix
+++ b/nixpkgs/pkgs/tools/misc/plantuml/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchurl, makeWrapper, jre, graphviz }:
 
 stdenv.mkDerivation rec {
-  version = "1.2021.7";
+  version = "1.2021.9";
   pname = "plantuml";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/plantuml/${version}/plantuml.${version}.jar";
-    sha256 = "sha256-2hQIwUpkxLHGG+kx8AekSKJ1qO8inL8xnko0dlLC1Kg=";
+    sha256 = "sha256-ezyQGrJwMl2Tqv14GSQzApdDqg1RV8OWdnp4K8a1A5k=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/tools/misc/profile-cleaner/default.nix b/nixpkgs/pkgs/tools/misc/profile-cleaner/default.nix
index 59bbe2c2ab1f..0a50ff49f653 100644
--- a/nixpkgs/pkgs/tools/misc/profile-cleaner/default.nix
+++ b/nixpkgs/pkgs/tools/misc/profile-cleaner/default.nix
@@ -1,14 +1,14 @@
 { lib, stdenv, fetchFromGitHub, makeWrapper, parallel, sqlite, bc, file }:
 
 stdenv.mkDerivation rec {
-  version = "2.41";
+  version = "2.42";
   pname = "profile-cleaner";
 
   src = fetchFromGitHub {
     owner = "graysky2";
     repo = "profile-cleaner";
     rev = "v${version}";
-    sha256 = "11sjf4j9dr6ih9jkg6vqq6gkfg6wly4182bi1008bsm1zdmm5iz7";
+    sha256 = "1d94lp91i4y896vyc7fc3ysha700cwzsdjmmmwlm6h2zp652c73y";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/tools/misc/pspg/default.nix b/nixpkgs/pkgs/tools/misc/pspg/default.nix
index ff4e15c9cc86..4ac9d972a9a7 100644
--- a/nixpkgs/pkgs/tools/misc/pspg/default.nix
+++ b/nixpkgs/pkgs/tools/misc/pspg/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pspg";
-  version = "4.5.0";
+  version = "5.3.4";
 
   src = fetchFromGitHub {
     owner = "okbob";
     repo = pname;
     rev = version;
-    sha256 = "sha256-RWezBNqjKybMtfpxPhDg2ysb4ksKphTPdTNTwCe4pas=";
+    sha256 = "sha256-wju69kC6koYy2yABjx7/rWsuJXV1vjwSBztNlu13TJs=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/nixpkgs/pkgs/tools/misc/qt5ct/default.nix b/nixpkgs/pkgs/tools/misc/qt5ct/default.nix
index 5b88030849d5..00d46de8f96d 100644
--- a/nixpkgs/pkgs/tools/misc/qt5ct/default.nix
+++ b/nixpkgs/pkgs/tools/misc/qt5ct/default.nix
@@ -20,8 +20,6 @@ mkDerivation rec {
     "PLUGINDIR=${placeholder "out"}/${qtbase.qtPluginPrefix}"
   ];
 
-  enableParallelBuilding = true;
-
   meta = with lib; {
     description = "Qt5 Configuration Tool";
     homepage = "https://www.opendesktop.org/content/show.php?content=168066";
diff --git a/nixpkgs/pkgs/tools/misc/recutils/default.nix b/nixpkgs/pkgs/tools/misc/recutils/default.nix
index 5453ab75a4a7..d6a5b517a84e 100644
--- a/nixpkgs/pkgs/tools/misc/recutils/default.nix
+++ b/nixpkgs/pkgs/tools/misc/recutils/default.nix
@@ -1,10 +1,11 @@
 { fetchurl, lib, stdenv, emacs, curl, check, bc }:
 
 stdenv.mkDerivation rec {
-  name = "recutils-1.8";
+  pname = "recutils";
+  version = "1.8";
 
   src = fetchurl {
-    url = "mirror://gnu/recutils/${name}.tar.gz";
+    url = "mirror://gnu/recutils/recutils-${version}.tar.gz";
     sha256 = "14xiln4immfsw8isnvwvq0h23f6z0wilpgsc4qzabnrzb5lsx3nz";
   };
 
diff --git a/nixpkgs/pkgs/tools/misc/remind/default.nix b/nixpkgs/pkgs/tools/misc/remind/default.nix
index d10811ffa049..1ef0ee9dd46f 100644
--- a/nixpkgs/pkgs/tools/misc/remind/default.nix
+++ b/nixpkgs/pkgs/tools/misc/remind/default.nix
@@ -16,11 +16,11 @@ let
 in
 tcl.mkTclDerivation rec {
   pname = "remind";
-  version = "03.03.06";
+  version = "03.03.07";
 
   src = fetchurl {
     url = "https://dianne.skoll.ca/projects/remind/download/remind-${version}.tar.gz";
-    sha256 = "sha256-lpoMAXDJxwODY0/aoo25GRBYWFhE4uf11pR5/ITZX1s=";
+    sha256 = "sha256-h8lOKdHhiVT/XSIkfX7KMHzmIeEdIsFCCPkD9oo7ij0=";
   };
 
   propagatedBuildInputs = tclLibraries;
diff --git a/nixpkgs/pkgs/tools/misc/rlwrap/default.nix b/nixpkgs/pkgs/tools/misc/rlwrap/default.nix
index a78d6f143a12..7766237753f9 100644
--- a/nixpkgs/pkgs/tools/misc/rlwrap/default.nix
+++ b/nixpkgs/pkgs/tools/misc/rlwrap/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rlwrap";
-  version = "0.45";
+  version = "0.45.2";
 
   src = fetchFromGitHub {
     owner = "hanslub42";
     repo = "rlwrap";
     rev = "v${version}";
-    sha256 = "1ppkjdnxrxh99g4xaiaglm5bmp24006rfahci0cn1g7zwilkjy8s";
+    sha256 = "sha256-ubhAOyswdDG0mFKpnSDDq5f7umyCHsW/m721IHdjNMc=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/tools/misc/shadowenv/default.nix b/nixpkgs/pkgs/tools/misc/shadowenv/default.nix
index 1f2d48b86ecb..79075dcc8a21 100644
--- a/nixpkgs/pkgs/tools/misc/shadowenv/default.nix
+++ b/nixpkgs/pkgs/tools/misc/shadowenv/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "shadowenv";
-  version = "2.0.3";
+  version = "2.0.5";
 
   src = fetchFromGitHub {
     owner = "Shopify";
     repo = pname;
     rev = version;
-    sha256 = "1h8hfyxxl4bpx8azzxj0snmzccn6xjd9vc2iyp8i2ar7aiyhf5yd";
+    sha256 = "sha256-MPky0ZB7yfl/gOPThx1BpRoTgvY7mkLaoqnvGKPvSPo=";
   };
 
-  cargoSha256 = "1ixjkb82863z160spylza2a5hk82x0c4wjjnzgakbzgrwv29pai3";
+  cargoSha256 = "sha256-reVw8YkKi+EMDk0Bva2Ugp72VhAYB6axHonkr9Kdos4=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/nixpkgs/pkgs/tools/misc/silicon/default.nix b/nixpkgs/pkgs/tools/misc/silicon/default.nix
index 40586f6be656..ccef6ee293d3 100644
--- a/nixpkgs/pkgs/tools/misc/silicon/default.nix
+++ b/nixpkgs/pkgs/tools/misc/silicon/default.nix
@@ -18,16 +18,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "silicon";
-  version = "0.4.2";
+  version = "0.4.3";
 
   src = fetchFromGitHub {
     owner = "Aloxaf";
     repo = "silicon";
     rev = "v${version}";
-    sha256 = "sha256-k+p8AEEL1BBJTmPc58QoIk7EOzu8QKdG00RQ58EN3bg=";
+    sha256 = "sha256-yhs9BEMMFUtptd0cLsaUW02QZVhztvn8cB0nUqPnO+Y=";
   };
 
-  cargoSha256 = "sha256-vpegobS7lpRkt/oZePW9WggYeg0JXDte8fQP/bf7oAI=";
+  cargoSha256 = "sha256-tj5HPE9EGC7JQ3dyeMPPI0/3r/idrShqfbpnVuaEtDk=";
 
   buildInputs = [ llvmPackages.libclang expat freetype fira-code ]
     ++ lib.optionals stdenv.isLinux [ libxcb ]
diff --git a/nixpkgs/pkgs/tools/misc/smenu/default.nix b/nixpkgs/pkgs/tools/misc/smenu/default.nix
index 1d1ed78b2faf..5ba4164346f6 100644
--- a/nixpkgs/pkgs/tools/misc/smenu/default.nix
+++ b/nixpkgs/pkgs/tools/misc/smenu/default.nix
@@ -1,14 +1,14 @@
 { lib, stdenv, fetchFromGitHub, ncurses }:
 
 stdenv.mkDerivation rec {
-  version = "0.9.17";
+  version = "0.9.18";
   pname = "smenu";
 
   src = fetchFromGitHub {
     owner = "p-gen";
     repo = "smenu";
     rev = "v${version}";
-    sha256 = "1p8y1fgrfb7jxmv5ycvvnqaz7ghdi50paisgzk71169fqwp1crfa";
+    sha256 = "sha256-8ALY3dsUEJxGsDnYTOxNAmJbwmmZIV8GuHjNg0vPFUQ=";
   };
 
   buildInputs = [ ncurses ];
diff --git a/nixpkgs/pkgs/tools/misc/starship/default.nix b/nixpkgs/pkgs/tools/misc/starship/default.nix
index 052e6198d4fb..7ad62ab9d2e0 100644
--- a/nixpkgs/pkgs/tools/misc/starship/default.nix
+++ b/nixpkgs/pkgs/tools/misc/starship/default.nix
@@ -11,13 +11,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "starship";
-  version = "0.56.0";
+  version = "0.57.0";
 
   src = fetchFromGitHub {
     owner = "starship";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0wcldggdavmxajq6dkksdacs5f4729yvxvqiyb9vgalv4akik4yj";
+    sha256 = "sha256-cxTBK6eZTlqEaVfWYARQk6BjNuANy39eaXC6qFs/+6k=";
   };
 
   nativeBuildInputs = [ installShellFiles ] ++ lib.optionals stdenv.isLinux [ pkg-config ];
@@ -32,7 +32,7 @@ rustPlatform.buildRustPackage rec {
     done
   '';
 
-  cargoSha256 = "1ligh5mwids7crf2qh657sdij9fcw7pb3w7vqskpvkyk25h2z6r9";
+  cargoSha256 = "sha256-TFHRDgIxqJCkcSwpdbcx8vguKU1QuTyslmAsRznxt2s=";
 
   preCheck = ''
     HOME=$TMPDIR
diff --git a/nixpkgs/pkgs/tools/misc/staruml/default.nix b/nixpkgs/pkgs/tools/misc/staruml/default.nix
index 847e8bb84282..ab28b8777f44 100644
--- a/nixpkgs/pkgs/tools/misc/staruml/default.nix
+++ b/nixpkgs/pkgs/tools/misc/staruml/default.nix
@@ -1,23 +1,33 @@
 { stdenv, lib, fetchurl, makeWrapper
 , dpkg, patchelf
-, gtk2, glib, gdk-pixbuf, alsa-lib, nss, nspr, GConf, cups, libgcrypt, dbus, systemd
-, libXdamage, expat }:
+, gtk3, glib, systemd
+, xorg, nss, nspr
+, atk, at-spi2-atk, dbus
+, gdk-pixbuf, pango, cairo
+, expat, libdrm, mesa
+, alsa-lib, at-spi2-core, cups }:
 
 let
-  LD_LIBRARY_PATH = lib.makeLibraryPath
-    [ glib gtk2 gdk-pixbuf alsa-lib nss nspr GConf cups libgcrypt dbus libXdamage expat ];
+  LD_LIBRARY_PATH = lib.makeLibraryPath [
+    glib gtk3 xorg.libXdamage
+    xorg.libX11 xorg.libxcb xorg.libXcomposite
+    xorg.libXcursor xorg.libXext xorg.libXfixes
+    xorg.libXi xorg.libXrender xorg.libXtst
+    nss nspr atk at-spi2-atk dbus
+    gdk-pixbuf pango cairo
+    xorg.libXrandr expat libdrm
+    mesa alsa-lib at-spi2-core
+    cups
+  ];
 in
 stdenv.mkDerivation rec {
-  version = "2.8.1";
+  version = "4.0.1";
   pname = "staruml";
 
   src =
-    if stdenv.hostPlatform.system == "i686-linux" then fetchurl {
-      url = "https://s3.amazonaws.com/staruml-bucket/releases-v2/StarUML-v${version}-32-bit.deb";
-      sha256 = "0vb3k9m3l6pmsid4shlk0xdjsriq3gxzm8q7l04didsppg0vvq1n";
-    } else fetchurl {
-      url = "https://s3.amazonaws.com/staruml-bucket/releases-v2/StarUML-v${version}-64-bit.deb";
-      sha256 = "05gzrnlssjkhyh0wv019d4r7p40lxnsa1sghazll6f233yrqmxb0";
+    fetchurl {
+      url = "https://staruml.io/download/releases-v4/StarUML_${version}_amd64.deb";
+      sha256 = "0vxrs5y4a17bnc27fd2k2qc0vi81v677mi55znylwf3a41fjfcir";
     };
 
   nativeBuildInputs = [ makeWrapper dpkg ];
@@ -30,25 +40,24 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     mkdir $out
-    mv opt/staruml $out/bin
+    mv opt/StarUML $out/bin
 
     mkdir -p $out/lib
     ln -s ${stdenv.cc.cc.lib}/lib/libstdc++.so.6 $out/lib/
     ln -s ${lib.getLib systemd}/lib/libudev.so.1 $out/lib/libudev.so.0
 
-    for binary in StarUML Brackets-node; do
-      ${patchelf}/bin/patchelf \
-        --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-        $out/bin/$binary
-      wrapProgram $out/bin/$binary \
-        --prefix LD_LIBRARY_PATH : $out/lib:${LD_LIBRARY_PATH}
-    done
+    patchelf \
+      --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+      $out/bin/staruml
+    wrapProgram $out/bin/staruml \
+      --prefix LD_LIBRARY_PATH : $out/lib:${LD_LIBRARY_PATH}
   '';
 
   meta = with lib; {
     description = "A sophisticated software modeler";
     homepage = "https://staruml.io/";
     license = licenses.unfree;
-    platforms = [ "i686-linux" "x86_64-linux" ];
+    maintainers = with maintainers; [ ];
+    platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/svtplay-dl/default.nix b/nixpkgs/pkgs/tools/misc/svtplay-dl/default.nix
index 5514fd4e30f0..157b0fe63764 100644
--- a/nixpkgs/pkgs/tools/misc/svtplay-dl/default.nix
+++ b/nixpkgs/pkgs/tools/misc/svtplay-dl/default.nix
@@ -8,13 +8,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "svtplay-dl";
-  version = "4.1";
+  version = "4.2";
 
   src = fetchFromGitHub {
     owner = "spaam";
     repo = "svtplay-dl";
     rev = version;
-    sha256 = "0b0q4k5aacw2nna5higr6sk5lsdn62lw2l9lccfy5s3m530banni";
+    sha256 = "1bsinf2r07g8c03mcw4gprl92wmysyaa81s8wyck0c6wdq3hcsnp";
   };
 
   pythonPaths = [ cryptography pyyaml requests ];
diff --git a/nixpkgs/pkgs/tools/misc/systrayhelper/default.nix b/nixpkgs/pkgs/tools/misc/systrayhelper/default.nix
index 03d8e58f8b02..2453191d0cb8 100644
--- a/nixpkgs/pkgs/tools/misc/systrayhelper/default.nix
+++ b/nixpkgs/pkgs/tools/misc/systrayhelper/default.nix
@@ -16,13 +16,13 @@ buildGoPackage rec {
 
   # re date: https://github.com/NixOS/nixpkgs/pull/45997#issuecomment-418186178
   # > .. keep the derivation deterministic. Otherwise, we would have to rebuild it every time.
-  buildFlagsArray = [ ''-ldflags=
-    -X main.version=v${version}
-    -X main.commit=${rev}
-    -X main.date="nix-byrev"
-    -s
-    -w
-  '' ];
+  ldflags = [
+    "-X main.version=v${version}"
+    "-X main.commit=${rev}"
+    "-X main.date=nix-byrev"
+    "-s"
+    "-w"
+  ];
 
   nativeBuildInputs = [ pkg-config libappindicator-gtk3 ];
   buildInputs = [ libappindicator-gtk3 ];
diff --git a/nixpkgs/pkgs/tools/misc/szyszka/default.nix b/nixpkgs/pkgs/tools/misc/szyszka/default.nix
new file mode 100755
index 000000000000..61bc41b269ba
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/szyszka/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, pkg-config
+, glib
+, cairo
+, pango
+, atk
+, gdk-pixbuf
+, gtk3
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "szyszka";
+  version = "2.0.0";
+
+  src = fetchFromGitHub {
+    owner = "qarmin";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-TQwDvkWWlk09kVVaVI56isJi+X9UXWnoz+2PVyK9BGc=";
+  };
+
+  cargoSha256 = "sha256-2uyMA2nIOPkc5+qImFn3eUVq2AxHu3Xj91TpkKswjao=";
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    glib
+    cairo
+    pango
+    atk
+    gdk-pixbuf
+    gtk3
+  ];
+
+  meta = with lib; {
+    description = "A simple but powerful and fast bulk file renamer";
+    homepage = "https://github.com/qarmin/szyszka";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ kranzes ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/t1utils/default.nix b/nixpkgs/pkgs/tools/misc/t1utils/default.nix
index 690fbe8abcb3..d581b71d16e2 100644
--- a/nixpkgs/pkgs/tools/misc/t1utils/default.nix
+++ b/nixpkgs/pkgs/tools/misc/t1utils/default.nix
@@ -1,11 +1,12 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "t1utils-1.41";
+  pname = "t1utils";
+  version = "1.42";
 
   src = fetchurl {
-    url = "https://www.lcdf.org/type/${name}.tar.gz";
-    sha256 = "09rlc837dr69hyiiicha3il37mchsvz84qw8hnvb60lrh9zdsppw";
+    url = "https://www.lcdf.org/type/t1utils-${version}.tar.gz";
+    sha256 = "sha256-YYd5NbGYcETd/0u5CgUgDKcWRnijVeFwv18aVVbMnyk=";
   };
 
   meta = with lib; {
@@ -18,7 +19,7 @@ stdenv.mkDerivation rec {
       resources from a Macintosh font file or create a Macintosh Type 1 font
       file from a PFA or PFB font.
     '';
-    homepage = "http://www.lcdf.org/type/";
+    homepage = "https://www.lcdf.org/type/";
     # README from tarball says "BSD-like" and points to non-existing LICENSE
     # file...
     license = "Click"; # MIT with extra clause, https://github.com/kohler/t1utils/blob/master/LICENSE
diff --git a/nixpkgs/pkgs/tools/misc/tagref/default.nix b/nixpkgs/pkgs/tools/misc/tagref/default.nix
index f47a5808d063..30d00eb74d2e 100644
--- a/nixpkgs/pkgs/tools/misc/tagref/default.nix
+++ b/nixpkgs/pkgs/tools/misc/tagref/default.nix
@@ -1,16 +1,16 @@
 { lib, fetchFromGitHub, rustPlatform }:
 rustPlatform.buildRustPackage rec {
   pname = "tagref";
-  version = "1.4.1";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = "stepchowfun";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0y1c0v2zjpav1n72pgf3kpqdz6ixp2mjhcvvza4gzfp865c236nc";
+    sha256 = "sha256-PZ5ymYXn19PnvimofODh6su9zHdVoa3T7RCWPSO1Z6w=";
   };
 
-  cargoSha256 = "0ca6maapn2337i78mq97199xjqk87ckw14k8kspc8kx5wnics2hl";
+  cargoSha256 = "sha256-6siqfAWFoOomqcRvW+iku28FbyKCHiDzMVIUwWP8hJM=";
 
   meta = with lib; {
     description = "Tagref helps you refer to other locations in your codebase.";
diff --git a/nixpkgs/pkgs/tools/misc/tea/default.nix b/nixpkgs/pkgs/tools/misc/tea/default.nix
index a7af4fec7ba4..c968b57c60ad 100644
--- a/nixpkgs/pkgs/tools/misc/tea/default.nix
+++ b/nixpkgs/pkgs/tools/misc/tea/default.nix
@@ -2,14 +2,14 @@
 
 buildGoModule rec {
   pname = "tea";
-  version = "0.7.0";
+  version = "0.7.1";
 
   src = fetchFromGitea {
     domain = "gitea.com";
     owner = "gitea";
     repo = "tea";
     rev = "v${version}";
-    sha256 = "sha256-Kq+A6YELfBJ04t7pPnX8Ulh4NSMFn3AHggplLD9J8MY=";
+    sha256 = "sha256-Y/Znj8vVjVt+rs+n8JRQsptq5u17G2D7r98PDxPLyd4=";
   };
 
   vendorSha256 = null;
diff --git a/nixpkgs/pkgs/tools/misc/tealdeer/default.nix b/nixpkgs/pkgs/tools/misc/tealdeer/default.nix
index 985f2dccd682..e6b53e3c7583 100644
--- a/nixpkgs/pkgs/tools/misc/tealdeer/default.nix
+++ b/nixpkgs/pkgs/tools/misc/tealdeer/default.nix
@@ -40,5 +40,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/dbrgn/tealdeer";
     maintainers = with maintainers; [ davidak ];
     license = with licenses; [ asl20 mit ];
+    mainProgram = "tldr";
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/teleconsole/default.nix b/nixpkgs/pkgs/tools/misc/teleconsole/default.nix
index 63277c90d47a..3bf1f5cd34b6 100644
--- a/nixpkgs/pkgs/tools/misc/teleconsole/default.nix
+++ b/nixpkgs/pkgs/tools/misc/teleconsole/default.nix
@@ -25,7 +25,6 @@ buildGoPackage rec {
   '';
 
   CGO_ENABLED = 1;
-  buildFlags = [ "-ldflags" ];
 
   meta = with lib; {
     homepage = "https://www.teleconsole.com/";
diff --git a/nixpkgs/pkgs/tools/misc/tfk8s/default.nix b/nixpkgs/pkgs/tools/misc/tfk8s/default.nix
index d9c9ad0451bb..8ca102444a9d 100644
--- a/nixpkgs/pkgs/tools/misc/tfk8s/default.nix
+++ b/nixpkgs/pkgs/tools/misc/tfk8s/default.nix
@@ -2,21 +2,20 @@
 
 buildGoModule rec {
   pname = "tfk8s";
-  version = "0.1.5";
+  version = "0.1.6";
   tag = "v${version}";
 
   src = fetchFromGitHub {
     owner = "jrhouston";
     repo = "tfk8s";
     rev = tag;
-    sha256 = "sha256-T0zM2JOmzk8YyS3+De6yGwiwLgyb6Rwy6hT9b44wNxQ=";
+    sha256 = "sha256-pjgacKyOAlaFqHCKcLmjTl/uWpjMzkHH0UcaIEb+IZI=";
   };
 
   vendorSha256 = "sha256-eLPmghs05pMMtys97Ja7YGdVMZmMmiaFeMwzaWNxW0I=";
   runVend = true;
 
-  buildFlagsArray = [
-    "-ldflags="
+  ldflags = [
     "-s"
     "-w"
     "-X main.toolVersion=${tag}"
diff --git a/nixpkgs/pkgs/tools/misc/thefuck/default.nix b/nixpkgs/pkgs/tools/misc/thefuck/default.nix
index 7ede307a86fb..13509af98c02 100644
--- a/nixpkgs/pkgs/tools/misc/thefuck/default.nix
+++ b/nixpkgs/pkgs/tools/misc/thefuck/default.nix
@@ -22,6 +22,6 @@ buildPythonApplication rec {
     homepage = "https://github.com/nvbn/thefuck";
     description = "Magnificent app which corrects your previous console command";
     license = licenses.mit;
-    maintainers = with maintainers; [ ma27 SuperSandro2000 ];
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/tmux-mem-cpu-load/default.nix b/nixpkgs/pkgs/tools/misc/tmux-mem-cpu-load/default.nix
index 2f9f436a1499..45a5edd6ae55 100644
--- a/nixpkgs/pkgs/tools/misc/tmux-mem-cpu-load/default.nix
+++ b/nixpkgs/pkgs/tools/misc/tmux-mem-cpu-load/default.nix
@@ -2,20 +2,20 @@
 
 stdenv.mkDerivation rec {
   pname = "tmux-mem-cpu-load";
-  version = "3.4.0";
+  version = "3.5.1";
 
   src = fetchFromGitHub {
     owner = "thewtex";
     repo = "tmux-mem-cpu-load";
     rev = "v${version}";
-    sha256 = "1ybj513l4953jhayrzb47dlh4yv9bkvs0q1lfvky17v9fdkxgn2j";
+    sha256 = "sha256-4ZMF+RacZL9dJRCz63XPNuigTKHOW+ZcA4vB4jsnASc=";
   };
 
   nativeBuildInputs = [ cmake ];
 
   meta = with lib; {
     description = "CPU, RAM, and load monitor for use with tmux";
-    homepage = https://github.com/thewtex/tmux-mem-cpu-load;
+    homepage = "https://github.com/thewtex/tmux-mem-cpu-load";
     license = licenses.asl20;
     maintainers = with maintainers; [ thomasjm ];
     platforms = platforms.all;
diff --git a/nixpkgs/pkgs/tools/misc/toybox/default.nix b/nixpkgs/pkgs/tools/misc/toybox/default.nix
index 25db7e668678..9e3b1ecc6b5a 100644
--- a/nixpkgs/pkgs/tools/misc/toybox/default.nix
+++ b/nixpkgs/pkgs/tools/misc/toybox/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "toybox";
-  version = "0.8.4";
+  version = "0.8.5";
 
   src = fetchFromGitHub {
     owner = "landley";
     repo = pname;
     rev = version;
-    sha256 = "0cgbmv6qk1haj709hjx5q4sl7wgh91i459gzs1203adwc7rvk6jv";
+    sha256 = "sha256-32LQiPsBjBh5LpRZuaYT+Dr/oETNTQERGqrpwWPhMTo=";
   };
 
   depsBuildBuild = [ buildPackages.stdenv.cc ]; # needed for cross
diff --git a/nixpkgs/pkgs/tools/misc/traefik-certs-dumper/default.nix b/nixpkgs/pkgs/tools/misc/traefik-certs-dumper/default.nix
new file mode 100644
index 000000000000..fc0062185b23
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/traefik-certs-dumper/default.nix
@@ -0,0 +1,23 @@
+{ fetchFromGitHub, buildGoModule, lib }:
+
+buildGoModule rec {
+  pname = "traefik-certs-dumper";
+  version = "2.7.4";
+
+  src = fetchFromGitHub {
+    owner = "ldez";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-exkBDrNGvpOz/VD6yfE1PKL4hzs/oZ+RxMwm/ytuV/0=";
+  };
+
+  vendorSha256 = "sha256-NmYfdX5BKHZvFzlkh/kkK0voOzNj1EPn53Mz/B7eLd0=";
+  excludedPackages = "integrationtest";
+
+  meta = with lib; {
+    description = "dump ACME data from traefik to certificates";
+    homepage = "https://github.com/ldez/traefik-certs-dumper";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ nickcao ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/trash-cli/default.nix b/nixpkgs/pkgs/tools/misc/trash-cli/default.nix
index dbc00e13e1ae..5824e9cc4952 100644
--- a/nixpkgs/pkgs/tools/misc/trash-cli/default.nix
+++ b/nixpkgs/pkgs/tools/misc/trash-cli/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "trash-cli";
-  version = "0.21.6.30";
+  version = "0.21.7.24";
 
   src = fetchFromGitHub {
     owner = "andreafrancia";
     repo = "trash-cli";
     rev = version;
-    sha256 = "09vwg4jpx7pl7rd5ybq5ldgwky8zzf59msmzvmim9vipnmjgkxv7";
+    sha256 = "082mfl4mza4xkm3fdn5aka9rsbd8c149qj3cqqk62idrnszmgzg5";
   };
 
   propagatedBuildInputs = [ python3Packages.psutil ];
@@ -18,8 +18,27 @@ python3Packages.buildPythonApplication rec {
     pytestCheckHook
   ];
 
-  # Skip `test_user_specified` since its result depends on the mount path.
-  disabledTests = [ "test_user_specified" ];
+  doInstallCheck = true;
+  installCheckPhase = ''
+    runHook preInstallCheck
+
+    # Create a home directory with a test file.
+    HOME="$(mktemp -d)"
+    touch "$HOME/deleteme"
+
+    # Verify that trash list is initially empty.
+    [[ $($out/bin/trash-list) == "" ]]
+
+    # Trash a test file and verify that it shows up in the list.
+    $out/bin/trash "$HOME/deleteme"
+    [[ $($out/bin/trash-list) == *" $HOME/deleteme" ]]
+
+    # Empty the trash and verify that it is empty.
+    $out/bin/trash-empty
+    [[ $($out/bin/trash-list) == "" ]]
+
+    runHook postInstallCheck
+  '';
 
   meta = with lib; {
     homepage = "https://github.com/andreafrancia/trash-cli";
diff --git a/nixpkgs/pkgs/tools/misc/triehash/default.nix b/nixpkgs/pkgs/tools/misc/triehash/default.nix
new file mode 100644
index 000000000000..b916214fab52
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/triehash/default.nix
@@ -0,0 +1,48 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, perlPackages
+}:
+
+stdenv.mkDerivation rec {
+  pname = "triehash";
+  version = "0.3";
+
+  src = fetchFromGitHub {
+    owner = "julian-klode";
+    repo = pname;
+    rev = "debian/0.3-3";
+    hash = "sha256-LxVcYj2WKHbhNu5x/DFkxQPOYrVkNvwiE/qcODq52Lc=";
+  };
+
+  nativeBuildInputs = [
+    perlPackages.perl
+  ];
+
+  postPatch = ''
+    patchShebangs triehash.pl
+  '';
+
+  dontConfigure = true;
+
+  dontBuild = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    install -d $out/bin $out/share/doc/${pname}/ $out/share/${pname}/
+    install triehash.pl $out/bin/triehash
+    install README.md $out/share/doc/${pname}/
+    cp -r tests/ $out/share/${pname}/tests/
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/julian-klode/triehash";
+    description = "Order-preserving minimal perfect hash function generator";
+    license = with licenses; mit;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = perlPackages.perl.meta.platforms;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/twurl/Gemfile b/nixpkgs/pkgs/tools/misc/twurl/Gemfile
new file mode 100644
index 000000000000..55b6e9f5650b
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/twurl/Gemfile
@@ -0,0 +1,3 @@
+source "https://rubygems.org"
+
+gem 'twurl'
diff --git a/nixpkgs/pkgs/tools/text/bcat/Gemfile.lock b/nixpkgs/pkgs/tools/misc/twurl/Gemfile.lock
index cbff494fe867..d29268e656dd 100644
--- a/nixpkgs/pkgs/tools/text/bcat/Gemfile.lock
+++ b/nixpkgs/pkgs/tools/misc/twurl/Gemfile.lock
@@ -1,15 +1,15 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    bcat (0.6.2)
-      rack (~> 1.0)
-    rack (1.6.11)
+    oauth (0.5.6)
+    twurl (0.9.6)
+      oauth (~> 0.4)
 
 PLATFORMS
   ruby
 
 DEPENDENCIES
-  bcat
+  twurl
 
 BUNDLED WITH
    2.1.4
diff --git a/nixpkgs/pkgs/tools/misc/twurl/default.nix b/nixpkgs/pkgs/tools/misc/twurl/default.nix
new file mode 100644
index 000000000000..dccb67fbaf6c
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/twurl/default.nix
@@ -0,0 +1,17 @@
+{ lib, bundlerApp, bundlerUpdateScript }:
+
+bundlerApp {
+  pname = "twurl";
+  gemdir = ./.;
+  exes = [ "twurl" ];
+
+  passthru.updateScript = bundlerUpdateScript "twurl";
+
+  meta = with lib; {
+    description = "OAuth-enabled curl for the Twitter API";
+    homepage    = "https://github.com/twitter/twurl";
+    license     = "MIT";
+    maintainers = with maintainers; [ brecht ];
+    platforms   = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/twurl/gemset.nix b/nixpkgs/pkgs/tools/misc/twurl/gemset.nix
new file mode 100644
index 000000000000..a1a2ed835d3e
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/twurl/gemset.nix
@@ -0,0 +1,23 @@
+{
+  oauth = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1zwd6v39yqfdrpg1p3d9jvzs9ljg55ana2p06m0l7qn5w0lgx1a0";
+      type = "gem";
+    };
+    version = "0.5.6";
+  };
+  twurl = {
+    dependencies = ["oauth"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1jgsxa0cnkajnsxxlsrgl2wq3m7khaxvr0rcir4vwbc1hx210700";
+      type = "gem";
+    };
+    version = "0.9.6";
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/vector/default.nix b/nixpkgs/pkgs/tools/misc/vector/default.nix
index d9e454d4ab81..6c559ada9632 100644
--- a/nixpkgs/pkgs/tools/misc/vector/default.nix
+++ b/nixpkgs/pkgs/tools/misc/vector/default.nix
@@ -28,19 +28,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "vector";
-  version = "0.15.0";
+  version = "0.16.1";
 
   src = fetchFromGitHub {
     owner = "timberio";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-8ZsZyV6zlMiNTVYPwqQi7F1OJ4hV33IqrrGkvUb8JaY=";
+    sha256 = "sha256-10e0cWt6XW8msNR/RXbaOpdwTAlRLm6jVvDed905rho=";
   };
 
-  cargoSha256 = "sha256-t6KeyBwIfCQTfaennFiFX3K+8unFOsduBP7nRbAo9wI=";
+  cargoSha256 = "sha256-ezQ/tX/uKzJprLQt2xIUZwGuUOmuRmTO+gPsf3MLEv8=";
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ oniguruma openssl protobuf rdkafka zstd ]
-    ++ lib.optional stdenv.isDarwin [ Security libiconv coreutils CoreServices ];
+    ++ lib.optionals stdenv.isDarwin [ Security libiconv coreutils CoreServices ];
 
   # needed for internal protobuf c wrapper library
   PROTOC = "${protobuf}/bin/protoc";
@@ -53,7 +53,16 @@ rustPlatform.buildRustPackage rec {
   # dev dependency includes httpmock which depends on iashc which depends on curl-sys with http2 feature enabled
   # compilation fails because of a missing http2 include
   doCheck = !stdenv.isDarwin;
-  checkPhase = "TZDIR=${tzdata}/share/zoneinfo cargo test --no-default-features --features ${lib.concatStringsSep "," features} -- --test-threads 1";
+  # healthcheck_grafana_cloud is trying to make a network access
+  # test_stream_errors is flaky on linux-aarch64
+  checkPhase = ''
+    TZDIR=${tzdata}/share/zoneinfo cargo test \
+      --no-default-features \
+      --features ${lib.concatStringsSep "," features} \
+      -- --test-threads 1 \
+      --skip=sinks::loki::tests::healthcheck_grafana_cloud \
+      --skip=kubernetes::api_watcher::tests::test_stream_errors
+  '';
 
   # recent overhauls of DNS support in 0.9 mean that we try to resolve
   # vector.dev during the checkPhase, which obviously isn't going to work.
diff --git a/nixpkgs/pkgs/tools/misc/vial/default.nix b/nixpkgs/pkgs/tools/misc/vial/default.nix
index c8d38d826d1f..5685141e4465 100644
--- a/nixpkgs/pkgs/tools/misc/vial/default.nix
+++ b/nixpkgs/pkgs/tools/misc/vial/default.nix
@@ -1,12 +1,12 @@
 { lib, fetchurl, appimageTools }:
 let
   name = "vial-${version}";
-  version = "0.4";
+  version = "0.4.1";
   pname = "Vial";
 
   src = fetchurl {
     url = "https://github.com/vial-kb/vial-gui/releases/download/v${version}/${pname}-v${version}-x86_64.AppImage";
-    sha256 = "sha256-4EDEVSqjQ6Ybqx4BoNwE4pT5yFLYM05FBHc5deQU9f8=";
+    sha256 = "sha256-aN0wvgahWPNSXP/JmV1JWaEnARIOTyRdz1ko6eC7Y5s=";
   };
 
   appimageContents = appimageTools.extractType2 { inherit name src; };
@@ -26,7 +26,7 @@ appimageTools.wrapType2 {
   meta = with lib; {
     description = "An Open-source cross-platform (Windows, Linux and Mac) GUI and a QMK fork for configuring your keyboard in real time";
     homepage = "https://get.vial.today";
-    license = licenses.gpl2Only;
+    license = licenses.gpl2Plus;
     maintainers = with maintainers; [ kranzes ];
     platforms = [ "x86_64-linux" ];
   };
diff --git a/nixpkgs/pkgs/tools/misc/vsh/default.nix b/nixpkgs/pkgs/tools/misc/vsh/default.nix
index 13a3df4d6b94..416dd4bfcc13 100644
--- a/nixpkgs/pkgs/tools/misc/vsh/default.nix
+++ b/nixpkgs/pkgs/tools/misc/vsh/default.nix
@@ -15,7 +15,7 @@ buildGoModule rec {
   vendorSha256 = null;
 
   # make sure version gets set at compile time
-  buildFlagsArray = [ "-ldflags=-s -w -X main.vshVersion=v${version}" ];
+  ldflags = [ "-s" "-w" "-X main.vshVersion=v${version}" ];
 
   meta = with lib; {
     description = "HashiCorp Vault interactive shell";
diff --git a/nixpkgs/pkgs/tools/misc/wimboot/default.nix b/nixpkgs/pkgs/tools/misc/wimboot/default.nix
index 04dbca9ed63f..538f5113fd8d 100644
--- a/nixpkgs/pkgs/tools/misc/wimboot/default.nix
+++ b/nixpkgs/pkgs/tools/misc/wimboot/default.nix
@@ -1,38 +1,17 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, libbfd, zlib, libiberty }:
+{ lib, stdenv, fetchFromGitHub, libbfd, zlib, libiberty }:
 
 stdenv.mkDerivation rec {
   pname = "wimboot";
-  version = "2.6.0";
+  version = "2.7.3";
 
   src = fetchFromGitHub {
     owner = "ipxe";
     repo = "wimboot";
     rev = "v${version}";
-    sha256 = "134wqqr147az5vbj4szd0xffwa99b4rar7w33zm3119zsn7sd79k";
+    sha256 = "12c677agkmiqs35qfpqfj7c4kxkizhbk9l6hig36dslzp4fwpl70";
   };
 
-  NIX_CFLAGS_COMPILE = "-Wno-address-of-packed-member"; # Fails on gcc9
-
-  patches = [
-    # Fixes for newer binutils
-    # Add R_X86_64_PLT32 as known reloc target
-    (fetchpatch {
-      url = "https://github.com/ipxe/wimboot/commit/91be50c17d4d9f463109d5baafd70f9fdadd86db.patch";
-      sha256 = "113448n49hmk8nz1dxbhxiciwl281zwalvb8z5p9xfnjvibj8274";
-    })
-    # Fix building with binutils 2.34 (bfd_get_section_* removed in favour of bfd_section_*)
-    (fetchpatch {
-      url = "https://github.com/ipxe/wimboot/commit/2f97e681703d30b33a4d5032a8025ab8b9f2de75.patch";
-      sha256 = "0476mp74jaq3k099b654al6yi2yhgn37d9biz0wv3ln2q1gy94yf";
-    })
-  ];
-
-  # We cannot use sourceRoot because the patch wouldn't apply
-  postPatch = ''
-    cd src
-  '';
-
-  hardeningDisable = [ "pic" ];
+  sourceRoot = "source/src";
 
   buildInputs = [ libbfd zlib libiberty ];
   makeFlags = [ "wimboot.x86_64.efi" ];
diff --git a/nixpkgs/pkgs/tools/misc/wlc/default.nix b/nixpkgs/pkgs/tools/misc/wlc/default.nix
index 874e31ca6ef1..dd7c5f7942f8 100644
--- a/nixpkgs/pkgs/tools/misc/wlc/default.nix
+++ b/nixpkgs/pkgs/tools/misc/wlc/default.nix
@@ -6,11 +6,11 @@ with python3.pkgs;
 
 buildPythonPackage rec {
   pname = "wlc";
-  version = "1.11";
+  version = "1.12";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256:0ysx250v2qycy1m3jj0wxmyf2f5n8fxf6br69vcbyq2cnqw609nx";
+    sha256 = "sha256:01c1qxq6dxvpn8rgpbqs4iw5daa0rmlgygb3xhhfj7xpqv1v84ir";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/misc/woeusb/default.nix b/nixpkgs/pkgs/tools/misc/woeusb/default.nix
index ade752e09f66..23d1f9cccbe4 100644
--- a/nixpkgs/pkgs/tools/misc/woeusb/default.nix
+++ b/nixpkgs/pkgs/tools/misc/woeusb/default.nix
@@ -2,14 +2,14 @@
 , coreutils, dosfstools, findutils, gawk, gnugrep, grub2_light, ncurses, ntfs3g, parted, p7zip, util-linux, wimlib, wget }:
 
 stdenv.mkDerivation rec {
-  version = "5.1.0";
+  version = "5.1.2";
   pname = "woeusb";
 
   src = fetchFromGitHub {
     owner = "WoeUSB";
     repo = "WoeUSB";
     rev = "v${version}";
-    sha256 = "1qakk7lnj71m061rn72nabk4c37vw0vkx2a28xgxas8v8cwvkkam";
+    sha256 = "sha256-7NuUCo1uN6RZIpdDJFZr1DULrr4UNcXdPzx9A5t79O8=";
   };
 
   nativeBuildInputs = [ installShellFiles makeWrapper ];
diff --git a/nixpkgs/pkgs/tools/misc/yad/default.nix b/nixpkgs/pkgs/tools/misc/yad/default.nix
index 2069ba6b1593..77491f22f987 100644
--- a/nixpkgs/pkgs/tools/misc/yad/default.nix
+++ b/nixpkgs/pkgs/tools/misc/yad/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "yad";
-  version = "8.0";
+  version = "9.0";
 
   src = fetchFromGitHub {
     owner = "v1cont";
     repo = "yad";
     rev = "v${version}";
-    sha256 = "sha256-KntJtli1PtqH/9XOTq4FkVJYklp0L7bChwQQGCBTLDA=";
+    sha256 = "sha256-P22DMmR+z2kl05SkOsbjFHFz9I5cu4W6EaYLpd1a0mg=";
   };
 
   configureFlags = [
diff --git a/nixpkgs/pkgs/tools/misc/yle-dl/default.nix b/nixpkgs/pkgs/tools/misc/yle-dl/default.nix
index 209072da3b0b..cb3beca97038 100644
--- a/nixpkgs/pkgs/tools/misc/yle-dl/default.nix
+++ b/nixpkgs/pkgs/tools/misc/yle-dl/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "yle-dl";
-  version = "20210502";
+  version = "20210808";
 
   src = fetchFromGitHub {
     owner = "aajanki";
     repo = "yle-dl";
     rev = version;
-    sha256 = "sha256-HkhyxsiOMOfTHTj+qmY8l2z2sMtO4eMZmJUU/WvV4wY=";
+    sha256 = "sha256-pHre4R0zVML1Stp0H4E3ee9Xbb3KNLgZFWOJPC5KTA8=";
   };
 
   propagatedBuildInputs = with python3Packages; [
@@ -17,7 +17,7 @@ python3Packages.buildPythonApplication rec {
   pythonPath = [ rtmpdump php wget ];
 
   doCheck = false; # tests require network access
-  checkInputs = with python3Packages; [ ffmpeg pytest pytest-runner ];
+  checkInputs = with python3Packages; [ pytestCheckHook ];
 
   meta = with lib; {
     description = "Downloads videos from Yle (Finnish Broadcasting Company) servers";
diff --git a/nixpkgs/pkgs/tools/misc/you-get/default.nix b/nixpkgs/pkgs/tools/misc/you-get/default.nix
index f58fb349c959..dd2115f99bff 100644
--- a/nixpkgs/pkgs/tools/misc/you-get/default.nix
+++ b/nixpkgs/pkgs/tools/misc/you-get/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonApplication rec {
   pname = "you-get";
-  version = "0.4.1500";
+  version = "0.4.1545";
 
   # Tests aren't packaged, but they all hit the real network so
   # probably aren't suitable for a build environment anyway.
@@ -10,7 +10,7 @@ buildPythonApplication rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5a6cc0d661fe0cd4210bf467d6c89afd8611609e402690254722c1415736da92";
+    sha256 = "63e9b0527424c565303fe3d8ede1cd35d48a4ecf4afe72e1c12b0e90b9fdcd39";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/misc/yt-dlp/default.nix b/nixpkgs/pkgs/tools/misc/yt-dlp/default.nix
new file mode 100644
index 000000000000..9cb2d1dea0da
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/yt-dlp/default.nix
@@ -0,0 +1,74 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, ffmpeg
+, rtmpdump
+, phantomjs2
+, atomicparsley
+, pycryptodome
+, websockets
+, mutagen
+, ffmpegSupport ? true
+, rtmpSupport ? true
+, phantomjsSupport ? false
+, hlsEncryptedSupport ? true
+}:
+
+buildPythonPackage rec {
+  pname = "yt-dlp";
+  # The websites yt-dlp deals with are a very moving target. That means that
+  # downloads break constantly. Because of that, updates should always be backported
+  # to the latest stable release.
+  version = "2021.9.2";
+
+  src = fetchPypi {
+    inherit pname;
+    version = builtins.replaceStrings [ ".0" ] [ "." ] version;
+    sha256 = "sha256-yn53zbBVuiaD31sIB6qxweEgy+AsjzXZ0yk9lNva6mM=";
+  };
+
+  # build_lazy_extractors assumes this directory exists but it is not present in
+  # the PyPI package
+  postPatch = ''
+    mkdir -p ytdlp_plugins/extractor
+  '';
+
+  propagatedBuildInputs = [ websockets mutagen ]
+    ++ lib.optional hlsEncryptedSupport pycryptodome;
+
+  # Ensure these utilities are available in $PATH:
+  # - ffmpeg: post-processing & transcoding support
+  # - rtmpdump: download files over RTMP
+  # - atomicparsley: embedding thumbnails
+  makeWrapperArgs =
+    let
+      packagesToBinPath = [ atomicparsley ]
+        ++ lib.optional ffmpegSupport ffmpeg
+        ++ lib.optional rtmpSupport rtmpdump
+        ++ lib.optional phantomjsSupport phantomjs2;
+    in
+    [ ''--prefix PATH : "${lib.makeBinPath packagesToBinPath}"'' ];
+
+  setupPyBuildFlags = [
+    "build_lazy_extractors"
+  ];
+
+  # Requires network
+  doCheck = false;
+
+  meta = with lib; {
+    homepage = "https://github.com/yt-dlp/yt-dlp/";
+    description = "Command-line tool to download videos from YouTube.com and other sites (youtube-dl fork)";
+    changelog = "https://github.com/yt-dlp/yt-dlp/raw/${version}/Changelog.md";
+    longDescription = ''
+      yt-dlp is a youtube-dl fork based on the now inactive youtube-dlc.
+
+      youtube-dl is a small, Python-based command-line program
+      to download videos from YouTube.com and a few more sites.
+      youtube-dl is released to the public domain, which means
+      you can modify it, redistribute it or use it however you like.
+    '';
+    license = licenses.unlicense;
+    maintainers = with maintainers; [ mkg20001 ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/ytmdl/default.nix b/nixpkgs/pkgs/tools/misc/ytmdl/default.nix
index 43f46bc05231..90a0590b8d95 100644
--- a/nixpkgs/pkgs/tools/misc/ytmdl/default.nix
+++ b/nixpkgs/pkgs/tools/misc/ytmdl/default.nix
@@ -1,44 +1,32 @@
 { lib
-, fetchFromGitHub
-, python3
-, fetchpatch
+, python3Packages
 , ffmpeg
 }:
 
-python3.pkgs.buildPythonApplication rec {
+python3Packages.buildPythonApplication rec {
   pname = "ytmdl";
-  version = "2021.06.26";
+  version = "2021.08.01";
 
-  src = fetchFromGitHub {
-    owner = "deepjyoti30";
-    repo = pname;
-    rev = version;
-    sha256 = "1jpd5zhqg2m9vjjjw4mgzb594q1v1pq1yl65py6kw42bq9w5yl5p";
+  src = python3Packages.fetchPypi {
+    inherit pname;
+    version = builtins.replaceStrings [ ".0" ] [ "." ] version;
+    sha256 = "f5ef23dcba89aaf2307baf4ffc2326dc5c02324f646e5e5748219ed328202af4";
   };
 
-  patches = [
-    # Fixes https://github.com/deepjyoti30/ytmdl/issues/188
-    # Only needed until the next major release after 2021.06.26
-    (fetchpatch {
-      url = "https://github.com/deepjyoti30/ytmdl/commit/37ba821d9692249c1fa563505cf60bd11b8e209e.patch";
-      includes = [ "bin/ytmdl" ];
-      sha256 = "sha256-VqtthpUL0Oub3DK7tSvAnemOzPPTcLvXXeebZIGOgdc=";
-    })
-  ];
-
   postPatch = ''
     substituteInPlace setup.py \
-      --replace "bs4" "beautifulsoup4"
+      --replace "bs4" "beautifulsoup4" \
+      --replace "/etc/bash_completion.d" "share/bash-completion/completions" \
+      --replace "/usr/share/zsh/functions/Completion/Unix" "share/zsh/site-functions"
   '';
 
-
-  propagatedBuildInputs = with python3.pkgs; [
+  propagatedBuildInputs = with python3Packages; [
     ffmpeg-python
     musicbrainzngs
     rich
     simber
     pydes
-    youtube-search
+    youtube-search-python
     unidecode
     pyxdg
     downloader-cli
@@ -48,6 +36,7 @@ python3.pkgs.buildPythonApplication rec {
     pysocks
     youtube-dl
     ytmusicapi
+    spotipy
   ];
 
   makeWrapperArgs = [
diff --git a/nixpkgs/pkgs/tools/misc/yubikey-manager-qt/default.nix b/nixpkgs/pkgs/tools/misc/yubikey-manager-qt/default.nix
index cb575adf75ee..5ef75778f254 100644
--- a/nixpkgs/pkgs/tools/misc/yubikey-manager-qt/default.nix
+++ b/nixpkgs/pkgs/tools/misc/yubikey-manager-qt/default.nix
@@ -14,11 +14,11 @@
 
 mkDerivation rec {
   pname = "yubikey-manager-qt";
-  version = "1.2.2";
+  version = "1.2.3";
 
   src = fetchurl {
     url = "https://developers.yubico.com/${pname}/Releases/${pname}-${version}.tar.gz";
-    sha256 = "1jqibv7na9h2r8nxgzp40j9qpyiwx97c65krivkcqjwdjk5lrahl";
+    sha256 = "sha256-54HvuJXjm846sBxwNHLmaBXvO24bbBDyK8YvY4I6LjY=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/misc/yubikey-manager/default.nix b/nixpkgs/pkgs/tools/misc/yubikey-manager/default.nix
index ed4f76fa6270..cf2226cad54c 100644
--- a/nixpkgs/pkgs/tools/misc/yubikey-manager/default.nix
+++ b/nixpkgs/pkgs/tools/misc/yubikey-manager/default.nix
@@ -1,15 +1,20 @@
-{ python3Packages, fetchurl, lib,
-  yubikey-personalization, libu2f-host, libusb1 }:
+{ python3Packages, fetchFromGitHub, lib, yubikey-personalization, libu2f-host, libusb1 }:
 
 python3Packages.buildPythonPackage rec {
   pname = "yubikey-manager";
-  version = "4.0.3";
+  version = "4.0.5";
 
-  srcs = fetchurl {
-    url = "https://developers.yubico.com/${pname}/Releases/${pname}-${version}.tar.gz";
-    hash = "sha256-p7tv/bj6PMCnCU5j8Vhi60LxLiPmR1Cuf8xVdDVtZvQ=";
+  src = fetchFromGitHub {
+    repo = "yubikey-manager";
+    rev = version;
+    owner = "Yubico";
+    sha256 = "sha256:0ycp7k6lkxzqwkc16fifhyqaqi7hl3351pwddsn18r5l83jnzdn2";
   };
 
+  format = "pyproject";
+
+  nativeBuildInputs = with python3Packages; [ poetry-core ];
+
   propagatedBuildInputs =
     with python3Packages; [
       click
diff --git a/nixpkgs/pkgs/tools/misc/z-lua/default.nix b/nixpkgs/pkgs/tools/misc/z-lua/default.nix
index 79be68c8d566..cee704e93812 100644
--- a/nixpkgs/pkgs/tools/misc/z-lua/default.nix
+++ b/nixpkgs/pkgs/tools/misc/z-lua/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "z-lua";
-  version = "1.8.12";
+  version = "1.8.13";
 
   src = fetchFromGitHub {
     owner = "skywind3000";
     repo = "z.lua";
     rev = version;
-    sha256 = "sha256-q4hJ6QAR8cXjXM2e5Et1/DzyEw9L0120sgpTtqGG5wQ=";
+    sha256 = "sha256-74EWeLkSRrVsJuucdN8sSTl5fPmboViYW0qdovBZQ5U=";
   };
 
   dontBuild = true;
diff --git a/nixpkgs/pkgs/tools/misc/zoxide/default.nix b/nixpkgs/pkgs/tools/misc/zoxide/default.nix
index a28cf27ab1a1..7a66c7f92c58 100644
--- a/nixpkgs/pkgs/tools/misc/zoxide/default.nix
+++ b/nixpkgs/pkgs/tools/misc/zoxide/default.nix
@@ -10,13 +10,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "zoxide";
-  version = "0.7.2";
+  version = "0.7.3";
 
   src = fetchFromGitHub {
     owner = "ajeetdsouza";
     repo = "zoxide";
     rev = "v${version}";
-    sha256 = "sha256-M83J28aG4NACBZtCJzYNU7aYNTJILAboaDv5aAo35OM=";
+    sha256 = "sha256-vw/3pWqb1Qtat+17tzhBvpS+Z2DRe69HGmgzhMQPUw8=";
   };
 
   nativeBuildInputs = [ installShellFiles ];
@@ -28,7 +28,7 @@ rustPlatform.buildRustPackage rec {
       --replace '"fzf"' '"${fzf}/bin/fzf"'
   '';
 
-  cargoSha256 = "sha256-aF0vdudOFBcDrHpgsS7+HNE70GTNPdBOmbvQhLwmsM0=";
+  cargoSha256 = "sha256-xybP9A2QfhuSSjsBVsJgSfDC/1/OahtF5xfsXAlmpjs=";
 
   postInstall = ''
     installManPage man/*
diff --git a/nixpkgs/pkgs/tools/networking/ahcpd/default.nix b/nixpkgs/pkgs/tools/networking/ahcpd/default.nix
index 75a7fc83858a..83647d17ae3c 100644
--- a/nixpkgs/pkgs/tools/networking/ahcpd/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ahcpd/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "ahcpd-0.53";
+  pname = "ahcpd";
+  version = "0.53";
 
   src = fetchurl {
-    url = "http://www.pps.univ-paris-diderot.fr/~jch/software/files/${name}.tar.gz";
+    url = "http://www.pps.univ-paris-diderot.fr/~jch/software/files/ahcpd-${version}.tar.gz";
     sha256 = "0lhdmky3zdyk51hclv2lrhw3hzymbdc8bw2khs3rnaibgn0jwqm4";
   };
 
diff --git a/nixpkgs/pkgs/tools/networking/aircrack-ng/default.nix b/nixpkgs/pkgs/tools/networking/aircrack-ng/default.nix
index 33a90636659a..f836fdf052f9 100644
--- a/nixpkgs/pkgs/tools/networking/aircrack-ng/default.nix
+++ b/nixpkgs/pkgs/tools/networking/aircrack-ng/default.nix
@@ -3,10 +3,11 @@
 , autoreconfHook, usbutils }:
 
 stdenv.mkDerivation rec {
-  name = "aircrack-ng-1.6";
+  pname = "aircrack-ng";
+  version = "1.6";
 
   src = fetchurl {
-    url = "https://download.aircrack-ng.org/${name}.tar.gz";
+    url = "https://download.aircrack-ng.org/aircrack-ng-${version}.tar.gz";
     sha256 = "0ix2k64qg7x3w0bzdsbk1m50kcpq1ws59g3zkwiafvpwdr4gs2sg";
   };
 
diff --git a/nixpkgs/pkgs/tools/networking/aria2/default.nix b/nixpkgs/pkgs/tools/networking/aria2/default.nix
index 7e4f06302f2e..db239e034f51 100644
--- a/nixpkgs/pkgs/tools/networking/aria2/default.nix
+++ b/nixpkgs/pkgs/tools/networking/aria2/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "aria2";
-  version = "1.35.0";
+  version = "1.36.0";
 
   src = fetchFromGitHub {
     owner = "aria2";
     repo = "aria2";
     rev = "release-${version}";
-    sha256 = "195r3711ly3drf9jkygwdc2m7q99hiqlfrig3ip1127b837gzsf9";
+    sha256 = "sha256-ErjFfSJDIgZq0qy0Zn5uZ9bZS2AtJq4FuBVuUuQgPTI=";
   };
 
   nativeBuildInputs = [ pkg-config autoreconfHook sphinx ];
diff --git a/nixpkgs/pkgs/tools/networking/arpoison/default.nix b/nixpkgs/pkgs/tools/networking/arpoison/default.nix
index 6268d958204f..64b3229fad6b 100644
--- a/nixpkgs/pkgs/tools/networking/arpoison/default.nix
+++ b/nixpkgs/pkgs/tools/networking/arpoison/default.nix
@@ -1,12 +1,13 @@
 { lib, stdenv, fetchzip, libnet }:
 
 stdenv.mkDerivation rec {
-  name = "arpoison-0.7";
+  pname = "arpoison";
+  version = "0.7";
 
   buildInputs = [ libnet ];
 
   src = fetchzip {
-    url = "http://www.arpoison.net/${name}.tar.gz";
+    url = "http://www.arpoison.net/arpoison-${version}.tar.gz";
     sha256 = "0krhszx3s0qwfg4rma5a51ak71nnd9xfs2ibggc3hwiz506s2x37";
   };
 
diff --git a/nixpkgs/pkgs/tools/networking/assh/default.nix b/nixpkgs/pkgs/tools/networking/assh/default.nix
index 7d3c662b368f..5bbedf0f7e5b 100644
--- a/nixpkgs/pkgs/tools/networking/assh/default.nix
+++ b/nixpkgs/pkgs/tools/networking/assh/default.nix
@@ -20,9 +20,9 @@ buildGoModule rec {
 
   doCheck = false;
 
-  preBuild = ''
-    buildFlagsArray+=("-ldflags" "-s -w -X moul.io/assh/v2/pkg/version.Version=${version}")
-  '';
+  ldflags = [
+    "-s" "-w" "-X moul.io/assh/v2/pkg/version.Version=${version}"
+  ];
 
   nativeBuildInputs = [ makeWrapper ];
 
diff --git a/nixpkgs/pkgs/tools/networking/bandwhich/default.nix b/nixpkgs/pkgs/tools/networking/bandwhich/default.nix
index 233c57bc635d..ebb816b1887a 100644
--- a/nixpkgs/pkgs/tools/networking/bandwhich/default.nix
+++ b/nixpkgs/pkgs/tools/networking/bandwhich/default.nix
@@ -15,6 +15,9 @@ rustPlatform.buildRustPackage rec {
 
   buildInputs = lib.optional stdenv.isDarwin Security;
 
+  # 10 passed; 47 failed https://hydra.nixos.org/build/148943783/nixlog/1
+  doCheck = !stdenv.isDarwin;
+
   meta = with lib; {
     description = "A CLI utility for displaying current network utilization";
     longDescription = ''
@@ -26,7 +29,7 @@ rustPlatform.buildRustPackage rec {
     '';
     homepage = "https://github.com/imsnif/bandwhich";
     license = licenses.mit;
-    maintainers = with maintainers; [ Br1ght0ne ma27 ];
+    maintainers = with maintainers; [ Br1ght0ne ma27 SuperSandro2000 ];
     platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/bgpdump/default.nix b/nixpkgs/pkgs/tools/networking/bgpdump/default.nix
index 18d72daa009f..f60b60c39926 100644
--- a/nixpkgs/pkgs/tools/networking/bgpdump/default.nix
+++ b/nixpkgs/pkgs/tools/networking/bgpdump/default.nix
@@ -1,19 +1,21 @@
-{ lib, stdenv, fetchurl, autoreconfHook, zlib, bzip2 }:
+{ lib, stdenv, fetchFromGitHub, autoreconfHook, zlib, bzip2 }:
 
 stdenv.mkDerivation rec {
   pname = "bgpdump";
-  version = "1.6.0";
+  version = "1.6.2";
 
-  src = fetchurl {
-    url = "https://ris.ripe.net/source/bgpdump/libbgpdump-1.6.0.tgz";
-    sha256 = "144369gj35mf63nz4idqwsvgsirw7fybm8kkk07yymrjp8jr3aqk";
+  src = fetchFromGitHub {
+    owner = "RIPE-NCC";
+    repo = "bgpdump";
+    rev = "v${version}";
+    sha256 = "sha256-1HXMf9mHManR7jhonU2Agon0YFXOlM9APIN1Zm840AM=";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
   buildInputs = [ zlib bzip2 ];
 
   meta = {
-    homepage = "https://bitbucket.org/ripencc/bgpdump/";
+    homepage = "https://github.com/RIPE-NCC/bgpdump";
     description = "Analyze dump files produced by Zebra/Quagga or MRT";
     license = lib.licenses.hpnd;
     maintainers = with lib.maintainers; [ lewo ];
diff --git a/nixpkgs/pkgs/tools/networking/bgpq4/default.nix b/nixpkgs/pkgs/tools/networking/bgpq4/default.nix
index 40c65b35a035..bfbb138952a9 100644
--- a/nixpkgs/pkgs/tools/networking/bgpq4/default.nix
+++ b/nixpkgs/pkgs/tools/networking/bgpq4/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "bgpq4";
-  version = "0.0.7";
+  version = "1.2";
 
   src = fetchFromGitHub {
     owner = "bgp";
     repo = pname;
     rev = version;
-    sha256 = "sha256-iEm4BYlJi56Y4OBCdEDgRQ162F65PLZyvHSEQzULFww=";
+    sha256 = "sha256-8r70tetbTq8GxxtFe71gDYy+wg8yBwYpl1gsu5aAHTA=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/networking/boundary/default.nix b/nixpkgs/pkgs/tools/networking/boundary/default.nix
index 5c9abf578924..7b96bcb05c8e 100644
--- a/nixpkgs/pkgs/tools/networking/boundary/default.nix
+++ b/nixpkgs/pkgs/tools/networking/boundary/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "boundary";
-  version = "0.4.0";
+  version = "0.5.1";
 
   src =
     let
@@ -14,9 +14,9 @@ stdenv.mkDerivation rec {
         x86_64-darwin = "darwin_amd64";
       };
       sha256 = selectSystem {
-        x86_64-linux = "sha256-xHvg2Kdm7hoJ7Dwh4pLXJE+EPcl9Zta/00IN3wRnOzU=";
-        aarch64-linux = "sha256-Kbr7tZjVcYiejy1CB9r10mqG+0serRx+mjPXds2/TJQ=";
-        x86_64-darwin = "sha256-a8e3gKTTsK5QRAYrB4/DtrFFGM2In73wKEcEMcbeUTI=";
+        x86_64-linux = "sha256-+e4wo2vYSE3Z0icHcOu9aW6ZR6EDKiTe+S58d9s/1m4=";
+        aarch64-linux = "sha256-WR9SmUO/fHivUAAYpbXujQC0zjUmG8ATiTqGVZHly1s=";
+        x86_64-darwin = "sha256-Ih2uO4s0rukGDC8DhamaFb0HT4OKiBtQovRTD3rL9XY=";
       };
     in
     fetchzip {
diff --git a/nixpkgs/pkgs/tools/networking/brook/default.nix b/nixpkgs/pkgs/tools/networking/brook/default.nix
index b6f7cb1869ad..c45f79fb2424 100644
--- a/nixpkgs/pkgs/tools/networking/brook/default.nix
+++ b/nixpkgs/pkgs/tools/networking/brook/default.nix
@@ -1,26 +1,23 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "brook";
-  version = "20200201";
-
-  goPackagePath = "github.com/txthinking/brook";
+  version = "20210701";
 
   src = fetchFromGitHub {
     owner = "txthinking";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0fyw2q99gapnrg836x299sgagx94a5jpw4x3gnsf69fih7cqp9lm";
+    sha256 = "sha256-MYd9q1pjrdLbgIoIakHeBuCjlEjXib0CNivZiqk5hns=";
   };
 
-  goDeps = ./deps.nix;
+  vendorSha256 = "sha256-iaaXLpzN69yHBcAi9GS+G7LupX/7VABo1XFNegk+i3Q=";
 
   meta = with lib; {
     homepage = "https://github.com/txthinking/brook";
     description = "A cross-platform Proxy/VPN software";
-    license = with licenses; [ gpl3 ];
+    license = with licenses; [ gpl3Only ];
     platforms = platforms.linux;
     maintainers = with maintainers; [ xrelkd ];
   };
 }
-
diff --git a/nixpkgs/pkgs/tools/networking/brook/deps.nix b/nixpkgs/pkgs/tools/networking/brook/deps.nix
deleted file mode 100644
index 9ccb446b5e52..000000000000
--- a/nixpkgs/pkgs/tools/networking/brook/deps.nix
+++ /dev/null
@@ -1,165 +0,0 @@
-# This file was generated by https://github.com/kamilchm/go2nix v1.3.0
-[
-  {
-    goPackagePath = "github.com/urfave/cli";
-    fetch = {
-      type = "git";
-      url = "https://github.com/urfave/cli";
-      rev = "3f8c3bca5729c9b679beffd0d88a67d468f832fd";
-      sha256 = "07m5dfp5190wczdw2vqzz4srcpjz5lci1z12rzww9pg9pdjs63gy";
-    };
-  }
-  {
-    goPackagePath = "github.com/cpuguy83/go-md2man";
-    fetch = {
-      type = "git";
-      url = "https://github.com/cpuguy83/go-md2man";
-      rev = "217d7bd9dd5494abdf2877afbeb24ba0e11b43d6";
-      sha256 = "0vsmdrh5c5ngrnq91yg40l8388vh7l1p4wlv4lh7p977dp75ivg6";
-    };
-  }
-  {
-    goPackagePath = "github.com/gorilla/mux";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gorilla/mux";
-      rev = "75dcda0896e109a2a22c9315bca3bb21b87b2ba5";
-      sha256 = "1d0sy1paa055ic84sp3766s9pa24q008hf77dc842vrgvn8p3wmh";
-    };
-  }
-  {
-    goPackagePath = "github.com/gorilla/websocket";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gorilla/websocket";
-      rev = "c3e18be99d19e6b3e8f1559eea2c161a665c4b6b";
-      sha256 = "03n1n0nwz3k9qshmriycqznnnvd3dkzsfwpnfjzzvafjxk9kyapv";
-    };
-  }
-  {
-    goPackagePath = "github.com/mdp/qrterminal";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mdp/qrterminal";
-      rev = "b74f0e01e9f532111951caf89df78e5619193db5";
-      sha256 = "1xz5f3dfkdwd6svnbh98rlr5pfr4s4hrqs4vffn9wy5vb336pp8p";
-    };
-  }
-  {
-    goPackagePath = "github.com/miekg/dns";
-    fetch = {
-      type = "git";
-      url = "https://github.com/miekg/dns";
-      rev = "6c0c4e6581f8e173cc562c8b3363ab984e4ae071";
-      sha256 = "0fpd9alvhzrkb1c31n4lrxlpv1nlhy51w1yg39xxb3mjmrb7lby1";
-    };
-  }
-  {
-    goPackagePath = "github.com/patrickmn/go-cache";
-    fetch = {
-      type = "git";
-      url = "https://github.com/patrickmn/go-cache";
-      rev = "46f407853014144407b6c2ec7ccc76bf67958d93";
-      sha256 = "08155wdk2883qw37p7wgrpv8wb9lbx4cpfgrraivdavs3qbjlq5j";
-    };
-  }
-  {
-    goPackagePath = "github.com/shurcooL/sanitized_anchor_name";
-    fetch = {
-      type = "git";
-      url = "https://github.com/shurcooL/sanitized_anchor_name";
-      rev = "7bfe4c7ecddb3666a94b053b422cdd8f5aaa3615";
-      sha256 = "1gv9p2nr46z80dnfjsklc6zxbgk96349sdsxjz05f3z6wb6m5l8f";
-    };
-  }
-  {
-    goPackagePath = "github.com/txthinking/gotun2socks";
-    fetch = {
-      type = "git";
-      url = "https://github.com/txthinking/gotun2socks";
-      rev = "35016fdae05e78db993d43f55eb96ddbe3958252";
-      sha256 = "11rl8pqyd6jzi5alpymzi0i5q7pk2492di44v85g7r24y6livrjg";
-    };
-  }
-  {
-    goPackagePath = "github.com/txthinking/socks5";
-    fetch = {
-      type = "git";
-      url = "https://github.com/txthinking/socks5";
-      rev = "254e122c4eaf8657900905ed5bed5777870b9df8";
-      sha256 = "1q43sxzacj216mdzl44khhx51w1z78jpraw955dnjv9va0zqbhmi";
-    };
-  }
-  {
-    goPackagePath = "github.com/txthinking/x";
-    fetch = {
-      type = "git";
-      url = "https://github.com/txthinking/x";
-      rev = "99b19c1440b66f803ee98b30b6829651cc3f90cc";
-      sha256 = "0vzw9wxlgj21y35qv580806vy6k6w1z5yqd5n6ccnq8cd3lvmx70";
-    };
-  }
-  {
-    goPackagePath = "github.com/urfave/negroni";
-    fetch = {
-      type = "git";
-      url = "https://github.com/urfave/negroni";
-      rev = "f4316798d5d3acd39eb6784301b19f27f471415f";
-      sha256 = "0w4iva6s8v8sk95l8mb1a67v0bn4h7njyylv9dnwma0d3l7k24y3";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/crypto";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/crypto";
-      rev = "69ecbb4d6d5dab05e49161c6e77ea40a030884e1";
-      sha256 = "1ylm1lp1miihaq93p8rh2yh823qljqkyqwk3gjzk2bdvzz427pr5";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/net";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/net";
-      rev = "6afb5195e5aab057fda82e27171243402346b0ad";
-      sha256 = "1aiz41q2yxgg3dxfkn33ff54vhaxbiwcps9j3ia1xx4cqxim38zw";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/sys";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sys";
-      rev = "9fbb57f87de9ccfe3a99d4e3270ce8a926ebba4f";
-      sha256 = "0qaz2jjkrxzgkapmjqingdwamrgq2aiblxvzzgrcsv2qhkj0wdps";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/text";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/text";
-      rev = "929e72ca90deac4784bbe451caf10faa5b256ebe";
-      sha256 = "0kwyw87bx0rsc5bbqrrg36yv2b7rs4ijs4p4444s8zwzq6sw24y8";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/russross/blackfriday.v2";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/russross/blackfriday.v2";
-      rev = "d3b5b032dc8e8927d31a5071b56e14c89f045135";
-      sha256 = "0nlz7isdd4rgnwzs68499hlwicxz34j2k2a0b8jy0y7ycd2bcr5j";
-    };
-  }
-  {
-    goPackagePath = "rsc.io/qr";
-    fetch = {
-      type = "git";
-      url = "https://github.com/rsc/qr";
-      rev = "ca9a01fc2f9505024045632c50e5e8cd6142fafe";
-      sha256 = "04yx493g0fqp8i59zjxnl4k3s0cl0kr5m8xh0ph8m10r1hkw0xr3";
-    };
-  }
-]
diff --git a/nixpkgs/pkgs/tools/networking/bsd-finger/default.nix b/nixpkgs/pkgs/tools/networking/bsd-finger/default.nix
index 189f636cd1fb..354c669b3366 100644
--- a/nixpkgs/pkgs/tools/networking/bsd-finger/default.nix
+++ b/nixpkgs/pkgs/tools/networking/bsd-finger/default.nix
@@ -3,10 +3,11 @@
 # !!! Duplication: this package is almost exactly the same as `bsd-finger'.
 
 stdenv.mkDerivation rec {
-  name = "bsd-finger-0.17";
+  pname = "bsd-finger";
+  version = "0.17";
 
   src = fetchurl {
-    url = "ftp://ftp.metalab.unc.edu/pub/linux/system/network/finger/${name}.tar.gz";
+    url = "ftp://ftp.metalab.unc.edu/pub/linux/system/network/finger/bsd-finger-${version}.tar.gz";
     sha256 = "1yhkiv0in588il7f84k2xiy78g9lv12ll0y7047gazhiimk5v244";
   };
 
diff --git a/nixpkgs/pkgs/tools/networking/burpsuite/default.nix b/nixpkgs/pkgs/tools/networking/burpsuite/default.nix
index 53d1a3d4f233..e4783ddb0ef2 100644
--- a/nixpkgs/pkgs/tools/networking/burpsuite/default.nix
+++ b/nixpkgs/pkgs/tools/networking/burpsuite/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "burpsuite";
-  version = "2021.6";
+  version = "2021.8.1";
 
   src = fetchurl {
     name = "burpsuite.jar";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
       "https://portswigger.net/Burp/Releases/Download?productId=100&version=${version}&type=Jar"
       "https://web.archive.org/web/https://portswigger.net/Burp/Releases/Download?productId=100&version=${version}&type=Jar"
     ];
-    sha256 = "sha256-DPUi/KRnJkwrc7KMq10+LE6+MX9yJLgrgIHKhlfL+vc=";
+    sha256 = "sha256-R1WV3oaweW4nfszUOtmrfBlbKJm8HDNjwtbj97dFzB0=";
   };
 
   dontUnpack = true;
diff --git a/nixpkgs/pkgs/tools/networking/bwm-ng/default.nix b/nixpkgs/pkgs/tools/networking/bwm-ng/default.nix
index 26cdfe7c0dbf..97f0d1823af2 100644
--- a/nixpkgs/pkgs/tools/networking/bwm-ng/default.nix
+++ b/nixpkgs/pkgs/tools/networking/bwm-ng/default.nix
@@ -1,79 +1,42 @@
-{ writeText, lib, stdenv, fetchurl, ncurses }:
+{ lib
+, stdenv
+, autoreconfHook
+, fetchurl
+, ncurses
+}:
 
-let
-  version = "0.6.1";
-in
 stdenv.mkDerivation rec {
   pname = "bwm-ng";
-  inherit version;
+  version = "0.6.3";
 
   src = fetchurl {
     url = "https://www.gropp.org/bwm-ng/${pname}-${version}.tar.gz";
-    sha256 = "1w0dwpjjm9pqi613i8glxrgca3rdyqyp3xydzagzr5ndc34z6z02";
+    sha256 = "0ikzyvnb73msm9n7ripg1dsw9av1i0c7q2hi2173xsj8zyv559f1";
   };
 
-  buildInputs = [ ncurses ];
-
-  # gcc7 has some issues with inline functions
-  patches = [
-    (writeText "gcc7.patch"
-    ''
-    --- a/src/bwm-ng.c
-    +++ b/src/bwm-ng.c
-    @@ -27,5 +27,5 @@
-     /* handle interrupt signal */
-     void sigint(int sig) FUNCATTR_NORETURN;
-    -inline void init(void);
-    +static inline void init(void);
-
-     /* clear stuff and exit */
-    --- a/src/options.c
-    +++ b/src/options.c
-    @@ -35,5 +35,5 @@
-     inline int str2output_type(char *optarg);
-     #endif
-    -inline int str2out_method(char *optarg);
-    +static inline int str2out_method(char *optarg);
-     inline int str2in_method(char *optarg);
-
-    '')
+  nativeBuildInputs = [
+    autoreconfHook
   ];
 
-
-  # This code uses inline in the gnu89 sense: see http://clang.llvm.org/compatibility.html#inline
-  NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-std=gnu89";
+  buildInputs = [
+    ncurses
+  ];
 
   meta = with lib; {
     description = "A small and simple console-based live network and disk io bandwidth monitor";
     homepage = "http://www.gropp.org/?id=projects&sub=bwm-ng";
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     platforms = platforms.unix;
-
+    maintainers = with maintainers; [ ];
     longDescription = ''
-        Features
-
-            supports /proc/net/dev, netstat, getifaddr, sysctl, kstat, /proc/diskstats /proc/partitions, IOKit, devstat and libstatgrab
-            unlimited number of interfaces/devices supported
-            interfaces/devices are added or removed dynamically from list
-            white-/blacklist of interfaces/devices
-            output of KB/s, Kb/s, packets, errors, average, max and total sum
-            output in curses, plain console, CSV or HTML
-            configfile
-
-        Short list of changes since 0.5 (for full list read changelog):
-
-            curses2 output, a nice bar chart
-            disk input for bsd/macosx/linux/solaris
-            win32 network bandwidth support
-            moved to autotools
-            alot fixes
-
-        Info
-        This was influenced by the old bwm util written by Barney (barney@freewill.tzo.com) which had some issues with faster interfaces and was very simple. Since i had almost all code done anyway for other projects, i decided to create my own version.
-
-        I actually don't know if netstat input is useful at all. I saw this elsewhere, so i added it. Its target is "netstat 1.42 (2001-04-15)" linux or Free/Open/netBSD. If there are other formats i would be happy to add them.
-
-        (from homepage)
+      bwm-ng supports:
+       - /proc/net/dev, netstat, getifaddr, sysctl, kstat, /proc/diskstats /proc/partitions, IOKit,
+         devstat and libstatgrab
+       - unlimited number of interfaces/devices
+       - interfaces/devices are added or removed dynamically from list
+       - white-/blacklist of interfaces/devices
+       - output of KB/s, Kb/s, packets, errors, average, max and total sum
+       - output in curses, plain console, CSV or HTML
     '';
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/cadaver/default.nix b/nixpkgs/pkgs/tools/networking/cadaver/default.nix
index 70c7972bd65f..7ded22f01032 100644
--- a/nixpkgs/pkgs/tools/networking/cadaver/default.nix
+++ b/nixpkgs/pkgs/tools/networking/cadaver/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, fetchpatch, neon, pkg-config, readline, zlib}:
 
 stdenv.mkDerivation rec {
-  name = "cadaver-0.23.3";
+  pname = "cadaver";
+  version = "0.23.3";
 
   src = fetchurl {
-    url = "http://www.webdav.org/cadaver/${name}.tar.gz";
+    url = "http://www.webdav.org/cadaver/cadaver-${version}.tar.gz";
     sha256 = "1jizq69ifrjbjvz5y79wh1ny94gsdby4gdxwjad4bfih6a5fck7x";
   };
 
diff --git a/nixpkgs/pkgs/tools/networking/carddav-util/default.nix b/nixpkgs/pkgs/tools/networking/carddav-util/default.nix
index 300e03761a65..ed3f78d4da4a 100644
--- a/nixpkgs/pkgs/tools/networking/carddav-util/default.nix
+++ b/nixpkgs/pkgs/tools/networking/carddav-util/default.nix
@@ -1,8 +1,8 @@
 { lib, stdenv, fetchgit, python3Packages, makeWrapper }:
 
 stdenv.mkDerivation {
-
-  name = "carddav-0.1-2014-02-26";
+  pname = "carddav";
+  version = "0.1-2014-02-26";
 
   src = fetchgit {
     url = "git://github.com/ljanyst/carddav-util";
diff --git a/nixpkgs/pkgs/tools/networking/cassowary/default.nix b/nixpkgs/pkgs/tools/networking/cassowary/default.nix
index 527ecfbf98d3..6280b923ec0c 100644
--- a/nixpkgs/pkgs/tools/networking/cassowary/default.nix
+++ b/nixpkgs/pkgs/tools/networking/cassowary/default.nix
@@ -15,7 +15,7 @@ buildGoModule rec {
 
   doCheck = false;
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
+  ldflags = [ "-s" "-w" "-X main.version=${version}" ];
 
   meta = with lib; {
     homepage = "https://github.com/rogerwelin/cassowary";
diff --git a/nixpkgs/pkgs/tools/networking/cbftp/default.nix b/nixpkgs/pkgs/tools/networking/cbftp/default.nix
new file mode 100644
index 000000000000..e78b8a93dc67
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/cbftp/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, stdenv
+, fetchurl
+, ncurses
+, openssl
+}:
+
+stdenv.mkDerivation rec {
+  pname = "cbftp";
+  version = "1173";
+
+  src = fetchurl {
+    url = "https://cbftp.eu/${pname}-r${version}.tar.gz";
+    hash = "sha256-DE6fnLzWsx6Skz2LRJAaijjIqrYFB8/HPp45P5CcEc8=";
+  };
+
+  buildInputs = [
+    ncurses
+    openssl
+  ];
+
+  dontConfigure = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    install -D bin/* -t $out/bin/
+    install -D API README -t $out/share/doc/${pname}/
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = "https://cbftp.eu/";
+    description = " An advanced multi-purpose FTP/FXP client";
+    longDescription = ''
+      Cbftp is an advanced multi-purpose FTP/FXP client that focuses on
+      efficient large-scale data spreading, while also supporting most regular
+      FTP/FXP use cases in a modern way. It runs in a terminal and provides a
+      semi-graphical user interface through ncurses.
+    '';
+    license = licenses.mit;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = with platforms; unix;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/changetower/default.nix b/nixpkgs/pkgs/tools/networking/changetower/default.nix
new file mode 100644
index 000000000000..e0e38c8d221d
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/changetower/default.nix
@@ -0,0 +1,25 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "changetower";
+  version = "1.0";
+
+  src = fetchFromGitHub {
+    owner = "Dc4ts";
+    repo = "ChangeTower";
+    rev = "v${version}";
+    sha256 = "058ccn6d5f7w268hfqh85bz1xj6ysgfrmyj0b4asjiskq7728v9z";
+  };
+
+  vendorSha256 = "0hagskhwrdsl6s6hn27jriysbxhaz0pqq1h43j7v0ggnwd2s03bq";
+
+  meta = with lib; {
+    description = "Tools to watch for webppage changes";
+    homepage = "https://github.com/Dc4ts/ChangeTower";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/chisel/default.nix b/nixpkgs/pkgs/tools/networking/chisel/default.nix
index 5d82a549e889..9df5625c2355 100644
--- a/nixpkgs/pkgs/tools/networking/chisel/default.nix
+++ b/nixpkgs/pkgs/tools/networking/chisel/default.nix
@@ -16,7 +16,7 @@ buildGoModule rec {
 
   vendorSha256 = "sha256-GzsQ6LXxe9UQc13XbsYFOWPe0EzlyHechchKc6xDkAc=";
 
-  buildFlagsArray = [ "-ldflags=-s -w -X github.com/jpillora/chisel/share.BuildVersion=${version}" ];
+  ldflags = [ "-s" "-w" "-X github.com/jpillora/chisel/share.BuildVersion=${version}" ];
 
   # tests require access to the network
   doCheck = false;
diff --git a/nixpkgs/pkgs/tools/networking/cksfv/default.nix b/nixpkgs/pkgs/tools/networking/cksfv/default.nix
index 581d39636fa7..f9d9224e91b1 100644
--- a/nixpkgs/pkgs/tools/networking/cksfv/default.nix
+++ b/nixpkgs/pkgs/tools/networking/cksfv/default.nix
@@ -1,16 +1,18 @@
-{lib, stdenv, fetchurl}:
+{ lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "cksfv-1.3.15";
+  pname = "cksfv";
+  version = "1.3.15";
 
   src = fetchurl {
-    url = "http://zakalwe.fi/~shd/foss/cksfv/files/${name}.tar.bz2";
+    url = "https://zakalwe.fi/~shd/foss/cksfv/files/cksfv-${version}.tar.bz2";
     sha256 = "0k06aq94cn5xp4knjw0p7gz06hzh622ql2xvnrlr3q8rcmdvwwx1";
   };
 
   meta = with lib; {
-    homepage = "http://zakalwe.fi/~shd/foss/cksfv/";
+    homepage = "https://zakalwe.fi/~shd/foss/cksfv/";
     description = "A tool for verifying files against a SFV checksum file";
+    maintainers = with maintainers; [ ];
     platforms = platforms.all;
     license = licenses.gpl2;
   };
diff --git a/nixpkgs/pkgs/tools/networking/clash/default.nix b/nixpkgs/pkgs/tools/networking/clash/default.nix
index 61e529dc8729..221a6c280b26 100644
--- a/nixpkgs/pkgs/tools/networking/clash/default.nix
+++ b/nixpkgs/pkgs/tools/networking/clash/default.nix
@@ -15,8 +15,7 @@ buildGoModule rec {
 
   doCheck = false;
 
-  buildFlagsArray = [
-    "-ldflags="
+  ldflags = [
     "-X github.com/Dreamacro/clash/constant.Version=${version}"
   ];
 
diff --git a/nixpkgs/pkgs/tools/networking/cmst/default.nix b/nixpkgs/pkgs/tools/networking/cmst/default.nix
index aa61d42d3d00..fb50316f7139 100644
--- a/nixpkgs/pkgs/tools/networking/cmst/default.nix
+++ b/nixpkgs/pkgs/tools/networking/cmst/default.nix
@@ -15,8 +15,6 @@ mkDerivation rec {
 
   buildInputs = [ qtbase ];
 
-  enableParallelBuilding = true;
-
   postPatch = ''
     for f in $(find . -name \*.cpp -o -name \*.pri -o -name \*.pro); do
       substituteInPlace $f --replace /etc $out/etc --replace /usr $out
diff --git a/nixpkgs/pkgs/tools/networking/corerad/default.nix b/nixpkgs/pkgs/tools/networking/corerad/default.nix
index 8ba8109f2668..81fe5cacda25 100644
--- a/nixpkgs/pkgs/tools/networking/corerad/default.nix
+++ b/nixpkgs/pkgs/tools/networking/corerad/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "corerad";
-  version = "0.3.3";
+  version = "0.3.4";
 
   src = fetchFromGitHub {
     owner = "mdlayher";
     repo = "corerad";
     rev = "v${version}";
-    sha256 = "1xfqjxygf6r5wbf3brilx4d4hm0h518zaadmmzvkmbbz6w0fyl0k";
+    sha256 = "0sf2r4q57hwdakv0b4skn76b0xy7bwj2j9rpj6frs5fkk6gsi6sm";
   };
 
-  vendorSha256 = "0ydyfdx9syrv719knwv64srfx4d1m9pzkivfc3q188bx5qx67pjw";
+  vendorSha256 = "123f9y1pfayfd5amkw5b8jzi8dbn7a16kbf7lzbmw69c1gj4gx9z";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/networking/croc/default.nix b/nixpkgs/pkgs/tools/networking/croc/default.nix
index 001ee1c725a9..9deb7d6c9409 100644
--- a/nixpkgs/pkgs/tools/networking/croc/default.nix
+++ b/nixpkgs/pkgs/tools/networking/croc/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "croc";
-  version = "9.2.0";
+  version = "9.3.0";
 
   src = fetchFromGitHub {
     owner = "schollz";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-wEgR/4t2NRqdlAtHS41sACSNZpDY+4IEaeftCgRpEEk=";
+    sha256 = "sha256-chSVAQXGtcAFs4GzqywjAUM9qng9j6j7KOrlQalxdOw=";
   };
 
-  vendorSha256 = "sha256-YwMqIbxj6ldYBjLb3Gs96oOHM2Li4Qq8PEMeYtrcSnE=";
+  vendorSha256 = "sha256-z8xU1IH+xemx/kxE4crj90roF73QW5D9jFLpykH7meo=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/networking/curl-unix-socket/default.nix b/nixpkgs/pkgs/tools/networking/curl-unix-socket/default.nix
index ab4c3292ea51..3366001042d7 100644
--- a/nixpkgs/pkgs/tools/networking/curl-unix-socket/default.nix
+++ b/nixpkgs/pkgs/tools/networking/curl-unix-socket/default.nix
@@ -1,7 +1,8 @@
 { buildGoPackage, lib, fetchFromGitHub }:
 
 buildGoPackage rec {
-  name = "curl-unix-socket-2015-04-10";
+  pname = "curl-unix-socket";
+  version = "unstable-2015-04-10";
 
   src = fetchFromGitHub {
     owner = "Soulou";
diff --git a/nixpkgs/pkgs/tools/networking/dd-agent/integrations-core.nix b/nixpkgs/pkgs/tools/networking/dd-agent/integrations-core.nix
index e466be816e43..16b0b1ea09d6 100644
--- a/nixpkgs/pkgs/tools/networking/dd-agent/integrations-core.nix
+++ b/nixpkgs/pkgs/tools/networking/dd-agent/integrations-core.nix
@@ -65,7 +65,7 @@ let
     pname = "checks-base";
     sourceRoot = "datadog_checks_base";
     propagatedBuildInputs = with python.pkgs; [
-      requests protobuf prometheus_client uuid simplejson uptime
+      requests protobuf prometheus-client uuid simplejson uptime
     ];
   };
 
diff --git a/nixpkgs/pkgs/tools/networking/dhcpcd/default.nix b/nixpkgs/pkgs/tools/networking/dhcpcd/default.nix
index cc1bad106f75..0962335ad1a3 100644
--- a/nixpkgs/pkgs/tools/networking/dhcpcd/default.nix
+++ b/nixpkgs/pkgs/tools/networking/dhcpcd/default.nix
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
   installFlags = [ "DBDIR=$(TMPDIR)/db" "SYSCONFDIR=${placeholder "out"}/etc" ];
 
   # Check that the udev plugin got built.
-  postInstall = lib.optional (udev != null) "[ -e ${placeholder "out"}/lib/dhcpcd/dev/udev.so ]";
+  postInstall = lib.optionalString (udev != null) "[ -e ${placeholder "out"}/lib/dhcpcd/dev/udev.so ]";
 
   meta = with lib; {
     description = "A client for the Dynamic Host Configuration Protocol (DHCP)";
diff --git a/nixpkgs/pkgs/tools/networking/dhcpdump/default.nix b/nixpkgs/pkgs/tools/networking/dhcpdump/default.nix
index dba08fea7956..b8bd1d88bf20 100644
--- a/nixpkgs/pkgs/tools/networking/dhcpdump/default.nix
+++ b/nixpkgs/pkgs/tools/networking/dhcpdump/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, libpcap, perl }:
 
-stdenv.mkDerivation {
-  name = "dhcpdump-1.8";
+stdenv.mkDerivation rec {
+  pname = "dhcpdump";
+  version = "1.8";
 
   src = fetchurl {
-    url = "http://archive.ubuntu.com/ubuntu/pool/universe/d/dhcpdump/dhcpdump_1.8.orig.tar.gz";
+    url = "http://archive.ubuntu.com/ubuntu/pool/universe/d/dhcpdump/dhcpdump_${version}.orig.tar.gz";
     sha256 = "143iyzkqvhj4dscwqs75jvfr4wvzrs11ck3fqn5p7yv2h50vjpkd";
   };
 
diff --git a/nixpkgs/pkgs/tools/networking/dnschef/default.nix b/nixpkgs/pkgs/tools/networking/dnschef/default.nix
new file mode 100644
index 000000000000..5dbb8980f063
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/dnschef/default.nix
@@ -0,0 +1,27 @@
+{ buildPythonApplication, fetchFromGitHub, dnslib, lib }:
+
+buildPythonApplication rec {
+  pname = "dnschef";
+  version = "0.4";
+
+  src = fetchFromGitHub {
+    owner = "iphelix";
+    repo = "dnschef";
+    rev = "a395411ae1f5c262d0b80d06a45a445f696f3243";
+    sha256 = "0ll3hw6w5zhzyqc2p3c9443gcp12sx6ddybg5rjpl01dh3svrk1q";
+  };
+
+  format = "other";
+  installPhase = ''
+    install -D ./dnschef.py $out/bin/dnschef
+  '';
+
+  propagatedBuildInputs = [ dnslib ];
+
+  meta = with lib; {
+    homepage = "https://github.com/iphelix/dnschef";
+    description = "Highly configurable DNS proxy for penetration testers and malware analysts";
+    license = licenses.bsd3;
+    maintainers = [ maintainers.gfrascadorio ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/dnscrypt-proxy2/default.nix b/nixpkgs/pkgs/tools/networking/dnscrypt-proxy2/default.nix
index 8aedb4032608..ced5b4774653 100644
--- a/nixpkgs/pkgs/tools/networking/dnscrypt-proxy2/default.nix
+++ b/nixpkgs/pkgs/tools/networking/dnscrypt-proxy2/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "dnscrypt-proxy2";
-  version = "2.0.45";
+  version = "2.1.0";
 
   vendorSha256 = null;
 
@@ -12,7 +12,7 @@ buildGoModule rec {
     owner = "DNSCrypt";
     repo = "dnscrypt-proxy";
     rev = version;
-    sha256 = "sha256-BvCxrFMRWPVVjK2sDlVbJKC/YK/bi4lBquIsdwOFXkw=";
+    sha256 = "sha256-HU5iy1dJbCp/PHnJjLi6MM+axz5Nrlcad5GEkD2p874=";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/networking/dnsproxy/default.nix b/nixpkgs/pkgs/tools/networking/dnsproxy/default.nix
index ffa2138ffa82..77f1bf694459 100644
--- a/nixpkgs/pkgs/tools/networking/dnsproxy/default.nix
+++ b/nixpkgs/pkgs/tools/networking/dnsproxy/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "dnsproxy";
-  version = "0.38.3";
+  version = "0.39.4";
 
   src = fetchFromGitHub {
     owner = "AdguardTeam";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-VfEfxcewKo8D8kNsMuCvrLOZNl632ZIFyD+RG8qzjQ4=";
+    sha256 = "sha256-dF3xyyOqWzjHW8cFdGlb3BCCGVy+eWW5OesKEK7pEjw=";
   };
 
   vendorSha256 = null;
diff --git a/nixpkgs/pkgs/tools/networking/dnstop/default.nix b/nixpkgs/pkgs/tools/networking/dnstop/default.nix
index cee24f1976ff..7669f6eec8f9 100644
--- a/nixpkgs/pkgs/tools/networking/dnstop/default.nix
+++ b/nixpkgs/pkgs/tools/networking/dnstop/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, libpcap, ncurses }:
 
 stdenv.mkDerivation rec {
-  name = "dnstop-20140915";
+  pname = "dnstop";
+  version = "2014-09-15";
 
   src = fetchurl {
-    url = "http://dns.measurement-factory.com/tools/dnstop/src/${name}.tar.gz";
+    url = "http://dns.measurement-factory.com/tools/dnstop/src/dnstop-${lib.replaceStrings ["-"] [""] version}.tar.gz";
     sha256 = "0yn5s2825l826506gclbcfk3lzllx9brk9rzja6yj5jv0013vc5l";
   };
 
diff --git a/nixpkgs/pkgs/tools/networking/dropbear/default.nix b/nixpkgs/pkgs/tools/networking/dropbear/default.nix
index f922a70344c4..1fd686735b7e 100644
--- a/nixpkgs/pkgs/tools/networking/dropbear/default.nix
+++ b/nixpkgs/pkgs/tools/networking/dropbear/default.nix
@@ -4,10 +4,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "dropbear-2020.81";
+  pname = "dropbear";
+  version = "2020.81";
 
   src = fetchurl {
-    url = "https://matt.ucc.asn.au/dropbear/releases/${name}.tar.bz2";
+    url = "https://matt.ucc.asn.au/dropbear/releases/dropbear-${version}.tar.bz2";
     sha256 = "0fy5ma4cfc2pk25mcccc67b2mf1rnb2c06ilb7ddnxbpnc85s8s8";
   };
 
diff --git a/nixpkgs/pkgs/tools/networking/eggdrop/default.nix b/nixpkgs/pkgs/tools/networking/eggdrop/default.nix
index 2db99bfa8280..79ae5a9713be 100644
--- a/nixpkgs/pkgs/tools/networking/eggdrop/default.nix
+++ b/nixpkgs/pkgs/tools/networking/eggdrop/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "eggdrop";
-  version = "1.8.4";
+  version = "1.9.1";
 
   src = fetchFromGitHub {
     owner = "eggheads";
     repo = "eggdrop";
     rev = "v${version}";
-    sha256 = "0xqdrv4ydxw72a740lkmpg3fs7ldicaf08b0sfqdyaj7cq8l5x5l";
+    sha256 = "sha256-vh8nym7aYeTRUQ7FBZRy4ToG2ajwRDhzi4jNiJQOEyQ=";
   };
 
   buildInputs = [ tcl ];
diff --git a/nixpkgs/pkgs/tools/networking/email/default.nix b/nixpkgs/pkgs/tools/networking/email/default.nix
index 5c24acb912f9..2a6faa9c1731 100644
--- a/nixpkgs/pkgs/tools/networking/email/default.nix
+++ b/nixpkgs/pkgs/tools/networking/email/default.nix
@@ -20,7 +20,8 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "email-git-2016-01-31";
+  pname = "email-git";
+  version = "unstable-2016-01-31";
   src = eMailSrc;
 
   buildInputs = [ openssl ];
diff --git a/nixpkgs/pkgs/tools/networking/filegive/default.nix b/nixpkgs/pkgs/tools/networking/filegive/default.nix
index 1d7bf884edd5..681bda5b4e1b 100644
--- a/nixpkgs/pkgs/tools/networking/filegive/default.nix
+++ b/nixpkgs/pkgs/tools/networking/filegive/default.nix
@@ -1,10 +1,11 @@
 { buildGoPackage, lib, fetchurl }:
 
 buildGoPackage rec {
-  name = "filegive-0.7.4";
+  pname = "filegive";
+  version = "0.7.4";
 
   src = fetchurl {
-    url = "http://viric.name/soft/filegive/${name}.tar.gz";
+    url = "https://viric.name/soft/filegive/filegive-${version}.tar.gz";
     sha256 = "1z3vyqfdp271qa5ah0i6jmn9gh3gb296wcm33sd2zfjqapyh12hy";
   };
 
@@ -13,7 +14,7 @@ buildGoPackage rec {
   goPackagePath = "viric.name/soft/filegive";
 
   meta = with lib; {
-    homepage = "http://viric.name/cgi-bin/filegive";
+    homepage = "https://viric.name/cgi-bin/filegive";
     description = "Easy p2p file sending program";
     license = licenses.agpl3Plus;
     maintainers = [ maintainers.viric ];
diff --git a/nixpkgs/pkgs/tools/networking/findomain/default.nix b/nixpkgs/pkgs/tools/networking/findomain/default.nix
index 018a210e4aa2..37499757e757 100644
--- a/nixpkgs/pkgs/tools/networking/findomain/default.nix
+++ b/nixpkgs/pkgs/tools/networking/findomain/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "findomain";
-  version = "4.3.0";
+  version = "5.0.0";
 
   src = fetchFromGitHub {
     owner = "Edu4rdSHL";
     repo = pname;
     rev = version;
-    sha256 = "sha256-UC70XmhAVf2a2QO9bkIRE5vEsWyIA0DudZfKraNffGY=";
+    sha256 = "sha256-xuabmlpejQVN8pYCNa97aL2IJUAgV7zLXpkEIp9SZRI=";
   };
 
-  cargoSha256 = "sha256-Cdfh3smX6UjiG29L9hG22bOQQIjaNrv+okl153mIiso=";
+  cargoSha256 = "sha256-hrgTWB5D0eKmfuR+lrMN4mx6yGomHe/jUJxw2uyrjHg=";
 
   nativeBuildInputs = [ installShellFiles perl ];
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ];
diff --git a/nixpkgs/pkgs/tools/networking/flvstreamer/default.nix b/nixpkgs/pkgs/tools/networking/flvstreamer/default.nix
index d31751e7d5ca..2829b3967f91 100644
--- a/nixpkgs/pkgs/tools/networking/flvstreamer/default.nix
+++ b/nixpkgs/pkgs/tools/networking/flvstreamer/default.nix
@@ -1,11 +1,11 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-
-  name = "flvstreamer-2.1c1";
+  pname = "flvstreamer";
+  version = "2.1c1";
 
   src = fetchurl {
-    url = "mirror://savannah/flvstreamer/source/${name}.tar.gz";
+    url = "mirror://savannah/flvstreamer/source/flvstreamer-${version}.tar.gz";
     sha256 = "e90e24e13a48c57b1be01e41c9a7ec41f59953cdb862b50cf3e667429394d1ee";
   };
 
diff --git a/nixpkgs/pkgs/tools/networking/fping/default.nix b/nixpkgs/pkgs/tools/networking/fping/default.nix
index 7974fdd244bd..8e87eaf6942f 100644
--- a/nixpkgs/pkgs/tools/networking/fping/default.nix
+++ b/nixpkgs/pkgs/tools/networking/fping/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "fping-5.0";
+  pname = "fping";
+  version = "5.0";
 
   src = fetchurl {
-    url = "https://www.fping.org/dist/${name}.tar.gz";
+    url = "https://www.fping.org/dist/fping-${version}.tar.gz";
     sha256 = "1f2prmii4fyl44cfykp40hp4jjhicrhddh9v3dfs11j6nsww0f7d";
   };
 
diff --git a/nixpkgs/pkgs/tools/networking/frp/default.nix b/nixpkgs/pkgs/tools/networking/frp/default.nix
index 871dd5ee5bd9..1fc91277ef3b 100644
--- a/nixpkgs/pkgs/tools/networking/frp/default.nix
+++ b/nixpkgs/pkgs/tools/networking/frp/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "frp";
-  version = "0.36.1";
+  version = "0.37.1";
 
   src = fetchFromGitHub {
     owner = "fatedier";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-oOq5Y/6n7VHU9WPjnt+moVWZgo8mQl6Jd8daLJ2/pSQ=";
+    sha256 = "sha256-TEVSxTzMgoIPcIUmhtRnFSp3xClJmOsIUjpKEr5sId8=";
   };
 
-  vendorSha256 = "sha256-Q4ZwCH/RTa8cLtSg06s1S790MdZLgfWOvaD+WAt/RBM=";
+  vendorSha256 = "sha256-4vvIobj1I7FbPVJJG4NZogwv4BMo7GRa5Fo5gO2Daws=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/networking/gftp/default.nix b/nixpkgs/pkgs/tools/networking/gftp/default.nix
deleted file mode 100644
index b228967a73b5..000000000000
--- a/nixpkgs/pkgs/tools/networking/gftp/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ lib, stdenv, fetchurl, gtk2, readline, ncurses, gettext, openssl, pkg-config }:
-
-stdenv.mkDerivation {
-  name = "gftp-2.0.19";
-
-  src = fetchurl {
-    url = "https://www.gftp.org/gftp-2.0.19.tar.bz2";
-    sha256 = "1z8b26n23k0sjbxgrix646b06cnpndpq7cbcj0ilsvvdx5ms81jk";
-  };
-
-  postPatch = ''
-    sed -i -e '/<stropts.h>/d' lib/pty.c
-  '';
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ gtk2 readline ncurses gettext openssl ];
-
-  meta = {
-    description = "GTK-based FTP client";
-    homepage = "http://www.gftp.org";
-    license = lib.licenses.gpl2Plus;
-    platforms = lib.platforms.unix;
-  };
-}
diff --git a/nixpkgs/pkgs/tools/networking/ghostunnel/default.nix b/nixpkgs/pkgs/tools/networking/ghostunnel/default.nix
index 5d00b493bc37..43cfe4812909 100644
--- a/nixpkgs/pkgs/tools/networking/ghostunnel/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ghostunnel/default.nix
@@ -1,22 +1,35 @@
-{
-  buildGoModule,
-  fetchFromGitHub,
-  lib,
-  nixosTests,
+{ buildGoModule
+, fetchFromGitHub
+, lib
+, nixosTests
 }:
 
 buildGoModule rec {
   pname = "ghostunnel";
-  version = "1.5.3";
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner = "ghostunnel";
     repo = "ghostunnel";
     rev = "v${version}";
-    sha256 = "15rmd89j7sfpznzznss899smizbyshprsrvsdmrbhb617myd9fpy";
+    sha256 = "sha256-EE8gCm/gOp3lmCx1q4PahulipLoBZnEatNAVUXzHIVw=";
   };
 
-  vendorSha256 = "1i95fx4a0fh6id6iy6afbva4pazr7ym6sbwi9r7la6gxzyncd023";
+  vendorSha256 = "sha256-XgmvqB1PCfL2gSDqwqauSixk8vlINHRmX6U0h9EXXdU=";
+
+  deleteVendor = true;
+
+  # The certstore directory isn't recognized as a subpackage, but is when moved
+  # into the vendor directory.
+  postUnpack = ''
+    mkdir -p $sourceRoot/vendor/ghostunnel
+    mv $sourceRoot/certstore $sourceRoot/vendor/ghostunnel/
+  '';
+
+  passthru.tests = {
+    nixos = nixosTests.ghostunnel;
+    podman = nixosTests.podman-tls-ghostunnel;
+  };
 
   meta = with lib; {
     description = "A simple TLS proxy with mutual authentication support for securing non-TLS backend applications";
@@ -24,6 +37,4 @@ buildGoModule rec {
     license = licenses.asl20;
     maintainers = with maintainers; [ roberth ];
   };
-
-  passthru.tests.nixos = nixosTests.ghostunnel;
 }
diff --git a/nixpkgs/pkgs/tools/networking/gobgp/default.nix b/nixpkgs/pkgs/tools/networking/gobgp/default.nix
index 98925489e548..6ba0752222ac 100644
--- a/nixpkgs/pkgs/tools/networking/gobgp/default.nix
+++ b/nixpkgs/pkgs/tools/networking/gobgp/default.nix
@@ -17,10 +17,9 @@ buildGoModule rec {
     export CGO_ENABLED=0
   '';
 
-  buildFlagsArray = ''
-    -ldflags=
-    -s -w -extldflags '-static'
-  '';
+  ldflags = [
+    "-s" "-w" "-extldflags '-static'"
+  ];
 
   subPackages = [ "cmd/gobgp" ];
 
diff --git a/nixpkgs/pkgs/tools/networking/goimapnotify/default.nix b/nixpkgs/pkgs/tools/networking/goimapnotify/default.nix
index 619e364c884f..968d5774b5b5 100644
--- a/nixpkgs/pkgs/tools/networking/goimapnotify/default.nix
+++ b/nixpkgs/pkgs/tools/networking/goimapnotify/default.nix
@@ -1,24 +1,24 @@
-{ buildGoPackage, fetchFromGitLab, lib, runtimeShell }:
+{ buildGoModule, fetchFromGitLab, lib, runtimeShell }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "goimapnotify";
-  version = "2.0";
-
-  goPackagePath = "gitlab.com/shackra/goimapnotify";
+  version = "2.3.2";
 
   src = fetchFromGitLab {
     owner = "shackra";
     repo = "goimapnotify";
     rev = version;
-    sha256 = "1d42gd3m2rkvy985d181dbcm5i3f7xsg2z8z6s4bpvw24pfnzs42";
+    sha256 = "sha256-pkpdIkabxz9bu0LnyU1/wu1qqPc/pQqCn8tePc2fIfg=";
   };
 
+  vendorSha256 = "sha256-4+2p/7BAEk+1V0TII9Q2O2YNX0rvBiw2Ss7k1dsvUbk=";
+
   postPatch = ''
-    substituteInPlace command.go --replace '"sh"' '"${runtimeShell}"'
+    for f in command.go command_test.go; do
+      substituteInPlace $f --replace '"sh"' '"${runtimeShell}"'
+    done
   '';
 
-  goDeps = ./deps.nix;
-
   meta = with lib; {
     description =
       "Execute scripts on IMAP mailbox changes (new/deleted/updated messages) using IDLE";
diff --git a/nixpkgs/pkgs/tools/networking/grpcui/default.nix b/nixpkgs/pkgs/tools/networking/grpcui/default.nix
index a9fb7c823f9e..1fa47ba917fc 100644
--- a/nixpkgs/pkgs/tools/networking/grpcui/default.nix
+++ b/nixpkgs/pkgs/tools/networking/grpcui/default.nix
@@ -17,7 +17,7 @@ buildGoModule rec {
 
   subPackages = [ "cmd/grpcui" ];
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
+  ldflags = [ "-s" "-w" "-X main.version=${version}" ];
 
   meta = with lib; {
     description = "An interactive web UI for gRPC, along the lines of postman";
diff --git a/nixpkgs/pkgs/tools/networking/grpcurl/default.nix b/nixpkgs/pkgs/tools/networking/grpcurl/default.nix
index ec181c17e9ea..e6cd09dc2fd7 100644
--- a/nixpkgs/pkgs/tools/networking/grpcurl/default.nix
+++ b/nixpkgs/pkgs/tools/networking/grpcurl/default.nix
@@ -2,20 +2,20 @@
 
 buildGoModule rec {
   pname = "grpcurl";
-  version = "1.8.1";
+  version = "1.8.2";
 
   src = fetchFromGitHub {
     owner = "fullstorydev";
     repo = "grpcurl";
     rev = "v${version}";
-    sha256 = "sha256-BxmoIGhuAt/uhHLNdMiSrNVWAoxAAMKPJ/NsXjf2ynk=";
+    sha256 = "sha256-/no8bRGoKibtcjaITUuzwAbX+gPHNJROSf79iuuRwe4=";
   };
 
   subPackages = [ "cmd/grpcurl" ];
 
-  vendorSha256 = "sha256-EnstvJk2kZ1Ft5xY1dO14wnmT//2K72OnDMZqeaOeQI=";
+  vendorSha256 = "sha256-nl8vKVhUMSO20qCDyhNkU5cghNy8vIFqSBvLk59nbWg=";
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
+  ldflags = [ "-s" "-w" "-X main.version=${version}" ];
 
   meta = with lib; {
     description = "Like cURL, but for gRPC: Command-line tool for interacting with gRPC servers";
diff --git a/nixpkgs/pkgs/tools/networking/gvproxy/default.nix b/nixpkgs/pkgs/tools/networking/gvproxy/default.nix
new file mode 100644
index 000000000000..662f909b6245
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/gvproxy/default.nix
@@ -0,0 +1,34 @@
+{ lib, fetchFromGitHub, buildGoModule }:
+
+buildGoModule rec {
+  pname = "gvproxy";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "containers";
+    repo = "gvisor-tap-vsock";
+    rev = "v${version}";
+    sha256 = "sha256-cXaX7A8Wgq/PEHnFrparZjOKdENX3pWWXYfrEuFLDx0=";
+  };
+
+  vendorSha256 = null;
+
+  buildPhase = ''
+    runHook preBuild
+    make build
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    install bin/* -Dt $out/bin
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Network stack based on gVisor";
+    homepage = "https://github.com/containers/gvisor-tap-vsock";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ ] ++ teams.podman.members;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/haproxy/default.nix b/nixpkgs/pkgs/tools/networking/haproxy/default.nix
index bb79ad956a67..32fa2af818bf 100644
--- a/nixpkgs/pkgs/tools/networking/haproxy/default.nix
+++ b/nixpkgs/pkgs/tools/networking/haproxy/default.nix
@@ -11,11 +11,11 @@ assert usePcre -> pcre != null;
 
 stdenv.mkDerivation rec {
   pname = "haproxy";
-  version = "2.3.10";
+  version = "2.3.13";
 
   src = fetchurl {
     url = "https://www.haproxy.org/download/${lib.versions.majorMinor version}/src/${pname}-${version}.tar.gz";
-    sha256 = "sha256-mUbgz8g/KQcrNDHjckYiHPnUqdKKFYwHVxTTRSZvTzU=";
+    sha256 = "0mz2vga8wwhqa8n4psphbqfd5q33n4m8ar7ac9chhn0i397s8lf6";
   };
 
   buildInputs = [ openssl zlib ]
diff --git a/nixpkgs/pkgs/tools/networking/hp2p/default.nix b/nixpkgs/pkgs/tools/networking/hp2p/default.nix
new file mode 100644
index 000000000000..52f3455ed4d5
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/hp2p/default.nix
@@ -0,0 +1,38 @@
+{ lib, stdenv, fetchFromGitHub, mpi, python3Packages, autoconf, automake } :
+
+stdenv.mkDerivation rec {
+  pname = "hp2p";
+  version = "3.3";
+
+  src = fetchFromGitHub {
+    owner = "cea-hpc";
+    repo = "hp2p";
+    rev = version;
+    sha256 = "0zvlwb941rlp3vrf9yzv7njgpj3mh4671ch7qvxfa4hq2ivd52br";
+  };
+
+  patches = [ ./python3.patch ];
+  enableParallelBuilding = true;
+  nativeBuildInputs = [ autoconf automake python3Packages.wrapPython ];
+  buildInputs = [ mpi ] ++ (with python3Packages; [ python numpy matplotlib plotly mpldatacursor ]) ;
+  pythonPath = (with python3Packages; [ numpy matplotlib plotly mpldatacursor ]) ;
+
+  preConfigure = ''
+    patchShebangs autogen.sh
+    ./autogen.sh
+    export CC=mpicc
+    export CXX=mpic++
+  '';
+
+  postInstall = ''
+    wrapPythonPrograms
+  '';
+
+  meta = with lib; {
+    description = "A MPI based benchmark for network diagnostics";
+    homepage = "https://github.com/cea-hpc/hp2p";
+    platforms = platforms.unix;
+    license = licenses.cecill-c;
+    maintainers = [ maintainers.bzizou ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/hp2p/python3.patch b/nixpkgs/pkgs/tools/networking/hp2p/python3.patch
new file mode 100644
index 000000000000..13043d9f09f1
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/hp2p/python3.patch
@@ -0,0 +1,120 @@
+diff -u -r source.orig/src/vizhp2p source/src/vizhp2p
+--- source.orig/src/vizhp2p	1970-01-01 01:00:01.000000000 +0100
++++ source/src/vizhp2p	2021-08-24 10:41:42.926881770 +0200
+@@ -94,25 +94,25 @@
+             with open(hostfile) as fd:
+                 for line in fd:
+                     if line.startswith(motif_rank):
+-                        print line
++                        print(line)
+                         c,v = line[len(motif_rank)+1:-1].split(separator)
+                         nodes[c] = v
+                         
+         # display k worst nodes indices
+-        print "\nTop %d bad mean:" % k
++        print("\nTop %d bad mean:" % k)
+         mean_order = np.argsort(a_mean)
+-        print [nodes[str(c)] for c in mean_order[:k]]
++        print([nodes[str(c)] for c in mean_order[:k]])
+         mean_st = "Top nodes with bad mean:\n"
+         for i in range(0, k, hostname_per_line):
+             mean_st += repr([nodes[str(c)] for c 
+                              in mean_order[i:i + hostname_per_line]]) + "\n"
+ 
+-        print "Top %d bad std:" % k
+-        print [nodes[str(c)] for c in np.argsort(a_std)[-k:][::-1]]
++        print("Top %d bad std:" % k)
++        print([nodes[str(c)] for c in np.argsort(a_std)[-k:][::-1]])
+ 
+-        print "Top %d bad mean/std:" % k
++        print("Top %d bad mean/std:" % k)
+         pen_order = np.argsort(a_mean / a_std)
+-        print [nodes[str(c)] for c in pen_order[:k]]
++        print([nodes[str(c)] for c in pen_order[:k]])
+         pen_st = "Top nodes with bad mean/std:\n"
+         for i in range(0, k, hostname_per_line):
+             pen_st += repr([nodes[str(c)] for c 
+@@ -293,9 +293,9 @@
+ # and 'p' (snapshot) 
+ def onrefresh(event):
+     if event.key == 'r':
+-        print "refreshing...",
++        print("refreshing...", end=' ')
+         loop()
+-        print "ok"
++        print("ok")
+     elif event.key == 'q':
+         exit()
+     elif event.key == 'p':
+@@ -303,9 +303,9 @@
+         fig1.savefig(snapfile)
+         snapfile = outputname + "_snapshot_time.png"
+         fig2.savefig(snapfile)
+-        print 'snapshot saved (%s)' % snapfile
++        print('snapshot saved (%s)' % snapfile)
+     else:
+-        print "The answer to %s is 42." % event.key
++        print("The answer to %s is 42." % event.key)
+ 
+ 
+ if __name__ == "__main__":
+@@ -356,11 +356,11 @@
+         countfile = outputname + ".count.bin"
+ 
+     print("visu_hp2p configuration:")
+-    print("   DATAFILE            : %s"%resfile)
+-    print("   BIN_TIMER_FILE      : %s"%resfile_time)
+-    print("   HOSTFILE            : %s"%hostfile)
+-    print("   Bad nodes to display: %d"%k)
+-    print("   GUI resolution      : %s"%resolution)
++    print(("   DATAFILE            : %s"%resfile))
++    print(("   BIN_TIMER_FILE      : %s"%resfile_time))
++    print(("   HOSTFILE            : %s"%hostfile))
++    print(("   Bad nodes to display: %d"%k))
++    print(("   GUI resolution      : %s"%resolution))
+ 
+     hostname_per_line = 4 # for GUI layout
+     refresh_in_sec = 60
+@@ -377,7 +377,7 @@
+     # wait for resfile
+     while not os.path.exists(resfile) :
+         time.sleep(5)
+-        print "Waiting for input files..."
++        print("Waiting for input files...")
+ 
+     # add callback on key press event
+     cid1 = fig1.canvas.mpl_connect('key_press_event', onrefresh)
+Only in source/src: vizhp2p.bak
+diff -u -r source.orig/src/vizhp2p_html source/src/vizhp2p_html
+--- source.orig/src/vizhp2p_html	1970-01-01 01:00:01.000000000 +0100
++++ source/src/vizhp2p_html	2021-08-24 10:41:54.799946303 +0200
+@@ -118,7 +118,7 @@
+     hostfile = args.hostfile
+     clustername = args.clustername
+     if len(args.OutputName) == 0:
+-        print "No DATAFILE given! Please provide Hp2p output files name !"
++        print("No DATAFILE given! Please provide Hp2p output files name !")
+         exit(0)
+     else:
+         outputname = args.OutputName.split('.')[0]
+@@ -134,13 +134,13 @@
+         else:
+             outfile = args.outfile
+ 
+-    print "%s configuration:"%commandname
+-    print "   DATAFILE            : %s"%resfile
+-    print "   HOSTFILE            : %s"%hostfile
+-    print "   CLUSTER             : %s"%clustername
+-    print "   OUTPUTFILE          : %s"%outfile
++    print("%s configuration:"%commandname)
++    print("   DATAFILE            : %s"%resfile)
++    print("   HOSTFILE            : %s"%hostfile)
++    print("   CLUSTER             : %s"%clustername)
++    print("   OUTPUTFILE          : %s"%outfile)
+     if not os.path.exists(resfile):
+-        print "%s doesn't exist...Exiting"%resfile
++        print("%s doesn't exist...Exiting"%resfile)
+         exit(0)
+ 
+ # Data management
+Only in source/src: vizhp2p_html.bak
diff --git a/nixpkgs/pkgs/tools/networking/http-prompt/default.nix b/nixpkgs/pkgs/tools/networking/http-prompt/default.nix
index 3732fbd879f5..3f42fa83c64f 100644
--- a/nixpkgs/pkgs/tools/networking/http-prompt/default.nix
+++ b/nixpkgs/pkgs/tools/networking/http-prompt/default.nix
@@ -15,7 +15,7 @@ python3Packages.buildPythonApplication rec {
     click
     httpie
     parsimonious
-    (python.pkgs.callPackage ../../../development/python-modules/prompt_toolkit/1.nix {})
+    (python.pkgs.callPackage ../../../development/python-modules/prompt-toolkit/1.nix {})
     pygments
     six
   ];
diff --git a/nixpkgs/pkgs/tools/networking/hurl/default.nix b/nixpkgs/pkgs/tools/networking/hurl/default.nix
new file mode 100644
index 000000000000..6ecff2e6e389
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/hurl/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, pkg-config
+, libxml2
+, openssl
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "hurl";
+  version = "1.2.0";
+
+  src = fetchFromGitHub {
+    owner = "Orange-OpenSource";
+    repo = pname;
+    rev = version;
+    sha256 = "0hbyqj794pvvfrg6jgz63mih73bnmnvgmwbv705c2238w7wsgk9w";
+  };
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    libxml2
+    openssl
+  ];
+
+  # Tests require network access to a test server
+  doCheck = false;
+
+  cargoSha256 = "09ndgm6kmqwdz7yn2rqxk5xr1qkai87zm1k138cng4wq135c3w6g";
+
+  meta = with lib; {
+    description = "Command line tool that performs HTTP requests defined in a simple plain text format.";
+    homepage = "https://hurl.dev/";
+    maintainers = with maintainers; [ eonpatapon ];
+    license = licenses.asl20;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/hyenae/default.nix b/nixpkgs/pkgs/tools/networking/hyenae/default.nix
index 5007a69fb9b7..b0e579de2209 100644
--- a/nixpkgs/pkgs/tools/networking/hyenae/default.nix
+++ b/nixpkgs/pkgs/tools/networking/hyenae/default.nix
@@ -1,12 +1,13 @@
 {lib, stdenv, fetchurl, libdnet, pkg-config, libpcap}:
 
-stdenv.mkDerivation {
-  name = "hyenae-0.36-1";
+stdenv.mkDerivation rec {
+  pname = "hyenae";
+  version = "0.36-1";
 
   enableParallelBuilding = true;
 
   src = fetchurl {
-    url = "mirror://sourceforge/hyenae/0.36-1/hyenae-0.36-1.tar.gz";
+    url = "mirror://sourceforge/hyenae/${version}/hyenae-${version}.tar.gz";
     sha256 = "1f3x4yn9a9p4f4wk4l8pv7hxfjc8q7cv20xzf7ky735sq1hj0xcg";
   };
 
diff --git a/nixpkgs/pkgs/tools/networking/iftop/default.nix b/nixpkgs/pkgs/tools/networking/iftop/default.nix
index c3e71e6132de..abdb7d05b28b 100644
--- a/nixpkgs/pkgs/tools/networking/iftop/default.nix
+++ b/nixpkgs/pkgs/tools/networking/iftop/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, ncurses, libpcap, automake, nixosTests }:
 
-stdenv.mkDerivation {
-  name = "iftop-1.0pre4";
+stdenv.mkDerivation rec {
+  pname = "iftop";
+  version = "1.0pre4";
 
   src = fetchurl {
-    url = "http://ex-parrot.com/pdw/iftop/download/iftop-1.0pre4.tar.gz";
+    url = "http://ex-parrot.com/pdw/iftop/download/iftop-${version}.tar.gz";
     sha256 = "15sgkdyijb7vbxpxjavh5qm5nvyii3fqcg9mzvw7fx8s6zmfwczp";
   };
 
diff --git a/nixpkgs/pkgs/tools/networking/imapproxy/default.nix b/nixpkgs/pkgs/tools/networking/imapproxy/default.nix
index dd149f57432b..ca0ce6f933fc 100644
--- a/nixpkgs/pkgs/tools/networking/imapproxy/default.nix
+++ b/nixpkgs/pkgs/tools/networking/imapproxy/default.nix
@@ -1,9 +1,11 @@
 {lib, stdenv, fetchurl, openssl, ncurses}:
 
-stdenv.mkDerivation {
-  name = "imapproxy-1.2.7";
+stdenv.mkDerivation rec {
+  pname = "imapproxy";
+  version = "1.2.7";
+
   src = fetchurl {
-    url = "mirror://sourceforge/squirrelmail/squirrelmail-imap_proxy-1.2.7.tar.bz2";
+    url = "mirror://sourceforge/squirrelmail/squirrelmail-imap_proxy-${version}.tar.bz2";
     sha256 = "0j5fq755sxiz338ia93jrkiy64crv30g37pir5pxfys57q7d92nx";
   };
 
diff --git a/nixpkgs/pkgs/tools/networking/imapsync/default.nix b/nixpkgs/pkgs/tools/networking/imapsync/default.nix
index bec0b197c184..4c91fb9096b6 100644
--- a/nixpkgs/pkgs/tools/networking/imapsync/default.nix
+++ b/nixpkgs/pkgs/tools/networking/imapsync/default.nix
@@ -1,9 +1,11 @@
 {lib, stdenv, makeWrapper, fetchurl, perl, openssl, perlPackages }:
 
 stdenv.mkDerivation rec {
-  name = "imapsync-1.727";
+  pname = "imapsync";
+  version = "1.727";
+
   src = fetchurl {
-    url = "https://releases.pagure.org/imapsync/${name}.tgz";
+    url = "https://releases.pagure.org/imapsync/imapsync-${version}.tgz";
     sha256 = "1axacjw2wyaphczfw3kfmi5cl83fyr8nb207nks40fxkbs8q5dlr";
   };
 
diff --git a/nixpkgs/pkgs/tools/networking/inadyn/default.nix b/nixpkgs/pkgs/tools/networking/inadyn/default.nix
index 47d866150266..7a3ee1e01211 100644
--- a/nixpkgs/pkgs/tools/networking/inadyn/default.nix
+++ b/nixpkgs/pkgs/tools/networking/inadyn/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "inadyn";
-  version = "2.7";
+  version = "2.8.1";
 
   src = fetchFromGitHub {
     owner = "troglobit";
     repo = "inadyn";
     rev = "v${version}";
-    sha256 = "00jhayx0hfl9dw78d58bdxa5390bvxq73lz26q9h1gg1xw76adan";
+    sha256 = "sha256-kr9xh7HMikargi0hhj3epH2c6R5lN4qD9nDaChNI4Kg=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/nixpkgs/pkgs/tools/networking/inetutils/default.nix b/nixpkgs/pkgs/tools/networking/inetutils/default.nix
index 285031aaca52..f5c9ff00d924 100644
--- a/nixpkgs/pkgs/tools/networking/inetutils/default.nix
+++ b/nixpkgs/pkgs/tools/networking/inetutils/default.nix
@@ -3,18 +3,17 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "inetutils-1.9.4";
+  pname = "inetutils";
+  version = "2.2";
 
   src = fetchurl {
-    url = "mirror://gnu/inetutils/${name}.tar.gz";
-    sha256 = "05n65k4ixl85dc6rxc51b1b732gnmm8xnqi424dy9f1nz7ppb3xy";
+    url = "mirror://gnu/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "sha256-1Uf2kXLfc6/vaRoPeIYoD9eBrOoo3vT/S0shIIaonYA";
   };
 
   outputs = ["out" "apparmor"];
 
   patches = [
-    ./whois-Update-Canadian-TLD-server.patch
-    ./service-name.patch
     # https://git.congatec.com/yocto/meta-openembedded/commit/3402bfac6b595c622e4590a8ff5eaaa854e2a2a3
     ./inetutils-1_9-PATH_PROCNET_DEV.patch
   ];
diff --git a/nixpkgs/pkgs/tools/networking/inetutils/service-name.patch b/nixpkgs/pkgs/tools/networking/inetutils/service-name.patch
deleted file mode 100644
index e34516313c57..000000000000
--- a/nixpkgs/pkgs/tools/networking/inetutils/service-name.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- inetutils-1.9.4.org/whois/whois.c	2015-03-31 17:40:50.000000000 +0200
-+++ inetutils-1.9.4/whois/whois.c	2017-04-20 10:23:38.487358708 +0200
-@@ -576,7 +576,7 @@
-   hints.ai_family = AF_UNSPEC;
-   hints.ai_socktype = SOCK_STREAM;
- 
--  if ((i = getaddrinfo (server, port ? port : "whois", &hints, &res)) != 0)
-+  if ((i = getaddrinfo (server, port ? port : "nicname", &hints, &res)) != 0)
-     err_quit ("getaddrinfo: %s", gai_strerror (i));
- 
-   for (ressave = res; res; res = res->ai_next)
diff --git a/nixpkgs/pkgs/tools/networking/inetutils/whois-Update-Canadian-TLD-server.patch b/nixpkgs/pkgs/tools/networking/inetutils/whois-Update-Canadian-TLD-server.patch
deleted file mode 100644
index d63d4e29daf0..000000000000
--- a/nixpkgs/pkgs/tools/networking/inetutils/whois-Update-Canadian-TLD-server.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 73e2811a0512556fd5359acc4387f46c79a9884a Mon Sep 17 00:00:00 2001
-From: Mats Erik Andersson <gnu@gisladisker.se>
-Date: Thu, 2 Mar 2017 15:38:38 +0100
-Subject: [PATCH] whois: Update Canadian TLD server.
-Content-Type: text/plain; charset=utf-8
-
----
- ChangeLog           | 8 ++++++++ (OMITTED)
- whois/tld_serv_list | 2 +-
- 2 files changed, 9 insertions(+), 1 deletion(-)
-
-diff --git a/whois/tld_serv_list b/whois/tld_serv_list
-index 056efcf..91697b8 100644
---- a/whois/tld_serv_list
-+++ b/whois/tld_serv_list
-@@ -81,7 +81,7 @@
- #.bw			# NIC? www.botsnet.bw
- #.by	NONE		# NIC? http://unibel.by www.open.by
- .bz	NONE		# http://www.psg.com/dns/bz/
--.ca	whois.cdnnet.ca
-+.ca	whois.cira.ca
- .cc	whois.nic.cc
- .cd	WEB http://www.nic.cd/database/cd/
- #.cf	NONE		# NIC? http://www.socatel.intnet.cf
--- 
-2.10.0
-
diff --git a/nixpkgs/pkgs/tools/networking/innernet/default.nix b/nixpkgs/pkgs/tools/networking/innernet/default.nix
index f643702d625b..a00164670e1a 100644
--- a/nixpkgs/pkgs/tools/networking/innernet/default.nix
+++ b/nixpkgs/pkgs/tools/networking/innernet/default.nix
@@ -2,15 +2,15 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "innernet";
-  version = "1.4.0";
+  version = "1.4.1";
 
   src = fetchFromGitHub {
     owner = "tonarino";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-n+xNWhOkRCIcoBHR8u+xZK81fU0usIfFhYg3BO9yXik=";
+    sha256 = "sha256-ss3BtwRnRAUPfM6yjl14rQrYZ7PHAT3s/MEHnbV7IEU=";
   };
-  cargoSha256 = "sha256-cTqQtJpuwVlUKfAK8ASf6vq6PU2NE8PT/el/Hz4HgtA=";
+  cargoSha256 = "sha256-hhsRLm8wsmvnu3wRK9s4Fjdy0bKLboAKw6qS2XQ1nsI=";
 
   nativeBuildInputs = with llvmPackages; [
     llvm
diff --git a/nixpkgs/pkgs/tools/networking/ipcalc/default.nix b/nixpkgs/pkgs/tools/networking/ipcalc/default.nix
index 5fec55899e46..2237c739ec14 100644
--- a/nixpkgs/pkgs/tools/networking/ipcalc/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ipcalc/default.nix
@@ -1,20 +1,38 @@
-{lib, stdenv, fetchurl, perl}:
+{ lib
+, stdenv
+, fetchFromGitLab
+, glib
+, meson
+, ninja
+, libmaxminddb
+, pkg-config
+, ronn
+}:
+
 stdenv.mkDerivation rec {
   pname = "ipcalc";
-  version = "0.41";
-  src = fetchurl {
-    url = "http://jodies.de/ipcalc-archive/${pname}-${version}.tar.gz";
-    sha256 = "dda9c571ce3369e5b6b06e92790434b54bec1f2b03f1c9df054c0988aa4e2e8a";
+  version = "1.0.1";
+
+  src = fetchFromGitLab {
+    owner = "ipcalc";
+    repo = "ipcalc";
+    rev = version;
+    sha256 = "0qg516jv94dlk0qj0bj5y1dd0i31ziqcjd6m00w8xp5wl97bj2ji";
   };
-  buildInputs = [perl];
-  installPhase = ''
-    mkdir -p $out/bin
-    cp ipcalc $out/bin
-  '';
-  meta = {
+
+  nativeBuildInputs = [
+    glib
+    meson
+    ninja
+    pkg-config
+    libmaxminddb
+    ronn
+  ];
+
+  meta = with lib; {
     description = "Simple IP network calculator";
-    homepage = "http://jodies.de/ipcalc";
-    license = lib.licenses.gpl2Plus;
-    platforms = lib.platforms.all;
+    homepage = "https://gitlab.com/ipcalc/ipcalc";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/iperf/2.nix b/nixpkgs/pkgs/tools/networking/iperf/2.nix
index 3270a25e67b2..82c1ba34f143 100644
--- a/nixpkgs/pkgs/tools/networking/iperf/2.nix
+++ b/nixpkgs/pkgs/tools/networking/iperf/2.nix
@@ -1,11 +1,12 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "iperf-2.0.13";
+  pname = "iperf";
+  version = "2.1.4";
 
   src = fetchurl {
-    url = "mirror://sourceforge/iperf2/files/${name}.tar.gz";
-    sha256 = "1bbq6xr0vrd88zssfiadvw3awyn236yv94fsdl9q2sh9cv4xx2n8";
+    url = "mirror://sourceforge/iperf2/files/${pname}-${version}.tar.gz";
+    sha256 = "1yflnj2ni988nm0p158q8lnkiq2gn2chmvsglyn2gqmqhwp3jaq6";
   };
 
   hardeningDisable = [ "format" ];
diff --git a/nixpkgs/pkgs/tools/networking/iperf/3.nix b/nixpkgs/pkgs/tools/networking/iperf/3.nix
index 5ab3f7f30fbd..f32a4249c006 100644
--- a/nixpkgs/pkgs/tools/networking/iperf/3.nix
+++ b/nixpkgs/pkgs/tools/networking/iperf/3.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "iperf";
-  version = "3.9";
+  version = "3.10.1";
 
   src = fetchurl {
     url = "https://downloads.es.net/pub/iperf/iperf-${version}.tar.gz";
-    sha256 = "0f601avdmzpwsa3lbi0ppjhkrdipm5wifhhxy5czf99370k3mdi4";
+    sha256 = "0nkisr2215w68ivadg3sx3q50iwamznwigs63lclb8jlrih9gg03";
   };
 
   buildInputs = [ openssl ];
diff --git a/nixpkgs/pkgs/tools/networking/ipinfo/default.nix b/nixpkgs/pkgs/tools/networking/ipinfo/default.nix
index 91bc654c83a0..9a48588d3d86 100644
--- a/nixpkgs/pkgs/tools/networking/ipinfo/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ipinfo/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "ipinfo";
-  version = "2.0.1";
+  version = "2.1.1";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = "cli";
     rev = "${pname}-${version}";
-    sha256 = "00rqqkybvzxcpa6fy799fxmn95xqx7s3z3mqfryzi35dlmjdfzqy";
+    sha256 = "15pwx94n4qi02r3ppqkpnkikpnbqmr8rrn9gmkbjy2vbdi147qwl";
   };
 
   vendorSha256 = null;
diff --git a/nixpkgs/pkgs/tools/networking/isync/default.nix b/nixpkgs/pkgs/tools/networking/isync/default.nix
index 666e19ca81ae..a6181e6f2ded 100644
--- a/nixpkgs/pkgs/tools/networking/isync/default.nix
+++ b/nixpkgs/pkgs/tools/networking/isync/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "isync";
-  version = "1.4.2";
+  version = "1.4.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/isync/${pname}-${version}.tar.gz";
-    sha256 = "0hskfpj4r4q3959k3npyqli353daj3r5d9mfia9bbmig87nyfd8r";
+    sha256 = "024p3glj4p7fhrssw5sr55arls9zna1igxxrspxlfd6sbds21ixl";
   };
 
   nativeBuildInputs = [ pkg-config perl ];
diff --git a/nixpkgs/pkgs/tools/networking/jnettop/default.nix b/nixpkgs/pkgs/tools/networking/jnettop/default.nix
index bd31235b6f94..91f92236ecf8 100644
--- a/nixpkgs/pkgs/tools/networking/jnettop/default.nix
+++ b/nixpkgs/pkgs/tools/networking/jnettop/default.nix
@@ -1,10 +1,11 @@
 { fetchurl, fetchpatch, lib, stdenv, autoconf, libpcap, ncurses, pkg-config, glib }:
 
-stdenv.mkDerivation {
-  name = "jnettop-0.13.0";
+stdenv.mkDerivation rec {
+  pname = "jnettop";
+  version = "0.13.0";
 
   src = fetchurl {
-    url = "http://jnettop.kubs.info/dist/jnettop-0.13.0.tar.gz";
+    url = "http://jnettop.kubs.info/dist/jnettop-${version}.tar.gz";
     sha256 = "1855np7c4b0bqzhf1l1dyzxb90fpnvrirdisajhci5am6als31z9";
   };
 
diff --git a/nixpkgs/pkgs/tools/networking/jwhois/default.nix b/nixpkgs/pkgs/tools/networking/jwhois/default.nix
index 6eb26de82fc9..5a79a09281c3 100644
--- a/nixpkgs/pkgs/tools/networking/jwhois/default.nix
+++ b/nixpkgs/pkgs/tools/networking/jwhois/default.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, lynx, fetchurl}:
 
-stdenv.mkDerivation {
-  name = "jwhois-4.0";
+stdenv.mkDerivation rec {
+  pname = "jwhois";
+  version = "4.0";
 
   src = fetchurl {
-    url = "mirror://gnu/jwhois/jwhois-4.0.tar.gz";
+    url = "mirror://gnu/jwhois/jwhois-${version}.tar.gz";
     sha256 = "0knn7iaj5v0n6jpmldyv2yk4bcy9dn3kywmv63bwc5drh9kvi6zs";
   };
 
diff --git a/nixpkgs/pkgs/tools/networking/kea/default.nix b/nixpkgs/pkgs/tools/networking/kea/default.nix
index e3e4a67c131f..8928215dccb7 100644
--- a/nixpkgs/pkgs/tools/networking/kea/default.nix
+++ b/nixpkgs/pkgs/tools/networking/kea/default.nix
@@ -14,11 +14,11 @@
 
 stdenv.mkDerivation rec {
   pname = "kea";
-  version = "1.9.9";
+  version = "1.9.10";
 
   src = fetchurl {
     url = "https://ftp.isc.org/isc/${pname}/${version}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-iVSWBR1+SkXlkwMii2PXpcxFSXYigz4lfNnMZBvS2kM=";
+    sha256 = "08pr2qav87jmrf074v8zbqyjkl51wf6r9hhgbkzhdav9d4f9kny3";
   };
 
   patches = [ ./dont-create-var.patch ];
diff --git a/nixpkgs/pkgs/tools/networking/libreswan/default.nix b/nixpkgs/pkgs/tools/networking/libreswan/default.nix
index 24b7176e82b5..766a1030fd7e 100644
--- a/nixpkgs/pkgs/tools/networking/libreswan/default.nix
+++ b/nixpkgs/pkgs/tools/networking/libreswan/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchurl
-, fetchpatch
 , nixosTests
 , pkg-config
 , systemd
@@ -43,11 +42,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "libreswan";
-  version = "4.4";
+  version = "4.5";
 
   src = fetchurl {
     url = "https://download.libreswan.org/${pname}-${version}.tar.gz";
-    sha256 = "0xj974yc0y1r7235zl4jhvxqz3bpb8js2fy9ic820zq9swh0lgsz";
+    sha256 = "18whvmaxqfmaqbmq72calyzk21wyvxa0idddcsxd8x36vhdza0q7";
   };
 
   strictDeps = true;
@@ -70,14 +69,6 @@ stdenv.mkDerivation rec {
     python3 bash
   ] ++ lib.optional stdenv.isLinux libselinux;
 
-  patches = [
-    # Fix compilation on aarch64, remove on next update
-    (fetchpatch {
-      url = "https://github.com/libreswan/libreswan/commit/ea50d36d2886e44317ba5ba841de1d1bf91aee6c.patch";
-      sha256 = "1jp89rm9jp55zmiyimyhg7yadj0fwwxaw7i5gyclrs38w3y1aacj";
-    })
-  ];
-
   prePatch = ''
     # Correct iproute2 path
     sed -e 's|"/sbin/ip"|"${iproute2}/bin/ip"|' \
@@ -111,10 +102,8 @@ stdenv.mkDerivation rec {
         -i configs/Makefile
   '';
 
-  # Set appropriate paths for build
-  preBuild = "export INC_USRLOCAL=\${out}";
-
   makeFlags = [
+    "PREFIX=$(out)"
     "INITSYSTEM=systemd"
     "UNITDIR=$(out)/etc/systemd/system/"
     "TMPFILESDIR=$(out)/lib/tmpfiles.d/"
diff --git a/nixpkgs/pkgs/tools/networking/lsh/default.nix b/nixpkgs/pkgs/tools/networking/lsh/default.nix
index b03098d540a3..5893579b1a7b 100644
--- a/nixpkgs/pkgs/tools/networking/lsh/default.nix
+++ b/nixpkgs/pkgs/tools/networking/lsh/default.nix
@@ -2,9 +2,11 @@
 , nettools, lsof, procps }:
 
 stdenv.mkDerivation rec {
-  name = "lsh-2.0.4";
+  pname = "lsh";
+  version = "2.0.4";
+
   src = fetchurl {
-    url = "mirror://gnu/lsh/${name}.tar.gz";
+    url = "mirror://gnu/lsh/lsh-${version}.tar.gz";
     sha256 = "614b9d63e13ad3e162c82b6405d1f67713fc622a8bc11337e72949d613713091";
   };
 
diff --git a/nixpkgs/pkgs/tools/networking/maildrop/default.nix b/nixpkgs/pkgs/tools/networking/maildrop/default.nix
index b258c638df52..143172735919 100644
--- a/nixpkgs/pkgs/tools/networking/maildrop/default.nix
+++ b/nixpkgs/pkgs/tools/networking/maildrop/default.nix
@@ -1,10 +1,11 @@
 { fetchurl, lib, stdenv, pkg-config, pcre, perl }:
 
-stdenv.mkDerivation {
-  name = "maildrop-2.6.0";
+stdenv.mkDerivation rec {
+  pname = "maildrop";
+  version = "2.6.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/courier/maildrop/2.6.0/maildrop-2.6.0.tar.bz2";
+    url = "mirror://sourceforge/courier/maildrop/${version}/maildrop-${version}.tar.bz2";
     sha256 = "1a94p2b41iy334cwfwmzi19557dn5j61abh0cp2rfc9dkc8ibhdg";
   };
 
diff --git a/nixpkgs/pkgs/tools/networking/minio-client/default.nix b/nixpkgs/pkgs/tools/networking/minio-client/default.nix
index 06ec1b5a83f7..893537e167ad 100644
--- a/nixpkgs/pkgs/tools/networking/minio-client/default.nix
+++ b/nixpkgs/pkgs/tools/networking/minio-client/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "minio-client";
-  version = "2021-06-13T17-48-22Z";
+  version = "2021-07-27T06-46-19Z";
 
   src = fetchFromGitHub {
     owner = "minio";
     repo = "mc";
     rev = "RELEASE.${version}";
-    sha256 = "sha256-u0WO7KSalDqlRwbN3b74FOb632fIGPZ2F0T8qLrvt+U=";
+    sha256 = "1h0r8c22v94w2hhbc0hv9rc9jyr5ar7gpa76lhr9l8ra0k3qra43";
   };
 
-  vendorSha256 = "sha256-BadW8AKHcrkCS3sXR7bqdgNhRYkfXIQOteMxIbiLvwg=";
+  vendorSha256 = "1s1bq166dlhqll0r5lcdjpd2446cwi1slbi895582jgs38zpkzvw";
 
   subPackages = [ "." ];
 
diff --git a/nixpkgs/pkgs/tools/networking/miniupnpd/default.nix b/nixpkgs/pkgs/tools/networking/miniupnpd/default.nix
index aea0faddf5d7..da950cdd2b8e 100644
--- a/nixpkgs/pkgs/tools/networking/miniupnpd/default.nix
+++ b/nixpkgs/pkgs/tools/networking/miniupnpd/default.nix
@@ -7,12 +7,13 @@ let
   scriptBinEnv = lib.makeBinPath [ which iproute2 iptables gnused coreutils gawk ];
 in
 stdenv.mkDerivation rec {
-  name = "miniupnpd-2.1.20190502";
+  pname = "miniupnpd";
+  version = "2.1.20190502";
 
   src = fetchurl {
-    url = "http://miniupnp.free.fr/files/download.php?file=${name}.tar.gz";
+    url = "http://miniupnp.free.fr/files/download.php?file=miniupnpd-${version}.tar.gz";
     sha256 = "1m8d0g9b0bjwsnqccw1yapp6n0jghmgzwixwjflwmvi2fi6hdp4b";
-    name = "${name}.tar.gz";
+    name = "miniupnpd-${version}.tar.gz";
   };
 
   buildInputs = [ iptables libuuid ];
diff --git a/nixpkgs/pkgs/tools/networking/modem-manager/default.nix b/nixpkgs/pkgs/tools/networking/modem-manager/default.nix
index 2a99c127acbc..9d8f13a40709 100644
--- a/nixpkgs/pkgs/tools/networking/modem-manager/default.nix
+++ b/nixpkgs/pkgs/tools/networking/modem-manager/default.nix
@@ -1,26 +1,17 @@
-{ lib, stdenv, fetchurl, fetchpatch
+{ lib, stdenv, fetchurl
 , glib, udev, libgudev, polkit, ppp, gettext, pkg-config, python3
 , libmbim, libqmi, systemd, vala, gobject-introspection, dbus
 }:
 
 stdenv.mkDerivation rec {
   pname = "modem-manager";
-  version = "1.16.6";
+  version = "1.16.8";
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/ModemManager/ModemManager-${version}.tar.xz";
-    sha256 = "05wn94x71qr36avxjzvyf56nj5illynnf9nn15b17lv61wkbd41a";
+    sha256 = "sha256-If36+UFxJhrZ2ZdxiU9a3kvDnvPR/x1CEFTRRxPpeIA=";
   };
 
-  patches = [
-    # Fix a broken test.
-    # https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/556
-    (fetchpatch {
-      url = "https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/commit/a324667386f35df0c3b3bbf615fa0560d215485d.patch";
-      sha256 = "1xj9gfl6spbp4xdp6gn76k8zvzam5m6lgmbiwdn6ixffzhlfwi5l";
-    })
-  ];
-
   nativeBuildInputs = [ vala gobject-introspection gettext pkg-config ];
 
   buildInputs = [ glib udev libgudev polkit ppp libmbim libqmi systemd ];
diff --git a/nixpkgs/pkgs/tools/networking/mpack/default.nix b/nixpkgs/pkgs/tools/networking/mpack/default.nix
index 3aca81596e08..2c9bf4ff2d30 100644
--- a/nixpkgs/pkgs/tools/networking/mpack/default.nix
+++ b/nixpkgs/pkgs/tools/networking/mpack/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "mpack-1.6";
+  pname = "mpack";
+  version = "1.6";
 
   src = fetchurl {
-    url = "http://ftp.andrew.cmu.edu/pub/mpack/${name}.tar.gz";
+    url = "http://ftp.andrew.cmu.edu/pub/mpack/mpack-${version}.tar.gz";
     sha256 = "0k590z96509k96zxmhv72gkwhrlf55jkmyqlzi72m61r7axhhh97";
   };
 
diff --git a/nixpkgs/pkgs/tools/networking/mu/default.nix b/nixpkgs/pkgs/tools/networking/mu/default.nix
index 4553063929fd..db8f9bdb9d1a 100644
--- a/nixpkgs/pkgs/tools/networking/mu/default.nix
+++ b/nixpkgs/pkgs/tools/networking/mu/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mu";
-  version = "1.4.15";
+  version = "1.6.5";
 
   src = fetchFromGitHub {
     owner  = "djcb";
     repo   = "mu";
     rev    = version;
-    sha256 = "sha256-VIUA0W+AmEbvGWatv4maBGILvUTGhBgO3iQtjIc3vG8=";
+    sha256 = "ZHEUJiEJzQzSwWgY07dDflY5GRiD1We435htY/7IOdQ=";
   };
 
   postPatch = lib.optionalString (batchSize != null) ''
@@ -56,7 +56,7 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     homepage = "https://www.djcbsoftware.nl/code/mu/";
     changelog = "https://github.com/djcb/mu/releases/tag/${version}";
-    maintainers = with maintainers; [ antono peterhoeg ];
+    maintainers = with maintainers; [ antono chvp peterhoeg ];
     platforms = platforms.mesaPlatforms;
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/mubeng/default.nix b/nixpkgs/pkgs/tools/networking/mubeng/default.nix
index 11ebe338c90b..2c560cffb07b 100644
--- a/nixpkgs/pkgs/tools/networking/mubeng/default.nix
+++ b/nixpkgs/pkgs/tools/networking/mubeng/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "mubeng";
-  version = "0.4.5";
+  version = "0.5.2";
 
   src = fetchFromGitHub {
     owner = "kitabisa";
     repo = pname;
     rev = "v${version}";
-    sha256 = "03hm4wqlvsbi06g0ijrhvbk9i2ahmd1m8l80wbcijznhbdl5msl8";
+    sha256 = "sha256-jwBDa/TfXrD+f0q4nyQkpi52Jwl1XWZrMd3fPowNzgA=";
   };
 
-  vendorSha256 = "1qcxix6724ly0klsr8bw3nv6pxn0wixqiqcgqkcp6sia4dxbbg14";
+  vendorSha256 = "sha256-/K1kBuxGEDUCBC7PiSpQRv1NEvTKwN+vNg2rz7pg838=";
 
   meta = with lib; {
     description = "Proxy checker and IP rotator";
diff --git a/nixpkgs/pkgs/tools/networking/nbd/default.nix b/nixpkgs/pkgs/tools/networking/nbd/default.nix
index 6478a15aa1a4..3f3a9b2b7235 100644
--- a/nixpkgs/pkgs/tools/networking/nbd/default.nix
+++ b/nixpkgs/pkgs/tools/networking/nbd/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, glib, which }:
 
 stdenv.mkDerivation rec {
-  name = "nbd-3.21";
+  pname = "nbd";
+  version = "3.21";
 
   src = fetchurl {
-    url = "mirror://sourceforge/nbd/${name}.tar.xz";
+    url = "mirror://sourceforge/nbd/nbd-${version}.tar.xz";
     sha256 = "sha256-52iK852Rczu80tsIBixE/lA9AE5RUodAE5xEr/amvvk=";
   };
 
@@ -14,8 +15,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkg-config which ];
 
   postInstall = ''
-    mkdir -p "$out/share/doc/${name}"
-    cp README.md "$out/share/doc/${name}/"
+    mkdir -p "$out/share/doc/nbd-${version}"
+    cp README.md "$out/share/doc/nbd-${version}/"
   '';
 
   doCheck = true;
diff --git a/nixpkgs/pkgs/tools/networking/ndisc6/default.nix b/nixpkgs/pkgs/tools/networking/ndisc6/default.nix
index 6612315c6f2d..6a728ec30bfe 100644
--- a/nixpkgs/pkgs/tools/networking/ndisc6/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ndisc6/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, perl }:
 
 stdenv.mkDerivation rec {
-  name = "ndisc6-1.0.4";
+  pname = "ndisc6";
+  version = "1.0.4";
 
   src = fetchurl {
-    url = "https://www.remlab.net/files/ndisc6/archive/${name}.tar.bz2";
+    url = "https://www.remlab.net/files/ndisc6/archive/ndisc6-${version}.tar.bz2";
     sha256 = "07swyar1hl83zxmd7fqwb2q0c0slvrswkcfp3nz5lknrk15dmcdb";
   };
 
diff --git a/nixpkgs/pkgs/tools/networking/nebula/default.nix b/nixpkgs/pkgs/tools/networking/nebula/default.nix
index 06615ae25fae..2aec2fb50c76 100644
--- a/nixpkgs/pkgs/tools/networking/nebula/default.nix
+++ b/nixpkgs/pkgs/tools/networking/nebula/default.nix
@@ -17,7 +17,7 @@ buildGoModule rec {
 
   subPackages = [ "cmd/nebula" "cmd/nebula-cert" ];
 
-  buildFlagsArray = [ "-ldflags=" "-X main.Build=${version}" ];
+  ldflags = [ "-X main.Build=${version}" ];
 
   meta = with lib; {
     description = "A scalable overlay networking tool with a focus on performance, simplicity and security";
diff --git a/nixpkgs/pkgs/tools/networking/netboot/default.nix b/nixpkgs/pkgs/tools/networking/netboot/default.nix
index e7d984a798b3..fdd1857ef10e 100644
--- a/nixpkgs/pkgs/tools/networking/netboot/default.nix
+++ b/nixpkgs/pkgs/tools/networking/netboot/default.nix
@@ -1,9 +1,11 @@
 { lib, stdenv, fetchurl, bison, lzo, db4 }:
 
 stdenv.mkDerivation rec {
-  name = "netboot-0.10.2";
+  name = "netboot";
+  version = "0.10.2";
+
   src = fetchurl {
-    url = "mirror://sourceforge/netboot/${name}.tar.gz";
+    url = "mirror://sourceforge/netboot/netboot-${version}.tar.gz";
     sha256 = "09w09bvwgb0xzn8hjz5rhi3aibysdadbg693ahn8rylnqfq4hwg0";
   };
 
diff --git a/nixpkgs/pkgs/tools/networking/netcat/default.nix b/nixpkgs/pkgs/tools/networking/netcat/default.nix
index 7b325b2f4840..ef035d3c671a 100644
--- a/nixpkgs/pkgs/tools/networking/netcat/default.nix
+++ b/nixpkgs/pkgs/tools/networking/netcat/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "netcat-gnu-0.7.1";
+stdenv.mkDerivation rec {
+  pname = "netcat-gnu";
+  version = "0.7.1";
 
   src = fetchurl {
-    url = "mirror://sourceforge/netcat/netcat-0.7.1.tar.bz2";
+    url = "mirror://sourceforge/netcat/netcat-${version}.tar.bz2";
     sha256 = "1frjcdkhkpzk0f84hx6hmw5l0ynpmji8vcbaxg8h5k2svyxz0nmm";
   };
 
diff --git a/nixpkgs/pkgs/tools/networking/netkit/tftp/default.nix b/nixpkgs/pkgs/tools/networking/netkit/tftp/default.nix
index 3a7a3a1deb49..3ebfa3b96bc1 100644
--- a/nixpkgs/pkgs/tools/networking/netkit/tftp/default.nix
+++ b/nixpkgs/pkgs/tools/networking/netkit/tftp/default.nix
@@ -1,13 +1,14 @@
 {lib, stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "netkit-tftp-0.17";
+  pname = "netkit-tftp";
+  version = "0.17";
 
   src = fetchurl {
     urls = [
-      "mirror://ubuntu/pool/universe/n/netkit-tftp/netkit-tftp_0.17.orig.tar.gz"
-      "ftp://ftp.uk.linux.org/pub/linux/Networking/netkit/${name}.tar.gz"
-      "https://ftp.cc.uoc.gr/mirrors/linux/ubuntu/packages/pool/universe/n/netkit-tftp/netkit-tftp_0.17.orig.tar.gz"
+      "mirror://ubuntu/pool/universe/n/netkit-tftp/netkit-tftp_${version}.orig.tar.gz"
+      "ftp://ftp.uk.linux.org/pub/linux/Networking/netkit/netkit-tftp-${version}.tar.gz"
+      "https://ftp.cc.uoc.gr/mirrors/linux/ubuntu/packages/pool/universe/n/netkit-tftp/netkit-tftp_${version}.orig.tar.gz"
     ];
     sha256 = "0kfibbjmy85r3k92cdchha78nzb6silkgn1zaq9g8qaf1l0w0hrs";
   };
diff --git a/nixpkgs/pkgs/tools/networking/networkmanager/applet/default.nix b/nixpkgs/pkgs/tools/networking/networkmanager/applet/default.nix
index 5f83ffae055f..e6cf8d0e09cc 100644
--- a/nixpkgs/pkgs/tools/networking/networkmanager/applet/default.nix
+++ b/nixpkgs/pkgs/tools/networking/networkmanager/applet/default.nix
@@ -25,11 +25,11 @@
 
 stdenv.mkDerivation rec {
   pname = "network-manager-applet";
-  version = "1.22.0";
+  version = "1.24.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-xw2AtI1AqcuZ7JZ8xDifZ+fwMBUopp1IFXIEEzGmRr4=";
+    sha256 = "sha256-ufS8pdA1Jxjge3OF+xlam7yP1oa3lZt0E3hU1SqrnFg=";
   };
 
   mesonFlags = [
diff --git a/nixpkgs/pkgs/tools/networking/networkmanager/default.nix b/nixpkgs/pkgs/tools/networking/networkmanager/default.nix
index 4f3b7a3204d8..63c52a337103 100644
--- a/nixpkgs/pkgs/tools/networking/networkmanager/default.nix
+++ b/nixpkgs/pkgs/tools/networking/networkmanager/default.nix
@@ -1,20 +1,64 @@
-{ lib, stdenv, fetchurl, substituteAll, intltool, pkg-config, fetchpatch, dbus
-, gnome, systemd, libuuid, polkit, gnutls, ppp, dhcp, iptables, python3, vala
-, libgcrypt, dnsmasq, bluez5, readline, libselinux, audit
-, gobject-introspection, modemmanager, openresolv, libndp, newt, libsoup
-, ethtool, gnused, iputils, kmod, jansson, gtk-doc, libxslt
-, docbook_xsl, docbook_xml_dtd_412, docbook_xml_dtd_42, docbook_xml_dtd_43
-, openconnect, curl, meson, ninja, libpsl, mobile-broadband-provider-info, runtimeShell }:
+{ lib
+, stdenv
+, fetchurl
+, substituteAll
+, intltool
+, pkg-config
+, fetchpatch
+, dbus
+, gnome
+, systemd
+, libuuid
+, polkit
+, gnutls
+, ppp
+, dhcp
+, iptables
+, nftables
+, python3
+, vala
+, libgcrypt
+, dnsmasq
+, bluez5
+, readline
+, libselinux
+, audit
+, gobject-introspection
+, modemmanager
+, openresolv
+, libndp
+, newt
+, libsoup
+, ethtool
+, gnused
+, iputils
+, kmod
+, jansson
+, gtk-doc
+, libxslt
+, docbook_xsl
+, docbook_xml_dtd_412
+, docbook_xml_dtd_42
+, docbook_xml_dtd_43
+, openconnect
+, curl
+, meson
+, ninja
+, libpsl
+, mobile-broadband-provider-info
+, runtimeShell
+}:
 
 let
   pythonForDocs = python3.withPackages (pkgs: with pkgs; [ pygobject3 ]);
-in stdenv.mkDerivation rec {
+in
+stdenv.mkDerivation rec {
   pname = "networkmanager";
-  version = "1.30.4";
+  version = "1.32.6";
 
   src = fetchurl {
     url = "mirror://gnome/sources/NetworkManager/${lib.versions.majorMinor version}/NetworkManager-${version}.tar.xz";
-    sha256 = "sha256-YFC3JCEuo85zhhEzWb6pr6H2eaVPYNmZpZmYkuZywZA=";
+    sha256 = "sha256-PSdGBR87MylArCk1TgFpEVnUZ4PXL9IyvTbpgijOWgk=";
   };
 
   outputs = [ "out" "dev" "devdoc" "man" "doc" ];
@@ -23,34 +67,46 @@ in stdenv.mkDerivation rec {
   # patch networkmanager to allow passing these path in config file. This will
   # remove unneeded build-time dependencies.
   mesonFlags = [
-    "-Ddhclient=${dhcp}/bin/dhclient"
-    "-Ddnsmasq=${dnsmasq}/bin/dnsmasq"
-    # Upstream prefers dhclient, so don't add dhcpcd to the closure
-    "-Ddhcpcd=no"
-    "-Ddhcpcanon=no"
-    "-Dpppd=${ppp}/bin/pppd"
-    "-Diptables=${iptables}/bin/iptables"
+    # System paths
+    "--sysconfdir=/etc"
+    "--localstatedir=/var"
+    "-Dsystemdsystemunitdir=${placeholder "out"}/etc/systemd/system"
     # to enable link-local connections
     "-Dudev_dir=${placeholder "out"}/lib/udev"
-    "-Dresolvconf=${openresolv}/bin/resolvconf"
     "-Ddbus_conf_dir=${placeholder "out"}/share/dbus-1/system.d"
-    "-Dsystemdsystemunitdir=${placeholder "out"}/etc/systemd/system"
     "-Dkernel_firmware_dir=/run/current-system/firmware"
-    "--sysconfdir=/etc"
-    "--localstatedir=/var"
-    "-Dcrypto=gnutls"
+
+    # Platform
     "-Dsession_tracking=systemd"
-    "-Dmodem_manager=true"
-    "-Dnmtui=true"
-    "-Ddocs=true"
-    "-Dtests=no"
-    "-Dqt=false"
+    "-Dlibaudit=yes-disabled-by-default"
     "-Dpolkit_agent_helper_1=/run/wrappers/bin/polkit-agent-helper-1"
+
+    # Features
     # Allow using iwd when configured to do so
     "-Diwd=true"
-    "-Dlibaudit=yes-disabled-by-default"
+    "-Dpppd=${ppp}/bin/pppd"
+    "-Diptables=${iptables}/bin/iptables"
+    "-Dnft=${nftables}/bin/nft"
+    "-Dmodem_manager=true"
+    "-Dnmtui=true"
+    "-Ddnsmasq=${dnsmasq}/bin/dnsmasq"
+    "-Dqt=false"
+
+    # Handlers
+    "-Dresolvconf=${openresolv}/bin/resolvconf"
+
+    # DHCP clients
+    "-Ddhclient=${dhcp}/bin/dhclient"
+    # Upstream prefers dhclient, so don't add dhcpcd to the closure
+    "-Ddhcpcd=no"
+    "-Ddhcpcanon=no"
+
+    # Miscellaneous
+    "-Ddocs=true"
     # We don't use firewalld in NixOS
     "-Dfirewalld_zone=false"
+    "-Dtests=no"
+    "-Dcrypto=gnutls"
   ];
 
   patches = [
@@ -66,17 +122,44 @@ in stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    systemd libselinux audit libpsl libuuid polkit ppp libndp curl mobile-broadband-provider-info
-    bluez5 dnsmasq gobject-introspection modemmanager readline newt libsoup jansson
+    systemd
+    libselinux
+    audit
+    libpsl
+    libuuid
+    polkit
+    ppp
+    libndp
+    curl
+    mobile-broadband-provider-info
+    bluez5
+    dnsmasq
+    gobject-introspection
+    modemmanager
+    readline
+    newt
+    libsoup
+    jansson
   ];
 
   propagatedBuildInputs = [ gnutls libgcrypt ];
 
   nativeBuildInputs = [
-    meson ninja intltool pkg-config
-    vala gobject-introspection dbus
+    meson
+    ninja
+    intltool
+    pkg-config
+    vala
+    gobject-introspection
+    dbus
     # Docs
-    gtk-doc libxslt docbook_xsl docbook_xml_dtd_412 docbook_xml_dtd_42 docbook_xml_dtd_43 pythonForDocs
+    gtk-doc
+    libxslt
+    docbook_xsl
+    docbook_xml_dtd_412
+    docbook_xml_dtd_42
+    docbook_xml_dtd_43
+    pythonForDocs
   ];
 
   doCheck = false; # requires /sys, the net
@@ -92,7 +175,7 @@ in stdenv.mkDerivation rec {
     # though, so we need to replace the absolute path with a local one during build.
     # We are using a symlink that will be overridden during installation.
     mkdir -p ${placeholder "out"}/lib
-    ln -s $PWD/libnm/libnm.so.0 ${placeholder "out"}/lib/libnm.so.0
+    ln -s $PWD/src/libnm-client-impl/libnm.so.0 ${placeholder "out"}/lib/libnm.so.0
   '';
 
   passthru = {
@@ -107,7 +190,8 @@ in stdenv.mkDerivation rec {
     homepage = "https://wiki.gnome.org/Projects/NetworkManager";
     description = "Network configuration and management tool";
     license = licenses.gpl2Plus;
-    maintainers = teams.freedesktop.members ++ (with maintainers; [ phreedom domenkozar obadz ]);
+    changelog = "https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/raw/${version}/NEWS";
+    maintainers = teams.freedesktop.members ++ (with maintainers; [ phreedom domenkozar obadz maxeaubrey ]);
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/networkmanager/fix-paths.patch b/nixpkgs/pkgs/tools/networking/networkmanager/fix-paths.patch
index cb9d3c3a0d20..8c7c4b2fa4d8 100644
--- a/nixpkgs/pkgs/tools/networking/networkmanager/fix-paths.patch
+++ b/nixpkgs/pkgs/tools/networking/networkmanager/fix-paths.patch
@@ -1,26 +1,5 @@
-diff --git a/clients/common/nm-vpn-helpers.c b/clients/common/nm-vpn-helpers.c
-index 15c47c3ec..4d1913aa6 100644
---- a/clients/common/nm-vpn-helpers.c
-+++ b/clients/common/nm-vpn-helpers.c
-@@ -208,15 +208,7 @@ nm_vpn_openconnect_authenticate_helper(const char *host,
-         NULL,
-     };
- 
--    path = nm_utils_file_search_in_paths("openconnect",
--                                         "/usr/sbin/openconnect",
--                                         DEFAULT_PATHS,
--                                         G_FILE_TEST_IS_EXECUTABLE,
--                                         NULL,
--                                         NULL,
--                                         error);
--    if (!path)
--        return FALSE;
-+    path = "@openconnect@/bin/openconnect";
- 
-     if (!g_spawn_sync(NULL,
-                       (char **) NM_MAKE_STRV(path, "--authenticate", host),
 diff --git a/data/84-nm-drivers.rules b/data/84-nm-drivers.rules
-index e398cb9f2..a43d61864 100644
+index e398cb9f2f..a43d61864f 100644
 --- a/data/84-nm-drivers.rules
 +++ b/data/84-nm-drivers.rules
 @@ -7,6 +7,6 @@ ACTION!="add|change", GOTO="nm_drivers_end"
@@ -32,7 +11,7 @@ index e398cb9f2..a43d61864 100644
  
  LABEL="nm_drivers_end"
 diff --git a/data/NetworkManager.service.in b/data/NetworkManager.service.in
-index 91ebd9a36..5201a56c3 100644
+index e23b3a5282..c7246a3b61 100644
 --- a/data/NetworkManager.service.in
 +++ b/data/NetworkManager.service.in
 @@ -8,7 +8,7 @@ Before=network.target @DISTRO_NETWORK_SERVICE@
@@ -44,23 +23,11 @@ index 91ebd9a36..5201a56c3 100644
  #ExecReload=/bin/kill -HUP $MAINPID
  ExecStart=@sbindir@/NetworkManager --no-daemon
  Restart=on-failure
-diff --git a/libnm/meson.build b/libnm/meson.build
-index d0846419c..a7adb2cc6 100644
---- a/libnm/meson.build
-+++ b/libnm/meson.build
-@@ -280,7 +280,6 @@ if enable_introspection
-     output: 'nm-settings-docs-gir.xml',
-     command: [
-       generate_setting_docs_env,
--      python.path(),
-       join_paths(meson.source_root(), 'tools', 'generate-docs-nm-settings-docs-gir.py'),
-       '--lib-path', meson.current_build_dir(),
-       '--gir', '@INPUT@',
 diff --git a/src/core/devices/nm-device.c b/src/core/devices/nm-device.c
-index 040dd0b4d..98aea3aa9 100644
+index 21863b9533..c9b709659d 100644
 --- a/src/core/devices/nm-device.c
 +++ b/src/core/devices/nm-device.c
-@@ -13957,14 +13957,14 @@ nm_device_start_ip_check(NMDevice *self)
+@@ -13994,14 +13994,14 @@ nm_device_start_ip_check(NMDevice *self)
              gw = nm_ip4_config_best_default_route_get(priv->ip_config_4);
              if (gw) {
                  _nm_utils_inet4_ntop(NMP_OBJECT_CAST_IP4_ROUTE(gw)->gateway, buf);
@@ -77,11 +44,31 @@ index 040dd0b4d..98aea3aa9 100644
                  log_domain  = LOGD_IP6;
              }
          }
-diff --git a/src/core/nm-core-utils.c b/src/core/nm-core-utils.c
-index 9075c30dd..4b140e92b 100644
---- a/src/core/nm-core-utils.c
-+++ b/src/core/nm-core-utils.c
-@@ -333,7 +333,7 @@ nm_utils_modprobe(GError **error, gboolean suppress_error_logging, const char *a
+diff --git a/src/libnm-client-impl/meson.build b/src/libnm-client-impl/meson.build
+index 21a01e0b04..091c98428f 100644
+--- a/src/libnm-client-impl/meson.build
++++ b/src/libnm-client-impl/meson.build
+@@ -162,7 +162,6 @@ if enable_introspection
+       input: libnm_core_settings_sources,
+       output: 'nm-propery-infos-' + info + '.xml',
+       command: [
+-        python.path(),
+         join_paths(meson.source_root(), 'tools', 'generate-docs-nm-property-infos.py'),
+         info,
+         '@OUTPUT@',
+@@ -219,7 +218,6 @@ if enable_introspection
+       'env',
+       'GI_TYPELIB_PATH=' + gi_typelib_path,
+       'LD_LIBRARY_PATH=' + ld_library_path,
+-      python.path(),
+       join_paths(meson.source_root(), 'tools', 'generate-docs-nm-settings-docs-gir.py'),
+       '--lib-path', meson.current_build_dir(),
+       '--gir', '@INPUT@',
+diff --git a/src/libnm-platform/nm-platform-utils.c b/src/libnm-platform/nm-platform-utils.c
+index 6435dcc482..214d01194e 100644
+--- a/src/libnm-platform/nm-platform-utils.c
++++ b/src/libnm-platform/nm-platform-utils.c
+@@ -2097,7 +2097,7 @@ nmp_utils_modprobe(GError **error, gboolean suppress_error_logging, const char *
  
      /* construct the argument list */
      argv = g_ptr_array_sized_new(4);
@@ -90,3 +77,58 @@ index 9075c30dd..4b140e92b 100644
      g_ptr_array_add(argv, "--use-blacklist");
      g_ptr_array_add(argv, (char *) arg1);
  
+diff --git a/src/libnmc-base/nm-vpn-helpers.c b/src/libnmc-base/nm-vpn-helpers.c
+index 72691e34c2..95495b6585 100644
+--- a/src/libnmc-base/nm-vpn-helpers.c
++++ b/src/libnmc-base/nm-vpn-helpers.c
+@@ -198,25 +198,8 @@ nm_vpn_openconnect_authenticate_helper(const char *host,
+     gs_free const char **output_v = NULL;
+     const char *const *  iter;
+     const char *         path;
+-    const char *const    DEFAULT_PATHS[] = {
+-        "/sbin/",
+-        "/usr/sbin/",
+-        "/usr/local/sbin/",
+-        "/bin/",
+-        "/usr/bin/",
+-        "/usr/local/bin/",
+-        NULL,
+-    };
+ 
+-    path = nm_utils_file_search_in_paths("openconnect",
+-                                         "/usr/sbin/openconnect",
+-                                         DEFAULT_PATHS,
+-                                         G_FILE_TEST_IS_EXECUTABLE,
+-                                         NULL,
+-                                         NULL,
+-                                         error);
+-    if (!path)
+-        return FALSE;
++    path = "@openconnect@/bin/openconnect";
+ 
+     if (!g_spawn_sync(NULL,
+                       (char **) NM_MAKE_STRV(path, "--authenticate", host),
+diff --git a/src/libnmc-setting/meson.build b/src/libnmc-setting/meson.build
+index 8f07ae634e..a1326b3403 100644
+--- a/src/libnmc-setting/meson.build
++++ b/src/libnmc-setting/meson.build
+@@ -6,7 +6,6 @@ if enable_docs
+     input: [nm_settings_docs_xml_gir, nm_property_infos_xml['nmcli']],
+     output: 'settings-docs-input.xml',
+     command: [
+-      python.path(),
+       join_paths(meson.source_root(), 'tools', 'generate-docs-nm-settings-docs-merge.py'),
+       '@OUTPUT@',
+       nm_property_infos_xml['nmcli'],
+diff --git a/src/tests/client/meson.build b/src/tests/client/meson.build
+index b2e455bbbd..a12ebf212a 100644
+--- a/src/tests/client/meson.build
++++ b/src/tests/client/meson.build
+@@ -6,7 +6,6 @@ test(
+   args: [
+     build_root,
+     source_root,
+-    python.path(),
+   ],
+   timeout: 120,
+ )
diff --git a/nixpkgs/pkgs/tools/networking/nfdump/default.nix b/nixpkgs/pkgs/tools/networking/nfdump/default.nix
index 1319e7997dde..30ab31013bcd 100644
--- a/nixpkgs/pkgs/tools/networking/nfdump/default.nix
+++ b/nixpkgs/pkgs/tools/networking/nfdump/default.nix
@@ -2,7 +2,7 @@
 , autoconf, automake, libtool, pkg-config
 , bzip2, libpcap, flex, bison }:
 
-let version = "1.6.22"; in
+let version = "1.6.23"; in
 
 stdenv.mkDerivation {
   pname = "nfdump";
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
     owner = "phaag";
     repo = "nfdump";
     rev = "v${version}";
-    sha256 = "14x2k85ard1kp99hhd90zsmvyw24g03m84rn13gb4grm9gjggzrj";
+    sha256 = "sha256-aM7U+JD8EtxEusvObsRgqS0aqfTfF3vYxCqvw0bgX20=";
   };
 
   nativeBuildInputs = [ autoconf automake flex libtool pkg-config bison ];
diff --git a/nixpkgs/pkgs/tools/networking/ngrok-1/default.nix b/nixpkgs/pkgs/tools/networking/ngrok-1/default.nix
index 82f6ed4760cf..d33b749399ff 100644
--- a/nixpkgs/pkgs/tools/networking/ngrok-1/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ngrok-1/default.nix
@@ -27,7 +27,7 @@ buildGoPackage rec {
     export sourceRoot=$sourceRoot/src/ngrok
   '';
 
-  buildFlags = [ "-tags release" ];
+  tags = [ "release" ];
 
   meta = {
     homepage = "https://ngrok.com/";
diff --git a/nixpkgs/pkgs/tools/networking/noip/default.nix b/nixpkgs/pkgs/tools/networking/noip/default.nix
index 3425d1e3a82e..4b57ef7731ed 100644
--- a/nixpkgs/pkgs/tools/networking/noip/default.nix
+++ b/nixpkgs/pkgs/tools/networking/noip/default.nix
@@ -1,7 +1,8 @@
 {lib, stdenv, fetchurl}:
 
 stdenv.mkDerivation {
-  name = "noip-2.1.9-1";
+  pname = "noip";
+  version = "2.1.9-1";
 
   src = fetchurl {
     url = "https://www.noip.com/client/linux/noip-duc-linux.tar.gz";
diff --git a/nixpkgs/pkgs/tools/networking/nss-mdns/default.nix b/nixpkgs/pkgs/tools/networking/nss-mdns/default.nix
index 212f7bfc2877..6faf1f06dbb8 100644
--- a/nixpkgs/pkgs/tools/networking/nss-mdns/default.nix
+++ b/nixpkgs/pkgs/tools/networking/nss-mdns/default.nix
@@ -1,10 +1,11 @@
 { fetchurl, lib, stdenv, fetchpatch }:
 
 stdenv.mkDerivation rec {
-  name = "nss-mdns-0.10";
+  pname = "nss-mdns";
+  version = "0.10";
 
   src = fetchurl {
-    url = "http://0pointer.de/lennart/projects/nss-mdns/${name}.tar.gz";
+    url = "http://0pointer.de/lennart/projects/nss-mdns/nss-mdns-${version}.tar.gz";
     sha256 = "0vgs6j0qsl0mwzh5a0m0bykr7x6bx79vnbyn0r3q289rghp3qs0y";
   };
 
diff --git a/nixpkgs/pkgs/tools/networking/ntopng/default.nix b/nixpkgs/pkgs/tools/networking/ntopng/default.nix
index 2ba373a2c61c..46dd586c0fa1 100644
--- a/nixpkgs/pkgs/tools/networking/ntopng/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ntopng/default.nix
@@ -7,12 +7,13 @@
 # directory, but we use luajit, zeromq, and rrdtool from nixpkgs
 
 stdenv.mkDerivation rec {
-  name = "ntopng-2.0";
+  pname = "ntopng";
+  version = "2.0";
 
   src = fetchurl {
     urls = [
-      "mirror://sourceforge/project/ntop/ntopng/old/${name}.tar.gz"
-      "mirror://sourceforge/project/ntop/ntopng/${name}.tar.gz"
+      "mirror://sourceforge/project/ntop/ntopng/old/ntopng-${version}.tar.gz"
+      "mirror://sourceforge/project/ntop/ntopng/ntopng-${version}.tar.gz"
     ];
     sha256 = "0l82ivh05cmmqcvs26r6y69z849d28njipphqzvnakf43ggddgrw";
   };
diff --git a/nixpkgs/pkgs/tools/networking/ntp/default.nix b/nixpkgs/pkgs/tools/networking/ntp/default.nix
index 8c62e3b0d646..c8af08a3a30d 100644
--- a/nixpkgs/pkgs/tools/networking/ntp/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ntp/default.nix
@@ -8,10 +8,11 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "ntp-4.2.8p15";
+  pname = "ntp";
+  version = "4.2.8p15";
 
   src = fetchurl {
-    url = "https://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/${name}.tar.gz";
+    url = "https://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-${lib.versions.majorMinor version}/ntp-${version}.tar.gz";
     sha256 = "06cwhimm71safmwvp6nhxp6hvxsg62whnbgbgiflsqb8mgg40n7n";
   };
 
diff --git a/nixpkgs/pkgs/tools/networking/nttcp/default.nix b/nixpkgs/pkgs/tools/networking/nttcp/default.nix
new file mode 100644
index 000000000000..c5a4c4c1cd1f
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/nttcp/default.nix
@@ -0,0 +1,27 @@
+{ lib, stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  pname = "nttcp";
+  version = "1.47";
+
+  src = fetchurl {
+    url = "https://deb.debian.org/debian/pool/non-free/n/nttcp/nttcp_${version}.orig.tar.gz";
+    sha256 = "1bl17dsd53lbpjdqfmpgpd7dms6d2w3scpg7ki7qgfjhs8sarq50";
+  };
+
+  patches = [
+    # Fix format string compiler error
+    ./format-security.patch
+  ];
+
+  makeFlags = [
+    "prefix=${placeholder "out"}"
+  ];
+
+  meta = with lib; {
+    description = "New test TCP program";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ angustrau ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/nttcp/format-security.patch b/nixpkgs/pkgs/tools/networking/nttcp/format-security.patch
new file mode 100644
index 000000000000..f0a604577686
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/nttcp/format-security.patch
@@ -0,0 +1,12 @@
+diff -Nur -x '*.orig' -x '*~' nttcp-1.47/nttcp.c nttcp-1.47.new/nttcp.c
+--- nttcp-1.47/nttcp.c	2000-12-18 05:16:54.000000000 -0500
++++ nttcp-1.47.new/nttcp.c	2012-01-30 23:44:02.260501225 -0500
+@@ -372,7 +372,7 @@
+ #define Message(x)	fMessage(stdout, x)
+ 
+ void Exit(char *s, int ret) {
+-    syslog(LOG_DEBUG, s);
++    syslog(LOG_DEBUG, "%s", s);
+     fMessage(stderr,s);
+     exit(ret);
+ }
diff --git a/nixpkgs/pkgs/tools/networking/nylon/default.nix b/nixpkgs/pkgs/tools/networking/nylon/default.nix
index 840b714fc9f8..b519db4b55b9 100644
--- a/nixpkgs/pkgs/tools/networking/nylon/default.nix
+++ b/nixpkgs/pkgs/tools/networking/nylon/default.nix
@@ -6,10 +6,11 @@ let
     paths = [ libevent.dev libevent.out ];
   };
 in
-stdenv.mkDerivation {
-  name = "nylon-1.21";
+stdenv.mkDerivation rec {
+  pname = "nylon";
+  version = "1.21";
   src = fetchurl {
-    url = "https://monkey.org/~marius/nylon/nylon-1.21.tar.gz";
+    url = "https://monkey.org/~marius/nylon/nylon-${version}.tar.gz";
     sha256 = "34c132b005c025c1a5079aae9210855c80f50dc51dde719298e1113ad73408a4";
   };
 
diff --git a/nixpkgs/pkgs/tools/networking/nzbget/default.nix b/nixpkgs/pkgs/tools/networking/nzbget/default.nix
index 375896258bc7..fc44c193b069 100644
--- a/nixpkgs/pkgs/tools/networking/nzbget/default.nix
+++ b/nixpkgs/pkgs/tools/networking/nzbget/default.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, fetchurl, pkg-config, libxml2, ncurses, libsigcxx, libpar2
-, gnutls, libgcrypt, zlib, openssl }:
+, gnutls, libgcrypt, zlib, openssl, nixosTests }:
 
 stdenv.mkDerivation rec {
   pname = "nzbget";
-  version = "21.0";
+  version = "21.1";
 
   src = fetchurl {
     url = "https://github.com/nzbget/nzbget/releases/download/v${version}/nzbget-${version}-src.tar.gz";
-    sha256 = "0lwd0pfrs4a5ms193hgz2qiyf7grrc925dw6y0nfc0gkp27db9b5";
+    sha256 = "sha256-To/BvrgNwq8tajajOjP0Te3d1EhgAsZE9MR5MEMHICU=";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -17,6 +17,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.tests = { inherit (nixosTests) nzbget; };
+
   meta = with lib; {
     homepage = "https://nzbget.net";
     license = licenses.gpl2Plus;
diff --git a/nixpkgs/pkgs/tools/networking/oapi-codegen/default.nix b/nixpkgs/pkgs/tools/networking/oapi-codegen/default.nix
index ce490cafef6a..41e80a3e12cb 100644
--- a/nixpkgs/pkgs/tools/networking/oapi-codegen/default.nix
+++ b/nixpkgs/pkgs/tools/networking/oapi-codegen/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "oapi-codegen";
-  version = "1.6.0";
+  version = "1.8.2";
 
   src = fetchFromGitHub {
     owner = "deepmap";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-doJ1ceuJ/gL9vlGgV/hKIJeAErAseH0dtHKJX2z7pV0=";
+    sha256 = "sha256-8hyRuGKspWqv+uBeSz4i12Grl83EQVPWB1weEVf9yhA=";
   };
 
-  vendorSha256 = "sha256-Y4WM+o+5jiwj8/99UyNHLpBNbtJkKteIGW2P1Jd9L6M=";
+  vendorSha256 = "sha256-YCZzIsu1mMAAjLGHISrDkfY4Lx0az2SZV8bnZOMalx8=";
 
   # Tests use network
   doCheck = false;
diff --git a/nixpkgs/pkgs/tools/networking/offlineimap/default.nix b/nixpkgs/pkgs/tools/networking/offlineimap/default.nix
index 0de96169769a..5dc789e0dc58 100644
--- a/nixpkgs/pkgs/tools/networking/offlineimap/default.nix
+++ b/nixpkgs/pkgs/tools/networking/offlineimap/default.nix
@@ -1,17 +1,40 @@
-{ lib, fetchFromGitHub, python2Packages,
-  asciidoc, cacert, libxml2, libxslt, docbook_xsl }:
+{ lib
+, fetchFromGitHub
+, python2Packages
+, asciidoc
+, cacert
+, docbook_xsl
+, installShellFiles
+, libxml2
+, libxslt
+}:
 
 python2Packages.buildPythonApplication rec {
-  version = "7.3.3";
+  version = "7.3.4";
   pname = "offlineimap";
 
   src = fetchFromGitHub {
     owner = "OfflineIMAP";
     repo = "offlineimap";
     rev = "v${version}";
-    sha256 = "1gg8ry67i20qapj4z20am9bm67m2q28kixcj7ja75m897vhzarnq";
+    sha256 = "sha256-sra2H0+5+LAIU3+uJnii+AYA05nuDyKVMW97rbaFOfI=";
   };
 
+  nativeBuildInputs = [
+    asciidoc
+    docbook_xsl
+    installShellFiles
+    libxml2
+    libxslt
+  ];
+
+  propagatedBuildInputs = with python2Packages; [
+    six
+    kerberos
+    rfc6555
+    pysocks
+  ];
+
   postPatch = ''
     # Skip xmllint to stop failures due to no network access
     sed -i docs/Makefile -e "s|a2x -v -d |a2x -L -v -d |"
@@ -20,21 +43,19 @@ python2Packages.buildPythonApplication rec {
     sed -i offlineimap/utils/distro.py -e '/def get_os_sslcertfile():/a\ \ \ \ return "${cacert}/etc/ssl/certs/ca-bundle.crt"'
   '';
 
-  doCheck = false;
-
-  nativeBuildInputs = [ asciidoc libxml2 libxslt docbook_xsl ];
-  propagatedBuildInputs = with python2Packages; [ six kerberos rfc6555 pysocks ];
-
   postInstall = ''
     make -C docs man
-    install -D -m 644 docs/offlineimap.1 ''${!outputMan}/share/man/man1/offlineimap.1
-    install -D -m 644 docs/offlineimapui.7 ''${!outputMan}/share/man/man7/offlineimapui.7
+    installManPage docs/offlineimap.1
+    installManPage docs/offlineimapui.7
   '';
 
-  meta = {
+  # Test requires credentials
+  doCheck = false;
+
+  meta = with lib; {
     description = "Synchronize emails between two repositories, so that you can read the same mailbox from multiple computers";
     homepage = "http://offlineimap.org";
-    license = lib.licenses.gpl2Plus;
-    maintainers = with lib.maintainers; [ endocrimes ];
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ endocrimes ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/ofono/default.nix b/nixpkgs/pkgs/tools/networking/ofono/default.nix
index 93e1415b91c4..647cfd4a44ff 100644
--- a/nixpkgs/pkgs/tools/networking/ofono/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ofono/default.nix
@@ -44,12 +44,12 @@ stdenv.mkDerivation rec {
     "--with-dbusconfdir=${placeholder "out"}/share"
     "--with-systemdunitdir=${placeholder "out"}/lib/systemd/system"
     "--enable-external-ell"
+    "--sysconfdir=/etc"
   ];
 
-  postInstall = ''
-    rm -r $out/etc/ofono
-    ln -s /etc/ofono $out/etc/ofono
-  '';
+  installFlags = [
+    "sysconfdir=${placeholder "out"}/etc"
+  ];
 
   enableParallelBuilding = true;
   enableParallelChecking = false;
diff --git a/nixpkgs/pkgs/tools/networking/oneshot/default.nix b/nixpkgs/pkgs/tools/networking/oneshot/default.nix
index 48c20643580f..2e809eb2d1bd 100644
--- a/nixpkgs/pkgs/tools/networking/oneshot/default.nix
+++ b/nixpkgs/pkgs/tools/networking/oneshot/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "oneshot";
-  version = "1.4.1";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = "raphaelreyna";
     repo = "oneshot";
     rev = "v${version}";
-    sha256 = "sha256-UD67xYBb1rvGMSPurte5z2Hcd7+JtXDPbgp3BVBdLuk=";
+    sha256 = "sha256-LxLMETZzoeu7qEHpUFmo/h+7sdly+R5ZWsNhyttcbpA=";
   };
 
-  vendorSha256 = "sha256-d+YE618OywSDOWiiULHENFEqzRmFVUFKPuPXnL1JubM=";
+  vendorSha256 = "sha256-rL/NWIIggvngTrdTDm1g1uH3vC55JF3cWllPc6Yb5jc=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/networking/openapi-generator-cli/default.nix b/nixpkgs/pkgs/tools/networking/openapi-generator-cli/default.nix
index 34d2c22fb242..606b3b4ee9e6 100644
--- a/nixpkgs/pkgs/tools/networking/openapi-generator-cli/default.nix
+++ b/nixpkgs/pkgs/tools/networking/openapi-generator-cli/default.nix
@@ -1,7 +1,7 @@
 { callPackage, lib, stdenv, fetchurl, jre, makeWrapper }:
 
 let this = stdenv.mkDerivation rec {
-  version = "5.1.0";
+  version = "5.2.0";
   pname = "openapi-generator-cli";
 
   jarfilename = "${pname}-${version}.jar";
@@ -12,7 +12,7 @@ let this = stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://maven/org/openapitools/${pname}/${version}/${jarfilename}";
-    sha256 = "06dvy4pwgpyf209n0b27qwkjj7zlgadg2czwxapy94fd1wpq9yb2";
+    sha256 = "sha256-mZYGCIR7XOvONnNFDM86qSM7iug48noNgBcHdik81vk=";
   };
 
   dontUnpack = true;
diff --git a/nixpkgs/pkgs/tools/networking/opensm/default.nix b/nixpkgs/pkgs/tools/networking/opensm/default.nix
index a21fe68e8163..6026292f386f 100644
--- a/nixpkgs/pkgs/tools/networking/opensm/default.nix
+++ b/nixpkgs/pkgs/tools/networking/opensm/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "opensm";
-  version = "3.3.23";
+  version = "3.3.24";
 
   src = fetchFromGitHub {
     owner = "linux-rdma";
     repo = "opensm";
     rev = version;
-    sha256 = "0r0nw7b2711ca6mrj19ymg97x862hdxv54fhhm4kiqvdh6n75y0s";
+    sha256 = "sha256-/bqo5r9pVt7vg29xaRRO/9k21AMlmoe2327Ot5gVIwc=";
   };
 
   nativeBuildInputs = [ autoconf automake libtool bison flex ];
diff --git a/nixpkgs/pkgs/tools/networking/openssh/copyid.nix b/nixpkgs/pkgs/tools/networking/openssh/copyid.nix
index 71baa6a23f1f..40707c2a7346 100644
--- a/nixpkgs/pkgs/tools/networking/openssh/copyid.nix
+++ b/nixpkgs/pkgs/tools/networking/openssh/copyid.nix
@@ -1,6 +1,6 @@
-{ runCommandNoCC, openssh }:
+{ runCommand, openssh }:
 
-runCommandNoCC "ssh-copy-id-${openssh.version}" {
+runCommand "ssh-copy-id-${openssh.version}" {
   meta = openssh.meta // {
     description = "A tool to copy SSH public keys to a remote machine";
     priority = (openssh.meta.priority or 0) - 1;
diff --git a/nixpkgs/pkgs/tools/networking/p2p/azureus/builder.sh b/nixpkgs/pkgs/tools/networking/p2p/azureus/builder.sh
deleted file mode 100644
index 9d41dba2e439..000000000000
--- a/nixpkgs/pkgs/tools/networking/p2p/azureus/builder.sh
+++ /dev/null
@@ -1,19 +0,0 @@
-source $stdenv/setup
-
-mkdir -p $out/jars
-cp $src $out/jars/azureus.jar
-
-mkdir -p $out/bin
-cat > $out/bin/azureus <<EOF
-#! $SHELL -e
-azureusHome=$out
-if test -n "\$HOME"; then
-    azureusHome=\$HOME/.Azureus
-fi
-exec $jdk/bin/java -Xms16m -Xmx128m \
-  -cp $out/jars/azureus.jar:$swt/jars/swt.jar \
-  -Djava.library.path=$swt/lib \
-  -Dazureus.install.path=\$azureusHome \
-  org.gudy.azureus2.ui.swt.Main
-EOF
-chmod +x $out/bin/azureus
diff --git a/nixpkgs/pkgs/tools/networking/p2p/azureus/default.nix b/nixpkgs/pkgs/tools/networking/p2p/azureus/default.nix
deleted file mode 100644
index 1c72be0c5100..000000000000
--- a/nixpkgs/pkgs/tools/networking/p2p/azureus/default.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{lib, stdenv, fetchurl, jdk, swt}:
-
-stdenv.mkDerivation {
-  name = "azureus-2.3.0.6";
-  builder = ./builder.sh;
-  src = fetchurl {
-    url = "http://tarballs.nixos.org/Azureus2.3.0.6.jar";
-    sha256 = "1hwrh3n0b0jbpsdk15zrs7pw175418phhmg6pn4xi1bvilxq1wrd";
-  };
-
-  inherit jdk swt;
-
-  meta = {
-    platforms = lib.platforms.linux;
-  };
-}
diff --git a/nixpkgs/pkgs/tools/networking/p2p/tahoe-lafs/default.nix b/nixpkgs/pkgs/tools/networking/p2p/tahoe-lafs/default.nix
index d55a46f609b1..b0f4cd1f788a 100644
--- a/nixpkgs/pkgs/tools/networking/p2p/tahoe-lafs/default.nix
+++ b/nixpkgs/pkgs/tools/networking/p2p/tahoe-lafs/default.nix
@@ -1,18 +1,19 @@
-{ fetchurl, lib, nettools, pythonPackages, texinfo }:
+{ lib, nettools, python3Packages, texinfo, fetchFromGitHub }:
 
 # FAILURES: The "running build_ext" phase fails to compile Twisted
 # plugins, because it tries to write them into Twisted's (immutable)
 # store path. The problem appears to be non-fatal, but there's probably
 # some loss of functionality because of it.
 
-pythonPackages.buildPythonApplication rec {
-  version = "1.13.0";
+python3Packages.buildPythonApplication rec {
   pname = "tahoe-lafs";
-  namePrefix = "";
+  version = "unstable-2021-07-09";
 
-  src = fetchurl {
-    url = "https://tahoe-lafs.org/downloads/tahoe-lafs-${version}.tar.bz2";
-    sha256 = "11pfz9yyy6qkkyi0kskxlbn2drfppx6yawqyv4kpkrkj4q7x5m42";
+  src = fetchFromGitHub {
+    owner = "tahoe-lafs";
+    repo = "tahoe-lafs";
+    rev = "8e28a9d0e02fde2388aca549da2b5c452ac4337f";
+    sha256 = "sha256-MuD/ZY+die7RCsuVdcePSD0DdwatXRi7CxW2iFt22L0=";
   };
 
   outputs = [ "out" "doc" "info" ];
@@ -38,26 +39,30 @@ pythonPackages.buildPythonApplication rec {
       cd src/allmydata/test
 
       # Buggy?
-      rm cli/test_create.py test_backupdb.py
+      rm cli/test_create.py test_client.py
 
       # These require Tor and I2P.
       rm test_connections.py test_iputil.py test_hung_server.py test_i2p_provider.py test_tor_provider.py
 
+      # Fails due to the above tests missing
+      rm test_python3.py
+
       # Expensive
       rm test_system.py
     )
   '';
 
-  nativeBuildInputs = with pythonPackages; [ sphinx texinfo ];
+  nativeBuildInputs = with python3Packages; [ sphinx texinfo ];
 
   # The `backup' command requires `sqlite3'.
-  propagatedBuildInputs = with pythonPackages; [
-    twisted foolscap nevow simplejson zfec pycryptopp darcsver
-    setuptoolsTrial setuptoolsDarcs pycrypto pyasn1 zope_interface
-    service-identity pyyaml magic-wormhole treq characteristic
+  propagatedBuildInputs = with python3Packages; [
+    appdirs beautifulsoup4 characteristic distro eliot fixtures foolscap future
+    html5lib magic-wormhole netifaces pyasn1 pycrypto pyutil pyyaml recommonmark
+    service-identity simplejson sphinx_rtd_theme testtools treq twisted zfec
+    zope_interface
   ];
 
-  checkInputs = with pythonPackages; [ mock hypothesis twisted ];
+  checkInputs = with python3Packages; [ mock hypothesis twisted ];
 
   # Install the documentation.
   postInstall = ''
@@ -78,7 +83,7 @@ pythonPackages.buildPythonApplication rec {
     trial --rterrors allmydata
   '';
 
-  meta = {
+  meta = with lib; {
     description = "Tahoe-LAFS, a decentralized, fault-tolerant, distributed storage system";
     longDescription = ''
       Tahoe-LAFS is a secure, decentralized, fault-tolerant filesystem.
@@ -86,10 +91,9 @@ pythonPackages.buildPythonApplication rec {
       such a way that it remains available even when some of the peers
       are unavailable, malfunctioning, or malicious.
     '';
-    homepage = "http://tahoe-lafs.org/";
-    license = [ lib.licenses.gpl2Plus /* or */ "TGPPLv1+" ];
+    homepage = "https://tahoe-lafs.org/";
+    license = [ licenses.gpl2Plus /* or */ "TGPPLv1+" ];
     maintainers = with lib.maintainers; [ MostAwesomeDude ];
-    platforms = lib.platforms.gnu ++ lib.platforms.linux;
-    broken = true;
+    platforms = platforms.gnu ++ platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/pcapfix/default.nix b/nixpkgs/pkgs/tools/networking/pcapfix/default.nix
index ee5212b97508..bdce32f0813e 100644
--- a/nixpkgs/pkgs/tools/networking/pcapfix/default.nix
+++ b/nixpkgs/pkgs/tools/networking/pcapfix/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "pcapfix-1.1.4";
+  pname = "pcapfix";
+  version = "1.1.4";
 
   src = fetchurl {
-    url = "https://f00l.de/pcapfix/${name}.tar.gz";
+    url = "https://f00l.de/pcapfix/pcapfix-${version}.tar.gz";
     sha256 = "0m6308ka33wqs568b7cwa1f5q0bv61j2nwfizdyzrazw673lnh6d";
   };
 
diff --git a/nixpkgs/pkgs/tools/networking/pdnsd/default.nix b/nixpkgs/pkgs/tools/networking/pdnsd/default.nix
index a08182394b1f..d797833618cc 100644
--- a/nixpkgs/pkgs/tools/networking/pdnsd/default.nix
+++ b/nixpkgs/pkgs/tools/networking/pdnsd/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "pdnsd-1.2.9a-par";
+stdenv.mkDerivation rec {
+  pname = "pdnsd";
+  version = "1.2.9a-par";
 
   src = fetchurl {
-    url = "http://members.home.nl/p.a.rombouts/pdnsd/releases/pdnsd-1.2.9a-par.tar.gz";
+    url = "http://members.home.nl/p.a.rombouts/pdnsd/releases/pdnsd-${version}.tar.gz";
     sha256 = "0yragv5zk77a1hfkpnsh17vvsw8b14d6mzfng4bb7i58rb83an5v";
   };
 
diff --git a/nixpkgs/pkgs/tools/networking/pdsh/default.nix b/nixpkgs/pkgs/tools/networking/pdsh/default.nix
index 87601b0ddf37..d7ac9ad54e6f 100644
--- a/nixpkgs/pkgs/tools/networking/pdsh/default.nix
+++ b/nixpkgs/pkgs/tools/networking/pdsh/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, perl, readline, rsh, ssh, slurm, slurmSupport ? false }:
 
 stdenv.mkDerivation rec {
-  name = "pdsh-2.34";
+  pname = "pdsh";
+  version = "2.34";
 
   src = fetchurl {
-    url = "https://github.com/chaos/pdsh/releases/download/${name}/${name}.tar.gz";
+    url = "https://github.com/chaos/pdsh/releases/download/pdsh-${version}/pdsh-${version}.tar.gz";
     sha256 = "1s91hmhrz7rfb6h3l5k97s393rcm1ww3svp8dx5z8vkkc933wyxl";
   };
 
diff --git a/nixpkgs/pkgs/tools/networking/polygraph/default.nix b/nixpkgs/pkgs/tools/networking/polygraph/default.nix
index 74347ff83957..f4742e660d83 100644
--- a/nixpkgs/pkgs/tools/networking/polygraph/default.nix
+++ b/nixpkgs/pkgs/tools/networking/polygraph/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, openssl, zlib, ncurses }:
 
 stdenv.mkDerivation rec {
-  name = "polygraph-4.13.0";
+  pname = "polygraph";
+  version = "4.13.0";
 
   src = fetchurl {
-    url = "http://www.web-polygraph.org/downloads/srcs/${name}-src.tgz";
+    url = "http://www.web-polygraph.org/downloads/srcs/polygraph-${version}-src.tgz";
     sha256 = "1rwzci3n7q33hw3spd79adnclzwgwlxcisc9szzjmcjqhbkcpj1a";
   };
 
diff --git a/nixpkgs/pkgs/tools/networking/proxify/default.nix b/nixpkgs/pkgs/tools/networking/proxify/default.nix
index 6a0bfcc6ee22..47e36df3ac64 100644
--- a/nixpkgs/pkgs/tools/networking/proxify/default.nix
+++ b/nixpkgs/pkgs/tools/networking/proxify/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "proxify";
-  version = "0.0.3";
+  version = "0.0.4";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = "proxify";
     rev = "v${version}";
-    sha256 = "15j2q9zrs8bdf72jgldkai3xbi4irk69wyjzv48r74rdgf2k49gn";
+    sha256 = "0qhr51naa7ad80fsr12ka432071mfb1zq2wd852p1lyvy0mdf52s";
   };
 
-  vendorSha256 = "1x78n88ri8kph827k03x1q06zpbbbp7793xsvc376ljda5n6bqig";
+  vendorSha256 = "0dynyhqh8jzmljqng1yh07r6k6zfzlsgh36rlynbdgcvjl7jdhnx";
 
   meta = with lib; {
     description = "Proxy tool for HTTP/HTTPS traffic capture";
diff --git a/nixpkgs/pkgs/tools/networking/proxychains/default.nix b/nixpkgs/pkgs/tools/networking/proxychains/default.nix
index 56a553c0c803..b93c6ae12cfb 100644
--- a/nixpkgs/pkgs/tools/networking/proxychains/default.nix
+++ b/nixpkgs/pkgs/tools/networking/proxychains/default.nix
@@ -19,10 +19,6 @@ stdenv.mkDerivation rec {
     substituteInPlace Makefile --replace "-Werror" "-Werror -Wno-stringop-truncation"
   '';
 
-  postInstall = ''
-    cp src/proxychains.conf $out/etc
-  '';
-
   meta = with lib; {
     description = "Proxifier for SOCKS proxies";
     homepage = "http://proxychains.sourceforge.net";
diff --git a/nixpkgs/pkgs/tools/networking/rdrview/default.nix b/nixpkgs/pkgs/tools/networking/rdrview/default.nix
index 8f5103957053..24ba1d35e9af 100644
--- a/nixpkgs/pkgs/tools/networking/rdrview/default.nix
+++ b/nixpkgs/pkgs/tools/networking/rdrview/default.nix
@@ -1,22 +1,28 @@
-{ lib, stdenv, fetchFromGitHub, libxml2, curl, libseccomp }:
+{ lib, stdenv, fetchFromGitHub, libxml2, curl, libseccomp, installShellFiles }:
 
 stdenv.mkDerivation {
-  name = "rdrview";
-  version = "unstable-2020-12-22";
+  pname = "rdrview";
+  version = "unstable-2021-05-30";
 
   src = fetchFromGitHub {
     owner = "eafer";
     repo = "rdrview";
-    rev = "7be01fb36a6ab3311a9ad1c8c2c75bf5c1345d93";
-    sha256 = "00hnvrrrkyp5429rzcvabq2z00lp1l8wsqxw4h7qsdms707mjnxs";
+    rev = "444ce3d6efd8989cd6ecfdc0560071b20e622636";
+    sha256 = "02VC8r8PdcAfMYB0/NtbPnhsWatpLQc4mW4TmSE1+zk=";
   };
 
   buildInputs = [ libxml2 curl libseccomp ];
+  nativeBuildInputs = [ installShellFiles ];
 
   installPhase = ''
+    runHook preInstall
     install -Dm755 rdrview -t $out/bin
+    installManPage rdrview.1
+    runHook postInstall
   '';
 
+  enableParallelBuilding = true;
+
   meta = with lib; {
     description = "Command line tool to extract main content from a webpage";
     homepage = "https://github.com/eafer/rdrview";
diff --git a/nixpkgs/pkgs/tools/networking/s5cmd/default.nix b/nixpkgs/pkgs/tools/networking/s5cmd/default.nix
index f4a6c2915be6..c472e2626e01 100644
--- a/nixpkgs/pkgs/tools/networking/s5cmd/default.nix
+++ b/nixpkgs/pkgs/tools/networking/s5cmd/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "s5cmd";
-  version = "1.2.1";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "peak";
     repo = "s5cmd";
     rev = "v${version}";
-    sha256 = "sha256-09vBYwnTfLIuu2SPP7DYB+U6sUkQffglIOHNn4+47qQ=";
+    sha256 = "sha256-sood01wI0ZnkXUKDHX14ix3bWHR/PRu6+MDNeos5Jk0=";
   };
 
   vendorSha256 = null;
diff --git a/nixpkgs/pkgs/tools/networking/shadowfox/default.nix b/nixpkgs/pkgs/tools/networking/shadowfox/default.nix
index e6b1c823eb88..a75936a15204 100644
--- a/nixpkgs/pkgs/tools/networking/shadowfox/default.nix
+++ b/nixpkgs/pkgs/tools/networking/shadowfox/default.nix
@@ -15,8 +15,8 @@ buildGoModule rec {
 
   doCheck = false;
 
-  buildFlagsArray = [
-    "-ldflags=-X main.tag=v${version}"
+  ldflags = [
+    "-X main.tag=v${version}"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/networking/sish/default.nix b/nixpkgs/pkgs/tools/networking/sish/default.nix
index 181582f5452f..769b0c57698c 100644
--- a/nixpkgs/pkgs/tools/networking/sish/default.nix
+++ b/nixpkgs/pkgs/tools/networking/sish/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "sish";
-  version = "1.1.5";
+  version = "1.1.6";
 
   src = fetchFromGitHub {
     owner = "antoniomika";
     repo = pname;
     rev = "v${version}";
-    sha256 = "06ckgxhnijs7yrj0hhwh1vk2fvapwn6wb44w3g6qs6n6fmqh92mb";
+    sha256 = "sha256-tljJp6Yoc19kkG7F3g1XhSDK2Y/D/2oRHiDkkOP3nn0=";
   };
 
-  vendorSha256 = "0vfazbaiaqka5nd7imh5ls7k3asf1c17y081nzkban98svg3l3sj";
+  vendorSha256 = "sha256-AHCa6ErxXzDPUFuq4ATD08e2Wz0tNibV2lLXoD7Sygk=";
 
   meta = with lib; {
     description = "HTTP(S)/WS(S)/TCP Tunnels to localhost";
diff --git a/nixpkgs/pkgs/tools/networking/slirp4netns/default.nix b/nixpkgs/pkgs/tools/networking/slirp4netns/default.nix
index c08f234ab5b1..44b08bc13726 100644
--- a/nixpkgs/pkgs/tools/networking/slirp4netns/default.nix
+++ b/nixpkgs/pkgs/tools/networking/slirp4netns/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "slirp4netns";
-  version = "1.1.11";
+  version = "1.1.12";
 
   src = fetchFromGitHub {
     owner = "rootless-containers";
     repo = "slirp4netns";
     rev = "v${version}";
-    sha256 = "sha256-Gxcu9XlLPLcFUoCDrMeWJ6SGUSHU9ZKPHq1oBvmNoJ8=";
+    sha256 = "sha256-NhE5XxInNfGN6hTyZItc7+4HBjcyBLAFTpirEidcipk=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/nixpkgs/pkgs/tools/networking/snmpcheck/default.nix b/nixpkgs/pkgs/tools/networking/snmpcheck/default.nix
new file mode 100644
index 000000000000..e27ead59e971
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/snmpcheck/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, lib, fetchurl, ruby }:
+
+let
+  rubyEnv = ruby.withPackages (ps: [ ps.snmp ]);
+in
+stdenv.mkDerivation rec {
+  pname = "snmpcheck";
+  version = "1.9";
+  src = fetchurl {
+    url = "http://www.nothink.org/codes/snmpcheck/snmpcheck-${version}.rb";
+    sha256 = "sha256-9xkLqbgxU1uykx+M9QsbPAH8OI/Cqn9uw6ALe23Lbq0=";
+    executable = true;
+  };
+
+  dontUnpack = true;
+
+  buildInputs = [ rubyEnv.wrappedRuby ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp $src $out/bin/snmp-check
+  '';
+
+  meta = with lib; {
+    description = "SNMP enumerator";
+    homepage = "http://www.nothink.org/codes/snmpcheck/";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ elohmeier ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/socat/2.x.nix b/nixpkgs/pkgs/tools/networking/socat/2.x.nix
deleted file mode 100644
index 0105fa322c1a..000000000000
--- a/nixpkgs/pkgs/tools/networking/socat/2.x.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ lib, stdenv, fetchurl, openssl }:
-
-stdenv.mkDerivation rec {
-  name = "socat-2.0.0-b9";
-
-  src = fetchurl {
-    url = "http://www.dest-unreach.org/socat/download/${name}.tar.bz2";
-    sha256 = "1ll395xjv4byvv0k2zjbxk8vp3mg3y2w5paa05wv553bqsjv1vs9";
-  };
-
-  buildInputs = [ openssl ];
-
-  patches = lib.singleton ./libressl-fixes.patch ;
-
-  meta = with lib; {
-    description = "A 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 = licenses.gpl2;
-    maintainers = [ maintainers.eelco ];
-    broken = true;  # broken with openssl 1.1
-  };
-}
diff --git a/nixpkgs/pkgs/tools/networking/socat/libressl-fixes.patch b/nixpkgs/pkgs/tools/networking/socat/libressl-fixes.patch
deleted file mode 100644
index cf66033584eb..000000000000
--- a/nixpkgs/pkgs/tools/networking/socat/libressl-fixes.patch
+++ /dev/null
@@ -1,173 +0,0 @@
-Patch from OpenBSD
---- a/sslcls.c	Sat Jan 24 03:15:22 2015
-+++ b/sslcls.c	Sat Jul 18 20:01:59 2015
-@@ -55,6 +55,7 @@ const SSL_METHOD *sycSSLv2_server_method(void) {
- }
- #endif
- 
-+#ifdef HAVE_SSLv3_client_method
- const SSL_METHOD *sycSSLv3_client_method(void) {
-    const SSL_METHOD *result;
-    Debug("SSLv3_client_method()");
-@@ -62,7 +63,9 @@ const SSL_METHOD *sycSSLv3_client_method(void) {
-    Debug1("SSLv3_client_method() -> %p", result);
-    return result;
- }
-+#endif
- 
-+#ifdef HAVE_SSLv3_server_method
- const SSL_METHOD *sycSSLv3_server_method(void) {
-    const SSL_METHOD *result;
-    Debug("SSLv3_server_method()");
-@@ -70,6 +73,7 @@ const SSL_METHOD *sycSSLv3_server_method(void) {
-    Debug1("SSLv3_server_method() -> %p", result);
-    return result;
- }
-+#endif
- 
- const SSL_METHOD *sycSSLv23_client_method(void) {
-    const SSL_METHOD *result;
-@@ -331,14 +335,6 @@ void sycSSL_free(SSL *ssl) {
-    return;
- }
- 
--int sycRAND_egd(const char *path) {
--   int result;
--   Debug1("RAND_egd(\"%s\")", path);
--   result = RAND_egd(path);
--   Debug1("RAND_egd() -> %d", result);
--   return result;
--}
--
- DH *sycPEM_read_bio_DHparams(BIO *bp, DH **x, pem_password_cb *cb, void *u) {
-    DH *result;
-    Debug4("PEM_read_bio_DHparams(%p, %p, %p, %p)",
-@@ -375,7 +371,7 @@ int sycFIPS_mode_set(int onoff) {
- }
- #endif /* WITH_FIPS */
- 
--#if OPENSSL_VERSION_NUMBER >= 0x00908000L
-+#if (OPENSSL_VERSION_NUMBER >= 0x00908000L) && !defined(OPENSSL_NO_COMP)
- const COMP_METHOD *sycSSL_get_current_compression(SSL *ssl) {
-    const COMP_METHOD *result;
-    Debug1("SSL_get_current_compression(%p)", ssl);
---- a/sslcls.h	Sat Jan 24 11:15:22 2015
-+++ b/sslcls.h	Mon Apr 13 15:06:25 2015
-@@ -47,7 +47,6 @@ X509 *sycSSL_get_peer_certificate(SSL *ssl);
- int sycSSL_shutdown(SSL *ssl);
- void sycSSL_CTX_free(SSL_CTX *ctx);
- void sycSSL_free(SSL *ssl);
--int sycRAND_egd(const char *path);
- 
- DH *sycPEM_read_bio_DHparams(BIO *bp, DH **x, pem_password_cb *cb, void *u);
- 
-@@ -55,7 +54,7 @@ BIO *sycBIO_new_file(const char *filename, const char 
- 
- int sycFIPS_mode_set(int onoff);
- 
--#if OPENSSL_VERSION_NUMBER >= 0x00908000L
-+#if (OPENSSL_VERSION_NUMBER >= 0x00908000L) && !defined(OPENSSL_NO_COMP)
- const COMP_METHOD *sycSSL_get_current_compression(SSL *ssl);
- const COMP_METHOD *sycSSL_get_current_expansion(SSL *ssl);
- const char *sycSSL_COMP_get_name(const COMP_METHOD *comp);
-@@ -98,7 +97,6 @@ const char *sycSSL_COMP_get_name(const COMP_METHOD *co
- #define sycSSL_shutdown(s) SSL_shutdown(s)
- #define sycSSL_CTX_free(c) SSL_CTX_free(c)
- #define sycSSL_free(s) SSL_free(s)
--#define sycRAND_egd(p) RAND_egd(p)
- 
- #define sycPEM_read_bio_DHparams(b,x,p,u) PEM_read_bio_DHparams(b,x,p,u)
- 
---- a/xio-openssl.c	Sat Jan 24 15:33:42 2015
-+++ b/xio-openssl.c	Mon Apr 13 14:59:12 2015
-@@ -108,7 +108,6 @@ const struct optdesc opt_openssl_key         = { "open
- const struct optdesc opt_openssl_dhparam     = { "openssl-dhparam",     "dh",    OPT_OPENSSL_DHPARAM,     GROUP_OPENSSL, PH_SPEC, TYPE_FILENAME, OFUNC_SPEC };
- const struct optdesc opt_openssl_cafile      = { "openssl-cafile",     "cafile", OPT_OPENSSL_CAFILE,      GROUP_OPENSSL, PH_SPEC, TYPE_FILENAME, OFUNC_SPEC };
- const struct optdesc opt_openssl_capath      = { "openssl-capath",     "capath", OPT_OPENSSL_CAPATH,      GROUP_OPENSSL, PH_SPEC, TYPE_FILENAME, OFUNC_SPEC };
--const struct optdesc opt_openssl_egd         = { "openssl-egd",        "egd",    OPT_OPENSSL_EGD,         GROUP_OPENSSL, PH_SPEC, TYPE_FILENAME, OFUNC_SPEC };
- const struct optdesc opt_openssl_pseudo      = { "openssl-pseudo",     "pseudo", OPT_OPENSSL_PSEUDO,      GROUP_OPENSSL, PH_SPEC, TYPE_BOOL,     OFUNC_SPEC };
- #if OPENSSL_VERSION_NUMBER >= 0x00908000L
- const struct optdesc opt_openssl_compress    = { "openssl-compress",   "compress", OPT_OPENSSL_COMPRESS,  GROUP_OPENSSL, PH_SPEC, TYPE_STRING,   OFUNC_SPEC };
-@@ -147,7 +146,7 @@ int xio_reset_fips_mode(void) {
- static void openssl_conn_loginfo(SSL *ssl) {
-    Notice1("SSL connection using %s", SSL_get_cipher(ssl));
- 
--#if OPENSSL_VERSION_NUMBER >= 0x00908000L
-+#if (OPENSSL_VERSION_NUMBER >= 0x00908000L) && !defined(OPENSSL_NO_COMP)
-    {
-       const COMP_METHOD *comp, *expansion;
- 
-@@ -722,7 +721,6 @@ int
-    char *opt_dhparam = NULL;	/* file name of DH params */
-    char *opt_cafile = NULL;	/* certificate authority file */
-    char *opt_capath = NULL;	/* certificate authority directory */
--   char *opt_egd = NULL;	/* entropy gathering daemon socket path */
- #if OPENSSL_VERSION_NUMBER >= 0x00908000L
-    char *opt_compress = NULL;	/* compression method */
- #endif
-@@ -741,7 +739,6 @@ int
-    retropt_string(opts, OPT_OPENSSL_CAPATH, &opt_capath);
-    retropt_string(opts, OPT_OPENSSL_KEY, &opt_key);
-    retropt_string(opts, OPT_OPENSSL_DHPARAM, &opt_dhparam);
--   retropt_string(opts, OPT_OPENSSL_EGD, &opt_egd);
-    retropt_bool(opts,OPT_OPENSSL_PSEUDO, &opt_pseudo);
- #if OPENSSL_VERSION_NUMBER >= 0x00908000L
-    retropt_string(opts, OPT_OPENSSL_COMPRESS, &opt_compress);
-@@ -877,10 +874,6 @@ int
-       }
-    }
- 
--   if (opt_egd) {
--      sycRAND_egd(opt_egd);
--   }
--
-    if (opt_pseudo) {
-       long int randdata;
-       /* initialize libc random from actual microseconds */
-@@ -1098,7 +1091,7 @@ static int openssl_SSL_ERROR_SSL(int level, const char
-       if (e == ((ERR_LIB_RAND<<24)|
- 		(RAND_F_SSLEAY_RAND_BYTES<<12)|
- 		(RAND_R_PRNG_NOT_SEEDED)) /*0x24064064*/) {
--	 Error("too few entropy; use options \"egd\" or \"pseudo\"");
-+	 Error("too few entropy; use option \"pseudo\"");
- 	 stat = STAT_NORETRY;
-       } else {
- 	 Msg2(level, "%s(): %s", funcname, ERR_error_string(e, buf));
---- a/xio-openssl.h	Sun Jun 23 07:16:48 2013
-+++ b/xio-openssl.h	Sat Apr 19 15:58:21 2014
-@@ -21,7 +21,6 @@ extern const struct optdesc opt_openssl_key;
- extern const struct optdesc opt_openssl_dhparam;
- extern const struct optdesc opt_openssl_cafile;
- extern const struct optdesc opt_openssl_capath;
--extern const struct optdesc opt_openssl_egd;
- extern const struct optdesc opt_openssl_pseudo;
- #if OPENSSL_VERSION_NUMBER >= 0x00908000L
- extern const struct optdesc opt_openssl_compress;
---- a/xioopts.c	Sat Jan 24 11:15:22 2015
-+++ b/xioopts.c	Mon Apr 13 15:06:25 2015
-@@ -412,7 +412,6 @@ const struct optname optionnames[] = {
- #ifdef ECHOPRT
- 	IF_TERMIOS("echoprt",	&opt_echoprt)
- #endif
--	IF_OPENSSL("egd",	&opt_openssl_egd)
- 	IF_ANY    ("end-close",	&opt_end_close)
- 	IF_TERMIOS("eof",	&opt_veof)
- 	IF_TERMIOS("eol",	&opt_veol)
-@@ -1102,7 +1101,6 @@ const struct optname optionnames[] = {
- 	IF_OPENSSL("openssl-compress",	&opt_openssl_compress)
- #endif
- 	IF_OPENSSL("openssl-dhparam",	&opt_openssl_dhparam)
--	IF_OPENSSL("openssl-egd",	&opt_openssl_egd)
- #if WITH_FIPS
- 	IF_OPENSSL("openssl-fips",	&opt_openssl_fips)
- #endif
---- a/xioopts.h	Sat Jan 24 11:15:22 2015
-+++ b/xioopts.h	Mon Apr 13 15:06:25 2015
-@@ -478,7 +478,6 @@ enum e_optcode {
-    OPT_OPENSSL_COMPRESS,
- #endif
-    OPT_OPENSSL_DHPARAM,
--   OPT_OPENSSL_EGD,
-    OPT_OPENSSL_FIPS,
-    OPT_OPENSSL_KEY,
-    OPT_OPENSSL_METHOD,
diff --git a/nixpkgs/pkgs/tools/networking/sockperf/default.nix b/nixpkgs/pkgs/tools/networking/sockperf/default.nix
new file mode 100644
index 000000000000..d58bcb2f3cac
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/sockperf/default.nix
@@ -0,0 +1,31 @@
+{ lib, stdenv, fetchFromGitHub, autoreconfHook, doxygen
+, enableTool ? false
+, enableTest ? false }:
+
+stdenv.mkDerivation rec {
+  pname = "sockperf";
+  version = "3.7";
+
+  src = fetchFromGitHub {
+    owner = "Mellanox";
+    repo = "sockperf";
+    rev = version;
+    sha256 = "MtpV21lCEAv7ARxk0dAxoOxxlqDM+skdQnPlqOvksjw=";
+  };
+
+  nativeBuildInputs = [ autoreconfHook doxygen ];
+
+  configureFlags = [ "--enable-doc" ]
+    ++ lib.optional enableTest "--enable-test"
+    ++ lib.optional enableTool "--enable-tool";
+
+  doCheck = true;
+
+  meta = with lib; {
+    description = "Network Benchmarking Utility";
+    homepage = "https://github.com/Mellanox/sockperf";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ angustrau ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/spoofer/default.nix b/nixpkgs/pkgs/tools/networking/spoofer/default.nix
index f5c8317d89b8..c28293c570aa 100644
--- a/nixpkgs/pkgs/tools/networking/spoofer/default.nix
+++ b/nixpkgs/pkgs/tools/networking/spoofer/default.nix
@@ -6,11 +6,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "spoofer";
-  version = "1.4.6";
+  version = "1.4.7";
 
   src = fetchurl {
     url = "https://www.caida.org/projects/spoofer/downloads/${pname}-${version}.tar.gz";
-    sha256 = "sha256-+4FNC+rMxIoVXlW7HnBXUg0P4FhNvMTAqJ9c7lXQ6vE=";
+    sha256 = "sha256-6ov1dZbxmBRIhfIzUaxiaHUeiU6SbNKhiQX1W4lmhD8=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/nixpkgs/pkgs/tools/networking/srelay/default.nix b/nixpkgs/pkgs/tools/networking/srelay/default.nix
index 9ff25d6a17cd..da09395fc7a8 100644
--- a/nixpkgs/pkgs/tools/networking/srelay/default.nix
+++ b/nixpkgs/pkgs/tools/networking/srelay/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "srelay-0.4.8";
+stdenv.mkDerivation rec {
+  pname = "srelay";
+  version = "0.4.8";
 
   src = fetchurl {
-    url = "mirror://sourceforge/project/socks-relay/socks-relay/srelay-0.4.8/srelay-0.4.8.tar.gz";
+    url = "mirror://sourceforge/project/socks-relay/socks-relay/srelay-${version}/srelay-${version}.tar.gz";
     sha256 = "1sn6005aqyfvrlkm5445cyyaj6h6wfyskfncfmds55x34hfyxpvl";
   };
 
diff --git a/nixpkgs/pkgs/tools/networking/sshpass/default.nix b/nixpkgs/pkgs/tools/networking/sshpass/default.nix
index 60c9ab97a8b3..4704339aed67 100644
--- a/nixpkgs/pkgs/tools/networking/sshpass/default.nix
+++ b/nixpkgs/pkgs/tools/networking/sshpass/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "sshpass";
-  version = "1.06";
+  version = "1.09";
 
   src = fetchurl {
     url = "mirror://sourceforge/sshpass/sshpass-${version}.tar.gz";
-    sha256 = "0q7fblaczb7kwbsz0gdy9267z0sllzgmf0c7z5c9mf88wv74ycn6";
+    sha256 = "sha256-cXRuXgV//psAtErEBFO/RwkZMMupa76o3Ehxfe3En7c=";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/networking/ssldump/default.nix b/nixpkgs/pkgs/tools/networking/ssldump/default.nix
index fc92f43981b6..0d3e5ccf07e6 100644
--- a/nixpkgs/pkgs/tools/networking/ssldump/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ssldump/default.nix
@@ -1,30 +1,52 @@
-{ lib, stdenv, fetchFromGitHub, openssl, libpcap }:
+{ lib
+, stdenv
+, autoreconfHook
+, fetchFromGitHub
+, json_c
+, libnet
+, libpcap
+, openssl
+}:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "ssldump";
-  version = "1.1";
+  version = "1.4";
 
   src = fetchFromGitHub {
     owner = "adulau";
     repo = "ssldump";
-    rev = "7491b9851505acff95b2c68097e9b9f630d418dc";
-    sha256 = "1j3rln86khdnc98v50hclvqaq83a24c1rfzbcbajkbfpr4yxpnpd";
+    rev = "v${version}";
+    sha256 = "1xnlfqsl93nxbcv4x4xsgxa6mnhcx37hijrpdb7vzla6q7xvg8qr";
   };
 
-  buildInputs = [ libpcap openssl ];
+  nativeBuildInputs = [
+    autoreconfHook
+  ];
+
+  buildInputs = [
+    json_c
+    libnet
+    libpcap
+    openssl
+  ];
+
   prePatch = ''
     sed -i -e 's|#include.*net/bpf.h|#include <pcap/bpf.h>|' \
       base/pcap-snoop.c
   '';
-  configureFlags = [ "--with-pcap-lib=${libpcap}/lib"
-                     "--with-pcap-inc=${libpcap}/include"
-                     "--with-openssl-lib=${openssl}/lib"
-                     "--with-openssl-inc=${openssl}/include" ];
-  meta = {
+
+  configureFlags = [
+    "--with-pcap-lib=${libpcap}/lib"
+    "--with-pcap-inc=${libpcap}/include"
+    "--with-openssl-lib=${openssl}/lib"
+    "--with-openssl-inc=${openssl}/include"
+  ];
+
+  meta = with lib; {
     description = "An SSLv3/TLS network protocol analyzer";
     homepage = "http://ssldump.sourceforge.net";
     license = "BSD-style";
-    maintainers = with lib.maintainers; [ aycanirican ];
-    platforms = lib.platforms.linux;
+    maintainers = with maintainers; [ aycanirican ];
+    platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/ssmtp/default.nix b/nixpkgs/pkgs/tools/networking/ssmtp/default.nix
index 6957d43e7913..ec309a4a2ce0 100644
--- a/nixpkgs/pkgs/tools/networking/ssmtp/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ssmtp/default.nix
@@ -1,12 +1,11 @@
-{lib, stdenv, fetchurl, tlsSupport ? true, openssl ? null}:
+{ lib, stdenv, fetchurl, tlsSupport ? true, openssl }:
 
-assert tlsSupport -> openssl != null;
-
-stdenv.mkDerivation {
-  name = "ssmtp-2.64";
+stdenv.mkDerivation rec {
+  pname = "ssmtp";
+  version = "2.64";
 
   src = fetchurl {
-    url = "mirror://debian/pool/main/s/ssmtp/ssmtp_2.64.orig.tar.bz2";
+    url = "mirror://debian/pool/main/s/ssmtp/ssmtp_${version}.orig.tar.bz2";
     sha256 = "0dps8s87ag4g3jr6dk88hs9zl46h3790marc5c2qw7l71k4pvhr2";
   };
 
@@ -19,16 +18,15 @@ stdenv.mkDerivation {
     (lib.enableFeature tlsSupport "ssl")
   ];
 
-  postConfigure =
-    ''
-      # Don't run the script that interactively generates a config file.
-      # Also don't install the broken, cyclic symlink /lib/sendmail.
-      sed -e '/INSTALLED_CONFIGURATION_FILE/d' \
-          -e 's|/lib/sendmail|$(TMPDIR)/sendmail|' \
-          -i Makefile
-      substituteInPlace Makefile \
-        --replace '$(INSTALL) -s' '$(INSTALL) -s --strip-program $(STRIP)'
-    '';
+  postConfigure = ''
+    # Don't run the script that interactively generates a config file.
+    # Also don't install the broken, cyclic symlink /lib/sendmail.
+    sed -e '/INSTALLED_CONFIGURATION_FILE/d' \
+        -e 's|/lib/sendmail|$(TMPDIR)/sendmail|' \
+        -i Makefile
+    substituteInPlace Makefile \
+      --replace '$(INSTALL) -s' '$(INSTALL) -s --strip-program $(STRIP)'
+  '';
 
   installFlags = [ "etcdir=$(out)/etc" ];
 
@@ -39,6 +37,7 @@ stdenv.mkDerivation {
   NIX_LDFLAGS = lib.optionalString tlsSupport "-lcrypto";
 
   meta = with lib; {
+    description = "simple MTA to deliver mail from a computer to a mail hub";
     platforms = platforms.linux;
     license = licenses.gpl2;
     maintainers = with maintainers; [ basvandijk ];
diff --git a/nixpkgs/pkgs/tools/networking/strongswan/default.nix b/nixpkgs/pkgs/tools/networking/strongswan/default.nix
index 67df00b8e694..ff69dbc75445 100644
--- a/nixpkgs/pkgs/tools/networking/strongswan/default.nix
+++ b/nixpkgs/pkgs/tools/networking/strongswan/default.nix
@@ -1,5 +1,5 @@
-{ lib, stdenv, fetchurl, fetchpatch
-, pkg-config, autoreconfHook
+{ lib, stdenv, fetchpatch, fetchFromGitHub
+, pkg-config, autoreconfHook, perl, gperf, bison, flex
 , gmp, python3, iptables, ldns, unbound, openssl, pcsclite, glib
 , openresolv
 , systemd, pam
@@ -19,14 +19,16 @@ stdenv.mkDerivation rec {
   pname = "strongswan";
   version = "5.8.1"; # Make sure to also update <nixpkgs/nixos/modules/services/networking/strongswan-swanctl/swanctl-params.nix> when upgrading!
 
-  src = fetchurl {
-    url = "https://download.strongswan.org/${pname}-${version}.tar.bz2";
-    sha256 = "034rd6kr1bmnvj8rg2kcxdjb0cgj3dn9310mmm94j1awxan71byr";
+  src = fetchFromGitHub {
+    owner = "strongswan";
+    repo = "strongswan";
+    rev = version;
+    sha256 = "1a1hw2jsbwvkdhhxjmq87hz13ivbgvqwks1q3adz14mqgbc64snd";
   };
 
   dontPatchELF = true;
 
-  nativeBuildInputs = [ pkg-config autoreconfHook ];
+  nativeBuildInputs = [ pkg-config autoreconfHook perl gperf bison flex ];
   buildInputs =
     [ curl gmp python3 ldns unbound openssl pcsclite ]
     ++ optionals enableTNC [ trousers sqlite libxml2 ]
diff --git a/nixpkgs/pkgs/tools/networking/stunnel/default.nix b/nixpkgs/pkgs/tools/networking/stunnel/default.nix
index befc1c3c3eef..68c2fc935fcd 100644
--- a/nixpkgs/pkgs/tools/networking/stunnel/default.nix
+++ b/nixpkgs/pkgs/tools/networking/stunnel/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "stunnel";
-  version = "5.59";
+  version = "5.60";
 
   src = fetchurl {
     url    = "https://www.stunnel.org/downloads/${pname}-${version}.tar.gz";
-    sha256 = "sha256-E3d232vo8XAfHNWQt3eZMuEjR5+5HlGSFxwWeYgVzp8=";
+    sha256 = "sha256-xF12WxUhhh/qmwO0JbndfUizBVEowK7Gc7ul75uPeH0=";
     # please use the contents of "https://www.stunnel.org/downloads/${name}.tar.gz.sha256",
     # not the output of `nix-prefetch-url`
   };
diff --git a/nixpkgs/pkgs/tools/networking/surfraw/default.nix b/nixpkgs/pkgs/tools/networking/surfraw/default.nix
index 70bb5453518a..44e8877eb5d1 100644
--- a/nixpkgs/pkgs/tools/networking/surfraw/default.nix
+++ b/nixpkgs/pkgs/tools/networking/surfraw/default.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl, perl}:
 
-stdenv.mkDerivation {
-  name = "surfraw-2.3.0";
+stdenv.mkDerivation rec {
+  pname = "surfraw";
+  version = "2.3.0";
 
   src = fetchurl {
-    url = "https://gitlab.com/surfraw/Surfraw/uploads/2de827b2786ef2fe43b6f07913ca7b7f/surfraw-2.3.0.tar.gz";
+    url = "https://gitlab.com/surfraw/Surfraw/uploads/2de827b2786ef2fe43b6f07913ca7b7f/surfraw-${version}.tar.gz";
     sha256 = "099nbif0x5cbcf18snc58nx1a3q7z0v9br9p2jiq9pcc7ic2015d";
   };
 
diff --git a/nixpkgs/pkgs/tools/networking/swec/default.nix b/nixpkgs/pkgs/tools/networking/swec/default.nix
index c98a3417d1c4..6751b1cf5eb8 100644
--- a/nixpkgs/pkgs/tools/networking/swec/default.nix
+++ b/nixpkgs/pkgs/tools/networking/swec/default.nix
@@ -1,10 +1,11 @@
 { fetchurl, lib, stdenv, makeWrapper, perlPackages }:
 
 stdenv.mkDerivation rec {
-  name = "swec-0.4";
+  pname = "swec";
+  version = "0.4";
 
   src = fetchurl {
-    url = "http://files.zerodogg.org/swec/${name}.tar.bz2";
+    url = "http://files.zerodogg.org/swec/swec-${version}.tar.bz2";
     sha256 = "1m3971z4z1wr0paggprfz0n8ng8vsnkc9m6s3bdplgyz7qjk6jwx";
   };
 
@@ -24,9 +25,9 @@ stdenv.mkDerivation rec {
   installPhase = ''
     make install prefix="$out"
 
-    mkdir -p "$out/share/${name}"
-    cp -v default.sdf "$out/share/${name}"
-    sed -i "$out/bin/swec" -e"s|realpath(\$0)|'$out/share/${name}/swec'|g"
+    mkdir -p "$out/share/swec-${version}"
+    cp -v default.sdf "$out/share/swec-${version}"
+    sed -i "$out/bin/swec" -e"s|realpath(\$0)|'$out/share/swec-${version}/swec'|g"
 
     wrapProgram "$out/bin/swec" \
       --prefix PERL5LIB : ${with perlPackages; makePerlPath [ LWP URI HTMLParser ]}
diff --git a/nixpkgs/pkgs/tools/networking/telepresence2/default.nix b/nixpkgs/pkgs/tools/networking/telepresence2/default.nix
index 54de621763c5..e7ae903e8682 100644
--- a/nixpkgs/pkgs/tools/networking/telepresence2/default.nix
+++ b/nixpkgs/pkgs/tools/networking/telepresence2/default.nix
@@ -2,20 +2,20 @@
 
 buildGoModule rec {
   pname = "telepresence2";
-  version = "2.3.6";
+  version = "2.4.0";
 
   src = fetchFromGitHub {
     owner = "telepresenceio";
     repo = "telepresence";
     rev = "v${version}";
-    sha256 = "1bs4h450109vhy18kpyy6y4p5l9kvz4w09m56fxh5z547m5ax6k3";
+    sha256 = "1v2jkhdlyq37akqyhb8mwsh7rjdv2fjw8kyzys3dv04k3dy5sl0f";
   };
 
-  vendorSha256 = "0xmw9mc0iy64kb12lsii4nn63ynh6gab9ls8z6mrizjjqz845sa5";
+  vendorSha256 = "1snmp461h8driy1w1xggk669yxl0sjl1m9pbqm7dwk44yb94zi1q";
 
-  buildFlagsArray = ''
-    -ldflags=-s -w -X=github.com/telepresenceio/telepresence/v2/pkg/version.Version=${src.rev}
-  '';
+  ldflags = [
+    "-s" "-w" "-X=github.com/telepresenceio/telepresence/v2/pkg/version.Version=${src.rev}"
+  ];
 
   subPackages = [ "cmd/telepresence" ];
 
diff --git a/nixpkgs/pkgs/tools/networking/tendermint/default.nix b/nixpkgs/pkgs/tools/networking/tendermint/default.nix
index b97c49dd9c96..5afd8aec348e 100644
--- a/nixpkgs/pkgs/tools/networking/tendermint/default.nix
+++ b/nixpkgs/pkgs/tools/networking/tendermint/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "tendermint";
-  version = "0.34.8";
+  version = "0.34.12";
 
   src = fetchFromGitHub {
     owner = "tendermint";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256:03k44w23167az2kk6ccp3139kykzkhack4w2vy0wvs2lb67xiqd9";
+    sha256 = "sha256-CBE0ErHIafJ9OYC8DR3KriYX1aiqKUJk2UoBkIdO1QY=";
   };
 
-  vendorSha256 = "sha256-0Y9QDBVNYE2x3nY3loRKTCtYWXRnK7v+drRVvTMY4Dg=";
+  vendorSha256 = "sha256-cW3YKdF1dAfeewQ/0mhoillIpIMuC2KDsW1XWc7WRoI=";
 
   subPackages = [ "cmd/tendermint" ];
 
diff --git a/nixpkgs/pkgs/tools/networking/termshark/default.nix b/nixpkgs/pkgs/tools/networking/termshark/default.nix
index 7b9a3c42d606..d35e70ad52e4 100644
--- a/nixpkgs/pkgs/tools/networking/termshark/default.nix
+++ b/nixpkgs/pkgs/tools/networking/termshark/default.nix
@@ -22,10 +22,9 @@ buildGoModule rec {
     wrapProgram $out/bin/termshark --prefix PATH : ${lib.makeBinPath [ wireshark-cli ]}
   '';
 
-  buildFlagsArray = ''
-    -ldflags=
-    -X github.com/gcla/termshark.Version=${version}
-  '';
+  ldflags = [
+    "-X github.com/gcla/termshark.Version=${version}"
+  ];
 
   meta = with lib; {
     homepage = "https://termshark.io/";
diff --git a/nixpkgs/pkgs/tools/networking/toxvpn/default.nix b/nixpkgs/pkgs/tools/networking/toxvpn/default.nix
index c433d7d0a668..c5aaec66d9e3 100644
--- a/nixpkgs/pkgs/tools/networking/toxvpn/default.nix
+++ b/nixpkgs/pkgs/tools/networking/toxvpn/default.nix
@@ -1,33 +1,40 @@
-{ lib, stdenv, fetchFromGitHub, cmake, nlohmann_json,
-  libtoxcore, libsodium, libcap, zeromq,
-  systemd ? null }:
-
-with lib;
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, nlohmann_json
+, libtoxcore
+, libsodium
+, libcap
+, zeromq
+, systemd
+}:
 
 stdenv.mkDerivation {
-  name = "toxvpn-2019-09-09";
+  name = "toxvpn";
+  version = "unstable-2019-09-09";
 
   src = fetchFromGitHub {
-    owner  = "cleverca22";
-    repo   = "toxvpn";
-    rev    = "45083dec172ce167f7ed84d571ec2822ebe4d51a";
+    owner = "cleverca22";
+    repo = "toxvpn";
+    rev = "45083dec172ce167f7ed84d571ec2822ebe4d51a";
     sha256 = "193crarrx6q0zd2p6dn67pzv8kngwi440zm1y54njgcz0v3fpxmb";
   };
 
   buildInputs = [ libtoxcore nlohmann_json libsodium zeromq ]
-    ++ optionals stdenv.isLinux [ libcap systemd ];
+    ++ lib.optionals stdenv.isLinux [ libcap systemd ];
 
   nativeBuildInputs = [ cmake ];
 
-  cmakeFlags = optional stdenv.isLinux [ "-DSYSTEMD=1" ];
+  cmakeFlags = lib.optional stdenv.isLinux [ "-DSYSTEMD=1" ];
 
   postInstall = "$out/bin/toxvpn -h";
 
   meta = with lib; {
     description = "A powerful tool that allows one to make tunneled point to point connections over Tox";
-    homepage    = "https://github.com/cleverca22/toxvpn";
-    license     = licenses.gpl3;
+    homepage = "https://github.com/cleverca22/toxvpn";
+    license = licenses.gpl3;
     maintainers = with maintainers; [ cleverca22 obadz toonn ];
-    platforms   = platforms.linux ++ platforms.darwin;
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/trickle/default.nix b/nixpkgs/pkgs/tools/networking/trickle/default.nix
index 8a5143d1e3bd..f07bf5bdca3a 100644
--- a/nixpkgs/pkgs/tools/networking/trickle/default.nix
+++ b/nixpkgs/pkgs/tools/networking/trickle/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, libevent, libtirpc }:
 
 stdenv.mkDerivation rec {
-  name = "trickle-1.07";
+  pname = "trickle";
+  version = "1.07";
 
   src = fetchurl {
-    url = "https://monkey.org/~marius/trickle/${name}.tar.gz";
+    url = "https://monkey.org/~marius/trickle/trickle-${version}.tar.gz";
     sha256 = "0s1qq3k5mpcs9i7ng0l9fvr1f75abpbzfi1jaf3zpzbs1dz50dlx";
   };
 
diff --git a/nixpkgs/pkgs/tools/networking/ucspi-tcp/default.nix b/nixpkgs/pkgs/tools/networking/ucspi-tcp/default.nix
index 0d6e0a2f8d96..4b307079266b 100644
--- a/nixpkgs/pkgs/tools/networking/ucspi-tcp/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ucspi-tcp/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "ucspi-tcp-0.88";
+  pname = "ucspi-tcp";
+  version = "0.88";
 
   src = fetchurl {
-    url = "https://cr.yp.to/ucspi-tcp/${name}.tar.gz";
+    url = "https://cr.yp.to/ucspi-tcp/ucspi-tcp-${version}.tar.gz";
     sha256 = "171yl9kfm8w7l17dfxild99mbf877a9k5zg8yysgb1j8nz51a1ja";
   };
 
diff --git a/nixpkgs/pkgs/tools/networking/udptunnel/default.nix b/nixpkgs/pkgs/tools/networking/udptunnel/default.nix
index 6063cb38b568..362f6fbbc2cf 100644
--- a/nixpkgs/pkgs/tools/networking/udptunnel/default.nix
+++ b/nixpkgs/pkgs/tools/networking/udptunnel/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "udptunnel-19";
+stdenv.mkDerivation rec {
+  pname = "udptunnel";
+  version = "19";
 
   src = fetchurl {
-    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/udptunnel/udptunnel-r19.tar.gz";
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/udptunnel/udptunnel-r${version}.tar.gz";
     sha256 = "1hkrn153rdyrp9g15z4d5dq44cqlnby2bfplp6z0g3862lnv7m3l";
   };
 
diff --git a/nixpkgs/pkgs/tools/networking/unbound/default.nix b/nixpkgs/pkgs/tools/networking/unbound/default.nix
index a0c774fb7341..249376abbb06 100644
--- a/nixpkgs/pkgs/tools/networking/unbound/default.nix
+++ b/nixpkgs/pkgs/tools/networking/unbound/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
   version = "1.13.1";
 
   src = fetchurl {
-    url = "https://unbound.net/downloads/${pname}-${version}.tar.gz";
+    url = "https://nlnetlabs.nl/downloads/unbound/unbound-${version}.tar.gz";
     sha256 = "sha256-hQTZe4/FvYlzRcldEW4O4N34yP+ZWQqytL0TJ4yfULg=";
   };
 
@@ -59,6 +59,13 @@ stdenv.mkDerivation rec {
     "--with-libnghttp2=${libnghttp2.dev}"
   ];
 
+  # Remove references to compile-time dependencies that are included in the configure flags
+  postConfigure = let
+    inherit (builtins) storeDir;
+  in ''
+    sed -E '/CONFCMDLINE/ s;${storeDir}/[a-z0-9]{32}-;${storeDir}/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-;g' -i config.h
+  '';
+
   installFlags = [ "configfile=\${out}/etc/unbound/unbound.conf" ];
 
   postInstall = ''
diff --git a/nixpkgs/pkgs/tools/networking/unbound/python.nix b/nixpkgs/pkgs/tools/networking/unbound/python.nix
index fcfd93be4d67..067f5d2b417b 100644
--- a/nixpkgs/pkgs/tools/networking/unbound/python.nix
+++ b/nixpkgs/pkgs/tools/networking/unbound/python.nix
@@ -1,22 +1,21 @@
-{ lib, stdenv, fetchurl, openssl, expat, libevent, swig, pythonPackages }:
+{ lib, stdenv, unbound, openssl, expat, libevent, swig, pythonPackages }:
 
 let
   inherit (pythonPackages) python;
-in stdenv.mkDerivation rec {
+in
+stdenv.mkDerivation rec {
   pname = "pyunbound";
-  version = "1.9.3";
+  inherit (unbound) version src;
 
-  src = fetchurl {
-    url = "http://unbound.net/downloads/unbound-${version}.tar.gz";
-    sha256 = "1ykdy62sgzv33ggkmzwx2h0ifm7hyyxyfkb4zckv7gz4f28xsm8v";
-  };
+  nativeBuildInputs = [ swig ];
 
-  buildInputs = [ openssl expat libevent swig python ];
+  buildInputs = [ openssl expat libevent python ];
 
-  patchPhase = ''substituteInPlace Makefile.in \
-    --replace "\$(DESTDIR)\$(PYTHON_SITE_PKG)" "$out/${python.sitePackages}" \
-    --replace "\$(LIBTOOL) --mode=install cp _unbound.la" "cp _unbound.la"
-    '';
+  postPatch = ''
+    substituteInPlace Makefile.in \
+      --replace "\$(DESTDIR)\$(PYTHON_SITE_PKG)" "$out/${python.sitePackages}" \
+      --replace "\$(LIBTOOL) --mode=install cp _unbound.la" "cp _unbound.la"
+  '';
 
   preConfigure = "export PYTHON_VERSION=${python.pythonVersion}";
 
@@ -30,18 +29,22 @@ in stdenv.mkDerivation rec {
     "--enable-pie"
     "--enable-relro-now"
     "--with-pyunbound"
-    "DESTDIR=$out PREFIX="
+    "DESTDIR=$out"
+    "PREFIX="
   ];
 
   preInstall = ''
     mkdir -p $out/${python.sitePackages} $out/etc/${pname}
     cp .libs/_unbound.so .libs/libunbound.so* $out/${python.sitePackages}
     substituteInPlace _unbound.la \
-      --replace "-L.libs $PWD/libunbound.la" "-L$out/${python.sitePackages}" \
-      --replace "libdir=\'$PWD/${python.sitePackages}\'" "libdir=\'$out/${python.sitePackages}\'"
-    '';
+      --replace "-L.libs $PWD/libunbound.la" "-L$out/${python.sitePackages}"
+  '';
 
-  installFlags = [ "configfile=\${out}/etc/unbound/unbound.conf pyunbound-install lib" ];
+  installFlags = [
+    "configfile=\${out}/etc/unbound/unbound.conf"
+    "pyunbound-install"
+    "lib"
+  ];
 
   # All we want is the Unbound Python module
   postInstall = ''
@@ -50,16 +53,18 @@ in stdenv.mkDerivation rec {
     $out/bin/unbound-anchor -l | head -1 > $out/etc/${pname}/root.anchor
     $out/bin/unbound-anchor -l | tail --lines=+2 - > $out/etc/${pname}/root.key
     # We don't need anything else
-    rm -fR $out/bin $out/share $out/include $out/etc/unbound
-    patchelf --replace-needed libunbound.so.2 $out/${python.sitePackages}/libunbound.so.2 $out/${python.sitePackages}/_unbound.so
-    '';
+    rm -r $out/bin $out/share $out/include $out/etc/unbound
+  ''
+  # patchelf is only available on Linux and no patching is needed on darwin
+  + lib.optionalString stdenv.isLinux ''
+    patchelf --replace-needed libunbound.so.8 $out/${python.sitePackages}/libunbound.so.8 $out/${python.sitePackages}/_unbound.so
+  '';
 
   meta = with lib; {
     description = "Python library for Unbound, the validating, recursive, and caching DNS resolver";
     license = licenses.bsd3;
-    homepage = "http://www.unbound.net";
+    homepage = "https://www.unbound.net";
     maintainers = with maintainers; [ leenaars ];
-    platforms = lib.platforms.unix;
-    broken = true;
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/uwimap/default.nix b/nixpkgs/pkgs/tools/networking/uwimap/default.nix
index e675268163ac..78480bbc3dff 100644
--- a/nixpkgs/pkgs/tools/networking/uwimap/default.nix
+++ b/nixpkgs/pkgs/tools/networking/uwimap/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, fetchpatch, pam, openssl }:
 
-stdenv.mkDerivation ({
-  name = "uw-imap-2007f";
+stdenv.mkDerivation rec {
+  pname = "uw-imap";
+  version = "2007f";
 
   src = fetchurl {
-    url = "ftp://ftp.cac.washington.edu/imap/imap-2007f.tar.gz";
+    url = "ftp://ftp.cac.washington.edu/imap/imap-${version}.tar.gz";
     sha256 = "0a2a00hbakh0640r2wdpnwr8789z59wnk7rfsihh3j0vbhmmmqak";
   };
 
@@ -59,4 +60,4 @@ stdenv.mkDerivation ({
     echo "Cross-compilation, injecting make flags"
     makeFlagsArray+=("ARRC=${stdenv.hostPlatform.config}-ar rc")
   '';
-})
+}
diff --git a/nixpkgs/pkgs/tools/networking/v2ray/default.nix b/nixpkgs/pkgs/tools/networking/v2ray/default.nix
index 8c82c379c38a..33fbd5bc92f5 100644
--- a/nixpkgs/pkgs/tools/networking/v2ray/default.nix
+++ b/nixpkgs/pkgs/tools/networking/v2ray/default.nix
@@ -3,22 +3,22 @@
 }:
 
 let
-  version = "4.41.0";
+  version = "4.41.1";
 
   src = fetchFromGitHub {
     owner = "v2fly";
     repo = "v2ray-core";
     rev = "v${version}";
-    sha256 = "1300gl6y94i1488ja6kic0m5fa2qxakbdc06qd0lgkg6inzbm6gz";
+    sha256 = "14zqvmf7xa4knmc57ck1ns0i0va0223qdp64qmm3q2w82dh9mnb8";
   };
 
-  vendorSha256 = "sha256-oHKXDzufvTzOzBqFjBzu3vCwTF/FJMomopY3cUktwiM=";
+  vendorSha256 = "sha256-K8gFF9TbhVgNOySz7nhPFIdSNWNYKUyFD0LIk6acnkc=";
 
   assets = {
     # MIT licensed
     "geoip.dat" = let
-      geoipRev = "202106240309";
-      geoipSha256 = "0ypydpgvizf9pfdxna3f6fqn1svsrkac0p3j9s63y55gbqpglacq";
+      geoipRev = "202107290023";
+      geoipSha256 = "14xgy0bsamj2k4knfs1r453yp27wq8qmjqifq63zbp4lb9v8xnjy";
     in fetchurl {
       url = "https://github.com/v2fly/geoip/releases/download/${geoipRev}/geoip.dat";
       sha256 = geoipSha256;
@@ -26,8 +26,8 @@ let
 
     # MIT licensed
     "geosite.dat" = let
-      geositeRev = "20210626145509";
-      geositeSha256 = "0skhwwlzlyh8rvzyblg1l2xw1bawqs12i6zw5sv3d55pnw7wmf2z";
+      geositeRev = "20210727125446";
+      geositeSha256 = "14z1419dkbippm12z6gvwh3q1wd6x1p4sk6zp2i4qa408i1gc81c";
     in fetchurl {
       url = "https://github.com/v2fly/domain-list-community/releases/download/${geositeRev}/dlc.dat";
       sha256 = geositeSha256;
diff --git a/nixpkgs/pkgs/tools/networking/vde2/default.nix b/nixpkgs/pkgs/tools/networking/vde2/default.nix
index 58fae3f9f157..694a2bc02056 100644
--- a/nixpkgs/pkgs/tools/networking/vde2/default.nix
+++ b/nixpkgs/pkgs/tools/networking/vde2/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, fetchpatch, openssl, libpcap, python2, withPython ? false }:
 
 stdenv.mkDerivation rec {
-  name = "vde2-2.3.2";
+  pname = "vde2";
+  version = "2.3.2";
 
   src = fetchurl {
-    url = "mirror://sourceforge/vde/vde2/2.3.1/${name}.tar.gz";
+    url = "mirror://sourceforge/vde/vde2/${version}/vde2-${version}.tar.gz";
     sha256 = "14xga0ib6p1wrv3hkl4sa89yzjxv7f1vfqaxsch87j6scdm59pr2";
   };
 
diff --git a/nixpkgs/pkgs/tools/networking/vlan/default.nix b/nixpkgs/pkgs/tools/networking/vlan/default.nix
index 2d329cb29b06..8ddbb8346347 100644
--- a/nixpkgs/pkgs/tools/networking/vlan/default.nix
+++ b/nixpkgs/pkgs/tools/networking/vlan/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "vlan-1.9";
+stdenv.mkDerivation rec {
+  pname = "vlan";
+  version = "1.9";
 
   src = fetchurl {
-    url = "mirror://gentoo/distfiles/vlan.1.9.tar.gz";
+    url = "mirror://gentoo/distfiles/vlan.${version}.tar.gz";
     sha256 = "1jjc5f26hj7bk8nkjxsa8znfxcf8pgry2ipnwmj2fr6ky0dhm3rv";
   };
 
diff --git a/nixpkgs/pkgs/tools/networking/vpnc/default.nix b/nixpkgs/pkgs/tools/networking/vpnc/default.nix
index edb50559fc0f..6928bacd6ce7 100644
--- a/nixpkgs/pkgs/tools/networking/vpnc/default.nix
+++ b/nixpkgs/pkgs/tools/networking/vpnc/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchsvn, nettools, libgcrypt, openssl, openresolv, perl, gawk, makeWrapper }:
 
 stdenv.mkDerivation {
-  name = "vpnc-0.5.3-post-r550";
+  pname = "vpnc";
+  version = "0.5.3-post-r550";
   src = fetchsvn {
     url = "https://svn.unix-ag.uni-kl.de/vpnc";
     rev = "550";
diff --git a/nixpkgs/pkgs/tools/networking/vtun/default.nix b/nixpkgs/pkgs/tools/networking/vtun/default.nix
index 4d79fdc9bc58..61c18af16561 100644
--- a/nixpkgs/pkgs/tools/networking/vtun/default.nix
+++ b/nixpkgs/pkgs/tools/networking/vtun/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, fetchpatch, openssl, lzo, zlib, bison, flex }:
 
 stdenv.mkDerivation rec {
-  name = "vtun-3.0.4";
+  pname = "vtun";
+  version = "3.0.4";
 
   src = fetchurl {
-    url = "mirror://sourceforge/vtun/${name}.tar.gz";
+    url = "mirror://sourceforge/vtun/vtun-${version}.tar.gz";
     sha256 = "1fcqzn2bdjw31j1hvv6lg99v2phhszm29kp2xambxzp32mmxzy5b";
   };
 
diff --git a/nixpkgs/pkgs/tools/networking/wakelan/default.nix b/nixpkgs/pkgs/tools/networking/wakelan/default.nix
index 96e01141c180..5365e696fadc 100644
--- a/nixpkgs/pkgs/tools/networking/wakelan/default.nix
+++ b/nixpkgs/pkgs/tools/networking/wakelan/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "wakelan-1.1";
+  pname = "wakelan";
+  version = "1.1";
 
   src = fetchurl {
-    url = "mirror://metalab/system/network/misc/${name}.tar.gz";
+    url = "mirror://metalab/system/network/misc/wakelan-${version}.tar.gz";
     sha256 = "0vydqpf44146ir6k87gmqaq6xy66xhc1gkr3nsd7jj3nhy7ypx9x";
   };
 
diff --git a/nixpkgs/pkgs/tools/networking/webalizer/default.nix b/nixpkgs/pkgs/tools/networking/webalizer/default.nix
index 332d1cf2867f..200202f9ae26 100644
--- a/nixpkgs/pkgs/tools/networking/webalizer/default.nix
+++ b/nixpkgs/pkgs/tools/networking/webalizer/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, zlib, libpng, gd, geoip, db }:
 
-stdenv.mkDerivation {
-  name = "webalizer-2.23-05";
+stdenv.mkDerivation rec {
+  pname = "webalizer";
+  version = "2.23-05";
 
   src = fetchurl {
-    url = "ftp://ftp.mrunix.net/pub/webalizer/webalizer-2.23-05-src.tar.bz2";
+    url = "ftp://ftp.mrunix.net/pub/webalizer/webalizer-${version}-src.tar.bz2";
     sha256 = "0nl88y57a7gawfragj3viiigfkh5sgivfb4n0k89wzcjw278pj5g";
   };
 
diff --git a/nixpkgs/pkgs/tools/networking/whois/default.nix b/nixpkgs/pkgs/tools/networking/whois/default.nix
index 55a356e32980..0caa0af061b8 100644
--- a/nixpkgs/pkgs/tools/networking/whois/default.nix
+++ b/nixpkgs/pkgs/tools/networking/whois/default.nix
@@ -1,14 +1,14 @@
 { lib, stdenv, fetchFromGitHub, perl, gettext, pkg-config, libidn2, libiconv }:
 
 stdenv.mkDerivation rec {
-  version = "5.5.8";
+  version = "5.5.10";
   pname = "whois";
 
   src = fetchFromGitHub {
     owner = "rfc1036";
     repo = "whois";
     rev = "v${version}";
-    sha256 = "sha256-WSAqJMVeHkcqzcgwvFKKBXJiIfKXBQr2mjioG7CgkIo=";
+    sha256 = "179hgmh9yqk8jq26ybik4cr3lgryd5p6kdwccc3r7mfssk3yp8lz";
   };
 
   nativeBuildInputs = [ perl gettext pkg-config ];
diff --git a/nixpkgs/pkgs/tools/networking/wifite2/default.nix b/nixpkgs/pkgs/tools/networking/wifite2/default.nix
index 054b77f8c9b8..2482c1749959 100644
--- a/nixpkgs/pkgs/tools/networking/wifite2/default.nix
+++ b/nixpkgs/pkgs/tools/networking/wifite2/default.nix
@@ -1,16 +1,16 @@
 { lib, fetchFromGitHub, fetchpatch, python3, wirelesstools
 , aircrack-ng, wireshark-cli, reaverwps-t6x, cowpatty, hashcat, hcxtools
-, hcxdumptool, pyrit, which }:
+, hcxdumptool, pyrit, which, bully }:
 
 python3.pkgs.buildPythonApplication rec {
-  version = "2.5.5";
+  version = "2.5.7";
   pname = "wifite2";
 
   src = fetchFromGitHub {
     owner = "kimocoder";
     repo = "wifite2";
     rev = version;
-    sha256 = "0rh54gj471dn8442imxwasjrrwzsx4m40nylkw3y6p8rbjmb92h4";
+    sha256 = "sha256-dJ+UOSIR48m8nGoci/6iblLsX296ZGL1hZ74RUsa9lw=";
   };
 
   patches = [
@@ -35,6 +35,7 @@ python3.pkgs.buildPythonApplication rec {
     wirelesstools
     pyrit
     which
+    bully
   ];
 
   postFixup = let
diff --git a/nixpkgs/pkgs/tools/networking/wireguard-go/0001-Fix-darwin-build.patch b/nixpkgs/pkgs/tools/networking/wireguard-go/0001-Fix-darwin-build.patch
deleted file mode 100644
index d79d9e3531f3..000000000000
--- a/nixpkgs/pkgs/tools/networking/wireguard-go/0001-Fix-darwin-build.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 63360467da4ae6d7fc8c0e05619bdf8813c7e417 Mon Sep 17 00:00:00 2001
-From: Maximilian Bosch <maximilian@mbosch.me>
-Date: Sun, 5 Jan 2020 15:35:15 +0100
-Subject: [PATCH] Fix darwin build
-
----
- rwcancel/select_default.go | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/rwcancel/select_default.go b/rwcancel/select_default.go
-index dd23cda..03f3452 100644
---- a/rwcancel/select_default.go
-+++ b/rwcancel/select_default.go
-@@ -9,6 +9,7 @@ package rwcancel
- 
- import "golang.org/x/sys/unix"
- 
--func unixSelect(nfd int, r *unix.FdSet, w *unix.FdSet, e *unix.FdSet, timeout *unix.Timeval) error {
--	return unix.Select(nfd, r, w, e, timeout)
-+func unixSelect(nfd int, r *unix.FdSet, w *unix.FdSet, e *unix.FdSet, timeout *unix.Timeval) (err error) {
-+	_, err = unix.Select(nfd, r, w, e, timeout)
-+	return
- }
--- 
-2.23.1
-
diff --git a/nixpkgs/pkgs/tools/networking/wireguard-go/default.nix b/nixpkgs/pkgs/tools/networking/wireguard-go/default.nix
index 35c5371113c1..3fa487a7dc6d 100644
--- a/nixpkgs/pkgs/tools/networking/wireguard-go/default.nix
+++ b/nixpkgs/pkgs/tools/networking/wireguard-go/default.nix
@@ -2,17 +2,15 @@
 
 buildGoPackage rec {
   pname = "wireguard-go";
-  version = "0.0.20200320";
+  version = "0.0.20210424";
 
   goPackagePath = "golang.zx2c4.com/wireguard";
 
   src = fetchzip {
     url = "https://git.zx2c4.com/wireguard-go/snapshot/wireguard-go-${version}.tar.xz";
-    sha256 = "0fy4qsss3i3pkq1rpgjds4aipbwlh1dr9hbbf7jn2a1c63kfks0r";
+    sha256 = "RUUueSsfEi1H+ckrnPKqbVlWONhCplMMftlyAmwK+ss=";
   };
 
-  patches = [ ./0001-Fix-darwin-build.patch ];
-
   goDeps = ./deps.nix;
 
   passthru.updateScript = ./update.sh;
@@ -21,10 +19,12 @@ buildGoPackage rec {
     mv $out/bin/wireguard $out/bin/wireguard-go
   '';
 
+  doCheck = true;
+
   meta = with lib; {
     description = "Userspace Go implementation of WireGuard";
     homepage = "https://git.zx2c4.com/wireguard-go/about/";
-    license = licenses.gpl2;
+    license = licenses.mit;
     maintainers = with maintainers; [ elseym kirelagin yegortimoshenko zx2c4 ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/wireguard-go/deps.nix b/nixpkgs/pkgs/tools/networking/wireguard-go/deps.nix
index 859b8572f82e..4ffcfa6b2dec 100644
--- a/nixpkgs/pkgs/tools/networking/wireguard-go/deps.nix
+++ b/nixpkgs/pkgs/tools/networking/wireguard-go/deps.nix
@@ -1,12 +1,13 @@
-# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
+# file generated from go.mod using vgo2nix (https://github.com/nix-community/vgo2nix)
 [
   {
     goPackagePath = "golang.org/x/crypto";
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/crypto";
-      rev = "34f69633bfdc";
-      sha256 = "0169vcn9s4c851y9vm7xqnar3vdfjrp7qsvcxadpfhsmwlfhxzgg";
+      rev = "5ea612d1eb83";
+      sha256 = "0mbhp35qad92a9fpcpc783jfrhhbgv9zsl0h98k10522blqhd9v5";
+      moduleDir = "";
     };
   }
   {
@@ -14,8 +15,9 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/net";
-      rev = "d98b1b443823";
-      sha256 = "1vzwpy56g056dsq304xga3d55jg2cxx89bijpfwjlhwyqyskybsz";
+      rev = "e18ecbb05110";
+      sha256 = "1vlq8mdscp7yfaa1lmyv03y5m4c2d67ydg2q1i6smkrxghn3zn3q";
+      moduleDir = "";
     };
   }
   {
@@ -23,8 +25,19 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/sys";
-      rev = "5c8b2ff67527";
-      sha256 = "0r5s7f4w7crrbcf5ydpr2xzsq0svjm332vsds41yp58kwi2lvh2v";
+      rev = "94ec62e08169";
+      sha256 = "1ir32rrysr7a06ixxr7vkwqx0c3y1rfxyfspc5xk0628cqhj1320";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/term";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/term";
+      rev = "7de9c90e9dd1";
+      sha256 = "1ba252xmv6qsvf1w1gcy98mngrj0vd4inbjw0lsklqvva65nljna";
+      moduleDir = "";
     };
   }
   {
@@ -32,8 +45,9 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/text";
-      rev = "v0.3.2";
-      sha256 = "0flv9idw0jm5nm8lx25xqanbkqgfiym6619w575p7nrdh0riqwqh";
+      rev = "v0.3.3";
+      sha256 = "19pihqm3phyndmiw6i42pdv6z1rbvlqlsnhsyqf9gsnn0qnmqqlh";
+      moduleDir = "";
     };
   }
   {
@@ -43,6 +57,1748 @@
       url = "https://go.googlesource.com/tools";
       rev = "90fa682c2a6e";
       sha256 = "03ic2xsy51jw9749wl7gszdbz99iijbd2bckgygl6cm9w5m364ak";
+      moduleDir = "";
+    };
+  }
+    {
+    goPackagePath = "bazil.org/fuse";
+    fetch = {
+      type = "git";
+      url = "https://github.com/bazil/fuse";
+      rev = "371fbbdaa898";
+      sha256 = "1x5p301py7mcxgwklfm6pqqkzssln0nfzllng49pnk60m03ilp4w";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "cloud.google.com/go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/googleapis/google-cloud-go";
+      rev = "v0.75.0";
+      sha256 = "0mb65np9961xawb0njlqmnqrf8pnazzp9zcbqnlcaj73hhz9zrv9";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "cloud.google.com/go/bigquery";
+    fetch = {
+      type = "git";
+      url = "https://github.com/googleapis/google-cloud-go";
+      rev = "bigquery/v1.8.0";
+      sha256 = "1127ha4r0xjsfl04mdb134b6kvpc6yz5bx4bba8m1jmb4k3vyg3j";
+      moduleDir = "bigquery";
+    };
+  }
+  {
+    goPackagePath = "cloud.google.com/go/datastore";
+    fetch = {
+      type = "git";
+      url = "https://github.com/googleapis/google-cloud-go";
+      rev = "datastore/v1.1.0";
+      sha256 = "18f1l28665x1a8j8a5bh2i7wb2vrwj050d1g5qda50isgqaybixd";
+      moduleDir = "datastore";
+    };
+  }
+  {
+    goPackagePath = "cloud.google.com/go/pubsub";
+    fetch = {
+      type = "git";
+      url = "https://github.com/googleapis/google-cloud-go";
+      rev = "pubsub/v1.3.1";
+      sha256 = "1fxsj63d773yf6mjas5gwsq2caa6iqxmss6mms0yfdcc6krg6zkf";
+      moduleDir = "pubsub";
+    };
+  }
+  {
+    goPackagePath = "cloud.google.com/go/storage";
+    fetch = {
+      type = "git";
+      url = "https://github.com/googleapis/google-cloud-go";
+      rev = "storage/v1.10.0";
+      sha256 = "10fp6galzz8jwx35159xdcrwsqaz95xw78iwv1z5n67vhglwi5nf";
+      moduleDir = "storage";
+    };
+  }
+  {
+    goPackagePath = "dmitri.shuralyov.com/gpu/mtl";
+    fetch = {
+      type = "git";
+      url = "https://dmitri.shuralyov.com/gpu/mtl";
+      rev = "666a987793e9";
+      sha256 = "1isd03hgiwcf2ld1rlp0plrnfz7r4i7c5q4kb6hkcd22axnmrv0z";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/Azure/go-autorest/autorest";
+    fetch = {
+      type = "git";
+      url = "https://github.com/Azure/go-autorest";
+      rev = "autorest/v0.9.0";
+      sha256 = "01fg6x3a6as2kh0km8kvjzjalq7xiqa17hnsdwawzlpnfpqgslvq";
+      moduleDir = "autorest";
+    };
+  }
+  {
+    goPackagePath = "github.com/Azure/go-autorest/autorest/adal";
+    fetch = {
+      type = "git";
+      url = "https://github.com/Azure/go-autorest";
+      rev = "autorest/adal/v0.5.0";
+      sha256 = "07zbbshyz1s9fj9ifa6zzks4wq7455rna50z1ahpgin92jk0s6la";
+      moduleDir = "autorest/adal";
+    };
+  }
+  {
+    goPackagePath = "github.com/Azure/go-autorest/autorest/date";
+    fetch = {
+      type = "git";
+      url = "https://github.com/Azure/go-autorest";
+      rev = "autorest/date/v0.1.0";
+      sha256 = "1w94wxjjkiv8m44rcdm1af9h0ap2r8kpp9198cxpxj8d5xxkaxpz";
+      moduleDir = "autorest/date";
+    };
+  }
+  {
+    goPackagePath = "github.com/Azure/go-autorest/autorest/mocks";
+    fetch = {
+      type = "git";
+      url = "https://github.com/Azure/go-autorest";
+      rev = "autorest/mocks/v0.2.0";
+      sha256 = "04jsq3bnz9s27kp45n7q5wj2fi3bxwvxrxcmiswrhqz4pj35b561";
+      moduleDir = "autorest/mocks";
+    };
+  }
+  {
+    goPackagePath = "github.com/Azure/go-autorest/logger";
+    fetch = {
+      type = "git";
+      url = "https://github.com/Azure/go-autorest";
+      rev = "logger/v0.1.0";
+      sha256 = "1w94wxjjkiv8m44rcdm1af9h0ap2r8kpp9198cxpxj8d5xxkaxpz";
+      moduleDir = "logger";
+    };
+  }
+  {
+    goPackagePath = "github.com/Azure/go-autorest/tracing";
+    fetch = {
+      type = "git";
+      url = "https://github.com/Azure/go-autorest";
+      rev = "tracing/v0.5.0";
+      sha256 = "0n482cjr2pk6ql6awcnn6llrnygjzakihbjaahgmylf3znwil7jp";
+      moduleDir = "tracing";
+    };
+  }
+  {
+    goPackagePath = "github.com/BurntSushi/toml";
+    fetch = {
+      type = "git";
+      url = "https://github.com/BurntSushi/toml";
+      rev = "v0.3.1";
+      sha256 = "1fjdwwfzyzllgiwydknf1pwjvy49qxfsczqx5gz3y0izs7as99j6";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/BurntSushi/xgb";
+    fetch = {
+      type = "git";
+      url = "https://github.com/BurntSushi/xgb";
+      rev = "27f122750802";
+      sha256 = "18lp2x8f5bljvlz0r7xn744f0c9rywjsb9ifiszqqdcpwhsa0kvj";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/Microsoft/go-winio";
+    fetch = {
+      type = "git";
+      url = "https://github.com/Microsoft/go-winio";
+      rev = "v0.4.16";
+      sha256 = "0snwbwdjs34x0my9ri77cvrbnahdiyjh2jlkzf12fy48p7fyk7pq";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/Microsoft/hcsshim";
+    fetch = {
+      type = "git";
+      url = "https://github.com/Microsoft/hcsshim";
+      rev = "v0.8.14";
+      sha256 = "0k57knv8zrf32hp7rpv1km9j772w6752pfvdbpd3l711ism48c84";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/NYTimes/gziphandler";
+    fetch = {
+      type = "git";
+      url = "https://github.com/NYTimes/gziphandler";
+      rev = "56545f4a5d46";
+      sha256 = "1fwk9wz6vrvq72f2gq8jhvd1nvv6grqgwrjq66vjpm0726pxar72";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/PuerkitoBio/purell";
+    fetch = {
+      type = "git";
+      url = "https://github.com/PuerkitoBio/purell";
+      rev = "v1.0.0";
+      sha256 = "1qhsy1nm96b9kb63svkvkqmmw15xg6irwcysisxdgzk64adfwqv1";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/PuerkitoBio/urlesc";
+    fetch = {
+      type = "git";
+      url = "https://github.com/PuerkitoBio/urlesc";
+      rev = "5bd2802263f2";
+      sha256 = "15y5r3asvm7196m3nza5xvdvlc2k11p6lfs6hi917hl7r9vgi6mp";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/cenkalti/backoff";
+    fetch = {
+      type = "git";
+      url = "https://github.com/cenkalti/backoff";
+      rev = "2146c9339422";
+      sha256 = "03brp5ymv5pqfz2rkq2vggh6makbr3vbvdydxzp99dgk0r22vgrf";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/census-instrumentation/opencensus-proto";
+    fetch = {
+      type = "git";
+      url = "https://github.com/census-instrumentation/opencensus-proto";
+      rev = "v0.2.1";
+      sha256 = "19fcx3sc99i5dsklny6r073z5j20vlwn2xqm6di1q3b1xwchzqfj";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/chzyer/logex";
+    fetch = {
+      type = "git";
+      url = "https://github.com/chzyer/logex";
+      rev = "v1.1.10";
+      sha256 = "08pbjj3wx9acavlwyr055isa8a5hnmllgdv5k6ra60l5y1brmlq4";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/chzyer/readline";
+    fetch = {
+      type = "git";
+      url = "https://github.com/chzyer/readline";
+      rev = "2972be24d48e";
+      sha256 = "104q8dazj8yf6b089jjr82fy9h1g80zyyzvp3g8b44a7d8ngjj6r";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/chzyer/test";
+    fetch = {
+      type = "git";
+      url = "https://github.com/chzyer/test";
+      rev = "a1ea475d72b1";
+      sha256 = "0rns2aqk22i9xsgyap0pq8wi4cfaxsri4d9q6xxhhyma8jjsnj2k";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/cilium/ebpf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/cilium/ebpf";
+      rev = "v0.2.0";
+      sha256 = "0f7my8n5v2c5cmgrcikgi0naamglr7c4khgxkbb1k5wl8mm9465a";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/client9/misspell";
+    fetch = {
+      type = "git";
+      url = "https://github.com/client9/misspell";
+      rev = "v0.3.4";
+      sha256 = "1vwf33wsc4la25zk9nylpbp9px3svlmldkm0bha4hp56jws4q9cs";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/cncf/udpa/go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/cncf/udpa";
+      rev = "5459f2c99403";
+      sha256 = "0i3al193dsp91j7iywqrm6fr56y2sz51ci4vf19mb3j4n2x44gsi";
+      moduleDir = "go";
+    };
+  }
+  {
+    goPackagePath = "github.com/containerd/cgroups";
+    fetch = {
+      type = "git";
+      url = "https://github.com/containerd/cgroups";
+      rev = "4cbc285b3327";
+      sha256 = "1ps8z33nrh46gg7cn5p0cfp5hb6qy1dymxp5i5vfzq6qgqv18an4";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/containerd/console";
+    fetch = {
+      type = "git";
+      url = "https://github.com/containerd/console";
+      rev = "v1.0.1";
+      sha256 = "0s837wj6h80fykk2pdmaji75rw9c3863by0gh0cq51hh0lgyjpvg";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/containerd/containerd";
+    fetch = {
+      type = "git";
+      url = "https://github.com/containerd/containerd";
+      rev = "v1.3.9";
+      sha256 = "1isi1wgq61b4l0lxy1d8n6dnmcb8s5ihn2yqjb6525y3dj5c5i1j";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/containerd/continuity";
+    fetch = {
+      type = "git";
+      url = "https://github.com/containerd/continuity";
+      rev = "50096c924a4e";
+      sha256 = "1drmxbb2l4z12b19dq3vvh1ss7b4z8fq1n5g6c8ln13mjgz6cq48";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/containerd/fifo";
+    fetch = {
+      type = "git";
+      url = "https://github.com/containerd/fifo";
+      rev = "ff969a566b00";
+      sha256 = "1pmwdhbbk3vlbq6dvpwk3f71c3si6scc9ykafk8yg9rs2dj2ipfb";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/containerd/go-runc";
+    fetch = {
+      type = "git";
+      url = "https://github.com/containerd/go-runc";
+      rev = "7016d3ce2328";
+      sha256 = "1mx2lvfkxw9kiyhi18g3c6hcpb9r2115zjzyvz6rkdqr08xrij9k";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/containerd/ttrpc";
+    fetch = {
+      type = "git";
+      url = "https://github.com/containerd/ttrpc";
+      rev = "v1.0.2";
+      sha256 = "0plkm3yrr20vccfl0x8dxys3iphjwnmi285in0pivff6p9djf3yz";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/containerd/typeurl";
+    fetch = {
+      type = "git";
+      url = "https://github.com/containerd/typeurl";
+      rev = "b45ef1f1f737";
+      sha256 = "03gfqx85990q2pbiibnj9bb0i2v02i1p5hma2pisrxl50dazav22";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/coreos/go-systemd/v22";
+    fetch = {
+      type = "git";
+      url = "https://github.com/coreos/go-systemd";
+      rev = "v22.1.0";
+      sha256 = "127dj1iwp69yj74nwh9ckgc0mkk1mv4yzbxmbdxix1r7j6q35z3j";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/cpuguy83/go-md2man/v2";
+    fetch = {
+      type = "git";
+      url = "https://github.com/cpuguy83/go-md2man";
+      rev = "v2.0.0";
+      sha256 = "0r1f7v475dxxgzqci1mxfliwadcrk86ippflx9n411325l4g3ghv";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/davecgh/go-spew";
+    fetch = {
+      type = "git";
+      url = "https://github.com/davecgh/go-spew";
+      rev = "v1.1.1";
+      sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/dgrijalva/jwt-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dgrijalva/jwt-go";
+      rev = "v3.2.0";
+      sha256 = "08m27vlms74pfy5z79w67f9lk9zkx6a9jd68k3c4msxy75ry36mp";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/docker/distribution";
+    fetch = {
+      type = "git";
+      url = "https://github.com/docker/distribution";
+      rev = "0d3efadf0154";
+      sha256 = "1wayhmcxr6l281fqkbw1gh0ymhxlznf4jj1rcldhwrc64l2zjh8l";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/docker/docker";
+    fetch = {
+      type = "git";
+      url = "https://github.com/docker/docker";
+      rev = "9e7d5ac5ea55";
+      sha256 = "0zcv52431a6pj4743rw6342aq9aphwdlbhvz5zs2i3v6q70acxg9";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/docker/go-connections";
+    fetch = {
+      type = "git";
+      url = "https://github.com/docker/go-connections";
+      rev = "v0.3.0";
+      sha256 = "0v1pkr8apwmhyzbjfriwdrs1ihlk6pw7izm57r24mf9jdmg3fyb0";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/docker/go-events";
+    fetch = {
+      type = "git";
+      url = "https://github.com/docker/go-events";
+      rev = "e31b211e4f1c";
+      sha256 = "09gm4z43g23isbklabnsnfb87bwf8kjdgvvyi3vfjq2bqdjdg7cl";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/docker/go-units";
+    fetch = {
+      type = "git";
+      url = "https://github.com/docker/go-units";
+      rev = "v0.4.0";
+      sha256 = "0k8gja8ql4pqg5rzmqvka42vjfs6rzablak87whcnqba6qxpimvz";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/docker/spdystream";
+    fetch = {
+      type = "git";
+      url = "https://github.com/docker/spdystream";
+      rev = "449fdfce4d96";
+      sha256 = "1412cpiis971iq1kxrirzirhj2708ispjh0x0dh879b66x8507sl";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/dustin/go-humanize";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dustin/go-humanize";
+      rev = "v1.0.0";
+      sha256 = "1kqf1kavdyvjk7f8kx62pnm7fbypn9z1vbf8v2qdh3y7z7a0cbl3";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/elazarl/goproxy";
+    fetch = {
+      type = "git";
+      url = "https://github.com/elazarl/goproxy";
+      rev = "c4fc26588b6e";
+      sha256 = "1s3v02px61a3hmvb47rqk598z5visayxq46k3c8dcrayhhngv2fw";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/emicklei/go-restful";
+    fetch = {
+      type = "git";
+      url = "https://github.com/emicklei/go-restful";
+      rev = "ff4f55a20633";
+      sha256 = "1v5lj5142abz3gvbygp6xghpdx4ps2lwswl8559ivaidahwnc21c";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/envoyproxy/go-control-plane";
+    fetch = {
+      type = "git";
+      url = "https://github.com/envoyproxy/go-control-plane";
+      rev = "fd9021fe5dad";
+      sha256 = "0piyk6pk36x2qr3bhys2k240pfwz3bv64fhi2l0vx1mzwiddapbm";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/envoyproxy/protoc-gen-validate";
+    fetch = {
+      type = "git";
+      url = "https://github.com/envoyproxy/protoc-gen-validate";
+      rev = "v0.1.0";
+      sha256 = "0kxd3wwh3xwqk0r684hsy281xq4y71cd11d4q2hspcjbnlbwh7cy";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/evanphx/json-patch";
+    fetch = {
+      type = "git";
+      url = "https://github.com/evanphx/json-patch";
+      rev = "v4.2.0";
+      sha256 = "0cfvyhl3hjfc4z8hbkfc40yafv6r7y513zgp3jwf88isbd13r7a6";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/fsnotify/fsnotify";
+    fetch = {
+      type = "git";
+      url = "https://github.com/fsnotify/fsnotify";
+      rev = "v1.4.7";
+      sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/ghodss/yaml";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ghodss/yaml";
+      rev = "73d445a93680";
+      sha256 = "0pg53ky4sy3sp9j4n7vgf1p3gw4nbckwqfldcmmi9rf13kjh0mr7";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/go-gl/glfw";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-gl/glfw";
+      rev = "e6da0acd62b1";
+      sha256 = "0prvx5r7q8yrhqvnwibv4xz3dayjbq36yajzqvh0z4lqsh4hyhch";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/go-gl/glfw/v3.3/glfw";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-gl/glfw";
+      rev = "6f7a984d4dc4";
+      sha256 = "1nyv7h08qf4dp8w9pmcnrc6vv9bkwj8fil6pz0mkbss5hf4i8xcq";
+      moduleDir = "v3.3/glfw";
+    };
+  }
+  {
+    goPackagePath = "github.com/go-logr/logr";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-logr/logr";
+      rev = "v0.1.0";
+      sha256 = "0fhijjhxz4n2j5i24ckzv8r9kri3v44jdyklgbqjfq0xm7izqg14";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/go-openapi/jsonpointer";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-openapi/jsonpointer";
+      rev = "46af16f9f7b1";
+      sha256 = "0w0fphmdycjzbsm1vppdcjc9aqinkcdzcq3pxikdvdqh5p791gsc";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/go-openapi/jsonreference";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-openapi/jsonreference";
+      rev = "13c6e3589ad9";
+      sha256 = "1fh4xcl9ijww4bdq656sx981d57w2c9zx5148jsxlsg4bsvxmwis";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/go-openapi/spec";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-openapi/spec";
+      rev = "6aced65f8501";
+      sha256 = "0yf0nw7167yjpiqrikns5djarjpf2r07q6xnq9xb1cfsc4m7ynm4";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/go-openapi/swag";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-openapi/swag";
+      rev = "1d0bd113de87";
+      sha256 = "0fmk42chj20679n87n6sig3czs25lavyj6w208000n6kccv1ns3c";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/godbus/dbus/v5";
+    fetch = {
+      type = "git";
+      url = "https://github.com/godbus/dbus";
+      rev = "v5.0.3";
+      sha256 = "1bkc904073k807yxg6mvqaxrr6ammmhginr9p54jfb55mz3hfw3s";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/gofrs/flock";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gofrs/flock";
+      rev = "886344bea079";
+      sha256 = "0qjqhs61y9mnjw4fb1klf74ab4lqbwpapdv3g6k0x1bzd2q1w6zr";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/gogo/googleapis";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gogo/googleapis";
+      rev = "v1.4.0";
+      sha256 = "1kka9qmra1klfkjza0s5papqvsi65f2d349dl8k1lvfq487iv9r4";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/gogo/protobuf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gogo/protobuf";
+      rev = "v1.3.1";
+      sha256 = "0x77x64sxjgfhmbijqfzmj8h4ar25l2w97h01q3cqs1wk7zfnkhp";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/golang/glog";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/glog";
+      rev = "23def4e6c14b";
+      sha256 = "0jb2834rw5sykfr937fxi8hxi2zy80sj2bdn9b3jb4b26ksqng30";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/golang/groupcache";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/groupcache";
+      rev = "8c9f03a8e57e";
+      sha256 = "0vjjr79r32icjzlb05wn02k59av7jx0rn1jijml8r4whlg7dnkfh";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/golang/mock";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/mock";
+      rev = "v1.4.4";
+      sha256 = "1lj0dvd6div4jaq1s0afpwqaq9ah8cxhkq93wii2ably1xmp2l0a";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/golang/protobuf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/protobuf";
+      rev = "v1.4.3";
+      sha256 = "1kf1d7xmyjvy0z6j5czp6nqyvj9zrk6liv6znif08927xqfrzyln";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/btree";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/btree";
+      rev = "v1.0.0";
+      sha256 = "0ba430m9fbnagacp57krgidsyrgp3ycw5r7dj71brgp5r52g82p6";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/go-cmp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/go-cmp";
+      rev = "v0.5.4";
+      sha256 = "1ld9pwb6l22g75g1zpa691l7q9ki7pjgpcqhwgdfr3va1zisr5ci";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/go-github/v32";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/go-github";
+      rev = "v32.1.0";
+      sha256 = "0qaxcm2p655r1jd59rv1hd58driadw5hxlfy7h53c7pzcsmf2546";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/go-querystring";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/go-querystring";
+      rev = "v1.0.0";
+      sha256 = "0xl12bqyvmn4xcnf8p9ksj9rmnr7s40pvppsdmy8n9bzw1db0iwz";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/gofuzz";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/gofuzz";
+      rev = "v1.0.0";
+      sha256 = "0qz439qvccm91w0mmjz4fqgx48clxdwagkvvx89cr43q1d4iry36";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/martian";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/martian";
+      rev = "v2.1.0";
+      sha256 = "197hil6vrjk50b9wvwyzf61csid83whsjj6ik8mc9r2lryxlyyrp";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/martian/v3";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/martian";
+      rev = "v3.1.0";
+      sha256 = "1pr9akggfzj2vw11l7ry4sij0hqslpc3gwx4ynbzyvbjhvh64sbc";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/pprof";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/pprof";
+      rev = "39141e76b647";
+      sha256 = "19j8qaw1k3zx5yd00l0j5982jpz72nlh98l941qrybgslgnh7cxd";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/renameio";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/renameio";
+      rev = "v0.1.0";
+      sha256 = "1ki2x5a9nrj17sn092d6n4zr29lfg5ydv4xz5cp58z6cw8ip43jx";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/subcommands";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/subcommands";
+      rev = "636abe8753b8";
+      sha256 = "1gh40acx3f69fxmar6rmh18xrjw2rw3hyiyfcq9p44r9wlsfwl5x";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/uuid";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/uuid";
+      rev = "v1.1.2";
+      sha256 = "1rbpfa0v0ly9sdnixcxhf79swki54ikgm1zkwwkj64p1ws66syqd";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/googleapis/gax-go/v2";
+    fetch = {
+      type = "git";
+      url = "https://github.com/googleapis/gax-go";
+      rev = "v2.0.5";
+      sha256 = "1lxawwngv6miaqd25s3ba0didfzylbwisd2nz7r4gmbmin6jsjrx";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/googleapis/gnostic";
+    fetch = {
+      type = "git";
+      url = "https://github.com/googleapis/gnostic";
+      rev = "0c5108395e2d";
+      sha256 = "0jf3cp5clli88gpjf24r6wxbkvngnc1kf59d4cgjczsn2wasvsfc";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/gophercloud/gophercloud";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gophercloud/gophercloud";
+      rev = "v0.1.0";
+      sha256 = "0794s9c144gphm4dh1wgba6ydsb4zdwgglj1p9im43jv0lvh6p81";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/gregjones/httpcache";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gregjones/httpcache";
+      rev = "9cad4c3443a7";
+      sha256 = "0wjdwcwqqcx2d5y68qvhg6qyj977il5ijmnn9h9cd6wjbdy0ay6s";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/errwrap";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/errwrap";
+      rev = "v1.0.0";
+      sha256 = "0slfb6w3b61xz04r32bi0a1bygc82rjzhqkxj2si2074wynqnr1c";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/go-multierror";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/go-multierror";
+      rev = "v1.1.0";
+      sha256 = "0pmjpzpra7lqgikxzwlcp5mh01b46j2vhyxkixz0v86fr9kf0k3k";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/golang-lru";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/golang-lru";
+      rev = "v0.5.1";
+      sha256 = "13f870cvk161bzjj6x41l45r5x9i1z9r2ymwmvm7768kg08zznpy";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/hpcloud/tail";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hpcloud/tail";
+      rev = "v1.0.0";
+      sha256 = "1njpzc0pi1acg5zx9y6vj9xi6ksbsc5d387rd6904hy6rh2m6kn0";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/ianlancetaylor/demangle";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ianlancetaylor/demangle";
+      rev = "28f6c0f3b639";
+      sha256 = "0rsq3622gd40f1x1l7caidsxrmzg1993ich2higwd94fqbxs1r83";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/imdario/mergo";
+    fetch = {
+      type = "git";
+      url = "https://github.com/imdario/mergo";
+      rev = "v0.3.5";
+      sha256 = "1mvgn89vp39gcpvhiq4n7nw5ipj7fk6h03jgc6fjwgvwvss213pb";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/inconshreveable/mousetrap";
+    fetch = {
+      type = "git";
+      url = "https://github.com/inconshreveable/mousetrap";
+      rev = "v1.0.0";
+      sha256 = "1mn0kg48xkd74brf48qf5hzp0bc6g8cf5a77w895rl3qnlpfw152";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/json-iterator/go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/json-iterator/go";
+      rev = "v1.1.7";
+      sha256 = "0n79p4s67zl5zprxv7diayw3vavnmmfqkmd6snz0i9bxp825dsyz";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/jstemmer/go-junit-report";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jstemmer/go-junit-report";
+      rev = "v0.9.1";
+      sha256 = "1knip80yir1cdsjlb3rzy0a4w3kl4ljpiciaz6hjzwqlfhnv7bkw";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/kisielk/errcheck";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kisielk/errcheck";
+      rev = "v1.2.0";
+      sha256 = "0am6g10ipdxw84byscm7shda654882wjcbinq5c4696m6mhi2qrd";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/kisielk/gotool";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kisielk/gotool";
+      rev = "v1.0.0";
+      sha256 = "14af2pa0ssyp8bp2mvdw184s5wcysk6akil3wzxmr05wwy951iwn";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/konsorten/go-windows-terminal-sequences";
+    fetch = {
+      type = "git";
+      url = "https://github.com/konsorten/go-windows-terminal-sequences";
+      rev = "v1.0.2";
+      sha256 = "09mn209ika7ciy87xf2x31dq5fnqw39jidgaljvmqxwk7ff1hnx7";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/kr/pretty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/pretty";
+      rev = "v0.1.0";
+      sha256 = "18m4pwg2abd0j9cn5v3k2ksk9ig4vlwxmlw9rrglanziv9l967qp";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/kr/pty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/pty";
+      rev = "7dc38fb350b1";
+      sha256 = "0h5x6dys758vgb9s5y1qpf6g9712a4jjs94f9rg4i4qw4ypzjfg6";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/kr/text";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/text";
+      rev = "v0.1.0";
+      sha256 = "1gm5bsl01apvc84bw06hasawyqm4q84vx1pm32wr9jnd7a8vjgj1";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/mailru/easyjson";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mailru/easyjson";
+      rev = "d5b7844b561a";
+      sha256 = "1g84l4wns28xjpn6nl1g33dcj3sfgxlkqqsa6w8fbq2kwyd50xka";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattbaird/jsonpatch";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattbaird/jsonpatch";
+      rev = "81af80346b1a";
+      sha256 = "0ll22kpf75m72r7i5ddg3r87gdlagbj2x24bppgbi8jp018pdq95";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/modern-go/concurrent";
+    fetch = {
+      type = "git";
+      url = "https://github.com/modern-go/concurrent";
+      rev = "bacd9c7ef1dd";
+      sha256 = "0s0fxccsyb8icjmiym5k7prcqx36hvgdwl588y0491gi18k5i4zs";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/modern-go/reflect2";
+    fetch = {
+      type = "git";
+      url = "https://github.com/modern-go/reflect2";
+      rev = "v1.0.1";
+      sha256 = "06a3sablw53n1dqqbr2f53jyksbxdmmk8axaas4yvnhyfi55k4lf";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/mohae/deepcopy";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mohae/deepcopy";
+      rev = "bb9b5e7adda9";
+      sha256 = "173j05wv4yy8jh9ccjw46xfy1knxwvv1ir6b8l6g9pc5j5damm1f";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/munnerz/goautoneg";
+    fetch = {
+      type = "git";
+      url = "https://github.com/munnerz/goautoneg";
+      rev = "a547fc61f48d";
+      sha256 = "19khhn5xhqv1yp7d6k987gh5w5rhrjnp4p0c6fyrd8z6lzz5h9qi";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/mxk/go-flowrate";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mxk/go-flowrate";
+      rev = "cca7078d478f";
+      sha256 = "0zqs39923ja0yypdmiqk6x8pgmfs3ms5x5sl1dqv9z6zyx2xy541";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/onsi/ginkgo";
+    fetch = {
+      type = "git";
+      url = "https://github.com/onsi/ginkgo";
+      rev = "v1.8.0";
+      sha256 = "1326s5fxgasdpz1qqwrw4n5p3k0vz44msnyz14knrhlw5l97lx33";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/onsi/gomega";
+    fetch = {
+      type = "git";
+      url = "https://github.com/onsi/gomega";
+      rev = "v1.5.0";
+      sha256 = "1n7i4hksdgv410m43v2sw14bl5vy59dkp6nlw5l76nibbh37syr9";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/opencontainers/go-digest";
+    fetch = {
+      type = "git";
+      url = "https://github.com/opencontainers/go-digest";
+      rev = "v1.0.0";
+      sha256 = "0i5acjajvr6hi9zb7gxwifd8w28y884cv7cx36adj8lngj647xbi";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/opencontainers/image-spec";
+    fetch = {
+      type = "git";
+      url = "https://github.com/opencontainers/image-spec";
+      rev = "v1.0.1";
+      sha256 = "03dvbj3dln8c55v9gp79mgmz2yi2ws3r08iyz2fk41y3i22iaw1q";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/opencontainers/runc";
+    fetch = {
+      type = "git";
+      url = "https://github.com/opencontainers/runc";
+      rev = "v0.1.1";
+      sha256 = "09fm7f1k4lvx8v3crqb0cli1x2brlz8ka7f7qa8d2sb6ln58h7w7";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/opencontainers/runtime-spec";
+    fetch = {
+      type = "git";
+      url = "https://github.com/opencontainers/runtime-spec";
+      rev = "v1.0.2";
+      sha256 = "19w981vcmd5lp2hy0630x6ayb8zz17n2vxqm2py5mg945xflcizg";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/pborman/uuid";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pborman/uuid";
+      rev = "v1.2.0";
+      sha256 = "0f146yjqwx2mr110kl8scjhqd08hys7vr5z0d0a3lskb6yy22gfg";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/peterbourgon/diskv";
+    fetch = {
+      type = "git";
+      url = "https://github.com/peterbourgon/diskv";
+      rev = "v2.0.1";
+      sha256 = "1mxpa5aad08x30qcbffzk80g9540wvbca4blc1r2qyzl65b8929b";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/pkg/errors";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pkg/errors";
+      rev = "v0.9.1";
+      sha256 = "1761pybhc2kqr6v5fm8faj08x9bql8427yqg6vnfv6nhrasx1mwq";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/pmezard/go-difflib";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pmezard/go-difflib";
+      rev = "v1.0.0";
+      sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/client_model";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/client_model";
+      rev = "14fe0d1b01d4";
+      sha256 = "0zdmk6rbbx39cvfz0r59v2jg5sg9yd02b4pds5n5llgvivi99550";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/procfs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/procfs";
+      rev = "bc1a522cf7b1";
+      sha256 = "13ws66kd65zbhk31zmax9qgmh22fzjcgs5ihy4fm1d775w6bmdzx";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/rogpeppe/go-internal";
+    fetch = {
+      type = "git";
+      url = "https://github.com/rogpeppe/go-internal";
+      rev = "v1.3.0";
+      sha256 = "0mcdh1licgnnahwml9y2iq6xy5x9xmjw5frcnds2s3wpjyqrl216";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/russross/blackfriday/v2";
+    fetch = {
+      type = "git";
+      url = "https://github.com/russross/blackfriday";
+      rev = "v2.0.1";
+      sha256 = "0nlz7isdd4rgnwzs68499hlwicxz34j2k2a0b8jy0y7ycd2bcr5j";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/shurcooL/sanitized_anchor_name";
+    fetch = {
+      type = "git";
+      url = "https://github.com/shurcooL/sanitized_anchor_name";
+      rev = "v1.0.0";
+      sha256 = "1gv9p2nr46z80dnfjsklc6zxbgk96349sdsxjz05f3z6wb6m5l8f";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/sirupsen/logrus";
+    fetch = {
+      type = "git";
+      url = "https://github.com/sirupsen/logrus";
+      rev = "v1.7.0";
+      sha256 = "1a59pw7zimvm8k423iq9l4f4qjj1ia1xc6pkmhwl2mxc46y2n442";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/afero";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/afero";
+      rev = "v1.2.2";
+      sha256 = "0j9r65qgd58324m85lkl49vk9dgwd62g7dwvkfcm3k6i9dc555a9";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/cobra";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/cobra";
+      rev = "2da4a54c5cee";
+      sha256 = "18qbrp774fx6dyibjcy9snld705gslq6z2sql1biyjahxkm1vpfy";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/pflag";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/pflag";
+      rev = "v1.0.5";
+      sha256 = "0gpmacngd0gpslnbkzi263f5ishigzgh6pbdv9hp092rnjl4nd31";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/stretchr/objx";
+    fetch = {
+      type = "git";
+      url = "https://github.com/stretchr/objx";
+      rev = "v0.1.1";
+      sha256 = "0iph0qmpyqg4kwv8jsx6a56a7hhqq8swrazv40ycxk9rzr0s8yls";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/stretchr/testify";
+    fetch = {
+      type = "git";
+      url = "https://github.com/stretchr/testify";
+      rev = "v1.5.1";
+      sha256 = "09r89m1wy4cjv2nps1ykp00qjpi0531r07q3s34hr7m6njk4srkl";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/syndtr/gocapability";
+    fetch = {
+      type = "git";
+      url = "https://github.com/syndtr/gocapability";
+      rev = "d98352740cb2";
+      sha256 = "065y16562ynixxzj7iys4f4spb7knilbj3h833qlhds381j8hn93";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/urfave/cli";
+    fetch = {
+      type = "git";
+      url = "https://github.com/urfave/cli";
+      rev = "v1.22.2";
+      sha256 = "10mcnvi5qmn00vpyk6si8gjka7p654wr9hac4zc9w5h3ickhvbdc";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/vishvananda/netlink";
+    fetch = {
+      type = "git";
+      url = "https://github.com/vishvananda/netlink";
+      rev = "2ec5bdc52b86";
+      sha256 = "0p4vn379h68ca7nbid7nbd2rgzg2cnapbqqqmfsp3sgyf4q9bx72";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/vishvananda/netns";
+    fetch = {
+      type = "git";
+      url = "https://github.com/vishvananda/netns";
+      rev = "2eb08e3e575f";
+      sha256 = "0d5f1dvcps51rkfn3s2xzcqjz45ljvj2w1r8y4zz5zwf8y461ksw";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/xeipuuv/gojsonpointer";
+    fetch = {
+      type = "git";
+      url = "https://github.com/xeipuuv/gojsonpointer";
+      rev = "4e3ac2762d5f";
+      sha256 = "13y6iq2nzf9z4ls66bfgnnamj2m3438absmbpqry64bpwjfbsi9q";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/xeipuuv/gojsonreference";
+    fetch = {
+      type = "git";
+      url = "https://github.com/xeipuuv/gojsonreference";
+      rev = "bd5ef7bd5415";
+      sha256 = "1xby79padc7bmyb8rfbad8wfnfdzpnh51b1n8c0kibch0kwc1db5";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/xeipuuv/gojsonschema";
+    fetch = {
+      type = "git";
+      url = "https://github.com/xeipuuv/gojsonschema";
+      rev = "v1.2.0";
+      sha256 = "1mqiq0r8qw4qlfp3ls8073r6514rmzwrmdn4j33rppk3zh942i6l";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "github.com/yuin/goldmark";
+    fetch = {
+      type = "git";
+      url = "https://github.com/yuin/goldmark";
+      rev = "v1.2.1";
+      sha256 = "12rsnsf65drcp0jfw2jl9w589vsn3pxdk1zh3v9q908iigngrcmy";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "go.opencensus.io";
+    fetch = {
+      type = "git";
+      url = "https://github.com/census-instrumentation/opencensus-go";
+      rev = "v0.22.5";
+      sha256 = "18s1d7bk28i8gbs6i587ccd31qp3f8gibgd14dpkzs05gyvlccy6";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "go.uber.org/atomic";
+    fetch = {
+      type = "git";
+      url = "https://github.com/uber-go/atomic";
+      rev = "v1.7.0";
+      sha256 = "0yxvb5sixh76cl9j8dpa97gznj0p8pmg2cdw0ypfwhd3ipx9wph1";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "go.uber.org/multierr";
+    fetch = {
+      type = "git";
+      url = "https://github.com/uber-go/multierr";
+      rev = "v1.6.0";
+      sha256 = "162941s8f6a9x2w04qm4qa3zz0zylwag9149hywrj9ibp2nzcsqz";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/exp";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/exp";
+      rev = "6cc2880d07d6";
+      sha256 = "1iia6hiif6hcp0cg1i6nq63qg0pmvm2kq24pf2r2il3597rfmlgy";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/image";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/image";
+      rev = "cff245a6509b";
+      sha256 = "0hiznlkiaay30acwvvyq8g6bm32r7bc6gv47pygrcxqpapasbz84";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/lint";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/lint";
+      rev = "83fdc39ff7b5";
+      sha256 = "0ms3rs5hvpnm9bxbr5f9743i7hn2bbmqdmvzxq6nmi0f24ypv1l3";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/mobile";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/mobile";
+      rev = "d2bd2a29d028";
+      sha256 = "1nv6vvhnjr01nx9y06q46ww87dppdwpbqrlsfg1xf2587wxl8xiv";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/mod";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/mod";
+      rev = "v0.4.0";
+      sha256 = "1ri003765yxawq6s8jbkbiaijihwrg980c4qwqsaa5x0sq2psrg1";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/oauth2";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/oauth2";
+      rev = "08078c50e5b5";
+      sha256 = "0zynwxw47nhwhs6n1c87c9np43lwl9m9z2w2cmdvjwhsisa93b75";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sync";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sync";
+      rev = "67f06af15bc9";
+      sha256 = "093p4panc808ak5bamzz7m9nb0xxib7778jpnr6f0xkz1n4fzyw5";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/time";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/time";
+      rev = "f8bda1e9f3ba";
+      sha256 = "0d3ba0p47j9v5f7wwg29whyfwz9rv94ada5nv8f8hn7v87820xqi";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/tools";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/tools";
+      rev = "v0.1.0";
+      sha256 = "1asrm22kv5x891qkbpap8alg612k321jbs1akc0vwsan251gm507";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/xerrors";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/xerrors";
+      rev = "5ec99f83aff1";
+      sha256 = "1dbzc3gmf2haazpv7cgmv97rq40g2xzwbglc17vas8dwhgwgwrzb";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "google.golang.org/api";
+    fetch = {
+      type = "git";
+      url = "https://github.com/googleapis/google-api-go-client";
+      rev = "v0.36.0";
+      sha256 = "1x6wlavrqi2r6ss3h2kg94p2lfj0z019kc85zm1pajpf0k23fxp7";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "google.golang.org/appengine";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/appengine";
+      rev = "v1.6.7";
+      sha256 = "1wkipg7xxc0ha5p6c3bj0vpgq38l18441n5l6zxdhx0gzvz5z1hs";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "google.golang.org/genproto";
+    fetch = {
+      type = "git";
+      url = "https://github.com/googleapis/go-genproto";
+      rev = "ffc7fda8c3d7";
+      sha256 = "14zgn3g8b5rrd9cbznx0dgg64p7aqb0f42z76h4bkgywlp2mizfp";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "google.golang.org/grpc";
+    fetch = {
+      type = "git";
+      url = "https://github.com/grpc/grpc-go";
+      rev = "9280052d3665";
+      sha256 = "0n036fz5ssamrm8acxclvm6l1196pznsgygwhkc3cl1kvfs93mxh";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "google.golang.org/protobuf";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/protobuf";
+      rev = "d3470999428b";
+      sha256 = "0sgwfkcr6n7m1ivyq34rz4rd6gm5pzswa73nvzj59dkaknj68xfb";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/check.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/check.v1";
+      rev = "788fd7840127";
+      sha256 = "0v3bim0j375z81zrpr5qv42knqs0y2qv2vkjiqi5axvb78slki1a";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/errgo.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/errgo.v2";
+      rev = "v2.1.0";
+      sha256 = "065mbihiy7q67wnql0bzl9y1kkvck5ivra68254zbih52jxwrgr2";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/fsnotify.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/fsnotify.v1";
+      rev = "v1.4.7";
+      sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/inf.v0";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/inf.v0";
+      rev = "v0.9.1";
+      sha256 = "00k5iqjcp371fllqxncv7jkf80hn1zww92zm78cclbcn4ybigkng";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/tomb.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/tomb.v1";
+      rev = "dd632973f1e7";
+      sha256 = "1lqmq1ag7s4b3gc3ddvr792c5xb5k6sfn0cchr3i2s7f1c231zjv";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/yaml.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/yaml.v2";
+      rev = "v2.2.8";
+      sha256 = "1inf7svydzscwv9fcjd2rm61a4xjk6jkswknybmns2n58shimapw";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "gotest.tools";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gotestyourself/gotest.tools";
+      rev = "v2.2.0";
+      sha256 = "0yif3gdyckmf8i54jq0xn00kflla5rhib9sarw66ngnbl7bn9kyl";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "gvisor.dev/gvisor";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/gvisor";
+      rev = "a64c3a1b5a9f";
+      sha256 = "0jw63la37gskknn7vlpwv9iw39zr4bv87rrr2lwqicq9mqi5ajl8";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "honnef.co/go/tools";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dominikh/go-tools";
+      rev = "v0.1.1";
+      sha256 = "0a1a4dhz33grwg892436bjhgp8sygrg8yhdhy8dh6i3l6n9dalfh";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "k8s.io/api";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kubernetes/api";
+      rev = "v0.16.13";
+      sha256 = "0dzsvihy7rjwknk44qphridpqyd13143gzlqb8jdx7524dg3m28a";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "k8s.io/apimachinery";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kubernetes/apimachinery";
+      rev = "v0.16.14-rc.0";
+      sha256 = "1nsw0p6mmsraqysglihjr3y9rfdp8nryygb7hndg98fz47hzs7yz";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "k8s.io/client-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kubernetes/client-go";
+      rev = "v0.16.13";
+      sha256 = "02cxhmpkqqrvjq1wv6y81p8a4rikmwsqfbl3yzjj9b8wn306jx0z";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "k8s.io/gengo";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kubernetes/gengo";
+      rev = "0689ccc1d7d6";
+      sha256 = "10c0kbm07pzxwdxpsmcgqkcxqxaijyywvwj1rciw6ssfcgx7kdc5";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "k8s.io/klog";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kubernetes/klog";
+      rev = "v1.0.0";
+      sha256 = "1cgannfmldcrcksb2wqdn2b5qabqyxl9r25w9y4qbljw24hhnlvn";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "k8s.io/kube-openapi";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kubernetes/kube-openapi";
+      rev = "594e756bea31";
+      sha256 = "07d9f1sipjyrgfq8965h4irzcl7bfs439z13x2198lwrys6nhcjf";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "k8s.io/utils";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kubernetes/utils";
+      rev = "581e00157fb1";
+      sha256 = "0mpymzis079wnqfzwy2b2ijv2b24rcy2ky468qqizgram564i9ba";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "rsc.io/binaryregexp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/rsc/binaryregexp";
+      rev = "v0.2.0";
+      sha256 = "1kar0myy85waw418zslviwx8846zj0m9cmqkxjx0fvgjdi70nc4b";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "rsc.io/quote/v3";
+    fetch = {
+      type = "git";
+      url = "https://github.com/rsc/quote";
+      rev = "v3.1.0";
+      sha256 = "0nvv97hwwrl1mx5gzsbdm1ndnwpg3m7i2jb10ig9wily7zmvki0i";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "rsc.io/sampler";
+    fetch = {
+      type = "git";
+      url = "https://github.com/rsc/sampler";
+      rev = "v1.3.0";
+      sha256 = "0byxk2ynba50py805kcvbvjzh59l1r308i1xgyzpw6lff4xx9xjh";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "sigs.k8s.io/structured-merge-diff";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kubernetes-sigs/structured-merge-diff";
+      rev = "15d366b2352e";
+      sha256 = "1anrx09ksgrwjwmbrcrk3hx8wyzjaakzmmn36nd23if36nv1xg11";
+      moduleDir = "";
+    };
+  }
+  {
+    goPackagePath = "sigs.k8s.io/yaml";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kubernetes-sigs/yaml";
+      rev = "v1.1.0";
+      sha256 = "1p7hvjdr5jsyk7nys1g1pmgnf3ys6n320i6hds85afppk81k01kb";
+      moduleDir = "";
     };
   }
+
 ]
diff --git a/nixpkgs/pkgs/tools/networking/wireguard-tools/default.nix b/nixpkgs/pkgs/tools/networking/wireguard-tools/default.nix
index 5972d781bd15..e237850b12ae 100644
--- a/nixpkgs/pkgs/tools/networking/wireguard-tools/default.nix
+++ b/nixpkgs/pkgs/tools/networking/wireguard-tools/default.nix
@@ -53,10 +53,17 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Tools for the WireGuard secure network tunnel";
+    longDescription = ''
+      Supplies the main userspace tooling for using and configuring WireGuard tunnels, including the wg(8) and wg-quick(8) utilities.
+      - wg : the configuration utility for getting and setting the configuration of WireGuard tunnel interfaces. The interfaces
+        themselves can be added and removed using ip-link(8) and their IP addresses and routing tables can be set using ip-address(8)
+        and ip-route(8). The wg utility provides a series of sub-commands for changing WireGuard-specific aspects of WireGuard interfaces.
+      - wg-quick : an extremely simple script for easily bringing up a WireGuard interface, suitable for a few common use cases.
+    '';
     downloadPage = "https://git.zx2c4.com/wireguard-tools/refs/";
     homepage = "https://www.wireguard.com/";
     license = licenses.gpl2;
-    maintainers = with maintainers; [ elseym ericsagnes mic92 zx2c4 globin ma27 xwvvvvwx ];
+    maintainers = with maintainers; [ elseym ericsagnes mic92 zx2c4 globin ma27 d-xo ];
     platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/x11-ssh-askpass/default.nix b/nixpkgs/pkgs/tools/networking/x11-ssh-askpass/default.nix
index d33dd3df12ee..87bd5c77c335 100644
--- a/nixpkgs/pkgs/tools/networking/x11-ssh-askpass/default.nix
+++ b/nixpkgs/pkgs/tools/networking/x11-ssh-askpass/default.nix
@@ -1,12 +1,13 @@
 { lib, stdenv, fetchurl, xlibsWrapper, imake, gccmakedep }:
 
-stdenv.mkDerivation {
-  name = "x11-ssh-askpass-1.2.4.1";
+stdenv.mkDerivation rec {
+  pname = "x11-ssh-askpass";
+  version = "1.2.4.1";
 
   outputs = [ "out" "man" ];
 
   src = fetchurl {
-    url = "http://pkgs.fedoraproject.org/repo/pkgs/openssh/x11-ssh-askpass-1.2.4.1.tar.gz/8f2e41f3f7eaa8543a2440454637f3c3/x11-ssh-askpass-1.2.4.1.tar.gz";
+    url = "http://pkgs.fedoraproject.org/repo/pkgs/openssh/x11-ssh-askpass-${version}.tar.gz/8f2e41f3f7eaa8543a2440454637f3c3/x11-ssh-askpass-${version}.tar.gz";
     sha256 = "620de3c32ae72185a2c9aeaec03af24242b9621964e38eb625afb6cdb30b8c88";
   };
 
diff --git a/nixpkgs/pkgs/tools/networking/xh/default.nix b/nixpkgs/pkgs/tools/networking/xh/default.nix
index 0a62fee4bd74..90f99120cd49 100644
--- a/nixpkgs/pkgs/tools/networking/xh/default.nix
+++ b/nixpkgs/pkgs/tools/networking/xh/default.nix
@@ -3,16 +3,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "xh";
-  version = "0.10.0";
+  version = "0.12.0";
 
   src = fetchFromGitHub {
     owner = "ducaale";
     repo = "xh";
     rev = "v${version}";
-    sha256 = "0b9cgjgzf1vxd9j6cz44g68xbaii8gb3973pvjf0p6barnqzvqvq";
+    sha256 = "sha256-icJBQdFWdiHCYrZ7U90g6CdXdAkv3Y/WJu0IfZAdGv0=";
   };
 
-  cargoSha256 = "0lwxmqp0ww9wf9p3nd42q89j0g7ichpkcm0mb1p5hhagwqgb0z15";
+  cargoSha256 = "sha256-htv5OQnat4Qi6A6lmVonuz+8/DWz8fOGYPbnCnlizBo=";
 
   nativeBuildInputs = [ installShellFiles pkg-config ];
 
diff --git a/nixpkgs/pkgs/tools/networking/xl2tpd/default.nix b/nixpkgs/pkgs/tools/networking/xl2tpd/default.nix
index 26731817c80f..5abe4ea09673 100644
--- a/nixpkgs/pkgs/tools/networking/xl2tpd/default.nix
+++ b/nixpkgs/pkgs/tools/networking/xl2tpd/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xl2tpd";
-  version = "1.3.15";
+  version = "1.3.16";
 
   src = fetchFromGitHub {
     owner = "xelerance";
     repo = "xl2tpd";
     rev = "v${version}";
-    sha256 = "0ppwza8nwm1av1vldw40gin9wrjrs4l9si50jad414js3k8ycaag";
+    sha256 = "sha256-1Hipek50qjcr0vgTNr4PQyCf1qLZ3UKqu+DLuDNjRUc=";
   };
 
   buildInputs = [ libpcap ];
diff --git a/nixpkgs/pkgs/tools/networking/xnbd/default.nix b/nixpkgs/pkgs/tools/networking/xnbd/default.nix
index 0488fb9fa186..348d557da76d 100644
--- a/nixpkgs/pkgs/tools/networking/xnbd/default.nix
+++ b/nixpkgs/pkgs/tools/networking/xnbd/default.nix
@@ -1,14 +1,15 @@
 { lib, stdenv, fetchurl, pkg-config, autoreconfHook, glib, jansson }:
 
 stdenv.mkDerivation rec {
-  name = "xnbd-0.4.0";
+  pname = "xnbd";
+  version = "0.4.0";
 
   src = fetchurl {
-    url = "https://bitbucket.org/hirofuchi/xnbd/downloads/${name}.tgz";
+    url = "https://bitbucket.org/hirofuchi/xnbd/downloads/xnbd-${version}.tgz";
     sha256 = "00wkvsa0yaq4mabczcbfpj6rjvp02yahw8vdrq8hgb3wpm80x913";
   };
 
-  sourceRoot = "${name}/trunk";
+  sourceRoot = "xnbd-${version}/trunk";
 
   patches = [ ./0001-Fix-build-for-glibc-2.28.patch ];
 
diff --git a/nixpkgs/pkgs/tools/networking/yggdrasil/default.nix b/nixpkgs/pkgs/tools/networking/yggdrasil/default.nix
index 506869238e57..874205f592bd 100644
--- a/nixpkgs/pkgs/tools/networking/yggdrasil/default.nix
+++ b/nixpkgs/pkgs/tools/networking/yggdrasil/default.nix
@@ -22,12 +22,11 @@ buildGoModule rec {
 
   subPackages = [ "cmd/yggdrasil" "cmd/yggdrasilctl" ];
 
-  buildFlagsArray = ''
-    -ldflags=
-      -X github.com/yggdrasil-network/yggdrasil-go/src/version.buildVersion=${version}
-      -X github.com/yggdrasil-network/yggdrasil-go/src/version.buildName=${pname}
-      -s -w
-  '';
+  ldflags = [
+    "-X github.com/yggdrasil-network/yggdrasil-go/src/version.buildVersion=${version}"
+    "-X github.com/yggdrasil-network/yggdrasil-go/src/version.buildName=${pname}"
+    "-s" "-w"
+  ];
 
   passthru.tests.basic = nixosTests.yggdrasil;
 
diff --git a/nixpkgs/pkgs/tools/networking/ytcc/default.nix b/nixpkgs/pkgs/tools/networking/ytcc/default.nix
index 6bd12963b7ee..38bb5c06607d 100644
--- a/nixpkgs/pkgs/tools/networking/ytcc/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ytcc/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "ytcc";
-  version = "2.2.0";
+  version = "2.3.0";
 
   src = fetchFromGitHub {
     owner = "woefe";
     repo = "ytcc";
     rev = "v${version}";
-    sha256 = "1rhnrmanad10zy2as9q5wjfjlk18f51vf801syyfgxvk0pdcsk6w";
+    sha256 = "1q0w3b7r93416s28qra608n0d7cjh95nwkzgg23z5hp5sq3w3izr";
   };
 
   nativeBuildInputs = [ gettext ];
diff --git a/nixpkgs/pkgs/tools/nix/nixos-generators/default.nix b/nixpkgs/pkgs/tools/nix/nixos-generators/default.nix
index 004a73475221..01e12e9fd58f 100644
--- a/nixpkgs/pkgs/tools/nix/nixos-generators/default.nix
+++ b/nixpkgs/pkgs/tools/nix/nixos-generators/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "nixos-generators";
-  version = "1.3.0";
+  version = "1.4.0";
   src = fetchFromGitHub {
     owner = "nix-community";
     repo = "nixos-generators";
     rev = version;
-    sha256 = "1gbj2jw7zv3mnq1lyj4q53jpfj642jy7lvg0kp060znvhws3370y";
+    sha256 = "1kn2anp8abpi0n3p7j0yczbpy7mdhk8rv84ywyghqdvf2wjmnlnp";
   };
   nativeBuildInputs = [ makeWrapper ];
   installFlags = [ "PREFIX=$(out)" ];
diff --git a/nixpkgs/pkgs/tools/nix/nixos-install-tools/default.nix b/nixpkgs/pkgs/tools/nix/nixos-install-tools/default.nix
index a129fb345215..8a00c15d905c 100644
--- a/nixpkgs/pkgs/tools/nix/nixos-install-tools/default.nix
+++ b/nixpkgs/pkgs/tools/nix/nixos-install-tools/default.nix
@@ -7,6 +7,7 @@
   #       https://github.com/NixOS/nixpkgs/pull/119942
   nixos-install-tools,
   runCommand,
+  nixosTests,
 }:
 let
   inherit (nixos {}) config;
@@ -40,6 +41,7 @@ in
   };
 
   passthru.tests = {
+    nixos-tests = lib.recurseIntoAttrs nixosTests.installer;
     nixos-install-help = runCommand "test-nixos-install-help" {
       nativeBuildInputs = [
         man
diff --git a/nixpkgs/pkgs/tools/nix/nixos-option/default.nix b/nixpkgs/pkgs/tools/nix/nixos-option/default.nix
index 216e2678e2e2..9137e5a716c5 100644
--- a/nixpkgs/pkgs/tools/nix/nixos-option/default.nix
+++ b/nixpkgs/pkgs/tools/nix/nixos-option/default.nix
@@ -8,5 +8,6 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     license = licenses.lgpl2Plus;
     maintainers = with maintainers; [ chkno ];
+    platforms = platforms.all;
   };
 }
diff --git a/nixpkgs/pkgs/tools/package-management/akku/default.nix b/nixpkgs/pkgs/tools/package-management/akku/default.nix
new file mode 100644
index 000000000000..e1baf2e0b1eb
--- /dev/null
+++ b/nixpkgs/pkgs/tools/package-management/akku/default.nix
@@ -0,0 +1,41 @@
+{ lib, stdenv, fetchFromGitLab, autoreconfHook, pkg-config, guile, curl, substituteAll }:
+
+stdenv.mkDerivation rec {
+  pname = "akku";
+  version = "1.1.0";
+
+  src = fetchFromGitLab {
+    owner = "akkuscm";
+    repo = "akku";
+    rev = "v${version}";
+    sha256 = "1pi18aamg1fd6f9ynfl7zx92052xzf0zwmhi2pwcwjs1kbah19f5";
+  };
+
+  patches = [
+    # substitute libcurl path
+    (substituteAll {
+      src = ./hardcode-libcurl.patch;
+      libcurl = "${curl.out}/lib/libcurl${stdenv.hostPlatform.extensions.sharedLibrary}";
+    })
+  ];
+
+  nativeBuildInputs = [ autoreconfHook pkg-config ];
+
+  buildInputs = [ guile ];
+
+  # Use a dummy package index to boostrap Akku
+  preBuild = ''
+    touch bootstrap.db
+  '';
+
+  makeFlags = [ "GUILE_AUTO_COMPILE=0" ];
+
+  meta = with lib; {
+    homepage = "https://akkuscm.org/";
+    description = "Language package manager for Scheme";
+    changelog = "https://gitlab.com/akkuscm/akku/-/raw/v${version}/NEWS.md";
+    platforms = platforms.all;
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ marsam ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/package-management/akku/hardcode-libcurl.patch b/nixpkgs/pkgs/tools/package-management/akku/hardcode-libcurl.patch
new file mode 100644
index 000000000000..7c5b8b50c320
--- /dev/null
+++ b/nixpkgs/pkgs/tools/package-management/akku/hardcode-libcurl.patch
@@ -0,0 +1,18 @@
+--- old/private/http.scm
++++ new/private/http.scm
+@@ -101,14 +101,7 @@
+                  ;; shouldn't, but it's an old issue.
+                  (log/error "Could not load libcurl. Please install the curl development(!) package.")
+                  (exit 1)))
+-          (case (os-name)
+-            ((darwin) (set! libcurl (open-shared-object "libcurl.dylib")))
+-            ((msys) (set! libcurl (open-shared-object "msys-curl-4")))
+-            (else
+-             (guard (exn
+-                     (else
+-                      (set! libcurl (open-shared-object "libcurl.so.3"))))
+-               (set! libcurl (open-shared-object "libcurl.so.4"))))))
++          (set! libcurl (open-shared-object "@libcurl@")))
+         (letrec ()
+           (define %curl_global_init (foreign-procedure libcurl int curl_global_init (long)))
+           (call %curl_global_init #b11)))
diff --git a/nixpkgs/pkgs/tools/package-management/apk-tools/default.nix b/nixpkgs/pkgs/tools/package-management/apk-tools/default.nix
index c8b2ce003014..8d8645de2deb 100644
--- a/nixpkgs/pkgs/tools/package-management/apk-tools/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/apk-tools/default.nix
@@ -4,14 +4,14 @@
 
 stdenv.mkDerivation rec {
   pname = "apk-tools";
-  version = "2.12.5";
+  version = "2.12.7";
 
   src = fetchFromGitLab {
     domain = "gitlab.alpinelinux.org";
     owner = "alpine";
     repo = "apk-tools";
     rev = "v${version}";
-    sha256 = "0961l2qigs3wwn8lpi5f2wnzn4y4cipcm6qcr40fqj4xyq2hz2ja";
+    sha256 = "sha256-sGAsC5HZV5jaaUXgaPDUf4+vDL4zSGldzhykpdZlFS4=";
   };
 
   nativeBuildInputs = [ pkg-config scdoc ]
diff --git a/nixpkgs/pkgs/tools/package-management/apt/default.nix b/nixpkgs/pkgs/tools/package-management/apt/default.nix
index 86982bf7f3a2..d19315a89f49 100644
--- a/nixpkgs/pkgs/tools/package-management/apt/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/apt/default.nix
@@ -1,50 +1,84 @@
-{ stdenv, lib, fetchurl, pkg-config, cmake, perlPackages, curl, gtest
-, gnutls, libtasn1, xz, bzip2, lz4, zstd, libseccomp, udev
-, db, dpkg, libxslt, docbook_xsl, docbook_xml_dtd_45
-
-# used when WITH_DOC=ON
-, w3m
-, doxygen
-
-# used when WITH_NLS=ON
-, gettext
-
-# opts
-, withDocs ? true
-, withNLS ? true
+{ lib
+, stdenv
+, fetchurl
+, bzip2
+, cmake
+, curl
+, db
+, docbook_xml_dtd_45
+, docbook_xsl
+, dpkg
+, gnutls
+, gtest
+, libgcrypt
+, libseccomp
+, libtasn1
+, libxslt
+, lz4
+, perlPackages
+, pkg-config
+, triehash
+, udev
+, xxHash
+, xz
+, zstd
+, withDocs ? true , w3m, doxygen
+, withNLS ? true , gettext
 }:
 
 stdenv.mkDerivation rec {
   pname = "apt";
-  version = "1.8.4";
+  version = "2.3.8";
 
   src = fetchurl {
     url = "mirror://debian/pool/main/a/apt/apt_${version}.tar.xz";
-    sha256 = "0gn4srqaaym85gc8nldqkv01477kdwr136an2nlpbdrsbx3y83zl";
+    hash = "sha256-SFrxQwx14xWLcV5EJNv5bRtWQdxNzMUPVxssd5qDfyw=";
   };
 
-  nativeBuildInputs = [ pkg-config cmake gtest libxslt.bin ];
+  nativeBuildInputs = [
+    cmake
+    gtest
+    libxslt.bin
+    pkg-config
+    triehash
+  ];
 
   buildInputs = [
-    perlPackages.perl curl gnutls libtasn1 xz bzip2 lz4 zstd libseccomp udev db dpkg
+    bzip2
+    curl
+    db
+    dpkg
+    gnutls
+    libgcrypt
+    libseccomp
+    libtasn1
+    lz4
+    perlPackages.perl
+    udev
+    xxHash
+    xz
+    zstd
   ] ++ lib.optionals withDocs [
-    doxygen perlPackages.Po4a w3m docbook_xml_dtd_45
+    docbook_xml_dtd_45
+    doxygen
+    perlPackages.Po4a
+    w3m
   ] ++ lib.optionals withNLS [
     gettext
   ];
 
   cmakeFlags = [
-    "-DBERKELEY_DB_INCLUDE_DIRS=${db.dev}/include"
-    "-DGNUTLS_INCLUDE_DIR=${gnutls.dev}/include"
+    "-DBERKELEY_INCLUDE_DIRS=${db.dev}/include"
     "-DDOCBOOK_XSL=${docbook_xsl}/share/xml/docbook-xsl"
+    "-DGNUTLS_INCLUDE_DIR=${gnutls.dev}/include"
     "-DROOT_GROUP=root"
-    "-DWITH_DOC=${if withDocs then "ON" else "OFF"}"
     "-DUSE_NLS=${if withNLS then "ON" else "OFF"}"
+    "-DWITH_DOC=${if withDocs then "ON" else "OFF"}"
   ];
 
   meta = with lib; {
-    description = "Command-line package management tools used on Debian-based systems";
     homepage = "https://salsa.debian.org/apt-team/apt";
+    description = "Command-line package management tools used on Debian-based systems";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ cstrahan ];
diff --git a/nixpkgs/pkgs/tools/package-management/cargo-kcov/default.nix b/nixpkgs/pkgs/tools/package-management/cargo-kcov/default.nix
index c37a73063680..f94c4fa5c0f0 100644
--- a/nixpkgs/pkgs/tools/package-management/cargo-kcov/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/cargo-kcov/default.nix
@@ -1,6 +1,8 @@
 { lib
 , rustPlatform
 , fetchFromGitHub
+, makeWrapper
+, kcov
 }:
 
 rustPlatform.buildRustPackage rec {
@@ -17,6 +19,13 @@ rustPlatform.buildRustPackage rec {
   cargoSha256 = "0m5gfyjzzwd8wkbb388vmd785dy334x0migq3ssi7dlah9zx62bj";
   doCheck = false;
 
+  nativeBuildInputs = [ makeWrapper ];
+
+  postInstall = ''
+    wrapProgram $out/bin/cargo-kcov \
+        --prefix PATH : ${lib.makeBinPath [ kcov ]}
+  '';
+
   meta = with lib; {
     description = "Cargo subcommand to run kcov to get coverage report on Linux";
     homepage = "https://github.com/kennytm/cargo-kcov";
diff --git a/nixpkgs/pkgs/tools/package-management/cargo-release/default.nix b/nixpkgs/pkgs/tools/package-management/cargo-release/default.nix
index aeb18f2efdef..9b7f78fa3b51 100644
--- a/nixpkgs/pkgs/tools/package-management/cargo-release/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/cargo-release/default.nix
@@ -2,25 +2,26 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-release";
-  version = "0.16.0";
+  version = "0.17.1";
 
   src = fetchFromGitHub {
-    owner = "sunng87";
+    owner = "crate-ci";
     repo = "cargo-release";
     rev = "v${version}";
-    sha256 = "sha256-+vQXaI6v8HXzsfXZFxmBJe+1u9nmW0z3SBjo38orJYA=";
+    sha256 = "sha256-zQwgnZFYXYG1NWzC9ZultTUlU+o/Sr2u3CnRXzr+Lk8=";
   };
 
-  cargoSha256 = "sha256-Zcg1MAAESD6qrh7domslisT2wG4ZaYyZtPCQ5IQrLVo=";
+  cargoSha256 = "sha256-ORv5O7DhZhmmOM5RnRIIe/WBU77iyROPIRGMJikUCgo=";
 
   nativeBuildInputs = [ pkg-config ];
+
   buildInputs = [ openssl ]
-  ++ lib.optionals stdenv.isDarwin [ libiconv Security ];
+    ++ lib.optionals stdenv.isDarwin [ libiconv Security ];
 
   meta = with lib; {
     description = ''Cargo subcommand "release": everything about releasing a rust crate'';
     homepage = "https://github.com/sunng87/cargo-release";
-    license = with licenses; [ mit ];
+    license = with licenses; [ asl20 /* or */ mit ];
     maintainers = with maintainers; [ gerschtli ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/package-management/checkinstall/default.nix b/nixpkgs/pkgs/tools/package-management/checkinstall/default.nix
index 704c3ad64094..4987c05f8762 100644
--- a/nixpkgs/pkgs/tools/package-management/checkinstall/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/checkinstall/default.nix
@@ -2,11 +2,12 @@
 
 assert stdenv.isLinux && stdenv ? glibc;
 
-stdenv.mkDerivation {
-  name = "checkinstall-1.6.2";
+stdenv.mkDerivation rec {
+  pname = "checkinstall";
+  version = "1.6.2";
 
   src = fetchurl {
-    url = "http://www.asic-linux.com.mx/~izto/checkinstall/files/source/checkinstall-1.6.2.tar.gz";
+    url = "https://www.asic-linux.com.mx/~izto/checkinstall/files/source/checkinstall-${version}.tar.gz";
     sha256 = "1x4kslyvfd6lm6zd1ylbq2pjxrafb77ydfjaqi16sa5qywn1jqfw";
   };
 
diff --git a/nixpkgs/pkgs/tools/package-management/conda/default.nix b/nixpkgs/pkgs/tools/package-management/conda/default.nix
index 57b4d17fdfdd..bc11203bb4ae 100644
--- a/nixpkgs/pkgs/tools/package-management/conda/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/conda/default.nix
@@ -66,6 +66,8 @@ in
       source ${installationPath}/etc/profile.d/conda.sh
     '';
 
+    runScript = "bash -l";
+
     meta = {
       description = "Conda is a package manager for Python";
       homepage = "https://conda.io/";
diff --git a/nixpkgs/pkgs/tools/package-management/disnix/DisnixWebService/default.nix b/nixpkgs/pkgs/tools/package-management/disnix/DisnixWebService/default.nix
index 8a4d5d44b8dd..9fd10a3aba08 100644
--- a/nixpkgs/pkgs/tools/package-management/disnix/DisnixWebService/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/disnix/DisnixWebService/default.nix
@@ -1,9 +1,10 @@
 {lib, stdenv, fetchurl, apacheAnt, jdk, axis2, dbus_java }:
 
-stdenv.mkDerivation {
-  name = "DisnixWebService-0.10.1";
+stdenv.mkDerivation rec {
+  pname = "DisnixWebService";
+  version = "0.10.1";
   src = fetchurl {
-    url = "https://github.com/svanderburg/DisnixWebService/releases/download/DisnixWebService-0.10.1/DisnixWebService-0.10.1.tar.gz";
+    url = "https://github.com/svanderburg/DisnixWebService/releases/download/DisnixWebService-${version}/DisnixWebService-${version}.tar.gz";
     sha256 = "02jxbgn9a0c9cr6knzp78bp9wiywzczy89wav7yxhg79vff8a1gr";
   };
   buildInputs = [ apacheAnt jdk ];
diff --git a/nixpkgs/pkgs/tools/package-management/disnix/default.nix b/nixpkgs/pkgs/tools/package-management/disnix/default.nix
index c7b3b72e2ea1..0e22a24c0995 100644
--- a/nixpkgs/pkgs/tools/package-management/disnix/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/disnix/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, glib, libxml2, libxslt, getopt, gettext, dysnomia, libintl, libiconv }:
 
-stdenv.mkDerivation {
-  name = "disnix-0.10.1";
+stdenv.mkDerivation rec {
+  pname = "disnix";
+  version = "0.10.1";
 
   src = fetchurl {
-    url = "https://github.com/svanderburg/disnix/releases/download/disnix-0.10.1/disnix-0.10.1.tar.gz";
+    url = "https://github.com/svanderburg/disnix/releases/download/disnix-${version}/disnix-${version}.tar.gz";
     sha256 = "13rjw1va7l8w7ir73xqxq4zb3ig2iwhiwxhp5dbfv0z3gnqizghq";
   };
 
diff --git a/nixpkgs/pkgs/tools/package-management/disnix/disnixos/default.nix b/nixpkgs/pkgs/tools/package-management/disnix/disnixos/default.nix
index f9a8221e5f01..639d19782106 100644
--- a/nixpkgs/pkgs/tools/package-management/disnix/disnixos/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/disnix/disnixos/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, dysnomia, disnix, socat, pkg-config, getopt }:
 
-stdenv.mkDerivation {
-  name = "disnixos-0.9.1";
+stdenv.mkDerivation rec {
+  pname = "disnixos";
+  version = "0.9.1";
 
   src = fetchurl {
-    url = "https://github.com/svanderburg/disnixos/releases/download/disnixos-0.9.1/disnixos-0.9.1.tar.gz";
+    url = "https://github.com/svanderburg/disnixos/releases/download/disnixos-${version}/disnixos-${version}.tar.gz";
     sha256 = "1n2psq1b8bg340i2i0yf5xy2rf78fwqd3wj342wcmq09cv2v8d1b";
   };
 
diff --git a/nixpkgs/pkgs/tools/package-management/disnix/dysnomia/default.nix b/nixpkgs/pkgs/tools/package-management/disnix/dysnomia/default.nix
index d75683a87445..678f0a9be8b7 100644
--- a/nixpkgs/pkgs/tools/package-management/disnix/dysnomia/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/disnix/dysnomia/default.nix
@@ -38,10 +38,11 @@ assert enableNginxWebApplication -> nginx != null;
 assert enableS6RCService -> s6-rc != null;
 assert enableXinetdService -> xinetd != null;
 
-stdenv.mkDerivation {
-  name = "dysnomia-0.10.1";
+stdenv.mkDerivation rec {
+  pname = "dysnomia";
+  version = "0.10.1";
   src = fetchurl {
-    url = "https://github.com/svanderburg/dysnomia/releases/download/dysnomia-0.10.1/dysnomia-0.10.1.tar.gz";
+    url = "https://github.com/svanderburg/dysnomia/releases/download/dysnomia-${version}/dysnomia-${version}.tar.gz";
     sha256 = "0w9601g8zpaxrmynx6mh8zz85ldpb8psp7cc6ls8v3srjpj1l5n3";
   };
 
diff --git a/nixpkgs/pkgs/tools/package-management/holo-build/default.nix b/nixpkgs/pkgs/tools/package-management/holo-build/default.nix
index 8f88ae08762b..847c8a726d0f 100644
--- a/nixpkgs/pkgs/tools/package-management/holo-build/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/holo-build/default.nix
@@ -24,7 +24,7 @@ buildGoModule rec {
 
   subPackages = [ "src/holo-build" ];
 
-  buildFlagsArray = [ "-ldflags=-s -w -X github.com/holocm/holo-build/src/holo-build/common.version=${version}" ];
+  ldflags = [ "-s" "-w" "-X github.com/holocm/holo-build/src/holo-build/common.version=${version}" ];
 
   postBuild = ''
     make build/man/holo-build.8 VERSION=${version}
@@ -52,7 +52,7 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "Cross-distribution system package compiler";
-    homepage = "http://holocm.org/";
+    homepage = "https://holocm.org/";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ SuperSandro2000 ];
   };
diff --git a/nixpkgs/pkgs/tools/package-management/libdnf/default.nix b/nixpkgs/pkgs/tools/package-management/libdnf/default.nix
index 7a421aaeebf4..5e1562fa431b 100644
--- a/nixpkgs/pkgs/tools/package-management/libdnf/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/libdnf/default.nix
@@ -1,5 +1,5 @@
 { gcc9Stdenv, lib, stdenv, fetchFromGitHub, cmake, gettext, pkg-config, gpgme, libsolv, openssl, check
-, json_c, libmodulemd, libsmartcols, sqlite, librepo, libyaml, rpm }:
+, json_c, libmodulemd, libsmartcols, sqlite, librepo, libyaml, rpm, zchunk }:
 
 gcc9Stdenv.mkDerivation rec {
   pname = "libdnf";
@@ -26,6 +26,7 @@ gcc9Stdenv.mkDerivation rec {
     libsmartcols
     libyaml
     libmodulemd
+    zchunk
   ];
 
   propagatedBuildInputs = [
@@ -51,7 +52,6 @@ gcc9Stdenv.mkDerivation rec {
     "-DWITH_GTKDOC=OFF"
     "-DWITH_HTML=OFF"
     "-DWITH_BINDINGS=OFF"
-    "-DWITH_ZCHUNK=OFF"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/package-management/librepo/default.nix b/nixpkgs/pkgs/tools/package-management/librepo/default.nix
index 4009d1113073..09dce930d5cc 100644
--- a/nixpkgs/pkgs/tools/package-management/librepo/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/librepo/default.nix
@@ -13,7 +13,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.13.0";
+  version = "1.14.2";
   pname = "librepo";
 
   outputs = [ "out" "dev" "py" ];
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     owner = "rpm-software-management";
     repo = "librepo";
     rev = version;
-    sha256 = "sha256-gK1pkcZAJVXx0cYGs8PA4iPSMOwgJZI9Hqrrs1ZITDo=";
+    sha256 = "sha256-KpGbHBgywaXV7r8W5CPS2N1GohdDFiOwAJmrrjS1m5g=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/package-management/micromamba/default.nix b/nixpkgs/pkgs/tools/package-management/micromamba/default.nix
index a7e563ce67e5..ad325cd4f41a 100644
--- a/nixpkgs/pkgs/tools/package-management/micromamba/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/micromamba/default.nix
@@ -1,23 +1,54 @@
-{ lib, stdenv, fetchFromGitHub, cmake
+{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake
 , cli11, nlohmann_json, curl, libarchive, libyamlcpp, libsolv, reproc
 }:
 
 let
   libsolv' = libsolv.overrideAttrs (oldAttrs: {
     cmakeFlags = oldAttrs.cmakeFlags ++ [
-      "-DENABLE_CONDA=true"  # Maybe enable this in the original libsolv package? No idea about the implications.
+      "-DENABLE_CONDA=true"
     ];
+
+    patches = [
+      # Patch added by the mamba team
+      (fetchpatch {
+        url = "https://raw.githubusercontent.com/mamba-org/boa-forge/f766da0cc18701c4d107a41de22417a65b53cc2d/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/f766da0cc18701c4d107a41de22417a65b53cc2d/libsolv/conda_variant_priorization.patch";
+        sha256 = "1iic0yx7h8s662hi2jqx68w5kpyrab4fr017vxd4wyxb6wyk35dd";
+      })
+      # Patch added by the mamba team
+      (fetchpatch {
+        url = "https://raw.githubusercontent.com/mamba-org/boa-forge/f766da0cc18701c4d107a41de22417a65b53cc2d/libsolv/memcpy_to_memmove.patch";
+        sha256 = "1c9ir40l6crcxllj5zwhzbrbgibwqaizyykd0vip61gywlfzss64";
+      })
+    ];
+  });
+
+  # fails linking with yaml-cpp 0.7.x
+  libyamlcpp' = libyamlcpp.overrideAttrs (oldAttrs: rec {
+
+    version = "0.6.3";
+
+    src = fetchFromGitHub {
+      owner = "jbeder";
+      repo = "yaml-cpp";
+      rev = "yaml-cpp-${version}";
+      sha256 = "0ykkxzxcwwiv8l8r697gyqh1nl582krpvi7m7l6b40ijnk4pw30s";
+    };
   });
 in
 stdenv.mkDerivation rec {
   pname = "micromamba";
-  version = "0.14.1";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "mamba-org";
     repo = "mamba";
     rev = version;
-    sha256 = "0a5kmwk44ll4d8b2akjc0vm6ap9jfxclcw4fclvjxr2in3am9256";
+    sha256 = "1zksp4zqj4wn9p9jb1qx1acajaz20k9xnm80yi7bab2d37y18hcw";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -27,7 +58,7 @@ stdenv.mkDerivation rec {
     nlohmann_json
     curl
     libarchive
-    libyamlcpp
+    libyamlcpp'
     libsolv'
     reproc
     # python3Packages.pybind11 # Would be necessary if someone wants to build with bindings I guess.
diff --git a/nixpkgs/pkgs/tools/package-management/morph/default.nix b/nixpkgs/pkgs/tools/package-management/morph/default.nix
index 56d824059f53..e7b6b3adf1f2 100644
--- a/nixpkgs/pkgs/tools/package-management/morph/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/morph/default.nix
@@ -15,11 +15,9 @@ buildGoModule rec {
 
   nativeBuildInputs = [ makeWrapper go-bindata ];
 
-  buildFlagsArray = ''
-    -ldflags=
-    -X
-    main.version=${version}
-  '';
+  ldflags = [
+    "-X main.version=${version}"
+  ];
 
   postPatch = ''
     go-bindata -pkg assets -o assets/assets.go data/
diff --git a/nixpkgs/pkgs/tools/package-management/morph/deps.nix b/nixpkgs/pkgs/tools/package-management/morph/deps.nix
deleted file mode 100644
index fdae5ef39ee2..000000000000
--- a/nixpkgs/pkgs/tools/package-management/morph/deps.nix
+++ /dev/null
@@ -1,66 +0,0 @@
-# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix)
-[
-  {
-    goPackagePath  = "github.com/dbcdk/kingpin";
-    fetch = {
-      type = "git";
-      url = "https://github.com/dbcdk/kingpin";
-      rev =  "8554767bc91254c59c7297a99e9867c770e4eadb";
-      sha256 = "05hfpgylv5mfnjz2mdd3jl8p3psmczvdbs4ydf9xvvc17c9mlrpq";
-    };
-  }
-  {
-    goPackagePath  = "github.com/alecthomas/template";
-    fetch = {
-      type = "git";
-      url = "https://github.com/alecthomas/template";
-      rev =  "a0175ee3bccc567396460bf5acd36800cb10c49c";
-      sha256 = "0qjgvvh26vk1cyfq9fadyhfgdj36f1iapbmr5xp6zqipldz8ffxj";
-    };
-  }
-  {
-    goPackagePath  = "github.com/alecthomas/units";
-    fetch = {
-      type = "git";
-      url = "https://github.com/alecthomas/units";
-      rev =  "2efee857e7cfd4f3d0138cc3cbb1b4966962b93a";
-      sha256 = "1j65b91qb9sbrml9cpabfrcf07wmgzzghrl7809hjjhrmbzri5bl";
-    };
-  }
-  {
-    goPackagePath  = "github.com/gobwas/glob";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gobwas/glob";
-      rev =  "5ccd90ef52e1e632236f7326478d4faa74f99438";
-      sha256 = "0jxk1x806zn5x86342s72dq2qy64ksb3zrvrlgir2avjhwb18n6z";
-    };
-  }
-  {
-    goPackagePath  = "golang.org/x/crypto";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/crypto";
-      rev =  "0e37d006457bf46f9e6692014ba72ef82c33022c";
-      sha256 = "1fj8rvrhgv5j8pmckzphvm3sqkzhcqp3idkxvgv13qrjdfycsa5r";
-    };
-  }
-  {
-    goPackagePath  = "golang.org/x/sys";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sys";
-      rev =  "ee1b12c67af419cf5a9be3bdbeea7fc1c5f32f11";
-      sha256 = "0cgp0xzbhg3fr77n2qrfmmsvhc287srnwi4mghwcjdxp6rx0s988";
-    };
-  }
-  {
-    goPackagePath  = "gopkg.in/mattes/go-expand-tilde.v1";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattes/go-expand-tilde";
-      rev =  "cb884138e64c9a8bf5c7d6106d74b0fca082df0c";
-      sha256 = "06xrp05njwam4sn031fkmd4gym5wfsw5q0v24nqhs4883lsx9dwq";
-    };
-  }
-]
diff --git a/nixpkgs/pkgs/tools/package-management/nfpm/default.nix b/nixpkgs/pkgs/tools/package-management/nfpm/default.nix
index 521616a5472d..9331bdba6843 100644
--- a/nixpkgs/pkgs/tools/package-management/nfpm/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/nfpm/default.nix
@@ -2,20 +2,20 @@
 
 buildGoModule rec {
   pname = "nfpm";
-  version = "2.3.1";
+  version = "2.6.0";
 
   src = fetchFromGitHub {
     owner = "goreleaser";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-zS8HXzu0oX66oVmupMU9YZKXGF+IQ/tCrO32PXfHPGY=";
+    sha256 = "sha256-GKdfi4hdvpB9VY8VqGYNjTezmPxotrzL/XSm1H5VLQs=";
   };
 
-  vendorSha256 = "sha256-1zPrCmC+J9LbD3tRKzdJbyWbyTtD6SiPZ6efc9CSjsg=";
+  vendorSha256 = "sha256-APF6WHuH+YzgX3GbkSzZArGdiE7xPsLljEzCu96BvO4=";
 
   doCheck = false;
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
+  ldflags = [ "-s" "-w" "-X main.version=${version}" ];
 
   meta = with lib; {
     description = "A simple deb and rpm packager written in Go";
diff --git a/nixpkgs/pkgs/tools/package-management/nix-prefetch-scripts/default.nix b/nixpkgs/pkgs/tools/package-management/nix-prefetch-scripts/default.nix
index a77d0961c843..aca8c2fbb4de 100644
--- a/nixpkgs/pkgs/tools/package-management/nix-prefetch-scripts/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/nix-prefetch-scripts/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, makeWrapper, buildEnv
-, breezy, coreutils, cvs, findutils, gawk, git, gnused, mercurial, nix, subversion
+, breezy, coreutils, cvs, findutils, gawk, git, git-lfs, gnused, mercurial, nix, subversion
 }:
 
 let mkPrefetchScript = tool: src: deps:
@@ -28,7 +28,7 @@ let mkPrefetchScript = tool: src: deps:
 in rec {
   nix-prefetch-bzr = mkPrefetchScript "bzr" ../../../build-support/fetchbzr/nix-prefetch-bzr [ breezy ];
   nix-prefetch-cvs = mkPrefetchScript "cvs" ../../../build-support/fetchcvs/nix-prefetch-cvs [ cvs ];
-  nix-prefetch-git = mkPrefetchScript "git" ../../../build-support/fetchgit/nix-prefetch-git [ coreutils findutils gawk git ];
+  nix-prefetch-git = mkPrefetchScript "git" ../../../build-support/fetchgit/nix-prefetch-git [ coreutils findutils gawk git git-lfs ];
   nix-prefetch-hg  = mkPrefetchScript "hg"  ../../../build-support/fetchhg/nix-prefetch-hg   [ mercurial ];
   nix-prefetch-svn = mkPrefetchScript "svn" ../../../build-support/fetchsvn/nix-prefetch-svn [ subversion ];
 
diff --git a/nixpkgs/pkgs/tools/package-management/nix-serve/default.nix b/nixpkgs/pkgs/tools/package-management/nix-serve/default.nix
index a1edfdd1367f..93e240ad3463 100644
--- a/nixpkgs/pkgs/tools/package-management/nix-serve/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/nix-serve/default.nix
@@ -16,7 +16,8 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "nix-serve-0.2-${substring 0 7 rev}";
+  pname = "nix-serve";
+  version = "0.2-${substring 0 7 rev}";
 
   src = fetchFromGitHub {
     owner = "edolstra";
diff --git a/nixpkgs/pkgs/tools/package-management/nix-simple-deploy/default.nix b/nixpkgs/pkgs/tools/package-management/nix-simple-deploy/default.nix
index 75f47d35ce2c..0077c6c01895 100644
--- a/nixpkgs/pkgs/tools/package-management/nix-simple-deploy/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/nix-simple-deploy/default.nix
@@ -1,21 +1,29 @@
-{ lib, fetchFromGitHub, rustPlatform }:
+{ lib, fetchFromGitHub, rustPlatform, makeWrapper, openssh, nix-serve }:
 
 rustPlatform.buildRustPackage rec {
   pname = "nix-simple-deploy";
-  version = "0.1.1";
+  version = "0.2.2";
 
   src = fetchFromGitHub {
     owner = "misuzu";
     repo = pname;
     rev = version;
-    sha256 = "12g0sbgs2dfnk0agp1kagfi1yhk26ga98zygxxrjhjxrqb2n5w80";
+    sha256 = "1qq4fbsd2mvxblsggwbnh88mj18f3vrfzv1kgc7a92pfiwxznq8r";
   };
 
-  cargoSha256 = "1wp8wdv25j8ybq2j04z3nl4yc95wkj5h740lzpyps08yaxj8bncr";
+  cargoSha256 = "1r6dl7qipbyyvjcd3l9ynawjln1g1qzvw5za6nyjcf41dzv48m8x";
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  postInstall = ''
+    wrapProgram "$out/bin/nix-simple-deploy" \
+      --prefix PATH : "${lib.makeBinPath [ openssh nix-serve ]}"
+  '';
 
   meta = with lib; {
     description = "Deploy software or an entire NixOS system configuration to another NixOS system";
     homepage = "https://github.com/misuzu/nix-simple-deploy";
+    platforms = platforms.unix;
     license = with licenses; [ asl20 /* OR */ mit ];
     maintainers = with maintainers; [ misuzu ];
   };
diff --git a/nixpkgs/pkgs/tools/package-management/nix-update/default.nix b/nixpkgs/pkgs/tools/package-management/nix-update/default.nix
index c205550b267d..1345e2caa406 100644
--- a/nixpkgs/pkgs/tools/package-management/nix-update/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/nix-update/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonApplication rec {
   pname = "nix-update";
-  version = "0.4.0";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "Mic92";
     repo = pname;
     rev = version;
-    sha256 = "sha256-n3YuNypKFaBtO5Fhf7Z3Wgh0+WH5bQWR0W0uHCYKtuY=";
+    sha256 = "sha256-D1N7ISLZJ3A8G9X5dvtCbRse5h0MRJoeZM3CHkFpqlE=";
   };
 
   makeWrapperArgs = [
diff --git a/nixpkgs/pkgs/tools/package-management/nix/default.nix b/nixpkgs/pkgs/tools/package-management/nix/default.nix
index e60cf5804261..8f89fd6641d1 100644
--- a/nixpkgs/pkgs/tools/package-management/nix/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/nix/default.nix
@@ -42,6 +42,8 @@ common =
         [ "out" "dev" ]
         ++ lib.optionals enableDocumentation [ "man" "doc" ];
 
+      hardeningEnable = [ "pie" ];
+
       nativeBuildInputs =
         [ pkg-config ]
         ++ lib.optionals stdenv.isLinux [ util-linuxMinimal ]
@@ -218,10 +220,10 @@ in rec {
 
   nixStable = callPackage common (rec {
     pname = "nix";
-    version = "2.3.14";
+    version = "2.3.15";
     src = fetchurl {
       url = "https://nixos.org/releases/nix/${pname}-${version}/${pname}-${version}.tar.xz";
-      sha256 = "sha256-cToMnZU3+UpjeiiXnG3clz9zn8Xk+TbB7UbqmLMrlFk=";
+      sha256 = "sha256-N+MxClX94eUOfUMh0puRgNHp16+cjSEdtqZn5u5OtBA=";
     };
 
     boehmgc = boehmgc_nix;
@@ -232,13 +234,13 @@ in rec {
   nixUnstable = lib.lowPrio (callPackage common rec {
     pname = "nix";
     version = "2.4${suffix}";
-    suffix = "pre20210707_02dd6bb";
+    suffix = "pre20210802_47e96bb";
 
     src = fetchFromGitHub {
       owner = "NixOS";
       repo = "nix";
-      rev = "02dd6bb610e55a009cd7a4c83639698d3a7acaa2";
-      sha256 = "sha256-ARRiLrDOK+JQtvVXsYegspENYimQzilvdTfO7eiBuaA=";
+      rev = "47e96bb533f8cacc171bec9b688b134de31a48a9";
+      sha256 = "sha256-vwj1fAGn3Pl9Vr/qSL+oDxuwbRzEdI3dsEg6o3xTmWg=";
     };
 
     boehmgc = boehmgc_nixUnstable;
diff --git a/nixpkgs/pkgs/tools/package-management/nixpkgs-review/default.nix b/nixpkgs/pkgs/tools/package-management/nixpkgs-review/default.nix
index 35606a713476..9b4b37a232ca 100644
--- a/nixpkgs/pkgs/tools/package-management/nixpkgs-review/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/nixpkgs-review/default.nix
@@ -7,17 +7,17 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "nixpkgs-review";
-  version = "2.6.1";
+  version = "2.6.2";
 
   src = fetchFromGitHub {
     owner = "Mic92";
     repo = "nixpkgs-review";
     rev = version;
-    sha256 = "sha256-wDGmkydBLb3Wij1hjWExgHxva/03vJFqAK5zGH9yUn4=";
+    sha256 = "0991jz2l834pyzwcrkvjf3wlp122fkkz6avs4j5n9idv549c5xc0";
   };
 
   makeWrapperArgs = [
-    "--prefix" "PATH" ":" (lib.makeBinPath [ nixUnstable git ])
+    "--prefix" "PATH" ":" "${lib.makeBinPath [ nixUnstable git ]}"
   ];
 
   doCheck = false;
@@ -26,6 +26,6 @@ python3.pkgs.buildPythonApplication rec {
     description = "Review pull-requests on https://github.com/NixOS/nixpkgs";
     homepage = "https://github.com/Mic92/nixpkgs-review";
     license = licenses.mit;
-    maintainers = [ maintainers.mic92 ];
+    maintainers = with maintainers; [ mic92 SuperSandro2000 ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/package-management/opkg-utils/default.nix b/nixpkgs/pkgs/tools/package-management/opkg-utils/default.nix
index 2554ae47a411..922fa4c93e1e 100644
--- a/nixpkgs/pkgs/tools/package-management/opkg-utils/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/opkg-utils/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchgit }:
 
 stdenv.mkDerivation {
-  name = "opkg-utils-20141030";
+  pname = "opkg-utils";
+  version = "unstable-2014-10-30";
 
   # No releases, only a git tree
   src = fetchgit {
diff --git a/nixpkgs/pkgs/tools/security/apg/apg.patch b/nixpkgs/pkgs/tools/security/apg/apg.patch
deleted file mode 100644
index abc22647d52f..000000000000
--- a/nixpkgs/pkgs/tools/security/apg/apg.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-diff -rc apg-2.2.3/Makefile apg-2.2.3-new/Makefile
-*** apg-2.2.3/Makefile	2003-08-07 17:40:30.000000000 +0200
---- apg-2.2.3-new/Makefile	2013-07-24 12:25:31.159938436 +0200
-***************
-*** 113,131 ****
-  	if test -x ./apg; then \
-  ./mkinstalldirs ${INSTALL_PREFIX}${APG_BIN_DIR}; \
-  ./mkinstalldirs ${INSTALL_PREFIX}${APG_MAN_DIR}; \
-! ./install-sh -c -m 0755 -o root -g ${FIND_GROUP} ./apg ${INSTALL_PREFIX}${APG_BIN_DIR}; \
-  ./install-sh -c -m 0444 ./doc/man/apg.1 ${INSTALL_PREFIX}${APG_MAN_DIR}; \
-  fi
-  	if test -x ./apgd; then \
-  ./mkinstalldirs ${INSTALL_PREFIX}${APGD_BIN_DIR}; \
-  ./mkinstalldirs ${INSTALL_PREFIX}${APGD_MAN_DIR}; \
-! ./install-sh -c -m 0755 -o root -g ${FIND_GROUP} ./apgd ${INSTALL_PREFIX}${APGD_BIN_DIR}; \
-  ./install-sh -c -m 0444 ./doc/man/apgd.8 ${INSTALL_PREFIX}${APGD_MAN_DIR}; \
-  fi
-  	if test -x ./apgbfm; then \
-  ./mkinstalldirs ${INSTALL_PREFIX}${APG_BIN_DIR}; \
-  ./mkinstalldirs ${INSTALL_PREFIX}${APG_MAN_DIR}; \
-! ./install-sh -c -m 0755 -o root -g ${FIND_GROUP} ./apgbfm ${INSTALL_PREFIX}${APG_BIN_DIR}; \
-  ./install-sh -c -m 0444 ./doc/man/apgbfm.1 ${INSTALL_PREFIX}${APG_MAN_DIR}; \
-  fi
-  
---- 113,131 ----
-  	if test -x ./apg; then \
-  ./mkinstalldirs ${INSTALL_PREFIX}${APG_BIN_DIR}; \
-  ./mkinstalldirs ${INSTALL_PREFIX}${APG_MAN_DIR}; \
-! ./install-sh -c -m 0755 ./apg ${INSTALL_PREFIX}${APG_BIN_DIR}; \
-  ./install-sh -c -m 0444 ./doc/man/apg.1 ${INSTALL_PREFIX}${APG_MAN_DIR}; \
-  fi
-  	if test -x ./apgd; then \
-  ./mkinstalldirs ${INSTALL_PREFIX}${APGD_BIN_DIR}; \
-  ./mkinstalldirs ${INSTALL_PREFIX}${APGD_MAN_DIR}; \
-! ./install-sh -c -m 0755 ./apgd ${INSTALL_PREFIX}${APGD_BIN_DIR}; \
-  ./install-sh -c -m 0444 ./doc/man/apgd.8 ${INSTALL_PREFIX}${APGD_MAN_DIR}; \
-  fi
-  	if test -x ./apgbfm; then \
-  ./mkinstalldirs ${INSTALL_PREFIX}${APG_BIN_DIR}; \
-  ./mkinstalldirs ${INSTALL_PREFIX}${APG_MAN_DIR}; \
-! ./install-sh -c -m 0755 ./apgbfm ${INSTALL_PREFIX}${APG_BIN_DIR}; \
-  ./install-sh -c -m 0444 ./doc/man/apgbfm.1 ${INSTALL_PREFIX}${APG_MAN_DIR}; \
-  fi
-  
diff --git a/nixpkgs/pkgs/tools/security/apg/default.nix b/nixpkgs/pkgs/tools/security/apg/default.nix
index a185c09bda69..a283678e0a16 100644
--- a/nixpkgs/pkgs/tools/security/apg/default.nix
+++ b/nixpkgs/pkgs/tools/security/apg/default.nix
@@ -1,23 +1,18 @@
-{ lib, stdenv, fetchurl, openssl }:
+{ lib, stdenv, fetchFromGitHub, openssl, autoreconfHook }:
 stdenv.mkDerivation rec {
-  name = "apg-2.3.0b";
-  src = fetchurl {
-    url = "http://www.adel.nursat.kz/apg/download/${name}.tar.gz";
-    sha256 = "14lbq81xrcsmpk1b9qmqyz7n6ypf08zcxvcvp6f7ybcyf0lj1rfi";
+  pname = "apg";
+  version = "unstable-2015-01-29";
+
+  src = fetchFromGitHub {
+    owner = "wilx";
+    repo = "apg";
+    rev = "7ecdbac79156c8864fa3ff8d61e9f1eb264e56c2";
+    sha256 = "sha256-+7TrJACdm/i/pc0dsp8edEIOjx8cip+x0Qc2gONajSE=";
   };
-  configurePhase = ''
-    substituteInPlace Makefile --replace /usr/local "$out"
-  '';
-  makeFlags = ["CC=${stdenv.cc.targetPrefix}cc"];
 
-  patches = [
-    ./apg.patch
-    ./phony-install-target.patch
-  ];
+  nativeBuildInputs = [ autoreconfHook ];
 
-  postPatch = lib.optionalString stdenv.isDarwin ''
-    sed -i -e 's|APG_CLIBS += -lcrypt|APG_CLIBS += -L${openssl.out}/lib -lcrypto|' Makefile
-  '';
+  buildInputs = [ openssl ];
 
   meta = {
     description = "Tools for random password generation";
@@ -64,7 +59,7 @@ stdenv.mkDerivation rec {
        * Ability to enforce remote users to use only allowed type of
          password generation
     '';
-    homepage = "http://www.adel.nursat.kz/apg/";
+    homepage = "https://github.com/wilx/apg";
     license = lib.licenses.bsd3;
     maintainers = with lib.maintainers; [ astsmtl ];
     platforms = lib.platforms.unix;
diff --git a/nixpkgs/pkgs/tools/security/apg/phony-install-target.patch b/nixpkgs/pkgs/tools/security/apg/phony-install-target.patch
deleted file mode 100644
index 9edf50b4b599..000000000000
--- a/nixpkgs/pkgs/tools/security/apg/phony-install-target.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -ur a/Makefile b/Makefile
---- a/Makefile	2003-08-08 00:40:39.000000000 +0900
-+++ b/Makefile	2018-04-05 22:29:39.284191020 +0900
-@@ -142,6 +142,7 @@
- 	strip ${CS_PROGNAME}
- 	strip ${BFM_PROGNAME}
- 
-+.PHONY: install
- install:
- 	if test -x ./apg; then \
- ./mkinstalldirs ${INSTALL_PREFIX}${APG_BIN_DIR}; \
diff --git a/nixpkgs/pkgs/tools/security/aws-iam-authenticator/default.nix b/nixpkgs/pkgs/tools/security/aws-iam-authenticator/default.nix
index d9f4f4a01735..476d248c4343 100644
--- a/nixpkgs/pkgs/tools/security/aws-iam-authenticator/default.nix
+++ b/nixpkgs/pkgs/tools/security/aws-iam-authenticator/default.nix
@@ -15,7 +15,7 @@ buildGoModule rec {
   deleteVendor = true;
   vendorSha256 = "+Z8sENIMWXP29Piwb/W6i7UdNXVq6ZnO7AZbSaUYCME=";
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.version=v${version}" ];
+  ldflags = [ "-s" "-w" "-X main.version=v${version}" ];
 
   subPackages = [ "cmd/aws-iam-authenticator" ];
 
diff --git a/nixpkgs/pkgs/tools/security/aws-okta/default.nix b/nixpkgs/pkgs/tools/security/aws-okta/default.nix
index 363abbd39507..88002fc1ce43 100644
--- a/nixpkgs/pkgs/tools/security/aws-okta/default.nix
+++ b/nixpkgs/pkgs/tools/security/aws-okta/default.nix
@@ -13,9 +13,9 @@ buildGoPackage rec {
     sha256 = "sha256-1cprKpIFgM3+lUEHNvda34nJTH4Ch3LtTRq/Dp6QBQ8=";
   };
 
-  buildFlags = [ "--tags" "release" ];
+  tags = [ "release" ];
 
-  buildFlagsArray = [ "-ldflags=-X main.Version=${version}" ];
+  ldflags = [ "-X main.Version=${version}" ];
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ libusb1  libiconv ];
diff --git a/nixpkgs/pkgs/tools/security/b3sum/default.nix b/nixpkgs/pkgs/tools/security/b3sum/default.nix
index 1d9b2f66debf..9238ba06b1f5 100644
--- a/nixpkgs/pkgs/tools/security/b3sum/default.nix
+++ b/nixpkgs/pkgs/tools/security/b3sum/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "b3sum";
-  version = "0.3.8";
+  version = "1.0.0";
 
   src = fetchCrate {
     inherit version pname;
-    sha256 = "1a42kwbl886yymm3v7h6y957x5f4yi9j40jy4szg9k0iy8bsdfmh";
+    sha256 = "sha256-eWsvCpMG3iWB2cYIKaaP6h9QwKQQrpFNliHTqBtdzVw=";
   };
 
-  cargoSha256 = "0v7ric12agicppg5ax5q0vwbslw7kmxpinafvdjj5sc2ysinw1zm";
+  cargoSha256 = "sha256-YglKiEz/D5+Dz6CIzWIpoc33bhMSdGTM4MP/uJCxe7E=";
 
   meta = {
     description = "BLAKE3 cryptographic hash function";
diff --git a/nixpkgs/pkgs/tools/security/bettercap/default.nix b/nixpkgs/pkgs/tools/security/bettercap/default.nix
index 9d2adfd9a7d2..cdd50aaa809a 100644
--- a/nixpkgs/pkgs/tools/security/bettercap/default.nix
+++ b/nixpkgs/pkgs/tools/security/bettercap/default.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "bettercap";
-  version = "2.31.1";
+  version = "2.32.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-vZajnKjuIFoNnjxSsFkkpxyCR27VWqVN4lGf9SadmPU=";
+    sha256 = "sha256-OND8WPqU/95rKykqMAPWmDsJ+AjsjGjrncZ2/m3mpt0=";
   };
 
-  vendorSha256 = "sha256-et6D+M+xJbxIiDP7JRRABZ8UqUCpt9ZVI5DP45tyTGM=";
+  vendorSha256 = "sha256-QKv8F9QLRi+1Bqj9KywJsTErjs7o6gFM4tJLA8y52MY=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/security/bpb/default.nix b/nixpkgs/pkgs/tools/security/bpb/default.nix
new file mode 100644
index 000000000000..121c5674c08c
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/bpb/default.nix
@@ -0,0 +1,29 @@
+{ stdenv
+, lib
+, rustPlatform
+, fetchFromGitHub
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "bpb";
+  version = "unstable-2018-07-27";
+
+  src = fetchFromGitHub {
+    owner = "withoutboats";
+    repo = "bpb";
+    rev = "b1ef5ca1d2dea0e2ec0b1616f087f110ea17adfa";
+    sha256 = "sVfM8tlAsF4uKLxl3g/nSYgOx+znHIdPalSIiCd18o4=";
+  };
+
+  cargoSha256 = "7cARRJWRxF1kMySX6KcB6nrVf8k1p/nr3OyAwNLmztc=";
+
+  # a nightly compiler is required unless we use this cheat code.
+  RUSTC_BOOTSTRAP = 1;
+
+  meta = with lib; {
+    description = "Tool to automatically sign git commits, replacing gpg for that purpose";
+    homepage = "https://github.com/withoutboats/bpb";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jtojnar ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/ccid/default.nix b/nixpkgs/pkgs/tools/security/ccid/default.nix
index e715cf504185..a7312731203b 100644
--- a/nixpkgs/pkgs/tools/security/ccid/default.nix
+++ b/nixpkgs/pkgs/tools/security/ccid/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ccid";
-  version = "1.4.34";
+  version = "1.4.35";
 
   src = fetchurl {
     url = "https://ccid.apdu.fr/files/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-5vdkW1mpooROtLGn7/USlg1/BKRlSvAvf9L4re1dtAo=";
+    sha256 = "sha256-fD4qeSTt2nIhicpXyNHP+lHn+TVKI+ga7NnRro2XEMo=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/tools/security/ccrypt/default.nix b/nixpkgs/pkgs/tools/security/ccrypt/default.nix
index bf5f26f7044f..2972fc9ae55f 100644
--- a/nixpkgs/pkgs/tools/security/ccrypt/default.nix
+++ b/nixpkgs/pkgs/tools/security/ccrypt/default.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl, perl}:
 
-stdenv.mkDerivation {
-  name = "ccrypt-1.11";
+stdenv.mkDerivation rec {
+  pname = "ccrypt";
+  version = "1.11";
 
   src = fetchurl {
-    url = "mirror://sourceforge/ccrypt/ccrypt-1.11.tar.gz";
+    url = "mirror://sourceforge/ccrypt/ccrypt-${version}.tar.gz";
     sha256 = "0kx4a5mhmp73ljknl2lcccmw9z3f5y8lqw0ghaymzvln1984g75i";
   };
 
diff --git a/nixpkgs/pkgs/tools/security/cfssl/default.nix b/nixpkgs/pkgs/tools/security/cfssl/default.nix
index 6ef07c2c355b..1e95d1d6f2f9 100644
--- a/nixpkgs/pkgs/tools/security/cfssl/default.nix
+++ b/nixpkgs/pkgs/tools/security/cfssl/default.nix
@@ -34,11 +34,10 @@ buildGoModule rec {
     popd
   '';
 
-  buildFlagsArray = ''
-    -ldflags=
-      -s -w
-      -X github.com/cloudflare/cfssl/cli/version.version=v${version}
-  '';
+  ldflags = [
+    "-s" "-w"
+    "-X github.com/cloudflare/cfssl/cli/version.version=v${version}"
+  ];
 
   meta = with lib; {
     homepage = "https://cfssl.org/";
diff --git a/nixpkgs/pkgs/tools/security/chaps/default.nix b/nixpkgs/pkgs/tools/security/chaps/default.nix
index 2f89c3ea5858..13ac6d67febf 100644
--- a/nixpkgs/pkgs/tools/security/chaps/default.nix
+++ b/nixpkgs/pkgs/tools/security/chaps/default.nix
@@ -23,7 +23,7 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "chaps-0.42-6812";
+  pname = "chaps";
   version = "0.42-6812";
 
   src = fetchFromGitHub {
@@ -59,25 +59,25 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     mkdir -p $out/bin
-    cp ${name}/out/chapsd $out/bin/.
-    cp ${name}/out/chaps_client $out/bin/.
+    cp ${pname}-${version}/out/chapsd $out/bin/.
+    cp ${pname}-${version}/out/chaps_client $out/bin/.
 
     mkdir -p $out/lib
-    cp ${name}/out/libchaps.so.* $out/lib/.
+    cp ${pname}-${version}/out/libchaps.so.* $out/lib/.
     mkdir -p $out/lib/security
-    cp ${name}/out/pam_chaps.so $out/lib/security/.
+    cp ${pname}-${version}/out/pam_chaps.so $out/lib/security/.
 
     mkdir -p $out/include
-    cp -r ${name}/out/chaps $out/include/.
+    cp -r ${pname}-${version}/out/chaps $out/include/.
 
     mkdir -p $out/etc/dbus-1/system.d
-    cp ${name}/out/org.chromium.Chaps.conf $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 ${name}/platform2/chaps/org.chromium.Chaps.service $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 ${name}/man/* $out/usr/share/man/man8/.
+    cp ${pname}-${version}/man/* $out/usr/share/man/man8/.
     '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/security/chrome-token-signing/default.nix b/nixpkgs/pkgs/tools/security/chrome-token-signing/default.nix
index 5c2e6b4de152..18104aa7710d 100644
--- a/nixpkgs/pkgs/tools/security/chrome-token-signing/default.nix
+++ b/nixpkgs/pkgs/tools/security/chrome-token-signing/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "chrome-token-signing";
-  version = "1.1.2-1";
+  version = "1.1.5";
 
   src = fetchFromGitHub {
     owner = "open-eid";
     repo = "chrome-token-signing";
     rev = "v${version}";
-    sha256 = "1vbghy12fjmq4m5l7hisq1ylnzy0rdnnd920xwamjamlx38jj3ln";
+    sha256 = "sha256-wKy/RVR7jx5AkMJgHXsuV+jlzyfH5nDRggcIUgh2ML4=";
   };
 
   buildInputs = [ qmake pcsclite pkg-config ];
diff --git a/nixpkgs/pkgs/tools/security/cloudlist/default.nix b/nixpkgs/pkgs/tools/security/cloudlist/default.nix
new file mode 100644
index 000000000000..fd9741ddd94b
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/cloudlist/default.nix
@@ -0,0 +1,25 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "cloudlist";
+  version = "0.0.1";
+
+  src = fetchFromGitHub {
+    owner = "projectdiscovery";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1ad77nnhfx2l00nz9r89xfipwkvxp74y1xirjvkfxys4sf1yqag7";
+  };
+
+  vendorSha256 = "0yr9w2k6lyxnwbxh9mp1lri9z29wl9rgfvq8mjjdlqvcqhbw7l7l";
+
+  meta = with lib; {
+    description = "Tool for listing assets from multiple cloud providers";
+    homepage = "https://github.com/projectdiscovery/cloudlist";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/cosign/default.nix b/nixpkgs/pkgs/tools/security/cosign/default.nix
index bdc32570dfa7..0f81fb4a3d18 100644
--- a/nixpkgs/pkgs/tools/security/cosign/default.nix
+++ b/nixpkgs/pkgs/tools/security/cosign/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "cosign";
-  version = "0.6.0";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "sigstore";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1h0lhbcrynaiwpgpkcn10yrn90j03g00w9hr2lvsj3cwmdbz0rcz";
+    sha256 = "sha256-FG6LAaz6n2l77Wr7SYmwzL10G5gyHPCPG05hQlsOQBI=";
   };
 
   buildInputs =
@@ -17,14 +17,13 @@ buildGoModule rec {
 
   nativeBuildInputs = [ pkg-config ];
 
-  vendorSha256 = "0f3al6ds0kqyv2fapgdg9i38rfx6h169pmj6az0sfnkh2psq73ia";
+  vendorSha256 = "sha256-OKQVgF/pg4cigMkckX/dclieHCoD39ltR+DegaUfSDk=";
 
-  subPackages = [ "cmd/cosign" ];
+  excludedPackages = "\\(copasetic\\)";
 
-  preBuild = ''
-    buildFlagsArray+=(${lib.optionalString pivKeySupport "-tags=pivkey"})
-  '';
-  ldflags = [ "-s" "-w" "-X github.com/sigstore/cosign/cmd/cosign/cli.gitVersion=v${version}"];
+  tags = lib.optionals pivKeySupport [ "pivkey" ];
+
+  ldflags = [ "-s" "-w" "-X github.com/sigstore/cosign/cmd/cosign/cli.gitVersion=v${version}" ];
 
   meta = with lib; {
     homepage = "https://github.com/sigstore/cosign";
diff --git a/nixpkgs/pkgs/tools/security/dalfox/default.nix b/nixpkgs/pkgs/tools/security/dalfox/default.nix
new file mode 100644
index 000000000000..82a1f7e583a3
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/dalfox/default.nix
@@ -0,0 +1,25 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "dalfox";
+  version = "2.4.9";
+
+  src = fetchFromGitHub {
+    owner = "hahwul";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1g0bafg3lgsqy8mjyzvvy9l1wp1rxqwpba3dkx6xisjkpbycxql8";
+  };
+
+  vendorSha256 = "1mw58zbihw2fzbpqwydfrrkcwqjkjqdzp37m4dijhx1pbzkv9gzl";
+
+  meta = with lib; {
+    description = "Tool for analysing parameter and XSS scanning";
+    homepage = "https://github.com/hahwul/dalfox";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/dirmngr/default.nix b/nixpkgs/pkgs/tools/security/dirmngr/default.nix
index cab059ca33ea..3e45759c51d2 100644
--- a/nixpkgs/pkgs/tools/security/dirmngr/default.nix
+++ b/nixpkgs/pkgs/tools/security/dirmngr/default.nix
@@ -2,9 +2,10 @@
 , libiconv}:
 
 stdenv.mkDerivation rec {
-  name = "dirmngr-1.1.1";
+  pname = "dirmngr";
+  version = "1.1.1";
   src = fetchurl {
-    url = "mirror://gnupg/dirmngr/${name}.tar.bz2";
+    url = "mirror://gnupg/dirmngr/dirmngr-${version}.tar.bz2";
     sha256 = "1zz6m87ca55nq5f59hzm6qs48d37h93il881y7d0rf2d6660na6j";
   };
   buildInputs = [ libgpgerror libgcrypt libassuan libksba
diff --git a/nixpkgs/pkgs/tools/security/dnspeep/Cargo.lock b/nixpkgs/pkgs/tools/security/dnspeep/Cargo.lock
new file mode 100644
index 000000000000..9039c430d4c8
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/dnspeep/Cargo.lock
@@ -0,0 +1,660 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+[[package]]
+name = "aho-corasick"
+version = "0.7.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7404febffaa47dac81aa44dba71523c9d069b1bdc50a77db41195149e17f68e5"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "autocfg"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
+
+[[package]]
+name = "bitflags"
+version = "1.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
+
+[[package]]
+name = "byteorder"
+version = "1.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
+
+[[package]]
+name = "bytes"
+version = "0.5.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0e4cec68f03f32e44924783795810fa50a7035d8c8ebe78580ad7e6c703fba38"
+
+[[package]]
+name = "bytes"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b700ce4376041dcd0a327fd0097c41095743c4c8af8887265942faf1100bd040"
+
+[[package]]
+name = "cfg-if"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "chrono"
+version = "0.4.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73"
+dependencies = [
+ "libc",
+ "num-integer",
+ "num-traits",
+ "time",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "dns-message-parser"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e859c9ca137be3407a445a34eda3395aeef5aae12cd47d46a7fffba54460072"
+dependencies = [
+ "bytes 1.0.1",
+ "hex",
+ "thiserror",
+]
+
+[[package]]
+name = "dnspeep"
+version = "0.1.2"
+dependencies = [
+ "bytes 1.0.1",
+ "chrono",
+ "dns-message-parser",
+ "etherparse",
+ "eyre",
+ "futures",
+ "getopts",
+ "hex",
+ "libc",
+ "pcap",
+ "tokio",
+]
+
+[[package]]
+name = "etherparse"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2fa20922281f9ee5ffcda45e80d56085829279f1270f79fbabc39809a4354807"
+dependencies = [
+ "byteorder",
+]
+
+[[package]]
+name = "eyre"
+version = "0.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "221239d1d5ea86bf5d6f91c9d6bc3646ffe471b08ff9b0f91c44f115ac969d2b"
+dependencies = [
+ "indenter",
+ "once_cell",
+]
+
+[[package]]
+name = "fnv"
+version = "1.0.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
+
+[[package]]
+name = "fuchsia-zircon"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
+dependencies = [
+ "bitflags",
+ "fuchsia-zircon-sys",
+]
+
+[[package]]
+name = "fuchsia-zircon-sys"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
+
+[[package]]
+name = "futures"
+version = "0.3.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f55667319111d593ba876406af7c409c0ebb44dc4be6132a783ccf163ea14c1"
+dependencies = [
+ "futures-channel",
+ "futures-core",
+ "futures-executor",
+ "futures-io",
+ "futures-sink",
+ "futures-task",
+ "futures-util",
+]
+
+[[package]]
+name = "futures-channel"
+version = "0.3.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8c2dd2df839b57db9ab69c2c9d8f3e8c81984781937fe2807dc6dcf3b2ad2939"
+dependencies = [
+ "futures-core",
+ "futures-sink",
+]
+
+[[package]]
+name = "futures-core"
+version = "0.3.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "15496a72fabf0e62bdc3df11a59a3787429221dd0710ba8ef163d6f7a9112c94"
+
+[[package]]
+name = "futures-executor"
+version = "0.3.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "891a4b7b96d84d5940084b2a37632dd65deeae662c114ceaa2c879629c9c0ad1"
+dependencies = [
+ "futures-core",
+ "futures-task",
+ "futures-util",
+]
+
+[[package]]
+name = "futures-io"
+version = "0.3.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d71c2c65c57704c32f5241c1223167c2c3294fd34ac020c807ddbe6db287ba59"
+
+[[package]]
+name = "futures-macro"
+version = "0.3.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ea405816a5139fb39af82c2beb921d52143f556038378d6db21183a5c37fbfb7"
+dependencies = [
+ "proc-macro-hack",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "futures-sink"
+version = "0.3.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85754d98985841b7d4f5e8e6fbfa4a4ac847916893ec511a2917ccd8525b8bb3"
+
+[[package]]
+name = "futures-task"
+version = "0.3.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa189ef211c15ee602667a6fcfe1c1fd9e07d42250d2156382820fba33c9df80"
+
+[[package]]
+name = "futures-util"
+version = "0.3.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1812c7ab8aedf8d6f2701a43e1243acdbcc2b36ab26e2ad421eb99ac963d96d1"
+dependencies = [
+ "futures-channel",
+ "futures-core",
+ "futures-io",
+ "futures-macro",
+ "futures-sink",
+ "futures-task",
+ "memchr",
+ "pin-project-lite 0.2.6",
+ "pin-utils",
+ "proc-macro-hack",
+ "proc-macro-nested",
+ "slab",
+]
+
+[[package]]
+name = "getopts"
+version = "0.2.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5"
+dependencies = [
+ "unicode-width",
+]
+
+[[package]]
+name = "hermit-abi"
+version = "0.1.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "322f4de77956e22ed0e5032c359a0f1273f1f7f0d79bfa3b8ffbc730d7fbcc5c"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "hex"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
+
+[[package]]
+name = "indenter"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683"
+
+[[package]]
+name = "iovec"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "kernel32-sys"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
+dependencies = [
+ "winapi 0.2.8",
+ "winapi-build",
+]
+
+[[package]]
+name = "lazy_static"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+
+[[package]]
+name = "libc"
+version = "0.2.91"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8916b1f6ca17130ec6568feccee27c156ad12037880833a3b842a823236502e7"
+
+[[package]]
+name = "libloading"
+version = "0.6.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "351a32417a12d5f7e82c368a66781e307834dae04c6ce0cd4456d52989229883"
+dependencies = [
+ "cfg-if 1.0.0",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "log"
+version = "0.4.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710"
+dependencies = [
+ "cfg-if 1.0.0",
+]
+
+[[package]]
+name = "memchr"
+version = "2.3.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525"
+
+[[package]]
+name = "mio"
+version = "0.6.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4"
+dependencies = [
+ "cfg-if 0.1.10",
+ "fuchsia-zircon",
+ "fuchsia-zircon-sys",
+ "iovec",
+ "kernel32-sys",
+ "libc",
+ "log",
+ "miow 0.2.2",
+ "net2",
+ "slab",
+ "winapi 0.2.8",
+]
+
+[[package]]
+name = "mio-named-pipes"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0840c1c50fd55e521b247f949c241c9997709f23bd7f023b9762cd561e935656"
+dependencies = [
+ "log",
+ "mio",
+ "miow 0.3.7",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "mio-uds"
+version = "0.6.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "afcb699eb26d4332647cc848492bbc15eafb26f08d0304550d5aa1f612e066f0"
+dependencies = [
+ "iovec",
+ "libc",
+ "mio",
+]
+
+[[package]]
+name = "miow"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d"
+dependencies = [
+ "kernel32-sys",
+ "net2",
+ "winapi 0.2.8",
+ "ws2_32-sys",
+]
+
+[[package]]
+name = "miow"
+version = "0.3.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21"
+dependencies = [
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "net2"
+version = "0.2.37"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "391630d12b68002ae1e25e8f974306474966550ad82dac6886fb8910c19568ae"
+dependencies = [
+ "cfg-if 0.1.10",
+ "libc",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "num-integer"
+version = "0.1.44"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db"
+dependencies = [
+ "autocfg",
+ "num-traits",
+]
+
+[[package]]
+name = "num-traits"
+version = "0.2.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "num_cpus"
+version = "1.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3"
+dependencies = [
+ "hermit-abi",
+ "libc",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "af8b08b04175473088b46763e51ee54da5f9a164bc162f615b91bc179dbf15a3"
+
+[[package]]
+name = "pcap"
+version = "0.8.1"
+source = "git+https://github.com/jvns/pcap#ae2aa7f501ae5bb7069155cf7c5c700b7482681d"
+dependencies = [
+ "futures",
+ "libc",
+ "libloading",
+ "mio",
+ "regex",
+ "tokio",
+ "widestring",
+]
+
+[[package]]
+name = "pin-project-lite"
+version = "0.1.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777"
+
+[[package]]
+name = "pin-project-lite"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc0e1f259c92177c30a4c9d177246edd0a3568b25756a977d0632cf8fa37e905"
+
+[[package]]
+name = "pin-utils"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
+
+[[package]]
+name = "proc-macro-hack"
+version = "0.5.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5"
+
+[[package]]
+name = "proc-macro-nested"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bc881b2c22681370c6a780e47af9840ef841837bc98118431d4e1868bd0c1086"
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.24"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e0704ee1a7e00d7bb417d0770ea303c1bccbabf0ef1667dae92b5967f5f8a71"
+dependencies = [
+ "unicode-xid",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "regex"
+version = "1.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "957056ecddbeba1b26965114e191d2e8589ce74db242b6ea25fc4062427a5c19"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.6.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "24d5f089152e60f62d28b835fbff2cd2e8dc0baf1ac13343bef92ab7eed84548"
+
+[[package]]
+name = "signal-hook-registry"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "16f1d0fef1604ba8f7a073c7e701f213e056707210e9020af4528e0101ce11a6"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "slab"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8"
+
+[[package]]
+name = "syn"
+version = "1.0.65"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f3a1d708c221c5a612956ef9f75b37e454e88d1f7b899fbd3a18d4252012d663"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-xid",
+]
+
+[[package]]
+name = "thiserror"
+version = "1.0.24"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e0f4a65597094d4483ddaed134f409b2cb7c1beccf25201a9f73c719254fa98e"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.24"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7765189610d8241a44529806d6fd1f2e0a08734313a35d5b3a556f92b381f3c0"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "time"
+version = "0.1.44"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255"
+dependencies = [
+ "libc",
+ "wasi",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "tokio"
+version = "0.2.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6703a273949a90131b290be1fe7b039d0fc884aa1935860dfcbe056f28cd8092"
+dependencies = [
+ "bytes 0.5.6",
+ "fnv",
+ "futures-core",
+ "iovec",
+ "lazy_static",
+ "libc",
+ "memchr",
+ "mio",
+ "mio-named-pipes",
+ "mio-uds",
+ "num_cpus",
+ "pin-project-lite 0.1.12",
+ "signal-hook-registry",
+ "slab",
+ "tokio-macros",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "tokio-macros"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e44da00bfc73a25f814cd8d7e57a68a5c31b74b3152a0a1d1f590c97ed06265a"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "unicode-width"
+version = "0.1.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3"
+
+[[package]]
+name = "unicode-xid"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564"
+
+[[package]]
+name = "wasi"
+version = "0.10.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
+
+[[package]]
+name = "widestring"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7157704c2e12e3d2189c507b7482c52820a16dfa4465ba91add92f266667cadb"
+
+[[package]]
+name = "winapi"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
+
+[[package]]
+name = "winapi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+dependencies = [
+ "winapi-i686-pc-windows-gnu",
+ "winapi-x86_64-pc-windows-gnu",
+]
+
+[[package]]
+name = "winapi-build"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
+
+[[package]]
+name = "winapi-i686-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "ws2_32-sys"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e"
+dependencies = [
+ "winapi 0.2.8",
+ "winapi-build",
+]
diff --git a/nixpkgs/pkgs/tools/security/dnspeep/default.nix b/nixpkgs/pkgs/tools/security/dnspeep/default.nix
new file mode 100644
index 000000000000..534894813ca2
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/dnspeep/default.nix
@@ -0,0 +1,32 @@
+{ fetchFromGitHub, lib, libpcap, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "dnspeep";
+  version = "0.1.2";
+
+  src = fetchFromGitHub {
+    owner = "jvns";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0lz22vlgi1alsq676q4nlzfzwnsrvziyqdnmdbn00rwqsvlb81q6";
+  };
+
+  # dnspeep has git dependencies therefore doesn't work with `cargoSha256`
+  cargoLock = {
+    # update Cargo.lock every update
+    lockFile = ./Cargo.lock;
+    outputHashes = {
+      "pcap-0.8.1" = "1nnfyhlhcpbl4i6zmfa9rvnvr6ibg5khran1f5yhmr9yfhmhgakd";
+    };
+  };
+
+  LIBPCAP_LIBDIR = lib.makeLibraryPath [ libpcap ];
+  LIBPCAP_VER = libpcap.version;
+
+  meta = with lib; {
+    description = "Spy on the DNS queries your computer is making";
+    homepage = "https://github.com/jvns/dnspeep";
+    license = licenses.mit;
+    maintainers = with maintainers; [ figsoda ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/dnsrecon/default.nix b/nixpkgs/pkgs/tools/security/dnsrecon/default.nix
index 163728a37c68..6fa2041de3c0 100644
--- a/nixpkgs/pkgs/tools/security/dnsrecon/default.nix
+++ b/nixpkgs/pkgs/tools/security/dnsrecon/default.nix
@@ -17,7 +17,7 @@ python3.pkgs.buildPythonApplication rec {
   format = "other";
 
   pythonPath = with python3.pkgs; [
-    dns netaddr lxml
+    dnspython netaddr lxml
   ];
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/tools/security/dnsx/default.nix b/nixpkgs/pkgs/tools/security/dnsx/default.nix
index 75c85deb1cce..7872e4a8eace 100644
--- a/nixpkgs/pkgs/tools/security/dnsx/default.nix
+++ b/nixpkgs/pkgs/tools/security/dnsx/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "dnsx";
-  version = "1.0.5";
+  version = "1.0.6";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = "dnsx";
     rev = "v${version}";
-    sha256 = "sha256-w+FQp5pvySM36UHFxBH5WRZvnGi43NZeI2tLr6HAF3Q=";
+    sha256 = "sha256-rAicKytDtdnPwWdxJvBd5UnMGTAI4NHcPUjISlT7kCw=";
   };
 
-  vendorSha256 = "sha256-gsoeAau3klOFTu+ZEYEMdIuXw/5IVsfFJ2maxPaZKjA=";
+  vendorSha256 = "sha256-8YoYfn2BFUnVwH9FcAgb1p5CV3dJVrWjEMPfivOGvQE=";
 
   meta = with lib; {
     description = "Fast and multi-purpose DNS toolkit";
diff --git a/nixpkgs/pkgs/tools/security/doas/0001-add-NixOS-specific-dirs-to-safe-PATH.patch b/nixpkgs/pkgs/tools/security/doas/0001-add-NixOS-specific-dirs-to-safe-PATH.patch
index d1a1997ba1f6..a22781269d8b 100644
--- a/nixpkgs/pkgs/tools/security/doas/0001-add-NixOS-specific-dirs-to-safe-PATH.patch
+++ b/nixpkgs/pkgs/tools/security/doas/0001-add-NixOS-specific-dirs-to-safe-PATH.patch
@@ -15,7 +15,7 @@ index e253905..2fdb20f 100644
  main(int argc, char **argv)
  {
  	const char *safepath = "/bin:/sbin:/usr/bin:/usr/sbin:"
-+	    "/run/current-system/sw/bin:/run/current-system/sw/sbin:/run/wrappers/bin:"
++	    "/run/wrappers/bin:/run/current-system/sw/bin:/run/current-system/sw/sbin:"
  	    "/usr/local/bin:/usr/local/sbin";
  	const char *confpath = NULL;
  	char *shargv[] = { NULL, NULL };
diff --git a/nixpkgs/pkgs/tools/security/doas/default.nix b/nixpkgs/pkgs/tools/security/doas/default.nix
index 7da3b8e9f068..f88abbd7e1ba 100644
--- a/nixpkgs/pkgs/tools/security/doas/default.nix
+++ b/nixpkgs/pkgs/tools/security/doas/default.nix
@@ -25,7 +25,6 @@ stdenv.mkDerivation rec {
   configureFlags = [
     (lib.optionalString withTimestamp "--with-timestamp") # to allow the "persist" setting
     (lib.optionalString (!withPAM) "--without-pam")
-    "--pamdir=${placeholder "out"}/etc/pam.d"
   ];
 
   patches = [
diff --git a/nixpkgs/pkgs/tools/security/doppler/default.nix b/nixpkgs/pkgs/tools/security/doppler/default.nix
index d71350e3d741..18ca909cd5e0 100644
--- a/nixpkgs/pkgs/tools/security/doppler/default.nix
+++ b/nixpkgs/pkgs/tools/security/doppler/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "doppler";
-  version = "3.25.0";
+  version = "3.31.1";
 
   src = fetchFromGitHub {
     owner = "dopplerhq";
     repo = "cli";
     rev = version;
-    sha256 = "sha256-9knCRS5pUFSmevpQbM0DQimGpAt2Fn1XpREg0ZWRIUQ=";
+    sha256 = "sha256-m8dugkZ0n51RnclZwKGgjVG3OrDMz3MsOQMvNbG4BPU=";
   };
 
-  vendorSha256 = "sha256-UaR/xYGMI+C9aID85aPSfVzmTWXj4KcjfOJ6TTJ8KoY=";
+  vendorSha256 = "sha256-yb7L4GSKtlwagwdxBMd5aSk9fre1NKKsy6CM4Iv2ya8=";
 
-  buildFlagsArray = "-ldflags=-X github.com/DopplerHQ/cli/pkg/version.ProgramVersion=v${version}";
+  ldflags = [ "-X github.com/DopplerHQ/cli/pkg/version.ProgramVersion=v${version}" ];
 
   postInstall = ''
     mv $out/bin/cli $out/bin/doppler
diff --git a/nixpkgs/pkgs/tools/security/echidna/default.nix b/nixpkgs/pkgs/tools/security/echidna/default.nix
new file mode 100644
index 000000000000..70628b75fd6a
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/echidna/default.nix
@@ -0,0 +1,62 @@
+{ lib
+, fetchpatch
+, fetchFromGitHub
+# Haskell deps
+, mkDerivation, aeson, ansi-terminal, base, base16-bytestring, binary, brick
+, bytestring, cborg, containers, data-dword, data-has, deepseq, directory
+, exceptions, filepath, hashable, hevm, hpack, lens, lens-aeson, megaparsec
+, MonadRandom, mtl, optparse-applicative, process, random, stm, tasty
+, tasty-hunit, tasty-quickcheck, temporary, text, transformers , unix, unliftio
+, unliftio-core, unordered-containers, vector, vector-instances, vty
+, wl-pprint-annotated, word8, yaml , extra, ListLike, semver
+}:
+mkDerivation rec {
+  pname = "echidna";
+  version = "1.7.2";
+
+  src = fetchFromGitHub {
+    owner = "crytic";
+    repo = "echidna";
+    rev = "v${version}";
+    sha256 = "sha256-eFhL8Zn8204JRrF69ibPtd7VpFW63i1iVXoGwXHlqps=";
+  };
+
+  patches = [
+    (fetchpatch {
+      name = "update-hevm-to-0.47.0.patch";
+      url = "https://github.com/crytic/echidna/commit/25dfdad93d0e0dd822f22a1c1e63a0ecf2b22a23.patch";
+      sha256 = "sha256-dj3Ie+Z4zE1fgROE/KuWZXaH9knsXJi1ai3gu5zyw/E=";
+    })
+  ];
+
+  isLibrary = true;
+  isExecutable = true;
+  libraryHaskellDepends = [
+    aeson ansi-terminal base base16-bytestring binary brick bytestring cborg
+    containers data-dword data-has deepseq directory exceptions filepath
+    hashable hevm lens lens-aeson megaparsec MonadRandom mtl
+    optparse-applicative process random stm temporary text transformers unix
+    unliftio unliftio-core unordered-containers vector vector-instances vty
+    wl-pprint-annotated word8 yaml extra ListLike semver
+  ];
+  libraryToolDepends = [ hpack ];
+  executableHaskellDepends = libraryHaskellDepends;
+  testHaskellDepends = [
+    tasty tasty-hunit tasty-quickcheck
+  ];
+  preConfigure = ''
+    hpack
+    # re-enable dynamic build for Linux
+    sed -i -e 's/os(linux)/false/' echidna.cabal
+  '';
+  shellHook = "hpack";
+  doHaddock = false;
+  # tests depend on a specific version of solc
+  doCheck = false;
+
+  description = "Ethereum smart contract fuzzer";
+  homepage = "https://github.com/crytic/echidna";
+  license = lib.licenses.agpl3Plus;
+  maintainers = with lib.maintainers; [ arturcygan ];
+  platforms = lib.platforms.unix;
+}
diff --git a/nixpkgs/pkgs/tools/security/eid-mw/default.nix b/nixpkgs/pkgs/tools/security/eid-mw/default.nix
index a2a6caf2b117..2b373360965b 100644
--- a/nixpkgs/pkgs/tools/security/eid-mw/default.nix
+++ b/nixpkgs/pkgs/tools/security/eid-mw/default.nix
@@ -21,13 +21,13 @@
 stdenv.mkDerivation rec {
   pname = "eid-mw";
   # NOTE: Don't just blindly update to the latest version/tag. Releases are always for a specific OS.
-  version = "5.0.23";
+  version = "5.0.28";
 
   src = fetchFromGitHub {
-    rev = "v${version}";
-    sha256 = "0annkm0hqhkpjmfa6ywvzgn1n9619baqdzdbhjfhzfi4hf7mml1d";
-    repo = "eid-mw";
     owner = "Fedict";
+    repo = "eid-mw";
+    rev = "v${version}";
+    sha256 = "rrrzw8i271ZZkwY3L6aRw2Nlz+GmDr/1ahYYlUBvtzo=";
   };
 
   nativeBuildInputs = [ autoreconfHook autoconf-archive pkg-config makeWrapper ];
diff --git a/nixpkgs/pkgs/tools/security/enum4linux-ng/default.nix b/nixpkgs/pkgs/tools/security/enum4linux-ng/default.nix
index 33694ad79ae3..d2fda127e8c7 100644
--- a/nixpkgs/pkgs/tools/security/enum4linux-ng/default.nix
+++ b/nixpkgs/pkgs/tools/security/enum4linux-ng/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonApplication rec {
   pname = "enum4linux-ng";
-  version = "1.0.0";
+  version = "1.0.1";
 
   src = fetchFromGitHub {
     owner = "cddmp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0dhg8cwbdn0vlnchhscx31ay4mgj5p6rf73wzgs8nvqg0shsawmy";
+    sha256 = "1j6qrhrzc4f9crbii4dpgxipngjh5icrhljxf26a7662dd4f7l8q";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/security/exploitdb/default.nix b/nixpkgs/pkgs/tools/security/exploitdb/default.nix
index 9509288b5819..b112627656b1 100644
--- a/nixpkgs/pkgs/tools/security/exploitdb/default.nix
+++ b/nixpkgs/pkgs/tools/security/exploitdb/default.nix
@@ -2,19 +2,21 @@
 
 stdenv.mkDerivation rec {
   pname = "exploitdb";
-  version = "2021-07-22";
+  version = "2021-09-03";
 
   src = fetchFromGitHub {
     owner = "offensive-security";
     repo = pname;
     rev = version;
-    sha256 = "sha256-pmi1oKam3t4iKqbisFghdVlzp1Ozmc9Nmn19JLrsams=";
+    sha256 = "sha256-9roj5/DfbbN98jy/aO1Ua4pTMxgr4UbqXFicN2ONQgE=";
   };
 
   installPhase = ''
+    runHook preInstall
     mkdir -p $out/bin
     cp --recursive ./* $out/bin
     cp ./.searchsploit_rc $out/bin
+    runHook postInstall
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/security/fail2ban/default.nix b/nixpkgs/pkgs/tools/security/fail2ban/default.nix
index 922fb412cad7..18128639ff4a 100644
--- a/nixpkgs/pkgs/tools/security/fail2ban/default.nix
+++ b/nixpkgs/pkgs/tools/security/fail2ban/default.nix
@@ -1,16 +1,15 @@
 { lib, stdenv, fetchFromGitHub, python3 }:
 
-let version = "0.11.1"; in
 
-python3.pkgs.buildPythonApplication {
+python3.pkgs.buildPythonApplication rec {
   pname = "fail2ban";
-  inherit version;
+  version = "0.11.2";
 
   src = fetchFromGitHub {
-    owner  = "fail2ban";
-    repo   = "fail2ban";
-    rev    = version;
-    sha256 = "0kqvkxpb72y3kgmxf6g36w67499c6gcd2a9yyblagwx12y05f1sh";
+    owner = "fail2ban";
+    repo = "fail2ban";
+    rev = version;
+    sha256 = "q4U9iWCa1zg8sA+6pPNejt6v/41WGIKN5wITJCrCqQE=";
   };
 
   pythonPath = with python3.pkgs;
@@ -42,18 +41,20 @@ python3.pkgs.buildPythonApplication {
     ${stdenv.shell} ./fail2ban-2to3
   '';
 
-  postInstall = let
-    sitePackages = "$out/${python3.sitePackages}";
-  in ''
-    # see https://github.com/NixOS/nixpkgs/issues/4968
-    rm -rf ${sitePackages}/etc ${sitePackages}/usr ${sitePackages}/var;
-  '';
+  postInstall =
+    let
+      sitePackages = "$out/${python3.sitePackages}";
+    in
+    ''
+      # see https://github.com/NixOS/nixpkgs/issues/4968
+      rm -r ${sitePackages}/etc ${sitePackages}/usr
+    '';
 
   meta = with lib; {
-    homepage    = "https://www.fail2ban.org/";
+    homepage = "https://www.fail2ban.org/";
     description = "A program that scans log files for repeated failing login attempts and bans IP addresses";
-    license     = licenses.gpl2Plus;
+    license = licenses.gpl2Plus;
     maintainers = with maintainers; [ eelco lovek323 fpletz ];
-    platforms   = platforms.linux ++ platforms.darwin;
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/tools/security/fido2luks/default.nix b/nixpkgs/pkgs/tools/security/fido2luks/default.nix
index b41f6bc67fcb..1229620c21ca 100644
--- a/nixpkgs/pkgs/tools/security/fido2luks/default.nix
+++ b/nixpkgs/pkgs/tools/security/fido2luks/default.nix
@@ -9,13 +9,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "fido2luks";
-  version = "0.2.17";
+  version = "0.2.19";
 
   src = fetchFromGitHub {
     owner = "shimunn";
     repo = pname;
     rev = version;
-    sha256 = "sha256-rrtPMCgp2Xe8LXzFN57rzay2kyPaLT1+2m1NZQ9EsW4=";
+    sha256 = "sha256-o21KdsAE9KznobdMMKfVmVnENsLW3cMZjssnrsoN+KY=";
   };
 
   buildInputs = [ cryptsetup ];
@@ -25,7 +25,7 @@ rustPlatform.buildRustPackage rec {
     export LIBCLANG_PATH="${llvmPackages.libclang.lib}/lib"
   '';
 
-  cargoSha256 = "sha256-5CzQuzmKuEi4KTR1jNh4avwqA3qYzTj+rV/zbIeUjAM=";
+  cargoSha256 = "sha256-8JFe3mivf2Ewu1nLMugeeK+9ZXAGPHaqCyKfWfwLOc8=";
 
   meta = with lib; {
     description = "Decrypt your LUKS partition using a FIDO2 compatible authenticator";
diff --git a/nixpkgs/pkgs/tools/security/fprintd/default.nix b/nixpkgs/pkgs/tools/security/fprintd/default.nix
index 0ae04ddb30f2..1340ec26ca29 100644
--- a/nixpkgs/pkgs/tools/security/fprintd/default.nix
+++ b/nixpkgs/pkgs/tools/security/fprintd/default.nix
@@ -25,7 +25,7 @@
 
 stdenv.mkDerivation rec {
   pname = "fprintd";
-  version = "1.90.9";
+  version = "1.92.0";
   outputs = [ "out" "devdoc" ];
 
   src = fetchFromGitLab {
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
     owner = "libfprint";
     repo = pname;
     rev = "v${version}";
-    sha256 = "rOTVThHOY/Q2IIu2RGiv26UE2V/JFfWWnfKZQfKl5Mg=";
+    sha256 = "0bqzxxb5iq3pdwdv1k8wsx3alirbjla6zgcki55b5p6mzrvk781x";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/security/fulcio/default.nix b/nixpkgs/pkgs/tools/security/fulcio/default.nix
index 4539f10e50d2..96ef86d18d1c 100644
--- a/nixpkgs/pkgs/tools/security/fulcio/default.nix
+++ b/nixpkgs/pkgs/tools/security/fulcio/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "fulcio";
-  version = "0.1.0";
+  version = "0.1.1";
 
   src = fetchFromGitHub {
     owner = "sigstore";
     repo = pname;
-    rev = version;
-    sha256 = "sha256-+HWzhg+LTKpr9VJ9mzQghwOuGgp3EBb4/zltaqp0zHw=";
+    rev = "v${version}";
+    sha256 = "sha256-MvLQMGPyJYqYUljLqsr+qJeeYnxdH9aNGkWpDRvOeh8=";
   };
-  vendorSha256 = "sha256-1tR1vUm5eFBS93kELQoKWEyFlfMF28GBI8VEHxTyeM4=";
+  vendorSha256 = "sha256-pRL0et+UOi/tzuQz/Q7UmSA+pVhLJYR8lG8NAbPN9PU=";
 
   ldflags = [ "-s" "-w" ];
 
@@ -18,22 +18,23 @@ buildGoModule rec {
   nativeBuildInputs = [ installShellFiles ];
 
   postInstall = ''
-    installShellCompletion --cmd fulcio \
-      --bash <($out/bin/fulcio completion bash) \
-      --fish <($out/bin/fulcio completion fish) \
-      --zsh <($out/bin/fulcio completion zsh)
+    mv $out/bin/fulcio $out/bin/fulcio-server
+    installShellCompletion --cmd fulcio-server \
+      --bash <($out/bin/fulcio-server completion bash) \
+      --fish <($out/bin/fulcio-server completion fish) \
+      --zsh <($out/bin/fulcio-server completion zsh)
   '';
 
   doInstallCheck = true;
   installCheckPhase = ''
     runHook preInstallCheck
-    $out/bin/fulcio --help
+    $out/bin/fulcio-server --help
     runHook postInstallCheck
   '';
 
   meta = with lib; {
     homepage = "https://github.com/sigstore/fulcio";
-    changelog = "https://github.com/sigstore/fulcio/releases/tag/${version}";
+    changelog = "https://github.com/sigstore/fulcio/releases/tag/v${version}";
     description = "A Root-CA for code signing certs - issuing certificates based on an OIDC email address";
     license = licenses.asl20;
     maintainers = with maintainers; [ lesuisse jk ];
diff --git a/nixpkgs/pkgs/tools/security/gitleaks/default.nix b/nixpkgs/pkgs/tools/security/gitleaks/default.nix
index 3cd4ae69b9f9..b8878cbbb873 100644
--- a/nixpkgs/pkgs/tools/security/gitleaks/default.nix
+++ b/nixpkgs/pkgs/tools/security/gitleaks/default.nix
@@ -5,20 +5,20 @@
 
 buildGoModule rec {
   pname = "gitleaks";
-  version = "7.5.0";
+  version = "7.6.0";
 
   src = fetchFromGitHub {
     owner = "zricethezav";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-s7EOCoGciGT5+Fose9BffsHHE/SsSMmNoWGmeAv6Agk=";
+    sha256 = "sha256-XRpbbtQiF9EnGMICjyXXm2XjuR0jGC7UiY+UHIAMODM=";
   };
 
-  vendorSha256 = "sha256-Cc4DJPpOMHxDcH22S7znYo7QHNRXv8jOJhznu09kaE4=";
+  vendorSha256 = "sha256-86PspExE+T/IuCvpf6LAkWcCRlHPqP5VUbHAckEzALc=";
 
-  preBuild = ''
-    buildFlagsArray+=("-ldflags" "-s -w -X github.com/zricethezav/gitleaks/v${lib.versions.major version}/version.Version=${version}")
-  '';
+  ldflags = [
+    "-s" "-w" "-X github.com/zricethezav/gitleaks/v${lib.versions.major version}/version.Version=${version}"
+  ];
 
   meta = with lib; {
     description = "Scan git repos (or files) for secrets";
diff --git a/nixpkgs/pkgs/tools/security/gopass/default.nix b/nixpkgs/pkgs/tools/security/gopass/default.nix
index 358acf376b48..6a099299e905 100644
--- a/nixpkgs/pkgs/tools/security/gopass/default.nix
+++ b/nixpkgs/pkgs/tools/security/gopass/default.nix
@@ -13,7 +13,7 @@
 
 buildGoModule rec {
   pname = "gopass";
-  version = "1.12.7";
+  version = "1.12.8";
 
   nativeBuildInputs = [ installShellFiles makeWrapper ];
 
@@ -21,16 +21,16 @@ buildGoModule rec {
     owner = "gopasspw";
     repo = pname;
     rev = "v${version}";
-    sha256 = "08mzm03vhc8pqyl17y8dkrcpgy3ckmb84x84b6ap3cja3y8gmj5x";
+    sha256 = "0f3nnhipx2p8w04rxva0pcf7g1nhr4f5bz5dbvr2m76lkiaz5q3v";
   };
 
-  vendorSha256 = "0ym6f1h51bj3qlzxs936fz3p47l63nad4xckl16m13iy0k7z5flg";
+  vendorSha256 = "14khs15k9d5m5dms3l4a5bi0s3zl1irm0i4s9pf86gpyz7b55l6a";
 
   subPackages = [ "." ];
 
   doCheck = false;
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version} -X main.commit=${src.rev}" ];
+  ldflags = [ "-s" "-w" "-X main.version=${version}" "-X main.commit=${src.rev}" ];
 
   wrapperPath = lib.makeBinPath (
     [
@@ -60,7 +60,7 @@ buildGoModule rec {
     homepage = "https://www.gopass.pw/";
     license = licenses.mit;
     maintainers = with maintainers; [ andir rvolosatovs ];
-    changelog = "https://github.com/gopasspw/gopass/blob/v${version}/CHANGELOG.md";
+    changelog = "https://github.com/gopasspw/gopass/raw/v${version}/CHANGELOG.md";
 
     longDescription = ''
       gopass is a rewrite of the pass password manager in Go with the aim of
diff --git a/nixpkgs/pkgs/tools/security/gopass/git-credential.nix b/nixpkgs/pkgs/tools/security/gopass/git-credential.nix
index fb0da2c1a093..0b15e9b02353 100644
--- a/nixpkgs/pkgs/tools/security/gopass/git-credential.nix
+++ b/nixpkgs/pkgs/tools/security/gopass/git-credential.nix
@@ -22,11 +22,9 @@ buildGoModule rec {
 
   nativeBuildInputs = [ makeWrapper ];
 
-  preBuild = ''
-    buildFlagsArray+=(
-      "-ldflags=-s -w -X main.version=${version} -X main.commit=${src.rev}"
-    )
-  '';
+  ldflags = [
+    "-s" "-w" "-X main.version=${version}" "-X main.commit=${src.rev}"
+  ];
 
   postFixup = ''
     wrapProgram $out/bin/git-credential-gopass --prefix PATH : "${lib.makeBinPath [ gopass ]}"
diff --git a/nixpkgs/pkgs/tools/security/gopass/jsonapi.nix b/nixpkgs/pkgs/tools/security/gopass/jsonapi.nix
index e060adbf5bcf..c138bde2cc3c 100644
--- a/nixpkgs/pkgs/tools/security/gopass/jsonapi.nix
+++ b/nixpkgs/pkgs/tools/security/gopass/jsonapi.nix
@@ -23,11 +23,9 @@ buildGoModule rec {
 
   nativeBuildInputs = [ installShellFiles makeWrapper ];
 
-  preBuild = ''
-    buildFlagsArray+=(
-      "-ldflags=-s -w -X main.version=${version} -X main.commit=${src.rev}"
-    )
-  '';
+  ldflags = [
+    "-s" "-w" "-X main.version=${version}" "-X main.commit=${src.rev}"
+  ];
 
   postFixup = ''
     wrapProgram $out/bin/gopass-jsonapi --prefix PATH : "${lib.makeBinPath [ gopass ]}"
diff --git a/nixpkgs/pkgs/tools/security/gotestwaf/default.nix b/nixpkgs/pkgs/tools/security/gotestwaf/default.nix
new file mode 100644
index 000000000000..7783cbf4688f
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/gotestwaf/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "gotestwaf";
+  version = "0.3.1";
+
+  src = fetchFromGitHub {
+    owner = "wallarm";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0c627bxx0mlxhc1fsd2k3x1lm5855pl215m88la662d70559z6k8";
+  };
+
+  vendorSha256 = null;
+
+  postFixup = ''
+    # Rename binary
+    mv $out/bin/cmd $out/bin/${pname}
+  '';
+
+  meta = with lib; {
+    description = "Tool for API and OWASP attack simulation";
+    homepage = "https://github.com/wallarm/gotestwaf";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/gpg-tui/default.nix b/nixpkgs/pkgs/tools/security/gpg-tui/default.nix
index ad912aee8391..2f23d218c456 100644
--- a/nixpkgs/pkgs/tools/security/gpg-tui/default.nix
+++ b/nixpkgs/pkgs/tools/security/gpg-tui/default.nix
@@ -15,16 +15,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "gpg-tui";
-  version = "0.7.1";
+  version = "0.7.4";
 
   src = fetchFromGitHub {
     owner = "orhun";
     repo = "gpg-tui";
     rev = "v${version}";
-    sha256 = "sha256-J1mdgcNWloQOnGdBjcCoAsv+ClQ77DXYQajM9B3sYHY=";
+    sha256 = "sha256-PJLiP8o4HMkaHMrsnObpUdGtKLxIuXZhxva34U26i40=";
   };
 
-  cargoSha256 = "sha256-I63Pevw0BjkjasszZn2wmT4TNeVk27pJy4mJR6nl9MI=";
+  cargoSha256 = "sha256-6fHMchoJO5Tss6kFTulDmI4aXS3YF5k6RqEWQbh5mNc=";
 
   nativeBuildInputs = [
     gpgme # for gpgme-config
diff --git a/nixpkgs/pkgs/tools/security/grype/default.nix b/nixpkgs/pkgs/tools/security/grype/default.nix
index c24515dd1bbb..4dc119980a5d 100644
--- a/nixpkgs/pkgs/tools/security/grype/default.nix
+++ b/nixpkgs/pkgs/tools/security/grype/default.nix
@@ -6,22 +6,22 @@
 
 buildGoModule rec {
   pname = "grype";
-  version = "0.15.0";
+  version = "0.17.0";
 
   src = fetchFromGitHub {
     owner = "anchore";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-xiUDyuVNVkVT+kxOEFOq4RKxMc5nNjsom/ZTKzfkOhU=";
+    sha256 = "sha256-410mCfYzbqgj3hb3dgVOGPWPCIYrB41soLA8dXK23NE=";
   };
 
-  vendorSha256 = "sha256-mW3e4WFa9pKSpyTZYmPA2j8nZz+94G2PqdqI0BDo3wc=";
+  vendorSha256 = "sha256-KkS/1VSObniAykAwv7uW+RCrdvb5BM6DbHzDWZ6kPoQ=";
 
   propagatedBuildInputs = [ docker ];
 
-  preBuild = ''
-    buildFlagsArray+=("-ldflags" "-s -w -X github.com/anchore/grype/internal/version.version=${version}")
-  '';
+  ldflags = [
+    "-s" "-w" "-X github.com/anchore/grype/internal/version.version=${version}"
+  ];
 
   # Tests require a running Docker instance
   doCheck = false;
diff --git a/nixpkgs/pkgs/tools/security/hakrawler/default.nix b/nixpkgs/pkgs/tools/security/hakrawler/default.nix
index fc5ee32bcbab..0e2174e50ae5 100644
--- a/nixpkgs/pkgs/tools/security/hakrawler/default.nix
+++ b/nixpkgs/pkgs/tools/security/hakrawler/default.nix
@@ -5,17 +5,16 @@
 
 buildGoModule rec {
   pname = "hakrawler";
-  version = "20201224-${lib.strings.substring 0 7 rev}";
-  rev = "e39a514d0e179d33362ee244c017fb65cc2c12a5";
+  version = "2.0";
 
   src = fetchFromGitHub {
     owner = "hakluke";
     repo = "hakrawler";
-    inherit rev;
-    sha256 = "0wpqfbpgnr94q5n7i4zh806k8n0phyg0ncnz43hqh4bbdh7l1y8a";
+    rev = version;
+    sha256 = "sha256-g0hJGRPLgnWAeB25iIw/JRANrYowfRtAniDD/yAQWYk=";
   };
 
-  vendorSha256 = "18zs2l77ds0a3wxfqcd91h269g0agnwhginrx3j6gj30dbfls8a1";
+  vendorSha256 = "sha256-VmMNUNThRP1jEAjZeJC4q1IvnQEDqoOM+7a0AnABQnU=";
 
   meta = with lib; {
     description = "Web crawler for the discovery of endpoints and assets";
diff --git a/nixpkgs/pkgs/tools/security/hashcat/default.nix b/nixpkgs/pkgs/tools/security/hashcat/default.nix
index 273e2837e06a..c45724e80e0a 100644
--- a/nixpkgs/pkgs/tools/security/hashcat/default.nix
+++ b/nixpkgs/pkgs/tools/security/hashcat/default.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation rec {
   pname   = "hashcat";
-  version = "6.2.3";
+  version = "6.2.4";
 
   src = fetchurl {
     url = "https://hashcat.net/files/hashcat-${version}.tar.gz";
-    sha256 = "sha256-wL4cZpPuHzXHvvH3m/njCpVPcX70LQDjd4eq7/MnHlE=";
+    sha256 = "sha256-kCA5b/kzaT4xC0ebZB6G8Xg9mBnWDR2Qd1KtjSSmDDE=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/tools/security/hologram/default.nix b/nixpkgs/pkgs/tools/security/hologram/default.nix
index ca4666d9f07f..c4e90bd94bb2 100644
--- a/nixpkgs/pkgs/tools/security/hologram/default.nix
+++ b/nixpkgs/pkgs/tools/security/hologram/default.nix
@@ -1,7 +1,8 @@
 { lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
-  name = "hologram-2018-03-19";
+  pname = "hologram";
+  version = "2018-03-19";
   rev = "a7bab58642b530edb75b9cf6c1d834c85822ceac";
 
   src = fetchFromGitHub {
diff --git a/nixpkgs/pkgs/tools/security/httpx/default.nix b/nixpkgs/pkgs/tools/security/httpx/default.nix
index 7c3e58634275..08f4929bd240 100644
--- a/nixpkgs/pkgs/tools/security/httpx/default.nix
+++ b/nixpkgs/pkgs/tools/security/httpx/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "httpx";
-  version = "1.1.0";
+  version = "1.1.2";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = "httpx";
     rev = "v${version}";
-    sha256 = "sha256-selmBW6GlfzKbVHz7EgmUB8n567NS08gwkRB9Y+Px8s=";
+    sha256 = "sha256-8PX1jUbS5qf5KqeZXv3oijtZCPo5LsabqHSA3rsd3tQ=";
   };
 
-  vendorSha256 = "sha256-q0cTFYepq7odZSACNuUoz6kjT7sE38Pv6B113w2gpIQ=";
+  vendorSha256 = "sha256-bkk/gXMLiZGHebrIeDsj3OyiEcH4hriI4TFNdoh3SBk=";
 
   meta = with lib; {
     description = "Fast and multi-purpose HTTP toolkit";
diff --git a/nixpkgs/pkgs/tools/security/ic-keysmith/default.nix b/nixpkgs/pkgs/tools/security/ic-keysmith/default.nix
new file mode 100644
index 000000000000..9e480d64d18e
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/ic-keysmith/default.nix
@@ -0,0 +1,22 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "keysmith";
+  version = "1.6.0";
+
+  src = fetchFromGitHub {
+    owner = "dfinity";
+    repo = "keysmith";
+    rev = "v${version}";
+    sha256 = "1z0sxirk71yabgilq8v5lz4nd2bbm1xyrd5zppif8k9jqhr6v3v3";
+  };
+
+  vendorSha256 = "1p0r15ihmnmrybf12cycbav80sdj2dv2kry66f4hjfjn6k8zb0dc";
+
+  meta = with lib; {
+    description = "Hierarchical Deterministic Key Derivation for the Internet Computer";
+    homepage = "https://github.com/dfinity/keysmith";
+    license = licenses.mit;
+    maintainers = with maintainers; [ imalison ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/keybase/default.nix b/nixpkgs/pkgs/tools/security/keybase/default.nix
index ec240a7c7156..8b65d3b8b00d 100644
--- a/nixpkgs/pkgs/tools/security/keybase/default.nix
+++ b/nixpkgs/pkgs/tools/security/keybase/default.nix
@@ -29,7 +29,7 @@ buildGoPackage rec {
   ];
 
   buildInputs = lib.optionals stdenv.isDarwin [ AVFoundation AudioToolbox ImageIO CoreMedia Foundation CoreGraphics MediaToolbox ];
-  buildFlags = [ "-tags production" ];
+  tags = [ "production" ];
 
   meta = with lib; {
     homepage = "https://www.keybase.io/";
diff --git a/nixpkgs/pkgs/tools/security/keybase/gui.nix b/nixpkgs/pkgs/tools/security/keybase/gui.nix
index 3032c18427ad..7a19a439a8eb 100644
--- a/nixpkgs/pkgs/tools/security/keybase/gui.nix
+++ b/nixpkgs/pkgs/tools/security/keybase/gui.nix
@@ -4,17 +4,17 @@
 , runtimeShell, gsettings-desktop-schemas }:
 
 let
-  versionSuffix = "20210125164223.f3b21527b9";
+  versionSuffix = "20210623205749.763227b4c6";
 in
 
 stdenv.mkDerivation rec {
   pname = "keybase-gui";
-  version = "5.6.1"; # Find latest version from https://prerelease.keybase.io/deb/dists/stable/main/binary-amd64/Packages
+  version = "5.7.1"; # Find latest version from https://prerelease.keybase.io/deb/dists/stable/main/binary-amd64/Packages
 
   src = fetchurl {
 
     url = "https://s3.amazonaws.com/prerelease.keybase.io/linux_binaries/deb/keybase_${version + "-" + versionSuffix}_amd64.deb";
-    sha256 = "12ckfd02j0f3p3pdlwc640f61z1wzblf2414h6fkf5vzd289h35p";
+    sha256 = "0ajpkidbzfwhi7q018wriws0n3amcy9g3mfiqm13cpz0q6vkjx83";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/security/keybase/kbfs.nix b/nixpkgs/pkgs/tools/security/keybase/kbfs.nix
index 67abb57394cd..dc49f9d9e77d 100644
--- a/nixpkgs/pkgs/tools/security/keybase/kbfs.nix
+++ b/nixpkgs/pkgs/tools/security/keybase/kbfs.nix
@@ -10,7 +10,7 @@ buildGoPackage {
 
   dontRenameImports = true;
 
-  buildFlags = [ "-tags production" ];
+  tags = [ "production" ];
 
   meta = with lib; {
     homepage = "https://keybase.io/docs/kbfs";
diff --git a/nixpkgs/pkgs/tools/security/keycard-cli/default.nix b/nixpkgs/pkgs/tools/security/keycard-cli/default.nix
index 6e67358b675a..93384df9b42e 100644
--- a/nixpkgs/pkgs/tools/security/keycard-cli/default.nix
+++ b/nixpkgs/pkgs/tools/security/keycard-cli/default.nix
@@ -17,8 +17,7 @@ buildGoPackage rec {
     sha256 = "sha256-ejFvduZs3eWc6efr9o4pXb6qw2QWWQTtkTxF80vOGNU=";
   };
 
-  buildFlagsArray = [
-    "-ldflags="
+  ldflags = [
     "-X main.version=${version}"
   ];
 
diff --git a/nixpkgs/pkgs/tools/security/kiterunner/default.nix b/nixpkgs/pkgs/tools/security/kiterunner/default.nix
index a553202b6c1b..a455c17d717c 100644
--- a/nixpkgs/pkgs/tools/security/kiterunner/default.nix
+++ b/nixpkgs/pkgs/tools/security/kiterunner/default.nix
@@ -16,9 +16,9 @@ buildGoModule rec {
 
   vendorSha256 = "1nczzzsnh38qi949ki5268y39ggkwncanc1pv7727qpwllzl62vy";
 
-  preBuild = ''
-    buildFlagsArray+=("-ldflags" "-s -w -X github.com/assetnote/kiterunner/cmd/kiterunner/cmd.Version=${version}")
-  '';
+  ldflags = [
+    "-s" "-w" "-X github.com/assetnote/kiterunner/cmd/kiterunner/cmd.Version=${version}"
+  ];
 
   subPackages = [ "./cmd/kiterunner" ];
 
diff --git a/nixpkgs/pkgs/tools/security/lethe/default.nix b/nixpkgs/pkgs/tools/security/lethe/default.nix
index 6ae45278810f..4f9e65b49b8b 100644
--- a/nixpkgs/pkgs/tools/security/lethe/default.nix
+++ b/nixpkgs/pkgs/tools/security/lethe/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "lethe";
-  version = "0.5.1";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "kostassoid";
     repo = pname;
     rev = "v${version}";
-    sha256 = "173ms4fd09iclm4v5zkmvc60l6iyyb5lzxc6dxd6q21zy0pvs35g";
+    sha256 = "sha256-WYDO44S2cBPe14vv/4i51tgtnoR+6FN2GyAbjJ7AYy8=";
   };
 
-  cargoSha256 = "11l7wxadinidf0bsxv14j1kv8gdhq1d6ffnb76n54igxid8gza14";
+  cargoSha256 = "sha256-5fWclZgt5EuWrsYRheTX9otNiGbJ41Q/fTYdKMWRMHc=";
 
   buildInputs = lib.optional stdenv.isDarwin Security;
 
diff --git a/nixpkgs/pkgs/tools/security/lynis/default.nix b/nixpkgs/pkgs/tools/security/lynis/default.nix
index 094aab1e86d3..fbca5633fcad 100644
--- a/nixpkgs/pkgs/tools/security/lynis/default.nix
+++ b/nixpkgs/pkgs/tools/security/lynis/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "lynis";
-  version = "3.0.5";
+  version = "3.0.6";
 
   src = fetchFromGitHub {
     owner = "CISOfy";
     repo = pname;
     rev = version;
-    sha256 = "sha256-IJCLj3iSPkfkYOqTu7adtU26jTgKfRmiwIfKvSApdIY=";
+    sha256 = "sha256-RIz0GTuw3QJKSk25zl4c34o+HgMkpclzoPEbzKhCNqg=";
   };
 
   nativeBuildInputs = [ installShellFiles makeWrapper ];
diff --git a/nixpkgs/pkgs/tools/security/mbox/default.nix b/nixpkgs/pkgs/tools/security/mbox/default.nix
index dd73e1624c7d..d7a303a3672f 100644
--- a/nixpkgs/pkgs/tools/security/mbox/default.nix
+++ b/nixpkgs/pkgs/tools/security/mbox/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchFromGitHub, openssl, which }:
 
 stdenv.mkDerivation {
-  name = "mbox-20140526";
+  pname = "mbox";
+  version = "20140526";
 
   src = fetchFromGitHub {
     owner = "tsgates";
diff --git a/nixpkgs/pkgs/tools/security/meo/default.nix b/nixpkgs/pkgs/tools/security/meo/default.nix
index 05aa8323cc91..4b96f2b42c23 100644
--- a/nixpkgs/pkgs/tools/security/meo/default.nix
+++ b/nixpkgs/pkgs/tools/security/meo/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchhg, openssl, pcre-cpp, qt4, boost, pkcs11helper }:
 
 stdenv.mkDerivation {
-  name = "meo-20121113";
+  pname = "meo";
+  version = "20121113";
 
   src = fetchhg {
     url = "http://oss.stamfest.net/hg/meo";
diff --git a/nixpkgs/pkgs/tools/security/metabigor/default.nix b/nixpkgs/pkgs/tools/security/metabigor/default.nix
new file mode 100644
index 000000000000..b511690192c6
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/metabigor/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "metabigor";
+  version = "1.9";
+
+  src = fetchFromGitHub {
+    owner = "j3ssie";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0gjqjz35m9hj4dpch9akkjs895qrp8fwhcsn474lz6z2q6sb65pr";
+  };
+
+  vendorSha256 = "071s3vlz0maz1597l8y899758g24vh58s4kam4q2mxkzfynzs0cr";
+
+  # Disabled for now as there are some failures ("undefined:")
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Tool to perform OSINT tasks";
+    homepage = "https://github.com/j3ssie/metabigor";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/metasploit/Gemfile b/nixpkgs/pkgs/tools/security/metasploit/Gemfile
index 8b90f7dd5f99..5af7eca13872 100644
--- a/nixpkgs/pkgs/tools/security/metasploit/Gemfile
+++ b/nixpkgs/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.0.53"
+gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.0.56"
diff --git a/nixpkgs/pkgs/tools/security/metasploit/Gemfile.lock b/nixpkgs/pkgs/tools/security/metasploit/Gemfile.lock
index 53b1170b210f..6fd30d8d6a8c 100644
--- a/nixpkgs/pkgs/tools/security/metasploit/Gemfile.lock
+++ b/nixpkgs/pkgs/tools/security/metasploit/Gemfile.lock
@@ -1,9 +1,9 @@
 GIT
   remote: https://github.com/rapid7/metasploit-framework
-  revision: b7cef30d11f0509b7e27334030dae6b8cb34e7f2
-  ref: refs/tags/6.0.53
+  revision: d818269c546bd165c29652768cd2058fcb56c4fa
+  ref: refs/tags/6.0.56
   specs:
-    metasploit-framework (6.0.53)
+    metasploit-framework (6.0.56)
       actionpack (~> 5.2.2)
       activerecord (~> 5.2.2)
       activesupport (~> 5.2.2)
@@ -31,7 +31,7 @@ GIT
       metasploit-concern (~> 3.0.0)
       metasploit-credential (~> 4.0.0)
       metasploit-model (~> 3.1.0)
-      metasploit-payloads (= 2.0.47)
+      metasploit-payloads (= 2.0.50)
       metasploit_data_models (~> 4.1.0)
       metasploit_payloads-mettle (= 1.0.10)
       mqtt
@@ -127,23 +127,23 @@ GEM
     arel-helpers (2.12.0)
       activerecord (>= 3.1.0, < 7)
     aws-eventstream (1.1.1)
-    aws-partitions (1.478.0)
-    aws-sdk-core (3.117.0)
+    aws-partitions (1.484.0)
+    aws-sdk-core (3.119.0)
       aws-eventstream (~> 1, >= 1.0.2)
       aws-partitions (~> 1, >= 1.239.0)
       aws-sigv4 (~> 1.1)
       jmespath (~> 1.0)
-    aws-sdk-ec2 (1.249.0)
-      aws-sdk-core (~> 3, >= 3.112.0)
+    aws-sdk-ec2 (1.254.0)
+      aws-sdk-core (~> 3, >= 3.119.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-iam (1.56.0)
-      aws-sdk-core (~> 3, >= 3.112.0)
+    aws-sdk-iam (1.59.0)
+      aws-sdk-core (~> 3, >= 3.119.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-kms (1.44.0)
-      aws-sdk-core (~> 3, >= 3.112.0)
+    aws-sdk-kms (1.46.0)
+      aws-sdk-core (~> 3, >= 3.119.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-s3 (1.96.1)
-      aws-sdk-core (~> 3, >= 3.112.0)
+    aws-sdk-s3 (1.98.0)
+      aws-sdk-core (~> 3, >= 3.119.0)
       aws-sdk-kms (~> 1)
       aws-sigv4 (~> 1.1)
     aws-sigv4 (1.2.4)
@@ -174,7 +174,7 @@ GEM
     eventmachine (1.2.7)
     faker (2.18.0)
       i18n (>= 1.6, < 2)
-    faraday (1.5.1)
+    faraday (1.6.0)
       faraday-em_http (~> 1.0)
       faraday-em_synchrony (~> 1.0)
       faraday-excon (~> 1.1)
@@ -182,6 +182,7 @@ GEM
       faraday-net_http (~> 1.0)
       faraday-net_http_persistent (~> 1.1)
       faraday-patron (~> 1.0)
+      faraday-rack (~> 1.0)
       multipart-post (>= 1.2, < 3)
       ruby2_keywords (>= 0.0.4)
     faraday-em_http (1.0.0)
@@ -191,6 +192,7 @@ GEM
     faraday-net_http (1.0.1)
     faraday-net_http_persistent (1.2.0)
     faraday-patron (1.0.0)
+    faraday-rack (1.0.0)
     faye-websocket (0.11.1)
       eventmachine (>= 0.12.0)
       websocket-driver (>= 0.5.1)
@@ -210,7 +212,7 @@ GEM
     jsobfu (0.4.2)
       rkelly-remix
     json (2.5.1)
-    loofah (2.10.0)
+    loofah (2.11.0)
       crass (~> 1.0.2)
       nokogiri (>= 1.5.9)
     metasm (1.0.5)
@@ -232,7 +234,7 @@ GEM
       activemodel (~> 5.2.2)
       activesupport (~> 5.2.2)
       railties (~> 5.2.2)
-    metasploit-payloads (2.0.47)
+    metasploit-payloads (2.0.50)
     metasploit_data_models (4.1.4)
       activerecord (~> 5.2.2)
       activesupport (~> 5.2.2)
@@ -245,7 +247,7 @@ GEM
       webrick
     metasploit_payloads-mettle (1.0.10)
     method_source (1.0.0)
-    mini_portile2 (2.5.3)
+    mini_portile2 (2.6.1)
     minitest (5.14.4)
     mqtt (0.5.0)
     msgpack (1.4.2)
@@ -257,9 +259,9 @@ GEM
     net-ssh (6.1.0)
     network_interface (0.0.2)
     nexpose (7.3.0)
-    nio4r (2.5.7)
-    nokogiri (1.11.7)
-      mini_portile2 (~> 2.5.0)
+    nio4r (2.5.8)
+    nokogiri (1.12.2)
+      mini_portile2 (~> 2.6.1)
       racc (~> 1.4)
     octokit (4.21.0)
       faraday (>= 0.9)
@@ -279,7 +281,7 @@ GEM
       ttfunk
     pg (1.2.3)
     public_suffix (4.0.6)
-    puma (5.3.2)
+    puma (5.4.0)
       nio4r (~> 2.0)
     racc (1.5.2)
     rack (2.2.3)
@@ -300,7 +302,7 @@ GEM
       thor (>= 0.19.0, < 2.0)
     rake (13.0.6)
     rb-readline (0.5.5)
-    recog (2.3.20)
+    recog (2.3.21)
       nokogiri
     redcarpet (3.5.1)
     reline (0.2.5)
@@ -332,18 +334,18 @@ GEM
       rex-arch
     rex-ole (0.1.7)
       rex-text
-    rex-powershell (0.1.91)
+    rex-powershell (0.1.92)
       rex-random_identifier
       rex-text
       ruby-rc4
-    rex-random_identifier (0.1.5)
+    rex-random_identifier (0.1.7)
       rex-text
     rex-registry (0.1.4)
     rex-rop_builder (0.1.4)
       metasm
       rex-core
       rex-text
-    rex-socket (0.1.29)
+    rex-socket (0.1.32)
       rex-core
     rex-sslscan (0.1.6)
       rex-core
@@ -416,4 +418,4 @@ DEPENDENCIES
   metasploit-framework!
 
 BUNDLED WITH
-   2.1.4
+   2.2.20
diff --git a/nixpkgs/pkgs/tools/security/metasploit/default.nix b/nixpkgs/pkgs/tools/security/metasploit/default.nix
index 5217322fd6bb..ee1031959233 100644
--- a/nixpkgs/pkgs/tools/security/metasploit/default.nix
+++ b/nixpkgs/pkgs/tools/security/metasploit/default.nix
@@ -8,13 +8,13 @@ let
   };
 in stdenv.mkDerivation rec {
   pname = "metasploit-framework";
-  version = "6.0.53";
+  version = "6.0.56";
 
   src = fetchFromGitHub {
     owner = "rapid7";
     repo = "metasploit-framework";
     rev = version;
-    sha256 = "sha256-0tg2FSRtwo1LRxA5jNQ1Pxx54TPs3ZwErXim8uj24VI=";
+    sha256 = "sha256-FQxxQ4Lsoktl/Ld+nvBNHCTsZ3PFDQ4GEMrh/CMZrZ0=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/tools/security/metasploit/gemset.nix b/nixpkgs/pkgs/tools/security/metasploit/gemset.nix
index ab8a1a21ca98..77b246888640 100644
--- a/nixpkgs/pkgs/tools/security/metasploit/gemset.nix
+++ b/nixpkgs/pkgs/tools/security/metasploit/gemset.nix
@@ -114,60 +114,60 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0vsxqayzh04gxxan5i8vvfxh0n238dc9305bc89xs2mx2x1pw167";
+      sha256 = "012hf08bmzmk2sjynrgzfg0ssa26fkvjm47ixjnmb9byrqmh3mwr";
       type = "gem";
     };
-    version = "1.478.0";
+    version = "1.484.0";
   };
   aws-sdk-core = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1mcagbyzy7l39lxm9g85frvjwlv3yfd9x8jddd1pfc0xsy9y0rax";
+      sha256 = "1azyn5hj41q1r9wcr0k12xb9j3v1v9ikyxnzjpizhsla44lg3270";
       type = "gem";
     };
-    version = "3.117.0";
+    version = "3.119.0";
   };
   aws-sdk-ec2 = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1n6yl7qbzmjlxp3rzm3a62vinzdg9a8rqspq7xdaa9sxrf4zsamf";
+      sha256 = "1i06ml61fr7qlxfbi98dg4lg40skjj5abfpz60jx7ml5dma13qma";
       type = "gem";
     };
-    version = "1.249.0";
+    version = "1.254.0";
   };
   aws-sdk-iam = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0d30abab908434nmfi5j97vmv63466bmcvhvaknma27qc04s53ph";
+      sha256 = "16am0mpagfzi5n6gsnd4yyiwy8ni312b3kxswq0jvr3wh8ab0r5h";
       type = "gem";
     };
-    version = "1.56.0";
+    version = "1.59.0";
   };
   aws-sdk-kms = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0407yggwsy89fzh387vq3af5azplci5v0a8y97h7r6da4jrv1ksm";
+      sha256 = "0h70lz5pblw0sy82j6kv4q4d8h2rb1p6v650kaq8lh6iyjc6il9a";
       type = "gem";
     };
-    version = "1.44.0";
+    version = "1.46.0";
   };
   aws-sdk-s3 = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0q28bdmpm2c2fw9wh00zhqxnb8p2nzdfi5l6wwa6bl63fm28816h";
+      sha256 = "0799n1j8cxcn79k5zhy8vcpbh4q8vyi1fxqqs20sxh7yhyhrybw9";
       type = "gem";
     };
-    version = "1.96.1";
+    version = "1.98.0";
   };
   aws-sigv4 = {
     groups = ["default"];
@@ -354,10 +354,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xpq9w46alagszx2mx82mqxxmsmyni2bpxd08gygzpl03zwbpr63";
+      sha256 = "0xmi0yl9sniicvyh2k437dicvvzkryrc1ckr8dic84a98bbl32gy";
       type = "gem";
     };
-    version = "1.5.1";
+    version = "1.6.0";
   };
   faraday-em_http = {
     groups = ["default"];
@@ -429,6 +429,16 @@
     };
     version = "1.0.0";
   };
+  faraday-rack = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1h184g4vqql5jv9s9im6igy00jp6mrah2h14py6mpf9bkabfqq7g";
+      type = "gem";
+    };
+    version = "1.0.0";
+  };
   faye-websocket = {
     groups = ["default"];
     platforms = [];
@@ -554,10 +564,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19vkaazjqyq7yj5ah8rpr4vl9n4mg95scdr5im93akhd5bjvkkly";
+      sha256 = "0pwik3x5fa92g6hbv4imz3n46nlkzgj69pkgql22ppmcr36knk6m";
       type = "gem";
     };
-    version = "2.10.0";
+    version = "2.11.0";
   };
   metasm = {
     groups = ["default"];
@@ -594,12 +604,12 @@
     platforms = [];
     source = {
       fetchSubmodules = false;
-      rev = "b7cef30d11f0509b7e27334030dae6b8cb34e7f2";
-      sha256 = "0lp1yvlg59kqml29rpgc6ghpj71z6pa8qf8h8x5qvhkd4hakdn6j";
+      rev = "d818269c546bd165c29652768cd2058fcb56c4fa";
+      sha256 = "17dd34izrqfa2030w3f5fdkyq90w9pq9wzmpzijlp8pch91p230m";
       type = "git";
       url = "https://github.com/rapid7/metasploit-framework";
     };
-    version = "6.0.53";
+    version = "6.0.56";
   };
   metasploit-model = {
     groups = ["default"];
@@ -616,10 +626,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jxa9q8jzfy91i4khnzmd36p3g2sq7df34csgwbmv6caarzs7732";
+      sha256 = "1wn6whvisps6fxd5fqbf6rr6znc3miqn8dwk3x8a6aycffphc75j";
       type = "gem";
     };
-    version = "2.0.47";
+    version = "2.0.50";
   };
   metasploit_data_models = {
     groups = ["default"];
@@ -656,10 +666,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ad0mli9rc0f17zw4ibp24dbj1y39zkykijsjmnzl4gwpg5s0j6k";
+      sha256 = "1lvxm91hi0pabnkkg47wh1siv56s6slm2mdq1idfm86dyfidfprq";
       type = "gem";
     };
-    version = "2.5.3";
+    version = "2.6.1";
   };
   minitest = {
     groups = ["default"];
@@ -766,20 +776,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "00fwz0qq7agd2xkdz02i8li236qvwhma3p0jdn5bdvc21b7ydzd5";
+      sha256 = "0xk64wghkscs6bv2n22853k2nh39d131c6rfpnlw12mbjnnv9v1v";
       type = "gem";
     };
-    version = "2.5.7";
+    version = "2.5.8";
   };
   nokogiri = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1vrn31385ix5k9b0yalnlzv360isv6dincbcvi8psllnwz4sjxj9";
+      sha256 = "1iav4jrklvm8938bxhby0khs36mdndhvwia4hc85zxcb0yl1k8ll";
       type = "gem";
     };
-    version = "1.11.7";
+    version = "1.12.2";
   };
   octokit = {
     groups = ["default"];
@@ -886,10 +896,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0lmaq05a257m9588a81wql3a5p039f221f0dmq57bm2qjwxydjmj";
+      sha256 = "0bz9y1hxfyv73yb26nvs2kcw08gxi7nxkfc94j82hgx2sifcnv3x";
       type = "gem";
     };
-    version = "5.3.2";
+    version = "5.4.0";
   };
   racc = {
     groups = ["default"];
@@ -986,10 +996,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "11hc55mdl2d4kb8vrbazydxdnzr5l7dd4v5spqrrgnmp2d7rq3az";
+      sha256 = "0ndzawr0rd3jdizxgjyrgipi3ccn9jpagvplxk91kb5spy9lnsy2";
       type = "gem";
     };
-    version = "2.3.20";
+    version = "2.3.21";
   };
   redcarpet = {
     groups = ["default"];
@@ -1106,20 +1116,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zrc0pr1pla0amw6hagllj82hyq8pyy6wb38xry2cxg7q70ghfq7";
+      sha256 = "02gpfw43r0pkzp7jj3n0lwn4lgbgkgadrn4p33x7b0xh1dalzgj1";
       type = "gem";
     };
-    version = "0.1.91";
+    version = "0.1.92";
   };
   rex-random_identifier = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0pqd8pfcxqd44ql8dawk59k9s5jnhx7inc8wnpjhkbx0y0sldq8q";
+      sha256 = "1zaqndyy04c4fn021ibh05xim3wr7l2i71713amz6pvhgs2939r3";
       type = "gem";
     };
-    version = "0.1.5";
+    version = "0.1.7";
   };
   rex-registry = {
     groups = ["default"];
@@ -1146,10 +1156,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ar9vm8pwjz7c11kr3pjnxbgk68f2i5k1r9j3r34pfq9n26s79gr";
+      sha256 = "03cvgmg0wswqcr70mhc6802vvgcg62f7vkbj0i7sskgy3cl9lryx";
       type = "gem";
     };
-    version = "0.1.29";
+    version = "0.1.32";
   };
   rex-sslscan = {
     groups = ["default"];
diff --git a/nixpkgs/pkgs/tools/security/minica/default.nix b/nixpkgs/pkgs/tools/security/minica/default.nix
index 49f1e2beb4db..29574e39cd92 100644
--- a/nixpkgs/pkgs/tools/security/minica/default.nix
+++ b/nixpkgs/pkgs/tools/security/minica/default.nix
@@ -13,10 +13,9 @@ buildGoPackage rec {
     sha256 = "18518wp3dcjhf3mdkg5iwxqr3326n6jwcnqhyibphnb2a58ap7ny";
   };
 
-  buildFlagsArray = ''
-    -ldflags=
-      -X main.BuildVersion=${version}
-  '';
+  ldflags = [
+    "-X main.BuildVersion=${version}"
+  ];
 
   meta = with lib; {
     description = "A simple tool for generating self signed certificates";
diff --git a/nixpkgs/pkgs/tools/security/minio-certgen/default.nix b/nixpkgs/pkgs/tools/security/minio-certgen/default.nix
new file mode 100644
index 000000000000..f87fffc4f957
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/minio-certgen/default.nix
@@ -0,0 +1,22 @@
+{ lib, fetchFromGitHub, buildGoModule }:
+
+buildGoModule rec {
+  pname = "minio-certgen";
+  version = "0.0.2";
+
+  src = fetchFromGitHub {
+    owner = "minio";
+    repo = "certgen";
+    rev = "v${version}";
+    sha256 = "sha256-HtzcoEUMt3LpQNyT0wGcmc4Q70QqHx7QpjrDh4YSO/Q=";
+  };
+
+  vendorSha256 = "sha256-pQpattmS9VmO3ZIQUFn66az8GSmB4IvYhTTCFn6SUmo=";
+
+  meta = with lib; {
+    description = "A simple Minio tool to generate self-signed certificates, and provides SAN certificates with DNS and IP entries";
+    downloadPage = "https://github.com/minio/certgen";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ superherointj ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/mkrand/default.nix b/nixpkgs/pkgs/tools/security/mkrand/default.nix
index 59b48f1881d2..21c9586cd6c3 100644
--- a/nixpkgs/pkgs/tools/security/mkrand/default.nix
+++ b/nixpkgs/pkgs/tools/security/mkrand/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "mkrand-0.1.0";
+stdenv.mkDerivation rec {
+  pname = "mkrand";
+  version = "0.1.0";
 
   src = fetchurl {
-    url = "https://github.com/mknight-tag/MKRAND/releases/download/v0.1.0/mkrand-0.1.0.tar.gz";
+    url = "https://github.com/mknight-tag/MKRAND/releases/download/v${version}/mkrand-${version}.tar.gz";
     sha256 = "1irwyv2j5c3606k3qbq77yrd65y27rcq3jdlp295rz875q8iq9fs";
   };
 
diff --git a/nixpkgs/pkgs/tools/security/mktemp/default.nix b/nixpkgs/pkgs/tools/security/mktemp/default.nix
index dc3f2a8904bc..02be5103cbf6 100644
--- a/nixpkgs/pkgs/tools/security/mktemp/default.nix
+++ b/nixpkgs/pkgs/tools/security/mktemp/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchurl, groff }:
 
-stdenv.mkDerivation {
-  name = "mktemp-1.7";
+stdenv.mkDerivation rec {
+  pname = "mktemp";
+  version = "1.7";
 
   # Have `configure' avoid `/usr/bin/nroff' in non-chroot builds.
   NROFF = "${groff}/bin/nroff";
@@ -12,7 +13,7 @@ stdenv.mkDerivation {
   '';
 
   src = fetchurl {
-    url = "ftp://ftp.mktemp.org/pub/mktemp/mktemp-1.7.tar.gz";
+    url = "ftp://ftp.mktemp.org/pub/mktemp/mktemp-${version}.tar.gz";
     sha256 = "0x969152znxxjbj7387xb38waslr4yv6bnj5jmhb4rpqxphvk54f";
   };
 
diff --git a/nixpkgs/pkgs/tools/security/munge/default.nix b/nixpkgs/pkgs/tools/security/munge/default.nix
index 0462db8859c9..01e208958a50 100644
--- a/nixpkgs/pkgs/tools/security/munge/default.nix
+++ b/nixpkgs/pkgs/tools/security/munge/default.nix
@@ -1,12 +1,13 @@
 { lib, stdenv, fetchFromGitHub, autoreconfHook, gawk, gnused, libgcrypt, zlib, bzip2 }:
 
 stdenv.mkDerivation rec {
-  name = "munge-0.5.14";
+  pname = "munge";
+  version = "0.5.14";
 
   src = fetchFromGitHub {
     owner = "dun";
     repo = "munge";
-    rev = name;
+    rev = "${pname}-${version}";
     sha256 = "15h805rwcb9f89dyrkxfclzs41n3ff8x7cc1dbvs8mb0ds682c4j";
   };
 
diff --git a/nixpkgs/pkgs/tools/security/nmap-formatter/default.nix b/nixpkgs/pkgs/tools/security/nmap-formatter/default.nix
new file mode 100644
index 000000000000..3f3835b9649d
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/nmap-formatter/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "nmap-formatter";
+  version = "0.2.1";
+
+  src = fetchFromGitHub {
+    owner = "vdjagilev";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1r8l7ajcb436b60ir6xgy53wafk6rw1cil326yg6mhcngz9sazbk";
+  };
+
+  vendorSha256 = "0c1b4iw28qj8iq55lg32xqw69jjdv5ial495j0gz68s17kydbwhb";
+
+  postPatch = ''
+    # Fix hard-coded release
+    substituteInPlace cmd/root.go \
+      --replace "0.2.0" "${version}"
+  '';
+
+  meta = with lib; {
+    description = "Tool that allows you to convert nmap output";
+    homepage = "https://github.com/vdjagilev/nmap-formatter";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/nmap-unfree/default.nix b/nixpkgs/pkgs/tools/security/nmap-unfree/default.nix
deleted file mode 100644
index 1e6ed42bae45..000000000000
--- a/nixpkgs/pkgs/tools/security/nmap-unfree/default.nix
+++ /dev/null
@@ -1,65 +0,0 @@
-{ lib
-, stdenv
-, fetchurl
-, libpcap
-, pkg-config
-, openssl
-, lua5_3
-, pcre
-, liblinear
-, libssh2
-, zlib
-, withLua ? true
-}:
-
-stdenv.mkDerivation rec {
-  pname = "nmap-unfree";
-  version = "7.91";
-
-  src = fetchurl {
-    url = "https://nmap.org/dist/nmap-${version}.tar.bz2";
-    sha256 = "001kb5xadqswyw966k2lqi6jr6zz605jpp9w4kmm272if184pk0q";
-  };
-
-  prePatch = lib.optionalString stdenv.isDarwin ''
-    substituteInPlace libz/configure \
-        --replace /usr/bin/libtool ar \
-        --replace 'AR="libtool"' 'AR="ar"' \
-        --replace 'ARFLAGS="-o"' 'ARFLAGS="-r"'
-  '';
-
-  configureFlags = [
-    (if withLua then "--with-liblua=${lua5_3}" else "--without-liblua")
-  ];
-
-  makeFlags = lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
-    "AR=${stdenv.cc.bintools.targetPrefix}ar"
-    "RANLIB=${stdenv.cc.bintools.targetPrefix}ranlib"
-    "CC=${stdenv.cc.targetPrefix}gcc"
-  ];
-
-  nativeBuildInputs = [ pkg-config ];
-
-  buildInputs = [
-    pcre
-    liblinear
-    libssh2
-    libpcap
-    openssl
-    zlib
-  ];
-
-  enableParallelBuilding = true;
-
-  # Tests require network access
-  doCheck = false;
-
-  meta = with lib; {
-    description = "Open source utility for network discovery and security auditing";
-    homepage = "http://www.nmap.org";
-    # Nmap Public Source License Version 0.93
-    # https://github.com/nmap/nmap/blob/master/LICENSE
-    license = licenses.unfree;
-    maintainers = with maintainers; [ fab SuperSandro2000 ];
-  };
-}
diff --git a/nixpkgs/pkgs/tools/security/nmap/default.nix b/nixpkgs/pkgs/tools/security/nmap/default.nix
index 531eb6eae4a5..ff416f793e1c 100644
--- a/nixpkgs/pkgs/tools/security/nmap/default.nix
+++ b/nixpkgs/pkgs/tools/security/nmap/default.nix
@@ -12,11 +12,11 @@ with lib;
 
 stdenv.mkDerivation rec {
   name = "nmap${optionalString graphicalSupport "-graphical"}-${version}";
-  version = "7.80";
+  version = "7.92";
 
   src = fetchurl {
     url = "https://nmap.org/dist/nmap-${version}.tar.bz2";
-    sha256 = "1aizfys6l9f9grm82bk878w56mg0zpkfns3spzj157h98875mypw";
+    sha256 = "sha256-pUefL4prCyUWdn0vcYnDhsHchY2ZcWfX7Fz8eYx1caE=";
   };
 
   patches = [ ./zenmap.patch ]
diff --git a/nixpkgs/pkgs/tools/security/nuclei/default.nix b/nixpkgs/pkgs/tools/security/nuclei/default.nix
index 3f674bef7bcb..cae010c5a19f 100644
--- a/nixpkgs/pkgs/tools/security/nuclei/default.nix
+++ b/nixpkgs/pkgs/tools/security/nuclei/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "nuclei";
-  version = "2.4.0";
+  version = "2.5.0";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-nmojx3xX5MZFfd1od2Aq3+dWmHCFgR7+q5C2FIUzq7A=";
+    sha256 = "sha256-6mZ8XstophadNk/3zJe2n3WL4u34jjnWh9m2qrt06hw=";
   };
 
-  vendorSha256 = "sha256-Ok2VUwtqhlp6NwLbQX9KAaGiZtzmfWG0LcqtBBDk22A=";
+  vendorSha256 = "sha256-tJ9cdZloTSXoytmMJ+6S5XAKHYs16SZmbUwZdmVnDzc=";
 
   modRoot = "./v2";
   subPackages = [
diff --git a/nixpkgs/pkgs/tools/security/onlykey-agent/default.nix b/nixpkgs/pkgs/tools/security/onlykey-agent/default.nix
new file mode 100644
index 000000000000..84c65b913458
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/onlykey-agent/default.nix
@@ -0,0 +1,61 @@
+{ lib
+, python3Packages
+, onlykey-cli
+}:
+
+let
+  # onlykey requires a patched version of libagent
+  lib-agent = with python3Packages; libagent.overridePythonAttrs (oa: rec{
+    version = "1.0.2";
+    src = fetchPypi {
+      inherit version;
+      pname = "lib-agent";
+      sha256 = "sha256-NAimivO3m4UUPM4JgLWGq2FbXOaXdQEL/DqZAcy+kEw=";
+    };
+    propagatedBuildInputs = oa.propagatedBuildInputs or [ ] ++ [
+      pynacl
+      docutils
+      pycryptodome
+      wheel
+    ];
+
+    # turn off testing because I can't get it to work
+    doCheck = false;
+    pythonImportsCheck = [ "libagent" ];
+
+    meta = oa.meta // {
+      description = "Using OnlyKey as hardware SSH and GPG agent";
+      homepage = "https://github.com/trustcrypto/onlykey-agent/tree/ledger";
+      maintainers = with maintainers; [ kalbasit ];
+    };
+  });
+in
+python3Packages.buildPythonApplication rec {
+  pname = "onlykey-agent";
+  version = "1.1.11";
+
+  src = python3Packages.fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-YH/cqQOVy5s6dTp2JwxM3s4xRTXgwhOr00whtHAwZZI=";
+  };
+
+  propagatedBuildInputs = with python3Packages; [ lib-agent onlykey-cli ];
+
+  # move the python library into the sitePackages.
+  postInstall = ''
+    mkdir $out/${python3Packages.python.sitePackages}/onlykey_agent
+    mv $out/bin/onlykey_agent.py $out/${python3Packages.python.sitePackages}/onlykey_agent/__init__.py
+    chmod a-x $out/${python3Packages.python.sitePackages}/onlykey_agent/__init__.py
+  '';
+
+  # no tests
+  doCheck = false;
+  pythonImportsCheck = [ "onlykey_agent" ];
+
+  meta = with lib; {
+    description = " The OnlyKey agent is essentially middleware that lets you use OnlyKey as a hardware SSH/GPG device.";
+    homepage = "https://github.com/trustcrypto/onlykey-agent";
+    license = licenses.lgpl3Only;
+    maintainers = with maintainers; [ kalbasit ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/onlykey-cli/default.nix b/nixpkgs/pkgs/tools/security/onlykey-cli/default.nix
index b342f203b44c..934604cae556 100644
--- a/nixpkgs/pkgs/tools/security/onlykey-cli/default.nix
+++ b/nixpkgs/pkgs/tools/security/onlykey-cli/default.nix
@@ -2,18 +2,28 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "onlykey-cli";
-  version = "1.2.2";
+  version = "1.2.5";
 
   src = python3Packages.fetchPypi {
     inherit version;
     pname = "onlykey";
-    sha256 = "1qkbgab5xlg7bd0jfzf8k5ppb1zhib76r050fiaqi5wibrqrfwdi";
+    sha256 = "sha256-7Pr1gXaPF5mctGxDciKKj0YDDQVFFi1+t6QztoKqpAA=";
   };
 
+  propagatedBuildInputs = with python3Packages; [
+    aenum
+    cython
+    ecdsa
+    hidapi
+    onlykey-solo-python
+    prompt-toolkit
+    pynacl
+    six
+  ];
+
   # Requires having the physical onlykey (a usb security key)
   doCheck = false;
-  propagatedBuildInputs =
-    with python3Packages; [ hidapi aenum six prompt_toolkit pynacl ecdsa cython ];
+  pythonImportsCheck = [ "onlykey.cli" ];
 
   meta = with lib; {
     description = "OnlyKey client and command-line tool";
diff --git a/nixpkgs/pkgs/tools/security/onlykey/default.nix b/nixpkgs/pkgs/tools/security/onlykey/default.nix
new file mode 100644
index 000000000000..4cad7e513acd
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/onlykey/default.nix
@@ -0,0 +1,63 @@
+{ fetchgit
+, lib
+, makeDesktopItem
+, node_webkit
+, pkgs
+, runCommand
+, stdenv
+, writeShellScript
+}:
+
+let
+  # parse the version from package.json
+  version =
+    let
+      packageJson = builtins.fromJSON (builtins.readFile ./package.json);
+      splits = builtins.split "^.*#v(.*)$" (builtins.getAttr "onlykey" (builtins.head packageJson));
+      matches = builtins.elemAt splits 1;
+      elem = builtins.head matches;
+    in
+    elem;
+
+  # this must be updated anytime this package is updated.
+  onlykeyPkg = "onlykey-git://github.com/trustcrypto/OnlyKey-App.git#v${version}";
+
+  # define a shortcut to get to onlykey.
+  onlykey = self."${onlykeyPkg}";
+
+  super = (import ./onlykey.nix {
+    inherit pkgs;
+    inherit (stdenv.hostPlatform) system;
+  });
+
+  self = super // {
+    "${onlykeyPkg}" = super."${onlykeyPkg}".override (attrs: {
+      # when installing packages, nw tries to download nwjs in its postInstall
+      # script. There are currently no other postInstall scripts, so this
+      # should not break other things.
+      npmFlags = attrs.npmFlags or "" + " --ignore-scripts";
+
+      # this package requires to be built in order to become runnable.
+      postInstall = ''
+        cd $out/lib/node_modules/${attrs.packageName}
+        npm run build
+      '';
+    });
+  };
+
+  script = writeShellScript "${onlykey.packageName}-starter-${onlykey.version}" ''
+    ${node_webkit}/bin/nw ${onlykey}/lib/node_modules/${onlykey.packageName}/build
+  '';
+
+  desktop = makeDesktopItem {
+    name = onlykey.packageName;
+    exec = script;
+    icon = "${onlykey}/lib/node_modules/${onlykey.packageName}/resources/onlykey_logo_128.png";
+    desktopName = onlykey.packageName;
+    genericName = onlykey.packageName;
+  };
+in
+runCommand "${onlykey.packageName}-${onlykey.version}" { } ''
+  mkdir -p $out/bin
+  ln -s ${script} $out/bin/onlykey
+''
diff --git a/nixpkgs/pkgs/tools/security/onlykey/generate.sh b/nixpkgs/pkgs/tools/security/onlykey/generate.sh
new file mode 100755
index 000000000000..ec3730492323
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/onlykey/generate.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env nix-shell
+#! nix-shell -i bash -p nodePackages.node2nix
+
+# XXX: --development is given here because we need access to gulp in order to build OnlyKey.
+exec node2nix --nodejs-14 --development -i package.json -c onlykey.nix -e ../../../development/node-packages/node-env.nix --no-copy-node-env
diff --git a/nixpkgs/pkgs/tools/security/onlykey/node-packages.nix b/nixpkgs/pkgs/tools/security/onlykey/node-packages.nix
new file mode 100644
index 000000000000..d6713a0f42a8
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/onlykey/node-packages.nix
@@ -0,0 +1,7716 @@
+# This file has been generated by node2nix 1.9.0. Do not edit!
+
+{nodeEnv, fetchurl, fetchgit, nix-gitignore, stdenv, lib, globalBuildInputs ? []}:
+
+let
+  sources = {
+    "@babel/code-frame-7.14.5" = {
+      name = "_at_babel_slash_code-frame";
+      packageName = "@babel/code-frame";
+      version = "7.14.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz";
+        sha512 = "9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==";
+      };
+    };
+    "@babel/helper-validator-identifier-7.14.9" = {
+      name = "_at_babel_slash_helper-validator-identifier";
+      packageName = "@babel/helper-validator-identifier";
+      version = "7.14.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz";
+        sha512 = "pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==";
+      };
+    };
+    "@babel/highlight-7.14.5" = {
+      name = "_at_babel_slash_highlight";
+      packageName = "@babel/highlight";
+      version = "7.14.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz";
+        sha512 = "qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==";
+      };
+    };
+    "@gulp-sourcemaps/identity-map-1.0.2" = {
+      name = "_at_gulp-sourcemaps_slash_identity-map";
+      packageName = "@gulp-sourcemaps/identity-map";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@gulp-sourcemaps/identity-map/-/identity-map-1.0.2.tgz";
+        sha512 = "ciiioYMLdo16ShmfHBXJBOFm3xPC4AuwO4xeRpFeHz7WK9PYsWCmigagG2XyzZpubK4a3qNKoUBDhbzHfa50LQ==";
+      };
+    };
+    "@gulp-sourcemaps/map-sources-1.0.0" = {
+      name = "_at_gulp-sourcemaps_slash_map-sources";
+      packageName = "@gulp-sourcemaps/map-sources";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@gulp-sourcemaps/map-sources/-/map-sources-1.0.0.tgz";
+        sha1 = "890ae7c5d8c877f6d384860215ace9d7ec945bda";
+      };
+    };
+    "@ungap/promise-all-settled-1.1.2" = {
+      name = "_at_ungap_slash_promise-all-settled";
+      packageName = "@ungap/promise-all-settled";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz";
+        sha512 = "sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==";
+      };
+    };
+    "abbrev-1.1.1" = {
+      name = "abbrev";
+      packageName = "abbrev";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz";
+        sha512 = "nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==";
+      };
+    };
+    "acorn-5.7.4" = {
+      name = "acorn";
+      packageName = "acorn";
+      version = "5.7.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz";
+        sha512 = "1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==";
+      };
+    };
+    "acorn-7.4.1" = {
+      name = "acorn";
+      packageName = "acorn";
+      version = "7.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz";
+        sha512 = "nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==";
+      };
+    };
+    "acorn-jsx-5.3.2" = {
+      name = "acorn-jsx";
+      packageName = "acorn-jsx";
+      version = "5.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz";
+        sha512 = "rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==";
+      };
+    };
+    "ajv-6.12.6" = {
+      name = "ajv";
+      packageName = "ajv";
+      version = "6.12.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz";
+        sha512 = "j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==";
+      };
+    };
+    "ansi-colors-1.1.0" = {
+      name = "ansi-colors";
+      packageName = "ansi-colors";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz";
+        sha512 = "SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==";
+      };
+    };
+    "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-escapes-4.3.2" = {
+      name = "ansi-escapes";
+      packageName = "ansi-escapes";
+      version = "4.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz";
+        sha512 = "gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==";
+      };
+    };
+    "ansi-gray-0.1.1" = {
+      name = "ansi-gray";
+      packageName = "ansi-gray";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz";
+        sha1 = "2962cf54ec9792c48510a3deb524436861ef7251";
+      };
+    };
+    "ansi-regex-2.1.1" = {
+      name = "ansi-regex";
+      packageName = "ansi-regex";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz";
+        sha1 = "c3b33ab5ee360d86e0e628f0468ae7ef27d654df";
+      };
+    };
+    "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.0" = {
+      name = "ansi-regex";
+      packageName = "ansi-regex";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz";
+        sha512 = "bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==";
+      };
+    };
+    "ansi-styles-2.2.1" = {
+      name = "ansi-styles";
+      packageName = "ansi-styles";
+      version = "2.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz";
+        sha1 = "b432dd3358b634cf75e1e4664368240533c1ddbe";
+      };
+    };
+    "ansi-styles-3.2.1" = {
+      name = "ansi-styles";
+      packageName = "ansi-styles";
+      version = "3.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz";
+        sha512 = "VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==";
+      };
+    };
+    "ansi-styles-4.3.0" = {
+      name = "ansi-styles";
+      packageName = "ansi-styles";
+      version = "4.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz";
+        sha512 = "zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==";
+      };
+    };
+    "ansi-wrap-0.1.0" = {
+      name = "ansi-wrap";
+      packageName = "ansi-wrap";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz";
+        sha1 = "a82250ddb0015e9a27ca82e82ea603bbfa45efaf";
+      };
+    };
+    "anymatch-1.3.2" = {
+      name = "anymatch";
+      packageName = "anymatch";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz";
+        sha512 = "0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==";
+      };
+    };
+    "anymatch-2.0.0" = {
+      name = "anymatch";
+      packageName = "anymatch";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz";
+        sha512 = "5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==";
+      };
+    };
+    "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-buffer-1.0.2" = {
+      name = "append-buffer";
+      packageName = "append-buffer";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz";
+        sha1 = "d8220cf466081525efea50614f3de6514dfa58f1";
+      };
+    };
+    "applescript-1.0.0" = {
+      name = "applescript";
+      packageName = "applescript";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/applescript/-/applescript-1.0.0.tgz";
+        sha1 = "bb87af568cad034a4e48c4bdaf6067a3a2701317";
+      };
+    };
+    "archy-1.0.0" = {
+      name = "archy";
+      packageName = "archy";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz";
+        sha1 = "f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40";
+      };
+    };
+    "argparse-1.0.10" = {
+      name = "argparse";
+      packageName = "argparse";
+      version = "1.0.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz";
+        sha512 = "o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==";
+      };
+    };
+    "argparse-2.0.1" = {
+      name = "argparse";
+      packageName = "argparse";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz";
+        sha512 = "8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==";
+      };
+    };
+    "arr-diff-2.0.0" = {
+      name = "arr-diff";
+      packageName = "arr-diff";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz";
+        sha1 = "8f3b827f955a8bd669697e4a4256ac3ceae356cf";
+      };
+    };
+    "arr-diff-4.0.0" = {
+      name = "arr-diff";
+      packageName = "arr-diff";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz";
+        sha1 = "d6461074febfec71e7e15235761a329a5dc7c520";
+      };
+    };
+    "arr-filter-1.1.2" = {
+      name = "arr-filter";
+      packageName = "arr-filter";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/arr-filter/-/arr-filter-1.1.2.tgz";
+        sha1 = "43fdddd091e8ef11aa4c45d9cdc18e2dff1711ee";
+      };
+    };
+    "arr-flatten-1.1.0" = {
+      name = "arr-flatten";
+      packageName = "arr-flatten";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz";
+        sha512 = "L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==";
+      };
+    };
+    "arr-map-2.0.2" = {
+      name = "arr-map";
+      packageName = "arr-map";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/arr-map/-/arr-map-2.0.2.tgz";
+        sha1 = "3a77345ffc1cf35e2a91825601f9e58f2e24cac4";
+      };
+    };
+    "arr-union-3.1.0" = {
+      name = "arr-union";
+      packageName = "arr-union";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz";
+        sha1 = "e39b09aea9def866a8f206e288af63919bae39c4";
+      };
+    };
+    "array-each-1.0.1" = {
+      name = "array-each";
+      packageName = "array-each";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz";
+        sha1 = "a794af0c05ab1752846ee753a1f211a05ba0c44f";
+      };
+    };
+    "array-initial-1.1.0" = {
+      name = "array-initial";
+      packageName = "array-initial";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-initial/-/array-initial-1.1.0.tgz";
+        sha1 = "2fa74b26739371c3947bd7a7adc73be334b3d795";
+      };
+    };
+    "array-last-1.3.0" = {
+      name = "array-last";
+      packageName = "array-last";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-last/-/array-last-1.3.0.tgz";
+        sha512 = "eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg==";
+      };
+    };
+    "array-slice-1.1.0" = {
+      name = "array-slice";
+      packageName = "array-slice";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz";
+        sha512 = "B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==";
+      };
+    };
+    "array-sort-1.0.0" = {
+      name = "array-sort";
+      packageName = "array-sort";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-sort/-/array-sort-1.0.0.tgz";
+        sha512 = "ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg==";
+      };
+    };
+    "array-unique-0.2.1" = {
+      name = "array-unique";
+      packageName = "array-unique";
+      version = "0.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz";
+        sha1 = "a1d97ccafcbc2625cc70fadceb36a50c58b01a53";
+      };
+    };
+    "array-unique-0.3.2" = {
+      name = "array-unique";
+      packageName = "array-unique";
+      version = "0.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz";
+        sha1 = "a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428";
+      };
+    };
+    "asn1-0.2.4" = {
+      name = "asn1";
+      packageName = "asn1";
+      version = "0.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz";
+        sha512 = "jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==";
+      };
+    };
+    "assert-plus-1.0.0" = {
+      name = "assert-plus";
+      packageName = "assert-plus";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz";
+        sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525";
+      };
+    };
+    "assertion-error-1.1.0" = {
+      name = "assertion-error";
+      packageName = "assertion-error";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz";
+        sha512 = "jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==";
+      };
+    };
+    "assign-symbols-1.0.0" = {
+      name = "assign-symbols";
+      packageName = "assign-symbols";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz";
+        sha1 = "59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367";
+      };
+    };
+    "astral-regex-1.0.0" = {
+      name = "astral-regex";
+      packageName = "astral-regex";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz";
+        sha512 = "+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==";
+      };
+    };
+    "async-done-1.3.2" = {
+      name = "async-done";
+      packageName = "async-done";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/async-done/-/async-done-1.3.2.tgz";
+        sha512 = "uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw==";
+      };
+    };
+    "async-each-1.0.3" = {
+      name = "async-each";
+      packageName = "async-each";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz";
+        sha512 = "z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==";
+      };
+    };
+    "async-settle-1.0.0" = {
+      name = "async-settle";
+      packageName = "async-settle";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/async-settle/-/async-settle-1.0.0.tgz";
+        sha1 = "1d0a914bb02575bec8a8f3a74e5080f72b2c0c6b";
+      };
+    };
+    "asynckit-0.4.0" = {
+      name = "asynckit";
+      packageName = "asynckit";
+      version = "0.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz";
+        sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
+      };
+    };
+    "atob-2.1.2" = {
+      name = "atob";
+      packageName = "atob";
+      version = "2.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz";
+        sha512 = "Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==";
+      };
+    };
+    "auto-launch-5.0.5" = {
+      name = "auto-launch";
+      packageName = "auto-launch";
+      version = "5.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/auto-launch/-/auto-launch-5.0.5.tgz";
+        sha512 = "ppdF4mihhYzMYLuCcx9H/c5TUOCev8uM7en53zWVQhyYAJrurd2bFZx3qQVeJKF2jrc7rsPRNN5cD+i23l6PdA==";
+      };
+    };
+    "aws-sign2-0.7.0" = {
+      name = "aws-sign2";
+      packageName = "aws-sign2";
+      version = "0.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz";
+        sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8";
+      };
+    };
+    "aws4-1.11.0" = {
+      name = "aws4";
+      packageName = "aws4";
+      version = "1.11.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz";
+        sha512 = "xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==";
+      };
+    };
+    "bach-1.2.0" = {
+      name = "bach";
+      packageName = "bach";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bach/-/bach-1.2.0.tgz";
+        sha1 = "4b3ce96bf27134f79a1b414a51c14e34c3bd9880";
+      };
+    };
+    "balanced-match-1.0.2" = {
+      name = "balanced-match";
+      packageName = "balanced-match";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz";
+        sha512 = "3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==";
+      };
+    };
+    "base-0.11.2" = {
+      name = "base";
+      packageName = "base";
+      version = "0.11.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/base/-/base-0.11.2.tgz";
+        sha512 = "5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==";
+      };
+    };
+    "base64-js-1.5.1" = {
+      name = "base64-js";
+      packageName = "base64-js";
+      version = "1.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz";
+        sha512 = "AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==";
+      };
+    };
+    "bcrypt-pbkdf-1.0.2" = {
+      name = "bcrypt-pbkdf";
+      packageName = "bcrypt-pbkdf";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz";
+        sha1 = "a4301d389b6a43f9b67ff3ca11a3f6637e360e9e";
+      };
+    };
+    "binary-0.3.0" = {
+      name = "binary";
+      packageName = "binary";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz";
+        sha1 = "9f60553bc5ce8c3386f3b553cff47462adecaa79";
+      };
+    };
+    "binary-extensions-1.13.1" = {
+      name = "binary-extensions";
+      packageName = "binary-extensions";
+      version = "1.13.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz";
+        sha512 = "Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==";
+      };
+    };
+    "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==";
+      };
+    };
+    "bindings-1.5.0" = {
+      name = "bindings";
+      packageName = "bindings";
+      version = "1.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz";
+        sha512 = "p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==";
+      };
+    };
+    "bl-1.2.3" = {
+      name = "bl";
+      packageName = "bl";
+      version = "1.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz";
+        sha512 = "pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==";
+      };
+    };
+    "brace-expansion-1.1.11" = {
+      name = "brace-expansion";
+      packageName = "brace-expansion";
+      version = "1.1.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz";
+        sha512 = "iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==";
+      };
+    };
+    "braces-1.8.5" = {
+      name = "braces";
+      packageName = "braces";
+      version = "1.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz";
+        sha1 = "ba77962e12dff969d6b76711e914b737857bf6a7";
+      };
+    };
+    "braces-2.3.2" = {
+      name = "braces";
+      packageName = "braces";
+      version = "2.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz";
+        sha512 = "aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==";
+      };
+    };
+    "braces-3.0.2" = {
+      name = "braces";
+      packageName = "braces";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz";
+        sha512 = "b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==";
+      };
+    };
+    "browser-stdout-1.3.1" = {
+      name = "browser-stdout";
+      packageName = "browser-stdout";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz";
+        sha512 = "qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==";
+      };
+    };
+    "buffer-5.7.1" = {
+      name = "buffer";
+      packageName = "buffer";
+      version = "5.7.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz";
+        sha512 = "EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==";
+      };
+    };
+    "buffer-alloc-1.2.0" = {
+      name = "buffer-alloc";
+      packageName = "buffer-alloc";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz";
+        sha512 = "CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==";
+      };
+    };
+    "buffer-alloc-unsafe-1.1.0" = {
+      name = "buffer-alloc-unsafe";
+      packageName = "buffer-alloc-unsafe";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz";
+        sha512 = "TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==";
+      };
+    };
+    "buffer-crc32-0.2.13" = {
+      name = "buffer-crc32";
+      packageName = "buffer-crc32";
+      version = "0.2.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz";
+        sha1 = "0d333e3f00eac50aa1454abd30ef8c2a5d9a7242";
+      };
+    };
+    "buffer-equal-1.0.0" = {
+      name = "buffer-equal";
+      packageName = "buffer-equal";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz";
+        sha1 = "59616b498304d556abd466966b22eeda3eca5fbe";
+      };
+    };
+    "buffer-fill-1.0.0" = {
+      name = "buffer-fill";
+      packageName = "buffer-fill";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz";
+        sha1 = "f8f78b76789888ef39f205cd637f68e702122b2c";
+      };
+    };
+    "buffer-from-1.1.2" = {
+      name = "buffer-from";
+      packageName = "buffer-from";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz";
+        sha512 = "E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==";
+      };
+    };
+    "buffer-to-vinyl-1.1.0" = {
+      name = "buffer-to-vinyl";
+      packageName = "buffer-to-vinyl";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-to-vinyl/-/buffer-to-vinyl-1.1.0.tgz";
+        sha1 = "00f15faee3ab7a1dda2cde6d9121bffdd07b2262";
+      };
+    };
+    "buffers-0.1.1" = {
+      name = "buffers";
+      packageName = "buffers";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz";
+        sha1 = "b24579c3bed4d6d396aeee6d9a8ae7f5482ab7bb";
+      };
+    };
+    "cache-base-1.0.1" = {
+      name = "cache-base";
+      packageName = "cache-base";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz";
+        sha512 = "AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==";
+      };
+    };
+    "call-bind-1.0.2" = {
+      name = "call-bind";
+      packageName = "call-bind";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz";
+        sha512 = "7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==";
+      };
+    };
+    "callsites-3.1.0" = {
+      name = "callsites";
+      packageName = "callsites";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz";
+        sha512 = "P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==";
+      };
+    };
+    "camelcase-2.1.1" = {
+      name = "camelcase";
+      packageName = "camelcase";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz";
+        sha1 = "7c1d16d679a1bbe59ca02cacecfb011e201f5a1f";
+      };
+    };
+    "camelcase-3.0.0" = {
+      name = "camelcase";
+      packageName = "camelcase";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz";
+        sha1 = "32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a";
+      };
+    };
+    "camelcase-6.2.0" = {
+      name = "camelcase";
+      packageName = "camelcase";
+      version = "6.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz";
+        sha512 = "c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==";
+      };
+    };
+    "capture-stack-trace-1.0.1" = {
+      name = "capture-stack-trace";
+      packageName = "capture-stack-trace";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz";
+        sha512 = "mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==";
+      };
+    };
+    "caseless-0.12.0" = {
+      name = "caseless";
+      packageName = "caseless";
+      version = "0.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz";
+        sha1 = "1b681c21ff84033c826543090689420d187151dc";
+      };
+    };
+    "caw-2.0.1" = {
+      name = "caw";
+      packageName = "caw";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/caw/-/caw-2.0.1.tgz";
+        sha512 = "Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==";
+      };
+    };
+    "chai-4.3.4" = {
+      name = "chai";
+      packageName = "chai";
+      version = "4.3.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chai/-/chai-4.3.4.tgz";
+        sha512 = "yS5H68VYOCtN1cjfwumDSuzn/9c+yza4f3reKXlE5rUg7SFcCEy90gJvydNgOYtblyf4Zi6jIWRnXOgErta0KA==";
+      };
+    };
+    "chai-as-promised-7.1.1" = {
+      name = "chai-as-promised";
+      packageName = "chai-as-promised";
+      version = "7.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.1.tgz";
+        sha512 = "azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==";
+      };
+    };
+    "chainsaw-0.1.0" = {
+      name = "chainsaw";
+      packageName = "chainsaw";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz";
+        sha1 = "5eab50b28afe58074d0d58291388828b5e5fbc98";
+      };
+    };
+    "chalk-1.1.3" = {
+      name = "chalk";
+      packageName = "chalk";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz";
+        sha1 = "a8115c55e4a702fe4d150abd3872822a7e09fc98";
+      };
+    };
+    "chalk-2.4.2" = {
+      name = "chalk";
+      packageName = "chalk";
+      version = "2.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz";
+        sha512 = "Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==";
+      };
+    };
+    "chalk-4.1.2" = {
+      name = "chalk";
+      packageName = "chalk";
+      version = "4.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz";
+        sha512 = "oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==";
+      };
+    };
+    "chardet-0.7.0" = {
+      name = "chardet";
+      packageName = "chardet";
+      version = "0.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz";
+        sha512 = "mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==";
+      };
+    };
+    "charm-0.1.2" = {
+      name = "charm";
+      packageName = "charm";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/charm/-/charm-0.1.2.tgz";
+        sha1 = "06c21eed1a1b06aeb67553cdc53e23274bac2296";
+      };
+    };
+    "check-error-1.0.2" = {
+      name = "check-error";
+      packageName = "check-error";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz";
+        sha1 = "574d312edd88bb5dd8912e9286dd6c0aed4aac82";
+      };
+    };
+    "chokidar-1.7.0" = {
+      name = "chokidar";
+      packageName = "chokidar";
+      version = "1.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz";
+        sha1 = "798e689778151c8076b4b360e5edd28cda2bb468";
+      };
+    };
+    "chokidar-2.1.8" = {
+      name = "chokidar";
+      packageName = "chokidar";
+      version = "2.1.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz";
+        sha512 = "ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==";
+      };
+    };
+    "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==";
+      };
+    };
+    "class-utils-0.3.6" = {
+      name = "class-utils";
+      packageName = "class-utils";
+      version = "0.3.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz";
+        sha512 = "qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==";
+      };
+    };
+    "cli-cursor-3.1.0" = {
+      name = "cli-cursor";
+      packageName = "cli-cursor";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz";
+        sha512 = "I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==";
+      };
+    };
+    "cli-width-3.0.0" = {
+      name = "cli-width";
+      packageName = "cli-width";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz";
+        sha512 = "FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==";
+      };
+    };
+    "cliui-3.2.0" = {
+      name = "cliui";
+      packageName = "cliui";
+      version = "3.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz";
+        sha1 = "120601537a916d29940f934da3b48d585a39213d";
+      };
+    };
+    "cliui-7.0.4" = {
+      name = "cliui";
+      packageName = "cliui";
+      version = "7.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz";
+        sha512 = "OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==";
+      };
+    };
+    "clone-0.2.0" = {
+      name = "clone";
+      packageName = "clone";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz";
+        sha1 = "c6126a90ad4f72dbf5acdb243cc37724fe93fc1f";
+      };
+    };
+    "clone-1.0.4" = {
+      name = "clone";
+      packageName = "clone";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz";
+        sha1 = "da309cc263df15994c688ca902179ca3c7cd7c7e";
+      };
+    };
+    "clone-2.1.2" = {
+      name = "clone";
+      packageName = "clone";
+      version = "2.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz";
+        sha1 = "1b7f4b9f591f1e8f83670401600345a02887435f";
+      };
+    };
+    "clone-buffer-1.0.0" = {
+      name = "clone-buffer";
+      packageName = "clone-buffer";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz";
+        sha1 = "e3e25b207ac4e701af721e2cb5a16792cac3dc58";
+      };
+    };
+    "clone-stats-0.0.1" = {
+      name = "clone-stats";
+      packageName = "clone-stats";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz";
+        sha1 = "b88f94a82cf38b8791d58046ea4029ad88ca99d1";
+      };
+    };
+    "clone-stats-1.0.0" = {
+      name = "clone-stats";
+      packageName = "clone-stats";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz";
+        sha1 = "b3782dff8bb5474e18b9b6bf0fdfe782f8777680";
+      };
+    };
+    "cloneable-readable-1.1.3" = {
+      name = "cloneable-readable";
+      packageName = "cloneable-readable";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz";
+        sha512 = "2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==";
+      };
+    };
+    "code-point-at-1.1.0" = {
+      name = "code-point-at";
+      packageName = "code-point-at";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz";
+        sha1 = "0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77";
+      };
+    };
+    "collection-map-1.0.0" = {
+      name = "collection-map";
+      packageName = "collection-map";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/collection-map/-/collection-map-1.0.0.tgz";
+        sha1 = "aea0f06f8d26c780c2b75494385544b2255af18c";
+      };
+    };
+    "collection-visit-1.0.0" = {
+      name = "collection-visit";
+      packageName = "collection-visit";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz";
+        sha1 = "4bc0373c164bc3291b4d368c829cf1a80a59dca0";
+      };
+    };
+    "color-convert-1.9.3" = {
+      name = "color-convert";
+      packageName = "color-convert";
+      version = "1.9.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz";
+        sha512 = "QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==";
+      };
+    };
+    "color-convert-2.0.1" = {
+      name = "color-convert";
+      packageName = "color-convert";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz";
+        sha512 = "RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==";
+      };
+    };
+    "color-name-1.1.3" = {
+      name = "color-name";
+      packageName = "color-name";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz";
+        sha1 = "a7d0558bd89c42f795dd42328f740831ca53bc25";
+      };
+    };
+    "color-name-1.1.4" = {
+      name = "color-name";
+      packageName = "color-name";
+      version = "1.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz";
+        sha512 = "dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==";
+      };
+    };
+    "color-support-1.1.3" = {
+      name = "color-support";
+      packageName = "color-support";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz";
+        sha512 = "qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==";
+      };
+    };
+    "combined-stream-1.0.8" = {
+      name = "combined-stream";
+      packageName = "combined-stream";
+      version = "1.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz";
+        sha512 = "FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==";
+      };
+    };
+    "commander-2.20.3" = {
+      name = "commander";
+      packageName = "commander";
+      version = "2.20.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz";
+        sha512 = "GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==";
+      };
+    };
+    "component-emitter-1.3.0" = {
+      name = "component-emitter";
+      packageName = "component-emitter";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz";
+        sha512 = "Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==";
+      };
+    };
+    "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-1.6.2" = {
+      name = "concat-stream";
+      packageName = "concat-stream";
+      version = "1.6.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz";
+        sha512 = "27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==";
+      };
+    };
+    "config-chain-1.1.13" = {
+      name = "config-chain";
+      packageName = "config-chain";
+      version = "1.1.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz";
+        sha512 = "qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==";
+      };
+    };
+    "convert-source-map-1.8.0" = {
+      name = "convert-source-map";
+      packageName = "convert-source-map";
+      version = "1.8.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz";
+        sha512 = "+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==";
+      };
+    };
+    "copy-descriptor-0.1.1" = {
+      name = "copy-descriptor";
+      packageName = "copy-descriptor";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz";
+        sha1 = "676f6eb3c39997c2ee1ac3a924fd6124748f578d";
+      };
+    };
+    "copy-props-2.0.5" = {
+      name = "copy-props";
+      packageName = "copy-props";
+      version = "2.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/copy-props/-/copy-props-2.0.5.tgz";
+        sha512 = "XBlx8HSqrT0ObQwmSzM7WE5k8FxTV75h1DX1Z3n6NhQ/UYYAvInWYmG06vFt7hQZArE2fuO62aihiWIVQwh1sw==";
+      };
+    };
+    "core-util-is-1.0.2" = {
+      name = "core-util-is";
+      packageName = "core-util-is";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz";
+        sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
+      };
+    };
+    "create-error-class-3.0.2" = {
+      name = "create-error-class";
+      packageName = "create-error-class";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz";
+        sha1 = "06be7abef947a3f14a30fd610671d401bca8b7b6";
+      };
+    };
+    "cross-spawn-6.0.5" = {
+      name = "cross-spawn";
+      packageName = "cross-spawn";
+      version = "6.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz";
+        sha512 = "eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==";
+      };
+    };
+    "css-2.2.4" = {
+      name = "css";
+      packageName = "css";
+      version = "2.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/css/-/css-2.2.4.tgz";
+        sha512 = "oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==";
+      };
+    };
+    "d-1.0.1" = {
+      name = "d";
+      packageName = "d";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/d/-/d-1.0.1.tgz";
+        sha512 = "m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==";
+      };
+    };
+    "dashdash-1.14.1" = {
+      name = "dashdash";
+      packageName = "dashdash";
+      version = "1.14.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz";
+        sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0";
+      };
+    };
+    "debounce-1.2.1" = {
+      name = "debounce";
+      packageName = "debounce";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz";
+        sha512 = "XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==";
+      };
+    };
+    "debug-2.6.9" = {
+      name = "debug";
+      packageName = "debug";
+      version = "2.6.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz";
+        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" = {
+      name = "debug";
+      packageName = "debug";
+      version = "4.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz";
+        sha512 = "doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==";
+      };
+    };
+    "debug-4.3.2" = {
+      name = "debug";
+      packageName = "debug";
+      version = "4.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz";
+        sha512 = "mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==";
+      };
+    };
+    "debug-fabulous-1.1.0" = {
+      name = "debug-fabulous";
+      packageName = "debug-fabulous";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/debug-fabulous/-/debug-fabulous-1.1.0.tgz";
+        sha512 = "GZqvGIgKNlUnHUPQhepnUZFIMoi3dgZKQBzKDeL2g7oJF9SNAji/AAu36dusFUas0O+pae74lNeoIPHqXWDkLg==";
+      };
+    };
+    "decamelize-1.2.0" = {
+      name = "decamelize";
+      packageName = "decamelize";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz";
+        sha1 = "f6534d15148269b20352e7bee26f501f9a191290";
+      };
+    };
+    "decamelize-4.0.0" = {
+      name = "decamelize";
+      packageName = "decamelize";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz";
+        sha512 = "9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==";
+      };
+    };
+    "decode-uri-component-0.2.0" = {
+      name = "decode-uri-component";
+      packageName = "decode-uri-component";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz";
+        sha1 = "eb3913333458775cb84cd1a1fae062106bb87545";
+      };
+    };
+    "decompress-3.0.0" = {
+      name = "decompress";
+      packageName = "decompress";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/decompress/-/decompress-3.0.0.tgz";
+        sha1 = "af1dd50d06e3bfc432461d37de11b38c0d991bed";
+      };
+    };
+    "decompress-4.2.1" = {
+      name = "decompress";
+      packageName = "decompress";
+      version = "4.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz";
+        sha512 = "e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==";
+      };
+    };
+    "decompress-tar-3.1.0" = {
+      name = "decompress-tar";
+      packageName = "decompress-tar";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/decompress-tar/-/decompress-tar-3.1.0.tgz";
+        sha1 = "217c789f9b94450efaadc5c5e537978fc333c466";
+      };
+    };
+    "decompress-tar-4.1.1" = {
+      name = "decompress-tar";
+      packageName = "decompress-tar";
+      version = "4.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz";
+        sha512 = "JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==";
+      };
+    };
+    "decompress-tarbz2-3.1.0" = {
+      name = "decompress-tarbz2";
+      packageName = "decompress-tarbz2";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-3.1.0.tgz";
+        sha1 = "8b23935681355f9f189d87256a0f8bdd96d9666d";
+      };
+    };
+    "decompress-tarbz2-4.1.1" = {
+      name = "decompress-tarbz2";
+      packageName = "decompress-tarbz2";
+      version = "4.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz";
+        sha512 = "s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==";
+      };
+    };
+    "decompress-targz-3.1.0" = {
+      name = "decompress-targz";
+      packageName = "decompress-targz";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/decompress-targz/-/decompress-targz-3.1.0.tgz";
+        sha1 = "b2c13df98166268991b715d6447f642e9696f5a0";
+      };
+    };
+    "decompress-targz-4.1.1" = {
+      name = "decompress-targz";
+      packageName = "decompress-targz";
+      version = "4.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz";
+        sha512 = "4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==";
+      };
+    };
+    "decompress-unzip-3.4.0" = {
+      name = "decompress-unzip";
+      packageName = "decompress-unzip";
+      version = "3.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-3.4.0.tgz";
+        sha1 = "61475b4152066bbe3fee12f9d629d15fe6478eeb";
+      };
+    };
+    "decompress-unzip-4.0.1" = {
+      name = "decompress-unzip";
+      packageName = "decompress-unzip";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz";
+        sha1 = "deaaccdfd14aeaf85578f733ae8210f9b4848f69";
+      };
+    };
+    "decompress-zip-0.3.3" = {
+      name = "decompress-zip";
+      packageName = "decompress-zip";
+      version = "0.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/decompress-zip/-/decompress-zip-0.3.3.tgz";
+        sha512 = "/fy1L4s+4jujqj3kNptWjilFw3E6De8U6XUFvqmh4npN3Vsypm3oT2V0bXcmbBWS+5j5tr4okYaFrOmyZkszEg==";
+      };
+    };
+    "deep-eql-3.0.1" = {
+      name = "deep-eql";
+      packageName = "deep-eql";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz";
+        sha512 = "+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==";
+      };
+    };
+    "deep-is-0.1.3" = {
+      name = "deep-is";
+      packageName = "deep-is";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz";
+        sha1 = "b369d6fb5dbc13eecf524f91b070feedc357cf34";
+      };
+    };
+    "default-compare-1.0.0" = {
+      name = "default-compare";
+      packageName = "default-compare";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz";
+        sha512 = "QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ==";
+      };
+    };
+    "default-resolution-2.0.0" = {
+      name = "default-resolution";
+      packageName = "default-resolution";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/default-resolution/-/default-resolution-2.0.0.tgz";
+        sha1 = "bcb82baa72ad79b426a76732f1a81ad6df26d684";
+      };
+    };
+    "define-properties-1.1.3" = {
+      name = "define-properties";
+      packageName = "define-properties";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz";
+        sha512 = "3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==";
+      };
+    };
+    "define-property-0.2.5" = {
+      name = "define-property";
+      packageName = "define-property";
+      version = "0.2.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz";
+        sha1 = "c35b1ef918ec3c990f9a5bc57be04aacec5c8116";
+      };
+    };
+    "define-property-1.0.0" = {
+      name = "define-property";
+      packageName = "define-property";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz";
+        sha1 = "769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6";
+      };
+    };
+    "define-property-2.0.2" = {
+      name = "define-property";
+      packageName = "define-property";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz";
+        sha512 = "jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==";
+      };
+    };
+    "delayed-stream-1.0.0" = {
+      name = "delayed-stream";
+      packageName = "delayed-stream";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz";
+        sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619";
+      };
+    };
+    "detect-file-1.0.0" = {
+      name = "detect-file";
+      packageName = "detect-file";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz";
+        sha1 = "f0d66d03672a825cb1b73bdb3fe62310c8e552b7";
+      };
+    };
+    "detect-newline-2.1.0" = {
+      name = "detect-newline";
+      packageName = "detect-newline";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz";
+        sha1 = "f41f1c10be4b00e87b5f13da680759f2c5bfd3e2";
+      };
+    };
+    "diff-5.0.0" = {
+      name = "diff";
+      packageName = "diff";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz";
+        sha512 = "/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==";
+      };
+    };
+    "doctrine-3.0.0" = {
+      name = "doctrine";
+      packageName = "doctrine";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz";
+        sha512 = "yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==";
+      };
+    };
+    "download-5.0.3" = {
+      name = "download";
+      packageName = "download";
+      version = "5.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/download/-/download-5.0.3.tgz";
+        sha1 = "63537f977f99266a30eb8a2a2fbd1f20b8000f7a";
+      };
+    };
+    "duplexer2-0.1.4" = {
+      name = "duplexer2";
+      packageName = "duplexer2";
+      version = "0.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz";
+        sha1 = "8b12dab878c0d69e3e7891051662a32fc6bddcc1";
+      };
+    };
+    "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";
+      };
+    };
+    "duplexify-3.7.1" = {
+      name = "duplexify";
+      packageName = "duplexify";
+      version = "3.7.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz";
+        sha512 = "07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==";
+      };
+    };
+    "each-props-1.3.2" = {
+      name = "each-props";
+      packageName = "each-props";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/each-props/-/each-props-1.3.2.tgz";
+        sha512 = "vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA==";
+      };
+    };
+    "ecc-jsbn-0.1.2" = {
+      name = "ecc-jsbn";
+      packageName = "ecc-jsbn";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz";
+        sha1 = "3a83a904e54353287874c564b7549386849a98c9";
+      };
+    };
+    "emoji-regex-7.0.3" = {
+      name = "emoji-regex";
+      packageName = "emoji-regex";
+      version = "7.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz";
+        sha512 = "CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==";
+      };
+    };
+    "emoji-regex-8.0.0" = {
+      name = "emoji-regex";
+      packageName = "emoji-regex";
+      version = "8.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz";
+        sha512 = "MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==";
+      };
+    };
+    "end-of-stream-1.4.4" = {
+      name = "end-of-stream";
+      packageName = "end-of-stream";
+      version = "1.4.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz";
+        sha512 = "+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==";
+      };
+    };
+    "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==";
+      };
+    };
+    "es5-ext-0.10.53" = {
+      name = "es5-ext";
+      packageName = "es5-ext";
+      version = "0.10.53";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz";
+        sha512 = "Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==";
+      };
+    };
+    "es6-iterator-2.0.3" = {
+      name = "es6-iterator";
+      packageName = "es6-iterator";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz";
+        sha1 = "a7de889141a05a94b0854403b2d0a0fbfa98f3b7";
+      };
+    };
+    "es6-symbol-3.1.3" = {
+      name = "es6-symbol";
+      packageName = "es6-symbol";
+      version = "3.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz";
+        sha512 = "NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==";
+      };
+    };
+    "es6-weak-map-2.0.3" = {
+      name = "es6-weak-map";
+      packageName = "es6-weak-map";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz";
+        sha512 = "p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==";
+      };
+    };
+    "escalade-3.1.1" = {
+      name = "escalade";
+      packageName = "escalade";
+      version = "3.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz";
+        sha512 = "k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==";
+      };
+    };
+    "escape-string-regexp-1.0.5" = {
+      name = "escape-string-regexp";
+      packageName = "escape-string-regexp";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz";
+        sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4";
+      };
+    };
+    "escape-string-regexp-4.0.0" = {
+      name = "escape-string-regexp";
+      packageName = "escape-string-regexp";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz";
+        sha512 = "TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==";
+      };
+    };
+    "eslint-6.8.0" = {
+      name = "eslint";
+      packageName = "eslint";
+      version = "6.8.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz";
+        sha512 = "K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==";
+      };
+    };
+    "eslint-scope-5.1.1" = {
+      name = "eslint-scope";
+      packageName = "eslint-scope";
+      version = "5.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz";
+        sha512 = "2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==";
+      };
+    };
+    "eslint-utils-1.4.3" = {
+      name = "eslint-utils";
+      packageName = "eslint-utils";
+      version = "1.4.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz";
+        sha512 = "fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==";
+      };
+    };
+    "eslint-visitor-keys-1.3.0" = {
+      name = "eslint-visitor-keys";
+      packageName = "eslint-visitor-keys";
+      version = "1.3.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==";
+      };
+    };
+    "espree-6.2.1" = {
+      name = "espree";
+      packageName = "espree";
+      version = "6.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz";
+        sha512 = "ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==";
+      };
+    };
+    "esprima-4.0.1" = {
+      name = "esprima";
+      packageName = "esprima";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz";
+        sha512 = "eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==";
+      };
+    };
+    "esquery-1.4.0" = {
+      name = "esquery";
+      packageName = "esquery";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz";
+        sha512 = "cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==";
+      };
+    };
+    "esrecurse-4.3.0" = {
+      name = "esrecurse";
+      packageName = "esrecurse";
+      version = "4.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz";
+        sha512 = "KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==";
+      };
+    };
+    "estraverse-4.3.0" = {
+      name = "estraverse";
+      packageName = "estraverse";
+      version = "4.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz";
+        sha512 = "39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==";
+      };
+    };
+    "estraverse-5.2.0" = {
+      name = "estraverse";
+      packageName = "estraverse";
+      version = "5.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz";
+        sha512 = "BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==";
+      };
+    };
+    "esutils-2.0.3" = {
+      name = "esutils";
+      packageName = "esutils";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz";
+        sha512 = "kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==";
+      };
+    };
+    "event-emitter-0.3.5" = {
+      name = "event-emitter";
+      packageName = "event-emitter";
+      version = "0.3.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz";
+        sha1 = "df8c69eef1647923c7157b9ce83840610b02cc39";
+      };
+    };
+    "expand-brackets-0.1.5" = {
+      name = "expand-brackets";
+      packageName = "expand-brackets";
+      version = "0.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz";
+        sha1 = "df07284e342a807cd733ac5af72411e581d1177b";
+      };
+    };
+    "expand-brackets-2.1.4" = {
+      name = "expand-brackets";
+      packageName = "expand-brackets";
+      version = "2.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz";
+        sha1 = "b77735e315ce30f6b6eff0f83b04151a22449622";
+      };
+    };
+    "expand-range-1.8.2" = {
+      name = "expand-range";
+      packageName = "expand-range";
+      version = "1.8.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz";
+        sha1 = "a299effd335fe2721ebae8e257ec79644fc85337";
+      };
+    };
+    "expand-tilde-2.0.2" = {
+      name = "expand-tilde";
+      packageName = "expand-tilde";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz";
+        sha1 = "97e801aa052df02454de46b02bf621642cdc8502";
+      };
+    };
+    "ext-1.4.0" = {
+      name = "ext";
+      packageName = "ext";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz";
+        sha512 = "Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==";
+      };
+    };
+    "extend-3.0.2" = {
+      name = "extend";
+      packageName = "extend";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz";
+        sha512 = "fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==";
+      };
+    };
+    "extend-shallow-2.0.1" = {
+      name = "extend-shallow";
+      packageName = "extend-shallow";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz";
+        sha1 = "51af7d614ad9a9f610ea1bafbb989d6b1c56890f";
+      };
+    };
+    "extend-shallow-3.0.2" = {
+      name = "extend-shallow";
+      packageName = "extend-shallow";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz";
+        sha1 = "26a71aaf073b39fb2127172746131c2704028db8";
+      };
+    };
+    "external-editor-3.1.0" = {
+      name = "external-editor";
+      packageName = "external-editor";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz";
+        sha512 = "hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==";
+      };
+    };
+    "extglob-0.3.2" = {
+      name = "extglob";
+      packageName = "extglob";
+      version = "0.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz";
+        sha1 = "2e18ff3d2f49ab2765cec9023f011daa8d8349a1";
+      };
+    };
+    "extglob-2.0.4" = {
+      name = "extglob";
+      packageName = "extglob";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz";
+        sha512 = "Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==";
+      };
+    };
+    "extsprintf-1.3.0" = {
+      name = "extsprintf";
+      packageName = "extsprintf";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz";
+        sha1 = "96918440e3041a7a414f8c52e3c574eb3c3e1e05";
+      };
+    };
+    "fancy-log-1.3.3" = {
+      name = "fancy-log";
+      packageName = "fancy-log";
+      version = "1.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz";
+        sha512 = "k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==";
+      };
+    };
+    "fast-deep-equal-3.1.3" = {
+      name = "fast-deep-equal";
+      packageName = "fast-deep-equal";
+      version = "3.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz";
+        sha512 = "f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==";
+      };
+    };
+    "fast-json-stable-stringify-2.1.0" = {
+      name = "fast-json-stable-stringify";
+      packageName = "fast-json-stable-stringify";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz";
+        sha512 = "lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==";
+      };
+    };
+    "fast-levenshtein-1.1.4" = {
+      name = "fast-levenshtein";
+      packageName = "fast-levenshtein";
+      version = "1.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.1.4.tgz";
+        sha1 = "e6a754cc8f15e58987aa9cbd27af66fd6f4e5af9";
+      };
+    };
+    "fast-levenshtein-2.0.6" = {
+      name = "fast-levenshtein";
+      packageName = "fast-levenshtein";
+      version = "2.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz";
+        sha1 = "3d8a5c66883a16a30ca8643e851f19baa7797917";
+      };
+    };
+    "fd-slicer-1.1.0" = {
+      name = "fd-slicer";
+      packageName = "fd-slicer";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz";
+        sha1 = "25c7c89cb1f9077f8891bbe61d8f390eae256f1e";
+      };
+    };
+    "figures-3.2.0" = {
+      name = "figures";
+      packageName = "figures";
+      version = "3.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz";
+        sha512 = "yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==";
+      };
+    };
+    "file-entry-cache-5.0.1" = {
+      name = "file-entry-cache";
+      packageName = "file-entry-cache";
+      version = "5.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz";
+        sha512 = "bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==";
+      };
+    };
+    "file-exists-2.0.0" = {
+      name = "file-exists";
+      packageName = "file-exists";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/file-exists/-/file-exists-2.0.0.tgz";
+        sha1 = "a24150665150e62d55bc5449281d88d2b0810dca";
+      };
+    };
+    "file-type-3.9.0" = {
+      name = "file-type";
+      packageName = "file-type";
+      version = "3.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz";
+        sha1 = "257a078384d1db8087bc449d107d52a52672b9e9";
+      };
+    };
+    "file-type-5.2.0" = {
+      name = "file-type";
+      packageName = "file-type";
+      version = "5.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz";
+        sha1 = "2ddbea7c73ffe36368dfae49dc338c058c2b8ad6";
+      };
+    };
+    "file-type-6.2.0" = {
+      name = "file-type";
+      packageName = "file-type";
+      version = "6.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz";
+        sha512 = "YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==";
+      };
+    };
+    "file-uri-to-path-1.0.0" = {
+      name = "file-uri-to-path";
+      packageName = "file-uri-to-path";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz";
+        sha512 = "0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==";
+      };
+    };
+    "filename-regex-2.0.1" = {
+      name = "filename-regex";
+      packageName = "filename-regex";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz";
+        sha1 = "c1c4b9bee3e09725ddb106b75c1e301fe2f18b26";
+      };
+    };
+    "filename-reserved-regex-2.0.0" = {
+      name = "filename-reserved-regex";
+      packageName = "filename-reserved-regex";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz";
+        sha1 = "abf73dfab735d045440abfea2d91f389ebbfa229";
+      };
+    };
+    "filenamify-2.1.0" = {
+      name = "filenamify";
+      packageName = "filenamify";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/filenamify/-/filenamify-2.1.0.tgz";
+        sha512 = "ICw7NTT6RsDp2rnYKVd8Fu4cr6ITzGy3+u4vUujPkabyaz+03F24NWEX7fs5fp+kBonlaqPH8fAO2NM+SXt/JA==";
+      };
+    };
+    "fill-range-2.2.4" = {
+      name = "fill-range";
+      packageName = "fill-range";
+      version = "2.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz";
+        sha512 = "cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==";
+      };
+    };
+    "fill-range-4.0.0" = {
+      name = "fill-range";
+      packageName = "fill-range";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz";
+        sha1 = "d544811d428f98eb06a63dc402d2403c328c38f7";
+      };
+    };
+    "fill-range-7.0.1" = {
+      name = "fill-range";
+      packageName = "fill-range";
+      version = "7.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz";
+        sha512 = "qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==";
+      };
+    };
+    "find-up-1.1.2" = {
+      name = "find-up";
+      packageName = "find-up";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz";
+        sha1 = "6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f";
+      };
+    };
+    "find-up-5.0.0" = {
+      name = "find-up";
+      packageName = "find-up";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz";
+        sha512 = "78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==";
+      };
+    };
+    "findup-sync-2.0.0" = {
+      name = "findup-sync";
+      packageName = "findup-sync";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz";
+        sha1 = "9326b1488c22d1a6088650a86901b2d9a90a2cbc";
+      };
+    };
+    "findup-sync-3.0.0" = {
+      name = "findup-sync";
+      packageName = "findup-sync";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz";
+        sha512 = "YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==";
+      };
+    };
+    "fined-1.2.0" = {
+      name = "fined";
+      packageName = "fined";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz";
+        sha512 = "ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==";
+      };
+    };
+    "first-chunk-stream-1.0.0" = {
+      name = "first-chunk-stream";
+      packageName = "first-chunk-stream";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz";
+        sha1 = "59bfb50cd905f60d7c394cd3d9acaab4e6ad934e";
+      };
+    };
+    "flagged-respawn-1.0.1" = {
+      name = "flagged-respawn";
+      packageName = "flagged-respawn";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz";
+        sha512 = "lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==";
+      };
+    };
+    "flat-5.0.2" = {
+      name = "flat";
+      packageName = "flat";
+      version = "5.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz";
+        sha512 = "b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==";
+      };
+    };
+    "flat-cache-2.0.1" = {
+      name = "flat-cache";
+      packageName = "flat-cache";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz";
+        sha512 = "LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==";
+      };
+    };
+    "flatted-2.0.2" = {
+      name = "flatted";
+      packageName = "flatted";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz";
+        sha512 = "r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==";
+      };
+    };
+    "flush-write-stream-1.1.1" = {
+      name = "flush-write-stream";
+      packageName = "flush-write-stream";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz";
+        sha512 = "3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==";
+      };
+    };
+    "for-in-1.0.2" = {
+      name = "for-in";
+      packageName = "for-in";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz";
+        sha1 = "81068d295a8142ec0ac726c6e2200c30fb6d5e80";
+      };
+    };
+    "for-own-0.1.5" = {
+      name = "for-own";
+      packageName = "for-own";
+      version = "0.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz";
+        sha1 = "5265c681a4f294dabbf17c9509b6763aa84510ce";
+      };
+    };
+    "for-own-1.0.0" = {
+      name = "for-own";
+      packageName = "for-own";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz";
+        sha1 = "c63332f415cedc4b04dbfe70cf836494c53cb44b";
+      };
+    };
+    "forever-agent-0.6.1" = {
+      name = "forever-agent";
+      packageName = "forever-agent";
+      version = "0.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz";
+        sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91";
+      };
+    };
+    "form-data-2.3.3" = {
+      name = "form-data";
+      packageName = "form-data";
+      version = "2.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz";
+        sha512 = "1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==";
+      };
+    };
+    "fragment-cache-0.2.1" = {
+      name = "fragment-cache";
+      packageName = "fragment-cache";
+      version = "0.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz";
+        sha1 = "4290fad27f13e89be7f33799c6bc5a0abfff0d19";
+      };
+    };
+    "fs-constants-1.0.0" = {
+      name = "fs-constants";
+      packageName = "fs-constants";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz";
+        sha512 = "y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==";
+      };
+    };
+    "fs-extra-7.0.1" = {
+      name = "fs-extra";
+      packageName = "fs-extra";
+      version = "7.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz";
+        sha512 = "YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==";
+      };
+    };
+    "fs-jetpack-4.1.1" = {
+      name = "fs-jetpack";
+      packageName = "fs-jetpack";
+      version = "4.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs-jetpack/-/fs-jetpack-4.1.1.tgz";
+        sha512 = "BSZ+f6VjrMInpA6neNnUhQNFPPdf3M+I8v8M9dBRrbmExd8GNRbTJIq1tjNh86FQ4a+EoMtPcp1oemwY5ghGBw==";
+      };
+    };
+    "fs-mkdirp-stream-1.0.0" = {
+      name = "fs-mkdirp-stream";
+      packageName = "fs-mkdirp-stream";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz";
+        sha1 = "0b7815fc3201c6a69e14db98ce098c16935259eb";
+      };
+    };
+    "fs.realpath-1.0.0" = {
+      name = "fs.realpath";
+      packageName = "fs.realpath";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz";
+        sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f";
+      };
+    };
+    "fsevents-1.2.13" = {
+      name = "fsevents";
+      packageName = "fsevents";
+      version = "1.2.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz";
+        sha512 = "oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==";
+      };
+    };
+    "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";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz";
+        sha512 = "yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==";
+      };
+    };
+    "functional-red-black-tree-1.0.1" = {
+      name = "functional-red-black-tree";
+      packageName = "functional-red-black-tree";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz";
+        sha1 = "1b0ab3bd553b2a0d6399d29c0e3ea0b252078327";
+      };
+    };
+    "get-caller-file-1.0.3" = {
+      name = "get-caller-file";
+      packageName = "get-caller-file";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz";
+        sha512 = "3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==";
+      };
+    };
+    "get-caller-file-2.0.5" = {
+      name = "get-caller-file";
+      packageName = "get-caller-file";
+      version = "2.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz";
+        sha512 = "DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==";
+      };
+    };
+    "get-func-name-2.0.0" = {
+      name = "get-func-name";
+      packageName = "get-func-name";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz";
+        sha1 = "ead774abee72e20409433a066366023dd6887a41";
+      };
+    };
+    "get-intrinsic-1.1.1" = {
+      name = "get-intrinsic";
+      packageName = "get-intrinsic";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz";
+        sha512 = "kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==";
+      };
+    };
+    "get-proxy-2.1.0" = {
+      name = "get-proxy";
+      packageName = "get-proxy";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-proxy/-/get-proxy-2.1.0.tgz";
+        sha512 = "zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==";
+      };
+    };
+    "get-stdin-4.0.1" = {
+      name = "get-stdin";
+      packageName = "get-stdin";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz";
+        sha1 = "b968c6b0a04384324902e8bf1a5df32579a450fe";
+      };
+    };
+    "get-stream-2.3.1" = {
+      name = "get-stream";
+      packageName = "get-stream";
+      version = "2.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz";
+        sha1 = "5f38f93f346009666ee0150a054167f91bdd95de";
+      };
+    };
+    "get-stream-3.0.0" = {
+      name = "get-stream";
+      packageName = "get-stream";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz";
+        sha1 = "8e943d1358dc37555054ecbe2edb05aa174ede14";
+      };
+    };
+    "get-value-2.0.6" = {
+      name = "get-value";
+      packageName = "get-value";
+      version = "2.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz";
+        sha1 = "dc15ca1c672387ca76bd37ac0a395ba2042a2c28";
+      };
+    };
+    "getpass-0.1.7" = {
+      name = "getpass";
+      packageName = "getpass";
+      version = "0.1.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz";
+        sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa";
+      };
+    };
+    "glob-5.0.15" = {
+      name = "glob";
+      packageName = "glob";
+      version = "5.0.15";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz";
+        sha1 = "1bc936b9e02f4a603fcc222ecf7633d30b8b93b1";
+      };
+    };
+    "glob-7.1.6" = {
+      name = "glob";
+      packageName = "glob";
+      version = "7.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz";
+        sha512 = "LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==";
+      };
+    };
+    "glob-7.1.7" = {
+      name = "glob";
+      packageName = "glob";
+      version = "7.1.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz";
+        sha512 = "OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==";
+      };
+    };
+    "glob-base-0.3.0" = {
+      name = "glob-base";
+      packageName = "glob-base";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz";
+        sha1 = "dbb164f6221b1c0b1ccf82aea328b497df0ea3c4";
+      };
+    };
+    "glob-parent-2.0.0" = {
+      name = "glob-parent";
+      packageName = "glob-parent";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz";
+        sha1 = "81383d72db054fcccf5336daa902f182f6edbb28";
+      };
+    };
+    "glob-parent-3.1.0" = {
+      name = "glob-parent";
+      packageName = "glob-parent";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz";
+        sha1 = "9e6af6299d8d3bd2bd40430832bd113df906c5ae";
+      };
+    };
+    "glob-parent-5.1.2" = {
+      name = "glob-parent";
+      packageName = "glob-parent";
+      version = "5.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz";
+        sha512 = "AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==";
+      };
+    };
+    "glob-stream-5.3.5" = {
+      name = "glob-stream";
+      packageName = "glob-stream";
+      version = "5.3.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob-stream/-/glob-stream-5.3.5.tgz";
+        sha1 = "a55665a9a8ccdc41915a87c701e32d4e016fad22";
+      };
+    };
+    "glob-stream-6.1.0" = {
+      name = "glob-stream";
+      packageName = "glob-stream";
+      version = "6.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz";
+        sha1 = "7045c99413b3eb94888d83ab46d0b404cc7bdde4";
+      };
+    };
+    "glob-watcher-5.0.5" = {
+      name = "glob-watcher";
+      packageName = "glob-watcher";
+      version = "5.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.5.tgz";
+        sha512 = "zOZgGGEHPklZNjZQaZ9f41i7F2YwE+tS5ZHrDhbBCk3stwahn5vQxnFmBJZHoYdusR6R1bLSXeGUy/BhctwKzw==";
+      };
+    };
+    "global-modules-1.0.0" = {
+      name = "global-modules";
+      packageName = "global-modules";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz";
+        sha512 = "sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==";
+      };
+    };
+    "global-prefix-1.0.2" = {
+      name = "global-prefix";
+      packageName = "global-prefix";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz";
+        sha1 = "dbf743c6c14992593c655568cb66ed32c0122ebe";
+      };
+    };
+    "globals-12.4.0" = {
+      name = "globals";
+      packageName = "globals";
+      version = "12.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz";
+        sha512 = "BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==";
+      };
+    };
+    "glogg-1.0.2" = {
+      name = "glogg";
+      packageName = "glogg";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz";
+        sha512 = "5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==";
+      };
+    };
+    "got-6.7.1" = {
+      name = "got";
+      packageName = "got";
+      version = "6.7.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/got/-/got-6.7.1.tgz";
+        sha1 = "240cd05785a9a18e561dc1b44b41c763ef1e8db0";
+      };
+    };
+    "graceful-fs-4.2.8" = {
+      name = "graceful-fs";
+      packageName = "graceful-fs";
+      version = "4.2.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz";
+        sha512 = "qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==";
+      };
+    };
+    "growl-1.10.5" = {
+      name = "growl";
+      packageName = "growl";
+      version = "1.10.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz";
+        sha512 = "qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==";
+      };
+    };
+    "gulp-4.0.2" = {
+      name = "gulp";
+      packageName = "gulp";
+      version = "4.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/gulp/-/gulp-4.0.2.tgz";
+        sha512 = "dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA==";
+      };
+    };
+    "gulp-cli-2.3.0" = {
+      name = "gulp-cli";
+      packageName = "gulp-cli";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/gulp-cli/-/gulp-cli-2.3.0.tgz";
+        sha512 = "zzGBl5fHo0EKSXsHzjspp3y5CONegCm8ErO5Qh0UzFzk2y4tMvzLWhoDokADbarfZRL2pGpRp7yt6gfJX4ph7A==";
+      };
+    };
+    "gulp-sourcemaps-1.6.0" = {
+      name = "gulp-sourcemaps";
+      packageName = "gulp-sourcemaps";
+      version = "1.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz";
+        sha1 = "b86ff349d801ceb56e1d9e7dc7bbcb4b7dee600c";
+      };
+    };
+    "gulp-sourcemaps-2.6.5" = {
+      name = "gulp-sourcemaps";
+      packageName = "gulp-sourcemaps";
+      version = "2.6.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-2.6.5.tgz";
+        sha512 = "SYLBRzPTew8T5Suh2U8jCSDKY+4NARua4aqjj8HOysBh2tSgT9u4jc1FYirAdPx1akUxxDeK++fqw6Jg0LkQRg==";
+      };
+    };
+    "gulplog-1.0.0" = {
+      name = "gulplog";
+      packageName = "gulplog";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz";
+        sha1 = "e28c4d45d05ecbbed818363ce8f9c5926229ffe5";
+      };
+    };
+    "har-schema-2.0.0" = {
+      name = "har-schema";
+      packageName = "har-schema";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz";
+        sha1 = "a94c2224ebcac04782a0d9035521f24735b7ec92";
+      };
+    };
+    "har-validator-5.1.5" = {
+      name = "har-validator";
+      packageName = "har-validator";
+      version = "5.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz";
+        sha512 = "nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==";
+      };
+    };
+    "has-1.0.3" = {
+      name = "has";
+      packageName = "has";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has/-/has-1.0.3.tgz";
+        sha512 = "f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==";
+      };
+    };
+    "has-ansi-2.0.0" = {
+      name = "has-ansi";
+      packageName = "has-ansi";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz";
+        sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91";
+      };
+    };
+    "has-flag-3.0.0" = {
+      name = "has-flag";
+      packageName = "has-flag";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz";
+        sha1 = "b5d454dc2199ae225699f3467e5a07f3b955bafd";
+      };
+    };
+    "has-flag-4.0.0" = {
+      name = "has-flag";
+      packageName = "has-flag";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz";
+        sha512 = "EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==";
+      };
+    };
+    "has-symbol-support-x-1.4.2" = {
+      name = "has-symbol-support-x";
+      packageName = "has-symbol-support-x";
+      version = "1.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz";
+        sha512 = "3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==";
+      };
+    };
+    "has-symbols-1.0.2" = {
+      name = "has-symbols";
+      packageName = "has-symbols";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz";
+        sha512 = "chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==";
+      };
+    };
+    "has-to-string-tag-x-1.4.1" = {
+      name = "has-to-string-tag-x";
+      packageName = "has-to-string-tag-x";
+      version = "1.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz";
+        sha512 = "vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==";
+      };
+    };
+    "has-value-0.3.1" = {
+      name = "has-value";
+      packageName = "has-value";
+      version = "0.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz";
+        sha1 = "7b1f58bada62ca827ec0a2078025654845995e1f";
+      };
+    };
+    "has-value-1.0.0" = {
+      name = "has-value";
+      packageName = "has-value";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz";
+        sha1 = "18b281da585b1c5c51def24c930ed29a0be6b177";
+      };
+    };
+    "has-values-0.1.4" = {
+      name = "has-values";
+      packageName = "has-values";
+      version = "0.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz";
+        sha1 = "6d61de95d91dfca9b9a02089ad384bff8f62b771";
+      };
+    };
+    "has-values-1.0.0" = {
+      name = "has-values";
+      packageName = "has-values";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz";
+        sha1 = "95b0b63fec2146619a6fe57fe75628d5a39efe4f";
+      };
+    };
+    "he-1.2.0" = {
+      name = "he";
+      packageName = "he";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/he/-/he-1.2.0.tgz";
+        sha512 = "F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==";
+      };
+    };
+    "homedir-polyfill-1.0.3" = {
+      name = "homedir-polyfill";
+      packageName = "homedir-polyfill";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz";
+        sha512 = "eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==";
+      };
+    };
+    "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==";
+      };
+    };
+    "http-signature-1.2.0" = {
+      name = "http-signature";
+      packageName = "http-signature";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz";
+        sha1 = "9aecd925114772f3d95b65a60abb8f7c18fbace1";
+      };
+    };
+    "iconv-lite-0.4.24" = {
+      name = "iconv-lite";
+      packageName = "iconv-lite";
+      version = "0.4.24";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz";
+        sha512 = "v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==";
+      };
+    };
+    "ieee754-1.2.1" = {
+      name = "ieee754";
+      packageName = "ieee754";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz";
+        sha512 = "dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==";
+      };
+    };
+    "ignore-4.0.6" = {
+      name = "ignore";
+      packageName = "ignore";
+      version = "4.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz";
+        sha512 = "cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==";
+      };
+    };
+    "immediate-3.0.6" = {
+      name = "immediate";
+      packageName = "immediate";
+      version = "3.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz";
+        sha1 = "9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b";
+      };
+    };
+    "import-fresh-3.3.0" = {
+      name = "import-fresh";
+      packageName = "import-fresh";
+      version = "3.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz";
+        sha512 = "veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==";
+      };
+    };
+    "imurmurhash-0.1.4" = {
+      name = "imurmurhash";
+      packageName = "imurmurhash";
+      version = "0.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz";
+        sha1 = "9218b9b2b928a238b13dc4fb6b6d576f231453ea";
+      };
+    };
+    "inflight-1.0.6" = {
+      name = "inflight";
+      packageName = "inflight";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz";
+        sha1 = "49bd6331d7d02d0c09bc910a1075ba8165b56df9";
+      };
+    };
+    "inherits-2.0.4" = {
+      name = "inherits";
+      packageName = "inherits";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz";
+        sha512 = "k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==";
+      };
+    };
+    "ini-1.3.8" = {
+      name = "ini";
+      packageName = "ini";
+      version = "1.3.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz";
+        sha512 = "JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==";
+      };
+    };
+    "inquirer-7.3.3" = {
+      name = "inquirer";
+      packageName = "inquirer";
+      version = "7.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz";
+        sha512 = "JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==";
+      };
+    };
+    "interpret-1.4.0" = {
+      name = "interpret";
+      packageName = "interpret";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz";
+        sha512 = "agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==";
+      };
+    };
+    "invert-kv-1.0.0" = {
+      name = "invert-kv";
+      packageName = "invert-kv";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz";
+        sha1 = "104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6";
+      };
+    };
+    "is-absolute-0.1.7" = {
+      name = "is-absolute";
+      packageName = "is-absolute";
+      version = "0.1.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-absolute/-/is-absolute-0.1.7.tgz";
+        sha1 = "847491119fccb5fb436217cc737f7faad50f603f";
+      };
+    };
+    "is-absolute-1.0.0" = {
+      name = "is-absolute";
+      packageName = "is-absolute";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz";
+        sha512 = "dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==";
+      };
+    };
+    "is-accessor-descriptor-0.1.6" = {
+      name = "is-accessor-descriptor";
+      packageName = "is-accessor-descriptor";
+      version = "0.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz";
+        sha1 = "a9e12cb3ae8d876727eeef3843f8a0897b5c98d6";
+      };
+    };
+    "is-accessor-descriptor-1.0.0" = {
+      name = "is-accessor-descriptor";
+      packageName = "is-accessor-descriptor";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz";
+        sha512 = "m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==";
+      };
+    };
+    "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-binary-path-1.0.1" = {
+      name = "is-binary-path";
+      packageName = "is-binary-path";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz";
+        sha1 = "75f16642b480f187a711c814161fd3a4a7655898";
+      };
+    };
+    "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-buffer-1.1.6" = {
+      name = "is-buffer";
+      packageName = "is-buffer";
+      version = "1.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz";
+        sha512 = "NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==";
+      };
+    };
+    "is-bzip2-1.0.0" = {
+      name = "is-bzip2";
+      packageName = "is-bzip2";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-bzip2/-/is-bzip2-1.0.0.tgz";
+        sha1 = "5ee58eaa5a2e9c80e21407bedf23ae5ac091b3fc";
+      };
+    };
+    "is-core-module-2.6.0" = {
+      name = "is-core-module";
+      packageName = "is-core-module";
+      version = "2.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-core-module/-/is-core-module-2.6.0.tgz";
+        sha512 = "wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ==";
+      };
+    };
+    "is-data-descriptor-0.1.4" = {
+      name = "is-data-descriptor";
+      packageName = "is-data-descriptor";
+      version = "0.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz";
+        sha1 = "0b5ee648388e2c860282e793f1856fec3f301b56";
+      };
+    };
+    "is-data-descriptor-1.0.0" = {
+      name = "is-data-descriptor";
+      packageName = "is-data-descriptor";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz";
+        sha512 = "jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==";
+      };
+    };
+    "is-descriptor-0.1.6" = {
+      name = "is-descriptor";
+      packageName = "is-descriptor";
+      version = "0.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz";
+        sha512 = "avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==";
+      };
+    };
+    "is-descriptor-1.0.2" = {
+      name = "is-descriptor";
+      packageName = "is-descriptor";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz";
+        sha512 = "2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==";
+      };
+    };
+    "is-dotfile-1.0.3" = {
+      name = "is-dotfile";
+      packageName = "is-dotfile";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz";
+        sha1 = "a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1";
+      };
+    };
+    "is-equal-shallow-0.1.3" = {
+      name = "is-equal-shallow";
+      packageName = "is-equal-shallow";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz";
+        sha1 = "2238098fc221de0bcfa5d9eac4c45d638aa1c534";
+      };
+    };
+    "is-extendable-0.1.1" = {
+      name = "is-extendable";
+      packageName = "is-extendable";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz";
+        sha1 = "62b110e289a471418e3ec36a617d472e301dfc89";
+      };
+    };
+    "is-extendable-1.0.1" = {
+      name = "is-extendable";
+      packageName = "is-extendable";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz";
+        sha512 = "arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==";
+      };
+    };
+    "is-extglob-1.0.0" = {
+      name = "is-extglob";
+      packageName = "is-extglob";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz";
+        sha1 = "ac468177c4943405a092fc8f29760c6ffc6206c0";
+      };
+    };
+    "is-extglob-2.1.1" = {
+      name = "is-extglob";
+      packageName = "is-extglob";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz";
+        sha1 = "a88c02535791f02ed37c76a1b9ea9773c833f8c2";
+      };
+    };
+    "is-fullwidth-code-point-1.0.0" = {
+      name = "is-fullwidth-code-point";
+      packageName = "is-fullwidth-code-point";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz";
+        sha1 = "ef9e31386f031a7f0d643af82fde50c457ef00cb";
+      };
+    };
+    "is-fullwidth-code-point-2.0.0" = {
+      name = "is-fullwidth-code-point";
+      packageName = "is-fullwidth-code-point";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz";
+        sha1 = "a3b30a5c4f199183167aaab93beefae3ddfb654f";
+      };
+    };
+    "is-fullwidth-code-point-3.0.0" = {
+      name = "is-fullwidth-code-point";
+      packageName = "is-fullwidth-code-point";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz";
+        sha512 = "zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==";
+      };
+    };
+    "is-glob-2.0.1" = {
+      name = "is-glob";
+      packageName = "is-glob";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz";
+        sha1 = "d096f926a3ded5600f3fdfd91198cb0888c2d863";
+      };
+    };
+    "is-glob-3.1.0" = {
+      name = "is-glob";
+      packageName = "is-glob";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz";
+        sha1 = "7ba5ae24217804ac70707b96922567486cc3e84a";
+      };
+    };
+    "is-glob-4.0.1" = {
+      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-gzip-1.0.0" = {
+      name = "is-gzip";
+      packageName = "is-gzip";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-gzip/-/is-gzip-1.0.0.tgz";
+        sha1 = "6ca8b07b99c77998025900e555ced8ed80879a83";
+      };
+    };
+    "is-natural-number-2.1.1" = {
+      name = "is-natural-number";
+      packageName = "is-natural-number";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-natural-number/-/is-natural-number-2.1.1.tgz";
+        sha1 = "7d4c5728377ef386c3e194a9911bf57c6dc335e7";
+      };
+    };
+    "is-natural-number-4.0.1" = {
+      name = "is-natural-number";
+      packageName = "is-natural-number";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz";
+        sha1 = "ab9d76e1db4ced51e35de0c72ebecf09f734cde8";
+      };
+    };
+    "is-negated-glob-1.0.0" = {
+      name = "is-negated-glob";
+      packageName = "is-negated-glob";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz";
+        sha1 = "6910bca5da8c95e784b5751b976cf5a10fee36d2";
+      };
+    };
+    "is-number-2.1.0" = {
+      name = "is-number";
+      packageName = "is-number";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz";
+        sha1 = "01fcbbb393463a548f2f466cce16dece49db908f";
+      };
+    };
+    "is-number-3.0.0" = {
+      name = "is-number";
+      packageName = "is-number";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz";
+        sha1 = "24fd6201a4782cf50561c810276afc7d12d71195";
+      };
+    };
+    "is-number-4.0.0" = {
+      name = "is-number";
+      packageName = "is-number";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz";
+        sha512 = "rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==";
+      };
+    };
+    "is-number-7.0.0" = {
+      name = "is-number";
+      packageName = "is-number";
+      version = "7.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz";
+        sha512 = "41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==";
+      };
+    };
+    "is-object-1.0.2" = {
+      name = "is-object";
+      packageName = "is-object";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz";
+        sha512 = "2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==";
+      };
+    };
+    "is-plain-obj-2.1.0" = {
+      name = "is-plain-obj";
+      packageName = "is-plain-obj";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz";
+        sha512 = "YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==";
+      };
+    };
+    "is-plain-object-2.0.4" = {
+      name = "is-plain-object";
+      packageName = "is-plain-object";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz";
+        sha512 = "h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==";
+      };
+    };
+    "is-plain-object-5.0.0" = {
+      name = "is-plain-object";
+      packageName = "is-plain-object";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz";
+        sha512 = "VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==";
+      };
+    };
+    "is-posix-bracket-0.1.1" = {
+      name = "is-posix-bracket";
+      packageName = "is-posix-bracket";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz";
+        sha1 = "3334dc79774368e92f016e6fbc0a88f5cd6e6bc4";
+      };
+    };
+    "is-primitive-2.0.0" = {
+      name = "is-primitive";
+      packageName = "is-primitive";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz";
+        sha1 = "207bab91638499c07b2adf240a41a87210034575";
+      };
+    };
+    "is-promise-2.2.2" = {
+      name = "is-promise";
+      packageName = "is-promise";
+      version = "2.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz";
+        sha512 = "+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==";
+      };
+    };
+    "is-redirect-1.0.0" = {
+      name = "is-redirect";
+      packageName = "is-redirect";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz";
+        sha1 = "1d03dded53bd8db0f30c26e4f95d36fc7c87dc24";
+      };
+    };
+    "is-relative-0.1.3" = {
+      name = "is-relative";
+      packageName = "is-relative";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-relative/-/is-relative-0.1.3.tgz";
+        sha1 = "905fee8ae86f45b3ec614bc3c15c869df0876e82";
+      };
+    };
+    "is-relative-1.0.0" = {
+      name = "is-relative";
+      packageName = "is-relative";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz";
+        sha512 = "Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==";
+      };
+    };
+    "is-retry-allowed-1.2.0" = {
+      name = "is-retry-allowed";
+      packageName = "is-retry-allowed";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz";
+        sha512 = "RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==";
+      };
+    };
+    "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-tar-1.0.0" = {
+      name = "is-tar";
+      packageName = "is-tar";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-tar/-/is-tar-1.0.0.tgz";
+        sha1 = "2f6b2e1792c1f5bb36519acaa9d65c0d26fe853d";
+      };
+    };
+    "is-typedarray-1.0.0" = {
+      name = "is-typedarray";
+      packageName = "is-typedarray";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz";
+        sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a";
+      };
+    };
+    "is-unc-path-1.0.0" = {
+      name = "is-unc-path";
+      packageName = "is-unc-path";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz";
+        sha512 = "mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==";
+      };
+    };
+    "is-utf8-0.2.1" = {
+      name = "is-utf8";
+      packageName = "is-utf8";
+      version = "0.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz";
+        sha1 = "4b0da1442104d1b336340e80797e865cf39f7d72";
+      };
+    };
+    "is-valid-glob-0.3.0" = {
+      name = "is-valid-glob";
+      packageName = "is-valid-glob";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-0.3.0.tgz";
+        sha1 = "d4b55c69f51886f9b65c70d6c2622d37e29f48fe";
+      };
+    };
+    "is-valid-glob-1.0.0" = {
+      name = "is-valid-glob";
+      packageName = "is-valid-glob";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz";
+        sha1 = "29bf3eff701be2d4d315dbacc39bc39fe8f601aa";
+      };
+    };
+    "is-windows-1.0.2" = {
+      name = "is-windows";
+      packageName = "is-windows";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz";
+        sha512 = "eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==";
+      };
+    };
+    "is-zip-1.0.0" = {
+      name = "is-zip";
+      packageName = "is-zip";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-zip/-/is-zip-1.0.0.tgz";
+        sha1 = "47b0a8ff4d38a76431ccfd99a8e15a4c86ba2325";
+      };
+    };
+    "isarray-0.0.1" = {
+      name = "isarray";
+      packageName = "isarray";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz";
+        sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf";
+      };
+    };
+    "isarray-1.0.0" = {
+      name = "isarray";
+      packageName = "isarray";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz";
+        sha1 = "bb935d48582cba168c06834957a54a3e07124f11";
+      };
+    };
+    "isexe-2.0.0" = {
+      name = "isexe";
+      packageName = "isexe";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz";
+        sha1 = "e8fbf374dc556ff8947a10dcb0572d633f2cfa10";
+      };
+    };
+    "isobject-2.1.0" = {
+      name = "isobject";
+      packageName = "isobject";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz";
+        sha1 = "f065561096a3f1da2ef46272f815c840d87e0c89";
+      };
+    };
+    "isobject-3.0.1" = {
+      name = "isobject";
+      packageName = "isobject";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz";
+        sha1 = "4e431e92b11a9731636aa1f9c8d1ccbcfdab78df";
+      };
+    };
+    "isstream-0.1.2" = {
+      name = "isstream";
+      packageName = "isstream";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz";
+        sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a";
+      };
+    };
+    "isurl-1.0.0" = {
+      name = "isurl";
+      packageName = "isurl";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz";
+        sha512 = "1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==";
+      };
+    };
+    "js-tokens-4.0.0" = {
+      name = "js-tokens";
+      packageName = "js-tokens";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz";
+        sha512 = "RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==";
+      };
+    };
+    "js-yaml-3.14.1" = {
+      name = "js-yaml";
+      packageName = "js-yaml";
+      version = "3.14.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz";
+        sha512 = "okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==";
+      };
+    };
+    "js-yaml-4.0.0" = {
+      name = "js-yaml";
+      packageName = "js-yaml";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz";
+        sha512 = "pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==";
+      };
+    };
+    "jsbn-0.1.1" = {
+      name = "jsbn";
+      packageName = "jsbn";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz";
+        sha1 = "a5e654c2e5a2deb5f201d96cefbca80c0ef2f513";
+      };
+    };
+    "json-10.0.0" = {
+      name = "json";
+      packageName = "json";
+      version = "10.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json/-/json-10.0.0.tgz";
+        sha512 = "iK7tAZtpoghibjdB1ncCWykeBMmke3JThUe+rnkD4qkZaglOIQ70Pw7r5UJ4lyUT+7gnw7ehmmLUHDuhqzQD+g==";
+      };
+    };
+    "json-schema-0.2.3" = {
+      name = "json-schema";
+      packageName = "json-schema";
+      version = "0.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz";
+        sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13";
+      };
+    };
+    "json-schema-traverse-0.4.1" = {
+      name = "json-schema-traverse";
+      packageName = "json-schema-traverse";
+      version = "0.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz";
+        sha512 = "xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==";
+      };
+    };
+    "json-stable-stringify-without-jsonify-1.0.1" = {
+      name = "json-stable-stringify-without-jsonify";
+      packageName = "json-stable-stringify-without-jsonify";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz";
+        sha1 = "9db7b59496ad3f3cfef30a75142d2d930ad72651";
+      };
+    };
+    "json-stringify-safe-5.0.1" = {
+      name = "json-stringify-safe";
+      packageName = "json-stringify-safe";
+      version = "5.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz";
+        sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
+      };
+    };
+    "jsonfile-4.0.0" = {
+      name = "jsonfile";
+      packageName = "jsonfile";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz";
+        sha1 = "8771aae0799b64076b76640fca058f9c10e33ecb";
+      };
+    };
+    "jsprim-1.4.1" = {
+      name = "jsprim";
+      packageName = "jsprim";
+      version = "1.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz";
+        sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2";
+      };
+    };
+    "jszip-3.7.1" = {
+      name = "jszip";
+      packageName = "jszip";
+      version = "3.7.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jszip/-/jszip-3.7.1.tgz";
+        sha512 = "ghL0tz1XG9ZEmRMcEN2vt7xabrDdqHHeykgARpmZ0BiIctWxM47Vt63ZO2dnp4QYt/xJVLLy5Zv1l/xRdh2byg==";
+      };
+    };
+    "just-debounce-1.1.0" = {
+      name = "just-debounce";
+      packageName = "just-debounce";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/just-debounce/-/just-debounce-1.1.0.tgz";
+        sha512 = "qpcRocdkUmf+UTNBYx5w6dexX5J31AKK1OmPwH630a83DdVVUIngk55RSAiIGpQyoH0dlr872VHfPjnQnK1qDQ==";
+      };
+    };
+    "kind-of-3.2.2" = {
+      name = "kind-of";
+      packageName = "kind-of";
+      version = "3.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz";
+        sha1 = "31ea21a734bab9bbb0f32466d893aea51e4a3c64";
+      };
+    };
+    "kind-of-4.0.0" = {
+      name = "kind-of";
+      packageName = "kind-of";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz";
+        sha1 = "20813df3d712928b207378691a45066fae72dd57";
+      };
+    };
+    "kind-of-5.1.0" = {
+      name = "kind-of";
+      packageName = "kind-of";
+      version = "5.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz";
+        sha512 = "NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==";
+      };
+    };
+    "kind-of-6.0.3" = {
+      name = "kind-of";
+      packageName = "kind-of";
+      version = "6.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz";
+        sha512 = "dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==";
+      };
+    };
+    "last-run-1.1.1" = {
+      name = "last-run";
+      packageName = "last-run";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/last-run/-/last-run-1.1.1.tgz";
+        sha1 = "45b96942c17b1c79c772198259ba943bebf8ca5b";
+      };
+    };
+    "lazystream-1.0.0" = {
+      name = "lazystream";
+      packageName = "lazystream";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz";
+        sha1 = "f6995fe0f820392f61396be89462407bb77168e4";
+      };
+    };
+    "lcid-1.0.0" = {
+      name = "lcid";
+      packageName = "lcid";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz";
+        sha1 = "308accafa0bc483a3867b4b6f2b9506251d1b835";
+      };
+    };
+    "lead-1.0.0" = {
+      name = "lead";
+      packageName = "lead";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz";
+        sha1 = "6f14f99a37be3a9dd784f5495690e5903466ee42";
+      };
+    };
+    "levn-0.3.0" = {
+      name = "levn";
+      packageName = "levn";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz";
+        sha1 = "3b09924edf9f083c0490fdd4c0bc4421e04764ee";
+      };
+    };
+    "lie-3.3.0" = {
+      name = "lie";
+      packageName = "lie";
+      version = "3.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz";
+        sha512 = "UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==";
+      };
+    };
+    "liftoff-3.1.0" = {
+      name = "liftoff";
+      packageName = "liftoff";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/liftoff/-/liftoff-3.1.0.tgz";
+        sha512 = "DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog==";
+      };
+    };
+    "load-json-file-1.1.0" = {
+      name = "load-json-file";
+      packageName = "load-json-file";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz";
+        sha1 = "956905708d58b4bab4c2261b04f59f31c99374c0";
+      };
+    };
+    "locate-path-6.0.0" = {
+      name = "locate-path";
+      packageName = "locate-path";
+      version = "6.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz";
+        sha512 = "iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==";
+      };
+    };
+    "lodash-4.17.21" = {
+      name = "lodash";
+      packageName = "lodash";
+      version = "4.17.21";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz";
+        sha512 = "v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==";
+      };
+    };
+    "lodash.isequal-4.5.0" = {
+      name = "lodash.isequal";
+      packageName = "lodash.isequal";
+      version = "4.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz";
+        sha1 = "415c4478f2bcc30120c22ce10ed3226f7d3e18e0";
+      };
+    };
+    "log-symbols-4.0.0" = {
+      name = "log-symbols";
+      packageName = "log-symbols";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz";
+        sha512 = "FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==";
+      };
+    };
+    "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==";
+      };
+    };
+    "lru-queue-0.1.0" = {
+      name = "lru-queue";
+      packageName = "lru-queue";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz";
+        sha1 = "2738bd9f0d3cf4f84490c5736c48699ac632cda3";
+      };
+    };
+    "make-dir-1.3.0" = {
+      name = "make-dir";
+      packageName = "make-dir";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz";
+        sha512 = "2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==";
+      };
+    };
+    "make-iterator-1.0.1" = {
+      name = "make-iterator";
+      packageName = "make-iterator";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz";
+        sha512 = "pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==";
+      };
+    };
+    "map-cache-0.2.2" = {
+      name = "map-cache";
+      packageName = "map-cache";
+      version = "0.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz";
+        sha1 = "c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf";
+      };
+    };
+    "map-visit-1.0.0" = {
+      name = "map-visit";
+      packageName = "map-visit";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz";
+        sha1 = "ecdca8f13144e660f1b5bd41f12f3479d98dfb8f";
+      };
+    };
+    "matchdep-2.0.0" = {
+      name = "matchdep";
+      packageName = "matchdep";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/matchdep/-/matchdep-2.0.0.tgz";
+        sha1 = "c6f34834a0d8dbc3b37c27ee8bbcb27c7775582e";
+      };
+    };
+    "math-random-1.0.4" = {
+      name = "math-random";
+      packageName = "math-random";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz";
+        sha512 = "rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==";
+      };
+    };
+    "memoizee-0.4.15" = {
+      name = "memoizee";
+      packageName = "memoizee";
+      version = "0.4.15";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz";
+        sha512 = "UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==";
+      };
+    };
+    "merge-1.2.1" = {
+      name = "merge";
+      packageName = "merge";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz";
+        sha512 = "VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ==";
+      };
+    };
+    "merge-stream-1.0.1" = {
+      name = "merge-stream";
+      packageName = "merge-stream";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz";
+        sha1 = "4041202d508a342ba00174008df0c251b8c135e1";
+      };
+    };
+    "micromatch-2.3.11" = {
+      name = "micromatch";
+      packageName = "micromatch";
+      version = "2.3.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz";
+        sha1 = "86677c97d1720b363431d04d0d15293bd38c1565";
+      };
+    };
+    "micromatch-3.1.10" = {
+      name = "micromatch";
+      packageName = "micromatch";
+      version = "3.1.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz";
+        sha512 = "MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==";
+      };
+    };
+    "mime-db-1.49.0" = {
+      name = "mime-db";
+      packageName = "mime-db";
+      version = "1.49.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz";
+        sha512 = "CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==";
+      };
+    };
+    "mime-types-2.1.32" = {
+      name = "mime-types";
+      packageName = "mime-types";
+      version = "2.1.32";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz";
+        sha512 = "hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==";
+      };
+    };
+    "mimic-fn-2.1.0" = {
+      name = "mimic-fn";
+      packageName = "mimic-fn";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz";
+        sha512 = "OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==";
+      };
+    };
+    "minimatch-3.0.4" = {
+      name = "minimatch";
+      packageName = "minimatch";
+      version = "3.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz";
+        sha512 = "yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==";
+      };
+    };
+    "minimist-1.2.5" = {
+      name = "minimist";
+      packageName = "minimist";
+      version = "1.2.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz";
+        sha512 = "FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==";
+      };
+    };
+    "mixin-deep-1.3.2" = {
+      name = "mixin-deep";
+      packageName = "mixin-deep";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz";
+        sha512 = "WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==";
+      };
+    };
+    "mkdirp-0.5.5" = {
+      name = "mkdirp";
+      packageName = "mkdirp";
+      version = "0.5.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz";
+        sha512 = "NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==";
+      };
+    };
+    "mkpath-0.1.0" = {
+      name = "mkpath";
+      packageName = "mkpath";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mkpath/-/mkpath-0.1.0.tgz";
+        sha1 = "7554a6f8d871834cc97b5462b122c4c124d6de91";
+      };
+    };
+    "mocha-8.4.0" = {
+      name = "mocha";
+      packageName = "mocha";
+      version = "8.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mocha/-/mocha-8.4.0.tgz";
+        sha512 = "hJaO0mwDXmZS4ghXsvPVriOhsxQ7ofcpQdm8dE+jISUOKopitvnXFQmpRR7jd2K6VBG6E26gU3IAbXXGIbu4sQ==";
+      };
+    };
+    "ms-2.0.0" = {
+      name = "ms";
+      packageName = "ms";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz";
+        sha1 = "5608aeadfc00be6c2901df5f9861788de0d597c8";
+      };
+    };
+    "ms-2.1.2" = {
+      name = "ms";
+      packageName = "ms";
+      version = "2.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz";
+        sha512 = "sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==";
+      };
+    };
+    "ms-2.1.3" = {
+      name = "ms";
+      packageName = "ms";
+      version = "2.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz";
+        sha512 = "6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==";
+      };
+    };
+    "multimeter-0.1.1" = {
+      name = "multimeter";
+      packageName = "multimeter";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/multimeter/-/multimeter-0.1.1.tgz";
+        sha1 = "f856c80fc3cf0f1d4ad8eb36ad68735e3ed5b3ea";
+      };
+    };
+    "mute-stdout-1.0.1" = {
+      name = "mute-stdout";
+      packageName = "mute-stdout";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.1.tgz";
+        sha512 = "kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg==";
+      };
+    };
+    "mute-stream-0.0.8" = {
+      name = "mute-stream";
+      packageName = "mute-stream";
+      version = "0.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz";
+        sha512 = "nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==";
+      };
+    };
+    "nan-2.15.0" = {
+      name = "nan";
+      packageName = "nan";
+      version = "2.15.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz";
+        sha512 = "8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==";
+      };
+    };
+    "nanoid-3.1.20" = {
+      name = "nanoid";
+      packageName = "nanoid";
+      version = "3.1.20";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz";
+        sha512 = "a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==";
+      };
+    };
+    "nanomatch-1.2.13" = {
+      name = "nanomatch";
+      packageName = "nanomatch";
+      version = "1.2.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz";
+        sha512 = "fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==";
+      };
+    };
+    "natural-compare-1.4.0" = {
+      name = "natural-compare";
+      packageName = "natural-compare";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz";
+        sha1 = "4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7";
+      };
+    };
+    "next-tick-1.0.0" = {
+      name = "next-tick";
+      packageName = "next-tick";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz";
+        sha1 = "ca86d1fe8828169b0120208e3dc8424b9db8342c";
+      };
+    };
+    "next-tick-1.1.0" = {
+      name = "next-tick";
+      packageName = "next-tick";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz";
+        sha512 = "CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==";
+      };
+    };
+    "nice-try-1.0.5" = {
+      name = "nice-try";
+      packageName = "nice-try";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz";
+        sha512 = "1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==";
+      };
+    };
+    "nopt-1.0.10" = {
+      name = "nopt";
+      packageName = "nopt";
+      version = "1.0.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz";
+        sha1 = "6ddd21bd2a31417b92727dd585f8a6f37608ebee";
+      };
+    };
+    "nopt-3.0.6" = {
+      name = "nopt";
+      packageName = "nopt";
+      version = "3.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz";
+        sha1 = "c6465dbf08abcd4db359317f79ac68a646b28ff9";
+      };
+    };
+    "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-2.1.1" = {
+      name = "normalize-path";
+      packageName = "normalize-path";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz";
+        sha1 = "1ab28b556e198363a8c1a6f7e6fa20137fe6aed9";
+      };
+    };
+    "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==";
+      };
+    };
+    "now-and-later-2.0.1" = {
+      name = "now-and-later";
+      packageName = "now-and-later";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.1.tgz";
+        sha512 = "KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ==";
+      };
+    };
+    "npm-conf-1.1.3" = {
+      name = "npm-conf";
+      packageName = "npm-conf";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz";
+        sha512 = "Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==";
+      };
+    };
+    "number-is-nan-1.0.1" = {
+      name = "number-is-nan";
+      packageName = "number-is-nan";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz";
+        sha1 = "097b602b53422a522c1afb8790318336941a011d";
+      };
+    };
+    "nw-0.36.4" = {
+      name = "nw";
+      packageName = "nw";
+      version = "0.36.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nw/-/nw-0.36.4.tgz";
+        sha512 = "/8z60bdfI4AeBAWdZxOtvVpdpxUrwcAm+1PxOAmoLnJyKG0aXQYSsX9fZPNcJvubX9hy9GkqFEEd0rXn4n/Ryg==";
+      };
+    };
+    "nw-autoupdater-1.1.11" = {
+      name = "nw-autoupdater";
+      packageName = "nw-autoupdater";
+      version = "1.1.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nw-autoupdater/-/nw-autoupdater-1.1.11.tgz";
+        sha512 = "kCDRDCRayjZSwE8VhIclUyDjkylzHz9JT2WK/45wFNcW/9y6zaR/fy+AG2V266YF4XWFEId9ZuK2M3nIBpm9iw==";
+      };
+    };
+    "nw-dev-3.0.1" = {
+      name = "nw-dev";
+      packageName = "nw-dev";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nw-dev/-/nw-dev-3.0.1.tgz";
+        sha1 = "fcae540cd00cb1f225808c2ebd96842df0b780d2";
+      };
+    };
+    "oauth-sign-0.9.0" = {
+      name = "oauth-sign";
+      packageName = "oauth-sign";
+      version = "0.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz";
+        sha512 = "fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==";
+      };
+    };
+    "object-assign-2.1.1" = {
+      name = "object-assign";
+      packageName = "object-assign";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz";
+        sha1 = "43c36e5d569ff8e4816c4efa8be02d26967c18aa";
+      };
+    };
+    "object-assign-4.1.1" = {
+      name = "object-assign";
+      packageName = "object-assign";
+      version = "4.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz";
+        sha1 = "2109adc7965887cfc05cbbd442cac8bfbb360863";
+      };
+    };
+    "object-copy-0.1.0" = {
+      name = "object-copy";
+      packageName = "object-copy";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz";
+        sha1 = "7e7d858b781bd7c991a41ba975ed3812754e998c";
+      };
+    };
+    "object-keys-1.1.1" = {
+      name = "object-keys";
+      packageName = "object-keys";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz";
+        sha512 = "NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==";
+      };
+    };
+    "object-visit-1.0.1" = {
+      name = "object-visit";
+      packageName = "object-visit";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz";
+        sha1 = "f79c4493af0c5377b59fe39d395e41042dd045bb";
+      };
+    };
+    "object.assign-4.1.2" = {
+      name = "object.assign";
+      packageName = "object.assign";
+      version = "4.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz";
+        sha512 = "ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==";
+      };
+    };
+    "object.defaults-1.1.0" = {
+      name = "object.defaults";
+      packageName = "object.defaults";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz";
+        sha1 = "3a7f868334b407dea06da16d88d5cd29e435fecf";
+      };
+    };
+    "object.map-1.0.1" = {
+      name = "object.map";
+      packageName = "object.map";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz";
+        sha1 = "cf83e59dc8fcc0ad5f4250e1f78b3b81bd801d37";
+      };
+    };
+    "object.omit-2.0.1" = {
+      name = "object.omit";
+      packageName = "object.omit";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz";
+        sha1 = "1a9c744829f39dbb858c76ca3579ae2a54ebd1fa";
+      };
+    };
+    "object.pick-1.3.0" = {
+      name = "object.pick";
+      packageName = "object.pick";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz";
+        sha1 = "87a10ac4c1694bd2e1cbf53591a66141fb5dd747";
+      };
+    };
+    "object.reduce-1.0.1" = {
+      name = "object.reduce";
+      packageName = "object.reduce";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object.reduce/-/object.reduce-1.0.1.tgz";
+        sha1 = "6fe348f2ac7fa0f95ca621226599096825bb03ad";
+      };
+    };
+    "once-1.4.0" = {
+      name = "once";
+      packageName = "once";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/once/-/once-1.4.0.tgz";
+        sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1";
+      };
+    };
+    "onetime-5.1.2" = {
+      name = "onetime";
+      packageName = "onetime";
+      version = "5.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz";
+        sha512 = "kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==";
+      };
+    };
+    "optionator-0.8.3" = {
+      name = "optionator";
+      packageName = "optionator";
+      version = "0.8.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz";
+        sha512 = "+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==";
+      };
+    };
+    "ordered-read-streams-0.3.0" = {
+      name = "ordered-read-streams";
+      packageName = "ordered-read-streams";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz";
+        sha1 = "7137e69b3298bb342247a1bbee3881c80e2fd78b";
+      };
+    };
+    "ordered-read-streams-1.0.1" = {
+      name = "ordered-read-streams";
+      packageName = "ordered-read-streams";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz";
+        sha1 = "77c0cb37c41525d64166d990ffad7ec6a0e1363e";
+      };
+    };
+    "os-locale-1.4.0" = {
+      name = "os-locale";
+      packageName = "os-locale";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz";
+        sha1 = "20f9f17ae29ed345e8bde583b13d2009803c14d9";
+      };
+    };
+    "os-tmpdir-1.0.2" = {
+      name = "os-tmpdir";
+      packageName = "os-tmpdir";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz";
+        sha1 = "bbe67406c79aa85c5cfec766fe5734555dfa1274";
+      };
+    };
+    "p-limit-3.1.0" = {
+      name = "p-limit";
+      packageName = "p-limit";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz";
+        sha512 = "TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==";
+      };
+    };
+    "p-locate-5.0.0" = {
+      name = "p-locate";
+      packageName = "p-locate";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz";
+        sha512 = "LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==";
+      };
+    };
+    "pako-1.0.11" = {
+      name = "pako";
+      packageName = "pako";
+      version = "1.0.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz";
+        sha512 = "4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==";
+      };
+    };
+    "parent-module-1.0.1" = {
+      name = "parent-module";
+      packageName = "parent-module";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz";
+        sha512 = "GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==";
+      };
+    };
+    "parse-filepath-1.0.2" = {
+      name = "parse-filepath";
+      packageName = "parse-filepath";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz";
+        sha1 = "a632127f53aaf3d15876f5872f3ffac763d6c891";
+      };
+    };
+    "parse-glob-3.0.4" = {
+      name = "parse-glob";
+      packageName = "parse-glob";
+      version = "3.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz";
+        sha1 = "b2c376cfb11f35513badd173ef0bb6e3a388391c";
+      };
+    };
+    "parse-json-2.2.0" = {
+      name = "parse-json";
+      packageName = "parse-json";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz";
+        sha1 = "f480f40434ef80741f8469099f8dea18f55a4dc9";
+      };
+    };
+    "parse-node-version-1.0.1" = {
+      name = "parse-node-version";
+      packageName = "parse-node-version";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz";
+        sha512 = "3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==";
+      };
+    };
+    "parse-passwd-1.0.0" = {
+      name = "parse-passwd";
+      packageName = "parse-passwd";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz";
+        sha1 = "6d5b934a456993b23d37f40a382d6f1666a8e5c6";
+      };
+    };
+    "pascalcase-0.1.1" = {
+      name = "pascalcase";
+      packageName = "pascalcase";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz";
+        sha1 = "b363e55e8006ca6fe21784d2db22bd15d7917f14";
+      };
+    };
+    "path-dirname-1.0.2" = {
+      name = "path-dirname";
+      packageName = "path-dirname";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz";
+        sha1 = "cc33d24d525e099a5388c0336c6e32b9160609e0";
+      };
+    };
+    "path-exists-2.1.0" = {
+      name = "path-exists";
+      packageName = "path-exists";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz";
+        sha1 = "0feb6c64f0fc518d9a754dd5efb62c7022761f4b";
+      };
+    };
+    "path-exists-4.0.0" = {
+      name = "path-exists";
+      packageName = "path-exists";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz";
+        sha512 = "ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==";
+      };
+    };
+    "path-is-absolute-1.0.1" = {
+      name = "path-is-absolute";
+      packageName = "path-is-absolute";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz";
+        sha1 = "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f";
+      };
+    };
+    "path-key-2.0.1" = {
+      name = "path-key";
+      packageName = "path-key";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz";
+        sha1 = "411cadb574c5a140d3a4b1910d40d80cc9f40b40";
+      };
+    };
+    "path-parse-1.0.7" = {
+      name = "path-parse";
+      packageName = "path-parse";
+      version = "1.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz";
+        sha512 = "LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==";
+      };
+    };
+    "path-root-0.1.1" = {
+      name = "path-root";
+      packageName = "path-root";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz";
+        sha1 = "9a4a6814cac1c0cd73360a95f32083c8ea4745b7";
+      };
+    };
+    "path-root-regex-0.1.2" = {
+      name = "path-root-regex";
+      packageName = "path-root-regex";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz";
+        sha1 = "bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d";
+      };
+    };
+    "path-type-1.1.0" = {
+      name = "path-type";
+      packageName = "path-type";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz";
+        sha1 = "59c44f7ee491da704da415da5a4070ba4f8fe441";
+      };
+    };
+    "pathval-1.1.1" = {
+      name = "pathval";
+      packageName = "pathval";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz";
+        sha512 = "Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==";
+      };
+    };
+    "pend-1.2.0" = {
+      name = "pend";
+      packageName = "pend";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz";
+        sha1 = "7a57eb550a6783f9115331fcf4663d5c8e007a50";
+      };
+    };
+    "performance-now-2.1.0" = {
+      name = "performance-now";
+      packageName = "performance-now";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz";
+        sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b";
+      };
+    };
+    "picomatch-2.3.0" = {
+      name = "picomatch";
+      packageName = "picomatch";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz";
+        sha512 = "lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==";
+      };
+    };
+    "pify-2.3.0" = {
+      name = "pify";
+      packageName = "pify";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz";
+        sha1 = "ed141a6ac043a849ea588498e7dca8b15330e90c";
+      };
+    };
+    "pify-3.0.0" = {
+      name = "pify";
+      packageName = "pify";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz";
+        sha1 = "e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176";
+      };
+    };
+    "pinkie-2.0.4" = {
+      name = "pinkie";
+      packageName = "pinkie";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz";
+        sha1 = "72556b80cfa0d48a974e80e77248e80ed4f7f870";
+      };
+    };
+    "pinkie-promise-2.0.1" = {
+      name = "pinkie-promise";
+      packageName = "pinkie-promise";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz";
+        sha1 = "2135d6dfa7a358c069ac9b178776288228450ffa";
+      };
+    };
+    "posix-character-classes-0.1.1" = {
+      name = "posix-character-classes";
+      packageName = "posix-character-classes";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz";
+        sha1 = "01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab";
+      };
+    };
+    "prelude-ls-1.1.2" = {
+      name = "prelude-ls";
+      packageName = "prelude-ls";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz";
+        sha1 = "21932a549f5e52ffd9a827f570e04be62a97da54";
+      };
+    };
+    "prepend-http-1.0.4" = {
+      name = "prepend-http";
+      packageName = "prepend-http";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz";
+        sha1 = "d4f4562b0ce3696e41ac52d0e002e57a635dc6dc";
+      };
+    };
+    "preserve-0.2.0" = {
+      name = "preserve";
+      packageName = "preserve";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz";
+        sha1 = "815ed1f6ebc65926f865b310c0713bcb3315ce4b";
+      };
+    };
+    "pretty-hrtime-1.0.3" = {
+      name = "pretty-hrtime";
+      packageName = "pretty-hrtime";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz";
+        sha1 = "b7e3ea42435a4c9b2759d99e0f201eb195802ee1";
+      };
+    };
+    "process-nextick-args-2.0.1" = {
+      name = "process-nextick-args";
+      packageName = "process-nextick-args";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz";
+        sha512 = "3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==";
+      };
+    };
+    "progress-2.0.3" = {
+      name = "progress";
+      packageName = "progress";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz";
+        sha512 = "7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==";
+      };
+    };
+    "proto-list-1.2.4" = {
+      name = "proto-list";
+      packageName = "proto-list";
+      version = "1.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz";
+        sha1 = "212d5bfe1318306a420f6402b8e26ff39647a849";
+      };
+    };
+    "psl-1.8.0" = {
+      name = "psl";
+      packageName = "psl";
+      version = "1.8.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz";
+        sha512 = "RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==";
+      };
+    };
+    "pump-2.0.1" = {
+      name = "pump";
+      packageName = "pump";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz";
+        sha512 = "ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==";
+      };
+    };
+    "pumpify-1.5.1" = {
+      name = "pumpify";
+      packageName = "pumpify";
+      version = "1.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz";
+        sha512 = "oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==";
+      };
+    };
+    "punycode-2.1.1" = {
+      name = "punycode";
+      packageName = "punycode";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz";
+        sha512 = "XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==";
+      };
+    };
+    "q-1.5.1" = {
+      name = "q";
+      packageName = "q";
+      version = "1.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/q/-/q-1.5.1.tgz";
+        sha1 = "7e32f75b41381291d04611f1bf14109ac00651d7";
+      };
+    };
+    "qs-6.5.2" = {
+      name = "qs";
+      packageName = "qs";
+      version = "6.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz";
+        sha512 = "N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==";
+      };
+    };
+    "randomatic-3.1.1" = {
+      name = "randomatic";
+      packageName = "randomatic";
+      version = "3.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz";
+        sha512 = "TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==";
+      };
+    };
+    "randombytes-2.1.0" = {
+      name = "randombytes";
+      packageName = "randombytes";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz";
+        sha512 = "vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==";
+      };
+    };
+    "read-all-stream-3.1.0" = {
+      name = "read-all-stream";
+      packageName = "read-all-stream";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/read-all-stream/-/read-all-stream-3.1.0.tgz";
+        sha1 = "35c3e177f2078ef789ee4bfafa4373074eaef4fa";
+      };
+    };
+    "read-pkg-1.1.0" = {
+      name = "read-pkg";
+      packageName = "read-pkg";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz";
+        sha1 = "f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28";
+      };
+    };
+    "read-pkg-up-1.0.1" = {
+      name = "read-pkg-up";
+      packageName = "read-pkg-up";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz";
+        sha1 = "9d63c13276c065918d57f002a57f40a1b643fb02";
+      };
+    };
+    "readable-stream-1.0.34" = {
+      name = "readable-stream";
+      packageName = "readable-stream";
+      version = "1.0.34";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz";
+        sha1 = "125820e34bc842d2f2aaafafe4c2916ee32c157c";
+      };
+    };
+    "readable-stream-1.1.14" = {
+      name = "readable-stream";
+      packageName = "readable-stream";
+      version = "1.1.14";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz";
+        sha1 = "7cf4c54ef648e3813084c636dd2079e166c081d9";
+      };
+    };
+    "readable-stream-2.3.7" = {
+      name = "readable-stream";
+      packageName = "readable-stream";
+      version = "2.3.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz";
+        sha512 = "Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==";
+      };
+    };
+    "readdirp-2.2.1" = {
+      name = "readdirp";
+      packageName = "readdirp";
+      version = "2.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz";
+        sha512 = "1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==";
+      };
+    };
+    "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==";
+      };
+    };
+    "rechoir-0.6.2" = {
+      name = "rechoir";
+      packageName = "rechoir";
+      version = "0.6.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz";
+        sha1 = "85204b54dba82d5742e28c96756ef43af50e3384";
+      };
+    };
+    "regex-cache-0.4.4" = {
+      name = "regex-cache";
+      packageName = "regex-cache";
+      version = "0.4.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz";
+        sha512 = "nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==";
+      };
+    };
+    "regex-not-1.0.2" = {
+      name = "regex-not";
+      packageName = "regex-not";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz";
+        sha512 = "J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==";
+      };
+    };
+    "regexpp-2.0.1" = {
+      name = "regexpp";
+      packageName = "regexpp";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz";
+        sha512 = "lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==";
+      };
+    };
+    "remove-bom-buffer-3.0.0" = {
+      name = "remove-bom-buffer";
+      packageName = "remove-bom-buffer";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz";
+        sha512 = "8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==";
+      };
+    };
+    "remove-bom-stream-1.2.0" = {
+      name = "remove-bom-stream";
+      packageName = "remove-bom-stream";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz";
+        sha1 = "05f1a593f16e42e1fb90ebf59de8e569525f9523";
+      };
+    };
+    "remove-trailing-separator-1.1.0" = {
+      name = "remove-trailing-separator";
+      packageName = "remove-trailing-separator";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz";
+        sha1 = "c24bce2a283adad5bc3f58e0d48249b92379d8ef";
+      };
+    };
+    "repeat-element-1.1.4" = {
+      name = "repeat-element";
+      packageName = "repeat-element";
+      version = "1.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz";
+        sha512 = "LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==";
+      };
+    };
+    "repeat-string-1.6.1" = {
+      name = "repeat-string";
+      packageName = "repeat-string";
+      version = "1.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz";
+        sha1 = "8dcae470e1c88abc2d600fff4a776286da75e637";
+      };
+    };
+    "replace-ext-0.0.1" = {
+      name = "replace-ext";
+      packageName = "replace-ext";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz";
+        sha1 = "29bbd92078a739f0bcce2b4ee41e837953522924";
+      };
+    };
+    "replace-ext-1.0.1" = {
+      name = "replace-ext";
+      packageName = "replace-ext";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz";
+        sha512 = "yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==";
+      };
+    };
+    "replace-homedir-1.0.0" = {
+      name = "replace-homedir";
+      packageName = "replace-homedir";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/replace-homedir/-/replace-homedir-1.0.0.tgz";
+        sha1 = "e87f6d513b928dde808260c12be7fec6ff6e798c";
+      };
+    };
+    "request-2.88.2" = {
+      name = "request";
+      packageName = "request";
+      version = "2.88.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/request/-/request-2.88.2.tgz";
+        sha512 = "MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==";
+      };
+    };
+    "require-directory-2.1.1" = {
+      name = "require-directory";
+      packageName = "require-directory";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz";
+        sha1 = "8c64ad5fd30dab1c976e2344ffe7f792a6a6df42";
+      };
+    };
+    "require-main-filename-1.0.1" = {
+      name = "require-main-filename";
+      packageName = "require-main-filename";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz";
+        sha1 = "97f717b69d48784f5f526a6c5aa8ffdda055a4d1";
+      };
+    };
+    "resolve-1.20.0" = {
+      name = "resolve";
+      packageName = "resolve";
+      version = "1.20.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz";
+        sha512 = "wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==";
+      };
+    };
+    "resolve-dir-1.0.1" = {
+      name = "resolve-dir";
+      packageName = "resolve-dir";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz";
+        sha1 = "79a40644c362be82f26effe739c9bb5382046f43";
+      };
+    };
+    "resolve-from-4.0.0" = {
+      name = "resolve-from";
+      packageName = "resolve-from";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz";
+        sha512 = "pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==";
+      };
+    };
+    "resolve-options-1.1.0" = {
+      name = "resolve-options";
+      packageName = "resolve-options";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz";
+        sha1 = "32bb9e39c06d67338dc9378c0d6d6074566ad131";
+      };
+    };
+    "resolve-url-0.2.1" = {
+      name = "resolve-url";
+      packageName = "resolve-url";
+      version = "0.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz";
+        sha1 = "2c637fe77c893afd2a663fe21aa9080068e2052a";
+      };
+    };
+    "restore-cursor-3.1.0" = {
+      name = "restore-cursor";
+      packageName = "restore-cursor";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz";
+        sha512 = "l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==";
+      };
+    };
+    "ret-0.1.15" = {
+      name = "ret";
+      packageName = "ret";
+      version = "0.1.15";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz";
+        sha512 = "TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==";
+      };
+    };
+    "rimraf-2.6.3" = {
+      name = "rimraf";
+      packageName = "rimraf";
+      version = "2.6.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz";
+        sha512 = "mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==";
+      };
+    };
+    "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==";
+      };
+    };
+    "run-async-2.4.1" = {
+      name = "run-async";
+      packageName = "run-async";
+      version = "2.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz";
+        sha512 = "tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==";
+      };
+    };
+    "rxjs-6.6.7" = {
+      name = "rxjs";
+      packageName = "rxjs";
+      version = "6.6.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz";
+        sha512 = "hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==";
+      };
+    };
+    "safe-buffer-5.1.2" = {
+      name = "safe-buffer";
+      packageName = "safe-buffer";
+      version = "5.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz";
+        sha512 = "Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==";
+      };
+    };
+    "safe-regex-1.1.0" = {
+      name = "safe-regex";
+      packageName = "safe-regex";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz";
+        sha1 = "40a3669f3b077d1e943d44629e157dd48023bf2e";
+      };
+    };
+    "safer-buffer-2.1.2" = {
+      name = "safer-buffer";
+      packageName = "safer-buffer";
+      version = "2.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz";
+        sha512 = "YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==";
+      };
+    };
+    "sax-1.2.4" = {
+      name = "sax";
+      packageName = "sax";
+      version = "1.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz";
+        sha512 = "NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==";
+      };
+    };
+    "seek-bzip-1.0.6" = {
+      name = "seek-bzip";
+      packageName = "seek-bzip";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz";
+        sha512 = "e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==";
+      };
+    };
+    "selenium-webdriver-3.6.0" = {
+      name = "selenium-webdriver";
+      packageName = "selenium-webdriver";
+      version = "3.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-3.6.0.tgz";
+        sha512 = "WH7Aldse+2P5bbFBO4Gle/nuQOdVwpHMTL6raL3uuBj/vPG07k6uzt3aiahu352ONBr5xXh0hDlM3LhtXPOC4Q==";
+      };
+    };
+    "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-6.3.0" = {
+      name = "semver";
+      packageName = "semver";
+      version = "6.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz";
+        sha512 = "b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==";
+      };
+    };
+    "semver-greatest-satisfied-range-1.1.0" = {
+      name = "semver-greatest-satisfied-range";
+      packageName = "semver-greatest-satisfied-range";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz";
+        sha1 = "13e8c2658ab9691cb0cd71093240280d36f77a5b";
+      };
+    };
+    "serialize-javascript-5.0.1" = {
+      name = "serialize-javascript";
+      packageName = "serialize-javascript";
+      version = "5.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz";
+        sha512 = "SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==";
+      };
+    };
+    "set-blocking-2.0.0" = {
+      name = "set-blocking";
+      packageName = "set-blocking";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz";
+        sha1 = "045f9782d011ae9a6803ddd382b24392b3d890f7";
+      };
+    };
+    "set-immediate-shim-1.0.1" = {
+      name = "set-immediate-shim";
+      packageName = "set-immediate-shim";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz";
+        sha1 = "4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61";
+      };
+    };
+    "set-value-2.0.1" = {
+      name = "set-value";
+      packageName = "set-value";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz";
+        sha512 = "JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==";
+      };
+    };
+    "shebang-command-1.2.0" = {
+      name = "shebang-command";
+      packageName = "shebang-command";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz";
+        sha1 = "44aac65b695b03398968c39f363fee5deafdf1ea";
+      };
+    };
+    "shebang-regex-1.0.0" = {
+      name = "shebang-regex";
+      packageName = "shebang-regex";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz";
+        sha1 = "da42f49740c0b42db2ca9728571cb190c98efea3";
+      };
+    };
+    "signal-exit-3.0.3" = {
+      name = "signal-exit";
+      packageName = "signal-exit";
+      version = "3.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz";
+        sha512 = "VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==";
+      };
+    };
+    "slice-ansi-2.1.0" = {
+      name = "slice-ansi";
+      packageName = "slice-ansi";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz";
+        sha512 = "Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==";
+      };
+    };
+    "snapdragon-0.8.2" = {
+      name = "snapdragon";
+      packageName = "snapdragon";
+      version = "0.8.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz";
+        sha512 = "FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==";
+      };
+    };
+    "snapdragon-node-2.1.1" = {
+      name = "snapdragon-node";
+      packageName = "snapdragon-node";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz";
+        sha512 = "O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==";
+      };
+    };
+    "snapdragon-util-3.0.1" = {
+      name = "snapdragon-util";
+      packageName = "snapdragon-util";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz";
+        sha512 = "mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==";
+      };
+    };
+    "source-map-0.5.7" = {
+      name = "source-map";
+      packageName = "source-map";
+      version = "0.5.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz";
+        sha1 = "8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc";
+      };
+    };
+    "source-map-0.6.1" = {
+      name = "source-map";
+      packageName = "source-map";
+      version = "0.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz";
+        sha512 = "UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==";
+      };
+    };
+    "source-map-resolve-0.5.3" = {
+      name = "source-map-resolve";
+      packageName = "source-map-resolve";
+      version = "0.5.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz";
+        sha512 = "Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==";
+      };
+    };
+    "source-map-url-0.4.1" = {
+      name = "source-map-url";
+      packageName = "source-map-url";
+      version = "0.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz";
+        sha512 = "cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==";
+      };
+    };
+    "sparkles-1.0.1" = {
+      name = "sparkles";
+      packageName = "sparkles";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz";
+        sha512 = "dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==";
+      };
+    };
+    "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.10" = {
+      name = "spdx-license-ids";
+      packageName = "spdx-license-ids";
+      version = "3.0.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.10.tgz";
+        sha512 = "oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA==";
+      };
+    };
+    "split-string-3.1.0" = {
+      name = "split-string";
+      packageName = "split-string";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz";
+        sha512 = "NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==";
+      };
+    };
+    "sprintf-js-1.0.3" = {
+      name = "sprintf-js";
+      packageName = "sprintf-js";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz";
+        sha1 = "04e6926f662895354f3dd015203633b857297e2c";
+      };
+    };
+    "sshpk-1.16.1" = {
+      name = "sshpk";
+      packageName = "sshpk";
+      version = "1.16.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz";
+        sha512 = "HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==";
+      };
+    };
+    "stack-trace-0.0.10" = {
+      name = "stack-trace";
+      packageName = "stack-trace";
+      version = "0.0.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz";
+        sha1 = "547c70b347e8d32b4e108ea1a2a159e5fdde19c0";
+      };
+    };
+    "stat-mode-0.2.2" = {
+      name = "stat-mode";
+      packageName = "stat-mode";
+      version = "0.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stat-mode/-/stat-mode-0.2.2.tgz";
+        sha1 = "e6c80b623123d7d80cf132ce538f346289072502";
+      };
+    };
+    "static-extend-0.1.2" = {
+      name = "static-extend";
+      packageName = "static-extend";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz";
+        sha1 = "60809c39cbff55337226fd5e0b520f341f1fb5c6";
+      };
+    };
+    "stream-combiner2-1.1.1" = {
+      name = "stream-combiner2";
+      packageName = "stream-combiner2";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz";
+        sha1 = "fb4d8a1420ea362764e21ad4780397bebcb41cbe";
+      };
+    };
+    "stream-exhaust-1.0.2" = {
+      name = "stream-exhaust";
+      packageName = "stream-exhaust";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz";
+        sha512 = "b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==";
+      };
+    };
+    "stream-shift-1.0.1" = {
+      name = "stream-shift";
+      packageName = "stream-shift";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz";
+        sha512 = "AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==";
+      };
+    };
+    "string-width-1.0.2" = {
+      name = "string-width";
+      packageName = "string-width";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz";
+        sha1 = "118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3";
+      };
+    };
+    "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_decoder-0.10.31" = {
+      name = "string_decoder";
+      packageName = "string_decoder";
+      version = "0.10.31";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz";
+        sha1 = "62e203bc41766c6c28c9fc84301dab1c5310fa94";
+      };
+    };
+    "string_decoder-1.1.1" = {
+      name = "string_decoder";
+      packageName = "string_decoder";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz";
+        sha512 = "n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==";
+      };
+    };
+    "strip-ansi-3.0.1" = {
+      name = "strip-ansi";
+      packageName = "strip-ansi";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz";
+        sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf";
+      };
+    };
+    "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-bom-2.0.0" = {
+      name = "strip-bom";
+      packageName = "strip-bom";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz";
+        sha1 = "6219a85616520491f35788bdbf1447a99c7e6b0e";
+      };
+    };
+    "strip-bom-stream-1.0.0" = {
+      name = "strip-bom-stream";
+      packageName = "strip-bom-stream";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz";
+        sha1 = "e7144398577d51a6bed0fa1994fa05f43fd988ee";
+      };
+    };
+    "strip-bom-string-1.0.0" = {
+      name = "strip-bom-string";
+      packageName = "strip-bom-string";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz";
+        sha1 = "e5211e9224369fbb81d633a2f00044dc8cedad92";
+      };
+    };
+    "strip-dirs-1.1.1" = {
+      name = "strip-dirs";
+      packageName = "strip-dirs";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-dirs/-/strip-dirs-1.1.1.tgz";
+        sha1 = "960bbd1287844f3975a4558aa103a8255e2456a0";
+      };
+    };
+    "strip-dirs-2.1.0" = {
+      name = "strip-dirs";
+      packageName = "strip-dirs";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz";
+        sha512 = "JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==";
+      };
+    };
+    "strip-json-comments-3.1.1" = {
+      name = "strip-json-comments";
+      packageName = "strip-json-comments";
+      version = "3.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz";
+        sha512 = "6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==";
+      };
+    };
+    "strip-outer-1.0.1" = {
+      name = "strip-outer";
+      packageName = "strip-outer";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz";
+        sha512 = "k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==";
+      };
+    };
+    "sum-up-1.0.3" = {
+      name = "sum-up";
+      packageName = "sum-up";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sum-up/-/sum-up-1.0.3.tgz";
+        sha1 = "1c661f667057f63bcb7875aa1438bc162525156e";
+      };
+    };
+    "supports-color-2.0.0" = {
+      name = "supports-color";
+      packageName = "supports-color";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz";
+        sha1 = "535d045ce6b6363fa40117084629995e9df324c7";
+      };
+    };
+    "supports-color-5.5.0" = {
+      name = "supports-color";
+      packageName = "supports-color";
+      version = "5.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz";
+        sha512 = "QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==";
+      };
+    };
+    "supports-color-7.2.0" = {
+      name = "supports-color";
+      packageName = "supports-color";
+      version = "7.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz";
+        sha512 = "qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==";
+      };
+    };
+    "supports-color-8.1.1" = {
+      name = "supports-color";
+      packageName = "supports-color";
+      version = "8.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz";
+        sha512 = "MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==";
+      };
+    };
+    "sver-compat-1.5.0" = {
+      name = "sver-compat";
+      packageName = "sver-compat";
+      version = "1.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sver-compat/-/sver-compat-1.5.0.tgz";
+        sha1 = "3cf87dfeb4d07b4a3f14827bc186b3fd0c645cd8";
+      };
+    };
+    "table-5.4.6" = {
+      name = "table";
+      packageName = "table";
+      version = "5.4.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/table/-/table-5.4.6.tgz";
+        sha512 = "wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==";
+      };
+    };
+    "tar-stream-1.6.2" = {
+      name = "tar-stream";
+      packageName = "tar-stream";
+      version = "1.6.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz";
+        sha512 = "rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==";
+      };
+    };
+    "text-table-0.2.0" = {
+      name = "text-table";
+      packageName = "text-table";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz";
+        sha1 = "7f5ee823ae805207c00af2df4a84ec3fcfa570b4";
+      };
+    };
+    "through-2.3.8" = {
+      name = "through";
+      packageName = "through";
+      version = "2.3.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/through/-/through-2.3.8.tgz";
+        sha1 = "0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5";
+      };
+    };
+    "through2-0.6.5" = {
+      name = "through2";
+      packageName = "through2";
+      version = "0.6.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz";
+        sha1 = "41ab9c67b29d57209071410e1d7a7a968cd3ad48";
+      };
+    };
+    "through2-2.0.5" = {
+      name = "through2";
+      packageName = "through2";
+      version = "2.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz";
+        sha512 = "/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==";
+      };
+    };
+    "through2-filter-2.0.0" = {
+      name = "through2-filter";
+      packageName = "through2-filter";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz";
+        sha1 = "60bc55a0dacb76085db1f9dae99ab43f83d622ec";
+      };
+    };
+    "through2-filter-3.0.0" = {
+      name = "through2-filter";
+      packageName = "through2-filter";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz";
+        sha512 = "jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==";
+      };
+    };
+    "time-stamp-1.1.0" = {
+      name = "time-stamp";
+      packageName = "time-stamp";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz";
+        sha1 = "764a5a11af50561921b133f3b44e618687e0f5c3";
+      };
+    };
+    "timed-out-4.0.1" = {
+      name = "timed-out";
+      packageName = "timed-out";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz";
+        sha1 = "f32eacac5a175bea25d7fab565ab3ed8741ef56f";
+      };
+    };
+    "timers-ext-0.1.7" = {
+      name = "timers-ext";
+      packageName = "timers-ext";
+      version = "0.1.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz";
+        sha512 = "b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==";
+      };
+    };
+    "tmp-0.0.30" = {
+      name = "tmp";
+      packageName = "tmp";
+      version = "0.0.30";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tmp/-/tmp-0.0.30.tgz";
+        sha1 = "72419d4a8be7d6ce75148fd8b324e593a711c2ed";
+      };
+    };
+    "tmp-0.0.33" = {
+      name = "tmp";
+      packageName = "tmp";
+      version = "0.0.33";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz";
+        sha512 = "jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==";
+      };
+    };
+    "to-absolute-glob-0.1.1" = {
+      name = "to-absolute-glob";
+      packageName = "to-absolute-glob";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz";
+        sha1 = "1cdfa472a9ef50c239ee66999b662ca0eb39937f";
+      };
+    };
+    "to-absolute-glob-2.0.2" = {
+      name = "to-absolute-glob";
+      packageName = "to-absolute-glob";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz";
+        sha1 = "1865f43d9e74b0822db9f145b78cff7d0f7c849b";
+      };
+    };
+    "to-buffer-1.1.1" = {
+      name = "to-buffer";
+      packageName = "to-buffer";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz";
+        sha512 = "lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==";
+      };
+    };
+    "to-object-path-0.3.0" = {
+      name = "to-object-path";
+      packageName = "to-object-path";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz";
+        sha1 = "297588b7b0e7e0ac08e04e672f85c1f4999e17af";
+      };
+    };
+    "to-regex-3.0.2" = {
+      name = "to-regex";
+      packageName = "to-regex";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz";
+        sha512 = "FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==";
+      };
+    };
+    "to-regex-range-2.1.1" = {
+      name = "to-regex-range";
+      packageName = "to-regex-range";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz";
+        sha1 = "7c80c17b9dfebe599e27367e0d4dd5590141db38";
+      };
+    };
+    "to-regex-range-5.0.1" = {
+      name = "to-regex-range";
+      packageName = "to-regex-range";
+      version = "5.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz";
+        sha512 = "65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==";
+      };
+    };
+    "to-through-2.0.0" = {
+      name = "to-through";
+      packageName = "to-through";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz";
+        sha1 = "fc92adaba072647bc0b67d6b03664aa195093af6";
+      };
+    };
+    "touch-0.0.3" = {
+      name = "touch";
+      packageName = "touch";
+      version = "0.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/touch/-/touch-0.0.3.tgz";
+        sha1 = "51aef3d449571d4f287a5d87c9c8b49181a0db1d";
+      };
+    };
+    "tough-cookie-2.5.0" = {
+      name = "tough-cookie";
+      packageName = "tough-cookie";
+      version = "2.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz";
+        sha512 = "nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==";
+      };
+    };
+    "traverse-0.3.9" = {
+      name = "traverse";
+      packageName = "traverse";
+      version = "0.3.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz";
+        sha1 = "717b8f220cc0bb7b44e40514c22b2e8bbc70d8b9";
+      };
+    };
+    "tree-kill-1.2.2" = {
+      name = "tree-kill";
+      packageName = "tree-kill";
+      version = "1.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz";
+        sha512 = "L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==";
+      };
+    };
+    "trim-repeated-1.0.0" = {
+      name = "trim-repeated";
+      packageName = "trim-repeated";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz";
+        sha1 = "e3646a2ea4e891312bf7eace6cfb05380bc01c21";
+      };
+    };
+    "tslib-1.14.1" = {
+      name = "tslib";
+      packageName = "tslib";
+      version = "1.14.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz";
+        sha512 = "Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==";
+      };
+    };
+    "tunnel-agent-0.6.0" = {
+      name = "tunnel-agent";
+      packageName = "tunnel-agent";
+      version = "0.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz";
+        sha1 = "27a5dea06b36b04a0a9966774b290868f0fc40fd";
+      };
+    };
+    "tweetnacl-0.14.5" = {
+      name = "tweetnacl";
+      packageName = "tweetnacl";
+      version = "0.14.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz";
+        sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64";
+      };
+    };
+    "type-1.2.0" = {
+      name = "type";
+      packageName = "type";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/type/-/type-1.2.0.tgz";
+        sha512 = "+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==";
+      };
+    };
+    "type-2.5.0" = {
+      name = "type";
+      packageName = "type";
+      version = "2.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/type/-/type-2.5.0.tgz";
+        sha512 = "180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==";
+      };
+    };
+    "type-check-0.3.2" = {
+      name = "type-check";
+      packageName = "type-check";
+      version = "0.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz";
+        sha1 = "5884cab512cf1d355e3fb784f30804b2b520db72";
+      };
+    };
+    "type-detect-4.0.8" = {
+      name = "type-detect";
+      packageName = "type-detect";
+      version = "4.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz";
+        sha512 = "0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==";
+      };
+    };
+    "type-fest-0.21.3" = {
+      name = "type-fest";
+      packageName = "type-fest";
+      version = "0.21.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz";
+        sha512 = "t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==";
+      };
+    };
+    "type-fest-0.8.1" = {
+      name = "type-fest";
+      packageName = "type-fest";
+      version = "0.8.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz";
+        sha512 = "4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==";
+      };
+    };
+    "typedarray-0.0.6" = {
+      name = "typedarray";
+      packageName = "typedarray";
+      version = "0.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz";
+        sha1 = "867ac74e3864187b1d3d47d996a78ec5c8830777";
+      };
+    };
+    "unbzip2-stream-1.4.3" = {
+      name = "unbzip2-stream";
+      packageName = "unbzip2-stream";
+      version = "1.4.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz";
+        sha512 = "mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==";
+      };
+    };
+    "unc-path-regex-0.1.2" = {
+      name = "unc-path-regex";
+      packageName = "unc-path-regex";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz";
+        sha1 = "e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa";
+      };
+    };
+    "undertaker-1.3.0" = {
+      name = "undertaker";
+      packageName = "undertaker";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/undertaker/-/undertaker-1.3.0.tgz";
+        sha512 = "/RXwi5m/Mu3H6IHQGww3GNt1PNXlbeCuclF2QYR14L/2CHPz3DFZkvB5hZ0N/QUkiXWCACML2jXViIQEQc2MLg==";
+      };
+    };
+    "undertaker-registry-1.0.1" = {
+      name = "undertaker-registry";
+      packageName = "undertaker-registry";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-1.0.1.tgz";
+        sha1 = "5e4bda308e4a8a2ae584f9b9a4359a499825cc50";
+      };
+    };
+    "union-value-1.0.1" = {
+      name = "union-value";
+      packageName = "union-value";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz";
+        sha512 = "tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==";
+      };
+    };
+    "unique-stream-2.3.1" = {
+      name = "unique-stream";
+      packageName = "unique-stream";
+      version = "2.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz";
+        sha512 = "2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==";
+      };
+    };
+    "universalify-0.1.2" = {
+      name = "universalify";
+      packageName = "universalify";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz";
+        sha512 = "rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==";
+      };
+    };
+    "unset-value-1.0.0" = {
+      name = "unset-value";
+      packageName = "unset-value";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz";
+        sha1 = "8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559";
+      };
+    };
+    "untildify-3.0.3" = {
+      name = "untildify";
+      packageName = "untildify";
+      version = "3.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/untildify/-/untildify-3.0.3.tgz";
+        sha512 = "iSk/J8efr8uPT/Z4eSUywnqyrQU7DSdMfdqK4iWEaUVVmcP5JcnpRqmVMwcwcnmI1ATFNgC5V90u09tBynNFKA==";
+      };
+    };
+    "unzip-response-2.0.1" = {
+      name = "unzip-response";
+      packageName = "unzip-response";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz";
+        sha1 = "d2f0f737d16b0615e72a6935ed04214572d56f97";
+      };
+    };
+    "upath-1.2.0" = {
+      name = "upath";
+      packageName = "upath";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz";
+        sha512 = "aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==";
+      };
+    };
+    "uri-js-4.4.1" = {
+      name = "uri-js";
+      packageName = "uri-js";
+      version = "4.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz";
+        sha512 = "7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==";
+      };
+    };
+    "urix-0.1.0" = {
+      name = "urix";
+      packageName = "urix";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz";
+        sha1 = "da937f7a62e21fec1fd18d49b35c2935067a6c72";
+      };
+    };
+    "url-parse-lax-1.0.0" = {
+      name = "url-parse-lax";
+      packageName = "url-parse-lax";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz";
+        sha1 = "7af8f303645e9bd79a272e7a14ac68bc0609da73";
+      };
+    };
+    "url-to-options-1.0.1" = {
+      name = "url-to-options";
+      packageName = "url-to-options";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz";
+        sha1 = "1505a03a289a48cbd7a434efbaeec5055f5633a9";
+      };
+    };
+    "use-3.1.1" = {
+      name = "use";
+      packageName = "use";
+      version = "3.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/use/-/use-3.1.1.tgz";
+        sha512 = "cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==";
+      };
+    };
+    "util-deprecate-1.0.2" = {
+      name = "util-deprecate";
+      packageName = "util-deprecate";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz";
+        sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf";
+      };
+    };
+    "uuid-2.0.3" = {
+      name = "uuid";
+      packageName = "uuid";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz";
+        sha1 = "67e2e863797215530dff318e5bf9dcebfd47b21a";
+      };
+    };
+    "uuid-3.4.0" = {
+      name = "uuid";
+      packageName = "uuid";
+      version = "3.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz";
+        sha512 = "HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==";
+      };
+    };
+    "v8-compile-cache-2.3.0" = {
+      name = "v8-compile-cache";
+      packageName = "v8-compile-cache";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz";
+        sha512 = "l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==";
+      };
+    };
+    "v8flags-3.2.0" = {
+      name = "v8flags";
+      packageName = "v8flags";
+      version = "3.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz";
+        sha512 = "mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==";
+      };
+    };
+    "vali-date-1.0.0" = {
+      name = "vali-date";
+      packageName = "vali-date";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vali-date/-/vali-date-1.0.0.tgz";
+        sha1 = "1b904a59609fb328ef078138420934f6b86709a6";
+      };
+    };
+    "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==";
+      };
+    };
+    "value-or-function-3.0.0" = {
+      name = "value-or-function";
+      packageName = "value-or-function";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz";
+        sha1 = "1c243a50b595c1be54a754bfece8563b9ff8d813";
+      };
+    };
+    "verror-1.10.0" = {
+      name = "verror";
+      packageName = "verror";
+      version = "1.10.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz";
+        sha1 = "3a105ca17053af55d6e270c1f8288682e18da400";
+      };
+    };
+    "vinyl-0.4.6" = {
+      name = "vinyl";
+      packageName = "vinyl";
+      version = "0.4.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz";
+        sha1 = "2f356c87a550a255461f36bbeb2a5ba8bf784847";
+      };
+    };
+    "vinyl-1.2.0" = {
+      name = "vinyl";
+      packageName = "vinyl";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz";
+        sha1 = "5c88036cf565e5df05558bfc911f8656df218884";
+      };
+    };
+    "vinyl-2.2.1" = {
+      name = "vinyl";
+      packageName = "vinyl";
+      version = "2.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz";
+        sha512 = "LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==";
+      };
+    };
+    "vinyl-assign-1.2.1" = {
+      name = "vinyl-assign";
+      packageName = "vinyl-assign";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vinyl-assign/-/vinyl-assign-1.2.1.tgz";
+        sha1 = "4d198891b5515911d771a8cd9c5480a46a074a45";
+      };
+    };
+    "vinyl-fs-2.4.4" = {
+      name = "vinyl-fs";
+      packageName = "vinyl-fs";
+      version = "2.4.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-2.4.4.tgz";
+        sha1 = "be6ff3270cb55dfd7d3063640de81f25d7532239";
+      };
+    };
+    "vinyl-fs-3.0.3" = {
+      name = "vinyl-fs";
+      packageName = "vinyl-fs";
+      version = "3.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.3.tgz";
+        sha512 = "vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng==";
+      };
+    };
+    "vinyl-sourcemap-1.1.0" = {
+      name = "vinyl-sourcemap";
+      packageName = "vinyl-sourcemap";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz";
+        sha1 = "92a800593a38703a8cdb11d8b300ad4be63b3e16";
+      };
+    };
+    "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";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/which/-/which-2.0.2.tgz";
+        sha512 = "BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==";
+      };
+    };
+    "which-module-1.0.0" = {
+      name = "which-module";
+      packageName = "which-module";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz";
+        sha1 = "bba63ca861948994ff307736089e3b96026c2a4f";
+      };
+    };
+    "wide-align-1.1.3" = {
+      name = "wide-align";
+      packageName = "wide-align";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz";
+        sha512 = "QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==";
+      };
+    };
+    "window-size-0.1.4" = {
+      name = "window-size";
+      packageName = "window-size";
+      version = "0.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz";
+        sha1 = "f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876";
+      };
+    };
+    "winreg-1.2.4" = {
+      name = "winreg";
+      packageName = "winreg";
+      version = "1.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/winreg/-/winreg-1.2.4.tgz";
+        sha1 = "ba065629b7a925130e15779108cf540990e98d1b";
+      };
+    };
+    "word-wrap-1.2.3" = {
+      name = "word-wrap";
+      packageName = "word-wrap";
+      version = "1.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz";
+        sha512 = "Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==";
+      };
+    };
+    "workerpool-6.1.0" = {
+      name = "workerpool";
+      packageName = "workerpool";
+      version = "6.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/workerpool/-/workerpool-6.1.0.tgz";
+        sha512 = "toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg==";
+      };
+    };
+    "wrap-ansi-2.1.0" = {
+      name = "wrap-ansi";
+      packageName = "wrap-ansi";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz";
+        sha1 = "d8fc3d284dd05794fe84973caecdd1cf824fdd85";
+      };
+    };
+    "wrap-ansi-7.0.0" = {
+      name = "wrap-ansi";
+      packageName = "wrap-ansi";
+      version = "7.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz";
+        sha512 = "YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==";
+      };
+    };
+    "wrappy-1.0.2" = {
+      name = "wrappy";
+      packageName = "wrappy";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz";
+        sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
+      };
+    };
+    "write-1.0.3" = {
+      name = "write";
+      packageName = "write";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/write/-/write-1.0.3.tgz";
+        sha512 = "/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==";
+      };
+    };
+    "xml2js-0.4.23" = {
+      name = "xml2js";
+      packageName = "xml2js";
+      version = "0.4.23";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz";
+        sha512 = "ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==";
+      };
+    };
+    "xmlbuilder-11.0.1" = {
+      name = "xmlbuilder";
+      packageName = "xmlbuilder";
+      version = "11.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz";
+        sha512 = "fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==";
+      };
+    };
+    "xtend-4.0.2" = {
+      name = "xtend";
+      packageName = "xtend";
+      version = "4.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz";
+        sha512 = "LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==";
+      };
+    };
+    "y18n-3.2.2" = {
+      name = "y18n";
+      packageName = "y18n";
+      version = "3.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz";
+        sha512 = "uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==";
+      };
+    };
+    "y18n-5.0.8" = {
+      name = "y18n";
+      packageName = "y18n";
+      version = "5.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz";
+        sha512 = "0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==";
+      };
+    };
+    "yargs-16.2.0" = {
+      name = "yargs";
+      packageName = "yargs";
+      version = "16.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz";
+        sha512 = "D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==";
+      };
+    };
+    "yargs-3.32.0" = {
+      name = "yargs";
+      packageName = "yargs";
+      version = "3.32.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz";
+        sha1 = "03088e9ebf9e756b69751611d2a5ef591482c995";
+      };
+    };
+    "yargs-7.1.2" = {
+      name = "yargs";
+      packageName = "yargs";
+      version = "7.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs/-/yargs-7.1.2.tgz";
+        sha512 = "ZEjj/dQYQy0Zx0lgLMLR8QuaqTihnxirir7EwUHp1Axq4e3+k8jXU5K0VLbNvedv1f4EWtBonDIZm0NUr+jCcA==";
+      };
+    };
+    "yargs-parser-20.2.4" = {
+      name = "yargs-parser";
+      packageName = "yargs-parser";
+      version = "20.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz";
+        sha512 = "WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==";
+      };
+    };
+    "yargs-parser-20.2.9" = {
+      name = "yargs-parser";
+      packageName = "yargs-parser";
+      version = "20.2.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz";
+        sha512 = "y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==";
+      };
+    };
+    "yargs-parser-5.0.1" = {
+      name = "yargs-parser";
+      packageName = "yargs-parser";
+      version = "5.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.1.tgz";
+        sha512 = "wpav5XYiddjXxirPoCTUPbqM0PXvJ9hiBMvuJgInvo4/lAOTZzUprArw17q2O1P2+GHhbBr18/iQwjL5Z9BqfA==";
+      };
+    };
+    "yargs-unparser-2.0.0" = {
+      name = "yargs-unparser";
+      packageName = "yargs-unparser";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz";
+        sha512 = "7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==";
+      };
+    };
+    "yauzl-2.10.0" = {
+      name = "yauzl";
+      packageName = "yauzl";
+      version = "2.10.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz";
+        sha1 = "c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9";
+      };
+    };
+    "yocto-queue-0.1.0" = {
+      name = "yocto-queue";
+      packageName = "yocto-queue";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz";
+        sha512 = "rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==";
+      };
+    };
+  };
+in
+{
+  "onlykey-git://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";
+      rev = "0bd08ef5828d9493cd4c5f4909e9a4fc4c59a494";
+      sha256 = "d2386369fd9d9b7d5ea5d389434848c33fa34e26d713d439e8e2f2e447237bb0";
+    };
+    dependencies = [
+      sources."@babel/code-frame-7.14.5"
+      sources."@babel/helper-validator-identifier-7.14.9"
+      (sources."@babel/highlight-7.14.5" // {
+        dependencies = [
+          sources."ansi-styles-3.2.1"
+          sources."chalk-2.4.2"
+          sources."supports-color-5.5.0"
+        ];
+      })
+      (sources."@gulp-sourcemaps/identity-map-1.0.2" // {
+        dependencies = [
+          sources."acorn-5.7.4"
+          sources."source-map-0.6.1"
+          sources."through2-2.0.5"
+        ];
+      })
+      (sources."@gulp-sourcemaps/map-sources-1.0.0" // {
+        dependencies = [
+          sources."through2-2.0.5"
+        ];
+      })
+      sources."@ungap/promise-all-settled-1.1.2"
+      sources."abbrev-1.1.1"
+      sources."acorn-7.4.1"
+      sources."acorn-jsx-5.3.2"
+      sources."ajv-6.12.6"
+      sources."ansi-colors-1.1.0"
+      (sources."ansi-escapes-4.3.2" // {
+        dependencies = [
+          sources."type-fest-0.21.3"
+        ];
+      })
+      sources."ansi-gray-0.1.1"
+      sources."ansi-regex-2.1.1"
+      sources."ansi-styles-2.2.1"
+      sources."ansi-wrap-0.1.0"
+      (sources."anymatch-2.0.0" // {
+        dependencies = [
+          sources."arr-diff-4.0.0"
+          sources."array-unique-0.3.2"
+          (sources."braces-2.3.2" // {
+            dependencies = [
+              sources."extend-shallow-2.0.1"
+            ];
+          })
+          sources."debug-2.6.9"
+          (sources."expand-brackets-2.1.4" // {
+            dependencies = [
+              sources."define-property-0.2.5"
+              sources."extend-shallow-2.0.1"
+              sources."is-extendable-0.1.1"
+            ];
+          })
+          sources."extend-shallow-3.0.2"
+          (sources."extglob-2.0.4" // {
+            dependencies = [
+              sources."define-property-1.0.0"
+              sources."extend-shallow-2.0.1"
+              sources."is-extendable-0.1.1"
+            ];
+          })
+          (sources."fill-range-4.0.0" // {
+            dependencies = [
+              sources."extend-shallow-2.0.1"
+            ];
+          })
+          (sources."is-accessor-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          (sources."is-data-descriptor-0.1.4" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          (sources."is-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-5.1.0"
+            ];
+          })
+          sources."is-extendable-1.0.1"
+          (sources."is-number-3.0.0" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."isobject-3.0.1"
+          sources."kind-of-6.0.3"
+          sources."micromatch-3.1.10"
+          sources."ms-2.0.0"
+        ];
+      })
+      sources."append-buffer-1.0.2"
+      sources."applescript-1.0.0"
+      sources."archy-1.0.0"
+      sources."argparse-1.0.10"
+      sources."arr-diff-2.0.0"
+      sources."arr-filter-1.1.2"
+      sources."arr-flatten-1.1.0"
+      sources."arr-map-2.0.2"
+      sources."arr-union-3.1.0"
+      sources."array-each-1.0.1"
+      (sources."array-initial-1.1.0" // {
+        dependencies = [
+          sources."is-number-4.0.0"
+        ];
+      })
+      (sources."array-last-1.3.0" // {
+        dependencies = [
+          sources."is-number-4.0.0"
+        ];
+      })
+      sources."array-slice-1.1.0"
+      (sources."array-sort-1.0.0" // {
+        dependencies = [
+          sources."kind-of-5.1.0"
+        ];
+      })
+      sources."array-unique-0.2.1"
+      sources."asn1-0.2.4"
+      sources."assert-plus-1.0.0"
+      sources."assertion-error-1.1.0"
+      sources."assign-symbols-1.0.0"
+      sources."astral-regex-1.0.0"
+      sources."async-done-1.3.2"
+      sources."async-each-1.0.3"
+      sources."async-settle-1.0.0"
+      sources."asynckit-0.4.0"
+      sources."atob-2.1.2"
+      sources."auto-launch-5.0.5"
+      sources."aws-sign2-0.7.0"
+      sources."aws4-1.11.0"
+      sources."bach-1.2.0"
+      sources."balanced-match-1.0.2"
+      (sources."base-0.11.2" // {
+        dependencies = [
+          sources."define-property-1.0.0"
+          sources."isobject-3.0.1"
+        ];
+      })
+      sources."base64-js-1.5.1"
+      sources."bcrypt-pbkdf-1.0.2"
+      sources."binary-0.3.0"
+      sources."binary-extensions-1.13.1"
+      sources."bindings-1.5.0"
+      sources."bl-1.2.3"
+      sources."brace-expansion-1.1.11"
+      sources."braces-1.8.5"
+      sources."browser-stdout-1.3.1"
+      sources."buffer-5.7.1"
+      sources."buffer-alloc-1.2.0"
+      sources."buffer-alloc-unsafe-1.1.0"
+      sources."buffer-crc32-0.2.13"
+      sources."buffer-equal-1.0.0"
+      sources."buffer-fill-1.0.0"
+      sources."buffer-from-1.1.2"
+      sources."buffer-to-vinyl-1.1.0"
+      sources."buffers-0.1.1"
+      (sources."cache-base-1.0.1" // {
+        dependencies = [
+          sources."isobject-3.0.1"
+        ];
+      })
+      sources."call-bind-1.0.2"
+      sources."callsites-3.1.0"
+      sources."camelcase-2.1.1"
+      sources."capture-stack-trace-1.0.1"
+      sources."caseless-0.12.0"
+      sources."caw-2.0.1"
+      sources."chai-4.3.4"
+      sources."chai-as-promised-7.1.1"
+      sources."chainsaw-0.1.0"
+      sources."chalk-1.1.3"
+      sources."chardet-0.7.0"
+      sources."charm-0.1.2"
+      sources."check-error-1.0.2"
+      (sources."chokidar-2.1.8" // {
+        dependencies = [
+          sources."array-unique-0.3.2"
+          sources."braces-2.3.2"
+          sources."fill-range-4.0.0"
+          sources."is-glob-4.0.1"
+          sources."is-number-3.0.0"
+          sources."isobject-3.0.1"
+          sources."normalize-path-3.0.0"
+        ];
+      })
+      (sources."class-utils-0.3.6" // {
+        dependencies = [
+          sources."define-property-0.2.5"
+          (sources."is-accessor-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          (sources."is-data-descriptor-0.1.4" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."is-descriptor-0.1.6"
+          sources."isobject-3.0.1"
+          sources."kind-of-5.1.0"
+        ];
+      })
+      sources."cli-cursor-3.1.0"
+      sources."cli-width-3.0.0"
+      sources."cliui-3.2.0"
+      sources."clone-1.0.4"
+      sources."clone-buffer-1.0.0"
+      sources."clone-stats-0.0.1"
+      sources."cloneable-readable-1.1.3"
+      sources."code-point-at-1.1.0"
+      (sources."collection-map-1.0.0" // {
+        dependencies = [
+          sources."for-own-1.0.0"
+        ];
+      })
+      sources."collection-visit-1.0.0"
+      sources."color-convert-1.9.3"
+      sources."color-name-1.1.3"
+      sources."color-support-1.1.3"
+      sources."combined-stream-1.0.8"
+      sources."commander-2.20.3"
+      sources."component-emitter-1.3.0"
+      sources."concat-map-0.0.1"
+      sources."concat-stream-1.6.2"
+      sources."config-chain-1.1.13"
+      sources."convert-source-map-1.8.0"
+      sources."copy-descriptor-0.1.1"
+      (sources."copy-props-2.0.5" // {
+        dependencies = [
+          sources."is-plain-object-5.0.0"
+        ];
+      })
+      sources."core-util-is-1.0.2"
+      sources."create-error-class-3.0.2"
+      sources."cross-spawn-6.0.5"
+      (sources."css-2.2.4" // {
+        dependencies = [
+          sources."source-map-0.6.1"
+        ];
+      })
+      sources."d-1.0.1"
+      sources."dashdash-1.14.1"
+      sources."debounce-1.2.1"
+      sources."debug-4.3.2"
+      (sources."debug-fabulous-1.1.0" // {
+        dependencies = [
+          sources."debug-3.2.7"
+          sources."object-assign-4.1.1"
+        ];
+      })
+      sources."decamelize-1.2.0"
+      sources."decode-uri-component-0.2.0"
+      sources."decompress-3.0.0"
+      (sources."decompress-tar-3.1.0" // {
+        dependencies = [
+          sources."clone-0.2.0"
+          sources."vinyl-0.4.6"
+        ];
+      })
+      (sources."decompress-tarbz2-3.1.0" // {
+        dependencies = [
+          sources."clone-0.2.0"
+          sources."vinyl-0.4.6"
+        ];
+      })
+      (sources."decompress-targz-3.1.0" // {
+        dependencies = [
+          sources."clone-0.2.0"
+          sources."vinyl-0.4.6"
+        ];
+      })
+      (sources."decompress-unzip-3.4.0" // {
+        dependencies = [
+          sources."through2-2.0.5"
+        ];
+      })
+      (sources."decompress-zip-0.3.3" // {
+        dependencies = [
+          sources."isarray-0.0.1"
+          sources."readable-stream-1.1.14"
+          sources."string_decoder-0.10.31"
+        ];
+      })
+      sources."deep-eql-3.0.1"
+      sources."deep-is-0.1.3"
+      (sources."default-compare-1.0.0" // {
+        dependencies = [
+          sources."kind-of-5.1.0"
+        ];
+      })
+      sources."default-resolution-2.0.0"
+      sources."define-properties-1.1.3"
+      (sources."define-property-2.0.2" // {
+        dependencies = [
+          sources."isobject-3.0.1"
+        ];
+      })
+      sources."delayed-stream-1.0.0"
+      sources."detect-file-1.0.0"
+      sources."detect-newline-2.1.0"
+      sources."diff-5.0.0"
+      sources."doctrine-3.0.0"
+      (sources."download-5.0.3" // {
+        dependencies = [
+          sources."decompress-4.2.1"
+          sources."decompress-tar-4.1.1"
+          (sources."decompress-tarbz2-4.1.1" // {
+            dependencies = [
+              sources."file-type-6.2.0"
+            ];
+          })
+          sources."decompress-targz-4.1.1"
+          (sources."decompress-unzip-4.0.1" // {
+            dependencies = [
+              sources."file-type-3.9.0"
+              sources."get-stream-2.3.1"
+            ];
+          })
+          sources."file-type-5.2.0"
+          sources."is-natural-number-4.0.1"
+          sources."object-assign-4.1.1"
+          sources."strip-dirs-2.1.0"
+        ];
+      })
+      sources."duplexer2-0.1.4"
+      sources."duplexer3-0.1.4"
+      sources."duplexify-3.7.1"
+      sources."each-props-1.3.2"
+      sources."ecc-jsbn-0.1.2"
+      sources."emoji-regex-8.0.0"
+      sources."end-of-stream-1.4.4"
+      sources."error-ex-1.3.2"
+      sources."es5-ext-0.10.53"
+      sources."es6-iterator-2.0.3"
+      sources."es6-symbol-3.1.3"
+      sources."es6-weak-map-2.0.3"
+      sources."escalade-3.1.1"
+      sources."escape-string-regexp-1.0.5"
+      (sources."eslint-6.8.0" // {
+        dependencies = [
+          sources."ansi-regex-4.1.0"
+          sources."ansi-styles-3.2.1"
+          sources."chalk-2.4.2"
+          sources."glob-parent-5.1.2"
+          sources."is-glob-4.0.1"
+          sources."semver-6.3.0"
+          sources."strip-ansi-5.2.0"
+          sources."supports-color-5.5.0"
+        ];
+      })
+      sources."eslint-scope-5.1.1"
+      sources."eslint-utils-1.4.3"
+      sources."eslint-visitor-keys-1.3.0"
+      sources."espree-6.2.1"
+      sources."esprima-4.0.1"
+      (sources."esquery-1.4.0" // {
+        dependencies = [
+          sources."estraverse-5.2.0"
+        ];
+      })
+      (sources."esrecurse-4.3.0" // {
+        dependencies = [
+          sources."estraverse-5.2.0"
+        ];
+      })
+      sources."estraverse-4.3.0"
+      sources."esutils-2.0.3"
+      sources."event-emitter-0.3.5"
+      sources."expand-brackets-0.1.5"
+      sources."expand-range-1.8.2"
+      sources."expand-tilde-2.0.2"
+      (sources."ext-1.4.0" // {
+        dependencies = [
+          sources."type-2.5.0"
+        ];
+      })
+      sources."extend-3.0.2"
+      sources."extend-shallow-2.0.1"
+      sources."external-editor-3.1.0"
+      (sources."extglob-0.3.2" // {
+        dependencies = [
+          sources."is-extglob-1.0.0"
+        ];
+      })
+      sources."extsprintf-1.3.0"
+      sources."fancy-log-1.3.3"
+      sources."fast-deep-equal-3.1.3"
+      sources."fast-json-stable-stringify-2.1.0"
+      sources."fast-levenshtein-2.0.6"
+      sources."fd-slicer-1.1.0"
+      sources."figures-3.2.0"
+      sources."file-entry-cache-5.0.1"
+      sources."file-exists-2.0.0"
+      sources."file-type-3.9.0"
+      sources."file-uri-to-path-1.0.0"
+      sources."filename-regex-2.0.1"
+      sources."filename-reserved-regex-2.0.0"
+      sources."filenamify-2.1.0"
+      sources."fill-range-2.2.4"
+      sources."find-up-1.1.2"
+      (sources."findup-sync-3.0.0" // {
+        dependencies = [
+          sources."arr-diff-4.0.0"
+          sources."array-unique-0.3.2"
+          (sources."braces-2.3.2" // {
+            dependencies = [
+              sources."extend-shallow-2.0.1"
+            ];
+          })
+          sources."debug-2.6.9"
+          sources."define-property-1.0.0"
+          (sources."expand-brackets-2.1.4" // {
+            dependencies = [
+              sources."define-property-0.2.5"
+              sources."extend-shallow-2.0.1"
+              sources."is-extendable-0.1.1"
+            ];
+          })
+          sources."extend-shallow-3.0.2"
+          (sources."extglob-2.0.4" // {
+            dependencies = [
+              sources."extend-shallow-2.0.1"
+              sources."is-extendable-0.1.1"
+            ];
+          })
+          (sources."fill-range-4.0.0" // {
+            dependencies = [
+              sources."extend-shallow-2.0.1"
+            ];
+          })
+          (sources."is-accessor-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          (sources."is-data-descriptor-0.1.4" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          (sources."is-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-5.1.0"
+            ];
+          })
+          sources."is-extendable-1.0.1"
+          sources."is-glob-4.0.1"
+          (sources."is-number-3.0.0" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."isobject-3.0.1"
+          sources."kind-of-6.0.3"
+          sources."micromatch-3.1.10"
+          sources."ms-2.0.0"
+        ];
+      })
+      sources."fined-1.2.0"
+      sources."first-chunk-stream-1.0.0"
+      sources."flagged-respawn-1.0.1"
+      sources."flat-5.0.2"
+      (sources."flat-cache-2.0.1" // {
+        dependencies = [
+          sources."glob-7.1.7"
+          sources."rimraf-2.6.3"
+        ];
+      })
+      sources."flatted-2.0.2"
+      sources."flush-write-stream-1.1.1"
+      sources."for-in-1.0.2"
+      sources."for-own-0.1.5"
+      sources."forever-agent-0.6.1"
+      sources."form-data-2.3.3"
+      sources."fragment-cache-0.2.1"
+      sources."fs-constants-1.0.0"
+      sources."fs-extra-7.0.1"
+      sources."fs-jetpack-4.1.1"
+      (sources."fs-mkdirp-stream-1.0.0" // {
+        dependencies = [
+          sources."through2-2.0.5"
+        ];
+      })
+      sources."fs.realpath-1.0.0"
+      sources."fsevents-1.2.13"
+      sources."function-bind-1.1.1"
+      sources."functional-red-black-tree-1.0.1"
+      sources."get-caller-file-1.0.3"
+      sources."get-func-name-2.0.0"
+      sources."get-intrinsic-1.1.1"
+      sources."get-proxy-2.1.0"
+      sources."get-stdin-4.0.1"
+      sources."get-stream-3.0.0"
+      sources."get-value-2.0.6"
+      sources."getpass-0.1.7"
+      sources."glob-5.0.15"
+      (sources."glob-base-0.3.0" // {
+        dependencies = [
+          sources."glob-parent-2.0.0"
+          sources."is-extglob-1.0.0"
+          sources."is-glob-2.0.1"
+        ];
+      })
+      sources."glob-parent-3.1.0"
+      sources."glob-stream-5.3.5"
+      (sources."glob-watcher-5.0.5" // {
+        dependencies = [
+          sources."normalize-path-3.0.0"
+        ];
+      })
+      sources."global-modules-1.0.0"
+      sources."global-prefix-1.0.2"
+      sources."globals-12.4.0"
+      sources."glogg-1.0.2"
+      sources."got-6.7.1"
+      sources."graceful-fs-4.2.8"
+      sources."growl-1.10.5"
+      (sources."gulp-4.0.2" // {
+        dependencies = [
+          sources."clone-2.1.2"
+          sources."clone-stats-1.0.0"
+          sources."glob-7.1.7"
+          sources."glob-stream-6.1.0"
+          sources."is-absolute-1.0.0"
+          sources."is-relative-1.0.0"
+          sources."is-valid-glob-1.0.0"
+          sources."ordered-read-streams-1.0.1"
+          sources."replace-ext-1.0.1"
+          sources."through2-2.0.5"
+          sources."to-absolute-glob-2.0.2"
+          sources."vinyl-2.2.1"
+          sources."vinyl-fs-3.0.3"
+        ];
+      })
+      (sources."gulp-cli-2.3.0" // {
+        dependencies = [
+          sources."camelcase-3.0.0"
+          sources."isobject-3.0.1"
+          sources."yargs-7.1.2"
+        ];
+      })
+      (sources."gulp-sourcemaps-2.6.5" // {
+        dependencies = [
+          sources."acorn-5.7.4"
+          sources."source-map-0.6.1"
+          sources."through2-2.0.5"
+        ];
+      })
+      sources."gulplog-1.0.0"
+      sources."har-schema-2.0.0"
+      sources."har-validator-5.1.5"
+      sources."has-1.0.3"
+      sources."has-ansi-2.0.0"
+      sources."has-flag-3.0.0"
+      sources."has-symbol-support-x-1.4.2"
+      sources."has-symbols-1.0.2"
+      sources."has-to-string-tag-x-1.4.1"
+      (sources."has-value-1.0.0" // {
+        dependencies = [
+          sources."isobject-3.0.1"
+        ];
+      })
+      (sources."has-values-1.0.0" // {
+        dependencies = [
+          (sources."is-number-3.0.0" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."kind-of-4.0.0"
+        ];
+      })
+      sources."he-1.2.0"
+      sources."homedir-polyfill-1.0.3"
+      sources."hosted-git-info-2.8.9"
+      sources."http-signature-1.2.0"
+      sources."iconv-lite-0.4.24"
+      sources."ieee754-1.2.1"
+      sources."ignore-4.0.6"
+      sources."immediate-3.0.6"
+      sources."import-fresh-3.3.0"
+      sources."imurmurhash-0.1.4"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.4"
+      sources."ini-1.3.8"
+      (sources."inquirer-7.3.3" // {
+        dependencies = [
+          sources."ansi-regex-5.0.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."is-fullwidth-code-point-3.0.0"
+          sources."string-width-4.2.2"
+          sources."strip-ansi-6.0.0"
+          sources."supports-color-7.2.0"
+        ];
+      })
+      sources."interpret-1.4.0"
+      sources."invert-kv-1.0.0"
+      sources."is-absolute-0.1.7"
+      (sources."is-accessor-descriptor-1.0.0" // {
+        dependencies = [
+          sources."kind-of-6.0.3"
+        ];
+      })
+      sources."is-arrayish-0.2.1"
+      sources."is-binary-path-1.0.1"
+      sources."is-buffer-1.1.6"
+      sources."is-bzip2-1.0.0"
+      sources."is-core-module-2.6.0"
+      (sources."is-data-descriptor-1.0.0" // {
+        dependencies = [
+          sources."kind-of-6.0.3"
+        ];
+      })
+      (sources."is-descriptor-1.0.2" // {
+        dependencies = [
+          sources."kind-of-6.0.3"
+        ];
+      })
+      sources."is-dotfile-1.0.3"
+      sources."is-equal-shallow-0.1.3"
+      sources."is-extendable-0.1.1"
+      sources."is-extglob-2.1.1"
+      sources."is-fullwidth-code-point-1.0.0"
+      sources."is-glob-3.1.0"
+      sources."is-gzip-1.0.0"
+      sources."is-natural-number-2.1.1"
+      sources."is-negated-glob-1.0.0"
+      sources."is-number-2.1.0"
+      sources."is-object-1.0.2"
+      sources."is-plain-obj-2.1.0"
+      (sources."is-plain-object-2.0.4" // {
+        dependencies = [
+          sources."isobject-3.0.1"
+        ];
+      })
+      sources."is-posix-bracket-0.1.1"
+      sources."is-primitive-2.0.0"
+      sources."is-promise-2.2.2"
+      sources."is-redirect-1.0.0"
+      sources."is-relative-0.1.3"
+      sources."is-retry-allowed-1.2.0"
+      sources."is-stream-1.1.0"
+      sources."is-tar-1.0.0"
+      sources."is-typedarray-1.0.0"
+      sources."is-unc-path-1.0.0"
+      sources."is-utf8-0.2.1"
+      sources."is-valid-glob-0.3.0"
+      sources."is-windows-1.0.2"
+      sources."is-zip-1.0.0"
+      sources."isarray-1.0.0"
+      sources."isexe-2.0.0"
+      sources."isobject-2.1.0"
+      sources."isstream-0.1.2"
+      sources."isurl-1.0.0"
+      sources."js-tokens-4.0.0"
+      sources."js-yaml-3.14.1"
+      sources."jsbn-0.1.1"
+      sources."json-10.0.0"
+      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."jsonfile-4.0.0"
+      sources."jsprim-1.4.1"
+      sources."jszip-3.7.1"
+      sources."just-debounce-1.1.0"
+      sources."kind-of-3.2.2"
+      sources."last-run-1.1.1"
+      sources."lazystream-1.0.0"
+      sources."lcid-1.0.0"
+      sources."lead-1.0.0"
+      sources."levn-0.3.0"
+      sources."lie-3.3.0"
+      sources."liftoff-3.1.0"
+      sources."load-json-file-1.1.0"
+      sources."locate-path-6.0.0"
+      sources."lodash-4.17.21"
+      sources."lodash.isequal-4.5.0"
+      (sources."log-symbols-4.0.0" // {
+        dependencies = [
+          sources."ansi-styles-4.3.0"
+          sources."chalk-4.1.2"
+          sources."color-convert-2.0.1"
+          sources."color-name-1.1.4"
+          sources."has-flag-4.0.0"
+          sources."supports-color-7.2.0"
+        ];
+      })
+      sources."lowercase-keys-1.0.1"
+      sources."lru-queue-0.1.0"
+      (sources."make-dir-1.3.0" // {
+        dependencies = [
+          sources."pify-3.0.0"
+        ];
+      })
+      (sources."make-iterator-1.0.1" // {
+        dependencies = [
+          sources."kind-of-6.0.3"
+        ];
+      })
+      sources."map-cache-0.2.2"
+      sources."map-visit-1.0.0"
+      (sources."matchdep-2.0.0" // {
+        dependencies = [
+          sources."arr-diff-4.0.0"
+          sources."array-unique-0.3.2"
+          (sources."braces-2.3.2" // {
+            dependencies = [
+              sources."extend-shallow-2.0.1"
+            ];
+          })
+          sources."debug-2.6.9"
+          sources."define-property-1.0.0"
+          (sources."expand-brackets-2.1.4" // {
+            dependencies = [
+              sources."define-property-0.2.5"
+              sources."extend-shallow-2.0.1"
+              sources."is-extendable-0.1.1"
+            ];
+          })
+          sources."extend-shallow-3.0.2"
+          (sources."extglob-2.0.4" // {
+            dependencies = [
+              sources."extend-shallow-2.0.1"
+              sources."is-extendable-0.1.1"
+            ];
+          })
+          (sources."fill-range-4.0.0" // {
+            dependencies = [
+              sources."extend-shallow-2.0.1"
+            ];
+          })
+          sources."findup-sync-2.0.0"
+          (sources."is-accessor-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          (sources."is-data-descriptor-0.1.4" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          (sources."is-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-5.1.0"
+            ];
+          })
+          sources."is-extendable-1.0.1"
+          (sources."is-number-3.0.0" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."isobject-3.0.1"
+          sources."kind-of-6.0.3"
+          sources."micromatch-3.1.10"
+          sources."ms-2.0.0"
+        ];
+      })
+      sources."math-random-1.0.4"
+      (sources."memoizee-0.4.15" // {
+        dependencies = [
+          sources."next-tick-1.1.0"
+        ];
+      })
+      sources."merge-1.2.1"
+      sources."merge-stream-1.0.1"
+      (sources."micromatch-2.3.11" // {
+        dependencies = [
+          sources."is-extglob-1.0.0"
+          sources."is-glob-2.0.1"
+        ];
+      })
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
+      sources."mimic-fn-2.1.0"
+      sources."minimatch-3.0.4"
+      sources."minimist-1.2.5"
+      (sources."mixin-deep-1.3.2" // {
+        dependencies = [
+          sources."is-extendable-1.0.1"
+        ];
+      })
+      sources."mkdirp-0.5.5"
+      sources."mkpath-0.1.0"
+      (sources."mocha-8.4.0" // {
+        dependencies = [
+          sources."ansi-colors-4.1.1"
+          sources."anymatch-3.1.2"
+          sources."argparse-2.0.1"
+          sources."binary-extensions-2.2.0"
+          sources."braces-3.0.2"
+          sources."chokidar-3.5.1"
+          (sources."debug-4.3.1" // {
+            dependencies = [
+              sources."ms-2.1.2"
+            ];
+          })
+          sources."escape-string-regexp-4.0.0"
+          sources."fill-range-7.0.1"
+          sources."find-up-5.0.0"
+          sources."fsevents-2.3.2"
+          sources."glob-7.1.6"
+          sources."glob-parent-5.1.2"
+          sources."has-flag-4.0.0"
+          sources."is-binary-path-2.1.0"
+          sources."is-glob-4.0.1"
+          sources."is-number-7.0.0"
+          sources."js-yaml-4.0.0"
+          sources."ms-2.1.3"
+          sources."normalize-path-3.0.0"
+          sources."path-exists-4.0.0"
+          sources."readdirp-3.5.0"
+          sources."supports-color-8.1.1"
+          sources."to-regex-range-5.0.1"
+          sources."which-2.0.2"
+          sources."yargs-parser-20.2.4"
+        ];
+      })
+      sources."ms-2.1.2"
+      sources."multimeter-0.1.1"
+      sources."mute-stdout-1.0.1"
+      sources."mute-stream-0.0.8"
+      sources."nan-2.15.0"
+      sources."nanoid-3.1.20"
+      (sources."nanomatch-1.2.13" // {
+        dependencies = [
+          sources."arr-diff-4.0.0"
+          sources."array-unique-0.3.2"
+          sources."extend-shallow-3.0.2"
+          sources."is-extendable-1.0.1"
+          sources."kind-of-6.0.3"
+        ];
+      })
+      sources."natural-compare-1.4.0"
+      sources."next-tick-1.0.0"
+      sources."nice-try-1.0.5"
+      sources."nopt-3.0.6"
+      sources."normalize-package-data-2.5.0"
+      sources."normalize-path-2.1.1"
+      sources."now-and-later-2.0.1"
+      (sources."npm-conf-1.1.3" // {
+        dependencies = [
+          sources."pify-3.0.0"
+        ];
+      })
+      sources."number-is-nan-1.0.1"
+      (sources."nw-0.36.4" // {
+        dependencies = [
+          sources."yargs-3.32.0"
+        ];
+      })
+      (sources."nw-autoupdater-1.1.11" // {
+        dependencies = [
+          sources."decompress-4.2.1"
+          sources."decompress-tar-4.1.1"
+          (sources."decompress-tarbz2-4.1.1" // {
+            dependencies = [
+              sources."file-type-6.2.0"
+            ];
+          })
+          sources."decompress-targz-4.1.1"
+          (sources."decompress-unzip-4.0.1" // {
+            dependencies = [
+              sources."file-type-3.9.0"
+            ];
+          })
+          sources."file-type-5.2.0"
+          sources."get-stream-2.3.1"
+          sources."is-natural-number-4.0.1"
+          sources."object-assign-4.1.1"
+          sources."strip-dirs-2.1.0"
+        ];
+      })
+      (sources."nw-dev-3.0.1" // {
+        dependencies = [
+          sources."anymatch-1.3.2"
+          sources."chokidar-1.7.0"
+          sources."glob-parent-2.0.0"
+          sources."is-extglob-1.0.0"
+          sources."is-glob-2.0.1"
+        ];
+      })
+      sources."oauth-sign-0.9.0"
+      sources."object-assign-2.1.1"
+      (sources."object-copy-0.1.0" // {
+        dependencies = [
+          sources."define-property-0.2.5"
+          sources."is-accessor-descriptor-0.1.6"
+          sources."is-data-descriptor-0.1.4"
+          (sources."is-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-5.1.0"
+            ];
+          })
+        ];
+      })
+      sources."object-keys-1.1.1"
+      (sources."object-visit-1.0.1" // {
+        dependencies = [
+          sources."isobject-3.0.1"
+        ];
+      })
+      sources."object.assign-4.1.2"
+      (sources."object.defaults-1.1.0" // {
+        dependencies = [
+          sources."for-own-1.0.0"
+          sources."isobject-3.0.1"
+        ];
+      })
+      (sources."object.map-1.0.1" // {
+        dependencies = [
+          sources."for-own-1.0.0"
+        ];
+      })
+      sources."object.omit-2.0.1"
+      (sources."object.pick-1.3.0" // {
+        dependencies = [
+          sources."isobject-3.0.1"
+        ];
+      })
+      (sources."object.reduce-1.0.1" // {
+        dependencies = [
+          sources."for-own-1.0.0"
+        ];
+      })
+      sources."once-1.4.0"
+      sources."onetime-5.1.2"
+      sources."optionator-0.8.3"
+      sources."ordered-read-streams-0.3.0"
+      sources."os-locale-1.4.0"
+      sources."os-tmpdir-1.0.2"
+      sources."p-limit-3.1.0"
+      sources."p-locate-5.0.0"
+      sources."pako-1.0.11"
+      sources."parent-module-1.0.1"
+      (sources."parse-filepath-1.0.2" // {
+        dependencies = [
+          sources."is-absolute-1.0.0"
+          sources."is-relative-1.0.0"
+        ];
+      })
+      (sources."parse-glob-3.0.4" // {
+        dependencies = [
+          sources."is-extglob-1.0.0"
+          sources."is-glob-2.0.1"
+        ];
+      })
+      sources."parse-json-2.2.0"
+      sources."parse-node-version-1.0.1"
+      sources."parse-passwd-1.0.0"
+      sources."pascalcase-0.1.1"
+      sources."path-dirname-1.0.2"
+      sources."path-exists-2.1.0"
+      sources."path-is-absolute-1.0.1"
+      sources."path-key-2.0.1"
+      sources."path-parse-1.0.7"
+      sources."path-root-0.1.1"
+      sources."path-root-regex-0.1.2"
+      sources."path-type-1.1.0"
+      sources."pathval-1.1.1"
+      sources."pend-1.2.0"
+      sources."performance-now-2.1.0"
+      sources."picomatch-2.3.0"
+      sources."pify-2.3.0"
+      sources."pinkie-2.0.4"
+      sources."pinkie-promise-2.0.1"
+      sources."posix-character-classes-0.1.1"
+      sources."prelude-ls-1.1.2"
+      sources."prepend-http-1.0.4"
+      sources."preserve-0.2.0"
+      sources."pretty-hrtime-1.0.3"
+      sources."process-nextick-args-2.0.1"
+      sources."progress-2.0.3"
+      sources."proto-list-1.2.4"
+      sources."psl-1.8.0"
+      sources."pump-2.0.1"
+      sources."pumpify-1.5.1"
+      sources."punycode-2.1.1"
+      sources."q-1.5.1"
+      sources."qs-6.5.2"
+      (sources."randomatic-3.1.1" // {
+        dependencies = [
+          sources."is-number-4.0.0"
+          sources."kind-of-6.0.3"
+        ];
+      })
+      sources."randombytes-2.1.0"
+      sources."read-all-stream-3.1.0"
+      sources."read-pkg-1.1.0"
+      sources."read-pkg-up-1.0.1"
+      sources."readable-stream-2.3.7"
+      (sources."readdirp-2.2.1" // {
+        dependencies = [
+          sources."arr-diff-4.0.0"
+          sources."array-unique-0.3.2"
+          (sources."braces-2.3.2" // {
+            dependencies = [
+              sources."extend-shallow-2.0.1"
+            ];
+          })
+          sources."debug-2.6.9"
+          sources."define-property-1.0.0"
+          (sources."expand-brackets-2.1.4" // {
+            dependencies = [
+              sources."define-property-0.2.5"
+              sources."extend-shallow-2.0.1"
+              sources."is-extendable-0.1.1"
+            ];
+          })
+          sources."extend-shallow-3.0.2"
+          (sources."extglob-2.0.4" // {
+            dependencies = [
+              sources."extend-shallow-2.0.1"
+              sources."is-extendable-0.1.1"
+            ];
+          })
+          (sources."fill-range-4.0.0" // {
+            dependencies = [
+              sources."extend-shallow-2.0.1"
+            ];
+          })
+          (sources."is-accessor-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          (sources."is-data-descriptor-0.1.4" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          (sources."is-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-5.1.0"
+            ];
+          })
+          sources."is-extendable-1.0.1"
+          (sources."is-number-3.0.0" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."isobject-3.0.1"
+          sources."kind-of-6.0.3"
+          sources."micromatch-3.1.10"
+          sources."ms-2.0.0"
+        ];
+      })
+      sources."rechoir-0.6.2"
+      sources."regex-cache-0.4.4"
+      (sources."regex-not-1.0.2" // {
+        dependencies = [
+          sources."extend-shallow-3.0.2"
+          sources."is-extendable-1.0.1"
+        ];
+      })
+      sources."regexpp-2.0.1"
+      sources."remove-bom-buffer-3.0.0"
+      (sources."remove-bom-stream-1.2.0" // {
+        dependencies = [
+          sources."through2-2.0.5"
+        ];
+      })
+      sources."remove-trailing-separator-1.1.0"
+      sources."repeat-element-1.1.4"
+      sources."repeat-string-1.6.1"
+      sources."replace-ext-0.0.1"
+      (sources."replace-homedir-1.0.0" // {
+        dependencies = [
+          sources."is-absolute-1.0.0"
+          sources."is-relative-1.0.0"
+        ];
+      })
+      (sources."request-2.88.2" // {
+        dependencies = [
+          sources."uuid-3.4.0"
+        ];
+      })
+      sources."require-directory-2.1.1"
+      sources."require-main-filename-1.0.1"
+      sources."resolve-1.20.0"
+      sources."resolve-dir-1.0.1"
+      sources."resolve-from-4.0.0"
+      sources."resolve-options-1.1.0"
+      sources."resolve-url-0.2.1"
+      sources."restore-cursor-3.1.0"
+      sources."ret-0.1.15"
+      (sources."rimraf-2.7.1" // {
+        dependencies = [
+          sources."glob-7.1.7"
+        ];
+      })
+      sources."run-async-2.4.1"
+      sources."rxjs-6.6.7"
+      sources."safe-buffer-5.1.2"
+      sources."safe-regex-1.1.0"
+      sources."safer-buffer-2.1.2"
+      sources."sax-1.2.4"
+      sources."seek-bzip-1.0.6"
+      (sources."selenium-webdriver-3.6.0" // {
+        dependencies = [
+          sources."tmp-0.0.30"
+        ];
+      })
+      sources."semver-5.7.1"
+      sources."semver-greatest-satisfied-range-1.1.0"
+      sources."serialize-javascript-5.0.1"
+      sources."set-blocking-2.0.0"
+      sources."set-immediate-shim-1.0.1"
+      sources."set-value-2.0.1"
+      sources."shebang-command-1.2.0"
+      sources."shebang-regex-1.0.0"
+      sources."signal-exit-3.0.3"
+      (sources."slice-ansi-2.1.0" // {
+        dependencies = [
+          sources."ansi-styles-3.2.1"
+          sources."is-fullwidth-code-point-2.0.0"
+        ];
+      })
+      (sources."snapdragon-0.8.2" // {
+        dependencies = [
+          sources."debug-2.6.9"
+          sources."define-property-0.2.5"
+          (sources."is-accessor-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          (sources."is-data-descriptor-0.1.4" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."is-descriptor-0.1.6"
+          sources."kind-of-5.1.0"
+          sources."ms-2.0.0"
+        ];
+      })
+      (sources."snapdragon-node-2.1.1" // {
+        dependencies = [
+          sources."define-property-1.0.0"
+          sources."isobject-3.0.1"
+        ];
+      })
+      sources."snapdragon-util-3.0.1"
+      sources."source-map-0.5.7"
+      sources."source-map-resolve-0.5.3"
+      sources."source-map-url-0.4.1"
+      sources."sparkles-1.0.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.10"
+      (sources."split-string-3.1.0" // {
+        dependencies = [
+          sources."extend-shallow-3.0.2"
+          sources."is-extendable-1.0.1"
+        ];
+      })
+      sources."sprintf-js-1.0.3"
+      sources."sshpk-1.16.1"
+      sources."stack-trace-0.0.10"
+      sources."stat-mode-0.2.2"
+      (sources."static-extend-0.1.2" // {
+        dependencies = [
+          sources."define-property-0.2.5"
+          (sources."is-accessor-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          (sources."is-data-descriptor-0.1.4" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."is-descriptor-0.1.6"
+          sources."kind-of-5.1.0"
+        ];
+      })
+      sources."stream-combiner2-1.1.1"
+      sources."stream-exhaust-1.0.2"
+      sources."stream-shift-1.0.1"
+      sources."string-width-1.0.2"
+      sources."string_decoder-1.1.1"
+      sources."strip-ansi-3.0.1"
+      sources."strip-bom-2.0.0"
+      sources."strip-bom-stream-1.0.0"
+      sources."strip-bom-string-1.0.0"
+      sources."strip-dirs-1.1.1"
+      sources."strip-json-comments-3.1.1"
+      sources."strip-outer-1.0.1"
+      sources."sum-up-1.0.3"
+      sources."supports-color-2.0.0"
+      sources."sver-compat-1.5.0"
+      (sources."table-5.4.6" // {
+        dependencies = [
+          sources."ansi-regex-4.1.0"
+          sources."emoji-regex-7.0.3"
+          sources."is-fullwidth-code-point-2.0.0"
+          sources."string-width-3.1.0"
+          sources."strip-ansi-5.2.0"
+        ];
+      })
+      sources."tar-stream-1.6.2"
+      sources."text-table-0.2.0"
+      sources."through-2.3.8"
+      (sources."through2-0.6.5" // {
+        dependencies = [
+          sources."isarray-0.0.1"
+          sources."readable-stream-1.0.34"
+          sources."string_decoder-0.10.31"
+        ];
+      })
+      (sources."through2-filter-2.0.0" // {
+        dependencies = [
+          sources."through2-2.0.5"
+        ];
+      })
+      sources."time-stamp-1.1.0"
+      sources."timed-out-4.0.1"
+      sources."timers-ext-0.1.7"
+      sources."tmp-0.0.33"
+      sources."to-absolute-glob-0.1.1"
+      sources."to-buffer-1.1.1"
+      sources."to-object-path-0.3.0"
+      (sources."to-regex-3.0.2" // {
+        dependencies = [
+          sources."extend-shallow-3.0.2"
+          sources."is-extendable-1.0.1"
+        ];
+      })
+      (sources."to-regex-range-2.1.1" // {
+        dependencies = [
+          sources."is-number-3.0.0"
+        ];
+      })
+      (sources."to-through-2.0.0" // {
+        dependencies = [
+          sources."through2-2.0.5"
+        ];
+      })
+      (sources."touch-0.0.3" // {
+        dependencies = [
+          sources."nopt-1.0.10"
+        ];
+      })
+      sources."tough-cookie-2.5.0"
+      sources."traverse-0.3.9"
+      sources."tree-kill-1.2.2"
+      sources."trim-repeated-1.0.0"
+      sources."tslib-1.14.1"
+      sources."tunnel-agent-0.6.0"
+      sources."tweetnacl-0.14.5"
+      sources."type-1.2.0"
+      sources."type-check-0.3.2"
+      sources."type-detect-4.0.8"
+      sources."type-fest-0.8.1"
+      sources."typedarray-0.0.6"
+      sources."unbzip2-stream-1.4.3"
+      sources."unc-path-regex-0.1.2"
+      (sources."undertaker-1.3.0" // {
+        dependencies = [
+          sources."fast-levenshtein-1.1.4"
+        ];
+      })
+      sources."undertaker-registry-1.0.1"
+      sources."union-value-1.0.1"
+      (sources."unique-stream-2.3.1" // {
+        dependencies = [
+          sources."through2-2.0.5"
+          sources."through2-filter-3.0.0"
+        ];
+      })
+      sources."universalify-0.1.2"
+      (sources."unset-value-1.0.0" // {
+        dependencies = [
+          (sources."has-value-0.3.1" // {
+            dependencies = [
+              sources."isobject-2.1.0"
+            ];
+          })
+          sources."has-values-0.1.4"
+          sources."isobject-3.0.1"
+        ];
+      })
+      sources."untildify-3.0.3"
+      sources."unzip-response-2.0.1"
+      sources."upath-1.2.0"
+      sources."uri-js-4.4.1"
+      sources."urix-0.1.0"
+      sources."url-parse-lax-1.0.0"
+      sources."url-to-options-1.0.1"
+      sources."use-3.1.1"
+      sources."util-deprecate-1.0.2"
+      sources."uuid-2.0.3"
+      sources."v8-compile-cache-2.3.0"
+      sources."v8flags-3.2.0"
+      sources."vali-date-1.0.0"
+      sources."validate-npm-package-license-3.0.4"
+      sources."value-or-function-3.0.0"
+      sources."verror-1.10.0"
+      sources."vinyl-1.2.0"
+      (sources."vinyl-assign-1.2.1" // {
+        dependencies = [
+          sources."object-assign-4.1.1"
+        ];
+      })
+      (sources."vinyl-fs-2.4.4" // {
+        dependencies = [
+          sources."gulp-sourcemaps-1.6.0"
+          sources."object-assign-4.1.1"
+          sources."through2-2.0.5"
+        ];
+      })
+      (sources."vinyl-sourcemap-1.1.0" // {
+        dependencies = [
+          sources."clone-2.1.2"
+          sources."clone-stats-1.0.0"
+          sources."replace-ext-1.0.1"
+          sources."vinyl-2.2.1"
+        ];
+      })
+      sources."which-1.3.1"
+      sources."which-module-1.0.0"
+      sources."wide-align-1.1.3"
+      sources."window-size-0.1.4"
+      sources."winreg-1.2.4"
+      sources."word-wrap-1.2.3"
+      sources."workerpool-6.1.0"
+      sources."wrap-ansi-2.1.0"
+      sources."wrappy-1.0.2"
+      sources."write-1.0.3"
+      sources."xml2js-0.4.23"
+      sources."xmlbuilder-11.0.1"
+      sources."xtend-4.0.2"
+      sources."y18n-3.2.2"
+      (sources."yargs-16.2.0" // {
+        dependencies = [
+          sources."ansi-regex-5.0.0"
+          sources."ansi-styles-4.3.0"
+          sources."cliui-7.0.4"
+          sources."color-convert-2.0.1"
+          sources."color-name-1.1.4"
+          sources."get-caller-file-2.0.5"
+          sources."is-fullwidth-code-point-3.0.0"
+          sources."string-width-4.2.2"
+          sources."strip-ansi-6.0.0"
+          sources."wrap-ansi-7.0.0"
+          sources."y18n-5.0.8"
+          sources."yargs-parser-20.2.9"
+        ];
+      })
+      (sources."yargs-parser-5.0.1" // {
+        dependencies = [
+          sources."camelcase-3.0.0"
+        ];
+      })
+      (sources."yargs-unparser-2.0.0" // {
+        dependencies = [
+          sources."camelcase-6.2.0"
+          sources."decamelize-4.0.0"
+        ];
+      })
+      sources."yauzl-2.10.0"
+      sources."yocto-queue-0.1.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Setup and configure OnlyKey";
+      homepage = "https://github.com/trustcrypto/OnlyKey-App#readme";
+      license = "Apache-2.0";
+    };
+    production = false;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/onlykey/onlykey.nix b/nixpkgs/pkgs/tools/security/onlykey/onlykey.nix
new file mode 100644
index 000000000000..6fb86dfd79e7
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/onlykey/onlykey.nix
@@ -0,0 +1,17 @@
+# This file has been generated by node2nix 1.9.0. Do not edit!
+
+{pkgs ? import <nixpkgs> {
+    inherit system;
+  }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}:
+
+let
+  nodeEnv = import ../../../development/node-packages/node-env.nix {
+    inherit (pkgs) stdenv lib python2 runCommand writeTextFile;
+    inherit pkgs nodejs;
+    libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
+  };
+in
+import ./node-packages.nix {
+  inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit;
+  inherit nodeEnv;
+}
diff --git a/nixpkgs/pkgs/tools/security/onlykey/package.json b/nixpkgs/pkgs/tools/security/onlykey/package.json
new file mode 100644
index 000000000000..d9a1a72c4297
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/onlykey/package.json
@@ -0,0 +1,3 @@
+[
+  {"onlykey": "git://github.com/trustcrypto/OnlyKey-App.git#v5.3.3"}
+]
diff --git a/nixpkgs/pkgs/tools/security/opensc/default.nix b/nixpkgs/pkgs/tools/security/opensc/default.nix
index 51e0c1f58f93..15231c945316 100644
--- a/nixpkgs/pkgs/tools/security/opensc/default.nix
+++ b/nixpkgs/pkgs/tools/security/opensc/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "opensc";
-  version = "0.21.0";
+  version = "0.22.0";
 
   src = fetchFromGitHub {
     owner = "OpenSC";
     repo = "OpenSC";
     rev = version;
-    sha256 = "sha256-OjOfA1pIu8NeN+hPuow5UVMKsg0PrsLojw5h05/Qm+o=";
+    sha256 = "sha256-0IFpiG1SJq4cpS5z6kwpWSPVWjO0q0SHs+doD2vbUKs=";
   };
 
   nativeBuildInputs = [ pkg-config autoreconfHook ];
@@ -60,6 +60,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/OpenSC/OpenSC/wiki";
     license = licenses.lgpl21Plus;
     platforms = platforms.all;
-    maintainers = [ maintainers.erictapen ];
+    maintainers = [ maintainers.michaeladler ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/security/otpauth/default.nix b/nixpkgs/pkgs/tools/security/otpauth/default.nix
new file mode 100644
index 000000000000..28dfab546a8b
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/otpauth/default.nix
@@ -0,0 +1,27 @@
+{ lib
+, fetchFromGitHub
+, buildGoModule
+}:
+
+buildGoModule rec {
+  pname = "otpauth";
+  version = "0.3.5";
+
+  src = fetchFromGitHub {
+    owner = "dim13";
+    repo = "otpauth";
+    rev = "v${version}";
+    sha256 = "sha256-Jr1cZbXKZa6M7tIex67SjDPkWSYHWSZ7vRYd8us7Oek=";
+  };
+
+  runVend = true;
+  vendorSha256 = "sha256-s0pcm3fO50cuMEJ6Pp7qay6BGGa+FCiBegUbQlB0OnY=";
+  doCheck = true;
+
+  meta = with lib; {
+    description = "Google Authenticator migration decoder";
+    homepage = "https://github.com/dim13/otpauth";
+    license = licenses.isc;
+    maintainers = with maintainers; [ ereslibre ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/pamtester/default.nix b/nixpkgs/pkgs/tools/security/pamtester/default.nix
index 1944e5187d21..face92a00af3 100644
--- a/nixpkgs/pkgs/tools/security/pamtester/default.nix
+++ b/nixpkgs/pkgs/tools/security/pamtester/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, pam }:
 
 stdenv.mkDerivation rec {
-  name = "pamtester-0.1.2";
+  pname = "pamtester";
+  version = "0.1.2";
 
   src = fetchurl {
-    url = "mirror://sourceforge/pamtester/${name}.tar.gz";
+    url = "mirror://sourceforge/pamtester/pamtester-${version}.tar.gz";
     sha256 = "1mdj1wj0adcnx354fs17928yn2xfr1hj5mfraq282dagi873sqw3";
   };
 
diff --git a/nixpkgs/pkgs/tools/security/pass2csv/default.nix b/nixpkgs/pkgs/tools/security/pass2csv/default.nix
new file mode 100644
index 000000000000..50de7dc7e821
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/pass2csv/default.nix
@@ -0,0 +1,30 @@
+{ buildPythonApplication
+, fetchPypi
+, lib
+, python-gnupg
+}:
+
+buildPythonApplication rec {
+  pname = "pass2csv";
+  version = "0.3.1";
+  format = "pyproject";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-qY094A5F7W2exGcsS9AJuO5RrBcAn0cCrJquOc6zGZM=";
+  };
+
+  propagatedBuildInputs = [
+    python-gnupg
+  ];
+
+  # Project has no tests.
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Export pass(1), \"the standard unix password manager\", to CSV";
+    homepage = "https://github.com/reinefjord/pass2csv";
+    license = licenses.mit;
+    maintainers = with maintainers; [ wolfangaukang ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/pinentry/default.nix b/nixpkgs/pkgs/tools/security/pinentry/default.nix
index 909bbbaed162..97426e0be80d 100644
--- a/nixpkgs/pkgs/tools/security/pinentry/default.nix
+++ b/nixpkgs/pkgs/tools/security/pinentry/default.nix
@@ -2,7 +2,9 @@
 , libgpgerror, libassuan, qtbase, wrapQtAppsHook
 , ncurses, gtk2, gcr
 , libcap ? null, libsecret ? null
-, enabledFlavors ? [ "curses" "tty" "gtk2" "qt" "emacs" ] ++ lib.optionals stdenv.isLinux [ "gnome3" ]
+, enabledFlavors ? [ "curses" "tty" "gtk2" "emacs" ]
+  ++ lib.optionals stdenv.isLinux [ "gnome3" ]
+  ++ lib.optionals (stdenv.hostPlatform.system != "aarch64-darwin") [ "qt" ]
 }:
 
 with lib;
diff --git a/nixpkgs/pkgs/tools/security/proxmark3/proxmark3-rrg.nix b/nixpkgs/pkgs/tools/security/proxmark3/proxmark3-rrg.nix
index 2ae344394724..085610f17994 100644
--- a/nixpkgs/pkgs/tools/security/proxmark3/proxmark3-rrg.nix
+++ b/nixpkgs/pkgs/tools/security/proxmark3/proxmark3-rrg.nix
@@ -7,13 +7,13 @@
 
 mkDerivation rec {
   pname = "proxmark3-rrg";
-  version = "4.9237";
+  version = "4.13441";
 
   src = fetchFromGitHub {
     owner = "RfidResearchGroup";
     repo = "proxmark3";
     rev = "v${version}";
-    sha256 = "13xrhvrsm73rfgqpgca6a37c3jixdkxvfggmacnnx5fdfb393bfx";
+    sha256 = "1ffchqnm8023zcm4ywncf1j6076s78226h72m9dfmi0zbj3pbj4m";
   };
 
   nativeBuildInputs = [ pkg-config gcc-arm-embedded ];
diff --git a/nixpkgs/pkgs/tools/security/prs/default.nix b/nixpkgs/pkgs/tools/security/prs/default.nix
index 6d97958ec78c..30e12467f830 100644
--- a/nixpkgs/pkgs/tools/security/prs/default.nix
+++ b/nixpkgs/pkgs/tools/security/prs/default.nix
@@ -9,20 +9,21 @@
 , gpgme
 , gtk3
 , libxcb
+, libxkbcommon
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "prs";
-  version = "0.2.11";
+  version = "0.2.13";
 
   src = fetchFromGitLab {
     owner = "timvisee";
     repo = "prs";
     rev = "v${version}";
-    sha256 = "sha256-jBHe3ZeB+GS+Ds8c6ySwoyyJfqoCWKSgIObg+z1TNmU=";
+    sha256 = "sha256-UZm147oNBbgagGKgJcaT5354Tl+MXkK+/bB+tuncH5o=";
   };
 
-  cargoSha256 = "sha256-dhQuzzML817cDIsYuZElHZfq55AdZ20xeXTNm1nJPqk=";
+  cargoSha256 = "sha256-u31xzgZVlXbraq2lTRJCKZVoHqRg8iH2kE3tkq5NwLk=";
 
   postPatch = ''
     # The GPGME backend is recommended
@@ -34,7 +35,14 @@ rustPlatform.buildRustPackage rec {
 
   nativeBuildInputs = [ gpgme installShellFiles pkg-config python3 ];
 
-  buildInputs = [ dbus glib gpgme gtk3 libxcb ];
+  buildInputs = [
+    dbus
+    glib
+    gpgme
+    gtk3
+    libxcb
+    libxkbcommon
+  ];
 
   postInstall = ''
     for shell in bash fish zsh; do
diff --git a/nixpkgs/pkgs/tools/security/pwgen/default.nix b/nixpkgs/pkgs/tools/security/pwgen/default.nix
index c84b9472e96f..7870add420b0 100644
--- a/nixpkgs/pkgs/tools/security/pwgen/default.nix
+++ b/nixpkgs/pkgs/tools/security/pwgen/default.nix
@@ -1,16 +1,29 @@
-{lib, stdenv, fetchurl, autoreconfHook}:
-stdenv.mkDerivation {
-  name = "pwgen-2.08";
+{ lib
+, stdenv
+, autoreconfHook
+, fetchFromGitHub
+}:
 
-  src = fetchurl {
-    url = "https://github.com/tytso/pwgen/archive/v2.08.tar.gz";
-    sha256 = "8d6e94f28655e61d6126290e3eafad4d17d7fba0d0d354239522a740a270bb2f";
+stdenv.mkDerivation rec {
+  pname = "pwgen";
+  version = "2.08";
+
+  src = fetchFromGitHub {
+    owner = "tytso";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1j6c6m9fcy24jn8mk989x49yk765xb26lpr8yhpiaqk206wlss2z";
   };
 
-  nativeBuildInputs = [ autoreconfHook ];
+  nativeBuildInputs = [
+    autoreconfHook
+  ];
 
-  meta = {
+  meta = with lib; {
     description = "Password generator which creates passwords which can be easily memorized by a human";
-    platforms = lib.platforms.all;
+    homepage = "https://github.com/tytso/pwgen";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ fab ];
+    platforms = platforms.all;
   };
 }
diff --git a/nixpkgs/pkgs/tools/security/quill-qr/default.nix b/nixpkgs/pkgs/tools/security/quill-qr/default.nix
new file mode 100644
index 000000000000..55c2f45cc683
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/quill-qr/default.nix
@@ -0,0 +1,45 @@
+{ coreutils
+, fetchFromGitHub
+, gzip
+, jq
+, lib
+, makeWrapper
+, qrencode
+, stdenvNoCC
+}:
+
+stdenvNoCC.mkDerivation rec {
+  pname = "quill-qr";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "IvanMalison";
+    repo = "quill-qr";
+    rev = "v${version}";
+    sha256 = "1kdsq6csmxfvs2wy31bc9r92l5pkmzlzkyqrangvrf4pbk3sk0r6";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  dontBuild = true;
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp -a quill-qr.sh $out/bin/quill-qr.sh
+    patchShebangs $out/bin
+
+    wrapProgram $out/bin/quill-qr.sh --prefix PATH : "${lib.makeBinPath [
+      qrencode
+      coreutils
+      jq
+      gzip
+    ]}"
+  '';
+
+  meta = with lib; {
+    description = "Print QR codes for use with https://p5deo-6aaaa-aaaab-aaaxq-cai.raw.ic0.app/";
+    homepage = "https://github.com/IvanMalison/quill-qr";
+    maintainers = with maintainers; [ imalison ];
+    platforms = with platforms; linux;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/quill/default.nix b/nixpkgs/pkgs/tools/security/quill/default.nix
index 74c7996a8964..9440823f4292 100644
--- a/nixpkgs/pkgs/tools/security/quill/default.nix
+++ b/nixpkgs/pkgs/tools/security/quill/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "quill";
-  version = "0.2.1";
+  version = "0.2.4";
 
   src = fetchFromGitHub {
     owner = "dfinity";
     repo = "quill";
     rev = "v${version}";
-    sha256 = "02ga2xkdxs36mfr4lv43cy6wkf27c28bdkzfkp3az5jvyk17mkfr";
+    sha256 = "sha256-rR5VgdlJy6TQBmCHuKc7nPjznbeLjCmQdUJKjY0GsNI=";
   };
 
   ic = fetchFromGitHub {
@@ -30,7 +30,7 @@ rustPlatform.buildRustPackage rec {
     export OPENSSL_LIB_DIR=${openssl.out}/lib
   '';
 
-  cargoSha256 = "142pzhyi73ljlqas5vbhjhn4vmp9w9ps1mv8q7s3kzg0h7jcvm1k";
+  cargoSha256 = "sha256-nLNuOqShOq01gVWoRCbsvfAd7B9VClUA8Hu8/UQNILg=";
 
   nativeBuildInputs = [ pkg-config protobuf ];
   buildInputs = [ openssl ]
diff --git a/nixpkgs/pkgs/tools/security/regexploit/default.nix b/nixpkgs/pkgs/tools/security/regexploit/default.nix
new file mode 100644
index 000000000000..be09c34254bb
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/regexploit/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, fetchFromGitHub
+, python3
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "regexploit";
+  version = "1.0.0";
+
+  disabled = python3.pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "doyensec";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0z3fghsyw0ll36in7ihc0qi3gy7mqi6cw1mi8m8c8xb1nlwpfr0y";
+  };
+
+  propagatedBuildInputs = with python3.pkgs; [
+    pyyaml
+  ];
+
+  checkInputs = with python3.pkgs; [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "regexploit" ];
+
+  meta = with lib; {
+    description = "Tool to find regular expressions which are vulnerable to ReDoS";
+    homepage = "https://github.com/doyensec/regexploit";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/rekor/default.nix b/nixpkgs/pkgs/tools/security/rekor/default.nix
index b9b49d4e2df0..4ff36910bb1b 100644
--- a/nixpkgs/pkgs/tools/security/rekor/default.nix
+++ b/nixpkgs/pkgs/tools/security/rekor/default.nix
@@ -4,29 +4,27 @@ let
   generic = { pname, packageToBuild, description }:
     buildGoModule rec {
       inherit pname;
-      version = "0.2.0";
+      version = "0.3.0";
 
       src = fetchFromGitHub {
         owner = "sigstore";
         repo = "rekor";
         rev = "v${version}";
-        sha256 = "1y6qw55r30jgkcwc6434ly0v9dcfa2lc7z5djn7rjcqrjg3gn7yv";
+        sha256 = "sha256-FaVZm9C1pewJCZlYgNyD/ZYr/UIRvhqVTUhFTmysxeg=";
       };
 
-      vendorSha256 = "1wlh505ypwyr91wi80fpbap3far3fljwjd4mql2qcqgg0b1yay9s";
+      vendorSha256 = "sha256-EBKj/+ruE88qvlbOme4GBfAqt3/1jHcqhY0IHxh6Y5U=";
 
       subPackages = [ packageToBuild ];
 
-      preBuild = ''
-        buildFlagsArray+=("-ldflags" "-s -w -X github.com/sigstore/rekor/${packageToBuild}/app.gitVersion=v${version}")
-      '';
+      ldflags = [ "-s" "-w" "-X github.com/sigstore/rekor/${packageToBuild}/app.gitVersion=v${version}" ];
 
       meta = with lib; {
         inherit description;
         homepage = "https://github.com/sigstore/rekor";
         changelog = "https://github.com/sigstore/rekor/releases/tag/v${version}";
         license = licenses.asl20;
-        maintainers = with maintainers; [ lesuisse ];
+        maintainers = with maintainers; [ lesuisse jk ];
       };
     };
 in {
diff --git a/nixpkgs/pkgs/tools/security/rnp/cmake_nogit.patch b/nixpkgs/pkgs/tools/security/rnp/cmake_nogit.patch
new file mode 100644
index 000000000000..733b093de5ea
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/rnp/cmake_nogit.patch
@@ -0,0 +1,51 @@
+diff --git i/cmake/version.cmake w/cmake/version.cmake
+index 0ed123b5..4348e7e1 100644
+--- i/cmake/version.cmake
++++ w/cmake/version.cmake
+@@ -90,41 +90,12 @@ function(determine_version source_dir var_prefix)
+   else()
+     message(STATUS "Found no version.txt.")
+   endif()
+-  # for GIT_EXECUTABLE
+-  find_package(Git REQUIRED)
+-  # get a description of the version, something like:
+-  #   v1.9.1-0-g38ffe82        (a tagged release)
+-  #   v1.9.1-0-g38ffe82-dirty  (a tagged release with local modifications)
+-  #   v1.9.0-3-g5b92266        (post-release snapshot)
+-  #   v1.9.0-3-g5b92266-dirty  (post-release snapshot with local modifications)
+-  _git(version describe --abbrev=${GIT_REV_LEN} --match "v[0-9]*" --long --dirty)
+-  if (NOT _git_ec EQUAL 0)
+-    # no annotated tags, fake one
+-    message(STATUS "Found no annotated tags.")
+-    _git(revision rev-parse --short=${GIT_REV_LEN} --verify HEAD)
+-    if (_git_ec EQUAL 0)
+-      set(version "v${base_version}-0-g${revision}")
+-      # check if dirty (this won't detect untracked files, but should be ok)
+-      _git(changes diff-index --quiet HEAD --)
+-      if (NOT _git_ec EQUAL 0)
+-        string(APPEND version "-dirty")
+-      endif()
+-      # append the commit timestamp of the most recent commit (only
+-      # in non-release branches -- typically master)
+-      _git(commit_timestamp show -s --format=%ct)
+-      if (_git_ec EQUAL 0)
+-        string(APPEND version "+${commit_timestamp}")
+-      endif()
+-    elseif(has_version_txt)
+-      # Nothing to get from git - so use version.txt completely
+-      set(version "${version_file}")
+-    else()
+-      # Sad case - no git, no version.txt
+-      set(version "v${base_version}")
+-    endif()
++  if(has_version_txt)
++    # Nothing to get from git - so use version.txt completely
++    set(version "${version_file}")
+   else()
+-    set(has_release_tag YES)
+-    message(STATUS "Found annotated tag ${version}")
++    # Sad case - no git, no version.txt
++    set(version "v${base_version}")
+   endif()
+   extract_version_info("${version}" "${local_prefix}")
+   if ("${has_version_txt}" AND NOT ${base_version} STREQUAL ${local_prefix}_VERSION)
diff --git a/nixpkgs/pkgs/tools/security/rnp/default.nix b/nixpkgs/pkgs/tools/security/rnp/default.nix
index 3c60190f1287..38e6c80428fc 100644
--- a/nixpkgs/pkgs/tools/security/rnp/default.nix
+++ b/nixpkgs/pkgs/tools/security/rnp/default.nix
@@ -15,15 +15,17 @@
 
 stdenv.mkDerivation rec {
   pname = "rnp";
-  version = "0.15.1";
+  version = "0.15.2";
 
   src = fetchFromGitHub {
     owner = "rnpgp";
     repo = "rnp";
     rev = "v${version}";
-    sha256 = "1l7y99rcss5w24lil6nqwr0dzh2jvq0qxmdvq7j5yx3fdssd5xsv";
+    sha256 = "1jph69nsz245fbv04nalh1qmhniyh88sacsf3nxv1vxm190314i9";
   };
 
+  patches = [ ./cmake_nogit.patch ];
+
   buildInputs = [ zlib bzip2 json_c botan2 ];
 
   cmakeFlags = [
diff --git a/nixpkgs/pkgs/tools/security/safe/default.nix b/nixpkgs/pkgs/tools/security/safe/default.nix
index 503cfbd9e868..747528b0ac4e 100644
--- a/nixpkgs/pkgs/tools/security/safe/default.nix
+++ b/nixpkgs/pkgs/tools/security/safe/default.nix
@@ -18,9 +18,9 @@ buildGoPackage rec {
 
   goPackagePath = "github.com/starkandwayne/safe";
 
-  preBuild = ''
-    buildFlagsArray+=("-ldflags" "-X main.Version=${version}")
-  '';
+  ldflags = [
+    "-X main.Version=${version}"
+  ];
 
   meta = with lib; {
     description = "A Vault CLI";
diff --git a/nixpkgs/pkgs/tools/security/saml2aws/default.nix b/nixpkgs/pkgs/tools/security/saml2aws/default.nix
index 8ee2c9a4c4e4..bd49721a68a2 100644
--- a/nixpkgs/pkgs/tools/security/saml2aws/default.nix
+++ b/nixpkgs/pkgs/tools/security/saml2aws/default.nix
@@ -2,17 +2,17 @@
 
 buildGoModule rec {
   pname = "saml2aws";
-  version = "2.31.0";
+  version = "2.32.0";
 
   src = fetchFromGitHub {
     owner = "Versent";
     repo = "saml2aws";
     rev = "v${version}";
-    sha256 = "sha256-Qe7+INWS9b6lw7QbaaQwIkRwvfx5dRKsZqun3z/U/QA=";
+    sha256 = "sha256-VMNK6kmMPe1Qwfb/NmMaBhtdqg59KmtiankVNZmhNdY=";
   };
 
   runVend = true;
-  vendorSha256 = "sha256-TieQVPSWtIteU0wTqX7si6GrPdYd4WD2eK4ZlLz0VJ8=";
+  vendorSha256 = "sha256-2tu3wSp9N+icpKvDeUgzYRLc6jXivn1D0jX/5LSgwNw=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ AppKit ];
 
@@ -20,9 +20,9 @@ buildGoModule rec {
 
   subPackages = [ "." "cmd/saml2aws" ];
 
-  buildFlagsArray = ''
-    -ldflags=-X main.Version=${version}
-  '';
+  ldflags = [
+    "-X main.Version=${version}"
+  ];
 
   meta = with lib; {
     description = "CLI tool which enables you to login and retrieve AWS temporary credentials using a SAML IDP";
diff --git a/nixpkgs/pkgs/tools/security/scorecard/default.nix b/nixpkgs/pkgs/tools/security/scorecard/default.nix
new file mode 100644
index 000000000000..5d8d9413ae99
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/scorecard/default.nix
@@ -0,0 +1,53 @@
+{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
+
+buildGoModule rec {
+  pname = "scorecard";
+  version = "2.1.3";
+
+  src = fetchFromGitHub {
+    owner = "ossf";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-lTaFSQ3yyzQGdiKwev38iEpV+ELKg9f1rMYdbqVuiSs=";
+  };
+  vendorSha256 = "sha256-eFu954gwoL5z99cJGhSnvliAzwxv3JJxfjmBF+cx7Dg=";
+
+  subPackages = [ "." ];
+
+  ldflags = [ "-s" "-w" "-X github.com/ossf/scorecard/v2/cmd.gitVersion=v${version}" ];
+
+  # Install completions post-install
+  nativeBuildInputs = [ installShellFiles ];
+
+  preCheck = ''
+    # Feed in all but the e2e tests for testing
+    # This is because subPackages above limits what is built to just what we
+    # want but also limits the tests
+    getGoDirs() {
+      go list ./... | grep -v e2e
+    }
+  '';
+
+  postInstall = ''
+    installShellCompletion --cmd scorecard \
+      --bash <($out/bin/scorecard completion bash) \
+      --fish <($out/bin/scorecard completion fish) \
+      --zsh <($out/bin/scorecard completion zsh)
+  '';
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    runHook preInstallCheck
+    $out/bin/scorecard --help
+    $out/bin/scorecard version | grep "v${version}"
+    runHook postInstallCheck
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/ossf/scorecard";
+    changelog = "https://github.com/ossf/scorecard/releases/tag/v${version}";
+    description = "Security health metrics for Open Source";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ jk ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/sequoia/default.nix b/nixpkgs/pkgs/tools/security/sequoia/default.nix
index d84f6f299005..18db48dfb249 100644
--- a/nixpkgs/pkgs/tools/security/sequoia/default.nix
+++ b/nixpkgs/pkgs/tools/security/sequoia/default.nix
@@ -102,7 +102,7 @@ rustPlatform.buildRustPackage rec {
   meta = with lib; {
     description = "A cool new OpenPGP implementation";
     homepage = "https://sequoia-pgp.org/";
-    license = licenses.gpl3;
+    license = licenses.gpl2Plus;
     maintainers = with maintainers; [ minijackson doronbehar ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/security/ssh-audit/default.nix b/nixpkgs/pkgs/tools/security/ssh-audit/default.nix
index a7ef677759f3..34d39390b438 100644
--- a/nixpkgs/pkgs/tools/security/ssh-audit/default.nix
+++ b/nixpkgs/pkgs/tools/security/ssh-audit/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "ssh-audit";
-  version = "2.4.0";
+  version = "2.5.0";
 
   src = fetchFromGitHub {
     owner = "jtesta";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Xq1q/i43vZAv8BayVOdKuZ3+mJcQQ0x4Kc3WlASE6m8=";
+    sha256 = "0ks1zr0ksma285sm2dyy0nsbrkpssdk4mdzc3srr4mcyd6v927jd";
   };
 
   checkInputs = with python3Packages; [
diff --git a/nixpkgs/pkgs/tools/security/step-ca/default.nix b/nixpkgs/pkgs/tools/security/step-ca/default.nix
index f72f3c978ffe..9b645dcba927 100644
--- a/nixpkgs/pkgs/tools/security/step-ca/default.nix
+++ b/nixpkgs/pkgs/tools/security/step-ca/default.nix
@@ -11,16 +11,18 @@
 
 buildGoModule rec {
   pname = "step-ca";
-  version = "0.15.15";
+  version = "0.16.2";
 
   src = fetchFromGitHub {
     owner = "smallstep";
     repo = "certificates";
     rev = "v${version}";
-    sha256 = "sha256-YYYpMHEis/zoRsdwW70X8zn0FMsW+2vMYdlWxr3qqzY==";
+    sha256 = "sha256-JDoiz/BX8zB+qdwlGPUCa30R+pwWWtjEiXHP5LxdPAE=";
   };
 
-  vendorSha256 = "sha256-mjj+70/ioqcchB3X5vZPb0Oa7lA/qKh5zEpidT0jrEs=";
+  vendorSha256 = "sha256-cFuLW0qkI/l/TvYwQZA2bLlWYjs1hdbQJ5jU7xiuFZI=";
+
+  ldflags = [ "-buildid=" ];
 
   nativeBuildInputs = lib.optionals hsmSupport [ pkg-config ];
 
diff --git a/nixpkgs/pkgs/tools/security/step-cli/default.nix b/nixpkgs/pkgs/tools/security/step-cli/default.nix
index c91a83c0a0d7..c1d5e0ec5b2c 100644
--- a/nixpkgs/pkgs/tools/security/step-cli/default.nix
+++ b/nixpkgs/pkgs/tools/security/step-cli/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "step-cli";
-  version = "0.16.1";
+  version = "0.17.2";
 
   src = fetchFromGitHub {
     owner = "smallstep";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-gMXvHPqWvaZmzWiWrxlknaMkUraS64yrKl+RzAF7c4I=";
+    sha256 = "sha256-w+1iL/Y1OKksIqGJvft734NmjLbxm2yebV/xjhzOubM=";
   };
 
   ldflags = [
@@ -25,7 +25,7 @@ buildGoModule rec {
     rm command/certificate/remote_test.go
   '';
 
-  vendorSha256 = "sha256-WF2UD0LwzCMkoW1EfcjV+9ZboPp1oWhmsSEryj13Kg0=";
+  vendorSha256 = "sha256-71DH7/kU/nZqbsrRWkxa3JV3pevGjjOKDjn8gIWSDkE=";
 
   meta = with lib; {
     description = "A zero trust swiss army knife for working with X509, OAuth, JWT, OATH OTP, etc";
diff --git a/nixpkgs/pkgs/tools/security/subjs/default.nix b/nixpkgs/pkgs/tools/security/subjs/default.nix
index 1b7986c0a77a..65d3f18be794 100644
--- a/nixpkgs/pkgs/tools/security/subjs/default.nix
+++ b/nixpkgs/pkgs/tools/security/subjs/default.nix
@@ -16,7 +16,7 @@ buildGoModule rec {
 
   vendorSha256 = "1y01k8pvv7y9zb15wbk068cvkx0g83484jak2dvcvghqcf5j1fr1";
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.AppVersion=${version}" ];
+  ldflags = [ "-s" "-w" "-X main.AppVersion=${version}" ];
 
   meta = with lib; {
     description = "Fetcher for Javascript files";
diff --git a/nixpkgs/pkgs/tools/security/sudo/default.nix b/nixpkgs/pkgs/tools/security/sudo/default.nix
index 5e308fd25ca5..e5207ea9d7b1 100644
--- a/nixpkgs/pkgs/tools/security/sudo/default.nix
+++ b/nixpkgs/pkgs/tools/security/sudo/default.nix
@@ -13,11 +13,11 @@
 
 stdenv.mkDerivation rec {
   pname = "sudo";
-  version = "1.9.7";
+  version = "1.9.7p2";
 
   src = fetchurl {
     url = "https://www.sudo.ws/dist/${pname}-${version}.tar.gz";
-    sha256 = "sha256-K758LWaZuE2VDvmkPwnU2We4vCRLc7wJXEICBo3b5Uk=";
+    sha256 = "sha256-KLXucl2/iaeFL0LzCcqHfSgQqVMbTuz+WfOoS2tK/Kg=";
   };
 
   prePatch = ''
diff --git a/nixpkgs/pkgs/tools/security/super/default.nix b/nixpkgs/pkgs/tools/security/super/default.nix
index f8e78c66979f..d87580975f19 100644
--- a/nixpkgs/pkgs/tools/security/super/default.nix
+++ b/nixpkgs/pkgs/tools/security/super/default.nix
@@ -1,11 +1,12 @@
 { lib, stdenv, fetchurl, fetchpatch }:
 
 stdenv.mkDerivation rec {
-  name = "super-3.30.0";
+  pname = "super";
+  version = "3.30.0";
 
   src = fetchurl {
-    name = "${name}.tar.gz";
-    url = "https://www.ucolick.org/~will/RUE/super/${name}-tar.gz";
+    name = "super-${version}.tar.gz";
+    url = "https://www.ucolick.org/~will/RUE/super/super-${version}-tar.gz";
     sha256 = "0k476f83w7f45y9jpyxwr00ikv1vhjiq0c26fgjch9hnv18icvwy";
   };
 
diff --git a/nixpkgs/pkgs/tools/security/sx-go/default.nix b/nixpkgs/pkgs/tools/security/sx-go/default.nix
new file mode 100644
index 000000000000..c9dbb6559857
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/sx-go/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, libpcap
+}:
+
+buildGoModule rec {
+  pname = "sx-go";
+  version = "0.4.0";
+
+  src = fetchFromGitHub {
+    owner = "v-byte-cpu";
+    repo = "sx";
+    rev = "v${version}";
+    sha256 = "0djpwy40wj5asky8a16i7a117816p8g94p5y0wkl74jp07cybmrl";
+  };
+
+  vendorSha256 = "0n1h9jch0zfafli8djjr6wkgfxxpnh4q873d5mr1xg8a25qhlifr";
+
+  buildInputs = [
+    libpcap
+  ];
+
+  postFixup = ''
+    # Rename binary to avoid conflict with sx
+    mv $out/bin/sx $out/bin/${pname}
+  '';
+
+  meta = with lib; {
+    description = "Command-line network scanner";
+    homepage = "https://github.com/v-byte-cpu/sx";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/teler/default.nix b/nixpkgs/pkgs/tools/security/teler/default.nix
index a4bcc87eedf9..ffcab3a41877 100644
--- a/nixpkgs/pkgs/tools/security/teler/default.nix
+++ b/nixpkgs/pkgs/tools/security/teler/default.nix
@@ -16,9 +16,9 @@ buildGoModule rec {
 
   vendorSha256 = "sha256-TQjwPem+RMuoF5T02CL/CTvBS6W7Q786gTvYUFIvxjE=";
 
-  preBuild = ''
-    buildFlagsArray+=("-ldflags" "-s -w -X ktbs.dev/teler/common.Version=${version}")
-  '';
+  ldflags = [
+    "-s" "-w" "-X ktbs.dev/teler/common.Version=${version}"
+  ];
 
   # test require internet access
   doCheck = false;
diff --git a/nixpkgs/pkgs/tools/security/terrascan/default.nix b/nixpkgs/pkgs/tools/security/terrascan/default.nix
index 5fd0578bc877..eb5320d250fc 100644
--- a/nixpkgs/pkgs/tools/security/terrascan/default.nix
+++ b/nixpkgs/pkgs/tools/security/terrascan/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "terrascan";
-  version = "1.8.0";
+  version = "1.10.0";
 
   src = fetchFromGitHub {
     owner = "accurics";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-eCkinYJtZNf5Fo+LXu01cHRInA9CfDONvt1OIs3XJSk=";
+    sha256 = "sha256-IF5BDe6XnOR7F/ajYBbMuFpIxUawgd/Oo2AthL5aeWE=";
   };
 
-  vendorSha256 = "sha256-eez/g0Np/vnSO6uvUA8vtqR3DEaKlBo6lyd9t25LE7s=";
+  vendorSha256 = "sha256-PZM8OWvjj8681/CWVE896f3vRHnkNeJj2w/aoOFZ9P0=";
 
   # Tests want to download a vulnerable Terraform project
   doCheck = false;
diff --git a/nixpkgs/pkgs/tools/security/tor/default.nix b/nixpkgs/pkgs/tools/security/tor/default.nix
index b3c98ac013e4..a472b502b612 100644
--- a/nixpkgs/pkgs/tools/security/tor/default.nix
+++ b/nixpkgs/pkgs/tools/security/tor/default.nix
@@ -30,11 +30,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "tor";
-  version = "0.4.6.6";
+  version = "0.4.6.7";
 
   src = fetchurl {
     url = "https://dist.torproject.org/${pname}-${version}.tar.gz";
-    sha256 = "04ifi18cj4cw5lhfzgfrrc42j7qqdmbvxq24xlhj0dsmljdih8rl";
+    sha256 = "16hga7195va8v0x062dc05nbz4sm3dscifcqpl8235dj47hmqrpz";
   };
 
   outputs = [ "out" "geoip" ];
diff --git a/nixpkgs/pkgs/tools/security/tpm2-tools/default.nix b/nixpkgs/pkgs/tools/security/tpm2-tools/default.nix
index 52964b620ddf..25a781d8fd86 100644
--- a/nixpkgs/pkgs/tools/security/tpm2-tools/default.nix
+++ b/nixpkgs/pkgs/tools/security/tpm2-tools/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "tpm2-tools";
-  version = "5.0";
+  version = "5.1.1";
 
   src = fetchurl {
     url = "https://github.com/tpm2-software/${pname}/releases/download/${version}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-4bkH/imHdigFLgithO68bD92RtKVBe1IYulhYqjJG6E=";
+    sha256 = "sha256-VQCBD3r5mTkbq7EyFtdYQ77p8/nRVE/u1eUD2AEXSjs=";
   };
 
   nativeBuildInputs = [ pandoc pkg-config makeWrapper ];
diff --git a/nixpkgs/pkgs/tools/security/vault/default.nix b/nixpkgs/pkgs/tools/security/vault/default.nix
index 66a6d5e63e85..84bf06455aaa 100644
--- a/nixpkgs/pkgs/tools/security/vault/default.nix
+++ b/nixpkgs/pkgs/tools/security/vault/default.nix
@@ -1,27 +1,34 @@
-{ stdenv, lib, fetchFromGitHub, buildGoPackage, installShellFiles, nixosTests
+{ stdenv, lib, fetchFromGitHub, buildGoModule, installShellFiles, nixosTests
 , makeWrapper
 , gawk
 , glibc
 }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "vault";
-  version = "1.7.3";
+  version = "1.8.2";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = "vault";
     rev = "v${version}";
-    sha256 = "sha256-BO4xzZrX9eVETQWjBDBfP7TlD7sO+gLgbB330A11KAI=";
+    sha256 = "sha256-SFzThZX9oYBM7OGjlvWq1by1mUOA4qc89TMEvCZU9I0=";
   };
 
-  goPackagePath = "github.com/hashicorp/vault";
+  vendorSha256 = "sha256-Fhj1qWv4NN5oHxS5xZt2BnLBPTTcxKq47Q1kd+60xY4=";
 
   subPackages = [ "." ];
 
   nativeBuildInputs = [ installShellFiles makeWrapper ];
 
-  buildFlagsArray = [ "-tags=vault" "-ldflags=-s -w -X ${goPackagePath}/sdk/version.GitCommit=${src.rev}" ];
+  tags = [ "vault" ];
+
+  ldflags = [
+    "-s" "-w"
+    "-X github.com/hashicorp/vault/sdk/version.GitCommit=${src.rev}"
+    "-X github.com/hashicorp/vault/sdk/version.Version=${version}"
+    "-X github.com/hashicorp/vault/sdk/version.VersionPrerelease="
+  ];
 
   postInstall = ''
     echo "complete -C $out/bin/vault vault" > vault.bash
diff --git a/nixpkgs/pkgs/tools/security/vault/vault-bin.nix b/nixpkgs/pkgs/tools/security/vault/vault-bin.nix
index 68df6e557f61..0540468df69d 100644
--- a/nixpkgs/pkgs/tools/security/vault/vault-bin.nix
+++ b/nixpkgs/pkgs/tools/security/vault/vault-bin.nix
@@ -1,26 +1,26 @@
 { lib, stdenv, fetchurl, unzip, makeWrapper, gawk, glibc }:
 
 let
-  version = "1.7.3";
+  version = "1.8.2";
 
   sources = let
     base = "https://releases.hashicorp.com/vault/${version}";
   in {
     x86_64-linux = fetchurl {
       url = "${base}/vault_${version}_linux_amd64.zip";
-      sha256 = "sha256-hFMTKpO3VcCondSy8amb1K8G+BZ7gZF/EXCAg5Ax4D8=";
+      sha256 = "sha256-10ck1swivx4cfFGQCbAXaAms9vHCDuVhB94Mq1TNhGM=";
     };
     i686-linux = fetchurl {
       url = "${base}/vault_${version}_linux_386.zip";
-      sha256 = "02wbbzffb2m7y3476l5qa5dhi0v30f3sfif0svqhhzh927kg4s5w";
+      sha256 = "0v8l056xs88mjpcfpi9k8chv0zk7lf80gkj580z3d37h2yr2b1gg";
     };
     x86_64-darwin = fetchurl {
       url = "${base}/vault_${version}_darwin_amd64.zip";
-      sha256 = "0sw56dhjbasdnlwg668swhyxrn5gy7h9gysdg96za4dhq3iimkrn";
+      sha256 = "1xabbndnx85zbhbwid30q0jii41hmwwlqrxz4a0rllqshvmq4fg3";
     };
     aarch64-linux = fetchurl {
       url = "${base}/vault_${version}_linux_arm64.zip";
-      sha256 = "0c2w0684adaqildwviajp6pi8vp76g4zwwgc1k2bb5mwv1h2y293";
+      sha256 = "00p2540bdhw46licab401vbwdyvp1hkngssx6nh99igj14sl60qa";
     };
   };
 
@@ -42,8 +42,8 @@ in stdenv.mkDerivation {
     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 ]}
-  '' + ''
+      --prefix PATH : ${lib.makeBinPath [ gawk glibc ]}
+
     runHook postInstall
   '';
 
diff --git a/nixpkgs/pkgs/tools/security/vaultwarden/vault.nix b/nixpkgs/pkgs/tools/security/vaultwarden/vault.nix
index 49e7cc4f3ba1..00ebe0767f63 100644
--- a/nixpkgs/pkgs/tools/security/vaultwarden/vault.nix
+++ b/nixpkgs/pkgs/tools/security/vaultwarden/vault.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "vaultwarden-vault";
-  version = "2.19.0";
+  version = "2.21.1";
 
   src = fetchurl {
     url = "https://github.com/dani-garcia/bw_web_builds/releases/download/v${version}/bw_web_v${version}.tar.gz";
-    sha256 = "sha256:0yrk2b2d5sld4z60siacafdz95gqikcv4snzd6hwhq1l6kz151az";
+    sha256 = "sha256-hKHOnQiVq2uSqJmhTWPJXaz2F6GO9/bMy7G9BkZ2puI=";
   };
 
   buildCommand = ''
diff --git a/nixpkgs/pkgs/tools/security/verifpal/default.nix b/nixpkgs/pkgs/tools/security/verifpal/default.nix
index 930b44cb4c68..02f41477c7ef 100644
--- a/nixpkgs/pkgs/tools/security/verifpal/default.nix
+++ b/nixpkgs/pkgs/tools/security/verifpal/default.nix
@@ -6,17 +6,15 @@
 
 buildGoModule rec {
   pname = "verifpal";
-  version = "0.13.7";
+  version = "0.26.0";
 
   src = fetchgit {
     url = "https://source.symbolic.software/verifpal/verifpal.git";
     rev = "v${version}";
-    sha256 = "1ia3mxwcvcxghga2vvhf6mia59cm3jl7vh8laywh421bfj42sh9d";
+    sha256 = "1ag1fpgk4xa5041y6a0pchmh32j876bl0iqjb7lxxqg5nc76d3v1";
   };
 
-  vendorSha256 = "0cmj6h103igg5pcs9c9wrcmrsf0mwp9vbgzf5amsnj1206ryb1p2";
-
-  doCheck = false;
+  vendorSha256 = "XHeXonzRDHXayge5G3apvDarbOfTiV+UQ+IqSbrLkCk=";
 
   nativeBuildInputs = [ pigeon ];
 
diff --git a/nixpkgs/pkgs/tools/security/wapiti/default.nix b/nixpkgs/pkgs/tools/security/wapiti/default.nix
index 945f78dc5599..cd89d4039e5f 100644
--- a/nixpkgs/pkgs/tools/security/wapiti/default.nix
+++ b/nixpkgs/pkgs/tools/security/wapiti/default.nix
@@ -5,13 +5,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "wapiti";
-  version = "3.0.4";
+  version = "3.0.5";
 
   src = fetchFromGitHub {
     owner = "wapiti-scanner";
     repo = pname;
     rev = version;
-    sha256 = "0wnz4nq1q5y74ksb1kcss9vdih0kbrmnkfbyc2ngd9id1ixfamxb";
+    sha256 = "0663hzpmn6p5xh65d2gk4yk2zh992lfd9lhdwwabhpv3n85nza75";
   };
 
   nativeBuildInputs = with python3.pkgs; [
@@ -21,24 +21,34 @@ python3.pkgs.buildPythonApplication rec {
   propagatedBuildInputs = with python3.pkgs; [
     beautifulsoup4
     browser-cookie3
+    cryptography
     Mako
     markupsafe
     pysocks
-    requests
+    httpx
+    httpx-ntlm
+    httpx-socks
     six
     tld
     yaswfp
   ] ++ lib.optionals (python3.pythonOlder "3.8") [ importlib-metadata ];
 
   checkInputs = with python3.pkgs; [
-    responses
+    respx
+    pytest-asyncio
     pytestCheckHook
   ];
 
   postPatch = ''
-    # Is already fixed in the repo. Will be part of the next release
+    # Ignore pinned versions
     substituteInPlace setup.py \
-      --replace "importlib_metadata==2.0.0" "importlib_metadata"
+      --replace "==" ">="
+    substituteInPlace setup.cfg \
+      --replace " --cov" ""
+  '';
+
+  preCheck = ''
+    export HOME=$(mktemp -d);
   '';
 
   disabledTests = [
@@ -47,6 +57,10 @@ python3.pkgs.buildPythonApplication rec {
     "test_bad_separator_used"
     "test_blind"
     "test_chunked_timeout"
+    "test_cookies"
+    "test_drop_cookies"
+    "test_save_and_restore_state"
+    "test_explorer_extract_links"
     "test_cookies_detection"
     "test_csrf_cases"
     "test_detection"
@@ -63,6 +77,8 @@ python3.pkgs.buildPythonApplication rec {
     "test_no_crash"
     "test_options"
     "test_out_of_band"
+    "test_multi_detection"
+    "test_vulnerabilities"
     "test_partial_tag_name_escape"
     "test_prefix_and_suffix_detection"
     "test_qs_limit"
@@ -85,6 +101,9 @@ python3.pkgs.buildPythonApplication rec {
     "test_xss_with_strong_csp"
     "test_xss_with_weak_csp"
     "test_xxe"
+    # Requires a PHP installation
+    "test_timesql"
+    "test_cookies"
   ];
 
   pythonImportsCheck = [ "wapitiCore" ];
diff --git a/nixpkgs/pkgs/tools/security/xcat/default.nix b/nixpkgs/pkgs/tools/security/xcat/default.nix
index 516585f89126..f5fa23d19007 100644
--- a/nixpkgs/pkgs/tools/security/xcat/default.nix
+++ b/nixpkgs/pkgs/tools/security/xcat/default.nix
@@ -27,7 +27,7 @@ python3.pkgs.buildPythonApplication rec {
     cchardet
     click
     colorama
-    prompt_toolkit
+    prompt-toolkit
     xpath-expressions
   ];
 
diff --git a/nixpkgs/pkgs/tools/security/yara/default.nix b/nixpkgs/pkgs/tools/security/yara/default.nix
index 3eb5495d2c96..7b56e50e3bc0 100644
--- a/nixpkgs/pkgs/tools/security/yara/default.nix
+++ b/nixpkgs/pkgs/tools/security/yara/default.nix
@@ -14,14 +14,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "4.1.1";
+  version = "4.1.2";
   pname = "yara";
 
   src = fetchFromGitHub {
     owner = "VirusTotal";
     repo = "yara";
     rev = "v${version}";
-    sha256 = "185j7firn7i5506rcp0va7sxdbminwrm06jsm4c70jf98qxmv522";
+    sha256 = "0n716snh0h5pk00kps6xvfi8z16xw12h1a8cd7w02cj2537xzj3m";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/nixpkgs/pkgs/tools/security/yubikey-agent/default.nix b/nixpkgs/pkgs/tools/security/yubikey-agent/default.nix
index baccb14faf43..fa243e4b048f 100644
--- a/nixpkgs/pkgs/tools/security/yubikey-agent/default.nix
+++ b/nixpkgs/pkgs/tools/security/yubikey-agent/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, lib, fetchFromGitHub, buildGoModule, libnotify, makeWrapper, pcsclite, pinentry_mac, pkg-config, darwin }:
+{ stdenv, lib, fetchFromGitHub, buildGoModule, libnotify, makeWrapper, pcsclite, pkg-config, darwin }:
 
 buildGoModule rec {
   pname = "yubikey-agent";
-  version = "0.1.4";
+  version = "0.1.5";
 
   src = fetchFromGitHub {
     owner = "FiloSottile";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1b4522s7xkh6q74m0lprbnzg2hspg1pr9rzn94qmd06sry82d3fd";
+    sha256 = "14s61jgcmpqh70jz0krrai8xg0xqhwmillxkij50vbsagpxjssk6";
   };
 
   buildInputs =
@@ -27,11 +27,7 @@ buildGoModule rec {
 
   subPackages = [ "." ];
 
-  # On macOS, there isn't a choice of pinentry program, so let's
-  # ensure the nixpkgs-provided one is available
-  postInstall = lib.optionalString stdenv.isDarwin ''
-    wrapProgram $out/bin/yubikey-agent --suffix PATH : $(dirname ${pinentry_mac}/${pinentry_mac.binaryPath})
-  '' + lib.optionalString stdenv.isLinux ''
+  postInstall = lib.optionalString stdenv.isLinux ''
     mkdir -p $out/lib/systemd/user
     substitute contrib/systemd/user/yubikey-agent.service $out/lib/systemd/user/yubikey-agent.service \
       --replace 'ExecStart=yubikey-agent' "ExecStart=$out/bin/yubikey-agent"
diff --git a/nixpkgs/pkgs/tools/system/acct/default.nix b/nixpkgs/pkgs/tools/system/acct/default.nix
index fbe396f1fdf4..9a363eb8706e 100644
--- a/nixpkgs/pkgs/tools/system/acct/default.nix
+++ b/nixpkgs/pkgs/tools/system/acct/default.nix
@@ -1,10 +1,11 @@
 { fetchurl, lib, stdenv }:
 
 stdenv.mkDerivation rec {
-  name = "acct-6.6.4";
+  pname = "acct";
+  version = "6.6.4";
 
   src = fetchurl {
-    url = "mirror://gnu/acct/${name}.tar.gz";
+    url = "mirror://gnu/acct/acct-${version}.tar.gz";
     sha256 = "0gv6m8giazshvgpvwbng98chpas09myyfw1zr2y7hqxib0mvy5ac";
   };
 
diff --git a/nixpkgs/pkgs/tools/system/acpica-tools/default.nix b/nixpkgs/pkgs/tools/system/acpica-tools/default.nix
index 36ad8ff06e38..b035ae04215d 100644
--- a/nixpkgs/pkgs/tools/system/acpica-tools/default.nix
+++ b/nixpkgs/pkgs/tools/system/acpica-tools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "acpica-tools";
-  version = "20200430";
+  version = "20210730";
 
   src = fetchurl {
     url = "https://acpica.org/sites/acpica/files/acpica-unix-${version}.tar.gz";
-    sha256 = "0z19bniqsa8y0n1qrxmb6gz7m63jpwx22zgk5ablyriixhfpz07v";
+    sha256 = "1pmm977nyl3bs71ipzcl4dh30qm8x9wm2p2ml0m62rl62kai832a";
   };
 
   NIX_CFLAGS_COMPILE = "-O3";
@@ -16,10 +16,12 @@ stdenv.mkDerivation rec {
   buildFlags = [
     "acpibin"
     "acpidump"
+    "acpiexamples"
     "acpiexec"
     "acpihelp"
-    "acpinames"
+    "acpisrc"
     "acpixtract"
+    "iasl"
   ];
 
   nativeBuildInputs = [ bison flex ];
@@ -29,7 +31,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "ACPICA Tools";
     homepage = "https://www.acpica.org/";
-    license = with licenses; [ gpl2 bsd3 ];
+    license = with licenses; [ iasl gpl2Only bsd3 ];
     platforms = platforms.linux;
     maintainers = with maintainers; [ tadfisher ];
   };
diff --git a/nixpkgs/pkgs/tools/system/actkbd/default.nix b/nixpkgs/pkgs/tools/system/actkbd/default.nix
index ac2fb338d3d2..61be7e5a4a92 100644
--- a/nixpkgs/pkgs/tools/system/actkbd/default.nix
+++ b/nixpkgs/pkgs/tools/system/actkbd/default.nix
@@ -1,10 +1,11 @@
 { fetchurl, lib, stdenv }:
 
 stdenv.mkDerivation rec {
-  name = "actkbd-0.2.8";
+  pname = "actkbd";
+  version = "0.2.8";
 
   src = fetchurl {
-    url = "http://users.softlab.ece.ntua.gr/~thkala/projects/actkbd/files/${name}.tar.bz2";
+    url = "http://users.softlab.ece.ntua.gr/~thkala/projects/actkbd/files/actkbd-${version}.tar.bz2";
     sha256 = "1ipb7k5q7k7p54is96ij2n74jfa6xc0llb9lpjwxhsqviqxn9slm";
   };
 
diff --git a/nixpkgs/pkgs/tools/system/bar/default.nix b/nixpkgs/pkgs/tools/system/bar/default.nix
index 79bb3f79a998..ddea8881ca70 100644
--- a/nixpkgs/pkgs/tools/system/bar/default.nix
+++ b/nixpkgs/pkgs/tools/system/bar/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "bar-1.11.1";
+stdenv.mkDerivation rec {
+  pname = "bar";
+  version = "1.11.1";
 
   src = fetchurl {
-    url = "mirror://sourceforge/project/clpbar/clpbar/bar-1.11.1/bar_1.11.1.tar.gz";
+    url = "mirror://sourceforge/project/clpbar/clpbar/bar-${version}/bar_${version}.tar.gz";
     sha256 = "00v5cb6vzizyyhflgr62d3k8dqc0rg6wdgfyyk11c0s0r32mw3zs";
   };
 
diff --git a/nixpkgs/pkgs/tools/system/battop/battery.patch b/nixpkgs/pkgs/tools/system/battop/battery.patch
new file mode 100644
index 000000000000..218359d904fe
--- /dev/null
+++ b/nixpkgs/pkgs/tools/system/battop/battery.patch
@@ -0,0 +1,588 @@
+diff --git a/Cargo.lock b/Cargo.lock
+index 57ee609..d156cd2 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -1,430 +1,429 @@
+ # This file is automatically @generated by Cargo.
+ # It is not intended for manual editing.
++version = 3
++
+ [[package]]
+ name = "autocfg"
+ version = "0.1.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0e49efa51329a5fd37e7c79db4621af617cd4e3e5bc224939808d076077077bf"
+ 
+ [[package]]
+ name = "battery"
+-version = "0.7.4"
++version = "0.7.8"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b4b624268937c0e0a3edb7c27843f9e547c320d730c610d3b8e6e8e95b2026e4"
+ dependencies = [
+- "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
+- "core-foundation 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "lazycell 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
+- "mach 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "nix 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "uom 0.23.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 1.0.0",
++ "core-foundation",
++ "lazycell",
++ "libc",
++ "mach",
++ "nix",
++ "num-traits",
++ "uom",
++ "winapi",
+ ]
+ 
+ [[package]]
+ name = "battop"
+ version = "0.2.4"
+ dependencies = [
+- "battery 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "humantime 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "stderrlog 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "structopt 0.2.17 (registry+https://github.com/rust-lang/crates.io-index)",
+- "termion 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tui 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "battery",
++ "humantime",
++ "itertools",
++ "log",
++ "stderrlog",
++ "structopt",
++ "termion",
++ "tui",
+ ]
+ 
+ [[package]]
+ name = "bitflags"
+-version = "1.0.4"
++version = "1.2.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
+ 
+ [[package]]
+ name = "cassowary"
+ version = "0.3.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53"
+ 
+ [[package]]
+ name = "cc"
+ version = "1.0.37"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "39f75544d7bbaf57560d2168f28fd649ff9c76153874db88bdbdfd839b1a7e7d"
+ 
+ [[package]]
+ name = "cfg-if"
+ version = "0.1.9"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b486ce3ccf7ffd79fdeb678eac06a9e6c09fc88d33836340becb8fffe87c5e33"
++
++[[package]]
++name = "cfg-if"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+ 
+ [[package]]
+ name = "chrono"
+ version = "0.4.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "45912881121cb26fad7c38c17ba7daa18764771836b34fab7d3fbd93ed633878"
+ dependencies = [
+- "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)",
+- "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-integer",
++ "num-traits",
++ "time",
+ ]
+ 
+ [[package]]
+ name = "clap"
+ version = "2.33.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9"
+ dependencies = [
+- "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags",
++ "textwrap",
++ "unicode-width",
+ ]
+ 
+ [[package]]
+ name = "core-foundation"
+-version = "0.6.4"
++version = "0.7.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "57d24c7a13c43e870e37c1556b74555437870a04514f7685f5b354e090567171"
+ dependencies = [
+- "core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
++ "core-foundation-sys",
++ "libc",
+ ]
+ 
+ [[package]]
+ name = "core-foundation-sys"
+-version = "0.6.2"
++version = "0.7.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac"
+ 
+ [[package]]
+ name = "either"
+ version = "1.5.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5527cfe0d098f36e3f8839852688e63c8fff1c90b2b405aef730615f9a7bcf7b"
+ 
+ [[package]]
+ name = "heck"
+ version = "0.3.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205"
+ dependencies = [
+- "unicode-segmentation 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-segmentation",
+ ]
+ 
+ [[package]]
+ name = "humantime"
+ version = "1.2.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3ca7e5f2e110db35f93b837c81797f3714500b81d517bf20c431b16d3ca4f114"
+ dependencies = [
+- "quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quick-error",
+ ]
+ 
+ [[package]]
+ name = "itertools"
+ version = "0.8.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5b8467d9c1cebe26feb08c640139247fac215782d35371ade9a2136ed6085358"
+ dependencies = [
+- "either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "either",
+ ]
+ 
+ [[package]]
+ name = "lazy_static"
+ version = "1.3.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bc5729f27f159ddd61f4df6228e827e86643d4d3e7c32183cb30a1c08f604a14"
+ 
+ [[package]]
+ name = "lazycell"
+-version = "1.2.1"
++version = "1.3.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
+ 
+ [[package]]
+ name = "libc"
+-version = "0.2.58"
++version = "0.2.98"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "320cfe77175da3a483efed4bc0adc1968ca050b098ce4f2f1c13a56626128790"
+ 
+ [[package]]
+ name = "log"
+ version = "0.4.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c84ec4b527950aa83a329754b01dbe3f58361d1c5efacd1f6d68c494d08a17c6"
+ dependencies = [
+- "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.9",
+ ]
+ 
+ [[package]]
+ name = "mach"
+-version = "0.2.3"
++version = "0.3.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa"
+ dependencies = [
+- "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc",
+ ]
+ 
+ [[package]]
+ name = "nix"
+-version = "0.14.0"
++version = "0.19.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b2ccba0cfe4fdf15982d1674c69b1fd80bad427d293849982668dfe454bd61f2"
+ dependencies = [
+- "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)",
+- "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
+- "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags",
++ "cc",
++ "cfg-if 1.0.0",
++ "libc",
+ ]
+ 
+ [[package]]
+ name = "num-integer"
+ version = "0.1.41"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b85e541ef8255f6cf42bbfe4ef361305c6c135d10919ecc26126c4e5ae94bc09"
+ dependencies = [
+- "autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg",
++ "num-traits",
+ ]
+ 
+ [[package]]
+ name = "num-traits"
+ version = "0.2.8"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6ba9a427cfca2be13aa6f6403b0b7e7368fe982bfa16fccc450ce74c46cd9b32"
+ dependencies = [
+- "autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg",
+ ]
+ 
+ [[package]]
+ name = "numtoa"
+ version = "0.1.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b8f8bdf33df195859076e54ab11ee78a1b208382d3a26ec40d142ffc1ecc49ef"
+ 
+ [[package]]
+ name = "proc-macro2"
+ version = "0.4.30"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759"
+ dependencies = [
+- "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-xid",
+ ]
+ 
+ [[package]]
+ name = "quick-error"
+ version = "1.2.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0"
+ 
+ [[package]]
+ name = "quote"
+ version = "0.6.12"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "faf4799c5d274f3868a4aae320a0a182cbd2baee377b378f080e16a23e9d80db"
+ dependencies = [
+- "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2",
+ ]
+ 
+ [[package]]
+ name = "redox_syscall"
+ version = "0.1.54"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "12229c14a0f65c4f1cb046a3b52047cdd9da1f4b30f8a39c5063c8bae515e252"
+ 
+ [[package]]
+ name = "redox_termios"
+ version = "0.1.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76"
+ dependencies = [
+- "redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)",
++ "redox_syscall",
+ ]
+ 
+ [[package]]
+ name = "stderrlog"
+ version = "0.4.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "61dc66b7ae72b65636dbf36326f9638fb3ba27871bb737a62e2c309b87d91b70"
+ dependencies = [
+- "chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "termcolor 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "chrono",
++ "log",
++ "termcolor",
++ "thread_local",
+ ]
+ 
+ [[package]]
+ name = "structopt"
+ version = "0.2.17"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c767a8971f53d7324583085deee2e230903be09e52fb27df9af94c5cb2b43c31"
+ dependencies = [
+- "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "structopt-derive 0.2.17 (registry+https://github.com/rust-lang/crates.io-index)",
++ "clap",
++ "structopt-derive",
+ ]
+ 
+ [[package]]
+ name = "structopt-derive"
+ version = "0.2.17"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c57a30c87454ced2186f62f940e981746e8cbbe026d52090c8c4352b636f8235"
+ dependencies = [
+- "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
+- "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
+- "syn 0.15.34 (registry+https://github.com/rust-lang/crates.io-index)",
++ "heck",
++ "proc-macro2",
++ "quote",
++ "syn",
+ ]
+ 
+ [[package]]
+ name = "syn"
+ version = "0.15.34"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a1393e4a97a19c01e900df2aec855a29f71cf02c402e2f443b8d2747c25c5dbe"
+ dependencies = [
+- "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
+- "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
+- "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2",
++ "quote",
++ "unicode-xid",
+ ]
+ 
+ [[package]]
+ name = "termcolor"
+ version = "0.3.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "adc4587ead41bf016f11af03e55a624c06568b5a19db4e90fde573d805074f83"
+ dependencies = [
+- "wincolor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wincolor",
+ ]
+ 
+ [[package]]
+ name = "termion"
+ version = "1.5.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dde0593aeb8d47accea5392b39350015b5eccb12c0d98044d856983d89548dea"
+ dependencies = [
+- "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
+- "numtoa 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)",
+- "redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc",
++ "numtoa",
++ "redox_syscall",
++ "redox_termios",
+ ]
+ 
+ [[package]]
+ name = "textwrap"
+ version = "0.11.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
+ dependencies = [
+- "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-width",
+ ]
+ 
+ [[package]]
+ name = "thread_local"
+ version = "0.3.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b"
+ dependencies = [
+- "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static",
+ ]
+ 
+ [[package]]
+ name = "time"
+ version = "0.1.42"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f"
+ dependencies = [
+- "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
+- "redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc",
++ "redox_syscall",
++ "winapi",
+ ]
+ 
+ [[package]]
+ name = "tui"
+ version = "0.6.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8896d3a5cb81557cddef234cdeaa2a219d2af5fa9ccbb3cbdfbb52a576feb86f"
+ dependencies = [
+- "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "cassowary 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "termion 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "unicode-segmentation 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags",
++ "cassowary",
++ "either",
++ "itertools",
++ "log",
++ "termion",
++ "unicode-segmentation",
++ "unicode-width",
+ ]
+ 
+ [[package]]
+ name = "typenum"
+ version = "1.10.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "612d636f949607bdf9b123b4a6f6d966dedf3ff669f7f045890d3a4a73948169"
+ 
+ [[package]]
+ name = "unicode-segmentation"
+ version = "1.3.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1967f4cdfc355b37fd76d2a954fb2ed3871034eb4f26d60537d88795cfc332a9"
+ 
+ [[package]]
+ name = "unicode-width"
+ version = "0.1.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "882386231c45df4700b275c7ff55b6f3698780a650026380e72dabe76fa46526"
+ 
+ [[package]]
+ name = "unicode-xid"
+ version = "0.1.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
+ 
+ [[package]]
+ name = "uom"
+-version = "0.23.1"
++version = "0.30.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e76503e636584f1e10b9b3b9498538279561adcef5412927ba00c2b32c4ce5ed"
+ dependencies = [
+- "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits",
++ "typenum",
+ ]
+ 
+-[[package]]
+-name = "void"
+-version = "1.0.2"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-
+ [[package]]
+ name = "winapi"
+ version = "0.3.7"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f10e386af2b13e47c89e7236a7a14a086791a2b88ebad6df9bf42040195cf770"
+ dependencies = [
+- "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi-i686-pc-windows-gnu",
++ "winapi-x86_64-pc-windows-gnu",
+ ]
+ 
+ [[package]]
+ name = "winapi-i686-pc-windows-gnu"
+ version = "0.4.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+ 
+ [[package]]
+ name = "winapi-x86_64-pc-windows-gnu"
+ version = "0.4.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+ 
+ [[package]]
+ name = "wincolor"
+ version = "0.1.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "eeb06499a3a4d44302791052df005d5232b927ed1a9658146d842165c4de7767"
+ dependencies = [
+- "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi",
+ ]
+-
+-[metadata]
+-"checksum autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "0e49efa51329a5fd37e7c79db4621af617cd4e3e5bc224939808d076077077bf"
+-"checksum battery 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6d6fe5630049e900227cd89afce4c1204b88ec8e61a2581bb96fcce26f047b"
+-"checksum bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
+-"checksum cassowary 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53"
+-"checksum cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)" = "39f75544d7bbaf57560d2168f28fd649ff9c76153874db88bdbdfd839b1a7e7d"
+-"checksum cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "b486ce3ccf7ffd79fdeb678eac06a9e6c09fc88d33836340becb8fffe87c5e33"
+-"checksum chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "45912881121cb26fad7c38c17ba7daa18764771836b34fab7d3fbd93ed633878"
+-"checksum clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9"
+-"checksum core-foundation 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "25b9e03f145fd4f2bf705e07b900cd41fc636598fe5dc452fd0db1441c3f496d"
+-"checksum core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e7ca8a5221364ef15ce201e8ed2f609fc312682a8f4e0e3d4aa5879764e0fa3b"
+-"checksum either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5527cfe0d098f36e3f8839852688e63c8fff1c90b2b405aef730615f9a7bcf7b"
+-"checksum heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205"
+-"checksum humantime 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3ca7e5f2e110db35f93b837c81797f3714500b81d517bf20c431b16d3ca4f114"
+-"checksum itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5b8467d9c1cebe26feb08c640139247fac215782d35371ade9a2136ed6085358"
+-"checksum lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5729f27f159ddd61f4df6228e827e86643d4d3e7c32183cb30a1c08f604a14"
+-"checksum lazycell 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b294d6fa9ee409a054354afc4352b0b9ef7ca222c69b8812cbea9e7d2bf3783f"
+-"checksum libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)" = "6281b86796ba5e4366000be6e9e18bf35580adf9e63fbe2294aadb587613a319"
+-"checksum log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c84ec4b527950aa83a329754b01dbe3f58361d1c5efacd1f6d68c494d08a17c6"
+-"checksum mach 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "86dd2487cdfea56def77b88438a2c915fb45113c5319bfe7e14306ca4cd0b0e1"
+-"checksum nix 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0d10caafde29a846a82ae0af70414e4643e072993441033b2c93217957e2f867"
+-"checksum num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)" = "b85e541ef8255f6cf42bbfe4ef361305c6c135d10919ecc26126c4e5ae94bc09"
+-"checksum num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "6ba9a427cfca2be13aa6f6403b0b7e7368fe982bfa16fccc450ce74c46cd9b32"
+-"checksum numtoa 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b8f8bdf33df195859076e54ab11ee78a1b208382d3a26ec40d142ffc1ecc49ef"
+-"checksum proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)" = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759"
+-"checksum quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0"
+-"checksum quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)" = "faf4799c5d274f3868a4aae320a0a182cbd2baee377b378f080e16a23e9d80db"
+-"checksum redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)" = "12229c14a0f65c4f1cb046a3b52047cdd9da1f4b30f8a39c5063c8bae515e252"
+-"checksum redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76"
+-"checksum stderrlog 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "61dc66b7ae72b65636dbf36326f9638fb3ba27871bb737a62e2c309b87d91b70"
+-"checksum structopt 0.2.17 (registry+https://github.com/rust-lang/crates.io-index)" = "c767a8971f53d7324583085deee2e230903be09e52fb27df9af94c5cb2b43c31"
+-"checksum structopt-derive 0.2.17 (registry+https://github.com/rust-lang/crates.io-index)" = "c57a30c87454ced2186f62f940e981746e8cbbe026d52090c8c4352b636f8235"
+-"checksum syn 0.15.34 (registry+https://github.com/rust-lang/crates.io-index)" = "a1393e4a97a19c01e900df2aec855a29f71cf02c402e2f443b8d2747c25c5dbe"
+-"checksum termcolor 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "adc4587ead41bf016f11af03e55a624c06568b5a19db4e90fde573d805074f83"
+-"checksum termion 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dde0593aeb8d47accea5392b39350015b5eccb12c0d98044d856983d89548dea"
+-"checksum textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
+-"checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b"
+-"checksum time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f"
+-"checksum tui 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8896d3a5cb81557cddef234cdeaa2a219d2af5fa9ccbb3cbdfbb52a576feb86f"
+-"checksum typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "612d636f949607bdf9b123b4a6f6d966dedf3ff669f7f045890d3a4a73948169"
+-"checksum unicode-segmentation 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1967f4cdfc355b37fd76d2a954fb2ed3871034eb4f26d60537d88795cfc332a9"
+-"checksum unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "882386231c45df4700b275c7ff55b6f3698780a650026380e72dabe76fa46526"
+-"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
+-"checksum uom 0.23.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3ef5bbe8385736e498dbb0033361f764ab43a435192513861447b9f7714b3fec"
+-"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
+-"checksum winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "f10e386af2b13e47c89e7236a7a14a086791a2b88ebad6df9bf42040195cf770"
+-"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+-"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+-"checksum wincolor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "eeb06499a3a4d44302791052df005d5232b927ed1a9658146d842165c4de7767"
+diff --git a/Cargo.toml b/Cargo.toml
+index 3d3df77..34b9bc5 100644
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -17,7 +17,7 @@ travis-ci = { repository = "svartalf/rust-battop", branch = "master" }
+ maintenance = { status = "actively-developed" }
+ 
+ [dependencies]
+-battery = "^0.7"
++battery = "^0.7.7"
+ structopt = { version = "0.2", default-features = false }
+ log = "0.4.6"
+ stderrlog = "0.4.1"
diff --git a/nixpkgs/pkgs/tools/system/battop/default.nix b/nixpkgs/pkgs/tools/system/battop/default.nix
new file mode 100644
index 000000000000..e28789b835ec
--- /dev/null
+++ b/nixpkgs/pkgs/tools/system/battop/default.nix
@@ -0,0 +1,25 @@
+{ lib, fetchFromGitHub, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "battop";
+  version = "0.2.4";
+
+  src = fetchFromGitHub {
+    owner = "svartalf";
+    repo = "rust-battop";
+    rev = "v${version}";
+    sha256 = "0p53jl3r2p1w9m2fvhzzrj8d9gwpzs22df5sbm7wwja4pxn7ay1w";
+  };
+
+  # https://github.com/svartalf/rust-battop/issues/11
+  cargoPatches = [ ./battery.patch ];
+
+  cargoSha256 = "0ipmnrn6lmf6rqzsqmaxzy9lblrxyrxzkji968356nxxmwzfbfvh";
+
+  meta = with lib; {
+    description = "is an interactive battery viewer";
+    homepage = "https://github.com/svartalf/rust-battop";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ hdhog ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/system/collectd/plugins.nix b/nixpkgs/pkgs/tools/system/collectd/plugins.nix
index dd578cd6393b..6438a545a485 100644
--- a/nixpkgs/pkgs/tools/system/collectd/plugins.nix
+++ b/nixpkgs/pkgs/tools/system/collectd/plugins.nix
@@ -6,6 +6,7 @@
 , jdk
 , libatasmart
 , libdbi
+, libesmtp
 , libgcrypt
 , libmemcached, cyrus_sasl
 , libmodbus
@@ -19,12 +20,14 @@
 , libvirt
 , libxml2
 , libapparmor, libcap_ng, numactl
-, lvm2
 , lua
+, lvm2
 , lm_sensors
 , mongoc
 , mosquitto
 , net-snmp
+, openldap
+, openipmi
 , perl
 , postgresql
 , protobufc
@@ -35,7 +38,9 @@
 , rrdtool
 , udev
 , varnish
+, xen
 , yajl
+, IOKit
 # Defaults to `null` for all supported plugins,
 # list of plugin names for a custom build
 , enabledPlugins ? null
@@ -43,302 +48,90 @@
 }:
 
 let
-  # All plugins and their dependencies.
-  # Please help complete this!
+  # Plugins that have dependencies.
+  # Please help to extend these!
   plugins = {
-    aggregation = {};
-    amqp = {
-      buildInputs = [ yajl ] ++
-        lib.optionals stdenv.isLinux [ rabbitmq-c ];
-    };
-    apache = {
-      buildInputs = [ curl ];
-    };
-    apcups = {};
-    apple_sensors = {};
-    aquaero = {};
-    ascent = {
-      buildInputs = [ curl libxml2 ];
-    };
-    barometer = {};
-    battery = {
-      buildInputs = lib.optionals stdenv.isDarwin [
-        darwin.apple_sdk.frameworks.IOKit
-      ];
-    };
-    bind = {
-      buildInputs = [ curl libxml2 ];
-    };
-    ceph = {
-      buildInputs = [ yajl ];
-    };
-    cgroups = {};
-    chrony = {};
-    conntrack = {};
-    contextswitch = {};
-    cpu = {};
-    cpufreq = {};
-    cpusleep = {};
-    csv = {};
-    curl = {
-      buildInputs = [ curl ];
-    };
-    curl_json = {
-      buildInputs = [ curl yajl ];
-    };
-    curl_xml = {
-      buildInputs = [ curl libxml2 ];
-    };
-    dbi = {
-      buildInputs = [ libdbi ];
-    };
-    df = {};
-    disk = {
-      buildInputs = lib.optionals stdenv.isLinux [
-        udev
-      ] ++ lib.optionals stdenv.isDarwin [
-        darwin.apple_sdk.frameworks.IOKit
-      ];
-    };
-    dns = {
-      buildInputs = [ libpcap ];
-    };
-    dpdkevents = {};
-    dpdkstat = {};
-    drbd = {};
-    email = {};
-    entropy = {};
-    ethstat = {};
-    exec = {};
-    fhcount = {};
-    filecount = {};
-    fscache = {};
-    gmond = {};
-    gps = {};
-    grpc = {};
-    hddtemp = {};
-    hugepages = {};
-    intel_pmu = {};
-    intel_rdt = {};
-    interface = {};
-    ipc = {};
-    ipmi = {};
-    iptables = {
-      buildInputs = [
-        libpcap
-      ] ++ lib.optionals stdenv.isLinux [
-        iptables libmnl
-      ];
-    };
-    ipvs = {};
-    irq = {};
-    java = {
-      buildInputs = [ jdk libgcrypt libxml2 ];
-    };
-    load = {};
-    logfile = {};
-    log_logstash = {
-      buildInputs = [ yajl ];
-    };
-    lpar = {};
-    lua = {
-      buildInputs = [ lua ];
-    };
-    lvm = {};
-    madwifi = {};
-    match_empty_counter = {};
-    match_hashed = {};
-    match_regex = {};
-    match_timediff = {};
-    match_value = {};
-    mbmon = {};
-    mcelog = {};
-    md = {};
-    memcachec = {
-      buildInputs = [ libmemcached cyrus_sasl ];
-    };
-    memcached = {};
-    memory = {};
-    mic = {};
-    modbus = {
-      buildInputs = lib.optionals stdenv.isLinux [ libmodbus ];
-    };
-    mqtt = {
-      buildInputs = [ mosquitto ];
-    };
-    multimeter = {};
-    mysql = {
-      buildInputs = lib.optionals (libmysqlclient != null) [
-        libmysqlclient
-      ];
-    };
-    netapp = {};
-    netlink = {
-      buildInputs = [
-        libpcap
-      ] ++ lib.optionals stdenv.isLinux [
-        libmnl
-      ];
-    };
-    network = {
-      buildInputs = [ libgcrypt ];
-    };
-    nfs = {};
-    nginx = {
-      buildInputs = [ curl ];
-    };
-    notify_desktop = {
-      buildInputs = [ libnotify gdk-pixbuf ];
-    };
-    notify_email = {};
-    notify_nagios = {};
-    ntpd = {};
-    numa = {};
-    nut = {};
-    olsrd = {};
-    onewire = {};
-    openldap = {};
-    openvpn = {};
-    oracle = {};
-    ovs_events = {
-      buildInputs = [ yajl ];
-    };
-    ovs_stats = {
-      buildInputs = [ yajl ];
-    };
-    perl = {
-      buildInputs = [ perl ];
-    };
-    pf = {};
-    pinba = {
-      buildInputs = [ protobufc ];
-    };
-    ping = {
-      buildInputs = [ liboping ];
-    };
-    postgresql = {
-      buildInputs = [ postgresql ];
-    };
-    powerdns = {};
-    processes = {};
-    protocols = {};
-    python = {
-      buildInputs = [ python ];
-    };
-    redis = {
-      buildInputs = [ hiredis ];
-    };
-    routeros = {};
-    rrdcached = {
-      buildInputs = [ rrdtool libxml2 ];
-    };
-    rrdtool = {
-      buildInputs = [ rrdtool libxml2 ];
-    };
-    sensors = {
-      buildInputs = lib.optionals stdenv.isLinux [ lm_sensors ];
-    };
-    serial = {};
-    sigrok = {
-      buildInputs = lib.optionals stdenv.isLinux [ libsigrok udev ];
-    };
-    smart = {
-      buildInputs = lib.optionals stdenv.isLinux [ libatasmart udev ];
-    };
-    snmp = {
-      buildInputs = lib.optionals stdenv.isLinux [ net-snmp ];
-    };
-    snmp_agent = {
-      buildInputs = lib.optionals stdenv.isLinux [ net-snmp ];
-    };
-    statsd = {};
-    swap = {};
-    synproxy = {};
-    syslog = {};
-    table = {};
-    tail_csv = {};
-    tail = {};
-    tape = {};
-    target_notification = {};
-    target_replace = {};
-    target_scale = {};
-    target_set = {};
-    target_v5upgrade = {};
-    tcpconns = {};
-    teamspeak2 = {};
-    ted = {};
-    thermal = {};
-    threshold = {};
-    tokyotyrant = {};
-    turbostat = {};
-    unixsock = {};
-    uptime = {};
-    users = {};
-    uuid = {};
-    varnish = {
-      buildInputs = [ curl varnish ];
-    };
-    virt = {
-      buildInputs = [ libvirt libxml2 yajl ] ++
-        lib.optionals stdenv.isLinux [ lvm2 udev
-          # those might be no longer required when https://github.com/NixOS/nixpkgs/pull/51767
-          # is merged
-          libapparmor numactl libcap_ng
-        ];
-    };
-    vmem = {};
-    vserver = {};
-    wireless = {};
-    write_graphite = {};
-    write_http = {
-      buildInputs = [ curl yajl ];
-    };
-    write_kafka = {
-      buildInputs = [ yajl rdkafka ];
-    };
-    write_log = {
-      buildInputs = [ yajl ];
-    };
-    write_mongodb = {
-      buildInputs = [ mongoc ];
-    };
-    write_prometheus = {
-      buildInputs = [ protobufc libmicrohttpd ];
-    };
-    write_redis = {
-      buildInputs = [ hiredis ];
-    };
-    write_riemann = {
-      buildInputs = [ protobufc riemann_c_client ];
-    };
-    write_sensu = {};
-    write_tsdb = {};
-    xencpu = {};
-    xmms = {};
-    zfs_arc = {};
-    zone = {};
-    zookeeper = {};
+    amqp.buildInputs = [
+      yajl
+    ] ++ lib.optionals stdenv.isLinux [ rabbitmq-c ];
+    apache.buildInputs = [ curl ];
+    ascent.buildInputs = [ curl libxml2 ];
+    battery.buildInputs = lib.optionals stdenv.isDarwin [
+      IOKit
+    ];
+    bind.buildInputs = [ curl libxml2 ];
+    ceph.buildInputs = [ yajl ];
+    curl.buildInputs = [ curl ];
+    curl_json.buildInputs = [ curl yajl ];
+    curl_xml.buildInputs = [ curl libxml2 ];
+    dbi.buildInputs = [ libdbi ];
+    disk.buildInputs = lib.optionals stdenv.isLinux [
+      udev
+    ] ++ lib.optionals stdenv.isDarwin [
+      IOKit
+    ];
+    dns.buildInputs = [ libpcap ];
+    ipmi.buildInputs = [ openipmi ];
+    iptables.buildInputs = [
+      libpcap
+    ] ++ lib.optionals stdenv.isLinux [
+      iptables libmnl
+    ];
+    java.buildInputs = [ jdk libgcrypt libxml2 ];
+    log_logstash.buildInputs = [ yajl ];
+    lua.buildInputs = [ lua ];
+    memcachec.buildInputs = [ libmemcached cyrus_sasl ];
+    modbus.buildInputs = lib.optionals stdenv.isLinux [ libmodbus ];
+    mqtt.buildInputs = [ mosquitto ];
+    mysql.buildInputs = lib.optionals (libmysqlclient != null) [
+      libmysqlclient
+    ];
+    netlink.buildInputs = [
+      libpcap
+    ] ++ lib.optionals stdenv.isLinux [
+      libmnl
+    ];
+    network.buildInputs = [ libgcrypt ];
+    nginx.buildInputs = [ curl ];
+    notify_desktop.buildInputs = [ libnotify gdk-pixbuf ];
+    notify_email.buildInputs = [ libesmtp ];
+    openldap.buildInputs = [ openldap ];
+    ovs_events.buildInputs = [ yajl ];
+    ovs_stats.buildInputs = [ yajl ];
+    perl.buildInputs = [ perl ];
+    pinba.buildInputs = [ protobufc ];
+    ping.buildInputs = [ liboping ];
+    postgresql.buildInputs = [ postgresql ];
+    python.buildInputs = [ python ];
+    redis.buildInputs = [ hiredis ];
+    rrdcached.buildInputs = [ rrdtool libxml2 ];
+    rrdtool.buildInputs = [ rrdtool libxml2 ];
+    sensors.buildInputs = lib.optionals stdenv.isLinux [ lm_sensors ];
+    sigrok.buildInputs = lib.optionals stdenv.isLinux [ libsigrok udev ];
+    smart.buildInputs = lib.optionals stdenv.isLinux [ libatasmart udev ];
+    snmp.buildInputs = lib.optionals stdenv.isLinux [ net-snmp ];
+    snmp_agent.buildInputs = lib.optionals stdenv.isLinux [ net-snmp ];
+    varnish.buildInputs = [ curl varnish ];
+    virt.buildInputs = [
+      libvirt libxml2 yajl
+    ] ++ lib.optionals stdenv.isLinux [ lvm2 udev ];
+    write_http.buildInputs = [ curl yajl ];
+    write_kafka.buildInputs = [ yajl rdkafka ];
+    write_log.buildInputs = [ yajl ];
+    write_mongodb.buildInputs = [ mongoc ];
+    write_prometheus.buildInputs = [ protobufc libmicrohttpd ];
+    write_redis.buildInputs = [ hiredis ];
+    write_riemann.buildInputs = [ protobufc riemann_c_client ];
+    xencpu.buildInputs = [ xen ];
   };
 
-  configureFlags =
-    if enabledPlugins == null
-    then []
-    else (map (plugin: "--enable-${plugin}") enabledPlugins) ++
-    (map (plugin: "--disable-${plugin}")
-      (builtins.filter (plugin: ! builtins.elem plugin enabledPlugins)
-        (builtins.attrNames plugins))
-    );
+  configureFlags = lib.optionals (enabledPlugins != null) (
+    [ "--disable-all-plugins" ]
+    ++ (map (plugin: "--enable-${plugin}") enabledPlugins));
 
   pluginBuildInputs = plugin:
-        if ! builtins.hasAttr plugin plugins
-        then throw "Unknown collectd plugin: ${plugin}"
-        else
-          let
-            pluginAttrs = builtins.getAttr plugin plugins;
-          in
-          if pluginAttrs ? "buildInputs"
-          then pluginAttrs.buildInputs
-          else [];
+    lib.optionals (plugins ? ${plugin} && plugins.${plugin} ? buildInputs)
+    plugins.${plugin}.buildInputs;
 
   buildInputs =
     if enabledPlugins == null
diff --git a/nixpkgs/pkgs/tools/system/cron/default.nix b/nixpkgs/pkgs/tools/system/cron/default.nix
index d1b8d2d6afd9..8f8421781e36 100644
--- a/nixpkgs/pkgs/tools/system/cron/default.nix
+++ b/nixpkgs/pkgs/tools/system/cron/default.nix
@@ -1,9 +1,11 @@
 {lib, stdenv, fetchurl, vim, sendmailPath ? "/usr/sbin/sendmail"}:
 
-stdenv.mkDerivation {
-  name = "cron-4.1";
+stdenv.mkDerivation rec {
+  pname = "cron";
+  version = "4.1";
+
   src = fetchurl {
-    url = "ftp://ftp.isc.org/isc/cron/cron_4.1.shar";
+    url = "ftp://ftp.isc.org/isc/cron/cron_${version}.shar";
     sha256 = "16n3dras4b1jh7g958nz1k54pl9pg5fwb3fvjln8z67varvq6if4";
   };
 
diff --git a/nixpkgs/pkgs/tools/system/ctop/default.nix b/nixpkgs/pkgs/tools/system/ctop/default.nix
index 45cbca172fa7..36dfd02c33f6 100644
--- a/nixpkgs/pkgs/tools/system/ctop/default.nix
+++ b/nixpkgs/pkgs/tools/system/ctop/default.nix
@@ -15,7 +15,7 @@ buildGoModule rec {
 
   doCheck = false;
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version} -X main.build=v${version}" ];
+  ldflags = [ "-s" "-w" "-X main.version=${version}" "-X main.build=v${version}" ];
 
   meta = with lib; {
     description = "Top-like interface for container metrics";
diff --git a/nixpkgs/pkgs/tools/system/dcfldd/default.nix b/nixpkgs/pkgs/tools/system/dcfldd/default.nix
index e5d5026e6290..7dc6e1fc1237 100644
--- a/nixpkgs/pkgs/tools/system/dcfldd/default.nix
+++ b/nixpkgs/pkgs/tools/system/dcfldd/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "dcfldd-1.3.4-1";
+  pname = "dcfldd";
+  version = "1.3.4-1";
 
   src = fetchurl {
-    url = "mirror://sourceforge/dcfldd/${name}.tar.gz";
+    url = "mirror://sourceforge/dcfldd/dcfldd-${version}.tar.gz";
     sha256 = "1y6mwsvm75f5jzxsjjk0yhf8xnpmz6y8qvcxfandavx59lc3l57m";
   };
 
diff --git a/nixpkgs/pkgs/tools/system/ddrescue/default.nix b/nixpkgs/pkgs/tools/system/ddrescue/default.nix
index 7e96a4c01f7c..6191947ac32f 100644
--- a/nixpkgs/pkgs/tools/system/ddrescue/default.nix
+++ b/nixpkgs/pkgs/tools/system/ddrescue/default.nix
@@ -3,10 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "ddrescue-1.25";
+  pname = "ddrescue";
+  version = "1.25";
 
   src = fetchurl {
-    url = "mirror://gnu/ddrescue/${name}.tar.lz";
+    url = "mirror://gnu/ddrescue/ddrescue-${version}.tar.lz";
     sha256 = "0qqh38izl5ppap9a5izf3hijh94k65s3zbfkczd4b7x04syqwlyf";
   };
 
diff --git a/nixpkgs/pkgs/tools/system/ddrescueview/default.nix b/nixpkgs/pkgs/tools/system/ddrescueview/default.nix
index 6c8e9c56cdc9..41b28e6fca0d 100644
--- a/nixpkgs/pkgs/tools/system/ddrescueview/default.nix
+++ b/nixpkgs/pkgs/tools/system/ddrescueview/default.nix
@@ -6,7 +6,6 @@ let
 in stdenv.mkDerivation rec {
   pname = "ddrescueview";
   version = "${versionBase}${versionSuffix}";
-  name = "ddrescueview-0.4alpha4";
 
   src = fetchurl {
     name = "ddrescueview-${versionBase}${versionSuffix}.tar.xz";
diff --git a/nixpkgs/pkgs/tools/system/dog/default.nix b/nixpkgs/pkgs/tools/system/dog/default.nix
index 94a6b34ff53e..4073034a9b92 100644
--- a/nixpkgs/pkgs/tools/system/dog/default.nix
+++ b/nixpkgs/pkgs/tools/system/dog/default.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl}:
 
-stdenv.mkDerivation {
-  name = "dog-1.7";
+stdenv.mkDerivation rec {
+  pname = "dog";
+  version = "1.7";
 
   src = fetchurl {
-    url = "http://archive.debian.org/debian/pool/main/d/dog/dog_1.7.orig.tar.gz";
+    url = "http://archive.debian.org/debian/pool/main/d/dog/dog_${version}.orig.tar.gz";
     sha256 = "3ef25907ec5d1dfb0df94c9388c020b593fbe162d7aaa9bd08f35d2a125af056";
   };
 
diff --git a/nixpkgs/pkgs/tools/system/fdisk/default.nix b/nixpkgs/pkgs/tools/system/fdisk/default.nix
index 4ad654783dfc..e12fedd6eec9 100644
--- a/nixpkgs/pkgs/tools/system/fdisk/default.nix
+++ b/nixpkgs/pkgs/tools/system/fdisk/default.nix
@@ -1,10 +1,11 @@
 { fetchurl, lib, stdenv, parted, libuuid, gettext, guile }:
 
 stdenv.mkDerivation rec {
-  name = "gnufdisk-2.0.0a"; # .0a1 seems broken, see https://lists.gnu.org/archive/html/bug-fdisk/2012-09/msg00000.html
+  pname = "gnufdisk";
+  version = "2.0.0a"; # .0a1 seems broken, see https://lists.gnu.org/archive/html/bug-fdisk/2012-09/msg00000.html
 
   src = fetchurl {
-    url = "mirror://gnu/fdisk/${name}.tar.gz";
+    url = "mirror://gnu/fdisk/gnufdisk-${version}.tar.gz";
     sha256 = "04nd7civ561x2lwcmxhsqbprml3178jfc58fy1v7hzqg5k4nbhy3";
   };
 
diff --git a/nixpkgs/pkgs/tools/system/gdmap/default.nix b/nixpkgs/pkgs/tools/system/gdmap/default.nix
index d9c639ab1c41..5fc242d533b8 100644
--- a/nixpkgs/pkgs/tools/system/gdmap/default.nix
+++ b/nixpkgs/pkgs/tools/system/gdmap/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, gtk2, pkg-config, libxml2, intltool, gettext }:
 
 stdenv.mkDerivation rec {
-  name = "gdmap-0.8.1";
+  pname = "gdmap";
+  version = "0.8.1";
 
   src = fetchurl {
-    url = "mirror://sourceforge/gdmap/${name}.tar.gz";
+    url = "mirror://sourceforge/gdmap/gdmap-${version}.tar.gz";
     sha256 = "0nr8l88cg19zj585hczj8v73yh21k7j13xivhlzl8jdk0j0cj052";
   };
 
diff --git a/nixpkgs/pkgs/tools/system/gdu/default.nix b/nixpkgs/pkgs/tools/system/gdu/default.nix
index c50b2a4c84ea..9db56026e07e 100644
--- a/nixpkgs/pkgs/tools/system/gdu/default.nix
+++ b/nixpkgs/pkgs/tools/system/gdu/default.nix
@@ -7,21 +7,20 @@
 
 buildGoModule rec {
   pname = "gdu";
-  version = "5.3.0";
+  version = "5.6.2";
 
   src = fetchFromGitHub {
     owner = "dundee";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-hf5jTEAN5oOPg2PaAlYjIDMYcwXkaFAqPtWTwZV98N0=";
+    sha256 = "sha256-9Qdl+5BvzYbBw90+9V5bKBrikxlxMt7UxMQ54XwgbTk=";
   };
 
-  vendorSha256 = "sha256-9W1K01PJ+tRLSJ0L7NGHXT5w5oHmlBkT8kwnOLOzSCc=";
+  vendorSha256 = "sha256-TxtYsM1qtpvI5IbkM3vicCgJ0+EqelFJ8Vc6+Ff5wd8=";
 
   nativeBuildInputs = [ installShellFiles ];
 
-  buildFlagsArray = [
-    "-ldflags="
+  ldflags = [
     "-s"
     "-w"
     "-X github.com/dundee/gdu/v${lib.versions.major version}/build.Version=${version}"
diff --git a/nixpkgs/pkgs/tools/system/gt5/default.nix b/nixpkgs/pkgs/tools/system/gt5/default.nix
index 374bcf0e3146..15b658c9916b 100644
--- a/nixpkgs/pkgs/tools/system/gt5/default.nix
+++ b/nixpkgs/pkgs/tools/system/gt5/default.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "gt5-1.4.0";
+  pname = "gt5";
+  version = "1.4.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/gt5/${name}.tar.gz";
+    url = "mirror://sourceforge/gt5/gt5-${version}.tar.gz";
     sha256 = "0gm0gzyp4d9rxqddbaskbz5zvmlhyr4nyb5x9g7x4abyyxqjlnkq";
   };
 
diff --git a/nixpkgs/pkgs/tools/system/hostctl/default.nix b/nixpkgs/pkgs/tools/system/hostctl/default.nix
index 54bc72144ea3..fb3a293a80fd 100644
--- a/nixpkgs/pkgs/tools/system/hostctl/default.nix
+++ b/nixpkgs/pkgs/tools/system/hostctl/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "hostctl";
-  version = "1.1.0";
+  version = "1.1.1";
 
   src = fetchFromGitHub {
     owner = "guumaster";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-X07JvXN1mwOQE2XBfaYbqQnQ92fBSg/Erj0yUygAqmM=";
+    sha256 = "sha256-VjFjGvIoymGVVRiZUk/qoq/PTYoklp+Jz89zndX0e5A=";
   };
 
   vendorSha256 = "sha256-rGDWrivIdl5FTu/kNR8nAfE2+1hE4cm3uDg7oBobE9M=";
 
-  buildFlagsArray = [ "-ldflags=-s -w -X github.com/guumaster/hostctl/cmd/hostctl/actions.version=${version}" ];
+  ldflags = [ "-s" "-w" "-X github.com/guumaster/hostctl/cmd/hostctl/actions.version=${version}" ];
 
   nativeBuildInputs = [ installShellFiles ];
   postInstall = ''
@@ -33,4 +33,3 @@ buildGoModule rec {
     maintainers = with maintainers; [ blaggacao ];
   };
 }
-
diff --git a/nixpkgs/pkgs/tools/system/htop/default.nix b/nixpkgs/pkgs/tools/system/htop/default.nix
index 25a397bc987c..9c254ab33d81 100644
--- a/nixpkgs/pkgs/tools/system/htop/default.nix
+++ b/nixpkgs/pkgs/tools/system/htop/default.nix
@@ -1,7 +1,14 @@
 { lib, fetchFromGitHub, stdenv, autoreconfHook
-, ncurses, IOKit
+, ncurses
+, IOKit
+, sensorsSupport ? stdenv.isLinux, lm_sensors
+, systemdSupport ? stdenv.isLinux, systemd
 }:
 
+with lib;
+
+assert systemdSupport -> stdenv.isLinux;
+
 stdenv.mkDerivation rec {
   pname = "htop";
   version = "3.0.5";
@@ -15,10 +22,26 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ autoreconfHook ];
 
-  buildInputs = [ ncurses
-  ] ++ lib.optionals stdenv.isDarwin [ IOKit ];
+  buildInputs = [ ncurses ]
+    ++ optional stdenv.isDarwin IOKit
+    ++ optional sensorsSupport lm_sensors
+    ++ optional systemdSupport systemd
+  ;
+
+  configureFlags = [ "--enable-unicode" ]
+    ++ optional sensorsSupport "--with-sensors"
+  ;
+
+  postFixup =
+    let
+      optionalPatch = pred: so: optionalString pred "patchelf --add-needed ${so} $out/bin/htop";
+    in
+    ''
+      ${optionalPatch sensorsSupport "${lm_sensors}/lib/libsensors.so"}
+      ${optionalPatch systemdSupport "${systemd}/lib/libsystemd.so"}
+    '';
 
-  meta = with lib; {
+  meta = {
     description = "An interactive process viewer for Linux";
     homepage = "https://htop.dev";
     license = licenses.gpl2Only;
diff --git a/nixpkgs/pkgs/tools/system/idle3tools/default.nix b/nixpkgs/pkgs/tools/system/idle3tools/default.nix
index 5e9796396a9c..f4de055a60a8 100644
--- a/nixpkgs/pkgs/tools/system/idle3tools/default.nix
+++ b/nixpkgs/pkgs/tools/system/idle3tools/default.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl}:
 
-stdenv.mkDerivation {
-  name = "idle3-tools-0.9.1";
+stdenv.mkDerivation rec {
+  pname = "idle3-tools";
+  version = "0.9.1";
 
   src = fetchurl {
-    url = "mirror://sourceforge/idle3-tools/idle3-tools-0.9.1.tgz";
+    url = "mirror://sourceforge/idle3-tools/idle3-tools-${version}.tgz";
     sha256 = "00ia7xq9yldxyl9gz0mr4xa568nav14p0fnv82f2rbbkg060cy4p";
   };
 
diff --git a/nixpkgs/pkgs/tools/system/incron/default.nix b/nixpkgs/pkgs/tools/system/incron/default.nix
index 2df4acba9b58..cc986d453569 100644
--- a/nixpkgs/pkgs/tools/system/incron/default.nix
+++ b/nixpkgs/pkgs/tools/system/incron/default.nix
@@ -1,11 +1,12 @@
 { lib, stdenv, fetchFromGitHub, bash }:
 
 stdenv.mkDerivation rec {
-  name = "incron-0.5.12";
+  pname = "incron";
+  version = "0.5.12";
   src = fetchFromGitHub {
     owner = "ar-";
     repo = "incron";
-    rev = name;
+    rev = "${pname}-${version}";
     sha256 = "11d5f98cjafiv9h9zzzrw2s06s2fvdg8gp64km7mdprd2xmy6dih";
   };
 
diff --git a/nixpkgs/pkgs/tools/system/ipmitool/default.nix b/nixpkgs/pkgs/tools/system/ipmitool/default.nix
index e7d6130ffa60..416fab94ddc9 100644
--- a/nixpkgs/pkgs/tools/system/ipmitool/default.nix
+++ b/nixpkgs/pkgs/tools/system/ipmitool/default.nix
@@ -1,14 +1,14 @@
 { stdenv, lib, fetchurl, openssl, fetchpatch, static ? stdenv.hostPlatform.isStatic }:
 
 let
-  pkgname = "ipmitool";
+  pname = "ipmitool";
   version = "1.8.18";
 in
 stdenv.mkDerivation {
-  name = "${pkgname}-${version}";
+  inherit pname version;
 
   src = fetchurl {
-    url = "mirror://sourceforge/${pkgname}/${pkgname}-${version}.tar.gz";
+    url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
     sha256 = "0kfh8ny35rvwxwah4yv91a05qwpx74b5slq2lhrh71wz572va93m";
   };
 
diff --git a/nixpkgs/pkgs/tools/system/kmon/default.nix b/nixpkgs/pkgs/tools/system/kmon/default.nix
index 85d9df5df48d..7bf2c810298b 100644
--- a/nixpkgs/pkgs/tools/system/kmon/default.nix
+++ b/nixpkgs/pkgs/tools/system/kmon/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "kmon";
-  version = "1.5.4";
+  version = "1.5.5";
 
   src = fetchFromGitHub {
     owner = "orhun";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-zbTS4nGb2jDYGhNYxoPaVv9kAc51CQOi9qiHiSLjAjo=";
+    sha256 = "sha256-x4P9p2zXthGtokfKcWR/xaX/E7a9mEuQiK6cjFw4nS8=";
   };
 
-  cargoSha256 = "sha256-ujVlOShZOuaV3B1ydggVJXLNMQHoTZC0dJaw+/ajVFg=";
+  cargoSha256 = "sha256-ZAHp7eR2pu+xEP9NZOLoczEF8QSFA5Z/8bKsCYqk4Ww=";
 
   nativeBuildInputs = [ python3 ];
 
diff --git a/nixpkgs/pkgs/tools/system/loadwatch/default.nix b/nixpkgs/pkgs/tools/system/loadwatch/default.nix
index 80f808214bc1..722e5a9afde1 100644
--- a/nixpkgs/pkgs/tools/system/loadwatch/default.nix
+++ b/nixpkgs/pkgs/tools/system/loadwatch/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchgit, ... }:
 
 stdenv.mkDerivation {
-  name = "loadwatch-1.1-1-g6d2544c";
+  pname = "loadwatch";
+  version = "1.1-1-g6d2544c";
   src = fetchgit {
     url = "git://woffs.de/git/fd/loadwatch.git";
     sha256 = "1bhw5ywvhyb6snidsnllfpdi1migy73wg2gchhsfbcpm8aaz9c9b";
diff --git a/nixpkgs/pkgs/tools/system/localtime/default.nix b/nixpkgs/pkgs/tools/system/localtime/default.nix
index 798e3b3e8831..4c12c9eb27da 100644
--- a/nixpkgs/pkgs/tools/system/localtime/default.nix
+++ b/nixpkgs/pkgs/tools/system/localtime/default.nix
@@ -1,7 +1,8 @@
 { lib, fetchFromGitHub, buildGoPackage, m4 }:
 
 buildGoPackage rec {
-  name = "localtime-2017-11-07";
+  pname = "localtime";
+  version = "2017-11-07";
 
   src = fetchFromGitHub {
     owner = "Stebalien";
diff --git a/nixpkgs/pkgs/tools/system/mcron/default.nix b/nixpkgs/pkgs/tools/system/mcron/default.nix
index b8175b51483d..485df4231ecf 100644
--- a/nixpkgs/pkgs/tools/system/mcron/default.nix
+++ b/nixpkgs/pkgs/tools/system/mcron/default.nix
@@ -1,10 +1,11 @@
 { fetchurl, lib, stdenv, guile, which, ed, libtool }:
 
 stdenv.mkDerivation rec {
-  name = "mcron-1.0.6";
+  pname = "mcron";
+  version = "1.0.6";
 
   src = fetchurl {
-    url = "mirror://gnu/mcron/${name}.tar.gz";
+    url = "mirror://gnu/mcron/mcron-${version}.tar.gz";
     sha256 = "0yvrfzzdy2m7fbqkr61fw01wd9r2jpnbyabxhcsfivgxywknl0fy";
   };
 
diff --git a/nixpkgs/pkgs/tools/system/minijail/default.nix b/nixpkgs/pkgs/tools/system/minijail/default.nix
index fac934f7bb25..01873cb86aab 100644
--- a/nixpkgs/pkgs/tools/system/minijail/default.nix
+++ b/nixpkgs/pkgs/tools/system/minijail/default.nix
@@ -11,12 +11,12 @@ in
 
 stdenv.mkDerivation rec {
   pname = "minijail";
-  version = "16";
+  version = "17";
 
   src = fetchFromGitiles {
     url = "https://android.googlesource.com/platform/external/minijail";
     rev = "linux-v${version}";
-    sha256 = "0pxazds3w12c30msq6bxs4a9cbds0dkj6n3ca0i1wqvgz864yrgs";
+    sha256 = "1j65h50wa39m6qvgnh1pf59fv9jdsdbc6a6c1na7y0rgljxhmdzv";
   };
 
   nativeBuildInputs =
@@ -50,6 +50,8 @@ stdenv.mkDerivation rec {
     cp -v constants.json $out/share/minijail
   '';
 
+  enableParallelBuilding = true;
+
   meta = with lib; {
     homepage = "https://android.googlesource.com/platform/external/minijail/";
     description = "Sandboxing library and application using Linux namespaces and capabilities";
diff --git a/nixpkgs/pkgs/tools/system/monit/default.nix b/nixpkgs/pkgs/tools/system/monit/default.nix
index 8a2a3406c3e8..93cdbe6d546e 100644
--- a/nixpkgs/pkgs/tools/system/monit/default.nix
+++ b/nixpkgs/pkgs/tools/system/monit/default.nix
@@ -1,16 +1,22 @@
-{ lib, stdenv
-, fetchurl, bison, flex
+{ lib
+, stdenv
+, fetchurl
+, bison
+, flex
 , zlib
-, usePAM ? stdenv.hostPlatform.isLinux, pam
-, useSSL ? true, openssl
+, usePAM ? stdenv.hostPlatform.isLinux
+, pam
+, useSSL ? true
+, openssl
 }:
 
 stdenv.mkDerivation rec {
-  name = "monit-5.27.2";
+  pname = "monit";
+  version = "5.29.0";
 
   src = fetchurl {
-    url = "${meta.homepage}dist/${name}.tar.gz";
-    sha256 = "sha256-2ICceNXcHtenujKlpVxRFIVRMsxNpIBfjTqvjPRuqkw=";
+    url = "${meta.homepage}dist/monit-${version}.tar.gz";
+    sha256 = "sha256-9mXm3R8mp0tWgomah3k0Fn3islguBIZS7PA2MYR3iF8=";
   };
 
   nativeBuildInputs = [ bison flex ];
@@ -21,10 +27,10 @@ stdenv.mkDerivation rec {
   configureFlags = [
     (lib.withFeature usePAM "pam")
   ] ++ (if useSSL then [
-      "--with-ssl-incl-dir=${openssl.dev}/include"
-      "--with-ssl-lib-dir=${openssl.out}/lib"
-    ] else [
-      "--without-ssl"
+    "--with-ssl-incl-dir=${openssl.dev}/include"
+    "--with-ssl-lib-dir=${openssl.out}/lib"
+  ] else [
+    "--without-ssl"
   ]) ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
     # will need to check both these are true for musl
     "libmonit_cv_setjmp_available=yes"
@@ -32,7 +38,7 @@ stdenv.mkDerivation rec {
   ];
 
   meta = {
-    homepage = "http://mmonit.com/monit/";
+    homepage = "https://mmonit.com/monit/";
     description = "Monitoring system";
     license = lib.licenses.agpl3;
     maintainers = with lib.maintainers; [ raskin wmertens ryantm ];
diff --git a/nixpkgs/pkgs/tools/system/natscli/default.nix b/nixpkgs/pkgs/tools/system/natscli/default.nix
index 1b4a173d504a..a7f4337ce815 100644
--- a/nixpkgs/pkgs/tools/system/natscli/default.nix
+++ b/nixpkgs/pkgs/tools/system/natscli/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "natscli";
-  version = "0.0.24";
+  version = "0.0.25";
 
   src = fetchFromGitHub {
     owner = "nats-io";
     repo = pname;
     rev = version;
-    sha256 = "11rpgvcnd2m4g0jnv6g0zdvnhs37jwn1c4hc86xgnk2vipvy0nw2";
+    sha256 = "180511x3sciqs0njz80qc1a785m84ks9l338qi3liv7bcd541xcr";
   };
 
-  vendorSha256 = "0nrgbwc10pp7adj0w1jjj6677y2dpqq969ij7i0pmvr08ni95sxw";
+  vendorSha256 = "1j2a6wmyb9akndiwq79jqy5lz84bz2k01xp505j60ynsflim7shq";
 
   meta = with lib; {
     description = "NATS Command Line Interface";
diff --git a/nixpkgs/pkgs/tools/system/netdata/go.d.plugin.nix b/nixpkgs/pkgs/tools/system/netdata/go.d.plugin.nix
index be6e8f267637..53ab6d6982d6 100644
--- a/nixpkgs/pkgs/tools/system/netdata/go.d.plugin.nix
+++ b/nixpkgs/pkgs/tools/system/netdata/go.d.plugin.nix
@@ -15,7 +15,7 @@ buildGoModule rec {
 
   doCheck = false;
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
+  ldflags = [ "-s" "-w" "-X main.version=${version}" ];
 
   postInstall = ''
     mkdir -p $out/lib/netdata/conf.d
diff --git a/nixpkgs/pkgs/tools/system/nvtop/default.nix b/nixpkgs/pkgs/tools/system/nvtop/default.nix
index fdbfeb1c31f3..d310c1a7e8f1 100644
--- a/nixpkgs/pkgs/tools/system/nvtop/default.nix
+++ b/nixpkgs/pkgs/tools/system/nvtop/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nvtop";
-  version = "1.1.0";
+  version = "1.2.2";
 
   src = fetchFromGitHub {
     owner = "Syllo";
     repo = "nvtop";
     rev = version;
-    sha256 = "1h24ppdz7l6l0znwbgir49f7r1fshzjavc6i5j33c6bvr318dpqb";
+    sha256 = "sha256-B/SRTOMp3VYShjSGxnF1ll58ijddJG7w/7nPK1fMltk=";
   };
 
   cmakeFlags = [
diff --git a/nixpkgs/pkgs/tools/system/opencl-info/default.nix b/nixpkgs/pkgs/tools/system/opencl-info/default.nix
index d5fd86f231ab..173de5f607fe 100644
--- a/nixpkgs/pkgs/tools/system/opencl-info/default.nix
+++ b/nixpkgs/pkgs/tools/system/opencl-info/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchFromGitHub, opencl-clhpp, ocl-icd }:
 
 stdenv.mkDerivation {
-  name = "opencl-info-2014-02-21";
+  pname = "opencl-info";
+  version = "2014-02-21";
 
   src = fetchFromGitHub {
     owner = "marchv";
diff --git a/nixpkgs/pkgs/tools/system/openipmi/default.nix b/nixpkgs/pkgs/tools/system/openipmi/default.nix
new file mode 100644
index 000000000000..06df9afa8139
--- /dev/null
+++ b/nixpkgs/pkgs/tools/system/openipmi/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, popt, ncurses, python3, readline, lib }:
+
+stdenv.mkDerivation rec {
+  pname = "OpenIPMI";
+  version = "2.0.31";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/openipmi/OpenIPMI-${version}.tar.gz";
+    sha256 = "05wpkn74nxqp5p6sa2yaf2ajrh8b0gfkb7y4r86lnigz4rvz6lkh";
+  };
+
+  patches = [
+    # fix assertion when used as a library in collectd
+    # taken from https://sourceforge.net/p/openipmi/code/ci/d613d279dbce2d5e4594f6fed39653d83af0d99b/
+    ./fix-collectd-assertion.diff
+  ];
+
+  buildInputs = [ ncurses popt python3 readline ];
+
+  outputs = [ "out" "lib" "dev" "man" ];
+
+  meta = with lib; {
+    homepage = "https://openipmi.sourceforge.io/";
+    description = "A user-level library that provides a higher-level abstraction of IPMI and generic services";
+    license = with licenses; [ gpl2Only lgpl2Only ];
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ arezvov SuperSandro2000 ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/system/openipmi/fix-collectd-assertion.diff b/nixpkgs/pkgs/tools/system/openipmi/fix-collectd-assertion.diff
new file mode 100644
index 000000000000..af39fcc05677
--- /dev/null
+++ b/nixpkgs/pkgs/tools/system/openipmi/fix-collectd-assertion.diff
@@ -0,0 +1,11 @@
+--- a/unix/posix_thread_os_hnd.c
++++ b/unix/posix_thread_os_hnd.c
+@@ -140,8 +140,6 @@
+     fd_data->data_ready = data_ready;
+     fd_data->handler = handler;
+     fd_data->freed = freed;
+-    sel_set_fd_write_handler(posix_sel, fd, SEL_FD_HANDLER_DISABLED);
+-    sel_set_fd_except_handler(posix_sel, fd, SEL_FD_HANDLER_DISABLED);
+     rv = sel_set_fd_handlers(posix_sel, fd, fd_data, fd_handler, NULL, NULL,
+ 			     free_fd_data);
+     if (rv) {
diff --git a/nixpkgs/pkgs/tools/system/pciutils/default.nix b/nixpkgs/pkgs/tools/system/pciutils/default.nix
index 8c017c42d7a3..95fd4f52c393 100644
--- a/nixpkgs/pkgs/tools/system/pciutils/default.nix
+++ b/nixpkgs/pkgs/tools/system/pciutils/default.nix
@@ -5,10 +5,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "pciutils-3.7.0"; # with release-date database
+  pname = "pciutils";
+  version = "3.7.0"; # with release-date database
 
   src = fetchurl {
-    url = "mirror://kernel/software/utils/pciutils/${name}.tar.xz";
+    url = "mirror://kernel/software/utils/pciutils/pciutils-${version}.tar.xz";
     sha256 = "1ss0rnfsx8gvqjxaji4mvbhf9xyih4cadmgadbwwv8mnx1xvjh4x";
   };
 
diff --git a/nixpkgs/pkgs/tools/system/plan9port/default.nix b/nixpkgs/pkgs/tools/system/plan9port/default.nix
index 78db6e2037ee..a735e35624f7 100644
--- a/nixpkgs/pkgs/tools/system/plan9port/default.nix
+++ b/nixpkgs/pkgs/tools/system/plan9port/default.nix
@@ -90,7 +90,6 @@ stdenv.mkDerivation {
       kovirobi
     ];
     platforms = platforms.unix;
-    broken = stdenv.isDarwin;
   };
 }
 # TODO: investigate the mouse chording support patch
diff --git a/nixpkgs/pkgs/tools/system/rowhammer-test/default.nix b/nixpkgs/pkgs/tools/system/rowhammer-test/default.nix
index 9afb1933e17f..685697f861ff 100644
--- a/nixpkgs/pkgs/tools/system/rowhammer-test/default.nix
+++ b/nixpkgs/pkgs/tools/system/rowhammer-test/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation {
-  name = "rowhammer-test-20150811";
+  pname = "rowhammer-test";
+  version = "20150811";
 
   src = fetchFromGitHub {
     owner = "google";
diff --git a/nixpkgs/pkgs/tools/system/rsyslog/default.nix b/nixpkgs/pkgs/tools/system/rsyslog/default.nix
index 7fc11d49d7c0..6ff5c07721f4 100644
--- a/nixpkgs/pkgs/tools/system/rsyslog/default.nix
+++ b/nixpkgs/pkgs/tools/system/rsyslog/default.nix
@@ -14,11 +14,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "rsyslog";
-  version = "8.2006.0";
+  version = "8.2102.0";
 
   src = fetchurl {
     url = "https://www.rsyslog.com/files/download/rsyslog/${pname}-${version}.tar.gz";
-    sha256 = "15wfhw2nmpiyjpp82jxqgcjy7wgbc2fswk5g6rbdqbvghrj9wn6r";
+    sha256 = "sha256-lO4NAxLC7epzdmVZTL5KlHXk47WT4StbiuOnQ6yccqc=";
   };
 
   #patches = [ ./fix-gnutls-detection.patch ];
diff --git a/nixpkgs/pkgs/tools/system/s6-rc/default.nix b/nixpkgs/pkgs/tools/system/s6-rc/default.nix
index 532575d16c88..31b9c14257af 100644
--- a/nixpkgs/pkgs/tools/system/s6-rc/default.nix
+++ b/nixpkgs/pkgs/tools/system/s6-rc/default.nix
@@ -1,4 +1,4 @@
-{ lib, skawarePackages }:
+{ lib, stdenv, skawarePackages, targetPackages }:
 
 with skawarePackages;
 
@@ -8,7 +8,7 @@ buildPackage {
   sha256 = "12bzc483jpd16xmhfsfrib84daj1k3kwy5s5nc18ap60apa1r39a";
 
   description = "A service manager for s6-based systems";
-  platforms = lib.platforms.linux;
+  platforms = lib.platforms.unix;
 
   outputs = [ "bin" "lib" "dev" "doc" "out" ];
 
@@ -30,6 +30,25 @@ buildPackage {
     "--with-dynlib=${s6.out}/lib"
   ];
 
+  # s6-rc-compile generates built-in service definitions containing
+  # absolute paths to execline, s6, and s6-rc programs.  If we're
+  # running s6-rc-compile as part of a Nix derivation, and we want to
+  # cross-compile that derivation, those paths will be wrong --
+  # they'll be for execline, s6, and s6-rc on the platform we're
+  # running s6-rc-compile on, not the platform we're targeting.
+  #
+  # We can detect this special case of s6-rc being used at build time
+  # in a derivation that's being cross-compiled, because that's the
+  # only time hostPlatform != targetPlatform.  When that happens we
+  # modify s6-rc-compile to use the configuration headers for the
+  # system we're cross-compiling for.
+  postConfigure = lib.optionalString (stdenv.hostPlatform != stdenv.targetPlatform) ''
+    substituteInPlace src/s6-rc/s6-rc-compile.c \
+        --replace '<execline/config.h>' '"${targetPackages.execline.dev}/include/execline/config.h"' \
+        --replace '<s6/config.h>' '"${targetPackages.s6.dev}/include/s6/config.h"' \
+        --replace '<s6-rc/config.h>' '"${targetPackages.s6-rc.dev}/include/s6-rc/config.h"'
+  '';
+
   postInstall = ''
     # remove all s6 executables from build directory
     rm $(find -name "s6-rc-*" -type f -mindepth 1 -maxdepth 1 -executable)
diff --git a/nixpkgs/pkgs/tools/system/safecopy/default.nix b/nixpkgs/pkgs/tools/system/safecopy/default.nix
index 5533c9a57ff5..1c0bedff474e 100644
--- a/nixpkgs/pkgs/tools/system/safecopy/default.nix
+++ b/nixpkgs/pkgs/tools/system/safecopy/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "safecopy-1.7";
+  pname = "safecopy";
+  version = "1.7";
 
   src = fetchurl {
-    url = "mirror://sourceforge/project/safecopy/safecopy/${name}/${name}.tar.gz";
+    url = "mirror://sourceforge/project/safecopy/safecopy/safecopy-${version}/safecopy-${version}.tar.gz";
     sha256 = "1zf4kk9r8za9pn4hzy1y3j02vrhl1rxfk5adyfq0w0k48xfyvys2";
   };
 
diff --git a/nixpkgs/pkgs/tools/system/sg3_utils/default.nix b/nixpkgs/pkgs/tools/system/sg3_utils/default.nix
index d0084e1f4d8a..8d867c76e1ae 100644
--- a/nixpkgs/pkgs/tools/system/sg3_utils/default.nix
+++ b/nixpkgs/pkgs/tools/system/sg3_utils/default.nix
@@ -1,15 +1,16 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "sg3_utils-1.45";
+  pname = "sg3_utils";
+  version = "1.46r862";
 
   src = fetchurl {
-    url = "http://sg.danny.cz/sg/p/${name}.tgz";
-    sha256 = "0qasc3qm4i8swjfaywiwpgz76gdxqvm47qycxgmprbsjmxqwk1qb";
+    url = "https://sg.danny.cz/sg/p/sg3_utils-${version}.tgz";
+    sha256 = "s2UmU+p3s7Hoe+GFri2q+/3XLBICc+h04cxM86yaAs8=";
   };
 
   meta = with lib; {
-    homepage = "http://sg.danny.cz/sg/";
+    homepage = "https://sg.danny.cz/sg/";
     description = "Utilities that send SCSI commands to devices";
     platforms = platforms.linux;
     license = with licenses; [ bsd2 gpl2Plus ];
diff --git a/nixpkgs/pkgs/tools/system/sleuthkit/default.nix b/nixpkgs/pkgs/tools/system/sleuthkit/default.nix
index 912afb7021ca..6dc84da1e14e 100644
--- a/nixpkgs/pkgs/tools/system/sleuthkit/default.nix
+++ b/nixpkgs/pkgs/tools/system/sleuthkit/default.nix
@@ -1,14 +1,14 @@
 { lib, stdenv, fetchFromGitHub, autoreconfHook, libewf, afflib, openssl, zlib }:
 
 stdenv.mkDerivation rec {
-  version = "4.10.2";
+  version = "4.11.0";
   pname = "sleuthkit";
 
   src = fetchFromGitHub {
     owner = "sleuthkit";
     repo = "sleuthkit";
     rev = "${pname}-${version}";
-    sha256 = "sha256-N0/spV/Bxk/UNULPot82Vw1uTIxy/Arf84wqUp6W2Tc=";
+    sha256 = "sha256-cY55zK6N3tyCLBJtZn4LhK9kLkikJjg640Pm/NA0ALY=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/tools/system/smartmontools/default.nix b/nixpkgs/pkgs/tools/system/smartmontools/default.nix
index 669d1a9fbc6d..1658b4ea4df8 100644
--- a/nixpkgs/pkgs/tools/system/smartmontools/default.nix
+++ b/nixpkgs/pkgs/tools/system/smartmontools/default.nix
@@ -1,18 +1,25 @@
-{ lib, stdenv, fetchurl, autoreconfHook
-, mailutils, enableMail ? true
+{ lib
+, stdenv
+, fetchurl
+, autoreconfHook
+, enableMail ? false
+, mailutils
 , inetutils
-, IOKit, ApplicationServices }:
+, IOKit
+, ApplicationServices
+}:
 
 let
   dbrev = "5171";
   drivedbBranch = "RELEASE_7_2_DRIVEDB";
   driverdb = fetchurl {
-    url    = "https://sourceforge.net/p/smartmontools/code/${dbrev}/tree/branches/${drivedbBranch}/smartmontools/drivedb.h?format=raw";
+    url = "https://sourceforge.net/p/smartmontools/code/${dbrev}/tree/branches/${drivedbBranch}/smartmontools/drivedb.h?format=raw";
     sha256 = "0vncr98xagbcfsxgfgxsip2qrl9q3y8va19qhv6yknlwbdfap4mn";
-    name   = "smartmontools-drivedb.h";
+    name = "smartmontools-drivedb.h";
   };
 
-in stdenv.mkDerivation rec {
+in
+stdenv.mkDerivation rec {
   pname = "smartmontools";
   version = "7.2";
 
@@ -21,23 +28,26 @@ in stdenv.mkDerivation rec {
     sha256 = "1mlc25sd5rgj5xmzcllci47inmfdw7cp185fday6hc9rwqkqmnaw";
   };
 
-  patches = [ ./smartmontools.patch ];
-  postPatch = "cp -v ${driverdb} drivedb.h";
-
-  configureFlags = [
-    "--with-scriptpath=${lib.makeBinPath ([ inetutils ] ++ lib.optional enableMail mailutils)}"
+  patches = [
+    # fixes darwin build
+    ./smartmontools.patch
   ];
+  postPatch = ''
+    cp -v ${driverdb} drivedb.h
+  '';
+
+  configureFlags = lib.optional enableMail "--with-scriptpath=${lib.makeBinPath [ inetutils mailutils ]}";
 
   nativeBuildInputs = [ autoreconfHook ];
-  buildInputs = [] ++ lib.optionals stdenv.isDarwin [IOKit ApplicationServices];
+  buildInputs = lib.optionals stdenv.isDarwin [ IOKit ApplicationServices ];
   enableParallelBuilding = true;
 
   meta = with lib; {
     description = "Tools for monitoring the health of hard drives";
-    homepage    = "https://www.smartmontools.org/";
-    license     = licenses.gpl2Plus;
+    homepage = "https://www.smartmontools.org/";
+    license = licenses.gpl2Plus;
     maintainers = with maintainers; [ peti Frostman ];
-    platforms   = with platforms; linux ++ darwin;
+    platforms = with platforms; linux ++ darwin;
     mainProgram = "smartctl";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/stress-ng/default.nix b/nixpkgs/pkgs/tools/system/stress-ng/default.nix
index 8065355383a8..0b11f1d91890 100644
--- a/nixpkgs/pkgs/tools/system/stress-ng/default.nix
+++ b/nixpkgs/pkgs/tools/system/stress-ng/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "stress-ng";
-  version = "0.12.11";
+  version = "0.13.00";
 
   src = fetchurl {
     url = "https://kernel.ubuntu.com/~cking/tarballs/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-lxOTB1Mhwkw9V2ms+rtwWRHR9BHO1ZN7fP6lhSjBtOY=";
+    sha256 = "sha256-HO/kowV8FSKxRuYvYbgM5uLpnaLYXr4lvAP8RSKOWM0=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/tools/system/stress/default.nix b/nixpkgs/pkgs/tools/system/stress/default.nix
index 33fbd15c5e63..10aa285085f7 100644
--- a/nixpkgs/pkgs/tools/system/stress/default.nix
+++ b/nixpkgs/pkgs/tools/system/stress/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "stress-1.0.4";
+  pname = "stress";
+  version = "1.0.4";
 
   src = fetchurl {
-    url = "https://people.seas.harvard.edu/~apw/stress/${name}.tar.gz";
+    url = "https://people.seas.harvard.edu/~apw/stress/stress-${version}.tar.gz";
     sha256 = "0nw210jajk38m3y7h8s130ps2qsbz7j75wab07hi2r3hlz14yzh5";
   };
 
diff --git a/nixpkgs/pkgs/tools/system/thermald/default.nix b/nixpkgs/pkgs/tools/system/thermald/default.nix
index 4d2ca811837d..312c31d671c0 100644
--- a/nixpkgs/pkgs/tools/system/thermald/default.nix
+++ b/nixpkgs/pkgs/tools/system/thermald/default.nix
@@ -18,7 +18,7 @@
 
 stdenv.mkDerivation rec {
   pname = "thermald";
-  version = "2.4.3";
+  version = "2.4.6";
 
   outputs = [ "out" "devdoc" ];
 
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     owner = "intel";
     repo = "thermal_daemon";
     rev = "v${version}";
-    sha256 = "sha256-CPrk2r3C4WG+y3KzWf6xWhfNdDgEigki62iAXu+DccU=";
+    sha256 = "sha256-ZknZznoYVX3dNBIUvER6odv5eNrCV3//CXH1ypCf6tE=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/system/throttled/default.nix b/nixpkgs/pkgs/tools/system/throttled/default.nix
index 9b92635d1d78..2729a16b8687 100644
--- a/nixpkgs/pkgs/tools/system/throttled/default.nix
+++ b/nixpkgs/pkgs/tools/system/throttled/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "throttled";
-  version = "0.8";
+  version = "0.9.2";
 
   src = fetchFromGitHub {
     owner = "erpalma";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0qw124gdgjqij3xhgg8j1mdsg6j0xg340as5qf8hd3gwc38sqi9x";
+    sha256 = "sha256-4aDa6REDHO7gr1czIv6NlepeMVJI93agxJjE2vHiEmk=";
   };
 
   nativeBuildInputs = [ python3Packages.wrapPython ];
diff --git a/nixpkgs/pkgs/tools/system/ts/default.nix b/nixpkgs/pkgs/tools/system/ts/default.nix
index b954b1adc01f..df19955b6076 100644
--- a/nixpkgs/pkgs/tools/system/ts/default.nix
+++ b/nixpkgs/pkgs/tools/system/ts/default.nix
@@ -3,8 +3,8 @@
 }:
 
 stdenv.mkDerivation rec {
-
-  name = "ts-1.0";
+  pname = "ts";
+  version = "1.0";
 
   installPhase=''make install "PREFIX=$out"'';
 
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   '';
 
   src = fetchurl {
-    url = "http://viric.name/~viric/soft/ts/${name}.tar.gz";
+    url = "https://viric.name/~viric/soft/ts/ts-${version}.tar.gz";
     sha256 = "15dkzczx10fhl0zs9bmcgkxfbwq2znc7bpscljm4rchbzx7y6lsg";
   };
 
diff --git a/nixpkgs/pkgs/tools/system/undaemonize/default.nix b/nixpkgs/pkgs/tools/system/undaemonize/default.nix
index 45e7a8d6d628..50ae366d10bd 100644
--- a/nixpkgs/pkgs/tools/system/undaemonize/default.nix
+++ b/nixpkgs/pkgs/tools/system/undaemonize/default.nix
@@ -1,7 +1,9 @@
 { lib, stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation {
-  name = "undaemonize-2017-07-11";
+  pname = "undaemonize";
+  version = "unstable-2017-07-11";
+
   src = fetchFromGitHub {
     repo = "undaemonize";
     owner = "nickstenning";
diff --git a/nixpkgs/pkgs/tools/system/uptimed/default.nix b/nixpkgs/pkgs/tools/system/uptimed/default.nix
index 5d0d49f198e1..8e0265755355 100644
--- a/nixpkgs/pkgs/tools/system/uptimed/default.nix
+++ b/nixpkgs/pkgs/tools/system/uptimed/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "uptimed";
-  version = "0.4.3";
+  version = "0.4.4";
 
   src = fetchFromGitHub {
-    sha256 = "sha256-X/LnH+EWjXlw8RktfL4ckAUmP2DPV1qlb6Ii4N985cU=";
+    sha256 = "sha256-DSvxE9BZpjpDQi2SxbM5iuAAHgUCaiwimcgxivD4mck=";
     rev = "v${version}";
     repo = "uptimed";
     owner = "rpodgorny";
@@ -14,6 +14,11 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ autoreconfHook ];
   patches = [ ./no-var-spool-install.patch ];
 
+  postPatch = ''
+    substituteInPlace libuptimed/urec.h \
+      --replace /var/spool /var/lib
+  '';
+
   meta = with lib; {
     description = "Uptime record daemon";
     longDescription = ''
diff --git a/nixpkgs/pkgs/tools/text/a2ps/default.nix b/nixpkgs/pkgs/tools/text/a2ps/default.nix
index 978839ab1fde..d3fe3a7e7058 100644
--- a/nixpkgs/pkgs/tools/text/a2ps/default.nix
+++ b/nixpkgs/pkgs/tools/text/a2ps/default.nix
@@ -1,9 +1,11 @@
 { lib, stdenv, fetchurl, fetchpatch, autoconf, bison, libpaper, gperf, file, perl }:
 
 stdenv.mkDerivation rec {
-  name = "a2ps-4.14";
+  pname = "a2ps";
+  version = "4.14";
+
   src = fetchurl {
-    url = "mirror://gnu/a2ps/${name}.tar.gz";
+    url = "mirror://gnu/a2ps/a2ps-${version}.tar.gz";
     sha256 = "195k78m1h03m961qn7jr120z815iyb93gwi159p1p9348lyqvbpk";
   };
 
diff --git a/nixpkgs/pkgs/tools/text/angle-grinder/default.nix b/nixpkgs/pkgs/tools/text/angle-grinder/default.nix
index f9f5736015b8..02235b057d4d 100644
--- a/nixpkgs/pkgs/tools/text/angle-grinder/default.nix
+++ b/nixpkgs/pkgs/tools/text/angle-grinder/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "angle-grinder";
-  version = "0.16";
+  version = "0.17.0";
 
   src = fetchFromGitHub {
     owner = "rcoh";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-cGYhGcNalmc/Gr7mY1Fycs8cZYaIy622DFIL64LT+gE=";
+    sha256 = "sha256-jG3jHFqFOrIT/e5oyLOEckw5C3LIs7amFAa4QDEI/EY=";
   };
 
-  cargoSha256 = "sha256-LJ7zudUeso28zJqLhqWGWqf+L4o75rJjtTx9BpWKRIE=";
+  cargoSha256 = "sha256-Rkex+fnnacV+DCRpX3Zh9J3vGuG4QfFhFezHTs33peY=";
 
   meta = with lib; {
     description = "Slice and dice logs on the command line";
diff --git a/nixpkgs/pkgs/tools/text/bcat/default.nix b/nixpkgs/pkgs/tools/text/bcat/default.nix
deleted file mode 100644
index dffd58de44fe..000000000000
--- a/nixpkgs/pkgs/tools/text/bcat/default.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ lib, bundlerApp, bundlerUpdateScript }:
-
-bundlerApp {
-  pname = "bcat";
-  gemdir = ./.;
-  exes = [ "bcat" "btee" "a2h" ];
-
-  passthru.updateScript = bundlerUpdateScript "bcat";
-
-  meta = with lib; {
-    description = "Pipe to browser utility";
-    homepage    = "http://rtomayko.github.com/bcat/";
-    license     = licenses.mit;
-    maintainers = with maintainers; [ jraygauthier nicknovitski ];
-    platforms   = platforms.unix;
-  };
-}
diff --git a/nixpkgs/pkgs/tools/text/catdoc/default.nix b/nixpkgs/pkgs/tools/text/catdoc/default.nix
index 61570a70b7d8..db57243efdc2 100644
--- a/nixpkgs/pkgs/tools/text/catdoc/default.nix
+++ b/nixpkgs/pkgs/tools/text/catdoc/default.nix
@@ -16,6 +16,12 @@ stdenv.mkDerivation rec {
     })
   ];
 
+  # Remove INSTALL file to avoid `make` misinterpreting it as an up-to-date
+  # target on case-insensitive filesystems e.g. Darwin
+  preInstall = ''
+    rm -v INSTALL
+  '';
+
   configureFlags = [ "--disable-wordview" ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/text/choose/default.nix b/nixpkgs/pkgs/tools/text/choose/default.nix
index f5cded1beab6..b214c65b534c 100644
--- a/nixpkgs/pkgs/tools/text/choose/default.nix
+++ b/nixpkgs/pkgs/tools/text/choose/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "choose";
-  version = "1.3.2";
+  version = "1.3.3";
 
   src = fetchFromGitHub {
     owner = "theryangeary";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-QX0tAo1cGPpRhggiAPxsVhKXg6TgaVl1lcp3na7jUNw=";
+    sha256 = "sha256-HYwlAgFKbi6or2eblERdMMjJOJdtt2FCQECUg3MzO8E=";
   };
 
-  cargoSha256 = "sha256-3pK7y/zC5iZkto5p5Xerlpu3yfN6sB2kjLF2fURlUj0=";
+  cargoSha256 = "sha256-55/B+LxdbekfaKKyng0lUCU3QnqL34M+QnLUxaPqkqI=";
 
   meta = with lib; {
     description = "A human-friendly and fast alternative to cut and (sometimes) awk";
diff --git a/nixpkgs/pkgs/tools/text/crowdin-cli/default.nix b/nixpkgs/pkgs/tools/text/crowdin-cli/default.nix
new file mode 100644
index 000000000000..10353227b70a
--- /dev/null
+++ b/nixpkgs/pkgs/tools/text/crowdin-cli/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, stdenv
+, fetchurl
+, gawk
+, git
+, gnugrep
+, installShellFiles
+, jre
+, makeWrapper
+, unzip
+}:
+
+stdenv.mkDerivation rec {
+  pname = "crowdin-cli";
+  version = "3.6.5";
+
+  src = fetchurl {
+    url = "https://github.com/crowdin/${pname}/releases/download/${version}/${pname}.zip";
+    sha256 = "sha256-9bw85dFazlcbZhx/bUoxW4iIsw+RdE3d+O5Cj3Obb7A=";
+  };
+
+  nativeBuildInputs = [ installShellFiles makeWrapper unzip ];
+
+  installPhase = ''
+    runHook preInstall
+
+    install -D crowdin-cli.jar $out/lib/crowdin-cli.jar
+
+    installShellCompletion --cmd crowdin --bash ./crowdin_completion
+
+    makeWrapper ${jre}/bin/java $out/bin/crowdin \
+      --argv0 crowdin \
+      --add-flags "-jar $out/lib/crowdin-cli.jar" \
+      --prefix PATH : ${lib.makeBinPath [ gawk gnugrep git ]}
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/crowdin/crowdin-cli/";
+    description = "A command-line client for the Crowdin API";
+    license = licenses.mit;
+    maintainers = with maintainers; [ DamienCassou ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/text/difftastic/default.nix b/nixpkgs/pkgs/tools/text/difftastic/default.nix
new file mode 100644
index 000000000000..3a32f855c0c5
--- /dev/null
+++ b/nixpkgs/pkgs/tools/text/difftastic/default.nix
@@ -0,0 +1,23 @@
+{ lib, fetchFromGitHub, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "difftastic";
+  version = "0.6";
+
+  src = fetchFromGitHub {
+    owner = "wilfred";
+    repo = pname;
+    rev = version;
+    sha256 = "WFvxdRCbTBW1RGn2SvAo2iXn82OO/Z06cZQkIu4eiew=";
+  };
+
+  cargoSha256 = "2hRUfIxNVs4uSrEESas3wvvVsZHVocP8aiO7K0NZ+mY=";
+
+  meta = with lib; {
+    description = "A syntax-aware diff";
+    homepage = "https://github.com/Wilfred/difftastic";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ethancedwards8 ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/text/enscript/default.nix b/nixpkgs/pkgs/tools/text/enscript/default.nix
index 1918029317a9..1299ef78679c 100644
--- a/nixpkgs/pkgs/tools/text/enscript/default.nix
+++ b/nixpkgs/pkgs/tools/text/enscript/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, gettext }:
 
 stdenv.mkDerivation rec {
-  name = "enscript-1.6.6";
+  pname = "enscript";
+  version = "1.6.6";
 
   src = fetchurl {
-    url = "mirror://gnu/enscript/${name}.tar.gz";
+    url = "mirror://gnu/enscript/enscript-${version}.tar.gz";
     sha256 = "1fy0ymvzrrvs889zanxcaxjfcxarm2d3k43c9frmbl1ld7dblmkd";
   };
 
diff --git a/nixpkgs/pkgs/tools/text/epubcheck/default.nix b/nixpkgs/pkgs/tools/text/epubcheck/default.nix
index 88ead40541f1..45196422ff54 100644
--- a/nixpkgs/pkgs/tools/text/epubcheck/default.nix
+++ b/nixpkgs/pkgs/tools/text/epubcheck/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "epubcheck";
-  version = "4.2.4";
+  version = "4.2.6";
 
   src = fetchzip {
     url = "https://github.com/w3c/epubcheck/releases/download/v${version}/epubcheck-${version}.zip";
-    sha256 = "02iy62b9wa5shxggflx99kv2q9xkilcsq94s0gbfq4m2aqjgzfwx";
+    sha256 = "sha256-f4r0ODKvZrl+YBcP2T9Z+zEuCyvQm9W7GNiLTr4p278=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/tools/text/gawk/default.nix b/nixpkgs/pkgs/tools/text/gawk/default.nix
index b7eb00ee5944..fd746ca117e8 100644
--- a/nixpkgs/pkgs/tools/text/gawk/default.nix
+++ b/nixpkgs/pkgs/tools/text/gawk/default.nix
@@ -19,10 +19,11 @@ let
   inherit (lib) optional;
 in
 stdenv.mkDerivation rec {
-  name = "gawk-5.1.0";
+  pname = "gawk";
+  version = "5.1.0";
 
   src = fetchurl {
-    url = "mirror://gnu/gawk/${name}.tar.xz";
+    url = "mirror://gnu/gawk/gawk-${version}.tar.xz";
     sha256 = "1gc2cccqy1x1bf6rhwlmd8q7dz7gnam6nwgl38bxapv6qm5flpyg";
   };
 
diff --git a/nixpkgs/pkgs/tools/text/glogg/default.nix b/nixpkgs/pkgs/tools/text/glogg/default.nix
index 6bdd6dea029a..306c25498ad3 100644
--- a/nixpkgs/pkgs/tools/text/glogg/default.nix
+++ b/nixpkgs/pkgs/tools/text/glogg/default.nix
@@ -20,7 +20,6 @@ mkDerivation rec {
   buildInputs = [ boost ];
 
   qmakeFlags = [ "VERSION=${version}" ];
-  enableParallelBuilding = true;
 
   postInstall = lib.optionalString stdenv.isDarwin ''
     mkdir -p $out/Applications
diff --git a/nixpkgs/pkgs/tools/text/gnupatch/default.nix b/nixpkgs/pkgs/tools/text/gnupatch/default.nix
index 97d3136e7e72..8d8fa7d0a8ba 100644
--- a/nixpkgs/pkgs/tools/text/gnupatch/default.nix
+++ b/nixpkgs/pkgs/tools/text/gnupatch/default.nix
@@ -3,10 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "patch-2.7.6";
+  pname = "patch";
+  version = "2.7.6";
 
   src = fetchurl {
-    url = "mirror://gnu/patch/${name}.tar.xz";
+    url = "mirror://gnu/patch/patch-${version}.tar.xz";
     sha256 = "1zfqy4rdcy279vwn2z1kbv19dcfw25d2aqy9nzvdkq5bjzd0nqdc";
   };
 
diff --git a/nixpkgs/pkgs/tools/text/gucci/default.nix b/nixpkgs/pkgs/tools/text/gucci/default.nix
index 943b86d3b051..c937e6c7ab16 100644
--- a/nixpkgs/pkgs/tools/text/gucci/default.nix
+++ b/nixpkgs/pkgs/tools/text/gucci/default.nix
@@ -15,9 +15,9 @@ buildGoPackage rec {
 
   goDeps = ./deps.nix;
 
-  buildFlagsArray = ''
-    -ldflags=-X main.AppVersion=${version}
-  '';
+  ldflags = [
+    "-X main.AppVersion=${version}"
+  ];
 
   meta = with lib; {
     description = "A simple CLI templating tool written in golang";
@@ -27,4 +27,3 @@ buildGoPackage rec {
     platforms = platforms.unix;
   };
 }
-
diff --git a/nixpkgs/pkgs/tools/text/hck/default.nix b/nixpkgs/pkgs/tools/text/hck/default.nix
new file mode 100644
index 000000000000..f10c01ca2fd6
--- /dev/null
+++ b/nixpkgs/pkgs/tools/text/hck/default.nix
@@ -0,0 +1,23 @@
+{ fetchFromGitHub, lib, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "hck";
+  version = "0.5.4";
+
+  src = fetchFromGitHub {
+    owner = "sstadick";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1zdzi98qywlwk5bp47963vya2p2ahrbjkc9h63lmb05wlas9s78y";
+  };
+
+  cargoSha256 = "0lvd5xpgh2vq2lszzb0fs6ha2vb419a5w0hlkq3287vq3ya3p4qg";
+
+  meta = with lib; {
+    description = "A close to drop in replacement for cut that can use a regex delimiter instead of a fixed string";
+    homepage = "https://github.com/sstadick/hck";
+    changelog = "https://github.com/sstadick/hck/blob/v${version}/CHANGELOG.md";
+    license = with licenses; [ mit /* or */ unlicense ];
+    maintainers = with maintainers; [ figsoda ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/text/hottext/default.nix b/nixpkgs/pkgs/tools/text/hottext/default.nix
index 2e9d0a909a2a..ca0cbf9d1a09 100644
--- a/nixpkgs/pkgs/tools/text/hottext/default.nix
+++ b/nixpkgs/pkgs/tools/text/hottext/default.nix
@@ -55,11 +55,11 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "hottext";
-  version = "1.3";
+  version = "1.4";
 
   src = fetchurl {
     url = "https://git.sr.ht/~ehmry/hottext/archive/v${version}.tar.gz";
-    sha256 = "sha256-iz7Z2x0/yi/E6gGFkYgq/yZDOxrZGwQmumPoO9kckLQ=";
+    sha256 = "sha256-hIUofi81zowSMbt1lUsxCnVzfJGN3FEiTtN8CEFpwzY=";
   };
 
   nativeBuildInputs = [ nim ];
diff --git a/nixpkgs/pkgs/tools/text/ispell/default.nix b/nixpkgs/pkgs/tools/text/ispell/default.nix
index f4403f4991f9..9a3f37cc64a5 100644
--- a/nixpkgs/pkgs/tools/text/ispell/default.nix
+++ b/nixpkgs/pkgs/tools/text/ispell/default.nix
@@ -2,29 +2,15 @@
 
 stdenv.mkDerivation rec {
   pname = "ispell";
-  version = "3.4.00";
+  version = "3.4.04";
 
   src = fetchurl {
-    url = "http://fmg-www.cs.ucla.edu/geoff/tars/${pname}-${version}.tar.gz";
-    sha256 = "1d7c2fqrdjckp91ajpkn5nnmpci2qrxqn8b6cyl0zn1afb9amxbz";
+    url = "https://www.cs.hmc.edu/~geoff/tars/${pname}-${version}.tar.gz";
+    sha256 = "sha256-h7zW8FIdhaCjp4NCFZVtdOvEkxRMx8eR+HvmhyzP4T4=";
   };
 
   buildInputs = [ bison ncurses ];
 
-  patches = [
-    ./patches/0007-Use-termios.patch
-    ./patches/0008-Tex-backslash.patch
-    ./patches/0009-Fix-FTBFS-on-glibc.patch
-    ./patches/0011-Missing-prototypes.patch
-    ./patches/0012-Fix-getline.patch
-    ./patches/0013-Fix-man-pages.patch
-    ./patches/0021-Fix-gcc-warnings.patch
-    ./patches/0023-Exclusive-options.patch
-    ./patches/0024-Check-tempdir-creation.patch
-    ./patches/0025-Languages.patch
-    ./patches/0030-Display-whole-multibyte-character.patch
-  ];
-
   postPatch = ''
     cat >> local.h <<EOF
     ${lib.optionalString (!stdenv.isDarwin) "#define USG"}
@@ -43,12 +29,6 @@ stdenv.mkDerivation rec {
     EOF
   '';
 
-  preBuild = ''
-    for dir in $out/share/emacs/site-lisp $out/share/info $out/share/man/man1 $out/share/man/man4 $out/bin $out/lib; do
-    mkdir -p $dir
-    done
-  '';
-
   meta = with lib; {
     description = "An interactive spell-checking program for Unix";
     homepage = "https://www.cs.hmc.edu/~geoff/ispell.html";
diff --git a/nixpkgs/pkgs/tools/text/ispell/patches/0007-Use-termios.patch b/nixpkgs/pkgs/tools/text/ispell/patches/0007-Use-termios.patch
deleted file mode 100644
index 299e3c01ab13..000000000000
--- a/nixpkgs/pkgs/tools/text/ispell/patches/0007-Use-termios.patch
+++ /dev/null
@@ -1,188 +0,0 @@
-From: Torsten Landschoff <t.landschoff@gmx.net>
-Date: Tue, 30 Mar 1999 21:05:09 +0100
-Subject: 0007 Use termios
-
-Use termios instead of termio (Closes: #35288).
-
-Patch updated on Mon, 07 Mar 2011 20:40:53 +0100 based on
-ispell-3.3.02-terminal.patch from ispell-3.3.02-102.1.src.rpm
----
- term.c |   58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 files changed, 58 insertions(+), 0 deletions(-)
-
-diff --git a/term.c b/term.c
-index 4923844..47c1aa0 100644
---- a/term.c
-+++ b/term.c
-@@ -87,13 +87,22 @@ static char Rcs_Id[] =
- #include "proto.h"
- #include "msgs.h"
- #ifdef USG
-+#if defined(__GLIBC__) && __GLIBC__ >= 2
-+/* Use termios under at least glibc */
-+  #include <termios.h>
-+  #define USE_TERMIOS
-+#else
- #include <termio.h>
-+#endif
- #else
- #ifndef __DJGPP__
- #include <sgtty.h>
- #endif
- #endif
- #include <signal.h>
-+#include <unistd.h>
-+#include <sys/types.h>
-+#include <sys/wait.h>
- 
- void		ierase P ((void));
- void		imove P ((int row, int col));
-@@ -166,8 +175,13 @@ static int iputch (c)
-     }
- 
- #ifdef USG
-+#ifdef USE_TERMIOS
-+static struct termios	sbuf;
-+static struct termios	osbuf;
-+#else
- static struct termio	sbuf;
- static struct termio	osbuf;
-+#endif
- #else
- static struct sgttyb	sbuf;
- static struct sgttyb	osbuf;
-@@ -190,9 +204,13 @@ void terminit ()
-     int			tpgrp;
- #else
- #ifdef TIOCGPGRP
-+#ifdef USE_TERMIOS
-+    pid_t		tpgrp;
-+#else
-     int			tpgrp;
- #endif
- #endif
-+#endif
- #ifdef TIOCGWINSZ
-     struct winsize	wsize;
- #endif /* TIOCGWINSZ */
-@@ -276,7 +294,11 @@ retry:
- 	(void) fprintf (stderr, TERM_C_NO_BATCH);
- 	exit (1);
- 	}
-+#ifdef USE_TERMIOS
-+    (void) tcgetattr (0, &osbuf);
-+#else
-     (void) ioctl (0, TCGETA, (char *) &osbuf);
-+#endif
-     termchanged = 1;
- 
-     sbuf = osbuf;
-@@ -285,7 +307,11 @@ retry:
-     sbuf.c_iflag &= ~(INLCR | IGNCR | ICRNL);
-     sbuf.c_cc[VMIN] = 1;
-     sbuf.c_cc[VTIME] = 1;
-+#ifdef USE_TERMIOS
-+    (void) tcsetattr (0, TCSADRAIN, &sbuf);
-+#else
-     (void) ioctl (0, TCSETAW, (char *) &sbuf);
-+#endif
- 
-     uerasechar = osbuf.c_cc[VERASE];
-     ukillchar = osbuf.c_cc[VKILL];
-@@ -298,7 +324,11 @@ retry:
- #endif
- #endif
- #ifdef TIOCGPGRP
-+#ifdef USE_TERMIOS
-+    if ((tpgrp = tcgetpgrp (0)) == -1)
-+#else
-     if (ioctl (0, TIOCGPGRP, (char *) &tpgrp) != 0)
-+#endif
- 	{
- 	(void) fprintf (stderr, TERM_C_NO_BATCH);
- 	exit (1);
-@@ -373,7 +403,11 @@ SIGNAL_TYPE done (signo)
- 	if (te)
- 	    tputs (te, 1, iputch);
- #ifdef USG
-+#ifdef USE_TERMIOS
-+	(void) tcsetattr (0, TCSADRAIN, &osbuf);
-+#else
- 	(void) ioctl (0, TCSETAW, (char *) &osbuf);
-+#endif
- #else
- 	(void) ioctl (0, TIOCSETP, (char *) &osbuf);
- #ifdef TIOCSLTC
-@@ -394,7 +428,11 @@ static SIGNAL_TYPE onstop (signo)
- 	if (te)
- 	    tputs (te, 1, iputch);
- #ifdef USG
-+#ifdef USE_TERMIOS
-+    (void) tcsetattr (0, TCSANOW, &osbuf); /* OpenSuse: TCSADRAIN */
-+#else
- 	(void) ioctl (0, TCSETAW, (char *) &osbuf);
-+#endif
- #else
- 	(void) ioctl (0, TIOCSETP, (char *) &osbuf);
- #ifdef TIOCSLTC
-@@ -413,7 +451,11 @@ static SIGNAL_TYPE onstop (signo)
-     if (termchanged)
- 	{
- #ifdef USG
-+#ifdef USE_TERMIOS
-+    (void) tcsetattr (0, TCSANOW, &sbuf);
-+#else
- 	(void) ioctl (0, TCSETAW, (char *) &sbuf);
-+#endif
- #else
- 	(void) ioctl (0, TIOCSETP, (char *) &sbuf);
- #ifdef TIOCSLTC
-@@ -481,7 +523,11 @@ int shellescape	(buf)
-     argv[i] = NULL;
- 
- #ifdef USG
-+#ifdef USE_TERMIOS
-+    (void) tcsetattr (0, TCSADRAIN, &osbuf);
-+#else
-     (void) ioctl (0, TCSETAW, (char *) &osbuf);
-+#endif
- #else
-     (void) ioctl (0, TIOCSETP, (char *) &osbuf);
- #ifdef TIOCSLTC
-@@ -527,7 +573,11 @@ int shellescape	(buf)
- #endif
- 
- #ifdef USG
-+#ifdef USE_TERMIOS
-+    (void) tcsetattr (0, TCSADRAIN, &sbuf);
-+#else
-     (void) ioctl (0, TCSETAW, (char *) &sbuf);
-+#endif
- #else
-     (void) ioctl (0, TIOCSETP, (char *) &sbuf);
- #ifdef TIOCSLTC
-@@ -563,7 +613,11 @@ void shescape (buf)
- #endif
- 
- #ifdef USG
-+#ifdef USE_TERMIOS
-+    (void) tcsetattr (0, TCSADRAIN, &osbuf);
-+#else
-     (void) ioctl (0, TCSETAW, (char *) &osbuf);
-+#endif
- #else
-     (void) ioctl (0, TIOCSETP, (char *) &osbuf);
- #ifdef TIOCSLTC
-@@ -611,7 +665,11 @@ void shescape (buf)
- #endif
- 
- #ifdef USG
-+#ifdef USE_TERMIOS
-+    (void) tcsetattr (0, TCSADRAIN, &sbuf);
-+#else
-     (void) ioctl (0, TCSETAW, (char *) &sbuf);
-+#endif
- #else
-     (void) ioctl (0, TIOCSETP, (char *) &sbuf);
- #ifdef TIOCSLTC
--- 
diff --git a/nixpkgs/pkgs/tools/text/ispell/patches/0008-Tex-backslash.patch b/nixpkgs/pkgs/tools/text/ispell/patches/0008-Tex-backslash.patch
deleted file mode 100644
index 21b44d505db0..000000000000
--- a/nixpkgs/pkgs/tools/text/ispell/patches/0008-Tex-backslash.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From: Ken Stevens <kstevens@ece.utah.edu>
-Date: Sat, 15 Jul 2000 22:10:53 -0400
-Subject: 0008 Tex backslash
-
-Version 3.1.20 contains an irritating bug when using latex that causes all
-sorts of problems when the backslash is used. (The backslash is a common
-character in latex that is used, among other things, to create a forced space
-similar to the tilde character.) In the current version, 3.1.20, the next TWO
-characters are skipped after a backslash. This can results in misspellings and
-the file being incorrectly parsed. (For example, if the text contains the
-sequence `\ $' math mode will not be entered until the matching $ which should
-end it, resulting in the body of the text not being spell checked and the math
-region being checked.)
-
-Make sure to undefine NO8BIT and use a larger number for MASKBITS if you are
-using iso character sets.
-
-http://www.kdstevens.com/~stevens/ispell-faq.html#bslash
----
- defmt.c |    7 +++----
- 1 files changed, 3 insertions(+), 4 deletions(-)
-
-diff --git a/defmt.c b/defmt.c
-index 35f93e4..7499752 100644
---- a/defmt.c
-+++ b/defmt.c
-@@ -884,6 +884,8 @@ static int TeX_math_end (bufp)
- 	return 0;
-     }
- 
-+/* Updates bufp to point to the next character to skip. */
-+/*  Should only be called on non-word characters. */
- static int TeX_math_begin (bufp)
-     unsigned char **	bufp;
-     {
-@@ -902,10 +904,7 @@ static int TeX_math_begin (bufp)
- 	if (**bufp == TEXLEFTPAREN  ||  **bufp == TEXLEFTSQUARE)
- 	    return 1;
- 	else if (!isalpha(**bufp)  &&  **bufp != '@')
--	    {
--	    (*bufp)++;
--	    continue;
--	    }
-+	    return 0;
- 	else if (TeX_strncmp (*bufp, "begin", 5) == 0)
- 	    {
- 	    if (TeX_math_check ('b', bufp))
--- 
diff --git a/nixpkgs/pkgs/tools/text/ispell/patches/0009-Fix-FTBFS-on-glibc.patch b/nixpkgs/pkgs/tools/text/ispell/patches/0009-Fix-FTBFS-on-glibc.patch
deleted file mode 100644
index dbe0db9a0533..000000000000
--- a/nixpkgs/pkgs/tools/text/ispell/patches/0009-Fix-FTBFS-on-glibc.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From: Richard Braakman <dark@dark.wapit.fi>
-Date: Fri, 2 Feb 2001 17:22:53 +0200
-Subject: 0009 Fix FTBFS on glibc
-
-Fix FTBFS on glibc (Closes: #75377)
----
- config.X |    2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/config.X b/config.X
-index 18bf621..0a47cb2 100644
---- a/config.X
-+++ b/config.X
-@@ -531,7 +531,7 @@
- #endif /* NO_MKSTEMP */
- 
- /* Aliases for some routines */
--#ifdef USG
-+#if defined (USG) && !defined(__GLIBC__)
- #define BCOPY(s, d, n)	memcpy (d, s, n)
- #define BZERO(d, n)	memset (d, 0, n)
- #define index strchr
--- 
diff --git a/nixpkgs/pkgs/tools/text/ispell/patches/0011-Missing-prototypes.patch b/nixpkgs/pkgs/tools/text/ispell/patches/0011-Missing-prototypes.patch
deleted file mode 100644
index 5e77b6a4f371..000000000000
--- a/nixpkgs/pkgs/tools/text/ispell/patches/0011-Missing-prototypes.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-From: Doug Porter <dsp@debian.org>
-Date: Tue, 22 Jan 2002 10:28:44 -0500
-Subject: 0011 Missing prototypes
-
-Fixing implicit declarations (Closes: #130405).
----
- correct.c |    1 +
- ijoin.c   |    2 +-
- ispell.c  |    2 ++
- lookup.c  |    2 ++
- tree.c    |    1 +
- 5 files changed, 7 insertions(+), 1 deletions(-)
-
-diff --git a/correct.c b/correct.c
-index e2b63c8..661bf57 100644
---- a/correct.c
-+++ b/correct.c
-@@ -201,6 +201,7 @@ static char Rcs_Id[] =
-  */
- 
- #include <ctype.h>
-+#include <unistd.h>
- #include "config.h"
- #include "ispell.h"
- #include "proto.h"
-diff --git a/ijoin.c b/ijoin.c
-index edb18d1..5da039a 100644
---- a/ijoin.c
-+++ b/ijoin.c
-@@ -115,6 +115,7 @@ static char Rcs_Id[] =
-  */
- 
- #include <stdio.h>
-+#include <string.h>
- #include "config.h"
- #include "ispell.h"
- #include "proto.h"
-@@ -169,7 +170,6 @@ static char *		tabchar = " \t"; /* Field separator character(s) */
- static int		unpairable1 = 0; /* NZ if -a1 */
- static int		unpairable2 = 0; /* NZ if -a2 */
- 
--extern int	strcmp ();
- 
- int main (argc, argv)			/* Join files */
-     int			argc;		/* Argument count */
-diff --git a/ispell.c b/ispell.c
-index 9b509d0..59fe358 100644
---- a/ispell.c
-+++ b/ispell.c
-@@ -235,6 +235,8 @@ static char Rcs_Id[] =
- #include <fcntl.h>
- #endif /* NO_FCNTL_H */
- #include <sys/stat.h>
-+#include <ctype.h>
-+#include <unistd.h>
- 
- static void	usage P ((void));
- int		main P ((int argc, char * argv[]));
-diff --git a/lookup.c b/lookup.c
-index 648f9c8..8bf1f6c 100644
---- a/lookup.c
-+++ b/lookup.c
-@@ -87,6 +87,8 @@ static char Rcs_Id[] =
- 
- #include <fcntl.h>
- 
-+#include <sys/types.h>
-+#include <unistd.h>
- #include "config.h"
- #include "ispell.h"
- #include "proto.h"
-diff --git a/tree.c b/tree.c
-index 073a6a6..c26f635 100644
---- a/tree.c
-+++ b/tree.c
-@@ -94,6 +94,7 @@ static char Rcs_Id[] =
- 
- #include <ctype.h>
- #include <errno.h>
-+#include <unistd.h>
- #include "config.h"
- #include "ispell.h"
- #include "proto.h"
--- 
diff --git a/nixpkgs/pkgs/tools/text/ispell/patches/0012-Fix-getline.patch b/nixpkgs/pkgs/tools/text/ispell/patches/0012-Fix-getline.patch
deleted file mode 100644
index ea966d67792e..000000000000
--- a/nixpkgs/pkgs/tools/text/ispell/patches/0012-Fix-getline.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From: Stefan Potyra <sistpoty@ubuntu.com>
-Date: Sat, 3 Oct 2009 04:00:34 +0200
-Subject: 0012 Fix getline
-
-getline is not provided by eglibc, avoid conflict
-
-Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=549401
-Forwarded: no
----
- correct.c |   10 +++++-----
- 1 files changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/correct.c b/correct.c
-index 661bf57..ff7cb99 100644
---- a/correct.c
-+++ b/correct.c
-@@ -246,7 +246,7 @@ static void	save_root_cap P ((ichar_t * word, ichar_t * pattern,
- 		  struct flagent * sufent,
- 		  ichar_t savearea[MAX_CAPS][INPUTWORDLEN + MAXAFFIXLEN],
- 		  int * nsaved));
--static char *	getline P ((char * buf, int bufsize));
-+static char *	getline_ispell P ((char * buf, int bufsize));
- void		askmode P ((void));
- void		copyout P ((unsigned char ** cc, int cnt));
- static void	lookharder P ((unsigned char * string));
-@@ -572,7 +572,7 @@ checkagain:
- 
- 		imove (li - 1, 0);
- 		(void) putchar ('!');
--		if (getline ((char *) buf, sizeof buf) == NULL)
-+		if (getline_ispell ((char *) buf, sizeof buf) == NULL)
- 		    {
- 		    (void) putchar (7);
- 		    ierase ();
-@@ -597,7 +597,7 @@ checkagain:
- 		    (void) printf ("%s ", CORR_C_READONLY);
- 		    }
- 		(void) printf (CORR_C_REPLACE_WITH);
--		if (getline ((char *) ctok, ctokl) == NULL)
-+		if (getline_ispell ((char *) ctok, ctokl) == NULL)
- 		    {
- 		    (void) putchar (7);
- 		    /* Put it back */
-@@ -665,7 +665,7 @@ checkagain:
- 		unsigned char	buf[100];
- 		imove (li - 1, 0);
- 		(void) printf (CORR_C_LOOKUP_PROMPT);
--		if (getline ((char *) buf, sizeof buf) == NULL)
-+		if (getline_ispell ((char *) buf, sizeof buf) == NULL)
- 		    {
- 		    (void) putchar (7);
- 		    ierase ();
-@@ -1584,7 +1584,7 @@ static void save_root_cap (word, pattern, prestrip, preadd, sufstrip, sufadd,
-     return;
-     }
- 
--static char * getline (s, len)
-+static char * getline_ispell(s, len)
-     register char *	s;
-     register int	len;
-     {
--- 
diff --git a/nixpkgs/pkgs/tools/text/ispell/patches/0013-Fix-man-pages.patch b/nixpkgs/pkgs/tools/text/ispell/patches/0013-Fix-man-pages.patch
deleted file mode 100644
index 9c0aedb67d76..000000000000
--- a/nixpkgs/pkgs/tools/text/ispell/patches/0013-Fix-man-pages.patch
+++ /dev/null
@@ -1,227 +0,0 @@
-From: David Paleino <d.paleino@gmail.com>
-Date: Mon, 9 Nov 2009 09:22:12 +0000
-Subject: 0013 Fix man pages
-
-Fix man pages, manpage-has-errors-from-man and hyphen-used-as-minus-sign
-
-Forwarded: no
----
- ispell.1X |   26 +++++++++++++-------------
- ispell.5X |   26 +++++++++++++-------------
- 2 files changed, 26 insertions(+), 26 deletions(-)
-
-diff --git a/ispell.1X b/ispell.1X
-index b27b120..79894d4 100644
---- a/ispell.1X
-+++ b/ispell.1X
-@@ -236,8 +236,8 @@ count affix-file
- .RB [ \-p | \-s]
- .RB [ \-c ]
- .I expanded-file
--.IR affix [ +addition ]
--...
-+.IR affix
-+.RI [ +addition ]
- .PP
- .B icombine
- .RB [ \-T
-@@ -336,7 +336,7 @@ The amount of context is subject to a system-imposed limit.
- If the
- .B \-V
- flag is given, characters that are not in the 7-bit ANSI printable
--character set will always be displayed in the style of "cat -v", even if
-+character set will always be displayed in the style of "cat \-v", even if
- .I ispell
- thinks that these characters are legal ISO Latin-1 on your system.
- This is useful when working with older terminals.
-@@ -542,7 +542,7 @@ option is used to specify an alternate hashed dictionary file,
- other than the default.
- If the filename does not contain a "/",
- the library directory for the default dictionary file is prefixed;
--thus, to use a dictionary in the local directory "-d ./xxx.hash" must
-+thus, to use a dictionary in the local directory "\-d ./xxx.hash" must
- be used.
- This is useful to allow dictionaries for alternate languages.
- Unlike previous versions of
-@@ -615,7 +615,7 @@ alphabetics have no meaning - alphabetics are already accepted.
- .I Ispell
- will typically be used with input from a file, meaning that preserving
- parity for possible 8 bit characters from the input text is OK.  If you
--specify the -l option, and actually type text from the terminal, this may
-+specify the \-l option, and actually type text from the terminal, this may
- create problems if your stty settings preserve parity.
- .PP
- It is not possible to use
-@@ -799,7 +799,7 @@ that the '&' is replaced by '?' (and the near-miss count is always zero).
- The suggested derivations following the near misses are in the form:
- .PP
- .RS
--[prefix+] root [-prefix] [-suffix] [+suffix]
-+[prefix+] root [\-prefix] [\-suffix] [+suffix]
- .RE
- .PP
- (e.g., "re+fry-y+ies" to get "refries")
-@@ -841,7 +841,7 @@ These output lines can be summarized as follows:
- .PP
- For example, a dummy dictionary containing the words "fray", "Frey",
- "fry", and "refried" might produce the following response to the
--command "echo 'frqy refries | ispell -a -m -d ./test.hash":
-+command "echo 'frqy refries | ispell \-a \-m \-d ./test.hash":
- .RS
- .nf
- (#) International Ispell Version 3.0.05 (beta), 08/10/91
-@@ -1036,7 +1036,7 @@ script does this.
- As an example, the command:
- .PP
- .RS
--echo BOTHER | ispell -c
-+echo BOTHER | ispell \-c
- .RE
- .PP
- produces:
-@@ -1055,7 +1055,7 @@ it expands affix flags to produce a list of words.
- For example, the command:
- .PP
- .RS
--echo BOTH/R | ispell -e
-+echo BOTH/R | ispell \-e
- .RE
- .PP
- produces:
-@@ -1268,7 +1268,7 @@ hash file if it were added to the language table.
- Only affixes that generate legal roots (found in the original input)
- are listed.
- .PP
--If the "-c" option is not given, the output lines are in the
-+If the "\-c" option is not given, the output lines are in the
- following format:
- .IP
- strip/add/count/bytes
-@@ -1298,7 +1298,7 @@ If the
- the output is made visually cleaner (but harder to post-process)
- by changing it to:
- .IP
---strip+add<tab>count<tab>bytes
-+\-strip+add<tab>count<tab>bytes
- .PP
- where
- .IR strip ,
-@@ -1313,7 +1313,7 @@ represents the ASCII tab character.
- The method used to generate possible affixes will also generate
- longer affixes which have common headers or trailers.  For example,
- the two words "moth" and "mother" will generate not only the obvious
--substitution "+er" but also "-h+her" and "-th+ther" (and possibly
-+substitution "+er" but also "\-h+her" and "\-th+ther" (and possibly
- even longer ones, depending on the value of
- .IR min ).
- To prevent
-@@ -1621,7 +1621,7 @@ redirected.
- However, a lot of the temporary space needed is for sorting, so TMPDIR
- is only a partial help on systems with an uncooperative
- .IR sort (1).
--("Cooperative" is defined as accepting the undocumented -T switch).
-+("Cooperative" is defined as accepting the undocumented \-T switch).
- At its peak usage,
- .I munchlist
- takes 10 to 40 times the original
-diff --git a/ispell.5X b/ispell.5X
-index ab526ed..7a1c2e5 100644
---- a/ispell.5X
-+++ b/ispell.5X
-@@ -137,8 +137,8 @@ This feature can be used to convert an entire dictionary if necessary:)
- 	echo qqqqq > dummy.dict
- 	buildhash dummy.dict \fIaffix-file\fP dummy.hash
- 	awk '{print "*"}END{print "#"}' \fIold-dict-file\fP \e
--	| ispell -a -T \fIold-dict-string-type\fP \e
--	  -d ./dummy.hash -p ./\fInew-dict-file\fP \e
-+	| ispell \-a \-T \fIold-dict-string-type\fP \e
-+	  \-d ./dummy.hash \-p ./\fInew-dict-file\fP \e
- 	  > /dev/null
- 	rm dummy.*
- .fi
-@@ -622,7 +622,7 @@ or
- .B stringchar
- statements.
- For example, if the hyphen is a boundary character (useful in French),
--the string "foo-bar" would be a single word, but "-foo" would be the
-+the string "foo-bar" would be a single word, but "\-foo" would be the
- same as "foo", and "foo--bar" would be two words separated by non-word
- characters.
- .PP
-@@ -916,7 +916,7 @@ The following (suffix) replacements:
- .RS
- .nf
- \&.	>	MENT
--Y	>	-Y,IES
-+Y	>	\-Y,IES
- .fi
- .RE
- .PP
-@@ -956,8 +956,8 @@ Instead, you must use two separate rules:
- .PP
- .RS
- .nf
--E	>	-E,IES
--Y	>	-Y,IES
-+E	>	\-E,IES
-+Y	>	\-Y,IES
- .fi
- .RE
- .PP
-@@ -1005,7 +1005,7 @@ For example, to specify words ending in "ED", write:
- .PP
- .RS
- .nf
--E D	>	-ED,ING		# As in covered > covering
-+E D	>	\-ED,ING		# As in covered > covering
- .fi
- .RE
- .PP
-@@ -1013,7 +1013,7 @@ If you write:
- .PP
- .RS
- .nf
--ED	>	-ED,ING
-+ED	>	\-ED,ING
- .fi
- .RE
- .PP
-@@ -1021,7 +1021,7 @@ the effect will be the same as:
- .PP
- .RS
- .nf
--[ED]	>	-ED,ING
-+[ED]	>	\-ED,ING
- .fi
- .RE
- .PP
-@@ -1047,7 +1047,7 @@ is useful, as in the following example:
- .PP
- .RS
- .nf
--$ munchlist -c oldaffixes -l newaffixes olddict > newdict
-+$ munchlist \-c oldaffixes \-l newaffixes olddict > newdict
- .fi
- .RE
- .PP
-@@ -1070,7 +1070,7 @@ flag from the English affix file:
- .RS
- .nf
- flag *S:
--    [^AEIOU]Y	>	-Y,IES	# As in imply > implies
-+    [^AEIOU]Y	>	\-Y,IES	# As in imply > implies
-     [AEIOU]Y	>	S		# As in convey > conveys
-     [SXZH]	>	ES		# As in fix > fixes
-     [^SXZHY]	>	S		# As in bat > bats
-@@ -1099,8 +1099,8 @@ For example, we could extend the English "R" flag as follows:
- flag *R:
-    E			>	R		# As in skate > skater
-    E			>	RS		# As in skate > skaters
--   [^AEIOU]Y	>	-Y,IER	# As in multiply > multiplier
--   [^AEIOU]Y	>	-Y,IERS	# As in multiply > multipliers
-+   [^AEIOU]Y	>	\-Y,IER	# As in multiply > multiplier
-+   [^AEIOU]Y	>	\-Y,IERS	# As in multiply > multipliers
-    [AEIOU]Y	>	ER		# As in convey > conveyer
-    [AEIOU]Y	>	ERS		# As in convey > conveyers
-    [^EY]		>	ER		# As in build > builder
--- 
diff --git a/nixpkgs/pkgs/tools/text/ispell/patches/0021-Fix-gcc-warnings.patch b/nixpkgs/pkgs/tools/text/ispell/patches/0021-Fix-gcc-warnings.patch
deleted file mode 100644
index 8902018dab58..000000000000
--- a/nixpkgs/pkgs/tools/text/ispell/patches/0021-Fix-gcc-warnings.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From: Robert Luberda <robert@debian.org>
-Date: Mon, 7 Mar 2011 22:23:56 +0100
-Subject: 0021 Fix gcc warnings
-
-Fix some gcc warnings.
----
- correct.c                |    2 +-
- languages/english/msgs.h |    8 ++++----
- tree.c                   |    2 +-
- 3 files changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/correct.c b/correct.c
-index 79b259f..982b7c6 100644
---- a/correct.c
-+++ b/correct.c
-@@ -825,7 +825,7 @@ static void inserttoken (buf, start, tok, curchar, oktochange)
- 	for (p = start;  p != *curchar;  p++)
- 	    (void) putc (*p, logfile);
- 	(void) putc (' ', logfile);
--	(void) fputs (tok, logfile);
-+	(void) fputs ((char*) tok, logfile);
- 	(void) putc ('\n', logfile);
- 	(void) fflush (logfile);
- 	}
-diff --git a/languages/english/msgs.h b/languages/english/msgs.h
-index d33b42b..f9c87ca 100644
---- a/languages/english/msgs.h
-+++ b/languages/english/msgs.h
-@@ -182,10 +182,10 @@
- #define CORR_C_HELP_4		"next to each one.  You have the option of replacing the word%s\n"
- #define CORR_C_HELP_5		"completely, or choosing one of the suggested words.%s\n"
-     /* You may add HELP_6 through HELP_9 if your language needs more lines */
--#define CORR_C_HELP_6		""
--#define CORR_C_HELP_7		""
--#define CORR_C_HELP_8		""
--#define CORR_C_HELP_9		""
-+#define CORR_C_HELP_6		"%s"
-+#define CORR_C_HELP_7		"%s"
-+#define CORR_C_HELP_8		"%s"
-+#define CORR_C_HELP_9		"%s"
- #define CORR_C_HELP_COMMANDS	"%s\nCommands are:%s\n%s\n"
- #define CORR_C_HELP_R_CMD	"R       Replace the misspelled word completely.%s\n"
- #define CORR_C_HELP_BLANK	"Space   Accept the word this time only.%s\n"
-diff --git a/tree.c b/tree.c
-index 05a6918..229ae16 100644
---- a/tree.c
-+++ b/tree.c
-@@ -351,7 +351,7 @@ void treeinsert (word, wordlen, keep)
-     struct dent *	oldhtab;
-     unsigned int	oldhsize;
-     ichar_t		nword[INPUTWORDLEN + MAXAFFIXLEN];
--    int			isvariant;
-+    MASKTYPE		isvariant;
- 
-     /*
-      * Expand hash table when it is MAXPCT % full.
--- 
diff --git a/nixpkgs/pkgs/tools/text/ispell/patches/0023-Exclusive-options.patch b/nixpkgs/pkgs/tools/text/ispell/patches/0023-Exclusive-options.patch
deleted file mode 100644
index 392d94d27d33..000000000000
--- a/nixpkgs/pkgs/tools/text/ispell/patches/0023-Exclusive-options.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From: Robert Luberda <robert@debian.org>
-Date: Tue, 8 Mar 2011 21:12:23 +0100
-Subject: 0023 Exclusive options
-
-Make options -x and -b mutually exclusive
----
- ispell.c |    6 ++++--
- 1 files changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/ispell.c b/ispell.c
-index d130a0e..cd5802a 100644
---- a/ispell.c
-+++ b/ispell.c
-@@ -279,6 +279,7 @@ int main (argc, argv)
-     static char	outbuf[BUFSIZ];
-     int		argno;
-     int		arglen;
-+    int		bflag = 0;
- 
-     Cmd = *argv;
- 
-@@ -728,12 +729,13 @@ int main (argc, argv)
- 		nodictflag++;
- 		break;
- 	    case 'b':
--		if (arglen > 2)
-+		if (arglen > 2 || xflag == 1)
- 		    usage ();
- 		xflag = 0;		/* Keep a backup file */
-+		bflag = 1;
- 		break;
- 	    case 'x':
--		if (arglen > 2)
-+		if (arglen > 2 || bflag == 1)
- 		    usage ();
- 		xflag = 1;		/* Don't keep a backup file */
- 		break;
--- 
diff --git a/nixpkgs/pkgs/tools/text/ispell/patches/0024-Check-tempdir-creation.patch b/nixpkgs/pkgs/tools/text/ispell/patches/0024-Check-tempdir-creation.patch
deleted file mode 100644
index fd35ee34ec16..000000000000
--- a/nixpkgs/pkgs/tools/text/ispell/patches/0024-Check-tempdir-creation.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From: Robert Luberda <robert@debian.org>
-Date: Tue, 8 Mar 2011 21:00:31 +0100
-Subject: 0024 Check tempdir creation
-
-Fail if temporary directory cannot be created.
----
- findaffix.X |    3 ++-
- munchlist.X |    3 ++-
- subset.X    |    3 ++-
- zapdups.X   |    3 ++-
- 4 files changed, 8 insertions(+), 4 deletions(-)
-
-diff --git a/findaffix.X b/findaffix.X
-index 2c253e2..58cabab 100755
---- a/findaffix.X
-+++ b/findaffix.X
-@@ -179,7 +179,8 @@ TEMPDIR=`mktemp -d ${TDIR}/faffXXXXXXXXXX 2>/dev/null`  ||  TEMPDIR="$TDIR"
- TMP=${TEMPDIR}/faff$$
- if [ "$TEMPDIR" = "$TDIR" ]
- then
--    TOREMOVE="${TMP}*"
-+    echo "Failed to create temporary directory; exiting"
-+    exit 1
- else
-     TOREMOVE="$TEMPDIR"
- fi
-diff --git a/munchlist.X b/munchlist.X
-index ada3f1d..47bb908 100755
---- a/munchlist.X
-+++ b/munchlist.X
-@@ -180,7 +180,8 @@ MUNCHDIR=`mktemp -d ${TDIR}/munchXXXXXXXXXX 2>/dev/null`  ||  MUNCHDIR="$TDIR"
- TMP=${MUNCHDIR}/munch$$
- if [ "$MUNCHDIR" = "$TDIR" ]
- then
--    TOREMOVE="${TMP}*"
-+    echo "$0: Failed to create temporary directory, exiting..."
-+	exit 1
- else
-     TOREMOVE="$MUNCHDIR"
- fi
-diff --git a/subset.X b/subset.X
-index cc748ec..9c904cc 100755
---- a/subset.X
-+++ b/subset.X
-@@ -125,7 +125,8 @@ TEMPDIR=`mktemp -d ${TDIR}/ssetXXXXXXXXXX 2>/dev/null`  ||  TEMPDIR="$TDIR"
- TMP=${TEMPDIR}/sset$$
- if [ "$TEMPDIR" = "$TDIR" ]
- then
--    TOREMOVE="${TMP}*"
-+    echo "$0: Failed to create temporary directory, exiting..."
-+    exit 1
- else
-     TOREMOVE="$TEMPDIR"
- fi
-diff --git a/zapdups.X b/zapdups.X
-index a68852a..1c610d4 100755
---- a/zapdups.X
-+++ b/zapdups.X
-@@ -111,7 +111,8 @@ TEMPDIR=`mktemp -d ${TDIR}/zapdXXXXXXXXXX 2>/dev/null`  ||  TEMPDIR="$TDIR"
- TMP=${TEMPDIR}/zapd$$
- if [ "$TEMPDIR" = "$TDIR" ]
- then
--    TOREMOVE="${TMP}*"
-+    echo "$0: Failed to create temporary directory, exiting..."
-+    exit 1
- else
-     TOREMOVE="$TEMPDIR"
- fi
--- 
diff --git a/nixpkgs/pkgs/tools/text/ispell/patches/0025-Languages.patch b/nixpkgs/pkgs/tools/text/ispell/patches/0025-Languages.patch
deleted file mode 100644
index ffa114d28a12..000000000000
--- a/nixpkgs/pkgs/tools/text/ispell/patches/0025-Languages.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-From: Robert Luberda <robert@debian.org>
-Date: Tue, 8 Mar 2011 21:02:47 +0100
-Subject: 0025 Languages
-
-Fix a few words.
----
- languages/english/british.0 |    1 +
- languages/english/english.0 |    8 ++++++--
- languages/english/english.1 |    3 ++-
- 3 files changed, 9 insertions(+), 3 deletions(-)
-
-diff --git a/languages/english/british.0 b/languages/english/british.0
-index dc4caa7..04d9177 100644
---- a/languages/english/british.0
-+++ b/languages/english/british.0
-@@ -46,6 +46,7 @@ armour/DGMRSZ
- armoured/U
- armourer/MS
- armoury/DMS
-+artefact/MS
- atomisation/MS
- atomise/DGRSZ
- authorisation/AMS
-diff --git a/languages/english/english.0 b/languages/english/english.0
-index fc13212..f85e15a 100644
---- a/languages/english/english.0
-+++ b/languages/english/english.0
-@@ -3502,6 +3502,7 @@ closure/DGMS
- cloth/DGS
- clothe/DGS
- clothed/U
-+cloths
- cloud/DGS
- clouded/U
- cloudless/PY
-@@ -10019,9 +10020,10 @@ mystery/MS
- mystic/MS
- mystical/Y
- mysticism/S
--myth/MS
-+myth/M
- mythical/Y
- mythology/MS
-+myths
- nag/MS
- nail/DGRS
- naive/PRY
-@@ -14818,6 +14820,7 @@ tent/DGRS
- tentacle/DS
- tentative/PY
- tented/U
-+tenth
- tenths
- tenure/DS
- tenured/U
-@@ -16511,8 +16514,9 @@ youngster/MS
- your/MS
- yourself
- yourselves
--youth/MS
-+youth/M
- youthful/PY
-+youths
- yuck
- Yugoslavian/MS
- yummy/R
-diff --git a/languages/english/english.1 b/languages/english/english.1
-index 2bfac86..78a7edf 100644
---- a/languages/english/english.1
-+++ b/languages/english/english.1
-@@ -7449,7 +7449,8 @@ metalloid
- metallurgic
- metallurgical/Y
- metallurgists
--metalsmith/S
-+metalsmith
-+metalsmiths
- metalwork/GJR
- metamorphic
- metamorphism
--- 
diff --git a/nixpkgs/pkgs/tools/text/ispell/patches/0030-Display-whole-multibyte-character.patch b/nixpkgs/pkgs/tools/text/ispell/patches/0030-Display-whole-multibyte-character.patch
deleted file mode 100644
index bf687f04413c..000000000000
--- a/nixpkgs/pkgs/tools/text/ispell/patches/0030-Display-whole-multibyte-character.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From: Robert Luberda <robert@debian.org>
-Date: Mon, 21 Mar 2011 10:36:15 +0100
-Subject: 0030 Display whole multibyte character
-
-Display all bytes from multibyte characters instead of converting them
-into `cat -v' format. This fixes an ugly screen content shown while
-checking UTF-8 files.
----
- correct.c |   11 +++++++----
- 1 files changed, 7 insertions(+), 4 deletions(-)
-
-diff --git a/correct.c b/correct.c
-index 982b7c6..c91b41b 100644
---- a/correct.c
-+++ b/correct.c
-@@ -733,11 +733,14 @@ static int show_char (cp, linew, output, maxw)
- 	ichar = SET_SIZE + laststringch;
-     else
- 	ichar = chartoichar (ch);
--    if (!vflag  &&  iswordch (ichar)  &&  len == 1)
-+    if (!vflag  &&  iswordch (ichar)  &&  len >= 1)
- 	{
--	if (output)
--	    (void) putchar (ch);
--	(*cp)++;
-+	for (i = 0; i < len; ++i)
-+	    {
-+		if (output)
-+			(void) putchar (**cp);
-+		(*cp)++;
-+	    }
- 	return 1;
- 	}
-     if (ch == '\t')
--- 
diff --git a/nixpkgs/pkgs/tools/text/jumanpp/default.nix b/nixpkgs/pkgs/tools/text/jumanpp/default.nix
index 5578ed417a27..5fb5ec88d679 100644
--- a/nixpkgs/pkgs/tools/text/jumanpp/default.nix
+++ b/nixpkgs/pkgs/tools/text/jumanpp/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
       plausibility of word sequences by using a recurrent neural network
       language model (RNNLM).
     '';
-    homepage = "http://nlp.ist.i.kyoto-u.ac.jp/index.php?JUMAN++";
+    homepage = "https://nlp.ist.i.kyoto-u.ac.jp/index.php?JUMAN++";
     license = licenses.asl20;
     maintainers = with maintainers; [ mt-caret ];
     platforms = platforms.all;
diff --git a/nixpkgs/pkgs/tools/text/ledger2beancount/default.nix b/nixpkgs/pkgs/tools/text/ledger2beancount/default.nix
index 12fe3a9c9e0b..caa6335d4526 100644
--- a/nixpkgs/pkgs/tools/text/ledger2beancount/default.nix
+++ b/nixpkgs/pkgs/tools/text/ledger2beancount/default.nix
@@ -17,13 +17,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "ledger2beancount";
-  version = "2.5";
+  version = "2.6";
 
   src = fetchFromGitHub {
     owner = "beancount";
     repo = "ledger2beancount";
     rev = version;
-    sha256 = "0kimp8l9ax37grfv5r5iw0g0xnrpkak022fl10y3i7kc4nyi1s99";
+    sha256 = "sha256-0Br+zuSUYrNP+ZL/FtNoaYoYBYho5kVfxu0tqKJSuBk=";
   };
 
   dontBuild = true;
diff --git a/nixpkgs/pkgs/tools/text/mark/default.nix b/nixpkgs/pkgs/tools/text/mark/default.nix
index 0cccb644f9e3..653af8b79692 100644
--- a/nixpkgs/pkgs/tools/text/mark/default.nix
+++ b/nixpkgs/pkgs/tools/text/mark/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "mark";
-  version = "5.5";
+  version = "6.2";
 
   src = fetchFromGitHub {
     owner  = "kovetskiy";
     repo   = "mark";
     rev    = version;
-    sha256 = "sha256-+mDUT9zkawa6Ad1uptc34RGK3bhU6WowwUZdwKbOnj4=";
+    sha256 = "sha256-Nk7DbZdz8BbsZO/Sx36ALNXRtSUju3X6S8M0yFs+Yz0=";
   };
 
-  vendorSha256 = "sha256-nneQ0B7PyHAqiOzrmWqSssZM8B3np4VFUJLBqUvkjZE=";
+  vendorSha256 = "sha256-y3Q8UebNbLy1jmxUC37mv+2l8dCU3b/Fk8XHn5u57p0=";
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
+  ldflags = [ "-s" "-w" "-X main.version=${version}" ];
 
   meta = with lib; {
     description = "A tool for syncing your markdown documentation with Atlassian Confluence pages";
diff --git a/nixpkgs/pkgs/tools/text/mdbook-mermaid/default.nix b/nixpkgs/pkgs/tools/text/mdbook-mermaid/default.nix
index b29fbbd6e0d6..741bc652e518 100644
--- a/nixpkgs/pkgs/tools/text/mdbook-mermaid/default.nix
+++ b/nixpkgs/pkgs/tools/text/mdbook-mermaid/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mdbook-mermaid";
-  version = "0.8.1";
+  version = "0.8.3";
 
   src = fetchFromGitHub {
     owner = "badboy";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-UMYWRQeSQwWVJla/+RPlAXPMuFVnxqDtYDxLKmbMw4g=";
+    sha256 = "sha256-maYFOlWNqKFmyDM2nDF25rzYnUXMlV9Ry9TMoXReUUg=";
   };
 
-  cargoSha256 = "sha256-nhJS2QZUyGeNRMS9D+P+QPMDHK2PqVK/H2AKaP7EECw=";
+  cargoSha256 = "sha256-GL5Z4KfRu0zQAzVCWRIhaYtG5FrDdQabsbyFX7SjZvg=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
 
diff --git a/nixpkgs/pkgs/tools/text/mdbook/default.nix b/nixpkgs/pkgs/tools/text/mdbook/default.nix
index 29007dd1282d..d3a136d6bf75 100644
--- a/nixpkgs/pkgs/tools/text/mdbook/default.nix
+++ b/nixpkgs/pkgs/tools/text/mdbook/default.nix
@@ -2,22 +2,22 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mdbook";
-  version = "0.4.10";
+  version = "0.4.12";
 
   src = fetchFromGitHub {
-    owner = "rust-lang-nursery";
+    owner = "rust-lang";
     repo = "mdBook";
     rev = "v${version}";
-    sha256 = "sha256-1Ddy/kb2Q7P+tzyEr3EC3qWm6MGSsDL3/vnPJLAm/J0=";
+    sha256 = "sha256-2lxotwL3Dc9jRA12iKO5zotO80pa+RfUZucyDRgFOsI=";
   };
 
-  cargoSha256 = "sha256-x2BwnvEwTqz378aDE7OHWuEwNEsUnRudLq7sUJjHRpA=";
+  cargoSha256 = "sha256-TNd4pj4qSKgmmVtSCSKFCxNtv96xD7+24BPsLXPgiEI=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
 
   meta = with lib; {
     description = "Create books from MarkDown";
-    homepage = "https://github.com/rust-lang-nursery/mdbook";
+    homepage = "https://github.com/rust-lang/mdBook";
     license = [ licenses.mpl20 ];
     maintainers = [ maintainers.havvy ];
   };
diff --git a/nixpkgs/pkgs/tools/text/pinyin-tool/default.nix b/nixpkgs/pkgs/tools/text/pinyin-tool/default.nix
new file mode 100644
index 000000000000..9d98385933b1
--- /dev/null
+++ b/nixpkgs/pkgs/tools/text/pinyin-tool/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, lib, rustPlatform, fetchFromGitHub, Security }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "pinyin-tool";
+  version = "0.1.3";
+
+  src = fetchFromGitHub {
+    owner = "briankung";
+    repo = pname;
+    rev = version;
+    sha256 = "1gwqwxlvdrm4sdyqkvpvvfi6jh6qqn6qybn0z66wm06k62f8zj5b";
+  };
+
+  cargoSha256 = "1ixl4bsb8c8dmz9s28a2v5l5f2hi3g9xjy6ribmhybpwmfs4mr4d";
+
+  buildInputs = lib.optionals stdenv.isDarwin [ Security ];
+
+  meta = with lib; {
+    description = "A simple command line tool for converting Chinese characters to space-separate pinyin words";
+    homepage = "https://github.com/briankung/pinyin-tool";
+    license = licenses.mit;
+    maintainers = with maintainers; [ neonfuz ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/text/poedit/default.nix b/nixpkgs/pkgs/tools/text/poedit/default.nix
index 9a5226d98b27..c53f521fddc4 100644
--- a/nixpkgs/pkgs/tools/text/poedit/default.nix
+++ b/nixpkgs/pkgs/tools/text/poedit/default.nix
@@ -1,22 +1,22 @@
-{ lib, stdenv, fetchFromGitHub, autoconf, automake, libtool, gettext, pkg-config, wxGTK30-gtk3,
+{ lib, stdenv, fetchFromGitHub, autoconf, automake, libtool, gettext, pkg-config, wxGTK31-gtk3,
   boost, icu, lucenepp, asciidoc, libxslt, xmlto, gtk3, gtkspell3, pugixml,
   nlohmann_json, hicolor-icon-theme, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "poedit";
-  version = "2.4.3";
+  version = "3.0";
 
   src = fetchFromGitHub {
     owner = "vslavik";
     repo = "poedit";
     rev = "v${version}-oss";
-    sha256 = "02xf2w3d2lnr3vqmil9vvg9pir7d21x4zrj9xwpgb7dhs0gimj0x";
+    sha256 = "0bxhyxsa641ip6wab9ms9g4w6mb1bv46y5h5b436spl5c70rcn4z";
   };
 
   nativeBuildInputs = [ autoconf automake asciidoc wrapGAppsHook
     libxslt xmlto boost libtool pkg-config ];
 
-  buildInputs = [ lucenepp nlohmann_json wxGTK30-gtk3 icu pugixml gtk3 gtkspell3 hicolor-icon-theme ];
+  buildInputs = [ lucenepp nlohmann_json wxGTK31-gtk3 icu pugixml gtk3 gtkspell3 hicolor-icon-theme ];
 
   propagatedBuildInputs = [ gettext ];
 
diff --git a/nixpkgs/pkgs/tools/text/popfile/default.nix b/nixpkgs/pkgs/tools/text/popfile/default.nix
index e2f5952077f3..7cfb2d2d6a4b 100644
--- a/nixpkgs/pkgs/tools/text/popfile/default.nix
+++ b/nixpkgs/pkgs/tools/text/popfile/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
   name = "${appname}-${version}";
 
   src = fetchzip {
-    url = "http://getpopfile.org/downloads/${appname}-${version}.zip";
+    url = "https://getpopfile.org/downloads/${appname}-${version}.zip";
     sha256 = "0gcib9j7zxk8r2vb5dbdz836djnyfza36vi8215nxcdfx1xc7l63";
     stripRoot = false;
   };
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = (with perlPackages; [
     ## These are all taken from the popfile documentation as applicable to Linux
-    ## http://getpopfile.org/docs/howtos:allplatformsrequireperl
+    ## https://getpopfile.org/docs/howtos:allplatformsrequireperl
     perl
     DBI
     DBDSQLite
@@ -54,7 +54,7 @@ stdenv.mkDerivation rec {
 
     # Should work on macOS, but havent tested it.
     # Windows support is more complicated.
-    # http://getpopfile.org/docs/faq:systemrequirements
+    # https://getpopfile.org/docs/faq:systemrequirements
     platforms = lib.platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/tools/text/recode/default.nix b/nixpkgs/pkgs/tools/text/recode/default.nix
index 9b77c9d8b701..ce377fada9f3 100644
--- a/nixpkgs/pkgs/tools/text/recode/default.nix
+++ b/nixpkgs/pkgs/tools/text/recode/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "recode";
-  version = "3.7.8";
+  version = "3.7.9";
 
   # Use official tarball, avoid need to bootstrap/generate build system
   src = fetchurl {
     url = "https://github.com/rrthomas/${pname}/releases/download/v${version}/${pname}-${version}.tar.gz";
-    sha256 = "19yg20z1smj9kag1axgvc4s4kd6jmw75h0pa8xqxl3xqqyn5rdsg";
+    sha256 = "sha256-5DIKaw9c2DfNtFT7WFQBjd+pcJEWCOHwHMLGX2M2csQ=";
   };
 
   nativeBuildInputs = [ python3 python3.pkgs.cython perl intltool flex texinfo libiconv ];
diff --git a/nixpkgs/pkgs/tools/text/rst2html5/default.nix b/nixpkgs/pkgs/tools/text/rst2html5/default.nix
index c9e8b0469869..5ae0caa34e13 100644
--- a/nixpkgs/pkgs/tools/text/rst2html5/default.nix
+++ b/nixpkgs/pkgs/tools/text/rst2html5/default.nix
@@ -1,22 +1,23 @@
 { lib, python3Packages }:
 
-let
+python3Packages.buildPythonPackage rec {
   pname = "rst2html5";
-  version = "1.10.6";
-  format = "wheel";
-in python3Packages.buildPythonPackage {
-  inherit pname version format;
+  version = "2.0";
 
   src = python3Packages.fetchPypi {
-    inherit pname version format;
-    sha256 = "sha256-jmToDFLQODqgTycBp2J8LyoJ1Zxho9w1VdhFMzvDFkg=";
+    inherit pname version;
+    hash = "sha256-Ejjja/fm6wXTf9YtjCYZsNDB8X5oAtyPoUIsYFDuZfc=";
   };
 
-  propagatedBuildInputs = with python3Packages;
-  [ docutils genshi pygments beautifulsoup4 ];
+  buildInputs = with python3Packages; [
+    beautifulsoup4
+    docutils
+    genshi
+    pygments
+  ];
 
   meta = with lib;{
-    homepage = "https://pypi.org/project/rst2html5/";
+    homepage = "https://rst2html5.readthedocs.io/en/latest/";
     description = "Converts ReSTructuredText to (X)HTML5";
     license = licenses.mit;
     maintainers = with maintainers; [ AndersonTorres ];
diff --git a/nixpkgs/pkgs/tools/text/runiq/default.nix b/nixpkgs/pkgs/tools/text/runiq/default.nix
new file mode 100644
index 000000000000..6d7bb5e7eb0b
--- /dev/null
+++ b/nixpkgs/pkgs/tools/text/runiq/default.nix
@@ -0,0 +1,20 @@
+{ fetchCrate, lib, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "runiq";
+  version = "1.2.1";
+
+  src = fetchCrate {
+    inherit pname version;
+    sha256 = "0xhd1z8mykxg9kiq8nw5agy1jxfk414czq62xm1s13ssig3h7jqj";
+  };
+
+  cargoSha256 = "1g4yfz5xq9lqwh0ggyn8kn8bnzrqfmh7kx455md5ranrqqh0x5db";
+
+  meta = with lib; {
+    description = "An efficient way to filter duplicate lines from input, à la uniq";
+    homepage = "https://github.com/whitfin/runiq";
+    license = licenses.mit;
+    maintainers = with maintainers; [ figsoda ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/text/ruplacer/default.nix b/nixpkgs/pkgs/tools/text/ruplacer/default.nix
index 2f9249711ed3..ccf1abe53962 100644
--- a/nixpkgs/pkgs/tools/text/ruplacer/default.nix
+++ b/nixpkgs/pkgs/tools/text/ruplacer/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "ruplacer";
-  version = "0.4.1";
+  version = "0.6.2";
 
   src = fetchFromGitHub {
     owner = "TankerHQ";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0yj753d9wsnp4s5a71ph241jym5rfz3161a1v3qxfc4w23v86j1q";
+    sha256 = "sha256-gme/p/F+LvfzynPNKmaPbNsKbwNKFCeEbAADk5PyMh8=";
   };
 
-  cargoSha256 = "0z1i1yfj1wdzbzapnvfr9ngn9z30xwlkrfhz52npbirysy1al5xk";
+  cargoSha256 = "sha256-/37TBl/FnCtkiufusPuJIpirD2WVO882xSqrfWVMNW0=";
 
   buildInputs = (lib.optional stdenv.isDarwin Security);
 
diff --git a/nixpkgs/pkgs/tools/text/shfmt/default.nix b/nixpkgs/pkgs/tools/text/shfmt/default.nix
index 29a5a157a678..b7b344ab135a 100644
--- a/nixpkgs/pkgs/tools/text/shfmt/default.nix
+++ b/nixpkgs/pkgs/tools/text/shfmt/default.nix
@@ -2,20 +2,20 @@
 
 buildGoModule rec {
   pname = "shfmt";
-  version = "3.3.0";
+  version = "3.3.1";
 
   src = fetchFromGitHub {
     owner = "mvdan";
     repo = "sh";
     rev = "v${version}";
-    sha256 = "sha256-pD1nkbBw5NBCyuhn2DYop2AR+1T8p6/zTa6FeWiya7Q=";
+    sha256 = "sha256-43v64TQS1xpmU9pyjSTgV03n7xYJR+JAfZVoK3vwbiY=";
   };
 
-  vendorSha256 = "sha256-euJYStN21xFYosouWYXpHN3MWCKR4NT8z6OSonM0HW8=";
+  vendorSha256 = "sha256-t1Zdn+NaHrKde6F5o86e+FmN3tH55YpZLuDhTv2lIf4=";
 
   subPackages = [ "cmd/shfmt" ];
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
+  ldflags = [ "-s" "-w" "-X main.version=${version}" ];
 
   nativeBuildInputs = [ installShellFiles scdoc ];
 
diff --git a/nixpkgs/pkgs/tools/text/silver-searcher/default.nix b/nixpkgs/pkgs/tools/text/silver-searcher/default.nix
index 8cd67b99263c..757c65eed848 100644
--- a/nixpkgs/pkgs/tools/text/silver-searcher/default.nix
+++ b/nixpkgs/pkgs/tools/text/silver-searcher/default.nix
@@ -22,6 +22,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/ggreer/the_silver_searcher/";
     description = "A code-searching tool similar to ack, but faster";
     maintainers = with maintainers; [ madjar ];
+    mainProgram = "ag";
     platforms = platforms.all;
     license = licenses.asl20;
   };
diff --git a/nixpkgs/pkgs/tools/text/snippetpixie/default.nix b/nixpkgs/pkgs/tools/text/snippetpixie/default.nix
index 6cd6bdda0d9d..301831d1a830 100644
--- a/nixpkgs/pkgs/tools/text/snippetpixie/default.nix
+++ b/nixpkgs/pkgs/tools/text/snippetpixie/default.nix
@@ -24,13 +24,13 @@
 
 stdenv.mkDerivation rec {
   pname = "snippetpixie";
-  version = "1.5.2";
+  version = "1.5.3";
 
   src = fetchFromGitHub {
     owner = "bytepixie";
     repo = pname;
     rev = version;
-    sha256 = "173fm9h7lnhhbg5qbjz40g0fy60dwd2l55mdcc1j8dh73vz96pfr";
+    sha256 = "0gs3d9hdywg4vcfbp4qfcagfjqalfgw9xpvywg4pw1cm3rzbdqmz";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/text/transifex-client/default.nix b/nixpkgs/pkgs/tools/text/transifex-client/default.nix
index 93c2e6453099..f1b2928c7941 100644
--- a/nixpkgs/pkgs/tools/text/transifex-client/default.nix
+++ b/nixpkgs/pkgs/tools/text/transifex-client/default.nix
@@ -1,23 +1,23 @@
 { lib, buildPythonApplication, fetchPypi
-, python-slugify, requests, urllib3, six, setuptools }:
+, python-slugify, requests, urllib3, six, setuptools, GitPython }:
 
 buildPythonApplication rec {
   pname = "transifex-client";
-  version = "0.13.9";
+  version = "0.14.3";
 
   propagatedBuildInputs = [
-    urllib3 requests python-slugify six setuptools
+    urllib3 requests python-slugify six setuptools GitPython
   ];
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0lgd77vrddvyn8afkxr7a7hblmp4k5sr0i9i1032xdih2bipdd9f";
+    sha256 = "sha256-sKol67lRaYPFa7Bg9KNa1rDrNoT9DtUd48NY8jqK1iw=";
   };
 
+  # https://github.com/transifex/transifex-client/issues/323
   prePatch = ''
-    substituteInPlace requirements.txt --replace "urllib3<1.24" "urllib3>=1.24" \
-      --replace "six==1.11.0" "six>=1.11.0" \
-      --replace "python-slugify<2.0.0" "python-slugify>2.0.0"
+    substituteInPlace requirements.txt \
+      --replace "python-slugify<5.0.0" "python-slugify"
   '';
 
   # Requires external resources
@@ -25,8 +25,8 @@ buildPythonApplication rec {
 
   meta = with lib; {
     homepage = "https://www.transifex.com/";
-    license = licenses.gpl2;
+    license = licenses.gpl2Only;
     description = "Transifex translation service client";
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ sikmir ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/text/ugrep/default.nix b/nixpkgs/pkgs/tools/text/ugrep/default.nix
index 17503829e7ae..2a00ba055725 100644
--- a/nixpkgs/pkgs/tools/text/ugrep/default.nix
+++ b/nixpkgs/pkgs/tools/text/ugrep/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ugrep";
-  version = "3.3";
+  version = "3.3.7";
 
   src = fetchFromGitHub {
     owner = "Genivia";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0qk8rzsll69pf220m6n41giyk3faqvwagml7i2xwgp7pcax607nl";
+    sha256 = "sha256-FnSOurICD4n2Z/snP0ysWZ30DnyEDZMqpjRrS1WxG+Q=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/tools/text/vale/default.nix b/nixpkgs/pkgs/tools/text/vale/default.nix
index 257b11933b95..d5c64aa9f7b2 100644
--- a/nixpkgs/pkgs/tools/text/vale/default.nix
+++ b/nixpkgs/pkgs/tools/text/vale/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "vale";
-  version = "2.10.4";
+  version = "2.10.5";
 
   subPackages = [ "cmd/vale" ];
   outputs = [ "out" "data" ];
@@ -11,17 +11,17 @@ buildGoModule rec {
     owner  = "errata-ai";
     repo   = "vale";
     rev    = "v${version}";
-    sha256 = "0gw7b6gvzp2f7la1mb74bg92nd8zk5fiajsihcqpni2a79js1s6y";
+    sha256 = "sha256-SxNM63MCtsBmjzFbO/leCQwWWew5nN8wTUdmzHkx7dQ=";
   };
 
-  vendorSha256 = "15r97mpsailsa4ja6mh5wrjcjacppm0vwma9q6znsa2f1x2apc6y";
+  vendorSha256 = "sha256-3rCrRA9OKG2/wUlVvkG9lynJZOYFVqMkUZpGpW89KZc=";
 
   postInstall = ''
     mkdir -p $data/share/vale
     cp -r styles $data/share/vale
   '';
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
+  ldflags = [ "-s" "-w" "-X main.version=${version}" ];
 
   meta = with lib; {
     homepage = "https://docs.errata.ai/vale/about";
diff --git a/nixpkgs/pkgs/tools/text/vgrep/default.nix b/nixpkgs/pkgs/tools/text/vgrep/default.nix
index edd0416b0ef9..1eea8b7f67b3 100644
--- a/nixpkgs/pkgs/tools/text/vgrep/default.nix
+++ b/nixpkgs/pkgs/tools/text/vgrep/default.nix
@@ -13,7 +13,7 @@ buildGoModule rec {
 
   vendorSha256 = null;
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
+  ldflags = [ "-s" "-w" "-X main.version=${version}" ];
 
   nativeBuildInputs = [ go-md2man installShellFiles ];
 
diff --git a/nixpkgs/pkgs/tools/text/xidel/default.nix b/nixpkgs/pkgs/tools/text/xidel/default.nix
index 0996cf944eb0..97c74e370089 100644
--- a/nixpkgs/pkgs/tools/text/xidel/default.nix
+++ b/nixpkgs/pkgs/tools/text/xidel/default.nix
@@ -1,48 +1,92 @@
-{ lib, stdenv, fetchurl, dpkg }:
+{ lib, stdenv, fetchsvn, fetchFromGitHub, fpc }:
 
-stdenv.mkDerivation rec {
+let
+  flreSrc = fetchFromGitHub {
+    owner = "benibela";
+    repo = "flre";
+    rev = "5aa8a9e032feff7a5790104f2d53fa74c70bb1d9"; # latest as of 0.9.8 release date
+    sha256 = "1zny494jm92fjgfirzwmxff988j4yygblaxmaclkkmcvzkjrzs05";
+  };
+  synapseSrc = fetchsvn {
+    url = "http://svn.code.sf.net/p/synalist/code/synapse/40/";
+    rev = 237;
+    sha256 = "0ciqd2xgpinwrk42cpyinh9gz2i5s5rlww4mdlsca1h6saivji96";
+  };
+  rcmdlineSrc = fetchFromGitHub {
+    owner = "benibela";
+    repo = "rcmdline";
+    rev = "96859e574e82d76eae49d5552a8c5aa7574a5987"; # latest as of 0.9.8 release date
+    sha256 = "0vwvpwrxsy9axicbck143yfxxrdifc026pv9c2lzqxzskf9fd78b";
+  };
+  internettoolsSrc = fetchFromGitHub {
+    owner = "benibela";
+    repo = "internettools";
+    rev = "c9c5cc3a87271180d4fb5bb0b17040763d2cfe06"; # latest as of 0.9.8 release date
+    sha256 = "057hn7cb1vy827gvim3b6vwgfdh2ckjy8h9yj1ry7lv6hw8ynx6n";
+  };
+in stdenv.mkDerivation rec {
   pname = "xidel";
-  version = "0.9.6";
-
-  ## Source archive lacks file (manageUtils.sh), using pre-built package for now.
-  #src = fetchurl {
-  #  url = "mirror://sourceforge/videlibri/Xidel/Xidel%20${version}/${name}.src.tar.gz";
-  #  sha256 = "1h5xn16lgzx0s94iyhxa50lk05yf0af44nzm5w5k57615nd82kz2";
-  #};
-
-  src =
-    if stdenv.hostPlatform.system == "x86_64-linux" then
-      fetchurl {
-        url = "mirror://sourceforge/videlibri/Xidel/Xidel%20${version}/xidel_${version}-1_amd64.deb";
-        sha256 = "0hskc74y7p4j1x33yx0w4fvr610p2yimas8pxhr6bs7mb9b300h7";
-      }
-    else if stdenv.hostPlatform.system == "i686-linux" then
-      fetchurl {
-        url = "mirror://sourceforge/videlibri/Xidel/Xidel%20${version}/xidel_${version}-1_i386.deb";
-        sha256 = "07yk5sk1p4jm0jmgjwdm2wq8d2wybi1wkn1qq5j5y03z1pdc3fi6";
-      }
-    else throw "xidel is not supported on ${stdenv.hostPlatform.system}";
-
-  buildInputs = [ dpkg ];
-
-  unpackPhase = ''
-    dpkg-deb -x ${src} ./
+  version = "0.9.8";
+
+  src = fetchFromGitHub {
+    owner = "benibela";
+    repo = pname;
+    rev = "Xidel_${version}";
+    sha256 = "0q75jjyciybvj6y17s2283zis9fcw8w5pfsq8bn7diinnbjnzgl6";
+  };
+
+  nativeBuildInputs = [ fpc ];
+
+  patchPhase = ''
+    patchShebangs \
+      build.sh \
+      tests/test.sh \
+      tests/tests-file-module.sh \
+      tests/tests.sh \
+      tests/downloadTest.sh \
+      tests/downloadTests.sh \
+      tests/zorbajsoniq.sh \
+      tests/zorbajsoniq/download.sh
   '';
 
-  dontBuild = true;
+  preBuildPhase = ''
+    mkdir -p import/{flre,synapse} rcmdline internettools
+    cp -R ${flreSrc}/. import/flre
+    cp -R ${synapseSrc}/. import/synapse
+    cp -R ${rcmdlineSrc}/. rcmdline
+    cp -R ${internettoolsSrc}/. internettools
+  '';
+
+  buildPhase = ''
+    runHook preBuildPhase
+    ./build.sh
+    runHook postBuildPhase
+  '';
 
   installPhase = ''
-    mkdir -p "$out/bin"
-    cp -a usr/* "$out/"
-    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$out/bin/xidel"
+    mkdir -p "$out/bin" "$out/share/man/man1"
+    cp meta/xidel.1 "$out/share/man/man1/"
+    cp xidel "$out/bin/"
+  '';
+
+  doCheck = true;
+
+  checkPhase = ''
+    # Not all, if any, of these tests are blockers. Failing or not this phase will pass.
+    # As of 2021-08-15, all of 37 failed tests are linked with the lack of network access.
+    ./tests/tests.sh
+  '';
+
+  doInstallCheck = true;
+
+  installCheckPhase = ''
+    $out/bin/xidel --version | grep "${version}"
   '';
 
   meta = with lib; {
-    description = "Command line tool to download and extract data from html/xml pages";
-    homepage = "http://videlibri.sourceforge.net/xidel.html";
-    # source contains no license info (AFAICS), but sourceforge says GPLv2
-    license = licenses.gpl2;
-    # more platforms will be supported when we switch to source build
+    description = "Command line tool to download and extract data from HTML/XML pages as well as JSON APIs";
+    homepage = "https://www.videlibri.de/xidel.html";
+    license = licenses.gpl3Plus;
     platforms = platforms.linux;
     maintainers = [ maintainers.bjornfor ];
   };
diff --git a/nixpkgs/pkgs/tools/text/xurls/default.nix b/nixpkgs/pkgs/tools/text/xurls/default.nix
index fa5418b45818..774626561c94 100644
--- a/nixpkgs/pkgs/tools/text/xurls/default.nix
+++ b/nixpkgs/pkgs/tools/text/xurls/default.nix
@@ -1,14 +1,14 @@
 { buildGoPackage, lib, fetchFromGitHub }:
 
 buildGoPackage rec {
-  version = "2.2.0";
+  version = "2.3.0";
   pname = "xurls";
 
   src = fetchFromGitHub {
     owner = "mvdan";
     repo = "xurls";
     rev = "v${version}";
-    sha256 = "0w7i1yfl5q24wvmsfb3fz1zcqsdh4c6qikjnmswxbjc7wva8rngg";
+    sha256 = "sha256-+oWYW7ZigkNS6VADNmVwarIsYyd730RAdDwnNIAYvlA=";
   };
 
   goPackagePath = "mvdan.cc/xurls/v2";
diff --git a/nixpkgs/pkgs/tools/typesetting/asciidoc/default.nix b/nixpkgs/pkgs/tools/typesetting/asciidoc/default.nix
index ce3b142fbc57..0618a55df441 100644
--- a/nixpkgs/pkgs/tools/typesetting/asciidoc/default.nix
+++ b/nixpkgs/pkgs/tools/typesetting/asciidoc/default.nix
@@ -40,6 +40,8 @@
 
 # java is problematic on some platforms, where it is unfree
 , enableJava ? true
+
+, buildPackages
 }:
 
 assert enableStandardFeatures ->
@@ -157,7 +159,9 @@ stdenv.mkDerivation rec {
     sha256 = "1clf1axkns23wfmh48xfspzsnw04pjh4mq1pshpzvj0cwxhz0yaq";
   };
 
+  strictDeps = true;
   nativeBuildInputs = [ python3 unzip autoreconfHook ];
+  buildInputs = [ python3 ];
 
   # install filters early, so their shebangs are patched too
   postPatch = with lib; ''
@@ -262,7 +266,20 @@ stdenv.mkDerivation rec {
         -e "s|^XMLLINT =.*|XMLLINT = '${libxml2.bin}/bin/xmllint'|" \
         -i a2x.py
   '') + ''
-    patchShebangs .
+    patchShebangs --host \
+      asciidoc.py \
+      a2x.py \
+      tests/testasciidoc.py \
+      filters/code/code-filter.py \
+      filters/latex/latex2img.py \
+      filters/music/music2png.py \
+      filters/unwraplatex.py \
+      filters/graphviz/graphviz2png.py
+
+    # Hardcode the path to its own asciidoc.
+    # This helps with cross-compilation.
+    substituteInPlace a2x.py \
+      --replace "find_executable(ASCIIDOC)" "'${placeholder "out"}/bin/asciidoc'"
 
     # Note: this substitution will not work in the planned 10.0.0 release:
     #
@@ -273,11 +290,24 @@ stdenv.mkDerivation rec {
     # --replace "python3 -m asciidoc.a2x" "python3 -m asciidoc.a2x -a revdate=01/01/1980"
     substituteInPlace Makefile.in \
       --replace "python3 a2x.py" "python3 a2x.py -a revdate=01/01/1980"
+
+    # Fix tests
+    for f in $(grep -R --files-with-matches "2002-11-25") ; do
+      substituteInPlace $f --replace "2002-11-25" "1970-01-01"
+      substituteInPlace $f --replace "00:37:42" "00:00:01"
+    done
+  '' + lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
+    # We want to use asciidoc from the build platform to build the documentation.
+    substituteInPlace Makefile.in \
+      --replace "python3 a2x.py" "python3 ${buildPackages.asciidoc}/bin/a2x.py"
   '';
 
   preInstall = "mkdir -p $out/etc/vim";
   makeFlags = lib.optional stdenv.isCygwin "DESTDIR=/.";
 
+  checkInputs = [ sourceHighlight ];
+  doCheck = true;
+
   meta = with lib; {
     description = "Text-based document generation system";
     longDescription = ''
diff --git a/nixpkgs/pkgs/tools/typesetting/bibclean/default.nix b/nixpkgs/pkgs/tools/typesetting/bibclean/default.nix
index 8c7e123acf73..400319571784 100644
--- a/nixpkgs/pkgs/tools/typesetting/bibclean/default.nix
+++ b/nixpkgs/pkgs/tools/typesetting/bibclean/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bibclean";
-  version = "3.04";
+  version = "3.06";
 
   src = fetchurl {
     url = "http://ftp.math.utah.edu/pub/bibclean/bibclean-${version}.tar.xz";
-    sha256 = "0n5jb6w86y91q5lkcc9sb1kh4c2bk3q2va24gfr0n6v1jzyqp9jg";
+    sha256 = "sha256-ZXT5uAQrqPoF6uVBazc4o1w40Sn0jnM+JYeOz7qq3kM=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/tools/typesetting/docbook2odf/default.nix b/nixpkgs/pkgs/tools/typesetting/docbook2odf/default.nix
index affa12c40190..cd10ac9117c8 100644
--- a/nixpkgs/pkgs/tools/typesetting/docbook2odf/default.nix
+++ b/nixpkgs/pkgs/tools/typesetting/docbook2odf/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
 
     wrapProgram "$out/bin/docbook2odf" \
       --prefix PATH : "${lib.makeBinPath [ zip libxslt ]}" \
-      --prefix PERL5PATH : "${perlPackages.makePerlPath [ perlPackages.PerlMagick ]}"
+      --prefix PERL5PATH : "${perlPackages.makePerlPath [ perlPackages.ImageMagick ]}"
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/typesetting/lowdown/default.nix b/nixpkgs/pkgs/tools/typesetting/lowdown/default.nix
index 640bf49fc16b..6800e6bccd8f 100644
--- a/nixpkgs/pkgs/tools/typesetting/lowdown/default.nix
+++ b/nixpkgs/pkgs/tools/typesetting/lowdown/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "lowdown";
-  version = "0.8.5";
+  version = "0.8.6";
 
   outputs = [ "out" "lib" "dev" "man" ];
 
   src = fetchurl {
     url = "https://kristaps.bsd.lv/lowdown/snapshots/lowdown-${version}.tar.gz";
-    sha512 = "0gvrjxvizpxm5xvw8v2jygmx244wdl9n75qxz4chqbzkwshk4gwscz38p7sq9qlsbq8jmnv4l095a9dl9b836kym38hh1bvzmdiflar";
+    sha512 = "3lvy23zg0hpixrf06g8hh15h2c9wwa0wa95vh2hp924kdi2akqcp2i313chycx1cmmg379w4v80ha2726ala69zxzk42y6djc8vm3xd";
   };
 
   nativeBuildInputs = [ which ]
diff --git a/nixpkgs/pkgs/tools/typesetting/lowdown/shared.patch b/nixpkgs/pkgs/tools/typesetting/lowdown/shared.patch
index ed9f266b3f9c..75ee03da9700 100644
--- a/nixpkgs/pkgs/tools/typesetting/lowdown/shared.patch
+++ b/nixpkgs/pkgs/tools/typesetting/lowdown/shared.patch
@@ -11,10 +11,11 @@ index 955f737..2c9532c 100644
  
  www: $(HTMLS) $(PDFS) $(THUMBS) lowdown.tar.gz lowdown.tar.gz.sha512
  
-@@ -101,6 +101,9 @@ lowdown-diff: lowdown
+@@ -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)
 +
diff --git a/nixpkgs/pkgs/tools/typesetting/pdfchain/default.nix b/nixpkgs/pkgs/tools/typesetting/pdfchain/default.nix
new file mode 100644
index 000000000000..84ed38b3836d
--- /dev/null
+++ b/nixpkgs/pkgs/tools/typesetting/pdfchain/default.nix
@@ -0,0 +1,56 @@
+{ lib, stdenv, fetchurl, fetchpatch
+, autoconf, gtkmm3, glib, pdftk, pkg-config, wrapGAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "pdfchain";
+  version = "0.4.4.2";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/${pname}/${pname}-${version}/${pname}-${version}.tar.gz";
+    sha256 = "sha256-Hu4Pk9voyc75+f5OwKEOCkXKjN5nzWzv+izmyEN1Lz0=";
+  };
+
+  nativeBuildInputs = [
+    pkg-config wrapGAppsHook autoconf
+  ];
+
+  buildInputs = [
+    gtkmm3 pdftk glib
+  ];
+
+  patches = let
+    fetchDebianPatch = {name, sha256}: fetchpatch {
+      url = "https://salsa.debian.org/debian/pdfchain/raw/2d29107756a3194fb522bdea8e9b9e393b15a8f3/debian/patches/${name}";
+      inherit name sha256;
+    };
+  in
+  [
+    (fetchDebianPatch {
+      name = "fix_crash_on_startup";
+      sha256 = "sha256-1UyMHHGrmUIFhY53ILdMMsyocSIbcV6CKQ7sLVNhNQw=";
+    })
+    (fetchDebianPatch {
+      name = "fix_desktop_file";
+      sha256 = "sha256-L6lhUs7GqVN1XOQO6bbz6BT29n4upsJtlHCAIGzk1Bw=";
+    })
+    (fetchDebianPatch {
+      name = "fix_spelling";
+      sha256 = "sha256-sOUUslPfcOo2K3zuaLcux+CNdgfWM0phsfe6g4GUFes=";
+    })
+  ];
+
+  postPatch = ''
+    substituteInPlace src/constant.h \
+        --replace '"pdftk"' '"${pdftk}/bin/pdftk"' \
+        --replace "/usr/share" "$out/share"
+  '';
+
+  meta = with lib; {
+    description = "A graphical user interface for the PDF Toolkit (PDFtk)";
+    homepage = "https://pdfchain.sourceforge.io";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ hqurve ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/typesetting/soupault/default.nix b/nixpkgs/pkgs/tools/typesetting/soupault/default.nix
new file mode 100644
index 000000000000..5b0619468efb
--- /dev/null
+++ b/nixpkgs/pkgs/tools/typesetting/soupault/default.nix
@@ -0,0 +1,41 @@
+{ fetchFromGitHub, ocamlPackages, lib }:
+
+ocamlPackages.buildDunePackage rec {
+  pname = "soupault";
+  version = "3.1.0";
+
+  useDune2 = true;
+
+  src = fetchFromGitHub {
+    owner = "dmbaturin";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-SVNC2DbdciunSKTCmmX0SqaEXMe1DkVX4VJTqriI8Y4=";
+  };
+
+  buildInputs = with ocamlPackages; [
+    base64
+    containers
+    ezjsonm
+    fileutils
+    fmt
+    jingoo
+    lambdasoup
+    lua-ml
+    logs
+    odate
+    otoml
+    re
+    spelll
+    tsort
+    yaml
+  ];
+
+  meta = with lib; {
+    description = "A tool that helps you create and manage static websites";
+    homepage = "https://soupault.app/";
+    license = licenses.mit;
+    maintainers = [ maintainers.toastal ];
+  };
+}
+
diff --git a/nixpkgs/pkgs/tools/typesetting/tex/nix/default.nix b/nixpkgs/pkgs/tools/typesetting/tex/nix/default.nix
index 4ee45bf4bc8f..fbb6fdb0fe01 100644
--- a/nixpkgs/pkgs/tools/typesetting/tex/nix/default.nix
+++ b/nixpkgs/pkgs/tools/typesetting/tex/nix/default.nix
@@ -77,7 +77,7 @@ rec {
             in if fn != null then [{key = fn;}] ++ xs
                else xs;
 
-        in pkgs.lib.fold foundDeps [] deps;
+        in pkgs.lib.foldr foundDeps [] deps;
     };
 
 
diff --git a/nixpkgs/pkgs/tools/typesetting/tex/texlive/default.nix b/nixpkgs/pkgs/tools/typesetting/tex/texlive/default.nix
index 4497cdfbed26..4851a346c048 100644
--- a/nixpkgs/pkgs/tools/typesetting/tex/texlive/default.nix
+++ b/nixpkgs/pkgs/tools/typesetting/tex/texlive/default.nix
@@ -19,7 +19,6 @@ let
   };
 
   # map: name -> fixed-output hash
-  # sha1 in base32 was chosen as a compromise between security and length
   fixedHashes = lib.optionalAttrs useFixedHashes (import ./fixedHashes.nix);
 
   # function for creating a working environment from a set of TL packages
@@ -177,7 +176,7 @@ let
           };
         } // lib.optionalAttrs (fixedHash != null) {
           outputHash = fixedHash;
-          outputHashAlgo = "sha1";
+          outputHashAlgo = "sha256";
           outputHashMode = "recursive";
         }
       )
diff --git a/nixpkgs/pkgs/tools/typesetting/tex/texlive/fixHashes.awk b/nixpkgs/pkgs/tools/typesetting/tex/texlive/fixHashes.awk
index 88ba0bc15289..d9f1acd08eab 100755
--- a/nixpkgs/pkgs/tools/typesetting/tex/texlive/fixHashes.awk
+++ b/nixpkgs/pkgs/tools/typesetting/tex/texlive/fixHashes.awk
@@ -10,7 +10,7 @@ BEGIN {
     print "No match for \""$0"\"" > "/dev/stderr"
     exit 1
   }
-  cmd="nix-hash --type sha1 --base32 "$0
+  cmd="nix-hash --type sha256 --base32 "$0
   if (( cmd | getline hash ) <= 0) {
     print "Error executing nix-hash" > "/dev/stderr"
     exit 1
diff --git a/nixpkgs/pkgs/tools/typesetting/tex/texlive/fixedHashes.nix b/nixpkgs/pkgs/tools/typesetting/tex/texlive/fixedHashes.nix
index d7182086f9ae..22e6daacb2e5 100644
--- a/nixpkgs/pkgs/tools/typesetting/tex/texlive/fixedHashes.nix
+++ b/nixpkgs/pkgs/tools/typesetting/tex/texlive/fixedHashes.nix
@@ -1,9095 +1,9095 @@
 {
-"amsfonts-3.04"="hi87s0fxrkcq0w2389kwpxd3zzwsk1zf";
-"amsfonts.doc-3.04"="ch872rwfiar58praz8f880rcspy4mjxa";
-"amsfonts.source-3.04"="vjiw3vdxv44nl4yvaxqfy4b78girpjs7";
-"bibtex-0.99d"="ybimfc49fzmgpy88wagy0z55sdsshr50";
-"bibtex.doc-0.99d"="jbk7qsya6x0l8c3bvnf3dzp59hak4alq";
-"kpathsea-58622"="9d0ldcy58xcyd2b8hckkl14518bw5p5s";
-"kpathsea.doc-58622"="l0s26mhn17liv00kggh0x4kb02i044a3";
-"cm-57963"="5xrqls79s3drpagj8j3ihqzkll10605w";
-"cm.doc-57963"="zkdw4jhvmz2gd3zgazhx548lrj1a4lws";
-"colorprofiles-20181105"="9rs3wkarffy7hf7c9kymzacy20znvcqf";
-"colorprofiles.doc-20181105"="v1asppz0kqvfg85skaiisphh2z4y6mbh";
-"dvipdfmx-58645"="2a9i7p590z9v716a235rb52yxvzkyr2p";
-"dvipdfmx.doc-58645"="icyrpqvnwznpzgw6vp2k6pdvad1hy2lp";
-"glyphlist-54074"="i4nay4q38l3367hlc93rhkgxvrkcmyjb";
-"dvips-57972"="3mixrkqhlx0d7lkcvm3z1yh3z5gmjhiq";
-"dvips.doc-57972"="36fjspl0a9dlih2r5jqymhp96h81z37q";
-"ec-1.0"="kjq23jms9m9h5af2ri4bxd65w82lli3v";
-"ec.doc-1.0"="a8mvwdx6s8swxhagcc1p36dsy335fhby";
-"enctex-34957"="j6lf040j733q0aj90wvx2vwq0x61zwdm";
-"enctex.doc-34957"="p2pad1ncy8izfag44p0pndyvgckfngvv";
-"etex-56291"="mdrs8yrrjf03pcndsr5azzxz7lvk08jp";
-"etex.doc-56291"="xdmkddsi3lykqy5hm03xamxsmmwplmnb";
-"etex-pkg-2.7"="2p6j6s4jm1y7k82jhh9lrfgcbph03h1a";
-"etex-pkg.doc-2.7"="0xlalpljqrcinaazh35yv9vc2a925h90";
-"graphics-def-58539"="8zfx2iisxpsx0arxxhpbs8wp1x69rxfs";
-"graphics-def.doc-58539"="a0kws0r8a2624wl1ph0i63b5593h6y99";
-"hyph-utf8-58619"="iv6hq9jb4bldmdipjxc7gija6mmd4nb0";
-"hyph-utf8.doc-58619"="xxzpsbz4hgizhg7jdwrq41l5mmdhc23i";
-"hyph-utf8.source-58619"="c8z88ky9r4d4rvnsbnq1jfcjxjgfxmv3";
-"hyphen-base-58630"="aix2l8fcl4r9wpggrrck7qs832c9ywqk";
-"hyphenex-57387"="5d1fyhzq5zpxj1p0smrk3c1z9nw3yzgg";
-"hyphenex.source-57387"="js2q0pjhyskdkc71zjkr0wqbva8i8x3p";
-"ifplatform-0.4a"="sfnfrx7iqg6kikiqd44yx8004l2mqkza";
-"ifplatform.doc-0.4a"="sab580hpgp0nw6gq5li9vvv3x5gxp50b";
-"ifplatform.source-0.4a"="nkwc32c56f1s585rr18r54ib1xa9hn4z";
-"iftex-1.0d"="hnrm1vi2gwwl7b45i0sglk0yi8ziiqy5";
-"iftex.doc-1.0d"="0kk8byzsjwajb12yglvaif7msy8kpj7i";
-"knuth-lib-57963"="7fv2zxbgi2bn3vxgfj072mg5jh158zp3";
-"knuth-local-57963"="3qlxj0kh5k7mqbfz2mq74857bwrjxmmh";
-"lua-alt-getopt-0.7.0"="s2qkgq8dv65ib6chsah4xcargxh26bml";
-"lua-alt-getopt.doc-0.7.0"="xv8zqch612n2ww2pnpfranafcf7jhl96";
-"luahbtex.doc-57972"="gbmcspvgx5dnm60kydiqwdv7gvwjkvzi";
-"luatex-58702"="kqr6nzj6qjbmfhfhpfypxc2qx1dlj96h";
-"luatex.doc-58702"="d3y285q35sqp8dmd7ylhbjx4f9q3njzj";
-"plain-3.141592653"="7656rww13pgcvcarad6n6jdl1315p399";
-"tex-ini-files-40533"="831h7dslin8dnan7llz8mki6zibqfglj";
-"tex-ini-files.doc-40533"="pqfrqdqmlbhmcpjycpf644v4vg0qw7ic";
-"unicode-data-1.14"="l3va6jrpqxc96kl6idaqgnhhzx9cwcnk";
-"unicode-data.doc-1.14"="jrwxwchmf7m8qrarf1d4dzg5jpqn0r66";
-"makeindex-52851"="yzy90d3n087yrdsawabd0bn7iwz3m1i6";
-"makeindex.doc-52851"="ygvhwf55z6f9ix5jny8im72qwva5w560";
-"mflogo-2.0"="mnn3p5gn5h9yi4inkllswxn142j31mz4";
-"mflogo.doc-2.0"="rdirf33m53y719b35aby2d98v1i0jhh5";
-"mflogo.source-2.0"="hl5rzcmk83lpc5rxcvy31kzm6qbwx3g5";
-"mfware-57972"="7mwvvyrb9cz2d3k5jl8r1fl238m3gl6n";
-"mfware.doc-57972"="1gywjmyvdp5l925k9fvnd5h1w2pmzyj7";
-"modes-4.2"="wd0kik99kf8r6h0ddfb74hrfkiajrb1g";
-"modes.doc-4.2"="zs48h22mggw31g7sbykzzdsjzx4kg3xm";
-"pdftex-57973"="jlscd5nj9rdhdhczjah0vmarhrqdv9z2";
-"pdftex.doc-57973"="795k9m0c29s3wv3fjhw73zx81bwz3z98";
-"dehyph-48599"="dwnq2aajr29sdydc45056na079ph8gc6";
-"tex.doc-3.141592653"="wg2czmd4ii2b2srn1bfq6zgsm1m508p0";
-"texlive-common.doc-58055"="c3gi08560s2lr8c7ih7h25p4fyl852d8";
-"texlive-docindex.doc-58780"="bw11wjaqjjahs4x0hnakfvmvrjmjckkb";
-"texlive-en.doc-58572"="qyys3p34z9qcnmwxlgdfppvmy94xvabl";
-"texlive-scripts-58791"="nx7agd300r1yy7g18v60ksmyxldlyvnp";
-"texlive-scripts.doc-58791"="9xqk6wv9cyijm1q5knnjlxi2xv5b0hwk";
-"tlshell-58792"="fj8yx6k5z5jd0kw6a1cwbn578b2mqbl8";
-"tlshell.doc-58792"="yps67a47kr5r3ljhd18kq35bhn2qjj3y";
-"aaai-named-52470"="3lh28gvljcszn9vhzgsb6fp93m7n4d1d";
-"aichej-15878"="rmm8q17dvb470lyarcvgbpgip24a4fxb";
-"ajl-34016"="j0z05x267dbbw5r8s0ybvlj0hwky6sg5";
-"amsrefs-2.14"="crmn3pm2zy2fcr5d82dwwwxjm42na6j3";
-"amsrefs.doc-2.14"="r45n92fihia786v5nsab5vgjvwgmij6d";
-"amsrefs.source-2.14"="k1rzn2d509i2nkfwclpbpir3q6a41ya9";
-"annotate-52824"="ialyl5d9w1gip0k9n3kjf83w6991bdcc";
-"apacite-6.03"="sj9k6bnr8qhfddlzk7wd0daf12458yi9";
-"apacite.doc-6.03"="cbhyw6lwyg7mnx8h421y0hxf3h5m6n4y";
-"apacite.source-6.03"="cby7n3f9rzm83736nm4rn1m77km3lr9y";
-"apalike2-54080"="vf25kvilm8g379d8c5mkzv749nd9p8ap";
-"archaeologie-2.4.5"="s5r653hgvq14sy4g4jg6yylfdfd9a857";
-"archaeologie.doc-2.4.5"="s8sycgiz1p9ijzsqpnjq68iqlrrd3z14";
-"archaeologie.source-2.4.5"="6azzb6zrv4xcrqc89a0f23inxgicin0c";
-"authordate-52564"="d2bswrn2prjx106g6qyxs0sdhxxr0wfh";
-"authordate.doc-52564"="0p505jmjdgvy26acbbgmkw9cp008kzl1";
-"beebe-58697"="1vprhdr8b2cnm0aylklbr81s43bihwcp";
-"besjournals-45662"="n3ljrkamca5v9w0rk3m38nqw86s1izc8";
-"besjournals.doc-45662"="3swy1ix6cxbp87hjlaf3x4ws4kg8sz77";
-"bestpapers-1.0"="15nq2m32h0giv41k6dslrw28han015aq";
-"bestpapers.doc-1.0"="mmlnsl83sil5zbdhwq16b6025sxdh9s6";
-"bib2gls-2.7"="kgiw7xkmfmg7n4d2jbvb8d4cv5g77djq";
-"bib2gls.doc-2.7"="21wmffrl60n5p15c2ip5v4c612yflxkd";
-"bib2gls.source-2.7"="mhcwmipmy51887r810ydxs4dkh3zppmy";
-"bibarts-2.2"="w813f5qw2kbsmlhcwxsg62na06bp0p0r";
-"bibarts.doc-2.2"="xrv6r5iwpdyrjzqzanvgw2dy07xgkgb0";
-"bibarts.source-2.2"="c4js97f9wx1ndh8isk3fgg6lp1rhrrmb";
-"biber.doc-2.16"="283hs3rvg9m38yk97pvajyzwkgyv38j9";
-"biber.source-2.16"="nbbnd4gdmkw2y15wigqrjxv1b2xvsdbg";
-"bibexport-3.03"="gxzcd5xddarag47glbq02fmxgpn5ndw3";
-"bibexport.doc-3.03"="mvqlfzqzyhbnqw8xixa01qdfgrlm5xln";
-"bibexport.source-3.03"="q41ipwczv79cxnl2420cvcj5q9c6l57l";
-"bibhtml-2.0.2"="b0klmx8rd09znlxg7wz5m8b1f8qpxsjv";
-"bibhtml.doc-2.0.2"="snqyqvgwdwpkyfqfj69zwd478z96mcj4";
-"biblatex-3.16"="1y6ynai1zf5mx9106yhka418lhki79v6";
-"biblatex.doc-3.16"="5papwbpfnyfrimwh18p0nsnpajfkb6px";
-"etoolbox-2.5k"="1b2h9kr3gk2by5n0dswnq3z1hf68q5lm";
-"etoolbox.doc-2.5k"="51558shd94h5lrary13dznhss225wrfd";
-"kvoptions-3.14"="vplbvmnl37ypgrdqcn0mycsnwr5z1ha4";
-"kvoptions.doc-3.14"="2avi8y8yglncwa87vs41akaxlvbcjgbi";
-"kvoptions.source-3.14"="rl5bv5ip88w4251w0hf2wk5p8nzl9lwj";
-"logreq-1.0"="4kl4g8kjy4zch0rdn8aj2mr5yxpssdc0";
-"logreq.doc-1.0"="8s7ly9p9m270mhhh16gv5p71r10cpnzv";
-"pdftexcmds-0.33"="pa208jqk3rvps51niwccdmnx3c0zhlc2";
-"pdftexcmds.doc-0.33"="3nbk8p285nzhw2vqaa31xnhr7cxflqqb";
-"pdftexcmds.source-0.33"="gzwymkn5xcy2fkvhn4qsny7cm6fx4hrf";
-"url-3.4"="vf34zjwlv43kcw53sdla9052x7x0kn7y";
-"url.doc-3.4"="ii3z3l7xkmrkxb8dkgk6lcqyb34niirc";
-"biblatex-abnt-3.4"="ryrk1n85x197ff723jla7vrcv4jkb2fv";
-"biblatex-abnt.doc-3.4"="i1b7mjmy8din75dzaqb407n5byavjwzy";
-"biblatex-ajc2020unofficial-0.2.0"="kiiyd9fswfrwzgl79h06a4izzsa0m1ns";
-"biblatex-ajc2020unofficial.doc-0.2.0"="bqqpysk5gxxy0mvyghz126zh4rbqlxqx";
-"biblatex-anonymous-2.6.2"="yv83qimx8n31f00csmlxxlmymxsq1ngf";
-"biblatex-anonymous.doc-2.6.2"="s3g5ndv0alcpi8jmslrashcg4slb96hz";
-"biblatex-apa-9.14"="1hv74dv3bqgafga8mmckmx7davj7f2l5";
-"biblatex-apa.doc-9.14"="nx2dj10pvvqmxzrm80cssba35v5hcy32";
-"biblatex-apa6-8.5"="byr40jxzifn0kpnksclsn8gz2am6h4w5";
-"biblatex-apa6.doc-8.5"="bkm3wh8c227wfl8f3899ra3swwavv7fh";
-"biblatex-archaeology-2.2"="4f3a6ma209x4902fw43xhhs9wkk741hn";
-"biblatex-archaeology.doc-2.2"="n8377bbiwq09fszgq2lq7i3qkzr32jbi";
-"biblatex-archaeology.source-2.2"="c6316rahqfyxqkb546gpljvqj8jncccx";
-"biblatex-arthistory-bonn-1.2"="298lp84p62rlsin8y7spz0ig2g8wla3b";
-"biblatex-arthistory-bonn.doc-1.2"="bkssng4czmqvimlv8f2bdh4sxdrag13i";
-"biblatex-bath-4.0"="04wgqz6s9qal2pg2li291nkn5p16zv6v";
-"biblatex-bath.doc-4.0"="ygd05m4f5gjc9yvhary19jnfklzv9iy4";
-"biblatex-bath.source-4.0"="ymsxcycg2jchikapk6nqqdwknwrl0bx0";
-"biblatex-bookinarticle-1.3.1a"="bnx6iravlnrkkyqb3ah21p0ikq00ab57";
-"biblatex-bookinarticle.doc-1.3.1a"="6shjhb1lajkivsh3mrr2whli5hcsb8b4";
-"biblatex-bookinother-2.3.3"="lcqqnr0za3jf3h3yr0kbffwnxpg7ww9k";
-"biblatex-bookinother.doc-2.3.3"="wz5w9vgr3c19kd5x6fic9sx3qs6lz0vy";
-"biblatex-bwl-0.02"="0a11hlav9gsavdisyjckvnrxkkb4134w";
-"biblatex-bwl.doc-0.02"="b7ddxvcabp9qd88mzb6dxvw7sz8dnqfq";
-"biblatex-caspervector-0.3.5"="lfrll315pr653wb5cp3263na44g2m8lh";
-"biblatex-caspervector.doc-0.3.5"="jdq7pdz08pzhrzd4ym6i8fws90a4bhfh";
-"biblatex-chem-1.1z"="lrk5pn8lihal829bvncmcvswpy86bgvj";
-"biblatex-chem.doc-1.1z"="dv8kdrfpypwy067bli57gl3rd9wb91hr";
-"biblatex-chicago-2.1"="4rm94ng8vz4sd37g7cnf4yjgc03x7l61";
-"biblatex-chicago.doc-2.1"="3mj4x64f6h7sky4s2yqg3dvh4y4kqbw4";
-"biblatex-claves-1.2.1"="yq5s9plvimz4w9san81swl08g2v6pa6q";
-"biblatex-claves.doc-1.2.1"="36qjs0m893389s9wkw5wxai04qp8zxs6";
-"biblatex-dw-1.7"="9nf2hg43q6if3v5hdrfxnpbdww7y06jv";
-"biblatex-dw.doc-1.7"="ppry56vc44c86m47r1z8mq9s7fg77n8m";
-"biblatex-enc-1.0"="ccc2f3rnf7kyavb3r2hmah6pcfl1xivg";
-"biblatex-enc.doc-1.0"="b54x1g0296ln6lkw1zvlbmshhr93vg7y";
-"biblatex-ext-0.12"="ppbwvlki0rgcjq9d1ypiwcpr9g62zqmq";
-"biblatex-ext.doc-0.12"="bw9mqrm7qpbx3yzx6jh0hjvhd9b16m3z";
-"biblatex-fiwi-1.7"="xwb00mw95l90bba4fc31kw62p43cxjz1";
-"biblatex-fiwi.doc-1.7"="y5hpi0gwp2s7hgqir2qw2yam9l3aqzdw";
-"biblatex-gb7714-2015-1.0x"="fm4gcbb9bis4y77cfmvph2za02snm1j6";
-"biblatex-gb7714-2015.doc-1.0x"="5fxv6gsf6fsik5frsybagpg2m6wwwx79";
-"biblatex-german-legal-002"="wfjfph758mzj742z6gmg8dbrh6snmgw4";
-"biblatex-german-legal.doc-002"="ds43kijns6a8qjirib258w4nvm46nb54";
-"biblatex-gost-1.21"="ix95xf69yj6b48w761q1i5wvyc0x5lqa";
-"biblatex-gost.doc-1.21"="bn90k270bs89314iss1rv9sbiiyk5vq3";
-"biblatex-historian-0.4"="xp6r6a37ibm9fhdc95b2v3x5kgyz26c8";
-"biblatex-historian.doc-0.4"="6280kicfk2n0hwp03pyhl29ljdg911hb";
-"biblatex-ieee-1.3e"="zlryry7wpvvlpn6lvsyb5xwm7psq4jrr";
-"biblatex-ieee.doc-1.3e"="ipcvmv5rvssbc4wbnw7bxqxw0rqwfr5y";
-"biblatex-ijsra-0.1"="179hh36v47xfagjwp5vj3hczc18jkrgf";
-"biblatex-ijsra.doc-0.1"="x3js5mb545xapavsqq4phml7zqiswiki";
-"biblatex-iso690-0.4"="f4hhfkq9hg3m1s3vcxddqqsi1wfhy4c7";
-"biblatex-iso690.doc-0.4"="mn63yqr0r3jrx7ds6myzx9gix3gl4ppx";
-"biblatex-jura2-0.4"="gwij6q3c9z10d9jlndb3x9avi26wiywm";
-"biblatex-jura2.doc-0.4"="9s1w54g9sh8j3i3z4bnsm0rp8g8kazxs";
-"biblatex-juradiss-0.23"="f9z0md8rgzixjxp78p1bb96pr71f7bls";
-"biblatex-juradiss.doc-0.23"="zspyq2lkxh56cq2ldcskhiwmab549r69";
-"biblatex-license-0.1"="r076ckpwly451hvj16rgprxsjp8masab";
-"biblatex-license.doc-0.1"="l91aqvq0r3414498xfrp80jwypwshb3j";
-"biblatex-lni-0.5"="hqp4whkb7d4h71kdc8gvqjrrr12f6dda";
-"biblatex-lni.doc-0.5"="z9pj0sxkl3ld3hq89bnlllx1522rv3kn";
-"biblatex-luh-ipw-0.3"="83gar343q3h1h96h8lzs2bmsp1ba82n0";
-"biblatex-luh-ipw.doc-0.3"="yxcknwckw9s58qhrbdd70jz5yrpnyip2";
-"biblatex-manuscripts-philology-2.1.2"="j14fgf20nw86id6f508kyf2ki91yr24p";
-"biblatex-manuscripts-philology.doc-2.1.2"="196869iqggbx5kbhpmqx0kn9v474ny5p";
-"biblatex-mla-1.9"="1m10jmh42x7qahq16bzi2rwvv7j7biq5";
-"biblatex-mla.doc-1.9"="f6b9nj6xj93vikp4agvkrjddrrgfvjc2";
-"biblatex-morenames-1.3.1"="vbcnaicg2pa0jrqd170cs31wim08yk07";
-"biblatex-morenames.doc-1.3.1"="ksn965q79yv6badima68frbgmycjz9pn";
-"biblatex-multiple-dm-1.0.1"="6c7h8i04ksazrq2lbc6hbpcxkjdvih07";
-"biblatex-multiple-dm.doc-1.0.1"="j1hb0xn9gz6mywx018i4rq4g5xwi7af4";
-"biblatex-musuos-1.0"="dj5nsyf90mbi4dlghyh8aklqr28jvx76";
-"biblatex-musuos.doc-1.0"="ypw7naafkwm22kfq1hd4b0z665g4jz9p";
-"biblatex-nature-1.3d"="vqvnb88jb6rwsdxigpcs2mr03p8d3npj";
-"biblatex-nature.doc-1.3d"="yvc82f9vdh7kh6x444gz7h3bzm8cq15w";
-"biblatex-nejm-0.5.0"="vybm8b0dqd5xyw3x6wp5xmq3dvl4by1k";
-"biblatex-nejm.doc-0.5.0"="6ppfzm4xdys6akhzc300kfh31jg49hlf";
-"biblatex-nejm.source-0.5.0"="q9s7ml5f366r7v1130brjvx20c4bpy6y";
-"biblatex-nottsclassic-0.1"="gyisgdfsns506vcbhyr7a20mnbhmldr9";
-"biblatex-nottsclassic.doc-0.1"="mswi2valgb31i1whlspd2mxvfcs1szdh";
-"biblatex-opcit-booktitle-1.9.0"="3aspv5b3a0lpif4wksanjq3fqclqkdij";
-"biblatex-opcit-booktitle.doc-1.9.0"="sz4gb2ahn58y76cl92hpap7xxg0mg0y5";
-"biblatex-oxref-2.2"="nmnl6kak235xwv1nhsxs0aln3dw654bz";
-"biblatex-oxref.doc-2.2"="p6dwicdcn1wniwlji7bhg16babx179r6";
-"biblatex-oxref.source-2.2"="wi8a83vmwcgqvk49xarg6sycsp7fz38s";
-"biblatex-philosophy-1.9.8c"="n2nkfafqbs1rmij23q45ry0gww43s6c4";
-"biblatex-philosophy.doc-1.9.8c"="lsllrjkqva40nfz6bxmgiklh2sc6rzs0";
-"biblatex-philosophy.source-1.9.8c"="j2sp7vlflcfgj7r4cwdr0xys52gnf3c6";
-"biblatex-phys-1.1b"="w0pxnyvy531qn79ahihx1iim8snhlyn7";
-"biblatex-phys.doc-1.1b"="jxa3qi102kdamzn9yc0bqrck650wib7b";
-"biblatex-publist-1.21"="m4ca3llqdjm9n5w2r7vy5g3fldzzynkr";
-"biblatex-publist.doc-1.21"="gqbkq5880gn9maswfdvsfkbgh9y93j9a";
-"biblatex-realauthor-2.7.1a"="6qb576bh9x616f02msiq3xz83xzaa047";
-"biblatex-realauthor.doc-2.7.1a"="9pbd2aixmwj8as9lrmivkkfl4081820q";
-"biblatex-sbl-0.12"="c20vk47abw6af6h8xwx2193kck6vsby9";
-"biblatex-sbl.doc-0.12"="3d0pwf6w0gcnrkg1d6pqaqi0rkbidl5b";
-"biblatex-science-1.2"="7ql42aav0jqxx7zdfd3mavkbv14rwq7n";
-"biblatex-science.doc-1.2"="y4vhwv5nybp628i852dmq61wqccqpgvn";
-"biblatex-shortfields-1.0.1"="ji0p9w4dzyf4mi46nbcpvswas9r40xij";
-"biblatex-shortfields.doc-1.0.1"="4lq9x8wydvl7vmnl7wvz3x3zarnjgld0";
-"biblatex-socialscienceshuberlin-0.0.1"="63ccn3japdafc8mdxncldds97zvkwa64";
-"biblatex-socialscienceshuberlin.doc-0.0.1"="08n3z5lxx9sjrlwf747h9z38a1nk1wdp";
-"biblatex-software-1.2-3"="xw45p93s5r99w1fj0ykbzirpgvpccvyb";
-"biblatex-software.doc-1.2-3"="zx86j66l0l1ygqc39ykdf3j4bkz86l9d";
-"biblatex-software.source-1.2-3"="vv4qgzbghn93cxlhvk2md69mj16m06w9";
-"biblatex-source-division-2.4.2"="kdxm789jnmvyzkx7pi9983jq25p30iib";
-"biblatex-source-division.doc-2.4.2"="4j6h8k98v95n05lzfzp8804gir24vbmc";
-"biblatex-subseries-1.2.0"="v7rfg6wqkqgzm8fwrg0ncwinjzsibcdf";
-"biblatex-subseries.doc-1.2.0"="hgqxbs3qjqya9pxs1spylh2m1clfg5zk";
-"biblatex-swiss-legal-1.1.2a"="lp3jw955jpyfjyn6mp6wna8rqwbhsvfj";
-"biblatex-swiss-legal.doc-1.1.2a"="23bam0vm3zqrcj1cd10g8bml0jsyvmcq";
-"biblatex-trad-0.5"="cqmqlc92pav8ggy23dmkramc8kn5jcbg";
-"biblatex-trad.doc-0.5"="bgkn896cgkvj9m7rvb5pqqspqma7s44l";
-"biblatex-true-citepages-omit-2.0.0"="y7mg4jqb3fl9mzy93xcpxz3y0l5fw3kc";
-"biblatex-true-citepages-omit.doc-2.0.0"="7cxbqdyazdfp0masgk6a31rr3h9606xd";
-"biblatex-unified-1.00"="ks0l3ggiidbwhsnvfxzck8m8ji42zx63";
-"biblatex-unified.doc-1.00"="8x3k2cn8srdw8j359xinicb47dvbmr6l";
-"biblatex-vancouver-0.1"="1ml0897m983ym5gzw58q2kscx106xdd1";
-"biblatex-vancouver.doc-0.1"="k5j8nx2xgp3i85s0sczblaj1in2yq11q";
-"biblatex2bibitem-0.2.0"="wllvyb15idz442hmnkz4kbdbp7qc64zv";
-"biblatex2bibitem.doc-0.2.0"="fymi4mzi8z1f1i4hjh928v8cajfyblgp";
-"biblist-17116"="b565jl60ysccd5qkzgidjb188i509y9l";
-"biblist.doc-17116"="50kjqxwhdncn09c7cx0abkcihvhfzzpl";
-"bibtexperllibs-1.6"="prnsdd72d808kfrkv2s4c9flzs7dqq25";
-"bibtexperllibs.source-1.6"="idmidg8svnznmhzsg0qb2104bw4d9yhs";
-"bibtopic-1.1a"="r3rbv97qik2ikmkp3vx6srw7qf5v704c";
-"bibtopic.doc-1.1a"="anrfs022bvwbfwsm05hxl10zgwckidn6";
-"bibtopic.source-1.1a"="s32v3bwk7a1aqfkmp1scaf812x6ra9rx";
-"bibtopicprefix-1.10"="88rj42z15zlp4x439faf8x8qm062vqmw";
-"bibtopicprefix.doc-1.10"="km3hfa44kxwjbf0d1np34vsc0n7qkn9b";
-"bibtopicprefix.source-1.10"="9al2wqnk8affigq30j4zb70ds2hgzqmd";
-"bibunits-2.2"="vkahqz7zjn0g4dkpffvg8rfhjlynvmnf";
-"bibunits.doc-2.2"="d6xcf9xdkabjg3jrnyklla7kpbylrg61";
-"bibunits.source-2.2"="1hxc8yqjpri8pn512pfvcq7b2m9qnwib";
-"biolett-bst-42217"="c2iw962bwa5815qk2sbhhqjd7z4ygmns";
-"biolett-bst.doc-42217"="7w39z3hdps980l2g1yqbzy8384w4vbqr";
-"bookdb-0.2"="b4mqk50dn86zf30w2z8953ms8m8v9lrs";
-"bookdb.doc-0.2"="y5sdn2fijycnyx9is1cqc5vx6zkyav62";
-"breakcites-21014"="cvqm5ljgdl47idyjvfs2hg98xmkscfj9";
-"breakcites.doc-21014"="jjqimy63648q6n4mzlwrd7p723m09cbw";
-"cell-42428"="qlg2sy9fj9cv6c8jbdmwzysadl8fhw8b";
-"cell.doc-42428"="61a0456g9i76nxwhpv18fw532nimk2l4";
-"chbibref-1.0"="7d51sy03z9ww5ns8x0mfiplyk00dgb00";
-"chbibref.doc-1.0"="xyypa6w4gx297hpp1ixg8g431rz436qf";
-"chembst-0.2.5"="08b5a38p2x2xgv5nw1ibi0xpc4xqixnn";
-"chembst.doc-0.2.5"="wgbb4bcl51wnixp4rb94qqqn880mxm7f";
-"chembst.source-0.2.5"="360yyds5c6mbcsm60mm3jq8xfxcpnw5v";
-"chicago-15878"="k9y76g5a4nfy88igklw08n27zvnnap2b";
-"chicago-annote-15878"="nyasy7sal5vikd1jysdvhg0ym7hs6q0p";
-"chicago-annote.doc-15878"="8qhd3kj016s9laavhg1wvimy4325zz0g";
-"chicagoa-52567"="7ka9kkyvy1w4s0xipgr6f49lajd78nzn";
-"chscite-2.9999"="yc7v9v66md3dy5k2gjswzh58xzxdhwp4";
-"chscite.doc-2.9999"="fbcykh46rifs4kvn728sav04fnshr6br";
-"chscite.source-2.9999"="vsii846cdlrd9fdmf4npwy8jxh0fcafb";
-"citeall-1.4"="q68vpb470x12izyjbf7ax4ni71hvwpr4";
-"citeall.doc-1.4"="246v29kz1slb8m3ib5rhnp74lhyn761j";
-"citeref-1.1"="hs7rw9cynm2zbr8s7455l1hakvr2nz2r";
-"citeref.doc-1.1"="fifrx8d8fq9msajvpg2wwj7xhv6l4h20";
-"ae-1.4"="zx6mlxrdhfvp0a5ql61jhlj97pcxazwz";
-"ae.doc-1.4"="pgvyvlql6hncc8bv2wdf8ja6xxqjjqs7";
-"ae.source-1.4"="jzwswwwsb988mvhiiyb7p43g33985n8p";
-"amscls-2.20.6"="m5zwmxar85gyv6pd1bjr4wm3plpjw566";
-"amscls.doc-2.20.6"="63ggqvhkqm7s5kwka5ys9292i9scxnjf";
-"amscls.source-2.20.6"="bzksjmshkzxdxc8mh86yx6cl8sb4w9q6";
-"amsmath-56514"="gl23v3yd7q2lcd9fjdnbni1y2hqw54px";
-"amsmath.doc-56514"="2x5rg53gv1s4mlyjmdr583ssy1clzg6m";
-"amsmath.source-56514"="720p54x5jha7ay8n0nap77kj5xnbcam4";
-"atbegshi-1.19"="rd12v7qnwk6mig4vcr1xziqrji613i8m";
-"atbegshi.doc-1.19"="qpmwwvq8lzm95iipc1bqmff8z1fjwr20";
-"atbegshi.source-1.19"="h4ah2l0qz9yh9y4sj51ai95n5ynd65bd";
-"atveryend-1.11"="j6dsf39s82bqanyknzzfj6mkbj11alyp";
-"atveryend.doc-1.11"="bb83sv1dyy4dmk0qripn9i08myb3vjr1";
-"atveryend.source-1.11"="h1pvzqx2qna6kzhfxrl81f1r83sp543l";
-"auxhook-1.6"="xac68wvfhmds8251pc9ii7rjlak9ya27";
-"auxhook.doc-1.6"="gmg6905gsw51mvqwpksajw3p8yjag16c";
-"auxhook.source-1.6"="d0f1ia58xllmkg796dvky2b4mv86p7yd";
-"babel-3.56"="cin8hn6wrmk577hn8wq3dpxh8426zhxy";
-"babel.doc-3.56"="h48skznpr10l4a3qndqv1pgs9f1d6331";
-"babel.source-3.56"="nnvc50xf1igagmm2g2cqmzs7yjgjfzvp";
-"babel-english-3.3r"="lrsz299wwvr17sshfjvsvrzs0s9y2acs";
-"babel-english.doc-3.3r"="y7rp46lrpxsp8z1ridc6msxnbb008k0c";
-"babel-english.source-3.3r"="5sxvprjfcqhw6xb3mv3b0smp2gsckjs9";
-"babelbib-1.34"="f59py6xcjdpkdrn7gs3ik7ci2b091vrh";
-"babelbib.doc-1.34"="3ajzfn5k7i3ywhhgpx55dvph91amlqsa";
-"bigintcalc-1.5"="3ivnkj1qyviffssxymdjy0nagrkh95yp";
-"bigintcalc.doc-1.5"="hmfcvfzcyal8sz74ywhcqx3ydhmywgnm";
-"bigintcalc.source-1.5"="jlaf6n169xxpipzg2d83dclk05v72h74";
-"bitset-1.3"="nw1h1rrc82r2saka495mncrd6vn54dj6";
-"bitset.doc-1.3"="srlljjm4s7sfkclndy4ziwcgm3r6mpjb";
-"bitset.source-1.3"="1fc9dp30lpgicd4c3cj0vkqy4j01lzkq";
-"bookmark-1.29"="m0fqwisbqakdvza2bnr7clwz5nhi9wlw";
-"bookmark.doc-1.29"="vr3fyr67n83j9pcj5piyy3z88n13m9ya";
-"bookmark.source-1.29"="vfkirhdggrclpxvcjv1bk6bz89zy1m6y";
-"carlisle-56753"="7cp342lr12vvr9zy0g84l5jy0aj241v5";
-"carlisle.doc-56753"="0wbnc5y0vvwd9208z2ylwfffaqr3i88p";
-"carlisle.source-56753"="bvla3z6fd0m46k365s2fsbpb5ypvb3rv";
-"colortbl-1.0e"="v55k9b9db0gy7fhqp0lg3isy4v9slphm";
-"colortbl.doc-1.0e"="445wygx49bhlsyqm9czmp4npksgxxs01";
-"colortbl.source-1.0e"="jbxzz8nx1gxm642yr63am3nz9f3sqq5b";
-"epstopdf-pkg-2.11"="zv5klqnzp6iwpllzly6rhxqk5c5bb21k";
-"epstopdf-pkg.doc-2.11"="j34mjnq5zirwy9bb3gjfkrxzwh8svxrl";
-"epstopdf-pkg.source-2.11"="a8yniblkh6p3lcqdlmp7xdyv0glp9ivm";
-"etexcmds-1.7"="5ihd653q0sbq1q40hd9pvwxj73j099iq";
-"etexcmds.doc-1.7"="h35i02fn3bim95f50bvq50pwiymjdpag";
-"etexcmds.source-1.7"="dkiaxggiyzx1w07brj8zgqn7f1s4vs4h";
-"fancyhdr-4.0.1"="xk1q6p8d8s7bckh0sfrh5x5daaj8qsjg";
-"fancyhdr.doc-4.0.1"="y9sc7d2jic4nnqclr52av2rdgfq4fg7m";
-"fancyhdr.source-4.0.1"="24f2hv3qhvr7xgc6b3q5arcyhsqihnc1";
-"firstaid-1.0j"="4fkmvxmkkbna6x9x9b1mw48zw4dlj6pp";
-"firstaid.doc-1.0j"="6g9vrr42bdalrsjc81sl6962lb15sis3";
-"firstaid.source-1.0j"="hf1b4ln4lw2k1aj7kgj320zh0lgxvkcr";
-"fix2col-0.04"="4lr11c6qqbsmm3jixayn7jlyikh65b83";
-"fix2col.doc-0.04"="k9hlwbz12vqc446y1ydy045j7c29yzng";
-"fix2col.source-0.04"="524zn5yfy3zwy70m11vch4ri5xwrgi0p";
-"geometry-5.9"="lh2ipfx1nhgq622jg0d63h34pcmf9w62";
-"geometry.doc-5.9"="lbicfnq1a337hyqqv9a8gka58d9na7pf";
-"geometry.source-5.9"="7clx1fs5q3w4qy58x4iicybgjm0985hw";
-"graphics-56514"="vrbps04ijp3mfn7q097n3cwprhaqv8k2";
-"graphics.doc-56514"="y748ygwssmq48hlb4rx6i7fxx9chvrxn";
-"graphics.source-56514"="ig68pkabrdsdfpzzl144p9r50iig4iq2";
-"graphics-cfg-41448"="j73na78ajl4n50wn2is5wvw7mf27da86";
-"graphics-cfg.doc-41448"="nzdjyk00lx0xhflm04d2kmyn5ya2v487";
-"gettitlestring-1.6"="a4i7kyl19gyxdjkmmmrq7cwsjz92mapc";
-"gettitlestring.doc-1.6"="hrn7918v2qlw7xlcsslms56w33wcfag1";
-"gettitlestring.source-1.6"="lskbp47gqwb0gydcbq2dva1wskr9isjp";
-"grfext-1.3"="ds9vw8yvxaazr9jwfx7s4pldwpqkmynn";
-"grfext.doc-1.3"="zdbrsf2a9y0g128nl2j124b2qyn9japz";
-"grfext.source-1.3"="zig714i8cp2ibvchcigj4h7pvls2xw4v";
-"hopatch-1.4"="lp72821hqi9bhrldni1056wp7kg6valp";
-"hopatch.doc-1.4"="rx61jfcnn581l2078xaw7bslk953g7cd";
-"hopatch.source-1.4"="c140sgy5nbx9s6jhx6qd13b6hs83mkbn";
-"hycolor-1.10"="fpks9kvhjvqs20wq3ay8i5fhy9vf0r15";
-"hycolor.doc-1.10"="fmls09bj0wgl6bx5djbyimqd7dhyfcjs";
-"hycolor.source-1.10"="pdsx5dzxqw064s62bllxw2r27102p689";
-"hyperref-7.00k"="dpncl7i5ima1xzjfyha59m0zrcch10a1";
-"hyperref.doc-7.00k"="f4h96xqly1gjspi3zdxx7izps1q1yy08";
-"hyperref.source-7.00k"="9068hchhckdfingjn3iyf2lg331b8z9c";
-"intcalc-1.3"="3qbzf5d01w7jk4ffnn3h254vf0n4qqhj";
-"intcalc.doc-1.3"="g6yv27w5qs315nywq85qmicvawyp6wp4";
-"intcalc.source-1.3"="mz1j4jmq5i376ldqik3c9ayl94d78cyc";
-"kvdefinekeys-1.6"="fldkjwcdqbhd7i17cfgq0vdfbvzig8l0";
-"kvdefinekeys.doc-1.6"="wmqgxhq2mivr2xkkwld1fl9hvnfdadv6";
-"kvdefinekeys.source-1.6"="77gvvb7rbdbpllgrf7nmzpwccjhyaccb";
-"kvsetkeys-1.18"="a9h084zz8smpw0x7n6yk11rflljgvzds";
-"kvsetkeys.doc-1.18"="74m2j2fayy0s6bn3s2ard83jbz8wvvh6";
-"kvsetkeys.source-1.18"="wbj79prrl1h2f8csxp4js2kjzixlxpip";
-"letltxmacro-1.6"="1hik240za8h6rs8yz8x6f5vnzanmr79x";
-"letltxmacro.doc-1.6"="yjy1hvgprhi7n60dpgm847k65zz91v5m";
-"letltxmacro.source-1.6"="m8q4jdw8fxwff5yrdg4rq3kmf0a05zg9";
-"ltxcmds-1.25"="gyfgkyx4ds7mq4dkr2813nz4f2nwzhnf";
-"ltxcmds.doc-1.25"="hcgnp0dh8xiip47i9cxvbq9hplp2ngj9";
-"ltxcmds.source-1.25"="pyzd96nldhdlzv2h05vaz43pm9h1c89d";
-"pdfescape-1.15"="4150ga4j3q8q8g73k2f263arfdav6mpd";
-"pdfescape.doc-1.15"="rdc2ws2iy75nympsdis3y6wfillzn8rd";
-"pdfescape.source-1.15"="dji9isdc78x365cg06il8pmi7cl985yr";
-"refcount-3.6"="kkajyqzfl96l97d9bxf6rv73b352i80n";
-"refcount.doc-3.6"="pz7hz3r7fb1wfc6hn3nns9lki50b0vja";
-"refcount.source-3.6"="bxx3kybs3z4psj5an2zi5mm7s06byc4s";
-"rerunfilecheck-1.9"="2ad5yfj4lzqpa7ryfq6f1j8fk6z60zb4";
-"rerunfilecheck.doc-1.9"="1cxpz0mniq4fblfwh9yr0w050wwmkkc4";
-"rerunfilecheck.source-1.9"="rgh8xfwx2j1m99adrj9s5gjmk6kg7zz0";
-"uniquecounter-1.4"="mk6m54q43qz49g046bh3ijlqbjm0im3f";
-"uniquecounter.doc-1.4"="s5cssk7vhkxpas18fgr0d7wdmg6kchs2";
-"uniquecounter.source-1.4"="3kqrkl3sgz2dgwsh6x0027xzhil5rigp";
-"stringenc-1.12"="mmjk31qhflv57x6gpwdipcxz2i2x8fx1";
-"stringenc.doc-1.12"="7cnk13y2ilryc5pccp0l0aj6gd1386n8";
-"stringenc.source-1.12"="x2qlpjnp9jaygakbvw30wlg9sh8xyr08";
-"zapfding-31835"="6prjnqim0yrvzj1ary8i5761byqi0ca9";
-"l3backend-58509"="3ccqr5bhd5rj6r2x3wczq19faxnqdnqa";
-"l3backend.doc-58509"="h84x01ff60chwzsqvrlvcvhgnjhx8d96";
-"l3backend.source-58509"="vl09wc9bxzabf0figs6yysqx1pirfgfs";
-"l3kernel-57789"="rhpra0zbsa53frlxm0w61ya4dz6w0z39";
-"l3kernel.doc-57789"="7a7hiqsm79g2784iyiilyhdglc5rb3vc";
-"l3kernel.source-57789"="8wf5y5ncxyhisn9zysk0m1s5m3wiai3l";
-"l3packages-58296"="f89jdw85g201493hiz1q9k44252m6ram";
-"l3packages.doc-58296"="39fchna3mhqikshsg95x2r7ybz5nx7f7";
-"l3packages.source-58296"="xibrz1840iwm2cm2a47irqvw90hfp0x6";
-"latex-2020-10-01-PL4"="85wa2sw72nzh6lwf47pwjzmd4zypjd6d";
-"latex.doc-2020-10-01-PL4"="ddgjcjhlyqs4v336h0rxlq3bpfki985j";
-"latex.source-2020-10-01-PL4"="igvlaq2pg82a4cf66yrdi5cpc9glrpzx";
-"latex-fonts-28888"="pw97wy7b4hhzm28r0wl44lacn7nx41ia";
-"latex-fonts.doc-28888"="mv9ivpdxgyjj92fq9141bsw5s306mg83";
-"latexconfig-53525"="p0p0bmn0xa6pny05y862pnviafrjhr7i";
-"latex-bin.doc-57972"="s1vj36h9s8nsdvn30h2agvg1l7c18i9x";
-"everyshi-4.00"="z9jwa1p2n1463ssx82dzdnj6wy69l856";
-"everyshi.doc-4.00"="hk1m31wikxs1b66sjmh8vkjd0js50c6v";
-"everyshi.source-4.00"="lz9d57cvr57z25j3263ddyiv9xvq9h8d";
-"lm-2.005"="9fjqjbdpbkzkgi0rlm3zhhbhs647s00v";
-"lm.doc-2.005"="38k2pryqy5sy8yff86dkxisaigim6h2z";
-"luaotfload-3.17"="v7vj49icybjinrd27cxavmxld5r1ia7a";
-"luaotfload.doc-3.17"="hf8814qwpr54icwkfn7m1gpy8009r3b1";
-"luaotfload.source-3.17"="423i6lpfcs4f8y3hlh0fk7ihmpwkbz20";
-"lualibs-2.73"="jcdwmmdkg2kbvnvybfyskf1k10wnxc6k";
-"lualibs.doc-2.73"="mvdgcbmrwamdn0ddqx866v94grdm5abn";
-"lualibs.source-2.73"="5ambrmj82026wa0ginan4sjgfxhzm87r";
-"ltxmisc-21927"="lf6x6jbl1d3i77wb0dg7lmy26qxk7h8x";
-"mfnfss-46036"="52p8xnxca0ypcxbbjakx42mljjwv5jjj";
-"mfnfss.doc-46036"="0c2hn0h964j1c0kzn0aq19cvff0n87hs";
-"mfnfss.source-46036"="829y6cng0z45bdsb2vdrs4wkq2pp0cxz";
-"mptopdf-57347"="s1gykljbmzqqpdhipyxnsz4cmmpxmm96";
-"mptopdf.doc-57347"="5lrz8b6a6k130gkh0skg72y1m1cjpzwq";
-"natbib-8.31b"="c4fyqph06vxqm37z88r31q84xz5imcnj";
-"natbib.doc-8.31b"="fsg1kcjvbp5hfn9h8lwhygnil9wr7awg";
-"natbib.source-8.31b"="c4b7bqivps74v8286lf4j36p551jhnzj";
-"oberdiek-56291"="hh8lv79mk91rpmmg4dghwhxf0dn5bspr";
-"oberdiek.doc-56291"="flbpbinnhlmzdkn70zlg1zllrrgr8wf6";
-"oberdiek.source-56291"="xgj6s1953j85qhyhx0cf3lhijv51c2km";
-"grffile-2.1"="syj6z9xmjbkjwn9fvk88bh5z0jsxqhfh";
-"grffile.doc-2.1"="lbm6cjskdpf47d9imp0ina431wagj5aw";
-"grffile.source-2.1"="a5pp25fmbhj3zb33hx18pcfc2i14gjcm";
-"infwarerr-1.5"="75sarxc1v1ycj4rj6hikd7i0wx6b2w65";
-"infwarerr.doc-1.5"="s0g9m590r3jq0r9d3lidi6pd8paydimk";
-"infwarerr.source-1.5"="idalazzzcx2mh2b23q9sk7amwsk3f1wr";
-"pagesel-1.10"="a3bipby43s0bnbbycdap5js574jfn3yd";
-"pagesel.doc-1.10"="qz26gbs5mn6z4raxlwi6adm7g4mxps7h";
-"pagesel.source-1.10"="y2qqg5hjld7rvfvfnmj1mgshwzfzh9mj";
-"pslatex-1.3"="4zn88wal7mb97pphhns3ipazpiz60g0n";
-"pslatex.source-1.3"="cqc3yah7p9cgbbsj6var19b4xzyqj01l";
-"psnfss-9.3"="xcfg32llsp1zwclhdwmyp7ll4vn013fr";
-"psnfss.doc-9.3"="p1psj7zb6i3jykmmh8ia3y9d94mdx72s";
-"psnfss.source-9.3"="rv9p5ih5nhsmafdvx99ndbch07yj071c";
-"symbol-31835"="3w7a6aib8mdrap257pxjw8x39lck4nyc";
-"pspicture-15878"="siqi85kfmyg91cf7nggs71jh38g2aicl";
-"pspicture.doc-15878"="h26v6akzzgg6hn4ay096fvg2qw6l2ww8";
-"pspicture.source-15878"="fclpkng5q7dhd1vfzv2031r4l3f3vh5y";
-"tools-56514"="k94mh7vvdfnkzcd4sz4ra52byb6n2crs";
-"tools.doc-56514"="r5fnxcyk8rjqyid8i4ymhxr4lynrdrcs";
-"tools.source-56514"="yl31ix955ds02gf84492pzf9a4zjd5di";
-"collref-2.0c"="xxcnjj8qnbb06zkmh5kqysdm6k5yf4z4";
-"collref.doc-2.0c"="5a9ns23lv1n780ll3kp969dhi0mx93gb";
-"collref.source-2.0c"="7msfby8bxs89i87jiibpbnp97byjs6p5";
-"compactbib-15878"="5365y0lxziirnp7rraxwbcksrky9hr1m";
-"crossrefware-47861"="qb2vwvcmvb0xmsj75vxgd7fn26c5npmf";
-"crossrefware.doc-47861"="69qdw8b3xrqnydxih94sjpj7pd8jpy5x";
-"custom-bib-4.33"="9vqjbilzlsqg3f609hnz27pwmrl5gfg5";
-"custom-bib.doc-4.33"="nz1gxi8ixypxpf4cv7nilabq1ivr6fiz";
-"custom-bib.source-4.33"="vmak3xkin0hmg92mmpxj53dgs2f2yihg";
-"din1505-19441"="dc7lv2c8zid1c6pklllsiac390hx0v4c";
-"din1505.doc-19441"="fhdc3badjmz3zylmgahy34fbzjgkss0m";
-"dk-bib-0.6"="yvbpqypgxkh6i47yvkk0cp7qsfy083gr";
-"dk-bib.doc-0.6"="px69q4pi9444kwmw6fpmajvdwl8ivw9i";
-"dk-bib.source-0.6"="1jmv0pg8x913y6y0xjb888s0zg91iw1l";
-"doipubmed-1.01"="wcw6jjj2y6mikmx8a4if14277szjqzak";
-"doipubmed.doc-1.01"="yiws3r5cbfhdws0s74sn314q4iq4hxjf";
-"doipubmed.source-1.01"="mz2ld43x7sp8np0qmcs86p5lc09nl4dr";
-"ecobiblatex-1.0"="ikxp3jlzlsnc7jh7vcxcfq8wvpd5r8ll";
-"ecobiblatex.doc-1.0"="y5hifg3r0xkgv6zklw7l9j7shl87fnf0";
-"econ-bst-2.8"="942nshsxan2vlsdrxzrj2idn6w5g09i6";
-"econ-bst.doc-2.8"="wzs32mgk5h8cvdsf3s52pgkxch1ynypa";
-"economic-32639"="xw85nd7v6i1d2ma0airnc7bwf1fdsipp";
-"economic.doc-32639"="pv3irnv3gj70q22ac3kr858hac50vrbz";
-"fbs-15878"="h6ghp5i14cqy46hzp9i481c8gvk2ddza";
-"figbib-19388"="imp65i6ddqyw5xck7k6gzb976glq9xj8";
-"figbib.doc-19388"="6v3sj56vg039mrm7kk71wdjhp04h1rf6";
-"footbib-2.0.7"="xhrwnw5kvs3rxp32a8awv8ma7098cv6h";
-"footbib.doc-2.0.7"="dzyra0rwf5hl2g6f7c2pw88d78f7yls1";
-"footbib.source-2.0.7"="xj3agjgzfnwnfzzbzk4xjfk90fr1a6fm";
-"francais-bst-1.1"="zz8wcr2ymwd7m721qr94l1k799mi9cia";
-"francais-bst.doc-1.1"="qmq30903zrvvw6bprngklx5pwq9c1cqd";
-"gbt7714-2.1"="d72pw49b373nj1rrl3phvcmnyjcx4772";
-"gbt7714.doc-2.1"="rpvsgxsm3j492qsyadxnchk8hbasm6ch";
-"gbt7714.source-2.1"="0ndyqhqkrrqc8mvfga8hrm8dhzd6clcz";
-"geschichtsfrkl-1.4"="94vlnvvfy0py3ig3mjjizxbnp3xcnpv6";
-"geschichtsfrkl.doc-1.4"="212pcrypha38lk3nri43fvj12fgjlqzm";
-"geschichtsfrkl.source-1.4"="ak3n8j6n1wx9pgawvyr4diklq9971wx1";
-"harvard-2.0.5"="yhk8zvlhgd1knzfdndba31whwj7ixh1j";
-"harvard.doc-2.0.5"="c3jps721d0cndqjqgqkhcz4n7xvaj1f2";
-"harvard.source-2.0.5"="kjg78fvynjjna03hh2xzcrqvsm8d9yjw";
-"harvmac-15878"="30iiq3zikvmyy87j98knxbc9iak232bb";
-"harvmac.doc-15878"="3q1j6s2rdz18fg3hknp7ifyzixgmwr8h";
-"historische-zeitschrift-1.2"="6zli1x9hz1dsy8p4hpi9rdb0hs35vka9";
-"historische-zeitschrift.doc-1.2"="y76j031x8zym5i6sqr0r67ws0z49q306";
-"icite-1.3a"="pci3xglq0l93bp7zicyp82xf7wnqm0qd";
-"icite.doc-1.3a"="8f1w2r4m5bw4zflqqjp04n48axm653ik";
-"icite.source-1.3a"="6ifix61qncaxmf04miqm2gzcssb09syd";
-"ietfbibs.doc-1.0.0"="mqqb9qjrk1lg7w85w8jbhizmh1qh4zqa";
-"ijqc-1.2"="ry2ydiqc71zjfkb46l4fvlxa1h6wnq1c";
-"ijqc.doc-1.2"="zz9ai19qd2rxvpw5kx1k1rd3ndndjv6v";
-"inlinebib-22018"="gkr44f3f9m92bx42gcvwgzclbjya5gdm";
-"inlinebib.doc-22018"="bpfx7h4w0zqr7xdxn51glllzf20qj24y";
-"iopart-num-2.1"="92jbzj605pi9chj3ymfxm9ii2dh62haz";
-"iopart-num.doc-2.1"="smix69mc1n89q45nw3rl18lasn2c2kwa";
-"is-bst-2.03"="cyhqhj4jmhm2f1wv24dvv2nvh3xag114";
-"is-bst.doc-2.03"="y2s834n5j3la07m240diyldjajy2jwzy";
-"jbact-1.30"="x7l9mlgzq1x9hyi7pb6g4ygg2fm4qmiv";
-"jmb-1.21"="cxj2552g8qzak7hkidh855amhaggp4bh";
-"jneurosci-1.00"="r5k91lza98jn52s8fmgrbclslb6zps08";
-"jneurosci.doc-1.00"="z01ga0ccmahx9i6p2bvvl7mr8676ki7p";
-"jurabib-0.6"="xlxc8i2x6ddydrb6n8myqkh0j5acn9y1";
-"jurabib.doc-0.6"="jgf4mbfd2vy1ihxa2fm7h90s75wp8mjz";
-"jurabib.source-0.6"="2ihyirxdbfz55js8nb8fjnzj4fwr5fji";
-"ksfh_nat-1.1"="9rsf0xfzd2am2ap7skhj4nrs6nkyxpp7";
-"listbib-2.2"="h7sl4g92wc0h56k7a13crhnj9g0xlb3g";
-"listbib.doc-2.2"="jgdniqxy4x1awiyls70z9lsycy61fb0l";
-"listbib.source-2.2"="266hzszszrdwa0x6hk5xrz9gjs1srsb8";
-"ltb2bib-0.01"="mid475rg33jg29rxq0ci49vq4y81j4ng";
-"ltb2bib.doc-0.01"="7k2q8zzzhf5zf71fw0yinyghlb1kwqy7";
-"ltb2bib.source-0.01"="8py2zhz04b0hals44ypv67m2c71b1j0p";
-"luabibentry-0.1a"="lm4x9gqyj8ha0cjwmmy7h4yffnd8wymx";
-"luabibentry.doc-0.1a"="psn62xnv0l494i67jzsc0sbij0r2kcvb";
-"luabibentry.source-0.1a"="9l96kjwd1kwkj7rjcrlq3vcyiylbawrl";
-"margbib-1.0c"="315vswcfl035s528hmj5wvl43iar5d0p";
-"margbib.doc-1.0c"="lix6xbc2in8r6cc1yvdb565nky1f6jq3";
-"margbib.source-1.0c"="gnjk0pwcdim1mnbsyq9mmkmrqw75a771";
-"multibib-1.4"="6sjcmriv5y27z54i0q6nb4c0wxyqc06f";
-"multibib.doc-1.4"="gwyxcbw8csmiyid8ck2sjgkq9hmx0k6m";
-"multibib.source-1.4"="kp5q2hjb64a1vhj4zbb0ah0c9c5cc0xw";
-"multibibliography-1.03"="3svp5l6al4k7adk99d6fcy7m54qbfbqy";
-"multibibliography.doc-1.03"="1bl112qsviy7jzhm1qdvn42x0lvcnjkd";
-"multibibliography.source-1.03"="65bvyr4gr7sdwhsraq9rmbv16d4fi6qc";
-"munich-15878"="0a6hgpvjyd8hzvmrf5bjc6rniwj39bx8";
-"munich.doc-15878"="22c6rhm479c1gg7df9mzza2vl7jgb3ij";
-"nar-3.19"="iaann8dbnvignc32m1wnlz4j77i7ngx8";
-"nmbib-1.04"="mbz1wjyaxsx3cn4wymvz4w9wf10580da";
-"nmbib.doc-1.04"="s6bbxc8lyp7kbrpsi0i4jrvda00260ks";
-"nmbib.source-1.04"="x0gvyn54csgywd7wlmbi0c8djkwrp4xq";
-"notes2bib-2.0m"="18cgk3w262q3ji8c2safphbnv63yh7j7";
-"notes2bib.doc-2.0m"="3ivpnsxqwfsy5rhrc5wacl0b6va2sva1";
-"notes2bib.source-2.0m"="75wz1scfq0j5pdix1ksvwh90y5j3dzaf";
-"notex-bst-42361"="x4042ry48i6p1qr2l4yv0d52x4wmjarg";
-"oscola-1.7"="fi1rcwnsdb74grgsvv0553plqz0nk8bn";
-"oscola.doc-1.7"="yy7as7z897x520hbs5a3cha3nsg7wm8d";
-"perception-48861"="xpljy8xycf22akdj5dzzzmcb34zx8d1z";
-"perception.doc-48861"="sn4m1gc1s04h1crw3gbaahbxa6b76npy";
-"plainyr-52783"="nxim123jmj05q71s0mhf06djsn36damc";
-"pnas2009-1.0"="k4xy9dabg8i4mf18317wf8mp3hrlpmqy";
-"rsc-3.1f"="4hhv7zw4v3w8sslxwj14pk4azil1cdhh";
-"rsc.doc-3.1f"="d20wkd2qw8dabh30gdpasxqacn193f1b";
-"rsc.source-3.1f"="rfsxjn597ylr3m2vl72dh7fa8x2a08yw";
-"showtags-1.05"="hbxk7ijniaffjnk02hkjwgw8gwgnx5qb";
-"showtags.doc-1.05"="q22k5ckq0q4228ssvqnz9n139x32a5iq";
-"sort-by-letters-27128"="4m8cm6rnhgsc40liy2yhfc4r76zpdnsq";
-"sort-by-letters.doc-27128"="3z4kw7hvnjmp7hlfjw2gchraw69zyx09";
-"splitbib-1.17"="az1n021wdajs8dc0q93wgfb1r0jcr2h2";
-"splitbib.doc-1.17"="qsb89h2ch89qhbxir7f90xx5sqvgm1px";
-"splitbib.source-1.17"="c9m7hp7fh86qj53qwaqxh8xj8yf3gxdy";
-"turabian-formatting-58561"="57qvb9ss73rxayiqln4vmyps0nkfd6rd";
-"turabian-formatting.doc-58561"="fy2w6ighw6x0yqfp0y2z6by52s19c1fl";
-"uni-wtal-ger-0.2"="i4nr7hq5gym5rcs2pc43qclci7jy9y4m";
-"uni-wtal-ger.doc-0.2"="a4r7w5m71h1kfgzxgpmb84hndnhrxhhy";
-"uni-wtal-lin-0.2"="8cdd4qcy3i5bvf25nn89kdaqph3a6fan";
-"uni-wtal-lin.doc-0.2"="cmaxr111gp38f9s5n42lg66c4i7iyz2l";
-"urlbst-0.8"="sq9q7vzdfgmx1j16mdbimczajjk985pa";
-"urlbst.doc-0.8"="j5y3m03lbs32i9w2fvzm6bnhmchgs4s0";
-"urlbst.source-0.8"="i907zv423gy5ic3wb6qcyzwg8i3zfcki";
-"usebib-1.0a"="4b8sv3fknxfaz9cgnvn3l5wf9c8c76wx";
-"usebib.doc-1.0a"="ba1nqv90zkfzi8n17xlk7rkx2s92lkd9";
-"usebib.source-1.0a"="967j287dsb1j4wa5k9sxsv4xp7194q3b";
-"vak-23431"="7ar45am5q9mhv8liz1zvix9wgcwqgjhl";
-"vak.doc-23431"="sr1gi7csll74iw13j24r1hdwn3gql9ak";
-"windycity-57577"="rxqr98lq37q331n4mmh1nshyyf1n4cmj";
-"windycity.doc-57577"="dj7sxgxj29xnh2bbi58xzrhbj74jxqra";
-"xcite-16383.99998"="wvb8mc5cp8s32hvi76gby25nk3n887jd";
-"xcite.doc-16383.99998"="h07vrlm1107k8a8mjv4f8p0s69k5d08p";
-"xcite.source-16383.99998"="kllh0w903i2jybhciiy925rs186klrh2";
-"zootaxa-bst-1.0"="78lffb7mvla2yryr0lmljd5w4pmakggp";
-"zootaxa-bst.doc-1.0"="bx9v8rj2nlbdapknqk8wigrq9jdfjggn";
-"a2ping-2.84p"="6lndjb87fbdxxvs14s9plg6p0avxnsf7";
-"a2ping.doc-2.84p"="i79dh9x0k85xl1cn33j110g62mh4a297";
-"adhocfilelist-29349"="l8ayz7mqaa5lma2bvqb2brc879y0viij";
-"adhocfilelist.doc-29349"="gm20nhwq88s1cmch3pcgkqnyahb5gnri";
-"adhocfilelist.source-29349"="3qx23im0z07cnk2bd5vrskl153zxy6ff";
-"arara-6.1.0"="ifkdj4nzvpi0ghsd5q9i6p9rgnb43m6a";
-"arara.doc-6.1.0"="f8swvswxiygc4jb6is2diddhc4s954lx";
-"arara.source-6.1.0"="l9jm2g72kn1bfw08v9j0l2cd9wnxv41j";
-"asymptote-2.70"="1rsa2yqg8j68icg1w324iy928ylrkwcb";
-"asymptote.doc-2.70"="sqj9ihis956yayha0sj2l6mmnq01j4d8";
-"bibtex8-3.71"="sri58vnydvfpv947gmlxd1s3c2056fp1";
-"bibtex8.doc-3.71"="d5gk5h3a5milfx9lb1bcyzc6y5pz3d2c";
-"bibtexu.doc-52851"="djmr91p0ig74imwgym82lpm81jp3csgb";
-"bundledoc-3.4"="3r6cx7n6wy995jd9hpg2n4qkbhwmnyfi";
-"bundledoc.doc-3.4"="cd59kzd2v9pq2d058jx5pxkcjhbvbrr1";
-"checklistings-1.0"="a2gvh85pcmrc82wq4h6n9ycqj86z9f8d";
-"checklistings.doc-1.0"="ymkplhp7331fs0kq4qcpmh9la0wxj5lq";
-"checklistings.source-1.0"="8ya9yd2by50zppk7rrqjkc34ans6ffb0";
-"chklref-3.1.2"="xybaxh2l6c61hkkjqhx64hivq08wz2pa";
-"chklref.doc-3.1.2"="f8vcn1hnn9hp9kd92v2m2qpd0my6p0pd";
-"chktex-1.7.6"="4khiza97qvhdbzdlz7pacnr16zmi9b9d";
-"chktex.doc-1.7.6"="k3rrz1fss7mhkh1g45vq0glhcl75z6lh";
-"clojure-pamphlet-1.3"="czmy129a09h3r5ssnlhaxgz932vmqx6g";
-"clojure-pamphlet.doc-1.3"="cha12zds1j3adykqd9d697izik89i3xh";
-"clojure-pamphlet.source-1.3"="flbrsg215hp85fn6hrpygjmdggrzx6rs";
-"cluttex-0.5"="g36i3ravfqcpaxag2iyggc4wqs9n9mqw";
-"cluttex.doc-0.5"="ykigfq6hmh4zb0h8n8q2id4cm2b9arwv";
-"ctan-o-mat-1.2"="jcmhpw3irmr4hix6j1n1wk1g4wgc0nm7";
-"ctan-o-mat.doc-1.2"="f43qd3ynl7x47g4wwfnd1icsrzxj3sgp";
-"ctan_chk.doc-1.0"="m4i1vj19h48zyk9pxadfq1qrwmvqy3i1";
-"ctanbib-0.1d"="wiax2a49wa64ga9g1smf2jyhlpv2n1qq";
-"ctanbib.doc-0.1d"="arizd3ayag3733c551wvcibdvy99imrb";
-"ctanify-1.9.1"="y939628500ks8apq2qdzcbj490y0c4bb";
-"ctanify.doc-1.9.1"="dfah3y6kn3r18mjj39p13mq7y6zpalqb";
-"ctanupload-1.2c"="jmvh3rrdy0hyvdxz55gydlgsh7xzp4vv";
-"ctanupload.doc-1.2c"="38wlhcxvvpbk01sj6vhwjs9mccw1xs14";
-"ctie.doc-1.1"="08fyf9gb04jsy5gcwilpg84jgzd71ins";
-"cweb-57972"="cqx0j3ki42fxywk4ikpfp9f290m1hnhz";
-"cweb.doc-57972"="hfn37yhf16yhvvh44m4b379xjs180cv5";
-"de-macro-1.4"="v1qasn8wjqi7mr9q0p0kqv2w7bhxf4md";
-"de-macro.doc-1.4"="r5smyw0q3djlrxd8vf48cj1dzzy9cwxf";
-"detex.doc-57972"="1iimjgirxh9rid26wrk81iqh7g3jjk5f";
-"dtl.doc-0.6.1"="8jshhykhf7smf4s9ngv2jlhbih126xwz";
-"dtxgen-1.08"="n3cwjwkf92c5zgbs7hmc9fgrwjvwky9i";
-"dtxgen.doc-1.08"="87sb4lz077jgnzpya1y1qyzakwd5j00x";
-"dvi2tty.doc-6.0.0"="zrffg69y6ix300909k1zpjp2s9kl2d15";
-"dviasm-56373"="nn7cb25lgakifq0465af8rxcl6372l03";
-"dviasm.doc-56373"="k3dyqivnf16bmbdpqlcc9i4pwnark6h8";
-"dvicopy.doc-1.5"="5z7bgqawqldca4j3c12dc26784cj5ii3";
-"dvidvi.doc-52851"="hz3ynxfbxw3w8ravgb3hhw3yglb0gxzh";
-"dviinfox-1.04"="zjbfw4kzwfqnvlwzvjibsgim855fc30c";
-"dviinfox.doc-1.04"="1n52la52nchv27j82lisrh8q7wygx6lp";
-"dviljk.doc-52851"="sj8yggxdk8a4y3k1ssr1szzb1m91050q";
-"dviout-util.doc-52851"="g20rq0qgf4va4icrg830k9r9h2by1cj9";
-"dvipng.doc-1.17"="6qck54jh65gml230b2rb87lcq6y0gvgh";
-"dvipos.doc-52851"="6m8fym7ky0a7xy6pmn0aklh5jg0ppbzx";
-"dvisvgm.doc-2.11"="5sy769alfv97nz32ayn3jnbbv214g6jz";
-"findhyph-3.4"="4kc8qj2hs4hf7h25xb031fy5m9j8jygv";
-"findhyph.doc-3.4"="ivpfnjybcl80xzda2jlrplaglqhf9adc";
-"fragmaster-1.6"="r6wbba0qjxr5shfrf5ia8984dcrijpir";
-"fragmaster.doc-1.6"="vwmmc7jmhxfvblz3fpdj0saxjs75bgia";
-"git-latexdiff-1.6.0"="q4b590rk01xis5g2nk8skfp9ifigrgsh";
-"git-latexdiff.doc-1.6.0"="c62p00iqp80a9k24syw6dfynbm33an3g";
-"gsftopk-1.19.2"="s7f70s4jyd5rnif4gwrli43k0pmfhhw9";
-"gsftopk.doc-1.19.2"="k2s28hx5mq78ikd8383v0s8gvcbav9f5";
-"hook-pre-commit-pkg.doc-1.1.2"="0rf4zqwdix7npi9g6nlcpp95mdpxana5";
-"installfont-1.7"="ds2zbs2f6kasda98jn1k8i0ym5168ax8";
-"installfont.doc-1.7"="jmwwjkliwr7wl1gyx8fzpyslscsnlqlx";
-"ketcindy-20191225.0"="c4wr13x0p4gzbzdnjbq9l4jlalxayzn6";
-"ketcindy.doc-20191225.0"="q4sbjwwvkc9cdvwgsn1m5m6wil99z1md";
-"lacheck.doc-54070"="6phk49bmf9n4s8m38dp0ryjd22bgdcjb";
-"latex-git-log-1.0.0"="qj0jib59wmz1l6gpk7q0zb5b29fpqk51";
-"latex-git-log.doc-1.0.0"="d4qhflvp1isk5z5yrknbjcps4ixabhcs";
-"latex-papersize-1.63"="qiqs3ayqsaivrqcm5mi68jrnbr0f9j8i";
-"latex-papersize.doc-1.63"="8w0cczb884w53zzv3dwra31zcvjh4jzf";
-"latex2man-1.29"="0c6w2zmys7mpnc5lvaix37bcksk19wq3";
-"latex2man.doc-1.29"="wclw51af38i0m17pclqpc46163wq3z6b";
-"latex2nemeth-1.0.2"="98hr8kv95134psvibf43j4jgshixra16";
-"latex2nemeth.doc-1.0.2"="jzy9jr0bwxg90lm7w5cwi0p040wxn236";
-"latexdiff-1.3.1.1"="maq80g01dlrs186ag253issysy9jd24f";
-"latexdiff.doc-1.3.1.1"="0fks08hh9z03bcyax837dn7rlf3xliq6";
-"latexfileversion-0.3"="79yrcgv4lj33pavgn48ycvsd9a1x49s3";
-"latexfileversion.doc-0.3"="c6n7z8c3lzrhk2g1fn4v05l2y6299sr8";
-"latexindent-3.9.2"="zdcq8lnfjfjyd7dppb7pwa9dv2p69sjy";
-"latexindent.doc-3.9.2"="n8bhh59h4a1v3kzb5kmdk8fingaw7rn6";
-"latexmk-4.70b"="21lwd164g7z57rz6w2kjfgzm2km1hwff";
-"latexmk.doc-4.70b"="39gnyyhwbmpwnz82215icd78jms1na3q";
-"latexmk.source-4.70b"="a6zcqynkxjfrlldpg1js76ffbh2i6m3p";
-"latexpand-1.6"="did3i2gjfqllqckvnb09n9n8iy16yrmh";
-"latexpand.doc-1.6"="4mrnh6mqwv6f3is1cz5f6pp710amqnx7";
-"light-latex-make-0.2.0"="pazkrw4bvc1d8mvxx381rnwwqr4sgasm";
-"light-latex-make.doc-0.2.0"="wdkfy0imk1af0w1mml3d97liabbjv300";
-"listings-ext-67"="zbinp0czaglig761svs0s13np81qpsr6";
-"listings-ext.doc-67"="slcbwzsy505nhjriszn993pgqlmdlfib";
-"listings-ext.source-67"="95y2zv6bcfkvqmwf6cpa4piaydlkjwz5";
-"ltxfileinfo-2.04"="fqka5xkp7758sr7hyiyy18nns1dir95f";
-"ltxfileinfo.doc-2.04"="rbqwgb89q514rih3hf5bv613xqw1gbci";
-"ltximg-2.0"="a1kyxnvrdp9kbgq7s2r8b8k0pkjmdqkm";
-"ltximg.doc-2.0"="ilmv3b66w7671wa7s3h12c7cm2arbak7";
-"luajittex.doc-57972"="kg7z5qmgwdnmgl46ck3s62qxcfyb4lyx";
-"make4ht-0.3g"="bl3dgdww9iq93wphnbn37ixc7mhyil2h";
-"make4ht.doc-0.3g"="i1wd9hlbwg5lg6v28pcyhj6brxfw13g8";
-"match_parens-1.43"="hahwx0ca506ykknc9plsnrfg6fsb5rs4";
-"match_parens.doc-1.43"="1h445p7nl5n70rskvq4d10b15kb8058k";
-"mflua-54074"="zicmiqdsbqz7ddgmbwjcay8q5q4jyzqj";
-"metafont-2.71828182"="51bwj1md9dckcakmb2icmb3f5pyxx3rq";
-"metafont.doc-2.71828182"="809kdckalk6kixkh3hqcsjyfjfam9b6h";
-"mkjobtexmf-0.8"="raq7ql17c3fdqqpaqbd53r0dg7kjrvh2";
-"mkjobtexmf.doc-0.8"="3cgxbgxpha9139jfz4v3478ny7yv3xm1";
-"mkjobtexmf.source-0.8"="dky5rv3xrbjqj7pg8spdjsllggpq61k9";
-"patgen.doc-2.4"="cl45bg0yq5m0xqwwpq0h209kj6rv90is";
-"pdfbook2-1.4"="5d9ygxiff1hlzjb4lp55f6611x0939lq";
-"pdfbook2.doc-1.4"="ic3xl30b2qprsxyx892bd10smcz7nq7y";
-"pdfcrop-1.40"="ac5w5qdg0hfb5a75ziq9qi2rbzzm5z62";
-"pdfcrop.doc-1.40"="wxah72mp14rhziw8wmw1d1s41c6mjd19";
-"pdfjam-3.03"="8vh7hia6anrhmp5w2aibq12yd0p3y6fp";
-"pdfjam.doc-3.03"="5q7wazmr6rz1mnjln28ryakv7x0q40nb";
-"pdflatexpicscale-0.32"="sc7xcy0agdg458w49n72q6sd8sk8zqn4";
-"pdflatexpicscale.doc-0.32"="ria6cfi0nvviddn0gmylwcjw53v6ryqy";
-"pdftex-quiet-1.1.0"="3cx8zd0q9z19d1xhhc8rd640ifwsrjxc";
-"pdftex-quiet.doc-1.1.0"="84mb3zp9h3jnl179kc6svsd52pmx13pd";
-"pdftosrc.doc-57972"="wbpmp9d306ckj3azix169xjm9isf8gkh";
-"pdfxup-2.00"="mza819bgnq201y9pqkjb06ky44kjc6kw";
-"pdfxup.doc-2.00"="xjwqzajjp6hayyxldqnb6n1gczx1rqlw";
-"pfarrei-r36"="n351xhnwd12vvy4b4zv2r9cqx1crd435";
-"pfarrei.doc-r36"="bi4wqwx32x2498kr0k1rmkmslyz134x0";
-"pfarrei.source-r36"="zrdbqakfqkm5kwbpwpy5d1pqp4w5sz42";
-"pkfix-1.7"="gmnyddib832v8lxj6j0w73z2xcars3kv";
-"pkfix.doc-1.7"="r2lyi06ra63icn8b63l3hzkfv8min1w8";
-"pkfix-helper-1.6"="vjir8pv43abgpf5djbfpf0vbwinrf3gb";
-"pkfix-helper.doc-1.6"="gkgpxfz7iypg1xiswn4p843pa2v8dkzl";
-"purifyeps-1.1"="qmwy8zk8h0kzpsknp0430gdxq0zqj4hf";
-"purifyeps.doc-1.1"="4fj0jj42mjldhg90pkvj7bsd1b682x0c";
-"pythontex-0.17"="1gza81rq8sz3172y81zkm5lvg8193spd";
-"pythontex.doc-0.17"="4z6bswby7179xqx47n89qfzcd7sxvxg9";
-"pythontex.source-0.17"="pnzqd2k0q1nng61d2ral344q8211vfma";
-"seetexk.doc-57972"="r0yp9ffrpjja0w2w1qlzs77wh965rgj7";
-"spix-1.1.0"="73qaq9y7hi67hsndah7qnxn5970s4jzg";
-"spix.doc-1.1.0"="08xbscwq5prsc085zfkj3fnpfaf3idwl";
-"srcredact-1.0"="dzxdwnn9l06gngyvaarf10h6ws8aa73y";
-"srcredact.doc-1.0"="m028dd5fqv2x9xcxq7vhdsaz2xcyxwl1";
-"sty2dtx-2.3"="irvwyxk3ggfbc8p4b8s70v5704lqmsib";
-"sty2dtx.doc-2.3"="s9qzsp01129wgi8qfh0ljxkaj9jvdr65";
-"synctex.doc-54074"="wk9fbvv3gdqzyh12gxa05zbd88l5zh65";
-"tex4ebook-0.3c"="s2d0w5089zd6xai6qhj8cksijbrgk2bl";
-"tex4ebook.doc-0.3c"="z54xmjb89jfz1j06gmzrli0f13kr4095";
-"texcount-3.1.1"="spfdnfgbcy8y8c7191pd973wmdnrgp8j";
-"texcount.doc-3.1.1"="idd45zpjjy6cgibnndxygdmljw28gyq4";
-"texdef-1.9"="jc5hxmivzlsr1cklddvxmv3zxcyq5j6v";
-"texdef.doc-1.9"="gp2xj30b1whqvg24jjyvba456w48dq0i";
-"texdef.source-1.9"="028z9c2lxpkwx2dvdgxhp16qxrj0vjir";
-"texdiff-0.4"="83vghxcac89m0kji1rr4ry3fy55im9sa";
-"texdiff.doc-0.4"="r9wsmivjyiwdnav7qc35kydk9b8pbcz8";
-"texdirflatten-1.3"="135358h2mb608wg3ni93rrsvvqgxm4ya";
-"texdirflatten.doc-1.3"="n9jxdwjiylvwy6n55vgci9a32qi10xhl";
-"texdoc-3.3"="zybis3ds27vzr62qsvkmph787jb12msz";
-"texdoc.doc-3.3"="ri2jcsh0ja8wmjs9y9692m0zc0z8gxvi";
-"texdoctk-0.6.0"="p6c2lakbnbg1wdc7i4iavscn9k0xamw5";
-"texdoctk.doc-0.6.0"="xfl4g9m6d9nbn4f9hgxj58jg9g4laa7l";
-"texfot-1.40"="h5l0m8p439v0j8c4dpx9wql4my29bri8";
-"texfot.doc-1.40"="svihfvh53hc42dr5b613h52fvkpkixj2";
-"texlive-scripts-extra-54744"="prm2z9007xv13q0ny18rcq11f73c8vxi";
-"texlive-scripts-extra.doc-54744"="smy9j2bvwmz9dm9s9v8fsvlcc27279nm";
-"texliveonfly-55777"="8csnp69s8i4bs18r18qqr2cmkqhgx437";
-"texliveonfly.doc-55777"="ic6vdfmbvl34zjqrn0lvp59armsin54n";
-"texloganalyser-0.11"="xsbl0y7fkjhbpavx9g10bl3zhkk4zqcv";
-"texloganalyser.doc-0.11"="i6mk318pdkma4xmfa3rsl1xiyqhx8f9i";
-"texosquery-1.7"="bls961qcx9s6fwhhjqsx20wczk10qhbz";
-"texosquery.doc-1.7"="8dr8ayinwjayi9vynaw0m6q9rrk31nas";
-"texosquery.source-1.7"="bpv9sr00x6vv90zclfjsl838kd6zcb76";
-"texplate-1.0.3"="qwc9286zs7yhw0y19zici7ij8nvsjijm";
-"texplate.doc-1.0.3"="9d0a9zxzjd5dhjy5i215b7fypqmbzv5l";
-"texplate.source-1.0.3"="aaslsxscr12j99xsjaq09rqhxq6jr8a0";
-"texware.doc-57972"="f95gr03s8p65mc103gid4synigindg76";
-"tie.doc-2.4"="68d4mmysa0k8zfw4x8nxiyq30ajkx0mx";
-"tlcockpit-1.2"="0c2p37yr8qncfamfn96wd57bvm87nhs9";
-"tlcockpit.doc-1.2"="nxadh1w5c1g1n2vhrvqfgsx701znkc6x";
-"tlcockpit.source-1.2"="aqjlazcsv4yiz4zfrxb5zdw573wmhaba";
-"tpic2pdftex.doc-52851"="s255ics89hxsf04fkcz1ahfz130q9y3x";
-"typeoutfileinfo-0.31"="vjs333wmdxb9s1vd215af0vryplvb8hl";
-"typeoutfileinfo.doc-0.31"="qdrwm9hi7qk7hxzcz0grv7cfl4r9k4v6";
-"web.doc-4.5"="c8yi707dacmc6a751s87254wb6avj9as";
-"xindex-0.28"="5wmxpzvpz1dyn8im2fz4asybkbc13dzz";
-"xindex.doc-0.28"="l71h3aa6c8jgy4ar35lf7ciq8q59nc85";
-"xindy-2.5.1"="h2fphqpbm4cqqamzwdgplj1j5g531r4v";
-"xindy.doc-2.5.1"="c0vyg2jz54hi23m1ys081mmmymgh3ah4";
-"xpdfopen.doc-0.86"="p7h2jmrh1c2n964pv2gfqqi36paf7c1d";
-"context-58167"="if7cs06gavsmqrfpmq73bdp23icfa5ck";
-"context.doc-58167"="lvcq4fkcxqrwk59c6hd6a3qck6slq9s6";
-"lm-math-1.959"="j995x0y357lac8mn1kzn9v8p3v995bz7";
-"lm-math.doc-1.959"="bgfq2c4l1shm9453822cnmq7yq6hlknq";
-"manfnt-font-45777"="isk7hkf6lfg41mjli9sgn77kvn6fkl96";
-"metapost-57972"="6hm4z5b1yw7qdhnk5zvr0li679rvfvi0";
-"metapost.doc-57972"="2xml7biqp6arvl4liyj6rbhyq5gc358a";
-"mflogo-font-1.002"="m5lb3rhr5yighsixjb0k6zp2hx8fxvr9";
-"mflogo-font.doc-1.002"="va6f9qjbh5ah4zvlmc4wi9m395x3bhpr";
-"stmaryrd-22027"="shivgpyz8sa63sqkmpgqvw1v1iyc0g35";
-"stmaryrd.doc-22027"="r91xmqmmm6i6jka78qyaiilas94xc5hi";
-"stmaryrd.source-22027"="ch2gj89jxrqysjsl24s40za3y5z03yan";
-"xetex-57972"="5mai30qjzqsc5hdmzavbsgchlarv6gfh";
-"xetex.doc-57972"="z3vkncv076qiz497zk05gjh3q52143n4";
-"xetexconfig-45845"="2wjm3wl2975pd1d3ql2qd3yhhdh3gvmp";
-"context-account-47085"="85lpl8g1by9mvqnmxy6v9iasvgmjnazr";
-"context-account.doc-47085"="lms208c3s9clga2ymi1j2i5whyz2dffy";
-"context-algorithmic-47085"="zvjfp5dzy3saz67hcfl2n1haxjdkavml";
-"context-algorithmic.doc-47085"="gsckrj1g30x8lq52cil2z9bq7zf5vaba";
-"context-animation-47085"="lg4cn50cshxd9qg2i7hd54lcgsy8zwyz";
-"context-animation.doc-47085"="lazsfqd8djbbkn4byqrgl93nnvygm8xd";
-"context-annotation-47085"="vgnpr8wv2l93qcwifsyslyanyd9hp1vz";
-"context-annotation.doc-47085"="05lrbacq308akhvdbdpwlwg9b0dhsghp";
-"context-bnf-47085"="pzpk8q0zc179zbpj2l9w5fw3r8gmhq82";
-"context-bnf.doc-47085"="jyvr2yk2shkzj122v53khmxx4skbasn0";
-"context-chromato-47085"="721l06z298fqfaj6rcz9sh66jshq447s";
-"context-chromato.doc-47085"="lwbqab6vnyipsjq0xlfgl15iag6h27nj";
-"context-cmscbf-47085"="nwk7dqb2kxbj9y6ijlpa3ack1an9d5f8";
-"context-cmscbf.doc-47085"="s09578i62xh352zmd1rssg0rd1qjpc7q";
-"context-cmttbf-47085"="dgrblidva7k2q8yvmkdb0kg2n4bzln1k";
-"context-cmttbf.doc-47085"="fp7blzzh8p24bpab0vnlyc336kildj4b";
-"context-construction-plan-47085"="b42ncfcmywfwwnvzy2z58pig0spz39g2";
-"context-construction-plan.doc-47085"="x76mm90ba9lwvjb3dkhmbv6ajc93444z";
-"context-cyrillicnumbers-47085"="iwzzhbrrkf377k54rfbna7zfbhdal6g6";
-"context-cyrillicnumbers.doc-47085"="4q6ba2gxc5apykkirfjhyn29n387ifq1";
-"context-degrade-47085"="d7fvjlrj0gya4ycpy01b3xw96cqpgmw7";
-"context-degrade.doc-47085"="nkal1h165g0mnf0h677b22c7r5q89sbp";
-"context-fancybreak-47085"="dkqfx16sjcxdl8a50al6x87rhwbrz61z";
-"context-fancybreak.doc-47085"="vqgypbxyr7ay3qasrnfsxsvnzg1rddfc";
-"context-filter-55718"="2zc3825f0qs66xbmafhl2p826cx3l7h0";
-"context-filter.doc-55718"="bdw1fapc6dy9wm79c2r456nlvyxr30kx";
-"context-french-54215"="f44vj4in9b4kry17a7cw7ad11ygmnvkr";
-"context-french.doc-54215"="pnndx81zpi4625r2bpk3nyz7x1md9l6v";
-"context-fullpage-47085"="cjfrxynfxahlz5pc60jq27fprlg9jwac";
-"context-fullpage.doc-47085"="4xh4v0zq3wqdaf25jnjpkl73d72h5100";
-"context-gantt-47085"="v50p405xz9ddwlqb0q1hi9m8wbx0c01g";
-"context-gantt.doc-47085"="6600xvqy3ayzn81z6agxpdg6xac1mf90";
-"hatching-0.11"="kngng0rbi2q99417zr3vv3jl0zzjwh6l";
-"hatching.doc-0.11"="5c0n8fhchwpa3vgby9v6dzcg9v834xgr";
-"context-gnuplot-47085"="21gc0nq12aps3d3333yxll6xllnlw0x2";
-"context-gnuplot.doc-47085"="53y32f428jh6lii2zcl4csh8yzfs2ij5";
-"context-handlecsv-51306"="zpdagxljjxskjqd1fpzkba1dn0vxilnm";
-"context-handlecsv.doc-51306"="bc0dzhw5dwjidgscqgwlnfs2xdnapdyz";
-"context-inifile-47085"="fmf14m6wz9ya4lxy3w6mxjzqk491jdd4";
-"context-inifile.doc-47085"="acx93f08cc2z4x4jwwchd8njnkil3bfq";
-"context-layout-47085"="438mv86y37wbxdv9js2s3clnkl7866ff";
-"context-layout.doc-47085"="adh7d3hmcjqqgh69nr8agxznzwijkggk";
-"context-letter-56073"="9yb59mbbs9sby1wbg3c1wxysd17hqymf";
-"context-letter.doc-56073"="s8i0hpk9qfkabfgrvziapw843v9l55pp";
-"context-lettrine-47085"="wmfy4c9c13jj525hmrf742kzkiqqmwgk";
-"context-lettrine.doc-47085"="xf4mr1w0z7ybcas306959nmgxih59082";
-"context-mathsets-47085"="5gxx8rbkp1znjh8ycd0k8nflhjcm25kw";
-"context-mathsets.doc-47085"="jjc6lkfrw2a84n4cwvpdnn92wv59pvis";
-"context-notes-zh-cn.doc-23171"="x85l6d8ydz6nw51z8ak3a7cvpc6c45lz";
-"context-rst-47085"="5mwhydc35iywmkdz759sdpz53wkqa64x";
-"context-rst.doc-47085"="c8khxkv5vs9wzfb6l7116iglnwng98gd";
-"context-ruby-47085"="jrwrrwhcvb4bbia0g2lnl6rr0yydh6ix";
-"context-ruby.doc-47085"="s8s9kmgim38l2x08a6cq2n9jjz9hbw6p";
-"context-simplefonts-47085"="5h1qrkcjlkdbd5rc888xrp2nfksyf7x5";
-"context-simplefonts.doc-47085"="xfdzrvfp6kr1abbnsja6grxnvcnbj2wl";
-"context-simpleslides-47085"="idd4q63cvh7qqiv5wzkq3xgrxwhm9z87";
-"context-simpleslides.doc-47085"="smx89kphvq9qjl4mzd2nd2j3nasv6vfj";
-"context-title-47085"="ywgzzyzyvd02qwffkzxpymwhpb548g3k";
-"context-title.doc-47085"="d3m29w07jmdkxhb3g8254ry27j3y5qri";
-"context-transliterator-47085"="q0klk1fqlky9drg0ak4xlcn3xpsi4kyr";
-"context-transliterator.doc-47085"="xik3slvbsnrmjcjd9ypmwxhbslyank86";
-"context-typearea-47085"="ck1fbjmlyq93id8a15nrn81cd10jlcib";
-"context-typearea.doc-47085"="yvf0njazm748j5d40dsyk9l3p4is0g8x";
-"context-typescripts-47085"="q33whgk69qflc06i9q8jpb5lnwvdbhr5";
-"context-typescripts.doc-47085"="gxsm980lz4ddjnnj61yj4yv2vdnck1x9";
-"context-vim-58082"="5b0bk35x5ng4f7p6flnmaa7vfkxn35fh";
-"context-vim.doc-58082"="wlhn239qfi2g45909wbck779a19jgi7d";
-"context-visualcounter-47085"="sh6jnhkfbi4rpw34zw489148rgwsb14r";
-"context-visualcounter.doc-47085"="hbainxhhkx26imhab5kl4k1f7ljhifqv";
-"context-visualcounter.source-47085"="7wbyascsdwh2m9hpwm3c7sd0q5940fd1";
-"jmn-45751"="sxkb92pakb4lx5d9pjpang6mhfrgm4b5";
-"npp-for-context.doc-0.98"="7pczkchxrk8snrl81lrv7wgn928lngq3";
-"Asana-Math-000.958"="ra3pfarx03afq6hzv16an1v2fb22pcpx";
-"Asana-Math.doc-000.958"="wy3f3p15aj22vm3i391dpf2ssphqln97";
-"academicons-1.9.0"="lmsffq22z1m2lkq1xr3595z4zc11p2c5";
-"academicons.doc-1.9.0"="whzkxl5xfcd404afasyrk0jzml6giqmk";
-"accanthis-32089"="3ai0zz1fwlq9v25dsfz63if6i7wgrhp3";
-"accanthis.doc-32089"="zlxlfbawiicbkminjw2laximsn07zpi0";
-"adforn-1.1b"="av77crahnvrjdla03d5511inpd0hikjv";
-"adforn.doc-1.1b"="0r9vmhq3m0m5agj8vhgh9rwi10p238yr";
-"adfsymbols-1.2b"="qsglgklwqna03lj0dyd37vdqlmh3fxwm";
-"adfsymbols.doc-1.2b"="q3840xankbi9xr7fdsfxd3gkgydrvmxr";
-"aesupp-1"="39bvzid3ikay6dgdsy33nwcfjr73146k";
-"aesupp.doc-1"="4lryjai2f2jlk55hl42b6pgl45j7np3b";
-"aesupp.source-1"="r16cllryd2scwcjf6nw3i3bdxrmf8d5q";
-"alegreya-54512"="g97xv22dfmdfhyn4yqz67rj42mkp35qj";
-"alegreya.doc-54512"="ds3p6fvf6bdrzf9clxksrcl9r3lbbknx";
-"alfaslabone-0.0.1"="q13lgalx5mzdx6vjzl5cwjyx9jdrbfsj";
-"alfaslabone.doc-0.0.1"="j1j5y3vvfibs10jag9sbfb1714falvls";
-"algolrevived-1.052"="9bhf3s32fk8p0vfw81c05jcpcbjmmsrm";
-"algolrevived.doc-1.052"="vcfri2j0bl3bs2lvf3ykz9ydrva030kk";
-"allrunes-2.1.1"="yxijvmvgjl2q05v667fmqisbyd7xsjpr";
-"allrunes.doc-2.1.1"="b0sc4d9kla5sg792zvwqjzszz17w19iv";
-"allrunes.source-2.1.1"="n986ppx466mparm30mlv7cn5mmjh74sy";
-"almendra-56035"="jwk6aqznr0b5qnc0g8f2wq9246080l7h";
-"almendra.doc-56035"="lp3pgbn9azv12hmr1q5fgdrsyam7k0qz";
-"almfixed-0.92"="kcaraz14gg5k8ws8zkrjfvvn22njv759";
-"almfixed.doc-0.92"="34f4a82gsr0vq47bp9wbdd4wkhhr984j";
-"anonymouspro-2.2"="kzf7kf4bc5cl8vw0k5m34hv7pj566w1n";
-"anonymouspro.doc-2.2"="0952v93206i1n1sziifc0pmrpz6ksina";
-"anonymouspro.source-2.2"="k8bivdv3ghdp0a9inhrirfh01kbszsrn";
-"antiqua-001.003"="131gc30l7jaj79zkc37if3w70nr8w6ic";
-"antiqua.doc-001.003"="36kkp06c9grcgz7py0k7fnr5a56cvsgk";
-"antt-2.08"="ln7vvpz0p5lz4sikwky7f7zmkg08zmcv";
-"antt.doc-2.08"="2449s2gpspkwfmyhvvl8g5h1dqn8bg72";
-"archaic-38005"="jvj1s2dcgkwgi9ywg48vw7i14gmlmq7n";
-"archaic.doc-38005"="mb0z3xq325y48yv0bx4xsz8x5f790c60";
-"archaic.source-38005"="j05dan5d8xxzg43iay4v76vbcdscc6zn";
-"archivo-0.0.2"="6cklwzyrf0b5pwakna7qgfwl6f1rgz4v";
-"archivo.doc-0.0.2"="s7qhxip5n0iwgx8c10lg1c5blkvby4x8";
-"arev-15878"="xc3i2264d5w0ijv10n6ka53311bgnib0";
-"arev.doc-15878"="s39jgnizjbpnh1czr3ck5yd32bxks476";
-"arev.source-15878"="msk58av5fwg6hi4mzpz8abgzigqyskf2";
-"arimo-42880"="1z5ij30qfbd4y2c0292aai2dsg87n1rm";
-"arimo.doc-42880"="2fr1vjv5386lvixzs8idr0wyf9ghlg1f";
-"arvo-57213"="jz4jq6bin6pnwz643z576hdcvldvkbv6";
-"arvo.doc-57213"="macfnskh7cjjcxsr1mhh8d74kzw67wcz";
-"asapsym-1.0"="gbn04lk9k66wj689vna4kgxq8gddhwca";
-"asapsym.doc-1.0"="qfbaary485cs3q5azl6d650z53kd9s73";
-"asapsym.source-1.0"="g9m2vwmd438fwfczm8xwhv4wdp2aj114";
-"ascii-font-2.0"="xagip7afzxinz33nlz8pf8vbcvbj1qa7";
-"ascii-font.doc-2.0"="8r3hq592fxf4hd5n6dphfv7ggd7chhcj";
-"ascii-font.source-2.0"="ackrvh7723ifwjhl2pzf3mynk3c947f4";
-"aspectratio-2.0"="jhfd7l8dwy9mwi3qa5md8nzraf0fkajj";
-"aspectratio.doc-2.0"="xv7z3aa40dn6fzchrhqwg03356r2znjf";
-"astro-2.20"="isnx9q009wchs33xq4bphi4cp4cnb2m9";
-"astro.doc-2.20"="xa1szbc33k2yyahgwy294mgiiyi5yiy4";
-"atkinson-57624"="np7g8vknrgcppbdwdd76gd7k8i3wad7v";
-"atkinson.doc-57624"="sk8fmy92pj5djsip6234cv1878ys5sgz";
-"augie-18948"="w863x04n1ks9jkmaw8fm4hd6a1390s3x";
-"augie.doc-18948"="dlmy9i2fh0db4aghd8dqsv9227cqk4d9";
-"auncial-new-2.0"="nnaar0yvi6r1fynyzxmqhw7mnify474d";
-"auncial-new.doc-2.0"="jvyica87kxg5gm3zb8kmka9ja87f28si";
-"auncial-new.source-2.0"="hfdl71c7lx3lpb9rkwfz5vpaq0s19bh6";
-"aurical-1.5"="nsq6vfvs11v1z0jyrhizbd29fkn1jp9w";
-"aurical.doc-1.5"="3glvxhpb6l2y06kz1icv2cpgrxacl998";
-"b1encoding-1.0"="cxsgg97c3bsw9dl2aj9c9rb8vlpyn4s4";
-"b1encoding.doc-1.0"="mcm5yr55av0rj342bxdljkdid5qxyv97";
-"b1encoding.source-1.0"="jdnzzki5929xpzvpfvx5a9z51dk40pvs";
-"barcodes-15878"="8j88bc82j5a0xhm46671mj0k439zm5da";
-"barcodes.doc-15878"="7729a4f9hn4qzx2cndyxv04wwpchpjax";
-"barcodes.source-15878"="yh5ci4axi82ps6hbm6f0a08alrnapxiv";
-"baskervald-1.016"="igfnj3pwvb6443c531va9kzylizxm9vs";
-"baskervald.doc-1.016"="mq8ms68crhv6afh9ld6scyx2xn2ik6jk";
-"baskervald.source-1.016"="7y8d5vqbd1bp3gri0rhzk3cb12cwchr1";
-"baskervaldx-1.076"="hv5ycdbvsgrajd2waycsl0ail4vj9kh2";
-"baskervaldx.doc-1.076"="km1ycjnk0sksv73rl38dfx0jlrvdin5n";
-"baskervillef-1.051"="5mb4w2c9i85hi0vdn3nkakrhbzin59ma";
-"baskervillef.doc-1.051"="7000j6d5p3ar92imfm53ss57xm63r17k";
-"bbding-1.01"="8kh5c0chlw1f2pqzh9pc7zx8y2jcgh0g";
-"bbding.doc-1.01"="zjngi582jrb99j6w1amwbyvjmfvsk40d";
-"bbding.source-1.01"="axvp8f0zag6bkr9v3fg22j4h5gcbcgzx";
-"bbm-15878"="ayg703c4frfpv9mhahz36f9zs11y9vxc";
-"bbm.doc-15878"="bzfab62k5j167p5qzs79gps14hbpq7nq";
-"bbm-macros-17224"="lbvpxxa0rzhl0z0081s6wfdvmx3vlhv4";
-"bbm-macros.doc-17224"="ncijdxbxfk9xkrnvvsk937ji5nd60z1s";
-"bbm-macros.source-17224"="39wj6mqzn9qcvavqr8p5ny4ajjxm9m8w";
-"bbold-1.01"="s88rwky3f2jjcg6w00g7s5lkvviqkwpm";
-"bbold.doc-1.01"="sa83x4g1n5b2lafj9n61cggkyk7h1z5v";
-"bbold.source-1.01"="ki3gxl970iirhkckqblr490jlznl0kc7";
-"bbold-type1-33143"="00rizb6fky3rsyn1id4p1dik8963bhwr";
-"bbold-type1.doc-33143"="lnpyln41q3qdsmzdkini0q1wqx7v2n7h";
-"belleek-18651"="8y1nbwn46cgyzfyd3and8aws7mqclsfa";
-"belleek.doc-18651"="8d258516ak2b5va5smkfc87ipyj329f9";
-"belleek.source-18651"="n6fypvkn7cq1c1l7jqvjb6cfjyqrq0wv";
-"bera-20031"="mq0j1sn7fg1qk7qd7x1l4ixqddyp3rjg";
-"bera.doc-20031"="6iv3gc8kfqcw909sa4x7msc7dsxndy8i";
-"berenisadf-1.004"="2ci0vxfqyc18anpy68r6anbdz76nrf2b";
-"berenisadf.doc-1.004"="00vx76lkvv0vf68a7sck05ls3l5va5gj";
-"beuron-1.3"="c04r71cvsva6yr9gvj1jrmix7q8n1i94";
-"beuron.doc-1.3"="6iihw343dcgq64505br49lkllnjxn8lw";
-"bguq-0.4"="cgq4fhairknzbp65cmhv0m19zn0cnkgp";
-"bguq.doc-0.4"="9rwhzxijcyl4zzrc88dg8730p11hkm4q";
-"bguq.source-0.4"="7856n14czw3z30maxv7m4xz6js47rkbj";
-"bitter-56026"="v844qmmw2336gglg1lvfzmzb799gjbq8";
-"bitter.doc-56026"="nl5n897n92mnwwswpb5p1p4jlpqf5740";
-"blacklettert1-15878"="hzd441k3wi58rrysk0h48yklnp5i776p";
-"blacklettert1.doc-15878"="8n61621w6273ik991i2asvsm4w8xlimx";
-"blacklettert1.source-15878"="ir0cn80nw9jgchx4kisv9j27gpgykhvc";
-"boisik-0.5"="xz0hk8fwnrwnydy9dglm93c4gzrqpz87";
-"boisik.doc-0.5"="wsssy9bh8wi35x67ifgnj9wrjx0vpmvy";
-"bookhands-46480"="6dgc2p6zs8hxjx4b3xa317ni1pglza7c";
-"bookhands.doc-46480"="l8mlzpwi0bh220ag4ip8qzxq6vxz9s5g";
-"bookhands.source-46480"="xx98dvqz312dbb4fm57fmh3yp3krq7wj";
-"boondox-1.02d"="i1hwfxc7ji83724177ir5hdgfn6cbcqr";
-"boondox.doc-1.02d"="wwa8ar557myv3rfjkw9jlw1pxs26vwbh";
-"braille-20655"="slk0qzcahb3qkmq91jcrm5gakcwa7czv";
-"braille.doc-20655"="00dv14s64fm8g5jy8b30dx813a304nlh";
-"brushscr-28363"="342p5p6h8v377mnbrv1f56kicbbjfcdx";
-"brushscr.doc-28363"="hikb5s9iv60pfq2kjdbfiq1216d3rabk";
-"cabin-55907"="w65bzixchj3mdz8z2l0dkmqa9kjzcy9p";
-"cabin.doc-55907"="p0gqqmr9g08mgc6xjzhzxh9wjdg8gbpx";
-"caladea-34991"="1rb8sq2yh4hizlcjp8zd68ayb7cx6275";
-"caladea.doc-34991"="9qr79slzxmnnvvh2iy310ypqj9g11s4b";
-"calligra-15878"="cisw7fvdys863szqvsxzm164vina8al3";
-"calligra.doc-15878"="36bzakyiw9awp36v7c6dyb3vwl01shb0";
-"calligra-type1-001.000"="2bl0g899jhyspyhyzh45xdkkis88ja46";
-"calligra-type1.doc-001.000"="3zza4sgsnvcg2asdv27gd7y6jmab5j4y";
-"cantarell-3.2"="kfhii4bxf2s204kidpr7d9cwa5kd1vwy";
-"cantarell.doc-3.2"="22q109ydjdvd11y6dhxbgsax3rnd43qi";
-"carlito-35002"="7v0571swhiw0pbsqcb1a4sj7izdincb0";
-"carlito.doc-35002"="bs67zjydc9fcigiaaf9y9lm05lkgw68a";
-"carolmin-ps-15878"="rx6y9nb8l3cslla44c422jzwjlqw7ilz";
-"carolmin-ps.doc-15878"="hq8477r3q2cg2laafi8ryvjan90wxjcg";
-"cascadia-code-0.0.1"="m0xyvyrmprl5nbqa4lvqlnwha5pkigs5";
-"cascadia-code.doc-0.0.1"="4p2m5vm8lr2983gvj9jssa09nn77hrb9";
-"ccicons-1.6"="g89dzfgas16vgx8ydp43ihina82z8df8";
-"ccicons.doc-1.6"="sphr2i8d6yf8xz5rkr0ib5ji6x6w428l";
-"ccicons.source-1.6"="1rkyqlpvm3v01cswmjmycayxh0kbgin6";
-"cfr-initials-1.01"="piy7c7f39bjqk0igmqcvrjk0pg86lw6z";
-"cfr-initials.doc-1.01"="4grvqnf5f5ga3d8jdsmanfgiwpp5gygc";
-"cfr-lm-1.5"="7y9qg3jnq6xnlq0f1wqm6493qax92cc3";
-"cfr-lm.doc-1.5"="cfshavfcmpkig5p9kypglmrs55rl5lsb";
-"cfr-lm.source-1.5"="nglav2q22aybb23snhm6x17dxz3976sc";
-"charissil-5.0"="cca3i6y7d4kbcdxw8nhpsifzdamhc7gs";
-"charissil.doc-5.0"="1kb1gm8vrjxa45q7pm7cvwysf32h7yni";
-"cherokee-21046"="hmmaav3k7vd1rh6rm26l2nal48r1wxz3";
-"cherokee.doc-21046"="zaq092r56asdcf62a7zscfp4zp7a5lwq";
-"chivo-2.1"="0xrf456zk0yvgw2v6rss6rzlzpb0qkmk";
-"chivo.doc-2.1"="w9p59bx5wdz963lcdqvwc7v50pm1a8da";
-"chivo.source-2.1"="mqwg3ryb1lfam2ii20dn6m6j7pahqqxr";
-"cinzel-54512"="g6w1yxjm4bb49qdhgwrrmnj535za01kp";
-"cinzel.doc-54512"="4kj5zj40jq8dm7br7xb9vr2nwwqjl530";
-"clara-54512"="z7c5lggc4dy39dczhiql9sl48n6v5wjq";
-"clara.doc-54512"="r7x0a5q7l021a6i6skr34f1s5000ggz3";
-"clearsans-54512"="zp2572jdcnzq8b32pxzsmlyqxvsmj0mn";
-"clearsans.doc-54512"="6f9lri3fq95h9hgbady7fbgfk9msy7s5";
-"cm-lgc-0.5"="wnmmrhnlldps15r2v360bdvlfyjd1fpn";
-"cm-lgc.doc-0.5"="wb18g3w86wfb7fv2iaaxm0j2amrws9yf";
-"cm-mf-extra-bold-54512"="87n4wnhy5wylwl1qw8i0nq4jj7jfr5fs";
-"cm-unicode-0.7.0"="wmmgwafdisxnkgdh571y2mlcybjlnvf6";
-"cm-unicode.doc-0.7.0"="6nykmggl860gvrzr1v9xahvl6gpy7phg";
-"cmathbb-1.0"="xsxjimwahlhbhzk9fq5zrh6v8axcmhhz";
-"cmathbb.doc-1.0"="a7fvfpvia4ybway7apcbc9hs6mkaydqf";
-"cmbright-8.1"="rjlqiwya67ispglypa4gmix8hyk6f2h3";
-"cmbright.doc-8.1"="wsjakpl6b7zyv3j9yx50v9hjm3sgx317";
-"cmbright.source-8.1"="vwgnzs47an6mjgw898scvdp8dc3m1w0w";
-"cmexb-54074"="jxb62ixs1vqaqscv1ixg27vv1p7na0p1";
-"cmexb.doc-54074"="92888gd06jfx2q4xd01n45c1yyhnp03l";
-"cmll-17964"="bipbbgh6jc5r1imk467r5pvj4m62a85k";
-"cmll.doc-17964"="k2sshj6rp40m29fm29jd7jy492gcrwcf";
-"cmll.source-17964"="lbaw2209cz5ymklza36486jzfpq1cqc5";
-"cmpica-15878"="z5mc7yl40mzwk5bcjs3lb1ifqsr7x4s1";
-"cmpica.doc-15878"="9bl7bhpb9dhp58p9hxay8xka0nz2cg2l";
-"cmsrb-4.0"="sbnwa4gqj1y9pah89qlnivsnn5g4b2ih";
-"cmsrb.doc-4.0"="mn4vnkf8sczwx73219r664vkrz0iwyb0";
-"cmtiup-2.1"="k6sk5isdzms460hm17lkx5b6p6p9wz1g";
-"cmtiup.doc-2.1"="ycj4il7cxfnigs8sxxwga045g9v8rv8h";
-"cmupint-1.1"="y3vd4gx3bm5432xbhp6kd6fgvgxb24id";
-"cmupint.doc-1.1"="jh5gh9ca5gwvjc0zpbb8wzlbi7kzfmf6";
-"cochineal-1.066"="nqvc3r3rvl2b8jg5iyl2iys8xdippmxq";
-"cochineal.doc-1.066"="v35n3000808gmsks4w1gwbpr65n6yx8j";
-"coelacanth-0.005"="qbhn9dh24pnw2bzsjgv2inr1fyh26qka";
-"coelacanth.doc-0.005"="dbx6zwlbflq60b3zgkff1aj284bl77i3";
-"comfortaa-3.2"="r9sis4ra19lgzsl56h3xp8s56awhlbrq";
-"comfortaa.doc-3.2"="jqsyn47waavk5a34d7cin4fc2z4pc9z6";
-"comicneue-1.2"="cfr1kqc912hb1lm6n6ks4jh7xqbwwhk3";
-"comicneue.doc-1.2"="h793ar1xgvf5l95z029vxysls2ypl884";
-"concmath-fonts-17218"="875viaxzrrljcarkg11cb830fmq5321f";
-"concmath-fonts.doc-17218"="q2wyl5cw03rbk4602vg18jrxg3j133lj";
-"cookingsymbols-1.1"="qhjzkivpxbk3rk6pricxsxpdk7c40rxc";
-"cookingsymbols.doc-1.1"="8l7yii9vvmaxfnf0h2snis7476k18mlc";
-"cookingsymbols.source-1.1"="z7r8n2lhgaqzgpx0jz8xq4sd4zzigbs9";
-"cormorantgaramond-3.601"="xqgifhi42dx6dbcbx72kdchyzk07f4d7";
-"cormorantgaramond.doc-3.601"="amjjqgdd9ng92mhiph56pflx2l7ggx3w";
-"countriesofeurope-0.23"="12hskf06qcaaq2ngadchixzg58sq1v55";
-"countriesofeurope.doc-0.23"="z2rmvqi92b23rwk5msp5zyqa27x8x70n";
-"courier-scaled-24940"="qrm6a468azlw2s89v7j992wxs2mkqfv9";
-"courier-scaled.doc-24940"="1bwlrdxpl1fj4f9ml688ybimig5ylxwv";
-"courierten-55436"="zc995z33ykbgfhmsry87a3fsn8xlb9zz";
-"courierten.doc-55436"="n3qgxqvpavn06yif3czxjk3075glzd1b";
-"crimson-54512"="wwvxgknvkd3ycswpp9wnlp9dlkilj7wz";
-"crimson.doc-54512"="wnxfzc5llkk38ky7bf8hkn7zsdawpr2x";
-"crimsonpro-54512"="hw8fac0b3762dbrc71xnzwys5429ih5x";
-"crimsonpro.doc-54512"="1vxxf4zr3rmknnxjq51myq954s2w8mab";
-"cryst-15878"="56jlp0hk9vrfxbhlfjnpim398ggxccjg";
-"cryst.doc-15878"="qazhz2hzgpqlghbg67fnmf8adba1wl5d";
-"cuprum-49909"="lb84z2x4ab6q22wj6vh0m2rqnfqr5cgm";
-"cuprum.doc-49909"="88iiq2wn37gz4bqawpsb0q8a0nrdpr62";
-"cyklop-0.915"="5ksv3v36mc6557jckr5gk22pbqr30wnr";
-"cyklop.doc-0.915"="d85643zgnh0r0j53gfpi84qsx4694xpv";
-"dancers-13293"="qlpshkppzr84rr3smqpwch5j11klm3a7";
-"dantelogo-0.03"="iiqbbimigxpj8kg628sj694xha98q0fw";
-"dantelogo.doc-0.03"="d42k8bqdvp20af1wzilbcjfd1b7ywim5";
-"dejavu-2.34"="90lkxdpj8ihrs68355fal0h0a1dp3v67";
-"dejavu.doc-2.34"="2v6nhxrkny5haczrpvqjzcal7bixngas";
-"dejavu-otf-0.04"="ssbkk7plshbikfmxsm8fhs860c921ri8";
-"dejavu-otf.doc-0.04"="h5xkf02syyclkizh6xhxha96ay14f3kb";
-"dice-28501"="916yfiq60a1qz7d0jn1jd9slck7rjwy1";
-"dice.doc-28501"="rfkm493k3g4slyjsy6bcgljxjsy88z76";
-"dictsym-20031"="lc5sz8d50hirk5yqg9baj2vhj4f7cf8x";
-"dictsym.doc-20031"="d13rhwg29k9gd4ymlipbp5ink908sdnn";
-"dingbat-1.0"="9yc0zy6qlxi9zmpyi3wd5irgq89shanr";
-"dingbat.doc-1.0"="z4km9f9xrw1n44ylh16872lzq8r4zvy4";
-"dingbat.source-1.0"="rq7v2cny05d4f8bkxbs2z6kj36q5bwfd";
-"domitian-1.0.1"="h6nmi8210w114mrgbzbjq57s2ii8dmcp";
-"domitian.doc-1.0.1"="qcnjkq47z176kgl8980098zidn3r6ida";
-"doublestroke-1.111"="z58ah73655dsas48b432ahkkags5n8wv";
-"doublestroke.doc-1.111"="403diym6rx34bwmrh63zaka3xdhzs2dp";
-"doulossil-0.1"="xd9sgg9nj1977hc9svbd5qp0vxc9sx03";
-"doulossil.doc-0.1"="1aysxh73wks623xr7x6dj14n1r0f0xp2";
-"dozenal-7.2"="6d1mbaf4l9yk7admwg05a6ix98cq5h97";
-"dozenal.doc-7.2"="5qfx3qa1dnadw5qc1fxq156xhh9wrjws";
-"dozenal.source-7.2"="w7i42zvkj2ln8z9m4r8p5371jbjn56kp";
-"drm-4.4"="i8782x71pbzgag927fqjqgw2w7zdisvj";
-"drm.doc-4.4"="vs4rq0w6c2yyyzv4g4qk1pn25z0czs8l";
-"drm.source-4.4"="g1n0k02ma60mrb12cdq20qfw8khgdpmm";
-"droid-3.2"="9r4y9qywb92m9jsc2wq0x9gpj13l1qdk";
-"droid.doc-3.2"="7imljgs9xh8zavab0kh5bj0fdgvf8pq1";
-"dsserif-1.01"="n3yxb7dh1amaxgyxlhlyyvg23hjdns2n";
-"dsserif.doc-1.01"="84pcbmflmwkfzclm3ygbdrm817l4dbdp";
-"dsserif.source-1.01"="yawadjy2742rvvkp232zadkjsij8ja3m";
-"duerer-20741"="vbldf1vbzs3if3mp2lcl65afgiqa54j4";
-"duerer.doc-20741"="75dd80vmi5wx804zkrq48z12y3alihqc";
-"duerer-latex-1.1"="nwigxc3gb4phmv584bma819dcrrafsmx";
-"duerer-latex.doc-1.1"="9nkvhaa662x9la2spm3iwmni9bj86kll";
-"dutchcal-1.0"="6gpi804yy8xyiznzwyy2nqg7qvq6q2rd";
-"dutchcal.doc-1.0"="s0m4n06xg8h0jmlj31w27la569vkl1im";
-"ean-20851"="m0gkapni85n6zw1armbn1y770n8aj0rm";
-"ean.doc-20851"="1b7rkp30r8k0dgk9clz71jp8dlsvhrqc";
-"ebgaramond-54721"="fxf69dhligq556cggd9gz5vsjf5cbchv";
-"ebgaramond.doc-54721"="nkhb81wpx51kkfqg2g2mw9vy4dhnzj7h";
-"ebgaramond-maths-1.2"="7xa6g5hnnl2ry0v3gf0s33p6l3qqn3ds";
-"ebgaramond-maths.doc-1.2"="2l73rdm7kwy43k9z4fwnxlvd7prca25a";
-"ecc-15878"="0g013kqml9jfkqq94v7zi46mhrwdzdck";
-"ecc.doc-15878"="v9al4v4j1qlrc9w7ph6ww1h1mc6flqsz";
-"eco-1.3"="7ycccps2kab77rr3cpwsbpi2cpl40kl7";
-"eco.doc-1.3"="1r1jxijx9wk6q2124xjwrmsjps7446fp";
-"eco.source-1.3"="4kcml0rm4pkg827qpfvhywnzrrx5p7dz";
-"eczar-0.1"="rnk4ahis52ivhpbyl6n75kdbbvcv06bf";
-"eczar.doc-0.1"="4k1sdkibfnis7gb2xp5caadk50ic7v75";
-"eiad-15878"="m3n9a3rawxsj5gm64vggw7xvrq4cy4ry";
-"eiad.doc-15878"="z3wss8sc5vnawaqkz7kagwm1gv4l1czv";
-"eiad-ltx-1.0"="0zq83567n75h8zxlag2qas2q8li6vyqn";
-"eiad-ltx.doc-1.0"="7kymr597yg8j8291gy7jz16a89aqmqny";
-"eiad-ltx.source-1.0"="illi6i1hp4lmx7ylxazrmmzi89ymh9cs";
-"ektype-tanka-0.2"="rqd2g9ibqc83vxsi040pxn97bxxv8qvr";
-"ektype-tanka.doc-0.2"="0q47s8q2bpdxc1dd11pf46iicyvy3lx9";
-"electrum-1.005-b"="6hdyjv1dakcj5zxn6p8rrksdvc7jl0sb";
-"electrum.doc-1.005-b"="c11jl0zjq8nva5nl96p9qyq3nrvgx0zn";
-"electrum.source-1.005-b"="67i1gwyiwwarncpbnj47fmws4dc42bii";
-"elvish-15878"="wp858zclk17yrhpf1yrgd3c4srh07vcj";
-"elvish.doc-15878"="mwgvj8fzb806dsjcx01zs6lhdygx35r8";
-"epigrafica-1.01"="mc08k5ajn2lr4k30lzhsn2si922frq9c";
-"epigrafica.doc-1.01"="vv1fqij6w2fir3myffcafyyrdckvvi4q";
-"epsdice-2.1"="xbz7jkdzzsqrskdi4vhb0ra7m62hk9q1";
-"epsdice.doc-2.1"="7lc7wwfxwxnjfgf13br3wa6n8j25ml6w";
-"epsdice.source-2.1"="6px6gazxv7pr9cagfrg7mzx1w3z2nxn3";
-"erewhon-1.115"="4pfa8lybdjfb1q21imsfvhsby9iyx5nb";
-"erewhon.doc-1.115"="7n0gz74gl7s50fxypsjydxbn9lx2khbr";
-"erewhon-math-0.45"="hx56393y3qvz6xhdkm1sqlnzk1bs8fgy";
-"erewhon-math.doc-0.45"="q1yyga9zqywjf4ic103h5clx6sap79dg";
-"esrelation-37236"="zhs9fa75r0wr060cfsk4gmmvn06mywmy";
-"esrelation.doc-37236"="08i1bczpz8sccj5lf32axfl3c5ix1sri";
-"esrelation.source-37236"="r1ylhybcbbxjkyvs07m6csmqgz14rrcv";
-"esstix-1.0"="0ddmfrgh39pwcd2n8rggma4pqwgamp7s";
-"esstix.doc-1.0"="5pf3r0xhssrgkp779n06a63yjb5cdg6a";
-"esvect-1.3"="dd9wb3zgs99s93z0jig2z5pwccxh3vvk";
-"esvect.doc-1.3"="c9x8najv8ihx22n1kfd9hbqba40ilz3x";
-"esvect.source-1.3"="170376cm3v7mzlh5909qyzw6y18m5rjm";
-"etbb-1.051"="dy8w22hbxmmfz7krnj85qsh6i6l5cx8w";
-"etbb.doc-1.051"="sz630vnzl7rlyvrs5l14436mmyzzqgia";
-"eulervm-4.0"="ica20j8a3ljzxrmp03k60y6f4kpcbiy2";
-"eulervm.doc-4.0"="g5fxzw7dvnff2w9ys2gpgnvr2x8dabx6";
-"eulervm.source-4.0"="ifvn5n0dvcr4qpcv1yp4xvnx9lj26krg";
-"euxm-54074"="pb3kg627b3skhbi0prgik6y9n9zgk8s0";
-"fbb-1.16"="fj9qhal40mhidcypy6gkiw5yxlzarkcb";
-"fbb.doc-1.16"="wlawnph3igcrbhkrfjhd3ghg3mlclshb";
-"fdsymbol-0.8"="hx8wp66hsznj0sj8jkz0vdah0bp9vvyb";
-"fdsymbol.doc-0.8"="n457nji3718qh1nrjr9wbj9zqj21nkw0";
-"fdsymbol.source-0.8"="3n6d2j9wh5cxakdmxg087mznnrdkjw27";
-"fetamont-43812"="4b0n4awl8k1zz1pn0pnc2hic5shsyb2h";
-"fetamont.doc-43812"="vq97fpky2mf9p09zwqvk6vkl5k9swkbb";
-"fetamont.source-43812"="j6zizdhly6lam1y4f37sy8py5ibaz4xz";
-"feyn-0.4.1"="mb9rzhjkx06m1yv6knnfx59if98wda3n";
-"feyn.doc-0.4.1"="hz41vacil1r726v0f6k2fjpn7zky7xrz";
-"feyn.source-0.4.1"="lqz2b6w4z325ba7mq42aj0brw2hpx01z";
-"fge-1.25"="59jqqyl11vinxa29f6gmalv30q6zfbzi";
-"fge.doc-1.25"="49bgdsclk4zlpdfj9pimffpr4qkd2z7q";
-"fge.source-1.25"="ak2gj4nk82ya7dfbi2vwp60lvnqlvnzl";
-"fira-4.3"="7djxip2p87v4bjjnlqigzyia0cdwp1yl";
-"fira.doc-4.3"="llsvxv1afxxlkxxwyk9mrq32bnz4hjml";
-"firamath-0.3.4"="jcqr18y6256nz7pj740yimvqj6f1rwng";
-"firamath.doc-0.3.4"="mbzsrizx3rh5gq4j8aqq7jgfcri0xhf1";
-"firamath-otf-0.02a"="8va0xil2r5i2bjmmv7xj39jbk9j8l9d8";
-"firamath-otf.doc-0.02a"="0i3j6rfpa5jahxipwa5ibfkh4x7vhz48";
-"foekfont-15878"="wha0shrvr3lv9ll9d3gv60mcav605vcc";
-"foekfont.doc-15878"="n91sl0xzglqfbdyb9mzv7wav3y4zv9sx";
-"fonetika-21326"="firgrcsksy4jdk632aqfwlaki3xxgmak";
-"fonetika.doc-21326"="ahz61pg6qnn2dpi3c9iz2kh2f4fvywbl";
-"fontawesome-4.6.3.2"="0n13dha58d0w511pzzckcq51fal6zxgl";
-"fontawesome.doc-4.6.3.2"="x7hzlyxv5k2zjz5lk8hy15pnvbhhhijj";
-"fontawesome5-5.13.0"="1aif8izj40a35ajy3kk7jh1y81r8vv32";
-"fontawesome5.doc-5.13.0"="ag4vgqas7ji3q4ahz05jxpfvvzxijc96";
-"fontmfizz-43546"="rkf93c9imj2wd7aps85m6450zbd9p3yl";
-"fontmfizz.doc-43546"="y70dshapwj7xp7h9b6sbjipv6v9k02wg";
-"fonts-churchslavonic-2.2"="dv81dap48xibffaaqz9lv3vn9k4lqp99";
-"fonts-churchslavonic.doc-2.2"="av2wni5sdkp83fd61c3hdzddscz11i8r";
-"forum-56025"="mgaad8q8g47k4x60vvfrwn7asni9hrf4";
-"forum.doc-56025"="w0qr0r8hr149nn075f8d0rjp4nfn01p8";
-"fourier-2.2"="ghdri86l3nlrnqm057sif3w4yjsqzhbz";
-"fourier.doc-2.2"="p9qmlb4xkdc321gv3iwypqabrkw8mnh7";
-"fouriernc-29646"="9pxp21fllg7yh9jfa8nzpy6ifa3w6y18";
-"fouriernc.doc-29646"="dn9wfy53asfp1bbxnfa9nxvnfy3z9nn1";
-"frcursive-24559"="fs9aw12gfd5gs55fhqxg2p06c50i9s1v";
-"frcursive.doc-24559"="r0bj4g91m2w3yl8q8kim6ldm4d8lyziy";
-"frederika2016-1.000_2016_initial_release"="bl8g27dfv6xsqfwlr2i6w9yar7916qnn";
-"frederika2016.doc-1.000_2016_initial_release"="ncd2plzgwdwcv1many94alkvbjh7xjf6";
-"frimurer-1"="fh6b7ag1zzzggi6xzb6by04hwhhl2k4x";
-"frimurer.doc-1"="vghsyznfdxa6ab2irz1gppr57sbc6b6p";
-"frimurer.source-1"="ixvp583gb0qlfi28hxy52hzbivnz77k8";
-"garamond-libre-1.4"="sjc7j87aq5vi8zgxiigg9hslvgq43fwv";
-"garamond-libre.doc-1.4"="k0m63fxp3f8fhyjachi19la5kz7wgz3d";
-"garamond-math-52820"="mr7aafbkhy8z5iy5qc0l7pmpqbvnzq4n";
-"garamond-math.doc-52820"="agb1azq7b7c5gpvz4nwxb29lg7pzqg9y";
-"genealogy-25112"="hdl046d3paihjmlkh2q3crfj1n88fsyv";
-"genealogy.doc-25112"="7115cwa2l6nsnyijcdik7kw513q3a41h";
-"gentium-tug-1.1.1"="gdd212mv253371hvn1bxlr2q863qzy3m";
-"gentium-tug.doc-1.1.1"="02avjmn2f3hlr18688rn12y1f5qc68ff";
-"gentium-tug.source-1.1.1"="k50zhzwymzygzqf7xywv4bzz47vw5hxs";
-"gfsartemisia-1.0"="98gdcspx1jqdry7iiq7mgxxmicl57zz0";
-"gfsartemisia.doc-1.0"="drbwq4z57xl8748mwmy86j97ycs3b16a";
-"gfsbodoni-1.01"="dzcgyjfwabmywpi5zkac7lbf88jzsbpj";
-"gfsbodoni.doc-1.01"="cbw698q7jmg09k301zwbnnqig853c14i";
-"gfscomplutum-1.0"="bic1cr1c3dii9nlfmhlgsm6rpj3g0im7";
-"gfscomplutum.doc-1.0"="ddz279xl7glgi201dizr2gdkcgiy77qz";
-"gfsdidot-54080"="j0mg1pn4n9dfy9hdia5v88hds4j2h2d2";
-"gfsdidot.doc-54080"="xrnlqx0gkb79g50mwzsmi9g6ib1pa92y";
-"gfsdidotclassic-001.001"="mv8li5kjf7gd779h7ap57qm6wz7m69mf";
-"gfsdidotclassic.doc-001.001"="1z68ixilpnx61pjs5spbmay6861sqc8z";
-"gfsneohellenic-54080"="az5rq4d44zysnvcqlky0hr5qb7bh3nza";
-"gfsneohellenic.doc-54080"="04y313wjm59sgg4xlnili0kfw3dwljp9";
-"gfsneohellenicmath-1.0.1"="w946ahij7k25dk2dhvwpcrlcxpdndsl2";
-"gfsneohellenicmath.doc-1.0.1"="djwb6m03rymqc84dcgv531lq4wx8qx5n";
-"gfssolomos-1.0"="wq24prphxxnn94n0nd4xmrf23f5yqchp";
-"gfssolomos.doc-1.0"="rq87k1bymgyb837k103ps50w9krmxca8";
-"gillcm-1.1"="42vc5sx8shjzqkc10qv7gyq9689bzlgq";
-"gillcm.doc-1.1"="4rmm7nn5z0bw3qgn8gfkl86bblkvkh6g";
-"gillius-32068"="fw49hi1cvp9zknv23xccgffkxyqwimqv";
-"gillius.doc-32068"="dhkvy2y5v117xzm4lan27k7q2rcdvs5p";
-"gnu-freefont-29349"="1zqn27grz5h290g4fk4q8kd9pf4l05ag";
-"gnu-freefont.doc-29349"="3saxb0d0h7dn8a1f7l8ax0dj5ic8piib";
-"gnu-freefont.source-29349"="716drmmfwyq7pabpgagk0zwkj77lrhda";
-"gofonts-54512"="gd9n6q1il2jfwz6hjp5hag2gkpr2mhl5";
-"gofonts.doc-54512"="4r2jm1373lkk3j89i9clb528dj04lmly";
-"gothic-49869"="p88xyzda6r94ibzxlv1r7kkb7mc99h68";
-"gothic.doc-49869"="wrpx52hq1g5dhi38sjj7dxi2y7gh1201";
-"gothic.source-49869"="6gh7hma17066gk20ri4qjvml8d424c1h";
-"greenpoint-15878"="qlqfkgcn8gc1hy7gmfajqliriilf68ck";
-"greenpoint.doc-15878"="xf889ii8gmck30vlpwkfp7d9242ivffr";
-"grotesq-35859"="rqv47whzwig31vfd8581ncd87ja7pb82";
-"grotesq.doc-35859"="rim68sz4x0r1m6j69zryv98gfgvpkbz0";
-"gudea-0.0.1"="5pp223vvpcdqm8ypnm1jpi46i9p04jcy";
-"gudea.doc-0.0.1"="gmn455nvhhpkr3l1rzgi2yx85y17djyv";
-"hacm-0.1"="jvhbypj31pcc0imgwlmzpv8nmb1n9dxk";
-"hacm.doc-0.1"="0dys4q83mfgxlwrz16fsm2cx2vgcn5ly";
-"hands-13293"="570kl4m7mximvq87lfqa6fim30hmjjqz";
-"heuristica-1.092"="9y69nm9nw275afi7qzdlm6rr207rq1xd";
-"heuristica.doc-1.092"="kyhkr5x04gs4k2pqgnhysgdg9wk96s1h";
-"hfbright-29349"="j8vk71r5c8iyhfmfwqspj1c4iczl2p0f";
-"hfbright.doc-29349"="wqqxw523sh1yjl0hnh31902wap7xcjwm";
-"hfoldsty-1.15"="79zmah1m2xg56m7cvfybzw68kbfcf5c5";
-"hfoldsty.doc-1.15"="16gmfqd9kwg0isf4wp1nlndfwn5132ph";
-"hfoldsty.source-1.15"="vyly65j4d7wl49gmm8wgpxrnv1s2ygq2";
-"hindmadurai-0.0.1"="p51ilgj92map420hac4c2xhwzdw46jsj";
-"hindmadurai.doc-0.0.1"="9gpq48c0l768kmppj58fl6865sbjlhvz";
-"ibarra-55820"="zm9m981v0x0mppmcr64fhnk22qr0dn40";
-"ibarra.doc-55820"="h9cndsg3q17n275ah59cf93m1is22ad8";
-"ifsym-24868"="qy3w8h8slb44vg4s7q7ddb9db2fd9s06";
-"ifsym.doc-24868"="wpnp4ykxz7qa1ycwzkfpp5sjrs49np12";
-"imfellenglish-38547"="y1vkapnwlqxwb3via4yhpszgfmlyqa9q";
-"imfellenglish.doc-38547"="g7r6rv584d412gqassqba30jfg3i1490";
-"inconsolata-1.121"="wk0j1458yhq5r1zl03qlb3gbzm0dwfb3";
-"inconsolata.doc-1.121"="iyjsfc6sgi4g6k3vljlmdjr6arvm09bn";
-"initials-54080"="sd0v18xidrmnllf1ihmgk02jz3v2qw8j";
-"initials.doc-54080"="6nhvprdk8nd8gxmhq2hb8s41rpjwmv4g";
-"inriafonts-1.0"="v2z21gr8glh8557carc8405d39h9yxyq";
-"inriafonts.doc-1.0"="dq2aix14cqch32dywqyka5ci8qn31ayw";
-"inter-57213"="217klka90d7inpzwvjv0cmrfrmgylpjs";
-"inter.doc-57213"="a2rnff5s05lc06k48mcidc1biyczvnyf";
-"ipaex-type1-0.5"="pzqc88hkzspswvgps1bswsn6khablb87";
-"ipaex-type1.doc-0.5"="xls1iggs58i1mnpc79fp15v1f1i59h3y";
-"iwona-0.995b"="l8pylg2zq5pvxs7czq17b3v1xpar4qkr";
-"iwona.doc-0.995b"="piyd7fk40bqwdb3fxshkcwwrdi8gra32";
-"jablantile-16364"="7fh0mnp320r5b8740vs3z19dg1l0i4ds";
-"jablantile.doc-16364"="yml29hq7xcawh3zkd6b32dbsk0aj024q";
-"jamtimes-1.12"="mdyyd5fy4hhi74rpc5hb7bmrxwdsk9k9";
-"jamtimes.doc-1.12"="c9849k8v23lrfrchf00yvrvq5q7g1gq0";
-"josefin-57152"="18lrkgv2giwpm43g71ygmd77nr4s4df4";
-"josefin.doc-57152"="zg0p38v21kscdcr20xn6g4a4vx4r7ylc";
-"junicode-1.0.2"="2vg9bfcpawwij52yxai93fb276v351wy";
-"junicode.doc-1.0.2"="49dyn91fjdhs7yzc6j7y9ihnxkc9wpml";
-"kixfont-18488"="b9z3zajxsqs84zh5k15rx3jgkwwgwa40";
-"kixfont.doc-18488"="xp8ai67z856fmkzcssavksidg7n7j2yj";
-"kpfonts-3.33"="rsl5v8zsm8pblyjryw3f14svxjzhnchm";
-"kpfonts.doc-3.33"="rr7q8ww1nkpzqy29xmxhsyizszf59mqx";
-"kpfonts.source-3.33"="448xjy1djbz9l9wbhmq7r6fpgvsn9dyy";
-"kpfonts-otf-0.35"="iyczbphywkcslakdz2cma4q1mqiy4b45";
-"kpfonts-otf.doc-0.35"="kdlysi6gmavm0mvaxdj50sqq65kya2l5";
-"kurier-0.995b"="dadp8vkzvblj60424k75bchravcr0338";
-"kurier.doc-0.995b"="a4hw3w7qg492qnf4kivjsdfxqyrq669b";
-"lato-3.3"="5cl837pwnp1zd7h8w5j7cwqpvf6pmik6";
-"lato.doc-3.3"="fjxgmfdin3rrl6dn338f9ss9729napxr";
-"lexend-1.1.0.70"="5hrva48vpgfqxym4wb3ykq8czk8gkvhs";
-"lexend.doc-1.1.0.70"="zc8ra5shn7nhy6k1rvapfmi35h35jnc1";
-"lfb-1.0"="kqspj6w9i4bzbxcngqdfk8rnw33j0yyd";
-"lfb.doc-1.0"="ikbhi6ahzxlplvizphmpimf9ah2ninqg";
-"libertine-5.3.0"="xs46n4q5hv8n321ai81358spg2r3y6n6";
-"libertine.doc-5.3.0"="jlnf3pmkj1yxhgfppdxhrv5qn9lsivg9";
-"fontaxes-1.0e"="27hpaxcvnnw00g8g74snij3pzssk1xa2";
-"fontaxes.doc-1.0e"="39pckgyrm5w4nj3z5l4vl7ypizxbn7k9";
-"fontaxes.source-1.0e"="4cgxjx83a87dpmandkb36j4pjvmypvg7";
-"mweights-53520"="6rwqdlv6x82pskdga8yzzz61yfxgvzpq";
-"mweights.doc-53520"="zkki0s268s1a23zm962ymbxl3gi7mzix";
-"xkeyval-2.8"="42rn633ggns36f6cxy4alii7mspfq0b2";
-"xkeyval.doc-2.8"="sa7qsydnwsl5s5yr0gdnmiv125j1163y";
-"xkeyval.source-2.8"="wsj7l9nya5753423srdk6dxzza8b0mf5";
-"libertinegc-1.01"="jmz5hjyld04g175sgg322lrlazcbmbz7";
-"libertinegc.doc-1.01"="qf8q9c30ljq44kqh8l855xdkq9i4w857";
-"libertinus-0.02"="hvyjkdpyb4i742jrp38jvihki874ynzy";
-"libertinus.doc-0.02"="00qv91migs6yq98sq8yzvgxyn2nfmnf2";
-"libertinus-fonts-7.040"="ms3pd16y9m57qr0cy7wj0diyvp0xczss";
-"libertinus-fonts.doc-7.040"="8binqqhkclivajvchkv0abz7k83d5v8f";
-"libertinus-otf-0.28"="a94l5s996h8qdf7wa2rvsjp04cr7d4yd";
-"libertinus-otf.doc-0.28"="sql0fnsk6k97vsx22smb32crqmn8c2vq";
-"libertinus-type1-57754"="alnbi8kk5q97jp3lhlvp3ydj1c2h6fsz";
-"libertinus-type1.doc-57754"="135mvv91v5v6p1c33q5nff38716g62fl";
-"libertinust1math-1.2.2"="pc8wfs8px04bnsgwkhbi46gs6synmvs1";
-"libertinust1math.doc-1.2.2"="v094dws0m9cv01iamdpirrwlvmdsf665";
-"librebaskerville-56018"="n7ld6vxki5zh7svbpgzl239y3gb9h2xn";
-"librebaskerville.doc-56018"="31pv0p1g3za88z7br5zx2jfhvpaij6m7";
-"librebodoni-39375"="1znd7g37rmm1qsv35dd9kvkmkfj4d3w5";
-"librebodoni.doc-39375"="hzihx71p9ggdp2pxrjvck7lhx2mrgdmj";
-"librecaslon-56003"="nd68dagix0k3fnssygsn1ghb6nf15qfn";
-"librecaslon.doc-56003"="sv1i8sfnqd073n6vrlajw509azn32yhf";
-"librefranklin-54512"="rb1fxs903zc5nnvhkza1dy8wn3j5j9ik";
-"librefranklin.doc-54512"="25nnnvx6gqjkbfl8bp0fiqdkr74dqb61";
-"libris-1.007"="fi5cn5ag6zgprgc0iqgk4iln6kb8knv8";
-"libris.doc-1.007"="82p29lh7cbavrshdx4s0pvqpgbvb21d4";
-"libris.source-1.007"="gd4aiv3pxy5as8cwfy9m1f4a8jp7v6d1";
-"linearA-15878"="fs5s95s31qczmlr0m3dk16c7gl4kpn3z";
-"linearA.doc-15878"="6b5jz6pfmv5f88gkwj5642jvd35ga3gm";
-"linearA.source-15878"="zdfpl9gwgrxwvs9ymj3vngfxdc23vv0q";
-"linguisticspro-54512"="034xndbaadw3kssnpam8sxmh3cx38c7z";
-"linguisticspro.doc-54512"="pc4glvhi0xsy43qx70c91byyc7f3m1n4";
-"lobster2-56019"="zn660hm4k3qcf6qixrian248zngnl70j";
-"lobster2.doc-56019"="q66bcdlbc5zb7pgq1wmpmrbc49ld5y5x";
-"logix-1.08"="6xhmmnnzkiyxvghzbrcky60885m7fwr7";
-"logix.doc-1.08"="4rgj31zlh52nd4za1q4vxz1vx15cfv61";
-"lxfonts-2.0b"="3s303f06r7561x3x38sy3c9nr80x8gdq";
-"lxfonts.doc-2.0b"="swgvazf325j99kjrcb94r8611fs6jmqv";
-"lxfonts.source-2.0b"="sxn1hl96bsg6ai8fafskxj8palg8vpk7";
-"ly1-47848"="ry7x1505pv1szprb9fi2x21s97m23ln2";
-"ly1.doc-47848"="iw3amhkw5vjcmrq43cwqg653nyc3ks1p";
-"magra-0.0.1"="wrcmmmbnb3h0pm8k76pz3q6qck3wiafg";
-"magra.doc-0.0.1"="m5giv23xgkx0h84a5j90jzxv7mlaihbl";
-"marcellus-56016"="qp4g991zc71fcii4mj70rw8ywkjmg14b";
-"marcellus.doc-56016"="8v3dhdlkq24vykk6lq67nfn7ppmxrkvk";
-"mathabx-15878"="qgy1qqn1bk43nk938d7bvbyj75v4fz57";
-"mathabx.doc-15878"="q0n88v61h3bqf0vvldd1lb03d6i1z8mc";
-"mathabx-type1-21129"="z96jirmwabbav354qlyphhjvxnsgjqxl";
-"mathabx-type1.doc-21129"="yq8n84cpw8kqvqivham4pqxq1740z36w";
-"mathdesign-2.31"="30x7w3a7v1654a9n5mcj5kdak8i2qxw2";
-"mathdesign.doc-2.31"="sgp7bi4m5480jvsdj9n2pq933cfjkiqr";
-"mdputu-1.2"="6wr48jgiyfprwwrla53qshm2817zrmm2";
-"mdputu.doc-1.2"="9lfn1jh6370mv6ic1gg36nlannbv73pf";
-"mdsymbol-0.5"="hjaz8ph3zrnl7x0545k3937yl5a0ghqh";
-"mdsymbol.doc-0.5"="g8m1964gq8gnn3cc3ij1iqhc4akwmc3q";
-"mdsymbol.source-0.5"="7hy2zpaw41c46i7kd4m65lhzgbpkn5xv";
-"merriweather-56365"="112s3drbic1y4b29why5dqk8y1nsby6d";
-"merriweather.doc-56365"="16sp2c11hyllpc2fn55yim0rdp9p7kyr";
-"miama-1.1"="w96rjiv6fhqv14lfl1w4rvlcy2z7x6dc";
-"miama.doc-1.1"="hs6gq60jbv0mvvfznhfrzz0g6s2l3rrp";
-"miama.source-1.1"="4khxj1rk9xzil5nlp19v7a9rxf9npq99";
-"mintspirit-32069"="wc4wyi1dfc7ql5sdcyycyqxjfir4g97r";
-"mintspirit.doc-32069"="w1ld9009591p4inkky5jfppjaiy0ja8s";
-"missaali-2.0"="96x2m5d8absim9r2hlmliy779s9vs9j5";
-"missaali.doc-2.0"="shxd513vi0qhbb9ddlhfamg6z21qi98z";
-"mlmodern-1.2"="0vrr6vqzzsiajmpr47dyxhcmicacwq1f";
-"mlmodern.doc-1.2"="skad815qs9a4na4hx1ikl9ms9g7y1sw3";
-"mnsymbol-1.4"="gmjs2ra3yb01bxw90gjdri3p6n7kbc6l";
-"mnsymbol.doc-1.4"="7ngazrr147x9gdadm651fv9hjr1f87i2";
-"mnsymbol.source-1.4"="7bf82bljx9w783jg3kibc5rn2l9j0ym2";
-"montserrat-1.03"="0jfqmisw57gkaz06kv0iq8ncfn9cj5hw";
-"montserrat.doc-1.03"="0hb2s3xrsawiza8qn21hwkji1sxxi4xz";
-"mpfonts-54512"="ar90vvz924ppxyfbqa3g7j7q9l4ddah2";
-"mpfonts.doc-54512"="kyij6dba277ysdwyd74bfybqi2bgm436";
-"newcomputermodern-3.02"="7bc96w8rmrrw01hsyf0xwvcywmvashmc";
-"newcomputermodern.doc-3.02"="jlhyrg5qd8c33jsb7899czmn9bp22cnm";
-"newpx-1.414"="dhhrp4ylaz6xk7z0n19lbp5506nkx7zb";
-"newpx.doc-1.414"="3kvjf9vzmbhmcsrkcqzp9yk6v32l9wgq";
-"newtx-1.642"="wg2j8h9igz4ch532q4csazvs412ymsjb";
-"newtx.doc-1.642"="p8x17blpzh4xc50v0nwhjw3ax9wb3ic0";
-"kastrup-15878"="qdr5cacl37ans3zd5jlzwr2356xxgswy";
-"kastrup.doc-15878"="mvq3abnsjmzb3kv4c2z116apbzgfh2dw";
-"kastrup.source-15878"="13vj32k48f0ahs5694zrsvk953kxjrwc";
-"newtxsf-1.053"="hzxr78pc8bvqx1lmz5qqazaxnscw4zwz";
-"newtxsf.doc-1.053"="4yq9cdx50c88gi84l1cxilihs2xw88sw";
-"newtxtt-1.056"="chh34kv4xssw395m003j4pdnmw62b63v";
-"newtxtt.doc-1.056"="k4bq1vqqb394n6yx35qapgx846cp54lg";
-"niceframe-type1-44671"="0kr9sg5vnawjrd2aw8vbf8mg975sifl1";
-"niceframe-type1.doc-44671"="12bn96xfs68zy9sfxi5q67mnaqkl1v2a";
-"nimbus15-1.013"="9k2ck6b5lj3n5fjlpmwxs589mf9ph02y";
-"nimbus15.doc-1.013"="pb7vyh76yjs5ywb1hcwpxid9gzdq082q";
-"fontools-58747"="4y719xzq79r8h09i5x52s0l8kxa53p3x";
-"fontools.doc-58747"="kdk0snq2hqcmv6j9si7jkx55nf7q3ma7";
-"nkarta-0.2"="g55hn51ys8zd7in6c6z46mwva577s6qd";
-"nkarta.doc-0.2"="59na8icxp6l11jk6nsp53c1y5gqyjsff";
-"nkarta.source-0.2"="jqh4ghyi8ry5w9x909w3kscg9p6m1279";
-"noto-54512"="sx5x2lf2y4c0rxhzrqc6l8hdk29agykq";
-"noto.doc-54512"="ws089havhd1gi0rs7mvdh6nb0f1npbxl";
-"noto-emoji-2019-11-19-unicode12"="4hgmkcwhy0air6pw59331ydfxbjj0fxv";
-"noto-emoji.doc-2019-11-19-unicode12"="viyj6daza3fqvdsj101l75v32v9xkv8x";
-"notomath-1.02"="82i6a43z09zmn5rxgyxpwiakb1rxr4z6";
-"notomath.doc-1.02"="d1jm948b38gr7m3wfpdjhh7idf97p11v";
-"nunito-0.0.1"="0q3czq86802h415shhlbf4zchl8bh2ba";
-"nunito.doc-0.0.1"="w3sh4bxjvy1bs35lsf3iqgj9dynvcb82";
-"obnov-0.11"="49j5a74f298hw84np3ih4xd0hnh6r1wh";
-"obnov.doc-0.11"="m9c4z3ckj08ai2cdb3hhiv040y6n1bfl";
-"ocherokee-25689"="1fg65c5gpjsx8vv9vsdg8szagf1xmg6a";
-"ocherokee.doc-25689"="p9lx15xl112908b004y0y6nlfxzgam24";
-"ocr-b-20852"="q1id788vglvlc7lsfr35gvzf0xmgr22n";
-"ocr-b.doc-20852"="lgwx91waimda6cdr05fi2jdwh4x18fqf";
-"ocr-b-outline-20969"="b8hhnggqxzs8285f55ixpwcpd7hb2dym";
-"ocr-b-outline.doc-20969"="bl1m2hny1zvs3wy4i4pndd2vxq7jhd9j";
-"ocr-b-outline.source-20969"="pf5dql2llykwb6x5a2s3scg4kc5r2f77";
-"ogham-24876"="22q1nc2fd6vv7hr7l4iryxi5bp6hqfnb";
-"ogham.doc-24876"="awnlhhzp2ch289lpnwybhz1k3zqwqq5d";
-"oinuit-28668"="n4di43fhkw1zcmy9xgxn7g4wl23qinyi";
-"oinuit.doc-28668"="s5hi4bk5yc19fb5lhmnc2vvxpr3ahd2k";
-"oinuit.source-28668"="caij5pbyylnhlhx149kl2h5sj4qda57z";
-"old-arrows-2.0"="7s0s5g2vif8hkzj768a0zgg46xjh57y6";
-"old-arrows.doc-2.0"="n9ly98pmz304gymkiafs3fncs9qq29mb";
-"oldlatin-1.00"="dw53za52apri5agrh2jpxrw0qvnk1mbd";
-"oldlatin.doc-1.00"="ngf614psg11qa2gmda30c6an4f371lda";
-"oldstandard-2.6"="95xqbrjzizc2qhjaw30zi0x2h7w77cqm";
-"oldstandard.doc-2.6"="dmgzhqgqk0h11ix5y0gs4ci7r73cfawc";
-"opensans-2.2"="a68ghfiy4iiv9n6z78s956grswbdyf4k";
-"opensans.doc-2.2"="c70nwprgs35f2a7bvabdbsnmkayxyvd3";
-"orkhun-15878"="fmazxvhmc0r0m96ms6a234wj139g00iy";
-"orkhun.doc-15878"="mgamvmayvdi43vxfqmxgbgzfahpn3d2l";
-"oswald-57253"="rajfni01q60wwf2vjvahqhndykkjx8cj";
-"oswald.doc-57253"="qxvy0gzc4nz345qvg2k8441lh86jqc1g";
-"overlock-56079"="ml25rmi7bi6q1yag7sj91zjmq49rmznd";
-"overlock.doc-56079"="vcm3nk33hlydpv1yaz2gw9038mk6gbcz";
-"pacioli-24947"="ka7a174yd3q3mymkbfyqbi7hhzpbhgvv";
-"pacioli.doc-24947"="5pzk9mjcdlzcnxwfkba4hzn23bzlhfh9";
-"pacioli.source-24947"="wwvfswngg0rrng6f3xck0f4qyg5m3shk";
-"paratype-32859"="877hrpz9vdgw6hsi6zf9d44bwnqjd6cb";
-"paratype.doc-32859"="12a3wq98sk2sb66rd08sx3f3vqvyqsr3";
-"phaistos-1.0"="5vv58ibkgjmpih67p2qgm9vdiqh4ag6m";
-"phaistos.doc-1.0"="z69jyiz7nm44yg9qy5vfhrzwby903g3s";
-"phaistos.source-1.0"="clhmyfpd5l1zx29352smmnyhal3lpa5q";
-"phonetic-56468"="1ha5wc46jqc3r9ziq7wmx0va8svybyjk";
-"phonetic.doc-56468"="zyqpk97ipcmi1898h6dxc7vhynblwzqs";
-"pigpen-0.2"="d6rr06gpzr27134dqh8rv6h6g4i9hg4x";
-"pigpen.doc-0.2"="gqnp68lkhnnyh1ib0sa34cxjg52jj0rs";
-"playfair-56005"="k691vzvmarxn1d8fz2d5hkn177yr89df";
-"playfair.doc-56005"="931mlzpd1mp93dmwdlzfzf7na4cxaiyx";
-"plex-54512"="clbqiqsl3i6y337mlkrda8nk0wf15nsq";
-"plex.doc-54512"="yf6z2wd095cln6lcg885b8qx6grnkr1z";
-"plex-otf-0.07a"="2k3j1snsf3d414k4pjq56d9b1vn2vh1x";
-"plex-otf.doc-0.07a"="z6clw20q3nfwzn087f3c3ifc4g2yr4kp";
-"plimsoll-1"="di983hrdafxqnqf406bgrph743kslqmk";
-"plimsoll.doc-1"="9rz48f3k6b03lvd585g8g50vn6f8xz1p";
-"plimsoll.source-1"="11ypgr9wnihsggwp3jrwr93yf93hjfvj";
-"poiretone-56070"="isnd3cmsm0ps7dh40sjqiwa9vrpc1d19";
-"poiretone.doc-56070"="k2g9vk6snvf66n1g6x2d4hd2d1z6cghm";
-"poltawski-1.101"="ipqjw12syp38hj1pw4b9g03kx07l40vn";
-"poltawski.doc-1.101"="g3shi2lp499x96az1f77y5bf8mhrgzl2";
-"prodint-21893"="vgqm1rmgqqvn7d4akab3x7jqz89kb0hq";
-"prodint.doc-21893"="fclf35r9hmfq76bvxwz5df0q18zms1sm";
-"punk-27388"="1bqwz8g3apk49mhg7m63qsynrxjxg76x";
-"punk.doc-27388"="1gc59v1xvh9sls0nr2ypmifripdspd1l";
-"punk-latex-1.1"="i1gqgbivxd8yl1rwjbssf2g0ib9nvb57";
-"punk-latex.doc-1.1"="8nzibnm4247rapxb9kfkyv5i49w19ipk";
-"punknova-1.003"="0q3dx65cyb1kh2iwbs9if8p6943m3gw8";
-"punknova.doc-1.003"="hjlldk6yr4hjh4chwcxmzq761h1ygwnq";
-"pxtxalfa-1"="rapvsla1cgyinabn1w9cshpm3y5af13r";
-"pxtxalfa.doc-1"="fg8arijrsm7gc3liyf3036pj014w0243";
-"qualitype-54512"="g25g7rmvwsrn41da05wmx9r1qbzh2xaj";
-"qualitype.doc-54512"="nm2vc0k5x3h5vks67zqak7p1i0qd6bqi";
-"quattrocento-56020"="9avifkc1mi6q3ia38624gwkrazgpmsl7";
-"quattrocento.doc-56020"="cpq31smkrbm84d5cgchbrihjilvskc30";
-"raleway-1.4"="qyqkxw2r0kjdc5ccq6ixlsjgv75gcmhv";
-"raleway.doc-1.4"="kw13y1533fwj7lgjc986ydb97plij1vh";
-"recycle-15878"="4fgfdk09nzljd5a6vz52nvv8b23xk8rw";
-"recycle.doc-15878"="3wazkwncn9gh1lpcax4hb8x38jr6ynxd";
-"roboto-54512"="whybwc6p6bzqhwdafwnjkvn8grf2yrq4";
-"roboto.doc-54512"="85mmkpnfgwann7dxrzphg39hswnlpnqn";
-"romande-1.008-v7-sc"="v5sf9cqkvd7wmbrrb48dffi59m048kal";
-"romande.doc-1.008-v7-sc"="bf5a3jzcqr74l7qp2im80r9x73rk3asy";
-"romande.source-1.008-v7-sc"="g2p0didwlqqf9gsdzrhmh0f9543wdwwz";
-"rosario-2.1"="mhjqi8h40lfdhv9b0q1qzla4s577l0ky";
-"rosario.doc-2.1"="az8qmdmm2fsrwygfmp4rfklpbwnkzjqi";
-"rosario.source-2.1"="pyzgnc976vz8grb6dx3cwzkgxv2i11i8";
-"rsfso-1.02"="3n75qwpji7z995wb2r3dqwrszkw6m61m";
-"rsfso.doc-1.02"="vga3jyv3s730mgx97mqw92igvvypbyb4";
-"sansmathaccent-53628"="s26h8qfkc1qkh8afc3wj5wg8rxqzbc1w";
-"sansmathaccent.doc-53628"="4rvf51yh5fg1sfkr1arxqbdyf81i9ln7";
-"sansmathfonts-51356"="90f8gdxlqiqx6aw1nx0hfbmkrs6aw331";
-"sansmathfonts.doc-51356"="wcnhx85h99brrisdz8yb0m34mv5qsvd9";
-"sauter-2.4"="flw49y2l5355jpvq7f3q3vannwcfni3f";
-"sauterfonts-15878"="kciqmij0w173na214ix5yhngc18likch";
-"sauterfonts.doc-15878"="x2lc53r2wnwrjfainmngafdsg39zyf48";
-"sauterfonts.source-15878"="kfi5301zd7pwmnr1fhqc6kfni0nr5d4m";
-"scholax-1.030"="zjh09ryiii8704yvy0bvmjii3q2m4vxv";
-"scholax.doc-1.030"="hp453hjav1bj0an3a8a8gvz1grmq1c54";
-"schulschriften-4"="3g5c3l5mnpp3a6472ayj0iykriini807";
-"schulschriften.doc-4"="ad6v7vnksqfglwb18via23p45xm2hr81";
-"semaphor-18651"="rb37ln7zq51ck9k6g0wj1cx1q02x2i35";
-"semaphor.doc-18651"="5lc0796kh9slmk1hrm3720mcnqjlqrcv";
-"shobhika-1.05"="rcrfsl2fd8mq929xv6zjlk91hmwvw85c";
-"shobhika.doc-1.05"="cb72lp8n0xrj4gvfhzy6mvr4jz44m27g";
-"skull-0.1"="4nkkh74v0mlyyriyhqwgk4la8l3mjxhj";
-"skull.source-0.1"="szzd5b98j04aj4f4aq5av7fs7316156m";
-"sourcecodepro-2.7"="yx2x3lbn1mc24xx25b4vpq03rbazdby5";
-"sourcecodepro.doc-2.7"="vqwr6xly6p3yds1la5cdn3c0hi95q2xk";
-"sourcesanspro-2.8"="axl11355zgfdm0xgscjnks9i18smp49q";
-"sourcesanspro.doc-2.8"="iyk2jh81qg0bq9j0zi8g35mypd0zcll7";
-"sourceserifpro-1.4"="zxfp95p1ah6yv6n7p0bdsvnmrpm42kjl";
-"sourceserifpro.doc-1.4"="qg32lg4s8ba732ac5z3gzc6i7iy0mdls";
-"spectral-57296"="s16pqm20px7mjdqdvgq2ikifrbimcm83";
-"spectral.doc-57296"="zayb8fwvv08a4wbvvk5z3jmp0x6pb8sw";
-"starfont-1.2"="phdad9yy6nvcxi7ym1chdvz0vvb309ag";
-"starfont.doc-1.2"="96h183mv5rmxmnkgy6766519cz5nff6g";
-"staves-15878"="9vcnfl7q4czfhyl3zxadig3nzdxg900r";
-"staves.doc-15878"="rn25a0syl0d0n89jp09906y30679mr7v";
-"staves.source-15878"="2vby0srv43ikzb1br9wgnsyxmgqpfrv3";
-"step-2.0.5"="nr1cw7y05s41v9ndh46l6yi7g9j9ich4";
-"step.doc-2.0.5"="ym39n0yndkc213b0mckbwbvp9nwm8qk8";
-"stepgreek-3.0b1"="w7245whipp7l165zrl18q578bi9rmvc2";
-"stepgreek.doc-3.0b1"="h631y9sxkkq9wwj28z3cpk0h8307ksp8";
-"stickstoo-1.034"="1s3rabdgy9m5brnp0ldpinhsr7d1v6ay";
-"stickstoo.doc-1.034"="2ca34j220kgnmx9nmnvrm6wravidazhw";
-"stix-1.1.3"="sxfvkk30xb94rfby1kli4xny57xsbqv8";
-"stix.doc-1.1.3"="xa4z5gssrb74xsdc392ni8rww37c2phd";
-"stix.source-1.1.3"="m4csxq0wlzy246f1kgbd4n0sfgrcbnri";
-"stix2-otf-2.12"="ralamika1qnpmxphmgcx279l1nrr3ch7";
-"stix2-otf.doc-2.12"="2yzr1cj3l93phil3wnlww1iddz884f4n";
-"stix2-type1-2.0.2"="s0xh2qz3wrin8ajy6lzjb3bf1plw13v8";
-"stix2-type1.doc-2.0.2"="kw4qdl2zdnnsca05i25vdbai5ha61jsa";
-"stix2-type1.source-2.0.2"="yk64i2hkhmqirc9xcw9fkzf07909z1k0";
-"superiors-1.06"="gw1aw7hc05xzywylps60lzgwif3gli7i";
-"superiors.doc-1.06"="m2ppyah3wrk61cvq149bsvdgrjww94yk";
-"svrsymbols-2.0b"="wgq0gxpls40hwxlbxw65ykap0zkw8y1d";
-"svrsymbols.doc-2.0b"="na04gi2mhbqlxyp4jajs65vn9gx0rgc0";
-"svrsymbols.source-2.0b"="3f15gcxzd2rm4m95ikwvpnvil128i71h";
-"tapir-0.2"="sawmv4raa4l1x5sb5df85ds4l4w14ly6";
-"tapir.doc-0.2"="4kn8pfirjbny0k07r1vp1vqyb0r69rqi";
-"tempora-1.05"="b3l8kqm33s3f24smwljks341214ljsz8";
-"tempora.doc-1.05"="62ib93cvg5q0gvdi6bjv9xzg7x9q31jz";
-"tengwarscript-1.3.1"="krhlp4pdfk21rkn0bfm4ghg9sl6hh8qd";
-"tengwarscript.doc-1.3.1"="rj77kc9g6cpy4xnmn8gyl0c68wnrzirf";
-"tengwarscript.source-1.3.1"="8pkcc064pbw50jcn40hzzcrpkvd5hvn5";
-"tfrupee-1.02"="2srhr23mwajngahy1hcihhivix7x6af3";
-"tfrupee.doc-1.02"="pvmd0anqdv38a904hhafsr9mq5hy7f5d";
-"tfrupee.source-1.02"="sz4z2j5kzk9431pvdhj2l11b8qsw3mlv";
-"theanodidot-54512"="wq3wrhkk66z3q327fq4mdv0lw8wghm4d";
-"theanodidot.doc-54512"="6c7za0972a3x9cqa4gmj9c42bz9k7hqp";
-"theanomodern-54512"="2mv2fh328c75bffssj0l8dgdkaq519lv";
-"theanomodern.doc-54512"="qs48kz3hqbh0wv36m5ph30za13wmss3x";
-"theanooldstyle-54512"="ww6kab8p4jm1wsvlsn7hydl2fa1s3nnf";
-"theanooldstyle.doc-54512"="pn7xnn9dq4i2b1wdrn2qqzx7dx9cqrcz";
-"tinos-42882"="c1b84zg78hqp8fm15cgr59qrksqd5prp";
-"tinos.doc-42882"="09w8iyqc8538x1d7cm8jcwk1mkmv93vx";
-"tpslifonts-0.6"="6d6zngl99bgbzqidn4249bv3p3ykz5pb";
-"tpslifonts.doc-0.6"="64fr89dkcr0zzxcmshmhpczvbc4byp22";
-"tpslifonts.source-0.6"="0267nah6ffiwph29ay6cpfl9zqm4vgbh";
-"trajan-1.1"="j8dsrxip2s58sgw90hl98v2w9r106cz6";
-"trajan.doc-1.1"="kwiwf13cr6c6v10vd1irq5srl82kvl58";
-"trajan.source-1.1"="nm5fpl91wscxri9bgcvfhmyfqrryvdil";
-"twemoji-colr-0.5.1"="2vzfrpljxnijw6ds3z2a0ak3jgsccri8";
-"twemoji-colr.doc-0.5.1"="k6mjhjkxlrm0s7zjf49w36gk5cam45pq";
-"txfontsb-1.1.1"="f8012p25mf8n4zj4nkmgpvgf54jb9i52";
-"txfontsb.doc-1.1.1"="r3xzad7mqh97g9firmqvb57bn44xa8cf";
-"txfontsb.source-1.1.1"="4zypgg4dchni1zh8sx4wh4sb5fdh8x98";
-"txuprcal-1.00"="8yk9lvdxj1ap0lcnywllxhzdz8hplk78";
-"txuprcal.doc-1.00"="pmlz2hhjd7a2q3bdbz01yd61w3hf2i79";
-"typicons-2.0.7"="0mmcwr2xcx7hdb4yllndrzq7bxava3yb";
-"typicons.doc-2.0.7"="6bcmldiywvwfhknmdvpj8fdz0fmdizkp";
-"umtypewriter-001.002"="4k8n89mabkcc3pyc6vhj47hvxncz40zm";
-"universa-2.1"="1hdi5bjzg9w8ipll8d3hdjxr23adcg16";
-"universa.doc-2.1"="pxdcwsm75lji29nggdy53wv4y96ixqjh";
-"universa.source-2.1"="adayns5x3p33i2apy5q7582ahl9kr5wq";
-"universalis-33860"="fwhl8bzgbw53ka6j71zbpc2fxsb20896";
-"universalis.doc-33860"="4w17vpjjhk2wwmc4m6z2n67814fdlrdx";
-"uppunctlm-0.1"="snyyw4gj0736fqykkf94fhkp9d31ml9q";
-"uppunctlm.doc-0.1"="h6cblhxd6xb6nnp3szb0fwv1r7pdwg99";
-"urwchancal-1"="kk9r6rk48qqq9s8l4k42fgj6c84912bw";
-"urwchancal.doc-1"="z0p6cn21n3cxi4mjijy39z9hacfhkk5l";
-"venturisadf-1.005"="nnn3pq2sx0rayjhhsh2pyavkf7c4i7jw";
-"venturisadf.doc-1.005"="gjzclw11zah2cpmgjdpknflrfsaahq9h";
-"venturisadf.source-1.005"="6yz4vcq9mzzm52ca19kcvgj8fg7js28g";
-"wsuipa-25469"="h05k2wwr89dak3ifgvjgjw0zyvlkyyjz";
-"wsuipa.doc-25469"="nrlpxbqgccmccncqa3xx8l3zlbalkcvm";
-"xcharter-1.216"="dhlax11idmxycjh9lcjdg2x14a48yi9c";
-"xcharter.doc-1.216"="nfc4a592qy84xh3rl76yzarihix6l8gk";
-"xits-1.302"="p0s2ycdklzp3nwp8ix7zfq30hp2wfgwj";
-"xits.doc-1.302"="avh0lr47xhdnfqpcxbjxlcp9q7q1mi59";
-"yfonts-1.4"="i2aacxlhsnkbgfb9i8p0sdwb57qv6gb6";
-"yfonts.doc-1.4"="lw30qiavn4l0ikg3hckps3swjch3wd6s";
-"yfonts.source-1.4"="rcvacgid92pk4m2mqy158gr20jax4835";
-"yfonts-t1-1.0"="b1j2a6sc3npjli2k0y02fgl87k5kq7xb";
-"yfonts-t1.doc-1.0"="say9m82dcmna0f9g1h4ng5ihjkpzwh00";
-"yinit-otf-1.0"="8dd8yhd7fy5wvsl9qnshkvm69g9wx1fj";
-"yinit-otf.doc-1.0"="7rhfxzlfdwl3g0bdlxwsyzzf83f24xx2";
-"zlmtt-1.02"="46x1539n1kc2jqywf2jndg9dzq3zxrvr";
-"zlmtt.doc-1.02"="3yk18czbymf6kynf2ir44b8bh9jyirfj";
-"avantgar-31835"="6x48hsg7wdw4qmf0pyqvb7zmqpn6izqr";
-"bookman-31835"="r9bkd40g0hwcbjhfa2n637i0qyk6ahyf";
-"charter-15878"="1iha6fak3i1mwa6pa6fps80vzik65a4c";
-"charter.doc-15878"="fvn827jh9gfdbs6gnnm83s2yialawz7l";
-"cm-super-15878"="wqamwks565frzn4nf6pq9skasdx5jbmy";
-"cm-super.doc-15878"="246p6vn62gq68n7bnxh1iz258gn3wi85";
-"cmextra-57866"="kqywbrwmg5w0xj0r0qffh1y9z9hlvlaf";
-"courier-35058"="f3rhv0jy01gfhn1rdnai7693y2xy90d4";
-"euro-1.1"="mpzw5yyqlyb864cqx4wczdnbln4sv4b2";
-"euro.doc-1.1"="82srlwf5vlsmfpwn0l7c7j4wd9fmvbqa";
-"euro.source-1.1"="v5w06s1hfni20mg1flnwgpkr5m49vqvf";
-"euro-ce-3.0b"="csi0m4qrppaz6n7pj6kn8ph63d8m24va";
-"euro-ce.doc-3.0b"="dw6qxpnmbr27k6vzv9gx9i06wgc28rhq";
-"eurosym-1.4-subrfix"="rqclyanzsn8f4ylbhvh9garshg0fzf3w";
-"eurosym.doc-1.4-subrfix"="7abbwvvm5riykgm6mq7hhjxd2gz0ljz3";
-"fpl-1.003"="m1b15fm8wc0lm0x9mbryz69x2dkczkmp";
-"fpl.doc-1.003"="bjc01f8vs5f3qj07my033203rn1na269";
-"fpl.source-1.003"="6rv41z6xg652nkli0flj3102na8k7k0d";
-"helvetic-31835"="q4xi3bdpp7195sqlkbfgnnccq879v86f";
-"marvosym-2.2a"="pn8zahcj87ab0rgiz9inp97randgz890";
-"marvosym.doc-2.2a"="wqd4660d0s4kxgasi3gv09fbjnbqmwsq";
-"marvosym.source-2.2a"="zygnnzkxxsfxvhnkvkq4v6gis1k7lc6h";
-"mathpazo-1.003"="d950j9d7ywwx0air9b1awwxr0a7486qz";
-"mathpazo.doc-1.003"="zna30q1bzd255h9yjnf35ldaiql0b142";
-"mathpazo.source-1.003"="0ly3fqq1s2sf0zva0jx3llbwkqjm0jv4";
-"palatino-31835"="xp5kg58y1lzsqba3bv9dz4f8rqi3xysd";
-"ncntrsbk-31835"="r2sgybivplsnj8iqwd62wr0ixhlc8x13";
-"pxfonts-15878"="9lxhr2mzcx8qkbhqgqx3y8a4pyhfad5a";
-"pxfonts.doc-15878"="q0zqikbb5d4d8wma6xspga1k20bjx8dz";
-"rsfs-15878"="c6wq6zd58x1dqi2l6p4ljkj3p30lfh1y";
-"rsfs.doc-15878"="2rq51dizzivym4mjl4x7lhw7mg6xmcgy";
-"tex-gyre-2.501"="bh1inc34f90vb7wh0r9drdjalhwa71cw";
-"tex-gyre.doc-2.501"="8mvblk061marhxqwf21jssgpn9mgvqs2";
-"tex-gyre.source-2.501"="lqv1gkn02k8yr5n4c3h80sq30f9iggxf";
-"tex-gyre-math-41264"="z84v3wzsjwjx7b6wnwnpqmz7xy5v2bic";
-"tex-gyre-math.doc-41264"="41g7sn49g1kxa1dmy5vrv0fzk3rd4915";
-"tex-gyre-math.source-41264"="0wkvmjwxy9ws1h9j1rn0j57dah6z9jvm";
-"times-35058"="jjlr4lksbyjb8z2v21yy9ig0w6x246vk";
-"tipa-1.3"="h92fnvz5cv34vdyrpq52pn79z9lq6s0l";
-"tipa.doc-1.3"="s923q6n8h73f74y77cf171xj9w3mrd69";
-"txfonts-15878"="5fbs9mb86nll7k3j9d37p0bfa08b8nb1";
-"txfonts.doc-15878"="80fli8zzv88yh6rbv99dzsihxbrhmxkp";
-"utopia-15878"="cq5h07i2v6n1d5l4x2gjb0qn7594w5f9";
-"utopia.doc-15878"="sla3qhf9ks0020wq82iv1d3mivpbx79v";
-"wasy-2.5"="04vral6cxg9d9yqvm6b1hypgybrasbpc";
-"wasy.doc-2.5"="04z8v3n1qqsig0yg0qnisbrly6zkf2gw";
-"wasy-type1-001.002"="9nrxjm30l4lw800p9vq7kzw7fiviybsv";
-"wasy-type1.doc-001.002"="zbifgs1xxa0nkggrf3yk25pkyxa82hdf";
-"wasysym-2.4"="s0vrrk3zl383akayli6rnqma3r3xbqih";
-"wasysym.doc-2.4"="pvkpxwgdwjhqilk6lnvkzwhf8srbnyhl";
-"wasysym.source-2.4"="y43dlzdnavkbazaq47hcm1dympkwqiya";
-"zapfchan-31835"="4saylq91v4il4ch3cp3lw7dv8x6sf296";
-"accfonts-0.25"="vnff63f9g4z5bsgrila75lr6lhdl3jhn";
-"accfonts.doc-0.25"="5v97adjwkwxpy4dgw6qiankxfrlz67ab";
-"afm2pl-54074"="vpay128xrpp8jkhyz6kjah0r4vgm2d4y";
-"afm2pl.doc-54074"="4kms0bi8801giwdiyk5d0l7q0rdsvqi0";
-"albatross-0.3.0"="r8krwh8gj7d1gri6hqb7llqf99l63yr8";
-"albatross.doc-0.3.0"="mndw3kz8ghb7ld2hx8ac84y4b4zi14q0";
-"albatross.source-0.3.0"="ja07276rkc6zbfj9m88gmvrq4l4gwfpi";
-"dosepsbin-1.2"="f00pl9rcgapb03h76g4578za2p0awqh9";
-"dosepsbin.doc-1.2"="41pqpdppqi9658cacc0zhg72cp1pa00x";
-"dosepsbin.source-1.2"="0g1nbmyry93ikcgqhcyg48agnabnzpsk";
-"dvipsconfig-1.6"="llmyk9rhvxs90j3jbjrqz76dxxvzdyp4";
-"epstopdf-2.28"="45cbq50lfbqnlmfp19v43ipzk8pv1jrg";
-"epstopdf.doc-2.28"="ffp11ppmlcb9ri1jdmfjwnaf226j4icd";
-"fontinst-1.933"="4ybgkvxvi1xy6jyw9cc8w3c51kmsmbd6";
-"fontinst.doc-1.933"="az11s0n9q3s68v02y4h2hx00fx8r5hxd";
-"fontinst.source-1.933"="cvbp2ml5kiq35qjnyzbpi8p7h1n5m2l6";
-"fontware.doc-57972"="r20lpx0dy3lc7lrz7dzdsyid5h40j648";
-"lcdftypetools.doc-52851"="c6agyhm6yaqg7gfnahfy124cdkln32cl";
-"metatype1.source-0.56"="infq9kahz9ljr5kk338xbww0g4ifg8cq";
-"mf2pt1-2.6"="c0pp9hwb6xn5ka9is576ml3cy7dkliff";
-"mf2pt1.doc-2.6"="ml4dcrc2qy0d6wkdqf0gg60719hcm3a1";
-"ps2eps-1.68"="ja294cdv9aagllqxjbckv50b13swxlvj";
-"ps2eps.doc-1.68"="00q5228fgcsw6rbadprynz6zdjc6y2j6";
-"ps2pk.doc-52851"="k23d42q6071yrh1jnzxdw7yx19nbk5ac";
-"psutils-p17"="g8ci3q98i9cvpw1s7l3mqsv39wqx3gac";
-"psutils.doc-p17"="6zkafw71fx43y9y5ywycmclwldd3skiw";
-"t1utils.doc-57972"="wp2nq73hxfpn17h4m322i0czyxq7616g";
-"ttfutils-57972"="hzj3dljvfr9ypzpjgpwxadxf225yi8zj";
-"ttfutils.doc-57972"="klki66wy23byskpncy19gax2ycsp1h6s";
-"aleph.doc-57972"="lrnjqxzdjxysc9wd9kr62alr4pbz93gx";
-"lambda-45756"="ykxajgkmkbqp7l79c4bcm5qg4xnyilxp";
-"antomega-0.8"="jxriw18jifvf24fz8nqql5izp67p8z5a";
-"antomega.doc-0.8"="q9jb5ks7gfxg5gjhkpng5bl0wwbwp2ph";
-"antomega.source-0.8"="l2gs7sapppwxiy712i8vkwfmmc96ch1s";
-"omega-33046"="0v7wvg0vkrwbarcxfnp8k6w09j86y1pv";
-"omega.doc-33046"="zily3hjd30g14zrvj67hdp8nkxk9l5g2";
-"edmac-3.17"="29h8y4lna3sv0k7wqmbgrb0mvdxwz330";
-"edmac.doc-3.17"="il4k6vswcqp00005n0084nf99bwxp809";
-"edmac.source-3.17"="90wdkd3rhm8ymi2w9hb64acsy2bzqgg6";
-"eplain-3.11"="qn75j5ylrpq7n758wgspr9bgisd8bnlz";
-"eplain.doc-3.11"="81yx3sj0nzw7l8q0xxf2cyqkvipfcg9m";
-"eplain.source-3.11"="fn1f737csi8474xf9dis8azwbh3478sq";
-"jadetex-3.13"="nzij63zrphdvv457fn1b7yl1cghrig5d";
-"jadetex.doc-3.13"="ix7992xnb7xb1789n6d48dv98imfc4m2";
-"jadetex.source-3.13"="3716mhagkrr60rjj9whznfh3v5qwvyv9";
-"cyrillic-47350"="zax5fp5a3p2zd3bhbpng70sydjxm9i1p";
-"cyrillic.doc-47350"="3risjsh9kgr6pk9d0f082a5ipq1827f9";
-"cyrillic.source-47350"="cmq6669b4zjhvhxn0lxq35h4b606yhkb";
-"cyrillic-bin-53559"="5mgqkf2kgqwx6fpdcvc8v99y6lc2cc2x";
-"cyrillic-bin.doc-53559"="hc8x4l1yd2cjqzvjdhsg3jbz8xnmq1gc";
-"passivetex-15878"="arr43134jllipw1jl9cbrgnnk1gav4d9";
-"ulem-53365"="d8shv0p8kmjd0rii3qljds7bd4jia6c1";
-"ulem.doc-53365"="3sdwrmm0gj0h8qq3ynarqf6vmk46v623";
-"lollipop-1.07"="c71n12rvjhafkq26bca7q7hxjy5b9xdv";
-"lollipop.doc-1.07"="18wdsl5kq7xwsqhr6v6ldwz66b8xk60z";
-"mltex-2.2"="kkc5ssb6rd3f4kig16sc30npjayw4ab2";
-"mltex.doc-2.2"="qqr7ia4wp66zgasb8sm0bd0qclw6zn7l";
-"mxedruli-3.3c"="f866q8w776cr7k7mxll72va7zb0avsl3";
-"mxedruli.doc-3.3c"="vhcvl3k5lzb1f0g0ghz1rf3cnsy0cp58";
-"omegaware.doc-57972"="xb4bkq29x4n2sv97bkk1kkqm20w7qxcx";
-"otibet-45777"="66pn5bmsfw3d7l1prcr8p5v6w93lqfrm";
-"otibet.doc-45777"="i308lrxhgqi1gpsh5b5961xisbb9i3si";
-"otibet.source-45777"="hspwgiv9bs4ncmy1yi02jw8ghw2lxcpm";
-"psizzl-0.35"="qx0mhll90g0l0aqzfsjqbn43gxfincyp";
-"psizzl.doc-0.35"="pd8v22iq76j5gkkv9k286yz9i71j8xcn";
-"psizzl.source-0.35"="9i1m36bp80bif8k74q7572j311xxbjlq";
-"startex-1.04"="8fn0wix7vb3xqi2b123z0xlxfvszfbfm";
-"startex.doc-1.04"="mp7rx9aha0622yfrpnm1w2f5pij89nim";
-"startex.source-1.04"="x6bhcd76532n0sfy3cs74whhyw6gy3p3";
-"texsis-2.18"="0mlgxg5a7q80hvpigvz6sl2f6lnkfmls";
-"texsis.doc-2.18"="wawynbj4gxlxbcg8wddrwdlicnlhia14";
-"xmltex-0.8"="0i9h1jakwdh439bi4wq5i4mzfcgmyd8p";
-"xmltex.doc-0.8"="7xl5q081558wnfdyb2r225kckb0wd32x";
-"xmltexconfig-45845"="bm9ibaf0skn5g3ykwpn8gyg8hr80v59v";
-"bartel-chess-fonts-20619"="2mdy450109a2lz95qv50y6wxhhif4nr5";
-"bartel-chess-fonts.doc-20619"="xj41i6y3ssxdpqy3j60pdx2scsf3qx35";
-"chess-1.2"="j9hxdp5kz4dv6wwgy6azrw6yjhdq7384";
-"chess.doc-1.2"="n9xxs3zgzz1vhl7y1d8qxk4cj8fglhpx";
-"chess-problem-diagrams-1.15"="yiqgdwhfqypmf5i21s0r48614jzl16gi";
-"chess-problem-diagrams.doc-1.15"="aw911cwfw6nix4s2597w1nxa5sb7gf1j";
-"chess-problem-diagrams.source-1.15"="4jflmd6p2dxlh63dmc4d96c0qga3hcgk";
-"chessboard-1.9"="366wmw6jypbcg0dd3p6blwf1rzja917a";
-"chessboard.doc-1.9"="khnp39nrlnmca5sdy0q2n7f1gr0f3wpj";
-"chessboard.source-1.9"="9hi3xxi5iablrhcpkrc7gwa0axwmbipc";
-"chessfss-1.2a"="is60vi3pamq0qzj8pw0jvj4prvgbzxp2";
-"chessfss.doc-1.2a"="1ia29r7y1ja9d5hx7z17bk0qw7lgz2mf";
-"chessfss.source-1.2a"="r4dzyg9nx44ajf01kbj0qyfg2r4dawc5";
-"crossword-1.10"="468f516bid782g4626jqaiz2f4mjbrba";
-"crossword.doc-1.10"="p13jlddsa4j9mv6vw93hdaf1qswly7l5";
-"crossword.source-1.10"="ya7v7fhf9fykzh3lvl4v0cl1zrjrjyfa";
-"crosswrd-3.0"="66h0iyrwlpkjnasfa6yrc9wsia5cabj6";
-"crosswrd.doc-3.0"="2zik63fs6fqan2z5nxhwz081zpxg04y8";
-"crosswrd.source-3.0"="mi1kqgw3qcy4bj60pz8wl6ym6rf1i8z9";
-"egameps-1.1"="i50d5ijmgapcxf1g1zp7gzv6llx9m68k";
-"egameps.doc-1.1"="8rz7w6n2ip64xgs7i4qrvgc14q1z4p5c";
-"gamebook-1.0"="wnylf38d512bq82hi5jwsf9gxdlb9gai";
-"gamebook.doc-1.0"="f7p5nzs88ps42vwnhcph7vd36s5xfrxg";
-"gamebook.source-1.0"="hgbz9v0wg5kni2lc43yb179b8xqh8mmr";
-"go-28628"="an0cdspxjbbirkz0isbyvknics2pmkmg";
-"go.doc-28628"="17frpsmqhyai4y23xb2zm9qsl18xmynf";
-"go.source-28628"="lw82s14fw0y1yfdhvmmhwy0msyawbcal";
-"hanoi-20120101"="ini1mf0dqm44vabqlqqiw52wpcx3qimh";
-"havannah-36348"="ypcxnwirfyjp28wypyz8gp6zysb26cn7";
-"havannah.doc-36348"="4spiw588y9cw8vvr2b81qp0q61kfbjjf";
-"havannah.source-36348"="jkbnv839cn0i9dnl2v0v9djp630cdzdk";
-"hexgame-1.0"="w9isbb0mqra4kkg0cflryikhm172b7yb";
-"hexgame.doc-1.0"="5xr1vlivrwzhk0zrb2ri8lfc5n1i3zcq";
-"hmtrump-1.2a"="k259b7jj37dzjaavs8f89x26h73sjcgz";
-"hmtrump.doc-1.2a"="5h45jrv7friz8k0nw4s29gmqifnc4q4k";
-"horoscop-1.01"="bmr14l8aq6wrxs3lf5ic3rfxr72krhsn";
-"horoscop.doc-1.01"="s4rhpszv9k8ayg2p734s5xhqi8kj7l9n";
-"horoscop.source-1.01"="1lxpnardb0sagmna2g9yxmkzr51whr5s";
-"jigsaw-0.1a"="vgmyhbyk2w98cw1ib5kfipsvnppmzdfk";
-"jigsaw.doc-0.1a"="wkl0n9cdf2bqamgwk8kw0b7cggfkjkmz";
-"labyrinth-1.0"="yafwn22imcs3827ilqkwh5kggfsvsk0s";
-"labyrinth.doc-1.0"="xm6sjrs773g8l7x04m6k16a8vzb8nfd4";
-"logicpuzzle-2.5"="7ynzg0ycgp17rqxf4wv3vkxbkwwyh9c3";
-"logicpuzzle.doc-2.5"="snzhcidhpnkjwbrb25lb9g18bc13bl5w";
-"musikui-1"="888sbpw1xvg39606w7xl7qy1f32n9vpc";
-"musikui.doc-1"="v9fa4l7bl6d4dcvcqz6nbpmz3js0jbvm";
-"nimsticks-1.1"="7vlx62bxfwrjva5gw3ghli91hk34lfn8";
-"nimsticks.doc-1.1"="ajzb6jb0whvhbdr9xcgd4mzs6x724da1";
-"nimsticks.source-1.1"="yw4h4jrh1flb6bgxv9287ckd01pc60cp";
-"onedown-1.4"="v4434vhkwq56himsgwymcjjm3812cn94";
-"onedown.doc-1.4"="sbz59m5fjy7gbgk8fgp3j2f8pj5dkq4j";
-"onedown.source-1.4"="a57mbsn5qc5qx4swvysy5m82qvnzcdyh";
-"othello-15878"="fp9s19jk73qrplyhjnicv8q066a98jli";
-"othello.doc-15878"="q1dqp0zdi9ixxchxnlk60zwfyszbx0ry";
-"othelloboard-1.2"="ymadc4vpkzc0lkl2ws340jf5vzjiq1i9";
-"othelloboard.doc-1.2"="1vi1lc9c75r9qqrhmjp2j7d7p94asbv6";
-"pas-crosswords-1.03"="90v61cxl5ab12bvgnj4k9dc5q6v3zg72";
-"pas-crosswords.doc-1.03"="pm76nswngl127k5c2vwm9nwscci1dcng";
-"psgo-0.17"="487m1ggdz7a554viflmp4cg2kgdw9ghv";
-"psgo.doc-0.17"="cw2v9zzpbmqqw8k8hdq0la2dhdggip3d";
-"realtranspose-1.1"="pkzqw0yhk215ddxwj6sjdss531vxdi0p";
-"realtranspose.doc-1.1"="cwxhdxg5gc939jifir67vin798qrcvb9";
-"realtranspose.source-1.1"="ynbps4pnm2ll3iqkhbqhsflpx0wsydk6";
-"reverxii.doc-24976"="2w8l7rs761h556il3d875k0sc86xll98";
-"rubik-5.0"="9wi8kxm1rfbqdmgd08bkfmmcrxh6qglv";
-"rubik.doc-5.0"="byp3r482d99yvd7wj0gw7sy8azki6srs";
-"rubik.source-5.0"="p25x3gpqgyq4hsvgksdspy16w6h593kr";
-"schwalbe-chess-2.7"="dp5z6xiwac5gf56wv8f8jiapm8izw3qi";
-"schwalbe-chess.doc-2.7"="dgv1y4nyn5xc01xxkda7g7294sim7xs6";
-"schwalbe-chess.source-2.7"="pbjki3lq6xnn4aw0snggasankh18yi0d";
-"sgame-2.15"="36xmv070y7wzwj8qj24y5q063v2c1l7f";
-"sgame.doc-2.15"="pm7psgqwg5prx0qfj6wh234raqw849wa";
-"skak-1.5.3"="0wa6kcvgwqz6cnjrf64x03hlbd7yppax";
-"skak.doc-1.5.3"="p8p72b9f2jll6hym1fzrymj7c122z42w";
-"skaknew-20031"="8by6yv9rgn4zbzlq0szcm4yvg8pqfaf6";
-"skaknew.doc-20031"="0p383qca6f0f56skhgvjcwprpb04gldj";
-"soup-1.0.2"="6h4bpg774dpkaxg69k7cyr7pwffk490m";
-"soup.doc-1.0.2"="w67szbnb93rzkm2mznmid3cy5rxzghbs";
-"soup.source-1.0.2"="zna9fyn7n1p5rh2a9fqyvbvsj5pdc3vc";
-"sudoku-1.0"="584gyns58jqsm1ya8l1z63a1wifrgnlj";
-"sudoku.doc-1.0"="rsn0w51h0s7j9w988mmh2q455cx7amqw";
-"sudoku.source-1.0"="cpylv1bwk5yjjfzx8kfz3nha8yfjj2x7";
-"sudokubundle-1.0a"="glfg93s63j960dkz46l4piy8bbs6vjsh";
-"sudokubundle.doc-1.0a"="idw39v50081qhj62hd4w3ylgs6hrvvc3";
-"sudokubundle.source-1.0a"="lih9zbgw5l891hmifvpbdjwaqx70r8dj";
-"xq-0.4"="l2fd2aag0av7znzaw56qbwyp024yx9ql";
-"xq.doc-0.4"="rlabrx8297ad8p4sb4pqkv1lzxiihmyv";
-"xskak-1.5"="r0n5kgq1vnbc9kpqbj4i4c0713hhzgvd";
-"xskak.doc-1.5"="zzqkhgfjsbrllhn13qvkx2v0zarqz2l3";
-"xskak.source-1.5"="5z0q23fhwbxrz4jkfpc9ishdjnxn9k4m";
-"adtrees-1.1"="252iwghr89frhrnm3njrz1l0i1qsjq3q";
-"adtrees.doc-1.1"="4x26n2q1pwdxmwd1v15jp6mbrwwl9l7z";
-"bibleref-1.25"="yxh497yp2dqfy79xwsdbra3ajzf3lc16";
-"bibleref.doc-1.25"="dxbjr449ppxpacbj19dmm8jaklz2drdb";
-"bibleref.source-1.25"="0sflmvg5vbhkcc1cipviv1p1w1vy2wjc";
-"bibleref-lds-1.0"="adlzl3qk74vn1z0zdqn9cm6xqbwd8j6x";
-"bibleref-lds.doc-1.0"="cxvgzvgkicpnam43l53vfw9za8gigszv";
-"bibleref-lds.source-1.0"="8ndhf2vnjjii0xywr848janqh7xzdhn3";
-"bibleref-mouth-1.0"="nlxylwgj6nmzf4ky26hamhvsnm3g4h2z";
-"bibleref-mouth.doc-1.0"="by1z7x2h6xmjgnkj302bjgds4jzrjf7y";
-"bibleref-mouth.source-1.0"="drlwpv0xvyrb259ipq71p68929cmp6ka";
-"bibleref-parse-1.1"="ddxzanvw07cnj984ylsmjybwvyl41sg3";
-"bibleref-parse.doc-1.1"="jcsy831ih2d4scdsydj4m9mzlyahqlip";
-"covington-2.5"="qbjrq2akqpc1h5xkqv93hbfp0sjyghym";
-"covington.doc-2.5"="nfif3arnmkhfjnxm9fk1mjgsvm7ccf3q";
-"diadia-1.1"="p95dkjaf17pn4qm3syrd2wm4680qxa86";
-"diadia.doc-1.1"="s8q9nnwajrravg7418bldainfxpm874j";
-"dramatist-1.2e"="r8ldaql5igwpsv1bm35jgcgpnlr817m1";
-"dramatist.doc-1.2e"="15bnkrhgbs4jpsk04y9fib7yvvsb83kq";
-"dramatist.source-1.2e"="h52a16aza42dx50gx6lagzahm1n20xx8";
-"dvgloss-0.1"="57wp58gxcs0hv560zj1g4clhlh0k7ssc";
-"dvgloss.doc-0.1"="kr2ndi6s5i1k7grvwmkxzhdrmqwzrkw4";
-"dvgloss.source-0.1"="j6kcgrvqainc1z88amsl8lnym06kw3lx";
-"ecltree-1.1a"="iphdmz9nnnmyvwvvq5hflvbi0xf50wxd";
-"ecltree.doc-1.1a"="qkdycpbl0616mn6495300qcc50a6w05a";
-"edfnotes-0.6b"="dlhivqz4bniprmv8900wh88piiv58cxw";
-"edfnotes.doc-0.6b"="kfkm4q1zf83gipgzb00r4d5fghy9zq2s";
-"edfnotes.source-0.6b"="n5dyvim1rvv5dmnpl8jsmc1r43nll8vp";
-"ednotes-1.3a"="dmv7mq84rw9y8fcvnyj4jspb3qn74h2y";
-"ednotes.doc-1.3a"="bivfyfj5g56m38z4b8wnzd34q2ks4lxg";
-"ncctools-3.5.3"="9ga7xf3c5k1n0gwiw42bs8zda97596dh";
-"ncctools.doc-3.5.3"="9p2ds66immwv89zxs8kn3z0dar3k2dfb";
-"ncctools.source-3.5.3"="f40j4wcw6x5f6r43bjnxyhfsy9vj623k";
-"eledform-1.1a"="34050azcglr1nl4ppvq8f01dffc3hlpm";
-"eledform.doc-1.1a"="qdp4sms5cf7wzi1kdm49fgifs3845whs";
-"eledform.source-1.1a"="53dda59p3czslircl0a23d1dqfh2r45k";
-"eledmac-1.24.12"="327rpi6mzwx3h2nln4zra3pnyfnmg92a";
-"eledmac.doc-1.24.12"="3hygl6qp9sf8gnn02p78bny40bnnmgc5";
-"eledmac.source-1.24.12"="kiqy5wz8qyzxxszhf6k37ricjh13asca";
-"expex-5.1b"="xl0jyizia4cwch1z399dl0r5xz4anxgy";
-"expex.doc-5.1b"="a903i8yj7kqr49jf3f40rrf74j4bn1cb";
-"gb4e-19216"="bzbpagrikdh6z5pbs416l090s559v7i5";
-"gb4e.doc-19216"="72mcbwb79gj584p24lpxbvvqj3pbr77x";
-"gmverse-0.73"="9cx4zlykh23lwblr7q2hbd8d5dffvw8q";
-"gmverse.doc-0.73"="zbq9drljrrh0ms8k5z7ndldilzgd2l0w";
-"jura-4.3"="bparkzmzy3lj0ddqiaw3696msam3v0b4";
-"jura.doc-4.3"="hzgy1v1yl2yrnvi91j2hbs8jhd1x3djh";
-"jura.source-4.3"="0z6qb08mpblnl0jhjx8cmhk0vrciz0f8";
-"juraabbrev-15878"="mb4ikhwg3fjpdrsf8azzvy964gihs0ja";
-"juraabbrev.doc-15878"="i9w4ykaf8q152pc6zag4wykdlfvnkl0l";
-"juraabbrev.source-15878"="9ixz4m7y6cslk2977n0nh792nhqa6l6s";
-"juramisc-0.91"="w2nzviyg6498v4x8vqqp8kc9p2cr2fyb";
-"juramisc.doc-0.91"="0yczb9jcva6i9wvkdpwfd0l9c522krnc";
-"jurarsp-0.52"="bwldii418vmf3b37gnm56f65bzyjrfhj";
-"jurarsp.doc-0.52"="2rqnnrbk56p5i1bi7r9l5y9q8mbdmiip";
-"jurarsp.source-0.52"="0gwifinaym6yjkimyf2m3dg10pld0i4z";
-"ledmac-0.19.4"="kxh78l0ap8zr2rncqg5j4vl7h2f7ajb1";
-"ledmac.doc-0.19.4"="qqziv44yv5fzpk5dnfhjrzdfi4v63558";
-"ledmac.source-0.19.4"="z6n9h86q7yk9rfq87v6ks03b5kqw7cyg";
-"lexikon-1.0c"="ifdy5rb6ggar6w643y94y729bbn75h41";
-"lexikon.doc-1.0c"="52hidkd52nx6dz7ga1lipv6r9l3kcnnh";
-"lexref-1.1a"="4av5iad393sb2vqplzfra63wl1g3pwpd";
-"lexref.doc-1.1a"="3nzknrs8c80yxhw9hf0qpzgx3lpj4hsg";
-"ling-macros-42268"="166zs29qcy5bs1ml9bl5q4ydvx15yhlz";
-"ling-macros.doc-42268"="7b31g3wp6vks8b3h01pf2ifnqgr1r1rn";
-"linguex-4.3"="srm8cr4dr0s29ydpvwf2mhm5gplgv18q";
-"linguex.doc-4.3"="w7jgr0hkj6m368p6x2l3b37m9px04b4f";
-"liturg-1.0"="73vvqhnk6ll3ibzl2gk7znkfm57k0286";
-"liturg.doc-1.0"="r0i6252kbg724crlphqc9rii0xq45jzx";
-"liturg.source-1.0"="8q74i94hbnswf7iscpdm889w3wqvcbz6";
-"metrix-1.5"="89mkz1xmzm0i24410wdhxc2wpr32as11";
-"metrix.doc-1.5"="vr2gg2hy407cycqa00b4iw6lbmi0l54a";
-"metrix.source-1.5"="x2w7zrjw7nxbdiszypa3fnd4am4hhk8k";
-"nnext-0.0"="iaw7jnqig0pl9kzz2l1hrb1xgyzh1ng5";
-"nnext.doc-0.0"="2jdmhvjl1gl5jv8r4nyf40fjd8y9ha41";
-"nnext.source-0.0"="z5nx3gszv8s8zn1jf37ndb95bw564bmj";
-"parallel-15878"="d8gik6iva6h6l2imix4bxb5w9p8j87ka";
-"parallel.doc-15878"="n3dww00ms1a2m3v6fflm637hiazdrqrs";
-"parallel.source-15878"="vkx4q8liyqx0n70dpq6pqv515x1gbr7f";
-"parrun-15878"="3b2gnwqll6qf6x5f6gzh9ym1vsba6522";
-"parrun.doc-15878"="8v8338i5c6lcdgcdcwhfkb0d5brc3n2z";
-"parrun.source-15878"="2bvqjwsq7ngr7n11vnqnwhqzldrb73ri";
-"phonrule-1.3.2"="7gxkh4k5g2znwdrrdy394iw08khwnkvd";
-"phonrule.doc-1.3.2"="h353x4isnarn0bja89cb7104n4wda95l";
-"plari-15878"="nhdf38fv3h24zqq0bzwax05bfvrzmx5z";
-"plari.doc-15878"="i09il1b9f8cchmhc9pj6ndngyym5vd4w";
-"plari.source-15878"="5n2x3k1mf9palhxxlqpqkffd3ms3zrfz";
-"play-15878"="r6ryb6v6svlfv9i9j6r2a7ciks2k53bv";
-"play.doc-15878"="b5kjgd2gvgz5228m98l3lhaawmdfp40h";
-"play.source-15878"="jk04llsraw9d9gl5grvr019rjnkha1h3";
-"poemscol-3.1415926"="rbzrrl2hp6z6cdh8q1846bpcxpfii7hb";
-"poemscol.doc-3.1415926"="fxgqcxh3pm74jx5fcpn7nd5ng3s7wj2q";
-"poemscol.source-3.1415926"="2821zah2libsq6sm7dca6rqnzv8f9z1n";
-"poetry-2.2"="2wypw6n5s3x2ml6dkk9khlp2672ipn21";
-"poetry.doc-2.2"="fslir5ibkqqdqlk4qsy094w3gz8dgj9j";
-"poetry.source-2.2"="jwly1fzi8kzgkvlnfc23yyy5bajd4rcz";
-"poetrytex-3.0.1"="a7a68naj2vngygl078qcy6qpyvgjqp87";
-"poetrytex.doc-3.0.1"="d7vp6y5vm8sw1vq3j723ksvivdk3v2a2";
-"poetrytex.source-3.0.1"="v4ynl1n0sgg2n5g0ya2ncm7k1fibfmgg";
-"qobitree-15878"="jxxsb3s665887m15a2v9q4ybdzc86x9k";
-"qobitree.doc-15878"="xi15qg62q42sgh4115gp2mcnv7nriwiz";
-"qtree-3.1b"="d2wip0zniiihfnm77v0rzd95f4zvf9dp";
-"qtree.doc-3.1b"="pzpwi4bdw8sxhmyyx16g59nmi0zj8ijg";
-"reledmac-2.37.2"="1al9yjm90gxnn35y0236mblihivknvix";
-"reledmac.doc-2.37.2"="jir8d789vhd5pnzz514yn53zpicjngkx";
-"reledmac.source-2.37.2"="a4j9013r2z8h0ziis9yfwcsbii0h7axy";
-"rrgtrees-1.1"="gijgmkpg84730ywfcangcf301kff14n5";
-"rrgtrees.doc-1.1"="l557gafpfn0vm4ajcaynvqf14axn1rrq";
-"rrgtrees.source-1.1"="al765qzv8rz1gd9dw672j29q1i27gf2y";
-"rtklage-15878"="j7v1rhi19ly8i5h2j306nvhnhp3wjx8p";
-"rtklage.doc-15878"="02dpc8m2pyxqmpvlls86k2gy0yp8gqyp";
-"screenplay-1.6"="c4jv8c3zrqqjp25nxv1wwp47jy26vdd0";
-"screenplay.doc-1.6"="7vlv28kmw3pag35r1p9q1mhvz005gwv8";
-"screenplay.source-1.6"="88zp5a7raa7ic4474yghk67jj31k3377";
-"screenplay-pkg-1.1"="567syh6jgvm16ch9hhlirgxav4k424ns";
-"screenplay-pkg.doc-1.1"="gvd3ma5bmmcpiq1jpi8081lcvk6zpfgi";
-"sides-15878"="4by0j8k8xj6baip7kdvjr5x3srvz4wbf";
-"sides.doc-15878"="7kcin18x8z42axnrmlqldkzqqbvsjzvl";
-"stage-1.01"="jl9zysnd3ji20yn23nifnqp8db9dcpvk";
-"stage.doc-1.01"="ffsgwdyyz5p24vd5lpb7sz2l8xzn98mk";
-"stage.source-1.01"="qf4hhfzpws1friwg89vq0sg25xp3jfwh";
-"textglos-1.0"="lfdr25rxphjmck47gv10zr6dwiwyczla";
-"textglos.doc-1.0"="k8945zjmlx6n8szzighhs4fa1z8zc340";
-"textglos.source-1.0"="mvxkgnsda7v23v765zh7mzg1fzcn0hdn";
-"thalie-0.10b"="wd2ln0n32rvnr8fl2i57hkd8dgdxfbjp";
-"thalie.doc-0.10b"="9j2rg2fh4gbw7jznl0d5kx49x8fhfsv4";
-"thalie.source-0.10b"="pg0mgikmariaqrpd83mdmsilglz5hcpc";
-"theatre.doc-0.1"="lrajd4fl8ib6kabsjpxjr38pdb2gr83q";
-"tree-dvips-.91"="rh2g20j87hg69iym0in6b1jdg5icgina";
-"tree-dvips.doc-.91"="5lwva5wns5mwp1yq94pd31q165gianwp";
-"verse-2.4b"="ip7glx9gvf1c1ggjvkn1ip1vdxycn7wc";
-"verse.doc-2.4b"="vf7lvv27b351xxi81svdqb8hdzcyn9i1";
-"verse.source-2.4b"="9yx8ry4p1d0nvzwzh360xa8828mhgfwn";
-"xyling-1.1"="rxnynyg4j3xzzh27zb23q4qh3w2gy5r6";
-"xyling.doc-1.1"="k41kmgmzw7358f3nhq2ixbxafiq5kir4";
-"alkalami-1.000"="v7sl553x9mw57qsnh66rf7mba26h6m8x";
-"alkalami.doc-1.000"="kg4kz16hp3sylfwrprr4ilc2y4rzrji6";
-"alpha-persian-1.3"="4ga35s96bmxabf62li3kr625nplk8v4k";
-"alpha-persian.doc-1.3"="jk5d6pb4hk1qbl9pzmqm3b45r6ifdmjf";
-"amiri-0.113"="adni51ibb0ncr4mq0iyw8n7l3i26xc96";
-"amiri.doc-0.113"="ns0vc8azw67pbp4ji5fhnb9cykyv1hkw";
-"arabi-1.1"="rr1si2q0lih2l2qpascr4kyzy313zyba";
-"arabi.doc-1.1"="cpsn1fgrlivbwqb4n9qrpq3q69kdy3nj";
-"arabi-add-1.0"="djln5r1i53rqvih7wp016j8ga2wqc7dn";
-"arabi-add.doc-1.0"="vwbgh52x3yh6yxhfx6p7m0ljmsrmr4qz";
-"arabluatex-1.20"="d4sy69qxbzzvf8bw06sbza3w10kc6j41";
-"arabluatex.doc-1.20"="g79wb4gdmam96xwy99p13zvy85lrclqp";
-"arabluatex.source-1.20"="ccjykbnix38qi79my24y6af95vp90p1d";
-"arabtex-3.17"="fr7avfkwpdbx619kq7h1y31bx4nmkp5v";
-"arabtex.doc-3.17"="b5ng3w5g40m9c3x87nih862msx5nw292";
-"bidi-36.3"="y2ak5p1n7zr5bwf73l27flhmk88z4z6f";
-"bidi.doc-36.3"="rfmpd089lv9ncssl7jz7z7zbc66wakmc";
-"bidi.source-36.3"="zr7wr35cs4byxqad31ayp4jw9pygmj7z";
-"bidihl-0.1c"="kwa5li9yi8wb452g12y2h0ar6lpqdmmr";
-"bidihl.doc-0.1c"="558l7z4b7giwqqzj5496r7nkzv1wrnqq";
-"dad-1.2"="ivwjd7fhzgk4kl0iwzs49jvhqsb44ysr";
-"dad.doc-1.2"="6sy939pdqxsz24lpfqvb5wx1914nc38h";
-"ghab-0.5"="xlrv9p05w3vm0vyzay9q16rzh1x8lk4a";
-"ghab.doc-0.5"="vhpydw0spag5nlqyr36iy2v70db2hmpx";
-"hvarabic-0.01"="66c7491ff4zaq9wg8n6m4k9dmi1lwvn9";
-"hvarabic.doc-0.01"="pqb9h9w5nw001cjpwxmd4pysg5f5z2xd";
-"imsproc-0.1"="ylf3kd1bc5rafzfyil4y7wxp6vd9nsm3";
-"imsproc.doc-0.1"="3kv8qk7pnfg2w7xm3lqcimi8vhx8jwf8";
-"kurdishlipsum-1.1"="8frakqhm5sfw4f9j514zh63la69nwnnr";
-"kurdishlipsum.doc-1.1"="1spiraw1mpli2hyyxdh43r72dkr0446a";
-"lshort-persian.doc-5.01"="hba2q0ni1c873gpg2qp835csinw78yi8";
-"luabidi-0.5"="ni9007yf03ddfzvmab1bp3ki9j4zk1ls";
-"luabidi.doc-0.5"="71wyc3gjz241an8jjavy4q4bsxxjn934";
-"na-box-1.0"="vfrchq5jqb5s18zgngk2qsb0svmnc7p9";
-"na-box.doc-1.0"="7s4wcsg6khlv2lgakqgph9livd38fil9";
-"persian-bib-0.9"="sakc18mdqnzymfvgkwsxvrjd9b5a7dqm";
-"persian-bib.doc-0.9"="q8vjf93qjdkm6qz099464mwdl4w4gjqi";
-"quran-1.81"="wl9rf9gszbgdkxyw3b5nsvg30n99ghrk";
-"quran.doc-1.81"="inrl5aligv0i1nsdr83xi77d8d7z9nyb";
-"sexam-1"="jlh6d5mzxqbnkn6yy963fnhc6rmggigl";
-"sexam.doc-1"="532l18ix2czx5r80ar4g7mqgdij4r5xx";
-"simurgh-0.01b"="n8bv87n12x5xv3h41487vyqpbigv3qkc";
-"simurgh.doc-0.01b"="z3qq4jx25qyxqmnfbpsdsayi59fkaff6";
-"texnegar-0.1e"="y3p8hjqik59ghy3rmm631q0n8w3kvz3c";
-"texnegar.doc-0.1e"="iid5b6qi935k83m0zx4xk3j77v3s1g70";
-"texnegar.source-0.1e"="d5qmlzswr3lwhncxm5rdwm9jd3a9w1hl";
-"tram-0.2"="7wcas9syxfvm8pc7wnp817zd9y4q941l";
-"tram.doc-0.2"="ppbq1g4k1swjv7y9qkqhcr0m25knssk5";
-"xepersian-23.1"="mh90ip22b6gvwlgzvqjwm627ry1w5qyw";
-"xepersian.doc-23.1"="3h3gpv46vrjbxa8z22dqbs9bj6kqqb1h";
-"xepersian.source-23.1"="rdbcm72pjmdc7jwzy71pbbwj4qyz62i1";
-"xepersian-hm-1.1a"="rk613k655f9qqd6wz45b9ri269m9wqhj";
-"xepersian-hm.doc-1.1a"="r6mjv96j87z6m4hz24lyxgmfdh2ji9gm";
-"xepersian-hm.source-1.1a"="h1jshzla05j2zxpqp9c477vjy6y56cy7";
-"arphic-15878"="zfax00567h7mdlfkpxihy379cwqmy8ng";
-"arphic.doc-15878"="55lcjk7s78qa39dqd0wj0za5f6hcnkxd";
-"arphic-ttf-42675"="s5kckgwzz84bm3px9cmnw2zgvmaq27yh";
-"arphic-ttf.doc-42675"="s7y95hay8ygbb1viv250vkzf0wbm9s3b";
-"asymptote-by-example-zh-cn.doc-15878"="czm77scbklkpdjgk93w1g8ilchpx3vpr";
-"asymptote-faq-zh-cn.doc-15878"="yzyywm1hv1hs9ngddhdgk7frrpnrbsr8";
-"asymptote-manual-zh-cn.doc-15878"="86bz3am5w7xx9si2a09s432xh882ix9a";
-"cns-4.2.0"="3m0fbs91x53iiqvzl0hs68cks7y3m3q7";
-"cns.doc-4.2.0"="1ddyimvshda2zf3mcs6rk1n4py2aglfq";
-"adobemapping-51787"="xcyk94x5n58vxnbw1j1wrkdizmwi6i74";
-"c90-54074"="jfyd605szid7j3a757fihxhlvaqvprdd";
-"c90.doc-54074"="1v14l7vqrdbc6nhg2k2gshq7p7cqzyk7";
-"c90.source-54074"="l4kfmrrqbnq3y6xbs0izdccvikpsw314";
-"cjk-4.8.4"="zdw3lfngj5zg5d118xjndaj5gg7r0wy2";
-"cjk.doc-4.8.4"="rlwcxn7lnyxc28v9gjscp3p7p9mgzwhs";
-"cjk.source-4.8.4"="i9g2nbr71gnvx71a55aj07qrgw67vhs8";
-"garuda-c90-37677"="d9m07vl6glf3zjb44whqb3flsirwwcx1";
-"garuda-c90.source-37677"="rjy95hqlvbds6pn29r26kh8sshxnd21a";
-"fonts-tlwg-0.7.2"="62z2gg973bjm1b8byn4y6dr4s1jx8nf9";
-"fonts-tlwg.doc-0.7.2"="xc4wi0yfws579n2z42wssk8cg7m0ildc";
-"fonts-tlwg.source-0.7.2"="q2cjjk7ayzd38z130qnwqq6kz42n0x0i";
-"norasi-c90-37675"="d0972qmh7nk9isx54d46f7jscg6mwcrz";
-"norasi-c90.source-37675"="f0z1ppqy8szazpnwmg2ml8cgasdf5ivs";
-"uhc-16791"="viphfgiqfb1w9kb8103znmzy09n6i45n";
-"uhc.doc-16791"="hp3z13z2yxkrgr7z3qa8pyf4d98rd37z";
-"wadalab-42428"="cpc689ywzaqil8xz78nkzwx30qmqixh5";
-"wadalab.doc-42428"="9gjsw3c2hlxnc1wxvky9mmqi6dyq4i9j";
-"cjk-gs-integrate-20201206.0"="0llgl1xwswii91q704aj23r13xqfdcbf";
-"cjk-gs-integrate.doc-20201206.0"="8z9x8jgv4zw2nvb4v1k3k5cyl0xc337h";
-"cjk-gs-integrate.source-20201206.0"="scgfp18nqkcghsvw99khhw5x11zv693p";
-"cjkpunct-4.8.4"="8hwj54qw1xrvs5bn8bncdynich00d0ss";
-"cjkpunct.doc-4.8.4"="c8wmkh6h45an46jqph2s9ljbgfyw1mf9";
-"cjkpunct.source-4.8.4"="0qfm89f4l8jfmgimhrh8vvskca0d866k";
-"cjkutils-4.8.4"="8w069zvnnpkr2qcmsqxh6p64db57b82g";
-"cjkutils.doc-4.8.4"="grwdzh1216qgniky55qv2r62r0rd65jg";
-"dnp-54074"="jf1zsbg60d074ksrz0xk9ihybbabda1f";
-"fixjfm-0.8"="r24s5c53wvxaacm4fmnmp10nl8096nlf";
-"fixjfm.doc-0.8"="inhixa1d1hr6s2473qp0hfchvcn84y45";
-"jfmutil-1.3.1"="jwkdkj88h71dlwrh3rkvai7izbd6vhay";
-"jfmutil.doc-1.3.1"="iyfjshb9mpkvbcl6idb1ig1v1svxiwrk";
-"pxtatescale-0.4"="psd9rlxh4i4rqxgii61r2s43sqy3kibx";
-"pxtatescale.doc-0.4"="bfd49446kr82v3h06mq5hsm1ji2jwzck";
-"xcjk2uni-1.0"="d0p3wv968s8fmphawm91mph641nnb42j";
-"xcjk2uni.doc-1.0"="r25dksqp0cbmvj8912p0b1ydvywn4sz9";
-"xcjk2uni.source-1.0"="r4rlcadgrylpzdds14c0nf5y94yclhm8";
-"zxjafont-1.2"="jpj2xg53gz5k86p1aqc0czgbi2pp8yab";
-"zxjafont.doc-1.2"="8z7k507pgb7g4998rw2l53a1kydmp3xk";
-"ctex-2.5.6"="pj0in9g9hyb9j1ik00k508zpzzqhd9x1";
-"ctex.doc-2.5.6"="xaykgqrkw6pi65mmkhnx1dqp36q7biwq";
-"ctex.source-2.5.6"="6ibbs70r9scz3vmlbcb323jk79fw99js";
-"beamer-3.62"="0dw0xsw0zi6bw8ibc3dyi6afjq8wygfk";
-"beamer.doc-3.62"="qxvvxwic302l46lfc206xh0wm5g2lwds";
-"pgf-3.1.8b"="hs9cw6pfxzc0cb77fyn1gs94l92jbs3l";
-"pgf.doc-3.1.8b"="is2s49v1mshmpwplajvx27mg9pz1z2gp";
-"pgf.source-3.1.8b"="axqhmadpaw4srzqcj65lg69dxjr0m45y";
-"fp-2.1d"="lxyxf8jkbgrkk43qbnr2s3ns19ihgmw5";
-"fp.doc-2.1d"="ih2kq6xp1nd5gs9bc9vhd34qa7jcj093";
-"ms-57473"="hl4w3vlawjyx92px0fp9mx8hs82q76ma";
-"ms.doc-57473"="36489y9m4b1jjbwsnj4222ci0vyy0cmm";
-"ms.source-57473"="zadiyqnszmpcxv29fihby7iks8ff8ndb";
-"xcolor-2.12"="d4hv07lqr1p36mkph8s45w93ykk2i0jg";
-"xcolor.doc-2.12"="50k9wrkrb7gaf8dhpq4gbsbyfpbm6dz6";
-"xcolor.source-2.12"="zgpsq8x4n6m23a9d1m5m06davpxv76id";
-"translator-1.12c"="ssck8ka8cgzvvgzy85ss6nlh51vp0pwc";
-"translator.doc-1.12c"="2zr5cvx3xagazcbgs04246cqaznqk6p9";
-"everyhook-1.2"="ndig4g0nsbqla2i2p1n6skjjxsr3qjhv";
-"everyhook.doc-1.2"="690qpw68wri4cr4ahv1xfqibm3flc5mr";
-"everyhook.source-1.2"="rvh60i8j1gbyal0pjpdgld9l5g20zilf";
-"fandol-0.3"="lxnjp8m4fcj3pv2hnhib6gjdh90q1ncz";
-"fandol.doc-0.3"="fm0ac37apm0dh1073lp1frja9xbsrv4l";
-"fontspec-2.7i"="vhqnyrgqlsg46f6wjpx5q1i4iisfgfnp";
-"fontspec.doc-2.7i"="9wl29gf9zhxp2bq6wvjl7sx4v5vdvfqy";
-"fontspec.source-2.7i"="yrl2big2r8zvflzawy8myggn8ahavz57";
-"euenc-0.1h"="fxp7k516ws4khaccirjxi8xszlif27y0";
-"euenc.doc-0.1h"="28lmb3y1m8dhl0n2r1gprmkrpxfmq134";
-"euenc.source-0.1h"="amsw2lpbcm2grnfch6cag6hyn957acv6";
-"xunicode-0.981"="ybvkdgz4sdl4nixzgz2rbmqfz7hwajv4";
-"xunicode.doc-0.981"="lydvg50dcpp0lk3m9niwdyf1vra61mgf";
-"luatexja-20210319.0"="vjvd2351hfw4ywaki5cwvzyvimd135ji";
-"luatexja.doc-20210319.0"="75x159pmavxg02f112yrf824ic821xjp";
-"luatexja.source-20210319.0"="yp79bqa3qy5zfzl6hzkk2mlyyk6brqh9";
-"luatexbase-1.3"="hjzprkfxz8i905ffdzfad0myg2ym4vg4";
-"luatexbase.doc-1.3"="3rnbzrql8m9ss0pk1yydy4v9acrk3qq0";
-"luatexbase.source-1.3"="v5x5csbgplvah43m8lbjky2nmfk2s3fp";
-"ctablestack-1.0"="cavlzn944q3fhha3i4kf8bgvm2y5zpdh";
-"ctablestack.doc-1.0"="g2d4fq9nl422i3i0skmlrydx6d3ks8cq";
-"ctablestack.source-1.0"="bqrksg21vxxki14v7sadnh35070f2vdy";
-"platex-tools-57729"="aa12libw6lj496qbnwr2rczb63243sj9";
-"platex-tools.doc-57729"="8bx09ch2yzl9lbj1qdcdbdji4yk0ngiv";
-"svn-prov-3.1862"="d5py1m0kjdzdx371fpvi66l80p92xp4i";
-"svn-prov.doc-3.1862"="kz3zma1cmbi2kxvn560vzl71n0pj5bvj";
-"svn-prov.source-3.1862"="xz3g6ljh9fk8vfla8c3asbzraqymnca4";
-"uplatex-57972"="xmk1pk5ck677acr534phb917ndhfxrwm";
-"uplatex.doc-57972"="9xhsqvqlpc1w3a7v70cbngqciypxccsc";
-"uplatex.source-57972"="jafq9dy7s19lhnzlbf13qrkdqdvcbjxs";
-"latex-base-dev-2021-05-01_pre-release_2"="rxrsbiy4j4i7lhfdfxis5wrbp724g6wg";
-"latex-base-dev.doc-2021-05-01_pre-release_2"="y2jqx7a8j5w49lp0fl52chpq7s4fhw5j";
-"latex-base-dev.source-2021-05-01_pre-release_2"="sg6kxfzdg7qk4cbdarbb6nh9wsdxspdq";
-"platex-57972"="6j25hw0pclda0nv6vzxh3h7n5pagljff";
-"platex.doc-57972"="1272xi3rpygxa4p0hmyraamri3n8q7b1";
-"platex.source-57972"="222g5xxj41aq3yn17dwdpb7i4x2dirch";
-"ptex.doc-57972"="bxq3agvnpadiii63nd4mzwz3x97i6z92";
-"ptex-base-56487"="25h63rcankqnc0phq3sr0dkxd57ws9vk";
-"ptex-base.doc-56487"="y0mqw72x8di4z9k0z9mnznw3sqyr34rs";
-"ptex-fonts-46940"="iqch8gk4nianpr01y03nl0zwp49bw1b4";
-"ptex-fonts.doc-46940"="ln071z7k84vqpdf72ngcn7s24hpkhazc";
-"uptex.doc-57972"="ia4psw870n0x76bygg3jsgmxryw4mrya";
-"uptex-base-56832"="ailz7gb71drgy7glh81731lnydbpkmwc";
-"uptex-base.doc-56832"="dsfdb6gnflgz1bdqv4dfm914scr7gxpk";
-"uptex-fonts-54045"="dlh3qw9bz67kldx14fqd7f9fb9gcgcah";
-"uptex-fonts.doc-54045"="fx7gncl6m75n5pi7y00qprwmvgp978n4";
-"xecjk-3.8.6"="3jp1b8rf5ncm0wm7gcwh9n1ccnncyyws";
-"xecjk.doc-3.8.6"="q82p0svfc3m40rg63frhijslapvch7zs";
-"xecjk.source-3.8.6"="h75n0pid7fhjhwl589nzhljya2wck3zn";
-"xpinyin-2.9"="1m2kq41z483px431dxn4w33kjqm50hcc";
-"xpinyin.doc-2.9"="dal70z1n0yv7j7k62rdzyj26ijnfsngj";
-"xpinyin.source-2.9"="13njiqkx26j9q98hcz4aklsr3wwlzj6l";
-"zhmetrics-r206"="2li2anrf74242blfd59cxfyn13iwmfxs";
-"zhmetrics.doc-r206"="njh801caaxkfyw5nsfv3q36gkcql14pj";
-"zhmetrics.source-r206"="ls3gazkf44sdal0f0k8n46ml2fgigfsm";
-"zhmetrics-uptex-1.0"="d3r2n6ndjd8zsmlq4hgm1x3gvyvrfnc1";
-"zhmetrics-uptex.doc-1.0"="qqzvr4mf5fg5r8bg6j87yk94nznhrscl";
-"zhnumber-2.8"="s59rjf8x0clsdb8zc8a689bd9fdz199f";
-"zhnumber.doc-2.8"="n51wjppbhl8njhyh28b456gd14507mwl";
-"zhnumber.source-2.8"="fi0gjxssiyvdqib93gyya54jdj3dm3m1";
-"ctex-faq.doc-15878"="vjxcdrg7i6p9fgrgzfvykibjghpigrz3";
-"fduthesis-0.7e"="2fnpghx8zi0g62hkh8rsf1p3yr49rkg8";
-"fduthesis.doc-0.7e"="h0595l673dhl5wxpsnc6yd0ga9cgj4mm";
-"fduthesis.source-0.7e"="40fiw5f3xjz72rmls35aqwyvy58v5q1m";
-"hyphen-chinese-58652"="0y3spz5k8inrr78a2fsqr2g5wcj081fp";
-"impatient-cn.doc-2020"="8k1gcnqs5gghbarikj17ykh4vgahpqbw";
-"install-latex-guide-zh-cn.doc-2021.2.1"="65xcpzjsb2l4rn77x1hvy1v8ly8h8m4p";
-"latex-notes-zh-cn.doc-1.20"="qx777fwi8k06qvknnll3crc1j0yvraxs";
-"lshort-chinese.doc-6.02"="67pcgs0daq1ns0kpk1bml43d5zsgwbl1";
-"nanicolle-2.03y"="5rvjbz93d55qcywbg7dkh231bsc82xzq";
-"nanicolle.doc-2.03y"="mqmmdchqbviyvf9yrldi832wxxwvv8mi";
-"njurepo-1.1.2"="pry1ksmskbm6y5ic43v0hdjkz5mix78h";
-"njurepo.doc-1.1.2"="91clrmlgyja8i7cvi1cbb204dnp76rj2";
-"njurepo.source-1.1.2"="3axj6ar0n3d3lb92z7f33nlxd6qjaa98";
-"pgfornament-han-54191"="906lp285f9mscdc9p40j40zl26ifvbh7";
-"pgfornament-han.doc-54191"="77f050rip24vfjcbylda57chh16n4vfy";
-"qyxf-book-3.1.0"="lik9idqmk4knwcxxcjq7ikk5mlmx04r1";
-"qyxf-book.doc-3.1.0"="hk95p2hadjid72c01l3j22c2ql1zc0pk";
-"texlive-zh-cn.doc-54490"="n9ggsbqa36114fyiwwwxc0g3gjj7hlm0";
-"texproposal.doc-1.4"="8fnrxmyg4wd11kmdh4jw8l1313h0sgqr";
-"upzhkinsoku-0.5"="0yhh0ab2sq4fszra362z9m2md8ycydvk";
-"upzhkinsoku.doc-0.5"="1ijm19cqsdsm9q6a7rknl0zsfa13g28g";
-"xtuthesis-1.0"="0lmkzfvp34aiixjir2l8qs9nfpbjb3gn";
-"xtuthesis.doc-1.0"="vvqmvgjjinj3pm8r3kp48bbxs8kzgs31";
-"zhlineskip-1.0e"="k8myar8fv79b0rkjbwimzm24gag072aa";
-"zhlineskip.doc-1.0e"="whb613dc11kyrhgc26nbyzmd74wi8klc";
-"zhlipsum-1.2.0"="6k0zvvxyd7cl8w9w41sf5fyaw499fk5a";
-"zhlipsum.doc-1.2.0"="w902mfaj6jd9llypk8mpldrqliwp8lb1";
-"zhlipsum.source-1.2.0"="lwr47ka88vcnixpj0s8yi2jcvbcsfhp5";
-"zhspacing-41145"="p7w7cisgid16ndk1mipdmpn5v7nc1kzf";
-"zhspacing.doc-41145"="kjnyalnxmb2f0kj8w52nvm97a9m1dfsa";
-"babel-belarusian-1.5"="dky0w9qw4j6mbsmx6kbcgqn8p9grbbmj";
-"babel-belarusian.doc-1.5"="3mzf3fmiraiac3w6cd45fy3phm5714qf";
-"babel-belarusian.source-1.5"="bisqg51jp7d4f8mjzirzw2v0f6m78yfk";
-"babel-bulgarian-1.2g"="4c5cdn8lijfw1qhkfz69pvlvl2hcg5hz";
-"babel-bulgarian.doc-1.2g"="pyikwcg47yj8nh416g6wdzwk7a7f460p";
-"babel-bulgarian.source-1.2g"="km3vz4iykb1pckz9bgllgd6xxc77k2c9";
-"babel-russian-1.3m"="45wh2zj7i47dlprkf8f3lh70vshggrr6";
-"babel-russian.doc-1.3m"="b8warwk39s2javg6d5jhgkg2bv5d279y";
-"babel-russian.source-1.3m"="31nl55d006ajphcvpb8xkhv80460hxzp";
-"babel-serbian-2.0a"="qz0klmzp380x2sn97v6ca1hjpir9fxmk";
-"babel-serbian.doc-2.0a"="5s29smlmhqrx68ra2k6mqvw5lffclbb7";
-"babel-serbian.source-2.0a"="6gp84lpbncbd2775nfac1zg86034a7i9";
-"babel-serbianc-3.0a"="rxrc15zajz0g5gzczw5k7kid3g3fisxm";
-"babel-serbianc.doc-3.0a"="bid4np071hjbaplxq8pvxggwifky0y8d";
-"babel-serbianc.source-3.0a"="wa836abk9b2z4r5zxfzyj6z3d6wzfvjm";
-"babel-ukrainian-1.4e"="v4xihfkgfn5dr5lncrk0rrchwviakhjr";
-"babel-ukrainian.doc-1.4e"="gdyd3xlx328rpb68mcdvhbdvk9xfv6x1";
-"babel-ukrainian.source-1.4e"="5ir7vrg6inyzrph1za72cdlqml2c0nrs";
-"churchslavonic-0.2.1"="5pgxy858w0nr769mn4g6832fc0687vfp";
-"churchslavonic.doc-0.2.1"="pz4wqhar8vfzyy8aw4szas78hqs018lw";
-"hyphen-churchslavonic-58609"="rqvkjdq3d885w875nmjppgbsjryzm219";
-"cmcyr-39273"="ba4hsn5a22k73rhiaip6dv560wk5sxv1";
-"cmcyr.doc-39273"="1j63xbl85z8izha2jl2klagny3hk5wf3";
-"cyrplain-45692"="dh1vcz2wdwddkjdqihpc2rlsqjzm4cmm";
-"disser-1.5.0"="m0gldqzdx2idh4ivy43jd13fgmgcsr94";
-"disser.doc-1.5.0"="6s5g533qr53rg2ha6a7p7xr4phcn11iy";
-"disser.source-1.5.0"="h4f1z0azxfnbv1cba1f8z5wfy25hfvg0";
-"eskd-15878"="63ack7kfjg5gf6xv76yfla2z0k9cxzv7";
-"eskd.doc-15878"="g3wsmrvwfz2lm30w2fys9md9nqv5k8jq";
-"eskd.source-15878"="q70i7jl8dkf9vakj558fgwqfbn8230q0";
-"eskdx-0.98"="b2dx9jv2rg97hmlf3gx4h4l3ci16chr2";
-"eskdx.doc-0.98"="l1r5bapnlsz61yasg9gyrzp6za8iw0nf";
-"gost-1.2l"="zi0spr9mfkb7614db7sllcdvszp5i1fd";
-"gost.doc-1.2l"="cacamlxjq0cdbf6hsmz7rbjnqprypsj3";
-"gost.source-1.2l"="qrpn9sfsnd29k3ifsz330sdy6466s5i1";
-"hyphen-belarusian-58652"="b68ndw66wjbfzszngfh6ap5w6l5pbx94";
-"hyphen-bulgarian-58685"="ajyx5jdbnv28xyfax1pxkli0zcgrwpw9";
-"hyphen-mongolian-58652"="i8743jhpnls80lpvr5z1b8vrxrwn08vh";
-"hyphen-russian-58609"="rq74qi9km5vnlnw0pkck6w67gv5qqsaw";
-"ruhyphen-1.6"="3d6lyf95cgi2yc8lsy9dz6z5vmvcx1l9";
-"ruhyphen.source-1.6"="i6x3fiidyvl2zkly1p4s7qzgzzza1in7";
-"hyphen-serbian-1.0a"="asv8n6dxr7rinn451qdj3j0hq5pw0515";
-"hyphen-ukrainian-58652"="fzjs5a9ny9wl3bisyxj8pdfqwpi9ggvc";
-"ukrhyph-21081"="l60kvxf1mii3imnl0swqskcrz0bizb5v";
-"ukrhyph.doc-21081"="4mycq4cykkinm5h946xmrng59jghvbp4";
-"lcyw-1.1"="0bxzb7w4z0w04b9c1cvak8i2cp3f4h74";
-"lcyw.doc-1.1"="5kk74h4902f2zjlid26h1rg3fvw0sq9z";
-"lcyw.source-1.1"="3jq3gmm85lr494mm8j61z7shr3c11jg5";
-"lh-3.5g"="h0kq2pb7iay15i1b3sjx3q2yk63pycp7";
-"lh.doc-3.5g"="xzbkgxqjzbr2cx6q5xqqzgynk25jvkvh";
-"lh.source-3.5g"="mh8zzabsf553ml0al618ycym6igh9qyg";
-"lhcyr-31795"="3nj4zxpcahn2ryz47v7nh4k05j1lv6di";
-"lhcyr.source-31795"="kvid1h3vgbzmpn65sdjs0b8dspm5xvyh";
-"lshort-bulgarian.doc-15878"="r2yc6zzq44wddndp762a3hg78ihv013l";
-"lshort-mongol.doc-4.26"="5pj0i8wxlyd35sd3z7npwypicklc0nl3";
-"lshort-russian.doc-55643"="d2sgyyi8aic1j35fqrniim2bcpgk4q0a";
-"lshort-ukr.doc-4.00"="4g85cmgwa4y64rbc51zdw42m2f3m55ps";
-"mongolian-babel-1.2"="2bjw94a6r5wyn2i5gsclrn5fadh60jfg";
-"mongolian-babel.doc-1.2"="darkanaxxhcx7r7nd4mph37m3r29y7gl";
-"mongolian-babel.source-1.2"="cfdxndayfrj10xn000ckxhiaa1qdvypd";
-"montex-IVu.04.092"="ig3y6y6vksci0567g91hkgf8pkn5x56v";
-"montex.doc-IVu.04.092"="phm1049anhqvppklp4cwczfadjmakda3";
-"cbfonts-54080"="bzgl9s6zv9fqpg5m9gicxmpscw7m3z1d";
-"cbfonts.doc-54080"="6cj35wgyk4ss36wc0szhfyqcj3diyd50";
-"cbfonts-fd-1.2"="mybny72ksiflq3lq2y23059lzxidwz70";
-"cbfonts-fd.doc-1.2"="rsxf6gy62snszkcpdzry9gy44falx6ml";
-"cbfonts-fd.source-1.2"="73f27d7a4c2frvvhp1r2z4ia84qrh1cw";
-"mpman-ru.doc-1.004"="6l3vqm4sxcvb5nxy582g2nbr9mwvz1dz";
-"numnameru-44895"="c3fn4n2asbh2lqrn9y44g6yxad9f7469";
-"numnameru.doc-44895"="ibrlw13zibhvhr8mipw7hs2ik1f96z73";
-"pst-eucl-translation-bg.doc-1.3.2"="cqxppyh4546ybhnlk1z4fjkdyw9ij5x7";
-"russ-25209"="981kkq2xmx0r6k095308270hjvmdsm3h";
-"russ.doc-25209"="878fl0cyka7jj5cvdvq19fvlfic3izi9";
-"serbian-apostrophe-23799"="q4n9k2fn70hxcf9chy6a5jw07pq2cllp";
-"serbian-apostrophe.doc-23799"="0yxbbv3xz0jf63g0kvq5dbdv2myc4rks";
-"serbian-date-lat-23446"="3s5yc0xcg6fsaisn7aq0nv16fj69wmws";
-"serbian-date-lat.doc-23446"="pa9rvzpbczmfm4w0977xx05c5sbl6mxg";
-"serbian-def-cyr-23734"="k46ahhqbdg23mx4ld0953dnsws1imhwm";
-"serbian-def-cyr.doc-23734"="zl8x855zmhry6n754l5x9fz8hjn27bls";
-"serbian-lig-53127"="ma7sgiv7vs6hn079dja88y9mxlqvqz3l";
-"serbian-lig.doc-53127"="5g0vzcvnixv1l624fkwny623ylcd1lx5";
-"t2-47870"="ihwn58py69fx1fx2bjqwyg8caiwwlpy6";
-"t2.doc-47870"="gsqrf898i59wsxcm8b06qfrasfw335r4";
-"texlive-ru.doc-58426"="lmadilyvb5n1kqcl3md67jrlbp1j6fkr";
-"texlive-sr.doc-54594"="jrw83yqirmpvyn2mycav8dv82qsp58yj";
-"xecyrmongolian-1.0"="4rvsdnk1gbf9vrchlibyj93dzpdv1idn";
-"xecyrmongolian.doc-1.0"="c7pwfb8v7gv115m3igbsr233ms6cyvp3";
-"xecyrmongolian.source-1.0"="f3wj75g0zwivr3xld918hmpcyl6vs6j8";
-"babel-czech-3.1a"="gdcs2xpcgblb3v0m6jf3ppx643s3cj6r";
-"babel-czech.doc-3.1a"="g2km6r7d90d3f60mfhw4a7m9s0090sg5";
-"babel-czech.source-3.1a"="5s1n9fykrbzppgb36pvybjn9jmj7cxxf";
-"babel-slovak-3.1a"="cl43hp1pnxc1gp4ndrqwv1cv3fh0h47c";
-"babel-slovak.doc-3.1a"="igrg8syk1kd3mq4sm4jrdgsmsr1y9jb1";
-"babel-slovak.source-3.1a"="gvlkvq0zmhdf57a6vpfxlvmvz7ma48af";
-"cnbwp-32550"="whwdam81dc6g8pq664mrmnbxz4f0iwdj";
-"cnbwp.doc-32550"="qv1fxhmq1pig9rq3swhvwlwpm4lmwrjy";
-"cs-41553"="ks76xw08rrkrcxg7rv72w18glx2vncfk";
-"csbulletin-54433"="yc0z0nyy6mmlwrn711j3gkpm5afa6ljx";
-"csbulletin.doc-54433"="andx6r2719a1pfg044bclvha66vrcc1z";
-"cslatex-57972"="4gf3lz23hvrqgqbvpnq2wc3bwrb2jdkh";
-"cslatex.doc-57972"="dm5igdwbqzbya4p7bjsfsawbl1ywamzv";
-"cslatex.source-57972"="fmrx0y2xnxcdczhbqyrh7w70wh7mrccq";
-"csplain-Mar._2021"="cdwmcx5x38dz526nqaiaqj6lvs74rncw";
-"luatex85-1.4"="ka3px4aiyi8gq487i085s31y9l95jzp1";
-"luatex85.doc-1.4"="ac2agmy9dkavln2vnd63fmavv7xnkdrw";
-"luatex85.source-1.4"="wpm4dw7j6fikz3dqa4zk3r5avg4isxr8";
-"cstex.doc-58354"="pdlnmgvblcf8kxpjck7pb4wq2r3gdciz";
-"hyphen-czech-58609"="4lmcwq9yfkwn19q1h02cfdks257ayafh";
-"hyphen-slovak-58609"="0f7nnjxmh30rngkqqzfm85m2dmnxm1k0";
-"lshort-czech.doc-4.27"="2z8dygvm9ilvahsx005zb7z5ss8hxbsf";
-"lshort-slovak.doc-15878"="qnj433q5hfg9cpy0z281zq17z7dr5vh9";
-"texlive-cz.doc-54496"="cpk8nbi6hb193lwb1bfmg98qp75khp2d";
-"vlna.doc-54074"="f3wz8jy4vbrb3bhk9ly7fdkipwfqixbc";
-"MemoirChapStyles.doc-1.7e"="r54d4g3nh30k5x99nfphvzg7k1jxrijn";
-"Type1fonts.doc-2.14"="jgjs1127jqdrrgnkv3r8p1wirc8lb2gl";
-"amiweb2c-guide.doc-1.0"="w9jm6mjivcml5swz9v14jrc7amyzkw3p";
-"amscls-doc.doc-46110"="4hsr68pmd3v06fnxiynmp4xpgik6v8g2";
-"amslatex-primer.doc-2.3"="9d9pxr0jbjm6zwqd51f7m2bzysdq5gv7";
-"around-the-bend.doc-15878"="a6jilpw0nw27vlj1shnhxfv92yn86ys2";
-"ascii-chart.doc-20536"="9x2srgi2sjd6zjjz27p6hs1w9sj73bcx";
-"biblatex-cheatsheet.doc-44685"="vcmb6x1w0cfgvyx0hl8fsv1nh2ffhg6g";
-"components-of-TeX.doc-15878"="7sc5ryfj785jifvw9b44yni2ifmssr7f";
-"comprehensive.doc-13.0"="c4y3bgj3r97vy17qbdakmdcmcvm7xbqw";
-"dickimaw.doc-32925"="jqva0skw6ivc4ikc8m7awd7pgfaxgci7";
-"docsurvey.doc-57362"="xdh4p4sw3hdgnik9l76blfczvfda4ws5";
-"dtxtut.doc-2.1"="108k3lyvja5wmg8gxyvqskbz8wwh0cyw";
-"first-latex-doc.doc-15878"="8vcday36pq5hlr075kjk6hb82ypazjd9";
-"forest-quickstart.doc-55688"="g08gcf8sk0kkn6jifvx355slh3lvbr6l";
-"gentle.doc-15878"="mpxhsl7g4za410b65awmbb5zlc58h24n";
-"guide-to-latex.doc-45712"="8lw0kcinfq2yd6vkbd531zakby60k2wf";
-"happy4th.doc-20120102"="svmy37c032cvip73n4b98c8kh4hvnh9g";
-"hyphen-english-58609"="6v8rhjy3pajym7ffgmzq3rfcvhkgllkn";
-"impatient.doc-2020"="k5gz1ihjchagbwmr4g3l0rbdm470nn42";
-"intro-scientific.doc-5th_edition"="qx170vpq4ahipljnmhkvbrxv1xdbbii6";
-"knuth-errata.doc-58682"="j6din2w33ghgz7a10la5w480b3lii31l";
-"knuth-pdf.doc-1.1"="ch4x6j13x8gp37phd1zwp258k2ykag02";
-"l2tabu-english.doc-1.8.5.7"="j7m684bvmpv1jaa6s856dj9aknrwlqiq";
-"latex-brochure.doc-40612"="azp69yf9xkksqan9n096wabgxlk9hgsn";
-"latex-course.doc-2"="km59hhadaad0hlpa07rqmx91036h123r";
-"latex-doc-ptr.doc-57311"="2ckpyrc8nls1jxlpnpg4g9rnw91djc2y";
-"latex-graphics-companion.doc-29235"="70mixdsyyx6jf6dc46qp5kgyx9qwkma2";
-"latex-refsheet.doc-1.2"="9gvmiiqg78xn8348cymz3wfzi45mf8xz";
-"latex-veryshortguide.doc-0.7"="dv3ikj9drgivpsapvl9jpkbww3h839ya";
-"latex-web-companion.doc-29349"="wzj6qw8bhwr82ipsph640ya62mpj6k3r";
-"latex2e-help-texinfo.doc-57213"="jmg3aygadzdj3jvdsd26rvg9ipjbwq7d";
-"latex4wp.doc-1.0.10"="bxffry3cy7vkcjhdm5yzn4hipma74jdp";
-"latexcheat.doc-1.13"="iav6gzdcadndwli0jar6d7i1711ssq41";
-"latexcourse-rug.doc-1.1"="fxz46xn5hazqy707qrf2mkgk121m6ywv";
-"latexfileinfo-pkgs-0.22"="1hjiwxdk07hl42nyb14azh2w8jyyljil";
-"latexfileinfo-pkgs.doc-0.22"="4y6qxvdwzifa0xj1r2xrp2g5xi7q2ssr";
-"latexfileinfo-pkgs.source-0.22"="b7h771sg8f6c8fq8j7vjbq0yhsp836a5";
-"lshort-english.doc-6.4"="yjrqmrmxrzynpadsdaja2shqyivd05cz";
-"macros2e-0.4a"="5kjjl3wkq04kshrlrrz4qqb4m61mz4lf";
-"macros2e.doc-0.4a"="9rgjs3scm8wavsbgljxy7rpgdwy3nsl7";
-"math-into-latex-4.doc-44131"="0k2w8mjvn4h6jplrks9mxj6m1bnfmlz0";
-"maths-symbols.doc-3.4"="xi1pjz6rhyw79b10fpdfaa8vc5sf1wlf";
-"memdesign.doc-48664"="92v86h91snhrnssghhllvr0h05cacpm4";
-"metafont-beginners.doc-29803"="7ql41977dp698l2fjlq2xyf221y6xn2f";
-"metapost-examples.doc-15878"="ljbvw9v7xilmkzmifm1vx18dfvqlw6k6";
-"patgen2-tutorial.doc-16490"="3wv4sk7yw0mpy0rsd1j04m8mqsbi465n";
-"pictexsum.doc-24965"="mcxxxznqh0a94sip9vpdbjv5nv83j66s";
-"plain-doc.doc-28424"="5bqxdfbl4fvgvw42033vg9w3kjn7pn49";
-"short-math-guide.doc-2.0"="34mdd47c63946iz86c2r0g2jx11q4mhc";
-"simplified-latex.doc-20620"="mmxjkyv4x0am911mkxmjs1l5ql5z19h9";
-"startlatex2e.doc-56809"="hd5dhdc0klww7vhrn0q0d77lr3frlcw3";
-"svg-inkscape.doc-32199"="l8vizn8al3rzgxxamdfqm6hsrh46xm8m";
-"tamethebeast.doc-1.4"="14cs89g2l3bn3xhfrhrw9pfdf65c2xcy";
-"tds.doc-1.1"="fmmdgblpf26x9ajn16g024sn5sbwwy0s";
-"tex-font-errors-cheatsheet.doc-0.1"="4a38bjpzdbj91msw8kaxmk3c6qahq1r5";
-"tex-nutshell.doc-0.6"="63x33mvz12vg7srrhcdbq8jbcz611zla";
-"tex-overview.doc-0.2"="bj9pak1z31fwblcv5bj2imd4p33bi79s";
-"tex-refs.doc-0.4.8"="ad80b3r5rgj7n4m2hc5r6ccjczikff3v";
-"texbytopic.doc-15878"="vcr4rwfg8m85mrlsp0hg3ic0gmd0zcdw";
-"texonly.doc-2"="x2h7skds6icw56bg0p8f4aaryn52sz75";
-"titlepages.doc-19457"="g0fvssp703yk3c2icdb8qgalxikm0xq9";
-"tlc2.doc-26096"="k8qb9ak5wx7k4c4j5g5i681di8cc8p5s";
-"tlmgrbasics.doc-56221"="cp4cwr8k9sjq58mm67qf23swal2jqaah";
-"undergradmath.doc-57286"="58rd10vaavwf003gq73yk82hlxzmvcva";
-"visualfaq.doc-38647"="mdskjr2m6y0ljhczhqmfm50xsv8x4k1m";
-"webguide.doc-25813"="xbp0q21rqfq5gmckdfkc671kbr6gj1n8";
-"xetexref.doc-56291"="4ljbfwhzmwq71nfgqfkijqa27hsd3y2i";
-"armtex-3.0-beta3"="vg6qlgg6nzci26mnphkbcpc8vak9jwbq";
-"armtex.doc-3.0-beta3"="fam9bkmfjn2v54v3f2xjxjarbrf3adhz";
-"babel-albanian-1.0d"="yqrwj8mb7773j1svwl5chhxg15rqskxh";
-"babel-albanian.doc-1.0d"="fpsfzmk847y3c6q5jq42dqz4sfm54yvs";
-"babel-albanian.source-1.0d"="xii1mv9hbv4f7xd1c13rxn53v99bjxnw";
-"babel-bosnian-1.1"="l6pdr8hm15swhzxx5ly2rd24jnscsyiz";
-"babel-bosnian.doc-1.1"="gahvgi7r3rs553pi00l1q33k3bz59pqa";
-"babel-bosnian.source-1.1"="idi2fhr3wfq31pz63d3fi0zkjm58gzxi";
-"babel-breton-1.0h"="xx0vkazacywgvv0p8yrngvxwk4pmmhi7";
-"babel-breton.doc-1.0h"="jq8477sjlkv398r3r4w0f1r5f35bq8x7";
-"babel-breton.source-1.0h"="pdrxwqva0cm48qpz6q7g6ajcy5kn6s1r";
-"babel-croatian-1.3l"="phasgq7qfxxhvcprkyc0r6wy68q4yls2";
-"babel-croatian.doc-1.3l"="csmz7g2gzm4nr5zmw3z1s9fwwk2r7fk7";
-"babel-croatian.source-1.3l"="2x239jcr4qky01xf2ddhf9pbj79s8xim";
-"babel-danish-1.3s"="nwah0savjlvkk3q4f20hzw026pfd8rmy";
-"babel-danish.doc-1.3s"="q3mv2kx9b526span0xkmsj2mgqx615lq";
-"babel-danish.source-1.3s"="g0wrjd3n0pfmy4xzqbpv2mjm66wlzbym";
-"babel-dutch-3.8j"="4x9m1a08si80i831sgbgjnaa88bfvafp";
-"babel-dutch.doc-3.8j"="l3pigzhgp2jlb9dir38vnbkgkb0ji1xf";
-"babel-dutch.source-3.8j"="cx1l3xndvpvjins8f1rz4z3pqq86rwi9";
-"babel-estonian-1.1a"="pn52pj8gprmsqf7f7i97vllrkjjm2bbh";
-"babel-estonian.doc-1.1a"="nchqv4ahbhjrh6g49fj8xpjv1ghlqzn9";
-"babel-estonian.source-1.1a"="8d3nvwgv9bvhhxsgdicdlf3gsrscaxsi";
-"babel-finnish-1.3s"="wsh1av6jah69rsdz5pgy1mbfblvlfv3i";
-"babel-finnish.doc-1.3s"="i4fbbjfa0bcb4b7yb2hsk9jr19np7ixk";
-"babel-finnish.source-1.3s"="5ycx90jfzs1y0skk0c9r2qlix87hq0xv";
-"babel-friulan-1.3"="xjbsgl2xyfqfrdyv83c6g5h2qnjzw7vf";
-"babel-friulan.doc-1.3"="m4n4fysx9qxf13c39jm4xq624y6jkagd";
-"babel-friulan.source-1.3"="yf6xqza856qdbxdysw08v707h0pcj7sq";
-"babel-hungarian-1.5c"="5l7i970llxwxzy75dy9an9czkbp9p049";
-"babel-hungarian.doc-1.5c"="czi272jfp95lckd97gkq46lrvz3r63wl";
-"babel-icelandic-1.3"="9rkw2wf3b55cs8d29xzpnh5b7k64hhkf";
-"babel-icelandic.doc-1.3"="gjwyjj570d9vwcq6zvzrsi0x8gz240k1";
-"babel-icelandic.source-1.3"="w3kq7v6nwwc6jqr2jrg9a535hgh0nrgp";
-"babel-irish-1.0h"="1y1j2vrdl4piipf9p57028dkmd05y5rv";
-"babel-irish.doc-1.0h"="3kz3sk14j8kfrym9wlvqkgzvik1xjs4h";
-"babel-irish.source-1.0h"="s1g9x340z49y1kgi8b5b1jql1ri2ckby";
-"babel-kurmanji-1.1"="fj2i35f0i3s7gc1qz6jlx68ygnyd4jrk";
-"babel-kurmanji.doc-1.1"="0ys7iva1xqyk72bz0clk7c822wwxsrbj";
-"babel-kurmanji.source-1.1"="wlnp3c18xhb6n8272jq1pp30h6dfqsfz";
-"babel-latin-3.5"="6y97fgf0ivppj9aq77dd4cfgdgzz0gdw";
-"babel-latin.doc-3.5"="dm7bj4snbnf6vxajv9ayz5x7rp4dc6fl";
-"babel-latin.source-3.5"="8cbyxf31qxs6a0pa0xlc2hdxdqxmhlj5";
-"babel-latvian-2.0b"="7m0a5mr8mwxn3hm88ky0nrv88vzqrfsd";
-"babel-latvian.doc-2.0b"="b5zrhmss194cr40s38rmdh58l7y7zp9k";
-"babel-latvian.source-2.0b"="4k79lcf0rafnkk0qzz4qj15wg3hh46j1";
-"babel-macedonian-39587"="y443c0n5dygb6pf923kwj4fv8y991gg7";
-"babel-macedonian.doc-39587"="gk8d4ijhz5dhnlv9jdc6v48fm9zfcai6";
-"babel-macedonian.source-39587"="jfr605jrv1sywgpkhi05v6n6s96vfyq2";
-"babel-norsk-2.0i"="3a2xqwwyj2pv7ndgaxk11wvb7qanc9qk";
-"babel-norsk.doc-2.0i"="dhi39fgchh0ll1hl2si5qgygi2qsg8bj";
-"babel-norsk.source-2.0i"="qyx1rcxw0zghnc8wrh94yr9i5jkh142k";
-"babel-occitan-0.2"="yzlkm8lf34x1c1q6lvc5shf6fcazz678";
-"babel-occitan.doc-0.2"="ins60sfci09fssxs30mr4kj5c2pj8q02";
-"babel-occitan.source-0.2"="k2s35hvvw47kg5xmqvd63a590y6xhp7c";
-"babel-piedmontese-1.0"="5w9k0d2acxvdsz2p641y5hs96ck0y96w";
-"babel-piedmontese.doc-1.0"="77l935hchidfp11cxwa0zr9wbh3qmbz3";
-"babel-piedmontese.source-1.0"="8pmfjyqsrzxxwqh032dxgs1mdj6siwgj";
-"babel-romanian-1.2m"="3llj7gmcw97x5spxf6j6qnag8xq011qv";
-"babel-romanian.doc-1.2m"="8y24zvykyn1nkdhmx0zw7jvmq09b2vbd";
-"babel-romanian.source-1.2m"="7dygndckqg9a0mk6lm788n1iqnhnh2qm";
-"babel-romansh-30286"="2k6ik89i06j3l29bl8yp7dbm79qgzcb3";
-"babel-romansh.doc-30286"="risjnmxysc7r7va4f3mapz7kvxi01xc9";
-"babel-romansh.source-30286"="hnlwwjxzrv9fsanajh23pr8wirlp87gh";
-"babel-samin-1.0c"="2vg2wrjl0pllgbppkx4bcykcjil8driw";
-"babel-samin.doc-1.0c"="k69nnc0vsw2xhrkqilhqzqv9v4h5fy99";
-"babel-samin.source-1.0c"="p7ywdk038cryll8rr2sy8d8m4qb09k5l";
-"babel-scottish-1.0g"="r9zphrdcdd213xi2sw11mqa1l9hj86c2";
-"babel-scottish.doc-1.0g"="c97pnx5fq4yr02q4ddp7g15h0d5yw838";
-"babel-scottish.source-1.0g"="awb6gq1m0hcya2zfw9dwqddhvwkww1mv";
-"babel-slovenian-1.2n"="k9mwn2rv7dwm6cinhmhgp7xbkjf9c9rg";
-"babel-slovenian.doc-1.2n"="frkal3wzi4svfdfh7hwrfs4j34wfxbnv";
-"babel-slovenian.source-1.2n"="4rqpsks512vp6dkxnxhd0qp8hdsdd4kv";
-"babel-swedish-2.3e"="cm247dcxa00d3fwnfga09pkixp3q69sh";
-"babel-swedish.doc-2.3e"="zj7qbwmxql2v4zy1ax5xrfvwyjwnycpv";
-"babel-swedish.source-2.3e"="wbx3jh5cy31lwjyf4qqb0gryysy88pqg";
-"babel-turkish-1.4"="f9xzk8x8q6gd734xa2kyag3j3lcij81d";
-"babel-turkish.doc-1.4"="43yq2kcxf9gjh1ajnahxia0vbq8sv417";
-"babel-turkish.source-1.4"="yx5ihjbky6ls36nx14lxbvjswasba7vl";
-"babel-welsh-1.1a"="dcjbzz80i41bpzb99wdhb84h60y5qg1r";
-"babel-welsh.doc-1.1a"="5p0mqvs4npnz3g6a08hqkf03n2w4pdc1";
-"babel-welsh.source-1.1a"="9fx2i5lxyf8qc0brlrgas2ajzf013m6j";
-"finbib-15878"="aja1ihjvva3aa86xi1f8d563xvlcj5mb";
-"gloss-occitan.doc-0.1"="8wfn7as272hvm7nxz0i5m48bf94b5m0z";
-"gloss-occitan.source-0.1"="qv9zd6r6rmjbfsndm7qgsz7x6xkr14ms";
-"hrlatex-0.23"="7dr0g80mp71nmvrnwahpshawi44s2s9x";
-"hrlatex.doc-0.23"="lrx3m4bg9wlqlrcd08mh90wal16fvilg";
-"hrlatex.source-0.23"="s5ajy6yi6nzivfwafk5ymav4j2dcgif4";
-"hulipsum-1.1"="1glcsnk30qpbxcd522vi4ddnhk3zdqym";
-"hulipsum.doc-1.1"="py5pklwmr7i1w63rhkysxw5s312i22fn";
-"hulipsum.source-1.1"="m7il2x4h4zwivgzxq9zzlc57xdd64m54";
-"hyphen-croatian-58652"="xfaba9fc5nc5d6akg9dbzanhs5ik03j0";
-"hyphen-danish-58652"="cc3hb52djljnrsgvv799hb0iwi4by441";
-"hyphen-dutch-1.1"="6aab3qr3i70ky09w256l8rdpkr1hs40r";
-"hyphen-estonian-58652"="z0z3kj73bc54sbhwnaills2ck8a4grb4";
-"hyphen-finnish-58652"="klp5hh931n7lhh607sh8apdna27rn5vg";
-"hyphen-friulan-58652"="kdi4b0wkraiv1h35ll25lnr5bbqii38i";
-"hyphen-hungarian-58652"="8bl805dn05g0bwkwyh2xcih8nh67vkfc";
-"hyphen-hungarian.doc-58652"="ycdkj87kpnvaxc5szx0vcacy8rg6i7lj";
-"hyphen-icelandic-58652"="35qvciy9gvnsva5iwxvrbwblcbwyr4fa";
-"hyphen-irish-58609"="6xh0w7ch63zrrima22k2gqc28n11wigg";
-"hyphen-kurmanji-58652"="inifz54iax8z7hw7zvalp5zcc31dr3nz";
-"hyphen-latin-3.1"="wvhrxyl61wpl04izij0g7464phxhygic";
-"hyphen-latvian-58652"="livlv0vqfzrppski6i8m437q0fc12scn";
-"hyphen-lithuanian-58652"="bfdnrgdz8cb239apy8136asp6fakcppn";
-"hyphen-macedonian-58652"="2gridvcfsj4l3sdsfcwsjh52qb4hl5mw";
-"hyphen-norwegian-58609"="8zyqcrxlbi88mlw8qjcg8ssng98dzv42";
-"hyphen-occitan-58652"="4bxv588sldpqy12m8b8yzy04pxlw5wpq";
-"hyphen-piedmontese-58652"="6m6d7h8g2dlxv68pqq9d057mz7y8l865";
-"hyphen-romanian-58652"="hp1fdvm0b9rk4lk6cfr0qzilz94vcn0s";
-"hyphen-romansh-58652"="dsskfiivm7191gpl79017x20xrkqmbyy";
-"hyphen-slovenian-58652"="81kfnmpf3mc4wa6fir8dxac6ly3iiwph";
-"hyphen-swedish-58652"="zs6knrma5ngdr03fmhjc9qy25225yryj";
-"hyphen-turkish-58652"="bqwi6m8j33p54dii3i6a7hvs07swlsvs";
-"hyphen-turkish.source-58652"="4xv9azgkq91m4afsp9kvsq0f9ajxqfvl";
-"hyphen-uppersorbian-58609"="vfms8wd9mx5sx0phc8l56k3rmlas9rh9";
-"hyphen-welsh-58652"="r7k8sgvxdd3bnclyprwj3idpf06j09gc";
-"lithuanian-46039"="p7vd2rv8md0a1gnyd9jj1ill09dfxmk1";
-"lithuanian.doc-46039"="x4nf13nhkbrn2cnn9gi06zavch8hjr4r";
-"lshort-dutch.doc-1.3"="rswbmzd9fkb0bwbc054pb0raa8zv2lfx";
-"lshort-estonian.doc-5.05"="2xqk5n14f2lizqdisir199mark4y5v2k";
-"lshort-finnish.doc-15878"="5jp8rkaw7qvrv8mpdnbmhg0m53566n8c";
-"lshort-slovenian.doc-4.20"="1w0g2p1l4p456wsx86ihdpadm8lhhcgn";
-"lshort-turkish.doc-4.20"="py0d16ij5gswbli1bgi4z63vajsahwjp";
-"nevelok-1.03"="v5hds3a09c91d79iac1qsyf0mr6lpaqg";
-"nevelok.doc-1.03"="biq2dbyv6mak992s0cqb834k119xfa0p";
-"nevelok.source-1.03"="5c03z6r25gidf0bncaanw1259n1hcdw0";
-"rojud-1.2"="z3b1grijbh986rpa49fncmfwj3lkjmcs";
-"rojud.doc-1.2"="xv1iy0filv53va4r8f99710ahb8cd0h1";
-"swebib-15878"="5z0719m62712flc3ylrnp5223gbsk98n";
-"swebib.doc-15878"="m23nfcdd5ddlgicd8hzlyfnr042y3bjp";
-"turkmen-0.2"="r8ryr694sxginv96wy2ibwg7mjwckmy0";
-"turkmen.doc-0.2"="ry7di8dm2nk9gbylnm58zrmlpilbch55";
-"turkmen.source-0.2"="jab2389x3cj6hhg0imkfbjcglclqap2s";
-"aeguill-15878"="2qlipazg1v8pj58aym9zwqqzfvprw29f";
-"aeguill.doc-15878"="q4gvvin01hkwmcc2llrkd61pr6dsmwp8";
-"annee-scolaire-1.6"="r0kwlnx1bhflkj35dwz9malgjhjhf3fy";
-"annee-scolaire.doc-1.6"="3rc70b93ciiw5r7mq5rpfd933ccbvh7p";
-"annee-scolaire.source-1.6"="jbl0zrqvrndbvpdn52lm212b95bv9k86";
-"apprendre-a-programmer-en-tex.doc-57179"="x4qrlzv0s9prq4hjb20kn0dcff7xmgzv";
-"apprends-latex.doc-4.02"="fy3lj0gsk1nkcfp2ssyfm26a7ih2ysf5";
-"babel-basque-1.0f"="dasllbbd2k1yhqdwm41i38870lzp9caa";
-"babel-basque.doc-1.0f"="av6dd29g89fsq2hgva9fj4h2myj95jxk";
-"babel-basque.source-1.0f"="mvvhhqj4jd107zicv0gv8yhgjkjhxl33";
-"babel-french-3.5l"="sl1vn19njwbvy86dsx3xcixvc5kx925r";
-"babel-french.doc-3.5l"="mh277xcfj2lql9dpqfwr5ms75fslk290";
-"babel-french.source-3.5l"="rrgl05jg8dsdn292cz2pwr6mm765ca8g";
-"basque-book-1.20"="6gmya3w1jnv20p9zyn3b8b095csb45cj";
-"basque-book.doc-1.20"="njw9j7s7mlx35ckjg0z404fizyxpn74n";
-"basque-book.source-1.20"="wydda9ij2ibwnhd8b0pg48bf2f1g969f";
-"basque-date-1.05"="yj2akqid1c810hqjl3giy4yd6dmcz8jh";
-"basque-date.doc-1.05"="kg7m3skhba5kp2iwf6s687l9r0n4yq8k";
-"basque-date.source-1.05"="j1ad62kaxq7yf7bm1l4vgzzwjswhrxj2";
-"bib-fr-1.5"="d2v9lhayizx8carld94ica03ig34mjsi";
-"bib-fr.doc-1.5"="21c1p7mka1a4y2qc5b8wqj25h4il9pjs";
-"bibleref-french-2.3.3"="2svzj11s46m1hiwfdd2flgyf5yhavc1i";
-"bibleref-french.doc-2.3.3"="2rq73q3xdd9fxpj6nancvh4whbj7c3r6";
-"bibleref-french.source-2.3.3"="93vrfm7va8s917dln2x27j7qqvhf8y7k";
-"booktabs-fr.doc-1.00"="8nmky9zjr4s9s8kikir9l4w6y69yk1vr";
-"droit-fr-1.2"="kqd2m29if8y21y5l72z5k0f6dafm95sj";
-"droit-fr.doc-1.2"="ss2xw9f26frzv9m2xvwbmvgagdhabc69";
-"e-french-6.11"="y1yab7pd915kbnwi20zair37a9haf2is";
-"e-french.doc-6.11"="9dcj407a8vn2j4h3q54s2wrbj5fiawm1";
-"epslatex-fr.doc-19440"="7kqdhx5drijbah1yl3vrwax3cnxg5zdk";
-"expose-expl3-dunkerque-2019.doc-1.2"="bd5qbhbkk8dvbcl434mird26c7dgy3js";
-"facture-1.2.2"="ys1fq6vkml8gnfc6bjkx2lkbdw2w0fsn";
-"facture.doc-1.2.2"="ij99my45fi9m1lcc79rj6kyxggmv4v3r";
-"facture.source-1.2.2"="aywgffiyigrwxv9lipf7a131mycjp839";
-"formation-latex-ul.doc-2020.10"="lwwcc5rjbnqccskh19scmf6zsy85a4ra";
-"formation-latex-ul.source-2020.10"="hc8lyb7812bzqfaps76jk8fjyfsfbfn0";
-"frenchmath-1.5"="9farb3by3rv5q3i791d52aizc1z9h57q";
-"frenchmath.doc-1.5"="z4y6qbx3nc5rnqizjfk3rwsmzia6cgf5";
-"frenchmath.source-1.5"="sz9288008axr9di9bnrkkjcf9pmzm0pi";
-"frletter-15878"="4vqb93fvw2jmyxv1f269f6icnk4wbwpl";
-"frletter.doc-15878"="pg2pg5gsjpp0iyzapm6k1m4p95fkbi4h";
-"frpseudocode-0.3.0"="d088q642bl3bnaz4lfla7sr73rg916l4";
-"frpseudocode.doc-0.3.0"="f8dypi9jx2yc1xmp4jd0hsjrfg9wpsnp";
-"hyphen-basque-58652"="a4067hkbl5wnwyphjqd9b6gmqdpqy78y";
-"hyphen-basque.source-58652"="vq3bxdrcsgdmiqfjxfcy9w5jihxf78qf";
-"hyphen-french-58652"="vg6420n45z9g8h587j0gg1y7vmm4732v";
-"impatient-fr.doc-2020"="sjzbiaxr5cvnqxn7bylr5zhrkq46l1v8";
-"impnattypo-1.5"="ypvjmb0ys3c5f0mdlcsiljjb94h567wv";
-"impnattypo.doc-1.5"="q72pgsqjgmxrgclh3lziqv83h1r6020j";
-"impnattypo.source-1.5"="z4vzzjjhrxpaj91zqhzg6mx52av49qkq";
-"l2tabu-french.doc-2.3"="ncl8is1rmnk3n9ybrsav882w5qsb1w2k";
-"latex2e-help-texinfo-fr.doc-57275"="7ifzcfqj7hsdliym14msbjvjimh2r2y5";
-"lshort-french.doc-5.01fr-0"="33vkjmz23zk2jrzyw99zri58jm0cpxax";
-"mafr-1.0"="vl6jgzlqqyn70cndvj91nnkmcxas15j8";
-"mafr.doc-1.0"="v44yahqn2gnnfbnf1ayqr96va6y49aij";
-"matapli-1.1"="z7rrjrqpg55jvva8dhflvvq4qxfmkv83";
-"matapli.doc-1.1"="wrc78syycn2i4vpqdlfbyw3l91hym0g5";
-"profcollege-0.98"="mmaksdp7rilyaa36fhq0dvy3827ci3f4";
-"profcollege.doc-0.98"="cfvvspn4s8f3kypgqskax2ybsc4ki267";
-"tabvar-1.7"="2advqwyg0ahn8xfid3639ivz56rpgkq4";
-"tabvar.doc-1.7"="7zcvqmdzaj9cg0nwyns5720g5jsvhr84";
-"tabvar.source-1.7"="wr3y7w9bb7zdjapiv3w3g1bxndrlirfr";
-"tdsfrmath-1.3"="5nz3qrfq13xyhabzww6092mb13014rhj";
-"tdsfrmath.doc-1.3"="8nnvlh3hw79z3k6c6vsvgnvkq814ldsv";
-"tdsfrmath.source-1.3"="3hfid9ih338p675pz6440f3ds5r3s646";
-"texlive-fr.doc-58579"="zl3s2iahkv179vx5r2rpvsklwispayh8";
-"translation-array-fr.doc-24344"="yia92yfpyrwv26vh12kks8arbsda05z4";
-"translation-dcolumn-fr.doc-24345"="acapy2zx06rsxwg810avmphyjjxca6gi";
-"translation-natbib-fr.doc-25105"="8yvcb3s928s5lldgy65idpfw23pb46z2";
-"translation-tabbing-fr.doc-24228"="64ix6i3bvaniiw7xj42bhqqmzv474lfy";
-"variations-0.3"="md5bnc4jaiva00gkdjyd63x67hyd09si";
-"variations.doc-0.3"="pxbpjpnsfz728czc4pjfy2nfr88dzmr8";
-"visualtikz.doc-0.65"="2rc26mlib7xnlpgc2l82ky4fcpyv7013";
-"apalike-german-54080"="hyclqnv85va4qmrr89zz8fhsfyqkqx3z";
-"apalike-german.doc-54080"="gqfzgv3kxzskvw0j6n23vsrs8b70vavv";
-"babel-german-2.13"="49ppqr4pq0cxhfh6slp1hksbb33z4nyd";
-"babel-german.doc-2.13"="4kvyx13cjidacidys46nqypsnhcs1lix";
-"babel-german.source-2.13"="nanhfc2zxlrabv2486yf1flm1gs9lxcf";
-"bibleref-german-1.0a"="wd8gzs1hrjyq9dmsjy6ss1qg0krlrzyd";
-"bibleref-german.doc-1.0a"="yc6vn69gsdsl3vxhg6klip8m6wkffyy0";
-"booktabs-de.doc-1.61803"="wcz4xqg22sijz3rczwk6nfnb0pk074ih";
-"csquotes-de.doc-1.01"="bksp4f2zywwkv5qw4njincxbpgcvz7dg";
-"dehyph-exptl-0.7"="jxsyyxrvgnrp9wh1hs5cpps42lg00mbl";
-"dehyph-exptl.doc-0.7"="7rqw83a7rjdiwav4hvc7l4g618g3yj4p";
-"dhua-0.11"="4n8cvm61marrsbxd7308xw089j0q2wlj";
-"dhua.doc-0.11"="kisr6kymm9v5kk9nfxi0ckdf6k8mhr91";
-"dhua.source-0.11"="a9ap1rwrqqwh394c6hjqx5nlw070iwp6";
-"dtk-bibliography.doc-2021-01"="k5imw7ij0kdicmqipk5f9njhinb8cxr6";
-"etdipa.doc-2.6"="cid5wjvbs4hl5lwczp1s1wbdwxfwr24n";
-"etoolbox-de.doc-1"="z53x50c71bvipgvgklp42n1yb50fq8gx";
-"fifinddo-info.doc-1.1b"="d7l7nsb4aj2b7nin8whkif0m5pcv11py";
-"fifinddo-info.source-1.1b"="dpl4j9iigb7q8dqi5srykpkr1syvcnpm";
-"german-2.5e"="mwin3zb743v74c97aizyiy86zj1pmdi2";
-"german.doc-2.5e"="invdh78rq8chiirzdlvijssdah8hsyk2";
-"german.source-2.5e"="zs1qxbd8r3bfyq77vaak9srxjxxn213v";
-"germbib-15878"="g11ayb7d5hj8s77kn9zvkvgfhdb0f4nf";
-"germbib.doc-15878"="vskc1hanqpmdm6p0v2np2slblpy8cf70";
-"germkorr-1.0"="szywjh1bj2jqc6zqs5d1y1dwxq9h8540";
-"germkorr.doc-1.0"="bycbcbfrqs1r8l939kdm9f6s395rc5fh";
-"hausarbeit-jura-2.1.0"="8j8q1xphy3dq2iz56p4p686ld2n9hs1s";
-"hausarbeit-jura.doc-2.1.0"="z4jxmrsysgbkdgqnnqw4qkg8al95qgkv";
-"hausarbeit-jura.source-2.1.0"="9666vwqnxpa5yc5z1v949rzwb7z0mdvj";
-"hyphen-german-58652"="4x92isgn5wglmhz2f15gyb3i07gc6iqv";
-"koma-script-examples.doc-47523"="rzy2nsllyfdm00lrllk3k8i8yxgvppfk";
-"l2picfaq.doc-1.50"="35c7cwi94qazkf5351kj5hl58xil9nms";
-"l2tabu.doc-2.4"="4sab9w752r7xr6l9a6sxig4q0sdfvfxr";
-"latexcheat-de.doc-35702"="fjpnrnl8fkv5lnvhg6rmijic0k2yshrf";
-"lshort-german.doc-3.0c"="aplln16lhlxfrck1lgjgsrng7zbgpsqr";
-"lualatex-doc-de.doc-1.0"="9l7ac63knl5cd6lxmrbnmjj8s0nwp5bh";
-"microtype-de.doc-2.4"="22zsps3wqlz58x3x1i3wadbn5jp9mba7";
-"milog-1.0"="lz3w4rhsgbl699hh8431yw6a9si6y9yy";
-"milog.doc-1.0"="zf9qx558g8z5xl906x391c6hylz57x8x";
-"quran-de-0.2"="ff9jx5anj2mzsqkqqjblqzignl01iry3";
-"quran-de.doc-0.2"="zncdmrlmzcnmcw7jnl6vr1cgh5v59cjg";
-"r_und_s-1.3i"="8vn7cjc42dvny30pkgp768yy87z9d2b8";
-"r_und_s.doc-1.3i"="pk63m1jl1yzz2xqiwynpph3nrlri1hkl";
-"schulmathematik-1.1"="80jw085z3w9wchjnwhk180fmn4abgq82";
-"schulmathematik.doc-1.1"="yj5f6phsnrzb2zpy2lf8j77d3kdlfddc";
-"templates-fenn.doc-15878"="yy9rn7m9r0paxvya3icnbqwccpjkkbij";
-"templates-sommer.doc-15878"="6n6saza6xd8mjys1ckfy0362sdya4616";
-"termcal-de-2.0"="pql7q4dqaqgg0arqgg7l8iz4hwxrxd7x";
-"termcal-de.doc-2.0"="fpjnpzi59rrqg44j513w4d6f9cqi7ik0";
-"termcal-de.source-2.0"="myc9fjxig0z3dirj1brla1q70ryrczrr";
-"texlive-de.doc-58648"="g1d98sq8c3s0a9xwh1mpgcnflyjp94j6";
-"tipa-de.doc-1.3"="aa0msh91ynxxigmbxwy72i05g095fwxg";
-"translation-arsclassica-de.doc-23803"="xayn50bvfkyf5fh93426fg2m6mmvpdwc";
-"translation-biblatex-de.doc-3.15a"="7zywqngwjg4k5za1l6v7r3xw4rcvh8yf";
-"translation-chemsym-de.doc-23804"="khd057lr5p42wqz3p6n58d2z25jdknrp";
-"translation-ecv-de.doc-24754"="7yrn8n7071yasf0lpswz8dis0vkjg33g";
-"translation-enumitem-de.doc-24196"="8c46h1y6mpz736w2nh01jkh96n0ar2jx";
-"translation-europecv-de.doc-23840"="541qkhphqn2f3bba6prrf2npqxl022ah";
-"translation-filecontents-de.doc-24010"="9c59fnc6krcsswc3hsd4aimzfvycqp59";
-"translation-moreverb-de.doc-23957"="1j0hyf240k1q27li0dnnw0cs4mi2j86w";
-"udesoftec-1.7.1"="7b8lzicjalp3cgls7lfjav3bpfpxswfb";
-"udesoftec.doc-1.7.1"="5qbbj42a6cq2zjqlk7krzcxmqrxxbifx";
-"udesoftec.source-1.7.1"="9691mzdw7rax33x6mqxrxcb3vvyhawq1";
-"uhrzeit-0.2c"="5fwbnq0kjdcd88bmf0yscqvz1q47rlgx";
-"uhrzeit.doc-0.2c"="22iimwpxs90xz0c6l9v7aq6l4wqm39bl";
-"umlaute-2.1"="097i2xib6dk7g0pbn7h5blv9jnny07b0";
-"umlaute.doc-2.1"="hkjv5ym6954i5l2qxv3jm3p1prbn55h9";
-"umlaute.source-2.1"="p6217bas6hm8kksip8jkb2bhdpa9p91w";
-"voss-mathcol.doc-0.1"="f15dshkczyv9r9a6vzps3ls1cz95sk8v";
-"babel-greek-1.10"="17bc657ll0aacq85s967yypmalya2krv";
-"babel-greek.doc-1.10"="3h72jkrqpa3jjw1091gix8rvwgwy78j2";
-"babel-greek.source-1.10"="yhx2b0dnjfy591xj1c2qw24hf7npwqii";
-"begingreek-1.5"="7v94fdb2kxzwgvcsjfd5gnqpjhsrgp9i";
-"begingreek.doc-1.5"="rgiglmyfkxghz1w9g67lyx28rvk2bwgc";
-"begingreek.source-1.5"="jscz6nq9n7aq1l3j86xyvki200ja40p5";
-"betababel-0.5"="0sk4kkbjx7swjxgrb3xiy1m7933avcz8";
-"betababel.doc-0.5"="3pd2x8h9mybnwkg71irzkn0n2rd0a8rc";
-"gfsbaskerville-1.0"="vjawsy59q3xnr1hmzpjr1myqyb6f7gzf";
-"gfsbaskerville.doc-1.0"="7sx91lqgpn4w4xgbdbpsk41i5mxixqf2";
-"gfsporson-1.01"="k6gimiba8zfbnf4wc4zjrmwwc7ggnxkg";
-"gfsporson.doc-1.01"="6i47g0k5ys9q394g6q0a3686q4h75gz3";
-"greek-fontenc-2.0"="qcxq329yb8malcjbjc39rdylna76qvy8";
-"greek-fontenc.doc-2.0"="884sj5a8wq4vkjhsr9nnqzjjckhg59ah";
-"greek-fontenc.source-2.0"="2sjrw0m2an6m9gyrzx9dy0zj22yxjnlc";
-"greek-inputenc-1.7"="4fwqx35kx5yqpbg8hy83pgpm45gm1q6d";
-"greek-inputenc.doc-1.7"="1fwpw7k0xwbfgp38dxr9vw4hds93jbhm";
-"greekdates-1.0"="zm8cfpsxp12s6n38n7lgzha482124m7v";
-"greekdates.doc-1.0"="lyhisq5vmvxpmc1g59dxnpkxnvziddzk";
-"greekdates.source-1.0"="dy4cbvglp6fv0fd13mlm4x5wjfg97889";
-"greektex-28327"="zmms6d4vix6nzw6jc06iir73wj9swvir";
-"greektex.doc-28327"="p5f90xphw0ck7p6iw2gz6anki05v2b9y";
-"greektonoi-39419"="agnjlz6cdb3figh8g8kfnqah4ppzqqci";
-"greektonoi.doc-39419"="8mh04p3y9jizn5zdm63vr50nzk0rjcyv";
-"hyphen-ancientgreek-58652"="byr3wv40xc83pckkrbjgsz5lgpai72l7";
-"hyphen-greek-5"="kfiy4x85sxayg6418fq4xbdxkzaqk3g6";
-"hyphen-greek.doc-5"="r6v8qyqkrvnqn6729i7p3ah3vmgxnzrn";
-"ibycus-babel-3.0"="m0m76cgm1k930h85s6hi9qnlh86gf8z9";
-"ibycus-babel.doc-3.0"="fyc9gdakl47jq7p76pxi9l3ggqsqfwqg";
-"ibycus-babel.source-3.0"="samw380w28p4621z2f9fav06i9dzj3b0";
-"ibygrk-4.5"="3xwia8yqznfai0wjz7rc63dizdfc3n94";
-"ibygrk.doc-4.5"="ydy3swiwjr9r1j40fhkwhd2d7z614ipa";
-"kerkis-1.11"="4fdpjk9w3idk6gnj6m4hwrlqcxgwwl32";
-"kerkis.doc-1.11"="h0vmj6xbqzl50158pn1djgpkpzc2hy59";
-"levy-21750"="isfhykz3fkajjygnpl7psd2n9n9lzfwy";
-"levy.doc-21750"="y92455xr0yq62ppxd650vvxaknkb5qym";
-"lgreek-21818"="64pdy6vj1q7sg23xg31pw0mfznahcvzw";
-"lgreek.doc-21818"="iwa1xfg3sawwblifpgkc3na1r3hld02r";
-"mkgrkindex-2.0"="v5hb36lspx6xyzzpm8ryprr7mwwpcrm5";
-"mkgrkindex.doc-2.0"="mfpkm8mm8n0nqhzgnm70yjy16lzjvvhd";
-"teubner-5.4"="8g3543b6hs7c8nnfvppk9fzskw46mcg9";
-"teubner.doc-5.4"="1630zxsvnhjcfp6jwjpkbq6vv4q1wyzq";
-"teubner.source-5.4"="r1gy61lbnzdrkxwafxhprd4bgb0jbi1f";
-"xgreek-3.0.1"="742vxyljmp433rk26ap2rjqbfd7802ys";
-"xgreek.doc-3.0.1"="qdgh9jnqimis40pf5gj383j01ynx4cqb";
-"xgreek.source-3.0.1"="33imiba9m0sxmjxilflqzsysgr7vdv1q";
-"yannisgr-22613"="0pjpl0qghjh6qdgy7snalxyxw6ca6cwk";
-"yannisgr.doc-22613"="jx7mj6aw24ff9k4qcr51kdlk7xwpiflc";
-"amsldoc-it.doc-45662"="3xqg4bjhsk0r27g7absrq84nwy6zy265";
-"amsmath-it.doc-22930"="mrz7iav2jpify9h3vz703x863km3vb9r";
-"amsthdoc-it.doc-45662"="bpi907wji0gimbc22s86vg3fwv6fkpsq";
-"antanilipsum-0.8.1"="xs57fn5s9vqxy5d4vdnrkahsr2hw7gsk";
-"antanilipsum.doc-0.8.1"="0i3f9szqj3mkwdabl3rv6vlhcmyp760i";
-"antanilipsum.source-0.8.1"="gx0qxfv9x2a61lgskxjhqh2gcbhl0vb9";
-"babel-italian-1.4.04"="kdy10mhrd33inhg65a5n54ails7vgajg";
-"babel-italian.doc-1.4.04"="p3y3vccyihrkr4h1fgdismzxz19y57yw";
-"babel-italian.source-1.4.04"="wldaqvmicvdid53jg4mryg9fsl79yfjv";
-"codicefiscaleitaliano-1.2"="gqzlc6agkwysk75lzdxbkz4azawzyrjh";
-"codicefiscaleitaliano.doc-1.2"="c7spaihgf2fdimihsg5cf7xn5bczkw97";
-"codicefiscaleitaliano.source-1.2"="vxi0halq6yx9gwd0vkcmjx6am7dnjjg1";
-"fancyhdr-it.doc-21912"="nl2xsg3mppyni8ns9zij452dkkw4ayj0";
-"fixltxhyph-0.4"="gkadi0h5794bxkkb809162a1z7aicw78";
-"fixltxhyph.doc-0.4"="l2xq1rsc95fbk3saqnx86l9d73mvm92v";
-"fixltxhyph.source-0.4"="4nhcwfdf5gs7fc5iy5fph8yiq4wavjp3";
-"frontespizio-1.4a"="mqcrdj4b2abhq70zx1alxdm6hs3n4xnz";
-"frontespizio.doc-1.4a"="g6i79280jdkwhp4q9l69h7icm11l78bl";
-"frontespizio.source-1.4a"="gmdqk3hajrn0k5dhcdmyn1a7vxz6f3y7";
-"hyphen-italian-4.8g"="wpzx9zdasrv68604ldnmiz4szkcxkk9k";
-"itnumpar-1.0"="39ydhr855c2sb1xwfd12v61pphzmbc7g";
-"itnumpar.doc-1.0"="2qdpfrsffqfqvd42nn8yhicp8p3vvzk5";
-"itnumpar.source-1.0"="xd2bbq62fn23gbii6147m3n1c16pcgjb";
-"l2tabu-italian.doc-2.3"="p067k2azmr27v0dqbs6vkjl0dbbxywds";
-"latex4wp-it.doc-1.0.10"="7skz5gny3wm7s5h1sxqxjwgk5w5qr45c";
-"layaureo-0.2"="7qqhm139n1afxdpsmikzdyn7pn09hv9x";
-"layaureo.doc-0.2"="pf22ypfazq7hwxpfiidcvkd24zs1gys3";
-"layaureo.source-0.2"="3q0ixl7rw7sz7n2bfd8gyfnglfcq2hcs";
-"lshort-italian.doc-6.2"="r33gvxp6z6qzn1hfl3zcc0356514clmi";
-"psfrag-italian.doc-15878"="xb8qlcz7f0za963yybhjvbyjq37z516f";
-"texlive-it.doc-58653"="157hmx719qrgsy7723wgcmafb013k7h7";
-"verifica-1.3"="dm0n4wlbvx5621ldhj516pvlidqiigkn";
-"verifica.doc-1.3"="2pfdvki7wk8fhah50knvh01yq721yw30";
-"verifica.source-1.3"="n6qmhmpx4f2nhjinfqh1z3h370lx40mj";
-"ascmac-2.1"="5fiwx48hj22yr2f0x9q37jgwpvr7ixrm";
-"ascmac.doc-2.1"="nmfb4d9b21bsr7nqg5bgprxakj82ryy3";
-"ascmac.source-2.1"="9d6l1w7c7g8g88vfxxflrqhvmnf0miad";
-"babel-japanese-57733"="rpvw9g08l38mnmavd9mq9xckmbaky9ah";
-"babel-japanese.doc-57733"="28b08rnpyswdl254fj2xnksrkaapsb21";
-"babel-japanese.source-57733"="4akcq7klpblwll9p7c7d7vhb8r2ra48h";
-"bxbase-1.2"="cmpmcxr25044s63nagvkzb6zv8giyqh7";
-"bxbase.doc-1.2"="na2vh2jak4zvmibrpkis6jr21ly00904";
-"bxcjkjatype-0.3"="94n8gv2433510cq05vl97zrna0gyya1z";
-"bxcjkjatype.doc-0.3"="z6rarps2vgxp061w0q8amki68j51yqlx";
-"bxghost-0.3.0"="fmg8agh5563jny9106kxzn6ac0y9ypcc";
-"bxghost.doc-0.3.0"="ybrg38lhjrc3jfadkn3h9vacy2zwhycb";
-"bxjaholiday-1.1.0"="sqraclljhkpsgq4h9zvy3in7g6j85rrg";
-"bxjaholiday.doc-1.1.0"="d3cgw8izvja5vk7xhdy54rflgcs6n3in";
-"bxjalipsum-0.3a"="d6svafibkkjc5p3hjzrc8ibb2fwmm05c";
-"bxjalipsum.doc-0.3a"="srwc07mapyqn9hq6hy26gxaj6khy9ffh";
-"bxjaprnind-0.3b"="8pfq18sbkvqzb2may5j4n8xadgjb8a9l";
-"bxjaprnind.doc-0.3b"="1vsxn97w48hn05il79byfms5w6749xpc";
-"bxjatoucs-0.2"="hmb6rpwihwgfi7sq1zpf7yw12ibr17kw";
-"bxjatoucs.doc-0.2"="4nkg3si0bwryyyh0wpqnvkrmxmbnlin3";
-"bxjscls-2.5"="029q2i57xzf5vgsa02kks2vic3q6hha7";
-"bxjscls.doc-2.5"="9lq0jf4v2griph2g3km06p27sw7hqz7r";
-"bxjscls.source-2.5"="b4rz2j1i2h60bvygmc28wp3jy9bay238";
-"bxorigcapt-0.3"="lbrfjjqsjm4n5b7byyrhm1akbmxxap6d";
-"bxorigcapt.doc-0.3"="grspvjmbrcjq91wgi6l3a73y5l7nnl4m";
-"bxwareki-0.6"="rgw2day3m4vr0k6d2mbhrpy8anmzklc1";
-"bxwareki.doc-0.6"="5vh5zrnjy6mb8cg0q2zz1sgb2llz2anr";
-"convbkmk-0.30"="0y0b4dana3gnh74j0y43yp3f8ng0fm2v";
-"convbkmk.doc-0.30"="nvi9mfw8iiw923v54fdi5pk7r93y7vsc";
-"endnotesj-3.0"="p1524a2l6zsh2gl28im4rxzr7afy323b";
-"endnotesj.doc-3.0"="ksn1n0s90shsi65kgw4bppanfsbxrq0z";
-"gckanbun-1.2"="ar3jk8jsw8i2hngzp2dyd14l1r0mcjia";
-"gckanbun.doc-1.2"="jn34wm4nhv9367vzrzyag8bfdg2rcpr9";
-"gentombow-56665"="9i576fvl59r1gna7w5b76skw7hvbziv8";
-"gentombow.doc-56665"="qn40cv4xa1ah7khfpk4368sxqhr2yjqn";
-"haranoaji-20210130"="ylf23apm0i8idai95rgnirwdnqfna5hn";
-"haranoaji.doc-20210130"="5h27mpr4wwp1zgqwdyl4h0xb5fnix1av";
-"haranoaji-extra-20210130"="pksx6gjdxd31xy8qp5lkjmi5fkr0hdxh";
-"haranoaji-extra.doc-20210130"="f5511sw37ak58jazxzsd0nczwa254rnp";
-"ifptex-2.0"="vd33lyik4nfippj7dax3k8rbkpacc3c3";
-"ifptex.doc-2.0"="ii033xhz4lx24hwzmkqgff5w13q38fny";
-"ifxptex-0.2"="db7waqqfn8nrn8b3z4dh7dy846f2zxad";
-"ifxptex.doc-0.2"="y1039vpyrh9k2dyi1xws45a1gj3b6dv1";
-"ipaex-52032"="pxy5kyyznzddkci3pzdb7fla8gsfsqm5";
-"ipaex.doc-52032"="bv4h64z9gnd6jf3mx85b45dqxalicjcl";
-"japanese-otf-1.7b8"="lfmgwq314glhgy5pxjnfsnrhw3rxyq89";
-"japanese-otf.doc-1.7b8"="b1j34w3286splmlsshl5w59lsj0fccvq";
-"japanese-otf.source-1.7b8"="913dx9d29szxr89bfmc77kcn3k5wj79x";
-"japanese-otf-uptex-0.26"="3ckjzz5j3xbrkggjszwrw8iqrmb5k4cy";
-"japanese-otf-uptex.doc-0.26"="34404k1jv5ibhc08fqvmxncvclfbwy7a";
-"japanese-otf-uptex.source-0.26"="s71xnfr7py2v1f7xrzlwiw2h8ps7pn7a";
-"jlreq-58472"="g8sa7ki6v76j1wjh4ghdj9jbcdcjrkpd";
-"jlreq.doc-58472"="lcirqbpvfnimmwqamsz22id5qn5snkmd";
-"jlreq.source-58472"="w4gwx9z1h9a8qwsnjnci4xw73v2j18bz";
-"jlreq-deluxe-0.4.0"="5856y49i2vliffb1gwgad1sr331iz925";
-"jlreq-deluxe.doc-0.4.0"="992yssqszsfl0qps7r22wvzcrc51np2b";
-"jsclasses-56608"="bq7m6pjhh3mh3z3mvklgr14wnpixcl21";
-"jsclasses.doc-56608"="jfla9xn8wymcf6m1hf85yqi6l4nmwqwc";
-"jsclasses.source-56608"="skfshlzg14lrx40lhxp5vw21wz5f7m56";
-"lshort-japanese.doc-36207"="5b8svqq4w1ipn3737s73pk969s8yv63d";
-"mendex-doc.doc-50268"="vp31541i0l4rfkijbng5zj0q4cmbdz19";
-"mendex-doc.source-50268"="2w1ibgiylpczrzp9xhl7lidn8y2yhnn6";
-"morisawa-46946"="41dcbs61zpdhqnc6qbzcfkq0nrfgfirl";
-"morisawa.doc-46946"="cy0li43jphfx3x8x2ddf57f040s8ygim";
-"morisawa.source-46946"="jhdr4xfya5m21376a8cmnzz4xfr8qh9i";
-"pbibtex-base-40986"="nix33k8m51bymsgnmfz69mwpllkk9rhq";
-"pbibtex-base.doc-40986"="vgmw5w68b5y2rhwsjssm3bx4dn96ix7n";
-"platexcheat.doc-3.1"="khwx5x4r6aydzhd5rkv7h9lf58l27494";
-"plautopatch-0.9n"="v0bd97ln794xvwhq8vdl3hi6cbqks708";
-"plautopatch.doc-0.9n"="n92y48b37w1n0dj07q3lxni0c28q6815";
-"ptex-fontmaps-20201227.0"="vfr2ryj599njmkx4iibb1i6crjcaz1lv";
-"ptex-fontmaps.doc-20201227.0"="ir2hb9xa03wfn6kl06rml0xv9066x2ac";
-"ptex-fontmaps.source-20201227.0"="9ihj3bwyp0ngy115ylcc2dbp7xp40xgq";
-"ptex-manual.doc-57128"="yqn4cbbrdi468hj4s7bl5wycnzcgds1d";
-"ptex2pdf-20200520.0"="n51vdwpxcdyb0w3bxi3d9i2b6gh8j3ij";
-"ptex2pdf.doc-20200520.0"="xy5gdmv5jh3mlabwk74hcj1b2g9qrv8f";
-"pxbase-1.1b"="92jsnxmiqmpy56dhdjaark80zsbb5vxa";
-"pxbase.doc-1.1b"="n5ns9b3vpa52b78hhgbvg0114faw0dgi";
-"pxchfon-1.7e"="c05axsnaw9n2gghs2l3yvnw4i9b8bj0k";
-"pxchfon.doc-1.7e"="4pimmbvbbjnrpmnh11y75rk0ahj3d7lz";
-"pxcjkcat-1.1"="i368i8r85baiimnwh2rfqd0hfrklw8hs";
-"pxcjkcat.doc-1.1"="hcxxg9rg6d64hwysf6nlvfhv8h360168";
-"pxjahyper-0.7b"="aic3wmr9y2wmbfmq3qz7l90v86jn1qrk";
-"pxjahyper.doc-0.7b"="yl7hbay6yyi4xm4kx8fi3x8lhmw16kd6";
-"pxjodel-0.3"="81408a28dnm6qxf1fvdzl9892bjgw16d";
-"pxjodel.doc-0.3"="9gpcf45l044gd9z8pqvag7apcnfy407c";
-"pxrubrica-1.3d"="hf3yknd05zdmra907l5jciah3qpsw7bp";
-"pxrubrica.doc-1.3d"="129f964d7ya9bybf7f347pph201ps388";
-"pxrubrica.source-1.3d"="bkazka916yi75nj9xgj0ma5xnpxwzib4";
-"pxufont-0.6"="88rvij6qa4d901vnmhahn1dmik47xjr2";
-"pxufont.doc-0.6"="vvrjjns1nfgk36wlywiayk6v02a0h8q0";
-"texlive-ja.doc-58581"="v6d9imh79dghzn7z80lrr5bkvgm5bx6p";
-"zxjafbfont-0.2"="gqmmwcbw81z91mwqf731jk0mgdfiw8d5";
-"zxjafbfont.doc-0.2"="0901rpw6rd2wivh0fsqnna6gywc6j8hh";
-"zxjatype-0.7"="8wfcvfci8mj8ikqpfa1s4km4c46i3hb5";
-"zxjatype.doc-0.7"="qp9vrpjyjxma8bi3yhkdbbxv0db2l0mr";
-"baekmuk-2.2.1"="yrs4d6j382fxfn4ncmp27af5xjrv3xs4";
-"baekmuk.doc-2.2.1"="wprw23q0ksga33zysqi5478xpi5izqsr";
-"cjk-ko-1.9"="84cm9zzimh4nplwb35hy7xdbiaxdavnl";
-"cjk-ko.doc-1.9"="3b5kvk4dyirr87j6a1f7lp0q5m5k78q4";
-"kotex-oblivoir-3.0.1"="056bd28dyh0s19634hb0cd86q8q9r5zb";
-"kotex-oblivoir.doc-3.0.1"="6h9x7zkk6wz4i9v5gqbiz75wj9zp6pal";
-"kotex-utf-2.1.2"="x3j8gcy8ylvgpiwyrwrgl8wjj9gdrp63";
-"kotex-utf.doc-2.1.2"="r61iwnwwvwh1999l4ylczvz0d6l9ff1f";
-"memoir-3.7o"="9wk9mabw6yi13xz6dk73cyf7qxcis0b2";
-"memoir.doc-3.7o"="zbncsaqw0lx20348hpmkj4cxr86zhksa";
-"memoir.source-3.7o"="xg01124jnwjsmvj2zng0gj9ynh1vzyvp";
-"kotex-plain-2.1.1a"="wa5ifv962vi96ikyv53b6x7wg1fi67c5";
-"kotex-plain.doc-2.1.1a"="drkcvf3nb3kkvp63mw3xdz80lvn92w0j";
-"kotex-utils-2.1.0"="gvq7vg419f2wqzl6xp9mcffclvh65hs6";
-"kotex-utils.doc-2.1.0"="xl1v4i3j2wlhdp0rkjkn0d9b11bwlf4b";
-"lshort-korean.doc-58468"="l4sjin8iv3445al6kj4qkh3hpc255rgx";
-"nanumtype1-3.0"="b1wscjlknaslwhpaxxfi8w2drxg1m770";
-"nanumtype1.doc-3.0"="4jpi6pmfq42sbcfzl403niskxg6qnxfp";
-"pmhanguljamo-0.3.4"="dzcgp4dkvgnxp6q7w3nh07agr5ayf0d8";
-"pmhanguljamo.doc-0.3.4"="knal9x0irb95h7as9zhki8fscsggh49l";
-"unfonts-core-56291"="grx8hl97r9gx2abhhwlwpa425yww7w0k";
-"unfonts-core.doc-56291"="icc501j6sh5ix6v72v7lpb0him7viih3";
-"unfonts-extra-56291"="ib9sxr60ylsw9vyvr3wxya8xhq6hv0ix";
-"unfonts-extra.doc-56291"="2r7sls3pa7a3fq9q74dlzhp7yjbwdsni";
-"aalok-0.2"="9sz8pdql2ffdba7c12lfdd15aza6qwk8";
-"aalok.doc-0.2"="pdav0mazy94cfpr590pf1ikg9s5l455g";
-"aalok.source-0.2"="p7rc2vj5c4bc7yxvpiwn31h3mzvp5a48";
-"akshar-0.2"="vnkiyx83qd6ykba2mpwbhz2nsdsqdg3g";
-"akshar.doc-0.2"="spz4nshzx9pn3s8vnwv12iabxpx22pdb";
-"akshar.source-0.2"="nfn416llwic635ywd9zyn5w252hsw53g";
-"amsldoc-vn.doc-2.0"="09zv7q83wc6zg9an9b1x1nvsnqx8bpcr";
-"aramaic-serto-1.0"="mcxkjm533zpz4srgqqbd1asax309lhmk";
-"aramaic-serto.doc-1.0"="2717wqsb2bzap0cjgw8d1rsryjyil57n";
-"babel-azerbaijani-1.0a"="hyp5q2f1i53nwc2fpzrvg73sig4cidi3";
-"babel-azerbaijani.doc-1.0a"="hii173fm6g5kdiai6d26f3zfg1p5bay3";
-"babel-azerbaijani.source-1.0a"="x887igvkinyx05lnir925xva5snhmsvf";
-"babel-esperanto-1.4t"="0zwr18503la5x4gw11ic8x2gbhb5ic06";
-"babel-esperanto.doc-1.4t"="vyjxr4qb3w2nj8a0d51n9k0zrdy56brn";
-"babel-esperanto.source-1.4t"="ngrcz6ixvk4mbpg41jgp38py5ynfqssw";
-"babel-georgian-2.2"="slz23swln354rfmjk3qrf3m6gflcqb1y";
-"babel-georgian.doc-2.2"="zknj2vi3b55gdzq66mxjx4q7j4x3v0hz";
-"babel-hebrew-2.3h"="4mbg393m14m3j2i5sxfznnr486jw83b0";
-"babel-hebrew.doc-2.3h"="arlh4cs388rna2cj734yfi4vjrfli6bd";
-"babel-hebrew.source-2.3h"="8g78490s5lnmgi3h4rxw30cprmqv5mkz";
-"babel-indonesian-1.0m"="q9v0zfb6xbw2q4wa0pa0bray3knhxpm4";
-"babel-indonesian.doc-1.0m"="b9f34f8r7nvdby8z00xw1z56kmd92p2m";
-"babel-indonesian.source-1.0m"="rdb6dd4h5qjsgzqwx71g0n1h41ldfh9n";
-"babel-interlingua-1.6"="sq1l1svm80rfm09l1ys2ha7x0cyg4h3v";
-"babel-interlingua.doc-1.6"="q0zmjgrk58m7ivyi952jr3l0hnicpbxa";
-"babel-interlingua.source-1.6"="v04rpx7bwxjvdl8psjhc8w38krsv837c";
-"babel-malay-1.0m"="72z6yjhaxbkvnvs3x98bp3jrkkyk2ihv";
-"babel-malay.doc-1.0m"="8x81zjk3fmbnl5mq1dzxphhk6ap9sfq8";
-"babel-malay.source-1.0m"="npqm8jnnh4i4kjjsz228ccy6mzg1q5mc";
-"babel-sorbian-1.0i"="b4iwsh01n71p4lmhgbxq5kc7ggri2r2m";
-"babel-sorbian.doc-1.0i"="lx17vb84nc80v8f84v049crzswpzfkj2";
-"babel-sorbian.source-1.0i"="dbsyszdm9nfwn29y5yjlzv5dpj722sgc";
-"babel-thai-1.0.0"="s3h479l6qbpm7ymfmg6v2y7d4cyi2ga5";
-"babel-thai.doc-1.0.0"="yk77akss918d2yfn1halnvfa5635ikyg";
-"babel-thai.source-1.0.0"="s0cvg8q806xl02n8m647a7wl4yvspl66";
-"babel-vietnamese-1.4"="pi8gc005y8hn42hyxrn7p23kbashsv1c";
-"babel-vietnamese.doc-1.4"="5l7qyvppvihhdzcszaxskiscp8xm686h";
-"babel-vietnamese.source-1.4"="y9wmbn3j1f614p6dfciwnvig3v5r9q39";
-"bangtex-55475"="cn3ss5r73gr19dbjlrnvb7icfpbb2aig";
-"bangtex.doc-55475"="7dwz3jgliyn649ns4iqmgjnqn80bv3xr";
-"bengali-55475"="xv6b2ya4hn8bhhfwmi7sziq9qwmhx6qb";
-"bengali.doc-55475"="f6c5pyzrih551k2p50vqy9jfx4ar3svx";
-"bengali.source-55475"="s77yi86avqzhp5lin4dwhbavb41g4q0n";
-"burmese-25185"="gymkq1rr5pmwaaid3dpks3f8ngz3525f";
-"burmese.doc-25185"="yirjf8crgj2a89451jh8iv66qhdqdrr7";
-"burmese.source-25185"="ixz9y2ck9awijs6w9rz005nkvl613811";
-"chhaya-0.2"="lxplhiai9bfxqvpcxlcmllgm1ana0fdr";
-"chhaya.doc-0.2"="xx2hs716bv8jpxfrz00c8zqx9r6ik605";
-"chhaya.source-0.2"="0rw2yfhqgfi49zgn37rqf7m6lqyjv0hw";
-"cjhebrew-0.2a"="nkca25dwl8i1li6q63sv4w2n35z28bdn";
-"cjhebrew.doc-0.2a"="w8jqlvv6cm125d68dhfsar5y7xynac7d";
-"ctib-15878"="gdfzyzhwfcwi275xdrvah86459bsfxx7";
-"ctib.doc-15878"="jy7r4mkpncfmy0djcxvpcvkwjaqxv7s5";
-"ctib.source-15878"="3pfn4qglvw3wjjw4f3jlk5vzq3ci4zj6";
-"ebong-55475"="mhlr9r7i2zf3rm905m527hbnydppaiar";
-"ebong.doc-55475"="pqr96lyawpif4fzp0izw8j0506gnf06f";
-"ethiop-0.7"="fd4kynb70wkja5fxhi10n52mff3s2a8q";
-"ethiop.doc-0.7"="cabq6vprpklsmzi68af6nb4qiwbrwmzf";
-"ethiop.source-0.7"="yv6pwmbkvahpy2h4vnijnqag2rv09k5l";
-"ethiop-t1-15878"="f73j35aqlr29gmh9k00d3s0jzkmk6zq3";
-"ethiop-t1.doc-15878"="92ly98mz1iim1gfh4cm8hjwc17j9kjhl";
-"fc-1.4"="iyjlb5q55khnp515n1snhpnfrrmfn1pm";
-"fc.doc-1.4"="wd9bn967d6nzzvdrvim470l711v1jkg6";
-"hindawi-latex-template.doc-1.0"="pkpg5znsws69jrbjypn09ywy4cng16z4";
-"hyphen-afrikaans-58609"="w3h8j43k50xhwwkf656jbrqlc3rx9v43";
-"hyphen-armenian-58652"="q4b008aqp98gl2g2v5by33imzv97w1z0";
-"hyphen-armenian.source-58652"="0b2gny5672fkb5sd8vb2g3fapx9pl7z2";
-"hyphen-coptic-58652"="hd3cc568q639yj5w1gsf2qd78m04pg57";
-"hyphen-esperanto-58652"="1ipyszpd850mwl2xwkp9hp1516azcwjn";
-"hyphen-ethiopic-58652"="zjp5lahyv02w6c5gqw133l84xzbk19nq";
-"hyphen-ethiopic.source-58652"="9gkipr8pk2mb77s168has3sfgrs7cg1i";
-"hyphen-georgian-58652"="498igs0sfjxd8zlcb8k7kb44c54iacra";
-"hyphen-indic-58652"="vifra7d45c7f02jkfyhymgqqlh375grc";
-"hyphen-indonesian-58609"="5f125q2si90bwa7lxlflnpc820vgki3s";
-"hyphen-interlingua-58609"="gajw8lrnij0pys803lr814qk7xy1qx4y";
-"hyphen-sanskrit-58652"="ivvz3rhzgc4ghc4l8biniics69wif8i3";
-"hyphen-sanskrit.doc-58652"="pjfnjwbksv532x7idr41hvs874f5p97h";
-"hyphen-thai-58652"="fpvq523safkjz16s9i9h24f53p0mdpwq";
-"hyphen-turkmen-58652"="lqcsiy4y08ddkawxv28g1iicz37pn6gx";
-"hyphen-turkmen.source-58652"="c7md4qrdh7hms3vzkpcams5hwl8qy953";
-"latex-mr.doc-1.0"="vwb062hbn3371czg99plccbvxw1a7gjh";
-"latexbangla-0.2"="6ix7rfgj51z585jry3i1g68x4wvm4xxz";
-"latexbangla.doc-0.2"="iw79gb4sk4hys6xbc8j86lpzyji8h7r9";
-"latino-sine-flexione-1.2"="ya3fg8hbwiakjw05hymfw704l1nkc01f";
-"latino-sine-flexione.doc-1.2"="hnb3gr9lz8wfqgz3g1shzb9s85r4dn9h";
-"lshort-thai.doc-1.32"="iwmnm7z7b3r8km4i3afq8hz0f2vy9dl2";
-"lshort-vietnamese.doc-4.00"="2y25jrim204g4q916rf1hhkavl7fi6vx";
-"marathi-1.6.2"="aqqbkzhf42c8rcb9balmg2i03bybiz52";
-"marathi.doc-1.6.2"="b1p6bv5b6nzy7j4jkrxhicr9vsn79vdd";
-"marathi.source-1.6.2"="mkv3d5dmgz9xh66h6gj8jjmvnl1ld949";
-"ntheorem-vn.doc-1.203"="ys9g749d9f2nbq55ckyrjrr4mg9yywni";
-"padauk-3.002"="dwdgm603clk71s9gcjx9ghzwlkh6k2gd";
-"padauk.doc-3.002"="zarib60py4ddx2axyrm695pkikxih70z";
-"quran-bn-0.1"="1zmb114h7yx6jfcscjl6axdq0wgsk51k";
-"quran-bn.doc-0.1"="zg3j20ajp1c5frcvbngg24nr0qhnikrj";
-"quran-ur-0.21"="83h5jv6v5rpq5a61ca590fp9nlikps9g";
-"quran-ur.doc-0.21"="1xvyl3mc7rbf37b5fgd6ywmbbxxvm10n";
-"sanskrit-2.2.1"="scnnwa1xsfnpv0w7xp8ry49ps6s5pw8w";
-"sanskrit.doc-2.2.1"="0ps1lrlzdhq7gaagjqb3m4yygpz4g7p0";
-"sanskrit.source-2.2.1"="dp3nk8wbjrvb3hg4xdxl8s8m1wfcwny5";
-"sanskrit-t1-55475"="lwnbgg4flg35ndf7p0iii468sf6avylv";
-"sanskrit-t1.doc-55475"="h7licx4ivjwnvbym7724rdj3vrcaak5i";
-"thaienum-0.2"="acsj56dxkcqi83yajkm4rjxm99p6r10a";
-"thaienum.doc-0.2"="55zcsq659l2wki581xvcdy3ssljgk9s5";
-"thaispec-2021.03.01"="slxmdz2c6xq4z94gyp3iw33iddvd55f5";
-"thaispec.doc-2021.03.01"="gchip0yy0n668s9i9mplzgdicrwvwvid";
-"thaispec.source-2021.03.01"="qx5m53rk752nb2apblgk6v3vabgn8332";
-"unicode-alphabets-54236"="r0ylcchj98nn4vmd6dnxvx20applp72p";
-"unicode-alphabets.doc-54236"="zr075sprvlpddzcaxyb0lg0dg90p089g";
-"velthuis-2.17.1"="x0zig7csm0nnq7m2n1qqdys57jz38b9h";
-"velthuis.doc-2.17.1"="mcclyvyb9d4hrak5naw2d76a8g9lhqak";
-"xetex-devanagari-0.5"="v4gi0agfvxz808s3mapzf2ylxhv5n8a7";
-"xetex-devanagari.doc-0.5"="b3kz558m6h9avjwalwpw1nnr68q47sjr";
-"vntex-3.2"="vzdcn6z7knkzsj8gxwj8zda00dq6w8is";
-"vntex.doc-3.2"="5ix8dldkd2qmmbwn731ii4ffng7d3fgr";
-"vntex.source-3.2"="72m9wqbqrsam0b6a15lqq4yq5hbcx0kj";
-"wnri-22459"="z6010l0pydl50vy5jnrg5fh2xki5fi6a";
-"wnri.doc-22459"="clpx7kcx1hp0qy30v5nlfz10kd5hmqcl";
-"wnri-latex-1.0b"="y9n4dac8cbzm2gwhcfan32rbv3dyhr0s";
-"wnri-latex.doc-1.0b"="f1m11fnp49h90f3djiml0awlxqcnxkdp";
-"wnri-latex.source-1.0b"="zd4smslq18sp693fgay24m503v01v3bk";
-"babel-polish-1.2l"="k73wcwg7ab64nwjyq9rb78pmgkapy4xq";
-"babel-polish.doc-1.2l"="720j9r3c7y7yak2j3qbgx2baanwl6az5";
-"babel-polish.source-1.2l"="65j5b50flchq2kw6wi8g3i4jz9n9h7w3";
-"bredzenie-1.0"="dhjq0ccgxxin5a6fmwb95275d1i11xkh";
-"bredzenie.doc-1.0"="br35cfyn2zq2qb44mss225ylw16sz0jq";
-"cc-pl-1.02.3"="imax9b80sa48n769mgj3warj6c8r0g9n";
-"cc-pl.doc-1.02.3"="mw9069bzf38n43f9ch9qqby0lc5mzvw3";
-"gustlib-54074"="x6dscxji10p04msr31f3vsaf6pfpzhsg";
-"gustlib.doc-54074"="07x28ysinfhv15jlkpyfsv7cjyzwbdg7";
-"gustprog.doc-54074"="v1mb66z2nc7vwhy2yg5rk699mvqkpqs3";
-"hyphen-polish-3.0b"="c3944h2grk64vzp4kk49fn1j38l1s9b1";
-"lshort-polish.doc-55643"="7fr1g9j932xjam26nnf6b6zc47m1i9g8";
-"mex-1.05a"="z7m8kmw19bg4yw3p99fvpvhhclkj5ff2";
-"mex.doc-1.05a"="k9qns3567wxk7j2wvv78067lnlcfq1f8";
-"mex.source-1.05a"="kf6k037zqvlad7sm8z4a2gkg2xlf01j3";
-"pl-1.09a"="i3r76ngymf518pcs8jzx4l6xdgw1afk0";
-"pl.doc-1.09a"="1j9djajr93klh5k8hwz5zigh2qlc12zp";
-"utf8mex-15878"="d8314s7lhlafhspi1qf8hiqzx61n439a";
-"utf8mex.doc-15878"="svpkpbc0caxbynjnjjynng11fdg3dgid";
-"mwcls-0.75"="nldix3j60gjybkg60qdbi1wrdarqggqb";
-"mwcls.doc-0.75"="16cqcaliy99s6dqnb507hcncxbjlhgmq";
-"mwcls.source-0.75"="x6jn9m23ickiy79sk1w1jsgiqpk2jh9v";
-"polski-1.3.4"="j98gsw0v3vf0a9j8bfjbynmrv47fcd34";
-"polski.doc-1.3.4"="zldgln4yhr6qkmay2aqrlv0bbbwqdyyl";
-"polski.source-1.3.4"="a7ig2cy5jamdgk3dxigyz4qa0kjrd36z";
-"przechlewski-book-23552"="qid42vb23l6fzc6dgmx3bflwz7z0mdb5";
-"przechlewski-book.doc-23552"="23zvnv9pcvl5n68js39l4hrcli608qck";
-"qpxqtx-45797"="wxccyd4si0x6338hwmwdaxmjj3brm7p8";
-"qpxqtx.doc-45797"="xvxsnjfajz7zfvgfih7v3mfca5b36qda";
-"tap-0.77"="mgr2m41yv0y4dcf4myk7020hkmqrd5z6";
-"tap.doc-0.77"="mr27kjalpicyv8915p32yyya5imm3m8v";
-"tex-virtual-academy-pl.doc-34177"="rr38v1syb2b4ji3psf47pmwr562zv59n";
-"texlive-pl.doc-58649"="m1j6mzdim3yqxh2dxdmfkxf75bqswlgd";
-"babel-portuges-1.2s"="ar3by0sm5nv2sprdl9dikq4qxv52kfl8";
-"babel-portuges.doc-1.2s"="lnn32yz6wvyvkly2kx8b223mal5kbl1l";
-"babel-portuges.source-1.2s"="dgv5yxnvfr417xz7393bykvcijvyv4ia";
-"beamer-tut-pt.doc-15878"="kxpy2m4hbwm3sfj7ix9x249df3dgmvfm";
-"cursolatex.doc-24139"="arfkwqkjw5kfv2rcfhkvxjq603wdsq3y";
-"feupphdteses-4.0"="696my85w1ngcar81vacyj8nr7m4dn0wd";
-"feupphdteses.doc-4.0"="9nm4793nyfp5v2rjd5297sbyw2b29bqi";
-"hyphen-portuguese-58609"="5shwyqj6inhq7z3lip0zwdygsxmicqlg";
-"latex-via-exemplos.doc-0.5.6"="qv730qmznff38z28bcdpzmirvzngpg3p";
-"latexcheat-ptbr.doc-1.13"="qzgl6v54k07i6lc3ps84s9mj11j1qqqf";
-"lshort-portuguese.doc-5.01.0"="m3r2gbq4v09p9svs0mxsw3s3yc7has5y";
-"numberpt-1.0"="dmp1db9kaskcy2cxxp53sjxr9sl3c7pq";
-"numberpt.doc-1.0"="sgr9zrlf7c6zpqwa89z9pmmdsxbgrzsy";
-"numberpt.source-1.0"="ynlknscylhmrlq30sn5njffmmvmzxkdb";
-"ordinalpt-2.1"="ds49jf4pvghzwn5nqwjbzz6dhp0cdn80";
-"ordinalpt.doc-2.1"="4hg5jx7bnx1j13s1mq8xscr3jfajl6by";
-"ordinalpt.source-2.1"="cc2f6xias35ac0c0kxan2cvcmyjq7l6k";
-"xypic-tut-pt.doc-15878"="2rj58kib26w8jnfzpd9bsm0nf2ladv4i";
-"babel-catalan-2.2p"="18ngggp3v707j48vac5grpqw342jwg3f";
-"babel-catalan.doc-2.2p"="19hc8i6d64n8dfk6hmgpgm03kg5r7wx0";
-"babel-catalan.source-2.2p"="v2750fsyzjlc6iqk44s31idwybz2jvfz";
-"babel-galician-4.3c"="xczl3malfygp6w1fd3rpd26rifcgj3j8";
-"babel-galician.doc-4.3c"="i7r7rp46vmhmf18dgzsac2ay1pwanlxz";
-"babel-galician.source-4.3c"="ix6vzvf936s019948pz5bls7nfca9xng";
-"babel-spanish-5.0p"="lxsy4aq5mwizmif2r3i9h97mccim0ljv";
-"babel-spanish.doc-5.0p"="2aa12l6ndp4r6rdv6v0z405y3hpsmgnx";
-"babel-spanish.source-5.0p"="ad9wxx0qp6kp4r8ri1vwycgf2gpdj6xw";
-"es-tex-faq.doc-1.97"="v9brqkql6xbb1zdk5m6xhff1dxm36nhf";
-"hyphen-catalan-58609"="9k5zkr753b5sfnw88r77ks7vy7wd2rci";
-"hyphen-galician-58652"="46254jg1804xbs9qh6369qp1mj9j44hj";
-"hyphen-galician.source-58652"="jgmyy0n6c4ljqpl5ln9q1vpjq25y9q1p";
-"hyphen-spanish-5.0"="8isaivc77vl2cp5z2nwwwmqj0msgm5c6";
-"hyphen-spanish.doc-5.0"="kznsqnkm7dg2rdpisil38syyvs6fs0j6";
-"hyphen-spanish.source-5.0"="lia19yzmwyz4fsbnrca8al43hfc46i55";
-"l2tabu-spanish.doc-1.1"="rc7058j31za1cg1ik27b6gcgscir9bfk";
-"latex2e-help-texinfo-spanish.doc-57213"="zqfixpmcslcpjzg9f3rxcv6z1j7i5d3w";
-"latexcheat-esmx.doc-2.00"="bzjjilpj8rmp1cc93bs32568dc8dvgic";
-"lshort-spanish.doc-0.5"="3gmql5wpqh3h5mhr0pjcs6v0a5jqc1c8";
-"texlive-es.doc-58221"="j43rpwalh1gjqa8v18qdk2q63l8h1j5r";
-"2up-1.3a"="rsqrw98f4vzfx8vbj35pws9xl2q4gp8s";
-"2up.doc-1.3a"="ir3nkw2344mn9k22d1mi28gjrgld4kkb";
-"ESIEEcv-15878"="w5zhmx6kk19kwf98gdm7rlp7l3i9k93y";
-"ESIEEcv.doc-15878"="4ci8yn36m2fz6v6n7iqb071291rl23zw";
-"ESIEEcv.source-15878"="kvh03awwlhwd8wn69h32sdjxmcpa6lmn";
-"GS1-22"="2fvvg7l5g84vhg88mzaa6x16p13pp34c";
-"GS1.doc-22"="bsdamqnalwikpldq94f035nh849vjb2h";
-"GS1.source-22"="gzg5ynawvwr24sl31f85q7ksinaks3a8";
-"HA-prosper-4.21"="kbj26h7zvc9v5l330s2hp63l44vrn09r";
-"HA-prosper.doc-4.21"="hpj2qljnhi7x2prcwnra1ycfzazhnqsz";
-"HA-prosper.source-4.21"="wlzyr02pardayic4598mc0v6mks9dcx0";
-"Tabbing-17022"="1ffaxfww9l073hvjvgp4vkxzfdmmgb8l";
-"Tabbing.doc-17022"="gyhcdih64zw18s44f5s1h8ccr2ndd0qs";
-"Tabbing.source-17022"="pifazcagjavajck7h6a0kyvnxxk90k8y";
-"a0poster-1.22b"="dkwb9gdxv3jxnw07ji0ydmpqa0fgy6mh";
-"a0poster.doc-1.22b"="bn6j9nsmcri2irby7njhbdlpgqqaic0x";
-"a4wide-20943"="lsss6h32r10x1v8k9wwdp7ind09y6x5h";
-"a4wide.doc-20943"="vb90v0v79l34fr86i7hzx787ndyq271w";
-"a5comb-4"="sc874hfilkfjjv1aw8qnf36v5jkhd6s2";
-"a5comb.doc-4"="gsp7dsbhk6r2q332apbqrx29mna85dhs";
-"abraces-2.0"="yi53lc7hjam1ng9dv38x9wx864r89gnp";
-"abraces.doc-2.0"="vkkvl732ql65gw216smhimjw8xp2qfj3";
-"abstract-1.2a"="qd0czw54z49h3mxnxlk6drblpbl47sln";
-"abstract.doc-1.2a"="qd4dggpq9076j7cma12mkhy238ni4w3z";
-"abstract.source-1.2a"="819fv5rryh634fmqic8fqagdfi9h04wj";
-"accessibility-2.0.3"="j58xnav2fh0rjiyr17y23l6fbqc2l9jp";
-"accessibility.doc-2.0.3"="3gl15pw6k1ssb3q3104xxqaly35qic0q";
-"accessibility.source-2.0.3"="kax6wagw3w7psf3x94h8p7yd01a95rmx";
-"accsupp-0.6"="i0h4pn8qqkckrhmlfhyvk1caz2l68sc6";
-"accsupp.doc-0.6"="2p2rh18j02n4jk2g08fryx42r9kvm2bp";
-"accsupp.source-0.6"="zkcpasgn0nv8i285fwrb1y954s2n1yxv";
-"achemso-3.13c"="d0av0yfq5rhq9b2ckwcaazyyvqk2q2i3";
-"achemso.doc-3.13c"="3g2bjllla7gknijql9238xc0fb00k0df";
-"achemso.source-3.13c"="699zbci0bbqw01ilyca8xxwr7m7180jm";
-"acro-3.5"="5dz3x2f6bm9rl93hswvjy0b74rm1501c";
-"acro.doc-3.5"="1cz3b26z10z4nd4fqq0ssc68djl2iqyi";
-"acronym-1.47"="6471snmy26zvq7gh9lswa4fg0zp94phd";
-"acronym.doc-1.47"="3z4ps2hfi959q7dazpjrj02icpbr69g9";
-"acronym.source-1.47"="2sbaifpka4p220fd9dlbvzbp92vg971w";
-"acroterm-0.1"="04m91cky6cj3jv546mdf6461bdg6sfkk";
-"acroterm.doc-0.1"="jnxcd65y58xrqg0cfg7y0m8yslbj7xi8";
-"acroterm.source-0.1"="w99kkypzq7c73rx4rv4m917c68vnan00";
-"actuarialangle-2.1"="6wp7jms9n930i1x9ni0g531cccdj6c19";
-"actuarialangle.doc-2.1"="dsl6hfqn9hfdy1sil3svzbz5bpvpa8hd";
-"actuarialangle.source-2.1"="r3fw3z5qz765a7jmb0wb0g567grw4v11";
-"actuarialsymbol-1.1"="c4m5inanc59g934zv5hfg26nc4209030";
-"actuarialsymbol.doc-1.1"="a3dbpjygc8033icdlyli8g47vbwx4xc1";
-"actuarialsymbol.source-1.1"="5p6w3cm9h63nxah663y5l4k7p811qxyv";
-"addfont-1.1"="yyngixsqhm4lzzb9psgajj2bkkd2s16m";
-"addfont.doc-1.1"="c157yk6aizpy9lkvsbd0zxm1mi18q9y9";
-"addlines-0.3"="gaai0vyqwnm0k02r5kvnxgd4gx32nkbd";
-"addlines.doc-0.3"="njifyb95qrwhhcgaa250vlq2y1a8pvrg";
-"addlines.source-0.3"="m8lhgdfwarlkrwp2nqpdaad7mpi3rszp";
-"adjmulticol-1.2"="fd21wgsbpv4km7r24529cbja564ha0x0";
-"adjmulticol.doc-1.2"="73sv27k6y42306mfi8rglf53kz8an51d";
-"adjmulticol.source-1.2"="3bqrqpbh7y8k0a9wgib14v0k7pa63qyx";
-"adjustbox-1.3"="6xk50giqn497r2dh88nz6r91fr83b7fz";
-"adjustbox.doc-1.3"="qzzkgppkai6c29n2sdwgg019vy220s7p";
-"adjustbox.source-1.3"="nxaiqbdxwj21v7y53g5l1i8qnd1frxbk";
-"adrconv-1.4"="jm0wy6794p7idv2f1ryhsm2v9wr9d5ar";
-"adrconv.doc-1.4"="jyn0sjir5pp69zvlabyamihnlsav24z4";
-"adrconv.source-1.4"="v31vh22mrhxqq4h88rvj97a9n0wc9bmw";
-"advdate-20538"="f0awsj80hyiv2vkjizidk3na8yvfm6i4";
-"advdate.doc-20538"="0yx83g0jz771kjqq6rf07wlmzs4h68x3";
-"akktex-0.3.2"="6mhzn5d98q6vmxp8vjbmb6i26x9zja3g";
-"akktex.doc-0.3.2"="z43q786v20515sgsp4dh5lii0pfa620r";
-"akletter-1.5i"="7i7x6692i5zicjsrp51cvx8sivm1arpw";
-"akletter.doc-1.5i"="lx2pcnwy9zslh99dvrak5j9lzk7gxmra";
-"alertmessage-1.1"="xczq5v43zbpqkhia8dzk9q6918w6h7y0";
-"alertmessage.doc-1.1"="676ky2mwjrvjkx0bd3pqdgisdfxjzr4l";
-"alertmessage.source-1.1"="g3n5rz7j3ldhkviw267rwwd0lfgbf9a4";
-"alnumsec-0.03"="wmcb661yih7nnlwpshx0ahp45hg2b2qj";
-"alnumsec.doc-0.03"="q89lqn201amhxmpqfznyv7vsp40a8az7";
-"alnumsec.source-0.03"="zin3hkq6fr67rz2df7qqfnki4kar8k1n";
-"alphalph-2.6"="8bavlk3mbi1c7k1nh3hy1j5icrq8chfj";
-"alphalph.doc-2.6"="3lqasr06fpc44cd88c3y7xq9v8fs8p61";
-"alphalph.source-2.6"="1f1c5lq8nhn6liff0iwh4wh9cqi498wb";
-"altfont-1.1"="cickjccw7xjpa3q2hpm1cyzs2jvkx1wy";
-"altfont.doc-1.1"="f8x27hdfap8pz6f96s7jvvaldsjaxwml";
-"altfont.source-1.1"="q75lvhzwgyqxlj9h56i43hwb7v8lq6rl";
-"amsaddr-1.1"="6sf35pmlda97q2dhi5h7cwan25gi9nij";
-"amsaddr.doc-1.1"="m5wxpa9vd09pja40i6lzzrlw62ml5zvm";
-"amsaddr.source-1.1"="b66925k432cw6rqwqapcg1h8gjgnvry7";
-"animate-56583"="nsp8xdb9p3yazcbxvkymjf47j6hjy6s1";
-"animate.doc-56583"="6h4g623xklpyl4j3wsbpv57hqc0l9zvp";
-"animate.source-56583"="9gbzqi8vmy97rczriqwks53dpikk3dz6";
-"anonchap-1.1a"="qpazykls2jy7nqpqkaqvyi35c2ajz0qg";
-"anonchap.doc-1.1a"="3xy9r4p9f22fjdvznba1jjp09gbkvvlr";
-"answers-2.16"="isadn9v17ma5krfq4hm304nrdc8kx7dd";
-"answers.doc-2.16"="3ma0j6diq2zp7k547zp6ilbynsrkw59d";
-"answers.source-2.16"="7w1nvr73ndj7c545xps8h969q4z58gji";
-"anyfontsize-17050"="z7d08jdfvq55ls4va5f5iyixxyp6xjv6";
-"anyfontsize.doc-17050"="fxvax04n8dj9haksiqx0jddi47mb8q1n";
-"appendix-1.2c"="50wvmi5y3wgka55dnb2h9gmr70y48srs";
-"appendix.doc-1.2c"="b2xkv7kzx6vkhhr0figba931ma6q455b";
-"appendix.source-1.2c"="8xs50dfynih6q9zgydgp9p4vr67ad3p5";
-"appendixnumberbeamer-1.2"="zrx31sicdmcv1mvv2jsmqb49ykwgxdgd";
-"appendixnumberbeamer.doc-1.2"="ql9zi0i3r3jcc788qx6zrbgfgmrv4pj6";
-"apptools-1.0"="v2ag8kbf87fm4rf66z1a3z93pfs1j6gj";
-"apptools.doc-1.0"="a8mjxckcrk06xajadqf2124k5k0ra2qi";
-"apptools.source-1.0"="q37a0dpqnw1vbqih6p7lbi70a1f58yl3";
-"arabicfront-1.1"="l49m61nd3wrskbvdh3g3alslp2wbkkms";
-"arabicfront.doc-1.1"="9zr0i11vwsh81vsfgp1a758blyl3rigl";
-"arcs-1"="b0qh2cpybhqd0d0d8a183hhv7xlx13di";
-"arcs.doc-1"="x9xzx0p7wmn5mh61lkmlycfcybzfasz5";
-"arcs.source-1"="jbx1wd4pyp8682lbz3mw00ha114adrad";
-"arraycols-1.1"="cfkhjyajfjgzp4826i0rnxbbc1yfxa20";
-"arraycols.doc-1.1"="m03wdi9flydgvs5f7450hj1i88ynm85i";
-"arraycols.source-1.1"="mh3g35c7dybg3r8npb1zc69vyzs2arva";
-"arrayjobx-1.04"="zxqamnkgiq8c9p1z3w89rlgqv61bp2n6";
-"arrayjobx.doc-1.04"="fyx7869qi432q3g06i3xyg92jqh29fbr";
-"arraysort-1.0"="h5gbw2lvn0zfvhz0s5lmc495yz49bdds";
-"arraysort.doc-1.0"="fx9j9a4nhjlfmxvsnqqcxxh7220s1rsg";
-"arraysort.source-1.0"="0xdix5q42gnib80gi1pbaxx9yixbjm61";
-"arydshln-1.76"="ggmcdw747cybjjfsxfkmqm7ganw103q2";
-"arydshln.doc-1.76"="gn95m775xa6kfdyszwmsdv603wpy2bnp";
-"arydshln.source-1.76"="6y2cbdisg8agvlrwdqp1ldc9n3jx9qv5";
-"asciilist-2.2b"="fvd111ywjyrwy897z4bmcby9ymnxcvcc";
-"asciilist.doc-2.2b"="i501s6jaq79nj93ckccihgkv4ca5pn7i";
-"asciilist.source-2.2b"="zqmygnlbfyz70y446mcdwpd9a3bszhl2";
-"askinclude-2.7"="nbmjzdp012vfp3bacig7s927dv809gfv";
-"askinclude.doc-2.7"="6d5srhwjkdz59qvff285fqfl3v9dlmng";
-"askinclude.source-2.7"="crcq42ba162v61fh3n6bi6rvsa8ap1z8";
-"assignment-20431"="f5a0sprx94bby245g2cfycrrazgp00k7";
-"assignment.doc-20431"="0d0cafwd56gqn5dacsq4fdgzz8jqks19";
-"assoccnt-0.8"="6bikcn3hf37rs2wp84f9h8nf81z86hr6";
-"assoccnt.doc-0.8"="xb17k2w0skjxh3cw3hag91m5cjxj1vz9";
-"association-matrix-1.0"="ia2sz5pjhb312fpd3wq4h3jlzx6p4mhq";
-"association-matrix.doc-1.0"="7yg14fhaggb07h6zj7wz4a1ml7wkz6im";
-"atenddvi-1.5"="mdd2z14rww1y98y7v1jsyq3hzrg2rf6i";
-"atenddvi.doc-1.5"="sk0j256ab9vz5lnn7v2dj7rwn5a1lnhh";
-"atenddvi.source-1.5"="x07x6lrj3ichjg83nphb044z99583c1c";
-"attachfile-1.9"="vmyp7ywfqli6yzs89419885jac9x0yql";
-"attachfile.doc-1.9"="f076ljz64r8ck1l9cz5g7xypm92jb9qs";
-"attachfile.source-1.9"="j93ivs0jy4n52a18gw0icmh0ffsnm1j4";
-"aurl-41853"="8nnjg9zwrc6p5qy2mq32jirxz29wpa0c";
-"aurl.doc-41853"="13g1jz1510lipg3v2m4zpcz2pzi04fyc";
-"authoraftertitle-1.0"="7wliqivlz6fmz6szddzamm781qgd3r7h";
-"authoraftertitle.doc-1.0"="i7b4wwdfsw0ydra2pvvr4bnsfmwbjkdy";
-"authorarchive-1.1.1"="capg6s6r2w20kazk5dh2dqfbxl6246zh";
-"authorarchive.doc-1.1.1"="bzs7qr0gc2sgmsb39q4d46l4f5d55cp7";
-"authorindex-51757"="khcqpf8rh3cqb9fk2wl35lvp1fs3k2nw";
-"authorindex.doc-51757"="d1k8irgqp5vac8ggq66ivcxxgv8q410x";
-"autofancyhdr-0.1"="mh48zz2m9p97z2d0znxv7myxjkcfg0wg";
-"autofancyhdr.doc-0.1"="czkfsiazwf0ybhgknzabxjwq397pd0fk";
-"autonum-0.3.11"="z0mz6nrw3s9661lc5s983bj7qpfg9ns3";
-"autonum.doc-0.3.11"="ghxpr5ayzxq1w6v3wy0hqvkfy28n9slp";
-"autonum.source-0.3.11"="5fm5vfmi11jqdgqklj6zmc90vw3vqiqp";
-"autopdf-1.1"="01rm3dax4wa3pbj51d8ryvixmdy2rcp7";
-"autopdf.doc-1.1"="dal0kcyj8y2ki3w0cprjalkb4770kyiy";
-"autopdf.source-1.1"="5pja5c4la5zvg8mvv9155y1rmljnk7j2";
-"avremu-0.1"="xk59ssazl5122hy7cw9h8l8ky47ac58m";
-"avremu.doc-0.1"="sp38mldllwslwxq2rvizcx1dcpfaava7";
-"avremu.source-0.1"="inwrrgrds8ympmhzgrk3m82x544x8nhi";
-"axessibility-3.0"="21hz0f1kbq51g3s4s6pcc2wg869m3a39";
-"axessibility.doc-3.0"="9s7zwv0a8y52ddgv5wvyhgp9id55zz9v";
-"axessibility.source-3.0"="g8jxfyvj67bx306vkyryhfml2v535959";
-"background-2.1"="akcsb7n8iyy4zlcgfp0ikwb5awzdnh9d";
-"background.doc-2.1"="inm76hq9brwc39n6bhp9782766mmgwpx";
-"background.source-2.1"="54l8p1yj06wlcwxrrmjqjhgmxai9l9s2";
-"bankstatement-0.9.2"="gz4wcynn22a2bg7hbdfa3j5iab5ak957";
-"bankstatement.doc-0.9.2"="4q9drl2qzrhqn5xg69sc4x6x6d9rk774";
-"bashful-0.93"="4xa5zrj0cfwm628cycqi053irhdybdj6";
-"bashful.doc-0.93"="d9132bwcay35ssw31rsrraq6b15wrzaa";
-"basicarith-1.1"="81hlw6p432i5ln72shhg2k976as1w1l5";
-"basicarith.doc-1.1"="3hskpplbm89xpzx8q0bajn7i3kxncig8";
-"basicarith.source-1.1"="x4qnlbc6v2dfq23ijrjhk5rcfjc1c2a1";
-"bchart-0.1.3"="4xxv8n13igfgl0n89wmxncp8662fx941";
-"bchart.doc-0.1.3"="11b1xlxkxzayb2a96w1svhba4pkchanx";
-"beamer-rl-1.4b"="vp7k73cf2xppajwqaiwxhgbwsacvmd3n";
-"beamer-rl.doc-1.4b"="av5a5ww2xj6adh8lh305dv9y8cy736xl";
-"beamer2thesis-2.2"="64a0v9a7xr9yi4ffsbm98s058hkmq9wg";
-"beamer2thesis.doc-2.2"="5ypn90w572jlw04xi4vzk7pxxsf7ciwy";
-"beamerappendixnote-1.2.0"="vvcnya52knjsyjg7q72y5hck3mn4yayj";
-"beamerappendixnote.doc-1.2.0"="z671llyrbspkd3mhygsb45fhsgcxjy48";
-"beamerappendixnote.source-1.2.0"="fxgc3dhb0af88q84s2947dz58gwbj00s";
-"beameraudience-0.1"="3zc39f4qsyqi4204k4a5n9pksf6gk3xl";
-"beameraudience.doc-0.1"="wkgcr8dyl8ywxwpdc5h8p96dsw9l229y";
-"beamerauxtheme-1.02a"="f6fs70zhyj9hiwpq17h593l71s2r2219";
-"beamerauxtheme.doc-1.02a"="zzja4whim0800pbryihqyqy3xhzwj8is";
-"beamercolorthemeowl-0.1.1"="7b8qfnqjliwvms89bn4mxhjqf8sppadi";
-"beamercolorthemeowl.doc-0.1.1"="dh55h6vzmjlxlwn7wz2b6c2c27c4qjki";
-"beamercolorthemeowl.source-0.1.1"="ppxb50mii9mgch0rzm26npxl99a93c42";
-"beamerdarkthemes-0.5.1"="kksw37ml5mq90c3nrl2fk1jn84ynizxz";
-"beamerdarkthemes.doc-0.5.1"="z3ijc965ygx8a2wqpizphjhmbxkvz1m0";
-"beamerposter-1.13"="cd6wdcxrci6lc2kj195bwsi5yfddk3zw";
-"beamerposter.doc-1.13"="1hp6dbynh3gbrn6gsz54rihdzzr8pjii";
-"beamersubframe-0.2"="m8capqp9nc8mbi9xdzkz89nnz41972v4";
-"beamersubframe.doc-0.2"="y5m8y5zkbzi553hp8maav6g6a42iklfr";
-"beamersubframe.source-0.2"="kw2rnly2zyqw1ap5g9gkv2xchpvbk7gr";
-"beamertheme-cuerna-42161"="vrgqfiwzbf1082zbj8pvn53dmx77qi4f";
-"beamertheme-cuerna.doc-42161"="jcxa5vs5g4nwgck7913jb2jnxccx2y3f";
-"beamertheme-cuerna.source-42161"="lrn8am3h8x2ic39ghpkdl9bxsp07pdf6";
-"beamertheme-detlevcm-1.02"="25f0c66nnhq9r0qrqf186rwqvifzi4nj";
-"beamertheme-detlevcm.doc-1.02"="5yh3kypxg8cjr8vqy04k1ad1agnlq047";
-"beamertheme-epyt-1.0"="1g3593pcp0b4k9lacp4c0afs7jzffa9b";
-"beamertheme-epyt.doc-1.0"="al12nh23v6l4lfa4616zzivldc5jfkjy";
-"beamertheme-focus-2.8.1"="rsyiviz20m0f8v699yv80rw4k4drbl3m";
-"beamertheme-focus.doc-2.8.1"="idhc1g1ja4y43gdnk3bd1387v6fw14d2";
-"beamertheme-light-1.0"="9vz0g593s4ykwasfky58jqq6h7a95p12";
-"beamertheme-light.doc-1.0"="dvyzvi4hl69xvvgbhdbp5ax2l3z68nck";
-"beamertheme-metropolis-1.2"="g062nnxl4v5951xq2xa4smkdjq6v2xpk";
-"beamertheme-metropolis.doc-1.2"="xvapcphzmylh2s3551bglqw712q82bxn";
-"beamertheme-metropolis.source-1.2"="5gmm1q6xagbavzzxhc9750yb3bhxf3zv";
-"beamertheme-npbt-4.1"="7f7y7bijlp1p9pzdw9vv64qb03256zqx";
-"beamertheme-npbt.doc-4.1"="dzjby8rnpsgll6gvab9cslziqszhd4zf";
-"beamertheme-phnompenh-1.0"="01nbk38jh4hxk8vykf37x6bhnb55ijdb";
-"beamertheme-phnompenh.doc-1.0"="p0nj4cqg4vaaq6wlycicz0xbl7391lwp";
-"beamertheme-pure-minimalistic-2.0.0"="5wsvlda1yasnisw6zx61g2qq63106a7a";
-"beamertheme-pure-minimalistic.doc-2.0.0"="a33m9xa1jqc650zrv6mrz9xdyfs14nyc";
-"beamertheme-saintpetersburg-45877"="jkhmvyc96zm66cmfjl1fvrnz86a81zbp";
-"beamertheme-saintpetersburg.doc-45877"="9msrd7ylkwfg6ijdx3rddcl143p17383";
-"beamertheme-saintpetersburg.source-45877"="16hmcal8wb74z1qdi5r46w36w3n87n6z";
-"beamertheme-upenn-bc-1.0"="i535al38gpn0j6mhixm5g6vnlj7gi957";
-"beamertheme-upenn-bc.doc-1.0"="s7wxbnlgqxwpabb06jc5nawxm40bnia7";
-"beamerthemejltree-1.1"="iqjiwv4v9vp84a3cjjmv5gxygyclw5c5";
-"beamerthemelalic-1.0"="qn1qm2cy585x1js22mns5kfav9a4d67m";
-"beamerthemelalic.doc-1.0"="rq3x8gm2w1bs4ci9blxsj0zbxlwp8hvm";
-"beamerthemenirma-0.1"="jix18byykz4n2mqcipf60pskfjlj3ini";
-"beamerthemenirma.doc-0.1"="llvppchvbd0zz9cl3lpswghs8hjm78rq";
-"beamerthemenord-0.2.0"="5yf01l6cjhjsjd6a7cr7fgb06q0zsam4";
-"beamerthemenord.doc-0.2.0"="g9zz702frvpvfsd4gsdrsmy7zmcmdnp5";
-"bearwear-0.2"="qhsma9q7ijwa5f044f2j3ycqf142yy5b";
-"bearwear.doc-0.2"="nw04s1cxs952521d77iw69lvjsgbz2pr";
-"bearwear.source-0.2"="g52pgqfvx9argj6pdigp3hq8ymxivnah";
-"beaulivre-58503"="2qb3mpxm0j03cwz53glcksj2ax78w84b";
-"beaulivre.doc-58503"="xv7aibyvfvcbmx8jpgnkhj2gzbbvghj3";
-"colorist-58434"="p3wm7g1rxillh9y6p9ll2df3f1h33w0g";
-"colorist.doc-58434"="71sys4ac5khgmkswqspyb78mjmby7v7w";
-"beton-15878"="0psc07yssk92pgrf4c9zvyr4k3ibbz3j";
-"beton.doc-15878"="9jpvnkmri3w4m9ik5d4l7mnlfpwxacg5";
-"beton.source-15878"="znwrdd877gdwmsiaxc9v8pczdw21wrb8";
-"bewerbung-1.2"="4zrcxx73cyavv3wm4dm50hvrmjw02s3f";
-"bewerbung.doc-1.2"="m6668z3ds3sgdvpr409jbyshsznqs4qp";
-"bewerbung.source-1.2"="5kmfflgw9nnl5gsigh08ww7f9k9zhmh9";
-"bez123-1.1b"="9lx6fqcskk9lj28vcfhfnkmjb9dhlqdh";
-"bez123.doc-1.1b"="s5s834dhxqlqc5i8dswvayhf62chrqbh";
-"bez123.source-1.1b"="fsc7gqwcbpfjlhn0bljq7l0jd8g6zapd";
-"bhcexam-0.4"="1px8zypnmrvi26ysrplj54pdz67ajcs5";
-"bhcexam.doc-0.4"="ksq01g78a489prh8lrrs0nn9k5jqasvr";
-"bhcexam.source-0.4"="ra3418l0mjj31jrkss9fysd4q1h3bdqn";
-"bibletext-0.1.2"="l1xjz1y65n8788jhskhb7z74fs8azjxr";
-"bibletext.doc-0.1.2"="z37aix7i7hm3rg581np1mi67dn5agl7x";
-"bigfoot-2.1"="i4hdv09y0blcrbhk554ilzc70fv19242";
-"bigfoot.doc-2.1"="ixi0hkjrzg740q3pkp9lwrq43ab1f006";
-"bigfoot.source-2.1"="jp9h2p1j46ha7ksxvh3d6rmxr0832r1w";
-"bigints-29803"="6ig6fmxy6wj6k3yc4x9s7b18xbfxj4kp";
-"bigints.doc-29803"="jyxj3risms61j5aazx9hkxxfwbg6nyzr";
-"biochemistry-colors-1.00"="fvz3nlqi6y12g5pcyh118l6vjbw5kz2i";
-"biochemistry-colors.doc-1.00"="r7n07xkk4ixxk9zhz3ffkg7kqsz0i8fc";
-"bithesis-1.0.1"="8wam0lyfcr3na06bsic1137si7pdk61y";
-"bithesis.doc-1.0.1"="wck5b80wr5nxiqdg3fy9j9vqlrrxg0vv";
-"bithesis.source-1.0.1"="iqkpvidqv1pkirh49g1is5a4bwmpkjf9";
-"bizcard-1.1"="l59w5wy3djx28g5yw2ywagi5am258bry";
-"bizcard.doc-1.1"="yallp1mh43m9224sqhzg85ylymiib9v2";
-"bizcard.source-1.1"="z70q003l3pmi9p0z0a99f2bz0lxkq2y9";
-"blindtext-2.0"="5xyi3x46b5mvl2zr925m0dz7z9qqgvn8";
-"blindtext.doc-2.0"="h3p5d9pr9h362d8jqq4lv3dahcfs2rnq";
-"blindtext.source-2.0"="dr68k54p44vgwp3rw9d1khc733k4apah";
-"blkarray-0.07"="djcla33mmskp42qbf8qg053p34515x1a";
-"blkarray.doc-0.07"="7iy0ssb4spk30f5janvknnhl91csvmyk";
-"block-17209"="b75bd0f6imd8svp869g4j3q2q02pilpp";
-"block.doc-17209"="gza7j45w5qixk19px05wr4q67m4lzhkl";
-"blowup-1.0"="zhslxr7v04yhkdssranpiwpql9z7xsrf";
-"blowup.doc-1.0"="paw88yvcal35rq5wpfxm5s9hlsyz6z86";
-"blowup.source-1.0"="kmbxfjca3pwppfhklyhg8k5ddkxg8r43";
-"bnumexpr-1.2d"="vl4qb1q4y3s894hi9i6s5b8r56zdxx7p";
-"bnumexpr.doc-1.2d"="n4kq212mmqrq2bfdf5n6zcykpfigjqhk";
-"bnumexpr.source-1.2d"="74c56vrq91q0ycsypdh04ssy5v0jp6lz";
-"boites-1.1"="nccwd0yxdm5cr6razvwlkrrb5wxxj1i2";
-"boites.doc-1.1"="q3mcdfg2afqm3w1zhbcb1bxzwqgp4s3n";
-"boites.source-1.1"="vcfgm806kvw3z466j5kimj5wzgaywv0f";
-"bold-extra-0.1"="0kr4p0z1bfng2sindvkk7rkfzm863qmx";
-"bold-extra.doc-0.1"="czal2y2szfldrzkn4h0aj6iwjk7gpifk";
-"bookcover-3.3"="8jzphigwp2xys5h1hq3vgk8xx8hbl8bw";
-"bookcover.doc-3.3"="caki4lv0vkwnl12in3i2xa78avsba80l";
-"bookcover.source-3.3"="pr9g2yp4vqi3fgqwa7hgy3zmb3vr1f76";
-"bookest-1.1"="70j4zrqfn4cr0qg7dhdqainy3pxxilg0";
-"bookest.doc-1.1"="3cbqgyzvm6zvzib6jhgdyy7mcw5p75nc";
-"booklet-0.7b"="fkicb41vlz1m3spn6jf9g1dk28f22v7i";
-"booklet.doc-0.7b"="c8y8mxy7hv7qmp7a8bib37vi3xy2pfxx";
-"booklet.source-0.7b"="h46d62nvn4gnnj26bkd5h8m22s0jld8s";
-"bookshelf-0.5"="3dnqq00xpzl0w5ivggqx14a931gbrs7x";
-"bookshelf.doc-0.5"="jdbx79b2c0mcnjz7126lb4w2zpxx9ck8";
-"bookshelf.source-0.5"="6814jnc7bsk40fj46mn7i72i2p1wgpdk";
-"boolexpr-3.14"="acxia88jpd7222wvkr2fwxr48vl33nzz";
-"boolexpr.doc-3.14"="n6rs3hgfaz36fblsz28pshnlhvj6l51r";
-"boolexpr.source-3.14"="gbggikjrx8p47w9zs921k16qx8jq6gd8";
-"bophook-0.02"="l3ljpnwkgsrb646j19kxb3qk51azvzz5";
-"bophook.doc-0.02"="nkpvwq471wzz69vlrwhpvsfcz6w9fbbc";
-"bophook.source-0.02"="s9ybhy14wz90vlffn96y0bzh9f9202p0";
-"boxedminipage-1.1"="94amgb6anrixzngmc6iz4752nihjxq7b";
-"boxedminipage.doc-1.1"="vwifjz4ndsc3vw7hzfcib0wrjjgq977s";
-"boxedminipage.source-1.1"="zik88vcqpmddr0nscymcf669j0bwkk34";
-"boxhandler-1.30"="j2q8bm858c8qm335w67g0kr82vnigjjl";
-"boxhandler.doc-1.30"="08260asli77clnhfnj1fxff5bbgicac7";
-"boxhandler.source-1.30"="0s647gs05wi22qcrv2zsb8x1713yhf1w";
-"bracketkey-1.0"="4l5l8s1xcwhlkaq50spccp2z90lm161f";
-"bracketkey.doc-1.0"="500h9kzvrkkqj22622hr4a78d6mz94jm";
-"braket-17127"="ck5gh00qn839wsxy2qili0184vswy0br";
-"braket.doc-17127"="mqckibrwr123hhda3fnbf8wrh1d16bxy";
-"breakurl-1.40"="lsl2j1iflzhwwapb03s5hg137rynjjhl";
-"breakurl.doc-1.40"="rjyrmhd32w912qg9wd4qxc9q46kg8qc3";
-"breakurl.source-1.40"="lpxb827p465qc14c38rk14jrzag7jfq6";
-"bubblesort-1.0"="i2z21xh8cmsldiv9cs6xr6shwlyqb48i";
-"bubblesort.doc-1.0"="s849r13af8zz7m6h12qdcj72j24wqbcv";
-"bubblesort.source-1.0"="ps2dm6k0y8k66gxsw97wp7saplgs7raa";
-"bullcntr-0.04"="w4fxp9fvpbg882yb855sl4b6w8fypiyy";
-"bullcntr.doc-0.04"="l1p8zz226qbnzmx4n78xhjsrc26z7jxw";
-"bullcntr.source-0.04"="6lw02qi8iyp3qph7yaycfm5p1q6l71r3";
-"bxcalc-1.1"="zmqgp92kdip1cbs43hq1rwpfdflr7c68";
-"bxcalc.doc-1.1"="1zlvw9fd7zibh9cmnpk8l9ziwar6ns0l";
-"bxdpx-beamer-0.3"="q07kpnmln2v70w83z91vsk53c0i63x02";
-"bxdpx-beamer.doc-0.3"="8ynjsgbyifkvz27qp8j4nrfk3pryphdf";
-"bxdvidriver-0.2a"="f6ndmagn10ax4hpmlia649f7c14hjkgx";
-"bxdvidriver.doc-0.2a"="lg3m3lw08iizdhdfjqkh91wk5ma43825";
-"bxenclose-0.2"="h4cay0x5nq4xwqpaihbvyzhjxgsp5fwn";
-"bxenclose.doc-0.2"="9i72bmx63c76m7gc7qavv228g1afrnq7";
-"bxnewfont-0.2b"="42kvrm0ag8zrxavfijin59k9sg3akhhp";
-"bxnewfont.doc-0.2b"="wxkcv5hklkzxs3xsw28z0bknq0sjjhsy";
-"bxpapersize-0.5"="a39v65wwyrz0wfl845cvk1sbnki84l61";
-"bxpapersize.doc-0.5"="z915b4vspqsbzdvihvkppcmrc8j3758w";
-"bxpdfver-0.5a"="wzkn89ly0cham8r9lcsrcr45zpvwa8d0";
-"bxpdfver.doc-0.5a"="4b3kzzmc8n6pwcf1qlnzczpxw57a5ips";
-"bxtexlogo-0.4"="5czz5b638x3h3gpyb2n5si8py53gwl9v";
-"bxtexlogo.doc-0.4"="51msprgb7p49x3lhk4cr65ay7dpzq5d6";
-"calcage-0.90"="4yzr1l7jhng80xs4n1vavaks3d8cjr49";
-"calcage.doc-0.90"="b4vjy0d8rz4jhhw4vimfdfwhpqx7sgck";
-"calcage.source-0.90"="x42rcz3r7lphziii9v8vgv0lm43ymj8z";
-"calctab-0.6.1"="vmm4595955mrf96s3i77mk120yj527y6";
-"calctab.doc-0.6.1"="98qbw092f77rrsk5w8vbzm4hln0klzvk";
-"calculator-2.0"="z44sdp5jlkqywi01c1x7ly2yvzkx1h9w";
-"calculator.doc-2.0"="dwb0bhngsn0xk56gnil8wbaj5dv7v0yr";
-"calculator.source-2.0"="3m4b364wkgfvxyc8y20rg8c7rh22rhyd";
-"calrsfs-17125"="cq6j9glbxrl31xwx7k5s8ayispn82vfx";
-"calrsfs.doc-17125"="avw2hw984yx1vsxayn96nzhgqcfpz90r";
-"cals-2.4.2"="0xq2pylhs1gl542s86wm23nynnfzk188";
-"cals.doc-2.4.2"="yq4wig26r1cadd3kxg5bfraig4axvyvd";
-"cals.source-2.4.2"="fshbdf6ljfy0c7kdcvz5kyinysplcj86";
-"calxxxx-yyyy-20.21a"="hx11kvbi5kph8himmnr7cygyxrs92h6y";
-"calxxxx-yyyy.doc-20.21a"="rc1cp1b4mxrq8pbva644wgra1cvs45dn";
-"cancel-2.2"="gq061h1xf31ivc5zz1wqk7c457m33amn";
-"cancel.doc-2.2"="24zhq0iz9iqwm1lnyd6zgzc7dsg9b1gf";
-"canoniclayout-0.5"="vg54aawlapxdw0dp8s7jinkl16jd8n6h";
-"canoniclayout.doc-0.5"="cnf6kxlminyfh3k6qyj0lfgxrvxa19j5";
-"canoniclayout.source-0.5"="dhqxmnl78zscvl2wgyr9y5qr1fhmqajv";
-"capt-of-29803"="qmph3ai6555l904xk4q6sy4jml5l6nqb";
-"capt-of.doc-29803"="bpa4ll7afaz43ysz8m7q8fs8klvv4h4k";
-"capt-of.source-29803"="9rjjpf1v8qg3v8j27rn8x3b495lddicd";
-"captcont-2.0"="5s81zvby8iq2l0j4bkz99s56w0kvc5pf";
-"captcont.doc-2.0"="ivp30a2jxrnp8zivmdm61nn0i25kiarz";
-"captcont.source-2.0"="bgy7jzbckqnajp42hy4x31dvb01cjm7s";
-"captdef-17353"="gx42x6flbn7jdbrbqzsn8csgi07ij4k0";
-"captdef.doc-17353"="fykmdpzxx24x66iph3rrzj0sc755y4nh";
-"carbohydrates-0.1"="x4rj3x70sfcdgq8sd8yv2486khxip4wz";
-"carbohydrates.doc-0.1"="lp5y1sx5s74px1x03366lpn676vhl6c9";
-"cases-3.2"="qnmps08pjcipmj0fghr6sjmkm5r6gx6s";
-"cases.doc-3.2"="kg8k67grlxq0cipm3mc3sj1k12pl5qy0";
-"casyl-2.0"="4px818jfrl4q6fs2p7sabq1pihzvnsw9";
-"casyl.doc-2.0"="dcw7gljkwgkgsv1l6g6680mawm0x8sby";
-"catchfile-1.8"="d5yb62s7q2pbznla8nifhaih623myzrs";
-"catchfile.doc-1.8"="fhnirlpgckkkdc3705hrw4j62dmlvsgr";
-"catchfile.source-1.8"="h5jpwqvz3schhwfa4ds0v8icpy4yhiin";
-"catchfilebetweentags-1.1"="4yhcz4rv10s3si8vrbn4ac1yikmvgamk";
-"catchfilebetweentags.doc-1.1"="w4zpyb3a2gwlws0as6ifmi0wcnladgi4";
-"catchfilebetweentags.source-1.1"="819f4z3q4hnbng7hbifk1kd4m88xgfnj";
-"catechis-2.5"="lmc08shlf5vy2v8czk8fs05g4shpijv0";
-"catechis.doc-2.5"="n5qpnb03g5533f698jsgs3fd1dlydvr6";
-"catechis.source-2.5"="9j8fqms4ag6jnkcr44300hgp4dg6ma9b";
-"catoptions-0.2.7h"="40b95bmcg7bw5ndk3pmqqxjq5j8gy1fp";
-"catoptions.doc-0.2.7h"="3yvgf5pzh121hwzlfqjqmylassr8h6cb";
-"cbcoptic-0.2"="rqw0wq5w1hxq7241skb9b26ixnr67aff";
-"cbcoptic.doc-0.2"="b818cvyjz7x0a05b5k36815w4n5ij43r";
-"ccaption-3.2c"="4l3kxgc46z9i4lrm479ghpv7d0077l07";
-"ccaption.doc-3.2c"="qm6lh4nrdndp4vivy815ajpj9jj4w433";
-"ccaption.source-3.2c"="fdfpz99x7z4avqx1q4nrydg3r4csq4fr";
-"cclicenses-15878"="scxyv1a4lh05mfgbs55rcg40vbfyvvij";
-"cclicenses.doc-15878"="17zr0mgalzfnpayvzym8hri1yfz8c6xa";
-"cclicenses.source-15878"="hgm5y1054596k129p6j4s86kv0m0ky76";
-"cd-1.4"="34nj75mgz2mzxjbmpik2kvqhmwdmbw71";
-"cd.doc-1.4"="i7230mqkczs0b3nczmf3gkv8z0bx61mc";
-"cd.source-1.4"="h5plih2dk6kk9klc7lwv5gpx88apljlj";
-"cd-cover-1.0"="vl1q321ziyyiybwjsvaq9h11b69xxi72";
-"cd-cover.doc-1.0"="06rjy67nvlvlnlz9dr9xa3cg22ndgm3j";
-"cd-cover.source-1.0"="kyc8pdbwj8r1dzri0wwqss5fmqkci6cf";
-"cdpbundl-0.36d"="hf7h2yz4c0nydnrhdwl5jwxbzhqxv7mk";
-"cdpbundl.doc-0.36d"="5csmnns276bpm80l1iipvanggljgjq6m";
-"cdpbundl.source-0.36d"="hzg9ax2jn65b0rq2afqfxh1pk1rcvlg9";
-"cellprops-2.0"="i00p0s598n0m8840zy9lxs116na6plc6";
-"cellprops.doc-2.0"="4n052xl78fl4yb5f19i64zhrkl6v1n4n";
-"cellprops.source-2.0"="nbna05ay9zyxixiiqiyln2gy8lcyhcm6";
-"cellspace-1.8.1"="kngz1r2b59j5437zpz0kl5xpjwci8xra";
-"cellspace.doc-1.8.1"="jn3r4y6idf7ml45vp3q1hd2rn58rbvld";
-"censor-3.22"="6125pgg2a5pj48w6md4vzyi3cnzns4yx";
-"censor.doc-3.22"="rcvd45yfghlg5yc3jcfzgj506zfnbmpz";
-"centeredline-1.1"="cqrj6vf1p84c5sqz09an9dixy4mkvbx5";
-"centeredline.doc-1.1"="k0yjy3jia8qsxh1zzgsdvm5a7xj58ni1";
-"centerlastline-1.0"="svlrrvv2sa6534pkbr8rzqiaw4jiz6av";
-"centerlastline.doc-1.0"="6b213204s814gvfsf40rmcfhcx14ncpa";
-"centerlastline.source-1.0"="35f4f2b8ccvz9k04c7n0nss2i9s1a3ll";
-"changebar-3.6c"="76f70hw5065zfzmvbkrkia3ih5jhhkjq";
-"changebar.doc-3.6c"="310sfxf3nzqrrkcp2n794kpn4bzv9b3b";
-"changebar.source-3.6c"="xi3ldcm33mq6aa4jad2sfv7g58kwg0p3";
-"changelayout-1.0"="sx1afd6zrrl7jk40van0mwbf1ks7z6fk";
-"changelayout.doc-1.0"="lw4yjf3h1r2qr24b3s98rkm0r3ybdwgi";
-"changelog-2.4.0"="gxr8r8g0vzk509sqvxllh0zflba5fbni";
-"changelog.doc-2.4.0"="w1is1zgnbs7y7xa6qcmaf5rgc1w5bz0a";
-"changepage-1.0c"="s3dd0v3z0g8v74i6cnasyaa70wnqiimk";
-"changepage.doc-1.0c"="g63jqnyrkc74dd9ksi0s7pbxq7s4dzwb";
-"changepage.source-1.0c"="0ck3lyl2kzvm1182hmw88ni48paff7aq";
-"changes-4.0.2"="zgzcy1cphdvibrj11dd31m5k1gfhcfwb";
-"changes.doc-4.0.2"="qbnh8gsgwcqsx81vzl7px699v8x4vkh8";
-"changes.source-4.0.2"="pw0msqw9p18z33vnn0wagg0f4ssd2k5z";
-"chappg-2.1b"="231kpsvxwdnmakq4mkca0nisqdl622n2";
-"chappg.doc-2.1b"="nhh2f6k2z5gh449b91fmxnvh359n9adw";
-"chappg.source-2.1b"="74f8nr6m6ssdqxynrxl2y4za3rmj9sd2";
-"chapterfolder-2.0.1"="n1iyz86gz5mb7ixn2kd48i0rgj28d7sr";
-"chapterfolder.doc-2.0.1"="cq3fgi89g5j3l8pjmgb9f76ly6ykdviz";
-"chapterfolder.source-2.0.1"="v9hlnak7v7s4bi4942gc43hh03zy33d7";
-"cheatsheet-0.8"="dbp6g9c967pc45wn345qm95zns815kl0";
-"cheatsheet.doc-0.8"="s3h23qpv0l6hn9bqnrzyiqx2mv4bzxch";
-"cheatsheet.source-0.8"="4x8njfgq1scmiqnkx4xvgxinc133a4vf";
-"checkend-1.0"="7ggrrfbxxr2y2idilmjalw6c0av7qypf";
-"checkend.doc-1.0"="qsvc0vq9mgcryqa2dfgh243mh893xzyn";
-"chet-2.2"="g654s58dhkxsnzbg59zydmncldn3qklv";
-"chet.doc-2.2"="4wc8nmj6lprpqhm5a067nsm00y56pzmi";
-"chextras-1.01"="mc1ymd3wfbwash00ly9gxk6hcx9rl4lk";
-"chextras.doc-1.01"="9rl2yhjmafyp430avjf0dmdmmgb45x01";
-"chextras.source-1.01"="5a4dqp8jyaq0bi98q26mskbpmp1avb35";
-"childdoc-2.0"="pq3pyrsns4672z06makyhs3dlq9yxnq6";
-"childdoc.doc-2.0"="35s7fq214rgxvxr5qvn79c46y82zkvqs";
-"childdoc.source-2.0"="hbll1cd9cf76kx3m0s0lb7d490y471sr";
-"chkfloat-0.1"="m48shpd6qvgscba8rz3dpkx0blzfiw13";
-"chkfloat.doc-0.1"="1l3anr2pkpq0h4wpshscrxmcdj80q6i4";
-"chletter-2.0"="9nvpbffnfn080w6pkf4xv18vwsvrc2z6";
-"chletter.doc-2.0"="h2qv6i4cc4yss3iv9jxwfa3w08h9gsk2";
-"chletter.source-2.0"="q76hqgvq8mjc9zqnxjxlk379gqlm0jgr";
-"chngcntr-1.1a"="pn9hpnfznijphqk5qb064ksyxabhhcqp";
-"chngcntr.doc-1.1a"="7612bvrx1f1ai3q5pwgmkpc33ip4adhh";
-"chronology-1.1.1"="jsrsagv2imvc5hz7mgbqdkdqjih66rd4";
-"chronology.doc-1.1.1"="m8psr1bcvmmi1qyyw0j8pyhy0bsgsvdj";
-"circ-1.1"="i0wnc7sxhx96v3jnnsv5l6i5nzvp94jv";
-"circ.doc-1.1"="v5g8hhvdn9xhqp9r1k9xahrnc0yd2a3l";
-"circ.source-1.1"="j3hksz3r2pa1y4m7kw2qwzm11j7a4za3";
-"circledsteps-1.3"="4li81ffd5m91k5sk741x4alkwbj1i45c";
-"circledsteps.doc-1.3"="b4q2r072dkzgfd75mj7av60a5v6fah1v";
-"classics-0.1a"="as59hrjhv6vnw9dr4pghhx8w7kmab8kf";
-"classics.doc-0.1a"="2gbi1lmx3chdd848ib2wbsx8bcmzg44a";
-"classpack-1.19"="hdmx3wk4ji1l2rzyhrvsl4waiy3bmlpg";
-"classpack.doc-1.19"="dl6zzq4cqjc3xhc8m2y7fmz2jdgzl7pl";
-"classpack.source-1.19"="drsgpzskdxa2rjy94sx75sdkcvnwpwk2";
-"clefval-0.1"="kxn3k2szmgvw773f2x826f8vmf8zdrl1";
-"clefval.doc-0.1"="xgnkici53d8mlg38k7b0izwvx0xkn82s";
-"clefval.source-0.1"="qkjh9803i88540p477379yl95b1wyhgx";
-"cleveref-0.21.4"="cl7sns14fh7jw87sz45rf4v2yrwqyh2g";
-"cleveref.doc-0.21.4"="9bz4rlbh25z2csnngs9ij9mrqazfq2wr";
-"cleveref.source-0.21.4"="7kvgpyz07knv09q52aplizs5zk455csy";
-"clipboard-0.3"="flll7lf5hy4hysxg3ppaq8ygzqsan82y";
-"clipboard.doc-0.3"="n4lc7mbwwxahicb51214fzgh5j2iyqhs";
-"clock-15878"="bcsbr112z4np0wszh3dwv9h5l8w11bvd";
-"clock.doc-15878"="prj65yh580yg74pckacsr432rki2nsl6";
-"clrdblpg-1.0"="rw9bphdh47x4kpwzil4pxvlpks1s4hz0";
-"clrdblpg.doc-1.0"="0brjv2dy10l0gy3sx6vjw3f5xq9h67bw";
-"clrdblpg.source-1.0"="7pcjrddv97fdsljj752n5gh9mygyl1ph";
-"clrstrip-53537"="pi8803gja6wyaq33syigff4s9zgrszph";
-"clrstrip.doc-53537"="y5j0z26acrhmfbrl2xln47zfynqvrfck";
-"clrstrip.source-53537"="whsy1grs9pgfbz2glsl4hb7vda69cnib";
-"cmdstring-1.1"="mzw3hf7xhy01j9irvvlba90hb0065p1r";
-"cmdstring.doc-1.1"="l2hjd47d6wmd07rnciadrbir01887nd0";
-"cmdtrack-28910"="1jw2c4hx9xmalis8lkz7lr4b38h6srlq";
-"cmdtrack.doc-28910"="0fniwn5zccpkypjn9v5hjl0baxscpc8a";
-"cmdtrack.source-28910"="hlqnd8ar2w2wyjr7rxi6qbi3mw2ppgsn";
-"cmsd-18787"="4b40ccv8788hg71xh6sv12gnzyy2q4rb";
-"cmsd.doc-18787"="j3bvhldqzjqf1snv9pbg7k39sbwl2ccj";
-"cnltx-0.15"="adx1n60b5dg15r60pr87nj8i979l23sy";
-"cnltx.doc-0.15"="603b8mxzm4cwj03wxgx5j1byhydv96qp";
-"cntformats-0.7"="v6xl1mkldlf6265h96m2q0bylifxhl33";
-"cntformats.doc-0.7"="rdam48ljhih6v72gaa3394zlg8cwsb50";
-"cntperchap-0.3"="xgdrhbyll67dbw0xabqmrl2livxcfsbx";
-"cntperchap.doc-0.3"="y2jdwmpp6r1w17svqw9iww07pi3blbah";
-"codedoc-0.3"="gva56ykkkr58q9gxkff6ng0wd5bk9by7";
-"codedoc.doc-0.3"="8w9r3z61w026a0zqmbsilmf4q382bvd2";
-"codepage-51502"="y9xv0i4lq1nh9nav86b5j34rws8lln53";
-"codepage.doc-51502"="sv2vn5f4kcgzbg52233drja6705lcgcl";
-"codepage.source-51502"="4955x5b5ddysnx8bksmwsqhj1jy83991";
-"codesection-0.1"="mnsfhjy6j2ypxiwmwx85w2k2zyw928pi";
-"codesection.doc-0.1"="s2kwd6brlwa42pvhpjasx84s87vmbz8j";
-"codesection.source-0.1"="j94xngba5c8r55idfqgy7ra3imzkmg8x";
-"collcell-0.5"="vw1ir7qzfyc8pc1z89y8zfhj7cs5yxz4";
-"collcell.doc-0.5"="86mkb3wz8zjsgpqgrn4azls054j27rcy";
-"collcell.source-0.5"="vv91p9mc1ig82bjw4cfd96ir1ndjx82x";
-"collectbox-0.4b"="2kxzzkgkgcjw80ff9n2mjnnfpxaxcdhj";
-"collectbox.doc-0.4b"="2xgqgni67w7q4ad0jqy4vr9wki08kn1g";
-"collectbox.source-0.4b"="szy9gprjqnkx357dca60120lvaiyyy8f";
-"anysize-15878"="0phqi21d8qz3ifadzfzyfb04v10xc46n";
-"anysize.doc-15878"="4as0n5cw5g21j1wy094gdrbw8pzdm460";
-"attachfile2-2.11"="fz9x75fk340ffzvsg4ishk0hjvgil8p3";
-"attachfile2.doc-2.11"="wcw202snsfgf6g607h8xga4lsq41gg1y";
-"attachfile2.source-2.11"="0cp1pzdkn692vyav1p969v2snpc3dsw0";
-"booktabs-1.61803398"="4hkipcli3lx2rfz6nyk95vzhrli76nfx";
-"booktabs.doc-1.61803398"="41kkvglc6cpp7rkyrc4957rw9viwwlc9";
-"booktabs.source-1.61803398"="fn9dc22vsdrrw19a8p47h0ysla6j6w22";
-"breqn-0.98k"="zxlvpm3140isqldavaiq93i62wx9fvd5";
-"breqn.doc-0.98k"="rq5wmm3nkf8dn5ai2fc9vbrnahb1aym9";
-"breqn.source-0.98k"="d6zijlq7xzciyk3xn1v5pbly5wxhd63m";
-"caption-56771"="bjmm0mpsrkwvz5mzk9n6dqpn6smfcbya";
-"caption.doc-56771"="ck3gbg8qcdfji56xksflhl5664fdrvkb";
-"caption.source-56771"="lg7lv6j2mwfzxd04sgcvs62f762jimp3";
-"cite-5.5"="7vzh6m2dnlxwkiw62ifbyn9hx82jpgyj";
-"cite.doc-5.5"="d20p75a21nvifkj1f61fd9ah5580n2bx";
-"cmap-1.0j"="576i3k2kyz947vm9yfwcl13pid3vdla2";
-"cmap.doc-1.0j"="93qcyi11nlxbqaycsv59b0b0x50i7k4v";
-"crop-1.10.2"="8g4mwi6zyw5pxcyza5jwpyh41xyvc6hs";
-"crop.doc-1.10.2"="77dh3wm92skq9s778fvn9wdc9x33xi4m";
-"crop.source-1.10.2"="6xhzr3a69yyqiff20sm393h6n7821v2m";
-"ctable-1.31"="wd1f4k8s98g3lcfn825snbj9pvsr6s2j";
-"ctable.doc-1.31"="sjikmhs468fpx52r50s7qyjc4rkfb9r0";
-"ctable.source-1.31"="a3danbgiabx2z87nxkkcbvdb0l7fs0s8";
-"eso-pic-3.0a"="5hkndcg8z7mq3hjd710hdm05sy15gpmn";
-"eso-pic.doc-3.0a"="5ls3fcmrl5v6dpi9qzympyvhdwqfiahi";
-"eso-pic.source-3.0a"="xz2ybhj1aw80mafgbn7lrj7g6mssr5g4";
-"euler-2.5"="32y9kxnr7zw4byr1zxsd2iqcfyzjvn42";
-"euler.doc-2.5"="g4bxh88pzc2872qk0w0sgapcaglal808";
-"euler.source-2.5"="8h1ahs9sbijdsc3xiv1rwv6k0vm9m858";
-"everysel-2.1"="3cckrnsvf7gk0f10zlpm0drsdnvbrh8n";
-"everysel.doc-2.1"="m6db8s78ndcb77q49g7fdwfyv4f74dlj";
-"everysel.source-2.1"="yxbk36ppzqqv507g0q0l4v0xzfy4z454";
-"extsizes-1.4a"="g3j8wf0886xf7ww65zi6h8gmc6x4mk3v";
-"extsizes.doc-1.4a"="xb8w2wf5i3lvcmppbklpp1hxc12acj5m";
-"fancybox-1.4"="xlk6adym8ans599d0hrs0x5nbaadkls3";
-"fancybox.doc-1.4"="iwsrzmm34bfmddlg33mrmnwjy88rbcfj";
-"fancyref-0.9c"="0417hndq96cnldfbpc3hc1f7pyfqlscw";
-"fancyref.doc-0.9c"="wr3q5g6hjznnfcr9l5lvl8z07ixm1m8i";
-"fancyref.source-0.9c"="54cyla9pjr00km1djk4jc0h8ly50c8d0";
-"fancyvrb-3.7"="8r16m2y70jzxim4ng30fvggkqsidysr2";
-"fancyvrb.doc-3.7"="rmfx84m7rapskdcn4mp205gcvm60n8q1";
-"filehook-0.8a"="yr1aaa45l23lavng9vnqk0bcqqyks5m7";
-"filehook.doc-0.8a"="mcz3zb712g7fgiqf9n7dh63rvca5nw0r";
-"filehook.source-0.8a"="d3dd5han0ncvs888ymamqvg2cnizm5v5";
-"float-1.3d"="dqksfsgqpc0vprkhfc6c9vfxlbrnn8sw";
-"float.doc-1.3d"="88hpzqh1011kwvwwm5bppb2gx6c9qqrv";
-"float.source-1.3d"="j1vp24g1lvwniahnd9vlw32c61cjswn9";
-"footnotehyper-1.1d"="vwi1wcxxxjxh66wmjviyfc8cizv2h48p";
-"footnotehyper.doc-1.1d"="pfcggq6810cvlgknlpdxwpvvy22j6csk";
-"footnotehyper.source-1.1d"="sz8bpag3amv7n9nyirv80jrfpvziih7c";
-"hologo-1.14"="3sz5m55pgy5adawf1qsnihw0mqf94hbk";
-"hologo.doc-1.14"="h7szzyb4hsbsa1inbyinazfvg87kn1da";
-"hologo.source-1.14"="8ijn8yd831dvsff40ksd8ak7fas85mgq";
-"index-4.1beta"="qbh9vs69mrp2czw492icb71wbx4nzshx";
-"index.doc-4.1beta"="l3476by3qz0r0cn3lcbw006ay5p11naz";
-"index.source-4.1beta"="0i38dyjh6278hxgkdzy0wvlcbn2w0k7n";
-"jknapltx-19440"="cvwv1bfgf5s8rnahghpy2pbb7kgwzqwp";
-"jknapltx.doc-19440"="cxdmxr63vm4sm8rv6bp9n3yyw5gqc7y3";
-"koma-script-3.33"="s96ab2rc9483sa0axvd3v4q6z17xaa0x";
-"l3experimental-57789"="g8hk8qs5my4g6ci6hz0sa0ibr7n19hgl";
-"l3experimental.doc-57789"="g3gs9jfh2a9l7v378kanz3mshd3jhs3q";
-"l3experimental.source-57789"="kaxhwk53xz5y6h8q52pi3ivbnqyq6wfq";
-"latexbug-1.0j"="2hvzz7cxyq24mscylmxn8y2dqsdcbgv2";
-"latexbug.doc-1.0j"="kiz30ji995p7nzbi4g1xfr1621jm1h5q";
-"latexbug.source-1.0j"="rjxgrbk8nx0dcf1srw2jcz55c6qwr7k6";
-"lineno-4.41"="kvbdigwxw4db752kssgdb8rlxhljkkpm";
-"lineno.doc-4.41"="cfnil0v0isahd65d1sly2kr29w38h535";
-"lineno.source-4.41"="w30n8z3rnrvzpfa1d1s7mn3rcj03s892";
-"listings-1.8d"="ci87vjqba9nnwsgm8412749fg7fid33v";
-"listings.doc-1.8d"="jq29kbrz6bxs58iqhp76ail0kiy5s53r";
-"listings.source-1.8d"="0cz06d1v08369wgfnkddmzqi7258rsx0";
-"lwarp-0.895"="4aa4ky75hwrrqkqmk1l4rngriym8vdax";
-"lwarp.doc-0.895"="zpcz0sp4jvxr06bn70v5wi5hi3wjwhz3";
-"lwarp.source-0.895"="p98yd0hijyvsz6ij19kxkhrb11n1gm0r";
-"mathspec-0.2b"="kwvx81d4nlxj7vbr2n5zvgnfvkasg4y0";
-"mathspec.doc-0.2b"="rqykkdkfahnnnphcns26p19z9mr2mlgh";
-"mathtools-1.26"="kms9438gym0n18hl31z7d6vix90napc3";
-"mathtools.doc-1.26"="dwjs0ps1md1b9b8mylqk63hgdmna0civ";
-"mathtools.source-1.26"="14z54fblj7d3cbav1xx4ijx8gy27y83s";
-"mdwtools-1.05.4"="fbp8vrgdzc2g4i27m9f4qcsr8yjlbzg3";
-"mdwtools.doc-1.05.4"="jb5r95gmlqj1bx19gbkvcm372ina3bdy";
-"mdwtools.source-1.05.4"="kcm853bwwv69vb5zcmikd1gmpcnhz9pw";
-"metalogo-0.12"="hamja3bdw70llmwnabjq9vsdni1w77qv";
-"metalogo.doc-0.12"="mi09m2hdx668xm2v9igsq25z504n4vrh";
-"metalogo.source-0.12"="4xddwk98vl0xdff6j49jjanzvqbw6yzm";
-"microtype-2.8c"="lfl6mk4gzgz24qg078g2f1crc8w54i49";
-"microtype.doc-2.8c"="5176dwsvbxlazfnpnni7dx9l8b3n9zzj";
-"microtype.source-2.8c"="hkhb00d3yy7588fdnvrspz0i93jizn24";
-"newfloat-1.1l"="lbxyrzkqg5j3hgwjaw9gdm2h1cf381vz";
-"newfloat.doc-1.1l"="fkbi9h381inng5z9qdgnig25z0fxsb4p";
-"newfloat.source-1.1l"="p8lpx95dawyhvyd36nkppgilrflb79v1";
-"ntgclass-2.1e"="zkss2080gby0mqd685h9ff8421j3nq21";
-"ntgclass.doc-2.1e"="d3ns0gma0fivb3phssvzx9b1c6zwfzpl";
-"ntgclass.source-2.1e"="i9d2yfcz7blz7c5gakqhycmmwhwykzgw";
-"parskip-2.0h"="mpszhyaf9p4wjjvvnr5l7xzjs2r51x1j";
-"parskip.doc-2.0h"="r5z89pafrb0h4g13ynjmkwinmdqipy2f";
-"parskip.source-2.0h"="3i9s9mgcz42qdcwhdsajlxjz4yv7xi1i";
-"pdflscape-0.12"="xhyfdrzcx5agnsmlgrr1hibq0pkzmmsz";
-"pdflscape.doc-0.12"="7z59wsjf9k7m6d47bclgf6iimhrhlrfl";
-"pdflscape.source-0.12"="9dmgmza1qbbr95mdi9k27vkr772g2w2s";
-"pdfmanagement-testphase-0.95c"="d10sf3di22akhqgamsdxahlr85hjxp8p";
-"pdfmanagement-testphase.doc-0.95c"="fnw5c33z7s0nnl907wsjcvadryfl3hs1";
-"pdfmanagement-testphase.source-0.95c"="wza6nvsaix43qljy4wdaw8affrpc9n85";
-"pdfpages-0.5t"="xvarpi4qrn25ia7h8mdkv0xn8nx68b71";
-"pdfpages.doc-0.5t"="5xigwnsba1xgl3yyan2xwfysxpz0ybsy";
-"pdfpages.source-0.5t"="90qnhk3sy88rr2rrvh2qagqrx8b4g071";
-"polyglossia-1.52"="n9g5zqm9mp17iyn29lvz27p11sn68mb7";
-"polyglossia.doc-1.52"="6dx3w1vyx3p0gbw712wyl0n5cn77f3xa";
-"polyglossia.source-1.52"="797hklcq9f3915g8lngn0bc9mjcpnacc";
-"makecmds-15878"="anpaqglvl5rmcy8r2q0ap8m117nsx89q";
-"makecmds.doc-15878"="39zxaxxqlmps1wd4rjy42a1hk027n06v";
-"makecmds.source-15878"="j4g888p0hniq7p6b30q1fb4qfw3qp7i6";
-"psfrag-3.04"="k8qyr0l3fsc4insyy1r6q596dq4gf23a";
-"psfrag.doc-3.04"="ybb4r3w20w1pcjwzaw0srpkx5c19rqg7";
-"psfrag.source-3.04"="xk135sb77fk6l9wz6fzifsjvchcqyj0f";
-"ragged2e-3.0"="m0xrzzg743b60bzfw38y0s8c9p9jr2vg";
-"ragged2e.doc-3.0"="6yx2gi3mmwq1cskwlh8ydpa8yaw0x51m";
-"ragged2e.source-3.0"="if09g3gjifv77mdd45w65rq12547mkp3";
-"rcs-15878"="4lkd02hz1x9zkxnh247wmwy6n9pg4pyw";
-"rcs.doc-15878"="m1lw85b793n2nxywdi39fg438i6kif7x";
-"rcs.source-15878"="iw4nn20q54s2d4wdyby7n03ljcqrjmig";
-"sansmath-1.1"="yxyny4949h4hm4ajn673nzzw8wn8cba8";
-"sansmath.doc-1.1"="b8vzdmm1l2x7cyc15xzhmwjkszlsp2j3";
-"section-20180"="69anwmylbk95jbgr8645abp07ygv9f9g";
-"section.doc-20180"="ri1gsrpfp94rp0dc90djj1kgpka2p5gl";
-"seminar-1.62"="z9nzymppz6hz3lxy0nliqvy5szq6jk4c";
-"seminar.doc-1.62"="23fz6p4ybl42rmr1m3fllg7qn1zbmfki";
-"sepnum-2.0"="x64bd0f3g1x0bcpdgd2lfspr13jyxvcf";
-"sepnum.doc-2.0"="l26xmi7n5vabfpn0lfn3cjzn1wj6lj5n";
-"setspace-6.7a"="jyy54q9bmx158j0cnpwqa43rzvkm4wq6";
-"setspace.doc-6.7a"="xzz3kqsp4ywxmjdnchkmdv2jy4mkbfvc";
-"subfig-1.3"="sbdadp9ya32w2h8f484zwpmpln2zi4l0";
-"subfig.doc-1.3"="y5g4iadgvkfi144zk37fww79r0smsfk4";
-"subfig.source-1.3"="3xn4yhi29m77001w2hy0s04svik5z5xx";
-"textcase-1.00"="bx5a8yyv2wz1y2rj4sjm2psw3x1j3c43";
-"textcase.doc-1.00"="lx43w8yqkg66bg1b2gslsakj97jr7far";
-"textcase.source-1.00"="vjlmjci0821c4cnbh8bq2x3nkiwaji0k";
-"thumbpdf-3.17"="m4b0akrn0sq4ngalczdq287avr5mrpc2";
-"thumbpdf.doc-3.17"="9759lhx69f2406pc4ggg4q2hjws5nnr4";
-"typehtml-17134"="rk5lpbaikavkp0shg38cdk5b209wx3kh";
-"typehtml.doc-17134"="292x26pw24azh4zdwpy6sh3f1ksk8r2x";
-"typehtml.source-17134"="96p79dyy553b4mc01ihk7qgr11396drn";
-"ucharcat-0.03"="d445ic6gwl7d5d31s691vr63f4hn76dz";
-"ucharcat.doc-0.03"="ma6rz3djr9v3q5p8ffqyznjb91gjj5li";
-"ucharcat.source-0.03"="kh9cnzg1pn8c51bbph2amp5y1j85q38h";
-"underscore-18261"="b7kwk1zddr5a19mcw3yxrp9pffc604x0";
-"underscore.doc-18261"="gwqnbwqn6vjizs1xqnmbv8fmcrs274fr";
-"unicode-math-0.8q"="p35257s5ldld4ya0xkvsxx11jrwxhg66";
-"unicode-math.doc-0.8q"="m9sy94l2v9qq966wlphf2ic8xfxdx81k";
-"unicode-math.source-0.8q"="1sydxxbljd69ds018c5hr8rk3cvb22qd";
-"xltxtra-0.7"="k32hfwrcbhp144n8rplwjgxmz89pw9zm";
-"xltxtra.doc-0.7"="vkw5vjdd8n7qxi8plhjb4xygh97pfj5d";
-"xltxtra.source-0.7"="y27f01j6zgm06nmsgcp5kl05p637wvj9";
-"adigraph-1.7.1"="rd6185ri0shknkd4ixsmlm7229q94sgk";
-"adigraph.doc-1.7.1"="20bk54g9516h3h83pdz74zpknamxj3pn";
-"aobs-tikz-1.0"="klfbwfabfx6lv1pk6kz3vayabsnphvrh";
-"aobs-tikz.doc-1.0"="qh43c30d1xpyl4rbazp4kj8p850rdxwb";
-"aobs-tikz.source-1.0"="xgmck3vrplx5q6blkm6yg2njgkk4k5bz";
-"askmaps-0.2"="h7gsxw1m64s9ci55nf4c8xwr709jfcg6";
-"askmaps.doc-0.2"="06v8bsahhf9mmi3ln2zg8rj9nd0kpnbp";
-"asyfig-0.1c"="61q9dbbmirr3q1fncz10fpvqr68kj3zb";
-"asyfig.doc-0.1c"="1ynfgvq1hvwl8dflmf5vchv2xhmr8511";
-"asyfig.source-0.1c"="2403n3a1pa3gbrrs919rj56jcy4klyz0";
-"asypictureb-0.3"="gl1hc876saxilin18y249r7zz496yk6l";
-"asypictureb.doc-0.3"="9fn9i5plddqx2gxpjhx2m5n7jrwrk9x2";
-"asypictureb.source-0.3"="mskj52di031bhfjir3f7cd5aqwwz7cn4";
-"autoarea-0.3a"="navp9i0m8kf8zqhk4x1avirazzrsgf83";
-"autoarea.doc-0.3a"="zh69glasmj251qwrw6pjrshprd6x4hsh";
-"bardiag-0.4a"="vh54valkzncvzlx8y58gzs3k5jq66s69";
-"bardiag.doc-0.4a"="576s5nnqvq13rjnnn4l2d1g1rnd64vvn";
-"beamerswitch-1.7"="wa6xv124q0qnpx4a7i8slbbhvvad38i4";
-"beamerswitch.doc-1.7"="i191731mqn4ds48rmqg688afxa9b70am";
-"beamerswitch.source-1.7"="xwdacngvm25n0q3hyy5whxxrfyanmhnc";
-"binarytree-1.01"="xl1rqgn286y7hpv69bwja6c5rrbx29g9";
-"binarytree.doc-1.01"="7ihijqc33m3ydk77aw0qqqhf94yyrz21";
-"binarytree.source-1.01"="lk7v0gr502ck4z0d605z6mwkswqpmfyk";
-"blochsphere-1.1"="8sagm09ymgd1b2ls78rzrcbn6k0m63rr";
-"blochsphere.doc-1.1"="sj294bshvzlc77wi6mwv4pl0y73j311p";
-"blochsphere.source-1.1"="4kr6ra2cp6fm7r6xfrln38v06iwxqzaf";
-"bloques-1.0"="azx9imhipx08s8zyky9hzkwandvxwyya";
-"bloques.doc-1.0"="8jb9hv62wj4hi9scr78szdm990cqprvs";
-"blox-2.51"="gy0crpqqx51xsqg48qj6w2zn03q16yrd";
-"blox.doc-2.51"="gd9ylc6j2smbi7bxnpfc3lr2ykb1apd3";
-"blox.source-2.51"="ckxfb299w0mqsbizvq04s65akfzsxjmm";
-"bodegraph-1.4"="h09jfqdgsgfbhakfxqbwz9wa9sdrwkip";
-"bodegraph.doc-1.4"="hwwfy0n7b2a54kywm1jq5nrs6fxbk1xd";
-"bondgraph-1.0"="xaviazf8k9kn6qckni79kxksf7r7mr00";
-"bondgraph.doc-1.0"="f0089d1jj935472sxdjkbnmz4inydkng";
-"bondgraphs-1.0.1"="grfahi07937nnb8nm3b14csxv6bf3w7w";
-"bondgraphs.doc-1.0.1"="dky0vgbx6hfik4xjavvpvvm269hgsqcv";
-"bondgraphs.source-1.0.1"="zmcw2pr67zm6my8021slkbg8zvmbkxic";
-"braids-2.0"="lhgf3jlskfcv3iwsyrnwd8amlr3f0kwq";
-"braids.doc-2.0"="jnj2mqbrrw89wia4vrc24ifg9rv3bzw9";
-"braids.source-2.0"="ny8xkjwdqbx115liw708q6bdyyqzcqil";
-"bxeepic-0.2"="dwf6rg63vzmlcyaxjzwjr8haihfxwv6f";
-"bxeepic.doc-0.2"="qkfwmg27v6ygkp3d9d1l18zrpribbx3q";
-"cachepic-1.0"="hr0pnmjxny590gzhqbwq9qiqd1vcpwrq";
-"cachepic.doc-1.0"="myyjxkc21qrwmvx2nvbg2smvzfzi5f5l";
-"callouts-44899"="i91ky84hjizrxkhb5k6281iq3fkifrsg";
-"callouts.doc-44899"="k4rca9nia095sgskhv0kzp1qqw0ydf8l";
-"celtic-1.1"="mr86xyd6md9n5b17a6wga40k8z98dq7b";
-"celtic.doc-1.1"="3mwjjxnv079m8ginlv5my50jj1cmpjv0";
-"celtic.source-1.1"="z25a01arypma6jfyj2f16n36hqyicffd";
-"chemfig-1.6a"="yq65mjrbkcb7di3h3gidwja30kbrvg32";
-"chemfig.doc-1.6a"="1dsdgdbcvwbhvx7dslb3zj3hn24n1j3a";
-"circuit-macros-9.5"="af9csy1vch1pkpb5y0f3bqn26dh3fbgj";
-"circuit-macros.doc-9.5"="a7ipgax8cs0bg1nwd5yzzhd9y5ffm8ag";
-"circuitikz-1.3.3"="nljcz0x08y4c2hb75k6lwpw2a40csakz";
-"circuitikz.doc-1.3.3"="gav2rmhidxv5b0i4rdhn250iyd3q35yr";
-"combinedgraphics-0.2.2"="hr8cvhw9ng0nx1v0v34bx5yppzhw8r3a";
-"combinedgraphics.doc-0.2.2"="2s219mqf373sb1rp3dwjd9kdasjl9fdg";
-"combinedgraphics.source-0.2.2"="4q5n4m14613bv27dc7n3z1m8w2sfiv0q";
-"curve-1.16"="w4a3qv419x68y5ydvi1dk6pnm6ni82ci";
-"curve.doc-1.16"="f4n85j7dlkp12vm17vqac8d4hzm1jvd9";
-"curve.source-1.16"="gkfbyzhsaknlrhm3ni81jxswdjv5z9ij";
-"curve2e-2.2.15"="47c76v0kykh74p6rypbvxzl29s1x58d7";
-"curve2e.doc-2.2.15"="xpng023wb86w2yzibizdf8sjabhmal6i";
-"curve2e.source-2.2.15"="0fyg1gjxb21sa15ym0fipriwapdi9j9d";
-"curves-1.55"="2cyy1kwxbvxpvxpvvsbh7nvh5q5l7n7b";
-"curves.doc-1.55"="jk4ma0hcrdg6lwy4l5238b9xzsb8lfrv";
-"curves.source-1.55"="q9l5hcsi0n14kkcim30yk6i6sxc5cmvw";
-"dcpic-5.0.0"="vw8yp87w2arykklgfbi4sjpqq68nkxl4";
-"dcpic.doc-5.0.0"="0shw5fqn8pmzs2s98yxa12jp6lf23c4b";
-"diagmac2-2.1"="4q9fi0lsnriy4szlgdlg0w302q1gmbrs";
-"diagmac2.doc-2.1"="dfp1br71r19b0pzjzln61wjdn30qy0n7";
-"ditaa-0.9"="pbrv5kj46v258vy3dzlp1js4m0sp8wjj";
-"ditaa.doc-0.9"="db8d34zf2n19xlzljydai7vyz3p11wi2";
-"doc-pictex.doc-24927"="770vj0w7dzrw6n4jf1dfds5ngk11cf6m";
-"dot2texi-3.0"="igh08hai8lpcr0pn4lcfx5b6kgymw4sp";
-"dot2texi.doc-3.0"="r038r86xd4csibgk9n3h76qc5ak1zpl5";
-"dottex-0.6"="yvd132700sxd7hnngskg6w30r1cpx3m3";
-"dottex.doc-0.6"="67dpg655j83k809rs0ybc3cxpy2lvvqb";
-"dottex.source-0.6"="fz625gq3shyvx3wk5jk4hvr33wls038a";
-"dpcircling-1.0"="x7l784dw5d37jlws64l9x3ya6hgp9w1h";
-"dpcircling.doc-1.0"="fj0jxkgqs0n66z0rlyak490bddcbw6nw";
-"dratex-15878"="ydbymdy490gw405n0gn3amd771knss83";
-"dratex.doc-15878"="7z5sxm5li3by76x7sw9hq83gl34f6gkr";
-"drs-1.1b"="h9fz09xdgwgnbif1vxa1k7rxj8v9ri5h";
-"drs.doc-1.1b"="aq84i4xdklf4wcripj60cc9fd4w3zhhc";
-"duotenzor-1.00"="fx9ljkzzp09x8iajbwjlrzcjxf382k9x";
-"duotenzor.doc-1.00"="x6y62df7hjrp64r4w1qvdikqdg6ph8l2";
-"dynkin-diagrams-3.1415926535897932"="d07y65n2wrkpi2fkk5vk9dpghyw0vqnl";
-"dynkin-diagrams.doc-3.1415926535897932"="zf20f1ibnxrg06g2w29l56ansa8mi7ab";
-"ecgdraw-0.1"="py3xjb8hz3mdsh42hnjww7i4ndxgkwnc";
-"ecgdraw.doc-0.1"="a9ggi8ivc4wcnqv9gd28lhdw56w4zg8a";
-"ecgdraw.source-0.1"="77vlnnhs178s19gaa4n7wa82lcvyp0s1";
-"eepic-1.1e"="vdbwj455076cwr4fwmx0lmf00nzka9vs";
-"eepic.doc-1.1e"="ngcq5bdryv79z4wazbzibf8fybc2mhb0";
-"ellipse-1.0"="8whg820p9jrqn4nfb7lc3w8d1a2cyfvn";
-"ellipse.doc-1.0"="i9njlr8m3jb9pcrwqsbcjbsb26993p8n";
-"ellipse.source-1.0"="25xhi22s1cvkyzbjwchd50ixsx6awfk5";
-"endofproofwd-55643"="ylgnygd6w1p658j90vqdgl5a9i95brxp";
-"endofproofwd.doc-55643"="jm7dscwzp5wwyw335jl293m10yszxxs5";
-"epspdf-0.6.5"="06n9z5fw1f71x4kb07na5bkr48fd5s5x";
-"epspdf.doc-0.6.5"="xc2psspim5kmyzwr4sksf81g16pcslq2";
-"epspdfconversion-0.61"="4dsfb50v8zqbx8nqlzlj712jiq9hchwz";
-"epspdfconversion.doc-0.61"="bxc42asj3as5dx1qq4axdvfs30lfm24b";
-"esk-1.0"="1hsqxgyh6nbwdw4fl5lsivg6wh1v2s1r";
-"esk.doc-1.0"="14qzisxfrysqh66dn3irf2c39jjazl1j";
-"esk.source-1.0"="yaq1hdjjgl4j06rvz25liay9p054n1sr";
-"euflag-0.8"="ddwdd62zjqapy5hfcc7aa9x82zzmva41";
-"euflag.doc-0.8"="9al82d8f73w4gfbj2p4zg32w1vkwkkkr";
-"euflag.source-0.8"="djgx9f4b3c43g8gk66wsmhlf4bsszff5";
-"fast-diagram-1.1"="sdzr4ya21gayk528rk4zli01l8ywnqm6";
-"fast-diagram.doc-1.1"="anbp06v1p1bczyiij9d2z0li6yski394";
-"fig4latex-0.2"="mwf75sk2i52q6j3gb4pjmw5rlyyihq5g";
-"fig4latex.doc-0.2"="c6qz809776x0rblq5d6l7xcy35bz540v";
-"figchild-1.0.0"="0mbxfg6z2abis6q7zb4n1q8l64jsdh2d";
-"figchild.doc-1.0.0"="xwszpncgw8phlbxvzv75s94v5rgar5lf";
-"fitbox-1.02"="1xc0jmbwwwx5qz9n1kdb7ckwqfp69624";
-"fitbox.doc-1.02"="w9pj3arymsl3p2yyis76xiyq8m5v47sd";
-"fitbox.source-1.02"="1vhaxc5s13fkpqgymjlfmp88m41hpm0x";
-"flowchart-3.3"="63krabbf5sfqxf0rjb2h4mjksvb9vgcd";
-"flowchart.doc-3.3"="697hizfchfd691kx07sl1y84p8l6196d";
-"flowchart.source-3.3"="zgn96fhr4z67gpz85717hwwfvkfz2hlx";
-"forest-2.1.5"="zl86yn0am5c7v9c471ai0g4spp3lfc4k";
-"forest.doc-2.1.5"="9sfpasybcfbs0v2afcmhxwpcmdxjpv42";
-"forest.source-2.1.5"="n53yzm6p3nwbxrjj999yvcic58p4iv6z";
-"elocalloc-0.03"="mk2cs80z0gh4dx409y2n3h9cr8ls1la8";
-"elocalloc.doc-0.03"="0p4f0hwr11xvn57adggbbssn9iiynsyf";
-"elocalloc.source-0.03"="spa5lrwk7nikx08v1pgp0xrx4c2gbahk";
-"environ-0.3"="abj66v6h73l8sj7rll1v0czlx99j5z8k";
-"environ.doc-0.3"="rq5cywlfalfd6c2585ihs8mabnadp2n0";
-"environ.source-0.3"="r3bq7ppaqwidvilrf1hyniqfk1fdh4d8";
-"trimspaces-1.1"="cbpq1iybp4vqb3mrbi457gfrfiy4mx5r";
-"trimspaces.doc-1.1"="b2phanji8899yl7ihwrshdqixkmir62q";
-"trimspaces.source-1.1"="07ckjn7k7rwmvr2wji8y72rs9q3nwm0g";
-"inlinedef-1.0"="x9ayxzl60mwgv8w3ispv1xc3qxwylij4";
-"inlinedef.doc-1.0"="g5fqhrp1vf6pky2wq3bq1hd2h0jrml8w";
-"inlinedef.source-1.0"="c5qr2b5029bkpgqhahv4licfp89l0k9v";
-"pgfopts-2.1a"="r3hmv29kc7hfcmx1j2kirk27q4y2r5a9";
-"pgfopts.doc-2.1a"="qb2q273gcqw9p1wjzw8hq7z13f689zkg";
-"pgfopts.source-2.1a"="g9ya18k22lcd5f8aq3anl152d98h6b7z";
-"genealogytree-2.01"="q8fba5j3rwbxhvmxliaycxv2v79nyyla";
-"genealogytree.doc-2.01"="ahvajyv1yxgga47lv3px7s6xlajqri6s";
-"getmap-1.11"="b3iws7x0vfqj4jcrz2y8m77l9v1ywwk1";
-"getmap.doc-1.11"="291rnf2x2nnyhf2wc82hv77jndrx6ckg";
-"gincltex-0.3"="sqimpp1pb3c7mqcm4jnd40jlahpcnr30";
-"gincltex.doc-0.3"="mpr0nv6ldvvc7wgq35qh34csxhxnknmf";
-"gincltex.source-0.3"="s0dq3s33c04fqmzi9q9wp09vgfm7qh9h";
-"gnuplottex-0.9.5"="zk6v716qmddad8da5dl1d8nm5xsli2a3";
-"gnuplottex.doc-0.9.5"="i7gzafn4a0cqpn7hav462lhbwgpmxkcg";
-"gnuplottex.source-0.9.5"="x8f5ik2wy273vxgmbykqhlx2yp5wpnga";
-"gradientframe-0.2"="x80zlqzx72n55qpazclikrafwzny8ss5";
-"gradientframe.doc-0.2"="pgy0vrx4nvys3wki3202r377nryd0r1h";
-"gradientframe.source-0.2"="10dx55zpi0j7xzdkry3dh41ax873mmmk";
-"grafcet-1.3.5"="9yyjgwccj41q284v8cxfhj2l80x95ygs";
-"grafcet.doc-1.3.5"="6k9w774q9japk0n05f45wdqm95n9n71r";
-"graph35-0.1.1"="x18xxd2x7yb5ckpild1s64w9f9rpi5n7";
-"graph35.doc-0.1.1"="qza5xy7xdsncal55gyqs8ay9z1h5rp49";
-"graph35.source-0.1.1"="gaabqpc5jr86g3jbd4sm6df0633c65y3";
-"graphicxpsd-1.2"="wzg5nivinnigm98anjkpqkzxy5yy7g9s";
-"graphicxpsd.doc-1.2"="41hyvv7makf7nhamhwgjdvark6ydkdfk";
-"graphviz-0.94"="gicmf9qslgbamr7qkac4y3x0wajkbhw1";
-"graphviz.doc-0.94"="xxyyxpgr81jv00v48zv7vxkm9sa4hjsn";
-"graphviz.source-0.94"="kqv26abzy2ff31a3f0aval7lskvk5nql";
-"gtrlib-largetrees-1.2b"="5vpf61cml2gsbvciynamwvv1arq8hrm7";
-"gtrlib-largetrees.doc-1.2b"="fxh9rvq76l19zjv3lbgman4gfcqw34i0";
-"gtrlib-largetrees.source-1.2b"="knfqk3b14idsc57fj80ngw26xi7pcnwk";
-"harveyballs-1.1"="axddj0mvqck1gmg0b7s43q7gi9hm1327";
-"harveyballs.doc-1.1"="rpsz7hqyyp9h5sa0hxmxnlrs6na0imbn";
-"here-16135"="3jh68lc8arqbg7kb8ixc87i12qlrnh23";
-"here.doc-16135"="445zak4q5zdlbhvkb8gvkg20wpmwjmgs";
-"hf-tikz-0.3a"="hfdmzpnpak33573ldllk90rywqz3ngqi";
-"hf-tikz.doc-0.3a"="dy6jw7rgbclhb6c94rm3c1bxz0gznqn4";
-"hf-tikz.source-0.3a"="jn1iy5nysj2y94ar0s2491l97m1y2rw8";
-"hobby-1.8"="kmk2l2ik0anclivgqk6alx1v44j6g8pk";
-"hobby.doc-1.8"="8bdi0hrpyxyczql8rhqfiqlrza5y2g56";
-"hobby.source-1.8"="99k7q3r58r1v7vqh3hv08qbb5s1r552p";
-"hvfloat-2.19"="9dda1g87vmjw1mhckd425kbf0a491b0x";
-"hvfloat.doc-2.19"="rcbk3szwymcn660qfjgfavba0k8bw2bl";
-"istgame-2.0"="il4ycc7pxqvpyals4cvc2bkgvzc29vmc";
-"istgame.doc-2.0"="rr6wnw1csla45zv7kmcfizj72rfcgx05";
-"kblocks-2.0"="r1c2xqw9lfycgsc36iisprcas2vr5w24";
-"kblocks.doc-2.0"="sbbprirkbdrfs10fbyv84dqjqxbsjsg7";
-"knitting-3.0"="zggfcjvr02xigbnrhnz1cdlz9hqkcv5j";
-"knitting.doc-3.0"="40gp4l967is4ljnbh4k03w1a87r4n0py";
-"knittingpattern-17205"="8xvccf07iwn71kfnj9f3pnni3imwd9kb";
-"knittingpattern.doc-17205"="bq96pr4hd9mg70qqfwjynhix7ljabbk8";
-"ladder-44394"="wgw0drkb53daslzwsvg48dfznndrz6dp";
-"ladder.doc-44394"="32b2x9zydsp7b2zncs2lg6ldz5cs7gpa";
-"lapdf-1.1"="g5x8axkiscl5796b82is201vcbdxvc3f";
-"lapdf.doc-1.1"="3lpf17r6yqaa7ld8742cp8a7crafpc9x";
-"latex-make-2.4.2"="nazmg5gjqni54i0rk3giq13jnzn9w5ql";
-"latex-make.doc-2.4.2"="rz0xp76krcxvy654ji1f003c37g1pkmf";
-"latex-make.source-2.4.2"="bfddkj3bcb11lff9ypiswkcyaa2dbcf7";
-"lpic-0.8"="74wchk7ljfacnfqy6wn0j9ns5bqzhkv1";
-"lpic.doc-0.8"="yqsjlvnfzgj180kssqhp1i11gq8d9c9q";
-"lroundrect-1.0"="x8g1sz9w4xaj9da4y1xy58hrdblmdx4g";
-"lroundrect.doc-1.0"="2pw71ykcm2w7ki2xx5fvhlfk5xgi410a";
-"lroundrect.source-1.0"="4ad9gr28lqir9g0a15pa31wybbc9m935";
-"luamesh-0.6"="71l0qbnglfb0rvzrbk4m1m1m15lrfa67";
-"luamesh.doc-0.6"="idnacgwmyfk7chfwbfz236744xf9kc60";
-"luasseq-37877"="k07ymsxywmasi0nkdd2ldk164lf36z9d";
-"luasseq.doc-37877"="vnqisa721w2nx11wxb3zsk070b3dzm1b";
-"luasseq.source-37877"="341ldjdwdvjin4rq8ica4f69hb5kbwr1";
-"maker-1.0"="88vzniwk6x9fqhp4y3g32a1cj6nb57g3";
-"maker.doc-1.0"="5w3rag10kbzp8whk0hjrl1ic7iqrna8f";
-"makeshape-2.1"="y9d0868x2s8950zphcf6sdz3l7a1sw9s";
-"makeshape.doc-2.1"="wdhhbk50rqxnm4iqd0gvnfzgy17knvqd";
-"makeshape.source-2.1"="5ddzsj9xakk5hwhg54snvv7bp0vlmjd1";
-"mathspic-1.13"="x4m5r6mv0y3cc4vx1qb6anrparbgdvlq";
-"mathspic.doc-1.13"="qh2ycvh04kxfihxnri5fr5zxdkk04ppa";
-"mercatormap-1.02"="yfwmkx0xzyak9lw6gcwsz6by37pfa7rg";
-"mercatormap.doc-1.02"="mkkdvrwryxwm3p2xynmfilxm9xfv2nsh";
-"milsymb-1.02"="0kn7fxbn0magyklkqw0zph4ns4lv0c1s";
-"milsymb.doc-1.02"="5s65vp27mzshck2ral9r7grhsi7v70p7";
-"miniplot-17483"="3myl55b3q359l0aillyxg7pisii3llpj";
-"miniplot.doc-17483"="hi57wciv475ix91zl4rh30lv5pffns1p";
-"mkpic-1.02"="m0rzxyzpyjzial8vvd5nm2rny449ka5b";
-"mkpic.doc-1.02"="m0v80hkyq699sbmdbv5ydp75ccdh5yd3";
-"modiagram-0.3a"="zn4c83sdrwn9vkv6m1q15bsvwp01ycjm";
-"modiagram.doc-0.3a"="qy9zyvkyvs6r8jhchndbprhszbj69ycf";
-"neuralnetwork-1.0"="3scaqj2kvqri7x23chqymfkg534298ik";
-"neuralnetwork.doc-1.0"="xxsvv8bh5174ihqmaxgy5072z92glvhd";
-"nl-interval-1.0"="mxvk6j3l7cy7pd6z6v7802a2rkjfwifl";
-"nl-interval.doc-1.0"="m0hanp7zdpd770q90f97xbki0dlbi9p6";
-"numericplots-2.0.2"="c6kqacnf4qlhx7lkbnrp4xji5xg9nzib";
-"numericplots.doc-2.0.2"="9dlfmdqslpzhsf8zyfnsqy41qmcgzf1x";
-"pb-diagram-5.0"="34vlhfdhm7glvpzprr99v7z7lc8rc8pd";
-"pb-diagram.doc-5.0"="8a36mfpszgjyzddfmmz2qrg9fv03r9vh";
-"penrose-1.4"="s5qwx0ad5bavic2qrs63jx22y433pnf7";
-"penrose.doc-1.4"="d82pns7ycyg81qv6i61jyfnabwxmgqgl";
-"penrose.source-1.4"="fda5csd5xm2n13jcixcaz6r41shzzc05";
-"petri-nets-39165"="0yny9mc10syfx1a716sjw3768bf1a51z";
-"petri-nets.doc-39165"="3m0f4r65jhnq3la2qyp0xa7ra66iyahs";
-"pgf-blur-1.02"="30lr14qkrz1ah9kvgadknb9a7yyhv625";
-"pgf-blur.doc-1.02"="x4phrny12czndwvsrml45i6a5ymfncf0";
-"pgf-blur.source-1.02"="hdg79rv84byqmnyahvi65v3ca3h3j14r";
-"pgf-cmykshadings-1.2"="jpaxyzfgw5vgjhfpgqy7v4ddpq6nhks8";
-"pgf-cmykshadings.doc-1.2"="mk9nyxpnv0bbcg84i7ngz2vvf88dib77";
-"pgf-cmykshadings.source-1.2"="zd27bjqz9rxg1sdrzbbky56z2fdhhgv8";
-"pgf-pie-0.3"="l3lv4iydk6xi3x6krz4aqmly0y1949yk";
-"pgf-pie.doc-0.3"="v85y3l097agvjvmd71f6kxsa2wwd73gf";
-"pgf-soroban-1.1"="1l6ifq09crmg68d174y2ms66jjhgklql";
-"pgf-soroban.doc-1.1"="ajlhmwd0fgmamsgnnzr3s15z6irx579s";
-"pgf-spectra-2.0.0"="6jn99k98c310r0n50migknaxdhjr6zxm";
-"pgf-spectra.doc-2.0.0"="y1pzg5rhvnqpjla0fzizv99mpff1x55h";
-"pgf-umlcd-0.2.1.1"="h2syv4fn0svppahm66gpwb4jnrl7jdl8";
-"pgf-umlcd.doc-0.2.1.1"="yn8vn90qgh34r1i91cg7k5n81v47i6ni";
-"pgf-umlsd-0.7"="f6lyf7ph9a6ayc082h8bd1hrwjx1jw2y";
-"pgf-umlsd.doc-0.7"="6x7xzfz7zcd43fscprh7s4gniya05nbs";
-"pgfgantt-5.0"="vbi8jb5870r16w4dd7zdw26arrcbbv6x";
-"pgfgantt.doc-5.0"="62rp2q84amm7kgvan2jw00si5fdkq226";
-"pgfgantt.source-5.0"="6r8nhidc0kwxra3p3aywh9y2kcv7zwiq";
-"pgfkeyx-0.0.1"="z2s0v4qmhqbbw3v7bx27i1i454zvzidz";
-"pgfkeyx.doc-0.0.1"="znjsk9dvxksykikfmm69z1kizgpqnpl8";
-"pgfmolbio-0.21"="987pnzviy9l6fbqgkbq8xhjn18w4dpqi";
-"pgfmolbio.doc-0.21"="ckwm7mnw5qhp47vfxmbc5xjvnysp8jxq";
-"pgfmolbio.source-0.21"="l3rs43l6g8bg4l4y7gbf8ji8vpj9pwca";
-"pgfmorepages-1.20"="kvnwv6rsijb2if9wal7a71ggxn3sh8q8";
-"pgfmorepages.doc-1.20"="fdzbkrwfy9cbhirhyvb2yfdb38z5jb4q";
-"pgfornament-1.2"="y4s27bm5bllkpvlqsd2v8i753jjzhlyx";
-"pgfornament.doc-1.2"="l2l2qmphza7jr6hqgbbp11ms19ssinh3";
-"pgfplots-1.17"="f5x1w97rgj20w1649cynsz2viyd5l9g1";
-"pgfplots.doc-1.17"="x6fpmdj6hgjzyykgz2cv05sk57z1zvxl";
-"pgfplots.source-1.17"="9jdvnlallwaimm0sydy79q1jrpwqm97s";
-"picinpar-1.2a"="wvxa8vjglc2v1k8dcszj32wx5jgmsm3w";
-"picinpar.doc-1.2a"="ix8d6091agdxivkq3pj0xv5afksr16xj";
-"pict2e-0.4b"="zbvvgxa6s4wp3kji320n7xrss0qabd99";
-"pict2e.doc-0.4b"="nc4yi0yly80s0lcq9a3cimlwyvwisnac";
-"pict2e.source-0.4b"="zl1v9f75nkd7dsrch6yfp21y9pahv879";
-"pictex-1.1"="3wr03wxjs0nbpncsyzzz2flz5h383a30";
-"pictex.doc-1.1"="d96f4qc758wqc5pifjspr2cfhkj3j44q";
-"pictex2-15878"="fmvr7pqdpq2lnigzzbshgwmrjf03kj6h";
-"pinlabel-1.2"="5bshz2446a2c3mgc79b1znaw07n54cck";
-"pinlabel.doc-1.2"="a23kw5gn0cwsg5fzldlq5a9rj03wg1la";
-"pixelart-0.2.0"="hq6wmp9dgfzzqxwn11a3isf2jnzm2b7v";
-"pixelart.doc-0.2.0"="xk2xnxmgcb2i26qnim31dvq7qm209715";
-"pixelart.source-0.2.0"="64lb31p15a52jvprjk61dfg5a9njjkim";
-"pmgraph-1.0"="hp6991d3dq131lsjr5675igjkgnp1hr6";
-"pmgraph.doc-1.0"="yi2b6kiybj2mivsjp7jw0zy895zj7731";
-"postage-1.0"="7n4w4vhx3ck8pvfp69l95yn45f7qbmpp";
-"postage.doc-1.0"="h40jv63ikgmcd83xmvkz3vdc700j5myy";
-"postage.source-1.0"="x0f20a02h113a5z6cppvhrqcq2lmlh8c";
-"prerex-54512"="3m8z29a8bizcdk7k3xipr9x7bzac9ybn";
-"prerex.doc-54512"="d176668n20nwvh0i5r6y37zjlg0k6ic6";
-"productbox-1.1"="7l9nqp2nxybrl35q1slpz9jhn70las0b";
-"productbox.doc-1.1"="j713za0sjbr7plb4xdis6zwvi7bg1n1q";
-"productbox.source-1.1"="aqhyalz52l2nz9v46bi0jn21vqw68w6g";
-"ptolemaicastronomy-1.0"="09a5aimp6j8yxwfhsdb7kf574jcy2p6g";
-"ptolemaicastronomy.doc-1.0"="7ijjcz9y4ah07pwb30b6r0wpg87fxij4";
-"ptolemaicastronomy.source-1.0"="xv9cql2pkkiczvgf3v7sa80p22pbz3h9";
-"puyotikz-1.0.1"="qx2rv06l811c34pni8rgkffirpc09fw8";
-"puyotikz.doc-1.0.1"="969cy9jzd8rfrm9sb5gcr9gsc1qxn23g";
-"pxpgfmark-0.2"="sy9cs1y4gf9xr7jfiyp8zkr1r8di00hc";
-"pxpgfmark.doc-0.2"="25vgpjc0zr0wjny4snksr3yzk908s2mq";
-"pxpic-1.2"="0rlp0ppw3q32i3c98705v91k0wg4bcbr";
-"pxpic.doc-1.2"="c4q4ddcrl28zdy1sny8q4458igvfa5vg";
-"pxpic.source-1.2"="j6h6y0if1ckpsb9bvf5p9mrghf32v5rz";
-"qcircuit-2.6.0"="va7w4d1n5djxqa4fis7m409aapx7hqa4";
-"qcircuit.doc-2.6.0"="vibn2wypk17d73k72ab6grqaw1irck68";
-"qrcode-1.51"="x2mibdysf003dgl6i1zq3h68a1km3j2a";
-"qrcode.doc-1.51"="y97sa2ha89kmhfj5kq55qk57sf6yf3h8";
-"qrcode.source-1.51"="f4mxn89cz4f6wvnvxqfxdq411nnz4z44";
-"quantikz-0.9.6"="86jvb52l8qr6p2zpha4qx1ncndza95q8";
-"quantikz.doc-0.9.6"="z5si2v60izbqix364z8xvhs3gz6s83vp";
-"randbild-0.2"="bkb9mlnckwhxirdsck7pzqki670mgns4";
-"randbild.doc-0.2"="v89kxn1iiw9spvinn8xcazp81w9a0nb3";
-"randbild.source-0.2"="la433aq038bqyjdv40rvdkinsiq7bf07";
-"randomwalk-0.6"="91mjhj7f7d66khry7iy6y3v5wawg4y0b";
-"randomwalk.doc-0.6"="j5n0mc0grinrafdzb5cvqk3g1m9ir44r";
-"randomwalk.source-0.6"="ksq2jax3pbyqhkg5nk1jdhbzwgynhnyd";
-"realhats-5.0"="hd7xxhd92vczk8qdq05v1q6bv16gifj2";
-"realhats.doc-5.0"="c82j1vakdfa87w0vjfp9jfs5x17m3738";
-"realhats.source-5.0"="c1df016h7zxjfizqdqjvfpvns0ap8sqh";
-"reotex-1.1"="yzydkc30vf6csv388xyf4lm9mn894781";
-"reotex.doc-1.1"="63p2w1vjpannypp8izsn8qis0f7zcngg";
-"rviewport-1.0"="c1flf8nck97sgi4994izzh0vwh8np9z2";
-"rviewport.doc-1.0"="jmr9vbj9690mrw18gg9nkilrkld8r4kj";
-"rviewport.source-1.0"="czi8b9lr7ldxh657jirgsvcy3l5m9ybp";
-"sa-tikz-0.7a"="dcl4gm1658qdh6bs082bijsd0fq2p2wv";
-"sa-tikz.doc-0.7a"="27fh1xd288pwk62lngyy91f97rl4ag7h";
-"schemabloc-1.5"="7pm30f9wazndg4cnxv31m616di90d0p4";
-"schemabloc.doc-1.5"="2020d2ivq6qccq1s7fk161pmarznn6ss";
-"scratch-0.41"="r2i8n81lhrl9420xwj61v3rmv98f64fb";
-"scratch.doc-0.41"="rgs8yb5va24k7cl8h6f2813ff0ydkia7";
-"scratch3-0.18"="44zwdns5yssyglqr62nifmdnrp20y32z";
-"scratch3.doc-0.18"="0pix9ik5f8b8lydicf9yibcpg0fjy7w2";
-"scsnowman-1.2d"="vmlm0ilz9v7hxsz6111w8596xajzg2ly";
-"scsnowman.doc-1.2d"="l1svi3nmdzpfnad0w8dzxxzh8c4n2v9j";
-"setdeck-0.1"="jhxxygy339baxmfl252kjjyhw2zbhf8n";
-"setdeck.doc-0.1"="0h0bv2ywm46jj8g1r26scn8r3pc0a2k5";
-"signchart-1.01"="y2yc5dcfwbpicxf3w7kp6lxjgwxz4dsx";
-"signchart.doc-1.01"="r2zsa7zazg4l0z4x18hwzkisqaympv1f";
-"signchart.source-1.01"="81p9ykfplbsb51lnx3wb00zrsrmsd9qr";
-"simpleoptics-1.1.1"="hd3442mvndh1y9qmk4g1c6jgy189927v";
-"simpleoptics.doc-1.1.1"="ivyl8pm0sxqglg6m7qiqyga8cnh8ac47";
-"smartdiagram-0.3b"="2ap0zqyxnbs2lkdgx70rrpm2b6d9gslr";
-"smartdiagram.doc-0.3b"="p0q92dnkzxz2i5zb8837353j4ainabxb";
-"smartdiagram.source-0.3b"="lqy3sqf14w7fxzrfim7mb1y7rmsbln1f";
-"spath3-2.4"="akif7y4qva1virp0cy3wnr5jvkklkl9a";
-"spath3.doc-2.4"="lisab3dnwyq9vqsl5rqfh4c6zkpydfpl";
-"spath3.source-2.4"="nv3j5wwwb6cynprvxm8wxvpbk1n00vlz";
-"spectralsequences-1.2.2"="yahjlarc3vgpzcmb2abr6nwyhqqj5c1j";
-"spectralsequences.doc-1.2.2"="by1zrk0y8nq05qf8csa2gvwl316zc1j4";
-"swimgraf-25446"="x77prbkrnadhj57fbh68hqsmrbk2qsis";
-"swimgraf.doc-25446"="hfrhqz5pj6g0mdyp1fbbfbnasph11pwi";
-"syntaxdi-0.8.2"="hkrwysi8yl9741hkdqjhhmhhwsjqji9q";
-"syntaxdi.doc-0.8.2"="zdnlrpza0hrf4pacrabdmv4n3xx16rb1";
-"table-fct-1.1"="b7wz94n1h3wpq9mi40zdl3v4m9hi1wxk";
-"table-fct.doc-1.1"="1k2sa9bsygbw1ib85x7yqda1jbzbg05f";
-"texdraw-v2r3"="rkzarniigb4a454964qbfdiaj1z124xi";
-"texdraw.doc-v2r3"="2wq6scv4jygmaam3ywddf8spizq9fi0m";
-"ticollege-1.0"="bznj0maq6a1b7m6p18dhq0fnssx06bwj";
-"ticollege.doc-1.0"="7n7nyn8zrp9za6l355797gq96vxp2d78";
-"tikz-3dplot-25087"="kl827mar9jlbjpwxl90z3fml8i3zabb9";
-"tikz-3dplot.doc-25087"="y736rbqkbjg7nnly25d0jl72z9gyx17w";
-"tikz-among-us-1.1.0"="d9n1f1a617n59l6h5790mzkv5arkrwzw";
-"tikz-among-us.doc-1.1.0"="m25gkpfpna507ij74x2x9fbxvw0frc3a";
-"tikz-bayesnet-0.1"="w9x9vf5hgmv18ljz0kx7rby1dig63539";
-"tikz-bayesnet.doc-0.1"="g7dkg4gg6729jbscb7cf3fsay2dfqv42";
-"tikz-bbox-0.1"="5raf1a9s9z0cddrrjx7wfgxzdlq0sb41";
-"tikz-bbox.doc-0.1"="km6msphm2zw1rynbvzi3gbmxhvsbzsw8";
-"tikz-cd-0.9f"="h74wx5r1jclma4zqd78wb3f5bmpfc2pw";
-"tikz-cd.doc-0.9f"="ig04n4ja9ajw1jf0bfv481agc71hjsv3";
-"tikz-dependency-1.2"="yqnd9843awmwy61pd310krnfhyf3867k";
-"tikz-dependency.doc-1.2"="n3rk72ln03anvylh5pc5gyajkvgm6cff";
-"tikz-dimline-1.0"="q2wyvka6vafwaj58iawrrl3capkzvvfj";
-"tikz-dimline.doc-1.0"="gbfqnslkm9piq4jmhcivpyb9y2cjra2j";
-"tikz-feynhand-1.1.0"="06m7r0jzmsblixlp7r67dmpn68j2y9sm";
-"tikz-feynhand.doc-1.1.0"="0w41029zvh26r54ma77l27dkh81mqvxk";
-"tikz-feynman-1.1.0"="icrxa2hwmgnrah6x7br5sqsky8r47v38";
-"tikz-feynman.doc-1.1.0"="afnpl0m1fkwp7cip0ia10z0lgq2vnpwj";
-"tikz-imagelabels-0.2"="16ifa9cz1wy7savmdfdrv8myx01zx4i6";
-"tikz-imagelabels.doc-0.2"="f17aq0xki5f7bbsjzp88q3d0vpmraf88";
-"tikz-imagelabels.source-0.2"="rvmig94wa47dlj17d6qvwvdyp57blxff";
-"tikz-inet-0.1"="mkhy91a9633a5hbqcckgppy43ri13wy0";
-"tikz-inet.doc-0.1"="c62lz4nmz4cw48rjmfl3vn913smpxzcb";
-"tikz-kalender-0.4f"="x4mkhmbx5ccdhsyvw2qks74p0b0md7bn";
-"tikz-kalender.doc-0.4f"="ivn3jic885c1132lg7qmrxnspkn2rfwv";
-"tikz-karnaugh-1.2"="szdj3jvq9704zzzrmmm7kr67f9scc5vs";
-"tikz-karnaugh.doc-1.2"="4v7jmjk6kczigziblmaphpxl1xkr2ylp";
-"tikz-ladder-1.1"="ika5n5wsldxr4fk6qfjr6p9i94iydplp";
-"tikz-ladder.doc-1.1"="33yyhiz2knjssmpvz90n63n3dgh3g57g";
-"tikz-lake-fig-1.0"="xcf8mfj9jkcb8ixhqpvwlm815j55k2qr";
-"tikz-lake-fig.doc-1.0"="h7l2b1kx53il87miyamjw0x0k54df5bw";
-"tikz-layers-0.9"="fbjyhacy9k7yhpyfg8viqdfb9z5d4dy3";
-"tikz-layers.doc-0.9"="d3q51sfsprqfa0m0plhghgcb3j63fn60";
-"tikz-nef-0.1"="88fk1n97w3dpajkw85ww9mw93p3wmv3q";
-"tikz-nef.doc-0.1"="xf8xsf1qxy0493zwx9nr2rsxnxavyzy9";
-"tikz-network-1.1"="8cdkbdi646835h133djv5vs3d7w87x4f";
-"tikz-network.doc-1.1"="xxy33lp7nk9h2a52qifxvqg5vqsynpr7";
-"tikz-opm-0.1.1"="5hgjh2kg1ynxp4vn8x47wfkcxz27ahra";
-"tikz-opm.doc-0.1.1"="4jqackkzg26vkvrkwflljvxx6ikx1jbf";
-"tikz-optics-0.2.3"="lc3znr18mmhw9v5d7wc8s5hs83bm20bv";
-"tikz-optics.doc-0.2.3"="9fhp84w25nsi4hxq2rys1y6vc03f4nlf";
-"tikz-page-1.0"="zv2wzvv8xzs4s5cf5vs8w9ffsz8sq4rf";
-"tikz-page.doc-1.0"="vgszrg09v23lc7yj3j0h9hwnyvdhsck0";
-"tikz-page.source-1.0"="2x6hmyi5739qskj8wf1k1636kbzns9b7";
-"tikz-palattice-2.3"="l8q247mbkx3qyywwb6sif0if3jv5ykjk";
-"tikz-palattice.doc-2.3"="j7y3y3r0mgm8limkgfljmn3i8dcnj0m3";
-"tikz-planets-1.0.2"="ka4p4kxaxmzlk0pvik7sl09zwxw0sj6v";
-"tikz-planets.doc-1.0.2"="zw4aa62pfdl5h3mai4ndjqmmb2v56zs5";
-"tikz-qtree-1.2"="vl2jq8b492p7dznrx63mi2zxcpax8a1l";
-"tikz-qtree.doc-1.2"="01bkpz1f0pm7plpkh6a2kx3c93iwcfwa";
-"tikz-relay-1.2"="p4gb81p3j2226g1d7qiclv6d2cj52fq1";
-"tikz-relay.doc-1.2"="q694hq9r39mashph8za9yqf9rs3ixk00";
-"tikz-sfc-1.0.1"="2snmpyh0v493k4jpj29nb8pnad6hcz7k";
-"tikz-sfc.doc-1.0.1"="bx6nm96f145iv6r6250scs4myx6z2sw5";
-"tikz-timing-0.7f"="phaw9fm5dzq5xr4klpnw2dhnrq3lcam0";
-"tikz-timing.doc-0.7f"="cc5mlz7linvwb3ki8bnhhs6qz9xmkkb4";
-"tikz-timing.source-0.7f"="8lpjas5dgvpl8dcxf1549m8nh0vn20fw";
-"tikz-trackschematic-0.6"="0dpci10miikxhmb9k3vkzzq30mmf9dxk";
-"tikz-trackschematic.doc-0.6"="4xiw69h4jb3xggwyak9l4387kfga7bhn";
-"tikz-truchet-50020"="h8p45wr3xhjslajpyyzr8zha6x52jyci";
-"tikz-truchet.doc-50020"="6nyandwvh9qj5z6pzh20417kl3gd3q68";
-"tikz-truchet.source-50020"="r5gpj9cmqj4njzzx820v7ka0v7chxy24";
-"tikzcodeblocks-0.13"="j0lqf17ys7miqzfy3f13vpkjk19j7vzy";
-"tikzcodeblocks.doc-0.13"="8m630gycw97jd889kzadiqmab6h1ngzg";
-"tikzducks-1.5"="gikyjz3fcj48az20ksklc1q8dw7v2zzs";
-"tikzducks.doc-1.5"="cyfi8a8hrmwfvk2vc3cnrbzl000mjw3r";
-"tikzinclude-1.0"="hh3h2srdlz39dv69wdwcrmjr1pps271a";
-"tikzinclude.doc-1.0"="qdzw00zvqp206krl9ph782lvrmvjphm9";
-"tikzinclude.source-1.0"="bznb6w85hk7nzsmnglz01qvi4mp64bqf";
-"tikzlings-0.5"="gw96ml7017p8m03ascn9m7fayhqs104k";
-"tikzlings.doc-0.5"="2ww0iq1hibgy2wl6ijq853bqfmyhvwr9";
-"tikzmark-1.10"="67hkmm2ijkqhvh4j78gwnfg10inzcdca";
-"tikzmark.doc-1.10"="r3333ggg3n75kyp34g17vgmh8gq33f19";
-"tikzmark.source-1.10"="7p7wb4l4pym4mg59xs54qzdsxi09a7id";
-"tikzmarmots-1.0"="d4603hm1maqsp6s2mpr3d9czb040x96q";
-"tikzmarmots.doc-1.0"="yqa28x78pg3513ni6xd11511pyqivkia";
-"tikzorbital-36439"="0jand3q2rnj1l71kiqc5wx9br6iqa8h6";
-"tikzorbital.doc-36439"="8w7za38r9lqh6hjyrx51mhxljlwbr13d";
-"tikzpackets-1.0"="i3009cdw6jnd3s71ywvf09yjns3zh9w2";
-"tikzpackets.doc-1.0"="nn65q1jhygbaq5karp9msk27fiqc7gn0";
-"tikzpagenodes-1.1"="bbppcjhxjza1vhld9n9kjdm5jf03by5f";
-"tikzpagenodes.doc-1.1"="qds77qax9drbdmnw93lsg9lzkd7kjmnj";
-"tikzpagenodes.source-1.1"="bm54xhdx003f6j5j2csj6272d6pqxbmd";
-"tikzpeople-0.4"="9cjdrp8gw59kkklf92fmpq8wlflaavxg";
-"tikzpeople.doc-0.4"="fpwfczmdq8qad1c637rcxjzqy2r6gi7f";
-"tikzpfeile-1.0"="ay059ccg53rz4q39dy1cls80g1yi2mq2";
-"tikzpfeile.doc-1.0"="f97bldn28br9f6dfr88b81w8g683xvgq";
-"tikzpfeile.source-1.0"="hcsmvxfza3qg128nsj2n48v7fr12viqg";
-"tikzposter-2.0"="ir2kg1wfppny43rywlc1z8fbc9gnwpp1";
-"tikzposter.doc-2.0"="8bjc46kfilm5jv3z87kpzq5fk1rs1ihr";
-"tikzposter.source-2.0"="s0nhs6jvz6zn6kn7kr8srvwynh8vvfaf";
-"tikzscale-0.2.6"="7cc4pbv23n95rb1b80p1y7w8m55z59yl";
-"tikzscale.doc-0.2.6"="qb6yk80pbipaq95cgasija63px2v836w";
-"tikzscale.source-0.2.6"="2spzfhaff1wn11brhjcx881jmql261ad";
-"tikzsymbols-4.10c"="x1wdz62q9x6idd6893pbcm0d0k55b3j1";
-"tikzsymbols.doc-4.10c"="97p2haamz7kk8i970pa01x5gx1xmcrzh";
-"tikzsymbols.source-4.10c"="wllywv4fs2xfv3xvd92qkgm905yssplw";
-"tikztosvg-0.2.0"="sqrd3iby30siip1whdin2k74r1il8078";
-"tikztosvg.doc-0.2.0"="k4mphf728hc7cl3s7rzwmcgza4vhq5w3";
-"tile-graphic-55325"="4b69a5fzrw3d7p41hbs3wb6z2xjbjwd2";
-"tile-graphic.doc-55325"="6rf8g43yhshj957h5hpgvqdwlg6gl4pw";
-"tile-graphic.source-55325"="ykbr7wimacjsgnplspan1i4xx8jz01a6";
-"timing-diagrams-31491"="89d8m3lh174y7p3xx2iqdkxnq71s7fzq";
-"timing-diagrams.doc-31491"="r8xz0yb362glmkcaadipa5v8jsf3w5py";
-"tipfr-1.5"="dd5jgd6y7rzspj6shr5mbqcbbzyncv2b";
-"tipfr.doc-1.5"="w5mslbn2d53wzdkaynxigaw4344psp9j";
-"tkz-base-3.06c"="yddvv01pj1mpbzja1ind90dg1rzv01m3";
-"tkz-base.doc-3.06c"="daf1mpqgdp05qz0s4fnn6c073xy1ad3p";
-"tkz-berge-2.0"="jzv81k3fm5smg38sqhpqz7l8zqv34j25";
-"tkz-berge.doc-2.0"="ln936v6v5bapxhqs5vzcf88flqm849gy";
-"tkz-doc.doc-1.43c"="2fwqrhjbl0iwsk4z1mrkycbpgbiszzry";
-"tkz-euclide-3.06c"="cnrg4nv9ijhvy43qmalakq9162i733rp";
-"tkz-euclide.doc-3.06c"="2d7cqmngwrnk0pryfb0wq95v6wsahjbr";
-"tkz-fct-1.3c"="v0r886rf3b1yxc1dkbr2isf6ykqkya2g";
-"tkz-fct.doc-1.3c"="p79yk6b8h2f7pzxyh2547d2ax8np2vcb";
-"tkz-graph-2.0"="r0m2vnh14q5zfb7hxngwqvlgiajjv1il";
-"tkz-graph.doc-2.0"="4sb1mashz4j4d7q80qssh5yjw1bk4f9x";
-"tkz-orm-0.1.4"="kvjkkbbapnd2f03g4h48ic729s8yvn5z";
-"tkz-orm.doc-0.1.4"="20ccyjaxz59v4yvbrz18ql5dz05nqxj8";
-"tkz-tab-2.12c"="039n2xx1sxi5570vq84dpbp1a9crmzqc";
-"tkz-tab.doc-2.12c"="q8qbxz33cyhly0ghrrrkskc5rzmvbh3w";
-"tqft-2.1"="jg1k2p45j027wivwykric03v8vgfgaaw";
-"tqft.doc-2.1"="0qc7pjywc0dwxkw750xsqb67f6cpzka2";
-"tqft.source-2.1"="2kasg0q4bb70r80kaxm5hykahynk7vbf";
-"tsemlines-1.0"="qd021jr57lay3xa2hwms13x49y9f3q7v";
-"tufte-latex-3.5.2"="fagszla48gaakgcvvynmhcmk8c2qvbf8";
-"tufte-latex.doc-3.5.2"="nqqzq6qbgcq8w5ih3fns8wibvfdn5df0";
-"ifmtarg-1.2b"="7sq7fspjvzn5f3yvsmwxm9h9xb4y8dkw";
-"ifmtarg.doc-1.2b"="3azjs21rb4iyw6qp6vikgjb5an4b2pam";
-"ifmtarg.source-1.2b"="89na1sf5dvfxw6ajyx2xrh4wmlyymxyb";
-"paralist-2.7"="9x62lrvmw3pkvlrkhrcpm2mk90s23a1p";
-"paralist.doc-2.7"="8jww1j8k4rf6jfnal0dlqv4abcjyz5n5";
-"paralist.source-2.7"="vs1jw2rijrnym49vd3w1nxswq52lvf9g";
-"placeins-2.2"="ac0ckzyrg9k2akv26dg4hck4q3w3z141";
-"placeins.doc-2.2"="ab3faqlwqspnnrvigdsljl9ykqyi2gfm";
-"sauerj-15878"="9x0hghvh5wh6jljwpyf61c6pc4rl9jaa";
-"sauerj.doc-15878"="zk8dghf07j3ijvnr3zxw2bajqx49nbaj";
-"sauerj.source-15878"="j1bdzs9ky0ycfh00sdynswv2vfvx7nmh";
-"xifthen-1.4.0"="4d6x7yb6hdr4xg2dn572gwpfnykppsph";
-"xifthen.doc-1.4.0"="364kifdxmk5ak2flyqcfzjgv0dbsykax";
-"tzplot-1.0.1"="y6p1h8kx6ykr97gg4afgx9j3bgs9d9cj";
-"tzplot.doc-1.0.1"="2va8ca6g0f76hxm43v7iqk6nw9x8ka28";
-"utfsym-0.8.3"="xh468icpjaggal7grvpwsl4maaclihan";
-"utfsym.doc-0.8.3"="glys9xfrh02f7przb9bbcn3k29wa0why";
-"venndiagram-1.2"="pxwyrzjwbkkyhfm22v13p2mm5l9s2bqp";
-"venndiagram.doc-1.2"="xn6lk2l6vjwjirm9s0vmcsqna9q096zv";
-"venndiagram.source-1.2"="aj2hp4pyi0jhirjbsrv8cpajh42q64ai";
-"visualpstricks.doc-2.3"="qml7ki3mr0fj18gxz20j88il4i0d4fbx";
-"xpicture-1.2a"="b3daw2s1dzkvrpa1lywjgqnrahnn539g";
-"xpicture.doc-1.2a"="h5xg50jzdi44vigcgqpc61hmxa8q8ggy";
-"xpicture.source-1.2a"="a0bq9s39fb1askk6bb5yy69bmv3ii59l";
-"xypic-3.8.9"="rh7ahdwsnxzsk42imv3qqa0q2cb15ng1";
-"xypic.doc-3.8.9"="9vnm1j6g180slvahaq3mgdlsjnnllhnh";
-"colophon-1.1"="7naibja70d1kb637ydb5jbj3xbgxa4l5";
-"colophon.doc-1.1"="m0y1dcw2ymnr8a09a8wzj6vw00ns055g";
-"colophon.source-1.1"="xfrkdkkk54q9zbhv9jzwm2bf43czj0na";
-"color-edits-1.1"="p36qzdisyklnxg7qxfpfdqp157sifg8x";
-"color-edits.doc-1.1"="jmlvf1izvr4gaj32mfkgrwv6xmfvgw7q";
-"color-edits.source-1.1"="mlm9y14rzw6a7lpw6bbv62jnh1l8qrzp";
-"colordoc-18270"="sb31vsh0mzzd16vrf3gpvs9c50zcjbgx";
-"colordoc.doc-18270"="2sw71l3579qkh4z3hqirvv0y3d79sssh";
-"colordoc.source-18270"="3p7baf59n87p34sxwdm9lf761dmh8w0b";
-"colorinfo-0.3c"="x5wwpzhcm3ppfg6hh0dcr3rl7cjs23zn";
-"colorinfo.doc-0.3c"="ppz8wrqzph8cq5dggikgi0gphmg0y1hj";
-"coloring-0.2"="qdjj8va77wpin0pw6izv2lhjj0cm8zfd";
-"coloring.doc-0.2"="v7z4bnnpghfi39b8jmzpwq496swhwndh";
-"colorspace-1.3"="fvlhzz9q6cyaxgs9yzlajaldvnfx7kx8";
-"colorspace.doc-1.3"="jlyv19xlx618ajj3g0mja99w5c68gbj3";
-"colortab-1.0"="4bqbx02c34g7271mg6y1gw1nyqmj6vwq";
-"colortab.doc-1.0"="qm51gjkcfq5gjimr5pp3svfj1xaqshbd";
-"colorwav-1.0"="ilrircjl70f9pv8g89d8dzjdsipjfbmj";
-"colorwav.doc-1.0"="jzgmaadlkkbb8f94kfzxdkywh1pbviif";
-"colorwav.source-1.0"="m488q2p0lkrf6rs6vy7nfi86778zi66k";
-"colorweb-1.3"="4b0qbipxl6if0adrfblqzpzs48aa2fsb";
-"colorweb.doc-1.3"="9qi2i5x35aq0ks14c1pbvn11b91pdqm1";
-"colorweb.source-1.3"="c207mjpwnn9dwd9yc4wlq414sl2gjbz2";
-"colourchange-1.22"="gy8kllnhrg7i10yl0nrhvyyik5j13vkc";
-"colourchange.doc-1.22"="vjvp7zji8zc7bv2yghvy2zv2d1y2nz2p";
-"combelow-0.99f"="2gm5s37dfs6h0gxjpa221sv38vdpvzs2";
-"combelow.doc-0.99f"="r2dmygqgwcx9ma8frgm3ragqrb198c8x";
-"combine-0.7a"="mnzy6xk1nxfsybm2nxy9qb4k7shrwank";
-"combine.doc-0.7a"="b54dmdzcnpffyws5sbhwrm46hh7gj5wj";
-"combine.source-0.7a"="j9i3psfzvamyz2imf8mmcf4970j9k9gf";
-"comma-1.2"="ai1p7vnnzvazd950aav3xnjggmzh5xac";
-"comma.doc-1.2"="3dkfkh89fy2jy02amwg7kh18hyh7v396";
-"commado-r0.11a"="7jd82pb66a5hapcrqk19bvnszkgs649j";
-"commado.doc-r0.11a"="rg7zy4zsbmvan3vln93y2crrmc11c5dd";
-"commado.source-r0.11a"="2z09138429p7bxlq4392bd8psznnsyib";
-"commedit-1.02"="rixggc6616xjdnlhl4nmzzrw4p4rda5m";
-"commedit.doc-1.02"="h31fx0amimgh9dsh6a4qik65q9v36zd5";
-"commedit.source-1.02"="i142h4pi5v51k5rilxhz1zfybxf78xmw";
-"comment-3.8"="dalw0d3w4mg1i8pg530ji0c5nmyrjvcb";
-"comment.doc-3.8"="hsk8kvj5arq1xznsmv8p6iglrj5f95kh";
-"competences-1.0"="kqk5mzm2c12dydifc1naxhfz0kpykkfk";
-"competences.doc-1.0"="kxhlvgv62b2sqf36qpq45pfab730l43y";
-"competences.source-1.0"="hlmzbgb3fd33miycrryvs4pb3sglrgis";
-"concepts-0.0.5-r1"="n6f2szv53cszq0ybd93wcggz3jl0wf00";
-"concepts.doc-0.0.5-r1"="xww0baz5rff17j0c56d1d0j1mh2zfpqs";
-"concprog-18791"="fy8virjhfw7d1y1l0vg6fgzmxkc4f7gb";
-"concprog.doc-18791"="sm3fl60ymv5z649frky6xck3hd9rr8yb";
-"conditext-1.5"="d20ybvbjsp9w3wrkyib8i7axc7kfd0vc";
-"conditext.doc-1.5"="3glal9zw8s5cdz7am17g7ngsj6dfhbh8";
-"constants-1.0"="p22vxmnw3a68jgrwxzvs90x1ads7vy08";
-"constants.doc-1.0"="0d8avlpp7ra6jin7rq92vrpa6c97q5g4";
-"constants.source-1.0"="44ajza7nr171n3nlbj0lqqq7bld53i1a";
-"continue-0.2"="8ra5l58pg997c1p19piyqz6rmsmx2d41";
-"continue.doc-0.2"="pzp20wvyq2ksgnf533jcfwv5gjn9bm1k";
-"continue.source-0.2"="jf0dkkyhnaqhds4a6jxmr4xw03fjy6kl";
-"contour-2.14"="nqc3i7nqzk5svszlgb0glkr9m9n3sgvg";
-"contour.doc-2.14"="8kjg0zsy2i6nkvxq4xjcaaqd2by1wq5s";
-"contour.source-2.14"="jx3fc5lngqrdhcwy2dga2ynw64pfvwk2";
-"contracard-2.0.0"="h90hv3p5azhik6lc2xqz2g2n2rq4ab3f";
-"contracard.doc-2.0.0"="ki3pizq78ili2p4d3az97zf3cm5mxldx";
-"contracard.source-2.0.0"="jk3nj5mm4xqvyzzw2g2gva945sjpxl78";
-"conv-xkv-43558"="irm1jvqddc4a7jfl1qraxkii8gmmmh63";
-"conv-xkv.doc-43558"="vs1dc6np4zd01fkq95a0kqwm72h9snli";
-"conv-xkv.source-43558"="8gj6sqrsbxknfpvrfalflkrnhncjhbfz";
-"cooking-0.9b"="sp0gxpgc190gn2wngw7nqzay88hykl4x";
-"cooking.doc-0.9b"="15mncbdsswn8q6914ijlhzlg5ch6schl";
-"cooking.source-0.9b"="n6pvjf2lx012s5y29qc5mjkiz8dinkjr";
-"cooking-units-1.46"="lfac22p0a7f92v51zkh01mqvh58s85c0";
-"cooking-units.doc-1.46"="l15n9dvykpw95rai682ql7cv1h7z6xg4";
-"cooking-units.source-1.46"="kjmc2xbnmsdm0xxpbk1k7vavhy9im6q9";
-"cool-1.35"="djbl4kj33wlqqnj6sl31f57viw5sacvf";
-"cool.doc-1.35"="3l8iy5landcaybfhvb1inj773r55k7hw";
-"cool.source-1.35"="hfd759pc6m30sxnmchmv59nl8xr3hwrm";
-"coollist-1.4"="zvmxdr2hvnis0p8asjqsw67m6j0gv0wy";
-"coollist.doc-1.4"="z2lv3naa383vdbhyccpzs9khbbdzg8fc";
-"coollist.source-1.4"="2p080664dwgg1623jx2x8hd3b8m1k9wv";
-"coolstr-2.2"="7rsqq7nbw6c1z5shk0zcmkhnhqh6mcdq";
-"coolstr.doc-2.2"="sgbapr8y7xrh41ppzhkw9s91npbnnnll";
-"coolstr.source-2.2"="mh1biqrlg5f1gkpy5q9ml82xh0jb4bxa";
-"coolthms-1.2"="bkbjhkhdh1d0zbwz7kn2gx98jp0i1wfd";
-"coolthms.doc-1.2"="xvzlcxf0iijhqshnf10ll3pw1hki8qyb";
-"coolthms.source-1.2"="abpv22k723v32mjxzzfil36yd37p945n";
-"cooltooltips-1.0"="dyya1q998zi4g33qmgkcrzin8d31lmw5";
-"cooltooltips.doc-1.0"="z7fsfbm4rc0amfkw5ry8j2svcmv1q2lh";
-"cooltooltips.source-1.0"="cpan4qfa969dihkaa28rcg8ka9s63xa6";
-"coordsys-1.4"="6x2zn29g7p90x4cgwyclza1xphqfb3lg";
-"coordsys.doc-1.4"="2j52rr9hwa03wsdg21dnn7q56sp265da";
-"coordsys.source-1.4"="is64wqbszsrl7lnzwpgv2z6mjpz99n7v";
-"copyedit-1.6"="dyalfcbrp1wdxym0d31s3ijrbhq6qz7i";
-"copyedit.doc-1.6"="knh4a1w8vapj27rs7b0d703ph3vp94av";
-"copyedit.source-1.6"="b3kpsi78z2rja51lbj3fby031kjr08w5";
-"copyrightbox-0.1"="90am6yc3v6a2syw9q97qgll8dhpl9v8y";
-"copyrightbox.doc-0.1"="6133545797rkbwspbd7c91dbc0mds4wn";
-"coseoul-1.1"="qf1knif80pc43y8qjymya8ry3564gcc9";
-"coseoul.doc-1.1"="3zfkpycv6hz8jhvlfycjn20g2jbddars";
-"counttexruns-1.00a"="chaflhn60my7x9ijf2dj4ja8i3xdpcac";
-"counttexruns.doc-1.00a"="24wzb89912cb3f3gbfhcdz2p1w7gqns0";
-"counttexruns.source-1.00a"="9asga1rjq6c6sd7407f43p3w4d2hwkfy";
-"courseoutline-1.0"="r8syx9ag00aszr89zibwl760ml5fc40h";
-"courseoutline.doc-1.0"="jhrk85cgmca0vhk99l4xq6yhhw2kkpw7";
-"coursepaper-2.0"="222rs2hqsri87xi4zd87m0bi314g76br";
-"coursepaper.doc-2.0"="y7ml6w9cnxy78dld8m24m2p4xvv2in71";
-"coverpage-1.01"="j946qwgfdzx2y6myvj2zb927i04n29vn";
-"coverpage.doc-1.01"="h7krnkyf2nixh2227hfz5ibhjig2d9cs";
-"coverpage.source-1.01"="hxdqs2wzbsb5yjpj15fva764n1qgy19c";
-"cprotect-1.0e"="gsd9ndg4b5fb9s0435ly9pnlvwp5rvwg";
-"cprotect.doc-1.0e"="4q4rzd43yirs522861kk825v8d3avm4v";
-"cprotect.source-1.0e"="lzyx2nvma23d6ds8cl52zfxhsdjjshnc";
-"crbox-0.1"="y7zkz2wszr0iv7y3bhcgcaddsw3d54hp";
-"crbox.doc-0.1"="64zk4z35xzpxa2dmb4am67dnilqs8mqa";
-"crossreference-15878"="rghmvk4vfk0la5kygcm5wmnrrzxag6ff";
-"crossreference.doc-15878"="p589qj9h7vi563dgh5lp2l1gmpzfkyrm";
-"crossreference.source-15878"="pmqnkrcxkwjdsz7pfwmqpjgc2kykv9s6";
-"crossreftools-1.0"="ajn6w7b0nk4i3jhppd2ikmkmjj85c12p";
-"crossreftools.doc-1.0"="2khdwzgrmdnpidnf8qqhnw31mf208sp0";
-"csquotes-5.2l"="41vl5hp0bard1x2jaw3wnlcsa50d705m";
-"csquotes.doc-5.2l"="1mabf8g1p6lbmgkijynsrrpxqlawqk7i";
-"css-colors-1.02"="5ybcj58dl55v53z40fvb3mgc8hl93z8x";
-"css-colors.doc-1.02"="kyz6mh1pkrjvz4za7x7sgmig7zrrxk8b";
-"csvmerge-1.0"="r2srdy1zz8m0dkbpg1gaml9ln23q9rgy";
-"csvmerge.doc-1.0"="iv4f2b07k8c9cnw245xgbjzw27d4a5z6";
-"csvmerge.source-1.0"="vgiy7245r2lmkq9r38sbablnvambri1f";
-"csvsimple-1.21"="758dqg2cmy93dfndd3z61pgmkl0pvwil";
-"csvsimple.doc-1.21"="m7nhpkqj87k3pwiz9ib5lck7v4vv945z";
-"cuisine-0.7"="nj3ryfmy997y6llg5b3l1lp84jw3vg54";
-"cuisine.doc-0.7"="50wqmjcv6v117qxi0dkgyzs293y6jx1v";
-"cuisine.source-0.7"="n6zv4r2yz1fcgswbshvyfzji7jga7m3r";
-"currency-0.4"="fqjh128rxjxdrqy84xvsa3wq00r5j0dg";
-"currency.doc-0.4"="2k9w5bdkp4h7gq9ln3x36h0jxpaq5w2b";
-"currency.source-0.4"="43f9s81xgzgcc49wvwv7n6pzn2jzbzd7";
-"currfile-0.7d"="msb94fkjy9acdkgdana9hrhz3l260nvp";
-"currfile.doc-0.7d"="l03cswk0j2z12hy8g8icbl4hzpzplsi6";
-"currfile.source-0.7d"="92mcrpc45584cdnzpfg9awzp19ni2s7n";
-"currvita-15878"="119xrbrr7d5i8xlvzf15azymj8znxy2r";
-"currvita.doc-15878"="fc8s69xdfiir0a8g7594l7y0m7b5qsiq";
-"currvita.source-15878"="2m1krjlgi5ihm32cfr3ayxmz324zpsxp";
-"cutwin-0.1"="q1c752nzdf2jw9agyb3aj6ishnk3yy7c";
-"cutwin.doc-0.1"="pawz3k75s1nws5nd0ilhgvy3g5ndfwvp";
-"cutwin.source-0.1"="c9aw3vjaxldf082z61m61d7p7rsaynfb";
-"cv-15878"="xpyr31xcphpydv1iyqaalwxfqhs99cg6";
-"cv.doc-15878"="f3xak6320ql3rmbj3fvjsgcsq4mp1vql";
-"cv4tw-0.2"="zw6g6n1l4mcnjdbpfx36h1l7ix8gj6sv";
-"cv4tw.doc-0.2"="49ghjsydw5i13nwglc69xmm1z0ypxlyd";
-"cweb-latex-28878"="w87x1irky7jm1ixvs8m2ig97pk07m19m";
-"cweb-latex.doc-28878"="r4xzcb98w8khj070k9q23ygmq84pxqd5";
-"cyber-2.2"="qw2kap0b32i1zm67s9lz70mxc8v8smrs";
-"cyber.doc-2.2"="9fqzmqyaiclmpl947xwj5kjcp6fic9md";
-"cyber.source-2.2"="jkylpl3n1m87qch68sqm7njxgp8wv86p";
-"cybercic-2.1"="4j6x3ncl6dhbjmbsr75fp28k9p87lj48";
-"cybercic.doc-2.1"="6qzfny1ilk48mhh67pa12rn30v7r8b10";
-"cybercic.source-2.1"="9gxkmwvrrjg0h9jvj1g46hxd79i2pkka";
-"dashbox-1.14"="k72p9zmp5197sh13x688gaaxynj6ra3b";
-"dashbox.doc-1.14"="1igq59rchfjkn3clgbycq3q5h6ablwvv";
-"dashbox.source-1.14"="kh2n6zrij6b14rilncsp9xjnbcd73l7a";
-"dashrule-1.3"="bqc33kv2bljifdybb0qn7wvx48rb9xgs";
-"dashrule.doc-1.3"="vxa8hx7khicjjdjd8p5frwrv4b41fv1x";
-"dashrule.source-1.3"="94ga7n7xpk7wm3j37gp8innc0c0irdz5";
-"dashundergaps-2.0h"="nlq1j7n1lrrx2wags0grzrr8pqzs2h6n";
-"dashundergaps.doc-2.0h"="pc74ml09vkyns4shpiiyhpvxrm8wh4c2";
-"dashundergaps.source-2.0h"="fwxf78dbp01m6kgx8rmdjwnsy6ak803y";
-"dataref-0.6"="s46my6g3mkk7d5g7fm90xxpn2d1h4gmv";
-"dataref.doc-0.6"="ap8c1b9ljp1zg3wpzfbp827kwqcjdp0j";
-"datatool-2.32"="hdkdqrf0g5jbi0ryk0bgiv71k3x98kl3";
-"datatool.doc-2.32"="9garxgrw5k7lxf0c7m5d70wwl3zf76ny";
-"datatool.source-2.32"="1cpr7jgy98fpqjaw58pla1nwgywfyqq7";
-"substr-1.2"="qahdkj07s8nl7fnbqgwhsni6w8bn69ch";
-"substr.doc-1.2"="nvjl7r3a8r697gn8p3n81yaamr8jrfs5";
-"xfor-1.05"="x2bs3y606v8f42ds7xp2kmllq0vmrnms";
-"xfor.doc-1.05"="lbgdf0qia743jdvlxqf7vm4w1pc77kar";
-"xfor.source-1.05"="pafv6fqj0nd5xm0wgmwavkmg97rw7dnm";
-"datax-1.1.1"="mb0p3kqk4c4brqmf42zhkj1kv5y71fmq";
-"datax.doc-1.1.1"="79vryqqph1k46k0429ldinwjdd1lcs9d";
-"datax.source-1.1.1"="3r08b1n40fww69p4yxn9li9bi67iqal3";
-"dateiliste-0.6"="s50fmah2lasy1vfkgkybbaynspnh0wb6";
-"dateiliste.doc-0.6"="frs8z7x6yf2l78g94dxx0w5nxchx7kdx";
-"dateiliste.source-0.6"="idazlpxank1dw1mjym4vcdlq0970i5gy";
-"datenumber-0.02"="byp175cz7kzl8rpg8yyfxlcqfgqr2yfk";
-"datenumber.doc-0.02"="qp66n8ppip85lg6lfmmah86ilxygb5f9";
-"datenumber.source-0.02"="pfirq4wg801vxmbp24s059l8ip1w01r3";
-"datetime-2.60"="59y83sl151h396xz62kp975q9vplg195";
-"datetime.doc-2.60"="dzj8ihkcdv1hcxxi5vrqbv8ga05mx6l1";
-"datetime.source-2.60"="b5x1cfqxg3rlbmdzc1g18i76rk7m1323";
-"datetime2-1.5.7"="yiwddqw00q7jyi82yf74izzfnlcjarq3";
-"datetime2.doc-1.5.7"="y8j71f4vbsjsbgy1c3lqw7c9djq585vh";
-"datetime2.source-1.5.7"="yb3ni1kvq6k63l56v7il393jz33mk26b";
-"datetime2-bahasai-1.01"="avsk4v66gfbscliygrhgk7jvfrv5vyrq";
-"datetime2-bahasai.doc-1.01"="km12sq45cjy831csfq3j0gvy6458j86h";
-"datetime2-bahasai.source-1.01"="y87vz4sib2zw70643lm50cfsknzxnydm";
-"datetime2-basque-1.2a"="hd28pvhxgxxdv9swsnkxvk0d0kmaklxp";
-"datetime2-basque.doc-1.2a"="4ad1pps70dfj98vara5i40fxhk7wsdbc";
-"datetime2-basque.source-1.2a"="8k9957zfg160fs11y3in9js5sabnv0nv";
-"datetime2-breton-1.2"="b1yidszps95zz5kdkqnm64rd707n6vjs";
-"datetime2-breton.doc-1.2"="6vv1srxl0r9isl3wkr4hfix09bqwrc7g";
-"datetime2-breton.source-1.2"="jxa7cwmnmb8c6w0qa3vp4zqhlc00f0y1";
-"datetime2-bulgarian-1.1"="2mlgshnfxai3cpyfy841gm5r07549b9n";
-"datetime2-bulgarian.doc-1.1"="9bnrpw5xshwk7ab59i6argivzd6rnajs";
-"datetime2-bulgarian.source-1.1"="q3jlh85lc1gvp5bxrgh157q88qd56dz1";
-"datetime2-catalan-1.1"="08ckh0hp6lfnm6qvzabn0vfmvpyl8vm0";
-"datetime2-catalan.doc-1.1"="d48asmv26bwgj3zrmp3qdd1z3mld36rr";
-"datetime2-catalan.source-1.1"="mhqp7hh372ngmqv2crrwbhgkkbff7phi";
-"datetime2-croatian-1.0"="7mgjrg95fhf0ymsd2qh68vqqpnw7zpsb";
-"datetime2-croatian.doc-1.0"="x1iac95ydc1sfl5pyy43rrcq9kfa0x29";
-"datetime2-croatian.source-1.0"="sjxvyxph076ciplf0x4274cs6v25z1p3";
-"datetime2-czech-1.1"="481xwx5sfb639j02pz7q3fyzlw4h1xyr";
-"datetime2-czech.doc-1.1"="r9vmd6q4gpm64bglx5n8s6ihl0vm4k02";
-"datetime2-czech.source-1.1"="r8r5q7xy77b0q3krh6rdnc8kq98nwgiw";
-"datetime2-danish-1.1"="maqjjmvq99nxzs36an7fsym8wx884ra5";
-"datetime2-danish.doc-1.1"="qlbz9mfg4z54k9q3qx8xjq3wlz2adczn";
-"datetime2-danish.source-1.1"="zby5mapa0jrx7jhcci00c5p7bqr6crn0";
-"datetime2-dutch-1.1"="rfaajlb5k6y5fk5sphbqkyym5pfqmykm";
-"datetime2-dutch.doc-1.1"="fy3a9l5gk06dm0l5qfq2bm7djl6n6a23";
-"datetime2-dutch.source-1.1"="hfy19bpgiszqawykzqk15724ixlbs9ks";
-"datetime2-en-fulltext-1.0"="j2vw6akprfz3kwsjy5rnb6qnlnmxp9ws";
-"datetime2-en-fulltext.doc-1.0"="q954riws1f9b7ij9c8h0kg3n8zqdhgk8";
-"datetime2-en-fulltext.source-1.0"="54ky0fywkli0nld3ydyqm4k2nnvzl280";
-"datetime2-english-1.05"="49xamcmmpgkf06k87wifshsm6yxj4lwv";
-"datetime2-english.doc-1.05"="4argq3r0d0pshr8nj5ssfljzz9ympky8";
-"datetime2-english.source-1.05"="gdl6ac2ikwga7h6il5638z4c4vnhxvnv";
-"datetime2-esperanto-1.1"="sf619gxrxm602kjrlslmzd271v5aynw2";
-"datetime2-esperanto.doc-1.1"="pn0jcv342fvczyn2lq6kyi1pbvk689d4";
-"datetime2-esperanto.source-1.1"="91kz15x4skcwsis3c0qjr751vyvdsmpd";
-"datetime2-estonian-1.1"="3x0q23w9xzh48brrkyriqah92488m03v";
-"datetime2-estonian.doc-1.1"="pq4p7wkvmq1z815nk92dcphmya6cska2";
-"datetime2-estonian.source-1.1"="a3dmirap9z4b3cw83y2z7y1dxjlxkibs";
-"datetime2-finnish-1.2"="xsrppqvhgv3agc5d1vgsql812rzfc7m7";
-"datetime2-finnish.doc-1.2"="058m3p472vmra4r5i5f3yjyvrga1f63k";
-"datetime2-finnish.source-1.2"="kxcfwal2hw8hh1niyj0zsghihx3cinpa";
-"datetime2-french-1.03"="2nlq5rv292gl8gzwi9g2v3r8yvr3602w";
-"datetime2-french.doc-1.03"="94adprfzvln7xxv49gcdcng2ma28lm6r";
-"datetime2-french.source-1.03"="sfzsp07jb5ahflwrdy0fbhsapbbc9awx";
-"datetime2-galician-1.0"="jdzbi8dkc958r8fvpb5xqjmz7i5iiffz";
-"datetime2-galician.doc-1.0"="kanyn2kcrxp309crnj0wg3v34w93jndg";
-"datetime2-galician.source-1.0"="qjnph2vad7hl5d3jzzn58mz90jyvpgw2";
-"datetime2-german-3.0"="qsk640z3jsi7hq1h6hfz3b6xic20sn37";
-"datetime2-german.doc-3.0"="86lpy6y6svzx89mc162iqba6gz1aj63w";
-"datetime2-german.source-3.0"="2501fydmjp8wybz0sr6ri4vplvigp1m3";
-"datetime2-greek-1.1"="0yigs9ycc8ncyyjwzs1vhxgmvzr93rqk";
-"datetime2-greek.doc-1.1"="4w2gjy95fh4m73w46fm86gq8iqrrxwxn";
-"datetime2-greek.source-1.1"="fclkgy9d60pz0m6pfmirgrw0bdb2dwqk";
-"datetime2-hebrew-1.1"="w1dcd2wy5bdgcrchmwiqbwr9rpbabkcs";
-"datetime2-hebrew.doc-1.1"="xyvnscz0f83bzdk274acf4zqp74pdhm6";
-"datetime2-hebrew.source-1.1"="yx2kaxa35r99whh2yrzhiydmis89c5wv";
-"datetime2-icelandic-1.1"="p1qxpalqhyvs0gvwk55y0gz6f2q9sw4m";
-"datetime2-icelandic.doc-1.1"="za1d739glm25a6vm9yyyqsbhjc59lb5v";
-"datetime2-icelandic.source-1.1"="ngqx44p3nr2pw4awwwd9sdpjd3jwr0ai";
-"datetime2-irish-1.1"="c2rxvcqppd332k261a466wsbabfkklml";
-"datetime2-irish.doc-1.1"="yi5v86mssgpf4bvajvmf6l0hmahkcm36";
-"datetime2-irish.source-1.1"="g2q4nz3xrviqzzq88q7jljcv1dl8cjil";
-"datetime2-it-fulltext-1.6"="36m93xw965mj6dn75iwlls9nwzilr3bj";
-"datetime2-it-fulltext.doc-1.6"="7m7hh8w9cl1amldgbh9nkxxadvnvrdkw";
-"datetime2-it-fulltext.source-1.6"="x6ycnnq13kqphgfiihrhcjmg9ij4adl3";
-"datetime2-italian-1.3"="q26yh7zchpfg5gb8xraflh4vp7sa09k3";
-"datetime2-italian.doc-1.3"="rg34p52lxgj6s6cvi8r168psyknkgdb0";
-"datetime2-italian.source-1.3"="lryqdqsg9yk1d9xj866xf8fj0dpwyh3c";
-"datetime2-latin-1.0"="sriib5ngxy04w6xm5ii13a1l6safqsa7";
-"datetime2-latin.doc-1.0"="kls2lc68c3j7f2si0pdx1rsw24rgga42";
-"datetime2-latin.source-1.0"="07cw09layjkvklwy1ndvkai1aglbplz0";
-"datetime2-lsorbian-1.1"="ggcqlpw3b3rvb3blyw9p39gyj3n9ixki";
-"datetime2-lsorbian.doc-1.1"="nqkh7fk0l7zkgi07n7q9x0wl3mcqcf40";
-"datetime2-lsorbian.source-1.1"="q7bj5qd85b4nwgz3gfypsln5x0rj467c";
-"datetime2-magyar-1.1"="da1qjb06hcwmp0qw9hrrhiwl4rfxji5a";
-"datetime2-magyar.doc-1.1"="v2gzjv7nj4sgzym8bar1gz9rpjwbnf3y";
-"datetime2-magyar.source-1.1"="l052vx4a1zsdkbfwqmixi7ad6rz6277g";
-"datetime2-norsk-1.1"="9x884mr1av0xa2acb44cl38arn274z8i";
-"datetime2-norsk.doc-1.1"="4w6bjaid66pf5bnx7ya5vr023mi0bc3x";
-"datetime2-norsk.source-1.1"="r8bbhi1n1k6i635nwrs7hgglgf4sdwal";
-"datetime2-polish-1.1"="i8b07wq5ki25wh7j75gvimwdkd4psipi";
-"datetime2-polish.doc-1.1"="aqarbr89imdgdvqgnw5ggvp09r2dvmc3";
-"datetime2-polish.source-1.1"="hhvb5n65n0n8jv6anqmxrps42p00cvd8";
-"datetime2-portuges-1.1"="pbj76lwnghjjw5vglf9s05jqzkfc4gsf";
-"datetime2-portuges.doc-1.1"="mpg9vz4wd4b3vb3ksyxl21j0wsr2n6dh";
-"datetime2-portuges.source-1.1"="fcjicqpvz5cbshrq1w9y2a19sz0hqifq";
-"datetime2-romanian-1.02"="qag8c3rf1mjb0s7sqdri548ixd9rb1hj";
-"datetime2-romanian.doc-1.02"="dd80f68mbdd455s8njq5046z7slh47xa";
-"datetime2-romanian.source-1.02"="2fzqjvhdqh2fzl1fbskrahs0pjyfyw1p";
-"datetime2-russian-1.1"="hmdzwgxk166nibagd4c1qsxi7y0404zn";
-"datetime2-russian.doc-1.1"="mhv8b0716ihi3lxgyzd481dyv6gkf303";
-"datetime2-russian.source-1.1"="8749wgrkq93h4z7lasrwb3b03z2nfzq1";
-"datetime2-samin-1.1"="hf0cfq9j1681pp4575bwgxhxfrbmlav4";
-"datetime2-samin.doc-1.1"="wznr20pqd6ffkjzgihkjfxq6byms95bq";
-"datetime2-samin.source-1.1"="rszlr5zy6zw52cv6mvh7sfdfnh4y3krq";
-"datetime2-scottish-1.1"="0fw3v8db79rxc1363h70fgaswhzwhm4j";
-"datetime2-scottish.doc-1.1"="078mzhk1a0pd4qvvznp9aqjzhk1419j1";
-"datetime2-scottish.source-1.1"="mfw7dpm3mgh3wdmk4in6ysnnd6awij6w";
-"datetime2-serbian-2.1.0"="4g4ih0c1yrk5a39gkdb7r4wsxnfhyjlj";
-"datetime2-serbian.doc-2.1.0"="s8rf7s640n219a6phy64jidmf04y715b";
-"datetime2-serbian.source-2.1.0"="c85jqss5f5wcbsjy9b6lah1vq7xyr10s";
-"datetime2-slovak-1.1"="s6drl7indhw6r88bpzzva2jhxrpmjg70";
-"datetime2-slovak.doc-1.1"="z5navvjmgvgxjihffyx9p43p4y3plg8k";
-"datetime2-slovak.source-1.1"="2g2jfgg91mfh572l3bh78sin351788k3";
-"datetime2-slovene-1.1"="jbfcfj6rwjdadwxf80qhbxwphfrz0frb";
-"datetime2-slovene.doc-1.1"="dkf9zsiaqkxk83m14pym8ryciwsg0xzl";
-"datetime2-slovene.source-1.1"="zvxwxqmhzh9fbbwcdsk6vm3y6lxjd4lp";
-"datetime2-spanish-1.1"="x6mlabgqr35m0dw6zkgj7czgxs3kqj01";
-"datetime2-spanish.doc-1.1"="8szzfhyvgppifac3m38s2r57w4dkajdq";
-"datetime2-spanish.source-1.1"="h287bxi9k4xx909qvkrsywyr86nh1qjx";
-"datetime2-swedish-1.0"="kmnrfgqk01ygpd1m25q8s6da0wm39bdy";
-"datetime2-swedish.doc-1.0"="r2scfwnn257vximpv7a88qbmrj2v2554";
-"datetime2-swedish.source-1.0"="swif8xn3c7p4w00cyxxlwvwjh4k82789";
-"datetime2-turkish-1.1"="zz9fgafk07x5z63zkwa029yz6cf6xp57";
-"datetime2-turkish.doc-1.1"="zgh8zd14giw69lpn72gfpgdqc9v2qszs";
-"datetime2-turkish.source-1.1"="c39y1p039rbyp6s8cy7hs32va9904l7p";
-"datetime2-ukrainian-1.2a"="wmslcc8x7xkdzfd31psz7l7mfdpg5r14";
-"datetime2-ukrainian.doc-1.2a"="cyjjb5bmdwqp5by504r3s9s9h29r1bnq";
-"datetime2-ukrainian.source-1.2a"="3lj7rpa4qvljhvwgy6nlb0abmydgvqyy";
-"datetime2-usorbian-1.1"="pm6w3h37qzfbca1p3j5hxrfdn02l84qp";
-"datetime2-usorbian.doc-1.1"="zn6pc9djwh8jjhf1p97ah3n5kiyzidyk";
-"datetime2-usorbian.source-1.1"="qy8g9fi20q25cl1nd0v057bvyp8mi6fn";
-"datetime2-welsh-1.1"="jpj8dg205zh62h4cy1ccnh4j2p5cdpcd";
-"datetime2-welsh.doc-1.1"="994x84jlypdbnlnx0jf5zg6x0np88s7k";
-"datetime2-welsh.source-1.1"="95qmsn3rm7bsavz4kg4xf0ygdmf70kqg";
-"dblfloatfix-1.0a"="d1796nn206cs1jsas8kc05p0bfcb80rm";
-"dblfloatfix.doc-1.0a"="2rgw8lakmgyv5abzbpcngs9g1lrfdps1";
-"decimal-23374"="a7xks9vjp0pa09i5dbwz78n28a8fg83d";
-"decimal.doc-23374"="ib5j82aqc5l2rkggx5s3i7h0vz81sw01";
-"decimal.source-23374"="znw0p5x4xyg8nbaa0840lw7i27bczkf8";
-"decorule-0.7"="h52pi0lxysb91xdpx1dkybv3k0y7gybh";
-"decorule.doc-0.7"="3ba4y00y09a16py659yg2wmba7bxxc83";
-"decorule.source-0.7"="sdm70by35wc4jbjwq1d2f1jq2njdgk41";
-"delimtxt-16549"="akp06kcf04g4dx2ph7bs5cg4byld136r";
-"delimtxt.doc-16549"="ddxva98pp4ar0bxdlpbh6v2rxlai5d1n";
-"delimtxt.source-16549"="j788dpwxgryml7ny68nzab9c3dy0322z";
-"denisbdoc-0.9.1"="5xkpr9mh5607qp6vvx2a5xnw35xn07h5";
-"denisbdoc.doc-0.9.1"="8xqm0s7gp4znh4b7c0c9xgs23nwj899y";
-"denisbdoc.source-0.9.1"="bkr6b5hiymlmpm2brdy2vdjjzz48kc4p";
-"diabetes-logbook-54810"="x5s8rl10s8fg10xwa8s972zay7ximns5";
-"diabetes-logbook.doc-54810"="kcpszp5n9np9v31iha2yhz31h5b5snnx";
-"diagbox-2.4"="2d44gh8w38gdb44amp3c5vj4calw00bh";
-"diagbox.doc-2.4"="847q422hmpar0wv6whir9j170s96wd05";
-"diagbox.source-2.4"="z5zh8cacxrxglwb8hsakr6did136nb4r";
-"diagnose-0.2"="dbkvix4h3jhwq9pd2g9ydknc87z3zlr3";
-"diagnose.doc-0.2"="0b0ajzf5gvv3901szcwnkb7938sgqqr9";
-"dialogl-28946"="qn4qmw5yrhvim6fdl2gff1vl0ca4dfs2";
-"dialogl.doc-28946"="bh2vp79kq5adw6smmn0kbkhgk27qqq71";
-"dialogl.source-28946"="zqjq4a7kp63s0m7aq57ragybmigrf05z";
-"dichokey-17192"="0gjqadln2d38gclhy9ggf3i8vcnf2bfm";
-"dichokey.doc-17192"="af0pz0ixx95k8abfhximgla5jjly9ddf";
-"dimnum-1.0.1"="rm8crnajl5cbzxs7i399rn4y5d6kkg44";
-"dimnum.doc-1.0.1"="vzg71a7hjmkkdzcnflg1zaxp7v5dj06d";
-"dimnum.source-1.0.1"="g7qhpkzz1fy1ymxkiibk00a7hkmhr8i0";
-"dinbrief-15878"="49584j24lg6vxazw8rqbhzcf0c7anbqy";
-"dinbrief.doc-15878"="i1dwsv81v87ll6wipvd7idsg8vym61k6";
-"dinbrief.source-15878"="b3hcmv6mjq48yhjl7g32yv9s1p3d0hkw";
-"directory-1.20"="7r6n8s393idf94madvzpfz70qvmy9n5z";
-"directory.doc-1.20"="shvbxhb02d3lw1sn3ayvx5xs6qayxjkh";
-"dirtytalk-1.0"="1a6r7pzqjy14f4f7vnlqgqdb6r0yfm1g";
-"dirtytalk.doc-1.0"="h383wrcj7pxb3mnqnssb48qx0zzw61gx";
-"dirtytalk.source-1.0"="dzvypzk6yrjli5zmr06xc2mqyajrvz1j";
-"dlfltxb-17337"="ms6423aqc91c34fmxw8l47d5kbk9yc6b";
-"dlfltxb.doc-17337"="kb0p5vzgr45gzbmwzc9mrk8hpg1z6x0h";
-"dnaseq-0.01"="719cl1bfw7c1psv115pmrn7bijd0kxsr";
-"dnaseq.doc-0.01"="f8yw32bkw0chrk221qga668jpfnb3rk0";
-"dnaseq.source-0.01"="7aw7332aklsigpg8fazvv7ips2a236x6";
-"doclicense-2.3.0"="6r8lr2qyx9z98x1p9dlym8i1nwy6kvd3";
-"doclicense.doc-2.3.0"="0z6y5vb2j8h6lx7515hhpz7j5gxl8zij";
-"doclicense.source-2.3.0"="dgiry6mlr4lpk6zs3mmk64l2f400frvj";
-"docmfp-1.2d"="5az4cgljj1gmc28z6kwy9g4h49gzkplf";
-"docmfp.doc-1.2d"="rn7s95z09ijvddynz2dda2lpqidzbbnw";
-"docmfp.source-1.2d"="c6swy2dkxzrprrl0zjbphcf15x6my5l2";
-"docmute-1.4"="ijpgwid57874xk9w7p4g4m14j770awwi";
-"docmute.doc-1.4"="w8i5cy5mp1780bglwn08kcywk3q1qqfp";
-"docmute.source-1.4"="qqarpddqxfb4lk6cjsz4d68wvkvqrdn9";
-"doctools-0.1"="xddfhcsq7f0la61bmdv474avf8vm7pgg";
-"doctools.doc-0.1"="zhwqm1k0dl068scr7sfypcii7nkjp01p";
-"doctools.source-0.1"="sfrjlg9h1icqa2wa9m3z2ciqc8j4fzc2";
-"documentation-0.1"="kji3s9vf00jpl198nm49dxfxw8yh3xkh";
-"documentation.doc-0.1"="ir7a948d9yliinmb3y55vx8wa2zi4ada";
-"documentation.source-0.1"="gjlkrc2a087589g9lrk9sh8g4q0l03vq";
-"docutils-56594"="3ylh872bbn7bjwdm9zw1w7iffjbygm9c";
-"docutils.doc-56594"="gf2wpavh0fipnib447z8zjyssm88s9r9";
-"doi-48634"="x7wlmyfrj7vh3wmf1zjgpyraf2crh7q4";
-"doi.doc-48634"="h1si59g4nhzwixqsi11dzz1x9p8jv265";
-"dotarrow-0.01a"="an0dsydrk9bfcahzi356nrfq9fw0i9fs";
-"dotarrow.doc-0.01a"="ay137znk96s545wq4sligy3q832m4g91";
-"dotarrow.source-0.01a"="g5krgdbp4bdfhk40s759qw2j6f7n6ss7";
-"dotlessi-1.1"="y3g1v1d5q2lxmghfc58msm75421pm2yf";
-"dotlessi.doc-1.1"="hniafmk6wys4p2mlik5v3gfsvmpkshqc";
-"dotseqn-1.1"="pvfjw24r81j8403qav5bfd3i6xfk3xr1";
-"dotseqn.doc-1.1"="7iq10vxjnn14rvlpy10clnrq0kcs0a5q";
-"dotseqn.source-1.1"="fpkmmkp37gnl7cg75i820ry92s13vkx2";
-"download-1.2"="7iyriccjgkp5kr1wf1xbpg5kx44g85f0";
-"download.doc-1.2"="vsrhz791rril9vb50laapa668pc92ixz";
-"download.source-1.2"="ihygdvqagb74hzcbb35673bapx1a3j0p";
-"dox-2.4"="vmv0sf0gjb0hgimhyyxah2n9z7kfc60r";
-"dox.doc-2.4"="mjc4chfbw9nnq06h6sr9v5q7mx0yf3w5";
-"dox.source-2.4"="6pwhbz64rwylp60nhay1ij6bls33aqcx";
-"dpfloat-17196"="lad2kjr2qljjmnrygdlhgqbhpj8cxqb2";
-"dpfloat.doc-17196"="j3mxi39ar6vsyz51w7dj3nsnrrcsqjpy";
-"dprogress-0.1"="6bz0iy8fa34famjb67k3q1xhsca311k3";
-"dprogress.doc-0.1"="9x4n68z2vp63dvhc4g30yar4z70xkxbb";
-"dprogress.source-0.1"="g0d00q6x7wagml9hphd9b2ddg7zn887a";
-"drac-1"="kswhsywlysyj2k87dxad6wyjl2zxj584";
-"drac.doc-1"="23j8r0v8wyivwydi9ij6783d91nd6r00";
-"drac.source-1"="hi0yz77sqs9lj3dqvj2h0zgkmwac3r16";
-"draftcopy-2.16"="jpi5kv4l4r74ahxh9m4nw338hlx9qjxc";
-"draftcopy.doc-2.16"="x49fj5rzavabrdw8c8j05nnqxkdjlhpp";
-"draftcopy.source-2.16"="b6319hjnccfx3xxfrxz1kmx9813aik0a";
-"draftfigure-0.2"="w154bzgm94wzqs4shyi3vir6vzfd7324";
-"draftfigure.doc-0.2"="n3cvgb3mn0a0asrk5wng4f5pnr36k337";
-"draftwatermark-3.0"="3rnp6myad4ij6ikq9wwfdknjkxyqd04g";
-"draftwatermark.doc-3.0"="df3zzpkq6ixspdzpql1zmif2y78k5glf";
-"draftwatermark.source-3.0"="b7ngzwvmc8g8w3hc6ymk8r8h6kn1a4x5";
-"dtk-2.08h"="x0hk8li42r2m26kmmn5fz5kxjy4xi09c";
-"dtk.doc-2.08h"="6yxf7x6a5d8r7dnwipcxa87w2sgs8xz9";
-"dtxdescribe-1.02"="2bhwnkb5id2raigd4iywhf7da7c772zr";
-"dtxdescribe.doc-1.02"="2ygyzgrllyq4fa2xbf8fyrfk810w2ja9";
-"dtxdescribe.source-1.02"="39inl1ksgzd28sszdfjyyq80gscdc6xs";
-"dtxgallery.doc-1"="bpsakwyq6ihcw2ziqpjv8qh2a90s5mw9";
-"ducksay-2.5a"="sg9xk4jc4ngsan1f0806w9ph5372qihk";
-"ducksay.doc-2.5a"="khw153wkf91llm5n87wkq5wqr3mgazy6";
-"ducksay.source-2.5a"="xsyz67f6rm0561r1lc128xn8091vxyva";
-"duckuments-0.5"="vdc247rsaliycjf37gn8lwihycrpgksp";
-"duckuments.doc-0.5"="7ia6rdsdhhnvf2jdxynz780virwl48p7";
-"duckuments.source-0.5"="ndcajqs2y2vmk0fzd25ayc4i9yq03qz2";
-"dvdcoll-1.1a"="x9xdlwqrbq8wflwbwkabwyi9bg8rakqz";
-"dvdcoll.doc-1.1a"="m88326jypnn2i1bqgv458cyjdzdn320i";
-"dynamicnumber-0.1.3"="p6s0hyavqqz8hsfca8ymfqd63ajpbgam";
-"dynamicnumber.doc-0.1.3"="28i12f55m00ma06xi4575m9mxlzlk5j5";
-"dynamicnumber.source-0.1.3"="1s5p8px5hk951cifga7as2cys5p9v9g8";
-"dynblocks-0.2b"="svrn2iyvz97vsdz7zf2npfjjmj1hiiwd";
-"dynblocks.doc-0.2b"="vbfwn0p5rpddhfbj5dzzg8y777i69s62";
-"ean13isbn-57514"="bw8467r85cglxc63sqjzkyfr1yhwa318";
-"ean13isbn.doc-57514"="7qpp7zyc1l29pficyg78629y85z6w197";
-"easy-0.99"="jb9dranvwd0ngzigpq8kla53wnd99fiz";
-"easy.doc-0.99"="m4hx4j5snaiip3mzz1hnakcqjdmhmy4z";
-"easy-todo-32677"="303p58si7jhry6gzkiqjcdhkgdxdj8yn";
-"easy-todo.doc-32677"="19xs0lb6swakg1f9ci5gfmmfbddcirvp";
-"easybook-1.24g"="r2a3c446jydh15ir8d3h948dgip6kkdp";
-"easybook.doc-1.24g"="6y2hd2v20wy7nh9fj0i380x421nia50m";
-"easybook.source-1.24g"="zvsk8amph0yp1hmgv054gps4nc6zyf5v";
-"easyfig-1.2a"="l6pbmvwsjjnrpxl6d9v6askvk0fvqpyn";
-"easyfig.doc-1.2a"="glg4115m5lkacjxdq29my9a01xn5mj13";
-"easyfig.source-1.2a"="szidzjjq2h8aiqh995xcd37460xx5lbz";
-"easyfloats-1.0.0"="v2v3sm7d9dga3kpmr43jvi8p5s3xlbiw";
-"easyfloats.doc-1.0.0"="s385w8a59a9xncvv6rqclbiac11bsksk";
-"easyfloats.source-1.0.0"="08b3pa30hllhxb884hgmpby1zkz1n7bj";
-"easyformat-1.4.0"="x6ad1pxvbj09q2kypdg6z5js8q11a7k4";
-"easyformat.doc-1.4.0"="1g0wbnrc4snik4hbzldn9c015ry80n50";
-"easylist-1.3"="3mri8pvv7jc5lkqkmzh8h5a4x8agh702";
-"easylist.doc-1.3"="7ak9lbazspcv1k8yi2j3shf106v4spjx";
-"easyreview-1.0"="gc6ml3qw7j723r20jxc9lvrfm5ll2ljl";
-"easyreview.doc-1.0"="j2jxwz2fimhqyd5j6hzrgamn5cjs4azf";
-"easyreview.source-1.0"="8x8h7c1lldi9mzmwrgcvi3114gh8y3s6";
-"ebezier-4"="m8m99zabbk55zn8l16z2qjpaw2vilfy8";
-"ebezier.doc-4"="mybqgr1ksi07qkwjgr014nbgx47q6rvy";
-"ebezier.source-4"="rpwm8s3jxc47d28595qx4gdgipc9aj45";
-"ecclesiastic-0.3"="mw0n2vbpdvh26xpjh29avdz7lf2jhhx5";
-"ecclesiastic.doc-0.3"="2qblfhxs7h9p9wnrx6m73drlgvwnk6ql";
-"ecclesiastic.source-0.3"="0cv2d5838jv4ra4slgvfp2fkl1v2kv7j";
-"econlipsum-0.8.2"="ipxvwmfm4z615j0fw84mwlarq9h77zjh";
-"econlipsum.doc-0.8.2"="c7k1nc8vnvn84wbzcm0qayy8rc3g7sss";
-"econlipsum.source-0.8.2"="alz8zs8874cmpbxrnk6h992pmrg9vx3i";
-"ecv-0.3"="hb27xhgd224h3rwx0bmrkrf3fyjgcsc9";
-"ecv.doc-0.3"="dmf8p191d4s0dvsdyiv1850dzxxg86n4";
-"ecv.source-0.3"="wn8c1zrx28k418cmj93b7ngbg6mrg0q8";
-"ed-1.8"="i6pnwa7a3fvvlsc6cfdzm73c8zh2wjf2";
-"ed.doc-1.8"="bxhdx8i27bjbxybz2lfwk4wjl597mgdk";
-"ed.source-1.8"="3lq35kmqyxqrrj9rznwlj922iwbxr6qc";
-"edichokey-2.01y"="fba596rhvgbccbrmdjzdqhx3a3k8fd20";
-"edichokey.doc-2.01y"="8hir9vw34lrizkxivznzbwcypvxjssk4";
-"edmargin-1.2"="crg5k7p997nxfxjhlrv2wcmvb673g0ry";
-"edmargin.doc-1.2"="wfdkbmlhvmwcba9jkg3p83vsqj4k3dxh";
-"edmargin.source-1.2"="j439fzcg8r3rcwr9kadrlx9rp4wvxs9r";
-"eemeir-1.1b"="3d02h2i8l1dz6rljyx5my514qhw1w35p";
-"eemeir.doc-1.1b"="y315ys2zhrnrpfdw1yz0ciay8wsncmvb";
-"eemeir.source-1.1b"="0v0yqby3x8cgldrz67qlkqd5hp4xfh97";
-"efbox-1.0"="lc1r9y6znpl59qq6j0dwksxgnkrwh985";
-"efbox.doc-1.0"="jgi7nzhs6x37syhlpizfc8nnnwqamnqf";
-"efbox.source-1.0"="94p7n1nxcpax59q64i4hygr4gz6z7qjg";
-"egplot-1.02a"="wjw51hmdhl76wqrgj9ylhyb656rfqmg9";
-"egplot.doc-1.02a"="3ybfma3qjwnmd9djk0ckr22kvln7ksgi";
-"egplot.source-1.02a"="lpd8c8hpz0vpln7hq4ck2xm896hhkjz5";
-"ehhline-1.1"="zvpll3g8lwzzc6pna6yz84g4vmchvr2p";
-"ehhline.doc-1.1"="in9l558n65w88wipl7rijrlz7m14ygdi";
-"einfart-58414"="wynf55xmjvnn0hsy4l6rfxfjvys905r4";
-"einfart.doc-58414"="cpzr04fnqljp1k85vc7z35b2p7903fcz";
-"minimalist-58395"="l855p35wwvmbnzhb8ws4ycds31jvyy1s";
-"minimalist.doc-58395"="wff8fp73ygsfp9dk1djpgad8i5rjgfkr";
-"elegantbook-3.11"="8b5ph3pghzqw6w87r3j7syv8wvbwi693";
-"elegantbook.doc-3.11"="4vpyymvj9yn902bz7rizay726icsrpx7";
-"elegantnote-2.30"="2j2whlfmm5nydbm7rinsrxpj7sxxf5nk";
-"elegantnote.doc-2.30"="b807hfa7p6zybw2mxrnc8ic2xpplq3p4";
-"elegantpaper-0.09"="r8jqan4yc8rcsxpi6lnxc4sfprijnh50";
-"elegantpaper.doc-0.09"="d3ax4aghz14cbkw2a9nc22if598r9fhr";
-"elements-0.3"="5jhgr3w0l71k6yyah71sns2cyib3w6rs";
-"elements.doc-0.3"="64ad2wwg0s9s56416gdw3y2k19qj3isl";
-"ellipsis-1.8"="r0sz3fsnxpphg5jrwpqr06l9j9qci49h";
-"ellipsis.doc-1.8"="wx7z1wwcsgqhs1gpgjy90mj3m0j4w47h";
-"ellipsis.source-1.8"="ics0hg4wsp162y5abmwdgv30fj67sjms";
-"elmath-1.2"="pljnyyb5wp8n5f7g5wp2hb0f7aizxwyd";
-"elmath.doc-1.2"="9rrybpg3pziqa42bkhblp14jjz6zgm2v";
-"elmath.source-1.2"="fnw5k3ck3nbphv71xqlyq6yisgq04xjc";
-"elpres-0.8"="sdk8wfvfm49xk250gv1bjsgl3r400kw1";
-"elpres.doc-0.8"="c6xzbksr0wacp0nriw1ws5jrb1db91sg";
-"elzcards-1.60"="nyzh9ppq7rch8s38spiddbvgbc3jlav3";
-"elzcards.doc-1.60"="xf2cc42ypl06p2kardrq1nf3bkr0xziv";
-"elzcards.source-1.60"="k346vzql960by6gqi3fcpfjdiq6ncc26";
-"emarks-1.0"="98dkcqyxwjzmy7r7piap7kmf3di5xjqg";
-"emarks.doc-1.0"="caipsh0fic83rak0dbdjfmgkvppj5ini";
-"emarks.source-1.0"="06wmqv5p4nhaqhcb0i8byf6s600bq7in";
-"embedall-2.0"="bkkkbm42s039l4hsy7a06fba7y76pcdh";
-"embedall.doc-2.0"="xifjdsbhrdr372svi21sq1wwl6jin2as";
-"embedall.source-2.0"="kmanpw0yvlllsc52f4wfhh7dpby80bnc";
-"embedfile-2.11"="lmyii6clmd884g9f6205j11hps9ckw4p";
-"embedfile.doc-2.11"="9dr0hdvpp5g5cvq8q449cslixn0yzr4f";
-"embedfile.source-2.11"="4rz19s91zj46l9hmzgn8xkimwpjizxbs";
-"embrac-0.9a"="xgrpqldk849vwzs8bb0zprjba4vr5hgl";
-"embrac.doc-0.9a"="nyp3yczjp39bh3d7ngrvyn268jhfk2ng";
-"emptypage-1.2"="lbjvj1gf2jiy15yj86d6jxlhrk66zmrm";
-"emptypage.doc-1.2"="07fnrxjidk9b42610wx6696cah8p1zdi";
-"emptypage.source-1.2"="svha86185zhrvab827x8nbn02vlp027l";
-"emulateapj-28469"="2ywrmmrvlkygp6a86i56rn9bm6wzqqki";
-"emulateapj.doc-28469"="ij4q6ixvmmh8xwq7kgb0hzvhz5pcsy68";
-"endfloat-2.7"="4fc93l83sg85k19wjriw7703zn70hz7b";
-"endfloat.doc-2.7"="85zhqgxpdbwzlr0c6dkkxnf15dx4qh3n";
-"endfloat.source-2.7"="6q86lh5x6df037hkk26rc02ypqfjk1nz";
-"endheads-1.6"="0gjn1xldvixl6lh9n2g9gyly9va84sp4";
-"endheads.doc-1.6"="y0phz9mfklcq56h6mwkx2jd535v94r72";
-"endheads.source-1.6"="x01kj0pd2b1ljs3457l1b7880vp8amdx";
-"endnotes-53319"="h3pqrcr0w5lgxgyw0glmjshyz4jpi08k";
-"endnotes.doc-53319"="fdkg195aiaccnys9dnjyiklrsvkvmx4m";
-"endnotes-hy-54758"="3l046f4h8qjd9vc8d6s20d2bn8fjhb9d";
-"endnotes-hy.doc-54758"="4yxl7kqaz73j6inrlrb15p6b9mpkda0j";
-"endnotes-hy.source-54758"="15h17rhifyp0yxqysjvhwks8183rskk1";
-"engpron-2"="d0k5j6bdrzm418x90n8858cyw85i439m";
-"engpron.doc-2"="4mhw0220r7x85dshmar87b3jydn2jxdd";
-"engpron.source-2"="3rdxi48m3h33kn1z81md9izji6my7sdk";
-"engrec-1.1"="8wc4zbqvp2lgs3qgvhks8fhy0gcafddy";
-"engrec.doc-1.1"="3rvil27vakyv0c56wykmhb499a3xfbjk";
-"engrec.source-1.1"="3rj7ij1f8rvyb80iaxx0fw8br06w8kgp";
-"enotez-0.10c"="qgbri1hhaq4yh7mnxcdwky11rww0ab6y";
-"enotez.doc-0.10c"="nmqm91i52qry6rm0rzlzqjxl18wmfpaj";
-"enumitem-3.9"="cddx7nd076jvg59bdkqaxnmk4rdlg94a";
-"enumitem.doc-3.9"="nraf0fvdrdn61w2dxiaqcd6xzlywq9pc";
-"enumitem-zref-1.8"="hj60650qiwzxhdk9f9pix1wgvphgqxj4";
-"enumitem-zref.doc-1.8"="nq73212kl36wimf8k4m37xzb5pr6qqdh";
-"enumitem-zref.source-1.8"="3l875sm2v3c2frxhr17rv80q36n19a9h";
-"envbig-15878"="9jl4id16g9bmsqwwdbcdp2925m5c381k";
-"envbig.doc-15878"="5302z09wsidh1fvnfs5d7zf3fzd9z967";
-"envlab-1.2"="iqf24bqqcnpp7kiysfb5dy4ksw2ni0pn";
-"envlab.doc-1.2"="5xscix7j6x6fbscw6hk22r4qz864y654";
-"envlab.source-1.2"="ndl09cfzl24rbp7rw71lcv2q6dn9pdih";
-"epigraph-1.5e"="hhz8zdnr7k77gpqvk82mbq7v1gmcq6ig";
-"epigraph.doc-1.5e"="xkmp3p36yicjy9f8ywy7s39i5spwwf78";
-"epigraph.source-1.5e"="s20xxdnwi3pc9d6sl5md0fyh7w8vnhbd";
-"epigraph-keys-1.0"="dz1105qmdapxazcvjwmli1hp8wc3vrsp";
-"epigraph-keys.doc-1.0"="gvycf0wi4kjcld2sic2j09nwpm4vhcxr";
-"epiolmec-15878"="hpmg6yy63c52078mqmp861418xi07rgk";
-"epiolmec.doc-15878"="vl11cbnw0avwvjf8ad01fziya1dzrbh8";
-"epiolmec.source-15878"="1b7as37h0ncqjvsypwc9wdzzjhs0sfhs";
-"eq-pin2corr-1.0"="lcjcz5waz5n4l52052mm4xcmw8gjqa1n";
-"eq-pin2corr.doc-1.0"="k5pyaiw0a6gl3941bcr78ll9m5104fas";
-"eq-pin2corr.source-1.0"="9hi9zmpb70arkdf8sgdyr3fkr7abc6pr";
-"eqell-22931"="24n6gsirzxiyv3avcm27hll6nwrybkk5";
-"eqell.doc-22931"="xwz1qv3l0345p2al1p02dc5k3f77k48h";
-"eqlist-2.1"="jajr72vgjddrwagibq1nmhf9lqqsk66n";
-"eqlist.doc-2.1"="ln486bm8phd0pmdfa75rjy6p1bwqzgmd";
-"eqlist.source-2.1"="r07gp9r0wb57knv1gy35kwkvksz9bxd2";
-"eqnalign-1.0a"="lcg6zvxcnzmljvqfv6lh1majiywkwnyq";
-"eqnalign.doc-1.0a"="h21nzl5g0hqh3513gbipm4fr79i6pljk";
-"eqnalign.source-1.0a"="m8i3vxkn3ciab2p86shkzzzx2ckp9d7v";
-"eqname-20678"="mjcyi6q46c5jd44m8m9wzx12lhqir4a2";
-"eqparbox-4.1"="c3v8vdwcjfhn85751995viymlfgwpwr1";
-"eqparbox.doc-4.1"="9mn192afkzc3pzxp5xxsm7kxpaa3yis1";
-"eqparbox.source-4.1"="s206q1m2wkjsvjz23xlsx1yy603jjisa";
-"errata-0.3"="kgx1zy8j3g12czpg8hhnjq6dwa3m8xqn";
-"errata.doc-0.3"="518rdbnh3w5jsk4vlfp93cnag3kaiwmy";
-"errata.source-0.3"="p27pa3b4plzwhxl8vpr7qigbnr8aqv11";
-"erw-l3-3.1"="s7sivxpp0j267gxma49pbrxdmbs4f7pk";
-"erw-l3.doc-3.1"="7g7nahk60jdkzxa79fks5dxmynwqimh2";
-"erw-l3.source-3.1"="qhvqgnasnpiin8fms37rhcjyxf0hcd6w";
-"esami-2.5"="8b9bvz0jsn56nq9d27l05kfmwhggm6sw";
-"esami.doc-2.5"="y2n8zs9pk1a3zn1ag5sw4sm0kbaclqr2";
-"esdiff-1.2"="q26sgf5s4ans9qv984p9s04pginqby9z";
-"esdiff.doc-1.2"="67vh3nycsw9h9vv7k25agixsmrdg0068";
-"esdiff.source-1.2"="xy6y4za3k53myl7dxbjxm21rcskb1mqz";
-"esindex-1.7"="4cphr245spz228hg23dgvffry10hqi9q";
-"esindex.doc-1.7"="0aspp9mpf60hxnqyj26jpznsj0xmb7g3";
-"esint-1.2d"="74szrggzvcprs68hisb87p7nvj0i081h";
-"esint.doc-1.2d"="hjpca8jbf1aipkzs30al948hpclk6jy2";
-"esint.source-1.2d"="1mpxmf7kkdmglnz0l6nkcpbyy4k3kbqp";
-"esint-type1-15878"="0fwcq5cpsqzajzlp2rc9ffmcwg5fb5ja";
-"esint-type1.doc-15878"="vmamlk0v1w4ffks6cp9f0gg09rkr37vf";
-"etaremune-1.2"="1x3604jqbswjza4ryv49l2cs63iqcv3r";
-"etaremune.doc-1.2"="6k8qah3w1ksn77is2i8kh1nilr6qgm34";
-"etaremune.source-1.2"="5a4n5d9l39nb0v3affwx0sswnp6sv2yf";
-"etextools-3.1415926"="w78v5hb43si3j8p38simfzscyh6lglsm";
-"etextools.doc-3.1415926"="16fq8y3c226wsf57dkny9484440i61zv";
-"etextools.source-3.1415926"="ch6lsyh0nlzkdrwzsxgf87srsb40x56k";
-"etoc-1.09c"="bhd2fhjy5m6j8k0xb3hiirys8csvmwyg";
-"etoc.doc-1.09c"="5rl8ibswi4p9a8d9jmlavx5zwih05mkm";
-"etoc.source-1.09c"="18w9wy70s61yggkcxfrhfxsvjmbpr7hl";
-"eukdate-1.04"="5lql99zq8izsri87dhqf28nnchrjkyhq";
-"eukdate.doc-1.04"="f3xl3nllsr8299rjnxnhpksv7rz8pdq0";
-"eukdate.source-1.04"="scjqaadvah0kf1rxj9r2nphvffk86cis";
-"eulerpx-0.2.1"="1kvqcqfjh77lg1d1jzwj6mr2rchjpnyb";
-"eulerpx.doc-0.2.1"="8jybcgzjn8c3qyagdmaxmmy0fx89sj93";
-"europasscv-56829"="5sjzgabngp49v4ghn8sv6dahbnnka7sd";
-"europasscv.doc-56829"="8racsqj1y0rr6r8x9hb0khb4k2g4dgw7";
-"europecv-57641"="51gzlqk28vhg99i196pdkvax366z4m56";
-"europecv.doc-57641"="9ra58061c14fabaifdg216h4xjcgv24z";
-"everypage-2.0b"="az5nzriphfs7imw4zi1g7m02qy14d0j7";
-"everypage.doc-2.0b"="fvd7wnl16rgkkkl95z24k7057np0jh54";
-"everypage.source-2.0b"="6q8da7fiji3x0wli9dncncg2kgx4wwkj";
-"exam-2.7"="51k4l25g664px41y845m9f1gcy0id8lz";
-"exam.doc-2.7"="a5w0cfmfz19icr3qhqfs502x5b7j688y";
-"exam-n-1.1.4"="nhyripks5spkljgi7js9mva03lgam717";
-"exam-n.doc-1.1.4"="s5zg21xsdrxmyr4v4fj9gjp5gkcm27wj";
-"exam-n.source-1.1.4"="yfj6g9n8q1i7x9037cmvghzyhm4i28rl";
-"exam-randomizechoices-0.1"="76kpdcd91398dmjcs94270ji9y1hs6n1";
-"exam-randomizechoices.doc-0.1"="m69nv8j74xz3i3wv0byg3x64d6924338";
-"examdesign-1.101"="58mxkjnnwz8z68lvxdc43gn14v6i9ysx";
-"examdesign.doc-1.101"="vr8j3mhp28h6d9zvcg6akfx9sx756zh0";
-"examdesign.source-1.101"="51c9vyfhwcp9vmhsrsvzd47q93ckw2f1";
-"example-33398"="rpbgsy66fj5nxcf2j2kg6mmkb46hq4ir";
-"examplep-0.04"="jnd218glfcwkbz8qprkac3nykm86lhsx";
-"examplep.doc-0.04"="lgm123fsn5wpdgbfx3kqm9h5q92qss83";
-"exceltex-0.5.1"="2zx6110fa87f5f3fabp4a163ybxd8mpv";
-"exceltex.doc-0.5.1"="b1ga5yh8hj9zqzm9axzdmryairv6avs1";
-"excludeonly-1.0"="i8iyqw7gylk4jh4xkrvlycpy554iinyn";
-"excludeonly.doc-1.0"="4i3z8xj3prbb8wmb469wp54pal0y545a";
-"exercise-1.6"="x4m7z83dk9yg068fgv9580gpg32fin6y";
-"exercise.doc-1.6"="bcrzrs23c8rrkax8w03yhlmr9sgqw3kq";
-"exercise.source-1.6"="fw34bm9v1gqh9x7vgih6axanakwj523h";
-"exercisebank-0.3.0"="lxmd3p0fn30bkvvh29jlajdilif7c6h4";
-"exercisebank.doc-0.3.0"="qys4wvwrjjxnphcadazvgz6wxxqk98jc";
-"exercisepoints-1.2.3"="givs6qpl3x2lc45lhxp2xa6wfznawp23";
-"exercisepoints.doc-1.2.3"="ad8kxig8in0cc1xdl2rn7yyhfxhcx868";
-"exercises-1.1"="rkvmgr7ahzvi3hdskg4m3hxghxa9mzkh";
-"exercises.doc-1.1"="fz84yp1ykv7b2sspfp562305xdjz28hg";
-"exercises.source-1.1"="rdwlqw0b69q92rl6qn2k3pm8bg3mch7f";
-"exesheet-1.0"="9yvchdd3qmlr2dp30k8d4gbx8bkgnwm3";
-"exesheet.doc-1.0"="mgibzk9pksylasb5g35j73r7ydzzk37z";
-"exesheet.source-1.0"="6b6g6ijdakwvk0zscvq18h6n2wrbrabq";
-"exframe-3.4"="4ylpslzc9xy1anmf3955qv9c2qf6a2j8";
-"exframe.doc-3.4"="nnvszhbdyp6xc6kscdlsdrr1xzp60pjw";
-"exframe.source-3.4"="01lnli0q7sbbax9kzz5wil7gx6578h6d";
-"exp-testopt-0.3"="rz188mfdr0hfnrcndv0ncany2g20hv34";
-"exp-testopt.doc-0.3"="icxvqjnip0g92k1hngpvas7f7ii895pa";
-"exp-testopt.source-0.3"="9gq43v996qrrrxjgi28fqf9c8qval8ln";
-"expdlist-2.4"="3l7s7wynbhvmmxlpsvzma7k0fmsrgha0";
-"expdlist.doc-2.4"="pv6g612sac208kk4il3v43ir008916lg";
-"expdlist.source-2.4"="nfs4val465iw3h4x5ggg8606k2nl4n88";
-"export-1.8"="c2cd44yhfphk0wnyaq0db2y5rfjmcvfv";
-"export.doc-1.8"="ijjjprbcnjwwj5hf13b61165mx8xdqn5";
-"export.source-1.8"="0wz3raz7mf5cqz0j0g977b7ghznxgxxs";
-"exsheets-0.21k"="5mzmvibvngsrzbgp4db25w2iwk3s4rrx";
-"exsheets.doc-0.21k"="np244067l6dgsdhfn7dniy21dkzsdqxm";
-"exsol-1.4"="wwghsm9x9vmac2i0nxgjqg8cpwlhzqwa";
-"exsol.doc-1.4"="f2wy6r88019491r16x5kqbfrhvj4np78";
-"exsol.source-1.4"="g428plzbmq561mmilbyizjp5ycpr1v8q";
-"extract-1.9a"="dmilnfy1hx4wr7rxx9422m2m95ksx64r";
-"extract.doc-1.9a"="ngsls0lldkxag0n9iyj97w8bn281xm77";
-"extract.source-1.9a"="hkgq7qf52m44dk9n9mj6xllwqdqz9s90";
-"facsimile-1.0"="mhx5jbh4rwv10z6hd3b2w5haj02bjz0y";
-"facsimile.doc-1.0"="pb8sj68gxph376h1ph6yb65ncyblxbdw";
-"facsimile.source-1.0"="dvjli6r3pr4w74n9mnm2ix30jva6yysc";
-"factura-4.00"="3rn2gc3d7861614g9p38jkj4zdkaga1g";
-"factura.doc-4.00"="i9l8lg739x2y4cq91hq4x7smy3m64cjh";
-"factura.source-4.00"="0a47dflwg4xq6vswm89jyvb2ms0316jl";
-"fancyhandout-46411"="d1l30rd3z334px9zyw74l4x5vjyki6zi";
-"fancyhandout.doc-46411"="y4vl6xw99i4q8j9nr369isqzs9vl39z1";
-"fancylabel-1.1"="fvnw8s5y8rr4sfpff9ay2y1yqqgrwysk";
-"fancylabel.doc-1.1"="xsq1b17afxx971wfyrdgwnq2fkyqsxc7";
-"fancylabel.source-1.1"="rwq6gd28j5m49xv2h91sav2b5pf9cyvn";
-"fancynum-0.92"="5asi7143x3h151vhxxjjyy73nd39zj2s";
-"fancynum.doc-0.92"="54f1hxykwv7k34dpsvg0l6mlz9jia60z";
-"fancynum.source-0.92"="hfgqgx52wiqfw9h4440hwha1zagvw45p";
-"fancypar-1.2"="268b27l8yvn8rcb7770xq9rpaf3w9d3x";
-"fancypar.doc-1.2"="ikjja1g55vxfa2pjivkf1wgyzihikghk";
-"fancypar.source-1.2"="yjzx9b97l97ii96d0wvd6whbq9gkas5d";
-"fancyslides-1.0"="1rm0ay1lphh034nxw2ww5w4jkyz0a8vg";
-"fancyslides.doc-1.0"="h8cl20k630ccmwjxvnkns9yqzv2gx6i6";
-"fancytabs-1.9"="198b3fl0x7n2mghw2f667pxr4dzsyq0h";
-"fancytabs.doc-1.9"="m0fyacjfsm4rc2shbar55bwi6nrf5f12";
-"fancytabs.source-1.9"="4a3il9l6rj6wkxd489q9vxdjihk9c79s";
-"fancytooltips-1.8"="92mbrk8gn6np54fx90qzcgkps3v6k54y";
-"fancytooltips.doc-1.8"="v90g2vxn8yqy9lvibqhldwm23cpvv53j";
-"fancytooltips.source-1.8"="cgj7harpp7wxh1fvh1wfx3pc0c34nhd5";
-"fbox-0.05"="kbmlphchd664izvm0frraylr6rr31rkk";
-"fbox.doc-0.05"="yc0kh1lbmwa6281m6mwb6vbk5bvis6ay";
-"fcolumn-1.3"="33ajwdb7hmvbmb27qbrdb0h8jk9pskdi";
-"fcolumn.doc-1.3"="0di4myl6vdrb7c7lh012zpd26kvs9lxp";
-"fcolumn.source-1.3"="zjkdy0hs3i348liqyf7r8h3wj3zv9a93";
-"fetchcls-1.0"="hjmchh00z9pl5bhdxdb491f4grb4hvri";
-"fetchcls.doc-1.0"="2p0k1bx3y1b9b8lw2j25ybcaz1gwyyfa";
-"fetchcls.source-1.0"="xzc8psnl98xfsj7hy37f1qgln8hx25pn";
-"fewerfloatpages-1.0b"="dj3wj1sgnqgmkma8mdfnar5yggnl0ygs";
-"fewerfloatpages.doc-1.0b"="6q4r04r60d92k9s3g0f7warakjrivg61";
-"fewerfloatpages.source-1.0b"="r5bv4ial8kng8xlasm48sgdc5jfdf5zh";
-"ffslides-38895"="v88vqphgndyc8bznnkpc17pcgc4f429f";
-"ffslides.doc-38895"="1378bj25gqxr8mhdwf99rw2q61kbakqd";
-"fgruler-1.3"="8cb0sximw14vln08pdri479bgqz072na";
-"fgruler.doc-1.3"="qzp1jn7pxsx90zszck96412hv7g2bbhy";
-"fgruler.source-1.3"="salx2na2qh9srcyzy4pxm95hzmby9vcx";
-"fibeamer-1.1.8"="9vdqi8fyrg6ixnia4qh18dyzbg1y0pdd";
-"fibeamer.doc-1.1.8"="blp94av9rfbpawsvgrlwq5p2ycgwz3bm";
-"fibeamer.source-1.1.8"="6s017bq2ca3g3ml50br5dwn14i9q3986";
-"fifo-stack-1.0"="dfyb5qmw70jy72ass9iy0k89criyybwh";
-"fifo-stack.doc-1.0"="a5qh0b6zcxnfplc2xf0dy4384rvb8ggf";
-"fifo-stack.source-1.0"="67n2h94p29l1j6dar7s1q8gz1cxg1zxh";
-"figsize-0.1"="hmj352dqpk23wfjhvs58r5rj47gcixj3";
-"figsize.doc-0.1"="sxblgd4i3mklznz336yy925l7xgdnb82";
-"filecontents-1.5"="d22c8airrb5g6gg1v4bym4ai1v6g3bk3";
-"filecontents.doc-1.5"="sqsf9s1517qnxry8shr2mjhpw5d3a91j";
-"filecontents.source-1.5"="gm2b5r5ziyg72fwp6mmxbiqhvlc1viba";
-"filecontentsdef-1.5"="gjx57g35wh6ay7vynnj8wsf14zvs4cnm";
-"filecontentsdef.doc-1.5"="mnmx299zm8cs3l4i13f1y5mz9i67mpbf";
-"filecontentsdef.source-1.5"="42ndk5l7qydnpiaa184r08d4sc2jg71s";
-"filedate-29529"="krqs9ry6gpmk5xi9a2ijkrd90y7v6q5h";
-"filedate.doc-29529"="dq7487rvj7vai1j80j9sgi7hsldg433m";
-"filedate.source-29529"="qq7zspqhd6zl4w5lyy9gxw927ph31sp4";
-"fileinfo-0.81a"="gbv2pynx74765fc966q0l4wpflxyi0cz";
-"fileinfo.doc-0.81a"="5y2xniw8nwg8iw11g49w04xl9fp4zyv3";
-"fileinfo.source-0.81a"="lgcw481ya8a6ag2gzd0g589sm3ndsqys";
-"filemod-1.2"="kgjfr4lx9rpw39aqp3w72hkj9kyfbx8p";
-"filemod.doc-1.2"="cid89p79bmmyb8hp230g9zfl5wxl3gwq";
-"fink-2.2.1"="l8xgqw4b1pc40z8zvhj4x5vd3arirrss";
-"fink.doc-2.2.1"="d78cggifb9b0y730zx116mv90xlcl47w";
-"fink.source-2.2.1"="mb1qfcb5ils48npb6zn10d3dd9781abh";
-"finstrut-0.5"="adqypjvkvnkydw403q2wab9xzpvavhzz";
-"finstrut.doc-0.5"="lcyklm3jkz5nq6j956dv55n0nfyaprkx";
-"finstrut.source-0.5"="54slgzkfps6q4z7x49a5jqpc1j3p98hw";
-"fithesis-0.3.51"="gcxrl7vq8zfs19kj35j2dlchmfy8gr80";
-"fithesis.doc-0.3.51"="nil8x9yx68ji17b1xw9lc8ig8m8dsvga";
-"fithesis.source-0.3.51"="q6mx4dlif4sp21xzsy9clyl8ci7pryp2";
-"fixcmex-1.1"="p0y657r350dcr3nnwq3i0ypw3vxb4ja8";
-"fixcmex.doc-1.1"="hi9qnwgbssbkxl45ni29zlkjysn0qmnj";
-"fixcmex.source-1.1"="7b3yc3sn3pqgfzkamp4rkgfman5wy28l";
-"fixfoot-0.3a"="ci2h09kyh2k0w0d8mbmcw57i4cqirz2i";
-"fixfoot.doc-0.3a"="5510blbn341f70ic646ad9jay6sfiilq";
-"fixme-4.5"="7qdkrgbk2nnkdyzdl467mi8wwzhlrwn1";
-"fixme.doc-4.5"="knh1kg97mfy8clms5mwa168d6zw79glk";
-"fixme.source-4.5"="id4lxnr799xmdvfp7796v5gm3118ijmx";
-"fixmetodonotes-0.2.2"="8bzda1486sb6l1miw9fwc4gag8l86pld";
-"fixmetodonotes.doc-0.2.2"="kwvshr4l5r8zgjia62ac04bpc7cy5n8w";
-"fixmetodonotes.source-0.2.2"="c3v82mnqbxnz0b2yy1g5l9yfxh1y41vd";
-"fjodor-53207"="c6ya1a7zfddfil9y5f30af7d0jm8ikij";
-"fjodor.doc-53207"="2d9qhg8icr3q3ljp18wpy0wphq2rhdsi";
-"flabels-1.0"="pphsynfbbj4vxl9g3rklfj0igp6pzliy";
-"flabels.doc-1.0"="hpsnqln41r0ybmv2vjycd0zrxi6mwrcx";
-"flabels.source-1.0"="2x4jjggfjxvqby3yv13k0y1cgcrd0jcq";
-"flacards-0.1.1b"="mysbkp5ascapm70fcnb08ldmskay3c7g";
-"flacards.doc-0.1.1b"="ipa0bk1dr9hlhj5sbfkm1fgyddzrchd5";
-"flagderiv-0.10"="xcwh87j3789v5pbs65xw4kld1k6mwk3a";
-"flagderiv.doc-0.10"="g9zz7g3kqa2jfcwnj1c61fvzfxxkf9lz";
-"flagderiv.source-0.10"="2r4c1f141xqnfav3klxfdh3i5xx4mc2p";
-"flashcards-1.0.1"="wlkf4s8qqhbql2b7jv0h2g6mming75b5";
-"flashcards.doc-1.0.1"="c6j54a7zjc24m6wv71rq43xjxklwgj0g";
-"flashcards.source-1.0.1"="0nwdgq4r431r55k8aa7k46fkxz3c4c0n";
-"flashmovie-0.4"="jb3lv2gg2w8krqzqypkipq4rsygddkv3";
-"flashmovie.doc-0.4"="n1iz704bdaxj2k26m4125h6aqna0g25i";
-"flipbook-0.2"="6mlbadxnf64k383jr2b2phh2ybkk1m81";
-"flipbook.doc-0.2"="j9a1rvi85n2hmhr7233zzz9a5qylb6pl";
-"flippdf-2.0b"="pff26pmbw5sgmgdm20schik2fvx2qch6";
-"flippdf.doc-2.0b"="kpkjnx6iwwjdg62s7nn0sz1kn6ph23ma";
-"flippdf.source-2.0b"="50zpnpjcak8bcaq09q49d5wai1pwrsng";
-"floatflt-1.31"="ppv98lki1x3s6xklksd69n5cr8vrd6pd";
-"floatflt.doc-1.31"="7n9r2sl31qx9jnw802mhykidjldhx4hl";
-"floatflt.source-1.31"="byz5ymxby208lx8am35lz229dibcn4ic";
-"floatrow-0.3b"="mk0srwmdcdm8g9i0ncmndkxavsknm2jr";
-"floatrow.doc-0.3b"="xw3x5mm1vlq877jdm537h2cc69q403c8";
-"floatrow.source-0.3b"="qqa4j2hidyh6bb8y5y9hz4mmb4j1i732";
-"flowfram-1.17"="lr7jldig88wv8gsvp8aphxsvc6sv4cax";
-"flowfram.doc-1.17"="3f550irxijq1vdvyxs6fyhpj5w1lw4jq";
-"flowfram.source-1.17"="66z844imyrl7bsi22vrff1f05dqlmr8p";
-"fmp-15878"="3m6zqb7jl5rn5zgy0dbys5r8y1sp20x5";
-"fmp.doc-15878"="3hvfiw6yizjkxnx5h7xlzfig11diglpm";
-"fmp.source-15878"="44cqcijnqc5235rjqsmkj4vhmrs9j7hq";
-"fmtcount-3.07"="zhm87ydajmphfm6hp2acvf0dbknldyvr";
-"fmtcount.doc-3.07"="9md72p30182mf6yp6x8c1jjrar73j9cg";
-"fmtcount.source-3.07"="hwq1ghmccx21k6f3sv5vyv8ikv6bxl4a";
-"fn2end-1.1"="qw34b3ki30fqs4dj4fkj6f46aygw0ylw";
-"fn2end.doc-1.1"="anwhkba91c48wl5p1ch35iplw974sdiq";
-"fnbreak-1.30"="aiwqr078mw2127lbphc0lhmh90m5ddgg";
-"fnbreak.doc-1.30"="5v0ijwzjxmll7ayaihqhgk1dnk2rzp76";
-"fnbreak.source-1.30"="jwyh3gnmafpdr53xg4jy4hz6x8y7vhm2";
-"fncychap-1.34"="pg593a0zc9ycpg6cc3d7bjz92r7grwix";
-"fncychap.doc-1.34"="rncjjlyrjy916hn3ka9yaydjq6pdvn09";
-"fncylab-1.1"="lnd1s9pijjp9fnhp88fhlbz99d3lvp1m";
-"fncylab.doc-1.1"="psv8fimys5h1ps5cvhnjmwfmcwnsim5m";
-"fnpara-25607"="bwgyxjk2k7p76mw5ahsf2b0nm464rvi6";
-"fnpara.doc-25607"="h92c0g634x7n1qcdv6vqp5pnw9ykba0y";
-"fnpct-1.0"="lhjh889ybv4z8azwljdpz76zvbsxvncn";
-"fnpct.doc-1.0"="98d65w8nik3655gva5jjl5gxwansywkj";
-"fnumprint-1.1a"="vhhc4n3xvlkb2a31kjpkxbwrwc30r62y";
-"fnumprint.doc-1.1a"="gyllsixn381a8p0rpr90n31h3qb0ganp";
-"fnumprint.source-1.1a"="kp99n8b3y30ilnih7bk867bf3d93xf3m";
-"foilhtml-1.2"="78dmna552hnh9i11v9zgg6l68hmla7bc";
-"foilhtml.doc-1.2"="a2bsh99xh1lfpssggzxhiz9ipwz6bijd";
-"foilhtml.source-1.2"="lrjc6lj49c8knfh4bh9jx7vzpddxsh71";
-"fontsetup-1.009"="kjapn7b0jqg0965pyqwf1r4k4br3srgv";
-"fontsetup.doc-1.009"="n6fac1daq1mvrbgifja9l0q9pdxbc6w1";
-"fontsize-0.8.1"="10na0w0zc5lmlygflpzzl2c8rzakgrl8";
-"fontsize.doc-0.8.1"="g4p6dp4jj0scs48v3ag8n9kqy09y2ypq";
-"fontsize.source-0.8.1"="2y7d9wypdgkk8xjhx5ivyrsccpha35il";
-"fonttable-1.6c"="bljjiigal2igv0y004hwa9i1yc9i4b3d";
-"fonttable.doc-1.6c"="jssz79rldva4rmrziamjqi1krl4yijan";
-"fonttable.source-1.6c"="h3g6s458yvqsrlf0h7d8046ngi10698y";
-"footmisc-5.5b"="ha2palj23dq2c3j4fb1j5s6cjjzisilv";
-"footmisc.doc-5.5b"="22bx6glng885275x22z99lwwhwd3g5xq";
-"footmisc.source-5.5b"="ii8ra20y2k8fzklf2cld2z6hjv8i1fha";
-"footmisx-20161201"="5pcwf6k39ybd84nnhzpc4py1sn3bsch4";
-"footmisx.doc-20161201"="0qniys4b74hs2d420k0xafys1578l2wj";
-"footmisx.source-20161201"="m3510nfdmbc96v66r54ikzkfcfffrxfg";
-"footnotebackref-1.0"="8c8gdjzn36nfxjmpn521548334gbn86h";
-"footnotebackref.doc-1.0"="fzjm17j06la934js2q0sn92l5d8g5z1i";
-"footnoterange-1.0c"="488i0ahfgp8myja7i0z7cxn61wlqdb52";
-"footnoterange.doc-1.0c"="lvi0razyvdr1cll474cb4mkdyk62nz91";
-"footnoterange.source-1.0c"="6z89fiq5iffpdapn50jqagmcrgl10jby";
-"footnpag-15878"="ym18m0gmmk7800dd1c4vrar53q66hm7g";
-"footnpag.doc-15878"="8kar3xxxjlrsjascd28122y5rckyv5lf";
-"footnpag.source-15878"="51nmvyy96mjbr46ar058jb7jhpsqz17q";
-"forarray-1.01"="682slfwbrz58fhqj0c07lv1xwab861ks";
-"forarray.doc-1.01"="i7v5q2pjc3sjmcv3mcpdi3sffm4qs4kb";
-"forarray.source-1.01"="q23rvw19x2rk8nv6yhgg76jxfs30qfys";
-"foreign-2.7"="lm3i89k3l6yjajvihjc98kcix3fsa3bb";
-"foreign.doc-2.7"="lbi21kkbscf91yswn2v3jam11615jhpb";
-"foreign.source-2.7"="imrc9f5zvkqj5acfqbzpdvxgvdcf9q51";
-"forloop-3.0"="28l30q6cdvwand7yyg04xzb49kl21zm8";
-"forloop.doc-3.0"="k6pmk3ligld7hxal5vsq8ccjw6d1k1ax";
-"forloop.source-3.0"="9rq5r8x9wv473bw97hyh21ihqzxd1w18";
-"formlett-2.3"="ccr4iqh9ii22b0xkdl0j2rhp6q6cisd6";
-"formlett.doc-2.3"="cwpzl5rhracg51x0lvqxxkbz4id1plml";
-"forms16be-1.3"="wd1qw6m8b290ilqqsqfxdliihj3rhv4y";
-"forms16be.doc-1.3"="5bq4kd42czdg29a9rjsickrq1p7g1m4v";
-"forms16be.source-1.3"="a73kdkw9dn8pjgdszxjlqcxjgxz4v5bx";
-"formular-1.0a"="1ccyslvhjbzqyqyk4m3zh761kw2v45xk";
-"formular.doc-1.0a"="lap9j51p3dsh02ym644576gnzm3a845i";
-"formular.source-1.0a"="v80wnhg3xsl24a6bbsj4xfn82cv7ajd8";
-"fragments-15878"="jjblkk9dj72nvr2gday7p509pnlpwy16";
-"fragments.doc-15878"="z8rmyhlpsv68qbnr6h3sy08gcy6shiac";
-"frame-1.0"="9bdydjkb9dsdvryibfq2p1q071zhhpxb";
-"frame.doc-1.0"="fnv3ssnby17l7zmbgkc1rf4b5hysw7a1";
-"framed-0.96"="n9an7cs91wwfnkalc4j9ccd0p0dg485w";
-"framed.doc-0.96"="bwmgdv9r6rffibrm0wabw95vqdkiryfh";
-"frankenstein-15878"="ldv1sc8j6nxhd9cd95jf934pyz6s8lxs";
-"frankenstein.doc-15878"="j03cxxv0hw0c1j4afrfprgc2ia6nc5c9";
-"frankenstein.source-15878"="zc3nzdkbjrfgv241wj4xxlq6042xv9nb";
-"frege-1.3"="vczq96wx0icl69c5xqcqmfsy2wdw1ncn";
-"frege.doc-1.3"="h07nnplqxq2fyh6f0wh03jpism89ji0d";
-"froufrou-1.2"="7v7g5xw3q550wyg4ls80fflyl1lcx6q3";
-"froufrou.doc-1.2"="1vmkmq9nbgn6786zj027zlmy9lxx008h";
-"froufrou.source-1.2"="9n2ns02cqqkharia3bj3lk9pdkv5i74a";
-"ftcap-1.4"="7srhgl4z3zpicxv7aakm970xy2yxnpns";
-"ftcap.doc-1.4"="1y7r73w8r779pdchcgwmlvcd2sq8hyfj";
-"ftnxtra-0.1"="8iicyf847h3xf4jvn1y8nzyjk3dw7jng";
-"ftnxtra.doc-0.1"="sna4k84xb01ikgp5aivxlrf8qzbp0gcc";
-"ftnxtra.source-0.1"="60xpxaqbgyzrfxb97zrhdb9rihy2cc6f";
-"fullblck-1.03"="3dzz4aiajr3i1ns3xhh9vl1s5ins4s1h";
-"fullblck.doc-1.03"="xczvd1gvp5s5rvf4n4bxrj7l7c3pxhg9";
-"fullblck.source-1.03"="y7clrinyakc2zm8933j7b6ng7lsl0f7z";
-"fullminipage-0.1.1"="s3rajpd52w578wrvd1rq4dqgp4b1kh36";
-"fullminipage.doc-0.1.1"="ls3zg7gw0lmncmy096f5vzpqi9l9linb";
-"fullminipage.source-0.1.1"="2j6l66kmb8bg04h60001kskyfbbclcnz";
-"fullwidth-0.1"="0m9q9s3ng1gqji2vjs9z14vzri24sap0";
-"fullwidth.doc-0.1"="qyswh8vcacvp9nmhvviq4xm9ariq2aq8";
-"fundus-calligra-1.2"="5jn0qbj8zgi1c0166c2vdwzs1a5i8qm1";
-"fundus-calligra.doc-1.2"="dd87040kysj4av2sq7grslyjv0gx4rmd";
-"fundus-calligra.source-1.2"="s4s97ga289ncgv0rpd90b8i7qh4n7jfj";
-"fundus-cyr-26019"="fjyzn069q34z3ypaj0qwjq3f5zjm7y8k";
-"fundus-sueterlin-1.2"="4xlq7i6k1pqmq8vc6aq8h50gs1f02l3d";
-"fundus-sueterlin.doc-1.2"="i8q42q2rzmby64v4il8jkpk7azfcrrip";
-"fundus-sueterlin.source-1.2"="rl5n5rh9akf41ls7m2gi5l9hqq6wv8j5";
-"fvextra-1.4"="pah47ygjsmqpfiq42448kyz9fahgxs04";
-"fvextra.doc-1.4"="xwl3fw21ywkf6jwchx1axwn5sxr7xwj5";
-"fvextra.source-1.4"="8jnz82fc1n2mm00f32p6sr9gijmz2v5w";
-"fwlw-29803"="887p12xhlcgydw4pddr0npyvp4xr1azf";
-"fwlw.doc-29803"="2di5y3hhm865frn42j1sh87hflxlpc1n";
-"g-brief-4.0.3"="dnx0f0d7qvfrvjczz6zfrkr7dprmgnr3";
-"g-brief.doc-4.0.3"="9z095prb74z0q8b4a7wppdkmmc0c34k5";
-"g-brief.source-4.0.3"="v6210yn1lfk3wkr6y2b2fq9vl0n8cpsz";
-"gatherenum-1.8"="ki18pb9dgca5cpjg723prb0kh2kin6qm";
-"gatherenum.doc-1.8"="w3s6z3566877vg2jshbvcqb8v757v1di";
-"gatherenum.source-1.8"="s37a7faiilrfxyr4iq77j2r3i27l9w98";
-"gauss-32934"="rm0hzy2h1msxkfp2lxm2k881y4iaw773";
-"gauss.doc-32934"="1d71g6781ar41gk3rjjy48bbkdkxx4id";
-"gcard-15878"="vrmrds4xh35bqjq4qaqj8rrvfd7fdykm";
-"gcard.doc-15878"="lxpbgqbbcldhlpwjkj531yh2bm3l2n3v";
-"gcite-1.0.1"="z7ha969s3ry7g9ibv521f2d6vr9lcxx7";
-"gcite.doc-1.0.1"="3bb2z8jbygadc7qzmjz024dqzphncy4f";
-"gcite.source-1.0.1"="v3fbj2j823jh4gy1vrc4f74qsdbfqnpa";
-"gender-1.0"="v985mqnxvb7ymdlzs1j4y3pvbygrkizz";
-"gender.doc-1.0"="d8ickvclnl5647xpq7jz3qh2i9l9hw97";
-"gender.source-1.0"="iiq2vb35q3lqvd49f5gzsz6fa52s0nlj";
-"genmpage-0.3.1"="r91a3wqjc9w7l3dh98j429ja8ymvbb34";
-"genmpage.doc-0.3.1"="midc310i26fannfywf0cl7kp014y9ax4";
-"genmpage.source-0.3.1"="riqs209lh1jip1dypvdhzq05i7n1kh7h";
-"getfiledate-1.2"="jxr6fwmy8lc03cqchndg1dps8vjjfqz8";
-"getfiledate.doc-1.2"="k0r2fr1q7cq0x7lrbk38ik8bqdngsq71";
-"getitems-1.0"="8qdph1kdihdkqyd8rkn4n2i3wd5kfq0g";
-"getitems.doc-1.0"="yhr7vskgqfhij12vrcyl7a9v60nipd32";
-"getitems.source-1.0"="89vcxsad2qxdl0kw2crb0r1ibn4acwpc";
-"gindex-0.2"="128d07f9rns69pxnp02hy0bdv2ylmap1";
-"gindex.doc-0.2"="n1b75gq6nyspvyg0c6ry2287rsj3r9hb";
-"ginpenc-1.0"="gy74qjz23cw3lbmb0nc205qfp1a0ggib";
-"ginpenc.doc-1.0"="9iln48gnlcshrhkk3mbpgqk06sj4bl39";
-"ginpenc.source-1.0"="dkkxzw412c81hrhwnmjw1jgvhz5rrjhk";
-"gitfile-info-0.5"="z9c9f770h40rsxi4cchzka914gzhfv5w";
-"gitfile-info.doc-0.5"="bhbyazh055g7ga0gapv9kywhsrxjynwh";
-"gitfile-info.source-0.5"="ncmilrcdd5bk3563fnh91n149bp83avm";
-"gitinfo-1.0"="a7mcfsqzwi88fsrdbqkwh8p3rd7w51ri";
-"gitinfo.doc-1.0"="5dh5bifav6w87hq29ph7ls65yxjhk7c3";
-"gitinfo2-2.0.7"="dsxgwrlg9j367wxxisxm2wv595xny8x0";
-"gitinfo2.doc-2.0.7"="l2rsxd08m2y44wg53q2adl7d084r14cf";
-"gitlog-0.0.beta"="q64k3v3pwcvg8abw382rijglrgllfvwx";
-"gitlog.doc-0.0.beta"="29ysf5jz8cvwanmhad4ka66jcwxn9a1i";
-"gitver-1.3"="g29l771yh6kcwqmb719ilba7d4d2pk84";
-"gitver.doc-1.3"="yljhjx0nrp3vvh55i3zaswl5mwzdil5s";
-"globalvals-1.1"="cjs44i0mivi683bifs5icf9nk3jr7v8k";
-"globalvals.doc-1.1"="2pdq5ik88cr3z5x9j5jvqz1k6abkllm4";
-"gloss-1.5.2"="xacfn3b2z30pnj9lwh6mximrbsfvarfs";
-"gloss.doc-1.5.2"="4qial5a0p7ip784xgpqgkl6cmabd9hlq";
-"glossaries-4.46"="98jz6vs432yzrl7p9xxxg82mlvan3kqd";
-"glossaries.doc-4.46"="45hwssk4gbgbk0i21mpx6i9vqphniy2w";
-"glossaries.source-4.46"="xgcfsn8k1daf8db39zgflzg0il0hp132";
-"glossaries-danish-1.0"="hmaay0viwacnrz7bfz6xlpb03cmsphcc";
-"glossaries-danish.doc-1.0"="mxgh9b6vc63llhmfildmhkhjxd1s9kbq";
-"glossaries-danish.source-1.0"="s5ayfh10z40cpi9amn2d1wwpnby0qgaw";
-"glossaries-dutch-1.1"="diqdj2nm0yzvdkkxv243pgrwhk4nxayx";
-"glossaries-dutch.doc-1.1"="irbpwmyxxm13fas8fg1kdn5x6assgf75";
-"glossaries-dutch.source-1.1"="hlj6vbl82r5h0ngvr5b7h33k1q54b29f";
-"glossaries-english-1.0"="ydbz6ls58gnxf3wmay4157516ggzsc1f";
-"glossaries-english.doc-1.0"="53w4fzz52hh9jyik6384limy6633l8aa";
-"glossaries-english.source-1.0"="dpc58cbb3snzsjxkz0c82yksx6c60h6h";
-"glossaries-estonian-1.0"="3flqr7abc4hqy63p0bdl0bz0y04mq07s";
-"glossaries-estonian.doc-1.0"="dd2rrp43ix2hcwnrgcidfr8z0shsgdds";
-"glossaries-estonian.source-1.0"="8y8x5qqydmnvjf8nbbj8qj550kbvddg5";
-"glossaries-extra-1.45"="mn40bwpsg1bl26jdlgl3v5cbp3240s8f";
-"glossaries-extra.doc-1.45"="ic32lsr85iyw5yxpsgwdg019yjv0b8ay";
-"glossaries-extra.source-1.45"="dqa4kk128s7z6vfv71zf1910lp33fhbv";
-"glossaries-finnish-1.0"="rq7ymhc4ispv4j1zpv5iy6mbn66wr3j4";
-"glossaries-finnish.doc-1.0"="f8rj41dbpqrdxbl7h94rxnbiqm77xcj4";
-"glossaries-finnish.source-1.0"="gnj8dlxpzapvi9yvzy04rhmrs5z7hmid";
-"glossaries-french-1.1"="zkndbp5cq242l196fc6s35yib6ay4mnf";
-"glossaries-french.doc-1.1"="0bj95z10psabgwi3gg65jbmjfjr5jn36";
-"glossaries-french.source-1.1"="87wiw0b01wpqikz8r7wfrkmq8lylviq6";
-"glossaries-german-1.0"="dhfan1gzz50rlg7q2y9x5lg1dgl2cacr";
-"glossaries-german.doc-1.0"="8kajajbjllgcz3h1q6nhs0jh25pv9xdm";
-"glossaries-german.source-1.0"="254c5j11d1xigfcfn5s89bv2i6si8cfr";
-"glossaries-irish-1.0"="ahbzvng9phrhcfiwiam6n2rf76p9i7kl";
-"glossaries-irish.doc-1.0"="4ffcaqrn4a7w66wghvl5vghyn2v5gvzd";
-"glossaries-irish.source-1.0"="qfl7ngfb7cjiif21q38d1r9lwj9nddjw";
-"glossaries-italian-1.0"="sss93i9s603bsmx18w06lpvgk9ldclcz";
-"glossaries-italian.doc-1.0"="8k3ys38zjig011j7xgnhxk7yr2vabrs0";
-"glossaries-italian.source-1.0"="bhz5xknfcddwc6wan5d01hq33v4ilh8r";
-"glossaries-magyar-1.0"="fqbsz09snqw5j0zlail5bh3a13nmnhy1";
-"glossaries-magyar.doc-1.0"="zd4idxawfa6rm2j353dhyak90bq2jd5y";
-"glossaries-magyar.source-1.0"="s8xxg7bh6zgxq6rvzp5lv6sp6h8ywvr3";
-"glossaries-nynorsk-1.0"="vln36xzdfqnj5dpz4x9kqqfmgspajk7k";
-"glossaries-nynorsk.doc-1.0"="7qnj0sk8vbgi8sj3kkal7m39ibfs5fsf";
-"glossaries-nynorsk.source-1.0"="p5ybin8hdvpvd4mx7xpnd622m7c7y8aa";
-"glossaries-polish-1.0"="7alkf3zirdbg0mgv66grfaa6szhjy806";
-"glossaries-polish.doc-1.0"="hhzkv01s7m4f1cyib722liyaqchxs31r";
-"glossaries-polish.source-1.0"="6pkd4wg9srcd5m92mlaa1vniyh67ahvr";
-"glossaries-portuges-1.1"="z5qc3w9n0fv2x5afsv5k7nl2652byx0v";
-"glossaries-portuges.doc-1.1"="ywr0afkdqfmk6r867pghf07wpwc8sq92";
-"glossaries-portuges.source-1.1"="zzd6nlfq11zc152af3p62bshnh0j8rwh";
-"glossaries-serbian-1.0"="b4p3iy3d6ziqh38r27b0lcqm9clcf8gb";
-"glossaries-serbian.doc-1.0"="h36h8811dfndykwh6q24haghsgy4jl2s";
-"glossaries-serbian.source-1.0"="wf3wbvbaim0w86695crqc0l1dv006ydc";
-"glossaries-slovene-1.0"="4xxwy7xrk64b3s8maw57m7p7zkn9knqc";
-"glossaries-slovene.doc-1.0"="9sjkj3ksgfpkjd7bg4dkp3bq6bmsghap";
-"glossaries-slovene.source-1.0"="03gi4x6kh5rypqq4ssi24qizzr5q37mc";
-"glossaries-spanish-1.0"="aygzxhw0cr8prirvcbsrc1xr11ac6fpz";
-"glossaries-spanish.doc-1.0"="da0ysgd3c6k336sc52pg4w76bj8lamgm";
-"glossaries-spanish.source-1.0"="cij28c7mhivbkwa5lwg7pvmr8h4ymrcd";
-"gmdoc-0.993"="7acw3iajf16bq7vmddr2j7z5apizxj3x";
-"gmdoc.doc-0.993"="zn90pbf45d4fz5d4k8q545fp3jshn0cf";
-"gmdoc-enhance-0.2"="0gc7975jin3dszblbn2zgzm22blk5y3z";
-"gmdoc-enhance.doc-0.2"="gyv8r700rhfigpl57xsj5dmzwb1in6rm";
-"gmdoc-enhance.source-0.2"="vkbi6ys95j5v7nyv3il8mrxins0z743x";
-"gmiflink-0.97"="rxnvc039bqhcq7qna523c2s1hyp7khya";
-"gmiflink.doc-0.97"="59n276lia63cb5n3aicqvwv0njcml1fi";
-"gmutils-0.996"="56895j8b4i9nghfc5w2b2ysgk838dp9j";
-"gmutils.doc-0.996"="2w4257wz5vjp1lwzf3gzhbyyaki5d4x7";
-"gmverb-0.98"="z9il1jbnblh5vqzjz13xkfjsva6xqa1v";
-"gmverb.doc-0.98"="bh1ckqnp1vkqj9qb3fwfk1xszfphvma6";
-"grabbox-1.4"="hxv37a6c6abr0l7p5jca1xq85l8z5a4z";
-"grabbox.doc-1.4"="dx7fw5a3k0fjhfalpzp8nlv1s6m981aq";
-"grabbox.source-1.4"="agll92a3wn1mhbzaym750wpji2wxsb8j";
-"graphbox-1.1"="x0ckk1yx2f9ks1g70g32f4a683rpf4nx";
-"graphbox.doc-1.1"="b4m3rss283l9gfk0vc0apg05biifhpfj";
-"graphbox.source-1.1"="p7vnvaxz5a2grh651f3gld07pj7lcxp9";
-"graphicx-psmin-1.2"="j5n5gycsp7vqnqgqsx5p47hg27yj16s6";
-"graphicx-psmin.doc-1.2"="my9qg42ilqhfzwcirmsmf8mjj1ck0j8h";
-"graphicx-psmin.source-1.2"="hxdpbsrnh9zd9aqg3l6vxbqy4iz8nw3y";
-"graphicxbox-1.0"="6grrmcmr2wlpx8dbj1k1nggs2b6z7qh4";
-"graphicxbox.doc-1.0"="2blrwzsralqjrvlx6xjvyaqvsi764nmx";
-"graphicxbox.source-1.0"="1vl41sp02d8byjrapj58v5pg6i2g989l";
-"graphpaper-1.0"="rgmcqd72bykipk8py9rpwffxjag3ci9b";
-"graphpaper.doc-1.0"="ca0qq1zsjfnx1c9ma42lw4iik0j19yqg";
-"graphpaper.source-1.0"="7w9rbx215ssxjv6291qazx61p9csz735";
-"grayhints-49052"="g0g3914m4qsplnykwnbfy3ik6svxbifq";
-"grayhints.doc-49052"="gayl01rd21rc9i5x6xnd376wm907qlz5";
-"grayhints.source-49052"="jimxcmdqgjndw6dqmwzb0ry84lwr59cy";
-"grfpaste-0.2"="wi95wbrs7k37di2dkqnix5h21p84cb1c";
-"grfpaste.doc-0.2"="7hn9vs80ksnpaa0aqdmbv7qzhrdxwr88";
-"grid-1.0"="hf1jfkwc5j27mhxi2skf3wjwq2y1ca0w";
-"grid.doc-1.0"="39h5w3sw4yi3jb35018rd2r847zzf4yr";
-"grid.source-1.0"="pr4xl73p825jibzhj2h8i4f6f0lbrv2y";
-"grid-system-0.3.0"="a2b7690j7d03zk4d4yzdr2nwjm6bm7sw";
-"grid-system.doc-0.3.0"="qddlxnpnyjjjv1z1irzch3ypv2amlb9y";
-"gridpapers-1.0.2"="is89sm33vbklzjah2xq2mkadg4qsc8c3";
-"gridpapers.doc-1.0.2"="kfwzdl5y0gw3kanrkf3zram97xhlscgv";
-"gridpapers.source-1.0.2"="vi0r4mq2j9ria8s3gfppajqfys74cssy";
-"gridset-0.3"="9rs8ssnws7hv6ppyizsqgxip36yj3yp9";
-"gridset.doc-0.3"="l8z8l00qhabaxbrq979yrrkkvy5dxnwv";
-"gridset.source-0.3"="8rwfg7mylrv2cq277769k5h4al2mqz8l";
-"gridslides-0.1.1"="r9lxxzf51dpfaprn6kvv3n1j9hf54xa8";
-"gridslides.doc-0.1.1"="jkri2k8k8nzvchpk11pgig98kw327c3m";
-"guitlogo-1.0.0-alpha.4"="ymqlz298jrwsfq7l1j4ayisg0gcjd3ki";
-"guitlogo.doc-1.0.0-alpha.4"="mpzyviawaizp5aspkwr6kpnnjpl4qxxc";
-"guitlogo.source-1.0.0-alpha.4"="jb56079xdr5qnzpcasv9knhgpd5javab";
-"hackthefootline-46494"="kih3c9nczylrh74x0vc4m7g4bzahps5v";
-"hackthefootline.doc-46494"="vp6qn8s2g5d34v44anyr2jd5c0l5b4nb";
-"halloweenmath-0.11"="mz0f21y810b3vfcpm6z8fwcjbqwdapha";
-"halloweenmath.doc-0.11"="124kqyc9ls79pm11w1cjp1705p84l4pn";
-"halloweenmath.source-0.11"="j0ld7v0za7pvrl5qwarilnjwa8lw9r2b";
-"handin-0.1.1"="gdn6by4gg87043wdz597h9mxr9rzj4jn";
-"handin.doc-0.1.1"="xybg0ai1im3595s07039sklcjbqjdfnz";
-"handout-1.6.0"="jz5qp5n1dij11nyrgmb3x4rl41mnggyl";
-"handout.doc-1.6.0"="xsc8qd00v663bgbpfp4kwjd1ndc47q8y";
-"hang-2.1"="ncymr7c9lsbbxm6z2q3210k185bkkxq0";
-"hang.doc-2.1"="rqlq0rkbqj3vcfpm93m46w40b7llalvg";
-"hanging-1.2b"="48vqvdis9l05842lr3wp64x14qacr9ag";
-"hanging.doc-1.2b"="sicdi70h8j7nnw4p7bj4j3wj2bxzrwhx";
-"hanging.source-1.2b"="hhzby1cywgn7vdcn0b50lhpq0lkxpf53";
-"hardwrap-0.2"="sgzpnlk5kmxxmz5ilipmnns9bi4cd8m3";
-"hardwrap.doc-0.2"="zxy2s0j0lwl7mrl7xpcfw78j77zfz179";
-"hardwrap.source-0.2"="522jg055dil0qq23wd6z8rsf4dxcjzyp";
-"harnon-cv-1.0"="53gnsi8hs4wf9xzdmn3p3n1rfl0xy7z2";
-"harnon-cv.doc-1.0"="a7012x0ckxnym7cpbj8m12ak993bz7nc";
-"harpoon-1.0"="88cndn21h4fshiq6yvd8p68gwl2d2nd9";
-"harpoon.doc-1.0"="z21q49fw0a7wwwr6chwdd73ypkwqz1x3";
-"hc-15878"="vibhz5h2dnzdkwrxgadrwy8crfaa505s";
-"hc.doc-15878"="mhva92gfr4jn40d4sdnh0331iy19a4vi";
-"hc.source-15878"="dfmq6gax4mfq8z074sm76b6k7385d2nc";
-"he-she-1.3"="6rnp8qmascvlz9p0hgacblpx8svapf65";
-"he-she.doc-1.3"="xl7nf17g73pn4jc3z6nc6fknr11lsf3l";
-"hhtensor-0.61"="vnl54f4l78n4x9pllg95fr5dm79qs0jg";
-"hhtensor.doc-0.61"="nlrhij6qgl3y0zq2ija0m1gj4xxhyr06";
-"hhtensor.source-0.61"="kpmhfisxrh5n1j7l5qns4m51fr8vs6as";
-"highlightlatex-58392"="3kj48yh32h6pgpspj7087ir9rasqp8p3";
-"highlightlatex.doc-58392"="hjr1021fck2cjr1y9p32c9i0rcvvbgaz";
-"histogr-1.01"="lykdh22sggl9qgnr3shki4dpp6716iss";
-"histogr.doc-1.01"="dnc1n1fpnhyyah7gkkbzphbxkv7rbwcv";
-"histogr.source-1.01"="k1n6vsnwpayx81ygapkccaw8g3n2yb7c";
-"hitec-0.0beta"="c6fqbzcgn7hlaxpwfcz08c11j6a8i32r";
-"hitec.doc-0.0beta"="c635j2194izgji0aqily4ha7slkzghkl";
-"hitreport-1.0.0"="c9d7pgwx7nwd537hwhlqkz3q6rkgadc7";
-"hitreport.doc-1.0.0"="myrg5zm7szyg85kk79wq6czmxvz7ndgw";
-"hitreport.source-1.0.0"="2hlcm4g98zv46ycxc5a4b2iws28zs9az";
-"hletter-4.2"="mq30k7g1v6cwmcfyizfzy3hmbxa74p5g";
-"hletter.doc-4.2"="rz2hrha5xf10050hfnm05r6f4b3mx53z";
-"hobsub-52810"="cx2wdj7vb13012mibaxf3f9q8vxws8n5";
-"hobsub.doc-52810"="2fc3l968q2awmd9974h07c98f9r5hkdk";
-"hpsdiss-1.0"="9hca9lq9r7zs3frqj6lk6hybkpgcdfmb";
-"hpsdiss.doc-1.0"="2mxarcx6cm2v2bsab8gr7ks1mj5danvl";
-"hpsdiss.source-1.0"="k3k828ddx8vv2sr8lw644ny3z5kcl59h";
-"hrefhide-1.0f"="1pr0sfiwb8hdby12fsj59gqi6s05j0sm";
-"hrefhide.doc-1.0f"="ldsnb62r12628qsnwssndmf39b39zf5d";
-"hrefhide.source-1.0f"="42s1cx0nwj58cfhb2d22nsdqzidknwpv";
-"hvindex-0.04"="90sdf5j0a5qr2xp8qzryrvhnsvaz4fs7";
-"hvindex.doc-0.04"="9r6a8mfj7y9kyc2dbc79vf86aw73n6l0";
-"hvqrurl-0.01a"="sjv5nl58p4f2dmcgrfdlka2z64ddljwd";
-"hvqrurl.doc-0.01a"="1hyqmdrglg2m72285vpszfx2v5mg4zby";
-"hypdestopt-2.7"="mpz4vxvr7ba0p2jlq5ginc5srzcv04mv";
-"hypdestopt.doc-2.7"="5r7xhnkas3fmc22843bpbk640l1rd95h";
-"hypdvips-3.03"="vpmmrcrilqybs4ifvd927jlkn5ip28c2";
-"hypdvips.doc-3.03"="flvlp7a268z3pzwh0jpl185k3yifzap0";
-"hyper-4.2d"="xpwylfxrx74x9aw96ridad40im7xanw1";
-"hyper.doc-4.2d"="fcllxx04lprzhbna8rk4ycwbw0w6xnq1";
-"hyper.source-4.2d"="v03bmxbg7hqjpl8vfp0l8z81mi2db2hz";
-"hyperbar-0.1"="7mydsb4p7mdy3dd16fdgh7ln5dlia00h";
-"hyperbar.doc-0.1"="5cd4zznxxi8arkdzzkh17yfm1ghmpybf";
-"hyperbar.source-0.1"="iydbmx9cvsd986n970lvc3k6m28ix2rk";
-"hypernat-1.0b"="25v0a423yhy68vf125ys0n6p0qhvr088";
-"hypernat.doc-1.0b"="0n4qzpmvhks66d0g9gnyizpl44jbh4pf";
-"hyperxmp-5.9"="9h79wa3bsc5p7ch7a42idsjdmskyzqgy";
-"hyperxmp.doc-5.9"="7hmrn0hhsi4s5p216hvrgdm3v7imc9j8";
-"hyperxmp.source-5.9"="20fwjc1fhgrfq70ihcqg2sms40jq5046";
-"hyphenat-2.3c"="wr2lhsafb13b0zira7190bx5s68fak45";
-"hyphenat.doc-2.3c"="z1sj3r1ny1lgixr2fcmsglz55b23f5lm";
-"hyphenat.source-2.3c"="x70g8xiz9ss4pw775lz82yncq0x7lxf1";
-"identkey-0.1.0"="bk05b433id0rfqw1yzcqrc156snzd6lg";
-"identkey.doc-0.1.0"="dfw1x4sgvqa7rc3h3jxyz2c08vn2mxqd";
-"idxcmds-0.2c"="gh879f4j62vmymyiag89if5k6slra032";
-"idxcmds.doc-0.2c"="040nd6hmrhvhw3nkwikr2s1b2wzw9a8x";
-"idxlayout-0.4d"="klk75b8291j9b1j1irbn1xai2m9712vv";
-"idxlayout.doc-0.4d"="a8i9vf4rlscys8ig0gls0kllahrf7f9m";
-"idxlayout.source-0.4d"="nn6h2msgyj85inpa4gz3qx4da741hi7y";
-"iffont-1.0.0"="xr9jmyz2563jc2nwrr9ykh040dxjad2l";
-"iffont.doc-1.0.0"="4jm8bvp06wm88695jhggd5rhjfv7qk0q";
-"iffont.source-1.0.0"="rrjx3hqrjff5bc8hk99ddxxpbhqqfy3b";
-"ifmslide-0.47"="i0psadvk32l38kx0i47avl03cg76bx8z";
-"ifmslide.doc-0.47"="d44i3i8nx1if9h04xjv0mb781ybyryc8";
-"ifnextok-0.3"="1nss6fp77hcggpr87drfbmggs6fg0riq";
-"ifnextok.doc-0.3"="mwvvllpwbmdhqiwp684hkdk5aw24pgyd";
-"ifnextok.source-0.3"="kcv0c25ga9bls8bpf3qccb8fsarwics3";
-"ifoddpage-1.1"="6f52apknfsjpswzikk3nfi9by5iip7gy";
-"ifoddpage.doc-1.1"="7l75021f0gk7nrpiq2axr88pbnzjq50g";
-"ifoddpage.source-1.1"="njqd27ax6313q2w063xbmw3mnfiajx98";
-"ifthenx-0.1a"="2ah86wn9m3zc1f7hf1yzwyv26xbay35s";
-"ifthenx.doc-0.1a"="2zrlnl6s8fbs3ndyfi21bdqsfx7n6fc6";
-"iitem-1.0"="k0gdz2py6spiqrj4djhwbys9vkar3p88";
-"iitem.doc-1.0"="19wnj2spnjlvhb09y4i52wzix4wwyz6m";
-"iitem.source-1.0"="8xp0919wakx5r9xd21mbm4qwvd0l66fv";
-"image-gallery-1.0j"="3skl1kln38c9g31pa8sbx370kw4jp23r";
-"image-gallery.doc-1.0j"="gq0ngnivnwh35m29qimn54l0gigv79fx";
-"imakeidx-1.3e"="vgspaw7w4kjbm38vzdga08j12aaqf3ad";
-"imakeidx.doc-1.3e"="p39pl4z0xkr2029czqq9nkaxz3dwdypx";
-"imakeidx.source-1.3e"="cn51y6d129cc0kzw3yx3ybziwmxy9mbs";
-"import-6.2"="y8dqd8lzb9my7qqrcilkd4aqc378y3wj";
-"import.doc-6.2"="8ckdw8i3p8g8svz47czhxzxhcdygxpcf";
-"incgraph-1.12"="n14gyn5g1am9dyfqvxyxrqsfxdkg39xv";
-"incgraph.doc-1.12"="sp235w68gh5k1d4xg2cxv7dadyjwqyiv";
-"indextools-1.5.1"="sb2fdlrh7xlfhd61g9n3h3s9if9n6wm0";
-"indextools.doc-1.5.1"="1cfxahy568ikv2iwp5kk1dh9ffsi32r2";
-"indextools.source-1.5.1"="dj4fjqppc6d1qnz11p20dgbs258gj25c";
-"inline-images-1.0"="7g2ci2kiwk28qcj7qmphxs93fpmk9jyp";
-"inline-images.doc-1.0"="043q0hshgzprif0a5pvlmxnmidk8zp9g";
-"inputenx-1.12"="8whv0r3zbj4ay09z2xr2dvcam8lm64x1";
-"inputenx.doc-1.12"="3pmxvaqzq3hgl7fr8m5g04lsjnrzkl47";
-"inputenx.source-1.12"="r7k27qlwzr1mnbirkgih5x4rcbyyi4fd";
-"inputtrc-0.3"="vmk80jzg9sllpw28csmhsyjd13amp567";
-"inputtrc.doc-0.3"="dl0qs37bjj4aam7ijfdg64fpl135k7b4";
-"inputtrc.source-0.3"="1nx2jv4m63gc83iy3qp46gxr3v6wyw6h";
-"interactiveworkbook-15878"="4a6mi66i2z1sjzxjddvwajpvxl6i2c6m";
-"interactiveworkbook.doc-15878"="ldph57php6irhdbj9w497xk31n5ggxbz";
-"interfaces-3.1"="pja00rv19b492fv0d1afkj1cmmi09wm4";
-"interfaces.doc-3.1"="bj6l95whavxkrsa5rb8791d2ib4n5gal";
-"interfaces.source-3.1"="f7gxq1s477zab7wh212nyad94kcdacqn";
-"intopdf-0.4.0"="dg4nkx5hkv127pm20mb71kaqbn75vpwl";
-"intopdf.doc-0.4.0"="1pwkd0jpncayabw6y2zfcvq9mgb5l0r8";
-"intopdf.source-0.4.0"="3jnk8z67gqy7phipanga31y5fim380qf";
-"inversepath-0.2"="8csfwygw95dd5wrawwj7hs4gmpxhdwd8";
-"inversepath.doc-0.2"="b3z6dkfmk19n96dklslzszn7vfrnlcn4";
-"inversepath.source-0.2"="zpg2i1sqr76xvi6jn5vrgxvs44dlfx9z";
-"invoice-48359"="bjzw59mdvxqc2fyc5mpqg964a041zi2m";
-"invoice.doc-48359"="4g5fd3ry648n0i7nbkrl4c8ln7rdbpp0";
-"invoice-class-1.0"="0hyhlrisqlng2zcs0l62d84r9i4g1hv1";
-"invoice-class.doc-1.0"="psxy04bnhh1y2v63pz89j5p4bl6b1q0c";
-"invoice2-46364"="x6kdjp7i7rgy4qqs8q0f7hv8bdnbs3h7";
-"invoice2.doc-46364"="cjarambfqlfz664z498dpi142ik5l12l";
-"invoice2.source-46364"="km7fcfxzdd9y5lvwyg4m729asqm04pcp";
-"iso-2.4"="p6yl8v4jyvzq5fh3qw31kgalhrv1qv22";
-"iso.doc-2.4"="xs5sw6aw59hr3xlk187dhwkg223vycsl";
-"iso.source-2.4"="vrgvl97kvsb6n82w4acm2wfjsqq00cxr";
-"iso10303-1.5"="0y5mrx8f05gl2brzky6gdgf0rzamfsxg";
-"iso10303.doc-1.5"="l6x3gviwqf8jkp2lwdy10ycp3577fk5f";
-"iso10303.source-1.5"="1ljgzik0791d8qdix5nd2151ahm67w1n";
-"isodate-2.28"="chng6rcfh1gy25mwsg30ynxkb87lxv0i";
-"isodate.doc-2.28"="mh1wrizl78fgn2xzqd5brm9hwb8zldhl";
-"isodate.source-2.28"="81a6l211jzdxbf84x0haybl0w0pifjag";
-"isodoc-1.12"="rah5kajws18hhdf5ym1d862f3vsrglv1";
-"isodoc.doc-1.12"="cvfdjwayraqs9v5hhprrqylc4qspyq9b";
-"isodoc.source-1.12"="pycpzpz115nw5a2majf566prrfjxpfkj";
-"isonums-1.0"="50diljpihfk6390ak54ml6gxg6h3qarr";
-"isonums.doc-1.0"="qbnvabarywnwbfaxqjr1afkic152hhsf";
-"isopt-0.01"="0gyj9ri30pid0xymfv457g9r0nycy6qm";
-"isopt.doc-0.01"="q8srwcqk4w0mblrqzpy70wbqqrds2k9c";
-"isorot-15878"="pzs5xd3c9n1m3r4m5g82702s0slq0kl8";
-"isorot.doc-15878"="760dh5j78kcgn2zxp6jhghmzxhyplavx";
-"isorot.source-15878"="35mi9l5bcbqmrixngyvb7g780ns0vjg5";
-"isotope-0.3"="paqbsfz0w4sl82imkw2zqsdwg3nlzd9c";
-"isotope.doc-0.3"="f5mylfd5fga3jy0fsdvw1z5kya7kcg6b";
-"isotope.source-0.3"="sc8npgj5397qvqwvfrz2bq51xj5840l4";
-"issuulinks-1.1"="lw4b111230hkhdif9xfvdrryks1cp8k0";
-"issuulinks.doc-1.1"="lcm1rfc9mcx3k7cn1ia3ldfwbv5r36kl";
-"issuulinks.source-1.1"="hmn5nsszd3vf27863sbk647fgfh5gxmd";
-"iwhdp-0.50"="j4m15vz6ky21yk2m95kjz1is1z91vxxy";
-"iwhdp.doc-0.50"="wphgycl74db9mxr5gjc2m80rbzkcqk3l";
-"jlabels-24858"="fw5il0bzwm10lj1ly8fjic2hjiqxnr7d";
-"jlabels.doc-24858"="fndgg419y1rp47d5qifv0k304b5iymab";
-"jslectureplanner-1.12"="1g82c7aw484p3iqy1c9yw8d39g26q04r";
-"jslectureplanner.doc-1.12"="lx9m14da0gm8nlp6p6cx84ib5fxqi040";
-"jumplines-0.2"="acxl8nhlznvcwq20n01b41kamc5xmqdr";
-"jumplines.doc-0.2"="hjfl57a9hwdyf6lxl6ah0k7937r03jil";
-"jvlisting-0.7"="fi23ykvl6kw34qri5nz2k4mvgjqgbbyl";
-"jvlisting.doc-0.7"="gfsf50mnhfqjcqb8bmkfig0n86cmhngz";
-"jvlisting.source-0.7"="dj1g56jiw22kabhhvcdrrjipjnf17k4v";
-"kalendarium-1.0"="bspimin9i6nh58ywvqnyv6r72clzfkk1";
-"kalendarium.doc-1.0"="01figqd8r369s9mg4xbvc3kxl5xj3573";
-"kalendarium.source-1.0"="2fmwxzki8sxbf9a11zvb7sc31hmd2bjh";
-"kantlipsum-0.8a"="ss2zmvwx5537qf5vaagp2qgfmykzhwvr";
-"kantlipsum.doc-0.8a"="1xqs1p3ziyxd0snsgkda6kh23lynf28b";
-"kantlipsum.source-0.8a"="92ydj9wclk56jb03704gxqli8yl5i1rn";
-"kerntest-1.32"="r64kkdp6nnkv7qk07lm2p1943q0a92ci";
-"kerntest.doc-1.32"="2py5b3pyrnddfs5cmfp4fgbqd8wc9iag";
-"kerntest.source-1.32"="nfs63gz8wfhdslfiswngxdrdk2rpzijq";
-"keycommand-3.1415"="sq6188m8lc3wl201phjx2qh3vwxf2mrs";
-"keycommand.doc-3.1415"="q9lkdcggi17v7gl8hibk2qn5dm6h07f8";
-"keycommand.source-3.1415"="k1fa9w6r1n1qhz428ipwflj6d6m5ap7k";
-"keyfloat-2.01"="i54c7nljj82qg23f658l0il9xhhihs7r";
-"keyfloat.doc-2.01"="mgn9lp76baj3wl3dzfnpxibgr5ijb8z7";
-"keyfloat.source-2.01"="a5ch4v9hk9brflps5s5c0wxnqwka5rsv";
-"keyindex-1.0"="sirfzfwd3hv4flbwjkwp5ryf04mq916f";
-"keyindex.doc-1.0"="gcpzy4a5ga8k0jzymgrsl3j74q7cv1g5";
-"keyindex.source-1.0"="2ff7jyh03kkm38vsismhfcrawk29iwgk";
-"keyreader-0.5b"="wk5kgrrx4c8682j6a01n57ab33ww2j23";
-"keyreader.doc-0.5b"="fy37315azfr09wzl71wdby8ry1dd40yn";
-"keystroke-1.6"="vi7r9aac2w8jggbxpk5593nsapasmm18";
-"keystroke.doc-1.6"="rlm1i14lgk00yj7hn6mp2njdmjanh1q0";
-"keyval2e-0.0.2"="cbm4pby81d33ldf01h348daihf05hwd6";
-"keyval2e.doc-0.0.2"="7d1mpnzh474k9pc293lh8v94fmy5x6gv";
-"keyvaltable-2.2"="j29dmcw44wl8anbpw9inhwa32vnq7kn8";
-"keyvaltable.doc-2.2"="jxcs978k59f5j5v50115xyrl6q17xj0c";
-"keyvaltable.source-2.2"="whlw4ask4ny1navpryjslgiv3cis7nxb";
-"kix-21606"="lzdrca007a0r5rsm8f14ljx6v8yyg8xz";
-"kix.doc-21606"="jallvk311vqcjc3wrkxqv03ckbc9k1gi";
-"knowledge-1.25"="760vv8bwxp39ls3qzj2mq7gjqaahr9ir";
-"knowledge.doc-1.25"="8zzm7scr4hxr5ygp1s34db8qn4s1lrr8";
-"knowledge.source-1.25"="nq93xzwr4d6cg8wkr9h6mavsq6x5zvm3";
-"koma-moderncvclassic-0.5"="s33qvgji09s9glq93mdxzs3smnzlamv5";
-"koma-moderncvclassic.doc-0.5"="dvzcb032fmh5xs804d9mbx6q0afm25r0";
-"koma-script-sfs-1.0"="s9dryf4f0zgcij3v5v93zppqs876p2nq";
-"koma-script-sfs.doc-1.0"="dxm4lfz50b0635g2dg24lzp3fgnlvkgn";
-"komacv-1.1.2"="aqpgslf7gl1hjqh0x88mj8a3zjqdf4k7";
-"komacv.doc-1.1.2"="2y5ldpx86rkvfg36w0hxy0dglymmgfyj";
-"komacv.source-1.1.2"="jrbnvv271a94lfnpj303598piaqqiih9";
-"komacv-rg-0.9.2"="s43v41by7cw43381iawl42i7513xq7pw";
-"komacv-rg.doc-0.9.2"="qpqxvjp39fdy972w045kk3kv1b3glxpq";
-"komacv-rg.source-0.9.2"="zbnh158n30miz9kj39sp44jn4hmdrabf";
-"ktv-texdata-05.34"="fdwnms9v43cjsjypsnlq6rw1j3c6zz93";
-"ktv-texdata.doc-05.34"="896wnbqpxncc640x8rsi6gia2wh5njxg";
-"ktv-texdata.source-05.34"="7wq3pi1mm3r1g209vq31im4n4ib21zv2";
-"l3build-55426"="nayrp3fmcq8bz7by996g26g4jjlmc2ny";
-"l3build.doc-55426"="32j497j0gh0ds1hd3f4ld08iq3sa3cyp";
-"l3build.source-55426"="pdpplhwpd7g0c4wn26hz0qys4qqjds6v";
-"labbook-15878"="x7i28cyfski7ssm9hv28zrlac3inky0c";
-"labbook.doc-15878"="5qs95wc8ms4162nwd7q4lvh7rc62s2h4";
-"labbook.source-15878"="rrybnds4laxyariqq5c2sh1zm9jzvk7f";
-"labels-.13"="rxcv9zw5jal0kr4kw0vlswjc87clgh8p";
-"labels.doc-.13"="70hfinn9fsd8r14bk23fmdc0px7n4x5w";
-"labels.source-.13"="7hps59wlxkqqjm9432dg15ml63n44x3g";
-"labels4easylist-1.0"="xwh50hw724p6mkm7fb061dacids7g0sw";
-"labels4easylist.doc-1.0"="pkwghiybi57r0kdiyzcml7fas0izi1lm";
-"labelschanged-1.0"="k8z64p2cxhizszln06g5736zvf3m4d6z";
-"labelschanged.doc-1.0"="f1g5fxmi61q5an38k6g63gwc93znisyb";
-"labelschanged.source-1.0"="208xinzlpnpsqb3yvh98p02kmn34ai6x";
-"lastpackage-0.1"="mxy23m1fcp4gsypc3mj9327zcvpa36r6";
-"lastpackage.doc-0.1"="940qvlc9v5kaj9s7w6xyjh87l9rqc22q";
-"lastpackage.source-0.1"="g1zqchhc12fw8ja7a8raqrwcyjc1y10z";
-"lastpage-1.2m"="i37ji3jp95j287rx34q4yajih7w1riy4";
-"lastpage.doc-1.2m"="jc40pwdbysv03k1wx113f2q0j8xf54dr";
-"lastpage.source-1.2m"="gika2qk64lahh4l6c6pn76r5l57rspf8";
-"latex-amsmath-dev-2021-05-01_pre-release_0"="p6q4apm28gg02j85lhh3dp8ppwdc3sv3";
-"latex-amsmath-dev.doc-2021-05-01_pre-release_0"="81mlxa3lyggmff4zi0wb7lbhjlswhj07";
-"latex-amsmath-dev.source-2021-05-01_pre-release_0"="03r21wxncnrhm3jswd48x3mqva1caswg";
-"latex-bin-dev.doc-57981"="xwjjh57sqp9f2d6n8yy5gim24w6444b7";
-"latex-firstaid-dev-1.0k"="1p4rx2vzm04axd3hwp953prh23bp4rx6";
-"latex-firstaid-dev.doc-1.0k"="pg2iq8m7jw9yhz5874s5y09sa4i95z42";
-"latex-firstaid-dev.source-1.0k"="76dilvx77wrjndacgdl18y3yvx97rlv5";
-"latex-graphics-dev-2021-05-01_pre-release_0"="qvr5rcvddfgbsx4f2sxw8p0hc4ik7gv2";
-"latex-graphics-dev.doc-2021-05-01_pre-release_0"="m70dchwqxmhnd46jb2czvlgb1z9xqvx9";
-"latex-graphics-dev.source-2021-05-01_pre-release_0"="kym0hbfd9zjnk8xrd2xyy71waysyfs1y";
-"latex-tools-dev-2021-05-01_pre-release_1"="pbbzh0dx4a2v2r26ydcsf1dl752ymczy";
-"latex-tools-dev.doc-2021-05-01_pre-release_1"="g425mh6zp959m0mwl6wzfxbfi49nkzk4";
-"latex-tools-dev.source-2021-05-01_pre-release_1"="7imscv0gcblyq1gillf9pf7shzcb0zqi";
-"latex-uni8-0.03"="kh4gfpkynq6f2aqg9r3wfp4b75wd3zaz";
-"latex-uni8.doc-0.03"="qany361f2byfy4p1jsbwr4za45x5j74a";
-"latexcolors-0.1a"="0izwkzw8h2rqlgnl9dsn2zwm0z2wczch";
-"latexcolors.doc-0.1a"="3z4r2mn88jvwrj6rvicgzclizjk3g12n";
-"latexcolors.source-0.1a"="2wmjahbpsyfq2fgnx6aixpg9a4dvd41c";
-"latexdemo-0.1"="qjb630j87mqsczjbhvjgr4a187rg6wzy";
-"latexdemo.doc-0.1"="p14qs32q48w1f8fq0xmwz1maiijhw44z";
-"latexdemo.source-0.1"="vldkpqrsdaa84s356w6nd5a0q0gv40ki";
-"latexgit-54811"="3yisqszxc6ss52ddbkjkq9d118f9l4z4";
-"latexgit.doc-54811"="smzhzypnyjwjrkxlhdghwmdvh8r3bka6";
-"latexgit.source-54811"="lmcfb2lgj8qrijjxa921z06hn9999251";
-"layouts-2.6d"="j5bph4p5drbgidk6k74k72n6ckzin1qq";
-"layouts.doc-2.6d"="4440l4n1kwphf99pkms09mk8ilbyd416";
-"layouts.source-2.6d"="hay5rjr1crxj98zqj1qm841dkxx55azg";
-"lazylist-1.0a"="324xcbk0vwjfa3950djx17shj5n6xfw5";
-"lazylist.doc-1.0a"="mkdn2aw3hnqpp82l0jdl1jrhca2206ff";
-"lccaps-1.0"="i30xx77l0zxdx1md96pjk4dxpgngj85a";
-"lccaps.doc-1.0"="xibcr632dg2910y05bcl4ysvwgqy7s6g";
-"lccaps.source-1.0"="nni2x4jc8dkmrwa7avbdjjlbabp460hp";
-"lcd-0.3"="y4w0h69pzqkm3wjglzy7qmsg9rrpnx2w";
-"lcd.doc-0.3"="m0l7k241a9i8ny8gky3d3v3b1srlccx0";
-"lcd.source-0.3"="xgvspw8xx0020zl9pl44sbg7fk2ifvsc";
-"lcg-1.3"="idrfim5pvwkppfnrz7mla3m0k1raw0il";
-"lcg.doc-1.3"="wscv34jlkglix6yr8c8c52j6v8qx0wi0";
-"lcg.source-1.3"="9k1mwlgj1bxhbpz75lh4vbhjmxs51qai";
-"leading-0.3"="m10kyvg2pjysh33gajn8a8hisfc74ii1";
-"leading.doc-0.3"="5bc58zdia3qp0742p1hwmxaw13qdgnxw";
-"leading.source-0.3"="ks8sv07mg6n12g60aj3s33siha865chp";
-"leaflet-2.1a"="zlw7vvglq35pqcgydpzi70lw5p2k3bik";
-"leaflet.doc-2.1a"="jizzawdg24dcb08c1q0k8pffkrfql9gc";
-"leaflet.source-2.1a"="70m92az0j37y5yk5ci4z6ni4vlr8xxmz";
-"lebhart-58503"="xqk6l18kvvf0ybx3l4ps92z7jlf48rgc";
-"lebhart.doc-58503"="i2c3nkr9jny6f5gl3lnw7p4r9wdaslaz";
-"lectures-1.0.5"="vxrkqjn0y0lqgxp2c2ms8xxwhv8y7dmw";
-"lectures.doc-1.0.5"="93h48qv5h0c9g3v4ga95d3cmcml595qr";
-"lectureslides-0.1"="4nvmm5mqynac4rfrhi966gpzdx9gll82";
-"lectureslides.doc-0.1"="6h0xir1hpq15p6aglrfm9b1abmiwgpjb";
-"leftidx-15878"="d2q1jibnbyjk72phsf6yj7nxj9l37fvh";
-"leftidx.doc-15878"="db75s45b0v3lqkw9dx09m7zs7zhmng7y";
-"leftidx.source-15878"="whmdclngd2dpahpsmz5s3rahk1bvf7sq";
-"leftindex-0.1beta"="ih107j31yrnfc9xkbvmrg36dg5dy88hx";
-"leftindex.doc-0.1beta"="nsjdjdh45lr519mj0bm152ld28d09hda";
-"leipzig-2.3"="id8f54infbs9shqwa8hskvy7ddlhih4m";
-"leipzig.doc-2.3"="qgavhs4pkjnqngv80fap4kla1bn4jlvc";
-"leipzig.source-2.3"="9byfkxnccdl5yab8p64f72b16gyqi2vx";
-"lengthconvert-1.0a"="7rfvx4n625g3rwinbxci25b0xpxrb2sk";
-"lengthconvert.doc-1.0a"="ngl9jfvcplmd9z7kwzfd90m45jp9lbpc";
-"lengthconvert.source-1.0a"="r2lh184znd42l741g816y2ljrsrbncha";
-"lettre-3.002"="f316v4xbin7m5bl72vmmj990ph9avd92";
-"lettre.doc-3.002"="ca6f1xfwz97c2k1291wc4wln9dk4bl1q";
-"lettrine-2.23"="94xvgqrb2xqp2vp9ingzcnzhsj1i1wjw";
-"lettrine.doc-2.23"="4a5z9v2nf7zbkprhnnvcqmn2ymdcd4nx";
-"lettrine.source-2.23"="7m5h453r7h8ksz1kg8mq8fmz386yqqj0";
-"lewis-0.1"="dc7cw320gc531z7m47z3pgby0zl5l6nj";
-"lewis.doc-0.1"="di515hv7q93g3mb76d9i4xdm7v35qabs";
-"lhelp-2.0"="47yixr326p1aaxdfbc8y8f051yk4blfs";
-"lhelp.doc-2.0"="drv0y9qml4fw44zmyx91gddbsrlv9x5l";
-"lhelp.source-2.0"="5z2hrf88v8ydgl2savdn68ial9zy6i4b";
-"libgreek-1.0"="dsf5z1fq4y0agzyyv6yi0vjwl233d8d4";
-"libgreek.doc-1.0"="g2bs55qw4b3caw4paxrnapy67n0ha9ri";
-"libgreek.source-1.0"="1fzq025r679gwbakqw9av95ycxj5zlmp";
-"limap-2.2"="kv5hncahb5nmmvrk1rn9j6ikj5i0qvs3";
-"limap.doc-2.2"="531jnlrzb50nsqzbm0amybf98crl0l7f";
-"limap.source-2.2"="djbm84g3cwpypc44slyscyacm1wmpl7n";
-"linegoal-2.9"="amvia15hibyyc6n80wx6lzsdg3rk8h4p";
-"linegoal.doc-2.9"="inrrzzhlascib9kbyjxs4f34xkj6djcg";
-"linegoal.source-2.9"="9207gnjmj07pywp2ikhjhnk6am2i2r1l";
-"linop-0.1"="jspi9l83p1rpndkj55ypbqc1g2myf220";
-"linop.doc-0.1"="l4gampl4ib7ld5pcys9sdw5v5r5x4zfy";
-"lipsum-2.3"="m66whrdhffwba6cbi832fp0r7ni2x3ri";
-"lipsum.doc-2.3"="rshqgsq40z24hglx85s97yw0h3sr6057";
-"lipsum.source-2.3"="hqfckvzxqgs6xxz3xklc3fjpn0fn509f";
-"lisp-on-tex-2.0"="8a4xfpnjajjpck9c9i6qp72r08priknp";
-"lisp-on-tex.doc-2.0"="ppwjpd8djndd49xh2faspmpial9qy8b9";
-"listing-1.2"="y8ymrx2bxzhz1l0lkjb2nhk6j97q9v09";
-"listing.doc-1.2"="i5bgnc303kwqnzkxr7yn0938y0h2nwpl";
-"listingsutf8-1.5"="6ayxygaxw5vyifsbcgraq4mrnv76nznr";
-"listingsutf8.doc-1.5"="m3qzlkyaswr9pkc5p63is3f7ipncdrq2";
-"listingsutf8.source-1.5"="cf2xbkbjpryr1bljm761g7ppy2bb90kg";
-"listlbls-1.03"="hmdaqr5466rlpkkrq78d4p5rfzm4fyxa";
-"listlbls.doc-1.03"="gmdiwdbadf66b6cchmxv1swlngdw6y5g";
-"listlbls.source-1.03"="8l3lzr022qmx9pw4jgp1n2fkacyl94vb";
-"listliketab-15878"="8d6nwla5nj3m47r2nw7pqhv5kpc9dlmf";
-"listliketab.doc-15878"="7j02b3ng311y78pw6k0q4zjya5gs7zhz";
-"listliketab.source-15878"="vk9ar9i94brrf3csjh9ncp2r5z48glwc";
-"listofsymbols-0.2"="9xg173d0qs233kqf04vm7qdl7ajha3w2";
-"listofsymbols.doc-0.2"="4vhmgkz6wrk2ad9bnzdv3sv3ii1np14p";
-"listofsymbols.source-0.2"="4g49piirj1spdl9hg02n9m1c8b5ql1k5";
-"lkproof-3.1"="ai3j1kpzr6ywlw9hfi3q3ld529kkzbkj";
-"lkproof.doc-3.1"="4h957l6vwp6v4x84ail94w3bfm8yc83l";
-"lmake-1.0"="hwb5nrisk72922zx1v5nqy8kcdqlgg0w";
-"lmake.doc-1.0"="hgdq7lwfi842pcpbk9dvxah687hawzj0";
-"lmake.source-1.0"="0cxjrqd9rysw8s4x0qk34yf1bczg8hj9";
-"locality-0.2"="mr4032njdjyscsy5p9xax5lw5kdbhnnq";
-"locality.doc-0.2"="98r82nbryc9zf5xyhwfnbkgrcybf7fr5";
-"locality.source-0.2"="4g29gqbn9n7kp36x0s44211p8bbmcfi6";
-"logbox-1.0"="6hm79ady9adc3i3c4p0jzmx7fwavbzqj";
-"logbox.doc-1.0"="mxpkm6s6x6zngdy8jgj801vhq3h7mlxr";
-"logbox.source-1.0"="a1q1w9s8pj9aqshkyla8cc1p3g2z9w8z";
-"logical-markup-utils-15878"="zbnw20yl4fjaj4vfmqa5zp4146yq2a84";
-"logical-markup-utils.doc-15878"="gwklf7w5nqlxiwy7avg5nwx514l2ryaz";
-"logpap-0.6"="dhd61y6riva220cjnb193v9cjbjz33bi";
-"logpap.doc-0.6"="pps9ipn239h1vw0d8p2jlzbkmcd12czb";
-"logpap.source-0.6"="6y6gv7qgh503f3n8zrpqddyghkdvzngh";
-"longfbox-1.0"="vdrqzc7ja3xh9hskvq6wby57ijnh8lhb";
-"longfbox.doc-1.0"="z165w26x5hp514f8pgb0v6cm5q1dxaz7";
-"longfigure-1.0"="1s3wdjf4wsjyp8a532a5nnaj2mkdrlsj";
-"longfigure.doc-1.0"="n4m39wdyv2i8lhgwd5756c9yv6hi33xv";
-"longfigure.source-1.0"="9rc80adbzmk2jiw5si7arqfshwg7a74p";
-"longnamefilelist-0.2"="dlicjdpj09c3dhzxv5pvfgw1029rxdrw";
-"longnamefilelist.doc-0.2"="46hypvsg0xpnil02lk942lnp3d22rvdw";
-"longnamefilelist.source-0.2"="3ph503yw35mliqir4k60hv3i8lah3q7v";
-"loops-1.3"="0f0xz58wdvx6cvkynx3xmyxm08x823jh";
-"loops.doc-1.3"="6v1ghg77l3nrab23by4cwqwr014jjwq6";
-"lsc-15878"="m875c3d6lpgh92sym2hav1n0lll6f7nz";
-"lsc.doc-15878"="ajdphikngmbihczhfyarwa94i9r3mg6p";
-"lstaddons-0.1"="n797dx657x03zpkhb1fc2ygd0ppb023g";
-"lstaddons.doc-0.1"="w57l66903jqsb827q96f05as16fr5wf2";
-"lstaddons.source-0.1"="35c9b9n0qi3rjl2gg9dr158v21rh5cq6";
-"lstfiracode-0.1c"="a9nrlvnis7an4vp9jj832x1ipd9khx85";
-"lstfiracode.doc-0.1c"="v72i91x2f5snvhavl0mqcad2v30xgdka";
-"lt3graph-0.1.9"="j25yxznhs8n6c6yl1bf24mvx202av5vy";
-"lt3graph.doc-0.1.9"="zj5lqwnd7mm5rv3ply8l4y8jabfcq41g";
-"ltablex-1.1"="a9hh7jiwaw9k0zkmb5yy7halay61g1x9";
-"ltablex.doc-1.1"="40lyll74mnj18w4fn69a2gnan846v4s6";
-"ltabptch-1.74d"="z6ikfwfzq7wsnnr6acv0fnqmvq37cbnn";
-"ltabptch.doc-1.74d"="aa6psxhjpb4n2cn73asiqnycv9g5gnis";
-"ltxdockit-1.2d"="md2zz844hk8w5jirc633l6jzix82dlwd";
-"ltxdockit.doc-1.2d"="v442rbm6y5ncm6ijzx9b7xwdf0dx28pg";
-"ltxguidex-0.2.0"="jzi1r13lc3pbhbls5h7gy05qa8g5jndi";
-"ltxguidex.doc-0.2.0"="qkxvrhpcm2p78bh4qbp6aik46d1ribgr";
-"ltxkeys-0.0.3c"="kg0228ksc3vh9js3bgknkciga0dgip2c";
-"ltxkeys.doc-0.0.3c"="27k3rl3wvxk8a7qys8lmk2vzsgck80a9";
-"ltxnew-1.3"="xap2rn5bk0pjdrpyvfi47zad1i2r0jf6";
-"ltxnew.doc-1.3"="2j8nvnzdjxan23jrky53h6aj3bcn34z2";
-"ltxnew.source-1.3"="30hsnd2yrpqdqxczsza02v4rkqa4fiwa";
-"ltxtools-0.0.1a"="xml1xbh8w9gqi8gim7wps9vmadhmrf3r";
-"ltxtools.doc-0.0.1a"="hdmpfrkdycgs0qh3mcxgydcscilacfr0";
-"lua-check-hyphen-0.7a"="9lmqby4bc5pcfbfib7f45742x7jcxjmx";
-"lua-check-hyphen.doc-0.7a"="36n5ni2jzkydxwi4x4akv21109y0qmsy";
-"lua-physical-1.0.3"="47dm3cg17dziyiapaxhk4x75nhafsjcg";
-"lua-physical.doc-1.0.3"="i672n86lsxfy4dnf297j0i7f19m18nx4";
-"luatodonotes-0.5"="wxsysgg9ss4jqddkxbff6apfbd2840i1";
-"luatodonotes.doc-0.5"="w6d1nala52b88rhchzay618gd64nf2jf";
-"luatodonotes.source-0.5"="0i7332g3mmg7cpk3g6i6432xpq2jcivz";
-"macroswap-1.1"="19xdcyrfd1z77ld3isdzxjhvsijifmk3";
-"macroswap.doc-1.1"="dkpw0kw0a0d8cwp237xy5c1a9ab0s0p3";
-"macroswap.source-1.1"="wirvpfkv8zjyqghlabclnvnmb4w8i2rh";
-"magaz-0.4"="zd02izsnb56wz1wcfqfj6p9p7pycwd3g";
-"magaz.doc-0.4"="cdylbzidxq2abda3np8ia16m3lbga9w3";
-"magicnum-1.7"="9i8z8xih80aipni912f8ya9xsd52br84";
-"magicnum.doc-1.7"="q6m07x41lq3agmgb16y0q4kz8bx015l2";
-"magicnum.source-1.7"="gy4vhdgvbz1cwgxj8frx2zf825avg3sq";
-"mailing-15878"="4v4vxr5i84yphwj7ff6s3vi0n2wx1jaj";
-"mailing.doc-15878"="fw87jd6gkc88g5a5z17gm7fw3nk6pana";
-"mailing.source-15878"="1zmcm4sg1p3vlgb76yf7gz0ds1958s6b";
-"mailmerge-1.0"="6zixn5f5rjq4fd65bbhkzwgijfhw262i";
-"mailmerge.doc-1.0"="wpim80lnxbf01an1ds6ksasm2271f54w";
-"mailmerge.source-1.0"="00r71m4cliyz9870yfxd5nl0b7b2px0r";
-"makebarcode-1.0"="m3wi7hglpq3ajgldkjipnddl56z1cp09";
-"makebarcode.doc-1.0"="29bd2af0rk7bdy7yiphxjy2x4ixpy9wh";
-"makebase-0.2"="hzw2dp6xmjzjblgbzm1j6qqmbayvzzlw";
-"makebase.doc-0.2"="0nnwh21wv9zl6cvf8a8h123ssys0p9ih";
-"makebase.source-0.2"="nrvlr5z3iwf8w7hy0fja6vki9l1xknby";
-"makebox-0.1"="iqvm1iwwrpnrdyjam0ca2wl6s2n02sx6";
-"makebox.doc-0.1"="i5bdjmv81skcvjjzy4yq8p2cim2vnmm8";
-"makebox.source-0.1"="v8lsifwcglwjacxij0kak54028h7gqrh";
-"makecell-0.1e"="073c9wfpc83jhcbkmjlkpfbpmy082xyv";
-"makecell.doc-0.1e"="irl3sf564yjdnx538vbqbw6ji0x65m56";
-"makecell.source-0.1e"="qaw6f6hmvj4125v30wr0drnlq0piim3k";
-"makecirc-15878"="m4xbci3109krv6agm0nhvry9kd7wjs43";
-"makecirc.doc-15878"="w7jd6g686b8iqqbmyipml4c1rjry4bax";
-"makecookbook.doc-0.85"="jd6jxdslcigvj3gyxs8yy1wihycxq3hc";
-"makedtx-1.2"="1k3yp8ylmvcfx4xcf1kgmpnnrrin2nsk";
-"makedtx.doc-1.2"="shcl10mxk7f7g0i4y2n6fppjjs33g5i0";
-"makedtx.source-1.2"="blsivri3lnfa4grmk46wxlr2yz87djb4";
-"makeglos-15878"="6bgdfjbhxvfj2my954iinjp1xcxnyq4s";
-"makeglos.doc-15878"="g4w2560v1pxm38dj5dsb3irgijzh221g";
-"makerobust-2.0"="hx1305cr58cjaasg8l3z9p9d3pc49wv1";
-"makerobust.doc-2.0"="p6bmljy05xlknijnbfbyqz8v0af7m1wv";
-"mandi-2.7.5"="bgfn2zpydmyjpm0n2j78szn4nkkqnksh";
-"mandi.doc-2.7.5"="72r085a0f5nrashgm2xjf5p6ba35c9cd";
-"mandi.source-2.7.5"="baa7wn0s0z61x610jb45s48l31bf49cv";
-"manfnt-54684"="1nl2yh0i4qbxg0js1q4h566vbhh9szlr";
-"manfnt.doc-54684"="vb7h8hwf2snbrmzsj1p517ark2by87ks";
-"manfnt.source-54684"="3vzdqcfcmcmi75xgy4787fqacrsa12ay";
-"manuscript-1.7"="h6a06qa8wdg942c9l85xk2drlc07k340";
-"manuscript.doc-1.7"="9lfydjsxnci0b6nfdmayjigm8gfvbiaf";
-"manuscript.source-1.7"="7s5sj7f198rxkggz1j96kk6fgr5s88ci";
-"manyind-49874"="2akaqcybgc3ia3f3cq8p54yhrj7krlfx";
-"manyind.doc-49874"="398kgdbdflmwqi38qcnbf3zgp08vskg3";
-"marginfit-1.1"="a1cpx8n1camjfznxf5lqcjfaaji46gq8";
-"marginfit.doc-1.1"="c5rk8f7ac1xi00rz2xkh708s242wzfq8";
-"marginfit.source-1.1"="r5a53yzalhc6gmbsxk9z7bba5ns0552k";
-"marginfix-1.2"="1cki548vhl8rdcsxpq7593fdmfmmlixh";
-"marginfix.doc-1.2"="2q8fw435qmgh3jqdrlisbgjk5m6yvsda";
-"marginfix.source-1.2"="0n923rs9k1skamk8n0w0573j8l69zm0f";
-"marginnote-1.4b"="98qa9kfiaiw6lbm0jsblq68vxla8a3z2";
-"marginnote.doc-1.4b"="k5mxj5j1ws3q1a71fj9k4f06n7vrj49h";
-"marginnote.source-1.4b"="i33692nz19pddmvmqw20xx3i04grxn7l";
-"markdown-2.9.0"="4v8mxa4746s8v3bv3siaw793vanym9np";
-"markdown.doc-2.9.0"="i98agf42k5fa81sis2mkq5bh4lrixbdv";
-"markdown.source-2.9.0"="hrkj7ajdmii0vvd1y49cd6a3q1rxwmq6";
-"mathalpha-1.13"="wig82v4kfp76z48x8ipcl3i6p97j41j4";
-"mathalpha.doc-1.13"="8zibbm7ga8nk6dcbdvgp3f4xw13r19ml";
-"mathastext-1.3w"="ni9zvlwrjncws3485ix1qpdiywnnqmpr";
-"mathastext.doc-1.3w"="1afwhd8wyzxs9i0w6n2vzwx1ahfkxkdk";
-"mathastext.source-1.3w"="91l6mmy7hhlf79zc4bq69vgsrlm7wf4m";
-"mathexam-1.00"="4rhl11na8mqzbl9l7wjk53fdhdpzbgih";
-"mathexam.doc-1.00"="7bhcdnalaakml3rx50sgb0799b9883cp";
-"mathexam.source-1.00"="mcs3csvr3ayvjijs6sh67mk0mrp5zawc";
-"mathfam256-0.5"="r9fkq651jjvlx222cpdhfz6p8a6vw959";
-"mathfam256.doc-0.5"="19v892aw7w93x0fcbnirvg3d3z35p51y";
-"mathfont-1.6"="nyjwlfahrkds5qlvgvmvr5xljhd0m6zc";
-"mathfont.doc-1.6"="4rx7sqkjhp31hysc8bz9nmiah1a4bsc5";
-"mathfont.source-1.6"="cw0bm3f3ykacs3mcxhdwnl6dj13qyaps";
-"maybemath-15878"="b7n8bgmz0vizghas19svaf1asi7633ck";
-"maybemath.doc-15878"="7scmh5q3xpjd6gdlq07kf59sn5bbflxc";
-"mcaption-3.0"="bxgcc1lkr9p5ghd80mh2ixnc1g4g49f5";
-"mcaption.doc-3.0"="mzbfyspjjjq3mhm2m06jmf9fic78i6bm";
-"mcaption.source-3.0"="ix6v7ldrgqw2kyb8mxppiw47p1fsxj29";
-"mceinleger-15878"="n5kag86y4a1q3m4d2kgc1k4xbbchv1hk";
-"mceinleger.doc-15878"="g3ldzbnb7jl4ii7pvc518va6x8ahlrh1";
-"mcexam-0.4"="3r3kn0mpzsx4p8scl2zf57sj54q6q6n8";
-"mcexam.doc-0.4"="c2hpirn5sl7m6cdf7mw66l7nrpcmz1i9";
-"mcite-1.6"="q16a807pfbxbcqyw1s5f3vrj0yym2z86";
-"mcite.doc-1.6"="6ak2czh685l6gxam0p0vdl8blq8z260r";
-"mcite.source-1.6"="pjqx07klaqvpxxf8xqqgad92h8rgvkb5";
-"mciteplus-1.2"="gxg0f6vk8c4bqcr5zczmwhymnp2hj4md";
-"mciteplus.doc-1.2"="wjdym32052k8qm02dr13qhclbry9r3py";
-"mdframed-1.9b"="kc60c77k0qwqhdmpbk3r777k4q857jx1";
-"mdframed.doc-1.9b"="pr5d7iqc4akn0arxjl7ynqsl6dlh64sy";
-"mdframed.source-1.9b"="xnqih0l0zng5bmrjfrprr43k6l645kvi";
-"media4svg-0.5"="2i5hs44v6zrx3l5jf6n8jvqhgyk25w2v";
-"media4svg.doc-0.5"="bss7aw8krydbannjv75phhn7x9jv2wbi";
-"media9-1.15"="z3x9hsfdyshasg0v2nk30kb7958ykmd9";
-"media9.doc-1.15"="qxj7bsjk832irbhz9zs6x370gxny10i5";
-"media9.source-1.15"="7xd138dvnp9k9wzd13mjgdzivypfhcri";
-"medstarbeamer-38828"="vplzcqcrgag8dvin3yj0prlcm9gsb2yh";
-"medstarbeamer.doc-38828"="7i4skhq9pj4k3aswbzbpjqqgdj0s69gd";
-"meetingmins-1.6"="d5x8znpkqcghi9lv4gby2l97smw6kddb";
-"meetingmins.doc-1.6"="mkxz4zi4a7rgq8sgwaqsc35n888gzs4g";
-"meetingmins.source-1.6"="5xridwnlmxkws7h293a1pg373mcb3gwv";
-"memexsupp-0.1"="7i8inx1l5wmljf6jil3zjiyfs6p4hqpg";
-"memexsupp.doc-0.1"="2rkln5mprxhm81v54jhd8a777h1n1bzz";
-"memory-1.2"="xbyqh88hgszrma77r32dzly4k928vwpd";
-"memory.doc-1.2"="97n5y37w8k1b1dghkjmdny2lgc2b0z4b";
-"memory.source-1.2"="xj785y1h8zncgikinri52ri4sp7av9cr";
-"mensa-tex-45997"="k0v2gr8sk5lxj658b62h6rnr3iwik4kk";
-"mensa-tex.doc-45997"="cbym06lj2jif90dpqddc2sl36glwlm6k";
-"menu-0.994"="601vvx1mrqc5l4ig4j65bq88yjzcc08g";
-"menu.doc-0.994"="s9wj7viflx78y49dbs3scapk5vslf5xg";
-"menu.source-0.994"="n1pq98wjrfr476cwy442c8l99n1k9f6s";
-"menucard-0.1"="7k5mxiwycgzqq8ais9d99ss9dhir44x6";
-"menucard.doc-0.1"="lv3amrvqjpl36rc3wmrf6yg8dw9w7lw8";
-"menucard.source-0.1"="p3sy5yj4gljpasmsyjbi8ndlnjvm69jl";
-"menukeys-1.6.1"="wxn5c57h8z5aj5q2d6v5kv9fbk902g1w";
-"menukeys.doc-1.6.1"="8ijrwc0zfhv0cwvy3vk6cqlbd0yxwcmg";
-"menukeys.source-1.6.1"="1gm1gpzj7lply9qfyf00aralircg6gw0";
-"metalogox-1.00"="4xl37x2ng2chj7ds59rjkapvmk3fza5q";
-"metalogox.doc-1.00"="wk7qd75laf3wm5wqil70vsrcg1ch6q4n";
-"metalogox.source-1.00"="8yal3yny31s95vd72p10mybmkx7n11xy";
-"metanorma-0.5.0"="lxfxrm0gny75rhwafmgim8g9gh3ihij5";
-"metanorma.doc-0.5.0"="cl9n1iq27ka2k556arggkl5dy6i8jrz9";
-"metastr-1.1.2"="mhbnzxgyzic8b12s99h1gfa8sivdc14m";
-"metastr.doc-1.1.2"="j3ilclww10wqrrm978q3yq5z3r5s9b4m";
-"metastr.source-1.1.2"="id0ha10mcax8rzrq1jrsqyw53g37wzam";
-"method-2.0b"="6lpy1619i1m75cvsi9c2vzjxbcs9ia5a";
-"method.doc-2.0b"="c54snw0hl1agj2fs4r3jqnk9gblxpvhp";
-"method.source-2.0b"="y3rnwdcn8d1zs9s74nsza1zscmfbskq5";
-"metre-1.0"="mf4m9vxkjfkwhv1fqjw051kfb5rz44ml";
-"metre.doc-1.0"="bd500sp1di947i1rll56h80k0pm6312x";
-"metre.source-1.0"="44qm1832z64vxp1kmj3fg5zyv1jvjpb7";
-"mfirstuc-2.06"="rlg93z5nq69rfqjka4r35zn2w20x7d6f";
-"mfirstuc.doc-2.06"="y1j1a3qry6bq4lyfji70sx5jca5kk7fh";
-"mfirstuc.source-2.06"="0w7yc9h4091i7h6ihm5h14ay0hvx5smm";
-"mftinc-1.0a"="ckn9lv76yrkzpbi965rl9zvgcqg8alzg";
-"mftinc.doc-1.0a"="2qb409wrm8pf6nj53fbf16pwjrp7h3n2";
-"mftinc.source-1.0a"="s4kaysarmk404dx4pf1xlanckix06jgg";
-"mi-solns-0.6"="m241psyf1fwkk0m99q9rnh37g08334wy";
-"mi-solns.doc-0.6"="wc29z0jqrzrln9g9lb3aqpbyf5nnf9c0";
-"mi-solns.source-0.6"="3jlnn2himx44zdaw0pb0zks3gxmqfhqn";
-"midpage-1.1a"="k6zlxyg3y73s0npss5d14nizzzf6bl27";
-"midpage.doc-1.1a"="7rbxbq2sy6h6lk25kl4sn2hfr87kjhcx";
-"mindflow-58475"="86c49mnw9a8g77ha3qdzlq9pq7nxb75n";
-"mindflow.doc-58475"="clyqrw7pbvv5bsm7flc5gib4lglpij53";
-"mindflow.source-58475"="paxcshqj39mdp2lmikn3skq7xfgapx7n";
-"minibox-0.2a"="4fhpgzi7wc6jh7n8rf2n9s0cpvljwwc9";
-"minibox.doc-0.2a"="sviimirqdwfgk14my3w0zr2qycccckf4";
-"minibox.source-0.2a"="q704gpig53qmnbsvy9kcwl6nm161nak7";
-"minidocument-1.0"="q06hnvnkj19habs189lgsx35srq63g3b";
-"minidocument.doc-1.0"="lccwy6b0j7z28w8zp9gsvassa240xc1p";
-"minidocument.source-1.0"="ksir0ia0gyc7qzr4pfjxzx2hcnzpc0b0";
-"minifp-0.96"="28njw4zhz6fagd3wwk7ybah5c6nx4lrc";
-"minifp.doc-0.96"="xci52b9lqvfx748z6y3a5f6spwqnc9qz";
-"minifp.source-0.96"="y3lmhlpkdcrix3kk3kv7rpqmnb9hlz56";
-"minipage-marginpar-0.2"="39mkfjhflkvby43487kqpwagi8mfb1dr";
-"minipage-marginpar.doc-0.2"="ca67m5ikd0ka529wbi2s22zq5r5cr648";
-"minipage-marginpar.source-0.2"="db4g8ckwnbk7pspwfz9jbvndnzqbmfdf";
-"minitoc-62"="nm22vk0d9n4qsxg30qdg670q2ary85qh";
-"minitoc.doc-62"="i5pyp0xwkd9601vjmmnmsdzhm23bpkfs";
-"minorrevision-1.1"="svc8nrmpcahd95mzyggc6vmpfhmd9917";
-"minorrevision.doc-1.1"="x12xlc4ja8ksnd9rpnic0c0hymj1sdwn";
-"minted-2.5"="4d3kkhjjlhqb1nmp43wwsrw3z0mv94xy";
-"minted.doc-2.5"="pf8yy80fj73nibdnljhlisc18cs1x1cw";
-"minted.source-2.5"="wl128ack6c90ij18fmvf27hnxm6y9gf6";
-"minutes-1.8f"="c864pfgi1a853n93jddnndgsp325sr1i";
-"minutes.doc-1.8f"="z3z8rxzrkwz7k6756b654v6wclx4f6rb";
-"minutes.source-1.8f"="w4skq6nprvgxhvqrf4xa2afccr1hsz6g";
-"mla-paper-54080"="7rh7dh7mzybc5wzzbibh1lc10kyc99p8";
-"mla-paper.doc-54080"="3csgrsb6bh3sbqdzfx6y84i7ph8lwnhc";
-"mleftright-1.2"="djj8n1rrxi3iyj5zxm4y5lwnbrzq3vb9";
-"mleftright.doc-1.2"="krkpm7kc85q5hgb0vzvvx8gxznpr79d5";
-"mleftright.source-1.2"="mfllc0rhh6x67pg9qxr5wpbhazzg75l9";
-"mlist-0.6a"="5yh180f4d4dsrfzin6cjmshad8w7fi6g";
-"mlist.doc-0.6a"="wqscsdlyx7zqyq1g5hcfcp0cs5w5dxxc";
-"mlist.source-0.6a"="hlnmvms7n3csa2v0ixwz82wp2dlc7jy1";
-"mmap-1.03"="3yv1ma0qa2qw6lnaq3q98g4blg5s287p";
-"mmap.doc-1.03"="w9894wmjjay6c52wks4i80cvk0baba2l";
-"mnotes-0.8"="n7d22a7hh42vdiy9j2mn0x3dw86s81gs";
-"mnotes.doc-0.8"="lk3cmdx93g8vl58b32qc9zdwl6c3mh2y";
-"mnotes.source-0.8"="cz8303fpgl3h17lvncqbpj1xz490waax";
-"moderncv-2.1.0"="cmjc8xaz3w2n3nqh3nwk0pkrgdqyard5";
-"moderncv.doc-2.1.0"="x2i8cz8q6hfyzcvnvybsc6m0vwxnsmfb";
-"modernposter-1.03.1"="hlb03arz5iv98iakvimihvcnb50zdf0k";
-"modernposter.doc-1.03.1"="qb4pglm91r4w85lbp7jdvgr8b9nqkmh4";
-"moderntimeline-0.11"="r8siv13syzymkgi776xkpd15cjck7d9z";
-"moderntimeline.doc-0.11"="3w6bq6jlai07bv7g2l8iaal13h00n82p";
-"moderntimeline.source-0.11"="hbfh2pm3hmjm701k25hfbk83zh2dzjzc";
-"modref-1.0"="66l3h642swhw1maq3gd0l3bc59dlb9f3";
-"modref.doc-1.0"="qywhydcrg4qw4lkxa2gkdqdzjzsjc0j0";
-"modref.source-1.0"="a362js5xq7a69k1zawmyfj9f4p6254v0";
-"modroman-1"="yvhwr314ymch4fhvr9zq8l1rsp3jfinn";
-"modroman.doc-1"="2is4g9r40gr23cy469q2vk2kjj2jbkm6";
-"modroman.source-1"="1kddwifbglz7hlhxndcrr28dfgd0bdy5";
-"modular-44142"="gp555cnfp2izjp81bg1l1aij466vcfxr";
-"modular.doc-44142"="5yxpl169qqnh3p4zhwx6glnagv6a210y";
-"monofill-0.2"="jnv36mj3w2vihnq2f17pbm1yzrz2176w";
-"monofill.doc-0.2"="gr0mhc8f2w3dnd9r6flqvq5yyb388h4p";
-"monofill.source-0.2"="gmdpp4qn9x5bxk24afqs4xg7vzvaqkp4";
-"moodle-0.9"="fx6h5w1yyhb867rsbaj7gc1ziy6qmb8p";
-"moodle.doc-0.9"="kcb3zacaswgyqqyqywybwv08qy90cm9g";
-"moodle.source-0.9"="182zigli9migk0dzl1v011aj2vj0qfbc";
-"moreenum-1.03"="q6a3sxik7whl9zif8j5bs1bgxcp611rr";
-"moreenum.doc-1.03"="f0vzqhha6bbsvwnsgq3ng5v4qg3vkbgr";
-"morefloats-1.0h"="dzx390854qkxvhcas8krahqfg2pkg93y";
-"morefloats.doc-1.0h"="fwyzwvgdmwqdsgl2lwyqxdq0mlbrhxsm";
-"morefloats.source-1.0h"="hvakfpqk8j2r6r4fmrrhx3lrncpb35l1";
-"morehype-r0.83"="7wdy8cw7wk428yy79ca20jlikk3q06ap";
-"morehype.doc-r0.83"="nbm1bmcdi42xn7nyf4p0nlgy5qsrx4iv";
-"morehype.source-r0.83"="wafhphln91wfmqcn7zz0gcpaan0lbz9n";
-"moresize-1.9"="mrny3a5x1zkhbxrfqi4px8izf62axxxv";
-"moresize.doc-1.9"="jgc4rbzb7qyx91k9k7m4mp05m0nhrvkr";
-"moresize.source-1.9"="pglcf851fgiqzx76kihws0c5r8c9gmhb";
-"moreverb-2.3a"="w1rxv8g11dkpi1zyfq7xblgjjwi2dkw6";
-"moreverb.doc-2.3a"="70m0wiik9lqc2r4pi4nrdmm0rsx9d8cp";
-"moreverb.source-2.3a"="zxqcx8a12s33gklfq4zv3mci70nimpir";
-"morewrites-49531"="phc3742cpyisr8i8b9r30w7x28kaydx5";
-"morewrites.doc-49531"="x9cccfv21238zfsfikbnap6a2fj2aymg";
-"morewrites.source-49531"="gg8427vc6r2im1y5n541imkgq909ds99";
-"movie15-26473"="c2vppl6yv82s4n3kqjfp75qby2rwfxkv";
-"movie15.doc-26473"="1kn8iwx5x1gc978p0gjj2rwy4ablkdvg";
-"mparhack-1.4"="5sq75r9p6laimfxiz9kl1j5cgplkzin7";
-"mparhack.doc-1.4"="6i835nghib094n03i095dc0p7zq30znm";
-"mparhack.source-1.4"="07xwzd4pvppkb7ywwzdrip3yk41d5wl0";
-"mpostinl-1.5"="vfsmfj1knm8zxs6nc42c7w82ja9mxx19";
-"mpostinl.doc-1.5"="zh5pgghk7s2m7ygn86zjdb08c26pabf8";
-"mpostinl.source-1.5"="jnx6qz5gxx4v0c93yb7f8n5lq2dj41hd";
-"msc-1.16"="fa7ja4f7a2qpc08q656711qdxlgsjqdq";
-"msc.doc-1.16"="b6mcb2izb71p267zcfhj3l0x7rc2sihf";
-"msg-0.51"="d74m4mhh3k9hmc4py38izy3n075f019r";
-"msg.doc-0.51"="3v872isrjh68l3j4i0bm86l2vk60vi7f";
-"msg.source-0.51"="gcmdjhil29pwakk8jdrf6zaxcp3w5ykw";
-"mslapa-54080"="xmci0mddxivrp23hxp50wnlyvl9kir04";
-"mslapa.doc-54080"="dpvra8ngic2ydqxs8y59zd0jffy2q4ai";
-"mtgreek-1.1+"="afbh9ydcsnf1k0c714ypmqrf0qjcas6a";
-"mtgreek.doc-1.1+"="pq9303jyrj7nq8rwgi5d7njbc2x3jn58";
-"mtgreek.source-1.1+"="6whrwjvzz5jrhirhgr7kymc3jczn2zmf";
-"multenum-21775"="f1d7s8hafvsk4dic8ss1cqdjqvn8dlih";
-"multenum.doc-21775"="w65nsjanh13fxbkwhiinwzyhq0ra2m54";
-"multiaudience-1.03"="dcqxnkwsqd6vyk9wnwmac5b832dzb4ns";
-"multiaudience.doc-1.03"="8z6mbzi6yyv5cmp6pn2fsg5vlagyrlwn";
-"multiaudience.source-1.03"="5v4r06mydnjvq7hksjgdqd17m47b0g1z";
-"multibbl-1.1"="7nvyshlsgfcmlxc0gdn8b353sc6g3qw2";
-"multibbl.doc-1.1"="isxh2fz1yaz86acvpcv8k1hmwnazck6m";
-"multibbl.source-1.1"="z6wbxacy1rzz1l7wx6ppi8dsbipvc5s0";
-"multicap-15878"="9ja1cljsr31lw6rjvph8gi154z8bpl8j";
-"multicap.doc-15878"="z17yw0id2vdhckvirlrq3npkdpxk5hrf";
-"multicap.source-15878"="yv4rw5hjfj5fj0xyh2p3glmz0887x105";
-"multicolrule-1.3a"="i3cfrfyyj0xjvk27dmrakzlh5baz9jyg";
-"multicolrule.doc-1.3a"="f9s3709g2mi3il3g1ddg5px0d41aifbq";
-"multicolrule.source-1.3a"="sks1vf0hd08gni9s5fl3an5zln2gpakz";
-"multidef-1.10"="5wsklk9lvznmwisl7jyhiai2zz8iizhb";
-"multidef.doc-1.10"="sq7a72nhiyd5384dx9y6k1c72gl8ia2n";
-"multidef.source-1.10"="hx6fbjirp5gmpn9bglp0hcmmhdjn1rsb";
-"multienv-1.0"="r4q7rsyn58q4scrv790dn1jwy2l0w0c7";
-"multienv.doc-1.0"="jpvk0s1crqx5y739hr40ajzkc960mjr0";
-"multienv.source-1.0"="x75lc8vbar75g490rdpjplwi4fr41ff3";
-"multiexpand-1.5"="q49fs09lmw9s8bz91k2iis3q1sa5qnln";
-"multiexpand.doc-1.5"="98kgaaxbfnbhc7rvagk2w2qjscaymaji";
-"multiexpand.source-1.5"="88gj4rql48wvni5la1xbzrpyxcrm2dx4";
-"multilang-0.9b"="56lbpndclbci7ihkidrjqg1i1rb5d540";
-"multilang.doc-0.9b"="k2fcrbwx48nwwmwjb5sln2xfyv7ac03p";
-"multilang.source-0.9b"="26rcwx14xbk0zfwazm40ab76pkv6b1g1";
-"multirow-2.8"="qzw0gw70s0gay2mid6g01vlx92iixcrc";
-"multirow.doc-2.8"="wbkp1z90fsh3fdpjp1qldhn5cbkysz26";
-"multirow.source-2.8"="gsafi052rxsv2bbcz3325wynbwrzyvl6";
-"mversion-1.0.1"="7vpmmb88cjk92m2a2hz10cijkxf44bmy";
-"mversion.doc-1.0.1"="a2fx7phvl0i1nyhb5h0w6ld1n9kvcgcv";
-"mversion.source-1.0.1"="zhbd3j6kxsdyznx9haqqh4vk7b8nrl09";
-"mwe-0.5"="dx1fdq96hyssx4pssbww55fqwcx71nys";
-"mwe.doc-0.5"="777ybf035b85yxs1iliv0vs4rd1nzqrb";
-"mwe.source-0.5"="gbqq17i9rnxwh0r2wjg2pcp9x3jzwyql";
-"mycv-1.5.6"="am1khnlv1w5w9732q2azpsjqjp7xd96b";
-"mycv.doc-1.5.6"="gd3fqxrg0y28fw4093g50a9fl5qpb0l8";
-"mycv.source-1.5.6"="9jvb2232smja8fb39hlxnh813vlvs47v";
-"mylatex-56751"="yv3rfndf7x4cd2a9gx5fsg82v3gm0qy5";
-"mylatex.doc-56751"="sar6czcxp6cksy74rjnjxdycwwxlhgnf";
-"mylatexformat-3.4"="j9yz4p89ln68ra05iyl46vnsia9c2m83";
-"mylatexformat.doc-3.4"="jv51r001b567qdpj04srhpinqza2cbrx";
-"mylatexformat.source-3.4"="27n04f9m812jsgwpr47sk2k39anbk264";
-"nag-0.7"="zvdfnz7z0rgwmf5vpj3dg7l0p8xwaxl0";
-"nag.doc-0.7"="r9gmc719q62qdim96mzw2sm98vwxsdip";
-"nag.source-0.7"="rybplddhj3wzplms9knly5b4fpkny05d";
-"nameauth-3.6"="ks6jn6v63n41bvjn85qxvhzwz071r6c8";
-"nameauth.doc-3.6"="chla1jhfww0ja8mr88mwiyqzpn0c57ch";
-"nameauth.source-3.6"="qnhib1mpd6d0dvfafa2lbz6niylf3zn8";
-"namespc-15878"="6f7x6ldx008l8w5ziahgwl42hb5bws4k";
-"namespc.doc-15878"="6aqpn007i8s488j4qi8xhbx9zsyvafbs";
-"namespc.source-15878"="s5ws2rny22j23bqy5cn2mz23qn91ssfj";
-"ncclatex-1.5"="vyc62gppwksnghphh3fch8ac3wji38qv";
-"ncclatex.doc-1.5"="i5klzg6hjqk8gq73g7ck9za6arh58rwx";
-"needspace-1.3d"="n3bhzw4qj1q1pml8yw40q3p8nzncygia";
-"needspace.doc-1.3d"="p8ahld3my116ynhgip3xfgxd58n4w36v";
-"needspace.source-1.3d"="2i7mdcxrdh8p54l31qqcfsdbrwjfiw87";
-"nestquot-27323"="f9rwiwxi2xksi75wfwmsq9gmrj78scg4";
-"newcommand.doc-2.0"="cdy7kzxpazx56gc6a0s62nx1bq3x1kz3";
-"newenviron-1.0"="s27wb3f7q3qk5lv6ficrjs6kkxqal7hi";
-"newenviron.doc-1.0"="j20cd7xar8jxbx17dv9sqpsrck6cydd9";
-"newfile-1.0c"="fc360fhzp2yxcpssdvgwp1fi20w91k2b";
-"newfile.doc-1.0c"="4d3gk4w2jbh96d98qpjh7r329hb11c0l";
-"newfile.source-1.0c"="1dyv1z8dl3hlwd0x3d9jy6kvfyag3klx";
-"newlfm-9.4"="74aqk6qvmq6c226n5m6s0jgf1rb91712";
-"newlfm.doc-9.4"="snw60agnpwxi52h20anf911x3qx0509n";
-"newlfm.source-9.4"="kywnhr9air3kqjqa0hj0ij7605a50qbd";
-"newspaper-1.0"="sp89yvm13f900xrbsn6p097b4dspyxb2";
-"newspaper.doc-1.0"="7gjmij59wric29v4kbwyi0hxlhgkbnm9";
-"newspaper.source-1.0"="r8918czada36fb9bgzddaq9c4vaak5i5";
-"newunicodechar-1.2"="8wfz9yyzv5zphqrwp92i9cci08chh9gr";
-"newunicodechar.doc-1.2"="bj9wp3x1hqj0yfqa13yf7f21svm9sxmy";
-"newunicodechar.source-1.2"="mmv56hgbrkwxca2l3a4kxhpzmrjjm68m";
-"newvbtm-1.1"="2khz8c8b8a5946h97w2rf2gmp6z8wvh0";
-"newvbtm.doc-1.1"="y1rlqvpv8y77ns1a35q6raksa88qqdnd";
-"newvbtm.source-1.1"="1ws90wkmj308mz4qa3hham4mxm3lrl5i";
-"newverbs-1.6"="86kd0swkcac72304rrpv0addnd84gzxn";
-"newverbs.doc-1.6"="pqd2v0q56lisk99ninwx5r1d848ql0x7";
-"newverbs.source-1.6"="b4ysw67g6mp6wwc1r685qi23p9dh0c03";
-"nextpage-1.1a"="b7b41bpr8zk2z6m5il51q9vxb3c8h67j";
-"nfssext-cfr-43640"="isp9rw94ck4a9ckl4b5hd8ma3cmlkdwd";
-"nfssext-cfr.doc-43640"="si6j8b4314s0gbnjxwymqbzcajclqn2w";
-"nicefilelist-0.7a"="crqgn906x51nq1d3z0s15f9kl29lbg3b";
-"nicefilelist.doc-0.7a"="a77wbb5ajkj4ab3dy1zzs3hchac77cwh";
-"nicefilelist.source-0.7a"="ng7drfgz7w69za7hmfzm4cv0m2awdx7l";
-"niceframe-1.1c"="dvds5bwfmca1phblf3jzzgj8rxq6va5g";
-"niceframe.doc-1.1c"="lkhliswdxfq68asjbrxal2k38311h9ld";
-"niceframe.source-1.1c"="qyrv98xhjmv852cmzrzrban7dj742n19";
-"nicetext-r0.67"="i3lvy4awa0igc272xv8mn7n4dfaxm9iq";
-"nicetext.doc-r0.67"="iacnv3pa0a676wy34s3s261ypjpcl9gd";
-"nicetext.source-r0.67"="6d0mm3ghwivk44g63875mpq6pafbll8b";
-"nidanfloat-48295"="f9691yflmmv0ziyfj4a65b186gj0ppn3";
-"nidanfloat.doc-48295"="h468vsrcmc06awhvkg8f3bgmc7dwsgy1";
-"nidanfloat.source-48295"="x92x0jk3ab50yd3gyjgqyb21iq0v7g6h";
-"nlctdoc-1.07"="z0azj8lyhdf45sa4vy172qlzck58vvic";
-"nlctdoc.doc-1.07"="3axalhgmiz8f9rikjwbkhckw0hshnpyk";
-"noconflict-1.0"="df9gs1xx7gymaadn2ji4dzir36z6r897";
-"noconflict.doc-1.0"="irvdqh1iyghgs73l3lv2jnrs2gj9jxcd";
-"noindentafter-0.2.2"="w1kg4gv0dpfak1s7xshs04ariccpnx0q";
-"noindentafter.doc-0.2.2"="d94gk5jrfmhpz7b1qha13wi8kmb73nf7";
-"noitcrul-0.2"="y2kmn4b9b37y79c739afhyhk7mindzih";
-"noitcrul.doc-0.2"="fz1jhgv1apc206vwzf1hc25pr5fhklhs";
-"noitcrul.source-0.2"="b8s8g15qwdsxm7ywvgj9g6307ws3hg0d";
-"nolbreaks-1.2"="1603r89wi8sninjv541na8k2islfk4sc";
-"nolbreaks.doc-1.2"="g0nm3i09kzxqqcrycrz2cak05d8qlvqs";
-"nomencl-5.5"="zxky0yrdmhjg6qs5l5l6wi36h3mszdpc";
-"nomencl.doc-5.5"="3rmvqb2q57mzdiydj7ggqnm62a2rhgnw";
-"nomencl.source-5.5"="dkyq9n1wb5cf9k331mfjd3n6hbz7l3rg";
-"nomentbl-0.4"="k74vk3a9kl3sbrkmpyav1snh0cd16np9";
-"nomentbl.doc-0.4"="k2ggwchfqa253i96whp2lh4s3p8vbysk";
-"nomentbl.source-0.4"="al9s24x1ivpw91bbnn9sqrjp3rb5h0ni";
-"nonfloat-1.0"="yry0kys2irxfx7ril0qv6l7is7nm0fji";
-"nonfloat.doc-1.0"="yr85gza4l0wcybg4zwi004ndkl50p2ki";
-"nonfloat.source-1.0"="2zwd1bxb5niyr8higb5y2bipyqa7f3zn";
-"nonumonpart-1"="a121f2i1n005xp51qn642vx30ij74zgs";
-"nonumonpart.doc-1"="wcbvd9c2cv5ydbma4xxb6g2b2bihi0lh";
-"nonumonpart.source-1"="j2jy48jw8hgcs830h187s9rg85kd3rfa";
-"nopageno-18128"="59l05x89jv7q4mm7k73i06rmv467iimz";
-"nopageno.doc-18128"="bn5vq6kzp69p03pfjx9s34ckf4h3q6iq";
-"normalcolor-r11"="jfpqlz85fphm063mb51q9q2s61fcbnmh";
-"normalcolor.doc-r11"="vz9557sxw9c6l8m66aaagcv39x1vkfzz";
-"normalcolor.source-r11"="vs4y1p0zarr6nppqadcdcp03lc6nd2zd";
-"notes-1.0.1"="w3rp5aas5n6sks7d5j7b27s11zi4lx3v";
-"notes.doc-1.0.1"="hn20w72lj73didm46kkay056msa4cr8h";
-"notes.source-1.0.1"="23qrfsbbmyds189kcnq09jbmd23mi50f";
-"notespages-0.8.1"="3cx726w1pbmdiammpbzp0rmcahhza7p8";
-"notespages.doc-0.8.1"="rql7rmn1c85r1rb2jpmwd2h29m7b4gmx";
-"notespages.source-0.8.1"="sskq21wj4vhqyq8xzhrbsh7p8c701r7x";
-"notestex-1.0"="innwzn87vplj094lxw9w48ck6s5hmb5v";
-"notestex.doc-1.0"="p4lyxlar4125y9x3pb6sd5ysdn7w3vqr";
-"notoccite-18129"="ifpkassfd9j5926gsnq00954clc52sbv";
-"notoccite.doc-18129"="5ggqh1mvc03xgyipc6c49ssmlaywh83f";
-"nowidow-1.0"="hf3wjpkn1j2yksdl8mryssv6cxqjn3si";
-"nowidow.doc-1.0"="w1an9iayppa59h2iprjr515w8g72qkg5";
-"nowidow.source-1.0"="b6i3ypchipa228x0s6i66vrvf7zc3hgc";
-"nox-1.0"="dg0znk2gi1j87il21s7gnjpm79xv4plj";
-"nox.doc-1.0"="alyzx228zmwgpcrinv3xy6v569pcmq1r";
-"ntheorem-1.33"="2hhpj2gkad3jbmh0df7hhfy1nr39hkxs";
-"ntheorem.doc-1.33"="1ac6yj6f3c4brkgzy9xkwqmzhy2q2qy9";
-"ntheorem.source-1.33"="fc0wyfgjnckzqrd7lf3a4n6yvbhwaal8";
-"numberedblock-1.10"="x1wlbk0d8xbl0b3mx0bxgymc9jd3vv5y";
-"numberedblock.doc-1.10"="866z5if0xryr7mmi70any7p9l93f0d38";
-"numname-18130"="7gl7dp9c1wj7phv8ys39kxnarifbqfd2";
-"numname.doc-18130"="pfp7zzapdvlfbs9jd5vc2x977nxs3yfw";
-"numprint-1.39"="7fd6ja6vw3c7yg824y30xrqrmrk3qkwx";
-"numprint.doc-1.39"="bbfg2cyh8cykgl3zk9c53wk3q3vbb8pn";
-"numprint.source-1.39"="cr7xjw77r8h4bcjihxc68iraxd760gh2";
-"numspell-1.4"="y1gvvz28ix791pp51bc2z4403bn9c1c0";
-"numspell.doc-1.4"="85l7d5arf6ss67lhzjj72fldlyz6isc4";
-"ocg-p-0.4"="lxy3nprj8j37b2c7aylxzgm17221wscx";
-"ocg-p.doc-0.4"="qg16xjfjp36s3jxm1m75ln2nrl1rlama";
-"ocgx-0.5"="28p11v602hf9w9q1vynbf8fyhivbawl5";
-"ocgx.doc-0.5"="6vx8iiz0zfipwj45xrk1gv9cvifv4y1r";
-"ocgx.source-0.5"="5bm25s1rgsky2qc14nrgg6v3n0ywwcb6";
-"ocgx2-0.50"="882gc1lnwwqxawl84zl6db6v04qiwvcm";
-"ocgx2.doc-0.50"="9349xdahrqaz2riwqmfcz1s6zaf33bp2";
-"ocr-latex-15878"="7mi6izsnwk6dksgmscyn45w72n1bgk2h";
-"ocr-latex.doc-15878"="9cz06542a64k4ns92qgkx1hzm5sd275w";
-"octavo-1.2"="fpv1fcrym9gplxjs0zsrrv4iziizqzxy";
-"octavo.doc-1.2"="wcd4cj4ihgmm1d0i36l66bf8dpw5cm58";
-"octavo.source-1.2"="30dsp7266fzc2l2kn98pqwwv6sdb75hr";
-"oldstyle-0.2"="3910vncyk04awikr4g0afgyfqa6dqxa3";
-"oldstyle.doc-0.2"="picdnpvv6c53j0mg8gn3l89c4ydph9s8";
-"oldstyle.source-0.2"="dwsgqd631bncikps4m9fvr7l7y428w5b";
-"onlyamsmath-0.20"="z12vjq71xjihl30fwfhqqm4wimb1dkwr";
-"onlyamsmath.doc-0.20"="h2whk4751icqb332z3h346vcjqrbgjiq";
-"onlyamsmath.source-0.20"="w3yqdsdbhx5m6briw33a0mh8jhyx25kr";
-"opcit-1.1"="59ykfp525lby8p0y5y1b5wk8ab9dvznz";
-"opcit.doc-1.1"="h74vnsw6lf4iaca46r07x0i05rhrq4m8";
-"opcit.source-1.1"="xsw3nb19li1hxnfpr4xhkb2s8qg3ap1w";
-"optidef-3.1"="s39b2v2hbac946vpqvbp0wxmw7kf8rrj";
-"optidef.doc-3.1"="bi8453aa4xxkmjs630hnwm8ci1k6zfbq";
-"optional-2.2b"="akjbm6gzli451ll82zbrwhpcajdn1b15";
-"optional.doc-2.2b"="jg81vzayz3a2pvlxhvyrx8j3w1sw65xg";
-"options-1.0"="5xy1cf8yq8awm7bspjj23nywhbs7ww67";
-"options.doc-1.0"="gy13y93wl0im19p5jc011fjnr49afgsp";
-"orcidlink-1.0.3"="6dbw14c5hbwg7i81cwhcizhxqvj1y60c";
-"orcidlink.doc-1.0.3"="4bfjh8idb66hdq7k6sar6k59vl7nhdsm";
-"orcidlink.source-1.0.3"="7l1vki8k1l05zi81aavr0jk2f37xcbn7";
-"orientation-1.0"="lh00icyx7hxclgk9i252rh3xzcni9yrm";
-"orientation.doc-1.0"="zy79k6hyw6b6iqmf475vzx6m6ymghvwz";
-"outline-18360"="m192v07lmcfzq3zbv87cbckz8jwanbha";
-"outline.doc-18360"="wcm9psb6ap1a5xy16fp91bwpxkhqxmh1";
-"outliner-0.94"="24bsa0d5zxz2i50i4bz0b3zsc5v7hp8d";
-"outliner.doc-0.94"="qgvvmjxq75fq907z1ya4vkir6iq7sbmq";
-"outlines-1.1"="0yh26641p29qj71w6zsx1z6hsr663q1k";
-"outlines.doc-1.1"="zg8b8617kq2vbf6inn2ms6x4a27j8yf5";
-"outlining-0.1"="c5xzw92b42pfbxmzmwrbiy4r879d3ja2";
-"outlining.doc-0.1"="rgikl4vfy01hgv90nip0iwx808iazvfx";
-"outlining.source-0.1"="miidkl85jpy5y6a7n71vilxaissip8c0";
-"overlays-2.12"="mq6pdz8mkg2k68z73x5y37qd3741s2bz";
-"overlays.doc-2.12"="kmmi2q3v1c8xjxcp425ca7ns2pg71lfy";
-"overpic-1.3"="jh264pgfn17jgbmy06g3wb6vhqgifqik";
-"overpic.doc-1.3"="0158l132my7sn1nmgwxnzfkp2gxpnzm7";
-"overpic.source-1.3"="v5d34dvqfy5s3m77q444rc5naav55rig";
-"padcount-1.0"="am7s242sajkic0xz62kd1blgvbssgymr";
-"padcount.doc-1.0"="790smfw5i39mn1i8kfgd1dq14mgc3v7w";
-"padcount.source-1.0"="1p1pl9s3cdjjd519w8djbx7wnnl6sszd";
-"pagecolor-1.0i"="sllb6vybrngchz5k569b7pl3w13h6qfn";
-"pagecolor.doc-1.0i"="gm3l4g745mp6910pfv5201k63v44yr83";
-"pagecolor.source-1.0i"="ycqzawzck2jisybmxs7yfrr8v2h3vhy0";
-"pagecont-1.0"="8n68c03h2ckbvv11jj3cdv771ih60s4c";
-"pagecont.doc-1.0"="xkbrxr2gk65wgg5zf4cklsyzlgb03fz3";
-"pagecont.source-1.0"="74vmzb28in78lnkb7gjb8pg626vff0za";
-"pagenote-1.1a"="qnzjzijqrg65slkh5963cl1mxy8zr3b0";
-"pagenote.doc-1.1a"="pscbm0bglyryz5y4ghqgh0kkkyqw20ln";
-"pagenote.source-1.1a"="wkgw90mb45sq6baprpygc3qm5acnqrjj";
-"pagerange-0.5"="8w6mqbd385ma3m67h7v1h71mrlgkhqli";
-"pagerange.doc-0.5"="2kz3fnznp92cjp7b1lwpxvggn1q6hs05";
-"pageslts-1.2f"="axyv179gvcnvr6kv8hddpbyzj9prg0aj";
-"pageslts.doc-1.2f"="g0pir7bhi5dy6v1h2l3fzaskyba6kqrp";
-"pageslts.source-1.2f"="6a1az2z2h17z71k1bd8ziawn9ay9nrvb";
-"paper-1.0l"="wxk3akaqvdbc0q5whlwd2jpw0nvccwmn";
-"paper.doc-1.0l"="pppdcafd1gw0y9d5j91b2smzdssvvwyi";
-"paper.source-1.0l"="g5np7r4ncm9pyzpqm3f0h60cihmfbfsf";
-"papercdcase-15878"="dncf3im483zf3ix2ycp8d07bdpdqnfqd";
-"papercdcase.doc-15878"="cv4gkmg3rljv2j0pb0xjw6xzbqdii5cj";
-"papercdcase.source-15878"="qlbxx0dxb9vj7939sr3pl8cam98bc619";
-"papermas-1.0h"="xrl9ldvps0ffrygpgj501bvi4yb6cz2w";
-"papermas.doc-1.0h"="1p87yvwnn29mi2n2q4z1jsxfnq8gd73p";
-"papermas.source-1.0h"="6i3yx6ygswgf7yp1c0grv7gr6qc77r1l";
-"papertex-1.2b"="qq8m5fiyahg69aw4ajb01jg9k8x67kx8";
-"papertex.doc-1.2b"="x0s08fx3x24s5rgbsana1q0k06khczhc";
-"papertex.source-1.2b"="pzlnd4a3gkkdir8il99pkn6iw11w6bjx";
-"paracol-1.35"="nlp7hsfirg9x091qd1yjrpg2d9vanh2g";
-"paracol.doc-1.35"="mn2n3z3656wwk7rqii271778v9ca4yf9";
-"paracol.source-1.35"="zw0z1fnlqd1h9hgxgc6pqnj99rsbn679";
-"parades-40042"="bkr92ffb7s3zzl845jjkj1777517dwk1";
-"parades.doc-40042"="sfmlhp1idjhvy6cldh2v2k5bl5lp7s58";
-"paresse-5.0.1"="jigr743az2xjrw1qsb15w2hcvi78xjl1";
-"paresse.doc-5.0.1"="r3k4iifg67gm7sxac4l4qzlx94sj5ai1";
-"paresse.source-5.0.1"="9kcjbh6pzglp4h72dxih81xkn0ah7102";
-"parnotes-3b"="42sal99phkqbw05k2d9x6by27iy7sc7j";
-"parnotes.doc-3b"="3hlfpf75qjahy1qzc8l3dl1n8pj323pm";
-"parsa-1.3"="iawcalgm3zpppbclhzn63i33bmnxk47c";
-"parsa.doc-1.3"="322amnin34r5p1r0rmg1phmgqbx4yj6h";
-"parselines-1.4"="krgfsp0vcnpgwgw70aw8iwbi9r9fnwsm";
-"parselines.doc-1.4"="ahspn4rw6wdwlk9sgd8f2jajb2cbm33n";
-"parselines.source-1.4"="n652xalrpp0s7yy0dvcdz24khybsm1cw";
-"pas-cours-1.9"="1kqwk3hwllkrlajh6l3k0y1xxpql7jp2";
-"pas-cours.doc-1.9"="6anwqql5pn34njc0ysqr408d34vvxalj";
-"pas-cv-2.01"="zdvf8flk3kjln11sn5rs3cb265q8fgzv";
-"pas-cv.doc-2.01"="am16i8cjhh2jadlhqsmfx8vb2jyrj8fn";
-"pas-tableur-2.01"="ggwlvzkwdv3qhljir7c8v8fwivi9h7lp";
-"pas-tableur.doc-2.01"="942prkpjhj4zpvdg2d2k27ibvchw2mbz";
-"patch.source-42428"="6k92ah4ka1ljyxwgg9n91m5aj6nwvnq8";
-"patchcmd-1.05"="asi7jsa5gwd1i2k0arh2p24wprnqfb2h";
-"patchcmd.doc-1.05"="8nxwjfkxc3nbj39wfvqm8bkxm4qs1y66";
-"patchcmd.source-1.05"="bpb3vc5kdmhiwh0s6sjvxjshvmgr7hrs";
-"pauldoc-0.5"="jmvlwadvci0ha513vxih3myaq6fzz5q0";
-"pauldoc.doc-0.5"="3zflmnljccqsla1ng0rjkgnmiys81r44";
-"pauldoc.source-0.5"="7q1bzfpfrxq3mfmk4p0w58ri9w1iymks";
-"pawpict-1.0"="spbcprlcpyxh9yd98rfd8vy7ydxyk552";
-"pawpict.doc-1.0"="wrpl43c4g89pgnrpcjky42h1ckhc4dgr";
-"pawpict.source-1.0"="qfmjx2x9vrlm3zq8msph0c30py1n2x96";
-"pax-0.1l"="iqmsy6p191p8bn2bs642zclq3q42n89p";
-"pax.doc-0.1l"="cjppdms9xlc6hsj0mk324ndpjqg2px93";
-"pax.source-0.1l"="harabcx553nchhf8hh9m3wqwic4l80fc";
-"pbalance-1.0.1"="fa64xh9irys681nlh0gn2fn4qgq2jwbw";
-"pbalance.doc-1.0.1"="75v4ijv45pzqrzwr1cm9bhgbmcw21824";
-"pbalance.source-1.0.1"="mb458ddplvcqcbsz916nxy5crd2i0ach";
-"pbox-1.2"="9y4p69w5nskv8j5i8a2pxmhswxz8nc50";
-"pbox.doc-1.2"="hjv8mqhlfa9ggqypr7nwzzf03rgm7cry";
-"pbox.source-1.2"="pk6hx6w8szi4dbb7irkr0wy3xwjjdpxg";
-"pbsheet-0.1"="ph2vnjalj2imlyb1nj1rq5cv84x5a4gp";
-"pbsheet.doc-0.1"="kc5rypxy3ksbhcyh3rkxv572z8r1rmp9";
-"pbsheet.source-0.1"="3lqxvqw0cm5ibnlq16zq2drbd4gcjwmk";
-"pdf14-0.1"="nc5xwg94y7na253fjpk9wv8n9qvsk7b0";
-"pdf14.doc-0.1"="lr3ls4m5rz8fwf37j5zw6prrn5kd4dkf";
-"pdf14.source-0.1"="0y28fgs01xpfadwxc3bfq8y42vh87jkf";
-"pdfcolmk-2.0"="6m1aap8lggxx6116q606mbs6frlghycp";
-"pdfcolmk.doc-2.0"="zp4v32b6s8g1myj9kkh0iz2h8j1pb8zc";
-"pdfcomment-2.4a"="g8bnzph5s7ihl4h1y5s9bkrkgj82yi96";
-"pdfcomment.doc-2.4a"="9x3yh17abc7inrf6nb45gk1cvg78gw5m";
-"pdfcprot-1.7a"="qsbfyac2h2qqbk805q72v4v8vpzn3myp";
-"pdfcprot.doc-1.7a"="ri7rfypz9240jkmvfvlza821k9m2ana8";
-"pdfcprot.source-1.7a"="95cr49yywd59mcyj7qvqkfc9bhj63hxh";
-"pdfmarginpar-0.92"="pra0y1df005b6br3n93zpi7wrvgk2h6d";
-"pdfmarginpar.doc-0.92"="0kc0dgfq3mmnwy3xs79gjmxkkmmfl5l4";
-"pdfoverlay-1.2a"="zajhpdd1vdmf72f7ch5122n98jn8f312";
-"pdfoverlay.doc-1.2a"="5x67ws2bacl9vl3lnvcamjibwwigkimv";
-"pdfoverlay.source-1.2a"="q4pag6s005bs4b5hykf4by4j46skc516";
-"pdfpagediff-1.4"="3nj0fki5pqm0i50fzacdvnnzhhf2b5a5";
-"pdfpagediff.doc-1.4"="8h093sqzw62ivh2csz6fhkbbkdg1na2h";
-"pdfpc-0.6.0"="a1x8k67pkznhg0v9x9nsvvmyjxzfmsrk";
-"pdfpc.doc-0.6.0"="affrj9iz28cpkk6gsjiczs02qwwg58ln";
-"pdfpc-movie-1.0"="la1blfvhk9kwfy2q0sp6x1ybw5c2i7jh";
-"pdfpc-movie.doc-1.0"="5qc0gdmlgspl5696zvng96nbhgr0j0m4";
-"pdfpc-movie.source-1.0"="2d4v3bwnsws65w57arhbs2j5gvm3w5f4";
-"pdfprivacy-1.0"="0nsgnfid0rp2xkmfvfxnjp7v7dikkxbv";
-"pdfprivacy.doc-1.0"="1wr2s6qkmp8knplyvqwx0micqgal3sw7";
-"pdfprivacy.source-1.0"="jr4iilr7yiknx21fapgzkkgy4mc15r6a";
-"pdfreview-1.2"="fs356zp97y8h48560c0fyjw0aymj8dwr";
-"pdfreview.doc-1.2"="xkd8140x13sfs5krj1l1p3zvj4vwjjf2";
-"pdfscreen-1.5"="5lwdmn4lxkq9hgn6fmr4rc2gdk3ms583";
-"pdfscreen.doc-1.5"="bcg3kviqc0jr3s5h5xa3in5g1hj46zkv";
-"pdfslide-15878"="78wynlp5vyc14zn93gwy73yyykk0yh0i";
-"pdfslide.doc-15878"="j8krgspjlvn4ja9dww3mc0g3zg7qhlmb";
-"pdfsync-20373"="xqg7my569gq36snly1kpii240byrpx7s";
-"pdfsync.doc-20373"="y6am07gh7iwgmgkwq7sg9z704waxgqai";
-"pdfwin-54074"="yfdlssqwsa253r0qzvy5xbgbgwpmmxpm";
-"pdfwin.doc-54074"="7k1kqy2rpr93q4nvdvwcrspqjbzz1h4i";
-"pdfx-1.6.3"="1inx9kkwqj831ikgplqvffk8f0a8s6gc";
-"pdfx.doc-1.6.3"="c1grn1ahiddzp95biymw47x04fv3y23k";
-"pdfx.source-1.6.3"="6jj6972hpnhn46bzfzp1r201pmfnx87i";
-"pecha-0.1"="8bir75jmi5y33ids3wixm0sr7zjd66zq";
-"pecha.doc-0.1"="lhdivjzja3syzm6ksfcckx4a9q3pp8ph";
-"perltex-2.2"="wshi5f5mkd59ncnw7xwp9pfw3mwgv5x5";
-"perltex.doc-2.2"="inj1sx8rkkdxq2sqnqgs0hc9ziybhcvb";
-"perltex.source-2.2"="a8lsqd2ls33rdgjy5fny1jz84gb1z8b3";
-"permute-15878"="anxvxdpnmr31a50r7anwj21vci3dxvg0";
-"permute.doc-15878"="rz1569972rz72laqrxnkphxr3bdx1pxl";
-"permute.source-15878"="va01wn3pv0j0cxqmgh8cjricj4m2vjxv";
-"petiteannonce-1.0001"="xv2yjs519vz0inbcy7m2a201ysjl3gwj";
-"petiteannonce.doc-1.0001"="9xvfy2ivdmlamj4fr1q5i1mfh6diys8s";
-"phffullpagefigure-1.0"="hp51s42ycsary7n2qngls1bm6j6mi5ab";
-"phffullpagefigure.doc-1.0"="wvbhkw4axm3bkx3jyi32iy0g3bbbfc6w";
-"phffullpagefigure.source-1.0"="z0wwcy1cjs0kv9lwxdl7waidccaa9w2x";
-"phfnote-1.0"="77if36imrvp4g43h3vfd6j9qzsd7gv3c";
-"phfnote.doc-1.0"="i0vc3q353aa2f1xjhmddlq273x9jngp9";
-"phfnote.source-1.0"="0c893r2vi32kp5cx0ncwa23zryyy6j3m";
-"phfparen-1.0"="jj8lpyhs4h7li0dmc70xhf2h17vgqrwm";
-"phfparen.doc-1.0"="73rcrl7hp843q2fjgis48raf9hh4yaqg";
-"phfparen.source-1.0"="zqdkqbjn75g379gsw0jvlzbyz5qpr1xp";
-"phfqit-2.0"="yln8ifsblmbsp34na3jfi2j5z9az00y1";
-"phfqit.doc-2.0"="ll95cj7p15xx79q024p6xdf3wsjzlamv";
-"phfqit.source-2.0"="xqiygbddiwvl3l1x9xdqcd6zqdbc4xj3";
-"phfquotetext-1.0"="52h9qw8xvldzr7smwbg7njr8acxf4hp3";
-"phfquotetext.doc-1.0"="gk5008b5k8qbi3q2i7bjk57ipwz0vyhg";
-"phfquotetext.source-1.0"="wl18lww4jvg1k8361ra2jqc5z3drs4vf";
-"phfsvnwatermark-1.0"="11rqnm8ag7p0iv2bziy89w66j9cjv4vk";
-"phfsvnwatermark.doc-1.0"="rd3y1kns876788nmbkm7r95wml31yvg8";
-"phfsvnwatermark.source-1.0"="666y9zym40h351a9fbnwy24aangwswkd";
-"phfthm-1.0"="a1g65ldp21rjb5nk19ygpijbs0xfriqq";
-"phfthm.doc-1.0"="ad1m16cjb9kyi6jk6jnvgxcm2ci8pxqg";
-"phfthm.source-1.0"="lbd9qwdv67spq7v1dy78012a874wg9mv";
-"philex-1.3"="766zmr2yzy48mmdakjhvvy56ck2g5zhf";
-"philex.doc-1.3"="r94769rncbhw6cdvzwm0s9fhwa57z7xx";
-"phonenumbers-2.2"="82hwh6yj11vqrskchkvgnimiyxhzcf7m";
-"phonenumbers.doc-2.2"="ac4b8860hyqw8pjpbcc58bbjzx1pzm4c";
-"photo-18739"="d2rv82rm7jyd2fvgzs545kz32nb7fn6l";
-"photo.doc-18739"="1gn03gddjcbfmidsn9snhbr9nsmlbsmq";
-"photo.source-18739"="70n1vi9qla3kl592hgay45af9m078l58";
-"picture-1.6"="z9r12wc2iwp7basv33kdpkg114cwhxww";
-"picture.doc-1.6"="iy3lwfdgbqkhqfgx49h5978qbgwkfhv5";
-"picture.source-1.6"="0vd0z8k0mwa8zibwf6llarqj4j3f379x";
-"piff-21894"="xz2idyqgwg5y7r9ac0bykvfx533rd29p";
-"piff.doc-21894"="xwlsyrk4mczbchklsx5x8ip08zc5jk6a";
-"pkgloader-0.7.0"="15p6m1152qc334ljqhnzdagic2ylvpgs";
-"pkgloader.doc-0.7.0"="k6qdk7x5pr11qspbx9ggabp18n88hlmx";
-"plantslabels-1.0"="yi1s2470aj75chj1f5mi9961w9if1mpd";
-"plantslabels.doc-1.0"="m9h0zjyk3jf0ksc6dz4zgw9niha0qkm4";
-"plates-0.1"="chankj3114snam38fsi9nc4zap0b86sh";
-"plates.doc-0.1"="wz1xqxldn325p4c87b16ns4xxx7l5bcz";
-"plweb-3.0"="9d5dh5afrcjlcx279s7hkrsi0xja0fg0";
-"plweb.doc-3.0"="519cpfwspp2kxprill50lqhzimdi26jc";
-"plweb.source-3.0"="2ikq5nka9npdkr8gqkj8lyi1hqmxihzr";
-"pmboxdraw-1.4"="nq604ycr2pv9c1wyv271rzyc0jjchjhj";
-"pmboxdraw.doc-1.4"="h3pskixylkzqf692514rd7p4k69z97g4";
-"pmboxdraw.source-1.4"="lz2chby0wx4yxl7lz5qhavzjmgshp760";
-"polynom-0.19"="lhl6cw071xb7ivyzhdylq48ja6dqq377";
-"polynom.doc-0.19"="6sj89ph1gnbd0xa2f8sp457ip6v8sadb";
-"polynom.source-0.19"="9z3hzyf19ksy521v28p47h1dxh3c9n67";
-"polynomial-1.0"="k11f7cmzycx5q6ww5vnrxfp7xf3238r1";
-"polynomial.doc-1.0"="ffr0i9z96w9ahr8k1jx8klk1kddd1zm0";
-"polynomial.source-1.0"="m844kmijznga9r259cm2h977w4zdmi3d";
-"polytable-0.8.6"="ccn1r0s2nwbpxp5mmbasvnmbivcswhdj";
-"polytable.doc-0.8.6"="sy8gz8n84qky60r7kqpxariw0mj0nvbz";
-"polytable.source-0.8.6"="qiakbb7083n8cjzhp9dnnbx7d3ccp906";
-"postcards-21641"="zvcijbngj8m505fcx22y1hs7y5jmn1kc";
-"postcards.doc-21641"="d1v423a7xl8pi8nqqzbr9y5ag8d2pkkj";
-"poster-mac-1.1"="vjpg0bc2f1qv0hr0kcxasymrchpwzn05";
-"poster-mac.doc-1.1"="8m0bk06l7y5bps6hn3xd40s6yb0m8c19";
-"powerdot-1.6"="2ff609v2nwjjxfs7jb1imb4p7i39xf8g";
-"powerdot.doc-1.6"="l7c0y574ykjjw5c2mrbrg1cb2v4y1kc2";
-"powerdot.source-1.6"="ag13n15yh4vvlnsljrkdcp4p1g5x8jrj";
-"ppr-prv-0.13c"="8znyclbgzli74aiciayqn88dp4p7mvsl";
-"ppr-prv.doc-0.13c"="x2mvhsnrb56nm2s431xlb7fi9g8irbzx";
-"ppr-prv.source-0.13c"="g4r673h9bqfxkh1ih2qp9shhf40cbz95";
-"practicalreports-2.0.3"="z0zj7cw6zrywmjxwh1kv9qh4340a8729";
-"practicalreports.doc-2.0.3"="qnag6zn4rn2l8gwwrmrm2vminwrz8w4f";
-"prelim2e-2.00"="sbggpshfqbnkx6vxl8gldgswsnf0g7sa";
-"prelim2e.doc-2.00"="hjzx94h91zal4xqpdhvgq03in9pqxzzl";
-"prelim2e.source-2.00"="4979f2wp30xgi311nfvkivlcdkj2h0wb";
-"preprint-2011"="z8qdsshgjd3dav562qnyx4vh9gdyga27";
-"preprint.doc-2011"="78x9z1vyl7vpcv39nj167bawb4z8fsnf";
-"preprint.source-2011"="i09zkvcpvapyf2jj7yhabmyrpxyf0gp0";
-"pressrelease-1.0"="7bxy141i0a7n3r2z4qnx309ijsi14dka";
-"pressrelease.doc-1.0"="y5pnw0xv53mp7skrjrjrcsr3r7hvwylz";
-"pressrelease.source-1.0"="bqj7qnacxv8mnjqjwdspm5zi5xg10im7";
-"prettyref-3.0"="a75q522ix098qzsnhxg9w12kwp62xgk2";
-"prettyref.doc-3.0"="vlnivj6n4wc0cf9l53352ph04wijswv7";
-"prettyref.source-3.0"="wm5367872id8pf7v2k6wbbqvbh5ysrv0";
-"preview-12.3"="6nij1k7lml3fwzl8qmwx8515cnsk53pd";
-"preview.doc-12.3"="9rgwn57grqwvw45jdca07k7jcj898aag";
-"preview.source-12.3"="xyak9iszf9hvfyiggz1gvl96ki862cw2";
-"printlen-1.1a"="fg8vfmr64nm31r8hycy81iqvqf6l9rim";
-"printlen.doc-1.1a"="95icr7kk7bkg56m6sy8g24if35pfhhwv";
-"probsoln-3.05"="qxvjb9csxhrh20qfk4xh264q4pvb5ghl";
-"probsoln.doc-3.05"="n81pf053v27m4xj6cjnjmd8r0sb8lv5k";
-"probsoln.source-3.05"="k8gwixn5ssp97d05ml01k8f9z6ijspq5";
-"program-3.3.14"="fxq3hls6cibrc92g1dyavcr8s2qjxsr8";
-"program.doc-3.3.14"="qvhjjfq3msq1i9h5jf2nx54cp87b3bl8";
-"progress-1.10"="zf7iqvmc357pfg7phrc9gggwyb8rb0hw";
-"progress.doc-1.10"="2pylrgmyscf4p6ndba4jf87vfglxydrd";
-"progressbar-1.0b-4"="6zvflmdsm1vxkm3sjgmxpvl6jsw6vy82";
-"progressbar.doc-1.0b-4"="ahkr6nf44xv8czg4ffpx2qbxzwn7b24f";
-"proofread-1.04"="910z66xdhwfcs7nja83ys89alq7blh8i";
-"proofread.doc-1.04"="8mk3ch8mi8b1xqcyhcpqqhzp917j8hva";
-"proofread.source-1.04"="q62jds90qpypw0hmi9lzdl72whniqp3r";
-"properties-0.2"="is4zxlnpayim96h9vifb3wazi4hcl018";
-"properties.doc-0.2"="pdpdn0rbg28dq9qgry9w9j2wvzrl9sxx";
-"prosper-1.0h"="kwjg42wqipj8w4rmilmrpsl5spr8hzmp";
-"prosper.doc-1.0h"="9bfspx1labf3y4hhy7a7sv8ccfmqw4mx";
-"protex-41633"="ajf4lsibbzcr2ynvfpx2n4pnazfkng2k";
-"protex.doc-41633"="j9v7mdk5dnlhdrj5sl3afbvgqgpk0bbq";
-"protocol-1.13"="2mpbqs6r1sl8x79dbkzgg0vh0xxs89pi";
-"protocol.doc-1.13"="fzvldl69vw5kxljg5jm4qwcar1k2zg8q";
-"protocol.source-1.13"="x52qwan5dahs53bdm8dm450h2ljr7lsp";
-"psfragx-1.1"="pb5q4bhhn2zxm0vni6xwcyxq76wj85l1";
-"psfragx.doc-1.1"="bfx58if7s6z0sb5faslismic7jbx4ycf";
-"psfragx.source-1.1"="6ikq1jhicgf6109gdnd3ldng0ycy920w";
-"pstool-1.5e"="1niq51k7cvq7kqlxymixhrhrg811rs3q";
-"pstool.doc-1.5e"="y68jbyp1rzd3wkpwvg17kiz5fsfczmi0";
-"pstring-42857"="whkbcsicbqlvz1pwjfypnvwwbbwqpwfr";
-"pstring.doc-42857"="gf1pmfhczjrkjgpawxbk6zqrwindadnr";
-"pxgreeks-1.0"="hdqmxzcwyd5llq80fakhjvx8whjxs8mr";
-"pxgreeks.doc-1.0"="hdm2s76j6vya85lid9lrkzhaj6bkvlda";
-"pxgreeks.source-1.0"="1i5jmxhyphz2mdhl742ydrzam336ix5w";
-"pygmentex-0.10"="v0g38cn50ybp08jqycwkj3gfb482mzx2";
-"pygmentex.doc-0.10"="3fsj110x7rzgmwrmv3g70y84g50c848n";
-"python-0.21"="a7v60025926j1nf783w765d773zla60r";
-"python.doc-0.21"="901hkhiwnx89si1rx242wa3gx2mx5kkg";
-"qcm-2.1"="d9xas7ra5n0hzkc22s6ky3qr752i1i2k";
-"qcm.doc-2.1"="ljb5bhy71jscf6hdw6xmxxyy3jyfa8py";
-"qcm.source-2.1"="zywcw16m4hk75ialbg92bx98snk64hpf";
-"qstest-15878"="girz5x7dqmr96mqyviwld4i06s1h4ldd";
-"qstest.doc-15878"="0w3r2f745k9kj4ig8yrq1w1l1dhdblcs";
-"qstest.source-15878"="z067nizm6rcjm6yz1141pxa7gm5yyfs1";
-"qsymbols-15878"="w1c7ni9qmy255nyg3hb0yf94p1b924n7";
-"qsymbols.doc-15878"="pfhp65iz5ybxccd7yjxg2rww0j9z2xhf";
-"qsymbols.source-15878"="mk7daalfvk3wyyhnlvbhb5144g6qm8xs";
-"quicktype-0.1"="40znnh6yxbhx1i7gsr0icvy5avhm68nk";
-"quicktype.doc-0.1"="ljcdha8k0ngr0ymwqbqbblgyslybvcgp";
-"quiz2socrative-1.0"="8wpvm4ysp513gkigsymd0d0sg3708m4r";
-"quiz2socrative.doc-1.0"="xpz8wilnlh12lf0dfjvmzcprjd7pmr4k";
-"quotchap-1.3"="jn2r0lm9ky6k8y38p60fls6lvfqh8crl";
-"quotchap.doc-1.3"="9qibsdfc8gr5f56wk9lzfyj7si7mlcq0";
-"quotchap.source-1.3"="7h3yh4i3gfd48hzzrf0xj2adjb5hmb9n";
-"quoting-0.1c"="jmw5a88k3r137dxxrvznxx9xqwh9yvlw";
-"quoting.doc-0.1c"="2a4d2w7b4jshz79hhz57fpq6vzgdvb34";
-"quoting.source-0.1c"="g238v3pr075wgknaj82ivn70z6fbf0gp";
-"quotmark-1.0"="8inn8x79cps7g1iw3pfmc7lyky20vyxx";
-"quotmark.doc-1.0"="nkjdi0xl5yvvscs63kjdy7pk3dcvgvxs";
-"quotmark.source-1.0"="nhinvh37dw0n8wk1gvpqnp5l3fmaq3v5";
-"ran_toks-57520"="48w8b30295c0kmj16lxqqssclzwa9p6i";
-"ran_toks.doc-57520"="hgp0ba6w40zh0frwn1z6h3rdl1lgy22a";
-"ran_toks.source-57520"="g74zm3wg52imnsrxqzhfdpgcl565ni41";
-"randtext-15878"="bnb1sk549kzmljwjyb9gc45xr2ndckcz";
-"randtext.doc-15878"="9mpim50akqiqp54x6kpz8w4wdv9d12dp";
-"rccol-1.2c"="31w19kr365k8wkvkx91qqcw46fnl0sbk";
-"rccol.doc-1.2c"="80zx3h1b0wjw8qgv81kb4la3zd9hh9m6";
-"rccol.source-1.2c"="sqkkyhka856h4iirnvy4s8bdqlailgxa";
-"rcs-multi-0.1a"="ynh0m6il06lpc6cldc47hvk13n0jhpjy";
-"rcs-multi.doc-0.1a"="p5gwxj7airn6302zk05j32lhhnaxxy0p";
-"rcs-multi.source-0.1a"="6pc8wyv9fgazi1a240fxffwmyslir86p";
-"rcsinfo-1.11"="y7cymhiac6wvahhzkmsrkchrp2i5i9fn";
-"rcsinfo.doc-1.11"="v6wc6q5xv5rwbcgcvfrlkbk8lw3h4qz0";
-"rcsinfo.source-1.11"="86ss0sk5rzss6m4b5n96dwfd0vjh2acs";
-"readablecv-3.0"="dp6r4cyyn4i6gvq9x10id9c9mb6463jz";
-"readablecv.doc-3.0"="gz5af92whgks47bp8k8bif7hqx4mlr7p";
-"readarray-2.0"="6f0daia3lp0ipi8swprpgl1pzh44hwc9";
-"readarray.doc-2.0"="bgfhvri7xh8kq5y1qykhzhjrv0vcss2m";
-"realboxes-0.2"="frdrijzjm4yi20fddhxb6gp314qg6bsx";
-"realboxes.doc-0.2"="95b3g7v3hnns9n8l1gv69a9b1jnl4za0";
-"realboxes.source-0.2"="2sj5y6k08cwcp8fs0ay7z7ik02is7vly";
-"recipe-0.9"="ya2zz3axlaax8f7qkz3rwkfwl6kc7hqw";
-"recipe.doc-0.9"="nrgg002rpx1gw16yx9pl4xfiyjg2lk16";
-"recipebook-37026"="z2m105warknssz9d0b5f0fg13mdjrwqv";
-"recipebook.doc-37026"="1w359b6rbd8cfvfa3z140hzsk7515m9m";
-"recipecard-2.0"="ywrn03f3hy5hyzszpghn9rnjkj9a3kqr";
-"recipecard.doc-2.0"="1g67mikrdxmhpn4xgpnlriapp4als1wx";
-"recipecard.source-2.0"="7g35xa8kbcsrxxmp9xxk3rgvas158m9h";
-"rectopma-19980"="j8pxsc46j0m799x9srd74d7q4jjxjdwv";
-"rectopma.doc-19980"="7h3v5rpkvxcmv1nj0wzxpgn4whs1gk4b";
-"refcheck-1.9.1"="llb529mc4gj9wf4zzs7jz9p2qgngwxy6";
-"refcheck.doc-1.9.1"="hvcfjpx9g9wiaqr70vmrpkgqy4i7xikg";
-"refenums-1.1.2"="8zxc6yyp3c597ydikw4zc36ri5xhlpid";
-"refenums.doc-1.1.2"="jqqqwvr0bd163njgkfgz2aj1jlgmlnxk";
-"reflectgraphics-0.2c"="bbpagcn17kwhp9jzp3r6kp23qbr3gqs0";
-"reflectgraphics.doc-0.2c"="klwad1c3lbcf9dga240cipdhf8vm4q0h";
-"reflectgraphics.source-0.2c"="1pwn5m9mclwsmwalal0bcfvi5sq1jh37";
-"refman-2.0e"="32g63hz11bkfsdh6n6jcl84wyjjpq6nj";
-"refman.doc-2.0e"="scp335xnhndrhgfvpd5l1372jn3qashm";
-"refman.source-2.0e"="c1d1va229zsmx2xi1gka45haqc2714s0";
-"refstyle-0.5"="5k4yj6qqvg0xph423q8cfq9yp3m57c11";
-"refstyle.doc-0.5"="w5jaccslhd2ksxq421q6zxj8lddrad45";
-"refstyle.source-0.5"="g5sfid23vsvy6b99hi1jkwcshgcgv5wi";
-"regcount-1.0"="bxa9jg03phjn6ibwfils5jkl9p6r427x";
-"regcount.doc-1.0"="knh85nxr5m3g1ljcmp7z58q0xi4rc46g";
-"regcount.source-1.0"="gr39ifiwslrh971xgq7lz5r81cx4vh6h";
-"regexpatch-0.2f"="hhcywfsc4sp7vpv1ikncaphax7y47684";
-"regexpatch.doc-0.2f"="ama62fjpxjivrqb1crzyvac2q5vakkbd";
-"regexpatch.source-0.2f"="n8khaw6h3m6karhw5l394nvmijz26i30";
-"register-2.0"="1jaiqnzqsvdqg9mdbqw1z5hbm8crb65r";
-"register.doc-2.0"="p9j8dlw9jmvsph1b6z8m941rmj52w5wa";
-"register.source-2.0"="7hcssqiflls84k2596qs26m3w3jl3c0x";
-"regstats-1.0h"="zkxc3cbq3fr5rpwv3lw3znrs9sn1ajmc";
-"regstats.doc-1.0h"="5ddawlcn7rqzs7i7mjjj8zi3q60qpal9";
-"regstats.source-1.0h"="kafv0h7yl5qhzgq4j4ay54cm9lqgd1w3";
-"relenc-22050"="0ksy9dhzxf7dh2sgnais817krjdrnyip";
-"relenc.doc-22050"="w2s26knmf0pfnbvxbj3f2xmcvjf8mgkl";
-"relenc.source-22050"="vhwmn0hxlv5njl4v2ljz5z4kbi5n4a8g";
-"relsize-4.1"="l9n0cv3vjwqlhxw58bnj4gh1qr0mbkh9";
-"relsize.doc-4.1"="bmv72xvd2n40rclz0a5cw128a4m1khl2";
-"repeatindex-0.01"="6zzlr3miqb7p0q3h1kyaly6ykzwjlq0k";
-"repeatindex.doc-0.01"="gjkm3why0hf1269kqbpg70bwwmcagdwb";
-"repltext-1.1"="mzzqdjgmzzal0yizvdncqim8b80rlhll";
-"repltext.doc-1.1"="j81qiaara7zdxi5dyxfqcmkf3cycc43n";
-"repltext.source-1.1"="wxy0rsiihw5f9xzaix6rlnqkiij3cggp";
-"returntogrid-0.2"="qvyji03hqf95f50pkv4jj773a8ryv694";
-"returntogrid.doc-0.2"="8s3dy7s20sl37qhayb7vz949k3nsz2k4";
-"rgltxdoc-1.3"="li2cq0q31dicm59lrnz5vkgxd4m2lksx";
-"rgltxdoc.doc-1.3"="58sky0650lfq667lgfcb6cpyn966rn99";
-"rgltxdoc.source-1.3"="in8bvs6alfwi0ah6pdigvpflp7aggl6f";
-"rjlparshap-1.0"="584zbnkzrqjydg9hz42ayl9r806sd4cw";
-"rjlparshap.doc-1.0"="g4bkg84j236faakga1kl593bjw1p9wq6";
-"rjlparshap.source-1.0"="gys3kddji7j89c63a2kzz7z8xjdakpg5";
-"rlepsf-19082"="zvgnjwbrznazfy89cwbk9injrg0hk19b";
-"rlepsf.doc-19082"="q4jpki613c0b9kx9bxzqw3v7m5ggj4w9";
-"rmpage-0.92"="iqvgmj8ygy8mcqffj9wl5xr3l4g19w7f";
-"rmpage.doc-0.92"="nzm10y262ql87jqmlvbx8s5izflz8nk7";
-"robustcommand-0.1"="pclwgpigb6jf5myrirrgb35jdsrc1r54";
-"robustcommand.doc-0.1"="8236m9s2klnlvii7733r9vkr28ma0758";
-"robustcommand.source-0.1"="a6wczmjbnvfqfqg0cxbnq7srr71w3l6c";
-"robustindex-49877"="sw1cp3wc1z9il2ysrxcyhwp47siik8lz";
-"robustindex.doc-49877"="ga57j7ky0ifk33lmf0ai6xpr8cav2xh1";
-"romanbar-1.0f"="77m3d5fv4abc2xx6nx5cvzpkshnbkmr8";
-"romanbar.doc-1.0f"="7ha3ybbzivbkc7fllhfjv1mlvq20k6i0";
-"romanbar.source-1.0f"="3jn06jd260yipslvs8xjflwd49pzrcqb";
-"romanbarpagenumber-1.0"="x8gs1z6nn976praar888l74avfd1ha6q";
-"romanbarpagenumber.doc-1.0"="cyfpy1g5g14jlxl83a7ngcl631297a58";
-"romanbarpagenumber.source-1.0"="qs1ia3flkqsd1psbha7bfms1anfg336v";
-"romanneg-20087"="7w6wmvkyzy4jzs8akhaswqjpv1lh9lxz";
-"romanneg.doc-20087"="m7rc0j7xbkly1zh63lrym8pzgp1g3ivh";
-"romannum-1.0b"="8l5hrx8svnn1pv9qd3c7y6gxy25fr5r8";
-"romannum.doc-1.0b"="1wlc0m18vg6vl8sgxvj4i3ca4kyfl9c0";
-"romannum.source-1.0b"="h9rkrds6v7b0pvgap090ja271k5jnc7h";
-"rotfloat-1.2"="v9iaw0lv3vc6chkic1dracvgksxrsgqs";
-"rotfloat.doc-1.2"="dmfn4f6nkq621adf18xqy9vdgqn5c68p";
-"rotfloat.source-1.2"="0c3i14195xq03r4nzk58yrdxybk2yl8l";
-"rotpages-3.0"="rzayzgap6j40817pn95w8pmryqi4a3kb";
-"rotpages.doc-3.0"="fh2a3xcl4f5mq95d2ibsgmml6pq95cd1";
-"roundbox-0.2"="g1k35s2jqgfm0ih16zf59w470kzv450f";
-"roundbox.doc-0.2"="97dr0pg7689mm504pld75cmnd3vq61rb";
-"rterface-30084"="l7szd2dbrky3idmzkx724b1ks8d9crwm";
-"rterface.doc-30084"="3hkrf5qycaq84dawxyv5a829bv8vz0qg";
-"rtkinenc-1.0"="bgvb6v03sbayxss84awkaa98i1hza4rm";
-"rtkinenc.doc-1.0"="ggkmbwp3kxa1zs4c5f7v3r5lk5v8pdjr";
-"rtkinenc.source-1.0"="iavp7gzq742v267gf3hjq8vwi1ywqfbj";
-"rulerbox-1.01"="6mg6d4nwip0qmcz10ykpl4rd204xdj5s";
-"rulerbox.doc-1.01"="y5wpxgc3m84kkxi1xip7l3jjcf8b36xw";
-"rulercompass-1"="bhgf5s2zj8xdxg5jhh3c4wdfyv87p9j4";
-"rulercompass.doc-1"="bc9m9y239rjdnmbrj6s6rmqadmd32mvd";
-"rulercompass.source-1"="9l57jpav5vpsvsg42gw79mym778q7623";
-"runcode-1.0"="javlwy36s82j5dlr63zrnx790cgn5qwf";
-"runcode.doc-1.0"="f8n5d05jbkq4h0vfma2wl6gwj52lxfjr";
-"rvwrite-1.2"="fmxfnps659r2swx7gr9bdxcij2s7vdn5";
-"rvwrite.doc-1.2"="c1wrdxjnjn345siv4xivjxcw8gd5fi8p";
-"sanitize-umlaut-1.10"="nfavxvmfn7klbszd9zxvlbma32dmvmym";
-"sanitize-umlaut.doc-1.10"="wfqd5y198r0gcl38fqnwi758cqyp3dck";
-"savefnmark-1.0"="jb8wz370wj5gci7mp809d60qwn441cb8";
-"savefnmark.doc-1.0"="lzip7g8z26c8vgfni9n058dk9jvskkck";
-"savefnmark.source-1.0"="sv58x02n2rd7gv7mkd6hjym7sqbxlfsx";
-"savesym-1.2"="gl0rbarz94wa6qqzgza73mdmz7058zlf";
-"savetrees-2.4"="w0mxfybvqjbrqinqc8r3xhapxq80s4mg";
-"savetrees.doc-2.4"="g0zk0ijym5m753jss68ijanks42201wi";
-"savetrees.source-2.4"="8y15qzcspmi19sskifg53agnacylid1d";
-"scale-1.1.2"="v8s6izx8nzpnjd6x39yfz11l7f9rrnwv";
-"scale.doc-1.1.2"="ifyf91yd8avqh90jxa6ih9xg5bzy6a3v";
-"scale.source-1.1.2"="6r1dvrbkdkw418pwagkn2djrzswd28r5";
-"scalebar-1.0"="107wyhbx5wzliqmncsqlaykg7qw5ldwa";
-"scalebar.doc-1.0"="a4krk1zpi2yiyri88r96363l5k5kcjf5";
-"scalebar.source-1.0"="5f555kz7b0rbxh4vsmqa8hfqlv7790cf";
-"scalerel-1.8"="bnzdi8d0mf0ppkvwypxvb6wl2lyw4mpq";
-"scalerel.doc-1.8"="bpamgzs7nr8gfam69mad8qmgjs6hy909";
-"scanpages-1.05a"="vl8kzqsj7dlc21h9148c4cgbrwg92k2w";
-"scanpages.doc-1.05a"="8rc3sz2jw47xz3rz25dfw7g3gssndz7b";
-"schedule-1.20"="h730zhbkd5wwb6jmvjwaaifdn4sia6bj";
-"schedule.doc-1.20"="m45jrx0nks1q26j75h9s9f3zacdc433q";
-"schedule.source-1.20"="gsclgm1vyfv8gnb5lcrgjz35ipvi4wv8";
-"schooldocs-1.0"="78kvxzxhp8lq2pxhcbdzy3jydq7dj05f";
-"schooldocs.doc-1.0"="zsa4c28bnhyz5n1gnhp35fvpc9886qci";
-"schooldocs.source-1.0"="s2vbjcsgjg3zrdrs5r645lz1hgfm4q55";
-"scontents-1.9"="hh97r1s523a6v2ay9b704cqv744iny10";
-"scontents.doc-1.9"="34jdskkym5x8vmhwjkbfnvwdvk7x98pv";
-"scontents.source-1.9"="jx3mw5l964zggyczpxl8x30g8xcbbg21";
-"scrlayer-fancyhdr-0.2.1"="ia120za7k0rwq8qydlljdb2bklpiahh2";
-"scrlayer-fancyhdr.doc-0.2.1"="6zq9mxlll4v0yascd1izclvn33ryw9ws";
-"scrlayer-fancyhdr.source-0.2.1"="xkci6f36yhhif8p0i25h6z4khaifysrk";
-"scrlttr2copy-0.3a"="kgi950bw7jijqn93vzlvrdx9mkrv1sg8";
-"scrlttr2copy.doc-0.3a"="daf3y1bx8187h9270y4c13wrnxac23rj";
-"sdaps-1.9.8"="swij4rm5szzjh3pwqi7a2b3jzzmnxkwp";
-"sdaps.doc-1.9.8"="a6aif8szw295jihhn782lygi1k6sx1i4";
-"sdaps.source-1.9.8"="4h7km9vs0m0va5k8msmjwhxnqcl2lyca";
-"sdrt-1.0"="2pcbwfywj14n08187899xjdhrjr3zzlr";
-"sdrt.doc-1.0"="85y00dj8k3xd2dkd42rzwscq70rhhxny";
-"secdot-1.0"="xb2kkwqh8dwdly3pcd20k3w2y68avkg9";
-"secdot.doc-1.0"="ngfan1hhwcnppgfpvkm0y0a3bjab1fz3";
-"secnum-53657"="v0d0340lzkywygf6p9sfl31cyczf6dcd";
-"secnum.doc-53657"="4zxhvxfwiihagwp6pjg9mmim8k1n772h";
-"secnum.source-53657"="1kadpq20yaj2l8pljjy42scsj5hn1mpx";
-"sectionbox-1.01"="mxhi294c4y7knbwiz1i0h4akmlgi0v6d";
-"sectionbox.doc-1.01"="2gapb7fvm8l7m021gp281j5vdq61s1if";
-"sectionbreak-0.1d"="gpda9n0rg3clldz9yck9fqxhz7gkcvjj";
-"sectionbreak.doc-0.1d"="rvb6d4l8zblpcacs19pchyj1b56g0587";
-"sectsty-2.0.2"="7677w338qg7wxalski08070328f4yjcc";
-"sectsty.doc-2.0.2"="plwwncg7vkhqrkkh2b1a6wpp57h6x64q";
-"sectsty.source-2.0.2"="r3z90f7w1nw4hpn61fcrn8iy5m1867jk";
-"seealso-1.2"="2ndffdja6sdc1zgi9ayhfgcfa4ihrqjs";
-"seealso.doc-1.2"="95n5alxkf7brg6dcad5jz0mfnn7w42fy";
-"seealso.source-1.2"="511kb0ka070b9q0973c1khain6yslqmq";
-"selectp-1.0"="fp7iiqkb6xqw55v28rs80in6p47li70c";
-"selectp.doc-1.0"="wy83q63fdm33il8rvia43y1kq51rkc07";
-"selinput-1.6"="f4xcvq61azvc95rvijmiij8mhjq2ams8";
-"selinput.doc-1.6"="6pwfj1pn035vm2jb19sz1qjc523zirqm";
-"selinput.source-1.6"="hv4gdy52gpza79867li3img657779zq9";
-"semantex-0.463"="cg41r6nzzax6wpybk98syvhq86g54wl2";
-"semantex.doc-0.463"="3m1h2gc8h9ridydis9v6lnh1zq6cwffv";
-"semtex-0.45"="mb7w1wbpfwpjv9dcnzyfacw4p9612n76";
-"semtex.doc-0.45"="f0cwzvv4bsfn1jgvbyavr6455w5r684v";
-"semantic-2.0"="ky4ggvzl5171nda0329151c9vbaxs7gp";
-"semantic.doc-2.0"="b1hyb592d0xx35p5dqppyfgykg37xx4s";
-"semantic.source-2.0"="4fwjw0axn8d3ychsqmmdy6x73ckciv9p";
-"semantic-markup-53607"="8x44h8x0qlwz95gh7wmgcq59ldwx59s3";
-"semantic-markup.doc-53607"="24d8xyxdibsx9k7jqdcsidpssfbvi7qn";
-"semesterplanner-1.0"="wcqxq4w4shlj7r87jn6ivjwa5nyj8wbm";
-"semesterplanner.doc-1.0"="ndfk7h5nxr18yamb5m0z8d1n5sd05xcj";
-"semesterplanner.source-1.0"="ininzdhnah46n0b5xi78lc3qq8bwy62k";
-"semioneside-0.41"="62v5zs95qqi1i0xpm2jmhcx9pa24jymn";
-"semioneside.doc-0.41"="2z2azzz07gj105jrarifhx3ldjc9v09a";
-"semioneside.source-0.41"="31d1fggm0km56jv6qr5yjv7da6y0ifsv";
-"semproc-0.1"="gsf23afimbq3nhqka6vdbxjdasqc9f5j";
-"semproc.doc-0.1"="iki2yxxxmq90xn2bbvxv942rl3lbfi0c";
-"semproc.source-0.1"="rdzjw86dk757ddhwzw3z163zjigjnd9b";
-"sepfootnotes-0.3c"="chdd6rfn5v91c7sc3anf8rq1w7i49g47";
-"sepfootnotes.doc-0.3c"="h9k1nlwdgxynifqcllbplw29hhakzsfx";
-"seqsplit-0.1"="zc3fmzgnaxlx4jvbmqr4g22xqqr46qm5";
-"seqsplit.doc-0.1"="ans9jwdygk6j84fiwxjwr4z07rsswsw4";
-"seqsplit.source-0.1"="syxc6bkp4i55zvrs8sxg8ncq5gmq74xh";
-"sesstime-1.12"="ilsqh79rlc12ayvkwwpnbbcj033ksmid";
-"sesstime.doc-1.12"="67zpm2bqngwd9hpl5y8bvfr7iln31j2c";
-"sesstime.source-1.12"="w2aia0hdnsmhz35g0r1jjcfwwh2h61cr";
-"sf298-1.3"="nvb0bxh78nzvjk3x4d69mmcdbhfxnm03";
-"sf298.doc-1.3"="hdnvzghnkkgy79q6r2b9qqx9gda162mc";
-"sf298.source-1.3"="ixwa6c8c44ph14b5a0rz0js00jac9kpv";
-"sffms-2.0"="jaarxw1lmdgsac04fzdggq0pkaqp0y8f";
-"sffms.doc-2.0"="kqfjz0yn615f068v6349lgdp72gw2wkk";
-"sffms.source-2.0"="h5sazi91347l3qdkn6ghw6ywyp5ddryh";
-"sfmath-0.8"="mkmjhc5jg8ylbjdzx3yal2r3spxv3npz";
-"shadethm-53350"="6d2vr8xkis6ah0032nrbpbh3rs29xh2r";
-"shadethm.doc-53350"="iv5jbkrj3gc4iajykq4bm6g1lvpvjk76";
-"shadow-20312"="xifs7y18wdkg1kj656swlvx7cpswmgma";
-"shadow.doc-20312"="ppc90h7d8qm8382lp2vzn5piy0mb7d4x";
-"shadowtext-0.3"="m2qsn137ij2l4lq4h0s5mpw1vvic0k4l";
-"shadowtext.doc-0.3"="894a2s4awyxc0vc7d94fp0dfahjq4021";
-"shapepar-2.2"="hps8xx8z0vviywd61vhkh8l758c0gndd";
-"shapepar.doc-2.2"="6i0vwmvrphkjrqphk7vmxphhcvj89f0n";
-"shdoc-2.1b"="grva4fsbp32pq2x7g4wb415y5cmf4cnx";
-"shdoc.doc-2.1b"="ba16nzmjm53zjq81w2zb6npd21wjfg31";
-"shdoc.source-2.1b"="mqn7081yqr3l1yhv3cxxrq6jwnd2h6sq";
-"shipunov-1.2"="y2wk01lmmvjgcfakrn8299qxdg01k0lb";
-"shipunov.doc-1.2"="2j0rf5g6w08szbw6w5wnh45sa9x6hlw2";
-"shorttoc-1.3"="win5ajcivg0ipf38dx85vhhmfjfl1scq";
-"shorttoc.doc-1.3"="9msyjwld245v4a3qvl87q9wxl33rdyg4";
-"shorttoc.source-1.3"="frmzabjdlmlg6n8ds6g45wcm1qackwxw";
-"show2e-1.0"="4gp9cvjx4s9zvsg6ygvpggy35f2qpgxk";
-"show2e.doc-1.0"="zbffqf6nvy9r3ghn718xz2w5piyjqvxy";
-"show2e.source-1.0"="ikfkd1bw7v2s1jv2lzcv5cpbxx72w0f1";
-"showcharinbox-0.1"="282ndmd5991sj7s7znbp3w6sfrl42dmy";
-"showcharinbox.doc-0.1"="xc0lm97nc2j5qs6qa45gh12g4866pdzh";
-"showcharinbox.source-0.1"="v0mn2l95n4mhmxglwrqzwcs9h31hb99j";
-"showdim-1.2"="8pk9x9rwpa46lxxxcrdrj8qvifs30x19";
-"showdim.doc-1.2"="g9zbjc1awcan45gik1czyz2ggnygzzpy";
-"showexpl-0.3s"="66sf5pdjbp43k69vwz2c5pmiibz7m420";
-"showexpl.doc-0.3s"="jyykmsmxbcf0bmrr26mm2179l2nxj1n5";
-"showexpl.source-0.3s"="mz2z0a4crkf98lm0c585g51135cfj8pd";
-"showhyphens-0.5c"="fcmfcmzkv9k6k2d6l2brhwwvffzz3bcd";
-"showhyphens.doc-0.5c"="451qz6c2k3mvnr488s138m8wmgsf1zvs";
-"showlabels-1.8"="qpsrz097whnqv7phnrpff1j4spc0ccrx";
-"showlabels.doc-1.8"="7pi69s9qfv69piak041lxa0vy3swg91b";
-"showlabels.source-1.8"="raf4jncf7q4i31g7pswqriafllv6rw3c";
-"sidecap-1.6f"="2fcmjz54dxmvynqhmyp5wjlim72rmd7h";
-"sidecap.doc-1.6f"="c4j5qlprbhhki237x3ribn1hhwjiznz5";
-"sidecap.source-1.6f"="22q6s65b782lb9pxqi5iplf6nmf5ni8y";
-"sidenotes-1.00a"="h7vx68dxv5l7g8yzkx64zbp53jcv5fp0";
-"sidenotes.doc-1.00a"="nhdavdiw3am7jy49kyqwiwawk7xyxnkj";
-"sidenotes.source-1.00a"="b7qjs3cp62w3mya7sg1l2z6gsmp0hp26";
-"silence-1.5b"="nabq9i9ix7b42zkk5zq38bl47fhc46vi";
-"silence.doc-1.5b"="9rb3mgnavsarwar2i58s9fp4m13pckrs";
-"silence.source-1.5b"="i3siq83ph2lkjfrvc2zbmn5l2i5ssxkc";
-"simplecd-1.4"="i1cpvz6cd0jp6jw2r10s9qlyqig991h9";
-"simplecd.doc-1.4"="5q6wvnkcx16vpfpzngc194f107fjmbnv";
-"simplecd.source-1.4"="vwb34fhkimk2zsz5cqg8hslvqwsi53s7";
-"simplecv-1.6a"="yif1v302airw953py87hf8xw4vdvcrh1";
-"simplecv.doc-1.6a"="172h9r26s8zjpla2g0ah86z1r9k06cy7";
-"simplecv.source-1.6a"="rqyp3gq1k6mbbfmvxi437dxh50qrp7n2";
-"simpleinvoice-45673"="kib8y509s61mzcg5rzcc7s30ii39f88y";
-"simpleinvoice.doc-45673"="47f3zyl0g351p2xihryq6p21qrphi62i";
-"simplivre-58414"="z08sdwb5i8clwvslj4iwdkj1spz435wz";
-"simplivre.doc-58414"="p4qfl4rvf941igw422pqak6c4als7833";
-"sitem-1.0"="vkdrrirvcya04rdwr05q5ah2r8qz68d9";
-"sitem.doc-1.0"="asga3xfkxjg1f7zc6jlnmra2bjaxw00k";
-"sitem.source-1.0"="9i52d6r144z0067v8skq23774dg8fk1c";
-"skb-0.52"="4abwsdqy977aj45v4frjhf5p4kqi08aa";
-"skb.doc-0.52"="hgwacvlqab84b3nv6rnmd79irl1ilzkn";
-"skb.source-0.52"="v3b3ggy38vp9z5b9n802dg0xi22yjpwz";
-"skdoc-1.5d"="bg0yb5d0bgmnqy12y2irpxn7zfqhin3l";
-"skdoc.doc-1.5d"="9k842q2wjblz991x81554dqn9lshskd0";
-"skdoc.source-1.5d"="991wi8q2b3fhnzddnr0wwbnwis39mczd";
-"skeldoc-0.1.2"="azvskj8dhpk3sprm4z7628siy7plgyw4";
-"skeldoc.doc-0.1.2"="hw8lla7r2kwkppf28xzp1bjkp6gy1nf0";
-"skeycommand-0.4"="w3sqnw1xyx8l1qb9h7j8jg8z3f6xsnvi";
-"skeycommand.doc-0.4"="y8kcbdpydw0an53vfw75nvs8f5rhp5f9";
-"skeyval-1.3"="r39dajvb7hh6437jbq3gly44i22im66z";
-"skeyval.doc-1.3"="g9gr3bwzslymzx3a5kja4n4s1n0ns5lm";
-"skills-1.0.0"="yhi1ypj4yqg38rg7zwmh1cr1h9r1cdsk";
-"skills.doc-1.0.0"="xlsk7bhrbn5974wjpxdjsm45iab3hh8q";
-"skrapport-0.12k"="3hili1y9sl6x37pixcsz33a0r1aqqvg4";
-"skrapport.doc-0.12k"="0w6nri4jmaqv9vi8rpg7wd9b68jk58fd";
-"skrapport.source-0.12k"="11fvh9n4pr8xsgg3zwvdxly3z9qrk87v";
-"slantsc-2.11"="mnqakna7b6f0pygw4c66jmxy2r2srpyq";
-"slantsc.doc-2.11"="p4z9p7p33xchy1vqjqpiyw38is5irja2";
-"slantsc.source-2.11"="8c2vrhsrgfpqb47wxik1inq8xpa5r50g";
-"smalltableof-20333"="a0sx95bj2ampjw3b7g4p56ji7fqwmdiq";
-"smalltableof.doc-20333"="1qrbnkki1in5kv142d0qzl3rxmrclm69";
-"smartref-1.9"="7pvgdpjcdvdxbkb1ag4dal46c1hg4d53";
-"smartref.doc-1.9"="hj0c7i3climwjy64h98ddab5skczf3mh";
-"smartunits-1.2"="z3kj39xpdk8pa7bzqdjd6g6qlhwx2vhx";
-"smartunits.doc-1.2"="r72h43bvig293769q6s8glhdlrcg9836";
-"snapshot-2.14"="6x5ifdy780sy1kps29xh2k833cqlm295";
-"snapshot.doc-2.14"="bb748sr7gilrsw9s7q0bvc14pqj2aypa";
-"snapshot.source-2.14"="d9y194pxkkb90gbigwp9kcc84zy4gbqr";
-"snotez-0.5a"="f4w7klr766ll5gwvib5rwvviqaqap9cy";
-"snotez.doc-0.5a"="9siiyz7x76rh3jrlrrpkr9wgn4ca2b2s";
-"soulpos-1.1"="908fbjhq1zkq0p3qg4ihs62zxd18988i";
-"soulpos.doc-1.1"="7l3pl7mbjmkpr9fwkrdcyjkhqvw2jfdn";
-"soul-2.4"="krkmw15blkx20x947657pddl5kda59il";
-"soul.doc-2.4"="9p399dgxvrfrlcsqbv9sknia9sb68xm3";
-"soul.source-2.4"="hk83yzxa8d8nqg0jyx8wzxwvydhvwf7v";
-"soulutf8-1.2"="90gd4zgr0nsq5ccx27cj32b84rnbk7vf";
-"soulutf8.doc-1.2"="0hlg0wmni0qswpm7l3yzga6lc6wl2pkr";
-"soulutf8.source-1.2"="pspazx53c9dn73absjhpv43wiycncbgb";
-"spacingtricks-1.3"="lb2y9dmbizq70hihhh4l11z7kghgw1g9";
-"spacingtricks.doc-1.3"="i4kfvvpia2sl2b0nrr3m4s692nn9197y";
-"spacingtricks.source-1.3"="9d74zwmlr5r7g9d2332jmzd2qcpv8xjw";
-"spark-otf-0.05"="9siivrc6cbck4p4vg4ly0r1b37h7lw28";
-"spark-otf.doc-0.05"="y4v051bqbhwc91ipzdfqc1yqrzd5hg0x";
-"sparklines-1.7"="swn54z70rhmbk917dpl37mfr3sx21525";
-"sparklines.doc-1.7"="mjpd57symvhnv6jjzynalmpqy3l4szfa";
-"sphack-20842"="gdrva3zalq63d7j737247ja9a22abdxq";
-"sphack.doc-20842"="3rzyc3sxq2bnlx5pw5xz1kb2gb36brgy";
-"splitindex-1.2c"="72wrcsz1vmka4qal90la093asf12hs6j";
-"splitindex.doc-1.2c"="gf9j1mi46ih0xanr4lzl43gpfjpjws14";
-"splitindex.source-1.2c"="1y60d6s6ws70dgjhn239h4x8c77hjmdz";
-"spot-1.1"="bfwxb7c1lmbvy4g1q7k6syz7yk8wq0zl";
-"spot.doc-1.1"="68spn95gq3irq4rk4p0aw6z7kghriyw1";
-"spot.source-1.1"="hgsxqd8czj5vmy43g4mvvc3954vsmdi9";
-"spotcolor-1.2"="rz2zax5g35slfai6rqmnqslib7wsi14m";
-"spotcolor.doc-1.2"="yhcw8r48q7vi0iryn18d1z746ij1wpkp";
-"spreadtab-0.5"="9hd8rpqawnk531m802dzwf9bgq2h6zbx";
-"spreadtab.doc-0.5"="xcwr817pa38amnm8agrbwgh3c4bb2fnm";
-"spverbatim-1.0"="cpn7cc2f4ila3xfq8yrr5456y2p5navw";
-"spverbatim.doc-1.0"="bnw2p20z8ga1zynk3v8khpgfgbjb5jpx";
-"spverbatim.source-1.0"="ivjx22khzgn0xgzbkb5y8q36i9wh3n49";
-"srbook-mem-45818"="30fmldc7ygh6c4a64z9cb5qcr1z400vs";
-"srbook-mem.doc-45818"="mfn2i8vs1h646gn5fcs3zh7lrn6gj2si";
-"srcltx-1.6"="pamgi7alvxixzd4dy68p502ifdlnz7fa";
-"srcltx.doc-1.6"="1lja1az3vfzxkf2d7pl4cyxbliqml0hc";
-"srcltx.source-1.6"="wk74304mhb77p653l52gmhc990ic0dfh";
-"sseq-2.01"="rypda83sq8zgcnd6fmip2nw85dpqkb2h";
-"sseq.doc-2.01"="2zw94ka78zap6914m7r3xc9slzjr0vig";
-"sseq.source-2.01"="1fw0mc1crac3fps3s62rskzhn946zffb";
-"sslides-32293"="5j8zx3q4f3cm4c78q4vn8cbvp33frz1q";
-"sslides.doc-32293"="xsh6d0caydlgs3kfc0zgw4m79j1vkrxs";
-"stack-1.00"="p32bbliciimyyfpizvi0cdrw7nzkmlx6";
-"stack.source-1.00"="x3hkdwa9hip4zp8paipd8yjjz10pysn6";
-"stackengine-4.01"="nivan4carz07sqpiymvlkjxswkqa9mjd";
-"stackengine.doc-4.01"="1xfhqhhl578sbpgp0s3d2nhddv85dlwl";
-"listofitems-1.63"="kjbscx4fcjbfc502w6k03s466y7xnz34";
-"listofitems.doc-1.63"="h85gl0r28ig6fzm0rh972bxfs48ali56";
-"standalone-1.3a"="clgfqy3aqzn2pcalpfpmi70awz221pbl";
-"standalone.doc-1.3a"="q20i0dkgyfksm7npkiflphr7h2apzqc9";
-"standalone.source-1.3a"="lmqvfd3km9l0gbk05inz2ap09k5v8g0w";
-"stdclsdv-1.1a"="8dj2rvbpc7jbmn7bbxyvwpwmwpv9i1y7";
-"stdclsdv.doc-1.1a"="7rm7mkigckvag58agc7swy3yrg3jgpkg";
-"stdclsdv.source-1.1a"="3pkb3241arg1hl2gwh7ijr7wjy6naszs";
-"stdpage-0.6"="1vx4hlfyz6s89qxqk8kssq2z4j4bv7x4";
-"stdpage.doc-0.6"="qqh8y677jzbamylbm9jyx679sykp21ar";
-"stdpage.source-0.6"="asizav9m4vbfcrgl6c2qhnzsvl4ngmzv";
-"stealcaps-1.0"="8q97ghfyfnsmjp2jw2brp925hr82sprn";
-"stealcaps.doc-1.0"="3sdy3dqpi4axamhvshixk7hdqmspv446";
-"stealcaps.source-1.0"="xzysv6jy1bzcp1dww6imz9358id28lqf";
-"stex-50489"="gaf5gfk5kwfy1m8m4wwfkhx0cppxj58b";
-"stex.doc-50489"="rga6abj8kqig904y3wm4lmzi7lw9jccy";
-"stex.source-50489"="x7x55ags2g5ks59zpcphv1m37dc91192";
-"storebox-1.3a"="kc1a9kwyd31s1376b16hidk21cz2q2zv";
-"storebox.doc-1.3a"="qhjcw6fzxlkzpgnk0ra7l6fqp10byiv6";
-"storebox.source-1.3a"="6zzmya7fcjajy73i8iys9584bldh18z2";
-"storecmd-0.0.2"="k2y4zjx31k7014wpb0kvg3ivm3ssp1kv";
-"storecmd.doc-0.0.2"="8iskfkck7dgqj3i0knwhzqfvhmv1pr74";
-"stringstrings-1.24"="wnzqsj6nmivadhqqi5hi646hvp3cbzyh";
-"stringstrings.doc-1.24"="k0gm4v75xs9lzgpgqvks7pxbkr5jvian";
-"stringstrings.source-1.24"="j632ahc5hwr2pjazfyql1lxl4x7znr3b";
-"sttools-2.1"="8286phhm1l1sp2pk8smmrmw3wn30ab9q";
-"sttools.doc-2.1"="mszlb4py9kz4gfsgpr6y4qbbzdayrwsd";
-"sttools.source-2.1"="z8dgrhfjc0qwj7vn0qcs98dw7maysmbp";
-"stubs-0.1.1"="5ia769ndpi4pcrbg6cljdbpxsx353qlj";
-"stubs.doc-0.1.1"="apc0wxqj03fhbab6nwwh5rvzc6i9la8y";
-"studenthandouts-1.0"="3gss3z8gv8fyyj3qygmwmbp1jxs7k7dn";
-"studenthandouts.doc-1.0"="qjih5qdi7861v2mafv4bga62i0lmss3z";
-"subdepth-0.1"="p59zl1bmd52xsf51l1qf4ij5j7qj9f8w";
-"subdepth.doc-0.1"="973874d1ri46l5ixgzrlqxf09lxbhq3x";
-"subdepth.source-0.1"="sdij1y3j4dy8y19pb4aw2azb48i5rssi";
-"subdocs-0.1"="hab4i435srvd4mxbbd6jvg2dpcdcrxri";
-"subdocs.doc-0.1"="knk6a3wn83r8dnqigzx71rr2zn78v25k";
-"subeqn-2.0b"="26vzla83zaqnkwf1llwly1jnmb9dvgnp";
-"subeqn.doc-2.0b"="121c3hsq5lnfx05k85kkgym9a6554ilx";
-"subeqn.source-2.0b"="17dmj6k881xy7cjmx62ranh04x1j946b";
-"subeqnarray-2.1c"="6gn9rmk6b4ssblawa0q1ghhc0pj3d75y";
-"subeqnarray.doc-2.1c"="jx8qb5fyfv0dvkrxiw3dvc2x3hq2ik7g";
-"subeqnarray.source-2.1c"="17950bjzifqhmq4nbm0b3p1dva50nwjs";
-"subfigmat-1.0"="gzki9wj6fvc1rlq1izvbcrmbqqr7w78h";
-"subfigmat.doc-1.0"="kmrf6v742z4wvbrvnjxkzh0kvqnw356y";
-"subfigure-2.1.5"="rnd1mc9gr078d2vna7vwnhv420mnndch";
-"subfigure.doc-2.1.5"="zpsn8d5b6h8s9cwbl4fd9iv6w7hypmc4";
-"subfigure.source-2.1.5"="10lv7vivb3hggcyv8hkygjhhly6ixxlf";
-"subfiles-2.2"="l5p3id4vzmik187fsbx10l9789prfqsy";
-"subfiles.doc-2.2"="4c1bv5yyynn7wq4cy7m58sdnd31498mr";
-"subfiles.source-2.2"="lmgliaxdhrb2wx49fc5p2ws0w5wqanvq";
-"subfloat-2.14"="l7d8iz54q7zfi5764jfl8v786wihisw3";
-"subfloat.doc-2.14"="rx97nj1mh981n89pby4prni2wfmqisj9";
-"subfloat.source-2.14"="3a8hj83wyvwrsfk0v6ibzmz4ahzvbkv7";
-"substitutefont-0.1.4"="rga587cq7pkf8b6w35pz76ifpb9h674i";
-"substitutefont.doc-0.1.4"="scmkff0sh6wypcq03sz2prsj7qx362ak";
-"supertabular-4.1g"="2rh3aa8ch5jm9yc4iaj349cd339wabw6";
-"supertabular.doc-4.1g"="5n3nyqcxgn9fszv2njl59rgadnbg2n45";
-"supertabular.source-4.1g"="vi7q7isd5xw019q888apkp0rdqjzzi76";
-"suppose-1.2"="1kw1z2haha6j3795q6lwd0a1qclgpf0n";
-"suppose.doc-1.2"="zbng9h4dghvba86mm94a01mbb0hqa5vr";
-"svg-2.02k"="64rbl8z8f2h4y0nald9alxq81dqkriyy";
-"svg.doc-2.02k"="z863fd7lspbpdmzym8bx95csfdjnc6yg";
-"svg.source-2.02k"="6sq41726hirllwfkk0x9h6hl804cdmv2";
-"svgcolor-1.0"="ld3wccj2cxdhv0xyz7qmxcvr6saab2s2";
-"svgcolor.doc-1.0"="nj7w6bihmr8hmvcykya9nkxlkhmlcw6r";
-"svn-43"="hv7xk90h5qb4ilx7f4a6zybijnhba9ic";
-"svn.doc-43"="94872fxawm8m49wk0maxvgxzhy000v90";
-"svn.source-43"="08x25isf3p3ixrmc3vy7bdq7kzx72v7k";
-"svn-multi-2.4d"="44fslkzz4ivgq4j3svwhyh1hy7vrzciw";
-"svn-multi.doc-2.4d"="8yayqnji00qcgjah49ffbvwhhdiy9b15";
-"svn-multi.source-2.4d"="4pacxngn9zj7p0hynj1nd3dync6cgaaf";
-"svninfo-0.7.4"="761kpr460h6nfczsf1vakdj9r947in1s";
-"svninfo.doc-0.7.4"="qlhr7rj98m7g55kgrms1jjw3wp3k7z4v";
-"svninfo.source-0.7.4"="xsf1rs0ar8ris0dh8qbslxwx5i0ci6ck";
-"swfigure-0.9.18"="i8j5r40svsl99znl7dwbz6b6fvk6i0lx";
-"swfigure.doc-0.9.18"="3c383j9lc6751zffvylh0xlqy9irph78";
-"swfigure.source-0.9.18"="2vcw78dyrpyplf5fap9vsv9wmplg4wyj";
-"syntax-15878"="1bvja2hjsw8p68202f84sbzcrs0f7d27";
-"syntax.doc-15878"="pkf7w0xwcnl7cm74z99bb32v4ycn4wmr";
-"syntrace-1.1"="02njfsdqh7ssnjcsnpmzi3iwxz2yfj9f";
-"syntrace.doc-1.1"="v5q7643l6spib4kf6mma67pl7xm8aaqc";
-"syntrace.source-1.1"="qqmfivdpilm8qp26v7kf3lcvfp582jv0";
-"synttree-1.4.2"="h94gmy3p4vdg2w1qffsdj02yc0zf04hr";
-"synttree.doc-1.4.2"="vcvl56r20md61vdwphvwncp0mn1105sw";
-"synttree.source-1.4.2"="wc8sjvp0fkvsw9ayybf68ka7c7pz7gj1";
-"tabfigures-1.1"="spwphj1m563rip8gq09fb97mz85yqwiw";
-"tabfigures.doc-1.1"="l68l551i2skm8yns6r2f1ji0kgxhx56a";
-"tabfigures.source-1.1"="6r4li6abzpgpv008xhy0x3lyywpy2w5d";
-"tableaux-42413"="b4zz5qhahr3kxwi68l2hh92w3v29gdry";
-"tableaux.doc-42413"="g4v3wbms4yw4wmzkm6v9aj3l46l4fcxy";
-"tablefootnote-1.1c"="axmzyplpbyfmhfx7jsijk3aaqcyc7c9k";
-"tablefootnote.doc-1.1c"="z65aphzdy953r1r3a5lzpvizmhs638g7";
-"tablefootnote.source-1.1c"="a1qbk028v26pld26654hsl3j3fc90js3";
-"tableof-1.4b"="q6bcg5m4s018c4fihhar660yr63nviqm";
-"tableof.doc-1.4b"="h5vaph5ql8h4rzk9g9zh5ysg7hia54fq";
-"tableof.source-1.4b"="68iil4aymv6wq7pm7kfszrq928gmv5g4";
-"tablestyles-0.1"="91l6ysgskdcijj4zh756956i9s4cmlhp";
-"tablestyles.doc-0.1"="8j8dyc0fxj53xi6jq8vabn7hzrd8krsf";
-"tablestyles.source-0.1"="5kdg1v2s60j7cmrr0w0q2qv58jznkxk4";
-"tablists-0.0e"="5f0qad58xlf65y5204jsg3ajlrmgga3y";
-"tablists.doc-0.0e"="2p6b5b3b693cicbsid4zfr4lqvyiw0z0";
-"tablists.source-0.0e"="jwabyps9hwly3s2xx4l0vs3xwkhg0a33";
-"tabls-3.5"="gdkxv2mfqga5w7pmc8dszx9csma95imb";
-"tabls.doc-3.5"="dg078n18gai6glbgwh0p45560s4zjs4y";
-"tablvar-1.2"="ap3wf7pg37i4cg5cyjzmns9kk4hig3gr";
-"tablvar.doc-1.2"="yvbnydls66gsbdmigljznnf9qf2h53j5";
-"tablvar.source-1.2"="9hjw3agsihfc7lwapgbmwrl9sa03l9zv";
-"tabstackengine-2.10"="df71gwvw34lf6xmarwwmpl897zyar75j";
-"tabstackengine.doc-2.10"="yi5yn8dj15sihk5hdwrjj8vmh3kgkgz1";
-"tabto-ltx-1.4"="9wp6kwifrrzi7xf9m8zgws5ym0vmln5g";
-"tabto-ltx.doc-1.4"="09g64mbplmfgkxhsgqk1rwqw2b8p36yq";
-"tabu-2.9"="pvg42mixn7f8vvz4ll8a5y927hhzh82s";
-"tabu.doc-2.9"="zsybb13fpnbffljq4w7vcpl3nmvg5xk8";
-"tabu.source-2.9"="88pnpips4j95nj427mydnjzqa5nmb2f0";
-"varwidth-0.92"="z2p07dqsj6pmdk6wm7snd0bih1s1q2dr";
-"varwidth.doc-0.92"="i4p58c787avqjqn5qqlcd19k8chxpp96";
-"tabularborder-1.0a"="cfbcq6f60xjzsdwdcxnf9alsgdwcgi25";
-"tabularborder.doc-1.0a"="wgd2b7s6bc3349rbhhafcg9iz3wwky33";
-"tabularborder.source-1.0a"="7dchkfap6l9ff49i0xwlpxd04yvh672a";
-"tabularcalc-0.2"="6yz4wvk7638prhnwiwc8bs6fm860ck9x";
-"tabularcalc.doc-0.2"="clkpjkck0zxy4mw71hmm1alysdxjbrl9";
-"tabularew-0.1"="jzndhmbh4fnsksf70wbn4cylp935csa5";
-"tabularew.doc-0.1"="m1jnxhfd882nzayknxwmxl8n535j3by5";
-"tabularew.source-0.1"="1438gnd88289q786gddq2i5jf1gbagxa";
-"tabulary-0.10"="4lnwhfr4bnawqgc5hvmp9m5gi6dmw679";
-"tabulary.doc-0.10"="439yc9m6b5na2i8kg8axqgx2pwhlv2aa";
-"tabulary.source-0.10"="x6a4q2rfm6z97ylwh2skqcpjlf7kap5s";
-"tagging-1.1.0.1"="x89sfr6zw3szcw463a7hyydjancfr14k";
-"tagging.doc-1.1.0.1"="svs9ig2xs2c76mmyalsfsgvzw7x1x6zz";
-"tagpair-1.1"="cw696a7ccw159f38sa6av7f2cr2w5mcl";
-"tagpair.doc-1.1"="n06xlqq579by3hq5rwsmh0l6x1damdrs";
-"tagpdf-0.80"="dgi43k32aah5lnfcr5i8i701qpbaqyf6";
-"tagpdf.doc-0.80"="9chng34kaly6xp784xzkb9svkhn95hw5";
-"tagpdf.source-0.80"="140cfh7gvcy56287q8xazcsz9iyjzj75";
-"talk-1.1"="w3vffx02kp18gxkk2khsnhcpzhd6kvjq";
-"talk.doc-1.1"="1hcv41gh3rcxncfqv75w92a2hdnb55nq";
-"talk.source-1.1"="mvqbaz1vwya42g0idhhp948dxmb5z0q8";
-"tamefloats-0.42"="biipxghplzwd03drjpiisijhdzr4i04i";
-"tamefloats.doc-0.42"="mnmrchq7k8n04dx35r1plzxcw46hx4cj";
-"tasks-1.3a"="xy8c97wzbidfvw0q2q9wr2ww9c0wmwbv";
-"tasks.doc-1.3a"="grn381m3sb1lak3y78b2sjyb51nq7n5k";
-"tcldoc-2.40"="r9i94qmf78q9j3adkzfly43riv2bzdmr";
-"tcldoc.doc-2.40"="fh6a7m41gxn4988pwr90ph25gg26ky40";
-"tcldoc.source-2.40"="p007ccff6w6d3nlpsp3q476vg9m4rjq9";
-"tcolorbox-4.42"="030q9hss3ldncsz2kypwrcvvjj69rhjz";
-"tcolorbox.doc-4.42"="m1grvl7n974qqrnz9y7bsgnmgy052vdm";
-"tdclock-2.5"="dzb2gj8y1dv7qm5mn7xfgzdq9aydqjk8";
-"tdclock.doc-2.5"="sgdpiwcnkifms1lx7xicl3xj194lfhbg";
-"technics-1.0"="cav50vxgp01465wa07bmza4blgsv49wh";
-"technics.doc-1.0"="ljp1qfv5zl1mzgyg5cxb5bgsdm2bdbnl";
-"ted-1.06"="2rd9qzrp0i0yk9qzz4g2zsjafswd6m91";
-"ted.doc-1.06"="02zyzvjncgpgm4iy2nxkx209l8dhgkm2";
-"ted.source-1.06"="isk5yz52jxsdqq8vzcvr99xjcg5sy7pz";
-"templatetools-34495"="byxkf3ad6nbxsjvmqda6iv4qxwh9r66z";
-"templatetools.doc-34495"="yv7q44lxn02yn1fawm3rkcdia11hq99s";
-"templatetools.source-34495"="4cvfpn19a3cqhx9sx2jin35ycakq4wi8";
-"termcal-1.8"="brb1gf3h9zaa07s0ppbvgjiava0yh9k9";
-"termcal.doc-1.8"="3k8kgf7fy8b24n2jbx79a55awzs54far";
-"termcal.source-1.8"="k680hlhzp03wfxnxld82sgsnaggfw38g";
-"termlist-1.1"="150mm3428j9yxvl6jf2y6l66wcymnx1h";
-"termlist.doc-1.1"="b8kdav6vj2hxhfas9s69njvg61263qla";
-"termlist.source-1.1"="c3bvnl6srxclx3fwhrkn9kk1wb08g1p5";
-"testhyphens-0.7"="xn9idcggd15gxl0iaphmlafpwq8ywilj";
-"testhyphens.doc-0.7"="fpkvgpd63hz8zyra7l22rgb9cr4yiz3a";
-"testhyphens.source-0.7"="fg7vps18xgf21gknlbcdikxn1yswafx1";
-"testidx-1.2"="r8p1fcwygn1i6qay7bj0g3qsh1xbshyp";
-"testidx.doc-1.2"="42qb4bpx6fiqg785ij9nsxm23mj291yz";
-"testidx.source-1.2"="kigppvv8csnxmspyd74928qz4r829ghy";
-"tex-label-16372"="wc2rqwp08adm869xmk7a6wkyzhfkbv6n";
-"tex-label.doc-16372"="lf9ff6q6n9rqng6akvbds9f1c6xiq5m4";
-"tex-label.source-16372"="vg5180hyadc0bl0hci4wzx90fvpxa2h9";
-"tex-locale-1.0"="l1ivcvf81xx7g4qm4jr778ssnyzf6m92";
-"tex-locale.doc-1.0"="01d792zq1yc408zzs3lpx3zffv7bi85f";
-"tex-locale.source-1.0"="ak4a3mf5q29g02rx6iy7yv2kp51gdqjm";
-"texlogos-1.3.1"="la6b3lzn1c4gw025npmz5xdm5rnq9n0c";
-"texmate-2"="0i38p40p8maw2v0lypaph7fad88dar56";
-"texmate.doc-2"="vaq40vr5526ic3fjdb2n1fr1q9s58wkv";
-"texmate.source-2"="ngmx2xsnp23cb9qg9n9vh9bl15jgyc3m";
-"texments-0.2.0"="sxnhbqflb88xcmnikjnp1g06zirwc5yz";
-"texments.doc-0.2.0"="lrf50hzpikrzd42q3ihrr1j7sv5prlzq";
-"texments.source-0.2.0"="hb7da3zhw9gs8kr50r6afq7jzs1ybqp3";
-"texpower-0.2"="i05qrli5978ydqd8hax9p81disb96n22";
-"texpower.doc-0.2"="qhdk9dhzlb9kb7ns98c6k5p105kdi4pb";
-"texpower.source-0.2"="4f9jhvif763mqkmkazzalwxilnvgw7mg";
-"texshade-1.26"="hxrldxzv6ij5m6qk9vsw6vrf1hp6l3cb";
-"texshade.doc-1.26"="mb4dwz87c8idg9gf0vhk1h38mbwpjlxb";
-"texshade.source-1.26"="ab64skf5iygxdiw32sifh8781k8wm3b0";
-"textfit-5"="cik0z02pjb3a4xsbrfqjzva9m8cyab91";
-"textfit.doc-5"="qzr9w01bk6ia7hv5r21m2nbfz2hldc4q";
-"textfit.source-5"="g7ij0x5yghxq9jfr5vxq7vf5h8py3jx0";
-"textmerg-2.01"="k9zrf9l5a75pzf1c30fxx48kly07m2rj";
-"textmerg.doc-2.01"="bjgcbyn95fi8kpq91kkhhxbarw5dn526";
-"textmerg.source-2.01"="4kws4jyfmh7w7z258clr3dd4x7k98iqj";
-"textpos-1.10"="m4i81jmy2p4ggyp0s5csr76bk73i5wnr";
-"textpos.doc-1.10"="9nx53mmh965w20qg5mkijvsihqzby1w9";
-"textpos.source-1.10"="465vdydvrrmphq1qyyqnwnw5xq8dvgzq";
-"textualicomma-1.1"="99h4pfsjnfy89xpwh4djj8fnhkwwxi3z";
-"textualicomma.doc-1.1"="10pyym40s0jszs7632hqxna94x3czwrm";
-"textualicomma.source-1.1"="14fqq28b54pw4b65kv1kwxif9fcr175p";
-"texvc-1.1"="x48959hg957jqqqf4ijb6wiifbrm71sj";
-"texvc.doc-1.1"="pxgl51bvjh0dq9mbs3p65v8giqz5p4zd";
-"texvc.source-1.1"="snic6z1hg65qvljsg4c5faqrjy7hk9qg";
-"theoremref-54512"="1md9iqkfgbhg6v64sgm94lp66x085rwr";
-"theoremref.doc-54512"="846wd88w325ganigw2g9rvhcs9is6ziv";
-"thinsp-0.2"="flil5f3fr9ghxa0bffvqy7wackrg7q27";
-"thinsp.doc-0.2"="pk93sirkywa7hmqggnapklyz0bqy04c2";
-"thmtools-72"="3pkj810asyqi7da0lfg5kbaidvcs4kmw";
-"thmtools.doc-72"="bqgckfjp266gi9vi6cbqx9525ifisf6l";
-"thmtools.source-72"="kica26al0rd71l3isdl4hv5hwizh2faj";
-"threadcol-1.0"="jwbi62xbc0cmzv65spvx1i6dijg34w6n";
-"threadcol.doc-1.0"="j6v3gi6c2cnhs8z5pm0j1cwg7ayi4hxj";
-"threadcol.source-1.0"="0irgk3ajakrjf1bgbfd71qvpy35fklmb";
-"threeparttable-17383"="1fmr9sbssycx23ql343hvvk4k0n90bgj";
-"threeparttable.doc-17383"="4y119m8549dk5kv4sbhh614nijlv0vx5";
-"threeparttablex-0.3"="7slkq5cfxlah9ckr408l1wqxxc9x5hkh";
-"threeparttablex.doc-0.3"="46r8874q74dgja9ivs4i3wcg35lwlv0b";
-"thumb-1.0"="knz4ixhqam9i803vpaq6qmghx6n7h9hq";
-"thumb.doc-1.0"="mk0751c3mjb5fmw2yxjjk7az8d4ay6qh";
-"thumb.source-1.0"="nqdrk52fc7yrzqfk3bjxxrfyffxa3pjj";
-"thumbs-1.0q"="5ygdz2db68fdz929bqdj60yi8wnnb48k";
-"thumbs.doc-1.0q"="28cswirpmah87x2ll9bld2q95hyn9af1";
-"thumbs.source-1.0q"="pqgs9730gibbg66f9cspb9qlkqraic52";
-"thumby-0.1"="15knwd9cgdmai53kdckgwap67qz0fmn5";
-"thumby.doc-0.1"="6k49q0bwkajwd7wf5wkr0028a7c6p4h7";
-"ticket-0.4d"="skfs956s0lzbxac4ydds9ynam475zk1y";
-"ticket.doc-0.4d"="c6d6arnzv37pczxs39h99s1isldk36fi";
-"titlecaps-1.2"="lf0q66qrj3kw5hs90fbhr93dz7ik1gx8";
-"titlecaps.doc-1.2"="qb1mj8p7srqz37f77wqs1igfcpl8wsg8";
-"titlefoot-15878"="1ggjs95rzvlmznqb8s67f7f3cjid5ynb";
-"titlepic-1.2"="psapnhni7mhwd94s2qmki4hdlpbq3dbs";
-"titlepic.doc-1.2"="c363symm32mhjg8cxw9j4xsmyhdl58kg";
-"titleref-3.1"="1ai0w05ipy1dlxm0n78jzvpdgp42j19j";
-"titleref.doc-3.1"="6rgspvqn51kiw9gpp9bc59jxlyk654f6";
-"titlesec-2.13"="69aqh5wsyycjczrw250kgp2ay0bv0qm8";
-"titlesec.doc-2.13"="g7s6fj2s3g0mj2kh69q0c72y5xak8i12";
-"titling-2.1d"="hzs20qk476wwff6ammqfv863zc50qnib";
-"titling.doc-2.1d"="m84ffgjikqkxfa4x86g7gljhpq1snxva";
-"titling.source-2.1d"="kr5gx6mfggxyxyh0c2pv1y9fzhzw6dq7";
-"tocbibind-1.5k"="f5kf8lxqhg6hn7qjnxxmrwphi11ndgk6";
-"tocbibind.doc-1.5k"="v5vwh1sm8bzqky6lbabvk6j3gjp8bxx6";
-"tocbibind.source-1.5k"="xq2f0iby2zafyghn0a9pjbvv1hw6z6fb";
-"tocdata-2.04"="yal5m2rnbhhv5b327qqwcbfqyqkvycdl";
-"tocdata.doc-2.04"="h0k923201mgxy4cd30m5476v5cm216fw";
-"tocdata.source-2.04"="dkj8b681ynkird2j5jwnmjxwcadcm4fl";
-"tocloft-2.3j"="i855nlns30831ls5lgzc0blbnjg3v4rh";
-"tocloft.doc-2.3j"="svwwfcyppadikp7jq1mfp5f24nrpv3m4";
-"tocloft.source-2.3j"="pqry1z1zpr1309fnah8frcz1mkx2iqk7";
-"tocvsec2-1.3a"="xwl43cb8m7y9vf9bbkc1lb198mh0yg9k";
-"tocvsec2.doc-1.3a"="pqvg5ky3w445h7i4hf1v1mcq5mpl3znm";
-"tocvsec2.source-1.3a"="8q0df51x5bbj1xphln6skb4cjdicfynm";
-"todo-2.142"="2ydakqj3py3dsviz4npq41s593blhag2";
-"todo.doc-2.142"="hs7ghig9yh4xhyr1y6n570vkiwmimv8r";
-"todo.source-2.142"="3gwsvfv1rhr1c6jb1xdgm9ycws6q8m2r";
-"todonotes-1.1.3"="z59z4qq59ysrycwcykda58y9rpz9l0zs";
-"todonotes.doc-1.1.3"="rnyl5f5jhaqc9xarwr9fqri1kk44j15q";
-"todonotes.source-1.1.3"="0dhfvw53zzk56z66r8pj75psqllc4g1b";
-"tokcycle-1.3"="nnqf9as1s205l96pc32qhg6ahmyb9285";
-"tokcycle.doc-1.3"="y0r6mfawkm4xiqw30an5xyxic1jn9454";
-"tokenizer-1.1.0"="k1ixh9ndc7r9cna3q86cccz4ibja32cs";
-"tokenizer.doc-1.1.0"="yvz9x41xdnf5449k2ixpbwrpgyhwpr5y";
-"toolbox-5.1"="czvh3swrgna1q4bf7dvbi6vqvaaja1z4";
-"toolbox.doc-5.1"="xl7w44azdaxsr34cz9fpy63pzfgz1pm6";
-"toolbox.source-5.1"="72cwzx2fbbqb0q7n8s2r8rwckfrfc8vj";
-"topfloat-19084"="a6wpasrna61fbpcb35m1gighj3xshfrp";
-"topfloat.doc-19084"="1gqq1kwkhj4s99vrqc3hys2pzr691k0d";
-"topiclongtable-1.3.2"="q985hj47w7zsf523mm9nx95lzj2sx7lh";
-"topiclongtable.doc-1.3.2"="b49ssbcvgqdl066vzsj62p6n2aj4kwjg";
-"totalcount-1.0a"="2xwhxznqfj62vnp9crpxs9nv89l578j7";
-"totalcount.doc-1.0a"="ylkzk9saf2h0yzv698slhqrw3kasi4pm";
-"totalcount.source-1.0a"="j1mblnmswzlvw6pfd8lla7i6hrnb52k6";
-"totcount-1.2"="mjp1wrksnwg89cj9si72fj1zjyrw9szn";
-"totcount.doc-1.2"="q1j4ja1xiqc4aahh7d02cnm8pvb356r6";
-"totcount.source-1.2"="g56d6lcx4g79iqg8af4nazv3lf3973ic";
-"totpages-2.00"="5lxvigm3prx6djwih6imgxf27d57sw2f";
-"totpages.doc-2.00"="9kxxf13pfksp7whw0rkx554qn9dbbbhj";
-"totpages.source-2.00"="y4d9lbpab1xlfdd69q2558c5d0ka5mrj";
-"translations-1.10a"="9bvxmkzx0f7sk2yw8vyslr5bdq09j7rs";
-"translations.doc-1.10a"="75mzpk36b88bl7zl9jcbxhqi83j0rp23";
-"transparent-1.4"="dmcm4nfjmkxj8ycc0y7lgzklbfafm5cg";
-"transparent.doc-1.4"="w7vkf495ybi15ir7vpdv9n85wlarlfl3";
-"transparent.source-1.4"="hxayqrkm3ann09p5ffqq8i7vhn89k86z";
-"trfsigns-1.01"="5q6ajydw6n8k0b6rfflyp0bh973n4lqa";
-"trfsigns.doc-1.01"="bapnr3mrhxw22p78cg2y7gjbwfqirg7f";
-"trfsigns.source-1.01"="mmk5v5g9xidmfki3jnik1m7rmwcp0xf8";
-"trivfloat-1.3b"="vwnj2bh21crx1dkyhq36g4bxpiyjwany";
-"trivfloat.doc-1.3b"="dg12fam23s6510jskihm7hbwvf22p442";
-"trivfloat.source-1.3b"="dr1x8k6sx8rzfglz91clqwfyzl202sai";
-"trsym-1.0"="cxghw734kqq91crnbdrjx6dva71n13zq";
-"trsym.doc-1.0"="c9sygxys9bmz0j9a4w5lalhzggalayax";
-"trsym.source-1.0"="ybdjpd5m7l20jbzf3bxg302fh0r0g6sc";
-"truncate-3.6"="lxlfhy1bngnws701wa0c6zm10fi6b4d0";
-"truncate.doc-3.6"="1bgd0gxv4dhd4syr5cylb2gi2z4wcplv";
-"tucv-1.0"="74q08ki5qlbm4pvc5x9237sz648xy7b4";
-"tucv.doc-1.0"="vnqr21nhz99w92hwc2mjkr8618f1xk24";
-"tucv.source-1.0"="85rsysj0whl6f07njaxigyk14ij204gc";
-"turnthepage-1.3a"="kiaa5nrr0q0zdgbl22349ilfl23hlzvl";
-"turnthepage.doc-1.3a"="akqb1g5iyf9f7shvsm0v5wqzi43w8974";
-"twoinone-17024"="mg0zc3lsfzqfcj9w6qgqiynjkqki9h92";
-"twoinone.doc-17024"="8shpm77vq1ir8f18ix6ddz80jn0qg0ni";
-"twoup-1.3"="9zz59lr969ia2fr0kawfiibwfvjz8803";
-"twoup.doc-1.3"="scznf4yfaq02nd7yq3fkjxn2cnzhd0s8";
-"twoup.source-1.3"="rksz35jmn56sd5s5m3fmsp7a33rgk0c0";
-"txgreeks-1.0"="6g3vnp9prv91yjr054dshpgdl2f62w2x";
-"txgreeks.doc-1.0"="rvca7hs2rrssy46nd855knh10jkav8s0";
-"txgreeks.source-1.0"="aifnmmsvmda0vs6xvw2xrl3dyvr6sxkn";
-"type1cm-21820"="fnxv8a4anvnhl4a2hm1fx45hpdns24mh";
-"type1cm.doc-21820"="fly8yjqm52klwal3cpiw5c3c8pmy75n1";
-"type1cm.source-21820"="735jsqhiaa26wlbbwq764rl18s3j1s7v";
-"typed-checklist-2.0"="nb46bydygh6n37z3w9rcl4vdlgd0jlyj";
-"typed-checklist.doc-2.0"="wpqkpzji27rp6zvrhy988fgjf1mf9hn1";
-"typed-checklist.source-2.0"="yp6qcgrbhlggv7c7n5g40gmiz6azflz8";
-"typeface-0.1"="cfgy9wb6gcjvx6ki1paf42l8qwsh7glc";
-"typeface.doc-0.1"="60y2dvas00811spzl8bjwjzm6hz1plvj";
-"typeface.source-0.1"="v0i8v4sgr0df953cfp39d20shiyk69c5";
-"typoaid-0.4.7"="ab2akk0hicpkgis255a91bqzn67awvba";
-"typoaid.doc-0.4.7"="ab6c2n162jl25cmynkks5z0978ki0myn";
-"typogrid-0.21"="av412ig7qlf5bq7rdwvsg4ik5rsx94dm";
-"typogrid.doc-0.21"="assax9xx3pfnb27qal4q5g2wgxa87mwn";
-"typogrid.source-0.21"="nqrxi01vw8mia4pswp68yvj1rxnya86v";
-"uassign-1.01"="ik7140q4g30a15p6pk9lr09xzvpk9wr8";
-"uassign.doc-1.01"="774bv0pld1aswbmfddl40bxh55x2llk4";
-"ucs-2.2"="7czg37dhlnzl686gaf2fzl0khkl9cca8";
-"ucs.doc-2.2"="z3jxd58nlj0lkch4gc3jg4nwc2aqgzwr";
-"uebungsblatt-1.5.0"="9z0cwx5jfib1mfyq49bq2yl0yfacwg89";
-"uebungsblatt.doc-1.5.0"="vps5ya9a8z6hv7lynd0fwizwxdxyb52j";
-"umoline-19085"="2vm0z3pykwnz31pyxxpmgdl3bbpzxi0x";
-"umoline.doc-19085"="i3rs7g3iqdqnkhicadrnfr981fwkmw8x";
-"umoline.source-19085"="rsd9s0gqx20dvf6sk91gwzlsx4mq6299";
-"underlin-1.01"="vp1wvsy871d28x0z1rw4pgxw9abkr8yg";
-"underlin.doc-1.01"="8cbapdd7sbqfxs6s2fx6pv0d8x6b0sjs";
-"underlin.source-1.01"="52j0xlhajihpgw5mp5zgpnsaiqkyfr62";
-"underoverlap-0.0.1-r1"="k0if1va0b85k80mksnr14lrrgwbsjwf8";
-"underoverlap.doc-0.0.1-r1"="yb4cdch2c1n2hgcs552cjzpp2kiyk2r2";
-"undolabl-1.0l"="d93inn1bzkj056nz3syf6zplallmmjy5";
-"undolabl.doc-1.0l"="qjjvwf6sn52vcnsdqz8my9ahbvv6h26j";
-"undolabl.source-1.0l"="1cjwgz2bwq3rwmqq1q23jbk6dzzawfl1";
-"unitconv-0.01"="sda97fa30kkspqkcgcsiffsr2wik5z2y";
-"unitconv.doc-0.01"="1a5fiy50i32255z85pzvc1p2glfcqj4n";
-"unitipa-0.3"="q54x9b032qwzfmx5dx0bjs0qq22bb01n";
-"unitipa.doc-0.3"="ly9fbbzdzqjc6ipvr5zd6mqn7s0d9lgb";
-"unitipa.source-0.3"="jqh712827vacjsysklhsdgm330szza5y";
-"units-0.9b"="b92vh3z7cr8q1lp5cqzkiw2dhfbla7cg";
-"units.doc-0.9b"="3c1a9x0y99lb2qw8scb0x70jzbh5kjkl";
-"units.source-0.9b"="ha3bz0p0xanqznz0nyfsa02j32wjdl88";
-"unravel-0.2h"="6ngqd1mpj3akcrf6r25g5y32w18r4cym";
-"unravel.doc-0.2h"="l75wvabv32isssh3lsma3h3ziir74yay";
-"unravel.source-0.2h"="lzscffmk9ychmzcbwqanqzv7qr2rzxwn";
-"upmethodology-20200406"="z03ic80fkbnnsg5j9xk3ipp8j6102w64";
-"upmethodology.doc-20200406"="ama62wdhmsalan1y77ii0gzb6pnppgwn";
-"upquote-1.3"="3pr0j9wkyd8fzk026qk6vzsv5hlyccy7";
-"upquote.doc-1.3"="ilclzgj5m6nxhnz4398f5nwypf4jp2gh";
-"upquote.source-1.3"="4j1q8nck1g1cg4paz65l2zpvyimkf31r";
-"uri-2.0b"="4zxgavx9zjqqqvavpan2dlqkqjs3aqck";
-"uri.doc-2.0b"="dsfg7yx56y278kl5s5wwmnndiakn002m";
-"uri.source-2.0b"="samjvi571k41k0rv2scbnb6d8gnnamj3";
-"ushort-2.2"="p1yyh90qr3whijp18yjv9d6aqxp519k3";
-"ushort.doc-2.2"="p7n00vh408fnmq7j619v8dnj08fw5x18";
-"ushort.source-2.2"="jhn6sxdjyff94x69jhax021qfx39dca7";
-"uspace-0.04"="mc9j21cj64djdxspryc0knx00xm2krvm";
-"uspace.doc-0.04"="72420339xc9l7a1xaz1pdkn7clkdrm7w";
-"utf8add-55291"="37ai49lg3vmkark7jwyvjbcs165awqh8";
-"utf8add.doc-55291"="1s7a52r5qjrzkvrhymf6ksjl9k8n8vph";
-"uwmslide-27354"="zf5gky1nzsjd1jp5kq843in2prllnk36";
-"uwmslide.doc-27354"="m67bshz8bpzw4vcsj1klgh8sz3mnbx8n";
-"variablelm-1.1.2"="gmqg9y7mmqmzl04n1zh8gfxzglhh4afx";
-"variablelm.doc-1.1.2"="d12x54ynkf2lq50m97p9s3wh2jr1y5jr";
-"varindex-2.3"="isp8j60q76fms3g4nlgf6d6da6f2y0xg";
-"varindex.doc-2.3"="k6f0ji2kbz2slr8cbsbyifb4j19wpx0s";
-"varindex.source-2.3"="g260r972d5dicmhzdch9kp77fxxakpqd";
-"varsfromjobname-1.0"="hy3mbsrrdd55ky6ilrmqfgc5dsx3kdl8";
-"varsfromjobname.doc-1.0"="inwn7n9dn0lym3nfh2szc3vfszhns7vn";
-"vcell-1.0.1"="g4z68vrb7qslxdq1f31nawlpv5cma6za";
-"vcell.doc-1.0.1"="vfsfz1lzpcaqbrdcyrpjc99xylk5inss";
-"vdmlisting-1.1"="n25b8bdw43shzlsn97rk4f0x31k0i2ip";
-"vdmlisting.doc-1.1"="rjcgx3yigj8w0085q0cdk8yir2728f2s";
-"verbasef-1.1"="i92bhi5drkn26s6lc8kwdm2z5f2qr0y0";
-"verbasef.doc-1.1"="qnn12d8793pgj92wfi0254n1kgi96r4x";
-"verbatimbox-3.13"="zb6kvwdpd9a4s4d7wcax8j6c43f3dy7d";
-"verbatimbox.doc-3.13"="sjns6967xicryfcpg4jhwfplsw1sl6nb";
-"verbatimcopy-0.06"="jf7rbdzhqlssq6nk5pnn79dr7a1gjxjh";
-"verbatimcopy.doc-0.06"="2rgg2n7mb1gywp8npzrz8qvc3kfw02f6";
-"verbdef-0.2"="pc0nq3s0vzl7jdw8ncp0fgbs7fps6257";
-"verbdef.doc-0.2"="dak1qyfi1gpb4j16nklvyjh7gldb4b2g";
-"verbments-1.2"="wvi7plkxcf920mdw7qrhbi2fjph1fxa4";
-"verbments.doc-1.2"="3zc8bfvz8a707jzh7zdbmb3rkxwfv2yq";
-"verifiche-4.1"="yir67gi5wyhcnqn7yr8yz0sv6mhmmd3v";
-"verifiche.doc-4.1"="ycjy64j6r9lxdgjnm5fxh9i65cjh7kk2";
-"verifiche.source-4.1"="3abpr2xa5adqrsml13dybcv6zn8802p0";
-"version-2.0"="q06mavcr844zm0dlnk2fm43np58nvjlj";
-"version.doc-2.0"="7hcfbpwhb2ifxy3y84g6rgw2f7465hgj";
-"versions-0.55"="c1vn4pw5im1a93xpp59i3xcf5az1n326";
-"versions.doc-0.55"="l4znzf6z7qwpskdsdnhsdx264a07wvmg";
-"versonotes-0.4"="9k0hj47jjkdgnhhxbw87m5xnqyfpb7jm";
-"versonotes.doc-0.4"="mgp76qfszyhmq2fv5d93y6cs6113nxl6";
-"versonotes.source-0.4"="0zxi7ly18j94kbwq7ipd6ydbgvskc6m8";
-"vertbars-1.0c"="65mc3s841k2j2b02g5qvii5pysjim8pq";
-"vertbars.doc-1.0c"="w04gw5yg7wl8y8882g4brm1ny6hwq3f5";
-"vgrid-0.1"="5qfb52ndm5lf20ya2w4vrhivn7p6vkaf";
-"vgrid.doc-0.1"="s0rr15ll7fy2s03va6kxlgf4ng0dmdrp";
-"vgrid.source-0.1"="2fql0w1qmni7dii9qdn976j6xnypj8yk";
-"vhistory-1.6.1"="mdp8h17cxsj1pvi8q18m4lqn7109q26p";
-"vhistory.doc-1.6.1"="dfvbnfvrfz2k6fgyqdlvh4g8dzz5lq1j";
-"vmargin-2.5"="9zh2l4idqdwpzanfd1z47g6561pfznh5";
-"vmargin.doc-2.5"="3ngc0z34mhrpsv73yw9bm065msqllqwz";
-"vmargin.source-2.5"="yj7f5bq4wlrbynfbcq19534wlh06g6hc";
-"volumes-1.0"="vid094d44cn1lwq7l72718pcz71l60b6";
-"volumes.doc-1.0"="3xgxlj53yay13gxbrx7l5i8rfxn6391p";
-"volumes.source-1.0"="r5ks99pb362xrxfvafl35s1v2n1kj36w";
-"vpe-0.2"="pzaqk160w9401v9vw3zs9kg2kjpmcynf";
-"vpe.doc-0.2"="yr38k5mpbpd8jxvcycvpj0zhl1f75lv1";
-"vruler-2.3"="bw7zccv90946wxjbms3hclxahpxkcpfp";
-"vruler.doc-2.3"="kffmrjhmahvd1pyk1ha5slz34y8g5j9d";
-"vtable-1.0"="3yh1145v9bcj739qrlb685j25rk088n9";
-"vtable.doc-1.0"="w7yq9sbb3jw6k7wxbq2pdqc3gcivvqxp";
-"vwcol-0.2"="hff0d1za1i8jqaa5bd7r94g4zvsxrmcf";
-"vwcol.doc-0.2"="68p9iv66i4mx5l8s90ivl3w1pdmx9fim";
-"vwcol.source-0.2"="x7qa2d5f1hxxbiabgym4g1n1n0g92x1w";
-"wallcalendar-1.3.1"="9ydbcsxj9n0nmrkr4drlbqwarpsa3lsq";
-"wallcalendar.doc-1.3.1"="cpsswrvazx036hyj0b2mfakfhziplm70";
-"wallpaper-1.10"="hj7n1ajpapmwk51fnrhxawmgq6k9cxdv";
-"wallpaper.doc-1.10"="751a0gq1m6px853zvyvbxv8migdm1pkb";
-"warning-0.01"="a4agj71acw6kc20ikk8in8m27fcq7rld";
-"warning.doc-0.01"="pph8n9h9mqgh0qqcv3jb1v89ds8f1qf5";
-"warpcol-1.0c"="91kcbm5m59ym7kfjbhzdq20p9rhi7ci4";
-"warpcol.doc-1.0c"="q72m3zkgkm7fxfq1453jsmqidgacb2bh";
-"warpcol.source-1.0c"="lmr3rlbqz9q7j05glz4s8fyfrlm6ah43";
-"was-21439"="gw9043kq2ai4mkbcca20x5f10wnv8czz";
-"was.doc-21439"="y83pwhhkxlh92cr9b0hmps0izg2cjhmg";
-"was.source-21439"="cwqcmdh86sm58073zm929dxibw3flc02";
-"webquiz-5.2"="9qq4an9pcpirgzrfa7jx1mc74zz5y55q";
-"webquiz.doc-5.2"="36ykfxg7dqx2wzn5k15f85s9wm99c4xd";
-"widetable-2.1"="sv2di7hvsz6ivzb6a0s7dccrqwi2d0xz";
-"widetable.doc-2.1"="ilp88f761vxixsa37agrqbmqhbfyynq9";
-"widetable.source-2.1"="qwjaf2v8bgpgfir6vy5j87hwrkr4jcw7";
-"widows-and-orphans-1.0d"="dza9czq3b8r0ww0xlrmc20b6s2xaz2hy";
-"widows-and-orphans.doc-1.0d"="ciih7xrr7rhg5rhd2gmmby3ghxszb50h";
-"widows-and-orphans.source-1.0d"="cpv7db64y4r4r5w0hg8gjabbq7gp1bss";
-"williams-15878"="9xzcvf4nblyp6vl0vhnwi6lbbmp4lagm";
-"williams.doc-15878"="0fr8h1zsj1h1cf3qpjvdkg3yz4fcjdsk";
-"willowtreebook-1.01"="619dav4z2qv4llwbn8md0zh7kd7xchnc";
-"willowtreebook.doc-1.01"="13ipsdh703cr8ivw4slg5ddfqpdxddnr";
-"withargs-0.3.1"="scpyc35ch6zjsdi10iqajg7fs2i9g4gz";
-"withargs.doc-0.3.1"="wsagxy5bb8psai9zilrqxvw1hdbvkn94";
-"wordcount-1.7"="wn4d84kxf5phfn6f5imv91draca4wxap";
-"wordcount.doc-1.7"="hsddvb5521vmj65yns8f9d69nnwhh6iq";
-"wordlike-1.2b"="l4ma5j7ga4b3r6f627vf1vwcb872n3jr";
-"wordlike.doc-1.2b"="wywmq3nr85c130ag5vqi0hpcgq8vh2f6";
-"wordlike.source-1.2b"="3zrpdarw3brnc5w1c5bgvxj37qlpc9cd";
-"worksheet-1.1"="1ll03k444qn8zvji2h9xd75ywik46prm";
-"worksheet.doc-1.1"="dwab8sjshckkcm8vmrxr80rmrd31jih6";
-"wrapfig-3.6"="0r2wm95j00mxbiqgyk2d5vsb4l013zdw";
-"wrapfig.doc-3.6"="bb3z98p5kkhh2cw6qm0as75xv914l84d";
-"wtref-0.4.0"="p5kwcxjfwpcdr847651c129jjqj5vvlj";
-"wtref.doc-0.4.0"="zn0kkfbz04w28b0ybaqxyg8w6gw9x64c";
-"xargs-1.1"="s6g70azr1g9mg42k7lgii1ngmyjad657";
-"xargs.doc-1.1"="d8y9n347qlv5ybr4ahfqf51yb4g9wjzy";
-"xargs.source-1.1"="zvlns27k99jmi1iy7nyc03kyyy8kaycs";
-"xassoccnt-1.8"="8zs4hif0l7mw7xllcwg78zk4m8yrsvaw";
-"xassoccnt.doc-1.8"="pmsjqv3b0ap1j4ax0lc0q5lhsv3sql6z";
-"xbmks-53448"="apn51ljhxljrg6m2wrx9fgq9cvw7plh3";
-"xbmks.doc-53448"="pw86h72c5alcqi96l6i3f04yzv8m040h";
-"xbmks.source-53448"="1gqf2i24lbvbnbyybyqmmm4zx103xw8f";
-"xcntperchap-0.5"="qbrmbcwfdhy1as9i732naj5xnqd8zl7r";
-"xcntperchap.doc-0.5"="ql3z0qizhd2nxxjb5i4hhxvb43951rs1";
-"xcolor-material-0.1"="08zazp49lpmm92ang9i2q34kvx7v4rli";
-"xcolor-material.doc-0.1"="r646x6g0hwsi91hrxzz6b8l6nbbh3gig";
-"xcolor-material.source-0.1"="98z6j5l2iw9j1pyxmglm6b0gjdjyb2l8";
-"xcolor-solarized-0.4"="zwng9y8319hj7khamri46ppb0bcybpwz";
-"xcolor-solarized.doc-0.4"="c83zvv123bjwr6z10dgfih1k6b9wk4k8";
-"xcolor-solarized.source-0.4"="5p141gbzdasinppirw4wyb0mm9875bcw";
-"xcomment-1.3"="qnmk0vpj33sszbi3hfndscjwcmg1gf5h";
-"xcomment.doc-1.3"="m5a8wm984ff59mg0jsf4f402zbjqf0b8";
-"xcookybooky-1.5"="00gb5f064lmiwlhqz979cx5n8d2rxkad";
-"xcookybooky.doc-1.5"="02wq92szswqj8mj94drhgcpqw8px6j8a";
-"xcookybooky.source-1.5"="cky4lpad42pkh175nfddkz76nhl3q0bl";
-"xcpdftips-1.1"="qc6v9ab20hjwg3mb6w5mmzm3rzmavxd0";
-"xcpdftips.doc-1.1"="kr1fr1l8mp7zaj7hfwz0dddzchy2ld73";
-"xcpdftips.source-1.1"="5fxv00bzsn1hpb7qhxn2wl7gqgy4cmdg";
-"xdoc-prot2.5"="awz55rah1196cknc1qsy0dc8ra91dvjn";
-"xdoc.doc-prot2.5"="zx0nabzias47jm6270rmw9wqr117mb75";
-"xdoc.source-prot2.5"="51sid2ab4iwhybxhkwf5wwxflabqy4v9";
-"xellipsis-2.0"="x7m9da1658cxs5896bhn8cjdj0va03xr";
-"xellipsis.doc-2.0"="332vcqlqjbpm5hsqbcfq23avmmgjl837";
-"xellipsis.source-2.0"="3r007qgvxxcfvnd7942yafsznza0jdk0";
-"xfakebold-0.08"="yr38vnjrqgxnlzdrv0vjk0wkcpbn96g8";
-"xfakebold.doc-0.08"="pw6zlgy6qmlmi6gxb5p9fji5drzkhvr6";
-"xhfill-1.01"="6c09h61nlwbviwc1vfvmr4jhbrw2fs24";
-"xhfill.doc-1.01"="cw2rx4v66138fsh1vwxhq9smyai1xlr4";
-"xint-1.4d"="20qzgrnfkfd82gd5bzgmlkvyzyiz41fg";
-"xint.doc-1.4d"="6p5sw9crz6sxqnqz6xngjh8mflmbrzmk";
-"xint.source-1.4d"="50fbzfd1x7xj5kgcjqw2f4lv63ky6pp6";
-"xkcdcolors-1.0.1"="2g1glnkhcq4709y8hkkn3f6b3a4wh5dl";
-"xkcdcolors.doc-1.0.1"="ni52wb9gdcxdwzwdl78988anxhj5ay61";
-"xltabular-0.2e"="ll0q138s9xm3kapjmcl2iz260xgwiya7";
-"xltabular.doc-0.2e"="1qf8125m1hxzpf98w7jkfymbhcbsv003";
-"xmpincl-2.2"="wjg1lw656zbn3h41pxqzwwag9mgrk3h6";
-"xmpincl.doc-2.2"="dczhfj7g5h3gf3vg7wncvccn1q3xavqp";
-"xmpincl.source-2.2"="0pfma5c8agil5jamikja0qh5fnyd9wn0";
-"xnewcommand-1.2"="gc7n5467awcrcwyals55mclkx2ighp3b";
-"xnewcommand.doc-1.2"="i6hx2x96hwjs712zzrp5h8l020b7j0yh";
-"xoptarg-1.0"="dpvgxh3j4vz7k25vbi1a6936pxsg901p";
-"xoptarg.doc-1.0"="hlx9h66iaychpvzkxnwldkffj7fdn45m";
-"xpatch-0.3"="0qkzj03rh652wh954p3fjnh6jldph1xm";
-"xpatch.doc-0.3"="89fvzh1q664qilll13jgd8lf2753dbhk";
-"xpatch.source-0.3"="cqisb4m9n98yns96j1iglqdjjxhn0h26";
-"xpeek-0.2"="3dbw2vm05dirfvskchrmgdlv7l3n46nw";
-"xpeek.doc-0.2"="vr8bhx79vb9d4nb8ik4aa5xgiyr8sfp8";
-"xpeek.source-0.2"="cr6cxj638iwax50pkn60az0mawpx7m86";
-"xprintlen-1.0"="icyd4h8hs5yap04snj442adcw8kiknjm";
-"xprintlen.doc-1.0"="lrz20zfh7j4px543jqxy3ljm803mnlf0";
-"xpunctuate-1.0"="n3mxrha0440l5ngic93idrqw2agmisah";
-"xpunctuate.doc-1.0"="lrvqrndq151vfz34ycvjnh3sw77v58lz";
-"xpunctuate.source-1.0"="cmmzrijia2ir3mrhcq4s531la5kx18fj";
-"xsavebox-0.16"="myx02rad0qanxfvg93k228jagaw6fjg4";
-"xsavebox.doc-0.16"="0mkzdmjphmqlfh6kpjab1mg7ws7iysff";
-"xsavebox.source-0.16"="1z7sspx03mj51vshqhhpbfxm5ysj91am";
-"xsim-0.20c"="nz7kdw0g7w78pmqbwlbmsapzddpq648n";
-"xsim.doc-0.20c"="vdc6vcqq3fff653gpkki2sh266bpspyr";
-"xstring-1.83"="imwhw4cc68bs6q4f9a00sp7f4y6kvg6v";
-"xstring.doc-1.83"="5ad5zk5vvbk6wpgssvzs905b6nq6x8fx";
-"xtab-2.3f"="zqrxzgk3pn3kw19jm28bvg0lch9lc7sm";
-"xtab.doc-2.3f"="pmhfig6nmfimb0didacw2sja2kc1nik7";
-"xtab.source-2.3f"="78m8pqm3r7jhxy1p5cvqy7p0clpzwi6q";
-"xurl-0.09a"="2h8qp6r2i4rdd6f7lq34g40w2wfbhwv3";
-"xurl.doc-0.09a"="mnwhvjinhwwxxxcqyydpnnb9lz887q56";
-"xwatermark-1.5.2d"="5c0z0yvlrs562482lkz70w6n7i80mkqi";
-"xwatermark.doc-1.5.2d"="1ixadba47dckfx4r1hhzfd8q1wivygpj";
-"xytree-1.5"="2kq4h083zj1zi2zvrhsnqz5wjyl0dkxf";
-"xytree.doc-1.5"="05af0l0bbcbr5gav843zs69p917cx3xy";
-"yafoot-1.1"="j3li8wngwn6ljnjr44rykppzw9dlhf83";
-"yafoot.doc-1.1"="8p4wf74rmhl1xzyp11m3c8wrps38gv3c";
-"yafoot.source-1.1"="zjg8qb79hajfvanp58hzlms21gaipiqh";
-"yagusylo-1.2"="rbhp05f6y6zw687pdw1mbjvaf99v7qy3";
-"yagusylo.doc-1.2"="av3jf7zqa6rprfip5lm173xj2f1rffb4";
-"yagusylo.source-1.2"="6z69ljv1xpv2cn81l63d8xrbwrk8am5m";
-"yaletter-1.1"="br7r3x3n8h5nlfy36csx8a5ji3cf12wl";
-"yaletter.doc-1.1"="x5mhsm4pxjc2klcnwqyrz10gbq4kzw0x";
-"yaletter.source-1.1"="c1la5n24hxfi3paxwxd8m7lxpd083k0h";
-"ycbook-46201"="62sm9jbqxgqdwwm4w39kh5lax93lycc4";
-"ycbook.doc-46201"="piy9cpdcikzknnrdp27dfrciidcjspzz";
-"ydoc-0.6alpha"="4di93jv5wpv4bdng1ibkf0ma6m0bknz9";
-"ydoc.doc-0.6alpha"="80hq2xznj76kgj0zb6zv6li578kc3r2i";
-"ydoc.source-0.6alpha"="39128wyw2py0j8f334r7drff849ad2sv";
-"yplan-34398"="rm8ln7pvl6i672107i8hxic85s994g6g";
-"yplan.doc-34398"="0h0wa59ackd645spdqk9vqy0gzzp8f8y";
-"zebra-goodies-0.8.0"="p6f693z5cywmpln2i6qqxy0g4c0wv78l";
-"zebra-goodies.doc-0.8.0"="0d9dcng2qivm4p2h8112ii3pjrwl1f38";
-"zebra-goodies.source-0.8.0"="dgvli6fpzrs7jgalqvm8m4a8fqldkfnh";
-"zed-csp-17258"="ggjqzwn3zi9x8ziddkh7xizgw80qqlrv";
-"zed-csp.doc-17258"="5p8s701yk431qyngw010qws6b9shx588";
-"ziffer-2.1"="jv9y39n2mj1csaixb3pdfp0qggc16b04";
-"ziffer.doc-2.1"="3ys31swbmm03zmnlvfm155aii3nrd2sm";
-"zref-2.32"="17gs2db0nrwc4hvrh5ha3lpvbnvzaxic";
-"zref.doc-2.32"="krs6a5w6n269rbr6qipmbhma2nbcirkv";
-"zref.source-2.32"="jgjibzgh4bzhxwdic53f8iw2f9f9400v";
-"zwgetfdate-15878"="ibagqadgb3nbq8y72lzhrbamv5xcipk1";
-"zwgetfdate.doc-15878"="idw9limrda31c7h0xd3j6v23xqbd2nn3";
-"zwpagelayout-1.4d"="h3kdf67z95ghbzw3fjm7rq9jra2qwnkg";
-"zwpagelayout.doc-1.4d"="12l7jzz3ab176z5rgrjv69fsmli003ii";
-"addliga-1.0"="v46mqcn3yabd6lliclwabya62hvmvpgs";
-"addliga.doc-1.0"="lrmkg7awc61rkjf6n8xn1hhcvrsiz12n";
-"auto-pst-pdf-lua-0.03"="s0l3pyb7y4pr3l67yp3yksd0j2fc212p";
-"auto-pst-pdf-lua.doc-0.03"="784dxagzkrphn2nby5lk4b79s074824y";
-"barracuda-0.0.10"="wk371cfiiy15swgvci0nqwi6493ggfa4";
-"barracuda.doc-0.0.10"="njyqsbr5sbihpm6392a3alh26alxd67s";
-"bezierplot-1.4"="y1vm9s8h8v75k0q73q8089gnr0647ir2";
-"bezierplot.doc-1.4"="crzlgln3g39kmqdba5dffqdx3p9fffzh";
-"checkcites-2.4"="2vzqckrpid1lxi5awbc3s1179j0yw9rm";
-"checkcites.doc-2.4"="5dfipwxsrf3jn446z9ar0caa8bsmw4al";
-"chickenize-0.3"="lmc9ia08np6k06m6fm4lkzp2x8ilng33";
-"chickenize.doc-0.3"="v5b1an4wzrgbp07lh1y0ccsqm4c2xqqf";
-"chickenize.source-0.3"="8mzsm3jdxa8ii448wg4i83fjxisihz4j";
-"chinese-jfm-1.1.1"="rx1518yjy9kdl5dk3bfd24sfhzd9nszb";
-"chinese-jfm.doc-1.1.1"="jf784y3vv9196bf2zf3p0149asmq64mm";
-"cloze-1.6"="6fnj9fvkd2969p095lrsk2rxvp3bqzx5";
-"cloze.doc-1.6"="sp2jppmdhd3w1z6ivi3kga393bhwqw6m";
-"cloze.source-1.6"="5b31196q2dpj278h0wjbwr193q96p0fk";
-"combofont-0.3"="kqlh6sp2y5ssbp38jy6svzgdva4m4sh5";
-"combofont.doc-0.3"="99h3xmx3jv5il99g6wc10csqkmpm5mg6";
-"cstypo-0.03"="4iqsrwnw7pnzhzzspr686pf6y4img6zp";
-"cstypo.doc-0.03"="3s9dsniw0yz2j7iffbsycsgrycfbjlg9";
-"ekdosis-1.2"="n727jiqjlv7qqnjrfp2jw4nm6s9yd1x0";
-"ekdosis.doc-1.2"="88ggl3assc8q8xqsr80gaqydrh7mjz20";
-"ekdosis.source-1.2"="vzk2bq9f5jz1znv2l5dbjakp2ajcbx7h";
-"emoji-0.2.1"="v664b6kkikc2bclfv4c2p4bh4l4fwjan";
-"emoji.doc-0.2.1"="51iq1l5488652ns99wl3irf3d9qsgwzl";
-"emojicite-0.3"="ycvzy0rk6ilmzv8jlbn0a6502j6n0085";
-"emojicite.doc-0.3"="52pdr7097pj8grg2m0y4h09cgdd626sb";
-"enigma-0.1"="1d9g45cwjgz5imk677zrza79fhwvz3cz";
-"enigma.doc-0.1"="57pmvf7xx9hp23jxaj4sfam0526y652q";
-"innerscript-1.1"="bbv052zvrvzrjxj04iyc1lyh7srnvj7d";
-"innerscript.doc-1.1"="864nlxd9pqi3kmmba7ckhnja40yg67y4";
-"innerscript.source-1.1"="1llgzhkvjh2zwyl639bbpsmjdmfaz4s7";
-"interpreter-1.2"="pk1rbxzpaf3gida3dcshcgl5c12rgxzi";
-"interpreter.doc-1.2"="p249plg4a7qmq65rm84qfs5xvjwywnw4";
-"kanaparser-1.0"="klyk8bqv233cxpg18q10nyzkhql9pqiw";
-"kanaparser.doc-1.0"="kvcxqykqyjdvca2zcga0p6hxiv17vhhj";
-"lua-typo-0.32"="9y1yvnv6mm0ka7d583dr0pm49jmv7aa7";
-"lua-typo.doc-0.32"="bzw7pnp7mksnqlmpdp861923jnwdqds7";
-"lua-typo.source-0.32"="8bf9cn68z4wsav8f9clsyfwbmlsfkxg6";
-"lua-uca-0.1"="wklxkis107v86c1zlyd5siqz7pjnykj6";
-"lua-uca.doc-0.1"="wbij33n1h6i7xc0rxbwdmbpxgpfjq2r1";
-"lua-ul-0.1.2"="r9dp61f1jny7mjxgpc0vrm326j8andbm";
-"lua-ul.doc-0.1.2"="hbyfh4rr2m6fgx0s0kfamiky96any2f7";
-"lua-ul.source-0.1.2"="4mnmgyzf1iwg3xxgwm3yb2cnfm6pn2wx";
-"lua-uni-algos-0.2"="52pjhipq7788hbldi78i78y5pk90v0l4";
-"lua-uni-algos.doc-0.2"="pkw96m767bgcms4k8hypfbzm1xb872fi";
-"lua-visual-debug-0.8"="q9v0clrwznlv66r3i4dq1srbz6a3nqd6";
-"lua-visual-debug.doc-0.8"="5ka8px5n50n5ghfi8k86svs347cahvpz";
-"luacode-1.2a"="8ckzckz94cdkygfjyh2dfldhr1pwa8dl";
-"luacode.doc-1.2a"="2xzk8133632231pnn3v0afb003xhl33f";
-"luacode.source-1.2a"="dw3p52gn6g103qkp5v8vmgxpj2b4cwb7";
-"luacolor-1.17"="ndh87f7myddliqxxhgypg4sbb7852mf2";
-"luacolor.doc-1.17"="6dkfl0j6yv6f9rj4z7c15f19s4w00qxm";
-"luacolor.source-1.17"="0lafyqyqvmvl4ka21dkcy4zk04rzmkjy";
-"luahyphenrules-1.1"="5arrxlvdlvh3njfllkvdsd6w2a6yhbqd";
-"luahyphenrules.doc-1.1"="3zg4gjpik75ri2f8rbvjapydfzkahsc1";
-"luaimageembed-0.1"="0cc3hfkj5jqldnv95ifz4j6ls9vj44dj";
-"luaimageembed.doc-0.1"="66vlh8a2w7q9ng1na9sraibw5ixxlyc2";
-"luaindex-0.1b"="hlzsr82cp5vs41bvnp22f8jc3kkwyk4y";
-"luaindex.doc-0.1b"="k1nz25w1nrxbfcg8g9lrb4gm22i3m7ih";
-"luaindex.source-0.1b"="7pg6v1phdz96x5nmwsnf5bd976s2magv";
-"luainputenc-0.973"="a1q2xrryvsn271605s6ir0iymym4qjd7";
-"luainputenc.doc-0.973"="jyiy6f96v5nvrr4lp765vpvhrl96j67q";
-"luainputenc.source-0.973"="5v1n89k8wg4g43fnx0wz53gdxp7cvgji";
-"luaintro.doc-0.03"="gcz5ihcqinbpnqza158xsgw65h17lgi5";
-"luakeys-0.1"="zija2bpmxjw8jpwvvbr4lsb8zx9pjgy4";
-"luakeys.doc-0.1"="vbb1j73ja2xlq5wfg5lg2a2d9hs7fg5n";
-"lualatex-doc.doc-30473"="9vq4qxdsf4gfskrqpb45wj9m0jdkcykh";
-"lualatex-doc.source-30473"="jnrcirfvz7w28pcq3cvwb8g8khd3gzh2";
-"lualatex-math-1.9"="4cgzpjyrs5ndbs3b3x5sxn68pbyykcvd";
-"lualatex-math.doc-1.9"="dagvjsxx05430vhk8lqp3lbp4nxq6xss";
-"lualatex-math.source-1.9"="53dads0ml8318r00g8xk22ig3491b587";
-"lualatex-truncate-1.1"="imd10qn2sh19fdz4zp8qz57rqs0kh2n9";
-"lualatex-truncate.doc-1.1"="xfanw53qhm8qhqg45ykvvf213j3q5dy9";
-"lualatex-truncate.source-1.1"="sv3j09xlab2gfqn670wd41xgdk3rjc84";
-"luamplib-2.20.7"="arzrgg7v2dvywyqvzp95qb0psl4gxmz9";
-"luamplib.doc-2.20.7"="2lmz0sy7m4h4ljyaf1iysx0cbylhyn52";
-"luamplib.source-2.20.7"="2niyz4251vsn3zba6ylw3bd5x9bvcv08";
-"luapackageloader-0.2"="gmc8hizbl18cka1iq0xhy8bp65yrl4gw";
-"luapackageloader.doc-0.2"="ilsqrigd8gvczbfkcbr0ci54qlryhyhg";
-"luaprogtable-1.0"="cyzviwzjdg10rh7xizm90d9vbsqjscir";
-"luaprogtable.doc-1.0"="gc199zsnqkiy7dzb6x28frjf5xmmfkwv";
-"luarandom-0.01"="cj3pzwmgrh4d477fv551rlp7afxrsj0a";
-"luarandom.doc-0.01"="zfvmr0649ca85n06y0rdxx7plxrsk6q0";
-"luatexko-3.0"="k4rrf6lmqg9pyszi7rqd2z58134cdmfd";
-"luatexko.doc-3.0"="ykrj25ib6ww855g1c8vk7xdz2n7qsbrq";
-"luatextra-1.0.1"="xb3dbgfnm7ww87n60ydpilkwqczj77lz";
-"luatextra.doc-1.0.1"="4pfnnxaynvw166pp1ivb5pjp061n2bvi";
-"luatextra.source-1.0.1"="3ajlrmqc27xyxlkn4vbprh6zzlqpf0xd";
-"luavlna-0.1i"="aw5n7z0xl8g1haxbm7iihpri3nnhrsjx";
-"luavlna.doc-0.1i"="hic4zrh893fyc0nmx4p5r8i9n7ddfbzg";
-"luaxml-0.1n"="mfc6hrdlf4kq0xfickj9p894av9hljm0";
-"luaxml.doc-0.1n"="xdbvbd6qy265j4ck813ycr5yi3v1655w";
-"newpax-0.51"="zfp2vysv2c6n31wgr0dw9zxpc1ns6qsj";
-"newpax.doc-0.51"="sc61h486xaxvdr3vndns9ag881v30p46";
-"newpax.source-0.51"="46p0hbild3d4b4x69qwxjj38bjf34vk9";
-"nodetree-2.2"="r5kgj9y7caj0npi1z70yvyfdsgmbf124";
-"nodetree.doc-2.2"="0q6c5yfwcsbfrdj1r2435kar1q4bj1wr";
-"nodetree.source-2.2"="dsccgf77bz156m8kj7hxcg8yylg3701m";
-"odsfile-0.6"="1h0vzwknsi9w3vpk008mdk87l3c33ffl";
-"odsfile.doc-0.6"="4wvljjvknahcyfnwkpnpbmzg26zaa9bp";
-"optex-1.01"="zb5yxw2lxflrb9kw1ipr9qxmdaiiybj7";
-"optex.doc-1.01"="hwd72yjcqxqjviwd4fjwmjmkd8n78krn";
-"pdfarticle-1.0"="gp3238h9g1kcamcamvhndgs1h9wav9ld";
-"pdfarticle.doc-1.0"="zh97mill1idcik9zhb8cp6wyq32lm7i4";
-"placeat-0.1d1"="rkzxsay49qp6qpiy3wpd6r3byzrm4hgy";
-"placeat.doc-0.1d1"="x954mm7qhyffqbh9hrgrxa5khh5h70p3";
-"placeat.source-0.1d1"="l19sqs0ipd1pgpl6kzggfizxvc1cb1p3";
-"plantuml-0.3.1"="76bdwic6y2h4hprqnfxkp7pnsyf603vr";
-"plantuml.doc-0.3.1"="mirs5886m6i4z34r0rjzh1hgbxif684a";
-"selnolig-0.302"="gw2nwscxyg2p83bs90nnbg47wddkh0i1";
-"selnolig.doc-0.302"="d73jxs6xck7m5y95hx6nfls1572za6qh";
-"spelling-0.41"="kajpixvypcfl8ivqqnscfcd1fb1vv78x";
-"spelling.doc-0.41"="r0sqb4qz4n2w8n0092qik847f3dziq0a";
-"stricttex-0.2beta"="v46yv1014blp25l6zard4i6wdkbnsfzk";
-"stricttex.doc-0.2beta"="a4hz60n22504k60j2hj2ip3fc5pn874z";
-"typewriter-1.1"="4xbzb4igw0cd0p9ry0xxii4p8gj7y8w3";
-"typewriter.doc-1.1"="vk3rzpx4vpgs5mwq8hmys9m0vv6gmmdj";
-"uninormalize-0.1"="a9qjz4wd45prkb54v5fnrji5y1fi3r4r";
-"uninormalize.doc-0.1"="ab1z4pxac91p1ywijfipjclzdn7hbq1x";
-"12many-0.3"="kzixh8p9qmbz0hxczir6pixx8k6zc1an";
-"12many.doc-0.3"="v5qw194xha1w7mr6x3zcwp9a0gpi4w4n";
-"12many.source-0.3"="wqc3q5hqwg09g0sz7l5va9xazvmqbbrv";
-"SIstyle-2.3a"="35jza92m3n8nhfnqxpi4yx5xi90hf5mb";
-"SIstyle.doc-2.3a"="7y6y0ks7aa4yvqcw4jzh7rrrajm5lyfz";
-"SIstyle.source-2.3a"="i5kmfn2pan7a6bvl7saij0wbfq7xsx8g";
-"SIunits-1.36"="jpghwsag31g9f2lnzdzmfg1rg1vjxihs";
-"SIunits.doc-1.36"="1qalyh0q4lvlxxmwykaq3bp3sw76sscg";
-"SIunits.source-1.36"="6v2lr8gjm3f2kyqh7pc06ay5iswbi7p2";
-"accents-1.4"="8vq1cj9iyijb5lcz28w4d09j3gaw598x";
-"accents.doc-1.4"="qqgb9nrldq4bss1b90qn080zb278vxb6";
-"alg-15878"="2z4gi58401dsjwivwji0b169ihz3assx";
-"alg.doc-15878"="43bcrdwkqnx6rharxz9l106cxycm408z";
-"alg.source-15878"="yq6bvw0bwwqq8c367ml9p9cbimqhkr1v";
-"algobox-1.3"="7skblnz1s8jzz079j3cn4igaldvrbvxd";
-"algobox.doc-1.3"="f9dyljs5j5f19wf4zxn0aw76yfda6gy2";
-"algobox.source-1.3"="jkwrxj0z1j2gyd1322qadqzfrw86f8m2";
-"algorithm2e-5.2"="w36nldd3zkmg3v74jzg22kwkw0vhja5b";
-"algorithm2e.doc-5.2"="b2g0vk8jb1yqqi9fnkvxizpdhlaqjn04";
-"algorithmicx-15878"="8hvwf9c6b51yc623g8ivxqzwd10c1j7s";
-"algorithmicx.doc-15878"="1xcga5bk7fgqq2dad5mzv2v2x0m6hqrd";
-"algorithms-0.1"="s07h59vabig8jdk2d7r98hdnxpyq52sm";
-"algorithms.doc-0.1"="vwq0lnznxpwi4zpp4hjaljdfc3c2h6yw";
-"algorithms.source-0.1"="cskf3mpv2rk435przyidljaijx46fiy9";
-"algpseudocodex-1.0"="i0mj0y496zmm7x9ry0qzaww2z2aaf46g";
-"algpseudocodex.doc-1.0"="qz16lkffljsiwsv0062vly9rq5cz9hmv";
-"algxpar-0.91"="017p08grkzqagvbv99kj72rnddb6grah";
-"algxpar.doc-0.91"="ap7d7x4siyizyavia6lcavbni1132znq";
-"algxpar.source-0.91"="nm2dlsxkp0j07agz4dy3cbh2b2ixr548";
-"aligned-overset-0.1.0"="ghkj6baw3sppp8vi9msny8ffaf3f0mb9";
-"aligned-overset.doc-0.1.0"="falszy2yd14yzy1gzscp7d3arsb02pv1";
-"aligned-overset.source-0.1.0"="gcapvfxcx8s1qgzcf8f52l4w0dd33b5q";
-"amscdx-2.2x"="73dyfrnv14jh8gavjgivx0ldyczqlazc";
-"amscdx.doc-2.2x"="ya3ljfxmirpyaz7kj29mkyrwrhvz61y5";
-"amscdx.source-2.2x"="da89in5nc7m37m5padb246ra9gl6cjrq";
-"amstex-57972"="lpqwc8f3c8iv9691yxqs6r00dkjp9mh2";
-"amstex.doc-57972"="niz2zwkdpxcs0mpj2xpn704py545gbvz";
-"apxproof-1.2.1"="rv12vr5m8iw2fw6rp07l3srnbirz3ibr";
-"apxproof.doc-1.2.1"="4cfsxj3d8f2gnvrqkqsx2i4jarmpkvc4";
-"apxproof.source-1.2.1"="4vnna3hyyqrmq1i4fvkpdyg8isvcarx5";
-"autobreak-0.3"="61yyi2p6gf0sjydn5kr8h8qvpxgmvbin";
-"autobreak.doc-0.3"="lzi2q6g0mrv5l8kb3b9yg0ykiiwimyfv";
-"autobreak.source-0.3"="62cm1l24gp51a8jnag36y8gm1bwya7la";
-"axodraw2-2.1.1c"="g9vd6wfm1v77c7rsl2y7cpa9rl1921zn";
-"axodraw2.doc-2.1.1c"="9lzv8lbcqay9szyzw2rg7dhglaf9qigk";
-"axodraw2.source-2.1.1c"="0qvxcvilb9v0k568f4chlmf6wviagyz4";
-"backnaur-3.1"="y970wq88dx80mbdsaadw18lckbiwgrx4";
-"backnaur.doc-3.1"="426dp81fwq04wqhng79sy1zj4d8igpgh";
-"backnaur.source-3.1"="pflnxz44r4vwhv8yhcdqkfcl5n0y0zfg";
-"begriff-1.6"="w5mcpc6qsm8np9n4lzqbq642frp73szn";
-"begriff.doc-1.6"="wwsqgp4ah07a8z28l8ji33mvj0w16l3g";
-"binomexp-1.0"="5jlh0g22c7b1i94n2qicn0j6k4zmami9";
-"binomexp.doc-1.0"="vh653aqsqkvcsmrvzhw1h4sqvirxg3yv";
-"binomexp.source-1.0"="jairxsdavf3ll4160dlbc39hriyyyrdr";
-"biocon-15878"="d5164k5f9rh092j3yd5vysfzcp6qbvc7";
-"biocon.doc-15878"="w3c6g9qr6s5pm76jq7v0fk4fs90p5d20";
-"bitpattern-39073"="s1gn3l5lfz24xgg768032s318gzx96zy";
-"bitpattern.doc-39073"="8nq9nd4qsrixnnw32saxp6272d26w040";
-"bitpattern.source-39073"="1xa4jib8aihzccs6lrijw5x0cvhlrkcl";
-"bohr-1.0"="5r65jri672mlqzhd26dmys54sj19c8kz";
-"bohr.doc-1.0"="8gsrm5xrxfqqgpljlyizlcdz4lw3xk9h";
-"boldtensors-15878"="ivpsy3mgqghbw4qv325j9rc6nwwmh9ya";
-"boldtensors.doc-15878"="nbg1ilwbjn61g6g93bnqhfm5xgrgqzgk";
-"bosisio-16989"="dinsh8vlzgch7mvajkqmikbpgmzryqld";
-"bosisio.doc-16989"="asd7h31zda58mwykhc4jfp5nwv21y7b2";
-"bosisio.source-16989"="m2y96hhgypgcsli8v19w6jn7y39d23vy";
-"bpchem-1.1"="c1qr5s3jp7zg06sis026ll5b38axvni2";
-"bpchem.doc-1.1"="54qyy00y03jbbhg00az5as1bc5h9i2fr";
-"bpchem.source-1.1"="r4bya1mqkjjnmzc14jlbv676ls312ynl";
-"bropd-1.2"="zhrvx29z8y1gs88y8lx7wvi0dlhamkmq";
-"bropd.doc-1.2"="1k5254jbhikwqrx5wv61qmznkhp41mqw";
-"bropd.source-1.2"="8hny5cxa57186p4brdriyp3hrmmqr9ww";
-"bussproofs-1.1"="v0s3q29bdab23xi07f123bq7gzc2i185";
-"bussproofs.doc-1.1"="6cnd5akpxdcq2q82n7ph5lvmb94ql8sa";
-"bussproofs-extra-0.4"="v5xhwycppwm0mpn11589shbys65hplx5";
-"bussproofs-extra.doc-0.4"="29pwpr7yfc7n2nflvzfpm39gdwx0qis5";
-"bussproofs-extra.source-0.4"="mi485ji1m4vvbd82xavgv05kbd3j96q6";
-"bytefield-2.6"="ns0c255yr22gvypcpgyvn7yan52yjvwc";
-"bytefield.doc-2.6"="y537gi9040798qyg6z3vjsz9g5i8px4p";
-"bytefield.source-2.6"="asvjyk82y4x267vq2srkxq5dk0vr0jmx";
-"calculation-1.0"="sss6l897zlki1lidr2s5vp60rv1jfm0f";
-"calculation.doc-1.0"="zwcix1a11s0s1hh7ccy28gbdxylz1n3k";
-"calculation.source-1.0"="asdip95ln7gna99vk7hjiq8n1hfcqg1x";
-"cascade-1.1"="xl13i2yr1fy3awaihp637h4lz7g5d7gj";
-"cascade.doc-1.1"="3jivxwvfqdwlc240ks4q52q07zrp06m2";
-"cascade.source-1.1"="ggqhq9cl5ia7l54kws9yqvz20s46y3dq";
-"causets-1.1"="rqqybjv2cbfk6wbl0ffmn66ijrasc6ny";
-"causets.doc-1.1"="ywnqh68ciqxv5q0mqzplra7496vdqvvi";
-"ccfonts-1.2"="im7vh7a3c8ja312745mlndwmndg1jvh3";
-"ccfonts.doc-1.2"="4ayp0gvbvmf0jxnfw8ciwz1jfmvbf3ds";
-"ccfonts.source-1.2"="8sfbbqrr9fq9jqbvapgrx0ghhh6r1hkc";
-"ccool-3.1"="chdi79g5j28xq27pbqk0nk9ccbcq11py";
-"ccool.doc-3.1"="q495yyd79mczqqn957jnn2ykp49xk6a5";
-"ccool.source-3.1"="lwic4fdqlcnqp6yplmrmq2zwr8h4dn5i";
-"chemarrow-0.9"="mb0i68z92909632g3xd1m3ahvmg0nj72";
-"chemarrow.doc-0.9"="h7g7ldb9837ngsxbmxm2c902bk0k2wdg";
-"chemarrow.source-0.9"="05g345ir5pvd4wik23yykarizwp0l506";
-"chemcompounds-15878"="7m2snwdxnachamq617zap92fsgdqhay3";
-"chemcompounds.doc-15878"="imzf21bm33j290wmy96hx88ahf5zgbff";
-"chemcompounds.source-15878"="nwcxbn1ivdiswdqyr319y93l76527amj";
-"chemcono-1.3"="kppxwgnwc7f62n7bwi2gnb6zndxv4bag";
-"chemcono.doc-1.3"="r527psyb3zf91x0xd6ywiv429b0rmicp";
-"chemexec-1.0"="szl9xw9iiql9yi7la6hwcwx8frhdxkck";
-"chemexec.doc-1.0"="q7rkw9ny7g93m4xm5jvs17v8x4nwb2p1";
-"chemformula-4.16"="9a0qa89xd6mhzwl6l0g5mn6263igqdhs";
-"chemformula.doc-4.16"="451y52ic67j0i289gzgrl25dpb5lzrb7";
-"chemgreek-1.1a"="9jhyby4636bybvzq4ppvrjp7md499vp3";
-"chemgreek.doc-1.1a"="1v4wdq6k5yjcyi8v976la6ldskmh061a";
-"chemmacros-5.11a"="fwkab5q7nkn3khh2p71qrdwsxfbwnk7i";
-"chemmacros.doc-5.11a"="55b2w1ka0n5v402h5p1m7gm840jj6q4p";
-"chemnum-1.3a"="17r3lbprr5l6f3y2z81sqy6inxqp6q1x";
-"chemnum.doc-1.3a"="kzci0qnhw3g2d97q620ci1wmr8v3k2cz";
-"chemplants-0.9.8"="mnsmsmh4gsllxqd8a8590sggv7844k03";
-"chemplants.doc-0.9.8"="j6zlbg0gpb3360953q726g008br0zs7b";
-"chemschemex-1.2"="w3v5w049p0g28v8wx70ah804wp3map2v";
-"chemschemex.doc-1.2"="gg19d9gs2fc97f7rh9vs586v6i744a6n";
-"chemschemex.source-1.2"="czw2fh4251yhq1i703zf1nnkd0pjr74x";
-"chemsec-1.12a"="ikf1jvrivixpi5cf51pgryxrlnyh79p6";
-"chemsec.doc-1.12a"="9z5r91ghrdvaq6rsiyccs4g2a484kms5";
-"chemsec.source-1.12a"="m92vrndcyyj3sz7rag3jg6zwjl47jvh0";
-"chemstyle-2.0m"="lzbqwhh58y559q5lbxnbbz21rfxp1rcn";
-"chemstyle.doc-2.0m"="zv454b37y12fspkcphm6qs0yy7x7768s";
-"chemstyle.source-2.0m"="v52wrccz5gh3pswpfilm4qs48bplws5s";
-"clrscode-1.7"="6w0y1xknbskhhahx05688943y4pqr22s";
-"clrscode.doc-1.7"="hwrsnwvcd7yabwdz6qgy52c06hcz65y7";
-"clrscode3e-51137"="0fz3frh68k47pdn3way6fbpiagyillgk";
-"clrscode3e.doc-51137"="ql7vbwbr3z87rb0bnks5z3r1a53jhfmi";
-"codeanatomy-0.4-Alpha"="lnz0qqi52i7rnbsdw5k7s5bspm8i5ysl";
-"codeanatomy.doc-0.4-Alpha"="bzj63h79ral4caiqbx48vrmkgmpd9wph";
-"codeanatomy.source-0.4-Alpha"="4n9lrpl635drmnjbv0clv5xby8p51pwh";
-"commath-0.3"="qgkl9s5w0dadgirg3aqg0si0zm8swxss";
-"commath.doc-0.3"="ririan3s31h8cwcamjlwglbj4fyvc8b9";
-"commutative-diagrams-1.0.1"="w7b0kq60d7nwmp0s90jzszcc73dx74ay";
-"commutative-diagrams.doc-1.0.1"="9g20z3xalhz029cakmn8dqgg5caaqrly";
-"complexity-0.81a"="id7q2in24z1r6mi47jdh98r7d9gkxdxh";
-"complexity.doc-0.81a"="jppdvfvs5wy2vbkzvizzirgrhf9k6sy5";
-"computational-complexity-2.25f"="hs6ja0ghmdhvkm2m5zk4bsyhr0z0z8b0";
-"computational-complexity.doc-2.25f"="nr5kmmq6nd2ppdyy3pygb2fj6ilz9gfr";
-"computational-complexity.source-2.25f"="br0rz33ycmvpsn5fdhvcjlpffhssnw08";
-"concmath-17219"="7qqfg14ka9d6j0ccb3bswg0jhzg8gvjv";
-"concmath.doc-17219"="rw4q8bbj0jyv9fs9vvxv9iksi39mrjm3";
-"concmath.source-17219"="h0akd4lxynf1anylxfv0dibvpkkgb0f0";
-"concrete-57963"="slvd128n47v9z75w92miicd275i27jvm";
-"concrete.doc-57963"="xddpal4gfl1km582kqvn79q925mixskv";
-"conteq-0.1.1"="r5vmidbf2afm771ijgph43qc66safd3r";
-"conteq.doc-0.1.1"="6ki2nz31r0b86kd2p9w9a5ph8g5dnj8f";
-"conteq.source-0.1.1"="6sd4m9i6zv68gr0b8r80r477qcj6cbpx";
-"correctmathalign-1.1"="vip10w09k4kq9a67pfp73r64mk75095h";
-"correctmathalign.doc-1.1"="51qjv6v507ahi1jhxd9sp406bd93vkdz";
-"cryptocode-0.40"="2v0vwspdr8xvy4s1hx41abssrgl6lpyr";
-"cryptocode.doc-0.40"="q56g76fx90pyi6qc2kq7mnccnl96l4n7";
-"cryptocode.source-0.40"="y27wial5c2si94j1alf6zrssghvykmlv";
-"decision-table-0.0.3"="sj1ivppcdkh5rqcvmrh0bbzxvwfjms0k";
-"decision-table.doc-0.0.3"="7lday4lz5xah837ljynxmmwbxyjrkl36";
-"decision-table.source-0.0.3"="ldvmfif7p2n6hrf4ax6hv6bswk5l2hly";
-"delim-1.0"="q2f4p0f8bg1nwim31i272i5rpnjibxks";
-"delim.doc-1.0"="5k874svcycyk4y5qalbs4h0x4zkviwc4";
-"delim.source-1.0"="bglajqs1gdzhpjayh5d4afw7h09wln22";
-"delimseasy-2.0"="nv8vysx58m3cgljms4fzrbpqms5wsb7h";
-"delimseasy.doc-2.0"="jgsz6apzs5flbf717bmfgc9p07mfn16p";
-"delimset-1.1"="ag5z8f5h7gf5c824v8rj2xxfz6fbm3lz";
-"delimset.doc-1.1"="40vxv4mmpij621v80ly8mb4rz71r98n8";
-"delimset.source-1.1"="r4j60mdx3nivydxja9mnacqh1s071l93";
-"derivative-0.98"="if6y0qgylpw26alcd44dykb3apk29laq";
-"derivative.doc-0.98"="qi4nfzw0acqnjf1fdyqkfgr6hwmqgl8h";
-"diffcoeff-3.2"="s6hqlww5wgs4y66ibvy476hf3cgl6day";
-"diffcoeff.doc-3.2"="mkg33h04jif3fzpyikfi6gymdj2cb1zz";
-"digiconfigs-0.5"="r2ph2xkdaslj50qk54n7a1xx37n8pq19";
-"digiconfigs.doc-0.5"="vignfzc0zrhrx0jgybwmfcgyfcgaqhim";
-"dijkstra-0.12"="1knmbz9g8ifi4wyjjr09rhjshzdsiw21";
-"dijkstra.doc-0.12"="10wyqgpb3znwnnk4smxqbmsyd8ncvxm6";
-"drawmatrix-1.5.0"="pl0mscrd3i4h9m8zq947ajh45apms3fj";
-"drawmatrix.doc-1.5.0"="qxljjk2vh5cc7l9xxn6kicknw2csdk4p";
-"drawmatrix.source-1.5.0"="89lglkdc257iwip9aiwnshzqwhvcqz5b";
-"drawstack-28582"="kdcvc0kd9lm3zxd2zszwriab31p26wrv";
-"drawstack.doc-28582"="plmy162h6z23pzimj4i5wjpih0m21z3p";
-"dyntree-1.0"="820wp3d1dcdm5vxihmk93wqc8qw4rqf4";
-"dyntree.doc-1.0"="j334vdgmzrhlv3x0ihzpa9j2rbbd9xhz";
-"dyntree.source-1.0"="ha5c29s0f6j3r5f3b2v7v7bgxaks28b2";
-"ebproof-2.1.1"="wmq1crk5nnz7y8d5nk16xsblp7rxvah5";
-"ebproof.doc-2.1.1"="s3m1y6pgx7q224m6nmg5zhp2s25zg4z3";
-"ebproof.source-2.1.1"="xk568kr38d6xls292079f66mygpg8jk5";
-"econometrics-1.0"="4b5wmgy2zn8mflr9zdfhyc0pcw707h9j";
-"econometrics.doc-1.0"="5rm8ml9qmmq9nnyx9b5x7cfm54qdmqpz";
-"eltex-2.0"="n3kq7kl8i0b1k89i94i4k30qcy31lhfz";
-"eltex.doc-2.0"="pnvsk55d11vh82nn0a77lskyma1mqmpw";
-"emf-1"="l7l1rzphl87qvgldxpdal5pjvlxx834f";
-"emf.doc-1"="sbp51vc20b7m91r43ck9f4czblqa6gfy";
-"endiagram-0.1d"="lvncrih9fmmsd6571dklnq2vzh7jdxv5";
-"endiagram.doc-0.1d"="7nqf9zgjslck0853xy6r6i938k9pd76z";
-"engtlc-3.2"="dc257zhqmzl7yymbv9prpiam1mvznhnm";
-"engtlc.doc-3.2"="d6mmmsi3kr2dlz2g6iwynabjlw1jyp46";
-"eqexpl-1.1"="caz1prans93309xrm4dfhrl5whfj75jz";
-"eqexpl.doc-1.1"="vfkwis39yxrvvwd3nxbknpi4jh4lvqa8";
-"eqnarray-1.3"="iprdk3kp9cbmi01r29rmnjrfzifhiw5m";
-"eqnarray.doc-1.3"="v7l4q95sjrh3kd92xgbqazd7dgq8kaq4";
-"eqnarray.source-1.3"="bwkjz77mw47z33bwbgsx81wbw9i4n2n5";
-"eqnnumwarn-1.0"="vz6kiciv5zhrh16ddisfrik5y9g2qr8h";
-"eqnnumwarn.doc-1.0"="py5m5187p7i643k6wgsm7zyznh6awp4s";
-"euclideangeometry-0.1.8"="86vp8pn1467dqaxd7gvc9ffl6n3jp0mw";
-"euclideangeometry.doc-0.1.8"="f5ll9a02fbfkczcy58q5w3is4hbb6piw";
-"euclideangeometry.source-0.1.8"="zamjpkc9mb9pcm372vw5qv2zf3y49an6";
-"extarrows-1.2.0"="pb0rm456xq2s929nn9dwjzlmqlfwhacc";
-"extarrows.doc-1.2.0"="i9b8z46rn96n83904flai1wjvdgz395l";
-"extpfeil-0.4"="0yaa2siwn8yvcsd1xy6q3shswdzfzq8j";
-"extpfeil.doc-0.4"="1c0q3h8z0vfy05gmgvi5gbk628xw2pwm";
-"extpfeil.source-0.4"="fly5cib65ppxgrbgq1h8vcxx7m6340bb";
-"faktor-0.1b"="bjbmkxvqgl81pnq0v7hm0a1ija9vwgyi";
-"faktor.doc-0.1b"="mf571k3a23bdizhirzmkr1xwvm5y3fxw";
-"faktor.source-0.1b"="l1lqrdj9dr1waq7dymzij0m1vvhzvw7b";
-"fascicules-1"="68cn721dkmdvz6ff2s0bcpj18f7wvzsd";
-"fascicules.doc-1"="6yc2dc3s7p6yzqidzm15awhkl2qnk84i";
-"fascicules.source-1"="s7l1v4cwz5cwkk5qqk4891034qbvpjkx";
-"fnspe-1.2a"="firv6p5c69ljcf2bw8bqpjd6jjsgy8fq";
-"fnspe.doc-1.2a"="kq29lk89jw7wi84h5dgwvpi5vwqj69c2";
-"fouridx-2.00"="lxj3924da4bfn7605g2akgd3ccynizqc";
-"fouridx.doc-2.00"="ic4hkzvwc05qm91h90cx645gpskcm8f4";
-"fouridx.source-2.00"="zgb2xfg0wl5ld4b5v8rn72mxmfy3qy38";
-"functan-15878"="68wga1s4yiamylxfjma76hirgk867yym";
-"functan.doc-15878"="h6jwmv7wp2a8whhi34r62xvi1qll0vb7";
-"functan.source-15878"="rk42vz9n59n31xx5my1ahlnxmagzap7a";
-"galois-1.5"="b8khw120ihwg30l5wiyrpigb0n76j4pg";
-"galois.doc-1.5"="pl6jyfxfim7igp5lhhsdghiz6awrsf42";
-"galois.source-1.5"="pf7dxm40jcipslw88sqascls74wnvhyn";
-"gastex-3.0"="y4x4q9cyhjjj27cn2cgzc0wjpyvlbg1y";
-"gastex.doc-3.0"="pqgwn4lrammg3ksxlishb12wpmd41z8j";
-"gene-logic-1.4"="w7b16bvypbh9l3kiwbgha3dyh4dlqpq4";
-"gene-logic.doc-1.4"="nzraabszgvj8b0j503f7h892grbqjjrp";
-"ghsystem-4.8c"="dmzs6zybhwyirv48xcj7k34f5zx1n0jz";
-"ghsystem.doc-4.8c"="rzhffv3xxgyyb8rcl1ibqa6zw8zjk9s6";
-"glosmathtools-1.0.0"="9ncr117yxkad5rfad9bgsr9rlc9jscfy";
-"glosmathtools.doc-1.0.0"="bc8xj31ffw5x6w5bs9q82nmvmqkjpyav";
-"gotoh-1.1"="lmsc2xb42i0w7ysmq1b7v69798xz6061";
-"gotoh.doc-1.1"="2nh9cbc9jvlwxlg3rhayjx63xyjcq0c9";
-"gotoh.source-1.1"="mbdzb4047z6wzr4gam5dfs5199hq02c6";
-"grundgesetze-1.02"="cd0rxykb2favdbw1f945aalhy0shxcih";
-"grundgesetze.doc-1.02"="7h4rhzzj2jak20jrgv9nnjri35iiyvdb";
-"grundgesetze.source-1.02"="dqxmkagx54l3zhsqm2iixizzqmcwqabv";
-"gu-15878"="4m173j1ac2aiji1xjpxccd5bnasv68hd";
-"gu.doc-15878"="vkm8qnzqcdqh4xv4axh9sfy65bx2jji2";
-"helmholtz-ellis-ji-notation-1.1"="7py9xih6irxxqc6fw4yi8rmjbcjcawi6";
-"helmholtz-ellis-ji-notation.doc-1.1"="qspb7iwxmsjkf6lxy5n5s0hhivy3zs79";
-"helmholtz-ellis-ji-notation.source-1.1"="mkpv3j5zy3wngww37ajjc6rl8mabwwyf";
-"hep-1.0"="f70qsf585a6rw0lzizd5ps7lcv2qqsl9";
-"hep.doc-1.0"="aqaxn42inmw854cm1qps4fkcijc11fm8";
-"hepnames-2.0"="3f4dycnxwd41da8gh67gs89xcb3l7zl7";
-"hepnames.doc-2.0"="99jvklmwjkmrlmr9jfgdax0j9ikr7b60";
-"hepparticles-2.0"="m5541j0ip82ygflxc174k8xzr2kx4fh1";
-"hepparticles.doc-2.0"="34viq0myldrs90f8y0dflrjxhimnzkq7";
-"hepthesis-1.5.2"="2r81h1qwl4g5gh8xbmkqycmxcsaralmd";
-"hepthesis.doc-1.5.2"="l6il72x8l8c3jj81yjaci4fbbi080aj9";
-"hepunits-2.0.0"="xfl2120y4vv8bc8sdp9ijbili4vl0pcm";
-"hepunits.doc-2.0.0"="9sprxl76nl39nyrxicy814y54ds8pqqc";
-"includernw-0.1.0"="wdc8hhcr4fciy57k7sg28rkli26ybbq7";
-"includernw.doc-0.1.0"="xl68qyik71z5mhzvv2wzh8k6shk4mzbd";
-"interval-0.4"="ihq8vx6xlxsa3nbyx62l072y79s88wnc";
-"interval.doc-0.4"="cyx47j6d57xvjl92cqs9aiv3q6vg0g03";
-"ionumbers-0.3.3"="rcar5imwp2v1vbkx3vxbq4zika5q8psm";
-"ionumbers.doc-0.3.3"="gsy4yhir7i0gwr0v1x46csqfyxa845r8";
-"ionumbers.source-0.3.3"="vd55vb8qai0kfy0mijzwzgdr52sa5a6v";
-"isomath-0.6.1"="s9cgjw007kx4vcz5f8b51hbiqjmi68w7";
-"isomath.doc-0.6.1"="nhpi08b738hs457jqv7139b44z35xy5j";
-"jkmath-0.1"="l4nykjpkg2p19fdvy4a6h32ik4hcimdq";
-"jkmath.doc-0.1"="79bfybh585f88gcyc82b3ds7nx92jng6";
-"jupynotex-0.1"="ri5pp81vxiwa2m3dxk23pz1ahxl9w6yf";
-"jupynotex.doc-0.1"="hpka37bcy98c0cpm09m9gwf4j6dfm80c";
-"karnaugh-21338"="8s95y2qxd4i5g5q1x0a7h8iwsci6dls2";
-"karnaugh.doc-21338"="85z4avy6yfziaqd7b4w077ys394a3y4z";
-"karnaugh-map-1.1"="mryi5vdfqia142b35n97pwzvh267y6bh";
-"karnaugh-map.doc-1.1"="3zmcy9jclc8q01d3jz642w6j96ksrpx7";
-"karnaugh-map.source-1.1"="8zpvpcrxb35311nynqsxdpz4iqjai964";
-"karnaughmap-2.0"="52mx0flzri3z9y5fc1rgg665z2rpk01n";
-"karnaughmap.doc-2.0"="8m2xi7580kgrxq9v5dkcfcxhn757i7zm";
-"karnaughmap.source-2.0"="47f879r3821kwn8pwpyhh5874adx6f3i";
-"kvmap-0.3.5"="81wbq2ivxqnyy6mm8dn24rxqxhm6ls1i";
-"kvmap.doc-0.3.5"="g61zawm9xaq09835fskxvwqprs8h5gm0";
-"kvmap.source-0.3.5"="qf3a56ilm3b60x8pnmzyr4z53d5688yn";
-"letterswitharrows-53709"="x7210si2h45zzxpdlgnlwhb73chi3n8s";
-"letterswitharrows.doc-53709"="gbb4284mb5q7nyavj0azf9ac8bbjk71g";
-"letterswitharrows.source-53709"="ai6h99xsyx7519rx4zqfyvf2hgb7h0rc";
-"lie-hasse-1.0"="qdqlw1r3r8dvzlm38bg09gvwfqwskrk7";
-"lie-hasse.doc-1.0"="6w441bchfvv1ga31aikz881qj97845jk";
-"logicproof-33254"="24sbq01252ij7ldzb8achg4m73fakhas";
-"logicproof.doc-33254"="ldn1c2fdmnikc8fzklp5vzwkx73d91jc";
-"logicproof.source-33254"="745pxgmypzv7a1vf8gjm6r28khxk0s3k";
-"longdivision-1.2.0"="47csxxlz8niy7pnxd2nbmp36irc9ywf4";
-"longdivision.doc-1.2.0"="3pz21q6q3gp86q7ggm1s76mi1va0fbqb";
-"lpform-36918"="ga25ijvkw3cvzkag08jj7w8pv8d8mdj2";
-"lpform.doc-36918"="2pq3d2fni3nc4paaijygb6k5plky9wx5";
-"lplfitch-0.9"="wxiv9ihwv4jdmr4ij0kvggbbnhbkh19c";
-"lplfitch.doc-0.9"="lzz01n3w8zq7p9bn7lpb6rp6zkgmmxjs";
-"lplfitch.source-0.9"="4lxhwsf7366gs7dkq9qk4pyphjv13ya7";
-"lstbayes-48160"="7lfk7lrqr07my6v1qqni2rz39j5wwgpm";
-"lstbayes.doc-48160"="y00fm320wqy608v16idmzc27n8z4q4p0";
-"lstbayes.source-48160"="kzi9c2z11zpwb4lgy87vwyi0qjlmbyr3";
-"mathcommand-1.03"="6i9g221942874w40gb7wy3h86qmwnjns";
-"mathcommand.doc-1.03"="zkx78ghaz6kf1b4w1h1j63spijrlsshz";
-"mathcommand.source-1.03"="0ypyz0612ys99ig6g2c93zs86awfiib3";
-"mathcomp-0.1f"="rjxadz6409wc6g4ffb2jw40rw52rpwml";
-"mathcomp.doc-0.1f"="098xybrmriwyh7dl5vsxxxy4v7nf4bdj";
-"mathcomp.source-0.1f"="m3y8gisljqfy405d7cffqkda0mlz8rkc";
-"mathfixs-1.01"="8iskcy7ibbkfqq63ri2r65x6q7bq99zp";
-"mathfixs.doc-1.01"="ql7y723mdci6cz9qjnfpk6ck71kqb0w4";
-"mathfixs.source-1.01"="62f1zvd1s17arrg42ba9ydr9yyv3znhh";
-"mathlig-1.0"="hzc0bwnfhjbp5qqk4kkm9wp1hl5wlj60";
-"mathpartir-1.3.2"="ka1crqmcwlidnxb6n91dlfnf16hir45r";
-"mathpartir.doc-1.3.2"="0qn7ym4gl6m9g7vvx0mjnwyq2fjvy9cj";
-"mathpartir.source-1.3.2"="vx38w09k1cfrprj4yr0vy1gkwkssw6yw";
-"mathpunctspace-1.1"="b3cksmp6rs8rf09qvab3fxs525mf9gbh";
-"mathpunctspace.doc-1.1"="9bnslk1yyrab13x6sn6sklkmlpd5q417";
-"matlab-prettifier-0.3"="j5p21f3rgbx8hyf7rdjbpn845mw8fgih";
-"matlab-prettifier.doc-0.3"="zssm3k92kxa3mjja3r4sq2574f7byspr";
-"matlab-prettifier.source-0.3"="nkp80iyfa519dkk8gh7pk7fxbj4yn1lj";
-"matrix-skeleton-1.0"="wydb62byj1nkyfqizq3zajif1bs3ag2j";
-"matrix-skeleton.doc-1.0"="nq18wlaib4r99xga8rjidvq4dfmw3c3x";
-"mattens-1.3"="v9rf7qmiardpzq3zzqzz0p3qnh4lp1ck";
-"mattens.doc-1.3"="dnnzxlvc6vrfy4rrm4vw5w0g85fr886d";
-"mattens.source-1.3"="dw4c26cwsg1hz3wvldlyi8q4f60h3szk";
-"membranecomputing-0.1"="bqxhzm00kp19sknfqbnq735d2jmcyl0y";
-"membranecomputing.doc-0.1"="n0p0kfvcyr2n1wm5hh5ax3krcwpiqhn3";
-"memorygraphs-0.1.1"="8cg3g5pasqglsxnhx6q1bl3jbp2hr8di";
-"memorygraphs.doc-0.1.1"="00j88plcg7qrjwjzhjlmpcwwjn19l6h0";
-"mgltex-4.2"="99vi0f32fla2hmsabmf0d2d3c93kay29";
-"mgltex.doc-4.2"="m4m59xlcjgnd6pbsjsa36da37b61ydlx";
-"mgltex.source-4.2"="k3yw9bfjgkqha34712n3mplxsaqg6j79";
-"mhchem-52662"="1jdqxhaq185m8lpk48mkdmd5yf0msw43";
-"mhchem.doc-52662"="4pw8z3lcy6wgx0lmyb9wwi46zhby3hng";
-"mhequ-1.7"="a6dc7zsnfim8vbrwy8jzbhqhphwzh29j";
-"mhequ.doc-1.7"="im348hlavjvbkg67akz24kcx6hxa8w2h";
-"miller-1.2"="vgpbb05dlbyp2phs7cpwrl9l8v7yczdb";
-"miller.doc-1.2"="fj6s0x2rzvldwm2lrmjx0f3hy9l4ih51";
-"miller.source-1.2"="9n5iljgqg52bzz39i2ailg3wjgfvgvx3";
-"mismath-1.8"="qgcm8svg1sdxnwjnkhimjq7w8gqpqyp2";
-"mismath.doc-1.8"="aflrdaxjvq20v57jmsvmnpj05dmj53r2";
-"mismath.source-1.8"="7f2gdkc4n5177zm0r9q42qpcphdhnb43";
-"multiobjective-1.0"="g6fgsq3fzl30yd4hrw2l6v73ldm957gz";
-"multiobjective.doc-1.0"="187syyaknws2i7i84xxzsnl9mj22z731";
-"multiobjective.source-1.0"="qhsg6vg0djg5h279gbs2lbally9vbrj6";
-"natded-0.1"="q4nx9b58zsmfmpap3h2qs8pr28vap5v0";
-"natded.doc-0.1"="bkhf1ldr1hzsyc06bcp7rld2dbf7p4rk";
-"nath-15878"="7x3cdih5q3i8dg25h6737vaphmrdxvbp";
-"nath.doc-15878"="ilxg3pmmz0pf1xp6i3g5rfwgvrjprzbg";
-"nicematrix-5.13"="yax4zrp4rjnir9djq2ij8cfn7z92pxfb";
-"nicematrix.doc-5.13"="mjf6caf246lpw333hafc57s46r245b3s";
-"nicematrix.source-5.13"="6164vnx2g1nbszz5n95wn3xhcyl2mk7z";
-"nuc-0.1"="4mmxcaippf5kwp6sgcwbcf55m4j415ma";
-"nuc.doc-0.1"="b0pkc17fxlgygmfvr84gq1gf58w95a30";
-"nucleardata-1.1"="b76hnd5fpl3f1hfh8pwgrsnqkadqi2zn";
-"nucleardata.doc-1.1"="vm4jq8b5fs0jx5k2vb8pii7dk548r4vs";
-"nucleardata.source-1.1"="0zzzwn1vrb841l2264mz4cip65va3lha";
-"numerica-1.0.0"="igf7ksyh8igm93w30k1qaaj5cb8w6di1";
-"numerica.doc-1.0.0"="5ps97l254yf54bzw98v2cnvgg5dxk1w3";
-"objectz-19389"="jxzqzh7y1nihr8m7jrsnbw7jh187031h";
-"objectz.doc-19389"="d8rk9nql7l67xn6hyvwg4x3xxkpb407i";
-"objectz.source-19389"="62cr53ff66gqjf6y2i01gr70bblhn18z";
-"oplotsymbl-1.4"="xzbszdakjgy7svbksd8w1csc7akwbg8p";
-"oplotsymbl.doc-1.4"="g6zpsvgp1kar3i9rmig6g7y60a5mmk0g";
-"ot-tableau-44889"="mdvqwhal8vq8bqxqi73p4fyc6qpaskkn";
-"ot-tableau.doc-44889"="gcfni2sp25f6qswns4bfl585gfi36vy8";
-"oubraces-21833"="sm7cbapl8cv51d41dgc46gjckv3icx3z";
-"oubraces.doc-21833"="yfvkv4vgc6ycvsd2sixyph039nm4gzvl";
-"perfectcut-2.3"="ca48sxakrgh4g53i30xa7n9288r9wr51";
-"perfectcut.doc-2.3"="iry7v9xajbzxyn4bbq0pr7qah8a1iy8n";
-"physconst-1.1.2"="5s61r6342v1sck3n9dk164mshxd1gxcq";
-"physconst.doc-1.1.2"="nb408z0hllvm3qgaqhfvbyy1vxlfh23z";
-"physconst.source-1.1.2"="abxr67fnizbrhsjhf0ln517fvdm4ff79";
-"physics-1.3"="y7b93d3qrc6674j33cy58v5c6fhlg3dy";
-"physics.doc-1.3"="ksf5jd2gfrq4dj2p1x2iwpgik5vb4pl6";
-"physunits-1.2.0"="slz5zydl3kpnk8fx3c18q6pc9chaaf3r";
-"physunits.doc-1.2.0"="i78b3cwjpiv6icwl64lgy6n6wzh6sjq5";
-"physunits.source-1.2.0"="13s4mvnmm4ka2dz4ma406vhlkmqjf95n";
-"pinoutikz-1.1.2"="dzb6wpz2hywq4i4cxi49s3yssxhxkm3v";
-"pinoutikz.doc-1.1.2"="9iyyk8vp4yfnc7jy990gh6z449mxqll6";
-"pm-isomath-1.0.07"="4bhf0nkw5wsmj7r26j1cwhgdxpy62pzb";
-"pm-isomath.doc-1.0.07"="92djvbz5x4c0rdpjk1z1kbhf374pi9mm";
-"pm-isomath.source-1.0.07"="vfmjgjks3i5hs6gxp6nhzvhlbfsm6qsa";
-"polexpr-0.7.5"="20yvnhmb8dy7p1jwlimayaflwm3sw2q6";
-"polexpr.doc-0.7.5"="3zbnfkrlxphvikk3w1jrd21dzrsnkad7";
-"prftree-1.6"="jwghbxhmr9lnai4rh4gnrrd5i98vqi1j";
-"prftree.doc-1.6"="7a0lrs2rak9c45ayjfmn8ghx89zab2pg";
-"principia-1.2"="84290dcczfl331sk2knn215q7km9r2m0";
-"principia.doc-1.2"="391qxwqahr62h30pq1jww6wg4cjxj7s5";
-"proba-15878"="k6j2r5kacbcl25i7zwb71a2mlyn17dap";
-"proba.doc-15878"="a30lrji3wrd9rb8aa7hzflch7cwlybdq";
-"proba.source-15878"="7grfmfi6hwyqzhi0aynjq9cl65yqh5id";
-"proof-at-the-end-51194"="w5hmk64hm538mzqal4i9gxzadqpxp30a";
-"proof-at-the-end.doc-51194"="q8jniylvknscicjp5m5pd1z3751b06m7";
-"proof-at-the-end.source-51194"="nk3sbcnk3176zk76yf9nzj05q94ab006";
-"prooftrees-0.7_svn_8641"="rfmxpnzn1lkxx7b9ylvpnwmk1rag2nda";
-"prooftrees.doc-0.7_svn_8641"="zx19hnafp63xl2vas9frf6blm8974b94";
-"pseudo-1.1.3"="cxzf3j22aj491bs9k23rqlfbia9r15b7";
-"pseudo.doc-1.1.3"="scpzmw6ssq40wmxm9fmyybjxwc31kxjr";
-"pseudocode-54080"="bmn68g4pm7wga21yf97mrnmwc588gn6h";
-"pseudocode.doc-54080"="1hm6d3af5zjrpvx9h5ihd6qqyg2384xl";
-"pythonhighlight-43191"="wyvy6ms2blns0nffsf2lzjs4gwivgh97";
-"pythonhighlight.doc-43191"="9g7wy34pzzhdwsaa4rvn41iblnynvxz4";
-"qsharp-0.3.1901.1401"="fq2s3z8j8fy6y3sm07p4rqmxk0zkq6ky";
-"qsharp.doc-0.3.1901.1401"="kh8kj39fd45k25zli0w26kl2j0fvvxiv";
-"qsharp.source-0.3.1901.1401"="fz446cncrzdyjyxi0zvxnr9aizanr8v0";
-"rank-2-roots-1.0"="7nm53w0h83yyzgg9087bblnz55f3xjq7";
-"rank-2-roots.doc-1.0"="x84hhyxp10nhqk3vh5zwsxdqmkifwc10";
-"rec-thy-3.7"="23dn3adxmjfbk07cjal4xfcvymbzygyj";
-"rec-thy.doc-3.7"="0yn984pwcxn299v738kb94nkx3hynxcn";
-"rest-api-1.4"="4nq3lciglb70rr49v7w9an1bj2ymq0kc";
-"rest-api.doc-1.4"="ipic9f43478jakkdigfaw0zpaq9apq32";
-"rest-api.source-1.4"="d4868ncchm5byvnbfw25mydlf27ncgl2";
-"revquantum-0.11"="ciws2fb27v2jkmvacgxx5f5rjypxwhxj";
-"revquantum.doc-0.11"="3yx0fd96b5sxmf0950wy2yfswfn5k5j2";
-"revquantum.source-0.11"="a3lxg56ihykvv3wy0az60hbd3n721grf";
-"ribbonproofs-1.0"="7r52zy2n48hichyvyxnhvzcn10v6bm3l";
-"ribbonproofs.doc-1.0"="15wcmvid4xbflmy4lv1njbnvbz5svk41";
-"rmathbr-1.1.1"="i61vd0n322pbpqia1ymizwkqzz31g7vz";
-"rmathbr.doc-1.1.1"="4h44kiz0z8bzxp75zfpc3jb2haxylqxq";
-"rmathbr.source-1.1.1"="z41y0xrn0amgmjmgbqhxl9fz441fd5jx";
-"sankey-3.0"="i2v8n6wn1zphiahi13xx7lvpwafba0zq";
-"sankey.doc-3.0"="wsk6h314mqw3g3nr46nfp8s7zdbrpdyv";
-"sankey.source-3.0"="xql4zhi01irpmkn594g7g3pdpm0jhbk7";
-"sasnrdisplay-0.95"="9yvwv7a6iw8a7g58w0zlgmfaz2zy8nxj";
-"sasnrdisplay.doc-0.95"="0dc8ai8f6b0dn05ljdlnx2dykbhil5xh";
-"sciposter-1.18"="mi8zk7ik6q8rvncwp5m0ch6mfysil8fh";
-"sciposter.doc-1.18"="wan5jxr0084sid3zv4cdhr5kmdv1rjh6";
-"sclang-prettifier-0.1"="594wn96i6q9wgshyqmy7211c2x4j1fih";
-"sclang-prettifier.doc-0.1"="zy33dy1dq1lh9zzqvxh3zwqv53yw2xn6";
-"sclang-prettifier.source-0.1"="0k4nc1bkrw4l66wr47pd6dgigdgs5i0s";
-"scratchx-1.1"="fwylqfph2bpwqd8rl4jq8hi682cd1cw0";
-"scratchx.doc-1.1"="w1x4cg20frqfs889sk91xd5j822ja27x";
-"sesamanuel-0.6"="zivl33hp7zrzz0996fs4822xsbd5pb0g";
-"sesamanuel.doc-0.6"="h4dlbjwcrjk13lnvqxxjmm94pk083zv4";
-"sesamanuel.source-0.6"="fjp5657m4v2qzf4bxzrms7v42ghl861m";
-"sfg-0.91"="5j8965gkq0p9s9ryvy8ym22qz206igqh";
-"sfg.doc-0.91"="ydamww1x4qxpg5bsrcacmfwkkv9c876p";
-"shuffle-1.0"="zg1rq9yihzpl9l7xjlc7djqfg2s3mn2a";
-"shuffle.doc-1.0"="dqra8x226wdqh5baz25qqg905r3xbcld";
-"shuffle.source-1.0"="3r5607h5jsaibvmyvwm1v1scm0yrbfrm";
-"simplebnf-0.2.0"="rsyph0dhpy3yz1yqvr5wa7gmcn1zyg6i";
-"simplebnf.doc-0.2.0"="3k3pb1cylrcnr3bs0vz278xkizf11048";
-"simpler-wick-1.0.0"="pmjzl9cnwrzxhjiwbrjxfd66lamrhvj3";
-"simpler-wick.doc-1.0.0"="pg2id6jpail1iiz92xdr1bvi2725lj8z";
-"simplewick-1.2a"="hfv61gj0g68m17iiimvp1zqzi7ri2z67";
-"simplewick.doc-1.2a"="kxfipc2w97479is7sdd9fmahrbwfk2l7";
-"simplewick.source-1.2a"="48db2ywp9dg6nd5xbclw2w85id3mf97r";
-"siunitx-2.8c"="727sfrfi2cr5wrwch1rygvj84hl5l9m0";
-"siunitx.doc-2.8c"="0r5y9fzzdnxv4xryvqzdgapi11l2ab75";
-"siunitx.source-2.8c"="6f0hsw113mvf92g35x4ysbklqxwjbsza";
-"skmath-0.5a"="b9bxkvgrx8566jfqh62vxl9912llffqv";
-"skmath.doc-0.5a"="kpdr4vz3z7k8my710n5772vkbd7jwisb";
-"skmath.source-0.5a"="iks3azv4hmv59laiywdsqjqdsln0a1kc";
-"spalign-42225"="if8r1d1xwq1as1147m3ixkxgyni8yb9q";
-"spalign.doc-42225"="s49kpxsa940l85yc6wzmb71i789874qw";
-"spalign.source-42225"="ahwv44vd19kn8vzbx7ya6275ysnp3q25";
-"stanli-3.0"="6ws3b75qs69jhag24aki76ndgryb9f9s";
-"stanli.doc-3.0"="iygalq6h7fdik4cfjyv5i62mid9gdr1k";
-"statex-1.6"="h8y1sw298ilqajy8vmi00yl9wpklf5fa";
-"statex.doc-1.6"="ksf4vra9673l5ycl8np7l55rxpj1xazg";
-"statex2-2.1"="a7h5agdmh5xw1646faxxwd1n1ajci53h";
-"statex2.doc-2.1"="cpiw77bl9p7y9vd6dwg4lnlk2n8lmmcj";
-"statistics-2.2"="gnv5s73wz2qh8yldvh7y21f2v8gyipxh";
-"statistics.doc-2.2"="hf10bfp5f60am8rhwiq4k18jdx1lyma4";
-"statistics.source-2.2"="k9bm1zgki9d1h1qhwfi0723n1zvdb4fx";
-"statistik-0.03"="2kynwfkkx5b782l4znp1f3vml1lwiihh";
-"statistik.doc-0.03"="m8749zwgm8vz29d24idrsimd6dizdjlf";
-"statistik.source-0.03"="bjfb31dxs4jylym9qc03rp9qjvmm6dn6";
-"statmath-0.1"="464gz51kwvfyy8fp1l69khkgdnbfvl5p";
-"statmath.doc-0.1"="6kdz4g7w763fc6zs1g4xqjvbxlvi4sv0";
-"statmath.source-0.1"="71y6fd8bid5zymcsc8c8j9ik2jyrbpki";
-"steinmetz-1.0"="v8vskhmyjdhc7yi21b9i11j4lfzmhypm";
-"steinmetz.doc-1.0"="5y0xh86b75lm16kjjl4cjs7vvylr6wn3";
-"steinmetz.source-1.0"="m31y5wd20vck85yj3zps711zi6bpcdym";
-"structmech.doc-1.0"="76ngar60cl37ya107zrp1cgbim7zsxgp";
-"struktex-2.3c-0-g7d3fc5b"="22jc8j377rqradvm23ymvmxnsxwnrwqb";
-"struktex.doc-2.3c-0-g7d3fc5b"="bs9vx2xk7yd88v4h22r0v0i7b2cb06ri";
-"struktex.source-2.3c-0-g7d3fc5b"="r4nqs4y6gspbx1yizl4pmarb672x96ph";
-"substances-0.2a"="wwjn0lkspnwgla7j46j2iwlvdrsvdyzs";
-"substances.doc-0.2a"="apg59a7fh980vddnfzjspsyq1jfnvsn7";
-"subsupscripts-1.0"="1nyf4q1szg0q649jmqlzd5p8j9h1fjkh";
-"subsupscripts.doc-1.0"="9yhhgbj7i83v21flfr3gkr35vkdxpx6m";
-"subtext-1.1"="dz6mm9cy33qhlw46fkirvzlqhsknjnak";
-"subtext.doc-1.1"="bllr8v8mflvi6ih3z3r73b5y6vmprafl";
-"susy-19440"="xiv8s7m8lahyc17qdp7vhdnriqcz2gzl";
-"susy.doc-19440"="51apv9rzw9q1aa390a7p6w0d4y5amkms";
-"syllogism-1.2"="gx6hjs32rq3d1sk28cs8ng8m2i1xwgrf";
-"syllogism.doc-1.2"="m6nv4hcwmh5qa7m411vwm8c6s1xbdbx4";
-"sympytexpackage-0.3"="x7b456c7l5nkwaf19g29rpc4m6qz27h2";
-"sympytexpackage.doc-0.3"="klh09byy7h38j068d9qrgyhawcfjknji";
-"sympytexpackage.source-0.3"="lzsz5ly9rnzph5nxnaqbf9nf5abm302c";
-"synproof-1.0"="bv32jflr6n3jdm93xxpbvhz1lrhc3i9v";
-"synproof.doc-1.0"="i74i5km7n20hglq2icb62xcc2pl1fawc";
-"t-angles-15878"="an3w3nw07gc6hyzfjk4bd0j4swj8qr4p";
-"t-angles.doc-15878"="68ylwxvywabhyfqzlb7d642cmhdj3g2j";
-"tablor-4.07-g"="fs9vl9gi63j8bqgiv06dbhbgs2vl1c8r";
-"tablor.doc-4.07-g"="k3d87x83igkq78j1yvav6b08y818qgz9";
-"tensind-1.1"="f76zwp7giabai57l4ryzin9s4b412g93";
-"tensind.doc-1.1"="pq5ahxwn442zc4xc7yilip4ciz2gvhx0";
-"tensor-2.1"="4gzhhxr2w1bbwb0yf799siazn5d6538j";
-"tensor.doc-2.1"="j4hxlj9f804ffrdp8pf06mj79yb8j6qy";
-"tensor.source-2.1"="89fmh96xlj21pm07c80q9cgiaj2a3c3r";
-"tex-ewd-15878"="725h0x4azacxb6pi7bnrvb5gb2b6rb8l";
-"tex-ewd.doc-15878"="npk74dnjx7jy9392pz0m4fzxcxqqsqq5";
-"textgreek-0.7"="m1b05a740x322la70k6ib44sk6cky167";
-"textgreek.doc-0.7"="vah190cds1677yv86nfcyriccln296yd";
-"textgreek.source-0.7"="cqc5zj4ck54rayydvml5m3n4hfnykglx";
-"textopo-1.5"="rvcbhsz8win1g08s6az11ji6ryd9b1fl";
-"textopo.doc-1.5"="3f9w8nbyyjismgdxb5daijc88hfp8m8k";
-"textopo.source-1.5"="4h2x01rkf91dha2yxqpdfgv5qsmz34sx";
-"thmbox-15878"="5b8zyq68dw8c7cylg28k9bmx261k8d5p";
-"thmbox.doc-15878"="rpd99zkmrb85kgldsyi2iwr70q9n8y35";
-"thmbox.source-15878"="hnjviz4vyw78mg6lbcdyv88qajhjdh6w";
-"turnstile-1.0"="c4nm39zwakha4bk75092371db2n0nx4m";
-"turnstile.doc-1.0"="w2hv466gzdsc7vp0al5xk7bwa83szvr2";
-"turnstile.source-1.0"="8p5g2w1pcaxhg2a54rq2h23zd7cbj60h";
-"ulqda-1.1"="llh5ji3r34m637hzb9qi4z0d6hap8fcy";
-"ulqda.doc-1.1"="w5anmbpapkg5r1bi0gvh1wqrqjivgmz1";
-"ulqda.source-1.1"="pl71x58ifcpllalxfw1snj2r464qvx3w";
-"unitsdef-0.2"="j5dhzwnaizymvvj0cvvn8hcjgpiaw3xj";
-"unitsdef.doc-0.2"="m3n8c9wpk9m0il8yn3ip4kwvlbyzfndw";
-"unitsdef.source-0.2"="rpwd7p723jsqcmcl28kkfg3fg9dmyfxa";
-"venn-15878"="vxgbc1jmchjsq3aq1wklgla50p1smqnz";
-"venn.doc-15878"="3z1kgbyilhajm6przv2a1rbdl55fzhqj";
-"witharrows-2.6c"="sp11d634nsll40s638mj7bqyighw78ij";
-"witharrows.doc-2.6c"="w0xd5ki72g0xc8a105dkv3csdf5dj5dj";
-"witharrows.source-2.6c"="7kpl4j20j3w3wdjv9f2wm3v4nmv2xlhb";
-"xymtex-5.06"="lh5pr87m1xhyaj74pmwc8vx3an7gppxw";
-"xymtex.doc-5.06"="bbknma6166kqvxhj3523p85lq7qn1ydc";
-"xymtex.source-5.06"="is60w9mjif26y9s3vv8c0v26z16m97g3";
-"yhmath-1.6"="n885plj280iqd602vlwq2zfca3s2ijsv";
-"yhmath.doc-1.6"="ibxf0fn1wpahfjmz7q7jl0afi36qxwzg";
-"yhmath.source-1.6"="pg1hx02jxyjly4i5la4lip29kkpf4pf2";
-"youngtab-1.1"="0pni2w43573rjhi2lygsg7547n3fi3ic";
-"youngtab.doc-1.1"="1svxp5r9wmqszr860w9nx6b60nv1qiq8";
-"youngtab.source-1.1"="3f54467ky4ban6xkqcldajyr4gfy7mm1";
-"yquant-0.4"="rn4h82i7j2lp0mrqz3xxya57w6hcxqlb";
-"yquant.doc-0.4"="8wh9xpj7x2b2g6asvvjharbs1l5fawmf";
-"ytableau-1.3"="37wsbj7an7fvsrh4w5kvjiibhq0abn9j";
-"ytableau.doc-1.3"="wbgandbbk6zgms4jz2ird33kyg9yg19b";
-"ytableau.source-1.3"="2rblxwykvkrljn1xqz7zw9dz1wyib686";
-"automata-0.3"="7v2smy8hlz3yyqwcw11mjgh35z81n22w";
-"automata.doc-0.3"="49q82z2aa5xqgz3wsgcyix4a9hqfh5q6";
-"bbcard-19440"="b26d8663qv8x23sp8q04c8jzdw49f2i5";
-"bbcard.doc-19440"="99jqw22g1xcqdn4q5f408gvlzwnl7wbm";
-"blockdraw_mp-15878"="al2d83amvpz7z19a14zxn4ib8ayc7b9y";
-"blockdraw_mp.doc-15878"="n0a85bchn27q09771kx4idy7hic8iq42";
-"bpolynomial-0.5"="rwijp2lyphgyixi6l1d4j9vrwchr2m8k";
-"bpolynomial.doc-0.5"="1561z658ar885xsbg15psi82qjzc4zbn";
-"cmarrows-0.9"="03hcqmzx16n3y4vvh8aj6vrvpn6minmk";
-"cmarrows.doc-0.9"="vhdy6d8cpv29xp8qc72fr678qh9yi01x";
-"drv-0.97"="ry5vbwf27bm31byj37d34shzrdaf8hjg";
-"drv.doc-0.97"="3sw31jvb9l0n124h9kq9byzmy3ay1wxd";
-"dviincl-1.00"="gf980a6jm4ar28h7464qx1nayjqvi1xx";
-"dviincl.doc-1.00"="sxmj8rcvwj2q4g3c8ha9a84avsn4w1aq";
-"emp-23483"="brxc803kbnrd6qa1jfag6qxgb7f5j39g";
-"emp.doc-23483"="x8lkwbk13jq48h8ml7a0fzlyn4m8qlxl";
-"emp.source-23483"="ir1ng5an1jbffb2pd5rv412dcfzv84r1";
-"epsincl-0.2"="srznlzss5ag3br4pmwny7aqq7gjmqv98";
-"epsincl.doc-0.2"="993m24spzl4jymn69sczm7a8d1ix0zcc";
-"expressg-1.5"="yd8jja79lbjibls84q1r2iqls9hgfp3d";
-"expressg.doc-1.5"="ly3cj040ng9ahdl24yw3fgxfix2vimhc";
-"expressg.source-1.5"="fbdj06ca74j5cabgr1v0x7f15z53fr3c";
-"exteps-0.41"="q3nkzx07ckc0ydw909gliknkmm992lpd";
-"exteps.doc-0.41"="2y57ba9glchpbyyr2xy7kk1y3pvicj72";
-"featpost-0.8.8"="8dafiyq66jwcg8aq919aia13nlyyp73a";
-"featpost.doc-0.8.8"="jankbccig4n7c32970l0p4y9dnvapxvx";
-"feynmf-1.08"="22lldffd38r661ziq9p6fp43xc6595yg";
-"feynmf.doc-1.08"="1wif6ik3s9b4z7h75jxixyakgxf402kj";
-"feynmf.source-1.08"="2zf6gfg0vzz5k51d0aqlb2yg3w4lax1n";
-"feynmp-auto-1.1"="ps9nijgd6kcnsgvg3gq9gn53mf42xdwk";
-"feynmp-auto.doc-1.1"="a1i2ay1mvkpdicyzmcapvpv3fkz6pk3c";
-"feynmp-auto.source-1.1"="2iirzys42l2k5fmpjxxsn31wpfzv02d8";
-"fiziko-0.1.3"="v4nq87d4dahjnskkgvgjf1sh65m9gvkl";
-"fiziko.doc-0.1.3"="djw7v20xazg82gkrh6wxw05vmih1d2jg";
-"garrigues-15878"="b6kfrr0zhmbnb1rh93wy5pxq31kspbmf";
-"garrigues.doc-15878"="zk53ay759rgd40fmf7byqpqmibw7rrza";
-"gmp-1.0"="pzdcapvcjvbn48n6jnl1hs9mbycrccyx";
-"gmp.doc-1.0"="6ir5fj3s209rk3k9r2wbsz46kij8kw9q";
-"gmp.source-1.0"="an64d733yq3h8fy347lppy46yklczrsg";
-"latexmp-1.2.1"="x2plwjlw7cdim8lxh530zf5v2zjsfaxb";
-"latexmp.doc-1.2.1"="d9q1zwyad9p1nkk08mq4lard5rv291rf";
-"mcf2graph-4.62"="6j532ny1wgf84c4q86kcjwmlipnkmz5r";
-"mcf2graph.doc-4.62"="l2klmc6c8sqn1y2d6ggrcb6xrqmvc096";
-"metago-0.9"="4gzbngrpwjbfq5d7jcfavhsmvfwnb77z";
-"metago.doc-0.9"="nn86x3g4dv9y5mbr83r8camfxg0xkv1g";
-"metaobj-0.93"="83hf8awwak3msfmran6q2ylgcs6720lb";
-"metaobj.doc-0.93"="cqzsavf652pmgg7v3isv80szkc3s162z";
-"metaplot-0.91"="jmp99vj4w825s9qx6m8bb7q62l3jp5bk";
-"metaplot.doc-0.91"="jzdw7b2kh7a49vngbwb0xm69kwfl288z";
-"metapost-colorbrewer-48753"="09l2rf2kja80lsajz4vfp9ngb3z442m7";
-"metapost-colorbrewer.doc-48753"="y3vivxgdjykacm90arls8hhk6k8rkv6n";
-"metauml-0.2.6"="15p3yrkws6by8w8wmrnnxij1kp71sbvq";
-"metauml.doc-0.2.6"="mcgmrgsh7x21ci4n8d0yqy9clx7jp1ls";
-"mfpic-1.10"="lslzdy39sbfb1xa5rv3j0whpg1c8vkj6";
-"mfpic.doc-1.10"="cpqqf9cdd3wcd36zjdps0692439zywqr";
-"mfpic.source-1.10"="fwlv0my4cgmbvbv62l8nkzaqz5p7br8q";
-"mfpic4ode-0.4"="83bv2qprp0cankrd54v8vgz58m1xbjdc";
-"mfpic4ode.doc-0.4"="5pjmcvwhz2j8zppx1d98a3lh9fcpa4d9";
-"mfpic4ode.source-0.4"="phmq4zdgz3ikz4ind46w2j0d8jvv4k0k";
-"mp3d-1.34"="sd36lsc5b38ahnf4i1b8a8a5bgw854p7";
-"mp3d.doc-1.34"="gkjwsbz7sgdj5k6vzvswb4k4yb8xkhld";
-"mparrows-0.1"="d1v4j0hrr4cxm42vwlclvccp1wmvbbyh";
-"mparrows.doc-0.1"="jcf975s8ianx9dmiqa9lvv9ywj62rmap";
-"mpattern-15878"="9ym77kwd2kgw46lck4vbfrbbiwps8g6x";
-"mpattern.doc-15878"="vknyl0b4d4sx2c6l7qhwr4rdmx0ncpja";
-"mpcolornames-0.20"="j7qagfiggfwjqapdrh1z23n0paj54bgc";
-"mpcolornames.doc-0.20"="jd5ai6f2ask0pbhrw46bdw8cfsrfpmps";
-"mpcolornames.source-0.20"="1f0wy1lrg0733vnq5mjwcgdi5rnprbis";
-"mpgraphics-0.3"="jad28la9l7z0jwiml56x849d8zwgsh3r";
-"mpgraphics.doc-0.3"="51y5shq3bamhqhpm2hbdki09b9xil2dr";
-"mpgraphics.source-0.3"="2gb71444b968ap0wvw461xskcgxgy519";
-"mptrees-17.06"="lqn20z9inh6qylgljn9k6z398b0vicws";
-"mptrees.doc-17.06"="50ggxw3jc63clpnz0fnxv2p2h4cgwjhl";
-"piechartmp-0.3.0"="k15blq7m78skmi2q46gnazh4qhpfhggs";
-"piechartmp.doc-0.3.0"="xcn16bgnyi4h8pqaisjivmywg234shgm";
-"repere-19.06"="4lbpfqmnvdw93pmabf34bpj69ww2jd4z";
-"repere.doc-19.06"="fjwv88ysck07zlpclf1fyjs4jyzm4mhx";
-"roex-45818"="3dp1ank88mbkx9zd4gl8v6nxa7hjvck6";
-"roex.source-45818"="fbyyci2hg9bvdbxxv09q9h37q98gzzxb";
-"roundrect-2.2"="zihpsds4r0v44h4bbmmpjgx28y3knqc8";
-"roundrect.doc-2.2"="g6kih4vjqjg4v4qxlxkkxgwhqv0x0pdx";
-"roundrect.source-2.2"="rdydd5cwvnbzjlhdd4kcfjq54rzw9k81";
-"shapes-1.1"="cd8q8cgz2c62jla12q136j6wq153k6qn";
-"shapes.doc-1.1"="9w1flaybygr8spm0a104cpwn4bzvg9nq";
-"shapes.source-1.1"="1p66bnb05fsk5fwzj6dd6ykn0229g7hq";
-"slideshow-1.0"="qjdwj7288b4rk5lqj6sxq6cznkaylpd0";
-"slideshow.doc-1.0"="fqp6p6xsw4r87r4vi0j2pani3rx1jbmf";
-"splines-0.2"="bn6gc1n3vbzrns1pzdjc4hf647g6pgj5";
-"splines.doc-0.2"="91g13liz4sfn16vzcvlpqhm388wwvs02";
-"splines.source-0.2"="p527173paps7gqz8wq02jkl6nbx8vw6z";
-"suanpan-15878"="vnglmgbg19g42b79q34fzqr4hjzy7dmc";
-"suanpan.doc-15878"="lvbx0yizc42hgqymw9yscja667h4mz1a";
-"textpath-1.6"="97b12i6v4bz6095z7i7yjf7c3fqg232d";
-"textpath.doc-1.6"="zliwrx3n2r3xjhdi0c80rncxwk5whg76";
-"threeddice-1.0"="91chpiy1n4mg3vcabcm8li91q9lnkcvc";
-"threeddice.doc-1.0"="f9anwvpf5qy57b6g4d71cdjjkkrsc1ky";
-"abc-2.0b"="pmaw58frrdbnj81n21mg15yiz7sp0rci";
-"abc.doc-2.0b"="gild9nm8zph2kr6mj9w0sans8r1jz114";
-"abc.source-2.0b"="g8a921yi51lvw6mqj1hxmkwqqh9fkl03";
-"autosp.doc-58211"="wl80hffrqss94gyl25myw72wib1slz2w";
-"bagpipe-3.02"="z9akwcd2fdwzps3bws9vamik64pyyl73";
-"bagpipe.doc-3.02"="6ssnq5756qnhlbyn08pncriz5la8hpzy";
-"chordbars-1.1"="vdmircid5yrvvywih6m0nf5c6b59mz5r";
-"chordbars.doc-1.1"="bld0fmrhhzf1dd6wm4qc790an3hayiip";
-"chordbox-1.0"="0w69pjdnqx79i77jwyjwqhnwm1zss6c4";
-"chordbox.doc-1.0"="9lhbmb35cckxa9bmr4p0vj47mprmskac";
-"ddphonism-0.2"="fsmrgvm95n65brnlslmnyf354b5139bk";
-"ddphonism.doc-0.2"="kav924pxscx87d6qp6hr92h7zy3zip23";
-"figbas-1.0.3"="xkm3zvkdi7512qnk4kfrb875c3q2gfr0";
-"figbas.doc-1.0.3"="pal9rb3bmrypdk6icdv7fyhdfn48qfsy";
-"gchords-1.20"="06q4p9d1j06dz7sqmjyka4k6r2x3l7nd";
-"gchords.doc-1.20"="icn914698j8gkir78wqnjqw08n2zhsdx";
-"gregoriotex-6.0.0"="ccxcrwsw00hgs68l3ac16dz4ax2753d1";
-"gregoriotex.doc-6.0.0"="bn2wdi7g2xvqckavna6pkywynaspbfbn";
-"gregoriotex.source-6.0.0"="bsrzlxzsnqwwxzy1wy61md9raspr00c8";
-"gtrcrd-1.1"="mqaamg8ick2z265cwl1yd6n81f76y8b8";
-"gtrcrd.doc-1.1"="scx1xk6y85zfbn82aqf3cw1sx0prfmgh";
-"guitar-1.6"="xw88497a60kkbh8pribpsi80bj2wdvw2";
-"guitar.doc-1.6"="5y7s8gbahfqzm50z6dgr667f1rgswvzh";
-"guitar.source-1.6"="7i8ma18fm6piiwsccj8lq6nn446mvqrw";
-"guitarchordschemes-0.7"="snccmsq130kvjn2ly56cjck56df5mdzx";
-"guitarchordschemes.doc-0.7"="p74vljfafyj0ap707aydgpf4xs2pabr8";
-"guitartabs-48102"="zl4w2llxyb1173b4asgk93bh70rxil42";
-"guitartabs.doc-48102"="a9rmk3gr37pp0p4fbfasndjglbbwsgck";
-"harmony-15878"="isfyzam48q2f90vyh78rp5df93wzdfq4";
-"harmony.doc-15878"="5zy2cf5afrxlmmxlsycqg3crcl5irkb1";
-"latex4musicians.doc-1.0.1"="aph09gf5cfxm7prwbg5v9y3jz03vpdif";
-"leadsheets-0.6"="371j5dnksvxxm6hz1cia15ll3w2mx17p";
-"leadsheets.doc-0.6"="7nbq4zi22pgsidfknddw8a5iqnfsxhnz";
-"lilyglyphs-0.2.4"="phvx76h2sah66knx7lxdld5p6q1rshmf";
-"lilyglyphs.doc-0.2.4"="n9rk2zin1c4zm08181ly5yrja4zbhri7";
-"lilyglyphs.source-0.2.4"="6j01hgnkjxfjszhdfynq93zlccqj0z7h";
-"lyluatex-1.0f"="zgh2b7q3w9p0dic23cwddhhx5cqsdqm7";
-"lyluatex.doc-1.0f"="c8739z6r5mpk001ra6if93kfw799rphi";
-"m-tx-0.63c"="jjs536dwc3qbi72s4d7qr8v3b0rxd41g";
-"m-tx.doc-0.63c"="ji5fl4sdm5mdhkkg4qf33gzaaqnw8yg1";
-"musical-3.1"="cam79g75i6blbgd4m7syi432dn4zar9g";
-"musical.doc-3.1"="xi1lz7w68jab89ihx1j1kv1dv8z2nlmd";
-"musicography-53596"="95nsr792xkvyq2kp95yw9z99j40c9dsv";
-"musicography.doc-53596"="z63rsy6v54c4p1l844ck0b6hc9fwr96x";
-"musixguit-1.2.2"="29kbldyqlcf8xs5yh5gsx0m7liwbnqg1";
-"musixguit.doc-1.2.2"="pam1limbbmc1jvhznsvrwslmlr86y7vf";
-"musixtex-1.31"="2cl7fw84mii0n2v2rvmrprbr2yinvpqv";
-"musixtex.doc-1.31"="0anlk9gnbpgzasrdbv0685mgi0zfkr5l";
-"musixtex.source-1.31"="kb90c2jhgmx77d12x4rg6yivpiq5rxq1";
-"musixtex-fonts-37762"="a8kdi135xis6qcwy90yisg4wafklmw2y";
-"musixtex-fonts.doc-37762"="91fl3b700pvjqkwsl6h29f0z5i5781s3";
-"musixtnt-40307"="6412y8lh8awml9xs7ybcnhkgyjrc08vx";
-"musixtnt.doc-40307"="44c1fndj5grvw5q4jxyk0dgqxr56lzvd";
-"octave-45674"="6yb1bajc26k0pbr0a02zx2zqg7y0rnj8";
-"octave.doc-45674"="152jq3brzf99xwq983k2afrdlq5lhazb";
-"piano-1.0"="vbbcddqx5sk4gg9w1882g4a8lrnnqn2d";
-"piano.doc-1.0"="bn1c29lffw62jsyiygh3i0biaaz0asmv";
-"pmx-2.94a"="rcpl81h8ysm1v188gw3gnwvqhr29w8ii";
-"pmx.doc-2.94a"="wrkr9pnwci0852bs60whifpmj432rq97";
-"pmxchords-2.0.2"="wwn3da9f9br7dpfhq7yg9j2f64bb9183";
-"pmxchords.doc-2.0.2"="f33mk2mv8pjl4ikg3kvig5lr94iwrm4m";
-"songbook-4.5"="jimhdkxsiqzkwnsjsw1rynkrfhhh5n0d";
-"songbook.doc-4.5"="62n794w3gxyivisl16xrz9lg2r0a0s38";
-"songbook.source-4.5"="nyn7mkdylkpywca50izj2czf485s8sm5";
-"songs-3.1"="1air4zpymnrajglbvp8yyfd3z4a72d8g";
-"songs.doc-3.1"="xcfy7all4n141r55c17gsnxj8x40dlqx";
-"songs.source-3.1"="2wx7qd5hzairbrb0qcs6mnkk10l81jh3";
-"xml2pmx.doc-57972"="3i460bimzfapdyy9j1rvm4yv1cwzkjgw";
-"xpiano-1.0"="ha9dpa3kpmhbzy3f16d7s6mlvh563mgj";
-"xpiano.doc-1.0"="x579hyy5sibzsn9ldrkwsqrjjrji0xak";
-"xpiano.source-1.0"="77wwb6wxd7c9cqmjlq9cij6p4ibr3r3r";
-"abbr-15878"="n55llxl7fjmx6p1z3ckjfj94dxkg1n0v";
-"abbr.doc-15878"="9lgcwpp4fw2zjx2rsp9w5szi6v2pdsn4";
-"abstyles-15878"="2zmzwsgwh4rv6ysnjjk35cihbifs0jir";
-"abstyles.doc-15878"="xba8x95rimsa16xhr7nziglk7djzv6w8";
-"apnum-1.7"="hvw4fwjm3n7hfj08ik7nkg5w51zg9mbx";
-"apnum.doc-1.7"="isai4pdly4pkhhjnh3afijlrm9mw2i0q";
-"autoaligne-1.5"="1ycql6wzhqayd90wkd62n5bqymwr0z9h";
-"autoaligne.doc-1.5"="72b0nqh19zipzzv46z2hhkkv8fg93ca7";
-"barr-38479"="rsgsgzki68jgx8d4r05qj1awvi02rm33";
-"barr.doc-38479"="jfhxfjazvlpcvrl6zjd1sw2ghmcsscmr";
-"bitelist-0.1"="22q3ivacwl5p0c8plgg1gjz8413l601b";
-"bitelist.doc-0.1"="n00mlj88l6djwcxzj0l6pxiiba94kpl3";
-"bitelist.source-0.1"="w38ccrprx1rn0pc34mr29bnx7gaxa7k8";
-"borceux-21047"="ls6xjxrggjzphr4pl71m2va9mndh1r7v";
-"borceux.doc-21047"="zdg5n9rxc2sfkyi1am8jka05avi7hyng";
-"c-pascal-1.2"="m4x5kfq1vm6vzv0ic910fqi1qijn7g34";
-"c-pascal.doc-1.2"="v6wqph0gaibfv4cwph5w0axp5sf70m6w";
-"catcodes-r0.2"="haljpnhhzvyhmnda9vgk77md5zm88773";
-"catcodes.doc-r0.2"="4227wyg04xryg33b39d81nlh6aaja1lq";
-"catcodes.source-r0.2"="6ljn2lwg4bzr9c02d01vh0saja9sz9yf";
-"chronosys-1.2"="qswnnwyghvsbjf3ddvbl7nl00qxwhs6h";
-"chronosys.doc-1.2"="m11jpa7crg095qf03qx7gcrvcb41f83a";
-"colorsep-13293"="il1sig8hzmvq8q0hlbh6fir15rrl5zc7";
-"compare-54265"="3y2gpllzn6bdrpgyg32vswiz66dzi1rq";
-"cweb-old-49271"="vqf99h9w57jmd9r6l9k8bydqxmm2d9i6";
-"dinat-2.5"="a1gcgwkj0pd1lqdm20356fbjram3wpa0";
-"dinat.doc-2.5"="6dzss5231fdqjzs8j7z4gfx5iga4m895";
-"dirtree-0.32"="xgxmz79hj1q6qyfkdvgj5nm26865dfmm";
-"dirtree.doc-0.32"="im2rhm2fmqk1snrhvrsm112jw1hwcyw8";
-"dirtree.source-0.32"="pyfcid8hir7vvm6fpwimlfgs65dgzfm1";
-"docbytex-34294"="m4jkx2gf05q3ffwfkrk4x9bcwf9f3dmw";
-"docbytex.doc-34294"="01w9mkddxm1l9i12i5n5i5ar81xfn9b5";
-"dowith-r0.32"="vdgkjxphpmycfcsimxih7gnhv58hd9vs";
-"dowith.doc-r0.32"="ql8hdyxcgss7rvlp1913rp52wn4wjvxn";
-"dowith.source-r0.32"="xq0r5c58clz8qzbhz01gv2ph1rs9wg1n";
-"eijkhout-15878"="hdb3ag2knc67ksx39hmax8x83l0d41kl";
-"encxvlna-1.1"="kz3nvz29czk573cxbi5a5l3mbjs3vfkh";
-"encxvlna.doc-1.1"="gv5k36s89g2zslq75s2j7ffvwdiz4lkb";
-"epigram-20513"="0mg36ybg934n4jxgpf88lnvvc0za59ya";
-"epsf-2.7.4"="55vrh3nmvb5p1nkkpwhrq9glsf64bc3k";
-"epsf.doc-2.7.4"="b78n5gm14qk3brywpz4prglkqnpx9fpg";
-"epsf-dvipdfmx-2014"="qvf8n367wnjahzv8bgh7rmqqgnwraa0p";
-"epsf-dvipdfmx.doc-2014"="b290mp5xqfqzzxa92s9j798qyycaph9a";
-"expkv-1.6"="x19fg4al6xjan41l07dkf7lgp6akgw6l";
-"expkv.doc-1.6"="16ny94yijql35j0klhdbpvvb7l2rv8bf";
-"expkv.source-1.6"="92z0fwgv9jf2v47cvrw3j1zz9mjzwymj";
-"expkv-cs-0.6"="r6f8mb6qxasa09kz9l1lbbs3r0dzbr10";
-"expkv-cs.doc-0.6"="d708jfhsdxzpgbp6p2i1176yd0fpaskm";
-"expkv-cs.source-0.6"="daw8zwynx2xhxbph8r4cbnwb5drcvmxg";
-"expkv-def-0.7"="j4w7rgirhfl57mz938fbm512z394ycgv";
-"expkv-def.doc-0.7"="8n4pxgxg9hpn4zajr5f2w5cj58bcxm4d";
-"expkv-def.source-0.7"="iv5pzka6a93yg9k6ry0kcfzkafzkdvv8";
-"expkv-opt-0.2"="hsgf1g43vldqxasfckr4phhs53habwgy";
-"expkv-opt.doc-0.2"="hvpm4vw4kz9h72h0g0mnvmfal3giy04q";
-"expkv-opt.source-0.2"="g37rzfdqm8pkzhp89ni3fgbbbja0dk4i";
-"fenixpar-0.92"="61jkr83g6i0bqmp0qg4w09gj7gwcdn96";
-"fenixpar.doc-0.92"="95h02nbzq72mmblzawgqsk8530wi1dpb";
-"figflow-21462"="166qngk7yy25v0rbjavi53m0sazk90gn";
-"figflow.doc-21462"="l92iyzsg4fwkc3nalswwpnz99kfcm1q9";
-"fixpdfmag-15878"="8djdk0baqcg84v6qrmdzckq7k97h4nkv";
-"fltpoint-1.1b"="q48n0d38d8y8m4z6lgmfza4gh1mrzkjn";
-"fltpoint.doc-1.1b"="6ljc5c3g53ig6yj7blcfqy43yvlw5fqf";
-"fltpoint.source-1.1b"="l5ybd1xn6abfhq5kjhvig8zsp721ldzg";
-"fntproof-20638"="bkh1b1j8zlbzmhpif5ji82gwmvg0aprj";
-"fntproof.doc-20638"="hhhxpfkwqpdj0wz78pzg4nbfyzh3j82f";
-"font-change-2015.2"="rvxfsxkwag1pzhh448n737b6ngadrlyg";
-"font-change.doc-2015.2"="14ck6s61lx6gyqmf6i9659lvwd3zh6hs";
-"fontch-2.2"="0h81qy37h3jb2m6g18969189a1jbi73a";
-"fontch.doc-2.2"="csygimfjbm36zfm403jz4kw39zv23zzb";
-"fontname-53228"="mgggfwq9ds3bc2mblkx5rday7dgmq1i7";
-"fontname.doc-53228"="vg79z64v459vl42ba50sar4dhafwr1f0";
-"gates-0.2"="awaxppd6dhv239x03vpwy2hn2zwldmna";
-"gates.doc-0.2"="qqmjk1276kdv0rvsv86gi7ysl3warg95";
-"getoptk-1.0"="2crphpdvd2wcnqrxm180im84ask9hcq3";
-"getoptk.doc-1.0"="vcj36dsv4y0k8czii5fb5b51c57c7rsd";
-"gfnotation-2.9"="3gkmqmawpzqvqsqcmrfc50261mqv8nmm";
-"gfnotation.doc-2.9"="rwivp94nr9a35q0ram2d4wmwj8gzbhk6";
-"gobble-0.2"="r1knqlpg1ndgkvkmi038jy9g450qm2k4";
-"gobble.doc-0.2"="kpgjg6n4p17fvw93qyih0xslid4x7w66";
-"gobble.source-0.2"="i8dh8xayn1a2lsslnr8wygj0qr168wpx";
-"graphics-pln-56823"="ny2glbxpiyxv0b9nf254h3fs08cqb7dg";
-"graphics-pln.doc-56823"="c9rd01qyp0bcngq6cv997zkqdzsgbb8d";
-"gtl-0.5"="bypkgzwx7y2srhdxv94a9zvbyxkbwgqh";
-"gtl.doc-0.5"="777isinskwws7m2b47a0w26w9dsp01qd";
-"gtl.source-0.5"="di1lh2gf5xc3wk34q247zvgvgnmnwdh4";
-"hlist-0.11"="zxglyva456i86zmawizc4scm5cjgw89n";
-"hlist.doc-0.11"="0k1ysa58wbhw02564py59gcwzhlaiffr";
-"hyplain-1.0"="cdn3m5p0va7v16wfr2hxi7sbbkvai0h4";
-"hyplain.doc-1.0"="37fvn4xi8ibli2622n1adyzgnnhrs05n";
-"insbox-2.2"="n1wbssqq7h2g00jmvy1g9cx2pb8lp8n3";
-"insbox.doc-2.2"="i5c06kh17g5ghsjivlxsipgkd0ab05x9";
-"js-misc-16211"="shwn2dwi83plybk71sjp3i1drw7xxd18";
-"js-misc.doc-16211"="ppwwslknxds8l1spalpgj950n9amsinz";
-"lambda-lists-31402"="kpvnf57b1s1whhrrrng7j0zvf0cka90v";
-"lambda-lists.doc-31402"="ai0gzwilj0cm1129pl5nlwc9ddsgpchk";
-"langcode-0.2"="6fwjx029l2nalfz81qfn1k7yp0z7iycb";
-"langcode.doc-0.2"="vq8m73ckjicm53q7v8q5k0rhldq55hkc";
-"langcode.source-0.2"="nk07pqb0mfq3vzpdddhb8w3w85svpbq9";
-"lecturer-23916"="4014kfbhxnf4wb9ndfh0qfwbbrvz0wwa";
-"lecturer.doc-23916"="avsvzihsa6jn0abvd4122k358w5sf4y0";
-"letterspacing-54266"="w55cy2xlk67hnnkiy52yphhs0872ziaw";
-"librarian-1.0"="5siy7c2xclp1c305vqiayp0n5dzil1gh";
-"librarian.doc-1.0"="8nxz7ac5hdp9820nsfkvhvv0bn55idq2";
-"localloc-56496"="hcdniqi3g6imzllxn25y7haqhm08skqd";
-"localloc.doc-56496"="yjhl0zlaw7kirncw6gsddk4zq6zj6468";
-"localloc.source-56496"="ivj8kyznfxsx7afgy8qdwd8p2q8rga73";
-"mathdots-0.9"="6avfq6dlhbqw1i3jrjgcdbdzx2a0w5nq";
-"mathdots.doc-0.9"="syy0i8rjssr81sy26xcx43jbripqx9d9";
-"mathdots.source-0.9"="zpl4xjhcq4hs18hqiyljy3lfyx9xbng3";
-"metatex-1.1"="jidirfi30wf0b4aq279lim2pylirmv3r";
-"metatex.doc-1.1"="b0rgim8d9dns88zvf283czk4zgsvvi3b";
-"midnight-15878"="5zah5lcyxgq6zxdpazqy3lqv7vxl9dcr";
-"midnight.doc-15878"="cl4ff07jfflwqpmbi7d1phc65hvhaif7";
-"mkpattern-1.2"="q3wl8iaijlhsg5qx35f5gcmz6gwj543g";
-"mkpattern.doc-1.2"="8hx2z63klm8dmyiyfg069qy4vf5qzc4f";
-"modulus-1.0"="ia3l2fxzy8dvm42nil9c3c3hgpg65kj7";
-"modulus.doc-1.0"="mls645yi6yafadq1fbv0qx8smj5sm1cq";
-"modulus.source-1.0"="rw91xw2dsgzphvq3sjxx507kfx7x3qkp";
-"multido-1.42"="xvw8537j730srqyigrb1q367g73zh29q";
-"multido.doc-1.42"="qp7jdx0jca995df559f1ji2l32jz2h12";
-"multido.source-1.42"="qc1473wf17ppqxy11xgz226w4d8zrxk8";
-"namedef-1.0"="131apf57396fjyfmx4cvp3hg8gsa1jrm";
-"namedef.doc-1.0"="g7mljk50xxvvvfqgk239p12vmx92n2w3";
-"namedef.source-1.0"="kydzzz750a76fisf14l48d691n0hkhd5";
-"navigator-1.1"="0q23aqjf31y78hxmlhx4mf04c95rwdn3";
-"navigator.doc-1.1"="vxgrfimg900qa0ibwpbwcbv63rbaplp3";
-"newsletr-15878"="1hrni43c6y624w9nryc8q8rd4w6jjap3";
-"newsletr.doc-15878"="p8jfq33i8ah2a35a7d1rb0s3dz0nicvd";
-"nth-54252"="p28w9qvwvvmi4v6gz5dp0hzv3pdp1qrm";
-"ofs-16991"="1vqjznrdyjqn6ygq61h8rnwjymkx5kpj";
-"ofs.doc-16991"="8i8acpk75frksj5wshpjpcazbd93whzy";
-"olsak-misc-May_2019"="4ymwq2jcmf4gs1hrdj93sgi2wibicw61";
-"olsak-misc.doc-May_2019"="dxc35x4yc0y4xk6488awgkc5qb32kl6p";
-"outerhbox-1.2"="q01b3lhx53dbrm55n915crjmkgks4xj9";
-"path-3.05"="gxlifrd0kfxajy8viylk3wsfkycd96xv";
-"path.doc-3.05"="0pbd67di200vghv2a4bp7vwss7bsbkjv";
-"pdf-trans-2.4"="f2qw1mx9qql6xqsnnwcvqx59baz3gzyl";
-"pdf-trans.doc-2.4"="vbg7kp37w1p727nia0p1imyvxhqgzgna";
-"pitex-24731"="6hpvvpnw3bp3sa442b33xsphhyx0vk4b";
-"pitex.doc-24731"="b1y9bprx9harpgqmbchh33gwnc8khzsa";
-"placeins-plain-2.0"="b0dxmvbqfwm4cycyqm9ir7dl7dbgq37x";
-"plainpkg-0.4a"="xsvwz9z9f2jirfyzggiv49y0rfmhmnaj";
-"plainpkg.doc-0.4a"="b0c8mi4mr6bjdhrwbcplwjw920l4zmbc";
-"plainpkg.source-0.4a"="lcrm6734c3dv44wqcf4sp1c1aic0vqqw";
-"plipsum-4.3"="8jq9bahjflimbxs6vmwz2nl50jsy6ygh";
-"plipsum.doc-4.3"="9jp6ipn24yrl486b96ln2nk8i15h9fjs";
-"plnfss-1.1"="wkcli3ca9m6grq1ccbc5jjychw9sdrzx";
-"plnfss.doc-1.1"="smry2whkwygg9v4vgf4xfvpnfxc76b93";
-"plstmary-0.5c"="5qs8clnk15735j0r9id1vxyqabskbxcg";
-"plstmary.doc-0.5c"="jp2lgn5yq10g0jj5hihbcl77hpy2ryfr";
-"poormanlog-0.05"="q3sn08yj1xw45gk0w0na1bca4y6fr8p4";
-"poormanlog.doc-0.05"="30li13ybjpmzh5v9x504061shapvmqq4";
-"present-2.2.1"="nll2w203n4a3ka9dqmsl3bvfz4ypsvdm";
-"present.doc-2.2.1"="m39zcb5c59hd26kz8zcnbljh91hjxjqw";
-"pwebmac-4.6.2"="gv4ynbdynbl954ydb4kv2w528f34h456";
-"pwebmac.doc-4.6.2"="bv6ycd7mg887ld51509sc1rvdz5r5vsd";
-"random-0.2"="cg4jqxpqs7nk3a1j8424bjin08xl493m";
-"random.doc-0.2"="kwqbw15h1iwgr4ljcr7qsppi7n7c28j9";
-"randomlist-1.3"="nfdsmsl3s1wj8p236s3hmwhwfdx289wb";
-"randomlist.doc-1.3"="c6zlhgw9k14wrqffy277jwj3nqp8vsl2";
-"randomlist.source-1.3"="w61n9d30k1gjjrykxps0ssap7xncdfh2";
-"resumemac-15878"="8kydfyx795317240qryrp7zjvpbcd43r";
-"resumemac.doc-15878"="avh8y1vj230yn8bq0mb0mngrki4h0czy";
-"ruler-1.1"="48pdi6yxiiwdnmpy6822p0baymfgf38z";
-"schemata-1.4"="5zm2s4sph1wb999x39nrwkzaxjrjzyk0";
-"schemata.doc-1.4"="z0lmd61rh0nfqkgrw9q8dldlgq3c6ybm";
-"schemata.source-1.4"="jpdj8bs2fi7jpmc6vd2p9x4yc8sflrn7";
-"shade-1"="4ywc6gkvkgm5fiq6avik748vzj7f23g2";
-"shade.doc-1"="ax6w6sfryrzmjdff803hp6qfc9x7knkf";
-"simplekv-0.2"="xwzqwbgqinc13n4zxjr3wxx1d4z2yfp1";
-"simplekv.doc-0.2"="s1s13jm04rzx60fhvgmqavbplbdhv4fy";
-"swrule-54267"="383zr34k9mhk605cni6fb74lkr144zw1";
-"systeme-0.34"="wnhkgq4fkwrx6hd250ak25pv0ywl8f6w";
-"systeme.doc-0.34"="h0nnqih07bbhw22ph3nd0qprdgl55ppi";
-"tabto-generic-15878"="libhmc3f9mcs93xzi22qhk8nyy0vzv4x";
-"termmenu-37700"="b9z1s2xibg6vcrd5qv1n1zlparqlwf3h";
-"termmenu.doc-37700"="0fqaygp9h3wr9x8ghfkxnsi9w1wfjis6";
-"termmenu.source-37700"="xygav2l9gll238dyqa8126sn9hc1n1w2";
-"tex-ps-15878"="jnzaqr3pc6a2bfh7jlsysc8hy30cq4xp";
-"tex-ps.doc-15878"="g377qq7n63mqil18vlfgimfd589pa1qm";
-"tex4ht-58348"="s88qpzr645059ldj0vwl78qbzj69lvdv";
-"tex4ht.doc-58348"="zp3gcglcmbs85qcfdy1x0rq1nwnfggvj";
-"texapi-1.04"="4ysk0vfpgxfdkpaag4982k7ni4qkksjd";
-"texapi.doc-1.04"="l2753w2z702418c8shbami8hzdsyz4lx";
-"texdate-2.0"="vi2h6c5c56i63vhzn64x7qvn11733z70";
-"texdate.doc-2.0"="3yzkfs7q2v20ykcz7754r48p0hb2l09s";
-"texdate.source-2.0"="zwkrw8y0m074w5fpjnaabbv7kk293g80";
-"texinfo-5.1"="gkg2klh5wz5kbih7pmqacmwv21fzcchh";
-"timetable-15878"="ca6qybasxlgqhmlqyjr1dw3n3j2455wb";
-"tracklang-1.4"="dla1jqizbjlb31drs8bnc09vxqilalys";
-"tracklang.doc-1.4"="nm0wsmwrl78ikmfzn63gl3mp0nh6af72";
-"tracklang.source-1.4"="bd547xxzlhjkj84f40lb3fb5y95q2fwl";
-"treetex-28176"="gkvpkgqggl2s86h7rmad9z3ax6wrq3hk";
-"treetex.doc-28176"="5r9rz97y0r280vn642x65xgcffb073gx";
-"trigonometry-43006"="ji2axcciqhac3aaly221w3bja28yb2nw";
-"trigonometry.doc-43006"="drmmcz6w0mvdzmf10dpikm8iagq3hjyf";
-"upca-22511"="hfay60269pv5n1r64q1r9d0lqljih70w";
-"upca.doc-22511"="czzbjifd9bdw0g9c8s2b76sq1cmw3hjp";
-"varisize-15878"="h0jdsw1dapsq7ml9hibgg9571da7lipy";
-"varisize.doc-15878"="af8xf6nzd3h9fm52gn6xpa886lzdpz8h";
-"xdvi-54338"="g5irfc0gf7bra3vngv6kdbkhbyicdz84";
-"xdvi.doc-54338"="dz4q0d643a261kll9fci78dmgwjkjhbb";
-"xii.doc-45804"="p1ijdgk0mch86gs858rvkjzjh2yn35d8";
-"xii-lat.doc-45805"="8ilsp524wb5anl3shmdhbnn1nl2c8sav";
-"xlop-0.28"="23yzc7hmvhc5dya994k7z6w40w3y8cxf";
-"xlop.doc-0.28"="4xf1rn0g79ykd4yllawjqxlayh5mlhr5";
-"yax-1.03"="7kwmcvp6dlxj4jp0xp599f6469zhwnwl";
-"yax.doc-1.03"="4fh5pdqkifpv1zynkl1ycw0xi817wy5h";
-"zztex-17.7"="kack2q2qi130rm6x49sqlkrv4q31qzv4";
-"zztex.doc-17.7"="x1z2i1zs3xzhcic93amhz4niz3aj44vy";
-"auto-pst-pdf-0.7"="zbmd4qc7wq0s7r3cp1qj4rhv9fn7c0l9";
-"auto-pst-pdf.doc-0.7"="sc37ybh0adfwvzzi8wb8jkhg2z42q2rm";
-"auto-pst-pdf.source-0.7"="wvmqgck46b8qjfq8mjs7s0vfi6ci4rfc";
-"bclogo-3.1"="2j9mb9p1n575pvisvpy7zxhsw8940n2b";
-"bclogo.doc-3.1"="rjmzjjww5vmdzz5qfbsxjmnzz4fmn1gp";
-"dsptricks-1.0"="jrn51r2zwccvvy2dasq0zbf4cls15vy8";
-"dsptricks.doc-1.0"="m018nyxpwvxina15zyhwalzfiqb3ryxx";
-"makeplot-1.0.6"="2l1i1z41gpxaisbcp5qqazff2ff8nyfm";
-"makeplot.doc-1.0.6"="r0cb4v76cf0kcjc8hbik9wv3rkrpxznn";
-"makeplot.source-1.0.6"="f2y39dvyj8i8j7jfgqd8hf52v44k8rwb";
-"pdftricks-1.16"="5886wczqinvi86gby90fwbp36chikia3";
-"pdftricks.doc-1.16"="0q95d84knvpyp44pyv6hpp827m9cw5k8";
-"pdftricks2-1.01"="lqjpqma2f0zc9bvf8hgp73yhf2pgkwc5";
-"pdftricks2.doc-1.01"="311ws9zf7fpc91407lm28mjcckvz4mmg";
-"pedigree-perl-1.0"="2wwngnzbxbdypw4mg5wqr4vlmz770llg";
-"pedigree-perl.doc-1.0"="l3v4vhrvkkiz8av3l0abb4w5v0fizbpn";
-"psbao-1.0"="f1rij947zxm5pm52fyv5q77hl50m7m5g";
-"psbao.doc-1.0"="4km2d67wdfgs010xfx706l9ywkb2wvyh";
-"pst-2dplot-1.5"="krwawa7h5jd8sdsq3axq5wvn1im8k1zq";
-"pst-2dplot.doc-1.5"="gbmabgk6i8q9mi397ny0r8kqzk0hyc0y";
-"pst-3d-1.10"="pg6n52kv7lk6i6rfqyzijfrxdbv7ym5x";
-"pst-3d.doc-1.10"="x7bl3prki06ki517r33ab7pz72n0ycz0";
-"pst-3d.source-1.10"="xchbmh6g5zwja9xgxlkdb04qx4kplclx";
-"pst-3dplot-2.06"="k15iab4rzyfcq8c02fnbyl0gwzc5aib2";
-"pst-3dplot.doc-2.06"="j1b2dfmfkhhdm0rvc1zppc19w5mnql3s";
-"pst-abspos-0.2"="bbag5d5l1pad71rrc51lbd8k11jm7nn2";
-"pst-abspos.doc-0.2"="70m0f6dbxy9j9iwxx92kj2k4vwqsbrc8";
-"pst-abspos.source-0.2"="3bnsfp2rj4rviirll63zljd7wady41q5";
-"pst-am-1.02"="pydkanpjfkw4s25m2rnxxmx2nq94rsk9";
-"pst-am.doc-1.02"="5sy24k5ivs70h1zg0knnfxyw0k0244nr";
-"pst-am.source-1.02"="ay1y6q7kmpib5bslmylx5xag413a425z";
-"pst-antiprism-0.02"="d79wzkbpk9q3n15qw83svf850x2y08wa";
-"pst-antiprism.doc-0.02"="sgb8fs7xl1szmnlmdpjbp7b8pnd02xln";
-"pst-arrow-0.01"="13pfic6an180whl8c9flfsw83ldrgj39";
-"pst-arrow.doc-0.01"="60rhkqwp0mbrn1ddp4n5akj3b6w03pjs";
-"pst-asr-1.3"="78h56zzm2yq7nv40l2aql6ihrx7da5gk";
-"pst-asr.doc-1.3"="qx4jpg74zpjjjh01bwxmw7lyip0nwxfc";
-"pst-bar-0.92"="a5456vc3299z2n5di8kfv5q07bnp7fvz";
-"pst-bar.doc-0.92"="6p7ag1iq37p5rkvd3a6b32cxnj8jqkz0";
-"pst-bar.source-0.92"="grywxwwpmwyf94rwa8pmcxvbf0r0xanz";
-"pst-barcode-0.18"="mvdpfn6iwpyycb8sfa91jw0mxyq6ai5d";
-"pst-barcode.doc-0.18"="xbyg4yj85i4pj46b8bxha5w8268j1k7f";
-"pst-bezier-0.03"="7gw43wmghlvfv0vmbxb9m75wki7k90ij";
-"pst-bezier.doc-0.03"="1dldcqv70p1iscmp22jh0gkvg9c2z112";
-"pst-blur-2.0"="xlvdgcpxbaqdw7qfp36xx9brl93gknak";
-"pst-blur.doc-2.0"="s2nqfv19ihhsx64hixcj74b9314q0r4v";
-"pst-blur.source-2.0"="km82lbn5chcrqzg19kyyczzzrladh5yy";
-"pst-bspline-1.62"="3l0nwn486w6wfac9g6rjf1rn7bf7cxgj";
-"pst-bspline.doc-1.62"="vk4iq1imd58w0f8a93c7zf56yb0hkr91";
-"pst-calculate-0.02"="gbvmsni943m47k6fqdrpsvscd93h5j2i";
-"pst-calculate.doc-0.02"="c3f57y1x2274abqbvp34q15gf625d1pw";
-"pst-calendar-0.47"="nsnyxxld6q4jzvc8kwysbwn9y6fxi9g1";
-"pst-calendar.doc-0.47"="jvwhyiz2cfzcx6mpwkahmpcb3fyl6yqq";
-"pst-cie-1.06a"="x0vq8n8l6xsiy6xmwfnlsnp59sp2n9rr";
-"pst-cie.doc-1.06a"="bxvays03xan0mw627zwai7ja07kqpf75";
-"pst-circ-2.17"="69rmijifv9f9kjvcwj1b7l77lv6h400i";
-"pst-circ.doc-2.17"="d9jk38iinh9nnyy8g1sdi8va82s83zn0";
-"pst-coil-1.07"="2ai64805vflnfx112c8p0jqf1ad477wn";
-"pst-coil.doc-1.07"="209y878cmqrykmakyy38075dkdfff6nb";
-"pst-contourplot-0.6"="8giwlz62qcmrl9mddfwk9yqp51c01r0k";
-"pst-contourplot.doc-0.6"="4agf1dx03x2jkxjh3v55nj4bns22563m";
-"pst-cox-0.98_Beta"="c03maichp45vxcy6n3p210gpvypr5v2p";
-"pst-cox.doc-0.98_Beta"="8x10b6xh12f1fssbyf8aggprnn7cm6i9";
-"pst-dart-0.02"="q9b7prnysx2xzw6i643ihjyn5ds1ds30";
-"pst-dart.doc-0.02"="hnwnh7aw3rjq1ny6fz4q0cp98j5lk59s";
-"pst-dbicons-0.16"="il8pxplbwqjhr3714g7n3476dyav3sby";
-"pst-dbicons.doc-0.16"="isaxq5v1rnnllahq6zzcd420yzfzc5j3";
-"pst-dbicons.source-0.16"="q70fjninffvwslibi5rwwsnay6jpi14c";
-"pst-diffraction-2.03"="amf1cak741kvz4a2ddz7hxlna2137akz";
-"pst-diffraction.doc-2.03"="iz4aizfbck2z3lgna1lxl3dagvmbnm1b";
-"pst-diffraction.source-2.03"="5v7nl5sf2fsja46jh36w48prx0l5cnsi";
-"pst-electricfield-0.14"="yq6r4m5q162j5y62vbrzgg0ilnk5blym";
-"pst-electricfield.doc-0.14"="7k6gx1q68lzsh4jayxhh1shvrj1ci81m";
-"pst-electricfield.source-0.14"="js2bqzmv8fkyd4j1pj8yzb6x7xlj2fvm";
-"pst-eps-1.0"="djkk1cq45fzh2q1pvl23aiqi8b2znqrk";
-"pst-eps.doc-1.0"="i903x3p9wwb1jjf5al8azqr3iasmxkyk";
-"pst-eps.source-1.0"="r6jcjqy0f5mnkkahzqf9qnfrgwqh52h8";
-"pst-eucl-1.75"="r692b03azj39wcfd50ig1jz08mg8np1c";
-"pst-eucl.doc-1.75"="lql2a421v71snavwrsvrx4p4fpnxnn29";
-"pst-exa-0.06"="1jqv019148d2s5n7cmlclldqd3mzk08w";
-"pst-exa.doc-0.06"="v45ljmsk7y4p256vikzyk7w0z1vnybqz";
-"pst-feyn-0.01"="k5fpn50px7b2i9bq48qd2xwcdqdfwrnp";
-"pst-feyn.doc-0.01"="5kgzlqhig4ma9zhxj5ncmyc3qcp6acn1";
-"pst-fill-1.01"="llnpvgwf57n20wh4p9xfbwcxzlwky62z";
-"pst-fill.doc-1.01"="2wyyhm91dszgjzpvfsyyz7wk3z8k345w";
-"pst-fill.source-1.01"="yg27p6nlmkzbkjrygc2kc6bxj6hm9fdk";
-"pst-fit-0.02"="glmix9zjghzn0pa092yf6qppyax0grf3";
-"pst-fit.doc-0.02"="d2ilipqghmv5i4jmjh63199kn78i4brk";
-"pst-fr3d-1.10"="wcwbrmyh4mn9af5skqaj9pljkc79chwq";
-"pst-fr3d.doc-1.10"="hcf0909wnb4qdhrcy5bsgi7bjhkd3rs3";
-"pst-fr3d.source-1.10"="fyqkqk6p5m83q133ngw9a3j6gpzy8aii";
-"pst-fractal-0.11a"="ihilgmdfalqmq1q57md183ymms6xadvl";
-"pst-fractal.doc-0.11a"="ncmn8bijlbc00y5zzs99gn15bbvwfyls";
-"pst-fun-0.04"="klmswb8gqb538ghlay62dwg1asiq8l13";
-"pst-fun.doc-0.04"="xafzv4wa5hzqmclbv7s7xh0ba2kaay69";
-"pst-fun.source-0.04"="s7173q9a44aqd43d8bwcrskc9bsh1c1r";
-"pst-func-0.96"="1aqk5ndm8gw3xynxqw6ki6cmwqw5ylmn";
-"pst-func.doc-0.96"="chw5jzcl3xh0y7rsma6pqpi6rp6bwvxm";
-"pst-gantt-0.22a"="ghji2bp2wz4xgkmh2vrfyxh933r8dr3q";
-"pst-gantt.doc-0.22a"="zvdlzyll48hrl970ms6j7pgwp2f2vmy3";
-"pst-geo-0.06"="p2q2w8rl3z8xvdylc8inm2i4zbh8jxc8";
-"pst-geo.doc-0.06"="q8fwd5i5fvxchs8hz9l7zml2xqv337sd";
-"pst-geometrictools-1.1"="rx8v1nyhqrny92sqsrwzsra4mhrh7xnh";
-"pst-geometrictools.doc-1.1"="20k0sg2qkfzkcpq1qa42195dw9swjx3h";
-"pst-ghsb-54074"="rzy3vznyr6jd0b0vr9h6ajlqc11bp9rz";
-"pst-ghsb.doc-54074"="5w079f1q4w8yxs4546qzx2c21vrhm2ym";
-"pst-gr3d-1.34"="wpbib4n4j2fmgbirhq8xha4di6f3w1xa";
-"pst-gr3d.doc-1.34"="ipap5gil3j6hkdcl1l1y0a6fnj754zq9";
-"pst-gr3d.source-1.34"="l6i8dnqgpl8iwsmbhiw3a043pbxb3k7m";
-"pst-grad-1.06"="7yprfjpsyszw1wndfkwingz1vncvy1ng";
-"pst-grad.doc-1.06"="da27kdibqih9pbbj4366bin38zznfsis";
-"pst-graphicx-0.02"="pq6a58d7i0bpbzq0wrh54vlyz5hwjb2r";
-"pst-graphicx.doc-0.02"="xq7j614zxh5m9mr5zbfbr7q1ds0f528g";
-"pst-infixplot-0.11"="cpck9sg68imi2ddiaafw7k89hhz8i4ar";
-"pst-infixplot.doc-0.11"="xa4vw2bzwdqm4y46ljqpx3d6n2ff02yq";
-"pst-intersect-0.4"="az34g553vdj45pa35s8ymk0901njq262";
-"pst-intersect.doc-0.4"="756ih3z05zxw0igclcmx7l8r7n6c9n85";
-"pst-intersect.source-0.4"="2fbzddwq4bib97214qq0cqrhraxvc5dp";
-"pst-jtree-2.6"="pcgjwxpmr4356pysfc4jgn5f7wvif4n2";
-"pst-jtree.doc-2.6"="i9qmlbn7apzimcsmxls2vwh5gniizyrc";
-"pst-knot-0.2"="y69z6hv29f73scygpzg5qr0p3yf8cvlp";
-"pst-knot.doc-0.2"="7jbx6gjfjglggmnfgpj0rzf67wp0s549";
-"pst-labo-2.04"="h5lyw06d0i2r5ghn4ljymyy3s9bglmcz";
-"pst-labo.doc-2.04"="8diz0gbmd09is6w4qyicizjbq4gf7lxs";
-"pst-layout-.95"="vwhvczg3rwlvz8r7x4y4n537bwb3x6f3";
-"pst-layout.doc-.95"="y5pl5paib75knak0gamgp31mph6dnpkb";
-"pst-lens-1.02"="y5a0bhzbyh4ncg26rh3k3w7xc2mmw2df";
-"pst-lens.doc-1.02"="f8qa04lxfwy1ic6dl6s4bc3k66b2sjy2";
-"pst-lens.source-1.02"="371k1kh1ryb46asc37r40vbi5i35icfz";
-"pst-light3d-0.12"="p4nppgfa4qw8l2gj23k1rhhfb7vdkq2s";
-"pst-light3d.doc-0.12"="p688y0b5pc29l63dpmrx342m4hmpilxs";
-"pst-light3d.source-0.12"="ic2f2b81hsyhh8pp57ywda8pngw9g0m6";
-"pst-lsystem-0.02"="4wp3nih38lv59313ch6asys1kj1qa27z";
-"pst-lsystem.doc-0.02"="x4k17vgrb4dcm09qrcx4v6lcxlx8h9n5";
-"pst-magneticfield-1.16"="c2m1qvcclbx5gx0jqnq6ps2ypfn2xvn6";
-"pst-magneticfield.doc-1.16"="pdlhzrh670g5hnr7di40mdcsjyjhx6nl";
-"pst-marble-1.6"="qairi5smsg637lgv56g247df3fmxf4wg";
-"pst-marble.doc-1.6"="g32ayxvgck3yfrikkqhw1njgxjsjp0wc";
-"pst-math-0.65"="i4s6m928yxdpxadv4wz0h8vfpw69l31r";
-"pst-math.doc-0.65"="s34g8psqhy9hb0927kbb62cd1fipm972";
-"pst-mirror-1.01"="l1qs4938r324dv9w1ij2xfwk16nslyhk";
-"pst-mirror.doc-1.01"="varxk1wyh1lc7yv5n3ad1yp583rchj3l";
-"pst-moire-2.1"="87fgw7g36l5yhh7wajhcz4fndls21d29";
-"pst-moire.doc-2.1"="j9hx5m27rs1by4igc5nn31wgxb4v0yz4";
-"pst-node-1.42a"="5kp8akd3xr2gfdynjilxk3igzlmc7drk";
-"pst-node.doc-1.42a"="0xfbfzhl2zkcdbnh5xxkchy981f9zizn";
-"pst-ob3d-0.22"="nymkccb9nwfqiiphmci238qxj9lk58w7";
-"pst-ob3d.doc-0.22"="sji0zdf3ylh4kj0vlgl0s7xqimiwh29i";
-"pst-ob3d.source-0.22"="jq2d3wiy1sgx8xm8izg0yd443aqps44j";
-"pst-ode-0.15"="h9xbq9v6cczaj80mmxic5vq4x2xclns8";
-"pst-ode.doc-0.15"="kfbn4ix8w9dkwn3ii3ciz2x20gz7acxp";
-"pst-optexp-6.0"="yld4g9b8cyxawzwgfavq3fzbm2j2qk14";
-"pst-optexp.doc-6.0"="gd54dvmww7gkdng7p1by02ab5ji9m3dl";
-"pst-optexp.source-6.0"="zhad57ws53m6h348smnbajpm6jz1rfv5";
-"pst-optic-1.02"="fmp70zsr3gfcxc9d7mik8y7fdq9bhv9z";
-"pst-optic.doc-1.02"="bw2k4jbxfdwyn7pfn708wd3ff8nr14ww";
-"pst-osci-2.82"="5rwmmzwp7jwfv40cg66gi0n75mlvn851";
-"pst-osci.doc-2.82"="nmgp00q4xifasnxnckw04kmd8qxxdd7k";
-"pst-ovl-0.07b"="9p419xds14qnxz308fk8872vrc25gfy0";
-"pst-ovl.doc-0.07b"="sqfllifxpng72ycciw8y46wqx74lfcq1";
-"pst-pad-0.3b"="x3762zh9c5shzl02r9ssykd2a0rqpk7k";
-"pst-pad.doc-0.3b"="ymjpw81y22mbmf62735kqi80yhylvazg";
-"pst-pad.source-0.3b"="7cqccc3ps8qdhbykgc6yyygjds46p5av";
-"pst-pdf-1.2f"="b6y40i1cavghj4c5q1n71g6m7ncpw40h";
-"pst-pdf.doc-1.2f"="hhii0z91g0wbcqi3xsa6y0g1sk2sa0md";
-"pst-pdf.source-1.2f"="vdbn9r619v5ww220igdv9v844720ypkw";
-"pst-pdgr-0.4"="cijfx5hq5ygnchsgdw7ly5a43a5v6cqb";
-"pst-pdgr.doc-0.4"="s94gqhws251skwh2ap0b3hlvpp818y0z";
-"pst-pdgr.source-0.4"="s2zbikk5v94207zmrmnlpr5bx3jjzc5i";
-"pst-perspective-1.05"="iaq5j9cbgyr5p4np1fn5dqv8m8mv29qc";
-"pst-perspective.doc-1.05"="kvvjyfxnxvzxgjrfv3ysw2qd3bafh5jk";
-"pst-platon-0.01"="c1crbkzj0vvblf8n894g91q7qig185w5";
-"pst-platon.doc-0.01"="54icmvjwsbljdbq03j3npmwr9j85cdpg";
-"pst-platon.source-0.01"="bs136jlsz9yxiw062dlck6km6fsapgjv";
-"pst-plot-1.92"="nb5pbj56m205njaj6xx36fmpnjl2clj0";
-"pst-plot.doc-1.92"="9zns6nss0wbc30dbf42gm3gzkvddgrr3";
-"pst-poker-0.03a"="n0v39sbb0i18kdpkdg0c8yhjzyyk7sr8";
-"pst-poker.doc-0.03a"="b8na7nwvm3mx2rca78pb9xkna32agak2";
-"pst-poly-1.63"="caj343wmgfxzbzchalw7w14jazj3xb3n";
-"pst-poly.doc-1.63"="gq61g8l852k4m8n69kzqdx1sii0jr41n";
-"pst-pulley-0.02"="d7y0xspcv55vq4xhhpwhl9a3q33fpyga";
-"pst-pulley.doc-0.02"="6g5jnm4i5lrxqb45mn60g7nlc9xq13cg";
-"pst-qtree-15878"="6slxqgzm8pzscdf79x1y4zp3rav425g3";
-"pst-qtree.doc-15878"="9bp342h5rimv9wyjncj9m9bb3x2pb77p";
-"pst-rputover-1.0"="39c8h8wq8rcby34dnpq8f9d87zlfd0p8";
-"pst-rputover.doc-1.0"="apm70lr0xn7hgj16acpcll9wd3jcxqbn";
-"pst-rubans-1.2"="akzd33l39b9gh53hkqzaznb6j6rrbif5";
-"pst-rubans.doc-1.2"="sa01cv2q19w3rxlib2j2wppvbjcbn6z8";
-"pst-rubans.source-1.2"="vanr4y960njpckxcy8i10jh8fxmdd94m";
-"pst-shell-0.03"="kllra0m3v64wiw4mg1wjqwcwapgbqw34";
-"pst-shell.doc-0.03"="j8j9vfqbw1bzbncflx0wk7awr599pp2m";
-"pst-shell.source-0.03"="4zzi02gy69lscpmwmsy5i6dzck63ql10";
-"pst-sigsys-1.4"="89mhw4a91vxvm6jr2806w7sdgm0sldzq";
-"pst-sigsys.doc-1.4"="1x1s3l6z4rr8s1s8smck8x8vkg9sb7k5";
-"pst-slpe-1.31"="i8wqm7c5rr1gvrcqdhzgc3wjsnvhxnaq";
-"pst-slpe.doc-1.31"="d63x21a81b3chx59ygn3niagb12lq0vq";
-"pst-slpe.source-1.31"="b8pbhx17ad49g92il07bx2347lim9kr7";
-"pst-solarsystem-0.13"="k3gvgdnwv5054qph6ljijgwlr4mhrsmy";
-"pst-solarsystem.doc-0.13"="sh4if86rr6p8bmjrfndh8lfsibjmlj8l";
-"pst-solides3d-4.34a"="ja56phln33vfw2nih7kmvw6kr5s77400";
-"pst-solides3d.doc-4.34a"="82zcnj9a0sfy42hx7mihhgvrnj4xzg1p";
-"pst-soroban-1.0"="q71r7bilwmgxxvcqngmn9w63cqwh526i";
-"pst-soroban.doc-1.0"="ds57w9f3d4dy5c17xsvrmzs09iccanh7";
-"pst-soroban.source-1.0"="sj27j1n05dfq3szxyifzd24i44c4ls40";
-"pst-spectra-0.91"="7h48zv55xaxbgccdp7710lh3y2s334sn";
-"pst-spectra.doc-0.91"="sc2zbs93vbzp4jqgwwxh7pga2ngrwxnz";
-"pst-spinner-1.02"="c25gya6x35s07ki87x3f8jm85a0hsdqb";
-"pst-spinner.doc-1.02"="b15zdksxzk1dr3rmgi5qfkqwq131qnv2";
-"pst-stru-0.13"="9xzgq9yp4wh3939dxg4wvkzsvq8za3vw";
-"pst-stru.doc-0.13"="pm4nj6rck0s7gjhkfjg3i4xa8qd1dihi";
-"pst-support.doc-15878"="z97cka1jrk6jji8lczqfxc09cqj7f34x";
-"pst-text-1.02"="sn30bjp59awsdx31kii7a429wjin0zp0";
-"pst-text.doc-1.02"="3v66zv4kjb8rh3fpbx2wzvg1rn5iicaj";
-"pst-thick-1.0"="b2dnjagm4kkgxfjilahizzyq6mb1cx5f";
-"pst-thick.doc-1.0"="jkybjsqnnavyazal3bf4z54ldqnw1gw5";
-"pst-thick.source-1.0"="1kjjkqgz4fwghaialrqvgnfq57vl13k5";
-"pst-tools-0.10"="459qcdqz4aaidc51k1yb4d2avbi2s2pl";
-"pst-tools.doc-0.10"="s3qcq12jq563x97qk9b3adv9wqra5h69";
-"pst-tree-1.13"="l1m6c66jv4v02n4mjv9ddgh84qbyllqw";
-"pst-tree.doc-1.13"="jgcx73vrpiwvlq9rg1iszm57bj1qsr73";
-"pst-turtle-0.02"="m4g2qpqvzb71ax94sqcvzzpjzyxs4bzb";
-"pst-turtle.doc-0.02"="rnps80z7lni58fnlfqdx9pf4iw5s1f22";
-"pst-tvz-1.01"="0xky3nd1q8kv7vbs73dcbwgjqbysrwi8";
-"pst-tvz.doc-1.01"="hrigaq1rz3hd5l4969913apdwayy1ifr";
-"pst-tvz.source-1.01"="zs1dh6kiphzy0p7nj7i1faldamjsc1j0";
-"pst-uml-0.83"="0rfbyzqd6xk0aiwrmavfnkr6bmawkrdg";
-"pst-uml.doc-0.83"="jvyfkj9r0zknfbpway8zwl5l81zwfq6n";
-"pst-uml.source-0.83"="50n69kfybcg2qlxjy9d0f330rxy23sv6";
-"pst-vectorian-0.4"="45j3kc2ma7yvpk73724419zxzajyyc0p";
-"pst-vectorian.doc-0.4"="kr9cw6fs2rra7ymmza9mf3winvj17c0j";
-"pst-vehicle-1.2"="fzkkfjzb0s227y1942p89g2s3qn5bgdr";
-"pst-vehicle.doc-1.2"="152w1jskf5ninr660a9cjbyh9q4bhphj";
-"pst-venn-0.01"="a5bibsz9q8lm2yqz7wrmarn54qc134y6";
-"pst-venn.doc-0.01"="vfdaqpl5fr5nh08a4cg4gkl55nxwv5gl";
-"pst-vowel-1.0"="aq45bsp7d1rdflxvs1aga0kqmn9b3zd8";
-"pst-vowel.doc-1.0"="zm075772viyjnm1akx6ixk61gb33nq8m";
-"pst2pdf-0.20"="0j8jdmyyglah1883y8m84c7qxymc8g1f";
-"pst2pdf.doc-0.20"="vl6kda2lb2nhwhp1cfbgn4zhbfi1gz5s";
-"pstricks-3.01a"="59bjzfqwbl5hi2inpzyk683wwjmk24nx";
-"pstricks.doc-3.01a"="kswpg5w2v9cqfgjbzslk8dys2kzjm33g";
-"pstricks-add-3.89a"="96y4vwq9y08a0ydk06v808ixsikg0hb6";
-"pstricks-add.doc-3.89a"="kaw6qyrdi6ci1hr7vpfsbgfzqjrvmldv";
-"pstricks_calcnotes.doc-1.2"="4q48najl98h9lb1866avfw6c5ir7p4bj";
-"uml-0.11"="ggl1iw3qhzysy0fza2dbl3igwlcq3i0n";
-"uml.doc-0.11"="rhj5ivlvx43d8c700117lklmgardm76a";
-"uml.source-0.11"="nfmc770r8bp35av4n0x1nml5h23y3whd";
-"vaucanson-g-0.4"="qvnklg80m4p0235g3wx2ln1gk5myd1i9";
-"vaucanson-g.doc-0.4"="iwldpyzbgygg73gyidpj3vgw60jdid9l";
-"vocaltract-1"="dzjd6v5mhb2mcdgrk66dc0wc4hdihsnw";
-"vocaltract.doc-1"="kgb45nb45fmc2hnyg31m92cg74mybnvq";
-"IEEEconf-1.4"="y7pcvgybgsj94x4r1b3p79w2bwrja38s";
-"IEEEconf.doc-1.4"="6pyp532mjalspmalr2ia8nm58fjj5fwj";
-"IEEEconf.source-1.4"="h16jq4q6bvb1wpwjxnyhhp43frcjmnym";
-"IEEEtran-1.8b"="96gd4zxcmg6c2mma4d8z0wganf9ml7d9";
-"IEEEtran.doc-1.8b"="ms8cp0i51knhhbp2fckkmr2cwlvyx4b0";
-"aastex-6.3.1"="hr2pdgvn6nj5lpy98kmzd9w5wphhlrd8";
-"aastex.doc-6.3.1"="m7c2djbqiial9g32q043ycxaxfafaf2f";
-"abnt-55471"="gc6hz7sglzshmq5dlm0qzgg10vn3pncs";
-"abnt.doc-55471"="jk11kdy4pqbqxhscx0bqkb46r0z15lh0";
-"abntex2-1.9.7"="zxahr9mb1vq0yfcj35znym4qx2jh4p53";
-"abntex2.doc-1.9.7"="hs3g3ji0knhsh0gmjcz49dvc547wh0cc";
-"acmart-1.75"="76831qm9apd7fgwa45x4wr213snk0pca";
-"acmart.doc-1.75"="4s30kgw83xqzcn9xvrwyb79x1zqb0234";
-"acmart.source-1.75"="1146n4qfma5ysgkzk53rcyla8mf3d8bw";
-"acmconf-1.3"="9wid04wqz4l1xisvlng52xabw9m0p1k5";
-"acmconf.doc-1.3"="66xjqp6a86iq2908p77cz57651av2i23";
-"acmconf.source-1.3"="7ssw68bvkxxixxmf9ygp7szxmc59fvik";
-"active-conf-0.3a"="k1b3ykxr34j6mz7qnhl442kiw5mi044k";
-"active-conf.doc-0.3a"="smq9rd7vgsdm8q0mkgrvwifrdjirsi3n";
-"active-conf.source-0.3a"="j59z6864ndi1pvrfdcj1g7h28bb0zs59";
-"adfathesis-2.42"="kipd97l80csijf6nwf4qh9dqs7481gpv";
-"adfathesis.doc-2.42"="1a45imkqk01xwsn8w0sgi04kq9lkjfsm";
-"adfathesis.source-2.42"="wsyrxaljzn15z0mg9fkv7qqbcxfgv7ri";
-"afparticle-1.3"="a47yf3q2kr9imhrr9520gm0xzrbxijpl";
-"afparticle.doc-1.3"="jwrcq8p5jlda9bs8xq364748p9xr3hyk";
-"afparticle.source-1.3"="3j3wg5g8qbrm1lycdd5g49sva0rshjqc";
-"afthesis-2.7"="s423mnyllrn49bbhas0r4nmks9nk4nrh";
-"afthesis.doc-2.7"="8cac60kzq0srba12qa1sdk4fkqxvwjvi";
-"aguplus-1.6b"="92nfqnrbjsfcw7aym6qahl2rsl75kl55";
-"aguplus.doc-1.6b"="8nams9f6dwbv45ad46lxh7c4wspl0hcl";
-"aiaa-3.6"="x8hag1q2jh49y6ad5k774y573zas97c4";
-"aiaa.doc-3.6"="ipldvi4g05v26gzvp2wp71n0xv5mkdd1";
-"aiaa.source-3.6"="wllq5qv20bc4f7m098yn1f5slyrdxazz";
-"ametsoc-4.3.2"="4v5ya7z7mbbxqxkjp5madwpn3m456gpp";
-"ametsoc.doc-4.3.2"="nzphxaasrrgxhiwixz6k6qikbg6z45gi";
-"anonymous-acm-1.0"="h141yi757rprhkm316naq870szcpnm2j";
-"anonymous-acm.doc-1.0"="g57swlg0lqfibb3zp09jbx71fkbx6mh5";
-"anufinalexam.doc-26053"="qb1dvx5ryz6p5dia1z13aa0h0822f814";
-"aomart-1.24"="y442d2i6ss4zm83pcmg35lh2yf628z94";
-"aomart.doc-1.24"="s48yvb9pilz11n6ljsxsjf1iw4jmfblp";
-"aomart.source-1.24"="6435dkc918aiq8g3lnvj0a58c26vll8k";
-"apa-1.3.4"="g7ywm2jp0b70qdwmm59m4rr8glx3wc66";
-"apa.doc-1.3.4"="vjg7gj1wi6mb9b1qyfsznhgcbvivdn1c";
-"apa6-2.34"="gq1rkj5hq03b1sp0a1gikw2vbi4a1z7l";
-"apa6.doc-2.34"="4nmwwb5z010k64p74f033myg7kcy9g35";
-"apa6.source-2.34"="149j7rpcbzy97nidnyw3z9b9jndh7797";
-"apa6e-0.3"="0bilb5nbgi83kp1w7d1kci1akg36nv1z";
-"apa6e.doc-0.3"="p7ir3azb68s9pms0gpa968gffr2qr0xw";
-"apa6e.source-0.3"="baqh9z3mlxqy4kklhnb9a66gj36lnhxk";
-"apa7-2.11"="8b7z10rsc2mxmwh64gi985aam7lf80y0";
-"apa7.doc-2.11"="d794jnpnh1b7x0bcqajmxnakcrjw2nbx";
-"apa7.source-2.11"="rkvqs391j1kmhfgi76j3bgsin03jkdlj";
-"arsclassica-45656"="pk5gn6ifrhj5c33f78d619hq4j3d7nmg";
-"arsclassica.doc-45656"="z21lmz2x0sc7g6gc50j1x0hhzz96ra7b";
-"articleingud-0.3"="45hkl8j1hxdww0igp85iifrdz4g4h18l";
-"articleingud.doc-0.3"="00653rqfzjv2f4wl77vznk2p1pi6f2fd";
-"articleingud.source-0.3"="24wwfplzs8477i5kl1ks5fvkd8w1lv76";
-"asaetr-1.0a"="wkch5k1hxw65dfdkyghyzpcibmnj0zyj";
-"asaetr.doc-1.0a"="8d1x4sq5xpgc1kb5ys4dp02i2r1p3ha1";
-"ascelike-2.3"="b7ff1cj0jmbdr6wrvcqr37byak164fy3";
-"ascelike.doc-2.3"="sqynsfl8cm40n0r7v2a7qlhxx6zny623";
-"asmeconf-1.26"="bp2mgyvlzwna1n2kkg8rz3wavfa7vpk6";
-"asmeconf.doc-1.26"="f5yps90iyl7bh7cnqal2h0pwpf997b59";
-"asmejour-1.15"="nilwrvcl7jzvzgv3gz66hqqrhfarfhx5";
-"asmejour.doc-1.15"="yz4n2hjjdh6173a581b8ncvaai3yrzxw";
-"aucklandthesis-51323"="gqqynyfp4l80jc7a90by84wjmn22s0br";
-"aucklandthesis.doc-51323"="mqasialmycia8nzmrc2m3d9pwf1a39r9";
-"bangorcsthesis-1.5.3"="h92q93ga8029hvd79hywxq73kaszm5a1";
-"bangorcsthesis.doc-1.5.3"="ax2czj8r6am7m2r2inrlsvnfl2rmja4h";
-"bangorcsthesis.source-1.5.3"="hc67sbajczfjxpwkvpl38ss355pziwg2";
-"bangorexam-1.4.0"="6s8rc4pgza915qgldk95ykqmxhf2czxf";
-"bangorexam.doc-1.4.0"="kxjxdnfljg1pracpx514adjp7ynbvvll";
-"bangorexam.source-1.4.0"="rf9s69qaaw2qrbyljcsj9pmg5qw4m18b";
-"bath-bst-4.0"="n0l3wi2cbx89zc0p4slqydrp9brqsqpf";
-"bath-bst.doc-4.0"="fi61fvr0sv1191qvm1xslr1ppr0md792";
-"bath-bst.source-4.0"="vc8ipiy9ha9j4yzc5k4xghmwfbh0fz9p";
-"beamer-FUBerlin.doc-0.02b"="k09b82znxfk7gi7cxpkffs65v3q5siph";
-"beamer-verona-0.2"="jgqm1267x276xsdikvc586h946xfzhcv";
-"beamer-verona.doc-0.2"="skxiv6nxw4vk3c7ppl2bripmlkada52x";
-"beilstein-2.1"="05srjjkprhg26zyi8i0wxdazsi1ldayz";
-"beilstein.doc-2.1"="8w2iba8h9nmi7jl4wbpw5jd008x2nlrh";
-"beilstein.source-2.1"="i5zvzazc6zlkl0pyqvjqi2br5k6j1ahc";
-"bgteubner-2.11"="kjykk4kfr7iig49zpd26kga2p4kki4gq";
-"bgteubner.doc-2.11"="wi654djqdqp0hff6cshv1hfkhmgcacs7";
-"bgteubner.source-2.11"="jhqhmr6bb4ldma4dscl9l4csan3qrv6q";
-"br-lex-44939"="ipw7gwrsdv691vnv257w9i15f465irnv";
-"br-lex.doc-44939"="kai74ysi41iw5bc9rjv8saj7qh7n0s12";
-"brandeis-dissertation-3.11"="x6gg26rlwcvaaqpwrp0vjm0abg82aa7z";
-"brandeis-dissertation.doc-3.11"="y0fh6a9qjcfwvn4pa4rxiz904890vzap";
-"brandeis-dissertation.source-3.11"="20gj99chfclhsr997abdvmg7v79cwmix";
-"brandeis-problemset-0.5.5"="x7ivk7r7qvi08kb7jmdajym04hxyhzk8";
-"brandeis-problemset.doc-0.5.5"="zsa3r4xc2kfp00r3jj7mfzdxaphj7505";
-"brandeis-thesis-3.1"="4amlxbgx7ajpqx9lhyiq19ha6cijz6yz";
-"brandeis-thesis.doc-3.1"="ycmbg34x1raw7l3z5f90z37p7i50yigz";
-"brandeis-thesis.source-3.1"="j7b85x32ikjdca33gx4iqrnjxg4dhbbz";
-"cascadilla-1.8.2"="03g1znhjzcvxvclzwb33lrm6703j1xxw";
-"cascadilla.doc-1.8.2"="njy3lpaw3lch5x3p1mm07zis50z38ps1";
-"cesenaexam-0.2"="0n58an00m7xywgjxd4mk4jvr3wkla1sg";
-"cesenaexam.doc-0.2"="1cq9yg0f3j9s40jrkzgxnpk2ya88jgiv";
-"cesenaexam.source-0.2"="213fs3j3x9f0330jy9hfxmq3dhpl1lgf";
-"chem-journal-15878"="8rsrybpvzqr389ip3lfkjna1vy6lclv1";
-"chifoot-1.0"="k9iv6mr24x0fxdylmzma4rcip0dd7lry";
-"chifoot.doc-1.0"="kwyxpsww86h23gs0zlin4niykgjiiqal";
-"chs-physics-report-54512"="ci2816gvc1ds20gh2jiiyyrc061n0ncz";
-"chs-physics-report.doc-54512"="ipzvx9zkpnnzbdkmbzzk6g4wz4qaql17";
-"cje-1.06"="s4l2hjnfw2s0l19hbzf5249igprbhw7a";
-"cje.doc-1.06"="hyw2lcxsbm0v95l1161v2sh2bprsg421";
-"classicthesis-4.6"="1mdqrwxmh218ni62g9bfgq7v1jx20ilc";
-"classicthesis.doc-4.6"="d0nd57qpb4ya46ipz6c2jwark5sdghfl";
-"cleanthesis-0.4.0"="z2wcfxgawx5pdbw7bfisn89qyl2jlyd9";
-"cleanthesis.doc-0.4.0"="w4wjl5szng8zg0vvjr32914rdzyxcffd";
-"cmpj-3.03"="7jvi0lm13xy84p05g5cvdxlvbap821gq";
-"cmpj.doc-3.03"="b2sqxga8rnn5q6k7sz0ijm05jkwggsdg";
-"confproc-0.8"="6anwdx64g1yfr109jrnqfml6bqj8l98a";
-"confproc.doc-0.8"="qczsp87rylnxkd8nsi14kjahnkh57i6m";
-"confproc.source-0.8"="f8yczf6glbb74hvfga786qvamllnza9c";
-"cquthesis-1.50"="6fxwcf7pk35b3brdybcdrj8hds82xyry";
-"cquthesis.doc-1.50"="vw5y17h64nsd337wyaciprxdhfm55sgh";
-"cquthesis.source-1.50"="yxsgl39sk05rh5sz149n17nmilbgkhcf";
-"dccpaper-2.1"="zw5mqpshkvv3xm18jy9cpxggr64mgv2i";
-"dccpaper.doc-2.1"="ld4fpnbbxnl9bbf7v43qr20nn5vvf29j";
-"dccpaper.source-2.1"="h381xhs9isqv3nrxldhjqc460rysx658";
-"dithesis-0.2"="y0xrpjxnblvgahdwyfhm2hag5hss6qzv";
-"dithesis.doc-0.2"="b7ka35ywbrn2m3a6b8cyzyvajwxyvdkl";
-"ebook-29466"="08y1g19fvjskwm55g1av1x8bs95vmc6y";
-"ebook.doc-29466"="kw04pn3a7pbkgxjrn1p12z65j8k4n3fk";
-"ebsthesis-1.0"="3f8i1srqx6hh10rrjshsispqr3wdhm0m";
-"ebsthesis.doc-1.0"="wic4wfgihf2yyk40937hr2g59933cyy5";
-"ebsthesis.source-1.0"="q1lhixwgkc6zis1sgsnwzsd0p7spp0zz";
-"ecothesis.doc-1.2"="92jxgiddwpj5g62zwg50wm681h2z1ixf";
-"ejpecp-1.9.0"="6z822g8sqvwndh8gdcaii3f8pdnk0pmi";
-"ejpecp.doc-1.9.0"="a5kin866l57fzcgp5i3flqialzn94ghd";
-"ejpecp.source-1.9.0"="9jmfaci8rmnmz8lgbc7syd3lsp5f61k5";
-"ekaia-1.06"="r87yx6q2rzrcp150gny82070fk0a8a9i";
-"ekaia.doc-1.06"="lnjkk17sysdnj4l9vpx0qwkr1w185iq7";
-"ekaia.source-1.06"="jvjhgfg1hvj60lcwa7k34zfl9v17bw5h";
-"elbioimp-1.2"="wp7pv78ijjgb48majhg8pjqcmkq29jbl";
-"elbioimp.doc-1.2"="0515vzg1miiljb8grlb8idsb2y9gfcdc";
-"elbioimp.source-1.2"="lzbvgi6d0w8wwf052v6a1gzz2qfvpkn4";
-"els-cas-templates-2.1"="128x9ixs3cpv1nh2pwx2kp6bhn64kxpw";
-"els-cas-templates.doc-2.1"="188ypaihn3x9p3951vybzl0i725j22nd";
-"elsarticle-3.3"="0hii9fd4wnh10b1scaclvbsq1471fni6";
-"elsarticle.doc-3.3"="wnvrk9yhf2bv69bcrvcfhcfnjb3wv1bs";
-"elsarticle.source-3.3"="ffcj8f3r4p4wwy6aj5c0sk9k9bqp3nbc";
-"elteikthesis-2.1"="mivcwfrlyxmxsrc94vg0ji7sgl1c5a33";
-"elteikthesis.doc-2.1"="20a9fq7yb4xyfnk5x4c1isd3afc4s69p";
-"emisa-2.3.0"="25kpkvf03crgwps8fk5gm6jhi2lvmgff";
-"emisa.doc-2.3.0"="yx0k9dab0wappz1sbfdkl7aciy84qb2s";
-"emisa.source-2.3.0"="j95fvqf1p9ad4ck02nhil1vqwliwhp1b";
-"erdc-1.1"="pmxparxijq91mlqb2z2ci0mk9as4r1nz";
-"erdc.doc-1.1"="a7f0jw1j2l0md2s4hdzv6gb1v867nk8n";
-"erdc.source-1.1"="5rf897hybsib6915bvyp0nai8j7bszgb";
-"estcpmm-0.4"="30s2wysjnicdxnfwliinz0s3xgjz65an";
-"estcpmm.doc-0.4"="kmrdd36g036c2rd86i9lc9n73rcfhwy7";
-"estcpmm.source-0.4"="7pn247fkf44679vcgbf62ishd70sgr8p";
-"etsvthor-1.0"="i9p7vf52g9pxrczw1sfvipk71xjbw2pa";
-"etsvthor.doc-1.0"="jp6bpcx2mwjzs07p16w0ncjfw1kb9kzd";
-"facture-belge-simple-sans-tva-2.1"="v9wdhpc6kjgc3w8dwnscbygspwl07s9l";
-"facture-belge-simple-sans-tva.doc-2.1"="ysil9y0b6ff47yjxhn60q1pbpz03bsm6";
-"fbithesis-1.2m"="1fdf0shkpyjfwikv3raz4a27wssg7j8q";
-"fbithesis.doc-1.2m"="wjh25w45lkz3dg1900qvpvn3r137dw8m";
-"fbithesis.source-1.2m"="qa99zpjzb2q48x55nq9cfsv7gf6ggyjb";
-"fcavtex-1.1"="kh7y3795flgarmi9izzzgq6g7z294jj4";
-"fcavtex.doc-1.1"="qr05ymcfxx8vwm572rd0pa6yq0fam2n2";
-"fcltxdoc-1.0"="gr5vxdra4lcsljhm591xs1b6z4ci2ddc";
-"fcltxdoc.doc-1.0"="mibli0mi846flzm0id9z0cr8x90rivgw";
-"fcltxdoc.source-1.0"="yn567l5sbbrrdbcmiqdpyq8kq5y1ni1v";
-"fei-4.10.1"="kmpplq5f0kjyxgpm0qdv8as1dlvn7q56";
-"fei.doc-4.10.1"="f9mk8z9y3fcr0w0c84g0d9k4wm8c9jqa";
-"fei.source-4.10.1"="ffcrmng6846ww2z01hr9bb25qmc0qsqa";
-"ftc-notebook-1.1"="rmxxga464shdkh4v9c4kk1ihxy9vsl49";
-"ftc-notebook.doc-1.1"="l3a2q406sj7pvfhgw2zsxfyk5qyq0dsp";
-"gaceta-1.06"="gkwy4pkpzmykxm2rqldpjfh5q5m87ca1";
-"gaceta.doc-1.06"="zbxs7kz33kbvx4g5zykh33zn2g9z2cp1";
-"gammas-1.1"="40731ddy53sm4w57jw24xq0hj6qklqsi";
-"gammas.doc-1.1"="vfqbbxpql32gkxjspmrqkny7rsxw7hqg";
-"gatech-thesis-1.8"="q85fv2ikl3ikw9ja5j7sgygyi6v1x2kp";
-"gatech-thesis.doc-1.8"="q97libi0drg6plfjps8p9fd7fxbxg34n";
-"gradstudentresume-38832"="bmmfv6i9zhk617r9a59yz4m0g14s1q1b";
-"gradstudentresume.doc-38832"="xw0w9hwnyhb6xszynfvz489c9j0vyxsk";
-"grant-0.0.5"="n25rm5asji0fx6kkj9n730v1i89ki97a";
-"grant.doc-0.0.5"="fw57a585095x7iszbwblzxb3zkjbxdns";
-"grant.source-0.0.5"="r7hk7fmqdm91xd2g94jzgv5cp1c09y7b";
-"gsemthesis-0.9.4"="jhw29zl7f93xh641ws6ydqh62cv1kbbj";
-"gsemthesis.doc-0.9.4"="3nw8q8pxsfdbd4gmly0bg8ig15ccpy1q";
-"gsemthesis.source-0.9.4"="w1k5h97pgahsar4r1sbg6i2dj4npr6y0";
-"gzt-1.0.1"="ijkp9ccl773y3idx94k36d9p1c3fmdhq";
-"gzt.doc-1.0.1"="lq06nyg8s12aksb2br4mggpim9sp6zhm";
-"gzt.source-1.0.1"="36gbqmrzlmsapigvjkgzgd372wq7pm6x";
-"h2020proposal-1.0"="sdm13gcvhga8q32ai16mnz2rfsnwb7bz";
-"h2020proposal.doc-1.0"="8nsjvgzyw9137ncq9v48dhlncb10snyn";
-"hagenberg-thesis-56798"="q22ijqqwcxl09k2b7p3hqmn1dxk8h5yk";
-"hagenberg-thesis.doc-56798"="i1nfmw31ssxmn5s0dyybymlvm14ij7hg";
-"har2nat-1.0"="yn5d36r1lnx5xhrk46laka9crikcd5yl";
-"har2nat.doc-1.0"="8gh35w4a8j117z6dzy9p7mmbxsh789zf";
-"hecthese-1.4"="8ipql2rwzwaaqc9az5syb4ny89c75d3z";
-"hecthese.doc-1.4"="aily0d12b24n16ah6d4chb96vvh2ppwb";
-"hecthese.source-1.4"="2m08qjacg4y5rvk16pfyyya1yiik7sry";
-"hep-paper-1.6"="dil9g6bmnpsdfhvxk57gc1z19sdxlqwi";
-"hep-paper.doc-1.6"="nciggxz3kbil9vka01npln99bdcc7yhh";
-"hep-paper.source-1.6"="mppyxf3mm5wdaxzr6zlzw0f9i7nw9vdh";
-"hithesis-2.0.11"="drsv1qaj1wnzsnl1kqzq5k8c4g00xi0m";
-"hithesis.doc-2.0.11"="anqnh1ra6l9fhi0xmgks1yj46zp58irp";
-"hithesis.source-2.0.11"="a7nrjypxwi5m6l49paqc182jz5yh96f1";
-"hitszbeamer-1.0.0"="d0wbfsacf7bddq6h4hk1d9pgm108bsdh";
-"hitszbeamer.doc-1.0.0"="pnv5g2xwjnlb9v1h9a2q1iqpbyi6rjb3";
-"hitszbeamer.source-1.0.0"="7hfpypq95z6cj5jxvmhnmwsclw6qmvmk";
-"hitszthesis-3.2"="q9kd5k3yfv9wxzwawqm73fvpxb9q1nbx";
-"hitszthesis.doc-3.2"="hna1361zmxcxv579whhkidgq3ydqnzqn";
-"hitszthesis.source-3.2"="wxvimwcr2wjmqr4f53pkz9mfwjabx25h";
-"hobete-27036"="k2agw9n4s8imsfi399r1n3v80sdxc41s";
-"hobete.doc-27036"="n60jvwc9ca27sxbyjam8jpp6b73ydc4g";
-"hu-berlin-bundle-1.1.1"="2fdlh1pngcac1bmllvbmw83dqmc1i50s";
-"hu-berlin-bundle.doc-1.1.1"="y3yczz5dk5k9mibs1530934sgh5argwb";
-"hu-berlin-bundle.source-1.1.1"="4cim2cvm6jplzj8k1caiqyhjsqvq5wqq";
-"hustthesis-1.4"="f7wr0296h2a3i6vahvrxysl7dr03sihs";
-"hustthesis.doc-1.4"="jknn279nybf7j78y4s99abb6znbkif9w";
-"hustthesis.source-1.4"="j828cim80xhwzjvn6drhy5qzr8sx87w2";
-"icsv-0.2"="3k7if2nxgb8zcyr7j29v3pxcqcyygg3k";
-"icsv.doc-0.2"="n714ksda39kc8zsqd1x7lnq3crg2w6fi";
-"icsv.source-0.2"="h08pzrpgwn88gz0d6kyrvnyjrra6f3vz";
-"ieeepes-4.0"="xljj9w5kx7mxhv9q6dgmn23wkijvjyqg";
-"ieeepes.doc-4.0"="n7wpz8946kfcd7a4dnx901y40vjbynxi";
-"ijmart-1.7"="nh0kksmb0z5k95s15bwxrbqxxnlq81l2";
-"ijmart.doc-1.7"="b88j6a249p8f9bp35a8p019l02s7lbfc";
-"ijmart.source-1.7"="y5wyzz6jr5lp0syjywlvdpb3s02cb7ks";
-"ijsra-1.1"="zj3pf34flbmdy98fzmshxdwhsm9gypb3";
-"ijsra.doc-1.1"="pmw844flk212zpdvcp026c63snmasbsf";
-"imac-17347"="w4g9hwgh6wvbhf5v8xfjcba6chqlp32z";
-"imac.doc-17347"="5qid3adma0486l4li4mmrgxl9lykzfz3";
-"imtekda-1.7"="rm2w2mx8mxzxjwgsw6gk0i64c2wb0yxa";
-"imtekda.doc-1.7"="m50cfbqcjz4ylda5myzz4idaqfv40nay";
-"imtekda.source-1.7"="wrx5ndn59k0rlz19iq8r4fzb4yly9hr2";
-"inkpaper-1.0"="iabllzkp6m8p3hvic3ajv5b3d6l511g9";
-"inkpaper.doc-1.0"="2hn02y78bnp1w2czqxfrsi2wrmpjn11w";
-"iodhbwm-1.2.2"="2161ysz3fr6ipycjag3zz7rr6ip4pny8";
-"iodhbwm.doc-1.2.2"="4ncbw0vcaxf3bic32ih1znlf3rljbvhz";
-"iscram-1.1"="2pywqaa72mb216nmzl0w8cr74vf200cg";
-"iscram.doc-1.1"="0bd1j3dqs4kgsdaag5wkv7n9zci8qgda";
-"jacow-2.4"="z7ag0qa8hzbihrqij6dha0hm4nkp14vp";
-"jacow.doc-2.4"="c08j0j2lc0awnk2l9bcx022wcxzswala";
-"jmlr-1.28"="d4dsidg0avjbflvc2gdx6rr48bhrbw51";
-"jmlr.doc-1.28"="w52w3cf4n9dbchs8br6xlfnwjyrjbm6a";
-"jmlr.source-1.28"="2q4bm66ql7grambkhcjsy7qifk1hpz98";
-"jnuexam-1.0"="i5nabjrqbv9q7cf167wvqs2f3c1sla26";
-"jnuexam.doc-1.0"="h7qal4ph3b0fwmasah44ihws53zqjih0";
-"jpsj-1.2.2"="xpasajag9rdz7nr5xk7k40g181lyc45x";
-"jpsj.doc-1.2.2"="994fxd5c7947y4s7g71i7031l72qj26b";
-"kdgdocs-1.0"="i0v1kfpnhn5210jj5vd2pyi9s9h1vhmr";
-"kdgdocs.doc-1.0"="0gfi3rfrsjaw25g7mxk7mai8mxy968m1";
-"kdgdocs.source-1.0"="dcafx36f7id055kdwvfsci6wq2ya50c8";
-"kluwer-54074"="y63q5nz0rhxlj362cbj5a4x3wm8imiri";
-"kluwer.doc-54074"="q85mq4id3y04wwq7f8is8lwh7gbzyxxn";
-"kluwer.source-54074"="q4k0f4qgzcxgnxblw1776dhk57i2zq6d";
-"ksp-thesis-1.0.2"="244sggimcsxbqkh6g9nndxvdvr6agqvv";
-"ksp-thesis.doc-1.0.2"="jngi4gfc4r6dkp6xggyg2s05zj38s1vz";
-"ku-template-0.02"="9b1vsd98aqc0b5s33r3z6ayj7ph0lcj3";
-"ku-template.doc-0.02"="067zqymqvljm9ras3a48glc0clfkfwkk";
-"langsci-58476"="463r1jikan2ybp34cjsidb65v7wlpw1l";
-"langsci.doc-58476"="83d8m3pr774kq5x43d2yc8h85j4r6jc8";
-"langsci-avm-0.2.1"="asl3mj4jznkw9zx0qbh73jxxgilkc1s7";
-"langsci-avm.doc-0.2.1"="l5p3s2falcipv9i8zlq3ycsrz6awnf77";
-"langsci-avm.source-0.2.1"="g4dk1j1bcr9nfdq5y719hxaqjh4qq3ph";
-"limecv-0.1.8"="glh4vcp98llwl6ll250wrgkxcw3pa9jb";
-"limecv.doc-0.1.8"="ipr8igc8h0bqm6i884w4nbprhsx5fr9k";
-"limecv.source-0.1.8"="zi78lvpf0qylhawynlzvhdcyq8bx7sg4";
-"lion-msc-0.30"="pyi5ib4528wkrj6hz3w2yv8n7fyjrb9k";
-"lion-msc.doc-0.30"="z6i11awv7drrf7absxkichwc0crzc9c6";
-"llncsconf-1.1.0"="jjhv89zzq8gyc275vj2r8k2slgyh94r4";
-"llncsconf.doc-1.1.0"="pfh5rgaqmiz589sim212gxq3bh1b7hfx";
-"lni-1.7"="hq9s9czcw4avqf8s23gqri397qaqvwl5";
-"lni.doc-1.7"="f8b3fg67ihlam3vr1m853yd5yq3vq2sw";
-"lni.source-1.7"="ns083clbixw9aj57z9zl2qwbgfvy64lr";
-"lps-0.7"="njaym8455i99rr0vplxlpn95cbp8sv9h";
-"lps.doc-0.7"="9qg688yrg4lfkb284shpgan08vfi5sxn";
-"lps.source-0.7"="d2jid2g08c51lpixvbqp13hkvmbhw2f2";
-"matc3-1.0.1"="1r8svk9xpxv518j58xxrkfpy3lzh3gs6";
-"matc3.doc-1.0.1"="9kwpm6ah02zhwgd5gfhqkk0csba5h401";
-"matc3.source-1.0.1"="cnlk2ffrjczw23mssgwv7i63dg7w3j19";
-"matc3mem-1.1"="1w8m977ngbqivnhlaqsf6bvn7yngg3hg";
-"matc3mem.doc-1.1"="y6b8v00dhz5xg56kz04jql3rdrl0v5n1";
-"matc3mem.source-1.1"="3n9x1jfgrc8jigj8w2bmngk7pxqz9v29";
-"mcmthesis-6.3.1"="yx590n1qwxski5c3ha5a0p1zhl5nz8zz";
-"mcmthesis.doc-6.3.1"="hpbx9mn6df9nkhcr7066qqr3cf5xglb9";
-"mcmthesis.source-6.3.1"="g47kbm3y491m8m16hnlh5mpibmy9s8zq";
-"mentis-1.5"="nfpcmyxlg0gadqj33jnxji3nvs5fni9l";
-"mentis.doc-1.5"="vnj4lk1vxc0c0710jb21x3vskppk9c86";
-"mentis.source-1.5"="x8djid957v6324m74fn1m8l9hcp7mr1g";
-"mlacls-0.9"="2fkxkj9cwy2j2c3fsmrx9a7rj8idjbx8";
-"mlacls.doc-0.9"="qarilny8mbhr93jkhishz96ly84154m2";
-"mlacls.source-0.9"="5v52krplb9sqsk83zilcdp2gnf9kn25m";
-"mluexercise-2.0"="55nqdha684dmm0f8360zvz4wby202h12";
-"mluexercise.doc-2.0"="7ha9qpaz3xrq3q7c7d8lbz0xf0vklw87";
-"mluexercise.source-2.0"="9q1spi4fzz2yfzjr6q32ypr4ghr9lip9";
-"mnras-3.1"="782c0f5jafxl0xys89wp8f0pw00b7rh5";
-"mnras.doc-3.1"="cb0rhnjpawgc9i4hamgriy746xx4v42g";
-"modeles-factures-belges-assocs-1.0.1"="yildlnjq5szbsvis65ph02bvvzydgldv";
-"modeles-factures-belges-assocs.doc-1.0.1"="ni0ac0babnajp9dlxqgdvazmrx8aixaa";
-"msu-thesis-2.8"="0d0607nv2nq2s2cw64pmkmkhkmnglv8k";
-"msu-thesis.doc-2.8"="lq84fa70s7gpvnllfwrn4w9cgxmgzcpw";
-"mucproc-1.02"="d1xzqp0nvkk4zdf1zcrhngvlc0q412gp";
-"mucproc.doc-1.02"="zpky6iahkhynyv72lg94ankg9wn7gwd7";
-"mucproc.source-1.02"="pxysp457kvf603nz6lwaj55cmlc41n0m";
-"mugsthesis-34878"="cfkw21f3xy6pchbq7ryw2df8bdssilc5";
-"mugsthesis.doc-34878"="xqm757zbzxi9ag50dd22274bk5n1897h";
-"mugsthesis.source-34878"="6awfcfhsqggxvxxxmfbi77pa6bwchg79";
-"muling-0.2"="0isshjwygamwvdgx9lqz7wjrrcq9wk5a";
-"muling.doc-0.2"="qivxsrjaiyizrk21g7kn77lkzx87wjxb";
-"muling.source-0.2"="qyvgpl8wxl6rbwl245mc8parwq1h9cd1";
-"musuos-1.1d"="v0bx55bnw5lcpq1w0zxfkf1hlxahxj0x";
-"musuos.doc-1.1d"="iqviyy26inh9bw04maby457bvxip69xw";
-"musuos.source-1.1d"="rx3zcmp2mw88f3jxa0igajz4dzvx135m";
-"muthesis-23861"="w6llbyp3d615mpjazf9i746acl0hqvpb";
-"muthesis.doc-23861"="776dszqb0k9nffhnln310dg20n4z0dlr";
-"mynsfc-1.01"="j3jb9xyv9javnbk9r6fb11ygnd9ygpfx";
-"mynsfc.doc-1.01"="5zlf94gdmkxg37zdwq04w4pzfgransf1";
-"mynsfc.source-1.01"="zzmxbw2xfk91lv6isc6raqnqmvk4da6x";
-"nature-1.0"="147ghy9qhv5w2p0rh84wrpdgk5cwrd1y";
-"nature.doc-1.0"="lvavrpl6wrkxpsidgbzil8g117kkwdf6";
-"navydocs-1.1"="kn549s2m1h0i9ir8q01il9ww3yw05wx0";
-"navydocs.doc-1.1"="72l419vyq79lrhlflxnivg66b9vkbx5m";
-"navydocs.source-1.1"="xcwc5yyvhjhrdjrj9w9prp72mpqlvq3r";
-"nddiss-3.2017.2"="gsqqnmrgc27i78c6s4y1zy7i5yi66yix";
-"nddiss.doc-3.2017.2"="p28y66qyk1zkhmp6f11rkidfjmvpnlgx";
-"nddiss.source-3.2017.2"="7kbka2v5nsdg4wfrv69zsx92rrlax0zw";
-"ndsu-thesis-46639"="l4dsamss5kpl272pbmj720jc6zlb4lij";
-"ndsu-thesis.doc-46639"="6hbh7hl0nwsijq545vym7il5wvrzlbr1";
-"nih-15878"="cv6rcwrnq8rpwmmxva32233isckys2md";
-"nih.doc-15878"="n3j1f7kbygyh0ljz1796b0ywkifvykbh";
-"nihbiosketch-54191"="da0kk90h0paw6wp0x43cqcfm18bh9ajz";
-"nihbiosketch.doc-54191"="l6nx5x7lb8sqfbmac215xbrn36ifx6fc";
-"nostarch-1.3"="5ir7wwqflr7ac9wdz3qq50232lrxk79r";
-"nostarch.doc-1.3"="l4v9sg6lhii6m7z83ap9fghjkzhc1d6k";
-"nostarch.source-1.3"="sn4i3aqmh4r4yfj1dq5ipqyy4424kns6";
-"novel-1.52"="pg1ib5l593diyyb06v6wwvhqny32qm7z";
-"novel.doc-1.52"="1dz1pcpd89kkcbzdqacyk8ck0ik75qra";
-"nrc-2.01a"="pwgmkqwj9nh6c5ibhgz0gx4fha8y4mfa";
-"nrc.doc-2.01a"="y8ga6db77g42jblz5hpvk3vhcsj6zczs";
-"nrc.source-2.01a"="14br9wclpq3sfj0gcb8q3ws6nz3ws7jw";
-"nwejm-1.0.1"="3fknv24xiya3zh0hw1g11pdsmrj0sh2z";
-"nwejm.doc-1.0.1"="v165fvbi89psybcyn5mljypipajbjvyf";
-"nwejm.source-1.0.1"="f9ipn4afbi8gw1l0wybmjrhzr82wrk2y";
-"onrannual-1.1"="zfqaz0fi36py1y5izbphl677ny5mcrl6";
-"onrannual.doc-1.1"="hxdcfp7y4lcpc2j1d25sx3p0nga1435h";
-"opteng-1.0"="fnx8hnwcpahlkw6h2q1hbnkwa3kfr477";
-"opteng.doc-1.0"="24dy7xc4wlz223svmhsv4k05bw6b12af";
-"oup-authoring-template-1.0"="2wa7y11p3lzyq911n8ybd893mwcl2w61";
-"oup-authoring-template.doc-1.0"="lr5ckdwfcnh1if3myqirjpk4yjij25yi";
-"philosophersimprint-1.5"="4xvmqn3dbqra0mxkhpgagsgzrkmczqpm";
-"philosophersimprint.doc-1.5"="hxcldbndvc7biy3fh16f4s6ka093n7sl";
-"philosophersimprint.source-1.5"="kq0i9n14zcvj7cvxfr2nxqspx86585wg";
-"pittetd-1.618"="1jjhfr2c6ycp2c6r3kg0y4fziq3vjpv5";
-"pittetd.doc-1.618"="9394r72nr766i8mnb24s4qr4jp15jci4";
-"pittetd.source-1.618"="s0apvlg01wkfzhzp5cgy3jwxx9z14469";
-"pkuthss-1.9.0"="2311vivn0k3r9ff07dpw62g4310amsbl";
-"pkuthss.doc-1.9.0"="k6ak8r0wqlyll8laqwwz9yhs1jf44pvw";
-"powerdot-fuberlin-0.02a"="2wv4gd2gi1xvzmy83cp701hd7971xdsa";
-"powerdot-fuberlin.doc-0.02a"="jzdfhb0xjlx0cffp8ma18r99lvr26l2z";
-"powerdot-tuliplab-1.0.0"="x7ygn34dsmvncmaps2skxfqdakqkp4rz";
-"powerdot-tuliplab.doc-1.0.0"="s41i6f75xbl8wmnsblyrpvdbf1awbanr";
-"pracjourn-0.4n"="iv8vll5az565ki1vcjpacrcb369z2g4c";
-"pracjourn.doc-0.4n"="kvvb2vn1z5phqxy9jiwgj9rgc1fpabhj";
-"pracjourn.source-0.4n"="vl8rarvx6whc3ph6pw892ldwiwzvc78x";
-"procIAGssymp-51771"="ni8xr0fdn9skkadcn1ipadbxs388vl3w";
-"procIAGssymp.doc-51771"="q662hfdf9br5pdya5676ddxqg8dnaw0r";
-"proposal-40538"="3nnzzlv4rcr3v671fipw679yq7ndbw9j";
-"proposal.doc-40538"="hx9nsm0fidsia9v6iki5l4cb500kjm2k";
-"proposal.source-40538"="3md53b23cqzdhjyzk2hw4gsjr5flngfw";
-"prtec-1.06"="b6kj4hm66hp9hgpvjq9mpd3a0f1a53qm";
-"prtec.doc-1.06"="g166iaq7ifcqa9qg4f3010vzv0j06j6f";
-"ptptex-0.91"="w61zrgirw5as67kcbi3yrx5pzpw7dj36";
-"ptptex.doc-0.91"="h0fi9wq2asps1aiwkvrwj93dkzzhclsy";
-"qrbill-1.02"="q9j60z5d39s257n5lxgphddh4z97gy9k";
-"qrbill.doc-1.02"="4c5j18c0xbcgfc6l5ca3w82kvgkbn6l9";
-"qrbill.source-1.02"="m0bdpkmpqaqlpmbvycw0ksh5jzfjj4av";
-"quantumarticle-5.1"="5azgk8assb2szsbfhb8sn30qmn6b788q";
-"quantumarticle.doc-5.1"="y5mfn12rhzl40l3cqgsry3d1m20vspwa";
-"resphilosophica-1.35"="vaxdd2gghalbbbikxsyw92fhnx3wn8d9";
-"resphilosophica.doc-1.35"="xwkcpdm9bn3vhfazhbx7fxibz5shrild";
-"resphilosophica.source-1.35"="7wysrjs5ynmpadf39vkj2asysjvchqmz";
-"resumecls-0.4.1"="v8mlhz9k24hmg3adc5cm36q0r6w27djd";
-"resumecls.doc-0.4.1"="b7rrqz2wiqk1p6j5z98zv5fx9l0fx553";
-"resumecls.source-0.4.1"="6s1lp1r2rj7s09zn0mv0q7km5hg2k7ki";
-"revtex-4.2e"="gvycjcrz1mwk90nwvjcxh4v9ns47h86a";
-"revtex.doc-4.2e"="6yxfb4rnc1l4w5df87jy4brg6k3sl9cl";
-"revtex.source-4.2e"="a63dzy06kgm7yx7hn0mskgg5mi2rq9ng";
-"revtex4-4.0a"="rhwqsl7592dlq4v6358czl1snpniklza";
-"revtex4.doc-4.0a"="lxy7zd4psfb13cwanc27hzxn25m63g36";
-"revtex4.source-4.0a"="3k4pl2zhp02mzxg40rlyl9vn6g6hfy76";
-"revtex4-1-4.1s"="bnfssyj79dpmf2fmn6c1kdliss77fbd5";
-"revtex4-1.doc-4.1s"="wpdqka456ns2cgw4ys4gfza2kxbhxyc3";
-"revtex4-1.source-4.1s"="71g5nhzjhqx0k81kwkz2dglfgcsdvqa7";
-"rutitlepage-2.3"="66nf7llsknm6xx2m7yi8hhqp31x3l5ls";
-"rutitlepage.doc-2.3"="c01773xskk6bzvkf5yyjhzvb4b0s2vsd";
-"rutitlepage.source-2.3"="f5cb6hkdi9zw91gil1hph1ksc14l6nma";
-"ryersonsgsthesis-1.0.3"="r85jm6nwl0b859778cxgpl7sycd6b7kj";
-"ryersonsgsthesis.doc-1.0.3"="h7cq92kjyqpsbbaqc25rnmw861xrb6rl";
-"ryethesis-1.36"="vvsqlw02q3ivwlzw3rp0x6vhfdqvfhda";
-"ryethesis.doc-1.36"="xpba1bqp48y0q99kn8w504pzj3176nf7";
-"ryethesis.source-1.36"="4dddvz7f28pbzyymssgsilsyig9rzp45";
-"sageep-1.0"="3jzsiq3wj7wwhlhzyqmi78lv6vin2kk8";
-"sageep.doc-1.0"="px3f2qx88xijb5jyd75v3sxkss671ppa";
-"sageep.source-1.0"="j5qj2vr800891ccgbvgdqbnfa0mxj4n3";
-"sapthesis-4.1"="63dcp1gxf0dhdrlzljj5267j83q97pd5";
-"sapthesis.doc-4.1"="mra57v29ah4bjcmngl3h1vyg5c2z9imd";
-"schule-0.8.2"="k0jnqi4zavamy5fxr41ah8jlfva3xcvz";
-"schule.doc-0.8.2"="6q4yghqfys34pvns8gc1k1nxaln4zn4m";
-"scientific-thesis-cover-4.0.2"="g3c3y6l5nb34vmla06bry9nipwjwcxcs";
-"scientific-thesis-cover.doc-4.0.2"="zzlsbapfhvlfgry78cc63a1l9d6gf66c";
-"scientific-thesis-cover.source-4.0.2"="29sksgy5611i9gwmckxmyypkkk1r0vpv";
-"scrjrnl-0.1"="q5rd79j19g0jgafhxj3wc62x6y16378w";
-"scrjrnl.doc-0.1"="s45malh0680ffbg9x0gwfah9c930036w";
-"scrjrnl.source-0.1"="kif8v92z8sn21h0ddw05rm16q7dbz5iq";
-"sduthesis-1.2.1"="dj4596idsn0am4yjhvknm7n70hzdyzqi";
-"sduthesis.doc-1.2.1"="xmznlf85vkps6cwk7sfc4g5arkcs6iaj";
-"sduthesis.source-1.2.1"="bz1cx41qazpy7bfpcgb5xnhk4wzhkcif";
-"seuthesis-2.1.2"="f8djm6sdhwky5kk6vmfrc647rvl3vd70";
-"seuthesis.doc-2.1.2"="kbn5zb8qx89sp8m2q99caf1qn8v29hd3";
-"seuthesis.source-2.1.2"="8r9akmgz64d70bf1mdpq856xw6w9h8jn";
-"seuthesix-1.0.1"="mh346k6d64d1bhhznzsrww66sppysbrh";
-"seuthesix.doc-1.0.1"="a2mghdhdxd7l2rsd5midfibcwsrn7n4z";
-"seuthesix.source-1.0.1"="skmm8a9h0jvgdwn0bsx9fnvwmyf94mz3";
-"shortmathj-0.5.0"="cp2lz1q0ixls61gl73gms3sph283jfbj";
-"shortmathj.doc-0.5.0"="s1q3wc3ff6aj9rfs7qylv31rv7mwriw6";
-"shtthesis-0.3.2"="6qfiimmgbhv0081f0ych2kfrdzrqg64k";
-"shtthesis.doc-0.3.2"="3zw2nvl5i2xsrx7fanwvajj0xgwjg1rc";
-"soton-0.1"="25iyg10d05ahygjbhfc6g6ydiij3isw9";
-"soton.doc-0.1"="5irwl7khvqcx0siw7wcasicpxzj94cgb";
-"sphdthesis-1.0"="i5i9nf7bky3095bhxvmmvxwca4mf7ai7";
-"sphdthesis.doc-1.0"="nx5kpi9s03jwv5g8adqrn5l55lyqc9hd";
-"spie-3.25"="fj1biarxwagah3b4l5r9p498qwd70yar";
-"spie.doc-3.25"="dgp3in09igj011041akydwgnsw10m927";
-"sr-vorl-1.1"="aspxka23zd8rlwxlvjvw6wlwkg38rj66";
-"sr-vorl.doc-1.1"="y9m89lwhx9rwd1k0w2bgwh5ip64awx41";
-"sr-vorl.source-1.1"="5zsgq5m3fkjip7qr4zkx51j54j4q5qpq";
-"srdp-mathematik-1.9.0"="01agxwklq4nxl0s9b5xy4i0x9zpslayj";
-"srdp-mathematik.doc-1.9.0"="3cxd8dp8xjm4xhqlsg2qfckl4laasmca";
-"stellenbosch-11a"="s0wddhmfp77y6v54qq4jsmqidjq3bkqh";
-"stellenbosch.doc-11a"="97wbyj0mg7phb66ngkf82ziiy8v624b1";
-"stellenbosch.source-11a"="0raanzzc5qjay7gz94himx8np0437pgb";
-"suftesi-3.0.2"="w0vaky8717l4q3xh4nx1xm7v7pj13kv1";
-"suftesi.doc-3.0.2"="bdkyxrmqnj564mm52k8nh78c0sbsa2i1";
-"suftesi.source-3.0.2"="nyh8fqb1989q149qf5swn9s5l26ivn47";
-"sugconf-58752"="mky5jzdc0y7w2miadq2gfyp1q6vlwq1h";
-"sugconf.doc-58752"="0cs7yqry99cc6z1mg7f2jkc93n8b3fxd";
-"tabriz-thesis-1.1"="psrla5z8x9icyxgdqnxpiv2vjnbq4rsq";
-"tabriz-thesis.doc-1.1"="h5p0nj2wp01pdmjfwbcdp5fnwhvlrrrp";
-"technion-thesis-template-1.0"="shaxw3mp0bjmq2lg8a82bs1ddb48dpfk";
-"technion-thesis-template.doc-1.0"="8kkfqc0f3pkn9sm84zw2iqi133nr2sy8";
-"texilikechaps-1.0a"="v3x5w1a3lblqc3pks3yzychj64rvr67l";
-"texilikecover-0.1"="fn8g82q7mvdqaa3i14nsc95wjlp0ziyl";
-"thesis-ekf-4.1"="qx6shfmc4wc23xl68bvhyxj6iyy7j4gd";
-"thesis-ekf.doc-4.1"="4ljavrr21zd0d15n7r51md5p1v38s5vm";
-"thesis-ekf.source-4.1"="ixbb50g799akwc8c8vwjv44y0z1phfr3";
-"thesis-gwu-1.7.0"="lmgwrdny0kp9p8ldyyxg8521vmhngjpb";
-"thesis-gwu.doc-1.7.0"="2c219vkiy9h43v2jpaj69hv9lwh7m4v9";
-"thesis-qom-0.42"="rnhdvsrpsgjbwih0ia9r1h4kyqdrhg6x";
-"thesis-qom.doc-0.42"="gipmj1b9xh8y2zj52l7r28j0l3g8rnzj";
-"thesis-titlepage-fhac-0.1"="dmyydjxrj16hf8gh7qyp564d195kzmwp";
-"thesis-titlepage-fhac.doc-0.1"="g4jw0jyl09vq4hglb14jx355v9kli1bx";
-"thesis-titlepage-fhac.source-0.1"="zp492p2j40bpphwr3zhjcqiwnj18yk56";
-"thuaslogos-1.2"="jr4nwbd21jwglz99v1aqplzv2jbpn10v";
-"thuaslogos.doc-1.2"="i352h1s47cdbj957kz6c3dj3kwb7rj11";
-"thucoursework-2.6"="mvwpfacql0xna37vqa3q7dkrwkzqnpvj";
-"thucoursework.doc-2.6"="rg2y6dx27cxw5h1y0zifciy9wn2f63l5";
-"thucoursework.source-2.6"="frk70dd03ld969k7l6s1vc38vqkdclh0";
-"thuthesis-7.2.2"="0yxl3ffvml30kzwzas0ikbi6m0a73a2w";
-"thuthesis.doc-7.2.2"="zbnzcwzisxs6bpl5h1wwc9964rds1x0k";
-"thuthesis.source-7.2.2"="78hy4h168zj65kwc1qj7m35pihyv32fy";
-"timbreicmc-2.0"="8mnap2xvfny35sb0ziq5xhlckwcmgb3w";
-"timbreicmc.doc-2.0"="b649dhjapj0ani2as7783bphamp0hwsq";
-"timbreicmc.source-2.0"="8s3vn2id27cl1164brvkrxg96ggvgb3v";
-"tlc-article-1.0.17"="qh69ly6l3pnz0a6a5c70b5jhzphc2gk5";
-"tlc-article.doc-1.0.17"="aanq53h9in5r73qz4r1g8p5d9irqz2pw";
-"topletter-0.3.0"="01cmbaxzr5fsmwsz8y5l9xfdi43219zg";
-"topletter.doc-0.3.0"="ygpvdw145lnyllcwh8yv4pcc0ssydpwm";
-"topletter.source-0.3.0"="f4lvw616czlsqw7ic5mlwq583097j7ls";
-"toptesi-6.4.06"="f32mdcbb85b7dja6cvhc6h0b111i7h28";
-"toptesi.doc-6.4.06"="rx42mn8j2fy5qji2xmi41a85wii0p1yy";
-"toptesi.source-6.4.06"="9am8c6ps9if4zlbcrld528hhgk9j6f0d";
-"tuda-ci-3.13a"="5n5zm0jsbpq7rldd1zznnsp5hdycvqfk";
-"tuda-ci.doc-3.13a"="c2715rljfxk5wq6kwhh7y9wvf5wyghnm";
-"tudscr-2.06l"="sxvm69k0mada5m7m1m290x3s6dvvqhvg";
-"tudscr.doc-2.06l"="hpjfmd60ay9xw060pgk56ki110fzsz9h";
-"tudscr.source-2.06l"="8v9zbd8grv9hldyb04rd7x53hcwsbpia";
-"tugboat-2.24"="9c3ipn2fzwrf0w21mih2ld7j1z1w7i0w";
-"tugboat.doc-2.24"="g6vmgk9zria85cc38khzz1kk7x0s5a4m";
-"tugboat.source-2.24"="6kpj4a43gk6ww8hc434lipc04l2k3abw";
-"tugboat-plain-1.25"="hdp8r703mch4096qy67y5zqjma848hh1";
-"tugboat-plain.doc-1.25"="36nn5cxa1rms40af14c7bbxrkz8y7q40";
-"tui-1.9"="s71xp2jz0v4wlvgvx9f9r62i2clj8grw";
-"tui.doc-1.9"="ddway3iy2gx447ypp2cd4vlvhjvnlh0l";
-"turabian-0.1.0"="mkjjkq2fpg1lipzwqn7k0p77j2i3znm0";
-"turabian.doc-0.1.0"="b1pxcnzj5k4l9r571yi924kykw4wk7vd";
-"uaclasses-15878"="d8zwjxcvgb1rnfv239xwf1qblqpzk32c";
-"uaclasses.doc-15878"="mv9hypafmsgnh5pxl2n0929ib8zgrda0";
-"uaclasses.source-15878"="mzvrcc6gvds2bw1a7cdkjd5n9dm3gczq";
-"uafthesis-12.12"="8qdm4v22s3r9g8q16sjnw3bzx1j9w16a";
-"uafthesis.doc-12.12"="d1nns5qzwkrywy9cghr19i70bp16fvw2";
-"uantwerpendocs-3.2"="3l55p7996pwh2mqc7k2qkgbsyc4kmvg2";
-"uantwerpendocs.doc-3.2"="nvj1596s20n62c3k8yn6a8f1gadqpgwi";
-"uantwerpendocs.source-3.2"="z1304adgkdwq2krq7m2v10i024x0d125";
-"ucalgmthesis-52527"="ijbimiv9xjwlxwrawqzw82f8ycahxwwj";
-"ucalgmthesis.doc-52527"="rbi9mvqdixa2wk7ankfw7l3vy1pf83j0";
-"ucbthesis-3.6"="3wa2xk8yvyh5hwy0d41p9fdrxvy8y2iw";
-"ucbthesis.doc-3.6"="lr9w29xp965yydg4mk93rpq4d3808ksa";
-"ucdavisthesis-1.3"="naibrb9h1lg8y22j26wygm9zxcv3rfc2";
-"ucdavisthesis.doc-1.3"="0mgnn8l7wwi7mhaqanfsrkjwydm8m2gz";
-"ucdavisthesis.source-1.3"="nkag4al3xvv8xnns5gspsq1ix6bii31p";
-"ucsmonograph-1.3.0"="p73dkv6qazqwbn7826iyhbhkl1crlmbj";
-"ucsmonograph.doc-1.3.0"="4h30qzw3g5svyrljfdbvzh76pgpj3m1z";
-"ucsmonograph.source-1.3.0"="cdw1jffh4my2qisxgls1qvbw422c107n";
-"ucthesis-3.2"="kbq1nnk6d3vk378kk5wcwpzh93y8xv08";
-"ucthesis.doc-3.2"="515r7ha1aq9f0zxlgiz2zv2aph460aad";
-"uestcthesis-1.1.0"="h0cz0i3vnalcc3i77qhb941yymg6bl2q";
-"uestcthesis.doc-1.1.0"="7w5wa8z24nrcsd9gfba6ixwq5wi4jp23";
-"uhhassignment-1.0"="0dv6x7f2zzvgqd104aak9j360pqwfy1r";
-"uhhassignment.doc-1.0"="c0impmampnwvrisg300yrmc4zh891r15";
-"uhhassignment.source-1.0"="59yahjzr20xn4j3lnjxf17dwr4vsyy1m";
-"uiucredborder-1.00"="qmpx3zbgnl6224cyigggmsp8a2vndjxv";
-"uiucredborder.doc-1.00"="vc4l9nvnvlfsn44vr48s4irjwaifg8wr";
-"uiucredborder.source-1.00"="l9b35lm36c8gnl1jd9mpxqk07j22b8d3";
-"uiucthesis-2.25"="62smailyn66fyhpdgrmjx0p9m0j0n12y";
-"uiucthesis.doc-2.25"="ygqpzgk5jslsnqa813k0l2nvw2j8gnwq";
-"uiucthesis.source-2.25"="lkq6bvdvm6ya5q5wp263zqkk7y4ig57a";
-"ulthese-5.3"="b446ranwjx8rc019hc595kqkq7811jfd";
-"ulthese.doc-5.3"="0xlr9ybx4nxzq2awbx0lwq456750s99g";
-"ulthese.source-5.3"="3klscdvz28ygk15l9f2pvpygxhnd0xwp";
-"umbclegislation-2016-6-8"="wjkna9qn6g0w0axsgpa80vc8d8jsl94y";
-"umbclegislation.doc-2016-6-8"="44hd3iax5vblcr03xxgxccmbrf4y5sma";
-"umich-thesis-1.20"="mgwbc9lzd25w17fm9j2098r6y0q1k688";
-"umich-thesis.doc-1.20"="726jjvvq6ps0wxlrh74wnj9gjlqf2d8f";
-"umthesis-0.2"="xsgr2p3cw7q2gv7b2sr6xvcp186cvsy1";
-"umthesis.doc-0.2"="p64jg8jns4xp4y400hwbbbzz2wbpsmas";
-"unam-thesis-0.5"="zd62jxiy95m9p7f5g4lkw4ccdjlknfb3";
-"unam-thesis.doc-0.5"="c6s27rsns1yqhdw1kp03q1z5vhp2wq27";
-"unamth-template.doc-2.0"="jn6hykpgd53yn4px4rp9yk0sp688dqi8";
-"unamthesis-2.1"="jvpbqfbpvrzbvs67r0phdrkrvxxjjcyz";
-"unamthesis.doc-2.1"="jfqnn8prn8x9p68k70b64zd1759v92ak";
-"unifith-1.2"="22rmcvcs8frdj5zdkram69ws513blydf";
-"unifith.doc-1.2"="4gsy6kk4w91df3pkz0wxqybr13jgbvj3";
-"unitn-bimrep-45581"="s3x065jkvzazjx24an10jbwj47903gjl";
-"unitn-bimrep.doc-45581"="k2iakhx4fkiz9ckglr1pvnrqday0sbnp";
-"univie-ling-1.13"="fh7pmppl3gz3p8gf4crrxccivlsqa2lk";
-"univie-ling.doc-1.13"="pyws8xjmzfxq455v9p25a5nrk7psk2wm";
-"unizgklasa-1.0"="pz93dd2qidcvdsa78zgl73s07zjgshs4";
-"unizgklasa.doc-1.0"="inphl2x3czqw7mw17if9ahl0jbin3dd7";
-"unswcover-1.0"="5bqxws27nxyhgrlc6c9k9v5pm8jvdhzc";
-"unswcover.doc-1.0"="9c32r1x4094k8saz0w3bcbca28vgl3zj";
-"uothesis-2.5.6"="zbf8swc2haqsdr7sibm4lz9sqyhbfaqs";
-"uothesis.doc-2.5.6"="fa35vj968ywcnj2vcbszrajxi92sh4il";
-"uothesis.source-2.5.6"="ppxr7m777ymzzcl34i9qsil0z859wdxl";
-"uowthesis-1.0a"="g346f0s4phiqykd0n27hgy7f3vh9vp6l";
-"uowthesis.doc-1.0a"="h9g1mwp55hj3jsqmn0fmpjm95g4139rn";
-"uowthesistitlepage-3.0.1"="27sk8zllk19qflnr5am2r0cjrx4n89r2";
-"uowthesistitlepage.doc-3.0.1"="wyz7yz7j3jp1v2z5vildp8lb0li8786p";
-"urcls-2.1"="lkzmasn52h7mfm2xcfxv9gqh64ic9gdd";
-"urcls.doc-2.1"="rkrvkvh23jmn7qhyvgnmgzr7qhyckjy8";
-"uspatent-1.0"="lqv4zrqgwdhav1075ym1wp3cmy7r3ahw";
-"uspatent.doc-1.0"="0pa1qihx7vyc5lfkzr7bbakkphzmxp2p";
-"ut-thesis-3.0.1"="nh3fvwxg90lgiwzk3d1cszbpg883pjhp";
-"ut-thesis.doc-3.0.1"="dkrfh7bklmwlvv5w7cj2qgj9bxnbak31";
-"ut-thesis.source-3.0.1"="b06l2wms746qads53dqd1d4z8g7ml52m";
-"utexasthesis-1.0"="dyplgpcmg18gjkxvnqzgs99lf3aj6yc2";
-"utexasthesis.doc-1.0"="x4ngw5sm9zm5w46l5xap4cwnygb8qlha";
-"uwthesis-6.13"="1z7cpyrzcb9ga77d9a58jm9234w2zafy";
-"uwthesis.doc-6.13"="w30d568jxqqwdfbrpm8s1i7ylssiz3gc";
-"vancouver-0.8"="i4g046vffvq9f8bfrzi05q21fyazvlr5";
-"vancouver.doc-0.8"="hnaysysqmahg8z5fr4ap4y9bmgdfv0r6";
-"wsemclassic-1.0.1"="8rl3dlv1f1vrklknkssldjnkgdwdcipd";
-"wsemclassic.doc-1.0.1"="n0wnf463jpcq8lbgk45h3924c4qm2r2z";
-"wsemclassic.source-1.0.1"="l4db45ax258zsrgvnw5gq0knflxx2nb5";
-"xduthesis-1.00"="qxvczdxndgw1n1hxzrr5scvnrgcl3q3f";
-"xduthesis.doc-1.00"="a58xwk250qq99pyz4rj2br4dqfzhhmxv";
-"xduthesis.source-1.00"="nw0j5z9vd83a3idksbq2338j8ir01fr6";
-"xmuthesis-0.4.1"="y598kfraksgxzjhiqnvpi44nkgy448bh";
-"xmuthesis.doc-0.4.1"="ryzi6wjgmw3kxar74hhdjazylp116a5k";
-"xmuthesis.source-0.4.1"="mjlyb6dl3w3gi34ld39pk5xdjkzdi064";
-"yathesis-1.0.7"="bbl0jlq6kjx19v35b55jyrp9pzhzmlfv";
-"yathesis.doc-1.0.7"="w6l8x4jlnc1p16p55658c5361ijnn6xr";
-"yathesis.source-1.0.7"="8nwsx86zk66rwc56xzf6zmfkmyp3p5px";
-"yazd-thesis-0.3"="583l53kxfnfb7s67fnh3n45lvqqww941";
-"yazd-thesis.doc-0.3"="9qw7byq6s1iv4kfq19xy3qm01l9vh0q6";
-"york-thesis-3.6"="rm9hh3b6cq902rr4crmv6c3z3ll2680b";
-"york-thesis.doc-3.6"="fa7z6lks54czsfd04igviykcij1h5lih";
-"york-thesis.source-3.6"="83mnkcdmb930lfh4130vcr82d5lp3f3h";
-"texworks.doc-54074"="gphjjma2ws68drzz6rmmj1hjb7bxc7ma";
-"arabxetex-1.2.1"="yfvy3m6rz45z7frgsw6cg8hk8kqdxfs4";
-"arabxetex.doc-1.2.1"="f8rpfy5hna1b6flvq6y2balxypjm6280";
-"arabxetex.source-1.2.1"="n7qncmdmzvkjxwn5d5nhwy3660ymvwx8";
-"awesomebox-0.6"="hlp6mahq6q1ysjgwlri6l4wszhm23na1";
-"awesomebox.doc-0.6"="cis8fkhcwr08nfv11g9l0iyzdlcmgrnd";
-"bidi-atbegshi-0.1"="qm4zcsccvzxixab9dalzvlwkniwckpjw";
-"bidi-atbegshi.doc-0.1"="lgp4qynjnz73qdhy543halrvx52gs2xj";
-"bidicontour-0.2"="dayiq858hr4ln8503y0xw8vqvfjjb91m";
-"bidicontour.doc-0.2"="mskxjm50p6r7zlfc40qbylycknyyr1x0";
-"bidipagegrid-0.2"="wipsldvij5v86c4hqw3afsxm2ydqsbwx";
-"bidipagegrid.doc-0.2"="57xmh27vfxi9ijr6rzv2d17vwk2pkdhb";
-"bidipresentation-0.3"="r3l1ac0kryn5mpx4029gwpaz2mjhj5ba";
-"bidipresentation.doc-0.3"="fvqx0rc6cn52lsi3adgllwp97mm5kr8y";
-"bidishadowtext-0.1"="fbx3svc7vx6f1kpvd4ws744gxp9gi6w6";
-"bidishadowtext.doc-0.1"="9amilyh1zz17z7x6hnhsvgvli0dp6mrf";
-"businesscard-qrcode-1.2"="9y9q6p5cnddbfdmjnyzrcy47hmaly538";
-"businesscard-qrcode.doc-1.2"="86l3021yvkp9sps2fiiv4073pzv8is33";
-"cqubeamer-1.0"="1ils8i2scbpka22n09ygmkwbx7d01sm2";
-"cqubeamer.doc-1.0"="ncgd5mcghdncvn1jdghrl263m9h1g85m";
-"fixlatvian-1a"="w8dpi3vx0iwfmq09h5gmqaia0a4nr94m";
-"fixlatvian.doc-1a"="nbnwr1icckqpsxdmmwa817a56zkfy17i";
-"fixlatvian.source-1a"="nvdlbmqyg7j8gx3cn48iqq5rmhcnncal";
-"font-change-xetex-2016.1"="qy2c5wdr14i5hhaxm764j3v6b4ycs6f1";
-"font-change-xetex.doc-2016.1"="ahkzrzvpc1syc7x3mm9jq02c1r75jqdr";
-"fontbook-0.2"="af0x6y47qcbfhzs3ngyazacn289x99y4";
-"fontbook.doc-0.2"="yvq7kxismw59wayzyv379hjd0kw048k2";
-"fontbook.source-0.2"="46vhgm8k7pxwxpb654fg3aj96555fanw";
-"fontwrap-15878"="ap8pwxj94larm8p1dngr1mhdavncplq6";
-"fontwrap.doc-15878"="p3m3czhwc1i2psby8dkm5zkpmzzkk91m";
-"interchar-0.2"="mphh4cmn49y1fr2klr1n5c2mjxryyjzm";
-"interchar.doc-0.2"="077lc5c3w5gq2cm2983fqlbhizjssgyy";
-"na-position-1.2"="1nnrjz7dvqr7xznpi5z3kw8hs8cbs0nv";
-"na-position.doc-1.2"="s1v6aswv16yz9q2ykzpwl399znzpq5pf";
-"philokalia-1.2"="6lcrild0p9jahhgpc1xzz445hh2s1cxy";
-"philokalia.doc-1.2"="k1mn8vwlhrs9bwy87gx2zpn2viidlh0p";
-"philokalia.source-1.2"="80nd8ig65k3xjn92rv7n8g17qq0k4q7p";
-"ptext-1.1"="zy9vq5spxci68zhbfa947x5gmr90ckzf";
-"ptext.doc-1.1"="3dsbqbc9n66hhw8nk4l7rlcbfw5b9pvm";
-"realscripts-0.3d"="h3nl45fx6790wmrfqgnxsy0v46i7gfmy";
-"realscripts.doc-0.3d"="4mm7a354ll0wca7q9nkazx29qbdah3ca";
-"realscripts.source-0.3d"="ngb2fqcmc4j1ijax0qrrdpf0g4587qb5";
-"simple-resume-cv-43057"="vjigpisca1m0lvq3rdc8148lc2in4zmh";
-"simple-resume-cv.doc-43057"="aaxl68aklgpv8996xzd0jgc5gw3859ar";
-"simple-thesis-dissertation-43058"="p1bspb2n9dc7zk0myww59v973rjshfy0";
-"simple-thesis-dissertation.doc-43058"="hrb22ycqxdy8ndw4x6ifl6jifswb7mgw";
-"tetragonos-1"="6v6w3fcjmyb0pq0iia29xcx3wsnpm47k";
-"tetragonos.doc-1"="w3b4g7k13lljq69vg11cakx54m0813r3";
-"ucharclasses-2.4"="lbqc3dsh3v8jd6n2jcp9mpaqnnrhj637";
-"ucharclasses.doc-2.4"="lnvlcnxs086dy9ylhmar1is01zn764k4";
-"unicode-bidi-0.01"="mix51h9rwgjic1g32jx0mv8hh574yn69";
-"unicode-bidi.doc-0.01"="8x4zk0spvhmq3sc8ygvidk03gfzm2875";
-"unisugar-0.92"="wfr974a1y4wzlbw0wwzfr6r0yp9nyasl";
-"unisugar.doc-0.92"="hcnqifbhpj44cwbr8sh4c71phg4i5327";
-"xebaposter-2.51"="glxmnnhjpy8wjab9avncl4v0wmdf0pv7";
-"xebaposter.doc-2.51"="sbpqsj7cqhhhs9gq8jia92hxrdgnhzkk";
-"xechangebar-1.0"="1f2zszj2l5mkqv5zs5bs8g5w4c8rirpv";
-"xechangebar.doc-1.0"="xbirklnxaljhxxghr1prqq7zb9l0mgzm";
-"xecolor-0.1"="pdybpn00rxsb5ipxx377a77xnmmf5i43";
-"xecolor.doc-0.1"="vl2lpda4kkr2q8gzj6ii2rjfccx6qvl0";
-"xecyr-1.2"="8zv0hcgk6f94mjb7h0vkvpz0yij6p257";
-"xecyr.doc-1.2"="27wisfr0l21bc6rb1sd2yrk9pa1c78z5";
-"xeindex-0.3"="85d9z28381jg0jbkwrjrqlcifp23qsxh";
-"xeindex.doc-0.3"="7q7gxhy5zx11dmwvlfivg91v0gbp8pgw";
-"xesearch-0.2"="avch7ld8isxphjd1qcjcwq8hqqkvcz1a";
-"xesearch.doc-0.2"="p2j9jg8h9xbad53h4d10nqnvv9lqbk2z";
-"xespotcolor-2.1"="z3ch5ppswpb231734xjiksmrs8xhqghj";
-"xespotcolor.doc-2.1"="wqlmsgp1mijbwyx2x4w3prpdbaw0gin2";
-"xespotcolor.source-2.1"="xbwp837f18v11kykidcm4mlsaqll2cf4";
-"xetex-itrans-4.2"="m9f0xqxgxpqsi5bml6mpgxvqjjpz1fkf";
-"xetex-itrans.doc-4.2"="nlixz1jqx1al7xks2bp723yl63whrhzh";
-"xetex-pstricks-17055"="4vaa9mkycwc7kwaxbzjfypk3xx7nyxqh";
-"xetex-pstricks.doc-17055"="lqs6hni0df78jwiy8k0hxzpwlpn0kfd0";
-"xetex-tibetan-0.1"="yzps4y2frsplnawgai9s9xb6vpk9h4zf";
-"xetex-tibetan.doc-0.1"="m49lmg8669bbir9hcj33clc2v811xdvb";
-"xetexfontinfo-15878"="jzx2is0hbcggma6s0pdzq21hcb5j8vgi";
-"xetexfontinfo.doc-15878"="h4i3q0c5rpbw8pssb7d6nyy7kqvkkj98";
-"xetexko-3.1"="ny49dj9qisbvj8cp4c84n5fv0xaqz8a5";
-"xetexko.doc-3.1"="miinbgaimmsgd9j0yb5xgkapc0brmqwc";
-"xevlna-1.1"="jwpjj1b3y45n3lksn9wvsh3hyccy1i00";
-"xevlna.doc-1.1"="4559f3ddvnis97px7180q0is9n4aqq2h";
-"zbmath-review-template-1.0"="h5z1v5jpsrgc5xx5jgfx9l5f84nblj5w";
-"zbmath-review-template.doc-1.0"="w3dxb9nx6xyypzmw8jmqkl03xw0b6jba";
+"amsfonts-3.04"="0l3ypclhv5qdpcpy29xwda2m3cjfn5l996agas6yhpdr2m58q211";
+"amsfonts.doc-3.04"="1v7chx5rvvqmcf7j35qi55wxwxkbfkbv34b15yrgn6bflniziicm";
+"amsfonts.source-3.04"="064gndy9lnmsq2srw5hh97sbdk8gk0qv9zzki00ms3c6rzhd9sjl";
+"bibtex-0.99d"="1w7vpf0kw6vi3hgmlmk0dpzk82kns7a77appx8yg76xcip2xid51";
+"bibtex.doc-0.99d"="13xh14d3v8a9ik4z5kn0y3qff9j6zb83671411in78v46dh3d75y";
+"kpathsea-58622"="0jgwbbcbazam4c0hspbi15j2ndjzvxzirgbk0zpp8ffma0xhhcjx";
+"kpathsea.doc-58622"="121f7nv9zq4dsy0krd1wkq5yjpbynjav6asafpq5idp1l5haw67h";
+"cm-57963"="1i70pxbx7bp7lzpd4skdymv1a7h8njsr42v8l8jvh4bs3gkmlbgi";
+"cm.doc-57963"="1s5jagrajx29zmpdbqc6qpbcpwgp7g4c3d59ilg4sgcqgd9n5v1j";
+"colorprofiles-20181105"="05nf7y425f8ric57c3afq7ymc7ndxcdahbx9n32jnaz9j3qq2ypl";
+"colorprofiles.doc-20181105"="152vrbm5km4ymj5h41x8cjyypj06g4xq3vyvmgakai9qz270dvyz";
+"dvipdfmx-58645"="1zgddb27zzdd3ycvmdfzph4khlcjlfdbp3a0nwhjf2682kf9hryl";
+"dvipdfmx.doc-58645"="09mi9lfp4sj8jv6h3rzh1dzfryfixsppan9pavj4w6drkf25rd4m";
+"glyphlist-54074"="12nmmyh77vr2622lzi11nm1z1k2bxs7jz018yl4rwjlpg0sxg1ja";
+"dvips-57972"="0k89qqz9zx5zh13azpjndfzszgl85hq4513kaayf4k3spy9fn5yw";
+"dvips.doc-57972"="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-58539"="11slfvdq8p0i5kfvakqpdq7vrpda1d03mzav69fwia32g9rhpjan";
+"graphics-def.doc-58539"="1hdg052zf2nbnjmc3lfpn7lr7ndjwsp9wsqs38as94caggy6adqp";
+"hyph-utf8-58619"="14jj24fr6v74vj8wi2a9k9zk9vnrvmy1ni4zn24dl5fdfw75n5ik";
+"hyph-utf8.doc-58619"="11n1blnx9i7q2dlhyhf1dxs2vnldc9r8f3k6diix0i1np8hpz05q";
+"hyph-utf8.source-58619"="1cff5ijmpxc752n6cmpfzn1a10ihrkz7n9l55gz2k2q0a00m2ssh";
+"hyphen-base-58630"="1sagn9aybs34m1s6m3zwya5g5kbiwfnw8ifcgxssygmzzs88dgjp";
+"hyphenex-57387"="08f915yqpx6qhc2dzbicbv9cijzpgcl4jpifydqcc0x68y51qrzi";
+"hyphenex.source-57387"="0lqn354bskaa6g0bn9g1r3lbb1hj9si5n1ki38awayzp1yj8a3q0";
+"ifplatform-0.4a"="0abhpfw3w1mvpg52xaw3cngl55sszk5ji9a38yab8vhknh3d3jby";
+"ifplatform.doc-0.4a"="1b41nzn666askfc1kkm1lwf05ggf2ml8gz3rrki4yw6ch52sl2sc";
+"ifplatform.source-0.4a"="0g0qvbvv4j87rxps9yypair00z6il5hfjczkrmf4fkycw714sdqa";
+"iftex-1.0d"="1jcwlnm5wzzwr3r67v6d873c0619bhll93qd7f342xw503vqwlsy";
+"iftex.doc-1.0d"="136jnij0z3xk2kp2ldglg6g1qyp66rzzibmm5rpdk24rkrrakg1f";
+"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-58702"="0yjx7nw9mgfgnq1givkzbxh7z7ncw1liaddjgm7n2nwn0aw6xfdg";
+"luatex.doc-58702"="14bz6h1jrnf4azwb17ny8aj5i8vjm0pxrm3p2g2ai7iscmcibsi7";
+"plain-3.141592653"="1mn5cfiaj7wrjij4y0g2mipc6v8dk7l7nc25s1gmgvvyfqwd3byv";
+"tex-ini-files-40533"="0q1g62jg0qiqslm93ycvm30bw8ydmssjdshzsnzl7n2vpd62qfi2";
+"tex-ini-files.doc-40533"="198f4y0bjw9azzck8rz6ml0rpq7g67r37rw8825y8crhpykchp6n";
+"unicode-data-1.14"="023gy5ldjs0pc4a6ffdjrk5y245sxsqn51g21is5cicj9xihysmk";
+"unicode-data.doc-1.14"="1dmjrfqs0gnrqh8dj765j0dlv46jg9z3rbqk7c278njmr7nx87wm";
+"makeindex-52851"="0lpqnw6nr19p08pf52rcx1xvvsywkpf1rqrkjdsgrv55d1afsd36";
+"makeindex.doc-52851"="1zzi53l4sp5zs57bcmylj7ydv3h2638y46g5dfxkhhzpl6zkhvxm";
+"mflogo-2.0"="0swy70pm0pyqzy1i5wf5hc6cbzn91ihw8hwh9kavdfawb4qzjxxw";
+"mflogo.doc-2.0"="1xqk3nwpi3drkzrnr172i660yx541lxxw3wps0jqbqficqn4fiw4";
+"mflogo.source-2.0"="145hmbxr5x5pj2whra9yify9lyx0ak1az31gvwr3gp5klcmna8p0";
+"mfware-57972"="0kcz1gy17819w77sf0l9m5f6rw8dcapkdbvwaknnrmy50v0jfs1n";
+"mfware.doc-57972"="08bx2bl2xm1bqkrs1b80inzdf4q5djwa8nn0fhbir80z1a3cbf0f";
+"modes-4.2"="0xg6jpyxni3r3fl6r7iq1vz97pp1w3gh8ccp7w5k51igs3dpvcvv";
+"modes.doc-4.2"="1lgmgg6hhq5h3zgpc9vrbb6j0pif03cjs6gwj20df8md69hzr184";
+"pdftex-57973"="079pv90lpakdn10p2vddzdvi9z5grx3c9yrjfg4k3iii7zdjagx4";
+"pdftex.doc-57973"="0v47bnyd6r2i4z3gy9as7nvl3gylsniikp55ywbr9p13q1s4pwkn";
+"dehyph-48599"="0fkqlsknrlxk8zazcqy4q3nisxr3a4x21aiwqhz8s237rdf3w39g";
+"tex.doc-3.141592653"="0njmxc6l84j44k48qh7d79n3qznzriz2pf8lkj09i7mkkj9fw9lf";
+"texlive-common.doc-58055"="1k8ssl78b6jkjvzr0s6nihkyri0xan65pwn8p00sw6iilg058jk8";
+"texlive-docindex.doc-58780"="0sjjj9z1dhilhpc8pq4154czrb79z9cm044jvn75kxcjv6v5l2m5";
+"texlive-en.doc-58572"="1r6ikz0lga85lw7dk4wh5mzvpjgs9lfi0yyiaij876zvrciziczv";
+"texlive-scripts-58791"="0cmq2d033pm7hydi0k35f9asfaqkid1z3i5fdil90gfnsknpqgzk";
+"texlive-scripts.doc-58791"="12b4bmzsfvscp3badkd77xpk9znjww30c5h2rq7n20dmbg3b8j4v";
+"tlshell-58792"="00vyz5kkvbdivgaiy5yyllpi9q9rv1i3f90ypyxd6nfdcmjdjfw7";
+"tlshell.doc-58792"="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";
+"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-58697"="0v87mxm1qj1ffz6d6sdcw3m318d3kib7bi1dz27grcmvj8hih3hx";
+"besjournals-45662"="1jpp3ayblhwwqzndss91rcns3axr60b8zzxdd6f4qqifhaqczk3l";
+"besjournals.doc-45662"="02s7qd7vvdr6wf00cm7026984s6vphp88iaqhnhk0iiafpr3lk3i";
+"bestpapers-1.0"="00ig29wqb4fn6qw7szmwmv92s19nc2wpapv4pgv8nwsby8nplyrm";
+"bestpapers.doc-1.0"="08yv29s2cx89nq0lvykx8z6szs72d2ph97g75bqni3l7b4n0wng7";
+"bib2gls-2.7"="09v0k5ldpyhwmzspidnfz34p4m7vmjkinbvrzs304crb2p9xb0wc";
+"bib2gls.doc-2.7"="01f2ll1pjzwjyj51ngijm4vaq06l1hgbw1ajdyaq7anach1z242m";
+"bib2gls.source-2.7"="01d40yrhncjh1jg743av8drmbycmdsfxf3bfpzq89di5hyaj821r";
+"bibarts-2.2"="1zwb8ras2mqv0yn880php3wizs79y1y6fwvjd09jwc9a0j62p1pa";
+"bibarts.doc-2.2"="0p2fn08wz1ng9jgwmvxp93kkb86wnwzh9snbcm1vhf09b8l1klxk";
+"bibarts.source-2.2"="009gysrkfaiwisb5ac89q9n7rhmdvcy4lc1jr5pgka21qp3rhwb9";
+"biber.doc-2.16"="11507rlq3rcvag1xxf8cn55rnnxdaag03hfd6mq42mnki5w54zjh";
+"biber.source-2.16"="1lsvh76vskf50aij9i2vgysnnc75qdc9c0vyb7m4y46zhrx0lvrn";
+"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.16"="1yhh1h1ir9g1p2njcqqnkkzadpl8hphakv17n6igkwmjpdxwycy2";
+"biblatex.doc-3.16"="0h2i50a483ipbvc8wnhqp5sar1kwvhj0na7cgzf0yhxs8r7rfl76";
+"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.14"="08sldd3qp9d5riz038s5bn8mqhpvws449fk7q86fvfn9hwy5igxw";
+"biblatex-apa.doc-9.14"="1xnfsi2nk33dmqmbl46qaqiv71yxhxq31pf3srdidxn0ymfa6g2h";
+"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-4.0"="1vlkj2gvrki82mg77h1kyk4ngg2r9yfbrr887kvypn4wl32hm372";
+"biblatex-bath.doc-4.0"="0y0j1hdk7kj236civ1ngb03sf24hxd5dxgv4af6xdll6r2ljikpd";
+"biblatex-bath.source-4.0"="119vi9nxizn2l04ghiajp8kpzrvkgrn4yl4qn9brq99drn6hnlr9";
+"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.1"="04qcxjvvfdsfib5cwh4vk6s5rkpalk3vzz9gldgl3xych1k5dg8a";
+"biblatex-chicago.doc-2.1"="081fs68vjvzmbwj6y2vb7782q5w1kvgbnfsnh6hngx04m0f5sazc";
+"biblatex-claves-1.2.1"="0saj8s7q9lzjnydjh3x2hcnhj0wfm2p4rvxk5n6hi2ccfw78d3c1";
+"biblatex-claves.doc-1.2.1"="0g4x5jblj664ngppqpbks3d0ahn818ck871q2aqir6jgkrd13cpw";
+"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.12"="12x0018lzqvszw17i0id8g8k5dv9lhxj2g8fvw82x503fbll51ag";
+"biblatex-ext.doc-0.12"="1ira281yxvsnqba46avnxign9fbfxl0v4ddxhp3wvx3p7q4axjzq";
+"biblatex-fiwi-1.7"="16grb6hqmrhvzryijg6p4q4vf47a0lxa8bw59avlib5j7mqpg0wc";
+"biblatex-fiwi.doc-1.7"="10skq20bmpqymbgxs47z8ac0q5nckyph7s4xwqmpfd7pi2sksb4a";
+"biblatex-gb7714-2015-1.0x"="06fcpl6q4sa0a848bsglq5qiaxm2jig7mhpxw8wfikrxkp09hipl";
+"biblatex-gb7714-2015.doc-1.0x"="07n042g8ch0xc513mphmxn8ys56mxlgr1aav530fk03fs139a2z5";
+"biblatex-german-legal-002"="1x7x5vpicvxdjbbx17s8va3j0m9mig9ilwim2sp674yxjhfdpw48";
+"biblatex-german-legal.doc-002"="0jgkxjcx6z9nc0c6ms1cn1j7h94d2frxmj9i5rd3h37cj5rax25y";
+"biblatex-gost-1.21"="0v399j9kxdjx5z22mj3zn3cjj48a9f4qjhcx6dkm393a7v63ysb2";
+"biblatex-gost.doc-1.21"="1b0av4hfbh17kp768cyll3cb63gw688rvsimyidvssni0cn27s81";
+"biblatex-historian-0.4"="14p27qb8rdx479pj7zdvl00ir1zg8f0bzp107zfwv61ypq8zrvbl";
+"biblatex-historian.doc-0.4"="0hcghqxbjah4lyjzlrkixs6iqbkjx4d8r3hv16lgnddkndbgq663";
+"biblatex-ieee-1.3e"="00hzyr8c444gplwpjm1rzi613zdxpc839xkbbf13mcli150jk66r";
+"biblatex-ieee.doc-1.3e"="1257hkmzixhsqsax1i5ngj541vn9cixj1flaflkrnxs895l6j95h";
+"biblatex-ijsra-0.1"="0gnm3h0918lvbqwnzk9wkdcafpzz5q3cln2z1sjaylr3mgypykdw";
+"biblatex-ijsra.doc-0.1"="0jl8mr3ai1ybc3lmp7x477znv59az94hlbzaqmvix54rxf6k8f4k";
+"biblatex-iso690-0.4"="0ap3l1j8l45f0wlar9gp537v5dzlhc9b805bp3ijm700csclj0hv";
+"biblatex-iso690.doc-0.4"="1ng5dqk0ch57yrz8macbmm3djm55r4jkrq82bi065a5mxdll1cag";
+"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-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-1.9"="1r6bx64w9j70wkjbfq1gm7hzr1xlzai3ynfb25kgwcm9bzxb4kwb";
+"biblatex-mla.doc-1.9"="0xpak1x5yzsax39dyr2kwm2lkcgp6fj18jdmndmh0kzxwdmxqbi3";
+"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.8c"="00ad8xawypgdzjj45lfr3w6na8f0rbma5svq3cycb86fr2vwnv2k";
+"biblatex-philosophy.doc-1.9.8c"="0di059liq7v435kcwhf7a5nyp8v6m2czapz18xjr810pblhgqvqr";
+"biblatex-philosophy.source-1.9.8c"="13xrj5izz0qr4p37c6ffdph2k23jqvn3zywsh1qijwrj09w9s0kp";
+"biblatex-phys-1.1b"="1vj1rrhzh7ncvi2dap2cjk88vdj0dmlpakjiz953rvb7szx0h40r";
+"biblatex-phys.doc-1.1b"="0z3y7gmcmp2p5g25jha6kwkd7ma4pzgqybxra4402p6aid823fws";
+"biblatex-publist-1.21"="0z20z9j59w7i8gx95div23jrqdpz5yjb8ndc7y74xx1msrqbd7w1";
+"biblatex-publist.doc-1.21"="0iqqsshqgfz4yxqb8xxbavf1fg3fzs0w4v9swwgffj9cawa4yzsq";
+"biblatex-realauthor-2.7.1a"="1xv65ic8ywf18fdb246sr8pvq60hv4wmg7ris1glr5104g5yhg7p";
+"biblatex-realauthor.doc-2.7.1a"="06nvybm142cd1shgpcabddbrfyvzcc3yxk9zyq9hr3rfhzcqf05q";
+"biblatex-sbl-0.12"="16r9sh92qbbx2caxrzwspqlskwpznlx1b0ni8xfrxq08cdr2m548";
+"biblatex-sbl.doc-0.12"="0fqldbd4n43md8jilf179r1a64r8idw95n14179xrgr585x5wic6";
+"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-3"="146mr457mnvjsycsy10842mvn0gd81ij2wglkyqf5rvbx4dwra3z";
+"biblatex-software.doc-1.2-3"="176vrl0vw1f9jgln390y2554kbpmdyw87zsv7i7mc99y311sz3j1";
+"biblatex-software.source-1.2-3"="0jig20hy40f90iq3ywp1cf7ms7xcm5ccw90f17iayz8g2hrn2nrf";
+"biblatex-source-division-2.4.2"="09wsi1nj7hcf5nswkd6syn63xhk2ghaxikz5xb5sfyci0lmnqgxc";
+"biblatex-source-division.doc-2.4.2"="1mfz2bxfwx24a2652n4jrdw1mhrm1y7i5vq54rs7sp5a1xfg2d9q";
+"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.00"="094ddmm1g0lq4dblgp8a87y8gyiab9flcca98fwnyh6jw2nmgk08";
+"biblatex-unified.doc-1.00"="1iip60hifs3xcrpv9zp9d7p3wn4iw8bfjiwqw3z7rhfk02fqn8yw";
+"biblatex-vancouver-0.1"="19ymkk94c4l5sav1lb66f2lxjyfzzi1s78qd2a8drjp9q1c6i0j8";
+"biblatex-vancouver.doc-0.1"="0wn26kl4nli220lfs663rdqmv49xgi76kjgnlwh99yljx7v47n09";
+"biblatex2bibitem-0.2.0"="1fbvrdldp9w6ll568960c4jvpjq7dhwny0ca6mka6vn2r1p4rp1z";
+"biblatex2bibitem.doc-0.2.0"="0mksck3h53zmisabmk06qnbn3p5vk74g1r2p8p0iz6sifa2hqx2n";
+"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-42217"="1ap5arz0s65bqqfllzwxisp3wa327kgivw1jh1gkc4wljq7v4jq1";
+"biolett-bst.doc-42217"="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";
+"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-56514"="0hvfxm97szbj5mll7vmz1gv6h6x6hqpk8z4kn51yamda61bvgmfj";
+"amsmath.doc-56514"="15j4p7jh5xd9281vpagvwcx7v25b1y5b5rrx4rg5gklkvf7j3j5h";
+"amsmath.source-56514"="1sancw41dcbzfkgax8ygbc3s07gr9j3c3a3d1clipw5dpbp0jh8d";
+"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.56"="1a9kylk1xjahqiyq9lwqcxgndgmbvcp9sjp8z5nkyrbf2b74jyry";
+"babel.doc-3.56"="0qd33vywp9hvlxzwznf3y7xcshspq214ywa5y7b61frww2r0vchq";
+"babel.source-3.56"="18kf6znikvrysyngk129jim9irgkd14idi5w1l3m3qxf0b56l7ac";
+"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-56753"="0pwd4yqhwi3nmp19zyv69pg46xlk7s2n6m001v312vri5f9k40ir";
+"carlisle.doc-56753"="10vxpk4dxf055s1ffpviav8sh56b36znr63npf40c9gbaxp9gcmh";
+"carlisle.source-56753"="1j685lwam6pgkmv0bwsym7a1w01bgraqk5iymv678ax5m0a7f5bn";
+"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.0j"="1kxd6wg4v9fsngr94cqswn6a73ccf63gkxc313z7vzfqcllgclj6";
+"firstaid.doc-1.0j"="0b81kjvisimw7c07lfvyasi7jspywmm2l7bagxyx8r2k234pcr1w";
+"firstaid.source-1.0j"="0zx37rrl978ip4pmnmccdjvr45aq5q4ri8xlwfwagd3k2n8a9ihk";
+"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-56514"="0ig3v1wcxv21lw3fyfadbnj13bnx36njssc4cdyyhrcljamq6l9i";
+"graphics.doc-56514"="1aqrxbaz3hj5b06vklgb3p02211rvqdzc04cx762636zrkh9l6fd";
+"graphics.source-56514"="0pjal4akvbk5axlrw1sndfpf7c9n7r1z1ipx1mr03hs4pg0s5xmj";
+"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.00k"="0jyb5s1ry6fw8wlmvsxhgw9gjxc8x92jcqx4rr7h792jbpdxn2ih";
+"hyperref.doc-7.00k"="02fqchjah6997g2d3qj3ly0cxykjb4wzfvmz7xbqj73l1c18rs54";
+"hyperref.source-7.00k"="1mplajf3p3ybhx63dsdlhl80y1sgf6m5vi8mh80a58krp6p4bw6x";
+"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-31835"="17mls8wilz9api9ivsbcczpiqp1f39qy8wa6ajssi8zhnc5lq7zn";
+"l3backend-58509"="1k3xfwlpjcsa6lk5b5b1k1dih8vn915nhy9jprfxjdsr6jha072j";
+"l3backend.doc-58509"="1jn5a4brv3y0nnalvd42p45n32mzm8a3kvw1y13kz73ksfhy08qm";
+"l3backend.source-58509"="071mb9g9wid2jlmzrjg09vjcii170gmxq632mpj9ffb54fp36sgi";
+"l3kernel-57789"="0kg9v51jxw5bdy84klkydsiyyibkyxb8fdw1q9pk22i6nasx8xx0";
+"l3kernel.doc-57789"="0lpcda0dh1igb5irlfk7swf9kghazlazc03k5f8x6qjh6c2vhzsv";
+"l3kernel.source-57789"="0v6w15xka4k8fmh94vf876az2r9zfzh9fx65d5d0xbzjwjf6wb7r";
+"l3packages-58296"="005nlbw61qqj9aqbh50jyygfdf306jx52d66ssrmwfsfppcyv2my";
+"l3packages.doc-58296"="1bw620alsjsva2i0wjv1264vx1vcsm1i89lkfgabvjw00ap9rp0v";
+"l3packages.source-58296"="1c7vgyvq1y656payk1mkwsdx5w4n4r3v865aivlmjbzxaqk34az1";
+"latex-2020-10-01-PL4"="1mrlnxah6sw35zrgjplzyqji6pwkbxv3whd89kz409ncfin7zkda";
+"latex.doc-2020-10-01-PL4"="1psh86s3gf8rps8m3l4168xsd6lwy76196iganrbqlcw1yvlabdz";
+"latex.source-2020-10-01-PL4"="1xig50ldj7pfyg689q4qs2d9b5rnapl856lg7xwr6qh723vxc47m";
+"latex-fonts-28888"="0dh4kgy4mfarlsrgqw4dm5zgfhcfg9qzh8s2wjk6w2g0jfc8rf3v";
+"latex-fonts.doc-28888"="0243qbrs2w7qh17nh8m4ivj35gfgxsnqxza281cvhh7g2fv47f5l";
+"latexconfig-53525"="10ynmd8b9b9l1wl1mva23yz4zir53p6r5z31s39wmxz19pj12qvx";
+"latex-bin.doc-57972"="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.17"="01b2d8zsxga3f68h4dpkvyh2c72s8yrv1ff5nchipi8ka6bv5h2r";
+"luaotfload.doc-3.17"="1qsvd1d1257gnq2jjj7ifa8a4k33zjynk9c0vvhahdgkggyzhlrj";
+"luaotfload.source-3.17"="1jmvglj1mv766cxzj6bnagrlby2z7w3gkpqls19ic2g9a154i62c";
+"lualibs-2.73"="04fdy6p2cm134vs0s0ahzl5rpyh7akwzwil0r0y74r2lckqxmn0h";
+"lualibs.doc-2.73"="0bmnyk1i4cxvqdvgwwd0qzwzav64zh43lzfqjn5mqimmqwb85zdb";
+"lualibs.source-2.73"="081kcsvnzm0fj46aihixahyg0vpn6jiv068y7bxq1y2brinbq5rj";
+"ltxmisc-21927"="14llkpla8gpx7q6a53sd8a0a42wgk93fg4mbl6pc0v7v1kjblr5m";
+"mfnfss-46036"="1m0yza8nw5r3ph8k5nihgf93vf54cb0cnw4c5gkqy0rsd23hk4dd";
+"mfnfss.doc-46036"="1ppjjma5dc5i9ly5y7h91647nw9c2y9w65k0dn1ks92xsvnzf1mv";
+"mfnfss.source-46036"="0qjz8dz76abwqspab89z3a50nndh6gflanr8hn31z5fra3kzfp90";
+"mptopdf-57347"="1r7m71i3cnyf3q5nlg6c3ialw6vmch48sgf0flmd63y6n21zjsi9";
+"mptopdf.doc-57347"="0hw66p8gbd91ddpiifgm4qbd4vv2dbc149k299nb6xxp93hh44yp";
+"natbib-8.31b"="1wxpcyr1b6k1rzizbz2g452klrmr6xh98csqr6pawlnx2zy3sx5x";
+"natbib.doc-8.31b"="1hai95c7ah61rqrsvzvn0ppvr7pn10830dp7wn7fc0j678z9r3js";
+"natbib.source-8.31b"="1qaxwivq95pf014w39igh070cnbs7n0k5am4waxvdwkzql1fafpy";
+"oberdiek-56291"="0qz842nvhzpiiwqgrn4hjbb5hb2k37nfpxrhgjhbnm2d5pi96qb5";
+"oberdiek.doc-56291"="0bmpz28w3pbwh7p12mhx47k0w6wyppj2bgcw917ajvddigla86aj";
+"oberdiek.source-56291"="0h70q3xd2i8fa94ai30vzhpzb91h99xrq273cp1fln03wwiix5rs";
+"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-31835"="1pdkpr86bhia5hcmf7q3nhvklnsga4mqqrrirgl8a7al7x6q3ivs";
+"pspicture-15878"="0i41lg0nw9xya0gfiwjd3xgbk0w723g90gnsvnfg764s2dl371b8";
+"pspicture.doc-15878"="1p27zx0svlcm4p12xjq35g2lgj1j485c3x363gciqb4aswmlsl65";
+"pspicture.source-15878"="1f8lhyhfcywn5y78354r37bgalyq57bm1fill5vzny3l7cyqxxn4";
+"tools-56514"="0lw5s1g7rjnfn3a9cmfc2q60dl9mn1m67inv71zr32nh3cq2kkdn";
+"tools.doc-56514"="0aa2wmj8hlkm7iafjbh9caa5r0vbc382x6vzhwyfsz16jszzhhfm";
+"tools.source-56514"="19ic4fc3bvkpl9wxivv3i6vfv8bw8rgydqpmzlvn28cygi958vj7";
+"collref-2.0c"="0q1g0x0bm0qjh568fp45b1ljy3w3jgy6s09ji1d1m5yrbs4dm7qn";
+"collref.doc-2.0c"="0vcfrdg9mqrfv2jlxh88g0nhpsrfwgdg9wjdn0l9b4c5h8zq030c";
+"collref.source-2.0c"="156gdfrd09kyxjiplcm38s3zj8v6bygwlpr9g952m0r72q7cq54v";
+"compactbib-15878"="077l73vb0rcxy1n51r3wmcb7gma6nn3xrl543a67n96lpp5xvnnk";
+"crossrefware-47861"="16c50pw2cgr9zldfhwhhvgvs896d8rl26s2frjxb7mfgzmby23ca";
+"crossrefware.doc-47861"="17i45ivhsmnhsmj594hxkzcm27mciri6xkrnzxk8lx1fs28vnxmp";
+"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-2.8"="0wqkkd4ylv71x5qqaq8hqxs71c63gffdnks6xhdhhbhj6b4vsjzl";
+"econ-bst.doc-2.8"="16qmwd8w8ggjn8slq1dp5gjmcq27m5bi7qxfp3rf4nyh51zlh0p5";
+"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"="12jq5g2hhx4138px12c9bxs98jfqvnvpsk2y7lh6f4dwg0l1qikh";
+"gbt7714.doc-2.1"="0xa6jbpxalvygvd447gmkgkcr1k00appaapzb8k8rgdw9gfbg8v9";
+"gbt7714.source-2.1"="0b8n05n7ibikmjb3kjkdgaq4din5s5ckwzng2k8agf0jjvy9f3ps";
+"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";
+"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";
+"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-57577"="07bcpb8v1i3d1pijc8y3dcq239m7l5x25kg45wkz2h0m1cwbyh17";
+"windycity.doc-57577"="0qz90nmpy6lig06i9qn8qpl1lyr1znw71kfkfwq9xjna2jjq1lz8";
+"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.0"="0lfy3sp7zlglsgyrckmlj535sm0wvy9g98kszrvcaw64vfqswsa9";
+"arara.doc-6.1.0"="0xyiirkan7snj78qv5q7841nfb9kbcjj8j9fa252qlg1sx04pf3w";
+"arara.source-6.1.0"="10qr2izmzchpq1p8aw301da3483d89d1bvkph7a8ppk35952g49p";
+"asymptote-2.70"="1a9m3rkmsw5msfj289931x4f6j5lbz711avx956vi0kn01ppcrs2";
+"asymptote.doc-2.70"="0cbcr51gl3s2g2aqh60jsp6jicvvkdl0hya88wkkjanyw3dzbv3z";
+"bibtex8-3.71"="1hi24b8mmpnz17cfj0p40ipyvzqhgkkhhgh7qkcgr1bz9k82q7sk";
+"bibtex8.doc-3.71"="1acay8y0l6gnczznxprl4h3bx7jaxdqrczyvdgin5z8yqhx0q13q";
+"bibtexu.doc-52851"="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"="04740xhx1gd88x7qxry0vw186dzqf8p44kss4z4q6bx7dyc79v97";
+"clojure-pamphlet.source-1.3"="096whv58b2g15m6mzg689d0mp6p9yvj8z83w431zbg204h0kx0w5";
+"cluttex-0.5"="1khiy9ih2ij4rb6mpgnpvbkg93fy9h333j5sfmbmfz0q6jj7cpzj";
+"cluttex.doc-0.5"="0zjcdmz6x8g2c5q5kds9hbs4x4a8fmr4z3j3mily8lqzqfnvkz9v";
+"ctan-o-mat-1.2"="1iya9r04n18i8jdzqkn2i1rxfxxmpzcpga03rp0i6ykjj65v4q4r";
+"ctan-o-mat.doc-1.2"="1j053gvvcznrk0fhg21ddyx1b1m1xj743b3w8z01lpjihihzq0l8";
+"ctan_chk.doc-1.0"="09ngqgs08q8bld334jrzhnd558lv7fajfppmfrkp4kv9hc5iyz9a";
+"ctanbib-0.1d"="0skwvk7khk4w4sb17a47zffp5bhd0fy9lqhfhd4ki1dxzz94kgs7";
+"ctanbib.doc-0.1d"="1gk91x395bh4ylhg1vm67w37a66v7xwj4cgzrffm4ld91sd35dlw";
+"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-57972"="0ds2kanfw343zlyc28sfmshp4g1gvdvnhqlil45azjaqyz3603w1";
+"cweb.doc-57972"="1qhszwv7lqxxg3v5ddsa50xdda2cs9dlx8h0i46pisnik4sg71jb";
+"de-macro-1.4"="1zlmrrb1x4sm0y6igxxcgh7drf7c6rqfgm8pk1a7bfv5fdmv4fln";
+"de-macro.doc-1.4"="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.04"="0c2gv6lgh4r57z955zdgganifr6q3z0gsgdcnvfpbrnqawydan74";
+"dviinfox.doc-1.04"="029y7pm218w83gq9srswb1hkdw8a2bi1837rvxa3cnsmsl5rkqri";
+"dviljk.doc-52851"="15l05cggcnawyqg38a1hpyng88qh9gck4jvl78n1rdk4qdcgp891";
+"dviout-util.doc-52851"="0niv5zy6vksm2qqqz3bjd417ylq46bxz6sra3abp9k4c2bpr0pz9";
+"dvipng.doc-1.17"="0clgfwglxqs4xgzh2d9jjb91dfm0awigg0mv1r4sbyr4l21vciaj";
+"dvipos.doc-52851"="0izv95mvzky166xpalw897z3lgl3424ixbabz5pikrhn6i2q6zmf";
+"dvisvgm.doc-2.11"="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.2"="1r2nwwfjpja96ix7r2qckqh0ix1jnaackkanp0w12k9syn5ggy6l";
+"latex2nemeth.doc-1.0.2"="11x97kfriq9xwj1lnw2q3km4qg9bixg9ik03nghg4h9pdl513b4h";
+"latexdiff-1.3.1.1"="1ipi5laj8r0k72l89dymyrpw8lv89c1lkcz73innqncqahfji3yd";
+"latexdiff.doc-1.3.1.1"="15724mm377xma69cvr18dkk9q0v2fis5bim6671pw098naniksds";
+"latexfileversion-0.3"="1yy159skv29hp0qxpghmq5zmay9yi0ndkgz7lbllj1ymkgxs5138";
+"latexfileversion.doc-0.3"="0k20c2kw0xarjlkdhjyx9h9kvjm2f3rd98lz097xj8xvk0fs0zp6";
+"latexindent-3.9.2"="1j0llil09scga949f6h0xxqp1rm7pm83c5lgsmr6mplh94lhpj6m";
+"latexindent.doc-3.9.2"="0gvwbx9hr2nawmabkydn70dcr48336c8f3vz0rwy9kq3bsjnamjy";
+"latexmk-4.70b"="0gc91rlxs4jhbx0cnjr3np6pqz2myybc99bfdjnnnxpadra2xc6i";
+"latexmk.doc-4.70b"="1fraqhxv3b7jmijc66mils33jhd79m3zc6rva01vkb126qscjz5m";
+"latexmk.source-4.70b"="0v9l5qad73mnv76ccp6fnlwc7cqyq4f55syc52s9yyxs6i7jcxxw";
+"latexpand-1.6"="0n8gjx86fxr03i4pg6dwxr48f12q2s2v32pszg8qc2rw8gkvniy2";
+"latexpand.doc-1.6"="1j7s8f3iw2y8g8inm2f7a5lm1bxfv10l4zmhnfay66xi01py2cbc";
+"light-latex-make-0.2.0"="0cq5gjii0af6kpi7prajh6l6bjz8a48rbck9as3200yrnzzps36r";
+"light-latex-make.doc-0.2.0"="0y9w00qfqaa60iml5h4mqyg6452cf6h4700vqbshm0kajrwcygj1";
+"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.0"="0aifhzn6gmmbmdlf7kv8dcvjdn7xs8sc4cjv6hpnzfrjy290na3m";
+"ltximg.doc-2.0"="102zvry2wj1hq47k22ss3i29m0f06cdcsjysnvq0cpm5225mgf32";
+"luajittex.doc-57972"="1nqhgkh91g3sdsdysb768vw01ikbjviwlmhm4j2a2cdwxp81hffd";
+"make4ht-0.3g"="089vcp6pfqzf9agghvr70v1qiq1zmqqmzgbln8a3dn5b7b5fv09y";
+"make4ht.doc-0.3g"="1qjdq862mlaqkjqx36nvid8ph126i4fmvb9xin4qszk9j5av6b82";
+"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";
+"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.00"="0shz9ivcifvg12y7pvq7iv1d5d97i0n5xw0kkjapmgfcvf3f1kng";
+"pdfxup.doc-2.00"="07d7vnbgbz7yldlmz7hsbfsfnggbfgwryrhh6gq6l7i2hjjis60j";
+"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.17"="1hahcx7k67bzakifbavqclcy1wdl5w5h68insbg736jxbfz98wvf";
+"pythontex.doc-0.17"="04xpslmv41chz7g0nxkz2gjpg67s0jlc33jy9mnwl789xi4k7832";
+"pythontex.source-0.17"="04a5809sx2qq56c394g36fw6ygf3wi3khmqp56lw2yrwhqmhph0a";
+"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.3c"="0dgai37h4ssmblk1cg3g0js14mghivxbrp54ffzg5vznhi3b7s9i";
+"tex4ebook.doc-0.3c"="1x4x7b8rp04x0g0dcrnn1lx3w868y2nfya9y7r1aacq2kmxw6axh";
+"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.3"="1l46wg9pp0aw5qrx0vh022n5xx269cpr5ms2qqkkcihfh8dln0jb";
+"texdoc.doc-3.3"="164a6fvh75six3bmssq84ax781l9zy9nz6y2fhzcd1jy5hqvvspd";
+"texdoctk-0.6.0"="1k0gl06da0v60hsp2saphkmr2ma5yf1g6azwdl33ddbw4r8ssk10";
+"texdoctk.doc-0.6.0"="1k41z2lbfjsar5rl47xnk1adbcnnb4w97bzbgf2rnjhimd1gn9hq";
+"texfot-1.40"="1005cj268ciihv5942wrn4yqizrkq8vcyn9cqb1wzn228dzjqhjp";
+"texfot.doc-1.40"="119a8l3yah2vnp22x3r0d87plhi93f9c0mmgpa1zdzzlghnf8s69";
+"texlive-scripts-extra-54744"="193v0r4i3p4psn5b4q0ggpgaazwn6jadjlzh5gjm3igg9k73i1wj";
+"texlive-scripts-extra.doc-54744"="1svrpyy75ksx0777k6mn6a3c54kcqlf92fnfn10x8wkvv7fkghd3";
+"texliveonfly-55777"="03i9pzqv2dz4z9nlq60kzwiyfvzhhaalhczqa9146jp4wvcib9l3";
+"texliveonfly.doc-55777"="1fsabzkbcrk42rsp8ssx0kvap31y1rqnkq582129946q3njvmylx";
+"texloganalyser-0.11"="0icav63nll0lj85cqlbg1lx1r6ysjf1lyv5bydxr3flr1c7yqx2r";
+"texloganalyser.doc-0.11"="1s7952n2brrz3s1qca9r5qk8fnjlmrmrn8b06dhjxdb7wdqis6g0";
+"texosquery-1.7"="0jszy2f076hrc29kk8qcr9616hyk2cvys3kg2qfhvblxf07ziw62";
+"texosquery.doc-1.7"="11rz21m720pp97vb457pxaq5yxf3j4v8vfcd77w0bjpc632lh1xx";
+"texosquery.source-1.7"="1q7spgr1xk2lnx2xqksjh979n7r2v1n1441fkrc479zyi69ncn33";
+"texplate-1.0.3"="1javijzp7v9dyjvgfb3prshryiw7446mpzdn08hd8czp7f6c9x8q";
+"texplate.doc-1.0.3"="03wg5ckb3zjdghh52f0i7cjwx7rrgwxw9av7xsa8zi0qsyh5wgcx";
+"texplate.source-1.0.3"="1pmx38grc50fszsgkbpb3p7jxy0d1hfpr5m4czvkzjyzgapqfi2c";
+"texware.doc-57972"="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.28"="02srw8v22x4gcm1j306agd9cgpv5mp6bjdx5jvsirq7914fqvfxp";
+"xindex.doc-0.28"="1rqb81xnswipw6qakzm4mhniqvk0iqyzw8y25fs26p64k9ch09rw";
+"xindy-2.5.1"="0rn0s6m6zl0j5vak7rrzm114kb7cr82rcln0rq9faby48isxpynq";
+"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-57972"="1sk771ll9kv7sdrgg1xp8bmr1c0yd8g2g796pzyksfrjzbvs6fdn";
+"metapost.doc-57972"="0y7wfxi4l8dbmfmr570x3gx268nav4zhhlg83qv7blh9p8x6h822";
+"mflogo-font-1.002"="1dx834zwbrwgp2v61fagf5m4zmxf2qkhib4mkpw6iadcgfqv6x7f";
+"mflogo-font.doc-1.002"="03b3qg42axqhs1lvm3pz69m4jmhd1385gzg1sw8bqyajlrdnydyh";
+"stmaryrd-22027"="1vvnhyk7fq6kh1jb2zd19r6qq1j8zzp14gyrqvw7yqm5amjff7fp";
+"stmaryrd.doc-22027"="0dvcn4yw7qlb7gh3b3z9vk4rx12b1086glkk0x21cks87kphdxib";
+"stmaryrd.source-22027"="1wmn7bwahn28lwipkpsla74wn3a018808rmh7yvxdkbxfbzcwqcz";
+"xetex-57972"="08l3cyxr61pcr1791d0x93qzd9pifgy842ij3pf3sing6qp3irz1";
+"xetex.doc-57972"="02f44pj53aq3wc6i398sa5a64c53i6gc9h0k14alr6qmdbkzw1ad";
+"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-55718"="1apna9ll4acvg8c1rhgp2fzrfjrr1zx65x865f12mgkh68m0ng4b";
+"context-filter.doc-55718"="1p6iah7wk7nk50bhiqssd1vwyvm8y224a4dlxjplpv05ksjskwb8";
+"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-56073"="0sxndnc2sbb10k2s81nkmfpvs0zim508fvh4rdakkcsnp824gpcy";
+"context-letter.doc-56073"="189knf3ng7wpilr8dzl5ahbw6bazfnpmksjgpdbn60ij4v00ckfn";
+"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-47085"="1hwbj8csxmfm9ih0cz1aqjmg0967irfrlw9xff2nggwmzkcjf92d";
+"context-transliterator.doc-47085"="0l2yrn7jq9641j3bj49w8axlvh7n2wsjy3hgg0v0h9afj8nyc1qp";
+"context-typearea-47085"="1m33wbnajm4s9x098a72xsg38sil61slpp1kk25f9w29vjrs18aj";
+"context-typearea.doc-47085"="1sblwx44pardqrp265xzg5hjpiflgic7k5xfai0q9nga9qi56n0l";
+"context-typescripts-47085"="0bpm824hbmfrwx2svq486nqwk15h1fkh3wgvq526h2pqi3x82g5w";
+"context-typescripts.doc-47085"="0pfvlba9bgrcsz6nqwmwfn1pq7j9qm8hc7dqbk8ax1c0gxbbh8dp";
+"context-vim-58082"="1xzym5nwazvwmgjx36vdgrlkiw9vmzgj6fz6qj1662f29i6zdbfw";
+"context-vim.doc-58082"="1vrb35hq2x5r1cncwsdvrxlnpqs1j7lgrfqi9pmi4kdna7x9k5ax";
+"context-visualcounter-47085"="0n20r8315py52ghivwy9kh7g7yj4ixakmkn97phw1fxgz21jk6qg";
+"context-visualcounter.doc-47085"="18ncq5d4chmnmxmhazbjh9ypsm4c3577vgcmnx0y1pmzgb2g8pn9";
+"context-visualcounter.source-47085"="18yyv9974cxzpw45rzw6ia2jamrb07bzw6gqchdprdjs0xmhz308";
+"jmn-45751"="0iq5ky3llx50smw80lpylv11jmqc51m5yrhlslz3sakmgdqgg1yi";
+"npp-for-context.doc-0.98"="11bzcxi27yia87ia7ych62gi2y59jx379fz63avc4qyq4m9686ag";
+"Asana-Math-000.958"="1ydx3x568dw336nhv7nkl99y10hplvf79jxbpj02607pgz81nd0q";
+"Asana-Math.doc-000.958"="1dpx3w4kxmdwlscck08m9s0samiwkm08mlg46v7nlwqab3mbw8pr";
+"academicons-1.9.0"="19k93f7nyfni9jkg2pwfzsnwwfwydrkqivwskzjmsn0dih3ss8l6";
+"academicons.doc-1.9.0"="19jp1r3h8irg6fzl6n4rr5pxsn5na2b3g1x5vmsfd4hxdz5c01q6";
+"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";
+"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";
+"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-18948"="08m2n7wqqj1pvvrw6q8j514mgr1168brckm1dl44yp78afgm6vra";
+"augie.doc-18948"="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";
+"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-5.0"="0nxrcgi0w17p7wwn09nfcx3v9b7ddsw9sp5224hbax0g5h0r9569";
+"charissil.doc-5.0"="13mpl0w0nvr6gqbjgicqcqwwrd5vlc26lc06gzq1s73lrpbjz5sg";
+"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.066"="191c7l30cs859xy9vy4pn5281c2v860d77fp0hn4yx1nq7fhvyym";
+"cochineal.doc-1.066"="1vxsa2cffypkibx7sl0b6k79kax07li4zp2qr6v4554gj3fca581";
+"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";
+"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.01"="1ps8rvv1i9qn8ka8idfhbsb0frnrl35cp8kdimdwzk9hp86s1anv";
+"dsserif.doc-1.01"="0px6acw5p19sn1s69864lpdlciyr4p6bbd9r69kykq2xfb94dfgm";
+"dsserif.source-1.01"="0znglnigrb3fhxd3w7bb4b13hd3yycx4lj7w645j20c89hfnqx96";
+"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.115"="0fq96r0ka5dj0phvp4i3f0sjag9fzv51hp28mc0pslvgna9cna3x";
+"erewhon.doc-1.115"="1gg99y6lpr7xxi88jn6mgzkgdnyj96ka00pz725hspxrfj9460ns";
+"erewhon-math-0.45"="1bjqllw4nk2h2qv9mmc5va93mp356n9ibj06l114f6la81k1h7aw";
+"erewhon-math.doc-0.45"="1mxx4g97m1r4jn2j0315ajncvydly0sj9fwkdsxhnjcyh7jvbx8r";
+"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.051"="0lblwfavj6awhbw75sn571gbjkmg91xrnf27xaizqlqgf4jj84js";
+"etbb.doc-1.051"="0chxvmpzkxgvik87dbw51lhd2cfq9wikny53sc2jcb4l7xr2bbzk";
+"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.13.0"="1hya456zi238bm0srhw9c6kkvxbav90w2nh7y2qq84b1fm702ljg";
+"fontawesome5.doc-5.13.0"="1864y6kn1f96fadjbwikf0wl3wqplczknj67gvnkcl7l3g61fmcj";
+"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.2"="1f5pj59r1wa4fsx2nnbx8dn9gi1hsjpcyxwbfb6mzrcji2lzqhpz";
+"fourier.doc-2.2"="0fjhgfg23g79rfhcwnvi3k2nsiqqr14mzdw497ppxbcmnlknj8ks";
+"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-52820"="14cfrwk0xqrs5ij0fkg0nb9lx6g5z8lbmacjw4h68s4zm2nhas6r";
+"garamond-math.doc-52820"="1bipgq1vh2si94hsylckq1jcmdn3j7c9pnf2ig7fpi41lylpc4kl";
+"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";
+"hands-13293"="0x0vdn7hq6k7wr7yxn8pnkvjhjq3mfl781ijrs2mpvjqygqffzag";
+"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-57213"="03fjlav3f0ydw3hy01mwg67klxlny2cj7746vh456v8hx8py0zi6";
+"inter.doc-57213"="051bvp87905b9764q9wv42lfpkn8pgsygkgxzyrx3p34dvi0r4ix";
+"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.35"="0b3g68jhdh4387z00klr613hhp6wzxhihn4q4mi9khkpq9gh4yq2";
+"kpfonts-otf.doc-0.35"="0ixaiwdkc7yj2r1s5s6606lrr1kkicqnxva66562lmyw1w4cmxfh";
+"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.28"="1wh5wwf0p2halvh4vyg4iqrxnz9z8zfm08pa3pn9iv0m0g9yv7zl";
+"libertinus-otf.doc-0.28"="1r52ijg0rvhk15hd3i74csdmmclid4hj6v6a0436g84510879jfh";
+"libertinus-type1-57754"="1xy94cck1rhid4a06n3kygy047xwlw5l17mj40n92dg188azfxkc";
+"libertinus-type1.doc-57754"="0fkn8p60m8761mcm3wa3nggag4h9rq0df1bdndafqazwvwnfc9m1";
+"libertinust1math-1.2.2"="12ghc0ap5n6yfb9jj8lsx93khc0ry4c87frpv2n2qs5vz1qddk03";
+"libertinust1math.doc-1.2.2"="0y0vnjhw0a8xwhgmrp917wf3r8b4vm4s59nldmnmjqj8l0yar6rw";
+"librebaskerville-56018"="1xv6f8bw0ygvwjlxcr0pciz6gamw8xvaqrryj87jqhl9phm12y33";
+"librebaskerville.doc-56018"="1331px6bv7zz8ijq8l368r6jml3rm4f81mrpw0hj93x90asa2fhy";
+"librebodoni-39375"="143ccap2ah0akw3gznf99bcw8dri83vrh1fsgzwmw3qdvqg73ynk";
+"librebodoni.doc-39375"="1wigr8r4z4a0cy8m2psz79fdm4dxpj4ara1am8zdvi5rb0nga4as";
+"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.08"="0yyc9rir63lnnfppgw688rpvw0z4sf9nmm9blvv1praks83cnhzj";
+"logix.doc-1.08"="0ivym2xs8725sm2w65ryf0ymk37l3j2q6sm8slv9af7s5plkj4db";
+"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-3.02"="1vwbvr7ywbc1fjj9wmjva1h8fxaixklzwcks5d9fzpd2825i3mpq";
+"newcomputermodern.doc-3.02"="0x94jcrwvg0jj8mi4j4xms2jgig651kk0yj9r1gpkwbwyhkwqkf2";
+"newpx-1.414"="1l8l65fdc474xdphldqvllcx1w0a22fsbgpnjvliyjwwh4xb233f";
+"newpx.doc-1.414"="1b6pm2ngc3a47sa4xwjmvf911562sdsmkr0j569rr1kl7d0xkz26";
+"newtx-1.642"="16d93k8xzvkam7apcbq2fpxccym5pgnjm1kjz7d7khwc221jh48w";
+"newtx.doc-1.642"="0gk3zhiga878qc6gf9p61d8fli7hh9mrrdmbf70fc7rzxy72s6yw";
+"kastrup-15878"="139ynj6jr5iniwg4ry57b61bpalchwmk2lvxpzi6rzhp42ifv1j1";
+"kastrup.doc-15878"="1bzjky4plcl24fg5rwbjizixwfn7nkbzb6wwydxd7s2053zba07a";
+"kastrup.source-15878"="1c4ijjifc4lwimzrhp7ym5804fz5afmccn4bnfayypmjqpc8x6jw";
+"newtxsf-1.053"="1dw182jxwcmbg2qzv49w27lm5d639iiv0ms2qxigjiwakw714yz0";
+"newtxsf.doc-1.053"="1xk4n0hwg7hgzqzh03as1bayqx58rs2sa7d58xn0wd514blz71lm";
+"newtxtt-1.056"="1rydma1iqcb7k8ihyhpgdbrq4vpsy2dwyij2pr5p3bbmsc60kc42";
+"newtxtt.doc-1.056"="12mvwqmpb1hyn3l98z74qhyqzkinzw4q4f4q0mx1z586238q4klj";
+"niceframe-type1-44671"="0lcah795iqxkmdkr46gk76fypawz1mwiw3nxvgvbx9wrsdfccxy0";
+"niceframe-type1.doc-44671"="0prjzgj1fg71kf38asq8622l6yjvn1pn6am1nxkwrpfmn3bmn76n";
+"nimbus15-1.013"="0w94j8wh65aprww4vsk4q56g6ra8rhbhbpdw5zhhs24i4vrgl1x1";
+"nimbus15.doc-1.013"="0b96wcvh8kgiyxlhzdgpwrh59hmxkmhkpjgiwwxi9f251cp0iq5r";
+"fontools-58747"="1wjf1zjlk33avhvh3mlws1ni3kfq80hkvlclj0w2qc432hy5b0wv";
+"fontools.doc-58747"="003yajraa1bpvxqy0n09hy1rfjn6an01jl05alabkglra2hqwcrx";
+"nkarta-0.2"="0mhi640hsr7dy7jbvkqq2yl224i9ialf01jkcma0cq527nvrnm3f";
+"nkarta.doc-0.2"="0bqix170zf7lgiv11v4mqyq3iva707zv91z154bi71cvnlknbkns";
+"nkarta.source-0.2"="0f6m2wz1cd99s4nxppzdq9jm1hg02xzswgm85dmi18jffgrd2chp";
+"noto-54512"="176cz2x9aizx2wf70zzbb1b9im0xvmkm42zi7n4h2l7kknlig743";
+"noto.doc-54512"="148kbjzwhmkghdlqzj2vww02z73rbr5rpbcr3yryggn3nlf6y3wq";
+"noto-emoji-2019-11-19-unicode12"="08wv3k0gkhd9mb8b3l2p4ag0wvjj0f8iraf1wnfc6i1757h40i14";
+"noto-emoji.doc-2019-11-19-unicode12"="19iwbi47c1vr3jhffqvdsg5ymq2w9ks1n52lap78bp32akipjpaq";
+"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-57253"="1nl8lrvxxjwhmavycz25znzff1qsv4br83w661fplzp5nqy2xmh1";
+"oswald.doc-57253"="03jhmikwzb86xrm01vsx1an0bcrkpcy8m0ivy1nkc5gjq94zilzr";
+"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-56070"="0wxqymp27c173h3qs7if47mwmfa11d52z07fl0pxlxk1fiy3vwrd";
+"poiretone.doc-56070"="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-1"="07i7xk5v73r30bn2nmyk730pib1d9gwgpg0kqchp2pz27vfjc0f4";
+"pxtxalfa.doc-1"="0jvw6sj4dw08cmifddba2fdq300a4x6vkczj0b1qirrq5vx87iij";
+"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.02"="1h1hzsf74jll793qs51pq03b2l9szbqagn2p03bcg0f3lgx0cxx2";
+"rsfso.doc-1.02"="0ibld15imrqmrs36ch31d5a4kdaspjk03vbb667r045ds43q8a5v";
+"sansmathaccent-53628"="0653qd7c2lb63lbgjrbac7kwl2lzygz694li1clwxlkrf0bnv1q7";
+"sansmathaccent.doc-53628"="1r7dqwn7vxgg51jlsgx82kv79fxskcdz6cyhkdbwgd2f3rmkcm5x";
+"sansmathfonts-51356"="1w8sv0jaxgr5pjz0mnllmkd9gpbrg220flr2j5lnz4vlcyvlskw7";
+"sansmathfonts.doc-51356"="18ag0933q07w5l7li369j0a8lz69hf1i6paa30470pf41i1gyxvr";
+"sauter-2.4"="037skfr46198y0vczwcy6dzq9ry8w5imj1ih9nfy9mrb0hmj8caq";
+"sauterfonts-15878"="0x2j4rz8n2v5qw1j71h2yasjv2yh5g503svjrcy70n27njcic2dy";
+"sauterfonts.doc-15878"="0r3xc4128x9nz9wqqs9y7a45lfgll99l7n6k87cb2zkyckr0kk6f";
+"sauterfonts.source-15878"="1k5fix44afwcx3rihmipji2zalc2zhz8m0rcpybpz76mzqsrc1fi";
+"scholax-1.030"="1znmi5l96dis86x5b5ff9yr2ghvnylrl7gn0x02qj8s0j52w07gj";
+"scholax.doc-1.030"="1f110d56spi8gjsniimxjpcnbklxqlck9nqnc8fm3r4h7rrm715x";
+"schulschriften-4"="19nh81mzd8bddd921h5qjn0jrkggy67s1crsjz16pi0l7nmai1qv";
+"schulschriften.doc-4"="0jkgsphbmyy82vxpp0a4a9i2pyn9plxpng6ygpgnipr98v5vf8ra";
+"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.034"="0di39yfsk63bhvx7aiicc2m11yjr3l79cb7fzxh2yxlz56xw6x7z";
+"stickstoo.doc-1.034"="0n5p7311vckk3w7d0ffg7hbr1ljlj07z6f3qvaic4z73gr3qv7xn";
+"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.5.1"="1009mh8kw7ch8gr80pcc9xhdjvsj3062vyzjy0bn8cb3qvhr3k2j";
+"twemoji-colr.doc-0.5.1"="126na3n7zbzngx4zpimq8lr32anwixl571yp0cj0c7clkqa3c6ky";
+"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.216"="1rfry7xnl1byh6f3r949xbvq00cmijmlblihhgsyy3bv5r4pvy4q";
+"xcharter.doc-1.216"="0q5yl9fqqh00jijmsrfh2bkrslz0qji02fxaxipsmsf4h5lm80g0";
+"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.02"="0ka4hx95138c3aarinsivmz13jfkbm4lyqcgza96cmwx3r3hs076";
+"zlmtt.doc-1.02"="034fjal61sy3f87cj0wx4z1qgiivdr1h84yn0s6ygfpdvxrrqd20";
+"avantgar-31835"="0zqa5rz9rzczpnifcq4rwj6ybvpl365371jnz65wvaq0l5zgnlip";
+"bookman-31835"="12wkjwpzxn1a1k3bb41gpnky1jjsh7gzj4xahsjd087fpmrsj9p9";
+"charter-15878"="1z9145ri2g732bs4fb8i74gc0ymak33k7sclahln2bhdpxi286fm";
+"charter.doc-15878"="0gm9pwanxvzv0zmxq6pf54ygxaxvg56kh1ym6f5ij9akwvhf6nwb";
+"cm-super-15878"="0vpxkin8zvanasm0n6zzgmy7wssca6bm5yia2mjdi7nxzqyawlwr";
+"cm-super.doc-15878"="1ygbv3gwijyaaj8yzwxzsjqsfjdf52m3lm3f7rp1503d2wvq2qzx";
+"cmextra-57866"="00my52lh3cn8bn211fpn7373b7khaylx4fgkrd2m72xgaymil308";
+"courier-35058"="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-31835"="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-31835"="12jc0av7v99857jigmva47qaxyllhpzsnqis10n0qya2kz44xf22";
+"ncntrsbk-31835"="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-35058"="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-31835"="1753lvv2bq29g43s4chc884n742695agvgal0b99gsrvlkyfp8gn";
+"accfonts-0.25"="10z7c7cgwm62dyzxfnj0jiy328zj3wccqjick37lz641vqifrd4v";
+"accfonts.doc-0.25"="17mbr2ydbkc4md6zd34km3d4s2vjmqzfwb2l01n4y30vjz2lzsn1";
+"afm2pl-54074"="1nbb9lcxqxj2aary7a65fai3hgj4nwzm690iy0xv62v580krdbck";
+"afm2pl.doc-54074"="0cp8il19l9sz997v9lcxkl6r94mnlnbj2lzdrffwd1fv63gkxc6x";
+"albatross-0.3.0"="1krqfxy24n96xzzrdq512mc78va4isi2xvhmvrzp3hisdvysbdk0";
+"albatross.doc-0.3.0"="0xvfa182yi2hjfxs80z6kmsn7lbg6nxqnc947y8p0kcbikzqbwc3";
+"albatross.source-0.3.0"="1599i51cdzqgcmshvghacflivqbxj1gxnbl9sr373nz60jsqj8sl";
+"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-57972"="06n3am526l1g44db1pyjj0y3jj7792z4z0xd9crc8w7khqc0jmna";
+"lcdftypetools.doc-52851"="0yjbc6rsf8c62qa1lyi9kjyjy2p0xlps19llnvly3xyhla08j76f";
+"metatype1.source-0.56"="1nhbsn33w6zbzbvi3a32ng6ib5dbh0vll9g2c5ssiv1ysxqrg6yq";
+"mf2pt1-2.6"="0gqs7xg46iwnwsx4shsdl2zsac604nzi05gn3fnh978wi409kvrz";
+"mf2pt1.doc-2.6"="0sh0pkdi95yrg0s624dahn51ljli2aszh8np544alzzkdivhwr9a";
+"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";
+"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";
+"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";
+"musikui-1"="0z2ya761bf0n7l45dqkc626s9d66qwr810fnwf34lr1876y3sfyi";
+"musikui.doc-1"="09sdb98m3j5wkl4p7hdpdrnrr0l25ni46nlhkhg1g54hdggcpjb9";
+"nimsticks-1.1"="090gx9753q9cc9kr973yjsbq3g1bli0qigsw4k2n0a3wb9392frm";
+"nimsticks.doc-1.1"="0s36pkz37qwjrmfw1sykwz9nf7z91jdmfvllgzaymz745ssh42bz";
+"nimsticks.source-1.1"="12xvmydh6p79xjfyv67bnkiqi0qcgk2xwby6ysw06nrn6r4y37qh";
+"onedown-1.4"="1arb5vsppgnfv1802m0iqv5y5vwljg8pfwr1pxmgkaff0vc34m2r";
+"onedown.doc-1.4"="0xgkcmllgxbncd49yl956pah6cl8rbbn74870rpnvxg6h36n0f90";
+"onedown.source-1.4"="114h8a0hfv9awf1l5lan5nkbiipvhkwhxpyf3jxsis47frma4wrb";
+"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-24976"="15bfdyvyzh5ynnx16bwr401bw6dbsl60rh40f8l1wgnbh93cdpy3";
+"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.5"="0vad21mlpf4r0hn3010fg2bmvrhambkrlkiww0cc7n2wby4l9bnf";
+"covington.doc-2.5"="0kpxk5kgpg03bj5f8jpnfzpbkczffq9l7z1pfzw5q14sd2bbl8bp";
+"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.37.2"="0lvyd8kag3qmwpvf4ya6np2j71mjl11a3plavcpvsj9zgcmdmpy4";
+"reledmac.doc-2.37.2"="16d2brl9dqv9v88x81xc3lx0a9g84222xz4vayjggppcv2cydm3c";
+"reledmac.source-2.37.2"="1y2i6sn1hjjdw997axbcf5w5368hrc6nc9hrc9macgc5bpal1kki";
+"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.10b"="0v12fsh5hf77x6r105n2cvjv26hzsn26yc5gwjmcl3gy5b74x38a";
+"thalie.doc-0.10b"="1n082iqbynx9sq563b1d9kkjh19wvbmrhcnfr3h314gfgdmw6fkx";
+"thalie.source-0.10b"="15qb05nv0ac34vjk6b9y2l4ag6sa25wj3vnq3gkrzbvvfy929kad";
+"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";
+"arabluatex-1.20"="1s66v0qns84vhpwvb9if07b9s7957jmxxd643g1mddg36z6pkqfj";
+"arabluatex.doc-1.20"="1rfwl55la33ag9plqwssjvgq47mab2h7ljrw5w6l96vq965c2csa";
+"arabluatex.source-1.20"="1g84xxm5fvp6dzdrkyxcjn4wlih0iydrdyxn93dffx1a9n1c3yyg";
+"arabtex-3.17"="12vl66hn2lhc825fp5z6sv1gxlmcivzh8v0qksjmnlkgrbvj7f66";
+"arabtex.doc-3.17"="15ajpzcyxn55f3knzm5zyqnkd32dbylp6zgg98wphvrxmggcjh1a";
+"bidi-36.3"="1nyd4zz12gxlk5n1bg6vinkm4isy1zi0iq9d6vfk2p6w3qwy9dm2";
+"bidi.doc-36.3"="0wx2bpygghmjxz938qs4gb8739accp7hnwlinrbids3pc38mxhl0";
+"bidi.source-36.3"="08apy9pwz55b1r2ab706slvjnmyc8ik0qz451jyrvlb48gf3g89i";
+"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.01"="1h8y4wg07bhjcn42z5bgiw8nkgfsb08h80mhsyg0mg3dqrkpx93v";
+"hvarabic.doc-0.01"="04ngis91nsdrlb2cq0hn9vada37ciqsydwaknbjynb5s1a5p172w";
+"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.1"="0y3r7hy2sxwim38msy87rd338hncygc920140i8bs9ii9qyxddwx";
+"xepersian.doc-23.1"="0g9n3pkd5zj705iyyw6rp4k88mnqc8kl4ng0jvcma1wj48xjzl83";
+"xepersian.source-23.1"="0yj8z89hhf083fzw4kr2475zl7q0zg5frh04hkj617a3cylc3r12";
+"xepersian-hm-1.1a"="0qj98xrbnh9bam0a6c6vy7ffaia3iqsx5s71bjlmbnyl6y2h8lwp";
+"xepersian-hm.doc-1.1a"="16f5x8jv8mqf5a32gvrzqwh1xz4s5nxwqsq4q8sg1za6micqniyg";
+"xepersian-hm.source-1.1a"="0zcq75xzkr0bgpf1xdsphrkcv70q17vs8jkhzxvjrfzilh9h3iqr";
+"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-54074"="0dwi568dsqyc7qw1k59f6i6dp8d22130zgppzqpm4xwp1x11r4f0";
+"c90.doc-54074"="08mnypp4hgyq62wrir0fma2gaw9c57nibc54hkzknvzkkc02slxg";
+"c90.source-54074"="12bn9sy8dcji52jnzicjrwdp0j1m6c6pl6fk7i505djgrxs000ab";
+"cjk-4.8.4"="189r8lxgrdl710k6cvnnsazhmp767da75qn2xax59mcfg5nq3z32";
+"cjk.doc-4.8.4"="1kbchcf6i4svr0ilhh8h0q31js77hkprx8wjz0grc0j35rsclgp5";
+"cjk.source-4.8.4"="08lx49bj7jy5yki8zkynssi8k03z5c27782ajr49chw9slyrs49d";
+"garuda-c90-37677"="1yz7zpwdvvhzcsfcz4dc40nnaagwrsxvskc5bymmdxv1zf6m3npf";
+"garuda-c90.source-37677"="1ngmq35xjs1ipr9y9agxxj3kzncbz3f8wbrkhpml45r52jds2vnf";
+"fonts-tlwg-0.7.2"="15npkl9qypfrvsjwwqi9awl56di7wpr200pi4p0rsr2bx1117mlf";
+"fonts-tlwg.doc-0.7.2"="1rv1dy6phfx807df03d1fbhydcddqpdply2a270gsqh4agax69f8";
+"fonts-tlwg.source-0.7.2"="15b8j3fbhdgz3lksra822igy4hwy5gyynpl5wzbs5zh1yhzr517w";
+"norasi-c90-37675"="1bsx31al77ci58p1zavp5q9dl8msdjqilb19fglnkhgg8bjbqh7d";
+"norasi-c90.source-37675"="19zfqq52ky4m5hcgzyy830jr1bgpbrhc43ygdvqyb28pdfgm6sd1";
+"uhc-16791"="1xvkp384p0xcba1lbi3b2najk6d2w1s78yi6vgppmcjrd5limif2";
+"uhc.doc-16791"="0q1wxcn2zclpj4bsn47jgd78xmp82a6x8w068j4ihza9pfvbqacm";
+"wadalab-42428"="01lf8nlga2nycr23xpzl6xas2nlgajjmia4lk4zvjdgcxqnipfrq";
+"wadalab.doc-42428"="0m8x6plkry0p3jabvhgkccb2rvlsz941di4ihfc8schkq7iyjlxq";
+"cjk-gs-integrate-20201206.0"="00rdlkwkaclzwawnsqzyf07l2lvxl1drfw4qvq2lg25ld3xni1b2";
+"cjk-gs-integrate.doc-20201206.0"="0x1q9kgl7y2nc6pq3a7bzb9na6i6kw629g544k8a5rgfhkzk9g4p";
+"cjk-gs-integrate.source-20201206.0"="1h788aq405c44alpj85lyhmlnvdslc21n6h89vx5dggdfypbq18r";
+"cjkpunct-4.8.4"="0wvqmf60gjm5m7fcc2qqz14lfzxcrqci3lrla96hxkqnqraiyb84";
+"cjkpunct.doc-4.8.4"="1ja16xaqfg5158155flfvayr39k7grij13r1r89g59va53mpsgrk";
+"cjkpunct.source-4.8.4"="1pn85n7n4fp2p5pq3w66kb5zlnjk1bdz7fz4xsa6z31d5216j39b";
+"cjkutils-4.8.4"="0wl33vh7pcrbyvxy6bfcjfv0xnawp4gb76cmq2304n9mp2w8dg2h";
+"cjkutils.doc-4.8.4"="1gvbw4yc0knc86rydscpwclirg0mbvl3yk4fphwx0wwr4vzi3my6";
+"dnp-54074"="0jlvb0nps1ij4sgbg3clgbk34p80la1fhh9zihn9fhl9nrqk637r";
+"fixjfm-0.8"="1v4gn6bwlb294sxrqgy6j9vx2dp7plbagkvmw7vbvp6wk8dkza72";
+"fixjfm.doc-0.8"="0wiihlpjzvmh8dynf0nbhmn8raxflqxmzpk97s1qv7kkvpc79sy9";
+"jfmutil-1.3.1"="0mgx44gr6dm8mp35k2z766lcmc4pmkb7jwbpamvz3x6zv0f925n7";
+"jfmutil.doc-1.3.1"="0y4hfngr23gf5spzjjfj9c6f863x2hvjrf5v7m80zjpr1r9x4p1a";
+"pxtatescale-0.4"="15swkjxfxznb101hvlqcxpplxngfaf0nbpkw7j2fgccyqjs5fhfn";
+"pxtatescale.doc-0.4"="1j6yrpyfhn75qkv03bnwj9i3s4lmsh47sw696y13cflvdmsgs8n6";
+"xcjk2uni-1.0"="1x77gmg738r2zbyd0mc7q079hz5wbvabyszmwizfdj6vflm86w3y";
+"xcjk2uni.doc-1.0"="0xig1w251dsn2qd9iywcdc20plibadiw8hl1iwygpzfa3187djjf";
+"xcjk2uni.source-1.0"="12hbjjdypk0s5k5iaac80n2n4z1zlkg5lp59y58dwnn4y1dx6m6z";
+"zxjafont-1.2"="1blq826xrv3wqkpdndd21wmd5v4gp1b45yw9rkb1g2ypsighmbwg";
+"zxjafont.doc-1.2"="1vaavdxhjq72ri2aw5qnsf8jiijwn1y36fhgnpb1x0dhkhwz8076";
+"ctex-2.5.6"="0ckxf94x3117m4fwrjyzww0diwwfsx1hg1wpmh2l2zc3pdg69r5h";
+"ctex.doc-2.5.6"="0p1xx2zpj5nzklsx063j51yh7pfr14iicsv99aa4lpjvdad55rkc";
+"ctex.source-2.5.6"="0nzs5bllvbf8mki5j79cqq1wbybgdxf1y66k870llvp851w0can6";
+"beamer-3.62"="1jl89gvk3ka810d0jxk8c30rw2xkv92jikhdz9150xkw9slk5rq4";
+"beamer.doc-3.62"="1n3i17rm82s2is8csh467y69f2n0s9kwi82m3l81l7a78xivzgkq";
+"pgf-3.1.8b"="0llrxra7574cli878z67rvm5wab8ny595sl6m3k79gzv1zlp8k10";
+"pgf.doc-3.1.8b"="0ky0rk0mx66m2124b4jjrcjb3w05rsjw2sfrnrz3kj21vyiijlb5";
+"pgf.source-3.1.8b"="0g81wcsn7dx21q44b29jscikxayw1pa5vqclwxvd54p1x5f98ch0";
+"fp-2.1d"="07qzdfrk2y499cz9jbpnj024r43japqdngbxg4mbapw9cp8066d3";
+"fp.doc-2.1d"="1y1xwqf6mskg10h31ws2pvn5y6g9asflc7l9r24fp2fi4254mvhq";
+"ms-57473"="0km07va23z5vzx87ndrv9mj0fq4yw0kv7qygd59smhm4q71yspkl";
+"ms.doc-57473"="122xwapvjzv9qyh3p1884bzdpalvqzzkmzd18gqr3q3r4cmk2q20";
+"ms.source-57473"="1myxaybppzkdl14h4g12xcp57zqjzkzijryv9nd6hy6ggl9y8i99";
+"xcolor-2.12"="0jaiwkqynbi9f7j4kacvhzcahndmzvrb063r9524p2imv3gia8c7";
+"xcolor.doc-2.12"="024avysbkx4h1z1l451pfy9hdwny2bks5c34m14qlsb97qhi1smw";
+"xcolor.source-2.12"="0jjdrs6q191dmnk941di50pby0mifriz247g0dflf1a78il2j4sq";
+"translator-1.12c"="07lw6zy3gwv3w5v8qpjd6fyzlz1qp6rk4qf70lrsd567ybw0vmzl";
+"translator.doc-1.12c"="0icgx47gy6m3b92q7knvqjb4pdxikj3i8lj35kw9irhzrg9yvndr";
+"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.7i"="14fl3r5zvx2va4wl3jikvlkan9w8cc1g6ri7rm2rizlksi0dad53";
+"fontspec.doc-2.7i"="0bwfq45mx5cdxjpwjdhdjxyw400933ns0zynxkijcvkvzhjx4pha";
+"fontspec.source-2.7i"="062mm06inkgmpv58c2rqc9cpbr5fkg7bznabdvyq8rvvy4qiwd5n";
+"euenc-0.1h"="0lh0k5g6icbbzl1xzzcj4sw7vjhqpn59y9xbc6cn58klpww8ywdh";
+"euenc.doc-0.1h"="0likhzn8afsq302aiyjk6adhjimz0naqffjrj2s06c6681z2inh1";
+"euenc.source-0.1h"="0bwr4cabh3w4jbx476ygxv6afxj6sblszr47awr2nixx0m018ndj";
+"xunicode-0.981"="1h8ixz9zy9izv5j7555094jiwfp5js5y8mp4bh993gn9xn1rb6b2";
+"xunicode.doc-0.981"="0jrxnpas07np9a30cybk6jqv4ng96vjqpyyadbl55szkiylzwwfi";
+"luatexja-20210319.0"="016glnf76gbbhb7japvk3p8x37i31pw8hz58qvn610cg88w2r755";
+"luatexja.doc-20210319.0"="04zjjfm3yd3kkscspfjcplbflv9nsv6iyain3fyv2z4lk97i8169";
+"luatexja.source-20210319.0"="1ld91sfhyavw0v6zs77df97mnkfip4alyr7a66qgzrgn1vpp920q";
+"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-57729"="1vzhnp93lpvv59qlj3kd90lb5blyxfq32k1x6g8301yqmqpxf4q3";
+"platex-tools.doc-57729"="1rk37vwds2qhvlj8r9gz6x7vzsp8zjbwr560adjh5981a03d0rib";
+"svn-prov-3.1862"="0r4s76i89wh1fjrmf9imf6y2sf96xznznyjfcivi3sp8dvf5ln5v";
+"svn-prov.doc-3.1862"="1al7qiwd5ajjpvs2f90p7frlkd389p1ama019yl0nnxc1l45m067";
+"svn-prov.source-3.1862"="0cg7qwgv20jvvw6bibkskj3p8jc5l2mhgzwq6x0wzy1ds7x1f6b7";
+"uplatex-57972"="0l8vw2fcsvrq0zjixwizijib9v7yz9fh6ac5hs76bjm3r4xvj870";
+"uplatex.doc-57972"="0386xnw7fazkax5zp929mqmwqzhanysip8zycflg5n9gl3p9rmfm";
+"uplatex.source-57972"="1fzr3vh98nnkr3f4xh6cs3i5fkqqh08530kx8rr70325714mrjkg";
+"latex-base-dev-2021-05-01_pre-release_2"="15z8vjz6a6ymkmkxma5p16gjvr9nsqx6wkxbgq95ljpp74hg3j72";
+"latex-base-dev.doc-2021-05-01_pre-release_2"="1s94lk12cyrnkfb3wjvjhzxg4dwfic17pmsqbnyladc6qx3r10ys";
+"latex-base-dev.source-2021-05-01_pre-release_2"="0zbnz9j2qzmkw7j4wimflg04lh14jxhzvssimgxqvc352zhh62pd";
+"platex-57972"="1nfkv6g4193wlyq4r1wa70k4ilvkkgi0iv6ka59s2c7avr9ji0j9";
+"platex.doc-57972"="0w6kqw1xdw9wgn4890lspskm4cvznr6d1cbi8nqgv8dfwxvkl0wa";
+"platex.source-57972"="0q1hnnkjchx1c6pkpwr6fqp2lyhyiz9izs9x2m5g68p0764zvk0d";
+"ptex.doc-57972"="0c4gyjrwcxhiim557m13kfnlbp9hc6781z78nhabgg6zd7qb7m6m";
+"ptex-base-56487"="09j5xw5j57zv733n9r6ac54fn8aiv18xdvhbphzpgry98kh0clwk";
+"ptex-base.doc-56487"="0nkk67k9h8iiiplg5jcvb1gh8j1flnzdg40kdq475zlhigima33c";
+"ptex-fonts-46940"="1vvgb6kxl4py4knh9jqnwjy5a9xf0r0yr8n6rihpxmmw3lymwrip";
+"ptex-fonts.doc-46940"="1fys51jjzzmcxrkkc2iq6yx5p68mspqnhm3gap292f7qbh2n9jp7";
+"uptex.doc-57972"="1w0wvd77mvba1qszvz8j6kpbrsyjx413ldpi7bz87al8qcqhj9p3";
+"uptex-base-56832"="1sp3jqkxhylcqxm5hlc0gvgzs7h6xfirclppzhdwm7g4v1ckf0ni";
+"uptex-base.doc-56832"="0d82xasqjq2mmmlcn833jjqrpb7cab2d36rnw02ivbrf07m8i1hy";
+"uptex-fonts-54045"="0q4rn470yg1d892mb6g9z1y8y3w1rw7a66ag5gal6j0ndxllgghc";
+"uptex-fonts.doc-54045"="1nc9fmaq2vyp6387k7rdpvpzclabr2g30cpng5ry17k3qmliiaqz";
+"xecjk-3.8.6"="0whcqadziv4xdilgcl59dgfdd9m79944wjk73j3ynl6djvihxiwj";
+"xecjk.doc-3.8.6"="0w8vq96qg7z6brf5q3ckqdxwczc5cgl19jakn9i70p27nxci6dny";
+"xecjk.source-3.8.6"="0wwymwnkdfhmmc0c6zb5r3nbiznka0kykcm404hyjixjqqcri3mp";
+"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";
+"hyphen-chinese-58652"="08sbasjp9b4wl15zmx0diayqfa9i7pf65nnsa98lbc9rpyydvhn3";
+"impatient-cn.doc-2020"="1pc20pb0las3slam1d9hmqigipmr6r98wwif12m33mm750vmq65i";
+"install-latex-guide-zh-cn.doc-2021.2.1"="06lz1mrziimfgng5sls31i8z0g06zsvmbmjvng42ra34ybmy1xvw";
+"latex-notes-zh-cn.doc-1.20"="0w9rmd7b5fnfvix653n9vbnn1k8yxlaaak79ipvm8p53dx75xfxd";
+"lshort-chinese.doc-6.02"="1lmj130hybwidxp1kba2684vm4bqvzd1ylnnj80w2wc60j8d1xkd";
+"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";
+"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.0a"="1bpk4v943cc349clqlrqk3z4qgys9hcy6i8f0dih5sf3m4rkz33g";
+"babel-serbian.doc-2.0a"="098v5c5ncjbbihz2anzpnxv0agvyvp2i2zp4n95madqwjwj9hy9w";
+"babel-serbian.source-2.0a"="1pzmq241c4ra9ms9q0w8rfjihszz84yh34wg0lbn1w2f82zmvmp4";
+"babel-serbianc-3.0a"="1i691hb5pjis0g9vahxi6f4dbi1rxjl8wd497hnwq6ca4qv68yq0";
+"babel-serbianc.doc-3.0a"="10bdkiq26h6ack65g0xfn7s8vbbj2chdbcdphzhb5s7w8wa3217v";
+"babel-serbianc.source-3.0a"="1dn73rsdf2mrzcd5ggz33fbqfmd7rqvwbsm4var8s7zlgfw386ir";
+"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-39273"="1fdsd6ks48rvbvg44ac01z89rbd4w887lg2f9wqca1byx142jg3h";
+"cmcyr.doc-39273"="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-57972"="1qdcnf755fak3kppl02yi2q9ghb17kxr2cyxc2y80idaafqgr9sf";
+"cslatex.doc-57972"="0b2a9hrbqzhd7k4ac9sqphs6zvj1hc03acgm5afyijy2mkx865v0";
+"cslatex.source-57972"="0ig4a8nksmsm7pb1hxfy6gksfv27bgayqx60ygiaphcz0ir73546";
+"csplain-Mar._2021"="068g31l2ralz03gsv58j67dm85vy0ad58dvdkh93ws0yzf0rnr5f";
+"luatex85-1.4"="0ss7c5x0x7sx6lsn1iq6lyyp6w0xb1iy01s1f7zf7mlb9n1yzffi";
+"luatex85.doc-1.4"="126y3priwz6anp8sj0296bnxd53lz20nchpxw74zphfpwrv4hzih";
+"luatex85.source-1.4"="15bc8g0pgrkqpb8q2dhb6zml2d4jwrripih9898mmalsjixy62x7";
+"cstex.doc-58354"="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";
+"MemoirChapStyles.doc-1.7e"="04m56f629sh38khc771jc50q5fv1fmbyqkww1p6cr617626m2f4x";
+"Type1fonts.doc-2.14"="0a4fq8sx73nbgb5lmbsbxsjv3n4ax5x7l284yw8qzqha9l0sqni3";
+"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-13.0"="130s89hkcr2im2k282crcpgx892dciw8b2cblpgw0fh7akr5c05h";
+"dickimaw.doc-32925"="1mxjqn4lblnpbmad3jk453lyx1qzcmrddis59j3jsgc5sp929w4k";
+"docsurvey.doc-57362"="11qir5haz6k0caa7c3gf1iads9z5nwqli7gvblzclxv6g97n9374";
+"dtxtut.doc-2.1"="1szg0xvwm0jbzs8waillijzrff4kv04a73gsqh9c12ap427xfryr";
+"first-latex-doc.doc-15878"="13ngk5pia5vbrbb4jrrlq1lmyja08m7cy4ydcjasxha8kns001ss";
+"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-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-57213"="1blnnx7bnabb8yqpx3sv62n8xygibyxva9d9s7iw8w7rr74w7650";
+"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";
+"metafont-beginners.doc-29803"="12hhvlnvh8dj1396242m6yi0341cina7sxrv7pwzqxzzahwdvmgm";
+"metapost-examples.doc-15878"="1rslyjnw27b5br17cbf6mjjkcgyr49yav4kw12spm3vdwyzb7gxr";
+"patgen2-tutorial.doc-16490"="12b78p7jsrfi88rr2hf4118x3myxbiq741k2kdasrs40fzvfjz5s";
+"pictexsum.doc-24965"="00yd0945qiss5jizkxncg8a9bdsld7mkhaipi92bbn1ghqicsw5a";
+"plain-doc.doc-28424"="062d6hg4npy57307avvyd2sdxnmyrh5ia2rdb17p6cx555k8zxwq";
+"short-math-guide.doc-2.0"="1wjcjgw0xk4zx57f364cpl57qpxj3lq4lahlkbk6iiin1h9v2prf";
+"simplified-latex.doc-20620"="1cgf1p7p2ikda1nb0c2vhhx7ai6rd973pz6a00pr9yanxsvghp6d";
+"startlatex2e.doc-56809"="1nn9mcazsmhlb7gdw06qcyf3grf8sbgqll9j8825p64ahy35al6q";
+"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.6"="1yv4l3il5wpfijr9h4k2wfvrvk5g472p6p94kcb6azfmrnxda6h2";
+"tex-overview.doc-0.2"="1agfya9rwvyjvip0alvibimz75jivpf19hp4jvlv7z0n9m26m9jd";
+"tex-refs.doc-0.4.8"="1w7hcd3qsdhmb2siakjg2hm3h6kxa90ncsaif9spr4xkxs03ib6l";
+"texbytopic.doc-15878"="0pnh1hsd6k434c8i1xdjq3ywrwylmryrsl86d6h7i1cnmzz4pwlx";
+"texonly.doc-2"="0h40f8hj03ha0ilpj2fx5kzzvdv0yplmr4528s2rmmy62l9kgdkd";
+"titlepages.doc-19457"="17ib7rpb2dhb2m724x66fdzddv8cqd808wxy5kkvx0vb3rl27hyh";
+"tlc2.doc-26096"="1ysb233rjb8gpl9s35qql1dny5rj6fn8ssy2dqdqsn5xj9pdasyy";
+"tlmgrbasics.doc-56221"="0sgbmlrzr0v9d09h04z9mpqxcidv9ggdfi1ibv83y85f5blwqirq";
+"undergradmath.doc-57286"="1z8my3fwqc8rfc1843j7lcmfka2023z9k0js4ygh1m8kilc2nrr7";
+"visualfaq.doc-38647"="168agj8vspwb6496rxx6gh5prdwx64ihc34rw74hwdr67nxh7ihm";
+"webguide.doc-25813"="0wid2sxrif3mm3lrs0s6pil949byviq4d7924yzvmf9hkrs5f03v";
+"xetexref.doc-56291"="15gb91s8zmqh1zwar2r3yca3ywp1lz654h8ha6xg52lg83vjzr2v";
+"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.8j"="1hiv1r65zvn3hqql6pglm209nq9qhh5iidbm9x8ikl3q272f8y2v";
+"babel-dutch.doc-3.8j"="1pbg8gfc3z0k5caixlz5vfybhfxy8wbc0xls9kjld53ia9mvyy4r";
+"babel-dutch.source-3.8j"="1a40rz6rznawgarnhk0wh751sln2x9js4420i0758y2clf4rlhg9";
+"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-3.5"="15hnxn0660dbds675xrd0zsak4bjvlcw43bs6g87c4m6dqkcg8c0";
+"babel-latin.doc-3.5"="077jr35smbzmarsjl9qqjlbq2q6x4s65r82s42ds9nzfbgjmg0za";
+"babel-latin.source-3.5"="17xc21mb70aaks09cgpwg8qdqz1ll3gksah6fpz337qfmd1v4z9v";
+"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";
+"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.5l"="1g2zhhkh0gl7d46fykrrwznl91g2wav93kmsw2gnlp1izwdsyb6l";
+"babel-french.doc-3.5l"="0hhrhspwbpcqkal88g55iakc5gn9jwlnm8xq4lvgq9qai98y9fcw";
+"babel-french.source-3.5l"="1cf9vnz87qxran7mpzhgjbk7wpb8wv2wsfd3xippxfkvrqh1a0n8";
+"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";
+"lshort-french.doc-5.01fr-0"="1hdl0w7b1ablx7qfcvgniz7dcbgazb49b8wfw7c08hlb38gxfqh7";
+"mafr-1.0"="117qd3a06lpiqimizj12lxd0vba82lsc211b46ags0mwgrqhcyz9";
+"mafr.doc-1.0"="1m6y9mpsp4w9cnbln8pv1pn86vqj9piki4kg2q2rq5m9q0g57vsd";
+"matapli-1.1"="0hjrcjkihb29z0z2xspvkbmq8qj18z3yww3lgifxlc9ydp7bppd3";
+"matapli.doc-1.1"="1r0szrdmmdwjjmhhy97bdyxkbcx0xy1c6papnh58hllx45lbznk7";
+"profcollege-0.98"="0zacshfs8fdacplknwmsq9yckvlrfvn06azf71i0m6fjp7vxf14h";
+"profcollege.doc-0.98"="0pc8kghlnm3imch7kqds8rkxvf8ln4wgjgwfgc79bblz2bqkbgqb";
+"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";
+"visualtikz.doc-0.65"="1q0a1mhc330z8cnhghp2p46bxsmzz8cdba8hcvssglz0gsq5z5fc";
+"apalike-german-54080"="143ipz8vajbakcbr3rr4kwdh4xl939q0gxwyq0kajvkdgzax9yw6";
+"apalike-german.doc-54080"="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.7"="00h4zwp6pdpxiwdck11vyglnhymkmlahzvk2pk6nvqafsmwz5rzp";
+"dehyph-exptl.doc-0.7"="1niraycxd0myvxh3p6dn90j21mzdrd2hrdvh8nxm7rn3npm1kl4s";
+"dhua-0.11"="16gq48zlsfk9llafs8379797v908khv954q8lw2dvzk0v69d0qki";
+"dhua.doc-0.11"="16l76rvba4fz3vfw8mzkmks7b7206h2dva5dgw3m0j30ds8d6vm2";
+"dhua.source-0.11"="06vws91qfar1h87d57c9f9cw04isjk0szhg2aiw7sc8ligs0v907";
+"dtk-bibliography.doc-2021-01"="1fhvvq3kan1zg5m4qh4ckhx2r05bz95fa7pbdm8l0jx9r5qhbmfq";
+"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-58652"="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.1"="175z2363f6bb0cqhcjrfc0cwbkcwpgxf1rwanx9hsjip0qc3v73p";
+"schulmathematik.doc-1.1"="1rhn4rh3dpb15xx7s862acppslj7qsliyr0fz137g1mbclhqxg3a";
+"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.15a"="12wmiwhrjw6m01jh6qy0qdsvh4n5rx52q5h4qs0nmzryqsgn1yac";
+"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";
+"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.3.0"="0xkc69hq51qgdmjqnlyrgaird7p5lfd4mf84mkb726nnm1hhgq49";
+"bxghost.doc-0.3.0"="1b4sja3wz9782cny96lfbi6r41mfzmybc95b0dnd2vv09w96d00j";
+"bxjaholiday-1.1.0"="1y3rfdwf969381vn3i0si5268j298bjrn7b8wpcj0zp178scjv2y";
+"bxjaholiday.doc-1.1.0"="19qm278v8d1kvk3fbvs07bdwv0n5waxd7pvkspbw3yfsg0yy4ws4";
+"bxjalipsum-0.3a"="1j43iihid2akjgd9npyqmg14g0m57izzp8lnrpqz2ybbp3mbh0r0";
+"bxjalipsum.doc-0.3a"="06w601s7x4c6cc0wyrgmkz1vj19aynsq9l66h0hbi4hp52bh1ka4";
+"bxjaprnind-0.3b"="1q29bkdjw19iimdggy4s0h8h5vl2s9zm40q965r99b86r6nwf3fs";
+"bxjaprnind.doc-0.3b"="0f5lb2z10p9ayk5nka8bngzvr2qxpfwnh5b1wfdq00ra1khssqqn";
+"bxjatoucs-0.2"="19n1wr7i1mfrabmrsgnmvk5wgdqhbc9lfpz3s5qhnsqsz69rzi00";
+"bxjatoucs.doc-0.2"="0icd5zj0cabkvwjgncsjmqwx79d2rqsm7ddp54ahczfl6mfg7fwj";
+"bxjscls-2.5"="0hamg91pckfjm6222rgcdjvjh14z5sjv0h25hncivgciw0j6ci5f";
+"bxjscls.doc-2.5"="019bmkhv0cmzajq73nhc4gv7yv7c959dann36436y97znzgvryqw";
+"bxjscls.source-2.5"="0wh3b5cg5zvja5fxdy8bpdch777491i60xl9jj7v4rkd9sg9hsm0";
+"bxorigcapt-0.3"="0z4yyfrw0ga1gd8xmdj0npd40zrnhw1g4anfyswypkdnh4l87jxy";
+"bxorigcapt.doc-0.3"="16hzvpff790qsaxnwrxbv773pcr06gbavqirac8021g2sgn6h2h5";
+"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-20210130"="0r11mqkhdcvmv44z919w91qm27l8l48ra8014c6594lvwkwv3pba";
+"haranoaji.doc-20210130"="15b0v3p3dgb0008cjk811lwxbwqzxn73dm6zcqs3bdyq9xcdv6x4";
+"haranoaji-extra-20210130"="1n0wa9kkcx7d8jbczii8v8pnpgdj1hgnx73pi0m7ni10mm2sfn1z";
+"haranoaji-extra.doc-20210130"="1qmxiz95sivgkwy3y61fpki0vaq6fzl4w8brdzq48grb7mqbj6n7";
+"ifptex-2.0"="1skabihim6l8c3iifzk45pdsid1kkd24kdqvjmnba1qr40ywgda0";
+"ifptex.doc-2.0"="09nh0bkvbam80vsm13p2f6y30bjxai6p7n87xz04r9bgi6sdpbcj";
+"ifxptex-0.2"="1wb1laq1nn02klvjgwvjgansi4anmjaik04fl0lylr7x5996qa9k";
+"ifxptex.doc-0.2"="0bh8bqly3zzzzgs21cb51a06023l9xfig5qjfzrlyvfqms7wj19z";
+"ipaex-52032"="12rd8b6kbnn2hvsimmfirfq3nj436h2ckg5129qxnfnqfqr9pkl6";
+"ipaex.doc-52032"="1g2z2ichh3wdjmn9jjd48jic1b2xw5sb8sksqv0hm043hk5makaw";
+"japanese-otf-1.7b8"="1c0xz9mwgl1ywfks446647gndkwifh5kc0132a1g2p226mzs8hhh";
+"japanese-otf.doc-1.7b8"="016v8wnhxk8l57fcxh7p6hpvqlrwn93dsrxr736xkz4kvrzznjqq";
+"japanese-otf.source-1.7b8"="0pdsmlcy1h76nfvh19pibxywnmm50474g9yk9rj05p1amapnpkja";
+"japanese-otf-uptex-0.26"="0y0bv7m11g1nh11il7b74v65vfzh8fh3lzvv1ssbika8w83zjw6y";
+"japanese-otf-uptex.doc-0.26"="1qgkfqx1fbnsnyjgxg5iwcax1gz64nzq2sjlz38pi55h5gka4nrx";
+"japanese-otf-uptex.source-0.26"="1pn7k97px1b97lsydw5dwxkx3r8a2aa8cjrm2ffxijgdslb1nys8";
+"jlreq-58472"="1l63k8d3iwj5sf44cirmi4sy412ha54gs77mw6slzbxh2lg0z52d";
+"jlreq.doc-58472"="06r0k89qxx7hsvadah9xis2v858kz6imbn5w1jcwmb05skjmq19q";
+"jlreq.source-58472"="0g4689j7ica7vxkmhxyvlxwmn7k75bvgdzcb382s8ippp2c4vq99";
+"jlreq-deluxe-0.4.0"="0v27w13xymviphq1168x3kvc9anw1z1sa5l237nffj2cv7spg8gk";
+"jlreq-deluxe.doc-0.4.0"="11n5l1f3y8b7ak6yy3z0iy8cqslii7w9v52bnryi68yhn58kgyv6";
+"jsclasses-56608"="1m0nm7fh8i31qap9l95v919kj6kx13mgw3gpzvan0sh1fcby2dkz";
+"jsclasses.doc-56608"="12ncwpjgmiyy1rkmz3q0hvhykinlsnscjn3idhixf8s4qrji1qvw";
+"jsclasses.source-56608"="07imccrb44yv0lzcls2fvxkah419yqfp51dwzfj2if5jgh9kb3cm";
+"lshort-japanese.doc-36207"="0mfxig980jyzhay1i83d69p294hgbr92v3kk2a4z8ca3fwzy8w74";
+"mendex-doc.doc-50268"="0xgg4iwg8dvsl8i2dm4pxkpwylhk8m901nqfyw5q84hslfb92agx";
+"mendex-doc.source-50268"="117lm6mvjpfz36irl2j1i96lc9hfcjv18bryk6nw41sv4y6n26if";
+"morisawa-46946"="19b8nzkwdnqk61p1fc7yygjlrdimawmbam18akphcm70qx2h01dj";
+"morisawa.doc-46946"="1y218bablhn06njs5zqmsl6jvvsgyihm4il1x9722pqvvyxxf9q0";
+"morisawa.source-46946"="1flrf2c2jxpq33g26i0m2h63yd5jfy9bdh80idpx1m6bi6hhq7ac";
+"pbibtex-base-40986"="0h5yi27rmh7ajih3ww4wn3z746mkdwrvz1pn44kklrz9nqryqwhl";
+"pbibtex-base.doc-40986"="0980gdzdygb1frw0drf2pkk27xv4qq238syxpsbcf5rp78855byi";
+"platexcheat.doc-3.1"="04hvm19x4z7vq2md3p3r2wwa7iqkgkxnvvj1xx3s9145m6fjib5a";
+"plautopatch-0.9n"="19pd0p9g5bg7ycix2h0a8q3riwq69jb82bnc2i12ip0cy3nzjimv";
+"plautopatch.doc-0.9n"="0zr69jihpnd49cfr5s18p0av79ghxj36ppfjfjzwhgw4yfd4imy9";
+"ptex-fontmaps-20201227.0"="1ppzlsi0bv0nhx8lfx8hkg047vyrzm6jr5syhl5pwrifjq1wdwxw";
+"ptex-fontmaps.doc-20201227.0"="1b96r79zv61skxn4x1wp3jcvbz72syz02g4yq5f8bgsjarkgsbcr";
+"ptex-fontmaps.source-20201227.0"="046jbs402n7g7dyd1akqwx382rkn9m7cs6qr6nz1cpd7c56kfb9n";
+"ptex-manual.doc-57128"="0hh4g8v0j1dk4saga9wkpjjmw7vnfknzrbmap7fla5y06dzadfix";
+"ptex2pdf-20200520.0"="0s4b60gc0wg4wgxczzr2h1xlic0rk23a9wvfy76vysqzlsfmh0xl";
+"ptex2pdf.doc-20200520.0"="0ky2zh6a5d6w2aq8k9wg7p3cvp8l4wihfjlz3sir3ggj1rx2x6j4";
+"pxbase-1.1b"="1ppl310g2l5k318a23zdj7n7yadbv1zjrrr42fszwj7xri0zrwvw";
+"pxbase.doc-1.1b"="0lkgyn6l1xkfk5578i7wq2arp3wrlf4kvrmr88z86si915clqzbs";
+"pxchfon-1.7e"="02x4y5jl3gzgyyjkzd0dbhzb5k91a5vyvzb1i3n71dhmghqjw578";
+"pxchfon.doc-1.7e"="1dqwykwymgnlslmwh4m5bm1hlhczvi1f7nq974by8ipq8l3djc4h";
+"pxcjkcat-1.1"="03rci00d4p56ibg7yn18jn86mji3yj5mnq89niwiaixzb9x2s9g9";
+"pxcjkcat.doc-1.1"="0lj0s8q357gw05i0xfldzm7wgwc6x2b4jka2hjpayqshh1zm01wa";
+"pxjahyper-0.7b"="1hknk5s9z8ygrymhdgrzwx14b5pj1l82q1ia9pp6rm70x5d03s6r";
+"pxjahyper.doc-0.7b"="1icb67qaznbhwn84hjg9mks42calxk61lyybnj4459vhzjr8gmyz";
+"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-1.9"="00mnybbajapn25gmgk2m49skfmd0vi6j198sqmvjspz38b4z44sg";
+"cjk-ko.doc-1.9"="0lnldm3zarq2php9k1a3kdsw6iy3znldbcws7zwq7dinfhvbbjc0";
+"kotex-oblivoir-3.0.1"="0f0cgjjjg0ipka5c08qac3zb5mgwds9blska2rh6ps9i9ahknsbj";
+"kotex-oblivoir.doc-3.0.1"="0bkh1yyrlia2v606kw6hzbg7f6547rzpsgb5px31fg0jab05alay";
+"kotex-utf-2.1.2"="12klbs9as0immwm6v75ibjdhq7g5ybv276ab1ffd5a6nx0nksxas";
+"kotex-utf.doc-2.1.2"="0ppqzzzhkf9cqa6sqd5ys6m146xdnsz5v326g7d7m2b9104z9k62";
+"memoir-3.7o"="1gaz197gaqkr0207sxkfk84h5fzdsc90bapiqfinfbj5scman3ps";
+"memoir.doc-3.7o"="0vghqh2aywj3x197hr9m9rs6v9431anql5kg9f8qckg5lhrv472v";
+"memoir.source-3.7o"="0330h0xndrbsc7cxw3c2fzal0i1p7j4a5z4dq9qvl9byqprqlwjf";
+"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.3.4"="0lvpdxn17n64ihznkkwrzj3qzqg8b7l9mr17f26a7slly5fjh93s";
+"pmhanguljamo.doc-0.3.4"="1aqbgy84q490br3r3660ggjm9bw1lvdvkgqzm0g6hfcvi0p4lf89";
+"unfonts-core-56291"="0pyrnydswlqhxacwqpbc1m3bzm8v4gcl3ka7w2mppp77l8a70drl";
+"unfonts-core.doc-56291"="0225vsqaj8l0g1igc4h8m94cfk6wv17vlnappdgxwws1fknz0x5m";
+"unfonts-extra-56291"="1i7skyjqlprf6m1pnz5l2hn67f1cix4n3pai6v1a8adrrx7vcfdx";
+"unfonts-extra.doc-56291"="0d3cxfm110lg12n3c9hc88lqmx77rcsil1s6yph384scxadlg3bn";
+"aalok-0.2"="039x5s8x01srm6z34wjcg9snhvkf3m4msbapacjgz8j35anvr5l1";
+"aalok.doc-0.2"="10wsnqdg3q7wjwpsrq9pakzzl7pc0y95vd8mnbdsgazcla2c08br";
+"aalok.source-0.2"="13g7d2jpx9sgm9f4q0js1ivg567nl9d000n648jr60fsg55jxms3";
+"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.0i"="11vbl2ybqkiq133xsl44waj9y718g1snv3k2jf640gxihpzkqj5a";
+"babel-sorbian.doc-1.0i"="0jv1p1k7wlq5i87isj0lhxcj3wxrz13wvjqnlfg2sksxa0pay56g";
+"babel-sorbian.source-1.0i"="09xk5fhfh9mgrlmma4w1z5d3w2fshdpvg5hg2ffyzz0w7jvpvsma";
+"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";
+"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.2"="0vnq4i5sz147db3nvld8rqmyvni3dwzmzxwy94a9d5x7dm1b6819";
+"chhaya.doc-0.2"="1c0j4izh7y4ss79aipg7206q1m0fjjj0x3myc5xyfz8a2nnvh6k1";
+"chhaya.source-0.2"="0bppya8cng8mqjbchbgnbjp15clkcd6rfzwrk6z6rn060jwk0d41";
+"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.6.2"="0b1s7nhsmvia6sy4m3lj4iijacp4x40dp8ssp29cpr1hajb9cpxy";
+"marathi.doc-1.6.2"="158j3rxmy6n3j2hljwqqra1797d3b5j5ny5kgamkn2ffbhnfwmi8";
+"marathi.source-1.6.2"="0n15j37016xzq6yyik97h0kwawmwvhzs2nxg9whk0sjwbcj956ns";
+"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"="1hvpvfndmhbv0d25a26syp36a1035kv5wbbb7pq7ljnbaf4a9qfh";
+"vntex.doc-3.2"="0ssdvddzj738m6z86861dfnh1xvg3blfj7vb2z8iq1md01zvk005";
+"vntex.source-3.2"="1slib4ha6avplxfhmnvv7k7dbamlr8m8q6aijx9b83fy6vxjvmf2";
+"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.2l"="07b286ssppna5gvv5l9gg9lwprrzh9wn28jnr65ixr9w817kphml";
+"babel-polish.doc-1.2l"="1ssr8wgk8csj7fkjr0d4s9szm8mvap2ps8vbf4lr72z34bb6zmf8";
+"babel-polish.source-1.2l"="1jymxl98mwxmq0yq90mhrr7bq7c613rh1rnhl7l3bih36af55rwr";
+"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.4"="0p94rbih64pnfx7mnsqh8girkvx35p5d2jimi9q0dax8d28g6jav";
+"polski.doc-1.3.4"="01j8yak6swkwkf1pnk948si7ymc4hifd092236nv59l1vv4c77b7";
+"polski.source-1.3.4"="1svpvdcvb89l8i90sf2kdc9x0jc9a7969a36mcg3ckhxxhjji516";
+"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.2s"="05vvgp1vblxr50hxgv7sl4dy3pvvhlagjgxsg1nrhsapw0j3vgm3";
+"babel-portuges.doc-1.2s"="1pksfsiv020dikrj49l70annfc4vjxmaykj800bsaklnsvb2j1mv";
+"babel-portuges.source-1.2s"="1k4kmkdcrrrxf51rhs7wrv6irhyfv0vaxiwps0k17cxr7qsm5a3y";
+"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.6"="0d5c0bvg71nw6zasl70sdq62xhimc4acsq7vi7mlkjx3q8x7s6q6";
+"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.0p"="0r21656nzsxsacspkc7bf6hfq49l7cv2in2icd7z274dj75b9a15";
+"babel-spanish.doc-5.0p"="1jgdkprm15mfcbc2dbds5nprir4vhzsqd8gfk42ga2ayiw9yn6sh";
+"babel-spanish.source-5.0p"="189rzw1f7d9scw16ryp5hplbg27rhhp427wqh9c8bg70mam81pcb";
+"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-57213"="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";
+"ESIEEcv-15878"="1zg2i7xl2fkbf01a9h9wsmajj56m2vif7sl63f9008i9k3nw1774";
+"ESIEEcv.doc-15878"="0vr6jmxwx8jhn1zcnry5qlm952dvvac52a1ms7xxgcrhphl157m9";
+"ESIEEcv.source-15878"="0yp924d13y4prbn1sqlbbazlfy09n5r4rbha4fhrsav7x1iyf9p0";
+"GS1-22"="0l3dyhv7mab9c91bl2zzcwgjzqhjw9v5xz7riy5066xw0w9zf382";
+"GS1.doc-22"="1cal802485nr6hydaf5irbn91wrcqg3d5j6n4pinwmapcrw9kjpr";
+"GS1.source-22"="0dsy733m8lyk9b0rybxvs6iacn25c8gjyyllx9wxjacxkyzcsjll";
+"HA-prosper-4.21"="13kia2sxxlfmlwawkzb11ypcqjllcz61sw5hlqwh0wq938hbkjwn";
+"HA-prosper.doc-4.21"="09jpdzznzyy3w8gzh8yls94y89il06jy0wl263xs9px38000ifik";
+"HA-prosper.source-4.21"="1rcihawsrxakxdh56by0p1vd8hzz1np654r8jsj6m10l4gcmvwd0";
+"Tabbing-17022"="0rf6prndsh7wqkkl97qnkq3i7791rysrnvgzq7ir3bnpighdnxk5";
+"Tabbing.doc-17022"="0ic0ksmgf39sw7312j6frl58iw75kbf0fi1f63z5q30yl94hbm8f";
+"Tabbing.source-17022"="1fx1lklvdzl39bb85vgdlvcrjvs0ph05qazslv8k4sb7ad4lmd5l";
+"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.5"="0cpajq4ifx584qd6wrmpv0ga4g069hw8387sa6gda4kmzck9l387";
+"acro.doc-3.5"="196gs8x2hsdvrz9l99fdwwkjg5pa4payqga1yhvk7176rjxqln84";
+"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";
+"altfont-1.1"="1nrcjmf59r672gmqks8spqwz3vn4jrwc272zvx7ncylphsjmip70";
+"altfont.doc-1.1"="0c5hz0zjcar69w489zz2a04rbnc3j2lp8yccw9zv41ninzl94ifv";
+"altfont.source-1.1"="144m2ph835fl9x3ypc7wfc444719rv4clfdar3bk73gvf53rmjr6";
+"amsaddr-1.1"="1f5w9dhlmni4qp1snqb7l8c6h2ffhicpq74dhb79q18b00dlfi8x";
+"amsaddr.doc-1.1"="04rq59d00gqyzg6a6v17ifmcn45y01r6f426izkgbq50gky9xlxd";
+"amsaddr.source-1.1"="15v1xh051j16qgpm7s33d8hsz73pxv4qq58i6kxwq63mkrnwgac5";
+"animate-56583"="0rqhhw61bmp5r5j2fz0k15lbi4877k1jgyffnsf8qzz261dr1xjp";
+"animate.doc-56583"="1pmk280p1z2d6z3cxx4v0mfhy206h450y5rprrdjbldak99631a6";
+"animate.source-56583"="1fqlk70b71x2zjysk77hfp7xhf3bi4s813vjhkq04b2yfqr835jp";
+"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.1"="0i7vm2znai3wgc3h44vhwd3wrrw0az86b3g3ndhy8yyyl17jk3hg";
+"arraycols.doc-1.1"="0gq5ss2rq7qgj4zqvf6n9a45j1kqsh0k9myphfjhdrf0s1sq8w9x";
+"arraycols.source-1.1"="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";
+"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";
+"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.4b"="0ah2skzc5kd7dxaj30q1bmjk6r6c3qzswjf59h3mn3fy0w081knh";
+"beamer-rl.doc-1.4b"="1kdrhcx16xlkqfx0m8kz6qc55nginrhr7kxcr6cv2zmw6h747771";
+"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-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-2.8.1"="0xfn2xl9bbghw0kcbgjv7x3cl99bscwsfkfva48l94j4zhn3b8ji";
+"beamertheme-focus.doc-2.8.1"="11x05d09j14r1ax4as2q6qs0kd3xcc9q3if7srhjwpvkjrw5a7rp";
+"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-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-58503"="0ik54162qvk6chijfxlwdgyabxaq7d5yr0kp3p1g7jkl99zhpiqb";
+"beaulivre.doc-58503"="1p8zdsrm8ha1d2nm22n7h7p046x72zl4h6gay4habfiw8ax5kcyx";
+"colorist-58434"="1yhhpyvxwlv95grqsnpb2y9ndsp3r6z4f37yr6j0xlbb9khbrwzf";
+"colorist.doc-58434"="0x71nwnla6wpi2jxgxs17c2ikipg027ivdm3x0pnnbzwnnp9kqb4";
+"beton-15878"="1rjj64wnd9xvh940rl9scidhv9ridqz38n8ndzs35hyjm8n2lx5f";
+"beton.doc-15878"="0i8lg2iyjkzpxjzz9ym61v4zkqczkhvs6qjb7zf5xw557l2i55gw";
+"beton.source-15878"="1l82y1fz86qsnv58gjq9rm58zf3ki80xmcqkwlmgfp334j9jqz8y";
+"bewerbung-1.2"="1gqj9cxjx8sn94rqlmhg6f4a8a4wnjccf6cjc4kbi9p3p27s8smz";
+"bewerbung.doc-1.2"="1g2nkv66926yh9fcnv4yhmrbs220cidw6bilcz50f6jyv6zj6lr6";
+"bewerbung.source-1.2"="1678hss1pfp9bijrsn1ll7fh3y3vxjm6d80x6lnqjm51igczl7a2";
+"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";
+"biochemistry-colors-1.00"="0d4bbm1p3j6q28ckkl7ilkywrjx6iqvmx0qb27rpldw3jabf1lp4";
+"biochemistry-colors.doc-1.00"="10pa8jwpxr37hs0wcywzsq14x1jgjx1cqg94lpghi505mlrikcg1";
+"bithesis-1.0.1"="1vx34f7qfrw9wnq5r5n7kd1234a6dfvm8l0ah6f05x2hs5xs4jrb";
+"bithesis.doc-1.0.1"="0fi84nykn22jsc37z1h15zcqy5asj91jgxbwsgd6z0svhilrxmpy";
+"bithesis.source-1.0.1"="0vpzsjzzin5rfavidfl3ak278ibmp8l8fn1hqqqjyblib6y83x3g";
+"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.2d"="11ishmbzhcvfxj2y7q0z6z5lwfb4qndyw0fwzm2acxv9v8wra7xs";
+"bnumexpr.doc-1.2d"="0l77jkgqvcnd2flxdbjiyk3wga3a1awgfxar5gcj1v9khkbs2gl3";
+"bnumexpr.source-1.2d"="011qy8vbk5jwr3snfwmklkhja8hmr0iw8wfvp2cnjxx0hn5g33s7";
+"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";
+"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.21a"="0zlz35ni88p5zb0318mr6hl432d30mjkz0c10nr04bsl930w9hjg";
+"calxxxx-yyyy.doc-20.21a"="1kd2kxrhv602pb0d82h00dl3hj87wdcxpajb6s9f1866g9b70qqx";
+"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.5"="098swk90wbnnnlxs529ixbjrhxkaa8s06f3g4rfazbv8ij28g27b";
+"catechis.doc-2.5"="1chl62idixljdf0kiicnb5mwdq1yxla13j6j0s53sbp6shxsgps8";
+"catechis.source-2.5"="13l8lnwirsyah34nh5scz1p6hrr8brpiddlxzj407lfcav7x1n1m";
+"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";
+"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.8.1"="01sm0xv3jbh0n45xql6p22dz1i4j9qxzsz7mkl8rgrypbdhv5f2c";
+"cellspace.doc-1.8.1"="02i83pfa5pvvky3bhw0fx4pplws8s03v4zpjawls4vwmgz012lpn";
+"censor-3.22"="0vb23lr2ny6713ab825xrd1vqnq1g93axn3x6ywgdap4c0idfzzm";
+"censor.doc-3.22"="1v82y130k7w3piq3ppn2h9dr7pxr6yxbpmfg35j3f89l9zkhwbd7";
+"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.0.2"="1r1iprf67b0x7iwc6d8ljb04j4rgp668cj9z80j6wi7abd2fk60c";
+"changes.doc-4.0.2"="1c3qan4rw25838mi9pgb3aqf8mzj4yv1lfvhc3z8b5bkhjbbhlqx";
+"changes.source-4.0.2"="0xqmwy0bnpvnhb7j9j27rpiphzy4yxn8p2431ipkl3gc8dvrc546";
+"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"="03cz4fk8lnqdqnvx870f3anrg024jrymziwxz5n2nzmfv20smwc5";
+"circledsteps.doc-1.3"="1lq6w8879n19ilp45ajjq4nq8bsl5nn18n3cbwa38305w4a72vzh";
+"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";
+"clipboard-0.3"="1i9facsdigll3rzl8xv1i85cqyvlc54xhia69cv5cv0gly00p1dl";
+"clipboard.doc-0.3"="1b6wvadihwglj0653bn8fnnq18whx2hymigvyknw00fyn3xjgvgk";
+"clock-15878"="0w5z1ffi25nabsaqh91glby7ifn40c9rhzxlz2kbyvbrdg6a3and";
+"clock.doc-15878"="1wp9hglx1vw8zfa182m2103xb0rhg9hmp51rc7bzm6fh3iyz52is";
+"clrdblpg-1.0"="0p38c8p426dn4i40wwhi5hisx3yc8bqdi7vwxdbya02smixkpp5f";
+"clrdblpg.doc-1.0"="1l0avfhvabq1mm9yqrpr29ps9iks84j7mbfgrbrd6kfgpdpqqhx1";
+"clrdblpg.source-1.0"="0iphx9hbs4ld49d24f2i8dcyjxaqgvxznq3i34ik2ywampr2a5k1";
+"clrstrip-53537"="04k0wdzbj2a0cvjxyzb0msrx4l7jaxnzrl8b1ly2q9bmmwmd5ch2";
+"clrstrip.doc-53537"="12wdxik5rqmrrrlab5mzmn02k8ksgwn01n4kfa56w150qn00jxgg";
+"clrstrip.source-53537"="0vhbf3ml1f6s2hi8m77d6cdsq5iyn8f5n5lfswj5wdxr12sq1313";
+"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";
+"codedoc-0.3"="1zz70vp8ssblnacrqdsq9nwvf1lw69mlk9d94cfjc818szcgi9v6";
+"codedoc.doc-0.3"="1f3i3vw1cmdvgp05xckr748kzbairhvdpfvr844y7wnmxzr4rfzg";
+"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.98k"="0iilwmz8nc837cdya0hydkg031q18igda96m3bzjmh9slrgzj4xl";
+"breqn.doc-0.98k"="1xk6kivqrm3qvbik1h0gbff8ypn2g6w5s8vhmwpw5vza49hr7wr4";
+"breqn.source-0.98k"="1373k3iyglxk95hqj8zyi367cy49j21ghrqydjcaj3b5qqs61qcg";
+"caption-56771"="1y0rvpimkhzwjgc7v4f5dvsl4dmsydzikfk151wn5pfsv7y4282i";
+"caption.doc-56771"="1kg5jmrvwnajmmgcilgzncw3bda7kv0n6kchl415bl7l6s1yqkbm";
+"caption.source-56771"="1bjhsn8gzb37mm5j55cmqrwljjx7wfdqlcpqvdqhqc7gyfbnw6z9";
+"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-3.7"="1i7rk7wna0yi9najpjabridl1wa8yfhp166p7plyls8afcqh5fzq";
+"fancyvrb.doc-3.7"="0g1i8r7cxjdqnzwfppgc42dr00fdp3q1njxhs0k5lv0mih0hrh9x";
+"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.1d"="1341gjq4lqkzgq3n40z8zdy2qyz26wnyyjcgyddh93dv71xhynah";
+"footnotehyper.doc-1.1d"="1jf8ri15nx4hxzi4bqxrfi3m4izqyjgbpjfmpyxg18sshhypqx6l";
+"footnotehyper.source-1.1d"="1683x6gd0z7fjrdffs783b5sqy4xsyfxjq0r5i2ag9kgkz7rzah3";
+"hologo-1.14"="00d4dciklw6npr3wrsncak44nw3mcwx15c8kgglqjwpgpi6knn7a";
+"hologo.doc-1.14"="05if4ff6nk9adz1s061a4yall8fjq2piapn694q6g84wb9w3syrh";
+"hologo.source-1.14"="0by96mq2whsflfva842givdb92swmhpfiniysxck17g9dwlq6qmq";
+"index-4.1beta"="0lx5jl7nckbn0brsijlq78mm0gjshf8m1dqjhgl0l59qi56x5f4x";
+"index.doc-4.1beta"="117h2g30zbw5g6x3xlmpgq0k4fqixh0l8ah7350q1sxvddxfcc24";
+"index.source-4.1beta"="06acw1yb5z4f887p44l9afk78kpnjv9djmbwj55bac23ml2k3ddr";
+"jknapltx-19440"="1jw24izfsw3l8bn27qci3mblmhpkal9wcldhjll7h84fgjb9q396";
+"jknapltx.doc-19440"="0m3blfj4ninra6zn501x17q6b2qzckzcavgihgqmk9q51yibd5aw";
+"koma-script-3.33"="0k8mhikpll066x3683gmg3xas7a2mz93b9fip4k56hacxxb6map1";
+"l3experimental-57789"="1wbswk80mh7a5hys1kgapzz03mfsrdsvb6li1cpi7z11l1sh16cl";
+"l3experimental.doc-57789"="19f5d2zx2cg3gnb5n8q4dg476ps15a0r3s1fzlk6p0zs2q62j84s";
+"l3experimental.source-57789"="0hlqkkg1hxr8dn6l9lzsjfcbcrksqp8qnjz8y16b6irpwd6smxds";
+"latexbug-1.0j"="1jlrv9pzvfi9d2sr04sqymcysb40kygbry8wgpdy641mlkygcr9k";
+"latexbug.doc-1.0j"="1y8340ry27s2ga549w0c24s4lpr0l4mjinzkynf7rxcp6549j39h";
+"latexbug.source-1.0j"="1kxhfkgnr6b5d7hkxj4ckmd00r2ani29j1c82v5idccm4bqv3mjk";
+"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.895"="1p2i08d5i7a41f6vkkbfn4shv6c4bhz36sxy2f5nqz9lbqxm13ll";
+"lwarp.doc-0.895"="1fbjaajyy7aibp4cxq3b4f9xwjxi8f05vak0nd5p7k7dm9yjzzmf";
+"lwarp.source-0.895"="0k6b44x1s2sgbq3rw2lid2hk95s6hcrnm73sdfm7psaiqhn9n3p5";
+"mathspec-0.2b"="0gspy6kjnx7bs5dxap8ym8s0k9i8hczi6s4s97y7av7vc8j1fb5w";
+"mathspec.doc-0.2b"="07mmfcd0fvhrhafsfk4sb4dvs5x8x1rjk1a2xl20kwpfpp8l1rb6";
+"mathtools-1.26"="171iwsrxs8l0qqkkppwvk4hq60x6n1iil9nhm6p1lqvc5g1in7yi";
+"mathtools.doc-1.26"="1rw7bllfd28si9axmydmjdcqpivdrqhqzqvxzj1ciwx2ggksmwvd";
+"mathtools.source-1.26"="175xg321lcrmc9fz3zbfc0734qab6fbfvcxpm4b33zi8kil4bqpf";
+"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-2.8c"="1c2g1xzm914kawss1my0irmp9b05aj0c75prp65iqazmgs2niqrs";
+"microtype.doc-2.8c"="02hgl0zkmy351dp8y1v6da57d4lk6hm2834hpns62ai4xl9ffjx3";
+"microtype.source-2.8c"="1is19v3w7a4kfdw9criahs00j7ynkfzisjpdh1pxa1dy3i0a3fh7";
+"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.95c"="088pzj43hq8rjn8db370b1wp82zdbjv5l9c06j9jbnlsi6m1hpf0";
+"pdfmanagement-testphase.doc-0.95c"="0l3nazd7ykqrrpaq7hkvlzpmib9xj8lr9lapc91p751155sb5gdr";
+"pdfmanagement-testphase.source-0.95c"="0srl7w0dbzadckjxgf842n7cf223s2b8b4ahcb98c5yipnv48wi9";
+"pdfpages-0.5t"="0p41hryggm71xlfjv7cbp9dq59wjsc7l4nvzyvzb2d20qnvgv9v7";
+"pdfpages.doc-0.5t"="1mc18d74fcw273lcpklpy1iyxjz2ijvl7yp5wm2sn8cj0dnywb2z";
+"pdfpages.source-0.5t"="16wlid55jihy0xglhc63fwv1c1nr3scy8p64yyxwz0gc00l2sipp";
+"polyglossia-1.52"="03hw0zcl90xc2m9npcrpmpmkiay65hmkc5d75lhpwybx9fiz31r9";
+"polyglossia.doc-1.52"="143yhjrndb77vy51rfwwsnk62ri91m34bc47qsymh596sjcrszzm";
+"polyglossia.source-1.52"="02b2jsvwvs0pk96cvv1a7byc6yq5808q4g173xvv72kj7lvczlsk";
+"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.0"="0bx5fd1bpqkgzh1ixsri0w3hd0i7fdsbwps9qbzilwawhf788kpq";
+"ragged2e.doc-3.0"="0dnxij4vyfgrl7y06g56cikz8iql22rzfdcm6yxzx1i9zbvhbp4c";
+"ragged2e.source-3.0"="01arnx366ig5md4rk39f78zm2wr0h4s6mv0rx8xv3fks51nsaiar";
+"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.62"="044c6chman0w57y8lz7j3n4s3ajg1zz81qf3ndz5pfakyivqywlk";
+"seminar.doc-1.62"="1wc34683392vnd1hb2lqk9p1ydxbs05njkqygwfkncb1q0bwdi1p";
+"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"="0chpz1mj3sjqjq931i7wkddgs0b96nwnfisv8r3q56ln35m2g1g6";
+"bardiag-0.4a"="1lwa55zrl4pqyvl754j4wz076gn9rbl0kfchad5pzhckm27vvp6n";
+"bardiag.doc-0.4a"="1q3ng4j9g4bp3vvbs9d4md4296vi2xhzxji8nbvq1ibkzbplgd01";
+"beamerswitch-1.7"="019j2jbww7sc5lj6h1smsvf4r55ir4k7x71nklny4s71a4sirb1w";
+"beamerswitch.doc-1.7"="13qjgjm5k9ly5wllbl5naa7pj6gmskmqgcwgkipa2gd3zninms5p";
+"beamerswitch.source-1.7"="1d9ayi5zhv8vihd6jd9lbj3z50ih640x3fm02k5qrpz6k0nv0xrn";
+"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";
+"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.6a"="1j5m660a1pcc1cy9gkcszv402iflwc98838nrah90ww5zbnkk1d4";
+"chemfig.doc-1.6a"="0x4sawnsi06v2k4qm8fmyxx1jn1d22c42v2na99j3ay0lk5384vg";
+"circuit-macros-9.5"="07cbpxyawy44ds1vy6kpp9cxgv2mlh78i1wakzw30q0bj4rksw7b";
+"circuit-macros.doc-9.5"="1ffj1cg743606s14nizqsl45vmp4rcir4lk29jl1wm9csw03fhxi";
+"circuitikz-1.3.3"="176mlnx0qr2hpb5vikyna5w0vzri7ba2dbhcd0mrv2akaziiwq0b";
+"circuitikz.doc-1.3.3"="0yixqi5mhwyypq03lrcsdbi2x89nmsphffkdf7zk6c26ibgdnwyp";
+"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.0.0"="0ha1ca8npa8pis6dp54cn7sz08x3q5h2b113h2afifmcinv7iy6v";
+"figchild.doc-1.0.0"="096zwf8wp643dk7rkkwmksx5y4d4d168ww2csmmm87hwnnvhsznj";
+"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.01"="01z2gfczggyhm7anfiax6w9d0da2ph8xxx13yc9agnshv1p5x28n";
+"genealogytree.doc-2.01"="0q3yd8ljwzqhnxid8xpzgd35hn80jm67vdjw6nvkad5nb2z112m7";
+"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.19"="1575cs79d6pcnf6a2g9bvlijrqz2kxskly4771j9haa4gg9g8gnw";
+"hvfloat.doc-2.19"="0ha1lnzsy9yh6qv78wdpv9zgqyzn4dxc8rn2lb2j4nfdwcciards";
+"istgame-2.0"="0zr94dl9q3whjlsjmkcdjyhxndcj4dx0d2ynm21inksavhxc9xbs";
+"istgame.doc-2.0"="1a0xrxblfh2kz1bx3iqw908cifhh0gwvxxpxcfrvjsilzbd6hc7w";
+"kblocks-2.0"="001mn33pf532iwp3d8likhbc5a4nsgq72dirbilbdgaxqxndmx12";
+"kblocks.doc-2.0"="14qyg0sqrr5b04j2ramw9zcfhbgmc9qfyy5im9la4id4b4zxrk25";
+"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.2"="0xsickz9392cgsq4jrbil9k6d1xk1dlgq7d4mfmw36lxgkwgkhks";
+"latex-make.doc-2.4.2"="0asg616gsk2dv6mlz79mj9glg8w1nim58qdrwkhnbr7ibwyplxn6";
+"latex-make.source-2.4.2"="02d0d09wy1zvsqv6w8nb07b5yy5lrfp3igxzf3prxyxlrzy6zdjy";
+"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";
+"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-pie-0.3"="1n98jvahq7sd19vxhzmg7pz6cr796k8r8dgb7p05r4znxaq5k520";
+"pgf-pie.doc-0.3"="0qlpzxpl4r8g59297xldndryw2al05sbwnsycnpv904jllypsi83";
+"pgf-soroban-1.1"="1y1c70a9v9zy8i58j19g5c8nc7f00zcdrdjmdcbm19r8vi2r09fr";
+"pgf-soroban.doc-1.1"="1r1rgd313fijmjqy468j25d55p76vxmcrgkp968riknych16y1pl";
+"pgf-spectra-2.0.0"="174in1jgiy165dqpqvm6gqwcpz2nlr6s7garwvqqrwphjsj766g2";
+"pgf-spectra.doc-2.0.0"="1jbhxjqqxkcnh8svzpk37lfnyvq1fm70zdnvvghbssy76940340a";
+"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.17"="0hdr9ykdy7vl2gjxakcs0wziqvpn192hx1msj1fxsa7mg29nflfm";
+"pgfplots.doc-1.17"="1dybzp5icvg2i23kqx9pp1lzmhf7vnznb88y708v2a6xm1lzf686";
+"pgfplots.source-1.17"="0sjfj0zg91s5gq8fs88p16h60zxs07nmfwshb494q2bwcsf3br7p";
+"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.1"="029xdg1c8g9xxycsbx0av6ir3pxn13pbjvwfmckrsd7gspcf2j2n";
+"pictex.doc-1.1"="11p0ypwhf7yvjmydn6g9f5d7i9jlm0ic14ljkkhksw7v19w4aahf";
+"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.2"="0ny14rjzj9vidwkgkcx1jn66m3gk1ppbr62vafgcfy8mlrj6hnjv";
+"pxpic.doc-1.2"="1d0f0zqq2l774rv5f6844xcfci9pls428i86xy85z3hgfmjzcjh1";
+"pxpic.source-1.2"="1fk1mqscrz7la2b6pgrwcsll6pdm9p02hwgkca2yjjnfwdz5l44b";
+"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";
+"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.18"="0z7adggc9lc9j98ljpgfz36ys0bz2119cmfxdyx8gljaray22w70";
+"scratch3.doc-0.18"="1687l1infxryaf6hngfgm72wx2xqzn48ka4si18x4acj79nqipz3";
+"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.2.2"="1sgrasl22ifbmgl483kg6zaknabwjszpjrjfb8jx6ii2ns6cvgd3";
+"spectralsequences.doc-1.2.2"="1k258c12k1jm2ignq7h09g4y8i3iq8k5wmw1dyi6ppwpc3i6fpd5";
+"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.1.0"="1w2afhv7qs9n77bfy0mybg59hhca7vxzmy831rzj8lxlzlla21f5";
+"tikz-among-us.doc-1.1.0"="13bkmfbwgjpw0q2d5c2wi6hlz0v634yiq220m7y1zh25kxnn69c8";
+"tikz-bayesnet-0.1"="1sdal5mq1s3xkklj09hy0j41xymprmh78z3923f55bg0kzdc2i0v";
+"tikz-bayesnet.doc-0.1"="0kwlqx1bys43hzwpwj8snrn5693grfih18fcw3d74a6x7s5k0h8m";
+"tikz-bbox-0.1"="023xrf65s1c4g63ggpmsdyckp6zspgjz1ad7pk7jf56zdnhqaxb1";
+"tikz-bbox.doc-0.1"="0ilj988mh0w1ws8ancnxsz0ig4s5k0yi3ywihn6vsk3z94k51yfm";
+"tikz-cd-0.9f"="0il2dpd5fmwvvhmzrq2zcdxqbcl4jsq2gh06hjq90mf9l6ybrgvy";
+"tikz-cd.doc-0.9f"="1v8nhl4q48gjig1z25ba73wwaxh4mfpfl8di9fsrcdisdfdvqk6d";
+"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.2"="0qabbn2hs4wp5pkzpjrr6g26nd8qmykljy4j46snm36ixj600lfy";
+"tikz-karnaugh.doc-1.2"="0z974a95hc2z72brn7nd5c42b2rdhf40sag725m5bi504v1sz0gs";
+"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-timing-0.7f"="145r878hxqfx1sdn4hdagmcnfx8xqcihfz775zabn5sbzki87ywq";
+"tikz-timing.doc-0.7f"="0na0rjgnala2lyww8chnkqyp26c1y2siaj7gqh6h8fjpi5bpamdf";
+"tikz-timing.source-0.7f"="17wzwm58194p5jlwb74z30864q7nzg9fi4q4dbcp26b3p6kn5cxs";
+"tikz-trackschematic-0.6"="0bvl0ijxkq1300n35dnq6hnc23d2vb6538bqf8adqwh8981iahz9";
+"tikz-trackschematic.doc-0.6"="0xivh3nr8z7g29k9rsxib2qs26ryfayhzv8hbiw44zmxkyicp5cc";
+"tikz-truchet-50020"="00yf9044lpsazd8wnmcz39lnazrxpqd7lpyr8ss24gk9gm33b563";
+"tikz-truchet.doc-50020"="1vlsyyh7xj1fn6wkafh7ps4ys439n1lmvmgk63pya18laxkphxxk";
+"tikz-truchet.source-50020"="1zbp1xb9sbbnr4iiqgg352ymn9ybfmkwmwd49r1ws3w7iy3qdvrz";
+"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.5"="19gcgnccnfy6wx449cmwgbvbwmh36iggap4pc801w8060662j7yh";
+"tikzlings.doc-0.5"="1hsvpnvnrr9grrpvqlssvajy8v1qi66pw9hil0pwq586g9sy11ld";
+"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.10c"="1q0dycjw1njbwlji717k2n9dpmmjk5bwic12x9zhywx8hily9cg1";
+"tikzsymbols.doc-4.10c"="02gyp8pgl5c08jyvmvqngzvpbvy0g9pac3c388i9ky1vm1ylrrh3";
+"tikzsymbols.source-4.10c"="1q62sf2mrx29xif25imb8qnpxyg1j61nv3wnzyyairry74s5w89h";
+"tikztosvg-0.2.0"="1ic82cfsd0zc478gvwkx25lwxyvzr07hn8hg70j60d602ml31d2h";
+"tikztosvg.doc-0.2.0"="0asjk337l699bkv1jchmpvcc5jnihcill8yzasgvmvf05i0pvzaj";
+"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-3.06c"="0bff82v1gpdjyclklkfd1ns90dinwdhlr7k4jr6amql1vqh04jqi";
+"tkz-base.doc-3.06c"="0hi30szzssy594m6i45lk5418a23xhb689j353dxfml4rc9hgm2h";
+"tkz-berge-2.0"="1c9kgzsagh5ww0zlwywpddwn3mx0wrf8yc627gjap3f7nyyvixn4";
+"tkz-berge.doc-2.0"="07bsfmh9qyn8q9z4brd4si1clmw7sn2vh2nr8idqnm1z1jqdnq40";
+"tkz-doc.doc-1.43c"="02p765y97adxc354hn4fw40hhcx42j3xavxjyv5swz8jn26dys19";
+"tkz-euclide-3.06c"="1kcd294pqi2plkgs9gs2lp9n5baca62l2yzkmj53wk8ql1028886";
+"tkz-euclide.doc-3.06c"="1m95b6bz31fcbwyp9xvhqw03abw1x2jbd9wsglkgdn95ggvjlarv";
+"tkz-fct-1.3c"="03rd7731f4kvln990bbjfy3xhjbprplyxwwvnvr97ks6i504phfy";
+"tkz-fct.doc-1.3c"="1p47gkq52l1kh1mvychjyfrzakrpckcb2g55gxg3pnglqbj7p5ca";
+"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";
+"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-1.0.1"="131aj29l8crs9xxppb36pzrwqfyb6d7ch2iwch4izxjphb8pycfj";
+"tzplot.doc-1.0.1"="0kkl95g9749a6bz63yy86kf1q3s6p2dak0ndpsxdybvx03b2psj7";
+"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";
+"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-1.46"="0j20rj1s5ip6sr90n3v72kphqg6hlvi02md80gycnkc3kl0p2saf";
+"cooking-units.doc-1.46"="0wg611s2c6x97lf8bnf2cx7gl2rddldjhy42czz2kpp7rvjzfapm";
+"cooking-units.source-1.46"="0skifnmjh3jl6008j7zblijyywm5is7k7p8nlpsx22j2x0zv1g5z";
+"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.0"="02cyrv06a8j85x8r9s0rf1wxl1npdwhjkcxdry7p6w65xwi4m4k0";
+"cooltooltips.doc-1.0"="0z73crjs5b9wkcl5ymkrp5qsbm852ajgdabxjagvnwckxdz0nkr5";
+"cooltooltips.source-1.0"="069xj8l41anzl1cxckhikfhq8azysjs614nv0ma4da5lvczx77ij";
+"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";
+"crossreference-15878"="0xc8d3g8j86dzpfxzfcildiyk8zi2apc9af88v2zg6zjra6vra1x";
+"crossreference.doc-15878"="1iahzjwns9zapa5y7z6yy2wjdcy6qiqrqvp9q9v4ky2zgsf7n5pi";
+"crossreference.source-15878"="0yajk2dxnsfy74r6a50zs4lc064aha0lzfqp26gpgnsx2h0bvpix";
+"crossreftools-1.0"="0pdhi9yij4n6bwcwbk077sdvwi1v8ww51g2r9ssfnmvmxs4zjw27";
+"crossreftools.doc-1.0"="0q80k648b967q9gcy7c3lb8ywk257zbsw04kc2gazlc61scviy49";
+"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-1.21"="1h7zdribbh96iff296dl3n69xc8cdai9xxcnf0h3wndv775wv07r";
+"csvsimple.doc-1.21"="1cvcldm2ci1y107z5bwxsrhyybqdrvvpy5apmd8zc07nn51ymlyj";
+"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.1"="1wzw6xp767mf85b8x6i37wfdi3gjnn95xcvhyfalcbjw19d8fwn3";
+"cutwin.doc-0.1"="0p4z4yjjs0hyl2ywd1n77kzz8mwslrmyb9fy5scpn4ac101xkf52";
+"cutwin.source-0.1"="06l4zx4k2jpqj09k7qjkgq6zl8rxgg86hkyj531h78sw4190g5nv";
+"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.1.1"="1lmm4dg5y198p9hhkhrb0nzahyk2i2779h9cnpdydirh07j6bpl6";
+"datax.doc-1.1.1"="1d1b4igfq7ly3d2qywj0j9yjlw0lxbpnif2zq1z38mzq9w3abybd";
+"datax.source-1.1.1"="0rjyskib7g16zc3dkdw56a189whhqzrxwlw9b9b8vdld8g0rn1cp";
+"dateiliste-0.6"="0vzq9y9ilc6pnhg60psvwsand6sd4w5238rq3xhwnj2nq80yi38s";
+"dateiliste.doc-0.6"="1gxjc45zim6vykmskmhrhnkviw9i7la56d2zfyi89c5nyjbry5a2";
+"dateiliste.source-0.6"="0ks8aka4km6z6xcn6sihsff935z8kg74cyf3czk31wmr9qay4yq0";
+"datenumber-0.02"="1wc1cixsvcb6346jvvy5811my0kgpc60hrs355w9v3z5a9c2vl4s";
+"datenumber.doc-0.02"="1lhqb3fj5dazlmnnxgxk80lq4n5gbbwkcf2dd228d25pnmx7jirv";
+"datenumber.source-0.02"="16cx0wgn2mxxp1wrfb51ngmxvj9r8fmfb1gxyqp1sd5pxiwdshnd";
+"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";
+"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.1"="0nqajj7nq19s74m3qlsrii126gp6kqakf9qb9pianbdq9xqpd1yk";
+"denisbdoc.doc-0.9.1"="1f21z0638dnlc6wlpchkx16zbl2fx7mpbkppkpzmfafdhql2i77k";
+"denisbdoc.source-0.9.1"="1zqjcmqllbj3yig5a8zwjm4q3r4c9jw1zyaab64w7fvcav825h6l";
+"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-2.3.0"="01mb0y2mpgbpf0rv6xfwq8yiwibm9n3sh23r5xnf49agbw2zgynm";
+"doclicense.doc-2.3.0"="158rqgavljjck3ydfmagxmira7l6vvdi31xvv9n1fkypjxggdsi9";
+"doclicense.source-2.3.0"="1bc58ih6p32lj6lr3n6n4cq14kzdgzq4jh53ycv6b7frd21j8304";
+"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.08h"="1dn61q1kxyahl9xd5aqscbz0p499iavp0fr726v2zdy191wk38n1";
+"dtk.doc-2.08h"="1pn9v2chglsggi98d6n9b9j5zsl6fqms5ykmqr9x908nixlavlmz";
+"dtxdescribe-1.02"="0xl8q9rb9nsfac6cjlbg2ind900agza2n8zid4ss4vr8g8zxaadv";
+"dtxdescribe.doc-1.02"="02hh98qbdymaxfp0nc8dg2yiw7kl94jam56636kig6ik7305zhwj";
+"dtxdescribe.source-1.02"="0fij0m7yrwc391imbafhzc7iynpc230myfjb2j3czzaklan46p7c";
+"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.24g"="0gjpknhsjkyfnhd0xv73k1vq5j6kii7c3ms4yim119ac831bwzj3";
+"easybook.doc-1.24g"="0rrsx7v0gsilsq2z104zyfp2021zwm511gj038zj059k4ri2hsvy";
+"easybook.source-1.24g"="17rlywp9452hsagpf4cn9p2z5ap8348nyccmidxxqfiys5ydhhn6";
+"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-58414"="03a8c7b2nd4mpcipvnvv13f6prji5kd0382f57hkyliyn4ak9dmb";
+"einfart.doc-58414"="09c3a1wri0li7fzxxaj30hzxypn9rn3xlb03cy5vzwis0ga5rrly";
+"minimalist-58395"="0pqhsxvnjmlaciavxnj6z8na259w3ibbbcjk8binb977i3g5rcyf";
+"minimalist.doc-58395"="10yk6v8603ssficdjhl0hky6wcyisimjymggi0cjb2gfvzsn9faq";
+"elegantbook-3.11"="0hw23xwfgc6wvrqks0sws2aczpzi988i9i5drv9cngnlrj0wi2qr";
+"elegantbook.doc-3.11"="0imczlqh7rwd37vrv3dbhds2bvl7526ba2fhvggld9srsymciswj";
+"elegantnote-2.30"="0wdhwn4c1brqalghyj2mlpvn32kln9rck1nai16inihq41zqnz1m";
+"elegantnote.doc-2.30"="1byqlpjxz53c29sdc48073agpy9pg88yfbhvp0wf4fp7l9jl2m0l";
+"elegantpaper-0.09"="15mi33d8ml27axgkfqdvddwa6hyg02w4bqyd5wnsvai9fisigivd";
+"elegantpaper.doc-0.09"="140mrxwr89gkdswizwrgn0dirq0lm3gf5vvrwr5f7p961swqzk6h";
+"elements-0.3"="13hcg8vysd5ljbkpjicxpnvrdc1dg1c2vcf8lz1m7x25g2sgwq1x";
+"elements.doc-0.3"="1fp0jjgyd5f46pxs80wnz550jg6vv0dmpr45zn87anbq8mkxzcyi";
+"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-0.8"="17iqfpd37yhal9mwz6rwws4v8cdkv91iali8jxcjbg4xsxnsv6pg";
+"elpres.doc-0.8"="16ca64sw810if3vx2a2vcpnl9yilav2k8czbh5bmv8wb2ys9yg3l";
+"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.10c"="16qlbi1s3sa8m1zmns78n2hv05f3qm93xhcmagix2aya7srifv4k";
+"enotez.doc-0.10c"="1iygaqm1gdiyk6s786nby1ahwc0rgaps2b1h4b141gdczm03dyn8";
+"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-1.0"="10g0hf98f9mrp9k918nra9yvr8jrp2kbj78rn51cr5kgar17q1ji";
+"eq-pin2corr.doc-1.0"="0rzl206gg2h63rmdxyix4x0k3k21fn2bd7gp21ys757vd4q53jdz";
+"eq-pin2corr.source-1.0"="036ff4gi94g0a2qkww32dw4j3cq9gz05ah44n6pv550p8b9ssfy3";
+"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-3.1"="1103f0mwhjwq575fg099v1xsqmm3jg0rfgmz7d8xqpjjy3y6g7gd";
+"erw-l3.doc-3.1"="0zhbp441kw9h9xmhfvzxkzisx4kzq3ba4jgkkdrlnd6zxl82fdgm";
+"erw-l3.source-3.1"="1yhz5jmbapzjr5xk27pqjs6y1cg0civ78gzz8h0g6klp4jjgsigx";
+"esami-2.5"="1qc8vwxmbhppzpvqbnf7c7163jhhw7fqva423f3yr0nmhhzdkj9d";
+"esami.doc-2.5"="1i7qdy6q824hb5nl21d5j5p91ll7ki5x47w5l8lr3cch81mkwxqi";
+"esdiff-1.2"="0p5d89r6pzsf0hzaky89843pa4z2n4dgq3yg8li4gb5m2b4fjfkg";
+"esdiff.doc-1.2"="0jw4rhkshni47zdk18b3gd4amyhh6v9a1mgja58wmp2vrwv1nn2f";
+"esdiff.source-1.2"="0iwkbkmkl31wmdrd1wapd94p70mwd45lqld3b7pfb0j287nzkzl6";
+"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";
+"etoc-1.09c"="17bqav13vx2jlp31qwv7nh5sp4ga8spwm6x48vxqh4zwwc9fkyrq";
+"etoc.doc-1.09c"="0jngh1s0b2iz1xizbidd5wlwcidyda9r5filn3qflcxkh3mhkms1";
+"etoc.source-1.09c"="0j55yrbaswhmjixjmkj3pb652w34nh6pjgdm484a9s2337399rld";
+"eukdate-1.04"="17r61096angayvbdi9r3d7ljb1a5z9q9r093kpgdsi11ahcgsr26";
+"eukdate.doc-1.04"="0071bi5m6v5ak6g5pxjxzq5y5353mpdjx4f2dbznkmfd23wp8j7d";
+"eukdate.source-1.04"="1p6vg8nj8qipj59jwvp4izf2dv0l8490773h6j87wlclnnnlh2gq";
+"eulerpx-0.2.1"="04lcc883va515zqv2ql7wwffr352qrlg585q2p0i6hkdwhc3s4lv";
+"eulerpx.doc-0.2.1"="192dagl43ni38591fky5ywird1vlphqzw6iakj24awffnxi3sm8v";
+"europasscv-56829"="06vqrnfzcq04mjk38q75n1k1dw3ap7z5xnzpjmgss8rl6mjn4v3d";
+"europasscv.doc-56829"="032298ir415l36gakqalg5n1nk70c47xbm2svvg1ygb32sgn4afp";
+"europecv-57641"="16mdycdlk7nvb5g1mpz0lz4vcf0g117sifivr4bz9aqmnsfsw242";
+"europecv.doc-57641"="0f98qm36flvns48z6cn0v7n0fiqcwb6ji4gvr31xhbgf697kzs25";
+"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.1"="1cj863bz3sh9xz6g0kpi0131z2zf302vrzjfhsj02d903zh0f2nm";
+"exam-randomizechoices.doc-0.1"="0bsdysbdy8ghmirwxagfgfp46aqqk6pqmwhmm0pkllb2vmf961sw";
+"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.0"="0mhdvkhyk80ikdw1j11yvghhb8pgja78yjxsh3savf39grnnw7vs";
+"exesheet.doc-1.0"="130pczqsc1a0awy7yi0yy2wk9467nr762j9my6f1w0qi7vb5i8dg";
+"exesheet.source-1.0"="0x8ydqs3xgg8zzh30bbmz9yj7h7q6jb6xvic8lp309kd72vhk0cb";
+"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.00"="1jlql1yfkcrsbfbgjdwhaz8rjcmm1d64z0na93ycgldv7k8q87ly";
+"factura.doc-4.00"="0cw8gkcacf93xhj58j8zxnf6xn8cp27z98jlhdha3kic4k2w79q9";
+"factura.source-4.00"="1gzhz8ighvggbybjcvcnbnk79j679i1vjqizwdvbky1qpykgiz96";
+"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.2"="0d0yl486lw3lwk5p893s91z954065j0yjx23a3na1j9ngw1lbijs";
+"fancypar.doc-1.2"="012m4rrp9j89ahkm4nh40kn6xfd9rxqsyyf5kpf0n5yii9yb2qwj";
+"fancypar.source-1.2"="0rbzph490cfwybjdqndnm7xdgb1ffbciv9pxs21wbvgvyh1cc9gd";
+"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.05"="18974iy4qh17kmhzjrbnzm208y5wv4bq7aq9l4cdqnvzacnkad0i";
+"fbox.doc-0.05"="1m81a4n1ar5k5rpsjfbmqnwd2mnrhidl4bfgd8jmmlxnsfd59q4q";
+"fcolumn-1.3"="19in9l9wg7wb454ffmfhnmhrchf2m5fbw0kzk637k4bb5w8c48xs";
+"fcolumn.doc-1.3"="1fqgwd0lw8g1w0bifz6wdl6mx4378phzdpr5xbinzflmzzj2s700";
+"fcolumn.source-1.3"="156wmyx2i9fgvzfc9b9h3xxfii6jda2q7rhjqpbcqb650q3nfy6v";
+"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";
+"ffslides-38895"="1mpfpawdhh16rl6pnvxnkj95gf9hjs49gj7cwfyngmqkjc2idi8j";
+"ffslides.doc-38895"="0z5kpim798zxj20p70dpcgmwg4vx9mb0zrmq620sprxxdr2gd059";
+"fgruler-1.3"="0cicjknd9djh0csq1s7fx90a91yx4q25nllsyamsmp8br2c5rsyb";
+"fgruler.doc-1.3"="16lgfpapgn487yilf94lg029mcc0xqgyc2jv928fbwvs3lwgsc95";
+"fgruler.source-1.3"="1xg8zr5rjcmyz9qh9q7pd1scrxk2ld7gyrq86p9nfhn4nfcgybb4";
+"fibeamer-1.1.8"="06gb540hvfywk1y4n6apcxn4890ya7jvc5pvjdr57896pqrs3sdw";
+"fibeamer.doc-1.1.8"="1rili08dmdl4h093m7x281hzb7g3218qsq5llc0a012ak738r4pp";
+"fibeamer.source-1.1.8"="00qzawg66pm81f3w9ick6asab9nh7axmgbpc0ckdlj89bcziqpzg";
+"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-0.3.51"="0f57kk9w709j938sndpjaqqkk4ma41c3mhr7cxw9hyabis41n92k";
+"fithesis.doc-0.3.51"="1jxhk1jv5v328zqvcnzl1hhlv6izx5cirs2knl9qv21mz3fwk6v4";
+"fithesis.source-0.3.51"="1iin58ilwrdvirarh53wdawd6zwc5pas5p5p67vgy83qf39cf214";
+"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.1"="0jq9xq3i2rsrajmvlxziwijf75np9y6q6rvg1rxk620q3dzghwp4";
+"flashcards.doc-1.0.1"="1cwy5g4rxydlayaw5b68m2qrj1h5l6nzs3h4cawdgh2hdi6zd7li";
+"flashcards.source-1.0.1"="0vkldfg44kyw02zpbc66496yd8zxx68gfh40k0b592hha7ch4y4s";
+"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.0"="1kwfzz1mfk9700rs3hcq0l2px9qcbqlj3wv66v0bgj176g2mpjkp";
+"fnpct.doc-1.0"="1ilj77lbr7qa9wjf1m045grs7334q17xy03q73rf3si3lcdz8mqf";
+"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";
+"fontsetup-1.009"="107sk7dnbfxv564n7xggi3m7qyzv9vlpn4knnsimra6dcnk8zlp6";
+"fontsetup.doc-1.009"="04b6rzah9vcaixl88ybgx99fqiiw1kb2wcdl1lqm03f3vmfxa4d9";
+"fontsize-0.8.1"="08c2zgkicn7i82q2y9m0pv6ld103yjhq6vw2yvldivayjgzrkzs6";
+"fontsize.doc-0.8.1"="161ccr3rpjgdax47bl4lspn13ivzg8jl0qjn54b3srcjj3cwzrhf";
+"fontsize.source-0.8.1"="0yp7j3480ka17kqadfkvhjmwmxrqzgzaz88qfya8b81b4b19xhwf";
+"fonttable-1.6c"="1vz99pfw4akid9hjf7dcqf1fx5h30sr25i1f9q6a9frk0wpwff72";
+"fonttable.doc-1.6c"="1inb0ai6q8rjsrcwgv8ns6as60ifdidqzqb8x9ygaw3j5ykzr02q";
+"fonttable.source-1.6c"="1qjilvy77072jpbdc4p4qfy5d4n2ww2wcm5drwvai6p2aclqf29x";
+"footmisc-5.5b"="1lnvcwxyq3328m7lrdv8plzzvphwz6206y1y3c025g50k11jvkil";
+"footmisc.doc-5.5b"="01bcysxxzlvmya4npjryflgbn9bqiza3b9hjin5csljfmgpkkypn";
+"footmisc.source-5.5b"="1wh9sq39amiqp79wy23flqv7a415k56ik7hdrgvfxgq8sk6aysml";
+"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.2"="1790fjq69nmbgh9ghychrkcc5mq6pnvb7szcj4ikgmajdaxa3kza";
+"froufrou.doc-1.2"="11s2hrxr7byzhk66qczgwazqyb8rwpba1r1i0g6psnzmh0pfdgw1";
+"froufrou.source-1.2"="1g9lrwwrjczak9003dvrzqps5agylasjvvzg8dwmckm627jya6ir";
+"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";
+"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.46"="1jmydwbz5rqf2ljbhi1af2r9fjpni1kym3fv3rikr7mqawqsp6ir";
+"glossaries.doc-4.46"="11ccsky6m4flpjcfic54569pmgqdqllaivh8czxl6znc79lzq46b";
+"glossaries.source-4.46"="1cghqqd09n5raz1y71v2z04hwva0vsgl0nrxm14mh0396k3cp0ry";
+"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.45"="0asj8vhfb6bbjbdvcfjv7wh7wpgp29ldm9x45hjkj3iib8f8z6pm";
+"glossaries-extra.doc-1.45"="05i9mll0qszgdkkpmckk55qwy5i9hc8jz985w61a1cf45w2wwixn";
+"glossaries-extra.source-1.45"="1nrs8rkf0wdmdvga9d3ala1hvs9vxpbsmi309374i80wqhczfcda";
+"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";
+"graphbox-1.1"="1hvhadbpd988nvrlcppvv3bnm5lzmlnxgwmfp6r4mgsr1q7xgg6j";
+"graphbox.doc-1.1"="1gls7j4753s16q6lgdsaa3yg8fc4vzxh74z7qr2ykz9b8ij0sdr5";
+"graphbox.source-1.1"="0nfmfn7y1qqbm4yifqxfpxn9yw2xb9yj4smv9fmxrs57ism8d9dp";
+"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";
+"guitlogo-1.0.0-alpha.4"="1zjlfd49hkq9qc1l3g974wxzw200qyiy9vbiai0v9gs627hxckwj";
+"guitlogo.doc-1.0.0-alpha.4"="0awpik3x75rky5w6rk9zg3cy83dgxs2l57wfg8sq9h35zmni875w";
+"guitlogo.source-1.0.0-alpha.4"="1hi4rb31mc3820fafyhk2158y67b90xp5wl6xxd0b5fqz2z28qnj";
+"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";
+"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";
+"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";
+"hrefhide-1.0f"="1b9p4qwbclsgd61qqnifqaid1s93r0yqkwi95f24snvklm8gw7zk";
+"hrefhide.doc-1.0f"="0x3md2dm04kvnf4dfs2i6gpplpsayjcw4qz9qwayad7nbnpr9i61";
+"hrefhide.source-1.0f"="0jcf8pvsndvhqa77bi4i8wl5lvgca8w0h74pmaqvs1d0vc8nlja8";
+"hvindex-0.04"="1wk4q29iyqrk83kafwhah5gvvj2ywpnqzvnza6cwrkb85fd1q2i8";
+"hvindex.doc-0.04"="0vcdmn3xc4cm3rkdkzi0qvqakgkc3hrgy8nycr5c8vcb6xaiw0gr";
+"hvqrurl-0.01a"="0ckdgawrb76r4fszzsrjlapnd2m9zcmy2la2621c4gwrgyskjvs8";
+"hvqrurl.doc-0.01a"="1bxcgwllrpknm4akd85sm13y6wn36n86r04y8kc9ymv7i0c77gis";
+"hypdestopt-2.7"="1753c7vjx3smnhl1iylg4x0sdcqfg6gb0wdbwqmlass4qdn494w1";
+"hypdestopt.doc-2.7"="07a2dpvvyj2r2691v8izjnqjksna1nm00za4sva1npcrhkc2qq1q";
+"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";
+"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.12"="0ydcq3pk37a6mimv85vm3nrl7b53sgs7m1d78705swk0hfh2z3x7";
+"incgraph.doc-1.12"="0mc5c6g5af1ri0hx66bcx5lnh2hhl0lgdj6xwsjhwkyik49lvagq";
+"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.12"="06ikl5zl5l6fmzwak6vq6zcfz4z2scpw6gx7nvdrd6y1s8vp5h27";
+"isodoc.doc-1.12"="0ybkmdz34nxyxsnxjhd1z2riywfkrxv77969mnwxip60lny6mkrs";
+"isodoc.source-1.12"="1yxp0k3bvy4fynvnlpyg482sd2xjb0d5nnkcfxjqq8wkscgr3vxl";
+"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";
+"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.01"="1zw3wmhjx6inalww7dy5564w6yv87cjdn8kb06b7qnzgh1xyk3w9";
+"keyfloat.doc-2.01"="1wbb6i1l31193i83x9jd6qggiyklvns6ma0ing2b2gqsmwaisbyg";
+"keyfloat.source-2.01"="11yylandkr8cryv5yvwa4x356vzrgm5wkabcvqasmndid849i55p";
+"keyindex-1.0"="0fsszjcw1r3kws565pgc5j7chifbkf3dh1hnlclwwsjpxbji4n6c";
+"keyindex.doc-1.0"="02n7lxz8pd49q9nf6pavhs01410zj9pbszqqbmk5c1ld077276x7";
+"keyindex.source-1.0"="0k3img6kb6v853wzmhsrrhx7lrh275ssx57b83vk3yx9m831qwmb";
+"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.25"="1zi402k1sm97fc3wmvwzrwkx1sipik15nb30rm884q721mlamw0x";
+"knowledge.doc-1.25"="0vkjyjn900iwmazsy7jjqb0s0y8xizv2vhfb9a4sd7c4y2lcr0vf";
+"knowledge.source-1.25"="1d73hr632ml7v8y4sphl82vrpjk8z9ync10q82xhykd8wdxfzlnv";
+"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-55426"="1a2lib52a16c42hbcj7n8hddbbb94r5ghhj1kw75czxixlgrqgvz";
+"l3build.doc-55426"="1ka2lkcmq33933gz8r8kvsaarsgczcv8bp5jplmq9mjwnxdgig8d";
+"l3build.source-55426"="0rbkhc3lcf8zniqn4crdqjrmsl3gqyhzb2bpp0sn28sa6wm4x99f";
+"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";
+"lastpackage-0.1"="0wjpjd3b48fj4mqqdx38sqalbaa9ab3c6rywyjqhvrd1pxfap2g0";
+"lastpackage.doc-0.1"="1123lz0ki4kww93952wqrhrw9l2cnk4wrrwyi0dxc5w1yfn2gg87";
+"lastpackage.source-0.1"="176fk84mbb6w5ql94381kz05lh8q8im7ri6rfjff7f4ymfjnh2jk";
+"lastpage-1.2m"="1wmfi6qz5d58vfk7yvvaj9dp6hrcnf0zsscgb1y52hprkq5cx1np";
+"lastpage.doc-1.2m"="10fnb5b85r1ypyfx0c3a119da12ay2412kld6rxqckir6nfx9v4r";
+"lastpage.source-1.2m"="1nysnljrg0irgmjddsyhpk8d9s02wr9g0h9ldpdwlxkrvvj82nk8";
+"latex-amsmath-dev-2021-05-01_pre-release_0"="1q29iyi6hiff7qyprffz0i527rhnfvyfxszsc9dpqvpgw20zwdqx";
+"latex-amsmath-dev.doc-2021-05-01_pre-release_0"="19k9bdm04kba8in8vd1xmw045nl4p74r0c73kf18z14b8aa3iw0q";
+"latex-amsmath-dev.source-2021-05-01_pre-release_0"="04cq98iz15f2yr2749yfxlvljzq3hb5fmk6r7mzz806z7pvy0vig";
+"latex-bin-dev.doc-57981"="0kig2hc245vnmhfnpqvxiskbaaqf0fv8j569ihsfr1fv3x94bdzq";
+"latex-firstaid-dev-1.0k"="0spc5czykhc13hfr6fw1lmdxv2m2g0fiymz2s3ch61ad6263p54i";
+"latex-firstaid-dev.doc-1.0k"="0jy0h4njarfv4w1rdl1y35p7i3la0hfafvwnms3c3j8jj2rf3zh5";
+"latex-firstaid-dev.source-1.0k"="0cdbcj16w2h0mqm5j8a5g5z4v0gb8mrgjamw50a2rb7g07qwwkca";
+"latex-graphics-dev-2021-05-01_pre-release_0"="05wyr9z08sld644dfdzj9m6v4j59b75yzj5541lcfkp8rl4ailiq";
+"latex-graphics-dev.doc-2021-05-01_pre-release_0"="1idfhdlhdxd3lbbgvjpb19cg2bfa2244q8nkqqpdqw7zd4vg6afz";
+"latex-graphics-dev.source-2021-05-01_pre-release_0"="1ylzclvgzrhyyfgsch0hh98zbnd9y4jrf0q8fq2xzyhll5nnmzlp";
+"latex-tools-dev-2021-05-01_pre-release_1"="0zfxs0axp7rzw5xibh60cfjywi50slap3y6gqi0nlwhibp7655vb";
+"latex-tools-dev.doc-2021-05-01_pre-release_1"="1ggh78ifrn52yyz1fr4j2k0zkmhizwgfvabrr2bfmpxm2a458yrw";
+"latex-tools-dev.source-2021-05-01_pre-release_1"="0wmp1cvpbbm4xfmbc2mj64k3dby7yr0q3w0axkfw2bv3qlrvp4nr";
+"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-58503"="04gx4wmrcs6xmw6jh4zd47425f44z9vj6hkrwyj0p0naqvs9wzb3";
+"lebhart.doc-58503"="140sq1pyn8walsyhxrmz6kz87y4dw2gcc5rbwiykz7dgb1diikd7";
+"lectures-1.0.5"="0qdhkf7z1rnxm2ql0ywfk11y3aqp8yr1p9202d4ha6729n5pyima";
+"lectures.doc-1.0.5"="1xakcm4mmhl4ahnvcpn7k748v4j2m8p6d4p455claqhf7xg4jz15";
+"lectureslides-0.1"="17a0zn4hnkr8mp6rhmm5snjq85i023r6fjpmhpzbkw37l40lfjf6";
+"lectureslides.doc-0.1"="1rwcpga5xk5kns62mcrkrcnsmb13klvykzvclnm7w76hnybd0f4l";
+"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.3"="0d5pm9v9ipmnzn08h18g8k30mqsf48la63m4amq16smbcrjcz31q";
+"lipsum.doc-2.3"="1q2iyvhh36f2jg4m3cfhszb3slfnv7hksf3ckyykfm3h25lj324q";
+"lipsum.source-2.3"="0z9f2cgmimixwml3h51bs6yvz0zjvy1b634hjhpqyy1b64lvsmph";
+"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.3"="1c9dxz9l92gmgy9zgjsq22481k2pphwdglhk3z6c2d7wsihps0kl";
+"lua-physical.doc-1.0.3"="005b7qmyv2rqp2zs5gi8ikxfqhk7cr7havyg9ni0jl5wlwn1a4sh";
+"luatodonotes-0.5"="15syf4k00shgi159j6ja182k24xhfw71zk167wwmy57y7kwm5cam";
+"luatodonotes.doc-0.5"="1jcybpcd500lzkwa33zdmsq3svb9hrh8f56j4qgwm9cq4wb721f3";
+"luatodonotes.source-0.5"="01km6y8ajgaaab9j1bdp4s8gj3iw5b7cfdl1yngp41ph22888aw2";
+"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";
+"makecell-0.1e"="0238il37zzshzl3qn50hav3wa6rd25k7rp5l93lb9g7r476sgvrj";
+"makecell.doc-0.1e"="0mf4jc9rv66qjnm3ldrpx5lbfw1yfqy0jsvg8d3wdcwvlxpcrvwf";
+"makecell.source-0.1e"="1vkfkfgjnhx5byipkrzb202w9jvmnjc2z3zjih6y61yizccwm543";
+"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";
+"makerobust-2.0"="0nm751w11p7cqg8ihckn338i6908kcn513644c6a1qc9rg847hlp";
+"makerobust.doc-2.0"="0bidk4f0q6486vgwqvifzchkn0xi1l9j65yqwgcdnl3yg6vamqzw";
+"mandi-2.7.5"="0idg4r8wa8xa4025xa20xjcrzvahnrspg4qif4lqywijv8921h25";
+"mandi.doc-2.7.5"="117gassgkzz11c12ba562iipw6winx7fbrwr1s5kmjlcx48xpzqw";
+"mandi.source-2.7.5"="0jsh3czwmvyvpr52zj97kx7h7c2nsi4zl3hmdpmdarhkcwzjfqdp";
+"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.9.0"="0zspbmkkqzab4mqj4id65gzh2fm3mhc0444r7kan1010jzhfd0hg";
+"markdown.doc-2.9.0"="0d0jpi27g01cr7xsr6qb79b7fkfbxhbnjbwgdl57sblixgmcysfq";
+"markdown.source-2.9.0"="0406cj0wc151f3cj4c9x76g5i34krarp3nmxfqw0626zj03irp6h";
+"mathalpha-1.13"="16r82mxl1lvv77j77hbqiy74xcclklxia8x3da7by1a8j1yvr78b";
+"mathalpha.doc-1.13"="11nqf75xd42rspvfdnw039j9i9akf5zncjnnqw54blb3s6xcrk0i";
+"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-1.6"="1cchrbpzjkvdfvn5qnzy9q9x39x9fvggf2hil6msqrri8wahspk2";
+"mathfont.doc-1.6"="1lrb88kx05ckyn9pf9w0d4snjydggfsg9qy3cm95288xxhn8z26f";
+"mathfont.source-1.6"="0vk88801illr345nvxi6adw27m1dj9v1l5s0j137gbyqb53cqdyg";
+"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.4"="02qj4fb3xg9h74z9wc2agisp5cp2fbis2h5ci8j09d22ak60rh8b";
+"mcexam.doc-0.4"="0f4d54kf4svyq54qcd1xqpx6zl9h99ahfzz1l72jyjhlqf4v6rj2";
+"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.5"="11017yr6jwy9dy2ann36zxpzcgv816w3ma05i7plha3rdqsyxlay";
+"media4svg.doc-0.5"="15dva4jl5hiq0xcgfwryhz5zyc1v12rvp9mpr6njwzvax96vwnks";
+"media9-1.15"="1kqlxl1ny5xd86w4rnh3xgs1yf75mlgxvddr5skfywqcx23kxxwl";
+"media9.doc-1.15"="0avks17bchaj14k86bkikqphz56zzbjh8bk4mdbq5rm6faq41fb9";
+"media9.source-1.15"="06prhfr2aha2v176g4nm72b1rzl1xxdv5164n5lfdsahaqdb1r4r";
+"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.06"="1v7b4g2xqq0icci5kk9w920hqlkl0cw9z7mhpzd6bax8mbkaqih8";
+"mfirstuc.doc-2.06"="10dym0f52kkscvshnd7y9cqmycrsha3vjzqxbypjgklm0fg663bq";
+"mfirstuc.source-2.06"="1jx2pk3c4zg9gcslc2gqnmw6019jk3hd79qa79dc85jcwzdv0chn";
+"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-58475"="18ghcxff1sziazalm9sw367dgifbwqyca4vc6y0a7bf8gb14wq89";
+"mindflow.doc-58475"="0pc1hc1r9wzqfgj0m82rp1yb64j9r2q4dicfs7fvi8846hkfx67l";
+"mindflow.source-58475"="0d4dgx7mp66mr63q66wc5mnkjcncam60gkdgy9j6ag54j7kibbds";
+"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";
+"minted-2.5"="0n6ni5pl2fxchy2g2s9pbxa48wscviilbqi83pysymq7hdwcw1p0";
+"minted.doc-2.5"="1yyp2kmiw3b52gjnck07pzcz717srn21z15jh6ikx77a0m4nl6la";
+"minted.source-2.5"="0c8gn4ch0yq3pa5x863g6yshl6q44b8jqqv0vm82pqr1s35fh2im";
+"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.1.0"="11azbzdfi8fdnb2gwchdywv226j2ii7iz7cn41ls2q5kds41apfj";
+"moderncv.doc-2.1.0"="1214g042annbjmfbdnmxxcdlwyhwzig6lqdd06nfv59qr9gy2bi0";
+"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.4"="10zmkhymx023jj7isni49sc06g9g2pjkf6c421rv64jqis34jvzv";
+"mparhack.doc-1.4"="0rcx478bxy70mvzrqp2vp5yl17r3arvywp4bsn3c8652cl92qqlm";
+"mparhack.source-1.4"="0jw5imcp3dd4csjp5pvbqh7pbz119q8f2jgg9j743b80l59rmlnw";
+"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.03"="01g9ynwghq4a40jfb8qvcslgc0wa6qsfwfxr2m3cqyp5f7z27mar";
+"multiaudience.doc-1.03"="1bspy5q8n1n1vdd2570vh1xkfp2nrd12v17x9jfqxy5dbhggbfpy";
+"multiaudience.source-1.03"="07c5281w68jna67wsf71xafmk7yjw808ninnkzqs13csl5vkyjwj";
+"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";
+"nlctdoc-1.07"="0jgnmp6pfjz2jmlvrvnbqsmxk0bj276044hzdgkxl635ilzkzds6";
+"nlctdoc.doc-1.07"="07yl0i42zzb7xw0wbdwzpm7ibz6imds379ag1s77zii5zvlir1x8";
+"noconflict-1.0"="1flkwyz36xycq4aidj9v6ga29ghbww8ss5dkz4lzsr96nv38q78r";
+"noconflict.doc-1.0"="1v3q7xbss5ra1dizg2mz66zq97cfsv5lgnd136xqbbmn5vphl0dj";
+"noindentafter-0.2.2"="14z62mn7fyfj7m8wk7w8faq7lwixwfaf1mlk9bcc1rrpvm5hqn85";
+"noindentafter.doc-0.2.2"="1r6a40hxbkhm539b0yw4kmmg2wxlbnlrfa0wpkicp2yi2zy9xiif";
+"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.5"="04wp75pbkhk90137k93s24sl7iggzp2x36ym02y7x6g2cyfpf6v8";
+"nomencl.doc-5.5"="1qvn7ih059frjnm2cdk3sria70dyraqi9g4c6bw2qw8amcwc1bnd";
+"nomencl.source-5.5"="1ygv511l2sifvbx7iv0xn58s51ifzh19l0cjd8ibb89a8i8s9cxv";
+"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.4"="0lzzdhdw5rz36d83v0y0g75h4mjldsjzmd0zdjbv3hxsjplywdyy";
+"numspell.doc-1.4"="0jvywqs9bxrc2bm1f61liqrimbhvm5akl8lyc3xr8gqmk84v82jh";
+"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.50"="18m9m5nyr8npgv88di7bhr2bajsygrw102ycyy5rd52bqvlcrnhr";
+"ocgx2.doc-0.50"="1ah8qwa28qxjznw111ifhxnka51smqackhkwkzydk40nvjvpzawd";
+"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.3"="0ajvvwlkick7cm54bwp93vbn74a77jc4yb5vpy481pgl3c1f3rs7";
+"orcidlink.doc-1.0.3"="0d4y49d9h7l1h0d187g2pixrk9midqdfm79lyh3mxh2w2l19hv9c";
+"orcidlink.source-1.0.3"="0byrhilaxyisxdkxrb1zzv7r3snihw552n7ypsl67jjmw0593vzw";
+"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";
+"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.1"="0kxlx7p8949msfiafqf0j2ayg41cmgnk1g8023af9rlxbf69swmr";
+"paresse.doc-5.0.1"="1v04rmmmy8lsvmbvnqgiivdr5rxfh97k3fb0zc0rs3jfg0jl290g";
+"paresse.source-5.0.1"="0lvwpyc8fdp3y1h7jrmlymajjd40a8kc4nv94wg6nx5xq2rksd7i";
+"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.0.1"="16i5d309dad5g00kwwsv9yfwvf3qaqs5vb9s80iizk6bicgf35yz";
+"pbalance.doc-1.0.1"="1f87jlzha44v1z2p94faijcpaak85fvnyyp694da4d3d4bvg2f34";
+"pbalance.source-1.0.1"="1iy7xzs5azgprmy4jdfpncsnvksygnqya61gzjiw02ddhr8rmh5d";
+"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.2a"="1gyrwbv8xnqd4kb70d070q0siissyvw0v9w84di6v9wb27s8yg97";
+"pdfoverlay.doc-1.2a"="0nj5ahamxmqv1vqibjai30a18429a9f3dhngw3pg1aa9s34f9c9s";
+"pdfoverlay.source-1.2a"="1kh26sl5w11p1vg85spvy4ppw0h8fm8n1bh58jhbmp5d9cgrkw53";
+"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";
+"phffullpagefigure-1.0"="10vdd225whr0y166xbfc8qbm39vmw3ksvcjm7ylkafyp670ckc3a";
+"phffullpagefigure.doc-1.0"="008q8mf85s4dfbjxbc0k9zpwazbvhbfcc0hqvn679v23kxgfphnx";
+"phffullpagefigure.source-1.0"="1xwiygkhf3ggmgl21dsqmpq6238whn20wzhwn8znhh9sxwa58pyl";
+"phfnote-1.0"="0sik9q24cr32xc3v88rbfqp9q6whv8pr2acg95g94r2nh800ldml";
+"phfnote.doc-1.0"="0rdzcdp6xax2p15ilqpk6yc84rag379ik6zivqh9aivcmpsl8ak9";
+"phfnote.source-1.0"="1lf2g3ka3090s9pwv6kryqzczw3bnrrm9g1f826bdr5ic83k85w7";
+"phfparen-1.0"="00is93n463f5iv4gxd18sc3w338h6a38xahrd1r5j8mv2d419wq2";
+"phfparen.doc-1.0"="10ninpjl9ij19kw8y8pvbma34b1y462qdigpslid2g3gyagkrs8v";
+"phfparen.source-1.0"="00bd1j7zn84d0lfkw08mc93q2ayg7j7bq9klcvvcd5m189spj30h";
+"phfqit-2.0"="10m4s3xsyg57dpxnlsxfr6wrr05p2jny6rw386dhgy8dxc1pdazq";
+"phfqit.doc-2.0"="00kr0rirmjkhhbdvwifzxwj0ifbj82kh59skfxpcls0kd08kd74l";
+"phfqit.source-2.0"="1mshxyi4yplr0hc0sfssjm27mi0dr59zkhf4gar3a12y831c4m36";
+"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.0"="057x1rjr18yw83gsrp9gvgzk3vq95dr2z3pjrdaq3rm0j9m3a2vd";
+"phfthm.doc-1.0"="1xr1588xc5pmnmcxjxpym4qhsq1h8cc08b4b6vyw7w0z5a304z2z";
+"phfthm.source-1.0"="1n33br6n6ffzksqri0xskyj9x9q93lgzr7cy7rsn0c2aksnmca4l";
+"philex-1.3"="01m80gaawlxnga76rkqwwrg9bg0szyd3qi0d3zyvk1n41h6inijx";
+"philex.doc-1.3"="12s81zvlsddzscvlwqm080y6iv1wm5vrffp9aqdlkpcf0fwlriva";
+"phonenumbers-2.2"="1npdf1am3604gk6anrwpkcsjcchg7cb7m6gqijp53mw64mbka1jy";
+"phonenumbers.doc-2.2"="0p1k4i67rvn1458gnlq49v79m5rjadjsvifabjzz1clww4dxlnmp";
+"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.6"="0m81n5syr8p99wn8x0yf6h3qjc9n5rdmlrd0mg778m2ccmjzim82";
+"powerdot.doc-1.6"="0npmh2sld6kgjnylv9bbrm01ff877mi86qj83kc14bcs1wf8709l";
+"powerdot.source-1.6"="075ab8yw6pdxgr1h1dxw9wicmdhzlhlvqhja4z07j43x2f6cvbjc";
+"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-12.3"="1jfhsdygkfnsf454rgsvgdh15vi4qa9yhlm7h2chkaid8rq5ig69";
+"preview.doc-12.3"="11xcl7k24ymm12g3s8g3qkwldn6w60km0rvq5xc3draim95qs254";
+"preview.source-12.3"="1hvvv7qbmq47kx94jxyrkwqi8lv95z7khk6hb808kwyjkrq5jzg2";
+"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";
+"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.21"="0qi09d9zyqfimr5p3jlzs2xbhz0gbxz2g5v8vszx0k7ysn791f4m";
+"python.doc-0.21"="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-57520"="14i202062jq45h0dcwr7pkxpw1crjklwrvv2fbl2p7c9wpd3ch73";
+"ran_toks.doc-57520"="07xs3spnmv4623i61gij565l7asl85519163b2470bidy152p034";
+"ran_toks.source-57520"="01jv80p4hbl4idffr6b9g567wqzwdvlklkjb05kh1360d708lkcv";
+"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-2.0"="0pcbbbp4q1vqc9p7qwdcml484a03w1836rcr0d33f0rrxy6xgif5";
+"readarray.doc-2.0"="151gnl2p3a45mlrjm2fvql8p6a59alpdfvgykyxwf2dnhpcibz8s";
+"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.0"="0fa32j3ippwdfg7sh02nhnjb1ajmdfa39nm15rb7ss11v7167da6";
+"runcode.doc-1.0"="1j7mf48wdpl23d84rwkmb13c8rjvi4c7v7gvk07rl92xg8pc9vzg";
+"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.0"="11pf882l3rp7h14l2w2j3b2gcmxwf6bqv5kc23shzyl4008xx3gs";
+"schooldocs.doc-1.0"="08cswnn7fh5j260f3vyix22x8i6l12waj3z9pfliij8kr39j77w6";
+"schooldocs.source-1.0"="1zijm0iwqcpzrl4ixzmd9dbg0q78nhz6r4rc4ydr9w06xsr4w4g6";
+"scontents-1.9"="0jjc5q254c4qqvhv23r6f92dqh8fgza9kas6vpc7j9kiklkjilmd";
+"scontents.doc-1.9"="1l1206yvlyf59hcjf8y3gsanwxims96jp4k52g3wbr0pqgq3dfh6";
+"scontents.source-1.9"="04wzz12zh694ds8p7x2rmymg352ahkf5hcx1xacz3craf3p0sjcc";
+"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.8"="13n084nchrk9awap3bnywd9b7qnq5zvka71vp96h1yibry4n6qq5";
+"sdaps.doc-1.9.8"="03nbkcb3rjmgnirdyqn6pp85qbqg8p591n2412zxhvjmd74x1295";
+"sdaps.source-1.9.8"="1dggzllm84lpqcl0zbrk9j4hdb1d369rr9wpilk5zjff6p7nvch7";
+"sdrt-1.0"="15p0i40aa82f9lgdiy7wn5vbkbb4z5hzmmr4g52w6jisx8c1w45v";
+"sdrt.doc-1.0"="0y1gxcyms3wprp47y2mlfcc68gijyvyc6h10ivif1yydmxq1b2ki";
+"secdot-1.0"="0pnimi0vfgp5zsp0iwak0r0j562w59cl1fn3pnp1gwjz65q2229i";
+"secdot.doc-1.0"="1v8j3l2bh055b18zxl3287ardn0ns5qjgbqkj08qxz5ls912y2br";
+"secnum-53657"="1xp02rh3wxix7hx05avjxxphzmcqpwhalmzm0mw4rrhwp5jwaajw";
+"secnum.doc-53657"="16m37g00k226wfi1zjdw6yhdvxcwjlzhzz8lbyc53fk17q8k9dzm";
+"secnum.source-53657"="1g0cnxa3xd3lbrwl7pcappnw8mx5ihig7pd47ffxsscdg4h8vvav";
+"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.463"="17qb4jzxx41ixcq8xdvn96qxj7y5hdcjky05lq52d99mrr48d9g8";
+"semantex.doc-0.463"="0qzw56k0lj5kqi4vc2znwsnf3wp9c1hdmc3n3mq9yhbbf5vgbblg";
+"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.8"="1sjwjrgsc6wpbk713l127wwbicx7yj291jz91r7babmbjxj433ym";
+"showlabels.doc-1.8"="1q8sa587iv6smdkr2xxb2qq0zc2l9k3mq4kabs3lls0jd238wriq";
+"showlabels.source-1.8"="0h25cly3r6vczm941ig6d51n3qcpb804snns943k7pl2yc41yzw2";
+"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";
+"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-58414"="070a2vjnkd4zz3aanwscf20fmap9sy0bbfvw4wvv2ajf7lcybgch";
+"simplivre.doc-58414"="1ishzi609rl4f611w6axdg9qhx0sr83m3ff8cx5rf473wa0rvnhx";
+"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";
+"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";
+"snotez-0.5a"="1dgwmqwxsr0drs1qyh8v6q7v0yxa24jxrg3dm5lyzx39d98mh24s";
+"snotez.doc-0.5a"="07hhfh7d081d1jmzxcnynszwgjp2x683ki6f5q5pj7rzvlnhmm14";
+"soulpos-1.1"="1p9ql9w4q3kihm34gz7wrqf3zlwgdljmwl9lsd7mzc7hxhby7lwx";
+"soulpos.doc-1.1"="0wgf20csnp8xygx6qm20n3rwhnmsdk06h5jfwmcpsm7rnwj5fq9b";
+"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.3"="0y2pipy43fns9fcqmcwsx2k8ikgkznf1nq4cw77rzcgzpizaqhp3";
+"spacingtricks.doc-1.3"="0lh4507lis4m9ggmacqiqcqbqzp42bdcli6q83gc780j669sgxfi";
+"spacingtricks.source-1.3"="19wg8n0mim29pxwf98gz4s292qjazrj7lsnq98idy0cg34gk3d7b";
+"spark-otf-0.05"="0kgfj9kmsyi501a8xl41c9dqw0msqn60wsh99znhh4b1b0hk0qw7";
+"spark-otf.doc-0.05"="01pa2m9q90amkpcpa90z8azhz9hcb2k7i3yh67a7yh2ndi97qn8r";
+"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.01"="1hivczypj6glpy2qja23a9f21s9j178l0v2ggk1hlnj1g62p8g4h";
+"stackengine.doc-4.01"="0ypg4nc7y07h68l8frwrl8sc7jz85rhnfj56gdi63chrnqsjwc57";
+"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-50489"="04ranihj8is2md5ag94iiwak16ld7v1vr98fnzd5jcs28sjxngrc";
+"stex.doc-50489"="1rzss5g5j6avn2946g1dl4cciry6fc5dlcscrx48sz8incf9l84v";
+"stex.source-50489"="05chvd8rb9i17lbrqlwg7nxsqqhsxivcsgxxkv8pxv90zycbd5v7";
+"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-2.1"="1r8bf4q6q5wz9403wrxr44719scrxjmashv6ivsiv5xvsxw9fbk3";
+"sttools.doc-2.1"="0kmjxdw1k8bswqravr2iw98dxhf18fyryv9dxwvxfddqpappplif";
+"sttools.source-2.1"="07jb7sj9mh7xg32fpymb6bgs8s2ryq1sdd5gyx4137hxlhssclvm";
+"stubs-0.1.1"="1p454rfdp2v4zq3vx1716x2w1cr1a6dkcwnj2hx7w2jn8118vqkb";
+"stubs.doc-0.1.1"="03la45gxcy1l1qik7kgcb518n3yvzwgdi5x3ffzfpj4yp2rq994a";
+"studenthandouts-1.0"="1007rr5m0lbfib30bkb21nvpq1h7didqijg6jsbprmkgsz1xfdkm";
+"studenthandouts.doc-1.0"="0sqfqxypkrcyp8fc60xsb1v9nbw7h1xrdai626dlpknhnm00kzmj";
+"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"="0mzw5b2aackc2xjcxbi45m20v3xh1wmh08nnn0kfjs1fdm47wq9z";
+"suppose.doc-1.2"="1v86jg194kpdgbfngaxn1mzwa0r8vxwjprgiw6sxypks6vnqz79x";
+"svg-2.02k"="0h7ciy6qc3awr2317npp2xi958s4rz8kfr137s2rwpabmkriypsg";
+"svg.doc-2.02k"="0c2ibjsnjffp6rr4fk6b74j1vm6vfi0awvhbpz4yc5cvgjw733nc";
+"svg.source-2.02k"="1dh1857r254hiyi0sjdm3271h26wah74b67fvhmkwwr0wxz7w7vr";
+"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.18"="0ryiifcsxkiwgmq2apa1pfabgmw2g52agylf45b622q97akgknjw";
+"swfigure.doc-0.9.18"="1xbbjxm49ja41cbz08b0zvmwgp3dm6asckwjgqj8yv93a2fmxx02";
+"swfigure.source-0.9.18"="116cdphwhm29jp8rbf2p4zmnwj1sb3xby698jgkj52ha45qixs38";
+"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";
+"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.4b"="0imbkzdjpwj6z0lnw5zdc8hlhgr9hbc63a55pn4rcykb5zvf9hqn";
+"tableof.doc-1.4b"="0grdp4xs7dlrgpnlqmlssicncfrs74bv8gqbw9sa0r39cgd0rjir";
+"tableof.source-1.4b"="0pfzqhcyap7754lisgzdd795vfni4w5jpg8d9yyxv0wg0z2w7cpj";
+"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";
+"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.80"="0qz31vkvb1i729kvmalrhh33nk3f6wr76jmcykwica0m1yz39nh6";
+"tagpdf.doc-0.80"="0vc3v5chgghf9vx4ljvw1caqf78h8nj49b7c6j88r7gk9dlbazzx";
+"tagpdf.source-0.80"="092rd4g51w9wnny5s5527wqvbi35xqnzzlbnarn43il17hazxvn7";
+"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.3a"="0n9byy7yai7cpyqghp1warj134r9m83kk9qrzs8plfb604lbznvr";
+"tasks.doc-1.3a"="0fradxaivwq5vvqm37n97rm07ja4p6gxk9zz07yixj3nnsbspczp";
+"tcldoc-2.40"="0gz5v5hi7r6wr8qas79lakwr7gnf8d5kypf7cp62qvrybp0ljgqs";
+"tcldoc.doc-2.40"="1vy7k0f6ri4kbjrhby0napsas9wwlq5by2q1dakbz7r80zr7dc3k";
+"tcldoc.source-2.40"="150p69vd9465icda6p0wp37gg9vl8y3c2ys3b8f9ij9a88x5775j";
+"tcolorbox-4.42"="01xkk2zwxlccrv09z2da28vnpjaq994bwsdsi2c6gf8v4sxb3mda";
+"tcolorbox.doc-4.42"="1cyqf6a805sccm21ihz9b85nncziq92g777yayzrbdxm44llyvn5";
+"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";
+"testhyphens-0.7"="1sqq2rf8amsn6zdp8l1vg5v5jxcn7ipp78qbzzkikiamlxv89nkv";
+"testhyphens.doc-0.7"="1nzimg7bz6h9dm7hb9r9fzs130dw5y7cjzmb4rc5dp5a5xhiliv5";
+"testhyphens.source-0.7"="0s92imbkb4p70fd629bbg2cma72ys853qby1nwk6rvdw8gp47pgg";
+"testidx-1.2"="022w2n8zw6vwfbsg3fa38ba4mng3jv2prk9yv7ald23hyhmsnmnv";
+"testidx.doc-1.2"="05w8pfdb733sb15vb7ryi63x5ka4m38jqvq3rlhyxnr7ahrw3inq";
+"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";
+"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";
+"textpos-1.10"="054xx9dxq3d5872rrnyjdqpiwf6jgsnddah8i57l18wrls8l3jyk";
+"textpos.doc-1.10"="1ih0f5rfwys7pi57l5i03g08qh6avza9sy2khwd58bgqyfdk3m7f";
+"textpos.source-1.10"="116aq86hyd3s6mygg1sig4lg3jynpymrngas59497raxd5w7n7c4";
+"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";
+"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.13"="1r0g5yd7ylacn2r78y90vlggy0w6hlngki7f8jhiykji616l1281";
+"titlesec.doc-2.13"="17y6kxsz8kl2y4hdsirz6m7zxsgsb55714whpzrw11rhjdv03363";
+"titling-2.1d"="15iw3giwxg658pzb6basjkp4v92m3qvzk1fcarnzikc649bjcbch";
+"titling.doc-2.1d"="1r75nwakbkwf32qva6icp3pq3y8bgfl6cqw304lcw8p6bih74y5j";
+"titling.source-2.1d"="1jdgyn9zyf5rwbaz004g85rr2jpd5gi5iyn111s0r22ml41ci3hk";
+"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.3"="1i2n4cijpm2s8x2carxh12a2ci4xy276avwc5g8qjl3qckwssn01";
+"todonotes.doc-1.1.3"="1xaq4zvjvy4fx66jlij2gqd468n62w8a4glzylfisplakg50fmib";
+"todonotes.source-1.1.3"="1qf822l6z7askd74n0ndvvlr2y4ap7mzj7nn55zviba95gln0jxv";
+"tokcycle-1.3"="0pqzrn7s3vjdv6f75afrfyqzaz7j00lmp06pbwirixmn9g7qkqlx";
+"tokcycle.doc-1.3"="0slgpw0ml9rxd6zqr8s6cmy4vm8b5c7978a3i7dpabf8hvkd7s2p";
+"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.10a"="06dj29zxiggxg3j7mprg7w764i1gr7j39gp92igs0j9cywq8bwqv";
+"translations.doc-1.10a"="169asrvl2r8297a46q4vg141055m0yb81p62q5h08ha0d3zcnvky";
+"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";
+"unitconv-0.01"="07nmxxclxvx28w8w7gmgfs5vqgbkxxavw8c31nk54dvskd6l6zlk";
+"unitconv.doc-0.01"="0yfcqw1fx38kbc4kcw1620h6mydzzxi1y67x1yr6wa0aiwsd6il0";
+"unitipa-0.3"="1wdgnpllyrkacm64z6sbpgfwzsij525y8qf5nx2lw973bpczrxlm";
+"unitipa.doc-0.3"="0ydj67f0gb8v8yhaqyp5i5k1846jkcvl2mp962mrc0c46wd5am7a";
+"unitipa.source-0.3"="1rg62iidfq4wlhmjkq8yf1r6i3sd1j0d92rh02biw1655qazs38j";
+"units-0.9b"="0rblvdf1cgsm4fda44vvldy6my58dnars88wv2blgnzny8s00jhn";
+"units.doc-0.9b"="0nn5y3w25sjxq0bxq07d6453awgm4m4gih5678lfxf9yvnmvigq8";
+"units.source-0.9b"="0mmqp3vhly9v02fv4q4d3bq7zzx8nmm33nlvbn7137jgc7p5vlbd";
+"unravel-0.2h"="07qdrdr98l6la49zqnqy3cbn90lxg5h3wbcxn8dwfsw2g2vf1xk8";
+"unravel.doc-0.2h"="0q8dfnz6rdk1ml1nibivh6lr1g1w2m70dl376myc4dhqh2g8s217";
+"unravel.source-0.2h"="0fnbc9h330vs4fvpnacjy4waa5gzar28kz6k20pvicfizvq5nhgy";
+"upmethodology-20200406"="0a3jlv480lj2h836wj2paqyqh3ia3bc86431gb4gsp1jd8yrn53v";
+"upmethodology.doc-20200406"="1qzqc2mib1pavlmvs8rcn3f7hk21sfmlg4s9i9ss54wdayxgyg2r";
+"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-55291"="1js79n29vap5vfqpczrwi54jvsc8c76lj5dcv2agmpi6nsarg2a2";
+"utf8add.doc-55291"="19fwiahqadl9xmbzp3ividqcsf09smg9rrb6pq1d8b7vbh8yybmg";
+"uwmslide-27354"="1kpbdd8q3q0qkz6alvlnl24jjx6shc8z8p36d9grd3idyx0h18r6";
+"uwmslide.doc-27354"="1m41j80x7cj8h87fkyw4mwhvqhxvxx5dql596s7xay8lcwlxq5i6";
+"variablelm-1.1.2"="1z8nkkljglajrjxvw15r91w1x32dc5nswir7rjqmhghhsngv7x4a";
+"variablelm.doc-1.1.2"="1h4a4lqqdrhgwi0dmg6d59v6nc3baarvjdb5mvnji27jxi4yz3jq";
+"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.1"="176j001aqr4dkz4h23ygdiqqycf5kjwywa08hhmlq13bpk5ia14c";
+"vcell.doc-1.0.1"="1sksy8a9y1jdldnj7w8zz7skzwikgwh8gway3078g574janq24nf";
+"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.1"="0pch9ihs7qvqqsq9iswb4zjirll71ld4w7nxdhjbm6v2242dkf8p";
+"verifiche.doc-4.1"="1yghyb6wy5ip9ifpb0hgyhmn81lm9ak76v7dzz84zh3q8vnvqnp9";
+"verifiche.source-4.1"="08rn6x5acqva4hzs3j6wkdr9gjadvl047capkwrvdzaclfg7zffq";
+"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.6.1"="0hli68fad0zj6dp9l9sshz657i30l5xqwhskvkv1zh9mwsrkdh0s";
+"vhistory.doc-1.6.1"="0vjskzdg9523fnj4r4zhg7w6wsldcn9xi4xfk6wplvjsafgfpqhn";
+"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"="1v3yhi4p102l59lfnyn8yiq8995s6fhr39018m1bbgljvcvm6bl9";
+"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.01"="1w5fhwfirnjims0n0wdm0mpg36dz329wb639c3ydhnynyvsxssg9";
+"willowtreebook.doc-1.01"="0af76d9zkasgx5jbi6l572irad1d9r7lxszs822x6l8fa8121hgi";
+"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";
+"wrapfig-3.6"="1axad52pzzsx9d32rivasl5d49dj51adk5kcnb1rr8mz59421rk3";
+"wrapfig.doc-3.6"="1c3xd0ja4063qzag0v07mxkk52yczlcwdbwn84gsfp5hdmd5cibr";
+"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-1.8"="1vrnw8yszs9x1c9mm95a1j3g5zhm61a1l4qibwwvaw85r1r8557n";
+"xassoccnt.doc-1.8"="00jvwvm78l9czk29if8qxckzbavyfx4zmvxr2ax6x5bj2i6vm25q";
+"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.4d"="0mxv89x10fav03059zrxv40ccc5c4dzmdqda51fivnfkyqvd2ysb";
+"xint.doc-1.4d"="1jhbhhzg80rr4s1k9wf0v83zi11ragvyi9wgvcv7d0qs5h6lhsln";
+"xint.source-1.4d"="1vlgci9gbjknaijpg7hkk9id2lmivf855q2jqpa4i20a3w5cc906";
+"xkcdcolors-1.0.1"="0471difnr81ihdan9qm8a15pgiy33fcc8qpwwigkhqby1f2sl6kl";
+"xkcdcolors.doc-1.0.1"="1s6xza7ci8gazqhrnhqj1c4kqd8b7dbhwy01qds9wjxbwrvxrm9y";
+"xltabular-0.2e"="12skn3ld5cjd8jvh32l1h86mcqmx03v2w04189rkxh2q90kyjmfw";
+"xltabular.doc-0.2e"="1lps5w6p2j0c1bszyrbwdfn9r7mii9k9k6ap9s2ssb2rrfzf291f";
+"xmpincl-2.2"="1sm9ls98cz83nc1s6xymbiirzdawslwd6cr2khh5w265h3kgpgin";
+"xmpincl.doc-2.2"="1k532g5b8fm6ly9whah5133g6yngadb9w6cvf2apwm9hwx1pmnxj";
+"xmpincl.source-2.2"="1972vmvsd3ch9qc78kw8dbf9rm56g6mbd18dvfa118bv2a5m114m";
+"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.16"="0qw2fsic14k7wcb50wpf8apkv97rx9jldgqavvrmk63wzmv3hn7i";
+"xsavebox.doc-0.16"="0vx8k47bj3pqn1j09hz1mimp2jpk44dqyc6wivlrqkhrjqwla4n8";
+"xsavebox.source-0.16"="109n0kvp3a4gb0wqpml2glmb9b6xsagnh4s4kcnwvia72h5fwf0g";
+"xsim-0.20c"="0ckr4ygax1452xqfai6yxrbq6cqk23yvlasrs95nfsiflsl2xrsv";
+"xsim.doc-0.20c"="19ydl87qxpgrqxhfqp9jmvspha2zv7rh1n09dgcqxw4f5hfcylaz";
+"xstring-1.83"="1ckbhk2psw5bn0agpsmy4zc59s8yadja7wr659s39r7r7y8mwcab";
+"xstring.doc-1.83"="1z5z2mcg5c9sd7ykfy6r9ybzvmg3g1aq8k42zvgdx5fhmkrbz0sv";
+"xtab-2.3f"="1cpcs7k8liapv68cghfwj5fw80rz71qrld7l9lsnli50h7ph42sz";
+"xtab.doc-2.3f"="1z3wp3hqy98a4l34kgm604zajdyv0b2vq0jipywmdc12115cw63f";
+"xtab.source-2.3f"="1im5cv88g6n88rxzx8lqcxfmhkihywrv2h9gclmv0jx2mmwvwafv";
+"xurl-0.09a"="1430pz7rliwv0x8mx52v5xznkzjsxh2xxj71106ga6skczcszp4w";
+"xurl.doc-0.09a"="13j7y5j4grjw5zn0rk3ad6yyhadbb4f107zw090dy8wwnvgmfd1v";
+"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";
+"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.2"="1s2wzjlrbg5yfz54wn9nwfcwx39d1qvp8c26gbr4q3df07s6w7z1";
+"ekdosis.doc-1.2"="1248iz3kjjf3wnfh7zhxv8xljv5mqf8gigxf4i91fkpi0v1wwc9h";
+"ekdosis.source-1.2"="027wx7w1723klnd2nymk6kfch8251vjk608wc0xl9g5h5v6dlsam";
+"emoji-0.2.1"="0kb1xvzk1zgym9ajihrvvap6s39r4ypjp60gn3b91a28g80qkrx6";
+"emoji.doc-0.2.1"="0sba7wi4vb6k1jamc7k42zy6b1fy7z6s17viifwcan2h8z4hpc4v";
+"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";
+"lua-typo-0.32"="0ab8g7s7bcbgri9bil31s10y33vla1zphlgl6b9954gkvr9rvabv";
+"lua-typo.doc-0.32"="1sdj9klzr2vgqwdvklpkcpwbg7s1kbacr8mfp8hi4zfsfzbj8gwg";
+"lua-typo.source-0.32"="1m7pjfkg48n1kngbfr7l0mxkyw1fki2w5qj1vgr6kv4b77r004wi";
+"lua-uca-0.1"="0728k7rjl3g43j2g3mzc02nwmwhsl5rgw8mr2snjiyh55p07wfxl";
+"lua-uca.doc-0.1"="0r9khvjlidjxgjwziw29z5r2pj50h4rivg2zbpl9cv6i2khp3w7r";
+"lua-ul-0.1.2"="0cz8774npl6rxzb5p1w527qki60gasim7slmmd1qzrcvkwf6wa01";
+"lua-ul.doc-0.1.2"="1jaxvbzyfnmaaj1dv7f9yf7vx8jj058qiin38jwbgwm7kyj6rhxa";
+"lua-ul.source-0.1.2"="0cbiv5qlnfp9svwpxc8sf6dnpxh14cn69g6rq6q5d5pplhaaagsc";
+"lua-uni-algos-0.2"="0yx2zskmia6891ksdnyk67f3j4d9dbhgknzyi787v408g6q7hmln";
+"lua-uni-algos.doc-0.2"="1d71cfj4dqq0dyk3a452vzghw4341drcgmyxhhlx4g3kbm2qak85";
+"lua-visual-debug-0.8"="0qnp6zvfdwc2jy642a42npwjwzlz5nl0kq67zc5ajylc8pvd9xbb";
+"lua-visual-debug.doc-0.8"="0iac45h1d6szsgm8xj4nz9xcd6gwz6c3d7bn2kxifyh1lpxnq7hw";
+"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.1"="1ccdb5pr542lxzazw10qf6dldwdy95p7qdlz40vmv3zqyav6zc43";
+"luakeys.doc-0.1"="0brlbzw6inxgqn5arb6m8a5lw2hrxgiqq1jcjndcbd7hxnzkyz3a";
+"lualatex-doc.doc-30473"="12kg6l5lrq791qnh9gzmfbqn693fpnbp1nn8fddd5ybw6gr61qr5";
+"lualatex-doc.source-30473"="0q34k7x3lwhx2m7n0xl3c0jqv3hzz9zpx6hi5dy06k305qjr2lv8";
+"lualatex-math-1.9"="0fhi53ysw6q939d4slq2ryiw5c9bs7kidar62vphm8d7yag6ny7y";
+"lualatex-math.doc-1.9"="159ly8gyrk2jhn1dvg7ppc6fslvkxkwmmvkir11rhfwyvjxxcs7l";
+"lualatex-math.source-1.9"="0yz17h5bp5pybh2d8h8w45x1vl60xqfdfq8jsg1bhqahxd7c3qz8";
+"lualatex-truncate-1.1"="02plqfp0xi406wya3c6cdgj0777m11fzkbk9nbharima6zhsc1nb";
+"lualatex-truncate.doc-1.1"="0gkgbliv8bzpdk27mkff02v1d03vggyq4nk50yawrimz0k7q64bn";
+"lualatex-truncate.source-1.1"="159wcqiyb5rs9a7wfm5mj5vcqh4kr9gv4pv6w0d7vfylkrlh76nf";
+"luamplib-2.20.7"="13xiip2dddnm12r4q5rb2cmsjxl6qg67h1m5bi00rvrhz64x5pzy";
+"luamplib.doc-2.20.7"="0gf6q2jan1h2nbwwr1cg6rl5gbjw98700cdp58d8q2snlmbf3xjh";
+"luamplib.source-2.20.7"="1j9in4gvhr15xq00vplzv8if1fsipyijb0lpdss6vv5jkg45ps38";
+"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.0"="113n3ydasq5w93bcw7hjigi4gg3b21n8cxr13nhashix8f2ramm8";
+"luatexko.doc-3.0"="1jz9lx2gnf5jdb60qavahvy1lbivy0qxnp37slizh22rx88s25xc";
+"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.1n"="0fjs7g0m4fi7cdqlkjgp26k3xn7d1rb0y4ih3vpzirsf4g6arar7";
+"luaxml.doc-0.1n"="07fqr933ndv2ni6h8kgl4nq61hzilcb3cr7nqqyzadzdray583xm";
+"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.01"="0s83rnrnvl62sb3c8s9zdh3q9gjc1kzz5wdsbz97kkk1w5x2bygk";
+"optex.doc-1.01"="1lkprlmchcwc7fi1hss724fyw28z5ivyjxcg08ramabhak0riy8r";
+"pdfarticle-1.0"="123b9f0nl8wyyxfnbs5krr5ayrgl02hg9z8w87lj6g0lxch7dfhf";
+"pdfarticle.doc-1.0"="1pg4iix7i0m3smy27xk5p03x8m6rq737kyhpf5qzckm276n88fzf";
+"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";
+"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";
+"typewriter-1.1"="1cgyi8q0w8j6xywby39g4nprg7p7p2dpgfdb58qr5nsppa2i31m8";
+"typewriter.doc-1.1"="0lz81r7jv8frdgb1aglxlr98cngacacjvsa4wjzwr9cvahc1q5r0";
+"uninormalize-0.1"="0ai1w8n010sq2fmwvp7625dfmmlvzx9d67ji34zwxdl2cyjlgsw3";
+"uninormalize.doc-0.1"="1dksyk07zjmwbzgc7c2d5lz7fkvrllbj1nrpb34vd54yxl4azgip";
+"12many-0.3"="1lh034gihn9gmpzf5sz9anrxqlb7qifaasa98dira5vccizs4axd";
+"12many.doc-0.3"="10f5f3xf2bmrf794ipj5xjsv73j7gqmhgg2fjrdmmsvqij7ljjk4";
+"12many.source-0.3"="01nldk50shy8ynkcjz0176rzkrjhxssi7x37bd7x1gbw6pd32m3a";
+"SIstyle-2.3a"="0w3aywnn3l1yis6h6ck1vnmyfl90s3wkr4ixgrgj1plmxlvgqwpp";
+"SIstyle.doc-2.3a"="08r6ngi4xdvqm3pyyg6h47b7zfwq2fb48d4yf114sggd2ncaksll";
+"SIstyle.source-2.3a"="18g7igxi3y1hz988kzd2bkpmdri6qm513pkx1pv72abfgqi3gvks";
+"SIunits-1.36"="0msw4324hfzdq87rqahl6wwv8jlswyz2jbkx0ph22jx5rxyjvwii";
+"SIunits.doc-1.36"="1zikq0h32838mppih4iw40j8gjy1zphbn5ynhb1677ccbi1vxyl8";
+"SIunits.source-1.36"="09a6fa5vjb79mvmrcjfxl2y5jgi6kxxgk6sl4s9grzkd93id9s1f";
+"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"="0mqlh4jbjvay1qk2vp7wcszdl3m74ph1p6563qqfr9zf6qmz4b16";
+"algpseudocodex.doc-1.0"="1cxxswskyp7s1iql7g2dncskq6adx6s70iy6b6shjng9m77fbzp8";
+"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.1"="1ds9qv2a6klgl0vdcca8b1zm3lyf59amcyqpi89l1rj729p4qkvw";
+"apxproof.doc-1.2.1"="11r9acw77v8i04baysvl8cnhfcqn00hbqrd4mfxas6r8yd1jl1ns";
+"apxproof.source-1.2.1"="1ara6fxxbdv84anb2v81hhvhx9sicjmny10267wbz3y1crms1cly";
+"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";
+"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.6"="1ag4x4saicjq5jbw26m39gqfj1sv6661slsp6lnk1cyvn3ym2j36";
+"bytefield.doc-2.6"="1rypz5a1ll05f0k1gzjsrbvlpvmj8k4gc3vr99b1crcnsx94pc00";
+"bytefield.source-2.6"="1cgh261syqgb18f6568q7aq6g2pql45iarpwwf413x29v5vz10j8";
+"calculation-1.0"="0v7f5qx319zrwhy85lvk354a7x2vcainiq90y1jkm5cscs23xqjx";
+"calculation.doc-1.0"="1bk9yqx607vp65ifdawaldcsxm065hmyrgzwyy90wkn4kmyq1snq";
+"calculation.source-1.0"="1y5a2n2asfhwm8jylfg5zm5dy4v5s8gjl5ndizwk1ywwl0am2dxx";
+"cascade-1.1"="1gffas6hpj012cd9wvsw5a24bkw8iqxmp64pgj8rhl7xa0n94hr1";
+"cascade.doc-1.1"="1q8hf1bvq0h9qcc5876ddc7hlygqqd1i99drxfk9f07gc99dpg64";
+"cascade.source-1.1"="1y0drfj70ghw71z6054w364bzgzd875i387x0j8p299c88hjp6lm";
+"causets-1.1"="0l7dlry3np34gcgwn14rzzkhhyf8wp69ffanlyqc5n9v1nzzpzjy";
+"causets.doc-1.1"="0afqh4mhixi7lyzii8z3yx9zndm4lzdg24d72y3cqrym4lzf5dsj";
+"ccfonts-1.2"="1rwzpbv0vaf4p77k4hf9ac14l9sw8hsvvqx5diq9dirsfq2js0rb";
+"ccfonts.doc-1.2"="0wccdc79b4qzm3xcwfa8nbbvcp248xgwhh7dszlxw3wh1ggl2lp6";
+"ccfonts.source-1.2"="0avnik79dw3p1wvrg5rlqcaxr3w06mr5jvyms54ha18l2d63yw7q";
+"ccool-3.1"="1dzc7z7q6m58pdjs99170nv0cs8ddi96nkn57qmgqcyvsz5r3wqf";
+"ccool.doc-3.1"="1b7cjrnza7jh4npn31a8311c2m1hgdmpsrs5wcj6lnlkz3g70bsv";
+"ccool.source-3.1"="17dvd32jjh58w75mlccx59ailpwpx89vbzydzjdmzf1x73vf1x63";
+"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.16"="1cxg6qf8yxgjjj407n983n3lnnldnrwrlwqzisg588apmdjl01df";
+"chemformula.doc-4.16"="117yw6acki6pkb4gybayvw31bmxgkckr0a1gpciyqm75vb8j8gvz";
+"chemgreek-1.1a"="0di3w4yqnjs49im28g2a2qk31d6cqhrbwpq1jcxykk8am7g2sn1c";
+"chemgreek.doc-1.1a"="065mwb7ah9h4qwqp36n0sdlkjv435bwrljz3yzsgym7a4xqvhfwh";
+"chemmacros-5.11a"="113zzfnrbg20ymvb8lp9dy66krymdnvsv13zs974h0xjwhb2kz5z";
+"chemmacros.doc-5.11a"="1rmyhq5fqg13z7b5nalf2d29y85sz8rlj068kxwby9i8xhz0cn6a";
+"chemnum-1.3a"="05z6i3cva4cq45z280ls3y5hrqk9m3a1v5yq51rdj1ilk3yh1a4g";
+"chemnum.doc-1.3a"="0g0q6a845xgpfwkhi31dg6w2rrza8cgxj925rm5m6mg026rd7v03";
+"chemplants-0.9.8"="0dsyymbacp2ffa9lcn7snb1hzxiz3qzqaziij42knpnag4m28fyz";
+"chemplants.doc-0.9.8"="0l4diz19076ijainyh8gck153460bjn4m0jxyjqki3hjs7f15d15";
+"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.40"="1kmia37x8w4wlx2yaqj2g9mjxmyafhwr8b3l32j3ri44rs3wr2j5";
+"cryptocode.doc-0.40"="1yfzqvcfqdbfz5mvfnlcy11j6bg3vqzirz89jbxmv27bdkdnh0ad";
+"cryptocode.source-0.40"="0c5d5fj72l7b31590119nwf47vwh0d92s90af1w7l78ncr5k37aw";
+"decision-table-0.0.3"="178vrp6436d9an3d1v4p3s8fw1ifi9hz586pbl9qbnbg09x46fyv";
+"decision-table.doc-0.0.3"="0hwi8a89vgpz2zb3dg39gglb16250aiip3j9gk7bayr2gywdd9xa";
+"decision-table.source-0.0.3"="0jki68fx6sw818700gcdz06flr95xfwcvcmdhw8mqxivm7h9rff2";
+"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-0.98"="1kcjldvyyrlqh2f3z2x6q0r8km0ly4l1kz7kmpkp0x19dk2lh1r6";
+"derivative.doc-0.98"="07h6jk6yly17zl6a6w3s5l6dykzhvi8dywvhv8krkgakkm5157jf";
+"diffcoeff-3.2"="12k33yfzk814ans730pj9q6h8valvaa11b87f73zn6cd0qyljpwx";
+"diffcoeff.doc-3.2"="04ffwi85qva4r6adddp1hkd28isv5pcrazsj1rdidkagd7gg2q89";
+"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";
+"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.1.8"="1yra81pj5irg2fd4m2d5n9152rlghp8rhhbx3z66syxg20i0mszs";
+"euclideangeometry.doc-0.1.8"="1c06vg35mb637hw1viaq08f2x1mi7nbn1y53h72k6sg01a8yzz9s";
+"euclideangeometry.source-0.1.8"="14054b687yrgdmwx4dgr3srjgm6ibw2fdkwbbndvcr1k27zalib9";
+"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";
+"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.02"="0nl7qj5h707mzwr57rz2jqar5p26fg8ba14yp5bm5zvih4s674q6";
+"grundgesetze.doc-1.02"="0a1dfdac2hpfhrmlw5gvvi22jklcv1g9bx50n3pcvhw5jxcsr8zz";
+"grundgesetze.source-1.02"="1mnk3iab43846akkgvkfjfd46kn7ax7wg5hvb08k583bppw8711l";
+"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-1.1"="1762fik0bi2530ws92jqfg3bh516wn9pdcyjy6wq2pr3hw33sqfb";
+"karnaugh-map.doc-1.1"="0vpa9xg98ab29lswrwh50i40q7zkkfjcg8jahay7mjbc1w7k882p";
+"karnaugh-map.source-1.1"="0f42riy86dbjcpls7ic4j9z26xqg8310l5r3n28x605jsbm3bwar";
+"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-53709"="1d1as1lna9zhxmwvldn64wvkakcnhbr8d76f1cb9lc1s0j6gy493";
+"letterswitharrows.doc-53709"="06awkizz1i7z3g3db5ri67z2nhgccq9cwv97g63q2fbr0zwhps89";
+"letterswitharrows.source-53709"="0a1svwqw035fzrr0n1aybxwx42csdsmkqk8dmygg1nqzkhxcnmw6";
+"lie-hasse-1.0"="1bqc4gpk1f5b7afsqii6ny1xyh4zpc5347v0xv618svjh7dpyzpx";
+"lie-hasse.doc-1.0"="1jfrig40w3ac4j6y8aiwjyvsv9q8lvgvn1977f2yg12lsjdzcpyg";
+"logicproof-33254"="10b55lwrrq1aqmp9njiabqg59xdrd5g8skbcrlhs621s1999dq2g";
+"logicproof.doc-33254"="119zgxwx0q6c4ghpb30mvpdwrpr0xvk54hmj6qfpih0kxj0zp1az";
+"logicproof.source-33254"="19j00a28pz5dp29sx61dnrpqyl24sx9apf2ck334ap5sw7awnc70";
+"longdivision-1.2.0"="12cwjmn61kyzvi4p71n6sndw91x43pkcr959fpwj8wz09frva5j2";
+"longdivision.doc-1.2.0"="0vrx824jwwhq3p2p2yl2q60ssv1zlkj4ji4psypj62kfw3vnyh59";
+"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.03"="1wvswr6dygg8piyrbvmd1vmdcwzy21wr4ij8xc8rl1fg3nkpwscc";
+"mathcommand.doc-1.03"="013i0qbw40n0nj6l93f6n7hqmjj4q7bc7s35imdb79r8favvwp88";
+"mathcommand.source-1.03"="138lqlcadfnydxyaqi20qzacd363avji0c4pygnc0m9xamxxxv7l";
+"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.3"="13rjfhj9im0rag45b8dlp9sxhd8c77m2qhszdxpg1myagzhqi81m";
+"mattens.doc-1.3"="037kj0fhgy66mcpdwi5hkx1gfdsczqb9hd6zdn3gfid0cm3kylsq";
+"mattens.source-1.3"="1brp2vf133py1a1vbi6rz254008pxi2q9ya6igahfbkj8mh20cqy";
+"membranecomputing-0.1"="0rr1wxfv1ry1dvv7bigcvvfv18s1pxq0nng188c5khnab25js6dc";
+"membranecomputing.doc-0.1"="1agmb82bxrzf9dxh93vd2cxjkzlyvl9h91aav29d02774xm7zqhx";
+"memorygraphs-0.1.1"="1ph43wp3h3pz5hh6dp3n6dzmmbn0fw11w3v2fjf6d07a73jqh97j";
+"memorygraphs.doc-0.1.1"="1k8gppgv5kkx7i799mwc9iclp2rv9hgdk2bwnqcyc3j3rmnpyiwa";
+"mgltex-4.2"="11xl6nw76hana2mdcq7m4h6kx6zx91apxcqkgjczcw9f7ip6m3cl";
+"mgltex.doc-4.2"="10jqlxxdp5kszxpwxyjf5mqaz6pzbp559kdzicm6qvif23cfgacx";
+"mgltex.source-4.2"="1pdlxf2qfyzm3pjjpl0wir4sr255lqnspbsvxfy7wz78aii2ik5y";
+"mhchem-52662"="0cp7dfkry418kb0md1bvkv5b7x8m5r5ygj6lnz3arym2fzmmrp7z";
+"mhchem.doc-52662"="1n1zviwdcdlg33lx8k6q3q70ccjqhk15dcbnvxrq6mh7hs5d61d6";
+"mhequ-1.7"="0r670dwmnr70dwxq4si58km2znp1dj6xy40w45q0bdiqzs5rbc8r";
+"mhequ.doc-1.7"="037is4p9k9x9my8migiiw6n5yzrb9zfkhhyjjgmh855fdnsri26r";
+"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";
+"nicematrix-5.13"="006xrx4jjayz7c8ingrhk2j1s0zd5hgjp954w29ql7bx5skrzf50";
+"nicematrix.doc-5.13"="1phqas7q2c71rbg061rn8ws46y2g6bqafsyz15imi4nxgrwjz6sm";
+"nicematrix.source-5.13"="010d2nr7zaczzv3140r4sf9ry8vij4cfjyxndvz3bxaipqnl8br9";
+"nuc-0.1"="1918fk7bh6pz1grm1655fag16i0ir67ywcx28jsggsly6641nkm9";
+"nuc.doc-0.1"="0r4345bpjdb9f5gmcdjf6zav64gab5f9i4nfql01yg7b7mhk487x";
+"nucleardata-1.1"="0rrxpz66rf6g9cp6ix4rrbjqj9s357qsbv87dhri62iy3alw5bv9";
+"nucleardata.doc-1.1"="0kfi9c6isdlf188zsk2yx38z43zjzxf8fhvl3hm2y87di2kihdax";
+"nucleardata.source-1.1"="1lai682rycff3hm954x482hzn1mq1lrik3g1fwkbm73s99nljyj1";
+"numerica-1.0.0"="14pccmir9j8vyvhky8awcp7y5rs8lc1l3bspw286lvib6k41rs0g";
+"numerica.doc-1.0.0"="1v4lpvkzxlcycphdaqy4bra0x7r04xjxkw334girhgbig34s3r4b";
+"objectz-19389"="0s93jjwcmyjd126wmf2rw3776jgq0ldk40f269cp29968q00sfn3";
+"objectz.doc-19389"="1qxqphnsgh412lizx6jij6qhnlx1d558bzd3klqf950bp2hy3cm6";
+"objectz.source-19389"="1l8afdawrrcnbpqdhjls28ncksg8lzs7g59viqygwixwplha0fb9";
+"oplotsymbl-1.4"="1x5wqngjdmc4751ci5qaivzgqynmmg00kg2clngxjqf48n4fakdd";
+"oplotsymbl.doc-1.4"="0bj6w6h4g991rfddmrxgc02090vay2h2qjx36cb0hfx55gwkmh3b";
+"ot-tableau-44889"="05pg1sn48m2h88wl2gw0lxrf7magnzz70f0ggsidjzdbmg01l7bv";
+"ot-tableau.doc-44889"="0b628crydy3flq7scsv3s6anxx3fpnjhiwq12v6yqjzdanh1f5vn";
+"oubraces-21833"="1rhavggv1c50krafvh7lwnvarh7lh59x7lwkipw24qakq7l2a6mg";
+"oubraces.doc-21833"="1bw3b54cn5dk0j4diq8qxfba0w3p0f78h4kycb2bqd2gq7258vyq";
+"perfectcut-2.3"="1hjppa3dv8a5740nr5jya445y5nb0nb2z1jlkqh386bnvgby8393";
+"perfectcut.doc-2.3"="1ly3zrrrfb3jihf02p2j5ym3m2gnr18pf2v5qg8rsj2l258xlark";
+"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.0.07"="14rjv3xkjpd5qszczmn1pqn9g70qx1xc137y3wxwi9p39rqwdfbb";
+"pm-isomath.doc-1.0.07"="19vra984m1gkmvbp2ih6nrfgcy9hqg761k0s795x1arwcl36qrc9";
+"pm-isomath.source-1.0.07"="00yi8a1a2rzrxkx4gvy7gmih48xd3pv6l43yz7hj8921n1nz3akc";
+"polexpr-0.7.5"="1wsnbcwgkn81jmrgifkhqyqxgm7bna2psk2dgscai9wfmgpj70ab";
+"polexpr.doc-0.7.5"="0ymb8l7dg6ilv2x9570kf9sy50c6j8d7vpflv7s2k99v682bk5fm";
+"prftree-1.6"="1sdb56cvlfrys3f884hg6qpv1nwd6ywfyiq8168bs78g4q2ah4by";
+"prftree.doc-1.6"="137f5nbcm6p428an3v20j5cx5djvdri12ph07czj13877pjy9ccf";
+"principia-1.2"="1ar643rfr612dx8yam9qwcqj66jqphbqf1rq7d2k2ap7m9k5y95x";
+"principia.doc-1.2"="0qya8p6arna3jqvlys3qs78pnl6q574j92z8b54668s7krja22r5";
+"proba-15878"="15d8n2ik6m5sc4vlp3k2w3h5h8h5s4agijgcnlkmklw3qv172vii";
+"proba.doc-15878"="1m2mbbn1fa616dfxkb7x8azqsvczyifygjmbblsyfkd5kl6f8dwp";
+"proba.source-15878"="0wbnfa1i6vbpbq2a4yhsvpyifiw1pirz72qasxm1nwmgfg5dndx7";
+"proof-at-the-end-51194"="1z6288wnaj3k0ql1797l6c72nrzrvg1x8py46g93q0awlihka6cs";
+"proof-at-the-end.doc-51194"="0vpjp1s66ns81qd03nqkw4782i7pl2va7w4nbngdmn38fs18l2gw";
+"proof-at-the-end.source-51194"="14d7xbxsm61f6z05442jhx47zblpc1d8yi57ns3vcbggaiv23h3q";
+"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";
+"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"="1f336mia2nr3sz3xcr878ymm4anyja94lmglz86skvl75jmh8p83";
+"sankey.doc-3.0"="0yb8sm559fqskd06lgkn3zc8zm24p9869f9d1gimfsk373hb6mjf";
+"sankey.source-3.0"="1q73vwvc2f6a820fixyg35mw0wp8z649zn8p6k4bd5hfzg7a3s7j";
+"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";
+"siunitx-2.8c"="0dz02vigfl2k2l924kcfb912rf91fb054px2vxms3l2c3niq5wld";
+"siunitx.doc-2.8c"="1ds3xr22sn6h9754xczdl1jajcjl3g4cfhc73sq5sxbmbcqsmck9";
+"siunitx.source-2.8c"="0v1zxiylg0hzsww3n1d2p28qb0xslbvnfpz8yh4hjsnb6qzr5prw";
+"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";
+"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.doc-1.0"="1s384frn43m2vv0cqf9lm7vkg6911pj5v8d6h5zg9didfgv8pc8z";
+"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";
+"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.6c"="0zvrvhyn2c1s8h9a74g0dhnipbpkgzwld3l6ara2zfisx8rhs0dp";
+"witharrows.doc-2.6c"="18nxizvzlfhhsili06h19x1p2jy0dy4h1q6zaap3b013sipljhii";
+"witharrows.source-2.6c"="1815k8n2m6bsdw4ks9az3af4mcazqgxx1mi2mmrp3dypjkysa17x";
+"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.4"="1ifp06l401fvbmlsdqwvywp54jq8iaqmx946bk6gdlx1bs3ywryq";
+"yquant.doc-0.4"="1xq6m3n0cic2pg7jh694z55qms61sbc754yrqv43nx4gqp9hpfa9";
+"ytableau-1.3"="0265mnd3m8dsz89qgalc92jx3h7201617wdxym8nfj7xymn7rq3q";
+"ytableau.doc-1.3"="1lw3llx9jnkil3ji4jv3h0cvb2lgmlqg68mw9jcmi1ymk1qgrkzp";
+"ytableau.source-1.3"="1fd8qxvrx8hmxkjil4f0ry86zdn25220xrp7w4j258nv1j7b2y8x";
+"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.1.3"="1raicsznsws4rykrl9azi9lysb107cfbff6sqpp53y4m326xvn1f";
+"fiziko.doc-0.1.3"="0hfw1l9scfmr5k6jka8v5kajxqzcvdp31j65w3p9dsz9xvlslgc4";
+"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-4.62"="167nj1q4kx3lpf75pv3ll8gb1zcml5xsggvsjg4l629jh43c7fs5";
+"mcf2graph.doc-4.62"="0znry4sigsfahr2qd92njgz39yg0ni8vmc5yryv89gfsdalz6lrx";
+"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";
+"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-17.06"="0cvlsframcnv6i7k7pa2pia8bdl7r8q50dr07p3jw6p5ym8ckc59";
+"mptrees.doc-17.06"="0d1pp6zgq75a1844b6rrkcldfr03pfjl6c9g26f2xbv5np3rpdxp";
+"piechartmp-0.3.0"="1sl8mz26cglbsqmpd8qz0l9yycxgcimi0yhkgnc04n2iik1xc6b3";
+"piechartmp.doc-0.3.0"="0g8sh91ki495mqv7zxxz2q40bk9dl150a9hi7yv0kbpiy45h3af4";
+"repere-19.06"="04y1qz2l2pa3qcmid8s97mp86rpwy4qxjkakhvqdkq6lvgfv6714";
+"repere.doc-19.06"="1mgmfdib0bylyxya3fzpwi53cpqhc1gir6xlva05fmsli2jslzjx";
+"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.6"="0y4g6k85p411qcp5lg9jwz4z7caw4g906xgqf9813xcnry8y82a3";
+"leadsheets.doc-0.6"="052bjwhdl1gb2bsnhm40h4xi7hp6xw3kdwz62rm8lsb446kz7v5r";
+"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.31"="17w0rc0sjnwx0mc5k4h7sv46xbc31clg0fnri7zk64363k7f43rb";
+"musixtex.doc-1.31"="02707dmfdqax3lcss4k56qyc2x3fgxypyycndl3lxjzzin87am35";
+"musixtex.source-1.31"="0ari7nwxlyj0lnqhzcpq4vh9xn0kdzqn9c1a5ih5hp1q2zwx2m7l";
+"musixtex-fonts-37762"="13z6qdism1kbs0bmmabl112d3cv536s1vqh0sm8j8yi9l752y1xv";
+"musixtex-fonts.doc-37762"="0vq2mc7q897c9c7x80anbqy68bs897gjfkmdmqm87ykp0xas9kcg";
+"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.94a"="1dwg3v91z6q6hcbv8imrddncxcf9kmyfsra589drnjldcxcl5629";
+"pmx.doc-2.94a"="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.6"="18wgk5n2w2nfvdy3v5qcgvdwr50j5q28p2c5q2ff2rswljh044b9";
+"expkv.doc-1.6"="0dpaawa3388jslh1yymz4v7cq85n8aw8lpb4hshf35hirack7kih";
+"expkv.source-1.6"="04rzg273ls173kyp5vanmj27bwg59f1yjnl1w9m8ry6ynf8s158b";
+"expkv-cs-0.6"="18788maj4j6724scqyfds2z65f6s0r5i3k0yzbq78mj60kps5gkn";
+"expkv-cs.doc-0.6"="1l72x7z2ba2kbqdvwvnc451scw53qk3jsgpqbg4rj261imjn2i64";
+"expkv-cs.source-0.6"="1bsxi8cij8flqsj81lx87hbgvn1nnf2yvig4yqwgwfg95byzkmbx";
+"expkv-def-0.7"="05wi9b6nds4axc87lw2qf77q5188b82ccbj4v7mzwhmhc10ppvm0";
+"expkv-def.doc-0.7"="15hfzwn6kfwprkrhk0i6y2fbxyizcw697y498k2rylhv6n7gcm9n";
+"expkv-def.source-0.7"="1flgvk5ims1fj56b3y2mxkgs7zmmgphfk3pkslj8cm76wlfam3zh";
+"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-56823"="0liz3zzg4w5pqfzfsf46209cxjbmb33nlraghjyi5cshpccmn914";
+"graphics-pln.doc-56823"="10vada0gcayyncpb918g1j8yhnyzay4aphq4bipj2jiscqcqaqs1";
+"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";
+"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.05"="0k4j77q0h7c4y3aa21ngkkrida8l0lp9k42489kilxzpx6ppjb4i";
+"poormanlog.doc-0.05"="1p1ri0x1j0r5f22nzhplgb87nr5zpc7gwa12p8xwcx51ncmn2db0";
+"present-2.2.1"="0irxkzfg19h5pn0drgl5dlpz34j1p5jpyii05b2xjz4810gnl79h";
+"present.doc-2.2.1"="0c7pmcjhc3p4ilx3fr6pxc4708kl7iw1lds5ngh8mlrwz0hhsd96";
+"pwebmac-4.6.2"="0syrvzqrrk7d83ddms2mc9wsawmcki14vgffdysi5j5gx0ppagr7";
+"pwebmac.doc-4.6.2"="00k4mp5r63i4jrv2pkf9wkrqkrmfvlj6xhngx54dnl2jk60h7nv9";
+"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-58348"="1bqhc6r94lnbz5x9hkb8kqnhpj97qy0rx0kc6wzzlys26i3z6s4h";
+"tex4ht.doc-58348"="1a7cm288jzxjz03v7iz9rzsddx5g6y5qxi1k5kqvhwyjb3fsafn0";
+"texapi-1.04"="09cnhqn4gxf0alkx0276jkpcsd0myypbn94jzsavnjq8jknp6850";
+"texapi.doc-1.04"="0529cncxbw53km02pymj57iphgziri3d9cj54pqmjqjx9qmgwfmm";
+"texdate-2.0"="06bqyfl1vnj4gadqsx94lj8cm1ia3w3bmlsfjwwfaad0al3ncxdp";
+"texdate.doc-2.0"="0kks8hswbwhp8dpjdbwr4nm55md4wgabl5ypzpx5arj41x8halhl";
+"texdate.source-2.0"="0mbcap5nfj5ap8gxn4pyv8w37hcfnq4bm5m6jx43cwkzf2hiwar5";
+"texinfo-5.1"="0wbbhjr1jqiicnssiy6n5s4v5p6axhlilpkfhix4kavbj8mb6mfn";
+"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";
+"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";
+"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-1.0"="0mi97av4zk6vgxwyph81dq5wrwv1smqidfd5jrjjaiqvj60pq6ls";
+"pedigree-perl.doc-1.0"="1knhp254w8a3hqg1kyg009kmym55s8hln9qnzn3lwq4b24929ivy";
+"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.06"="01v1qldms53663lib4b8sc7il7iyma7hgk19lmn7i42cid6gx56m";
+"pst-3dplot.doc-2.06"="0xww4khaqai4wx2wlrbyis25qgj7ykfamf7vvg9fvrkdh1cv4pll";
+"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.01"="0xq79kh2rvgm1abb3j6c075hbcaw5lz44kbyj5gbd1sypvgzh935";
+"pst-arrow.doc-0.01"="1pr55ipihx9zv3vjv617vlzfg85mihnz6aj6c2gxvj6bwqqbmvri";
+"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.47"="19z0czaw9x8hnb1wm042mnlnhzidklyx49py8jm1gfqfk4bv6yy6";
+"pst-calendar.doc-0.47"="0f1lw3ls3ikp8r4ifplxbxcf5bbapv89k1ajz4cbna2y9axnw1b3";
+"pst-cie-1.06a"="0hy5a65lcfs2dcrr6jfd049zf355cygwpsaq5g946qw5sca30lm1";
+"pst-cie.doc-1.06a"="026x180f9w6i2ndmhpaa8yj8vh0zf0nd1nsii7jbhg2gql0pcsxg";
+"pst-circ-2.17"="0kxg1337z9ijqv05h4hmxz7w2qgriripppg16rzg3l3cssbyj5g0";
+"pst-circ.doc-2.17"="013y3b2sdscbgpf46rjf70rwxfqiigcz3d2wnhflrf7drrgrpahz";
+"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.02"="0zlm23bjm7danf07330xsc59lkyi51kh89jpxhgcxikgjm4cq3wz";
+"pst-dart.doc-0.02"="0w00zb309hnv2gz32rkirmvn3c1yy2j167939x4kvp9nr0ccw5cc";
+"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.01"="14rdbc3mpi3mqc9vlwnrnp5lz1d0p55w9gqnkiv7dd8yqfrxvay7";
+"pst-fill.doc-1.01"="0b3swpsp6b323594q9rfrpyzlv4rsalnjs0qpij3fvmngpr6baj8";
+"pst-fill.source-1.01"="12xvv4knjv17b7am4csyy005lhmbxdz8s6kz7w54gcjf7py1kh4v";
+"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.96"="0avpfmvnxcmqvxk8379gk37pnhg4yq760va1ly9vqbqzz4mxrf8v";
+"pst-func.doc-0.96"="0k9q302b633sc0h460h33h53k78v37a0hpkjkicsv9prxkbvckcz";
+"pst-gantt-0.22a"="1hkrmdwg7kc4xiif4fvhjwbj2ryxlrbyqb7h2n3rk2jmmky4hv7p";
+"pst-gantt.doc-0.22a"="1fqkwzsliv1mg3lyidgcsy652l5d2qy7x1rjix9swvk4vblx4fjs";
+"pst-geo-0.06"="1s6bqzsvq12jmji737lr3yc5l91ksffz1wgqy8i4r258x9s1qmc8";
+"pst-geo.doc-0.06"="1any48dgybc60dsfkcccgbai5rhgqga9q6fm4s8xlc6im2si4aw5";
+"pst-geometrictools-1.1"="025ai7cw5vv9a4n2gdp68gavmplp4cj3s3n14jhk5ga26a411s0n";
+"pst-geometrictools.doc-1.1"="1z2pgbf426p5qqqcpd3iqhdhk5izgxshqilm0bky4b459wagh9wx";
+"pst-ghsb-54074"="1cn63i49wi6ddq59vfk96jq8kbziivfdgyvvvvj4fq4g7qqs6rbp";
+"pst-ghsb.doc-54074"="03j0c92kfklj161wv59f9x4npsbkvmv39xvza5mi7s63m1ma23wl";
+"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-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.01"="1z7apfya920d82mqzrivckavxviazngxz0n05yavkzslv07qsil6";
+"pst-mirror.doc-1.01"="046mk74wj1qxkgz7wf8d3cglrds9krm0v2mkl0hqp86n2rr45nnp";
+"pst-moire-2.1"="1i0fs9whsqjb9s7b3g2gm2mparw809nzfvz0ddl61qr6zg7vbdzz";
+"pst-moire.doc-2.1"="10xpgzpi9ihl53gzyvz07jbnz9hk9piv6jcbk5pah57g91ffs70m";
+"pst-node-1.42a"="0ma3q1l68v5dzch9z6z3idixgs8v9vp0rqij4fqafp3lx3vcpdi8";
+"pst-node.doc-1.42a"="00cmh35ciz3vmy814id8i0phj0j4hfjkbsm18wjyxj83spy24pyw";
+"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.0"="0j41zdqyv33mdk70i8smkhznz2bn9h4gzamgcrv0744ydibyijg5";
+"pst-optexp.doc-6.0"="1rbz7x37y20xnabd233frd4w1zpssd70mvl8pzzclyr40d8s66vw";
+"pst-optexp.source-6.0"="1sbpjr2d8k7ycg072hvl535lhh0093nnmhvb935p66r7ipcqx2lf";
+"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.92"="00kczby29pw6kgsva5xfz7db98r39g3z88vwxm851dlv4mmvxadg";
+"pst-plot.doc-1.92"="0axc5gm6icivnrb3ncyy36b6qyllaacifml2p1ik0k0smk9ff8kv";
+"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.10"="1x5c96fr17krqqhla1bw9qlgd29r6a97nmjcb5xy3qnfhg988mq8";
+"pst-tools.doc-0.10"="15pfzrg0xab8psbbw41lvxk4r8rfi180575cnmj3hvgklnsrx69d";
+"pst-tree-1.13"="0j41snn7zf7nrxkry85g1viac03cryhc6ixrsjqfx6n92l2l2fgi";
+"pst-tree.doc-1.13"="18m5a9gm3sdhz2dzdlxc6k2rjnjazd869gsmq6rg83davgj5hp4a";
+"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.4"="16ljzar4sqq025z9ff4nvsxz4izvm6421jmndlz9908jbycqq8f0";
+"pst-vectorian.doc-0.4"="1b58x9dn16waw2vr24cgrc4kssfavwiryanp9ljdvsq3h0rwwics";
+"pst-vehicle-1.2"="0ibvvjlfnlxdrsfhm35r60r66jms2y674libsqlpk7f5bww19x4v";
+"pst-vehicle.doc-1.2"="034zhw30ii840mzg2ix2gf3xlqrkiffpjfsszw0w9nqqyp8r6vls";
+"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.01a"="0dlfwvlcwl3ygrxrvfhdkpksdicg7zwvijyhkq2f1a456ainz69p";
+"pstricks.doc-3.01a"="1jva7s7fw9kyx1i5l6l9n37k4p5pcypjsjn26ci4p41405z2h2dz";
+"pstricks-add-3.89a"="0b702qc6i9ic26n1wxsl40r0mjck73ibsnpsbwq14lzq5yjw21mc";
+"pstricks-add.doc-3.89a"="0h2wi9604ajmc8801yb382i2fy5krrq0bsqnncwy606j11w834np";
+"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";
+"IEEEconf-1.4"="1w544ygz9wiw8680f7q6iqpi40nblx7jl208spxmpmyf4p1xfgdn";
+"IEEEconf.doc-1.4"="1s08cgfch5z3giimyrz88p9p88p7967cm2cs6avxls9sm4a9y9aq";
+"IEEEconf.source-1.4"="1ngzyzyk23xsrmnyvxbfk3jafhparpqlg8wp5qcd1n063ln8h4ch";
+"IEEEtran-1.8b"="1s37a8b870d5pjc54cjczcrlli25j6hgnxxxljab4fa2b5b7y4xr";
+"IEEEtran.doc-1.8b"="15xi8241lp45mvnbl6nay60mbdzww811sj6dvqby7236vyi7lr39";
+"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.75"="0mylq7szpa7hz9wzgfj2j5lfd7vh7w3g2vlk84alvplfkgha8ac5";
+"acmart.doc-1.75"="05zh7vx3hz9raa2jgxg1p6pwwk2g8r5lmzp3glv5c50rskcjaj6v";
+"acmart.source-1.75"="0sq2dq2a675wryy3j59c133qzns82a6hvga8zcvqw85hn7f1fifj";
+"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.24"="1dczk7aan6kcczp3jdb2x7lkrbjaxk8vbbqzcjfvrmigh6fdy636";
+"aomart.doc-1.24"="0ka345n7kbqsnpgcyzbswg2g3a328ksvdwvqqkwvxbns1l6g5f99";
+"aomart.source-1.24"="0pzpbn7s9m4s6cy9nd9jg90s3km23nl3ywffp7p2hq8p2ms72rpj";
+"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.11"="11ikpp9l7w0iv6bxdl1m4r3zbh9r2rilig56187q7fd1x7x9pngq";
+"apa7.doc-2.11"="0fvfl5ag5d0rdax4aa4x1xz1q6vcvdzlj2k58x08qk6gvv1qqvzr";
+"apa7.source-2.11"="00zyvd1q8zpmqrx244ljh7caxhdfzz0yv7ph8vc0c0x5rrbz5r0s";
+"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.26"="0czrnypfx3yxcl1l8pmlp10nic8m6q3hd9rq3kc978xas5ijpcbk";
+"asmeconf.doc-1.26"="1awjrmffg318hzfkw8qj0zsm8gfvr06gjmyn1x2wfz71wylvgr66";
+"asmejour-1.15"="0vn60anrwncmiayxl69m89ndh6id7sarm74lymkgq2sfdqm8yhdj";
+"asmejour.doc-1.15"="10zw3qvdd8ax3k8js8k0acsnp7v19faypf403bg7waxi6if5i9iq";
+"aucklandthesis-51323"="1zlsa80vbby0jp46jicygq2fn64f1mgppbw6bq4qm9ncsapdz92j";
+"aucklandthesis.doc-51323"="09n2pdviw6xvh9ymka32pyscn16vgcxbij79nq0hxn6b6msxnlq1";
+"bangorcsthesis-1.5.3"="1n59ivvxhdafbryz22llxbgkpgc38ks5bfkhqcmb3yckk50awyq6";
+"bangorcsthesis.doc-1.5.3"="1jnhnf8vzqwyfnxl4bn666ak1fkfw3igncpv2g9569ky47f3133h";
+"bangorcsthesis.source-1.5.3"="0q5gbp2zbmz9i33xhhpf3ir66jzcqqdr7r6zi9gz3biqr4wm8q3v";
+"bangorexam-1.4.0"="0aq9bswsygpbsjsi3m8gg3gsgwhp8i1hfapdvlf9055i7d09lyxb";
+"bangorexam.doc-1.4.0"="0x5bhac4gryhmld733dk6zhz2z9w7gawy7yv432v57hc9vvbhhw0";
+"bangorexam.source-1.4.0"="18w8zf29fz1ilas7h9nzvn0saj52n825c8vkqsq4np40sa2ccn4w";
+"bath-bst-4.0"="1psaz3dw0qd9z8cp888hyfl68j6rk8nn3pldvalfpyb1bmzr6aza";
+"bath-bst.doc-4.0"="0v4vap8rvcmlkz147y60pc0prc8ggc0v78laags7jnjpw6f887xx";
+"bath-bst.source-4.0"="1m0j1rm20q6h8ywcsf0d63srgbnr93kxacs53jllan4pc7vjd7vc";
+"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";
+"bgteubner-2.11"="0a8zhnl1nxzg5r525sn8sz44crjdm5fmy09glp8cjj7nic5xj32g";
+"bgteubner.doc-2.11"="04nh6c3q2w984x7kmgj023dbpjq9mqciyg4xrypgc4zv8wvcgv1w";
+"bgteubner.source-2.11"="11g65q55cv4s72cpraxw7yj4qskkhqhc0mz0sfy6c8jrq7255ils";
+"br-lex-44939"="0pdhzadajg5vx5da6ildn9k2nfvf1ks4pxjgm32ajpcpfxbjpwk3";
+"br-lex.doc-44939"="001822zh0f18zvf6b51qdh4ykkv6ywqa5pm8q2vsmjv8rayjralg";
+"brandeis-dissertation-3.11"="0lil19vpr4c7lsx4vysszc8knqzp06hb80qxk4q9w3ljg6k096s4";
+"brandeis-dissertation.doc-3.11"="0ngzpw5mwfg2qz3r8gz275wc6i434h5agcpw6h265pdv2hgx9qnp";
+"brandeis-dissertation.source-3.11"="0qdj81sxhj43ajq4zflka7b1cbchl6djz2lqq5psa2z3rf49kv4i";
+"brandeis-problemset-0.5.5"="155al8iph3949h9859w32q6v885f0p6wd18m53rkliqvzc6d9f71";
+"brandeis-problemset.doc-0.5.5"="168ywrm0cnk1l5fmqzpk9mxf4732mjb488gnqiz128dbsshh37yr";
+"brandeis-thesis-3.1"="0h7n5gfm76vzq50g6bkz99l5wbqv97rmcb8wqkpjwqs0sg3m02sc";
+"brandeis-thesis.doc-3.1"="099cwm9spgfdy222kp5m71wf74a744jb39wkhxgmyqmv8jdlz7hh";
+"brandeis-thesis.source-3.1"="1cfg5vk58csi6cpkkiwbikan438zjaac6vw33kxqv73h8af4kz1r";
+"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.1"="0k9qkl7jqiv3lf6z5f8532l1km1y144xx0dbz85qhdpz4zrbaikp";
+"dccpaper.doc-2.1"="1plk09cyld7xbxj2qppj4svqfdn9brmg6y30bf4iydr5zqznbcw1";
+"dccpaper.source-2.1"="1q0qxwcairm5jrqhwaq5hd5kbmh0vx20aaw9gv3i5f0j4fw4ldrp";
+"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.9.0"="1wsbr5cc3msgvwn8p5f0jzbxg1qpx5hqs4xqk8hycxf9cf1gvc5j";
+"ejpecp.doc-1.9.0"="0jviim06vwag6d5kj7f8xmlgracqw0r4b8iv3w8x38yaqgbln7fh";
+"ejpecp.source-1.9.0"="1i826k5pwaj29yjg4kc0zgbay4b4xsjmlv7icn8d39zci4zf6lqg";
+"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.1"="1abq2g167zk3j6hv8dmbhaklfyv65j5i91k4mc7xrg2rlgjibdcs";
+"els-cas-templates.doc-2.1"="1xzhiyxd1dz3mmwhlkpf6h7qszgjdyxxbn67kbzvy0vb7s1c6fs6";
+"elsarticle-3.3"="1jjayypcaczxw69dk3v69fj31apics2356l934kmag49rwfzxail";
+"elsarticle.doc-3.3"="0z7iywirs24112fmdl8fm818320s3ilqlgc7xi6nl4idjakhfmi7";
+"elsarticle.source-3.3"="03pw09cw4hd0ixfa88mj7bijj9r3b6a6kg53q4hzzzl97bf6v5yc";
+"elteikthesis-2.1"="0q8s05q36825g2h7lci12zvss38izjshr76fb686h287pl1fylz1";
+"elteikthesis.doc-2.1"="12j0zbg2kq1dqf9b9qg9kifbajhc6p3gh1b4kixljbmvz2hqp7md";
+"emisa-2.3.0"="120aa7a4m1psqx3wclwzghq0fcyxs8djlf79mp2ds56y0mpsqx5m";
+"emisa.doc-2.3.0"="0lfx3hkpgl726bdp7kq874vch5bwpmnpypk7fch4bwqsi2x59iw3";
+"emisa.source-2.3.0"="0jqand86y23qs7yldi656xhl6da09ff8d260qz92dlqpngghpzrx";
+"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.1"="0bf9y73y9m7npl2bdnx5xqwxiv1apdpvnlqygvas8xcjx1gs7a4q";
+"fei.doc-4.10.1"="0w8m2mvsp68z6kylnn4waccnyn3fb766jipxcq6mhrgpv5jkxay6";
+"fei.source-4.10.1"="041ay6v82k6pmmxvdjyxj8drgv208fspnnrpmjijnlnn37bjc2k6";
+"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";
+"gatech-thesis-1.8"="09bkni09mafpmmkw9hmfnn5894cjlpj418f44dpi0yriskx0aqbm";
+"gatech-thesis.doc-1.8"="0z6m0sw0wb87vcrp63kjmmivk6ya75mxh2jjwl31p80q8inyvz0z";
+"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.0.1"="1d96hgipk69b0b342knnmahz84px2lh12mvqpy9jg4kb0d3pfhd7";
+"gzt.doc-1.0.1"="137b9cjdvi8f2pyhw036dslxbspq9sy88bgby33yasa7xcnyx9jn";
+"gzt.source-1.0.1"="1492wlfh9f67w1zfpmzy1c1c4iivf91a8fwhi9247yr2yaix06rn";
+"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.4"="06cpw0cfxmrzgp2ykkmabw9a4w1cy5lykh3c4fvh6i101czv9mv7";
+"hecthese.doc-1.4"="0227fi4qj5383jggcqrl3yj2rgi0chjggbzc6izfz782v0livd92";
+"hecthese.source-1.4"="0igfzr6qn6hnx7m4wzwgsgzfdv17k96m3zn7c71cm0fhqjzx0wpf";
+"hep-paper-1.6"="03b9l3101gzw5m0jhikn8aq18riy8z07yjnlcqnrgqrk72i515ss";
+"hep-paper.doc-1.6"="10af63x3awg87fzd83kqhz3bb1zpkhrm9kyjz42dnkm6pjn969f1";
+"hep-paper.source-1.6"="0m1kwilnja5rvb2xcjhl1kyibird9wz9yyq028kv5x3wbia68ihp";
+"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"="1cpjy8vdzmina141n5j0jqjls4rnvwabwj4by59j6vx5fq8d9ygz";
+"hitszthesis.doc-3.2"="1zps27q5x5z68d3s5wmhs4ihdhdv5fjr6ra0xyfaznbl1qz7n481";
+"hitszthesis.source-3.2"="0q3rqd2645fv81sw3090gama6wp0w1q4xn86shy9nrmc877z1ja2";
+"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";
+"ieeepes-4.0"="0nipchw9hdlc7am3n052bszilwj192pfcnc9p5alqnffrd8c4rdj";
+"ieeepes.doc-4.0"="0ff8xa7w5dmp356klm3lfr9dnfplxjqpq7aiczp6xj092vmjrhdi";
+"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.28"="14j317nhlc0ihr6d413ly2n8p2a38q8g25pii2a2j3jvdyyas83s";
+"jmlr.doc-1.28"="162cglkqy9dz0iydzk5f2g6dfwhi574xqw8xhq5i7mrrq111211n";
+"jmlr.source-1.28"="09wxsfm0x3l3y68brdp4jn3lg5w9kg23b1mjsvscls6pi0ac5sw5";
+"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";
+"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-58476"="031xf53v0w58k29xz1v6lin1yq1ya95raqxzxfcg665mp4ks55l3";
+"langsci.doc-58476"="1547xim0yrill63vw9h93aw7d0w3q5yl3wbg1cigbc3rk2v1a9yp";
+"langsci-avm-0.2.1"="1ayf5xbplhjgf2fcpxzhmdz2sz9bcjdnn64x4pc1k2yrk7zrva89";
+"langsci-avm.doc-0.2.1"="1b780ydqh0v0phapnjk1p044cn4hs4ww9ahx0fm2d0gj77fqsd31";
+"langsci-avm.source-0.2.1"="0rkhl4pkcs6cjvrd3f14l18rwk0ylq15kfc8k1n97bvhwy7azk5v";
+"limecv-0.1.8"="02wknvixw2p6sik6s21c6vpkw3nv0xflgrniiahjm4bali7dk3vi";
+"limecv.doc-0.1.8"="0bqw9ynszgyqq49hgr41n63flvgmrx7mb2ida76yyx0zziv1b6w2";
+"limecv.source-0.1.8"="0syp2l3d5nr9002whpq95ld5wrqj5mgrcd5vvbrva0sm3lbr761m";
+"lion-msc-0.30"="02xxyl35xl6c48x0fdlfkcv4bfhz4hghp1v3ff6pf9yl3cvqlh15";
+"lion-msc.doc-0.30"="0nycprcfi6769r47llwma71hzdb9a6sprdkkk6p898pmk367wbnf";
+"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-0.9"="00cm8gvw3q7jl9sxanqrps2xfxpkc5555clc6gg2dh8c3n0hliah";
+"mlacls.doc-0.9"="11248ijy391rzc4srxaci7c7511lyyzc296bdifmpl26lgfvvf97";
+"mlacls.source-0.9"="1rm1ajh2cm7f8mvbyny40li7wwbqiw73cgf5c0jqai81zg58xc40";
+"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-2.8"="1aqdhw56gmkqmnwkyxk7q4xjk8k28srdqpf9rlwfrz8vwpicsqrq";
+"msu-thesis.doc-2.8"="1lay1hg2r28y9zmq7r3zs87spiab8zcd3k6smjrbcj9127910s91";
+"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.2"="0mh2iyjikxmcnag0ww3n1zw2j8vyky8q148nhrmjcacbb6q6xgwc";
+"muling.doc-0.2"="1grdqc0i4jiprspfwjq7qlvnbz3z6wzgl9x81r9fxzp6ic6zl86r";
+"muling.source-0.2"="0d69hrm92c3j83jz14zv40rv8hrshaw8gxx8jmgwf4avrq5civgv";
+"musuos-1.1d"="0hfrgx3lk7mf9kzf6n8hswzh116pmllx0k3djbfinvvvhnqy972s";
+"musuos.doc-1.1d"="0zxdnzd8x42z5fpvkarhsvdw3x4bz6qppn0iyjff1fjzwl8q8dzh";
+"musuos.source-1.1d"="0igksc3i5ydqps0g172i2hkb854bnkf7xh4jqvwlimrlnhs7nnkk";
+"muthesis-23861"="0bbv49nnngkpnzq7kq15spn4x67yigpyfk8ymcgv647z0bvbladf";
+"muthesis.doc-23861"="1nx1qbgp67n73k54ppyi4li4flnsyi8jmy1lil0gaza38m5y8aak";
+"mynsfc-1.01"="1pv51wyvrwb4aadwa4wdq8cjlvbxgcl4h146lrjafvyqayr8r8rz";
+"mynsfc.doc-1.01"="04h49pz1w3wqh7rxd0zzrcwi5m2hpcx33pay0iaybq6vf73ajr1v";
+"mynsfc.source-1.01"="0iisnbgaijc17nqrd4pqfvl6h81v9h72m3f0f57rkq7995k37mya";
+"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";
+"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";
+"nwejm-1.0.1"="1f33ykxdzgx2c9w97albyaisf3lv69x5d1jgjrnvbd6r3xrwlvls";
+"nwejm.doc-1.0.1"="0asg8g8gvgb290z1if71sj440k4fyiydmvq9420vmh4w11kyg3l7";
+"nwejm.source-1.0.1"="1x47sgablq02j47i1cgin5dl16qcgf0k2qkaabgrza7l3jr67jq7";
+"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.0"="111qribw5ycq7q88l41cpm25vp7zak6cp29ivim637qx2qxzhwap";
+"pkuthss.doc-1.9.0"="0w970jgsa4a5ahx1bjk3y0gkmrcb576xmasp53z1sr342lr8qbrk";
+"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.02"="1n8rv168mhkml0xrf1l7vg9a56wqpyn428j8mlpyaksd6imbd95s";
+"qrbill.doc-1.02"="1xpg81mbpaps61cx25cd8dix1c7i2piyqfyvhy7a11z7n11ad6bw";
+"qrbill.source-1.02"="00pfbhadhk6ji7k4fmasqi60ms6pl5w26yamxszbl3j1057vrx17";
+"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-2.3"="1h6z0p6m4a1ivr57165w48b9rp5jiad37cdp2z9akk3pxdg3ywq6";
+"rutitlepage.doc-2.3"="0d8gi3ks8wjjbc6zhw4gmpsx44pr93iw7bw9ak5xfnm04p9vw81r";
+"rutitlepage.source-2.3"="098n2wkddrc7f74jlbrfvxzvplyj05dr1i7czah2ciw2z93m53z1";
+"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-4.1"="05lql3yqxpld4f1j0745aglvnfn7jr3914m4s5579s5q99aa2m5j";
+"sapthesis.doc-4.1"="1vjmq2r7a55v1msj2ca1lpz855zbiaiv485204bwh3hq6k3vajrj";
+"schule-0.8.2"="0qvq3029ghky49vq85wkpdd58ha20gag33drbmahnbmfa541fqb9";
+"schule.doc-0.8.2"="0906b4pl0rkkk9nbp4p0ds16zdw318xr9gh8al22yjf31f31dww6";
+"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";
+"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.2"="0kyhf8pb542mlpf1jd14lral76vlkya1iv3jyw59x11vw9c911vi";
+"shtthesis.doc-0.3.2"="02xqm4dkikb18ha2z0r63i41czjmxm7sr2gzpcgcvf7ql3n49cp2";
+"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.1"="1qvq1pb4hr8gqwjcjy71p9mqina8d0zp8gqq2xgnc9p0kgch4wa3";
+"sr-vorl.doc-1.1"="16xbvgc2cyxsbbxg3xi0p8v6p9zcw6wj4l6rsns4hmlnljlgpsm7";
+"sr-vorl.source-1.1"="174bmffj961fsyz8m35y6ps634612sv8dn0ihvlmbyxx7apbj4bf";
+"srdp-mathematik-1.9.0"="1igzl2ws9lg0nbnq20j48zb2zaaay8k8x2bhw1gdiq98qpc028pl";
+"srdp-mathematik.doc-1.9.0"="13gh9xx6qd45r6a27bsr4v088fnrljvba61b74wn676vx87028sl";
+"stellenbosch-11a"="07j555jrcg91nk6rgr6c9dq8y9b3i0677j339hlcb6mk7949nz3m";
+"stellenbosch.doc-11a"="0xrpmbzaa4y3v86zzdws9al13v723k5yjbxgnd9l985fgq5w21bz";
+"stellenbosch.source-11a"="16mmz7pq4y9blxskrxjq8w15zq9vrbcr6nj8ynfy13b7wxvqqrcn";
+"suftesi-3.0.2"="16ys7hdias3f5si5pwk60af86mpdbvmnpmyxnfvj4va6427qf84v";
+"suftesi.doc-3.0.2"="1rkwx6aiq8mip4qyf9aq1fqsp63wz3203mrkny0qgkmgcb07hc8w";
+"suftesi.source-3.0.2"="04c5r1rk628f0fpdxmya47rg33x8jngis44z10apkc1grsqszjf0";
+"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.1"="1liag94i7zc29m4j5vcilzwv13bspwzgslhkf92w807r1k20qi7c";
+"thesis-ekf.doc-4.1"="1ijgnpikan6zk5pc5b5x0sxi7rg8zbyw03q93m0pkd4lz4wf6126";
+"thesis-ekf.source-4.1"="00zchl3hj4a3ir226ph4521x9phpfwbw2jbr9sp1qfyy5vj80fnd";
+"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";
+"thucoursework-2.6"="18f3gbydg1z6hiaidqw3j9yqybzvcp9ykq5a7frbd3ww051rz9xq";
+"thucoursework.doc-2.6"="0pq5i3kd19ng122nf1gd97xsc8gd58l5gplg7iswfjykdk5zv562";
+"thucoursework.source-2.6"="016r76nsk9lnr2zkkwz27r2i35j154rlnk5izd11rlmsyw3ix7l0";
+"thuthesis-7.2.2"="0ck6z0fkcsrw22f3qh3lpdw3gma9gmq51ppi4rwd2qnayl2ffs1h";
+"thuthesis.doc-7.2.2"="1xr0m24dxi6i4fbhh5mjs2b54xnpd0xm00ssix9sqv366skkaxg5";
+"thuthesis.source-7.2.2"="0ncw054rzd2byc4sqj83pmg4yyxsckr2bh0rp2spc8bp9j49zir6";
+"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.13a"="0f5a9pxrflq3y7q76xscfp5mnzx5k5jv2kqx193r98azzsp958js";
+"tuda-ci.doc-3.13a"="02z3mp8jcks8wbnsq9z8v0n4p89m7i4bywp222wc7p23n37813dk";
+"tudscr-2.06l"="18ajhs99l6f6jh76izkn6g3xllnc739hcdgz0qqr6q4d5i36xplh";
+"tudscr.doc-2.06l"="12mfhhri2pp9cc1pc2sqhx7jbqrcq5js6frsilnkar55v7jnkd38";
+"tudscr.source-2.06l"="16wj8pwsm3f5fcgw498qay8icq0hqrajp1n9bilybc56h5b5m1c5";
+"tugboat-2.24"="1jq8zpm76rbamkpq1dhsj7il40h46bfpxhmh7mrfd2a9pxkzviia";
+"tugboat.doc-2.24"="1s2b5zs6b7dvwwq4gwwb03vjdmdwmyfhn8n31wqdjs338ia7ndsz";
+"tugboat.source-2.24"="0idn2zayjwa00hyhlpn16mqvm7aa04n2gcqk9mx9cksrydhj7733";
+"tugboat-plain-1.25"="1nq7lzyxy4nazdbdxk62jcsk76ysvqaqwi9vb5iwkl2c6bpgw3lz";
+"tugboat-plain.doc-1.25"="1bvgxf460pdxp312n0yv9l95jiq5hr0mkmphf7925d2w3n724rrh";
+"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-3.2"="0cfgvai7y520h99ljxi3jlavis7sl5qlgkw49xk8ng24v6js93d9";
+"uantwerpendocs.doc-3.2"="1ra4930lc9bx36qj3l48lmx7dbi6mk58xwci15l6mk34wbxhvq0r";
+"uantwerpendocs.source-3.2"="1h473sc1g98sca046jv4hs3p8dv6md1hvyfzang8yipm6yp4m6cq";
+"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.3"="0wbdhwnjydq4v66jlfrjz0d9845060wk847z6y0jx1q69gvcn3qi";
+"ulthese.doc-5.3"="08l2769vnkzbma0p97i7sdslvnd31fcxv6sadcqmqww3vdn1xl6m";
+"ulthese.source-5.3"="023vd313y72i3zqv8rmdbxah580id2vgi4i91nh4fqrmfkm7n8zw";
+"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";
+"unifith-1.2"="02s92p2c57iz05dsc9al1f83scd2cxarxscsg9zn38yy1kbiqf31";
+"unifith.doc-1.2"="1daj6hs3jsawp08mw3071c3sb9w60dkb0w8bwav177s80c08vd7z";
+"unitn-bimrep-45581"="0vv9vc9cvw3bjfndlfyr69kpziymlgalyvc11av9kq2x5b4jlc5b";
+"unitn-bimrep.doc-45581"="1wyiar6xjhsjcfnxhlz8y1l9xvlcpgmkh360am85llfqlnar5w5f";
+"univie-ling-1.13"="0qpcgq3myfcm6zqn7vvl32hs4v9miqv2ryl29dkwq9rk83rkih6k";
+"univie-ling.doc-1.13"="04cw8kg5zhgd2fsd44vkgv1isb0ca1726mfpr8j5qha1kqs6wha3";
+"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.0.1"="0ras7l4xhd4smys0fwp8hymzadrvyh4js8k1fcclvci3aprhh64y";
+"ut-thesis.doc-3.0.1"="0mm90mryz38kw3zjbmgc9lhknkzjmgglf69q5l9g1hsk1djgca7a";
+"ut-thesis.source-3.0.1"="15y2hzfgzg961lp4zmwivl8var64d392kzs1rvv89d1axf0k0xl7";
+"utexasthesis-1.0"="0j8jjy8i5i9lgy7m9wnvj36ms597amnvb9a0ac2a2wh7vqf3dxgd";
+"utexasthesis.doc-1.0"="0131pn2531bwmsv3ak1kf9nc4v86icxjg19d28sqfmlnfvl73v4y";
+"uwthesis-6.13"="0x6j9savd25v7s1nxzs0yqv10i1bbd89pnb0ldjmwilrfr78yw9c";
+"uwthesis.doc-6.13"="1plbn6dkqwl4bdvsyskzylww9j8akxh120yrnkfamk56ij9dd0py";
+"vancouver-0.8"="0vsvg7aplpj9gjlgn9mcx6r2fzli53bqmd2cdjf8l6kv2b9smmjb";
+"vancouver.doc-0.8"="1zm7bnlwns945nzngv7x851fcmbzc400v81d52fg9p1q8k5f8458";
+"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.7"="139kcsylhr597r1jga5izsr1ysj29asjawp7z9d2sz85qf9hapyn";
+"yathesis.doc-1.0.7"="0f2lkj60gqyps85ajvxz59ncb9pbcv2i0cpmcncq5cv5x66irl97";
+"yathesis.source-1.0.7"="15rz47rdjs6br84jvj9i5nvng23d009d3l2a3dr0gw1w142iq0zb";
+"yazd-thesis-0.3"="1bhjqd6k4lqk4sypssmrsjl9lqrbha9d0n42qbaq1mg5whpl2b8x";
+"yazd-thesis.doc-0.3"="0krsm9s3ym6f3d323scvxn8cf1wjqppglhmzbxwn0cpjq5nl01pg";
+"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.1"="0lcg9h78shrfk11dqjr9mccyh8n2264vyl4fnjl0cyc0ccsciv25";
+"bidi-atbegshi.doc-0.1"="1xzb3v8fc82p2s3hwkfxz7jz1za2cy4slyp490dbwzq9hrrvs5wl";
+"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.4"="1w04lfm8bjgrg9qndfz2zwhd7yakrlps1kk29ldvvd0200ns7db4";
+"ucharclasses.doc-2.4"="1arp54hwrfjm7x1d5cz5qvc4r83x9kdla5z81p7ld2zixjdsbph5";
+"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-3.1"="1q2kzx54b3fshqsdblw03kx2qp57qjnps9hf3cbdm3l4gq2h0qcx";
+"xetexko.doc-3.1"="1vlf5raawir2bi9nnpa1q2d9fxaq1cf3ixwfmhcgpqa1kd55ynzv";
+"xevlna-1.1"="16ayk70kxk2s23r6nxva1hkb1z7aw7zz1zhmcis1bsijx657kw25";
+"xevlna.doc-1.1"="09aaf3mpbh07mix5xvr20zybbbrbgbwcmkd5q0rfsd0ac8cm72fh";
+"zbmath-review-template-1.0"="14fpdxb26lcyhfiy189a4135i8x5vb7fq6d35vcj13vjrxsk5np9";
+"zbmath-review-template.doc-1.0"="16chwapj61zf74ma9794i96afnhnpm8h73lx0rj4rbkd6d37zl00";
 }
diff --git a/nixpkgs/pkgs/tools/video/atomicparsley/default.nix b/nixpkgs/pkgs/tools/video/atomicparsley/default.nix
index 92059699e98b..758fa56db50d 100644
--- a/nixpkgs/pkgs/tools/video/atomicparsley/default.nix
+++ b/nixpkgs/pkgs/tools/video/atomicparsley/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "atomicparsley";
-  version = "20210617.200601.1ac7c08";
+  version = "20210715.151551.e7ad03a";
 
   src = fetchFromGitHub {
     owner = "wez";
     repo = pname;
     rev = version;
-    sha256 = "sha256-IhZe0vM41JhO8H79ZrRx4FRA4zfB6X0daC8QoE5MHmU=";
+    sha256 = "sha256-77yWwfdEul4uLsUNX1dLwj8K0ilcuBaTVKMyXDvKVx4=";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -22,6 +22,23 @@ stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
+  doCheck = true;
+
+  postPatch = ''
+    patchShebangs tests/test.sh
+  '';
+
+  # copying files so that we dont need to patch the test.sh
+  checkPhase = ''
+    (
+    cp AtomicParsley ../tests
+    cd ../tests
+    mkdir tests
+    mv *.mp4 tests
+    ./test.sh
+    )
+  '';
+
   meta = with lib; {
     description = "A CLI program for reading, parsing and setting metadata into MPEG-4 files";
     homepage = "https://github.com/wez/atomicparsley";
diff --git a/nixpkgs/pkgs/tools/video/bento4/default.nix b/nixpkgs/pkgs/tools/video/bento4/default.nix
index 00180078d9d9..826eb7a97db9 100644
--- a/nixpkgs/pkgs/tools/video/bento4/default.nix
+++ b/nixpkgs/pkgs/tools/video/bento4/default.nix
@@ -3,13 +3,13 @@
 }:
 stdenv.mkDerivation rec {
   pname = "bento4";
-  version = "1.6.0-638";
+  version = "1.6.0-639";
 
   src = fetchFromGitHub {
     owner = "axiomatic-systems";
     repo = "Bento4";
     rev = "v${version}";
-    sha256 = "1hxr4lds4dl46advshk7azg28fcpcjaa5pzk2zzpsc9l69s0bnxk";
+    sha256 = "sha256-Rfmyjsgn/dcIplRtPFb5AfBxWOKmP6w8IHykgVxVNsQ=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/tools/video/dvgrab/default.nix b/nixpkgs/pkgs/tools/video/dvgrab/default.nix
index 18088eb6c308..9f4b8832f390 100644
--- a/nixpkgs/pkgs/tools/video/dvgrab/default.nix
+++ b/nixpkgs/pkgs/tools/video/dvgrab/default.nix
@@ -2,7 +2,8 @@
 , libavc1394, pkg-config, autoreconfHook }:
 
 stdenv.mkDerivation {
-  name = "dvgrab-2016-05-16";
+  pname = "dvgrab";
+  version = "2016-05-16";
 
   src = fetchFromGitHub {
     # mirror of original project with some build fixes
diff --git a/nixpkgs/pkgs/tools/video/mjpegtools/default.nix b/nixpkgs/pkgs/tools/video/mjpegtools/default.nix
index 45f63dc7727d..29dad791bc69 100644
--- a/nixpkgs/pkgs/tools/video/mjpegtools/default.nix
+++ b/nixpkgs/pkgs/tools/video/mjpegtools/default.nix
@@ -8,10 +8,11 @@
 # - libXxf86dga support? checking for XF86DGAQueryExtension in -lXxf86dga... no
 
 stdenv.mkDerivation rec {
-  name = "mjpegtools-2.1.0";
+  pname = "mjpegtools";
+  version = "2.1.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/mjpeg/${name}.tar.gz";
+    url = "mirror://sourceforge/mjpeg/mjpegtools-${version}.tar.gz";
     sha256 = "01y4xpfdvd4zgv6fmcjny9mr1gbfd4y2i4adp657ydw6fqyi8kw6";
   };
 
diff --git a/nixpkgs/pkgs/tools/video/replay-sorcery/default.nix b/nixpkgs/pkgs/tools/video/replay-sorcery/default.nix
new file mode 100644
index 000000000000..8f362c3beb96
--- /dev/null
+++ b/nixpkgs/pkgs/tools/video/replay-sorcery/default.nix
@@ -0,0 +1,62 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, substituteAll
+, cmake
+, pkg-config
+, ffmpeg
+, libX11
+, drmSupport ? true, libdrm
+, notifySupport ? true, libnotify
+, pulseaudioSupport ? true, libpulseaudio
+}:
+
+stdenv.mkDerivation rec {
+  pname = "replay-sorcery";
+  version = "0.5.0";
+
+  src = fetchFromGitHub {
+    owner = "matanui159";
+    repo = "ReplaySorcery";
+    rev = version;
+    fetchSubmodules = true;
+    sha256 = "sha256-HPkSOwfwcg4jLUzKfqdXgLu7mgD5H4wb9d2BrqWQeHc=";
+  };
+
+  patches = [
+    # Use global config generated by NixOS (/etc/replay-sorcery.conf)
+    # instead of $out/etc/replay-sorcery.conf.
+    ./fix-global-config.patch
+  ] ++ lib.optional notifySupport (substituteAll {
+    # Patch in libnotify if support is enabled. Can't use makeWrapper
+    # since it would break the security wrapper in the NixOS module.
+    src = ./hardcode-libnotify.patch;
+    inherit libnotify;
+  });
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+  ];
+
+  buildInputs = [ ffmpeg libX11 ]
+  ++ lib.optional drmSupport libdrm
+  ++ lib.optional pulseaudioSupport libpulseaudio;
+
+  cmakeFlags = [
+    "-DRS_SYSTEMD_DIR=${placeholder "out"}/lib/systemd/user"
+
+    # SETUID & SETGID permissions required for hardware accelerated
+    # video capture can't be set during the build. Use the NixOS
+    # module if you want hardware accelerated video capture.
+    "-DRS_SETID=OFF"
+  ];
+
+  meta = with lib; {
+    description = "An open-source, instant-replay solution for Linux";
+    homepage = "https://github.com/matanui159/ReplaySorcery";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ kira-bruneau ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/video/replay-sorcery/fix-global-config.patch b/nixpkgs/pkgs/tools/video/replay-sorcery/fix-global-config.patch
new file mode 100644
index 000000000000..4f30e2875cf7
--- /dev/null
+++ b/nixpkgs/pkgs/tools/video/replay-sorcery/fix-global-config.patch
@@ -0,0 +1,13 @@
+diff --git a/src/rsbuild.h.in b/src/rsbuild.h.in
+index ff0a0f6..5529556 100644
+--- a/src/rsbuild.h.in
++++ b/src/rsbuild.h.in
+@@ -20,7 +20,7 @@
+ #ifndef RS_BUILD_H
+ #define RS_BUILD_H
+ 
+-#define RS_BUILD_GLOBAL_CONFIG "@CMAKE_INSTALL_PREFIX@/etc/replay-sorcery.conf"
++#define RS_BUILD_GLOBAL_CONFIG "/etc/replay-sorcery.conf"
+ #define RS_BUILD_LOCAL_CONFIG "%s/.config/replay-sorcery.conf"
+ 
+ #cmakedefine RS_BUILD_PTHREAD_FOUND
diff --git a/nixpkgs/pkgs/tools/video/replay-sorcery/hardcode-libnotify.patch b/nixpkgs/pkgs/tools/video/replay-sorcery/hardcode-libnotify.patch
new file mode 100644
index 000000000000..8ff42bec92fa
--- /dev/null
+++ b/nixpkgs/pkgs/tools/video/replay-sorcery/hardcode-libnotify.patch
@@ -0,0 +1,25 @@
+diff --git a/src/config.c b/src/config.c
+index 3af7455..12cb6b5 100644
+--- a/src/config.c
++++ b/src/config.c
+@@ -129,7 +129,7 @@ static const AVOption configOptions[] = {
+     CONFIG_CONST(alt, RS_CONFIG_KEYMOD_ALT, keyMods),
+     CONFIG_CONST(super, RS_CONFIG_KEYMOD_SUPER, keyMods),
+     CONFIG_STRING(outputFile, "~/Videos/ReplaySorcery_%F_%H-%M-%S.mp4"),
+-    CONFIG_STRING(outputCommand, "notify-send " RS_NAME " \"Saved replay as %s\""),
++    CONFIG_STRING(outputCommand, "@libnotify@/bin/notify-send " RS_NAME " \"Saved replay as %s\""),
+     {NULL}};
+ 
+ static const AVClass configClass = {
+diff --git a/sys/replay-sorcery.conf b/sys/replay-sorcery.conf
+index 5cd0aa6..c600e7f 100644
+--- a/sys/replay-sorcery.conf
++++ b/sys/replay-sorcery.conf
+@@ -123,5 +123,5 @@ outputFile = ~/Videos/ReplaySorcery_%F_%H-%M-%S.mp4
+ 
+ # A command to run when a video is successfully saved
+ # Possible values: a printf formatted command
+-# Default value: notify-send ReplaySorcery "Saved replay as %s"
+-outputCommand = notify-send ReplaySorcery "Saved replay as %s"
++# Default value: @libnotify@/bin/notify-send ReplaySorcery "Saved replay as %s"
++outputCommand = @libnotify@/bin/notify-send ReplaySorcery "Saved replay as %s"
diff --git a/nixpkgs/pkgs/tools/video/rtmpdump/default.nix b/nixpkgs/pkgs/tools/video/rtmpdump/default.nix
index 3f71f8abc5ab..5f301ae88915 100644
--- a/nixpkgs/pkgs/tools/video/rtmpdump/default.nix
+++ b/nixpkgs/pkgs/tools/video/rtmpdump/default.nix
@@ -1,17 +1,21 @@
-{ lib, stdenv, fetchgit, fetchpatch, zlib
-, gnutlsSupport ? false, gnutls ? null, nettle ? null
-, opensslSupport ? true, openssl ? null
+{ lib
+, stdenv
+, fetchgit
+, fetchpatch
+, zlib
+, gnutlsSupport ? false
+, gnutls
+, nettle
+, opensslSupport ? true
+, openssl
 }:
 
-# Must have an ssl library enabled
 assert (gnutlsSupport || opensslSupport);
-assert gnutlsSupport -> gnutlsSupport != null && nettle != null && !opensslSupport;
-assert opensslSupport -> openssl != null && !gnutlsSupport;
 
 with lib;
 stdenv.mkDerivation {
   pname = "rtmpdump";
-  version = "2019-03-30";
+  version = "unstable-2019-03-30";
 
   src = fetchgit {
     url = "git://git.ffmpeg.org/rtmpdump";
@@ -28,7 +32,10 @@ stdenv.mkDerivation {
     })
   ];
 
-  makeFlags = [ "prefix=$(out)" ]
+  makeFlags = [
+    "prefix=$(out)"
+    "CROSS_COMPILE=${stdenv.cc.targetPrefix}"
+  ]
     ++ optional gnutlsSupport "CRYPTO=GNUTLS"
     ++ optional opensslSupport "CRYPTO=OPENSSL"
     ++ optional stdenv.isDarwin "SYS=darwin"
@@ -44,9 +51,9 @@ stdenv.mkDerivation {
 
   meta = {
     description = "Toolkit for RTMP streams";
-    homepage    = "http://rtmpdump.mplayerhq.hu/";
-    license     = licenses.gpl2;
-    platforms   = platforms.unix;
+    homepage = "https://rtmpdump.mplayerhq.hu/";
+    license = licenses.gpl2;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ codyopel ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/video/swfmill/default.nix b/nixpkgs/pkgs/tools/video/swfmill/default.nix
index c5e777f7531e..dbad79e61ad1 100644
--- a/nixpkgs/pkgs/tools/video/swfmill/default.nix
+++ b/nixpkgs/pkgs/tools/video/swfmill/default.nix
@@ -3,10 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "swfmill-0.3.3";
+  pname = "swfmill";
+  version = "0.3.3";
 
   src = fetchurl {
-    url = "http://swfmill.org/releases/${name}.tar.gz";
+    url = "http://swfmill.org/releases/swfmill-${version}.tar.gz";
     sha256 = "15mcpql448vvgsbxs7wd0vdk1ln6rdcpnif6i2zjm5l4xng55s7r";
   };
 
diff --git a/nixpkgs/pkgs/tools/video/swftools/default.nix b/nixpkgs/pkgs/tools/video/swftools/default.nix
index 6867869a0a9d..c48d684d3fcc 100644
--- a/nixpkgs/pkgs/tools/video/swftools/default.nix
+++ b/nixpkgs/pkgs/tools/video/swftools/default.nix
@@ -19,7 +19,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Only;
     maintainers = [ maintainers.koral ];
     platforms = lib.platforms.unix;
-    broken = true;
     knownVulnerabilities = [
       "CVE-2017-10976"
       "CVE-2017-11096"
diff --git a/nixpkgs/pkgs/tools/video/vnc2flv/default.nix b/nixpkgs/pkgs/tools/video/vnc2flv/default.nix
index 88ec2f22b89b..fdaf2ee27466 100644
--- a/nixpkgs/pkgs/tools/video/vnc2flv/default.nix
+++ b/nixpkgs/pkgs/tools/video/vnc2flv/default.nix
@@ -14,7 +14,7 @@ pythonPackages.buildPythonApplication rec {
 
   meta = {
     description = "Tool to record VNC sessions to Flash Video";
-    homepage = "http://www.unixuser.org/~euske/python/vnc2flv/";
+    homepage = "https://www.unixuser.org/~euske/python/vnc2flv/";
     license = lib.licenses.mit;
   };
 }
diff --git a/nixpkgs/pkgs/tools/video/vncrec/default.nix b/nixpkgs/pkgs/tools/video/vncrec/default.nix
index 5a60fc4c5d2e..02608ac16b20 100644
--- a/nixpkgs/pkgs/tools/video/vncrec/default.nix
+++ b/nixpkgs/pkgs/tools/video/vncrec/default.nix
@@ -3,7 +3,8 @@
 }:
 
 stdenv.mkDerivation {
-  name = "vncrec-0.2"; # version taken from Arch AUR
+  pname = "vncrec";
+  version = "0.2"; # version taken from Arch AUR
 
   src = fetchurl {
     url = "http://ronja.twibright.com/utils/vncrec-twibright.tgz";
diff --git a/nixpkgs/pkgs/tools/virtualization/aws/default.nix b/nixpkgs/pkgs/tools/virtualization/aws/default.nix
index d3a5cbf10e1a..d09e001ec6eb 100644
--- a/nixpkgs/pkgs/tools/virtualization/aws/default.nix
+++ b/nixpkgs/pkgs/tools/virtualization/aws/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchurl, perl, curl }:
 
 stdenv.mkDerivation {
-  name = "aws-2019.06.18";
+  pname = "aws";
+  version = "2019.06.18";
 
   src = fetchurl {
     url = "https://raw.github.com/timkay/aws/ac68eb5191c52f069b9aa0c9a99808f8a4430833/aws";
diff --git a/nixpkgs/pkgs/tools/virtualization/cloud-init/default.nix b/nixpkgs/pkgs/tools/virtualization/cloud-init/default.nix
index 1a0188127aa9..dd30969ed8bd 100644
--- a/nixpkgs/pkgs/tools/virtualization/cloud-init/default.nix
+++ b/nixpkgs/pkgs/tools/virtualization/cloud-init/default.nix
@@ -76,6 +76,8 @@ buildPythonApplication rec {
     "TestConsumeUserDataHttp"
     # Chef Omnibus
     "TestInstallChefOmnibus"
+    # https://github.com/canonical/cloud-init/pull/893
+    "TestGetPackageMirrorInfo"
   ];
 
   disabledTestPaths = [
@@ -102,6 +104,7 @@ buildPythonApplication rec {
   meta = with lib; {
     homepage = "https://cloudinit.readthedocs.org";
     description = "Provides configuration and customization of cloud instance";
+    license = with licenses; [ asl20 gpl3Plus ];
     maintainers = with maintainers; [ madjar phile314 ];
     platforms = platforms.all;
   };
diff --git a/nixpkgs/pkgs/tools/virtualization/cri-tools/default.nix b/nixpkgs/pkgs/tools/virtualization/cri-tools/default.nix
index 637ff51317ff..16a7ecffa043 100644
--- a/nixpkgs/pkgs/tools/virtualization/cri-tools/default.nix
+++ b/nixpkgs/pkgs/tools/virtualization/cri-tools/default.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "cri-tools";
-  version = "1.21.0";
+  version = "1.22.0";
 
   src = fetchFromGitHub {
     owner = "kubernetes-sigs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-chU7qNapmM4Gm8lYcdUreg1ZP93UM0LpIEk+w5cutlg=";
+    sha256 = "sha256-+36lGLpNnTQnwwmXoVNPt3RMcnE46AdXOpghvhP0Bq0=";
   };
 
   vendorSha256 = null;
diff --git a/nixpkgs/pkgs/tools/virtualization/distrobuilder/default.nix b/nixpkgs/pkgs/tools/virtualization/distrobuilder/default.nix
index a6f479dc71ab..73f602cbf695 100644
--- a/nixpkgs/pkgs/tools/virtualization/distrobuilder/default.nix
+++ b/nixpkgs/pkgs/tools/virtualization/distrobuilder/default.nix
@@ -21,15 +21,15 @@ let
 in
 buildGoModule rec {
   pname = "distrobuilder";
-  version = "1.2";
+  version = "1.3";
 
-  vendorSha256 = "sha256-G5FUO6Ul4dA4MZZI9Ho1kE9ptX31tAWak9rWAoD/iuU=";
+  vendorSha256 = "sha256-FKnpoLA4enZ1vGSJQFLbp/OjoEgdxagL73ucxUgIoKY=";
 
   src = fetchFromGitHub {
     owner = "lxc";
     repo = "distrobuilder";
     rev = "distrobuilder-${version}";
-    sha256 = "CE3Tq0oWpVZnSfBBY3/2E2GdZLFsO0NzkPABT8lu+TY=";
+    sha256 = "sha256-cvxbJbg9yTcAPWQccH+1nQivwRh8CIN3Cga2HKY8VlQ=";
     fetchSubmodules = false;
   };
 
diff --git a/nixpkgs/pkgs/tools/virtualization/distrobuilder/deps.nix b/nixpkgs/pkgs/tools/virtualization/distrobuilder/deps.nix
deleted file mode 100644
index 7f79d8931fcc..000000000000
--- a/nixpkgs/pkgs/tools/virtualization/distrobuilder/deps.nix
+++ /dev/null
@@ -1,228 +0,0 @@
-# This file was generated by https://github.com/kamilchm/go2nix v1.3.0
-[
-  {
-    goPackagePath = "github.com/antchfx/xpath";
-    fetch = {
-      type = "git";
-      url = "https://github.com/antchfx/xpath";
-      rev = "b6dbe470e10224a23b2f69db0d4449bc6627ece6";
-      sha256 = "1959kzmjijpll6432da84rmzgd7p3yyqdq9chyxnm8318pr5znji";
-    };
-  }
-  {
-    goPackagePath = "github.com/flosch/pongo2";
-    fetch = {
-      type = "git";
-      url = "https://github.com/flosch/pongo2";
-      rev = "bbf5a6c351f4d4e883daa40046a404d7553e0a00";
-      sha256 = "0yqh58phznnxakm64w82gawrpndb0r85vsd1s7h244qqrq7w4avq";
-    };
-  }
-  {
-    goPackagePath = "github.com/gobuffalo/envy";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gobuffalo/envy";
-      rev = "043cb4b8af871b49563291e32c66bb84378a60ac";
-      sha256 = "03jarnkaf42xgfamb0jlya4c1cyk8gnxhcd21m3fx145vz4px398";
-    };
-  }
-  {
-    goPackagePath = "github.com/gobuffalo/logger";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gobuffalo/logger";
-      rev = "7c291b53e05b81d77bd43109b4a3c6f84e45c8e1";
-      sha256 = "1w6rkz0xwq3xj3giwzjkfnai69a0cgg09zx01z7s8r5z450cish3";
-    };
-  }
-  {
-    goPackagePath = "github.com/gobuffalo/packd";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gobuffalo/packd";
-      rev = "54ea459691466cfb630ccc276723fe3963f3e9d5";
-      sha256 = "02sg33jkp219g0z3yf2fn9xm2zds1qxzdznx5mh8vffh4njjg1x8";
-    };
-  }
-  {
-    goPackagePath = "github.com/gobuffalo/packr";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gobuffalo/packr";
-      rev = "dc520c910ea91354b3ae131bbb029270e4fc1af4";
-      sha256 = "1ph05pkbq0ggdab152f7hjlc758nkrw22fqgslnf1nvggadjkvqs";
-    };
-  }
-  {
-    goPackagePath = "github.com/gorilla/websocket";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gorilla/websocket";
-      rev = "ae1634f6a98965ded3b8789c626cb4e0bd78c3de";
-      sha256 = "0nw0mdcs75ghr9a5asrk9a7yc00703yvv4xf6wyd3z44ihs4hrjv";
-    };
-  }
-  {
-    goPackagePath = "github.com/joho/godotenv";
-    fetch = {
-      type = "git";
-      url = "https://github.com/joho/godotenv";
-      rev = "5c0e6c6ab1a0a9ef0a8822cba3a05d62f7dad941";
-      sha256 = "0zfs69q7f5xlkqhd4wzjc8gfdisahapz5g94sa8lzr5b4jg9ycbw";
-    };
-  }
-  {
-    goPackagePath = "github.com/juju/errors";
-    fetch = {
-      type = "git";
-      url = "https://github.com/juju/errors";
-      rev = "e65537c515d77e35697c471d6c2755375cb3adc4";
-      sha256 = "119806fhl4isbxc3g52335jgiv6cddfbapr1absd4v4kkq55i5qh";
-    };
-  }
-  {
-    goPackagePath = "github.com/karrick/godirwalk";
-    fetch = {
-      type = "git";
-      url = "https://github.com/karrick/godirwalk";
-      rev = "73c17a9b9528eb3ce857b782a2816c0cda581e62";
-      sha256 = "0l0m5zi2mf649knxgmch1cblz3a3xiny1c9ki2241phkpwzspjq1";
-    };
-  }
-  {
-    goPackagePath = "github.com/lxc/lxd";
-    fetch = {
-      type = "git";
-      url = "https://github.com/lxc/lxd";
-      rev = "fd924cb85d99475f9a0349208a8d7d0f30bdb6f0";
-      sha256 = "1v246x0bi6ljkfjfjkfjbfh0imfbps2zd0m55cxdsl8y96pfx1hs";
-    };
-  }
-  {
-    goPackagePath = "github.com/mudler/docker-companion";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mudler/docker-companion";
-      rev = "6a693e9b9eaf2cd08ba628350613f2e08e9af57d";
-      sha256 = "06ch1xhfd62dwkmh1z0ihifpmvgnki97k8s7gzivincy80xj0xpc";
-    };
-  }
-  {
-    goPackagePath = "github.com/pkg/errors";
-    fetch = {
-      type = "git";
-      url = "https://github.com/pkg/errors";
-      rev = "27936f6d90f9c8e1145f11ed52ffffbfdb9e0af7";
-      sha256 = "0yzmgi6g4ak4q8y7w6x0n5cbinlcn8yc3gwgzy4yck00qdn25d6y";
-    };
-  }
-  {
-    goPackagePath = "github.com/rogpeppe/go-internal";
-    fetch = {
-      type = "git";
-      url = "https://github.com/rogpeppe/go-internal";
-      rev = "3670dca80da881cddd5377fb9496daaabb8dec9f";
-      sha256 = "0h01adrajbl3h0yx3bkig79ap9n6ikz90cpszhqwvgr63a0xbn13";
-    };
-  }
-  {
-    goPackagePath = "github.com/sirupsen/logrus";
-    fetch = {
-      type = "git";
-      url = "https://github.com/sirupsen/logrus";
-      rev = "07a84ee7412e7a28663d92930a1d46f81b124ee1";
-      sha256 = "00hms8fnbhxb5lir3ykhl5lf1n2yqxddmd47cxp6d5ziv6k5swc8";
-    };
-  }
-  {
-    goPackagePath = "github.com/spf13/cobra";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/cobra";
-      rev = "2d7544ebdeb5f926805c57af8dccc6c359de28d4";
-      sha256 = "04b2bq8g948mn020l4cwhdnqffag29r21x2nyyg6cjqj306gs4vs";
-    };
-  }
-  {
-    goPackagePath = "github.com/spf13/pflag";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/pflag";
-      rev = "24fa6976df40757dce6aea913e7b81ade90530e1";
-      sha256 = "0rf6prz6gl0l1b3wijzdgq887cdwigvzxvz6gqbm5l8pkq3fx1m9";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/crypto";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/crypto";
-      rev = "4def268fd1a49955bfb3dda92fe3db4f924f2285";
-      sha256 = "1bfsnari529gw34cz0zqk3d9mrkcj1ay35kangri8kbgll0ss5a6";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/net";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/net";
-      rev = "da137c7871d730100384dbcf36e6f8fa493aef5b";
-      sha256 = "1qsiyr3irmb6ii06hivm9p2c7wqyxczms1a9v1ss5698yjr3fg47";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/sys";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sys";
-      rev = "fae7ac547cb717d141c433a2a173315e216b64c4";
-      sha256 = "11pl0dycm5d8ar7g1l1w5q2cx0lms8i15n8mxhilhkdd2xpmh8f0";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/text";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/text";
-      rev = "342b2e1fbaa52c93f31447ad2c6abc048c63e475";
-      sha256 = "0flv9idw0jm5nm8lx25xqanbkqgfiym6619w575p7nrdh0riqwqh";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/antchfx/htmlquery.v1";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/antchfx/htmlquery.v1";
-      rev = "b8d36292614567671decfe6f96c7b8c432d3249b";
-      sha256 = "1rsvngqlqyg86g1ff59zmrkn7s8b3c2vpl533amwcv5s2h8npmxy";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/flosch/pongo2.v3";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/flosch/pongo2.v3";
-      rev = "5e81b817a0c48c1c57cdf1a9056cf76bdee02ca9";
-      sha256 = "0fd7d79644zmcirsb1gvhmh0l5vb5nyxmkzkvqpmzzcg6yfczph8";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/robfig/cron.v2";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/robfig/cron.v2";
-      rev = "be2e0b0deed5a68ffee390b4583a13aff8321535";
-      sha256 = "1cmm6dc4cl8269wlknxmicyn1s63irg66lj76b9ncjjfrvijpf0y";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/yaml.v2";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/yaml.v2";
-      rev = "51d6538a90f86fe93ac480b35f37b2be17fef232";
-      sha256 = "01wj12jzsdqlnidpyjssmj0r4yavlqy7dwrg7adqd8dicjc4ncsa";
-    };
-  }
-]
diff --git a/nixpkgs/pkgs/tools/virtualization/ec2-api-tools/default.nix b/nixpkgs/pkgs/tools/virtualization/ec2-api-tools/default.nix
index 475b97abdcc1..babcbcfc6c33 100644
--- a/nixpkgs/pkgs/tools/virtualization/ec2-api-tools/default.nix
+++ b/nixpkgs/pkgs/tools/virtualization/ec2-api-tools/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, unzip, makeWrapper, jre }:
 
 stdenv.mkDerivation rec {
-  name = "ec2-api-tools-1.7.5.1";
+  pname = "ec2-api-tools";
+  version = "1.7.5.1";
 
   src = fetchurl {
-    url = "http://tarballs.nixos.org/${name}.zip";
+    url = "http://tarballs.nixos.org/ec2-api-tools-${version}.zip";
     sha256 = "0figmvcm82ghmpz3018ihysz8zpxpysgbpdx7rmciq9y80qbw6l5";
   };
 
diff --git a/nixpkgs/pkgs/tools/virtualization/google-compute-engine/default.nix b/nixpkgs/pkgs/tools/virtualization/google-compute-engine/default.nix
index ad187544aea2..fef461be7d74 100644
--- a/nixpkgs/pkgs/tools/virtualization/google-compute-engine/default.nix
+++ b/nixpkgs/pkgs/tools/virtualization/google-compute-engine/default.nix
@@ -3,26 +3,85 @@
 , buildPythonPackage
 , bash
 , bashInteractive
-, systemd
 , util-linux
 , boto
 , setuptools
 , distro
+, stdenv
+, pythonOlder
+, pytestCheckHook
 }:
 
+let
+  guest-configs = stdenv.mkDerivation rec {
+    pname = "guest-configs";
+    version = "20210702.00";
+
+    src = fetchFromGitHub {
+      owner = "GoogleCloudPlatform";
+      repo = "guest-configs";
+      rev = version;
+      sha256 = "1965kdrb1ig3z4qwzvyzx1fb4282ak5vgxcvvg5k9c759pzbc5nn";
+    };
+
+    buildInputs = [ bash ];
+
+    dontConfigure = true;
+    dontBuild = true;
+
+    installPhase = ''
+      runHook preInstall
+
+      # allows to install the package in `services.udev.packages` in NixOS
+      mkdir -p $out/lib/udev $out/bin
+
+      cp -r "src/lib/udev/rules.d" $out/lib/udev
+      cp "src/lib/udev/google_nvme_id" $out/bin
+
+      for rules in $out/lib/udev/*.rules; do
+        substituteInPlace "$rules" \
+          --replace /bin/sh "${bash}/bin/sh" \
+          --replace /bin/umount "${util-linux}/bin/umount" \
+          --replace /usr/bin/logger "${util-linux}/bin/logger"
+      done
+
+      # sysctl snippets will be used by google-compute-config.nix
+      cp -r "src/etc/sysctl.d" $out
+
+      patchShebangs $out/bin/*
+
+      runHook postInstall
+    '';
+  };
+in
 buildPythonPackage rec {
   pname = "google-compute-engine";
-  version = "20190124";
+  version = "20200113.0";
 
   src = fetchFromGitHub {
     owner = "GoogleCloudPlatform";
     repo = "compute-image-packages";
-    rev = version;
-    sha256 = "08cy0jd463kng6hwbd3nfldsp4dpd2lknlvdm88cq795wy0kh4wp";
+    rev = "506b9a0dbffec5620887660cd42c57b3cbbadba6";
+    sha256 = "0lmc426mvrajghpavhs6hwl19mgnnh08ziqx5yi15fzpnvwmb8vz";
   };
 
-  buildInputs = [ bash ];
-  propagatedBuildInputs = [ boto setuptools distro ];
+  buildInputs = [ bash guest-configs ];
+  propagatedBuildInputs = [ (if pythonOlder "3.7" then boto else distro) setuptools ];
+
+  preBuild = ''
+    cd packages/python-google-compute-engine
+  '';
+
+  disabledTests = [
+    "testExtractInterfaceMetadata"
+    "testCallDhclientIpv6"
+    "testWriteConfig"
+    "testCreateInterfaceMapNetifaces"
+    "testCreateInterfaceMapSysfs"
+    "testGetNetworkInterface"
+  ];
+
+  checkInputs = [ pytestCheckHook ];
 
   postPatch = ''
     for file in $(find google_compute_engine -type f); do
@@ -32,33 +91,15 @@ buildPythonPackage rec {
         --replace /sbin/hwclock "${util-linux}/bin/hwclock"
       # SELinux tool ???  /sbin/restorecon
     done
-
-    substituteInPlace google_config/udev/64-gce-disk-removal.rules \
-      --replace /bin/sh "${bash}/bin/sh" \
-      --replace /bin/umount "${util-linux}/bin/umount" \
-      --replace /usr/bin/logger "${util-linux}/bin/logger"
-  '';
-
-  postInstall = ''
-    # allows to install the package in `services.udev.packages` in NixOS
-    mkdir -p $out/lib/udev/rules.d
-    cp -r google_config/udev/*.rules $out/lib/udev/rules.d
-
-    # sysctl snippets will be used by google-compute-config.nix
-    mkdir -p $out/sysctl.d
-    cp google_config/sysctl/*.conf $out/sysctl.d
-
-    patchShebangs $out/bin/*
   '';
 
-  doCheck = false;
   pythonImportsCheck = [ "google_compute_engine" ];
 
   meta = with lib; {
     description = "Google Compute Engine tools and services";
     homepage = "https://github.com/GoogleCloudPlatform/compute-image-packages";
     license = licenses.asl20;
-    maintainers = with maintainers; [ zimbatm ];
+    maintainers = with maintainers; [ cpcloud zimbatm ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/tools/virtualization/linode-cli/default.nix b/nixpkgs/pkgs/tools/virtualization/linode-cli/default.nix
index f169ec7b854a..c815f6fcf6d5 100644
--- a/nixpkgs/pkgs/tools/virtualization/linode-cli/default.nix
+++ b/nixpkgs/pkgs/tools/virtualization/linode-cli/default.nix
@@ -12,23 +12,23 @@
 
 let
   # specVersion taken from: https://www.linode.com/docs/api/openapi.yaml at `info.version`.
-  specVersion = "4.99.0";
+  specVersion = "4.102.0";
   spec = fetchurl {
     url = "https://raw.githubusercontent.com/linode/linode-api-docs/v${specVersion}/openapi.yaml";
-    sha256 = "10z63a2clbiskdnmnyf4m8v2hgc4bdm703y7s2dpw0q09msx9aca";
+    sha256 = "16njk21gdk8r8a9v607ndw2rs0q6za9ylkgdxmix4j0zvrbrw0qv";
   };
 
 in
 
 buildPythonApplication rec {
   pname = "linode-cli";
-  version = "5.5.2";
+  version = "5.8.1";
 
   src = fetchFromGitHub {
     owner = "linode";
     repo = pname;
     rev = version;
-    sha256 = "sha256-AjO4h0PaE/QFwbwUVNoe98XOPZ24ct0mbLkua5/YsEA=";
+    sha256 = "19lfnwgm09gxk0mcikwl7v4hw2ai2k9lkdjlalz8fsswf81my7h6";
   };
 
   # remove need for git history
diff --git a/nixpkgs/pkgs/tools/virtualization/reg/default.nix b/nixpkgs/pkgs/tools/virtualization/reg/default.nix
new file mode 100644
index 000000000000..a1b246aff0d3
--- /dev/null
+++ b/nixpkgs/pkgs/tools/virtualization/reg/default.nix
@@ -0,0 +1,26 @@
+{ lib
+, fetchFromGitHub
+, buildGoModule
+}:
+
+buildGoModule rec {
+  pname = "reg";
+  version = "0.16.1";
+
+  src = fetchFromGitHub {
+    owner = "genuinetools";
+    repo = "reg";
+    rev = "v${version}";
+    sha256 = "1jlza1czfssssi3y9zi6kr8k9msfa7vp215ibhwbz4h97av5xw5m";
+  };
+
+  vendorSha256 = null;
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Docker registry v2 command line client and repo listing generator with security checks";
+    homepage = "https://github.com/genuinetools/reg";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ereslibre ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/virtualization/shipyard/default.nix b/nixpkgs/pkgs/tools/virtualization/shipyard/default.nix
index cd8a4c36a920..9c67b5462bbf 100644
--- a/nixpkgs/pkgs/tools/virtualization/shipyard/default.nix
+++ b/nixpkgs/pkgs/tools/virtualization/shipyard/default.nix
@@ -12,8 +12,8 @@ buildGoModule rec {
   };
   vendorSha256 = "sha256-tTkPFftPDNXafIjAjNg6V6e/+2S/v5Do/YyAXPaGIqA=";
 
-  buildFlagsArray = [
-    "-ldflags=-s -w -X main.version=${version}"
+  ldflags = [
+    "-s" "-w" "-X main.version=${version}"
   ];
 
   # Tests require a large variety of tools and resources to run including
diff --git a/nixpkgs/pkgs/tools/virtualization/udocker/default.nix b/nixpkgs/pkgs/tools/virtualization/udocker/default.nix
index fb067de82125..6584c5bee5c6 100644
--- a/nixpkgs/pkgs/tools/virtualization/udocker/default.nix
+++ b/nixpkgs/pkgs/tools/virtualization/udocker/default.nix
@@ -1,35 +1,42 @@
-{ lib, fetchFromGitHub, proot, patchelf, fakechroot, runc, simplejson, pycurl, coreutils, nose, mock, buildPythonApplication }:
+{ lib
+, fetchFromGitHub
+, singularity
+, python3Packages
+}:
 
-buildPythonApplication rec {
-
-  version = "1.1.3";
+python3Packages.buildPythonApplication rec {
   pname = "udocker";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "indigo-dc";
-    repo = "udocker" ;
+    repo = "udocker";
     rev = "v${version}";
-    sha256 = "1c8y1p3brj987drikwrby8m1hdr40ja4anx0p4xsij3ll2h62w6z";
+    sha256 = "0dfsjgidsnah8nrclrq10yz3ja859123z81kq4zdifbrhnrn5a2x";
   };
 
-  buildInputs = [ proot patchelf fakechroot runc simplejson pycurl coreutils ];
-
-  postPatch = ''
-      substituteInPlace udocker.py --replace /usr/sbin:/sbin:/usr/bin:/bin $PATH
-      substituteInPlace udocker.py --replace /bin/chmod ${coreutils}/bin/chmod
-      substituteInPlace udocker.py --replace /bin/rm ${coreutils}/bin/rm
-      substituteInPlace tests/unit_tests.py --replace /bin/rm ${coreutils}/bin/rm
-      substituteInPlace udocker.py --replace "autoinstall = True" "autoinstall = False"
-  '';
+  # crun patchelf proot runc fakechroot
+  # are download statistically linked during runtime
+  buildInputs = [
+    singularity
+  ] ++ (with python3Packages; [
+    pytest-runner
+    pycurl
+  ]);
+
+  checkInputs = with python3Packages; [
+    pytestCheckHook
+  ];
 
-  checkInputs = [
-    nose
-    mock
+  disabledTests = [
+    "test_05__get_volume_bindings"
   ];
 
-  checkPhase = ''
-    NOSE_EXCLUDE=test_03_create_repo,test_04_is_repo,test_02__get_group_from_host nosetests -v tests/unit_tests.py
-  '';
+  disabledTestPaths = [
+    # Network
+    "tests/unit/test_curl.py"
+    "tests/unit/test_dockerioapi.py"
+  ];
 
   meta = with lib; {
     description = "basic user tool to execute simple docker containers in user space without root privileges";
diff --git a/nixpkgs/pkgs/tools/wayland/sirula/default.nix b/nixpkgs/pkgs/tools/wayland/sirula/default.nix
new file mode 100644
index 000000000000..b58f37368f03
--- /dev/null
+++ b/nixpkgs/pkgs/tools/wayland/sirula/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, fetchFromGitHub
+, rustPlatform
+, pkg-config
+, gtk3
+, gtk-layer-shell
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "sirula";
+  version = "unstable-2021-07-11";
+
+  src = fetchFromGitHub {
+    owner = "DorianRudolph";
+    repo = "sirula";
+    rev = "574725bc307fc704c42380cd0fa50b0b80c4764d";
+    sha256 = "1m58j1hymjw4l2z1jdfirw1vb3rblc1qffpvc2lqy99frfz0dlvp";
+  };
+
+  cargoSha256 = "0wk90p20qkbpr866h8cvdshr8cl2kmc3dh2zxws5mlsh3sx2ld4w";
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ gtk3 gtk-layer-shell ];
+
+  meta = with lib; {
+    description = "Simple app launcher for wayland written in rust";
+    homepage = "https://github.com/DorianRudolph/sirula";
+    license = with licenses; [ gpl3Plus ];
+    maintainers = with maintainers; [ twitchyliquid64 ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/wayland/swayr/default.nix b/nixpkgs/pkgs/tools/wayland/swayr/default.nix
index 24a830a7277c..bb20222a9bef 100644
--- a/nixpkgs/pkgs/tools/wayland/swayr/default.nix
+++ b/nixpkgs/pkgs/tools/wayland/swayr/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "swayr";
-  version = "0.6.1";
+  version = "0.6.2";
 
   src = fetchFromSourcehut {
     owner = "~tsdh";
     repo = "swayr";
     rev = "v${version}";
-    sha256 = "1865064q8jb75nfb0hbx4swbbijpibm0n7m4cid8qgylzp4bxvs2";
+    sha256 = "sha256-ZnZ9g8o1+VfhpDqxqtknNJ7dcyt5yuQcH3txxA3HICU=";
   };
 
-  cargoSha256 = "0w6zjnywifdlaw01xz2824lwm4b6r1b7r99wi3p12vgbrmks4jcr";
+  cargoSha256 = "sha256-0EhHFxbQi3Jgu13pXIjYYFYDEOQjwN5h+jE+22gJG0s=";
 
   patches = [
     ./icon-paths.patch
diff --git a/nixpkgs/pkgs/tools/wayland/wob/default.nix b/nixpkgs/pkgs/tools/wayland/wob/default.nix
index 07fd6f433d73..7f5b7b61c628 100644
--- a/nixpkgs/pkgs/tools/wayland/wob/default.nix
+++ b/nixpkgs/pkgs/tools/wayland/wob/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wob";
-  version = "0.11";
+  version = "0.12";
 
   src = fetchFromGitHub {
     owner = "francma";
     repo = pname;
     rev = version;
-    sha256 = "13mx6nzab6msp57s9mv9ambz53a4zkafms9v97xv5zvd6xarnrya";
+    sha256 = "sha256-gVQqZbz6ylBBlmhSgyaSEvAyMi48QiuviwZodPVGJxI=";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config scdoc wayland-scanner ];
diff --git a/nixpkgs/pkgs/top-level/aliases.nix b/nixpkgs/pkgs/top-level/aliases.nix
index a901881e3796..142d64babb7e 100644
--- a/nixpkgs/pkgs/top-level/aliases.nix
+++ b/nixpkgs/pkgs/top-level/aliases.nix
@@ -38,6 +38,7 @@ mapAliases ({
   accounts-qt = libsForQt5.accounts-qt; # added 2015-12-19
   adobeReader = adobe-reader; # added 2013-11-04
   adobe_flex_sdk = apache-flex-sdk; # added 2018-06-01
+  aesop = throw "aesop has been removed from nixpkgs, as it was unmaintained."; # added 2021-08-05
   ag = silver-searcher; # added 2018-04-25
   aircrackng = aircrack-ng; # added 2016-01-14
   aleth = throw "aleth (previously packaged as cpp_ethereum) has been removed; abandoned upstream."; # added 2020-11-30
@@ -52,15 +53,6 @@ mapAliases ({
   ammonite-repl = ammonite; # added 2017-05-02
   amsn = throw "amsn has been removed due to being unmaintained."; # added 2020-12-09
   antimicro = throw "antimicro has been removed as it was broken, see antimicroX instead."; # added 2020-08-06
-  apacheKafka_0_9 = throw "kafka 0.9 is no longer supported. Please upgrade to a newer version."; # added 2020-12-21
-  apacheKafka_0_10 = throw "kafka 0.10 is no longer supported. Please upgrade to a newer version."; # added 2020-12-21
-  apacheKafka_0_11 = throw "kafka 0.11 is no longer supported. Please upgrade to a newer version."; # added 2020-12-21
-  apacheKafka_1_0 = throw "kafka 1.0 is no longer supported. Please upgrade to a newer version."; # added 2020-12-21
-  apacheKafka_1_1 = throw "kafka 1.1 is no longer supported. Please upgrade to a newer version."; # added 2020-12-21
-  apacheKafka_2_0 = throw "kafka 2.0 is no longer supported. Please upgrade to a newer version."; # added 2020-12-21
-  apacheKafka_2_1 = throw "kafka 2.1 is no longer supported. Please upgrade to a newer version."; # added 2020-12-21
-  apacheKafka_2_2 = throw "kafka 2.2 is no longer supported. Please upgrade to a newer version."; # added 2020-12-21
-  apacheKafka_2_3 = throw "kafka 2.3 is no longer supported. Please upgrade to a newer version."; # added 2020-12-21
   arduino_core = arduino-core;  # added 2015-02-04
   arora = throw "arora has been removed."; # added 2020-09-09
   asciidocFull = asciidoc-full;  # added 2014-06-22
@@ -70,12 +62,14 @@ 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
+  azureus = throw "azureus is now known as vuze and the version in nixpkgs was really outdated"; # added 2021-08-02
   badtouch = authoscope; # Project was renamed, added 20210626
   bar-xft = lemonbar-xft;  # added 2015-01-16
   bashCompletion = bash-completion; # Added 2016-09-28
   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
   bluezFull = bluez; # Added 2019-12-03
   bpftool = bpftools; # Added 2021-05-03
@@ -85,6 +79,7 @@ mapAliases ({
   bootchart = throw "bootchart has been removed from nixpkgs, as it is without a maintainer"; # added 2019-12-10
   bomi = throw "bomi has been removed from nixpkgs since it was broken and abandoned upstream"; # added 2020-12-10
   btrfsProgs = btrfs-progs; # added 2016-01-03
+  bitsnbots = throw "bitsnbots has been removed because it was broken and upstream missing"; # added 2021-08-22
   bittorrentSync = throw "bittorrentSync has been deprecated by resilio-sync."; # added 2019-06-03
   bittorrentSync14 = throw "bittorrentSync14 has been deprecated by resilio-sync."; # added 2019-06-03
   bittorrentSync20 = throw "bittorrentSync20 has been deprecated by resilio-sync."; # added 2019-06-03
@@ -101,6 +96,8 @@ mapAliases ({
   buildPerlPackage = perlPackages.buildPerlPackage; # added 2018-10-12
   buildGo112Package = throw "buildGo112Package has been removed"; # added 2020-04-26
   buildGo112Module = throw "buildGo112Module has been removed"; # added 2020-04-26
+  buildkite-agent2 = throw "buildkite-agent2 has been discontinued. Please use buildkite-agent (v3.x)"; # added 2018-09-26
+  buildkite-agent3 = buildkite-agent; # added 2018-09-26
   bundler_HEAD = bundler; # added 2015-11-15
   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
@@ -187,6 +184,15 @@ mapAliases ({
   debian_devscripts = debian-devscripts; # added 2016-03-23
   deepin = throw "deepin was a work in progress and it has been canceled and removed https://github.com/NixOS/nixpkgs/issues/94870"; # added 2020-08-31
   deepspeech = throw "deepspeech was removed in favor of stt. https://github.com/NixOS/nixpkgs/issues/119496"; # added 2021-05-05
+  deltachat-electron = deltachat-desktop; # added 2021-07-18
+  deluge-1_x = throw ''
+    Deluge 1.x (deluge-1_x) is no longer supported.
+    Please use Deluge 2.x (deluge-2_x) instead, for example:
+
+        services.deluge.package = pkgs.deluge-2_x;
+
+    Note that it is NOT possible to switch back to Deluge 1.x after this change.
+  ''; # added 2021-08-18
   desktop_file_utils = desktop-file-utils; # added 2018-02-25
   devicemapper = lvm2; # added 2018-04-25
   digikam5 = digikam; # added 2017-02-18
@@ -212,6 +218,7 @@ mapAliases ({
   emacsPackages = emacs.pkgs; # added 2020-12-18
   emby = throw "The Emby derivation has been removed, see jellyfin instead for a free software fork."; # added 2019-05-01
   enblendenfuse = enblend-enfuse; # 2015-09-30
+  envelope = throw "envelope has been removed from nixpkgs, as it was unmaintained."; # added 2021-08-05
   esniper = throw "esniper has been removed because upstream no longer maintains it (and it no longer works)"; # added 2021-04-12
   evolution_data_server = evolution-data-server; # added 2018-02-25
   etcdctl = etcd; # added 2018-04-25
@@ -233,6 +240,7 @@ mapAliases ({
   flashplayer = throw "flashplayer has been removed as Adobe Flash Player is now deprecated."; # added 2021-02-07
   flashplayer-standalone = throw "flashplayer-standalone has been removed as Adobe Flash Player is now deprecated."; # added 2021-02-07
   flashplayer-standalone-debugger = throw "flashplayer-standalone-debugger has been removed as Adobe Flash Player is now deprecated."; # added 2021-02-07
+  flashtool = throw "flashtool was removed from nixpkgs, because the download is down for copyright reasons and the site looks very fishy"; # added 2021-06-31
   flink_1_5 = throw "flink_1_5 was removed, use flink instead"; # added 2021-01-25
   flutter-beta = throw "Non-stable versions of Flutter have been removed. You can use flutterPackages.mkFlutter to generate a package for other Flutter versions."; # added 2020-01-15
   flutter-dev = throw "Non-stable versions of Flutter have been removed. You can use flutterPackages.mkFlutter to generate a package for other Flutter versions."; # added 2020-01-15
@@ -339,7 +347,9 @@ mapAliases ({
   hicolor_icon_theme = hicolor-icon-theme; # added 2018-02-25
   ht-rust = xh; # added 2021-02-13
   htmlTidy = html-tidy;  # added 2014-12-06
+  hydra-flakes = throw "hydra-flakes: Flakes support has been merged into Hydra's master. Please use `hydra-unstable` now."; # added 2020-04-06
   iana_etc = iana-etc;  # added 2017-03-08
+  iasl = throw "iasl has been removed, use acpica-tools instead"; # added 2021-08-08
   icedtea8_web = adoptopenjdk-icedtea-web; # added 2019-08-21
   icedtea_web = adoptopenjdk-icedtea-web; # added 2019-08-21
   idea = jetbrains; # added 2017-04-03
@@ -377,6 +387,7 @@ mapAliases ({
   keepassx-community = keepassxc; # added 2017-11
   keepassx-reboot = keepassx-community; # added 2017-02-01
   keepassx2-http = keepassx-reboot; # added 2016-10-17
+  kexectools = kexec-tools; # added 2021-09-03
   keybase-go = keybase;  # added 2016-08-24
   kinetic-cpp-client = throw "kinetic-cpp-client has been removed from nixpkgs, as it's abandoned."; # 2020-04-28
   kicad-with-packages3d = kicad; # added 2019-11-25
@@ -384,11 +395,12 @@ mapAliases ({
   kino = throw "kino has been removed because it was broken and abandoned"; # added 2021-04-25
   krename-qt5 = krename; # added 2017-02-18
   kerberos = libkrb5; # moved from top-level 2021-03-14
-  keymon = throw "keymon has been removed from nixpkgs, as it's abandoned and archived."; # 2019-12-10
+  keymon = throw "keymon has been removed from nixpkgs, as it's abandoned and archived."; # added 2019-12-10
   kramdown-rfc2629 = rubyPackages.kramdown-rfc2629; # added 2021-03-23
   kvm = qemu_kvm; # added 2018-04-25
   latinmodern-math = lmmath;
   letsencrypt = certbot; # added 2016-05-16
+  leksah = throw "To use leksah, refer to the instructions in https://github.com/leksah/leksah."; # added 2019-04-28
   libaudit = audit; # added 2018-04-25
   libcanberra_gtk2 = libcanberra-gtk2; # added 2018-02-25
   libcanberra_gtk3 = libcanberra-gtk3; # added 2018-02-25
@@ -419,6 +431,7 @@ mapAliases ({
   libqrencode = qrencode;  # added 2019-01-01
   librdf = lrdf; # added 2020-03-22
   librecad2 = librecad;  # backwards compatibility alias, added 2015-10
+  librsync_0_9 = throw "librsync_0_9 has been removed"; # added 2021-07-24
   libseat = seatd; # added 2021-06-24
   libsysfs = sysfsutils; # added 2018-04-25
   libtidy = html-tidy;  # added 2014-12-21
@@ -446,6 +459,20 @@ mapAliases ({
   linuxPackages_xen_dom0_hardened = linuxPackages_hardened;
   linuxPackages_latest_xen_dom0_hardened = linuxPackages_latest_hardened;
 
+  # added 2021-08-16
+  linuxPackages_latest_hardened = throw ''
+    The attribute `linuxPackages_hardened_latest' was dropped because the hardened patches
+    frequently lag behind the upstream kernel. In some cases this meant that this attribute
+    had to refer to an older kernel[1] because the latest hardened kernel was EOL and
+    the latest supported kernel didn't have patches.
+
+    If you want to use a hardened kernel, please check which kernel minors are supported
+    and use a versioned attribute, e.g. `linuxPackages_5_10_hardened'.
+
+    [1] for more context: https://github.com/NixOS/nixpkgs/pull/133587
+  '';
+  linux_latest_hardened = linuxPackages_latest_hardened;
+
   linux-steam-integration = throw "linux-steam-integration has been removed, as the upstream project has been abandoned"; # added 2020-05-22
   loadcaffe = throw "loadcaffe has been removed, as the upstream project has been abandoned"; # added 2020-03-28
   lobster-two = google-fonts; # added 2021-07-22
@@ -458,6 +485,7 @@ mapAliases ({
   lxappearance-gtk3 = throw "lxappearance-gtk3 has been removed. Use lxappearance instead, which now defaults to Gtk3";  # added 2020-06-03
   lzma = xz; # moved from top-level 2021-03-14
   m3d-linux = m33-linux; # added 2016-08-13
+  mail-notification = throw "mail-notification has been removed from nixpkgs, as it's unmaintained and has dependencies on old gnome libraries we want to remove"; # added 2021-08-21
   man_db = man-db; # added 2016-05
   manpages = man-pages; # added 2015-12-06
   marathon = throw "marathon has been removed from nixpkgs, as it's unmaintained"; # added 2020-08-15
@@ -471,7 +499,9 @@ mapAliases ({
   mess = mame; # added 2019-10-30
   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
-  mirage = throw "mirage has been femoved from nixpkgs, as it's unmaintained"; # added 2019-12-10
+  mirage = throw "mirage has been removed from nixpkgs, as it's unmaintained"; # added 2019-12-10
+  minergate = throw "minergate has been removed from nixpkgs, because the package is unmaintained and the site has a bad reputation"; # added 2021-08-13
+  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
   mopidy-gmusic = throw "mopidy-gmusic has been removed because Google Play Music was discontinued"; # added 2021-03-07
   mopidy-local-images = throw "mopidy-local-images has been removed as it's unmaintained. It's functionality has been merged into the mopidy-local extension."; # added 2020-10-18
   mopidy-local-sqlite = throw "mopidy-local-sqlite has been removed as it's unmaintained. It's functionality has been merged into the mopidy-local extension."; # added 2020-10-18
@@ -521,15 +551,21 @@ mapAliases ({
   nix-review = nixpkgs-review; # added 2019-12-22
   nixFlakes = nixUnstable; # added 2021-05-21
   nmap_graphical = nmap-graphical;  # added 2017-01-19
+  nmap-unfree = nmap; # added 2021-04-06
   nologin = shadow; # added 2018-04-25
   nordic-polar = throw "nordic-polar was removed on 2021-05-27, now integrated in nordic"; # added 2021-05-27
+  now-cli = throw "now-cli has been replaced with nodePackages.vercel"; # added 2021-08-05
   nxproxy = nx-libs; # added 2019-02-15
   nylas-mail-bin = throw "nylas-mail-bin was deprecated on 2019-09-11: abandoned by upstream";
   oauth2_proxy = oauth2-proxy; # added 2021-04-18
   opencascade_oce = opencascade; # added 2018-04-25
   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
+  ofp = throw "ofp is not compatible with odp-dpdk";
+  olifant = throw "olifant has been removed from nixpkgs, as it was unmaintained."; # added 2021-08-05
   opencl-icd = ocl-icd; # added 2017-01-20
   openconnect_pa = throw "openconnect_pa fork has been discontinued, support for GlobalProtect is now available in openconnect"; # added 2021-05-21
+  openelec-dvb-firmware = libreelec-dvb-firmware; # added 2021-05-10
   openexr_ctl = ctl; # added 2018-04-25
   openisns = open-isns; # added 2020-01-28
   openjpeg_1 = throw "openjpeg_1 has been removed, use openjpeg_2 instead"; # added 2021-01-24
@@ -544,9 +580,11 @@ mapAliases ({
   owncloudclient = owncloud-client;  # added 2016-08
   ocz-ssd-guru = throw "ocz-ssd-guru has been removed due to there being no source available"; # added 2021-07-12
   p11_kit = p11-kit; # added 2018-02-25
+  paperless = paperless-ng; # added 2021-06-06
   parity = openethereum; # added 2020-08-01
   parquet-cpp = arrow-cpp; # added 2018-09-08
   pass-otp = pass.withExtensions (ext: [ext.pass-otp]); # added 2018-05-04
+  pdfread = throw "pdfread has been remove because it is unmaintained for years and the sources are no longer available"; # added 2021-07-22
   pdf2htmlEx = throw "pdf2htmlEx has been removed from nixpkgs, as it was unmaintained"; # added 2020-11-03
   perlXMLParser = perlPackages.XMLParser; # added 2018-10-12
   perlArchiveCpio = perlPackages.ArchiveCpio; # added 2018-10-12
@@ -649,6 +687,7 @@ mapAliases ({
   privateer = throw "privateer was removed because it was broken"; # added 2021-05-18
   processing3 = processing; # added 2019-08-16
   procps-ng = procps; # added 2018-06-08
+  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
   pygmentex = texlive.bin.pygmentex; # added 2019-12-15
@@ -670,9 +709,11 @@ 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
   quake3game = ioquake3; # added 2016-01-14
+  quilter = throw "quilter has been removed from nixpkgs, as it was unmaintained."; # added 2021-08-03
   qvim = throw "qvim has been removed."; # added 2020-08-31
   qweechat = throw "qweechat has been removed because it was broken"; # added 2021-03-08
   qwt6 = libsForQt5.qwt;  # added 2015-12-19
+  qtkeychain = throw "the qtkeychain attribute (qt4 version) has been removes, use the qt5 version: libsForQt5.qtkeychain"; # added 2021-08-04
   qtcurve = libsForQt5.qtcurve;  # added 2020-11-07
   qtpfsgui = throw "qtpfsgui is now luminanceHDR"; # added 2019-06-26
   quaternion-git = throw "quaternion-git has been removed in favor of the stable version 'quaternion'"; # added 2020-04-09
@@ -700,6 +741,8 @@ mapAliases ({
   radare2-cutter = cutter; # added 2021-03-30
   redkite = throw "redkite was archived by upstream"; # added 2021-04-12
   rkt = throw "rkt was archived by upstream"; # added 2020-05-16
+  rpiboot-unstable = rpiboot; # added 2021-07-30
+  rtv = throw "rtv was archived by upstream. Consider using tuir, an actively maintained fork"; # added 2021-08-08
   ruby_2_0_0 = throw "ruby_2_0_0 was deprecated on 2018-02-13: use a newer version of ruby";
   ruby_2_1_0 = throw "ruby_2_1_0 was deprecated on 2018-02-13: use a newer version of ruby";
   ruby_2_2_9 = throw "ruby_2_2_9 was deprecated on 2018-02-13: use a newer version of ruby";
@@ -711,6 +754,8 @@ mapAliases ({
   rubyPackages_2_5 = throw "rubyPackages_2_5 was deprecated in 2021-02: use a newer version of rubyPackages instead";
   rubygems = throw "rubygems was deprecated on 2016-03-02: rubygems is now bundled with ruby";
   rubyMinimal = throw "rubyMinimal was removed due to being unused";
+  runCommandNoCC = runCommand;
+  runCommandNoCCLocal = runCommandLocal;
   runwayml = throw "runwayml is now a webapp"; # added 2021-04-17
   rxvt_unicode-with-plugins = rxvt-unicode; # added 2020-02-02
   rxvt_unicode = rxvt-unicode-unwrapped; # added 2020-02-02
@@ -753,6 +798,7 @@ mapAliases ({
   sky = throw "sky has been removed from nixpkgs (2020-09-16)";
   skype = skypeforlinux; # added 2017-07-27
   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
+  skype4pidgin = throw "skype4pidgin has been remove from nixpkgs, because it stopped working when classic Skype was retired."; # added 2021-07-14
   skydive = throw "skydive has been removed from nixpkgs (2019-09-10)";
   slack-dark = slack; # added 2020-03-27
   slic3r-prusa3d = prusa-slicer; # added 2019-05-21
@@ -831,6 +877,7 @@ mapAliases ({
   telepathy_qt5 = libsForQt5.telepathy;  # added 2015-12-19
   telepathy_salut = telepathy-salut; # added 2018-02-25
   telnet = inetutils; # added 2018-05-15
+  terminus = throw "terminus has been removed, it was unmaintained in nixpkgs"; # added 2021-08-21
   terraform_1_0_0 = terraform_1_0; # added 2021-06-15
   terraform-provider-ibm = terraform-providers.ibm; # added 2018-09-28
   terraform-provider-libvirt = terraform-providers.libvirt; # added 2018-09-28
@@ -861,6 +908,7 @@ mapAliases ({
   truecrypt = veracrypt; # added 2018-10-24
   tshark = wireshark-cli; # added 2018-04-25
   tuijam = throw "tuijam has been removed because Google Play Music was discontinued"; # added 2021-03-07
+  turbo-geth = throw "turbo-geth has been renamed to erigon"; # added 20201-08-08
   uberwriter = apostrophe; # added 2020-04-23
   ubootBeagleboneBlack = ubootAmx335xEVM; # added 2020-01-21
   ucsFonts = ucs-fonts; # added 2016-07-15
@@ -877,6 +925,8 @@ mapAliases ({
   v8_3_16_14 = throw "v8_3_16_14 was removed in 2019-11-01: no longer referenced by other packages";
   valadoc = throw "valadoc was deprecated on 2019-10-10: valadoc was merged into vala 0.38";
   vamp = { vampSDK = vamp-plugin-sdk; }; # added 2020-03-26
+  varnish62 = throw "varnish62 was removed from nixpkgs, because it is unmaintained upstream. Please switch to a different release."; # 2021-07-26
+  varnish63 = throw "varnish63 was removed from nixpkgs, because it is unmaintained upstream. Please switch to a different release."; # 2021-07-26
   venus = throw "venus has been removed from nixpkgs, as it's unmaintained"; # added 2021-02-05
   vdirsyncerStable  = vdirsyncer; # added 2020-11-08, see https://github.com/NixOS/nixpkgs/issues/103026#issuecomment-723428168
   vimbWrapper = vimb; # added 2015-01
@@ -887,13 +937,16 @@ mapAliases ({
   virtmanager-qt = virt-manager-qt; # added 2019-10-29
   virtinst = throw "virtinst has been removed, as it's included in virt-manager"; # added 2021-07-21
   vorbisTools = vorbis-tools; # added 2016-01-26
+  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
   webkit = webkitgtk; # added 2019-03-05
   webkitgtk24x-gtk3 = throw "webkitgtk24x-gtk3 has been removed because it's insecure. Please use webkitgtk."; # added 2019-12-05
   webkitgtk24x-gtk2 = throw "webkitgtk24x-gtk2 has been removed because it's insecure. Please use webkitgtk."; # added 2019-12-05
   weechat-matrix-bridge = weechatScripts.weechat-matrix-bridge; # added 2018-09-06
   wineStaging = wine-staging; # added 2018-01-08
   winusb = woeusb; # added 2017-12-22
+  winstone = throw "winstone is not supported anymore. Alternatives are Jetty or Tomcat."; # added 2019-05-14
   winswitch = throw "winswitch has been removed from nixpkgs."; # added 2019-12-10
+  wireshark-gtk = throw "wireshark-gtk is not supported anymore. Use wireshark-qt or wireshark-cli instead."; # added 2019-11-18
   wireguard = wireguard-tools; # added 2018-05-19
   morituri = whipper; # added 2018-09-13
   xp-pen-g430 = pentablet-driver; # added 2020-05-03
@@ -962,12 +1015,9 @@ mapAliases ({
     ocamlPackages_4_03
     ocamlPackages_latest;
 
-  # added 2019-08-01
-  mumble_git = pkgs.mumble;
-  murmur_git = pkgs.murmur;
-
-  # added 2020-08-17
-  zabbix44 = throw "zabbix44: Zabbix 4.4 is end of life, see https://www.zabbix.com/documentation/current/manual/installation/upgrade_notes_500 for details on upgrading to Zabbix 5.0.";
+  mumble_git = pkgs.mumble; # added 2019-08-01
+  murmur_git = pkgs.murmur; # added 2019-08-01
+  zabbix44 = throw "zabbix44: Zabbix 4.4 is end of life, see https://www.zabbix.com/documentation/current/manual/installation/upgrade_notes_500 for details on upgrading to Zabbix 5.0."; # added 2020-08-17
 
   # added 2019-09-06
   zeroc_ice = pkgs.zeroc-ice;
@@ -982,16 +1032,10 @@ mapAliases ({
   ocaml_4_03   = ocamlPackages_4_03.ocaml;
 }) // {
 
-  # added 2019-10-28
-  gnatsd = nats-server;
-
-  # added 2020-01-10
-  tor-browser-bundle = throw "tor-browser-bundle was removed because it was out of date and inadequately maintained. Please use tor-browser-bundle-bin instead. See #77452.";
-  # added 2020-01-10
-  tor-browser-unwrapped = throw "tor-browser-unwrapped was removed because it was out of date and inadequately maintained. Please use tor-browser-bundle-bin instead. See #77452.";
-
-  # added 2020-02-09
-  dina-font-pcf = dina-font;
+  gnatsd = nats-server; # added 2019-10-28
+  tor-browser-bundle = throw "tor-browser-bundle was removed because it was out of date and inadequately maintained. Please use tor-browser-bundle-bin instead. See #77452."; # added 2020-01-10
+  tor-browser-unwrapped = throw "tor-browser-unwrapped was removed because it was out of date and inadequately maintained. Please use tor-browser-bundle-bin instead. See #77452."; # added 2020-01-10
+  dina-font-pcf = dina-font; # added 2020-02-09
 
   # added 2019-04-13
   # *-polly pointed to llvmPackages_latest
@@ -1007,9 +1051,7 @@ mapAliases ({
 
   dnscrypt-proxy = throw "dnscrypt-proxy has been removed. Please use dnscrypt-proxy2."; # added 2020-02-02
   sqldeveloper_18 = throw "sqldeveloper_18 is not maintained anymore!"; # added 2020-02-04
-
   gcc-snapshot = throw "gcc-snapshot: Marked as broken for >2 years, additionally this 'snapshot' pointed to a fairly old one from gcc7.";
-
   todolist = throw "todolist is now ultralist."; # added 2020-12-27
 
   /* Cleanup before 21.05 */
@@ -1110,7 +1152,7 @@ mapAliases ({
     kgamma5
     kinfocenter
     kmenuedit
-    kscreen kscreenlocker ksshaskpass ksysguard
+    kscreen kscreenlocker ksshaskpass
     kwallet-pam kwayland-integration kwin kwrited
     milou
     oxygen
diff --git a/nixpkgs/pkgs/top-level/all-packages.nix b/nixpkgs/pkgs/top-level/all-packages.nix
index 3116adb5eba9..c5d0c1957b60 100644
--- a/nixpkgs/pkgs/top-level/all-packages.nix
+++ b/nixpkgs/pkgs/top-level/all-packages.nix
@@ -10,19 +10,6 @@ res: pkgs: super:
 
 with pkgs;
 
-let
-  self =
-    builtins.trace ''
-        It seems that you are using a patched Nixpkgs that references the self
-        variable in pkgs/top-level/all-packages.nix. This variable was incorrectly
-        named, so its usage needs attention. Please use pkgs for packages or super
-        for functions.
-      ''
-      res; # Do *NOT* use res in your fork. It will be removed.
-
-  # TODO: turn self into an error
-
-in
 {
 
   # A stdenv capable of building 32-bit binaries.  On x86_64-linux,
@@ -174,6 +161,8 @@ in
 
   addOpenGLRunpath = callPackage ../build-support/add-opengl-runpath { };
 
+  aether = callPackage ../applications/networking/aether { };
+
   alda = callPackage ../development/interpreters/alda { };
 
   althttpd = callPackage ../servers/althttpd { };
@@ -239,6 +228,8 @@ in
 
   cen64 = callPackage ../misc/emulators/cen64 { };
 
+  uxn = callPackage ../misc/emulators/uxn { };
+
   cereal = callPackage ../development/libraries/cereal { };
 
   cewl = callPackage ../tools/security/cewl { };
@@ -269,6 +260,8 @@ in
 
   comedilib = callPackage ../development/libraries/comedilib {  };
 
+  commitlint = nodePackages."@commitlint/cli";
+
   containerpilot = callPackage ../applications/networking/cluster/containerpilot { };
 
   coordgenlibs  = callPackage ../development/libraries/coordgenlibs { };
@@ -317,6 +310,8 @@ in
 
   protoc-gen-go-grpc = callPackage ../development/tools/protoc-gen-go-grpc { };
 
+  protoc-gen-grpc-web = callPackage ../development/tools/protoc-gen-grpc-web { };
+
   protoc-gen-twirp = callPackage ../development/tools/protoc-gen-twirp { };
 
   protoc-gen-twirp_php = callPackage ../development/tools/protoc-gen-twirp_php { };
@@ -367,6 +362,7 @@ in
   dockerTools = callPackage ../build-support/docker {
     writePython3 = buildPackages.writers.writePython3;
   };
+  tarsum = callPackage ../build-support/docker/tarsum.nix { };
 
   snapTools = callPackage ../build-support/snap { };
 
@@ -589,6 +585,7 @@ in
 
   fetchNuGet = callPackage ../build-support/fetchnuget { };
   buildDotnetPackage = callPackage ../build-support/build-dotnet-package { };
+  nuget-to-nix = callPackage ../build-support/nuget-to-nix { };
 
   fetchgx = callPackage ../build-support/fetchgx { };
 
@@ -656,6 +653,8 @@ in
 
   singularity-tools = callPackage ../build-support/singularity-tools { };
 
+  sirula = callPackage ../tools/wayland/sirula { };
+
   srcOnly = callPackage ../build-support/src-only { };
 
   substituteAll = callPackage ../build-support/substitute/substitute-all.nix { };
@@ -868,12 +867,18 @@ in
     inherit (plasma5Packages) kdialog;
   };
 
+  akku = callPackage ../tools/package-management/akku { };
+
   albert = libsForQt5.callPackage ../applications/misc/albert {};
 
+  arch-install-scripts = callPackage ../tools/misc/arch-install-scripts {};
+
   auditwheel = callPackage ../tools/package-management/auditwheel { };
 
   amidst = callPackage ../tools/games/minecraft/amidst { };
 
+  cope = callPackage ../tools/misc/cope { };
+
   gamemode = callPackage ../tools/games/gamemode {
     libgamemode32 = pkgsi686Linux.gamemode.lib;
   };
@@ -894,6 +899,8 @@ in
 
   redfang = callPackage ../tools/networking/redfang { };
 
+  sx-go = callPackage ../tools/security/sx-go { };
+
   tfk8s = callPackage ../tools/misc/tfk8s { };
 
   tnat64 = callPackage ../tools/networking/tnat64 { };
@@ -1015,16 +1022,16 @@ in
 
   terminator = callPackage ../applications/terminal-emulators/terminator { };
 
-  terminus = callPackage ../applications/terminal-emulators/terminus { };
+  terminal-colors = callPackage ../applications/misc/terminal-colors { };
 
   termite = callPackage ../applications/terminal-emulators/termite/wrapper.nix {
     termite = termite-unwrapped;
   };
   termite-unwrapped = callPackage ../applications/terminal-emulators/termite { };
 
-  termonad-with-packages = callPackage ../applications/terminal-emulators/termonad {
-    inherit (haskellPackages) ghcWithPackages;
-  };
+  termonad-with-packages = callPackage ../applications/terminal-emulators/termonad { };
+
+  termonad = termonad-with-packages;
 
   termsyn = callPackage ../data/fonts/termsyn { };
 
@@ -1105,6 +1112,10 @@ in
 
   apksigcopier = callPackage ../development/tools/apksigcopier { };
 
+  apksigner = callPackage ../development/tools/apksigner {
+    inherit (androidenv.androidPkgs_9_0) build-tools;
+  };
+
   apktool = callPackage ../development/tools/apktool {
     inherit (androidenv.androidPkgs_9_0) build-tools;
   };
@@ -1126,6 +1137,8 @@ in
 
   ArchiSteamFarm = callPackage ../applications/misc/ArchiSteamFarm { };
 
+  archivebox = python3Packages.callPackage ../applications/misc/archivebox { };
+
   archivemount = callPackage ../tools/filesystems/archivemount { };
 
   archivy = python3Packages.callPackage ../applications/misc/archivy { };
@@ -1141,13 +1154,15 @@ in
 
   arduino = arduino-core.override { withGui = true; };
 
-  arduino-ci = callPackage ../development/arduino/arduino-ci { };
+  arduino-ci = callPackage ../development/embedded/arduino/arduino-ci { };
+
+  arduino-cli = callPackage ../development/embedded/arduino/arduino-cli { };
 
-  arduino-cli = callPackage ../development/arduino/arduino-cli { };
+  arduino-core = callPackage ../development/embedded/arduino/arduino-core { };
 
-  arduino-core = callPackage ../development/arduino/arduino-core { };
+  arduino-mk = callPackage ../development/embedded/arduino/arduino-mk {};
 
-  arduino-mk = callPackage ../development/arduino/arduino-mk {};
+  apio = python3Packages.callPackage ../development/embedded/fpga/apio { };
 
   apitrace = libsForQt514.callPackage ../applications/graphics/apitrace {};
 
@@ -1331,6 +1346,8 @@ in
 
   bisq-desktop = callPackage ../applications/blockchains/bisq-desktop { };
 
+  bic = callPackage ../development/interpreters/bic { };
+
   bit = callPackage ../applications/version-management/git-and-tools/bit { };
 
   bitwarden = callPackage ../tools/security/bitwarden { };
@@ -1339,6 +1356,8 @@ in
 
   inherit (nodePackages) hyperspace-cli;
 
+  bklk = callPackage ../applications/misc/bklk { };
+
   bkyml = callPackage ../tools/misc/bkyml { };
 
   blockbench-electron = callPackage ../applications/graphics/blockbench-electron { };
@@ -1401,6 +1420,8 @@ in
 
   codeql = callPackage ../development/tools/analysis/codeql { };
 
+  corearchiver = libsForQt5.callPackage ../tools/archivers/corearchiver { };
+
   container-linux-config-transpiler = callPackage ../development/tools/container-linux-config-transpiler { };
 
   fedora-backgrounds = callPackage ../data/misc/fedora-backgrounds { };
@@ -1435,7 +1456,7 @@ in
     inherit (darwin.apple_sdk.frameworks) PCSC;
   };
 
-  cozy = callPackage ../applications/audio/cozy-audiobooks { };
+  cozy = callPackage ../applications/audio/cozy { };
 
   cpuid = callPackage ../os-specific/linux/cpuid { };
 
@@ -1459,12 +1480,13 @@ in
 
   deltachat-cursed = callPackage ../applications/networking/instant-messengers/deltachat-cursed { };
 
-  deltachat-electron = callPackage
-    ../applications/networking/instant-messengers/deltachat-electron { };
+  deltachat-desktop = callPackage ../applications/networking/instant-messengers/deltachat-desktop {
+    inherit (darwin.apple_sdk.frameworks) CoreServices;
+  };
 
   deskew = callPackage ../applications/graphics/deskew { };
 
-  detect-secrets = python3Packages.callPackage ../development/tools/detect-secrets { };
+  detect-secrets = with python3Packages; toPythonApplication detect-secrets;
 
   dfmt = callPackage ../tools/text/dfmt { };
 
@@ -1494,6 +1516,8 @@ in
 
   ecdsautils = callPackage ../tools/security/ecdsautils { };
 
+  echidna = haskell.lib.justStaticExecutables (haskellPackages.callPackage (../tools/security/echidna) { });
+
   sedutil = callPackage ../tools/security/sedutil { };
 
   elvish = callPackage ../shells/elvish { };
@@ -1632,6 +1656,8 @@ in
 
   hostctl = callPackage ../tools/system/hostctl { };
 
+  hp2p = callPackage ../tools/networking/hp2p { };
+
   hpe-ltfs = callPackage ../tools/backup/hpe-ltfs { };
 
   http2tcp = callPackage ../tools/networking/http2tcp { };
@@ -1658,6 +1684,8 @@ in
 
   lsix = callPackage ../tools/graphics/lsix { };
 
+  mdr = callPackage ../tools/misc/mdr { };
+
   mpdevil = callPackage ../applications/audio/mpdevil { };
 
   pacparser = callPackage ../tools/networking/pacparser { };
@@ -1747,7 +1775,7 @@ in
   xcodeenv = callPackage ../development/mobile/xcodeenv { };
 
   gomobile = callPackage ../development/mobile/gomobile {
-    buildGoModule = buildGo115Module;
+    buildGoModule = buildGo116Module;
   };
 
   ssh-agents = callPackage ../tools/networking/ssh-agents { };
@@ -1854,11 +1882,6 @@ in
     inherit (darwin.apple_sdk.frameworks) IOKit;
   };
 
-  azureus = callPackage ../tools/networking/p2p/azureus {
-    jdk = jdk8;
-    swt = swt_jdk8;
-  };
-
   b3sum = callPackage ../tools/security/b3sum {};
 
   backblaze-b2 = callPackage ../development/tools/backblaze-b2 { };
@@ -1909,8 +1932,6 @@ in
 
   bdf2sfd = callPackage ../tools/misc/bdf2sfd { };
 
-  bcat = callPackage ../tools/text/bcat {};
-
   bcache-tools = callPackage ../tools/filesystems/bcache-tools { };
 
   bchunk = callPackage ../tools/cd-dvd/bchunk { };
@@ -1991,8 +2012,8 @@ in
   };
 
   libtensorflow =
-    if python.pkgs.tensorflow ? libtensorflow
-    then python.pkgs.tensorflow.libtensorflow
+    if python3.pkgs.tensorflow ? libtensorflow
+    then python3.pkgs.tensorflow.libtensorflow
     else libtensorflow-bin;
 
   libtorch-bin = callPackage ../development/libraries/science/math/libtorch/bin.nix {
@@ -2029,7 +2050,9 @@ in
 
   boca = callPackage ../development/libraries/boca { };
 
-  bochs = callPackage ../applications/virtualization/bochs { };
+  bochs = callPackage ../applications/virtualization/bochs {
+    wxGTK = wxGTK30;
+  };
 
   bubblewrap = callPackage ../tools/admin/bubblewrap { };
 
@@ -2057,6 +2080,8 @@ in
   bozohttpd = callPackage ../servers/http/bozohttpd { };
   bozohttpd-minimal = callPackage ../servers/http/bozohttpd { minimal = true; };
 
+  bpb = callPackage ../tools/security/bpb { };
+
   bpytop = callPackage ../tools/system/bpytop { };
 
   brasero-original = lowPrio (callPackage ../tools/cd-dvd/brasero { });
@@ -2163,6 +2188,8 @@ in
 
   traefik = callPackage ../servers/traefik { };
 
+  traefik-certs-dumper = callPackage ../tools/misc/traefik-certs-dumper { };
+
   calamares = libsForQt514.callPackage ../tools/misc/calamares {
     python = python3;
     boost = pkgs.boost.override { python = python3; };
@@ -2219,6 +2246,8 @@ in
 
   croc = callPackage ../tools/networking/croc { };
 
+  cbftp = callPackage ../tools/networking/cbftp { };
+
   cddl = callPackage ../development/tools/cddl { };
 
   cedille = callPackage ../applications/science/logic/cedille
@@ -2539,10 +2568,14 @@ in
 
   dino = callPackage ../applications/networking/instant-messengers/dino { };
 
+  djv = callPackage ../applications/graphics/djv { };
+
   dlx = callPackage ../misc/emulators/dlx { };
 
   dgen-sdl = callPackage ../misc/emulators/dgen-sdl { };
 
+  dnschef = python3Packages.callPackage ../tools/networking/dnschef { };
+
   doitlive = callPackage ../tools/misc/doitlive { };
 
   dokuwiki = callPackage ../servers/web-apps/dokuwiki { };
@@ -2619,7 +2652,13 @@ in
 
   element = callPackage ../applications/science/chemistry/element { };
 
-  element-desktop = callPackage ../applications/networking/instant-messengers/element/element-desktop.nix { };
+  element-desktop = callPackage ../applications/networking/instant-messengers/element/element-desktop.nix {
+    inherit (darwin.apple_sdk.frameworks) Security AppKit CoreServices;
+    electron = electron_13;
+  };
+  element-desktop-wayland = element-desktop.override {
+    useWayland = true;
+  };
 
   element-web = callPackage ../applications/networking/instant-messengers/element/element-web.nix {
     conf = config.element-web.conf or {};
@@ -2851,6 +2890,8 @@ in
 
   gping = callPackage ../tools/networking/gping { };
 
+  gpu-burn = callPackage ../applications/misc/gpu-burn { };
+
   greg = callPackage ../applications/audio/greg {
     pythonPackages = python3Packages;
   };
@@ -2919,6 +2960,8 @@ in
 
   inklecate = callPackage ../development/compilers/inklecate {};
 
+  interactsh = callPackage ../tools/misc/interactsh { };
+
   interlock = callPackage ../servers/interlock {};
 
   iotools = callPackage ../tools/misc/iotools { };
@@ -2969,6 +3012,8 @@ in
 
   lepton = callPackage ../tools/graphics/lepton { };
 
+  lepton-eda = callPackage ../applications/science/electronics/lepton-eda { };
+
   lexicon = callPackage ../tools/admin/lexicon { };
 
   lief = callPackage ../development/libraries/lief {
@@ -3081,6 +3126,8 @@ in
 
   moodle-dl = callPackage ../tools/networking/moodle-dl { };
 
+  moonraker = callPackage ../servers/moonraker { };
+
   mousetweaks = callPackage ../applications/accessibility/mousetweaks {
     inherit (pkgs.xorg) libX11 libXtst libXfixes;
   };
@@ -3165,6 +3212,8 @@ in
 
   odafileconverter = libsForQt5.callPackage ../applications/graphics/odafileconverter {};
 
+  ossutil = callPackage ../tools/admin/ossutil {};
+
   pastel = callPackage ../applications/misc/pastel {
     inherit (darwin.apple_sdk.frameworks) Security;
   };
@@ -3228,6 +3277,8 @@ in
 
   psrecord = python3Packages.callPackage ../tools/misc/psrecord {};
 
+  reg = callPackage ../tools/virtualization/reg { };
+
   river = callPackage ../applications/window-managers/river { };
 
   rmapi = callPackage ../applications/misc/remarkable/rmapi { };
@@ -3316,6 +3367,8 @@ in
 
   razergenie = libsForQt5.callPackage ../applications/misc/razergenie { };
 
+  replay-sorcery = callPackage ../tools/video/replay-sorcery { };
+
   ring-daemon = callPackage ../applications/networking/instant-messengers/ring-daemon { };
 
   ripasso-cursive = callPackage ../tools/security/ripasso/cursive.nix {
@@ -3523,9 +3576,7 @@ in
   birdfont = callPackage ../tools/misc/birdfont { };
   xmlbird = callPackage ../tools/misc/birdfont/xmlbird.nix { stdenv = gccStdenv; };
 
-  blastem = callPackage ../misc/emulators/blastem {
-    inherit (python27Packages) pillow;
-  };
+  blastem = callPackage ../misc/emulators/blastem { };
 
   blueberry = callPackage ../tools/bluetooth/blueberry { };
 
@@ -3541,9 +3592,7 @@ in
 
   bsdiff = callPackage ../tools/compression/bsdiff { };
 
-  btar = callPackage ../tools/backup/btar {
-    librsync = librsync_0_9;
-  };
+  btar = callPackage ../tools/backup/btar { };
 
   bud = callPackage ../tools/networking/bud { };
 
@@ -3665,6 +3714,8 @@ in
 
   cicero-tui = callPackage ../tools/misc/cicero-tui { };
 
+  cilium-cli = callPackage ../applications/networking/cluster/cilium { };
+
   cipherscan = callPackage ../tools/security/cipherscan {
     openssl = if stdenv.hostPlatform.system == "x86_64-linux"
       then openssl-chacha
@@ -3746,8 +3797,9 @@ in
   convertlit = callPackage ../tools/text/convertlit { };
 
   collectd = callPackage ../tools/system/collectd {
-    libsigrok = libsigrok-0-3-0; # not compatible with >= 0.4.0 yet
+    libsigrok = libsigrok_0_3; # not compatible with >= 0.4.0 yet
     jdk = jdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
+    inherit (darwin.apple_sdk.frameworks) IOKit;
   };
 
   collectd-data = callPackage ../tools/system/collectd/data.nix { };
@@ -3758,7 +3810,9 @@ in
 
   cpuminer-multi = callPackage ../tools/misc/cpuminer-multi { };
 
-  cryptpad = callPackage ../servers/web-apps/cryptpad { };
+  cryptpad = callPackage ../servers/web-apps/cryptpad {
+    nodejs = nodejs-12_x;
+  };
 
   ethash = callPackage ../development/libraries/ethash { };
 
@@ -3896,8 +3950,16 @@ in
                                                                         qtbase = qt5.qtbase;
                                                                       };
 
+  coregarage = libsForQt5.callPackage ../applications/misc/coregarage { };
+
+  coreshot = libsForQt5.callPackage ../tools/misc/coreshot { };
+
   c14 = callPackage ../applications/networking/c14 { };
 
+  corehunt = libsForQt5.callPackage ../applications/misc/corehunt { };
+
+  coretoppings = libsForQt5.callPackage ../applications/misc/coretoppings { };
+
   certstrap = callPackage ../tools/security/certstrap { };
 
   cfssl = callPackage ../tools/security/cfssl { };
@@ -3906,6 +3968,8 @@ in
     inherit (darwin.apple_sdk.frameworks) Foundation;
   };
 
+  changetower = callPackage ../tools/networking/changetower { };
+
   checkbashisms = callPackage ../development/tools/misc/checkbashisms { };
 
   civetweb = callPackage ../development/libraries/civetweb { };
@@ -3934,6 +3998,8 @@ in
 
   cloud-utils = callPackage ../tools/misc/cloud-utils { };
 
+  cloudlist = callPackage ../tools/security/cloudlist { };
+
   cobalt = callPackage ../applications/misc/cobalt {
     inherit (darwin.apple_sdk.frameworks) CoreServices;
   };
@@ -3950,6 +4016,10 @@ in
 
   compass = callPackage ../development/tools/compass { };
 
+  cone = callPackage ../development/compilers/cone {
+    llvmPackages = llvmPackages_7;
+  };
+
   conda = callPackage ../tools/package-management/conda { };
 
   console-bridge = callPackage ../development/libraries/console-bridge { };
@@ -4063,6 +4133,8 @@ in
 
   daemonize = callPackage ../tools/system/daemonize { };
 
+  danger-gitlab = callPackage ../applications/version-management/danger-gitlab { };
+
   daq = callPackage ../applications/networking/ids/daq { };
 
   dar = callPackage ../tools/backup/dar { };
@@ -4147,10 +4219,6 @@ in
     pythonPackages = python3Packages;
     libtorrent-rasterbar = libtorrent-rasterbar-1_2_x.override { python = python3; };
   };
-  deluge-1_x = callPackage ../applications/networking/p2p/deluge/1.nix {
-    pythonPackages = python2Packages;
-    libtorrent-rasterbar = libtorrent-rasterbar-1_1_x;
-  };
   deluge = deluge-2_x;
 
   desktop-file-utils = callPackage ../tools/misc/desktop-file-utils { };
@@ -4173,6 +4241,8 @@ in
 
   dnsmasq = callPackage ../tools/networking/dnsmasq { };
 
+  dnspeep = callPackage ../tools/security/dnspeep { };
+
   dnsproxy = callPackage ../tools/networking/dnsproxy { };
 
   dnsperf = callPackage ../tools/networking/dnsperf { };
@@ -4200,12 +4270,11 @@ in
   diff-so-fancy = callPackage ../applications/version-management/git-and-tools/diff-so-fancy { };
 
   diffoscopeMinimal = callPackage ../tools/misc/diffoscope {
-    inherit (androidenv.androidPkgs_9_0) build-tools;
     jdk = jdk8;
   };
 
   diffoscope = diffoscopeMinimal.override {
-    enableBloat = true;
+    enableBloat = !stdenv.isDarwin;
   };
 
   diffr = callPackage ../tools/text/diffr {
@@ -4214,6 +4283,8 @@ in
 
   diffstat = callPackage ../tools/text/diffstat { };
 
+  difftastic = callPackage ../tools/text/difftastic { };
+
   diffutils = callPackage ../tools/text/diffutils { };
 
   dir2opus = callPackage ../tools/audio/dir2opus {
@@ -4399,6 +4470,8 @@ in
     autoreconfHook = buildPackages.autoreconfHook269;
   };
 
+  emote = callPackage ../tools/inputmethods/emote { };
+
   engauge-digitizer = libsForQt5.callPackage ../applications/science/math/engauge-digitizer { };
 
   epubcheck = callPackage ../tools/text/epubcheck { };
@@ -4427,12 +4500,16 @@ in
 
   rar2fs = callPackage ../tools/filesystems/rar2fs { };
 
+  s9fes = callPackage ../development/interpreters/s9fes { };
+
   s-tar = callPackage ../tools/archivers/s-tar {};
 
   sonota = callPackage ../tools/misc/sonota { };
 
   sonobuoy = callPackage ../applications/networking/cluster/sonobuoy { };
 
+  soupault = callPackage ../tools/typesetting/soupault { };
+
   strawberry = libsForQt5.callPackage ../applications/audio/strawberry { };
 
   tealdeer = callPackage ../tools/misc/tealdeer {
@@ -4529,7 +4606,9 @@ in
 
   choose = callPackage ../tools/text/choose { };
 
-  emscripten = callPackage ../development/compilers/emscripten { };
+  emscripten = callPackage ../development/compilers/emscripten {
+    llvmPackages = llvmPackages_13;
+  };
 
   emscriptenPackages = recurseIntoAttrs (callPackage ./emscripten-packages.nix { });
 
@@ -4544,7 +4623,7 @@ in
   # The latest version used by elasticsearch, logstash, kibana and the the beats from elastic.
   # When updating make sure to update all plugins or they will break!
   elk6Version = "6.8.3";
-  elk7Version = "7.5.1";
+  elk7Version = "7.10.2";
 
   elasticsearch6 = callPackage ../servers/search/elasticsearch/6.x.nix {
     util-linux = util-linuxMinimal;
@@ -4557,12 +4636,12 @@ in
   };
   elasticsearch7 = callPackage ../servers/search/elasticsearch/7.x.nix {
     util-linux = util-linuxMinimal;
-    jre_headless = jre8_headless; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
+    jre_headless = jdk11_headless; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
   };
   elasticsearch7-oss = callPackage ../servers/search/elasticsearch/7.x.nix {
     enableUnfree = false;
     util-linux = util-linuxMinimal;
-    jre_headless = jre8_headless; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
+    jre_headless = jdk11_headless; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
   };
   elasticsearch = elasticsearch6;
   elasticsearch-oss = elasticsearch6-oss;
@@ -4857,7 +4936,9 @@ in
 
   libbtbb = callPackage ../development/libraries/libbtbb { };
 
-  lp_solve = callPackage ../applications/science/math/lp_solve { };
+  lp_solve = callPackage ../applications/science/math/lp_solve {
+    inherit (darwin) cctools;
+  };
 
   fabric-installer = callPackage ../tools/games/minecraft/fabric-installer { };
 
@@ -4916,6 +4997,8 @@ in
 
   fontmatrix = libsForQt514.callPackage ../applications/graphics/fontmatrix {};
 
+  footswitch = callPackage ../tools/inputmethods/footswitch { };
+
   foremost = callPackage ../tools/system/foremost { };
 
   forktty = callPackage ../os-specific/linux/forktty {};
@@ -4992,6 +5075,8 @@ in
 
   ftop = callPackage ../os-specific/linux/ftop { };
 
+  ftxui = callPackage ../development/libraries/ftxui { };
+
   fsarchiver = callPackage ../tools/archivers/fsarchiver { };
 
   fsfs = callPackage ../tools/filesystems/fsfs { };
@@ -5105,7 +5190,11 @@ in
 
   gexiv2 = callPackage ../development/libraries/gexiv2 { };
 
-  gftp = callPackage ../tools/networking/gftp { };
+  gftp = callPackage ../applications/networking/gftp {
+    gtk = gtk2;
+  };
+
+  gfs2-utils = callPackage ../tools/filesystems/gfs2-utils { };
 
   gfbgraph = callPackage ../development/libraries/gfbgraph { };
 
@@ -5119,6 +5208,8 @@ in
 
   ghq = callPackage ../applications/version-management/git-and-tools/ghq { };
 
+  gst = callPackage ../applications/version-management/git-and-tools/gst { };
+
   ghr = callPackage ../applications/version-management/git-and-tools/ghr { };
 
   gibberish-detector = with python3Packages; toPythonApplication gibberish-detector;
@@ -5173,7 +5264,9 @@ in
 
   git-big-picture = callPackage ../applications/version-management/git-and-tools/git-big-picture { };
 
-  git-branchless = callPackage ../applications/version-management/git-and-tools/git-branchless { };
+  git-branchless = callPackage ../applications/version-management/git-and-tools/git-branchless {
+    inherit (darwin.apple_sdk.frameworks) Security SystemConfiguration;
+  };
 
   inherit (haskellPackages) git-brunch;
 
@@ -5349,6 +5442,8 @@ in
 
   gitea = callPackage ../applications/version-management/gitea { };
 
+  gokart = callPackage ../development/tools/gokart { };
+
   gl2ps = callPackage ../development/libraries/gl2ps { };
 
   glab = callPackage ../applications/version-management/git-and-tools/glab { };
@@ -5467,7 +5562,10 @@ in
   google-cloud-sdk = callPackage ../tools/admin/google-cloud-sdk {
     python = python3;
   };
-  google-cloud-sdk-gce = google-cloud-sdk.override { with-gce = true; };
+  google-cloud-sdk-gce = google-cloud-sdk.override {
+    python = python38;
+    with-gce = true;
+  };
 
   google-fonts = callPackage ../data/fonts/google-fonts { };
 
@@ -5509,7 +5607,9 @@ in
 
   gpp = callPackage ../development/tools/gpp { };
 
-  gpredict = callPackage ../applications/science/astronomy/gpredict { };
+  gpredict = callPackage ../applications/science/astronomy/gpredict {
+    hamlib = hamlib_4;
+  };
 
   gptfdisk = callPackage ../tools/system/gptfdisk { };
 
@@ -5684,6 +5784,8 @@ in
 
   gvolicon = callPackage ../tools/audio/gvolicon {};
 
+  gvproxy = callPackage ../tools/networking/gvproxy { };
+
   gzip = callPackage ../tools/compression/gzip { };
 
   gzrt = callPackage ../tools/compression/gzrt { };
@@ -5891,6 +5993,8 @@ in
 
   httpx = callPackage ../tools/security/httpx { };
 
+  hurl = callPackage ../tools/networking/hurl { };
+
   hub = callPackage ../applications/version-management/git-and-tools/hub { };
 
   hubicfuse = callPackage ../tools/filesystems/hubicfuse { };
@@ -5916,8 +6020,6 @@ in
 
   i2pd = callPackage ../tools/networking/i2pd { };
 
-  iasl = callPackage ../development/compilers/iasl { };
-
   iannix = libsForQt5.callPackage ../applications/audio/iannix { };
 
   jamulus = libsForQt5.callPackage ../applications/audio/jamulus { };
@@ -5999,6 +6101,8 @@ in
 
   inetutils = callPackage ../tools/networking/inetutils { };
 
+  inferno = callPackage ../development/tools/inferno { };
+
   inform6 = callPackage ../development/compilers/inform6 { };
 
   inform7 = callPackage ../development/compilers/inform7 { };
@@ -6255,7 +6359,7 @@ in
 
   keeperrl = callPackage ../games/keeperrl { };
 
-  kexectools = callPackage ../os-specific/linux/kexectools { };
+  kexec-tools = callPackage ../os-specific/linux/kexec-tools { };
 
   keepkey_agent = with python3Packages; toPythonApplication keepkey_agent;
 
@@ -6381,6 +6485,8 @@ in
 
   libscrypt = callPackage ../development/libraries/libscrypt { };
 
+  libcsys = libsForQt5.callPackage ../development/libraries/libcsys { };
+
   libcprime = libsForQt5.callPackage ../development/libraries/libcprime { };
 
   libcloudproviders = callPackage ../development/libraries/libcloudproviders { };
@@ -6531,7 +6637,7 @@ in
   };
 
   meilisearch = callPackage ../servers/search/meilisearch {
-    inherit (darwin.apple_sdk.frameworks) IOKit Security;
+    inherit (darwin.apple_sdk.frameworks) Security;
   };
 
   memtester = callPackage ../tools/system/memtester { };
@@ -6542,10 +6648,6 @@ in
 
   mhonarc = perlPackages.MHonArc;
 
-  minergate = callPackage ../applications/misc/minergate { };
-
-  minergate-cli = callPackage ../applications/misc/minergate-cli { };
-
   minica = callPackage ../tools/security/minica { };
 
   minidlna = callPackage ../tools/networking/minidlna { };
@@ -6653,10 +6755,10 @@ in
     nodejs = pkgs.nodejs;
   });
 
-  now-cli = callPackage ../development/web/now-cli {};
-
   np2kai = callPackage ../misc/emulators/np2kai { };
 
+  openipmi = callPackage ../tools/system/openipmi { };
+
   ox = callPackage ../applications/editors/ox { };
 
   file-rename = callPackage ../tools/filesystems/file-rename { };
@@ -6794,6 +6896,8 @@ in
 
   libmesode = callPackage ../development/libraries/libmesode {};
 
+  libmsym = callPackage ../development/libraries/science/chemistry/libmsym { };
+
   libnabo = callPackage ../development/libraries/libnabo { };
 
   libngspice = callPackage ../development/libraries/libngspice { };
@@ -6830,6 +6934,10 @@ in
 
   libzmf = callPackage ../development/libraries/libzmf {};
 
+  libreddit = callPackage ../servers/libreddit {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
+
   librespeed-cli = callPackage ../tools/misc/librespeed-cli { };
 
   libreswan = callPackage ../tools/networking/libreswan { };
@@ -6979,6 +7087,8 @@ in
 
   marktext = callPackage ../applications/misc/marktext { };
 
+  mars-mips = callPackage ../development/tools/mars-mips { };
+
   mawk = callPackage ../tools/text/mawk { };
 
   mb2md = callPackage ../tools/text/mb2md { };
@@ -7075,6 +7185,8 @@ in
 
   minio-client = callPackage ../tools/networking/minio-client { };
 
+  minio-certgen = callPackage ../tools/security/minio-certgen { };
+
   minissdpd = callPackage ../tools/networking/minissdpd { };
 
   inherit (callPackage ../tools/networking/miniupnpc
@@ -7166,6 +7278,8 @@ in
 
   mscgen = callPackage ../tools/graphics/mscgen { };
 
+  metabigor = callPackage ../tools/security/metabigor { };
+
   metasploit = callPackage ../tools/security/metasploit { };
 
   ms-sys = callPackage ../tools/misc/ms-sys { };
@@ -7265,10 +7379,12 @@ in
 
   netatalk = callPackage ../tools/filesystems/netatalk { };
 
-  netcdf = callPackage ../development/libraries/netcdf { };
+  netcdf = callPackage ../development/libraries/netcdf {
+    hdf5 = hdf5.override { usev110Api = true; };
+  };
 
   netcdf-mpi = appendToName "mpi" (netcdf.override {
-    hdf5 = hdf5-mpi;
+    hdf5 = hdf5-mpi.override { usev110Api = true; };
   });
 
   netcdfcxx4 = callPackage ../development/libraries/netcdf-cxx4 { };
@@ -7367,33 +7483,32 @@ in
 
   ngrok-1 = callPackage ../tools/networking/ngrok-1 { };
 
+  nitter = callPackage ../servers/nitter { };
+
   noice = callPackage ../applications/misc/noice { };
 
   noip = callPackage ../tools/networking/noip { };
 
-  nomad = nomad_1_0;
+  nomad = nomad_1_1;
 
   # Nomad never updates major go versions within a release series and is unsupported
   # on Go versions that it did not ship with. Due to historic bugs when compiled
   # with different versions we pin Go for all versions.
   # Upstream partially documents used Go versions here
   # https://github.com/hashicorp/nomad/blob/master/contributing/golang.md
-  nomad_0_12 = callPackage ../applications/networking/cluster/nomad/0.12.nix {
-    buildGoPackage = buildGo114Package;
-    inherit (linuxPackages) nvidia_x11;
-    nvidiaGpuSupport = config.cudaSupport or false;
-  };
   nomad_1_0 = callPackage ../applications/networking/cluster/nomad/1.0.nix {
     buildGoPackage = buildGo115Package;
     inherit (linuxPackages) nvidia_x11;
     nvidiaGpuSupport = config.cudaSupport or false;
   };
   nomad_1_1 = callPackage ../applications/networking/cluster/nomad/1.1.nix {
-    buildGoPackage = buildGo116Package;
+    buildGoModule = buildGo116Module;
     inherit (linuxPackages) nvidia_x11;
     nvidiaGpuSupport = config.cudaSupport or false;
   };
 
+  nomad-autoscaler = callPackage ../applications/networking/cluster/nomad-autoscaler { };
+
   nomad-driver-podman = callPackage ../applications/networking/cluster/nomad-driver-podman { };
 
   notable = callPackage ../applications/misc/notable { };
@@ -7470,7 +7585,7 @@ in
     graphicalSupport = true;
   };
 
-  nmap-unfree = callPackage ../tools/security/nmap-unfree { };
+  nmap-formatter = callPackage ../tools/security/nmap-formatter { };
 
   nmapsi4 = libsForQt514.callPackage ../tools/security/nmap/qt.nix { };
 
@@ -7521,6 +7636,8 @@ in
 
   numlockx = callPackage ../tools/X11/numlockx { };
 
+  nttcp = callPackage ../tools/networking/nttcp { };
+
   nuttcp = callPackage ../tools/networking/nuttcp { };
 
   nssmdns = callPackage ../tools/networking/nss-mdns { };
@@ -7574,7 +7691,7 @@ in
 
   opencorsairlink = callPackage ../tools/misc/opencorsairlink { };
 
-  openfpgaloader = callPackage ../development/tools/misc/openfpgaloader { };
+  openfpgaloader = callPackage ../development/embedded/fpga/openfpgaloader { };
 
   openfortivpn = callPackage ../tools/networking/openfortivpn { };
 
@@ -7621,8 +7738,12 @@ in
 
   onioncircuits = callPackage ../tools/security/onioncircuits { };
 
+  onlykey-agent = callPackage ../tools/security/onlykey-agent { };
+
   onlykey-cli = callPackage ../tools/security/onlykey-cli { };
 
+  onlykey = callPackage ../tools/security/onlykey { node_webkit = nwjs; };
+
   openapi-generator-cli = callPackage ../tools/networking/openapi-generator-cli { jre = pkgs.jre_headless; };
   openapi-generator-cli-unstable = callPackage ../tools/networking/openapi-generator-cli/unstable.nix { jre = pkgs.jre_headless; };
 
@@ -7827,7 +7948,7 @@ in
 
   pamtester = callPackage ../tools/security/pamtester { };
 
-  paperless = callPackage ../applications/office/paperless { };
+  paperless-ng = callPackage ../applications/office/paperless-ng { };
 
   paperwork = callPackage ../applications/office/paperwork/paperwork-gtk.nix { };
 
@@ -7906,6 +8027,8 @@ in
     inherit (darwin.apple_sdk.frameworks) IOKit;
   };
 
+  otpauth = callPackage ../tools/security/otpauth { };
+
   pcsclite = callPackage ../tools/security/pcsclite {
     inherit (darwin.apple_sdk.frameworks) IOKit;
   };
@@ -7947,10 +8070,6 @@ in
 
   pdfarranger = callPackage ../applications/misc/pdfarranger { };
 
-  pdfread = callPackage ../tools/graphics/pdfread {
-    inherit (pythonPackages) pillow;
-  };
-
   briss = callPackage ../tools/graphics/briss { };
 
   brickd = callPackage ../servers/brickd { };
@@ -7963,6 +8082,8 @@ in
 
   peco = callPackage ../tools/text/peco { };
 
+  pg_activity = callPackage ../development/tools/database/pg_activity { };
+
   pg_checksums = callPackage ../development/tools/database/pg_checksums { };
 
   pg_flame = callPackage ../tools/misc/pg_flame { };
@@ -8025,6 +8146,10 @@ in
 
   pixiewps = callPackage ../tools/networking/pixiewps {};
 
+  pinyin-tool = callPackage ../tools/text/pinyin-tool {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
+
   pk2cmd = callPackage ../tools/misc/pk2cmd { };
 
   plantuml = callPackage ../tools/misc/plantuml { };
@@ -8033,7 +8158,7 @@ in
 
   plan9port = callPackage ../tools/system/plan9port { };
 
-  platformioPackages = dontRecurseIntoAttrs (callPackage ../development/arduino/platformio { });
+  platformioPackages = dontRecurseIntoAttrs (callPackage ../development/embedded/platformio { });
   platformio = platformioPackages.platformio-chrootenv;
 
   platinum-searcher = callPackage ../tools/text/platinum-searcher { };
@@ -8095,7 +8220,9 @@ in
 
   pod2mdoc = callPackage ../tools/misc/pod2mdoc { };
 
-  poedit = callPackage ../tools/text/poedit { };
+  poedit = callPackage ../tools/text/poedit {
+    wxGTK31-gtk3 = wxGTK31-gtk3.override { withWebKit = true; };
+  };
 
   polipo = callPackage ../servers/polipo { };
 
@@ -8249,9 +8376,11 @@ in
     inherit (darwin.apple_sdk.frameworks) Security;
   };
 
-  remarshal = callPackage ../development/tools/remarshal { };
+  remarshal = with python3Packages; toPythonApplication remarshal;
 
-  rehex = callPackage ../applications/editors/rehex { };
+  rehex = callPackage ../applications/editors/rehex {
+    inherit (darwin.apple_sdk.frameworks) Carbon Cocoa IOKit;
+  };
 
   rig = callPackage ../tools/misc/rig {
     stdenv = gccStdenv;
@@ -8271,13 +8400,13 @@ in
 
   openmpi = callPackage ../development/libraries/openmpi { };
 
+  ouch = callPackage ../tools/compression/ouch { };
+
   mpi = openmpi; # this attribute should used to build MPI applications
 
   ucx = callPackage ../development/libraries/ucx {};
 
-  openmodelica = callPackage ../applications/science/misc/openmodelica {
-    jre = jre8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
-  };
+  openmodelica = recurseIntoAttrs (callPackage ../applications/science/misc/openmodelica {});
 
   qarte = libsForQt5.callPackage ../applications/video/qarte { };
 
@@ -8325,6 +8454,8 @@ in
 
   qtikz = libsForQt5.callPackage ../applications/graphics/ktikz { };
 
+  qtspim = libsForQt5.callPackage ../development/tools/misc/qtspim { };
+
   quadrafuzz = callPackage ../applications/audio/quadrafuzz { };
 
   quickfix = callPackage ../development/libraries/quickfix { };
@@ -8422,6 +8553,8 @@ in
 
   rtss = callPackage ../development/tools/misc/rtss { };
 
+  realvnc-vnc-viewer = callPackage ../tools/admin/realvnc-vnc-viewer {};
+
   reaverwps = callPackage ../tools/networking/reaver-wps {};
 
   reaverwps-t6x = callPackage ../tools/networking/reaver-wps-t6x {};
@@ -8477,6 +8610,8 @@ in
   inherit (callPackage ../development/misc/resholve { })
     resholve resholvePackage;
 
+  restool = callPackage ../os-specific/linux/restool {};
+
   reuse = callPackage ../tools/package-management/reuse { };
 
   rewritefs = callPackage ../os-specific/linux/rewritefs { };
@@ -8540,7 +8675,7 @@ in
 
   rpi-imager = libsForQt5.callPackage ../tools/misc/rpi-imager { };
 
-  rpiboot-unstable = callPackage ../development/misc/rpiboot/unstable.nix { };
+  rpiboot = callPackage ../development/misc/rpiboot { };
 
   rpm = callPackage ../tools/package-management/rpm {
     python = python3;
@@ -8678,6 +8813,8 @@ in
 
   scmpuff = callPackage ../applications/version-management/git-and-tools/scmpuff { };
 
+  scorecard = callPackage ../tools/security/scorecard { };
+
   scream = callPackage ../applications/audio/scream { };
 
   scimark = callPackage ../misc/scimark { };
@@ -8917,6 +9054,8 @@ in
     libpng = libpng12;
   };
 
+  snmpcheck = callPackage ../tools/networking/snmpcheck {};
+
   sniffglue = callPackage ../tools/networking/sniffglue { };
 
   snort = callPackage ../applications/networking/ids/snort { };
@@ -8925,7 +9064,9 @@ in
     inherit (darwin.apple_sdk.frameworks) Security;
   };
 
-  soapui = callPackage ../applications/networking/soapui { };
+  soapui = callPackage ../applications/networking/soapui {
+    jdk = jdk11;
+  };
 
   spglib = callPackage ../development/libraries/spglib { };
 
@@ -8996,7 +9137,7 @@ in
 
   socat = callPackage ../tools/networking/socat { };
 
-  socat2pre = lowPrio (callPackage ../tools/networking/socat/2.x.nix { });
+  sockperf = callPackage ../tools/networking/sockperf { };
 
   solaar = callPackage ../applications/misc/solaar {};
 
@@ -9004,6 +9145,8 @@ in
     autoreconfHook = buildPackages.autoreconfHook269;
   };
 
+  solc-select = with python3Packages; toPythonApplication solc-select;
+
   sourceHighlight = callPackage ../tools/text/source-highlight { };
 
   spacebar = callPackage ../os-specific/darwin/spacebar {
@@ -9031,6 +9174,8 @@ in
 
   srt-to-vtt-cl = callPackage ../tools/cd-dvd/srt-to-vtt-cl { };
 
+  srtrelay = callPackage ../applications/video/srtrelay { };
+
   sourcehut = callPackage ../applications/version-management/sourcehut { };
 
   sshfs-fuse = callPackage ../tools/filesystems/sshfs-fuse { };
@@ -9177,7 +9322,7 @@ in
 
   stricat = callPackage ../tools/security/stricat { };
 
-  staruml = callPackage ../tools/misc/staruml { inherit (gnome2) GConf; libgcrypt = libgcrypt_1_5; };
+  staruml = callPackage ../tools/misc/staruml { };
 
   stone-phaser = callPackage ../applications/audio/stone-phaser { };
 
@@ -9218,6 +9363,8 @@ in
 
   znapzend = callPackage ../tools/backup/znapzend { };
 
+  tar2ext4 = callPackage ../tools/filesystems/tar2ext4 { };
+
   targetcli = callPackage ../os-specific/linux/targetcli { };
 
   target-isns = callPackage ../os-specific/linux/target-isns { };
@@ -9230,6 +9377,10 @@ in
 
   tartube = callPackage ../applications/video/tartube { };
 
+  tartube-yt-dlp = callPackage ../applications/video/tartube {
+    youtube-dl = yt-dlp;
+  };
+
   tayga = callPackage ../tools/networking/tayga { };
 
   tcpcrypt = callPackage ../tools/security/tcpcrypt { };
@@ -9238,6 +9389,8 @@ in
 
   tboot = callPackage ../tools/security/tboot { };
 
+  tagutil = callPackage ../applications/audio/tagutil { };
+
   tcpdump = callPackage ../tools/networking/tcpdump { };
 
   tcpflow = callPackage ../tools/networking/tcpflow { };
@@ -9352,7 +9505,7 @@ in
 
   tinycbor = callPackage ../development/libraries/tinycbor { };
 
-  tiny8086 = callPackage ../applications/virtualization/8086tiny { };
+  tiny8086 = callPackage ../applications/virtualization/tiny8086 { };
 
   tinyemu = callPackage ../applications/virtualization/tinyemu { };
 
@@ -9360,7 +9513,7 @@ in
 
   tinyobjloader = callPackage ../development/libraries/tinyobjloader { };
 
-  tinyprog = callPackage ../development/tools/misc/tinyprog { };
+  tinyprog = callPackage ../development/embedded/fpga/tinyprog { };
 
   tinyproxy = callPackage ../tools/networking/tinyproxy { };
 
@@ -9484,6 +9637,8 @@ in
 
   translate-shell = callPackage ../applications/misc/translate-shell { };
 
+  translatepy = with python3.pkgs; toPythonApplication translatepy;
+
   trash-cli = callPackage ../tools/misc/trash-cli { };
 
   trebleshot = libsForQt5.callPackage ../applications/networking/trebleshot { };
@@ -9552,6 +9707,8 @@ in
 
   twtxt = python3Packages.callPackage ../applications/networking/twtxt { };
 
+  twurl = callPackage ../tools/misc/twurl { };
+
   txr = callPackage ../tools/misc/txr { stdenv = clangStdenv; };
 
   txt2man = callPackage ../tools/misc/txt2man { };
@@ -9600,7 +9757,7 @@ in
 
   umlet = callPackage ../tools/misc/umlet { };
 
-  unetbootin = callPackage ../tools/cd-dvd/unetbootin { };
+  unetbootin = libsForQt5.callPackage ../tools/cd-dvd/unetbootin { };
 
   unfs3 = callPackage ../servers/unfs3 { };
 
@@ -9794,14 +9951,18 @@ in
   };
 
   sentry-cli = callPackage ../development/tools/sentry-cli {
-    inherit (darwin.apple_sdk.frameworks) Security;
+    inherit (darwin.apple_sdk.frameworks) Security SystemConfiguration;
   };
 
+  sentry-native = callPackage ../development/libraries/sentry-native { };
+
   vtun = callPackage ../tools/networking/vtun {
     openssl = openssl_1_0_2;
   };
 
-  waifu2x-converter-cpp = callPackage ../tools/graphics/waifu2x-converter-cpp { };
+  waifu2x-converter-cpp = callPackage ../tools/graphics/waifu2x-converter-cpp {
+    inherit (darwin.apple_sdk.frameworks) OpenCL;
+  };
 
   wakatime = pythonPackages.callPackage ../tools/misc/wakatime { };
 
@@ -10025,6 +10186,8 @@ in
 
   xsensors = callPackage ../os-specific/linux/xsensors { };
 
+  xspim = callPackage ../development/tools/misc/xspim { };
+
   xcruiser = callPackage ../applications/misc/xcruiser { };
 
   xwallpaper = callPackage ../tools/X11/xwallpaper { };
@@ -10066,13 +10229,11 @@ in
   valum = callPackage ../development/web/valum { };
 
   inherit (callPackages ../servers/varnish { })
-    varnish60 varnish62 varnish63;
+    varnish60 varnish65;
   inherit (callPackages ../servers/varnish/packages.nix { })
-    varnish60Packages
-    varnish62Packages
-    varnish63Packages;
+    varnish60Packages varnish65Packages;
 
-  varnishPackages = varnish63Packages;
+  varnishPackages = varnish65Packages;
   varnish = varnishPackages.varnish;
 
   hitch = callPackage ../servers/hitch { };
@@ -10465,6 +10626,8 @@ in
 
   nix-bash-completions = callPackage ../shells/bash/nix-bash-completions { };
 
+  yarn-bash-completion = callPackage ../shells/bash/yarn-completion { };
+
   undistract-me = callPackage ../shells/bash/undistract-me { };
 
   dash = callPackage ../shells/dash { };
@@ -10477,6 +10640,8 @@ in
 
   fish = callPackage ../shells/fish { };
 
+  oh-my-fish = callPackage ../shells/fish/oh-my-fish { };
+
   wrapFish = callPackage ../shells/fish/wrapper.nix { };
 
   fishPlugins = recurseIntoAttrs (callPackage ../shells/fish/plugins { });
@@ -10647,6 +10812,8 @@ in
 
   aldor = callPackage ../development/compilers/aldor { };
 
+  algol68g = callPackage ../development/compilers/algol68g { };
+
   aliceml = callPackage ../development/compilers/aliceml { };
 
   armips = callPackage ../development/compilers/armips { };
@@ -10672,6 +10839,7 @@ in
 
   bluespec = callPackage ../development/compilers/bluespec {
     gmp-static = gmp.override { withStatic = true; };
+    tex = texlive.combined.scheme-full;
   };
 
   cakelisp = callPackage ../development/compilers/cakelisp { };
@@ -10762,6 +10930,8 @@ in
 
   cmucl_binary = pkgsi686Linux.callPackage ../development/compilers/cmucl/binary.nix { };
 
+  comby = callPackage ../development/tools/comby { };
+
   compcert = coqPackages.compcert.override { version = "3.9"; };
 
   computecpp-unwrapped = callPackage ../development/compilers/computecpp {};
@@ -10809,6 +10979,8 @@ in
 
   devpi-server = callPackage ../development/tools/devpi-server {};
 
+  dictu = callPackage ../development/compilers/dictu { };
+
   dotty = callPackage ../development/compilers/scala/dotty.nix { jre = jre8;};
 
   ecl = callPackage ../development/compilers/ecl { };
@@ -10839,10 +11011,18 @@ in
 
   flyctl = callPackage ../development/web/flyctl { };
 
+  fluidd = callPackage ../applications/misc/fluidd { };
+
   flutterPackages =
     recurseIntoAttrs (callPackage ../development/compilers/flutter { });
   flutter = flutterPackages.stable;
 
+  fnm = callPackage ../development/tools/fnm {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
+
+  fnlfmt = callPackage ../development/tools/fnlfmt { };
+
   fpc = callPackage ../development/compilers/fpc { };
 
   g203-led = callPackage ../tools/misc/g203-led { };
@@ -11195,7 +11375,15 @@ in
     langCC = false;
     langAda = true;
     profiledCompiler = false;
-    inherit gnatboot;
+    # As per upstream instructions building a cross compiler
+    # should be done with a (native) compiler of the same version.
+    # If we are cross-compiling GNAT, we may as well go the same
+    # route (especially as gnatboot can't cross-compile).
+    gnatboot =
+      if stdenv.hostPlatform == stdenv.targetPlatform
+         && stdenv.buildPlatform == stdenv.hostPlatform
+      then buildPackages.gnatboot
+      else buildPackages.gnat6;
   });
 
   gnat9 = wrapCC (gcc9.cc.override {
@@ -11204,7 +11392,14 @@ in
     langCC = false;
     langAda = true;
     profiledCompiler = false;
-    gnatboot = gnat6;
+    # As per upstream instructions building a cross compiler
+    # should be done with a (native) compiler of the same version.
+    # If we are cross-compiling GNAT, we may as well do the same.
+    gnatboot =
+      if stdenv.hostPlatform == stdenv.targetPlatform
+         && stdenv.buildPlatform == stdenv.hostPlatform
+      then buildPackages.gnat6
+      else buildPackages.gnat9;
   });
 
   gnat10 = wrapCC (gcc10.cc.override {
@@ -11213,7 +11408,14 @@ in
     langCC = false;
     langAda = true;
     profiledCompiler = false;
-    gnatboot = gnat6;
+    # As per upstream instructions building a cross compiler
+    # should be done with a (native) compiler of the same version.
+    # If we are cross-compiling GNAT, we may as well do the same.
+    gnatboot =
+      if stdenv.hostPlatform == stdenv.targetPlatform
+         && stdenv.buildPlatform == stdenv.hostPlatform
+      then buildPackages.gnat6
+      else buildPackages.gnat10;
   });
 
   gnat11 = wrapCC (gcc11.cc.override {
@@ -11222,7 +11424,14 @@ in
     langCC = false;
     langAda = true;
     profiledCompiler = false;
-    gnatboot = gnat6;
+    # As per upstream instructions building a cross compiler
+    # should be done with a (native) compiler of the same version.
+    # If we are cross-compiling GNAT, we may as well do the same.
+    gnatboot =
+      if stdenv.hostPlatform == stdenv.targetPlatform
+         && stdenv.buildPlatform == stdenv.hostPlatform
+      then buildPackages.gnat6
+      else buildPackages.gnat11;
   });
 
   gnatboot = wrapCC (callPackage ../development/compilers/gnatboot { });
@@ -11284,7 +11493,7 @@ in
 
   # Please update doc/languages-frameworks/haskell.section.md, “Our
   # current default compiler is”, if you bump this:
-  haskellPackages = dontRecurseIntoAttrs haskell.packages.ghc8104;
+  haskellPackages = dontRecurseIntoAttrs haskell.packages.ghc8107;
 
   inherit (haskellPackages) ghc;
 
@@ -11346,21 +11555,12 @@ in
 
   fsharp = callPackage ../development/compilers/fsharp { };
 
-  fstar = callPackage ../development/compilers/fstar {
-    ocamlPackages = ocaml-ng.ocamlPackages_4_07;
-  };
+  fstar = callPackage ../development/compilers/fstar { };
 
   dotnetPackages = recurseIntoAttrs (callPackage ./dotnet-packages.nix {});
 
   glslang = callPackage ../development/compilers/glslang { };
 
-  go_1_14 = callPackage ../development/compilers/go/1.14.nix ({
-    inherit (darwin.apple_sdk.frameworks) Security Foundation;
-  } // lib.optionalAttrs (stdenv.cc.isGNU && stdenv.isAarch64) {
-    stdenv = gcc8Stdenv;
-    buildPackages = buildPackages // { stdenv = buildPackages.gcc8Stdenv; };
-  });
-
   go_1_15 = callPackage ../development/compilers/go/1.15.nix ({
     inherit (darwin.apple_sdk.frameworks) Security Foundation;
   } // lib.optionalAttrs (stdenv.cc.isGNU && stdenv.isAarch64) {
@@ -11556,9 +11756,12 @@ in
     inherit (darwin) libiconv libobjc libresolv;
   }) mx jvmci8 graalvm8;
 
-  inherit (callPackages ../development/compilers/graalvm/community-edition.nix {
-    inherit (darwin.apple_sdk.frameworks) Foundation;
-  }) graalvm8-ce graalvm11-ce;
+  graalvmCEPackages =
+    recurseIntoAttrs (callPackage ../development/compilers/graalvm/community-edition {
+      inherit (darwin.apple_sdk.frameworks) Foundation;
+    });
+  graalvm8-ce = graalvmCEPackages.graalvm8-ce;
+  graalvm11-ce = graalvmCEPackages.graalvm11-ce;
 
   inherit (callPackages ../development/compilers/graalvm/enterprise-edition.nix { })
     graalvm8-ee
@@ -11627,6 +11830,8 @@ in
 
   knightos-genkfs = callPackage ../development/tools/knightos/genkfs { };
 
+  regenkfs = callPackage ../development/tools/knightos/regenkfs { };
+
   knightos-kcc = callPackage ../development/tools/knightos/kcc { };
 
   knightos-kimg = callPackage ../development/tools/knightos/kimg { };
@@ -11635,6 +11840,8 @@ in
 
   knightos-mkrom = callPackage ../development/tools/knightos/mkrom { };
 
+  remkrom = callPackage ../development/tools/knightos/remkrom { };
+
   knightos-patchrom = callPackage ../development/tools/knightos/patchrom { };
 
   knightos-mktiupgrade = callPackage ../development/tools/knightos/mktiupgrade { };
@@ -11677,6 +11884,7 @@ in
   lld_10 = llvmPackages_10.lld;
   lld_11 = llvmPackages_11.lld;
   lld_12 = llvmPackages_12.lld;
+  lld_13 = llvmPackages_13.lld;
 
   lldb = llvmPackages_latest.lldb;
   lldb_5 = llvmPackages_5.lldb;
@@ -11687,11 +11895,13 @@ in
   lldb_10 = llvmPackages_10.lldb;
   lldb_11 = llvmPackages_11.lldb;
   lldb_12 = llvmPackages_12.lldb;
+  lldb_13 = llvmPackages_13.lldb;
 
   llvm = llvmPackages.llvm;
   libllvm = llvmPackages.libllvm;
   llvm-manpages = llvmPackages.llvm-manpages;
 
+  llvm_13 = llvmPackages_13.llvm;
   llvm_12 = llvmPackages_12.llvm;
   llvm_11 = llvmPackages_11.llvm;
   llvm_10 = llvmPackages_10.llvm;
@@ -11772,6 +11982,14 @@ in
     stdenv = gcc7Stdenv;
   }));
 
+  llvmPackages_13 = recurseIntoAttrs (callPackage ../development/compilers/llvm/13 ({
+    inherit (stdenvAdapters) overrideCC;
+    buildLlvmTools = buildPackages.llvmPackages_13.tools;
+    targetLlvmLibraries = targetPackages.llvmPackages_13.libraries;
+  } // lib.optionalAttrs (stdenv.hostPlatform.isi686 && buildPackages.stdenv.cc.isGNU) {
+    stdenv = gcc7Stdenv;
+  }));
+
   llvmPackages_latest = llvmPackages_12;
 
   llvmPackages_rocm = recurseIntoAttrs (callPackage ../development/compilers/llvm/rocm { });
@@ -11782,6 +12000,8 @@ in
 
   manticore = callPackage ../development/compilers/manticore { };
 
+  marst = callPackage ../development/compilers/marst { };
+
   mercury = callPackage ../development/compilers/mercury {
     jdk = openjdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
   };
@@ -11791,14 +12011,10 @@ in
   mint = callPackage ../development/compilers/mint { };
 
   mitscheme = callPackage ../development/compilers/mit-scheme {
-    texLive = texlive.combine { inherit (texlive) scheme-small; };
-    texinfo = texinfo5;
-    xlibsWrapper = null;
+    texLive = texlive.combine { inherit (texlive) scheme-small epsf texinfo; };
   };
 
   mitschemeX11 = mitscheme.override {
-    texLive = texlive.combine { inherit (texlive) scheme-small; };
-    texinfo = texinfo5;
     enableX11 = true;
   };
 
@@ -11837,7 +12053,7 @@ in
 
   roslyn = callPackage ../development/compilers/roslyn { };
 
-  msbuild = callPackage ../development/tools/build-managers/msbuild { };
+  msbuild = callPackage ../development/tools/build-managers/msbuild { dotnet-sdk = dotnet-sdk_5; };
 
   mosml = callPackage ../development/compilers/mosml { };
 
@@ -11887,7 +12103,8 @@ in
     ocamlformat # latest version
     ocamlformat_0_11_0 ocamlformat_0_12 ocamlformat_0_13_0 ocamlformat_0_14_0
     ocamlformat_0_14_1 ocamlformat_0_14_2 ocamlformat_0_14_3 ocamlformat_0_15_0
-    ocamlformat_0_15_1 ocamlformat_0_16_0 ocamlformat_0_17_0 ocamlformat_0_18_0;
+    ocamlformat_0_15_1 ocamlformat_0_16_0 ocamlformat_0_17_0 ocamlformat_0_18_0
+    ocamlformat_0_19_0;
 
   orc = callPackage ../development/compilers/orc { };
 
@@ -12047,7 +12264,9 @@ in
     inherit (darwin.apple_sdk.frameworks) Security;
   };
   cargo-rr = callPackage ../development/tools/rust/cargo-rr { };
-  cargo-tarpaulin = callPackage ../development/tools/analysis/cargo-tarpaulin { };
+  cargo-tarpaulin = callPackage ../development/tools/analysis/cargo-tarpaulin {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
   cargo-update = callPackage ../tools/package-management/cargo-update {
     inherit (darwin.apple_sdk.frameworks) Security;
   };
@@ -12067,11 +12286,13 @@ in
   cargo-deny = callPackage ../development/tools/rust/cargo-deny {
     inherit (darwin.apple_sdk.frameworks) Security;
   };
-  cargo-embed = callPackage ../development/tools/rust/cargo-embed { };
+  cargo-embed = callPackage ../development/tools/rust/cargo-embed {
+    inherit (darwin.apple_sdk.frameworks) AppKit;
+  };
   cargo-expand = callPackage ../development/tools/rust/cargo-expand { };
   cargo-feature = callPackage ../development/tools/rust/cargo-feature { };
   cargo-flash = callPackage ../development/tools/rust/cargo-flash {
-    inherit (darwin.apple_sdk.frameworks) Security;
+    inherit (darwin.apple_sdk.frameworks) Security AppKit;
   };
   cargo-fund = callPackage ../development/tools/rust/cargo-fund {
     inherit (darwin.apple_sdk.frameworks) Security;
@@ -12105,7 +12326,7 @@ in
   };
   cargo-valgrind = callPackage ../development/tools/rust/cargo-valgrind { };
   cargo-watch = callPackage ../development/tools/rust/cargo-watch {
-    inherit (darwin.apple_sdk.frameworks) CoreServices;
+    inherit (darwin.apple_sdk.frameworks) CoreServices Foundation;
   };
   cargo-wipe = callPackage ../development/tools/rust/cargo-wipe { };
   cargo-xbuild = callPackage ../development/tools/rust/cargo-xbuild { };
@@ -12169,7 +12390,6 @@ in
   scala = scala_2_13;
   scala-runners = callPackage ../development/compilers/scala-runners/default.nix {
     coursier = coursier.override { jre = jdk8; };
-    jre = jdk8;
   };
 
   metal = callPackage ../development/libraries/metal { };
@@ -12389,6 +12609,10 @@ in
   clisp = callPackage ../development/interpreters/clisp { };
   clisp-tip = callPackage ../development/interpreters/clisp/hg.nix { };
 
+  clojupyter = callPackage ../applications/editors/jupyter-kernels/clojupyter {
+    jre = jre8;
+  };
+
   clojure = callPackage ../development/interpreters/clojure {
     # set this to an LTS version of java
     jdk = jdk11;
@@ -12421,7 +12645,7 @@ in
   };
 
   beam = callPackage ./beam-packages.nix { };
-  beam_nox = callPackage ./beam-packages.nix { wxSupport = false; };
+  beam_nox = callPackage ./beam-packages.nix { beam = beam_nox; wxSupport = false; };
 
   inherit (beam.interpreters)
     erlang erlangR24 erlangR23 erlangR22 erlangR21
@@ -12508,7 +12732,7 @@ in
 
   ### LUA interpreters
   luaInterpreters = callPackage ./../development/interpreters/lua-5 {};
-  inherit (luaInterpreters) lua5_1 lua5_2 lua5_2_compat lua5_3 lua5_3_compat lua5_4 lua5_4_compat luajit_2_1 luajit_2_0;
+  inherit (luaInterpreters) lua5_1 lua5_2 lua5_2_compat lua5_3 lua5_3_compat lua5_4 lua5_4_compat luajit_openresty luajit_2_1 luajit_2_0;
 
   lua5 = lua5_2_compat;
   lua = lua5;
@@ -12537,7 +12761,7 @@ in
     stdenv = if stdenv.cc.isClang then llvmPackages_5.stdenv else stdenv;
   };
 
-  me_cleaner = pythonPackages.callPackage ../tools/misc/me_cleaner { };
+  me_cleaner = callPackage ../tools/misc/me_cleaner { };
 
   mesos-dns = callPackage ../servers/mesos-dns { };
 
@@ -12580,14 +12804,14 @@ in
 
   # Import PHP80 interpreter, extensions and packages
   php80 = callPackage ../development/interpreters/php/8.0.nix {
-    stdenv = if stdenv.cc.isClang then llvmPackages_6.stdenv else stdenv;
+    stdenv = if stdenv.cc.isClang then llvmPackages.stdenv else stdenv;
   };
   php80Extensions = recurseIntoAttrs php80.extensions;
   php80Packages = recurseIntoAttrs php80.packages;
 
   # Import PHP74 interpreter, extensions and packages
   php74 = callPackage ../development/interpreters/php/7.4.nix {
-    stdenv = if stdenv.cc.isClang then llvmPackages_6.stdenv else stdenv;
+    stdenv = if stdenv.cc.isClang then llvmPackages.stdenv else stdenv;
   };
   php74Extensions = recurseIntoAttrs php74.extensions;
   php74Packages = recurseIntoAttrs php74.packages;
@@ -12699,6 +12923,8 @@ in
 
   pypi2nix = callPackage ../development/tools/pypi2nix {};
 
+  pypi-mirror = callPackage ../development/tools/pypi-mirror {};
+
   setupcfg2nix = python3Packages.callPackage ../development/tools/setupcfg2nix {};
 
   # These pyside tools do not provide any Python modules and are meant to be here.
@@ -12750,6 +12976,8 @@ in
 
   red = callPackage ../development/interpreters/red { };
 
+  regexploit = callPackage ../tools/security/regexploit { };
+
   regextester = callPackage ../applications/misc/regextester { };
 
   regina = callPackage ../development/interpreters/regina { };
@@ -12872,7 +13100,7 @@ in
 
   avr8burnomat = callPackage ../development/misc/avr8-burn-omat { };
 
-  betaflight = callPackage ../development/misc/stm32/betaflight {
+  betaflight = callPackage ../development/embedded/stm32/betaflight {
     gcc-arm-embedded = pkgsCross.arm-embedded.buildPackages.gcc;
     binutils-arm-embedded = pkgsCross.arm-embedded.buildPackages.binutils;
   };
@@ -12930,7 +13158,7 @@ in
     guile = guile_2_0;
   };
 
-  inav = callPackage ../development/misc/stm32/inav {
+  inav = callPackage ../development/embedded/stm32/inav {
     gcc-arm-embedded = pkgsCross.arm-embedded.buildPackages.gcc;
     binutils-arm-embedded = pkgsCross.arm-embedded.buildPackages.binutils;
   };
@@ -13001,6 +13229,8 @@ in
 
   ameba = callPackage ../development/tools/ameba { };
 
+  anybadge = with python3Packages; toPythonApplication anybadge;
+
   augeas = callPackage ../tools/system/augeas { };
 
   inherit (callPackage ../tools/admin/ansible { })
@@ -13036,10 +13266,9 @@ in
   apacheAnt_1_9 = callPackage ../development/tools/build-managers/apache-ant/1.9.nix { };
   ant = apacheAnt;
 
-  apacheKafka = apacheKafka_2_6;
-  apacheKafka_2_4 = callPackage ../servers/apache-kafka { majorVersion = "2.4"; };
-  apacheKafka_2_5 = callPackage ../servers/apache-kafka { majorVersion = "2.5"; };
-  apacheKafka_2_6 = callPackage ../servers/apache-kafka { majorVersion = "2.6"; };
+  apacheKafka = apacheKafka_2_8;
+  apacheKafka_2_7 = callPackage ../servers/apache-kafka { majorVersion = "2.7"; };
+  apacheKafka_2_8 = callPackage ../servers/apache-kafka { majorVersion = "2.8"; };
 
   kt = callPackage ../tools/misc/kt {};
 
@@ -13047,18 +13276,34 @@ in
 
   arpa2cm = callPackage ../development/tools/build-managers/arpa2cm { };
 
+  arpa2common = callPackage ../development/libraries/arpa2common { };
+
   asn2quickder = python2Packages.callPackage ../development/tools/asn2quickder {};
 
   astyle = callPackage ../development/tools/misc/astyle { };
 
   automaticcomponenttoolkit = callPackage ../development/tools/misc/automaticcomponenttoolkit { };
 
+  aviator = callPackage ../development/tools/misc/aviator { };
+
   awf = callPackage ../development/tools/misc/awf { };
 
   aws-adfs = with python3Packages; toPythonApplication aws-adfs;
 
   inherit (callPackages ../development/tools/electron { })
-    electron electron_3 electron_4 electron_5 electron_6 electron_7 electron_8 electron_9 electron_10 electron_11 electron_12 electron_13;
+    electron
+    electron_3
+    electron_4
+    electron_5
+    electron_6
+    electron_7
+    electron_8
+    electron_9
+    electron_10
+    electron_11
+    electron_12
+    electron_13
+    electron_14;
 
   autobuild = callPackage ../development/tools/misc/autobuild { };
 
@@ -13083,7 +13328,7 @@ in
 
   automoc4 = callPackage ../development/tools/misc/automoc4 { };
 
-  avrdude = callPackage ../development/tools/misc/avrdude { };
+  avrdude = callPackage ../development/embedded/avrdude { };
 
   b4 = callPackage ../development/tools/b4 { };
 
@@ -13163,7 +13408,13 @@ in
 
   buildBazelPackage = callPackage ../build-support/build-bazel-package { };
 
-  bear = callPackage ../development/tools/build-managers/bear { };
+  bear = callPackage ../development/tools/build-managers/bear {
+    # error: no viable constructor or deduction guide for deduction of template arguments of 'map'
+    stdenv = if stdenv.hostPlatform.system == "x86_64-darwin" then
+        llvmPackages_11.stdenv
+      else
+        stdenv;
+  };
 
   bin_replace_string = callPackage ../development/tools/misc/bin_replace_string { };
 
@@ -13237,21 +13488,19 @@ in
 
   black-macchiato = with python3Packages; toPythonApplication black-macchiato;
 
-  blackmagic = callPackage ../development/tools/misc/blackmagic { };
+  blackmagic = callPackage ../development/embedded/blackmagic { };
 
   bloaty = callPackage ../development/tools/bloaty { };
 
   bloop = callPackage ../development/tools/build-managers/bloop { };
 
-  bossa = callPackage ../development/tools/misc/bossa {
+  bossa = callPackage ../development/embedded/bossa {
     wxGTK = wxGTK30;
   };
 
   buck = callPackage ../development/tools/build-managers/buck { };
 
-  buildkite-agent = buildkite-agent3;
-  buildkite-agent2 = throw "pkgs.buildkite-agent2 has been discontinued. Please use pkgs.buildkite-agent (v3.x)";
-  buildkite-agent3 = callPackage ../development/tools/continuous-integration/buildkite-agent { };
+  buildkite-agent = callPackage ../development/tools/continuous-integration/buildkite-agent { };
 
   buildkite-agent-metrics = callPackage ../servers/monitoring/buildkite-agent-metrics { };
 
@@ -13273,11 +13522,9 @@ in
 
   cbrowser = callPackage ../development/tools/misc/cbrowser { };
 
-  cc-tool = callPackage ../development/tools/misc/cc-tool { };
+  cc-tool = callPackage ../development/embedded/cc-tool { };
 
-  ccache = callPackage ../development/tools/misc/ccache {
-    asciidoc = asciidoc-full;
-  };
+  ccache = callPackage ../development/tools/misc/ccache { };
 
   # Wrapper that works as gcc or g++
   # It can be used by setting in nixpkgs config like this, for example:
@@ -13438,6 +13685,8 @@ in
     inherit (llvmPackages_11) llvm libclang;
   };
 
+  cwltool = callPackage ../applications/science/misc/cwltool { };
+
   dprint = callPackage ../development/tools/dprint { };
 
   libcxx = llvmPackages.libcxx;
@@ -13464,12 +13713,15 @@ in
 
   libsigrok = callPackage ../development/tools/libsigrok { };
   # old version:
-  libsigrok-0-3-0 = libsigrok.override {
+  libsigrok_0_3 = libsigrok.override {
     version = "0.3.0";
     sha256 = "0l3h7zvn3w4c1b9dgvl3hirc4aj1csfkgbk87jkpl7bgl03nk4j3";
+    doInstallCheck = false;
   };
 
-  libsigrokdecode = callPackage ../development/tools/libsigrokdecode { };
+  libsigrokdecode = callPackage ../development/tools/libsigrokdecode {
+    python3 = python38;
+  };
 
   # special forks used for dsview
   libsigrok4dsl = callPackage ../applications/science/electronics/dsview/libsigrok4dsl.nix { };
@@ -13493,7 +13745,7 @@ in
 
   ddd = callPackage ../development/tools/misc/ddd { };
 
-  lattice-diamond = callPackage ../development/tools/lattice-diamond { };
+  lattice-diamond = callPackage ../development/embedded/fpga/lattice-diamond { };
 
   direvent = callPackage ../development/tools/misc/direvent { };
 
@@ -13554,7 +13806,9 @@ in
 
   drush = callPackage ../development/tools/misc/drush { };
 
-  easypdkprog = callPackage ../development/tools/misc/easypdkprog { };
+  dwz = callPackage ../development/tools/misc/dwz { };
+
+  easypdkprog = callPackage ../development/embedded/easypdkprog { };
 
   editorconfig-checker = callPackage ../development/tools/misc/editorconfig-checker { };
 
@@ -13603,7 +13857,7 @@ in
   ffuf = callPackage ../tools/security/ffuf { };
 
   flow = callPackage ../development/tools/analysis/flow {
-    ocamlPackages = ocaml-ng.ocamlPackages_4_09;
+    ocamlPackages = ocaml-ng.ocamlPackages_4_10;
     inherit (darwin.apple_sdk.frameworks) CoreServices;
   };
 
@@ -13612,6 +13866,8 @@ in
   foreman = callPackage ../tools/system/foreman { };
   goreman = callPackage ../tools/system/goreman { };
 
+  fprettify = callPackage ../development/tools/fprettify { };
+
   framac = callPackage ../development/tools/analysis/frama-c { };
 
   frame = callPackage ../development/libraries/frame { };
@@ -13627,7 +13883,7 @@ in
 
   fsearch = callPackage ../tools/misc/fsearch { };
 
-  fujprog = callPackage ../development/tools/misc/fujprog {
+  fujprog = callPackage ../development/embedded/fpga/fujprog {
     inherit (darwin.apple_sdk.frameworks) IOKit;
   };
 
@@ -13668,6 +13924,14 @@ in
 
   global = callPackage ../development/tools/misc/global { };
 
+  gnatcoll-db2ada = callPackage ../development/libraries/ada/gnatcoll/db.nix {
+    component = "gnatcoll_db2ada";
+  };
+
+  gnatinspect = callPackage ../development/libraries/ada/gnatcoll/db.nix {
+    component = "gnatinspect";
+  };
+
   gnome-doc-utils = callPackage ../development/tools/documentation/gnome-doc-utils {};
 
   gnome-desktop-testing = callPackage ../development/tools/gnome-desktop-testing {};
@@ -13708,7 +13972,11 @@ in
 
   gotty = callPackage ../servers/gotty { };
 
-  gputils = callPackage ../development/tools/misc/gputils { };
+  gprbuild-boot = callPackage ../development/tools/build-managers/gprbuild/boot.nix { };
+
+  gprbuild = callPackage ../development/tools/build-managers/gprbuild { };
+
+  gputils = callPackage ../development/embedded/gputils { };
 
   gpuvis = callPackage ../development/tools/misc/gpuvis { };
 
@@ -13736,6 +14004,8 @@ in
 
   gtkdialog = callPackage ../development/tools/misc/gtkdialog { };
 
+  crowdin-cli = callPackage ../tools/text/crowdin-cli { };
+
   gtranslator = callPackage ../tools/text/gtranslator { };
 
   guff = callPackage ../tools/graphics/guff { };
@@ -13768,7 +14038,7 @@ in
   iaca_3_0 = callPackage ../development/tools/iaca/3.0.nix { };
   iaca = iaca_3_0;
 
-  icestorm = callPackage ../development/tools/icestorm { };
+  icestorm = callPackage ../development/embedded/fpga/icestorm { };
 
   icmake = callPackage ../development/tools/build-managers/icmake { };
 
@@ -13784,7 +14054,7 @@ in
 
   indent = callPackage ../development/tools/misc/indent { };
 
-  ino = callPackage ../development/arduino/ino { };
+  ino = callPackage ../development/embedded/arduino/ino { };
 
   inotify-tools = callPackage ../development/tools/misc/inotify-tools { };
 
@@ -13842,6 +14112,8 @@ in
 
   ko = callPackage ../development/tools/ko { };
 
+  konstraint = callPackage ../development/tools/konstraint { };
+
   krankerl = callPackage ../development/tools/krankerl { };
 
   krew = callPackage ../development/tools/krew { };
@@ -13957,6 +14229,8 @@ in
 
   mkdocs = callPackage ../development/tools/documentation/mkdocs { };
 
+  mmtf-cpp = callPackage ../development/libraries/science/chemistry/mmtf-cpp { };
+
   mockgen = callPackage ../development/tools/mockgen { };
 
   modd = callPackage ../development/tools/modd { };
@@ -14031,7 +14305,7 @@ in
 
   opengrok = callPackage ../development/tools/misc/opengrok { };
 
-  openocd = callPackage ../development/tools/misc/openocd { };
+  openocd = callPackage ../development/embedded/openocd { };
 
   oprofile = callPackage ../development/tools/profiling/oprofile {
     libiberty_static = libiberty.override { staticBuild = true; };
@@ -14142,6 +14416,8 @@ in
     lua = lua5;
   } // (config.radare or {}));
 
+  ran = callPackage ../servers/http/ran { };
+
   retry = callPackage ../tools/system/retry { };
 
   rizin = pkgs.callPackage ../development/tools/analysis/rizin { };
@@ -14204,6 +14480,8 @@ in
 
   saleae-logic = callPackage ../development/tools/misc/saleae-logic { };
 
+  saleae-logic-2 = callPackage ../development/tools/misc/saleae-logic-2 { };
+
   sauce-connect = callPackage ../development/tools/sauce-connect { };
 
   sd-local = callPackage ../development/tools/sd-local { };
@@ -14308,6 +14586,8 @@ in
 
   spooles = callPackage ../development/libraries/science/math/spooles {};
 
+  spruce = callPackage ../development/tools/misc/spruce { };
+
   sqlcheck = callPackage ../development/tools/database/sqlcheck { };
 
   sqlitebrowser = libsForQt5.callPackage ../development/tools/database/sqlitebrowser { };
@@ -14320,9 +14600,9 @@ in
 
   sselp = callPackage ../tools/X11/sselp{ };
 
-  stm32cubemx = callPackage ../development/tools/misc/stm32cubemx { };
+  stm32cubemx = callPackage ../development/embedded/stm32/stm32cubemx { };
 
-  stm32flash = callPackage ../development/tools/misc/stm32flash { };
+  stm32flash = callPackage ../development/embedded/stm32/stm32flash { };
 
   strace = callPackage ../development/tools/misc/strace { };
 
@@ -14353,17 +14633,31 @@ in
 
   c2ffi = callPackage ../development/tools/misc/c2ffi { };
 
+  c3c = callPackage ../development/compilers/c3c {
+    llvmPackages = llvmPackages_11;
+  };
+
   swfmill = callPackage ../tools/video/swfmill { };
 
   swftools = callPackage ../tools/video/swftools {
     stdenv = gccStdenv;
   };
 
+  szyszka = callPackage ../tools/misc/szyszka { };
+
+  taplo-cli = callPackage ../development/tools/taplo-cli {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
+
+  taplo-lsp = callPackage ../development/tools/taplo-lsp {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
+
   tcptrack = callPackage ../development/tools/misc/tcptrack { };
 
   teensyduino = arduino-core.override { withGui = true; withTeensyduino = true; };
 
-  teensy-loader-cli = callPackage ../development/tools/misc/teensy-loader-cli { };
+  teensy-loader-cli = callPackage ../development/embedded/teensy-loader-cli { };
 
   terracognita = callPackage ../development/tools/misc/terracognita { };
 
@@ -14408,7 +14702,7 @@ in
     inherit (darwin.apple_sdk.frameworks) Security;
   };
 
-  trellis = callPackage ../development/tools/trellis { };
+  trellis = callPackage ../development/embedded/fpga/trellis { };
 
   ttyd = callPackage ../servers/ttyd { };
 
@@ -14431,7 +14725,7 @@ in
     boost = boost17x;
   };
 
-  uisp = callPackage ../development/tools/misc/uisp { };
+  uisp = callPackage ../development/embedded/uisp { };
 
   uncrustify = callPackage ../development/tools/misc/uncrustify { };
 
@@ -14450,6 +14744,8 @@ in
     readline = readline81;
   };
 
+  java-language-server = callPackage ../development/tools/java/java-language-server { };
+
   jhiccup = callPackage ../development/tools/java/jhiccup { };
 
   valgrind = callPackage ../development/tools/analysis/valgrind {
@@ -14483,7 +14779,7 @@ in
 
   webdis = callPackage ../development/tools/database/webdis { };
 
-  xc3sprog = callPackage ../development/tools/misc/xc3sprog { };
+  xc3sprog = callPackage ../development/embedded/xc3sprog { };
 
   xcb-imdkit = callPackage ../development/libraries/xcb-imdkit { };
 
@@ -14515,6 +14811,8 @@ in
 
   xxdiff-tip = xxdiff;
 
+  xxgdb = callPackage ../development/tools/misc/xxgdb { };
+
   yaml2json = callPackage ../development/tools/yaml2json { };
 
   yams = callPackage ../applications/audio/yams { };
@@ -14733,12 +15031,10 @@ in
   boost160 = callPackage ../development/libraries/boost/1.60.nix { };
   boost165 = callPackage ../development/libraries/boost/1.65.nix { };
   boost166 = callPackage ../development/libraries/boost/1.66.nix { };
-  boost167 = callPackage ../development/libraries/boost/1.67.nix { };
   boost168 = callPackage ../development/libraries/boost/1.68.nix { };
   boost169 = callPackage ../development/libraries/boost/1.69.nix { };
   boost16x = boost169;
   boost170 = callPackage ../development/libraries/boost/1.70.nix { };
-  boost171 = callPackage ../development/libraries/boost/1.71.nix { };
   boost172 = callPackage ../development/libraries/boost/1.72.nix { };
   boost173 = callPackage ../development/libraries/boost/1.73.nix { };
   boost174 = callPackage ../development/libraries/boost/1.74.nix { };
@@ -15173,6 +15469,8 @@ in
 
   filter-audio = callPackage ../development/libraries/filter-audio {};
 
+  filtron = callPackage ../servers/filtron {};
+
   flann = callPackage ../development/libraries/flann { };
 
   flatcc = callPackage ../development/libraries/flatcc { };
@@ -15530,6 +15828,24 @@ in
   # A GMP fork
   mpir = callPackage ../development/libraries/mpir {};
 
+  gnatcoll-core = callPackage ../development/libraries/ada/gnatcoll/core.nix { };
+
+  # gnatcoll-bindings repository
+  gnatcoll-gmp = callPackage ../development/libraries/ada/gnatcoll/bindings.nix { component = "gmp"; };
+  gnatcoll-iconv = callPackage ../development/libraries/ada/gnatcoll/bindings.nix { component = "iconv"; };
+  gnatcoll-lzma = callPackage ../development/libraries/ada/gnatcoll/bindings.nix { component = "lzma"; };
+  gnatcoll-omp = callPackage ../development/libraries/ada/gnatcoll/bindings.nix { component = "omp"; };
+  gnatcoll-python3 = callPackage ../development/libraries/ada/gnatcoll/bindings.nix { component = "python3"; };
+  gnatcoll-readline = callPackage ../development/libraries/ada/gnatcoll/bindings.nix { component = "readline"; };
+  gnatcoll-syslog = callPackage ../development/libraries/ada/gnatcoll/bindings.nix { component = "syslog"; };
+  gnatcoll-zlib = callPackage ../development/libraries/ada/gnatcoll/bindings.nix { component = "zlib"; };
+
+  # gnatcoll-db repository
+  gnatcoll-postgres = callPackage ../development/libraries/ada/gnatcoll/db.nix { component = "postgres"; };
+  gnatcoll-sql = callPackage ../development/libraries/ada/gnatcoll/db.nix { component = "sql"; };
+  gnatcoll-sqlite = callPackage ../development/libraries/ada/gnatcoll/db.nix { component = "sqlite"; };
+  gnatcoll-xref = callPackage ../development/libraries/ada/gnatcoll/db.nix { component = "xref"; };
+
   gns3Packages = dontRecurseIntoAttrs (callPackage ../applications/networking/gns3 { });
   gns3-gui = gns3Packages.guiStable;
   gns3-server = gns3Packages.serverStable;
@@ -15541,6 +15857,7 @@ in
 
   goocanvas = callPackage ../development/libraries/goocanvas { };
   goocanvas2 = callPackage ../development/libraries/goocanvas/2.x.nix { };
+  goocanvas3 = callPackage ../development/libraries/goocanvas/3.x.nix { };
   goocanvasmm2 = callPackage ../development/libraries/goocanvasmm { };
 
   gflags = callPackage ../development/libraries/gflags { };
@@ -15562,7 +15879,7 @@ in
   gsettings-qt = libsForQt5.callPackage ../development/libraries/gsettings-qt { };
 
   gst_all_1 = recurseIntoAttrs(callPackage ../development/libraries/gstreamer {
-    callPackage = newScope { libav = pkgs.ffmpeg; };
+    callPackage = newScope (gst_all_1 // { libav = pkgs.ffmpeg; });
     inherit (darwin.apple_sdk.frameworks) AudioToolbox AVFoundation Cocoa CoreFoundation CoreMedia CoreServices CoreVideo DiskArbitration Foundation IOKit MediaToolbox OpenGL VideoToolbox;
   });
 
@@ -15705,6 +16022,8 @@ in
     gdktarget = "x11";
   };
 
+  gtkextra = callPackage ../development/libraries/gtkextra { };
+
   gtk3 = callPackage ../development/libraries/gtk/3.x.nix {
     inherit (darwin.apple_sdk.frameworks) AppKit Cocoa;
   };
@@ -15785,7 +16104,9 @@ in
 
   gwenhywfar = callPackage ../development/libraries/aqbanking/gwenhywfar.nix { };
 
-  hamlib = callPackage ../development/libraries/hamlib { };
+  hamlib = hamlib_3;
+  hamlib_3 = callPackage ../development/libraries/hamlib { };
+  hamlib_4 = callPackage ../development/libraries/hamlib/4.nix { };
 
   heimdal = callPackage ../development/libraries/kerberos/heimdal.nix {
     inherit (darwin.apple_sdk.frameworks) CoreFoundation Security SystemConfiguration;
@@ -15864,11 +16185,6 @@ in
   inherit (callPackage ../development/tools/misc/hydra { })
     hydra-unstable;
 
-  hydra-flakes = throw ''
-    Flakes support has been merged into Hydra's master. Please use
-    `pkgs.hydra-unstable` now.
-  '';
-
   hydra-cli = callPackage ../development/tools/misc/hydra-cli { };
 
   hydraAntLogger = callPackage ../development/libraries/java/hydra-ant-logger { };
@@ -16060,6 +16376,8 @@ in
 
   judy = callPackage ../development/libraries/judy { };
 
+  kddockwidgets = libsForQt5.callPackage ../development/libraries/kddockwidgets { };
+
   keybinder = callPackage ../development/libraries/keybinder {
     automake = automake111x;
     lua = lua5_1;
@@ -16114,6 +16432,8 @@ in
 
   lmdbxx = callPackage ../development/libraries/lmdbxx { };
 
+  lemon-graph = callPackage ../development/libraries/lemon-graph { };
+
   levmar = callPackage ../development/libraries/levmar { };
 
   leptonica = callPackage ../development/libraries/leptonica { };
@@ -16168,10 +16488,14 @@ in
   libayatana-appindicator-gtk3 = libayatana-appindicator.override { gtkVersion = "3"; };
   libayatana-appindicator = callPackage ../development/libraries/libayatana-appindicator { };
 
+  libargs = callPackage ../development/libraries/libargs { };
+
   libarchive = callPackage ../development/libraries/libarchive {
     autoreconfHook = buildPackages.autoreconfHook269;
   };
 
+  libarchive-qt = libsForQt5.callPackage ../development/libraries/libarchive-qt { };
+
   libasr = callPackage ../development/libraries/libasr { };
 
   libass = callPackage ../development/libraries/libass { };
@@ -16237,14 +16561,16 @@ in
 
   libcacard = callPackage ../development/libraries/libcacard { };
 
+  libcamera = callPackage ../development/libraries/libcamera { };
+
   libcanberra = callPackage ../development/libraries/libcanberra {
-    inherit (darwin.apple_sdk.frameworks) CoreServices;
+    inherit (darwin.apple_sdk.frameworks) Carbon CoreServices;
   };
   libcanberra-gtk2 = pkgs.libcanberra.override {
-    gtk = gtk2-x11;
+    gtkSupport = "gtk2";
   };
   libcanberra-gtk3 = pkgs.libcanberra.override {
-    gtk = gtk3-x11;
+    gtkSupport = "gtk3";
   };
 
   libcanberra_kde = if (config.kde_runtime.libcanberraWithoutGTK or true)
@@ -16360,7 +16686,10 @@ in
 
   libdeflate = callPackage ../development/libraries/libdeflate { };
 
-  libdeltachat = callPackage ../development/libraries/libdeltachat { };
+  libdeltachat = callPackage ../development/libraries/libdeltachat {
+    inherit (darwin.apple_sdk.frameworks) CoreFoundation Security;
+    inherit (darwin) libiconv;
+  };
 
   libdevil = callPackage ../development/libraries/libdevil {
     inherit (darwin.apple_sdk.frameworks) OpenGL;
@@ -16552,6 +16881,8 @@ in
 
   libechonest = callPackage ../development/libraries/libechonest { };
 
+  libemf2svg = callPackage ../development/libraries/libemf2svg { };
+
   libev = callPackage ../development/libraries/libev { };
 
   libevent = callPackage ../development/libraries/libevent { };
@@ -16584,6 +16915,8 @@ in
 
   libffi = callPackage ../development/libraries/libffi { };
 
+  libfreeaptx = callPackage ../development/libraries/libfreeaptx { };
+
   libfreefare = callPackage ../development/libraries/libfreefare {
     inherit (darwin) libobjc;
   };
@@ -17073,8 +17406,6 @@ in
 
   librsync = callPackage ../development/libraries/librsync { };
 
-  librsync_0_9 = callPackage ../development/libraries/librsync/0.9.nix { };
-
   librttopo = callPackage ../development/libraries/librttopo { };
 
   libs3 = callPackage ../development/libraries/libs3 { };
@@ -17168,9 +17499,12 @@ in
 
   libtorrent-rasterbar-1_2_x = callPackage ../development/libraries/libtorrent-rasterbar/1.2.nix {
     inherit (darwin.apple_sdk.frameworks) SystemConfiguration;
+    python = python2;
   };
 
-  libtorrent-rasterbar-1_1_x = callPackage ../development/libraries/libtorrent-rasterbar/1.1.nix { };
+  libtorrent-rasterbar-1_1_x = callPackage ../development/libraries/libtorrent-rasterbar/1.1.nix {
+    python = python2;
+  };
 
   libtorrent-rasterbar = libtorrent-rasterbar-2_0_x;
 
@@ -17185,8 +17519,6 @@ in
 
   libtap = callPackage ../development/libraries/libtap { };
 
-  libtgvoip = callPackage ../development/libraries/libtgvoip { };
-
   libtsm = callPackage ../development/libraries/libtsm { };
 
   libgeotiff = callPackage ../development/libraries/libgeotiff { };
@@ -17261,6 +17593,8 @@ in
   libva1 = callPackage ../development/libraries/libva/1.0.0.nix { };
   libva1-minimal = libva1.override { minimal = true; };
 
+  libvarlink = callPackage ../development/libraries/libvarlink { };
+
   libvdpau = callPackage ../development/libraries/libvdpau { };
 
   libmodulemd = callPackage ../development/libraries/libmodulemd { };
@@ -17276,6 +17610,8 @@ in
 
   libvisio = callPackage ../development/libraries/libvisio { };
 
+  libvisio2svg = callPackage ../development/libraries/libvisio2svg { };
+
   libvisual = callPackage ../development/libraries/libvisual { };
 
   libvmaf = callPackage ../development/libraries/libvmaf { };
@@ -17519,7 +17855,7 @@ in
 
   mkvtoolnix = libsForQt5.callPackage ../applications/video/mkvtoolnix { };
 
-  mkvtoolnix-cli = callPackage ../applications/video/mkvtoolnix {
+  mkvtoolnix-cli = mkvtoolnix.override {
     withGUI = false;
   };
 
@@ -17585,7 +17921,7 @@ in
 
   mvapich = callPackage ../development/libraries/mvapich { };
 
-  mygpoclient = pythonPackages.mygpoclient;
+  mygpoclient = with python3.pkgs; toPythonApplication mygpoclient;
 
   mygui = callPackage ../development/libraries/mygui {
     ogre = ogre1_9;
@@ -17797,11 +18133,16 @@ in
 
   opencv4 = callPackage ../development/libraries/opencv/4.x.nix {
     inherit (darwin.apple_sdk.frameworks) AVFoundation Cocoa VideoDecodeAcceleration CoreMedia MediaToolbox;
+    pythonPackages = python3Packages;
   };
 
   opencv = opencv4;
 
-  openexr = callPackage ../development/libraries/openexr { };
+  imath = callPackage ../development/libraries/imath { };
+
+  openexr = openexr_2;
+  openexr_2 = callPackage ../development/libraries/openexr { };
+  openexr_3 = callPackage ../development/libraries/openexr/3.nix { };
 
   openexrid-unstable = callPackage ../development/libraries/openexrid-unstable { };
 
@@ -17837,7 +18178,6 @@ in
   openvdb = callPackage ../development/libraries/openvdb {};
 
   inherit (callPackages ../development/libraries/libressl { })
-    libressl_3_1
     libressl_3_2;
 
   # Please keep this pointed to the latest version. See also
@@ -17868,6 +18208,8 @@ in
 
   openrct2 = callPackage ../games/openrct2 { };
 
+  optparse-bash = callPackage ../development/libraries/optparse-bash { };
+
   orcania = callPackage ../development/libraries/orcania { };
 
   osm-gps-map = callPackage ../development/libraries/osm-gps-map { };
@@ -17964,7 +18306,9 @@ in
     };
   });
 
-  portmidi = callPackage ../development/libraries/portmidi {};
+  portmidi = callPackage ../development/libraries/portmidi {
+    inherit (darwin.apple_sdk.frameworks) Carbon CoreAudio CoreFoundation CoreMIDI CoreServices;
+  };
 
   presage = callPackage ../development/libraries/presage { };
 
@@ -18079,45 +18423,27 @@ in
     (import ../development/libraries/qt-5/5.12) {
       inherit newScope;
       inherit lib stdenv fetchurl fetchpatch fetchFromGitHub makeSetupHook makeWrapper;
-      inherit bison;
-      inherit cups;
-      inherit dconf;
-      inherit harfbuzz;
-      inherit libGL;
-      inherit perl;
-      inherit gtk3;
+      inherit bison cups dconf harfbuzz libGL perl gtk3;
       inherit (gst_all_1) gstreamer gst-plugins-base;
-      inherit llvmPackages_5;
+      inherit llvmPackages_5 darwin;
     });
 
   qt514 = recurseIntoAttrs (makeOverridable
     (import ../development/libraries/qt-5/5.14) {
       inherit newScope;
       inherit lib stdenv fetchurl fetchpatch fetchFromGitHub makeSetupHook makeWrapper;
-      inherit bison;
-      inherit cups;
-      inherit dconf;
-      inherit harfbuzz;
-      inherit libGL;
-      inherit perl;
-      inherit gtk3;
+      inherit bison cups dconf harfbuzz libGL perl gtk3;
       inherit (gst_all_1) gstreamer gst-plugins-base;
-      inherit llvmPackages_5;
+      inherit llvmPackages_5 darwin;
     });
 
   qt515 = recurseIntoAttrs (makeOverridable
     (import ../development/libraries/qt-5/5.15) {
       inherit newScope;
       inherit lib stdenv fetchurl fetchpatch fetchgit fetchFromGitHub makeSetupHook makeWrapper;
-      inherit bison;
-      inherit cups;
-      inherit dconf;
-      inherit harfbuzz;
-      inherit libGL;
-      inherit perl;
-      inherit gtk3;
+      inherit bison cups dconf harfbuzz libGL perl gtk3;
       inherit (gst_all_1) gstreamer gst-plugins-base;
-      inherit llvmPackages_5;
+      inherit llvmPackages_5 darwin;
     });
 
   libsForQt512 = recurseIntoAttrs (import ./qt5-packages.nix {
@@ -18147,8 +18473,6 @@ in
   qtEnv = qt5.env;
   qt5Full = qt5.full;
 
-  qtkeychain = callPackage ../development/libraries/qtkeychain { };
-
   qtscriptgenerator = callPackage ../development/libraries/qtscriptgenerator { };
 
   quesoglc = callPackage ../development/libraries/quesoglc { };
@@ -18217,9 +18541,6 @@ in
 
   lambda-mod-zsh-theme = callPackage ../shells/zsh/lambda-mod-zsh-theme { };
 
-  leksah = throw ("To use leksah, refer to the instructions in " +
-    "https://github.com/leksah/leksah.");
-
   libgme = callPackage ../development/libraries/audio/libgme { };
 
   librdf_raptor = callPackage ../development/libraries/librdf/raptor.nix { };
@@ -18245,7 +18566,7 @@ in
 
   qrupdate = callPackage ../development/libraries/qrupdate { };
 
-  qgnomeplatform =  libsForQt514.callPackage ../development/libraries/qgnomeplatform { };
+  qgnomeplatform = libsForQt5.callPackage ../development/libraries/qgnomeplatform { };
 
   randomx = callPackage ../development/libraries/randomx { };
 
@@ -18274,12 +18595,14 @@ in
 
   ronn = callPackage ../development/tools/ronn { };
 
-  rshell = python3.pkgs.callPackage ../development/tools/rshell { };
+  rshell = python3.pkgs.callPackage ../development/embedded/rshell { };
 
   rttr = callPackage ../development/libraries/rttr { };
 
   rubberband = callPackage ../development/libraries/rubberband { };
 
+  rustc-demangle = callPackage ../development/libraries/rustc-demangle { };
+
   s2geometry = callPackage ../development/libraries/s2geometry { };
 
   /*  This package references ghc844, which we no longer have. Unfortunately, I
@@ -18401,10 +18724,15 @@ in
     buildPackage = callPackage ../build-support/skaware/build-skaware-package.nix {
       inherit cleanPackaging;
     };
+    buildManPages = callPackage ../build-support/skaware/build-skaware-man-pages.nix { };
 
     skalibs = callPackage ../development/libraries/skalibs { };
     execline = callPackage ../tools/misc/execline { };
 
+    execline-man-pages = callPackage ../data/documentation/execline-man-pages {
+      inherit buildManPages;
+    };
+
     s6 = callPackage ../tools/system/s6 { };
     s6-dns = callPackage ../tools/networking/s6-dns { };
     s6-linux-init = callPackage ../os-specific/linux/s6-linux-init { };
@@ -18412,6 +18740,12 @@ in
     s6-networking = callPackage ../tools/networking/s6-networking { };
     s6-portable-utils = callPackage ../tools/misc/s6-portable-utils { };
     s6-rc = callPackage ../tools/system/s6-rc { };
+    s6-man-pages = callPackage ../data/documentation/s6-man-pages {
+      inherit buildManPages;
+    };
+    s6-networking-man-pages = callPackage ../data/documentation/s6-networking-man-pages {
+      inherit buildManPages;
+    };
 
     mdevd = callPackage ../os-specific/linux/mdevd { };
     nsss = callPackage ../development/libraries/nsss { };
@@ -18693,13 +19027,9 @@ in
 
   theft = callPackage ../development/libraries/theft { };
 
-  thrift = callPackage ../development/libraries/thrift {
-    inherit (pythonPackages) twisted;
-  };
+  thrift = callPackage ../development/libraries/thrift { };
 
-  thrift-0_10 = callPackage ../development/libraries/thrift/0.10.nix {
-    inherit (pythonPackages) twisted;
-  };
+  thrift-0_10 = callPackage ../development/libraries/thrift/0.10.nix { };
 
   tidyp = callPackage ../development/libraries/tidyp { };
 
@@ -18746,6 +19076,8 @@ in
 
   tremor = callPackage ../development/libraries/tremor { };
 
+  triehash = callPackage ../tools/misc/triehash { };
+
   trillian = callPackage ../tools/misc/trillian {
     buildGoModule = buildGo115Module;
   };
@@ -18912,7 +19244,7 @@ in
   webkitgtk = callPackage ../development/libraries/webkitgtk {
     harfbuzz = harfbuzzFull;
     inherit (gst_all_1) gst-plugins-base gst-plugins-bad;
-    inherit (darwin.apple_sdk) sdk;
+    inherit (darwin) apple_sdk;
   };
 
   websocketpp = callPackage ../development/libraries/websocket++ { };
@@ -19026,6 +19358,8 @@ in
     ];
   };
 
+  xmlada = callPackage ../development/libraries/ada/xmlada { };
+
   xmlrpc_c = callPackage ../development/libraries/xmlrpc-c { };
 
   xmlsec = callPackage ../development/libraries/xmlsec { };
@@ -19207,9 +19541,6 @@ in
 
   ### DEVELOPMENT / GO MODULES
 
-  buildGo114Package = callPackage ../development/go-packages/generic {
-    go = buildPackages.go_1_14;
-  };
   buildGo115Package = callPackage ../development/go-packages/generic {
     go = buildPackages.go_1_15;
   };
@@ -19219,9 +19550,6 @@ in
 
   buildGoPackage = buildGo116Package;
 
-  buildGo114Module = callPackage ../development/go-modules/generic {
-    go = buildPackages.go_1_14;
-  };
   buildGo115Module = callPackage ../development/go-modules/generic {
     go = buildPackages.go_1_15;
   };
@@ -19580,7 +19908,7 @@ in
   grafana-agent = callPackage ../servers/monitoring/grafana-agent { };
 
   grafana-loki = callPackage ../servers/monitoring/loki {
-    buildGoModule = buildGo115Module;
+    buildGoModule = buildGo116Module;
   };
 
   grafana_reporter = callPackage ../servers/monitoring/grafana-reporter { };
@@ -19625,6 +19953,8 @@ in
 
   hyprspace = callPackage ../applications/networking/hyprspace { inherit (darwin) iproute2mac; };
 
+  ic-keysmith = callPackage ../tools/security/ic-keysmith { };
+
   icecream = callPackage ../servers/icecream { };
 
   icingaweb2-ipl = callPackage ../servers/icingaweb2/ipl.nix { };
@@ -19707,6 +20037,10 @@ in
 
   mailman-web = with python3.pkgs; toPythonApplication mailman-web;
 
+  listadmin = callPackage ../applications/networking/listadmin {};
+
+  maker-panel = callPackage ../tools/misc/maker-panel { };
+
   mastodon = callPackage ../servers/mastodon { };
 
   materialize = callPackage ../servers/sql/materialize {
@@ -19785,6 +20119,8 @@ in
 
   neard = callPackage ../servers/neard { };
 
+  networkaudiod = callPackage ../servers/networkaudiod { };
+
   unit = callPackage ../servers/http/unit { };
 
   ncdns = callPackage ../servers/dns/ncdns { };
@@ -19817,7 +20153,7 @@ in
     modules = [ nginxModules.dav nginxModules.moreheaders ];
   };
 
-  nginxModules = callPackage ../servers/http/nginx/modules.nix { };
+  nginxModules = recurseIntoAttrs (callPackage ../servers/http/nginx/modules.nix { });
 
   # We should move to dynmaic modules and create a nginxFull package with all modules
   nginxShibboleth = nginxStable.override {
@@ -19873,6 +20209,8 @@ in
 
   postfix = callPackage ../servers/mail/postfix { };
 
+  postfixadmin = callPackage ../servers/postfixadmin { };
+
   postsrsd = callPackage ../servers/mail/postsrsd { };
 
   rspamd = callPackage ../servers/mail/rspamd { };
@@ -20022,7 +20360,7 @@ in
   };
 
   mysql80 = callPackage ../servers/sql/mysql/8.0.x.nix {
-    inherit (darwin) cctools developer_cmds;
+    inherit (darwin) cctools developer_cmds DarwinTools;
     inherit (darwin.apple_sdk.frameworks) CoreServices;
     boost = boost173; # Configure checks for specific version.
     protobuf = protobuf3_11;
@@ -20127,9 +20465,11 @@ in
     postgresql_13
     postgresql_14
   ;
-  postgresql = postgresql_11.override { this = postgresql; };
+  postgresql = postgresql_13.override { this = postgresql; };
   postgresqlPackages = recurseIntoAttrs postgresql.pkgs;
-  postgresql11Packages = pkgs.postgresqlPackages;
+  postgresql11Packages = recurseIntoAttrs postgresql_11.pkgs;
+  postgresql12Packages = recurseIntoAttrs postgresql_12.pkgs;
+  postgresql13Packages = pkgs.postgresqlPackages;
 
   postgresql_jdbc = callPackage ../development/java-modules/postgresql_jdbc { };
 
@@ -20152,6 +20492,7 @@ in
   prometheus-fritzbox-exporter = callPackage ../servers/monitoring/prometheus/fritzbox-exporter.nix { };
   prometheus-gitlab-ci-pipelines-exporter = callPackage ../servers/monitoring/prometheus/gitlab-ci-pipelines-exporter.nix { };
   prometheus-haproxy-exporter = callPackage ../servers/monitoring/prometheus/haproxy-exporter.nix { };
+  prometheus-influxdb-exporter = callPackage ../servers/monitoring/prometheus/influxdb-exporter.nix { };
   prometheus-jitsi-exporter = callPackage ../servers/monitoring/prometheus/jitsi-exporter.nix { };
   prometheus-jmx-httpserver = callPackage ../servers/monitoring/prometheus/jmx-httpserver.nix {  };
   prometheus-json-exporter = callPackage ../servers/monitoring/prometheus/json-exporter.nix { };
@@ -20216,8 +20557,6 @@ in
 
   rabbitmq-server = callPackage ../servers/amqp/rabbitmq-server {
     inherit (darwin.apple_sdk.frameworks) AppKit Carbon Cocoa;
-    elixir = beam_nox.interpreters.elixir_1_8;
-    erlang = beam_nox.interpreters.erlangR23;
   };
 
   radicale1 = callPackage ../servers/radicale/1.x.nix { };
@@ -20230,6 +20569,8 @@ in
 
   rake = callPackage ../development/tools/build-managers/rake { };
 
+  rakkess = callPackage ../development/tools/rakkess { };
+
   redis = callPackage ../servers/nosql/redis { };
 
   redstore = callPackage ../servers/http/redstore { };
@@ -20258,6 +20599,8 @@ in
 
   roon-bridge = callPackage ../servers/roon-bridge { };
 
+  rpiplay = callPackage ../servers/rpiplay { };
+
   roon-server = callPackage ../servers/roon-server { };
 
   s6 = skawarePackages.s6;
@@ -20270,10 +20613,7 @@ in
 
   deadpixi-sam-unstable = callPackage ../applications/editors/deadpixi-sam { };
 
-  samba4 = callPackage ../servers/samba/4.x.nix {
-    rpcgen = netbsd.rpcgen;
-    python = python3;
-  };
+  samba4 = callPackage ../servers/samba/4.x.nix { };
 
   samba = samba4;
 
@@ -20410,10 +20750,16 @@ in
 
   urserver = callPackage ../servers/urserver { };
 
+  vouch-proxy = callPackage ../servers/vouch-proxy { };
+
   victoriametrics = callPackage ../servers/nosql/victoriametrics { };
 
   virtlyst = libsForQt5.callPackage ../servers/web-apps/virtlyst { };
 
+  virtualenv = with python3Packages; toPythonApplication virtualenv;
+
+  virtualenv-clone = with python3Packages; toPythonApplication virtualenv-clone;
+
   virtuoso6 = callPackage ../servers/sql/virtuoso/6.x.nix {
     openssl = openssl_1_0_2;
   };
@@ -20434,8 +20780,6 @@ in
 
   webhook = callPackage ../servers/http/webhook { };
 
-  winstone = throw "Winstone is not supported anymore. Alternatives are Jetty or Tomcat.";
-
   xinetd = callPackage ../servers/xinetd { };
 
   zookeeper = callPackage ../servers/zookeeper {
@@ -20856,7 +21200,7 @@ in
 
   linuxConsoleTools = callPackage ../os-specific/linux/consoletools { };
 
-  openelec-dvb-firmware = callPackage ../os-specific/linux/firmware/openelec-dvb-firmware { };
+  libreelec-dvb-firmware = callPackage ../os-specific/linux/firmware/libreelec-dvb-firmware { };
 
   openiscsi = callPackage ../os-specific/linux/open-iscsi { };
 
@@ -20993,14 +21337,14 @@ in
     ];
   };
 
-  linux_5_12 = callPackage ../os-specific/linux/kernel/linux-5.12.nix {
+  linux_5_13 = callPackage ../os-specific/linux/kernel/linux-5.13.nix {
     kernelPatches = [
       kernelPatches.bridge_stp_helper
       kernelPatches.request_key_helper
     ];
   };
 
-  linux_5_13 = callPackage ../os-specific/linux/kernel/linux-5.13.nix {
+  linux_5_14 = callPackage ../os-specific/linux/kernel/linux-5.14.nix {
     kernelPatches = [
       kernelPatches.bridge_stp_helper
       kernelPatches.request_key_helper
@@ -21085,9 +21429,7 @@ in
 
     acpi_call = callPackage ../os-specific/linux/acpi-call {};
 
-    akvcam = callPackage ../os-specific/linux/akvcam {
-      inherit (qt5) qmake;
-    };
+    akvcam = callPackage ../os-specific/linux/akvcam { };
 
     amdgpu-pro = callPackage ../os-specific/linux/amdgpu-pro { };
 
@@ -21224,7 +21566,7 @@ in
 
     oci-seccomp-bpf-hook = if lib.versionAtLeast kernel.version "5.4" then callPackage ../os-specific/linux/oci-seccomp-bpf-hook { } else null;
 
-    perf = callPackage ../os-specific/linux/kernel/perf.nix { };
+    perf = if lib.versionAtLeast kernel.version "3.12" then callPackage ../os-specific/linux/kernel/perf.nix { } else null;
 
     phc-intel = if lib.versionAtLeast kernel.version "4.10" then callPackage ../os-specific/linux/phc-intel { } else null;
 
@@ -21299,7 +21641,7 @@ in
 
   # Update this when adding the newest kernel major version!
   # And update linux_latest_for_hardened below if the patches are already available
-  linuxPackages_latest = linuxPackages_5_13;
+  linuxPackages_latest = linuxPackages_5_14;
   linux_latest = linuxPackages_latest.kernel;
 
   # Realtime kernel packages.
@@ -21323,8 +21665,8 @@ in
   linuxPackages_4_19 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_19);
   linuxPackages_5_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_5_4);
   linuxPackages_5_10 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_5_10);
-  linuxPackages_5_12 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_5_12);
   linuxPackages_5_13 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_5_13);
+  linuxPackages_5_14 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_5_14);
 
   # When adding to the list above:
   # - Update linuxPackages_latest to the latest version
@@ -21355,11 +21697,8 @@ in
   linuxPackages_testing_bcachefs = recurseIntoAttrs (linuxPackagesFor pkgs.linux_testing_bcachefs);
 
   # Hardened Linux
-  hardenedLinuxPackagesFor = kernel': overrides:
-    let # Note: We use this hack since the hardened patches can lag behind and we don't want to delay updates:
-      linux_latest_for_hardened = pkgs.linux_5_12;
-      kernel = (if kernel' == pkgs.linux_latest then linux_latest_for_hardened else kernel').override overrides;
-    in linuxPackagesFor (kernel.override {
+  hardenedLinuxPackagesFor = kernel: overrides:
+    linuxPackagesFor (kernel.override {
       structuredExtraConfig = import ../os-specific/linux/kernel/hardened/config.nix {
         inherit lib;
         inherit (kernel) version;
@@ -21374,8 +21713,17 @@ in
   linuxPackages_hardened = recurseIntoAttrs (hardenedLinuxPackagesFor pkgs.linux { });
   linux_hardened = linuxPackages_hardened.kernel;
 
-  linuxPackages_latest_hardened = recurseIntoAttrs (hardenedLinuxPackagesFor pkgs.linux_latest { });
-  linux_latest_hardened = linuxPackages_latest_hardened.kernel;
+  linuxPackages_4_14_hardened = recurseIntoAttrs (hardenedLinuxPackagesFor pkgs.linux_4_14 { });
+  linux_4_14_hardened = linuxPackages_4_14_hardened.kernel;
+
+  linuxPackages_4_19_hardened = recurseIntoAttrs (hardenedLinuxPackagesFor pkgs.linux_4_19 { });
+  linux_4_19_hardened = linuxPackages_4_19_hardened.kernel;
+
+  linuxPackages_5_4_hardened = recurseIntoAttrs (hardenedLinuxPackagesFor pkgs.linux_5_4 { });
+  linux_5_4_hardened = linuxPackages_5_4_hardened.kernel;
+
+  linuxPackages_5_10_hardened = recurseIntoAttrs (hardenedLinuxPackagesFor pkgs.linux_5_10 { });
+  linux_5_10_hardened = linuxPackages_5_10_hardened.kernel;
 
   # Hardkernel (Odroid) kernels.
   linuxPackages_hardkernel_4_14 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_hardkernel_4_14);
@@ -21408,12 +21756,17 @@ in
     inherit name src;
     depsBuildBuild = [ buildPackages.stdenv.cc ]
       ++ lib.optionals (lib.versionAtLeast version "4.16") [ buildPackages.bison buildPackages.flex ];
+    postPatch = ''
+      patchShebangs scripts/
+    '';
     buildPhase = ''
+      (
       set -x
       make \
         ARCH=${stdenv.hostPlatform.linuxArch} \
         HOSTCC=${buildPackages.stdenv.cc.targetPrefix}gcc \
         ${makeTarget}
+      )
     '';
     installPhase = ''
       cp .config $out
@@ -21666,8 +22019,6 @@ in
 
   odroid-xu3-bootloader = callPackage ../tools/misc/odroid-xu3-bootloader { };
 
-  ofp = callPackage ../os-specific/linux/ofp { };
-
   ofono = callPackage ../tools/networking/ofono { };
 
   openpam = callPackage ../development/libraries/openpam { };
@@ -22309,6 +22660,8 @@ in
 
   envdir = callPackage ../tools/misc/envdir-go { };
 
+  execline-man-pages = skawarePackages.execline-man-pages;
+
   fantasque-sans-mono = callPackage ../data/fonts/fantasque-sans-mono {};
 
   fira = callPackage ../data/fonts/fira { };
@@ -22803,6 +23156,8 @@ in
 
   recursive = callPackage ../data/fonts/recursive { };
 
+  rubik = callPackage ../data/fonts/rubik { };
+
   rhodium-libre = callPackage ../data/fonts/rhodium-libre { };
 
   rictydiminished-with-firacode = callPackage ../data/fonts/rictydiminished-with-firacode { };
@@ -22823,6 +23178,10 @@ in
 
   open-fonts = callPackage ../data/fonts/open-fonts { };
 
+  s6-man-pages = skawarePackages.s6-man-pages;
+
+  s6-networking-man-pages = skawarePackages.s6-networking-man-pages;
+
   scientifica = callPackage ../data/fonts/scientifica { };
 
   siji = callPackage ../data/fonts/siji
@@ -22953,17 +23312,23 @@ in
 
   victor-mono = callPackage ../data/fonts/victor-mono { };
 
-  vimix-gtk-themes = callPackage ../data/themes/vimix {};
+  vimix-gtk-themes = callPackage ../data/themes/vimix {
+    inherit (gnome) gnome-shell;
+  };
 
   vistafonts = callPackage ../data/fonts/vista-fonts { };
 
   vistafonts-chs = callPackage ../data/fonts/vista-fonts-chs { };
 
+  vistafonts-cht = callPackage ../data/fonts/vista-fonts-cht { };
+
   vollkorn = callPackage ../data/fonts/vollkorn { };
 
   weather-icons = callPackage ../data/fonts/weather-icons { };
 
-  whitesur-gtk-theme = callPackage ../data/themes/whitesur { };
+  whitesur-gtk-theme = callPackage ../data/themes/whitesur {
+    inherit (gnome) gnome-shell;
+  };
 
   whitesur-icon-theme = callPackage ../data/icons/whitesur-icon-theme { };
 
@@ -23096,6 +23461,8 @@ in
 
   anup = callPackage ../applications/misc/anup {};
 
+  anytype = callPackage ../applications/misc/anytype { };
+
   ao = libfive;
 
   apache-directory-studio = callPackage ../applications/networking/apache-directory-studio {};
@@ -23147,7 +23514,11 @@ in
   aseprite = callPackage ../applications/editors/aseprite { };
   aseprite-unfree = aseprite.override { unfree = true; };
 
-  astroid = callPackage ../applications/networking/mailreaders/astroid { };
+  assign-lb-ip = callPackage ../applications/networking/cluster/assign-lb-ip { };
+
+  astroid = callPackage ../applications/networking/mailreaders/astroid {
+    vim = vim_configurable.override { features = "normal"; gui = "auto"; };
+  };
 
   aucatctl = callPackage ../applications/audio/aucatctl { };
 
@@ -23178,6 +23549,8 @@ in
 
   cheesecutter = callPackage ../applications/audio/cheesecutter { };
 
+  corefm = libsForQt5.callPackage ../applications/misc/corefm { };
+
   milkytracker = callPackage ../applications/audio/milkytracker { };
 
   ptcollab = libsForQt5.callPackage ../applications/audio/ptcollab { };
@@ -23199,8 +23572,6 @@ in
 
   autopanosiftc = callPackage ../applications/graphics/autopanosiftc { };
 
-  aesop = callPackage ../applications/office/aesop { };
-
   AusweisApp2 = libsForQt5.callPackage ../applications/misc/ausweisapp2 { };
 
   avidemux = libsForQt5.callPackage ../applications/video/avidemux { };
@@ -23223,6 +23594,8 @@ in
 
   backintime = backintime-qt;
 
+  ballerburg = callPackage ../games/ballerburg { } ;
+
   balsa = callPackage ../applications/networking/mailreaders/balsa { };
 
   bandwidth = callPackage ../tools/misc/bandwidth { };
@@ -23421,12 +23794,16 @@ in
     inherit (darwin.apple_sdk.frameworks) Carbon;
   };
 
+  cyanrip = callPackage ../applications/audio/cyanrip { };
+
   centerim = callPackage ../applications/networking/instant-messengers/centerim { };
 
   cgit = callPackage ../applications/version-management/git-and-tools/cgit {
     inherit (python3Packages) python wrapPython pygments markdown;
   };
 
+  chatty = callPackage ../applications/networking/instant-messengers/chatty { };
+
   chirp = callPackage ../applications/radio/chirp { };
 
   browsh = callPackage ../applications/networking/browsers/browsh { };
@@ -23514,6 +23891,8 @@ in
 
   copyq = libsForQt5.callPackage ../applications/misc/copyq { };
 
+  coreaction = libsForQt5.callPackage ../applications/misc/coreaction { };
+
   corectrl = libsForQt5.callPackage ../applications/misc/corectrl { };
 
   coriander = callPackage ../applications/video/coriander {
@@ -23551,6 +23930,7 @@ in
   comical = callPackage ../applications/graphics/comical { };
 
   containerd = callPackage ../applications/virtualization/containerd { };
+  containerd_1_4 = callPackage ../applications/virtualization/containerd/1.4.nix { };
 
   convchain = callPackage ../tools/graphics/convchain {};
 
@@ -23566,7 +23946,9 @@ in
     python3Packages = python37Packages;
   };
 
-  cqrlog = callPackage ../applications/radio/cqrlog { };
+  cqrlog = callPackage ../applications/radio/cqrlog {
+    hamlib = hamlib_4;
+  };
 
   crun = callPackage ../applications/virtualization/crun {};
 
@@ -23630,6 +24012,7 @@ in
     infobar = callPackage ../applications/audio/deadbeef/plugins/infobar.nix { };
     lyricbar = callPackage ../applications/audio/deadbeef/plugins/lyricbar.nix { };
     mpris2 = callPackage ../applications/audio/deadbeef/plugins/mpris2.nix { };
+    statusnotifier = callPackage ../applications/audio/deadbeef/plugins/statusnotifier.nix { };
   };
 
   deadbeef-with-plugins = callPackage ../applications/audio/deadbeef/wrapper.nix {
@@ -23644,7 +24027,9 @@ in
     inherit (pkgs.gnome2) libart_lgpl libgnomeui;
   };
 
-  direwolf = callPackage ../applications/radio/direwolf { };
+  direwolf = callPackage ../applications/radio/direwolf {
+    hamlib = hamlib_4;
+  };
 
   dirt = callPackage ../applications/audio/dirt {};
 
@@ -23696,6 +24081,8 @@ in
 
   docker-distribution = callPackage ../applications/virtualization/docker/distribution.nix { };
 
+  dockfmt = callPackage ../development/tools/dockfmt { };
+
   afterburn = callPackage ../tools/admin/afterburn {};
 
   docker-buildx = callPackage ../applications/virtualization/docker/buildx.nix { };
@@ -23716,12 +24103,14 @@ in
 
   drawio = callPackage ../applications/graphics/drawio {};
 
-  drawpile = libsForQt514.callPackage ../applications/graphics/drawpile { };
-  drawpile-server-headless = libsForQt514.callPackage ../applications/graphics/drawpile {
+  drawpile = libsForQt5.callPackage ../applications/graphics/drawpile { };
+  drawpile-server-headless = libsForQt5.callPackage ../applications/graphics/drawpile {
     buildClient = false;
     buildServerGui = false;
   };
 
+  drawterm = callPackage ../tools/admin/drawterm { };
+
   droopy = python3Packages.callPackage ../applications/networking/droopy { };
 
   drumgizmo = callPackage ../applications/audio/drumgizmo { };
@@ -23732,6 +24121,8 @@ in
 
   du-dust = callPackage ../tools/misc/dust { };
 
+  dutree = callPackage ../tools/misc/dutree { };
+
   devede = callPackage ../applications/video/devede { };
 
   denemo = callPackage ../applications/audio/denemo { };
@@ -23780,7 +24171,7 @@ in
     jdk = jdk11;
   });
 
-  ecpdap = callPackage ../development/tools/ecpdap {
+  ecpdap = callPackage ../development/embedded/fpga/ecpdap {
     inherit (darwin.apple_sdk.frameworks) AppKit;
   };
 
@@ -23844,8 +24235,8 @@ in
   };
 
   emacsPackagesFor = emacs: import ./emacs-packages.nix {
-    inherit (lib) makeScope makeOverridable;
-    inherit emacs;
+    inherit (lib) makeScope makeOverridable dontRecurseIntoAttrs;
+    emacs' = emacs;
     pkgs' = pkgs;  # default pkgs used for bootstrapping the emacs package set
   };
 
@@ -23853,8 +24244,6 @@ in
 
   enhanced-ctorrent = callPackage ../applications/networking/enhanced-ctorrent { };
 
-  envelope = callPackage ../applications/office/envelope { };
-
   eolie = callPackage ../applications/networking/browsers/eolie { };
 
   epdfview = callPackage ../applications/misc/epdfview { };
@@ -23896,6 +24285,8 @@ in
 
   expenses = callPackage ../applications/misc/expenses { };
 
+  fnott = callPackage ../applications/misc/fnott { };
+
   go-libp2p-daemon = callPackage ../servers/go-libp2p-daemon { };
 
   go-motion = callPackage ../development/tools/go-motion { };
@@ -23976,7 +24367,9 @@ in
 
   flexget = callPackage ../applications/networking/flexget { };
 
-  fldigi = callPackage ../applications/radio/fldigi { };
+  fldigi = callPackage ../applications/radio/fldigi {
+    hamlib = hamlib_4;
+  };
 
   flink = callPackage ../applications/networking/cluster/flink { };
 
@@ -24044,6 +24437,8 @@ in
   geany = callPackage ../applications/editors/geany { };
   geany-with-vte = callPackage ../applications/editors/geany/with-vte.nix { };
 
+  genact = callPackage ../applications/misc/genact { };
+
   genxword = callPackage ../applications/misc/genxword { };
 
   geoipupdate = callPackage ../applications/misc/geoipupdate/default.nix { };
@@ -24231,8 +24626,6 @@ in
   };
   wireshark-qt = wireshark;
 
-  # The GTK UI is deprecated by upstream. You probably want the QT version.
-  wireshark-gtk = throw "wireshark-gtk is not supported anymore. Use wireshark-qt or wireshark-cli instead.";
   wireshark-cli = wireshark.override {
     withQt = false;
     libpcap = libpcap.override { withBluez = stdenv.isLinux; };
@@ -24265,13 +24658,18 @@ in
 
   firefox-unwrapped = firefoxPackages.firefox;
   firefox-esr-78-unwrapped = firefoxPackages.firefox-esr-78;
-  firefox-esr-unwrapped = firefox-esr-78-unwrapped;
-  firefox-beta-unwrapped = firefoxPackages.firefox-beta;
+  firefox-esr-91-unwrapped = firefoxPackages.firefox-esr-91;
   firefox = wrapFirefox firefox-unwrapped { };
   firefox-wayland = wrapFirefox firefox-unwrapped { forceWayland = true; };
   firefox-esr-78 = wrapFirefox firefox-esr-78-unwrapped { };
+  firefox-esr-91 = wrapFirefox firefox-esr-91-unwrapped { };
+
   firefox-esr = firefox-esr-78;
+  firefox-esr-unwrapped = firefoxPackages.firefox-esr-78;
+  firefox-esr-wayland = wrapFirefox firefox-esr-91-unwrapped { forceWayland = true; };
+
   firefox-beta = wrapFirefox firefox-beta-unwrapped { };
+  firefox-beta-unwrapped = firefoxPackages.firefox-beta;
 
   firefox-bin-unwrapped = callPackage ../applications/networking/browsers/firefox-bin {
     channel = "release";
@@ -24279,7 +24677,7 @@ in
   };
 
   firefox-bin = wrapFirefox firefox-bin-unwrapped {
-    browserName = "firefox";
+    applicationName = "firefox";
     pname = "firefox-bin";
     desktopName = "Firefox";
   };
@@ -24290,7 +24688,7 @@ in
   };
 
   firefox-beta-bin = res.wrapFirefox firefox-beta-bin-unwrapped {
-    browserName = "firefox";
+    applicationName = "firefox";
     pname = "firefox-beta-bin";
     desktopName = "Firefox Beta";
   };
@@ -24301,7 +24699,7 @@ in
   };
 
   firefox-devedition-bin = res.wrapFirefox firefox-devedition-bin-unwrapped {
-    browserName = "firefox";
+    applicationName = "firefox";
     nameSuffix = "-devedition";
     pname = "firefox-devedition-bin";
     desktopName = "Firefox DevEdition";
@@ -24620,7 +25018,9 @@ in
 
   gollum = callPackage ../applications/misc/gollum { };
 
-  gonic = callPackage ../servers/gonic { };
+  gonic = callPackage ../servers/gonic {
+    inherit (darwin.apple_sdk.frameworks) AppKit AudioToolbox;
+  };
 
   googleearth = callPackage ../applications/misc/googleearth { };
 
@@ -24819,6 +25219,8 @@ in
 
   musikcube = callPackage ../applications/audio/musikcube {};
 
+  pass2csv = python3Packages.callPackage ../tools/security/pass2csv {};
+
   pass-secret-service = callPackage ../applications/misc/pass-secret-service { };
 
   pinboard = with python3Packages; toPythonApplication pinboard;
@@ -24829,6 +25231,8 @@ in
 
   pmbootstrap = python3Packages.callPackage ../tools/misc/pmbootstrap/default.nix { };
 
+  shepherd = nodePackages."@nerdwallet/shepherd";
+
   slack = callPackage ../applications/networking/instant-messengers/slack { };
 
   slack-cli = callPackage ../tools/networking/slack-cli { };
@@ -24930,7 +25334,7 @@ in
   i3lock-pixeled = callPackage ../misc/screensavers/i3lock-pixeled { };
 
   betterlockscreen = callPackage ../misc/screensavers/betterlockscreen {
-    inherit (xorg) xrdb;
+    inherit (xorg) xdpyinfo xrandr xset;
   };
 
   multilockscreen = callPackage ../misc/screensavers/multilockscreen { };
@@ -24979,7 +25383,7 @@ in
 
   ikiwiki = callPackage ../applications/misc/ikiwiki {
     python = python3;
-    inherit (perlPackages.override { pkgs = pkgs // { imagemagick = imagemagickBig;}; }) PerlMagick;
+    inherit (perlPackages.override { pkgs = pkgs // { imagemagick = imagemagickBig;}; }) ImageMagick;
   };
 
   iksemel = callPackage ../development/libraries/iksemel { };
@@ -25085,6 +25489,8 @@ in
 
   inspectrum = callPackage ../applications/radio/inspectrum { };
 
+  inputplug = callPackage ../tools/X11/inputplug { };
+
   ion3 = callPackage ../applications/window-managers/ion-3 {
     lua = lua5_1;
   };
@@ -25175,6 +25581,7 @@ in
     stdenv = gcc6Stdenv;
     boost = boost155.override {
       enablePython = true;
+      python = python2;
       stdenv = gcc6Stdenv;
       buildPackages = buildPackages // {
         stdenv = gcc6Stdenv;
@@ -25345,6 +25752,8 @@ in
 
   kubernetes-helmPlugins = dontRecurseIntoAttrs (callPackage ../applications/networking/cluster/helm/plugins { });
 
+  chart-testing = callPackage ../applications/networking/cluster/helm/chart-testing { };
+
   kubetail = callPackage ../applications/networking/cluster/kubetail { } ;
 
   kupfer = callPackage ../applications/misc/kupfer {
@@ -25533,6 +25942,8 @@ in
 
   lscolors = callPackage ../applications/misc/lscolors { };
 
+  luddite = with python3Packages; toPythonApplication luddite;
+
   lumail = callPackage ../applications/networking/mailreaders/lumail {
     lua = lua5_1;
   };
@@ -25570,8 +25981,6 @@ in
 
   magic-wormhole = with python3Packages; toPythonApplication magic-wormhole;
 
-  mail-notification = callPackage ../desktops/gnome-2/desktop/mail-notification {};
-
   magnetophonDSP = lib.recurseIntoAttrs {
     CharacterCompressor = callPackage ../applications/audio/magnetophonDSP/CharacterCompressor { };
     CompBus = callPackage ../applications/audio/magnetophonDSP/CompBus { };
@@ -25599,6 +26008,8 @@ in
 
   mark = callPackage ../tools/text/mark { };
 
+  markets = callPackage ../applications/misc/markets { };
+
   marp = callPackage ../applications/office/marp { };
 
   magnetico = callPackage ../applications/networking/p2p/magnetico { };
@@ -25671,6 +26082,8 @@ in
 
   merkaartor = libsForQt5.callPackage ../applications/misc/merkaartor { };
 
+  meshcentral = callPackage ../tools/admin/meshcentral { };
+
   meshlab = libsForQt5.callPackage ../applications/graphics/meshlab { };
 
   metadata-cleaner = callPackage ../applications/misc/metadata-cleaner { };
@@ -25720,6 +26133,8 @@ in
     ocamlPackages = ocaml-ng.ocamlPackages_4_08;
   };
 
+  mlvwm = callPackage ../applications/window-managers/mlvwm { };
+
   MMA = callPackage ../applications/audio/MMA { };
 
   mmex = callPackage ../applications/office/mmex {
@@ -25745,6 +26160,8 @@ in
 
   xmrig = callPackage ../applications/misc/xmrig { };
 
+  xmrig-mo = callPackage ../applications/misc/xmrig/moneroocean.nix { };
+
   xmrig-proxy = callPackage ../applications/misc/xmrig/proxy.nix { };
 
   molot-lite = callPackage ../applications/audio/molot-lite { };
@@ -25816,7 +26233,10 @@ in
 
   mpc123 = callPackage ../applications/audio/mpc123 { };
 
-  mpg123 = callPackage ../applications/audio/mpg123 { };
+  mpg123 = callPackage ../applications/audio/mpg123 {
+    inherit (darwin.apple_sdk.frameworks) AudioUnit AudioToolbox;
+    jack = libjack2;
+  };
 
   mpg321 = callPackage ../applications/audio/mpg321 { };
 
@@ -26023,6 +26443,8 @@ in
 
   pcmanx-gtk2 = callPackage ../applications/misc/pcmanx-gtk2 { };
 
+  pdfmixtool = libsForQt5.callPackage ../applications/office/pdfmixtool { };
+
   pig = callPackage ../applications/networking/cluster/pig { };
 
   pijul = callPackage ../applications/version-management/pijul { };
@@ -26053,6 +26475,8 @@ in
 
   yambar = callPackage ../applications/misc/yambar { };
 
+  yambar-wayland = callPackage ../applications/misc/yambar { waylandSupport = true; };
+
   polyphone = libsForQt514.callPackage ../applications/audio/polyphone { };
 
   portfolio = callPackage ../applications/office/portfolio {
@@ -26270,8 +26694,6 @@ in
 
   octoprint = callPackage ../applications/misc/octoprint { };
 
-  octoprint-plugins = throw "octoprint-plugins are now part of the octoprint.python.pkgs package set.";
-
   ocrad = callPackage ../applications/graphics/ocrad { };
 
   offrss = callPackage ../applications/networking/offrss { };
@@ -26428,6 +26850,8 @@ in
     inherit (gnome2) libgnomecanvas;
   };
 
+  pdfchain = callPackage ../tools/typesetting/pdfchain { };
+
   pdfcpu = callPackage ../applications/graphics/pdfcpu { };
   pdftk = callPackage ../tools/typesetting/pdftk {
     jre = jre8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
@@ -26489,6 +26913,8 @@ in
     plugins = [];
   };
 
+  pidgin-indicator = callPackage ../applications/networking/instant-messengers/pidgin-plugins/pidgin-indicator { };
+
   pidgin-latex = callPackage ../applications/networking/instant-messengers/pidgin-plugins/pidgin-latex {
     texLive = texlive.combined.scheme-basic;
   };
@@ -26582,9 +27008,7 @@ in
 
   polylith = callPackage ../development/tools/misc/polylith { };
 
-  polymake = callPackage ../applications/science/math/polymake {
-    openjdk = openjdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
-  };
+  polymake = callPackage ../applications/science/math/polymake { };
 
   pond = callPackage ../applications/networking/instant-messengers/pond { };
 
@@ -26602,6 +27026,8 @@ in
 
   qiv = callPackage ../applications/graphics/qiv { };
 
+  premid = callPackage ../applications/misc/premid { };
+
   processing = callPackage ../applications/graphics/processing {
     jdk = oraclejdk8;
   };
@@ -26767,9 +27193,9 @@ in
     tag = "-daemon-qt5";
   };
 
-  quirc = callPackage ../tools/graphics/quirc {};
+  quill-qr = callPackage ../tools/security/quill-qr { };
 
-  quilter = callPackage ../applications/editors/quilter { };
+  quirc = callPackage ../tools/graphics/quirc {};
 
   quisk = python38Packages.callPackage ../applications/radio/quisk { };
 
@@ -26924,8 +27350,6 @@ in
   rtl-sdr = callPackage ../applications/radio/rtl-sdr { };
   librtlsdr = callPackage ../development/libraries/librtlsdr { };
 
-  rtv = callPackage ../applications/misc/rtv { };
-
   rubyripper = callPackage ../applications/audio/rubyripper {};
 
   runc = callPackage ../applications/virtualization/runc {};
@@ -27004,8 +27428,6 @@ in
 
   skypeforlinux = callPackage ../applications/networking/instant-messengers/skypeforlinux { };
 
-  skype4pidgin = callPackage ../applications/networking/instant-messengers/pidgin-plugins/skype4pidgin { };
-
   SkypeExport = callPackage ../applications/networking/instant-messengers/SkypeExport { };
 
   slmenu = callPackage ../applications/misc/slmenu {};
@@ -27018,6 +27440,8 @@ in
 
   sniproxy = callPackage ../applications/networking/sniproxy { };
 
+  snixembed = callPackage ../applications/misc/snixembed { };
+
   sooperlooper = callPackage ../applications/audio/sooperlooper { };
 
   sops = callPackage ../tools/security/sops { };
@@ -27375,10 +27799,14 @@ in
 
   taskopen = callPackage ../applications/misc/taskopen { };
 
-  tdesktop = qt5.callPackage ../applications/networking/instant-messengers/telegram/tdesktop { };
+  tdesktop = libsForQt5.callPackage ../applications/networking/instant-messengers/telegram/tdesktop {
+    inherit (xorg) libpthreadstubs libXdmcp;
+  };
 
   tektoncd-cli = callPackage ../applications/networking/cluster/tektoncd-cli { };
 
+  telegram-cli = callPackage ../applications/networking/instant-messengers/telegram/telegram-cli { };
+
   telepathy-gabble = callPackage ../applications/networking/instant-messengers/telepathy/gabble { };
 
   telepathy-haze = callPackage ../applications/networking/instant-messengers/telepathy/haze {};
@@ -27420,22 +27848,28 @@ in
 
   thonny = callPackage ../applications/editors/thonny { };
 
-  thunderbird = thunderbird-78;
+  thunderbirdPackages = recurseIntoAttrs (callPackage ../applications/networking/mailreaders/thunderbird/packages.nix {
+    callPackage = pkgs.newScope {
+      inherit (rustPackages) cargo rustc;
+      libpng = libpng_apng;
+      gnused = gnused_422;
+      inherit (darwin.apple_sdk.frameworks) CoreMedia ExceptionHandling
+                                            Kerberos AVFoundation MediaToolbox
+                                            CoreLocation Foundation AddressBook;
+      inherit (darwin) libobjc;
+    };
+  });
 
-  thunderbird-78 = callPackage ../applications/networking/mailreaders/thunderbird {
-    # Using older Rust for workaround:
-    # https://bugzilla.mozilla.org/show_bug.cgi?id=1663715
-    inherit (rustPackages_1_45) cargo rustc;
-    libpng = libpng_apng;
-    icu = icu67;
-    libvpx = libvpx_1_8;
-    gtk3Support = true;
-  };
+  thunderbird-unwrapped = thunderbirdPackages.thunderbird;
+  thunderbird-78-unwrapped = thunderbirdPackages.thunderbird-78;
+  thunderbird = wrapThunderbird thunderbird-unwrapped { };
+  thunderbird-78 = wrapThunderbird thunderbird-78-unwrapped { };
+  thunderbird-wayland = wrapThunderbird thunderbird-unwrapped { forceWayland = true; };
 
   thunderbolt = callPackage ../os-specific/linux/thunderbolt {};
 
-  thunderbird-bin = thunderbird-bin-78;
-  thunderbird-bin-78 = callPackage ../applications/networking/mailreaders/thunderbird-bin { };
+  thunderbird-bin = thunderbird-bin-91;
+  thunderbird-bin-91 = callPackage ../applications/networking/mailreaders/thunderbird-bin { };
 
   ticpp = callPackage ../development/libraries/ticpp { };
 
@@ -27565,6 +27999,8 @@ in
 
   trojita = libsForQt5.callPackage ../applications/networking/mailreaders/trojita { };
 
+  ttyper = callPackage ../applications/misc/ttyper { };
+
   tudu = callPackage ../applications/office/tudu { };
 
   tuna = python3Packages.callPackage ../os-specific/linux/tuna { };
@@ -27575,7 +28011,10 @@ in
 
   tut = callPackage ../applications/misc/tut { };
 
-  tuxguitar = callPackage ../applications/editors/music/tuxguitar { };
+  tuxguitar = callPackage ../applications/editors/music/tuxguitar {
+    jre = jre8;
+    swt = swt_jdk8;
+  };
 
   twister = callPackage ../applications/networking/p2p/twister { };
 
@@ -27603,7 +28042,7 @@ in
 
   umurmur = callPackage ../applications/networking/umurmur { };
 
-  udocker = pythonPackages.callPackage ../tools/virtualization/udocker { };
+  udocker = callPackage ../tools/virtualization/udocker { };
 
   uefitoolPackages = recurseIntoAttrs (callPackage ../tools/system/uefitool/variants.nix {});
   uefitool = uefitoolPackages.new-engine;
@@ -27712,31 +28151,11 @@ in
   wrapNeovimUnstable = callPackage ../applications/editors/neovim/wrapper.nix { };
   wrapNeovim = neovim-unwrapped: lib.makeOverridable (neovimUtils.legacyWrapper neovim-unwrapped);
   neovim-unwrapped = callPackage ../applications/editors/neovim {
-    # neovim doesn't build with luajit on aarch64:
-    # ./luarocks init
-    # PANIC: unprotected error in call to Lua API (module 'luarocks.core.hardcoded' not found:
-    #         no field package.preload['luarocks.core.hardcoded']
-    #         no file '/private/tmp/nix-build-luarocks-3.2.1.drv-0/source/src/luarocks/core/hardcoded.lua'
-    #         no file './luarocks/core/hardcoded.lua'
-    #         no file '/nix/store/3s6c509q9vvq3db87rfi7qa38wzxwz8w-luajit-2.1.0-2021-05-29/share/luajit-2.1.0-beta3/luarocks/core/hardcoded.lua'
-    #         no file '/usr/local/share/lua/5.1/luarocks/core/hardcoded.lua'
-    #         no file '/usr/local/share/lua/5.1/luarocks/core/hardcoded/init.lua'
-    #         no file '/nix/store/3s6c509q9vvq3db87rfi7qa38wzxwz8w-luajit-2.1.0-2021-05-29/share/lua/5.1/luarocks/core/hardcoded.lua'
-    #         no file '/nix/store/3s6c509q9vvq3db87rfi7qa38wzxwz8w-luajit-2.1.0-2021-05-29/share/lua/5.1/luarocks/core/hardcoded/init.lua'
-    #         no file './luarocks/core/hardcoded.so'
-    #         no file '/usr/local/lib/lua/5.1/luarocks/core/hardcoded.so'
-    #         no file '/nix/store/3s6c509q9vvq3db87rfi7qa38wzxwz8w-luajit-2.1.0-2021-05-29/lib/lua/5.1/luarocks/core/hardcoded.so'
-    #         no file '/usr/local/lib/lua/5.1/loadall.so'
-    #         no file './luarocks.so'
-    #         no file '/usr/local/lib/lua/5.1/luarocks.so'
-    #         no file '/nix/store/3s6c509q9vvq3db87rfi7qa38wzxwz8w-luajit-2.1.0-2021-05-29/lib/lua/5.1/luarocks.so'
-    #         no file '/usr/local/lib/lua/5.1/loadall.so')
-    # make: *** [GNUmakefile:57: luarocks] Error 1
-    #
-    # See https://github.com/NixOS/nixpkgs/issues/129099
-    # Possibly related: https://github.com/neovim/neovim/issues/7879
+    # See:
+    #   - https://github.com/NixOS/nixpkgs/issues/129099
+    #   - https://github.com/NixOS/nixpkgs/issues/128959
     lua =
-      if stdenv.isAarch64 then lua5_1 else
+      if (stdenv.isDarwin && stdenv.isAarch64) then luajit_openresty else
       luajit;
   };
 
@@ -27746,8 +28165,6 @@ in
   neovim-qt-unwrapped = libsForQt5.callPackage ../applications/editors/neovim/neovim-qt.nix { };
   neovim-qt = libsForQt5.callPackage ../applications/editors/neovim/qt.nix { };
 
-  olifant = callPackage ../applications/misc/olifant { };
-
   gnvim-unwrapped = callPackage ../applications/editors/neovim/gnvim {
     gtk = pkgs.gtk3;
   };
@@ -27940,9 +28357,6 @@ in
 
   wapiti = callPackage ../tools/security/wapiti { };
 
-  way-cooler = throw ("way-cooler is abandoned by its author: " +
-    "https://way-cooler.org/blog/2020/01/09/way-cooler-post-mortem.html");
-
   wayfireApplications = wayfireApplications-unwrapped.withPlugins (plugins: [ plugins.wf-shell ]);
   inherit (wayfireApplications) wayfire wcm;
   wayfireApplications-unwrapped = recurseIntoAttrs (
@@ -28052,6 +28466,8 @@ in
 
   wrapFirefox = callPackage ../applications/networking/browsers/firefox/wrapper.nix { };
 
+  wrapThunderbird = callPackage ../applications/networking/mailreaders/thunderbird/wrapper.nix { };
+
   wp-cli = callPackage ../development/tools/wp-cli { };
 
   retroArchCores =
@@ -28330,6 +28746,8 @@ in
 
   xpdf = libsForQt5.callPackage ../applications/misc/xpdf { };
 
+  xplugd = callPackage ../tools/X11/xplugd { };
+
   xpointerbarrier = callPackage ../tools/X11/xpointerbarrier {};
 
   xkb-switch = callPackage ../tools/X11/xkb-switch { };
@@ -28457,6 +28875,10 @@ in
 
   youtube-dl-light = with python3Packages; toPythonApplication youtube-dl-light;
 
+  yt-dlp = with python3Packages; toPythonApplication yt-dlp;
+
+  yt-dlp-light = with python3Packages; toPythonApplication yt-dlp-light;
+
   youtube-viewer = perlPackages.WWWYoutubeViewer;
 
   ytalk = callPackage ../applications/networking/instant-messengers/ytalk { };
@@ -28514,9 +28936,6 @@ in
 
   zola = callPackage ../applications/misc/zola {
     inherit (darwin.apple_sdk.frameworks) CoreServices;
-    # Version 0.13.0 has the lexical_core 0.7.4 dependency that doesn't build
-    # with rust 1.53. This should be fixed in the next version.
-    rustPlatform = rustPackages_1_45.rustPlatform;
   };
 
   zombietrackergps = libsForQt5.callPackage ../applications/gis/zombietrackergps { };
@@ -28529,6 +28948,8 @@ in
 
   zsteg = callPackage ../tools/security/zsteg { };
 
+  inherit (nodePackages) zx;
+
   zynaddsubfx = zyn-fusion;
 
   zynaddsubfx-fltk = callPackage ../applications/audio/zynaddsubfx {
@@ -28556,38 +28977,62 @@ in
 
   balanceofsatoshis = nodePackages.balanceofsatoshis;
 
-  bitcoin  = libsForQt5.callPackage ../applications/blockchains/bitcoin.nix { miniupnpc = miniupnpc_2; withGui = true; };
-  bitcoind = callPackage ../applications/blockchains/bitcoin.nix { miniupnpc = miniupnpc_2; withGui = false; };
+  bitcoin  = libsForQt5.callPackage ../applications/blockchains/bitcoin {
+    miniupnpc = miniupnpc_2;
+    withGui = true;
+  };
+
+  bitcoind = callPackage ../applications/blockchains/bitcoin {
+    miniupnpc = miniupnpc_2;
+    withGui = false;
+  };
 
-  bitcoind-knots = callPackage ../applications/blockchains/bitcoin-knots.nix { miniupnpc = miniupnpc_2; };
+  bitcoind-knots = callPackage ../applications/blockchains/bitcoin-knots { miniupnpc = miniupnpc_2; };
 
   cgminer = callPackage ../applications/blockchains/cgminer { };
 
   chia = callPackage ../applications/blockchains/chia { };
 
-  clightning = callPackage ../applications/blockchains/clightning.nix { };
+  chia-plotter = callPackage ../applications/blockchains/chia-plotter { };
 
-  bitcoin-abc  = libsForQt5.callPackage ../applications/blockchains/bitcoin-abc.nix { boost = boost165; withGui = true; };
-  bitcoind-abc = callPackage ../applications/blockchains/bitcoin-abc.nix {
+  clightning = callPackage ../applications/blockchains/clightning { };
+
+  bitcoin-abc  = libsForQt5.callPackage ../applications/blockchains/bitcoin-abc {
+    boost = boost165;
+    withGui = true;
+  };
+  bitcoind-abc = callPackage ../applications/blockchains/bitcoin-abc {
     boost = boost165;
     mkDerivation = stdenv.mkDerivation;
     withGui = false;
   };
 
-  bitcoin-unlimited  = libsForQt514.callPackage ../applications/blockchains/bitcoin-unlimited.nix {
+  bitcoin-unlimited  = libsForQt514.callPackage ../applications/blockchains/bitcoin-unlimited {
     inherit (darwin.apple_sdk.frameworks) Foundation ApplicationServices AppKit;
     withGui = true;
   };
-  bitcoind-unlimited = callPackage ../applications/blockchains/bitcoin-unlimited.nix {
+  bitcoind-unlimited = callPackage ../applications/blockchains/bitcoin-unlimited {
     inherit (darwin.apple_sdk.frameworks) Foundation ApplicationServices AppKit;
     withGui = false;
   };
 
-  bitcoin-classic  = libsForQt514.callPackage ../applications/blockchains/bitcoin-classic.nix { boost = boost165; withGui = true; };
-  bitcoind-classic = callPackage ../applications/blockchains/bitcoin-classic.nix { boost = boost165; withGui = false; };
+  bitcoin-classic  = libsForQt514.callPackage ../applications/blockchains/bitcoin-classic {
+    boost = boost165;
+    withGui = true;
+  };
+  bitcoind-classic = callPackage ../applications/blockchains/bitcoin-classic {
+    boost = boost165;
+    withGui = false;
+  };
 
-  bitcoin-gold = libsForQt514.callPackage ../applications/blockchains/bitcoin-gold.nix { boost = boost165; withGui = true; };
-  bitcoind-gold = callPackage ../applications/blockchains/bitcoin-gold.nix { boost = boost165; withGui = false; };
+  bitcoin-gold = libsForQt514.callPackage ../applications/blockchains/bitcoin-gold {
+    boost = boost165;
+    withGui = true;
+  };
+  bitcoind-gold = callPackage ../applications/blockchains/bitcoin-gold {
+    boost = boost165;
+    withGui = false;
+  };
 
   btcpayserver = callPackage ../applications/blockchains/btcpayserver { };
 
@@ -28595,33 +29040,47 @@ in
 
   cryptop = python3.pkgs.callPackage ../applications/blockchains/cryptop { };
 
-  dashpay = callPackage ../applications/blockchains/dashpay.nix { };
+  dashpay = callPackage ../applications/blockchains/dashpay { };
 
-  dcrd = callPackage ../applications/blockchains/dcrd.nix { };
-  dcrwallet = callPackage ../applications/blockchains/dcrwallet.nix { };
+  dcrd = callPackage ../applications/blockchains/dcrd { };
+  dcrwallet = callPackage ../applications/blockchains/dcrwallet { };
 
-  dero = callPackage ../applications/blockchains/dero.nix { boost = boost165; };
+  dero = callPackage ../applications/blockchains/dero { boost = boost165; };
 
-  digibyte = libsForQt514.callPackage ../applications/blockchains/digibyte.nix { withGui = true; };
-  digibyted = callPackage ../applications/blockchains/digibyte.nix { withGui = false; };
+  digibyte = libsForQt514.callPackage ../applications/blockchains/digibyte { withGui = true; };
+  digibyted = callPackage ../applications/blockchains/digibyte { withGui = false; };
 
-  dogecoin  = callPackage ../applications/blockchains/dogecoin.nix { boost = boost165; withGui = true; };
-  dogecoind = callPackage ../applications/blockchains/dogecoin.nix { boost = boost165; withGui = false; };
+  dogecoin  = callPackage ../applications/blockchains/dogecoin {
+    boost = boost165;
+    withGui = true;
+  };
+  dogecoind = callPackage ../applications/blockchains/dogecoin {
+    boost = boost165;
+    withGui = false;
+  };
 
-  eclair = callPackage ../applications/blockchains/eclair.nix { };
+  eclair = callPackage ../applications/blockchains/eclair { };
 
-  electrs = callPackage ../applications/blockchains/electrs.nix { };
+  electrs = callPackage ../applications/blockchains/electrs { };
 
-  elements  = libsForQt5.callPackage ../applications/blockchains/elements.nix { miniupnpc = miniupnpc_2; withGui = true; };
-  elementsd = callPackage ../applications/blockchains/elements.nix { miniupnpc = miniupnpc_2; withGui = false; };
+  elements  = libsForQt5.callPackage ../applications/blockchains/elements {
+    miniupnpc = miniupnpc_2;
+    withGui = true;
+  };
+  elementsd = callPackage ../applications/blockchains/elements {
+    miniupnpc = miniupnpc_2;
+    withGui = false;
+  };
 
   ergo = callPackage ../applications/blockchains/ergo { };
 
+  erigon = callPackage ../applications/blockchains/erigon.nix { };
+
   exodus = callPackage ../applications/blockchains/exodus { };
 
   faraday = callPackage ../applications/blockchains/faraday { };
 
-  go-ethereum = callPackage ../applications/blockchains/go-ethereum.nix {
+  go-ethereum = callPackage ../applications/blockchains/go-ethereum {
     inherit (darwin) libobjc;
     inherit (darwin.apple_sdk.frameworks) IOKit;
   };
@@ -28634,18 +29093,18 @@ in
 
   lightning-pool = callPackage ../applications/blockchains/lightning-pool { };
 
-  litecoin  = libsForQt514.callPackage ../applications/blockchains/litecoin.nix {
+  litecoin  = libsForQt514.callPackage ../applications/blockchains/litecoin {
     inherit (darwin.apple_sdk.frameworks) AppKit;
   };
   litecoind = litecoin.override { withGui = false; };
 
   livedl = callPackage ../tools/misc/livedl { };
 
-  lnd = callPackage ../applications/blockchains/lnd.nix { };
+  lnd = callPackage ../applications/blockchains/lnd { };
 
   lndconnect = callPackage ../applications/blockchains/lndconnect { };
 
-  lndmanage = callPackage ../applications/blockchains/lndmanage.nix { };
+  lndmanage = callPackage ../applications/blockchains/lndmanage { };
 
   monero = callPackage ../applications/blockchains/monero {
     inherit (darwin.apple_sdk.frameworks) CoreData IOKit PCSC;
@@ -28660,18 +29119,21 @@ in
     boost = boost17x;
   };
 
-  masari = callPackage ../applications/blockchains/masari.nix { boost = boost165; };
+  masari = callPackage ../applications/blockchains/masari { boost = boost165; };
 
   nano-wallet = libsForQt5.callPackage ../applications/blockchains/nano-wallet { };
 
-  namecoin  = callPackage ../applications/blockchains/namecoin.nix  { withGui = true; };
-  namecoind = callPackage ../applications/blockchains/namecoin.nix { withGui = false; };
+  namecoin  = callPackage ../applications/blockchains/namecoin { withGui = true; };
+  namecoind = callPackage ../applications/blockchains/namecoin { withGui = false; };
 
   nbxplorer = callPackage ../applications/blockchains/nbxplorer { };
 
-  pivx = libsForQt5.callPackage ../applications/blockchains/pivx.nix { withGui = true; };
-  pivxd = callPackage ../applications/blockchains/pivx.nix {
+  pivx = libsForQt5.callPackage ../applications/blockchains/pivx { withGui = true; };
+  pivxd = callPackage ../applications/blockchains/pivx {
     withGui = false;
+    qtbase = null;
+    qttools = null;
+    wrapQtAppsHook = null;
     autoreconfHook = buildPackages.autoreconfHook269;
   };
 
@@ -28679,22 +29141,26 @@ in
 
   pycoin = with python3Packages; toPythonApplication pycoin;
 
-  stellar-core = callPackage ../applications/blockchains/stellar-core.nix { };
-
-  sumokoin = callPackage ../applications/blockchains/sumokoin.nix { boost = boost165; };
+  stellar-core = callPackage ../applications/blockchains/stellar-core { };
 
-  tessera = callPackage ../applications/blockchains/tessera.nix { };
+  sumokoin = callPackage ../applications/blockchains/sumokoin { boost = boost165; };
 
-  turbo-geth = callPackage ../applications/blockchains/turbo-geth.nix { };
+  tessera = callPackage ../applications/blockchains/tessera { };
 
-  vertcoin  = libsForQt514.callPackage ../applications/blockchains/vertcoin.nix { boost = boost165; withGui = true; };
-  vertcoind = callPackage ../applications/blockchains/vertcoin.nix { boost = boost165; withGui = false; };
+  vertcoin  = libsForQt514.callPackage ../applications/blockchains/vertcoin {
+    boost = boost165;
+    withGui = true;
+  };
+  vertcoind = callPackage ../applications/blockchains/vertcoin {
+    boost = boost165;
+    withGui = false;
+  };
 
   wasabiwallet = callPackage ../applications/blockchains/wasabiwallet { };
 
-  wasabibackend = callPackage ../applications/blockchains/wasabibackend { Nuget = dotnetPackages.Nuget;  };
+  wasabibackend = callPackage ../applications/blockchains/wasabibackend { Nuget = dotnetPackages.Nuget; };
 
-  wownero = callPackage ../applications/blockchains/wownero.nix {};
+  wownero = callPackage ../applications/blockchains/wownero { };
 
   zcash = callPackage ../applications/blockchains/zcash { stdenv = llvmPackages_11.stdenv; };
 
@@ -28706,9 +29172,9 @@ in
 
   polkadot = callPackage ../applications/blockchains/polkadot { };
 
-  particl-core = callPackage ../applications/blockchains/particl/particl-core.nix { miniupnpc = miniupnpc_2; };
+  particl-core = callPackage ../applications/blockchains/particl-core { miniupnpc = miniupnpc_2; };
 
-  quorum = callPackage ../applications/blockchains/quorum.nix { };
+  quorum = callPackage ../applications/blockchains/quorum { };
 
   whirlpool-gui = callPackage ../applications/blockchains/whirlpool-gui { };
 
@@ -28794,10 +29260,6 @@ in
 
   beret = callPackage ../games/beret { };
 
-  bitsnbots = callPackage ../games/bitsnbots {
-    lua = lua5;
-  };
-
   black-hole-solver = callPackage ../games/black-hole-solver {
     inherit (perlPackages) PathTiny;
   };
@@ -28814,6 +29276,8 @@ in
 
   brogue = callPackage ../games/brogue { };
 
+  brutalmaze = callPackage ../games/brutalmaze { };
+
   bsdgames = callPackage ../games/bsdgames { };
 
   btanks = callPackage ../games/btanks { };
@@ -28832,6 +29296,8 @@ in
 
   cdogs-sdl = callPackage ../games/cdogs-sdl { };
 
+  cgoban = callPackage ../games/cgoban { };
+
   chessdb = callPackage ../games/chessdb { };
 
   chessx = libsForQt5.callPackage ../games/chessx { };
@@ -28848,6 +29314,8 @@ in
 
   crispyDoom = callPackage ../games/crispy-doom { };
 
+  vintagestory = callPackage ../games/vintagestory/default.nix { };
+
   cri-o = callPackage ../applications/virtualization/cri-o/wrapper.nix { };
   cri-o-unwrapped = callPackage ../applications/virtualization/cri-o { };
 
@@ -28926,6 +29394,8 @@ in
 
   eboard = callPackage ../games/eboard { };
 
+  ecwolf = callPackage ../games/ecwolf { };
+
   eduke32 = callPackage ../games/eduke32 { };
 
   egoboo = callPackage ../games/egoboo { };
@@ -29048,6 +29518,8 @@ in
 
   gmad = callPackage ../games/gmad { };
 
+  gnonograms = callPackage ../games/gnonograms { };
+
   gnubg = callPackage ../games/gnubg { };
 
   gnuchess = callPackage ../games/gnuchess { };
@@ -29142,6 +29614,8 @@ in
 
   liberal-crime-squad = callPackage ../games/liberal-crime-squad { };
 
+  liberation-circuit = callPackage ../games/liberation-circuit { };
+
   lincity = callPackage ../games/lincity {};
 
   lincity_ng = callPackage ../games/lincity/ng.nix {
@@ -29359,6 +29833,8 @@ in
 
   racer = callPackage ../games/racer { };
 
+  randtype = callPackage ../games/randtype { };
+
   redeclipse = callPackage ../games/redeclipse { };
 
   residualvm = callPackage ../games/residualvm { };
@@ -29390,6 +29866,12 @@ in
 
   rocksndiamonds = callPackage ../games/rocksndiamonds { };
 
+  rott = callPackage ../games/rott { };
+
+  rott-shareware = rott.override {
+    buildShareware = true;
+  };
+
   rrootage = callPackage ../games/rrootage { };
 
   saga = libsForQt5.callPackage ../applications/gis/saga {
@@ -29502,6 +29984,8 @@ in
     inherit (gnome) zenity;
   };
 
+  protonup = with python3Packages; toPythonApplication protonup;
+
   sdlpop = callPackage ../games/sdlpop { };
 
   stepmania = callPackage ../games/stepmania {
@@ -29759,8 +30243,8 @@ in
 
   keen4 = callPackage ../games/keen4 { };
 
-  zeroadPackages = dontRecurseIntoAttrs (callPackage ../games/0ad {
-    wxGTK = wxGTK30;
+  zeroadPackages = recurseIntoAttrs (callPackage ../games/0ad {
+    wxGTK = wxGTK31;
   });
 
   zeroad = zeroadPackages.zeroad;
@@ -29847,10 +30331,20 @@ in
     eigen = eigen2;
   };
 
+  avogadrolibs = libsForQt5.callPackage ../development/libraries/science/chemistry/avogadrolibs { };
+
+  molequeue = libsForQt5.callPackage ../development/libraries/science/chemistry/molequeue { };
+
+  avogadro2 = libsForQt5.callPackage ../applications/science/chemistry/avogadro2 { };
+
   chemtool = callPackage ../applications/science/chemistry/chemtool { };
 
+  cp2k = callPackage ../applications/science/chemistry/cp2k { };
+
   d-seams = callPackage ../applications/science/chemistry/d-seams {};
 
+  ergoscf = callPackage ../applications/science/chemistry/ergoscf { };
+
   gwyddion = callPackage ../applications/science/chemistry/gwyddion {};
 
   jmol = callPackage ../applications/science/chemistry/jmol {
@@ -29951,6 +30445,8 @@ in
 
   conglomerate = callPackage ../applications/science/biology/conglomerate { };
 
+  dalfox = callPackage ../tools/security/dalfox { };
+
   dcm2niix = callPackage ../applications/science/biology/dcm2niix { };
 
   deepdiff = with python3Packages; toPythonApplication deepdiff;
@@ -30125,6 +30621,8 @@ in
 
   ### SCIENCE/MACHINE LEARNING
 
+  nengo-gui = callPackage ../applications/science/machine-learning/nengo-gui { };
+
   sc2-headless = callPackage ../applications/science/machine-learning/sc2-headless { };
 
   ### SCIENCE/MATH
@@ -30385,7 +30883,7 @@ in
 
   cryptoverif = callPackage ../applications/science/logic/cryptoverif { };
 
-  crypto-org-wallet = callPackage ../applications/blockchains/crypto-org-wallet.nix { };
+  crypto-org-wallet = callPackage ../applications/blockchains/crypto-org-wallet { };
 
   caprice32 = callPackage ../misc/emulators/caprice32 { };
 
@@ -30463,6 +30961,8 @@ in
 
   logisim = callPackage ../applications/science/logic/logisim {};
 
+  logisim-evolution = callPackage ../applications/science/logic/logisim-evolution {};
+
   ltl2ba = callPackage ../applications/science/logic/ltl2ba {};
 
   metis-prover = callPackage ../applications/science/logic/metis-prover { };
@@ -30546,6 +31046,8 @@ in
 
   boolector = callPackage ../applications/science/logic/boolector {};
 
+  bitwuzla = callPackage ../applications/science/logic/bitwuzla {};
+
   symbiyosys = callPackage ../applications/science/logic/symbiyosys {};
 
   mcy = callPackage ../applications/science/logic/mcy {};
@@ -30608,6 +31110,8 @@ in
 
   openems = callPackage ../applications/science/electronics/openems { };
 
+  openroad = libsForQt5.callPackage ../applications/science/electronics/openroad { };
+
   pcb = callPackage ../applications/science/electronics/pcb { };
 
   qucs = callPackage ../applications/science/electronics/qucs { };
@@ -30709,7 +31213,9 @@ in
 
   scotch = callPackage ../applications/science/math/scotch { };
 
-  mininet = callPackage ../tools/virtualization/mininet { };
+  mininet = callPackage ../tools/virtualization/mininet {
+    python = python3;
+  };
 
   msieve = callPackage ../applications/science/math/msieve { };
 
@@ -31005,6 +31511,8 @@ in
 
   emu2 = callPackage ../misc/emulators/emu2 { };
 
+  apt = callPackage ../tools/package-management/apt { };
+
   dpkg = callPackage ../tools/package-management/dpkg { };
 
   dumb = callPackage ../misc/dumb { };
@@ -31055,7 +31563,7 @@ in
 
   faustStk = callPackage ../applications/audio/faustStk  { };
 
-  fceux = callPackage ../misc/emulators/fceux { };
+  fceux = libsForQt5.callPackage ../misc/emulators/fceux { };
 
   flockit = callPackage ../tools/backup/flockit { };
 
@@ -31096,6 +31604,8 @@ in
 
   gobuster = callPackage ../tools/security/gobuster { };
 
+  gotestwaf = callPackage ../tools/security/gotestwaf { };
+
   guetzli = callPackage ../applications/graphics/guetzli { };
 
   gummi = callPackage ../applications/misc/gummi { };
@@ -31104,6 +31614,8 @@ in
 
   hatari = callPackage ../misc/emulators/hatari { };
 
+  hck = callPackage ../tools/text/hck { };
+
   helm = callPackage ../applications/audio/helm { };
 
   helmfile = callPackage ../applications/networking/cluster/helmfile { };
@@ -31453,10 +31965,8 @@ in
 
   nix-repl = throw (
     "nix-repl has been removed because it's not maintained anymore, " +
-    (lib.optionalString (! lib.versionAtLeast "2" (lib.versions.major builtins.nixVersion))
-      "ugrade your Nix installation to a newer version and ") +
-    "use `nix repl` instead. " +
-    "Also see https://github.com/NixOS/nixpkgs/pull/44903"
+    (lib.optionalString (!lib.versionAtLeast "2" (lib.versions.major builtins.nixVersion)) "ugrade your Nix installation to a newer version and ") +
+    "use `nix repl` instead. Also see https://github.com/NixOS/nixpkgs/pull/44903"
   );
 
   nixpkgs-review = callPackage ../tools/package-management/nixpkgs-review { };
@@ -31653,6 +32163,8 @@ in
 
   run-scaled = callPackage ../tools/X11/run-scaled { };
 
+  runiq = callPackage ../tools/text/runiq { };
+
   runit = callPackage ../tools/system/runit { };
 
   refind = callPackage ../tools/bootloaders/refind { };
@@ -31708,6 +32220,8 @@ in
 
   sane-backends = callPackage ../applications/graphics/sane/backends (config.sane or {});
 
+  sane-drivers = callPackage ../applications/graphics/sane/drivers.nix {};
+
   senv = callPackage ../applications/misc/senv { };
 
   brlaser = callPackage ../misc/cups/drivers/brlaser { };
@@ -31898,7 +32412,7 @@ in
 
   unicode-paracode = callPackage ../tools/misc/unicode { };
 
-  unixcw = callPackage ../applications/radio/unixcw { };
+  unixcw = libsForQt5.callPackage ../applications/radio/unixcw { };
 
   vault = callPackage ../tools/security/vault { };
 
@@ -31929,10 +32443,14 @@ in
 
   viewnior = callPackage ../applications/graphics/viewnior { };
 
-  vimUtils = callPackage ../misc/vim-plugins/vim-utils.nix { };
+
+  vimUtils = callPackage ../misc/vim-plugins/vim-utils.nix {
+    inherit (lua51Packages) hasLuaModule;
+  };
 
   vimPlugins = recurseIntoAttrs (callPackage ../misc/vim-plugins {
     llvmPackages = llvmPackages_6;
+    luaPackages = lua51Packages;
   });
 
   vimb-unwrapped = callPackage ../applications/networking/browsers/vimb { };
@@ -32030,6 +32548,8 @@ in
 
   wxsqlite3 = callPackage ../development/libraries/wxsqlite3 {
     wxGTK = wxGTK30;
+    inherit (darwin.apple_sdk.frameworks) Cocoa;
+    inherit (darwin.stubs) setfile rez derez;
   };
 
   wxsqliteplus = callPackage ../development/libraries/wxsqliteplus {
@@ -32097,8 +32617,7 @@ in
   xzoom = callPackage ../tools/X11/xzoom {};
 
   yabai = callPackage ../os-specific/darwin/yabai {
-    inherit (darwin.apple_sdk.frameworks)
-      Carbon Cocoa ScriptingBridge;
+    inherit (darwin.apple_sdk.frameworks) Carbon Cocoa ScriptingBridge;
   };
 
   yabause = libsForQt5.callPackage ../misc/emulators/yabause {
@@ -32172,6 +32691,11 @@ in
     inherit (darwin.apple_sdk.frameworks) Carbon Cocoa OpenGL OpenAL;
   };
 
+  bsnes-hd = callPackage ../misc/emulators/bsnes-hd {
+    inherit (gnome2) gtksourceview;
+    inherit (darwin.apple_sdk.frameworks) Cocoa OpenAL;
+  };
+
   yapesdl = callPackage ../misc/emulators/yapesdl { };
 
   x16-emulator = callPackage ../misc/emulators/commanderx16/emulator.nix { };
@@ -32390,7 +32914,7 @@ in
     stdenv = crossLibcStdenv;
     };
 
-  omnisharp-roslyn = callPackage ../development/tools/omnisharp-roslyn { };
+  omnisharp-roslyn = callPackage ../development/tools/omnisharp-roslyn { dotnet-sdk = dotnet-sdk_5; };
 
   wasmtime = callPackage ../development/interpreters/wasmtime {};
 
@@ -32458,9 +32982,11 @@ in
 
   fluxboxlauncher = callPackage ../applications/misc/fluxboxlauncher {};
 
-  btcdeb = callPackage ../applications/blockchains/btcdeb {};
+  btcdeb = callPackage ../applications/blockchains/btcdeb { };
 
-  jitsi-meet-electron = callPackage ../applications/networking/instant-messengers/jitsi-meet-electron { };
+  jitsi-meet-electron = callPackage ../applications/networking/instant-messengers/jitsi-meet-electron {
+    electron = electron_13;
+  };
 
   zenstates = callPackage ../os-specific/linux/zenstates {};
 
diff --git a/nixpkgs/pkgs/top-level/beam-packages.nix b/nixpkgs/pkgs/top-level/beam-packages.nix
index 334aac359b37..1b5ff3a3f25a 100644
--- a/nixpkgs/pkgs/top-level/beam-packages.nix
+++ b/nixpkgs/pkgs/top-level/beam-packages.nix
@@ -1,16 +1,19 @@
-{ callPackage, wxGTK30, buildPackages, wxSupport ? true }:
+{ beam, callPackage, wxGTK30, buildPackages, wxSupport ? true }:
 
-rec {
+with beam; {
   lib = callPackage ../development/beam-modules/lib.nix { };
 
+  # R24 is the default version.
+  # The main switch to change default Erlang version.
+  defaultVersion = "erlangR24";
+
   # Each
-  interpreters = rec {
+  interpreters = with beam.interpreters; {
 
-    # R24 is the default version.
-    erlang = erlangR24; # The main switch to change default Erlang version.
-    erlang_odbc = erlangR24_odbc;
-    erlang_javac = erlangR24_javac;
-    erlang_odbc_javac = erlangR24_odbc_javac;
+    erlang = beam.interpreters.${defaultVersion};
+    erlang_odbc = beam.interpreters."${defaultVersion}_odbc";
+    erlang_javac = beam.interpreters."${defaultVersion}_javac";
+    erlang_odbc_javac = beam.interpreters."${defaultVersion}_odbc_javac";
 
     # Standard Erlang versions, using the generic builder.
 
@@ -98,7 +101,7 @@ rec {
   # appropriate Erlang/OTP version.
   packages = {
     # Packages built with default Erlang version.
-    erlang = packagesWith interpreters.erlang;
+    erlang = packages.${defaultVersion};
 
     erlangR24 = packagesWith interpreters.erlangR24;
     erlangR23 = packagesWith interpreters.erlangR23;
diff --git a/nixpkgs/pkgs/top-level/coq-packages.nix b/nixpkgs/pkgs/top-level/coq-packages.nix
index 6fc0500ed53e..2b707d3d3efd 100644
--- a/nixpkgs/pkgs/top-level/coq-packages.nix
+++ b/nixpkgs/pkgs/top-level/coq-packages.nix
@@ -14,6 +14,7 @@ let
         (callPackage ../development/coq-modules/contribs {});
 
       aac-tactics = callPackage ../development/coq-modules/aac-tactics {};
+      addition-chains = callPackage ../development/coq-modules/addition-chains {};
       autosubst = callPackage ../development/coq-modules/autosubst {};
       bignums = if lib.versionAtLeast coq.coq-version "8.6"
         then callPackage ../development/coq-modules/bignums {}
@@ -40,8 +41,10 @@ let
       fiat_HEAD = callPackage ../development/coq-modules/fiat/HEAD.nix {};
       flocq = callPackage ../development/coq-modules/flocq {};
       fourcolor = callPackage ../development/coq-modules/fourcolor {};
+      gaia = callPackage ../development/coq-modules/gaia {};
       gappalib = callPackage ../development/coq-modules/gappalib {};
       goedel = callPackage ../development/coq-modules/goedel {};
+      graph-theory = callPackage ../development/coq-modules/graph-theory {};
       heq = callPackage ../development/coq-modules/heq {};
       hierarchy-builder = callPackage ../development/coq-modules/hierarchy-builder {};
       HoTT = callPackage ../development/coq-modules/HoTT {};
@@ -77,6 +80,7 @@ let
       reglang = callPackage ../development/coq-modules/reglang {};
       relation-algebra = callPackage ../development/coq-modules/relation-algebra {};
       semantics = callPackage ../development/coq-modules/semantics {};
+      serapi = callPackage ../development/coq-modules/serapi {};
       simple-io = callPackage ../development/coq-modules/simple-io { };
       stdpp = callPackage ../development/coq-modules/stdpp { };
       StructTact = callPackage ../development/coq-modules/StructTact {};
diff --git a/nixpkgs/pkgs/top-level/darwin-packages.nix b/nixpkgs/pkgs/top-level/darwin-packages.nix
index a7f29d672611..2e031e27307a 100644
--- a/nixpkgs/pkgs/top-level/darwin-packages.nix
+++ b/nixpkgs/pkgs/top-level/darwin-packages.nix
@@ -156,6 +156,8 @@ impure-cmds // appleSourcePackages // chooseLibs // {
 
   usr-include = callPackage ../os-specific/darwin/usr-include { };
 
+  xattr = pkgs.python3Packages.callPackage ../os-specific/darwin/xattr { };
+
   inherit (pkgs.callPackages ../os-specific/darwin/xcode { })
     xcode_8_1 xcode_8_2
     xcode_9_1 xcode_9_2 xcode_9_4 xcode_9_4_1
diff --git a/nixpkgs/pkgs/top-level/emacs-packages.nix b/nixpkgs/pkgs/top-level/emacs-packages.nix
index 4d4c172296a1..ba1ed113ab60 100644
--- a/nixpkgs/pkgs/top-level/emacs-packages.nix
+++ b/nixpkgs/pkgs/top-level/emacs-packages.nix
@@ -21,16 +21,22 @@
   (package-initialize)
 */
 
-{ pkgs', makeScope, makeOverridable, emacs }:
+{ pkgs'
+, emacs'
+, makeScope
+, makeOverridable
+, dontRecurseIntoAttrs
+}:
 
 let
 
   mkElpaPackages = { pkgs, lib }: import ../applications/editors/emacs/elisp-packages/elpa-packages.nix {
-    inherit (pkgs) stdenv texinfo writeText gcc;
+    inherit (pkgs) stdenv texinfo writeText gcc pkgs buildPackages;
     inherit lib;
   };
 
-  mkNongnuPackages = { lib }: import ../applications/editors/emacs/elisp-packages/nongnu-packages.nix {
+  mkNongnuPackages = { pkgs, lib }: import ../applications/editors/emacs/elisp-packages/nongnu-packages.nix {
+    inherit (pkgs) buildPackages;
     inherit lib;
   };
 
@@ -57,7 +63,7 @@ in makeScope pkgs'.newScope (self: makeOverridable ({
   pkgs ? pkgs'
   , lib ? pkgs.lib
   , elpaPackages ? mkElpaPackages { inherit pkgs lib; } self
-  , nongnuPackages ? mkNongnuPackages { inherit lib; } self
+  , nongnuPackages ? mkNongnuPackages { inherit pkgs lib; } self
   , melpaStablePackages ? melpaGeneric { inherit pkgs lib; } "stable" self
   , melpaPackages ? melpaGeneric { inherit pkgs lib; } "unstable" self
   , orgPackages ? mkOrgPackages { inherit lib; } self
@@ -71,7 +77,12 @@ in makeScope pkgs'.newScope (self: makeOverridable ({
   // manualPackages // { inherit manualPackages; }
   // {
 
-    inherit emacs;
+    # Propagate overriden scope
+    emacs = emacs'.overrideAttrs(old: {
+      passthru = (old.passthru or {}) // {
+        pkgs = dontRecurseIntoAttrs self;
+      };
+    });
 
     trivialBuild = pkgs.callPackage ../build-support/emacs/trivial.nix {
       inherit (self) emacs;
@@ -84,7 +95,7 @@ in makeScope pkgs'.newScope (self: makeOverridable ({
     emacsWithPackages = emacsWithPackages { inherit pkgs lib; } self;
     withPackages = emacsWithPackages { inherit pkgs lib; } self;
 
-  }// {
+  } // {
 
     # Package specific priority overrides goes here
 
diff --git a/nixpkgs/pkgs/top-level/emscripten-packages.nix b/nixpkgs/pkgs/top-level/emscripten-packages.nix
index 9ae97cdf35a0..7cf60df98dbf 100644
--- a/nixpkgs/pkgs/top-level/emscripten-packages.nix
+++ b/nixpkgs/pkgs/top-level/emscripten-packages.nix
@@ -10,12 +10,11 @@ rec {
     stdenv = pkgs.emscriptenStdenv;
   }).overrideDerivation
     (old: {
-      nativeBuildInputs = [ autoreconfHook pkg-config ];
+      nativeBuildInputs = [ pkg-config cmake ];
       propagatedBuildInputs = [ zlib ];
-      buildInputs = old.buildInputs ++ [ automake autoconf ];
       configurePhase = ''
         HOME=$TMPDIR
-        emconfigure ./configure --prefix=$out 
+        emcmake cmake . $cmakeFlags -DCMAKE_INSTALL_PREFIX=$out -DCMAKE_INSTALL_INCLUDEDIR=$dev/include
       '';
       checkPhase = ''
         echo "================= testing json_c using node ================="
@@ -26,7 +25,7 @@ rec {
           `pkg-config zlib --cflags` \
           `pkg-config zlib --libs` \
           -I . \
-          .libs/libjson-c.so \
+          libjson-c.a \
           -o ./test1.js
 
         echo "Using node to execute the test which basically outputs an error on stderr which we grep for" 
@@ -163,7 +162,7 @@ rec {
         echo "Compiling a custom test"
         set -x
         emcc -O2 -s EMULATE_FUNCTION_POINTER_CASTS=1 test/example.c -DZ_SOLO \
-        libz.so.${old.version} -I . -o example.js
+        -L. libz.so.${old.version} -I . -o example.js
 
         echo "Using node to execute the test"
         ${pkgs.nodejs}/bin/node ./example.js 
diff --git a/nixpkgs/pkgs/top-level/haskell-packages.nix b/nixpkgs/pkgs/top-level/haskell-packages.nix
index b872f3286e16..1490aeda6558 100644
--- a/nixpkgs/pkgs/top-level/haskell-packages.nix
+++ b/nixpkgs/pkgs/top-level/haskell-packages.nix
@@ -6,6 +6,8 @@ let
     "ghc865Binary"
     "ghc8102Binary"
     "ghc8102BinaryMinimal"
+    "ghc8107Binary"
+    "ghc8107BinaryMinimal"
     "integer-simple"
     "native-bignum"
     "ghcHEAD"
@@ -42,6 +44,8 @@ let
 in {
   lib = haskellLib;
 
+  package-list = callPackage ../development/haskell-modules/package-list.nix {};
+
   compiler = {
 
     ghc865Binary = callPackage ../development/compilers/ghc/8.6.5-binary.nix { };
@@ -55,10 +59,22 @@ in {
       minimal = true;
     };
 
+    ghc8107Binary = callPackage ../development/compilers/ghc/8.10.7-binary.nix {
+      llvmPackages = pkgs.llvmPackages_11;
+    };
+
+    ghc8107BinaryMinimal = callPackage ../development/compilers/ghc/8.10.7-binary.nix {
+      llvmPackages = pkgs.llvmPackages_11;
+      minimal = true;
+    };
+
     ghc884 = callPackage ../development/compilers/ghc/8.8.4.nix {
-      # aarch64 ghc865Binary gets SEGVs due to haskell#15449 or similar
-      # Musl bindists do not exist for ghc 8.6.5, so we use 8.10.* for them
-      bootPkgs = if stdenv.isAarch64 || stdenv.targetPlatform.isMusl then
+      # the oldest ghc with aarch64-darwin support is 8.10.5
+      bootPkgs = if stdenv.isDarwin && stdenv.isAarch64 then
+          packages.ghc8107BinaryMinimal
+        # aarch64 ghc865Binary gets SEGVs due to haskell#15449 or similar
+        # Musl bindists do not exist for ghc 8.6.5, so we use 8.10.* for them
+        else if stdenv.isAarch64 || stdenv.targetPlatform.isMusl then
           packages.ghc8102BinaryMinimal
         else
           packages.ghc865Binary;
@@ -66,30 +82,58 @@ in {
       buildLlvmPackages = buildPackages.llvmPackages_7;
       llvmPackages = pkgs.llvmPackages_7;
     };
-    ghc8104 = callPackage ../development/compilers/ghc/8.10.4.nix {
-      # aarch64 ghc865Binary gets SEGVs due to haskell#15449 or similar
-      # Musl bindists do not exist for ghc 8.6.5, so we use 8.10.* for them
-      bootPkgs = if stdenv.isAarch64 || stdenv.isAarch32 || stdenv.targetPlatform.isMusl then
+    ghc8107 = callPackage ../development/compilers/ghc/8.10.7.nix {
+      # the oldest ghc with aarch64-darwin support is 8.10.5
+      bootPkgs = if stdenv.isDarwin && stdenv.isAarch64 then
+          packages.ghc8107BinaryMinimal
+        # aarch64 ghc865Binary gets SEGVs due to haskell#15449 or similar
+        # Musl bindists do not exist for ghc 8.6.5, so we use 8.10.* for them
+        else if stdenv.isAarch64 || stdenv.isAarch32 || stdenv.targetPlatform.isMusl then
           packages.ghc8102BinaryMinimal
         else
           packages.ghc865Binary;
       inherit (buildPackages.python3Packages) sphinx;
+      # Need to use apple's patched xattr until
+      # https://github.com/xattr/xattr/issues/44 and
+      # https://github.com/xattr/xattr/issues/55 are solved.
+      inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
       buildLlvmPackages = buildPackages.llvmPackages_9;
       llvmPackages = pkgs.llvmPackages_9;
     };
     ghc901 = callPackage ../development/compilers/ghc/9.0.1.nix {
+      # the oldest ghc with aarch64-darwin support is 8.10.5
+      bootPkgs = if stdenv.isDarwin && stdenv.isAarch64 then
+          packages.ghc8107BinaryMinimal
+        # aarch64 ghc8102Binary exceeds max output size on hydra
+        else if stdenv.isAarch64 || stdenv.isAarch32 then
+          packages.ghc8102BinaryMinimal
+        else
+          packages.ghc8102Binary;
+      inherit (buildPackages.python3Packages) sphinx;
+      buildLlvmPackages = buildPackages.llvmPackages_10;
+      llvmPackages = pkgs.llvmPackages_10;
+    };
+    ghc921 = callPackage ../development/compilers/ghc/9.2.1.nix {
       # aarch64 ghc8102Binary exceeds max output size on hydra
       bootPkgs = if stdenv.isAarch64 || stdenv.isAarch32 then
           packages.ghc8102BinaryMinimal
         else
           packages.ghc8102Binary;
       inherit (buildPackages.python3Packages) sphinx;
+      # Need to use apple's patched xattr until
+      # https://github.com/xattr/xattr/issues/44 and
+      # https://github.com/xattr/xattr/issues/55 are solved.
+      inherit (buildPackages.darwin) xattr;
       buildLlvmPackages = buildPackages.llvmPackages_10;
       llvmPackages = pkgs.llvmPackages_10;
     };
     ghcHEAD = callPackage ../development/compilers/ghc/head.nix {
       bootPkgs = packages.ghc901; # no binary yet
       inherit (buildPackages.python3Packages) sphinx;
+      # Need to use apple's patched xattr until
+      # https://github.com/xattr/xattr/issues/44 and
+      # https://github.com/xattr/xattr/issues/55 are solved.
+      inherit (buildPackages.darwin) xattr;
       buildLlvmPackages = buildPackages.llvmPackages_10;
       llvmPackages = pkgs.llvmPackages_10;
       libffi = pkgs.libffi;
@@ -140,14 +184,26 @@ in {
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.10.x.nix { };
       packageSetConfig = bootstrapPackageSet;
     };
+    ghc8107Binary = callPackage ../development/haskell-modules {
+      buildHaskellPackages = bh.packages.ghc8107Binary;
+      ghc = bh.compiler.ghc8107Binary;
+      compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.10.x.nix { };
+      packageSetConfig = bootstrapPackageSet;
+    };
+    ghc8107BinaryMinimal = callPackage ../development/haskell-modules {
+      buildHaskellPackages = bh.packages.ghc8107BinaryMinimal;
+      ghc = bh.compiler.ghc8107BinaryMinimal;
+      compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.10.x.nix { };
+      packageSetConfig = bootstrapPackageSet;
+    };
     ghc884 = callPackage ../development/haskell-modules {
       buildHaskellPackages = bh.packages.ghc884;
       ghc = bh.compiler.ghc884;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.8.x.nix { };
     };
-    ghc8104 = callPackage ../development/haskell-modules {
-      buildHaskellPackages = bh.packages.ghc8104;
-      ghc = bh.compiler.ghc8104;
+    ghc8107 = callPackage ../development/haskell-modules {
+      buildHaskellPackages = bh.packages.ghc8107;
+      ghc = bh.compiler.ghc8107;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.10.x.nix { };
     };
     ghc901 = callPackage ../development/haskell-modules {
@@ -155,6 +211,11 @@ in {
       ghc = bh.compiler.ghc901;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.0.x.nix { };
     };
+    ghc921 = callPackage ../development/haskell-modules {
+      buildHaskellPackages = bh.packages.ghc921;
+      ghc = bh.compiler.ghc921;
+      compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.2.x.nix { };
+    };
     ghcHEAD = callPackage ../development/haskell-modules {
       buildHaskellPackages = bh.packages.ghcHEAD;
       ghc = bh.compiler.ghcHEAD;
diff --git a/nixpkgs/pkgs/top-level/kodi-packages.nix b/nixpkgs/pkgs/top-level/kodi-packages.nix
index b0e9e8c0a1e1..a0ff13248085 100644
--- a/nixpkgs/pkgs/top-level/kodi-packages.nix
+++ b/nixpkgs/pkgs/top-level/kodi-packages.nix
@@ -80,6 +80,8 @@ let self = rec {
 
   steam-launcher = callPackage ../applications/video/kodi-packages/steam-launcher { };
 
+  steam-library = callPackage ../applications/video/kodi-packages/steam-library { };
+
   pdfreader = callPackage ../applications/video/kodi-packages/pdfreader { };
 
   pvr-hts = callPackage ../applications/video/kodi-packages/pvr-hts { };
@@ -120,6 +122,10 @@ let self = rec {
 
   requests = callPackage ../applications/video/kodi-packages/requests { };
 
+  requests-cache = callPackage ../applications/video/kodi-packages/requests-cache { };
+
+  routing = callPackage ../applications/video/kodi-packages/routing { };
+
   signals = callPackage ../applications/video/kodi-packages/signals { };
 
   six = callPackage ../applications/video/kodi-packages/six { };
diff --git a/nixpkgs/pkgs/top-level/lua-packages.nix b/nixpkgs/pkgs/top-level/lua-packages.nix
index 62ddc14ff93a..246d62b903b3 100644
--- a/nixpkgs/pkgs/top-level/lua-packages.nix
+++ b/nixpkgs/pkgs/top-level/lua-packages.nix
@@ -83,7 +83,7 @@ with self; {
   };
 
 
-  inherit toLuaModule lua-setup-hook;
+  inherit toLuaModule hasLuaModule lua-setup-hook;
   inherit buildLuarocksPackage buildLuaApplication;
   inherit requiredLuaModules luaOlder luaAtLeast
     isLua51 isLua52 isLua53 isLuaJIT lua callPackage;
@@ -99,8 +99,8 @@ with self; {
 
   luarocks-nix = callPackage ../development/tools/misc/luarocks/luarocks-nix.nix { };
 
-  luxio = buildLuaPackage rec {
-    name = "luxio-${version}";
+  luxio = buildLuaPackage {
+    pname = "luxio";
     version = "13";
 
     src = fetchurl {
diff --git a/nixpkgs/pkgs/top-level/nixpkgs-basic-release-checks.nix b/nixpkgs/pkgs/top-level/nixpkgs-basic-release-checks.nix
index ffd92d587ba1..777cce7e5e0c 100644
--- a/nixpkgs/pkgs/top-level/nixpkgs-basic-release-checks.nix
+++ b/nixpkgs/pkgs/top-level/nixpkgs-basic-release-checks.nix
@@ -34,6 +34,7 @@ pkgs.runCommand "nixpkgs-release-checks" { src = nixpkgs; buildInputs = [nix]; }
 
         nix-env -f $src \
             --show-trace --argstr system "$platform" \
+            --arg config '{ allowAliases = false; }' \
             -qa --drv-path --system-filter \* --system \
             "''${opts[@]}" 2>&1 >/dev/null | tee eval-warnings.log
 
@@ -45,6 +46,7 @@ pkgs.runCommand "nixpkgs-release-checks" { src = nixpkgs; buildInputs = [nix]; }
 
         nix-env -f $src \
             --show-trace --argstr system "$platform" \
+            --arg config '{ allowAliases = false; }' \
             -qa --drv-path --system-filter \* --system --meta --xml \
             "''${opts[@]}" > /dev/null
     done
diff --git a/nixpkgs/pkgs/top-level/ocaml-packages.nix b/nixpkgs/pkgs/top-level/ocaml-packages.nix
index c17ea27a9e51..f2f9c912ffcd 100644
--- a/nixpkgs/pkgs/top-level/ocaml-packages.nix
+++ b/nixpkgs/pkgs/top-level/ocaml-packages.nix
@@ -141,6 +141,8 @@ let
 
     cairo2 = callPackage ../development/ocaml-modules/cairo2 { };
 
+    callipyge = callPackage ../development/ocaml-modules/callipyge { };
+
     caqti = callPackage ../development/ocaml-modules/caqti { };
 
     caqti-async = callPackage ../development/ocaml-modules/caqti/async.nix { };
@@ -159,6 +161,8 @@ let
 
     cfstream = callPackage ../development/ocaml-modules/cfstream { };
 
+    chacha = callPackage ../development/ocaml-modules/chacha { };
+
     charInfo_width = callPackage ../development/ocaml-modules/charInfo_width { };
 
     checkseum = callPackage ../development/ocaml-modules/checkseum { };
@@ -415,6 +419,8 @@ let
 
     h2 = callPackage ../development/ocaml-modules/h2 { };
 
+    hack_parallel = callPackage ../development/ocaml-modules/hack_parallel { };
+
     hacl_x25519 = callPackage ../development/ocaml-modules/hacl_x25519 { };
 
     hacl-star = callPackage ../development/ocaml-modules/hacl-star { };
@@ -608,7 +614,7 @@ let
     linenoise = callPackage ../development/ocaml-modules/linenoise { };
 
     llvm = callPackage ../development/ocaml-modules/llvm {
-      libllvm = pkgs.llvmPackages_8.libllvm;
+      libllvm = pkgs.llvmPackages_10.libllvm;
     };
 
     logs = callPackage ../development/ocaml-modules/logs { };
@@ -621,9 +627,7 @@ let
       inherit (pkgs) file;
     };
 
-    lwt = callPackage ../development/ocaml-modules/lwt {
-      ocaml-migrate-parsetree = ocaml-migrate-parsetree-2;
-    };
+    lwt = callPackage ../development/ocaml-modules/lwt { };
 
     lwt-canceler = callPackage ../development/ocaml-modules/lwt-canceler { };
 
@@ -794,6 +798,8 @@ let
 
     mparser =  callPackage ../development/ocaml-modules/mparser { };
 
+    mparser-pcre =  callPackage ../development/ocaml-modules/mparser/pcre.nix { };
+
     mtime =  callPackage ../development/ocaml-modules/mtime { };
 
     mustache =  callPackage ../development/ocaml-modules/mustache { };
@@ -802,6 +808,8 @@ let
 
     nocrypto =  callPackage ../development/ocaml-modules/nocrypto { };
 
+    noise = callPackage ../development/ocaml-modules/noise { };
+
     nonstd =  callPackage ../development/ocaml-modules/nonstd { };
 
     notty = callPackage ../development/ocaml-modules/notty { };
@@ -876,6 +884,8 @@ let
 
     ocaml_pcre = callPackage ../development/ocaml-modules/pcre {};
 
+    ocaml-print-intf = callPackage ../development/ocaml-modules/ocaml-print-intf { };
+
     pgocaml = callPackage ../development/ocaml-modules/pgocaml {};
 
     pgocaml_ppx = callPackage ../development/ocaml-modules/pgocaml/ppx.nix {};
@@ -932,6 +942,8 @@ let
 
     odoc = callPackage ../development/ocaml-modules/odoc { };
 
+    odoc-parser = callPackage ../development/ocaml-modules/odoc-parser { };
+
     omd = callPackage ../development/ocaml-modules/omd { };
 
     opam-core = callPackage ../development/ocaml-modules/opam-core {
@@ -962,6 +974,8 @@ let
 
     otfm = callPackage ../development/ocaml-modules/otfm { };
 
+    otoml = callPackage ../development/ocaml-modules/otoml { };
+
     otr = callPackage ../development/ocaml-modules/otr { };
 
     owee = callPackage ../development/ocaml-modules/owee { };
@@ -1004,6 +1018,8 @@ let
       inherit (pkgs) postgresql;
     };
 
+    pp = callPackage ../development/ocaml-modules/pp { };
+
     ppx_bap = callPackage ../development/ocaml-modules/ppx_bap { };
 
     ppx_bitstring = callPackage ../development/ocaml-modules/bitstring/ppx.nix {
@@ -1166,6 +1182,8 @@ let
 
     reason-native = lib.recurseIntoAttrs (callPackage ../development/ocaml-modules/reason-native { });
 
+    rfc7748 = callPackage ../development/ocaml-modules/rfc7748 { };
+
     ezresto = callPackage ../development/ocaml-modules/resto/ezresto.nix { };
     ezresto-directory = callPackage ../development/ocaml-modules/resto/ezresto-directory.nix { };
 
@@ -1229,6 +1247,34 @@ let
 
     terminal_size = callPackage ../development/ocaml-modules/terminal_size { };
 
+    tezos-base = callPackage ../development/ocaml-modules/tezos/base.nix { };
+    tezos-clic = callPackage ../development/ocaml-modules/tezos/clic.nix { };
+    tezos-crypto = callPackage ../development/ocaml-modules/tezos/crypto.nix { };
+    tezos-error-monad = callPackage ../development/ocaml-modules/tezos/error-monad.nix { };
+    tezos-event-logging = callPackage ../development/ocaml-modules/tezos/event-logging.nix { };
+    tezos-lmdb = callPackage ../development/ocaml-modules/tezos/lmdb.nix { };
+    tezos-lwt-result-stdlib = callPackage ../development/ocaml-modules/tezos/lwt-result-stdlib.nix { };
+    tezos-micheline = callPackage ../development/ocaml-modules/tezos/micheline.nix { };
+    tezos-p2p-services = callPackage ../development/ocaml-modules/tezos/p2p-services.nix { };
+    tezos-p2p = callPackage ../development/ocaml-modules/tezos/p2p.nix { };
+    tezos-protocol-008-PtEdo2Zk-parameters = callPackage ../development/ocaml-modules/tezos/protocol-008-PtEdo2Zk-parameters.nix { };
+    tezos-protocol-008-PtEdo2Zk = callPackage ../development/ocaml-modules/tezos/protocol-008-PtEdo2Zk.nix { };
+    tezos-protocol-compiler = callPackage ../development/ocaml-modules/tezos/protocol-compiler.nix { };
+    tezos-protocol-demo-noops = callPackage ../development/ocaml-modules/tezos/protocol-demo-noops.nix { };
+    tezos-protocol-environment-packer = callPackage ../development/ocaml-modules/tezos/protocol-environment-packer.nix { };
+    tezos-protocol-environment-sigs = callPackage ../development/ocaml-modules/tezos/protocol-environment-sigs.nix { };
+    tezos-protocol-environment-structs = callPackage ../development/ocaml-modules/tezos/protocol-environment-structs.nix { };
+    tezos-protocol-environment = callPackage ../development/ocaml-modules/tezos/protocol-environment.nix { };
+    tezos-requester = callPackage ../development/ocaml-modules/tezos/requester.nix { };
+    tezos-rpc = callPackage ../development/ocaml-modules/tezos/rpc.nix { };
+    tezos-sapling = callPackage ../development/ocaml-modules/tezos/sapling.nix { };
+    tezos-shell-services = callPackage ../development/ocaml-modules/tezos/shell-services.nix { };
+    tezos-stdlib-unix = callPackage ../development/ocaml-modules/tezos/stdlib-unix.nix { };
+    tezos-stdlib = callPackage ../development/ocaml-modules/tezos/stdlib.nix { };
+    tezos-test-services = callPackage ../development/ocaml-modules/tezos/test-services.nix { };
+    tezos-version = callPackage ../development/ocaml-modules/tezos/version.nix { };
+    tezos-workers = callPackage ../development/ocaml-modules/tezos/workers.nix { };
+
     toml = callPackage ../development/ocaml-modules/toml { };
 
     topkg = callPackage ../development/ocaml-modules/topkg { };
@@ -1270,6 +1316,8 @@ let
 
     vg = callPackage ../development/ocaml-modules/vg { };
 
+    vlq = callPackage ../development/ocaml-modules/vlq { };
+
     visitors = callPackage ../development/ocaml-modules/visitors { };
 
     wasm = callPackage ../development/ocaml-modules/wasm { };
diff --git a/nixpkgs/pkgs/top-level/packages-config.nix b/nixpkgs/pkgs/top-level/packages-config.nix
index 84db6fa21ee6..d7dfbf5860bb 100644
--- a/nixpkgs/pkgs/top-level/packages-config.nix
+++ b/nixpkgs/pkgs/top-level/packages-config.nix
@@ -6,37 +6,32 @@
   # Enable recursion into attribute sets that nix-env normally doesn't look into
   # so that we can get a more complete picture of the available packages for the
   # purposes of the index.
-  packageOverrides = super:
-  let
-    recurseIntoAttrs = sets:
-      super.lib.genAttrs
-        (builtins.filter (set: builtins.hasAttr set super) sets)
-        (set: super.recurseIntoAttrs (builtins.getAttr set super));
-  in recurseIntoAttrs [
-    "roundcubePlugins"
-    "emscriptenfastcompPackages"
-    "fdbPackages"
-    "nodePackages_latest"
-    "nodePackages"
-    "platformioPackages"
-    "haskellPackages"
-    "idrisPackages"
-    "sconsPackages"
-    "gns3Packages"
-    "quicklispPackagesClisp"
-    "quicklispPackagesSBCL"
-    "rPackages"
-    "apacheHttpdPackages_2_4"
-    "zabbix50"
-    "zabbix40"
-    "zabbix30"
-    "fusePackages"
-    "nvidiaPackages"
-    "sourceHanPackages"
-    "atomPackages"
-    "emacs27.pkgs"
-    "steamPackages"
-    "ut2004Packages"
-    "zeroadPackages"
-  ];
+  packageOverrides = super: with super; lib.mapAttrs (_: set: recurseIntoAttrs set) {
+    inherit (super)
+      apacheHttpdPackages
+      atomPackages
+      fdbPackages
+      fusePackages
+      gns3Packages
+      haskellPackages
+      idrisPackages
+      nodePackages
+      nodePackages_latest
+      platformioPackages
+      quicklispPackagesClisp
+      quicklispPackagesSBCL
+      rPackages
+      roundcubePlugins
+      sconsPackages
+      sourceHanPackages
+      steamPackages
+      ut2004Packages
+      zabbix40
+      zabbix50
+      zeroadPackages
+    ;
+
+    # This is an alias which we disallow by default; explicitly allow it
+    emacs27Packages = emacs27.pkgs;
+  };
 }
diff --git a/nixpkgs/pkgs/top-level/perl-packages.nix b/nixpkgs/pkgs/top-level/perl-packages.nix
index c5bcf7c48a0e..c166abb95dda 100644
--- a/nixpkgs/pkgs/top-level/perl-packages.nix
+++ b/nixpkgs/pkgs/top-level/perl-packages.nix
@@ -9,6 +9,7 @@
 , stdenv, lib, buildPackages, pkgs
 , fetchurl, fetchgit, fetchpatch, fetchFromGitHub
 , perl, overrides, buildPerl, shortenPerlShebang
+, nixosTests
 }:
 
 # cpan2nix assumes that perl-packages.nix will be used only with perl 5.30.3 or above
@@ -91,11 +92,11 @@ let
 
   ack = buildPerlPackage {
     pname = "ack";
-    version = "3.4.0";
+    version = "3.5.0";
 
     src = fetchurl {
-      url = "mirror://cpan/authors/id/P/PE/PETDANCE/ack-v3.4.0.tar.gz";
-      sha256 = "0l3bkac2kl1nl5pwmh5b4plyr7wdzf1h501gwkga2ag1p6wxdkvf";
+      url = "mirror://cpan/authors/id/P/PE/PETDANCE/ack-v3.5.0.tar.gz";
+      sha256 = "sha256-ZgU+iE6AM4egLd7g1oq/KhAjn6tlQ2TaszKHMJpyVSE=";
     };
 
     outputs = ["out" "man"];
@@ -643,13 +644,13 @@ let
 
   Appcpm = buildPerlModule {
     pname = "App-cpm";
-    version = "0.997000";
+    version = "0.997006";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/S/SK/SKAJI/App-cpm-0.997000.tar.gz";
-      sha256 = "6bf25a25dfb2331dee623d5cc3d030d9be647e7c766e82196a383f16b92e419f";
+      url = "mirror://cpan/authors/id/S/SK/SKAJI/App-cpm-0.997006.tar.gz";
+      sha256 = "1mh4bg141qbch0vdvir2l9533zzm3k8hnqx36iwciwzhvpd9hl9s";
     };
     buildInputs = [ ModuleBuildTiny ];
-    propagatedBuildInputs = [ CPANCommonIndex CPANDistnameInfo ClassTiny CommandRunner ExtUtilsInstall ExtUtilsInstallPaths FileCopyRecursive Filepushd HTTPTinyish MenloLegacy ModuleCPANfile ParsePMFile ParallelPipes locallib ];
+    propagatedBuildInputs = [ CPAN02PackagesSearch CPANCommonIndex CPANDistnameInfo ClassTiny CommandRunner ExtUtilsInstall ExtUtilsInstallPaths FileCopyRecursive Filepushd HTTPTinyish MenloLegacy Modulecpmfile ModuleCPANfile ParsePMFile ParallelPipes locallib ];
     nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
     postInstall = lib.optionalString stdenv.isDarwin ''
       shortenPerlShebang $out/bin/cpm
@@ -2150,6 +2151,21 @@ let
     };
   };
 
+  CatalystPluginPrometheusTiny = buildPerlPackage {
+    pname = "Catalyst-Plugin-PrometheusTiny";
+    version = "0.006";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/S/SY/SYSPETE/Catalyst-Plugin-PrometheusTiny-0.006.tar.gz";
+      sha256 = "1hd2nv21c2mq3yvhsys4a276bdwr5igs4b73m99v7ymzpabvjf9b";
+    };
+    buildInputs = [ HTTPMessage Plack SubOverride TestDeep ];
+    propagatedBuildInputs = [ CatalystRuntime Moose PrometheusTiny PrometheusTinyShared ];
+    meta = {
+      description = "Prometheus metrics for Catalyst";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   CatalystPluginSession = buildPerlPackage {
     pname = "Catalyst-Plugin-Session";
     version = "0.41";
@@ -3825,6 +3841,23 @@ let
     };
   };
 
+  CPAN02PackagesSearch = buildPerlModule {
+    pname = "CPAN-02Packages-Search";
+    version = "0.001";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/S/SK/SKAJI/CPAN-02Packages-Search-0.001.tar.gz";
+      sha256 = "02dgqplar99a2i2b08pnapznyp4il70wsvpm8163ywwfwqn1ap37";
+    };
+    buildInputs = [ ModuleBuildTiny ];
+    propagatedBuildInputs = [ TieHandleOffset ];
+    meta = {
+      homepage = "https://github.com/skaji/CPAN-02Packages-Search";
+      description = "Search packages in 02packages.details.txt";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+      maintainers = [ maintainers.zakame ];
+    };
+  };
+
   CPANChanges = buildPerlPackage {
     pname = "CPAN-Changes";
     version = "0.400002";
@@ -4932,6 +4965,20 @@ let
     };
   };
 
+  DataRandom = buildPerlPackage {
+    pname = "Data-Random";
+    version = "0.13";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/B/BA/BAREFOOT/Data-Random-0.13.tar.gz";
+      sha256 = "eb590184a8db28a7e49eab09e25f8650c33f1f668b6a472829de74a53256bfc0";
+    };
+    buildInputs = [ FileShareDirInstall TestMockTime ];
+    meta = {
+      description = "Perl module to generate random data";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   DataSection = buildPerlPackage {
     pname = "Data-Section";
     version = "0.200007";
@@ -6230,10 +6277,10 @@ let
 
   DevelNYTProf = buildPerlPackage {
     pname = "Devel-NYTProf";
-    version = "6.06";
+    version = "6.10";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/T/TI/TIMB/Devel-NYTProf-6.06.tar.gz";
-      sha256 = "a14227ca79f1750b92cc7b8b0a5806c92abc4964a21a7fb100bd4907d6c4be55";
+      url = "mirror://cpan/authors/id/J/JK/JKEENAN/Devel-NYTProf-6.10.tar.gz";
+      sha256 = "24ac4174f1f01322063fa4e119b247d371d3260ddca6e778c6c1a0e3f905f58e";
     };
     propagatedBuildInputs = [ FileWhich JSONMaybeXS ];
     meta = {
@@ -6241,7 +6288,7 @@ let
       description = "Powerful fast feature-rich Perl source code profiler";
       license = with lib.licenses; [ artistic1 gpl1Plus ];
     };
-    buildInputs = [ TestDifferences ];
+    buildInputs = [ CaptureTiny TestDifferences ];
     nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
     postInstall = lib.optionalString stdenv.isDarwin ''
       shortenPerlShebang $out/bin/*
@@ -7461,10 +7508,10 @@ let
 
   ExtUtilsCChecker = buildPerlModule {
     pname = "ExtUtils-CChecker";
-    version = "0.10";
+    version = "0.11";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/P/PE/PEVANS/ExtUtils-CChecker-0.10.tar.gz";
-      sha256 = "50bfe76870fc1510f56bae4fa2dce0165d9ac4af4e7320d6b8fda14dfea4be0b";
+      url = "mirror://cpan/authors/id/P/PE/PEVANS/ExtUtils-CChecker-0.11.tar.gz";
+      sha256 = "1x8vafpff5nma18svxp1h3mp069fjmzlsdvnbcgn3z1pgrkkcxqi";
     };
     buildInputs = [ TestFatal ];
     meta = {
@@ -7590,10 +7637,10 @@ let
 
   ExtUtilsMakeMaker = buildPerlPackage {
     pname = "ExtUtils-MakeMaker";
-    version = "7.56";
+    version = "7.62";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/B/BI/BINGOS/ExtUtils-MakeMaker-7.56.tar.gz";
-      sha256 = "05h058iwx81qs384kgyx34qnhqznavzwmhdsin65c434hga8jly9";
+      url = "mirror://cpan/authors/id/B/BI/BINGOS/ExtUtils-MakeMaker-7.62.tar.gz";
+      sha256 = "5022ad857fd76bd3f6b16af099fe2324639d9932e08f21e891fb313d9cae1705";
     };
     meta = {
       description = "Create a module Makefile";
@@ -8033,7 +8080,7 @@ let
       sha256 = "a02fbf285406a8a4d9399284f032f2d55c56975154c2e1674bd109837b8096ec";
     };
     buildInputs = [ ExtUtilsCChecker ];
-    perlPreHook = lib.optionalString stdenv.isi686 "export LD=$CC"; # fix undefined reference to `__stack_chk_fail_local'
+    perlPreHook = lib.optionalString (stdenv.isi686 || stdenv.isDarwin) "export LD=$CC"; # fix undefined reference to `__stack_chk_fail_local'
     meta = {
       description = "Modify attributes of symlinks without dereferencing them";
       license = with lib.licenses; [ artistic1 gpl1Plus ];
@@ -8597,13 +8644,13 @@ let
 
   FutureAsyncAwait = buildPerlModule rec {
     pname = "Future-AsyncAwait";
-    version = "0.49";
+    version = "0.52";
     src = fetchurl {
       url = "mirror://cpan/authors/id/P/PE/PEVANS/Future-AsyncAwait-${version}.tar.gz";
-      sha256 = "0cm7cgfjrqs7jazl0f9q6lgkhz6k8qbawin1z36nrwh2ywc94zjb";
+      sha256 = "0dwij2r51vij91hx808zc2l5q38h55jahzrh73h4rn816jv597yx";
     };
     buildInputs = [ TestRefcount ];
-    propagatedBuildInputs = [ Future XSParseSublike ];
+    propagatedBuildInputs = [ Future XSParseKeyword XSParseSublike ];
     perlPreHook = lib.optionalString stdenv.isDarwin "export LD=$CC";
     meta = {
       description = "Deferred subroutine syntax for futures";
@@ -9007,6 +9054,20 @@ let
     };
   };
 
+  GooCanvas2CairoTypes = buildPerlPackage rec {
+    pname = "GooCanvas2-CairoTypes";
+    version = "0.001";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/A/AS/ASOKOLOV/GooCanvas2-CairoTypes-${version}.tar.gz";
+      sha256 = "sha256-uoBnNuvMnePYFBp2Omgr3quxy4cCveKZrf1XSs6HUFI=";
+    };
+    propagatedBuildInputs = [ pkgs.goocanvas2 Gtk3 ];
+    meta = {
+      description = "Bridge between GooCanvas2 and Cairo types";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   GoogleProtocolBuffers = buildPerlPackage {
     pname = "Google-ProtocolBuffers";
     version = "0.12";
@@ -9039,12 +9100,15 @@ let
 
   Graph = buildPerlPackage {
     pname = "Graph";
-    version = "0.9712";
+    version = "0.9722";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/E/ET/ETJ/Graph-0.9712.tar.gz";
-      sha256 = "1as4ngbqxrjv9f31hm3wg8pyiyrz5fbbvlpfsrm68k1yskwkgkcg";
+      url = "mirror://cpan/authors/id/E/ET/ETJ/Graph-0.9722.tar.gz";
+      sha256 = "c113633833f3a1bef8fa8eb96680be36d00e41ef404bddd7fc0bb98703e28d4d";
+    };
+    propagatedBuildInputs = [ HeapFibonacci SetObject ];
+    meta = {
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
     };
-    propagatedBuildInputs = [ HeapFibonacci ];
   };
 
   GraphicsTIFF = buildPerlPackage {
@@ -9236,16 +9300,16 @@ let
     };
   };
 
-  Gtk3ImageView = buildPerlPackage {
+  Gtk3ImageView = buildPerlPackage rec {
     pname = "Gtk3-ImageView";
-    version = "6";
+    version = "9";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/R/RA/RATCLIFFE/Gtk3-ImageView-6.tar.gz";
-      sha256 = "0krkif9i3hrgjdskw05pcks40fmb43d21lxf4h8aclv0g8z647f0";
+      url = "mirror://cpan/authors/id/A/AS/ASOKOLOV/Gtk3-ImageView-${version}.tar.gz";
+      sha256 = "sha256-0dxe0p1UQglq+xok7g4l2clJ9WqOHxCeAzWD65E0H9w=";
     };
     buildInputs = [ pkgs.gtk3 ];
     propagatedBuildInputs = [ Readonly Gtk3 ];
-    checkInputs = [ TestDifferences PerlMagick TryTiny TestMockObject CarpAlways pkgs.librsvg ];
+    checkInputs = [ TestDifferences TestDeep ImageMagick TryTiny TestMockObject CarpAlways pkgs.librsvg ];
     checkPhase = ''
       ${pkgs.xvfb-run}/bin/xvfb-run -s '-screen 0 800x600x24' \
         make test
@@ -9401,6 +9465,20 @@ let
     };
   };
 
+  HashSharedMem = buildPerlModule {
+    pname = "Hash-SharedMem";
+    version = "0.005";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Hash-SharedMem-0.005.tar.gz";
+      sha256 = "324776808602f7bdc44adaa937895365454029a926fa611f321c9bf6b940bb5e";
+    };
+    buildInputs = [ ScalarString ];
+    meta = {
+      description = "Efficient shared mutable hash";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   HashUtilFieldHashCompat = buildPerlPackage {
     pname = "Hash-Util-FieldHash-Compat";
     version = "0.11";
@@ -10565,6 +10643,23 @@ let
     propagatedBuildInputs = [ pkgs.more FileWhich TermReadKey ]; # `more` used in tests
   };
 
+  IOPty = buildPerlModule {
+    pname = "IO-Pty";
+    version = "1.16";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/T/TO/TODDR/IO-Tty-1.16.tar.gz";
+      sha256 = "sha256-jxoJwHBzitxpXfkD8uf3QwjdjZkbkUwLw5Cg5gISlN0=";
+    };
+    buildPhase = "make";
+    checkPhase = "make test";
+    installPhase = "make install";
+    meta = {
+      homepage = "https://github.com/toddr/IO-Tty";
+      description = "Pseudo TTY object class";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   IOPrompt = buildPerlModule {
     pname = "IO-Prompt";
     version = "0.997004";
@@ -10657,6 +10752,23 @@ let
     };
   };
 
+  IOStty = buildPerlModule {
+    pname = "IO-Stty";
+    version = "0.04";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/T/TO/TODDR/IO-Stty-0.04.tar.gz";
+      sha256 = "sha256-XJUJ8ahpPYKH+gE97wv4eqZM2ScThGHvjetVUDxmUcI=";
+    };
+    buildPhase = "make";
+    checkPhase = "make test";
+    installPhase = "make install";
+    meta = {
+      homepage = "http://wiki.github.com/toddr/IO-Stty";
+      description = "Change and print terminal line settings";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   IOTee = buildPerlPackage {
     pname = "IO-Tee";
     version = "0.66";
@@ -11099,7 +11211,7 @@ let
       sha256 = "0dr69rgl4si9i9ww1r4dc7apgb7y6f7ih808w4g0924cvz823s0x";
     };
     outputs = [ "out" "tex" ];
-    propagatedBuildInputs = [ ArchiveZip DBFile FileWhich IOString ImageSize JSONXS LWP ParseRecDescent PerlMagick PodParser TextUnidecode XMLLibXSLT ];
+    propagatedBuildInputs = [ ArchiveZip DBFile FileWhich IOString ImageSize JSONXS LWP ParseRecDescent ImageMagick PodParser TextUnidecode XMLLibXSLT ];
     preCheck = ''
       rm t/931_epub.t # epub test fails
     '';
@@ -11410,10 +11522,10 @@ let
 
   LinkEmbedder = buildPerlPackage {
     pname = "LinkEmbedder";
-    version = "1.18";
+    version = "1.20";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/J/JH/JHTHORSEN/LinkEmbedder-1.18.tar.gz";
-      sha256 = "17gnixbawzr0r1k37dry7axb7ry6sj2xiahki28m8qbk1l69dfjz";
+      url = "mirror://cpan/authors/id/J/JH/JHTHORSEN/LinkEmbedder-1.20.tar.gz";
+      sha256 = "19fwr3y8dd1bya2z86x3904s4dxfx15h7b777529j8n74m78ppmi";
     };
     buildInputs = [ TestDeep ];
     propagatedBuildInputs = [ Mojolicious ];
@@ -13168,6 +13280,23 @@ let
     };
   };
 
+  Modulecpmfile = buildPerlModule {
+    pname = "Module-cpmfile";
+    version = "0.002";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/S/SK/SKAJI/Module-cpmfile-0.002.tar.gz";
+      sha256 = "18dxc5wgds1way0dvd6dx5rhc2siyaa38nhpy4gb5v7ldnj3yjc8";
+    };
+    buildInputs = [ ModuleBuildTiny ModuleCPANfile Test2Suite ];
+    propagatedBuildInputs = [ YAMLPP ];
+    meta = {
+      homepage = "https://github.com/skaji/cpmfile";
+      description = "Parse cpmfile";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+      maintainers = [ maintainers.zakame ];
+    };
+  };
+
   ModuleBuild = buildPerlPackage {
     pname = "Module-Build";
     version = "0.4231";
@@ -13664,6 +13793,12 @@ let
       url = "mirror://cpan/authors/id/S/SH/SHAY/mod_perl-2.0.11.tar.gz";
       sha256 = "0x3gq4nz96y202cymgrf56n8spm7bffkd1p74dh9q3zrrlc9wana";
     };
+
+    patches = [
+      # Fix build on perl-5.34.0, https://github.com/Perl/perl5/issues/18617
+      ../development/perl-modules/mod_perl2-PL_hash_seed.patch
+    ];
+
     makeMakerFlags = "MP_AP_DESTDIR=$out";
     buildInputs = [ pkgs.apacheHttpd ];
     doCheck = false; # would try to start Apache HTTP server
@@ -13671,6 +13806,8 @@ let
       description = "Embed a Perl interpreter in the Apache HTTP server";
       license = lib.licenses.asl20;
     };
+
+    passthru.tests = nixosTests.mod_perl;
   };
 
   Mojolicious = buildPerlPackage {
@@ -15124,6 +15261,20 @@ let
     };
   };
 
+  NetINET6Glue = buildPerlPackage {
+    pname = "Net-INET6Glue";
+    version = "0.604";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/S/SU/SULLR/Net-INET6Glue-0.604.tar.gz";
+      sha256 = "05xvbdrqq88npzg14bjm9wmjykzplwirzcm8rp61852hz6c67hwh";
+    };
+    meta = {
+      homepage = "https://github.com/noxxi/p5-net-inet6glue";
+      description = "Make common modules IPv6 ready by hotpatching";
+      license = lib.licenses.artistic1;
+    };
+  };
+
   NetAddrIP = buildPerlPackage {
     pname = "NetAddr-IP";
     version = "4.079";
@@ -16825,12 +16976,32 @@ let
       sha256 = "2ad194f91ef24df4698369c2562d4164e9bf74f2d5565c681841abf79789ed82";
     };
     buildInputs = [ TestDeep ];
+    nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
     propagatedBuildInputs = [ BKeywords ConfigTiny FileWhich ListMoreUtils ModulePluggable PPIxQuoteLike PPIxRegexp PPIxUtilities PerlTidy PodSpell StringFormat ];
     meta = {
       homepage = "http://perlcritic.com";
       description = "Critique Perl source code for best-practices";
       license = with lib.licenses; [ artistic1 gpl1Plus ];
     };
+    postInstall = lib.optionalString stdenv.isDarwin ''
+      shortenPerlShebang $out/bin/perlcritic
+    '';
+  };
+
+  PerlCriticCommunity = buildPerlModule {
+    pname = "Perl-Critic-Community";
+    version = "1.0.0";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/D/DB/DBOOK/Perl-Critic-Community-v1.0.0.tar.gz";
+      sha256 = "311b775da4193e9de94cf5225e993cc54dd096ae1e7ef60738cdae1d9b8854e7";
+    };
+    buildInputs = [ ModuleBuildTiny ];
+    propagatedBuildInputs = [ PPI PathTiny PerlCritic PerlCriticPolicyVariablesProhibitLoopOnHash PerlCriticPulp ];
+    meta = {
+      homepage = "https://github.com/Grinnz/Perl-Critic-Community";
+      description = "Community-inspired Perl::Critic policies";
+      license = lib.licenses.artistic2;
+    };
   };
 
   PerlCriticMoose = buildPerlPackage rec {
@@ -16847,6 +17018,35 @@ let
     };
   };
 
+  PerlCriticPolicyVariablesProhibitLoopOnHash = buildPerlPackage {
+    pname = "Perl-Critic-Policy-Variables-ProhibitLoopOnHash";
+    version = "0.008";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/X/XS/XSAWYERX/Perl-Critic-Policy-Variables-ProhibitLoopOnHash-0.008.tar.gz";
+      sha256 = "12f5f0be96ea1bdc7828058577bd1c5c63ca23c17fac9c3709452b3dff5b84e0";
+    };
+    propagatedBuildInputs = [ PerlCritic ];
+    meta = {
+      description = "Don't write loops on hashes, only on keys and values of hashes";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
+  PerlCriticPulp = buildPerlPackage {
+    pname = "Perl-Critic-Pulp";
+    version = "99";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/K/KR/KRYDE/Perl-Critic-Pulp-99.tar.gz";
+      sha256 = "b8fda842fcbed74d210257c0a284b6dc7b1d0554a47a3de5d97e7d542e23e7fe";
+    };
+    propagatedBuildInputs = [ IOString ListMoreUtils PPI PerlCritic PodMinimumVersion ];
+    meta = {
+      homepage = "http://user42.tuxfamily.org/perl-critic-pulp/index.html";
+      description = "Some add-on policies for Perl::Critic";
+      license = lib.licenses.gpl3Plus;
+    };
+  };
+
   PerlDestructLevel = buildPerlPackage {
     pname = "Perl-Destruct-Level";
     version = "0.02";
@@ -16967,22 +17167,18 @@ let
     };
   };
 
-  PerlMagick = buildPerlPackage rec {
-    pname = "PerlMagick";
-    version = "7.0.10";
+  PerlMagick = ImageMagick; # added 2021-08-02
+  ImageMagick = buildPerlPackage rec {
+    pname = "Image-Magick";
+    version = "7.0.11-1";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/J/JC/JCRISTY/PerlMagick-${version}.tar.gz";
-      sha256 = "1x05hdb3b6qs36x958b4w46qanvkqm6rpc44rlq4rd2w3gbp4lhx";
+      url = "mirror://cpan/authors/id/J/JC/JCRISTY/Image-Magick-${version}.tar.gz";
+      sha256 = "sha256-c0vuFmVq9bypQABBnZElGIQrpkYKwtD/B+PloBAycuI=";
     };
     buildInputs = [ pkgs.imagemagick ];
     preConfigure =
       ''
         sed -i -e 's|my \$INC_magick = .*|my $INC_magick = "-I${pkgs.imagemagick.dev}/include/ImageMagick";|' Makefile.PL
-
-        # Enable HDRI support to match the native ImageMagick 7 defaults
-        # See: https://github.com/ImageMagick/ImageMagick/issues/3402#issuecomment-801195538
-        substituteInPlace Makefile.PL \
-          --replace 'MAGICKCORE_HDRI_ENABLE=0' 'MAGICKCORE_HDRI_ENABLE=1'
       '';
   };
 
@@ -16997,10 +17193,6 @@ let
       description = "Indent and reformat perl scripts";
       license = lib.licenses.gpl2Plus;
     };
-    nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
-    postInstall = lib.optionalString stdenv.isDarwin ''
-      shortenPerlShebang $out/bin/perltidy
-    '';
   };
 
   PHPSerialization = buildPerlPackage {
@@ -17229,6 +17421,21 @@ let
 
   Po4a = callPackage ../development/perl-modules/Po4a { };
 
+  PodMinimumVersion = buildPerlPackage {
+    pname = "Pod-MinimumVersion";
+    version = "50";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/K/KR/KRYDE/Pod-MinimumVersion-50.tar.gz";
+      sha256 = "0bd2812d9aacbd99bb71fa103a4bb129e955c138ba7598734207dc9fb67b5a6f";
+    };
+    propagatedBuildInputs = [ IOString PodParser ];
+    meta = {
+      homepage = "http://user42.tuxfamily.org/pod-minimumversion/index.html";
+      description = "Determine minimum Perl version of POD directives";
+      license = lib.licenses.free;
+    };
+  };
+
   POE = buildPerlPackage {
     pname = "POE";
     version = "1.368";
@@ -17423,6 +17630,37 @@ let
     propagatedBuildInputs = [ IPCSignal ];
   };
 
+  PrometheusTiny = buildPerlPackage {
+    pname = "Prometheus-Tiny";
+    version = "0.008";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/R/RO/ROBN/Prometheus-Tiny-0.008.tar.gz";
+      sha256 = "17d7b69chkcq8fprww6m15glndyb0lms2l0xjbnbw04q7f8ncskk";
+    };
+    buildInputs = [ HTTPMessage Plack TestException ];
+    meta = {
+      homepage = "https://github.com/robn/Prometheus-Tiny";
+      description = "A tiny Prometheus client";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
+  PrometheusTinyShared = buildPerlPackage {
+    pname = "Prometheus-Tiny-Shared";
+    version = "0.024";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/R/RO/ROBN/Prometheus-Tiny-Shared-0.024.tar.gz";
+      sha256 = "02w24r4amk8dqlavg6abxap48hzxrbda48f1pmrqypgx1cz59g4g";
+    };
+    buildInputs = [ DataRandom HTTPMessage Plack TestDifferences TestException ];
+    propagatedBuildInputs = [ HashSharedMem JSONXS PrometheusTiny ];
+    meta = {
+      homepage = "https://github.com/robn/Prometheus-Tiny-Shared";
+      description = "A tiny Prometheus client with a shared database behind it";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   ProtocolRedis = buildPerlPackage {
     pname = "Protocol-Redis";
     version = "1.0011";
@@ -18806,7 +19044,19 @@ let
       sha256 = "096fq62iphmxgcfcayg4i0wf09y1rl1ar6hrcxfqsbrsmkwlzk8a";
     };
     buildInputs = [ FileShareDirInstall JSONMaybeXS TestDifferences TestException XMLWriter YAML ];
-    propagatedBuildInputs = [ CarpClan DBI FileShareDir Moo PackageVariant ParseRecDescent TryTiny ];
+    propagatedBuildInputs = [ CarpClan DBI FileShareDir Moo PackageVariant ParseRecDescent TryTiny GraphViz GD ];
+
+    postPatch = ''
+      patchShebangs script
+    '';
+
+    nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
+    postInstall = lib.optionalString stdenv.isDarwin ''
+      for file in $out/bin/*; do
+        shortenPerlShebang $file
+      done
+    '';
+
     meta = {
       description = "SQL DDL transformations and more";
       license = with lib.licenses; [ artistic1 gpl1Plus ];
@@ -19583,6 +19833,22 @@ let
     };
   };
 
+  SyntaxKeywordTry = buildPerlModule {
+    pname = "Syntax-Keyword-Try";
+    version = "0.25";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/P/PE/PEVANS/Syntax-Keyword-Try-0.25.tar.gz";
+      sha256 = "0xd82gcpcrnmwxsbk7x0ainmyybdc087g6j69hrpy80j0asnq2f5";
+    };
+    propagatedBuildInputs = [ XSParseKeyword ];
+    perlPreHook = lib.optionalString stdenv.isDarwin "export LD=$CC";
+    meta = {
+      description = "A try/catch/finally syntax for perl";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+      maintainers = [ maintainers.zakame ];
+    };
+  };
+
   SysMmap = buildPerlPackage {
     pname = "Sys-Mmap";
     version = "0.20";
@@ -23939,11 +24205,12 @@ let
 
   XSParseKeyword = buildPerlModule {
     pname = "XS-Parse-Keyword";
-    version = "0.06";
+    version = "0.12";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/P/PE/PEVANS/XS-Parse-Keyword-0.06.tar.gz";
-      sha256 = "0nnr8akkxb2h2y3d5r51pr84vvxkq89ynmi9azkbnn79jmbcbgvq";
+      url = "mirror://cpan/authors/id/P/PE/PEVANS/XS-Parse-Keyword-0.12.tar.gz";
+      sha256 = "0crwhcw9ciqndvwvhycd93m6jgyhi77yyj4vi9xfyglpv84p3y68";
     };
+    buildInputs = [ ExtUtilsCChecker ];
     perlPreHook = lib.optionalString stdenv.isDarwin "export LD=$CC";
     meta = {
       description = "XS functions to assist in parsing keyword syntax";
@@ -23954,10 +24221,10 @@ let
 
   XSParseSublike = buildPerlModule {
     pname = "XS-Parse-Sublike";
-    version = "0.10";
+    version = "0.12";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/P/PE/PEVANS/XS-Parse-Sublike-0.10.tar.gz";
-      sha256 = "99a1bdda3ffa67514adb6aa189c902fa78dca41d778a42ae7079f604a045ac43";
+      url = "mirror://cpan/authors/id/P/PE/PEVANS/XS-Parse-Sublike-0.12.tar.gz";
+      sha256 = "08kpia48f1rqc44rvbns97h3jyy2y5c8qlkh4a95v1m0yr5cb22s";
     };
     buildInputs = [ TestFatal ];
     perlPreHook = lib.optionalString stdenv.isDarwin "export LD=$CC";
diff --git a/nixpkgs/pkgs/top-level/python-aliases.nix b/nixpkgs/pkgs/top-level/python-aliases.nix
index 294c90f66566..27b467cbb2a4 100644
--- a/nixpkgs/pkgs/top-level/python-aliases.nix
+++ b/nixpkgs/pkgs/top-level/python-aliases.nix
@@ -49,10 +49,14 @@ mapAliases ({
   glances = throw "glances has moved to pkgs.glances"; # added 2020-20-28
   google_api_python_client = google-api-python-client; # added 2021-03-19
   googleapis_common_protos = googleapis-common-protos; # added 2021-03-19
+  grpc_google_iam_v1 = grpc-google-iam-v1; # added 2021-08-21
   HAP-python = hap-python; # added 2021-06-01
   lammps-cython = throw "no longer builds and is unmaintained";
   MechanicalSoup = mechanicalsoup; # added 2021-06-01
+  pam = python-pam; # added 2020-09-07.
   privacyidea = throw "renamed to pkgs.privacyidea"; # added 2021-06-20
+  prometheus_client = prometheus-client; # added 2021-06-10
+  prompt_toolkit = prompt-toolkit;
   pylibgen = throw "pylibgen is unmaintained upstreamed, and removed from nixpkgs"; # added 2020-06-20
   pymssql = throw "pymssql has been abandoned upstream."; # added 2020-05-04
   pytestcov = pytest-cov; # added 2021-01-04
@@ -60,6 +64,7 @@ mapAliases ({
   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
+  python-lz4 = lz4; # added 2018-06-01
   pytest_xdist = pytest-xdist; # added 2021-01-04
   python_simple_hipchat = python-simple-hipchat; # added 2021-07-21
   qasm2image = throw "qasm2image is no longer maintained (since November 2018), and is not compatible with the latest pythonPackages.qiskit versions."; # added 2020-12-09
@@ -70,6 +75,7 @@ mapAliases ({
   setuptools_scm = setuptools-scm; # added 2021-06-03
   smart_open = smart-open; # added 2021-03-14
   smmap2 = throw "smmap2 has been deprecated, use smmap instead."; # added 2020-03-14
+  sphinxcontrib_plantuml = sphinxcontrib-plantuml;
   topydo = throw "python3Packages.topydo was moved to topydo"; # 2017-09-22
   tvnamer = throw "python3Packages.tvnamer was moved to tvnamer"; # 2021-07-05
   websocket_client = websocket-client;
diff --git a/nixpkgs/pkgs/top-level/python-packages.nix b/nixpkgs/pkgs/top-level/python-packages.nix
index 590ee7ab13f2..df257491f28d 100644
--- a/nixpkgs/pkgs/top-level/python-packages.nix
+++ b/nixpkgs/pkgs/top-level/python-packages.nix
@@ -191,6 +191,8 @@ in {
 
   adal = callPackage ../development/python-modules/adal { };
 
+  adax = callPackage ../development/python-modules/adax { };
+
   adb-enhanced = callPackage ../development/python-modules/adb-enhanced { };
 
   adb-homeassistant = callPackage ../development/python-modules/adb-homeassistant { };
@@ -397,6 +399,8 @@ in {
 
   alarmdecoder = callPackage ../development/python-modules/alarmdecoder { };
 
+  alectryon = callPackage ../development/python-modules/alectryon { };
+
   alembic = callPackage ../development/python-modules/alembic { };
 
   algebraic-data-types = callPackage ../development/python-modules/algebraic-data-types { };
@@ -475,6 +479,8 @@ in {
 
   anyascii = callPackage ../development/python-modules/anyascii { };
 
+  anybadge = callPackage ../development/python-modules/anybadge { };
+
   anyio = callPackage ../development/python-modules/anyio { };
 
   anyjson = callPackage ../development/python-modules/anyjson { };
@@ -569,6 +575,8 @@ in {
 
   aspy-yaml = callPackage ../development/python-modules/aspy.yaml { };
 
+  assertpy = callPackage ../development/python-modules/assertpy { };
+
   asteval = callPackage ../development/python-modules/asteval { };
 
   astor = callPackage ../development/python-modules/astor { };
@@ -993,6 +1001,8 @@ in {
 
   bacpypes = callPackage ../development/python-modules/bacpypes { };
 
+  bagit = callPackage ../development/python-modules/bagit { };
+
   banal = callPackage ../development/python-modules/banal { };
 
   bandit = callPackage ../development/python-modules/bandit { };
@@ -1214,6 +1224,10 @@ in {
 
   brotli = callPackage ../development/python-modules/brotli { };
 
+  brotlicffi = callPackage ../development/python-modules/brotlicffi {
+    inherit (pkgs) brotli;
+  };
+
   brotlipy = callPackage ../development/python-modules/brotlipy { };
 
   brottsplatskartan = callPackage ../development/python-modules/brottsplatskartan { };
@@ -1361,6 +1375,8 @@ in {
 
   cert-chain-resolver = callPackage ../development/python-modules/cert-chain-resolver { };
 
+  certauth = callPackage ../development/python-modules/certauth { };
+
   certbot = callPackage ../development/python-modules/certbot { };
 
   certbot-dns-cloudflare = callPackage ../development/python-modules/certbot-dns-cloudflare { };
@@ -1419,6 +1435,8 @@ in {
 
   cherrypy = callPackage ../development/python-modules/cherrypy { };
 
+  chess = callPackage ../development/python-modules/chess { };
+
   chevron = callPackage ../development/python-modules/chevron { };
 
   chiabip158 = callPackage ../development/python-modules/chiabip158 { };
@@ -1527,6 +1545,8 @@ in {
 
   cloudsmith-api = callPackage ../development/python-modules/cloudsmith-api { };
 
+  cloudsplaining = callPackage ../development/python-modules/cloudsplaining { };
+
   clustershell = callPackage ../development/python-modules/clustershell { };
 
   clvm = callPackage ../development/python-modules/clvm { };
@@ -1828,6 +1848,8 @@ in {
 
   datasette = callPackage ../development/python-modules/datasette { };
 
+  datasette-template-sql = callPackage ../development/python-modules/datasette-template-sql { };
+
   datashader = callPackage ../development/python-modules/datashader {
     dask = self.dask.override { withExtraComplete = true; };
   };
@@ -1872,6 +1894,8 @@ in {
 
   decopatch = callPackage ../development/python-modules/decopatch { };
 
+  deemix = callPackage ../development/python-modules/deemix { };
+
   deep_merge = callPackage ../development/python-modules/deep_merge { };
 
   deepdiff = callPackage ../development/python-modules/deepdiff { };
@@ -1880,6 +1904,8 @@ in {
 
   deeptoolsintervals = callPackage ../development/python-modules/deeptoolsintervals { };
 
+  deezer-py = callPackage ../development/python-modules/deezer-py { };
+
   deezer-python = callPackage ../development/python-modules/deezer-python { };
 
   defcon = callPackage ../development/python-modules/defcon { };
@@ -1914,6 +1940,8 @@ in {
 
   desktop-notifier = callPackage ../development/python-modules/desktop-notifier { };
 
+  detect-secrets = callPackage ../development/python-modules/detect-secrets { };
+
   devolo-home-control-api = callPackage ../development/python-modules/devolo-home-control-api { };
 
   devpi-common = callPackage ../development/python-modules/devpi-common { };
@@ -2145,6 +2173,8 @@ in {
 
   docopt = callPackage ../development/python-modules/docopt { };
 
+  docopt-ng = callPackage ../development/python-modules/docopt-ng { };
+
   docplex = callPackage ../development/python-modules/docplex { };
 
   docrep = callPackage ../development/python-modules/docrep { };
@@ -2290,6 +2320,8 @@ in {
 
   email_validator = callPackage ../development/python-modules/email-validator { };
 
+  embrace = callPackage ../development/python-modules/embrace { };
+
   emcee = callPackage ../development/python-modules/emcee { };
 
   emv = callPackage ../development/python-modules/emv { };
@@ -2328,6 +2360,8 @@ in {
 
   env-canada = callPackage ../development/python-modules/env-canada { };
 
+  environmental-override = callPackage ../development/python-modules/environmental-override {};
+
   envisage = callPackage ../development/python-modules/envisage { };
 
   envs = callPackage ../development/python-modules/envs { };
@@ -2534,7 +2568,9 @@ in {
 
   fints = callPackage ../development/python-modules/fints { };
 
-  fiona = callPackage ../development/python-modules/fiona { };
+  fiona = callPackage ../development/python-modules/fiona {
+    gdal = pkgs.gdal_2;
+  };
 
   fipy = callPackage ../development/python-modules/fipy { };
 
@@ -2736,6 +2772,8 @@ in {
 
   freezegun = callPackage ../development/python-modules/freezegun { };
 
+  frilouz = callPackage ../development/python-modules/frilouz { };
+
   fritzconnection = callPackage ../development/python-modules/fritzconnection { };
 
   fritzprofiles = callPackage ../development/python-modules/fritzprofiles { };
@@ -2764,6 +2802,8 @@ in {
 
   furl = callPackage ../development/python-modules/furl { };
 
+  furo = callPackage ../development/python-modules/furo { };
+
   fuse = callPackage ../development/python-modules/fuse-python {
     inherit (pkgs) fuse;
   };
@@ -2835,6 +2875,8 @@ in {
 
   geoalchemy2 = callPackage ../development/python-modules/geoalchemy2 { };
 
+  geocachingapi = callPackage ../development/python-modules/geocachingapi { };
+
   geographiclib = callPackage ../development/python-modules/geographiclib { };
 
   geoip2 = callPackage ../development/python-modules/geoip2 { };
@@ -2961,6 +3003,8 @@ in {
 
   google-cloud-asset = callPackage ../development/python-modules/google-cloud-asset { };
 
+  google-cloud-audit-log = callPackage ../development/python-modules/google-cloud-audit-log { };
+
   google-cloud-automl = callPackage ../development/python-modules/google-cloud-automl { };
 
   google-cloud-bigquery = callPackage ../development/python-modules/google-cloud-bigquery { };
@@ -2975,6 +3019,8 @@ in {
 
   google-cloud-core = callPackage ../development/python-modules/google-cloud-core { };
 
+  google-cloud-datacatalog = callPackage ../development/python-modules/google-cloud-datacatalog { };
+
   google-cloud-dataproc = callPackage ../development/python-modules/google-cloud-dataproc { };
 
   google-cloud-datastore = callPackage ../development/python-modules/google-cloud-datastore { };
@@ -3104,6 +3150,8 @@ in {
 
   graphene = callPackage ../development/python-modules/graphene { };
 
+  graphqlclient= callPackage ../development/python-modules/graphqlclient { };
+
   graphql-core = callPackage ../development/python-modules/graphql-core { };
 
   graphql-relay = callPackage ../development/python-modules/graphql-relay { };
@@ -3140,7 +3188,7 @@ in {
 
   grip = callPackage ../development/python-modules/grip { };
 
-  grpc_google_iam_v1 = callPackage ../development/python-modules/grpc_google_iam_v1 { };
+  grpc-google-iam-v1 = callPackage ../development/python-modules/grpc-google-iam-v1 { };
 
   grpcio = callPackage ../development/python-modules/grpcio { };
 
@@ -3176,6 +3224,8 @@ in {
 
   guestfs = callPackage ../development/python-modules/guestfs { };
 
+  gudhi = callPackage ../development/python-modules/gudhi { };
+
   gumath = callPackage ../development/python-modules/gumath { };
 
   gunicorn = callPackage ../development/python-modules/gunicorn { };
@@ -3375,6 +3425,10 @@ in {
 
   httpx = callPackage ../development/python-modules/httpx { };
 
+  httpx-ntlm = callPackage ../development/python-modules/httpx-ntlm { };
+
+  httpx-socks = callPackage ../development/python-modules/httpx-socks { };
+
   huawei-lte-api = callPackage ../development/python-modules/huawei-lte-api { };
 
   huey = callPackage ../development/python-modules/huey { };
@@ -3399,6 +3453,8 @@ in {
 
   hwi = callPackage ../development/python-modules/hwi { };
 
+  hy = callPackage ../development/python-modules/hy { };
+
   hydra = callPackage ../development/python-modules/hydra { };
 
   hydra-check = callPackage ../development/python-modules/hydra-check { };
@@ -3507,6 +3563,8 @@ in {
 
   iminuit = callPackage ../development/python-modules/iminuit { };
 
+  immutabledict = callPackage ../development/python-modules/immutabledict { };
+
   immutables = callPackage ../development/python-modules/immutables { };
 
   impacket = callPackage ../development/python-modules/impacket { };
@@ -3551,6 +3609,8 @@ in {
 
   inotify-simple = callPackage ../development/python-modules/inotify-simple { };
 
+  inotifyrecursive = callPackage ../development/python-modules/inotifyrecursive { };
+
   inquirer = callPackage ../development/python-modules/inquirer { };
 
   intake = callPackage ../development/python-modules/intake { };
@@ -3694,6 +3754,8 @@ in {
 
   jinja2 = callPackage ../development/python-modules/jinja2 { };
 
+  jinja2-git = callPackage ../development/python-modules/jinja2-git { };
+
   jinja2_pluralize = callPackage ../development/python-modules/jinja2_pluralize { };
 
   jinja2_time = callPackage ../development/python-modules/jinja2_time { };
@@ -3920,10 +3982,9 @@ in {
 
   kmapper = callPackage ../development/python-modules/kmapper { };
 
-  kmsxx = toPythonModule ((callPackage ../development/libraries/kmsxx {
-    inherit (pkgs.kmsxx) stdenv;
+  kmsxx = toPythonModule (pkgs.kmsxx.override {
     withPython = true;
-  }).overrideAttrs (oldAttrs: { name = "${python.libPrefix}-${pkgs.kmsxx.name}"; }));
+  });
 
   knack = callPackage ../development/python-modules/knack { };
 
@@ -3981,6 +4042,8 @@ in {
 
   leather = callPackage ../development/python-modules/leather { };
 
+  leb128 = callPackage ../development/python-modules/leb128 { };
+
   ledger_agent = callPackage ../development/python-modules/ledger_agent { };
 
   ledgerblue = callPackage ../development/python-modules/ledgerblue { };
@@ -4208,6 +4271,8 @@ in {
 
   lmtpd = callPackage ../development/python-modules/lmtpd { };
 
+  loca = callPackage ../development/python-modules/loca { };
+
   localimport = callPackage ../development/python-modules/localimport { };
 
   localzone = callPackage ../development/python-modules/localzone { };
@@ -4244,6 +4309,8 @@ in {
 
   lsassy = callPackage ../development/python-modules/lsassy { };
 
+  luddite = callPackage ../development/python-modules/luddite { };
+
   ludios_wpull = callPackage ../development/python-modules/ludios_wpull { };
 
   luftdaten = callPackage ../development/python-modules/luftdaten { };
@@ -4256,7 +4323,7 @@ in {
 
   lyricwikia = callPackage ../development/python-modules/lyricwikia { };
 
-  lz4 = self.python-lz4; # alias 2018-12-05
+  lz4 = callPackage ../development/python-modules/lz4 { };
 
   lzstring = callPackage ../development/python-modules/lzstring { };
 
@@ -4384,7 +4451,7 @@ in {
   maya = callPackage ../development/python-modules/maya { };
 
   mayavi = pkgs.libsForQt5.callPackage ../development/python-modules/mayavi {
-    inherit buildPythonPackage isPy27 fetchPypi;
+    inherit buildPythonPackage pythonOlder fetchPypi;
     inherit (self) pyface pygments numpy vtk traitsui envisage apptools pyqt5;
   };
 
@@ -4418,6 +4485,8 @@ in {
 
   memcached = callPackage ../development/python-modules/memcached { };
 
+  memory-allocator = callPackage ../development/python-modules/memory-allocator { };
+
   memory_profiler = callPackage ../development/python-modules/memory_profiler { };
 
   mercantile = callPackage ../development/python-modules/mercantile { };
@@ -4508,7 +4577,7 @@ in {
   mlxtend = callPackage ../development/python-modules/mlxtend { };
 
   mlt = toPythonModule (pkgs.mlt.override {
-    inherit python;
+    python3 = python;
     enablePython = true;
   });
 
@@ -4583,6 +4652,8 @@ in {
 
   mpi4py = callPackage ../development/python-modules/mpi4py { };
 
+  mpldatacursor = callPackage ../development/python-modules/mpldatacursor { };
+
   mplfinance = callPackage ../development/python-modules/mplfinance { };
 
   mplleaflet = callPackage ../development/python-modules/mplleaflet { };
@@ -4649,6 +4720,8 @@ in {
 
   mutesync = callPackage ../development/python-modules/mutesync { };
 
+  mutf8 = callPackage ../development/python-modules/mutf8 { };
+
   mwclient = callPackage ../development/python-modules/mwclient { };
 
   mwdblib = callPackage ../development/python-modules/mwdblib { };
@@ -4889,6 +4962,8 @@ in {
 
   nsapi = callPackage ../development/python-modules/nsapi { };
 
+  ntfy-webpush = callPackage ../tools/misc/ntfy-webpush { };
+
   ntc-templates = callPackage ../development/python-modules/ntc-templates { };
 
   ntlm-auth = callPackage ../development/python-modules/ntlm-auth { };
@@ -4966,8 +5041,12 @@ in {
 
   onkyo-eiscp = callPackage ../development/python-modules/onkyo-eiscp { };
 
+  onlykey-solo-python = callPackage ../development/python-modules/onlykey-solo-python { };
+
   onnx = callPackage ../development/python-modules/onnx { };
 
+  open-garage = callPackage ../development/python-modules/open-garage { };
+
   openant = callPackage ../development/python-modules/openant { };
 
   openapi-schema-validator = callPackage ../development/python-modules/openapi-schema-validator { };
@@ -5023,10 +5102,10 @@ in {
 
   openwrt-ubus-rpc = callPackage ../development/python-modules/openwrt-ubus-rpc { };
 
-  opt-einsum = callPackage ../development/python-modules/opt-einsum { };
-
   opsdroid_get_image_size = callPackage ../development/python-modules/opsdroid_get_image_size { };
 
+  opt-einsum = callPackage ../development/python-modules/opt-einsum { };
+
   optuna = callPackage ../development/python-modules/optuna { };
 
   opuslib = callPackage ../development/python-modules/opuslib { };
@@ -5079,10 +5158,9 @@ in {
 
   paho-mqtt = callPackage ../development/python-modules/paho-mqtt { };
 
-  palettable = callPackage ../development/python-modules/palettable { };
+  palace = callPackage ../development/python-modules/palace { };
 
-  # Alias. Added 2020-09-07.
-  pam = self.python-pam;
+  palettable = callPackage ../development/python-modules/palettable { };
 
   pamela = callPackage ../development/python-modules/pamela { };
 
@@ -5404,8 +5482,6 @@ in {
 
   pysyncthru = callPackage ../development/python-modules/pysyncthru { };
 
-  pytest-subprocess = callPackage ../development/python-modules/pytest-subprocess { };
-
   python-codon-tables = callPackage ../development/python-modules/python-codon-tables { };
 
   python-crfsuite = callPackage ../development/python-modules/python-crfsuite { };
@@ -5442,6 +5518,8 @@ in {
 
   plaster-pastedeploy = callPackage ../development/python-modules/plaster-pastedeploy { };
 
+  platformdirs = callPackage ../development/python-modules/platformdirs { };
+
   playsound = callPackage ../development/python-modules/playsound { };
 
   plexapi = callPackage ../development/python-modules/plexapi { };
@@ -5492,6 +5570,10 @@ in {
 
   polib = callPackage ../development/python-modules/polib { };
 
+  policy-sentry = callPackage ../development/python-modules/policy-sentry { };
+
+  policyuniverse = callPackage ../development/python-modules/policyuniverse { };
+
   polyline = callPackage ../development/python-modules/polyline { };
 
   pomegranate = callPackage ../development/python-modules/pomegranate { };
@@ -5523,6 +5605,8 @@ in {
 
   postorius = callPackage ../servers/mail/mailman/postorius.nix { };
 
+  pot = callPackage ../development/python-modules/pot { };
+
   potr = callPackage ../development/python-modules/potr { };
 
   power = callPackage ../development/python-modules/power { };
@@ -5595,13 +5679,13 @@ in {
 
   progress = callPackage ../development/python-modules/progress { };
 
-  prometheus_client = callPackage ../development/python-modules/prometheus_client { };
+  prometheus-client = callPackage ../development/python-modules/prometheus-client { };
 
   prometheus-flask-exporter = callPackage ../development/python-modules/prometheus-flask-exporter { };
 
   promise = callPackage ../development/python-modules/promise { };
 
-  prompt_toolkit = callPackage ../development/python-modules/prompt_toolkit { };
+  prompt-toolkit = callPackage ../development/python-modules/prompt-toolkit { };
 
   property-manager = callPackage ../development/python-modules/property-manager { };
 
@@ -5618,6 +5702,8 @@ in {
 
   protobuf3-to-dict = callPackage ../development/python-modules/protobuf3-to-dict { };
 
+  protonup = callPackage ../development/python-modules/protonup { };
+
   prov = callPackage ../development/python-modules/prov { };
 
   prox-tv = callPackage ../development/python-modules/prox-tv { };
@@ -5909,6 +5995,8 @@ in {
 
   pydispatcher = callPackage ../development/python-modules/pydispatcher { };
 
+  pydmd = callPackage ../development/python-modules/pydmd { };
+
   pydns = callPackage ../development/python-modules/py3dns { };
 
   pydocstyle = callPackage ../development/python-modules/pydocstyle { };
@@ -5975,6 +6063,8 @@ in {
 
   pyfakefs = callPackage ../development/python-modules/pyfakefs { };
 
+  pyfakewebcam = callPackage ../development/python-modules/pyfakewebcam { };
+
   pyfantom = callPackage ../development/python-modules/pyfantom { };
 
   pyfcm = callPackage ../development/python-modules/pyfcm { };
@@ -6017,7 +6107,9 @@ in {
 
   pygal = callPackage ../development/python-modules/pygal { };
 
-  pygame = callPackage ../development/python-modules/pygame { };
+  pygame = callPackage ../development/python-modules/pygame {
+    inherit (pkgs.darwin.apple_sdk.frameworks) AppKit CoreMIDI;
+  };
 
   pygame_sdl2 = callPackage ../development/python-modules/pygame_sdl2 { };
 
@@ -6213,12 +6305,16 @@ in {
 
   pylxd = callPackage ../development/python-modules/pylxd { };
 
+  pylzma = callPackage ../development/python-modules/pylzma { };
+
   pymacaroons = callPackage ../development/python-modules/pymacaroons { };
 
   pymaging = callPackage ../development/python-modules/pymaging { };
 
   pymaging_png = callPackage ../development/python-modules/pymaging_png { };
 
+  pymanopt = callPackage ../development/python-modules/pymanopt { };
+
   pymata-express = callPackage ../development/python-modules/pymata-express { };
 
   pymatgen = callPackage ../development/python-modules/pymatgen { };
@@ -6285,7 +6381,9 @@ in {
 
   pymumble = callPackage ../development/python-modules/pymumble { };
 
-  pymunk = callPackage ../development/python-modules/pymunk { };
+  pymunk = callPackage ../development/python-modules/pymunk {
+    inherit (pkgs.darwin.apple_sdk.frameworks) ApplicationServices;
+  };
 
   pymupdf = callPackage ../development/python-modules/pymupdf { };
 
@@ -6432,6 +6530,8 @@ in {
 
   pyproj = callPackage ../development/python-modules/pyproj { };
 
+  pyprosegur = callPackage ../development/python-modules/pyprosegur { };
+
   pyptlib = callPackage ../development/python-modules/pyptlib { };
 
   pypubsub = callPackage ../development/python-modules/pypubsub { };
@@ -6867,6 +6967,8 @@ in {
 
   pytest-mock = callPackage ../development/python-modules/pytest-mock { };
 
+  pytest-mockservers = callPackage ../development/python-modules/pytest-mockservers { };
+
   pytest-mpl = callPackage ../development/python-modules/pytest-mpl { };
 
   pytest-mypy = callPackage ../development/python-modules/pytest-mypy { };
@@ -6905,6 +7007,8 @@ in {
 
   pytest-rerunfailures = callPackage ../development/python-modules/pytest-rerunfailures { };
 
+  pytest-resource-path = callPackage ../development/python-modules/pytest-resource-path { };
+
   pytest-runner = callPackage ../development/python-modules/pytest-runner { };
 
   pytest-sanic = callPackage ../development/python-modules/pytest-sanic {
@@ -6923,6 +7027,8 @@ in {
 
   pytest-socket = callPackage ../development/python-modules/pytest-socket { };
 
+  pytest-subprocess = callPackage ../development/python-modules/pytest-subprocess { };
+
   pytest-subtesthack = callPackage ../development/python-modules/pytest-subtesthack { };
 
   pytest-subtests = callPackage ../development/python-modules/pytest-subtests { };
@@ -7063,8 +7169,6 @@ in {
 
   python-ly = callPackage ../development/python-modules/python-ly { };
 
-  python-lz4 = callPackage ../development/python-modules/python-lz4 { };
-
   python-lzf = callPackage ../development/python-modules/python-lzf { };
 
   python-lzo = callPackage ../development/python-modules/python-lzo {
@@ -7073,7 +7177,18 @@ in {
 
   python_magic = callPackage ../development/python-modules/python-magic { };
 
-  python-mapnik = callPackage ../development/python-modules/python-mapnik { };
+  python-mapnik = let
+    boost = pkgs.boost.override {
+      enablePython = true;
+      inherit python;
+    };
+  in callPackage ../development/python-modules/python-mapnik {
+    inherit (pkgs) pkg-config cairo harfbuzz icu libjpeg libpng libtiff libwebp proj zlib;
+    inherit boost;
+    mapnik = pkgs.mapnik.override {
+      inherit python boost;
+    };
+  };
 
   python-markdown-math = callPackage ../development/python-modules/python-markdown-math { };
 
@@ -7250,6 +7365,8 @@ in {
 
   pyturbojpeg = callPackage ../development/python-modules/pyturbojpeg { };
 
+  pytwitchapi = callPackage ../development/python-modules/pytwitchapi { };
+
   pytz = callPackage ../development/python-modules/pytz { };
 
   pytzdata = callPackage ../development/python-modules/pytzdata { };
@@ -7283,6 +7400,8 @@ in {
     inherit (pkgs) libusb1;
   };
 
+  pyuseragents = callPackage ../development/python-modules/pyuseragents { };
+
   pyutilib = callPackage ../development/python-modules/pyutilib { };
 
   pyuv = callPackage ../development/python-modules/pyuv { };
@@ -7295,6 +7414,8 @@ in {
 
   pyvera = callPackage ../development/python-modules/pyvera { };
 
+  pyverilog = callPackage ../development/python-modules/pyverilog { };
+
   pyvesync = callPackage ../development/python-modules/pyvesync { };
 
   pyvex = callPackage ../development/python-modules/pyvex { };
@@ -7528,6 +7649,8 @@ in {
 
   relatorio = callPackage ../development/python-modules/relatorio { };
 
+  remarshal = callPackage ../development/python-modules/remarshal { };
+
   rencode = callPackage ../development/python-modules/rencode { };
 
   reparser = callPackage ../development/python-modules/reparser { };
@@ -7716,6 +7839,8 @@ in {
 
   rst2ansi = callPackage ../development/python-modules/rst2ansi { };
 
+  rstcheck = callPackage ../development/python-modules/rstcheck { };
+
   rtmidi-python = callPackage ../development/python-modules/rtmidi-python { };
 
   rtoml = callPackage ../development/python-modules/rtoml { };
@@ -7811,6 +7936,8 @@ in {
 
   schema = callPackage ../development/python-modules/schema { };
 
+  schema-salad = callPackage ../development/python-modules/schema-salad { };
+
   schiene = callPackage ../development/python-modules/schiene { };
 
   scikit-bio = callPackage ../development/python-modules/scikit-bio { };
@@ -7857,6 +7984,8 @@ in {
 
   scripttest = callPackage ../development/python-modules/scripttest { };
 
+  scikit-survival = callPackage ../development/python-modules/scikit-survival { };
+
   scs = callPackage ../development/python-modules/scs { scs = pkgs.scs; };
 
   sdnotify = callPackage ../development/python-modules/sdnotify { };
@@ -7954,6 +8083,8 @@ in {
 
   sh = callPackage ../development/python-modules/sh { };
 
+  shellescape = callPackage ../development/python-modules/shellescape { };
+
   shellingham = callPackage ../development/python-modules/shellingham { };
 
   shiboken2 = toPythonModule (callPackage ../development/python-modules/shiboken2 {
@@ -8136,6 +8267,8 @@ in {
 
   solax = callPackage ../development/python-modules/solax { };
 
+  solc-select = callPackage ../development/python-modules/solc-select { };
+
   solo-python = disabledIf (!pythonAtLeast "3.6") (callPackage ../development/python-modules/solo-python { });
 
   somajo = callPackage ../development/python-modules/somajo { };
@@ -8230,7 +8363,7 @@ in {
 
   sphinxcontrib-openapi = callPackage ../development/python-modules/sphinxcontrib-openapi { };
 
-  sphinxcontrib_plantuml = callPackage ../development/python-modules/sphinxcontrib_plantuml {
+  sphinxcontrib-plantuml = callPackage ../development/python-modules/sphinxcontrib-plantuml {
     inherit (pkgs) plantuml;
   };
 
@@ -8256,6 +8389,8 @@ in {
 
   sphinx-copybutton = callPackage ../development/python-modules/sphinx-copybutton { };
 
+  sphinx-inline-tabs = callPackage ../development/python-modules/sphinx-inline-tabs { };
+
   sphinx-jinja = callPackage ../development/python-modules/sphinx-jinja { };
 
   sphinx-markdown-parser = callPackage ../development/python-modules/sphinx-markdown-parser { };
@@ -8272,6 +8407,8 @@ in {
 
   sphinx-testing = callPackage ../development/python-modules/sphinx-testing { };
 
+  sphinxext-opengraph = callPackage ../development/python-modules/sphinxext-opengraph { };
+
   spidev = callPackage ../development/python-modules/spidev { };
 
   splinter = callPackage ../development/python-modules/splinter { };
@@ -8372,6 +8509,8 @@ in {
 
   stravalib = callPackage ../development/python-modules/stravalib { };
 
+  streaming-form-data = callPackage ../development/python-modules/streaming-form-data { };
+
   streamz = callPackage ../development/python-modules/streamz { };
 
   strict-rfc3339 = callPackage ../development/python-modules/strict-rfc3339 { };
@@ -8404,6 +8543,8 @@ in {
 
   subliminal = callPackage ../development/python-modules/subliminal { };
 
+  subprocess-tee = callPackage ../development/python-modules/subprocess-tee { };
+
   subunit = callPackage ../development/python-modules/subunit {
     inherit (pkgs) subunit cppunit check;
   };
@@ -8456,6 +8597,8 @@ in {
 
   syncer = callPackage ../development/python-modules/syncer { };
 
+  synergy = callPackage ../development/python-modules/synergy { };
+
   synologydsm-api = callPackage ../development/python-modules/synologydsm-api { };
 
   systembridge = callPackage ../development/python-modules/systembridge { };
@@ -8516,6 +8659,8 @@ in {
 
   tenacity = callPackage ../development/python-modules/tenacity { };
 
+  tensorboard-data-server = callPackage ../development/python-modules/tensorboard-data-server { };
+
   tensorboard-plugin-profile = callPackage ../development/python-modules/tensorboard-plugin-profile { };
 
   tensorboard-plugin-wit = callPackage ../development/python-modules/tensorboard-plugin-wit {};
@@ -8659,6 +8804,8 @@ in {
 
   tifffile = callPackage ../development/python-modules/tifffile { };
 
+  tika = callPackage ../development/python-modules/tika { };
+
   tiledb = callPackage ../development/python-modules/tiledb {
     inherit (pkgs) tiledb;
   };
@@ -8671,6 +8818,8 @@ in {
 
   timelib = callPackage ../development/python-modules/timelib { };
 
+  time-machine = callPackage ../development/python-modules/time-machine { };
+
   timeout-decorator = callPackage ../development/python-modules/timeout-decorator { };
 
   timezonefinder = callPackage ../development/python-modules/timezonefinder { };
@@ -8737,6 +8886,8 @@ in {
   # Used by streamlit, graphite_beacon, 2021-01-29
   tornado_5 = callPackage ../development/python-modules/tornado/5.nix { };
 
+  torrequest = callPackage ../development/python-modules/torrequest { };
+
   total-connect-client = callPackage ../development/python-modules/total-connect-client { };
 
   towncrier = callPackage ../development/python-modules/towncrier {
@@ -8773,6 +8924,8 @@ in {
 
   transitions = callPackage ../development/python-modules/transitions { };
 
+  translatepy = callPackage ../development/python-modules/translatepy { };
+
   translationstring = callPackage ../development/python-modules/translationstring { };
 
   transmission-rpc = callPackage ../development/python-modules/transmission-rpc { };
@@ -8799,6 +8952,8 @@ in {
 
   ttp = callPackage ../development/python-modules/ttp { };
 
+  tubes = callPackage ../development/python-modules/tubes { };
+
   tunigo = callPackage ../development/python-modules/tunigo { };
 
   tubeup = callPackage ../development/python-modules/tubeup { };
@@ -8877,6 +9032,8 @@ in {
 
   types-decorator = callPackage ../development/python-modules/types-decorator { };
 
+  types-pytz = callPackage ../development/python-modules/types-pytz { };
+
   types-requests = callPackage ../development/python-modules/types-requests { };
 
   typesentry = callPackage ../development/python-modules/typesentry { };
@@ -9067,6 +9224,8 @@ in {
 
   versioneer = callPackage ../development/python-modules/versioneer { };
 
+  versiontag = callPackage ../development/python-modules/versiontag { };
+
   versiontools = callPackage ../development/python-modules/versiontools { };
 
   vertica-python = callPackage ../development/python-modules/vertica-python { };
@@ -9373,6 +9532,8 @@ in {
 
   xmltodict = callPackage ../development/python-modules/xmltodict { };
 
+  xml-marshaller = callPackage ../development/python-modules/xml-marshaller { };
+
   xmodem = callPackage ../development/python-modules/xmodem { };
 
   xnd = callPackage ../development/python-modules/xnd { };
@@ -9452,8 +9613,19 @@ in {
     phantomjsSupport = false;
   };
 
+  yt-dlp = callPackage ../tools/misc/yt-dlp { };
+
+  yt-dlp-light = callPackage ../tools/misc/yt-dlp {
+    ffmpegSupport = false;
+    phantomjsSupport = false;
+  };
+
   youtube-search = callPackage ../development/python-modules/youtube-search { };
 
+  youtube-search-python = callPackage ../development/python-modules/youtube-search-python { };
+
+  youtube-transcript-api = callPackage ../development/python-modules/youtube-transcript-api { };
+
   yowsup = callPackage ../development/python-modules/yowsup { };
 
   yq = callPackage ../development/python-modules/yq {
@@ -9528,6 +9700,8 @@ in {
 
   zipstream = callPackage ../development/python-modules/zipstream { };
 
+  zipstream-new = callPackage ../development/python-modules/zipstream-new { };
+
   zm-py = callPackage ../development/python-modules/zm-py { };
 
   zodb = callPackage ../development/python-modules/zodb { };
diff --git a/nixpkgs/pkgs/top-level/python2-packages.nix b/nixpkgs/pkgs/top-level/python2-packages.nix
index 48ddb18291af..caa44e5947e1 100644
--- a/nixpkgs/pkgs/top-level/python2-packages.nix
+++ b/nixpkgs/pkgs/top-level/python2-packages.nix
@@ -281,6 +281,8 @@ with self; with super; {
 
   metaphone = callPackage ../development/python-modules/metaphone { };
 
+  mlt = disabled super.mlt;
+
   mock = callPackage ../development/python-modules/mock/2.nix { };
 
   # Needed here because moinmoin is loaded as a Python library.
@@ -403,7 +405,7 @@ with self; with super; {
 
   progressbar231 = callPackage ../development/python-modules/progressbar231 { };
 
-  prompt_toolkit = callPackage ../development/python-modules/prompt_toolkit/1.nix { };
+  prompt-toolkit = callPackage ../development/python-modules/prompt-toolkit/1.nix { };
 
   pyamf = callPackage ../development/python-modules/pyamf { };
 
diff --git a/nixpkgs/pkgs/top-level/qt5-packages.nix b/nixpkgs/pkgs/top-level/qt5-packages.nix
index 4c3518436de8..b98cbd083062 100644
--- a/nixpkgs/pkgs/top-level/qt5-packages.nix
+++ b/nixpkgs/pkgs/top-level/qt5-packages.nix
@@ -183,7 +183,7 @@ in (kdeFrameworks // plasma5 // plasma5.thirdParty // kdeGear // qt5 // {
   qtinstaller = callPackage ../development/libraries/qtinstaller { };
 
   qtkeychain = callPackage ../development/libraries/qtkeychain {
-    withQt5 = true;
+    inherit (pkgs.darwin.apple_sdk.frameworks) CoreFoundation Security;
   };
 
   qtpbfimageplugin = callPackage ../development/libraries/qtpbfimageplugin { };
diff --git a/nixpkgs/pkgs/top-level/release-haskell.nix b/nixpkgs/pkgs/top-level/release-haskell.nix
index fe5241e3634e..26f538ff3386 100644
--- a/nixpkgs/pkgs/top-level/release-haskell.nix
+++ b/nixpkgs/pkgs/top-level/release-haskell.nix
@@ -18,18 +18,22 @@ let
   };
 
   inherit (releaseLib)
-    pkgs
-    packagePlatforms
+    lib
     mapTestOn
-    aggregate
+    packagePlatforms
+    pkgs
     ;
 
-  inherit (pkgs) lib;
-
-  # helper function which traverses a (nested) set
+  # Helper function which traverses a (nested) set
   # of derivations produced by mapTestOn and flattens
   # it to a list of derivations suitable to be passed
   # to `releaseTools.aggregate` as constituents.
+  # Removes all non derivations from the input jobList.
+  #
+  # accumulateDerivations :: [ Either Derivation AttrSet ] -> [ Derivation ]
+  #
+  # > accumulateDerivations [ drv1 "string" { foo = drv2; bar = { baz = drv3; }; } ]
+  # [ drv1 drv2 drv3 ]
   accumulateDerivations = jobList:
     lib.concatMap (
       attrs:
@@ -46,7 +50,7 @@ let
   # list of all compilers to test specific packages on
   all = with compilerNames; [
     ghc884
-    ghc8104
+    ghc8107
     ghc901
   ];
 
@@ -81,8 +85,45 @@ let
 
   recursiveUpdateMany = builtins.foldl' lib.recursiveUpdate {};
 
-  staticHaskellPackagesPlatforms =
-    packagePlatforms pkgs.pkgsStatic.haskell.packages.integer-simple.ghc8104;
+  # Remove multiple elements from a list at once.
+  #
+  # removeMany
+  #   :: [a]  -- list of elements to remove
+  #   -> [a]  -- list of elements from which to remove
+  #   -> [a]
+  #
+  # > removeMany ["aarch64-linux" "x86_64-darwin"] ["aarch64-linux" "x86_64-darwin" "x86_64-linux"]
+  # ["x86_64-linux"]
+  removeMany = itemsToRemove: list: lib.foldr lib.remove list itemsToRemove;
+
+  # Recursively remove platforms from the values in an attribute set.
+  #
+  # removePlatforms
+  #   :: [String]
+  #   -> AttrSet
+  #   -> AttrSet
+  #
+  # > attrSet = {
+  #     foo = ["aarch64-linux" "x86_64-darwin" "x86_64-linux"];
+  #     bar.baz = ["aarch64-linux" "x86_64-linux"];
+  #     bar.quux = ["aarch64-linux" "x86_64-darwin"];
+  #   }
+  # > removePlatforms ["aarch64-linux" "x86_64-darwin"] attrSet
+  # {
+  #   foo = ["x86_64-linux"];
+  #   bar = {
+  #     baz = ["x86_64-linux"];
+  #     quux = [];
+  #   };
+  # }
+  removePlatforms = platformsToRemove: packageSet:
+    lib.mapAttrsRecursive
+      (_: val:
+        if lib.isList val
+          then removeMany platformsToRemove val
+          else val
+      )
+      packageSet;
 
   jobs = recursiveUpdateMany [
     (mapTestOn {
@@ -91,23 +132,8 @@ let
 
       tests.haskell = packagePlatforms pkgs.tests.haskell;
 
-      pkgsMusl.haskell.compiler = packagePlatforms pkgs.pkgsMusl.haskell.compiler // {
-        # remove musl ghc865Binary since it is known to be broken and
-        # causes an evaluation error on darwin.
-        # TODO: remove ghc865Binary altogether and use ghc8102Binary
-        ghc865Binary = {};
-      };
-
-      # 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.ghc8104 = {
-        inherit (staticHaskellPackagesPlatforms)
-          hello
-          random
-          lens
-          ;
-      };
+      nixosTests.agda = (packagePlatforms pkgs.nixosTests).agda;
+      agdaPackages = packagePlatforms pkgs.agdaPackages;
 
       # top-level packages that depend on haskellPackages
       inherit (pkgsPlatforms)
@@ -215,6 +241,56 @@ let
         ;
 
       elmPackages.elm = pkgsPlatforms.elmPackages.elm;
+
+      # GHCs linked to musl.
+      pkgsMusl.haskell.compiler = packagePlatforms pkgs.pkgsMusl.haskell.compiler // {
+        # remove musl ghc865Binary since it is known to be broken and
+        # causes an evaluation error on darwin.
+        # TODO: remove ghc865Binary altogether and use ghc8102Binary
+        ghc865Binary = {};
+
+        # remove integer-simple because it appears to be broken with
+        # musl and non-static-linking.
+        integer-simple = {};
+      };
+
+      # Get some cache going for MUSL-enabled GHC.
+      pkgsMusl.haskellPackages =
+        removePlatforms
+          [
+            # pkgsMusl is compiled natively with musl.  It is not
+            # cross-compiled (unlike pkgsStatic).  We can only
+            # natively bootstrap GHC with musl on x86_64-linux because
+            # upstream doesn't provide a musl bindist for aarch64.
+            "aarch64-linux"
+
+            # musl only supports linux, not darwin.
+            "x86_64-darwin"
+          ]
+          {
+            inherit (packagePlatforms pkgs.pkgsMusl.haskellPackages)
+              hello
+              lens
+              random
+              ;
+          };
+
+      # 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 =
+        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
+              ;
+          };
     })
     (versionedCompilerJobs {
       # Packages which should be checked on more than the
@@ -224,12 +300,12 @@ let
       # package sets (like Cabal, jailbreak-cabal) are
       # working as expected.
       cabal-install = all;
-      Cabal_3_4_0_0 = with compilerNames; [ ghc884 ghc8104 ];
+      Cabal_3_6_0_0 = with compilerNames; [ ghc884 ghc8107 ];
       cabal2nix-unstable = all;
       funcmp = all;
       # Doesn't currently work on ghc-9.0:
       # https://github.com/haskell/haskell-language-server/issues/297
-      haskell-language-server = with compilerNames; [ ghc884 ghc8104 ];
+      haskell-language-server = with compilerNames; [ ghc884 ghc8107 ];
       hoogle = all;
       hsdns = all;
       jailbreak-cabal = all;
@@ -291,25 +367,7 @@ let
             (name: jobs.haskellPackages."${name}")
             (maintainedPkgNames pkgs.haskellPackages));
       };
-      staticHaskellPackages = pkgs.releaseTools.aggregate {
-        name = "static-haskell-packages";
-        meta = {
-          description = "Static haskell builds using the pkgsStatic infrastructure";
-          maintainers = [
-            lib.maintainers.sternenseemann
-            lib.maintainers.rnhmjoj
-          ];
-        };
-        constituents = [
-          # TODO: reenable darwin builds if static libiconv works
-          jobs.pkgsStatic.haskell.packages.integer-simple.ghc8104.hello.x86_64-linux
-          jobs.pkgsStatic.haskell.packages.integer-simple.ghc8104.hello.aarch64-linux
-          jobs.pkgsStatic.haskell.packages.integer-simple.ghc8104.lens.x86_64-linux
-          jobs.pkgsStatic.haskell.packages.integer-simple.ghc8104.lens.aarch64-linux
-          jobs.pkgsStatic.haskell.packages.integer-simple.ghc8104.random.x86_64-linux
-          jobs.pkgsStatic.haskell.packages.integer-simple.ghc8104.random.aarch64-linux
-        ];
-      };
+
       muslGHCs = pkgs.releaseTools.aggregate {
         name = "haskell-pkgsMusl-ghcs";
         meta = {
@@ -321,10 +379,26 @@ let
         constituents = accumulateDerivations [
           jobs.pkgsMusl.haskell.compiler.ghc8102Binary
           jobs.pkgsMusl.haskell.compiler.ghc884
-          jobs.pkgsMusl.haskell.compiler.ghc8104
+          jobs.pkgsMusl.haskell.compiler.ghc8107
           jobs.pkgsMusl.haskell.compiler.ghc901
         ];
       };
+
+      staticHaskellPackages = pkgs.releaseTools.aggregate {
+        name = "static-haskell-packages";
+        meta = {
+          description = "Static haskell builds using the pkgsStatic infrastructure";
+          maintainers = [
+            lib.maintainers.sternenseemann
+            lib.maintainers.rnhmjoj
+          ];
+        };
+        constituents = accumulateDerivations [
+          jobs.pkgsStatic.haskell.packages.integer-simple.ghc8107.hello
+          jobs.pkgsStatic.haskell.packages.integer-simple.ghc8107.lens
+          jobs.pkgsStatic.haskell.packages.integer-simple.ghc8107.random
+        ];
+      };
     }
   ];
 
diff --git a/nixpkgs/pkgs/top-level/release.nix b/nixpkgs/pkgs/top-level/release.nix
index e04b6e7e681a..571d345d21e5 100644
--- a/nixpkgs/pkgs/top-level/release.nix
+++ b/nixpkgs/pkgs/top-level/release.nix
@@ -104,7 +104,7 @@ let
               jobs.nix-info.x86_64-linux
               jobs.nix-info-tested.x86_64-linux
               # Ensure that X11/GTK are in order.
-              jobs.thunderbird.x86_64-linux
+              jobs.thunderbird-unwrapped.x86_64-linux
               jobs.cachix.x86_64-linux
 
               /*
@@ -194,6 +194,7 @@ let
       idrisPackages = packagePlatforms pkgs.idrisPackages;
       agdaPackages = packagePlatforms pkgs.agdaPackages;
 
+      pkgsLLVM.stdenv = [ "x86_64-linux" "aarch64-linux" ];
       pkgsMusl.stdenv = [ "x86_64-linux" "aarch64-linux" ];
       pkgsStatic.stdenv = [ "x86_64-linux" "aarch64-linux" ];
 
diff --git a/nixpkgs/pkgs/top-level/ruby-packages.nix b/nixpkgs/pkgs/top-level/ruby-packages.nix
index a32cfbe0df60..3ced3d8e4c37 100644
--- a/nixpkgs/pkgs/top-level/ruby-packages.nix
+++ b/nixpkgs/pkgs/top-level/ruby-packages.nix
@@ -5,10 +5,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1wswkgwhmfk5j76ar76plhaxna12x0cyf2di57azahlcv88rrwra";
+      sha256 = "0ilq5mniarm0zlvnkagqj9n9p73ljrhphciz02aymrpfxxxclz2x";
       type = "gem";
     };
-    version = "6.1.4";
+    version = "6.1.4.1";
   };
   actionmailbox = {
     dependencies = ["actionpack" "activejob" "activerecord" "activestorage" "activesupport" "mail"];
@@ -16,10 +16,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "101r0x4lhzp23hksch7z24ajvp549lskxn2cr7pbgr64jjy6v17y";
+      sha256 = "16azdnjws215clb056b9mabglx4b8f61hr82hv7hm80dmn89zqq6";
       type = "gem";
     };
-    version = "6.1.4";
+    version = "6.1.4.1";
   };
   actionmailer = {
     dependencies = ["actionpack" "actionview" "activejob" "activesupport" "mail" "rails-dom-testing"];
@@ -27,10 +27,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0mxqpiwgqam5vfk8wsfyj4dpxq0xqqvfbcwx1i4p9n1ahrx7wv7f";
+      sha256 = "00s07l2ac5igch1g2rpa0linmiq7mhgk6v6wxkckg8gbiqijb592";
       type = "gem";
     };
-    version = "6.1.4";
+    version = "6.1.4.1";
   };
   actionpack = {
     dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
@@ -38,10 +38,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pj4xz316b3z56vpb8pnrkwj4rlf3hgas5fhddk6yh7ifrl30sc9";
+      sha256 = "0xgysqnibjsy6kdz10x2xb3kwa6lssiqhh0zggrbgs31ypwhlpia";
       type = "gem";
     };
-    version = "6.1.4";
+    version = "6.1.4.1";
   };
   actiontext = {
     dependencies = ["actionpack" "activerecord" "activestorage" "activesupport" "nokogiri"];
@@ -49,10 +49,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1fn488la8dllfg5zhm74k8y23xl9czrzzs55b9v624j43wjhfxcl";
+      sha256 = "0m4fy4qqh09vnzbhx383vjdfid6fzbs49bzzg415x05nmmjkx582";
       type = "gem";
     };
-    version = "6.1.4";
+    version = "6.1.4.1";
   };
   actionview = {
     dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
@@ -60,10 +60,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1jqybz7h11xkjpqdffb9gphwmd56lms9xqskza00wd2pswxcwkn4";
+      sha256 = "1yf4ic5kl324rs0raralpwx24s6hvvdzxfhinafylf8f3x7jj23z";
       type = "gem";
     };
-    version = "6.1.4";
+    version = "6.1.4.1";
   };
   activejob = {
     dependencies = ["activesupport" "globalid"];
@@ -71,10 +71,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0q00vrknnnhmg02nik06ivrmz7hnq5snpy653kdpskvp4c9ys55c";
+      sha256 = "1q7c0i0kwarxgcbxk71wa9jnlg45grbxmhlrh7dk9bgcv7r7r7hn";
       type = "gem";
     };
-    version = "6.1.4";
+    version = "6.1.4.1";
   };
   activemodel = {
     dependencies = ["activesupport"];
@@ -82,10 +82,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xjy8fg7n5wwv29ngvvdf5r6815s5f0knzyswxh8w6z8f8qj5wr7";
+      sha256 = "16ixam4lni8b5lgx0whnax0imzh1dh10fy5r9pxs52n83yz5nbq3";
       type = "gem";
     };
-    version = "6.1.4";
+    version = "6.1.4.1";
   };
   activerecord = {
     dependencies = ["activemodel" "activesupport"];
@@ -93,10 +93,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18897s9h9kha8vgky1yfq4x91m3p81k6rkrb1fgjlnqnvarh9vg0";
+      sha256 = "1ccgvlj767ybps3pxlaa4iw77n7wbriw2sr8754id3ngjfap08ja";
       type = "gem";
     };
-    version = "6.1.4";
+    version = "6.1.4.1";
   };
   activestorage = {
     dependencies = ["actionpack" "activejob" "activerecord" "activesupport" "marcel" "mini_mime"];
@@ -104,10 +104,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "03gb6jbvdzm0xlr2g393jvf980ybjf9zzgspl0p4ixh3lcxxr51w";
+      sha256 = "17knzz9fvqg4x582vy0xmlgjkxfb13xyzl2rgw19qfma86hxsvvi";
       type = "gem";
     };
-    version = "6.1.4";
+    version = "6.1.4.1";
   };
   activesupport = {
     dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"];
@@ -115,21 +115,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0kqgywy4cj3h5142dh7pl0xx5nybp25jn0ykk0znziivzks68xdk";
+      sha256 = "19gx1jcq46x9d1pi1w8xq0bgvvfw239y4lalr8asm291gj3q3ds4";
       type = "gem";
     };
-    version = "6.1.4";
+    version = "6.1.4.1";
   };
   addressable = {
-    dependencies = ["public_suffix"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "022r3m9wdxljpbya69y2i3h9g3dhhfaqzidf95m6qjzms792jvgp";
+      sha256 = "0mpn7sbjl477h56gmxsjqb89r5s3w7vx5af994ssgc3iamvgzgvs";
       type = "gem";
     };
-    version = "2.8.0";
+    version = "2.4.0";
   };
   ast = {
     groups = ["default"];
@@ -147,10 +146,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hb4br24c7awarvcdmairg9g9xs37nlc98fp5abhq3b426zlzskg";
+      sha256 = "05brc25pfvak610mdwgjsc64di29yff9i9g72m6hyc21pdjwfy3n";
       type = "gem";
     };
-    version = "3.4.5";
+    version = "3.4.3";
   };
   atomos = {
     groups = ["default"];
@@ -239,10 +238,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "161azhqndf9gvnsvsx0k2x2kpalsgmlz233hvwc7ckbiral7q86s";
+      sha256 = "136aa800dgq6bmr0lb59mfj5q72r712wwp5wy5qxnp48adjw1k2h";
       type = "gem";
     };
-    version = "3.4.5";
+    version = "3.4.3";
   };
   camping = {
     dependencies = ["mab" "rack"];
@@ -255,16 +254,6 @@
     };
     version = "2.1.532";
   };
-  certified = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1706p6p0a8adyvd943af2a3093xakvislgffw3v9dvp7j07dyk5a";
-      type = "gem";
-    };
-    version = "1.0.0";
-  };
   CFPropertyList = {
     groups = ["default"];
     platforms = [];
@@ -343,10 +332,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ljsx1inbbzj8njpk4sb40kdis6pjwpgcpy3677dm45bxw21dmkv";
+      sha256 = "1yi4dgl6w6fs35szsxb4z24d7svmqgxyr4ma4hsrcsb2pv4qk3xj";
       type = "gem";
     };
-    version = "1.0.5";
+    version = "1.1.0";
   };
   cocoapods-browser = {
     dependencies = ["cocoapods"];
@@ -406,10 +395,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bf524f1za92i6rlr4cr6jm3c4vfjszsdc9lsr6wk5125c76ipzn";
+      sha256 = "18pnng0lv5z6kpp8hnki0agdxx979iq6hxkfkglsyqzmir22lz2i";
       type = "gem";
     };
-    version = "1.0.4";
+    version = "1.0.5";
   };
   cocoapods-dependencies = {
     dependencies = ["ruby-graphviz"];
@@ -530,10 +519,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02wmy5rbjk29c65zn62bffxv30qs11slql23qx65snkm0vd93mn6";
+      sha256 = "12amy0nknv09bvzix8bkmcjn996c50c4ms20v2dl7v8rcw73n4qv";
       type = "gem";
     };
-    version = "1.0.0";
+    version = "1.0.1";
   };
   cocoapods-stats = {
     groups = ["default"];
@@ -628,15 +617,36 @@
     };
     version = "1.1.3";
   };
+  coffee-script = {
+    dependencies = ["coffee-script-source" "execjs"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0rc7scyk7mnpfxqv5yy4y5q1hx3i7q3ahplcp4bq2g5r24g2izl2";
+      type = "gem";
+    };
+    version = "2.4.1";
+  };
+  coffee-script-source = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1907v9q1zcqmmyqzhzych5l7qifgls2rlbnbhy5vzyr7i7yicaz1";
+      type = "gem";
+    };
+    version = "1.12.2";
+  };
   colorator = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0f7wvpam948cglrciyqd798gdc6z3cfijciavd0dfixgaypmvy72";
+      sha256 = "09zp15hyd9wlbgf1kmrf4rnry8cpvh1h9fj7afarlqcy4hrfdpvs";
       type = "gem";
     };
-    version = "1.1.0";
+    version = "0.1";
   };
   colored = {
     groups = ["default"];
@@ -801,17 +811,6 @@
     };
     version = "0.1.0";
   };
-  em-websocket = {
-    dependencies = ["eventmachine" "http_parser.rb"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1mg1mx735a0k1l8y14ps2mxdwhi5r01ikydf34b0sp60v66nvbkb";
-      type = "gem";
-    };
-    version = "0.5.2";
-  };
   erubi = {
     groups = ["default"];
     platforms = [];
@@ -858,21 +857,31 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "186sra2bww83wa245mhmm57ngdn4w2k2x39iqkmxasjhibg5jsbl";
+      sha256 = "1iykfw2j6dd26rhgid3a17zghrmbmi68ppf3a7cdkvii68p4f37a";
       type = "gem";
     };
-    version = "0.84.0";
+    version = "0.85.0";
+  };
+  execjs = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "121h6af4i6wr3wxvv84y53jcyw2sk71j5wsncm6wq6yqrwcrk4vd";
+      type = "gem";
+    };
+    version = "2.8.1";
   };
   faraday = {
-    dependencies = ["faraday-em_http" "faraday-em_synchrony" "faraday-excon" "faraday-httpclient" "faraday-net_http" "faraday-net_http_persistent" "faraday-patron" "multipart-post" "ruby2_keywords"];
+    dependencies = ["faraday-em_http" "faraday-em_synchrony" "faraday-excon" "faraday-httpclient" "faraday-net_http" "faraday-net_http_persistent" "faraday-patron" "faraday-rack" "multipart-post" "ruby2_keywords"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0gwbii45plm9bljk22bwzhzxrc5xid8qx24f54vrm74q3zaz00ah";
+      sha256 = "0r6ik2yvsbx6jj30vck32da2bbvj4m0gf4jhp09vr75i1d6jzfvb";
       type = "gem";
     };
-    version = "1.5.0";
+    version = "1.7.0";
   };
   faraday-em_http = {
     groups = ["default"];
@@ -929,10 +938,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0l2c835wl7gv34xp49fhd1bl4czkpw2g3ahqsak2251iqv5589ka";
+      sha256 = "0dc36ih95qw3rlccffcb0vgxjhmipsvxhn6cw71l7ffs0f7vq30b";
       type = "gem";
     };
-    version = "1.1.0";
+    version = "1.2.0";
   };
   faraday-patron = {
     groups = ["default"];
@@ -944,6 +953,16 @@
     };
     version = "1.0.0";
   };
+  faraday-rack = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1h184g4vqql5jv9s9im6igy00jp6mrah2h14py6mpf9bkabfqq7g";
+      type = "gem";
+    };
+    version = "1.0.0";
+  };
   ffi = {
     groups = ["default"];
     platforms = [];
@@ -1019,16 +1038,6 @@
     };
     version = "0.3.0";
   };
-  forwardable-extended = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "15zcqfxfvsnprwm8agia85x64vjzr2w0xn9vxfnxzgcv8s699v0v";
-      type = "gem";
-    };
-    version = "2.6.0";
-  };
   fourflusher = {
     groups = ["default"];
     platforms = [];
@@ -1055,10 +1064,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02618y5gw8sbn258w298894if1xkn5gg7q6wj1sw0bx469xgj256";
+      sha256 = "0hslcfns2ysvjyj21hjvp4hghrafw1sdl627fm0nj0wsncs94m67";
+      type = "gem";
+    };
+    version = "3.4.3";
+  };
+  gemoji = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0n3r6p1lrcwq2y3fzbj350qai0z8giz8wjhhxall8qkvacrcbb6w";
       type = "gem";
     };
-    version = "3.4.5";
+    version = "2.1.0";
   };
   gio2 = {
     dependencies = ["gobject-introspection"];
@@ -1066,10 +1085,32 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0wflbi8yhrxv84q6lzrrqvdhpwrcklspkyzwyi47690wlbjff6cl";
+      sha256 = "1l30xsr1dgnzqfmln17arnqi8iga97ldf6zgbqrfby6a94v3ammd";
       type = "gem";
     };
-    version = "3.4.5";
+    version = "3.4.3";
+  };
+  github-pages = {
+    dependencies = ["github-pages-health-check" "jekyll" "jekyll-coffeescript" "jekyll-feed" "jekyll-gist" "jekyll-github-metadata" "jekyll-mentions" "jekyll-paginate" "jekyll-redirect-from" "jekyll-sass-converter" "jekyll-seo-tag" "jekyll-sitemap" "jemoji" "kramdown" "liquid" "listen" "mercenary" "rouge" "terminal-table"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "15ngq2x2i4m7dp87lczv7w5xh5qxqnhn898jyaahgl6wgcq8fggc";
+      type = "gem";
+    };
+    version = "87";
+  };
+  github-pages-health-check = {
+    dependencies = ["addressable" "net-dns" "octokit" "public_suffix" "typhoeus"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0x1ccwi3nfb1s3lv9px6lx3fjbn0s1g1v1cm0jcs2gb2zixgn4nf";
+      type = "gem";
+    };
+    version = "1.1.0";
   };
   gitlab-markup = {
     groups = ["default"];
@@ -1087,10 +1128,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0aba6j1ixlb5bg2542dhm16c880vdk9cqn70247vhixzc3by0463";
+      sha256 = "0l46ymdf7azpd137xq4rarbaq54hxs9rgfry0r6b0ywj74rmw9ih";
       type = "gem";
     };
-    version = "3.4.5";
+    version = "3.4.3";
   };
   globalid = {
     dependencies = ["activesupport"];
@@ -1098,10 +1139,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1zkxndvck72bfw235bd9nl2ii0lvs5z88q14706cmn702ww2mxv1";
+      sha256 = "0k6ww3shk3mv119xvr9m99l6ql0czq91xhd66hm8hqssb18r2lvm";
       type = "gem";
     };
-    version = "0.4.2";
+    version = "0.5.2";
   };
   gobject-introspection = {
     dependencies = ["glib2"];
@@ -1109,10 +1150,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0rfjkgk5wxs19qah531k6ki6384iqf7b8cbdqc9l6ff9gvkf8cmw";
+      sha256 = "11gas9hzq36a2bwqi7h5c6p6jihanbhsarwhv5fw53dxap4iwj25";
       type = "gem";
     };
-    version = "3.4.5";
+    version = "3.4.3";
   };
   gpgme = {
     dependencies = ["mini_portile2"];
@@ -1126,14 +1167,15 @@
     version = "2.0.20";
   };
   gtk2 = {
+    dependencies = ["atk" "gdk_pixbuf2" "pango"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "09n8gz5h0d0wwrifr8c8z0b4vrd64xdi4lws8p6gpz0j0pxm5fzh";
+      sha256 = "0v1ag6irp52asm0yaxa7s533czy7yzhanhgn1v0cndqpzqk8icfz";
       type = "gem";
     };
-    version = "3.2.6";
+    version = "3.4.3";
   };
   hashie = {
     groups = ["default"];
@@ -1185,36 +1227,37 @@
     };
     version = "0.8.6";
   };
-  http-accept = {
+  html-pipeline = {
+    dependencies = ["activesupport" "nokogiri"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "09m1facypsdjynfwrcv19xcb1mqg8z6kk31g8r33pfxzh838c9n6";
+      sha256 = "080sn9z1a64gv04p318jz10y6lv6qd3avip08rrcmq9k4ihai0f1";
       type = "gem";
     };
-    version = "1.7.0";
+    version = "2.14.0";
   };
-  http-cookie = {
-    dependencies = ["domain_name"];
+  http-accept = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19370bc97gsy2j4hanij246hv1ddc85hw0xjb6sj7n1ykqdlx9l9";
+      sha256 = "09m1facypsdjynfwrcv19xcb1mqg8z6kk31g8r33pfxzh838c9n6";
       type = "gem";
     };
-    version = "1.0.4";
+    version = "1.7.0";
   };
-  "http_parser.rb" = {
+  http-cookie = {
+    dependencies = ["domain_name"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15nidriy0v5yqfjsgsra51wmknxci2n2grliz78sf9pga3n0l7gi";
+      sha256 = "19370bc97gsy2j4hanij246hv1ddc85hw0xjb6sj7n1ykqdlx9l9";
       type = "gem";
     };
-    version = "0.6.0";
+    version = "1.0.4";
   };
   httpclient = {
     groups = ["default"];
@@ -1279,110 +1322,195 @@
     version = "2.11.2";
   };
   jekyll = {
-    dependencies = ["addressable" "colorator" "em-websocket" "i18n" "jekyll-sass-converter" "jekyll-watch" "kramdown" "kramdown-parser-gfm" "liquid" "mercenary" "pathutil" "rouge" "safe_yaml" "terminal-table"];
+    dependencies = ["colorator" "jekyll-sass-converter" "jekyll-watch" "kramdown" "liquid" "mercenary" "rouge" "safe_yaml"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0cqkh78jw8scrajyx5nla0vwm9fvp2qql3kdcvvplcq9mazy8snq";
+      sha256 = "1l1kq96bps29sx1cawbn4p9al4cljkywlr02zwgbcdwrr0211rhp";
       type = "gem";
     };
-    version = "4.2.0";
+    version = "3.1.6";
   };
-  jekyll-sass-converter = {
-    dependencies = ["sassc"];
+  jekyll-coffeescript = {
+    dependencies = ["coffee-script"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04ncr44wrilz26ayqwlg7379yjnkb29mvx4j04i62b7czmdrc9dv";
+      sha256 = "19nkqbaxqbzqbfbi7sgshshj2krp9ap88m9fc5pa6mglb2ypk3hg";
       type = "gem";
     };
-    version = "2.1.0";
+    version = "1.0.1";
   };
-  jekyll-watch = {
-    dependencies = ["listen"];
+  jekyll-feed = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1qd7hy1kl87fl7l0frw5qbn22x7ayfzlv9a5ca1m59g0ym1ysi5w";
+      sha256 = "0jq7048yynabd9c1s171bb0wp1qqkh00n1q15w16fdp4hrvvjmsh";
       type = "gem";
     };
-    version = "2.2.1";
+    version = "0.5.1";
   };
-  jmespath = {
+  jekyll-gist = {
+    dependencies = ["octokit"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1d4wac0dcd1jf6kc57891glih9w57552zgqswgy74d1xhgnk0ngf";
+      sha256 = "1mjw9y7mqmglckn81ix9x1gqnvbxb28fbz72yhvmm5sdk2l957lr";
       type = "gem";
     };
     version = "1.4.0";
   };
-  json = {
+  jekyll-github-metadata = {
+    dependencies = ["jekyll" "octokit"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0lrirj0gw420kw71bjjlqkqhqbrplla61gbv1jzgsz6bv90qr3ci";
+      sha256 = "0psxsfbic425qhniz0nxfr0qqjdwji06x66jpqxpyn9js0iqh5hj";
       type = "gem";
     };
-    version = "2.5.1";
+    version = "2.0.2";
   };
-  json_pure = {
+  jekyll-mentions = {
+    dependencies = ["html-pipeline" "jekyll"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "030hmc268wchqsccbjk41hvbyg99krpa72i3q0y3wwqzfh8hi736";
+      sha256 = "1ps50b62gn6dp7ga5wg5x4j1vr9wlw91sqhv9pkmbbv805w5fxbq";
       type = "gem";
     };
-    version = "2.5.1";
+    version = "1.1.3";
   };
-  jwt = {
+  jekyll-paginate = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "036i5fc09275ms49mw43mh4i9pwaap778ra2pmx06ipzyyjl6bfs";
+      sha256 = "0r7bcs8fq98zldih4787zk5i9w24nz5wa26m84ssja95n3sas2l8";
       type = "gem";
     };
-    version = "2.2.3";
+    version = "1.1.0";
   };
-  kramdown = {
-    dependencies = ["rexml"];
+  jekyll-redirect-from = {
+    dependencies = ["jekyll"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jdbcjv4v7sj888bv3vc6d1dg4ackkh7ywlmn9ln2g9alk7kisar";
+      sha256 = "1s85rsjl7jd783iiwzd3vq84qcmcz86frl7mjhhlipski60x5fjp";
       type = "gem";
     };
-    version = "2.3.1";
+    version = "0.11.0";
   };
-  kramdown-parser-gfm = {
-    dependencies = ["kramdown"];
+  jekyll-sass-converter = {
+    dependencies = ["sass"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0a8pb3v951f4x7h968rqfsa19c8arz21zw1vaj42jza22rap8fgv";
+      sha256 = "1xqmlr87xmzpalf846gybkbfqkj48y3fva81r7c7175my9p4ykl1";
       type = "gem";
     };
-    version = "1.1.0";
+    version = "1.3.0";
+  };
+  jekyll-seo-tag = {
+    dependencies = ["jekyll"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0y0szawdxs00qz13plxdfgy9njw40m0jcmg9l3ng2q0b2wnhf3cb";
+      type = "gem";
+    };
+    version = "2.0.0";
+  };
+  jekyll-sitemap = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1sg0yzhzja2lw48w5l23l3612pig5c2x4hf883c8bgz0rvr81di1";
+      type = "gem";
+    };
+    version = "0.10.0";
+  };
+  jekyll-watch = {
+    dependencies = ["listen"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1f0p3jbvp9gafbddkbpk78gb6837d2qdhw97py3svsk3d9vkbcdn";
+      type = "gem";
+    };
+    version = "1.5.1";
+  };
+  jemoji = {
+    dependencies = ["gemoji" "html-pipeline" "jekyll"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "090zxsm77ag8phb8c3mhrqcivq1kazs10srqnxc8wjbvcp37qrdi";
+      type = "gem";
+    };
+    version = "0.6.2";
+  };
+  jmespath = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1d4wac0dcd1jf6kc57891glih9w57552zgqswgy74d1xhgnk0ngf";
+      type = "gem";
+    };
+    version = "1.4.0";
+  };
+  json = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0lrirj0gw420kw71bjjlqkqhqbrplla61gbv1jzgsz6bv90qr3ci";
+      type = "gem";
+    };
+    version = "2.5.1";
+  };
+  jwt = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "036i5fc09275ms49mw43mh4i9pwaap778ra2pmx06ipzyyjl6bfs";
+      type = "gem";
+    };
+    version = "2.2.3";
+  };
+  kramdown = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "05ljwi07hjjwgnjg19sg8mkyxf1an5xn8kn1717d5qrrqkzn3zq1";
+      type = "gem";
+    };
+    version = "1.11.1";
   };
   kramdown-rfc2629 = {
-    dependencies = ["certified" "json_pure" "kramdown"];
+    dependencies = ["kramdown"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1wqpp3m4zwy7l8n8z8d4krvf38q1gfx9lnsyipnfsapspsmsgdb6";
+      sha256 = "1ay4jy434mpcn72l1rx2cj2gp8lv0z8r5skxyzs1r79yljmxkx4b";
       type = "gem";
     };
-    version = "1.4.19";
+    version = "1.0.32";
   };
   libv8 = {
     groups = ["default"];
@@ -1409,10 +1537,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zhg5ha8zy8zw9qr3fl4wgk4r5940n4128xm2pn4shpbzdbsj5by";
+      sha256 = "033png37ym4jrjz5bi7zb4ic4yxacwvnllm1xxmrnr4swgyyygc2";
       type = "gem";
     };
-    version = "4.0.3";
+    version = "3.0.6";
   };
   listen = {
     dependencies = ["rb-fsevent" "rb-inotify"];
@@ -1420,10 +1548,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0h2v34xhi30w0d9gfzds2w6v89grq2gkpgvmdj9m8x1ld1845xnj";
+      sha256 = "0zv8rdn3nwnmf5iyxv7ync46wjk8z2sxjpda1j9pjc5n2mkdz97b";
       type = "gem";
     };
-    version = "3.5.1";
+    version = "3.0.6";
   };
   loofah = {
     dependencies = ["crass" "nokogiri"];
@@ -1431,10 +1559,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19vkaazjqyq7yj5ah8rpr4vl9n4mg95scdr5im93akhd5bjvkkly";
+      sha256 = "1nqcya57x2n58y1dify60i0dpla40n4yir928khp4nj5jrn9mgmw";
       type = "gem";
     };
-    version = "2.10.0";
+    version = "2.12.0";
   };
   mab = {
     groups = ["default"];
@@ -1489,6 +1617,16 @@
     };
     version = "0.9.0";
   };
+  maruku = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1r7bxpgnx2hp3g12bjrmdrpv663dfqxsdp0af69kjhxmaxpia56x";
+      type = "gem";
+    };
+    version = "0.7.3";
+  };
   matrix = {
     groups = ["default"];
     platforms = [];
@@ -1504,10 +1642,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0f2i827w4lmsizrxixsrv2ssa3gk1b7lmqh8brk8ijmdb551wnmj";
+      sha256 = "10la0xw82dh5mqab8bl0dk21zld63cqxb1g16fk8cb39ylc4n21a";
       type = "gem";
     };
-    version = "0.4.0";
+    version = "0.3.6";
   };
   method_source = {
     groups = ["default"];
@@ -1565,10 +1703,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ad0mli9rc0f17zw4ibp24dbj1y39zkykijsjmnzl4gwpg5s0j6k";
+      sha256 = "1lvxm91hi0pabnkkg47wh1siv56s6slm2mdq1idfm86dyfidfprq";
       type = "gem";
     };
-    version = "2.5.3";
+    version = "2.6.1";
   };
   minitest = {
     groups = ["default"];
@@ -1681,6 +1819,16 @@
     };
     version = "1.4.10";
   };
+  net-dns = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "18d97xjphw21naaqfhgxp95ikr1d79rx708b2df3xm01j6isqy1d";
+      type = "gem";
+    };
+    version = "0.9.0";
+  };
   net-scp = {
     dependencies = ["net-ssh"];
     groups = ["default"];
@@ -1717,10 +1865,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"];
@@ -1728,10 +1876,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1vrn31385ix5k9b0yalnlzv360isv6dincbcvi8psllnwz4sjxj9";
+      sha256 = "1q71y7pdihz26m3n2fnm2hd7wllmnxgxk6vcbbh27rqa14q5x5yi";
       type = "gem";
     };
-    version = "1.11.7";
+    version = "1.12.3";
+  };
+  octokit = {
+    dependencies = ["faraday" "sawyer"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0ak64rb48d8z98nw6q70r6i0i3ivv61iqla40ss5l79491qfnn27";
+      type = "gem";
+    };
+    version = "4.21.0";
   };
   opus-ruby = {
     dependencies = ["ffi"];
@@ -1772,10 +1931,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xaqx3i4cx7xb5m5qfm7jclq3yyrj8abaqif0q1i72259g5klb8c";
+      sha256 = "05smxn2jank7wqih59lhr30ab8f4qxdsdiiag5v7a0gjgzkmbi7f";
       type = "gem";
     };
-    version = "3.4.5";
+    version = "3.4.3";
   };
   parallel = {
     groups = ["default"];
@@ -1793,21 +1952,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pxsi1i5z506xfzhiyavlasf8777h55ab40phvp7pfv9npmd5pnj";
-      type = "gem";
-    };
-    version = "3.0.1.1";
-  };
-  pathutil = {
-    dependencies = ["forwardable-extended"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "12fm93ljw9fbxmv2krki5k5wkvr7560qy8p4spvb9jiiaqv78fz4";
+      sha256 = "1f7gmm60yla325wlnd3qkxs59qm2y0aan8ljpg6k18rwzrrfil6z";
       type = "gem";
     };
-    version = "0.16.2";
+    version = "2.7.2.0";
   };
   patron = {
     groups = ["default"];
@@ -1897,10 +2045,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xqcgkl7bwws1qrlnmxgh8g4g9m10vg60bhlw40fplninb3ng6d9";
+      sha256 = "02rqflr53584j1278hxvhxyrc6hqasv33qiqb7j186ji3s018y5c";
       type = "gem";
     };
-    version = "4.0.6";
+    version = "1.5.3";
   };
   puma = {
     dependencies = ["nio4r"];
@@ -1908,10 +2056,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0lmaq05a257m9588a81wql3a5p039f221f0dmq57bm2qjwxydjmj";
+      sha256 = "0bz9y1hxfyv73yb26nvs2kcw08gxi7nxkfc94j82hgx2sifcnv3x";
       type = "gem";
     };
-    version = "5.3.2";
+    version = "5.4.0";
   };
   racc = {
     groups = ["default"];
@@ -1961,10 +2109,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0k3d3acac2qn9fg185z3y79nvg4ghr4lyhqiz6mbwlsd7r2nd8mh";
+      sha256 = "1y59m2x8rdc581bjgyyr9dabi3vk3frqhhpbb5ldpbj622kxfpbz";
       type = "gem";
     };
-    version = "6.1.4";
+    version = "6.1.4.1";
   };
   rails-dom-testing = {
     dependencies = ["activesupport" "nokogiri"];
@@ -1983,10 +2131,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1icpqmxbppl4ynzmn6dx7wdil5hhq6fz707m9ya6d86c7ys8sd4f";
+      sha256 = "0whc4d4jqm8kd4x3jzbax54sscm1k4pfkr5d1gpapjbzqkfj77yy";
       type = "gem";
     };
-    version = "1.3.0";
+    version = "1.4.1";
   };
   railties = {
     dependencies = ["actionpack" "activesupport" "method_source" "rake" "thor"];
@@ -1994,10 +2142,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hwp0qwkphp3fvbsq6ljp8s99v621si9bgqihysz5bv1d1z52mm4";
+      sha256 = "1kwpm068cqys34p2g0j3l1g0cd5f3kxnsay5v7lmbd0sgarac0vy";
       type = "gem";
     };
-    version = "6.1.4";
+    version = "6.1.4.1";
   };
   rainbow = {
     groups = ["default"];
@@ -2097,10 +2245,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "057xp6bkfpmkq0csd1aa0nji1vjsx8pc0c63blcj6scvi9nh1l5k";
+      sha256 = "1ig832dp0xmpp6a934nifzaj7wm9lzjxzasw911fagycs8p6m720";
       type = "gem";
     };
-    version = "4.3.1";
+    version = "4.4.0";
   };
   redis-rack = {
     dependencies = ["rack" "redis-store"];
@@ -2181,10 +2329,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0b4b300i3m4m4kw7w1n9wgxwy16zccnb7271miksyzd0wq5b9pm3";
+      sha256 = "13amckbdknnc5491ag28y8pqbyfpbzx5n4rlmadxhd3wkrhp92c8";
       type = "gem";
     };
-    version = "3.26.0";
+    version = "1.11.1";
   };
   rpam2 = {
     groups = ["default"];
@@ -2256,10 +2404,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "045iralskypd95f42jdgbzp0alv2q0qlvya4qm6bkahg2rfb8s1x";
+      sha256 = "0phrig25dykgi42z6mf1abllh3ws6sv7awa82hzvvvbjx2xlzd3k";
       type = "gem";
     };
-    version = "1.18.3";
+    version = "0.93.1";
   };
   rubocop-ast = {
     dependencies = ["parser"];
@@ -2267,10 +2415,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hnrfy928mwpa0ippqs4s8xwghwwp5h853naphgqxcd53l33chlv";
+      sha256 = "0gkf1p8yal38nlvdb39qaiy0gr85fxfr09j5dxh8qvrgpncpnk78";
       type = "gem";
     };
-    version = "1.7.0";
+    version = "1.4.1";
   };
   rubocop-performance = {
     dependencies = ["rubocop" "rubocop-ast"];
@@ -2278,10 +2426,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0sl1l9xwvbxbkla5a64avlmyirc2vsbmvqdqza17dydh8m48pb3h";
+      sha256 = "07c3kymvsid9aajwmmwr3n6apxgyjcbzbl2n6r5lpzkyz28jqn15";
       type = "gem";
     };
-    version = "1.11.4";
+    version = "1.10.2";
   };
   ruby-graphviz = {
     dependencies = ["rexml"];
@@ -2350,10 +2498,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15wfcqxyfgka05v2a7kpg64x57gl1y4xzvnc9lh60bqx5sf1iqrs";
+      sha256 = "1vz322p8n39hz3b4a9gkmz9y7a5jaz41zrm2ywf31dvkqm03glgz";
       type = "gem";
     };
-    version = "0.0.4";
+    version = "0.0.5";
   };
   RubyInline = {
     dependencies = ["ZenTest"];
@@ -2396,6 +2544,28 @@
     };
     version = "1.0.5";
   };
+  sass = {
+    dependencies = ["sass-listen"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0p95lhs0jza5l7hqci1isflxakz83xkj97lkvxl919is0lwhv2w0";
+      type = "gem";
+    };
+    version = "3.7.4";
+  };
+  sass-listen = {
+    dependencies = ["rb-fsevent" "rb-inotify"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0xw3q46cmahkgyldid5hwyiwacp590zj2vmswlll68ryvmvcp7df";
+      type = "gem";
+    };
+    version = "4.0.0";
+  };
   sassc = {
     dependencies = ["ffi"];
     groups = ["default"];
@@ -2407,6 +2577,17 @@
     };
     version = "2.4.0";
   };
+  sawyer = {
+    dependencies = ["addressable" "faraday"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0yrdchs3psh583rjapkv33mljdivggqn99wkydkjdckcjn43j3cz";
+      type = "gem";
+    };
+    version = "0.8.2";
+  };
   scrypt = {
     dependencies = ["ffi-compiler"];
     groups = ["default"];
@@ -2433,10 +2614,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0qbx9p07jdrnpqvjnq6js9qjwjihsk91c1ndmfap153darp1adw0";
+      sha256 = "03pmhj4kc3ga75wy397l57bvd18jxxmrk3qsznjw93b993qgvj3z";
       type = "gem";
     };
-    version = "5.46.0";
+    version = "5.47.0";
   };
   sequel_pg = {
     dependencies = ["pg" "sequel"];
@@ -2522,16 +2703,26 @@
     };
     version = "0.2.0";
   };
+  snmp = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1xr7rwfk7mwxzqcgir0glmyy4j27g6yixfaswsbd2qn6r8c980qf";
+      type = "gem";
+    };
+    version = "1.3.2";
+  };
   solargraph = {
-    dependencies = ["backport" "benchmark" "diff-lcs" "e2mmap" "jaro_winkler" "kramdown" "kramdown-parser-gfm" "parser" "reverse_markdown" "rubocop" "thor" "tilt" "yard"];
+    dependencies = ["backport" "benchmark" "e2mmap" "jaro_winkler" "maruku" "nokogiri" "parser" "reverse_markdown" "rubocop" "thor" "tilt" "yard"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xqmvwh6k638h6r13wsx1l0n0jvz07qys1lr7z8aaynscs0k6hyi";
+      sha256 = "06fby6dpq1jcq30x8ladig4dvz8j2pxd08mkrad3d41jx33zd2hg";
       type = "gem";
     };
-    version = "0.42.3";
+    version = "0.39.17";
   };
   sprockets = {
     dependencies = ["concurrent-ruby" "rack"];
@@ -2581,10 +2772,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18rbrh464ysqbdv53iwj0r8frshn65566kyj044cp3x9c2754jwh";
+      sha256 = "1512cngw35hsmhvw4c05rscihc59mnj09m249sm9p3pik831ydqk";
       type = "gem";
     };
-    version = "2.0.0";
+    version = "1.8.0";
   };
   thor = {
     groups = ["default"];
@@ -2643,10 +2834,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1m22yrkmbj81rzhlny81j427qdvz57yk5wbcf3km0nf3bl6qiygz";
+      sha256 = "03x3fxjsnhgayl4s96h0a9975awlvx2v9nmx2ba0cnliglyczdr8";
       type = "gem";
     };
-    version = "1.4.0";
+    version = "0.8.0";
   };
   tzinfo = {
     dependencies = ["concurrent-ruby"];
@@ -2737,10 +2928,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0vcfl87z490xmj4q09davx31r2gzvan95sj90x58wq4ymgrdhf1p";
+      sha256 = "0xmzb1mdsnkpf7v07whz0n2wc8kg6785sc7i5zyawd8dl8517rp4";
       type = "gem";
     };
-    version = "1.20.0";
+    version = "1.21.0";
   };
   xctasks = {
     dependencies = ["nokogiri" "rake"];
diff --git a/nixpkgs/pkgs/top-level/stage.nix b/nixpkgs/pkgs/top-level/stage.nix
index a7905d0db299..84c4d8fc4059 100644
--- a/nixpkgs/pkgs/top-level/stage.nix
+++ b/nixpkgs/pkgs/top-level/stage.nix
@@ -15,7 +15,7 @@
   # Utility functions, could just import but passing in for efficiency
   lib
 
-, # Use to reevaluate Nixpkgs; a dirty hack that should be removed
+, # Use to reevaluate Nixpkgs
   nixpkgsFun
 
   ## Other parameters
@@ -65,7 +65,12 @@
 
 let
   stdenvAdapters = self: super:
-    let res = import ../stdenv/adapters.nix self; in res // {
+    let
+      res = import ../stdenv/adapters.nix {
+        inherit lib config;
+        pkgs = self;
+      };
+    in res // {
       stdenvAdapters = res;
     };
 
@@ -169,6 +174,7 @@ let
       # so we don't need to check hostPlatform != buildPlatform.
       crossSystem = stdenv.hostPlatform // {
         useLLVM = true;
+        linker = "lld";
       };
     };
 
@@ -212,7 +218,7 @@ let
     appendOverlays = extraOverlays:
       if extraOverlays == []
       then self
-      else import ./stage.nix (args // { overlays = args.overlays ++ extraOverlays; });
+      else nixpkgsFun { overlays = args.overlays ++ extraOverlays; };
 
     # NOTE: each call to extend causes a full nixpkgs rebuild, adding ~130MB
     #       of allocations. DO NOT USE THIS IN NIXPKGS.
@@ -238,6 +244,8 @@ let
             gnu = lib.systems.parse.abis.musl;
             gnueabi = lib.systems.parse.abis.musleabi;
             gnueabihf = lib.systems.parse.abis.musleabihf;
+            musleabi = lib.systems.parse.abis.musleabi;
+            musleabihf = lib.systems.parse.abis.musleabihf;
           }.${stdenv.hostPlatform.parsed.abi.name}
             or lib.systems.parse.abis.musl;
         };
diff --git a/nixpkgs/pkgs/top-level/static.nix b/nixpkgs/pkgs/top-level/static.nix
index 0c9af250e876..73d8d9e53032 100644
--- a/nixpkgs/pkgs/top-level/static.nix
+++ b/nixpkgs/pkgs/top-level/static.nix
@@ -35,9 +35,6 @@ self: super: let
   };
 
   staticAdapters =
-    # makeStaticDarwin must go first so that the extraBuildInputs
-    # override does not recreate mkDerivation, removing subsequent
-    # adapters.
     optional super.stdenv.hostPlatform.isDarwin makeStaticDarwin
 
     ++ [ makeStaticLibraries propagateBuildInputs ]
@@ -80,30 +77,9 @@ self: super: let
       });
     };
 
-  llvmStaticAdapter = llvmPackages:
-    llvmPackages // {
-      stdenv = foldl (flip id) llvmPackages.stdenv staticAdapters;
-      libcxxStdenv = foldl (flip id) llvmPackages.libcxxStdenv staticAdapters;
-    };
-
 in {
   stdenv = foldl (flip id) super.stdenv staticAdapters;
 
-  gcc49Stdenv = foldl (flip id) super.gcc49Stdenv staticAdapters;
-  gcc6Stdenv = foldl (flip id) super.gcc6Stdenv staticAdapters;
-  gcc7Stdenv = foldl (flip id) super.gcc7Stdenv staticAdapters;
-  gcc8Stdenv = foldl (flip id) super.gcc8Stdenv staticAdapters;
-  gcc9Stdenv = foldl (flip id) super.gcc9Stdenv staticAdapters;
-
-  llvmPackages_5 = llvmStaticAdapter super.llvmPackages_5;
-  llvmPackages_6 = llvmStaticAdapter super.llvmPackages_6;
-  llvmPackages_7 = llvmStaticAdapter super.llvmPackages_7;
-  llvmPackages_8 = llvmStaticAdapter super.llvmPackages_8;
-  llvmPackages_9 = llvmStaticAdapter super.llvmPackages_9;
-  llvmPackages_10 = llvmStaticAdapter super.llvmPackages_10;
-  llvmPackages_11 = llvmStaticAdapter super.llvmPackages_11;
-  llvmPackages_12 = llvmStaticAdapter super.llvmPackages_12;
-
   boost = super.boost.override {
     # Don’t use new stdenv for boost because it doesn’t like the
     # --disable-shared flag
diff --git a/nixpkgs/pkgs/top-level/unixtools.nix b/nixpkgs/pkgs/top-level/unixtools.nix
index b4f708ad5651..b7fea20b76bc 100644
--- a/nixpkgs/pkgs/top-level/unixtools.nix
+++ b/nixpkgs/pkgs/top-level/unixtools.nix
@@ -19,7 +19,7 @@ let
       provider = providers.${stdenv.hostPlatform.parsed.kernel.name} or providers.linux;
       bin = "${getBin provider}/bin/${cmd}";
       manpage = "${getOutput "man" provider}/share/man/man1/${cmd}.1.gz";
-    in runCommand "${cmd}-${version}" {
+    in runCommand "${cmd}-${provider.name}" {
       meta = {
         priority = 10;
         platforms = lib.platforms.${stdenv.hostPlatform.parsed.kernel.name} or lib.platforms.all;
@@ -43,7 +43,7 @@ let
 
   # more is unavailable in darwin
   # so we just use less
-  more_compat = runCommand "more-${version}" {} ''
+  more_compat = runCommand "more-${pkgs.less.name}" {} ''
     mkdir -p $out/bin
     ln -s ${pkgs.less}/bin/less $out/bin/more
   '';